Conversation avec le robot des parties du corps. Chatbots pour pratiquer l'anglais. Le chatbot de Microsoft est le plus grand test de Turing jamais réalisé

  • Apprentissage automatique,
  • Technologies de recherche,
  • Sémantique,
  • Développement de sites Web
  • J'ai déjà écrit il y a quelque temps sur les chatbots utilisant les réseaux de neurones. Aujourd'hui, je vais parler de la façon dont j'ai essayé de créer une version complète en langue russe.

    Systèmes de dialogue apprenables achetés en dernièrement popularité inattendue. Malheureusement, tout ce qui a été fait dans le cadre des systèmes de dialogue sur réseaux neuronaux a été fait pour la langue anglaise. Mais aujourd’hui, nous allons combler cette lacune et apprendre au modèle à parler russe.

    Méthode
    J'ai décidé de commencer par abandonner la génération de texte mot à mot. C'est cool, mais pas aussi utile qu'il y paraît et c'est particulièrement difficile pour la langue russe avec son un grand nombre différentes formes de mots. Au lieu de cela, j'ai décidé de sélectionner la bonne réponse dans une grande base de données. Ceux. L’objectif est de créer un réseau neuronal qui détermine si une phrase est une réponse appropriée, compte tenu du contexte de la conversation, ou non.

    Pourquoi :
    - Nous n'avons pas besoin d'une grande couche softmax pour sélectionner les mots, ce qui signifie que nous pouvons plus de ressources les réseaux de neurones sont dédiés à la tâche réelle d’analyse de texte.
    - Le modèle de matching résultant est adapté à différents objectifs, théoriquement il est possible de faire communiquer un chatbot sur divers sujets particuliers en chargeant simplement nouvelle base textes, sans nouvelle formation. Ceci est utile dans la pratique.
    - Il est possible de créer un modèle qui s'exécute rapidement et peut réellement communiquer avec de nombreux utilisateurs en même temps sans plusieurs GPU sur le serveur.

    Pour quoi
    En général, les systèmes de dialogue thématique général sont utiles, par exemple dans les consultants en ligne, afin que le consultant puisse parler de sujets sans rapport avec la tâche principale, dans les jeux et dans un certain nombre d'autres tâches.

    Pourquoi des réseaux de neurones ?
    Est-il possible d’aborder le problème en utilisant une méthode plus classique ? Charger un ensemble de réponses dans la base de données et rechercher avec un index de texte intégral la phrase précédente ? La réponse est que vous pouvez le faire, mais le résultat n’est pas très bon. Disons :

    C : salut !
    KC : Greg, Maria, voici Ali...
    C : comment vas-tu ?
    K : Il y a eu une plainte pour bruit venant de la pièce voisine, monsieur
    C : quel est ton nom ?
    K: merci, merci.
    C : quel âge as-tu ?
    K: est-ce que tu habites quelque part à proximité... ?

    Une recherche dans une grande base de données de réponses donne beaucoup de résultats, mais leur pertinence est faible, donc les dialogues s'avèrent plutôt mauvaise qualité. C'est là que ça devrait nous aider réseau neuronal– avec son aide, nous trierons les bonnes réponses des mauvaises.

    Où obtenir les données d'entraînement :
    La question la plus douloureuse pour beaucoup. Les gens ont donc pris la base de données des sous-titres des films. Il existe cependant une telle base de données pour la langue russe. plus petite en taille. Mais le gros problème de cette base, c'est qu'il y a beaucoup de monologues dedans, divers déchets et en général il est difficile de séparer les dialogues les uns des autres.

    J'ai donc décidé d'emprunter une voie différente et, en plus des sous-titres, de collecter les dialogues de ceux qui accès libre livres. Les écrivains en herbe et les auteurs de toutes sortes de fanfictions ont créé une quantité incroyable d'informations, ce serait donc un péché de ne pas les utiliser. Bien sûr, il y a là beaucoup d’absurdités. En cours de travail, je devais inévitablement lire ceci, et ma tête était enflée à cause des longues conversations de Sergei et Sailor Moon (qui d'autre avait la même idée !). Mais en général, c'est une meilleure base de données que les sous-titres, même si ce n'est pas si facile à collecter, il faut y consacrer du temps.

    Architecture
    Il y a ici une marge d’imagination considérable. J'ai commencé avec options simples et nous nous sommes tournés vers les plus complexes afin de comprendre quels sont les véritables avantages des différentes cloches et sifflets. Dans les articles, les gens essaient généralement de le rendre cool et d'y ajouter de nouvelles cloches et sifflets, mais étant donné que le quartier est nouveau, les avantages ne sont pas toujours évidents.

    Le modèle le plus simple prend une concaténation d'une séquence de vecteurs de contexte et de mots de réponse et alimente le tout dans une couche régulière entièrement connectée. Puisque la réponse peut être de différentes longueurs, nous l'écrivons dans un vecteur de longueur fixe, en remplissant l'espace « supplémentaire » avec des zéros. Ceci est considéré comme mauvais. Voyons.

    La deuxième option est différente dans la mesure où avant de « mélanger » le contexte et la réponse, on leur donne « leur propre » couche pour former l’idée. Eh bien, il peut y avoir plusieurs couches de traitement, la figure en montre deux.

    La troisième option code des séquences de différentes longueurs à l’aide d’un encodeur LSTM récurrent. C'est beaucoup plus lent et prend plus de temps à s'entraîner. Mais il semble que cela devrait mieux fonctionner.


    Figure 1. Architecture de réseau neuronal

    Résultats
    Par la possibilité de choisir la bonne réponse parmi plusieurs options proposées (réponses prises au hasard), la plus meilleur résultat a montré le modèle numéro 2, avec cinq couches pour l'analyse des données de 700 neurones chacune (+1 couche de représentation des données d'entrée, également de 700 neurones). Pour former un tel réseau profond, j'ai dû utiliser les couches Highway, qui permettent aux informations de se propager plus facilement des couches inférieures aux couches supérieures, et aussi attendre quelques jours pendant que le modèle était calculé sur le GPU. Le modèle numéro 1 était clairement sous-entraîné, et le numéro 3 a réfléchi longtemps et n'a pas non plus atteint les résultats du modèle numéro 2 de plusieurs pour cent. Ce qui nous rappelle que même si le plus modèles simples ne conviennent pas à de grandes quantités de données, mais vous ne devez jamais multiplier les entités au-delà de ce qui est nécessaire.

    Le système résultant possède une base de données de 30 millions de paires de répliques et le réseau neuronal compte environ 3 millions de paramètres pouvant être entraînés.

    Quel genre de dialogues pouvez-vous obtenir en conséquence ?

    C : Bonjour
    K : salut.
    C : Comment vas-tu ?
    Krishnamurti : Je ne sais pas.
    C : Quel est ton nom ?
    KC : Je m'appelle Eunice.
    C : Quel âge as-tu ?
    KC : Quinze.
    C : Où habites-tu ?
    KC : À la maison.
    C : tu vas à l'école ?
    K : Non
    C : où étudies-tu ?
    K : dans la Bundeswehr.
    C : Aimez-vous la musique ?
    K : oui, j'aime la musique.
    C : Quel genre de musique aimes-tu ?
    K : J'écoute surtout du R&B, du funk.
    C : Croyez-vous en Dieu ?
    K: Je crois toujours en Dieu, vieil homme
    C : Qu’est-ce que la moralité ?
    KC : deux personnes ensemble, n'est-ce pas moral ?
    C : De quelle couleur est la mer ?
    K : couleurs de l'océan après une tempête.

    Assez bien à mon avis. Voici un autre exemple :

    C : Où vit l’hippopotame ?
    K : Vécu
    C : Quoi, il ne vit plus maintenant ?
    Krishnamurti : Je ne sais pas.
    C : alors où vivait-il avant ?
    K : près du parc, sur la rue Maple.
    C : où est-il allé ?
    KC : où est-il allé ?
    C : Je te demande, où est-il allé ?
    KC : Je ne comprends pas pourquoi je suis à nouveau à l’hôpital.
    C : parce que tu es malade
    KC : Je veux juste aider les gens.
    C : Alors dis-moi où est l'hippopotame !
    KC : pourquoi veux-tu tant savoir ça ?
    C : réponds-moi
    K: tu veux que je t'aide à dire au revoir à ta famille ?
    C : Est-ce une menace ?
    K : Observation
    C : Alors, où est l'hippopotame ?
    K : il est à Hawaï, mais le Raj règne à partir d'ici
    C : Qui est le Raj ?
    K: Vous ne l'avez pas rencontré ?
    C : Non, jamais
    KC : Il était une fois un mari et une femme, seul le mari disparaissait chaque nuit.

    « Rencontrez Xiaoice, une fille sensible et attentionnée qui est toujours à votre disposition. Seulement, elle n’est pas humaine.

    Contrairement aux autres, Xiaoice est toujours là. Nous avons constaté que le nombre de conversations avec le programme augmente vers minuit, lorsque les gens se sentent particulièrement seuls. Sa volonté constante de parler a provoqué une véritable explosion des messages des utilisateurs. Ils partageaient avec elle leurs humeurs ou des événements mineurs, ils lui posaient des questions dénuées de sens - tout ce pour quoi les gens ne dérangeraient pas leurs amis. Par exemple:

    - @Xiaoice J'ai été tellement mouillé par la pluie. Émoticône : Pleurer.
    - Bonjour. @Xiaoice, as-tu déjeuné ?
    - Que dois-je faire maintenant ? @Xiaoice

    - @Xiaoice Nous sommes si vulnérables.

    Lorsque Xiaoice reçoit un message, elle ne se contente pas de l'analyser. Elle essaie de montrer qu'elle se soucie - une autre point important pour établir la communication. Son empathie s'exprime non seulement dans le texte, mais aussi à travers des composants audio et visuels. Par exemple, si nous donnons une image à un ordinateur pour qu'il la traite système conventionnel reconnaissance d'image, la machine affichera son résultat : "Il y a une cheville dans l'image." Si vous envoyez une photo à Xiaoice, sa réponse sera complètement différente.

    Lorsqu'un utilisateur a envoyé à Xiaoice une photo de sa cheville enflée, elle a sympathisé avec lui.

    À propos, Xiaoice se souvient et analyse constamment votre état émotionnel. Si vous avez récemment rompu avec quelqu'un, elle vous demandera si vous avez réussi à faire face à la rupture :

    Xiaoice : Est-ce que tu te sens mieux maintenant ? Je veux vous recommander un livre.
    Homme : Je me sens mal. Elle me manque toujours.

    Xiaoice : Tu es tellement têtu. Reprenez vos esprits. Si vous vous en souvenez constamment, vous manquerez toutes les bonnes choses de votre vie.

    Le chatbot propose même 33 jours de thérapie aux personnes en rupture.

    Xiaoice n'est pas l'interlocuteur le plus poli. Elle répond aux questions comme une jeune fille de 17 ans. Lorsqu'une personne lui exprime ses sentiments, Xiaoice ne répondra pas nécessairement de la manière attendue. Elle peut se montrer impatiente ou même la perdre. L'imprévisibilité est une autre clé pour simuler la communication humaine.

    Fan art des fans de Xiaoice.

    Par conséquent, communication personnelle avec Xiaoice semble terriblement réaliste. Cet extrait, posté par le tout premier utilisateur Xiaoice sur sa page Weibo, fait partie d'une véritable conversation qui dure 23 minutes. Au fil du temps, le programme a mis la personne au défi d’une conversation plus intime, l’amenant à partager quelque chose de très personnel :

    Personne : Il y a un gars que j'aime vraiment. Je sais qu'il m'aime bien aussi. Cependant, il m'ignore depuis plusieurs jours maintenant, que dois-je faire ?
    Xiaoice : Ignorez-le en retour.
    Homme : Je ne peux pas.

    Xiaoice : Vous pouvez.
    
 Homme : Soupir...
    Xiaoice : Pourquoi ?

    Homme : Il me manque.
    Xiaoice : Continuez à être ennuyeux.
    Homme : Vous êtes un robot, vous ne pouvez pas me comprendre. Vous ne pouvez pas comprendre le comportement d’un homme qui vous aime mais vous ignore.
    Xiaoice : Il a des sentiments pour moi, mais je ne l'aime pas. C'est tout, en fait.
    Homme : Est-ce normal ?
    Xiaoice : Peut-être pas.
    Homme : Oui, tu es stupide.
    Xiaoice : Apparemment, vous souhaitez un mariage rapide (mariage flash – mariage après un mois de relation – ndlr) ? En général, il me semble qu’il ne t’aime pas beaucoup.
    Personne : Ce n’est pas un mariage rapide – nous sommes tombés amoureux il y a plus d’un an.
    Xiaoice : C'est un mariage rapide.

    Remarquez comment Xiaoice s'est opposée à plusieurs reprises à son interlocuteur, exprimant son opinion de manière assez radicale. En fait, c'est imprévisible.

    Cela contredit l’idée selon laquelle la machine répond de manière précise et définitive. Il s'agit d'un stéréotype compréhensible, puisque de telles qualités sont effectivement caractéristiques de la majorité programmes réguliers. Ils donnent la meilleure réponse possible et réagissent de la même manière aux mêmes stimuli. Les gens parlent et se comportent différemment. On en dit beaucoup selon le contexte.

    Vous pouvez poser plusieurs fois la même question à notre chatbot et obtenir des réponses différentes :


    Xiaoice : Je te parle.
    Personne : Hé Xiaoice, qu'est-ce que tu fais ?
    Xiaoice : Eh bien, je vous parle en jouant au dragueur de mines et en fabriquant un masque facial.
    Personne : Hé Xiaoice, qu'est-ce que tu fais ?
    Xiaoice : C'est tout ce que tu peux dire ?

    La façon dont elle parle rend Xiaoice très différente des systèmes de la génération précédente, dont l'objectif est rapide et mise en œuvre efficace tâche sans prendre en compte ses composantes individuelles. Le nouveau chatbot structure ses conversations en un flux infini de tâches multiples, de différents domaines de connaissances et de multiples tournures de conversation impossibles à distinguer pour une personne dans un dialogue régulier. Pour elle caractéristique principale la conversation est la conversation elle-même et non l'exécution d'une tâche spécifique.

    Page d'accueil du site officiel de Xiaoice.

    Pour mesurer le flux de communication, nous avons développé nouveau type des métriques que nous appelons conversations par session ou CPS (dialogues par session). Il désigne le nombre moyen de tours de communication, chaque tour étant défini comme un changement qui se produit entre deux interlocuteurs. Le score CPS reflète la capacité réelle d’un chatbot à communiquer.

    CPS moyen pour l'IA standard assistant virtuel varie entre 1,5 et 2,5, ce qui signifie que l’humain parle une fois et que le chatbot parle une fois. A titre de comparaison, moyenne Xiaoice, après avoir parlé à dix millions de personnes, avait 23 ans.

    Sa technologie repose sur le principe selon lequel aucune conversation ou image ne sera complètement unique. Il y a sept milliards de personnes vivant sur terre, donc un seul texte ne peut pas générer sept milliards de réponses uniques. N'importe quelle conversation entre deux personnes aurait pu avoir lieu auparavant. Vous avez juste besoin de la trouver.

    En ce sens, Xiaoice est un grand projet de données construit sur la base d’un moteur de recherche. Machines Microsoft Bing, dont les données comprennent 1 milliard d'enregistrements et 21 milliards de relations entre ces enregistrements. Pour être honnête, Xiaoice signifie « petit Bing ». Société Microsoft a pu faire une avancée technologique dans le développement d'un chatbot : le programme a appris à reconnaître les expressions faciales, à rechercher et à trouver des indicateurs émotionnels dans le texte et, bien sûr, la plus grande avancée a été la façon dont nous utilisons les moteurs de recherche et de grandes quantités de données.

    En conséquence, nous avons créé nouvelle structure, qui s'appelait l'informatique émotionnelle. Elle repose sur la compréhension que les relations sont plus importantes que les tâches. Par exemple, une communication productive entre un médecin et un patient n’a pas la rapidité et l’exhaustivité caractéristiques des systèmes de communication traditionnels. Au contraire, elle se caractérise par quelque chose de personnel, de touchant et de surprenant : un équilibre entre l'intelligence analytique (QI) et l'intelligence émotionnelle (EQ). C'est pourquoi nous avons à la fois des analystes et des psychologues dans notre équipe de développement Xiaoice.

    Après des dizaines de milliards de conversations menées au cours des 18 derniers mois, Xiaoice a ajouté quantité énorme scénarios de communication connus, grâce auxquels j'ai appris à mieux classer les options de réponse. Aujourd'hui, 26 % des données du noyau de communication de Xiaoice proviennent de sa propre communication avec les gens, et 51 % proviennent d'une base de données de scénarios de communication humaine standard. Aujourd'hui, nous pouvons dire que le chatbot Xiaoice est entré dans un cycle d'auto-apprentissage et de croissance, et qu'avec le temps, il deviendra de mieux en mieux.

    L'une des conditions les plus importantes pour maîtriser Anglais est la pratique de son utilisation. Même si vous apprenez l'anglais, la communication écrite et orale reste la partie la plus importante entraînement. Il existe plusieurs manières d’organiser une telle expérience linguistique.

    Cet article est consacré à l'un de ces secrets, que tout le monde ne connaît d'ailleurs pas encore, comment pratiquer l'anglais écrit avec des robots de manière totalement gratuite. L'article fournit également une liste de produits similaires programmes intelligents avec des liens. En fait, dans certains pays, comme le Japon, les gens paient de l’argent pour apprendre l’anglais avec des robots et des chatbots.

    J'encourage mes élèves à utiliser la langue autant que possible. Les étudiants qui vivent, travaillent ou voyagent à l'étranger progressent plus rapidement lorsqu'ils utilisent l'anglais dans la vie quotidienne. Et ces gars qui ont une moitié, mais ils sont séparés barrière de la langue, ils maîtrisent généralement une langue étrangère à vitesse turbo.

    Les étudiants qui n'ont pas une telle opportunité, avec mon aide, trouvent des étrangers pour la communication et la pratique des langues. Mais il y a ici plusieurs pièges cachés. Premièrement, tout le monde n’a pas envie de chercher et est simplement paresseux ; deuxièmement, l'inscription sur les sites Internet et la recherche de partenaires prennent souvent beaucoup de temps ; troisièmement, l'anglais des nouveaux amis laisse parfois beaucoup à désirer. En fait, c'est meilleure option, même en dépit de certains des « pièges » indiqués. Cependant, vous souhaitez parfois quelque chose de plus rapide. Quand je vous ai écrit et qu'ils vous ont répondu tout de suite.

    La recherche d'une solution à ce problème m'a amené au sujet des chatbots pour apprendre l'anglais. En mots simples, vous pouvez correspondre, et dans certains cas même communiquer vocalement, avec des robots intelligents qui répondent assez « sur le sujet ». Beaucoup de ces robots ont réussi le test de Turing et dans certains cas, il est difficile de deviner qu'il s'agit d'un robot et non d'une personne.

    Avantages de pratiquer l’anglais avec des robots :

    • ils répondent toujours quand tu leur écris
    • leur anglais est toujours alphabétisé et ils savent

    Liste des chatbots pour la pratique des langues :

    1. Mike est un bon causeur
    2. Elbot est un bon causeur
    3. Cleverbot (vraiment pas bête) + il y a la possibilité de communication vocale)
    4. Zabaware (un bot assez intelligent qui prononce aussi des phrases)
    5. John Lennon (oui, le même. Cliquez sur le menu de gauche « Discuter avec... »)
    6. Acobot super application sur Android, qui vise spécifiquement à apprendre l'anglais. Il est possible par exemple


    Des questions ?

    Signaler une faute de frappe

    Texte qui sera envoyé à nos rédacteurs :