WorksApplications/Sudachi

A Japanese Tokenizer for Business

Sudachi – 日本語形態素解析器

SudachiはJavaで記述されたオープンソースの日本語トークナイザーおよび形態素解析器です。日本語テキストを形態素に分割し、品詞タグを付与し、出力を正規化します(例:表記ゆれの処理、文字種変換、一般的な誤字の処理)。本プロジェクトはWorks Applications Co., Ltd.によって保守され、Apache 2.0ライセンスの下で公開されています。

主要な機能

  • 複数長のセグメンテーション – 組み込みの3つのモード(A、B、C)により、分割の粒度を選択できます。最短のUniDic単位(A)から、固有名詞スタイルのチャンク(C)まで、中間の粒度(B)も用意されています。
  • 大規模辞書 – 辞書はUniDicとNEologd拡張に基づいて構築されており、コアセットに加えて、より多くの固有名詞を追加するオプションのsmallおよびfull辞書を提供します。
  • プラグインシステム – プラグインを接続して、入力正規化の変更、語彙外(OOV)単語の処理、単語接続コストの調整、パスの後処理(例:人名の修正)を行うことができます。いくつかの完成済みプラグインが同梱されています(文字の大文字小文字/幅の正規化、長音記号の処理、よみがなの除去など)。
  • ユーザー辞書 – システム辞書を置き換えることなく、実行時にカスタム辞書を追加できます。
  • コマンドラインツール – java -jar sudachi-XX.jar実行可能ファイルは、辞書の選択、出力形式、セグメンテーションモード、デバッグのためのさまざまなフラグを受け入れます。
  • Javaライブラリ – 同じエンジンをMaven(com.worksap.nlp:sudachi)を介してプログラム的に使用できます。Javadocが完全なAPIを提供します。

一般的な使用方法(CLI)

# basic tokenisation (default core dictionary)
echo 東京都へ行く | java -jar sudachi-0.8.2.jar

# show dictionary form, reading, and extra metadata
echo 東京都へ行く | java -jar sudachi-0.8.2.jar -a

# select a specific dictionary
java -jar sudachi-0.8.2.jar -s '{"systemDict":"system_small.dic"}'

# choose segmentation mode
java -jar sudachi-0.8.2.jar -m C   # named‑entity style

統合ポイント

  • Maven依存関係 – Javaプロジェクトにsudachiアーティファクトを追加し、APIを呼び出してオンザフライの解析を行います。
  • Elasticsearchプラグイン – 別のリポジトリ(elasticsearch-sudachi)により、SudachiをElasticsearchに組み込み、日本語の全文検索を行うことができます。
  • 他の言語への移植 – 同じアルゴリズムがPythonとRust(sudachi.rs)に再実装されています。

開発状況

  • 0.8.xシリーズは不安定とマークされており、パッチリリース間で破壊的変更が発生する可能性があるため、正確なバージョンを固定することを推奨します。
  • v0.8.2では新しいバイナリ辞書形式(V1)が導入されました。アップグレードには、対応するシステム辞書に対してユーザー辞書を再構築する必要があります。
  • 著者がリストアップした今後の作業には、速度の向上、プラグインの増加、より豊富な分割情報、同義語辞書との統合が含まれます。

ライセンス

SudachiはApache License 2.0の下で公開されており、自由な使用、変更、配布を許可しています。


上記の詳細はすべて、リポジトリのREADMEから直接引用したものです。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト