Lecture Notes: Information Retrieval #1

พยายามจดเลคเชอร์ลงบล็อก แต่เหมือนว่าจะไม่ค่อยสำเร็จ ช่วงไหนมีใจก็ต้องรีบเขียนเดี๋ยวไฟมอด

วิชานี้ชื่อ Information Retrieval ซึ่งอธิบายเป็นภาษาบ้านๆ ได้ว่าเป็นวิชา search engine นั่นเอง

บล็อกอันนี้ไม่เชิงเป็นเลคเชอร์ แต่เป็นช็อตโน้ตประกอบการอ่านตำรา (ใช้หนังสือ Modern Information Retrieval) มากกว่า Information Retrieval (หรือตัวย่อในวงการ IR) สนใจว่าเราจะ "ได้รับ" (retrieval) ข้อมูลที่ต้องการมาได้อย่างไร ในหนังสือยังใช้อีกคำนึงที่ดีกว่านั่นคือ "ไขว่คว้า" (persuade) ซึ่งไม่ว่าจะเรียกอะไรก็ตาม มันมี 2 วิธีใหญ่ๆ

  • Seeking หรือการ "ค้น" นั่นเอง เราคุ้นเคยกับ search engine แต่จริงๆ แล้ว SQL Query หรือการทำ filter ก็นับอยู่ในหมวดนี้ หลักการมีง่ายๆ ว่าผู้ใช้มีสิ่งที่ต้องการอยู่ในใจแต่แรก แล้ว "ค้น" หามันด้วยวิธีการต่างๆ
  • Browsing ต่างจาก seeking ตรงเจตจำนงค์ browsing คือการไล่อ่านข้อมูลไปเรื่อยๆ โดยไม่ต้องการอะไรเป็นพิเศษ พอเจอสิ่งที่น่าสนใจก็นำเอาข้อมูลนั้นมาใช้ อารมณ์เดียวกับเวลาไม่มีอะไรทำแล้ว browse ไปเรื่อยๆ นั่นเอง

มาแยกย่อยดูในรายละเอียด สำหรับการ seeking เราแบ่งหมวดย่อยตามคุณสมบัติได้อีก 2 แบบ

  • Ad hoc - การค้นหาที่ตัวเอกสารคงเดิม แต่ query เปลี่ยนไป
  • Filtering - การค้นหาที่ตัว query คงที่ แต่เอกสารเปลี่ยนแปลง

ถ้าแยกตามวิธีการก็แยกได้มากแบบ เอาเฉพาะวิธีคลาสสิค 3 แบบพอ (เพราะวิธีอื่นๆ ผมอ่านไม่รู้เรื่อง :P)

  • Boolean - อันนี้เด็กคอมคงคุ้น มันคือการหาโดยใช้เงื่อนไขว่าใช่หรือไม่ (เป็น binary) ข้อดีคือเรียบง่ายสวยงาม แต่ข้อเสียก็คือบอกได้แค่ว่าใช่หรือไม่ ไม่สามารถบอกคุณภาพการค้นหาได้ (ทำ partial matching ไม่ได้)​ และอาจได้ผลลัพธ์ที่ too few หรือ too many
  • Vector - ปัจจุบันนิยมใช้วิธีนี้ เอาวิชา Matrix มาใช้คำนวณ (เวกเตอร์ x เวกเตอร์) สามารถบอกน้ำหนักของผลการค้นหาได้
  • Probability - เอาวิชาความน่าจะเป็นมาใช้ โดยทำ iteration หรือ refine ไปเรื่อยๆ (ยิ่งทำยิ่งแม่น) ข้อเสียก็คือต้องทำ initial guess อย่างน้อยหนึ่งครั้งถึงผลการค้นหาจะพอใช้งานได้ ความแม่นใกล้เคียงกับแบบ Vector ส่วนวิธีไหนจะชนะยังเป็นที่กังขา

ส่วน Browse นั้นก็แยกได้ 3 แบบเช่นกัน

  • Flat - อ่านข้อมูลเรียงไปเรื่อยๆ เหมือนเราอ่านนิยาย ข้อมูลไม่มีโครงสร้าง (structure) ใดๆ
  • Structure - ข้อมูลมีลำดับชั้นตามโครงสร้าง ตัวอย่างง่ายๆ คือตำราเรียนที่มีบอกบท หัวข้อ และหัวข้อย่อย
  • Hypertext - ข้อความที่เขียนหรือพิมพ์ลงกระดาษ (written text) มีข้อเสียตรงที่มันต้องเป็นไปตามลำดับ (sequential) ถึงแม้เราจะต้องการข้อมูลแค่เพียงบางส่วนของข้อความ แต่เราก็ต้องอ่านเรียงตามลำดับไปอยู่ดี ด้วยเหตุนี้จึงมีคนคิด hypertext (แปลว่าเหนือกว่า text) คือมีคุณลักษณะของลิงก์ที่สามารถข้ามไปยังจุดที่ต้องการได้ แนวคิดนี้มาพูดในปัจจุบันอาจดูไม่แปลก แต่นี่เป็นคอนเซปต์มาตรฐานสำหรับคนที่ไม่รู้ว่า H ใน HTTP มันหมายถึงอะไร

ตอนแรกก็ไว้แค่นี้ก่อน เจอกันอีกทีเมื่อชาติต้องการ

Comments

เคยจดแบบนี้กับ bact' เลยลงบล็อก
ทำได้ไม่นานเรียนจบเข้าทำงานเลยเลิกไป -_-"

Pursuit รึเปล่าครับ
Persuade น่าจะแปลว่า โน้มน้าว มากกว่า

ไม่มั่นใจอยู่ดี แฮะ ๆ ทักเฉย ๆ

Add new comment