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

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

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

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

GoogleColaboratory上で「ゼロから作るDeep Learning ❷ ―自然言語処理編」を写経してみる(1)
1年前、ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装に感動して繰り返し読んだものでありましたが...

今回は、「第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

関連記事
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする