エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

情報検索

検索エンジンPyTerrierを使った日本語検索パイプラインの実装

PyTerrierの紹介とPyTerrierで日本語検索を実装する方法を紹介します。

ElasticsearchのMore like this内部実装とパフォーマンス問題の解決

LuceneのMore like this(MLT)機能のコードリーディングでMLTの実装を理解して、エムスリーで問題になっていたMLTパフォーマンス問題を解決したお話

Cascade Model に適用する Bandit Algorithms の理論と実装

Cascade Modelに多腕バンディットを適用したアルゴリズムを調べたので、Pythonによる実装とともに紹介していきます。

ユーザー投稿型ドキュメントのタイトル多様性を考慮した検索リランキングを試す

エムスリーエンジニアリンググループ AI・機械学習チームでソフトウェアエンジニアをしている中村(po3rin) です。好きな言語はGo。情報検索系の話が好物です。今回は多様性を考慮したリランキング手法と実際にPythonで実装を試した話をします。

検索エンジンのABテストで発生するユーザー内相関を突破する

私が検索エンジンのABテストでハマってしまったユーザー内相関の落とし穴を突破する方法を紹介します。

エムスリー AI・機械学習チームのSIGIR'21推し論文を紹介するぜ!

SIGIR'21ワイワイ祭を開催したのでメンバーが担当したセッションごとに推し論文の紹介をします。

検索基盤チームのElasticsearch×Sudachi移行戦略と実践

エムスリー検索基盤チームのSudachi移行の背景とや移行時のプロセスをお紹介します。

Luceneのメモリ上でのインデックス構造とその仕組み

Luceneのインメモリ転置インデックスのデータ構造の仕組みについて紹介します。

エムスリーが技術書典11で新刊を出します

今回技術書典にエムスリーの有志で参加することになりました。近年ホットなRustや機械学習、k8s、検索、ハイパーカジュアルゲームといったワードで、今回も多様な分野・技術について弊社スタッフが執筆いたしました。

分散密ベクトル探索エンジンValdとSentence-BERTを使った類似文書検索を試す

ValdとSentence-BERTを使った類似文書検索を試してみました。

Google AnalyticsのBigQuery Exportを使って検索ログデータ分析基盤を構築した

今回は検索改善タスクのために検索ログデータ分析基盤を構築したお話をします。また他チームとのコミュニケーションで工夫した点もお話できればと思います。

Elasticsearchで関連キーワード機能がどれだけ低コストで実装できるかの旅路

Elasticsearchを使ってどれだけ低コストで関連キーワード機能を実装できるかを試したのでご紹介します。

クエリ修正を考慮した検索評価指標sDCGを使ってユーザーの検索体験を監視をしたい

検索評価指標の1つであるsDCGを使ってエムスリーの検索ログから体験の悪かった検索セッションを抽出してみました。

GiNZAと患者表現辞書を使って患者テキストの表記ゆれを吸収した意味構造検索を試した

Elasticsearchや、GiNZA、患者表現辞書を使った意味構造検索がどのくらい有効かを試したので、概要と実装方法を簡単にご紹介します。

【Lucene コードリーディングから学ぶ Elasticsearch】 ハイライト&フラグメンターの仕組み

エムスリーでは検索エンジンとしてElasticsearchを利用しているのですが、フラグメント機能でとある問題が発生しました。その問題を解決する中でElasticsearch Highlighting の内部的な仕組みをコードベースで調べたので共有します。