FR2989209A1 - Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d'utilisation dudit robot - Google Patents

Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d'utilisation dudit robot Download PDF

Info

Publication number
FR2989209A1
FR2989209A1 FR1253073A FR1253073A FR2989209A1 FR 2989209 A1 FR2989209 A1 FR 2989209A1 FR 1253073 A FR1253073 A FR 1253073A FR 1253073 A FR1253073 A FR 1253073A FR 2989209 A1 FR2989209 A1 FR 2989209A1
Authority
FR
France
Prior art keywords
module
dialogue
robot
user
humanoid robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1253073A
Other languages
English (en)
Other versions
FR2989209B1 (fr
Inventor
David Houssin
Gwennael Gate
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Softbank Robotics SAS
Original Assignee
Aldebaran Robotics SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aldebaran Robotics SA filed Critical Aldebaran Robotics SA
Priority to FR1253073A priority Critical patent/FR2989209B1/fr
Priority to PCT/EP2013/057043 priority patent/WO2013150076A1/fr
Priority to EP13714282.4A priority patent/EP2834811A1/fr
Priority to US14/390,746 priority patent/US10052769B2/en
Priority to CN201380029253.5A priority patent/CN104350541B/zh
Priority to JP2015503871A priority patent/JP6367179B2/ja
Publication of FR2989209A1 publication Critical patent/FR2989209A1/fr
Application granted granted Critical
Publication of FR2989209B1 publication Critical patent/FR2989209B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • B25J11/001Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means with emotions simulating means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • Y10S901/47Optical

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Robotics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Manipulator (AREA)
  • Toys (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Abstract

L'invention concerne un robot humanoïde, ledit robot étant apte à dialoguer avec au moins un utilisateur, ledit dialogue utilisant deux modes de reconnaissance vocale, l'un ouvert et l'autre fermé, le mode fermé étant défini par un concept caractérisant une séquence de dialogue. Le dialogue peut également être influencé par des évènements qui ne sont ni des paroles ni un texte. Le robot de l'invention est apte à exécuter des comportements, à générer des expressions et des émotions. L'invention procure par rapport aux robots de l'art antérieur l'avantage de réduire considérablement le temps de programmation et la latence de l'exécution des séquences du dialogue, ce qui procure une fluidité et un naturel proches des dialogues humains.

Description

ROBOT APTE A INTEGRER DES DIALOGUES NATURELS AVEC UN UTILISATEUR DANS SES COMPORTEMENTS, PROCEDES DE PROGRAMMATION ET D'UTILISATION DUDIT ROBOT La présente invention appartient au domaine des systèmes de programmation de robots. Plus précisément, elle permet de doter un robot humanoïde déjà doté d'aptitude à exécuter des comportements de capacités de dialogue avancées avec un utilisateur humain. Un robot peut être qualifié d'humanoïde à partir du moment où il possède certains attributs de l'apparence et des fonctionnalités de l'homme: une tête, un tronc, deux bras, éventuellement deux mains, deux jambes, deux pieds... Dans le cadre de la présente invention, la caractéristique humanoïde la plus importante est cependant la capacité d'expression orale en dialogue avec un humain, ladite capacité d'expression devant être la plus coordonnée possible avec l'expression gestuelle et/ou symbolique de la personnalité et des émotions du robot. On imagine le développement d'applications du type « robot compagnon », c'est-à-dire un robot qui soit en mesure de prendre en charge, notamment pour le compte d'un ou plusieurs êtres humains en état de dépendance, un certain nombre de fonctions d'assistance dans la vie quotidienne, tout en apportant auxdits humains une présence qui puisse être considérée comme un substitut émotionnellement quasi-équivalent à la présence d'un assistant personnel humain. Pour cela, il est indispensable de développer l'aptitude desdits robots humanoïdes à dialoguer avec des êtres humains de la manière la plus proche possible des comportements humains. En particulier, il est nécessaire que le robot puisse interpréter des questions ou affirmations de l'être humain, émettre des répliques en mode conversationnel, avec une richesse d'expression correspondant à celle d'un être humain et des modes d'expression qui soient en synergie avec des types de comportements et d'émotions qui sont normalement ceux d'un être humain. Des premiers pas dans cette voie ont été accomplis grâce aux procédés de programmation de robots humanoïdes de marque NaoTM commercialisés par le demandeur de la présente demande de brevet et divulgués dans la demande internationale de brevet publiée sous le n °W02012/000927 relative à un robot joueur et dans la demande internationale de brevet publiée sous le n °W02012/010451 relative à un robot humanoïde doté d'une interface de dialogue naturel. Cependant, les robots divulgués par ces documents ne peuvent exécuter qu'un nombre limité et prédéterminé d'éléments de dialogue, ou tout au 5 moins, si l'on souhaitait multiplier lesdits éléments de dialogue vers une diversité correspondant au comportement normal d'un être humain, la combinatoire deviendrait rapidement inaccessible à un. Pour pouvoir fournir notamment les services d'assistance à la personne indiquée ci-dessus, il est donc nécessaire de doter les robots humanoïdes d'une aptitude 10 conversationnelle plus riche que celle des robots de l'art antérieur. Pour ce faire, la présente invention implante dans ledit robot un agent conversationnel, des outils de reconnaissance vocale et des outils d'analyse des comportements des êtres humains avec lesquels le robot converse. 15 A cet effet, la présente invention divulgue un robot comprenant au moins un capteur choisi dans un groupe comprenant des premiers capteurs de type sonore et des deuxièmes capteurs d'au moins un deuxième type d'évènements générés par au moins un utilisateur dudit robot, au moins un 20 module de reconnaissance d'évènements en sortie dudit au moins un capteur et au moins un module de génération d'évènements vers ledit au moins un utilisateur, ledit robot étant caractérisé en ce qu'il comprend en outre un module de dialogue avec ledit au moins un utilisateur, ledit module de dialogue recevant en entrée des sorties dudit au moins un module de 25 reconnaissance et produisant des sorties vers ledit module de génération d'évènements choisies dans un groupe comprenant des paroles, des mouvements, des expressions et des émotions. Avantageusement, ledit au moins un module de reconnaissance 30 d'évènements reçoit des entrées en provenance d'au moins deux capteurs appartenant à au moins deux types différents, et en ce que ledit au moins un module de génération d'évènements en sortie dudit module de dialogue est apte à produire en sortie des évènements prenant en compte lesdites entrées en provenance desdits au moins deux capteurs. 35 Avantageusement, ledit au moins un module de reconnaissance est apte à structurer les entrées en concepts selon un arbre hiérarchique dynamique. Avantageusement, une entrée dans ledit au moins un module de 5 reconnaissance s'applique à des entrées textuelles ou vocales et active une grammaire dans ledit module de dialogue. Avantageusement, une entrée dans ledit au moins un module de reconnaissance active/désactive la reconnaissance de ladite entrée. 10 Avantageusement, ledit au moins un module de reconnaissance comprend un premier et un deuxième sous-modules, le premier sous-module opérant sur une liste fermée de mots rattachés à au moins un concept et le deuxième sous-module opérant sur une liste ouverte de mots. 15 Avantageusement, une sortie du premier sous-module est seule fournie au module de dialogue. Avantageusement, une sortie du deuxième sous-module est seule fournie au 20 module de dialogue. Avantageusement, une sortie du premier sous-module et une sortie du deuxième sous-module sont conjointement fournies au module de dialogue. 25 Avantageusement, une sortie du premier sous-module est d'abord seule fournie au module de dialogue, ladite sortie du premier sous-module étant confirmée dans le module de dialogue par une sortie du deuxième sous-module. 30 Avantageusement, aucune des sorties des premier et deuxième sous-modules ne génère de sortie du module de dialogue et en ce que ledit robot propose au moins une entrée audit au moins un utilisateur. Avantageusement, le module de dialogue reçoit en outre en entrée des 35 éléments dynamiques en provenance d'une application.
Avantageusement, au moins une sortie du module de dialogue est fournie à un module apte à exécuter une fonction choisie dans un groupe de fonctions de génération d'au moins une expression dudit robot, de décision de génération d'au moins un comportement dudit robot et de génération d'au moins une émotion dudit robot. Avantageusement, ladite fonction de génération d'au moins un comportement prend en compte les contraintes du système dudit robot.
Avantageusement, ladite fonction de génération d'au moins une émotion est apte à générer une suite d'expressions prédéfinies entre un état neutre et un état prédéfinie en réponse à des évènements en entrée.
Avantageusement, le robot humanoïde de l'invention comprend en outre un module de reconnaissance visuelle, ledit module étant apte à interpréter au moins un signe dudit au moins un utilisateur comme un commencement ou une fin d'une séquence d'un dialogue.
Avantageusement, ledit module de dialogue comprend un sous-module d'analyse lexicale et un sous-module d'interprétation des sorties dudit sous-module d'analyse lexicale apte à générer des concepts auxquels sont rattachés les mots du dialogue courant.
Avantageusement, ledit module de dialogue est apte à traiter des questions et des commandes dudit au moins un utilisateur relatives à l'état de son système physique et/ou logique. L'invention divulgue également un procédé de dialogue entre un robot humanoïde et au moins un utilisateur, comprenant au moins une étape de reconnaissance d'entrées en provenance d' au moins un capteur choisi dans un groupe comprenant des premiers capteurs de type sonore et des deuxièmes capteurs d'au moins un deuxième type visuel d'évènements générés par ledit au moins un utilisateur et une étape de génération d'évènements vers ledit au moins un utilisateur, ledit procédé étant caractérisé en ce qu'il comprend en outre une étape de dialogue avec ledit au moins un utilisateur' ladite étape de dialogue recevant en entrée des sorties de ladite au moins une étape de reconnaissance et produisant des sorties vers ladite étape de génération d'évènements choisies dans un groupe comprenant des paroles, des mouvements, des expressions et des émotions. Avantageusement, ledit robot dialogue avec au moins deux utilisateurs, des paramètres caractérisant lesdits au moins deux utilisateurs étant stockés 10 dans une mémoire dudit robot pour être utilisés quand ledit robot reconnaît un des au moins deux utilisateurs. L'invention divulgue également un programme d'ordinateur embarqué sur un robot humanoïde comprenant des instructions de code de programme 15 permettant l'exécution du procédé de l'invention lorsque le programme est exécuté sur un ordinateur, ledit programme étant adapté pour gérer un dialogue entre ledit robot humanoïde et au moins utilisateur, ledit programme d'ordinateur comprenant un au moins un module de reconnaissance d'évènements en sortie d'au moins un capteur choisi dans un groupe 20 comprenant des premiers capteurs de type sonore et des deuxièmes capteurs d'au moins un deuxième type visuel d'évènements générés par ledit au moins un utilisateur, au moins un module de génération d'évènements vers ledit au moins un utilisateur, ledit programme étant caractérisé en ce qu'il comprend en outre un module de dialogue avec ledit au moins un 25 utilisateur, ledit module de dialogue recevant en entrée des sorties dudit au moins un module de reconnaissance et produisant des sorties vers ledit module de génération d'évènements choisies dans un groupe comprenant des paroles, des mouvements, des expressions et des émotions. 30 L'invention divulgue également un programme d'ordinateur comprenant des instructions de code de programme configurées pour générer un programme d'ordinateur embarqué sur un robot humanoïde comprenant des instructions de code de programme permettant l'exécution du procédé de l'invention et le transmettre à au moins un robot humanoïde. 35 L'invention permet l'utilisation de langages de programmation déjà en usage dans le domaine des agents conversationnels, la syntaxe desdits langages étant déjà connue d'une communauté importante de programmeurs qui seront ainsi disponibles pour développer de nouvelles applications mettant en oeuvre la présente invention. Mis en oeuvre dans le cadre de la présente invention, les agents conversationnels de l'art antérieur voient leurs possibilités accrues de manière considérable grâce à l'intégration de fonctionnalités évoluées de reconnaissance de la parole, ainsi qu'à la prise en compte des informations en provenance d'autres capteurs du robot, notamment de reconnaissance visuelle, qui lui permettent de détecter les situations d'activation des dialogues et ses interlocuteurs. Un dialogue selon le procédé de l'invention pourra être adapté à différentes catégories d'éléments de conversation avec des personnalités de robots différentes qui seront fonction des préférences de leur utilisateur. Le robot pourra exprimer des émotions en adéquation avec lesdits éléments de conversation avoir des comportements également synchronisés avec lesdits éléments, ce qui permettra la création de scenarios fluides d'échanges entre un utilisateur et son ou ses robots. En outre, le robot pourra fournir des informations sur l'état d'un certain nombre d'éléments de son système (durée restante d'autonomie de la batterie, par exemple) et recevoir des commandes système dans un mode dialogue avec un utilisateur, ce qui améliore grandement l'ergonomie d'usage dudit robot.
L'invention sera mieux comprise et ses différentes caractéristiques et avantages ressortiront de la description qui suit de plusieurs exemples de réalisation et de ses figures annexées dont : - La figure 1 représente un robot humanoïde apte à mettre en oeuvre l'invention dans plusieurs de ses modes de réalisation ; - La figure 2 représente un organigramme général des traitements selon plusieurs modes de réalisation de l'invention; - La figure 3 représente les blocs de traitement d'un module de gestion d'un comportement dialogue et d'un module de reconnaissance vocale selon plusieurs modes de réalisation de l'invention; - La figure 4 représente un exemple d'arborescence de plusieurs niveaux de dialogues selon plusieurs modes de réalisation de l'invention; - La figure 4a représente un arbre de concepts selon plusieurs modes de réalisation de l'invention; - La figure 5 représente un organigramme simplifié des traitements du module de reconnaissance vocale dans plusieurs modes de réalisation de l'invention ; - La figure 6 représente le flot de données entre plusieurs modules logiciels configurés pour mettre oeuvre l'invention dans plusieurs de ses modes de réalisation ; - La figure 6a illustre le fonctionnement d'un moteur d'émotion dans certains modes de réalisation de l'invention ; - La figure 6b illustre le fonctionnement d'un moteur de décision dans certains modes de réalisation de l'invention ; - La figure 7 représente les différentes fonctions en entrée et en sortie du module de gestion d'un dialogue pour mettre oeuvre l'invention dans plusieurs de ses modes de réalisation ; - La figure 8 représente le modèle de données d'un module d'analyse et d'interprétation de dialogues pour mettre en oeuvre l'invention dans plusieurs de ses modes de réalisation ; - La figure 9 représente l'architecture des modules logiciels implantés sur un robot configuré pour mettre oeuvre l'invention dans plusieurs de ses modes de réalisation.
La figure 1 représente un robot humanoïde apte à mettre en oeuvre l'invention dans plusieurs de ses modes de réalisation. Ce robot humanoïde est représenté sur la figure dans un mode de réalisation de l'invention. Un tel robot a été divulgué notamment dans la demande de brevet W02009/124951 publiée le 15/10/2009. Cette plateforme a servi de base aux améliorations qui ont conduit à la présente invention. Dans la suite de la description, ce robot humanoïde peut être indifféremment désigné sous cette appellation générique ou sous sa marque commerciale NAOTM, sans que la généralité de la référence en soit modifiée.
Ce robot comprend environ deux douzaines de cartes électroniques de commande de capteurs et d'actionneurs qui pilotent les articulations. La carte électronique de contrôle comporte un microcontrôleur du commerce. Ce peut être par exemple un DSPICTM de la société Microchip. C'est un MCU 16 bits 5 couplé à un DSP. Ce MCU a un cycle d'asservissement en boucle d'une ms. Le robot peut également comporter d'autres types d'actionneurs, notamment des LED (Diodes électroluminescentes) dont la couleur et l'intensité peuvent traduire les émotions du robot. Celui-ci peut également comporter d'autres types de capteurs de position, notamment une centrale inertielle, des FSR 10 (Capteurs de pression au sol), etc.... La tête 110 comporte l'intelligence du robot, notamment la carte qui exécute les fonctions de haut niveau qui permettent au robot d'accomplir les missions qui lui sont assignées, notamment, dans le cadre de la présente invention, pour l'exécution de dialogues écrits par un utilisateur. La tête comportera 15 avantageusement également des cartes spécialisées, notamment dans le traitement de la parole (synthèse et reconnaissance) ou de la vision. S'agissant de la reconnaissance de la parole, dans l'architecture de traitement des signaux audio actuellement utilisée, lesdits signaux audio sont capturés par quatre microphones et traités de manière logicielle dans des 20 modules spécialisés qui sont décrits en commentaires à la figure 9. La direction de provenance des sons peut être déterminée analyse des différences de date d'arrivée des signaux sonores sur les quatre capteurs. Les paroles sont reconnues par un logiciel de reconnaissance vocale à moteur grammatical (par exemple du type commercialisé par la société 25 NuanceTM) ou à interpréteur de langage naturel. La tête comporte également une ou plusieurs cartes spécialisées dans le traitement d'entrées/sorties de service, comme l'encodage nécessaire à l'ouverture d'un port pour établir une communication à distance sur un réseau étendu WAN (Wide Area Network). Le processeur de la carte peut 30 être un processeur x86 du commerce. On choisira de manière privilégiée un processeur à basse consommation, par exemple un ATOMTM de la société Intel (32 bits, 1600 MHz). La carte comporte également un ensemble de mémoires RAM et flash. Cette carte gère également les communications du robot avec l'extérieur (serveur de comportements, autres robots...), 35 normalement sur une couche de transmission WiFi, WiMax, éventuellement sur un réseau public de communications mobiles de données avec des protocoles standards éventuellement encapsulés dans un VPN. Le processeur est normalement piloté par un OS standard ce qui permet d'utiliser les langages de haut niveau usuels (C, C++, Python, ...) ou les langages spécifiques de l'intelligence artificielle comme URBI (langage de programmation spécialisé dans la robotique) pour la programmation des fonctions de haut niveau. Le robot va pouvoir exécuter des comportements pour lesquels il pourra avoir été programmé à l'avance, notamment par un code généré selon l'invention divulguée dans la demande de brevet internationale publiée sous le n °W02012/010451 déjà citée, ledit code ayant été créé par un programmeur dans une interface graphique. Selon cette invention et dans la suite de la présente description, un comportement est une combinaison d'actions (mouvements, paroles) et éventuellement d'évènements. Ces comportements peuvent également avoir été agencés dans un scenario créé par un utilisateur qui n'est pas un programmeur professionnel en utilisant l'invention divulguée dans la demande de brevet W02011/003628. Dans le premier cas, il peut s'agir de comportements articulés entre eux selon une logique relativement complexe dans laquelle les séquences de comportements sont conditionnées par les évènements qui se produisent dans l'environnement du robot. Dans ce cas, un utilisateur qui doit disposer d'un minimum de compétences de programmeur peut utiliser l'atelier ChorégrapheTM, dont les principaux modes opératoires sont décrits dans la demande citée. Dans le deuxième cas, la logique de déroulement du scenario n'est pas en principe adaptative. Selon la présente invention, un programmeur est en mesure de produire un scenario complexe comprenant des ensembles de comportements comprenant des gestes et mouvements divers, des émissions de signaux sonores ou visuels, et surtout des dialogues naturels entre le robot et un être humain ou un autre robot, lesdits dialogues étant coordonnés avec la personnalité et les émotions du robot et le contexte sémantique et évènementiel de la conversation. La figure 2 représente un organigramme général des traitements selon 35 plusieurs modes de réalisation de l'invention. -10- Selon l'invention, un module 210 d'écriture de dialogues implanté sur une une station de travail, par exemple un PC, distincte du robot est destinée à programmer des scenarios de dialogues. Lesdits dialogues pourront avoir plusieurs personnages, un ou plusieurs robots et un ou plusieurs locuteurs.
Ledit module est avantageusement implanté dans l'atelier logiciel ChorégrapheTM qui permet de programmer des comportements du robot, les dialogues étant mixés au sein de scenarios avec des comportements à exécuter par le robot en relation avec les éléments des dialogues. Un module de reconnaissance vocale 220 dont les fonctionnalités ont été indiquées en commentaire à la figure 1 est implanté sur le robot. Il est destiné à interpréter les éléments des dialogues créés dans le module 210 d'écriture de dialogues, lesdits éléments de dialogues étant transmis au robot par une interface de communication filaire ou sans fil, selon les modalités décrites plus haut en commentaire à la figure 1. Les éléments des dialogues transmis au module 220 sont compilés par exemple dans un langage utilisant la syntaxe normalisée BNF (Backus Normal Form). Par exemple, une suite de mots sera interprétée comme un « ET » logique, un « OU » logique devant être symbolisée de manière différente, par exemple par un « I ». Le fonctionnement du module 220 de reconnaissance vocale est détaillé plus loin dans la description en commentaire à la figure 5. Les éléments en provenance du module 210 d'écriture des dialogues et les sorties du module 220 de reconnaissance vocale sont passés à un module moteur de dialogue 230. Ledit moteur génère des paroles, émotions, expressions, comportements et évènements créés dans le module 210, selon des modalités expliquées en commentaire aux figures 6 et 7. Un comportement est une suite de gestes définissant un mouvement composé (se lever, jouer au football, etc...). Une expression est un comportement d'un type particulier défini pour un dialogue donné par un couple parole/action. Une action peut être une combinaison de mouvements et/ou de signes émis par exemple par le LED du robot. Un procédé de création de scénarios constitués de suites d'expressions a été divulgué par la demande internationale publiée sous le n°W02011/003628. Une émotion est une suite d'expressions définie par une expression terminale et une suite d'expressions qui tendent vers l'expression terminale. A titre d'exemple, on peut définir les émotions E;,, suivantes : « heureux/triste », « fatigué », « effrayé », « excité », « curieux », chaque expression Ei,,,pour i variant de 1 à n étant une expression intermédiaire entre un état de référence et l'expression En,n. Si le robot est dans un état Ebp p différend de n, une liste d'évènements définies pour provoquer l'émotion n fera passer le robot de l'état Ebp à un état Ebn. Le langage de description des dialogues est dérivé du langage ChatScript (http://chatscriptsourceforge.net/). Dans la syntaxe ChatScript, on écrit un scénario comme un ensemble de règles. Par exemple : ? : VIANDE (vous aimez la viande) Oui Une règle complète comprend généralement : - un type, « ?: » dans l'exemple, qui indique une question ; - une étiquette, « VIANDE » dans l'exemple, qui peut être omise, mais qui, lorsqu'elle est présente, permet des appels par d'autres dialogues ; - une entrée caractérisée par un motif indiqué entre parenthèses, « (vous aimez la viande) » dans l'exemple, phrase à laquelle seront rattachées les phrases comprenant ces trois mots dans cet ordre, mais également d'autres mots : « Albert, vous aimez la viande », Albert, vous aimez la viande rouge », ; - une sortie, « Oui » dans l'exemple Selon l'invention, le langage est adapté pour mixer les éléments de dialogues avec des comportements du robot. Des exemples non limitatifs d'adaptation sont donnés dans la suite de la description.
Par exemple, un comportement sera défini par une chaîne de caractères unique (par exemple: « échec », « football », « taïchi », etc..). Une émotion également, étant entendu qu'un code indiquera qu'il s'agit d'une émotion (on peut par exemple utiliser une initiale majuscule : « Heureux/Triste », « Fatigué », « Effrayé », « Excité », « Curieux »,...).Le langage utilisé permet d'écrire simplement plusieurs formulations pour une phrase de l'utilisateur (différentes formulations de 'bonjour' par exemple). Une entrée peut être une phrase de l'entité dialoguant avec le robot (un « utilisateur » qui peut être un être humain ou un autre robot), un évènement ou les deux (je dis bonjour en avançant la main vers le robot). Pour une phrase de l'utilisateur, ce langage permet d'exprimer plusieurs réponses possibles sous forme de phrases, -12- d'émotions, d'évènements ou de comportements. Un comportement de dialogue peut par exemple être du type dans lequel le robot suit l'utilisateur du regard et analyse les mouvements de l'utilisateur pour réaliser des réponses plus naturelles (par exemple ne pas parler en même temps que l'utilisateur). Chaque élément du langage de dialogue est retranscrit dans son équivalent dans le module 220 comprenant le moteur de reconnaissance vocale, ledit moteur n'étant apte qu'à reconnaître de manière sûr qu'un nombre de mots limité. Grâce à cette transformation, nous avons la garantie que chaque phrase reconnue possède une réponse. A l'écriture du dialogue, pas à l'exécution, nous générons donc l'ensemble des dialogues et l'ensemble des entrées du dialogue au format de la reconnaissance vocale. Il est donc important que le langage de description de dialogues possède un équivalent dans la reconnaissance vocale, ce qui n'est pas le cas d'un dialogue au clavier qui est le contexte connu d'utilisation du langage ChatScript. La grammaire du langage de description des dialogues comporte notamment les fonctionnalités suivantes : 1) Reconnaissance de motifs (ou pattern matching) : Certains motifs sont signalés dans le script du dialogue par un signe : `Ou' accepte une liste de mots possibles, par exemple : [salut bonjour] ; `Et' cherche une liste exacte de mots, par exemple : le suis content' ; Mots optionnels, par exemple : salut f mon robot'} ; Mots interdits, par exemple : je suis !pas content ; le mot pas ne vérifie pas l'entrée ; Mots inconnus, par exemple : mon nom est * ; on ne connait pas le nom de l'utilisateur ; 2) Contexte dans un dialogue ; on passe d'un dialogue à l'autre à l'aide de phrases trigger, par exemple : - Ut : (parlons de voiture) ; cette phrase va provoquer le lancement du dialogue sur les voitures ; -13- 3) Sous-dialogue ; un sous dialogue est activé sur certaines phrases et peut s'enchainer en cascades, par exemple : - U : (comment vas-tu ?) Je vais bien et toi ? A : (je ne vais pas bien) ha bon pourquoi ? B: (je suis malade) Ho dommage, veux tu un médicament ? A : (je vais bien) super Cette fonctionnalité de sous-dialogue peut par exemple donner lieu à un dialogue du type: Humain : Comment vas-tu ? Robot : je vais bien et toi ? Humain : Je ne vais pas bien Robot : ha bon, pourquoi ? Humain : Je suis malade 4) Evènements : La prise en compte d'évènements comme entrée d'un dialogue au même titre que les paroles captées par le robot donne à l'agent conversationnel de l'invention des potentialités qui n'existent pas dans l'art antérieur. En particulier, la reconnaissance visuelle du robot lui permet de détecter une personne dans son environnement et de lui adresser un salut, comme ce sera le cas lorsque la personne s'adresse à lui : - U : ([e :faceDetected salut]) salut toi Si le robot voit une personne ou si quelqu'un dit 'salut', alors le robot répond 'salut toi'. Un évènement peut être également déclenché en sortie d'un dialogue, éventuellement par le lancement d'une application : - U : (j'ai faim) $userstate='faim' $userstate='faim' va à la fois affecter la faim à userstate et lancer un évènement [userstate,faim] sur lequel une application peut s'abonner ; 5) Sélection de comportements implicites ou explicites : - U : (tu me reconnais ?) [$faceRecognized==" run :faceRecognition je ne te reconnais pas mais je vais me souvenir de toi la prochaine fois] -14- 6) Propositions ; lorsque le robot ne comprend pas ou comprend mal ce que dit l'utilisateur, alors il consomme une proposition du dialogue courant afin de le préciser, par exemple : - Proposai : quel âge as-tu ? - U : (j'ai [5 6 7 8] ans) tu es jeune ! 7) Variables ; le dialogue peut stocker des informations de l'utilisateur, par exemple : - U : (j'ai _[5 6 7 8] ans) $age=$1 tu es jeune ! 8) Eléments dynamiques ; variables et listes (mp3, applications, préférences...) peuvent être intégrés au dialogue en entrée et en sortie, par exemple : - U : (que sais tu faire ?) Je sais applications - U : (quel est ton nom ?) mon nom est $nom - U : ({lance lis raconte} * _-application) ok je lance $1 $application peut etre par exemple (`trois mousquetaires', 'le monde') 9) Emotions, SAD, HAPPY, CURIOUS, SCARED, TIRED (ou TRISTE, HEUREUX, CURIEUX, EFFRAYE, FATIGUE), soit: - U : (je ne t'aime pas !) ça me rend triste TRISTE 10) Règles d'effacement ; une entrée peut être désactivée ou activée afin d'éviter un phénomène de répétition dans les réponses ; la même entrée peut ainsi être répétée dans le dialogue ou dans plusieurs dialogues, les règles d'effacement permettront à l'ensemble des entrées d'être interprétées, par exemple : - U : delete (comment vas-tu) je vais bien - U : (comment vas-tu nao) tu te souviens de mon nom ! je vais bien - U : (comment vas-tu) comme tout à l'heure 11) Règles de réponse ; on peut faire produire plusieurs sorties possibles par le robot entre lesquelles le choix est déterminé en fonction des entrées qu'il reçoit du ou des utilisateurs de manière déterministe (toujours la même sortie, ou la sortie d'un rang donné dans la liste, quelle que soit l'entrée), aléatoire, séquentielle (l'entrée i+1 déclenche la sortie j+1 si l'entrée i déclenche la sortie j) ou conditionnelle. Le module de dialogue a accès à l'ensemble de la mémoire du robot et -15- peut donc donner une réponse en fonction de valeurs de la mémoire du robot; les sorties peuvent être effacées après avoir été utilisées pour ajouter de la variété au dialogue ; à titre d'exemple :. - U : (comment vas-tu ) ['je vais bien' je te l'ai déjà dis'] # séquentiel par défaut - U : (comment vas-tu) Arandom ['je vais bien' je vais très bien' je vais super bien'] - U : (quel est ton nom) ^first ['mon nom est $name"je n'ai pas de nom'] # Ici 'mon nom est $name' est affichable uniquement si $name existe. - U : (comment vas-tu) ^delete je vais bien # effacer la règle après l'affichage de la réponse 12)Lancer un sous-dialogue, topic: - U : (je veux parler de voitures) topic :cars La figure 3 représente les blocs de traitement d'un module de gestion d'un comportement dialogue et d'un module de reconnaissance vocale selon plusieurs modes de réalisation de l'invention.
Lorsqu'un dialogue est exécuté par le runtime embarqué sur le robot, le moteur de dialogue 230 agit à la fois sur le réseau et les listes de dialogues 310, 330 et sur la reconnaissance vocale 220. Le réseau de dialogue 310 est l'ensemble structuré des dialogues qui indique la façon de les articuler : d'abord une introduction puis un autre dialogue par exemple. Le réseau donne un sens aux dialogues. La liste 330 est la liste non structurée des dialogues actifs qui est présente à la fois dans le moteur de dialogue et dans le moteur de reconnaissance vocale. Un dialogue peut être activé ou désactivé (ce qui affecte simultanément toutes ses entrées 340). L'activation/désactivation peut être déclenchée de manière automatique par un trigger (ut :) ou de manière manuelle par un utilisateur. Le fait de minimiser le nombre de dialogues actifs à un moment donné permet d'optimiser les performances de la reconnaissance vocale en qualité et temps de traitement. On peut paramétrer les dialogues dans l'éditeur de manière à ce qu'ils restent actifs même en cas d'ouverture d'un nouveau dialogue, la solution par défaut étant que l'ouverture d'un nouveau -16- dialogue ferme le dialogue précédent. Une entrée d'un dialogue peut également être activée/désactivée individuellement, soit par branchement sur un sous-dialogue soit par effacement effectué pour éviter une répétition d'un élément du dialogue en cours. Le moteur de dialogue 230 comprend un module de reconnaissance de motifs 320 dont le fonctionnement a été illustré en commentaire à la figure 2 (point 1). Il comprend également un arbre de concepts dynamiques 350. Un concept est une liste de mots que l'on définit comme sémantiquement équivalents dans un dialogue donné. A titre d'exemple, la phrase « j'habite » est considérée dans un dialogue donné comme sémantiquement équivalente aux phrases « je vis » « je loge » « j'habite », « moi, je vis » «moi, je loge » « moi j'habite »...Nous allons donc définir un concept (habiter) et un concept (je) Concept :(habiter) (vis loge habite habiter vivre loger) Concept : (je) (moi je j'ai) La phrase s'écrira donc à plusieurs endroits dans les dialogues : U : (-je habiter) Un arbre de concept dynamique groupe plusieurs concepts organisés hiérarchiquement. Il sera également possible de modifier la liste des phrases rattachées à un concept à l'exécution. A titre d'exemple, le concept « nourriture » regroupe les concepts « fruits » et « viande » et le concept « fruits » regroupe « banane » et « orange »: Concept :(nourriture) (fruit viande) Concept :(fruit) (banane orange) Il sera possible d'ajouter de nouveaux fruits pendant les dialogues. Les dialogues suivants pourront ainsi être réalisés : U : ( connais tu _{de la des} _nourriture ) oui je connais $1 $2 Ce qui donne à l'exécution : Utilisateur : connais tu la banane ? Robot : oui je connais la banane U : (indique moi un fruit) fruit est un fruit -17- Utilisateur : indique moi un fruit Robot : banane est un fruit L'entrée dans un dialogue de la liste 330 active une grammaire dans la liste 5 de grammaires 360 du module de reconnaissance vocale 220. La liste d'entrées 370 du module de reconnaissance vocale est activée/désactivée de manière synchronisée avec la liste d'entrées 340 du module de dialogue. La modification d'un concept dans l'arbre des concepts dynamiques 350 du module de dialogue 230 entraîne une adaptation des entrées dynamiques 10 380 du module de reconnaissance vocale. La figure 4 représente un exemple d'arborescence de plusieurs niveaux de dialogues selon plusieurs modes de réalisation de l'invention. Plusieurs dialogues sont représentés sur la figure. Ils peuvent tourner en 15 parallèle (avec une pile de priorités), un dialogue pouvant en remplacer un autre. Un dialogue comprend trois niveaux logiques dans le module moteur de dialogue 230 embarqué sur le robot: - Un niveau 410 comprenant les dialogues actifs par défaut : des 20 dialogues généraux 4110 (salutation, présentation, humeur) et un dialogue dit « système » 4120 permettant de connaitre l'état du robot (batterie, température, configuration...) ou donner des commandes élémentaires (se lever, marcher...) ; la possibilité non seulement d'obtenir des informations sur l'état des fonctions vitales du robot, 25 mais de pouvoir en commander certaines (se mettre en mode veille, se brancher à une prise d'alimentation...) permet d'abaisser la barrière psychologique ressentie par des utilisateurs non techniciens dans leur confrontation à des robots ; - Un niveau 420 comprenant les routines de sélection des dialogues en 30 fonction des entrées de l'utilisateur, ladite sélection pouvant être déclenchée par un trigger Ut :; plusieurs sélections 4210, 4220, 4230, 4240, par exemple, peuvent être programmées ; - Un niveau 430 comprenant des applications 4310, 4320, 4330, par exemple, qui sont des enchaînements de dialogues ou des fichiers et -18- sont susceptibles d'être lancés automatiquement ou manuellement par un utilsateur. Par défaut un dialogue contenant des généralités et des commandes systèmes (`parle plus fort' par exemple) sont chargés. Des phrases trigger 5 peuvent alors déclencher le chargement d'autres dialogues par exemple pour : - Changer de sujet de discussion (parler de voitures, de sa journée...) ; - Expliquer ce que le robot sait faire (le sais raconter une histoire') ; 10 cette partie contient des éléments dynamiques : mp3 installés, applications installées ; toute application pouvant être lancée par la reconnaissance vocale doit contenir des informations : son thème (jeu, informations...) et optionnellement un dialogue précisant l'application (Le robot peut indiquer qu'Alice au pays des 15 merveilles est une histoire avec une petite fille...) ; - Lancer le dialogue d'une application (une histoire interactive par exemple) Un choix peut être proposé: deviner une personne célèbre, sélectionner un comportement, choisir un produit, chercher une personne dans une 20 entreprise... Le choix peut être fait soit par le robot (l'humain doit comprendre ce que veut le robot), soit par l'humain (le robot doit comprendre le choix du robot). Ce choix peut être réalisé avec un dialogue comme décrit précédemment mais ce dialogue implique de répéter souvent les même phrases ce qui rend 25 le dialogue difficile à écrire : U : (devine à qui je pense) c'est un homme ? A : (oui) c'est une femme ? B : (oui) ... 30 B : (non) ... A : (non) c'est un personnage de fiction ? La notion de concept permet de parcourir un arbre des possibles. Un concept est un mot lié à d'autres mots, phrases ou concepts. 35 Concept : (homme) ['il respire' c'est un humain'] -19- Concept: (superman) [homme superhero -vole cape] Concept : (halliday) [chanteur homme] Concept: (tous) [superman -halliday] La nature hiérarchique de l'arbre des possibles est illustrée sur la figure 4a 5 pour l'exemple ci-dessus. Les mots représentent les feuilles de l'arbre. Les concepts représentent les noeuds de l'arbre. Les noeuds et les feuilles sont des éléments du pattern matching (reconnaissance de motif). 10 Avec une seule entrée: U :([`sait il' est il' superman) oui Nous pourrons matcher : Sait il voler 15 Est-il un homme Est-il superman Nous pourrons aussi proposer : U : (aide moi) superman 20 Ici nous affichons une des feuilles de l'arbre. Utilisateur : aide moi Robot : il respire. 25 Pour que l'humain devine superman, il suffit d'écrire : U : (c'est superman ?) oui tu as trouvé ! U : (-superman) oui Proposai : non, ce n'est pas lui. 30 Pour que le robot devine un personnage, il suffit d'écrire : U : (devine à qui je pense) ?tous La figure 5 représente un organigramme simplifié des traitements du module de reconnaissance vocale dans un mode de réalisation de l'invention. 35 Deux niveaux de reconnaissance vocale sont superposés : - 20 - - Un premier niveau 510 comprend un nombre de mots reconnaissables limité ; les mots reconnus doivent impérativement figurer dans une liste fermée ; des exemples de logiciel de reconnaissance vocale de ce type sont fournis par les sociétés NuanceTM (marque VoconTM), AcapellaTM et, pour les logiciels utilisant un langage naturel, Dragon TM ; - Un deuxième niveau 520 de reconnaissance vocale est de type ouvert, c'est-à-dire que la diversité des mots reconnus est beaucoup plus importante ; des exemples de logiciel de reconnaissance vocale de ce type sont fournis notamment par la société NuanceTM sous la marque NMSPTM ; ces logiciels permettent de gérer des mots qui ne sont pas connus à l'avance qui seront désignés par un joker numéroté $x. Une architecte de reconnaissance vocale de ce type, comprenant deux 15 niveaux, l'un fermé 510 et l'autre ouvert 520 (par exemple du type dictée vocale) permet d'optimiser le couple vitesse/qualité de reconnaissance La figure 5 illustre la manière dont sont fusionnés les deux types de reconnaissance vocale : - Cas 530 : le robot est dans le même contexte que celui de l'utilisateur 20 et ce qu'il dit est reconnu par la reconnaissance limitée ; alors la dictée vocale n'est pas nécessaire ; - Cas 540: le robot n'est pas dans le même contexte que celui de l'utilisateur (l'utilisateur parle de voiture mais le robot pense qu'il parle de nourriture) ; alors les phrases reconnues par la dictée vocale 25 peuvent être rapprochées d'un dialogue ; - Cas 550: la reconnaissance de type 520 complète la reconnaissance de type 510 ; - Cas 560: la reconnaissance ouverte confirme un choix possible de la reconnaissance fermée ; 30 - Cas 570 : le robot ne comprend pas ce que dit l'utilisateur ; il fait une proposition pour valider le domaine du dialogue ou passer à un autre sujet, les cas ci-dessus 530 à 560 pouvant alors s'enchaîner sur cette relance du robot. - 21 - La figure 6 représente le flot de données entre plusieurs modules logiciels configurés pour mettre oeuvre l'invention dans plusieurs de ses modes de réalisation. La figure indique les échanges de données entre les évènements en entrée 5 610, le dialogue 620, les évènements en sorties 630 et un moteur d'intelligence artificielle embarqué sur le robot 640: - Le dialogue 620 attend en entrée des évènements (par exemple un sourire 6130 ou de la parole de l'utilisateur 6120 ; - Le moteur de dialogue peut dynamiquement charger de nouveaux 10 dialogues 6240 ou des données dynamiques 6230 (par exemple un fichier mp3 ou une application installés sur le) ; - Il formule sa réponse sous forme de parole expressive 6310, autrement-dit, une parole comportant des informations sur la façon d'interpréter le texte (une didascalie pour le robot), comportement 15 6320, émotion 6330, évènement 6340 ; - Les sorties du dialogue peuvent être envoyées à différents modules d'intelligence artificielle 640: ^ La parole et les expressions sont traitées par un moteur de traitement de l'expression 6410, Narrateur, utilisant les 20 mouvements et la synthèse vocale, selon les modalités décrites notamment dans le demande de brevet internationale publiée sous le n ° W02011/003628; ^ Les émotions sont traitées par un moteur émotionnel 6420 qui fait évoluer l'émotion du robot pour les stabiliser dans le temps ; 25 ^ Un moteur de décision 6430 décide de lancer ou non un comportement et peut indiquer la décision au moteur de dialogue sous forme d'évènement ; le robot peut refuser de se lever si les conditions ne sont pas vérifiées pour le faire. 30 Ce comportement peut le choix d'utiliser la reconnaissance vocale ou le clavier en entrée, comme explicité plus haut en commentaire à la figure 4 ; le comportement déclenche la parole et l'interruption de la parole en fonction des actions de l'utilisateur, par exemple, ouvrir la bouche, tourner les talons, tourner la tête, etc... 35 Le dialogue comprend un interpréteur 6230 et un modèle de dialogue 6240. -22- Un modèle de dialogue comprend : - Un réseau de dialogues ainsi que les dialogues actifs ; - L'ensemble des entrées des dialogues ainsi que les entrées actives ; - L'ensemble des sorties des dialogues ; - L'ensemble des propositions des dialogues. Les références 6310, 6320, 6330, 6340 représentent les sorties du moteur de dialogue sous forme d'évènements. La figure 6a illustre le fonctionnement d'un moteur d'émotion dans certains 10 modes de réalisation de l'invention. Comme expliqué ci-dessus en commentaire à la figure 2, l'émotion du robot est un point dans un espace multidimensionnel des émotions (par exemple TRISTE, CONTENT, FURIEUX, FATIGUE...). Le moteur de dialogue,mais pas seulement le moteur de dialogue par 15 exemple, son état de batterie, des visages rencontrés, l'heure sont également source d'évolution de l'émotion, envoie une impulsion au moteur émotionel qui déplace son émotion courante. Cette émotion se stabilise vers l'émotion neutre (0,0,0,0,0,0.) avec le temps. 20 La figure 6b illustre le fonctionnement d'un moteur de décision dans certains modes de réalisation de l'invention. Le moteur de décision prend en compte l'ensemble des demandes d'exécution de comportements et l'ensemble des contraintes du robot sous forme de ressources disponibles. Une demande d'exécution du moteur de 25 dialogue n'est qu'un élément de la décision. L'ensemble des variables/évènements du robot participe à la décision (batterie, température, émotions...). La figure 7 représente les différentes fonctions en entrée et en sortie du 30 module de gestion d'un dialogue pour mettre oeuvre l'invention dans plusieurs de ses modes de réalisation. La figure illustre qu'un dialogue 710 prend en entrée aussi bien le résultat de la reconnaissance vocale 730 que des entrées clavier 740 ou des évènements 720. Des données dynamiques 750, telles que des fichiers mp3 35 ou un applicatif peuvent également être prises en compte. - 23 - Avantageusement, à partir du traitement des images reçues par une caméra embarquée sur le robot, le module de dialogue analyse la position de la tête du/des locuteurs pour savoir si on s'adresse à lui. De même, il peut évaluer les positions des lèvres pour savoir si l'utilisateur parle ou non et par conséquent, s'il faut écouter ou s'il peut parler (élément 760). Egalement, la reconnaissance de visage permet, au même titre que la parole elle-même, d'indiquer le nom du locuteur courant. Une réponse 'parole' du moteur de dialogue peut être donnée par la voix du robot ou sur un écran 7A0 (ou les deux).
Comme déjà indiqué, le module dialogue est en mesure de déclencher l'exécution de comportements (élément 7B0). La figure 8 représente le modèle de données d'un module d'analyse et d'interprétation de dialogues pour mettre en oeuvre l'invention dans plusieurs 15 de ses modes de réalisation. L'analyseur 810 retrouve des mots d'un lexique 8110 dans des dialogues 8120 qui lui sont fournis en entrée. Les dialogues en entrée ont le modèle de données 8140. Des librairies 8130 « Libparser.so » de parsing du contenu des dialogues réalisent cette fonction. Il permet de construire en mémoire, 20 pour l'interpréteur 820 un modèle de dialogues et l'ensemble des entrées de ces dialogues. A l'exécution, l'interpréteur maintient une pile 8210 de dialogues actifs ainsi que l'ensemble des entrées actives pour chaque utilisateur. Les dialogues « parsés » en entrée de l'interpréteur ont la forme 8220 et le modèle de données 8240. L'interpréteur comporte des librairies 25 8240 « Libinterpreter.so » pour remplir ses fonctions d'interprétation. En effet, concepts, variables et dialogues courants peuvent être rendus dépendants de l'utilisateur. Ainsi, les règles suivantes permettent de changer d'utilisateur : U : (e :faceRecognition ) ($name = $faceRecognition) 30 U: (mon nom est _*) ($name = $1) Dans ce cas les variables dépendant de l'utilisateur (préférences, âge, taille...) sont automatiquement réinitialisées ou affectées selon l'historique de l'utilisateur. Les comportements 830 ont un modèle de données 8310 de variables d'état. 35 - 24 - La figure 9 représente l'architecture des modules logiciels implantés sur un robot configuré pour mettre oeuvre l'invention dans plusieurs de ses modes de réalisation. Un robot tel que NAO est avantageusement doté de logiciels de haut niveau 5 permettant le pilotage des fonctions du robot dans un mode de réalisation de l'invention. Une architecture logicielle de ce type, dénommée NAOQI, a été divulguée notamment dans la demande de brevet W02009/124955 publiée le 15/10/2009. Elle comporte les fonctions de base de gestion des communications entre un robot et un PC ou un site distant et d'échange de 10 logiciels qui fournissent l'infrastructure logicielle nécessaire à la mise en oeuvre de la présente invention. NAOQI est un framework optimisé pour les applications robotiques ; il supporte plusieurs langages, notamment C++, Python, Urbi, java, matlab. Dans le cadre de la présente invention, sont particulièrement utiles les 15 modules de NAOQI suivants : - le module ALMemory, 910, gère une mémoire partagée entre les différents modules de NAOQI ; - le module ALMotion, 920 gère les mouvements du robot ; - le module Synthèse vocale, 930, génère les paroles du robot ; 20 - le module Reconnaissance fermée, 940, réalise les fonctions de la référence 510 de la figure 5 ; - le module Reconnaissance ouverte, 950, réalise les fonctions de la référence 520 de la figure 6 ; - le module ALDialog, 960, réalise les fonctions du module moteur 25 de dialogue de référence 230 sur la figure 2 ; - le module Narrateur, 970, réalise les fonctions de la référence 6410 de la figure 6 ; - le module Moteur de décision, 980, réalise les fonctions de la référence 6420 de la figure 6 ; 30 - le module Moteur d'émotion, 990, réalise les fonctions de la référence 6430 de la figure 6. Ces modules sont avantageusement codés en C++. La figure indique également les flots de données entre modules. - 25 - Comme indiqué en commentaire à la figure 2, les dialogues sont générés dans un module d'édition de dialogue 9A0 implanté sur un ordinateur standard. Ils peuvent également être générés dans l'atelier Chorégraphe. La cohérence entre les dialogues du module ALDialog 960 et ceux du module d'édition 9A0 est assurée.Le flot de données entre l'analyseur 810 et l'interpréteur 820 (qui sont représentés sur la figure 8) du moteur de dialogue 960 est produit à la fois sur l'ordinateur au moment de l'édition et sur le robot à l'exécution.
L'analyseur peut lire un fichier de description de dialogue u : (....) L'interpréteur construit, à partir du résultat de l'analyseur (un dialogue écrit sans erreur de syntaxe), le modèle de dialogue en mémoire. Les exemples décrits ci-dessus sont donnés à titre d'illustration de modes de 15 réalisation de l'invention. Ils ne limitent en aucune manière le champ de l'invention qui est défini par les revendications qui suivent.

Claims (22)

  1. REVENDICATIONS1. Robot humanoïde (110) comprenant au moins un capteur choisi dans un groupe comprenant des premiers capteurs de type sonore et des deuxièmes capteurs d'au moins un deuxième type d'évènements générés par au moins un utilisateur dudit robot, au moins un module (610) de reconnaissance d'évènements en sortie dudit au moins un capteur et au moins un module (630) de génération d'évènements vers ledit au moins un utilisateur, ledit robot étant caractérisé en ce qu'il comprend en outre un module (620) de dialogue avec ledit au moins un utilisateur, ledit module de dialogue recevant en entrée des sorties dudit au moins un module de reconnaissance et produisant des sorties vers ledit module de génération d'évènements choisies dans un groupe comprenant des paroles, des mouvements, des expressions et des émotions.
  2. 2. Robot humanoïde selon la revendication 1, caractérisé en ce que ledit au moins un module de reconnaissance d'évènements reçoit des entrées en provenance d'au moins deux capteurs appartenant à au moins deux types différents, et en ce que ledit au moins un module de génération d'évènements en sortie dudit module de dialogue est apte à produire en sortie des évènements prenant en compte lesdites entrées en provenance desdits au moins deux capteurs.
  3. 3. Robot humanoïde selon l'une des revendications 1 à 2, caractérisé en ce que ledit au moins un module de reconnaissance est apte à structurer les entrées en concepts selon un arbre hiérarchique dynamique.
  4. 4. Robot humanoïde selon l'une des revendications 1 à 3, caractérisé en ce qu'une entrée dans ledit au moins un module de reconnaissance s'applique à des entrées textuelles ou vocales et active une grammaire dans ledit module de dialogue.35- 27 -
  5. 5. Robot humanoïde selon la revendication 4, caractérisé en ce qu'une entrée dans ledit au moins un module de reconnaissance active/désactive la reconnaissance de ladite entrée.
  6. 6. Robot humanoïde selon l'une des revendications 4 à 5, caractérisé en ce que ledit au moins un module de reconnaissance comprend un premier et un deuxième sous-modules, le premier sous-module opérant sur une liste fermée de mots rattachés à au moins un concept et le deuxième sous-module opérant sur une liste ouverte de mots.
  7. 7. Robot humanoïde selon la revendication 6, caractérisé en ce qu'une sortie du premier sous-module est seule fournie au module de dialogue.
  8. 8. Robot humanoïde selon la revendication 6, caractérisé en ce qu'une sortie du deuxième sous-module est seule fournie au module de dialogue.
  9. 9. Robot humanoïde selon la revendication 6, caractérisé en ce qu'une sortie du premier sous-module et une sortie du deuxième sous-module sont conjointement fournies au module de dialogue.
  10. 10. Robot humanoïde selon la revendication 6, caractérisé en ce qu'une sortie du premier sous-module est d'abord seule fournie au module de dialogue, ladite sortie du premier sous-module étant confirmée dans le module de dialogue par une sortie du deuxième sous-module.
  11. 11. Robot humanoïde selon l'une des revendications 6 à 10, caractérisé en ce qu'aucune des sorties des premier et deuxième sous-modules ne génère de sortie du module de dialogue et en ce que ledit robot propose au moins une entrée audit au moins un utilisateur.
  12. 12. Robot humanoïde selon l'une des revendications 1 à 11, caractérisé en ce que le module de dialogue reçoit en outre en entrée des éléments dynamiques en provenance d'une application.35- 28 -
  13. 13. Robot humanoïde selon l'une des revendications 1 à 12, caractérisé en ce qu'au moins une sortie du module de dialogue est fournie à un module apte à exécuter une fonction choisie dans un groupe de fonctions de génération d'au moins une expression dudit robot, de décision de génération d'au moins un comportement dudit robot et de génération d'au moins une émotion dudit robot.
  14. 14. Robot humanoïde selon la revendication 13, caractérisé en ce que ladite fonction de génération d'au moins un comportement prend en compte les contraintes du système dudit robot.
  15. 15. Robot humanoïde selon la revendication 13, caractérisé en ce que ladite fonction de génération d'au moins une émotion est apte à générer une suite d'expressions prédéfinies entre un état neutre et un état prédéfinie en réponse à des évènements en entrée.
  16. 16. Robot humanoïde selon l'une des revendications 1 à 15, caractérisé en ce qu'il comprend en outre un module de reconnaissance visuelle, ledit module étant apte à interpréter au moins un signe dudit au moins un utilisateur comme un commencement ou une fin d'une séquence d'un dialogue.
  17. 17. Robot humanoïde selon l'une des revendications 3 à 16, caractérisé en ce que ledit module de dialogue comprend un sous-module d'analyse lexicale et un sous-module d'interprétation des sorties dudit sous-module d'analyse lexicale apte à générer des concepts auxquels sont rattachés les mots du dialogue courant.
  18. 18. Robot humanoïde selon l'une des revendications 1 à 17, caractérisé en ce que ledit module de dialogue est apte à traiter des questions et des commandes dudit au moins un utilisateur relatives à l'état de son système physique et/ou logique.
  19. 19. Procédé de dialogue entre un robot humanoïde et au moins un utilisateur, comprenant au moins une étape de reconnaissance d'entrées- 29 - en provenance d' au moins un capteur choisi dans un groupe comprenant des premiers capteurs de type sonore et des deuxièmes capteurs d'au moins un deuxième type visuel d'évènements générés par ledit au moins un utilisateur et une étape de génération d'évènements vers ledit au moins un utilisateur, ledit procédé étant caractérisé en ce qu'il comprend en outre une étape de dialogue avec ledit au moins un utilisateur' ladite étape de dialogue recevant en entrée des sorties de ladite au moins une étape de reconnaissance et produisant des sorties vers ladite étape de génération d'évènements choisies dans un groupe comprenant des paroles, des mouvements, des expressions et des émotions.
  20. 20. Procédé de dialogue selon la revendication 19, caractérisé en ce que ledit robot dialogue avec au moins deux utilisateurs, des paramètres caractérisant lesdits au moins deux utilisateurs étant stockés dans une mémoire dudit robot pour être utilisés quand ledit robot reconnaît un des au moins deux utilisateurs.
  21. 21. Programme d'ordinateur embarqué sur un robot humanoïde comprenant des instructions de code de programme permettant l'exécution du procédé selon la revendication 19 lorsque le programme est exécuté sur un ordinateur, ledit programme étant adapté pour gérer un dialogue entre ledit robot humanoïde et au moins utilisateur, ledit programme d'ordinateur comprenant un au moins un module de reconnaissance d'évènements en sortie d'au moins un capteur choisi dans un groupe comprenant des premiers capteurs de type sonore et des deuxièmes capteurs d'au moins un deuxième type visuel d'évènements générés par ledit au moins un utilisateur, au moins un module de génération d'évènements vers ledit au moins un utilisateur, ledit programme étant caractérisé en ce qu'il comprend en outre un module de dialogue avec ledit au moins un utilisateur, ledit module de dialogue recevant en entrée des sorties dudit au moins un module de reconnaissance et produisant des sorties vers ledit module de génération d'évènements choisies dans un groupe comprenant des paroles, des mouvements, des expressions et des émotions.35- 30 -
  22. 22. Programme d'ordinateur comprenant des instructions de code de programme configurées pour générer un programme d'ordinateur selon la revendication 21 et le transmettre à au moins un robot humanoïde.5
FR1253073A 2012-04-04 2012-04-04 Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d'utilisation dudit robot Expired - Fee Related FR2989209B1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FR1253073A FR2989209B1 (fr) 2012-04-04 2012-04-04 Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d'utilisation dudit robot
PCT/EP2013/057043 WO2013150076A1 (fr) 2012-04-04 2013-04-03 Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d'utilisation dudit robot
EP13714282.4A EP2834811A1 (fr) 2012-04-04 2013-04-03 Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d'utilisation dudit robot
US14/390,746 US10052769B2 (en) 2012-04-04 2013-04-03 Robot capable of incorporating natural dialogues with a user into the behaviour of same, and methods of programming and using said robot
CN201380029253.5A CN104350541B (zh) 2012-04-04 2013-04-03 能够将与用户的自然对话合并到其行为中的机器人,以及编程和使用所述机器人的方法
JP2015503871A JP6367179B2 (ja) 2012-04-04 2013-04-03 ユーザとの自然対話をロボットの挙動に組み込むことができるロボットならびに前記ロボットをプログラムする方法および使用する方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1253073A FR2989209B1 (fr) 2012-04-04 2012-04-04 Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d'utilisation dudit robot

Publications (2)

Publication Number Publication Date
FR2989209A1 true FR2989209A1 (fr) 2013-10-11
FR2989209B1 FR2989209B1 (fr) 2015-01-23

Family

ID=46785533

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1253073A Expired - Fee Related FR2989209B1 (fr) 2012-04-04 2012-04-04 Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d'utilisation dudit robot

Country Status (6)

Country Link
US (1) US10052769B2 (fr)
EP (1) EP2834811A1 (fr)
JP (1) JP6367179B2 (fr)
CN (1) CN104350541B (fr)
FR (1) FR2989209B1 (fr)
WO (1) WO2013150076A1 (fr)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9634855B2 (en) 2010-05-13 2017-04-25 Alexander Poltorak Electronic personal interactive device that determines topics of interest using a conversational agent
FR2989209B1 (fr) * 2012-04-04 2015-01-23 Aldebaran Robotics Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d'utilisation dudit robot
US10163455B2 (en) * 2013-12-03 2018-12-25 Lenovo (Singapore) Pte. Ltd. Detecting pause in audible input to device
US9358475B2 (en) 2013-12-12 2016-06-07 Beatbots, LLC Robot
US9421688B2 (en) * 2013-12-12 2016-08-23 Beatbots, LLC Robot
EP2933070A1 (fr) * 2014-04-17 2015-10-21 Aldebaran Robotics Procédés et systèmes de manipulation d'un dialogue avec un robot
EP2933067B1 (fr) * 2014-04-17 2019-09-18 Softbank Robotics Europe Procédé de réalisation de dialogue multimodal entre un utilisateur et un robot humanoïde, produit de programme informatique et robot humanoïde mettant en oeuvre ce procédé
WO2016173326A1 (fr) * 2015-04-30 2016-11-03 北京贝虎机器人技术有限公司 Système et procédé d'interaction reposant sur un sujet
JP6992957B2 (ja) 2015-10-21 2022-01-13 国立大学法人大阪大学 エージェント対話システム
CN105468145B (zh) * 2015-11-18 2019-05-28 北京航空航天大学 一种基于手势和语音识别的机器人人机交互方法和装置
JP1580536S (fr) * 2016-01-29 2017-07-03
JP2017151517A (ja) * 2016-02-22 2017-08-31 富士ゼロックス株式会社 ロボット制御システム
JP6726388B2 (ja) * 2016-03-16 2020-07-22 富士ゼロックス株式会社 ロボット制御システム
CN105690408A (zh) * 2016-04-27 2016-06-22 深圳前海勇艺达机器人有限公司 一种基于数据字典的情感识别机器人
DE102016115243A1 (de) * 2016-04-28 2017-11-02 Masoud Amri Programmieren in natürlicher Sprache
EP3450118A4 (fr) * 2016-04-28 2019-04-10 Fujitsu Limited Robot
US11645444B2 (en) 2016-05-10 2023-05-09 Trustees Of Tufts College Systems and methods enabling online one-shot learning and generalization by intelligent systems of task-relevant features and transfer to a cohort of intelligent systems
CN107515570A (zh) * 2016-06-17 2017-12-26 青海汉拉信息科技股份有限公司 汉语文本自适应云计算集群遥控的全自动执行系统
US10239205B2 (en) * 2016-06-29 2019-03-26 International Business Machines Corporation System, method, and recording medium for corpus curation for action manifestation for cognitive robots
CN106182007B (zh) * 2016-08-09 2018-07-27 北京光年无限科技有限公司 一种用于智能机器人的卡顿处理方法及装置
CN106346487B (zh) * 2016-08-25 2018-09-21 威仔软件科技(苏州)有限公司 交互式vr沙盘展示机器人
CN106445147B (zh) * 2016-09-28 2019-05-10 北京百度网讯科技有限公司 基于人工智能的对话系统的行为管理方法及装置
CN108115678B (zh) * 2016-11-28 2020-10-23 深圳光启合众科技有限公司 机器人及其动作控制方法和装置
TWI612472B (zh) * 2016-12-01 2018-01-21 財團法人資訊工業策進會 指令轉換方法與系統以及非暫態電腦可讀取記錄媒體
US11443161B2 (en) 2016-12-12 2022-09-13 Microsoft Technology Licensing, Llc Robot gesture generation
WO2018163648A1 (fr) * 2017-03-10 2018-09-13 日本電信電話株式会社 Système de dialogue, procédé de dialogue, dispositif de dialogue et programme
US11222634B2 (en) * 2017-03-10 2022-01-11 Nippon Telegraph And Telephone Corporation Dialogue method, dialogue system, dialogue apparatus and program
US10850398B2 (en) 2017-05-11 2020-12-01 Misty Robotics, Inc. Infinite robot personalities
US11625622B2 (en) 2017-06-15 2023-04-11 Microsoft Technology Licensing, Llc Memorable event detection, recording, and exploitation
JP2019005842A (ja) * 2017-06-23 2019-01-17 カシオ計算機株式会社 ロボット、ロボットの制御方法及びプログラム
US10569420B1 (en) * 2017-06-23 2020-02-25 X Development Llc Interfacing with autonomous devices
KR102353486B1 (ko) * 2017-07-18 2022-01-20 엘지전자 주식회사 이동 단말기 및 그 제어 방법
US10896678B2 (en) 2017-08-10 2021-01-19 Facet Labs, Llc Oral communication device and computing systems for processing data and outputting oral feedback, and related methods
KR101854576B1 (ko) * 2017-11-10 2018-05-03 베스핀글로벌 주식회사 챗봇 기반 클라우드 관리 시스템 및 그의 운영 방법
US10572585B2 (en) 2017-11-30 2020-02-25 International Business Machines Coporation Context-based linguistic analytics in dialogues
WO2019133689A1 (fr) * 2017-12-29 2019-07-04 DMAI, Inc. Système et procédé de réponse sélective de périphérique d'animatronique pour le dialogue homme-machine
CN111801730A (zh) * 2017-12-29 2020-10-20 得麦股份有限公司 用于人工智能驱动的自动伴侣的系统和方法
US11222632B2 (en) 2017-12-29 2022-01-11 DMAI, Inc. System and method for intelligent initiation of a man-machine dialogue based on multi-modal sensory inputs
WO2019133698A1 (fr) * 2017-12-29 2019-07-04 DMAI, Inc. Système et procédé permettant de personnaliser une conversation sur la base d'aspects d'un utilisateur
WO2019133710A1 (fr) * 2017-12-29 2019-07-04 DMAI, Inc. Système et procédé de gestion de dialogue
US10691113B1 (en) * 2018-02-06 2020-06-23 Anthony Bergman Robotic process control system
US11331807B2 (en) 2018-02-15 2022-05-17 DMAI, Inc. System and method for dynamic program configuration
CN110309254A (zh) * 2018-03-01 2019-10-08 富泰华工业(深圳)有限公司 智能机器人与人机交互方法
CN108406811A (zh) * 2018-03-19 2018-08-17 重庆鲁班机器人技术研究院有限公司 机器人编程装置、系统及方法
FR3080926B1 (fr) * 2018-05-04 2020-04-24 Spoon Procede de commande d'une pluralite d'effecteurs d'un robot
FR3081578B1 (fr) * 2018-05-25 2022-08-12 Hoomano Dispositif et methode de mesure d’une caracteristique d’une interaction entre un utilisateur et un dispositif d’interaction
EP3576084B1 (fr) * 2018-05-29 2020-09-30 Christoph Neumann Conception du dialogue efficace
CN109063060A (zh) * 2018-07-20 2018-12-21 吴怡 一种语义网法律咨询服务机器人
US11279036B2 (en) 2018-10-01 2022-03-22 Toyota Research Institute, Inc. Methods and systems for implementing customized motions based on individual profiles for identified users
US11023787B2 (en) * 2018-10-19 2021-06-01 Oracle International Corporation Method, system and program for generating decision trees for chatbots dialog flow capabilities
US20220055224A1 (en) * 2018-11-05 2022-02-24 DMAI, Inc. Configurable and Interactive Robotic Systems
US11816551B2 (en) 2018-11-05 2023-11-14 International Business Machines Corporation Outcome-based skill qualification in cognitive interfaces for text-based and media-based interaction
USD888165S1 (en) 2018-11-05 2020-06-23 DMAI, Inc. Robot
USD916161S1 (en) 2018-11-05 2021-04-13 DMAI, Inc. Robot
USD892887S1 (en) * 2018-11-08 2020-08-11 Genesis Robotics And Motion Technologies, LP Robot
USD893573S1 (en) * 2018-12-03 2020-08-18 Cloudminds (Beijing) Technologies Co., Ltd. Robot
US20200298401A1 (en) * 2019-01-03 2020-09-24 Lucomm technologies, Inc Semantic Robotic System
KR20210020312A (ko) * 2019-08-14 2021-02-24 엘지전자 주식회사 로봇 및 그의 제어 방법
US11449682B2 (en) * 2019-08-29 2022-09-20 Oracle International Corporation Adjusting chatbot conversation to user personality and mood
CN110570866A (zh) * 2019-09-11 2019-12-13 百度在线网络技术(北京)有限公司 语音技能创建方法、装置、电子设备和介质
US11775772B2 (en) 2019-12-05 2023-10-03 Oracle International Corporation Chatbot providing a defeating reply
US11252113B1 (en) * 2021-06-15 2022-02-15 Drift.com, Inc. Proactive and reactive directing of conversational bot-human interactions
EP4265377A1 (fr) 2021-06-28 2023-10-25 Samsung Electronics Co., Ltd. Robot et son procédé de commande
KR20230111061A (ko) * 2022-01-17 2023-07-25 삼성전자주식회사 로봇 및 이의 제어 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030152261A1 (en) * 2001-05-02 2003-08-14 Atsuo Hiroe Robot apparatus, method and device for recognition of letters or characters, control program and recording medium

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000032361A1 (fr) * 1998-11-30 2000-06-08 Sony Corporation Robot, procede de commande de robot et support d'enregistrement de programme
US6513006B2 (en) * 1999-08-26 2003-01-28 Matsushita Electronic Industrial Co., Ltd. Automatic control of household activity using speech recognition and natural language
US6731307B1 (en) * 2000-10-30 2004-05-04 Koninklije Philips Electronics N.V. User interface/entertainment device that simulates personal interaction and responds to user's mental state and/or personality
JP4150198B2 (ja) * 2002-03-15 2008-09-17 ソニー株式会社 音声合成方法、音声合成装置、プログラム及び記録媒体、並びにロボット装置
JP2003305677A (ja) * 2002-04-11 2003-10-28 Sony Corp ロボット装置およびロボット制御方法、記録媒体、並びにプログラム
US7136818B1 (en) * 2002-05-16 2006-11-14 At&T Corp. System and method of providing conversational visual prosody for talking heads
JP3945356B2 (ja) * 2002-09-17 2007-07-18 株式会社デンソー 音声対話装置及びプログラム
US7044840B2 (en) * 2002-08-07 2006-05-16 Toyoda Koki Kabushiki Kaisha Grinding method and grinding machine
JP2004090109A (ja) 2002-08-29 2004-03-25 Sony Corp ロボット装置およびロボット装置の対話方法
JP2004240150A (ja) * 2003-02-05 2004-08-26 Nippon Telegr & Teleph Corp <Ntt> 音声対話装置、音声対話装置選択方法、プログラム及び記録媒体
US7113848B2 (en) * 2003-06-09 2006-09-26 Hanson David F Human emulation robot system
US7075331B2 (en) * 2004-06-03 2006-07-11 Tekelec Methods and systems for providing hardware assisted programming of a programmable logic device in an embedded system
JP2005342862A (ja) 2004-06-04 2005-12-15 Nec Corp ロボット
JP4629560B2 (ja) * 2004-12-01 2011-02-09 本田技研工業株式会社 対話型情報システム
US8473449B2 (en) * 2005-01-06 2013-06-25 Neuric Technologies, Llc Process of dialogue and discussion
US7047108B1 (en) * 2005-03-01 2006-05-16 Sony Corporation Enhancements to mechanical robot
JP4353212B2 (ja) 2006-07-20 2009-10-28 株式会社デンソー 単語列認識装置
US20090164397A1 (en) * 2007-12-20 2009-06-25 Mitchell Kwok Human Level Artificial Intelligence Machine
US20080243750A1 (en) * 2007-03-31 2008-10-02 Mitchell Kwok Human Artificial Intelligence Software Application for Machine & Computer Based Program Function
JP2009122598A (ja) * 2007-11-19 2009-06-04 Pioneer Electronic Corp 電子機器、電子機器の制御方法、音声認識装置、音声認識方法及び音声認識プログラム
FR2929873B1 (fr) 2008-04-09 2010-09-03 Aldebaran Robotics Architecture de controle-commande d'un robot mobile utilisant des membres articules
FR2930108B1 (fr) 2008-04-09 2010-07-30 Aldebaran Robotics Systeme et procede de communication distribue comprenant au moins un serveur, au moins un terminal distant, et au moins un terminal mobile capable de communiquer avec le terminal distant relie en reseau audit serveur
JP2010094799A (ja) * 2008-10-17 2010-04-30 Littleisland Inc 人型ロボット
KR20100081587A (ko) * 2009-01-06 2010-07-15 삼성전자주식회사 로봇의 소리 인식 장치 및 그 제어 방법
FR2947923B1 (fr) 2009-07-10 2016-02-05 Aldebaran Robotics Systeme et procede pour generer des comportements contextuels d'un robot mobile
US8369992B2 (en) * 2009-09-22 2013-02-05 GM Global Technology Operations LLC Embedded diagnostic, prognostic, and health management system and method for a humanoid robot
FR2962048A1 (fr) 2010-07-02 2012-01-06 Aldebaran Robotics S A Robot humanoide joueur, methode et systeme d'utilisation dudit robot
US8483873B2 (en) * 2010-07-20 2013-07-09 Innvo Labs Limited Autonomous robotic life form
FR2963132A1 (fr) 2010-07-23 2012-01-27 Aldebaran Robotics Robot humanoide dote d'une interface de dialogue naturel, methode d'utilisation et de programmation de ladite interface
KR20120047577A (ko) * 2010-11-04 2012-05-14 주식회사 케이티 대화형 행동모델을 이용한 로봇 인터랙션 서비스 제공 장치 및 방법
FR2989209B1 (fr) * 2012-04-04 2015-01-23 Aldebaran Robotics Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d'utilisation dudit robot

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030152261A1 (en) * 2001-05-02 2003-08-14 Atsuo Hiroe Robot apparatus, method and device for recognition of letters or characters, control program and recording medium

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
BISCHOFF R ET AL: "HERMES -A Versatile Personal Robotic Assistant", PROCEEDINGS OF THE IEEE, IEEE. NEW YORK, US, vol. 92, no. 11, 1 November 2004 (2004-11-01), pages 1759 - 1779, XP011121110, ISSN: 0018-9219, DOI: 10.1109/JPROC.2004.835381 *
DOMINEY P F ET AL: "Robot command, interrogation and teaching via social interaction", HUMANOID ROBOTS, 2005 5TH IEEE-RAS INTERNATIONAL CONFERENCE ON DEC. 5, 2005, PISCATAWAY, NJ, USA,IEEE, 5 December 2005 (2005-12-05), pages 475 - 480, XP010880443, ISBN: 978-0-7803-9320-2, DOI: 10.1109/ICHR.2005.1573612 *
HOLZAPFEL H ET AL: "A dialogue approach to learning object descriptions and semantic categories", ROBOTICS AND AUTONOMOUS SYSTEMS, ELSEVIER SCIENCE PUBLISHERS, AMSTERDAM, NL, vol. 56, no. 11, 30 November 2008 (2008-11-30), pages 1004 - 1013, XP025561295, ISSN: 0921-8890, [retrieved on 20080902], DOI: 10.1016/J.ROBOT.2008.08.012 *
MIKIO NAKANO ET AL: "A Robot That Can Engage in Both Task-Oriented and Non-Task-Oriented Dialogues", HUMANOID ROBOTS, 2006 6TH IEEE-RAS INTERNATIONAL CONFERENCE ON, IEEE, PI, 1 December 2006 (2006-12-01), pages 404 - 411, XP031053052, ISBN: 978-1-4244-0199-4 *
SAKAGAMI Y ET AL: "The intelligent ASIMO: system overview and integration", PROCEEDINGS OF THE 2002 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS. (IROS 2002). LAUSANNE, SWITZERLAND, SEPT. 30 - OCT. 4, 2002; [IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS], NEW YORK, NY : IEEE, US, vol. 3, 30 September 2002 (2002-09-30), pages 2478 - 2483, XP010609464, ISBN: 978-0-7803-7398-3, DOI: 10.1109/IRDS.2002.1041641 *

Also Published As

Publication number Publication date
CN104350541B (zh) 2018-10-16
JP6367179B2 (ja) 2018-08-01
FR2989209B1 (fr) 2015-01-23
CN104350541A (zh) 2015-02-11
WO2013150076A1 (fr) 2013-10-10
US10052769B2 (en) 2018-08-21
EP2834811A1 (fr) 2015-02-11
US20150100157A1 (en) 2015-04-09
JP2015524934A (ja) 2015-08-27

Similar Documents

Publication Publication Date Title
FR2989209A1 (fr) Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d&#39;utilisation dudit robot
KR102306624B1 (ko) 지속적 컴패니언 디바이스 구성 및 전개 플랫폼
US11148296B2 (en) Engaging in human-based social interaction for performing tasks using a persistent companion device
US20170206064A1 (en) Persistent companion device configuration and deployment platform
WO2012010437A1 (fr) Robot humanoide dote d&#39;une interface de dialogue naturel, procede de controle du robot et programme correspondant
CA2925930C (fr) Procede de dialogue entre une machine, telle qu&#39;un robot humanoide, et un interlocuteur humain, produit programme d&#39;ordinateur et robot humanoide pour la mise en oeuvre d&#39;un tel procede
WO2016011159A9 (fr) Appareil et procédés permettant de fournir un dispositif d&#39;accompagnement persistant
US20160071302A1 (en) Systems and methods for cinematic direction and dynamic character control via natural language output
CN107480766B (zh) 多模态虚拟机器人的内容生成的方法和系统
EP2855105A1 (fr) Systeme et procede pour generer des comportements contextuels d&#39;un robot mobile executes en temps reel
Catania et al. CORK: A COnversational agent framewoRK exploiting both rational and emotional intelligence
KR20230130580A (ko) 실시간 대화형 디지털 에이전트들의 자율적인 생성, 전개, 및 개인화
JP2024505503A (ja) 自然言語処理、理解及び生成を可能にする方法及びシステム
CA3102196A1 (fr) Procede de commande d&#39;une pluralite d&#39;effecteurs d&#39;un robot
Feng et al. A platform for building mobile virtual humans
WO2018183812A1 (fr) Configuration de dispositif accompagnateur persistant et plateforme de déploiement
Geraci Design and implementation of embodied conversational agents

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 9

ST Notification of lapse

Effective date: 20211205