これは要約であり、私の重要なポイントです。 ヘルプ検索システムの設計に NLP がどのように使用されているか ( 現在) については、LinkedIn が説明しています。これにより、問題の説明と、採用されたソリューションのさまざまな反復が、その欠点とともに強調されます。 元の投稿 2019 年 問題文: ユーザーからのクエリに対して、最も関連性の高いヘルプ記事をデータベースから取得します。 反復 1: 初期ソリューション を使用して、データベース内のすべてのヘルプ記事 (ドキュメント) のインデックスを作成しました。つまり、用語が登場するすべての文書に用語をマッピングする逆引き辞書を生成します。 Lucene Index 2. 指定されたクエリは、Lucene インデックスを使用してすべての関連ドキュメント (ヒット) をフェッチするために使用されます。 3. 各ヒットは BM25F アルゴリズムを使用してスコア付けされます アルゴリズムでは、 が考慮され、 のヒット、次に のヒット、 のヒットに最大の重みが与えられ、加重スコアが返されます。 。BM25F ドキュメント構造 タイトル キーワード 本文 4. 最高得点の記事を返します。 失敗した理由 ドキュメント検索システムは ) であるため、 は考慮されていません。以下に 2 つの失敗例を示します。 用語ベース ( 構文 セマンティクス 反復 2: 最終的なソリューション ステップ 1: テキストの正規化 「 を「 」に正規化 プレミアム アカウントをすぐにキャンセルする方法」 プレミアム アカウントをキャンセルする ステップ 2: クエリ マッピング 正規化されたクエリに、記事内の単語と共通する単語がない場合があります。したがって、各クエリは、ユーザーの用語と記事の用語の間のギャップを埋めるために、より代表的なクエリにマップされます。 次の 2 つの手順で実行します。 クエリは、類似性メトリックに基づいてグループ化されます クエリのグループ化: Query グループ内のクエリごとに、 が計算され、上位 K 個のクエリが Rep クエリとして選択されます。 2. トピックマイニングと Rep スコアリング: repScore は、生のクエリとグループ内の別のクエリとの類似性です sim(RQ, Q2) は、Q2 とタイトルのトピックの 1 つとの間の最大類似度です (本文も同様)。 sim(Q2, title) ステップ 3: 意図の分類 ロングテール クエリには Rep クエリがない場合があります。その場合、クエリの を分類するために が使用されます。 意図 CNN たとえば、「プレミアム サブスクリプションをキャンセルする」と「Apple デバイスで購入したプレミアム サブスクリプションをキャンセルまたは更新する」は、「プレミアムをキャンセルする」という同じ意図を持っていると見なされます。 全体の流れ にも掲載 こちら