510 likes | 710 Views
การเทียบเคียงจับคู่. อ . วชิระ หล่อประดิษฐ์ ระบบสารสนเทศทางคอมพิวเตอร์. โมเดล คือ อะไร ?. โมเดล (Model) หมายถึง รูปแบบที่แสดงในเชิงตรรกะ (Logical View) เพื่อจำลองสิ่งของในระบบหรือตัวระบบเอง รวมทั้งจำลองการปฏิบัติการ หรือปฏิกิริยาในสิ่งเป้าหมายอย่างมีเหตุและผล
E N D
การเทียบเคียงจับคู่ อ.วชิระ หล่อประดิษฐ์ ระบบสารสนเทศทางคอมพิวเตอร์
โมเดล คือ อะไร? • โมเดล (Model) หมายถึง รูปแบบที่แสดงในเชิงตรรกะ (Logical View) เพื่อจำลองสิ่งของในระบบหรือตัวระบบเอง รวมทั้งจำลองการปฏิบัติการ หรือปฏิกิริยาในสิ่งเป้าหมายอย่างมีเหตุและผล • โมเดลของระบบการสืบค้น ก็มีรูปแบบเป็นการเฉพาะที่แสดงในเชิงตรรกะ เพื่อจำลองสิ่งของในระบบ เช่น ตัวเอกสาร คำสอบถาม รวมทั้งปฏิบัติการเทียบเคียง (Matching) เพื่อหาผลลัพธ์
สิ่งที่ต้องคำนึงถึงในการสร้างระบบ IR • ตัวเอกสารสามารถมีได้หลายภาษา เช่น ไทย อังกฤษ จีน ฝรั่งเศส เป็นต้น • คำศัพท์ในบางภาษามีการเปลี่ยนรูปโดยมาจากต้นแหล่ง (stem) เดียวกัน เช่น Retrieve, Retrieved, Retrieving ต่างมีรากศัพท์มาจาก Retrieve เป็นต้น • คำศัพท์ในบางภาษาเมื่อมีการเขียนตัวอักษรเล็กหรือใหญ่ก็จะมีความหมายต่างกัน เช่น A และ a • คำศัพท์ในบางภาษาเปลี่ยนชนิดของคำก็จะมีความหมายต่างกันออกไป เช่น capital ถ้าเป็นคำนาม (Noun) จะมีความหมายว่า เมืองหลวง ถ้าเป็นคำคุณศัพท์ (Adjective) จะมีความหมายว่า อุกฉกรรจ์
สิ่งที่ต้องคำนึงถึงในการสร้างระบบ 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คือ การแทนที่คำศัพท์โดยการนำคำสำคัญที่มีความหมายใกล้เคียงกับคำสำคัญที่ใช้ในการค้นหามาช่วยในการสืบค้น เช่น ทาน กับ กิน เป็นต้น
ประเภทของโมเดล • หลังจากเริ่มมีการพัฒนาระบบการจัดเก็บสารสนเทศ ได้มีการเสนอทฤษฎีทางคณิตศาสตร์มากมาย • เมื่อนำมาแบ่งประเภทแล้ว จะแบ่งได้ 3 ประเภท คือ • Set Theory ใช้หลักการของ Set เป็นการสืบค้นที่ใช้เรื่องของการ match ของคำสอบถามกับคำศัพท์ ซึ่งคำตอบจะมีเพียง match กับ not match เท่านั้น • Matrix Algebra จะใช้ผลที่ได้จากการคำนวณของเวกเตอร์ของคำสอบถามและของเอกสาร ซึ่งเป็นการวัดความใกล้เคียงสอดคล้องของแต่ละคู่ ถ้าค่ามากจะแสดงว่ามีความสอดคล้องสูง • Probability Theory ค่าการเทียบเคียงจะได้จากค่าความน่าจะเป็นเปรียบเทียบของคู่คำสอบถามกับเอกสารในความเกี่ยวพันธ์ และไม่เกี่ยวพันธ์ต่อกัน หากแต่การคำนวณจะยุ่งยากกว่า Vector Model
โมเดลของ 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
โมเดลของ IR ทางคณิตศาสตร์ • รูปแบบทางคณิตศาสตร์ของ IR มี 4 องค์ประกอบคือ D เป็นเซทของเอกสารที่แทนด้วยรูปแบบต่างๆ Q เป็นเซทของข้อสนเทศที่ต้องการของผู้ใช้ หรือคำสอบถามที่แทน ด้วยรูปแบบต่างๆ Ƒ เป็นโครงสร้างของการจำลองตัวเอกสาร คำสอบถามและ ความสัมพันธ์ระหว่างกัน R(qi, dj)เป็นฟังก์ชันในการจัดอันดับ (Ranking Function) ของตัว เอกสาร djЄ D กับคำสอบถาม qiЄ Q โดยคำนวณเป็นตัวเลข จำนวนจริง
Classical Boolean Model (CBM) • Classical Boolean Model เป็นต้นแบบของระบบสืบค้นในยุคแรก • มีการสร้างดรรชนีของคำศัพท์ และมีการกำหนดคำสอบถาม • การสืบค้นจะเป็นเรื่องของการ Match และ Not Match • ใช้หลักการของ Set มาใช้ในการเทียบเคียงจับคู่
นิยาม Set U (A∪B)’ A B A∩B A∪B
ทบทวน Set Theory A B U A A (A (A (A) (A
พีชคณิตของเซต (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
แบบฝึกหัดระหว่างเรียนแบบฝึกหัดระหว่างเรียน ให้ เซท 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’=?
ตัวอย่าง 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}
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
Classical Boolean Model แบบคำเชื่อม • ใน Boolean Model คำสอบถามสามารถเขียนแทนด้วย AND, OR, NOT ได้ เช่น • = ∩ = And • =∪ = Or • = ’ = Not • ใช้ Matching Algorithm เพื่อหาเซทของเอกสารในแต่ละคำสอบถาม • And, Or ใน PHP • นำผลลัพธ์ที่ได้ในแต่ละเซทย่อยมาทำการ Union เพื่อเป็นคำตอบสุดท้าย
Classical Boolean Model แบบคำเชื่อม (ต่อ) • กำหนดคำสอบถามเป็น • เปลี่ยนคำสอบถามให้อยู่ในรูปของ OR และ AND ตามกฎของ Set • จากนั้นทำการ Matching เพื่อหาเซทย่อยในแต่ละคำสอบถาม ให้ A1เป็นเซทของเอกสารด้วย A2เป็นเซทของเอกสารด้วย A3เป็นเซทของเอกสารด้วย A4เป็นเซทของเอกสารด้วย • ผลลัพธ์ที่ได้คือ
แบบฝึกหัดระหว่างเรียนแบบฝึกหัดระหว่างเรียน • จงแสดงวิธีการค้นหาเอกสารต่อไปนี้โดยใช้ Classical Boolean Model • โดยมีคำสอบถามดังนี้ 1. 2.
ตัวอย่าง การเทียบเคียงแบบ CBM • คำสอบถาม = {3} = {2,3} = {2,3} คำสอบถามนี้ match กับเอกสารที่ 2 และ 3
แบบฝึกหัดระหว่างเรียนแบบฝึกหัดระหว่างเรียน • จงแสดงวิธีการค้นหาเอกสารต่อไปนี้โดยใช้ Classical Boolean Model • ให้สร้างดัชนี (Index) โดยใช้หลักการของ Sort-based Inversion • โดยมีคำสอบถามดังนี้ 1. 2. 3. 4.
ข้อดีของ Boolean Model • Boolean Model ได้รับความนิยมมากเพราะว่าเข้าใจง่าย เวลา Query กำหนด ความต้องการได้ว่าจะเอาคำไหนซึ่งเป็นลักษณะง่าย ๆ ที่มีรูปแบบไม่ซับซ้อน • เป็นการหาข้อมูลในลักษณะ ใช่ / ไม่ใช่ เจอ / ไม่เจอ
ข้อด้อยของ Classical Boolean Model • CBM จะมีคำตอบแค่ Match กับ Not Match เท่านั้น ทำให้ไม่มีความยืดหยุ่นในทางปฏิบัติ แต่ผู้ใช้ส่วนมากต้องการคำตอบที่มีความยืดหยุ่นกับเอกสารที่มีความเกี่ยวพันธ์เป็นหลัก • ผลลัพธ์ที่ได้ ไม่มีการจัดอันดับตามความสำคัญก่อนหลัง ทำให้เอกสารมีน้ำหนักเท่ากัน ถ้าไม่เป็น 1 ก็เป็น 0 ไม่มีค่าระหว่างกลาง
Vector Space Model (VSM) • Vector Space Model เป็นรูปแบบที่พัฒนาต่อจาก Classical Boolean Model • เป็นการสร้างโมเดลของคลังเอกสารเป็น Matrix และเขียนคำสอบถามและตัวเอกสารอยู่ในรูปเวกเตอร์ • จะเป็นการวัดความใกล้ของคู่เวกเตอร์ของคำสอบถามกับเอกสารนั้น ยิ่งใกล้กันมากก็ยิ่งสอดคล้องมาก หรือ Match มากนั่นเอง • สามารถนำวิธีการดังกล่าวมาจัดอันดับ Ranking ของผลลัพธ์ได้
Matrix Addition Multiply Transpose
Matrix Multiplication G H I (AxG)+(BxH)+(CxI) (DxG)+(ExH)+(FxI) A B C D E F
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
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)
Vector Space Model (VSM) • ดังนั้นในเอกสารที่รวบรวมตั้งแต่เอกสาร 1 จนถึง N ซึ่งจะแทนค่าด้วย D เขียนเป็น Matrix ได้ว่า D = [d1 d2 … dj … dn] D =
การคำนวณความเหมือน (Similarity) Sim(q, dj)ค่าความเหมือน ผลรวมความถี่ของคำสอบถาม * น้ำหนักของเทอมนั้น Square root ของผลรวมของน้ำหนักของคำสอบถาม ยกกำลัง 2 Square root ของผลรวมของน้ำหนักของเทอมนั้น ยกกำลัง 2
การคำนวณหาความเหมือน (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)
ตัวอย่างของ Vector Space Model Match มาก Match น้อย
ตัวอย่างการคำนวณ • เอกสารมี 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)
หลักการในการคำนวณหาค่าความเหมือน (Similarity) • สร้างตารางคล้าย Sorted-Based Inversion แต่ไม่ต้องกำหนดค่า ดัชนี (Index) จากเอกสารทั้งหมด • ทำการตัดคำในเอกสารทั้งหมด (Dn) รวมทั้งคำสอบถาม (Q) แล้วใส่จำนวนความถี่ของแต่ละคำ • คำนวนหาค่า dfและ IDF ของแต่ละคำ • คำนวนหาค่า wจากสูตรwi,j = tfi,jx idfi • คำนวนหาค่าความเหมือน (Similarity)
ตารางการคำนวน W จำนวนคำที่เจอ ในคำสอบถาม จำนวนคำที่เจอ ในเอกสารที่ 1 จำนวนคำที่เจอ ในเอกสารที่ 3 จำนวนเอกสารทั้งหมด หาร / จำนวนเอกสารที่เจอ น้ำหนักของคำสอบถาม โดยเอา idf x Q น้ำหนักของเอกสารที่ 1 โดยเอา idf x D1 น้ำหนักของเอกสารที่ 2 โดยเอา idf x D2 น้ำหนักของเอกสารที่ 3 โดยเอา idf x D3 จำนวนคำที่เจอ ในเอกสารที่ 2 จำนวนเอกสารที่ เจอไม่นับรวม Q ค่า log ของ D/df คำศัพท์
Logarithm table ตัวอย่างการคำนวณ
ตัวอย่างการคำนวณ ค่าความเหมือน (Similarity)
ข้อดีของ Vector Space Model (VSM) • การจัดอันดับ Ranking ของเอกสารมีความสำคัญมากต่อผลการสืบค้น • หากผลลัพธ์ที่ได้ออกมามีจำนวนมหาศาล การจัดอันดับจะสร้างความพึงพอใจให้แก่ผู้ใช้ • หากผลลัพธ์ยังไม่เป็นที่พอใจ ก็สามารถเปลี่ยนคำสอบถามใหม่ และทำการค้นหาใหม่ โดยจะวนซ้ำหลายๆรอบ จนกว่าจะได้ผลลัพธ์ที่น่าพอใจได้ • Google ใช้ PageRankในการลำดับผลลัพธ์ที่ได้ จึงทำให้เป็นผลงานที่มีประสิทธิภาพเหนือคู่แข่งรายอื่น
ทบทวนความรู้ • เอกสารมี 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)
ทบทวนความรู้ (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
Probabilistic Relevance Model (PRM) • เนื่องจากปัญหาที่ เราจะหาความเกี่ยวพันธ์ของเอกสารกับคำสอบถามที่ใส่ได้อย่างไร • โดยปกติ ความน่าจะเป็นของความเกี่ยวพันธ์มีค่าสูง เอกสารย่อมมีความใกล้เคียงกับเอกสารมาก • ในทางตรงข้าม ความน่าจะเป็นของความเกี่ยวพันธ์มีค่าต่ำ เอกสารย่อมมีความใกล้เคียงกับเอกสารน้อยตามไปด้วย • ดังนั้น Model ชนิดนี้ คือการเปรียบเทียบระหว่างค่าความน่าจะเป็นของความเกี่ยวพันธ์ และความน่าจะเป็นของความไม่เกี่ยวพันธ์ • หากค่าค่าความน่าจะเป็นของความเกี่ยวพันธ์ สูงกว่าความน่าจะเป็นของความไม่เกี่ยวพันธ์ แสดงว่าเอกสารใกล้เคียงกับคำสอบถามมาก
Probabilistic Relevance Model (PRM) และ โดยที่ โดยที่ niเป็นจำนวนเอกสารที่เทอม tiปรากฎ N เป็นจำนวนเอกสารทั้งหมดในระบบ V เป็นเซทย่อยของเอกสารที่ได้จากการสืบค้น ที่เป็นเอกสารลำดับต้นๆ Vi เป็นเซทย่อยของ V ที่มีเทอมดรรชนี tiปรากฎ หาก Sim(q, dm) > Sim(q, dn) เอกสาร mจะถูกจัดอันดับก่อน n
ข้อจำกัด Probabilistic Relevance Model (PRM) • มีการคำนวณที่ซับซ้อน • Salton และ Buckley ทำการทดลอง แสดงให้เห็นว่า VSM ทำการประมวลผลได้ดีกว่ารูปแบบอื่น • VSM ได้ถูกนำไปใช้ในทางปฏิบัติมากกว่า
Directory Model • เป็นการจัดหมวดหมู่อย่างเป็นระบบตามลำดับชั้น • Directory Model จะเป็นการจัดโครงสร้างแบบ Tree • ชื่อกำกับประเภททั่วไปจะอยู่ก่อน ส่วนประเภทที่เจาะจงมากขึ้นจะอยู่ถัดมา • เช่น เอกสารในหมวด Science จะมีหมวดย่อยคือ Physic, Chemistry, Biology • ในการออกแบบ Directory Model ไม่ควรออกแบบให้มีการวนซ้ำจนกลับมาที่เดิม
Directory Model คอมพิวเตอร์ อินเทอร์เน็ต การเขียนโปรแกรม กระดานข่าว โดเมนเนม หน้าเว็บ 1 หน้าเว็บ 2 หน้าเว็บ 1 หน้าเว็บ 2 หน้าเว็บ 1
Hypertext Model • เป็นรูปแบบที่มีโครงสร้างเป็น Directed Graph • ชี้จากข้อความหนึ่งในเอกสาร ชี้ไปอีกข้อความหนึ่งในเอกสารอีกแห่งหนึ่ง • การเชื่อมโยง (Link) สามารถชี้จาก node ที่เป็นตัวแม่ ไปยังลูกหลานได้ แต่ลูกหลานก็สามารถชี้กลับไปยังตัวแม่ได้ • ความสัมพันธ์อาจเป็น 1:1 หรือ 1:n ก็ได้
งานกลุ่ม (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