Système de dialogue homme-machine basé sur un graphe de connaissances | Des millions de personnes apprennent l'IA

Ding dong ~ vous avez été touché par l'aide sociale ! Désormais, "2020 AI Developers Conference" 299 tickets sont gratuits ! Entrez sur la page d'inscription [2020 AI Developers Conference (Online Live Tickets)-IT Training Live-CSDN Academy], cliquez sur « Register Now », utilisez le code de réduction « AIP1410 » lors du règlement, et le prix deviendra « 0 » yuan !

Le système de dialogue homme-machine, ou interaction conversationnelle, devrait devenir la principale méthode d'interaction à l'ère de l'Internet des objets. La compréhension et l'expression du langage sont étroitement liées à la connaissance. En tant que représentation de connaissances à grande échelle, le graphe de connaissances a des applications importantes dans chaque module du système de dialogue homme-machine. Le dialogue intellectuel est un service d'interaction de conversation homme-machine basé sur le graphe de connaissances.

Le camp de base de la technologie de l'IA a invité Liu Shengping, un expert senior de Yunzhisheng AI Labs, à "Méthode et pratique du système de dialogue homme-machine basé sur le graphe de connaissances" Expliquer et trier le système.

Cette classe ouverte a présenté l'architecture et les technologies clés de la conversation intellectuelle, combinées à l'expérience pratique du système de dialogue homme-machine au niveau industriel, et a exposé l'application du graphe de connaissances dans les modules de base du système de dialogue homme-machine, etc.

Liu Shengping : expert technique senior/directeur R&D senior de Yunzhisheng AI Labs. Ancien chercheur principal de l'IBM Research Institute, membre du Chinese Information Society Language and Knowledge Computing Committee. En 2005, il a obtenu son doctorat à l'École de mathématiques de l'Université de Pékin. Il est l'un des pionniers de la recherche sur le Web sémantique en Chine. Il a été membre du comité de programme de l'International Semantic Web Conference en 2010 et 2011. . Il a publié plus de 20 articles dans les domaines du Web sémantique, de l'apprentissage automatique, de la recherche d'informations et de l'informatique médicale. A reçu deux IBM Research Achievement Awards pendant son séjour chez IBM. À la fin de 2012, le Dr Liu a rejoint Yunzhisheng AI Labs pour diriger l'équipe PNL et était entièrement responsable de la R&D et de la gestion de la compréhension et de la génération du langage naturel, des systèmes de dialogue homme-machine, des robots de discussion, des cartes de connaissances et de la médecine intelligente. se soucier.

Dans cette classe ouverte, il a décrit de manière exhaustive et spécifique le développement et l'application des graphes de connaissances dans les systèmes de dialogue homme-ordinateur, qui sont principalement divisés en quatre parties :

  • Un examen des connaissances linguistiques et des systèmes de dialogue
  • Concepts de base et analyse de cas de la conversation intellectuelle
  • Technologies clés de la conversation intellectuelle : construction de graphes de connaissances, découverte d'entités et mise en relation
  • Technologies clés de la conversation intellectuelle : compréhension du discours et génération de réponses naturelles

1. Une revue du langage, des savoirs et du système de dialogue homme-machine

1. Langue et connaissances

La langue et les connaissances sont étroitement liées. Ce diagramme d'iceberg explique clairement la relation entre la langue et la connaissance. La langue que nous voyons n'est qu'une petite pointe sur l'iceberg, c'est ce que nous disons. Mais si vous voulez comprendre cette phrase, les connaissances de base liées à cette phrase sont comme le gros morceau sous l'iceberg.

Par conséquent, c'est aussi l'endroit où le langage naturel est très différent de la parole et des images. Lorsque nous écoutons la parole ou regardons une image, toutes ses informations se trouvent dans le signal vocal ou les pixels de l'image, mais le langage est complètement différent. C'est aussi compréhension du langage naturel Un endroit qui est beaucoup plus difficile que la reconnaissance vocale ou la reconnaissance d'images.

Le contenu de ce rapport est une synthèse des trois rapports que j'ai rédigés lors des conférences du CCKS au cours des trois dernières années.

2. Système de dialogue homme-machine

Le premier système de dialogue homme-machine qui a fait sensation dans l'industrie a été Apple Siri, qui était encore une application sur l'iPhone à l'époque, et a été racheté par Apple en 2010. L'innovation de Siri est l'ajout d'une interface vocale à notre interface graphique mobile traditionnelle.

Ce qui a vraiment révolutionné le système de dialogue homme-machine, c'est Amazon Echo, lancé en 2014, qui est un matériel entièrement basé sur l'interaction vocale.

En 2017, Amazon a lancé une enceinte avec écran, l'Amazon Echo Show, pensez-vous que c'est un retour à Siri, ou est-ce basé sur une interface graphique ? Faites attention à la différence ici, Amazon Echo est VUI + GUI, ce qui signifie qu'il s'agit d'abord de VUI, car l'avantage de la voix est que la saisie est très pratique, vous pouvez dire quelques mots pour représenter une commande, ce qui peut remplacer de nombreuses interfaces . L'inconvénient est que la sortie est très inefficace, et s'il y a beaucoup de contenu affiché à l'écran, mais que vous voulez en parler, cela peut prendre plusieurs minutes. Par conséquent, la combinaison de VUI + GUI doit intégrer les avantages des deux, VUI est utilisé pour l'entrée et GUI est utilisé pour la sortie.

