Como reconhecer nomes e entidades em Python

Como reconhecer nomes e entidades em Python

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()
 

Vinicius dos Santos

Apenas um apaixonado por Ciência da Computação e forma com que ela pode transformar vidas!

Deixe uma resposta