日本語は、
英語のように、単語間に空白がある言語と違い、
ひらがな、カタカナと漢字等が平等に一文字ずつ並ぶ構造になっている。
(膠着語(こうちゃくご)と呼ばれる)
したがって、
日本語の自然言語処理の第一段階は、
入力文字列を単語に切り分ける作業となる。
これを「形態素解析」という。
たとえば、
彼女と国立新美術館へ行った。
は、
彼女 と 国立 新 美術館 へ 行っ た 。
となる(*1)。
Python でこの形態素解析を行う主要なツールは3種類ある。
1.「MeCab」(名前の由来は「和布蕪(めかぶ)」)
最もよく使われているエンジン。
キカガク長期コースでも、これを利用。(*2)
非常に大規模な辞書が含まれるのが特徴。(*3)
3.「Janome」(名前の由来は「蛇の目」)
Pythonの形態素解析ツールで、
pipコマンドで簡単にインストールできる。(*4)
数少ない日本語の自然言語処理の本、
『機械学習・深層学習による自然言語処理入門〜scikit-learnとTensorFlow を使った実践プログラミング』では、
いちばんお手軽な「Janome」を使って形態素解析を説明している。
今回、わたしは「MeCab」を利用。
さっそく
スクレイピングした俳句データの前処理を始めたい。
まずは、
brew install mecab libmecab-dev mecab-ipadic-utf8 git curl xz
で、Mecabをインストールし(*5)
!pip install mecab-python3
import MeCab
import MeCab
で、PythonからMecabを利用できるようにする。
併せて、
データの前処理に必要なライブラリ、
numpy, pandas, matplotlib, seaborn、tensorflow(kerasが含まれている)
もインポート。
さて、準備はここまで。
「4.データの前処理・ラベル付け」
に進みたい。(つづく)