NLP のコア知識ポイント

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ここに画像の説明を挿入します
ここに画像の説明を挿入します
2013 年、Google はニューラル ネットワークの事前トレーニングを通じて単語ベクトル (Word Embedding) を生成する Word2vec [4] を提案し、深層自然言語処理の開発を大きく促進しました。Word2vec によって生成された固定語ベクトルでは多義性の問題を解決できないという事実を考慮して、2018 年に Allen AI チームは双方向 LSTM ネットワークに基づく ELMo[5] を提案しました。ELMo は、文脈上の意味論に基づいて動的な単語ベクトルを生成し、多義性の問題をうまく解決します。2017 年末に、Google は自己注意メカニズムに基づいた Transformer [6] モデルを提案しました。Transformer は、RNN モデルと比較して、より強力な意味特徴抽出機能、長距離特徴キャプチャ機能を備え、並列トレーニングが可能であり、機械翻訳などの NLP タスクに大きな効果をもたらします。Open AI チームの GPT [7] は、深い一方向言語モデルの事前トレーニングのために RNN を置き換える Transformer を使用し、下流タスクの微調整を通じて Pretrain-Finetune パラダイムの有効性を検証しています。これに基づいて、Google BERT は 2 つの事前トレーニング タスク、MLM (マスク言語モデル) と NSP (次文予測、NSP) を導入し、大規模なコーパスで事前トレーニングされ、11 の自然言語理解タスクで最良の指標を更新しました。

埋め込みワード ベクトル
ハグ、シティ
アテンション メカニズム: ワード ベクトルの再構築

ここに画像の説明を挿入します

ここに画像の説明を挿入します
参考:https://www.bilibili.com/video/BV1v3411r78R?p=4&vd_source=38e7fc10713eca999c22c7ff25f6e6d2

ここに画像の説明を挿入します

ここに画像の説明を挿入します

数学

1. ベイジアン、オムの剃刀、最尤法

2. マルコフ
https://www.bilibili.com/video/BV1dR4y1R7an/?spm_id_from=333.337.search-card.all.click&vd_source=38e7fc10713eca999c22c7ff25f6e6d2
ここに画像の説明を挿入します
ここに画像の説明を挿入します

3. 条件付きランダムフィールド CRF
4. 大規模言語モデル (LLM)

1. NLPとは何ですか?

自然言語処理は人間の自然言語を研究対象としており、機械に自然言語を理解させることを目指しています。

NLP の中核となるタスクは何ですか? 自然言語理解 (NLU) と自然言語生成 (NLG) の
2 つに大きく分類され、前者は自然言語 (音声/テキスト) から「意味論 (人間が言語で表現したい意味) を抽出する」ことに重点を置いています。後者は、機械文学の作成など、「特定の意味論に基づいて人間の表現習慣を組み合わせた自然言語 (音声/テキスト) の生成」に焦点を当てています。
ここに画像の説明を挿入します

NLP の応用シナリオは何ですか?
質疑応答システム
非常に古典的なアプリケーション シナリオは、ユーザーが質問し、マシンがそれに答えるという質疑応答システムです。一般的に、質疑応答システムの基本的な枠組みは図 1 に示されています。このマシンは、大規模なコーパス (おそらくある種の百科事典) から知識を抽出し、知識ベースを構築し、その知識ベースに基づいてユーザーが提起した質問に、最も適切な回答に基づいて応答します。より代表的な質問応答システムは、IBM の Watson です。
ここに画像の説明を挿入します

図 1 質疑応答システムの基本パイプライン
技術的なボトルネックにより、すべてを把握した質疑応答システムを実装することは依然として困難である 現行の質疑応答システムの多くは、特定の分野や分野を対象とした質疑応答システムであるタスク。

センチメント分析
センチメント分析とは、ある文章がどのような感情を持っているかを分析するもので、世論監視、イベント監視、商品レビュー分析、株価動向予測など、多くの応用事例があります。ほとんどのセンチメント分析は、特定のテキスト/スピーチに反映されるセンチメントが肯定的、否定的、または中立的であるかどうかを分析することを指す粗粒度の分析です。ただし、シナリオによっては、この分析があまり効果的でない場合があります。ユーザーのレビューを例にとると、ユーザーはショッピング体験を完全に肯定することも完全に否定することもできず、ショッピングモール/レストラン/ホテルに対する評価は、サービス態度を肯定し、環境全体を否定するなど、多面的な場合があります。そのため、「誰かが何かのどのような側面に対してどのような態度をとっているのか」を分析する、きめ細かい感情分析が行われます。

機械翻訳
機械翻訳も古典的なアプリケーション シナリオの 1 つであり、Google 翻訳、Youdao Translation、DeepL、Youdao Translation、DeepL などの多くの有名な製品があり、デスクトップ、Web、モバイル端末に導入できます。翻訳を容易にするためです。

少し前に、NetEase も Youdao 翻訳ペン (広告ではありません) を発売しましたが、本体が小さくて語彙が豊富で、個人的な経験から、翻訳品質は問題ないと感じています。

自動要約:
自動要約により、長い文章が短い表現に凝縮されます。

情報抽出
情報抽出は、実際には、上の図 1 のコーパスから知識ベースへのプロセスにおけるテクノロジーであり、非構造化テキスト データから情報を抽出し、それを構造化された知識ベースに編成することが行われます。

対話システム
対話システムは質疑応答システムと非常によく似ています。実際、質疑応答システムは対話システムの特殊なケースだと考える人もいます。ただし、質疑応答システムは通常、特定の事実に関する質問に答えるように設計されていますが、対話システムは対話は、よりリラックスしていて退屈になる可能性がありますが、特定のタスクに関する真剣な対話になる場合もあります。

一般的なテキスト処理テクノロジ
一般に、NLP アプリケーション システムには、図に示すように、テキスト データ収集 -> テキスト前処理 -> 特徴抽出 -> モデリングといういくつかの一般的なプロセスが含まれます。
ここに画像の説明を挿入します
NLPプロジェクトの主なプロセス
ここに画像の説明を挿入します

参考:
https://zhuanlan.zhihu.com/p/149752281
https://blog.csdn.net/weixin_41250910/article/details/99666809

テキスト前処理テクノロジー: テキスト データを収集した後、特定の分析を実行する前に、通常、単語の分割、スペル修正、ストップ ワード フィルタリング、単語の標準化などを含むテキストの前処理が必要です。

