


Zusammenfassung der Erfahrungen im Chatbot-Design basierend auf Zustandsmaschinen
Um die Bedürfnisse und Verbesserungsrichtungen intelligenter Roboterprojekte besser zu verstehen, müssen wir häufig einige Tools entwickeln. Von den verschiedenen Robotikprojekten, an denen ich beteiligt war, konnten die meisten die Produktanforderungen erfolgreich erfüllen. Durch diese Praktiken wurde uns zutiefst klar, dass wir die bestehende Roboterdefinitionssprache erheblich verbessern müssen, wenn wir weiter vorankommen und uns verbessern wollen.
- Vereinfachen Sie den Erstellungsprozess von Bots, die komplexe Konversationsabläufe erfordern.
- Maximieren Sie die Wiederverwendbarkeit, indem Sie Module und Dialogpfade wiederverwenden, die in der Vergangenheit definiert wurden, um Bots zu erstellen.
In herkömmlichen Praktiken ist dies nicht einfach, da die Absichtsdefinition mit teilweisen Reihenfolgebeschränkungen vermischt ist und die Freiheit des Dialogs einschränkt Wege. Dies ist ausreichend für den Umgang mit „offenen“ Bots (häufig bei Bots im FAQ-Stil), bei denen die meisten Fragen in sich geschlossen und immer verfügbar sind. Bei „geschlosseneren“ Bots sind die potenziellen Konversationsbeschränkungen jedoch viel größer (z. B. ein Bot, der zum Buchen von Tickets online verwendet wird).
Um die Funktionalität der Chatbot-Definitionssprache auf ein neues Niveau zu bringen, haben wir in einigen Projekten DSLs eingeführt, die näher an der Semantik von Zustandsmaschinen liegen und die Absichtsdefinition vollständig mit Konvertierungsregeln integrieren, die den Roboter so steuern, dass er fest ausgeführt wird -Punkt verfügbare Absichten Trennung, dies hat folgende Vorteile:
- Vorherige Absichten können im neuen Roboter wiederverwendet werden, auch wenn der Dialogpfad anders eingestellt ist.
- Komplexe Dialogabläufe können mithilfe von Zustandsmaschinen definiert werden, sodass der Bot eine klare und präzise Semantik beibehalten kann.
- Zur Kontrolle von Übergängen können komplexe Staatswächter geschaffen werden. Versetzen Sie den Bot basierend auf Benutzereingaben, bevorstehenden Ereignissen und früheren Daten, Konversationsparametern usw. in einen neuen Status.
- Staatskörper können verwendet werden, um komplexe Konversationslogik als Reaktion auf Benutzeranfragen zu speichern.
- Roboter können modularisiert werden, um Teile der Zustandsmaschine in anderen Robotern wiederzuverwenden.
- Lokale Fallbacks können als Teil des Stateful-Verhaltens definiert werden. Zusätzlich zum standardmäßigen globalen Fallback können Sie auch lokale Fallbacks mit Zuständen verknüpfen, um Fehler im Kontext des Zustands zu behandeln, z. B. die Anzeige einer Nachricht, die dem Benutzer bei der Beantwortung einer vom Bot in einem bestimmten Zustand der Konversation gestellten Frage hilft.
Intent-Definitionssprache
Die Absichtsdefinition ist jetzt vom Ausführungsteil entkoppelt, ist aber immer noch eine separate Untersprache. Für jede Absicht müssen wir lediglich einige Trainingssätze bereitstellen, damit der Roboter die Absicht der Äußerung des Benutzers erkennen und daraus die erforderlichen Parameter extrahieren kann.
Als Beispiel haben wir einen einfachen Bot, der nur zwei Arten von Benutzeräußerungen versteht: Begrüßungen und Namensnennung. Wir können für jeden Äußerungstyp ein paar Beispielsätze bereitstellen und den Roboter lernen lassen, diese zu erkennen. Wenn der Benutzer eine Äußerung eingibt, führt der Roboter basierend auf seiner Absicht die entsprechende Aktion aus und extrahiert daraus die erforderlichen Parameter.
intent Hello { inputs { "你好" "早上好" } } intent MyNameIs { inputs { "我的名字叫小明" "我是小明" "你可以叫我小明" } creates context Greetings { set parameter name from fragment "小明" (entity any) } }
Wir stellen für jede Absicht einige Beispielsätze zur Verfügung, um dem Roboter beizubringen, sie zu erkennen. Darüber hinaus erheben wir in manchen Fällen auch einige Parameter im Kontext (z. B. den Namen des Nutzers), um in Zukunft persönlicher auf den Nutzer eingehen zu können.
Wir haben nicht angegeben, welche Absicht der Bot zuerst zu erfüllen versuchen soll, das ist Teil der Ausführungssprache. Dieser Ansatz ermöglicht es uns, diese Absichten wiederzuverwenden (z. B. müssen wir in einem anderen Bot den Benutzer möglicherweise nach seinem Namen fragen, nicht erst nach der Begrüßungsabsicht).
Execution Definition Language
Verwenden Sie Ausführungsdateien, um eine Zustandsmaschine zu definieren, die beschreibt, wie der Roboter auf Absichten/Ereignisse reagiert und Übergänge durchführen kann. Dadurch kann der Bot-Designer die Ausführungsdatei anzeigen und den gesamten Konversationsablauf verstehen.
Jeder Zustand in der Ausführungssprache enthält 3 Teile
- Körper (optional): Die Reaktion, die der Roboter ausführt, wenn er in den Zustand eintritt.
- Next (erforderlich): Definiert die ausgehende Konvertierung, ausgedrückt als condition –> State. Wenn ein Ereignis/eine Absicht empfangen wird, wird die Bedingung ausgewertet und wenn der Übergang erfüllt ist, wechselt die Ausführungs-Engine in den angegebenen Zustand und führt die entsprechende Reaktion aus. Es ist zu beachten, dass Konvertierungsbedingungen sehr komplex sein können. Sie sind echte Wächter, was bedeutet, dass der Übergang nicht navigierbar ist und die Engine in ihrem aktuellen Zustand verbleibt, wenn die gesamte Bedingung nicht erfüllt ist.
- Fallback (optional): Dieser Abschnitt kann beliebigen Code enthalten (genau wie der Abschnitt Body), der ausgeführt wird, wenn die Engine keinen navigierbaren Übergang findet.
Das Ausführungsmodell enthält außerdem 2 Sonderzustände:
- Init:是创建用户会话时进入的常规状态。它可以包含 Body、_Next_和 Fallback 部分。
- Default_Fallback:它只能包含 Body 部分,并且不能作为转换的目标状态。该状态表示在当前状态中未定义本地回退时执行的默认回退代码。该状态可用于打印通用错误消息(例如,“抱歉,我没明白您的意思”),而本地回退则可以打印针对当前状态的定制消息(例如,“请回答是或否”)。
最后,一个状态可以定义一个单一的通配符转换(使用保留字符___作为转换条件),当计算状态主体时将自动导航。这使我们能够在多个地方重用相同的代码并模块化执行逻辑。下面是一个简单的机器人示例,它只回复问候意图,询问用户名并向用户问好。这个机器人的回复可以通过我们基于 React 的聊天小部件显示。
//We can always have an init state in case we need to initialize some bot parameters (e.g. welcoming message) Init { Next { //Here we state that the bot will first listen for an utterance matching the Hello intent, it will ignore anything else intent == Hello --> HandleHello } } HandleHello { Body { ReactPlatform.Reply("你好, 你叫什么名字?") } Next { //We wait for the user to input the name, no other transition is possible at this point //Obviously, in more complex bots we may have several possible outgoing transitions in a given state intent == MyNameIs --> HandleMyNameIs } } HandleMyNameIs { Body { ReactPlatform.Reply("你好 " + context.get("Greetings").get("name")) } Next { // An automatic transition to the Init state since at this point the conversation is finished and we can start again _ --> Init } } // Default Fallback state could go here
Das obige ist der detaillierte Inhalt vonZusammenfassung der Erfahrungen im Chatbot-Design basierend auf Zustandsmaschinen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Der humanoide Roboter Ameca wurde auf die zweite Generation aufgerüstet! Kürzlich erschien auf der World Mobile Communications Conference MWC2024 erneut der weltweit fortschrittlichste Roboter Ameca. Rund um den Veranstaltungsort lockte Ameca zahlreiche Zuschauer an. Mit dem Segen von GPT-4 kann Ameca in Echtzeit auf verschiedene Probleme reagieren. „Lass uns tanzen.“ Auf die Frage, ob sie Gefühle habe, antwortete Ameca mit einer Reihe von Gesichtsausdrücken, die sehr lebensecht aussahen. Erst vor wenigen Tagen stellte EngineeredArts, das britische Robotikunternehmen hinter Ameca, die neuesten Entwicklungsergebnisse des Teams vor. Im Video verfügt der Roboter Ameca über visuelle Fähigkeiten und kann den gesamten Raum und bestimmte Objekte sehen und beschreiben. Das Erstaunlichste ist, dass sie es auch kann

