Skip to content

MeCab との違い ​

MeCab と Suzume は、語の境界と品詞の付け方が異なります。まず調べたい話題を選び、比較例で具体的な違いを確認してください。

意図的な差異の正本は、テスト期待値を生成する Python の MeCab 正規化パイプラインです。

話題から探す ​

調べたいこと詳細
複合語、数字と単位、地名、接尾辞の境界複合語・数量・名前
複合動詞と補助動詞、助詞、否定、文語の境界動詞・文法表現
口語の表記、長音、識別子、URL、記号表記・技術テキスト
同じトークンに付く品詞、原形、拡張品詞POS 分類の違い

比較条件 ​

この比較ガイドの MeCab の境界と表示する素性は、すべて MeCab 0.996 と mecab-ipadic 2.7.0-20070801(UTF-8 版 IPA 辞書)の出力から記録しています。ラベルは読みやすいように MeCab のカンマ区切り素性を略記していますが、トークン境界は書き換えていません。mecab を既定の設定で実行し、ユーザー辞書は読み込んでいません。使用中の設定は次のコマンドで確認できます。

bash
mecab --version
mecab -D

MeCab の出力は、選択した辞書、そのコスト、ユーザー辞書によって変わります。UniDic、NEologd、カスタマイズした IPA 辞書では、このページと異なる境界や品詞になることがあります。上記の正規化パイプラインは、この IPA 辞書の出力を起点に、Suzume の一般化した比較規則を適用してテスト期待値を生成します。

比較の読み方

各比較では、MeCab 行に MeCab の日本語品詞名、Suzume 行に公開 API のタグ(NOUN、VERB、ADJ など)を、コードごとに日本語の品詞名を併記して示します。各トークンには品詞色のアンダーラインが付くので、2つのトークナイザーがどこで分割・結合するかが一目で分かります。

設計思想 ​

MeCab は選択した辞書の語彙・品詞体系・接続コストに基づいて形態素を解析します。Suzume はコンパクトな辞書と文字種・文法・接続規則を使い、検索や表示に使うトークンを生成します。

MeCabSuzume
アプローチ辞書駆動型特徴量駆動型
辞書外部辞書が必要。サイズと出力は選択した辞書に依存コンパクトな辞書を WASM バイナリに内蔵(gzip 後に約 260KiB)
未知語文字種にフォールバックパターンベースの候補生成
複合語選択した辞書に基づく境界辞書と構造規則。未知の連続列は結合する場合あり
対象辞書に基づく詳細な解析ブラウザ・エッジ・ネイティブでのコンパクトな検索・表示用トークン化

制約 ​

Suzume の特徴量ベースアーキテクチャに起因する既知の制限事項です。

結合された複合語の分割不可 ​

Suzume は、未知の同一文字種複合語の内部にある任意の語彙境界を推測できません。ただし、文法規則やコンパクトな辞書で根拠のある境界は分割できます。

入力東京都庁前
MeCab
東京都庁前
3トークン
Suzume
東京都庁前名詞NOUN
1トークン

Suzume は内部境界を判定できず、MeCab は辞書に基づいて分割します

回避策: アプリケーションで必要な境界は、ユーザー辞書ガイドの実行時読み込み例を使って登録します。JavaScript、Python、Go、C++、C、ネイティブ CLI の例を掲載しています。

使い分けの指針 ​

ユースケース推奨
ブラウザ / クライアントサイドアプリSuzume — サーバー不要
検索インデックス / タグ抽出Suzume — 複合語結合がむしろ有利
特定の MeCab 辞書/コーパスとの互換性MeCab — その辞書の境界と品詞体系を維持
リアルタイム UI(入力中の処理)Suzume — 高速、ネットワーク遅延なし
辞書で定義された複合語分割MeCab — 選択した辞書に基づく境界判定
辞書にない語へのパターン候補Suzume — 語彙エントリがない文字列も解析可能