DE102016125783A1 - Bereitstellen von Vorschlägen für die Interaktion mit einem automatisierten Assistenten in einem Multi-User-Nachrichtenaustausch-Thread - Google Patents

Bereitstellen von Vorschlägen für die Interaktion mit einem automatisierten Assistenten in einem Multi-User-Nachrichtenaustausch-Thread Download PDF

Info

Publication number
DE102016125783A1
DE102016125783A1 DE102016125783.4A DE102016125783A DE102016125783A1 DE 102016125783 A1 DE102016125783 A1 DE 102016125783A1 DE 102016125783 A DE102016125783 A DE 102016125783A DE 102016125783 A1 DE102016125783 A1 DE 102016125783A1
Authority
DE
Germany
Prior art keywords
user
content
message exchange
thread
query
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102016125783.4A
Other languages
English (en)
Inventor
Michael Schaer
Alexandru Tudor
Ori Gershony
Fredrik Bergenlid
Behshad Behzadi
Tomislav Grbin
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 DE102016125783A1 publication Critical patent/DE102016125783A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/903Querying
    • G06F16/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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
    • 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/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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]
    • 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]
    • H04L51/046Interoperability with other network applications or services
    • 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/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information
    • 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/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • 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

Abstract

Bereitstellen mindestens eines kontextbezogenen Vorschlags für einen oder mehrere Benutzer eines laufenden Nachrichtenaustauschs-Threads zwischen den Benutzern. Der Vorschlag wird für die Darstellung an den Benutzer (die Benutzer) über eine Benutzeroberflächenausgabevorrichtung von Computergeräten des oder der Benutzer bereitgestellt. Der Vorschlag zeigt eine Abfrage, die an einen automatisierten Assistenten übergeben werden kann, damit der automatisierte Assistent in den Nachrichtenaustausch-Thread Inhalte einfügt, die auf die Abfrage antworten. Bei einigen Implementierungen ist der Vorschlag ein auswählbarer Vorschlag und der Inhalt, der auf die Abfrage antwortet, wird in Antwort auf die Benutzerschnittstelleneingabe, die auf den auswählbaren Vorschlag gerichtet ist, in den Nachrichtenaustausch-Thread integriert. Bei einigen Implementierungen wird der Vorschlag basierend auf einer oder mehreren Nachrichten bestimmt, die bereits zwischen Benutzern des Nachrichtenaustausch-Threads kommuniziert wurden.