WeChat ist heutzutage eine der beliebtesten sozialen Softwareprogramme und bietet umfangreiche Chat-Funktionen. Aber manchmal kann es vorkommen, dass wir auf die Situation „Diesen Chat nicht anzeigen“ stoßen, was dazu führt, dass einige wichtige Gespräche ausgeblendet werden. Das Wiederherstellen dieser Chats ist eigentlich sehr einfach. Solange Sie diese Schritte befolgen, können Sie versteckte Chats problemlos wiederherstellen und weiterhin das komfortable Kommunikationserlebnis von WeChat genießen. Wie kann ich den Chat wiederherstellen, wenn WeChat ihn nicht anzeigt? WeChat zeigt die Chat-Wiederherstellungsmethode nicht an. Methode 1: Versuchen Sie, direkt nach dem Namen oder Schlüsselwort des Chat-Partners in der WeChat-Nachrichtenliste zu suchen. Wenn die Suche gefunden wird, klicken Sie, um die Chat-Oberfläche aufzurufen, damit der Chat wiederhergestellt und angezeigt werden kann. Methode zwei, Wiederherstellung über den Freunde-Chat: Öffnen Sie WeChat, klicken Sie auf das Adressbuch, suchen Sie den Freund, der im versteckten Chat angezeigt wird, und klicken Sie, um eine Nachricht zu senden