特徴抽出: テキスト表現の基礎。テキスト表現は、NLP の分野における主な研究の焦点です。主に、テキストを分析するための機械学習手法の使用を容易にするために、テキストを「ベクトル」として表現することを指します。テキスト表現の研究において、より重要な 3 つの側面は、単語表現、文表現、および類似性の測定です。

  • 1. テキストの前処理
    : データのクリーニング、単語の分割など。
  • 2. 特徴抽出
    (1) 特徴エンジニアリングは、
    単語の分割をコンピュータで計算できるタイプ (通常はベクトル) に表現します。 従来
    の ML 機能 (tf-idf 機能など、主にキーワードの抽出に重点を置いています) の
    構文、意味情報 (
    (2) 特徴選択:
    適切で表現力豊かな特徴を選択します
    一般的な特徴選択方法には、DF、MI、IG、CHI、WLLR、WFO などがあります。
  • 3. モデルの構築
    機械学習モデル: KNN、SVM、Naive Bayes、Decision Tree、GBDT、K-means など
    ディープモデル: TextCNN、TextRNN、TextRCNN、Bert

2. 統計的言語モデル

統計的言語モデルのモデリング手法 (統計的学習手法を使用して言語モデルを構築する方法)

  • 1. 統計的言語モデルの基本的な考え方: 文の確率 p(S) S=w1,w2,…,wn を使用して文の合理性を特徴付ける
  • 2. パラメータ学習に最尤推定を使用する
  • 3. マルコフ仮説と N-gram モデルを使用して、統計言語モデルのパラメーターが多すぎる問題を解決します。
  • 4. データ平滑化を使用して、小さなサンプルによって引き起こされるゼロ確率問題を解決します
    参考リンク: https://blog.csdn.net/AAArwei/article/details/128649938

統計的言語モデル
簡単に言えば、言語モデルとは、文の確率、つまり文が人間の音声であるかどうかを判断する確率を計算するために使用されるモデルです。
では、文の確率をどのように計算するのでしょうか? 与えられた文(単語の並び)
ここに画像の説明を挿入します

その確率は次のように表すことができます。
ここに画像の説明を挿入します
ただし、この方法には 2 つの致命的な欠陥があります。
1. パラメータ空間が大きすぎます。条件付き確率 P(wn|w1,w2,…,wn-1) には可能性が多すぎるため、推定できません。役に立ちそうにありません;
2. データが非常にまばらです: コーパスに現れない非常に多くの単語ペアの組み合わせの場合、最尤性に基づいて推定される確率は 0 になります。

マルコフ仮説は、
パラメーター空間が大きすぎる問題を解決するために使用されます。マルコフ仮説が導入されています。つまり、ランダムな単語が出現する確率は、その前に出現する限られた 1 つまたは複数の単語にのみ関係します。

マルコフ仮説は、
パラメーター空間が大きすぎる問題を解決するために使用されます。マルコフ仮説が導入されています。つまり、ランダムな単語が出現する確率は、その前に出現する限られた 1 つまたは複数の単語にのみ関係します。

単語の出現が周囲の単語から独立している場合、それをユニグラムと呼びます。これはユニグラム言語モデルです。ここに画像の説明を挿入します

単語の出現がその前に出現する単語のみに依存する場合、それをバイグラムと呼びます。
ここに画像の説明を挿入します

単語の出現がその前に出現する 2 つの単語のみに依存すると仮定すると、それをトライグラムと呼びます。 一般に、
ここに画像の説明を挿入します
N 値モデルは、現在の単語の出現確率が N-1 個の単語にのみ関連すると仮定します。その前の言葉。これらの確率パラメータは、大規模なコーパスを通じて計算できます。

n-gram 言語モデル
マルコフ仮定 (マルコフ仮定) を導入します、つまり、現在の単語の確率は前の n-1 個の単語にのみ依存すると仮定して、上記の式に基づいて n-gram を得ることができます
ここに画像の説明を挿入します
。言語モデルは次のように定義されます。

ここに画像の説明を挿入します

参考:https://zhuanlan.zhihu.com/p/137866579

2. 単語分割処理(Tokenize)

トークン化 – テキストをトークンに変換するプロセス
トークン – テキストで表現される単語または
エンティティ テキスト オブジェクト – 文、語句、単語、または記事

2.1 NLTK 単語の分割
2.2 吃音単語の分割
2.3 正規表現の単語分割
2.4 単語形式の処理
2.4.1 語形変化の変更 - ステミング
2.4.2 派生拡張 - 見出し語化
2.5 ストップワードの処理
リファレンス: https://www.jianshu.com/p/4ed41d0d41b6

4. ワードベクトル(埋め込み)

埋め込みとは数学の分野の用語で、実数を埋め込む有理数のように、オブジェクト X が別のオブジェクト Y に埋め込まれ、f: X → Y のマッピングを行うことを意味します。Word Embedding は、NLP における一連の言語モデルと特徴学習手法の一般名であり、語彙内の単語やフレーズを実数で構成されるベクトルにマッピングします (マッピング)。

1. ワードベクトル表現

さまざまな単語ベクトルの特徴

    1. ワンホット表現: 次元の惨事、意味論的なギャップ
    1. 分散表現:
      行列分解 (LSA): グローバルに期待される機能を使用しますが、SVD ソリューションは計算が複雑です
      NNML/RNNLM ワード ベクトルに基づく: ワード ベクトルは副産物であり、効率が低いなどの問題があります
      word2vec、fastText: 高度な最適化効率的ですが、ローカル コーパス グローブに基づいています
      : グローバル コーパスに基づいており、LSA と word2vec の利点を組み合わせています
      elmo、GPT、bert: 動的機能
      参考: https://blog.csdn.net/china1000/article/details/114994425

単語を表すために最初に1 つのホット エンコーディング
が使用されました。つまり、単語を表すために辞書サイズの長さのベクトルが使用されました。ベクトルの各次元は、特定の単語が出現するかどうかを表します。したがって、単語の場合、ベクトル全体が次元は 1 (特徴語を表す) の 1 つだけで、他の次元は 0 です。
ワン ホット エンコーディングの典型的な特徴は、高いスパース性です。スパース性が良い場合もあれば、そうでない場合もあります。非常に高いスパース性により、ストレージにある程度の冗長性がもたらされ、表現する必要があるのは 1 つの単語のみですが、単語の表現ではすべての単語のステータスが考慮されます。
ワン ホット エンコーディングの明らかな欠点は、単語間の類似性を測定できないことです。私たちの言語環境では、非常に似ている単語や表現 (同義語、同義語の概念など) もあれば、非常に異なる単語や表現もあります。たとえば、「好き」と「犬」よりも、「好き」と「愛」の方が似ていることが直感的にわかります。ワン ホット エンコーディングを使用した単語表現の場合、距離測定 (コサイン距離、ユークリッド距離、マンハッタン距離など) によって得られる 2 つの単語間の距離は同じです。

分散表現
では、実際の表現過程において単語が複数の意味を持つことを考慮しており、この特徴的な「意味」が単語の特徴的な次元と考えることができます。したがって、ヒントンは、単語を固定長の短いベクトルにマッピングできると考えて、単語の分散表現を提案しました。すべての単語のベクトルは、低次元の単語ベクトル空間を構成します。各単語は空間内の点であり、各単語は空間内の点です。空間の次元は、単語の特定の意味的な意味を表すことができます。1回のホットエンコーディングで得られる特徴ベクトルと比較すると、明らかに低次元かつ高密度な表現であり、また、点間距離計測法を利用して単語間の「距離」を計算することも可能です。しかし、単語の分散表現を学ぶにはどうすればよいでしょうか? LSA、LDA、word2vecなどの方式があります。

2. テキスト表現

テキスト表現は次のように分類できます。

  • 離散表現
    1. 単語ベクトルのワンホット表現 (ワンホット エンコーディング)
    2. テキスト表現: Bag of Word モデル (Bag Of Word)
    3. テキスト表現: TF-IDF (単語頻度 - 逆テキスト頻度)
    4 .N -グラム
    参照: https://zhuanlan.zhihu.com/p/388907117

  • 分散表現;
    行列分解 (LSA): グローバルに期待される機能を使用しますが、SVD ソリューションは計算が複雑です
    NNML/RNNLM ワード ベクトルに基づく: ワード ベクトルは副産物であり、効率が低いなどの問題があります
    word2vec、fastText: 効率を最適化します高いが、ローカル コーパス
    グローブに基づいています: グローバル コーパスに基づいており、LSA と word2vec の利点を組み合わせています
    elmo、GPT、bert: 動的機能、
    単語セグメンテーション、単語ベクトル

ここに画像の説明を挿入します

3. 多彩な表現方法

1. 離散表現

1.One-Hot
One-Hot エンコーディングは、「ワンホット エンコーディング」または「ダム エンコーディング」とも呼ばれ、最も伝統的で基本的な単語 (または文字) の特徴表現方法です。このエンコーディングは、単語 (または単語) を、辞書 (または辞書) の長さを次元とするベクトルとして表します (辞書はコーパスから生成されます)。このベクトルでは、現在の単語位置の値は 1 で、残りは 1 です。位置は0です。One-Hot エンコーディングを使用して単語ベクトルを表現するのは非常に簡単ですが、欠点も明らかです。一方で、私たちが実際に使用する語彙は非常に大きく、多くの場合 100 万レベルを超えます。このような高次元データを処理すると、時間の経過とともに、大量のコンピューティング リソースを消費します。一方、One-Hot 符号化ではすべての単語ベクトルが互いに直交しており、単語間の類似関係が反映されません。

One-Hot ワンホット エンコーディングの欠点:
次元が高すぎる: コーパスが増加するにつれて、次元がますます大きくなり、次元の惨事につながる;
セマンティクスが保持されない: 単語間の順序と単語間の関係が考慮されない間の相互作用;
スパース行列: 取得された特徴行列は離散的かつスパースです。

2. 単語セット モデル/バッグオブワード モデル
Set Of Word モデル: コーパス内の単語の集合。各単語は 1 回だけ出現します (テキスト内に 1 回出現する単語は、複数回出現するのと同じです)。
Bag Of Word モデル: 名前が示すように、文法に関係なく、コーパス内のすべての単語がバッグに入れられ、各単語の出現数がカウントされます。
単語セット モデルは、単語がテキスト内に出現するかどうかのみを考慮し、単語の頻度は考慮しません。バッグオブワード モデルは、単語の頻度を考慮しますが、単語間の前後関係を考慮しません。つまり、頻度 (重み) のみを考慮します。本文中に登場する単語のこと。
ここに画像の説明を挿入します

バッグオブワード モデルの欠点:
スパース行列: One-Hot コーディングと同様、結果の特徴行列は離散的かつスパースです;
単語間の関係は考慮されません: 単語の重みのみが考慮されます。

3.TF-IDF (用語周波数 - 逆テキスト周波数)
TF-IDF は、情報検索とテキスト マイニングに一般的に使用される重み付けテクノロジです。これは実際には、文書やコーパス内での単語の出現頻度に基づいて単語の重要性を計算する統計的手法です。
ここに画像の説明を挿入します
TF-IDF の欠点:
単語間の関係が考慮されていない: 依然として文内の単語の位置を保持できない;
データ セットのスキューの影響を受けやすい: 特定のカテゴリ内のドキュメントが多すぎると、 IDFの過小評価につながります。

4. N-gram は
TF-IDF を用いて単語の重要性を表現できますが、単語の順序を表現することはできません。たとえば、「私はあなたが好きです」と「あなたは私が好きです」は実際には 2 つのまったく異なる意味を表しますが、TF-IDF はこれら 2 つの文を同じベクトルとして表します。
文の語順を導入するにはどうすればよいですか? N-gram モデルはマルコフ仮説に基づいて提案されています。つまり、次の単語の出現は前の 1 つまたは n つの単語にのみ依存し、他の単語とは関係ありませんN グラムの基本的な考え方は、バイト サイズが n のスライディング ウィンドウに従ってテキスト内のコンテンツを操作し、長さが n のバイト フラグメントのシーケンスを形成することです。m 個の単語で構成されるテキストがあると仮定すると、テキスト全体の出現確率がテキスト内の各単語の出現確率の積に等しいことが期待されます。

N-gram の利点: 文中の単語間のつながりをよりよく記録する;
N-gram の欠点: n が大きいほど文の完全性は高くなりますが、単語の次元が指数関数的に増加するため、一般にn の値は 2 または 3 です。

2. 分散表現

1.word2vec
word2vec のアイデアは、モデルを使用してワンホット ワード ベクトルをトレーニングし、各単語をより短い単語ベクトルにマップすることです。次元はトレーニング中に設定できます。これらすべての単語ベクトルはベクトル空間を形成し、通常の統計手法を使用して単語間の関係を調べることができます。
word2vec の基本的な考え方は分散表現の考え方であり、図 3 に示すように、CBOW と Skip-gram という2 つの重要なモデルがあります。どちらのモデルにも入力層、中間層、出力層が含まれており、CBOW モデルは単語の文脈がわかっているときに現在の単語を予測し、スキップグラムは現在の単語がわかっているときに文脈を予測します。
ここに画像の説明を挿入します
ここに画像の説明を挿入します

前の 2 つのセクションでは、CBOW と Skip-gram の理想的な実装を紹介しました。つまり、2 つの行列 W と W' をトレーニングして反復し、出力層でソフトマックス関数を使用して各単語を出力する確率を計算します。しかし、実際の応用では、この方法の学習コストは非常に高く、あまり実用的ではありません。モデルを簡単に訓練できるようにするために、一部の学者は、階層的ソフトマックスとネガティブ サンプリングという 2 つの改善方法を提案しています。

ここに画像の説明を挿入します
詳細なプロセスのリファレンス:
https://www.cnblogs.com/lfri/p/15032919.html
https://zhuanlan.zhihu.com/p/61635013

利点
: 単語の文脈を考慮して、意味的および文法的な情報が学習される 取得された
単語ベクトルの次元が小さく、ストレージとコンピューティング リソースが節約される
高い汎用性があり、さまざまな NLP タスクに適用できる
欠点
: 単語と多義性の問題を解決するために、
word2vec は静的モデルであり、汎用性は高いものの、動的に最適化することができません。

2.CBOW
ここに画像の説明を挿入します
ここに画像の説明を挿入します

3.fastText
fastText は高速テキスト分類アルゴリズムです. ニューラル ネットワークに基づく分類アルゴリズムと比較して、次の 2 つの大きな利点があります:
1. fastText は高精度を維持しながらトレーニングとテストを高速化します.
2. fastText は事前トレーニングを必要としません。ベクトル、fastText は独自の単語ベクトルを学習します。
3、fastText には 2 つの重要な最適化があります: 階層的ソフトマックス、N グラム

モデル アーキテクチャ
前述したように、fastText モデル アーキテクチャは word2vec の CBOW モデル アーキテクチャと非常によく似ています。以下は、fastText モデルのアーキテクチャ図です。

ここに画像の説明を挿入します

注: このアーキテクチャ図には、ワード ベクトルのトレーニング プロセスは示されていません。CBOW と同様に、fastText モデルには入力層、隠れ層、出力層 (階層ソフトマックス) の 3 つの層しかないことがわかります。入力はベクトルで表される複数の単語であり、出力は特定のターゲットであり、暗黙的にそれぞれ層は複数の単語ベクトルの重ね合わせ平均です。違いは、CBOW の入力はターゲット単語のコンテキストであり、fastText の入力は複数の単語とその n-gram 特徴であることです。これらの特徴は 1 つの文書を表すために使用されます。CBOW の入力単語は onehot によってエンコードされます。 、および fastText の入力特徴は onehot. embedding によってエンコードされ、CBOW の出力はターゲット語彙であり、fastText の出力はドキュメントに対応するクラス ラベルです。
fastText は、入力時に単語の文字レベルの n グラム ベクトルを追加の特徴として使用することは注目に値します。出力時には、fastText は階層型 Softmax を使用するため、モデルのトレーニング時間が大幅に短縮されます。標準的なソフトマックスでは、カテゴリのソフトマックス確率を計算する際に、すべてのカテゴリの確率を正規化する必要があり、カテゴリが大きい場合には非常に時間がかかるため、階層的ソフトマックス(Hierarchical Softmax)が提案されています。カテゴリの頻度は、標準のソフトマックスを置き換えるハフマン木を構築します. 階層的なソフトマックスにより、複雑度は N から logN に削減できます. 参考リンク:
https://blog.csdn.net/feilong_csdn/article/details/88655927

fastText と cbow の違い
fastText と cbow は同じ構造を持ち、どちらも n 個の入力ユニットを持ち、隠れ層を取得し、出力ユニットを取得します。ただし、fastText はテキスト分類を出力するのに対し、cbow は予測された中間単語を出力します。
fastText と cbow の主な違いは次のとおりです。

  1. 目的は異なりますが、fastText はテキストの分類に使用され、途中で単語ベクトルも生成されますが、単語ベクトルは副産物であり、CBOW は単語ベクトルの学習に特化したツールです。
  2. cbow は単一の単語でトレーニングされますが、fastText は ngram でトレーニングされます。cbow では語順情報を導入できません。たとえば、「I love you」の語句特徴量は「I」「love」「you」ですが、「you love me」の語数特徴量は「you love me」です。は「you」「love」「me」で、文章の特徴は全く同じです。Ngram を付加すると、「I love you」の特徴は「I love」と「love you」で付加され、you love me の特徴は「you love」で付加され、この 2 つの文の特徴は異なります。 「love me.」と「love me.」では、Ngramで得られる特徴が全く異なり、この2つの文は区別できます。
  3. fastText の入力層は文の各単語と文の ngram 特徴ですが、CBOW の入力層は中間の単語のコンテキストのみであり、文全体とは何の関係もありません。
  4. fastText は、テキスト分類アルゴリズムであり、追加の注釈付きラベルを備えた教師ありモデルです。CBOW は、単語ベクトルをトレーニングするためのアルゴリズム、追加のラベルのない教師なしモデルであり、その標準は追加の注釈のないコーパス自体です。

4. 開発経緯

ここに画像の説明を挿入します
2013 年、Google はニューラル ネットワークの事前トレーニングを通じて単語ベクトル (Word Embedding) を生成する Word2vec [4] を提案し、深層自然言語処理の開発を大きく促進しました。Word2vec によって生成された固定語ベクトルでは多義性の問題を解決できないという事実を考慮して、2018 年に Allen AI チームは双方向 LSTM ネットワークに基づく ELMo[5] を提案しました。ELMo は、文脈上の意味論に基づいて動的な単語ベクトルを生成し、多義性の問題をうまく解決します。2017 年末に、Google は自己注意メカニズムに基づいた Transformer [6] モデルを提案しました。Transformer は、RNN モデルと比較して、より強力な意味特徴抽出機能、長距離特徴キャプチャ機能を備え、並列トレーニングが可能であり、機械翻訳などの NLP タスクに大きな効果をもたらします。Open AI チームの GPT [7] は、深い一方向言語モデルの事前トレーニングのために RNN を置き換える Transformer を使用し、下流タスクの微調整を通じて Pretrain-Finetune パラダイムの有効性を検証しています。これに基づいて、Google BERT は 2 つの事前トレーニング タスク、MLM (マスク言語モデル) と NSP (次文予測、NSP) を導入し、大規模なコーパスで事前トレーニングされ、11 の自然言語理解タスクで最良の指標を更新しました。

5. 文ベクトル

文ベクトルの取得方法
NLP で文ベクトルを取得するには、
(1) 単語ベクトルの後処理を介して文ベクトルを取得する、
(2) 文ベクトルを直接取得する、の 2 つの方法があります。

  • 文ベクトルを求めるための単語ベクトル
    1) 累積法:
    累積法は文ベクトルを求める最も簡単な方法であり、文中のすべてのノンストップワードの単語ベクトルを重ね合わせます。
    2) 平均単語ベクトル:
    平均単語ベクトルは、文内のすべての単語の単語埋め込みを平均し、その結果のベクトルが最終的な文埋め込みと見なされます。このアプローチの欠点は、文内のすべての単語が文の意味を伝える上で同等に重要であるとみなされることです。
    3) TF-IDF 加重平均単語ベクトル:
    TFIDF 加重平均単語ベクトルは、TF-IDF に従って各単語をスコア化し、加重平均を実行して最終的な文表現を取得します。
    4) SIF 加重平均単語ベクトル:
    ISF 加重平均法は、TF-IDF 加重平均法と同様に、各単語ベクトルに基づいて文全体の文ベクトルを求めることができます。SIF 埋め込み方法では、主成分分析と各単語の推定確率の使用が必要です。
    リンク: https://blog.csdn.net/Matrix_cc/article/details/105138478

  • 文ベクトルを直接取得する
    上記で紹介した、単語ベクトルを後処理して文ベクトルを取得する方法には、単語の順序が文全体に及ぼす影響を無視しているという最大の欠点がありました。文ベクトルを直接取得する方法。文ベクトルを直接取得するために一般的に使用される方法は、Doc2Vec と Bert です。これら 2 つの方法を以下に簡単に紹介します。
    1) Doc2Vec
    Doc2vec は Word2vec をベースに改良したもので、単語間の意味だけでなく語順も考慮されています。Doc2Vec モデル Doc2Vec には 2 つのモデルがあります。つまり、
    文ベクトル分散メモリ モデル (PV-DM)、文ベクトル分散バッグ オブ ワード (PV-DBOW) PV-DM モデル 注
    : Doc2vec の DM モデルは、Word2vec の CBOW 、DBOW モデルと非常によく似ています。 Word2vec の Skip-gram に非常に似ています。Doc2Vec は、異なる長さの段落に対して同じ長さのベクトルを学習します。異なる段落の単語ベクトルは共有されません。トレーニング セットで学習された単語ベクトルは同じ意味を持ち、共有できます。DBOW モデルは、ドキュメント ベクトルが与えられたドキュメント内でランダムにサンプリングされた単語のセットの確率を予測します。
    2) Bert は
    単語ベクトルを使用して、さまざまな後処理方法を通じて文ベクトルを取得します。最大の欠点の 1 つは、文脈の意味論を理解できないことです。同じ単語が異なる文脈では異なる意味を持つ可能性がありますが、次のように表現されます。同じ単語ベクトルは、多義語を含む文の意味計算に悪影響を及ぼします。Bert によって生成された文ベクトルには上記の欠点はありません. 同じ単語でも異なる文脈では異なるベクトルが生成されます. 多義語の単語は異なる文脈により異なるベクトルを生成します. このように, Bert によって生成された文ベクトルは意味計算に真に使用できます. . 文ベクトルを生成する際の BERT の利点は、文の意味を理解できるだけでなく、単語ベクトルの重み付けによって引き起こされるエラーを排除できることです。
    BERT は N 層のトランスフォーマーで構成されており、理論的には各層のトランスフォーマーの出力値を文ベクトルとして使用できます。ただし、実際の使用では、Bert の最後の層の値がトレーニング タスクのターゲットに近すぎ、Bert の前の層のトランスフォーマーが完全に変換していない可能性があるため、最良の効果を得るために最後から 2 番目の層が文ベクトルとして選択されます。したがって、Bert の最後から 2 番目の層を文ベクトルとして選択する方が適切です。
    参照: https://juejin.cn/post/7007326439934525471、https://zhuanlan.zhihu.com/p/350957155

