ビルド
このページでは、ソースファイルから UniDic 辞書をビルドする方法を説明します。
システム辞書のビルド
UniDic のソースファイルをダウンロードし、辞書をビルドします:
% curl -L -o /tmp/unidic-mecab-2.1.2.tar.gz "https://Lindera.dev/unidic-mecab-2.1.2.tar.gz"
% tar zxvf /tmp/unidic-mecab-2.1.2.tar.gz -C /tmp
% lindera build \
--src /tmp/unidic-mecab-2.1.2 \
--dest /tmp/lindera-unidic-2.1.2 \
--metadata ./lindera-unidic/metadata.json \
--context-id-freq ./lindera-unidic/context_id_freq.txt
[!TIP]
lindera-unidic/metadata.jsonはconnection_id_mapping: trueを設定しているため、ビルダーは 連接コスト行列の文脈 ID を使用頻度順に付け替え、連接コスト参照時のキャッシュ局所性を改善します。--context-id-freq/-fに同梱のcontext_id_freq.txtヒストグラムを渡すことで、この付け替えに 実際のコーパス頻度データを与えて ID をランク付けできます。このフラグを省略してもビルドは失敗せず、 精度の低いエントリ数ベースのフォールバックに黙って切り替わるだけです。いずれの場合もトークン化の 結果には影響しません -- この付け替えはコストを保つ全単射な再ラベル付けであり、ビルド時の最適化のみに 関わるものであって正確性には影響しません。
ユーザー辞書のビルド
CSV ファイルからユーザー辞書をビルドします:
% lindera build \
--src ./resources/user_dict/unidic_simple_userdic.csv \
--dest ./resources/user_dict \
--metadata ./lindera-unidic/metadata.json \
--user
ユーザー辞書フォーマットの詳細については、辞書フォーマットを参照してください。
バイナリへの埋め込み
UniDic 辞書をバイナリに直接埋め込むには、以下のようにビルドします:
cargo build --features=embed-unidic
これにより、外部辞書ファイルなしで embedded://unidic を辞書パスとして使用できるようになります。