La forme la plus avancée est le robot humanoïde d'Eva, "Iron Man" ou "Westworld" que l'on peut voir dans de nombreux films maintenant. Il peut parler librement aux gens. Son interaction est VUI++, et il simule vraiment beaucoup de gens. Modèles d'interaction modale , ce moment peut apparaître en 2045.

Pourquoi les systèmes de dialogue homme-machine sont-ils si populaires dans l'industrie en ce moment ? L'une de ses significations les plus importantes est qu'il devrait remplacer l'application actuelle sur les téléphones mobiles et devenir l'une des formes les plus importantes d'interaction homme-ordinateur à l'ère de l'IdO.

3. Formulaires interactifs et scénarios d'application des systèmes de dialogue homme-machine

Tout comme la conversation interhumaine a de nombreux objectifs et formes, les systèmes de dialogue homme-machine contiennent également de nombreuses formes d'interaction :

1. Chattez. Un représentant typique est Xiaoice, qui comprend les salutations et les salutations, se caractérise par aucun objectif clair et ne répond pas nécessairement aux questions des utilisateurs. Le chat joue principalement le rôle de compagnonnage émotionnel dans le système de dialogue homme-machine existant.

2. Questions et réponses. Il doit donner des réponses précises aux questions et réponses des utilisateurs. Ces questions peuvent être des questions factuelles, telles que "quelle est la taille de Yao Ming", ou d'autres questions de définition, de description ou de comparaison. Le système de questions-réponses peut être divisé en questions et réponses FAQ basées sur une liste commune de questions-réponses, questions et réponses CQA basées sur les données de la communauté des questions et réponses, et questions et réponses KBQA basées sur la base de connaissances en fonction de la source de données de la question et de la réponse. .

3. La manipulation consiste simplement à analyser sa sémantique pour qu'un tiers l'exécute. La manipulation la plus typique consiste à allumer le climatiseur, à allumer la lampe ou à jouer une certaine chanson.

4. Dialogue basé sur les tâches. Il s'agit d'une conversation très ciblée, où le but est de recueillir des informations pour remplir une tâche de remplissage de formulaire, le plus souvent comme commander de la nourriture, un hôtel ou un vol, ce qui se fait par la conversation.

5. Dialogue actif. Laissons la machine prendre l'initiative d'initier le sujet, la différence est que les interactions précédentes sont toutes des personnes prenant l'initiative d'initier cette interaction.

À l'heure actuelle, il existe de nombreux scénarios d'application du système de dialogue homme-machine, tels que des haut-parleurs, des téléviseurs, des climatiseurs, etc. Sa caractéristique notable est qu'il ne s'agit pas d'un élément qui peut être directement touché par les personnes. un substitut à la télécommande. Il y a une télécommande. où vous pouvez utiliser la voix pour interagir.

Un autre scénario d'application est dans la voiture, car lorsque vous conduisez, vos yeux, vos mains et vos pieds sont occupés, il est donc très pratique et plus sûr de répondre aux appels, de naviguer et même d'envoyer et de recevoir WeChat par la voix. Le véhicule embarqué est une scène dont on a juste besoin, donc les expéditions actuelles se font principalement dans cette zone. Par exemple, nous avons commencé à proposer des solutions d'interaction vocale dans les véhicules en 2014, et il y a maintenant plus de 15 millions d'expéditions.

Un autre domaine d'application est celui des robots éducatifs pour enfants. Ces différentes formes de robots pour enfants dans le coin inférieur droit peuvent en fait être considérées comme des haut-parleurs pour enfants. Son contenu est orienté vers les enfants, mais la forme d'interaction est également la voie du dialogue homme-machine.

4. Architecture technologique du dialogue homme-machine

Le système de dialogue homme-ordinateur a une très longue histoire de recherche dans le monde universitaire, et il a peut-être été étudié dans les années 1970 et 1980 après la proposition de l'IA. Sa technologie est divisée en cinq parties :

1. Reconnaissance vocale : il résout principalement le problème du bruit complexe de la scène réelle et des divers accents des utilisateurs, et convertit ce que les gens disent en texte, c'est-à-dire pour obtenir une « audition claire ».

2. Compréhension sémantique : Il s'agit principalement de convertir les mots prononcés par l'utilisateur en instructions ou requêtes que la machine peut comprendre et exécuter, c'est-à-dire « comprendre ».

3. Gestion du dialogue : maintenez l'état et l'objectif du dialogue, et décidez comment le système doit dire et demander la phrase suivante, c'est-à-dire l'intention de générer une réponse.

4. Génération en langage naturel : Il s'agit d'exprimer l'intention de réponse en langage naturel selon l'intention de réponse du système.

5. Synthèse vocale : Cette phrase est diffusée par la parole synthétisée par machine.

Cela forme une boucle fermée d'un dialogue homme-machine complet.

5. Évolution des scénarios de reconnaissance vocale

Parce que le système de dialogue homme-machine utilise la voix comme entrée, il est nécessaire de parler des progrès de la technologie vocale. Il est souligné que si vous voulez faire un bon travail de système de dialogue homme-machine, en plus de comprendre la technologie de traitement du langage naturel, vous devez également comprendre la technologie de la parole.

La première scène comme Siri est le mode quasi-conversation. Le principal problème qu'il résout est le problème d'accent. À l'heure actuelle, la précision de la reconnaissance dans ce domaine est très élevée et elle a pu atteindre environ 97 %. La voix du téléphone mobile La méthode d'entrée que tout le monde utilise habituellement est celle-ci Mode, il est généralement recommandé que la distance du microphone soit d'environ 30 cm.

