NLP(自然言語処理)学習記録

ここ数年、私は履歴書の分野を勉強していますが、NLP について学ぶのに少し時間をかけたいと思っています(純粋な個人的な趣味です)。NLP の学習に一度も触れたことがなく、学習方法がわかりません。棒で学習したので、早く体系的に学習できるようになりたいです〜 NLP学習のための特別なコラムを作成し、随時更新して共有しますこの分野の達人がいれば、アドバイスも頂けます。フォローアップの学習計画では、NLP と私が勉強した履歴書の内容を組み合わせたいと考えています (したがって、この側面を勉強するときは、履歴書の分野から類推して学ぶことになります)。サポートは大歓迎です

ゼロベース NLP、最初の部分は専門用語の解釈です。初めて CV を学んだときと同じように、コンボリューションとは何か、チャネルが何を指すのか、特徴マップが何を指すのかなどを理解する必要があります。同じことが NPL (単語ベクトル、単語埋め込み、分散表現など) にも当てはまります。

注: この記事では主にいくつかの基礎知識の更新が含まれます。

目次

言語表現

1. 単語のワンホット表現

2. 分散表現

2.1 行列ベースの分布

2.2 単語の埋め込み


言語表現

この部分は、データ表現の形式について話していると理解できます。タスクが異なれば、モデルに供給するデータの形式も異なります。たとえば、音声信号の場合、通常、特徴抽出のためにスペクトル シーケンスをモデルに入力します。画像の場合、通常、RGB 3 チャネル画像が特徴抽出のためにモデルに送信され、これらの特徴が可能な限り線形独立であることが望まれます。NLP では、各単語はベクトルの形式で表現されます画像の CV 特徴抽出では、各チャネルが画像から抽出された異なる特徴であるため、これは CV タスクに似ています。[単語ベクトルのベクトル次元が CV のチャネルに対応すると理解できますか]

ただし、CV とは異なり、NLP の単語には文脈上の意味があります。単語を理解するには、文脈上の意味を理解する必要がある場合があります。これは CV よりも高度な部分です。同時に、「ジャガイモ」と「ジャガイモ」のように、文字の異なる 2 つの単語が同じものを指します。モデルを設計するときは、モデルをデータに適合させる必要があり、モデル化する前にデータを完全に表現する必要があります。

現在の開発によれば、単語の表現はワンホット表現分散表現に分けられます。

1. 単語のワンホット表現

NLP で最も直観的で、これまで最も一般的に使用されている単語表現方法は One-hot (CV でも) で、この方法は各単語を非常に長いベクトルとして表現します。このベクトルの次元は語彙のサイズであり、ほとんどの要素は 0 で、値 1 を持つ次元は 1 つだけあり、これが現在の単語を表します。

例えば:

「犬」: [0,0,0,0,0,1,0,0,0,....]

「猫」: [0,0,0,01,0,0,0,0,0,..]

このアプローチは、CV の分類タスクにもよく適用されます。予測されたインデックス位置が 1 の場合、予測されたクラスを意味します。

しかし、この方法には、文数が増えると次元も大きくなること、このOne-hotで分類された単語が独立していて単語間に関連情報が存在しないことなどの問題点があります。

2. 分散表現

ワンホット分類方法は正確ですが、意味的な相関関係はなく、単語を記号化するだけです。1954 年に Harris によって提案された分布仮説によると、類似した文脈を持つ単語は類似した意味論を持ちます。ファースは 1957 年に、単語の意味論はその文脈によって決定されるという分布仮説をさらに詳しく説明し、明確にしました。例えば、英語を読んでいるときに知らない単語があっても、文脈の意味からその単語が何であるかを推測することができます。これは分布です。「分布」という言葉は、文脈における単語の分布パターンと統計的特徴を指すと言えます。

文脈における単語の分布について話すとき、テキスト内の他の単語との共起関係を指します(共起とは何か。「猫は魚を食べるのが大好きです」など、同時出現として理解できます「猫と魚は関連性があり、文脈の中で一緒に出現します。「好き」と「食べる」もある程度関連性があり、大量のテキストデータを観察してカウントすることで、単語間の共起パターンを取得できます。具体的には、ある単語の周囲のウィンドウ内またはさまざまなコンテキスト内で、その単語が他の単語の出現を観察し、それらの間の関係を数えます。

したがって、分散表現でのモデリングでは、1. コンテキストを何らかの方法で記述する、2. 「対象単語」とそのコンテキストの関係を記述できるモデルを選択する、という 2 つの問題を解決する必要があります。


単語の分散表現は、行列ベースの分散、単語ベクトル、または単語の埋め込みに分類できます。

2.1 行列ベースの分布

マトリックスベースの分布表現は、通常、分布意味モデルとも呼ばれます。マトリックスの行は、対応する単語の表現になります。この表現は、単語のコンテキストの分布を記述します。分布仮説では、類似したコンテキストを持つ単語が保持されるためです。は同様の類似性を持っているため、この表現では、2 つの単語の意味的類似性を 2 つのベクトルの空間距離に直接変換できます

2.2 単語の埋め込み

単語埋め込みにおける「埋め込み」という用語は、単語または語句を連続ベクトル空間にマッピングするプロセスを指します。このベクトル空間は通常、低次元で連続的です。[これは、離散的な空間を連続的な空間にマッピングし、離散的な単語を連続的な空間に「埋め込む」プロセスとして理解できます。この埋め込み方法により、同様の意味関係を持つ単語がベクトル空間 (この文内の現在の単語のコンテキストに関する情報)内でより近くなります。

たとえば、「猫」と「犬」は、単語埋め込み空間内の同様のベクトル表現にマッピングできます。これは、それらが意味論的に一定の類似性を持っているため、この 2 つの間の空間的距離が近くなるからです。


更新中……

おすすめ

転載: blog.csdn.net/z240626191s/article/details/130912827