ホームページ  >  記事  >  テクノロジー周辺機器  >  Ctrip検索の単語意味分析におけるディープラーニングの応用

Ctrip検索の単語意味分析におけるディープラーニングの応用

王林
王林転載
2023-04-11 18:40:03805ブラウズ

著者について

シートリップ観光研究開発部のビッグデータおよびAI研究開発チームは、観光部門に豊富なAIテクノロジー製品と技術力を提供しています。

1. 背景の紹介

検索は、電子商取引の最も重要な側面の 1 つです。ほとんどのユーザーは、必要な商品を見つけるために検索を使用します。したがって、検索はユーザーにとって最も直接的な方法です。意思を表明するためのものであり、コンバージョン率が最も高いトラフィック ソースの 1 つです。電子商取引の検索の大部分は、検索ボックスに検索語(クエリ)を入力することで完了するため、検索語の意味分析や意図の理解が検索の重要な部分となっています。

主流の検索語の意味分析とクエリの理解には、エラー修正、同義語の置換、単語の分割、品詞のタグ付け、エンティティ認識、意図認識、単語の重要度の重み付け、単語の損失などの手順が必要です。図 1 に示すように、観光シナリオでの検索を例に挙げます。ユーザーが検索ボックスにクエリとして「雲南翔格リラ」と入力すると、検索エンジンはまず検索語を修正する必要があります。これは、その後の検索を容易にするためです。ユーザーが検索したいコンテンツを解析し、必要に応じて同義語の置換が実行されます。次に、検索語に対して単語分割と品詞タグ付けを実行して、「雲南」を省、「シャングリラ」を都市またはホテルのブランドとして識別し、エンティティ認識を実行して、対応するエンティティを呼び出します。背景データベースの「雲南」と「シャングリラ」 id.

このとき、「シャングリラ」は都市ブランドであり、ホテルブランドでもあるのではないかという意見の相違が生じました。ユーザーが検索するときに、正しいカテゴリとエンティティを予測できるかどうかは、検索結果の正確な表示とユーザー エクスペリエンスの向上にとって非常に重要です。そのため、ユーザーが本当に検索したいカテゴリを特定し、それに該当するエンティティを見つけなければ、ユーザーが望まない結果が検索一覧ページの最前列に表示されてしまう可能性があります。人々の事前知識から判断すると、ユーザーが「雲南シャングリラ」を検索するとき、都市を検索したいと考えている可能性が非常に高いです。意図識別ステップは、この機能を実現し、都市の「シャングリラ」を表すユーザーの真の検索意図を識別することです。

その後、検索のリコール ステップに入ることができます。リコールでは主に、検索語の意図に関連する製品またはコンテンツを検索します。前の手順で「雲南」と「シャングリラ」のIDを取得すると、「雲南」と「シャングリラ」の両方に関連する商品やコンテンツを簡単に呼び出すことができます。ただし、リコール結果が空であるか、まれすぎる場合があり、この時点ではユーザー エクスペリエンスが良くないため、リコール結果が空であるか、またはまれすぎる場合には、単語の損失や二次リコール操作が必要になることがよくあります。また、一部の省略可能な単語や検索の邪魔になる単語については、単語を省略して処理することもできます。

いわゆるロストワードとは、検索用語の中の比較的重要ではない単語や関連性の低い単語を捨てて、再度思い出すことです。では、各単語の重要性や類似性をどのように測定するのでしょうか?ここでは、各単語を用語として扱い、アルゴリズムまたはルールを通じて各用語の重みを計算する用語重み付けモジュールを導入する必要があります。各用語の重みは、用語の重要性と近さの順序を直接決定します。たとえば、「雲南」の単語の重みが 0.2、「シャングリラ」の単語の重みが 0.8 であると仮定すると、単語を失う必要がある場合は、まず「雲南」を削除し、「シャングリラ」を保持する必要があります。

Ctrip検索の単語意味分析におけるディープラーニングの応用

