推奨システムにおける自然言語処理 (NLP) の応用

推奨システムにおける自然言語処理 (NLP) の応用

[[195357]]

パーソナライズされた推奨はビッグデータ時代に欠かせない技術であり、電子商取引、情報配信、計算広告、インターネット金融などの分野で重要な役割を果たしています。具体的には、パーソナライズされた推奨事項は、トラフィックの効率的な使用、情報の効率的な配信、ユーザー エクスペリエンスの向上、ロングテール アイテムのマイニングにおいて中心的な役割を果たします。レコメンデーションシステムでは、商品の説明、ニュース情報、ユーザーのコメントなど、さまざまなテキストデータを処理する必要があることがよくあります。具体的には、テキスト データを使用して次のタスクを完了する必要があります。

  • 候補製品のリコール。候補アイテムのリコールは推奨プロセスの最初のステップであり、推奨されるアイテムのセットを生成するために使用されます。この部分の中心的な操作は、さまざまな推奨アルゴリズムに基づいて対応するアイテム セットを取得することです。テキストデータは、ユーザーの行動に依存せず、多様性に富んでいるという利点を持つ、非常に重要なタイプのリコールアルゴリズムです。テキスト情報が豊富であるか、ユーザー情報が不足している状況で非常に重要な役割を果たします。
  • 相関計算。相関計算は、リコール アルゴリズムのさまざまなテキスト類似性アルゴリズムや、ユーザー ポートレート計算で使用されるいくつかの相関計算など、推奨システム プロセスのすべてのステップで使用されます。
  • モデルランキング(CTR/CVR)に参加するための機能として使用されます。候補セットのリコール後のランキング レイヤーでは、テキストベースの機能が多くの情報を提供できることが多く、重要なランキング機能になります。

しかし、構造化された情報(製品属性など)と比較すると、テキスト情報には特定の用途においていくつかの固有の欠点があります。

まず、テキスト データには構造情報がほとんどありません。厳密に言えば、テキスト データには通常、構造がありません。存在する可能性がある構造は、テキストのソースを区別するための「タイトル」、「本文」、「コメント」のみです。これ以外に、通常はそれ以上の構造情報は存在しません。なぜ構造情報を気にする必要があるのでしょうか? 構造は情報量を表すからです。アルゴリズムを使用する場合でも、ビジネス ルールを使用する場合でも、構造化された情報に基づいて推奨戦略を策定できます。たとえば、「青色のロング ダウン ジャケットをすべてリコールする」などの戦略では、「色」と「スタイル」という 2 つの構造化された情報が使用されます。しかし、商品説明データベースにそのような構造化情報がなく、「このダウンジャケットは、ロング丈の青いダウンジャケットです」といったフリーテキスト文しかない場合、構造化情報を利用した戦略を立てることはできません。

第二に、テキストコンテンツに含まれる情報量が不確かです。非構造化の性質に加えて、テキスト データの内容には不確実性があります。この不確実性は、内容と量に反映されます。たとえば、異なるユーザーは同じ中古製品に対して非常に異なる説明をすることがあります。また、使用される単語、説明、テキストの長さなどに大きな違いがある場合があります。同一の商品が 2 つある場合、一方の商品の説明に記載されている内容が、もう一方の商品にも必ずしも記載されているとは限りません。このような違いが存在すると、特に UGC が目立つシナリオでは、テキスト データを安定した信頼性の高いデータ ソースとして使用することが困難になることがよくあります。

繰り返しになりますが、フリーテキストには曖昧さの問題が多くあります。曖昧さを理解することは、自然言語処理における重要な研究テーマです。曖昧さは、推奨システムにおけるテキスト データの使用にも影響します。たとえば、中古の携帯電話について説明するときに、ユーザーは「iPhone 6 を売ります。お金を貯めて iPhone 7 を購入する予定です」などと書くかもしれません。この文章は人間にとっては明確ですが、機械にとっては大きな混乱を招きます。「この電話は iPhone 6 でしょうか、それとも iPhone 7 でしょうか?」このような状況では、推奨システムの正確性をどのように確保するかが課題となります。

ただし、テキスト データはまったく役に立たないわけではありません。欠点もありますが、構造化データにはない利点もいくつかあります。

  • データ量が多いです。非構造化テキストデータは、一般的に非常に簡単に取得できます。たとえば、さまざまな UGC チャネルや Web クロールなどの方法により、大量のテキストデータを取得できます。
  • 多様性に富んでいます。非構造化データは諸刃の剣です。悪い面は分析されています。良い面は、そのオープン性により多様性に富み、構造要件外のデータが含まれる可能性があることです。
  • 情報はタイムリーです。新しい用語や新しいものが登場すると、Weibo や Moments がその変化を最初に反映する場所になることがよくあります。これらは純粋なテキスト データです。これらのデータを適切に分析すると、構造化され定義済みのデータからは得られない情報をすぐに取得できます。これもテキスト データの利点です。

