[IR] คำถามเกียวกับการทำ Cluster Pruning

คำถาม: การทำ Cluster Pruning ใน Lecture 6 หน้า 33-37 โดยการกำหนดค่า b1 และ b2 นั้น เมื่อ b1 และ b2 มากขึ้นจะทำให้เกิดอะไรขึ้นต่อการคำนวณ
คำตอบ:

  • มาดูคำแต่ละคำกันก่อนว่า คือ อะไร
    • Cluster คือ การแบ่งกลุ่ม โดยที่เรายังไม่รู้ว่าจะได้กี่กลุ่ม
    • Pruning คือ การจัดทอน ลดจำนวน (ลดโดยการจัดเป็นกลุ่ม ทอนข้อมูลจำนวนมหาศาล ให้ลดลง)
  • Cluster Pruning คือ การเตรียมข้อมูล ซึ่งก็คือ document ต่างๆ ในระบบ(ทำตั้งแต่ช่วงสร้าง Dictionary เลย) เพื่อที่จะแบ่งกลุ่ม document ที่คล้ายๆกัน ให้อยู่กลุ่มเดียวกัน เพื่ิอที่จะช่วงลดเวลา ในการค้นหา โดยจะกำหนดให้มี
    • Leader: เป็น document ถูกกำหนดว่า Query จะต้องมาหา Score ที่นี่ก่อนที่จะตัดสินใจเลือกกลุ่มของ Leader นั้นๆ
    • Follower: เป็น document ที่ถูกจัดกลุ่มให้ติดตาม Leader เพราะมีความคล้ายกัน

    หมายเหตุ ความสัมพันธ์ของ Leader กับ Follower จะมีความสัมพันธ์แบบ 1 ต่อ 1 (b1=1)

  • การทำงาน เมื่อมี Query
    • Query จะไปหา Leader ที่มีความใกล้เคียงมากที่สุด จำนวน 1 ตัว (b2=1)
    • เมื่อได้ Leader ที่ใกล้เคียงแล้ว ระบบก็จะหา document จาก Follower ทีติดตาม Leader นั้นๆ มาจำนวน K ตัว ซึ่งค่า K นั้นเป็นการสุ่ม เพราะในระบบมี document เป็นล้าน ถ้าหาหมดคงนานมาก เลยให้วิธีแบบ Greedy เพื่อที่จะเลือก และไปหา Score ต่อไป
    • ทำการแสดงผลลัพธ์ให้ผู้ใช้
  • ค่า b1 และ b2 คือ อะไร
    • b1 คือ จำนวนที่ Leader ที่ Follower สามารถที่จะติดตามได้
    • b2 คือ จำนวน Leader ที่จะ retrieve กลับมาตาม Query ที่เราได้ป้อนเข้าไป
  • ปัญหาของการกำหนดค่า b1 และ b2
    • กรณีที่ Follower มีความเหมือนกัน กับ Leader 2 ตัว แต่จากการที่กำหนด b1 = 1 ทำให้ Follower ต้องเลือกที่จะติดตาม Leader ได้แค่หนึ่งตัวเท่านั้น ทำให้สูญเสียโอกาสที่จะค้นพบ document นั้นไป
    • กรณีที่ Query มีความเหมือนกัน กับ Leader 2 ตัว แต่จากการที่กำหนด b2 = 1 ทำให้ Query ต้องเลือก Leader ได้แค่หนึ่งตัวเท่านั้น ทำให้ตัด Leader อีกตัวออกไป ทำให้สูญเสีย เสียโอกาสที่จะค้นพบ document กลุ่มนั้นไป
  • เราจะรู้ได้อย่างไรว่า document แต่ละอันมันเหมือนกันขนาดไหน ที่จะเอามาแบ่งกลุ่ม
    • สามารถหาได้ โดยการคำนวณ หาค่า cosine
  • คำตอบของเรากรณีที่ b1 และ b2 มากขึ้น
    • ลองกลับเข้าไปดูในส่วนของปัญหาของการกำหนดค่า b1 และ b2 มันจะเสียโอกาส หากเราได้กำหนดค่าน้อยไป
    • แต่ถ้าค่า b1 และ b2 ,มากขึ้น ผลที่ได้ก็ คือ เราจะได้ TOP-K ที่มีความถูกต้องมากยิ่งขึ้น เพราะโอกาสในการต้นพบ document มีค่าที่มากขึ้น แต่มันจะต้องใช้เวลาในการคำนวณค่า cosine มากขึ้น เช่นกัน ถ้ามองกลับไปบทหนึ่ง อาจจะบอกได้ว่า เพื่มอัตราการ Recall(ความสามารถของระบบที่จะดึงเอกสารที่เกี่ยวข้องออกมา) มากขึ้น แต่จะลด Precision(ความสามารถในการที่จะจำกัดเอกสารที่ไม่เกี่ยวข้องออกไป) โดยค่า Recall และ Precision ขึ้นอยู่กับว่า เรานั้นกำหนดค่า b1 และ b2 ได้เหมาะสม หรือไม่

Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.