Aula 07 - Named Entity Recognition

1- O que é Named Entity Recognition?


Reconhecimento de entidade nomeada (NER) (também conhecida como identificação de entidade, segmentação de entidade e extração de entidade) é uma subtarefa de extração de informações que procura localizar e classificar menções de entidade nomeada em texto não estruturado em categorias predefinidas, como nomes de pessoas e organizações, locais, códigos médicos, expressões de tempo, quantidades, valores monetários, percentagens, etc.

A maioria das pesquisas sobre sistemas NER foi estruturada como um bloco de texto não anotado, como este:

Jim comprou 300 ações da Acme Corp em 2006.

E produzindo um bloco de texto anotado que destaca os nomes das entidades:

[Jim] Pessoa comprou 300 ações da [Acme Corp.] Organização em [2006] Tempo.

Neste exemplo, um nome de pessoa, um nome de empresa e uma expressão temporal foram detectados e classificados.  Os sistemas de NER de última geração para o inglês produzem um desempenho quase humano. Por exemplo, o melhor sistema que entra no MUC-7 obteve 93,39% da medida F, enquanto os anotadores humanos pontuaram 97,60% e 96,95%. 


2- NER no python NLTK

Primeiramente crie algum texto para ser analizado:


import nltk

paragraph = "The Taj Mahal was built by Emperor Shah Jahan"


Faça a separação de palavras:

# separa cada palavra
words = nltk.word_tokenize(paragraph)
# faz o POS-Tagging
tagged_words = nltk.pos_tag(words)


Realize o NER e desenhe:

# aqui você poderá encontrar entidades como: 
# orgnizações, pessoas, localizações, data, tempo, porcentagem, lugares, posição global

named_entity = nltk.ne_chunk(tagged_words)
named_entity.draw()



Árvore sintática gerada pelo NER






Aula 07 - Named Entity Recognition Aula 07 - Named Entity Recognition Reviewed by Vinicius dos Santos on 13:04:00 Rating: 5

Nenhum comentário

Escreve ai sua opinião!