ここに画像の説明を挿入します

1. 単語ベルト (バッグ) モデル: 語彙内の単語と同じ数のベクトルを使用して、文中の各単語の出現数を記録します 2. TFidF モデル: 単語の重みを考慮します 3. Word2vec
モデル
:単語ベクトルモデルは、全単語を関連単語ベクトル(文脈)に分割し、埋め込みを求め、文中の全単語のベクトルを同じ位置に加算して平均を計算します。
4. 深層学習モデル: 文内の単語の順序を考慮する
文書/文表現の
単語セット モデルは、
ワン ホット エンコーディングに似ています。文は辞書サイズのベクトルを使用して表現され、各次元は単語が文の一部であるかどうかを示します。明らかな欠点は、単語間の順序が無視され、単語の文脈情報が明示的に考慮されないことです。

バッグオブワード モデルでは、
文内の単語の頻度情報も考慮されます。

tf-idfの基本的な考え方
は、重要な出現を伴う一部の単語は重要ではない可能性があるということです。具体的には、tf-idf は、すべての文書で頻繁に出現する単語は区別できず、少数の文書でのみ頻繁に出現する単語は非常に特徴的であると考えています。したがって、文章を表現する際には、文書内での単語の出現頻度と文書全体でのその単語の出現頻度が総合的に考慮される。tf(d,w) は現在の文書 d に出現する単語の頻度を表し、idf(w) は逆文書頻度を表します (8) に示すように、N はコーパス内の文書の総数、N( w) は、文書内に単語 w が出現する回数を表します。

