先程のentryの続きです
sudachi.json
元の sudachi.json をコピーし、「"userDict" : [~] 」を追加しています
{ "systemDict" : null, "characterDefinitionFile" : "char.def", "userDict" : ["c:/Users/end0t/tmp/QA_SGST/sudachi_user_dic/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 } ] }
python
#from sudachipy import tokenizer from sudachipy import dictionary sudachi_conf_json = "c:/Users/end0t/tmp/QA_SGST/sudachi_user_dic/sudachi.json" def main(): # ↓sudachipy.tokenizer.Tokenizer tokenizer_obj = dictionary.Dictionary(config_path=sudachi_conf_json).create() print( tokenizer_obj ) text = "ユーザと、ユーザー、USERは、同義語です" tokens = tokenizer_obj.tokenize(text) for token in tokens: print( token.surface(), token.part_of_speech(), token.reading_form(), token.normalized_form() ) if __name__ == '__main__': main()
実行結果
ユーザ ('名詞', '普通名詞', '一般', '*', '*', '*') ユーザ ユーザー と ('助詞', '格助詞', '*', '*', '*', '*') ト と 、 ('補助記号', '読点', '*', '*', '*', '*') 、 、 ユーザー ('名詞', '普通名詞', '一般', '*', '*', '*') ユーザー ユーザー 、 ('補助記号', '読点', '*', '*', '*', '*') 、 、 USER ('名詞', '普通名詞', '一般', '*', '*', '*') ユーザー ユーザー は ('助詞', '係助詞', '*', '*', '*', '*') ハ は 、 ('補助記号', '読点', '*', '*', '*', '*') 、 、 同義語 ('名詞', '普通名詞', '一般', '*', '*', '*') ドウギゴ 同義語 です ('助動詞', '*', '*', '*', '助動詞-デス', '終止形-一般') デス です