0
我試圖使用斯坦福大學的名爲Entity Recognizer。我想使用7類分類器,因爲我甚至想要檢測句子中的時間(或日期)和其他內容。當進入了一句:StanfordNPP中沒有給出想要的結果的七個類別分類器
"He was born on October 15, 1931 at Dhanushkothi in the temple town Rameshwaram in Tamil Nadu."
在斯坦福NLP網站(
http://nlp.stanford.edu:8080/ner/process)在線演示
它被正確歸類爲可在此圖像中可以看到(在斯坦福現場演示了上面的行):
但是,當我試圖在我的系統上使用NLTL和StanfordTagger運行代碼時,我得到了錯誤的結果。我得到的輸出:
[(u'He', u'O'), (u'was', u'O'), (u'born', u'O'), (u'on', u'O'), (u'1931-10-15', u'O'),
(u'at', u'O'), (u'Dhanushkothi', u'O'), (u'in', u'O'), (u'the', u'O'),
(u'temple', u'O'), (u'town', u'O'), (u'Rameshwaram', u'O'), (u'in', u'O'),
(u'Tamil', u'ORGANIZATION'), (u'Nadu', u'ORGANIZATION'), (u'.', u'O')]
這是不正確的位置確定日期「其他」,甚至泰米爾納德邦作爲一個組織,而不是一個位置。我使用的代碼是在這裏如下:
from nltk.tokenize import sent_tokenize, word_tokenize
from nltk.tag import StanfordNERTagger
st = StanfordNERTagger('english.muc.7class.distsim.crf.ser.gz','stanford-ner.jar')
i= "He was born on October 15, 1931 at Dhanushkothi in the temple town Rameshwaram in Tamil Nadu."
words = nltk.word_tokenize(i)
namedEnt = st.tag(words)
print namedEnt
誰能告訴我做的錯誤(如果有的話),或者任何其他方式來識別句子中的位置和時間?我是NLP的初學者,希望對此有所幫助。