Amazon Echo est un mode à distance, vous pouvez être jusqu'à 3 mètres ou même 5 mètres du microphone. Il a beaucoup de problèmes à résoudre, car vous êtes plus sensible au bruit environnant lorsque vous en êtes éloigné, et un effet plus mortel est le problème de réverbération causé par la réflexion du son, en particulier dans une pièce vitrée, le son est constamment réfléchi , Le son reçu par le microphone est un mélange de plusieurs sons. Il y a aussi un endroit très différent, c'est-à-dire que lorsque nous utilisons la voix WeChat, nous pouvons appuyer pour dire, ou appuyer et continuer à parler, mais lorsque vous faites face à un haut-parleur, parce que vous êtes à 3-5 mètres de lui, c'est impossible d'appuyer Si vous parlez, il existe une nouvelle technologie appelée "réveil vocal", tout comme nous appelons les noms des gens lorsque nous parlons à des gens, comme "Salut, Google", réveillez d'abord la machine, puis parlez à ce.

À l'heure actuelle, la scène la plus difficile pour la reconnaissance vocale est la conversation entre les personnes. Lorsque vous parlez avec des personnes, enregistrez-la d'abord et convertissez-la en texte. Cette scène la plus courante ressemble à une réunion et transcrit automatiquement les discours de différentes personnes. , et même former automatiquement des procès-verbaux de réunion. Il existe également des procès judiciaires, qui peuvent être utilisés tant qu'ils parlent aux gens. Le problème le plus difficile ici est le problème du cocktail. Beaucoup de gens sont ensemble, l'environnement est très bruyant et tout le monde parle. Les gens peuvent entendre le discours de la personne dont ils se soucient uniquement. Même si c'est très bruyant, deux personnes peuvent toujours discuter et parler, mais c'est difficile pour une machine.

6. L'évolution des rôles de la machine dans les systèmes de dialogue homme-machine

Dans le dialogue homme-machine, le rôle de la machine suit un processus évolutif : le premier dialogue homme-machine est très simple et peut être considéré comme un substitut à une télécommande. L'utilisateur contrôle le système à l'aide de modèles de phrases fixes ou d'un seul -instructions de phrase.

Siri, Amazon Echo sont une forme d'assistant, c'est-à-dire que vous pouvez interagir via le langage naturel, et le dialogue est multi-tour, et permet même à la machine d'avoir quelques émotions.

Mais la prochaine étape est qu'il deviendra le rôle d'un expert, surtout face à l'industrie ou à un domaine spécifique. Lorsque nous parlons à l'orateur, nous espérons que l'orateur est également un expert de la musique. Il peut vous parler de la musique et peut vous parler de musique.Parler de musique classique et même vous apprendre quelques connaissances musicales. Lorsque nous parlons à un robot d'éducation des enfants, nous espérons que le robot est un expert en éducation des enfants, et lorsque nous parlons à un climatiseur, nous espérons que ce dernier est un expert en climatisation. À l'heure actuelle, il se caractérise par la nécessité d'avoir des connaissances dans ce domaine et peut vous aider à faire des recommandations et à prendre des décisions.

2. Concepts de base et exemple d'analyse de la conversation intellectuelle

Nous devons comprendre ces concepts lorsque nous dialoguons : sémantique, contexte et pragmatique. Surtout le contexte, il n'a de sens que dans le dialogue. Le contexte fait référence à un environnement spécifique dans lequel une personne dialogue. Cet environnement comprend également le contexte verbal, qui est ce que nous appelons le contexte, et de nombreux langages non verbaux. Le contexte, tel que l'heure, le lieu et la météo de la parole sont tous des contextes non verbaux, ainsi que les informations du locuteur, etc. La connaissance sur laquelle nous insistons aujourd'hui est également un contexte non verbal important.

Si l'utilisateur prononce les trois mots "trop froid", la sémantique est que la température est un peu basse, mais si l'on considère la pragmatique, le sens conversationnel et le sens réel véhiculés par cette phrase dans un contexte précis : Si le climatiseur est allumé dans la voiture, comprendre Cette phrase signifie augmenter la température du climatiseur ; si le climatiseur n'est pas allumé en hiver, le sens de cette phrase peut être d'allumer le chauffage de la voiture ou de fermer les fenêtres de la voiture ; maintenant c'est l'automne, si une fille qui te dit "trop froid" peut vouloir dire qu'elle veut que tu lui fasses un câlin ou quelque chose comme ça. Par conséquent, le contexte et la pragmatique sont des concepts très importants.Si vous êtes un système de dialogue homme-machine, vous entrerez en contact avec ces deux concepts.

1. Contexte sous le système de dialogue homme-machine (équipement)

Tout à l'heure, lorsque l'on parle entre des personnes et des personnes, le contexte est très important. Maintenant que nous construisons un système de dialogue homme-machine, quel est le contexte lorsque les personnes et les appareils dialoguent ?

1. Le contexte physique. C'est-à-dire les informations sur la scène lorsque vous parlez, y compris (1) l'heure, le lieu, le lieu, ce lieu fait référence dans la voiture ou à la maison, etc. (2) Météo. (3) Émotions et émotions. (4) Contenu affiché sur l'appareil. (5) Les informations que l'appareil peut percevoir, comme lorsque nous parlons au climatiseur, le climatiseur peut percevoir la température et l'humidité à l'intérieur et à l'extérieur de la pièce. Le cycle de vie de ce contexte est au niveau de la demande.

2. Le contexte linguistique. (1) Contexte, les informations remontées sur l'appareil et sur l'appareil sont aussi un contexte, et ce cycle de vie peut être considéré comme au niveau de la session.

