Information Retrieval

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Texture การประมวลผลภาพแบบดิจิตอล Ian Thomas
Advertisements

Contents ที่มาของปัญหา วัตถุประสงค์ ประโยชน์ที่คาดว่าจะได้รับ
ระบบการจัดเก็บในคลังสินค้า
ตัวอย่างFUZZY. ตัวอย่าง ฐานองคความรูฟซซีสามารถแสดงไดเปน Rule 1: If feature1 is high and feature2 is low and feature3 is medium, then class is 1.
Exercise 4: Page 41.
กรณีศึกษา : งานบริหารและธุรการ คณะแพทยศาสตร์ มหาวิทยาลัยสงขลานครินทร์
การพัฒนาระบบค้นคืนเอกสารอิเล็กทรอนิกส์ สำหรับงานสารบรรณ
CPE 332 Computer Engineering Mathematics II
STACK ADT By Pantharee S.. Stack Model  A list with the restriction that insertions deletions can be performed in only one position (LIFO)  Push – insert.
ผู้ให้สัมมนา นายธเนศ เกษศิลป์ รหัส ภาควิชานิติวิทยาศาสตร์
Chapter 3 Simple Supervised learning
Chapter 1/1 Arrays. Introduction Data structures are classified as either linear or nonlinear Linear structures: elements form a sequence or a linear.
เทคนิกการค้นหาข้อมูลจาก Internet
Mr.Boonsorn Pratomwong
CPE 332 Computer Engineering Mathematics II
Chapter 1 Introduction to Information Retrieval For Web mining.
Indirect Question without Question Word.
Indexing. 2 Accessing Data During Query Evaluation Scan the entire collection Typical in early batch retrieval systems Still used today, in hardware form.
Present Continuous.
คำสั่งจัดการคำและ รายการ. คำสั่ง WORD ใช้รวมคำ รูปแบบ คือ Word “ คำ 1 “ คำ 2 เช่น print word “pen “cil  pencil ** ถ้าต้องการเขียนมากกว่า 2 คำ ให้ ใส่วงเล็บครอบ.
CPE 332 Computer Engineering Mathematics II Chapter 1 Vector.
ภาษาอังกฤษ อ่าน-เขียน 2
ภาษาอังกฤษ อ่าน-เขียน 2
การออกแบบและสร้างสรรค์ สภาพแวดล้อม ผศ. สมสกุล จีระศิลป์
CPE 332 Computer Engineering Mathematics II
Database and Application Development Life Cycle 2.
Computer Project I โครงงานด้านวิศวกรรมคอมพิวเตอร์ 1 1(0-3)
Image Processing Course
Eigenvalue & Eigenvector. 1. Get to know: Eigenvalue & Eigenvector 2. Estimation of Eigenvalue & Eigenvector 3. Theorem.
การค้นคืนสารสนเทศ สัมมนาเข้ม ชุดวิชาการจัดเก็บและการค้น คืนสารสนเทศ สมพร พุทธาพิทักษ์ผล 16 กรกฎาคม 2548.
CPE 332 Computer Engineering Mathematics II
These examples show that the subject is doing the verb's action.
Image Enhancement and Restoration
Image Processing Course
Assoc. Prof. Dr. Peerapol Yuvapoositanon
แบบฝึกหัด Relative clauses
ตัวชี้วัดที่ 5 : ระดับความสำเร็จของการดำเนินการตามมาตรการประหยัดน้ำ
เทคนิคการสืบค้น … อย่างมืออาชีพ
Chapter Objectives Concept of moment of a force in two and three dimensions (หลักการสำหรับโมเมนต์ของแรงใน 2 และ 3 มิติ ) Method for finding the moment.
คิดไว สรุปไว ด้วย MIND MAP ยินดีต้อนรับผู้เข้าร่วมสัมมนาหลักสูตร
วิชาเขียนแผนที่(Cartography)
(Symmetrical Components)
Chapter 8 Classification อาจารย์อนุพงศ์ สุขประเสริฐ
ห้องประชุมออนไลน์ Online Conference
Adjective Clause (Relative Clause) An adjective clause is a dependent clause that modifies head noun. It describes, identifies, or gives further information.
ยุคแรก ยุคแรก Motorola DynaTAC 8000X (1983)
การออกแบบระบบ System Design.
นวัตกรรมการบริการสารสนเทศ ในยุคประเทศไทย 4.0
Rewrite by Burin Rujjanapan Updated:
การคลังและงบประมาณ นายธเนศ บริสุทธิ์.
Tourism Industry Vs Retail Business in Thailand Suan Sunandha Rajabhat University Bangkok, Thailand January 13, 2019.
ความต้องการสารสนเทศ (Information need)
แนวทางการดำเนินงานเสริมสร้างและพัฒนาศักยภาพองค์กรเกษตรกร ปี 2559
ของนักศึกษาระดับชั้น ปวส. พิเศษ 1/5 สาขาการจัดการธุรกิจค้าปลีก
เรียนคำศัพท์ 5 Daily Activities
แผนที่ทางเดินยุทธศาสตร์
1 ยอห์น 1:5-7 5 นี่เป็นเรื่องราวซึ่งเราได้ยินจากพระองค์และประกาศแก่ท่าน คือพระเจ้าทรงเป็นความสว่าง ในพระองค์ไม่มีความมืดเลย 6 ถ้าเราอ้างว่ามีสามัคคีธรรมกับพระองค์แต่ยังดำเนินในความมืด.
กระบวนการหนังสือราชการ สำนักโรคติดต่อทั่วไป
ปฏิบัติการที่ 05 การดำเนินการกับเมทริกซ์
Information Retrieval
บทที่ 8 ตัวแบบมาร์คอฟ.
ผลการดำเนินงาน ตามแผนยุทธศาสตร์การพัฒนาระบบการส่งเสริมสุขภาพและอนามัยสิ่งแวดล้อมแห่งชาติ ในช่วงแผนพัฒนาเศรษฐกิจและสังคมแห่งชาติ ฉบับที่ 12 (พ.ศ.2560 –
Concept behind VSEPR Molecular geometries Lecture 25: VSEPR
01 การจัดเก็บและค้นคืนสารสนเทศ พัฒนาการ.
Information Retrieval
คัดสรรกิจกรรมพัฒนาชุมชนดีเด่น ประจำปี 2562
นางสาวกฤษฎาวรรณ ศิวิวงศ์ วิทยาลัยเทคโนโลยีโปลิเทคนิคลานนา เชียงใหม่
Information Retrieval
การจำลองความล้นเกินของงาน
การวิเคราะห์และออกแบบขั้นตอนวิธี
ใบสำเนางานนำเสนอ:

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

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

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

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

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

การตัดส่วนขยาย (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)

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

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

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

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

การทำดัชนีจากตำแหน่งคำ (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>;

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

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

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

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

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

ตัวอย่างที่ 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

ตัวอย่างที่ 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 สมมุติให้ความสัมพันธ์ระหว่างคำและเอกสารเป็นดังตารางด้านล่าง

ตัวอย่างที่ 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 ของข้อมูลแต่ละชุดในหน่วยความจำหลักจากน้อยไปมาก

ตัวอย่างที่ 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 ลงบนฮาร์ดดิสก์ ฮาร์ดดิสก์

ตัวอย่างที่ 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 ของทุกชุดข้อมูลเป็นไฟล์เดียวกัน

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

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

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

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

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

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

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

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

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

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

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

การให้น้ำหนักแบบ 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

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

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

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

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

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

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

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

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

การวัดความคล้ายคลึงกันระหว่างคิวรี่และเอกสาร (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)

การวัดความคล้ายคลึงโดยใช้ 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)

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

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

การวัดความคล้ายคลึงโดยใช้ 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)

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

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

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

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

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