まとめると、テキスト データは、レコメンデーション システムで重要な役割を果たす、大規模で複雑かつ豊富なデータの一種です。この記事では、上記の側面に焦点を当て、レコメンデーション システムで一般的なテキスト処理方法を紹介します。

ここから始まる: Bag of Words

Bag of Words モデル (略して BOW モデル) は、最も単純なテキスト処理方法です。その中核となる仮定は非常に単純で、文書は文書内の複数の単語セットで構成されているというものです (複数のセットと通常のセットの違いは、セット内の要素の出現回数が考慮されることです)。これは、文法や語順など、文書内の他の重要な要素を考慮せず、単語の出現回数のみを考慮する最も単純な仮定です。このような単純な仮定では、明らかに多くの情報が失われますが、使用と計算が比較的簡単で、柔軟性も高いという利点があります。

レコメンデーション システムでは、アイテムを単語の集まりと見なすと、その集まりに含まれる単語に基づいて関連アイテムを思い出すことができます。たとえば、ユーザーが「ダウン ジャケット」というキーワードを含む商品を閲覧した場合、このレコメンデーションの候補商品として「ダウン ジャケット」を含む他の商品を思い出すことができ、思い出した商品を単語の集まりにこの単語が出現する回数 (単語の頻度) に応じて並べ替えることができます。

この単純なアプローチには明らかに多くの問題があります。

まず、単語分割後に得られたすべての単語が、リコールやソートに使用できるわけではありません。たとえば、「的地得你我他」(de di de ni wo ta)は削除する必要があります。また、出現頻度が特に高いまたは低い単語も特別な処理が必要です。そうしないと、リコール結果の関連性が低い、またはリコール結果が少なすぎるなどの問題が発生します。

第二に、単語の頻度を使用して重要性を測定することは十分に合理的ではありません。上記の「ダウンジャケット」のリコールを例にとると、商品説明における「ダウンジャケット」という単語の出現頻度を使用して、ダウンジャケット カテゴリにおける商品の関連性を測定する場合、誰もが説明でこの単語を同様の数使用するため、すべてのダウンジャケットの関連性は同様になります。したがって、テキスト間の相関関係を測定するには、より科学的かつ合理的な方法が必要です。

上記の使用法に加えて、単語バッグ内の各単語を 1 次元の特徴としてランキング モデルに追加することもできます。たとえば、LR に基づく CTR ランキング モデルでは、このディメンション機能の重みが w の場合、「この単語を含むサンプルのクリックスルー率の対数オッズは、この単語を含まないサンプルのクリックスルー率の対数オッズよりも w 高い」と解釈できます。ランキング モデルで単語の特徴を使用する場合、特徴の識別能力を高めるために、単純な bag-of-words モデルのアップグレード バージョンである N-gram bag-of-words モデルを使用することが多いです。

N グラムとは、N 個の連続する単語を 1 つの単位として扱うことです。たとえば、「ジョンは映画を見るのが好きです。メアリーも映画が好きです。」という文を単純な bag-of-words モデルに処理した結果は次のようになります。

バイグラム(2グラム)に処理した後の結果は次のようになります。

これを実行する利点は何でしょうか? バイグラムをソート モデルの機能または類似性計算の機能として使用する場合、最も明らかな利点は、機能の識別能力が向上することです。簡単に言うと、N バイグラムの重複がある 2 つの項目は、N 語の重複がある 2 つの項目よりも相関性が高くなります。基本的に、これはバイグラムの重複確率が 1 グラム(つまり、通常の単語)の重複確率よりも低いためです。それでは、N グラムの N が大きいほど良いというのは本当でしょうか。N が増加すると特徴の識別能力は向上しますが、データのスパース性も増加します。極端な場合、N が 100 であると仮定すると、100 グラムが重複する 2 つのドキュメントはほとんど存在せず、そのような特徴は意味を失います。一般的に言えば、実際のアプリケーションでは、バイグラムとトライグラム (3 グラム) は識別可能性とスパース性の間で適切なバランスをとることができます。N が増加し続けると、スパース性は大幅に増加しますが、効果は大幅に改善されず、低下する可能性もあります。

一般的に、バッグオブワードモデルには明らかな欠点があるものの、テキストの簡単な処理だけで使用できるため、テキストデータを迅速に処理する方法であり、十分な前処理(一般的な前処理には、ストップワードの削除、高頻度/低頻度の単語の削除、ダウングレードなどの重要度処理方法、外部の高品質データを使用してフリーテキストデータをフィルタリングおよび制限し、より高品質のオリジナルデータを取得することが含まれます)を行うと、多くの場合、良好な結果が得られます。

