DE202016008217U1 - Automatisch augmentierende Nachrichenaustauschthreads besierend auf der Nachrichtenklassifizierung - Google Patents

Automatisch augmentierende Nachrichenaustauschthreads besierend auf der Nachrichtenklassifizierung Download PDF

Info

Publication number
DE202016008217U1
DE202016008217U1 DE202016008217.6U DE202016008217U DE202016008217U1 DE 202016008217 U1 DE202016008217 U1 DE 202016008217U1 DE 202016008217 U DE202016008217 U DE 202016008217U DE 202016008217 U1 DE202016008217 U1 DE 202016008217U1
Authority
DE
Germany
Prior art keywords
message
search
search query
thread
message exchange
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.)
Active
Application number
DE202016008217.6U
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of DE202016008217U1 publication Critical patent/DE202016008217U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic 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/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/24765Rule-based classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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
    • 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/06Message adaptation to terminal or network requirements
    • 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/06Message adaptation to terminal or network requirements
    • H04L51/063Content adaptation, e.g. replacement of unsuitable content
    • 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/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • 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/04Real-time or near real-time messaging, e.g. instant messaging [IM]

Abstract

Computerlesbares Speichermedium, umfassend auf dem Speichermedium gespeicherten Programcode, der, wenn er auf einem Computer ausgeführt wird, folgendes zur Ausführung bringt: das Bestimmen von einem oder mehreren Prozessoren aus einem Nachrichtenaustauschthread, der einen oder mehrere Nachrichtenaustauschclients umfasst, eine Nachricht, die durch einen Teilnehmer zum Nachrichtenaustauschthread beigetragen wurde; das Berechnen eines mit der Nachricht assoziierten Suchanfragen-Nichteignungswertes durch einen oder mehrere der Prozessoren; sowie das selektive Integrieren in den Nachrichtenaustauschthread durch einen oder mehrere der Prozessoren, die zumindest teilweise auf dem Suchanfragen-Nichteignungswert basieren, entweder eine dialogorientierten Antwort auf die Nachricht oder den Inhalt, der auf eine auf der Nachricht generierten Suchanfrage reagiert.