3. Contexte des connaissances. inclure:

(1) Bon sens humain et connaissance du domaine. Pour donner un exemple simple, nous avions l'habitude de dire : "Personne ne peut gagner l'équipe chinoise de tennis de table" et "Personne ne peut gagner l'équipe chinoise de football." Ces deux phrases semblent être littéralement les mêmes, mais les gens peuvent comprendre La différence entre ces deux phrases est due au bon sens : l'équipe chinoise de football est faible et l'équipe chinoise de tennis de table est forte. La connaissance est donc cruciale pour la compréhension de cette phrase.

(2) Portrait de l'utilisateur, y compris certaines informations de base sur l'utilisateur, son sexe, son âge, son niveau d'éducation, ses loisirs, etc. (3) Le portrait d'agent est l'information définie par le robot. Par exemple, Xiaoice définit son portrait d'agent comme une jeune fille de 18 ans à côté. (4) Bibliothèque d'informations sur l'appareil Si le haut-parleur est utilisé comme commande centrale, les informations sur l'appareil et l'état de l'appareil connecté à la commande centrale sont tous des contextes. Si vous dites "je suis chez moi" au contrôleur central à la maison, qu'est-ce que cela signifie ? La commande centrale peut décider d'allumer ou d'éteindre les lumières, d'ouvrir les fenêtres ou de tirer les rideaux pour vous, etc. en fonction de l'état de votre équipement et des conditions environnementales du moment.

2. Ne pas myther le graphique des connaissances

Tout le monde comprend déjà l'histoire et les concepts des graphes de connaissances. J'insiste ici principalement sur quelques concepts de base : le concept le plus important des graphes de connaissances est "les choses, pas les chaînes". Les choses dans le graphe de connaissances sont des entités plutôt que des chaînes.

De plus, nous ne voulons pas déifier le graphe des connaissances, il s'agit en fait juste d'une forme d'organisation des connaissances. Parce que quelle que soit l'application, il existe des connaissances dans divers scénarios, et ces connaissances peuvent avoir été représentées d'autres manières auparavant. Au niveau conceptuel, nous avons déjà été exposés à des choses similaires, tout comme le modèle ER lorsque nous faisons de la modélisation de base de données, c'est aussi un modèle conceptuel. Lorsque nous écrivons des programmes et faisons de la conception orientée objet, nous allons dessiner des diagrammes de classes.Ce sont des modèles conceptuels, et ces modèles peuvent être facilement convertis en graphes de connaissances pour les représenter. Je pense que le graphe des connaissances est avant tout une forme d'organisation des connaissances. Au niveau de la couche de données, le graphe de connaissances est un modèle de graphe qui utilise des nuds et des arêtes pour exprimer des entités, des valeurs, des relations et des attributs.

3. Qu'est-ce que la conversation intellectuelle ?

Qu'est-ce qu'une conversation intellectuelle ? Permettez-moi de donner un exemple ici. L'utilisateur peut discuter avec l'orateur : " Aimez-vous Nicholas Tse ? " "Oui, il est cool" "Savez-vous qui est sa petite amie ?" "Faye Wong" "Let's a song of her "Légende"" C'est une sorte de manipulation, et la machine vous jouera la légende de Faye Wong. Après avoir joué, le système peut alors demander : "Voulez-vous toujours écouter le chant original de Li Jian ?" Il s'agit d'un dialogue actif. . L'utilisateur dit "OK", le système peut jouer "Legend" de Li Jian, et l'utilisateur peut également demander, "Quel est son style de musique?" Le système dit, "Le style de Li Jian a la simplicité d'une chanson folklorique, mais c'est beaucoup plus magnifique qu'une chanson folklorique."

Si vous regardez cet exemple, cela implique beaucoup de connaissances liées à la musique, y compris certaines connaissances liées aux personnages des chanteurs. Les formes d'interaction comprennent le chat, la question et la réponse, la manipulation et le dialogue actif. C'est par la connaissance qu'elles sont liées entre elles, et vous sentirez que l'ensemble du dialogue est un dialogue très fluide.

Pour résumer, la signification de la conversation intellectuelle est : elle est centrée sur le graphe de connaissances et intègre diverses sources de données qui peuvent être utilisées comme dialogues grâce à la découverte d'entités et à la technologie de liaison pour réaliser des dialogues à plusieurs tours à travers les domaines et les interactions. .

Les principales caractéristiques de la conversation intellectuelle sont : L'un est interdomaine , partageant le contexte sur des formulaires interactifs, vous pouvez regarder son chat et les questions et réponses peuvent être connectées avant ; Deuxièmement, il reflète le positionnement du robot des experts du domaine , il a une très bonne connaissance de ces domaines, et peut refléter sa connaissance des domaines dans le chat ou Q&A. Une fois qu'il a cette connaissance, il peut également engager des conversations de sa propre initiative.

Les technologies de base de la conversation intellectuelle sont :

  • Pour un traitement hors ligne, il faut d'abord disposer d'une carte de connaissances, il y a donc un problème de construction de carte de connaissances. De plus, nous devons associer diverses données liées au dialogue au graphe de connaissances grâce à la découverte d'entités et à la technologie de liaison.
  • Traiter en ligne. Compréhension du discours basée sur les connaissances, comment intégrer les connaissances dans le chat, questions et réponses basées sur le graphe des connaissances, dialogue actif basé sur le graphe des connaissances, etc.

Trois, la technologie clé de la conversation intellectuelle

(1) Construction du graphe de connaissances

1. La méthode de construction du graphe de connaissances

