150 satırlık Python koduyla Full-Text arama motoru yapmak
(bart.degoe.de)İngilizce Wikipedia başlık+özet tam veri setini kullanarak, özel bir teknikten ziyade bir arama motorunun temellerini adım adım anlatan bir yazı
-
Veri hazırlamak için
Abstractnesnesi oluşturma -
İndeks oluşturma: token’lara ayırma ve filtreleme
→ küçük harf
→ kök bulma (stemming)
→ İngilizcede en sık kullanılan 25 kelimeyi hariç tutma (the, be, to, of, a..)
-
Temel aramayı oluşturma
-
İlgililik özelliği ekleme: Term Frequency (ilgili kelimenin özette ne kadar sık kullanıldığı)
-
Inverse Document Frequency ekleme: bu belgeye bağlı diğer belgelerin sayısı
1 yorum
Hangıl ilk ses aramasını da destekleyen bulanık dizge araması https://tr.news.hada.io/topic?id=3631
Bu yazı teknik temel veya uygulama açısından tamamen farklı olsa da, temel kısımları adım adım ayrıntılı biçimde anlattığı için keyifle okudum.
Bu tür full-text search/konu modelleme/doküman indeksleme/benzerlik ile ilgili işlevleri biraz daha kapsamlı biçimde gerçekleştiren birkaç Python kütüphanesi var.
Whoosh : https://pypi.org/project/Whoosh/
GenSim : https://github.com/RaRe-Technologies/gensim
SQLite için ayrı bir Full-Text-Search eklentisi bulunuyor.