Description

  • Hintergrund
  • Persönliche Assistenzmodule sind Software-Prozesse, die auf Computergeräten, wie z. B. Smartphones, Tablets, Fahrzeugnavigationssystemen, Smart-Uhren, sowie Universalrechnern (z. B. Desktops, Laptops) installiert werden, um benutzerfreundliche Oberflächen für Benutzer zu schaffen, mit denen natürliche Sprachbefehle erteilt werden könnten. Benutzer erteilen häufig natürliche Sprachbefehle mit deren Stimmen, persönliche Assistenzmodule können jedoch auf andere Modalitäten ebenso reagieren, wie verschiedene Formen der Text- und/oder Bildeingabe. Benutzer können mit persönlichen Assistenzmodulen und/oder einander per Text über Nachrichtenaustauschthreads kommunizieren, die mit verschiedenen Technologien, wie z. B. SMS, Online Chat (z. B. Instant Messenger, Internet Relay Chat, usw.), sozialen Netzwerk-Threads, interaktiver Sprachausgabe und so weiter, implementiert sind. Der laufende Nachrichtenaustauschthread ist in der Regel auf Text (z. B. durch Spracheingaben eingegeben oder generiert) oder andere Daten wie Bilder beschränkt, die Benutzer absichtlich und explizit in den Nachrichtenaustauschthread einbinden.
  • Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen. Wird im Rahmen der Offenbarung auf computerimplementierte Verfahren Bezug genommen, ist damit auch deren Implementierung als Programmcode gemeint, der auf einem computerlesbaren Speichermedium gespeichert und auf einem Computer ausführbar ist.
  • Zusammenfassung
  • Die vorliegende Offenbarung ist im Allgemeinen auf Verfahren, Geräte und computerlesbare Medien (transitorische und nicht-transitorische) zum automatischen Erweitern von Nachrichtenaustauschfäden mit einem auf eine Suchanfrage ansprechenden Inhalt ausgerichtet, wobei die Suchanfrage auf einer Nachricht basiert, die von einem Teilnehmer im Thread bereitgestellt wird. Die automatische Einbindung dieses Inhalts in den Nachrichtenthread kann insofern vorteilhaft sein, als er die Notwendigkeit für den Benutzer überflüssig macht, die Durchführung eines Suchvorgangs (z. B. auf einer Suchmaschine oder auf dem Gerät des Benutzers) manuell zu bewirken. Dies kann die Menge der Benutzer-Gerät-Interaktionen, sowie die damit assoziierte Verwendung von Rechenressourcen reduzieren, die sich z. B. durch das Wechseln von Anwendungen und/oder das Bewirken der Durchführung des Suchvorgangs ergeben. In einigen Fällen ist die Einbeziehung dieses Inhalts in den Nachrichtenthread möglicherweise nicht geeignet, zum Beispiel, wenn sich die Nachricht nicht gut dafür eignet, das Thema eines Suchvorgangs zu sein. Die automatische Integration in den Nachrichtenaustauschthread von Inhalten, die auf einen Suchvorgang anspricht, der auf einer solchen Nachricht basiert, ist ggf. keine gute Verwendung von Rechenressourcen. Infolgedessen können die hierin beschriebenen Verfahren, Geräte und computerlesbaren Medien (transitorische und nicht-transitorische Medien) bestimmen, ob Nachrichtenaustauschfäden automatisch mit dem Inhalt in Abhängigkeit von Suchanfragen basierend auf der Klassifizierung von zwischen Teilnehmern ausgetauschten Nachrichten erweitert werden sollen oder nicht. Genauer gesagt, beziehen sich die hierin beschriebenen Methoden auf die Klassifizierung einer Nachricht, die von einem Teilnehmer (entweder an einen anderen Teilnehmer oder an ein persönliches Assistenzmodul gerichtet) als geeignete oder nicht geeignete Suchanfrage und basierend auf dieser Klassifizierung einem Nachrichtenaustauschthread beigesteuert wird, wobei automatisch und selektiv eine Antwort integriert wird, die in Reaktion auf eine Suchanfrage Inhalt vermittelt, der aus der Nachricht des Teilnehmers generiert wird. Wenn in einigen Beispielen eine Nachricht als Suchanfrage nicht geeignet eingestuft wird, kann eine Antwort, die keinen Inhalt vermittelt, in Reaktion auf eine Suchanfrage („plauderhafte” oder „dialogorientierte” Antwort) in den Nachrichtenthread integriert werden. Genauer gesagt, kann einer Nachricht, die von einem Teilnehmer in einem Nachrichtenaustauschthread beigetragen wurde, ein erster Wert (ein „Suchanfragen-Nichteignungswert”) zugewiesen werden, der auf einen Grad der Nichteignung der Nachricht zur Verwendung als Suchanfrage hindeutet und/oder ein zweiter Wert („Suchanfragen-Eignungswert”), der auf einen Grad der Eignung der Nachricht zur Verwendung als Suchanfrage hindeutet. Der erste und der zweite Wert können einzeln oder in Kombination verwendet werden, um die Klassifizierung für die Nachricht zu bestimmen. Basierend auf einem oder beiden Werten kann der Nachrichtenaustauschthread automatisch erweitert werden, z. B. im Auftrag eines persönlichen Assistenzmoduls, das am Nachrichtenaustauschthread teilnimmt.
  • In einigen Implementierungen kann ein computerimplementiertes Verfahren bereitgestellt werden, das die folgenden Schritte umfasst: das Bestimmen eines Nachrichtenaustauschthreads, der einen oder mehrere Nachrichtenaustauschclients umfasst, eine Nachricht, die in dem Nachrichtenaustauschthread durch einen Teilnehmer beigetragen wurde; das Berechnen eines ersten Wertes, der auf einen Grad der Nichteignung der Nachricht zur Verwendung als Suchanfrage hindeutet; sowie das selektive zumindest teilweise auf dem ersten Wert basierende Integrieren von Inhalt in den Nachrichtenaustauschthread in Reaktion auf eine Suchanfrage, die basierend auf der Nachricht generiert wurde.
  • In einigen Implementierungen kann ein computerimplementiertes Verfahren bereitgestellt werden, das die folgenden Schritte umfasst: das Bestimmen eines Nachrichtenaustauschthreads, der einen oder mehrere Nachrichtenaustauschclients umfasst, eine Nachricht, die von einem Teilnehmer in dem Nachrichtenaustauschthread beigetragen wurde; das Berechnen eines mit der Nachricht assoziierten Suchanfragen-Nichteignungswertes; sowie das selektive zumindest teilweise auf dem Suchanfragen-Nichteignungswert basierende Integrieren von entweder einer dialogorientierten Antwort auf die Nachricht oder des Inhalts in den Nachrichtenaustauschthread in Reaktion auf eine Suchanfrage, die basierend auf der Nachricht generiert wurde.
  • Dieses Verfahren und sonstige Implementierungen der hierin offenbarten Technologie können wahlweise ein oder mehrere der folgenden Merkmale beinhalten.
  • In verschiedenen Implementierungen kann das Integrieren das Einfügen der Antwort in ein Transkript des Nachrichtenaustauschthreads beinhalten, das in einer grafischen Benutzeroberfläche eines Nachrichtenaustauschclients angezeigt wird, der auf einem spezifischen Client-Computergerät arbeitet. In verschiedenen Implementierungen kann das Berechnen des Suchanfragen-Nichteignungswertes das Bereitstellen der Nachricht als Eingabe für ein maschinelles Lernmodell beinhalten, wobei das maschinelle Lernmodell als Ausgabesignal den Suchanfragen-Nichteignungswert bereitstellt. In verschiedenen Implementierungen kann das maschinelle Lernmodell als Ausgabe einen mit der Nachricht assoziierten Suchanfragen-Eignungswert bereitstellen. In verschiedenen Implementierungen kann das Verfahren Folgendes umfassen: das Vergleichen des Suchanfragen-Nichteignungswertes mit dem Suchanfragen-Eignungswert; sowie das Auswählen, basierend auf dem Vergleich, für das Integrieren in den Nachrichtenaustauschthread, der dialogorientierten Antwort auf die Nachricht oder des Inhalts in Reaktion auf die basierend auf der Nachricht generierten Suchanfrage.
  • In verschiedenen Implementierungen kann das maschinelle Lernmodell basierend auf mindestens einem positiven Trainingsbeispiel trainiert werden. Das mindestens eine positive Trainingsbeispiel kann eine Instanz beinhalten, in der ein oder mehrere Teilnehmer eines vorherigen Nachrichtenaustauschthreads positiv auf die Integration einer dialogorientierten Antwort auf eine vorherige Nachricht des vorherigen Nachrichtenaustauschthreads oder die Integration von Inhalten in Reaktion auf eine vorhergehende und basierend auf der vorherigen Nachricht generierten Suchanfrage reagiert haben.
  • In verschiedenen Implementierungen kann das Verfahren des Weiteren das Berechnen eines mit dem Inhalt in Reaktion auf die Suchanfrage assoziierten Suchergebnis-Wertes beinhalten, wobei die Integration des Weiteren auf dem Ergebnis der Suchergebnisse basiert. In verschiedenen Implementierungen kann der Suchergebniswert zumindest teilweise auf einem oder mehreren aufgetauchten Suchergebnissen basieren, die auf die Suchanfrage reagieren. In verschiedenen Implementierungen kann das Verfahren das Berechnen eines mit der Nachricht assoziierten Suchanfragen-Eignungswertes beinhalten, der zumindest teilweise auf einer oder mehreren bekannten Entitäten oder Entitätstypen basiert, die in der Nachricht erwähnt werden.
  • Sonstige Implementierungen können ein nicht-transitorisches computerlesbares Speichermedium beinhalten, das Anweisungen speichert, die von einem Prozessor ausführbar sind, um ein Verfahren, wie etwa ein oder mehrere der vorstehend beschriebenen Verfahren, auszuführen. Eine weitere Implementierung kann ein System mit einem Speicher und einem oder mehreren Prozessoren beinhalten, die dazu dienen, die in dem Speicher gespeicherten Befehle auszuführen, um ein oder mehrere Module oder Motoren zu implementieren, die alleine oder gemeinsam ein Verfahren, wie etwa ein oder mehrere der vorstehend beschriebenen Verfahren, ausführen.
  • Es versteht sich, dass sämtliche Kombinationen der vorstehenden und zusätzlichen Konzepte, die hierin näher beschrieben werden, im Rahmen des hierin offenbarten Gegenstandes vorgesehen sind. Zum Beispiel sind sämtliche Kombinationen des beanspruchten Gegenstandes, der am Ende dieser Offenbarung erscheint, im Rahmen des hierin offenbarten Gegenstandes vorgesehen.
  • Kurzbeschreibung der Zeichnungen
  • 1 veranschaulicht eine Umgebung, in der der Inhalt gemäß verschiedenen Implementierungen automatisch in einen Nachrichtenaustauschthread integriert werden kann.
  • 2 zeigt einen exemplarischen Prozessablauf, der gemäß verschiedenen Implementierungen mit offenbarten Methoden assoziiert ist.
  • 3 und 4 zeigen, wie exemplarische grafische Benutzeroberflächen betroffen sein können, wenn offenbarte Methoden gemäß verschiedenen Implementierungen praktiziert werden.
  • 5 zeigt ein Ablaufdiagramm, das ein exemplarisches Verfahren zur Verstärkung eines laufenden Nachrichtenaustausches mit Inhalt gemäß verschiedenen Implementierungen veranschaulicht.
  • 6 zeigt eine schematische Darstellung einer exemplarischen Architektur eines Computersystems.
  • Ausführliche Beschreibung
  • 1 veranschaulicht eine Umgebung, in der ein Nachrichtenaustauschthread automatisch mit dem Inhalt basierend auf einem festgestellten „Umgangston” (z. B. Suchanfragen-Nichteignungswert versus objektive Anfragen/Fragen) von Nachrichten, die zwischen Benutzern ausgetauscht werden, erweitert werden kann. Die exemplarische Umgebung beinhaltet eine Vielzahl von Clientgeräten 1061-N und ein Wissenssystem 102. Das Wissenssystem 102 kann in einem oder mehreren Computern implementiert sein, die beispielsweise über ein Netzwerk kommunizieren. Das Wissenssystem 102 ist ein Beispiel eines Informationsabrufsystems, in dem die hierin beschriebenen Systeme, Komponenten und Methoden implementiert werden können und/oder mit dem die hierin beschriebenen Systeme, Komponenten und Methoden eine Schnittstelle bilden können.
  • Ein Benutzer kann über ein Clientgerät 106 mit dem Wissenssystem 102 interagieren. Jedes Clientgerät 106 kann ein Computer sein, der mit dem Wissenssystem 102 über ein oder mehrere Netzwerke 110, wie beispielsweise ein lokales Netzwerk (LAN) oder ein Großraumnetzwerk (WAN), wie z. B. das Internet, gekoppelt ist. Jedes Clientgerät 106 kann beispielsweise ein Desktop-Computergerät, ein Laptop-Computergerät, ein Tablet-Computergerät, ein Mobiltelefon-Computergerät, ein Computergerät eines Fahrzeugs des Benutzers (z. B. ein fahrzeuginternes Kommunikationssystem, ein fahrzeuginternes Entertainmentsystem, ein fahrzeuginternes Navigationssystem), ein eigenständiges Sprachsteuerungsgerät oder eine tragbare Vorrichtung des Benutzers sein, die ein Computergerät (z. B. eine Uhr des Benutzers mit einem Computergerät, eine Brille des Benutzers mit einem Computergerät) beinhaltet. Zusätzliche und/oder alternative Clientgeräte können bereitgestellt werden. Ein Benutzer wird wahrscheinlich eine Vielzahl von Computergeräten bedienen, die zusammen ein koordiniertes „Ökosystem” von Computergeräten bilden (die dem Benutzer gehören können oder nicht). Der Kürze halber werden sich jedoch die in dieser Offenbarung beschriebenen exemplarischen Ausführungsformen auf den Benutzer konzentrieren, der ein einzelnes Clientgerät 106 bedient.
  • Jedes Clientgerät 106 kann eine Vielzahl von verschiedenen Anwendungen, wie beispielsweise einen Nachrichtenaustauschclient 107 und/oder ein persönliches Assistenzmodul 109, betreiben. Der Nachrichtenaustauschclient 107 kann in verschiedenen Formen auftreten. In einigen Implementierungen kann der Nachrichtenaustauschclient 107 in Form eines Kurznachrichtendienst-(„SMS”) und/oder eines Multimedia-Nachrichtendienst-(„MMS”)-Clients, eines Online-Chat-Clients (z. B. Instant Messenger, Internet-Relay-Chat oder „IRC” usw.), einer Messaging-Anwendung, die mit einem sozialen Netzwerk assoziiert ist, einer Schnittstelle, die zur Kommunikation mit einem persönlichen Assistenzmodul verwendet wird, und so weiter, auftreten. In einigen Implementierungen kann der Nachrichtenaustauschclient 107 innerhalb einer Webseite implementiert werden, die von einem Webbrowser (nicht dargestellt) wiedergegeben wird. In verschiedenen Fällen können zwei Clientgeräte 106, die von Teilnehmern eines Nachrichtenaustauschthreads bedient werden, verschiedene Nachrichtenaustauschclients 107 ausführen, die dennoch die Kommunikation unter Verwendung eines gemeinsamen Kommunikationsprotokolls erleichtern. Beispielsweise kann das Clientgerät 1061 eine SMS-Anwendung aufweisen, die von einem Anbieter vertrieben wird, während das Clientgerät 106N eine weitere SMS-Anwendung aufweisen kann, die von einem anderen Anbieter vertrieben wird.
  • Wie im Hintergrund beschrieben, kann das persönliche Assistenzmodul 109 die Form eines Softwareprozesses annehmen, der auf einem spezifischen Clientcomputergerät 106 installiert ist. um benutzerfreundliche Schnittstellen zum Erteilen von natürlichen Sprachbefehlen für Benutzer bereitzustellen. Das persönliche Assistenzmodul 109 kann durch verschiedene Impulse aufgerufen oder „geweckt” werden, wie beispielsweise durch einen Benutzer, der ein oder mehrere Codewörter spricht, die ausgewählt werden, um das persönliche Assistenzmodul 109 zu aktivieren. In verschiedenen hierin beschriebenen Implementierungen kann ein Benutzer mit einem persönlichen Assistenzmodul 109, z. B. unter Verwendung von Spracheingabe, Texteingabe und so weiter, in einem Nachrichtenaustauschthread kommunizieren. Weiterhin kann das persönliche Assistenzmodul 109 an einem Nachrichtenaustauschthread teilnehmen, der mehrere Nachrichtenaustauschclients 107 umfasst, die auf mehreren Clientgeräten 106 betrieben und von mehreren Teilnehmern gesteuert werden. Beispielsweise und wie nachfolgend näher beschrieben, kann das persönliche Assistenzmodul 109 in Reaktion auf eine oder mehrere Nachrichten, die von einem oder mehreren Teilnehmern in dem Nachrichtenaustauschthread beigetragen wurden, Inhalte automatisch auswählen und in einen Nachrichtenaustauschthread integrieren.
  • Jede der Clientgeräte 106 und des Wissenssystems 102 kann einen oder mehrere Speicher zur Speicherung von Daten- und Softwareanwendungen, einen oder mehrere Prozessoren für den Zugriff auf Daten und die Ausführung von Anwendungen und andere Komponenten beinhalten, die die Kommunikation über ein Netzwerk ermöglichen. Die Operationen, die von dem Clientgerät 106 und/oder dem Wissenssystem 102 ausgeführt werden, können über mehrere Computersysteme verteilt sein. Das Wissenssystem 102 kann beispielsweise in Form von Computerprogrammen implementiert sein, die auf einem oder mehreren Computer an einem oder mehreren Standorten laufen, die über ein Netzwerk miteinander verbunden sind.
  • In verschiedenen Implementierungen kann das Wissenssystem 102 ein Nachrichtenaustauschmodul 120, ein persönliches Assistenzmodul 122, ein Indexierungsmodul 126, ein Informationsmodul 130, ein Einstufungsmodul 134 und ein alternatives Anfragevorschlagsmodul 136 beinhalten. In einigen Implementierungen können ein oder mehrere der Module 120, 122, 126, 130, 134 und/oder 136 ausgelassen werden. In einigen Implementierungen können alle oder Aspekte eines oder mehrerer der Module 120, 122, 126, 130, 134 und/oder 136 kombiniert werden. In einigen Implementierungen können eine oder mehrere der Module 120, 122, 126, 130, 134 und/oder 136 in einer Komponente implementiert sein, die von dem Wissenssystem 102 getrennt ist. In einigen Implementierungen können eine oder mehrere der Module 120, 122, 126, 130, 134 und/oder 136 oder ein operativer Teil derselben in einer Komponente implementiert sein, die von dem Clientgerät 106 ausgeführt wird.
  • In verschiedenen Implementierungen kann das Nachrichtenaustauschmodul 120 so konfiguriert sein, dass es einen Nachrichtenaustauschthread zwischen mehreren Nachrichtenaustauschclients 107 ermöglicht, die auf mehreren Clientgeräten 106 betrieben werden, welche von mehreren Teilnehmern gesteuert werden. Beispielsweise kann das Nachrichtenaustauschmodul 120 ein globales „Transkript” über Nachrichten und andere Inhaltsteilnehmer verwalten, die sich in einem Nachrichtenaustauschthread miteinander austauschen. Wie hierin verwendet, kann sich ein „Transkript” auf eine Live-Aufzeichnung von Text, Bildern, Tönen und/oder Applets beziehen, die von einem oder mehreren Teilnehmern in einem Nachrichtenaustauschthread ausgetauscht und/oder betrachtet werden. In einigen Implementierungen kann ein Transkript eines Nachrichtenaustauschthreads in Echtzeit oder in beinahe Echtzeit aktualisiert werden, während sich die Teilnehmer unterhalten. In Szenarien, in denen ein einzelner Teilnehmer mit dem persönlichen Assistenzmodul 109 kommuniziert, kann das Transkript lokal durch das persönliche Assistenzmodul 109 und/oder dezentral durch das persönliche Assistenzmodul 122 geführt werden.
  • In verschiedenen Implementierungen kann das persönliche Assistenzmodul 122z. B. unter Verwendung eines sprachbasierten Abfrageprozessors, der auf verschiedenen Online-Akustik-/Sprach-, Grammatik- und/oder Aktionsmodellen basiert, die im Index 124 gespeichert werden können, komplementäre Funktionalität für die Handhabung der Spracheingabe beinhalten. Es versteht sich, dass bei einigen Implementierungen, insbesondere wenn die meisten Clientgeräte 106 ressourcenbeschränkte Geräte sind, das persönliche Assistenzmodul 122 eine komplexere und rechnerische Ressourcen-intensive Sprachverarbeitungsfunktionalität implementieren kann, als sie für jedes Clientgerät 106 lokal zur Verfügung steht. Es sollte des Weiteren verstanden werden, dass, wenn hierin eine Handlung als durch das persönliche Assistenzmodul 109 ausgeführt beschrieben wird. dies ein oder mehrere Aspekte der Aktion, die von dem persönlichen Assistenzmodul 122 durchgeführt werden, einschließen kann oder auch nicht.
  • In einigen Implementierungen können mehrere persönliche Assistenzmodule 122 verwendet werden, die jeweils als Online-Gegenstück für ein oder mehrere individuelle persönliche Assistenzmodule 109 fungieren. Beispielsweise kann in einigen Implementierungen jedes Clientgerät 106 in einem Ökosystem eines Benutzers dafür konfiguriert sein, eine Instanz eines persönlichen Assistenzmoduls 109 zu betreiben, die dem Benutzer zugeordnet ist (z. B. mit den Präferenzen des Benutzers konfiguriert ist, die mit demselben Interaktionsverlauf usw. assoziiert sind). Eine einzelne, benutzerzentrierte Onlineinstanz des persönlichen Assistenzmoduls 122 kann jedem dieser Mehrfachinstanzen des persönlichen Assistenzmoduls 109 zugänglich sein, je nachdem, welches Gerät der Benutzer zu diesem Zeitpunkt bedient.
  • In manchen Implementierungen können sowohl Online- als auch Offline-Funktionalität unterstützt werden, z. B. so, dass die Online-Funktionalität immer dann genutzt wird, wenn ein Clientgerät 106 mit einem Online-Dienst in Verbindung steht, während die Offline-Funktionalität verwendet wird, wenn keine Konnektivität besteht. In anderen Implementierungen können verschiedene Aktionen oder Aktionsdomänen der Online- und Offline-Funktionalität zugewiesen werden, während in noch anderen Implementierungen die Online-Funktionalität nur dann verwendet werden kann, wenn die Offline-Funktionalität eine bestimmte Spracheingabe nicht adäquat verarbeitet. In anderen Implementierungen kann jedoch keine komplementäre Online-Funktionalität verwendet werden.
  • Das Indexierungsmodul 126 kann einen Index 128 zur Verwendung durch das Wissenssystem 102 verwalten. Das Indexierungsmodul 126 verarbeitet Dokumente und aktualisiert Indexeinträge im Index 128, beispielsweise unter Verwendung herkömmlicher und/oder anderer Indexierungsverfahren. Das Indexierungsmodul 126 kann beispielsweise eine oder mehrere Ressourcen, wie z. B. das World Wide Web, sowie Indexdokumente, die über ein solches Crawling aufgerufen werden, crawlen. Als weiteres Beispiel kann das Indexierungsmodul 126 Informationen empfangen, die sich auf eine oder Dokumente von einer oder mehreren Ressourcen. wie beispielsweise Webmaster, beziehen, die solche Dokumente steuern und die Dokumente basierend auf diesen Informationen indexieren. Ein Dokument sind jene Daten, die mit einer Dokumentadresse assoziiert ist. Zu Dokumenten zählen Webseiten, Textverarbeitungsdokumente, PDF-Dokumente, Bilder, E-Mails, Kalendereinträge, Videos und Webfeeds, um nur einige zu nennen. Jedes Dokument kann Inhalte, wie z. B. Text, Bilder, Videos, Töne, eingebettete Informationen (z. B. Metadaten und/oder Hyperlinks); und/oder eingebettete Anweisungen (z. B. ECMAScript-Implementierungen, wie JavaScript) beinhalten.
  • Das Informationsmodul 130 kann einen weiteren Index 132 verwalten, der den Zugriff auf nicht dokumentspezifische Informationen zur Verwendung durch das Wissenssystem 102 beinhaltet oder ermöglicht. Das Wissenssystem 102 kann beispielsweise so konfiguriert sein, dass es in Reaktion auf Suchanfragen Informationen wiedergibt, die spezifische Informationen zu suchen scheinen. Wenn ein Benutzer nach „Ronald Reagans Geburtstag” sucht, kann das Wissenssystem 102 z. B. aus dem Informationsmodul 130, das Datum „6. Februar 1911” empfangen. Diese Information kann an den Benutzer im Rahmen der Suchergebnisse wiedergegeben werden, die von den von dem Indexierungsmodul 126 empfangenen Dokumenten getrennt sind. In verschiedenen Implementierungen kann der Index 132 selbst Informationen enthalten oder sich mit einer oder mehreren anderen Informationsquellen, wie z. B. Online-Enzyklopädien, Almanachs und so weiter, verbinden. In verschiedenen Implementierungen kann Index 128 oder Index 132 Zuordnungen zwischen Anfragen (oder Anfragebegriffen) und Dokumenten und/oder Informationen beinhalten.
  • In dieser Spezifikation wird der Begriff „Datenbank” und „Index” weitgehend dazu verwendet, auf eine beliebige Sammlung von Daten zu verweisen. Die Daten der Datenbank und/oder des Index müssen nicht in einer bestimmten Weise strukturiert sein und können auf Speichergeräten an einem oder mehreren geografischen Standorten gespeichert sein. So können beispielsweise die Indizes 124, 128 und 132 mehrere Sammlungen von Daten beinhalten, von denen jede organisiert und unterschiedlich aufgerufen werden kann.
  • Das Einstufungsmodul 134 kann die Indizes 128 und/oder 132 verwenden, um Dokumente und andere Informationen, die auf eine Suchanfrage reagieren, beispielsweise unter Verwendung herkömmlicher und/oder anderer Informationsabrufverfahren, zu identifizieren. Das Einstufungsmodul 134 kann, beispielsweise unter Verwendung eines oder mehrerer Einstufungssignale, Werte für die Dokumente und andere Informationen berechnen, die in Reaktion auf eine Suchanfrage identifiziert wurden. Jedes Einstufungssignal kann Informationen über das Dokument oder die Informationen selbst, die Beziehung zwischen dem Dokument oder der Information und der Suchanfrage und/oder die Beziehung zwischen dem Dokument oder der Information und dem Benutzer, der die Suchanfrage einleitet, bereitstellen.
  • Das alternative Anfragevorschlagsmodul 136 kann ein oder mehrere Signale und/oder andere Informationen, wie beispielsweise eine Datenbank mit alternativen Anfragevorschlägen (nicht dargestellt) und/oder Informationen über einen Benutzer des Clientgerätes 106 (z. B. Suchverlauf, GPS-Standort, Benutzerattribute) verwenden, um alternative Anfragevorschläge zu generieren, um diese dem Clientgerät 106 zusammen mit allen Suchergebnissen bereitzustellen. Wenn ein Benutzer aufeinanderfolgende Zeichen der Suchanfrage eingibt, kann das alternative Anfragevorschlagsmodul 136 alternative Anfragen identifizieren, die aller Wahrscheinlichkeit nach Ergebnisse liefern können, die für den Benutzer hilfreich sind. Beispielsweise gehe man davon aus, dass sich das Clientgerät 106 in Chicago befindet, und die Buchstaben, „Restaur” eingegeben wurden. Das alternative Anfragevorschlagsmodul 136 kann basierend auf einem Standortsignal, das anzeigt, dass sich das Clientgerät 106 in Chicago befindet, und basierend auf einem Suchverlaufssignal, das die Präferenzen eines Benutzers für Restaurants mit Live-Musik anzeigt, eine Anfrage nach „Restaurants in Chicago mit Live-Musik” vorschlagen. Als weiteres Beispiel für einen Benutzer, der „Ronald Reagans Geburt” eingetippt hat, kann ein alternatives Anfragevorschlagsmodul 136 z. B. unter Verwendung von Verfahren wie der Präfix-Abstimmung, alternative Anfragen wie „Ronald Reagans Geburtstag”, „Ronald Reagans Geburtsort”, „Ronald Reagans Position gegenüber Geburtenregelungen” und so weiter, bestimmen und vorschlagen. Das alternative Anfragevorschlagsmodul 136 kann zudem andere Vorschläge, wie z. B. rechtschreibkorrigierte Versionen einer teilweise gebildeten Suchanfrage, bereitstellen.
  • In verschiedenen Implementierungen kann eine Online-Komponente wie beispielsweise ein Nachrichtenaustauschmodul 120 oder ein persönliches Assistenzmodul 122 oder sogar eine für ein Clientgerät 106 lokale Komponente, wie beispielsweise ein einzelner Nachrichtenaustauschclient 107 oder ein persönliches Assistenzmodul 109, dafür konfiguriert sein, aus einem Nachrichtenaustauschthread, der einen oder mehrere Nachrichtenaustauschclients 107 umfasst, eine Nachricht zu ermitteln, die von einem Teihnehmer in einem Nachrichtenaustauschthread beigetragen wurde. Ein erster oder „Suchanfragen-Nichteignungs”-Wert (oder „ICS”), der mit der Nachricht assoziiert ist, kann dann berechnet werden. Zumindest basierend teilweise auf dem Suchanfragen-Nichteignungswert kann entweder eine dialogorientierten Antwort auf die Nachricht oder ein Inhalt, der in Reaktion auf eine auf der Nachricht basierenden Suchanfrage generiert wurde, selektiv in den Nachrichtenaustauschthread integriert werden.
  • Nachrichten mit relativ hohen Suchanfragen-Nichteignungswerten können Nachrichten sein, die von einem Teilnehmer an das persönliche Assistenzmodul 109 und/oder an einen anderen Teilnehmer gerichtet sind, die ein irrelevantes Gespräch, eine informelle und/oder triviale Konversation, so genannten „Small Talk”, subjektive Anfragen, usw. umfassen. Derartige Nachrichten sind möglicherweise für die Generierung einer Suchanfrage nicht geeignet, da Inhalte, die auf eine solche Suchanfrage reagieren, wenn in einem Nachrichtenaustauschthread integriert, ggf. nicht besonders hilfreich sind z. B., weil der Antwortinhalt ggf. nicht besonders gut fokussiert, sinnvoll und/oder nicht besonders relevant für einen Umgangston der Konversation ist, die auf dem Nachrichtenaustauschthread stattfindet. Anders formuliert, eine Nachricht mit einem relativ hohen Suchanfragen-Nichteignungswert weist ggf. nicht auf eine Absicht (explizit oder implizit) durch den Teilnehmer hin, um externe/objektive Informationen abzurufen, mit denen ein Nachrichtenaustauschthread erweitert wird. Einer Nachricht kann ein relativ hoher Suchanfragen-Nichteignungswert zugewiesen werden, wenn ein Teilnehmer zum Beispiel zu einem persönlichen Assistenzmodul oder einem anderen Teilnehmer in einem Nachrichtenaustauschthread so etwas sagt wie „Hallo”, „Wie geht es dir?”, „Was halten Sie von Obama?”, „Was ist Ihre Lieblingsfarbe?” und so weiter.
  • Wie oben erwähnt, können die Teilnehmer Nachrichten mit relativ hohen Suchanfragen-Nichteignungswerten an ein persönliches Assistenzmodul 109 oder einen anderen Teilnehmer richten. In verschiedenen Implementierungen kann, wenn eine solche Nachricht an das persönliche Assistenzmodul 109 gerichtet wird, eine sogenannte „dialogorientierten Antwort” identifiziert und z. B. durch das persönliche Assistenzmodul 109 und/oder Nachrichtenaustauschmodul 120 in den Nachrichtenaustauschthread integriert werden. In einigen Implementierungen kann ein mit einer Nachricht assoziierter Suchanfragen-Nichteignungswert berechnet werden, indem die Nachricht mit einer Vielzahl von Kandidaten-Nachrichten-/dialogorientierten Antwortpaaren, z. B. unter Verwendung „fehlertoleranter” Suchanfragen, abgestimmt wird. Jedem übereinstimmenden Paar kann basierend darauf, wie gut die Nachricht mit dem Kandidatennachrichten-/dialogorientierten Antwortpaar übereinstimmt, ein Wert zugewiesen werden. Der Suchanfragen-Nichteignungswert kann dann aus dem Kandidaten-Nachrichten-/dialogorientierten Antwortpaar bestimmt werden, das am besten mit der Nachricht z. B. mit dem höchsten Wert, übereinstimmt. Und falls der Suchanfragen-Nichteignungswert einen oder mehrere Schwellenwerte erfüllt oder wie unten beschrieben, einen zweiten oder „Suchanfragen-Eignungs”-Wert um einen Betrag (Δ) überschreitet, der einen oder mehrere Schwellenwerte erfüllt, kann dieser für eine Suchanfrage als nicht geeignet eingestuft werden und die dialogorientierten Antwort aus dem am besten übereinstimmenden Nachrichten-/dialogorientierten Antwortpaar z. B. durch das persönliche Assistenzmodul 109 in den Nachrichtenaustauschthread aufgenommen werden.
  • Nachrichten mit relativ hohem ICS können zudem von einem Teilnehmer in einem Nachrichtenaustauschthread anstatt an das persönliche Assistenzmodul 109 an einen anderen Teilnehmer gerichtet werden. In einigen Implementierungen kann eine ähnliche Analyse wie oben beschrieben auftreten. Anstatt jedoch eine dialogorientierten Antwort in den Nachrichtenaustauschthread direkt einzufügen, können dem anderen Teilnehmer eine oder mehrere grafische Elemente (z. B. gerenderte Schaltflächen) präsentiert werden, die der andere Teilnehmer auswählen kann, um zu veranlassen, dass eine vorbereitete automatische Antwort in den Nachrichtenaustauschthread integriert wird. In anderen Implementierungen können hohe ICS-Nachrichten zwischen Teilnehmern anstatt zwischen einem Teilnehmer und einem persönlichen Assistenzmodul einfach ignoriert werden.
  • Im Gegensatz zu Nachrichten mit relativ hohen Suchanfragen-Nichteignungswerten können Nachrichten mit relativ hohen Suchanfragen-Eignungswerten für die Generierung und Einleitung einer Suchanfrage besser geeignet sein und als solche klassifiziert werden. Inhalte, die auf eine oder mehrere Suchanfragen reagieren, die aus einer solchen Nachricht generiert werden, können für die Integration in einen Nachrichtenaustauschthread gut geeignet sein, z. B. weil sie ggf. gut fokussiert und/oder mit verhältnismäßiger Wahrscheinlichkeit für den Umgangston der Konversation relevant sind, die über den Nachrichtenaustauschthread stattfindet. Beispiele für Nachrichten, denen relativ hohe Suchanfragen-Eignungswerte zugewiesen werden können, können Nachrichten beinhalten, die nach objektiven Informationen, wie z. B. „Wer ist Barack Obama?”, „Wie heißt die Hauptstadt von Maine?”, „Ich frage mich, mit wem Tom Brady verheiratet ist?”, „Wer spielt in diesem neuen Film” und so weiter, suchen (oder sich zumindest auf diese beziehen).
  • In einigen Implementierungen können ein oder mehrere maschinelle Lernmodelle dafür trainiert werden, eine oder mehrere Teilnehmernachrichten als Eingabe zu empfangen und einen Suchanfragen-Nichteignungswert und/oder einen Suchanfragen-Eignungswert auszugeben. Basierend auf diesen Werten können verschiedene Inhalte selektiv in einen Nachrichtenaustauschthread integriert werden, z. B. um in einem Transkript angezeigt zu werden, das von einem oder mehreren Nachrichtenaustauschclients wiedergegeben wird, die von einem Teilnehmer im Thread bedient werden, oder um z. B. durch ein eigenständiges Sprachsteuerungsgerät hörbar ausgegeben zu werden. Wenn in einigen Implementierungen der Suchanfragen-Nichteignungswert ausreichend größer ist als der Suchanfragen-Eignungswert, und/oder wenn der Suchanfragen-Nichteignungswert einen vorbestimmten Schwellenwert erfüllt, wird eine dialogorientierten Antwort, die mit einem Nachrichten-/dialogorientierten Antwortpaar assoziiert ist, das am besten mit der Nachricht übereinstimmt. in den Thread integriert. Wenn der Benutzer beispielsweise „Hallo” sagt, kann die dialogorientierten Antwort „hallo” oder „hallöchen” lauten. Andernfalls kann der Inhalt, der basierend auf einer auf der Nachricht generierten Suchanfrage reagiert, in den Nachrichtenaustauschthread integriert werden.
  • In einigen Implementierungen können ein oder mehrere maschinelle Lernmodelle unter Verwendung eines Korpus von Nachrichten trainiert werden, der von einem oder mehreren vorherigen Nachrichtenaustauschfäden abgerufen wird. Beispielsweise können eine oder mehrere vorherige Instanzen von Teilnehmernachrichten, die das Integrieren von Inhalten in einen Nachrichtenaustauschthread auslösen, analysiert werden. Ein negatives Trainingsbeispiel kann eine Instanz beinhalten, in der Inhalte z. B. im Auftrag eines persönlichen Assistenzmoduls in einen Nachrichtenaustauschthread integriert wurden, diese Inhalte jedoch von einem oder mehreren Teilnehmern abgelehnt (oder zumindest ignoriert) wurde (z. B. da von dem bzw. den Teilnehmer(n) festgestellt wurde, dass das Thema abrupt geändert wurde). Ein positives Trainingsbeispiel kann eine Instanz sein, in der die Teilnehmer positiv auf den integrierten Inhalt reagieren, z. B. indem sie das nachfolgende Gespräch in eine ähnliche Richtung steuern und/oder nachfolgende Fragen stellen. In einigen Implementierungen können nur positive Trainingsbeispiele und/oder nur negative Trainingsbeispiele verwendet werden, um das eine oder die mehreren maschinellen Lernmodelle zu trainieren.
  • Zusätzlich zur oder anstatt der Eingabe der Nachricht(en) direkt in ein oder mehrere maschinelle Lernmodelle, können in verschiedenen Implementierungen verschiedene Permutationen von Begriffen (oder Merkmalen) der Nachricht(en) als Eingabe verwendet werden. In einigen Implementierungen können beispielsweise ein oder mehrere Paare von Begriffen/Merkmalen einem oder mehreren maschinellen Lernmodellen als Eingabe bereitgestellt werden. In einigen Implementierungen können eine oder mehrere Gruppen von Begriffen (z. B. in einer Klasse) als Eingabe bereitgestellt werden. In anderen Implementierungen kann ein natürlicher Sprachprozessor oder eine andere ähnliche Komponente die Nachricht auf verschiedene Weise (z. B. in Teilen der Sprache, durch Entitätszerlegung usw.) kommentieren, welche Annotationen dann als Eingabe für ein oder mehrere maschinelle Lernmodelle verwendet werden können.
  • Neben den Attributen der Nachricht selbst können bei der Berechnung von Suchanfragen-Nichteignungswerten und Suchanfragen-Eignungswerten andere Signale berücksichtigt werden. In einigen Implementierungen können ein Signal oder kontextbezogene Signale bezüglich eines Teilnehmers, wie z. B. deren Standort, Ortszeit usw., berücksichtigt werden. Beispielsweise kann einer bestimmten Nachricht in einem ersten Land ein höherer Suchanfragen-Nichteignungswert und in einem zweiten Land ein höherer Suchanfragen-Eignungswert zugewiesen werden. Wenn sich der Teilnehmer im ersten Land befindet, wenn die Nachricht von dem Teilnehmer in dem Nachrichtenaustauschthread beigetragen wird, kann die Nachricht einen höheren Suchanfragen-Nichteignungswert erhalten, als wenn der Teilnehmer im zweiten Land gewesen wäre.
  • In einigen Implementierungen können die Charakteristiken der Inhalte, die auf eine Suchanfrage reagieren, die mithilfe einer Nachricht generiert wurde, bei der Berechnung eines Suchanfragen-Eignungswertes berücksichtigt werden. Beispielsweise können einige Inhalte, die auf eine bestimmte Suchanfrage reagieren, die aus einer Nachricht generiert wurde, eine oder mehrere sogenannte „Oberflächen”-Merkmale beinhalten, die hervorgehoben (z. B. oben) auf einer Suchmaschinen-Ergebnisseite („SERP”) angezeigt werden. Der überarbeitete Inhalt kann eine direkte Antwort auf eine Suchanfrage (die über organischen Suchergebnissen, z. B. in einem Dialogfeld angezeigt werden kann oder nicht), Navigations-Suchergebnisse und so weiter, beinhalten. Eine Nachricht, die eine oder mehrere auftauchende Merkmale ergibt, wenn sie als eine oder mehrere Suchanfragen gesendet wird, kann einen relativ hohen Suchanfragen-Eignungswert erhalten. Wenn im Gegensatz dazu reaktionsfähiger Inhalt unfokussiert und/oder nicht relevant für den Umgangston des Nachrichtenaustauschthreads ist, kann dies den Suchanfragen-Eignungswert verringern. In einigen Implementierungen kann ein hoher Suchanfragen-Eignungswert einen Suchanfragen-Nichteignungswert beeinflussen und umgekehrt. Wenn der Inhalt, der auf eine aus einer Nachricht generierte Suchanfrage reagiert, zum Beispiel besonders fokussiert, populär und/oder relevant für den Umgangston des Nachrichtenaustauschthreads ist, kann dies die Wahrscheinlichkeit verringern, dass es sich bei der Nachricht lediglich um ein irrelevantes Gespräch handelte.
  • In Szenarien, in denen der Suchanfragen-Eignungswert einer Nachricht einen Schwellenwert erfüllt oder eine Differenz zwischen dem Suchanfragen-Eignungswert der Nachricht und deren Suchanfragen-Nichteignungswert groß genug ist, können eine oder mehrere Suchanfragen, z. B. durch das Nachrichtenaustauschmodul 120, das persönliche Assistenzmodul 122, einen Nachrichtenaustauschclient 107, ein persönliches Assistenzmodul 109, usw generiert und an verschiedene Komponenten des Wissenssystems 102 übermittelt werden. Inhalte, wie etwa Dokumente und Informationen, die auf die eine oder mehrere Suchanfragen reagieren, können aus denselben verschiedenen Komponenten abgerufen werden, darunter auch aus dem Indexierungsmodul 126 und/oder dem Informationsmodul 130. In verschiedenen Implementierungen können Inhalte, die auf die eine oder mehrere Suchanfragen reagieren, auch alternative Anfragevorschläge beinhalten, die von dem alternativen Anfragevorschlagsmodul 136 wiedergegeben werden. In einigen Implementierungen können Inhalte, die auf die eine oder mehrere Suchanfragen reagieren, durch das Einstufungsmodul 134 eingestuft werden, bevor diese wiedergegeben werden.
  • basierend auf dem reaktionsfähigen Inhalt können verschiedene Elemente, die mit dem reaktionsfähigen Inhalt assoziiert sind, wie z. B. grafische Elemente (Wörter, Bilder, Animationen, Applets), Töne, usw. unter zwei oder mehr Benutzern, die zwei oder mehr Nachrichtenaustauschclients 107 bedienen, in einen Nachrichtenaustauschthread integriert werden. In Implementierungen, bei denen ein Transkript des Nachrichtenaustauschthreads für einen oder mehrere Teilnehmer (z. B. eine jeweilige grafische Benutzeroberfläche) sichtbar ist, können die integrierten Elemente für den einen oder mehrere Benutzer sichtbar sein. In rein hörbaren/Sprachausgabe-Implementierungen hingegen kann der reaktionsfähige Inhalt an einen Teilnehmer hörbar ausgegeben werden.
  • Elemente können auf verschiedene Arten zwischen mehreren Nachrichtenaustauschclients 107 in einem Nachrichtenaustauschthread integriert werden. In einigen Implementierungen können das Nachrichtenaustauschmodul 120, das persönliche Assistenzmodul 122 und/oder das persönliche Assistenzmodul 109 anfordern, dass mindestens ein Nachrichtenaustauschclient 107, der an dem Nachrichtenaustauschthread beteiligt ist, ein oder mehrere mit dem reaktionsfähigen Inhalt assoziierte grafische Elemente in ein Transkript des laufenden Nachrichtenaustauschthreads einfügt, der in einer grafischen Benutzeroberfläche angezeigt wird. In einigen Szenarien können die grafischen Elemente in Transkripten integriert werden, die von mehr als einem Nachrichtenaustauschclient 107, z. B. in Transkripten wiedergegeben werden, die von sämtlichen Nachrichtenaustauschclients 107, die an dem Nachrichtenaustauschthread teilnehmen, gerendert werden. In einigen Implementierungen können reaktionsfähige Inhalte jedem Nachrichtenaustauschclient 107 in einfacher Weise bereitgestellt werden, der dann auswählen kann, welcher Inhalt in dessen Version des Transkripts des Nachrichtenaustauschthreads zu integrieren ist. Oder wie oben erwähnt, kann jede der Komponenten 120, 122, 107 und/oder 109 hörbar Elemente in einen hörbaren Nachrichtenaustauschthread integrieren.
  • Verschiedene Arten von grafischen Elementen können in das gerenderte Transkript des Nachrichtenaustauschthreads integriert werden. In einigen Implementierungen können das eine oder mehrere grafische Elemente Text enthalten, der Informationen vermitteln, die auf die durch das Nachrichtenaustauschmodul 120 gebildete Suchanfrage reagieren. Angenommen, ein erster Teilnehmer bedient seinen Nachrichtenaustauschclient 107, um einem anderen Teilnehmer oder dem persönlichen Assistenzmodul 109 eine Frage wie diese zu stellen: „Welcher Bundesstaat wurde zuerst in den Staatenbund aufgenommen?” Das Nachrichtenaustauschmodul 120, das persönliche Assistenzmodul 109, das persönliche Assistenzmodul 122 oder eine andere Komponente kann auf Wunsch eines Benutzers oder sua sponte die Frage (oder eine Variation derselben) als Suchanfrage an das Indexierungsmodul 126 und/oder das Informationsmodul 130 übermitteln. Das Indexierungsmodul 126 und/oder das Informationsmodul 130 können Informationen in Reaktion auf die Suchanfrage bereitstellen, wie beispielsweise eine Angabe, dass Delaware der erste Bundesstaat war, der in die Vereinigten Staaten von Amerika aufgenommen wurde. Zudem können zusätzliche reaktionsfähige Informationen aufgenommen werden, wie z. B. das Datum, an dem Delaware zugelassen wurde, welcher Bundesstaat danach zugelassen wurde usw. Einige oder alle diese Informationen können dann in den Nachrichtenaustauschthread integriert werden, sodass dieser in ein Transkript integriert wird, welches in der grafischen Benutzeroberfläche, beispielsweise für den Nachrichtenaustausch-Client 107, der von dem Benutzer bedient wird, der die Frage gestellt hat, angezeigt wird.
  • Zusätzlich zu oder anstelle von Text können in verschiedenen Implementierungen das eine oder mehrere grafische Elemente, die in den Nachrichtenaustauschthread integriert sind, ein oder mehrere Bilder beinhalten, die den Inhalt in Reaktion auf die Suchanfrage vermitteln. In dem oben beschriebenen Szenario kann beispielsweise ein Bild des Bundesstaates Delaware und/oder dessen Fahne in den Nachrichtenaustauschthread zusätzlich zu oder anstelle von Text über Delaware integriert werden.
  • In vielen Fällen können die Informationen, die auf die Suchanfrage reagieren, zu unhandlich sein (z. B. zu lang, zu ausführlich, usw.) um in den Nachrichtenaustauschthread ohne Unterbrechung der Konversation praktisch integriert zu werden. In solchen Situationen kann eine Teilmenge aller reaktionsfähigen Informationen für die Integration in den Thread ausgewählt werden (d. h. sämtliche reaktionsfähigen Informationen können ausgelesen werden). In einigen Implementierungen können das Nachrichtenaustauschmodul 120, das persönliche Assistenzmodul 122 und/oder das persönliche Assistenzmodul 109 die Teilmenge (oder die reaktionsfähigen Informationen) für die Integration in den Nachrichtenaustauschthread auswählen. In anderen Implementierungen kann die umfassenden reaktionsfähigen Informationen einem Nachrichtenaustauschclient 107 bereitgestellt werden, und der Nachrichtenaustauschclient 107 kann die Auslesung durchführen. In einigen Implementierungen können die Informationen basierend auf einer Bildschirmgröße des Host-Client-Gerätes 106 ausgelesen werden. In einigen Implementierungen können die Top-N Suchergebnisse für die Integration in den Nachrichtenaustauschthread ausgewählt werden. N kann basierend auf z. B. der Bildschirmgröße, den Benutzerpräferenzen usw, ausgewählt oder manuell ausgewählt werden (z. B. könnte N auf fünf, zehn, zwei, eins usw.) eingestellt werden.
  • In einigen Implementierungen kann das Wissenssystem 102 z. B. als Teil des Informationsmoduls 130 und/oder einer anderen Komponente, eine sogenannte „Wissensbasis” aufweisen, die Datensätze von bekannten Entitäten (z. B. Personen, Standorten, Dingen), Eigenschaften der bekannten Entitäten (z. B. Typ, Name, Alter, Standort usw.) und Beziehungen zwischen den bekannten Entitäten, enthält. In einigen Implementierungen kann eine solche Wissensbasis, z. B. im Index 132 als ein Diagramm implementiert werden, in dem Knoten Entitäten (und in einigen Fällen zugehörige Eigenschaften) darstellen und in dem Kanten Beziehungen zwischen Entitäten darstellen, obwohl dies der nicht erforderlich ist. In einigen derartigen Implementierungen können Informationen über Entitäten aus einer solchen Wissensbasis dem Nachrichtenaustauschmodul 120, z. B. in Reaktion auf eine Suchabfrage verfügbar gemacht werden, die beispielsweise durch ein Nachrichtenaustauschmodul 120, wie beschrieben, gebildet und übermittelt wird.
  • In einigen Implementierungen kann die Wissensbasis, z. B. durch das Nachrichtenaustauschmodul 120, das persönliche Assistenzmodul 122 und/oder das Informationsmodul 130, verwendet werden, um eine erste in der einen oder den mehreren Nachrichten erwähnten Entität bzw. Art der Entität zu identifizieren, die zwischen den zwei oder mehr Benutzern im Rahmen des Nachrichtenaustauschthreads ausgetauscht werden. Informationen, die in Bezug auf die Entität oder Art der Entität auf eine Suchanfrage reagieren, können dann in den Nachrichtenaustauschthread integriert werden. Nehmen wir zum Beispiel an, dass ein Benutzer in den Nachrichtenaustauschthread eine Nachricht wie „Habe Ruth war der größte!” eingibt. „Babe Ruth” kann, z. B. durch das Informationsmodul 130 basierend auf einer im Index 132 gespeicherten Wissensbasis zusammen mit einer oder mehreren Eigenschaften von Habe Ruth und/oder einer oder mehreren verwandten Entitäten, wie etwa eine oder mehrere Mannschaften für die er spielte (z. B. die New York Yankees), seine Familienmitglieder, seine Teamkollegen, aktiven Jahre, sein Alter und so weiter, identifiziert werden. Ein oder mehrere Teile dieser Information können dann ausgewählt und z. B. durch das Nachrichtenaustauschmodul 120 oder persönliche Assistenzmodul 122 oder lokal an einem Clientgerät 106 durch einen Nachrichtenaustauschclient 107 oder ein persönliches Assistenzmodul 109 automatisch (z. B. als ein oder mehrere grafische Elemente) in den Nachrichtenaustauschthread integriert werden. Wenn beispielsweise Babe Ruth in einem Nachrichtenaustauschthread von einem Benutzer erwähnt wird, können Informationen über Babe Ruth und/oder andere Baseball-Spieler ebenfalls in den Thread integriert werden, sodass diese von mindestens einem Benutzer über eine Benutzeroberfläche seines Nachrichtenaustauschclients 107 abrufbar sind.
  • In verschiedenen Implementierungen kann ein mehrstufiges, verschachteltes maschinelles Lernmodell (oder genauer gesagt ein Klassifikator) trainiert werden, um zwischen Suchanfragen-Nichteignungswerten und Suchanfragen-Eignungswerten zu unterscheiden. Ein breites Spektrum von Trainingsdaten aus Quellen wie vorherigen Suchen und Nachrichtenaustauschfäden kann verwendet werden, um eine erste Ebene von unbeaufsichtigten maschinellen Lernmodellen (oder Klassifikatoren), wie z. B. 242/244 in 2, zu trainieren. Die Ausgabe aus diesen maschinellen Lernmodellen, zusammen mit anderen Signalen wie Suchergebnissen und annotierten Anfragen, kann verwendet werden, um ein überwachtes maschinelles Lernmodell (oder einen Klassifikator) zu erstellen. Das beaufsichtigte maschinelle Lernmodell kann z. B. immer dann ausgelöst werden, wenn ein Teilnehmer eine Nachricht in einem Nachrichtenaustauschthread beiträgt, um einen Suchanfragen-Nichteignungswert („ICS”) und Suchanfragen-Eignungswert („SQSS”) zu generieren. Basierend auf diesen Werten kann die eingegebene Nachricht in eine oder mehrere verschiedene geschichtete Vertrauensniveaus gruppiert werden. Eine Einstufungsfunktion kann dann den ICS/SQSS zusammen mit anderen Signalen aus verschiedenen Quellen von Inhalten, die auf eine Suchanfrage reagieren, verwenden, um eine Artwort auszuwählen, die für die Integration in einen Nachrichtenaustauschthread am besten geeignet ist.
  • 2 zeigt einen nicht beschränkenden exemplarischen Prozessablauf, der von einigen Implementierungen der vorliegenden Offenbarung verwendet werden kann. In diesem Beispiel kann eine Nachricht 240, die von einem Nachrichtenaustauschthread identifiziert wird, verwendet werden, um eine Eingabe für ein oder mehrere maschinelle Lernmodelle, wie beispielsweise ein ICS-Maschinenlernmodell 242 und ein SQSS-Maschinenlernmodell 244, bereitzustellen. Das ICS-Maschinenlernmodell 242 gibt einen ICS aus, der auf einer oder mehreren Eigenschaften der Nachricht 240 berechnet wird. Das SQSS-Maschinenlernmodell 244 gibt einen SQSS aus, der auf einer oder mehreren Eigenschaften der Nachricht 240 berechnet wird. In einigen Implementierungen kann die Nachricht 240 als Eingabe für ein oder beide maschinelle Lernmodelle Wort für Wort verwendet werden. In anderen Implementierungen können eine oder mehrere Eigenschaften der Nachricht 240 (z. B. Annotationen, begleitende Signale, usw.) zusätzlich oder anstelle der Nachricht 240 selbst als Eingabe für ein oder beide maschinelle Lernmodelle verwendet werden. Während die maschinellen Lernmodelle 242 und 244 separat dargestellt werden, ist dies in keiner Weise als Einschränkung aufzufassen. In einigen Implementierungen kann ein einzelnes maschinelles Lernmodell die Nachricht 240 als Eingabe empfangen und sowohl den ICS als auch den SQSS bereitstellen.
  • In einigen Implementierungen kann das ICS-Maschinenlernmodell 242 auf einem oder mehreren Korpussen von Nachrichten eines Nachrichtenaustauschthreads trainiert werden, von denen bekannt ist, dass sie irrelevante Gespräche umfassen und daher als positive Trainingsbeispiele dienen können. In einigen Implementierungen kann das ICS-Maschinenlernmodell 242 auch mit negativen Trainingsbeispielen, wie beispielsweise Nachrichten eines Nachrichtenaustauschthreads, trainiert werden, von denen bekannt ist, dass sie für die Generierung und Nutzung von Suchanfragen geeignet sind. In anderen Implementierungen kann der ICS möglicherweise mit anderen Verfahren als nur maschinellen Lernmodellen bestimmt werden. In einigen Implementierungen kann die Nachricht 240 beispielsweise mit einer Vielzahl von Nachrichten-/dialogorientierten Antwortpaaren verglichen werden, um, z. B. unter Verwendung von fehlertoleranten Suchverfahren, die beste Übereinstimmung zu ermitteln. Je mehr die Nachricht 240 einem oder mehreren Nachrichten-/dialogorientierten Antwortpaaren ähnelt, ein umso höherer ICS kann derselben Nachricht zugewiesen werden.
  • In einigen Implementierungen kann das SQSS-Maschinenlernmodell 244 auf einem oder mehreren Korpussen von Nachrichten trainiert werden, die Nachrichten von Nachrichtenaustauschfaden austauschen, von denen bekannt ist, dass sie für die Erzeugung und das Einsenden von Suchabfragen geeignet sind und somit als positive Trainingsbeispiele dienen können. In einigen Implementierungen kann das SQSS-Maschinenlernmodell 244 zudem mit negativen Trainingsbeispielen, wie beispielsweise Nachrichten eines Nachrichtenaustauschthreads trainiert werden, von denen bekannt ist, dass sie irrelevante Gespräche darstellen. In einigen Implementierungen kann das SQSS-Maschinen-Lernmodell 244 unter Verwendung eines Korpus vergangener Suchabfragen trainiert werden, die sich möglicherweise auf vergangene Nachrichtenaustauschfäden beziehen oder auch nicht. Vergangene Suchanfragen, die besonders fokussierte oder stark reaktionsfähige Inhalte ergaben, können als positive Trainingsbeispiele verwendet werden. Vergangene Suchanfragen, die unfokussierte, unsinnige oder bedeutungslose reaktionsfähige Inhalte ergeben, können als negative Trainingsbeispiele verwendet werden.
  • In einigen Implementierungen kann das ICS-Ausgabesignal des ICS-Maschinenlernmodells 242 mit einem oder mehreren absoluten Schwellenwerten bei 246 verglichen werden. Wenn diese absoluten Schwellenwerte erfüllt sind, kann die Nachricht als nicht geeignet für eine Suchanfrage klassifiziert werden, wonach dann die am besten übereinstimmende dialogorientierte Antwort in den Nachrichtenaustauschthread bei Block 248 integriert werden kann. In einigen Implementierungen kann im Rahmen der Operationen von 248 die Nachricht 240, z. B. unter Verwendung fehlertoleranter Suchverfahren, mit einer Vielzahl von Nachrichten-/dialogorientierten Antwortpaaren verglichen werden, um die beste Übereinstimmung zu ermitteln. Anstatt das der ICS der Nachricht 240 basierend auf der engsten Übereinstimmung berechnet wird, kann, wenn die Nachricht 240 genau oder nahezu exakt mit einem Nachrichten-/dialogorientierten Antwortpaar übereinstimmt, die dialogorientierten Antwort aus dem Nachrichten-/dialogorientierten Antwortpaar identifiziert und in den Nachrichtenaustauschthread. aus dem die Nachricht 240 stammt, integriert werden. Wenn jedoch der ICS die eine oder die mehreren Schwellenwerte bei 246 nicht erfüllt, kann eine Differenz (Δ) zwischen dem ICS und dem SQSS, die durch das SQSS-Maschinenlernmodell 244 ausgegeben wird, bei 250 bestimmt werden. Wenn die Differenz zwischen dem ICS und dem SQSS einen oder mehrere Schwellenwerte erfüllt, kann die Nachricht als nicht geeignet für eine Suchanfrage klassifiziert werden, wonach die dialogorientierten Antwort identifiziert und in den Nachrichtenaustauschthread bei 248 integriert werden kann.
  • Lautet die Antwort bei Block 250 nein (und die Nachricht wird als geeignet für eine Suchanfrage klassifiziert), dann können die Nachricht 240 und/oder eine oder mehrere Eigenschaften der Nachricht 240 (z. B. Annotationen, Begriffspaare, usw.) oder eine basierend auf der Nachricht 240 generierte Suchanfrage verschiedenen Komponenten des Wissenssystems 102, wie z. B. dem Indexierungsmodul 126 und/oder dem Informationsmodul 130, bereitgestellt werden. Diese Komponenten können reaktionsfähige Inhalte (z. B. Suchergebnisse, alternative Anfragevorschläge, reaktionsfähige Informationen usw.) generieren, die anschließend bei Block 252 analysiert werden, um zu bestimmen, ob sie einen oder mehrere Schwellenwerte erfüllen. Lautet die Antwort nein, kann, wie oben mit Bezug auf 248 beschrieben, die am besten übereinstimmende dialogorientierten Antwort identifiziert und integriert werden. Wenn zum Beispiel die Popularität der Suchergebnisse, die auf die Suchanfrage reagieren, zu niedrig ausfällt. ist es ggf. nicht hilfreich oder interessant genug für die Teilnehmer des Nachrichtenaustauschthreads, um die Angaben der Suchergebnisse in den Nachrichtenaustauschthread zu integrieren. Lautet die Antwort bei Block 252 ja, kann eine Teilmenge des reaktionsfähigen Inhalts in den Nachrichtenaustauschthread bei 254 integriert werden.
  • Die Operationen/Komponenten in 2 sind nur ein Beispiel dafür, wie offenbarte Verfahren implementiert werden können. Zahlreiche Variationen werden hierin in Betracht gezogen. Beispielsweise kann in einigen Implementierungen das ICS-Maschineniernmodell 242 ausgelassen werden. Stattdessen kann die Nachricht 240 einfach mit einer Vielzahl von Nachrichten-/dialogorientierten Antwortpaaren verglichen werden, um die beste Übereinstimmung zu ermitteln. Eine Ähnlichkeit zwischen der Nachricht 240 und der Nachricht des am besten übereinstimmenden Nachrichten-/dialogorientierten Antwortpaares kann einfach als ICS verwendet werden. Erfüllt der ICS einen oder mehrere absolute Schwellenwerte (246), kann die dialogorientierte Antwort ohne weitere Analyse in den Nachrichtenaustauschthread integriert werden. Die dialogorientierten Antwort kann darüber hinaus in den Nachrichtenaustauschthread integriert werden, wenn eine Differenz (Δ) zwischen dem ICS und dem SQSS einen oder mehrere Schwellenwerte (250) erfüllt oder wenn der Inhalt, der auf eine Suchanfrage reagiert, die basierend auf der Nachricht 240 generiert wurde, einen oder mehrere Schwellenwerte nicht erfüllt (252). Zusätzlich oder alternativ kann statt einer fehlertoleranten Abstimmung eine Reihe von Heuristiken bereitgestellt werden, um eine dialogorientierten Antwort auf die Nachricht 240 zu identifizieren und zu integrieren.
  • 3 zeigt ein exemplarisches Clientgerät 306, das von einem bestimmten Benutzer (bezeichnet als „SIE”), bedient wird, das eine grafische Benutzeroberfläche 360 beinhaltet, die mit einem Nachrichtenaustauschclient (der in 3 nicht spezifisch dargestellt ist) assoziiert ist, welcher auf dem Clientgerät 306 betrieben wird. Die grafische Benutzeroberfläche 360 zeigt ein Transkript 362 eines Nachrichtenaustauschthreads zwischen dem vom Benutzer bedienten Clientgerät 306 und einem persönlichen Assistenzmodul („PAM”), das auf dem Clientgerät 306 installiert ist. Die grafische Benutzeroberfläche 360 beinhaltet zudem ein Texteingabefeld 364, das der Bediener des Clientgerätes 306 verwenden kann, um Text oder anderen Inhalt, z. B. in Reaktion auf vorhergehende Angaben des persönlichen Assistenzmoduls, in den Nachrichtenaustauschthread einzugeben.
  • Der Bediener fragt das persönliche Assistenzmodul zuerst: „Wie geht es dir heute?” Diese Frage (oder allgemeiner, „Nachricht”) wäre nicht geeignet für die Verwendung als Suchanfrage, da die Suchergebnisse, die es wahrscheinlich generieren könnte, nicht sehr hilfreich oder sinnvoll sein würden. Allerdings stimmt die Frage wahrscheinlich exakt oder zumindest sehr genau mit einem oder mehreren Nachrichten-/dialogorientierten Antwortpaaren überein, wie z. B. mit dem folgenden Nachrichten-/dialogorientierten Antwortpaar: <„Wie geht es heute?”, „Mir geht es gut. Wie geht es dir?”>. Infolgedessen trägt das persönliche Assistenzmodul die dialogorientierten Antwort: „Mir geht es gut. Wie geht es dir?” in das Transkript 362 ein. Der Bediener des Clientgerätes 306 antwortet dann: „Es ging mir schon schlechter.” Wieder ist diese Nachricht nicht für das Generieren und Übermitteln einer Suchanfrage geeignet. Stattdessen stimmt die Nachricht eher mit einem oder mehreren Nachrichten-/dialogorientierten Antwortpaaren überein, wie z. B. den folgenden: <„Danke, es geht so.” „Lassen Sie mich wissen, ob ich etwas tun kann, um Sie aufzumuntern”>. Infolgedessen trägt das persönliche Assistenzmodul die dialogorientierten Antwort bei: „Lassen Sie mich wissen, ob ich etwas tun kann, um Sie aufzumuntern.”
  • Als Nächstes fragt der Bediener das persönliche Assistenzmodul: „Was steht morgen auf der Tagesordnung?” Die Nachricht „Was steht morgen auf der Tagesordnung?” kann, wenn sie, wie in 2 dargestellt, als Eingabe für ein maschinelles Lernmodell verwendet wird, einen relativ niedrigen ICS und/oder einen relativ hohen SQSS ergeben. Zusätzlich oder alternativ kann die Tatsache, dass die Nachricht mit dem Wort „Was” beginnt und das Wort „Agenda” enthält, auch (z. B. über eine oder mehrere Heuristiken) dazu führen, dass diese Nachricht als geeignet für die Verwendung zum Generieren und Übermitteln einer Suchanfrage identifiziert wird. Folglich wird die Nachricht dazu verwendet, eine Suchanfrage, die den Fahrplan des Fahrers für den Tag nach dem aktuellen Tag abruft, zu erzeugen und z. B. an verschiedene Komponenten des Wissenssystems 102 oder einzelne Clientgeräte 106 zu übermitteln. Das persönliche Assistenzmodul integriert anschließend, in das Transkript in Prosa-Form, die Antwort: „Sie haben Sitzungen um 11:30 Uhr und 14:00 Uhr. sowie Drinks mit Sue in Restaurant 7686.”
  • 4 zeigt eine Fortsetzung des in 3 dargestellten Nachrichtenaustauschthreads. Dementsprechend sind alle Komponenten dieselben, mit Ausnahme der Nachrichten des Transkripts 362, die in der Benutzeroberfläche 360 sichtbar sind. Nach der (oben beschriebenen) letzten Nachricht des persönlichen Assistenzmoduls über den Zeitplan des Fahrers morgen fragt der Bediener: „Wo ist Restaurant 7686?” Eine solche Nachricht kann einen relativ hohen SQSS und einen relativ niedrigen ICS ergeben, wenn diese beispielsweise als Eingabe für ein oder mehrere maschinelle Lernmodelle (z. B. 242, 244) bereitgestellt wird. Zusätzlich oder alternativ kann in einigen Implementierungen die Entität „Restaurant 7686” auf die oben erwähnte Wissensbasis verwiesen werden, um zu bestimmen, dass Restaurant 7686 eine bekannte Entität ist. Im Allgemeinen kann die Identifizierung einer Entität, die in einer Nachricht in einer Wissensbasis erwähnt wird, dazu führen, dass die Ursprungsnachricht einen höheren SQSS erhält als sonst. So kann die Frage des Benutzers über Restaurant 7686 einen relativ hohen SQSS erhalten.
  • In einigen Implementierungen kann die Identifizierung einer Entität in der Wissensbasis den SQSS weiter erhöhen, wenn bestimmt wurde, dass es sich bei der Entität um etwas handelt, das nicht mit einem persönlichen Assistenzmodul assoziiert werden kann. Angenommen, ein Teilnehmer eines Nachrichtenaustauschthreads stellt die Frage: „Wo befindet sich dein Kehldeckel?”, kann das persönliche Assistenzmodul aus der Wissensbasis bestimmen, dass ein Kehldeckel ein menschliches Organ ist, über welches es selbst nicht verfingt. Dementsprechend kann ein relativ hoher SQSS der Frage des Teilnehmers zugeordnet werden. Inhalte, die auf eine entsprechende Suchanfrage reagieren, wie z. B. Informationen über den Kehldeckel, können, z. B. durch das persönliche Assistenzmodul, in den Nachrichtenaustauschthread integriert werden.
  • Zurück in 4 antwortet der persönliche Assistent, indem er eine Adresse für das Restaurant zur Verfügung stellt. Der Bediener ruft dann: „Verdammt! Ich wünschte, ich bräuchte dort nicht hin.” Wenn als Eingabe für ein oder mehrere maschinelle Lernmodelle, wie diejenigen in 2, bereitgestellt, kann diese Nachricht einen relativ hohen ICS und/oder einen relativ niedrigen SQSS erhalten. Folglich kann der persönliche Assistent diese Nachricht so gut wie möglich auf ein Nachrichten-/dialogorientierten Antwortpaar abstimmen. Zum Beispiel kann es in verschiedenen Graden auf die folgenden Nachrichten-/dialogorientierten Antwortpaare abgestimmt werden: <„Mist!.*”, „Es tut mir leid”>, <„Verflixt!.*”, „Es tut mir leid”>, <„Mist! 0.*”, „Es tut mir leid”>. In diesem Beispiel antwortet das persönliche Assistenzmodul mit der dialogorientierten Antwort „Es tut mir leid”.
  • Während das Beispiel aus den 34 im Rahmen eines visuell-basierten Nachrichtenaustauschthreads dargestellt wird, ist dies in keiner Weise als Einschränkung aufzufassen. In verschiedenen Ausführungsformen können hierin beschriebene Verfahren auf hörbare Nachrichtenaustauschfäden, z. B. zwischen einem Teilnehmer und einem persönlichen Assistenzmodul, das auf einem eigenständigen Sprachausgabegerät betrieben wird, angewendet werden.
  • In den hierin beschriebenen Beispielen wurden Daten, die auf Suchanfragen reagieren, welche basierend auf den Inhalten des Nachrichtenaustauschthreads gebildet wurden, aus den verschiedenen Quellen abgerufen, die mit dem Wissenssystem 102 in 1 assoziiert sind. Dies ist jedoch in keiner Weise als Einschränkung aufzufassen. Reaktionsfähige Daten können zudem aus anderen Quellen abgerufen werden. In einigen Fällen können Suchanfragen verwendet werden, um Informationen zu durchsuchen, die für einen Benutzer persönlich sind (vorausgesetzt, der Benutzer stellt zuerst die Erlaubnis dafür bereit). Beispielsweise können die E-Mails, Texte, Kalendereinträge, die Aktualisierungen des sozialen Netzwerkstatus und andere ähnliche Informationen eines Benutzers, die ggf. zumindest teilweise auf dem Clientgerät 106 gespeichert werden, als potenziell durchsuchbare Quellen für die ggf. verwendeten Suchanfragen verwendet werden.
  • In 5 wird ein exemplarisches Verfahren 500 zur Erweiterung eines Nachrichtenaustauschthreads beschrieben. Zur Erleichterung werden die Operationen des Ablaufdiagramms unter Bezugnahme auf ein System, das die Operationen durchführt, beschrieben. Dieses System kann verschiedene Komponenten der verschiedenen Computersysteme beinhalten. Dieses System kann verschiedene Komponenten verschiedener Computersysteme, einschließlich verschiedener hierin beschriebener Module, beinhalten. Darüber hinaus ist, während Operationen des Verfahrens 500 in einer bestimmten Reihenfolge dargestellt werden, dies in keiner Weise als Einschränkung aufzufassen. Eine oder mehrere Operationen können in eine neue Reihenfolge gesetzt, ausgelassen oder hinzugefügt werden.
  • Bei Block 502 kann das System aus einem Nachrichtenaustauschthread mit einem oder mehreren Nachrichtenaustauschclients (und damit von einem oder mehreren Teilnehmern) eine Nachricht abrufen, die durch einen Teilnehmer zum Nachrichtenaustauschthread beigetragen wurde. Dies kann jede von einem Teilnehmer in einen Nachrichtenaustauschthread eingegebene Nachricht einschließen. unabhängig davon, ob die Nachricht an einen anderen Teilnehmer oder an ein persönliches Assistenzmodul gerichtet ist, das an dem Nachrichtenaustauschthread teilnimmt. Gehen wir beispielsweise zum Zwecke der Veranschaulichung des Verfahrens 500 davon aus. dass ein Benutzer die Frage stellt, „Wie alt ist Präsident Obama?”
  • Bei Block 504 kann ein mit der Nachricht assoziierter ICS berechnet werden. Wie oben erwähnt. kann bei einigen Implementierungen der ICS durch ein maschinelles Lernmodell (z. B. 242) bereitgestellt werden, das die Nachricht als Eingabe empfangen hat. Zusätzlich oder alternativ dazu kann bei einigen Implementierungen der ICS basierend darauf berechnet werden, wie gut die in Betracht gezogene Nachricht mit einem Nachrichten-/dialogorientierten Antwortpaar übereinstimmt. In der laufenden Veranschaulichung kann die Nachricht „Wie alt ist Präsident Obama” am besten mit einem Nachrichten-/dialogorientierten Antwortpaar wie <„Wie alt sind Sie?”, „Ich bin [Anzahl von Jahren einfügen seit persönliches Assistenzmodul aktiviert wurde] Jahre alt”>. Eine derartige Übereinstimmung würde wahrscheinlich nicht zu einem besonders hohen ICS führen.
  • Bei Block 506, der in einigen Implementierungen parallel zu den Operationen des Blocks 504 auftreten kann, kann ein mit der Nachricht assoziierter SQSS berechnet werden. Wie oben erwähnt, kann in einigen Implementierungen der SQSS durch ein maschinelles Lernmodell (z. B. 244) bereitgestellt werden, welches die Nachricht als Eingabe empfangen hat. In der laufenden Veranschaulichung kann die Nachricht „Wie alt ist Präsident Obama” einen relativ hohen SQSS erhalten, weil diese beispielsweise eine bekannte Entität erwähnt und/oder eine Frage nach einer dritten Person ist. In alternativen Implementierungen kann der SQSS basierend auf dem Inhalt generiert werden, der auf eine oder mehrere Suchanfragen reagiert, die automatisch basierend auf der Nachricht generiert und an verschiedene Quellen übermittelt werden. In der Implementierung von 5 wird die Suchanfrage bei Block 512 generiert und bei Block 514 übermittelt.
  • Bei Block 508 kann der bei Block 504 berechnete ICS mit dem im Block 506 berechneten SQSS verglichen werden. Wenn ein Δ zwischen den beiden Werten einen vorbestimmten Schwellenwert erfüllt (und die Nachricht somit als nicht geeignet für eine Suchanfrage befunden wird), kann das System mit Block 510 fortfahren, an welchem Punkt eine dialogorientierten Antwort, die mit einem Nachrichten-/dialogorientierten Antwortpaar assoziiert ist, das am besten mit der in Betracht gezogenen Nachricht übereinstimmt, in den Nachrichtenaustauschthread integriert werden kann. Lautet die Antwort bei Block 508 nein (und die Nachricht wird als geeignet für eine Suchanfrage klassifiziert), kann das Verfahren 500 mit Block 512 fortfahren. Im laufenden Beispiel wird der ICS, der mit der Nachricht „Wie alt ist Präsident Obama” assoziiert ist, wahrscheinlich weniger als dessen SQSS betragen, weshalb Verfahren 500 mit Block 512 fortfahren kann.
  • Bei Block 512 kann das System eine Suchanfrage generieren, die auf der in Betracht gezogenen Nachricht basiert. Wenn die Nachricht als Frage gestellt oder anderweitig bereits in Form einer nutzbaren Suchanfrage vorliegt, kann die Nachricht einfach Wort für Wort als Suchanfrage an verschiedene Komponenten gesendet werden. Wenn die Nachricht jedoch nicht in geeigneter Form vorliegt, um als Suchanfrage verwendet zu werden, können verschiedene natürliche Sprachverarbeitungsverfahren, Anweisungsumschreibungen, Entitätsauflösungen und so weiter angewendet werden, um eine Suchanfrage zu generieren, die für das Übermitteln an verschiedenen Quellen in geeigneterer Form vorliegt. Im laufenden Beispiel erscheint die Nachricht „Wie alt ist Präsident Obama” für die Verwendung als Suchanfrage gut geeignet und würde wahrscheinlich eine direkte Antwort (z. B. aus dem Informationsmodul 130) generieren. Darüber hinaus würde es wahrscheinlich eine Reihe von Suchergebnissen geben, die sich auf das Alter von Präsident Obama beziehen oder damit zusammenhängen können, wie etwa eine Enzyklopädie-Seite über ihn, eine Online-Biographie, ein Online-Merkblatt und so weiter.
  • Bei Block 514 kann das System einen Inhalt abrufen, der auf die Suchanfrage reagiert, z. B. indem es die Suchanfrage an verschiedene Komponenten des Wissenssystems 102 übermittelt und den Inhalt als Antwort empfängt. Wie aus der vorliegenden Offenbarung deutlich wird, ist der Begriff „Suchanfrage” nicht auf eine absichtlich eingegebene Frage oder Aussage eines Benutzers auf eine Art Suchmaschine beschränkt, die dazu bestimmt ist, reaktionsfähige Dokumente wiederzugeben. Vielmehr bedeutet der Begriff „Suchanfrage” im weiteren Sinne eine Information, die an eine oder mehrere Komponenten des Wissenssystems 102 übermittelt werden kann, um reaktionsfähigen Inhalt zu liefern. Wie oben erwähnt, können diese Komponenten unter anderem ein Indexierungsmodul 126, ein Informationsmodul 130 und ein alternatives Anfragevorschlagsmodul 136 beinhalten. In einigen Implementierungen kann eine Nachricht verwendet werden, um mehrere Suchanfragen zu generieren, die jeweils auf eine andere Komponente des Wissenssystems 102 zugeschnitten sind, um z. B. die Qualität des reaktionsfähigen Inhalts zu verbessern.
  • Unter erneuter Bezugnahme auf 5 kann das System bei Block 516 zumindest eine Teilmenge des in Reaktion auf die Suchanfrage in den Nachrichtenaustauschthread wiedergegebenen Inhalts enthalten. Wie oben erwähnt, können verschiedene Komponenten entweder eines Clientgerätes 106 oder eines Wissenssystems 102 diese Operation ausfünhren. Beispielsweise kann das Nachrichtenaustauschmodul 120 und/oder das persönliche Assistenzmodul 122 anfordern, dass ein oder mehrere Nachrichtenaustauschclients 107 reaktionsfähigen Inhalt in Transkripte einfügen, die visuell von jedem Nachrichtenaustauschclient 107 wiedergegeben werden. Zusätzlich oder alternativ kann der reaktionsfähige Inhalt von einer oder mehreren Komponenten des Wissenssystems 102 an Nachrichtenaustauschclients 107 bereitgestellt werden, und den Nachrichtenaustauschclients 107 überlassen werden, den reaktionsfähigen in den Nachrichtenaustauschthread zu integrierenden Inhalt auszuwählen (d. h. auszulesen). Und in einigen Implementierungen kann der integrierte Inhalt die Form von hörbarem Inhalt annehmen, der von einem persönlichen Assistenzmodul an einen Teilnehmer „sprachlich ausgegeben” wird. Im laufenden Beispiel kann eine Aussage, wie z. B. „Barack Obama ist XX Jahre alt” in den Nachrichtenaustauschthread integriert werden.
  • 6 zeigt ein Blockdiagramm eines exemplarischen Computersystems 610. Das Computersystem 610 beinhaltet in der Regel mindestens einen Prozessor 614, der über das Bus-Teilsystem 612 mit einer Reihe von Peripheriegeräten kommuniziert. Diese Peripheriegeräte können ein Datenspeicherteilsystem 624 beinhalten, das beispielsweise ein Arbeitsspeicherteilsystem 625 und ein Dateispeicherteilsystem 626, Benutzerschnittstellen-Ausgabegeräte 620, Benutzerschnittstellen-Eingabegeräte 622 und ein Netzwerkschnittstellenteilsystem 616 umfasst. Die Eingabe- und Ausgabegeräte ermöglichen die Interaktion des Benutzers mit dem Computersystem 610. Das Netzwerkschnittstellenteilsystem 616 stellt eine Schnittstelle für externe Netzwerke bereit und ist mit entsprechenden Schnittstellengeräten in anderen Computersystemen gekoppelt.
  • Bei den Benutzerschnittstellen-Eingabegeräten 622 kann es sich unter anderem um eine Tastatur, Zeigegeräte, wie etwa eine Maus, einen Trackball, ein Touchpad, und/oder ein Grafik-Tablet, einen Scanner, einen in eine Anzeige integrierten Touchscreen, Audio-Eingabegeräte, wie z. B. Stimmenerkennungssysteme, Mikrofone und/oder sonstige Arten von Eingabegeräten, handeln. Im Allgemeinen soll die Verwendung des Begriffs „Eingabegerät” alle möglichen Gerätearten und Möglichkeiten der Eingabe von Informationen in ein Computersystem 610 oder in ein Kommunikationsnetzwerk beinhalten.
  • Bei den Benutzerschnittstellengeräten 620 kann es sich unter anderem um ein Anzeigeteilsystem, einen Drucker, ein Faxgerät, sowie nicht-visuelle Anzeigen, wie z. B. Audio-Ausgabegeräte, handeln. Das Anzeigeteilsystem kann eine Kathodenstrahlröhre (CRT), ein Flachdisplaygerät, wie z. B. eine Flüssigkristallanzeige (LCD), ein Projektionsgerät oder einen sonstigen Mechanismus für das Erstellen eines sichtbaren Bildes beinhalten. Das Anzeigeteilsystem kann zudem eine nicht visuelle Anzeige, z. B. über Audioausgabegeräte, bereitstellen. Im Allgemeinen soll die Verwendung des Begriffs „Ausgabegerät” alle möglichen Gerätearten und Möglichkeiten der Ausgabe von Informationen aus einem Computersystem 610 an den Benutzer oder eine andere Maschine oder ein anderes Computersystem beinhalten.
  • Das Datenspeicherteilsystem 624 speichert Programmier- und Datenkonstrukte, welche die Funktionalität einiger oder aller hierin beschriebenen Module bereitstellen. Beispielsweise kann das Datenspeicherteilsystem 624 die Logik beinhalten, ausgewählte Aspekte des Verfahrens 500 auszuführen und/oder einen oder mehrere Nachrichtenaustauschclients 107, ein persönliches Assistenzmodul 109, ein Nachrichtenaustauschmodul 120, ein persönliches Assistenzmodul 122, ein Indexierungsmodul 126, das Informationsmodul 130, das Einstufungsmodul 134 und/oder das alternative Anfragevorschlagsmodul 136 zu implementieren.
  • Diese Softwaremodule werden im Allgemeinen vom Prozessor 614 allein oder in Kombination mit anderen Prozessoren ausgeführt. Der im Datenspeicherteilsystem 625 verwendete Arbeitsspeicher 624 kann eine Reihe von Arbeitsspeichern beinhalten, einschließlich eines Hauptspeichers mit wahlfreiem Zugriff (RAM) 630 zum Speichern von Anweisungen und Daten während der Programmausführung und eines Nur-Lese-Speichers (ROM) 632, in dem feststehende Anweisungen gespeichert sind. Ein Dateispeicherteilsystem 626 kann einen persistenten Datenspeicher für Programm- und Datendateien bereitstellen und ein Festplattenlaufwerk, ein Floppy-Disk-Laufwerk zusammen mit zugehörigen entfernbaren Medien, einem CD-ROM-Laufwerk, einem optischen Laufwerk oder entfernbaren Mediendatenträgern beinhalten. Die Module, welche die Funktonalität bestimmter Implementierungen implementieren, können vom Dateispeicherteilsystem 626 im Datenspeicherteilsystem 624 oder in anderen Maschinen, die für den bzw. die Prozessor(en) 614 zugänglich sind, gespeichert werden.
  • Das Busteilsystem 612 stellt einen Mechanismus bereit, der es den verschiedenen Komponenten und Teilsystemen des Computersystems 610 ermöglicht, wie vorgesehen miteinander zu kommunizieren. Obwohl das Busteilsystem 612 schematisch als ein einzelner Bus dargestellt wird, können alternative Implementierungen des Busteilsystems mehrere Busse verwenden.
  • Bei dem Computersystem 610 kann es sich um unterschiedliche Arten handeln, darunter auch um eine Arbeitsstation, einen Server, ein Computercluster, ein Blade-Server, eine Serverfarm oder ein anderes Datenverarbeitungssystem oder Computergerät. Aufgrund der sich ständig verändernden Beschaffenheit von Computern und Netzwerken ist die Beschreibung des in 6 dargestellten Computersystems 610 nur als spezifisches Beispiel zum Zwecke der Veranschaulichung einiger Implementierungen gedacht. Viele andere Konfigurationen des Computergeräts 610 verfügen möglicherweise über mehr oder weniger Komponenten als das in 6 dargestellte Computergerät.
  • In Situationen, in denen hierin beschriebenen Systeme persönliche Informationen über Benutzer erfassen oder sich persönlicher Informationen bedienen. kann für die Benutzer eine Möglichkeit bereitgestellt werden, zu kontrollieren, ob Programme oder Funktionen Benutzerinformationen (z. B. Informationen über das soziale Netzwerk eines Benutzers, soziale Handlungen oder Aktivitäten, Beruf. die Präferenzen eines Benutzers oder den gegenwärtigen geografischen Standort eines Benutzers) erfassen sollen oder es kann eine Möglichkeit bereitgestellt werden, zu kontrollieren, ob und/oder wie Inhalte, die für den Benutzer von größerer Relevanz sein können, vom inhaltsbezogenen Server empfangen werden sollen. Darüber hinaus können gewisse Daten auf eine oder mehrere Weisen behandelt werden, bevor sie gespeichert oder verwendet werden, sodass Informationen zur Identifizierung von Personen entfernt werden. Eine Benutzeridentität kann beispielsweise so behandelt werden, dass keine persönlichen identifizierbaren Informationen für den Benutzer bestimmt werden können, oder ein geografischer Standort des Benutzers verallgemeinert werden kann, wobei Informationen übern den geografischen Standort (wie beispielsweise eine Stadt, Postleitzahl oder ein Bundesstaat) abgerufen werden, sodass ein bestimmter geografischer Standort des Benutzers nicht festgestellt werden kann. So kann der Benutzer die Kontrolle darüber haben, wie die Informationen über den Benutzer gesammelt und/oder verwendet werden.
  • Gemäß den Ausführungsformen sind Verfahren, Geräte. Systeme und computerlesbare Medien zur automatischen Erweiterung von Nachrichtenaustauschfaden basierend auf einer Klassifizierung von zwischen den Teilnehmern ausgetauschten Nachrichten vorgesehen. In verschiedenen Implementierungen kann eine von einem Teilnehmer in einem Nachrichtenaustauschthread beigetragene Nachricht bestimmt werden, an der ein oder mehrere Nachrichtenaustauschclients beteiligt sind. In verschiedenen Implementierungen kann eine Klassifizierung für die Nachricht zumindest teilweise basierend auf einem berechneten ersten (oder „Suchanfragen-Nichteignungs”)-Wert bestimmt werden, der auf einen Grad der Nichteignung der Nachricht zur Verwendung als Suchanfrage hindeutet. In verschiedenen Implementierungen kann entweder eine dialogorientierten Antwort auf die Nachricht oder der Inhalt, der auf eine auf der Nachricht generierten Suchanfrage reagiert, selektiv in den Nachrichtenaustauschthread, welcher zumindest teilweise auf der Klassifizierung basiert, integriert werden. In einigen Implementierungen kann zudem ein zweiter (oder „Suchanfragen-Eignungs”)-Wert, der auf einen Grad der Eignung der Nachricht zur Verwendung als Suchanfrage hindeutet, berechnet werden.
  • Obgleich verschiedene Implementierungen hierin beschrieben und dargestellt werden, kann eine Vielzahl weiterer Mittel und/oder Strukturen verwendet werden, um die Funktion durchzuführen und/oder um die Ergebnisse zu erlangen und/oder um einen oder mehrere der hier beschriebenen Vorteile zu erlangen, zudem wird jede der besagten Variationen und/oder Modifikationen als innerhalb des Umfangs der hierin beschriebenen Implementierungen angesehen. Genauer gesagt sollen jegliche hierin beschriebenen Parameter, Abmessungen, Materialien und Konfigurationen als exemplarisch betrachtet werden, während die tatsächlichen Parameter, Abmessungen, Materialien und/oder Konfigurationen von der spezifischen Anwendung bzw. den Anwendungen abhängen, bei welchen die erfindungsgemäße Lehre angewendet wird. Fachleute auf dem Gebiet werden anerkennen oder dazu in der Lage sein, unter Gebrauch einer lediglich routinegemäßen Handlung, zu vielen Äquivalenten der hier beschriebenen spezifischen Implementierungen zu gelangen. Es versteht sich daher, dass die zuvor genannten Ausführungsformen lediglich exemplarisch dargelegt sind, und dass, innerhalb des Umfangs der anliegenden Ansprüche und deren Äquivalente, erfindungsgemäße Ausführungsformen andersartig als spezifisch beschrieben und beansprucht in die Praxis umgesetzt werden können. Implementierungen der vorliegenden Beschreibung sind, wie hierin beschrieben, auf jedes individuelle Merkmal, System, Artikel, Material, Kit und/oder Verfahren, ausgerichtet. Darüber hinaus ist jede Kombination von zwei oder mehr solcher Merkmale, Systeme, Elemente, Materialien, Kits und/oder Verfahren, sofern die besagten Merkmale, Systeme, Artikel, Materialien, Kits und/oder Verfahren nicht gegenseitig inkonsistent sind, innerhalb des Umfangs der vorliegenden Offenbarung inbegriffen.

