Recent Changes

2012-10-10

Wiki Guide

Side Bar

NMeCabの位置づけ

NMeCabは、有名かつ優秀なオープンソース形態素解析エンジンであるMeCabを、.NET環境に移植したものです。
オリジナル版MeCabについての詳細はhttp://mecab.sourceforge.net/などを参照してください。

NMeCab開発の目的

完全に.NET Framework CLR上で動作する、形態素解析エンジンのライブラリを用意することが、この開発の目的です。
オリジナル版MeCabに対しては各種言語環境用のラッパーが公開されており、.NETも例外ではありません。しかし、クラウド・RIA・スマートフォンと環境の多様化している現在、Unmanaged codeのまったく使えないケースも増えていくと考え、この開発を始めました。

NMeCabの特徴

  • C#言語による純粋な.NET Framework Managed code実装です。(ポインタのためにUnsafe codeは使用します)
  • オリジナル版MeCab(0.98)における解析処理アルゴリズムと基本設計を、できるだけ忠実に再現しています。
  • 移植の範囲は解析処理部分のみとしています。辞書作成に関する機能は持ちません。独自の辞書が必要な場合は、オリジナル版MeCabで作成してください。
  • ライブラリ仕様(API)はオリジナル版MeCabのC++ライブラリに準じます。http://mecab.sourceforge.net/libmecab.html#c++
  • GPL・LGPLのデュアルライセンスです。

MeCabのAPIとの主な相違点

  • クラス名称を変更しています(名前衝突を避けるため)。
    • MeCab::Tagger ⇒ NMeCab.MeCabTagger
    • MeCab::Node ⇒ NMeCab.MeCabNode
  • MeCabTaggerインスタンス1つで、マルチスレッドからの解析要求に対応します。
  • 複数インスタンス間でのリソース共有は行いません(予定)。
    • よって、各スレッドごとにインスタンス生成を行うことは避けてください。
  • 定数のほとんどをEnumに置き換えています。
  • 設定ファイルはmecabrcではなく.configになっています。

改善要望について

ご要望がありましたら、フォーラムなどへお寄せください。可能な範囲で取り入れさせていただきます。