DE102023102142A1 - Konversationelle ki-plattform mit extraktiver fragenbeantwortung - Google Patents

Konversationelle ki-plattform mit extraktiver fragenbeantwortung Download PDF

Info

Publication number
DE102023102142A1
DE102023102142A1 DE102023102142.7A DE102023102142A DE102023102142A1 DE 102023102142 A1 DE102023102142 A1 DE 102023102142A1 DE 102023102142 A DE102023102142 A DE 102023102142A DE 102023102142 A1 DE102023102142 A1 DE 102023102142A1
Authority
DE
Germany
Prior art keywords
data
user
conversational
query
application
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.)
Pending
Application number
DE102023102142.7A
Other languages
English (en)
Inventor
Shubhadeep Das
Sumit Bhattacharya
Ratin Kumar
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of DE102023102142A1 publication Critical patent/DE102023102142A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • 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
    • 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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • 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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • 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/338Presentation of query results
    • 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/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • 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/083Recognition networks
    • 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
    • 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
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

In verschiedenen Beispielen verwendet eine konversationelle Plattform für künstliche Intelligenz (KI) strukturierte Daten und unstrukturierte Daten, um Antworten auf Abfragen von Benutzern zu erzeugen. In einem Beispiel sucht, wenn Daten für eine Antwort auf eine Abfrage nicht in einer strukturierten Datenstruktur gespeichert sind, die konversationelle KI-Plattform nach den Daten in einer unstrukturierten Datenstruktur.

