งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Information Retrieval

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Information Retrieval"— ใบสำเนางานนำเสนอ:

1 Information Retrieval
ผศ. ดร. ไกรศักดิ์ เกษร ภาควิชาวิทยากาคอมพิวเตอร์ฯ มหาวิทยาลัยนเรศวร Tel

2 การค้นคืนข้อมูลเอกสารที่เป็นตัวอักษร
2. Textual Information Retrieval การค้นคืนข้อมูลเอกสารที่เป็นตัวอักษร

3 วัตถุประสงค์การเรียนรู้ประจำบท
เพื่อเข้าใจและสามารถเปรียบเทียบข้อดีและข้อเสียของการทำดัชนีแบบต่างๆ ได้ เพื่อเข้าใจประโยชน์ของการให้น้ำหนักของคำและเปรียบเทียบข้อดีและข้อเสียของแต่ละวิธีได้ เพื่อเข้าใจหลักการทำงานของโมเดลเชิงพื้นที่เว็กเตอร์ (Vector Space Model) เพื่อให้สามารถคำนวณความคล้ายคลึงระหว่างคิวรี่และเอกสารในฐานข้อมูลโดยใช้วิธีต่างๆ ได้

4 ทบทวนเนื้อหาบทที่ 1 การรวบรวมเอกสาร
การตัดคำ (Tokenizing) และการเปลี่ยนรูปคำ (Stemming and lemmatization) การกำจัดคำที่ไม่สำคัญ (Stop words) การทำดัชนี (Indexing) การประมวลผลคิวรี่ การค้นหา และการเรียงลำดับข้อมูลผลลัพธ์

5 การเปลี่ยนรูปคำ (Stemming and lemmatization)
การเปลี่ยนรูปคำนั้นสำคัญและมีผลต่อขนาดของดิกชันนารีในการทำดัชนีและประสิทธิภาพในการเปรียบเทียบคำในคิวรี่และคำในดัชนี นิยาม การเปลี่ยนรูปคำ คือเทคนิคการเปลี่ยนรูปแบบของคำ เพื่อที่จะเพิ่มประสิทธิภาพการเปรียบเทียบคำระหว่างคำในคิวรี่และคำในดัชนี มี 2 เทคนิค การตัดส่วนขยาย (Stemming) การเปลี่ยนรูปคำให้อยู่ในรูปแบบดั้งเดิม (Lemmatization)

6 การตัดส่วนขยาย (Stemming)
เช่น จะตัด s, es, ing หรือ ed อัลกอริทึมที่นิยมสำหรับการตัดส่วนขยายของคำได้แก่ Porter’s algorithm และเทคนิคการตัดส่วนขยายคำอื่นๆได้แก่ Lovins stemmer และ Paice/Husk stemmer Original sentence Brian performs swimming in China Stemmed sentence brian perform swim - china รูปที่ 2‑1 ตัวอย่างของข้อความหลังจากเปลี่ยนรูปคำ (Stemming)

7 การเปลี่ยนรูปคำให้อยู่ในรูปแบบดั้งเดิม (Lemmatization)
การเปลี่ยนรูปคำให้อยู่ในรูปแบบดั้งเดิมนั้นมีจุดประสงค์เดียวกับการตัดส่วนขยายของคำ คือเพิ่มประสิทธิภาพในการทำดัชนีให้มีขนาดเล็กลงและการเปรียบเทียบคำในคิวรี่และคำในดัชนี เช่น ถ้าผู้ใช้ใส่คำว่า saw ในคิวรี่ ระบบจะรู้ได้ว่าเอกสารที่มีคำว่า see มีความเกี่ยวข้องกับคิวรี่ของผู้ใช้ เป็นต้น am, are, is, was -> be หรือ saw, seen -> see

8 การกำจัดคำที่ไม่สำคัญ (Stop word removal)
คำที่ไม่สำคัญคือ คำที่ไม่ช่วยเพิ่มประสิทธิภาพการค้นหาข้อมูลเนื่องจากเป็นคำที่ปรากฎอยู่ทั่วไปในทุกๆ เอกสาร ความถี่ของคำสูง (High Term frequency) อย่างไรก็ตามในบางกรณี คำไม่สำคัญอาจจะเป็นประโยชน์ต่อการค้นหาข้อมูลเมื่อใช้ในคิวรี่บางประเภท เช่น “Brian is an athlete from UK” ในคิวรี่ประกอบด้วยคำที่ไม่สำคัญ 3 คำ คือ is an และ from จะเหลือคำคิวรี่ “brian” AND “athlete” AND “uk” ไม่ได้พิจาณาความหมายที่แท้จริงของคิวรี่ แต่ดูเพียงว่าเอกสารใดประกอบด้วยคำที่มีอยู่ในคิวรี่เท่านั้น

9 การทำดัชนี (Indexing)
ระบบการค้นคืนข้อมูลในปัจจุรองรับคิวรี่ที่เป็นวลี (Phrase query) หรือเป็นกลุ่มคำ เช่น “Brian athlete UK” การเก็บคีย์เวิร์ดในดิกชันนารีโดยใช้คำเดี่ยวๆ ไม่สามารถรองรับการทำงานของคิวรี่แบบวลีได้ การทำดัชนีแบบคำคู่ (Biword Indexing) การทำดัชนีจากตำแหน่งคำ (Positional Indexing) การทำดัชนีแบบเรียงลำดับบล๊อก (Blocked sort-based indexing) การทำดัชนีแบบกระจาย (Distributed indexing) การทำดัชนีแบบไดนามิก (Dynamic indexing)

10 การทำดัชนีแบบคำคู่ (Biword Indexing)
จะพิจารณาคำที่อยู่ติดกันเป็นวลีที่จะใช้ทำดัชนี ตัวอย่างเช่น Brian performs swimming หลังจากการทำการเปลี่ยนรูปคำและกำจัดคำที่ไม่สำคัญทิ้ง เราจะได้ brain perform swim รูปที่ 2‑2 โครงสร้างของดัชนีแบบคำคู่ (Biword indexing)

11 การทำดัชนีจากตำแหน่งคำ (Positional Indexing)
จะทำการเก็บตำแหน่งของคำในเอกสารโดยใช้รูปแบบคือ <docID, Freq:<position1, position2, …> รูปที่ 2‑3 ตัวอย่างการทำดัชนีโดยใช้ตำแหน่งคำ (Positional indexing) brian, 7850: <1, 4: <2, 8, 15, 45>; 3, 3: <1, 23, 26>; 9, 5: <6, 18, 26, 67, 276>; …> perform, 4658: <1, 4: <3, 27, 155, 645>; 3, 5: <3, 4, 24, 27, 345>; 26, 3: <26, 78, 567>;

12 ตัวอย่างที่ 2‑2 แสดงวิธีการค้นหาข้อมูลโดยการวิธีการดัชนีแบบตำแหน่งคำ
ตัวอย่างที่ 2‑2 แสดงวิธีการค้นหาข้อมูลโดยการวิธีการดัชนีแบบตำแหน่งคำ คิวรี่ “Brian performs swimming in China” จากไฟล์ดัชนีในรูปที่ 2‑3 ในตัวอย่างนี้จะแสดงวิธีการอินเตอร์เซ็กท์ของเอกสารใน โพสติ้งระหว่างคำว่า brian และ perform ให้เห็นตัวอย่างเท่านั้น วิธีทำ พิจารณาเฉพาะเอกสารที่คำทั้งสองคำปรากฎ ในรูปที่ 2‑3 คือ เอกสารหมายเลข 3 เปรียบเทียบตำแหน่งของ brian และ perform ในเอกสารเดียวกันซึ่งตำแหน่งของ brian จะต้องน้อยกว่า perform อยู่ 1 ตำแหน่ง (ซึ่งเหมือนกับตำแหน่งในคิวรี่) จากรูป คู่ <1,3> ใช้ไม่ได้เนื่องจากตำแหน่งของทั้งสองคำห่างกันเกินหนึ่งตำแหน่ง ซึ่งไม่สอดคล้องกับคิวรี่

13 ตัวอย่างที่ 2‑2 (ต่อ) brian 1 23 26 perform 3 24 27

14 ตัวอย่างที่ 2‑2 (ต่อ) 4. ทำการตรวจสอบตำแหน่งถัดไปของทั้งสองคำ แต่ตำแหน่งใหม่จะต้องมีค่ามากกว่าตำแหน่งในข้อ 2 อยู่ 3 ตำแหน่ง เนื่องจากต้องเว้นช่องว่างให้คำอื่นๆ ในคิวรี่ที่ต้องนำมาพิจารณาร่วมด้วยในตัวอย่างนี้คือคำว่า swim china

15 การทำดัชนีแบบเรียงลำดับบล๊อก (Blocked sort-based indexing)
การทำดัชนีแบบเรียงลำดับบล๊อก (Blocked sort-based indexing) หรือเรียกสั้นๆ ว่า BSBI เก็บข้อมูลการทำดัชนีไว้บนหน่วยความจำสำรอง เทคนิคนี้จะทำการแทนที่คำที่ใช้ในการทำดัชนีโดยใช้หมายเลขคำ (termID) ซึ่งจะไม่ซ้ำกับคำอื่นๆ ในไฟล์ดัชนีเดียวกันและเป็นตัวเลขที่เรียงลำดับจากน้อยไปมาก

16 การทำดัชนีแบบเรียงลำดับบล๊อก (Blocked sort-based indexing)
ขั้นตอนการทำงานของ BSBI มีดังต่อไปนี้ ทำการแบ่งเอกสารในฐานข้อมูลออกเป็นชุดๆ ชุดละเท่าๆ กัน ทำการสร้างความสัมพันธ์ระหว่าง termID และ docID โดยดูว่าคำนั้นๆ ปรากฎในเอกสารใดบ้างและเรียงลำดับคู่ของ termID-docID ของข้อมูลแต่ละชุดในหน่วยความจำหลัก ทำการรวม docID ของคำ (termID) เดียวกันเข้าเป็นโพสติ้งลิสเดียวกัน ผลลัพธ์ของขั้นตอนนี้คือดัชนีแบบอินเวิร์ทของข้อมูลในบล๊อกเดียวกัน ทำการบันทึกข้อมูลของดัชนีแบบอินเวิร์ทในข้อ 3 ลงบนฮาร์ดดิสก์ ทำการรวมผลของการเรียงลำดับในข้อ 4 ของทุกชุดข้อมูลในไฟล์เดียวกัน เพื่อใช้เป็นไฟล์ดัชนีในการค้นหาข้อมูลในอนาคต

17 ตัวอย่างที่ 2‑3 แสดงตัวอย่างการทำงานของวิธี BSBI
1. ทำการแบ่งเอกสารออกเป็นชุดๆ โดยในแต่ละชุดจะทำการหาความสัมพันธ์ระหว่างคำและหมายเลขเอกสาร (docID) สมมุติให้ระบบมีเอกสารจำนวน 20 เอกสาร (d1, d2, d3,…, d20) ตัวอย่างนี้เราจะแบ่งเอกสารออกเป็น 2 ชุดๆ ละ 10 เอกสาร และกำหนดให้คำที่จะใช้ทำดัชนีแต่ละคำมี termID ดังต่อไปนี้ ชุดที่ 1 ชุดที่ 2 Term termID brian 1 bejing 7 great britain 2 china 8 perform 3 100m 4 freestyle 5 men 6

18 ตัวอย่างที่ 2‑3 (ต่อ) ชุดที่ 1 ชุดที่ 2 termID docID 1 d1 7 d6 2 d4 8
ตัวอย่างที่ 2‑3 (ต่อ) ชุดที่ 1 ชุดที่ 2 termID docID 1 d1 7 d6 2 d4 8 3 d2 d20 4 5 d15 d10 6 d9 d3 2. ทำการสร้างความสัมพันธ์ระหว่าง termID-docID สมมุติให้ความสัมพันธ์ระหว่างคำและเอกสารเป็นดังตารางด้านล่าง

19 ตัวอย่างที่ 2‑3 (ต่อ) ชุดที่ 1 ชุดที่ 2 termID docID 1 d1 2 d20 d4 5
ตัวอย่างที่ 2‑3 (ต่อ) ชุดที่ 1 ชุดที่ 2 termID docID 1 d1 2 d20 d4 5 d9 d15 3 7 d6 d2 8 4 d10 d3 6 2.1 และเรียงลำดับคู่ของ termID-docID ของข้อมูลแต่ละชุดในหน่วยความจำหลักจากน้อยไปมาก

20 ตัวอย่างที่ 2‑3 (ต่อ) ชุดที่ 1 ชุดที่ 2 termID docID 1 d1, d4 2 d20 d4
ตัวอย่างที่ 2‑3 (ต่อ) ชุดที่ 1 ชุดที่ 2 termID docID 1 d1, d4 2 d20 d4 5 d9, d15 3 d1, d2 7 d6 4 d1 8 d6, d10 d1, d3 6 3. ทำการรวม docID ของคำ (termID) เดียวกันเข้าเป็นโพสติ้งลิสด้วยกัน 4. ทำการบันทึกข้อมูลของดัชนีแบบอินเวิร์ทในข้อ 3 ลงบนฮาร์ดดิสก์ ฮาร์ดดิสก์

