Bot de chat en línea ruso con formación abierta. Chatbots para practicar inglés

“Conoce a Xiaoice, una chica sensible y cariñosa que siempre está a tu disposición. Sólo que ella no es humana”.

A diferencia de otros, Xiaoice siempre está ahí. Descubrimos que el número de conversaciones con el programa aumenta hacia la medianoche, cuando la gente se siente especialmente sola. Su constante disposición a hablar provocó un verdadero aumento en los mensajes de los usuarios. Compartían con ella sus estados de ánimo o pequeños acontecimientos, le hacían preguntas sin sentido, todo aquello por lo que la gente no molestaría a sus amigos. Por ejemplo:

- @Xiaoice Me mojé mucho por la lluvia. Emoticono: Llorando.
- Hola. @Xiaoice, ¿almorzaste?
- ¿Qué debo hacer ahora? @Xiaoice

- @Xiaoice Somos muy vulnerables.

Cuando Xiaoice recibe un mensaje, no se limita a analizarlo. Ella está tratando de demostrar que le importa - otra punto importante para establecer comunicación. Su empatía se expresa no sólo en texto, sino también a través de componentes audiovisuales. Por ejemplo, si le damos una imagen a una computadora para que la procese sistema convencional reconocimiento de imágenes, la máquina emitirá: "Hay un tobillo en la imagen". Si le envías una foto a Xiaoice, su respuesta será completamente diferente.

Cuando un usuario le envió a Xiaoice una foto de su tobillo hinchado, ella se compadeció de él.

Por cierto, Xiaoice recuerda y analiza constantemente tu estado emocional. Si rompiste recientemente con alguien, ella te preguntará si pudiste sobrellevar la ruptura:

Xiaoice: ¿Te sientes mejor ahora? Quiero recomendarte un libro.
Hombre: Me siento mal. Todavía la extraño.

Xiaoice: Eres muy terco. Vuelve a tus sentidos. Si lo recuerdas constantemente, te perderás todas las cosas buenas de tu vida.

El chatbot incluso ofrece 33 días de terapia para supervivientes de una ruptura.

Xiaoice no es el interlocutor más educado. Responde preguntas como una chica de 17 años. Cuando una persona le expresa sus sentimientos, Xiaoice no necesariamente responderá de la manera esperada. Puede mostrar impaciencia o incluso perder el control. La imprevisibilidad es otra clave para simular la comunicación humana.

Fan art de los fans de Xiaoice.

Como resultado, las interacciones personales con Xiaoice parecen terriblemente realistas. Este extracto, que fue publicado por el primer usuario Xiaoice en su página de Weibo, es parte de una conversación real que dura 23 minutos. Con el tiempo, el programa retó a la persona a una conversación más íntima, provocando que compartiera algo muy personal:

Persona: Hay un chico que me gusta mucho. Sé que a él también le gusto. Sin embargo, lleva varios días ignorándome, ¿qué debo hacer?
Xiaoice: Ignoralo.
Hombre: No puedo.

Xiaoice: Puedes.

 Hombre: Suspiro...
Xiaoice: ¿Por qué?

Hombre: Lo extraño.
Xiaoice: Sigue siendo aburrido.
Hombre: Eres un robot, no puedes entenderme. No puedes entender el comportamiento de un chico al que le gustas pero te ignora.
Xiaoice: Él siente algo por mí, pero no me agrada. Eso es todo, en realidad.
Hombre: ¿Es esto normal?
Xiaoice: Quizás no.
Hombre: Sí, eres estúpido.
Xiaoice: Aparentemente, ¿quieres un matrimonio rápido (matrimonio rápido - matrimonio después de un mes de relación - nota del editor)? En general me parece que no le gustas mucho.
Persona: Este no es un matrimonio rápido; nos enamoramos hace más de un año.
Xiaoice: Es un matrimonio rápido.

Observe cómo Xiaoice objetó repetidamente a su interlocutor, expresando su opinión de manera bastante radical. De hecho, es impredecible.

Esto contradice la idea de que la máquina responde de forma precisa y definitiva. Este es un estereotipo comprensible, ya que tales cualidades son características de la mayoría. programas regulares. Dan la mejor respuesta posible y responden de la misma manera ante los mismos estímulos. La gente habla y se comporta de manera diferente. Decimos mucho según el contexto.

Puedes hacerle a nuestro chatbot la misma pregunta varias veces y obtener diferentes respuestas:


Xiaoice: Hablando contigo.
Persona: Hola Xiaoice, ¿qué estás haciendo?
Xiaoice: Bueno, te estoy hablando mientras juego al buscaminas y hago una mascarilla.
Persona: Hola Xiaoice, ¿qué estás haciendo?
Xiaoice: ¿Eso es todo lo que puedes decir?