Description

  • Hintergrund
  • Mehrere Benutzer können miteinander textuell über Nachrichtenaustausch-Threads kommunizieren, die unter Verwendung verschiedener Technologien implementiert werden können, wie beispielsweise Textnachrichtenaustausch, Online-Chat (z. B. Instant Messenger, Internet Relay Chat), soziale Netzwerk-Nachrichten-Threads und so weiter. Client-Nachrichtenaustausch-Anwendungen wie Text-Messaging-Anwendungen, Online-Chat-Anwendungen, Social-Networking-Anwendungen usw. können zumindest einen Teil eines Transkriptes (z. B. eines Live- oder Near-Live-Datensatzes von Text und/oder Bildern, die in Echtzeit aktualisiert werden, wenn die Benutzer sich unterhalten) eines laufenden Nachrichtenaustausch-Threads als Teil einer graphischen Benutzerschnittstelle anzeigen, sodass die Benutzer der Konversation folgen können.
  • Der laufende Nachrichtenaustausch-Thread und somit das angezeigte Transkript ist typischerweise auf Text oder andere Daten beschränkt, wie beispielsweise Bilder, die Benutzer bewusst und explizit in den Nachrichtenaustausch-Thread einbinden. Folglich müssen Benutzer, die nach Außeninformationen suchen, die für das Gespräch relevant sind, zu einer anderen Anwendung wie einem Webbrowser wechseln, um die gewünschte Information zu erhalten. Schaltanwendungen können einen oder mehrere Nachteile in verschiedenen Szenarien aufweisen, beispielsweise, wenn mobile Computergeräte verwendet werden, die oft nur eine einzelne Anwendung gleichzeitig anzeigen. So können beispielsweise Vermittlungsanwendungen ablenkend und belastend sein, den Ablauf der Konversation stören und/oder eine oder mehrere Rechenressourcen (z. B. Speicher-, Prozessor- und/oder Batterie-Ressourcen einer mobilen Rechenvorrichtung) steuern. Zusätzliche und/oder alternative Nachteile von Client-Nachrichtenaustausch-Anwendungen können dargestellt werden.
  • Kurzdarstellung
  • Einige Implementierungen dieser Spezifikation sind darauf gerichtet, mindestens einen kontextrelevanten Vorschlag für einen oder mehrere Benutzer eines laufenden Nachrichtenaustausches-Threads zwischen den Benutzern bereitzustellen. Der Vorschlag wird für die Darstellung an den Benutzer (die Benutzer) über eine Benutzeroberflächenausgabevorrichtung von Computergeräten des oder der Benutzer bereitgestellt. Der Vorschlag zeigt eine Abfrage, die an einen automatisierten Assistenten übermittelt werden kann (z. B. über den Nachrichtenaustausch-Thread an den automatisierten Assistenten übermittelt), um zu bewirken, dass der automatisierte Assistent in den Nachrichtenaustausch-Thread Inhalte einfügt, die auf die Abfrage ansprechen. Das Einfügen von kontextuell relevanten Vorschlägen in den Nachrichtenaustausch-Thread kann die Anzahl von Benutzereingaben reduzieren, die ein Benutzer an ein Gerät vornehmen muss, um auf den Inhalt zuzugreifen, der auf die Abfrage antwortet. Dies kann insbesondere für Benutzer mit geringer Geschicklichkeit oder Benutzern von Vorteil sein, die ansonsten Schwierigkeiten haben, Benutzereingaben für ein Gerät vorzunehmen. Für zumindest diese Benutzer kann die Integration der auswählbaren Vorschläge in den Nachrichtenaustausch-Thread die Zuverlässigkeit und die Geschwindigkeit der Verwendung der Vorrichtung erhöhen, z. B. durch Speichern von Benutzerfehlern aufgrund der geringen Geschicklichkeit.
  • Bei einigen Implementierungen ist der Vorschlag ein auswählbarer Vorschlag (z. B. ein wählbares graphisches Element, das für eine Anzeige vorgesehen ist) und Inhalt, der auf die Abfrage antwortet, wird in Antwort auf die Benutzerschnittstelleneingabe, (z. B. ein „Hahn”, ein „Klick”, ein „verbaler Befehl”) die auf den auswählbaren Vorschlag gerichtet ist, in das Nachrichtenaustausch-Thread integriert. Bei einigen Implementierungen wird der Vorschlag basierend auf einer oder mehreren Nachrichten bestimmt, die bereits zwischen Benutzern des Nachrichtenaustausch-Threads kommuniziert wurden. So kann beispielsweise die durch den Vorschlag angegebene Abfrage auf der Basis eines oder mehrerer Begriffe, Bilder und/oder anderer Inhalte der bereits kommunizierten Nachrichten bestimmt werden.
  • Als ein spezifisches Beispiel für einige Implementierungen, die hierin beschrieben werden, nehmen wir an, dass sich „Tom”, „Jerry” und „Spike” in einem Nachrichtenaustausch-Thread befinden. Ferner wird angenommen, dass „Tom” einen Nachrichtenaustausch-Client von einem seiner Computergeräte verwendet, um eine Nachricht von „Ich habe gehört, Band A hat ein Konzert in Louisville, Interesse?” zu formulieren und diese Nachricht in den Thread zu integrieren. Es sei ferner angenommen, dass Jerry eine Text-Messaging-Anwendung seines Computergeräts verwendet, um eine Antwortnachricht von „Eine Ahnung welches Datum?” zu formulieren und diese Nachricht in den Thread zu integrieren. Eine Abfrage von „Datum des Band A Louisville Konzerts” kann basierend auf der Nachricht und basierend auf der Antwortnachricht gemäß einer oder mehrerer hierin beschriebenen Techniken bestimmt werden. Ferner kann ein Vorschlag, der ein wählbares graphisches Element ist, das eine Angabe der Abfrage liefert (z. B. die alle Begriffe der Abfrage beinhaltet), für die Anzeige von Tom, Jerry und/oder Spike über ihre jeweiligen Textnachrichtenanwendungen bereitgestellt werden. In Reaktion auf eine Benutzerschnittstelleneingabe von einem der Benutzer, die auf das wählbare graphische Element gerichtet ist, das dem Benutzer angezeigt wird, ist der Inhalt, der auf die Abfrage reagiert, automatisch in den Nachrichtenaustausch-Thread integriert und einem oder mehreren (z. B. allen) Benutzern angezeigt werden. So kann beispielsweise der Inhalt Text beinhalten, der das Datum, die Uhrzeit und/oder den Ort des Konzerts von Band A in Louisville anzeigt. Der Inhalt kann beispielsweise basierend auf einem oder mehreren Suchergebnissen ermittelt werden, die für eine für die Anfrage ausgegebene Suche zurückgegeben werden.
  • Bei einigen Implementierungen kann die Bereitstellung von kontextrelevanten Vorschlägen während eines laufenden Nachrichtenaustausch-Thread die die Einreichung von Benutzerabfragen, die durch diese Vorschläge angezeigt werden, erleichtern und deren Einreichung bewirkt, dass ein automatisierter Assistent kontextbezogene Inhalte in den Nachrichtenaustausch-Thread einbindet. Dies kann die Notwendigkeit für einen Benutzer, von einer Anwendung zu wechseln, die den Nachrichtenaustausch-Thread in eine andere Anwendung umwandelt, verringern und/oder eliminieren, um bestimmte Informationsanforderungen des Benutzers zu erfüllen. Dies kann insbesondere für Benutzer mit geringer Geschicklichkeit oder für Benutzer nützlich sein, für die es ansonsten schwierig wäre, Eingaben an ein Gerät vorzunehmen.
  • Dies kann die Verwendung bestimmter Rechenressourcen, die sonst beim Umschalten zu einer anderen Anwendung verbraucht würden, weiter reduzieren, um die Informationsanforderungen zu erfüllen. So kann beispielsweise das Umschalten zu einer anderen Anwendung die Verwendung von Prozessor-, Speicher- und/oder Batterie-Ressourcen durch das Starten und/oder Aufbringen der Anwendung erfordern. Weiterhin kann das Umschalten zu einer anderen Anwendung, um Inhalte zu erhalten, anstatt den Inhalt von einem automatisierten Assistenten in einem Nachrichtenaustausch-Thread zu erhalten, die Zeit erhöhen, die der Benutzer benötigt, um die Informationen zu erhalten – was zu einem entsprechenden Anstieg des Verbrauchs an Rechenressourcen beim Erhalten des Inhalts führen kann. Bei einigen Implementierungen dienen die hierin beschriebenen Techniken ferner dazu, Benutzer über verschiedene Arten von Eingaben zu informieren, die der Benutzer einem automatisierten Assistenten in zukünftigen laufenden Meldungsaustauschszenarien zur Verfügung stellen kann, wie beispielsweise Szenarien, in denen Vorschläge nicht bereitgestellt werden und/oder Vorschläge geliefert werden, die den Informationsbedürfnissen des Benutzers nicht entsprechen. In mindestens diesen Szenarien können die auswählbaren Vorschläge, die in dem Nachrichtenaustausch-Thread enthalten sind, außerhalb des Geräts, in dem die Vorschläge angezeigt werden, eine Wirkung haben – zumindest dadurch, dass Daten von einem oder mehreren externen Computern auf das Gerät heruntergeladen werden. Dieser Prozess kann durch die auswählbaren Vorschläge verlässlicher gemacht werden, die sicherstellen, dass das Risiko fehlerhafter Daten, die aufgrund eines oder mehrerer fehlerhafter Benutzereingaben, beispielsweise einer Benutzerauswahl eines fehlerhaften manuellen Suchergebnisses, auf das Gerät heruntergeladen werden, signifikant reduziert wird. Dies kann den Netzwerkverkehr verringern und das Gesamtsystem effizienter arbeiten lassen.
  • Bei einigen Implementierungen wird ein von einem oder mehreren Prozessoren durchgeführtes Verfahren bereitgestellt, das das Ermitteln mindestens einer Kandidatenabfrage auf der Grundlage einer oder mehrerer bereits kommunizierter Nachrichten eines laufenden Nachrichtenaustausch-Threads beinhaltet. Der laufende Nachrichtenaustausch-Thread ist zwischen mindestens einem ersten Benutzer und einem zweiten Benutzer über einen ersten Nachrichtenaustausch-Client des ersten Benutzers und einen zweiten Nachrichtenaustausch-Client des zweiten Benutzers. Das Verfahren beinhaltet ferner das Bereitstellen, für mindestens den ersten Benutzer über den ersten Nachrichtenaustausch-Client, eines wählbaren graphischen Elements, das eine Anzeige der Kandidatenabfrage bereitstellt. Das Verfahren beinhaltet ferner in Reaktion auf eine Benutzerschnittstelleneingabe des ersten Benutzers, die auf das auswählbare graphische Element gerichtet ist, wobei Inhalte beinhaltet sind, die auf die Kandidatenabfrage in dem laufenden Nachrichtenaustausch-Thread reagieren. Das Einbinden des Inhalts in den laufenden Nachrichtenaustausch-Thread bewirkt, dass der Inhalt über den ersten Nachrichtenaustausch-Client dem ersten Benutzer angezeigt wird und/oder dem zweiten Benutzer über den zweiten Nachrichtenaustausch-Client angezeigt wird.
  • Bei einigen Implementierungen umfasst das Integrieren des Inhalts in den laufenden Nachrichtenaustausch-Thread das Anfordern, dass mindestens einer der Nachrichtenaustausch-Clients den Inhalt in ein Protokoll des laufenden Nachrichtenaustausch-Threads einfügt, das in einer grafischen Benutzerschnittstelle des mindestens einen der Nachrichtenaustausch-Clients angezeigt wird.
  • Bei einigen Implementierungen umfasst der Inhalt einen oder mehrere aus Text und einem Bild.
  • Bei einigen Implementierungen beinhaltet das Ermitteln der Kandidatenabfrage das Auswählen der Kandidatenabfrage aus einem Korpus von Abfragen auf der Grundlage der Übereinstimmung zwischen einem oder mehreren Suchbegriffen der Kandidatenabfrage und einem oder mehreren Nachrichtenbegriffen der bereits kommunizierten Nachrichten des laufenden Nachrichtenaustausch-Threads.
  • Bei einigen Implementierungen beinhaltet das Ermitteln der Kandidatenabfrage das Ermitteln mindestens einer Entität, auf die in den bereits kommunizierten Nachrichten des laufenden Nachrichtenaustausch-Threads verwiesen wird, und Ermitteln der Kandidatenabfrage auf der Grundlage mindestens der einen Entität. Bei einigen dieser Implementierungen beinhaltet das Ermitteln der Kandidatenabfrage auf der Basis mindestens der einen Entität das Erzeugen eines oder mehrerer Abfrageterme für die Kandidatenabfrage auf der Grundlage eines Alias der mindestens einen Entität.
  • Bei einigen Implementierungen treten das Ermitteln der Kandidatenabfrage und das Bereitstellen des wählbaren graphischen Elements unabhängig von der Formulierung durch den Benutzer für jede zusätzliche natürliche Spracheingabe für die Aufnahme in den Nachrichtenaustausch-Thread.
  • Bei einigen Implementierungen beinhaltet das Verfahren ferner das Ermitteln einer Punktzahl für die Kandidatenabfrage basierend auf einem oder mehreren Begriffen mindestens einer der bereits kommunizierten Nachrichten des laufenden Nachrichtenaustausch-Threads. Das Bereitstellen des wählbaren grafischen Elements kann auf der Punktzahl des zufriedenstellenden Schwellenwerts beruhen. Bei einigen dieser Implementierungen beinhaltet das Ermitteln der Punktzahl basierend auf dem einen oder den mehreren Begriffen das Ermitteln der Punktzahl basierend darauf, ob eine benannte Entität in den Begriffen beinhaltet ist, und/oder ermitteln der Punktzahl basierend darauf, ob eine Vielzahl der Terme mindestens einem vordefinierten Suchabfragemuster entsprechen.
  • Bei einigen Implementierungen beinhaltet das Verfahren ferner das Ermitteln einer Punktzahl für die Kandidatenabfrage basierend auf: einer Messung der Beliebtheit für die Kandidatenabfrage, das auf einer Menge von Einreichungen der Kandidatenabfrage basiert; und/oder ein Qualitätsmaßstab für den Inhalt, der auf die Kandidatenabfrage anspricht. Das Bereitstellen des wählbaren grafischen Elements kann auf der Punktzahl des zufriedenstellenden Schwellenwerts beruhen.
  • Bei einigen Implementierungen beinhaltet das Verfahren ferner das Senden der Kandidatenabfrage zu einer Suchmaschine, das Empfangen eines oder mehrerer Suchresultate als Antwort auf das Übermitteln der Kandidatenabfrage an die Suchmaschine und das Ermitteln des Inhalts, der in den laufenden Nachrichtenaustausch-Thread auf der Basis von mindestens einem der Suchresultate zu integrieren ist. Bei einigen dieser Implementierungen erfolgt das Übermitteln der Kandidatenabfrage an die Suchmaschine in Reaktion auf die Benutzerschnittstelleneingabe, die auf das auswählbare graphische Element gerichtet ist.
  • Bei einigen Implementierungen beinhaltet die Integration des Inhalts in den laufenden Nachrichtenaustausch-Thread das Einbinden des Inhalts in den laufenden Nachrichtenaustausch-Thread mit einer grafischen Anzeige, dass der Inhalt durch einen automatisierten Assistenten erzeugt wird.
  • Bei einigen Implementierungen beinhaltet das Verfahren ferner das Bereitstellen eines zusätzlichen wählbaren grafischen Elements, das einen oder mehrere Begriffe für den ersten Benutzer über den ersten Nachrichtenaustauschclient umfasst, das einen oder mehrere Begriffe kennzeichnet, und wenn sie ausgewählt sind, bewirken, dass der eine oder die mehreren Begriffe in den Nachrichtenaustausch-Thread mit Hinweis eingefügt werden, dass die eine oder die mehreren Begriffe von dem ersten Benutzer stammen und bewirkt, dass der eine oder die mehreren Begriffe in den Nachrichtenaustausch-Thread integriert werden, ohne jeglichen Inhalt einzufügen, der auf den einen oder die mehreren Ausdrücke anspricht.
  • Bei einigen Implementierungen beinhaltet das Bereitstellen des grafischen Elements ferner das Bereitstellen des grafischen Elements zur Anzeige für den zweiten Benutzer über den zweiten Nachrichtenaustauschclient.
  • Bei einigen Implementierungen beinhaltet der Inhalt ein auswählbares erstes Inhaltselement, das auf eine erste Entität fokussiert ist, und ein auswählbares zweites Inhaltselement, das auf eine zweite Entität fokussiert ist. In einigen dieser Implementierungen bewirkt eine Benutzerschnittstelleneingabe, die auf das erste Inhaltselement gerichtet ist, dass zusätzlicher erster Entitätsinhalt, der auf die erste Entität fokussiert ist, in den Nachrichtenaustausch-Thread einbezogen wird und/oder Benutzerschnittstelleneingabe, die auf das zweite Inhaltselement gerichtet ist, bewirkt, dass zusätzlicher zweiter Entitätsinhalt, der auf die zweite Entität fokussiert ist, in den Nachrichtenaustausch-Thread integriert wird.
  • Bei einigen Implementierungen beinhaltet der Inhalt ein erstes Bild oder Text, welches auf eine erste Entität fokussiert ist und ferner mindestens eine auswählbare Tiefenverbindung beinhaltet, die bei Auswahl eine oder mehrere zusätzliche Berechnungsaktionen ausführt, die für die erste Entität spezifisch sind.
  • Bei einigen Implementierungen beinhaltet das Verfahren ferner das Ermitteln einer zusätzlichen verwandten Abfrage basierend auf der Kandidatenabfrage und/oder des Inhalts und nach der Benutzerschnittstelleneingabe des ersten Benutzers, zur Anzeige von mindesten dem ersten Benutzer über den ersten Nachrichtenaustausch-Client ein zusätzliches wählbares grafisches Element, das einen Hinweis der zusätzlichen zugehörigen Anfrage bereitstellt. Das zusätzliche wählbare grafische Element kann für die Anzeige ohne gleichzeitige Anzeige des grafischen Elements zur Verfügung gestellt werden. Das Verfahren beinhaltet ferner als Reaktion auf eine zusätzliche Benutzerschnittstelleneingabe des ersten Benutzers, die auf das zusätzlich auswählbare grafische Element gerichtet ist, zusätzliche Inhalte, die auf die zusätzliche verwandte Abfrage in dem laufenden Nachrichtenaustausch-Thread reagieren. Das Einbinden des zusätzlichen Inhalts in den laufenden Nachrichtenaustausch-Thread, wird der zusätzliche Inhalt über den ersten Nachrichtenaustausch-Client dem ersten Benutzer und/oder dem zweiten Benutzer über den zweiten Nachrichtenaustausch-Client angezeigt.
  • Zusätzlich beinhalten einige Implementierungen einen oder mehrere Prozessoren von einer oder mehreren Rechenvorrichtungen, wobei der eine oder die mehreren Prozessoren betriebsfähig sind Anweisungen auszuführen, die in einem zugeordneten Speicher gespeichert sind, und wobei die Anweisungen so konfiguriert sind, dass sie die Durchführung irgendeiner der vorgenannten Verfahren bewirken. Einige Implementierungen beinhalten ein nichtflüchtiges computerlesbares Speichermedium, das Computeranweisungen speichert, die von einem oder mehreren Prozessoren ausgeführt werden können, um eines der vorgenannten Verfahren durchzuführen.
  • Es sollte klar sein, dass alle Kombinationen der vorstehenden Konzepte und zusätzliche Konzepte, die hierin ausführlicher beschrieben werden, als Teil des hierin offenbarten Gegenstands in Betracht gezogen werden. So werden zum Beispiel alle Kombinationen des beanspruchten Gegenstands, die am Ende dieser Offenbarung erscheinen, als Teil des hierin offenbarten Gegenstands in Betracht gezogen.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist ein Diagramm einer exemplarischen Umgebung, in der Implementierungen, die hierin offenbart sind, implementiert werden können.
  • 2A veranschaulicht ein Beispiel für die Bereitstellung mindestens eines kontextrelevanten Vorschlags für einen oder mehrere Benutzer eines laufenden Nachrichtenaustauschs-Threads zwischen den Benutzern.
  • 2B veranschaulicht ein Beispiel von Inhalt, der auf eine Abfrage in Antwort auf eine Benutzerschnittstelleneingabe eines der Benutzer des Nachrichtenaustausch-Threads in einem Nachrichtenaustausch-Thread reagiert, wie beispielsweise eine Benutzerschnittstelleneingabe, die auf einen Vorschlag gerichtet ist, der dem Benutzer bereitgestellt wird und der die Abfrage anzeigt.
  • 3A, 3B, 3C und 3D veranschaulichen Beispiele, wie eine Client-Computervorrichtung eine grafische Benutzerschnittstelle für einen Nachrichtenaustauschclient gemäß verschiedenen Implementierungen darstellen kann.
  • 4 stellt ein Flussdiagramm dar, das ein exemplarisches Verfahren zum Bereitstellen mindestens eines kontextrelevanten Vorschlags für einen oder mehrere Benutzer eines laufenden Nachrichtenaustausch-Threads zwischen den Benutzern und zum Einbinden eines Inhalts darstellt, der auf eine durch den Vorschlag angegebene Abfrage anspricht.
  • 5 veranschaulicht eine exemplarische Architektur einer Rechenvorrichtung.
  • Ausführliche Beschreibung
  • Die Implementierungen dieser Spezifikation sind darauf gerichtet, mindestens einen kontextrelevanten Vorschlag für einen oder mehrere Benutzer eines laufenden Nachrichtenaustauschs-Threads zwischen den Benutzern bereitzustellen. Der Vorschlag wird für die Darstellung an den Benutzer (die Benutzer) über eine Benutzeroberflächenausgabevorrichtung von Computergeräten des oder der Benutzer bereitgestellt. Der Vorschlag zeigt eine Abfrage, die an einen automatisierten Assistenten (z. B. innerhalb eines Nachrichtenaustausch-Thread) unterbreitet werden kann, um zu bewirken, dass der automatisierte Assistent in den Nachrichtenaustausch-Thread Inhalte einfügt, die auf die Abfrage antworten. Bei einigen Implementierungen ist der Vorschlag ein auswählbarer Vorschlag (z. B. ein wählbares grafisches Element, das für die Anzeige vorgesehen ist) und Inhalt, der auf die Abfrage antwortet, wird in Antwort auf die Benutzerschnittstelleneingabe, (z. B. ein „Hahn”, ein „Klick”, ein „verbaler Befehl”) die auf den auswählbaren Vorschlag gerichtet ist. Bei einigen Implementierungen wird der Vorschlag basierend auf einer oder mehreren Nachrichten bestimmt, die bereits zwischen Benutzern des Nachrichtenaustausch-Threads kommuniziert wurden. So kann beispielsweise die durch den Vorschlag angegebene Abfrage auf der Basis eines oder mehrerer Begriffe, Bilder und/oder anderer Inhalte der bereits kommunizierten Nachrichten bestimmt werden.
  • Wenden wir uns nun zu 1, eine exemplarische Umgebung, in der die hierin offenbarten Techniken implementiert werden können. Die exemplarische Umgebung beinhaltet eine Vielzahl von Client-Computervorrichtungen 106 1-N und einen automatisierten Assistenten 120. Obwohl der automatisierte Assistent 120 in 1 getrennt von den Clientcomputergeräten 106 1-N ist, können in einigen Implementierungen alle oder Aspekte des automatisierten Assistenten 120 durch eine oder mehrere der Client-Computervorrichtungen 106 1-N implementiert sein. So kann beispielsweise die Client-Computervorrichtung 106 1 eine Instanz eines oder mehrerer Aspekte des automatisierten Assistenten 120 implementieren und die Client-Computervorrichtung 106 N kann auch eine separate Instanz derjenigen oder mehrerer Aspekte des automatisierten Assistenten 120 implementieren. Bei Implementierungen, in denen ein oder mehrere (z. B. alle) Aspekte des automatisierten Assistenten 120 durch eine oder mehrere von den Client-Computervorrichtungen 106 1-N entfernte Computervorrichtungen implementiert werden, können die Client-Computervorrichtungen 106 1-N und jene Aspekte des automatisierten Assistenten 120 über ein oder mehrere Netzwerke, wie beispielsweise ein lokales Netzwerk (LAN) und/oder ein Weitverkehrsnetz (WAN) (z. B. das Internet), kommunizieren.
  • Die Client-Berechnungsvorrichtungen 106 1-N können beispielsweise einen oder mehrere der folgenden Elemente beinhalten: ein Desktop-Computer, ein Laptop-Computer, ein Tablet-Computer, Mobiltelefon-Rechenvorrichtung, eine Computervorrichtung eines Fahrzeugs eines Benutzers (z. B. ein fahrzeuginternes Kommunikationssystem, ein fahrzeuginternes Unterhaltungssystem, Fahrzeug-Navigationssystem) oder eine tragbare Vorrichtung des Benutzers, die eine Rechenvorrichtung (z. B. eine Uhr des Benutzers mit einer Rechenvorrichtung, eine Brille des Benutzers mit einer Rechenvorrichtung, eine virtuelle oder eine Augmented Reality-Rechenvorrichtung) beinhaltet. Zusätzliche und/oder alternative Client-Computervorrichtungen können vorgesehen sein.
  • Jede der Clientcomputervorrichtungen 106 1-N und der automatisierte Assistent 120 können einen oder mehrere Speicher zur Speicherung von Daten- und Softwareanwendungen, einen oder mehrere Prozessoren zum Zugreifen auf Daten und Ausführen von Anwendungen und andere Komponenten beinhalten, die die Kommunikation über ein Netzwerk erleichtern. Die Operationen, die durch eine oder mehrere der Client-Computervorrichtungen 106 1-N und/oder durch den automatisierten Assistenten 120 ausgeführt werden, können über mehrere Computersysteme verteilt sein. Der automatische Assistent 120 kann beispielsweise als Computerprogramme implementiert sein, die auf einem oder mehreren Computern oder an einem oder mehreren Standorten laufen, die über ein Netzwerk miteinander gekoppelt sind.
  • Bei einigen Implementierungen kann ein vorgegebener Benutzer mit dem automatisierten Assistenten 120 unter Verwendung einer Vielzahl von Client-Computervorrichtungen des Benutzers kommunizieren, die zusammen ein koordiniertes „Ökosystem” von Computergeräten bilden. So kann zum Beispiel ein Benutzer über mehrere Computer-Vorrichtungen des Benutzers in einen laufenden Nachrichten-Thread eingreifen. So kann beispielsweise der Benutzer eine erste Nachricht zum Einfügen in den Nachrichten-Thread über die Benutzerschnittstelleneingabe an einer ersten Computervorrichtung (z. B. eine Desktop-Computervorrichtung) bereitstellen und kann später eine zweite Nachricht zum Einfügen in den Nachrichten-Thread über die Benutzerschnittstelleneingabe an einer zweiten Computervorrichtung (z. B. einer mobilen Computervorrichtung) bereitstellen. Der Kürze halber konzentrieren sich viele in dieser Offenbarung beschriebene Beispiele jedoch auf einen bestimmten Benutzer, der eine einzelne der Client-Computervorrichtungen 106 1-N betreibt.
  • Jede der Client-Computervorrichtungen 106 1-N kann eine Vielzahl von verschiedenen Anwendungen betreiben, wie beispielsweise einen entsprechenden eines Nachrichtenaustausch-Clients 107 1-N. Nachrichtenaustausch-Clients 107 1-N können in verschiedenen Formen vorliegen, und die Formen können über die Client-Computervorrichtungen 106 1-N variieren und/oder mehrere Formen können auf einer einzelnen der Client-Computervorrichtungen 106 1-N betrieben werden. Bei einigen Implementierungen kann ein oder mehrere der Nachrichtenaustausch-Clients 107 1-N in Form eines Kurznachrichtendienstes („SMS”) und/oder eines Multimedianachrichtendienstes („MMS”), eines Online-Chat-Clients (z. B. Instant Messenger, Internet-Relay-Chat oder „IRC” usw.), eine mit einem sozialen Netzwerk verbundene Messaging-Anwendung und so weiter sein. Bei einigen Implementierungen kann ein oder mehrere der Nachrichtenaustausch-Clients 107 1-N über eine Webseite oder andere Ressourcen implementiert werden, die durch einen Webbrowser (nicht dargestellt) oder eine andere Anwendung einer Client-Computervorrichtung wiedergegeben werden.
  • Der automatisierte Assistent 120 prüft eine oder mehrere Nachrichten eines laufenden Nachrichtenaustausch-Threads zwischen mehreren Benutzern, die über mehrere Nachrichtenaustausch-Clients 107 1-N dieser Benutzer auftreten. Bei einigen Implementierungen dient der automatisierte Assistent 120 als eine zentrale Vermittlungsstelle, die den Nachrichtenaustausch-Thread zwischen den Benutzern erleichtert. In anderen Implementierungen kann der automatisierte Assistent 120 nicht als eine zentrale Vermittlungsstelle dienen, sondern kann weiterhin Nachrichten eines laufenden Nachrichtenaustauschs kontinuierlich, periodisch oder in anderen regelmäßigen und/oder nicht regelmäßigen Intervallen untersuchen. So kann beispielsweise der automatisierte Assistent 120 ganz oder teilweise auf einer oder mehreren Client-Computervorrichtungen von Benutzern implementiert sein, die an einem laufenden Nachrichtenaustausch beteiligt sind und den Nachrichtenaustausch über die Client-Computervorrichtung(en) untersuchen. Der automatisierte Assistent 120 kann beispielsweise auch ganz oder teilweise auf einer oder mehreren Computervorrichtungen implementiert sein, die von den Client-Computervorrichtungen von Benutzern entfernt sind, die an einem laufenden Nachrichtenaustausch beteiligt sind – kann aber Nachrichten des laufenden Nachrichtenaustauschs von einer oder mehreren der Client-Computervorrichtungen und/oder von einer anderen Computervorrichtung, die den Nachrichtenaustausch erleichtert, empfangen.
  • Bei einigen Implementierungen ermittelt der automatisierte Assistent 120 basierend auf einer oder mehreren der untersuchten Nachrichten wenigstens einen kontextrelevanten Vorschlag, um für einen oder mehrere dieser Benutzer (z. B. zur Anzeige als ein graphisches Element) über die Nachrichtenaustausch-Clients 107 1-N eine Darstellung bereitzustellen.
  • Der vom automatisierten Assistenten ermittelte Vorschlag gibt eine Abfrage an, die dem automatisierten Assistenten 120 über einen der Nachrichtenaustausch-Client 107 1-N übermittelt werden kann, den automatisierten Assistenten 120 und/oder einen oder mehrere Nachrichtenaustausch-Clients zu veranlassen, Inhalte in den Nachrichtenaustausch-Thread aufzunehmen, die auf die Abfrage antworten. So kann beispielsweise der automatisierte Assistent 120 als Reaktion auf eine Benutzerschnittstelleneingabe, die auf den Vorschlag gerichtet ist und von einem der Benutzer des Nachrichtenaustausch-Threads bereitgestellt wird, Inhalt enthalten, der auf die Abfrage in dem Nachrichtenaustausch-Thread reagiert. Bei einigen dieser Implementierungen kann die auf den Vorschlag gerichtete Benutzerschnittstelleneingabe bewirken, dass die durch den Vorschlag angegebene Abfrage an den automatisierten Assistenten 120 übermittelt wird, kann der automatisierte Assistent 120 eine Suche basierend auf der Abfrage einleiten und der automatisierte Assistent 120 kann den Inhalt basierend auf einem oder mehreren Suchergebnissen der Suche bestimmen. Bei einigen anderen Implementierungen kann der Inhalt, der auf die Suche reagiert, vorher ermittelt worden sein und kann durch den automatisierten Assistenten 120 in dem Nachrichtenaustausch-Thread als Antwort auf das Empfangen einer Abfrage oder anderer Daten in Reaktion auf die Benutzerschnittstelleneingabe, die auf den Vorschlag gerichtet ist, implementiert werden. In noch anderen Implementierungen kann ein Benutzer die durch den Vorschlag angegebene Abfrage eingeben oder sprechen und die Abfrage an den automatisierten Assistenten 120 senden, ohne die Benutzerschnittstelleneingabe explizit an den Vorschlag zu richten. Bei einigen dieser Implementierungen kann der automatisierte Assistent 120 ebenfalls antworten, indem er den Inhalt in den Nachrichtenaustausch-Thread einarbeitet.
  • Bei einigen Implementierungen kann der automatisierte Assistent 120 einen Vorschlag zur Präsentation für einen Benutzer bereitstellen, der unabhängig von einem oder mehreren Benutzerschnittstelleneingaben, die durch den Benutzer bereitgestellt werden. So kann beispielsweise der Vorschlag unabhängig von einer Eingabeschnittstelle der natürlichen Sprache (z. B. typisiert oder gesprochen) bereitgestellt werden, die vom Benutzer bei der Formulierung einer Nachricht für potentielle Einbeziehung in den Nachrichtenaustausch-Thread bereitgestellt wird. Bei einigen Implementierungen kann zum Beispiel ein Vorschlag zumindest teilweise basierend auf einer vorgegebenen Nachricht, die die jüngste Nachricht eines Nachrichtenaustausch-Threads ist, ermittelt werden kann einem oder mehreren Benutzern vor jenen Benutzern dargestellt werden, die eine beliebige Benutzerschnittstelleneingabe bereitstellen, die auf die Formulierung einer zusätzlichen Nachricht gerichtet ist, die, wenn sie an den Nachrichtenaustausch übermittelt wird, die neueste wird.
  • Bei einigen Implementierungen kann der Vorschlag automatisch und unabhängig von jeder Benutzerschnittstelleneingabe bereitgestellt werden. Bei einigen anderen Implementierungen kann der Vorschlag in Reaktion auf eine bestimmte Benutzerschnittstelleneingabe bereitgestellt werden, wie beispielsweise eine Benutzerauswahl eines Benutzerschnittstellenelementes, ein von dem Benutzer bereitgestellter gesprochener Befehl usw. So kann beispielsweise der Vorschlag als Reaktion darauf bereitgestellt werden, dass der Benutzer in einer grafischen Benutzeroberfläche einen „Antwortbereich” antippt oder auf andere Weise in einer graphischen Benutzeroberfläche auswählt, die von einem der Nachrichtenaustausch-Clients 107 1-N wiedergegeben wird. Als weiteres Beispiel kann der Vorschlag in Reaktion auf die Benutzerinteraktion mit einer virtuellen Taste (z. B. einem Abgriff, einem langen Abgriff), einem verbalen Befehl (z. B. „Personal Assistant, gib mir einige Anregungen”), usw. bereitgestellt werden.
  • Bei einigen Implementierungen kann, ob und/oder wie der automatische Assistent 120 einen Vorschlag liefert, auf einer Punktzahl für eine Abfrage basieren, die durch den Vorschlag angezeigt wird. So kann beispielsweise der automatisierte Assistent 120 automatisch den Vorschlag für die Darstellung bereitstellen, wenn die Punktzahl für die Abfrage einen Schwellenwert erfüllt, aber eine Eingabe der Benutzerschnittstelle erforderlich sein kann, bevor der Vorschlag bereitgestellt wird, wenn die Punktzahl den Schwellenwert nicht erfüllt. Ebenso kann der automatisierte Assistent 120 beispielsweise: wenn die Partitur einen ersten Schwellenwert erfüllt, den Vorschlag für die Darstellung automatisch zur Verfügung stellen; wenn die Partitur den ersten Schwellenwert nicht erfüllt, aber einen zweiten Schwellenwert erfüllt, eine gewisse Benutzerschnittstelleneingabe erfordern, bevor der Vorschlag für die Darstellung bereitgestellt wird; und kann, wenn die Punktzahl den ersten Schwellenwert oder den zweiten Schwellenwert nicht erfüllt, den Vorschlag unter keinen Umständen zur Verfügung stellen. Eine zusätzliche Beschreibung von Implementierungen zum Ermitteln einer Punktzahl für eine Abfrage wird hierin bereitgestellt.
  • Bei einigen Implementierungen kann der automatisierte Assistent 120 eine Nachrichtenverarbeitungsmaschine 122, eine Entitätsbestimmungsmaschine 124, eine Vorschlagsmaschine 126, eine Inhaltsmaschine 128 und eine Nachrichtenaustauschmaschine 130 beinhalten. Bei einigen Ausführungsformen können eine oder mehrere der Motoren 122, 124, 126, 128 und/oder 130 weggelassen werden. Bei einigen Implementierungen können alle oder Aspekte einer oder mehrerer Motoren 122, 124, 126, 128 und/oder 130 kombiniert werden. Bei einigen Implementierungen können eine oder mehrere der Motoren 122, 124, 126, 128 und/oder 130 in einer Komponente implementiert sein, die von dem automatisierten Assistenten 120 getrennt ist. So können zum Beispiel eine oder mehrere der Motoren 122, 124, 126, 128 und/oder 130 oder ein beliebiger betriebsbereiter Teil davon in einer Komponente implementiert sein, der von den Client-Computervorrichtungen 106 1-N ausgeführt wird.
  • Die Nachrichtenverarbeitungsmaschine 122 verarbeitet eine oder mehrere Nachrichten eines Nachrichtenaustausch-Threads und erzeugt eine annotierte Ausgabe zur Verwendung durch eine oder mehrere andere Komponenten des automatisierten Assistenten 120. So kann beispielsweise die Nachrichtenverarbeitungsmaschine 122 eine freie Form der natürlichen Spracheingabe verarbeiten, die von einem Benutzer über eine oder mehrere Benutzerschnittstelleneingabevorrichtungen der Client-Vorrichtung 106 1 formuliert und an einen Nachrichtenaustausch-Thread durch den Nachrichtenaustauschclient 107 1 übermittelt wird. Die erzeugte annotierte Ausgabe einer Nachricht beinhaltet eine oder mehrere Annotationen des Inhalts der Nachricht und optional zumindest einen Teil des Inhalts selbst.
  • Bei einigen Implementierungen ist die Nachrichtenverarbeitungsmaschine 122 so konfiguriert, dass sie verschiedene Arten von grammatischen Informationen im natürlichen Sprachinhalt von Nachrichten identifiziert und annotiert. So kann zum Beispiel die Nachrichtenverarbeitungsmaschine 122 einen Teil eines Sprach-Tagger beinhalten, der so konfiguriert ist, um Begriffe mit ihren grammatischen Rollen zu annotieren. So kann beispielsweise der Teil des Sprach-Taggers jeden Begriff mit seinem Teil der Sprache, wie beispielsweise „Substantiv”, „Verb”, „Adjektiv”, „Pronomen” usw. kennzeichnen. Zudem kann in einigen Implementierungen die Nachrichtenverarbeitungsmaschine 122 zusätzlich und/oder alternativ einen Abhängigkeits-Parser beinhalten, der konfiguriert ist, um syntaktische Beziehungen zwischen Begriffen in der Eingabe einer natürlichen Sprache zu ermitteln. So kann beispielsweise der Abhängigkeits-Parser ermitteln, welche Begriffe andere Begriffe, Subjekte und Verben von Sätzen und so weiter (z. B. einen Syntaxbaum) modifizieren– und kann Annotationen derartiger Abhängigkeiten machen.
  • Bei einigen Implementierungen kann die Nachrichtenverarbeitungsmaschine 122 zusätzlich und/oder alternativ einen Entitäts-Tagger beinhalten, der so konfiguriert ist, um Entitätsreferenzen im Inhalt einer Nachricht (z. B. Inhalt der natürlichen Sprache und/oder Bilder), wie beispielsweise Verweise auf Personen, Organisationen, und so weiter zu annotieren. Der Entitäts-Tagger kann Referenzen auf eine Entität auf einer hohen Granularitätsebene annotieren (z. B. um die Identifikation aller Verweise auf eine Entitätsklasse, wie beispielsweise Personen zu ermöglichen) und/oder eine niedrigere Granularitätsebene (z. B. um die Identifizierung aller Verweise auf eine bestimmte Entität, wie beispielsweise eine bestimmte Person, zu ermöglichen). Der Entitäts-Tagger kann sich auf den Inhalt selbst verlassen, um eine bestimmte Entität aufzulösen und/oder kann optional mit einer oder mehreren Ressourcen kommunizieren, um eine bestimmte Entität aufzulösen. Um beispielsweise eine Entität in einem natürlichen Sprachinhalt aufzulösen, kann der Entitäts-Tagger mit einer Wissensgrafik oder einer anderen Entitätsdatenbank kommunizieren, um eine bestimmte Entität aufzulösen. Um zum Beispiel eine Entität im Bildinhalt aufzulösen, kann der Entitäts-Tagger mit einem Bildverarbeitungssystem kommunizieren, wie beispielsweise ein faltendes neuronales Netzwerk (Convolutional Neural Network), das konfiguriert ist, um eine oder mehrere Entitäten (z. B. Entitätsklassifikation/en), die in einem Bild vorhanden sind, zu identifizieren.
  • Bei einigen Implementierungen kann die Nachrichtenverarbeitungsmaschine 122 zusätzlich und/oder alternativ einen Coreferenz-Resolver beinhalten der so konfiguriert ist, dass er, basierend auf ein oder mehreren Kontexthinweisen, Referenzen auf dieselbe Entität gruppiert oder „clustert”. So kann zum Beispiel der Coreferenz-Resolver verwendet werden, um den Begriff „es” zu „Restaurant A” in der natürlichen Spracheingabe „Ich denke, Restaurant A klingt gut” aufzulösen. „Wo befindet es sich?”
  • Bei einigen Implementierungen können eine oder mehrere Komponenten der Nachrichtenverarbeitungsmaschine 122 auf Annotationen von einer oder mehreren anderen Komponenten der Nachrichtenverarbeitungsmaschine 122 beruhen. So kann sich zum Beispiel bei einigen Implementierungen der benannte Entitäts-Tagger bei Annotation aller Erwähnungen auf eine bestimmte Entität auf Annotationen des Coreferenz-Resolvers und/oder des Abhängigkeits-Parsers verlassen. In einigen Implementierungen kann sich zum Beispiel der Coreferenz Resolver auf Annotationen aus dem Abhängigkeits-Parser beim Clustering von Referenzen auf dieselbe Entität verlassen. Bei einigen Implementierungen können bei der Verarbeitung einer bestimmten Nachricht eine oder mehrere Komponenten der Nachrichtenverarbeitungsmaschine 122 eine oder mehrere vorherige Nachrichten eines Nachrichtenaustausch-Threads verwenden, um eine oder mehrere Annotationen für eine gegebene Nachricht des Nachrichtenaustausch-Threads zu ermitteln. So kann zum Beispiel ein erster Benutzer in einem Nachrichtenaustausch-Thread eine Nachricht von „Wie klingt Restaurant A?” in den Thread einbinden und ein zweiter Benutzer kann in dem Nachrichtenaustausch-Thread für eine antwortende Nachricht von „Wo befindet es sich?” beteiligt werden. Bei der Verarbeitung „Wo befindet es sich”, kann der Coreferenz-Resolver „es” auf Basis der vorherigen Nachricht von „Wie klingt Restaurant A?” zu „Restaurant A” auflösen.
  • Die Entitätsbestimmungsmaschine 124 ermittelt eine oder mehrere Entitäten, auf die in einer oder mehreren Nachrichten eines Nachrichtenaustausch-Threads verwiesen wird. Bei einigen Implementierungen kann die Entitätsbestimmungsmaschine 124 eine oder mehrere Entitäten ermitteln, die in dem Nachrichtenaustausch-Thread auf Basis einer Analyse einer Teilmenge der Nachrichten des Nachrichtenaustausch-Threads „vor kurzem” referenziert sind. So kann beispielsweise die Maschine 124 auf Basis der letzten N Nachrichten (z. B. der letzten 1, 2 oder 4 Nachrichten) und/oder basierend auf Nachrichten, die in dem Nachrichtenaustausch-Thread innerhalb eines zeitlichen Schwellenwerts beinhaltet sind, (z. B. innerhalb der letzten Minute, der letzten 10 Minuten) kürzlich bezogene Entitäten ermitteln.
  • Bei Ermitteln einer Entität, auf die in einer oder mehreren Nachrichten Bezug genommen wird, kann die Entitätsbestimmungsmaschine 124 auf den Inhalt der Nachricht(en) und/oder Anmerkungen beruhen, die von der Nachrichtenverarbeitungsmaschine 122 bereitgestellt werden (z. B. Entitäts-Tags, die von einem Entitäts-Tagger der Maschine 122 bereitgestellt werden). Die Entitätsbestimmungsmaschine 124 kann auch eine oder mehrere zusätzliche Ressourcen zum Ermitteln einer Entität, wie zum Beispiel eines Wissensgraphen oder einer anderen Entitätsdatenbank und/oder Benutzerattribut(en) eines oder mehrerer Benutzer, die mit dem Nachrichtenaustausch-Thread in Verbindung stehen.
  • Nehmen wir als Beispiel eine jüngste Nachricht von „Was für ein Wetter ist zu erwarten?” und eine unmittelbar vorhergehende Nachricht von „Besteht Interesse an einer Reise nach Louisville im Mai für das Derby?” Auf der Grundlage der beiden Nachrichten kann die Entitätsbestimmungsmaschine 124 eine Entität bestimmen, die der Stadt Louisville im Bundesstaat Kentucky entspricht, basierend auf beispielsweise einem Eintrag für diese Entität in einem Wissensgraphen mit einer „Alias” Eigenschaft von „Louisville” aufweist und auf dem Eintrag basiert, der eine starke Beziehung zu einem Eintrag für eine mit dem „Derby” verbundene Entität aufweist. Die Entitätsbestimmungsmaschine 124 kann auch optional eine Entität entsprechend dem Monat Mai basierend auf dem Vorhandensein des Begriffs „Mai” in einer Nachricht und/oder ihrer syntaktischen Beziehung in der Nachricht (z. B. basierend auf den Annotationen, die durch die Maschine 122 bereitgestellt werden). Die Entitätsbestimmungsmaschine 124 kann auch optional eine Entität, die dem „Wetter” entspricht, basierend auf der Anwesenheit dieses Begriffs in einer Nachricht ermitteln. Bei einigen Implementierungen kann die Entitätsbestimmungsmaschine 124 weggelassen werden.
  • Die Vorschlagsmaschine 126 ermittelt basierend auf einer oder mehreren Nachrichten eines Nachrichtenaustausch-Threads einer oder mehrerer Vorschläge, die für die eine oder die mehreren Nachrichten inhaltlich relevant sind. Die Vorschlagsmaschine 126 kann einen oder mehrere der ermittelten Vorschläge zur Darstellung (z. B. für die Anzeige als ein grafisches Element) an einen oder mehrere der in dem Nachrichtenaustausch-Thread (z. B. zur Darstellung über einen oder mehrere der Nachrichtenaustausch-Clients 107 1-N) bereitgestellt werden. So können zum Beispiel die Vorschläge als grafische Elemente bereitgestellt werden, die durch einen oder mehrere der an dem Thread teilnehmenden Benutzer sichtbar sind. So können zum Beispiel die grafischen Elemente auf grafischen Benutzerschnittstellen angezeigt werden, die einem oder mehreren der Nachrichtenaustauschclients 107 1-N zugeordnet sind, und können zusammen mit, aber optional nicht eingeschlossen, ein Transkript des laufenden Nachrichtenaustausch-Threads angezeigt werden. Wie hierin verwendet, bezieht sich ein „Transkript” auf eine Live-Aufzeichnung von Text, Bildern, Tönen usw., die durch einen oder mehrere Benutzer, die an einem Nachrichtenaustausch-Thread teilnehmen, ausgetauscht und/oder angesehen werden. Bei einigen Implementierungen kann ein Transkript eines Nachrichtenaustausch-Threads, während sich die Benutzer unterhalten, in Echtzeit oder nahezu in Echtzeit aktualisiert werden.
  • Bei einigen Implementierungen kann die Vorschlagsmaschine 126 die Vorschläge für die Nachrichtenaustauschmaschine 130 bereitstellen, die dann den Vorschlag für einen oder mehrere der Nachrichtenaustausch-Clients 107 1-N bereitstellen kann. So kann zum Beispiel die Nachrichtenaustauschmaschine 130 anfordern, dass mindestens einer der Nachrichtenaustausch-Clients 107 1-N die grafischen Elemente in einer graphischen Benutzeroberfläche bereitstellt, die von dem mindestens einen der Nachrichtenaustauschclients 107 1-N wiedergegeben wird.
  • Bei einigen Implementierungen ermittelt die Vorschlagsmaschine 126 einen Vorschlag basierend auf einer annotierten Ausgabe, die durch die Nachrichtenverarbeitungsmaschine 122 ermittelt wird, basierend auf einer oder mehreren Entitäten, die durch die Entitätsbestimmungsmaschine 124 ermittelt werden, und/oder basierend auf einer oder mehreren Abfragen der Abfrage-Datenbank 156. Die Abfrage-Datenbank 156 kann beispielsweise eine oder mehrere Abfragen beinhalten, die zuvor einem automatisierten Assistenten und/oder einer Suchmaschine und/oder einer oder mehreren Abfrage-„Vorlagen” unterzogen wurden. Abfragevorlagen können einen oder mehrere Begriffe und einen oder mehrere Platzhalter beinhalten, die mit einem Alias einer bestimmten Entität zum Erzeugen einer Abfrage „gefüllt” werden können. So kann zum Beispiel eine Abfragevorlage die Form „Akteure im [Film]” und „Film” möglicherweise mit einem Alias eines bestimmten Films ausgefüllt werden, um eine Abfrage basierend auf der Vorlage zu erzeugen.
  • Bei einigen Implementierungen ermittelt die Vorschlagsmaschine 126 eine Kandidaten-Suchanfrage basierend auf einer oder mehreren Nachrichten eines Nachrichtenaustausch-Threads und erzeugt einen Vorschlag basierend auf der Kandidaten-Suchanfrage. So kann beispielsweise der Vorschlag ein auswählbares grafisches Element sein, das einen Hinweis auf die Kandidatensuche liefert. Das grafische Element kann die Gesamtheit der Suchanfrage oder eine Untergruppe von Begriffen der Suchanfrage oder ein Umschreiben der Suchanfrage beinhalten (z. B. wenn die Suchanfrage länger ist als für die Anzeige gewünscht).
  • Die Vorschlagsmaschine 126 kann verschiedene Techniken verwenden, um die Kandidatensuchanfrage zu ermitteln. Bei einigen Implementierungen kann die Vorschlagsmaschine 126 die Kandidatensuchanfrage auf Basis einer oder mehrerer Entitäten ermitteln, die durch die Entitätsbestimmungsmaschine 124 ermittelt werden. So kann beispielsweise die Vorschlagsmaschine 126 eine oder mehrere Suchanfragen ermitteln, die stark einer oder mehreren der Entitäten in einer oder mehreren Datenbanken (z. B. der Abfrage-Datenbank 156) zugeordnet sind. So kann beispielsweise die Vorschlagsmaschine 126 auch eine oder mehrere Suchabfragen basierend auf einem Alias einer oder mehrerer der Entitäten ermitteln. Wie vorstehend beschrieben, kann zum Beispiel die Entitätsbestimmungsmaschine 124 eine Entität ermitteln, die, basierend auf einem Hinweis von „Wie ist das Wetter?”, der Stadt Louisville im Bundesstaat Kentucky entspricht, der einer Nachricht von „Besteht Interesse an einer Reise nach Louisville im Mai für das Derby?” folgt. Die Vorschlagsmaschine 126 kann basierend auf den Begriffen der Nachrichten („Wetter”, „Mai”) und basierend auf der annotierten Ausgabe eine Kandidatenabfrage basierend auf einem Alias („Louisville, KY”) ermitteln, der durch die Maschine 124 der Entität ermittelt wird und basierend auf der annotierten Ausgabe, die von der Nachrichtenverarbeitungsmaschine 122 bereitgestellt wird (z. B. um zu ermitteln, dass „dann” eine Referenz zu „Mai” ist).
  • Bei einigen Implementierungen kann die Vorschlagsmaschine 126 zusätzlich und/oder alternativ die Kandidatensuchanfrage basierend auf der Auswahl aus einem Korpus von zuvor gesendeten Suchabfragen, wie beispielsweise Abfragen der Abfrage-Datenbank 156, ermitteln. Die Kandidatensuchanfrage kann zum Beispiel auf Basis der Übereinstimmung zwischen der Kandidatensuchanfrage und den in den Nachrichten des Nachrichtenaustausch-Threads beinhalteten Termen, der Übereinstimmung zwischen der Kandidatenabfrage und dem Alias einer Entitätsermittlungsmaschine 124 und/oder basierend auf einem Beliebtheitsmaß der Suchanfrage (z. B. basierend auf einer Häufigkeit der Einreichung der Kandidaten-Abfrage oder einer anderen Maßnahme, die eine Menge von Einreichungen der Kandidaten-Anfrage angibt) ausgewählt werden.
  • Bei einigen Implementierungen kann die Vorschlagsmaschine 126 zusätzlich und/oder alternativ die Kandidatensuchanfrage basierend auf der Identifizierung einer Abfragevorlage ermitteln, der in der Abfrage-Datenbank 156 ein oder mehrere Begriffe und/oder Entitäten der Nachrichten zugeordnet sind (z. B. durch die Entitätsbestimmungsmaschine 124 ermittelt). Die Vorschlagsmaschine 126 kann ferner die Kandidatenabfrage erzeugen, indem der/die Platzhalter der Abfragevorlage mit einem oder mehreren geeigneten Begriffen gefüllt wird. Es wird beispielsweise angenommen, dass eine Abfragevorlage für „Restaurants in der Nähe [Küchenart]” mit einer oder mehreren Entitäten wie beispielsweise einer Entitätsklasse von „Küchenart” zugeordnet ist und/oder mit einem oder mehreren Begriffen, wie beispielsweise „Essen”, „Abendessen”, „Reservierung”, „Restaurant”, „Meeresfrüchte”, „Barbecue” usw. verknüpft ist. Die Vorschlagsmaschine 126 kann diese Abfragevorlage auf Basis eines Nachrichtenaustauschs identifizieren, der eine Nachricht von „Möchte jemand Mittagessen? – Ich bin in der Stimmung für Grillen” beinhaltet. Die Vorschlagsmaschine 126 kann ferner den „[Küchentyp]”-Platzhalter mit „Barbecue” auf der Grundlage von Barbecue, der eine Küche ist, belegen und ein Begriff sein, der in der Nachricht beinhaltet ist.
  • Bei einigen Implementierungen kann, ob die Vorschlagsmaschine 126 einen Vorschlag liefert, auf einer Punktzahl für eine Abfrage basieren, die durch den Vorschlag angezeigt wird. So kann zum Beispiel bei einigen Implementierungen die Vorschlagsmaschine 126 eine Gruppe von einer oder mehreren Kandidatenabfragen unter Verwendung einer oder mehrerer Techniken, wie beispielsweise der hierin beschriebenen, ermitteln. Bei einigen dieser Implementierungen kann die Vorschlagsmaschine 126 Punkte für jede der Kandidatenabfragen der Gruppe ermitteln und nur Vorschläge auf der Grundlage jener Kandidatenabfragen (falls vorhanden) liefern, die eine Punktzahl aufweisen, die einen Schwellenwert erfüllt.
  • Bei einigen Implementierungen kann die Vorschlagsmaschine 126 zusätzlich und/oder alternativ die Bewertung für eine Kandidatenabfrage verwenden, um zu ermitteln wie ein Vorschlag, der eine Kandidatenabfrage bereitstellt, angezeigt wird. So kann zum Beispiel bei einigen Implementierungen die Vorschlagsmaschine 126 die Punktzahl einer Kandidatenabfrage verwenden, um eine Anzeigereihenfolge, eine Größe und/oder eine andere visuelle Beliebtheit eines Vorschlags zu ermitteln, der als ein grafisches Element bereitgestellt wird, das die Kandidatenabfrage anzeigt. So kann beispielsweise bei einigen Implementierungen die Vorschlagsmaschine 126 automatisch den Vorschlag für die Darstellung bereitstellen, wenn die Punktzahl für die Kandidatenabfrage einen Schwellenwert erfüllt, aber eine Eingabe der Benutzerschnittstelle erforderlich sein kann, bevor der Vorschlag bereitgestellt wird, wenn die Punktzahl den Schwellenwert nicht erfüllt. Ebenso kann die Vorschlagsmaschine 126 beispielsweise: wenn die Partitur einen ersten Schwellenwert erfüllt, den Vorschlag für die Darstellung automatisch zur Verfügung stellen; wenn die Partitur den ersten Schwellenwert nicht erfüllt, aber einen zweiten Schwellenwert erfüllt, eine gewisse Benutzerschnittstelleneingabe erfordern, bevor der Vorschlag für die Darstellung bereitgestellt wird; und kann, wenn die Punktzahl den ersten Schwellenwert oder den zweiten Schwellenwert nicht erfüllt, den Vorschlag unter keinen Umständen zur Verfügung stellen.
  • Bei einigen Implementierungen ermittelt die Vorschlagsmaschine 126 die Bewertung für eine Kandidatenabfrage basierend auf: (1) eine oder mehrere Eigenschaften der Kandidatenabfrage selbst; (2) eine oder mehrere Eigenschaften von Suchergebnissen, die auf die Kandidatenabfrage ansprechen; und/oder (3) eine oder mehrere Eigenschaften einer oder mehrerer der Nachrichten des laufenden Nachrichtenaustausch-Threads. Die eine oder die mehreren Eigenschaften der Kandidatenabfrage können zum Beispiel ein Beliebtheitsmaß der Kandidatenabfrage beinhalten. Die eine oder mehrere Eigenschaften des einen oder der mehreren Suchergebnisse, die auf die Kandidatenabfrage ansprechen, können zum Beispiel Qualitätsmaße für das Suchergebnis sein und/oder ob das Suchergebnis (die Suchergebnisse) von bestimmten Typen, wie beispielsweise einem Navigations-Suchergebnis, einem „kuratierten” Suchergebnis, einem „Wissenskarten”-Suchergebnis usw. beinhalten.
  • Die eine oder mehrere Eigenschaften einer oder mehrerer der Nachrichten des laufenden Nachrichtenaustausch-Threads können beispielsweise ein Maß für „Redseligkeit” und/oder ein Maß für die „Suche” einer oder mehrerer der Nachrichten, wie beispielsweise die jüngste Nachricht oder die neuesten N Nachrichten. Bei einigen Implementierungen kann ein Maß von „Suchen” einer Nachricht basierend auf dem Vergleichen von Begriffen und/oder syntaktischer Struktur der Nachricht zu Begriffen und/oder syntaktischen Mustern von zuvor gesendeten Suchabfragen ermittelt werden. So kann zum Beispiel die syntaktische Struktur einer Nachricht mit einer syntaktischen Struktur verglichen werden, die bei Suchvorgängen, die einer Suchmaschine übermittelt werden, gemeinsam ist, und wenn es ein hohes Maß an Übereinstimmung gibt, kann sie anzeigen, dass die Nachricht „Suchend” ist. Auch kann beispielsweise die Anwesenheit und/oder das Fehlen bestimmter Begriffe in einer Nachricht anzeigen, dass die Nachricht „suchend” ist, wie beispielsweise die Anwesenheit von „was”, „wenn”, „?” usw. Auch kann beispielsweise die Anwesenheit einer beliebigen benannten Entität, die Anwesenheit einer bestimmten Menge von benannten Entitäten und/oder die Anwesenheit bestimmter Klassen von benannten Entitäten in einer Nachricht anzeigen, dass die Nachricht „Suchend” ist.
  • Bei einigen Implementierungen kann ein Maß von „Redseligkeit” einer Nachricht basierend auf dem Vergleichen von Begriffen und/oder syntaktischer Struktur der Nachricht zu Begriffen und/oder syntaktischen Mustern eines vorherigen Nachrichtenaustauschs zwischen zwei oder mehr Benutzern ermittelt werden. So kann zum Beispiel die syntaktische Struktur einer Nachricht mit einer syntaktischen Struktur verglichen werden, die in einem vorherigen Nachrichtenaustausch zwischen den Benutzern üblich ist, und wenn es ein hohes Maß an Übereinstimmung gibt, kann sie anzeigen, dass die Nachricht „redselig” ist. Auch kann beispielsweise die Anwesenheit und/oder das Fehlen bestimmter Begriffe in einer Nachricht anzeigen, dass die Nachricht „redselig” ist. Auch kann beispielsweise die Abwesenheit irgendeiner der benannten Entität und/oder bestimmter Klassen von benannten Entitäten in einer Nachricht anzeigen, dass die Nachricht „redselig” ist.
  • Bei einigen Implementierungen kann die Vorschlagsmaschine 126 einen trainierten Klassifizierer und/oder ein anderes maschinelles Lernsystem verwenden, um ein Maß für „Redseligkeit” und/oder „Suchend” zu ermitteln. So kann beispielsweise Klassifizierer ausgebildet sein, um als Eingang ein oder mehrere Merkmale einer oder mehrerer Nachrichten zu empfangen, wie beispielsweise Terme der Nachricht(en), Annotationen der Nachrichten (z. B. Annotationen, die von der Maschine 122 bereitgestellt werden) usw. – und als Ausgabe eine Angabe, ob und/oder inwieweit die Nachricht(en) „suchend” sind (d. h. einen Wunsch nach Suchergebnissen anzeigen) und/oder „redselig” (d. h. einen Wunsch nach weiterer Kommunikation mit einem oder mehreren Benutzern anzeigen).
  • Die Inhaltsmaschine 128 ermittelt den Inhalt, der auf eine Abfrage anspricht, die an den automatisierten Assistenten 120 gerichtet ist, wie beispielsweise eine Abfrage, die an den automatisierten Assistenten 120 gerichtet ist, basierend auf dieser Abfrage in Reaktion auf einen Benutzer, der einen Vorschlag auswählt oder auf andere Weise mit einem Vorschlag interagiert. Der Inhalt kann beispielsweise Dokumente, Bilder, Textinhalte und/oder andere Informationen beinhalten, die auf die Abfrage reagieren und beispielsweise aus der öffentlichen Datenbank 154 und/oder der persönlichen Datenbank 152 identifiziert werden können. In verschiedenen Implementierungen kann der Inhalt, der auf eine Suchanfrage reagiert, weitere Vorschläge beinhalten, die sich auf andere bestimmte Inhalte beziehen.
  • Bei einigen Implementierungen kann die Inhaltsmaschine 128 die Anfrage an eine separate Suchmaschine (nicht dargestellt) senden und ein oder mehrere Suchergebnisse als Antwort auf die Einreichung empfangen. Bei einigen Implementierungen kann die Suchmaschine eine oder mehrere öffentliche Inhaltsressourcen durchsuchen, wie beispielsweise die öffentliche Datenbank 154. Bei einigen Implementierungen kann die Suchmaschine zusätzlich und/oder alternativ eine oder mehrere persönliche Inhaltsressourcen durchsuchen, die persönlich für den Benutzer (und/oder andere Benutzer des Nachrichtenaustausch-Threads) sind, der die Abfrage, beispielsweise die persönliche Datenbank 152, eingereicht hat. So kann beispielsweise die persönliche Datenbank 152 für einen Benutzer persönliche Einträge beinhalten, wie beispielsweise Kalendereinträge des Benutzers, Kontakteinträge des Benutzers, E-Mails des Benutzers, von E-Mails abgeleitete Inhalte usw. Die Suchmaschine kann auf die persönliche Datenbank 152 (oder eine Teilmenge von Einträgen der Datenbank 152, die für den Benutzer persönlich sind) auf der Basis von beispielsweise Benutzerberechtigungsinformationen zugreifen, die von der Inhaltsmaschine 128 zusammen mit einer Abfrageeinreichung bereitgestellt werden. Bei einigen anderen Implementierungen kann die Inhaltsmaschine 128 selbst die Suche der öffentlichen Datenbank 154, der persönlichen Datenbank 152 und/oder einer anderen Ressource basierend auf einer Abfrage durchführen.
  • In vielen Fällen kann der Inhalt, der auf eine Abfrage anspricht, zu unhandlich sein (z. B. zu lang, zu viel Detail usw.) um sich in den Nachrichtenaustausch-Thread zu integrieren, ohne den Ablauf der Konversation zu stören. In diesen Situationen kann die Inhaltsmaschine 128 eine Teilmenge des gesamten ansprechenden Inhalts auswählen (d. h. der gesamte ansprechende Inhalt kann ausgesondert werden), um in den Thread eingebunden zu werden. Bei einigen Implementierungen kann die Inhaltsmaschine 128 die Teilmenge auswählen (oder den ansprechenden Inhalt aussondern), um sie in den Nachrichtenaustausch-Thread einzubinden. Bei anderen Implementierungen kann die Inhaltsmaschine 128 die umfassende ansprechende Information zu einem oder mehreren der Nachrichtenaustausch-Clients 107 1-N bereitstellen, und sie können das Aussondern durchführen. So kann zum Beispiel bei einigen Implementierungen der Nachrichtenaustausch-Client 107 1 die Information auf der Basis einer Bildschirmgröße der Client-Computervorrichtung 106 1 löschen. Bei einer noch anderen Implementierung können sowohl die Inhaltsmaschine 128 als auch ein Nachrichtenaustausch-Client ein Aussondern durchführen. Bei einigen Implementierungen können die oberen N Suchergebnisse (oder ein anderer Inhalt) zum Einfügen in den Nachrichtenaustausch-Thread und/oder bestimmte Arten von Suchergebnissen (oder anderen Inhalten) für die Aufnahme in den Nachrichtenaustausch-Thread ausgewählt werden. N kann beispielsweise auf Basis der Bildschirmgröße, Benutzerpräferenzen usw. ausgewählt werden oder kann manuell ausgewählt werden (z. B. kann N auf fünf, zehn, zwei, eins usw. eingestellt werden)
  • Bei verschiedenen Implementierungen kann zumindest ein Teil des Inhalts, der in einen Nachrichtenaustausch-Thread als Antwort auf eine Abfrage eingebunden ist, mit einem oder mehreren elektronischen Dokumenten verknüpft sein, die auf die Abfrage antworten, beispielsweise, dass ein Benutzer lediglich den Inhalt auswählen muss, der auf eine neue Ressource gerichtet werden soll (z. B. ein Web-Browser, der die Informationen anzeigt). Bei einigen Implementierungen kann zumindest ein Teil des Inhalts, der in einen Nachrichtenaustausch-Thread integriert ist, mit einer Anwendung verknüpft sein, die auf einer Client-Computervorrichtung 106 installiert ist, die mindestens auf einem der Nachrichtenaustausch-Clients 107 arbeitet, der auf die Abfrage anspricht. Wenn ein Benutzer beispielsweise einen Vorschlag auswählt, der eine Abfrage von „Abendessenreservierungen bei Franks” anzeigt, können ein oder mehrere grafische Elemente, die sich auf den Standort „Franks” beziehen, in den Nachrichtenaustausch-Thread integriert werden und diese grafischen Elemente können ausgewählt werden, auswählbar sein, um eine andere Anwendung zu öffnen, die spezifisch arbeitet, um eine Reservierung am Standort Franks (z. B. einen Deep-Link) zu erstellen.
  • Die Nachrichtenaustauschmaschine 130 kann das Einbinden von Inhalt (ermittelt durch die Inhaltsmaschine 128) in einen Nachrichtenaustausch-Thread erleichtern und/oder die Bereitstellung von Vorschlägen (ermittelt durch die Vorschlagsmaschine 126) zur Anzeige über einen oder mehrere Nachrichtenaustausch-Clients erleichtern.
  • Inhalt, der in einen Nachrichtenaustausch-Thread eingebaut ist, kann durch einen oder mehrere der an dem Thread teilnehmenden Benutzer sichtbar sein. So kann beispielsweise der Inhalt auf einer grafischen Benutzerschnittstelle, die zu einem Nachrichtenaustausch-Client gehört, der ein Protokoll des laufenden Nachrichtenaustausch-Threads abbildet, sichtbar sein. Die Nachrichtenaustauschmaschine 130 kann Inhalt in einer Vielzahl von Möglichkeiten in einen Nachrichtenaustausch-Thread zwischen mehreren Nachrichtenaustausch-Clients 107 1-N integrieren. Bei einigen Implementierungen kann die Nachrichtenaustauschmaschine 130 anfordern, dass mindestens einer der Nachrichtenaustausch-Clients 107 1-N, die an dem Nachrichtenaustausch-Thread teilnehmen, den Inhalt in ein Transkript des laufenden Nachrichtenaustausch-Threads einfügt, das in einer grafischen Benutzerschnittstelle angezeigt wird. In einigen Szenarien kann der Inhalt in Transkripte integriert werden, die von mehr als einem Nachrichtenaustausch-Client gerendert werden, wie beispielsweise in Transkripten, die von allen Nachrichtenaustausch-Clients, die am Nachrichtenaustausch-Thread teilnehmen, wiedergegeben werden. Bei einigen Implementierungen kann die Nachrichtenaustauschmaschine 130 einfach einen ansprechenden Inhalt für einen Nachrichtenaustausch-Client bereitstellen, der dann auswählen kann, welcher Inhalt in den Nachrichtenaustausch-Thread einzubinden ist.
  • Wenden wir uns nun zu den 2A und 2B, wo wird eine zusätzliche Beschreibung von verschiedenen Komponenten des automatisierten Assistenten 120 bereitgestellt wird.
  • In den 2A und 2B ist gezeigt, ein Nachrichtenaustausch-Thread zwischen dem Nachrichtenaustausch-Client 107 1 und dem Nachrichtenaustausch-Client 107 N weiterläuft. In 2A erhält eine Nachrichtenaustauschmaschine 130 eine oder mehrere Nachrichten des Thread 201 und liefert diese an die Nachrichtenverarbeitungsmaschine 122. Bei einigen Implementierungen kann die Nachrichtenaustauschmaschine 130 als eine zentrale Vermittlungsstelle dienen, die das Nachrichtenaustausch-Thread zwischen den Nachrichtenaustausch-Clients 107 1 und 107 N erleichtert. In anderen Implementierungen kann die Nachrichtenaustauschmaschine 130 nicht als eine zentrale Vermittlungsstelle dienen, kann aber trotzdem die Nachricht(en) des Threads 201 empfangen.
  • Die Nachrichtenverarbeitungsmaschine 122 verarbeitet die Nachricht(en) des Threads 201 und erzeugt verschiedene Annotationen der Nachricht(en) des Threads 201. Die Nachrichtenverarbeitungsmaschine 122 liefert eine annotierte Eingabe (z. B. Begriffe und/oder einen anderen Inhalt der Nachricht(en) des Threads 201 und erzeugte Annotationen) 202 an die Entitätbestimmungsmaschine 124 und an die Vorschlagsmaschine 126.
  • Die Entitätsbestimmungsmaschine 124 ermittelt eine oder mehrere Entitäten 203, auf die in den Nachrichten des Threads 201 Bezug genommen wird, basierend auf der annotierten Eingabe 202, einer Entitätsdatenbank und/oder anderen Ressourcen. Die Entitätsbestimmungsmaschine 124 stellt die eine oder mehrere Entitäten 203 der Vorschlagsmaschine 126 zur Verfügung.
  • Die Vorschlagsmaschine 126 ermittelt einen oder mehrere Vorschläge 204 und stellt die Vorschläge 204 der Nachrichtenaustauschmaschine 130 bereit. Die Nachrichtenaustauschmaschine 130 liefert die Vorschläge 204 zur Anzeige über einen oder beide der Nachrichtenaustausch-Clients 107 1 und 107 N. Bei einigen Implementierungen können eine oder mehrere der Vorschläge 204 ein auswählbares grafisches Element sein, das die Begriffe einer Kandidatensuchanfrage beinhaltet und/oder das ansonsten die Kandidatensuchanfrage anzeigt. Bei einigen Implementierungen können ein oder mehrere der Vorschläge 204 als akustische Vorschläge bereitgestellt werden.
  • Wie hierin beschrieben, kann die Vorschlagsmaschine 126 eine oder mehrere verschiedene Techniken verwenden, um die Vorschläge zu ermitteln. So kann beispielsweise die Vorschlagsmaschine 126 eine Kandidaten-Suchanfrage basierend auf der annotierten Eingabe 202, den Entitäten 203 und/oder der Abfrage-Datenbank 156 ermitteln und kann den Vorschlag basierend auf der Kandidaten-Suchanfrage erzeugen. Bei einigen Implementierungen ermittelt die Vorschlagsmaschine 126 eine Bewertung für die Kandidaten-Abfragen, die den Vorschlägen 204 zugeordnet sind und bestimmt, ob die Vorschläge 204 basierend auf den Partituren bereitgestellt werden sollen. Bei einigen Implementierungen verwendet die Vorschlagsmaschine 126 die Partituren, um zu ermitteln wie die Vorschläge 204 bereitgestellt werden sollen. So kann beispielsweise die Vorschlagsmaschine die Partituren verwenden, um computerlesbare Befehle mit den Vorschlägen 204 für die Bereitstellung zu erzeugen, die bestimmte Anzeigepositionen der Vorschläge 204, bestimmte Anzeigegrößen der Vorschläge 204 und/oder andere spezielle Anzeigeeigenschaften der Vorschläge 204 vorschreiben.
  • 2B veranschaulicht ein Beispiel von eingebautem Inhalt, der auf eine Abfrage in Antwort auf eine Benutzerschnittstelleneingabe eines der Benutzer des Nachrichtenaustausch-Threads in ein Nachrichtenaustausch-Thread reagiert, wie beispielsweise eine Benutzerschnittstelleneingabe, die auf einen Vorschlag gerichtet ist, der dem Benutzer bereitgestellt wird und der die Abfrage anzeigt.
  • So kann beispielsweise in 2B die Nachrichtenaustauschmaschine 130 die Anfrage 205 als Antwort auf eine Benutzerschnittstelleneingabe empfangen, die auf einen der bereitgestellten Vorschläge 204 von 2A gerichtet ist, (d. h. dieser Vorschlag kann die Abfrage 205 angeben). Wie mit Bezug auf 2A beschrieben, kann der Vorschlag für eine Anzeige über einen oder beide der Nachrichtenaustausch-Clients 107 1 und 107 N bereitgestellt werden. Die Abfrage 205 kann der Nachrichtenaustauschmaschine 130 als Antwort-Benutzerschnittstelleneingabe bereitgestellt werden, die auf den Vorschlag durch einen der Nachrichtenaustauschclients 107 1 und 107 N gerichtet ist, an die der Vorschlag gesendet wurde.
  • Die Nachrichtenaustauschmaschine 130 stellt die Abfrage 205 der Inhaltsmaschine 128 bereit, die den Inhalt 206 erhält, der auf die Anfrage 205 anspricht. Der Inhalt 206 kann direkt oder indirekt durch die Inhaltsmaschine 128 aus der persönlichen Datenbank 152 und/oder der öffentlichen Datenbank 154 erhalten werden. Bei einigen Implementierungen ermittelt die Inhaltsmaschine 128 einen Satz von Suchergebnissen oder anderen Inhalt als Reaktion auf die Einreichung der Abfrage 205 und sondert diesen Inhalt aus, um den Inhalt 206 zu erzeugen. Die Inhaltsmaschine 128 stellt den Inhalt der Nachrichtenaustauschmaschine 130 bereit. Die Nachrichtenaustauschmaschine 130 entspricht dem Inhalt 206 in den laufenden Nachrichtenaustausch-Thread zwischen den Nachrichtenaustausch-Clients 107 1 und 107 N. So kann zum Beispiel der Inhalt 206 in den Nachrichtenaustausch-Thread zum Anzeigen als Teil des Nachrichtenaustausch-Threads in den beiden Nachrichtenaustausch-Clients 107 1 und 107 N integriert werden.
  • Wenden wir uns nun zu den 3A3D, wo eine zusätzliche Beschreibung von verschiedenen Komponenten und Techniken bereitgestellt sind, wie hierin beschrieben. 3A3D veranschaulichen jeweils die Client-Computervorrichtung 106 1 von 1 mit einem Anzeigeschirm 140, der ein Beispiel darstellt, wie die Client-Computervorrichtung 106 1 eine grafische Benutzerschnittstelle des Nachrichtenaustausch-Clients 106 1 während eines Nachrichtenaustausch-Threads darstellen kann. In den 3A3D befindet sich ein Benutzer der Client-Computervorrichtung 106 1 in einem laufenden Nachrichtenaustausch-Thread mit zwei anderen Benutzern „Tom” und „Alex”.
  • Der Anzeigebildschirm 140 der 3A3D beinhaltet ferner ein Textantwort-Schnittstellenelement 388, das der Benutzer auswählen kann, um eine Benutzereingabe über eine virtuelle Tastatur und ein Sprachantwort-Schnittstellenelement 389 zu erzeugen, das der Benutzer auswählen kann, um Benutzereingaben über ein Mikrofon zu erzeugen. Der Anzeigebildschirm 140 beinhaltet auch Systemschnittstellenelemente 381, 382, 383, die durch den Benutzer interagiert werden können, um zu bewirken, dass die Computervorrichtung 106 1 eine oder mehrere Aktionen ausführt.
  • In 3A formuliert der Benutzer zuvor eine natürliche Sprachmitteilung 380A und die Nachricht 380A wird für den Einbau in den Nachrichtenaustausch-Thread übermittelt. Ferner formuliert Tom zuvor eine natürliche Sprachmitteilung 382A und die Nachricht 382A wird nach dem Einbau der Nachricht 380A in den Nachrichtenaustausch-Thread übermittelt. Alex formuliert auch zuvor eine natürliche Sprachmitteilung 384A und die Nachricht 384A wird nach dem Einbau der Nachricht 382A zur Einarbeitung in den Nachrichtenaustausch-Thread übermittelt.
  • Ein wählbares grafisches Element 361, das eine Kandidatenabfrage von „Acme Cast” anzeigt, die an den automatisierten Assistenten 120 übermittelt werden kann, ist ebenfalls in 3A veranschaulicht. Das grafische Element 361 beinhaltet den Text der Kandidatenabfrage und beinhaltet auch eine „Stern” um dem Benutzer anzuzeigen, dass eine Auswahl des grafischen Elements 361 dazu führt, dass in den Nachrichtenaustausch-Thread Inhalte aufgenommen werden, die auf die Kandidatenabfrage „Acme Cast” ansprechen. Ein wählbares graphisches Element 371, das den Text „Nein” anzeigt, ist ebenfalls dargestellt. Die Auswahl des grafischen Elements 371 bewirkt, dass „Nein” automatisch in dem Textantwort-Schnittstellenelement 388 abgelegt wird (die der Benutzer dann zur Einarbeitung in den Thread über eine oder mehrere Benutzerschnittstelleneingaben einreichen kann), oder es führt dazu, dass „Nein” automatisch für die Aufnahme in dem Nachrichtenaustausch-Thread eingereicht wird. In beiden Szenarien wird „Nein” als Antwort des Benutzers in den Nachrichtenaustausch-Thread integriert, ohne dass Inhalte, die auf „Nein” antworten, ebenfalls eingebunden werden. Mit anderen Worten, kann die Auswahl des grafischen Elements 371 dem Benutzer ermöglichen, eine Antwort von „Nein” zu erzeugen, gerade als ob der Benutzer nach Auswahl des Sprachantwort-Schnittstellenelements 385 „Nein” in das Textantwort-Schnittstellenelement 388 eingegeben und/oder „Nein” gesprochen hat.
  • Bei einigen Implementierungen kann der automatisierte Assistent 120 die Kandidatensuchanfrage „Acme Cast”, die durch das grafische Element 361 angezeigt wird, basierend auf einem oder mehreren der bereits kommunizierten Nachrichten 380A, 382A und 384A des Nachrichtenaustausch-Threads ermitteln. So kann zum Beispiel die Kandidatensuchanfrage basierend auf der Anwesenheit des Begriffs „Acme” (ein fiktiver Name eines Films) in der Nachricht 382A von Tom und basierend auf der Anwesenheit des Begriffs „Cast” in der Nachricht 384A von Alex ermittelt werden.
  • Es sei angemerkt, dass bei einigen Implementierungen der Nachrichtenaustausch-Client von Tom auch das graphische Element 371 und/oder das grafische Element 361 zur Auswahl durch Tom anzeigen kann. Außerdem kann der Nachrichtenaustausch-Client von Alex auch das grafische Element 371 zur Auswahl durch Alex anzeigen (das grafische Element 371 kann nicht an Alex angezeigt werden, da „Nein” keine kontextabhängige Antwort für Alex zu seiner eigenen Nachricht 384A wäre).
  • 3B zeigt die graphische Benutzerschnittstelle, nachdem der Benutzer eine Benutzerschnittstelleneingabe vorgesehen hat, die auf das graphische Element 361 in 3A gerichtet ist. So kann beispielsweise der Benutzer das grafische Element 361 „angezapft” haben. In 3B gezeigt, ist die Benutzerauswahl des graphischen Elements 361 in dem Nachrichtenaustausch-Thread als Nachricht 380B vom Benutzer, der den Text der Kandidatenabfrage „Acme Cast” zusammen mit dem Stern beinhaltet, um anzuzeigen, dass die Nachricht 380B bereitgestellt wurde um Inhalte zu erhalten, die auf „Acme Cast” reagieren, um sie in den Nachrichtenaustausch-Thread einzubinden. So kann beispielsweise der Nachrichtenaustausch-Client der Computervorrichtung 106 1 die Nachricht 380B durch Einreichen von „Acme Cast” zusammen mit einer Anzeige enthalten, die bewirkt, dass der automatisierte Assistent 120 „Acme Cast” als Abfrage, die an den automatisierten Assistenten 120 gerichtet ist, verarbeitet. Die Anzeige kann eine menschlich erkennbare Anzeige und/oder nicht-menschlich erkennbare Anzeige dafür sein. Es wird darauf hingewiesen, dass bei einigen Implementierungen der Nachrichtenaustausch-Client von Tom und/oder Alex auch die Nachricht 380B (zusammen mit einer Anzeige des Benutzernamens anstelle von „Sie”) anzeigen kann.
  • Inhalt 390A ist auch in den Nachrichtenaustausch-Thread in 3B als Nachricht vom „Automatisierten Assistenten” eingebaut. Der Inhalt 390A beinhaltet den Text „Hier ist, was ich gefunden habe:” um anzuzeigen, dass der Inhalt auf die Nachricht 380B anspricht und drei „Karten” und eine auswählbare Option („...”) beinhaltet, die auf die Abfrage „Acme Cast” ansprechen. Die Karten sind für drei der Darsteller des „Acme Film” und die auswählbare Option („...”) ermöglicht dem Benutzer, zusätzliche Karten für zusätzliche Darsteller zu sehen. Jede der Karten beinhaltet ein Bild des Darstellers, einen „bekannten” Namen des Darstellers und den Namen des Darstellers im „Acme Film” (kursiv dargestellt). Es wird darauf hingewiesen, dass bei einigen Implementierungen der Nachrichtenaustausch-Client von Tom und/oder Alex auch den Inhalt 390A anzeigen kann. Bei einigen dieser Implementierungen kann die Benutzerschnittstelleneingabe eines beliebigen Benutzers, der auf die auswählbare Option („...”) gerichtet ist, um zusätzliche Karten für zusätzliche Darsteller zu sehen, dazu führen, dass die zusätzlichen Karten in der grafischen Benutzerschnittstelle aller Nachrichtenaustausch-Clients oder nur in dem Client des Benutzers angezeigt werden, der die Benutzerschnittstelleneingabe der die Benutzerschnittstelleneingabe bereitstellt. Bei einigen Implementierungen können eine oder mehrere der Karten durch den Benutzer ausgewählt werden, um zu bewirken, dass zusätzlicher Inhalt über den Darsteller dieser Karte bereitgestellt wird. So kann zum Beispiel die Auswahl einer der Karten dazu führen, dass zusätzlicher Inhalt in den Nachrichtenaustausch-Thread für den Benutzer und optional für weitere Benutzer aufgenommen wird. Auch kann beispielsweise die Auswahl einer der Karten dazu führen, dass dem Benutzer in einer anderen Anwendung, die von dem Nachrichtenaustausch-Client getrennt ist, wie beispielsweise eine separate Webbrowser-Anwendung, zusätzlicher Inhalt für den Benutzer bereitgestellt wird.
  • Die wählbaren grafischen Elemente 362 und 363 sind ebenfalls in 3B dargestellt und zeigen Kandidatenanfragen von „Acme Trailer” und „Acme Vorstellungsbeginn” an, die an den automatisierten Assistenten 120 übermittelt werden können. Die grafischen Elemente 362 und 363 beinhalten jeweils einen Text, der seine Kandidatenabfrage anzeigt (beinhaltet jedoch nicht die Gesamtheit des Textes der Kandidatenabfrage) und jede beinhaltet auch einen „Stern”, um dem Benutzer anzuzeigen, dass die Auswahl dazu führt, dass in den Nachrichtenaustausch-Thread ein Inhalt aufgenommen wird, der auf seine Kandidatenabfrage anspricht. Wie bei dem grafischen Element 361 (3A), kann der Nachrichtenaustausch-Client von Tom und/oder Alex auch die grafischen Elemente 362 und 363 anzeigen. Bei einigen Implementierungen kann der automatisierte Assistent 120 die Kandidatenabfragen der graphischen Elemente 362 und 363 basierend auf jenen Kandidatenabfragen ermitteln, mit der Kandidatenanfrage „Acme Film” zusammenhängen und/oder mit dem Inhalt 390A. So kann zum Beispiel der automatisierte Assistent 120 jene Kandidatenabfragen basierend auf einem Datenbankeintrag ermitteln, der angibt, dass diese Kandidatenabfragen die beiden Abfragen sind, die von anderen Benutzern am häufigsten nach und/oder vor der Einreichung von „Acme Vorstellungsbeginn” eingereicht werden.
  • 3C zeigt die grafische Benutzerschnittstelle, nachdem Alex eine Benutzerschnittstelleneingabe (z. B. einen „Abgriff”) vorgesehen hat, die auf eine Instanz des grafischen Elements 363 gerichtet ist, die in seiner grafischen Benutzerschnittstelle angezeigt wird. Wie in 3C gezeigt, ist Alex's Auswahl des graphischen Elements 363 in dem Nachrichtenaustausch-Thread als eine Nachricht 384B von Alex enthalten, die den Text der Kandidatenabfrage „Acme Vorstellungsbeginn” zusammen mit dem Stern beinhaltet, um anzuzeigen, dass die Nachricht 384B bereitgestellt wurde um Inhalte zu erhalten, die auf „Acme Cast” reagieren, um sie in den Nachrichtenaustausch-Thread einzubinden.
  • Der Inhalt 390B ist auch in den Nachrichtenaustausch-Thread in 3C als Nachricht vom „Automatisierten Assistenten” eingebaut. Der Inhalt 390B beinhaltet den Text „Hier ist, was ich gefunden habe:” um anzuzeigen, dass der Inhalt auf die Nachricht 384B anspricht und eine natürliche Sprachausgabe beinhaltet, die den Vorstellungsbeginn für „Acme Film” an zwei Kinos anzeigt. Es wird darauf hingewiesen, dass in 3C die beiden Kinos lokal proximal zu Tom, Alex und dem Benutzer – und die natürliche Sprachausgabe des Inhalts 390B beinhaltet eine Angabe der Entfernung von Tom, Alex und dem Benutzer zu jedem der Kinos. So kann beispielsweise der automatisierte Assistent 120 basierend auf das Ausgeben einer Suche mit Ortsinformationen und/oder anderen Benutzerattributen für jeden der Benutzer des Nachrichtenaustausch-Threads Inhalte ermitteln, um den Inhalt 390B zu ermitteln, der auch für Standorte von Benutzern und/oder anderen Attributen der Benutzer, die aus den Nachrichten des Nachrichtenaustausch-Threads nicht erkennbar sind, auch kontextabhängig ist.
  • Die wählbaren grafischen Elemente 362 und 365 sind ebenfalls in 3B dargestellt und zeigen Kandidatenanfragen von „Acme Trailer” und „Acme Pictures” an, die an den automatisierten Assistenten 120 übermittelt werden können. Die grafischen Elemente 362 und 365 beinhalten jeweils einen Text, der seine Kandidatenabfrage anzeigt und auch jeweils eine „Stern” beinhaltet, um dem Benutzer anzuzeigen, dass die Auswahl dazu führt, dass in den Nachrichtenaustausch-Thread ein Inhalt aufgenommen wird, der auf seine Kandidatenabfrage anspricht. Bei einigen Implementierungen kann der automatisierte Assistent 120 die Kandidatenabfragen der graphischen Elemente 362 und 365 basierend auf jenen Kandidatenabfragen ermitteln, mit der Kandidatenanfrage „Acme Vorstellungsbeginn” zusammenhängen und/oder mit dem Inhalt 390B.
  • In 3C ist die natürliche Spracheingabe von „Lasst uns ins Kino 1 @ 19:00 gehen” im Textantwort-Schnittstellenelement 388 dargestellt und kann vom Benutzer formuliert werden. So kann beispielsweise der Benutzer eine virtuelle Tastatur verwendet haben, um die natürliche Spracheingabe bereitzustellen, nachdem der Inhalt 390B in den Nachrichtenaustausch-Thread aufgenommen wurde.
  • 3D veranschaulicht die grafische Benutzeroberfläche, nachdem der Benutzer die natürliche Spracheingabe von „Lasst uns ins Kino 1 @ 19:00 gehen” in den Nachrichtenaustausch-Thread eingegeben hat. In 3D ist die Benutzereinreichung der natürlichen Spracheingabe in dem Nachrichtenaustausch-Thread, der den Stern nicht beinhaltet, als eine Nachricht 380C vom Benutzer enthalten, um anzuzeigen, dass die Nachricht vom Benutzer stammt und nicht dazu bestimmt ist, reaktionsfähigen Inhalt von einem automatisierten Assistenten zu erhalten. Es wird darauf hingewiesen, dass bei vielen Implementierungen der Nachrichtenaustausch-Client von Tom und/oder Alex auch die Nachricht 380C (zusammen mit einer Anzeige des Benutzernamens anstelle von „du”) anzeigen kann.
  • Ein wählbares grafisches Element 366, das eine Kandidatenabfrage von „Anfahrt zum Kino 1” anzeigt, die an den automatisierten Assistenten 120 übermittelt werden kann, ist ebenfalls in 3D dargestellt. Das grafische Element 366 beinhaltet den Text der Kandidatenabfrage und beinhaltet auch eine „Stern” um dem Benutzer anzuzeigen, dass eine Auswahl des grafischen Elements 366 dazu führt, dass in den Nachrichtenaustausch-Thread Inhalte aufgenommen werden, die auf die Kandidatenabfrage „Anfahrt zum Kino 1” ansprechen.
  • Bei einigen Implementierungen kann der automatisierte Assistent 120 die Kandidatensuchanfrage „Anfahrt zum Kino 1”, die durch das grafische Element 366 angezeigt wird, basierend auf einem oder mehreren der bereits kommunizierten Nachrichten, wie beispielsweise der Nachricht 380C und/oder basierend auf dem Inhalt 390B, ermitteln.
  • Obwohl in den 3A3D nicht veranschaulicht, können bei einigen Implementierungen der Benutzer und/oder andere Benutzer des Nachrichtenaustausches-Threads explizit Abfragen an den automatisierten Assistenten 120 senden, ohne einen vorgesehenen Vorschlag auszuwählen. So kann beispielsweise der Benutzer eine natürliche Spracheingabe in dem Textantwort-Schnittstellenelement 388 vornehmen und bestimmte Begriffe und/oder Symbole (z. B. @automatedassistant als Präfix) in Kombination mit der Eingabe beinhalten um zu bewirken, dass diese Eingabe an den automatisierten Assistenten 120 übermittelt wird (z. B. um als Nachricht mit einem „Stern” zu erscheinen, auf den mit dem Inhalt in Antwort auf die Eingabe geantwortet wird). So kann beispielsweise der Benutzer eine natürliche Spracheingabe mündlich nach Auswahl des Sprachantwort-Schnittstellenelements 389 vornehmen und kann einen bestimmten Begriff in Kombination mit der Eingabe sprechen, um zu bewirken, dass diese Eingabe an den automatisierten Assistenten 120 übermittelt wird. Als ein weiteres Beispiel kann ein separates grafisches Schnittstellenelement in der grafischen Benutzerschnittstelle bereitgestellt werden, die, wenn sie ausgewählt wird, eine anwendergestaltete natürliche Spracheingabe an den automatisierten Assistenten 120 übergibt.
  • 4 stellt ein Flussdiagramm dar, das ein exemplarisches Verfahren 400 zum Bereitstellen mindestens eines kontextrelevanten Vorschlags für einen oder mehrere Benutzer eines laufenden Nachrichtenaustausch-Threads zwischen den Benutzern darstellt und Inhalt in den Nachrichtenaustausch-Thread einbindet, der auf eine durch den Vorschlag angegebene Abfrage anspricht. Zur Vereinfachung werden die Operationen des Flussdiagramms unter Bezugnahme auf ein System beschrieben, das die Operationen ausführt. Dieses System kann verschiedene Komponenten verschiedener Computersysteme beinhalten, wie beispielsweise den automatisierten Assistenten 120. Darüber hinaus, während Operationen des Verfahrens 400 in einer bestimmten Reihenfolge gezeigt werden, ist dies nicht einschränkend zu verstehen. Eine oder mehrere Operationen können neu geordert, weggelassen oder hinzugefügt werden.
  • Bei Block 450 untersucht das System einen laufenden Nachrichtenaustausch-Thread zwischen mehreren Benutzern, die mehrere Nachrichtenaustausch-Clients betreiben.
  • Bei Block 452 ermittelt das System eine oder mehrere Kandidatenabfragen basierend auf einer oder mehreren Nachrichten des Nachrichtenaustausch-Threads.
  • Bei Block 454 ermittelt das System eine Punktzahl für jede der Kandidatenabfragen.
  • Bei Block 456 ermittelt das System für jede der Kandidatenabfragen, ob die Punktzahl der Kandidatenabfrage einen Schwellenwert erfüllt. Wenn das System bei Block 456 ermittelt, dass keine der Kandidatenabfragen eine Punktzahl aufweist die den Schwellenwert erfüllt, geht das System zum Block 458 weiter und erwartet eine weitere Nachricht im Nachrichtenaustausch-Thread. Als Reaktion auf eine andere Nachricht im Nachrichtenaustausch-Thread kann das System wieder mit dem Block 450 fortfahren.
  • Wenn das System bei Block 456 ermittelt, dass mindestens eine der Kandidatenabfragen eine Punktzahl aufweist die den Schwellenwert erfüllt, geht das System zum Block 460 über.
  • Dei Block 460 stellt das System für eine Darstellung für mindestens einen der Benutzer des Nachrichtenaustausch-Threads einen oder mehrere Vorschläge für eine oder mehrere Kandidatenabfragen bereit, deren Punktzahl einen Schwellenwert erfüllt.
  • Bei Block 462 identifiziert das System, dass eine Benutzerschnittstelleneingabe auftrat, die auf einen der bereitgestellten Vorschläge gerichtet war.
  • Bei Block 464 ermittelt das System Inhalt, der auf die Kandidatenabfrage des Vorschlags anspricht, auf den die Benutzerschnittstelleneingabe gerichtet wurde.
  • Bei Block 466 umfasst das System den Inhalt in den Nachrichtenaustausch-Thread und fährt mit Block 458 fort. Bei Block 458 wartet das System auf eine weitere Nachricht in dem Nachrichtenaustausch-Thread und in Reaktion auf eine weitere Nachricht in dem Nachrichtenaustausch-Thread kann das System wieder mit Block 450 fortfahren.
  • 5 ist ein Blockdiagramm einer exemplarischen Computervorrichtung 510, die wahlweise verwendet werden kann, um einen oder mehrere Aspekte der hierin beschriebenen Techniken auszuführen. Bei einigen Implementierungen können eine oder mehrere der Client-Computervorrichtungen 160 1-N, der automatisierte Assistent 120 und/oder andere Komponenten eine oder mehrere Komponenten der exemplarischen Computervorrichtung 510 umfassen.
  • Die Computervorrichtung 510 beinhaltet typischerweise mindestens einen Prozessor 514, der mit einer Anzahl von Peripheriegeräten über das Busuntersystem 512 kommuniziert. Diese Peripheriegeräte können ein Speichersubsystem 524 beinhalten, das beispielsweise ein Speicheruntersystem 525 und ein Dateispeicheruntersystem 526, Benutzerschnittstellenausgabegeräte 520, Benutzerschnittstelleneingabevorrichtungen 522 und ein Netzwerkschnittstellensubsystem 516 beinhaltet. Die Eingabe- und Ausgabegeräte ermöglichen eine Benutzerinteraktion mit der Computervorrichtung 510. Das Netzwerkschnittstellen-Subsystem 516 stellt eine Schnittstelle zu externen Netzwerken bereit und ist mit entsprechenden Schnittstellenvorrichtungen in anderen Computervorrichtungen gekoppelt.
  • Die Benutzerschnittstelleneingabevorrichtungen 522 können eine Tastatur, Zeigegeräte, wie eine Maus, ein Trackball, ein Touchpad oder ein Grafiktablett, ein Scanner, ein in die Anzeige integrierter Touchscreen, Audioeingabevorrichtungen, wie Spracherkennungssysteme, Mikrofon und/oder andere Arten von Eingabegeräten beinhalten. Im Allgemeinen soll die Verwendung des Begriffs „Eingabegerät” alle möglichen Arten von Geräten und Möglichkeiten beinhalten, Informationen in die Computervorrichtung 510 oder in ein Kommunikationsnetzwerk einzugeben.
  • Die Benutzerschnittstellen-Ausgabevorrichtungen 520 können ein Anzeige-Subsystem, einen Drucker, ein Faxgerät oder nicht-visuelle Anzeigen, wie beispielsweise Audioausgabegeräte beinhalten. Das Anzeige-Subsystem kann eine Kathodenstrahlröhre (CRT), eine Flachbildschirmvorrichtung, wie eine Flüssigkristallanzeige (LCD), eine Projektionsvorrichtung oder einen anderen Mechanismus zum Erzeugen eines sichtbaren Bildes beinhalten. Das Anzeige-Subsystem kann auch eine nicht-visuelle Anzeige, wie beispielsweise über Audioausgabegeräte, bereitstellen. Im Allgemeinen soll die Verwendung des Begriffs „Ausgabevorrichtung” alle möglichen Arten von Geräten und Möglichkeiten beinhalten, Informationen von der Computervorrichtung 510 an den Benutzer oder an eine andere Maschine oder Rechenvorrichtung auszugeben.
  • Das Speichersubsystem 524 speichert Programmier- und Datenkonstrukte, die die Funktionalität einiger oder aller hierin beschriebenen Module bereitstellen. So kann beispielsweise das Speichersubsystem 524 die Logik beinhalten, um ausgewählte Aspekte des Verfahrens von 4 auszuführen.
  • Diese Softwaremodule werden im Allgemeinen vom Prozessor 514 alleine oder in Kombination mit anderen Prozessoren ausgeführt. Der in dem Speichersubsystem 524 verwendete Speicher 525 kann eine Anzahl von Speichern beinhalten, die einen Hauptspeicher (RAM) 530 zum Speichern von Anweisungen und Daten während der Programmausführung und einen Festwertspeicher (ROM) 532 beinhalten, in dem feste Anweisungen gespeichert sind. Ein Dateispeichersubsystem 526 kann persistenten Speicher für Programm- und Datendateien bereitstellen und kann ein Festplattenlaufwerk, ein Diskettenlaufwerk zusammen mit zugehörigen entfernbaren Medien, ein CD-ROM-Laufwerk, ein optisches Laufwerk oder entfernbare Medienkassetten beinhalten. Die Module, die die Funktionalität bestimmter Implementierungen implementieren, können durch das Dateispeichersubsystem 526 in dem Speichersubsystem 524 oder in anderen Maschinen gespeichert sein, auf die der Prozessor(en) 514 zugreift.
  • Das Bus-Subsystem 512 stellt einen Mechanismus für die verschiedenen Komponenten und Subsysteme der Computervorrichtung 510 bereit, um miteinander zu kommunizieren, wie beabsichtigt. Obwohl Bus-Subsystem 512 schematisch als ein einzelner Bus dargestellt ist, können alternative Implementierungen des Bus-Subsystems mehrere Busse verwenden.
  • Die Computervorrichtung 510 kann von unterschiedlichen Typen sein, einschließlich einer Workstation, eines Servers, eines Rechen-Clusters, eines Blade-Servers, einer Serverfarm oder eines beliebig anderen Datenverarbeitungssystems oder Rechengeräts. Aufgrund der sich ständig ändernden Natur der Computer und Netzwerke ist die Beschreibung der Computervorrichtung 510, dargestellt in 5, nur als ein spezifisches Beispiel zur Veranschaulichung einiger Implementierungen gedacht. Es sind viele andere Konfigurationen der Computervorrichtung 510 möglich, die mehr oder weniger Komponenten als die in 5 dargestellte Computervorrichtung aufweisen.
  • In Situationen, in denen die hierin beschriebenen Systeme personenbezogene Daten über Benutzer sammeln oder persönliche Informationen nutzen können, kann den Benutzern die Möglichkeit eingeräumt werden, zu kontrollieren, ob Programme oder Merkmale Benutzerinformationen sammeln (z. B. Informationen über das soziale Netzwerk eines Benutzers, Aktionen oder Aktivitäten, den Beruf, die Präferenzen eines Benutzers oder den aktuellen geografischen Standort eines Benutzers), oder um zu steuern, ob und/oder wie Inhalte vom Content-Server empfangen werden, die für den Benutzer relevanter sein können. Außerdem können bestimmte Daten auf eine oder mehrere Arten behandelt werden, bevor sie gespeichert oder verwendet werden, sodass personenbezogene Informationen entfernt werden. So kann beispielsweise die Identität eines Benutzers so behandelt werden, dass keine personenidentifizierbaren Informationen für den Benutzer bestimmt werden können, oder ein geografischer Standort eines Benutzers kann verallgemeinert werden, wo die Standortinformation empfangen werden (beispielsweise auf eine Stadt, eine Postleitzahl oder eine Landesebene), sodass ein bestimmter geografischer Standort eines Benutzers nicht bestimmt werden kann. Somit kann der Benutzer die Kontrolle darüber haben, wie Informationen über den Benutzer gesammelt und/oder verwendet werden.
  • Gemäß den Ausführungsformen wird offenbart, mindestens einen kontextrelevanten Vorschlag für einen oder mehrere Benutzer eines laufenden Nachrichtenaustausches-Threads zwischen den Benutzern bereitzustellen. Der Vorschlag wird für die Darstellung an den Benutzer (die Benutzer) über eine Benutzeroberflächenausgabevorrichtung von Computergeräten des oder der Benutzer bereitgestellt. Der Vorschlag zeigt eine Abfrage, die an einen automatisierten Assistenten übergeben werden kann, damit der automatisierte Assistent in den Nachrichtenaustausch-Thread Inhalte einfügt, die auf die Abfrage antworten. Bei einigen Implementierungen ist der Vorschlag ein auswählbarer Vorschlag und der Inhalt, der auf die Abfrage antwortet, wird in Antwort auf die Benutzerschnittstelleneingabe, die auf den auswählbaren Vorschlag gerichtet ist, in den Nachrichtenaustausch-Thread integriert. Bei einigen Implementierungen wird der Vorschlag basierend auf einer oder mehreren Nachrichten bestimmt, die bereits zwischen Benutzern des Nachrichtenaustausch-Threads kommuniziert wurden.
  • Während hier mehrere Implementierungen beschrieben und dargestellt wurden, kann eine Vielzahl anderer Mittel und/oder Strukturen zum Durchführen der Funktion und/oder zum Erhalten der Ergebnisse und/oder eines oder mehrerer der hierin beschriebenen Vorteile verwendet werden, und jede dieser Variationen und/oder Modifikationen gelten als innerhalb des Schutzumfangs der hierin beschriebenen Implementierungen. Allgemeiner gesagt sind alle hierin beschriebenen Parameter, Abmessungen, Materialien und Konfigurationen exemplarisch, und die tatsächlichen Parameter, Abmessungen, Materialien und/oder Konfigurationen sind abhängig von der spezifischen Anwendung oder den Anwendungen, für die die Lehre(n) verwendet wird/werden. Fachleute auf dem Gebiet werden erkennen, oder in der Lage sein, viele Äquivalente für die hierin beschriebenen spezifischen Implementierungen für die Verwendung nicht mehr als Routine-Experimente zu ermitteln. Es ist daher zu verstehen, dass die vorstehenden Ausführungen nur exemplarisch dargestellt sind und dass innerhalb des Schutzumfangs der beigefügten Ansprüche und Äquivalente hiervon Ausführungsformen ausgeführt werden können, die nicht anders als spezifisch beschrieben und beansprucht sind. Ausführungsformen der vorliegenden Offenbarung sind auf jedes einzelne Merkmal, System, Gegenstand, Material, Kit und/oder Verfahren, das hierin beschrieben wird, gerichtet. Darüber hinaus ist jede Kombination aus zwei oder mehr derartigen Merkmalen, Systemen, Gegenständen, Materialien, Kits und/oder Verfahren, wenn derartige Merkmale, Systeme, Gegenstände, Materialien, Kits und/oder Verfahren nicht gegenseitig inkonsistent sind, Umfang der vorliegenden Offenbarung.

Claims (23)

  1. Verfahren, das durch einen oder mehrere Prozessoren implementiert wird, umfassend: das Ermitteln mindestens einer Kandidatenabfrage basierend auf einer oder mehrerer bereits kommunizierter Nachrichten eines laufenden Nachrichtenaustausch-Threads, wobei der laufende Nachrichtenaustausch-Thread zwischen mindestens einem ersten Benutzer und einem zweiten Benutzer über einen ersten Nachrichtenaustausch-Client des ersten Benutzers und einen zweiten Nachrichtenaustausch-Client des zweiten Benutzers ist; das Bereitstellen, zum Anzeigen wenigstens eines ersten Benutzers über den ersten Nachrichtenaustausch-Client, eines wählbaren grafischen Elements, das eine Anzeige der Kandidatenabfrage bereitstellt; in Reaktion auf die Benutzerschnittstelleneingabe des ersten Benutzers, der auf das wählbare graphische Element gerichtet ist: das Einbeziehen der Inhalte, die auf die Kandidatenabfrage zum laufenden Nachrichtenaustausch-Thread reagiert, wobei das Integrieren des Inhalts in den laufenden Nachrichtenaustausch-Thread bewirkt, dass der Inhalt über den ersten Nachrichtenaustausch-Client dem ersten Benutzer angezeigt wird und über den zweiten Nachrichtenaustausch-Client dem zweiten Benutzer angezeigt wird.
  2. Verfahren nach Anspruch 1, wobei das Integrieren des Inhalts in den laufenden Nachrichtenaustausch-Thread das Anfordern umfasst, dass mindestens einer der Nachrichtenaustausch-Clients den Inhalt in ein Transkript des laufenden Nachrichtenaustausch-Threads einfügt, weches in einer grafischen Benutzerschnittstelle des mindestens einen der Nachrichtenaustausch-Clients angezeigt wird.
  3. Verfahren nach Anspruch 2, wobei der Inhalt einen oder mehrere Texte und ein Bild beinhaltet.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Bestimmen der Kandidatenabfrage Folgendes umfasst: das Auswählen der Kandidatenabfrage aus einem Korpus von Abfragen auf der Grundlage der Übereinstimmung zwischen einem oder mehreren Abfragebegriffen der Kandidatenabfrage und einem oder mehreren Nachrichtenbegriffen der bereits kommunizierten Nachrichten des laufenden Nachrichtenaustausch-Threads.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Bestimmen der Kandidatenabfrage Folgendes umfasst: das Ermitteln wenigstens einer Entität, auf die in den bereits kommunizierten Nachrichten des laufenden Nachrichtenaustausch-Threads verwiesen wird; und das Ermitteln der Kandidatenabfrage basierend auf mindestens einer Entität.
  6. Verfahren nach Anspruch 5, wobei das Ermitteln der Kandidatenabfrage basierend auf mindestens einer Entität Folgendes umfasst: das Erzeugen eines oder mehrerer Abfragebegriffe für die Kandidatenabfrage basierend auf einem Alias mindestens der einen Entität.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Ermitteln der Kandidatenabfrage und das Bereitstellen des wählbaren grafischen Elements unabhängig davon erfolgt, dass der Benutzer für jede zusätzliche natürliche Spracheingabe für die Aufnahme in den Nachrichtenaustausch-Thread formuliert.
  8. Verfahren nach irgendeinem der vorstehenden Ansprüche, des Weiteren umfassend: das Ermitteln einer Punktzahl für die Kandidatenabfrage basierend auf einem oder mehreren Begriffen mindestens einer der bereits kommunizierten Nachrichten des laufenden Nachrichtenaustausch-Threads; wobei das Bereitstellen des wählbaren grafischen Elements auf der Punktzahl basiert, die einen Schwellenwert erfüllt.
  9. Verfahren nach Anspruch 8, wobei das Bestimmen der Punktzahl basierend auf dem einen oder den mehreren Begriffen mindestens eine der folgenden Optionen umfasst: das Ermitteln der Punktzahl basierend darauf, ob eine benannte Entität in den Begriffen beinhaltet ist; und das Ermitteln der Punktzahl basierend darauf, ob eine Mehrzahl der Begriffe mindestens einem vordefinierten Suchabfragemuster entsprechen.
  10. Verfahren nach irgendeinem der vorstehenden Ansprüche, des Weiteren umfassend: das Ermitteln einer Punktzahl für die Kandidatenabfrage basierend auf mindestens einem der folgenden Merkmale: ein Beliebtheitsmaß für die Kandidatenabfrage, die auf einer Menge von Einreichungen der Kandidatenabfrage basiert, und ein Qualitätsmaß für den Inhalt, der auf die Kandidatenabfrage anspricht; wobei das Bereitstellen des wählbaren grafischen Elements auf der Punktzahl basiert, die einen Schwellenwert erfüllt.
  11. Verfahren nach irgendeinem der vorstehenden Ansprüche, des Weiteren umfassend: das Einreichen der Kandidatenanfrage zu einer Suchmaschine; das Empfangen eines oder mehrerer Suchergebnisse als Antwort auf das Einreichen der Kandidatenabfrage an die Suchmaschine; und das Ermitteln des Inhalts, der in den laufenden Nachrichtenaustausch-Thread auf der Basis von wenigstens einem der Suchresultate zu integrieren ist.
  12. Verfahren nach Anspruch 11, wobei das Übermitteln der Kandidatenabfrage an die Suchmaschine in Reaktion auf die Benutzerschnittstelleneingabe ist, die auf das auswählbare grafische Element gerichtet ist.
  13. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Integrieren des Inhalts in den laufenden Nachrichtenaustausch-Thread Folgendes umfasst: das Einbeziehen der Inhalte in den laufenden Nachrichtenaustausch-Thread mit einer grafischen Anzeige, dass der Inhalt von einem automatisierten Assistenten erzeugt ist.
  14. Verfahren nach irgendeinem der vorstehenden Ansprüche, des Weiteren umfassend: das Bereitstellen eines zusätzlichen wählbaren grafischen Elements, das einen oder mehrere Begriffe für den ersten Benutzer über den ersten Nachrichtenaustauschclient identifiziert, und das, wenn es ausgewählt ist bewirkt, dass der eine oder die mehreren Begriffe in den Nachrichtenaustausch-Thread mit einer Anzeige eingefügt werden, dass die eine oder die mehreren Begriffe von dem ersten Benutzer stammen und bewirken, dass der eine oder die mehreren Begriffe in den Nachrichtenaustausch-Thread integriert werden, ohne jeglichen Inhalt einzufügen, der auf den einen oder die mehreren Begriffe anspricht.
  15. Verfahren nach einem der vorhergehenden Ansprüche, wobei Bereitstellen des grafischen Elements ferner umfasst: das Bereitstellen des grafischen Elements für die Anzeige zu dem zweiten Benutzer über den zweiten Nachrichtenaustausch-Client.
  16. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Inhalt einen auswählbaren ersten Inhaltspunkt beinhaltet, der auf eine erste Entität fokussiert ist, und einen auswählbaren zweiten Inhaltspunkt, der auf eine zweite Entität fokussiert ist; wobei eine Benutzerschnittstelleneingabe, die auf den ersten Inhaltspunkt gerichtet ist bewirkt, dass zusätzlicher erster Entitätsinhalt, der auf die erste Entität fokussiert ist, in den Nachrichtenaustausch-Thread integriert wird; und wobei eine Benutzerschnittstelleneingabe, die auf den zweiten Inhaltspunkt gerichtet ist bewirkt, dass zusätzlicher zweiter Entitätsinhalt, der auf die zweite Entität fokussiert ist, in den Nachrichtenaustausch-Thread integriert wird.
  17. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Inhalt ein erstes Bild oder einen Text beinhaltet, welches auf eine erste Entität fokussiert ist und ferner mindestens einen auswählbaren Deep-Link aufweist, der bei Auswahl eine oder mehrere zusätzliche Berechnungsaktionen ausführt, die für die erste Entität spezifisch sind.
  18. Verfahren nach irgendeinem der vorstehenden Ansprüche, des Weiteren umfassend: das Ermitteln einer zusätzlichen verwandten Abfrage basierend auf mindestens einer der Kandidatenabfragen und dem Inhalt; nach der Benutzerschnittstelleneingabe des ersten Benutzers das Bereitstellen zur Anzeige zumindest eines ersten Benutzers über den ersten Nachrichtenaustausch-Client, eines zusätzlichen wählbaren grafischen Elements, das eine Anzeige der Kandidatenabfrage bereitstellt, wobei das zusätzliche wählbare grafische Element kann für die Anzeige ohne gleichzeitige Anzeige des grafischen Elements vorgesehen ist; in Reaktion auf eine zusätzliche Benutzerschnittstelleneingabe des ersten Benutzers, der auf das wählbare zusätzliche grafische Element gerichtet ist: das Einbeziehen zusätzlicher Inhalte, die auf die zusätzliche verwandte Abfrage in dem laufenden Nachrichtenaustausch-Thread reagieren, wobei das Einbinden des zusätzlichen Inhalts in den laufenden Nachrichtenaustausch-Thread bewirkt, dass der zusätzliche Inhalt über den ersten Nachrichtenaustausch-Client dem ersten Benutzer und dem zweiten Benutzer über den zweiten Nachrichtenaustausch-Client angezeigt wird.
  19. System mit einem Speicher und einem oder mehreren Prozessoren, wobei der Speicher Anweisungen speichert, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren zu Folgendem veranlassen: Ermitteln mindestens einer Kandidatenabfrage basierend auf einer oder mehrerer bereits kommunizierter Nachrichten eines laufenden Nachrichtenaustausch-Threads, wobei der laufende Nachrichtenaustausch-Thread zwischen mindestens einem ersten Benutzer und einem zweiten Benutzer über einen ersten Nachrichtenaustausch-Client des ersten Benutzers und einen zweiten Nachrichtenaustausch-Client des zweiten Benutzers ist; Bereitstellen, zum Anzeigen wenigstens eines ersten Benutzers über den ersten Nachrichtenaustausch-Client, eines wählbaren grafischen Elements, das eine Anzeige der Kandidatenabfrage bereitstellt; in Reaktion auf die Benutzerschnittstelleneingabe des ersten Benutzers, der auf das wählbare graphische Element gerichtet ist: Einbeziehen der Inhalte, die auf die Kandidatenabfrage zum laufenden Nachrichtenaustausch-Thread reagiert, wobei beim Einfügen des Inhalts in den laufenden Nachrichtenaustausch-Thread der eine oder die mehreren Prozessoren dazu führen soll, dass der Inhalt über den ersten Nachrichtenaustausch-Client dem ersten Benutzer angezeigt wird und über den zweiten Nachrichtenaustausch-Client dem zweiten Benutzer angezeigt wird.
  20. Mindestens ein nichtflüchtiges computerlesbares Medium mit Anweisungen, die in Reaktion auf die Ausführung der Anweisungen durch einen oder mehrere Prozessoren bewirken, dass der eine oder die mehreren Prozessoren die folgenden Operationen ausführen: das Ermitteln mindestens einer Kandidatenabfrage basierend auf einer oder mehrerer bereits kommunizierter Nachrichten eines laufenden Nachrichtenaustausch-Threads, wobei der laufende Nachrichtenaustausch-Thread zwischen mindestens einem ersten Benutzer und einem zweiten Benutzer über einen ersten Nachrichtenaustausch-Client des ersten Benutzers und einen zweiten Nachrichtenaustausch-Client des zweiten Benutzers ist; das Bereitstellen, zum Anzeigen wenigstens eines ersten Benutzers über den ersten Nachrichtenaustausch-Client, eines wählbaren grafischen Elements, das eine Anzeige der Kandidatenabfrage bereitstellt; in Reaktion auf die Benutzerschnittstelleneingabe des ersten Benutzers, der auf das wählbare graphische Element gerichtet ist: das Einbeziehen der Inhalte, die auf die Kandidatenabfrage zum laufenden Nachrichtenaustausch-Thread reagiert.
  21. Mindestens ein nichtflüchtiges computerlesbares Medium nach Anspruch 20, das Anweisungen umfasst, die in Reaktion auf die Ausführung der Anweisungen durch einen oder mehrere Prozessoren bewirken, dass der eine oder mehrere Prozessoren das Verfahren nach einem der Ansprüche 2 bis 18 ausführen.
  22. Vorrichtung, die dazu konfiguriert ist, das Verfahren nach einem der Ansprüche 1 bis 18 durchzuführen.
  23. Computerprogramm mit maschinenlesbaren Anweisungen, die bei Ausführung durch eine Computervorrichtung bewirken, dass das Verfahren nach einem der Ansprüche 1 bis 18 durchgeführt wird.