21 ตัวอย่างที่ 2‑3 (ต่อ) ดัชนีข้อมูลชุด 1+2 termID docID 1 d1, d4 2
ตัวอย่างที่ 2‑3 (ต่อ) ดัชนีข้อมูลชุด 1+2 termID docID 1 d1, d4 2 d4, d20 3 d1, d2 4 d1 5 d1, d3, d9, d15 6 7 d6 8 d6, d10 5. ทำการรวมผลของการเรียงลำดับในข้อ 4 ของทุกชุดข้อมูลเป็นไฟล์เดียวกัน

22 การทำดัชนีแบบกระจาย (Distributed Indexing)
การทำดัชนีไว้ในเครื่องคอมพิวเตอร์เพียงเครื่องเดียวถือว่าเป็นการทำดัชนีที่ไม่ค่อยมีประสิทธิภาพ การทำดัชนีแบบกระจาย (Distributed indexing) หลักการทำงานของการทำดัชนีแบบกระจายคือการเก็บข้อมูลดัชนีไว้บนเครื่องคอมพิวเตอร์ต่างๆ บนเครือข่าย ซึ่งข้อมูลดัชนีจะถูกแบ่งออกเป็นชุดๆ ตามคีย์เวิรด (Term-partitioned index) หรือตามเอกสาร (Document-partitioned index)

23 การทำดัชนีแบบกระจาย (Distributed Indexing)
วิธี MapReduce ประกอบด้วย 2 phases เฟสการแมพ (Map phase) เฟสการรีดิวซ์ (Reduce phase)

24 การทำดัชนีแบบกระจาย (Distributed Indexing)
Map phase รูปที่ 2‑5 แสดงขั้นตอนการทำงานของเฟสการแมพ (Map phase)

25 การทำดัชนีแบบกระจาย (Distributed Indexing)
รูปที่ 2‑6 แสดงขั้นตอนการทำงานของเฟสการรีดิวซ์ (Reduce phase)

26 การทำดัชนีแบบกระจาย (Distributed Indexing)
รูปที่ 2‑7 แสดงขั้นตอนการทำงานของการทำดัชนีแบบแบ่งตามเอกสาร (Document-partitioned index)

27 การคำนวณน้ำหนักของคีย์เวิรด (Term Weighting)
การค้นหาข้อมูลแบบบูลีนนั้น ผลของการเปรียบเทียบระหว่างคีย์เวริดในคิวรี่และคำในดัชนีเป็นได้เพียงสองแบบคือ ใช่ (True/Yes) หรือไม่ใช่ (Fault/No) ซึ่งวิธีนี่ไม่ค่อยมีประสิทธิภาพมากนัก ดังนั้นความคล้ายคลึงระหว่างคิวรี่และเอกสารผลลัพธ์ควรแสดงเป็นตัวเลข 0 ถึง 1 [0,1] การหาความคล้ายคลึงทำได้โดยการให้น้ำหนักของคีย์เวริด การให้น้ำหนักคำตามความถี่ (Term frequency) การให้นำหนักคำแบบ Inverse document frequency การให้นำหนักคำแบบ tf-idf

28 การให้น้ำหนักคำตามความถี่ (Term frequency)
คำแต่ละคำในเอกสารจะมีการให้น้ำหนัก (Weight) การให้น้ำหนักนี้จะขึ้นอยู่กับความถี่ของการปรากฎ (Occurrence) ของคำนั้นๆ วิธีการที่ง่ายที่สุดคือการให้น้ำหนักของคำเท่ากับความถี่ของการปรากฎของคำนั้นๆ ให้ tft,d ซึ่ง t หมายถึงคีย์เวิรดและ d หมายถึงเอกสาร ตัวอย่างเช่น D1:“Athletes from USA perform in China” และ D2:“Athletes from China perform in USA”

29 การให้น้ำหนักคำตามความถี่ (Term frequency)
จากเอกสารในตัวอย่าง หาความถี่ของคำได้ดังตาราง วิธีการนี้รู้จักกันอีกชื่อหนึ่งว่า ถุงของคำ (Bag of words) รูปที่ 2‑8 ถุงของคำในเอกสาร D1 และ D2

30 การให้น้ำหนักคำแบบ Inverse Document Frequency (IDF)
ความถี่ของเอกสาร (dft) หมายถึง จำนวนของเอกสารทั้งหมดในฐานข้อมูลที่คำ t ปรากฎ วิธีการนี้จะทำให้เกิดความยุติธรรมสำหรับคำที่มีความถี่ของคำสูงในเอกสารใดเอกสารหนึ่งเท่านั้น แต่ไม่ค่อยปรากฎในเอกสารอื่นๆ โดยคำที่ปรากฎในเอกสารจำนวนน้อยๆ จะมีน้ำหนักสูงขึ้นและคำที่มีปรากฎในเอกสารจำนวนมากจะถูกทำให้มีน้ำหนักต่ำลง (2‑1)

31 การให้น้ำหนักคำแบบ Inverse Document Frequency (IDF)
รูปที่ 2‑9 แสดงค่า df และ idf จากเอกสารทั้งหมด 806,791 เอกสาร ในสมการที่ (2-1) การหา idf คำนวณจาก df ของแต่ละเทอมและใช้ลอการิทึมฐาน 10

32 การให้น้ำหนักแบบ tf-idf
วิธีการนี้เป็นการคำนวณน้ำหนักของคำ t ในเอกสาร d ซึ่ง จะมีน้ำหนักสูง ถ้า t ปรากฏบ่อยครั้งในเอกสารจำนวนไม่มากนัก (ซึ่งแสดงว่า t เป็นคำที่ใช้เป็นตัวแทนสำหรับเอกสารเหล่านั้นได้) จะมีน้ำหนักต่ำลง ถ้า t ปรากฏน้อยครั้งในเอกสารหนึ่ง หรือปรากฎบ่อยครั้งในเอกสารจำนวนมาก (ซึ่งแสดงว่า t เป็นคำที่ไม่สามารถเป็นตัวแทนของเอกสารได้) จะมีน้ำหนักต่ำสุด ถ้า t ปรากฏในทุกๆ เอกสาร (ซึ่งแสดงว่า t อาจจะเป็นคำที่ไม่สำคัญและไม่สามารถใช้เป็นตัวแทนเอกสารใดๆ ได้) (2‑2)

33 การให้น้ำหนักแบบ tf-idf
ตัวอย่างที่ 2‑4 จงหาค่าน้ำหนักของคีย์เวิรดของแต่ละเอกสารในตารางด้านล่าง โดยใช้เทคนิค tf-idf และค่า idf ในรูปที่ 2‑9 และหาค่าความคล้ายคลึงระหว่างคิวรี่ q(athlete, swim, medal) ต่อเอกสารทั้งสามเอกสาร รูปที่ 2‑10 แสดงคำและความถี่ของคำในเอกสารต่างๆ คำ/เอกสาร Doc1 Doc2 Doc3 athlete 16 37 swim 8 29 34 medal 23 45 victory 9 27

34 การให้น้ำหนักแบบ tf-idf
จากสมการที่ (2‑2) จะหาค่า tf-idfathlete, Doc1 = 16 x 1.65 = 26.40 รูปที่ 2‑11 ผลการคำนวณหาน้ำหนักของแต่ละคำโดยใช้เทคนิค tf-idf

35 การให้น้ำหนักแบบ tf-idf
3. คำนวณความคล้ายคลึงระหว่างคิวรี่และเอกสารโดยใช้สมการที่ (2‑3) ตัวอย่างเช่น sim (q, Doc1) = = 80.30 (2‑3)

36 การให้น้ำหนักแบบ tf-idf
รูปที่ 2‑12 ผลการคำนวณคล้ายคลึงกันระหว่างข้อคำถามและเอกสารต่างๆ

37 โมเดลเชิงพื้นที่เว็กเตอร์ (Vector Space Model)
เอกสารจะถูกอธิบายโดยใช้คุณลักษณะ (Features) เช่น คีย์เวริด ที่ปรากฎในเอกสารนั้นๆ d1 คือหมายเลขเอกสาร aij คือคุณลักษณะที่ใช้อธิบายเอกสาร ซึ่งค่าของมันแสดงถึงความสำคัญของคุณลักษณะนั้นๆ ต่อเอกสาร d1 และ n คือจำนวนของคุณลักษณะทั้งหมดหรือเรียกว่า มิติของพื้นที่เว็กเตอร์ (Dimensionality of the vector space)

38 โมเดลเชิงพื้นที่เว็กเตอร์ (Vector Space Model)
ความสัมพันธ์ระหว่าง คีย์เวิรดและเอกสาร สามารถแสดงโดยใช้โมเดลเชิงพื้นที่เว็กเตอร์ ซึ่งสามารถแสดงในรูปแบบของตาราง เรียกว่า เมตริกซ์คำ-เอกสาร (Term-document matrix) แสดงได้ดังรูปที่ 2‑13 รูปที่ ตัวอย่างเมทริกซ์คำ-เอกสาร (Term-document matrix)

39 เว็กเตอร์เอกสาร (Document vector) และเว็กเตอร์คิวรี่ (Query vector)
กลุ่มของเอกสารทั้งหมดในฐานข้อมูลสามารถถูกมองเป็นกลุ่มของเว็กเตอร์ในระบบเชิงพื้นที่เว็กเตอร์โดยที่เอกสารแต่ละเอกสาร สามารถนำเสนอในรูปแบบของเส้นตรงที่ลากจากจุดโคออดิเนด (0,0) ไปยังจุดของเอกสารนั้นๆ บนพื้นที่เว็กเตอร์ เราใช้สัญญาลักษณ์ แทนเว็กเตอร์เอกสารที่ 1 โดยใช้ระบบเชิงพื้นที่เว็กเตอร์นั้นสามารถทำได้โดยหาความต่างระหว่างมุม (Magnitude different) ของเว็กเตอร์เอกสารบนพื้นที่เว็กเตอร์ดังรูปที่ 2-14

40 เว็กเตอร์เอกสาร (Document vector) และเว็กเตอร์ข้อคำถาม(Query vector)
จากรูป เหมือน มากกว่า เนื่องจากค่าความต่างระหว่าง และ มีน้อยกว่า และ รูปที่ 2‑14 เปรียบเทียบความเหมือนกันระหว่างเอกสารต่างๆ

41 การวัดความคล้ายคลึงกันระหว่างคิวรี่และเอกสาร (Similarity measurements)
กำหนดให้ คือค่าความคล้ายคลึงระหว่าง x และ y โดยที่ และ วิธีวัดความคล้ายคลึง การวัดความคล้ายคลึงโดยใช้ Inner product การวัดความคล้ายคลึงโดยใช้ Dice co-efficient การวัดความคล้ายคลึงโดยใช้ Cosine

42 การวัดความคล้ายคลึงกันระหว่างคิวรี่และเอกสาร (Similarity measurements)
การวัดความคล้ายคลึงโดยใช้ Inner product วิธีการนี้จะนำค่า x และ y เฉพาะคู่ที่มีค่ามากกว่าศูนย์มาคำนวน หากคู่ใดมีสมาชิกมี ค่าเป็นศูนย์ คู่นั้นจะถูกตัดทิ้งไป ซึ่งหมายความว่าวิธีการนี้ไม่ได้นำคุณลักษณะทั้งหมด ของเว็กเตอร์ x และ y มาพิจารณาซึ่งทำให้เกิดการไม่ยุติธรรม (Bias) เกิดขึ้น ตัวอย่าง ให้ x = (1, 1, 1, 1, 1) และ y = (1, 1, 1, 1, 1) ดังนั้นจากสมการที่ (2‑4) เรา จะหาค่า sim(x,y) = (1)(1)+(1)(1)+(1)(1)+(1)(1)+(1)(1) = 5 (2‑4)

43 การวัดความคล้ายคลึงโดยใช้ Inner product (ต่อ)
ถ้า a = (1,1,1,1,1) และ b = (1,1,1,1,1,0,0,0,0,0) จงหา sim(a,b) =? การวัดความคล้ายคลึงโดยใช้ Dice co-efficient วิธีการคำนวณโดยใช้ Dice co-efficient นี้จะทำการพิจารณาคุณลักษณะทั้งหมดของทั้งสองเว็กเตอร์ ซึ่งทำให้เกิดการยุติธรรมมากขึ้นกว่าแบบ Inner product (2‑5)