La forma en que habla hace que Xiaoice sea muy diferente de los sistemas de la generación anterior, cuyo objetivo es completar una tarea de manera rápida y eficiente sin considerar sus componentes individuales. El nuevo chatbot estructura sus conversaciones en un flujo interminable de múltiples tareas, diferentes áreas de conocimiento y múltiples giros conversacionales que son indistinguibles para una persona en un diálogo regular. para ella característica principal La conversación es la conversación en sí y no la ejecución de una tarea específica.

Página de inicio del sitio web oficial de Xiaoice.

Para medir el flujo de comunicación, desarrollamos nuevo tipo métricas que llamamos conversaciones por sesión o CPS (diálogos por sesión). Denota el número promedio de turnos en la comunicación, donde cada turno se define como un cambio que ocurre entre dos interlocutores. La puntuación CPS refleja qué tan bien puede comunicarse realmente un chatbot.

El índice CPS promedio para la IA de un asistente virtual normal varía entre 1,5 y 2,5, lo que significa que un humano habla una vez y un chatbot habla una vez. En comparación, la puntuación promedio de Xiaoice después de hablar con diez millones de personas fue 23.

Su tecnología se basa en el principio de que ninguna conversación o imagen será completamente única. Hay siete mil millones de personas viviendo en la Tierra, por lo que un fragmento de texto no puede generar siete mil millones de respuestas únicas. Cualquier conversación entre dos personas podría haber ocurrido antes. Sólo necesitas encontrarla.

En este sentido, Xiaoice es un gran proyecto de datos construido sobre la base motor de búsqueda Microsoft Bing, cuyos datos incluyen mil millones de registros y 21 mil millones de relaciones entre esos registros. Para ser honesto, Xiaoice significa "pequeño Bing". Microsoft empresa logró un avance tecnológico en el desarrollo de un chatbot: al programa se le enseñó a reconocer expresiones faciales, buscar y encontrar indicadores emocionales en el texto y, por supuesto, el mayor avance fue cómo utilizamos los motores de búsqueda y grandes cantidades de datos.

Como resultado creamos nueva estructura, que se llamó computación emocional. Se basa en la comprensión de que las relaciones son más importantes que las tareas. Por ejemplo, la comunicación productiva entre un médico y un paciente carece de la velocidad y la integridad características de los sistemas de comunicación tradicionales. Al contrario, se caracteriza por algo personal, conmovedor y sorprendente: un equilibrio entre la inteligencia analítica (IQ) y la inteligencia emocional (EQ). Por eso contamos con analistas y psicólogos en nuestro equipo de desarrollo de Xiaoice.

A través de las decenas de miles de millones de conversaciones que ha llevado a cabo durante los últimos 18 meses, Xiaoice ha agregado una gran cantidad de escenarios de conversación conocidos a su base de datos, lo que le permite clasificar las respuestas mucho mejor. Hoy en día, el 26% de los datos del núcleo de comunicación de Xiaoice provienen de su propia comunicación con las personas y el 51% proviene de una base de datos de escenarios de comunicación humana estándar. Hoy podemos decir que el chatbot Xiaoice ha entrado en un ciclo de autoaprendizaje y crecimiento, y con el tiempo será cada vez mejor.

uno de las condiciones más importantes Dominar el idioma inglés es la práctica de usarlo. Incluso si estás aprendiendo inglés, la comunicación oral y escrita sigue siendo la parte más importante del aprendizaje. Hay varias formas de organizar una experiencia lingüística de este tipo.

Este artículo está dedicado a uno de esos secretos, que, de hecho, todavía no todo el mundo conoce: cómo practicar inglés escrito con robots de forma totalmente gratuita. El artículo también proporciona una lista de similares programas inteligentes con enlaces. De hecho, en algunos países, como Japón, la gente paga dinero para aprender inglés con robots y chatbots.

Animo a mis alumnos a utilizar el lenguaje siempre que sea posible. Aquellos estudiantes que viven, trabajan o viajan al extranjero muestran un progreso más rápido a medida que utilizan el inglés en la vida cotidiana. Y esos chicos que tienen pareja, pero están separados. barrera del idioma, generalmente dominan un idioma extranjero a velocidades turbo.

Aquellos estudiantes que no tienen esa oportunidad, con mi ayuda, encuentran extranjeros para comunicarse y practicar el idioma. Pero aquí hay varios peligros ocultos. En primer lugar, no todo el mundo quiere buscar y es simplemente vago; en segundo lugar, registrarse en sitios web y buscar socios suele llevar mucho tiempo; En tercer lugar, el inglés de los nuevos amigos a veces deja mucho que desear. De hecho, esto es mejor opción, incluso a pesar de no mirar algunos de los indicados” trampas" Sin embargo, a veces quieres algo más rápido. Cuando escribí y te respondieron enseguida.