DE102016125783.4A 2016-05-17 2016-12-28 Bereitstellen von Vorschlägen für die Interaktion mit einem automatisierten Assistenten in einem Multi-User-Nachrichtenaustausch-Thread Pending DE102016125783A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/157,115 US11227017B2 (en) 2016-05-17 2016-05-17 Providing suggestions for interaction with an automated assistant in a multi-user message exchange thread
US15/157,115 2016-05-17

Publications (1)

Publication Number Publication Date
DE102016125783A1 true DE102016125783A1 (de) 2017-11-23

Family

ID=57838496

Family Applications (2)

Application Number Title Priority Date Filing Date
DE202016008241.9U Active DE202016008241U1 (de) 2016-05-17 2016-12-28 Bereitstellen von Vorschlägen für die Interaktion mit einem automatisierten Assistenten in einem Multi-User Nachrichtenaustausch-Thread
DE102016125783.4A Pending DE102016125783A1 (de) 2016-05-17 2016-12-28 Bereitstellen von Vorschlägen für die Interaktion mit einem automatisierten Assistenten in einem Multi-User-Nachrichtenaustausch-Thread

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE202016008241.9U Active DE202016008241U1 (de) 2016-05-17 2016-12-28 Bereitstellen von Vorschlägen für die Interaktion mit einem automatisierten Assistenten in einem Multi-User Nachrichtenaustausch-Thread

