2017-03-25 11 views
2

저는 다양한 품사가 내부적으로 표현되는 일부 데이터 구조, 열거 형 또는 생성 프로세스를 찾고 있습니다. 나는 Javadoc과 소스 코드를 오랜 시간 동안 스캔 해 왔고 내가 찾고있는 것을 찾을 수 없다. 가능한 한 중앙 위치에 저장되어 있다면 태그 컬렉션에 직접 액세스하고 싶습니다. 제가 포즈를 취하는 질문이 CoreNLP pos-tagging이 작동하는 방식에 관한 순진한 가정을 구성하는 경우 용서해주십시오. 그러나 제가 설명하는 것이 어떤 형태로 존재한다면, 이것은 매우 유용 할 것입니다. 감사!CoreNLP 코드에서 Penn Treebank 품사 기호 자체가 실제로 표현됩니까?

답변

1

실제로 코드의 어디에서나 명시 적으로 표현되는 것은 아닙니다. 태그 지정자는 단순히 고정 된 열거 형이 아닌 문자열로 출력하고 출력 공간은 교육 데이터에서 직접 추론됩니다. 이 장점은 임의의 태그 세트에서 정확히 동일한 모델을 학습 할 수 있다는 것입니다. 물론 당신이 방금 만난 단점이 있습니다. :)

그러나, 영어, 태그 세트는 펜 Treebank 태그 설정해야합니다 대답에 대한 https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html

+0

감사합니다. 그래, 그게 내가 생각한거야. 나는 그것이 PTB를 사용한다는 것을 알고 있습니다. (그리고 당신의 대답에서, 지금은 왜 훈련 메커니즘이 특정한 treebank 모델을 따르지 않는지 이해합니다.) 비교할 값을 수동으로 열거 할 수있는 자신의 능력을 신뢰하지 않고 프로그래밍 방식으로도 값에 어떻게 든 액세스 할 수 있다면 여전히 현재 프로젝트에 유용 할 것입니다. 우리 프로그래머는 일반적으로 어떻게 든 자동화하는 대신이 일을하는 것을 싫어하기 때문에 이것이 어디에서 왔는지 이해할 수 있습니다. 오, 그럼. 도움에 다시 한번 감사드립니다. :) –

+1

그래서 AbstractSequenceClassifier # labels()을 살펴볼 수 있습니다. 이것은 레이블 공간에 대한 시퀀스 모델의 뷰를 제공합니다. 하지만 (1) 반드시 올바른 것은 아닙니다 (예 : 이론적으로 트레이닝 세트에있는 것보다 많은 라벨이있을 수 있음). (2) 실제 파이프 라인에서 벗어나는 것은 고통입니다. 열거 형으로 태그를 하드 코딩하는 것이 좋습니다. CoreNLP에서는 많은 시간이 지남에 따라 변경되지만 POS 태그 세트는 그 중 하나가 될 가능성이 없습니다 –