統一指標: 重み計算とベクトル空間モデル

上記から、適切な前処理を行った後、単純な bag-of-words モデルを使用して、推奨システムで候補アイテムを思い出すことができることがわかります。しかし、アイテムとキーワードの相関関係、およびアイテム間の相関関係を計算する場合、単純な単語の頻度のみをランキング要素として使用するのは明らかに不合理です。この問題を解決するために、より表現力豊かな TF-IDF ベースの重み計算方法を導入することができます。 TF-IDF法では、文書d内の単語tの重みは次のように計算されます。

ここで、tft,d は d に出現する t の頻度を表し、dft は t を含む文書の数を指し、N は文書の総数を表します。

TF-IDF とそのさまざまな改良および変種 (TF-IDF の変種と改良の詳細な紹介については、『情報検索入門』の第 6 章を参照してください)。単純な TF 方式と比較すると、核となる改良点は単語の重要度の測定にあります。たとえば、次のようになります。

  • オリジナルの TF-IDF は、TF に IDF の考慮事項を追加し、ストップワードなど、頻繁に出現するが区別力のない単語の重要性を低下させます。
  • 文書内の単語の重要度は出現回数と完全には線形関係にないため、非線形 TF スケーリングでは TF に対して対数スケーリングを実行し、特に頻繁に出現する単語の重みを減らします。
  • 文書に出現する単語の頻度は、その単語の重要性だけでなく、文書の長さにも関係する場合があります。この違いをなくすために、最大 TF を使用してすべての TF を正規化することができます。

これらの方法の目的は、文書内の単語の重要性をより合理的に測定することです。これに基づいて、単語の頻度に基づいて方法を改善できます。たとえば、単語の頻度を使用して項目を並べ替える以前の方法は、TF-IDF スコアに従って並べ替えるように改善できます。

しかし、これに加えて、キーワードとドキュメント間、およびドキュメント間の相関関係を測定するための統一された方法も必要です。この方法がベクトル空間モデル (略して VSM) です。

VSM の核となる考え方は、文書をベクトルとして表現することです。ベクトルの各次元は単語を表すことができます。これに基づいて、文書間の類似度はベクトル演算を使用して均一に計算できます。最も核となる計算は、ベクトルのコサイン類似度の計算です。

ここで、V(d1)とV(d2)はそれぞれ2つの文書のベクトル表現です。一見単純な計算式ですが、実は非常に重要な意味を持っています。まず、相関計算の一般的な考え方を提供します。つまり、2 つの項目をベクトルで表すことができれば、その式を使用して相関を計算できます。第二に、ベクトルの具体的な表現内容に制限はありません。ユーザー行動に基づく協調フィルタリングにも同じ計算式が使用され、テキスト関連性の計算では、TFIDF を使用してベクトルを埋めることができます。また、N-gram を使用することもできます。さらに、後で紹介するテキスト トピックの確率分布、さまざまな単語ベクトルなどの他の表現形式も使用できます。この数式の意味を深く理解していれば、ニーズに応じて適切なベクトル表現を構築できます。第三に、この公式は解釈性が非常に高いです。全体の相関関係を複数のコンポーネントの相関関係の重ね合わせに分解し、この重ね合わせ方法は公式を通じて調整できます。このような方法は説明が簡単で、非技術者にとっても比較的理解しやすいです。これは、製品や運用担当者などの非技術者にアルゴリズムのアイデアを説明する上で大きな意義があります。最後に、この式は実際の計算において非常に効率的なエンジニアリング最適化を実行できるため、他の相関計算方法では対応が難しいビッグデータ環境の膨大なデータに簡単に対応できます。

VSM は「刃のない重い剣、努力のない偉大な創意工夫」というメソッドです。形式はシンプルですが、多様性に富んでいます。その本質を理解すれば、大きな力を発揮できます。

現象を通して本質を見る:隠された意味モデル

先ほど、テキスト データの「明示的な」使用法をいくつか紹介しました。明示的とは、読みやすく理解しやすいテキスト自体を、関連性の計算、アイテムの再現、モデルのランキングの特徴として使用することを意味します。これを行う利点は、シンプルで直感的であり、何が機能しているかを明確に確認できることですが、欠点は、テキストの表面下に隠された深い情報を取り込むことができないことです。たとえば、「ダウンジャケット」と「コットンコート」は似たものを指し、「ダウンジャケット」と「コットンシューズ」は強い相関関係があります。このような深い情報は明示的なテキスト処理では捕捉できないため、捕捉するにはより複雑な方法が必要です。潜在的意味解析 (LSA) は、この種の方法の創始者の 1 つです。

