# NLP: Outline ## NLP( 自然言語処理 )とは? ・[wikipedia](https://ja.wikipedia.org/wiki/%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86) 抜粋 > ### 人間が日常的に使っている自然言語をコンピュータに処理させる一連の技術である 例えば、次の文章はほとんど同じような文章だが、その意味は全く異なる。 > We gave the monkeys the bananas because they were **hungry**. > 猿が腹を空かせていたので、バナナを与えた。 > We gave the monkeys the bananas because they were **over-ripe**. > バナナは熟れ過ぎていたので、猿に与えた。 文章としては1単語の違いであるが、theyに対する意味は大きく異なる。 この文章では、theyに対する意味を文脈から理解する必要がある。 このような違いをコンピュータに理解させる様々な技術について紹介したい。 ## 言葉の定義 [参考](https://qiita.com/norihitoishida/items/85150cfacc1f75f552f3)  ## 自然言語の数値化 まず、コンピュータに処理させるには**自然言語を数値化**する必要がある。 ### One-Hot表現 単純に思いつくのは、地球上に存在する全ての単語に番号を割り当てる事。 例えば、日本語wikipediaのコーパスは150万種類の単語で構成されているので、日本語は、**150万個の番号**に割り当てる事ができます。  #### One-Hotの問題点 単純に数値に当てはめただけなので、この表現自体は次の課題を抱えている。 * 次元が大きすぎ * 「**意味**」を持っていない という訳で、最終的な**自然言語の数値化**としてはあまり使えない表現。 ### 分散表現 [例](https://hackmd.io/uD2hEISAShqVHD6IRtceUw?both#NLP-%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86-%E3%81%A8%E3%81%AF%EF%BC%9F)であった、「they」という単語は、それぞれの文で別の単語を表しており、文脈に対しての**意味**が異なる。 意味を持って、次元を抑えた表現として、次のようなベクトルを想定する。  ## 単語の分散表現の獲得 NLPで最も大事な要素は、**いかに良質な分散表現を獲得できるか**、である。 なので、単語の分散表現を学習できる次の技術について紹介する。 * ### Word2Vec 文脈を加味しない単語の分散表現 * ### ELMo **文脈を加味する**単語の分散表現 * ### BERT **文脈を加味する**単語の分散表現 ### その他の要素 * ### Doc2Vec Word2Vecの文章版 * ### Seq2Seq 文章を入力して文章を出力するモデル。Attentionを説明したい * ### Attention Transformer に使われている要素技術 * ### Transformer BERTに使われている要素技術
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up