[Sudachi]日本語の形態素解析ツール

ツール

自然言語処理を「高精度」に行いたいなら、現在は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を選ぶメリット

  1. 辞書が新しい: 月次で新語が更新される。
  2. 多段分割: 「選挙管理委員会」をバラバラにするか、一塊にするか選べる。
  3. 表記揺れに強い: 「引っ越し」と「引越し」を同じものとして扱える。

これで、あなたのUbuntuサーバーは最強の日本語解析マシンに進化しました!

コメント

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