1 / 51

การเทียบเคียงจับคู่

การเทียบเคียงจับคู่. อ . วชิระ หล่อประดิษฐ์ ระบบสารสนเทศทางคอมพิวเตอร์. โมเดล คือ อะไร ?. โมเดล (Model) หมายถึง รูปแบบที่แสดงในเชิงตรรกะ (Logical View) เพื่อจำลองสิ่งของในระบบหรือตัวระบบเอง รวมทั้งจำลองการปฏิบัติการ หรือปฏิกิริยาในสิ่งเป้าหมายอย่างมีเหตุและผล

Télécharger la présentation

การเทียบเคียงจับคู่

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. การเทียบเคียงจับคู่ อ.วชิระ หล่อประดิษฐ์ ระบบสารสนเทศทางคอมพิวเตอร์

  2. โมเดล คือ อะไร? • โมเดล (Model) หมายถึง รูปแบบที่แสดงในเชิงตรรกะ (Logical View) เพื่อจำลองสิ่งของในระบบหรือตัวระบบเอง รวมทั้งจำลองการปฏิบัติการ หรือปฏิกิริยาในสิ่งเป้าหมายอย่างมีเหตุและผล • โมเดลของระบบการสืบค้น ก็มีรูปแบบเป็นการเฉพาะที่แสดงในเชิงตรรกะ เพื่อจำลองสิ่งของในระบบ เช่น ตัวเอกสาร คำสอบถาม รวมทั้งปฏิบัติการเทียบเคียง (Matching) เพื่อหาผลลัพธ์

  3. สิ่งที่ต้องคำนึงถึงในการสร้างระบบ IR • ตัวเอกสารสามารถมีได้หลายภาษา เช่น ไทย อังกฤษ จีน ฝรั่งเศส เป็นต้น • คำศัพท์ในบางภาษามีการเปลี่ยนรูปโดยมาจากต้นแหล่ง (stem) เดียวกัน เช่น Retrieve, Retrieved, Retrieving ต่างมีรากศัพท์มาจาก Retrieve เป็นต้น • คำศัพท์ในบางภาษาเมื่อมีการเขียนตัวอักษรเล็กหรือใหญ่ก็จะมีความหมายต่างกัน เช่น A และ a • คำศัพท์ในบางภาษาเปลี่ยนชนิดของคำก็จะมีความหมายต่างกันออกไป เช่น capital ถ้าเป็นคำนาม (Noun) จะมีความหมายว่า เมืองหลวง ถ้าเป็นคำคุณศัพท์ (Adjective) จะมีความหมายว่า อุกฉกรรจ์

  4. สิ่งที่ต้องคำนึงถึงในการสร้างระบบ IR • เนื่องจากข้อแตกต่างของเอกสารและข้อความต่างๆ ดังที่กล่าวมาแล้ว จึงมีแนวความคิดอื่นๆ เกิดขึ้น เช่น N-gram, คำสำคัญ (Keyword) และ Concept • N-gramคือ การแทนที่คำศัพท์ตัวอักษรที่เรียงต่อกัน จำนวน N ตัว เช่น คำว่า “Information Retrieval” หากกำหนดให้ N=6 เราจะได้เทอมต่างๆ ดังนี้ Inform, nforma, format, …, n retr, …, system เป็นค้น • คำสำคัญ(Keyword)คือ การแทนที่คำศัพท์ด้วยคำเฉพาะที่มีความหมาย โดยจะตัดคำโหลออก คำโหล เช่น a, an, the, คือ, นี้, นั่น, และ เป็นต้น หรืออาจจะเลือกเฉพาะศัพท์ที่เป็นรากศัพท์ เช่น Sing, Sang, Singing เราจำใช้คำศัพท์ว่า Sing แทนทั้งหมด Stop-word • Conceptคือ การแทนที่คำศัพท์โดยการนำคำสำคัญที่มีความหมายใกล้เคียงกับคำสำคัญที่ใช้ในการค้นหามาช่วยในการสืบค้น เช่น ทาน กับ กิน เป็นต้น

  5. ประเภทของโมเดล • หลังจากเริ่มมีการพัฒนาระบบการจัดเก็บสารสนเทศ ได้มีการเสนอทฤษฎีทางคณิตศาสตร์มากมาย • เมื่อนำมาแบ่งประเภทแล้ว จะแบ่งได้ 3 ประเภท คือ • Set Theory ใช้หลักการของ Set เป็นการสืบค้นที่ใช้เรื่องของการ match ของคำสอบถามกับคำศัพท์ ซึ่งคำตอบจะมีเพียง match กับ not match เท่านั้น • Matrix Algebra จะใช้ผลที่ได้จากการคำนวณของเวกเตอร์ของคำสอบถามและของเอกสาร ซึ่งเป็นการวัดความใกล้เคียงสอดคล้องของแต่ละคู่ ถ้าค่ามากจะแสดงว่ามีความสอดคล้องสูง • Probability Theory ค่าการเทียบเคียงจะได้จากค่าความน่าจะเป็นเปรียบเทียบของคู่คำสอบถามกับเอกสารในความเกี่ยวพันธ์ และไม่เกี่ยวพันธ์ต่อกัน หากแต่การคำนวณจะยุ่งยากกว่า Vector Model

  6. โมเดลของ IR • Classical Boolean Model : CBM (Set Theory) • Extended Boolean Model • Fuzzy Set Model • Vector Space Model : VSM (Matrix Algebra) • Generalized Vector Space Model • Topic-based Vector Space Model • Latent Semantic Indexing Model • Neural Network Model • Probabilistic Relevance Model : PRM (Probability Theory) • Inference Network Model • Belief Network Model • Browsing Model • Directory Model • Hypertext Model

  7. โมเดลของ IR ทางคณิตศาสตร์ • รูปแบบทางคณิตศาสตร์ของ IR มี 4 องค์ประกอบคือ D เป็นเซทของเอกสารที่แทนด้วยรูปแบบต่างๆ Q เป็นเซทของข้อสนเทศที่ต้องการของผู้ใช้ หรือคำสอบถามที่แทน ด้วยรูปแบบต่างๆ Ƒ เป็นโครงสร้างของการจำลองตัวเอกสาร คำสอบถามและ ความสัมพันธ์ระหว่างกัน R(qi, dj)เป็นฟังก์ชันในการจัดอันดับ (Ranking Function) ของตัว เอกสาร djЄ D กับคำสอบถาม qiЄ Q โดยคำนวณเป็นตัวเลข จำนวนจริง

  8. Classical Boolean Model (CBM) • Classical Boolean Model เป็นต้นแบบของระบบสืบค้นในยุคแรก • มีการสร้างดรรชนีของคำศัพท์ และมีการกำหนดคำสอบถาม • การสืบค้นจะเป็นเรื่องของการ Match และ Not Match • ใช้หลักการของ Set มาใช้ในการเทียบเคียงจับคู่

  9. นิยาม Set U (A∪B)’ A B A∩B A∪B

  10. ทบทวน Set Theory A B U A A (A (A (A) (A

  11. พีชคณิตของเซต (Algebra of Set) • A∪ A = A • A∩ A = A • A∪B = B∪A • A∩B = B∩A • A∪(B∪C) = ( A∪B)∪C • A∩(B∩C) = ( A∩B)∩C • A∪(B∩C) = ( A∪B)∩( A∪C) • A∩(B∪C) = ( A∩B)∪( A∩C) • A∪( A∩B) = A • A∩( A∪B) = A • ( A∪B)′ = A′∩B′ • ( A∩B)′ = A′∪B′ • A∪∅ = A • A∩∅ = ∅ • A∪ Ω = Ω • A∩Ω = A • A∪ A′ = Ω • A∩ A′ =∅ • ∅′ = Ω • Ω′ = ∅ • ( A′)′ = A ∩=Intersection ∪=Union Ω=Positive integer ∅=Empty set

  12. แบบฝึกหัดระหว่างเรียนแบบฝึกหัดระหว่างเรียน ให้ เซท A มีสมาชิกเป็น 1,2,3,4,5 เซท B มีสมาชิกเป็นเลขคู่ตั้งแต่ 1-6 เซท C มีสมาชิกเป็นเลขคี่ตั้งแต่ 1-10 เอกภพสัมพัทธ์ มีสมาชิกเป็น 1-10 จงหา AB=? A=? AB=? BU=? A(BC)=? CU’=? A(BC)’=? (A(BC))’U’=?

  13. ตัวอย่าง Classical Boolean Model q1 = (hot, cold) คำตอบคือ Match ผลลัพธ์ที่ได้คือ {1, 4} q2 = (hot, days) คำตอบคือ Not Match q3 = (some, hot, pot) คำตอบคือ Not Match q4 = (some, hot, cold) คำตอบคือ Match ผลลัพธ์ที่ได้คือ {4}

  14. Matching Algorithmof Classical Boolean Model • Matching Algorithm • Given : D : a set of N documents {d1, d2, …,dN} dj: the jthdocument consists of kj terms (td1, td2, …, tdkj) q : the query consist of L terms (tq1, tq2, …,tql) A : an answer set of documents Let A <- Ø ; /Initially empty the answer set/ Forj = 1 to N Do Ifall terms in q match terms in djThenA <- A + { dj} ; ReturnA

  15. Classical Boolean Model แบบคำเชื่อม • ใน Boolean Model คำสอบถามสามารถเขียนแทนด้วย AND, OR, NOT ได้ เช่น • = ∩ = And • =∪ = Or • = ’ = Not • ใช้ Matching Algorithm เพื่อหาเซทของเอกสารในแต่ละคำสอบถาม • And, Or ใน PHP • นำผลลัพธ์ที่ได้ในแต่ละเซทย่อยมาทำการ Union เพื่อเป็นคำตอบสุดท้าย

  16. Classical Boolean Model แบบคำเชื่อม (ต่อ) • กำหนดคำสอบถามเป็น • เปลี่ยนคำสอบถามให้อยู่ในรูปของ OR และ AND ตามกฎของ Set • จากนั้นทำการ Matching เพื่อหาเซทย่อยในแต่ละคำสอบถาม ให้ A1เป็นเซทของเอกสารด้วย A2เป็นเซทของเอกสารด้วย A3เป็นเซทของเอกสารด้วย A4เป็นเซทของเอกสารด้วย • ผลลัพธ์ที่ได้คือ

  17. แบบฝึกหัดระหว่างเรียนแบบฝึกหัดระหว่างเรียน • จงแสดงวิธีการค้นหาเอกสารต่อไปนี้โดยใช้ Classical Boolean Model • โดยมีคำสอบถามดังนี้ 1. 2.

  18. ตัวอย่าง การเทียบเคียงแบบ CBM • คำสอบถาม = {3} = {2,3} = {2,3} คำสอบถามนี้ match กับเอกสารที่ 2 และ 3

  19. แบบฝึกหัดระหว่างเรียนแบบฝึกหัดระหว่างเรียน • จงแสดงวิธีการค้นหาเอกสารต่อไปนี้โดยใช้ Classical Boolean Model • ให้สร้างดัชนี (Index) โดยใช้หลักการของ Sort-based Inversion • โดยมีคำสอบถามดังนี้ 1. 2. 3. 4.

  20. ข้อดีของ Boolean Model • Boolean Model ได้รับความนิยมมากเพราะว่าเข้าใจง่าย เวลา Query กำหนด ความต้องการได้ว่าจะเอาคำไหนซึ่งเป็นลักษณะง่าย ๆ ที่มีรูปแบบไม่ซับซ้อน • เป็นการหาข้อมูลในลักษณะ ใช่ / ไม่ใช่ เจอ / ไม่เจอ

  21. ข้อด้อยของ Classical Boolean Model • CBM จะมีคำตอบแค่ Match กับ Not Match เท่านั้น ทำให้ไม่มีความยืดหยุ่นในทางปฏิบัติ แต่ผู้ใช้ส่วนมากต้องการคำตอบที่มีความยืดหยุ่นกับเอกสารที่มีความเกี่ยวพันธ์เป็นหลัก • ผลลัพธ์ที่ได้ ไม่มีการจัดอันดับตามความสำคัญก่อนหลัง ทำให้เอกสารมีน้ำหนักเท่ากัน ถ้าไม่เป็น 1 ก็เป็น 0 ไม่มีค่าระหว่างกลาง

  22. Vector Space Model (VSM) • Vector Space Model เป็นรูปแบบที่พัฒนาต่อจาก Classical Boolean Model • เป็นการสร้างโมเดลของคลังเอกสารเป็น Matrix และเขียนคำสอบถามและตัวเอกสารอยู่ในรูปเวกเตอร์ • จะเป็นการวัดความใกล้ของคู่เวกเตอร์ของคำสอบถามกับเอกสารนั้น ยิ่งใกล้กันมากก็ยิ่งสอดคล้องมาก หรือ Match มากนั่นเอง • สามารถนำวิธีการดังกล่าวมาจัดอันดับ Ranking ของผลลัพธ์ได้

  23. Matrix Addition Multiply Transpose

  24. Matrix Multiplication G H I (AxG)+(BxH)+(CxI) (DxG)+(ExH)+(FxI) A B C D E F

  25. Vector Space Model (VSM) • กำหนดให้ M เป็นคำศัพท์ดัชนีทั้งหมดของระบบ N เป็นจำนวนเอกสารทั้งหมดในระบบ j เป็นลำดับเอกสารที่คำสอบถามปรากฏ iเป็นลำดับของคำศัพท์ดัชนีที่คำสอบถามปรากฏ wi,jเป็นน้ำหนักของเทอม tfเป็นความถี่ของเทอมที่ปรากฏ idfเป็นความถี่ของเอกสารที่เทอมนั้นปรากฏ fi,jเป็นความถี่ของเทอม tiในเอกสาร j niเป็นจำนวนเอกสารทั้งหมดที่มีเทอม iปรากฏ log จะใช้ log ฐาน 2 หรือฐาน e ที่เขียนว่า lnก็ได้ Maxkfk,jเป็นค่าสูงสุดของความถี่ที่ปรากฏในเอกสาร j

  26. Vector Space Model (VSM) • ดังนั้นในเอกสาร djจึงเขียนเป็นเวกเตอร์ที่มีค่าเป็นน้ำหนักของคำนั้นๆได้ว่า dj = [w1,j w2,j … wi,j … wM,j] โดยwi,j = tfi,j x idfi tfi,j = fi,j/ (Maxkfk,j) idfi = ln (N / ni) หรือ log (N / ni)

  27. Vector Space Model (VSM) • ดังนั้นในเอกสารที่รวบรวมตั้งแต่เอกสาร 1 จนถึง N ซึ่งจะแทนค่าด้วย D เขียนเป็น Matrix ได้ว่า D = [d1 d2 … dj … dn] D =

  28. การคำนวณความเหมือน (Similarity) Sim(q, dj)ค่าความเหมือน ผลรวมความถี่ของคำสอบถาม * น้ำหนักของเทอมนั้น Square root ของผลรวมของน้ำหนักของคำสอบถาม ยกกำลัง 2 Square root ของผลรวมของน้ำหนักของเทอมนั้น ยกกำลัง 2

  29. การคำนวณหาความเหมือน (Similarity) • Sim (q, dj) = = cosθ • ในกรณีที่ q ไปในแนวเดียวกันกับ djจะได้ cosine เป็น 1 แปลว่า match ที่สุด • ในกรณีที่ q ทำมุม 60 องศา djจะได้ cosine เป็น 0.5 • ในกรณีที่ q ทำมุม 90 องศา djจะได้ cosine เป็น 0 แปลว่าไม่ match เลย • ในการเรียงอันดับเอกสารตามค่าความเหมือน ตั้งแต่เอกสาร 1 จนถึง N ผลที่ได้จะนำมาเปรียบเทียบ โดย dkอยู่หน้า djเช่น Sim (q, dk) > Sim (q, dj)

  30. ตัวอย่างของ Vector Space Model Match มาก Match น้อย

  31. ตัวอย่างการคำนวณ • เอกสารมี 3 ฉบับ ดังต่อไปนี้ D1: "Shipment of gold damaged in a fire"D2: "Delivery of silver arrived in a silver truck"D3: "Shipment of gold arrived in a truck" • คำสอบถามคือ “gold silver truck” • จงแสดงหาวิธีการคำนวณหาค่าน้ำหนัก (Wi,j) ของเอกสารต่างๆ • จงแสดงวิธีหาค่าความเหมือน (similarity)

  32. หลักการในการคำนวณหาค่าความเหมือน (Similarity) • สร้างตารางคล้าย Sorted-Based Inversion แต่ไม่ต้องกำหนดค่า ดัชนี (Index) จากเอกสารทั้งหมด • ทำการตัดคำในเอกสารทั้งหมด (Dn) รวมทั้งคำสอบถาม (Q) แล้วใส่จำนวนความถี่ของแต่ละคำ • คำนวนหาค่า dfและ IDF ของแต่ละคำ • คำนวนหาค่า wจากสูตรwi,j = tfi,jx idfi • คำนวนหาค่าความเหมือน (Similarity)

  33. ตารางการคำนวน W จำนวนคำที่เจอ ในคำสอบถาม จำนวนคำที่เจอ ในเอกสารที่ 1 จำนวนคำที่เจอ ในเอกสารที่ 3 จำนวนเอกสารทั้งหมด หาร / จำนวนเอกสารที่เจอ น้ำหนักของคำสอบถาม โดยเอา idf x Q น้ำหนักของเอกสารที่ 1 โดยเอา idf x D1 น้ำหนักของเอกสารที่ 2 โดยเอา idf x D2 น้ำหนักของเอกสารที่ 3 โดยเอา idf x D3 จำนวนคำที่เจอ ในเอกสารที่ 2 จำนวนเอกสารที่ เจอไม่นับรวม Q ค่า log ของ D/df คำศัพท์

  34. ตัวอย่างการคำนวณ

  35. Logarithm table ตัวอย่างการคำนวณ

  36. ตัวอย่างการคำนวณ ค่าความเหมือน (Similarity)

  37. ข้อดีของ Vector Space Model (VSM) • การจัดอันดับ Ranking ของเอกสารมีความสำคัญมากต่อผลการสืบค้น • หากผลลัพธ์ที่ได้ออกมามีจำนวนมหาศาล การจัดอันดับจะสร้างความพึงพอใจให้แก่ผู้ใช้ • หากผลลัพธ์ยังไม่เป็นที่พอใจ ก็สามารถเปลี่ยนคำสอบถามใหม่ และทำการค้นหาใหม่ โดยจะวนซ้ำหลายๆรอบ จนกว่าจะได้ผลลัพธ์ที่น่าพอใจได้ • Google ใช้ PageRankในการลำดับผลลัพธ์ที่ได้ จึงทำให้เป็นผลงานที่มีประสิทธิภาพเหนือคู่แข่งรายอื่น

  38. ทบทวนความรู้ • เอกสารมี 3 ฉบับ ดังต่อไปนี้ D1: “Germany wins soccer worldcup final with 5:0 over Brazil"D2: “Germany is the new soccer worldcup champion after defeating Brazil in the final"D3: “Plasma TV sales finally increase because of the soccer worldcup in Germany" • จงสร้างดัชนีแบบ Sort-based inversion • จงแสดงวิธีการค้นหาเอกสารโดยอ้างอิงจากทฤษฎี Classical Boolean Model โดยใช้คำสอบถามคือ Germany or Brazil and wins and worldcup • จงแสดงวิธีการค้นหาเอกสารโดยอ้างอิงจากทฤษฎี Vector Space Model โดยใช้คำสอบถามคือ wins soccer worldcup • จงแสดงหาวิธีการคำนวณหาค่าน้ำหนัก (Wi,j) ของเอกสารต่างๆ • จงแสดงวิธีหาค่าความเหมือน (similarity) • จงสรุปว่า เอกสารใดมีความเหมือน (similarity) มากสุด และน้อยสุด โดยแสดงผลออกมาเป็นกราฟ (X,Y)

  39. ทบทวนความรู้ (2) • เอกสารมี 4 ฉบับ ดังต่อไปนี้ D1: “Shipment of gold damaged in a fire”D2: “Delivery of silver arrived in a silver truck”D3: “Shipment of gold arrived in a truck” D4: “Silver and gold in a shipment” Q: “gold silver truck” • ให้สร้างดัชนี โดยการขจัดคำโหล และการหารากศัพท์เข้ามาใช้ • จงแสดงวิธีการค้นหาเอกสารโดยอ้างอิงจากทฤษฎี Classical Boolean Model • จงแสดงวิธีการค้นหาเอกสารโดยอ้างอิงจากทฤษฎี Vector Space Model

  40. Probabilistic Relevance Model (PRM) • เนื่องจากปัญหาที่ เราจะหาความเกี่ยวพันธ์ของเอกสารกับคำสอบถามที่ใส่ได้อย่างไร • โดยปกติ ความน่าจะเป็นของความเกี่ยวพันธ์มีค่าสูง เอกสารย่อมมีความใกล้เคียงกับเอกสารมาก • ในทางตรงข้าม ความน่าจะเป็นของความเกี่ยวพันธ์มีค่าต่ำ เอกสารย่อมมีความใกล้เคียงกับเอกสารน้อยตามไปด้วย • ดังนั้น Model ชนิดนี้ คือการเปรียบเทียบระหว่างค่าความน่าจะเป็นของความเกี่ยวพันธ์ และความน่าจะเป็นของความไม่เกี่ยวพันธ์ • หากค่าค่าความน่าจะเป็นของความเกี่ยวพันธ์ สูงกว่าความน่าจะเป็นของความไม่เกี่ยวพันธ์ แสดงว่าเอกสารใกล้เคียงกับคำสอบถามมาก

  41. ที่มาของ Probabilistic Relevance Model (PRM)

  42. Probabilistic Relevance Model (PRM) และ โดยที่ โดยที่ niเป็นจำนวนเอกสารที่เทอม tiปรากฎ N เป็นจำนวนเอกสารทั้งหมดในระบบ V เป็นเซทย่อยของเอกสารที่ได้จากการสืบค้น ที่เป็นเอกสารลำดับต้นๆ Vi เป็นเซทย่อยของ V ที่มีเทอมดรรชนี tiปรากฎ หาก Sim(q, dm) > Sim(q, dn) เอกสาร mจะถูกจัดอันดับก่อน n

  43. ข้อจำกัด Probabilistic Relevance Model (PRM) • มีการคำนวณที่ซับซ้อน • Salton และ Buckley ทำการทดลอง แสดงให้เห็นว่า VSM ทำการประมวลผลได้ดีกว่ารูปแบบอื่น • VSM ได้ถูกนำไปใช้ในทางปฏิบัติมากกว่า

  44. Directory Model • เป็นการจัดหมวดหมู่อย่างเป็นระบบตามลำดับชั้น • Directory Model จะเป็นการจัดโครงสร้างแบบ Tree • ชื่อกำกับประเภททั่วไปจะอยู่ก่อน ส่วนประเภทที่เจาะจงมากขึ้นจะอยู่ถัดมา • เช่น เอกสารในหมวด Science จะมีหมวดย่อยคือ Physic, Chemistry, Biology • ในการออกแบบ Directory Model ไม่ควรออกแบบให้มีการวนซ้ำจนกลับมาที่เดิม

  45. Directory Model คอมพิวเตอร์ อินเทอร์เน็ต การเขียนโปรแกรม กระดานข่าว โดเมนเนม หน้าเว็บ 1 หน้าเว็บ 2 หน้าเว็บ 1 หน้าเว็บ 2 หน้าเว็บ 1

  46. Directory Model

  47. Hypertext Model • เป็นรูปแบบที่มีโครงสร้างเป็น Directed Graph • ชี้จากข้อความหนึ่งในเอกสาร ชี้ไปอีกข้อความหนึ่งในเอกสารอีกแห่งหนึ่ง • การเชื่อมโยง (Link) สามารถชี้จาก node ที่เป็นตัวแม่ ไปยังลูกหลานได้ แต่ลูกหลานก็สามารถชี้กลับไปยังตัวแม่ได้ • ความสัมพันธ์อาจเป็น 1:1 หรือ 1:n ก็ได้

  48. Hypertext Model

  49. Hypertext Model

  50. งานกลุ่ม (5 คะแนน) • ให้ทำการค้นคว้า และทำรายงานเกี่ยวกับ Expand Model ต่อไปนี้ • Extended Boolean Model • Fuzzy Set Model • Generalized Vector Space Model • Topic-based Vector Space Model • Latent Semantic Indexing Model • Neural Network Model • Inference Network Model • Belief Network Model

More Related