Country Status (8)

Country Link
US (2) US11227017B2 (de)
EP (1) EP3369011B1 (de)
JP (1) JP6956113B2 (de)
KR (1) KR102005531B1 (de)
CN (2) CN112905773A (de)
DE (2) DE202016008241U1 (de)
GB (1) GB2550639A (de)
WO (1) WO2017200583A1 (de)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8106856B2 (en) 2006-09-06 2012-01-31 Apple Inc. Portable electronic device for photo management
US8698762B2 (en) 2010-01-06 2014-04-15 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
US10313506B2 (en) 2014-05-30 2019-06-04 Apple Inc. Wellness aggregator
AU2016215440B2 (en) 2015-02-02 2019-03-14 Apple Inc. Device, method, and graphical user interface for establishing a relationship and connection between two devices
WO2016144385A1 (en) 2015-03-08 2016-09-15 Apple Inc. Sharing user-configurable graphical constructs
US10275116B2 (en) 2015-06-07 2019-04-30 Apple Inc. Browser with docked tabs
US10003938B2 (en) 2015-08-14 2018-06-19 Apple Inc. Easy location sharing
US10445425B2 (en) 2015-09-15 2019-10-15 Apple Inc. Emoji and canned responses
WO2017196419A1 (en) * 2016-05-13 2017-11-16 Equals 3 LLC Searching structured and unstructured data sets
US11227017B2 (en) 2016-05-17 2022-01-18 Google Llc Providing suggestions for interaction with an automated assistant in a multi-user message exchange thread
US10904168B2 (en) 2016-06-03 2021-01-26 Spotify Ab System and method for providing digital media content with a conversational messaging environment
DK201770423A1 (en) 2016-06-11 2018-01-15 Apple Inc Activity and workout updates
AU2017100670C4 (en) 2016-06-12 2019-11-21 Apple Inc. User interfaces for retrieving contextually relevant media content
DK201670609A1 (en) 2016-06-12 2018-01-02 Apple Inc User interfaces for retrieving contextually relevant media content
US10873786B2 (en) 2016-06-12 2020-12-22 Apple Inc. Recording and broadcasting application visual output
US11334565B1 (en) * 2016-10-28 2022-05-17 Intuit, Inc. System to convert natural-language financial questions into database queries
US11630688B2 (en) * 2017-02-02 2023-04-18 Samsung Electronics Co., Ltd. Method and apparatus for managing content across applications
EP3566155A4 (de) * 2017-03-06 2020-10-14 Google LLC Gemeinsame erfahrungen
JP6929670B2 (ja) * 2017-03-15 2021-09-01 Line株式会社 プログラム、情報処理方法、端末
CN109873745B (zh) * 2017-12-01 2021-08-24 腾讯科技(深圳)有限公司 通信控制方法、装置及存储介质
CN107992585B (zh) * 2017-12-08 2020-09-18 北京百度网讯科技有限公司 通用标签挖掘方法、装置、服务器及介质
CN110678861B (zh) * 2017-12-22 2023-12-08 谷歌有限责任公司 图像选择建议
US10970329B1 (en) * 2018-03-30 2021-04-06 Snap Inc. Associating a graphical element to media content item collections
EP3616034B1 (de) * 2018-05-04 2024-04-10 Google LLC Erzeugung und/oder anpassung von inhalten eines automatisierten assistenten je nach einem abstand zwischen benutzer(n) und einer schnittstelle eines automatisierten assistenten
KR102581348B1 (ko) * 2018-05-07 2023-09-22 구글 엘엘씨 자동 어시스턴트 루틴에 포함을 위한 자동 어시스턴트 액션 추천
DK180171B1 (en) 2018-05-07 2020-07-14 Apple Inc USER INTERFACES FOR SHARING CONTEXTUALLY RELEVANT MEDIA CONTENT
US10198877B1 (en) 2018-05-23 2019-02-05 Google Llc Providing a communications channel between instances of automated assistants
WO2020040753A1 (en) * 2018-08-21 2020-02-27 Google Llc Automated assistant invocation of second interactive module using supplemental data provided by first interactive module
US10606851B1 (en) * 2018-09-10 2020-03-31 Palantir Technologies Inc. Intelligent compute request scoring and routing
US10409641B1 (en) 2018-11-26 2019-09-10 Palantir Technologies Inc. Module assignment management
US11120007B2 (en) 2018-11-26 2021-09-14 Palantir Technologies Inc. Module expiration management
DK201970535A1 (en) 2019-05-06 2020-12-21 Apple Inc Media browsing user interface with intelligently selected representative media items
CN113795821A (zh) * 2019-05-06 2021-12-14 谷歌有限责任公司 用于响应于来自用户的请求而使用来自其它源的应用数据生成应用输入内容的自动化助理
EP3915105A1 (de) * 2019-05-06 2021-12-01 Google LLC Initialisierung von nicht-assistenten-hintergrundaktionen über einen automatischen assistenten während des zugriffs auf eine nicht-assistenten-anwendung
US11074408B2 (en) 2019-06-01 2021-07-27 Apple Inc. Mail application features
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
WO2021006906A1 (en) * 2019-07-11 2021-01-14 Google Llc System and method for providing an artificial intelligence control surface for a user of a computing device
US11301529B2 (en) * 2019-08-07 2022-04-12 Modeone Technologies Inc. System and method for analyzing, organizing, and presenting data stored on a mobile communication device
CN112445852A (zh) * 2019-09-03 2021-03-05 顺丰科技有限公司 跨系统多线程数据交互方法及系统
CN112260935B (zh) * 2020-10-19 2022-04-15 维沃移动通信有限公司 消息处理方法、装置、电子设备及可读存储介质
WO2022245669A1 (en) 2021-05-15 2022-11-24 Apple Inc. User interfaces for group workouts
JP7421762B1 (ja) 2022-09-27 2024-01-25 グリー株式会社 情報処理システム、制御方法、及びサーバ装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004227313A (ja) 2003-01-23 2004-08-12 Namco Ltd 端末用文字会話情報、情報記憶媒体及び文字会話用端末
US7412437B2 (en) * 2003-12-29 2008-08-12 International Business Machines Corporation System and method for searching and retrieving related messages
US7451188B2 (en) 2005-01-07 2008-11-11 At&T Corp System and method for text translations and annotation in an instant messaging session
US7590699B2 (en) * 2005-06-23 2009-09-15 Microsoft Corporation Instant messaging with built-in search
US20080201434A1 (en) 2007-02-16 2008-08-21 Microsoft Corporation Context-Sensitive Searches and Functionality for Instant Messaging Applications
US8312380B2 (en) 2008-04-04 2012-11-13 Yahoo! Inc. Local map chat
US20120284093A1 (en) 2011-05-06 2012-11-08 Michael Shepherd Evans System and Method For Including Advertisements In Electronic Communications
KR101267006B1 (ko) 2011-12-21 2013-05-30 (주)카카오 인스턴트 메시징 서비스의 채팅창에서 인스턴트 메시지와 온라인 문서를 링크하는 방법 및 인스턴트 메시지와 온라인 문서를 링크하는 이동 단말
US9685160B2 (en) 2012-04-16 2017-06-20 Htc Corporation Method for offering suggestion during conversation, electronic device using the same, and non-transitory storage medium
KR102014778B1 (ko) 2012-12-14 2019-08-27 엘지전자 주식회사 텍스트 메시징 서비스를 제공하는 디지털 디바이스 및 그 제어 방법
US9374327B2 (en) 2013-01-08 2016-06-21 Vmware, Inc. Intelligent chat system
US9529856B2 (en) 2013-06-03 2016-12-27 Google Inc. Query suggestion templates
JP5814980B2 (ja) * 2013-06-19 2015-11-17 ヤフー株式会社 レコメンド装置、レコメンド方法及びレコメンドプログラム
CN104794122B (zh) * 2014-01-20 2020-04-17 腾讯科技(北京)有限公司 一种位置信息推荐方法、装置和系统
US20150350118A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Canned answers in messages
WO2016018039A1 (en) * 2014-07-31 2016-02-04 Samsung Electronics Co., Ltd. Apparatus and method for providing information
US9965559B2 (en) 2014-08-21 2018-05-08 Google Llc Providing automatic actions for mobile onscreen content
JP2016051186A (ja) 2014-08-28 2016-04-11 シャープ株式会社 情報提示装置、その制御方法、プログラム、情報提示システム、ならびに、サーバ装置
US9799049B2 (en) * 2014-12-15 2017-10-24 Nuance Communications, Inc. Enhancing a message by providing supplemental content in the message
US10158593B2 (en) * 2016-04-08 2018-12-18 Microsoft Technology Licensing, Llc Proactive intelligent personal assistant
US11227017B2 (en) 2016-05-17 2022-01-18 Google Llc Providing suggestions for interaction with an automated assistant in a multi-user message exchange thread
US11153250B2 (en) * 2018-03-21 2021-10-19 International Business Machines Corporation Controlling communication of notifications to a user

