- unigram: …, t, o, _, b, e, _, o, r, _, n, o, t, _, t, o, _, b, e, … - 単語単位のnグラム - 文… to be or not to be … - unigram…, to, be, or, not, to, be, … - “文字”単位の方が性能は良かったが、組み合わせて使うとより良い - この手の報告はいまいち信用しき r… - Fucebookでの検索対象(人、グループ、イベントページ)には embedding単体でも有用 - Fuzzy text match: kacis creations -> Kasie’s creations - Optionalization “mini cooper nw” -> “Mini cooper owner/drivers club” - nwを勝手に削る
- Product Quantization - ベクトルの次元の個性(分布)を活かして量子化。次元を均等に分割するなど、ベクトルを m個 の部分に分割。最終的なコードブックのサイズ = 各部分量子化のコードブックのサイズの積。 各部分量子化はクラスター量子化( k-means, Faissにある) - ↓色違いごとにk-meansして、その所属するクラスター中心を使うってこと 4.1 ANN 引用: 以下の論文の Figure 1より Victor Lempitsky. 2012. The Inverted Multi-Index. In Proceedings of the 2012 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)
をサポートするよう 拡張(すでにそういう検索エンジンUnicornがある) - Curtiss, Michael, et al. "Unicorn: A system for searching the social graph." Proceedings of the VLDB Endowment 6.11 (2013): 1150-1161 - インデックス作成 - ドキュメントは量子化され以下の2部分に分けられる - クラスター(所属) - ペイロード(量子化された残差ベクトル) - クエリフェーズ - nnクエリ操作がor操作して書き直され、最も近いnprobe個のクラスターが同定され る - ペイロードは一致したドキュメントの半径制限を確認するために使用される
- 最も効果的だったのは ”2 negatives per 1 positive”なので”常に2個選ぶ”とかなのかも - メリット - めっちゃRecallあがった - It consistently improved embedding model quality significantly across all verticals: +8.38% recall for people search; +7% recall for groups search, and +5.33% recall for events search - デメリット - ランダムサンプリングしてる中で ”たまたま”Positiveに近いやつを引くのはなかなか難しい