MeCabの辞書の文字コードにハマった件

日本語のテキスト解析をRで行うにあたっては、tidytext()をかける前に、MeCabを使って「分かち書き」をする必要があります。

(分かち書きの例)今日 は よい お 天気 です ね 。

※MeCabで何をするかわからない人は、こちらのスライドを参照。
https://ymattu.github.io/TokyoR64/apply/apply.html#/

http://chasen.naist.jp/chaki/t/2009-09-30/doc/mecab-cabocha-nlp-seminar-2009.pdf

1. 前提条件

業務用PCはセキュリティが厳しく、Program Filesへのパラメタ等の書き込みができない。

2.インストール

最初、Program FilesにINSTしたら、辞書の書き換えなどができず断念。

次に、C:\にINSTしたら、「Program Filesにファイルがありません」という意地悪を言われた (´・ω・`)

3.開発者に質問

まずはRのパッケージRMeCabの開発者にTwitter経由で質問を投げると、パラメータファイルを設定すればいいという情報を得た。3回のやり取りで回答がもらえなくなったので、断念。

そもそもRがまともに動いていないので、RMeCabを触る前にMeCabが使えるようになるべしと悟り、githubのソースを見たら、別の人(写真付き)が64ビット版を載せていてくれたのでこちらを使うことに。
https://github.com/ikegami-yukino/mecab/releases

メアドが載っていたので質問したら、マニュアルに載っていない下記サイトのリンクを教えてくれた。

http://namazu.asablo.jp/blog/2006/04/04/315244

4.解決

C:\MeCabにINST。忘れず、環境設定でbinにPATHを通しておきませう。

辞書フォルダdicの下にあるIPADICを、ipadicSJIS、ipadicUTF8にコピーして、それぞれの文字コードで辞書を作成。 作り方はこちら

各辞書フォルダの中に、dicrcというファイルがあるので、その中の辞書の文字コードを該当するものに合わせる。盲点※これに気づいたのは、偶然にもエラーメッセージがdicrcがないよと言ってくれたから。

./Mecab/etc/mecabrcを開いて、dicdir="hogehoge"のところを、それぞれ文字コードごとに作った辞書のフォルダを指定して、mecabrcUTF8、mecabrcSJISとして保存。※設定の効果は疑問?

5.使い方

コマンドラインでMeCabを起動する際に、-r オプションで読み込むテキストの文字コードに該当するrcファイルを指定する

C:\MeCab\bin>mecab -r c:\mecab\etc\mecabrcSJIS

プロンプトも何も出ないが、テキストを適当に入力する。

(例1)
今日は良いお天気ですね。
今日 名詞,副詞可能,,,,,今日,キョウ,キョー
は 助詞,係助詞,,,,,は,ハ,ワ
良い 形容詞,自立,,,形容詞・アウオ段,基本形,良い,ヨイ,ヨイ
お 接頭詞,名詞接続,,,,,お,オ,オ
天気 名詞,一般,,,,,天気,テンキ,テンキ
です 助動詞,,,,特殊・デス,基本形,です,デス,デス
ね 助詞,終助詞,
,,,,ね,ネ,ネ
。 記号,句点,
,,,*,。,。,。
EOS

(例2)
すもももももももものうち
すもも 名詞,一般,,,,,すもも,スモモ,スモモ
も 助詞,係助詞,,,,,も,モ,モ
もも 名詞,一般,,,,,もも,モモ,モモ
も 助詞,係助詞,,,,,も,モ,モ
もも 名詞,一般,,,,,もも,モモ,モモ
の 助詞,連体化,,,,,の,ノ,ノ
うち 名詞,非自立,副詞可能,,,*,うち,ウチ,ウチ
EOS

6.課題

もしかしたら文字コードを直接指定するオプションがあるのかもしれない。