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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/046—Interoperability with other network applications or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/06—Message adaptation to terminal or network requirements
- H04L51/063—Content adaptation, e.g. replacement of unsuitable content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-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/10—Multimedia information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-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/18—Commands or executable codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/216—Handling conversation history, e.g. grouping of messages in sessions or threads
Abstract
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 und3D 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-Computervorrichtungen106 1-N und einen automatisierten Assistenten120 . Obwohl der automatisierte Assistent120 in1 getrennt von den Clientcomputergeräten106 1-N ist, können in einigen Implementierungen alle oder Aspekte des automatisierten Assistenten120 durch eine oder mehrere der Client-Computervorrichtungen106 1-N implementiert sein. So kann beispielsweise die Client-Computervorrichtung106 1 eine Instanz eines oder mehrerer Aspekte des automatisierten Assistenten120 implementieren und die Client-Computervorrichtung106 N kann auch eine separate Instanz derjenigen oder mehrerer Aspekte des automatisierten Assistenten120 implementieren. Bei Implementierungen, in denen ein oder mehrere (z. B. alle) Aspekte des automatisierten Assistenten120 durch eine oder mehrere von den Client-Computervorrichtungen106 1-N entfernte Computervorrichtungen implementiert werden, können die Client-Computervorrichtungen106 1-N und jene Aspekte des automatisierten Assistenten120 ü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 Assistent120 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-Computervorrichtungen106 1-N und/oder durch den automatisierten Assistenten120 ausgeführt werden, können über mehrere Computersysteme verteilt sein. Der automatische Assistent120 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-Computervorrichtungen106 1-N betreibt. - Jede der Client-Computervorrichtungen
106 1-N kann eine Vielzahl von verschiedenen Anwendungen betreiben, wie beispielsweise einen entsprechenden eines Nachrichtenaustausch-Clients107 1-N. Nachrichtenaustausch-Clients107 1-N können in verschiedenen Formen vorliegen, und die Formen können über die Client-Computervorrichtungen106 1-N variieren und/oder mehrere Formen können auf einer einzelnen der Client-Computervorrichtungen106 1-N betrieben werden. Bei einigen Implementierungen kann ein oder mehrere der Nachrichtenaustausch-Clients107 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-Clients107 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-Clients107 1-N dieser Benutzer auftreten. Bei einigen Implementierungen dient der automatisierte Assistent120 als eine zentrale Vermittlungsstelle, die den Nachrichtenaustausch-Thread zwischen den Benutzern erleichtert. In anderen Implementierungen kann der automatisierte Assistent120 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 Assistent120 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 Assistent120 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-Clients107 1-N eine Darstellung bereitzustellen. - Der vom automatisierten Assistenten ermittelte Vorschlag gibt eine Abfrage an, die dem automatisierten Assistenten
120 über einen der Nachrichtenaustausch-Client107 1-N übermittelt werden kann, den automatisierten Assistenten120 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 Assistent120 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 Assistenten120 übermittelt wird, kann der automatisierte Assistent120 eine Suche basierend auf der Abfrage einleiten und der automatisierte Assistent120 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 Assistenten120 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 Assistenten120 senden, ohne die Benutzerschnittstelleneingabe explizit an den Vorschlag zu richten. Bei einigen dieser Implementierungen kann der automatisierte Assistent120 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 Assistent120 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 Assistent120 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 Nachrichtenverarbeitungsmaschine122 , eine Entitätsbestimmungsmaschine124 , eine Vorschlagsmaschine126 , eine Inhaltsmaschine128 und eine Nachrichtenaustauschmaschine130 beinhalten. Bei einigen Ausführungsformen können eine oder mehrere der Motoren122 ,124 ,126 ,128 und/oder130 weggelassen werden. Bei einigen Implementierungen können alle oder Aspekte einer oder mehrerer Motoren122 ,124 ,126 ,128 und/oder130 kombiniert werden. Bei einigen Implementierungen können eine oder mehrere der Motoren122 ,124 ,126 ,128 und/oder130 in einer Komponente implementiert sein, die von dem automatisierten Assistenten120 getrennt ist. So können zum Beispiel eine oder mehrere der Motoren122 ,124 ,126 ,128 und/oder130 oder ein beliebiger betriebsbereiter Teil davon in einer Komponente implementiert sein, der von den Client-Computervorrichtungen106 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 Assistenten120 . So kann beispielsweise die Nachrichtenverarbeitungsmaschine122 eine freie Form der natürlichen Spracheingabe verarbeiten, die von einem Benutzer über eine oder mehrere Benutzerschnittstelleneingabevorrichtungen der Client-Vorrichtung106 1 formuliert und an einen Nachrichtenaustausch-Thread durch den Nachrichtenaustauschclient107 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 Nachrichtenverarbeitungsmaschine122 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 Nachrichtenverarbeitungsmaschine122 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 Nachrichtenverarbeitungsmaschine122 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 Nachrichtenverarbeitungsmaschine122 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ätsbestimmungsmaschine124 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 Maschine124 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 Nachrichtenverarbeitungsmaschine122 bereitgestellt werden (z. B. Entitäts-Tags, die von einem Entitäts-Tagger der Maschine122 bereitgestellt werden). Die Entitätsbestimmungsmaschine124 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ätsbestimmungsmaschine124 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 Maschine122 bereitgestellt werden). Die Entitätsbestimmungsmaschine124 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ätsbestimmungsmaschine124 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 Vorschlagsmaschine126 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-Clients107 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 Nachrichtenaustauschclients107 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 Nachrichtenaustauschmaschine130 bereitstellen, die dann den Vorschlag für einen oder mehrere der Nachrichtenaustausch-Clients107 1-N bereitstellen kann. So kann zum Beispiel die Nachrichtenaustauschmaschine130 anfordern, dass mindestens einer der Nachrichtenaustausch-Clients107 1-N die grafischen Elemente in einer graphischen Benutzeroberfläche bereitstellt, die von dem mindestens einen der Nachrichtenaustauschclients107 1-N wiedergegeben wird. - Bei einigen Implementierungen ermittelt die Vorschlagsmaschine
126 einen Vorschlag basierend auf einer annotierten Ausgabe, die durch die Nachrichtenverarbeitungsmaschine122 ermittelt wird, basierend auf einer oder mehreren Entitäten, die durch die Entitätsbestimmungsmaschine124 ermittelt werden, und/oder basierend auf einer oder mehreren Abfragen der Abfrage-Datenbank156 . Die Abfrage-Datenbank156 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 Vorschlagsmaschine126 die Kandidatensuchanfrage auf Basis einer oder mehrerer Entitäten ermitteln, die durch die Entitätsbestimmungsmaschine124 ermittelt werden. So kann beispielsweise die Vorschlagsmaschine126 eine oder mehrere Suchanfragen ermitteln, die stark einer oder mehreren der Entitäten in einer oder mehreren Datenbanken (z. B. der Abfrage-Datenbank156 ) zugeordnet sind. So kann beispielsweise die Vorschlagsmaschine126 auch eine oder mehrere Suchabfragen basierend auf einem Alias einer oder mehrerer der Entitäten ermitteln. Wie vorstehend beschrieben, kann zum Beispiel die Entitätsbestimmungsmaschine124 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 Vorschlagsmaschine126 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 Maschine124 der Entität ermittelt wird und basierend auf der annotierten Ausgabe, die von der Nachrichtenverarbeitungsmaschine122 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-Datenbank156 , 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ätsermittlungsmaschine124 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-Datenbank156 ein oder mehrere Begriffe und/oder Entitäten der Nachrichten zugeordnet sind (z. B. durch die Entitätsbestimmungsmaschine124 ermittelt). Die Vorschlagsmaschine126 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 Vorschlagsmaschine126 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 Vorschlagsmaschine126 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 Vorschlagsmaschine126 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 Vorschlagsmaschine126 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 Vorschlagsmaschine126 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 Vorschlagsmaschine126 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 Vorschlagsmaschine126 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 Maschine122 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 Assistenten120 gerichtet ist, wie beispielsweise eine Abfrage, die an den automatisierten Assistenten120 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 Datenbank154 und/oder der persönlichen Datenbank152 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 Datenbank154 . 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 Datenbank152 , eingereicht hat. So kann beispielsweise die persönliche Datenbank152 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 Datenbank152 (oder eine Teilmenge von Einträgen der Datenbank152 , die für den Benutzer persönlich sind) auf der Basis von beispielsweise Benutzerberechtigungsinformationen zugreifen, die von der Inhaltsmaschine128 zusammen mit einer Abfrageeinreichung bereitgestellt werden. Bei einigen anderen Implementierungen kann die Inhaltsmaschine128 selbst die Suche der öffentlichen Datenbank154 , der persönlichen Datenbank152 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 Inhaltsmaschine128 die Teilmenge auswählen (oder den ansprechenden Inhalt aussondern), um sie in den Nachrichtenaustausch-Thread einzubinden. Bei anderen Implementierungen kann die Inhaltsmaschine128 die umfassende ansprechende Information zu einem oder mehreren der Nachrichtenaustausch-Clients107 1-N bereitstellen, und sie können das Aussondern durchführen. So kann zum Beispiel bei einigen Implementierungen der Nachrichtenaustausch-Client107 1 die Information auf der Basis einer Bildschirmgröße der Client-Computervorrichtung106 1 löschen. Bei einer noch anderen Implementierung können sowohl die Inhaltsmaschine128 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-Clients107 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 Inhaltsmaschine128 ) in einen Nachrichtenaustausch-Thread erleichtern und/oder die Bereitstellung von Vorschlägen (ermittelt durch die Vorschlagsmaschine126 ) 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-Clients107 1-N integrieren. Bei einigen Implementierungen kann die Nachrichtenaustauschmaschine130 anfordern, dass mindestens einer der Nachrichtenaustausch-Clients107 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 Nachrichtenaustauschmaschine130 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 und2B , wo wird eine zusätzliche Beschreibung von verschiedenen Komponenten des automatisierten Assistenten120 bereitgestellt wird. - In den
2A und2B ist gezeigt, ein Nachrichtenaustausch-Thread zwischen dem Nachrichtenaustausch-Client107 1 und dem Nachrichtenaustausch-Client107 N weiterläuft. In2A erhält eine Nachrichtenaustauschmaschine130 eine oder mehrere Nachrichten des Thread201 und liefert diese an die Nachrichtenverarbeitungsmaschine122 . Bei einigen Implementierungen kann die Nachrichtenaustauschmaschine130 als eine zentrale Vermittlungsstelle dienen, die das Nachrichtenaustausch-Thread zwischen den Nachrichtenaustausch-Clients107 1 und107 N erleichtert. In anderen Implementierungen kann die Nachrichtenaustauschmaschine130 nicht als eine zentrale Vermittlungsstelle dienen, kann aber trotzdem die Nachricht(en) des Threads201 empfangen. - Die Nachrichtenverarbeitungsmaschine
122 verarbeitet die Nachricht(en) des Threads201 und erzeugt verschiedene Annotationen der Nachricht(en) des Threads201 . Die Nachrichtenverarbeitungsmaschine122 liefert eine annotierte Eingabe (z. B. Begriffe und/oder einen anderen Inhalt der Nachricht(en) des Threads201 und erzeugte Annotationen)202 an die Entitätbestimmungsmaschine124 und an die Vorschlagsmaschine126 . - Die Entitätsbestimmungsmaschine
124 ermittelt eine oder mehrere Entitäten203 , auf die in den Nachrichten des Threads201 Bezug genommen wird, basierend auf der annotierten Eingabe202 , einer Entitätsdatenbank und/oder anderen Ressourcen. Die Entitätsbestimmungsmaschine124 stellt die eine oder mehrere Entitäten203 der Vorschlagsmaschine126 zur Verfügung. - Die Vorschlagsmaschine
126 ermittelt einen oder mehrere Vorschläge204 und stellt die Vorschläge204 der Nachrichtenaustauschmaschine130 bereit. Die Nachrichtenaustauschmaschine130 liefert die Vorschläge204 zur Anzeige über einen oder beide der Nachrichtenaustausch-Clients107 1 und107 N. Bei einigen Implementierungen können eine oder mehrere der Vorschläge204 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äge204 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 Vorschlagsmaschine126 eine Kandidaten-Suchanfrage basierend auf der annotierten Eingabe202 , den Entitäten203 und/oder der Abfrage-Datenbank156 ermitteln und kann den Vorschlag basierend auf der Kandidaten-Suchanfrage erzeugen. Bei einigen Implementierungen ermittelt die Vorschlagsmaschine126 eine Bewertung für die Kandidaten-Abfragen, die den Vorschlägen204 zugeordnet sind und bestimmt, ob die Vorschläge204 basierend auf den Partituren bereitgestellt werden sollen. Bei einigen Implementierungen verwendet die Vorschlagsmaschine126 die Partituren, um zu ermitteln wie die Vorschläge204 bereitgestellt werden sollen. So kann beispielsweise die Vorschlagsmaschine die Partituren verwenden, um computerlesbare Befehle mit den Vorschlägen204 für die Bereitstellung zu erzeugen, die bestimmte Anzeigepositionen der Vorschläge204 , bestimmte Anzeigegrößen der Vorschläge204 und/oder andere spezielle Anzeigeeigenschaften der Vorschläge204 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 Nachrichtenaustauschmaschine130 die Anfrage205 als Antwort auf eine Benutzerschnittstelleneingabe empfangen, die auf einen der bereitgestellten Vorschläge204 von2A gerichtet ist, (d. h. dieser Vorschlag kann die Abfrage205 angeben). Wie mit Bezug auf2A beschrieben, kann der Vorschlag für eine Anzeige über einen oder beide der Nachrichtenaustausch-Clients107 1 und107 N bereitgestellt werden. Die Abfrage205 kann der Nachrichtenaustauschmaschine130 als Antwort-Benutzerschnittstelleneingabe bereitgestellt werden, die auf den Vorschlag durch einen der Nachrichtenaustauschclients107 1 und107 N gerichtet ist, an die der Vorschlag gesendet wurde. - Die Nachrichtenaustauschmaschine
130 stellt die Abfrage205 der Inhaltsmaschine128 bereit, die den Inhalt206 erhält, der auf die Anfrage205 anspricht. Der Inhalt206 kann direkt oder indirekt durch die Inhaltsmaschine128 aus der persönlichen Datenbank152 und/oder der öffentlichen Datenbank154 erhalten werden. Bei einigen Implementierungen ermittelt die Inhaltsmaschine128 einen Satz von Suchergebnissen oder anderen Inhalt als Reaktion auf die Einreichung der Abfrage205 und sondert diesen Inhalt aus, um den Inhalt206 zu erzeugen. Die Inhaltsmaschine128 stellt den Inhalt der Nachrichtenaustauschmaschine130 bereit. Die Nachrichtenaustauschmaschine130 entspricht dem Inhalt206 in den laufenden Nachrichtenaustausch-Thread zwischen den Nachrichtenaustausch-Clients107 1 und107 N. So kann zum Beispiel der Inhalt206 in den Nachrichtenaustausch-Thread zum Anzeigen als Teil des Nachrichtenaustausch-Threads in den beiden Nachrichtenaustausch-Clients107 1 und107 N integriert werden. - Wenden wir uns nun zu den
3A –3D , wo eine zusätzliche Beschreibung von verschiedenen Komponenten und Techniken bereitgestellt sind, wie hierin beschrieben.3A –3D veranschaulichen jeweils die Client-Computervorrichtung106 1 von1 mit einem Anzeigeschirm140 , der ein Beispiel darstellt, wie die Client-Computervorrichtung106 1 eine grafische Benutzerschnittstelle des Nachrichtenaustausch-Clients106 1 während eines Nachrichtenaustausch-Threads darstellen kann. In den3A –3D befindet sich ein Benutzer der Client-Computervorrichtung106 1 in einem laufenden Nachrichtenaustausch-Thread mit zwei anderen Benutzern „Tom” und „Alex”. - Der Anzeigebildschirm
140 der3A –3D beinhaltet ferner ein Textantwort-Schnittstellenelement388 , das der Benutzer auswählen kann, um eine Benutzereingabe über eine virtuelle Tastatur und ein Sprachantwort-Schnittstellenelement389 zu erzeugen, das der Benutzer auswählen kann, um Benutzereingaben über ein Mikrofon zu erzeugen. Der Anzeigebildschirm140 beinhaltet auch Systemschnittstellenelemente381 ,382 ,383 , die durch den Benutzer interagiert werden können, um zu bewirken, dass die Computervorrichtung106 1 eine oder mehrere Aktionen ausführt. - In
3A formuliert der Benutzer zuvor eine natürliche Sprachmitteilung380A und die Nachricht380A wird für den Einbau in den Nachrichtenaustausch-Thread übermittelt. Ferner formuliert Tom zuvor eine natürliche Sprachmitteilung382A und die Nachricht382A wird nach dem Einbau der Nachricht380A in den Nachrichtenaustausch-Thread übermittelt. Alex formuliert auch zuvor eine natürliche Sprachmitteilung384A und die Nachricht384A wird nach dem Einbau der Nachricht382A zur Einarbeitung in den Nachrichtenaustausch-Thread übermittelt. - Ein wählbares grafisches Element
361 , das eine Kandidatenabfrage von „Acme Cast” anzeigt, die an den automatisierten Assistenten120 übermittelt werden kann, ist ebenfalls in3A veranschaulicht. Das grafische Element361 beinhaltet den Text der Kandidatenabfrage und beinhaltet auch eine „Stern” um dem Benutzer anzuzeigen, dass eine Auswahl des grafischen Elements361 dazu führt, dass in den Nachrichtenaustausch-Thread Inhalte aufgenommen werden, die auf die Kandidatenabfrage „Acme Cast” ansprechen. Ein wählbares graphisches Element371 , das den Text „Nein” anzeigt, ist ebenfalls dargestellt. Die Auswahl des grafischen Elements371 bewirkt, dass „Nein” automatisch in dem Textantwort-Schnittstellenelement388 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 Elements371 dem Benutzer ermöglichen, eine Antwort von „Nein” zu erzeugen, gerade als ob der Benutzer nach Auswahl des Sprachantwort-Schnittstellenelements385 „Nein” in das Textantwort-Schnittstellenelement388 eingegeben und/oder „Nein” gesprochen hat. - Bei einigen Implementierungen kann der automatisierte Assistent
120 die Kandidatensuchanfrage „Acme Cast”, die durch das grafische Element361 angezeigt wird, basierend auf einem oder mehreren der bereits kommunizierten Nachrichten380A ,382A und384A des Nachrichtenaustausch-Threads ermitteln. So kann zum Beispiel die Kandidatensuchanfrage basierend auf der Anwesenheit des Begriffs „Acme” (ein fiktiver Name eines Films) in der Nachricht382A von Tom und basierend auf der Anwesenheit des Begriffs „Cast” in der Nachricht384A 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 Element361 zur Auswahl durch Tom anzeigen kann. Außerdem kann der Nachrichtenaustausch-Client von Alex auch das grafische Element371 zur Auswahl durch Alex anzeigen (das grafische Element371 kann nicht an Alex angezeigt werden, da „Nein” keine kontextabhängige Antwort für Alex zu seiner eigenen Nachricht384A wäre). -
3B zeigt die graphische Benutzerschnittstelle, nachdem der Benutzer eine Benutzerschnittstelleneingabe vorgesehen hat, die auf das graphische Element361 in3A gerichtet ist. So kann beispielsweise der Benutzer das grafische Element361 „angezapft” haben. In3B gezeigt, ist die Benutzerauswahl des graphischen Elements361 in dem Nachrichtenaustausch-Thread als Nachricht380B vom Benutzer, der den Text der Kandidatenabfrage „Acme Cast” zusammen mit dem Stern beinhaltet, um anzuzeigen, dass die Nachricht380B 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 Computervorrichtung106 1 die Nachricht380B durch Einreichen von „Acme Cast” zusammen mit einer Anzeige enthalten, die bewirkt, dass der automatisierte Assistent120 „Acme Cast” als Abfrage, die an den automatisierten Assistenten120 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 Nachricht380B (zusammen mit einer Anzeige des Benutzernamens anstelle von „Sie”) anzeigen kann. - Inhalt
390A ist auch in den Nachrichtenaustausch-Thread in3B als Nachricht vom „Automatisierten Assistenten” eingebaut. Der Inhalt390A beinhaltet den Text „Hier ist, was ich gefunden habe:” um anzuzeigen, dass der Inhalt auf die Nachricht380B 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 Inhalt390A 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 und363 sind ebenfalls in3B dargestellt und zeigen Kandidatenanfragen von „Acme Trailer” und „Acme Vorstellungsbeginn” an, die an den automatisierten Assistenten120 übermittelt werden können. Die grafischen Elemente362 und363 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 Element361 (3A ), kann der Nachrichtenaustausch-Client von Tom und/oder Alex auch die grafischen Elemente362 und363 anzeigen. Bei einigen Implementierungen kann der automatisierte Assistent120 die Kandidatenabfragen der graphischen Elemente362 und363 basierend auf jenen Kandidatenabfragen ermitteln, mit der Kandidatenanfrage „Acme Film” zusammenhängen und/oder mit dem Inhalt390A . So kann zum Beispiel der automatisierte Assistent120 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 Elements363 gerichtet ist, die in seiner grafischen Benutzerschnittstelle angezeigt wird. Wie in3C gezeigt, ist Alex's Auswahl des graphischen Elements363 in dem Nachrichtenaustausch-Thread als eine Nachricht384B von Alex enthalten, die den Text der Kandidatenabfrage „Acme Vorstellungsbeginn” zusammen mit dem Stern beinhaltet, um anzuzeigen, dass die Nachricht384B 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 in3C als Nachricht vom „Automatisierten Assistenten” eingebaut. Der Inhalt390B beinhaltet den Text „Hier ist, was ich gefunden habe:” um anzuzeigen, dass der Inhalt auf die Nachricht384B anspricht und eine natürliche Sprachausgabe beinhaltet, die den Vorstellungsbeginn für „Acme Film” an zwei Kinos anzeigt. Es wird darauf hingewiesen, dass in3C die beiden Kinos lokal proximal zu Tom, Alex und dem Benutzer – und die natürliche Sprachausgabe des Inhalts390B beinhaltet eine Angabe der Entfernung von Tom, Alex und dem Benutzer zu jedem der Kinos. So kann beispielsweise der automatisierte Assistent120 basierend auf das Ausgeben einer Suche mit Ortsinformationen und/oder anderen Benutzerattributen für jeden der Benutzer des Nachrichtenaustausch-Threads Inhalte ermitteln, um den Inhalt390B 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 und365 sind ebenfalls in3B dargestellt und zeigen Kandidatenanfragen von „Acme Trailer” und „Acme Pictures” an, die an den automatisierten Assistenten120 übermittelt werden können. Die grafischen Elemente362 und365 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 Assistent120 die Kandidatenabfragen der graphischen Elemente362 und365 basierend auf jenen Kandidatenabfragen ermitteln, mit der Kandidatenanfrage „Acme Vorstellungsbeginn” zusammenhängen und/oder mit dem Inhalt390B . - In
3C ist die natürliche Spracheingabe von „Lasst uns ins Kino 1 @ 19:00 gehen” im Textantwort-Schnittstellenelement388 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 Inhalt390B 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. In3D ist die Benutzereinreichung der natürlichen Spracheingabe in dem Nachrichtenaustausch-Thread, der den Stern nicht beinhaltet, als eine Nachricht380C 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 Nachricht380C (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 Assistenten120 übermittelt werden kann, ist ebenfalls in3D dargestellt. Das grafische Element366 beinhaltet den Text der Kandidatenabfrage und beinhaltet auch eine „Stern” um dem Benutzer anzuzeigen, dass eine Auswahl des grafischen Elements366 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 Element366 angezeigt wird, basierend auf einem oder mehreren der bereits kommunizierten Nachrichten, wie beispielsweise der Nachricht380C und/oder basierend auf dem Inhalt390B , ermitteln. - Obwohl in den
3A –3D nicht veranschaulicht, können bei einigen Implementierungen der Benutzer und/oder andere Benutzer des Nachrichtenaustausches-Threads explizit Abfragen an den automatisierten Assistenten120 senden, ohne einen vorgesehenen Vorschlag auszuwählen. So kann beispielsweise der Benutzer eine natürliche Spracheingabe in dem Textantwort-Schnittstellenelement388 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 Assistenten120 ü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-Schnittstellenelements389 vornehmen und kann einen bestimmten Begriff in Kombination mit der Eingabe sprechen, um zu bewirken, dass diese Eingabe an den automatisierten Assistenten120 ü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 Assistenten120 übergibt. -
4 stellt ein Flussdiagramm dar, das ein exemplarisches Verfahren400 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 Assistenten120 . Darüber hinaus, während Operationen des Verfahrens400 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 Block456 ermittelt, dass keine der Kandidatenabfragen eine Punktzahl aufweist die den Schwellenwert erfüllt, geht das System zum Block458 weiter und erwartet eine weitere Nachricht im Nachrichtenaustausch-Thread. Als Reaktion auf eine andere Nachricht im Nachrichtenaustausch-Thread kann das System wieder mit dem Block450 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 Block460 ü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 Block458 fort. Bei Block458 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 Block450 fortfahren. -
5 ist ein Blockdiagramm einer exemplarischen Computervorrichtung510 , 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-Computervorrichtungen160 1-N, der automatisierte Assistent120 und/oder andere Komponenten eine oder mehrere Komponenten der exemplarischen Computervorrichtung510 umfassen. - Die Computervorrichtung
510 beinhaltet typischerweise mindestens einen Prozessor514 , der mit einer Anzahl von Peripheriegeräten über das Busuntersystem512 kommuniziert. Diese Peripheriegeräte können ein Speichersubsystem524 beinhalten, das beispielsweise ein Speicheruntersystem525 und ein Dateispeicheruntersystem526 , Benutzerschnittstellenausgabegeräte520 , Benutzerschnittstelleneingabevorrichtungen522 und ein Netzwerkschnittstellensubsystem516 beinhaltet. Die Eingabe- und Ausgabegeräte ermöglichen eine Benutzerinteraktion mit der Computervorrichtung510 . Das Netzwerkschnittstellen-Subsystem516 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 Computervorrichtung510 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 Computervorrichtung510 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 Speichersubsystem524 die Logik beinhalten, um ausgewählte Aspekte des Verfahrens von4 auszuführen. - Diese Softwaremodule werden im Allgemeinen vom Prozessor
514 alleine oder in Kombination mit anderen Prozessoren ausgeführt. Der in dem Speichersubsystem524 verwendete Speicher525 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 Dateispeichersubsystem526 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 Dateispeichersubsystem526 in dem Speichersubsystem524 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 Computervorrichtung510 bereit, um miteinander zu kommunizieren, wie beabsichtigt. Obwohl Bus-Subsystem512 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 Computervorrichtung510 , dargestellt in5 , nur als ein spezifisches Beispiel zur Veranschaulichung einiger Implementierungen gedacht. Es sind viele andere Konfigurationen der Computervorrichtung510 möglich, die mehr oder weniger Komponenten als die in5 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)
- 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.
- 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.
- Verfahren nach Anspruch 2, wobei der Inhalt einen oder mehrere Texte und ein Bild beinhaltet.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Vorrichtung, die dazu konfiguriert ist, das Verfahren nach einem der Ansprüche 1 bis 18 durchzuführen.
- 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.
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)
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)
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 |
-
2016
- 2016-05-17 US US15/157,115 patent/US11227017B2/en active Active
- 2016-12-20 GB GB1621668.1A patent/GB2550639A/en not_active Withdrawn
- 2016-12-22 KR KR1020187035967A patent/KR102005531B1/ko active IP Right Grant
- 2016-12-22 WO PCT/US2016/068354 patent/WO2017200583A1/en active Application Filing
- 2016-12-22 EP EP16828844.7A patent/EP3369011B1/de active Active
- 2016-12-22 JP JP2018560476A patent/JP6956113B2/ja active Active
- 2016-12-28 DE DE202016008241.9U patent/DE202016008241U1/de active Active
- 2016-12-28 CN CN202110187832.9A patent/CN112905773A/zh active Pending
- 2016-12-28 DE DE102016125783.4A patent/DE102016125783A1/de active Pending
- 2016-12-28 CN CN201611236617.9A patent/CN107391523B/zh active Active
-
2021
- 2021-12-03 US US17/542,042 patent/US11960543B2/en active Active
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 |