Ici, je cite la méthode de construction du graphe de connaissances résumée par M. Xiao de Fudan. La première étape consiste à concevoir des schémas. Nous devons définir quelles classes ou concepts, et quels attributs ou relations existent.

La deuxième étape consiste à déterminer d'où viennent nos connaissances, la soi-disant source de données. Ici, nous pouvons extraire des informations de certaines données structurées, des données non structurées et des données non structurées, c'est-à-dire du texte.

La troisième étape, la chose la plus importante dans le graphe des connaissances, est l'exploration du vocabulaire, divers synonymes, acronymes, phrases, etc.

La quatrième étape, il n'y a pas assez de vocabulaire, nous devons agréger les synonymes dans un concept, qui est ce qu'on appelle la découverte d'entité, y compris la réalisation d'entité, la classification d'entité, le lien d'entité, etc.

Dans la cinquième étape, en plus des entités, il y a des arêtes dans le graphe de connaissances, c'est-à-dire des relations. Nous devons extraire des relations.

La sixième étape, parce que notre graphe de connaissances peut provenir de différentes sources de données, nous devons intégrer les connaissances, principalement l'alignement des entités, la fusion des attributs et la normalisation des valeurs.

Enfin, vérifiez et contrôlez la qualité du graphe de connaissances, y compris l'achèvement des connaissances, la correction s'il y a une erreur et la mise à jour des connaissances, et enfin formez un graphe de connaissances dans un domaine.

2. Méthode d'évaluation du graphe des connaissances

Si vous ne savez pas comment évaluer un graphe de connaissances, vous ne saurez jamais si votre graphe de connaissances est bon ou mauvais, utile ou inutile. Les méthodes d'évaluation peuvent être essentiellement divisées en quatre catégories : la catégorie la plus importante est la deuxième catégorie basée sur l'application, le graphe de connaissances est utilisé pour voir l'effet dans l'application et l'ontologie des connaissances est indirectement évaluée via l'effet de l'application. Nous ne voulons pas que des dizaines de personnes consacrent un an ou deux à créer une carte des connaissances, puis à trouver une application. Au lieu de cela, la carte des connaissances doit être axée sur les applications. Il s'agit d'une méthode recommandée pour évaluer la carte des connaissances en fonction de l'effet d'application.

Il y a aussi une évaluation basée sur le gold standard, c'est-à-dire si nous avons quelques bonnes cartes de connaissances, ou nous pouvons construire une petite carte de connaissances, et évaluer la situation de la carte de connaissances que nous construisons selon cette carte de connaissances standard. Nous pouvons examiner la couverture des concepts et des relations calculés, c'est-à-dire combien de concepts et de relations apparaissant dans le graphe de connaissances standard sont inclus, ce qui peut évaluer si notre graphe de connaissances construit est complet.

De plus, des méthodes d'évaluation simples sont basées sur des métriques. Certains indicateurs statistiques peuvent être déterminés, tels que le nombre de concepts, le nombre de relations et les attributs de relation présents dans ce graphe de connaissances, puis nous pouvons le vérifier ponctuellement pour voir son exactitude, sa cohérence et d'autres indicateurs.

3. Construction agile

Beaucoup de nos applications font maintenant un développement agile, ce qui signifie que nous pouvons publier une version tous les demi-mois ou tous les mois. À ce stade, notre graphe de connaissances doit également être itéré rapidement avec l'application. À ce stade, nous devons créer le graphe de connaissances avec agilité. Il est souligné ici que nous devons automatiser le test du graphe de connaissances. Après le test, nous devons juger s'il peut être publié. Après la publication, nous devons continuer à analyser ses problèmes actuels. Vous pouvez considérer le graphe de connaissances comme un logiciel, qu'il ait des bogues ou les nouvelles fonctionnalités dont il a besoin, et formuler le plan de publication pour la prochaine version en fonction de ceux-ci. L'idée centrale est de traiter le graphe de connaissances comme un logiciel, avec une gestion des versions et un développement agile.

(2) Découverte et liaison d'entités

problèmes qui doivent être résolus : Si nous avons déjà un graphe de connaissances à l'heure actuelle, nous nous appuyons toujours sur la découverte d'entités et la technologie de liaison. Cette technologie résout le problème tout à l'heure, "Thinks, not Strings", et son problème le plus important est d'associer des chaînes à des entités dans le graphe de connaissances. Il doit résoudre deux problèmes. Le premier est que nous pouvons exprimer la même signification sous différentes formes. Par exemple, "Kobe", "Black Mamba" et "Ke God" font référence à Kobe Bryant. Une autre est que le langage naturel ou la chaîne elle-même est ambiguë, tout comme "apple" peut faire référence à un ordinateur Apple, un téléphone portable Apple ou un fruit.

Solution  : Son approche est donc divisée en deux étapes, la découverte d'entités et la liaison d'entités. La découverte d'entités consiste à découvrir les mentions dans le texte, qui sont des chaînes, et les "pommes" comme "cette pomme est chère" sont des mentions. Le lien d'entité consiste à associer cette mention aux entités du graphe de connaissances. Les entités du graphe de connaissances peuvent avoir plusieurs entités sur "Apple", y compris Apple, la marque Apple, et éventuellement des téléphones mobiles Apple, des ordinateurs Apple et d'autres entités. Il y a des fruits appelés pommes, etc. Peut dépendre du jugement contextuel.

1. Fusion de données multi-sources basée sur les entités

Je vais donner ici une carte des connaissances très simple. La petite amie de Nicholas Tse est Faye Wong, qui a chanté la chanson "Legend", et le chanteur original de "Legend" est Li Jian.

Il existe plusieurs sources de données dans le dialogue : l'une est la bibliothèque de discussion, telle que "Aimez-vous le chanteur Nicholas Tse ?" "Oui, il est cool.", et la bibliothèque de FAQ, que nous pouvons connaître de Baidu ou trouver la communauté dans de nombreux endroits Les données de la question et de la réponse sont comme dire "Qui peut parler du style musical de Li Jian?" "Le style de Li Jian est aussi simple qu'une chanson folklorique, mais il est beaucoup plus magnifique qu'une chanson folklorique."

Nous trouverons également beaucoup de documents sur Internet, y compris des documents d'encyclopédie ou des documents Web. Pour ces documents, bibliothèques de discussion, bibliothèques de FAQ et bibliothèques de documents, nous devons faire des liens d'entités, et relier les chanteurs et nos connaissances qui apparaissent ici Cartographiez les chanteurs associés.

2. Comment effectuer la découverte et la liaison d'entités ?

La première étape du prétraitement est d'établir une relation mention-entité, c'est aussi la limite de l'algorithme actuel, il faut savoir à l'avance à quelles entités une mention peut correspondre. Ensuite, extrayez les fonctionnalités liées à l'entité :

L'un est la probabilité a priori de l'entité. Tout comme la probabilité a priori qu'une pomme soit un fruit est de 40 %, et la probabilité a priori d'être un iPhone est de 60 %, et si nous disions des raisins ? Peut-être y a-t-il une probabilité a priori de 90% qu'un raisin soit un fruit et 10% quelque chose d'autre. La seconde est la distribution des mots du contexte de l'entité. Voyons quels mots entourent ces entités, ou les mots sujets de ses chapitres. Tout comme les téléphones mobiles Apple apparaissant dans les articles sont tous des sujets liés à la technologie. Le troisième est la corrélation sémantique entre les entités.Parce que le graphe de connaissances est une structure de graphe, chaque entité a d'autres entités autour d'elle, et ces entités sont des caractéristiques liées.

Dans la deuxième étape, la liaison d'entités devient un problème de tri. Après avoir trouvé une mention, nous pouvons trouver ses entités candidates en fonction de la table de relation de mention précédente. Il ne nous reste plus qu'à trier les entités candidates et à renvoyer une entité la plus probable.

La troisième étape, le tri des entités candidates, peut utiliser la méthode la plus basique. Il y a deux catégories de cela : l'une est l'information de l'entité elle-même, et l'autre est le tri en utilisant la relation de collaboration entre l'entité et l'entité. Si les entités à côté d'Apple ressemblent toutes à des ordinateurs, alors la pomme peut faire référence à Apple Computer.

(3) Compréhension du discours intégrant les connaissances

Une fois le traitement du lien d'entité terminé, le véritable système de dialogue peut être créé. La partie la plus fondamentale du système de dialogue est la compréhension des mots de l'utilisateur, comment comprenons-nous les mots de l'utilisateur.

La première étape consiste à découvrir et lier des entités. Comme dans l'exemple de tout à l'heure, "Aimez-vous Nicholas Tse ?", nous devons associer Nicholas Tse aux entités du graphe de connaissances.

La deuxième étape consiste à faire une découverte de référence, telle que "tu sais qui est sa petite amie", puis à qui ce "il" se réfère-t-il ? Nous devons d'abord découvrir qu'il est un pronom de référence, puis juger si "il" est dans cet endroit selon le contexte. Dans l'exemple, Nicholas Tse est une entité.

De plus, il existe une autre situation dans laquelle nous faisons de la compréhension sémantique, qui consiste à combiner des connaissances pour faire de la désambiguïsation. Par exemple, l'utilisateur dit "Anniversaire de Zhou Qiaowen", car "Anniversaire" est le nom d'une chanson, et Zhou Qiaowen est le chanteur de cette chanson. A ce moment, nous comprenons que c'est de la musique, car elle est sous le haut-parleur , et ensuite nous pouvons jouer directement la chanson "Birthday" de Zhou Qiaowen. Mais si le système demande à nouveau "l'anniversaire d'Andy Lau", à ce moment, bien que notre reconnaissance d'entité nommée soit très susceptible d'étiqueter "anniversaire" comme titre de chanson, et Andy Lau est étiqueté comme chanteur, le nom de la chanson du chanteur, c'est très facile, je pensais qu'il jouait de la musique, mais nous savions grâce à la vérification des connaissances qu'Andy Lau n'avait jamais chanté cette chanson, il est donc nécessaire de la transformer en une question et une réponse à ce moment-là, ce n'est pas une commande manipulatrice. Revenez directement à son anniversaire et dites "L'anniversaire d'Andy Lau est le 27 septembre 1961".

Ces exemples sont nos connaissances pour aider à comprendre les instructions de l'utilisateur. Permettez-moi de parler de la façon de combiner les connaissances et le chat.

(4) Chat qui intègre les connaissances

1. Contexte

Maintenant que le monde académique utilise des modèles d'apprentissage en profondeur, je vais donc brièvement parler des méthodes d'apprentissage en profondeur et parler de ses idées de base. Nous transformons généralement le chat en un modèle de séquence à séquence dans le milieu universitaire maintenant, c'est-à-dire qu'il existe un encodeur pour encoder l'entrée dans un vecteur, et la réponse est générée via un décodeur. À ce stade, le problème principal est de savoir comment ajouter le contexte. La méthode la plus élémentaire consiste à combiner le texte du contexte et le vecteur du texte actuel comme entrée de l'encodeur ; de plus, nous pouvons utiliser le contexte comme un vecteur et saisissez-le dans l'étape du décodeur ; ou utilisez le thème Le modèle modélise la session et utilise le modèle de sujet de session comme entrée du décodeur, de sorte que l'effet du contexte puisse être obtenu.

2. Cohérence

Un autre problème important avec le chat est la cohérence. Nous venons de dire qu'il y a un portrait d'agent dans le contexte. Bien que l'objet de la conversation avec moi soit un robot, il a une personnalité unifiée. Son sexe, son âge, son lieu d'origine et ses loisirs doivent être les mêmes. C'est le plus robot de chat difficile à l'heure actuelle un peu. Vous demandez au robot « Quel âge a-t-il ? » Il peut dire « 18 ans ». Si vous demandez « Quel âge as-tu cette année », il est susceptible de répondre « J'ai 88 ans », ou de vous demander « Comment quel âge as-tu", il est fort probable de répondre "la petite fille a vingt-huit ans cette année et ainsi de suite".

Pourquoi cela arrive-t-il? Étant donné que les chatbots actuels reposent sur la collecte de divers corpus provenant de diverses sources et sur leur empilement, ce corpus n'a pas été normalisé, car certains corpus disent "j'ai 88 ans", et certains corpus peuvent contenir Dites "j'ai 18 ans" , etc. À ce stade, la poser d'une autre manière peut entraîner des incohérences dans la question et la réponse. Pour un exemple plus compliqué, vous lui demandez « Où êtes-vous né ? » Il dit « Je suis à Pékin » puis lui demande « Êtes-vous chinois ? » Il peut ne pas répondre, bien que le bon sens humain sache que Pékin appartient à la Chine, etc..

En deep learning, si vous souhaitez modéliser ou vectoriser les informations de ces soi-disant robots et les importer dans le modèle du décodeur, il privilégiera la génération de la réponse à partir du vecteur mot de l'information identitaire, ce qui peut également atteindre un certain consistance Effet.

3. Intégrer les connaissances

De plus, lorsque nous faisons une question et une réponse, comme notre exemple demandant "quelle est la taille de Yao Ming", nous générons une question et une réponse plus naturelles, en disant "il mesure 2,26 mètres, c'est le seul être humain qui peut être vu de l'espace ." Bien sûr, c'est une blague. Ce genre de chat intègre des connaissances, il connaît la taille de Yao Ming. À ce stade, lorsque le décodage est effectué via le modèle d'apprentissage en profondeur, en plus de générer des réponses régulières, certaines réponses doivent être extraites de la base de connaissances, puis la réponse et la réponse textuelle sont combinées.

Pour d'autres travaux similaires, voir le travail de M. Huang Minlie, qui a remporté le prix IJCAI Outstanding Paper Award de cette année.

(4) Question et réponse basées sur les connaissances

Il existe deux méthodes principales pour répondre aux questions : la première est la méthode traditionnelle basée sur l'analyse sémantique, qui analyse une question dans un langage de requête formel, puis interroge la base de connaissances du langage de requête. La plus grande difficulté de cette méthode est de convertir le problème de langage naturel en un tel langage de requête formel. Il existe également de nombreuses méthodes, les modèles les plus simples basés sur des règles, les modèles basés sur des modèles, les modèles basés sur la traduction complexes, les modèles basés sur l'apprentissage en profondeur, etc.

À l'heure actuelle, il existe davantage de méthodes de questions-réponses basées sur des bases de connaissances d'apprentissage automatique dans le milieu universitaire. L'idée de base ici est de modéliser la question comme une intégration, puis d'intégrer la carte des connaissances pour devenir un vecteur, et la question et la réponse Il devient un problème de similarité et le vecteur du sous-graphe dans la base de connaissances est mis en correspondance avec le sous-graphe correspondant à la question de similarité.

Il existe de nombreuses autres méthodes, dont la plupart sont actuellement des méthodes basées sur le réseau et des méthodes basées sur un réseau de neurones récurrent avec un mécanisme d'attention. Je vais vous donner une référence pour cela.Vous pouvez jeter un il à l'article "Découverte des questions et réponses de la base de connaissances KB-QA", qui est très détaillé et très bon. Mon opinion personnelle est que la question et la réponse de la base de connaissances basées sur l'apprentissage en profondeur ne sont pas très matures dans l'industrie et que leurs effets ne sont pas très contrôlables. Nous utilisons toujours la question et la réponse traditionnelles de l'analyse sémantique dans le système.

Il existe également de nombreuses façons d'intégrer les connaissances dans l'AQC. Le problème central de CQA est que nous voulons calculer la similarité sémantique entre la question de l'utilisateur et la question dans notre base de données de réponses aux questions. La question centrale ici est de savoir comment mettre des connaissances dans la représentation vectorielle de la phrase. Le récent SIGIR2018 mentionnait la méthode de combiner connaissance et attention avec les réseaux de neurones. Maintenant, ce genre de papier est essentiellement un diagramme de réseau. Un autre article est similaire, et l'idée générale est de vectoriser les connaissances lors du tri des textes.

(5) Conversation active basée sur la connaissance

C'est en fait très crucial. Dans notre système de dialogue homme-machine, en particulier sous l'interaction VUI, le haut-parleur VUI n'a pas d'interface, ce qui signifie que vous ne pouvez pas savoir quelles fonctions le haut-parleur prend en charge. Lorsque vous faites face à l'orateur, comment connaissez-vous sa fonction, quels mots peuvent être prononcés, quels mots ne peuvent pas être prononcés ou ce qu'il a ? À ce stade, le dialogue actif du robot est très nécessaire, ce qui peut guider les utilisateurs pour l'utiliser et connaître ses fonctions.