Im Bereich der industriellen Automatisierungstechnik gibt es zwei aktuelle Hotspots, die kaum zu ignorieren sind: Künstliche Intelligenz (KI) und Nvidia. Ändern Sie nicht die Bedeutung des ursprünglichen Inhalts, optimieren Sie den Inhalt, schreiben Sie den Inhalt neu, fahren Sie nicht fort: „Darüber hinaus sind beide eng miteinander verbunden, da Nvidia nicht auf seine ursprüngliche Grafikverarbeitungseinheit (GPU) beschränkt ist ) erweitert es seine GPU. Die Technologie erstreckt sich auf den Bereich der digitalen Zwillinge und ist eng mit neuen KI-Technologien verbunden. „Vor kurzem hat NVIDIA eine Zusammenarbeit mit vielen Industrieunternehmen geschlossen, darunter führende Industrieautomatisierungsunternehmen wie Aveva, Rockwell Automation und Siemens und Schneider Electric sowie Teradyne Robotics und seine Unternehmen MiR und Universal Robots. Kürzlich hat Nvidia gesammelt

Herausgeber des Machine Power Report: Wu Xin Die heimische Version des humanoiden Roboters + eines großen Modellteams hat zum ersten Mal die Betriebsaufgabe komplexer flexibler Materialien wie das Falten von Kleidung abgeschlossen. Mit der Enthüllung von Figure01, das das multimodale große Modell von OpenAI integriert, haben die damit verbundenen Fortschritte inländischer Kollegen Aufmerksamkeit erregt. Erst gestern veröffentlichte UBTECH, Chinas „größter Bestand an humanoiden Robotern“, die erste Demo des humanoiden Roboters WalkerS, der tief in das große Modell von Baidu Wenxin integriert ist und einige interessante neue Funktionen aufweist. Jetzt sieht WalkerS, gesegnet mit Baidu Wenxins großen Modellfähigkeiten, so aus. Wie Figure01 bewegt sich WalkerS nicht umher, sondern steht hinter einem Schreibtisch, um eine Reihe von Aufgaben zu erledigen. Es kann menschlichen Befehlen folgen und Kleidung falten

