個人ブログのナビゲーションページ(クリック、右側にリンク個人のブログを開くために):ダニエルは、テクノロジ・スタックにあなたを取ります
I.背景
自然言語処理は、私の理解がはるかにだけルックアップテーブルに、人間の言語を理解していないと、コンピュータが本当に分かっていない人間の言語を理解しているかどうか、これまでのように、コンピュータが人間の言語を理解することですそれに対する応答の最大確率。それを含め、物事の分野における自然言語処理(NLP)がそう?テキスト分類(例:スパム分類、センチメント分析)、機械翻訳、要約、文法分析、セグメンテーション、POSタグ付け、エンティティの認識(NER)、音声認識などは、NLPの問題が解決されることになります。次に、コンピュータが本当に人間の言語の意味を理解していれば、これらの問題の解決策は、まだ不明ですが、記事の数は、フィルムを議論します。言語の単位は、単語を表現するためにどのような技術で、あなたはコンピュータは言葉、それの意味を理解させることができ、コンピュータは言葉を表現する方法で、単語のですか?このブログは、ブールモデル、ベクトル空間モデルから単語埋め込み(word2vec、エルモ、GPT、BERT)の様々な、詳細に説明します
第二に、元の時代
ディープラーニングの前に、解決しようとするタスクに応じて、どのように表現するか、言葉ではなく、規範的な方法を表しています。
1、ブールモデル
ここでは、2つの文章は、あるテキストの類似度を求めます。
レスリーのようなI
アンディ・ラウのようなあなた
だから、ブールモデルは、比較的単純で粗である、下に示すように、非表示の寸法は、0であるワードが1で寸法がありました。
その後、我々は2つのベクトルの余弦を求めることができます。
ブールモデルでは、特徴量のみ二つの値0と1は、重要度がよくテキストにおける反応の点で特徴付けられていません。
2、VSM(ベクトル空間モデル)
ブールモデルは、実際に各ディメンション値のみを下回るベール、VSMを処理するためのいくつかの特別な規則を埋めるために行くVSM、VSMの特別なケースとして見ることができます。
tは用語、Dはドキュメントを表し、次いでDはDのように表すことができる= {T1、T2、T3 ...... tNの} N次元のベクトルを表し、Wの値は、それを充填する方法は?TF * IDFを実施しなければならなかった、TFは、単語頻度は、IDFは、以下の式を使用して、カウンタ語頻度を表し表します。
周波数及び単語/文書TF(T)=ドキュメント内の特徴語が現れるの総数
IDF(T)=(N /(N + 1))ログ、Nは、テキストセット内のテキストの合計数であり、nは特徴語Tを含む文書の数であります
ゲインを示すTF * IDF * IG、IG:コースTF * IDFはまた、クラスのクラス分布と無視の間に分布を無視して、自分の欠点を持っているのは、そのようないくつかの改善が、あります。
これらの単語/文書の表現、非常に機械的には、同様の関係の単語と単語間の文脈との間の関係を反映していません。
第三に、年齢を学習の深さ
まず、文の発生確率、より高い確率、より合理的な推定に言語モデル、言語モデルを言及する必要があります。
P(W1、W2、W3、... WN)= P(W1)* P(W2 | W1)* P(W3 | W1、W2)... P(WN | W1、W2 .... WN-1 )
上記の式は、通常、推定値に方法はありませんので、マルコフの仮定、言葉の背後にある前提とフロントおよそ1ワードのみを行います、次式に還元さ:
P(W1、W2、W3、... WN)= P(W1)* P(W2 | W1)* P(W3 | W2)... P(WN | WN-1)
もちろん、言葉は、多くの場合、Nグラムと言われている、関連の背後にある以前のNワードを仮定することができます。言語モデルは、エルモとGPTでの大きな用途を有します。
1、word2vec
word2vecが、実際には、それは単一の隠れ層のニューラルネットワークであり、アイデアは非常に単純ですが、下記を参照してください
李レイと、すべての「教室で」に続く上記の漢Meimeiの図は、単語である、またはLiレイ漢meimeiがニューラルネットワークへの入力は、ニューラルネットワークは、単語の高い、より良いチャンスは、権利が再ニューラルネットワークであるために「教室での」出力したいとき同じ空間に二つの異なる単語をマッピングするために調整し、その後、リンクMingliレイと漢Meimeiがあることを言って、これはword2vec考えられています。word2vec 2つcbow及びスキップグラムを、cbowスキップグラム、文脈によって導入された用語であり、以下に示すように、文脈によって導入される用語です。私の練習の結果はcbow効果が少し良くなければならないです。
このコードは、それを達成する方法ですか?実際には、彼自身のニューラルネットワークは、クロスエントロピー損失で取得するための単一の隠れ層、出力層の活性化関数のソフトマックスを、達成するために、勾配降下をすることができます。我々はあまりにも多くの問題を持っていない、DL4Jは、数行のコードを取得するために完全なソリューションを提供している、次のように確かに、コードは次のとおりです。
Word2Vec vec = new Word2Vec.Builder()
.minWordFrequency(5)
.iterations(1)
.layerSize(100)
.seed(42)
.windowSize(5)
.iterate(iter)
.tokenizerFactory(t)
.build();
vec.fit();
2、ELMO
ます。https://arxiv.org/abs/1802.05365 ELMOは、言語モデルの頭文字から、組み込み環境に紙のアドレスを取ります
埋め込みは、言語モデルから導出されます。ELMOの前に言えば、最初のword2vecは確かに単語と単語の間、お互いの間の意味関係を表すことができますが、word2vecは、すべての情報が固定に圧縮されていること、完全に静的である、というご質問があるword2vecですで次元のベクトル。だから、複数の単語の意味のために、それは比較的限定されている表現です。次の例を考えてみましょう、
「手紙」、に「なるように、世界の正義の手紙」で手段を「ストレッチ」、動詞であります
「全世界の信仰」で、「手紙」は名詞で、「クレジット」の手段
ELMOが来たように「信頼」は、100次元ベクトルに圧縮した場合、これら二つの意味の違いを区別することは困難であろう、これは文脈ワード埋め込みが単語の文脈に応じて、必要では、符号化されます。
EMLO構造は、言語モデルを訓練するために、双方向のLSTMで、非常に簡単です。(国立台湾大学CHANGのPPTの画像など)を以下に示すように、
モデルトレーニングプロセスは、次の単語を単語を単語を読んで、非常に簡単ですが、逆に、見通しの単語を単語を読んで、このトレーニングは収束するまで続けます。真ん中の埋め込みで青とオレンジのベクトル赤い箱はベクトルです、そして最終的に我々は、ベクターは、当然のことながら、この双方向LSTM多くの層を積層することができますしたいものをピックアップ。ベクターを得るために、それぞれの層を埋め込みます。
だから、それの値を使用する方法のこのコードを使用していますか?例えば、各層がベクトル加算平均、加重和などを埋め込むことができ、下流のタスクに応じて、重量がタスクとともに列車と一緒に出てくることができます。
3、GPT
ELMOワードダイナミックコーディングを実現したが、彼はLSTM、LSTMを使用し、並列コンピューティングに資する長いメッセージを覚えて、ないことはできません。:自己の注目とGPTは、もちろん、Googleのための神にこの感謝のすべてを、この結果を変更するには紙のアドレス「注意はすべてのあなたの必要性である」https://arxiv.org/pdf/1706.03762.pdf
GPTは、プロセス、それをどのように操作ですか?実際には、言語モデルを訓練に使用する自己の注目は、以下を参照してください:
各単語の前や単語の注意を行い、その後、自分自身とあなたの注意を行い、次の単語は、例えば、開始タグBOSを読み込み予測し、「潮」と予測、BOS、潮を読み、その後、BOS、潮の注意を行い、予測「戻る」、およびその終了時までに。多くのコーパスに行くために訓練し、我々は非常に強力な言語モデルを動的にエンコードすることができます取得します。これらの注意層に生きることができる固定パラメータを使用する場合は、その後、あなたはいくつかのフルフロント接続層の上にこれらの層の注目を置くことができ、そのような感情の分類問題をやっなど他の下流の作業を、訓練する、唯一のフルバック接続層訓練固定パラメータ、ソフトマックスまたはシグモイドによって分類。
トランスフォーマーから4、双方向エンコーダ表現(BERT)
GPTは、欠陥を持っているだけで上記の符号化情報に依存して、以下の情報がメンバー、この問題へのその後BERT良い解決策ではありません。図以下BERT事実トランスエンコーダ部、。
BERT、仮面LMと次の文の予測を訓練する方法は2つあり、仮面LMランダムでBERTが何語の推測をカバーしてみましょう、いくつかの単語を隠します。次の文予測BERTは、2つの文を推論することであるコンテキストではありません。
単語の文脈のBERT完全なアカウントは、はるか先多くのゲームでのセマンティクスと文脈との関係のように良い兆候を、符号化されています。
IVの概要
自然言語処理、元モデル、ベクトル空間モデル、そしてword2vec、その後、ELMO、およびからGPTにブール、その後、BERT、道に沿って、交換用の技術。これまでのところ、まだ比較的埋め込み方法単語をリードBERTは、タスクを処理する自然言語のほとんどで、事前に訓練ミッションとして、我々は最初のアプローチを試してみてください。おそらく、ずっと前に、新しい技術が出てくるがあるだろう、新しいレコードが、我々が表示されます。しかし、今でも、マシンは本当に人間の言葉を理解し、これはまだ立証される質問です。道は長く、幸せと地を来ています。
付属のJava / C / C ++ /機械学習/アルゴリズムとデータ構造/フロントエンド/アンドロイド/パイソン/プログラマ読み/シングル書籍図書Daquanは: