やむやむもやむなし

やむやむもやむなし

自然言語処理やエンジニアリングのメモ

【9日目】Embedding-based Retrieval in Facebook Search

この記事はNLP/CV論文紹介 Advent Calendar 2020の9日目の記事です。
今日はFacebookが運用しているEmbeddingを活用した検索基盤に関する論文です。

0. 論文

[2006.11632] Embedding-based Retrieval in Facebook Search
Jui-Ting Huang, Ashish Sharma, Shuying Sun, Li Xia, David Zhang, Philip Pronin, Janani Padmanabhan, Giuseppe Ottaviano, Linjun Yang

1. どんなもの?

Facenbookのembeddingを活用した検索基盤。QueryやDocumentのembeddingの作り方やboolean検索とembedding検索を組み合わせた検索などを紹介している。

2. 先行研究と比べてどこがすごい?

Facebookでの検索精度をあげるためのembeddingの作り方。またboolean検索とembedding検索を組み合わせたクエリの作り方など

3. 技術や手法のキモはどこ?

Facebookの基盤に導入されているembeddingを活用した検索基盤に関する論文。

f:id:ymym3412:20201210034816p:plain

QueryとDocumentの両方をEmbeddingにしてマッチングさせる手法を取っている。
Embeddingにはロケーションやソーシャルメディアの特徴量を加えることで知り合いや住んでいる地域に関する結果がヒットするようにEmbeddingを作っている。

基盤ではboolean検索とembedding検索を組み合わせた検索基盤をしており、これの実現のために両方の検索結果をマージするようなoperatorを用意している。

f:id:ymym3412:20201210034455p:plain

embeddingの学習には距離学習を用いており、その際negativeデータには全データからランダムにサンプリングしてくる手法と閲覧したがクリックされなかったデータプールからサンプリングする手法とでは前者の方が高いRecallを示した。

4. どうやって有効だと検証した?

使用するembeddingの工夫、ベクトル量子化、距離学習の戦略などを変えながらRecall@kの変化を検証した


boolean検索とembedding検索を組み合わせるような検索クエリを組んでいるところが面白いです。
Facebookはおそらく一つのエンジン内で実現しているのだと思いますが、自分でやろうと思ったらboolean検索とembedding検索とで結果を取得してマージしてrerankする感じでやれば近いものが実現できそう。