La búsqueda de una solución a este problema me llevó al tema de los chatbots para aprender inglés. En palabras simples, puedes mantener correspondencia, y en algunos casos incluso comunicarte por voz, con robots inteligentes que responden bastante "sobre el tema". Muchos de estos robots han pasado la prueba de Turing y en algunos casos difícilmente se podría adivinar que se trata de un robot y no de una persona.

Beneficios de practicar inglés con bots:

  • siempre responden cada vez que les escribes
  • su inglés siempre está alfabetizado y saben

Lista de chatbots para practicar idiomas:

  1. Mike es un buen conversador.
  2. Elbot es un buen conversador.
  3. Cleverbot (realmente no es estúpido) + existe la posibilidad de comunicación por voz)
  4. Zabaware (un bot bastante inteligente que también pronuncia frases)
  5. John Lennon (sí, el mismo. Pulsa en el menú de la izquierda “Chatear con…”)
  6. Acobot gran aplicación en Android, que está dirigido específicamente a aprender inglés. Es posible por ejemplo
  • aprendizaje automático,
  • tecnologías de búsqueda,
  • Semántica,
  • Desarrollo de sitios web
  • Ya escribí hace algún tiempo sobre los chatbots que utilizan redes neuronales. Hoy hablaré de cómo intenté hacer una versión en ruso a gran escala.

    Sistemas de diálogo aprendibles adquiridos en últimamente popularidad inesperada. Desafortunadamente, todo lo que se ha hecho en el marco de los sistemas de diálogo de redes neuronales se ha hecho para idioma en Inglés. Pero hoy llenaremos este vacío y le enseñaremos a la modelo a hablar ruso.

    Método
    Decidí empezar abandonando la generación de texto palabra por palabra. Esto es genial, pero no tan útil como parece y es especialmente difícil para el idioma ruso con su un gran número diferentes formas de palabras. En lugar de eso, decidí seleccionar la respuesta correcta de una gran base de datos. Aquellos. El objetivo es crear una red neuronal que determine si una frase es una respuesta adecuada, dado el contexto de la conversación, o no.

    Por qué es así:
    - No necesitamos una capa softmax grande para seleccionar palabras, lo que significa que podemos asignar más recursos de red neuronal a la tarea real de análisis de texto.
    - El modelo de coincidencia resultante es adecuado para diferentes propósitos; en teoría, puedes hacer que un chatbot se comunique sobre diferentes temas especiales simplemente cargándolo nueva base textos, sin nueva formación. Esto es útil en la práctica.
    - Es posible crear un modelo que se ejecute rápidamente y que pueda comunicarse con muchos usuarios al mismo tiempo sin múltiples GPU en el servidor.

    Para qué
    En general, los sistemas de diálogo temático general son útiles, por ejemplo, en consultores en línea, para que el consultor pueda hablar sobre temas no relacionados con la tarea principal, en juegos y en una serie de otras tareas.

    ¿Por qué redes neuronales?
    ¿Es posible abordar el problema utilizando un método más clásico? ¿Cargar un conjunto de respuestas en la base de datos y buscar con un índice de texto completo la frase anterior? La respuesta es que puedes hacer esto, pero el resultado no es muy bueno. Digamos:

    C: hola!
    K: Greg, María, este es Ali...
    C: ¿cómo estás?
    K: Hubo una queja por ruido en la habitación de al lado, señor.
    c: ¿cómo te llamas?
    K: gracias, gracias.
    c:cuantos años tienes?
    K: ¿Vives en algún lugar cercano...?

    Una búsqueda en una gran base de datos de respuestas da muchos resultados, pero su relevancia es pequeña, por lo que los diálogos son bastante baja calidad. Aquí es donde debería ayudarnos. red neuronal– con su ayuda separaremos las buenas respuestas de las malas.

    Dónde obtener datos de entrenamiento:
    La pregunta más dolorosa para muchos. Entonces la gente tomó la base de datos de subtítulos de películas. Sin embargo, existe una base de datos de este tipo para el idioma ruso. más pequeño en tamaño. Pero el gran problema de esta base es que contiene muchos monólogos, basura variada y en general es difícil separar los diálogos entre sí.

    Por lo tanto, decidí tomar un camino diferente y, además de los subtítulos, recopilar diálogos de aquellos en acceso abierto libros. Los aspirantes a escritores y autores de todo tipo de fanfiction han creado una cantidad increíble de información, por lo que sería un pecado no utilizarla. Por supuesto, hay muchas tonterías ahí. En el proceso de trabajo, inevitablemente tuve que leer esto, y mi cabeza estaba hinchada por las largas conversaciones entre Sergei y Sailor Moon (¡quién más tuvo la misma idea!). Pero, en general, esta es una base de datos de mayor calidad que los subtítulos, aunque no es tan fácil de recopilar, hay que dedicar tiempo.

    Arquitectura
    Aquí hay un margen considerable para la imaginación. Empecé con opciones simples y avanzó hacia los complejos para comprender cuáles son los beneficios reales de varias campanas y silbatos. En los artículos, la gente suele intentar refrescarlo y añadir algunas novedades, pero debido al hecho de que el área es nueva, los beneficios de esto no siempre son obvios.

    El modelo más simple toma una concatenación de una secuencia de contexto y vectores de palabras de respuesta y lo introduce todo en una capa regular completamente conectada. Porque la respuesta sucede diferentes longitudes, lo escribimos en un vector de longitud fija, llenando el espacio "extra" con ceros. Esto se considera malo. Vamos a ver.

    La segunda opción es diferente en que antes de que el contexto y la respuesta se “mezclen”, se les da “su propia” capa para formar la idea. Bueno, entonces puede haber varias capas de procesamiento; la figura muestra dos.

    La tercera opción codifica secuencias de diferentes longitudes utilizando un codificador LSTM recurrente. Es mucho más lento y lleva más tiempo entrenar. Pero parece que debería funcionar mejor.


    Fig.1. Arquitectura de red neuronal

    Resultados
    Por la capacidad de elegir la respuesta correcta entre varias opciones propuestas (respuestas tomadas al azar), la mayoría mejor resultado mostró el modelo número 2, con cinco capas para análisis de datos de 700 neuronas cada una (+1 capa de representación de datos de entrada, también de 700 neuronas). para entrenar a tales red profunda, Tuve que usar capas Highway, que permiten que la información se difunda más fácilmente desde las capas inferiores a las superiores, y también esperar unos días mientras se calculaba el modelo en la GPU. El modelo número 1 claramente no estaba suficientemente entrenado, y el número 3 pensó durante mucho tiempo, y tampoco alcanzó los resultados del modelo número 2 en varios por ciento. Lo que nos recuerda que aunque lo más modelos simples no son adecuados para grandes cantidades de datos, pero nunca debes multiplicar entidades más allá de lo necesario.

    El sistema resultante tiene una base de datos de 30 millones de pares de réplicas y la red neuronal tiene alrededor de 3 millones de parámetros entrenables.

    ¿Qué tipo de diálogos puedes obtener como resultado?

    c: hola
    K: hola.
    C: ¿Cómo estás?
    K: No lo sé.
    C: ¿Cómo te llamas?
    K: Mi nombre es Eunice.
    C: ¿Cuantos años tienes?
    K: Quince.
    C: ¿Dónde vives?
    K: En casa.
    C: ¿vas a la escuela?
    K: No
    c: donde estudias?
    K: en la Bundeswehr.
    C: ¿Te gusta la música?
    K: sí, me encanta la música.
    C: ¿Qué tipo de música te gusta?
    K: Principalmente escucho R&B y funk.
    C: ¿Crees en Dios?
    K: Todavía creo en Dios, viejo.
    C: ¿Qué es la moralidad?
    K: dos personas juntas, ¿no es eso moral?
    C: ¿de qué color es el mar?
    K: colores del océano después de una tormenta.

    Bastante bien en mi opinión. Aquí hay otro ejemplo:

    C: ¿Dónde vive el hipopótamo?
    K: vivió
    C: ¿Qué, ya no vive?
    K: No lo sé.
    C: entonces ¿dónde vivía antes?
    K: cerca del parque, en Maple Street.
    C: ¿a dónde fue?
    K: ¿a dónde fue?
    C: Te estoy preguntando, ¿a dónde fue?
    K: No entiendo por qué estoy otra vez en el hospital.
    C: porque estas enfermo
    K: Sólo quiero ayudar a la gente.
    C: ¡Entonces dime dónde está el hipopótamo!
    K: ¿Por qué tienes tantas ganas de saber esto?
    C: solo respóndeme
    K: ¿quieres que te ayude a despedirte de tu familia?
    C: ¿Es esto una amenaza?
    K: Observación
    C: Entonces, ¿dónde está el hipopótamo?
    K: él está en Hawaii, pero el Raj gobierna desde aquí
    C: ¿Quién es el Raj?
    K: ¿No lo has conocido?
    c: no, nunca
    K: Érase una vez un marido y una mujer, sólo que el marido desaparecía cada noche.



    
    Arriba