平均プーリングは、
word2vec などの手法に基づいて単語の単語ベクトル表現を取得できます。平均プーリングは、文を構成するすべての単語の単語ベクトルを単純かつ大まかに平均します。驚くべきことに、これは (文書の分類、類似性の測定などのタスクに) 非常にうまく機能すると言われています。

6. ネットワーク言語モデル (NNLM)

統計モデルとネットワークモデルの比較

  • 統計的言語モデル上記の基礎を踏まえて、言語モデルが何をモデル化しているのかを簡単にまとめると、シーケンスが与えられた場合、つまり n- gram
    に関係なく、次の単語の確率を予測すると考えることができると思います。
    ここに画像の説明を挿入します
    は実際には上記の式の近似値です。これを理解すれば、ニューラル ネットワーク言語モデルの本質を理解することは難しくありません。

  • ネットワーク言語モデル
    ニューラル ネットワーク言語モデル (NNLM) は、ニューラル ネットワークを構築することによって、自然言語に固有の依存関係を調査およびモデル化します。統計的言語モデルの直観性と比較すると、ニューラル ネットワークのブラック ボックス特性により、NNLM の解釈性は劣りますが、これが非常に優れた確率分布モデリング手法になることを妨げるものではありません。
    利点: (1) 長距離依存性、より多くの制約; (2) データの疎性によって引き起こされる OOV 問題の回避; (3) 適切な単語表現によりモデルの汎化能力が向上します。
    欠点: (1) モデルのトレーニング時間が長い、(2) ニューラル ネットワークがブラック ボックスであり、解釈可能性が低い。

  • 特徴としては、n-gram言語モデルが単語の共起頻度に基づく統計とみなすことができるのに対し、ニューラルネットワーク言語モデルは各単語に分散ベクトル表現を割り当て、高次元連続空間における単語の分布を探索します。実験により、ニューラル ネットワークの分散表現と非線形マッピングが自然言語のモデル化により適していることが証明されました。n 値モデルからニューラル ネットワーク言語モデルまで、ニューラル ネットワーク言語モデルが優れていることは明らかです。機械翻訳の分野における深層学習手法の画期的な進歩以来、深層学習テクノロジーは NLP における従来の手法をほぼ完全に上回りました。

