[Sudachi]ユーザー辞書作成

TIPS

Sudachiの辞書は、テキスト形式(CSV)で作成したあと、高速化のためにバイナリ形式(.dic)に変換(ビルド)して使用します。

  1. 辞書ソース(CSV)の作成: ルールに従って単語を記述。
  2. バイナリへのビルド: sudachipy ubuild コマンドを使用。
  3. 設定ファイルへの登録: sudachi.json で作成した辞書を指定。

1. CSVフォーマットの詳細

辞書ソースは UTF-8 の CSV 形式で記述します。全18カラムありますが、ユーザー辞書作成において重要な項目を整理しました。

カラム一覧と設定値

番号項目名内容・指定例
1見出し登録したい単語(例:推しの子
2左連接ID通常は -1(自動設定)
3右連接ID通常は -1(自動設定)
4コスト出現しやすさ。小さいほど優先される(例:5000
5見出し1と同じでOK
6-11品詞1〜4, 活用型, 活用形品詞情報(例:名詞,固有名詞,*,*,*,*
12読み全角カタカナ(例:オシノコ
13正規化表記表記ゆれを統一する際の形
14辞書形ID通常は *
15分割タイプA, B, C または *
16A単位分割情報分割する場合のIDまたは単語
17B単位分割情報分割する場合のIDまたは単語
18未使用空白(*

ポイント:コストの決め方

すでに存在する単語と競合して意図通り分割されない場合は、コストを 10003000 程度に下げると優先的に抽出されやすくなります。

CSVの記述例 (user_dict.csv)

推しの子,-1,-1,5000,推しの子,名詞,固有名詞,*,*,*,*,オシノコ,推しの子,*,*,*,*,*
タイパ,-1,-1,5000,タイパ,名詞,一般,*,*,*,*,タイパ,タイムパフォーマンス,*,*,*,*,*

2. ステップバイステップ:辞書作成の流れ

ここからは具体的に Python 環境(SudachiPy)での手順を解説します。

Step 1: 必要なパッケージの確認

まずは SudachiPy とシステム辞書がインストールされているか確認します。

pip install sudachipy sudachidict_core

Step 2: システム辞書のパスを確認

ビルド時にシステム辞書の場所が必要になります。以下のコマンドでパスを確認しておきましょう。

# Pythonでパスを確認する場合
python -c "import sudachidict_core; print(sudachidict_core.dictionary_path)"

Step 3: ユーザー辞書のビルド

作成した user_dict.csv を、Sudachiが読み込めるバイナリ形式(user.dic)に変換します。

# -s: システム辞書のパス, -o: 出力ファイル名
sudachipy ubuild -s $(python -c "import sudachidict_core; print(sudachidict_core.dictionary_path)") -o user.dic user_dict.csv

Step 4: sudachi.json の設定

作成した user.dic を読み込むよう設定します。カレントディレクトリに sudachi.json を作成(または既存のものを編集)し、userDict フィールドを追記します。

{
    "userDict" : ["user.dic"]
}

Step 5: 動作確認

実際に単語が登録されているかテストしてみましょう。

# 設定ファイルを指定して実行
echo "タイパを重視する" | sudachipy -r sudachi.json

実行結果(例):

タイパ   名詞,一般,*,*,*,* タイムパフォーマンス
を       助詞,格助詞,一般,*,*,* を
...

「タイパ」が「タイムパフォーマンス」として正規化され、一つの名詞として認識されていれば成功です!

まとめ

Sudachiのユーザー辞書を使いこなせれば、特定のドメインにおける解析精度を劇的に向上させることができます。

  • CSVはUTF-8で保存
  • 左/右連接IDは -1 で自動計算
  • 分割単位(A, B, C)を意識して単語を登録

この3点を押さえて、自分だけの最強の辞書を構築してみてください。

コメント

タイトルとURLをコピーしました