Reconocimiento de entidad con nombre con expresión regular: NLTK

He estado jugando con el juego de herramientas NLTK. Encontré mucho este problema y busqué una solución en línea, pero en ninguna parte obtuve una respuesta satisfactoria. Entonces pongo mi consulta aquí.

Muchas veces NER no etiqueta NNP consecutivos como un NE. Creo que editar el NER para usar RegexpTagger también puede mejorar el NER.

Ejemplo:

Entrada:

Barack Obama es una gran persona.

Salida:

Tree ('S', [Tree ('PERSON', [('Barack', 'NNP')]), Tree ('ORGANIZATION', [('Obama', 'NNP')]), ('is', 'VBZ'), ('a', 'DT'), ('genial', 'JJ'), ('persona', 'NN'), ('.', '.')])

donde como

entrada:

El ex vicepresidente Dick Cheney le dijo al presentador conservador de radio Laura Ingraham que "se sintió honrado" de ser comparado con Darth Vader mientras estaba en el cargo.

Salida:

Tree ('S', [('Former', 'JJ'), ('Vice', 'NNP'), ('President', 'NNP'), Tree ('NE', [('Dick', ' NNP '), (' Cheney ',' NNP ')]), (' contó ',' VBD '), (' conservador ',' JJ '), (' radio ',' NN '), (' anfitrión ' , 'NN'), Árbol ('NE', [('Laura', 'NNP'), ('Ingraham', 'NNP')]), ('that', 'IN'), ('he', 'PRP'), ('', ''), (' was ',' VBD '), (' honrado ',' VBN '), ("' '", "' '"), (' to ',' TO '), (' be ', 'VB'), ('comparado', 'VBN'), ('a', 'TO'), Árbol ('NE', [('Darth', 'NNP'), ('Vader', 'NNP' )]), ('while', 'IN'), ('in', 'IN'), ('office', 'NN'), ('.', '.')])

Aquí Vice / NNP, Presidente / NNP, (Dick / NNP, Cheney / NNP), se extrae correctamente.

Entonces, creo que si se usa nltk.ne_chunk primero y luego si dos árboles consecutivos son NNP, hay muchas posibilidades de que ambos se refieran a una entidad.

Cualquier sugerencia será realmente apreciada. Estoy buscando fallas en mi enfoque.

Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta