kroomsa
1.0.0
好奇心旺盛な人のための検索エンジン。これは、セッション中に関連性がありながらも興味深いコンテンツをユーザーに提供することで、ユーザーの関心を引くように設計された検索アルゴリズムです。
Web サイトに実装されている検索アルゴリズムは、訪問者のエンゲージメントに大きな影響を与えます。適切に実装すると、すべてのクエリに対する Google などの標準検索エンジンへの依存が大幅に軽減され、エンゲージメントが向上します。従来の方法では、クエリ内の用語や語句を調べて、構文一致に基づいて関連コンテンツを見つけます。 Kroomsa はセマンティック マッチングを使用して、クエリに関連するコンテンツを見つけます。 Kroomsa の動機とその技術的側面について詳しく説明したブログ投稿があります。
python3 ./setup.py
を実行します。/vectorizer
ディレクトリに zip ファイルを抽出します。/config
bot_codes
パラメーターの下に、 "client_id client_secret user_agent"
という形式で、 ,
で区切られたリスト要素として追加します。python3 -m pip install -r ./preprocess_requirements.txt
python3 ./pre_processing/scraping/questions/scrape_questions.py
を実行します。これは、サブレディットを開始するまで順次スクレイピングするスクリプトを起動し、送信内容を JSON オブジェクトとして/pre_processing/scraping/questions/scraped_questions
に保存します。次に、スクレイピングされた送信を、登録されているボットのインスタンスと同じ数の同じ部分に分割します。bot_codes
を入力した後、送信のスクレイピング中に作成されたパーティション化された送信ファイルを使用してコメントのスクレイピングを開始できます。次のコマンドを使用します: python3 ./pre_processing/scraping/comments/scrape_comments.py
コメント ストリームを同時にフェッチする複数のプロセスが生成されます。python3 ./pre_processing/db_insertion/insertion.py
を使用します。投稿とそれに関連するコメントを mongo に挿入します。python3 ./post_processing/post_processing.py
を実行します。クリーニングとは別に、各送信オブジェクトに絵文字も追加します (この動作は構成可能です)。python3 ./index/build_index.py
を実行します。デフォルトでは、網羅的なIDMap, Flat
インデックスが作成されますが、 /config
を通じて構成できます。/mongo_dump
にデータベース・ダンプが必要です。ルート ディレクトリで次のコマンドを使用して、データベース ダンプを作成します。 mongodump --db database_name(default: red) --collection collection_name(default: questions) -o ./mongo_dump
。python3 -m pip install -r ./inference_requirements.txt
gunicorn -c ./gunicorn_config.py server:app
/config
で、 demo_mode
True
に設定します。docker-compose build
docker-compose up
このプロジェクトは、Apache License Version 2.0 に基づいてライセンスされています。