📖
sudachpyでユーザー辞書をつくる
またつかいそうなのでメモ
こいつをもとに
池田,4786,4786,5000,池田,名詞,固有名詞,一般,*,*,*,イケダ,池田,*,*,*,*,*
簡単コメント,4786,4786,5000,簡単コメント,名詞,固有名詞,一般,*,*,*,カンタンコメント,簡単コメント,*,*,*,*,*
こんな感じのテキストファイルを作成
これをsudachipyのubuildを使ってビルドする
sudachipy ubuild -s /path/to/your/system.dic user_dict.txt
system.dicはpip show sudachidict-core(or full or small)とか打てば出てくるディレクトリ内のresources/system.dicにある。user_dict.txtはさっき作成したもの。
次にsudachi.jsonを設定する。
またpip show sudachipyと打って出てきたディレクトリ内のresources/sudachi.jsonを編集する
例
{
"systemDict" : "path/to/system.dic",
"characterDefinitionFile" : "char.def",
"userDict" : [ "/path/to/user.dic" ],
"inputTextPlugin" : [
{ "class" : "com.worksap.nlp.sudachi.DefaultInputTextPlugin" },
{ "class" : "com.worksap.nlp.sudachi.ProlongedSoundMarkPlugin",
"prolongedSoundMarks": ["ー", "-", "⁓", "〜", "〰"],
"replacementSymbol": "ー"},
{ "class": "com.worksap.nlp.sudachi.IgnoreYomiganaPlugin",
"leftBrackets": ["(", "("],
"rightBrackets": [")", ")"],
"maxYomiganaLength": 4}
],
"oovProviderPlugin" : [
{ "class" : "com.worksap.nlp.sudachi.MeCabOovPlugin",
"charDef" : "char.def",
"unkDef" : "unk.def" },
{ "class" : "com.worksap.nlp.sudachi.SimpleOovPlugin",
"oovPOS" : [ "補助記号", "一般", "*", "*", "*", "*" ],
"leftId" : 5968,
"rightId" : 5968,
"cost" : 3857 }
],
"pathRewritePlugin" : [
{ "class" : "com.worksap.nlp.sudachi.JoinNumericPlugin",
"enableNormalize" : true },
{ "class" : "com.worksap.nlp.sudachi.JoinKatakanaOovPlugin",
"oovPOS" : [ "名詞", "普通名詞", "一般", "*", "*", "*" ],
"minLength" : 3
}
]
}
今回は1行目と3行目を変更したが3行目のuserdictを追加するだけでもいいと思う。
これで試しに実行する
sudachipy
簡単コメント
簡単コメント 名詞,固有名詞,一般,*,*,* 簡単コメント
EOS
ユーザー辞書が適用されていることが確認できる。
参考
Discussion