我使用stanford nlp軟件包編寫了下面的代碼。自然語言處理中的性別鑑定
GenderAnnotator myGenderAnnotation = new GenderAnnotator();
myGenderAnnotation.annotate(annotation);
但是對於「安妮上學」這句話,卻無法確定安妮的性別。
應用程序的輸出是:
[Text=Annie CharacterOffsetBegin=0 CharacterOffsetEnd=5 PartOfSpeech=NNP Lemma=Annie NamedEntityTag=PERSON]
[Text=goes CharacterOffsetBegin=6 CharacterOffsetEnd=10 PartOfSpeech=VBZ Lemma=go NamedEntityTag=O]
[Text=to CharacterOffsetBegin=11 CharacterOffsetEnd=13 PartOfSpeech=TO Lemma=to NamedEntityTag=O]
[Text=school CharacterOffsetBegin=14 CharacterOffsetEnd=20 PartOfSpeech=NN Lemma=school NamedEntityTag=O]
[Text=. CharacterOffsetBegin=20 CharacterOffsetEnd=21 PartOfSpeech=. Lemma=. NamedEntityTag=O]
什麼是正確的做法,以獲得的性別?
我在每個五個特徵上放了一個'#',例如:「#'last_char':name [-1],」,所以不應該有任何提取的特徵,並且運行代碼給出一個62- 63%的準確性,爲什麼沒有特徵預測好於擲硬幣(50%)? – KubiK888 2015-09-22 02:48:43
@ KubiK888原因可能是數據集不平衡(63%的男性),並且在瞭解NaiveBayes後決定最好的方法是始終選擇男性。 – 2015-09-22 04:25:15