2010-11-29 5 views
4

Lucene에서 엔티티 추출 (더 많은 일치와 같음)을 시도합니다. 다음은 샘플 워크 플로입니다.Lucene에서 엔티티 추출을 수행하는 방법

일부 텍스트 (URL에서)와 사람 이름을 나열하면 텍스트에서 사람의 이름을 추출해보십시오.

참고 : 사람들의

이름은 완전히 정상화되지 않습니다. 예 : X 씨, Mrs. X, Mrs. Y 및 일부는 John Doe, X 및 Y입니다. 에 대해 생각할 수있는 다른 접두사 및 접미사는 Jr., Sr., Dr. I, II ... 등입니다 (비 미국 이름으로 시작하지 마세요.)

나는 각 URL에서 텍스트 (HTML 태그를 제거) 및 메모리 인덱스의이 (한 번에 모든 이름, 하나의 목록 100,000 이름을 조회 할 수 StandardAnalyzer를 사용하고 만들 루씬 MemoryIndex을 사용하고,인가 이 작업을 수행 할 수있는 다른 방법이 있습니까? 평균 평균 텍스트에는 약 8 초가 소요됩니다.)

큰 문제는 기본 점수로 0.01의 점수를 사용하고 "John Doe"와 같은 쿼리는 "John Doe"와 비교할 때 "John Doe "이고 대부분의 경우 0.01 임계 값을 놓친다.

다른 문제는 모든 이름을 표준화하고 Dr. Mrs. Mrs. 등의 모든 사건을 제거하기 시작하면 "Dr. John Edward II"와 같은 좋은 성냥이 보이지 않아 많은 정크 "John Edward"와 일치합니다.

나는 Lucene이 그 일에 적합한 도구가 아닐지도 모른다는 것을 알았지 만, 지금까지는 너무 나쁘지는 않았다. 어떤 도움을 주셔서 감사합니다.

답변

2

NEE는 이 아니고 lucene의 일부인 부분 인 NLP 작업입니다. 오픈 소스의 경우, lingpipe와 gate 및 opennlp를 볼 수 있습니다. 다양한 돈을위한 대안이 있습니다.

GATE는 전적으로 규칙을 기반으로하므로 고정밀 도로 사용할 수 없습니다. 이를 위해 통계 엔진이 필요합니다. lingpipe에는 하나가 있지만 교육 데이터를 제공해야합니다. 나는이 분야에서 opennlp의 내용에 관해 최신이 아니다.

+0

우리는 문을 해봤지만 같은으로 실행 ... 너무 DBPedia - 스포트 라이트 웹 서비스를 사용할 수 있습니다 일종의 문제. 높은 위양성. 이것은 반드시 나쁜 것은 아니지만 가능한 한 많이 조정할 것을 다시 시도합니다. – ankimal

+0

글쎄, 우리 중 일부는 돈을 위해 물건을 판매하는 이유가 있습니다. 상업용 솔루션에 관심이 있으시면 그 취지에 대한 의견을 보내 주시면 연락 드리겠습니다. – bmargulies

0

인간 이름의 모호성은 악명 높습니다. 위치와 같은 다른 정보가 있거나 이름의 동시 발생이 있으면 가치가 있습니다. 그러나 저자의 모호성 제거 (discourigiguation)로 진행되는 많은 작업이 있으며 일반적으로 이름 목록에서 해결할 수는 없습니다.

일반적인 프로젝트는 http://code.google.com/p/bibapp/wiki/AuthorAuthorities입니다. 그리고 일반적인 출판물 http://www.springerlink.com/content/lk07h1m311t130w4/.

http://nlp.stanford.edu/ner/index.shtml

http://cogcomp.cs.illinois.edu/page/software_view/4

0

에 대한 유용한 기록 deduplications에 프로젝트입니다.http://opennlp.apache.org/

이 사이트에는 문서와 예제가 있습니다.

완전히 완성되지 않은 경우 책 길들이기 텍스트 : http://www.manning.com/ingersoll/은 좋은 개요를 제공합니다. 위의 링크에서 책의 소스 코드를 다운로드 할 수도 있습니다.

관련 문제