Description

  • HINTERGRUND
  • Assistenten für konversationelle künstliche Intelligenz (AI) werden über verschiedene Plattformen zur Erfüllung verbaler Anfragen von Benutzern verwendet. Beispielsweise können intelligente Vorrichtungen - wie beispielsweise Telefone, Computer, Tablets, Anzeigen und Sprecher - KI-Assistenten zum Interagieren mit verbalen Anfragen eines Benutzers für Informationen verwenden (z.B., Wetter, Nachrichten, Finanzinformationen usw.) und/oder für Aktivierungen der intelligenten Vorrichtung oder einer kommunikativ gekoppelten Vorrichtung (z.B., Spielen eines Liedes, Scharfschaltung eines Sicherheitssystems, Bestellen eines Elements usw.). Außerdem können diese KI-Assistenten Informationen reagierend auf die Anfragen auf einer Anzeige anzeigen - z.B., Laden einer Webseite, Ausführen einer graphischen Benutzerschnittstelle einer Musikanwendung, Bereitstellen eines visuellen Indikators, dass eine Aufgabe abgeschlossen ist, Anzeigen eines angefragten Videoclips, Shows oder Films usw. Diese herkömmlichen KI-Assistenten weisen jedoch begrenzte Fähigkeit auf, einen Dialogspeicher aufzubauen und sind im Allgemeinen lediglich imstande, Abfragen zu beantworten, die zuvor gespeicherte Informationen betreffen. Als Ergebnis sind, wo bestimmte Informationen fehlen (z.B., ein Name eines Lieblingsrestaurants eines Benutzers, eine Heimatadresse usw.), sind herkömmliche KI-Assistenten nicht imstande, diese fehlenden Informationen einzufüllen oder wirksam zu antworten, wenn über diese Informationen aufgefordert. Außerdem ist es für diese herkömmlichen KI-Assistenten im Allgemeinen erforderlich, dass sie für jede spezifische Domäne programmiert werden, bei der sie verwendet werden, um somit zu erfordern, dass separate, Domänen-spezifische Informationen für jede separate Domäne gespeichert werden. Als Ergebnis erfordern, sogar wo Informationen von einer Domäne für eine andere Domäne nützlich sein kann, herkömmliche KI-Assistenten häufig ein erneutes Eingeben oder Liefern der gleichen Informationen für die andere Domäne.
  • ZUSAMMENFASSUNG
  • Ausführungsformen der vorliegenden Offenbarung betreffen eine konversationelle Plattform für künstliche Intelligenz (KI) mit extraktiver Fragenbeantwortung. Systeme und Verfahren werden offenbart, die eine konversationelle KI-Plattform umfassen (z.B., einschließlich eines virtuellen Assistenten), die sowohl einen strukturiert als auch einen unstrukturierten Speicher beibehält, die verwendet werden, um Antworten auf Abfragen (z.B., Benutzerabfragen) zu erzeugen. In einem Beispiel behält die konversationelle KI-Plattform unstrukturierte Daten bei (z.B., ein Dokument oder andere unstrukturierte Datenstruktur), die Interaktionen mit einem bestimmten Benutzer umfassen, die verwendet werden können, um Antworten auf Abfragen zu erzeugen und/oder Daten zu erzeugen, die in dem strukturierten Speicher zu speichern sind (z.B., Kurzzeitspeicher oder Langzeitspeicher der konversationellen KI-Plattform). Als Ergebnis können diese unstrukturierten Daten verwendet werden, um über verschiedene unterschiedliche Domänen zu interagieren, ohne separate Anfragen für die gleichen Informationen für jede unterschiedliche Domäne zu erfordern.
  • Im Gegensatz zu herkömmlichen Systemen, wie beispielsweise jene, die oben beschrieben sind, kann die konversationelle KI-Plattform Antworten auf Abfragen erzeugen, die undefinierte und/oder unbekannte Begriffe umfassen. In einem Beispiel fragt ein Benutzer (z.B., Video, Audio, Text und/oder eine andere Eingabe von einer Benutzereingabevorrichtung) „was ist das Wetter in meiner Heimatstadt“, wobei die Heimatstadt des Benutzers nicht definiert ist (z.B., nicht in den strukturierten Daten gespeichert und/oder nicht in dem Satz von definierten Schlüsselwertpaaren der strukturierten Daten umfasst) durch die konversationelle KI-Plattform. In einem derartigen Beispiel führt ein trainiertes Fragenbeantwortungs(QnA)-Modell eine Suche der dem Benutzer zugeordneten unstrukturierten Daten durch, um die Heimatstadt des Benutzers zu bestimmen oder zu extrahieren. Basierend mindestens teilweise auf einem Ergebnis der Suche von dem QnA-Modell wird beispielsweise eine Antwort auf die Abfrage erzeugt. Zurückkehrend zu dem obigen Beispiel, bei dem die unstrukturierten Daten einen Datensatz umfassen, der angibt, dass die Heimatstadt des Benutzers „San Francisco“ ist, ersetzt die konversationelle KI-Plattform dann die „Heimatstadt des Benutzers“ in der Abfrage mit „San Francisco“. Von daher werden die Audiodaten, Textdaten, Videodaten und/oder andere Benutzereingabedaten empfangenen von Benutzern durch ein System, das die konversationelle KI-Plattform ausführt, verarbeitet und verwendet, um Video-, Audio- und/oder Textantworten von einem KI-Agenten zu rendern (z.B., eine Komponente der konversationelle KI-Plattform), die dann durch eine oder mehrere Vorrichtungen (z.B., Anzeigen, Sprecher usw.) angezeigt oder anderweitig ausgegeben werden, die dem Ausführen der konversationellen KI-Plattform zugeordnet sind. Des Weiteren werden in verschiedenen Ausführungsformen die von Benutzern empfangenen Benutzereingabedaten und die von der konversationellen KI-Plattform erzeugten Antworten als unstrukturierte Daten beibehalten, die von dem QnA-Modell verwendet werden, um Informationen zu extrahieren, die verwendet werden, um eine Antwort zu erzeugen.
  • In verschiedenen Beispielen umfassen diese unstrukturierten Daten einen Datensatz von konversationelle Historie und/oder ein Protokoll der Interaktionen zwischen Benutzern und der konversationelle KI-Plattform und/oder Komponenten davon - wie beispielsweise dem KI-Agenten. Die konversationelle KI-Plattform behält beispielsweise eine separate unstrukturierte Datenstruktur (z.B. ein Dokument) für verschiedene Benutzer bei, die Abfragen, Antworten und andere Daten enthalten, die zwischen dem bestimmten Benutzer und der konversationellen KI-Plattform ausgetauscht werden. Von daher werden die unstrukturierten Daten im Laufe der Zeit basierend mindestens teilweise auf Interaktionen zwischen Benutzern und der konversationellen KI-Plattform erzeugt. Außerdem behält die Konversations-KI-Plattform in verschiedenen Beispielen strukturierte Daten bei (z.B., Kurzzeitspeicher oder Langzeitspeicher), die Schlüsselwertpaare für verschiedene definierte Slots umfassen. Beispielsweise kann die Konversations-KI-Plattform den Schlüssel „Heimatstadt“ umfassen, für den der Wert „San Francisco“ gespeichert wird. In verschiedenen Beispielen wird der einem bestimmten Schlüssel zugeordnete Wert von den unstrukturierten Daten extrahiert.
  • Wenn ein Benutzer eine Abfrage der konversationellen KI-Plattform präsentiert, durchsucht beispielsweise die konversationelle KI-Plattform zuerst die strukturierten Daten (z.B., Schlüsselwortsuche basierend mindestens teilweise auf von der Abfrage extrahierten Daten) und durchsucht dann, wenn die Suche nicht erfolgreich ist (z.B., sind die strukturierten Daten nicht in dem entsprechenden Schlüssel enthalten oder enthalten keinen Wert, der dem Schlüssel entspricht), die unstrukturierten Daten. Im Gegensatz zu den strukturierten Daten, die erfordern, dass Schlüsselwertpaare definiert werden, erfordern die in der vorliegenden Offenbarung beschriebenen unstrukturierten Daten keine definierten Daten und können daher eine größere Flexibilität und Reaktionsfähigkeit der konversationellen KI-Plattform bereitstellen. In einem Beispiel umfasst die konversationelle KI-Plattform keinen definierten Schlüssel, der einem „Lieblingsrestaurant“ zugeordnet ist, wobei sie jedoch immer noch imstande ist, auf die Abfrage „Reservierungen bei meinem Lieblingsrestaurant tätigen“ basierend mindestens teilweise auf den unstrukturierten Daten zu antworten, die Daten umfassen, welche das Lieblingsrestaurant des Benutzers angeben.
  • Figurenliste
  • Die vorliegenden Systeme und Verfahren für eine konversationelle Plattform künstlicher Intelligenz (KI) mit extraktiver Fragenbeantwortung werden nachstehend mit Bezug auf die beigefügten Zeichnungsfiguren beschrieben, wobei:
    • 1 ein Blockdiagramm einer beispielhaften konversationelle KI-Plattform gemäß mindestens einer Ausführungsform der vorliegenden Offenbarung ist;
    • 2 ein Blockdiagramm eines Verfahrens zum Erzeugen einer Antwort basierend mindestens teilweise auf einem unstrukturierten Speicher einer konversationelle KI-Plattform gemäß mindestens einer Ausführungsform der vorliegenden Offenbarung ist;
    • 3 ein Blockdiagramm eines Verfahrens zum Erzeugen einer Antwort auf eine Abfrage gemäß mindestens einer Ausführungsform der vorliegenden Offenbarung ist;
    • 4 ein Blockdiagramm einer beispielhaften konversationelle KI-Plattform gemäß mindestens einer Ausführungsform der vorliegenden Offenbarung ist;
    • 5 ein Blockdiagramm einer beispielhaften konversationellen KI-Plattform gemäß mindestens einer Ausführungsform der vorliegenden Offenbarung ist;
    • 6 ein Blockdiagramm einer beispielhaften Rechenvorrichtung ist, die zur Verwendung beim Implementieren einigen Ausführungsformen der vorliegenden Offenbarung geeignet ist; und
    • 7 ein Blockdiagramm eines beispielhaften Rechenzentrums ist, das zur Verwendung beim Implementieren einigen Ausführungsformen der vorliegenden Offenbarung geeignet ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Systeme und Verfahren werden offenbart, die eine konversationelle Plattform für künstliche Intelligenz (KI) mit extraktiver Fragenbeantwortung betreffen. In verschiedenen Ausführungsformen behält eine konversationelle KI-Plattform (z.B., virtueller Assistent, intelligenter Lautsprecher, Kundendienstanwendung usw.) einen strukturierten Speicher und einen unstrukturierten Speicher bei, um Antworten auf Abfragen zu erzeugen. In einem Beispiel behält die konversationelle KI-Plattform unstrukturierte Daten bei (z.B., ein Dokument oder andere unstrukturierte Datenstruktur), die Interaktionen mit einem bestimmten Benutzer umfassen, die verwendet werden können, um eine Antwort auf Abfragen zu erzeugen und/oder Daten für einen strukturierten Speicher (z.B. einen Kurzzeitspeicher) zu erzeugen. In derartigen Beispielen umfassen die Interaktionen mit dem Benutzer Textdaten, welche die Kommunikation zwischen der konversationellen KI-Plattform und dem Benutzer darstellen (z.B., „was ist das Wetter in diesem Augenblick in Los Angeles“; „das Wetter in Los Angeles ist zweiundsiebzig Grad und sonnig“). In einer Ausführungsform umfassen die unstrukturierten Daten ein Dokument, das ein Transkript und/oder ein Protokoll von Interaktionen (z.B., Statements, Abfragen und Antworten) zwischen der konversationellen KI-Plattform und bestimmten Benutzern enthält.
  • In verschiedenen Ausführungsformen umfasst der durch die konversationelle KI-Plattform beibehaltene strukturierte Speicher einen Satz von definierten Schlüsselwertpaaren. In einem Beispiel behält die konversationelle KI-Plattform eine Datenstruktur bei (z.B., eine Datenbank, die als ein JavaScript Objekt Notation (JSON) Datenobjekt gespeichert ist, das die Schlüsselwertpaare definiert), die einen Satz von Slots umfasst, und ein trainierter Klassifikator etikettiert Abfragen mit Absichten und Slots, die Abfragen zugeordnet sind, um der konversationellen KI-Plattform zu ermöglichen, auf die Abfrage zu reagieren. In einem spezifischen Beispiel stellt der Benutzer eine Abfrage „gib mir Wegbeschreibungen nach Hause“ bereit, und ein Modell der Verarbeitung natürlicher Sprache (NLP) kennzeichnet eine Absicht (z.B., Daten abrufen) und einen oder mehrere Slots, die der Abfrage (z.B., Platz „zu Hause“) zugeordnet sind, wobei die konversationelle KI-Plattform dann Daten (z.B., einer „zu Hause“ zugeordneten Adresse) von den strukturierten Daten abruft, um eine Antwort auf die Abfrage zu erzeugen.
  • In verschiedenen Ausführungsformen wird ein Aktivierungsauslöser der konversationellen KI-Plattform und/oder eine Komponente davon bereitgestellt - wie beispielsweise eine Anwendung einer automatischen Spracherkennung (Automatic Speech Recognition; ASR) - und die ASR-Anwendung stellt eine Textdarstellung einer Abfrage und Benutzeridentifikations-Informationen einem Dialogmanager der konversationellen KI-Plattform zu Verfügung. In verschiedenen Ausführungsformen behält der Dialogmanager einem Benutzer zugeordnete Personalisierungsdaten bei, wobei die Personalisierungsdaten der konversationellen KI-Plattform ermöglichen, Antworten auf Abfragen zu erzeugen, und anschließende Kontextabfragen zu unterstützen. Außerdem ermöglichen die Personalisierungsdaten der konversationellen KI-Plattform in einer Ausführungsform, Daten zu extrahieren, die in den Antworten von den unstrukturierten Daten verwendet werden (z.B., dem Benutzerinteraktionshistorie enthaltenen Dokument) unter Verwendung eines Modells der extraktiven Fragenbeantwortung (QnA) basierend mindestens teilweise auf einem Modell zum Verstehen natürlicher Sprache (Natural Language Understanding). In mindestens einem Beispiel erzeugt das QnA-Modell Personalisierungsdaten bezogen auf einen Benutzer, die von einem oder mehreren anderen Benutzern getrennt gespeichert werden können.
  • In einer Ausführungsform interagiert der Benutzer mit der konversationelle KI-Plattform, um Informationen zu speichern und abzufragen. Beispielsweise kann der Benutzer die konversationelle KI-Plattform anweisen, Informationen zu speichern (z.B., „erinnern, dass ich eine Morgen Mittag eine Besprechung habe“). Bei derartigen Beispielen speichert der Dialogmanager die Informationen im unstrukturierten Speicher für späteren Abruf. In verschiedenen Ausführungsformen etikettiert, wenn der Benutzer später eine Abfrage für diese Informationen (z.B., „wann habe ich eine Besprechung morgen?“) bereitstellt, die konversationelle KI-Plattform die Abfrage (z.B., Slot-Werte basierend mindestens teilweise auf den Textdaten, welche die Abfrage darstellen) und durchsucht die strukturierten Daten basierend mindestens teilweise auf den Etiketten. Wenn die Suche der strukturierten Daten scheitert, kann das QnA-Modell die dem Benutzer zugeordneten unstrukturierten Daten durchsuchen (z.B., basierend mindestens teilweise auf einer den unstrukturierten Daten zugeordnete Benutzerkennung). In verschiedenen Ausführungsformen werden die von den unstrukturierten Daten extrahierten Daten verwendet, um die Antwort zu erzeugen. Zurückkehrend zu dem obigen Beispiel extrahiert das QnA-Modell „Mittag“ als die Besprechungszeit von den unstrukturierten Daten und die konversationelle KI-Plattform umfasst den extrahierten Wert in der Antwort und stellt die Antwort einer Text-zu-Sprache-Anwendung zur Verfügung, wie nachstehend ausführlicher beschrieben.
  • In verschiedenen Ausführungsformen kann, wenn das QnA-Modell nicht imstande ist, dem Schlüssel zugeordnete Daten zu extrahieren (z.B., die in der Abfrage angefragten Daten), die konversationelle KI-Plattform eine Abfrage an den Benutzer für die unbekannten Werte erzeugen (z.B., Slot-Etikette, bei denen Werte undefiniert und/oder von den unstrukturierten Daten nicht extrahiert werden). Wenn der Benutzer beispielsweise fragt „Nahrungsmittel von meinem Lieblingsrestaurant bestellen" und das QnA-Modell nicht imstande ist, dem Schlüssel „Lieblingsrestaurant“ zugeordnete Daten zu extrahieren (z.B., kein Wert wird von den unstrukturierten Daten extrahiert und/oder der extrahierte Wert ist einem Vertrauenswert nachstehend einer Schwelle zugeordnet), kann die konversationelle KI-Plattform eine Antwort erzeugen, die eine Abfrage an den Benutzer „was ist ihr Lieblingsrestaurant?“ umfasst. In einem derartigen Beispiel speichert die konversationelle KI-Plattform die Antwort des Benutzers in der Struktur (z.B., wenn der Slot als ein Schlüsselwertpaar definiert ist) und/oder den unstrukturierten Daten. Auf diese Art und Weise verwendet die konversationelle KI-Plattform in verschiedenen Ausführungsformen unstrukturierte Daten, die eine Interaktionshistorie darstellen, um Antworten zu erzeugen und fehlende und/oder undefinierte Slot-Werte zu disambiguieren, die Abfragen anderer geschlossener Domäne betreffen. Beispielsweise kann das QnA-Modell Daten von den unstrukturierten Daten extrahieren, die einer ersten Domäne zugeordnet sind (z.B., Wetter, zu Hause, Nahrungsmittelbestellung) und den extrahierten Wert für eine zweite Domäne (z.B., Navigationsrichtungen) verwenden.
  • Mit Bezugnahme auf 1 ist 1 ein Beispiel einer konversationellen KI-Plattform 100 gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Es sei zu verstehen, dass diese und andere hier beschriebene Anordnungen lediglich als Beispiele dargelegt werden. Andere Anordnungen und Elementen (z.B., Maschinen, Schnittstellen, Funktionen, Reihenfolgen, Gruppierungen von Funktionen usw.) können zusätzlich zu oder anstelle der gezeigten verwendet werden und einige Elemente können insgesamt weggelassen werden. Ferner sind viele der hier beschriebenen Elemente funktionale Entitäten, die als diskrete oder verteilte Komponenten oder in Verbindung mit anderen Komponenten und in jeder geeigneten Kombination und jedem geeigneten Ort implementiert werden können. Verschiedene Funktionen, die hier als von Entitäten durchgeführt beschrieben werden, können durch Hardware, Firmware und/oder Software ausgeführt werden. Beispielsweise können verschiedene Funktionen durch einen Prozessor ausgeführt werden, der im Speicher gespeicherte Anweisungen ausführt. In einigen Ausführungsformen kann das System 100 ähnliche Merkmale, Funktionalität und/oder Komponenten wie die beispielhafte Rechenvorrichtung 600 von 6 und/oder das beispielhafte Rechenzentrum 700 von 7 umfassen, die hier ausführlicher beschrieben sind.
  • In verschiedenen Ausführungsformen wird ein Aktivierungsauslöser 132 durch eine Komponente der konversationellen KI-Plattform 100 erhalten. Der Aktivierungsauslöser 132 kann beispielsweise eine einzige Aktion oder mehrere Aktionen umfassen, wie beispielsweise eine Geste, ein Auslöserwort und/oder eine Phrase, eine Lippenbewegung, Starren auf eine Kamera, Passcode, Bereitstellen biometrischer Daten und/oder einer anderen Aktion, die durch ein oder mehrere Sensoren eines Systems erfasst werden kann, das die konversationelle KI-Plattform 100 oder Komponente davon ausführt - wie beispielsweise eine Host-Vorrichtung 406 und/oder 506, wie nachstehend ausführlicher beschrieben. In einer Ausführungsformen kann als Ergebnis, dass die konversationelle KI-Plattform 100 den Aktivierungsauslöser 132 detektiert, die automatische Spracherkennung (ASR) 102 ausgelöst werden. In einem Beispiel erfasst ein mit der konversationellen KI-Plattform verbundenes Mikrophon Audio von einem oder mehreren Benutzern als Antwort auf den Aktivierungsauslöser 132. In einem anderen Beispiel veranlasst der Aktivierungsauslöser 132 die konversationelle KI-Plattform, Sensordaten zu erhalten, die während eines Zeitintervalls erfasst werden (z.B., bevor und/oder nachdem der Aktivierungsauslöser 132 detektiert ist).
  • In verschiedenen Ausführungsformen bestimmt die konversationelle KI-Plattform 100 einen bestimmten Benutzer, der dem Aktivierungsauslöser 132 zugeordnet ist, und/oder Sensordaten, die dem Aktivierungsauslöser 132 zugeordnet sind (z.B., Lautsprecheridentifikation, Gesichtserkennung, Anmeldedaten usw.). In einem Beispiel werden Video- und/oder Audiodaten verwendet, um Benutzeridentifikations-Informationen (z.B., Benutzer-ID), die dem Aktivierungsauslöser 132 zugeordnet sind, und/oder eine Abfrage zu bestimmen, die von dem Benutzer erhalten wird. In einem anderen Beispiel stellt der Benutzer Anmeldedaten oder andere Identifikationsinformationen der konversationellen KI-Plattform zur Verfügung, bevor die konversationelle KI-Plattform den Aktivierungsauslöser detektiert. In noch anderen Ausführungsformen detektiert eine Host-Vorrichtung oder eine andere Rechenvorrichtung den Aktivierungsauslöser 132 und stellt der konversationellen KI-Plattform für ASR 102 Sensordaten bereit.
  • In verschiedenen Ausführungsformen konvertiert die ASR 102 Audiodaten in Text zur Verwendung durch die konversationelle KI-Plattform 100 und/oder Komponenten davon - wie beispielsweise einem Dialogmanager 104. In einem Beispiel kann die ASR 102 Software oder einen anderen ausführbaren Code umfassen, der Audiodaten in entsprechende Textdaten oder andere Daten konvertiert, die durch die konversationelle KI-Plattform 100 nutzbar sind. In verschiedenen Ausführungsformen können die Daten, die als Ergebnis des Durchführens von ASR 102 an den Sensordaten erhalten wurden (z.B., die resultierende Textabfrage) den Benutzeridentifikations-Informationen zugeordnet werden, um der konversationelle KI-Plattform 100 zu ermöglichen, Personalisierungsinformationen (z.B., Dokumenten- und/oder andere Benutzerdaten) zu verwenden, die der Benutzeridentifikations-Informationen zugeordnet sind. In einer Ausführungsform werden die Benutzeridentifikations-Informationen basierend mindestens teilweise auf Computervision, Stimmdetektion, Benutzeranmeldeinformationen usw. bestimmt, wobei die konversationelle KI-Plattform 100 Benutzeridentifikations-Informationen verwendet, um einen bestimmten Benutzer relativ zu einem oder mehreren anderen Benutzern der konversationellen KI-Plattform 100 eindeutig zu identifizieren. In verschiedenen Ausführungsformen sind die Benutzeridentifikations-Informationen mehrere strukturierte Datenstrukturen (z.B., Langzeitspeicher 112 und/oder Kurzzeitspeicher 114) und/oder mehrere unstrukturierte Datenstrukturen (z.B., Dokumenten 124) zugeordnet.
  • In verschiedenen Ausführungsformen umfasst die konversationelle KI-Plattform 100 einen Dialogmanager 104, Personalisierungsinformationen 108, einen Langzeitspeicher 112, einen Kurzzeitspeicher 114, einen Joint-Intent-Slot-Klassifikator 116, ein Fragenbeantwortungsmodell (QnA) 116, Dokumente 124 und Modelle zur Verarbeitung natürlicher Sprache 120. Wie oben beschrieben, umfassen die in 1 veranschaulichten Komponenten einen Quellencode oder eine andere ausführbare Logik, die als Ergebnis dessen, durch einen oder mehrere Prozessoren eines Computersystems (z.B., Servercomputer) ausgeführt zu werden, das Computersystem veranlassen, die verschiedenen in der vorliegenden Offenbarung beschriebenen Operationen durchzuführen. In einem Beispiel erhält der Dialogmanager 104 die Textabfrage und erzeugt eine Antwort unter Verwendung von einem oder mehreren von dem Langzeitspeicher 112, dem Kurzzeitspeicher 114, dem Joint-Intent-Slot-Klassifikator 116, dem Fragenbeantwortungsmodell (QnA) 116, Dokumenten 124 und/oder Modellen zur Verarbeitung natürlicher Sprache 120.
  • In verschiedenen Ausführungsformen ermöglichen die Personalisierungsinformationen 108 dem Dialogmanager 104, zu bestimmen, wenn die Textabfrage eine Personalisierungsabfrage oder eine Nicht-Personalisierungsabfrage umfasst. In einem Beispiel wird die Textabfrage „einen Zeitgeber für eine Minute einstellen“ als eine Nicht-Personalisierungsabfrage betrachtet, und die Textabfrage „wie ist das Wetter zu Hause?“ wird als eine Personalisierungsabfrage betrachtet. In verschiedenen Ausführungsformen sind eine Antwort auf Abfragen, die Daten des Langzeitspeichers 112, des Kurzzeitspeichers 114 und/oder des Dokuments 124 umfassen, Personalisierungsabfragen. In einer Ausführungsform klassifiziert (z.B., etikettiert) der Joint-Intent-Slot-Klassifikator 116 einen oder mehrere Slots, die in der Textabfrage umfasst sind, und der Dialogmanager 104 bestimmt basierend mindestens teilweise auf den der Abfrage zugeordneten Klassifikationen, ob die Abfrage eine Personalisierungsabfrage ist. In einem Beispiel umfasst der Joint-Intent-Slot-Klassifikator 116 ein trainiertes Modell, um eine oder mehrere Komponenten einer Abfrage - wie beispielsweise Ort, Domäne, Komponenten von Sprache, Art von Abfrage usw. - zu klassifizieren.
  • In einer Ausführungsform durchsucht, wenn die Textabfrage eine Personalisierungsabfrage umfasst, der Dialogmanager 104 den Langzeit- 112 und/oder Kurzzeitspeicher 114 basierend mindestens teilweise auf den etikettierten Slots (z.B., Klassifizierung) des Joint-Intent-Slot-Klassifikators 116. In einem Beispiel umfasst die Textabfrage eine Abfrage „was ist das Wetter zu Hause?“, wobei der Joint-Intent-Slot-Klassifikator 116 den Ort „zu Hause“ als unbekannt etikettiert hat, wobei der Dialogmanager 104 den Langzeitspeicher 112 nach dem als zu Hause gekennzeichneten Schlüssel durchsucht. In einem derartigen Beispiel umfasst der Langzeitspeicher 112 ein Schlüsselwertpaar, wobei der Slot (z.B. Schlüssel) „zu Hause“ definiert ist. In verschiedenen Ausführungsformen umfassen der Langzeitspeicher 112 und der Kurzzeitspeicher 114 Datenstrukturen (z.B. JSON Datenobjekte), die Etikette und/oder Schlüssel und zugeordneten Werte umfassen. Zurückkehrend zu dem obigen Beispiel kann der Schlüssel „zu Hause“ einen entsprechenden Wert „Santa Clara“ innerhalb des Langzeitspeichers 112 aufweisen. In verschiedenen Ausführungsformen veranlasst, wenn der Schlüssel und/oder der Wert im Langzeitspeicher 112 und/oder Kurzzeitspeicher 114 nicht umfasst sind, der Dialogmanager 104 das QnA-Modell 118, die Dokumenten 124 nach dem unbekannten Ort/Wert (z.B., „zu Hause“) zu durchsuchen.
  • In einer Ausführungsform bestimmt der Joint-Intent-Slot-Klassifikator 116 eine Absicht der Textabfrage. Die Textabfrage umfasst in einem Beispiel eine Absicht, Daten zu speichern (z.B., „eine Erinnerung für meine Besprechung in Boston nächste Woche einstellen“). In einem derartigen Beispiel veranlasst der Dialogmanager 104, dass Informationen in der Textabfrage in dem Dokument 124, dem Kurzzeitspeicher 114 und/oder dem Langzeitspeicher 112 gespeichert werden, so dass Informationen in der Textabfrage später abgerufen werden können (z.B., „Boston“ als der Ort der Besprechung). In einer Ausführungsform kann der Dialogmanager 104 ein oder mehrere Elementen der Textabfrage disambiguieren, in dem mindestens Daten erhalten werden, die einem oder mehrere Elementen von dem Dokument 124, dem Kurzzeitspeicher 114 und/oder dem Langzeitspeicher 112 zugeordnet sind. Zurückkehrend zu dem obigen Beispiel kann, wenn der Benutzer später fragt „wo ist meine Besprechung nächsten Woche?“, der Dialogmanager 104 bestimmen - basierend mindestens teilweise auf von dem Joint-Intent-Slot-Klassifikator 116 erhaltenen Daten und der Textabfrage - den Ort der Besprechung zu disambiguieren.
  • In verschiedenen Ausführungsform durchsucht der Dialogmanager 104 den Langzeitspeicher 112, um die Textabfrage zu disambiguieren (z.B., durchsucht den Schlüssel „Besprechungsort“ nach dem Wert „Boston“). Des Weiteren veranlasst in derartigen Ausführungsformen, wenn die Suche des Langzeitspeichers 112 kein Ergebnis zurückgibt, der Dialogmanager 104 das QnA-Modell 118, die Dokumente 124 zu durchsuchen. In einem Beispiel umfasst das QnA-Modell 118 ein oder mehrere Modelle, die trainiert sind, um die Dokumente 124 basierend mindestens teilweise auf der Textabfrage zu durchsuchen. In verschiedenen Ausführungsformen führt das QnA-Modell 118 eine Fragenbeantwortung einer geschlossene Domäne und/oder eine Fragenbeantwortung einer offenen Domäne durch. Außerdem können in verschiedenen Ausführungsformen Daten, die von den Dokumenten 124 durch das QnA-Modell 118 erhalten werden, für Suchen über Domänen verwendet werden. In einem Beispiel wird die Antwort auf die Abfrage, die von dem Benutzer bereitgestellt wird, die durch die Textabfrage „gebe mir Wegbeschreibungen nach Hause“ innerhalb einer ersten Domäne (z.B., Navigation) dargestellt wird, durch den Dialogmanager 104 basierend mindestens teilweise auf Daten, die „zu Hause“ entsprechen, von einer zweiten Domäne (z.B., Wetter) erzeugt.
  • In Ausführungsformen, bei denen die Suche ein Ergebnis zurückgibt (z.B., Daten, die dem Schlüssel entsprechen, werden von dem Dokument 124, dem Kurzzeitspeicher 114 und/oder dem Langzeitspeicher 112 erhalten), wird die Textabfrage modifiziert und den Modellen zur Verarbeitung natürlicher Sprache (NLP) 120 bereitgestellt. In einem Beispiel wird die Textabfrage „was ist das Wetter in meiner Heimatstadt?“ auf „was ist das Wetter in Santa Clara?“ modifiziert, wobei der Wert „Santa Clara“ von dem QnA-Modell 118 als Ergebnis des Durchsuchens eines oder mehrerer Dokumenten 124 erhalten wird. In verschiedenen Ausführungsformen erzeugt, wenn der Dialogmanager 104 scheitert, Daten zu erhalten, die einem oder mehreren Slots zugeordnet sind, die durch den Joint-Intent-Slot-Klassifikator 116 identifiziert sind, der Dialogmanager 104 eine Antwort, um die Daten von dem Benutzer zu erhalten. Zurückkehrend zu dem obigen Beispiel, wenn der Ort „Heimatstadt“ in einer strukturierten Datenstruktur (z.B., dem Langzeitspeicher 112) oder einer unstrukturierten Datenstruktur (z.B., den Dokumenten 124) nicht gespeichert ist, erzeugt der Dialogmanager eine Antwort, um einen Wert zu erhalten, der „Heimatstadt“ zugeordnet ist (z.B., „was ist ihre Heimatstadt?“).
  • In verschiedenen Ausführungsformen wird die modifizierte Textabfrage (z.B., wenn die einem Slot zugeordneten Daten von strukturierten Daten und/oder unstrukturierten Daten erhalten werden) dann einem oder mehreren NLP-Modellen 120 bereitgestellt, um die Antwort zu erzeugen. Des Weiteren werden in verschiedenen Ausführungsformen die Textabfragen und Antworten in einem oder mehreren Dokumenten 124 gespeichert. Beispielsweise werden von einem bestimmten Benutzer erhaltene Abfragen und für den bestimmten Benutzer erzeugte Antworten in einem dem Benutzer zugeordneten bestimmten Dokument gespeichert.
  • Bezugnehmend nun auf 2 und 3 umfasst jeder Block der hier beschriebenen Verfahren 200 und 300 einen Rechenprozess, der unter Verwendung einer beliebigen Kombination von Hardware, Firmware und/oder Software durchgeführt werden kann. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der im Speicher gespeicherte Anweisungen ausführt. Diese Verfahren können auch in Form von computerverwendbaren Anweisungen, die auf Speichermedien gespeichert sind, verkörpert sein. Die Verfahren können durch eine eigenständige Anwendung, einen Dienst oder einen gehosteten Dienst (eigenständig oder in Kombination mit einem anderen gehosteten Dienst) oder ein Plug-in für ein anderes Produkt bereitgestellt werden, um nur einige zu nennen. Außerdem werden die Verfahren 200 und 300 beispielhaft mit Bezug auf die konversationelle KI-Plattform 100 von 1 beschrieben. Diese Verfahren können jedoch zusätzlich oder alternativ von einem beliebigen System oder einer beliebigen Kombination von Systemen ausgeführt werden, welche die hier beschriebenen Systeme umfassen, jedoch nicht auf diese beschränkt sind. Des Weiteren werden die Blöcke der Verfahren 200 und/oder 300 in verschiedenen Ausführungsformen seriell oder parallel ausgeführt und/oder zusätzliche Schritte oder Operationen können zu den Verfahren 200 und 300 hinzugefügt werden.
  • 2 ist ein Flussdiagramm, das ein Verfahren 200 zum Erzeugen einer Antwort auf eine Abfrage durch eine Konversations-KI-Plattform zeigt, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Das Verfahren 200 umfasst bei Block B202 das Empfangen einer Abfrage, die basierend mindestens teilweise auf einem oder mehreren von einem Audio-Stream, einem Text-Stream und/oder einem Video-Stream erzeugt wird, die einer Benutzervorrichtung(en) zugeordnet ist, die kommunikativ mit der Instanz der Konversations-KI-Plattform gekoppelt ist(sind). Beispielsweise wird ein Audio-, Video- und/oder Text-Stream, der unter Verwendung einer Benutzervorrichtung(en) 404 erzeugt wird, z.B. durch die KI-Agentenvorrichtung(en) 402 empfangen, wie nachstehend ausführlicher in Verbindung mit 4 und 5 beschrieben ist. In verschiedenen Ausführungsformen umfasst der Abfragetext, der durch einen ASR-Algorithmus basierend mindestens teilweise auf Audio, Video und/oder Text erzeugt wird, der erfasst oder anderweitig von dem Benutzer erhalten wird.
  • Das System, welches das Verfahren 200 ausführt, bestimmt bei Block 204 in einer Ausführungsform einen oder mehrere Abschnitte der Abfrage, um zu disambiguieren. In einem Beispiel werden ein oder mehrere Begriffe der Textabfrage als unbekannt etikettiert (z.B., unbekannter Ort, unbekannte Person, unbekanntes Objekt usw.) und das System, welches das Verfahren 200 ausführt, versucht, die Begriffe zu disambiguieren. Beispielsweise umfasst die Textabfrage „mein Auto einschalten“ oder „was ist das Wetter draußen?“ die nicht eindeutigen Begriffe „Auto“ und „draußen“, für welche die Konversations-KI-Plattform disambiguiert, um eine Antwort auf die Abfrage zu erzeugen.
  • In einer Ausführungsform führt das System bei Block 206 das Verfahren 200 aus und bestimmt, ob Daten, um den Begriff zu disambiguieren, in dem strukturierten Speicher gespeichert sind. In einem Beispiel veranlasst die konversationelle KI-Plattform eine Suche nach einer strukturierten Datenstruktur (z.B., JSON-Datei, Datenbank, Schlüsselwertspeicher usw.), die auszuführen ist. In verschiedenen Ausführungsformen umfasst die Suche nach dem strukturierten Speicher eine Schlüsselsuche. Beispielsweise umfasst der strukturierte Speicher Schlüsselwertpaare, wobei die gesuchten Schlüssel von den zu disambiguierenden Begriffen der Abfrage erhalten werden (z.B. das unbekannte Objekt „Auto“ oder den unbekannten Ort „draußen“).
  • In einer Ausführungsform fährt, wenn das Ergebnis der Suche einen Wert zurückgibt, das den Prozess 200 ausführende System zu Block 208 fort und erzeugt eine Antwort basierend mindestens teilweise auf den von dem strukturierten Speicher erhaltenen Daten. In einem Beispiel wird der zu disambiguierende Begriff mit dem Wert ersetzt, der von dem strukturierten Speicher erhalten wird, und dem einen oder mehreren NLP-Modellen bereitgestellt. Zurückkehrend zu dem obigen Beispiel wird die Abfrage „was ist die Wetter draußen?“ modifiziert, um „draußen“ basierend mindestens teilweise auf einem Wert zu ersetzen, der von dem „draußen“ (z.B. dem Ort des Benutzers) zugeordneten strukturierten Speicher erhalten wird.
  • In verschiedenen Ausführungsformen, wenn kein Ergebnis erhalten wird, ist ein Ergebnis undefiniert, ein dem Ergebnis zugeordneter Vertrauenswert ist unterhalb oder oberhalb relativ zu einer Schwelle oder das Ergebnis anderweitig zur Verwendung beim Modifizieren der Abfrage nicht geeignet ist, fährt das System, welches das Verfahren 200 ausführt, zu Block 210 fort. Bei Block 210 veranlasst das System, welches das Verfahren 200 ausführt, eine Suche des unstrukturierten Speichers nach Daten, um einen oder mehrere Begriffe der auszuführenden Abfrage zu disambiguieren. In verschiedenen Ausführungsformen führt ein trainiertes QnA-Modell eine Suche des unstrukturierten Speichers durch (z.B. einer unstrukturierten Datenstruktur - wie beispielsweise eines Dokuments). Wenn das QnA-Modell in einer Ausführungsform eine Antwort auf die Suchabfrage zurückgibt, führt das System das Verfahren 200 aus, fährt zu Block fort 212 und erzeugt eine Antwort basierend mindestens teilweise auf dem von dem unstrukturierten Speicher erhalten Ergebnis. In dem obigen Beispiel wird, wenn der unstrukturierte Speicher den Ort des Benutzers umfasst, die Abfrage „was ist die Wetter draußen?“ modifiziert, um „draußen“ basierend mindestens teilweise auf einem Wert zu ersetzen, der von dem unstrukturierten Speicher erhalten wird.
  • In verschiedenen Ausführungsformen ist, wenn kein Ergebnis erhalten wird, das Ergebnis undefiniert, ein das Ergebnis zugeordneter Vertrauenswert ist unterhalb oder oberhalb relativ zu einer Schwelle oder das Ergebnis ist anderweitig nicht zur Verwendung beim Modifizieren der Abfrage geeignet, geht das System, welches das Verfahren 200 ausführt, zu Block 214 weiter und erzeugt eine Antwort, um die Daten zu erhalten.
  • Wenn die Abfrage beispielsweise einen Ort oder ein Ereignis umfasst, das in sowohl in dem Strukturspeicher als auch in dem unstrukturierten Speicher undefiniert ist, erzeugt das System, welches das Verfahren 200 ausführt, eine zweite Abfrage als Antwort auf die Abfrage, um die Daten zu erhalten. Zurückkehrend zu dem obigen Beispiel umfasst, wenn im Einzelnen der Ort „draußen“ von einer Suche des Strukturspeichers und unstrukturierten Speichers nicht erhalten wird, die von dem System erzeugte Antwort eine zweite Abfrage, um den Ort „draußen“ zu bestimmen (z.B., „es tut mir leid, ich kenne diese Informationen nicht. In welcher Stadt sind sie?“).
  • In einer Ausführungsform erzeugt das System, welches das Verfahren 200 ausführt, bei Block 216 Audiodaten, die der Antwort entsprechen, basierend mindestens teilweise auf einem Text-zu-Sprache-Algorithmus. In einem Beispiel wird die durch das System erzeugte Antwort (z.B., die in einem oder mehreren von Blöcken 208, 212 und/oder 214 erzeugte Antwort) dem Text-zu-Sprache-Algorithmus bereitgestellt, um Audiodaten oder andere Daten zu erzeugen, die in der Antwort an den Benutzer verwendet werden.
  • 3 ist ein Flussdiagramm, das ein Verfahren 300 zum Instanziieren eines KI-Agenten innerhalb einer Anwendung zeigt, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Bei Block B302 umfasst das Verfahren 300 das Instanziieren eines virtuellen Agenten, der einer Instanz einer Anwendung entspricht. Beispielsweise kann der KI-Agent zur Kommunikation innerhalb einer Instanz der Client-Anwendung 416 instanziiert werden. In einem anderen Beispiel ist der KI-Agent eine Komponente der Konversations-KI-Plattform.
  • Bei Block B304 umfasst das Verfahren 300 das Empfangen erster Daten, die für eines oder mehreres von einem Audio-Stream, einem Text-Stream oder einem Video-Stream repräsentativ sind, die einer Benutzervorrichtung(en) zugeordnet sind, die kommunikativ mit der Instanz der Anwendung gekoppelt ist(sind). Beispielsweise kann ein Audio-, Video- und/oder Text-Stream, der unter Verwendung einer Benutzervorrichtung(en) 404 erzeugt wird - z.B. von der(den) KI-Agentenvorrichtung(en) 402 empfangen werden .
  • Bei Block B306 umfasst das Verfahren 300 ein Analysieren der ersten Daten unter Verwendung der Verarbeitung natürlicher Sprache. Beispielsweise können die empfangenen Daten durch die KI-Engine 412 analysiert werden (beispielsweise durch, und ohne Beschränkung, einer oder mehreren Parallelverarbeitungseinheiten ausgeführt), was das Anwenden der Verarbeitung natürlicher Sprache auf die Daten umfassen kann.
  • Bei Block B308 umfasst das Verfahren 300 ein Erzeugen zweiter Daten, die für eine Textausgabe repräsentativ sind, die auf die ersten Daten reagieren und dem virtuellen Agent entsprechen. Beispielsweise kann die KI-Engine 412 einen Text erzeugen, der einer verbalen Antwort des KI-Agenten entspricht. In verschiedenen Ausführungsform umfassen die Textdaten eine Abfrage, wie oben beschrieben.
  • Bei Block B310 umfasst das Verfahren 300 ein Anwenden der zweiten Daten auf einen Text-zu-Sprache-Algorithmus, um Audiodaten zu erzeugen. Beispielsweise können die Textdaten, die der Antwort oder Kommunikation des KI-Agenten entsprechen, auf einen Text-zu-Sprache-Algorithmus angewandt werden, um Audiodaten zu erzeugen.
  • Mit Bezugnahme auf 4 ist 4 eine beispielhafte konversationelle KI-Plattform 100 (alternativ hier als „System 400“ bezeichnet) gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Es sei zu verstehen, dass diese und andere hier beschriebenen Anordnungen lediglich als Beispiele dargelegt sind. Andere Anordnungen und Elemente (z.B., Maschinen, Schnittstellen, Funktionen, Reihenfolgen, Gruppierungen von Funktionen usw.) können verwendet werden, um zusätzlich zu oder anstelle der gezeigten verwendet zu werden und einige Elemente können insgesamt weggelassen werden. Ferner sind viele der hier beschriebenen Elemente funktionale Entitäten, die als diskrete oder verteilte Komponenten oder in Verbindung mit anderen Komponenten und in jeder geeigneten Kombination und Ort implementiert werden können. Verschiedene Funktionen, die hier beschrieben werden, als durch Entitäten ausgeführt zu werden, können durch Hardware, Firmware und/oder Software ausgeführt werden. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der im Speicher gespeicherte Anweisungen ausführt. In einigen Ausführungsformen kann mindestens einiges der Merkmale, Funktionalität und/oder Komponenten, die hier mit Bezug auf 4 beschrieben sind, unter Verwendung einer oder mehrerer Rechenvorrichtungen implementiert werden, wie beispielsweise einer beispielhaften Rechenvorrichtung 600 von 6 und/oder eines beispielhaften Rechenzentrums 700 von 7, die hier ausführlicher beschrieben sind. In anderen Ausführungsformen kann mindestens einiges der Merkmale, Funktionalität und/oder Komponenten, die hier mit Bezug auf 4 beschrieben sind, unter Verwendung von zusätzlichen oder alternativen Merkmale, Funktionalität und/oder Komponenten implementiert werden, die anders sind als jene, die hier mit Bezug auf 4 beschrieben sind.
  • Das System 400 kann unter anderem eine KI-Vorrichtung(en) 402, eine Benutzervorrichtung(en) 404 und/oder eine Hostvorrichtung(en) 406 umfassen. Obwohl lediglich eine einzige KI-Agentenvorrichtung(en) 402, eine einzige Benutzervorrichtung(en) 404 und eine einzige Host-Vorrichtung(en) 406 in 4 veranschaulicht sind, ist dies nicht bestimmt, einschränkend zu sein, und eine beliebige Anzahl von Vorrichtungen kann innerhalb des Systems 400 implementiert sein. Außerdem, obwohl jede der KI-Agentenvorrichtung(en) 402, der Benutzervorrichtung(en) 404 und der Host-Vorrichtung(en) 406 als voneinander separate Vorrichtungen veranschaulicht sind, ist dies nicht bestimmt, einschränkend zu sein. Beispielsweise können abhängig von der Ausführungsform eine oder mehrere der Vorrichtungen in eine einzigen Vorrichtung (oder Satz von Vorrichtungen, wie beispielsweise in einer Cloud-Rechenumgebung) kombiniert werden. Als ein nicht einschränkendes Beispiel kann(können) in einer Konversations-KI-Plattform die KI-Agentenvorrichtung(en) 402 eine oder mehrere Vorrichtungen (z.B., Server in einer Cloud-Rechenumgebung) umfassen, welche den(die) KI-Agent(en) unterstützen, die mit der Benutzervorrichtung(en) 404 kommunizieren, die persönliche Vorrichtungen von Benutzern umfassen können, und die Host-Vorrichtung(en) 406 kann(können) eine oder mehrere Vorrichtungen (z.B., Server in einer Cloud-Rechenumgebung) umfassen, welche die konversationelle KI-Plattform hosten (z.B., unter Verwendung einer Host-Anwendung 426, die eine oder mehrere Anwendungsprogrammierschnittstellen (APIs) umfasst). Als ein weiteres nicht einschränkendes Beispiel kann(können) in einer Automobilanwendung die KI-Agentenvorrichtung(en) 402, die Benutzervorrichtung(en) 404 und die Host-Vorrichtung(en) 406 eine einzige Vorrichtung (z.B., einen Supercomputer innerhalb des Fahrzeugs) umfassen oder kann(können) eine Kombination einer Fahrzeug-lokalisierten Vorrichtung (z.B., dem Supercomputer) und einer entfernt lokalisierten Vorrichtung (z.B., einem oder mehreren Servern in einer Cloud-Rechenumgebung) umfassen, die mit der Fahrzeug-lokalisierten Vorrichtung für Aktualisierungen, Antworten auf komplexere Aufgaben usw. kommunizieren. Von daher kann(können) die KI-Agentenvorrichtung(en) 402, die Benutzervorrichtung(en) 404 und die Host-Vorrichtung(en) 406 durch einen gleichen Benutzer oder Firma, unterschiedliche Benutzer oder Firmen und/oder einer Kombination davon in Besitz sein, betrieben und/oder unterstützt werden.
  • Die KI-Agentenvorrichtung(en) 402 kann(können) einen Server, eine netzwerkverbundene Speicherung (Network Attached Storage; NAS), eine API, eine Backend-Vorrichtung und/oder eine andere Art von Vorrichtung umfassen. Die KI-Agentenvorrichtung(en) 402 kann(können) die Funktionalität der konversationellen KI-Plattform unterstützen - wie beispielsweise jene, die hier beschrieben sind. Von daher können in einigen Ausführungsformen einige oder alle der Komponenten, Merkmale und/oder Funktionalität der KI-Agentenvorrichtung(en) 402 lokal auf Benutzervorrichtung(en) 404 ausgeführt werden. Beispielsweise können bestimmte Aufgaben, Anfragen, Interaktionen und/oder Gespräche zwischen einem Benutzer und dem KI-Agenten auf der(den) Benutzervorrichtung(en) 404 lokal auf der(den) Benutzervorrichtung(en) 404 gehandhabt werden.
  • In Ausführungsformen können einige oder alle der Komponenten, Merkmale und/oder Funktionalität der KI-Agenten durch die KI-Agentenvorrichtung(en) 402 entfernt mit Bezug auf die(den) Benutzervorrichtung(en) 404 und/oder die(den) Host-Vorrichtung(en) 406 ausgeführt werden. Beispielsweise können Daten von der(den) Benutzervorrichtung(en) 404 und/oder der(den) Host-Vorrichtung(en) 406 empfangen und unter Verwendung der(den) KI-Agentenvorrichtung(en) 402 verarbeitet werden und ein Video-Stream und Audio-Stream und/oder ein Text-Stream der Antwort oder Kommunikation durch den KI-Agenten kann an die Benutzervorrichtung(en) 404 und/oder die Host-Vorrichtung(en) 406 übertragen werden.
  • Das(die) Benutzervorrichtung(en) 106 kann(können) ein Smartphone, einen Laptop-Computer, einen Tablet-Computer, einen Desktop-Computer, eine tragbare Vorrichtung, eine Spielkonsole, eine Smart-Home-Vorrichtung, die einen KI-Agenten oder -Assistenten enthalten kann, und/oder eine andere Art von Vorrichtung umfassen. In einigen Beispielen kann(können) die Client-Vorrichtung(en) 404 eine Kombination von Vorrichtungen umfassen (z.B. ein Smartphone und eine kommunikativ gekoppelte Smartwatch oder eine andere tragbare Vorrichtung), und können die damit verbundenen Anwendungen, einschließlich Interaktionen mit der Anwendung, unter Verwendung eines oder mehrerer der Vorrichtungen ausgeführt werden (z.B. sendet die Smartphone-Anwendung Benachrichtigungen an die Smartwatch-Anwendung, ein Benutzer liefert der Smartwatch Eingaben und Daten, die für eine Eingabe repräsentativ sind, werden über das Smartphone an eine andere Vorrichtung des Systems 400 weitergeleitet).
  • Die Host-Vorrichtung(en) 406 kann(können) einen Server, einen netzwerkverbundenen Speicher (NAS), eine API, eine Backend-Vorrichtung, eine Vorrichtung ähnlich der(den) hier beschriebenen Benutzervorrichtung(en) 404 und/oder eine andere Art von Vorrichtung umfassen. Die Host-Vorrichtung(en) 406 kann(können) die Funktionalität einer Host-Anwendung 426 unterstützen, durch welche Interaktionen zwischen dem KI-Agenten und einem oder mehreren Endbenutzern - z.B., über die Benutzervorrichtung(en) 404 - kommuniziert werden. Beispielsweise kann(können) in einer Konversations-KI-Plattform die Host-Vorrichtung(en) 406 das Konferenzsystem hosten und die KI-Agentenvorrichtung(en) 402 kann(können) einen oder mehrere KI-Agenten als einen oder mehrere Teilnehmer in einer bestimmten Konferenz unterstützen, während die Benutzervorrichtung(en) 404 einen oder mehrere Benutzer als einen oder mehrere andere Teilnehmer in der Konferenz unterstützen kann(können). Als ein weiteres Beispiel kann in einer Fast-Food-Bestellanwendung die Host-Anwendung 426 ein interaktives Menü umfassen, bei dem ein KI-Agent einem Benutzer beim Navigieren des Menüs zum Auswählen eines oder mehrerer Elemente hilft. Gemäß derartigen Ausführungsformen kann(können) die Host-Vorrichtung(en) 406 lokal bei (nahe) dem Restaurant positioniert sein und kann(können) beispielsweise und ohne Beschränkung als eine Rechenvorrichtung implementiert sein, die kommunikativ mit E/A-Komponenten 420 einer Bestelleinrichtung oder einem Kiosk gekoppelt ist. Die KI-Agentenvorrichtung(en) 402 kann(können) entfernt (und/oder lokal) lokalisiert sein und zur Verarbeitung von Daten, die basierend auf Benutzereingabe (z.B. Sprache, Text, Video usw.) erzeugt werden, und zum Erzeugen einer Antwort oder Interaktionen durch den KI-Agenten verwendet werden. Gemäß einer oder mehreren Ausführungsformen kann(können) die Benutzervorrichtung(en) 404 nicht erforderlich sein; alternativ kann die Benutzervorrichtung(en) 404 eine Vorrichtung eines Benutzer zum Interagieren mit der(den) Host-Vorrichtung(en) 106 sein (z.B., Bereitstellen von Berührungseingaben an eine Client-Anwendung 516B, die der(den) Host-Vorrichtung(en) 506) zugeordnet ist.
  • Die KI-Agentenvorrichtung(en) 402, die Benutzervorrichtung(en) 404, die Host-Vorrichtung(en) 406 und/oder andere Komponenten des Systems 400 können über ein oder mehrere Netzwerk 408 kommunizieren. Das(die) Netzwerk(e) kann(können) ein Weitbereichsnetzwerk (WAN) (z.B., das Internet, ein öffentliches Fernsprechnetzwerk (PSTN) usw.), ein Lokalbereichsnetzwerk (LAN) (z.B., Wi-Fi, ZigBee, Z-Wave, Bluetooth, Bluetooth Low Energie (BLE), Ethernet usw.), ein Weitbereichsnetzwerk niedriger Leistung (LPWAN) (z.B., LoRaWAN, Sigfox usw.), ein globales Navigationssatellitensystem (GNSS) Netzwerk (z.B., das Global Positioning System (GPS)) und/oder eine andere Netzwerkart umfassen. In einigen Ausführungsformen kann(können) die KI-Agentenvorrichtung(en) 402, die Benutzervorrichtung(en) 404 und/oder die Host-Vorrichtung(en) 406 über ein WAN (z.B., das Internet), über ein LAN (z.B., Wi-Fi, Ethernet usw.) und/oder ein Mobilfunknetzwerk (z.B., 4G, LTE, 5G usw.) kommunizieren - z.B., wo das System 400 in einer Cloud-basierten oder verteilten Rechenumgebung implementiert wird.
  • Die Kommunikationskomponente(n) 410, 418 und/oder 424 können eine oder mehrere Komponenten, Merkmale und/oder Funktionalität zum Kommunizieren über eines oder mehrerer der Netzwerke 408 umfassen, wie beispielsweise, jedoch nicht auf jene beschränkt, die hier beschrieben sind. Als ein nicht einschränkendes Beispiel kann(können) die Benutzervorrichtung(en) 404 eine Ethernet- und/oder Wi-Fi Verbindung durch ein Router oder eine Mobilfunkverbindung durch einen oder mehrere Mobilfunkmasten verwenden, um auf das Internet mit der(den) KI-Agentenvorrichtung(en) 402 und/oder der(den) Host-Vorrichtung(en) 406 zuzugreifen. Die KI-Agentenvorrichtung(en) 402 und/oder die Host-Vorrichtung(en) 406 können - z.B., wenn sie Servern oder anderen Rechenvorrichtungen in einem Cloud-basierten Rechenzentrum entsprechen - könne auf das Internet über Ethernet zugreifen. Von daher kann(können) die Kommunikationskomponente(n) 410, 418 und/oder 424 zur Kommunikation über eine oder mehrere Netzwerkarten konfiguriert sein und können eine Kommunikation zwischen und unter den verschiedenen Vorrichtungen des Systems 400 über eine oder mehrere Netzwerkarten ermöglichen. Die Client-Anwendung 416A, die Client-Anwendung 416B und die Host-Anwendung 426 können unterschiedlichen Instanzen einer zugeordneten Anwendung entsprechen.
  • Die KI-Agentenvorrichtung(en) 402 kann(können) eine beliebige Anzahl von Parallelverarbeitungseinheiten zum er eingehende Daten, Verarbeitung die Daten und Bestimmen Ausgabedaten wirksam einsetzen - z.B., Text-zu-Sprache Audiodaten und entsprechende Änderungen an dem KI-Agenten innerhalb einer virtuellen Umgebung - die an eine oder mehrere Benutzervorrichtung(en) 404 zur Anzeige und/oder Ausgabe gerendert und (z.B., über einen Video-Stream, einen Text-Stream und/oder einen Audio-Stream) übertragen werden können. Geeignete Parallelverarbeitungseinheiten können eine oder mehrere Graphikverarbeitungseinheiten (GPUs) in einer GPUbeschleunigten KI-Umgebung umfassen. Die GPUs können durch die KI-Engine 412 und/oder den Renderer 414, wie hier beschrieben, und/oder durch andere Komponenten des Systems 400 wirksam eingesetzt werden. Außerdem kann (können) in einigen Ausführungsformen die KI-Agentenvorrichtung(en) 402 - und/oder andere Vorrichtungen - Videokomprimierungstechniken zum Optimieren der Übertragung von Videodaten wirksam einsetzen. In einem oder mehreren Ausführungsformen können geeignete Videokomprimierungstechniken für eine konversationelle KI-Plattform optimierte Komprimierungstechniken umfassen. Derartige Techniken umfassen einige oder alle der Komponenten, Merkmale und/oder Funktionalität wie in der am 15. April 2020 eingereichten vorläufigen U.S. Patentanmeldung Nr. 63/010,511 beschrieben, die hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen ist.
  • Die KI-Engine 412 der KI-Agentenvorrichtung(en) 402 kann eingehende Text-, Audio- und/oder Bilddaten (z.B., multimodale Daten) verarbeiten, um zu bestimmen, was textlich, hörbar und/oder visuell kommuniziert wird, und zu bestimmen, wenn eine Antwort oder Ausgabe durch den KI-Agenten notwendig ist, was für eine Antwort ausgegeben werden sollte, wo eine Ausgabe bestimmt wird und/oder wie die Antwort auszugeben ist (z.B., einen Ton, eine Emotion, eine Geste, eine Animation usw. des KI-Agenten bestimmen). In einigen Ausführungsformen kann die KI-Engine 412 der JARVIS KI-Plattform von NVIDIA Corporation entsprechen oder ähnlich sein und/oder kann einige oder alle der Komponenten, Merkmale und/oder Funktionalität umfassen, wie in der U.S. Patentanmeldung Nr. 15/809,84, eingereicht am 10. November 2017; U.S. Patentanmeldung Nr. 16/137,064, eingereicht am 20. September 2018; vorläufigen U.S. Patentanmeldung Nr. 62/648,358, eingereicht am 26. März 2018; vorläufigen U.S. Patentanmeldung Nr. 62/742,923, eingereicht am 8. Oktober 2018; U.S. Patentanmeldung Nr. 16/363,648, eingereicht am 25. März 2019; U.S. Patentanmeldung Nr. 16/773,883, eingereicht am 27. Januar 2020; vorläufigen U.S. Patentanmeldung Nr. 62/948,789, eingereicht am 16. Dezember 2019; vorläufigen U.S. Patentanmeldung Nr. 62/948,793, eingereicht am Dezember 16, 2019; vorläufigen U.S. Patentanmeldung Nr. 62/948,796, eingereicht am Dezember 16, 2019; U.S. Patentanmeldung Nr. 16/859, eingereicht am April 27, 2020; und/oder U.S. Patentanmeldung Nr. 16/867,395, eingereicht am 5. Mai 2020 beschrieben ist, von denen jede hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen ist.
  • Die KI-Engine 412 kann visuelle Hinweise, wie beispielsweise Gesten und Blicke zusammen mit Sprache in Kontext verwenden, um Antworten oder Kommunikationen - z.B., visuell, hörbar, mechanisch (über eine Benutzereingabevorrichtung) oder textlich - innerhalb einer Anwendung zu bestimmen. Beispielsweise kann die KI-Engine 412 Lippenposition und Lippenbewegung fusioniert mit Spracheingabe verwenden, um einen aktiven Sprecher zu identifizieren, und Blick kann verwendet werden, um zu verstehen, wenn der Sprecher den KI-Agenten, andere Leute im gleichen Ort als den Benutzer oder andere, die in einer Instanz der Anwendung teilnehmen, in Eingriff nimmt. Diese Kombination von Blick und Lippenbewegung kann einem Aktivierungsauslöser entsprechen, wie hier ausführlicher beschrieben ist. Die Fähigkeit der KI-Engine, multimodale Daten zu fusionieren, ermöglicht gleichzeitig Mehrfachbenutzern, Multikontextgespräche mit dem KI-Agenten - z.B. Gespräche, die aus einem tieferen Verständnis von Kontext als herkömmliche, streng verbale Kommunikation mit KI-Assistenten Nutzen ziehen.
  • Beispielsweise kann die KI-Engine 412 eine beliebige Anzahl von Merkmalen für Sprachaufgaben umfassen, wie beispielsweise Absichts- und Entitätsklassifizierung, Stimmungsanalyse, Dialogmodellierungsdomäne und Erfüllungszuordnung usw. In einigen Ausführungsformen kann die KI-Engine 412 Techniken der Verarbeitung natürlicher Sprache (NLP) oder ein oder mehrere neuronale Netzwerkmodelle verwenden, aufnehmen, entschlüsseln, wahrnehmen und/oder aus den eingehenden Audiodaten Sinn machen. Für Vision kann die KI-Engine 412 eine beliebige Anzahl von Merkmalen für Person, Gesicht und/oder Körper(Geste) Detektion und Verfolgung, Detektion von Schlüsselkörper oder Gesichtsorientierungspunkten und Körperposen, Gesten, Lippenaktivität, Blick und/oder andere Merkmale umfassen. Die KI-Engine 412 kann ferner fusionierte sensorische Wahrnehmung, Aufgaben oder Algorithmen umfassen, die sowohl Audio und Bilder zusammen analysieren, um Bestimmungen vorzunehmen. In Ausführungsformen kann einiges oder alles der Sprache, Vision und/oder fusionierten Aufgaben Modelle maschinellen Lernens und/oder tiefen Lernens (z.B., Jarvis von NVIDIA und Modellen zur Verarbeitung natürlicher Sprache) wirksam einsetzen, die auf kundenspezifizierten Daten trainiert werden können, um eine hohe Genauigkeit für den bestimmten Verwendungsfall oder die bestimmte Ausführungsform zu erreichen. Der KI-Agent kann, wie von der KI-Engine 412 verwaltet, innerhalb einer Cloud-basierten Umgebung, in einem Rechenzentrum und/oder am Rand eingesetzt werden.
  • In einigen Ausführungsformen kann(können) die KI-Agentenvorrichtung(en) 402 den KI-Agenten - z.B., unter Verwendung des Renderers 414 - erzeugen und rendern, sogar wo keine Kommunikation durch den KI-Agenten stattfindet. Beispielsweise kann der Renderer 414 weiterhin Bild oder graphische Daten, die dem virtuellen KI-Agenten entsprechen, innerhalb einer virtuellen Umgebung während einer Anwendungssitzung rendern, sogar wobei der KI-Agent nicht aktuell spricht, sich bewegt oder anderweitig als Reaktion auf oder basierend auf Eingaben von einem Benutzer interagiert. Auf diese Weise kann der Endbenutzer weiterhin eine Anzeige oder Darstellung des KI-Agenten - und entsprechender virtuellen Umgebung - sehen und verstehen, dass der KI-Agent zur Interaktion verfügbar ist. In anderen Ausführungsformen kann der KI-Agent lediglich beim aktiven Sprechen, Antworten und/oder nachdem ein Aktivierungsauslöser erfüllt ist, angezeigt oder präsentiert werden.
  • Die KI-Engine 412 kann in einigen Ausführungsformen lediglich die eingehenden Daten zum Identifizieren eines Aktivierungsauslösers für den KI-Agenten verarbeiten, bevor die eingehende Daten stärker verarbeitet werden. Beispielsweise kann, und um Datenschutzbedenken, Gesetzen und/oder Vorschriften zu entsprechen und zu beachten, ein Aktivierungsauslöser durch die KI-Engine überwacht werden, bevor eine Benutzereingabe (wie beispielsweise Sprache) zwischengespeichert (oder anderweitig gespeichert) und aktiv verarbeitet wird. Der Aktivierungsauslöser kann abhängig von bestimmten Ausführungsformen, Umgebungen oder Orten des KI-Agenten - oder der Benutzervorrichtung(en) 404 - der Art einer (von) E/A-Komponente(n) 420, welcher der Benutzervorrichtung(en) 404 verfügbar ist (z.B., wo keine Kamera vorhanden ist, kann der Aktivierungsauslöser lediglich hörbar sein), unterschiedlich sein. In einigen Ausführungsformen kann der Aktivierungsauslöser mehr als ein einziger Auslöser sein (z.B., erfordert die Aktivierung eine multimodale Auslösung), um sicherzustellen, dass Datenschutzbedenken eingehalten werden, um der KI-Engine 412 zu ermöglichen, den aktuellen Sprecher zum ordnungsgemäßen Reagieren auf eine irgendeine Anfrage oder Konversation genauer zu identifizieren und/oder mehr konversationellen Kontext oder Markierungen zu ermöglichen (z.B., auf eine Kamera schauen und sprechen, um während Konversation zu aktivieren - ist natürlicher als das Stoppen von Konversationen - um ein spezifisches auslösendes Wort oder eine spezifische auslösende Phrase zu sprechen). Beispielsweise kann der Aktivierungsauslöser das Analysieren von Bilddaten (z.B., Streaming-Video) umfassen, um zu bestimmen, dass ein Benutzer auf die Kamera schaut (z.B., Blickverfolgung) und dass der Benutzer spricht (z.B., durch Verfolgen von Lippenbewegung). Ein anderer Aktivierungsauslöser kann ein Bestimmen umfassen, dass ein Benutzer spricht und eine Geste des Benutzers bestimmen (z.B., Aktivierung kann stattfinden, wenn Sprache gehört wird und eine auslösende Geste, wie beispielsweise ein Winken mit der Hand, identifiziert ist). In einigen Ausführungsformen, wie beispielsweise in einer Umgebung, wo Sprache - oder laute Sprache - nicht erlaubt ist (z.B., einer Bibliothek, einem religiösen Gebäude usw.) oder ein Benutzer nicht imstande ist, zu sprechen, kann der Aktivierungsauslöser eine Bewegung oder Geste und/oder eine Eingabe in eine Vorrichtung (z.B., eine Taste, einen Hebel, eine Berührungsschnittstelle usw.) umfassen. In anderen Ausführungsformen kann der Aktivierungsauslöser jedoch eine einzige nicht verbale Aktivierung, wie beispielsweise eine Geste, ein Auslöserwort, eine Lippenbewegung, Starren auf die Kamera usw., umfassen. In einigen Ausführungsformen, wie beispielsweise, wo Datenschutzbedenken kein Problem sind oder ein Benutzer sich dafür ausgesprochen hat, Audio und/oder Video konstant aufzuzeichnen, kann keine Auslöseraktivierung verwendet werden, - obwohl Audio, Text und/oder Video immer noch überwacht werden kann, um zu bestimmen, wenn ein Benutzer den KI-Agenten adressiert.
  • In bestimmten Ländern, Regionen oder Rechtsprechungen können die Gesetze, Regeln, Vorschriften und/oder Datenschutzbedenken kein konstantes Aufzeichnen von Audio oder Sprache in öffentlichen Plätzen ermöglichen, so dass die Aktivierungsauslöser vollständig Vision-basiert sein können - z.B., unter Verwendung eines Rollpuffers. Die Gesetze, Regeln, Vorschriften und/oder Datenschutzbedenken von bestimmten Ländern, Regionen oder Rechtsprechungen können kein konstantes Aufzeichnen von Video und/oder Audio auf Privateigentum ermöglichen, kann jedoch das Aufzeichnen einem Rollpuffer von Video und/oder Audio und die Verarbeitung diesem Rollpuffer ermöglichen, um zu bestimmen, ob ein Aktivierungsauslöser vorhanden ist. In einer beliebigen Ausführungsform können, sobald ein Aktivierungsauslöser erfüllt ist, die Mikrophone, Kameras und/oder andere E/A-Komponente(n) 420 erschlossen werden (z.B., aktiviert werden, um Benutzereingabe über auslösende Ereignisse hinaus zu hören, zu überwachen oder zu beobachten) und die Daten können durch die KI-Engine 412 verarbeitet werden, um eine Antwort und/oder eine andere Kommunikation zu bestimmen. Die Daten können nur während einer einzigen hin und her Kommunikation zeitlich unbegrenzt verarbeitet werden, die einen anderen Auslöser erfordert, um die Verarbeitung fortzusetzen, bis ein Deaktivierungsauslöser erfüllt ist (z.B. ein Auslöserwort, wie beispielsweise Stopp, Anhalten usw., eine Auslösergeste, ein Fehlen von Sprache, Bewegung, Schauen auf die Kamera oder andere Interaktionen innerhalb eines Schwellenzeitraums von wahrgenommener Inaktivität usw.)
  • Die eingehende Daten - z.B., visuell, textlich, hörbar usw. - können von der KI-Engine 412 analysiert werden, um eine textlich, visuelle und/oder hörbare Antwort oder Kommunikation - die unter Verwendung von dreidimensionalen (3D) Graphik dargestellt wird - für den KI-Agenten zu bestimmen. Beispielsweise kann die KI-Engine 412 Ausgabetext für Text-zu-Sprache Verarbeitung erzeugen - z.B. unter Verwendung eines oder mehrerer Modelle maschinellen Lernens oder Modelle tiefen Lernens - um Audiodaten zu erzeugen. Diese Audiodaten können an die Benutzervorrichtung(en) 404 - über die Host-Vorrichtung(en) 406, in Ausführungsformen - zur Ausgabe durch einen Lautsprecher oder einer anderen E/A-Komponente(en) 420 der Benutzervorrichtung(en) 404 übertragen werden. In einigen Ausführungsformen können die Audiodaten verwendet werden, um das Verhalten des KI-Agenten innerhalb einer virtuellen Umgebung zu beeinflussen. Beispielsweise können die Audiodaten verwendet werden, um dem KI-Agenten zu ermöglichen, mit dem Audio zu Lippen-synchronisieren, so dass es scheint, dass die Sprache des KI-Agenten natürlich von dem KI-Agenten ausgeht, um einem zwischenpersönlichen Gespräch zu ähneln. Dies kann unter Verwendung von Audio-zu-Gesicht-Algorithmen oder Lippen-synchronisierende Algorithmen abgeschlossen werden, die Modelle maschinellen Lernens oder tiefen Lernens umfassen können, die eine 3D-graphische Gesichtsanimation vorantreiben können, die der Audioausgabe durch den KI-Agenten entspricht. Geeignete Audio-zu-Gesicht-Algorithmen können einige oder alle der Komponenten, Merkmale und/oder Funktionalität umfassen, wie in der am 29. November 2017 eingereichten U.S. Patentanmeldung Nr. 15/826,430 beschrieben ist, die hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen ist.
  • Von daher können die Lippen des KI-Agenten mit der virtuellen Umgebung gesteuert werden, um den Audiodaten - oder mindestens den Abschnitten der Sprache darstellendes Audio - zu entsprechen. Zusätzlich zu der Sprache kann es zusätzliche Audiodaten geben, die Hintergrundgeräuschen oder -rauschen, Musik, Tönen, Umgebungsgeräuschen, anderen KI-Agenten, virtuellen Bots und/oder anderen Quellen entsprechen. Letztendlich können die Audiodaten, welche die Sprache des KI-Agenten und andere Audioquellen - z. B. als ein Audio-Stream - umfassen, an die Benutzervorrichtung(en) 404 (z.B., über die Host-Vorrichtung(en) 406, in Ausführungsformen) übertragen werden.
  • Zusätzlich zu Audio kann eine Antwort oder Kommunikation durch einen KI-Agenten simulierte physikalische Bewegungen, Gesten, Körperhaltungen, Posen und/oder dergleichen umfassen, die in der virtuellen Welt dargestellt werden können. Das Erscheinungsbild, Gesten, Bewegungen, Körperhaltung und/oder andere Informationen, die dem KI-Agenten entsprechen - zusätzlich zu der virtuellen Umgebung, in welcher der KI-Agent lokalisiert ist - können durch graphische Daten dargestellt werden. Diese graphischen Daten können durch den Renderer 414 gerendert werden, um Anzeigedaten oder Bilddaten zu erzeugen, die zu der(den) Benutzervorrichtung(en) 404 zur Darstellung auf einer Anzeige 422 gestreamt werden können.
  • Die KI-Engine 412 kann die simulierten physikalischen Eigenschaften der KI-Agenten basierend auf einer Analyse der eingehenden Daten, der allgemeinen Art oder Persönlichkeit des KI-Agenten und/oder die bestimmte textliche, hörbare und/oder visuelle Antwort oder Kommunikation durch den KI-Agenten bestimmen. Beispielsweise können, wo die KI-Engine 412 bestimmt, dass ein aktuelle Sprecher wütend oder traurig ist, diese Informationen wirksam eingesetzt werden, um den KI-Agenten zu simulieren, der geeignet ist, zu reagieren (z.B., unter Verwendung eines sanften, erhebenden oder tröstenden Tons oder Ausdrucksweise). Wo die KI-Engine 412 bestimmt, dass eine bestimmte Geste oder Körperhaltung der gesprochenen Antwort des KI-Agenten angepasst ist, kann der KI-Agent als solcher innerhalb der virtuellen Umgebung gesteuert werden. Von daher kann ein Körper und/oder ein Gesicht des KI-Agenten animiert werden, so dass der KI-Agent seinen eigenen Satz von Emotionen für die virtuelle Kamera ausdrücken kann.
  • Ähnlich zu dem KI-Agenten kann die virtuelle Umgebung, in welcher der KI-Agent lokalisiert ist, erzeugt werden, um bei der Antwort zu helfen. Wo beispielsweise eine Anfrage für Wetter in einer bestimmten Nachbarschaft der realen Welt empfangen wird und das Wetter regnet, kann eine virtuelle Darstellung des Ortes mit wolkigem Himmel und fallendem Regen erzeugt werden und der KI-Agent dazu gebracht werden, mürrisch (z.B., krumm, mit einem traurigen Gesicht) zu erscheinen. Auf ähnliche Weise kann sich, wo ein bestimmtes Lied angefragt wird, der KI-Agent zum Takt des Liedes bewegen oder drehen und das Lied - z.B., mit synchronisierten Lippen singen. In einigen Beispielen kann die virtuelle Umgebung in einer einzigen Instanz einer Anwendung oder während einer einzigen Anfrage-Antwort-Kommunikation aktualisiert werden. Beispielsweise kann, um zusätzlichen Kontext bereitzustellen, die virtuelle Umgebung geändert werden, um neue Orte zu reflektieren, so dass der KI-Agent im Wesentlichen erscheinen kann, von einem virtuellen Ort zu einem anderen zu teleportieren. In einigen Ausführungsformen, wo die Erläuterung für eine andere Domäne besser geeignet ist, kann sich zusätzlich zum Ändern der Umgebung oder des Ortes der bestimmte KI-Agent ebenfalls ändern. Wo ein Benutzer beispielsweise nach Informationen über das Wetter in der Stadt London fragt, kann ein Wetter-basierter KI-Agent innerhalb einer gerenderten virtuellen Umgebung dargestellt werden, die einem Stadtbild von London entspricht, und wenn der Benutzer eine Folgefrage über die Historie von London fragt, kann ein Historie-fokussierte KI-Agent innerhalb oder nahe einem Photograph verwendet oder das gerenderte Bild eines historischen Gebäudes in London dargestellt werden.
  • In einigen Ausführungsformen kann die virtuelle Umgebung eine Darstellung von Text oder eines Dokuments umfassen. Wo ein Benutzer beispielsweise mit einem KI-Agenten interagiert, der einer Bank oder einem anderen Finanzinstitut zugeordnet ist, kann die virtuelle Umgebung den KI-Agenten umfassen, der vor einem graphischen Rendering eines Kontoauszugs steht oder diesen hält, der durch den Benutzer angefragten Informationen entspricht. In einem derartigen Beispiel kann die Kommunikation zwischen dem Benutzer und dem KI-Agenten sicherer sein, da die Bankinformationen nicht in einer indexierbaren Form übertragen werden und weniger strukturiert als beispielsweise eine E-Mail mit einem Kontoauszug ist. Von daher kann die visuelle, hörbare und/oder textuelle Antwort der KI-Agentenvorrichtung(en) 402 sicherer und privater als eine E-Mail, SMS oder Textnachrichtkommunikation der gleichen Informationen sein.
  • In einigen Ausführungsformen kann der KI-Agent mit Objekten, Merkmalen oder Elementen in der virtuellen Umgebung interagieren, um bei der Antwort oder Interaktion mit einem Benutzer zu helfen. Um beispielsweise eine Demonstration bereitzustellen, um bei einer Interaktion zu helfen, kann der KI-Agent virtuell mit der Umgebung interagieren. Wo eine Anwendung verwendet wird, um einen architektonischen Plan zu erläutern, kann auf eine Anwendungsdatei einer computerunterstützten Konstruktion (Computer Aided Design; CAD) zugegriffen und verwendet werden, um ein Rendering der virtuellen Umgebung zu erzeugen. Beispielsweise kann der architektonische Plan innerhalb der virtuellen Umgebung des KI-Agenten instanziiert werden, so dass der KI-Agent mit dem Plan oder Abschnitten/Elementen des Plans interagieren kann. Dies kann ein Zeigen auf Merkmale von oder ein Bewegen herum innerhalb oder mit Bezug auf den architektonischen Plan umfassen. Wo die eingehenden Daten eine Anfrage umfassen, um einen Abschnitt des Plans zu modifizieren, kann der KI-Agenten eine Geste durchführen und der architektonische Plan kann gemäß der Anfrage modifiziert werden. Wo beispielsweise ein Fenster ohne einen visuellen Hinweis erwähnt wird, kann der Ort des Fensters und die Erläuterung um das Fenster herum weniger informativ sein. Die Verwendung der KI-Engine 412, die Ansicht der virtuellen Umgebung - z.B., von einem virtuellen Blickfeld einer virtuellen Kamera - kann aktualisiert werden, um das Fenster in einer Erläuterung zu umfassen. Außerdem kann der KI-Agent auf das Fenster, von dem hier die Rede ist, zeigen oder es anderweitig angeben und das System 400 kann Aktualisierungen an dem Fenster durch Kommunikation mit der CAD-Anwendung vornehmen, die zu dem System 400 zum Aktualisieren der virtuellen Umgebung basierend auf der aktualisierten CAD-Datei zurückgespeist werden können.
  • In einigen Ausführungsformen kann zusätzlich zum Analysieren der eingehenden textlichen, visuellen Benutzereingabe und/oder Audiodaten von Benutzern, auf Benutzerprofile oder Benutzerinformationen der Benutzer zugegriffen werden, um textliche, hörbare und/oder visuelle Antworten durch den KI-Agenten zu bestimmen. Wo ein Benutzer beispielsweise fragt, was das Wetter ist, kann die Ortsinformation des Benutzers wirksam eingesetzt werden, um eine ordnungsgemäße Antwort auf den bestimmten Ort zu bestimmen. In einem derartigen Beispiel kann die virtuelle Umgebung ebenfalls aktualisiert werden, um den Ort zu reflektieren - z.B., um ein Teil des Ortes oder ein identifizierendes Merkmal des Ortes, wie beispielsweise den Eiffelturm in Paris, zu umfassen. Auf ähnliche Weise können Benutzerpräferenzen oder andere Informationen wirksam eingesetzt werden, um geeignet zu reagieren oder mit Benutzern zu interagieren. In einigen Ausführungsformen können diese Informationen während der Instanz von einer Anwendung - z.B., während einer Videokonferenz - basierend auf Sprache, Bewegungen usw. des Benutzers gesammelt werden. Wenn ein Benutzer beispielsweise erwähnt, dass sie in ihrem Haus in New York Stadt sind, können diese Informationen gespeichert werden, so dass, wenn der Benutzer später fragt, „wie ist der Verkehr zu Hause?“, die Antwort auf die bereits bekannte Ortsinformation basiert.
  • Personalisierte Modelle können für unterschiedliche Benutzer im Laufe der Zeit erzeugt werden, so dass die KI-Engine 412 lernen kann, wie ein bestimmter Benutzer aussieht, wenn sie glücklich, traurig usw. sind, und/oder Sprachmuster, Sprachfiguren und/oder andere Benutzer-spezifischen Informationen eines bestimmten Benutzers zu lernen, die verwendet werden können, um die KI-Engine 412 auf den bestimmten Benutzer maßzuschneidern. Diese Informationen können in einem Benutzerprofil der KI-Agentenvorrichtung(en) 402 gespeichert werden. Auf ähnliche Weise kann durch Studieren einer beliebigen Anzahl von Benutzern die KI-Engine 412 und der Renderer 414 - und/oder die zugrundeliegenden Modelle maschinellen Lernens oder die damit zugeordneten Modelle tiefen Lernens - lernen, wie eine 3D-graphische Rendering der KI-Agenten in der virtuellen Umgebungen wirksam zu dramatisieren und/oder zu animieren ist, so dass die KI-Agenten kommunizieren können und menschlicher erscheinen. Entlang der gleichen Linien, wo der KI-Agent einem (anthropomorphischen) Tier, einem Roboter, einem Objekt usw. ähneln soll, kann die KI-Engine 412 von Daten lernen, die den Versionen der realen Welt des KI-Agenten entsprechen, um das Tier, den Roboter, das Objekt, das Fahrzeug usw. in der virtuellen Umgebung genauer zu simulieren.
  • Die KI-Engine 412 kann eine beliebige Anzahl von KI-Agenten unterstützen. Beispielsweise können unterschiedliche KI-Agenten für unterschiedliche Domänen oder Fähigkeiten programmiert sein. Von daher kann ein Benutzer einen spezifischen KI-Agenten anfragen oder ein bestimmter KI-Agenten kann von der KI-Engine 412 basierend auf den eingehenden Daten ausgewählt werden (z.B., wo eine Anfrage für Wetter ist, kann ein Wetter-KI-Agent instanziiert werden, wo eine Anfrage für Finanz ist, kann ein Finanz-KI-Agent instanziiert werden, wo eine Anfrage für einen Kauf ist, kann ein Einkauf-KI-Assistent erzeugt werden usw.). Als Ergebnis dessen, dass der KI-Agent einer bestimmten Domäne(n) entspricht, können Kommunikationen zwischen Benutzern und dem KI-Agenten erfolgreicher sein, da es wahrscheinlicher ist, das die Anfragen, Befehle, Fragen, Anfragen usw. wahrscheinlicher zu der ordnungsgemäßen Antwort oder konversationellen Logik und Tools für diese Domäne geleitet werden.
  • Der Renderer 414 kann Anzeigedaten oder Bilddaten von den graphische Daten und/oder unter Verwendung eines oder mehrerer Modelle einer virtuellen Umgebung oder Welt (z.B., Daten, welche die virtuellen Umgebung oder Welt darstellen, die einen virtuellen KI-Agenten umfassen) zur Übertragung an und/oder Darstellung durch die(den) Benutzervorrichtung(en) 404 rendern. In einigen Ausführungsformen können die Bilddaten oder Anzeigedaten gerendert werden, um eine Teilmenge von graphischen Daten darzustellen, die einem Abschnitt der virtuellen Umgebung entsprechen, wie von einem virtuellen Blickfeld einer virtuellen Kamera erfasst. Außerdem können die Audiodaten an Benutzervorrichtung(en) 404 übertragen und/oder durch diese ausgegeben werden. Ferner können Textdaten von dem KI-Agenten an die Benutzervorrichtung(en) 404 übertragen und/oder durch diese angezeigt werden. Von daher können Kommunikationen - z.B., von textlichen, visuellen und/oder hörbaren Daten - zwischen der Client-Anwendung 416A und der Client-Anwendung 416B über die Host-Anwendung 426 in Ausführungsformen ausgetauscht werden. Die Anzeigedaten, Bilddaten, Textdaten und/oder Audiodaten können als ein Stream(s) von Daten während einer Instanz der Anwendung - z.B., der Client-Anwendung 416A, 416B und der Host-Anwendung 426 - übertragen werden.
  • In einigen Ausführungsformen kann der Renderer 414 dem Omniverse Kit von NVIDIA Corporation entsprechen oder ähnlich sein und/oder kann einigen oder all der Komponenten, Merkmale und/oder Funktionalität umfassen, wie in der vorläufigen U.S. Patentanmeldung Nr. 62/717,730, eingereicht am 10. August 2018; der U.S. Patentanmeldung Nr. 16,538,594, eingereicht am 12. August 2019; der U.S. Patentanmeldung Nr. 16,538,594, eingereicht am 22. März 2020; und/oder der vorläufigen U.S. Patentanmeldung Nr. 62/879,901, eingereicht am 29. Juli 2019, beschrieben, wobei jede davon hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen ist. Beispielsweise kann der Renderer 414 einem NVIDIA RTX RENDERER entsprechen.
  • Der Renderer 414 kann eine beliebige Anzahl von GPUs - und/oder Knoten davon - für Rendering die Anzeigedaten oder Bilddaten von die graphische Daten wirksam einsetzen. Beispielsweise können Strahlenverfolgung - z.B., Echtzeit Strahlenverfolgung - und/oder Pfadverfolgung unter Verwendung einer oder mehrerer GPUs ausgeführt werden, um photorealistischere Renderings zu erzeugen. Der Renderer 414 kann, in einigen nicht einschränkenden Ausführungsformen das Universal Scene Description (USD) Format von PIXAR und/oder eine andere 3D-Szenenbeschreibung und Dateiformat zur Erzeugung und Austausch von Inhalt zwischen und unter verschiedenen unterschiedlichen Tools verwenden. Sobald gerendert, kann die graphische und/oder Audioausgabe komprimiert/codiert werden, bevor sie an eine Rechenvorrichtung übertragen wird, die Benutzern oder Teilnehmern entspricht, die mit dem KI-Agenten interagieren, wobei die komprimierten oder codierten Daten vor der Präsentation dekomprimiert (decodiert) werden.
  • Mit Bezug auf die Benutzervorrichtung(en) 404 kann(können) die Eingabe/Ausgabe(E/A)-Komponente(n) 420 eine beliebige Art von Vorrichtungen umfassen, die imstande sind, Eingaben bereitzustellen, Eingaben zu empfangen und/oder Ausgaben zu erzeugen. Beispielsweise kann(können) die Eingabevorrichtung(en) der E/A-Vorrichtung(en) 420, ohne Beschränkung, eine Tastatur, eine Maus, eine Touchscreen-Anzeige, einen Controller, eine Fernbedienung(en), einen Headset, ein Stylus, ein Mikrophon, eine Kamera und/oder andere Arten von Eingabevorrichtungen umfassen. Die Ausgabevorrichtung(en) der E/A-Komponente(en) 420 kann(können), ohne Beschränkung, ein Lautsprecher, eine Anzeige, eine Lichtquelle, eine haptische Rückkopplungsvorrichtung (z.B., einen Vibrationsmotor) und/oder andere Arten von Ausgabevorrichtungen umfassen. In einigen Ausführungsformen können, wie hier beschrieben, die KI-Agentenvorrichtung(en) 402 virtuelle oder simulierte E/A-Komponenten - ähnlich zu der(den) E/A-Komponente(n) 420 der Benutzervorrichtung(en) 404 - wirksam einsetzen, um innerhalb des Systems 400 zu kommunizieren. Für ein nicht einschränkendes Beispiel können Kommunikationen von dem KI-Agenten von einem virtuellen Blickfeld einer virtuellen Kamera in einer virtuellen Umgebung und/oder von einem virtuellen Audiosensor eines virtuellen Mikrophons (oder einem damit verbundenen virtuellen Audiokabel) in einer virtuellen Umgebung erfasst werden. Von daher kann(können) die KI-Agentenvorrichtung(en) 402 - z.B., unter Verwendung des Renderers 414 und/oder der KI-Engine 412 - Daten von innerhalb der virtuellen Umgebung und/oder die dem KI-Agenten entsprechen unter Verwendung einer oder mehreren virtuellen E/A-Komponenten erfassen.
  • Bezugnehmend nun auf 5 kann die konversationelle KI-Plattform 500 verwendet werden, um einem KI-Agenten über die KI-Agentenvorrichtung(en) 502 zu ermöglichen, auf Abfragen von einem oder mehreren Benutzern über die Benutzervorrichtung(en) 504 zu antworten. In einem derartigen Beispiel können die Client-Anwendung 516A und 516B Endbenutzeranwendungsversionen der konversationellen KI-Plattform entsprechen und die Host-Vorrichtung(en) 506 kann(können) die Host-Anwendung 526 umfassen, welche die KI-Agenten hostet.
  • Für jede Benutzervorrichtung 504 kann(können) ein Benutzer(en) 530 Eingaben an eine oder mehrere E/A-Komponenten 520 bereitstellen und/oder die E/A-Komponenten 520 können Daten erzeugen. Beispielsweise kann eine Kamera - z.B., eine Web-Cam - kann ein Video-Stream von ihrem Blickfeld (das den Benutzer umfassen kann), ein Mikrophon kann einen Audio-Stream und/oder eine Tastatur erfassen, eine Maus oder andere Eingabevorrichtungen können ein Text-Stream oder andere Eingabe-Streams erfassen. In einigen Ausführungsformen kann, während einiger oder aller Instanzen der Anwendung des KI-Agenten und/oder einer virtuellen Umgebung davon auf der Anzeige 522 basierend auf empfangenen Anzeigedaten oder Bilddaten dargestellt werden, die einem Rendering der graphische Daten entsprechen, die für die virtuelle Umgebung repräsentativ ist.
  • Diese Streams von Audio-, Video- und/oder Textdaten können von der Client-Anwendung 516B empfangen und - z.B., nach dem Codieren - an die Host-Vorrichtung(en) 506 übertragen werden und die Host-Vorrichtung(en) 506 kann(können) die Daten analysieren, verarbeiten, übertragen und/oder an die Client-Anwendung 516A der KI-Agentenvorrichtung(en) 502 weiterleiten. Die KI-Engine 512 kann auf die Video-, Audio- und/oder Text-Streams der Client-Anwendung 516A zugreifen und/oder empfangen und kann die Daten verarbeiten, um eine Antwort oder Kommunikation für den KI-Agenten zu bestimmen, und/oder der Renderer 514 kann eine beliebige Aktualisierung(en) an der entsprechenden virtuellen Umgebung erzeugen. In einigen Ausführungsformen können Anmerkungen, Frage-Antwort-Dialogboxinformationen und/oder andere Informationen, die der Konversations-KI-Plattform zugeordnet sind, von der KI-Engine 512 empfangen und verarbeitet werden. Von daher können, sobald die textliche, visuelle und/oder hörbare Antwort oder Kommunikation des KI-Agenten bestimmt ist, der KI-Agent und die virtuellen Umgebung demgemäß aktualisiert werden und Anzeigedaten und/oder Bilddaten, die von den graphischen Daten erzeugt werden - z.B., von einem virtuellen Blickfeld oder einem oder mehreren virtuellen Sensoren, wie beispielsweise Kameras, Mikrophone usw. - können unter Verwendung des Renderers 514 gerendert werden. Ein Stream-Manager 528 kann die gerenderten Daten empfangen und einen Video-Stream, einen Audio-Stream, einen Text-Stream und/oder codierte Darstellungen davon erzeugen und diese Informationen der Client-Anwendung 516A bereitstellen. In einigen Ausführungsformen kann der Stream-Manager 528 jede beliebige geeignete virtuelle Kamerasoftware wirksam einsetzen, wie beispielsweise das virtuelle Kameramerkmal, das durch offene Rundsendesoftware (OBS) bereitgestellt wird. Als Ergebnis kann, obwohl der KI-Agent keine reale Entität ist - z.B. ein Benutzer 530 ist - die Client-Anwendung 516A einen Video-, Audio- und/oder Text-Stream empfangen, der den KI-Agenten darstellt, als ob er durch eine beliebige andere Benutzervorrichtung(en) 504 erzeugt wird. Von daher können die Client-Anwendung 516A, die Client-Anwendung 516B und/oder die Host-Anwendung 526 keine Kenntnis erfordern, dass der KI-Agent vorhanden ist - z.B. kann die KI-Agentenvorrichtung(en) 502 durch die Host-Vorrichtung(en) 506 als eine andere Benutzervorrichtung(en) 504 behandelt werden. Die KI-Agentenvorrichtung(en) 502 - und die Merkmale und Funktionalität davon - kann(können) auf eine beliebige konversationelle KI-Plattform ohne ein Erfordernis für eine dem KI-Agenten entsprechenden API angewandt werden, weil die Kommunikation der Client-Anwendung 516 mit einer oder mehrere existierenden APIs der Host-Anwendung 526 ausreichend sein kann, um den KI-Agenten zu implementieren.
  • Die Host-Vorrichtung(en) 506 kann dann die Video-, Audio- und/oder Text-Streams, die dem KI-Agenten entsprechen, analysieren, verarbeiten, übertragen und/oder an die Benutzervorrichtung(en) 504 weiterleiten, und die Client-Anwendung 516B kann eine Darstellung der Daten über die Anzeige und/oder Ausgabe der Daten (z.B., Audiodaten) über die E/A-Komponente(n) 520 veranlassen.
  • Dieser Prozess kann während Zeiten fortgesetzt werden, wenn der KI-Agent angezeigt oder dargestellt werden soll - z.B. der gesamten Zeit, lediglich nachdem Aktivierungskriterien erfüllt sind und bis eine gegebene Interaktion abgeschlossen ist, den Rest der Zeit, nachdem Aktivierungskriterien erfüllt sind, bis der KI-Agent zum Verlassen aufgefordert oder von der Konferenz entfernt wird, usw.
  • BEISPIELHAFTES RECHENZENTRUM
  • 7 veranschaulicht ein beispielhaftes Rechenzentrum 700, das in mindestens einer Ausführungsform verwendet werden kann. Das Rechenzentrum 700 kann in einer Rechenzentrum-Infrastrukturschicht 710, eine Framework-Schicht 720, eine Softwareschicht 730 und/oder eine Anwendungsschicht 740 umfassen.
  • Wie in 7 gezeigt, kann die Rechenzentrum-Infrastrukturschicht 710 einen Ressourcenorchestrator 712, gruppierte Rechenressourcen 714 und Knotenrechenressourcen („Knoten-C.R.“) 716(1)-716(N) umfassen, wobei „N“ eine positive ganze Zahl darstellt. In mindestens einer Ausführungsform können die Knoten-C.R.s 716(1)-716(N), sind jedoch nicht beschränkt auf, eine beliebige Anzahl von zentralen Verarbeitungseinheiten („CPUs“) oder anderen Prozessoren (einschließlich DPUs, Beschleunigern, feldprogrammierbaren Gate-Arrays (FPGAs), Graphikprozessoren oder Graphikverarbeitungseinheiten (GPUs) usw.) Speichervorrichtungen (z.B. dynamischer Nur-Lese-Speicher), Speichervorrichtungen (z.B. Festkörper- oder Festplattenlaufwerke), Netzwerk-Eingabe-/Ausgabe („NW E/A“)-Vorrichtungen, Netzwerkschalter, virtuelle Maschinen („VMs“), Leistungsmodule und Kühlmodule usw. umfassen. In mindestens einer Ausführungsform können ein oder mehrere Knoten-C.R.s aus den Knoten-C.R.s 716(1)-716(N) einem Server mit einer oder mehreren der oben erwähnten Rechenressourcen entsprechen. Außerdem können in einigen Ausführungsformen die Knoten-C.R.s 716(1)-71(N) eine oder mehrere virtuelle Komponenten, wie beispielsweise vGPUs, vCPUs und/oder dergleichen und/oder einer oder mehrere der Knoten-C.R.s 716(2)-716(N) können einer virtuellen Maschine (VM) entsprechen.
  • In mindestens einer Ausführungsform können gruppierte Rechenressourcen 714 separate Gruppierungen von Knoten-C.R.s. umfassen, die in einem oder mehreren Racks (nicht gezeigt) untergebracht sind, oder in vielen Racks, die in Rechenzentren an verschiedenen geografischen Standorten (ebenfalls nicht gezeigt) untergebracht sind. Separate Gruppierungen von Knoten-C.R.s. innerhalb gruppierter Rechenressourcen 714 können gruppierte Rechen-, Netzwerk-, Speicher- oder Speicherungsressourcen umfassen, die konfiguriert oder zugeteilt sein können, um eine oder mehrere Arbeitslasten zu unterstützen. In mindestens einer Ausführungsform können mehrere Knoten-C.R.s einschließlich CPUs, GPUs, DPUs und/oder andere Prozessoren innerhalb eines oder mehrerer Racks gruppiert sein, um Rechenressourcen zur Unterstützung einer oder mehrerer Arbeitslasten bereitzustellen. In mindestens einer Ausführungsform können ein oder mehrere Racks ebenfalls eine beliebige Anzahl von Leistungsmodulen, Kühlmodulen und/oder Netzwerkschaltern und in beliebiger Kombination umfassen.
  • Der Ressourcenorchestrator 712 kann eine oder mehrere Knoten-C.R.s 716(1)-716(N) und/oder gruppierte Rechenressourcen 714 konfigurieren oder anderweitig steuern. In mindestens einer Ausführungsform kann der Ressourcenorchestrator 712 eine Software-Design-Infrastruktur („SDI“)-Verwaltungsentität für das Rechenzentrum 700 umfassen. Der Ressourcenorchestrator 712 kann Hardware, Software oder eine Kombination davon umfassen.
  • In mindestens einer Ausführungsform umfasst, wie in 7 gezeigt, die Framework-Schicht 720 einen Job-Scheduler 732, einen Konfigurationsmanager 734, einen Ressourcenverwalter 736 und ein verteiltes Dateisystem 738. Die Framework-Schicht 720 kann ein Framework zur Unterstützung der Software 732 der Softwareschicht 730 und/oder eine oder mehrere Anwendungen 742 der Anwendungsschicht 740 umfassen. Die Software 732 oder die Anwendung(en) 742 können jeweils webbasierte Dienstsoftware oder Anwendungen umfassen, wie beispielsweise jene, die von Amazon Web Services, Google Cloud und Microsoft Azure bereitgestellt werden. Ohne darauf beschränkt zu sein, kann die Framework-Schicht 720 eine Art Framework für eine freie und quelloffene Software-Webanwendung-Framework wie beispielsweise Apache Spark™ (nachfolgend als „Spark“ bezeichnet) sein, welches das verteilte Dateisystem 738 für eine groß angelegte Datenverarbeitung (z.B. „big data“) verwenden kann. In mindestens einer Ausführungsform kann der Job-Scheduler 732 einen Spark-Treiber umfassen, um die Planung von Arbeitslasten zu erleichtern, die von verschiedenen Schichten des Rechenzentrums 700 unterstützt werden. Der Konfigurationsmanager 734 kann in der Lage sein, verschiedene Schichten wie beispielsweise die Softwareschicht 730 und die Framework-Schicht 720 einschließlich Spark und des verteilten Dateisystems 728 zur Unterstützung der groß angelegten Datenverarbeitung zu konfigurieren. In mindestens einer Ausführungsform kann der Ressourcenverwalter 726 in der Lage sein, geclusterte oder gruppierte Rechenressourcen zu verwalten, die zur Unterstützung des verteilten Dateisystems 728 und des Job-Planers 722 gemappt oder zugeteilt sind. In mindestens einer Ausführungsform können geclusterte oder gruppierte Rechenressourcen die gruppierte Rechenressource 714 auf der Rechenzentrum-Infrastrukturschicht 710 umfassen. Der Ressourcenverwalter 736 kann mit dem Ressourcenorchestrator 712 koordinieren, um diese gemappten oder zugeteilten Rechenressourcen zu verwalten.
  • In mindestens einer Ausführungsform kann die in der Softwareschicht 730 enthaltene Software 732 Software, die von mindestens Teilen der Knoten-C.R.s 716(1)-716(N) verwendet wird, gruppierte Rechenressourcen 714 und/oder das verteilte Dateisystem 738 der Framework-Schicht 720 umfassen. Eine oder mehrere Arten von Software können, ohne darauf beschränkt zu sein, Internet-Webseiten-Suchsoftware, E-Mail-Virenscanner-Software, Datenbanksoftware und Streaming- Videoinhalt-Software umfassen.
  • In mindestens einer Ausführungsform kann(können) die in der Anwendungsschicht 740 enthaltene(n) Anwendung(en) 742 eine oder mehrere Arten von Anwendungen, die von mindestens Teilen der Knoten-C.R.s 716(1)-716(N) verwendet werden, gruppierte Rechenressourcen 714 und/oder das verteilte Dateisystem 738 der Framework-Schicht 720 umfassen. Eine oder mehrere Arten von Anwendungen können umfassen, ohne darauf beschränkt zu sein, eine beliebige Anzahl von genomischen Anwendungen, ein kognitives Berechnen und Anwendungen maschinellen Lernens, einschließlich Trainings- oder Inferenzsoftware, Framework-Software für maschinelles Lernen (z.B. PyTorch, TensorFlow, Caffe usw.) oder andere Anwendungen maschinellen Lernens, die in Verbindung mit einer oder mehreren Ausführungsformen verwendet werden.
  • In mindestens einer Ausführungsform kann jeder der Konfigurationsmanagers 734, der Ressourcenmanager 736 und der Ressourcenorchestrator 712 eine beliebige Menge und der Art von Daten, die in beliebig technisch machbarer Weise erfasst wurden, eine beliebige Anzahl und Art von selbstmodifizierenden Aktionen implementieren. Selbstmodifizierende Aktionen können einen Betreiber des Rechenzentrums 700 davon befreien, möglicherweise schlechte Konfigurationsentscheidungen zu treffen, und möglicherweise ungenutzte und/oder schlecht funktionierende Abschnitte eines Rechenzentrums zu vermeiden.
  • Das Rechenzentrum 700 kann Tools, Dienste, Software oder andere Ressourcen umfassen, um ein oder mehrere Modelle maschinellen Lernens zu trainieren oder Informationen unter Verwendung eines oder mehrerer Modelle maschinellen Lernens vorherzusagen oder abzuleiten, gemäß einer oder mehrerer hier beschriebener Ausführungsformen. Beispielsweise kann(können) ein Modell(e) maschinellen Lernens trainiert werden, indem Gewichtsparameter gemäß einer neuronalen Netzwerkarchitektur unter Verwendung der vorstehend in Bezug auf das Rechenzentrum 700 beschriebenen Software und Rechenressourcen berechnet werden. In mindestens einer Ausführungsform können trainierte Modelle maschinellen Lernens, die einem oder mehreren neuronalen Netzwerken entsprechen, verwendet werden, um Informationen unter Verwendung der vorstehend in Bezug auf das Rechenzentrum 700 beschriebenen Ressourcen unter Verwendung von Gewichtsparametern, die durch eine oder mehrere der hier beschriebenen Trainingstechniken berechnet wurden, abzuleiten oder vorherzusagen, wie beispielsweise, jedoch nicht begrenzt auf jene, die hier beschrieben sind.
  • In mindestens einer Ausführungsform kann das Rechenzentrum 700 CPUs, anwendungsspezifische integrierte Schaltungen (ASICs), GPUs, FPGAs oder andere Hardware verwenden, um ein Training und/oder Inferenzieren unter Verwendung der vorstehend beschriebenen Ressourcen durchzuführen. Außerdem können eine oder mehrere der vorstehend beschriebenen Software- und/oder Hardware-Ressourcen als ein Dienst konfiguriert sein, um Benutzern zu erlauben, Informationen, wie beispielsweise Bilderkennung, Spracherkennung oder andere Dienste künstlicher Intelligenz, zu trainieren oder eine Inferenzierung derselben durchzuführen.
  • BEISPIELHAFTE NETZWERKUMGEBUNGEN
  • Netzwerkumgebungen, die für die Implementierung von Ausführungsformen der Offenbarung geeignet sind, können ein oder mehrere Client-Vorrichtungen, Server, Network Attached Storage (NAS), andere Backend-Vorrichtungen und/oder andere Vorrichtungstypen umfassen. Die Client-Vorrichtungen, Server und/oder andere Vorrichtungstypen (z.B. jede Vorrichtung) können auf einer oder mehreren Instanzen der Recheneinrichtung(en) 600 aus 6 implementiert sein - z.B. kann jede Vorrichtung ähnliche Komponenten, Merkmale und/oder Funktionalität der Recheneinrichtung(en) 1100 aufweisen. Außerdem können, wo Backend-Vorrichtungen (z.B. Server, NAS usw.) implementiert sind, die Backend-Vorrichtungen als Teil eines Rechenzentrums 700 umfasst sein, wobei ein Beispiel davon hier ausführlicher mit Bezug zu 7 beschrieben wird.
  • Komponenten einer Netzwerkumgebung können über ein oder mehrere Netzwerke miteinander kommunizieren, die drahtgebunden, drahtlos oder beides sein können. Das Netzwerk kann mehrere Netzwerke oder ein Netzwerk von Netzwerken aufweisen. Beispielsweise kann das Netzwerk ein oder mehrere Wide Area Networks (WANs), ein oder mehrere Local Area Networks (LANs), ein oder mehrere öffentliche Netzwerke wie das Internet und/oder ein öffentliches Telefonwählnetz (PSTN) und/oder ein oder mehrere private Netzwerke umfassen. Wenn das Netzwerk ein drahtloses Telekommunikationsnetzwerk aufweist, können Komponenten wie eine Basisstation, ein Kommunikationsturm oder sogar Zugangspunkte (sowie auch andere Komponenten) eine drahtlose Verbindung bereitstellen.
  • Kompatible Netzwerkumgebungen können eine oder mehrere Peerto-Peer-Netzwerkumgebungen - in diesem Fall darf ein Server nicht in eine Netzwerkumgebung eingebunden sein - und eine oder mehrere Client-Server-Netzwerkumgebungen aufweisen - in diesem Fall können ein oder mehrere Server in eine Netzwerkumgebung eingebunden sein. Bei Peer-to-Peer-Netzwerkumgebungen kann die hier beschriebene Funktionalität in Bezug auf einen oder mehrere Server auf einer beliebigen Anzahl von Client-Vorrichtungen implementiert sein.
  • Bei mindestens einer Ausführungsform kann eine Netzwerkumgebung eine oder mehrere Cloud-basierte Netzwerkumgebungen, eine verteilte Computerumgebung, eine Kombination davon usw. aufweisen. Eine Cloud-basierte Netzwerkumgebung kann eine Framework-Schicht, einen Job-Scheduler, einen Ressourcenmanager und ein verteiltes Dateisystem aufweisen, das auf einem oder mehreren Servern implementiert ist, die einen oder mehrere Core-Netzwerk-Server und/oder Edge-Server umfassen können. Eine Framework-Schicht kann ein Framework zur Unterstützung der Software einer Softwareschicht und/oder einer oder mehrerer Anwendungen) einer Anwendungsschicht aufweisen. Die Software oder die Anwendung(en) können jeweils webbasierte Service-Software oder -Anwendungen aufweisen. Bei Ausführungsformen kann/können eines oder mehrere der Client-Vorrichtungen die webbasierte Dienstsoftware oder Anwendungen nutzen (z.B. durch Zugriff auf die Dienstsoftware und/oder Anwendungen über eine oder mehrere Anwendungsprogrammierschnittstellen (APIs)). Die Framework-Schicht kann eine Art freies und quelloffenes Software-Framework für Webanwendungen sein, das z.B. ein verteiltes Dateisystem für die Verarbeitung großer Datenmengen (z.B. „Big Data“) verwenden kann, ist aber nicht darauf beschränkt.
  • Eine Cloud-basierte Netzwerkumgebung kann Cloud-Computing und/oder Cloud-Speicherung bereitstellen, die eine beliebige Kombination der hier beschriebenen Rechen- und/oder Datenspeicherfunktionen (oder einen oder mehrere Teile davon) ausführt. Jede dieser verschiedenen Funktionen kann über mehrere Standorte von zentralen oder Core-Servern aus verteilt sein (z.B. von einem oder mehreren Rechenzentren, die über einen Staat, eine Region, ein Land, den Globus usw. verteilt sein können). Wenn sich eine Verbindung zu einem Benutzer (z.B. eine Client-Vorrichtung) relativ nahe bei einem oder mehreren Edge-Servern befindet, kann/können ein Core-Server zumindest einen Teil der Funktionalität dem/den Edge-Server(n) zuweisen. Eine Cloud-basierte Netzwerkumgebung kann privat (z.B. auf eine einzelne Organisation beschränkt), öffentlich (z.B. für viele Organisationen verfügbar) und/oder eine Kombination davon (z.B. eine hybride Cloud-Umgebung) sein.
  • Die Client-Vorrichtung(en) kann (können) zumindest einige der Komponenten, Merkmale und Funktionen der hier in Bezug auf 6 beschriebenen beispielhaften Recheneinrichtung(en) 600 aufweisen. Als Beispiel und nicht als Einschränkung kann eine Client-Vorrichtung ausgestaltet sein als ein Personal Computer (PC), ein Laptop-Computer, eine mobile Vorrichtung, ein Smartphone, ein Tablet-Computer, eine Smart-Uhr, ein tragbarer Computer, ein Personal Digital Assistant (PDA), ein MP3-Player, ein Virtual-Reality-Headset, ein Global Positioning System (GPS) oder -Vorrichtung, ein Video-Player, eine Videokamera, eine Überwachungsvorrichtung oder -system, ein Fahrzeug, ein Boot, ein fliegendes Schiff, eine virtuelle Maschine, eine Drohne, ein Roboter, eine tragbare Kommunikationsvorrichtung, eine Krankenhausvorrichtung, eine Spielvorrichtung oder -system, ein Unterhaltungssystem, ein Fahrzeug-Computersystem, eine Steuervorrichtung für ein eingebettetes System, eine Fernbedienung, eine Vorrichtung, eine Vorrichtung der Unterhaltungselektronik, eine Workstation, eine Edge-Vorrichtung, eine beliebige Kombination dieser abgegrenzten Vorrichtungen oder eine andere geeignete Vorrichtung.
  • Die Offenbarung kann im allgemeinen Kontext von Computercode oder maschinenverwendbaren Befehlen, einschließlich computerausführbarer Befehle, wie z.B. Programmmodule, beschrieben werden, die von einem Computer oder einer anderen Maschine, wie z.B. einem Assistenten für persönliche Daten oder einer anderen in der Hand gehaltenen Einrichtung, ausgeführt werden. Im Allgemeinen beziehen sich Programmmodule, einschließlich Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., auf einen Code, der bestimmte Aufgaben ausführt oder bestimmte abstrakte Datentypen implementiert. Die Offenbarung kann in einer Vielzahl von Systemkonfigurationen ausgeführt sein, einschließlich in der Hand gehaltenen Einrichtungen, Unterhaltungselektronik, Allzweckcomputern, spezielleren Computervorrichtungen usw. Die Offenbarung kann auch in verteilten Computerumgebungen ausgeführt werden, in denen die Aufgaben von fernverarbeitenden Einrichtungen ausgeführt werden, die durch ein Kommunikationsnetz miteinander verbunden sind.
  • Wie hier verwendet wird, sollte eine Angabe von „und/oder“ in Bezug auf zwei oder mehr Elemente so interpretiert werden, dass nur ein Element oder eine Kombination von Elementen gemeint ist. Zum Beispiel kann „Element A, Element B und/oder Element C“ nur Element A, nur Element B, nur Element C, Element A und Element B, Element A und Element C, Element B und Element C oder die Elemente A, B und C enthalten. Darüber hinaus kann „mindestens eines von Element A oder Element B“ mindestens eines von Element A, mindestens eines von Element B oder mindestens eines von Element A und mindestens eines von Element B enthalten. Ferner kann „mindestens eines von Element A und Element B“ mindestens eines von Element A, mindestens eines von Element B oder mindestens eines von Element A und mindestens eines von Element B enthalten.
  • Der Gegenstand der vorliegenden Offenbarung wird hierin spezifisch beschrieben, um gesetzliche Anforderungen zu erfüllen. Die Beschreibung selbst ist jedoch nicht dazu gedacht, den Umfang dieser Offenbarung einzuschränken. Vielmehr haben die Erfinder in Betracht gezogen, dass der beanspruchte Gegenstand auch auf andere Weise ausgestaltet sein könnte, um verschiedene Schritte oder Kombinationen von Schritten, die den in diesem Dokument beschriebenen ähnlich sind, in Verbindung mit anderen gegenwärtigen oder zukünftigen Technologien einzubeziehen. Darüber hinaus, obwohl die Begriffe „Schritt“ und/oder „Block“ hier verwendet werden können, um verschiedene Elemente der eingesetzten Verfahren zu bezeichnen, sollten die Begriffe nicht so ausgelegt werden, dass sie eine bestimmte Reihenfolge unter oder zwischen den verschiedenen hier offengelegten Schritten implizieren, es sei denn, die Reihenfolge der einzelnen Schritte wird ausdrücklich beschrieben.

