📖
Sudachipyの設定ファイルにユーザ辞書を自動で追加するスクリプト
概要
形態素解析器Sudachiでユーザが任意の辞書ファイルを利用するには、設定ファイルの項目userDict
にファイルパスを追加する必要があります。オジリナルのSudachi自体やPython版のsudachipyでは設定ファイルをjson形式で渡すことで自由にユーザ辞書を使うことができますが、sudachiをバックエンドで使っている別のシステムなどでは、設定ファイルを自由に渡すことができない場合があります。そうした状況では設定ファイルを直に書き換える必要がありますが、Pythonパッケージとしてインストールされた設定ファイルを探し出して変更を加えるのは大変ですし、Dockerなどの環境構築時に利用できない問題があります。
そこで、spaCy+GiNZAを利用している状況において、GiNZAが利用するsudachipyの設定ファイルにユーザ辞書のパスを追加するためのスクリプトを作りました。
使い方
$ python modify_sudachi_json.py --user_dict path/to/user.dic --debug
--user_dict
は設定ファイルに挿入するユーザ辞書のパスです。相対パスを設定しても内部で絶対パスに変換します。なお--user_dict path/to/user1.dic, path/to/user2.dic
のように、複数個指定することが可能です 。
--debug
は設定ファイルやユーザ辞書のパスを標準出力に表示するオプションです。実行結果を確認したりログに出力したい時に利用します。
実行例
$ python modify_sudachi_json.py --user_dict user_dict.dic --debug
sudachi.json: /Users/yag_ays/.pyenv/versions/3.8.3/lib/python3.8/site-packages/sudachipy/resources/sudachi.json
userDict: /Users/yag_ays/dev/nlp/sudachi/modify_sudachi_json/user_dict.dic
# poetryの場合
$ poetry run python modify_sudachi_json.py --user_dict user_dict.dic --debug
sudachi.json: /Users/yag_ays/Library/Caches/pypoetry/virtualenvs/hoge-l0yczTy0-py3.8/lib/python3.8/site-packages/sudachipy/resources/sudachi.json
userDict: /Users/yag_ays/dev/nlp/sudachi/modify_sudachi_json/user_dict.dic
Discussion