Claims (20)

  1. Computerlesbares Speichermedium, umfassend auf dem Speichermedium gespeicherten Programcode, der, wenn er auf einem Computer ausgeführt wird, folgendes zur Ausführung bringt: das Bestimmen von einem oder mehreren Prozessoren aus einem Nachrichtenaustauschthread, der einen oder mehrere Nachrichtenaustauschclients umfasst, eine Nachricht, die durch einen Teilnehmer zum Nachrichtenaustauschthread beigetragen wurde; das Berechnen eines mit der Nachricht assoziierten Suchanfragen-Nichteignungswertes durch einen oder mehrere der Prozessoren; sowie das selektive Integrieren in den Nachrichtenaustauschthread durch einen oder mehrere der Prozessoren, die zumindest teilweise auf dem Suchanfragen-Nichteignungswert basieren, entweder eine dialogorientierten Antwort auf die Nachricht oder den Inhalt, der auf eine auf der Nachricht generierten Suchanfrage reagiert.
  2. Computerlesbares Speichermedium nach Anspruch 1, wobei das Integrieren das Einfügen der Antwort in ein Transkript des Nachrichtenaustauschthreads umfasst, das in einer grafischen Benutzeroberfläche eines Nachrichtenaustauschclients angezeigt wird, der auf einem spezifischen Clientcomputergerät betrieben wird.
  3. Computerlesbares Speichermedium nach Anspruch 1 oder Anspruch 2, wobei das Berechnen des Suchanfragen-Nichteignungswertes das Bereitstellen der Nachricht als Eingabe für ein maschinelles Lernmodell umfasst, wobei das maschinelle Lernmodell den Suchanfragen-Nichteignungswert als Ausgabesignal bereitstellt.
  4. Computerlesbares Speichermedium nach Anspruch 3, wobei das maschinelle Lernmodell des Weiteren einen der Nachricht zugeordneten Suchanfragen-Eignungswert als Ausgabe bereitstellt.
  5. Computerlesbares Speichermedium nach Anspruch 4, des Weiteren Folgendes umfassend: das Vergleichen. durch einen oder mehrere der Prozessoren, des Suchanfragen-Nichteignungswertes mit dem Suchanfragen-Eignungswert; und das Auswählen, durch den einen oder die mehreren Prozessoren, basierend auf dem Vergleich für die Integration in den Nachrichtenaustauschthread, der dialogorientierten Antwort mit der Nachricht oder den Inhalt, der auf die basierend auf der Nachricht generierte Suchanfrage reagiert.
  6. Computerlesbares Speichermedium nach einem der Ansprüche 3 bis 5, wobei das maschinelle Lernmodell basierend auf mindestens einem positiven Trainingsbeispiel trainiert wird, wobei das mindestens eine positive Trainingsbeispiel eine Instanz beinhaltet, in der ein oder mehrere Teilnehmer eines vorherigen Nachrichtenaustauschthreads positiv auf die Integration einer dialogorientierten Antwort auf eine vorherige Nachricht des vorherigen Nachrichtenaustauschthreads oder die Integration von Inhalten reagiert haben, der auf eine vorhergehende Suchanfrage reagiert, die basierend auf der vorherigen Nachricht generiert wurde.
  7. Computerlesbares Speichermedium nach einem der vorstehenden Ansprüche, das des Weiteren das Berechnen eines in Reaktion auf die Suchanfrage mit dem Inhalt assoziierten Suchergebniswertes durch einen oder mehrere der Prozessoren umfasst, wobei die Integration ferner auf dem Ergebnis der Suchergebnisse basiert.
  8. Computerlesbares Speichermedium nach Anspruch 7, wobei der Suchergebniswert zumindest teilweise auf einem oder mehreren aufgetauchten Suchergebnissen basiert, die auf die Suchanfrage reagieren.
  9. Computerlesbares Speichermedium nach einem der vorstehenden Ansprüche, das des Weiteren das Berechnen durch einen oder mehrere der Prozessoren eines Suchanfrage-Eignungswertes umfasst, der mit der Nachricht assoziiert ist und zumindest teilweise auf einer oder den mehreren bekannten Entitäten oder Entitätstypen basiert, die in der Nachricht erwähnt werden.
  10. System mit einem oder mehreren Prozessoren und einem Arbeitsspeicher, der betriebsfähig mit dem einen oder den mehreren Prozessoren gekoppelt ist, wobei der Arbeitsspeicher Anweisungen speichert, die in Reaktion auf die Ausführung des einen oder der mehreren Prozessoren bewirken, dass der eine oder die mehreren Prozessoren: aus einem Nachrichtenaustauschthread mit einem oder mehreren Nachrichtenaustauschclients eine Nachricht bestimmen, die von einem Teilnehmer zum Nachrichtenaustauschthread beigetragen wurde; einen mit der Nachricht assoziierten Suchanfragen-Nichteignungswert berechnen; und selektiv entweder eine dialogorientierten Antwort auf die Nachricht oder den Inhalt, der auf eine basierend auf der Nachricht generierten Suchanfrage reagiert, in den Nachrichtenaustauschthread integrieren, die zumindest teilweise auf dem Suchanfragen-Nichteignungswert basiert.
  11. System nach Anspruch 10, wobei das Integrieren das Einfügen der Antwort in ein Transkript des Nachrichtenaustauschthreads umfasst, das in einer grafischen Benutzeroberfläche eines Nachrichtenaustauschclients angezeigt wird, der auf einem spezifischen Clientcomputergerät betrieben wird.
  12. System nach Anspruch 10 oder Anspruch 11, wobei das Berechnen des Suchanfragen-Nichteignungswertes das Bereitstellen der Nachricht als Eingabe für ein maschinelles Lernmodell umfasst, wobei das maschinelle Lernmodell als Ausgabesignal den Suchanfragen-Nichteignungswert bereitstellt.
  13. System nach Anspruch 12, wobei das maschinelle Lernmodell des Weiteren als Ausgabe einen mit der Nachricht assoziierten Suchanfragen-Eignungswert liefert.
  14. System nach Anspruch 13, des Weiteren umfassend die folgenden Anweisungen: Vergleichen des Suchanfragen-Eignungswertes mit dem Suchanfragen-Eignungswert; und Auswählen, basierend auf dem Vergleich, für die Integration in den Nachrichtenaustauschthread, der dialogorientierten Antwort auf die Nachricht oder den Inhalt, der auf die basierend auf der Nachricht generierten Suchanfrage reagiert.
  15. System nach einem der Ansprüche 12 bis 14, wobei das maschinelle Lernmodell basierend auf mindestens einem positiven Trainingsbeispiel trainiert wird, wobei das mindestens eine positive Trainingsbeispiel eine Instanz beinhaltet, in der ein oder mehrere Teilnehmer eines vorherigen Nachrichtenaustauschthreads positiv auf die Integration einer dialogorientierten Antwort auf eine vorherige Nachricht des vorherigen Nachrichtenaustauschthreads oder die Integration von Inhalten in Reaktion auf eine vorherige Suchanfrage, die basierend auf der vorherigen Nachricht generiert wurde, reagiert haben.
  16. System nach einem der Ansprüche 10 bis 15, das des Weiteren das Berechnen durch einen oder mehrere der Prozessoren eines Suchergebniswertes umfasst, der mit dem Inhalt in Reaktion auf die Suchanfrage assoziiert ist, wobei die Integration ferner auf dem Ergebnis der Suchergebnisse basiert.
  17. System nach Anspruch 16, wobei der Suchergebniswert zumindest teilweise auf einem oder mehreren aufgetauchten Suchergebnissen basiert, die auf die Suchanfrage reagieren.
  18. System nach einem der Ansprüche 10 bis 17, das des Weiteren das Berechnen durch einen oder mehreren der Prozessoren eines Suchanfragen-Eignungswertes umfasst, der mit der Nachricht assoziiert ist, die zumindest teilweise auf einer oder mehreren bekannten Entitäten oder Entitätstypen basiert, die in der Nachricht erwähnt werden.
  19. Computerprogramm, umfassend den auf dem computerlesbaren Speichermedium nach einem der Ansprüche 1 bis 9 gespeicherten Programmcode.
  20. Computerlesbares Speichermedium, umfassend auf dem Speichermedium gespeicherten Programcode, der, wenn er auf einem Computer ausgeführt wird, folgendes zur Ausführung bringt: das Bestimmen durch einen oder mehrere Prozessoren aus einem Nachrichtenaustauschthread, der einen oder mehrere Nachrichtenaustauschclients umfasst, einer Nachricht, die durch einen Teilnehmer zum Nachrichtenaustauschthread beigetragen wurde; das Berechnen durch einen oder mehrere der Prozessoren eines ersten Wertes, der auf einen Grad der Nichteignung der Nachricht zur Verwendung als Suchanfrage hindeutet, und das selektive Einfügen durch einen oder mehrere Prozessoren in den Nachrichtenaustauschthread, zumindest teilweise basierend auf dem ersten Wert, des Inhalts, der auf eine Suchanfrage reagiert, die basierend auf der Nachricht generiert wurde.
