MEMM によって非常にうまく解決される解析の問題があります。しかし、私はアルゴリズムの適切な実装 (理想的には Java) を見つけるために多くの時間を費やしてきました。誰もこれを以前にやったことがありますか?または、誰かが読み取り可能なドキュメントを持っている場合は、自分で実装することもできます。
ありがとう!
(私はすでにMalletを試しましたが、jarのトレーナーは実装されていませんでした)
MEMM があなたの問題に特に適していると考える理由は何ですか? 通常、あるものが他のものよりもうまく機能する理由を理論的に正当化することは非常に難しく、問題は経験的に解決されます。
Mallet を既にお持ちの場合は、Conditional Random Field の実装を使用してみてください。Lafferty、McCallum、および Pereira による最近の研究でConditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data
は、CRF がシーケンスのタグ付けに関して MEMM よりも優れていることが多いことが示されています。
Stanford CoreNLP suite of NLP toolsにあるStanford NLP Group のCMMClassifierを調べましたか?
残念ながら、基礎となるMEMM実装の品質について話すことはできませんが、それは Java であり、スタンフォード NLP の他のいくつかの部分を使用して比較的成功しています。
CoreNLP の欠点は、その広範なオブジェクト モデルと、ほとんどのモジュールが持つ非常に多くの依存関係にある場合があります。1 つのツール/クラスに集中したい場合、これらの依存関係に関連する気晴らしと学習曲線が煩わしい場合があります。一方、このオブジェクト モデルは、多くの NLP タスクに共通する実際の下位レベルおよび中間レベルのプロセスに効果的に対応しているため、非常に役立ちます。