ネットワーク言語モデルの開発経緯
ここに画像の説明を挿入します

7、seq2seq

書いたり更新したりする時間がない

8. アテンションアテンションメカニズム

注意関連

  1. バダナウの注意
  2. ルオン注意
  3. 自己注意
  4. その他のご注意

参考: https://blog.csdn.net/weixin_49528551/article/details/120802222
seq2seq モデルに適用される 2 つのアテンション メカニズム: Bahdanau アテンションと Luong アテンション。

2.1 注意と自己注意の違い

  1. アテンション:
    従来のアテンション メカニズムは、ターゲットの要素とソースのすべての要素の間で発生します。一般的なタスクの Encoder-Decoder フレームワークでは、入力の Source と出力の Target の内容が異なります。たとえば、英語-中国語の機械翻訳の場合、Source は英語の文、Target は対応する翻訳された中国語の文になります。
  2. セルフ アテンション
    セルフ アテンションは、その名前が示すように、ターゲットとソース間のアテンション メカニズムではなく、ソースの内部要素間またはターゲットの内部要素間で発生するアテンション メカニズムを指します。は、計算オブジェクトが発生することを除いて同じです。これは単なる変更であり、Query=Key=Value に相当し、計算プロセスはattentionと同じです。(たとえば、Transformer で重みパラメータを計算する場合、テキスト ベクトルを対応する QKV に変換するには、Source で対応する行列演算を実行するだけでよく、Target の情報は使用されません。)