図 1 検索語の意味分析とクエリ理解の手順

従来の検索意図の識別では、語彙の一致、カテゴリの確率統計、および人為的な設定ルールを使用します。従来の用語重み付けでは、語彙のマッチングや統計的手法も使用されており、たとえば、すべての商品のタイトルと内容に基づいて、TF-IDF、前後の単語間の相互情報量、左右の隣接エントロピーなどのデータが計算され、直接格納されます。オンラインで使用する場合、業界固有名詞は上位用語の重みを直接与え、助詞は下位用語の重みを直接与えるなど、いくつかのルールに基づいて判断を支援するために使用できます。

ただし、従来の検索意図認識および用語重み付けアルゴリズムでは、高い精度と再現率を達成できず、特に一部のまれな検索用語を処理できないため、これら 2 つのモジュールの精度と再現率を向上させるだけでなく、いくつかの新しいテクノロジーが必要です。まれな検索用語に適応する能力が向上します。また、アクセス頻度が高いため、検索語の意味解析には非常に速い応答速度が要求され、旅行の検索シナリオでは応答速度が1桁近いミリ秒レベルに達することが多く、これは企業にとって大きな課題となっています。アルゴリズム。

2. 問題分析

精度と再現率を向上させるために、深層学習を使用して検索意図の認識と用語重み付けアルゴリズムを改善します。深層学習は、サンプル学習を通じてさまざまな状況で意図認識と用語重み付けを効果的に解決できます。さらに、自然言語処理用の大規模な事前学習済み言語モデルの導入により、深層学習モデルの機能がさらに強化され、サンプルのラベリング量が削減され、もともと高い評価が必要であった検索への深層学習の適用が可能になります。ラベル貼りのコスト。

ただし、ディープ ラーニングが直面する問題は、モデルの複雑さとニューラル ネットワーク層の数が多いため、応答速度が検索の高い要件を満たせないことです。したがって、モデルの蒸留とモデルの圧縮を使用してモデルの複雑さを軽減し、精度と再現率をわずかに低下させながら深層学習モデルの消費時間を削減することで、より速い応答速度とより高いパフォーマンスを確保します。

3. 意図認識

カテゴリ認識は、意図認識の主要なコンポーネントです。意図認識におけるカテゴリ認識は、検索語クエリを分割した後、分割結果にそれが属するカテゴリをマークし、対応する確率値を与える方法です。ユーザーの検索語の意図を分析することは、ユーザーの直接の検索ニーズを分析するのに役立ち、ユーザー エクスペリエンスの向上に役立ちます。たとえば、ユーザーが旅行ページで「雲南シャングリラ」を検索すると、ユーザーが入力した「シャングリラ」に対応するカテゴリは「ホテル ブランド」ではなく「都市」となり、その後の検索戦略は次のようになります。都市の意向に偏っている。

旅行シナリオでは、ユーザーが入力したカテゴリが曖昧な検索語が全体の約 11% を占め、これには単語分割のない検索語も多数含まれます。 「単語分割なし」とは、単語分割処理後にそれ以上の詳細な分割が存在しないことを意味し、「カテゴリ曖昧性」とは、検索語自体に複数のカテゴリの可能性があることを意味します。例えば、ユーザーが「シャングリラ」と入力した場合、それ以上の細かいセグメンテーションはなく、対応するカテゴリデータには「都市」や「ホテルブランド」など複数のカテゴリが存在します。

検索語そのものが複数の単語の組み合わせである場合、検索語そのものの文脈からカテゴリが明確になり、検索語そのものが優先的に識別対象となります。検索語自体からカテゴリを決定できない場合は、まずユーザーの最近の互いに異なる検索語句と、最近の商品カテゴリのクリック記録を追加します。上記の情報が利用できない場合は、ポジショニングを追加します。補助コーパスとしての駅。元の検索用語は、識別されるクエリ R を取得するために処理されます。