Also Published As

Publication number Publication date
JP2019522266A (ja) 2019-08-08
DE202016008241U1 (de) 2017-05-24
GB201621668D0 (en) 2017-02-01
CN112905773A (zh) 2021-06-04
CN107391523B (zh) 2021-03-09
EP3369011A1 (de) 2018-09-05
JP6956113B2 (ja) 2021-10-27
US20220092120A1 (en) 2022-03-24
KR102005531B1 (ko) 2019-10-01
WO2017200583A1 (en) 2017-11-23
US11227017B2 (en) 2022-01-18
US11960543B2 (en) 2024-04-16
GB2550639A (en) 2017-11-29
CN107391523A (zh) 2017-11-24
KR20190003773A (ko) 2019-01-09
US20170337209A1 (en) 2017-11-23
EP3369011B1 (de) 2019-04-17

Similar Documents

Publication Publication Date Title
DE102016125783A1 (de) Bereitstellen von Vorschlägen für die Interaktion mit einem automatisierten Assistenten in einem Multi-User-Nachrichtenaustausch-Thread
DE102016125508B4 (de) Auffindbarkeitssystem für Sprachaktionen
DE102017119601A1 (de) Verwenden einer Anwendereingabe, um Suchergebnisse, die für die Darstellung für den Anwender bereitgestellt werden, anzupassen
DE102016125509A1 (de) Einbindung von auswählbaren Anwendungsverknüpfungen in Nachrichtenaustausch-Threads
DE202017105844U1 (de) Bereitstellen einer Eingabeaufforderung in einer automatisierten Dialogsitzung basierend auf ausgewähltem Inhalt von vorherigen automatisierten Dialogsitzungen
DE102016125594A1 (de) Automatisch augmentierende Nachrichtenaustauschthread basierend auf der Nachrichtenklassifizierung
DE102016125852A1 (de) Verfahren und Vorrichtung für das Ermitteln des nicht-textlichen Antwortinhalts zur Einbeziehung in eine Antwort auf eine elektronische Kommunikation
DE102017122308A1 (de) Kontextabhängige einfügeziel-vorhersage
DE102018007060A1 (de) Hervorheben von Schlüsselabschnitten eines Texts innerhalb eines Dokuments
DE102016125804A1 (de) Das Einbeziehen auswählbarer Anwendungslinks in Konversationen mit persönlichen Assistenz-Modulen
DE112016000741T5 (de) Bestimmen von Antwortinhalt für eine Antwort auf eine elektronische Kommunikation
DE202017104019U1 (de) System zum Steuern eines Computers zum Initiieren der Ausführung einer computerbasierten Aktion
DE202010018483U1 (de) System zum Zusammenführen von Bearbeitungen für eine Konversation in einem gehosteten Konversationssystem
DE102009040570A1 (de) Verfahren und System zum Erzeugen eines dynamischen Hilfe-Dokuments
DE10124429B4 (de) System und Verfahren für eine verbesserte Rechtschreibprüfung
DE102016125513A1 (de) Erweitern von Nachrichtenaustausch-Threads
DE102017122547A1 (de) Autonomes liefern von suchergebnissen rückwirkend; auch im kontext eines dialogassistenten
DE102017122363A1 (de) Einstufen von Suchergebnisdokumenten
DE112015005186T5 (de) Strukturierte Entitätsinformationsseite
DE212015000245U1 (de) Assistives Browsen unter Verwendung von Kontext
DE112016000962T5 (de) System und verfahren zur strukturierung von bewertungen mit automatisch erzeugten tags
DE202017105856U1 (de) Benachrichtigungssystem mit inhaltsspezifischen Schlüsselworten
DE112016001601T5 (de) Anzeige von inhaltselementen basierend auf dem benutzerinteresse zum erhalt von inhalt
DE102012214273A1 (de) Kontextbasiertes Messaging-System
DE102018008188A1 (de) Erstellen von Inhalt basierend auf einer Mehr-Satz-Komprimierung eines Quellinhalts

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R138 Derivation of utility model

Ref document number: 202016008241

Country of ref document: DE

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: VENNER SHIPLEY LLP, DE

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

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016000000

R082 Change of representative

Representative=s name: VENNER SHIPLEY GERMANY LLP, DE

Representative=s name: VENNER SHIPLEY LLP, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0016000000

Ipc: G06F0040350000