自然言語処理を「高精度」に行いたいなら、現在はMeCabよりもSudachiが主流です。
今回は、UbuntuサーバーにSudachiを導入し、辞書エラーを回避して動かすまでの全手順をまとめます。
1. 開発環境の準備(venvの作成)
Python環境を汚さないよう、専用の仮想環境(venv)を作成することから始めます。
# プロジェクトディレクトリの作成
mkdir ~/sudachi-tool && cd ~/sudachi-tool
# 仮想環境の作成
python3 -m venv venv
# パッケージマネージャを最新に更新
venv/bin/pip install -U pip setuptools
2. SudachiPy と 辞書のインストール
解析エンジン本体と、語彙データ(辞書)をインストールします。
# エンジン本体のインストール
venv/bin/pip install sudachipy
# 辞書のインストール(Core版とFull版)
venv/bin/pip install sudachidict_core
venv/bin/pip install sudachidict_full
ポイント: SudachiPyはデフォルトで
core辞書を探しに行きます。エラーを避けるために、まずはcoreを入れておくのが無難です。
3. 【重要】「辞書が見つからない」エラーの対処法
インストール直後に実行すると、以下のようなエラーが出ることがあります。
ModuleNotFoundError: Package sudachidict_core does not exist.
これはSudachiPyが辞書を認識できていない状態です。以下のコマンドで「どの辞書を標準で使うか」をリンク(紐付け)して解決します。
# Full版をデフォルトとして使うように設定
venv/bin/sudachipy link -t full
4. 動作確認(CLIテスト)
正しくセットアップできたか、コマンドラインからテストしてみましょう。
echo "選挙管理委員会" | venv/bin/sudachipy -m C
期待される結果:
選挙管理委員会 名詞,固有名詞,,,, 選挙管理委員会
EOS
「Cモード」は固有名詞を一つの塊として抽出するため、Obsidianのタグ付けには最適です。
5. Pythonから呼び出す最小コード
セットアップが終われば、プログラムから以下のように呼び出せます。
from sudachipy import dictionary, tokenizer
# 辞書の初期化
obj = dictionary.Dictionary(dict="full").create()
mode = tokenizer.Tokenizer.SplitMode.C
# 解析
tokens = obj.tokenize("Obsidianで高精度なタグを生成する", mode)
for m in tokens:
print(m.surface(), m.part_of_speech()[0])
まとめ:Sudachiを選ぶメリット
- 辞書が新しい: 月次で新語が更新される。
- 多段分割: 「選挙管理委員会」をバラバラにするか、一塊にするか選べる。
- 表記揺れに強い: 「引っ越し」と「引越し」を同じものとして扱える。
これで、あなたのUbuntuサーバーは最強の日本語解析マシンに進化しました!


コメント