Pythonで自然言語処理を行うための環境構築メモ

自然言語処理を学びたくなったので、評判高いオライリーの入門自然言語処理に”チャレンジ”してみました。

O'Reilly Japan - 入門 自然言語処理

2010年11月発行ということでソフトウェアのバージョンが上がったり、環境構築の説明が親切でなかったので(書籍では最新の状況に対応し続けるのは大変なので仕方がない)、2015年8月時点でのソフトウェア・ライブラリの構築についてスクリーンショット付きでメモします。誰かの参考になれば。

ちなみにプログラミング初心者と中級者の間ですので、お手柔らかに。

「入門自然言語処理」の2ページから7ページに対応しています。

我が環境はWindows7の64ビットです。Windows10の64ビットでも同じようにできることを確認済みです。

1.Pythonのインストール

 あとでインストールするNLTKというパッケージが64ビットに対応していないので、pythonは32ビットをダウンロードします。pythonはバージョン2と3があって、互換性はありません。本書では2系の文法で解説されているので、2系の最新バージョンである2.7.10をダウンロードします。

www.python.org

こちらから、2.x.xの最新バージョンに進んで・・・(執筆時点での最新は2.7.10)

 

f:id:mokkso:20150816171400p:plain

 

 Windows x86 MSI Installerをダウンロードして、実行します。nextボタンを押し続ければ大丈夫です。インストール先はCドライブ直下、C:\Python27が良いでしょう。

インストールされたかの確認は、スタートメニュー→アクセサリと進んで、コマンドプロンプトを起動し、pythonと入力してみます。

f:id:mokkso:20150816171943p:plain

 こんな画面になれば大丈夫。ダメなら環境変数を設定します。

環境変数の設定は以下のサイトが詳しいです。ディレクトリのpython34をpython27に読みかえればよいでしょう。

www.pythonweb.jp

2.自然言語処理のためのパッケージのインストール

NumPy、MatplotLib、NLTKという3つのパッケージ(追加機能)をPythonにインストールします。

2.1.NumPyのインストール

pipというコマンドを使えばラクラクなんですが、NumPyだけはpipでインストールできなかったので、手動でします。

sourceforge.net

こちらから、NumPyの最新バージョンをインストールします。自分がインストールしたのは1.9.2です。

f:id:mokkso:20150816173012p:plain

最新バージョンのフォルダに飛び、"numpy-1.9.2-win32-superpack-python2.7.exe"をダウンロード、実行します。32ビットをダウンロードするのに注意。次へボタンを押し続ければ大丈夫です。

2.2.Matplotlibのインストール

残りの2つはとてもカンタンです。pipというコマンドを使います。pip様は、Numpyの時のようにwebにアクセス→最新バージョンを探す→自分の環境にあったものを選ぶ→ダウンロード→インストール を一度にやってくれます。

まずはNLTKをインストールします。

先ほどのように、スタートメニュー→アクセス と進んで、コマンドプロンプトを起動します。そして、「C:\Users\自分のユーザー名>」と表示されている後ろに「pip install -U nltk」と入力して、Enterを押します。これだけ。

f:id:mokkso:20150816174200p:plain

あらカンタン。この調子でMatplotlibもインストールします。

2.3.NLTKのインストール

同じようにコマンドに「pip install matplotlib」と入力し、Enterを押します。

NLTKとmatplotlibをインストールすると以下の画面になっているかと思います。

f:id:mokkso:20150816173824p:plain

これで必要なパッケージのインストールは終了です。あとは本に書いてあるとおり、3ページから進めることができます。

3.確認

スタートメニュー→Python2.7からIDLE(PythonGUI)を起動し、「import nltk」と入力してみます。

何もエラーが無かったら、処理するためのサンプルデータをダウンロードします。続きに「nltk.download()」と入力し、出てきたウィンドウから、「book」を選択し、Downloadボタンを押します。

終わったら、「from nltk.book import *」と入力するとNLTKに入っている文章データがロードされるはずです。

NumpyとMatplotlibを組み合わせて、語彙の分散プロットを生成するコマンドが紹介されています。「text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])」と入力すると、アメリカ合衆国大統領の就任演説の語彙の分散プロットが出てきます。

詳細は書籍を参照してくださいまし。

さあああがんばって自然言語処理やるおおおおお