나는 스탠포드 nlp 패키지를 사용하여 아래 코드를 작성했습니다.자연 언어 처리의 성별 식별
GenderAnnotator myGenderAnnotation = new GenderAnnotator();
myGenderAnnotation.annotate(annotation);
그러나 "Annie goes to school"문장의 경우 Annie의 성별을 확인할 수 없습니다.
응용 프로그램의 출력은 다음과 같습니다
[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]"과 같이 5 개의 각 기능에 '#'을 붙 였으므로 추출 된 기능이 없어야하고 코드를 실행하면 62- 정확도의 63 %, 왜 동전 던지기 (50 %)보다 더 나은 기능이 없을까요? – KubiK888
@ KubiK888 데이터 세트가 불균형 (63 % 남성) 일 수 있고 NaiveBayes를 학습 한 후 가장 좋은 방법은 남성을 항상 선택하는 것이기 때문일 수 있습니다. –