2016-09-21 51 views
1

我是新來的NLP場景,並且正在使用OpenNLP 1.5入門。 https://opennlp.apache.org/documentation/manual/opennlp.html
(我使用命令行界面上手)自定義NER模型 - 失敗

我以前已經提供的樣品模型,使用不同的工具進行試驗和:

我通過一些文件在這裏給出的命令去最後決定創建一個定製NER型號

我遵循上述鏈接給出的指示。

複製給到.train文件樣本句子(我簡單地創建具有該擴展名的新文件,並粘貼內容到它):

<START:person> Pierre Vinken <END> , 61 years old , will join the board as a nonexecutive director Nov. 29 . 
Mr . <START:person> Vinken <END> is chairman of Elsevier N.V. , the Dutch publishing group . 

我用下面的命令來使模型:

bin/opennlp TokenNameFinderTrainer -model en-ner-person2.bin -lang en -data en-ner-person2.train -encoding UTF-8 

問題是,即使該模型正在創建,它似乎不能正常工作。使用新創建的模型進行測試: bin/opennlp TokenNameFinder en-ner-person2.bin

但是,當我輸入Pierre Vinken時,它不會被識別爲人。我也嘗試從.txt文件創建具有完全相同內容的模型,但也失敗了。

我在做什麼錯?

TIA。

+0

輸入「Pierre Vinken」時會得到什麼結果?你嘗試過輸入完整的句子嗎? – NBartley

+0

@NBartley電流輸出只是「Pierre Vinken」。我想' Pierre Vinken '。 –

+0

@NBartley我還沒有試過完整的句子。當我用已有的樣本模型試用Pierre Vinken時,我得到了預期的輸出。 –

回答

4

總之 - 你不能期望統計模型學習只從兩個句子。再加14,998,你很好走。

訓練數據至少應包含15000個語句創建執行逢

CRF(條件隨機場)的這種統計模型的模型,他們確實需要數據的大量圖在遊戲規則中,他們不是簡單地「記住」他們在訓練階段看到的東西,所以即使你從裁判隊伍中尋求什麼東西 - 他們也不能提供答案。

+0

新手問題。這是爲什麼?除了機器學習過程之外,模型還能記住訓練集中的單詞嗎? –

+0

CRF是最受歡迎的統計模型嗎?初學者在哪裏可以瞭解更多信息?還有哪些統計模型可用? –

+0

就是這樣,因爲你實際學習好模型的方式是通過複雜的統計分析,通常基於一些可區分的成本函數,「記憶」不是真的與這樣一個範式兼容,僅僅是一種啓發式,僅此而已。機器學習(特別是現代的)是關於遠離啓發式學習並試圖學習所有東西,而不是假設人們更好地瞭解底層機制。如果你想了解更多 - 去coursera,有很多關於機器學習和/或NLP的課程。 – lejlot