¿Cómo suelen generar oraciones los asistentes personales?

8

Esto es una especie de seguimiento de esta pregunta sobre las direcciones de investigación de NLG en el campo de la lingüística.

¿Cómo realizan las herramientas de asistente personal como Siri, Google Now o Cortana la Generación del lenguaje natural (NLG)? Específicamente, la parte de generación de texto de oración . No me interesa la parte de texto a voz, solo la parte de generación de texto.

No estoy buscando exactamente cómo lo hace cada uno, ya que esa información probablemente no esté disponible.

Me pregunto qué configuración se requiere para implementar la generación de oraciones de esa calidad.

  • ¿Qué tipo de datos necesitaría en una base de datos (en un nivel alto)?
    • ¿Requiere tener un diccionario de cada palabra posible y su significado, junto con muchos libros / corpus anotados y analizados estadísticamente?
    • ¿Requiere realmente grabar a las personas que hablan de una manera natural (como en programas de televisión o podcasts), transcribirlas en texto y luego agregarlas de alguna manera a su "sistema"? (para obtener frases realmente "humanas")
    • ¿O simplemente están utilizando patrones de oraciones basados ​​en sintaxis simples, sin una gigantesca base de datos semántica de "significado"? Donde alguien acaba de escribir un montón de expresiones regulares tipo cosa ...
  • ¿Cuáles son los algoritmos que se usan para oraciones tan humanas escritas naturalmente?

Una razón para preguntar es que parece que el campo NLG está muy lejos de poder hacer lo que Siri y Google Now y otros están logrando. Entonces, ¿qué tipo de cosas están haciendo? (Solo para la parte de generación de texto de la oración).

Lance Pollard
fuente
1
Probablemente haya una multitud de enfoques, pero creo que uno de ellos es al menos una combinación de un sistema basado en reglas y un sistema basado en estadísticas. Obviamente, Google tiene una gran cantidad de muestras de texto a su disposición, por lo que cuando escriba "Quiero sw .." mirará esas muestras y le dará "nadar" y "balancearse en un árbol" porque eso es lo que más ocurre. El sistema basado en reglas puede permitir que Google también busque muestras con la misma estructura gramatical pero diferente contenido (por ejemplo, "queríamos nadar"). Sin embargo, ese es solo un enfoque de muchos.
Jeroen Vannevel
Probablemente hay dos lados muy distintos de la pregunta: crear oraciones adecuadas y un texto natural para pronunciar. Es posible que desee aclarar en qué lado está más interesado.
Bart van Ingen Schenau
3
Por lo general, estas oraciones no se generan, sino que se recuperan del corpus ilimitado que ahora constituye Internet. Peter Norvig tiene un buen artículo en Beautiful Code que muestra cómo algunos problemas de PNL básicamente se resuelven una vez que tienes acceso a un corpus de billones de palabras. Nos gusta creer que la generación útil de oraciones tiene un nivel de dificultad completamente diferente al de la segmentación o separación silábica obvia, pero en realidad no lo es; no cuando tienes tantos datos de ejemplo para seleccionar.
Kilian Foth
@BartvanIngenSchenau actualizado, no me interesa la parte de texto a voz, solo cómo construir oraciones de texto de forma natural.
Lance Pollard
@KilianFoth ah, eso es muy interesante, gracias por la información. Investigará más sobre eso ( supongo que es esto norvig.com/ngrams ). ¿Estás diciendo que no vale la pena probar otros métodos hoy en día?
Lance Pollard

Respuestas:

3

Siri generalmente no "genera" oraciones. Analiza lo que dices y 'reconoce' ciertas palabras clave, claro, y para respuestas comunes, usará una plantilla, como I found [N] restaurants fairly close to youoI couldn't find [X] in your music, [Username].

Pero la mayoría de sus respuestas son enlatadas, dependiendo de su interpretación de su discurso, además de un generador de números aleatorios para elegir una respuesta creativa a una pregunta frívola. Simplemente preguntando a Siri "¿Cuánta madera puede un mandril de madera?" o "¿Cuál es el significado de la vida?" generará cualquiera de una variedad de respuestas. Hay numerosas referencias culturales y bromas incorporadas (y repetidas textualmente) que demuestran con relativa certeza que Siri no solo genera espontáneamente la mayor parte de su texto, sino que lo extrae de una base de datos de algún tipo. Es probable que las preguntas entrantes se guarden en un servidor central, donde los empleados de Apple pueden crear nuevas respuestas a esas preguntas, lo que permite a Siri "aprender".

Sin embargo, su parte de texto a voz es lo suficientemente buena como para que a veces parezca que las respuestas se están generando ...

Ayelis
fuente
1

Si tiene una llamada representación sintáctica profunda de lo que desea generar, como leer (él, libro) , entonces es relativamente fácil generar su representación lineal. Se necesita una gramática formal que describa la sintaxis del lenguaje y un léxico morfológico para las formas flexionadas. La generación es un orden de magnitud más fácil que el análisis (ya que uno está "creando ambigüedad", no resolviéndola).

Si solo tiene una representación lógica (digamos, en lógica de primer orden), las cosas se vuelven más complicadas. Digamos que tienes comprar (John, libro) ∧ leer (John, libro) . Se podrían generar dos oraciones como John compró un libro. John leyó un libro pero se siente antinatural. Una mejor salida sería John compró un libro. El lo leyó. Aún mejor sería generar una oración compuesta con y . La representación lógica podría ser similar a la representación sintáctica profunda anterior, pero no hay pronombres, límites de cláusulas, etc. La fase de traducir una representación puramente lógica de lo que uno quiere transmitir a algo más "humano" se llama "lenguaje planificación "o" planificación de oraciones "y es la tarea más difícil en el proceso.

Atamiri
fuente