Closed nogawanogawa closed 3 years ago
検索エンジンは昨今では非常に複雑なシステムになっている。
また、最近NLPの優れた成功は検索システムへの可能性を秘めている。 NLP技術を検索システムに組み込もうとするとき、問題になるのは
だと考える。つまりこれらの問題を解決しつつ、優れたNLP技術を導入することが求められる。
この論文では、主に5つの検索周りのタスクについて確認していく。
クエリの(真の)意図の予測は、LinkedInでも統合検索に使用されているそうで、後工程でこれを使用している模様。
CNNを適用することで、クエリがどの意図(people, job, feed, com- pany, group, school, event)に属するかを判別している。(後でも書くが、LSTMも試しているが、速度の面でCNNのほうが優れていた)
やり方としては、テキストのEmbeddingを取得し、それを他の特徴量と組み合わせたものを使用して、隠れ層を使用して特徴の非線形性を実現している。(どういう事?)
ユーザーがクエリを発行した後に、どのカテゴリをクリックしたかをラベルとして、分類タスクの評価を行った。 BoWモデルを使用したロジスティック回帰による従来手法と比較し、新しい手法としてはCNNとLSTMを使用した。
オフライン評価の結果は下記の様になった。
CNNとLSTMはともにBaselineより性能は優れているが、CNNのほうがLSTMより高速であったためCNNを採用することにしている。
Query Taggingは、クエリの中身から固有表現抽出することだとしてます。 この結果をquery intent predictionやランキングでも使用しているそうです。
CRF (Conditional Random Fields)、SCRFに加えて、bidirectional-LSTMを用いた方法を検討した。 特徴量としては、文字ベース、単語ベース、辞書ベースの特徴を使用して固有表現抽出に使用する。
統合検索に使用されたクエリにマニュアルでアノテーションしたデータを使用して評価を行った。
結果、クラシカルなSCRF (semi-markov conditional random field)の方法が最も良かった。 そのため、ここではdeepNLPは筋が悪そうだということが分かった。
主な理由としては、まず語彙による特徴が重要な役割を果たしていると考えられ(SCRF-nolexがF1がやたら小さい)、その影響以外は影響が小さいと考えられる点が考えられる。 また、クエリは通常非常に短いので、LSTMで行っているような系列の長距離の関係性を踏まえた予測が役に立たなかったと考えられる。
クエリ補完は言語生成のタスクと考えることができる。
伝統的な補完機能は、候補の生成と候補のランキングの2ステップで構成されます。 候補生成ではprefixに基づく候補の一覧を生成します。 その候補に対してxgboostを使用してランキングをつけます。
クエリ補完は一種の文書生成のタスクと考えられ、この辺りはdeepNLPで成果が出ている分野でもある。 レイテンシ向上のための取り組みとして、ランキング生成の段階で確率の正規化を簡易化することで対応する。 観察として、確率の正規化が実行時間の大部分をしめていることから来ている。
単層の100次元の隠れ層のLSTMを使用したクエリ補完を評価した。
正規化しなくても同等のMRRを達成しており、オンライン評価でも良い結果が出ている事が確認できた。
Query Suggestionは検索体験に大きく影響を与える部分だと考えているし、多くの検索エンジンはこの機能を備えている。 「他の人はこうしています」のようなものを支援している。
従来、基本的な考え方は頻度のカウントを使用していた。 検索ログのうち、
を収集し、それを頻度によってランキングして使用していた。
クエリサジェストの問題はseq2seqにおける機械翻訳として考えることができ、その手法を適用することを考えます。 このとき、"research scientist –> scientist"のようなペアをすべて排除したデータセットを使用します。
ベースライン実装をベースラインとして、レイテンシ改善のために長さ100の隠れ層2層のLSTMを使用したSeq2Seq を評価した。
候補のCoverageは100%に達し、MRR(Mean Reciprocal Rank)は改善した。オンライン評価でもViewとApplyは増加した。
文書のランキングは、ランキングを行う対象のアイテム数が数千になるので、レイテンシが非常に問題になる。
従来のモデルではxgboostを使用していました。 ”人”に関する検索ではテキスト以外のパーソナライズに関する特徴量、過去の行動ログ、文書自体の人気なども考慮する。 NNではこれらを組み合わせるのは比較的容易で、これらの特徴量を組み合わせて文書のスコアを計算します。
今回対象になっていたのは”人”に関する検索と、ヘルプセンターの記事に関する検索で、この内ヘルプセンターに関する方は事前にembeddingを計算しておける量であるのでそのアプローチを取る。
人に関しては、6億のユーザーがいるので事前に計算しておくのは難しい。 そこで、NN以外の軽量なモデルを使用して、対象のユーザーは数百に絞り込み、絞り込んだユーザーに対してEmbedding(64)上記のようなモデルに適用することで速度の低下を防ぐ。
レイテンシに関しての評価。
従来のXGBoostを使用した場合に比べて数十msのレイテンシの低下にとどまっている。
オフライン評価については、下記のようになっていて、CNNを使用したものが従来よりNDCGが高くなっている。
ヘルプセンターのほうが向上が大きいが、これはアイテムの性質に起因するもので、クエリとドキュメントが自然文になりやすく、CNNが意味を捉えやすくなったと考えられる。
オンラインテストでも同様にクリック率が向上しているので、有効と考える。
特に検索系のタスクについては、もともと持っている語彙の情報量が大きいことと、文の長さが短くなりがちなことに起因すると考える。
論文URL
https://arxiv.org/abs/2108.08252
著者
Weiwei Guo, Xiaowei Liu, Sida Wang, Michaeel Kazi, Zhoutong Fu, Huiji Gao, Jun Jia, Liang Zhang, Bo Long
概要
LinkedinのDeep NLPを活用した検索システムに関する紹介。 このシステムを通じて、
について考察した論文。
課題を解決した報告というより、自分らのシステムを通じて得られた知見の共有といった趣旨に当たると思われる。
メモ