DE202016008217.6U 2016-05-17 2016-12-23 Automatisch augmentierende Nachrichenaustauschthreads besierend auf der Nachrichtenklassifizierung Active DE202016008217U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/157,372 US10769155B2 (en) 2016-05-17 2016-05-17 Automatically augmenting message exchange threads based on tone of message
US15/157,372 2016-05-17

Publications (1)

Publication Number Publication Date
DE202016008217U1 true DE202016008217U1 (de) 2017-04-28

Family

ID=57750638

Family Applications (2)

Application Number Title Priority Date Filing Date
DE102016125594.7A Pending DE102016125594A1 (de) 2016-05-17 2016-12-23 Automatisch augmentierende Nachrichtenaustauschthread basierend auf der Nachrichtenklassifizierung
DE202016008217.6U Active DE202016008217U1 (de) 2016-05-17 2016-12-23 Automatisch augmentierende Nachrichenaustauschthreads besierend auf der Nachrichtenklassifizierung

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE102016125594.7A Pending DE102016125594A1 (de) 2016-05-17 2016-12-23 Automatisch augmentierende Nachrichtenaustauschthread basierend auf der Nachrichtenklassifizierung

Country Status (8)

Country Link
US (4) US10769155B2 (de)
EP (1) EP3440560A1 (de)
JP (2) JP6851397B2 (de)
KR (3) KR102249437B1 (de)
CN (2) CN107391521B (de)
DE (2) DE102016125594A1 (de)
GB (1) GB2557363A (de)
WO (1) WO2017200575A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10769155B2 (en) 2016-05-17 2020-09-08 Google Llc Automatically augmenting message exchange threads based on tone of message
US10257126B2 (en) * 2016-08-04 2019-04-09 International Business Machines Corporation Communication fingerprint for identifying and tailoring customized messaging
US10412038B2 (en) 2017-03-20 2019-09-10 International Business Machines Corporation Targeting effective communication within communities
US11176453B2 (en) * 2017-12-28 2021-11-16 Fujifilm Business Innovation Corp. System and method for detangling of interleaved conversations in communication platforms
US11322264B2 (en) * 2018-04-23 2022-05-03 DNAFeed Inc. Systems and methods for human-augmented communications
US11544374B2 (en) * 2018-05-07 2023-01-03 Micro Focus Llc Machine learning-based security threat investigation guidance
US11924297B2 (en) 2018-05-24 2024-03-05 People.ai, Inc. Systems and methods for generating a filtered data set
US10565229B2 (en) 2018-05-24 2020-02-18 People.ai, Inc. Systems and methods for matching electronic activities directly to record objects of systems of record
US11463441B2 (en) 2018-05-24 2022-10-04 People.ai, Inc. Systems and methods for managing the generation or deletion of record objects based on electronic activities and communication policies
KR102202139B1 (ko) * 2018-12-17 2021-01-12 지속가능발전소 주식회사 협력업체 공급망 리스크 분석 방법, 이를 수행하기 위한 기록매체
JP6624539B1 (ja) * 2019-10-01 2019-12-25 株式会社トレードワークス クラス分類と回帰分類を組み合わせたaiチャットボットの構築方法
CN114936000B (zh) * 2019-12-26 2024-02-13 上海擎感智能科技有限公司 基于图片构架的车机交互方法、系统、介质及设备
US11356389B2 (en) * 2020-06-22 2022-06-07 Capital One Services, Llc Systems and methods for a two-tier machine learning model for generating conversational responses
US11405337B2 (en) * 2020-09-23 2022-08-02 Capital One Services, Llc Systems and methods for generating dynamic conversational responses using ensemble prediction based on a plurality of machine learning models
US11792141B2 (en) * 2021-01-12 2023-10-17 Meta Platforms Technologies, Llc Automated messaging reply-to
US11978445B1 (en) 2021-03-30 2024-05-07 Amazon Technologies, Inc. Confidence scoring for selecting tones and text of voice browsing conversations
US11776542B1 (en) * 2021-03-30 2023-10-03 Amazon Technologies, Inc. Selecting dialog acts using controlled randomness and offline optimization
US20220318283A1 (en) * 2021-03-31 2022-10-06 Rovi Guides, Inc. Query correction based on reattempts learning
US11507757B2 (en) * 2021-04-16 2022-11-22 Capital One Services, Llc Systems and methods for generating dynamic conversational responses based on historical and dynamically updated information
US11743215B1 (en) 2021-06-28 2023-08-29 Meta Platforms Technologies, Llc Artificial reality messaging with destination selection

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3454897B2 (ja) 1994-01-31 2003-10-06 株式会社日立製作所 音声対話システム
JP4281899B2 (ja) 2003-03-14 2009-06-17 富士通株式会社 質問文書要約装置、質問応答検索装置、質問文書要約プログラム
US8200775B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US7496500B2 (en) * 2004-03-01 2009-02-24 Microsoft Corporation Systems and methods that determine intent of data and respond to the data based on the intent
US7917582B2 (en) 2004-07-27 2011-03-29 Siemens Enterprise Communications, Inc. Method and apparatus for autocorrelation of instant messages
EP1825406A4 (de) * 2004-10-28 2010-01-20 Yahoo Inc Suchsystem und verfahren mit integration von benutzerbeurteilungen, einschliesslich trust-netzwerke
US7848971B1 (en) 2006-02-28 2010-12-07 Intuit Inc. Integrated online chat within an income tax preparation product
JP5229782B2 (ja) 2007-11-07 2013-07-03 独立行政法人情報通信研究機構 質問応答装置、質問応答方法、及びプログラム
EP2313847A4 (de) * 2008-08-19 2015-12-09 Digimarc Corp Verfahren und systeme zur inhaltsbearbeitung
US8886234B2 (en) 2011-04-06 2014-11-11 Microsoft Corporation Techniques for unified messaging
US9043350B2 (en) * 2011-09-22 2015-05-26 Microsoft Technology Licensing, Llc Providing topic based search guidance
JP5775466B2 (ja) 2012-01-13 2015-09-09 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 会話から雑談部分を抽出するための雑談抽出システム、方法、およびプログラム
JP5710581B2 (ja) 2012-12-18 2015-04-30 日本電信電話株式会社 質問応答装置、方法、及びプログラム
KR101821358B1 (ko) 2013-01-22 2018-01-25 네이버 주식회사 다자간 메신저 서비스를 제공하는 방법 및 시스템
US20150314454A1 (en) 2013-03-15 2015-11-05 JIBO, Inc. Apparatus and methods for providing a persistent companion device
JP5744150B2 (ja) * 2013-10-17 2015-07-01 日本電信電話株式会社 発話生成装置、方法、及びプログラム
JP6280342B2 (ja) 2013-10-22 2018-02-14 株式会社Nttドコモ 機能実行指示システム及び機能実行指示方法
JP6178208B2 (ja) 2013-10-28 2017-08-09 株式会社Nttドコモ 質問分野判定装置及び質問分野判定方法
US9015192B1 (en) * 2013-12-30 2015-04-21 Google Inc. Systems and methods for improved processing of personalized message queries
US9213941B2 (en) 2014-04-22 2015-12-15 Google Inc. Automatic actions based on contextual replies
CN103995872B (zh) 2014-05-21 2017-04-05 王青 一种在应用中基于场景展开讨论与聊天的方法与系统
US10445650B2 (en) * 2015-11-23 2019-10-15 Microsoft Technology Licensing, Llc Training and operating multi-layer computational models
US10769155B2 (en) 2016-05-17 2020-09-08 Google Llc Automatically augmenting message exchange threads based on tone of message

