mecab-dict-index.exeコマンドを使って単語を追加すればよい。単語を追加するには、以下の二通りの方法がある。
- MeCabのシステムの設定を変更する
- 形態素解析時に作成した追加単語の辞書を指定する
1の場合、万が一追加に失敗した場合はMeCab自体が動作しなくなり、障害の切り分けが難しくなるため、2の方法を推奨する。以下はその2の手順。
テキストエディターで追加したい単語情報を記載したファイルを作成する。以下ではファイル名はadd.csvとしている。
add.csv
旅々,,,10,名詞,固有名詞,一般,*,*,*,たびたび,タビタビ,タビタビ
ともり,,,10,名詞,固有名詞,人名,名,*,*,ともり,トモリ,トモリ
このファイルを、コマンドプロンプトでmecab-dict-index.exeコマンドを使用して、MeCabで利用できるファイル形式に変換する。以下ではMeCabは「C:\Program Files\MeCab」にインストールしているとしている。返還後の追加単語辞書はadd.dicとする。コマンドを実行して、最後に「done!」と出力されれば変換は成功。
>set exe="C:\Program Files\MeCab\bin\mecab-dict-index.exe"
>set sdic="C:\Program Files\MeCab\dic\ipadic"
>%exe% -d %sdic% -u add.dic -f utf-8 -t utf-8 add.csv
reading add.csv ... 2
emitting double-array: 100% |###########################################|
done!
実際にR上で動作を確認してみる。追加単語辞書はRMeCabC関数ではdicオプションに指定する。以下では、追加単語辞書がカレントディレクトリにあるとしている。
> library(RMeCab)
> s <- "魔女の旅々のイレイナ役の本渡楓さんと"
> s <- paste0(s, "崩壊:スターレイルのホタル役の楠木ともりさんかわいい")
> RMeCabC(s) |> unlist()
名詞 助詞 名詞 記号 助詞
"魔女" "の" "旅" "々" "の"
名詞 名詞 助詞 名詞 名詞
"イレイナ" "役" "の" "本渡" "楓"
名詞 助詞 名詞 記号 名詞
"さん" "と" "崩壊" ":" "スターレイル"
助詞 名詞 名詞 助詞 名詞
"の" "ホタル" "役" "の" "楠木"
助詞 動詞 名詞 助詞 形容詞
"と" "もり" "さ" "ん" "かわいい"
> RMeCabC(s, dic = "add.dic") |> unlist()
名詞 助詞 名詞 助詞 名詞
"魔女" "の" "旅々" "の" "イレイナ"
名詞 助詞 名詞 名詞 名詞
"役" "の" "本渡" "楓" "さん"
助詞 名詞 記号 名詞 助詞
"と" "崩壊" ":" "スターレイル" "の"
名詞 名詞 助詞 名詞 名詞
"ホタル" "役" "の" "楠木" "ともり"
名詞 形容詞
"さん" "かわいい"
追加単語辞書を使わないと「旅々」や「ともり」がうまく認識できていないが、追加単語辞書を指定すると、うまく認識できていることがわかる。