Diese Woche gab FigureAI, ein Robotikunternehmen, an dem OpenAI, Microsoft, Bezos und Nvidia beteiligt sind, bekannt, dass es fast 700 Millionen US-Dollar an Finanzmitteln erhalten hat und plant, im nächsten Jahr einen humanoiden Roboter zu entwickeln, der selbstständig gehen kann. Und Teslas Optimus Prime hat immer wieder gute Nachrichten erhalten. Niemand zweifelt daran, dass dieses Jahr das Jahr sein wird, in dem humanoide Roboter explodieren. SanctuaryAI, ein in Kanada ansässiges Robotikunternehmen, hat kürzlich einen neuen humanoiden Roboter auf den Markt gebracht: Phoenix. Beamte behaupten, dass es viele Aufgaben autonom und mit der gleichen Geschwindigkeit wie Menschen erledigen kann. Pheonix, der weltweit erste Roboter, der Aufgaben autonom in menschlicher Geschwindigkeit erledigen kann, kann jedes Objekt sanft greifen, bewegen und elegant auf der linken und rechten Seite platzieren. Es kann Objekte autonom identifizieren

Kehr- und Wischroboter gehören in den letzten Jahren zu den beliebtesten Smart-Home-Geräten bei Verbrauchern. Die damit verbundene Bequemlichkeit der Bedienung oder sogar die Notwendigkeit einer Bedienung ermöglicht es faulen Menschen, ihre Hände frei zu haben, was es den Verbrauchern ermöglicht, sich von der täglichen Hausarbeit zu „befreien“ und mehr Zeit mit den Dingen zu verbringen, die sie in getarnter Form genießen. Aufgrund dieser Begeisterung stellen fast alle Haushaltsgerätemarken auf dem Markt ihre eigenen Kehr- und Wischroboter her, was den gesamten Markt für Kehr- und Wischroboter sehr lebendig macht. Allerdings wird die schnelle Expansion des Marktes unweigerlich eine versteckte Gefahr mit sich bringen: Viele Hersteller werden die Taktik des Maschinenmeeres nutzen, um schnell mehr Marktanteile zu erobern, was zu vielen neuen Produkten ohne Upgrade-Punkte führen wird Es handelt sich um „Matroschka“-Modelle. Keine Übertreibung. Allerdings sind das nicht alle Kehr- und Wischroboter

Roboter haben im Handumdrehen gelernt, zu zaubern? Es war zu sehen, dass es zuerst den Wasserlöffel auf dem Tisch aufhob und damit dem Publikum bewies, dass nichts darin war ... Dann nahm es den eiähnlichen Gegenstand in seine Hand und stellte den Wasserlöffel zurück auf den Tisch und begann „einen Zauber zu wirken“... …Gerade als es den Wasserlöffel wieder aufhob, geschah ein Wunder. Das ursprünglich hineingelegte Ei verschwand und das Ding, das heraussprang, verwandelte sich in einen Basketball ... Schauen wir uns noch einmal die fortlaufenden Aktionen an: △ Diese Animation zeigt eine Reihe von Aktionen mit doppelter Geschwindigkeit und läuft nur durch Zuschauen reibungslos ab Das Video kann wiederholt mit 0,5-facher Geschwindigkeit verstanden werden. Schließlich habe ich die Hinweise entdeckt: Wenn meine Handgeschwindigkeit schneller wäre, könnte ich es möglicherweise vor dem Feind verbergen. Einige Internetnutzer beklagten, dass die magischen Fähigkeiten des Roboters sogar noch höher seien als ihre eigenen: Mag war derjenige, der diese Magie für uns ausgeführt hat.

Die folgenden 10 humanoiden Roboter prägen unsere Zukunft: 1. ASIMO: ASIMO wurde von Honda entwickelt und ist einer der bekanntesten humanoiden Roboter. Mit einer Höhe von 1,20 m und einem Gewicht von 50 kg ist ASIMO mit fortschrittlichen Sensoren und künstlichen Intelligenzfunktionen ausgestattet, die es ihm ermöglichen, sich in komplexen Umgebungen zurechtzufinden und mit Menschen zu interagieren. Aufgrund seiner Vielseitigkeit eignet sich ASIMO für eine Vielzahl von Aufgaben, von der Unterstützung von Menschen mit Behinderungen bis hin zur Durchführung von Präsentationen bei Veranstaltungen. 2. Pepper: Pepper wurde von Softbank Robotics entwickelt und möchte ein sozialer Begleiter für Menschen sein. Mit seinem ausdrucksstarken Gesicht und der Fähigkeit, Emotionen zu erkennen, kann Pepper an Gesprächen teilnehmen, im Einzelhandel helfen und sogar pädagogische Unterstützung leisten. Pfeffer
