
La forma en que el trabajo aplicado difiere de la teoría del papel es la aparición de problemas. Constantemente confrontado con nuevas dificultades, que a su vez proporcionan alimento para la mente.
En el proceso de trabajar en un bot de chat, me enfrenté a la necesidad de anticipar (es decir, anticipar) el desarrollo del diálogo. No lo pensé antes, pero luego, decidiendo qué palabras poner en los labios de la computadora en respuesta a una frase humana en particular, tuve que pensarlo.
Las conclusiones me parecieron interesantes. Se encuentran en la superficie del problema y pueden no ser una revelación para aquellos que han estudiado IA antes, pero no he visto un lenguaje directo en la prensa. Así que empecemos ...
Diálogo de una persona y un chatbot: una persona dice algo, el chatbot debe responder
razonablemente . Parece que la principal dificultad en la programación es la imprevisibilidad de lo que una persona dirá, porque una persona puede decir literalmente cualquier cosa. Y, en todo caso, es difícil encontrar una respuesta razonable: la lista de respuestas a preguntas impredecibles debe ser infinita, pero el infinito es técnicamente imposible. En consecuencia, el chatbot debería "entender" lo que el interlocutor le dijo, más allá de la pista dirigida por los desarrolladores de IA, mucho más allá de los límites del tema anunciado ...
El humor de la situación es que obtener del chatbot "entender", "comprender" la frase del interlocutor no solo es una oportunidad, sino también una necesidad especial, por la razón de que ... las personas mismas no se comunican así. Si crees que las personas analizan lo que escuchan con la ayuda del aparato mental: el cerebro, luego, según el análisis, expresan la respuesta, entonces la comunicación no ocurre así, sucede de manera diferente.
¿Alguna vez te has preguntado por qué disfrutas hablar con amigos? ¿No es porque escuchas de amigos que es mayormente agradable, no solo en el sentido de "complementario", sino también en el sentido de "interesante", "fascinante", etc.? Exactamente por la misma razón, es desagradable para ti hablar con los enemigos, porque la información que proviene de ellos tiene el signo o el vector opuesto para ti. En otras palabras,
usted sabe de antemano qué información recibirá de parte de usted y actuará de acuerdo con las circunstancias : póngase en contacto alegremente con amigos, evite reunirse con enemigos si es posible.
Aquí está la pregunta: ¿por qué necesita ponerse en contacto con sus amigos si sabe de antemano lo que dirán? No, entiendo y comparto: pasar un buen rato, relajarse ... sin embargo, el deseo de obtener nueva información aquí está claramente en el último lugar. En su mayor parte, las personas obtienen información, en cierto sentido, información nueva para sí mismas, de otras fuentes, y cuando se comunican con amigos obtienen un zumbido de otra cosa, es decir, de la previsibilidad de la conversación, al igual que cuando se comunican con los enemigos, mucho antes de comunicarse, experimentan una experiencia negativa. emociones, gracias a la misma previsibilidad de lo que sucederá.
La mayoría de las conversaciones son predecibles, y esto solo puede significar una cosa: las personas saben de antemano el curso de una conversación futura con un interlocutor particular.
En realidad, la comunicación entre personas es un poco diferente de lo que se supone por defecto:
- el interlocutor dice algo
- Analizas la frase que escuchas y das una respuesta.
En realidad, la comunicación entre las personas ocurre de la siguiente manera:
- usted anticipa lo que le dirá el interlocutor y prepara de antemano la respuesta a la frase esperada ,
- si se cumplieron las expectativas, emita un espacio en blanco,
- de lo contrario, también emite un espacio en blanco, pero no individual, para un interlocutor determinado, pero situacional, adecuado para cualquier interlocutor.
Esto es anticipación, y sus leyes son aplicables no solo a las conversaciones con personas, cuya actitud se define (positiva o negativa), sino también a cualquier conversación en principio.
Supongamos que te encuentras con un amigo y le dices: "Hola".
Esta frase obedece a la situación: de acuerdo con ciertas reglas, cuyo origen en este caso no es importante, se usa al comienzo del diálogo. No tiene sentido esperar la respuesta, que probablemente se conozca, puede comenzar a construir la siguiente frase. Al escuchar el saludo de regreso, comienza la frase preparada inmediatamente, sin más deliberación.
Sin embargo, en respuesta puede escuchar algo más, por ejemplo: "Sí, te vas ...". La conversación previamente planificada se convirtió en un camino diferente, el guión cambió dramáticamente. Bueno, eso pasa. En este caso, su cerebro da una respuesta estándar como: "¡Tú mismo vas!", Solo un momento después de la frase que sonaría si el escenario planificado no cambia. Un momento es, estrictamente hablando, no tiempo para reflexionar, sino tiempo para acceder a una biblioteca de espacios en blanco situacionales. ¿Qué tipo de pensamiento hay cuando todo se hace "en la máquina", prácticamente en un nivel inconsciente!
Uno puede imaginar que el interlocutor "omite el movimiento": no dice hola, pero dice la siguiente frase de una manera amigable, familiar a su comunicación pasada. Habitual significa implícito. Para usted (más precisamente, su cerebro) no tiene sentido esperar una respuesta que ya se conoce, pero tiene sentido preparar frases para el diálogo posterior. Entonces es muy probable que la frase posterior después del "hola" perdido no se tome por sorpresa: la pieza de trabajo preparada llegará a su boca sin la menor demora. Si lo desea, la ausencia de un saludo de regreso puede considerarse no como un "movimiento perdido", sino como una nueva rama del guión, pero esto no cambia la imagen general.

La tercera opción te hace decidir sobre la profundidad de la anticipación. Si no podemos anticipar la frase que el interlocutor no dijo, tendremos que analizarla después de pronunciarla. Por lo tanto, es ideal anticipar no solo la siguiente frase, sino todo el diálogo en su conjunto, sino que proviene del campo de los buenos deseos. Las personas son incapaces de tal cosa: durante el diálogo se ven obligadas a saltar constantemente de las bibliotecas de adquisición individuales a las situacionales.
Por lo tanto,
cualquier réplica implica un conjunto de respuestas posteriores, con un conjunto muy limitado . En el caso de los saludos, esto se debe al ritual de cortesía, en el caso general: el límite de las reacciones humanas a un evento particular: alegría, dolor, admiración, desprecio, etc. Hay varias docenas de sensaciones, no te puedes imaginar otras, la gente simplemente no siente nada más. Las reacciones hacen posible anticipar el diálogo, teniendo a mano los preparativos para cualquier posible frase del interlocutor.
Por lo tanto, el diálogo no tiene posibilidades infinitas para decir algo arbitrario y responder algo arbitrario, sino caminos estrechos por los que solo puede moverse. Son como pistas en la pista de carreras: se permite apagar solo donde lo proporciona el diseñador de la pista: la psicología humana. No se puede salir de la carretera: ya se instaló la cerca principal.
Al igual que los automóviles en un autódromo, las conversaciones también se mueven en círculo. Los amigos se divierten con un tema problemático, las novias chismean entre ellas no menos entusiasmadas. Si surge una disputa entre personas hostiles, los argumentos del lado opuesto se pasan entre los oídos. En el último caso, dicen: "No me escucha". Probablemente oye con oídos, pero el interlocutor no anticipa su reacción al plan de conversación, porque el interlocutor responde con un espacio en blanco estándar que ya no le conviene. La rotonda es una situación desesperada.

Gráficos típicos Se puede pronunciar cualquier frase, siempre hay una opción de una u otra respuesta: en consecuencia, cada nodo debe tener al menos un borde de entrada y varias extensiones-extensiones salientes.
Idealmente, un chatbot necesita un margen de varias columnas: planes de conversación: individual para cada interlocutor con el que habló, y común a los extraños. Es obvio que, por ejemplo, un hombre que se comunica con una mujer querida y un subordinado de mal humor tendrá diferentes cosas: temas, vocabulario, entonaciones, color emocional, volumen, etc., pero antes que nada: la dirección del pensamiento.
Debe entenderse que la anticipación no es una panacea, pero uno de los muchos métodos, además, al desarrollar IA no es el más significativo, hay otros más importantes. Además, la técnica es extremadamente difícil de implementar.
Si el interlocutor saluda de alguna manera no estándar, el chatbot puede "no adivinar" sobre el saludo y reaccionará de manera diferente en consecuencia (la variabilidad del habla humana es el problema de los problemas, maldición). Pero el saludo es el caso más simple: anticipar comentarios posteriores es mucho más difícil.
Además, al generar su propia frase, el chatbot puede planificar una reacción errónea del interlocutor, lo que generará discrepancias con la respuesta esperada.
Finalmente, en algunos casos, por razones puramente algorítmicas, es más rentable esperar la frase del interlocutor y luego analizarla. Si el chatbot se usa para ordenar boletos, es obvio que no tiene sentido u oportunidad predecir el boleto para qué fecha y qué ruta solicitará el comprador; debe esperar la información. Al mismo tiempo, la anticipación es necesaria en un típico diálogo libre de IA: puede ahorrar mucho tiempo de procesamiento, al menos debido a la capacidad de anticipar mientras se piensa o pronuncia una frase.
En relación con la anticipación y una biblioteca de espacios en blanco situacionales, se recuerda un caso curioso. Un amigo vino a mi esposa y a mí. Después de un tiempo, mencionó a su esposo, quien siempre olvida apagar la luz: comenzó a contar con entusiasmo cómo es su cola checa, y así sucesivamente. "Por supuesto! Por supuesto! ¡Tienes toda la razón, querido! - Escuché los comentarios compasivos de mi esposa. El chiste era que en mi familia era exactamente lo contrario. Básicamente, la esposa no apaga la luz: un minuto después de su llegada a casa, la luz está encendida en todas partes: en las habitaciones, un pasillo, en la cocina, en el baño y en el baño. Al pasar, lo apago automáticamente, y mi esposa lo enciende automáticamente no menos, y no hay nada que hacer al respecto. Pero la conversación con su amiga fue solo eso. La esposa usó los espacios en blanco individuales que correspondían a la reunión un poco fuera de lugar, mientras que nada interfirió con la comunicación. Las mujeres, como dicen, cantaron al unísono: eran completamente unánimes y felices.
PostdataEste artículo fue escrito como parte de una serie sobre el desarrollo de un bot de chat sintáctico por mí, Vanya the Sensible.
Artículos anteriores:
- Creación de IA utilizando el método glock cuzdra. Odisea intelectual ;
- Chatbot gana audición, o el sufrimiento de un aficionado .
Si alguien quiere conocer a Vanya en su estado actual, la versión 2.0 está aquí:
bitbucket.org/mikejum/intellectualivan/downloadsEn comparación con la versión anterior, Vanya habló y se volvió menos problemática; se puede decir que se hizo más sabio, aunque no tanto como quisiéramos. Como dijo mi tribu de seis años después de hablar con el bot de chat, "tu Vanya es tan estúpida como Siri".
Hubo problemas de instalación debido a la transición de Access a PostgreSQL: ahora descomprimir el archivo no es suficiente, tiene que instalar PostgreSQL e implementar el volcado, las instrucciones están adjuntas.
A la pregunta inevitable, cuánta anticipación se implementa en la versión 2.0, responderé de esta manera. Implementado parcialmente, en el nivel inicial, sin embargo, es problemático notarlo durante el diálogo. Como se mencionó anteriormente, la anticipación es una de las muchas características requeridas en el desarrollo de la IA, lejos de ser la más importante.