Pour un autre exemple, si un utilisateur dit « Venons-en à « Légende », la machine peut lui demander activement : « Voulez-vous entendre Li Jianyuan chanter après avoir joué ? » En fait, son idée est très simple, c'est-à-dire selon notre carte de connaissances, voir s'il existe d'autres relations ou attributs sous la même entité, ou recommander une autre entité sous la même relation.

L'idée d'un article Baidu ici est similaire. Si vous sentez que le chat ne peut pas continuer, vous allez d'abord faire une analyse d'entité et des liens d'entité dans le contexte, trouver l'entité qui fait l'objet du chat, puis trouver entités liées selon la carte des connaissances. L'entité génère le sujet.

Quatre. Résumé

Au début, j'ai fait une brève introduction sur la façon de combiner le chat, les questions et réponses, le dialogue et l'analyse sémantique avec les connaissances. Voici un résumé :

Premièrement, pourquoi le système de dialogue homme-machine est-il important ?

1. Il a le potentiel de devenir la forme d'interaction la plus importante à l'ère de l'IoT, similaire au système d'exploitation.

2. Le cur de la conversation intellectuelle est le graphe des connaissances. La chose la plus importante est de faire deux choses : l'une est d'intégrer des données multi-sources basées sur le graphe de connaissances hors ligne, et l'autre est d'intégrer le chat, les questions et réponses, le dialogue et la manipulation basés sur le graphe de connaissances pendant le service.

3. Techniquement, la combinaison de l'apprentissage en profondeur et de la technologie des graphes de connaissances est la tendance la plus importante à l'heure actuelle. Personnellement, je suis plus optimiste quant au modèle Sequence-to-Sequence, car sa capacité d'expression est très riche et il existe de nombreux scénarios d'application. Fondamentalement, la plupart des problèmes de traitement du langage naturel peuvent être modélisés comme un Sequence-to-Sequence. . Y compris notre traduction d'une langue à une autre langue, ainsi que les questions-réponses sur le chat et même la méthode de saisie pinyin, c'est-à-dire la conversion de séquences pinyin en séquences de texte, etc., ainsi que la segmentation de mots, la reconnaissance d'une partie du discours, la reconnaissance d'entité nommée , etc. sont tous Sequence-to-Sequence, ce modèle est divisé en deux étapes : encodeur et décodeur Il peut intégrer certaines connaissances dans différentes étapes.

Deuxièmement, quelle est l'évolution technologique du système de dialogue homme-machine ?

1. Dans le dialogue, il ne faut pas seulement regarder la sémantique, mais aussi la pragmatique. La pragmatique c'est "sémantique + contexte".

2. Nous ne pouvons pas simplement être des robots de style chat, mais nous espérons que nos robots ont une connaissance du domaine, qu'ils sont alphabétisés et que leur niveau culturel est encore très élevé, qu'ils sont des experts du domaine et qu'ils sont des conversations intellectuelles.

3. Conversations en continu. Notre interaction actuelle avec l'orateur consiste à se réveiller d'abord, à dire "Xiao Ai, commande-moi une chanson", puis à dire "Xiao Ai, joue la chanson suivante". C'est très gênant, mais la conversation entre les gens n'appellera pas toujours les noms des gens fréquemment. À ce stade, un dialogue en continu est nécessaire. La difficulté technique de cette pièce est de savoir comment juger si une personne a fini de parler et si vous pouvez l'interrompre. C'est le point le plus difficile de la technologie. Une autre est de savoir comment rejeter le bruit, car il n'y a pas de mot de réveil dans la conversation maintenant. A ce moment, le discours de la personne à côté de vous ou même les mots dans le téléviseur sont susceptibles d'être mal identifiés, et la machine aussi y répondre.

Wenyin Internet Bao Jie: Analyse approfondie du développement clé des connaissances et du contexte technique | Des millions de personnes apprennent l'IA
Précédent
lac de printemps est pas facile, mais le lac de la maison peut encore parler de données ......
Prochain
combat d'analyse des données Python: l'analyse de cohorte classique
La nouvelle application de l'épidémie vu la sagesse de la scène médicale, la sagesse médicale de développement de ce que d'autres possibilités?
Drops open source Nightingale Nightingale: solutions de surveillance de classe entreprise
Baidu créé hôpital Internet, les étudiants de recruter des ongles aux produits d'expérience division; iOS 13.4 en ligne | Geeks titres
Ces mauvaises habitudes détruisent les dents, encore votre coup? Yantai hôpital dentaire professionnel avec vous un RECONNAÎTRE
rue Philippine vaccination contre la propagande hardcore cercueil: soit rester à la maison ou couché dans le cercueil
Laiyang 16 ans vieux haut parents recharge Voyage à la main de jeu des élèves du secondaire ont dépensé plus de 20000 yuans
Weihai City Stadium et d'autres lieux intérieurs et extérieurs ouvrent demain
Regardez cri rythme ...... malade en phase terminale, Jinyintan président adhèrent à leur débarquement
Douleur à l'épaule, détecter le cancer du poumon fait! Ces symptômes suggèrent également le cancer du poumon, de nombreuses personnes ignorées
Résolument effacer le dernier bastion de la pauvreté - la campagne de la pauvreté de l'écriture en remportant les premières années de l'occasion
Agence Xinhua Nouvelles annuelle 2019 photo