현재 UIMA와 OpenNLP를 사용하여 문장의 단어에 레이블을 지정합니다. 한 단어에 두 번 이상 레이블을 지정할 수 있어야합니다. 예를 들어 David Cronenberg
은 director
및 person
으로 표시되어야합니다.NLP를 사용하여 명사구에서 여러 명명 된 엔티티 유형 인식
사용자 지정 모델 파일이 있고 레이블 중 하나가 포함 된 모든 문장이 모델 파일에서 제거되어 다른 레이블이 검색되면 교육 과정이 올바르게 구현된다는 것을 알고 있습니다.
OpenNLP를 계속 사용하여 레이블 단어를 이중으로 사용할 수 있습니다. 이것을 할 수있는 방법이 있습니까? 그렇지 않은 경우 스탠포드 CoreNLP와 같은 다른 라이브러리에서 가능합니다.
List<NamedEntity> entities = JCasUtil.selectCovered(NamedEntity.class, aConstituent);
if (!entities.isEmpty()) {
// is never more than 1
}
그리고 몇 가지 예제 훈련 데이터 (이 유사 라인의 수백이있다.)에 대한
<START:person> David Cronenberg <END> directed <START:film> Crash <END> .
<START:director> David Cronenberg <END> directed <START:film> Scanners <END> .
OpenNLP 개발자에게 연락하십시오. 여기에서 도움을 얻을 수는 있지만 더 많이 찾을 수 있습니다. 오픈 소스라면 코드를 살펴보십시오. 거기에서 답을 찾을 수있을뿐만 아니라 해결책도 찾을 수 있습니다. –