テキストマイニングで通常のIPA辞書で対応していたのですが、やはり「mecab-ipadic-neologd」という辞書を使いたいと思いました。
そこで「mecab-ipadic-neologd」が使えるようになるまでの全体的な流れと、少し躓いた箇所を書き残しておきます。(※スムーズにとはいかなかったので…)
新しいPCになったときにまた時間掛かっちゃうと思いますし(苦笑)、自分のためのメモですね^^;
スポンサーリンク前提
まず、僕の環境ですが、Windows10です。
では、あらかじめインストール済みだったものをざっとご紹介します。
Pythonのインストール
Python3.9.10がインストール済でした。インストールについては下記にまとめていますので、まだの方はご覧ください。
Anacondaのインストール
Anaconda3もインストール済でした。インストールについては下記にまとめていますので、まだの方はご覧ください。
Microsoft C++ Build Toolsのインストール
次に「mecab-python3」をpipでインストールするのですが、エラーが出る場合があります。その際に「Microsoft C++ Build Tools」をインストールしておくと、エラーが出なくなります。
僕の場合は、「wordcloud」をインストールしようとしたときにエラーが出たので、入れました。
ダウンロード
下記を開いてください。
https://visualstudio.microsoft.com/ja/visual-cpp-build-tools/
「Build Toolsのダウンロード」をクリックすると、ダウンロードできます。
ファイルを開いてインストール
ダウンロードできたらそのファイルを開きます。下記画面が表示されますので、後は順番に進めればOKです。
「続行」をクリックします。
「ダウンロード済み」「インストーラ済み」が上記のようになったら、勝手に進みます。
「C++によるデスクトップ開発」をチェックします。(←注意点はココだけです、忘れずチェックします)
すると、右側に更にチェックする項目が表示されるので、赤枠で囲んだ3つ「MSVC v142・・・」「Windows 10 SDK・・・」「Windows用 C++・・・」だけチェックを入れて、
「インストール」をクリックします。
後は上記赤枠内の2つのバーが100%になれば、インストール完了です!
この画面になったら、閉じてOKです。PCを再起動すれば完了です。
Microsoft C++ Build Toolsのパスを通す
コマンドプロンプトで使用したいので、インストールした「Microsoft C++ Build Tools」のパスを通します。
パスの確認
旗マークをクリックします。
「Visual Studio 2019」の「Dveloper Command Prompt for VS…」をクリックします。
コマンドプロンプトみたいなものが開くので、「where cl」と入力しEnterを押します。
そうすると、フルパスが得られますので、コピーします。
環境変数の「Path」に追加
下記ページを参考に環境変数の「Path」にコピーしたフルパスを追加します。
>【Windows10】「システム環境変数」>「Path」への追加方法
↑について「システム環境変数」ではなく「●●のユーザ環境変数」の方に追加で問題ありません。
mecab-python3をインストール
コマンドプロンプトで下記を入力しEnterを押します。
pip install mecab-python3
MeCabをインストール
ダウンロード
下記を開きます。
https://github.com/ikegami-yukino/mecab/releases/tag/v0.996.2
僕のPCは64bitなので「mecab-64-0.996.2.exe」をクリックして、インストーラをダウンロードします。
インストール
ダウンロードできたらそのファイルを開きます。下記画面が表示されますので、後は順番に進めればOKです。
「OK」をクリックします。
Python3で使用するため「UTF-8」を選んで「次へ」をクリックします。
「同意する」を選んで「次へ」をクリックします。
「次へ」をクリックします。
「次へ」をクリックします。
「インストール」をクリックします。
「いいえ」をクリックします。
※全ユーザで使用したい場合は「はい」をクリックしてください
コマンドが動き出します。途中で止まった場合は、Enterを押してみてください。進みだすと思います。
再起動のタイミングを決めたら、該当する方にチェックを入れて、「完了」をクリックします。
以上で、MeCabのインストールは完了です!
MeCabのパスを通す
コマンドプロンプトで使用したいので、インストールした「MeCab」のパスを通します。(※既に環境変数のPathに登録されている場合は追加不要です)
環境変数の「Path」に追加
下記ページを参考に環境変数の「Path」に「C:\Program Files\MeCab\bin」を追加します。
インストール時に下記設定で指定したパスの中に「bin」というフォルダが作られています。その「bin」へのパスを環境変数に追加します。下記の場合ですと、「C:\Program Files\MeCab\bin」となります。
もし違う場所にインストールされた場合は、そちらのパス+「bin」を環境変数に追加してください。
>【Windows10】「システム環境変数」>「Path」への追加方法
↑について「システム環境変数」ではなく「●●のユーザ環境変数」の方に追加で問題ありません。
mecab-ipadic-NEologdのインストール
ようやく本題の「mecab-ipadic-NEologd」のインストールです。
ダウンロード
github の下記ページからダウンロードします。
https://github.com/neologd/mecab-ipadic-neologd
ページを開いて「Code」をクリックして、ポップアップが開くので、「Download ZIP」をクリックするとダウンロードできます。
解凍&移動
ダウンロードしたファイルを解凍すると「mecab-ipadic-neologd-master」というフォルダ名なので「mecab-ipadic-neologd」とリネイムします。(リネイムの必須ではありません)
次に、そのフォルダをpythonを動かしているフォルダの中に入れます。
僕の場合は、「C:\Users\info\py」でpythonを動かしているので、このフォルダ内に入れます。
緑枠がダウンロードしてきたファイルです。赤枠が解凍しリネイムしたものです。
「mecab-ipadic-neologd」内の「seed」フォルダの中身を解凍
下で辞書作成時にseed内のファイルを使用するので、解凍しておきます。全部解凍してOKです。実際に使うのは「mecab-user-dict-seed.20200910.csv.xz」だけですので、それだけ解凍でもOKです!
枠で囲ったものだけ解凍でもOKです。
僕は「圧縮・解凍ソフト CubeICE」を使っています。MacとWindowsで解凍すると文字化けする問題があったのですが、「CubeICE」ですと文字化けしませんでした。それ以来こちらを使わせていただいています。
https://www.cube-soft.jp/cubeice/
解凍ソフトをお持ちでない方はご検討ください^^
UFT-8の辞書を作成
MeCab\dic\ipadicを複製
64bitであれば「C:\Program Files\MeCab\dic」、32bitであれば「C:\Program Files (x86)\MeCab\dic」に「ipadic」というフォルダがあります。
それをコピーして同フォルダ内に貼り付けて「ipadic-UTF8」とリネイムします。(※フォルダ名はutf8と分かれば何でも良いです)
NEologdフォルダ作成
同フォルダ内に「NEologd」というフォルダを作成します。
作成した辞書を入れるフォルダになります。
辞書作成
コマンドプロンプトを開きます。
「cd」コマンドを使って、先ほど「解凍&移動」で移動した「mecab-ipadic-neologd」の中にある「seed」に移動します。
mecab-dict-index -d “c:\Program Files\MeCab\dic\ipadic-UTF8” -u NEologd.20200910-u.dic -f utf-8 -t utf-8 mecab-user-dict-seed.20200910\mecab-user-dict-seed.20200910.csv
- 「c:\Program Files\MeCab\dic\ipadic-UTF8」
⇒「ipadic」を複製して作ったフォルダを指定します。 - 「NEologd.20200910-u.dic」
⇒辞書のファイル名です。「-u」はutf8ということだと思います。 - 「mecab-user-dict-seed.20200910\mecab-user-dict-seed.20200910.csv」
⇒コマンドで移動して、「C:\Users\info\py\mecab-ipadic-neologd\seed」にいます。その中に「mecab-user-dict-seed.20200910\mecab-user-dict-seed.20200910.csv」が存在するので、それを指定しています。
上のコマンドを入力しEnterを押すと、UTF8の「NEologd」の辞書「NEologd.20200910-u.dic」が「C:\Users\info\py\mecab-ipadic-neologd\seed」に作成されます。
参考サイト
参考にさせていただいたサイトさんです。
https://qd-suriken.com/2020/04/22/widows%E3%81%A7mecabneologd/
辞書を使えるようにする
移動と設定で辞書を使えるようにします。
移動
上記「辞書作成」で作成された「C:\Users\info\py\mecab-ipadic-neologd\seed\NEologd.20200910-u.dic」を「NEologdフォルダ作成」で作成した「C:\Program Files\MeCab\dic\NEologd」の中に移動します。
設定
「C:\Program Files\MeCab\etc」の「mecabrc」を同フォルダ内に複製します。それを「mecabrc-u」とリネイムします。
「mecabrc-u」をテキストエディタで開き、辞書へのパスなどを設定します。
下記コードを追記します。コメントアウトで「dicdir = 」などの行があるので、それぞれコメントの下の行などに追記すれば良いかと思います。
dicdir = C:\Program Files\MeCab\dic\ipadic-UTF8 userdic = C:\Program Files\MeCab\dic\NEologd\Neologd.20200910-u.dic
ファイルを保存します。
これで辞書は使える状態になりました。
PythonでMeCab、NEologdが使えない
以上で設定は完了しているのですが、Pythonでその辞書を使うために下記のように書きます。
self.tagger = MeCab.Tagger("-r C:\Program Files\MeCab\dic\NEologd\mecabrc-u")
先ほど作成した「C:\Program Files\MeCab\dic\NEologd\mecabrc-u」を指定しています。
そうすると、シンタックスエラーになります。
問題点は「Program Files」の半角スペースと「\」のようです。
対処法
半角スペースは良い方法が見つからないので、「mecabrc-u」を他のフォルダに移します。
そして、「\」は「/」に変更します。
self.tagger = MeCab.Tagger("-r C:\Program Files\MeCab\dic\NEologd\mecabrc-u") ↓ self.tagger = MeCab.Tagger("-r C:/Users/info/py/mecab-ipadic-neologd/mecabrc-u")
以上です。
まとめ
これで、ついに「mecab-ipadic-neologd」辞書が使えるようになりました。
色々なものをインストールしたり設定する必要がありました。久しぶりにpython関係をガッツリ触りました。次回があったら、スムーズにいくと嬉しく思います。
それでは、最後までお読みいただきありがとうございました!
スポンサーリンク