44 การวัดความคล้ายคลึงโดยใช้ Cosine
เป็นวิธีการหาคล้ายคลึงกันจากค่าความต่างของมุมของวัตถุ 2 อันที่เกิดขึ้นบนพื้นที่เว็กเตอร์ ความคล้ายคลึงกันแบบ cosine นี้จะมีค่าอยู่ระหว่าง 0-1 เท่านั้น วิธีการนี้จะมีประสิทธิภาพในกรณีที่เอกสาร 2 เอกสารมีความยาวไม่เท่ากันหรือทำให้มีความยุติธรรมต่อเอกสารที่สั้นกว่านั้นเอง (2‑7)

45 การวัดความคล้ายคลึงโดยใช้ Cosine
ตัวอย่างที่ 2‑5 จากรูปที่ 2‑10 จงหาความคล้ายคลึงกันของเอกสาร sim(Doc1, Doc2) และ sim(Doc1, Doc3) โดยใช้วิธีวัดคล้ายคลึงแบบ cosine คำนวณหา Document vector คำนวณ Term vector คำนวนหา sim(Doc1, Doc2) และ sim(Doc1, Doc3) (สมการที่ 2-7)

46 การวัดความคล้ายคลึงโดยใช้ Cosine (ต่อ)
คำนวณหา Document vector จะได้ Doc1 = ((16^2)+(8^2)+(23^2)+(9^2))1/2 = 30.50 Doc2 = ((0^2)+(29^2)+(0^2)+(27^2))1/2 = 39.62 Doc3 = ((37^2)+(34^2)+(45^2)+(0^2))1/2 = 67.45 คำนวณ Term vector ( document length)

47 การวัดความคล้ายคลึงโดยใช้ Cosine (ต่อ)

48 การวัดความคล้ายคลึงโดยใช้ Cosine (ต่อ)
คำนวนหา sim(Doc1, Doc2) และ sim(Doc1, Doc3) sim(Doc1, Doc2) = (0.52∗0+0.26∗ ∗0+0.30∗0.68) (( )∗( )) 1/2 = 0.393 sim(Doc1, Doc3) = (0.52∗ ∗ ∗ ∗0) ( ∗( )) 1/2 =0.923 ∴ สรุปได้ว่า Doc1 ใกล้เคียงกับ Doc3 มากกว่า Doc2

49 การวัดความคล้ายคลึงโดยใช้ Cosine (ต่อ)
ตัวอย่างที่ 2‑6 ถ้าผู้ใช้ใส่คิวรี่ q1= swim medal จงหาเรียงลำดับเอกสารที่มีความคล้ายคลึงกับ q1 จากมากไปหาน้อย โดยใช้ข้อมูลจากรูปที่ 2‑10 และตัวอย่างที่ 2‑5 sim(q1,Doc1) = (0.26∗ ∗0.71) (( )∗( )) 1/2 = 0.719 sim(q1,Doc2)= (0.73∗0.71) (( )∗( )) 1/2 = 0.518 sim(q1,Doc3)= (0.50∗ ∗0.71) (( )∗( )) 1/2 = 0.828 ดังนั้นจึงสามารถเรียงลำดับเอกสารตามค่าความคล้ายคลึงกันระหว่างข้อคำถามและเอกสารต่างๆ จากมากไปน้อยได้ดังนี้ Doc3, Doc1 และ Doc2

50 ประเด็นน่าสนใจ คำไม่สำคัญอาจจะเป็นประโยชน์ต่อการค้นหาข้อมูลเมื่อใช้ในข้อคำถามบางประเภท คำสำคัญมีประโยชน์ในการพิจารณาความหมายที่แท้จริงของข้อความ บางกรณีตัดคำที่ไม่สำคัญทิ้งไป อาจจะทำให้เหลือข้อความเหมือนกัน แต่ความหมายที่แท้จริงไม่เหมือนกัน

51 สรุปเนื้อหาประจำบท การเปลี่ยนรูปคำ ซึ่งมี 2 วิธีคือ การตัดส่วนขยาย (Stemming) และการเปลี่ยนรูปคำให้อยู่ในรูปแบบดั้งเดิม (Lemmatization) หลักการของคำที่ไม่สำคัญ (Stop words) การทำดัชนี แบบต่างๆ การคำนวณหาความคล้ายคลึงกันระหว่างคิวรี่และเอกสาร โดยมีการใช้น้ำหนักของคำมาคำนวณ


ดาวน์โหลด ppt Information Retrieval

งานนำเสนอที่คล้ายกัน


Ads by Google