Search Engineering Newsletter vol.05

5 回目のニュースレター配信です。更新頻度を保つために、1 時間で読めるだけ記事を読んで配信していくスタイルに次回からしようと思いました。 本格的に精読したい面白い記事が来ると一時間なんて一瞬で潰れてしまう… Search Introducing Natural Language Search for Podcast Episodes Spotify が Podcast 検索において text matching の従来の検索エンジンではなく、ニューラル検索を導入した解説記事。 ニューラル検索の実運用例として面白かったので、以下に抄訳として内容をまとめた。 Beyond term-based Search 「electric cars climate impact」と自然言語のクエリを Elasticsearch に投げても何も検索結果が表示されなかった…だが検索されなかったのは、Spotify 上の Podcast に関連する内容がなかったからなのだろうか? NOTE:個人的に本当に結果が出なかったのかは気になるところではある。ワードの完全一致ならともかく、BoW や BM25 で検索すれば結果は出るのでは…? Natural Language Search 自然言語検索(Natural Language Search、またの名を意味検索(Semantic Search) と呼ばれる技術について調査を始めた。すごくざっくり言えば、従来ではクエリとドキュメントの単語の一致によって検索を行っていたが、意味検索ではクエリとドキュメントの意味的な相関によって検索を行う。 実際の検索結果の例を見ても、クエリのすべての単語が Podcast のタイトルには含まれていない(Elasticsearch が検索結果を出さない理由でもある)が検索結果として妥当なことがわかる。 Technical solution これらの結果を実現するために深層学習の技術である、自己教師学習と Transformer を利用、そしてそれらの結果を高速に提供するために近似近傍探索(Approximate Nearest Neighbor (ANN))を利用する。 共通の埋め込み空間上で、クエリのベクトルに近い Podcast を検索結果として計算する。また、Podcast の題目、説明文、そして親ポッドキャストのテキスト情報などを連結して特徴量とする。 Picking the right pre-trained Transformer model for our task BERT のような Transformer モデルは、自然言語処理タスクでは現在最高峰の性能を誇っている。 BERT は 2 つの観点から高性能になっている...

May 2, 2022 Â· Shunya Ueta

Search Engineering Newsletter vol.04

Search Engineering Newsletter - revue で 3 回配信してみた結果、自分のウェブサイトから情報配信することと、ニュースレターを通じた情報発信はあまり変わらないなと感じた。 結論 Revue での配信はやめて自分のブログでニュースレターを発信することにしました。 メール配信ではないのでニュースレターと読んでいいかはわかりませんが… ニュースレターの記事をtagとしてまとめた記事一覧はこちらです。 https://shunyaueta.com/tags/newsletter/ 経緯 例えば、過去に言及1した ニュースレター形式だと Twitter では届かない層 だが、自分のサイトは公開しているので、誰でも見れる。 そのためリーチする層に差が出るわけでもなかったかなと今更ながら気づいた。 また、 高品質な情報を一箇所にまとめて発信するなら Revue を使わなくても自分のサイトを通じても問題なく発信できるのでは 可能なら自分の執筆物を分散させずにまとめたい メール配信で届くというのは Revue の一つの特色ではあると思いますが、ニュースレターの RSS を用意すれば、メール配信はされなくなりますが、RSS でも同じような経験を体験できる などの理由もあった。 ニュースレターを通じた読んだ記事の感想まとめ行為は、単に流し読みするよりも自分の言葉で説明できるように理解に務めるので、自分の情報収集の消化の場として優れていることがわかったのは収穫でした。 なのでもしニュースレターを気に入っていただけた読者の方がもしいればご安心ください(続けますよ(春日さん風に)) 代替手段として、newsletter のタグを付与した記事の RSS2 を作成しています。 手持ちの RSS リーダーに登録していただければ newsletter の更新を簡単に管理することができます。 Search Engineering Newsletter vol.00 ↩︎ newsletter RSS: https://shunyaueta.com//tags/newsletter/index.xml ↩︎

April 7, 2022 Â· Shunya Ueta

Search Engineering Newsletter vol.03

3 回目のニュースレター配信です。 前回配信した中での人気記事 Top3 メール配信で最もアクセスされた記事を紹介します。 Amazon が e コマース検索を Lucene により、どうスケールさせているか at Berlin Buzzwords 2019 6 clicks 390 億から 820 億パラメータへ| LINE の巨大言語モデル HyperCLOVA 開発の裏側 5 clicks メルカリの検索基盤の変遷について 5 clicks Articles Search Amazon の製品検索で使われるロバストなキャッシュ手法の論文「ROSE: Robust Caches for Amazon Product Search」 Amazon 検索で使用されているロバストなキャッシュの仕組みについて紹介した Blog 記事を書きました。 キャッシュ機構の中で、クエリ書き換えと深層学習モデルの推論結果のキャッシュを同時に実行している点が技術的にとても面白い点です。 検索一筋 10 年のエンジニアが語る、1,800 万点の商品検索パーソナライズ化への挑戦- モノタロウ モノタロウさんの検索機能はとてもおもしろいんですが、その開発裏が書かれている記事。 例えばですが、工具の通販モノタロウ 測定・測量用品 測定用品 厚さ測定とかを見てるとわかるんですが、各商品に付随する商品のファセットの種類が鬼のように細かくてどう管理しているのか非常に気になりますね。 例えば、キーワード入力の少しの違いでユーザーが必要としている商品が違ってくることもあり、全文検索機能だけでは計算ができない部分を外側から調整する仕組みなども構築してきました。わかりやすい例をあげると、「3m テープ」と検索された場合は、ブランドの 3M(スリーエム)社製のテープを求めているお客様が多く、「テープ 3m」と検索された場合は 3 メートルのテープを求めているお客様が多いなどを判定して検索結果を出し分けています。 良い話ですね。確かに bi-gram としては一緒でも、Query intent は全く違いそう。...

March 28, 2022 Â· Shunya Ueta

Search Engineering Newsletter vol.02

2 回目のニュースレター配信です。 前回の人気記事 Top3 を紹介 LINE MUSIC が挑んだパフォーマンス改善。膨大な楽曲数を扱うための Elasticsearch の設計 7 clicks Elasticsearch Learning to Rank プラグインの使い方とポイント 5 clicks DMM の検索に機械学習を導入して、A/B テストで圧勝した考え方 4 clicks Articles Search Building a Search Technology Radar Technology Radar という概念を検索技術領域に適用してみたよという記事。 Technology Radar をざっくり紹介すると、同心円状の領域を 4 象限に分割して、中心に近ければ近いほど必ずこの技術に適応していおくべき、そして中心から外れていくと将来的に重要になっていくだろうというトピックを可視化する概念。 概念としては面白んだが、ざっくりしすぎてるなと思っていたら著者の Eric さんが気になる領域を挙げてくれていた。 The Rise of Neural Search Neural Search の定義としては、形態素ベースの検索を超えた検索手法の総称(広すぎる…w)。 Neural Search は今はみんな使っていないけれども、近いうちに使い始める未来が来るんじゃないかという予想 Blossoming of Non Lucene-based Engines 長年全文検索エンジンの Lucene ベースの検索サーバーである Elasticsearch, Solr がメインで使われてきたが。最近は非 Lucene ベースの検索エンジンも出てきた。例として挙げられたソフトウェアとしては Tantivy: Java 言語ではなく Rust で書かれた Lucene の再実装 milvus, weaviate: ベクトル検索エンジン メルカリの検索基盤の変遷について...

February 9, 2022 Â· Shunya Ueta

Search Engineering Newsletter vol.01

以前に告知したとおり、検索領域と機械学習領域で面白かった記事をここで紹介していきます。 ガッツリ量を書くために溜め込むよりも一定量溜まったら配信したほうが、書く側としても気が楽なので暫くその方針で行ってみます。 Articles Search elastic/elasticsearch - Integrate ANN search #78473 elasticsearch 8.x では Lucene 9.0 から提供される ANN(近似近傍探索)機能が提供される予定。以前から提供されていた elasticsearch の exact k NN はプロダクション環境下では使えない性能だったが、Lucene の ANN 検索は結果がどうなるか非常に気になる。ES に組み込まれることで、ANN の結果に対して、フィルタリング、ハイブリッド検索など ES の検索エンジンと組み合わせた利用が期待できるので追っておきたい。 apache/solr - SOLR-15880 #476 Solr も同じく ANN の提供を準備中。 個人的には、ANN のことを kNN と書くのは紛らわしいのでやめてほしいし、ANN のことを Neural Search と読んでいて、え?いいの??と思ったりした。 これが実装されれば、Vespaや、各 OSS やエンタープライズの近似近傍探索エンジンがどうなっていくのかは非常に面白い未来ですね。 Reddit Search: A new API Reddit が検索 API を刷新したお話。 システム的にどう嬉しいかや、チーム編成が変わって、10 年間でインフラエンジニアが兼業で開発していた状態から、検索エンジニア、専任のクライアントエンジニアがフルタイムで改善していく体制に変わったなど、変化がしれて面白かった。 今までのreddit の検索システム Blog 記事シリーズも面白そうだったので読もう。 Search at Shopify—Range in Data and Engineering is the Future...

January 21, 2022 Â· Shunya Ueta