近年、事前トレーニングされた言語モデルは、多くの自然言語処理タスクで威力を発揮しています。カテゴリ認識では、事前トレーニング済みモデルのトレーニング ネットワーク パラメーターを使用して、コンテキスト セマンティクスを含む単語特徴 Outputbert を取得します。単語変換モジュールを使用して、単語特徴は位置コーディングと結合されます:

Ctrip検索の単語意味分析におけるディープラーニングの応用

単語の分割に対応する文字フラグメントを取得します。たとえば、

Ctrip検索の単語意味分析におけるディープラーニングの応用

は、i- に対応する長さを意味します。番目の単語の分割は li 文字の特徴です。単語変換モジュールは、文字片 Wi に基づいて、各単語の特徴 Hwi を集約します。集計方法には、max-pooling、min-pooling、mean-pooling などがあります。実験では、max-pooling が最も効果的であることが示されています。モジュールの出力は、検索語 R の単語特徴 OutputR です。カテゴリ データベースに含まれる一致するカテゴリは、検索語 R の単語特徴 OutputR のフラグメントごとに与えられます。並列分類子を通じて単語を検索し、対応するカテゴリの一致確率を返します。

Ctrip検索の単語意味分析におけるディープラーニングの応用

図 2 カテゴリ認識の全体構造の概略図

カテゴリ認識モデルは BERT ベース 12 に基づいています-layer モデルでは、大きすぎてオンライン運用の応答速度要件を満たしていないため、モデルの知識の蒸留を実行して、ネットワークを大規模なネットワークから小規模なネットワークに変換し、ネットワークに近いパフォーマンスを維持しました。オンライン操作の要件を満たしながら大規模なネットワークを実現するための遅延要求。

独自に学習したカテゴリ認識モデルを教師ネットワークとして使用し、教師ネットワークの出力結果を生徒ネットワークのターゲットとして使用し、生徒ネットワークの結果 p が得られるように学習します。ネットワークは q に近いため、損失関数を変更できます:

Ctrip検索の単語意味分析におけるディープラーニングの応用

ここで、CE はクロス エントロピー (クロス エントロピー)、対称 KL は対称 KL 発散 (カルバック –ライブラー発散)、y は実ラベルのワンホット エンコーディング、q は教師ネットワークの出力結果、p は生徒ネットワークの出力結果です。

Ctrip検索の単語意味分析におけるディープラーニングの応用

図 3 知識の蒸留の概略図

知識の蒸留後も、カテゴリ認識は次のことを達成できます。精度と再現率が高く、95 行の全体の応答時間は約 5ms です。

カテゴリの識別後、最終的な意図の識別プロセスを完了するには、エンティティのリンクやその他の手順が必要です。具体的な内容については、記事「Ctrip Entity Link Technologyの探求と実践」を参照してください。この記事では詳しく説明しません。

4. 用語の重み付け

ユーザーが入力した検索用語の場合、用語が異なれば、ユーザーの中核となる意味論的な魅力に対する重要性も異なります。検索の二次想起ランキングでは、重要度の高い用語に焦点を当てる必要がありますが、同時に、単語を失った場合に重要度の低い用語を無視することもできます。ユーザーが入力した各検索語の語重みを計算することで、ユーザーの意図に最も近い商品を2回呼び出すことでユーザーエクスペリエンスを向上させます。

まず、オンライン ユーザーからの実際のフィードバック データをアノテーション データとして見つける必要があります。ユーザーの検索ボックスへの入力や関連語のクリックは、ユーザーが検索語中の単語を重視していることをある程度反映するため、関連語の入力やクリックデータ、手動選別、二次アノテーションをアノテーションとして利用します。用語重み付けモデルのデータ。

データの前処理の観点から、取得できるアノテーション付きデータはフレーズとそれに対応するキーワードですが、重みの分布が極端にならないように、キーワード以外の部分にはある程度の小さな重みを与えます。残りの重みは、キーワードの各単語に割り当てられます。データ内に特定の語句が複数回出現し、対応するキーワードが異なる場合、これらのキーワードの重みは、キーワードの頻度に基づいて割り当てられ、さらにキーワードの重みが割り当てられます。それぞれの言葉の重み。

モデル部分では主に特徴抽出手法としてBERTを試し、さらに各項の重みを当てはめます。指定された入力に対して、BERT が受け入れられる形式に変換し、BERT 後に全結合層を通じてテンソルを圧縮し、1 次元ベクトルを取得してから Softmax 処理を実行し、このベクトルを使用して結果ベクトルの重み付けを行います。 、特定のモデル フレームワークを以下の図に示します。 #中国語 BERT は文字に基づいているため、最終的に用語の重みを取得するには、各用語のすべての単語の重みを合計する必要があります。

モデル フレームワーク全体で、一部のトレーニング ハイパーパラメーターを除き、調整可能な部分には主に 2 つの部分が含まれます。 まず、BERT を通じて埋め込みを生成するときに、BERT の最後の層、または包括的な BERT 埋め込みの最初の層を選択できます。は層と最後の層によって生成されます;第二に、損失関数の選択では、MSE 損失を使用して予測された重みと実際の重みの間のギャップを測定することに加えて、非層の予測された重みの合計も使用しようとします。重要な単語は計算対象の損失として考慮されますが、この損失はキーワードが 1 つしかない状況により適しています。

Ctrip検索の単語意味分析におけるディープラーニングの応用モデルは最終的に各項の重みを小数の形式で出力します。たとえば、["Shanghai", "'s", "Disney"] の項の重みの結果は [0.3433, 0.1218, 0.5349] です。 。

このモデルは検索に対応しており、厳しい応答速度要件があります。 BERT モデルは全体的に比較的大きいため、推論部分での応答速度要件を満たすことが困難であるため、カテゴリ認識モデルと同様に、学習済み BERT モデルをさらに抽出してオンライン要件を満たすようにします。このプロジェクトでは、BERT ベースの 12 層トランスフォーマーの効果を適合させるために、いくつかのレイヤーのトランスフォーマーが使用されています。最終的に、モデルの全体的な推論速度は、許容可能な部分の損失により約 10 倍速くなります。パフォーマンス。最終的に、Term Weighting オンライン サービス全体の 95 行は約 2 ミリ秒に達する可能性があります。 5. 将来と展望ディープ ラーニングの使用により、旅行検索は、まれなロングテール検索用語に対する単語の意味分析機能が大幅に向上しました。現在の実際のオンライン検索シナリオでは、一般的にディープラーニング手法と従来の検索語意味分析手法が組み合わされており、これにより、頭の中にある一般的な検索語のパフォーマンスの安定性が確保されるだけでなく、汎化能力も強化されます。

将来的には、検索語意味分析はユーザーにより良い検索体験を提供することに尽力しており、ハードウェア技術と AI 技術のアップグレードにより、ハイパフォーマンス コンピューティングとインテリジェント コンピューティングはますます成熟していきます。検索語の意味分析の目的は識別であり、将来的にはより高いパフォーマンス目標に向けて用語の重み付けが開発される予定です。また、観光分野における事前学習モデルや事前学習モデルの大規模化により、モデルの精度や再現率がさらに向上し、より多くのユーザー情報や知識を導入することで意図認識の効果向上が期待できます。ユーザーのフィードバックとモデルの反復は、用語の重み付けの有効性を向上させるのに役立ちます。これらは私たちが将来試みる方向です。

意図認識や用語重み付けに加えて、品詞タグ付け、誤り訂正などの他の検索機能も、将来的には深層学習テクノロジーを使用して、ニーズを満たすと同時により強力な機能を実現する可能性があります。応答速度の要件を満たし、より良い結果をもたらします。

以上がCtrip検索の単語意味分析におけるディープラーニングの応用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。