sudachipyでユーザー辞書をビルドして使うまでのまとめ

インストール

 anaconda3環境を前提とする。

 sudachipyのデフォルト辞書はsudachidict-coreになっているので、とりあえず入れておくと「辞書がないよエラー」がでない。

conda install sudachipy
# 辞書のインストール
conda install sudachidict-core
conda install sudachidict-full
Search | Anaconda.org

ユーザー辞書の作成

 以下のフォーマットに従ってユーザー辞書をcsvで作成する。

 なお、辞書をビルドする際にはヘッダーが入らないようにしておく。(csvを作るときにheader=falseで作るとよさげ)

sudachipy(v0.6.10)のユーザー辞書のフォーマットとサンプル
sudachipy(v0.6.10)のユーザー辞書のフォーマットとサンプルsudachipy(v0.6.10)向け$ pip show sudachipyName: SudachiPyVersion: 0.6.10Summary: Python version of Sudach...

 csvを使ってユーザー辞書をビルドする。

# -sはベースとなる辞書ファイルの場所
# -oはビルドで作成される辞書ファイルの場所と素になるcsvの場所
sudachipy ubuild -s C:/Users/hoge/anaconda3/Lib/site-packages/sudachidict_core/resources/system.dic -o dict/taberogu_dict.dic dict/taberogu_ryori_dict.csv

 

ユーザー辞書の登録

 作成したユーザー辞書はsudachipyの設定ファイルに登録するか、形態素解析をする際の引数で指定する。

 設定ファイルはsudachi.json。

# sudachi.jsonの場所
C:/Users/youruserdir/Anaconda3/Lib/site-packages/sudachipy/resources/sudachi.json
# ビルドしたdictファイルのパスを指定する
"userDict" : ["ビルドしたdictファイルのパス"],

ユーザー辞書で形態素解析

# sudachi.jsonを読み込む
config_path = "C:/Users/hoge/Anaconda3/Lib/site-packages/sudachipy/resources/sudachi.json"
# 形態素解析をする
tokenizer_obj = dictionary.Dictionary(config_path=config_path, dict="full").create()

# 複数の辞書を使い分けたい場合は形態素解析を行う際に個別に設定すると便利
config_json = json.dumps({
"user": ["使いたい辞書ファイルのパス"]
})
# 形態素解析をする
tokenizer_obj = dictionary.Dictionary(dict="full", config=config_json).create()

参考ドキュメント

テキスト分析の大通り#17: 環境構築と辞書登録|yssymmt
以下に環境構築関連で行ったことを記します。OSはWindows10です。ちなみに以下に記載されているneologd辞書、Mecabのユーザー辞書、Sudachiのユーザー辞書登録はPythonでのMecab、またはSudachiのインストール後に実施します。 Teradataの環...
sudachi
msickpalerさんのスクラップ
GitHub - WorksApplications/SudachiPy: Python version of Sudachi, a Japanese tokenizer.
Python version of Sudachi, a Japanese tokenizer. Contribute to WorksApplications/SudachiPy development by creating an account on GitHub.

コメント