30 ポイント 投稿者 xguru 2021-04-05 | 1件のコメント | WhatsAppで共有

英語版Wikipediaのタイトル+要約の全データを使い、特別な技術ではなく検索エンジンの基礎を一歩ずつ説明した記事

  1. Abstractオブジェクトを作ってデータを準備

  2. Indexを生成 : トークン化およびフィルタリング

→ 小文字化

→ ステミング(Stemming)

→ 英語で最もよく使われる25個の単語を除外(the,be,to,of,a..)

  1. 基本検索を作る

  2. 関連度機能を追加 : Term Frequency(要約文でその単語がどれだけ多く使われたか)

  3. Inverse Document Frequencyを追加 : この文書に関連付けられた他の文書の数

コード : https://github.com/bartdegoede/python-searchengine

1件のコメント

 
xguru 2021-04-05

ハングルの初声検索にも対応したファジー文字列検索 https://ja.news.hada.io/topic?id=3631

この記事とは技術的な基盤や実装はまったく異なりますが、基礎的な部分を段階的に詳しく説明した記事なので、興味深く読みました。

このような全文検索/トピックモデリング/ドキュメントインデキシング/類似度に関連する機能を、もう少し本格的に実装した Python ライブラリはいくつかあります。

SQLite には Full-Text-Search 拡張があります。