潜在的意味モデルにおける「隠れた」とは、暗黙のトピックを指します。このモデルの中心的な前提は、文書は多くの単語で構成されているものの、これらの単語の背後には多くのトピックは存在しないというものです。言い換えれば、言葉は単に根底にあるテーマ、つまり核となるメッセージによって生成されるだけなのです。単語からトピックへ移行するというこの考え方は、このあと紹介する他のモデルにも貫かれており、またさまざまなテキスト主題モデル(トピックモデル)の共通の中心となる考え方でもあるため、この考え方を理解することは非常に重要です。

ドキュメントに対して LSA 分解を実行する前に、ドキュメントと単語の関係を構築する必要があります。5 つのドキュメントと 5 つの単語で構成される簡単な例は次のとおりです。

LSA アプローチは、次の形式で元の行列 C の SVD 分解を実行することです。

ここで、U は行列 CCT の直交固有ベクトル行列、V は行列 CTC の直交固有ベクトル行列、∑k は最初の k 個の特異値を含む対角行列、k は事前に選択された次元削減パラメータです。

  • 元のデータの低次元表現が得られます。削減された次元にはより多くの情報が含まれ、各次元はトピックを表すものと考えることができます。
  • 次元削減後の各次元には、同義語や多義性の識別など、より豊富な情報が含まれます。
  • トレーニング文書に存在しない文書 d は、新しいベクトル空間のベクトルに変換することができます (このような変換では、単語の共起や新しい単語の出現など、新しい文書内の情報をキャプチャできないため、モデルを定期的に完全にトレーニングする必要があります)。これにより、次元削減後の空間で文書間の類似性を計算できます。新しいベクトル空間には同義語などのより深い情報が含まれているため、このような変換により類似度計算の精度と再現性が向上します。

LSA がこのような機能を備えているのはなぜでしょうか。次の観点から見ることができます。CCT 内の各要素 CCTi,j は、単語 i と単語 j の両方を含むドキュメントの数を表し、CTC 内の各要素 CTCi,j は、ドキュメント i とドキュメント j で共有される単語の数を表します。したがって、これら 2 つの行列には、異なる単語の共起と文書内の単語の共有が含まれています。この情報を分解することで、キーワードよりも情報量が多いトピックに似た低次元データを取得できます。

別の観点から見ると、LSA はドキュメントのソフト クラスタリングに相当します。次元削減後の各次元はクラスと見なすことができ、この次元上のドキュメントの値は、ドキュメントがこのクラスターに属する度合いを表します。

LSA は、処理後のデータ推奨で何に使用できますか? まず、従来の単語ベースのインデックスの代わりに、分解された新しいディメンション (トピック ディメンション) をインデックスの単位として使用してアイテムをインデックスし、アイテムに対するユーザーの行動を新しいディメンションに対する行動にマッピングできます。これら 2 つのデータが準備された後、新しいデータ次元を使用して候補製品をリコールできます。リコール後、VSM を使用して類似度を計算できます。前述のように、次元削減後の計算により、精度とリコール率が向上し、ノイズ ワードの干渉も軽減されます。通常、2 つのドキュメントに共通の単語がない場合でも、それらの間には相関関係があり、これが LSA がもたらす主要な利点の 1 つです。さらに、モデルをランキングするためのランキング機能としても使用できます。

簡単に言えば、LSA の本質は元のデータに対して意味的な次元削減を実行することであり、より豊富な情報を持つキーワードとして扱うだけでよいため、通常のキーワードに使用できるすべての方法は LSA にも適用できます。

LSA はキーワードに比べて大きな進歩を遂げており、主に情報量の増加、次元の縮小、同義語や多義語の理解に反映されていることがわかります。ただし、LSA には次のような欠点もあります。

  • トレーニングの複雑さは高いです。 LSA は SVD を通じてトレーニングされますが、これは非常に複雑で、膨大な文書と膨大な語彙のコンテキストで計算するのは困難です。計算の複雑さを軽減するための最適化手法はいくつかありますが、問題は根本的に解決されていません。
  • 検索(想起)の複雑さは高い。前述のように、リコールに LSA を使用するには、まずドキュメントまたはクエリ キーワードを LSA ベクトル空間にマッピングする必要があり、これは明らかに時間のかかる操作です。
  • LSA の各トピックの各単語の値には確率的な意味はなく、負の値になることもあります。数値間の関係を反映することしかできません。これにより、トピックと単語の関係を確率的な観点から解釈して理解することが難しくなり、結果のより豊かな利用が制限されます。