違いを要約すると: 1. 自己注意 重要な点は、KQV はすべて X から来ると規定されていることです。X から X までのキーポイントを見つけます。QKV は等しく、単語ベクトルの線形変換によって得られることがわかりますが、Q=V=K=X ではなく、X がW k、W q、W vを通じて線形変換されます。2. アテンションは、クエリ変数 Q を通じて V 内の重要な情報を見つけることです。K は V から変換されます。QK=A、AV = Z (アテンション値)。Z は実際には V の別の表現であり、単語とも呼ぶことができます。構文的および意味的特徴を持つベクトル、V 3. 言い換えると、自己注意には注意よりも 2 つの制約があります: (1) Q=K=V (同じ起源) (2) Q、K、V は注意の方法に従う必要があります。やってる

9. トランスシリーズ

1. text フィールドの BERT は、
埋め込みワード ベクトルを生成し、エンコード部分を変換するために使用され、以前の Word2vec を置き換えてワード ベクトルを生成します;
2.
cv フィールドの VIT は、
画像セグメンテーション アテンション メカニズムであり、
swin ウィンドウと階層を分類するために使用されます。構造バックボーン、およびターゲット検出
DETR VIT がターゲット検出に使用されます
医療トランスフォーマーがピクセル行アテンション メカニズムを計算し、qkv が位置コーディング、画像セグメンテーションを追加します
LoFTR 画像特徴点マッチング