Claims (20)

  1. Prozessor, umfassend: eine oder mehrere Schaltungen, um: Eingabedaten von einer Vorrichtung zu erhalten, wobei die Eingabedaten für eine Abfrage an eine Anwendung für konversationelle künstliche Intelligenz, KI, repräsentativ ist; eine Absicht und einen oder mehrere der Abfrage zugeordnete Slots zu bestimmen; als Ergebnis dessen, dass eine erste Suche einer strukturierten Datenstruktur scheitert, Daten zurückzugeben, die mindestens einem Slot der einen oder mehreren Slots zugeordnet sind, ein Frage-Antwort-Modell zu veranlassen, eine zweite Suche einer unstrukturierten Datenstruktur auszuführen; und eine Antwort auf die Abfrage basierend mindestens teilweise auf Daten zu erzeugen, die von der unstrukturierten Datenstruktur erhalten werden.
  2. Prozessor gemäß Anspruch 1, wobei die unstrukturierte Datenstruktur ein einem Benutzer zugeordnetes Dokument umfasst, wobei das Dokument basierend mindestens teilweise auf einer oder mehreren vorherigen Interaktionen zwischen dem Benutzer und der konversationellen KI-Anwendung ausgefüllt wird.
  3. Prozessor gemäß Anspruch 1 oder 2, wobei die unstrukturierte Datenstruktur einen Datensatz der Interaktionen zwischen der konversationellen KI-Anwendung und einem Benutzer umfasst.
  4. Prozessor gemäß einem vorangehenden Anspruch, wobei die unstrukturierte Datenstruktur einer Benutzeridentifikation zugeordnet ist, die für einen Benutzer eines Satzes von Benutzern der konversationellen KI-Anwendung eindeutig ist.
  5. Prozessor gemäß einem vorangehenden Anspruch, wobei die eine oder mehrere Schaltungen ferner Schaltungen umfassen, um: zu bestimmen, dass die zweite Suche scheiterte, die dem Slot zugeordneten Daten zurückzugeben; eine Anfrage an einen Benutzer für die dem Slot zugeordneten Daten Slot zu erzeugen; und zu veranlassen, dass die dem Slot zugeordneten Daten in der unstrukturierten Datenstruktur zu speichern sind.
  6. Prozessor gemäß einem vorangehenden Anspruch, wobei die Absicht eine Absicht umfasst, Daten abzurufen, die einer Anfrage für Informationen entsprechen.
  7. Prozessor gemäß einem vorangehenden Anspruch, wobei die eine oder mehrere Schaltungen ferner Schaltungen umfassen, um die unstrukturierte Datenstruktur zu analysieren, um einen oder mehrere zusätzliche Slots zu bestimmen, die zu dem einen oder mehreren Slots hinzuzufügen sind.
  8. Prozessor gemäß einem vorangehenden Anspruch, wobei die konversationelle KI-Anwendung mindestens eine von einer Konversations-KI-Plattform, einer Kabinenanwendung eines Fahrzeugs, einer Lebensmittel- oder Getränkebestellanwendung, eine Computer Aided Design (CAD) Anwendung, einer Kundendienstanwendung, einer Webdienstanwendung, eine Anwendung eines intelligente Lautsprechers oder einer intelligenten Anzeige, einer Einzelhandelsanwendung, einer Finanzanwendung oder einer Lebensmitteldienstanwendung ist.
  9. Prozessor gemäß einem vorangehenden Anspruch, wobei der Prozessor in mindestens einem von Folgendem umfasst ist: einem Steuersystem für eine autonome oder halbautonome Maschine; einem Wahrnehmungssystem für eine autonome oder halbautonome Maschine; einem System zum Durchführen von Simulationsoperationen; einem System zum Durchführen von Operationen tiefen Lernens; einem System, das unter Verwendung einer Kantenvorrichtung implementiert ist; einem System, das unter Verwendung eines Roboters implementiert ist; einem System, das eine oder mehrere virtuelle Maschinen (VMs) aufnimmt; einem System, das mindestens teilweise in einem Rechenzentrum implementiert ist; einem System, das eine kollaborative Erzeugungsplattform für dreidimensionalen (3D) Inhalt umfasst; oder einem System, das mindestens teilweise unter Verwendung von Cloud-Rechenressourcen implementiert ist.
  10. System, umfassend: eine oder mehrere Verarbeitungseinheiten, die Verarbeitungsschaltungen umfassen, um: eine Abfrage zu empfangen, die auf eine Plattform für konversationelle künstliche Intelligenz, KI, gerichtet ist; ein Etikett zu bestimmen, das der Abfrage zugeordnet ist; zu bestimmen, dass dem Etikett zugeordnete Daten nicht in einer strukturierten Datenstruktur gespeichert sind; die Daten von einer unstrukturierten Datenstruktur zu erhalten; und eine Antwort auf die Abfrage basierend mindestens teilweise auf den Daten zu erzeugen.
  11. System gemäß Anspruch 10, wobei die Verarbeitungsschaltungen ferner Daten speichern sollen, welche die Abfrage und die Antwort in der unstrukturierten Datenstruktur darstellen.
  12. System gemäß Anspruch 10 oder 11, wobei die Abfrage von einer automatischen Spracherkennungsanwendung erhalten wird.
  13. System gemäß einem der Ansprüche 10 bis 12, wobei die Antwort Audiodaten umfasst, die basierend mindestens teilweise auf einem Text-zu-Sprache-Algorithmus erzeugt werden.
  14. System gemäß einem der Ansprüche 10 bis 13, wobei das System in mindestens einem von Folgendem umfasst ist: einem Steuersystem für eine autonome oder halbautonome Maschine; einem Wahrnehmungssystem für eine autonome oder halbautonome Maschine; einem System zum Durchführen von Simulationsoperationen; einem System für Durchführen von Operationen tiefen Lernens; einem System, das unter Verwendung einer Kantenvorrichtung implementiert ist; einem System, das unter Verwendung eines Roboter implementiert; einem System, das eine oder mehrere virtuelle Maschinen (VMs) aufnimmt; einem System, das mindestens teilweise in einem Rechenzentrum implementiert ist; einem System, das eine kollaborative Erzeugung Plattform für dreidimensionalen (3D) Inhalt umfasst; oder einem System, das mindestens teilweise unter Verwendung von Cloud-Rechenressourcen implementiert ist.
  15. Verfahren, umfassend: Speichern von Daten, die eine Interaktion zwischen einem Benutzer und einem Agenten für konversationelle künstliche Intelligenz, KI, darstellen, in einer unstrukturierten Datenstruktur; Erhalten einer Abfrage, die an den konversationellen KI-Agenten gerichtet ist; Bestimmen, dass mindestens ein Abschnitt einer Antwort auf die Abfrage in einer strukturierte Datenstruktur nicht verfügbar ist; Erhalten des Abschnitts der Antwort von der unstrukturierten Datenstruktur; und Erzeugen der Antwort basierend mindestens teilweise auf dem Abschnitt der Antwort, der von der unstrukturierten Datenstruktur erhalten wird.
  16. Verfahren gemäß Anspruch 15, wobei das Verfahren ferner das Bestimmen von der Abfrage zugeordneten Domäneninformationen umfasst, die mindestens teilweise auf den unstrukturierten Daten basieren.
  17. Verfahren gemäß Anspruch 15 oder 16, wobei das Video, das Audio oder der Text durch mindestens einem von einer Kamera, einem Mikrophon oder einer Eingabevorrichtung von einer Benutzervorrichtung erzeugt werden.
  18. Verfahren gemäß einem der Ansprüche 15 bis 17, wobei die strukturierte Datenstruktur ein JavaScript Objekt Notation (JSON) Datenobjekt umfasst.
  19. Verfahren gemäß einem der Ansprüche 15 bis 18, wobei die unstrukturierte Datenstruktur ein Dokument umfasst, das ein Satz von Interaktionen zwischen dem Benutzer und dem konversationellen KI-Agenten umfasst.
  20. Verfahren gemäß einem der Ansprüche 15 bis 19, wobei der Abschnitt der Antwort einer ersten Domäne zugeordnet ist, die sich von einer der Abfrage zugeordneten zweiten Domäne unterscheidet.
DE102023102142.7A 2022-02-17 2023-01-30 Konversationelle ki-plattform mit extraktiver fragenbeantwortung Pending DE102023102142A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/674,704 2022-02-17
US17/674,704 US20230259540A1 (en) 2022-02-17 2022-02-17 Conversational ai platform with extractive question answering

Publications (1)

Publication Number Publication Date
DE102023102142A1 true DE102023102142A1 (de) 2023-08-17

Family

ID=87430858

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023102142.7A Pending DE102023102142A1 (de) 2022-02-17 2023-01-30 Konversationelle ki-plattform mit extraktiver fragenbeantwortung

Country Status (4)

Country Link
US (1) US20230259540A1 (de)
JP (1) JP2023120130A (de)
CN (1) CN116610777A (de)
DE (1) DE102023102142A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112021004919T5 (de) * 2020-09-21 2023-07-13 Nvidia Corporation Simulation von Blickpunkttransformationen für sensorunabhängiges Szenenverständnis in autonomen Systemen

Also Published As

Publication number Publication date
JP2023120130A (ja) 2023-08-29
CN116610777A (zh) 2023-08-18
US20230259540A1 (en) 2023-08-17

Similar Documents

Publication Publication Date Title
CN111260545B (zh) 生成图像的方法和装置
DE112021001301T5 (de) Dialogorientierte-ki-plattform mit gerenderter graphischer ausgabe
US10853717B2 (en) Creating a conversational chat bot of a specific person
AU2018260853B2 (en) Customized virtual reality learning environment
US9305465B2 (en) Method and system for topic based virtual environments and expertise detection
DE102017122182A1 (de) Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen
DE202017105366U1 (de) Personalisierung eines virtuellen Assistenten
CN107294837A (zh) 采用虚拟机器人进行对话交互的方法和***
US20090222742A1 (en) Context sensitive collaboration environment
US11308312B2 (en) System and method for reconstructing unoccupied 3D space
US10785489B2 (en) System and method for visual rendering based on sparse samples with predicted motion
CN112204565A (zh) 用于基于视觉背景无关语法模型推断场景的***和方法
Lopatovska et al. User recommendations for intelligent personal assistants
CN109948151A (zh) 构建语音助手的方法
US10922850B1 (en) Augmented reality system for persona simulation
Koay et al. Companion migration–initial participants’ feedback from a video-based prototyping study
CN112204654A (zh) 用于基于预测的先发式对话内容生成的***和方法
CN114187394B (zh) 虚拟形象生成方法、装置、电子设备以及存储介质
CN112204563A (zh) 用于基于用户通信的视觉场景构建的***和方法
DE112018006374T5 (de) Kommunikationsmodell für kognitive systeme
DE102023102142A1 (de) Konversationelle ki-plattform mit extraktiver fragenbeantwortung
DE112018007785T5 (de) Grafische benutzeroberfläche für ein sprachdialogsystem
US20230013828A1 (en) Chat interaction with multiple virtual assistants at the same time
CN115146038A (zh) 具有封闭域和开放域对话集成的对话式ai平台
KR20230130580A (ko) 실시간 대화형 디지털 에이전트들의 자율적인 생성, 전개, 및 개인화

Legal Events

Date Code Title Description
R012 Request for examination validly filed