Estou procurando usar a implementação word2vec do google para criar um sistema de reconhecimento de entidade nomeado. Ouvi dizer que as redes neurais recursivas com propagação reversa através da estrutura são adequadas para tarefas de reconhecimento de entidades nomeadas, mas não consegui encontrar uma implementação decente ou um tutorial decente para esse tipo de modelo. Como estou trabalhando com um corpus atípico, as ferramentas NER padrão no NLTK e similares tiveram um desempenho muito ruim e parece que vou precisar treinar meu próprio sistema.
Em resumo, quais recursos estão disponíveis para esse tipo de problema? Existe uma implementação de rede neural recursiva padrão disponível?
machine-learning
python
neural-network
nlp
Madison May
fonte
fonte
Respostas:
Em vez de "redes neurais recursivas com propagação traseira", você pode considerar a abordagem usada por Frantzi, et. al. no National Center for Text Mining (NaCTeM) da Universidade de Manchester para Termine (consulte: http://www.nactem.ac.uk/index.php e http://personalpages.manchester.ac.uk/staff/sophia. ananiadou / IJODL2000.pdf ) Em vez de redes neurais profundas, elas "combinam informações linguísticas e estatísticas".
fonte
Dois artigos recentes usam uma arquitetura de aprendizado profundo chamada CharWNN para solucionar esse problema. O CharWNN foi usado pela primeira vez para obter resultados de última geração (sem recursos artesanais) na marcação de parte do discurso (POS) em um corpus em inglês.
O segundo artigo do mesmo autor usa a mesma arquitetura (ou similar) para prever se uma palavra pertence a 10 classes de Entidades Nomeadas, com resultados aparentes no estado da arte.
fonte
Tente http://deeplearning4j.org/word2vec.html . Isso tem uma implementação do Word2Vec usada em vez do Pacote de palavras para o NER e outras tarefas da PNL.
fonte
Aqui estão algumas idéias sobre como usar vetores de palavras para o NER, que adota uma abordagem centrada no word2vec principalmente não supervisionada.
findCluster(['joy', 'surprise', 'disgust', 'trust', 'fear', 'sadness', 'anger', 'anticipation'])
pode retornar uma lista contendo centenas de palavras relacionadas principalmente à emoção. Se você nomear esta lista como 'emoção', então você terá um conceito nomeado 'emoção' definido com base no espaço vetorial.fonte