M1 macを利用してます。brewでmecabをインストールし、ユーザー辞書を作成しました。(/opt/homebrew/etc/use_dic.dic)
mecabを直接コマンドラインから実行するとユーザー辞書が反映され問題なく分かち書きができているようですが、
pythonから利用するときにエラーが起こります。
import MeCab mecab = MeCab.Tagger('-u /opt/homebrew/etc/use_dic.dic')
issueを英語で書く必要はありません。
------------------- ERROR DETAILS ------------------------
arguments: -u /opt/homebrew/etc/use_dic.dic
error message: ) [tokenizer_->open(param)] tokenizer.cpp(130) [sysdic->isCompatible(*d)] incompatible dictionary: /opt/homebrew/etc/use_dic.dic
色々調べてみると、sys.dicとuse_dic.dicの文字コードが異なるのではという可能性がありましたが、
mecab -D
で調査をしてみると以下で文字コードがずれていることはなさそうです。
filename: /opt/homebrew/lib/mecab/dic/ipadic/sys.dic
version: 102
charset: utf8
type: 0
size: 392126
left size: 1316
right size: 1316filename: /opt/homebrew/etc/use_dic.dic
version: 102
charset: utf8
type: 1
size: 22
left size: 1316
right size: 1316
元のcsvもutf-8で作成しており辞書をコンパイルするときは以下の様に作成しております。
mecab-dict-index -d/opt/homebrew/lib/mecab/dic/ipadic -u use_dic.dic -f utf-8 -t utf8 use_dic.csv
もちろん設定ファイル mecabrc にも以下のように記載をしております
userdic = /opt/homebrew/etc/use_dic.dic
どの様な可能性がありますでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。