Tự xây dựng công cụ tìm kiếm toàn văn bằng 150 dòng mã Python
(bart.degoe.de)Một bài viết giải thích từng bước những nền tảng cơ bản của công cụ tìm kiếm, không dùng kỹ thuật quá đặc biệt, dựa trên toàn bộ dữ liệu tiêu đề + tóm tắt của Wikipedia tiếng Anh
-
Tạo đối tượng Abstract để chuẩn bị dữ liệu
-
Tạo Index: token hóa và lọc
→ chữ thường
→ rút gọn từ gốc (Stemming)
→ loại bỏ 25 từ được dùng nhiều nhất trong tiếng Anh (the,be,to,of,a..)
-
Tạo chức năng tìm kiếm cơ bản
-
Thêm tính năng độ liên quan: Term Frequency (từ đó xuất hiện nhiều đến mức nào trong phần tóm tắt)
-
Thêm Inverse Document Frequency: số lượng tài liệu khác được liên kết với tài liệu này
Mã nguồn: https://github.com/bartdegoede/python-searchengine
1 bình luận
Tìm kiếm chuỗi mờ có hỗ trợ cả tìm kiếm phụ âm đầu tiếng Hàn https://vi.news.hada.io/topic?id=3631
Bài viết này hoàn toàn khác về nền tảng kỹ thuật và cách triển khai, nhưng vì giải thích chi tiết từng bước những phần cơ bản nên tôi đã đọc rất thú vị.
Có khá nhiều thư viện Python triển khai nghiêm túc hơn các chức năng liên quan như tìm kiếm toàn văn/topic modeling/lập chỉ mục tài liệu/độ tương đồng.
Whoosh : https://pypi.org/project/Whoosh/
GenSim : https://github.com/RaRe-Technologies/gensim
SQLite có phần mở rộng Full-Text-Search riêng.