¿Cómo reconocen los programas el nombre usando el procesamiento del lenguaje natural?

Existen diferentes técnicas para hacer esto.

  1. El más simple (y probablemente el más común) está utilizando un enfoque basado en el diccionario. La mayoría de los primeros nombres, al menos para el público occidental, están catalogados internamente por muchas bibliotecas.
  2. Utilice un enfoque basado en NER (reconocimiento de entidad con nombre) que entienda los nombres al dividir primero el texto en diferentes partes del discurso. Y luego identificar cuándo se usa un nombre basado en reglas gramaticales. De nuevo incorporado por muchas bibliotecas de PNL.

Recomendaría usar NLTK (7. Extracción de información del texto) para un modelo más simple. Y si lo quieres listo (es decir, sin necesidad de modificar mucho), recomendaría Alchemy (Impulsando la nueva economía de IA). También mire el etiquetador NER de Stanford. Esta es la versión del navegador (http://nlp.stanford.edu:8080/ner/).

  1. Enfoque ingenuo: utilice una gaceta (es decir, una lista) de ‘nombres’. Busque sustantivos en oraciones -> encuentre una secuencia de sustantivos en mayúscula -> busque el primer sustantivo en la gaceta.
  2. Un enfoque basado en reglas solo para PNL: cree un conjunto de reglas que se combinen para usar características como una secuencia de sustantivos en mayúscula, algo que es sujeto de una oración y se usa con verbos como “preguntado”, “dicho” etc.
  3. Use un reconocedor de entidad con nombre capacitado para descubrir nombres. Luego escoja la primera palabra en cada entidad marcada como ‘nombre’
  4. Agregue capacitación supervisada en un conjunto de datos marcado

Se utiliza el reconocimiento de entidad con nombre.

Definición de Wiki: el reconocimiento de entidad con nombre (NER) (también conocido como identificación de entidad , fragmentación de entidad y extracción de entidad ) es una subtarea de extracción de información que busca ubicar y clasificar entidades nombradas en el texto en categorías predefinidas, como los nombres de personas , organizaciones, ubicaciones, expresiones de tiempos, cantidades, valores monetarios, porcentajes, etc.

Existen diferentes algoritmos que se pueden usar para implementar NER, como Maxent, CRF, etc.

Mallet, OpenNLP, Stanford NER son algunas de las bibliotecas basadas en Java que proporcionan una implementación.

Para python NLTK puede usar used.

El código o biblioteca de PNL puede detectar nombres propios a través de sus ubicaciones en la oración (como creador de acción o acción tomada) y mediante la capitalización de primer carácter y también en función del conjunto de datos de entrenamiento.

Esto no debería ser muy difícil si es necesario.