710 likes | 1.43k Views
อ . วชิระ หล่อประดิษฐ์. การจัดทำดรรชนี. ขั้นตอนการประมวลผลของ IR. การทำดรรชนี (Indexing) เป็นการสร้างตัวแทนเอกสาร การจัดรูปแบบคำสอบถาม (Query Formulation) เป็นการสร้างตัวแทนคำสอบถาม การเทียบเคียงจับคู่ (Matching) เป็นจับคู่ระหว่างตัวแทนคำสอบถามกับตัวแทนเอกสาร
E N D
อ.วชิระ หล่อประดิษฐ์ การจัดทำดรรชนี
ขั้นตอนการประมวลผลของ IR • การทำดรรชนี (Indexing) เป็นการสร้างตัวแทนเอกสาร • การจัดรูปแบบคำสอบถาม (Query Formulation) เป็นการสร้างตัวแทนคำสอบถาม • การเทียบเคียงจับคู่ (Matching) เป็นจับคู่ระหว่างตัวแทนคำสอบถามกับตัวแทนเอกสาร • การเลือก (Selection)รายการผลลัพธ์ที่ตรงประเด็น • การปรับเปลี่ยนคำสอบถามใหม่ (Query Reformulation) เป็นค้นหาในรอบต่อไป
นักทำดรรชนี • นักทำดรรชนีมีหน้าที่ในการวิเคราะห์เอกสารและกำหนดรายการคำศัพท์ดรรชนี บทพื้นฐานความรู้เกี่ยวกับเนื้อหาของเอกสาร • และนักทำดรรชนียังมีหน้าที่ในการวิจารณ์หนังสือดรรชนี หรือดรรชนีในรูปแบบอื่นๆ รวมทั้งการฝึกอบรมเกี่ยวกับการสร้างดรรชนีอีกด้วย • นักทำดรรชนีจะใช้เวลาประมาณกึ่งหนึ่งของเวลางานในการจัดทำดรรชนี • นักทำดรรชนีเป็นผู้ที่ทีภูมิหลังทางการศึกษาและประสบการณ์แตกต่างกัน
คุณสมบัติของนักทำดรรชนีคุณสมบัติของนักทำดรรชนี • ต้องมีความรู้ความเข้าใจในองค์ความรู้แขนงที่จะทำดรรชนีและความรู้ที่เกี่ยวข้องสัมพันธ์กัน เช่น การทำดรรชนีเกี่ยวกับคอมพิวเตอร์ผู้จัดทำจะต้องเข้าใจคำศัพท์ด้านคอมพิวเตอร์ที่ชัดเจน • ต้องมีความรู้ ความชำนาญเกี่ยวกับการจัดทำดรรชนี • ต้องมีความรู้ความเข้าใจเกี่ยวกับผู้ใช้ ว่ามีความต้องการในการค้นหาเอกสารต่างๆ อย่างไรให้ง่ายที่สุด
ความหมายของการทำดรรชนีความหมายของการทำดรรชนี • ดรรชนี(Index) เป็นเครื่องมือ หรือ หน้าที่เครื่องช่วยค้น หรือเครื่องมือชี้ไปสู่ข้อมูลและแหล่งข้อมูลที่ผู้ใช้ประสงค์ • ดรรชนี คือ กลไกเชิงภาษาประเภทหนึ่ง มีฐานะเป็นตัวแทนสาระของเอกสารและมีบทบาทในการเป็นเครื่องมือช่วยค้นหรือแนะผู้ใช้ไปสู่เอกสารหรือข้อมูลที่ตรงกับความต้องการ • การทำดรรชนี (Indexing) คือ กระบวนการการสร้างตัวแทนสาระของเอกสาร โดยมีนักทำดรรชนี (Indexer) เป็นผู้วิเคราะห์เอกสารและระบุตำแหน่ง โดยผลลัพธ์ที่ได้คือ รายการดรรชนี (Index entry) หรือคำค้น (Index term)
ความสำคัญของการทำดรรชนีความสำคัญของการทำดรรชนี • การทำดรรชนีเป็นการสร้างความเป็นไปได้ในการเข้าถึงข้อมูล • ระบบดรรชนีที่มีคุณภาพนับเป็นปัจจัยสำคัญที่ช่วยประหยัดเวลาและลดค่าใช้จ่ายในการแสวงหาสารสนเทศ • การจัดทำดรรชนีเป็นกระบวนการทางปัญญาที่มีผลในการเพิ่มมูลค่าให้กับเอกสารข้อมูลต่าง
วัตถุประสงค์ของการจัดทำดรรชนีวัตถุประสงค์ของการจัดทำดรรชนี • เพื่อสร้างตัวแทนสาระของเอกสารให้อยู่ในรูปที่เหมาะสมต่อการบันทึกไว้ในฐานข้อมูล • ฐานข้อมูลในการจัดเก็บมีได้หลายรูปแบบ เช่น หนังสือ บัตรรายการที่จัดเรียงในตู้ หรือฐานข้อมูลคอมพิวเตอร์ เป็นต้น • เพื่อที่จะช่วยให้ผู้ใช้ประหยัดเวลาและแรงงานในการเข้าถึงข้อมูลที่ตรงกับความต้องการ
ตัวอย่างดรรชนีท้ายเล่มตัวอย่างดรรชนีท้ายเล่ม
ขอบเขตของดรรชนีและการจัดทำดรรชนีขอบเขตของดรรชนีและการจัดทำดรรชนี • อินเทอร์เน็ตเป็นดรรชนีที่มีขอบเขตกว้างขวางที่สุด • ดรรชนีท้ายเล่มหนังสือ ถือว่าเป็นดรรชนีที่แคบที่สุด เพราะเข้าถึงข้อมูลได้เฉพาะเล่มนั้นๆ เท่านั้น • ดรรชนีจะทำหน้าที่สมบูรณ์ก็ต่อเมื่อ มีข้อมูลเพื่อการเข้าถึงลักษณะทางกายภาพ (Physical access) เช่น ข้อมูลเกี่ยวกับสถานที่พิมพ์ ใครเป็นผู้วิจัย เป็นต้น • ภาษาบรรณานุกรม(Bibliographic language) คือ การอธิบายรายละเอียดต่างๆ เกี่ยวกับหนังสือ หรือเอกสารนั้น
บทบาทของการจัดทำดรรชนีบทบาทของการจัดทำดรรชนี เอกสารที่จะทำดรรชนี ปัญหาจากผู้ใช้ กฎเกณฑ์ของระบบ วิเคราะห์เนื้อหาของเอกสาร วิเคราะห์/ตีความคำถาม คลังศัพท์ จัดทำรายการดรรชนี แปลงเป็นคำแทนสาระของคำถาม ปรับ/แก้ไข ปรับ/แก้ไข ฐานข้อมูล กลไกเปรียบเทียบ แฟ้มคำถาม รายการที่ค้นได้ ไม่พึงพอใจ ไม่พึงพอใจ ตรวจสอบ/ประเมิน พอใจ ยุติ
บทบาทของการจัดทำดรรชนีบทบาทของการจัดทำดรรชนี • เอกสารทุกชนิด ก่อนที่จะได้รับการจัดสรรเข้าระบบ จะต้องผ่านกระบวนการจัดทำดรรชนีก่อน • โดยเอกสารใหม่ก่อนนำเข้าสู่ตำแหน่งที่วางเอกสาร จะต้องมีสร้างคำแทนสาระ หรือศัพท์ดรรชนีที่เกิดจากการวิเคราะห์เอกสารก่อน • ในกรณีระบบได้รับคำถามจากผู้ใช้ ระบบจะเปลี่ยนคำถามให้เป็นคำแทนสาระของคำถาม • เมื่อได้คำแทนสาระของเอกสาร จะมีการนำคำแทนสาระและศัพท์ดรรชนีมาเปรียบเทียบกัน • ถ้าหากเหมือนกันระบบจะนำเอกสารนั้นออกมา
ประเภทของดรรชนี • การจำแนกดรรชนี สามารถทำได้หลายวิธี โดยจะดูจากแนวคิดของผู้จัดทำว่าจะจำแนกในลักษณะใด ในการวิเคราะห์แยกแยะ • ในที่นี้จำแนกเป็น 2 ประเภท • ดรรชนีจำแนกตามวิธีการในการจัดทำ • ดรรชนีที่จำแนกตามเงื่อนไขเวลาในการเชื่อมแนวคิด
ดรรชนีที่จำแนกตามวิธีการในการจัดทำดรรชนีที่จำแนกตามวิธีการในการจัดทำ • ใช้วิธีในการพิจารณาวิธีในการจัดทำดรรชนี • แบ่งได้เป็น 2 ประเภท คือ • ดรรชนีที่จัดทำโดยวิธีการนำเอาคำในเอกสารมาเป็นศัพท์ดรรชนี โดยใช้วิธีในการดึงคำจากเอกสารมาทำเป็นศัพท์ดรรชนี • ดรรชนีที่จัดทำขึ้นโดยวิธีการกำหนดคำขึ้นแทนเนื้อหาของเอกสาร ทำการคิดคำขึ้นแทนเอกสารนั้นๆ
ดรรชนีที่จัดทำโดยการนำเอาคำในเอกสารมาเป็นศัพท์ดรรชนีดรรชนีที่จัดทำโดยการนำเอาคำในเอกสารมาเป็นศัพท์ดรรชนี • เป็นการนำเอาคำจากเอกสารมาสร้างเป็นศัพท์ดรรชนี • โดยมีเนื้อหาครอบคลุมดังต่อไปนี้ • ดรรชนีผู้แต่ง (Author index)เป็นดรรชนีที่เป็นชื่อผู้แต่ง มาจัดเรียงตามตัวอักษร
ดรรชนีที่จัดทำโดยการนำเอาคำในเอกสารมาเป็นศัพท์ดรรชนีดรรชนีที่จัดทำโดยการนำเอาคำในเอกสารมาเป็นศัพท์ดรรชนี • ดรรชนีชื่อเรื่อง (Title index) เป็นดัชนีที่แสดงชื่อเรื่องเป็นหลัก จัดเรียงตามตัวอักษร • ดรรชนีคำในบริบท (Keyword in context index) ใช้คำสำคัญจากชื่อเรื่องของเอกสารมาเป็นศัพท์ดรรชนี
ดรรชนีที่จัดทำโดยการนำเอาคำในเอกสารมาเป็นศัพท์ดรรชนีดรรชนีที่จัดทำโดยการนำเอาคำในเอกสารมาเป็นศัพท์ดรรชนี • ดรรชนีเรื่อง (Subject index) การนำคำที่ปรากฏในเนื้อเรื่องออกมาเป็นคำศัพท์ดรรชนี
ดรรชนีที่จัดทำขึ้นโดยวิธีการกำหนดคำขึ้นแทนเนื้อหาของเอกสารดรรชนีที่จัดทำขึ้นโดยวิธีการกำหนดคำขึ้นแทนเนื้อหาของเอกสาร • เป็นการกำหนดคำแทนแนวคิดที่ปรากฏในเอกสาร • คำที่นำมาใช้อาจมีในเอกสารหรือเป็นคำที่อยู่นอกเหนือจากเอกสารนั้นก็ได้ • นักทำดรรชนีจะทำการวิเคราะห์เนื้อหาของเอกสาร แล้วนำเอาคำศัพท์ในคลังศัพท์มาใช้แทนเนื้อหา • เช่น บัญชีหัวเรื่อง
ดรรชนีที่จำแนกตามเงื่อนไขเวลาในการเชื่อมแนวคิดดรรชนีที่จำแนกตามเงื่อนไขเวลาในการเชื่อมแนวคิด • พิจารณาจากเงื่อนไขเวลาในการเชื่อมคำหรือแนวความคิดในการค้นคืนเป็นหลัก • แบ่งได้เป็น 2 ประเภท คือ • ดรรชนีที่มีการเชื่อมแนวคิดไว้ก่อนการค้น(Pre-coordinate index) คือ การกำหนดคำแทนสาระของเอกสารของแต่ละรายการด้วยวิธีการเชื่อมคำศัพท์ให้ตรงกับเนื้อหา • ดรรชนีที่เอื้อต่อการเชื่อมแนวคิดขณะค้น (Post-coordinate index) คือ การกำหนดให้คำแทนสาระของเอกสารแยกออกมาเป็นคำ และใช้คำเชื่อมในการค้นหา
ดรรชนีที่มีการเชื่อมแนวคิดไว้ก่อนการค้นดรรชนีที่มีการเชื่อมแนวคิดไว้ก่อนการค้น • ใช้วิธีการเชื่อมแนวคิดไว้ก่อนการค้นที่เห็นเป็นรูปธรรมชัดเจน • การกำหนดคำแทนสาระของเอกสารของแต่ละรายการด้วยวิธีการเชื่อมคำศัพท์ให้ตรงกับเนื้อหา • ในการค้น ผู้ค้นจะต้องค้นตามสูตรจึงจะพบเอกสารนั้น • เช่น ระบบแคตาล็อก คือ นำรายการทรัพยากรสารสนเทศไว้ในรูปบัตรหรือรูปเล่นหนังสือเพื่อช่วยในการค้นหา ศาสนากับวิทยาศาสตร์ มลพิษทางเสียง-เครื่องบิน ไทย-ประวัติศาสตร์-กรุงรัตนโกสินทร์,2475
ดรรชนีที่เอื้อต่อการเชื่อมแนวคิดขณะค้นดรรชนีที่เอื้อต่อการเชื่อมแนวคิดขณะค้น • ใช้การปล่อยคำแสดงแนวคิดของเอกสารให้เป็นอิสระจากกัน • ใช้คำเชื่อมในการเชื่อมคำเหล่านั้นในขณะค้น เช่น and, or, not • ศัพท์ดรรชนีที่ใช้อาจจะเป็นคำมูล เช่น นก มาลัย หรือเป็นคำประสมก็ได้เช่น ป่าชุมชน ศัลยกรรมพลาสติก ก็ได้ • ระบบนี้มักมีความยืดหยุ่นมากกว่าแบบแรก มลพิษทางเสียง เครื่องบิน แล้วเชื่อมโดย or ในขณะค้น
แบบฝึกหัดระหว่างเรียนแบบฝึกหัดระหว่างเรียน • ให้ทำการตอบคำถามต่อไปนี้ ใบงานที่ 4
การจัดทำดรรชนีโดยอาศัยคอมพิวเตอร์การจัดทำดรรชนีโดยอาศัยคอมพิวเตอร์ • ในยุคเริ่มแรกการสร้างดรรชนี มักทำด้วยมนุษย์โดยใช้กระบวนการต่างๆ • เนื่องจากสารสนเทศมีปริมาณมากขึ้นเรื่อยๆ การทำดรรชนีด้วยมนุษย์จึงทำได้ยาก • ในระยะเริ่มแรกใช้คอมพิวเตอร์ในช่วยในงานเสมียนเท่านั้น เช่น การพิมพ์รายการดรรชนี • เมื่อเทคโนโลยีมีการพัฒนาให้มีประสิทธิภาพสูงขึ้น จึงได้มีการคิดค้นระบบดรรชนีอัตโนมัติขึ้น
การปรับเปลี่ยนกระบวนการในการสร้างดรรชนีด้วยคอมพิวเตอร์การปรับเปลี่ยนกระบวนการในการสร้างดรรชนีด้วยคอมพิวเตอร์ • การปรับเปลี่ยนกระบวนการด้านภาษาดรรชนี คือมีการปรับเปลี่ยนกระบวนการจากการเชื่อมแนวคิดก่อนการค้นมาเป็นการเชื่อมแนวคิดขณะค้น • การปรับเปลี่ยนกระบวนการด้านบทบาทหน้าที่ ได้มีการปรับเปลี่ยนกระบวนการจากรูปแบบการค้นที่สร้างโดยนักทำดรรชนีมาเป็นผู้ใช้เริ่มตีความคำถามได้ด้วยตัวเอง • การปรับเปลี่ยนกระบวนการด้านเทคโนโลยีคอมพิวเตอร์ ปรับเปลี่ยนจากแนวคิดที่ยึดติดกับปัญญาของมนุษย์มาเป็น การยอมรับของกระบวนการต่างๆ จากคอมพิวเตอร์
ขั้นตอนในการใช้คอมพิวเตอร์ในการสร้างดรรชนีขั้นตอนในการใช้คอมพิวเตอร์ในการสร้างดรรชนี • ขั้นตอนที่ 1 มนุษย์พิจารณารูปแบบของการสร้างดรรชนี แล้วกำหนดขอบเขตให้คอมพิวเตอร์รู้จัก เช่น เอาหัวเรื่องมาสร้าง ก็กำหนดหัวเรื่องให้คอมพิวเตอร์รู้จัก • ขั้นตอนที่ 2 บันทึกเอกสารในรูปที่คอมพิวเตอร์เข้าใจ แล้วจะเป็นกระบวนการทำงานของคอมพิวเตอร์ตามคำสั่ง เพื่อให้ได้มาซึ่งดรรชนีที่ต้องการ • ขั้นตอนที่ 3ตรวจสอบ แก้ไข และประเมินผลระบบ
ดรรชนีที่สร้างโดยคอมพิวเตอร์ดรรชนีที่สร้างโดยคอมพิวเตอร์ • ดรรชนีที่สร้างโดยการนำคำในบริบทมาเป็นศัพท์ดรรชนี วิธีการคือ ให้คอมพิวเตอร์อ่าน แล้วข้ามคำที่ไม่สำคัญออกไป หรืออาจจะใช้วิธีการคำนวณความถี่ของคำที่ปรากฏในเอกสาร หรืออาจจะใช้พจนานุกรมในการเปรียบเทียบก็ได้ • ดรรชนีที่สร้างโดยการกำหนดคำขึ้นแทนสาระของเอกสาร เป็นการใช้วิธีการในการพัฒนาเทคโนโลยีคอมพิวเตอร์ให้สามารถวิเคราะห์เนื้อหาและกำหนดค่าแทนสาระของเอกสาร
การจัดทำดรรชนี (Indexing) Documents Lexical Analysis Stop-word Elimination Stemming Term Selection Thesaurus Construction Indexing Index Term
การประมวลผลข้อความ • การประมวลผลข้อความ หมายถึง การปฏิบัติตามกรรมวิธี เพื่อนำผลที่ได้มาสร้างดรรชนี (Indexing) อันจะทำให้การค้นหา (Searching) ในขั้นตอนต่อไปเป็นไปอย่างรวดเร็ว • โดยมีขั้นตอนหลัก ต่อไปนี้ • การวิเคราะห์คำ (Lexical Analysis) • การขจัดคำโหล (Stop-words) • การหารากศัพท์ของคำ (Stemming) • การเลือกเทอมเพื่อสร้างดรรชนี (Term Selection) • การสร้างคำศัพท์สัมพันธ์ (Thesaurus Construction)
การวิเคราะห์คำ (Lexical Analysis) • เป็นการนำประโยคยาวๆ มาตัดออกเป็นคำศัพท์ย่อยๆ • ในภาษาอังกฤษมักจะตัดด้วย ช่องว่าง หรือ . , ; ? ! / เป็นต้น • ในภาษาไทยให้ใช้วิธีการแยก ดังนี้ • พยัญชนะ + สระ เช่น ปี กา ไป • พยัญชนะ + สระ + พยัญชนะปิดท้าย (น ร ล ด ต ธ ท ก ค ง บ ม ป) เช่น ปาก กาว สาว ไกล • พยัญชนะ + พยัญชนะ (น ร ล ด ต ธ ท ก ค ง บ ม ป) เช่น กก กบ กด • พยัญชนะ + สระ + สระ เช่น เรา เสา
ตัวอย่างการวิเคราะห์คำตัวอย่างการวิเคราะห์คำ • Ex. “I am a student of RMUTLL.” • การตัดคำ • นับทีละ 1 ตัวอักษร จะได้คำดังนี้ • I • am • a • student • of • RMUTLL
แบบฝึกหัด • “Pease porridge hot, pease porridge cold.” • “Pease porridge in the pot” • “ฉันเป็นนักศึกษาของมหาวิทยาลัยเทคโนโลยีราชมงคลลำปาง” • “พวกเราเรียนวิชาการค้นคืนสารสนเทศ” • “ฉันเป็นนักศึกษาของมหาวิทยาลัยเทคโนโลยีราชมงคลลำปางและพวกเราเรียนวิชาการค้นคืนสารสนเทศ”
การขจัดคำโหล (Stop-words Elimination) • คำที่พบบ่อยมากในข้อความ เช่น a, an, the, and, about, for เป็นต้น • คำในภาษาไทย เช่น เป็น อยู่ คือ หรือ และ ดังนั้น ฯลฯ • เนื่องจากคำเหล่านี้มีจำนวนมาก จึงไม่จำเป็นที่จะต้องนำมาสร้างดรรชนี
การหารากศัพท์ (Stemming) • คือการนำคำศัพท์มาหาศัพท์หลัก หรือต้นตอของคำศัพท์ • มักปรากฏในข้อความภาษาอังกฤษ เช่น Loads, Loading, Loaded, Loader • จากคำตัวอย่าง มาจากคำว่า Load • มักไม่ปรากฏในภาษาไทย • ในการแยกให้ใช้กฎตามหลักภาษาต่างๆ เช่น –icalให้เปลี่ยนเป็น –icดังตัวอย่าง musical -> music
การเลือกเทอมเพื่อสร้างดรรชนี (Term Selection) • ในอดีตจำเป็นต้องมีผู้เชี่ยวชาญในการเลือกคำศัพท์ • แต่ในปัจจุบันมีระบบคอมพิวเตอร์เข้ามาช่วย ซึ่งวิธีที่ดีที่สุดคือ การเลือกเฉพาะคำศัพท์ (Noun) • โดยใช้วิธีการ แยกคำสรรพนาม กริยา คุณศัพท์ คำวิเศษณ์ ออกมาก่อนอย่างชัดเจน และทำการค้นเอาเฉาพะคำที่ไม่ได้กำหนดไว้ออกมา • เช่น ฉันเป็นนักศึกษาเหมือนกับเขาซึ่งเรียนที่มหาวิทยาลัยเดียวกัน จะได้เป็น นักศึกษา มหาวิทยาลัย
การสร้างคำศัพท์สัมพันธ์ (Thesaurus Construction) • หมายถึง การสร้างฐานข้อมูลคำศัพท์ที่มีความหมายใกล้เคียง หรือเหมือนกัน • หากบริหารจัดการระบบ Thesaurus ได้ดี จะสามารถทำให้ระบบ IR ช่วยในการตั้งคำสอบถามใหม่ หากผลลัพธ์ที่ได้ไม่เป็นที่น่าพอใจ • องค์ประกอบของ Thesaurus • คำศัพท์หลักของชุด • คำที่มีความหมายพ้องกับคำศัพท์หลัก (UF) • ข้อความอธิบายคำศัพท์หลัก (SN) • คำที่มีความสัมพันธ์กับคำหลัก ประกอบด้วย • คำที่เป็นคำต้นสกุลของคำหลัก (TT) • คำที่มีความหมายกว้างกว่าคำหลัก (BT) • คำที่มีความหมายแคบกว่าคำหลัก (NT) • คำที่มีเกี่ยวข้องกับคำหลัก (RT)
ตัวอย่าง Thesaurus ข้อความอธิบายคำศัพท์หลัก • EMPLOYEE • SN Persons identified as working for another, but where the nature of the occupation, business, or industry is not known • UF PERSONEL STAFF WORKERS • BT PEOPLE • NT HOTEL EMPLOYEES RAILROAD EMPLOYEES คำที่มีความหมายพ้องกับศัพท์หลัก คำที่มีความหมายกว้างกว่าคำหลัก คำที่มีความหมายแคบกว่าคำหลัก
การค้นหาในเอกสาร • มีวิธีการค้นหาอยู่ 2 วิธีหลัก • วิธีการกวาดหา (Scan)คือ การกวาดหาคำศัพท์ที่ต้องการในเอกสารทั้งหมด • การสร้างดรรชนีในการค้นหา(Index) คือ การหาคำแทนเนื้อหาของเอกสารนั้น
การสร้างดรรชนีคำศัพท์ (Indexing) • วิธีการใช้แฟ้มผกผัน (inverted Files) เป็นการกวาดคำศัพท์ทั้งหมดในเอกสาร แล้วนำคำศัพท์มาสร้างเป็นพจนานุกรม และแฟ้มข้อมูลตำแหน่ง • การใช้ Suffix Trees และ Suffix Arrays เป็นมองเอกสารทั้งหมดเป็นตัวอักขระ และพิจารณาคำศัพท์ดรรชนีจากส่วนท้ายของ Suffix • การใช้แฟ้มข้อมูลลายเซ็น (Signature Files) เป็นการกำหนดรหัสเฉพาะในคำศัพท์ที่ประกอบขึ้นเป็นเอกสาร เรียกรหัสว่าลายเซ็น
การสร้างแฟ้มข้อมูลผกผันการสร้างแฟ้มข้อมูลผกผัน • ส่วนของพจนานุกรม (Dictionary)ประกอบด้วยคำศัพท์ต่างๆ ไม่ซ้ำกัน โดยมีการจัดเรียงลำดับหรือไม่เรียงก็ได้ • ส่วนของตำแหน่ง (Address) บ่งบอกตำแหน่งของศัพท์ที่ปรากฏในเอกสาร โดยจะเป็นไปตามระบบการจัดเก็บเนื้อหา • ส่วนของเนื้อหา (Text)เป็นข้อมูลของเอกสารที่ต้องการจัดเก็บ
การสร้างแฟ้มข้อมูลผกผันการสร้างแฟ้มข้อมูลผกผัน • ต้องมีการกำหนดคำศัพท์ดรรชนี เพื่อกำหนดตำแหน่งในเอกสาร • โดยมีการอ้างอิงดังรูป Dictionary Address Text
การสร้างแฟ้มข้อมูลผกผันการสร้างแฟ้มข้อมูลผกผัน • Memory-based Inversion เป็นการสร้าง Dictionary โดยการเก็บตำแหน่งของศัพท์ที่ปรากฏในเอกสารลงไปทันที • Sort-based Inversion เป็นการสร้างตำแหน่งแล้วเก็บบน Harddiskแล้วนำข้อมูลนั้นมาจัดเรียงในหน่วยความจำหลักแล้วเก็บลง Harddiskใหม่อีกครั้ง
Memory-based Inversion Algorithm • /*initialization*/ • Create an empty dictionary structure • /*collection of term appearances*/ For each in the collection • Read parsing it into index terms • For each index term • Let be the frequency in of term • Search for • If is not in ,insert it • Append a node storing to the list corresponding to term • /*output of inverted file*/ For each term • Start a new inverted file entry • For each in the corresponding to , append to this inverted file entry • Append this inverted file entry to the inverted file
ตัวอย่างการสร้างแฟ้มข้อมูลผกผัน (Memory-based Inversion) 1 2 3 4 5 6
Sort-based Inversion Algorithm • /*initialization*/ • Create an empty dictionary structure • Create an empty temporary file on disk • /*process text and write temporary file*/ For each document in the collection • Read parsing it into index terms • For each index term • Let be the frequency in of term • Search for • If is not in ,insert it • Write record to the temporary file
Sort-based Inversion Algorithm • /*internal sorting to make runs*/ Let be the number of records that can be held in memory • Read records from the temporary file • Sort into nondecreasing order, and for equal values of , nondecreasing order • Write the sorted run back to the temporary file • Repeat until there are no more runs to be sorted • /*output inverted file*/ For each term • Start a new inverted file entry • Read all from the temporary file and form the inverted file entry for term • Append this inverted file to the inverted file
ตัวอย่างการสร้างแฟ้มข้อมูลผกผัน (Sort-based Inversion)
แบบฝึกหัดระหว่างเรียนแบบฝึกหัดระหว่างเรียน • ให้ทำการสร้าง index อย่างง่าย จากข้อความด้านล่าง โดยไม่ต้องสนใจคำต่อไปนี้ “and, are, all, kind, of, in, is” • ให้นำกระบวนการคิดที่ได้เขียน Flowchart
Work at home! (homework) • ให้นำโจทย์ปัญหาแบบฝึกหัดระหว่างเรียน ไปเขียนโปรแกรม เพื่อทำการสร้างดรรชนี แบบแฟ้มข้อมูลผกผัน ทั้ง • แบบ Memory-base inversion • แบบ Sort-based inversion • นำมาส่งในชั่วโมงสัปดาห์ต่อไป
การใช้ Suffix Trees และ Suffix Arrays • เป็นการมองเอกสารทั้งฉบับว่าเป็นกลุ่มของตัวอักขระเรียงต่อกันยาวอย่างไม่จำกัด • โดยมองตัวอักษรว่าเป็นทุกตัวสามารถรวมกันเป็นคำ 1 คำ • เช่น มีตัวอักษรทั้งหมด 13 ตัวอักษร จะได้ คำทั้งหมด 13 คำ String S = my university S[1] = my university S[8] = ersity S[2] = y university S[9] = rsity S[3] = universityS[10] = sity S[4] = university S[11] = ity S[5] = niversity S[12] = ty S[6] = iversity S[13] = y S[7] = versity
Suffix Trees • เป็นการนำตัวอักษรทุกตัวอักษรมาเรียงต่อกัน • แล้วนำตัวอักษรตัวแรกของคำออกทีละ 1 ตัวอักษร • แล้วนำคำที่ได้ในแต่ละรอบ เก็บบันทึกลงฐานข้อมูล • ตัวอย่างเช่น S = mississippiจะได้ Suffix Tree เป็น S[1] = mississippi S[8] = ippi S[2] = ississippi S[9] = ppi S[3] = ssissippi S[10] = pi S[4] = sissippi S[11] = i S[5] = issippi S[6] = ssippi S[7] = sippi