RMeCabでmecab-ipadic-neologdを使うためにトライアンドエラーした備忘録

忘れないうちにということで、取り急ぎメモ。

画像1

実行環境

Windows10: Ver.1903
MeCab: Ver 0.996 CaboChaを使いたいので32bit版
RMeCab:

普段の用途

Rのrtweetパッケージからテキストを取得 ↓

MeCabがShift-JISじゃないとうまく動かないので、Rからiconvで
UTF-8からShift-JISへ文字コード変換 ↓

RMeCabのdocDFで形態素解析 ↓

頻度表作ったり感情極性辞書を用いて分析()している ↓

ツイートって、"今のことば"なので、できるだけ辞書が現在の言葉に対応していたほうがいいな…→ これを使ってみよう ↓

文字化けする \(^o^)/
RMeCab使うと落ちる \(^o^)/ ↓

計6時間ほど掛けて導入、RMeCabから使えるように

いろいろ参考にして、導入した方法

成功したのは以下のやりかたをちょっと変えたやつ

1. 以下のアプリをインストール・設定する
Git: この記事を参考に、cmdからgitを動かせるようにインストール
7zip: インストールして、PATHを通す上記記事の1つ目を参照
MeCab: PATHを通す

2. NEologd辞書のダウンロードとコンパイルを行う
今までギットハヴを使ったことがなかったので、ビルドやらリポジトリやら何なんだというのを調べるいい機会になった。
1つ目の記事、
”gitより辞書をダウンロード”~”NEologd辞書ファイルの展開”を行う。
この段階までではエラーなし。

3.ダウンロードした辞書の、csvファイルを別のディレクトリにコピーする。
僕の場合はC:\直下にneologdフォルダを作ってコピー。

4. 記事2つ目を参考に、mecab-user-dict-seedファイルを編集
11列目の全角スペースを半角アンダーバーへ。
僕も記事にならってEmEditorをインストールしたが、なんならRStudioとかで読み込んで編集してもよかったかもしれない。

4.コマンドプロンプトのカレントディレクトリ(今cmdが開いているフォルダ)を、先ほどcsvをコピーしたフォルダに変更する

cd C:\neologd

5. Shift-JIS辞書の作成~mecabrcの設定変更
記事一つ目”辞書ファイルのコンパイル”から、以降同様。
(指定するcsvファイル・作成する辞書の日付の確認を忘れないように!)
cmdからMeCab、RStudioからRMeCabを使っても、落ちたり文字化けしないことを確認して終わり。

なんで少しだけやり方を変えたのか?

カレントディレクトリがSystem32以下のフォルダのまま、mecab-dict-indexにcsvファイルを指定しても、「No such file or directory」と返ってくるので。

cmdを管理者権限で開いてるか何度も確認したり、念のためファイル名やファイルパスをコピペで貼っても変わらなかったので、一旦別のフォルダに退避させたところすんなり成功

そういえば、昔から「Program FilesとかSystem32フォルダ以下にあるものを弄るときは、一旦別の場所にコピーさせろ」っておまじないありましたね。。。

今回のドタバタで学んだこと

1. GitとかWSLとかを知ることが出来た。
Gitは前述した通りです。
Git以外にもneologdを導入する方法がいくつかあって、Windows上で行うのに提案されていた方法がそのWSL(Windows Subsystem for Linux)でした。

昔小学生くらいのときに、VAIOでWindows、Ubuntuのデュアルブートとかしたな~~~~とふと思い出したんだけど、Windows動かしつつ、あまり重くならずにLinuxのコマンドを使えるようになるのは便利ではという印象。

ではなぜこのWSLでneologdを行わなかったかというと、正確にはWSLでやったものの、WSLからWindowsへファイルを移送したりする手段がよくわからなかったり、辞書変換でトラブったりしてしまったからです。

卒論提出間近でそういうポカをするな(まあ、卒論提出間際で辞書変えるのがいいのか?は突っ込まないでいただきたい)

2. プログラムの導入や設定の、トライアンドエラーの経験ができた
導入手段を調べてみると、他には、ほとんど自動で設定を行ってくれるアプリなどがあった。結局はうまく使うことが出来なかったりしたものの(先ほどのリンクのものであれば、RMeCabと共存できない)、例えばバッチファイルのファイルパスを現在の辞書の日付に変えてみたり、コンフィグファイルを覗いてみたりした。

たぶんこれからいろんなデータやシステムを取り扱うのにあたって、データの前処理の前処理、すなわち環境構築であったりを行う機会があるので、一つのよい経験になったかなと思います。

これから何するの?

しばらくの間、卒論用にTwitterのデータを集めていました。さらに今回のNEologdの導入で、形態素解析の精度を上げることができ、あとはCaboChaを上手く活用することができれば、ある程度の精度で感情分析ができるんじゃないかと思っています。

暫くの間、ずっとパソコン弄るか本を読んでいるみたいな生活をしていて、やや鬱々とした気持ちになっていますが、シオランの新書が出るまでは頑張っていきたいと思います。

この記事が気に入ったらサポートをしてみませんか?