エムスリーテックブログ

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

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

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

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

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

Goによる動的なJSON生成パターンの比較検討~Elasticsearch Query生成機構を求めて~

Go

今回はElasticsearchのクエリ生成を例に、JSON生成パターンをまとめて検討していきます

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

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

LLRを使った複合語分割で医療用語辞書を検索特化させたい

医療用語辞書を検索特化させるために統計的複合語分割を試したお話です

エムスリー 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、患者表現辞書を使った意味構造検索がどのくらい有効かを試したので、概要と実装方法を簡単にご紹介します。

Go で Chrome Bookmark Fuzzy-finder を作ってたら無限ネスト JSON を平らにしてた

Go

Google Chromeのブックマークをfuzzy-findingできるツール ***bmfzf*** を作りました。今回はGoでfuzzy-findingツールを作る方法と、Chromeブックマークのような無限ネストJSONをVisitor patternでスライスにパースする方法などを紹介します。

IaCを意識したCLI開発のエッセンス

〇〇をファイルで宣言的に管理 したい。そのようなツールを開発 するときは少しコツが必要です。

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

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