スポンサーリンク

GoogleColaboratory上で「ゼロから作るDeep Learning ❷ ―自然言語処理編」を写経してみる(2)「第2章 自然言語と単語の分散表現」

しばらく、Google Colaboratoryを用いて、ゼロから作るDeep Learning ❷ ―自然言語処理編 を写経していきたいと思います。難しいですが、読んでいて何だか楽しいです。

公式GitHub:https://github.com/oreilly-japan/deep-learning-from-scratch-2
image

前回は、第1章をGoogle Colaboratory上で写経してみました。

http://twosquirrel.mints.ne.jp/?p=27074

今回は、「第2章 自然言語と単語の分散表現」を写経してみたいと思います。

(開発環境)
Windows 8.1 Pro (MacでもLinuxでも同じです。)
Chrome
Google Colaboratory (Googleアカウント必要、無料)

(0)Google Colaboratoryでipynbファイルを作成

https://colab.research.google.com/

へ、Googleアカウントでログインして、PYTHON 3 の新しいノートブック をクリックして、Python 3ノートブックを作成して、zero2_002.ipynb という名前に変更

image

image

(1)カウントベースの手法

image

単語をテキストのまま操作するのは不便。
=> 単語にIDを振って、IDのリストとして利用する。
=> 単語のIDと、単語の対応表を、Pythonの辞書型を利用して作成する。

image

辞書(dictionary)型とは、「{}」の中にkeyとvalueの組み合わせが含まれているデータのこと。

参考:Pythonのディクショナリ(辞書型)
https://techacademy.jp/magazine/15639
image

連想配列(辞書、ディクショナリdictionary、ハッシュhash、マップmap)
https://ja.wikipedia.org/wiki/%E9%80%A3%E6%83%B3%E9%85%8D%E5%88%97
image

image

(2)

2.3.2 単語の分散表現

たとえば、色は、RGBで表現することが多い。

例) 深緋(こきあけ) (R, G, B) = (201, 23, 30)

単語もこのようなベクトル表現をするとき、単語の分散表現と呼ぶ。

●分布仮説 distributional hypothesis

「単語の意味は、周囲の単語によって形成される」という仮説。

文脈(コンテキスト)

コンテキスト:文章があったとき、ある中央の単語に対して、その周囲にある単語を、コンテキストと定義する。周囲に含める単語数を、ウィンドウサイズ(window size)と定義する。

Google Colaboratory上でのutil.py の準備(ローカルでutil.pyを作成して、アップロード)

参考:https://qiita.com/uni-3/items/201aaa2708260cc790b8
@uni-3 2018年08月16日に更新 google Colaboratoryでファイルを読み込む方法

image

image

 

 

●共起行列

 

 

 

 

 

途中

(参考)

https://qiita.com/Hironsan/items/a58636f946dd51f670b0
image

http://blog.aidemy.net/entry/2017/07/01/184421
image

https://ai-lab.scouty.co.jp/nlp/topicmodel-lda-basic/
image

スポンサーリンク