2012-11-26 57 views
0

我有一個解析問題,可以通過MEMM很好地解決。但是我花了很多時間去試圖找到一個很好的算法實現(最好在java中)。有沒有人做過這個?或者,如果某人有一些可讀的文檔,我可以自己實現它。用於Java中命名實體識別的最大熵馬爾可夫模型

謝謝!

(我已經嘗試過馬利特,罐中的教練是未實現的)

回答

1

你看着斯坦福NLP集團CMMClassifier,在Stanford CoreNLP suite of NLP tools發現了什麼?

恐怕我不能談論底層MEMM實現的質量,但它是用Java編寫的,我用了幾個其他部分的斯坦福大學NLP,並取得了相對的成功。

我發現有時CoreNLP的缺點是它的擴展對象模型和大多數模塊所具有的非常多的依賴關係。當人們希望專注於單個工具/課堂時,與這些依賴關係相關的分心和學習曲線可能令人討厭。另一方面,這個對象模型實際上對應於許多NLP任務中常見的實際中低級進程,因此可能非常有用。

1

您的理由是什麼MEMM對您的問題特別有用?通常很難找到理論上的理由,爲什麼有些東西比其他東西更好,而且問題是憑經驗解決的。

如果您已經有Mallet,請嘗試使用條件隨機字段實現。最近的研究,從Lafferty,McCallum和Pereira的Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data開始,顯示CRF通常優於序列標記的MEMM。

+0

+1 --- CRFs是概率序列標籤的事實標準。你需要一個非常好的理由不使用它們。 –