Also Published As

Publication number Publication date
US11762865B2 (en) 2023-09-19
CN107391521A (zh) 2017-11-24
CN107391521B (zh) 2021-02-02
KR102148444B1 (ko) 2020-08-26
KR20200100874A (ko) 2020-08-26
EP3440560A1 (de) 2019-02-13
GB2557363A (en) 2018-06-20
CN112800218A (zh) 2021-05-14
KR102216629B1 (ko) 2021-02-17
DE102016125594A1 (de) 2017-11-23
US20230394049A1 (en) 2023-12-07
US20170337199A1 (en) 2017-11-23
GB201620957D0 (en) 2017-01-25
KR20190005194A (ko) 2019-01-15
JP6980074B2 (ja) 2021-12-15
KR20210018553A (ko) 2021-02-17
KR102249437B1 (ko) 2021-05-07
US20200117672A1 (en) 2020-04-16
JP2019521415A (ja) 2019-07-25
US10769155B2 (en) 2020-09-08
JP2021012723A (ja) 2021-02-04
US20220027377A1 (en) 2022-01-27
US11222030B2 (en) 2022-01-11
WO2017200575A1 (en) 2017-11-23
JP6851397B2 (ja) 2021-03-31

Similar Documents

Publication Publication Date Title
DE202016008217U1 (de) Automatisch augmentierende Nachrichenaustauschthreads besierend auf der Nachrichtenklassifizierung
DE202016008241U1 (de) Bereitstellen von Vorschlägen für die Interaktion mit einem automatisierten Assistenten in einem Multi-User Nachrichtenaustausch-Thread
DE202016008173U1 (de) Einbindung von auswählbaren Anwendungsverknüpfungen in Nachrichtenaustausch-Threads
DE202017105860U1 (de) Bedingte Bereitstellung von Zugriff durch interaktive Assistentenmodule
DE102017122200A1 (de) Bilden einer Chatbot-Ausgabe auf der Grundlage eines Anwenderzustandes
DE202017105852U1 (de) Aufgaben-Initiierung unter Verwendung von langen Sprachbefehlen
DE202016008163U1 (de) Vorrichtung für das Ermitteln des nicht-textlichen Antwortinhalts zur Einbeziehung in eine Antwort auf eine elektronische Kommunikation
DE202017105844U1 (de) Bereitstellen einer Eingabeaufforderung in einer automatisierten Dialogsitzung basierend auf ausgewähltem Inhalt von vorherigen automatisierten Dialogsitzungen
DE202016008238U1 (de) Nichtdeterministische Aufgabeninitiierung durch ein persönliches Assistenzmodul
DE102017119601A1 (de) Verwenden einer Anwendereingabe, um Suchergebnisse, die für die Darstellung für den Anwender bereitgestellt werden, anzupassen
DE112016000741T5 (de) Bestimmen von Antwortinhalt für eine Antwort auf eine elektronische Kommunikation
DE102018113034A1 (de) Stimmenerkennungssystem und stimmenerkennungsverfahren zum analysieren eines befehls, welcher mehrere absichten hat
EP1648151A1 (de) Verfahren und Anordnung zur Bearbeitung von Nachrichten im Rahmen eines Integrated Messaging Systems
DE202016008323U1 (de) Das Einbeziehen auswählbarer Anwendungslinks in Konversationen mit persönlichen Assistenz-Modulen
DE102016125513A1 (de) Erweitern von Nachrichtenaustausch-Threads
DE202017105863U1 (de) Einstufen von Suchergebnisdokumenten
DE102012214273A1 (de) Kontextbasiertes Messaging-System
DE112021005731T5 (de) Mechanismus zum intelligenten puffern von anfragen
DE102019218918A1 (de) Dialogsystem, elektronisches gerät und verfahren zur steuerung des dialogsystems
DE102022116004A1 (de) Techniken zum Generieren von Gesprächsthemen in einer virtuellen Umgebung

Legal Events

Date Code Title Description
R207 Utility model specification
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years