Bert と GPT の類似点と相違点
言語モデル: Bert と GPT-2 は両方ともトランスフォーマーを使用しますが、Bert はトランスフォーマーのエンコーダー、つまり双方向言語モデルであるセルフ アテンションを使用しますが、GPT-2 はトランスフォーマーを使用します。中間のエンコーダ-デコーダ アテンション層のデコーダ、つまり一方向言語モデルであるマスクされたセルフ アテンションが削除されます。
構造: Bert は事前トレーニング + 微調整の構造を持っていますが、GPT-2 には事前トレーニングのみがあります。
入力ベクトル: GPT-2 はトークン埋め込み + プロポジション埋め込み、Bert はトークン埋め込み + 位置埋め込み + セグメント埋め込みです。
パラメータの数: Bert には 3 億のパラメータがありますが、GPT-2 には 15 億のパラメータがあります。
Bert は Masked LM と Next Sentence Prediction を導入しましたが、GPT-2 はトレーニングに一方向言語モデルを使用するだけで、これら 2 つを導入しませんでした。
Bert は生成タスクを実行できませんが、GPT-2 は実行できます。
—————————————
著作権に関する声明: この記事は CSDN ブロガー「ct5ctl」によるオリジナルの記事であり、CC 4.0 BY-SA 著作権契約に従っています。再版。
元のリンク: https://blog.csdn.net/AAArwei/article/details/128649938

10. 時系列

RNN、LSTM、インフォーマー

11、GPT

Bert Cloze のコンテキスト、GPT が未来を予測する

NLP 事前トレーニング モデル: Word2Vec、ELMO、Attention、BERT、XLNet

11. NLP サブタスク: NER、感情分類、機械翻訳、質疑応答ロボット

12、LLM

大規模言語モデル (LLM) の定義
大規模言語モデル (LLM) は、多数のパラメーター (10 億以上) を持つニューラル ネットワークで構成され、非教師あり/半教師ありを使用して多数のサンプルでトレーニングされた言語モデルです。学ぶ。

現在、大規模言語モデル (LLM) は、自然言語処理、コンピューター ビジョンなどを含む多くの分野に変革をもたらしています。一般的な言語モデルとして、感情分析、固有表現認識、数学的推論などの 1 つの特定のタスク用にトレーニングされるというよりも、多用途です。

言語モデルの開発段階
大規模言語モデルの開発は大きく 3 つの段階に分けられ、第 1 段階は NLP タスクで使用されるシーケンス モデル、第 2 段階はトランスフォーマーに基づいて形成される GPT や BERT などの大規模言語モデルです。 。第三に、GPT-3 をベースにした chatGPT のリリースです。現在、GPT-4.5 が bing と chatGPT で徐々に使用されています。
ここに画像の説明を挿入します

それらの多くは書く時間がないため、更新する必要がありますが、
興味のある成功者は投稿を追加できます。

おすすめ

転載: blog.csdn.net/weixin_44986037/article/details/130259034