문제

NER (Named Entity Recondition)을 사용하여 데이터베이스에서 텍스트에 대한 적절한 태그를 찾으려고합니다.

나는 이것에 관한 Wikipedia 기사와 NER을 설명하는 다른 많은 페이지가 있다는 것을 알고 있습니다.

  • 다양한 알고리즘으로 어떤 경험을 했습니까?
  • 어떤 알고리즘을 권장 하시겠습니까?
  • 구현하기 가장 쉬운 알고리즘 (PHP/Python)은 무엇입니까?
  • 알고리즘은 어떻게 작동합니까? 수동 교육이 필요합니까?

예시:

"작년에 나는 런던에 있었고 버락 오바마를 보았습니다." => 태그 : 런던, 버락 오바마

나는 당신이 나를 도울 수 있기를 바랍니다. 미리 감사드립니다!

도움이 되었습니까?

해결책

체크 아웃으로 시작합니다 http://www.nltk.org/ 내가 아는 한, 코드는 "산업 강도"가 아니지만 시작할 것입니다.

섹션 7.5에서 확인하십시오 http://nltk.googlecode.com/svn/trunk/doc/book/ch07.html 그러나 알고리즘을 이해하려면 아마도 많은 책을 읽어야 할 것입니다.

또한 이것을 확인하십시오 http://nlp.stanford.edu/software/crf-ner.shtml. Java와 함께 끝났습니다.

Ner는 쉬운 주제가 아니며 아마도 아무도 "이것이 최고의 알고리즘"이라고 말하지 않을 것입니다. 대부분은 프로/단점이 있습니다.

내 0.05 달러.

건배,

다른 팁

원하는지에 따라 다릅니다.

NER에 대해 배우려면: 시작하기에 좋은 곳은 다음과 같습니다 NLTK, 및 관련 .

최상의 솔루션을 구현합니다: 여기서 당신은 최신 기술을 찾아야합니다. 출판물을 살펴보십시오 트렉. 보다 전문화 된 회의가 있습니다 생명 (좁은 필드에 적용되는 NER의 좋은 예).

가장 쉬운 솔루션을 구현합니다:이 경우 기본적으로 간단한 태깅을하고 명사로 태그가 지정된 단어를 꺼내고 싶습니다. NLTK의 Tagger를 사용하거나 각 단어를 찾을 수도 있습니다. pywordnet 그리고 가장 일반적인 말로 태그를 지정하십시오.


대부분의 알고리즘에는 일종의 훈련이 필요했으며 태그를 요구할 내용을 나타내는 컨텐츠에 대해 교육을받을 때 가장 잘 수행 할 수 있습니다.

몇 가지 도구와 API가 있습니다.

DBPedia 위에 DBPedia Spotlight라는 도구가 있습니다.https://github.com/dbpedia-spotlight/dbpedia-spotlight/wiki). REST 인터페이스를 사용하거나 자신의 서버를 다운로드하여 설치할 수 있습니다. 가장 좋은 점은 엔티티를 DBPEDIA의 존재에지도를 맵핑하는 것입니다. 즉, 흥미로운 연결된 데이터를 추출 할 수 있습니다.

Alchemyapi (www.alchemyapi.com)에는 휴식을 통해이를 수행하는 API가 있으며 프리미엄 모델을 사용합니다.

대부분의 기술은 엔티티를 찾기 위해 약간의 NLP에 의존하고 Wikipedia, DBPedia, Freebase 등과 같은 기본 데이터베이스를 사용하여 명확성 및 관련성을 수행합니다 (예 : Apple을 언급하는 기사가 과일에 관한 것인지 결정하려고합니다. 또는 회사 ... 우리는 기사에 Apple과 연결된 다른 단체가 포함 된 경우 회사를 선택할 것입니다).

Yahoo Research의 최신 Fast Entity Linking System을 시도해 볼 수 있습니다.이 논문은 또한 신경망 기반 임베딩을 사용하여 NER에 대한 새로운 접근법에 대한 참조를 업데이트했습니다.

https://research.yahoo.com/publications/8810/lightweight-multingual-entity-extraction-and-linking

인공 신경망을 사용하여 명명 된 엔티티 인식을 수행 할 수 있습니다.

다음은 Tensorflow (Python)에서 양방향 LSTM + CRF 네트워크를 구현하여 명명 된 엔티티 인식을 수행합니다. https://github.com/franck-dernoncourt/neuroner (Linux/Mac/Windows에서 작동).

몇 가지 명명 된 엔티티 인식 데이터 세트에서 최첨단 결과 (또는 그에 가깝게)를 제공합니다. ALE가 언급 한 바와 같이, 각각의 명명 된 엔티티 인식 알고리즘에는 고유 한 단점과 상향이 있습니다.

앤 건축 :

enter image description here

Tensorboard에서 볼 수 있듯이 :

enter image description here

나는 NER에 대해 실제로 알지 못하지만 그 예에서 판단하면 단어 나 그와 비슷한 것을 검색하는 알고리즘을 만들 수 있습니다. 이를 위해 나는 당신이 작게 생각하는 경우에 가장 쉬운 솔루션으로 Regex를 추천합니다.

또 다른 옵션은 텍스트를 데이터베이스와 비교하는 것입니다.

내 5 센트.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top