7月以来のブログ更新。最近はもっぱら朝に手書きで日記を書くことが多かったので、PCで書くのはだいぶ久しぶり。PCで弁状した時はこっちにブログ書いていこうかな。

 

今日はセロから作るDeep LearningPart2の第二章。

 

自然言語処理の基礎について。

 

自然言語処理は、元々人の手で言葉を意味分けしてシソーラスというデータベースを元にパソコンに意味の理解をさせようとしていた。ただ、シソーラスでは、人手が莫大にかかることで、単語の出現頻度をカウントするカウントベースの手法が主流になってきた。

今回はその内容を実装。実装したのは、以下の通り。

・コーパスから各単語にidをつける

・各単語の関係性を定量化する指標のコサイン類似度

・テキストデータから共起行列を作成するプログラム

・共起行列を相互情報量の行列に変換するプログラム (相互情報量は、2つの単語の出現確率から互いの関連性を定量化した指標。2つの単語のそれぞれの出現確率と同時出現確率に対してログをとって計算する。)

・相互情報量の行列から対象の単語と最も関連性の高い単語を抽出

 

今回の実装の流れとしては、①テキストデータの前処理②テキストデータの単語ごとの抽出③抽出した辞書から共起行列を作成④相互情報量を計算⑤共起行列から相互情報量行列に変換するプログラム⑥⑤から対象単語に対して、最も関連性の高い単語を抽出するプログラム

 

以上。