確率の魔法: 確率的潜在意味モデル

潜在意味モデルの力をさらに発展させ、LSA モデルの問題を克服するために、トーマス・ホフマンは 1999 年に確率的潜在意味解析 (pLSA) モデルを提案しました。前回の LSA の紹介から、特定の最適化手法では行列分解が使用されていることがわかりますが、別の観点から見ると、分解された 2 つの行列 U と V のベクトルは、それぞれ潜在的意味空間における文書と単語の表現を表すと考えることができます。たとえば、文書の潜在ベクトルは (1,2,0)T として表され、これは、その値が最初の次元では 1、2 番目の次元では 2、3 番目の次元では 0 であることを意味します。これらの値が確率分布を形成できれば、モデルの結果が理解しやすくなるだけでなく、多くの優れた特性ももたらされます。これが pLSA の考え方の核心です。つまり、ドキュメントと単語の関係を確率分布と見なし、この確率分布を見つけようとします。ドキュメントと単語の確率分布があれば、必要なものはすべて手に入ります。

pLSAの基本的な仮定では、文書dと単語wの生成プロセスは次のようになります。

  • 確率P(d)で文書dを選択します。
  • 確率P(z|d)で隠しクラスzを選択します。
  • 確率P(w|z)でzからwを生成します。
  • P(z|d)とP(w|z)はどちらも多項分布です。

このプロセスは結合確率として表現できます。

図1 pLSA生成プロセス

ご覧のとおり、潜在変数 z を中間ブリッジとして使用してドキュメントと単語を接続し、明確に定義された連動した確率生成チェーンを形成します (図 1 を参照)。 pLSA の核は確率モデルですが、LSI と同様の行列分解形式で表現することもできます。この目的のために、LSI の等号の右側にある 3 つの行列を再定義します。

この定義によれば、元の行列 C は C=U∑VT と表すことができます。この対応により、確率の観点から見た上記の pLSA の適切な定義と明確な意味をより明確に理解できるようになり、潜在的意味確率モデルと行列分解の密接な関係も明らかになります (確率モデルと行列分解の密接な関係については、このドキュメントを参照してください: http://www.cs.cmu.edu/~epxing/Class/10708-15/slides/LDA_SC.pdf)。この定義では、潜在変数 z によって表されるトピックがより明白です。つまり、z をトピックとして明確に見なすことができ、トピック内の単語とドキュメント内のトピックには明確な確率的意味があります。このような優れた特性と最適化手法の利便性が相まって、テキスト トピックは pLSA をはじめとするさまざまなビッグ データ アプリケーションで重要な位置を占めるようになりました。

行列の観点から見ると、LSA と pLSA は非常に似ていますが、その意味合いは根本的に異なります。最も重要な点は、最適化の目標がまったく異なることです。LSA は基本的に SVD 分解後の行列と元の行列の間の二乗誤差を最適化するのに対し、pLSA は基本的に標準的な機械学習最適化ルーチンである尤度関数を最適化します。まさにこの本質的な違いにより、両者の最適化結果と説明力は異なります。

これまで、pLSA は確率分布の観点から LSA の考え方を大幅に拡張し、より優れた特性を持つ結果を得たことを見てきました。ただし、pLSA にはまだいくつかの問題があり、主に次のようになります。

  • pLSA はドキュメントごとにドキュメントレベルのパラメータのセットを生成するため、モデル内のパラメータの数はドキュメントの数に比例し、ドキュメントの数が多いと過剰適合が発生しやすくなります。
  • pLSA は各ドキュメント d をトピックのセットの混合物として表現しますが、特定の混合比に対応する生成確率モデルはありません。つまり、トレーニング セットに含まれない新しいドキュメントの場合、pLSA は適切なトピック分布を提供できません。つまり、pLSA は完全に生成的なモデルではありません。

LDA の出現はこれらの問題を解決するためです。

確率の確率: 生成確率モデル

前述の pLSA の問題を解決するために、David Blei らは 2003 年に Latent Dirichlet Allocation (略して LDA) と呼ばれる新しいモデルを提案しました。この名前は非常にわかりにくく、モデルが何であるかは不明瞭です。ここでは、考えられる解釈を試みます。

  • 潜在的: この単語を説明する必要はありません。これは、このモデルがまだ潜在的セマンティック モデルであることを意味します。
  • ディリクレ: この単語は、モデルに含まれる主要な確率分布であるディリクレ分布を指します。
  • 割り当て: この単語は、このモデルの生成プロセスがディリクレ分布を使用してトピックと単語を連続的に割り当てることを意味します。

上記は公式な説明ではありませんが、このモデルを理解する上で役立つと思います。

LDA の中心的なアイデアは、pLSA の外側に事前のレイヤーをラップすることです。これにより、ドキュメント内のトピック分布とトピックの下の単語分布に生成確率が与えられ、前述の pLSA の「非生成」問題が解決されます。また、モデル内のパラメーターも削減されるため、pLSA の別の問題も解決されます。 LDA で文書 di の単語を生成するプロセスは次のとおりです。

  • ポアソン分布から文書の長さとして数値 N をサンプリングします (この手順は必須ではなく、後続のプロセスには影響しません)。
  • ドキュメント内のトピックの分布を表すディリクレ分布 Dir(α) からサンプル θi をサンプリングします。
  • サンプルのセットΦkは、各トピックの単語の分布を表すディリクレ分布Dir(β)からサンプリングされます。
  • 1からNまでの各単語wnについて:
    • 多項分布Multinomial(θi)からトピックci,jをサンプリングします。
    • 多項分布Multinomial(Φi)から単語wi,jをサンプリングします。

図2 LDA生成プロセス

文書の長さを選択する最初のステップを無視すると、pLSA と比較して、LDA の生成プロセスでは、トピックへの文書の分布と単語へのトピックの分布に確率のレイヤーが追加され、両方に不確実性のレイヤーが追加されていることがわかります。これにより、トレーニング ドキュメントに登場していない文書や単語を自然に適応させることが可能になり、LDA は pLSA よりも優れた確率特性を備えています。

LDAの応用

このセクションでは、LDA を類似度計算やランキング機能として使用する場合に注意すべき点を紹介し、さらにさまざまな角度から LDA で表現されるテキスト トピックの推奨システムへの応用を紹介します。

類似度の計算

前述のように、LSA は類似度計算のために VSM に直接適用できます。同様の計算は LDA でも実行できます。具体的な方法は、ドキュメントのトピック分布値をベクトル化し、コサイン式を使用して計算することです。しかし、LDA によって与えられるトピック分布は意味が明確な確率値であり、確率間の類似度を測定することで測定する方が合理的であるため、コサイン類似度を KL 情報量や Jensen-Shannon 情報量に置き換える方が効果的です。

並べ替え機能

アイテムの LDA トピックをランキング モデルの特徴として使用するのは自然なことですが、すべてのトピックが役立つわけではありません。一般的に、アイテムのトピック分布には 2 つのタイプがあります。

  • 比較的大きな確率を持つトピックがいくつか(3 つ以下)あり、残りのトピックを合計すると、比較的小さな確率になります。
  • すべてのトピックの確率値は類似しており、比較的小さいです。

最初のケースでは、比較的高い確率を持つ最初のいくつかのトピックのみが役に立ちますが、2 番目のケースでは、基本的にすべてのトピックが役に立ちません。では、この 2 つの状況をどのように識別するのでしょうか。最初の方法は、トピックの確率値に基づいて、K を 2 として、単純な K 平均法クラスタリングを実行することです。最初のケースの場合、2 つのクラスのトピックの数はかなり異なります。1 つのクラスには少数の有用なトピックが含まれ、もう 1 つのクラスにはその他の役に立たないトピックが含まれます。一方、2 番目のケースでは、トピックの数はあまり変わらないため、この方法を使用してトピックの重要性を識別できます。 2 番目の方法では、トピック分布の情報エントロピーを計算できます。最初のケースに対応する情報エントロピーは比較的小さく、2 番目のケースに対応する情報エントロピーは比較的大きくなります。適切なしきい値を選択することで、これら 2 つのケースを区別することもできます。

アイテムのタグ付けとユーザーのタグ付け

アイテムに対応するトピックと、トピックの下の対応する単語の分布を計算した後、最も確率の高いトピックをいくつか選択し、これらのトピックから最も確率の高い単語をいくつか選択してアイテムのラベルとして使用できます。これに基づいて、ユーザーがアイテムに対してアクションを実行すると、これらのタグがユーザーに伝播されます。

この方法で生成されたラベルは非常に直感的な説明があり、適切なシナリオで推奨される説明の理由として役立ちます。たとえば、モバイルデバイスでパーソナライズされたプッシュ通知を行う場合、テキストを表示できるスペースは非常に小さいです。上記の方法を使用して最初にアイテムにラベルを付け、次にユーザーに基づいてラベルをユーザーに配布することができます。プッシュするときに、これらのラベルの単語は、リコールソースと推奨理由の両方として使用できるため、ユーザーはなぜそのような推奨が行われたかを理解できます。

トピックと単語の重要度指標

LDA トレーニングによって生成されたトピックは同じ位置にありますが、重要度は異なります。一部のトピックには重要な情報が含まれていますが、他のトピックには含まれていません。たとえば、トピックには「教育、読書、学校」などの単語が含まれる場合があり、このようなトピックに関連する文書は一般的に教育に関連しているため、これは情報量の多いトピックです。逆に、一部のトピックには「第 1 巻、第 2 巻、第 3 巻...」などの単語が含まれる場合があります (書籍販売 Web サイトのすべての書籍で LDA をトレーニングすると、多くの書籍セットにこのような情報が含まれているため、このようなトピックを取得できます)。このようなトピックに関連する文書は任意のトピックである可能性があるため、このようなトピックは情報量の少ないトピックです。

トピックが重要かどうかをどのように見分けるのでしょうか? 上記の例からヒントを得ることができます。重要なトピックはどこにでも現れるわけではなく、少数の関連ドキュメントにのみ現れますが、重要でないトピックはさまざまな記事に現れる可能性があります。この考え方に基づいて、情報エントロピー法を使用してトピックの情報量を測定することができます。 LDA出力情報を適切に変換することにより、さまざまなドキュメントでトピック分布を取得し、一般的に言えば、エントロピーを計算します。したがって、私たちの問題では、トピックの情報エントロピーが小さいほど、それが対応するドキュメントが少なく、トピックの重要性が高くなります。

同様の方法を使用して、単語の重要性を計算することもできますが、ここでは説明しません。

より多くのアプリケーション

上記に加えて、LDAには他の多くのアプリケーションがあり、画像などのテキスト以外のフィールドでも広く使用されています。 LSA/PLSA/LDAなどのトピックモデルのコアファンデーションは、このコアファンデーションを把握することにより、ドキュメントの単語の共発生です。たとえば、コラボレーションのフィルタリングの問題では、基本的なデータは、テキストトピックモデルの基礎を形成するアイテムに対するユーザーの共通の動作でもあります。

コンテキスト情報のキャプチャ:神経確率論的言語モデル

LDAが代表するテキストトピックモデルは、単語の共起情報を分解することにより多くの有用な情報を取得します。

  • 単語を生成する過程で、以前に生成された単語は、次の生成された単語に影響を与えません。
  • 2つのドキュメントに同じ単語が含まれているが、異なる順序で含まれている場合、LDAの目には同一と見なされます。

このような仮定により、LDAはいくつかの重要な情報を失います。

word2vectorの中心的なアイデアは、1つの文で要約できます。単語は、保持している会社によって特徴付けられます。

これは非常に哲学的なことわざであり、イディオム「羽の鳥が一緒に群がる」に非常に似ています。具体的には、単語ベクトルモデルは、「周囲の単語=> current Word =>囲まれた単語」のようにトレーニングサンプルを構築し、図3に示すように、トレーニングの入力ベクトル表現が単語のベクトル表現になります。

このトレーニング方法は、2つの単語が類似したコンテキストを持っている場合(コンテキストは周囲の単語で構成されている場合)、2つの単語に同様のベクトル表現があることを本質的に述べています。単語のベクトル表現により、最も一般的なことは、このベクトル表現の層をより深いモデルの埋め込み層として使用することです。ディープラーニングでの使用に加えて、推奨システムで実行できる他の多くのことがあります。その1つは、単語をクラスターして同様の単語を見つけることです。 LDAは、Word2VECとLDAを使用して計算された結果の違いは、単語のクラスタリングと計算を実行できることを知っています。たとえば、「Apple」、「Xiaomi」、「Samsung」はLDAメソッドの1つのトピックでクラスター化される可能性がありますが、単語ベクトルの観点からは、「Apple」と「Xiaomi」は、「ジョブ」と「レイジュン」の間の「レイジュン」のように、ワードベクトルの下でのベクトルのベクトルには、vector( (レイジュン)」。

さらに、Word2Vecには「コンテキストに基づいて現在のコンテンツを予測する」機能があるため、適切な変更後にユーザーの動作の好みを予測するためにも使用できます。まず、ユーザーの動作ログを収集し、セッションに分割して、このデータでWord2VECモデルをトレーニングすることにより、「コンテキストの動作に基づいて現在の動作を予測する」モデルを取得できます。しかし、元の動作データのオブジェクトは、製品やビデオのIDなどのIDレベルにあります。たとえば、ユーザーの検索用語のWord2Vecモデルをトレーニングしてから、彼の履歴検索動作に基づいて次の検索動作を予測し、これに基づいて推奨事項を作成できます。この方法は、コンテキストを考慮しますが、Word2Vecのアイデアは「コンテキストに基づいて現在のコンテンツを予測する」ことであるため、次の関係を適切に処理しませんが、「歴史的行動に基づいて次の動作を予測する」ことです。たとえば、ユーザーの動作シーケンスは「ABCDE」であり、各文字はアイテム(またはキーワード)の動作を表します。最終モデルで本当に期待される結果を得るために必要です。

この方法に従って生成された予測の例を次に示します。

予測された検索用語は、歴史的な検索用語(学生の机やソーセージグリルの例など)またはリンプルの例などの拡張と密接に関連しています。この方法に沿って、Word2Vecをさらに変更してタイミング関係に敏感なモデルを取得し、RNNやLSTMなどの純粋なタイミングモデルを使用して予測結果を向上させることができますが、スペースの制限により、ここでは拡張しません。

業界アプリケーションの現在の状況

テキストテーマモデルが提案された後、テキストデータに意味のある確率の特性とクラスタリングおよび抽象化能力により、インターネット上のさまざまな業界で広く使用されています。 Search Giant Googleは、システムのあらゆる面でテキストテーマモデルを広く使用しており、この目的のために大規模なテキストテーマシステムのrephilを開発しました。たとえば、ユーザー検索の広告を生成するプロセスでは、テキストテーマは、広告製品の成功における重要な要因の1つであるWebページのコンテンツと広告間の一致の程度を計算するために使用されます。さらに、テキストトピックを使用して、ユーザーの検索用語とWebページ間の関係を一致させるときに、一致するリコールと精度を向上させることもできます。 Yahoo!は、検索ソートモデルでLDAテーマ機能も使用しており、この目的のために有名なYahoo!LDAツールのソースも開きました。

中国では、テキストテーマの最も有名なシステムは、Tencentによって開発された孔雀システムです。このシステムで使用されるHDP(階層ディリクレプロセス)モデルは、LDAモデルの拡張であり、データ内のトピックの数をインテリジェントに選択でき、長期尾のトピックをキャプチャする機能も備えています。 Tencentに加えて、テキストテーマモデルは、各企業の推奨、検索、その他のビジネスでも広く使用されており、使用方法はそれぞれのビジネスによって異なります。

Word2Vecで表されるニューラルネットワークモデルは、近年広く使用されています。 Facebookは、Word2VECの代替FastTextを開発しました。

要約と展望

単純なテキストキーワードから、構造、寸法削減、クラスタリング、確率、タイミングのアイデアに沿って、候補コレクションリコール、相関計算、推奨システムでモデル特性のソートなどの特定のアプリケーションと組み合わせて、推奨システムで一般的に使用される自然言語処理技術と特定のアプリケーション方法を紹介します。自然言語加工技術は、深い学習の風で近年大きな進歩を遂げており、推奨システムとの密接な関係は、推奨システムがこの点で改善するための大きな余地がまだあることを意味します。

<<:  世界情報会議が開幕、ロビン・リー、ジャック・マー、劉伝志ら著名人が集結

>>:  TensorFlow を使用してシンプルなロジスティック回帰モデルをゼロから構築する

ブログ    
ブログ    
ブログ    

推薦する

...

ガートナーなど権威ある組織:人工知能、国内外のどのAI技術が強いのか?

2020年末、我が国は第14次5カ年計画を発表し、2035年までの中国の長期目標を策定しました。 ...

まばたきが正常かどうか判断し、フェイク動画対策にも人工知能が活用されています!

AIが生成したPS動画は本物と見分けがつかないほどに進化している。昨年、ミシェル・オバマに似せるた...

ジェネレーティブ AI: 誇大宣伝以上の価値を生み出す 3 つの重要な要素

最近、ガートナーは、生成型人工知能 (GenAI) を新興技術の誇大宣伝サイクルにおける「過大な期待...

AutoML 2.0: データ サイエンティストは時代遅れか?

AutoML はここ数年で急速に成長しました。そして、景気後退が避けられない状況となった今、人工知...

AI はモノのインターネットをどのように改善するのでしょうか?

スマートテレビやスマート冷蔵庫からスマートフォンやスマート音声デバイスまで、モノのインターネット (...

...

モバイルロボットソフトウェアの自動テストの課題への対応

自動化されたモバイル ホーム ロボットの複雑さを探り、セットアップの特有の課題と制約の克服に焦点を当...

高校生たちは皆ニューラルネットワークを勉強しており、教師である私は圧倒されています

[[356670]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

...

...

デジタルパフォーマンスの向上における人工知能の役割

AI は、正確なバイヤーペルソナをターゲットにすることで、パーソナライゼーションを迅速かつ簡単に実現...

...

...

「ニューラル+シンボリック」:知識グラフの観点から見た認知推論の発展

[[376956]]過去10年間の人工知能の波の中で、ディープラーニングに代表される人工知能技術は、...