สร้างเอนจินค้นหาแบบ Full-Text ด้วยโค้ด Python 150 บรรทัด
(bart.degoe.de)บทความที่อธิบายพื้นฐานของเสิร์ชเอนจินทีละขั้นตอน โดยใช้ข้อมูลทั้งหมดจากชื่อเรื่อง+บทสรุปของ Wikipedia ภาษาอังกฤษ และไม่ได้ใช้เทคนิคพิเศษอะไร
-
เตรียมข้อมูลด้วยการสร้างอ็อบเจ็กต์
Abstract -
สร้าง Index : ทำ Tokenization และ Filtering
→ ตัวพิมพ์เล็ก
→ การทำ Stemming
→ ตัด 25 คำที่ใช้บ่อยที่สุดในภาษาอังกฤษออก (the,be,to,of,a..)
-
สร้างการค้นหาพื้นฐาน
-
เพิ่มฟังก์ชันความเกี่ยวข้อง : Term Frequency (คำนั้นถูกใช้บ่อยแค่ไหนในบทสรุป)
-
เพิ่ม Inverse Document Frequency : จำนวนเอกสารอื่นที่เชื่อมโยงกับเอกสารนี้
1 ความคิดเห็น
การค้นหาสตริงแบบฟัซซีที่รองรับการค้นหาพยัญชนะต้นของภาษาเกาหลีด้วย https://th.news.hada.io/topic?id=3631
แม้ว่าพื้นฐานทางเทคนิคหรือการนำไปใช้จริงจะแตกต่างจากบทความนี้โดยสิ้นเชิง แต่เป็นบทความที่อธิบายส่วนพื้นฐานอย่างละเอียดเป็นลำดับขั้น จึงอ่านได้อย่างเพลิดเพลิน
มีไลบรารี Python หลายตัวที่นำฟังก์ชันเกี่ยวกับการค้นหาแบบเต็มข้อความ/topic modeling/document indexing/ความคล้ายคลึง ไปใช้งานอย่างจริงจังมากขึ้น
Whoosh : https://pypi.org/project/Whoosh/
GenSim : https://github.com/RaRe-Technologies/gensim
SQLite มีส่วนขยาย Full-Text-Search แยกต่างหากอยู่แล้ว