Ajuda sobre o NER no NLTK


12

Eu trabalho no NLTK há algum tempo usando Python. O problema que estou enfrentando é que não há ajuda disponível no treinamento do NER no NLTK com meus dados personalizados. Eles usaram o MaxEnt e o treinaram no corpus do ACE. Pesquisei bastante na web, mas não consegui encontrar nenhuma maneira de treinar o NER do NLTK.

Se alguém puder me fornecer qualquer link / artigo / blog, etc., que possa me direcionar para o formato de conjuntos de dados de treinamento usado no treinamento do NER da NLTK, para que eu possa preparar meus conjuntos de dados nesse formato específico. E se eu for direcionado para qualquer link / artigo / blog, etc., que possa me ajudar a TREINAR o NER do NLTK para meus próprios dados.

Esta é uma pergunta amplamente pesquisada e menos respondida. Pode ser útil para alguém no futuro que trabalhe com a NER.


Respostas:


4

O treinamento de um modelo, relacionado à extração de informações , em geral, e o reconhecimento / resolução de entidades nomeadas (NER) , em particular, é descrito em detalhes no Capítulo 7 do Livro NLTK , disponível on-line neste URL: http: //www.nltk .org / book / ch07.html .

Além disso, acho que você pode achar útil minha resposta relacionada no site Cross Validated . Possui muitas referências a fontes relevantes sobre NER e tópicos relacionados, bem como a várias ferramentas de software relacionadas .


Eles não mencionam como treinar o modelo NER em dados personalizados, você pode dizer como fazê-lo?
Hima Varsha

1
@HimaVarsha Não sou especialista nesta área. No entanto, ... eu acho que o modelo NLTK NER vem pré-treinado no corpus conll2000 , portanto, não há informações no livro NLTK. Verifique os seguintes recursos: 1. nltk-trainer.readthedocs.io (provavelmente o que você precisa; provavelmente a seção Training IOB Chunkers ). 2. sujitpal.blogspot.com/2012/11/… (também pode ser útil). 3. nlp.stanford.edu/software/crf-faq.shtml#a (caso você use ou decida usar o software Stanford NER).
Aleksandr Blekh

Acho que a implementação stanfordcrf leva dados personalizados, mas o NTLK NER vem apenas pré-treinado. O treinamento IOB Chunkers está apenas fragmentando, certo? Ou isso faz NER?
Hima Varsha

@HimaVarsha Preste mais atenção aos conselhos que você está recebendo. Se você leu a postagem pelo link # 2 acima com atenção, verá que o código ali faz treinamento e execução do modelo NER. Acho que não posso ajudá-lo além dos conselhos acima.
Aleksandr Blekh


1

Achei este tutorial bastante útil: Guia completo para criar seu próprio Reconhecedor de Entidades Nomeadas com Python Ele usa o corpus do Groningen Meaning Bank (GMB) para treinar seu pedaço de NER.

Depois disso, você pode verificar este tutorial com a mesma pessoa: Treinando um sistema NER usando um grande conjunto de dados Onde ele usa o scikit, aprenda a melhorar o desempenho do seu sistema.

Finalmente, alguns tutoriais realmente úteis podem ser encontrados aqui: Tutorial do NLTK Esse cara possui um canal no youtube com muitos tutoriais em vários assuntos (ML, NLP, Python ...)

Espero que ajude.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.