DE102017121712A1 - Intelligente Antworten mittels eines geräteinternen Modells - Google Patents

Intelligente Antworten mittels eines geräteinternen Modells Download PDF

Info

Publication number
DE102017121712A1
DE102017121712A1 DE102017121712.6A DE102017121712A DE102017121712A1 DE 102017121712 A1 DE102017121712 A1 DE 102017121712A1 DE 102017121712 A DE102017121712 A DE 102017121712A DE 102017121712 A1 DE102017121712 A1 DE 102017121712A1
Authority
DE
Germany
Prior art keywords
response
communication
responses
computing device
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102017121712.6A
Other languages
English (en)
Inventor
Sujith Ravi
Thomas Matthew Rudick
Nathan Dickerson BEACH
John Patrick McGregor Jun.
Mirko Ranieri
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE102017121712A1 publication Critical patent/DE102017121712A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
    • G06F7/08Sorting, i.e. grouping record carriers in numerical or other ordered sequence according to the classification of at least some of the information they carry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Computational Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)

Abstract

Ein Computergerät kann eine von einem externen Computergerät gesendete Kommunikation empfangen. Mindestens ein Prozessor des Computergeräts kann mittels eines geräteinternen, maschinell trainierten Modells, das zumindest teilweise auf der Kommunikation basiert, eine oder mehrere Kandidatenantworten auf die Kommunikation bestimmen. Der mindestens eine Prozessor kann einen Hinweis auf eine Benutzereingabe, die eine Kandidatenantwort aus der einen oder den mehreren Kandidatenantworten auswählt, empfangen. In Reaktion auf das Empfangen des Hinweises auf die die Kandidatenantwort auswählende Benutzereingabe kann der mindestens eine Prozessor die Kandidatenantwort an das externe Computergerät senden.

Description

  • HINTERGRUND
  • Ein Computergerät kann es einem Benutzer des Geräts ermöglichen, auf empfangene Kommunikationen (z. B. eine empfangene Nachricht) zu antworten, die von Benutzern anderer Computergeräte gesendet werden. Das Computergerät kann eine oder mehrere vom Computergerät gespeicherte Bestandsantworten bereitstellen, die ein Benutzer beim Erstellen einer Antwort auf die empfangene Kommunikation auswählen kann. In Reaktion auf das Empfangen eines Hinweises einer Benutzereingabe zur Auswahl einer Bestandsantwort kann das Computergerät die ausgewählte Bestandsantwort von diesem Computergerät an ein anderes Computergerät eines anderen Benutzers, der die Kommunikation gesendet hat, senden.
  • KURZDARSTELLUNG
  • Aspekte der vorliegenden Offenbarung zielen darauf ab, Kandidatenantworten bereitzustellen, um auf eine empfangene Kommunikation, basierend auf einem maschinell trainierten, geräteinternen Modell, zu antworten. Das heißt, gemäß den Techniken der vorliegenden Offenbarung kann ein Computergerät eine Kommunikation von einem entfernten Computergerät empfangen. Das Computergerät kann eine oder mehrere der für eine empfangene Kommunikation relevante(n) Kandidatenantwort(en) bestimmen, basierend auf der Eingabe der empfangenen Kommunikation in ein maschinell trainiertes Modell und zur Ausgabe der einen oder mehreren Kandidatenantworten. In Reaktion auf das Empfangen eines Hinweises auf eine die eine oder mehreren möglichen Antworten auswählende Benutzereingabe kann das Computergerät die ausgewählte Kandidatenantwort als Antwort auf die empfangene Kommunikation an das entfernte Computergerät senden.
  • In einem Aspekt bezieht sich die Offenbarung auf ein Verfahren. Das Verfahren umfasst das Empfangen einer Kommunikation von einem externen Computergerät durch mindestens einen Prozessor eines Computergeräts. Das Verfahren umfasst ferner das Bestimmen, durch den mindestens einen Prozessor mittels eines geräteinternen, maschinell trainierten Modells und zumindest teilweise auf der Kommunikation basierend, einer oder mehrerer Kandidatenantworten auf die Kommunikation. Das Verfahren umfasst ferner das Empfangen eines Hinweises auf eine Benutzereingabe, die eine Kandidatenantwort aus der einen oder den mehreren Kandidatenantworten auswählt, durch den mindestens einen Prozessor. Das Verfahren umfasst ferner, in Reaktion auf das Empfangen des Hinweises auf die die Kandidatenantwort auswählende Benutzereingabe, das Senden der Kandidatenantwort an das externe Computergerät durch den mindestens einen Prozessor.
  • In einem anderen Aspekt bezieht sich die Offenbarung auf ein Computergerät. Das Computergerät umfasst einen Speicher, der zum Speichern eines geräteinternen, maschinell trainierten Modells konfiguriert ist. Das Computergerät umfasst ferner mindestens einen Prozessor, der betriebstechnisch mit dem Speicher gekoppelt und konfiguriert ist zum: Empfangen einer von einem externen Computergerät gesendeten Kommunikation; Bestimmen, mittels des geräteinternen, maschinell trainierten Modells, das zumindest teilweise auf der Kommunikation basiert, einer oder mehrerer Kandidatenantworten auf die Kommunikation; Empfangen eines Hinweises auf eine Benutzereingabe, die eine Kandidatenantwort aus der einen oder den mehreren Kandidatenantworten auswählt; und in Reaktion auf das Empfangen des Hinweises auf die die Kandidatenantwort auswählende Benutzereingabe das Senden der Kandidatenantwort an das externe Computergerät.
  • Ein anderer Aspekt der Offenbarung ist auf ein computerlesbares Speichermedium ausgerichtet, das mit Anweisungen kodiert ist, die bei der Ausführung durch den mindestens einen Prozessor eines Computergeräts Folgendes veranlassen: Empfangen einer von einem externen Computergerät gesendeten Kommunikation; Bestimmen, mittels eines geräteinternen, maschinell trainierten Modells, wobei das Modell zumindest teilweise auf der Kommunikation basiert, einer oder mehrerer Kandidatenantworten auf die Kommunikation; Empfangen eines Hinweises auf eine Benutzereingabe, die eine Kandidatenantwort aus der einen oder den mehreren Kandidatenantworten auswählt; und in Reaktion auf das Empfangen des Hinweises auf die die Kandidatenantwort auswählende Benutzereingabe, das Senden der Kandidatenantwort an das externe Computergerät.
  • Details von einem oder mehreren Beispielen der Offenbarung sind in den zugehörigen Zeichnungen und der Beschreibung nachfolgend ausgeführt. Andere Merkmale, Objekte und Vorteile sind aus der Beschreibung und den Zeichnungen sowie aus den Patentansprüchen ersichtlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Blockdiagramm, das ein exemplarisches Computergerät und grafische Benutzeroberflächen (GUI) veranschaulicht, die gemäß einer oder mehreren Techniken der vorliegenden Offenbarung zur Bereitstellung von Kandidatenantworten auf eine empfangene Kommunikation konfiguriert sein können.
  • 2 zeigt ein Blockdiagramm, das ein exemplarisches Computergerät veranschaulicht, das gemäß einer oder mehreren Techniken der vorliegenden Offenbarung zur Bereitstellung von Kandidatenantworten auf eine empfangene Kommunikation konfiguriert ist.
  • 3 zeigt ein Blockdiagramm, das ein exemplarisches Computergerät veranschaulicht, das gemäß einer oder mehreren Techniken der vorliegenden Offenbarung zur Ausgabe eines grafischen Inhalts zur Anzeige auf einem entfernten Gerät konfiguriert ist.
  • 4 zeigt ein Blockdiagramm, das exemplarische Techniken zum maschinellen Trainieren eines Modells veranschaulicht, das ein exemplarisches Computergerät verwenden kann, um Kandidatenantworten für eine empfangene Kommunikation gemäß einer oder mehreren Techniken der vorliegenden Offenbarung zu erstellen.
  • 5 zeigt ein Blockdiagramm, das exemplarische Techniken zum Erstellen von Kandidatenantworten für eine empfangene Kommunikation mittels eines maschinell trainierten Modells gemäß einer oder mehreren Techniken der vorliegenden Offenbarung veranschaulicht.
  • 6 zeigt ein Ablaufdiagramm, das exemplarische Operationen eines Computergeräts zur Verwendung eines geräteinternen, maschinell trainierten Modells zur Erstellung von Kandidatenantworten in Reaktion auf eine empfangene Kommunikation gemäß einer oder mehreren Techniken der vorliegenden Offenbarung veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Im Allgemeinen sind Aspekte der vorliegenden Offenbarung darauf ausgerichtet, Kandidatenantworten als Antwort auf eine empfangene Kommunikation auf Grundlage eines geräteinternen, maschinell trainierten Modells bereitzustellen und um ein derartiges maschinell trainiertes Modell zu erzeugen, sodass es für die Anwendung auf einem mobilen Computergerät, wie z. B. einem Smartphone oder einem tragbaren Gerät (wie z. B. einer Smartwatch) optimiert ist. Eine Nachrichtenübermittlungsanwendung auf einem Computergerät kann Kommunikationen empfangen und ein maschinell trainiertes Modell auf dem Computergerät verwenden, um Kandidatenantworten vorherzusagen, die für die empfangenen Kommunikationen relevant sind. Die Nachrichtenübermittlungsanwendung kann die vom Modell vorhergesagten Kandidatenantworten präsentieren und einem Benutzer ermöglichen, die Auswahl einer der Kandidatenantworten auszuwählen, um diese an die Absender der empfangenen Kommunikationen zu senden.
  • Das Bereitstellen von Kandidatenantworten auf eine empfangene Kommunikation kann in Situationen nützlich sein, in denen das Bereitstellen von Texteingaben als Antwort auf die empfangene Kommunikation mühsam oder sozial inakzeptabel sein kann, indem einem Benutzer ermöglicht wird, auf eine empfangene Kommunikation schnell und unauffällig zu antworten. Stellt beispielsweise eine Smartwatch nur eine Spracheingabe als Texteingabeoption bereit, ist ein solches Texteingabeverfahren in einer lauten Umgebung unzuverlässig oder unbrauchbar. In einem anderen Beispiel kann es Situationen geben, in denen eine Spracheingabe für den Benutzer sozial unannehmbar oder das Schreiben einer Antwort auf eine empfangene Kommunikation unannehmbar sein kann (wenn sich der Benutzer beispielsweise in einer Besprechung befindet). Dementsprechend kann ein Computergerät als Antwort auf eine empfangene Kommunikation Kandidatenantworten bereitstellen, um dem Benutzer des Computergeräts eine schnelle, zuverlässige und bequeme Möglichkeit zur Beantwortung der empfangenen Kommunikation zu ermöglichen.
  • Das Computergerät kann ein maschinell trainiertes Modell zum Erzeugen von Kandidatenantworten, die für die empfangene Kommunikation hoch relevant sind, verwenden, um die Wahrscheinlichkeit zu erhöhen, dass der Benutzer eine der Kandidatenantworten als Antwort auf die empfangene Kommunikation auswählt. Die Verwendung eines maschinell trainierten Modells kann möglicherweise die Zeitdauer verringern, die ein Benutzer benötigt, um mit dem Computergerät für das Senden einer Nachricht als Antwort auf die empfangene Kommunikation zu interagieren, da der Benutzer keine Antwortnachricht eingeben, sprechen oder auf andere Weise manuell eingeben muss. Durch das Verkürzen der vom Benutzer zur Interaktion mit dem Computergerät benötigten Zeit kann das Computergerät Leistung einsparen und hierdurch seine Akkustandzeit verlängern. Diese Leistungseinsparungen können besonders relevant sein, wenn das Computergerät ein tragbares Computergerät, wie z. B. eine Smartwatch, ist, die ansonsten eine extrem begrenzte Akkustandzeit haben kann.
  • Im Allgemeinen kann ein maschinell trainiertes Modell mittels maschineller Lerntechniken anhand eines großen Datensatzes trainiert werden, um eine Ausgabe für eine gegebene Eingabe abzuleiten. Genauer gesagt, kann gemäß Aspekten der vorliegenden Offenbarung ein maschinell trainiertes Modell eine Anwendung oder ein Modul sein, die/das auf dem Computergerät ausgeführt wird, die/das durch Training anhand eines großen Datensatzes basierend auf Maschinenlerntechniken erzeugt wird, um relevante Kandidatenantworten von einer erhaltenen Kommunikation abzuleiten. Beispielsweise kann der Datensatz, mit dem das Modell maschinell trainiert wird, Kommunikationspaare und Antworten auf die Kommunikationen beinhalten, sodass ein Computersystem ein Maschinentraining mit den Kommunikationspaaren und Antworten durchführen sowie mögliche Antworten von empfangenen Kommunikationen ableiten kann. Ein Modelltraining durch maschinelles Lernen kann potentiell Kandidatenantworten auf eine empfangene Kommunikation vorschlagen, die im Kontext mit anderen Verfahren zum Bestimmen von Kandidatenantworten kontextuell relevant sind. Durch das Vorschlagen kontextuell relevanter Kandidatenantworten kann der Benutzer höchst wahrscheinlich eher eine der vorgeschlagenen Kandidatenantworten als Antwort auf eine eingehende Nachricht auswählen.
  • Das von dem Computergerät verwendete Modell kann vollständig auf dem Computergerät arbeiten, um die für empfangene Kommunikationen relevanten Kandidatenantworten zu erzeugen. D. h., wenn eine oder mehrere Kandidatenantworten auf eine empfangene Kommunikation bestimmt werden, sendet das Computergerät keine Hinweise auf die empfangene Kommunikation zu einem externen Gerät (z. B. in der Cloud) zur Verarbeitung durch ein lückenlose (z. B. ein maschinell trainiertes Modell, das in der Cloud arbeitet). In ähnlicher Weise empfängt das Computergerät möglicherweise keine Hinweise auf die eine oder mehreren Kandidatenantworten, die für die von einem anderen Computergerät empfangene Kommunikation relevant sind. Stattdessen führt das Computergerät das geräteinterne, maschinell trainierte Modell vollständig auf dem Computergerät aus, um die für eine empfangene Kommunikation relevante(n) eine oder mehreren Kandidatenantwort(en) zu bestimmen. Auf diese Weise können Techniken dieser Offenbarung implementierende Computergeräte maschinell trainierte Modelle auf dem Gerät verwenden, um Kandidatenantworten bereitzustellen, die für eine empfangene Kommunikation relevant sind, ohne über ein Netzwerk (z. B. das Internet) auf externe maschinell trainierte Modelle (z. B. als Teil eines Cloud-basierten Services) zugreifen zu müssen.
  • Ein möglicher Vorteil eines geräteinternen Modells ist, das Kandidatenantworten ohne das geräteexterne Senden von Hinweisen auf die empfangene Kommunikation erstellt werden können, da das geräteinterne Modell auch dann verwendet werden kann, wenn das Host-Computergerät nur intermittierende Netzwerkverbindungen aufweist, beispielsweise wenn das Computergerät ein unzureichendes Mobilfunksignal oder ein unzureichendes drahtloses Signal kürzerer Reichweite (z. B. Wi-Fi) empfängt oder gar keine Netzwerkverbindung besteht, beispielsweise wenn das Computergerät auf den Flugzeugmodus eingestellt ist. Das geräteinterne Modell kann ebenfalls ermöglichen, dass das Host-Computergerät weniger Netzwerkdaten und Bandbreite verbraucht, da das Computergerät die empfangenen Kommunikationen nicht an ein lückenlose sendet.
  • Ein weiterer potenzieller Vorteil eines geräteinternen Modells besteht darin, dass das geräteinterne Modell die lückenlose Verschlüsselung für Nachrichtenübermittlungsanwendungen unterstützt. In lückenlos verschlüsselten Nachrichtenübermittlungsanwendungen werden Nachrichten zwischen einem Absender und einem Empfänger nur auf den Computergeräten des Absenders oder des Empfängers entschlüsselt, liegen jedoch ansonsten in verschlüsselter Form vor. Dementsprechend können bei einer lückenlosen Verschlüsselung keine entschlüsselten Nachrichten, beispielsweise an ein geräteexternes Modell, gesendet werden, um diese durch ein geräteexternes Modell (z. B. ein Modell in der Cloud) zum Erzeugen von Kandidatenantworten auf die Nachricht zu verarbeiten. Dies kann dazu beitragen, die Sicherheit der Kommunikation zwischen Absender und Empfänger zu verbessern, um die Kommunikationen vor einer Überwachung oder Manipulation durch Dritte zu schützen.
  • Ein Computergerät, insbesondere ein mobiles Computergerät, wie z. B. ein Smartphone oder eine Smartwatch, kann jedoch im Vergleich zu einem Desktop-Computergerät, einem Server-Computergerät oder einem Cloud-Rechensystem relativ beschränkte Computerressourcen aufweisen, da der Betrieb eines mobilen Computergeräts beispielsweise auf Kompromissen zwischen Leistung und Akkustandzeit, thermischer Leistung und Größenbeschränkungen basiert. Demgemäß kann ein maschinell trainiertes, für Desktop- oder Server-Computergeräte entwickeltes Modell eine inakzeptable Leistung bereitstellen, wenn dieses auf einem mobilen Computergerät ausgeführt wird. Beispielsweise kann das Modell zu viel Speicherplatz beanspruchen oder ein das Modell verwendendes Gerät kann zu viel Zeit zum Erzeugen von Kandidatenantworten auf eine empfangene Kommunikation in Anspruch nehmen. Zusätzlich kann das Modell eine übermäßige Leistung von dem mobilen Computergerät während seiner Operationen erfordern (was z. B. die Akkustandzeit reduziert).
  • Bei der Bestimmung der einen oder der mehreren Kandidatenantworten über ein geräteinternes, maschinell trainiertes Modell kann das Computergerät die eine oder die mehreren Kandidatenantworten, basierend auf dem Nachrichtenverlauf des Benutzers, personalisieren, wie zum Beispiel für Textnachrichten, E-Mails und dergleichen, die zuvor vom Benutzer gesendet wurden. Nach der expliziten Gewährung des Zugriffs auf den Nachrichtenverlauf des Benutzers durch den Benutzer kann das Computergerät auf dessen Nachrichtenverlauf zugreifen, um die eine oder mehreren Kandidatenantworten, zumindest teilweise basierend auf dem Nachrichtenverlauf des Benutzers, zu bestimmen. Beispielsweise kann das Computergerät in der einen oder in den mehreren Kandidatenantworten eine oder mehrere, zuvor vom Benutzer gesendete Nachrichten beinhalten.
  • Gemäß Aspekten der vorliegenden Offenbarung kann daher ein geräteinternes, maschinell trainiertes Modell speziell zur Anwendung auf mobilen Computergeräten entworfen werden, sodass dieses die Ressourcenbeschränkungen des mobilen Computergeräts (z. B. Speicher, Verarbeitung und/oder Leistungsaufnahmebeschränkungen) erfüllt. Ein entferntes Computergerät kann das maschinelle Lernen zum Erzeugen eines maschinell trainierten Modells ausführen, und das Gerät kann das Modell auf ein mobiles Computergerät laden. Das mobile Computergerät kann das Modell lokal zum Erzeugen von Kandidatenantworten für eine empfangene Kommunikation verwenden, ohne einen Hinweis auf die empfangene Kommunikation von dem mobilen Computergerät zu senden (z. B. ohne die empfangene Kommunikation über ein Netzwerk an die Cloud zu senden).
  • 1 zeigt ein Blockdiagramm, das ein exemplarisches Computergerät 2 und die grafischen Benutzeroberflächen (GUIs) 20 und 26 zum Bereitstellen von Kandidatenantworten als Antwort auf eine empfangene Kommunikation gemäß einer oder mehreren Techniken der vorliegenden Offenbarung veranschaulicht. Beispiele von Computergerät 2 können tragbare, mobile oder andere Geräte, wie beispielsweise Mobiltelefone (einschließlich Smartphones), Laptop-Computer, Desktop-Computer, Tablet-Computer, intelligente Fernsehplattformen, persönliche digitale Assistenten (PDAs) Server-Computer, Mainframes und dergleichen, beinhalten, sind jedoch nicht auf diese beschränkt. Beispielsweise kann in dem Beispiel von 1 Computergerät 2 ein tragbares Computergerät, wie z. B. eine Smartwatch, sein.
  • Computergerät 2, wie in dem Beispiel von 1 dargestellt, beinhaltet ein Benutzeroberflächen-(UI)-Gerät 4. UI-Gerät 4 von Computergerät 2 kann konfiguriert werden, um als Eingabe- und/oder Ausgabegerät für Computergerät 2 zu fungieren. UI-Gerät 4 kann mittels verschiedener Technologien implementiert werden. Beispielsweise kann UI-Gerät 4 konfiguriert sein, um eine Eingabe von einem Benutzer durch eine taktile, Audio- und/oder Video-Rückmeldung zu empfangen. Beispiele von Eingabegeräten können eine präsenzsensible Anzeige, ein präsenzsensibles oder berührungsempfindliches Eingabegerät, eine Maus, eine Tastatur, ein Sprachdialogsystem, eine Videokamera, ein Mikrofon oder eine andere Art von Gerät zum Erkennen von Eingaben von Mensch oder Maschine beinhalten. In einigen Beispielen kann eine präsenzsensible Anzeige einen berührungsempfindlichen Eingabebildschirm, wie z. B. einen resistiven Touchscreen, einen SAW(Surface Acoustic Wave, akustischen Oberflächenwellen)-Touchscreen, einen kapazitiven Touchscreen, einen projektiv-kapazitiven Touchscreen, einen druckempfindlichen Bildschirm, einen APR(Acoustic Pulse Recognition, akustischen Impulserkennungs)-Touchscreen oder eine andere präsenzsensible Technologie beinhalten. Das heißt, UI-Gerät 4 von Computergerät 2 kann ein präsenzsensibles Gerät beinhalten, das eine taktile Eingabe von einem Benutzer von Computergerät 2 empfangen kann. UI-Gerät 4 kann Hinweise auf eine taktile Eingabe empfangen, indem dieses eine oder mehrere Gesten eines Benutzers erkennt (z. B. wenn der Benutzer mit einem Finger oder Stift einen oder mehrere Bereiche von UI-Gerät 4 berührt oder auf dieses zeigt).
  • UI-Gerät 4 kann zusätzlich oder alternativ konfiguriert werden, um als Ausgabegerät zu fungieren, indem dieses einem Benutzer mittels taktiler, Audio- oder Video-Stimuli eine Ausgabe bereitstellt. Beispiele von Ausgabegeräten beinhalten eine Sound-Karte, eine Video-Grafikadapterkarte, oder ein beliebiges von einem oder mehreren Anzeigegeräten, wie z. B. eine LCD(Liquid Crystal Display, Flüssigkristall)-Anzeige, eine Punktmatrixanzeige, eine LED(Light Emitting Diode, Leuchtdioden)-Anzeige, eine OLED(Organic Light Emitting Diode, organische Leuchtdioden)-Anzeige, eine E-Papier-Anzeige oder eine ähnliche Monochrom- oder Farbanzeige, die sichtbare Informationen für einen Benutzer eines Computergeräts 2 ausgeben kann. Zusätzliche Beispiele eines Ausgabegeräts beinhalten einen Lautsprecher, einen Kathodenstrahlröhrenmonitor (CRT), eine Flüssigkristallanzeige (LCD) oder ein anderes Gerät, das für einen Benutzer eine verständliche Ausgabe erzeugen kann. Beispielsweise kann UI-Gerät 4 eine Ausgabe an einen Benutzer von Computergerät 2 als eine grafische Benutzeroberfläche präsentieren, die der von Computergerät 2 bereitgestellten Funktionalität zugeordnet werden kann. Auf diese Weise kann UI-Gerät 4 verschiedene Benutzeroberflächen für Anwendungen bereitstellen, die auf Computergerät 2 ausgeführt werden oder die über dieses zugänglich sind (z. B. eine elektronische Nachrichtenanwendung, eine Internet-Browseranwendung usw.). Ein Benutzer eines Computergeräts 2 kann über eine entsprechende Benutzeroberfläche mit einer Anwendung interagieren, um Computergerät 2 zu veranlassen, Operationen im Zusammenhang mit einer Funktion auszuführen.
  • In einigen Beispielen kann UI-Gerät 4 von Computergerät 2 zweidimensionale und/oder dreidimensionale Gesten als Eingabe eines Benutzers von Computergerät 2 erkennen. Beispielsweise kann ein Sensor von UI-Gerät 4 die Bewegung eines Benutzers (z. B. die Bewegung einer Hand, eines Arms, eines Stiftes usw.) innerhalb eines Grenzabstandes des Sensors von UI-Gerät 4 erkennen. UI-Gerät 4 kann eine zwei- oder dreidimensionale Vektordarstellung der Bewegung bestimmen und die Vektordarstellung mit einer Gesteneingabe (z. B. einem Winken mit der Hand, einem Zusammenführen der Finger, einem Klatschen, einer Stiftberührung) korrelieren, die über mehrere Dimensionen verfügt. Mit anderen Worten kann UI-Gerät 4 eine multidimensionale Geste erkennen, ohne dass der Benutzer diese Geste auf oder in der Nähe eines Bildschirms oder einer Oberfläche, auf der UI-Gerät 4 Informationen zum Anzeigen ausgibt, ausführen muss. Stattdessen kann UI-Gerät 4 eine multidimensionale Geste erkennen, die an einem Sensor oder in der Nähe eines Sensors ausgeführt wird, der sich in der Nähe des Bildschirms bzw. dessen Oberfläche befinden kann oder auch nicht, auf dem UI-Gerät 4 Informationen zur Anzeige ausgibt.
  • In dem Beispiel von 1 beinhaltet Computergerät 2 ein Benutzeroberflächenmodul (UI) 6, Anwendungsmodule 10A10N (zusammen als „Anwendungsmodule 10“ bezeichnet) sowie ein Kommunikationsantwortmodul 12. Module 6, 10 und/oder 12 können beschriebene Vorgänge mittels Software, Hardware, Firmware oder einer Kombination aus Software, Hardware und Firmware ausführen, die im Computergerät 2 resident ist und/oder darauf ausgeführt wird. Computergerät 2 kann die Module 6, 10 und/oder 12 mit einem oder mehreren Prozessoren ausführen. In einigen Beispielen kann Computergerät 2 die Module 6, 10 und 12 als eine oder mehrere virtuelle Maschinen auf der darunterliegenden Hardware ausführen. Als weitere Beispiele können die Module 6, 10 und/oder 12 als ein oder mehrere Dienste eines Betriebssystems oder einer Computerplattform ausgeführt werden, oder als ein oder mehrere ausführbare Programme auf einer Anwendungsebene einer Computerplattform ausgeführt werden.
  • UI-Modul 6 kann, wie in dem Beispiel von 1 dargestellt, durch Computergerät 2 manipuliert werden, um eine oder mehrere Funktionen, wie z. B. das Empfangen von Eingaben und Senden von Anzeigen der Eingaben an andere mit Computergerät 2 verbundenen Komponenten, wie zum Beispiel die Module 10 und/oder 12, auszuführen. UI-Modul 6 kann ebenfalls Daten mit von Computergerät 2 verbundenen Komponenten, wie z. B. Module 10 und/oder 12, empfangen. Mithilfe der empfangenen Daten kann UI-Modul 6 andere mit Computergerät 2 verbundene Komponenten, z. B. UI-Gerät 4, veranlassen, eine Ausgabe auf Basis der Daten bereitzustellen. Beispielsweise kann UI-Modul 6 Daten von einem der Anwendungsmodule 10 empfangen, um eine GUI anzuzeigen.
  • Anwendungsmodule 10 können, wie in dem Beispiel von 1 dargestellt, eine Funktionalität zum Ausführen einer Vielzahl von Operationen auf Computergerät 2 beinhalten. Beispielsweise können die Anwendungsmodule 10 eine Textverarbeitung, eine E-Mail-Anwendung, eine Chat-Anwendung, eine Nachrichtenanwendung, eine soziale Netzwerkanwendung, einen Webbrowser, eine Grafikdesignanwendung, eine Videobearbeitungsanwendung, eine Webentwicklungsanwendung oder eine beliebige andere Anwendung beinhalten. In einigen Beispielen kann ein oder können mehrere der Anwendungsmodule 10 betriebsfähig sein, um Kommunikationen von anderen Geräten, wie z. B. E-Mail-Nachrichten, Kalenderbenachrichtigungen oder Besprechungsanfragen oder andere Kommunikationen, zu empfangen. Beispielsweise kann eines der Anwendungsmodule 10 (z. B. Anwendungsmodul 10A) eine Textnachrichtenanwendung (z. B. SMS/MMS), eine Internetnachrichtenanwendung oder eine andere geeignete Anwendung sein, die eine Nachrichtenfunktionalität beinhaltet. Anwendungsmodul 10A kann eine Funktionalität zum Verfassen und Senden von Kommunikationen, zum Empfangen von Kommunikationen, zum Beantworten empfangener Kommunikationen und andere Funktionen beinhalten.
  • In dem Beispiel von 1 kann das Kommunikationsantwortmodul 12 in der Lage sein, relevante Kandidatenantworten auf empfangene Kommunikationen gemäß den hier beschriebenen Techniken zu bestimmen. Das heißt, das Kommunikationsantwortmodul 12 kann eine Funktionalität beinhalten, um eine oder mehrere relevante Antwortnachrichten bereitzustellen, die ein Benutzer auswählen kann, um zu veranlassen, dass Computergerät 2 die Nachricht als Antwort auf eine empfangene Kommunikation sendet. Die Relevanz (z. B. einer Operation oder einer Antwortnachricht) kann im Allgemeinen ein Hinweis auf eine Beziehung und/oder Ähnlichkeit (z. B. semantische Ähnlichkeit, kontextuelle Ähnlichkeit oder eine andere Art von Ähnlichkeit) sein. Die Relevanz kann in einigen Beispielen durch einen Wahrscheinlichkeitswert oder eine Punktzahl repräsentiert werden, die eine Ebene der Beziehung zwischen zwei Objekten oder eine Ebene der Beziehung zwischen zwei Gruppen von Objekten (z. B. der Anzahl der in beiden Gruppen vorhandenen Objekte, der Anzahl der Objekte in einer Gruppe, die in der anderen Gruppe vorhanden sind, dem Prozentsatz der Objekte, die in beiden Gruppen vorhanden sind oder eines anderen Wertes) anzeigt. Im Fall einer empfangenen Kommunikation können relevante Antwortnachrichten auf die empfangene Kommunikation Antwortnachrichten sein, die sehr wahrscheinlich oder voraussichtlich von dem Benutzer als Antwortnachricht auf empfangene Kommunikationen ausgewählt werden.
  • Im Beispiel von 1 kann Computergerät 2 eine Kommunikation empfangen. Eine empfangene Kommunikation kann Informationen (z. B. basierend auf einer von einem Benutzer eines anderen Geräts bereitgestellten Eingabe) beinhalten. Beispiele für Informationen, die in einer empfangenen Kommunikation enthalten sein können, beinhalten Text (z. B. Buchstaben, Wörter, Zahlen, Zeichensetzung), Emoji, Bilder oder Symbole, Video, Audio, digitale Zahlungen oder andere Informationen. Die empfangene Kommunikation kann gemäß einem oder mehreren Protokollen strukturiert oder formatiert sein. Beispielsweise kann eine empfangene Kommunikation eine Internetnachricht sein. Die Internetnachricht kann Textinformationen beinhalten, wie zum Beispiel „Das ist ein so guter Name für einen Welpen“. In einigen Beispielen kann eine empfangene Kommunikation auch eine Textnachricht, eine Kurzmitteilung (SMS), eine Sofortnachricht und dergleichen sein, die vom Anwendungsmodul 10A, bei welcher es sich um einen SMS-Dienst, eine Sofortnachrichtenübermittlungsanwendung, eine Chat-Anwendung, eine Messenger-Anwendung oder einen anderen geeigneten Dienst oder eine andere geeignete Anwendung handeln kann, empfangen werden kann.
  • In dem Beispiel von 1 kann Computergerät 2 in Reaktion auf das Empfangen einer Kommunikation einen Hinweis auf die empfangene Kommunikation zur Anzeige ausgeben. Im Allgemeinen kann ein Hinweis auf eine empfangene Kommunikation eine visuelle Darstellung der Kommunikation, wie beispielsweise eine Benachrichtigung oder eine andere visuelle Objektausgabe zur Anzeige als Teil einer grafischen Benutzeroberfläche (GUI), sein. Computergerät 2 kann die Nachricht für ein oder mehrere der Anwendungsmodule 10, wie z. B. Anwendungsmodul 10A, bereitstellen, die zur Verarbeitung von Internetnachrichten spezifiziert sind. Anwendungsmodul 10A kann die Internetnachricht empfangen und kann veranlassen, dass eine oder mehrere andere Komponenten von Computergerät 2 einen Hinweis auf die Nachricht (z. B. zum Anzeigen für einen Benutzer von Computergerät 2) ausgeben. Das heißt, in Reaktion auf das Empfangen der Internetnachricht kann das Anwendungsmodul 10A Daten an UI-Modul 6 senden, um zu veranlassen, dass UI-Gerät 4 die GUI 20 anzeigt. Wie in dem Beispiel von 1 dargestellt, beinhaltet GUI 20 einen Hinweis auf die in der Internetnachricht enthaltenen Informationen (z. B. Text 22 „Das ist ein so guter Name für einen Welpen“). In einigen Beispielen kann ein Anwendungsmodul zusätzliche oder andere Informationen zur Anzeige ausgeben, beispielsweise eine Zeit, zu der die Nachricht empfangen wurde.
  • Im Beispiel von 1 kann Computergerät 2 einen Hinweis auf eine Eingabe erhalten, die Computergerät 2 anweist, einem Benutzer die Auswahl und/oder das Verfassen einer Antwort auf die empfangene Kommunikation zu ermöglichen. Beispielsweise kann ein Benutzer von Computergerät 2 eine Eingabe 25 auf UI-Gerät 4 ausführen. UI-Gerät 4 kann Eingabe 25 erkennen und einen Hinweis auf die Eingabe an UI-Modul 6 senden. UI-Modul 6 kann für das Anwendungsmodul 10A Daten basierend auf dem empfangenen Hinweis bereitstellen, und Anwendungsmodul 10A kann ermitteln, ob Eingabe 25 einer Auswahl des Elements 24 entspricht.
  • In dem Beispiel von 1 kann Computergerät 2 eine oder mehrere Kandidatenantworten auf die empfangene Kommunikation, zumindest teilweise auf der empfangenen Kommunikation basierend, bestimmen. In Reaktion auf das Empfangen von Daten, die auf die Auswahl eines Benutzers als Antwort auf die Internetnachricht hinweisen (z. B. ein Hinweis auf Eingabe 25), kann Anwendungsmodul 10A mit dem Kommunikationsantwortmodul 12 kommunizieren, um mindestens eine Kandidatenantwort zu erhalten. Eine Kandidatenantwort kann eine Nachricht sein, die ein Benutzer als Antwort auf eine empfangene Kommunikation auswählen kann. Beispielsweise kann, wie in dem Beispiel von 1 dargestellt, jede durch das Kommunikationsantwortmodul 12 bestimmte Kandidatenantwort eine Nachricht sein, die Computergerät 2 basierend auf einer Auswahl des Benutzers senden kann, um auf die Internetnachricht „Das ist ein so guter Name für einen Welpen“ zu antworten. Beispiele für Kandidatenantworten können einen oder mehrere Texte (z. B. Buchstaben, Wörter, Zahlen, Zeichensetzung), Emoji, Bilder oder Symbole, Memen, Video, Audio oder andere Inhalte beinhalten.
  • Zum Erhalt von Kandidatenantworten kann das Anwendungsmodul 10A Kandidatenantworten vom Kommunikationsantwortmodul 12 anfordern. In einigen Beispielen kann eine Anforderung von Kandidatenantworten für eine empfangene Kommunikation mindestens einen Teil der in der empfangenen Kommunikation enthaltenen Informationen beinhalten. In einigen Beispielen kann eine Anfrage zusätzliche oder andere Informationen, wie z. B. Kommunikationsmetadaten, Standortinformationen, Benutzerinformationen, andere Kommunikationen (z. B. andere Nachrichten in dem Faden oder der Kette von Kommunikationen zwischen dem Benutzer von Computergerät 2 und dem Absender der empfangenen Kommunikation) oder andere Informationen bezüglich der empfangenen Kommunikation, über das Computergerät oder über einen Benutzer des Computergeräts, enthalten. In einigen Beispielen erzeugen Anwendungsmodule 10 nur dann eine Anfrage und/oder rufen persönliche Daten ab (z. B. Informationen, die in der empfangenen Kommunikation und/oder anderen Informationen enthalten sind), wenn ein Benutzer von Computergerät 2 eine explizite Erlaubnis für die Anwendungsmodule 10 bereitstellt, dies zu tun.
  • Einem Benutzer können beispielsweise Bedienelemente bereitgestellt werden, die es dem Benutzer ermöglichen, eine Auswahl zu treffen, und zwar bezüglich sowohl ob und wann hierin beschriebene Systeme, Programme oder Merkmale eine Erfassung von Benutzerinformationen (z. B. Informationen über ein soziales Netzwerk eines Benutzers, sozialen Aktionen oder Aktivitäten, Beruf, Präferenzen eines Benutzers oder des gegenwärtigen Standorts eines Benutzers) vornehmen dürfen, und ob dem Benutzer Inhalte oder Kommunikationen von einem Server gesendet werden. Darüber hinaus können bestimmte Daten auf eine oder mehrere Weisen behandelt werden, bevor diese gespeichert oder verwendet werden, sodass personenbezogene Informationen entfernt werden. Eine Benutzeridentität kann beispielsweise so behandelt werden, dass keine personenbezogenen Informationen für den Benutzer bestimmt werden können, oder ein geografischer Standort des Benutzers verallgemeinert werden kann, wenn Standortinformationen (wie beispielsweise eine Stadt, Postleitzahl oder ein Bundesland) erhalten werden, sodass ein bestimmter Standort eines Benutzers nicht festgestellt werden kann. Daher kann der Benutzer Kontrolle darüber haben, welche Informationen über den Benutzer gesammelt, wie die Informationen verwendet und welche Informationen für den Benutzer bereitgestellt werden.
  • Gemäß Aspekten der vorliegenden Erfindung kann Kommunikationsantwortmodul 12 eine Anfrage zum Erzeugen von Kandidatenantworten von Anwendung 10A empfangen, um auf eine empfangene Kommunikation zu antworten, und kann Kandidatenantworten durch Verwenden eines maschinell trainierten Modells zum Erzeugen einer oder mehrerer, für die empfangene Kommunikation relevanter Kandidatenantworten bestimmen. Das maschinell trainierte Modell kann mittels maschinellen Lerntechniken außerhalb des Geräts erzeugt sowie trainiert und zum Erzeugen von Kandidatenantworten auf Computergerät 2 geladen werden. Bei der Erzeugung von Kandidatenantworten sendet das maschinell trainierte Modell keine Hinweise für die empfangene Kommunikation an externe Geräte. Das maschinell trainierte Modell verwendet also bei der Ausführung auf Computergerät 2 kein Modell oder keine anderen Anwendungen oder Dienste, die auf einem entfernten Computergerät, wie z. B. einem entfernten Server-System oder einer Cloud-Computing-Ressource, ausgeführt werden, zum Erzeugen der Kandidatenantworten. Weitere Einzelheiten bezüglich der Art und Weise, wie das maschinell trainierte Modell erzeugt wird, sind mit Bezug auf 4 beschrieben, während weitere Details in Bezug auf die Verwendung des maschinell trainierten Modells zum Erzeugen von Kandidatenantworten durch Computergerät 2 mit Bezug auf 5 beschrieben sind.
  • In dem nicht einschränkenden Beispiel von 1 kann Kommunikationsantwortmodul 12 eine oder mehrere mögliche Antworten auf die Internetnachricht „Das ist ein so guter Name für einen Welpen“ bestimmen und mindestens einen Hinweis auf eine oder mehrere Kandidatenantworten an Anwendungsmodul 10A senden. Anwendungsmodul 10A kann den Hinweis auf die bestimmten Kandidatenantworten empfangen und Daten an UI-Modul 6 senden, um zu veranlassen, dass UI-Gerät 4 mindestens eine der Kandidatenantworten anzeigt. Beispielsweise kann Anwendungsmodul 10A Daten senden, um zu veranlassen, dass UI-Gerät 4 die GUI 26 anzeigt.
  • GUI 26 beinhaltet, wie in dem Beispiel von 1 dargestellt, Antwortoptionen 28A28C (kollektiv als „Antwortoptionen 28“ bezeichnet). Antwortoptionen 28 können jeweils eine Kandidatenantwort darstellen, die vom Kommunikationsantwortmodul 12 empfangen wird. Das heißt, als Antwort auf das Empfangen einer Anfrage nach Kandidatenantworten auf die SMS-Nachricht „Das ist ein so guter Name für einen Welpen“ kann Kommunikationsantwortmodul 12 einen Satz von Kandidatenantworten als Antwort auf die eingegangene Kommunikation bestimmen. Kommunikationsantwortmodul 12 kann einige oder sämtliche der Gruppe von Kandidatenantworten auswählen, die über GUI 26 anzuzeigen sind. In dem Beispiel von 1 kann das Kommunikationsantwortmodul 12 drei Kandidatenantworten auswählen, die über GUI 26 anzuzeigen sind: „Danke!“, „Gefällt mir auch" und „Danke für die Mitteilung“, die den Antwortoptionen 28A, 28B bzw. 28C entsprechen.
  • Während jede eine von dem Kommunikationsantwortmodul 12 empfangene Kandidatenantwort in dem Beispiel von 1 darstellt, können eine oder mehrere Antwortoptionen 28 in anderen Beispielen andere Antwortoptionen darstellen oder beinhalten, wie z. B. Antworten, die vom Anwendungsmodul 10A bereitgestellt werden. In einigen Beispielen kann ein Anwendungsmodul eine oder mehrere der empfangenen Kandidatenantworten, basierend auf verschiedenen Arten von Informationen, modifizieren, während eine oder mehrere Antwortoptionen 28 eine modifizierte Kandidatenantwort darstellen können. In jedem Fall können die Antwortoptionen 28 der GUI 26 es dem Benutzer von Computergerät 2 ermöglichen, eine Kandidatenantwort auszuwählen, um zu veranlassen, dass Computergerät 2 diese als Antwort auf die empfangene Internetnachricht sendet. In einigen Beispielen kann GUI 26 eine manuelle Eingabeoption beinhalten. Eine manuelle Eingabeoption kann es dem Benutzer von Computergerät 2 ermöglichen, eine benutzerdefinierte Antwort (z. B. mittels einer Sprach-, einer Berührungs- oder einer anderen Eingabe) einzugeben. Eine benutzerdefinierte Antwort kann verwendet werden, wenn zum Beispiel die Antworten, auf die eine der Antwortoptionen 28 hinweist, falsch oder ungenau sind.
  • In dem Beispiel von 1 kann Computergerät 2 einen Hinweis auf eine Benutzereingabe empfangen, die eine Kandidatenantwort aus der einen oder den mehreren Kandidatenantworten auswählt. Bei einem Hinweis auf eine Benutzereingabe kann es sich im Allgemeinen um Daten handeln, die eine Eingabe, wie z. B. eine Berührungs- oder haptische Eingabe, Sprach- oder andere Audioeingabe oder eine beliebige andere Form einer Eingabe, repräsentieren, die von einem Benutzer über ein oder mehrere Eingabegeräte bereitgestellt wird. Beispielsweise kann der Benutzer von Computergerät 2 eine Eingabe 29 an UI-Gerät 4 vornehmen, die eine Tippgeste an oder nahe der Position von UI-Gerät 4 beinhalten kann. UI-Gerät 4 kann die Eingabe 29 erkennen und einen Hinweis auf die Eingabe an UI-Modul 6 senden. UI-Modul 6 kann Daten für Anwendungsmodul 10A, basierend auf dem empfangenen Hinweis, bereitstellen und Anwendungsmodul 10A kann ermitteln, ob Eingabe 29 einer Auswahl der Antwortoption 28A entspricht.
  • In Reaktion auf das Empfangen des Hinweises auf die die Kandidatenantwort auswählende Benutzereingabe kann Computergerät 2 in dem Beispiel von 1 die Kandidatenantwort senden. Das heißt, das Auswählen einer der Antwortoptionen 28 oder das Eingeben einer benutzerdefinierten Antwort kann veranlassen, dass Anwendungsmodul 10A auf die empfangene Kommunikation antwortet, indem es die ausgewählte Antwort an ein oder mehrere andere Computergeräte sendet, die ein Computergerät des Nachrichtenempfängers beinhalten kann. Beispielsweise kann Anwendungsmodul 10A als Antwort auf das Empfangen eines Hinweises auf Eingabe 29, die Antwortoption 28A auswählt, die Kandidatenantwort entsprechend Antwortoption 28A (wie z. B. „Danke!“) senden. In einigen Beispielen kann die ausgewählte Antwort direkt an das Computergerät gesendet werden, von dem die Internetnachricht empfangen wurde. In einigen Beispielen kann die ausgewählte Antwort an zusätzliche oder andere Computergeräte, wie z. B. ein oder mehrere Geräte, gesendet werden, die zusammen ein Netzwerk darstellen, mit dem Computergerät 2 verbunden ist (z. B. ein Mobilfunk- oder drahtloses Netzwerk). Das heißt, Computergerät 2 kann die ausgewählte Antwort an das Computergerät senden, von dem die Internetnachricht empfangen wurde, indem die Antwort an Netzwerkgeräte oder andere Geräte gesendet wird, die sich entlang einer Verbindungsstrecke zwischen den zwei Computergeräten befinden. In einigen Beispielen kann die ausgewählte Antwort zusätzlich oder alternativ zu anderen Geräten, wie z. B. einem Serversystem oder einer Cloud-Computing-Umgebung, zur nachfolgenden Verwendung bei der Bereitstellung verbesserter Kandidatenantworten gesendet werden.
  • Durch Bereitstellen von Kandidatenantworten, die für eine empfangene Kommunikation relevant sind, können Techniken der vorliegenden Offenbarung die Zeitspanne reduzieren, die ein Benutzer von Computergerät 2 benötigt, um eine Antwort auf eine empfangene Kommunikation einzugeben. Beispielsweise können tragbare Computergeräte wie Uhren oder andere Geräte in der Lage sein, Kandidatenantworten, die auf einer empfangenen Kommunikation basieren, für einen Benutzer anzuzeigen, wodurch es dem Benutzer ermöglicht wird, eine der Kandidatenantworten schnell zu berühren oder anderweitig auszuwählen, anstatt eine Spracherkennung oder andere Mittel zur Eingabe einer Antwort zu verwenden. Ferner können Computergeräte durch Erzeugen der Kandidatenantworten über ein maschinell trainiertes Modell in der Lage sein, Kandidatenantworten zu erzeugen, die von dem Benutzer mit hoher Wahrscheinlichkeit ausgewählt werden, um diese als Antwort auf die empfangenen Kommunikationen bereitzustellen, wodurch die Notwendigkeit für den Benutzer verringert wird, eine Spracherkennung oder andere Mittel zur Eingabe einer Antwort zu verwenden. Darüber hinaus kann Computergerät 2 die Latenz der Erzeugung von Kandidatenantworten über ein auf dem Gerät maschinell trainiertes Modell reduzieren, verglichen mit dem Senden an und Empfangen von Informationen über das Internet von einem geräteexternen, maschinell trainierten Modell.
  • 2 zeigt ein Blockdiagramm, das Einzelheiten eines exemplarischen Computergeräts 2 veranschaulicht, dass gemäß einer oder mehreren Techniken der vorliegenden Offenbarung kontextverbundene Operationen in Reaktion auf das Senden einer Antwort auf eine empfangene Kommunikation ausführt. 2 wird nachfolgend im Zusammenhang mit 1 beschrieben. 2 veranschaulicht lediglich ein Beispiel von Computergerät 2, es können jedoch auch viele andere exemplarische Geräte mit mehr, weniger oder unterschiedlichen Komponenten konfigurierbar sein, um Operationen gemäß den Techniken der vorliegenden Offenbarung auszuführen.
  • Während in dem Beispiel von 2 als Teil eines einzelnen Geräts angezeigt, können sich Komponenten von Computergerät 2 in einigen Beispielen innerhalb und/oder in einem Teil von verschiedenen Geräten befinden. Beispielsweise kann sich in einigen Beispielen ein Teil oder die gesamte Funktionalität des Kommunikationsantwortmoduls 12 in einem Serversystem oder in einem anderen Computergerät (z. B. über ein für Computergerät 2 zugängliches Netzwerk) befinden. Das heißt, in einigen Beispielen können Techniken der vorliegenden Offenbarung von einem einzelnen Computergerät ausgeführt und verwendet werden, während in anderen Beispielen die Techniken in einem entfernten Rechensystem, wie z. B. einem verteilten oder „Cloud“-Rechensystem, ausgeführt und/oder verwendet werden können. In einigen der Beispiele kann Computergerät 2 eine Kommunikation empfangen und Kandidatenantworten bestimmen, indem zumindest ein Teil der empfangenen Kommunikation für ein entferntes Gerät (z. B. ein Serversystem) bereitgestellt und eine Antwort empfangen wird, die die Kandidatenantworten beinhaltet. In Reaktion auf das Empfangen einer Auswahl einer der Kandidatenantworten kann Computergerät 2 eine Operation mit einem kontextmäßigen Bezug auf die Kandidatenantwort bestimmen, indem dieses mindestens einen Hinweis auf die ausgewählte Kandidatenantwort an ein entferntes Gerät sendet und eine Antwort empfängt, die Anweisungen zur Ausführung der Operation beinhaltet.
  • In einigen Beispielen kann Computergerät 2 ein tragbares Computergerät darstellen. Ein tragbares Computergerät kann ein beliebiges Computergerät sein, das von einem Benutzer tragbar oder auf andere Weise an diesem anbringbar ist, wie z. B. eine Smartwatch, ein am Kopf befestigtes Computergerät (z. B. ein Computergerät, das in eine Brille, eine Mütze, einen Ohrhörer, eine Kontaktlinse oder andere ähnliche Gegenstände integriert ist), implantierbare Geräte oder andere Geräte, die ein Benutzer an seinem Körper anbringen kann. Einige tragbare Computergeräte, wie zum Beispiel eine Smartwatch, können ein oder mehrere Eingabegeräte beinhalten, um verschiedene Arten von Eingaben von einem Benutzer zu empfangen, ein oder mehrere Ausgabegeräte, um dem Benutzer eine akustische, visuelle, taktile oder andere Ausgabe bereitzustellen, eine oder mehrere Netzwerkschnittstellen zur Kommunikation mit anderen Computergeräten, einen oder mehrere Sensoren zum Erfassen von Informationen und/oder andere Komponenten beinhalten.
  • In einigen Beispielen kann ein tragbares Gerät mit einem mobilen Gerät (z. B. einem Smartphone) oder einem anderen Gerät kommunizieren, um einige Operationen auszuführen. Beispielsweise kann in einigen Beispielen ein Teil der Techniken der vorliegenden Offenbarung durch eine Smartwatch ausgeführt werden, während ein Teil durch ein oder mehrere andere Computergeräte (z. B. ein drahtlos mit der Smartwatch verbundenes Smartphone, ein Servergerät, mit dem das Smartphone kommunizieren kann oder andere Geräte) ausgeführt wird. Mit anderen Worten, während hierin durch eine oder mehrere Komponenten von Computergerät 2 ausgeführt beschrieben, können einige der konfigurierbaren Komponenten zur Bestimmung von Kandidatenantworten und/oder kontextbezogenen Operationen auf eine Vielzahl von Computergeräten gemäß den hierin beschriebenen Techniken verteilt sein.
  • Wie im Beispiel von 2 dargestellt, beinhaltet Computergerät 2 ein Benutzeroberflächen(UI)-Gerät 4, einen oder mehrere Prozessoren 40, eine oder mehrere Eingabekomponenten 42, eine oder mehrere Ausgabekomponenten 44, eine oder mehrere Kommunikationseinheiten 46, einen oder mehrere Sensoren 48 und eine oder mehrere Speichergeräte 50. Speichergeräte 50 beinhalten ferner ein Benutzeroberflächen(UI)-Modul 6, ein Kommunikationsantwortmodul 12, Anwendungsmodule 10 und ein Kommunikationsantwortmodul 14. In dem Beispiel von 2 beinhaltet Kommunikationsantwortmodul 14 das Antwortvorschlagsmodul 54.
  • Jede der Komponenten 4, 40, 42, 44, 46, 48 und 50 kann zwecks Kommunikation zwischen den Komponenten (physisch, kommunikativ und/oder operativ) miteinander verbunden sein. In dem Beispiel von 2 können die Komponenten 4, 40, 42, 44, 46, 48 und 50 durch einen oder mehrere Kommunikationskanäle 52 gekoppelt sein. In einigen Beispielen können Kommunikationskanäle 52 einen Systembus, eine Netzwerkverbindung, eine prozessübergreifende Kommunikationsdatenstruktur oder einen beliebigen anderen Kanal zur Datenkommunikation beinhalten. Module 6, 10, 12 und 54 können ebenfalls Informationen untereinander und mit anderen Komponenten im Computergerät 2 austauschen.
  • In dem Beispiel von 2 können eine oder mehrere Eingabekomponenten 42 funktionsfähig sein, um eine Eingabe zu empfangen. Beispiele einer Eingabe sind taktile, akustische und Videoeingaben. Eingabegeräte 42 können in einem Beispiel eine präsenzsensible oder eine berührungsempfindliche Anzeige, eine Maus, eine Tastatur, ein Sprachdialogsystem, eine Videokamera, ein Mikrofon oder einen Audiosensor oder eine beliebige andere Art von Gerät zum Erkennen von Eingaben von Mensch oder Maschine beinhalten.
  • Eine oder mehrere Ausgangskomponenten 44 können in dem Beispiel von 2 funktionsfähig sein, um Ausgaben zu erzeugen. Beispiele von Ausgaben sind taktile, akustische und Videoausgaben. Ausgabegeräte 44 von Computergerät 2 können in einigen Beispielen eine präsenzsensible Anzeige, eine Sound-Karte, eine Video-Grafikadapterkarte, einen Lautsprecher, einen Kathodenstrahlröhren-(CRT)-Monitor, eine Flüssigkristallanzeige (LCD) oder eine beliebige andere Art von Gerät zum Erzeugen von Ausgaben an Mensch oder Maschine beinhalten.
  • In einigen Beispielen kann UI-Gerät 4 die Funktionalität von Eingabegeräten 42 und/oder Ausgabekomponenten 44 beinhalten. Im Beispiel von 2 kann UI-Gerät 4 beispielsweise ein präsenzsensibles Eingabegerät sein oder beinhalten. In einigen Beispielen kann die präsenzsensible Eingabekomponente ein Objekt an und/oder in der Nähe der präsenzsensiblen Eingabekomponente erfassen. Als einen exemplarischen Bereich kann ein präsenzsensibles Eingabegerät ein Objekt, wie z. B. einen Finger oder einen Stift, erkennen, das sich innerhalb eines Abstandes von 5 cm (zwei Zoll) oder weniger vom präsenzsensiblen Eingabegerät entfernt befindet. In einem anderen exemplarischen Bereich kann ein präsenzsensibles Eingabegerät ein Objekt 15,2 cm (sechs Zoll) oder weniger vom präsenzsensiblen Eingabegerät entfernt erkennen, wobei andere Bereiche ebenfalls möglich sind. Das präsenzsensible Eingabegerät kann eine Position (z. B. eine (X, Y-)Koordinate) des präsenzsensiblen Eingabegeräts ermitteln, an der das Objekt erfasst wurde. Das präsenzsensible Eingabegerät kann die durch den Finger des Benutzers ausgewählte Position mittels kapazitiver, induktiver und/oder optischer Erkennungstechniken bestimmen. In einigen Beispielen stellt ein präsenzsensibles Eingabegerät, wie mit Bezug auf Ausgabekomponenten 44 beschrieben, eine Ausgabe an einen Benutzer mittels taktiler, Audio- oder Videostimuli bereit, und kann als präsenzsensible Anzeige bezeichnet werden.
  • Obwohl als eine interne Komponente von Computergerät 2 veranschaulicht, repräsentiert UI-Gerät 4 auch eine externe Komponente, die einen Datenpfad mit Computergerät 2 zum Übertragen und/oder Empfangen von Eingaben und Ausgaben gemeinsam nutzt. In einem Beispiel repräsentiert UI-Gerät 4 beispielsweise eine integrierte Komponente von Computergerät 2, die innerhalb des externen Gehäuses von Computergerät 2 angeordnet und physisch mit diesem verbunden ist (z. B. ein Bildschirm eines Mobiltelefons oder eines tragbaren Computergeräts). In einigen Beispielen repräsentiert UI-Gerät 4 eine externe Komponente von Computergerät 2, die außerhalb des Gehäuses von Computergerät 2 angeordnet und physisch von diesem getrennt ist (z. B. ein Monitor, ein Projektor oder ein anderes Anzeigegerät, das einen drahtgebundenen und/oder drahtlosen Datenpfad mit Computergerät 2 gemeinsam nutzt).
  • In dem Beispiel von 2 können eine oder mehrere Kommunikationseinheiten 46 über ein oder mehrere Netzwerke mit externen Geräten kommunizieren, indem diese Netzwerksignale über das eine oder die mehreren Netzwerke senden und/oder empfangen. So kann beispielsweise Computergerät 2 die Kommunikationseinheiten 46 verwenden, um Funksignale in einem Funknetz, wie z. B. einem Mobilfunknetz, zu senden und/oder zu empfangen. Gleichermaßen können Kommunikationseinheiten 46 Satellitensignale in einem Satellitennetzwerk, wie z. B. einem GPS-Netzwerk (globales Positionierungssystem), senden und/oder empfangen. Beispiele der Kommunikationseinheit 46 können eine Netzwerkschnittstellenkarte (wie z. B. eine Ethernetkarte), einen optischen Sendeempfänger, einen Hochfrequenz-Sendeempfänger oder eine andere Art von Gerät umfassen, das Informationen senden und/oder empfangen kann. Andere Beispiele von Kommunikationseinheiten 46 können Nachbereichskommunikationsgeräte (NFC), Bluetooth®-Funkeinrichtungen, Kurzwellenfunkgeräte, Mobilfunkdatenfunkgeräte, drahtlose Netzwerkfunkgeräte (z. B. Wi-Fi®), sowie Universal Serial Bus(USB)-Schnittstellen, beinhalten.
  • In dem Beispiel von 2 können ein oder mehrere Sensoren 48 funktionsfähig sein, um Daten zur Verwendung durch Komponenten von Computergerät 2 zu erzeugen. Sensoren 48 können ein beliebiges Gerät oder eine beliebige Komponente beinhaltet, die Daten über Computergerät 2, Daten über eine Umgebung, in der sich Computergerät 2 befindet, sowie Daten über einen Benutzer von Computergerät 2 oder andere Daten beinhalten. Das heißt, jeder der Sensoren 48 kann aus Hardware, Firmware, Software oder einer Kombination derselben zum Erhalten von Informationen gebildet werden. Beispiele für Sensoren 48 sind GPS-Sensor oder GPS-Funkeinrichtung, Positionssensor, Beschleunigungssensor, Gyroskop oder ein anderer Bewegungssensor, Kamera, Kompass, Magnetometer, Lichtsensor, Infrarotsensor, Sensor, Strahlungssensor, Temperatursensor, Barometer, Höhenmesser oder andere Datenerfassungskomponenten.
  • In dem Beispiel von 2 können eine oder mehrere Speichergeräte 50 funktionsfähig sein, um Informationen zur Verarbeitung während des Betriebs von Computergerät 2 zu speichern. In einigen Beispielen sind Speichergeräte 50 ein temporärer Speicher, was bedeutet, dass der Hauptzweck der Speichergeräte 50 nicht die Langzeitspeicherung ist. Beispielsweise können Speichergeräte 50 von Computergerät 2 flüchtige Speicher sein, die zur Kurzzeitspeicherung von Informationen konfiguriert sind, weshalb, wenn diese ausgeschaltet werden, die gespeicherten Inhalte verloren gehen. Beispiele von flüchtigen Speichern beinhalten Arbeitsspeicher (RAM), dynamische Arbeitsspeicher (DRAM), statische Arbeitsspeicher (SRAM) und andere Formen von flüchtigen Speichern, die auf dem Fachgebiet bekannt sind.
  • Speichergeräte 50 beinhalten in einigen Beispielen zudem ein oder mehrere computerlesbare Speichermedien. Speichergeräte 50 können konfiguriert sein, größere Datenmengen zu speichern als flüchtiger Speicher. Beispielsweise können Speichergeräte 50 einen Permanentspeicher beinhalten, der Informationen auch nach Ein-/Ausschaltzyklen beibehält. Beispiele von nicht flüchtigen Speichern beinhalten magnetische Festplatten, optische Festplatten, Disketten, Flashspeicher oder Formen von elektrisch programmierbaren Speichern (EPROM) oder von elektrisch überschreibbaren und programmierbaren (EEPROM) Speichern. In jedem Fall können Speichergeräte 50 in dem Beispiel von 2 Programmanweisungen und/oder Daten in Verbindung mit den Modulen 6, 10, 12 und 54 speichern.
  • In dem Beispiel von 2 kann ein oder können mehrere Prozessoren 40 Funktionalität implementieren und/oder Anweisungen innerhalb von Computergerät 2 ausführen. Beispielsweise können Prozessoren 40 funktionsfähig sein, um die auf Speichergeräte 50 gespeicherte Anweisungen zu empfangen und auszuführen, die die Funktionalität des UI-Moduls 6, der Anwendungsmodule 10, des Kommunikationsantwortmoduls 12 und des Antwortvorschlagsmoduls 54 implementieren. Diese durch Prozessoren 40 ausgeführten Anweisungen können Computergerät 2 dazu veranlassen, Informationen während der Programmausführung in Speichergeräten 50 (in flüchtigen Speichern) zu speichern. Prozessoren 40 können Anweisungen der Module 6, 10, 12 und 54 ausführen, um zu veranlassen, dass UI-Gerät 4 Kandidatenantworten als Antwort auf das Empfangen einer Kommunikation durch Computergerät 2 ausgibt. Das heißt, Module 6, 10, 12 und 54 können von Prozessoren 40 verwendet werden, um verschiedene Aktionen durchzuführen, einschließlich der Vorhersage von Kandidatenantworten auf eine empfangene Kommunikation.
  • Computergerät 2 kann im Beispiel von 2 eine Kommunikation empfangen. Die Kommunikation kann eine Nachricht oder eine Reihe von Nachrichten sein. Beispielsweise kann die Kommunikation eine Reihe von Nachrichten (z. B. Textnachrichten) sein, die von einem Benutzer von einem entfernten Computergerät an den Benutzer von Computergerät 2 gesendet wurden. In einigen Beispielen kann eine der Kommunikationseinheiten 46 Daten von einem Netzwerk (z. B. einem drahtlosen Netzwerk, einem Mobilfunknetz, dem Internet, einem Intranet usw.) empfangen, das dem SMS-Protokoll entspricht und eine Textnachricht oder Daten von einem Netzwerk unter Einhaltung eines bestimmten Internet-Nachrichtenformats repräsentiert. Kommunikationseinheiten 46 können die empfangenen Daten für eines oder mehrere der Anwendungsmodule 10 bereitstellen, die zur Handhabung der empfangenen Daten, wie zum Beispiel durch Anwendungsmodul 10A, bestimmt (z. B. zuvor von einem Benutzer festgelegt) sind.
  • Anwendungsmodul 10A kann die Textnachricht empfangen und Computergerät 2 veranlassen, mindestens einen Hinweis auf die Textnachricht auszugeben. Beispielsweise kann Anwendungsmodul 10A Informationen an UI-Modul 6 senden, das bewirkt, dass UI-Gerät 4 oder eine der Ausgangskomponenten 44 eine visuelle Darstellung des Textes (z. B. „Das ist ein so guter Name für einen Welpen“), Textnachrichten sowie alle Bilder, Videos, Emojis, Aufkleber und Ähnliches, die in der Textnachricht enthalten sind, anzeigt. Der Benutzer von Computergerät 2 kann die Ausgabe ansehen und eine Eingabe bereitstellen, die Computergerät 2 anweist, auf die Textnachricht zu antworten. Das heißt, UI-Modul 6 kann eine Eingabeanzeige empfangen, die auf UI-Gerät 4 oder auf einer beliebigen der Eingabekomponenten 42 ausgeführt wird, das/die eine Option zur Beantwortung der empfangenen Textnachricht auswählt. UI-Modul 6 kann den Hinweis auf die Eingabe an Anwendungsmodul 10A bereitstellen.
  • In Reaktion auf das Empfangen der Eingabe, um Computergerät 2 anzuweisen, die Textnachricht zu beantworten, kann Anwendungsmodul 10A Kandidatenantworten vom Kommunikationsantwortmodul 12 anfordern. Bei der Anforderung von Kandidatenantworten kann Anwendungsmodul 10A Informationen bereitstellen, die in der Textnachricht enthalten waren (z. B. der Text „Das ist ein so guter Name für den Welpen“) und/oder andere Informationen (z. B. einen Hinweis auf den Absender der Textnachricht, einen Hinweis auf vorherige Textnachrichten, die zwischen dem Absender und dem Empfänger ausgetauscht wurden, einen Hinweis auf Bilder, Videos und dergleichen, die in der Textnachricht enthalten sind und dergleichen). Das heißt, dass eine Anforderung von Kandidatenantworten in verschiedenen Beispielen Informationen beinhalten kann, die in einer empfangenen E-Mail, einer empfangenen Textnachricht, einer empfangenen Anwendungsbenachrichtigung, einer empfangenen Kalendereinladung, einer Erinnerung oder einer anderen Kommunikation enthalten waren. In einigen Beispielen kann die Anforderung von Kandidatenantworten zudem alle in der empfangenen Kommunikation enthaltenen Informationen beinhalten. Das heißt, die Anforderung kann die gesamte E-Mail, Textnachricht usw. beinhalten. In anderen Beispielen kann die Anforderung einen Teil der Informationen beinhalten. Beispielsweise kann die Anforderung ein Datum und eine Uhrzeit, die in der empfangenen Kommunikation angegeben sind, einen angegebenen Ort, die Namen der Teilnehmer an einer Besprechung, ein Emoji, ein Bild oder andere Informationen beinhalten. Kommunikationsantwortmodul 12 kann die Anforderung von Kandidatenantworten empfangen und die Anforderung für Antwortvorschlagsmodul 54 bereitstellen.
  • Antwortvorschlagsmodul 54 kann funktionsfähig sein, um eine Anforderung von Kandidatenantworten als Antwort auf eine empfangene Kommunikation zu empfangen. In Reaktion auf das Empfangen der Anforderung kann Antwortvorschlagsmodul 54 eine oder mehrere Kandidatenantworten für die empfangene Kommunikation bestimmen. Antwortvorschlagsmodul 54 kann verschiedene Maschinenlerntechniken verwenden, um die eine oder die mehreren Kandidatenantworten auf die empfangene Kommunikation zu bestimmen.
  • Antwortvorschlagsmodul 54 kann betriebstechnisch mit Antwortvorschlagsmodell 56 gekoppelt sein oder dieses beinhalten. Antwortvorschlagsmodul 54 kann Antwortvorschlagsmodell 56 verwenden, um die eine oder die mehreren möglichen Antworten auf die empfangene Kommunikation zu bestimmen. Antwortvorschlagsmodell 56 kann ein maschinell trainiertes Modell sein, das außerhalb des Geräts (d. h. auf einem anderen Gerät als Computergerät 2) trainiert wird, um das Auffinden wahrscheinlicher Antworten auf empfangene Kommunikationen zu erlernen.
  • Antwortvorschlagsmodell 56 kann einen Satz von Bitvektoren beinhalten, die Ranglisten von vorhergesagten Antworten zugeordnet sind, sodass jeder Bitvektor einer Rangliste von vorhergesagten Antworten zugeordnet ist. Antwortvorschlagsmodul 54 kann die empfangene Kommunikation in einen Bitvektor mit fester Länge, wie z. B. einem 8-Bitvektor, transformieren. Beispielsweise kann Antwortvorschlagsmodul 54 eine modifizierte Form von lokalitätssensitivem (LSH) Hashing durchführen, um die empfangene Kommunikation auf einen Bitvektor zu projizieren. Da Antwortvorschlagsmodell 56 maschinell trainiert wurde, um jeden Bitvektor einer Rangliste vorhergesagter Antworten zuzuordnen, kann Antwortvorschlagsmodul 54 eine oder mehrere Kandidatenantworten auf die empfangene Kommunikation, zumindest teilweise basierend auf der Rangliste von vorhergesagten Antworten, mit dem Bitvektor bestimmen.
  • Zur Bestimmung von Kandidatenantworten aus der Rangliste der vorhergesagten Antworten kann Antwortvorschlagsmodul 54 beispielsweise die oberen N vorhergesagten Antworten als Kandidatenantworten nehmen, wobei N die Anzahl der Kandidatenantworten sein kann, die vom UI-Modul 6 zur Anzeige durch UI-Gerät 4 ausgegeben werden sollen, oder kann eine andere geeignete ganze Zahl, wie zum Beispiel 3, 4 usw., sein. In anderen Beispielen kann N die Anzahl der Kandidatenantworten sein, die durch UI-Modul 6 ausgegeben werden sollen, abgesehen von einer oder mehreren anderen Kandidatenantworten, die durch andere Verfahren bestimmt werden (z. B. eine oder mehrere andere Standardkandidatenantworten), die ebenfalls durch UI-Modul 6 ausgegeben werden.
  • Antwortvorschlagsmodul 54 kann empfangene semantisch ähnliche Kommunikationen in ähnliche Bitvektoren hashen. Bitvektoren können als ähnlich betrachtet werden, wenn diese eine wesentliche Überlappung gleicher Bits beinhalten. Beispielsweise kann Antwortvorschlagsmodul 54 eine empfangene Kommunikation wie „Hallo, läuft alles gut?“ in einen Bitvektor von „11100110“ hashen, während Antwortvorschlagsmodul 54 eine empfangene Mitteilung wie „Wie geht es dem Kumpel?“ in einen Bitvektor von „11100011“ hashen kann. Da die empfangenen Kommunikationen und die resultierenden Hash-Bitvektoren ähnlich sind, kann der resultierende Hash-Bitvektor ferner ähnlichen oder denselben eingeordneten Ranglisten vorhergesagter Antworten zugeordnet werden. Beispielsweise können in diesem Beispiel beide Bitvektoren der gleichen Rangliste vorhergesagter Antworten von „Ziemlich gut und du?“ und „Mir geht es gut, wie geht es dir?“ zugeordnet werden.
  • Antwortvorschlagsmodul 54 kann ebenfalls die von ihm erzeugten Kandidatenantworten personalisieren, indem es eine oder mehrere personalisierte Kandidatenantworten bestimmt und die eine oder die mehreren personalisierten Kandidatenantworten in die Kandidatenantworten mit einbezieht. Zu diesem Zweck kann Antwortvorschlagsmodul 54 das Personalisierungsmodell 58 verwenden, um eine oder mehrere personalisierte Kandidatenantworten basierend auf früheren Antworten zu erzeugen, die vom Benutzer von Computergerät 2 gesendet wurden, um auf zuvor empfangene Nachrichten zu antworten, die für den Benutzer vorgesehen waren. Da frühere vom Benutzer gesendete Antworten den Schreibstil des Benutzers, wie Ton, Formalität, Großschreibung, Grammatik und dergleichen besser erfassen können, einschließlich der früheren Antworten in den Kandidatenantworten, können die erzeugten Kandidatenantworten besser personalisiert werden, um auf die empfangene Kommunikation zu antworten.
  • Anwendungsmodule 10, wie beispielsweise eine oder mehrere Nachrichtenanwendungen, die Nachrichten senden und empfangen und Antworten auf Nachrichten senden können, können eine Nachrichtenverlauf von zuvor gesendeten und empfangenen Nachrichten in Kommunikationsverlauf 32 speichern. Kommunikationsverlauf 32 kann Informationen enthalten, die früheren, von Computergerät 2 für den Benutzer vorgesehenen empfangenen Nachrichten sowie den vom Benutzer gesendeten Antworten auf vorherige Nachrichten zugeordnet sind. Die zuvor empfangenen Nachrichten und früheren Antworten können als strukturierte und/oder unstrukturierte Daten gespeichert werden, die durchsuchbar und/oder anderweitig kategorisiert werden können. In einigen Beispielen können Daten innerhalb des Kommunikationsverlaufs 32 zum Schutz der Privatsphäre des Benutzers verschlüsselt werden.
  • Kommunikationsantwortmodul 12 kann ein Personalisierungsmodell 58 beinhalten. Personalisierungsmodell 58 kann bestimmen, ob irgendwelche vorherigen, durch den Benutzer gesendeten Antworten einer oder mehreren vorhergesagten Antworten auf empfangene Kommunikationen, einschließlich vorheriger Antworten, semantisch ähnlich sind (z. B. eine ähnliche Absicht haben). Wenn dies der Fall ist, kann Antwortvorschlagsmodul 54 die vorherige Antwort, die einer vorhergesagten Antwort semantisch ähnlich ist, als eine personalisierte Kandidatenantwort beinhalten. Antwortvorschlagsmodul 54 kann die vorhergesagte Antwort mit der personalisierten Kandidatenantwort in dem Satz von Kandidatenantworten ersetzen oder die personalisierte Kandidatenantwort in die Kandidatenantworten, zusätzlich zu der vorhergesagten Antwort, aufnehmen.
  • Nach dem Bestimmen von Kandidatenantworten kann Antwortvorschlagsmodul 54 die Kandidatenantworten für Anwendungsmodul 10A bereitstellen. In dem Beispiel von 2 kann das Anwendungsmodul 10A Kandidatenantworten empfangen und Daten an UI-Modul 6 senden, um zu veranlassen, dass UI-Gerät 4 oder eine oder mehrere der Ausgangskomponenten 44 eine Repräsentation der Kandidatenantworten anzeigt. Der Benutzer von Computergerät 2 kann die angezeigten Antworten anzeigen und eine Eingabe bereitstellen, die eine der Kandidatenantworten auswählt oder bei der eine benutzerdefinierte Antwort eingegeben werden kann. Das heißt, UI-Modul 6 kann einen Eingabehinweis empfangen, der durch UI-Gerät 4 oder eine beliebige der Eingabekomponenten 42 ausgeführt wird, die eine Antwortoption auswählt, die eine Kandidatenantwort darstellt, oder durch die eine benutzerdefinierte Antwort eingegeben werden kann. UI-Modul 6 kann den Hinweis auf die Eingabe an Anwendungsmodul 10A bereitstellen. Anwendungsmodul 10A kann den Hinweis auf eine Eingabe, die eine Antwort auswählt, empfangen und in Reaktion auf das Empfangen des Hinweises die ausgewählte Antwort senden. In dem Beispiel von 2 kann Anwendung 10A einen Hinweis auf die Eingabe empfangen, um die Kandidatenantwort „Vielen Dank!“ auszuwählen und die ausgewählte Kandidatenantwort (z. B. an den Absender der empfangenen Kommunikation) senden.
  • In einigen Beispielen kann Personalisierungsmodell 58 und/oder Kommunikationsverlauf 32 nicht auf Speichergeräten 50 gespeichert werden, sondern kann stattdessen auf einem externen Computergerät gespeichert werden, sodass Personalisierungsmodell 58 auf einem externen Computergerät ausgeführt werden kann. Ist Computergerät 2 beispielsweise ein tragbares Gerät, wie z. B. eine Smartwatch, kann Computergerät 2 mit einem externen Computergerät, wie beispielsweise einem Smartphone, gekoppelt werden. In diesem Fall kann Computergerät 2 über das externe Computergerät eine Kommunikation (z. B. Textnachrichten) senden und empfangen, sodass das externe Computergerät empfangene Kommunikationen an Computergerät 2 weiterleitet und die von Computergerät 2 gesendeten Nachrichten an die beabsichtigten Empfänger der Nachrichten weiterleiten kann.
  • 3 zeigt ein Blockdiagramm, das ein exemplarisches Computergerät veranschaulicht, das grafische Inhalte zur Anzeige auf einem entfernten Gerät gemäß einer oder mehreren Techniken der vorliegenden Offenbarung ausgibt. Grafischer Inhalt kann im Allgemeinen beliebige visuelle Informationen, wie z. B. Text, Bilder, eine Gruppe von bewegten Bildern usw., beinhalten, die zum Anzeigen ausgegeben werden können. Das in 3 dargestellte Beispiel beinhaltet Computergerät 60, präsenzsensible Anzeige 64, Kommunikationseinheit 70, Projektor 80, Projektorbildschirm 82, Mobilgerät 86 und visuelles Anzeigegerät 90. Obwohl in 1 und 2 exemplarisch als eigenständiges Computergerät 2 dargestellt, kann ein Computergerät, wie z. B. Computergerät 60, im Allgemeinen eine beliebige Komponente oder ein beliebiges System sein, das einen Prozessor oder eine andere geeignete Computerumgebung zum Ausführen von Softwareanweisungen beinhaltet und muss z. B. keine präsenzsensible Anzeige beinhalten.
  • Wie im Beispiel von 3 dargestellt, kann Computergerät 60 ein Prozessor sein, der die in Bezug auf Prozessoren 40 in 2 beschriebene Funktionalität beinhaltet. In diesen Beispielen kann Computergerät 60 operativ mit der präsenzsensiblen Anzeige 64 durch Kommunikationskanal 62A gekoppelt sein, der ein Systembus oder eine andere geeignete Verbindung sein kann. Computergerät 60 kann zudem mit Kommunikationseinheit 70, die nachfolgend weiter beschrieben wird, durch Kommunikationskanal 62B, bei dem es sich auch um einen Systembus oder eine andere geeignete Verbindung handeln kann, operativ gekoppelt sein. Obwohl in 3 separat als ein Beispiel dargestellt, kann Computergerät 60 operativ mit der präsenzsensiblen Anzeige 64 und Kommunikationseinheit 70 durch eine beliebige Anzahl von einem oder mehreren Kommunikationskanälen gekoppelt sein.
  • In anderen Beispielen kann sich, wie z. B. zuvor durch das tragbare Computergerät 2 in 12 veranschaulicht, ein Computergerät auf ein tragbares oder mobiles Gerät, wie z. B. Mobiltelefone (einschließlich Smartphones), tragbare Computergeräte (einschließlich Smartphones), Laptopcomputer usw. beziehen. In einigen Beispielen kann ein Computergerät ein Desktop-Computer, ein Tablet-Computer, eine intelligente Fernsehplattform, eine Kamera, ein persönlicher digitaler Assistent (PDA), ein Server oder Mainframe sein.
  • Die präsenzsensible Anzeige 64 kann als eine der Eingangskomponenten 42 und/oder der Ausgangskomponenten 44, wie in 2 dargestellt, Anzeigekomponente 66 und die präsenzsensible Eingabekomponente 68 beinhalten. Anzeigekomponente 66 kann beispielsweise Daten von Computergerät 60 empfangen und die grafischen Inhalte anzeigen. In einigen Beispielen kann das präsenzsensible Eingabegerät 68 eine oder mehrere Benutzereingaben (wie z. B. ununterbrochene Gesten, Mehrfachberührungsgesten, Einzelberührungsgesten usw.) an der präsenzsensiblen Anzeige 64 mithilfe kapazitiver, induktiver und/oder optischer Erkennungstechniken ermitteln und Angaben dieser Eingaben mittels Kommunikationskanal 62A an Computergerät 60 senden. Die präsenzsensible Eingabekomponente 68 kann in einigen Beispielen oben auf Anzeigekomponente 66 physisch so positioniert sein, dass, wenn ein Benutzer eine Eingabeeinheit über ein grafisches Element positioniert, das durch Anzeigekomponente 66 angezeigt wird, die Position, an dem die präsenzsensible Eingabekomponente 68 der Position der Anzeigekomponente 66 entspricht, an dem das grafische Element angezeigt wird. Die präsenzsensible Eingabekomponente 68 kann in anderen Beispielen physisch getrennt von Anzeigekomponente 66 positioniert sein, während Positionen der präsenzsensiblen Eingabekomponente 68 Positionen der Anzeigekomponente 66 entsprechen können, sodass eine Eingabe an der präsenzsensiblen Eingabekomponente 68 erfolgen kann, um mit grafischen Elementen zu interagieren, die an entsprechenden Positionen der Anzeigekomponente 66 angezeigt werden.
  • Wie in 3 dargestellt, kann Computergerät 60 zudem Kommunikationseinheit 70 beinhalten und/oder operativ mit dieser gekoppelt sein. Kommunikationseinheit 70 kann, wie in 2 beschrieben, Funktionen der Kommunikationseinheit 46 beinhalten. Beispiele der Kommunikationseinheit 70 können eine Netzwerkschnittstellenkarte, eine Ethernetkarte, einen optischen Sendeempfänger, einen Hochfrequenz-Sendeempfänger oder eine beliebige andere Art von Gerät beinhalten, welche(s/r) Informationen senden und empfangen kann. Andere Beispiele dieser Kommunikationseinheiten können Bluetooth-, 3G- und Wi-Fi-Funkeinrichtungen, Universal Serial Bus(USB)-Schnittstellen usw. beinhalten. Computergerät 60 kann zudem ein oder mehrere andere Geräte, z. B. Eingabegeräte, Ausgabegeräte, Speichergeräte usw., die in 3 der Kürze und Veranschaulichung halber nicht dargestellt sind, beinhalten oder operativ mit diesen gekoppelt sein.
  • 3 veranschaulicht ebenfalls Projektor 80 und Projektorbildschirm 82. Andere solche Beispiele von Projektorgeräten können elektronische Weißwandtafeln, holografische Anzeigegeräte und andere geeignete Geräte zum Anzeigen von grafischen Inhalten beinhalten. Der Projektor 80 und der Projektorbildschirm 82 können eine oder mehrere Kommunikationseinheiten beinhalten, die die jeweiligen Geräte in die Lage versetzen, mit dem Computergerät 60 zu kommunizieren. In einigen Beispielen kann die eine oder können die mehreren Kommunikationseinheiten die Kommunikation zwischen dem Projektor 80 und dem Projektorbildschirm 82 ermöglichen. Der Projektor 80 kann Daten vom Computergerät 60 empfangen, das grafische Inhalte beinhaltet. Der Projektor 80 kann in Reaktion auf das Empfangen der Daten die grafischen Inhalte auf den Projektorbildschirm 82 projizieren. In einigen Beispielen kann Projektor 80 eine oder mehrere Benutzereingaben (wie z. B. kontinuierliche Gesten, Mehrfachberührungsgesten, Einfachberührungsgeste usw.) am Projektorbildschirm mithilfe optischer Erkennung oder anderer geeigneter Techniken ermitteln und Angaben dieser Benutzereingaben mithilfe einer oder mehrerer Kommunikationseinheiten an Computergerät 60 senden. In diesen Beispielen ist der Projektorbildschirm 82 ggf. nicht erforderlich, und der Projektor 80 kann grafische Inhalte auf jedes geeignete Medium projizieren und eine oder mehrere Benutzereingaben mittels optischer Erkennung oder anderen derartigen geeigneten Techniken erkennen.
  • Der Projektorbildschirm 82 kann in einigen Beispielen eine präsenzsensible Anzeige 84 beinhalten. Die präsenzsensible Anzeige 84 kann, wie in dieser Offenbarung beschrieben, eine Teilgruppe oder die gesamte Funktionalität der Eingabekomponenten 42 und der Ausgabekomponenten 44 von UI-Gerät 4 beinhalten. In einigen Beispielen kann die präsenzsensible Anzeige 84 zusätzliche Funktionalität beinhalten. Der Projektorbildschirm 82 (wie z. B. eine elektronische Weißwandtafel) kann Daten von dem Computergerät 60 empfangen und die grafischen Inhalte anzeigen. In einigen Beispielen kann die präsenzsensible Anzeige 84 eine oder mehrere Benutzereingaben (z. B. kontinuierliche Gesten, Mehrfachberührungsgesten, Einfachberührungsgesten usw.) am Projektorbildschirm 82 mittels kapazitiver, induktiver und/oder optischer Erkennungstechniken bestimmen und Hinweise auf jene Benutzereingabe mittels einer oder mehreren Kommunikationseinheiten an das Computergerät 60 senden.
  • 3 veranschaulicht zudem das Mobilgerät 86 und visuelle Anzeigegerät 90. Das Mobilgerät 86 und das optische Anzeigegerät 90 können jeweils Rechen- und Konnektivitätsfähigkeiten beinhalten. Beispiele für das Mobilgerät 86 können e-Reader-Geräte, konvertierbare Notebook-Geräte, Hybridschreibtafelgeräte usw. beinhalten. Beispiele für das visuelle Anzeigegerät 90 können andere halbstationäre Geräte, wie z. B. Fernseher, Computermonitore usw., beinhalten. Wie in 3 dargestellt, kann das Mobilgerät 86 eine präsenzsensible Anzeige 88 beinhalten. Das visuelle Anzeigegerät 90 kann eine präsenzsensible Anzeige 92 beinhalten. Die präsenzsensiblen Anzeigen 88 und 92 können, wie in dieser Offenbarung beschrieben, eine Teilgruppe der Funktionalität oder die gesamte Funktionalität der Eingabekomponenten 42 und/oder der Ausgabekomponenten 44 beinhalten. In einigen Beispielen können die präsenzsensiblen Anzeigen 88, 92 Zusatzfunktionalität beinhalten. In jedem Fall kann die präsenzsensible Anzeige 92 z. B. Daten vom Computergerät 60 empfangen und die grafischen Inhalte anzeigen. In einigen Beispielen kann die präsenzsensible Anzeige 92 eine oder mehrere Benutzereingaben (z. B. kontinuierliche Gesten, Mehrfachberührungsgesten, Einfachberührungsgesten usw.) am Projektorbildschirm mittels kapazitiver, induktiver und/oder optischer Erkennungstechniken bestimmen und Hinweise auf jene Benutzereingabe mittels einer oder mehreren Kommunikationseinheiten an Computergerät 60 senden.
  • Wie zuvor in einigen Beispielen beschrieben, kann Computergerät 60 grafische Inhalte zum Anzeigen auf der präsenzsensiblen Anzeige 64 ausgeben, die durch einen Systembus oder einen anderen geeigneten Kommunikationskanal mit dem Computergerät 60 gekoppelt ist. Das Computergerät 60 kann zudem grafische Inhalte zum Anzeigen an einem oder mehreren Remote-Geräten, wie z. B. einem Projektor 80, einem Projektorbildschirm 82, einem Mobilgerät 86 und einem visuellen Anzeigegerät 90, ausgeben. Das Computergerät 60 kann beispielsweise eine oder mehrere Anweisungen zum Erzeugen und/oder Modifizieren von grafischen Inhalten gemäß Techniken der vorliegenden Offenbarung ausführen. Das Computergerät 60 kann die Daten, die die grafischen Inhalte beinhalten, an eine Kommunikationseinheit des Computergeräts 60, wie z. B. die Kommunikationseinheit 70, ausgeben. Die Kommunikationseinheit 70 kann die Daten an ein oder mehrere der Remote-Geräte, wie z. B. einen Projektor 80, einen Projektorbildschirm 82, ein Mobilgerät 86 und ein visuelles Anzeigegerät 90, senden. Auf diese Weise kann Computergerät 60 die grafischen Inhalte zur Anzeige an ein oder mehrere der Remote-Geräte ausgeben. In einigen Beispielen können ein oder mehrere der Remote-Geräte die grafischen Inhalte an eine präsenzsensible Anzeige ausgeben, die in den jeweiligen Remote-Geräten enthalten und/oder operativ mit denselben gekoppelt ist.
  • In einigen Beispielen kann Computergerät 60 möglicherweise keine grafischen Inhalte an die präsenzsensible Anzeige 64 ausgeben, die operativ mit dem Computergerät 60 gekoppelt ist. In anderen Beispielen kann Computergerät 60 grafische Inhalte zum Anzeigen auf der präsenzsensiblen Anzeige 64, die mit dem Computergerät 60 durch den Kommunikationskanal 62A operativ gekoppelt ist, und auf einem oder mehreren Remote-Geräten ausgeben. In diesen Beispielen können die grafischen Inhalte im Wesentlichen gleichzeitig auf jedem jeweiligen Gerät angezeigt werden. Eine Verzögerung kann beispielsweise durch die Kommunikationslatenz zum Senden der Daten, die die grafischen Inhalte beinhalten, die an das Remote-Gerät zu senden sind, eingebracht werden. In einigen Beispielen können sich grafische Inhalte, die durch Computergerät 60 erzeugt und zum Anzeigen an die präsenzsensible Anzeige 64 ausgegeben wurden, von der Anzeige der grafischen Inhalte unterscheiden, die zum Anzeigen an ein oder mehrere Remote-Geräte ausgegeben wurden.
  • Das Computergerät 60 kann Daten mittels geeigneter Kommunikationstechniken senden und empfangen. Computergerät 60 kann beispielsweise mittels der Netzwerkverbindung 72A operativ mit dem externen Netzwerk 74 gekoppelt sein. Jedes der in 3 veranschaulichten Remote-Geräte kann durch eine der jeweiligen Netzwerkverbindungen 72B, 72C und 72D operativ mit dem externen Netzwerk 74 gekoppelt sein. Das externe Netzwerk 74 kann Netzwerk-Hubs, Netzwerkschalter, Netzwerk-Router usw. beinhalten, die operativ miteinander gekoppelt sind, wodurch sie den Austausch von Informationen zwischen dem Computergerät 60 und den in 3 veranschaulichten Remote-Geräten ermöglichen. In einigen Beispielen können die Netzwerkverbindungen 72A72D Ethernet, ATM oder andere Netzwerkverbindungen sein. In diesen Verbindungen kann es sich um drahtlose und/oder drahtgebundene Verbindungen handeln.
  • In einigen Beispielen kann Computergerät 60 mittels der direkten Gerätekommunikation 78 operativ mit einem oder mehreren der in 3 enthaltenen Remote-Geräte gekoppelt sein. Die direkte Gerätekommunikation 78 kann Kommunikationen beinhalten, durch die Computergerät 60 Daten mittels drahtgebundener oder drahtloser Kommunikation direkt mit einem Remote-Gerät sendet und empfängt. Das heißt, dass in einigen Bespielen von direkter Gerätekommunikation 78 Daten, die direkt durch Computergerät 60 gesendet werden, möglicherweise nicht durch ein oder mehrere zusätzliche Geräte weitergeleitet werden, bevor sie am Remote-Gerät empfangen werden, und umgekehrt. Beispiele von direkter Gerätekommunikation 78 können Bluetooth, Nahfeldkommunikation, Universal Serial Bus, Wi-Fi, Infrarot usw. beinhalten. Ein oder mehrere der Remote-Geräte, die in 3 veranschaulicht sind, können mit dem Computergerät 60 operativ durch Kommunikationsverbindungen 76A76D gekoppelt sein. In einigen Beispielen können die Kommunikationsverbindungen 76A76D Verbindungen sein, die mittels Bluetooth, Nahfeldkommunikation, Universal Serial Bus, Infrarot usw. aufgebaut werden. Bei diesen Verbindungen kann es sich um drahtlose und/oder drahtgebundene Verbindungen handeln.
  • Gemäß Techniken der Offenbarung kann Computergerät 60 mittels des externen Netzwerks 74 operativ mit der visuellen Anzeigekomponente 90 verbunden sein. Computergerät 60 kann grafische Inhalte zur Anzeige auf der präsenzsensiblen Anzeige 92 ausgeben. Beispielsweise kann Computergerät 60 Daten an Kommunikationseinheit 70 senden, die eine grafische Benutzeroberfläche für eines oder mehrere der Anwendungsmodule 10 beinhalten. Kommunikationseinheit 70 kann die Daten, einschließlich der grafischen Benutzeroberfläche, über das externe Netzwerk 74 an das visuelle Anzeigegerät 90 senden. Das visuelle Anzeigegerät 90 kann in Reaktion auf das Empfangen der Daten mithilfe des externen Netzwerks 74 die präsenzsensible Anzeige 92 veranlassen, eine grafische Benutzeroberfläche auszugeben. In Reaktion auf das Empfangen einer oder mehrerer Benutzereingaben, wie etwa einer Geste auf der präsenzsensiblen Anzeige 92 (z. B. in einem Bereich der präsenzsensiblen Anzeige 92), können das visuelle Anzeigegerät 90 und andere der Eingabekomponenten 42 Hinweise auf Eingaben mittels des externen Netzwerks 74 an Computergerät 60 senden. Kommunikationseinheit 70 kann den Hinweis auf die Eingaben empfangen und Hinweise an Computergerät 60 senden.
  • Computergerät 60 kann in dem Beispiel von 3 eine Kommunikation erhalten. Computergerät 60 kann einen Hinweis (z. B. zur Anzeige) auf die empfangene Kommunikation ausgeben. Computergerät 60 kann beispielsweise Daten für eine visuelle Darstellung der empfangenen Kommunikation an Kommunikationseinheit 70 senden. Kommunikationseinheit 70 kann die Daten über das externe Netzwerk 74 an das visuelle Anzeigegerät 90 senden. Die visuelle Anzeigegerät 90 kann veranlassen, dass die präsenzsensible Anzeige 92 die visuelle Darstellung der empfangenen Kommunikation zur Anzeige ausgibt.
  • In Reaktion auf das Empfangen eines Hinweises auf eine Benutzereingabe, um auf die empfangene Kommunikation (z. B. eine Eingabe, die mittels einer der Eingabekomponenten 42 durchgeführt wird) zu antworten, kann Computergerät 60 (z. B. das Kommunikationsantwortmodul 12) eine oder mehrere Kandidatenantworten bestimmen. Computergerät 60 kann Daten für eine visuelle Darstellung von mindestens einer der einen oder mehreren Kandidatenantworten zur Anzeige an die Kommunikationseinheit 70 senden.
  • Computergerät 60 kann eine Eingabe empfangen, die eine Kandidatenantwort aus der einen oder den mehreren Kandidatenantworten auswählt, und kann die Kandidatenantwort (z. B. in Reaktion auf die empfangene Kommunikation) senden. Kommunikationseinheit 70 kann die Daten über das externe Netzwerk 74 an das visuelle Anzeigegerät 90 senden. Das visuelle Anzeigegerät 90 kann die präsenzsensible Anzeige 92 dazu veranlassen, die visuelle Benutzeroberfläche (z. B. an einen Benutzer) auszugeben.
  • 4 zeigt ein Blockdiagramm, das exemplarische Techniken zum maschinellen Trainieren eines Modells veranschaulicht, das Computergerät 2 verwenden kann, um Kandidatenantworten für eine empfangene Kommunikation gemäß einer oder mehreren Techniken der vorliegenden Offenbarung zu erstellen. Wie in 4 dargestellt, kann System 100 ein oder mehrere Computergeräte, wie beispielsweise ein oder mehrere Desktop- oder Server-Computergeräte, eine Gruppe von Computergeräten und dergleichen, beinhalten, die das maschinelle Lernen durchführt, um ein analytisches Modell aufzubauen und um Kandidatenantworten für eine empfangene Kommunikation abzuleiten. In einigen Beispielen kann sich System 100 extern von Computergerät 2 befinden. Insbesondere kann System 100 das Lernmodul 110 ausführen, um ein maschinelles Lernen durch Analysieren von Trainingsdaten 104 durchzuführen, um zu erfahren, welche Kandidatenantworten zum Beantworten von Nachrichten relevant sein können, um Antwortvorschlagmodell 56 zu erzeugen, das vom Antwortvorschlagsmodul 54 von Computergerät 2 verwendet wird, um eine oder mehrere Kandidatenantworten, die für eine empfangene Kommunikation relevant sind, abzuleiten.
  • Trainingsdaten 104 können Chat-Korpora 106 und Kontext 108 beinhalten. Chat-Korpora 106 können Chat- und Messaging-Daten, wie z. B. Protokolle und Transkripte von Internetnachrichten, SMS-Nachrichten, Internetchats, Sofortnachrichten, Direktnachrichten auf sozialen Netzwerkplattformen, Chatraumnachrichten, Online-Gespräche, empfangene Kommunikationsantwortmitteilungspaare und dergleichen, beinhalten, sodass Chat-Korpora 106 eine Vielzahl von Nachrichten und Antworten auf jene Nachrichten enthält, die System 100 verwenden kann, um Antwortvorschlagsmodul 54 zu trainieren.
  • Kontext 108 kann kontextbezogene Informationen beinhalten, die den Chat- und Messaging-Daten zugeordnet sind, die in Chat-Korpora 106 enthalten sind und nützlich sein können, um wahrscheinliche Antwortkandidaten für Nachrichten zu bestimmen. Beispielsweise kann Kontext 108 einen oder mehrere Benutzernamen der Absender und Empfänger der Nachrichten innerhalb der Chat-Korpora 106, die Beziehung zwischen dem Absender und den Empfängern, den Ort der Absender und Empfänger, die Tageszeit, zu der die Absender und Empfänger die Nachrichten gesendet und empfangen haben, die Art der Nachrichten (z. B. Internet-Chat, Textnachricht, Sofortnachricht oder andere Arten), die Tätigkeit der Absender und Empfänger, Aktivitäten, an denen die Absender und Empfänger beteiligt sind, beinhalten.
  • Wie vorstehend erläutert, soll Antwortvorschlagsmodell 56 in einem mobilen Computergerät, wie z. B. Computergerät 2, das eine relativ niedrige Verarbeitungsleistung und relativ wenig Speicher aufweist, enthalten sein. Dementsprechend kann System 100 eine Vielzahl von Techniken ausführen, um Antwortvorschlagsmodell 56 zu erzeugen, das relativ niedrigere Verarbeitungs- und Speicheranforderungen aufweist. Zu diesem Zweck kann System 100 ein maschinelles Lernen mittels Lernmodul 110 anhand von Trainingsdaten 104 durchführen, um Antwortvorschlagmodell 56 zu erzeugen, das von Antwortvorschlagsmodul 54 basierend auf einer randomisierten Vorhersagemodell-(RPM)-Architektur verwendet wird, sodass sowohl das durchgeführte maschinelle Lernen von Lernmodul 110 sowie die Inferenzen für Antwortvorschlagsmodell 56 auf der RPM-Architektur basieren.
  • In einigen Beispielen können Trainingsdaten 104 durch Merkmalsvektoren dargestellt werden. Ein Merkmalsvektor kann ein n-dimensionaler Vektor numerischer Merkmale, die ein Objekt repräsentieren, sein. In dem Beispiel von 4 kann jede Nachricht innerhalb der Chat-Korpora 106 durch einen Merkmalsvektor dargestellt werden, der ein oder mehrere kontextabhängige Signale, die aus dem Inhalt der bestimmten Nachricht (z. B. Wörter, Phrasen, abgeleitete Themen und dergleichen) abgeleitet werden, sowie kontextabhängige Signale umfasst, die, wie im Kontext 108 enthalten, der Nachricht zugeordnet sind.
  • Der Merkmalsvektor für eine bestimmte Nachricht kann als Satz von (ID, Gewichtung) Paaren dargestellt werden. Die ID kann einen eindeutigen Bezeichner für ein bestimmtes Signal darstellen (z. B. eine bestimmte Phrase, wie „Wie geht es dir“), die der Nachricht zugeordnet ist. Die Gewichtung kann die Frequenz oder eine andere geeignete Gewichtung repräsentieren, die dem bestimmten Signal zugeordnet ist.
  • System 100 kann eine oder mehrere Transformationsfunktionen F(x) 102 definieren, um Instanzen von Trainingsdaten 104 als Eingabe in einen anderen Raum ΩF zu projizieren, um ein maschinelles Lernen mittels Lernmodul 110 im Raum ΩF durchzuführen. Die RPM-Architektur kann ein effizientes randomisiertes Projektionsverfahren nutzen, bei der eine modifizierte Version des Locality Sensitive Hashing (LSH) verwendet wird, um eine oder mehrere Transformationsfunktionen F(x) 102 zu definieren. Genauer gesagt, kann System 100 die eine oder mehreren Transformationsfunktionen F(x) 102 anwenden, um eine zufällige Projektion der Trainingsdaten 104 in den Raum ΩF durchzuführen. In einigen Beispielen kann System 100 ein maschinelles Lernen durchführen, um den optimalen Satz von einer oder mehreren Transformationsfunktionen F(x) 102 zu bestimmen und um dessen Projektion von Trainingsdaten 104 zu optimieren.
  • Zufällige Projektionsverfahren können typischerweise verwendet werden, um Dokumente oder andere Arten von Daten zu sammeln, um eine Ähnlichkeit zwischen Datenpunkten mit hoher Dimensionalität effizient zu berechnen. In Bezug auf die hierin offenbarten Techniken können die die Nachrichten repräsentierenden Merkmalsvektoren aufgrund der Vokabulare mit großen Wörtern, die typischerweise in Text in natürlicher Sprache oder informeller Chat-Sprache verwendet werden, eine relativ hohe Dimensionalität aufweisen. Die hierin offenbarten Techniken führen mehrere zufällige Projektionen mittels der einen oder mehreren Transformationsfunktionen F(x) 102 durch. System 100 kann eine zufällige Projektion mittels der einen oder mehreren Transformationsfunktionen F(x) 102 durchführen, um die Eingabedaten „x“ (z. B. einen hochdimensionalen Merkmalsvektor entsprechend einer eingehenden Chat-Nachricht) effizient in eine niederdimensionale Darstellung umzuwandeln. System 100 kann ferner die projizierte Repräsentation zusammen mit der Originalnachricht „x“ gepaart mit beobachteten Antworten (Startbeispiele aus Trainingsdaten 104, die in 4 als Startbeispiele 112 gezeigt werden) erweitern und ein gemeinsames Lernen über diesen erweiterten Raum durchführen, um ein maschinell trainiertes Modell (z. B. Antwortvorschlagsmodell 56) zu trainieren.
  • Wie vorstehend beschrieben, kann die RPM-Architektur ein effizientes randomisiertes Projektionsverfahren nutzen, bei der eine modifizierte Version des Locality Sensitive Hashing (LSH) verwendet wird, um eine oder mehrere Transformationsfunktionen F(x) 102 zu definieren. Die RPM-Architektur kann ein zufälliges Projektionsverfahren basierend auf LSH verwenden, das spontan während des Trainings (z. B. durch System 100 oder anderswo in der Cloud) und während der Inferenzzeit effizient berechnet werden kann (z. B. bei Anwendung des Antwortvorschlagsmodells 56 auf Gerät 2). Das spontane Berechnen der Funktionen kann in einigen Fällen für die geräteinterne Inferenz wichtig sein (z. B. Ausführen des Antwortvorschlagsmodells 56 auf Computergerät 2), da ein Telefon oder eine Smartwatch (z. B. Computergerät 2) Speicherbeschränkungen aufweisen könnte, weswegen es für das Gerät deshalb nicht möglich sein könnte, Zufallsvektoren durch System 100 vorzuberechnen (die für hochdimensionale Daten sehr groß sein können), wobei die Zufallsvektoren für das Durchführen der einen oder der mehreren Transformationsfunktionen F(x)102-Projektionen erforderlich sein und vorberechnete zufällige Vektoren im Speicher (z. B. auf Speichergeräte 50) von Computergerät 2 nicht gespeichert werden können.
  • System 100 kann eine oder mehrere Transformationsfunktionen F(x) 102 ausführen, um jede Nachricht innerhalb von Trainingsdaten 104 (z. B. einen Merkmalsvektor) in eine Hash-Signatur zu projizieren und umzuwandeln, die als binärer Bitvektor (d. h. mit Werten von 1 und 0) mit einer festgelegten Anzahl von Bits repräsentiert wird. Auf diese Weise transformiert System 100 eine Eingabe mit einer relativ hohen Dimensionalität in eine niederdimensionale Darstellung eines Bitvektors mit einer festen Anzahl von Bits. Beispielsweise kann System 100 jede Nachricht in einen Bitvektor mit der gleichen Anzahl von Bits (z. B. 8 Bits) hashen, sodass die Nachricht „Wie geht es Ihnen?“ nach der Projektion mit der Hash-Signatur 01001010 dargestellt werden kann. In der Praxis kann System 100 mehrere Projektionen auf einen einzelnen Nachrichteneigenschaftsvektor anwenden, sodass jeder Nachrichteneigenschaftsvektor „x“ mit mehreren Hash-Signaturen dargestellt wird, die alle während des Trainings im Lernmodul 110 zu dem Nachrichteneigenschaftsvektor „x“ hinzugefügt und mit diesem verknüpft werden können.
  • Dementsprechend können die hierin offenbarten Techniken eine effiziente spontane Berechnung des Zufallsprojektionsverfahrens ermöglichen, wodurch einem mobilen Computergerät ermöglicht wird, den Zufallsvektor zu berechnen, wodurch die Notwendigkeit vermieden wird, dass die mobile Computergerät vorberechnete zufällige Vektoren speichert. Somit können die hierin offenbarten Techniken einem mobilen Computergerät ermöglichen, ein geräteinternes, maschinell trainiertes Modell auszuführen, um Kandidatenantworten für eine empfangene Kommunikation abzuleiten, ohne dass ein geräteexternes Modell verwendet werden muss.
  • System 100 kann Lernmodul 110 ausführen, um ein Training anhand der Trainingsdaten 104 auszuführen, die eine reduzierte Dimensionalität von Merkmalen aufweisen, wie diese durch eine oder mehrere Transformationsfunktionen F(x) 102 im Raum ΩF transformiert wurden, um ein Antwortvorschlagsmodell 56 zu konstruieren, das Antworten auf eine Nachricht (z. B. eine empfangene Kommunikation) und eine spezifizierte Anzahl von Antworten mit den höchsten Punktzahlen findet.
  • In einem Beispiel kann System 100 ein halbüberwachtes maschinelles Lernen anhand der Trainingsdaten 104 mittels eines Graphen-basierten Modellierungsrahmens ausführen und eine Kennzeichnungspropagation über Knoten eines Graphen ausführen, um die Modellgewichtungen θF zum Erzeugen des Antwortvorschlagsmodells 56 zu trainieren. Durch Ausführen des Maschinenlernens anhand der Trainingsdaten 104 kann System 100 einen Graphen 114 konstruieren, in dem Daten durch Knoten und Kennungen dargestellt werden, die auf Knoten angewendet werden und wobei zugehörige Knoten durch Kanten verknüpft sind. Die Kanten können zugeordnete Kantengewichtungen aufweisen, die durch eine Ähnlichkeitsfunktion auf den verknüpften Knoten definiert sind und angeben, wie stark die Kennungen verbundener Knoten übereinstimmen müssen. System 100 kann eine Kennzeichnungspropagation über die Knoten des Graphen 114 durch Verwendung von Klassen-Kenndaten durchführen, die jedem mit einer Kennung bezeichneten Startknoten zugeordnet sind und diese Kennung iterativ über den Graphen propagieren. Diese Technik zum maschinellen Lernen kann in einigen Fällen als ein auf Expander-Graphen basierendes Framework für maschinelles Lernen bezeichnet werden.
  • In dem Graphen 114 können die den eingehenden Nachrichten „x“ zugeordneten Nachrichtenknoten über Kanten mit Antwortknoten verbunden sein, die Antworten auf Nachrichten zugeordnet sind. Ferner kann der Graph 114 ebenfalls projizierte Knoten beinhalten, die die projizierten Hash-Signaturen F(x) für eine Nachricht repräsentieren, und diese projizierten Knoten über Kanten mit dem Nachrichtenknoten verknüpfen, der der entsprechenden Nachricht „x“ zugeordnet ist. System 100 kann die semantische Absicht der den Antwortknoten zugeordneten Antworten zumindest teilweise basierend auf dem Extrahieren lexikalischer Merkmale aus den Antworten ableiten, die Antworten mit der entsprechenden semantischen Absicht bezeichnen und eine Kennzeichnungspropagation ausführen, um iterativ die relevante semantische Absicht zusammen mit tatsächlichen Antworten durch den Graphen 114 an Nachrichtenknoten und Hash-Antwortknoten auszubreiten, um eine Rangliste vorhergesagter Antworten und entsprechender Gewichtungen (z. B. Vertrauenspunktzahlen) für jeden projizierten Knoten, der eine entsprechende projizierte Hash-Signatur darstellt, zu lernen. Auf diese Weise kann Lernmodul 110 Antworten und entsprechende Gewichtungen den Nachrichten zuordnen, wobei die Gewichtung die Relevanz der zugeordneten Antwort auf die bestimmte Nachricht anzeigen kann.
  • Ferner kann System 100 durch Ableiten der semantischen Absicht der Antworten, die den Antwortknoten zugeordnet sind, Clusterantworten mit der gleichen semantischen Absicht in semantische Cluster bestimmen. Beispielsweise kann jede, zu demselben semantischen Cluster gehörende Antwort mit der gleichen Kennung, die die Mitgliedschaft der Antwort im semantischen Cluster angibt, bezeichnet werden.
  • Da der Graph 114 Nachrichtenknoten mit projizierten Knoten verbindet, die Hash-Signaturen von Nachrichten zugeordnet sind, kann jeder der projizierten Knoten in Graph 114 mit der gleichen Rangliste vorhergesagter Antworten und Gewichtungen wie ein entsprechender Nachrichtenknoten markiert werden. Dies kann es System 100 ermöglichen, ein relativ leichtgewichtiges Antwortvorschlagsmodell 56 zu erzeugen, das einen Satz projizierter Knoten beinhalten kann, die mit Antworten und entsprechenden Gewichtungen sowie semantischen Cluster-Kennungen gekennzeichnet sind, die den einen oder die mehreren semantischen Cluster angeben, zu denen jede Antwort gehört, was für mobile Computergeräte wie Mobiltelefone und Smartwatches geeignet sein kann.
  • Zusätzlich kann System 100 zusätzliche Normalisierungstechniken, die für projizierte Knoten zum Abwärtsgewichten häufig auftretender Antworten (wie z. B. „Danke“) gelernt werden, auf Antworten anwenden. Die projizierten Hash-Signaturen (z. B. Bitvektoren in einer niederdimensionalen Darstellung) zusammen mit den Antwort-Kennungen und Gewichtungen bilden zusammen Antwortvorschlagsmodell 56, das Computergerät 2 verwenden kann, um Kandidatenantworten für eine empfangene Kommunikation abzuleiten.
  • 5 zeigt ein Blockdiagramm, das exemplarische Techniken zum Erstellen von Kandidatenantworten für eine empfangene Kommunikation mittels eines maschinell trainierten Modells gemäß einer oder mehreren Techniken der vorliegenden Offenbarung veranschaulicht. Wie in 5 dargestellt, kann das auf Computergerät 2 ausgeführte Antwortvorschlagsmodul 54 ein Antwortvorschlagsmodell 56 beinhalten, das gemäß den in Bezug auf 4 beschriebenen Techniken maschinell trainiert wird.
  • Computergerät 2 kann Antwortvorschlagsmodul 54 empfangen und installieren. Bei Antwortvorschlagsmodul 54, wie es auf Computergerät 2 installiert ist, kann es sich um einen Satz von Hash-Signaturen (z. B. Bitvektoren), einen Satz projizierter Knoten, die den Hash-Signaturen zugeordnet sind, einen Satz von Antwort-Kennungen, die eine jedem der projizierten Knoten zugeordnete Rangliste vorhergesagter Antworten angeben, die jeder der vorhergesagten Antworten zugeordnete Gewichtung, die die Relevanz einer vorhergesagten Antwort für einen projizierten Knoten angeben und um semantische Cluster-Kennungen, die dem Satz vorhergesagter Antworten zugeordnet sind, die den einen oder die mehreren semantischen Cluster angeben, zu dem/denen die vorhergesagte Antwort gehört, handeln. Die Hash-Signaturen, Antwort-Kennung, Gewichtungen und Angaben semantischer Cluster-Kennung können als Struktur oder unstrukturierte Daten, wie z. B. Datenbanktabellen, durch Kommas getrennte Werte, XML-(Extensible Markup Language)-Dateien, Nachschlagetabellen und dergleichen gespeichert werden.
  • Wenn Computergerät 2 eine Kommunikation empfängt, kann Computergerät 2 das Antwortvorschlagsmodul 54 verwenden, um eine oder mehrere Kandidatenantworten für die empfangene Kommunikation zu erzeugen. In Reaktion auf das Empfangen einer Kommunikation, für die Computergerät 2 eine Antwort erzeugen kann, kann Antwortvorschlagsmodul 54 die empfangene Kommunikation spontan mittels derselben oder mehreren Transformationsfunktionen F(x) 102, die während der Trainingszeit des Antwortvorschlagsmodells 56 verwendet werden, in eine Hash-Signatur (z. B. Bitvektoren in einer niederdimensionalen Darstellung) projizieren. Computergerät 2 kann die Antworten und Gewichtungen der Antworten, die dem projizierten Knoten entsprechen, der der Hash-Signatur zugeordnet ist, aggregieren und sortieren, um eine Rangliste vorhergesagter Antworten für die empfangene Kommunikation zu erzeugen, die mit den zugehörigen Gewichtungen der vorhergesagten Antworten korreliert. Beispielsweise kann Computergerät 2 die am stärksten gewichteten vorhergesagten Antworten (z. B. die oberen 3 Antworten mit den größten entsprechenden Gewichtungen) als Kandidatenantworten auf die empfangenen Kommunikationen bewerten, die Computergerät 2 dem Benutzer zur Auswahl bereitstellen kann.
  • In einigen Beispielen kann Antwortvorschlagsmodell 56 ebenfalls zusätzliche Kandidatenantworten, zumindest teilweise basierend auf der semantischen Bedeutung einer Kandidatenantwort, vorschlagen. Beispielsweise, wenn „Ja, das funktioniert!“ in einer exemplarischen Rangliste vorhergesagter Antworten enthalten ist, kann Antwortvorschlagsmodell 56 ebenfalls andere verwandte, jedoch vielfältigere Antworten wie etwa „Klingt gut“, die dieselbe oder ähnliche semantische Bedeutung besitzen, basierend auf semantischen Absichten für die vorhergesagte Antwort, bestimmen und vorschlagen. Antwortvorschlagsmodell 56 kann diese semantischen Absichten, die zumindest teilweise auf den den Antworten zugeordneten semantischen Cluster-Kennungen basieren, ableiten, sodass Antwortvorschlagsmodell 56 bestimmen kann, dass die Antworten semantisch miteinander verwandt sind, wenn diese jeweils dieselbe semantische Cluster-Kennung aufweisen.
  • In einigen Beispielen kann Computergerät 2 eine Diversitäts-basierte Rangordnung verwenden, um sich wiederholende Antworten zu vermeiden, die zu demselben semantischen Cluster gehören. Beispielsweise können die vorausgesagten Antworten „Danke!“ und „Danke dir“ beide zum selben semantischen Cluster Danke gehören. In diesem Fall, wenn sowohl „Danke!“ als auch „Danke dir“ Bestandteil des Satzes der am höchsten eingestuften vorhergesagten Antworten sind, die zumindest teilweise basierend auf der mit den Antworten zugeordneten Gewichtung bestimmt werden können, kann Computergerät 2 die Bewertung einer der beiden Antworten herabstufen, sodass nur eine der beiden vorhergesagten Antworten in dem Satz von Kandidatenantworten enthalten ist, die Computergerät 2 für den Benutzer zur Auswahl bereitstellt.
  • Formaler ausgedrückt, kann Computergerät 2 für eine empfangene Konversation Antwortkandidatenvorhersagen Rvorausgesagt (d. h. vorhergesagte Antworten) entsprechend, wie vorstehend erläutert, innerhalb des Antwortvorschlagsmoduls 54 erzeugen, die Antwortvorschläge i ∊ Rvorausgesagt in abnehmender Reihenfolge, basierend auf den Vorhersagepunktzahlen θi, wertemäßig einstufen und die Antwortvorschläge herausfiltern, wobei θi kleiner als der Modellschwellenwert θSchwellenwert ist. Für die verbleibenden Kandidatenantworten, die mittels des Antwortvorschlagsmoduls 54 vorhergesagt werden, kann Computergerät 2 die vorstehend erläuterte Diversitäts-basierte Rangeinordnung anwenden, um Kandidatenantworten basierend auf der semantischen Cluster-Bildung von rangmäßig bewerteten Antwort-Clustern (ri) herauszufiltern, sodass nur eine einzige vorhergesagte Antwort eines bestimmten semantischen Clusters in dem Satz von Kandidatenantworten enthalten ist, die dem Benutzer präsentiert werden.
  • Somit kann Antwortvorschlagsmodul 54 mittels einer oder mehrerer Transformationsfunktionen F(x) 102 die empfangene Kommunikation spontan in eine zufällige Hash-Signatur projizieren. Antwortvorschlagsmodul 54 kann den projizierten Knoten, der der Hash-Signatur zugeordnet ist, bestimmen und den Satz vorhergesagter Antworten, die dem projizierten Knoten zugeordnet sind, bestimmen. Für den Satz vorhergesagter Antworten, die dem projizierten Knoten zugeordnet sind, kann Antwortvorschlagsmodul 54 Antworten herausfiltern, die zugeordnete, unter einem Schwellenwert liegende Gewichtungen aufweisen. Für die verbleibenden Antworten kann Antwortvorschlagsmodul 54 Diversitäts-basierende Rangfolgen anwenden. Beispielsweise kann Antwortvorschlagsmodul 54, basierend auf den den verbleibenden vorhergesagten Antworten zugeordneten semantischen Cluster-Kennungen, bestimmen, ob zwei oder mehr der vorhergesagten Antworten dieselbe semantische Cluster-Kennung aufweisen und sich somit in demselben semantischen Cluster befinden. Ist dies der Fall, kann Antwortvorschlagsmodul 54 diese vorhergesagten Antworten auf Grundlage ihrer zugeordneten Gewichtungen ordnen und die niedrigere(n) vorhergesagte(n) Antwort(en) herabstufen, sodass nur eine einzige vorausgesagte Antwort in dem semantischen Cluster in dem Satz der dem Benutzer präsentierten Kandidatenantworten enthalten ist.
  • In einigen Beispielen kann Computergerät 2 Standard-Kandidatenantwortvorschläge in dem Satz von Kandidatenantworten, die dem Benutzer zur Auswahl bereitgestellt werden, einbeziehen. Computergerät 2 kann einen Satz von Standard-Kandidatenantworten RStandard durch Auswählen von Antworten populärer semantischer Cluster basierend auf der Häufigkeit in Chat-Daten erzeugen. Computergerät 2 kann eine Vorhersagepunktzahl für jede Kandidatenantwort innerhalb des Satzes von Standard-Kandidatenantworten berechnen. RStandard als Wert = λzurücksetzen·(Rangfolgemax – Rangfolgeaktuell), wobei λzurücksetzen ein Standardwert sein kann (z. B. 1e–6), Rangfolgemax auf einen Wert (z. B. 3) gesetzt werden kann, abhängig davon, wie viele Kandidatenantworten Computergerät 2 dem Benutzer präsentiert, während Rangfolgeaktuell die Rangfolge der bestimmten Kandidatenantwort innerhalb des Satzes von Standard-Kandidatenantworten sein kann. Die Bewertungen der Kandidatenantworten innerhalb des Satzes von Standard-Kandidatenantworten RStandard können mit den Bewertungen der Antwortkandidatenvorhersagen Rvorhergesagt verglichen werden, wobei eine oder mehrere Standard-Kandidatenantworten in dem Satz von Kandidatenantworten enthalten sein können, die dem Benutzer, zumindest teilweise basierend auf deren Bewertungen im Vergleich zu der Bewertung des Satzes von Kandidatenantworten, präsentiert werden.
  • In einigen Beispielen kann Computergerät 2 ein verwandtes Cluster-Modell verwenden, um Kandidatenantworten von semantischen Clustern einzubeziehen, die mit den semantischen Clustern der Top-Antwortkandidaten innerhalb des Satzes von Antwortkandidatenvorhersagen Rvorhergesagt verwandt sind, die innerhalb des Antwortvorschlagsmoduls 54 entsprechend erzeugt werden. Zwei semantische Cluster können verbunden sein, wenn eine vorhergesagte Antwort zu beiden semantischen Clustern gehört.
  • Beispielsweise kann Computergerät 2 die Top-Kandidatenantwort ri ∊ Rvorhergesagt auswählen und ein Nachschlagen im semantischen Cluster Ci der Antwort ri durchführen. Diese semantischen Cluster-Zuweisungen können durch System 100 gelernt und erzeugt werden, wenn Antwortvorschlagsmodul 54 erzeugt wird. Das Computergerät 2 kann verwandte Cluster Cj ∊ Verwandte Cluster (Ci) von hierarchischen Verbindungen Cj ↔ Ci abfragen. Das Computergerät 2 kann die Antworten rj ∊ Cj abfragen, um eine Punktzahl für jede dieser Antworten als Punktzahl (rj) ∝ wcj↔ci zu erzeugen, und die Antworten rj mit dem Satz der Antwortkandidatenvorhersagen ri ∊ Rvorhergesagt in eine Rangfolge bringen.
  • In einigen Beispielen kann Computergerät 2 eine weitere Verarbeitung und/oder Filterung der Kandidatenantworten, die vom Antwortvorschlagsmodul 54 erzeugt wurden, durchführen. Beispielsweise kann Computergerät 2 schlechte Antwortvorschläge, wie beispielsweise Antworten mit nachgestellten oder fehlerhaften Interpunktionen, aus den Kandidatenantworten herausfiltern.
  • In einigen Beispielen kann Computergerät 2 aufgrund der Verarbeitungs- und Speicherbeschränkungen von Computergerät 2 nur einen Teil (z. B. weniger als alle) von Antwortvorschlagsmodell 56 laden, um Kandidatenantworten auf eine empfangene Kommunikation zu erzeugen. Beispielsweise kann Computergerät 2 das Antwortvorschlagsmodell 56 in speicherbegrenzte Abschnitte (z. B. weniger als die Gesamtheit) laden oder in diese abbilden, basierend auf häufigen Zugriffsmustern oder zumindest teilweise basierend auf der empfangenen Kommunikation, für die Antwortvorschlagsmodell 56 eine oder mehrere Kandidatenantworten ableiten kann. Somit kann Computergerät 2 in der Lage sein, relativ kleine Teile des Antwortvorschlagsmodells 56 (z. B. in 4 Kilobyte-Blöcken) zu laden, anstatt Antwortvorschlagsmodell 56 vollständig in den Speicher zu laden. In verschiedenen Beispielen kann das Modell leicht aus dem Speicher ausgelagert werden, da Antwortvorschlagsmodell 56 ein Nur-Lese-Modell ist. Somit kann Antwortvorschlagsmodell 56, das ein Nur-Lese-Modell ist, einen potentiellen technischen Vorteil bieten, um in Geräten (z. B. Computergerät 2) mit einem begrenzten Speicher verwendet werden zu können.
  • In einigen Beispielen können die hierin erläuterten Techniken darüber hinaus erweitert werden, sodass diese Techniken zum maschinellen Lernen und Trainieren von Modellen auf dem Mobilgerät (z. B. Computergerät 2) für eine Vielzahl von Anwendungen, wie z. B. Personalisierung von Kandidatenantworten und vorgeschlagenen Kandidatenantworten, basierend auf der Benutzerpräferenz in Bezug auf den Ton, den Stil, die Formalität der Antworten und dergleichen, durchgeführt werden können. Gemäß einigen Aspekten der vorliegenden Offenbarung kann Antwortvorschlagsmodul 54 die dem Benutzer präsentierten Kandidatenantworten personalisieren, indem personalisierte Kandidatenantworten erzeugt und die personalisierten Kandidatenantworten in den dem Benutzer präsentierten Kandidatenantworten einbezogen werden.
  • Antwortvorschlagsmodul 54 kann Kandidatenantworten des Benutzers von Computergerät 2, für den die empfangene Kommunikation bestimmt ist, personalisieren. Um Kandidatenantworten zu personalisieren, kann Antwortvorschlagsmodul 54 personalisierte Kandidatenantworten erzeugen, die dem Schreibstil des Schreibers, dem Ton, der Formalität, der Verwendung von Wörtern und Phrasen, dem Interpunktionsstil und dergleichen besser entsprechen. Antwortvorschlagsmodul 54 kann die personalisierten und dem Benutzer präsentierten Kandidatenantworten in den Satz von Kandidatenantworten einbeziehen.
  • Antwortvorschlagsmodul 54 kann personalisierte Kandidatenantworten, zumindest teilweise basierend auf dem Kommunikationsverlauf 32 des Benutzers von Computergerät 2, für den die empfangenen Kommunikationen vorgesehen sind, erzeugen. Der Kommunikationsverlauf 32 des Benutzers kann vom Benutzer empfangene Nachrichten und von diesem zuvor gesendete Antworten beinhalten. Diese vom Benutzer empfangenen Nachrichten und gesendeten Antworten können Textnachrichten, SMS-Nachrichten, E-Mails, soziale Netzwerkbeiträge und dergleichen beinhalten. Antwortvorschlagsmodul 54 kann die personalisierten Kandidatenantworten, zumindest teilweise basierend auf der Kommunikationsverlauf 32 des Benutzers von Computergerät 2, nur nach der expliziten Gewährung eines Zugriffs durch den Benutzer auf dessen Kommunikationsverlauf 32 erzeugen, und der Benutzer kann den Zugriff auf der Kommunikationsverlauf 32 jederzeit widerrufen.
  • Der Kommunikationsverlauf 32 kann in Computergerät 2 oder in einem externen Computergerät gespeichert sein. Ist beispielsweise Computergerät 2 ein tragbares Gerät, z. B. eine mit einem Smartphone gekoppelte Smartwatch, kann das Kommunikationsprotokoll 32 auf dem Smartphone gespeichert werden. In diesen Beispielen kann Computergerät 2 eine Teilmenge des Kommunikationsverlaufs 32, wie z. B. Hinweise auf die letzten 100 vom Benutzer gesendeten Antworten, Hinweise auf die zuvor vom Benutzer ausgewählten Kandidatenantworten und dergleichen, speichern. Somit kann Computergerät 2 in einigen Beispielen zur Erzeugung personalisierter Kandidatenantworten mit einem externen Computergerät kommunizieren, um auf den darauf gespeicherten Kommunikationsverlauf 32 zuzugreifen.
  • In einigen Beispielen kann Antwortvorschlagsmodul 54 in der Lage sein, personalisierte Kandidatenantworten in Verbindung mit den hierin offenbarten Techniken Kandidatenantworten zu erzeugen. Mit anderen Worten kann Antwortvorschlagsmodul 54 eine empfangene Kommunikation spontan mittels Transformationsfunktion(en) F(x) 102 in eine Hash-Signatur projizieren. Antwortvorschlagsmodul 54 kann einen projizierten Knoten im Antwortvorschlagsmodell 56, der der Hash-Signatur zugeordnet ist, sowie eine Rangfolge vorhergesagter Antworten, die dem projizierten Knoten zugeordnet sind, bestimmen. Antwortvorschlagsmodul 54 kann eine oder mehrere personalisierte Kandidatenantworten zumindest teilweise basierend auf der Rangfolge vorhergesagter Antworten, die dem projizierten Knoten zugeordnet sind, erzeugen und die eine oder mehreren personalisierten Kandidatenantworten in den Satz der dem Benutzer präsentierten Kandidatenantworten einbeziehen.
  • In anderen Beispielen kann Antwortvorschlagsmodul 54 in der Lage sein, personalisierte Kandidatenantworten zu erzeugen, ohne die hierin offenbarten Techniken zum Erzeugen von Kandidatenantworten anzuwenden. In diesem Beispiel kann Antwortvorschlagsmodul 54 einen Satz vorhergesagter Antworten als Antwort auf eine empfangene Kommunikation über eine beliebige geeignete Technik durch oder ohne Verwendung des Antwortvorschlagsmodells 56 bestimmen. Beispielsweise kann Antwortvorschlagsmodul 54 ein Modell verwenden, das die empfangene Kommunikation an ein externes Computergerät 2 sendet, um den Satz vorhergesagter Antworten zu bestimmen. Antwortvorschlagsmodul 54 kann eine oder mehrere personalisierte Kandidatenantworten, zumindest teilweise basierend auf dem Satz vorhergesagter Antworten, als Antwort auf die empfangene Kommunikation erzeugen und eine oder mehrere personalisierte Kandidatenantworten in den Satz der dem Benutzer präsentierten Kandidatenantworten einbeziehen.
  • Antwortvorschlagsmodul 54 kann eine oder mehrere personalisierte Antwortnachrichten, basierend auf dem Kommunikationsverlauf 32, mittels des Personalisierungsmodells 58 erzeugen. Personalisierungsmodell 58 kann den semantischen Cluster bestimmen, zu dem jede zuvor gesendete und in dem Kommunikationsverlauf 32 gespeicherte Antwort des Benutzers gehört, und kann einen Hinweis auf jene zuvor gesendeten semantischen Antwort-Cluster-Verbindungen speichern. Somit kann Personalisierungsmodell 58 eine Karte zuvor gesendeter Antworten mit semantischen Clustern sein. Personalisierungsmodell 58 kann daher einen Hinweis auf einen semantischen Cluster empfangen und in Reaktion darauf Hinweise auf eine oder mehrere, zuvor durch den Benutzer gesendete Antworten ausgeben, die zu dem angegebenen semantischen Cluster gehören. In einigen Beispielen kann Personalisierungsmodell 58 den semantischen Cluster bestimmen, zu dem eine Teilmenge (weniger als alle) der durch den Benutzer gesendeten und in dem Kommunikationsverlauf 32 gespeicherten Antworten, wie z. B. die tausend zuletzt gesendeten Antworten, gehört.
  • Personalisierungsmodell 58 kann den semantischen Cluster bestimmen, zu dem eine zuvor gesendete Antwort in einer geeigneten Weise gehört. In einem Beispiel kann, da Antwortvorschlagsmodell 56 eine Vielzahl von Antworten enthält, die jeweils zu einem semantischen Modell gehören, und falls die zuvor gesendete Antwort mit einer Antwort im Antwortvorschlagsmodell 56 übereinstimmt, die zuvor gesendete Antwort dem gleichen semantischen Cluster wie dem semantischen Cluster, zu dem eine Antwort im Antwortvorschlagsmodell 56 gehört, zugeordnet werden.
  • Alternativ kann Personalisierungsmodell 58 die semantische Absicht der zuvor durch den Benutzer gesendeten Antworten als Speicher in dem Kommunikationsverlauf 32 ableiten, um semantische Cluster zu bestimmen, zu denen zuvor gesendete Antworten gehören. Personalisierungsmodell 58 kann diese semantische Absicht bestimmen, indem lexikalische Merkmale aus den vorher gesendeten Antworten oder über eine beliebige geeignete Technik extrahiert werden.
  • In einem anderen Beispiel kann Personalisierungsmodell 58 Mappings (Abbildungen) zuvor gesendeter Antworten auf semantische Cluster über ein maschinell trainiertes Modell bestimmen, das semantische Cluster von Hash-Signaturen vorhersagt.
  • In einem anderen Beispiel kann Personalisierungsmodell 58 Mappings (Abbildungen) zuvor gesendeter Antworten auf semantische Cluster bestimmen, indem eine Ähnlichkeit auf Basis von Hash-Signaturen berechnet wird.
  • Um eine oder mehrere personalisierte Antwortnachrichten zu erzeugen, kann Antwortvorschlagsmodul 54 eine oder mehrere der in dem Kommunikationsverlauf 32 gespeicherten Antworten auswählen, die zuvor vom Benutzer als eine oder mehrere personalisierte Antwortnachrichten gesendet wurden. Antwortvorschlagsmodul 54 kann die Auswahl der einen oder mehreren in dem Kommunikationsverlauf 32 gespeicherten vorherigen Antworten zumindest teilweise basierend auf den semantischen Clustern, zu denen der Satz vorhergesagter Antworten der empfangenen Kommunikation zum Vorhersagen gehört, sowie den semantischen Clustern, zu denen die eine gesendete Antwort gehört bzw. zu denen die mehreren gesendeten Antworten gehören, treffen.
  • Antwortvorschlagsmodul 54 kann für jeden semantischen Cluster des einen oder der mehreren semantischen Cluster, zu denen der Satz vorhergesagter Antworten gehört, einen Hinweis auf den jeweiligen semantischen Cluster an Personalisierungsmodell 58 senden und als Antwort vom Personalisierungsmodell 58 einen Hinweis auf eine oder mehrere frühere vom Benutzer gesendete Antworten erhalten, die/der zum semantischen Cluster gehören. Antwortvorschlagsmodul 54 kann die eine oder mehreren vorherigen Antworten einbeziehen, die vom Benutzer in der einen oder den mehreren personalisierten Kandidatenantworten gesendet wurden.
  • In einigen Beispielen kann Antwortvorschlagsmodul 54 nur eine vorherige Antwort beinhalten, die vom Benutzer als eine personalisierte Kandidatenantwort gesendet wurde, wenn die vorherige Antwort mit einer der Antworten in dem Antwortraum des Antwortvorschlagsmodells 56 übereinstimmt, das/die zu dem semantischen Cluster gehört. Der Antwortraum des Antwortvorschlagsmodells 56 kann alle vorhergesagten Antworten im Antwortvorschlagsmodell 56 beinhalten, die einem oder mehreren der projizierten Knoten zugeordnet sind. Beispielsweise können Antworten im Antwortraum des Antwortvorschlagsmodells 56, die zu einem semantischen Abschieds-Cluster gehört, die Antworten „Auf Wiedersehen“, „Wir sehen uns später“ und „Adios“ beinhalten, da diese jeweils in einer vorhergesagten Antwort in einer oder mehreren der Rangliste vorhergesagter Antworten, die einem oder mehreren projizierten Knoten im Antwortvorschlagsmodell 56 zugeordnet sind, enthalten waren.
  • Für eine vorhergesagte Antwort wie „Auf Wiedersehen“, die zu einem semantischen Abschieds-Cluster gehört, der die Antworten „Auf Wiedersehen“, „Wir sehen uns später“ und „Adios“ in dem Antwortraum des Antwortvorschlagsmodells 56 beinhalten, kann Antwortvorschlagsmodell 54 mittels Personalisierungsmodell 58 bestimmen, ob eine vom Benutzer gesendete vorherige Antwort mit einer der Antworten „Auf Wiedersehen“, „Wir sehen uns später“ und „Adios“ in dem Antwortraum des Antwortvorschlagsmodells 56 übereinstimmt, das/der/die zu dem semantischen Abschieds-Cluster gehört.
  • Eine Antwort kann mit einer anderen Antwort übereinstimmen, wenn dieselben Wörter und/oder Sätze enthalten sind, wenn diese den gleichen Satz von Emojis beinhalten, wenn diese das gleiche Bild beinhalten und dergleichen. Wenn Antwortvorschlagsmodul 54 mittels des Personalisierungsmodells 58 bestimmt, dass eine zuvor durch den Benutzer gesendete Antwort zu dem gleichen semantischen Abschieds-Cluster gehört und dass die vorherige Antwort mit einer der Antworten in dem Antwortraum des Antwortvorschlagsmodells 56 übereinstimmt, das zu dem semantischen Abschieds-Cluster gehört, kann Antwortvorschlagsmodul 54 die zuvor gesendete Antwort in dem semantischen Cluster als eine personalisierte Kandidatenantwort enthalten. Wenn der Benutzer zum Beispiel eine Antwortnachricht „Bis später“ gesendet hat, kann Antwortvorschlagsmodul 54 die Nachricht „Wir sehen uns später“ als eine personalisierte Kandidatenantwort beinhalten.
  • In einigen Beispielen kann Antwortvorschlagsmodul 54 eine vorherige Antwort beinhalten, die vom Benutzer als eine personalisierte Kandidatenantwort gesendet wurde, wenn die vorhergehende Antwort zu demselben semantischen Cluster gehört wie eine vorhergesagte Antwort in der Rangliste vorhergesagter Antworten, die dem projizierten Knoten zugeordnet sind. Diese vorherige Antwort kann als eine personalisierte Kandidatenantwort enthalten sein, unabhängig davon, ob die vorherige Antwort mit einer der Antworten in dem Antwortraum des Antwortvorschlagsmodells 56, das/die zu dem semantischen Cluster gehört, übereinstimmt.
  • Für eine vorhergesagte Antwort wie „Auf Wiedersehen“, die zu einem semantischen Abschieds-Cluster gehört, der die Antworten „Auf Wiedersehen“, „Wir sehen uns später“ und „Adios“ in dem Antwortraum des Antwortvorschlagsmodells 56 beinhaltet, kann das Antwortvorschlagsmodell 54 mittels des Personalisierungsmodells 58 bestimmen, ob eine vorhergehende vom Benutzer gesendete Antwort ebenfalls zu dem semantischen Abschieds-Cluster gehört. Wenn Antwortvorschlagsmodul 54 mittels des Personalisierungsmodells 58 bestimmt, dass eine vorherige Antwort wie „Wir sehen uns!“ zu dem semantischen Abschieds-Cluster gehört, kann Antwortvorschlagsmodul 54 die Nachricht „Bis dann!“ als eine personalisierte Kandidatenantwort beinhalten, obwohl die Nachricht „Bis dann“ weder mit „Auf Wiedersehen“, „Wie sehen uns später“ noch mit „Adios“ übereinstimmt.
  • In einigen Beispielen kann mehr als eine vorherige vom Benutzer gesendete Antwort demselben semantischen Cluster zugeordnet werden. In diesem Fall kann Personalisierungsmodell 58 nur eine einzige vorherige Antwort zurückgeben, die dem semantischen Cluster zugeordnet ist. Beispielsweise kann Personalisierungsmodell 58 die am häufigsten gesendete vorherige Antwort aus den vorherigen Antworten zurückgeben, die demselben semantischen Cluster zugeordnet sind. Alternativ kann Personalisierungsmodell 58 die zuletzt gesendete vorherige Antwort aus den vorherigen Antworten, die auf denselben semantischen Cluster abgebildet sind, zurückgeben. Personalisierungsmodell 58 kann ebenfalls andere geeignete alternative Techniken oder Kriterien verwenden, um eine vorherige Antwort aus einer Vielzahl von vorherigen Antworten, die auf denselben semantischen Cluster abgebildet sind, auszuwählen.
  • Das Einbeziehen einer zuvor gesendeten Antwort als eine personalisierte Kandidatenantwort kann das Hinzufügen der zuvor gesendeten Antwort zu der Rangliste der vorhergesagten Antworten für empfangene Kommunikationen beinhalten. Hat der Benutzer beispielsweise zuvor eine Antwortnachricht „Bis später“ gesendet, kann Antwortvorschlagsmodul 54 die Nachricht „Wir sehen uns später“ in der Rangliste vorhergesagter Antworten beinhalten. In einigen Beispielen kann die zuvor gesendete Antwort andere vorhergesagte Antworten in der Rangliste vorhergesagter Antworten ersetzen, die zu demselben semantischen Cluster gehören wie die zuvor gesendete Antwort. Somit kann die Antwortnachricht „Wir sehen uns später“ die Antwortnachricht „Auf Wiedersehen“ ersetzen, die zuvor in der Rangliste vorhergesagter Antworten enthalten war, wenn Antwortvorschlagsmodul 54 bestimmt, nur eine Antwort eines semantischen Clusters in der Rangliste vorhergesagter Antworten einzubeziehen.
  • Antwortvorschlagsmodul 54 kann der zuvor gesendeten Antwort eine relativ hohe Gewichtung oder einen relativ hohen Rang zuweisen, um die Wahrscheinlichkeit zu erhöhen, dass die zuvor gesendete Antwort als eine der einen oder mehreren Kandidatenantworten enthalten ist, die dem Benutzer präsentiert werden. In einigen Beispielen kann Antwortvorschlagsmodul 54 stets sicherstellen, dass die vorher gesendete Antwort, die zu der Rangliste vorhergesagter Antworten hinzugefügt wird, in der einen oder den mehreren dem Benutzer präsentierte Kandidatenantworten enthalten sind. Auf diese Weise kann Antwortvorschlagsmodul 54 eine oder mehrere personalisierte Kandidatenantworten in der einen oder den mehreren Kandidatenantworten beinhalten, die dem Benutzer präsentiert werden.
  • 6 zeigt ein Ablaufdiagramm, das exemplarische Operationen eines Computergeräts zur Verwendung eines geräteinternen, maschinell trainierten Modells zur Erstellung von Kandidatenantworten in Reaktion auf eine empfangene Kommunikation gemäß einer oder mehreren Techniken der vorliegenden Offenbarung veranschaulicht. Die nachfolgenden exemplarischen Operationen von 6 werden nur zum Zwecke der Veranschaulichung im Kontext der 15 beschrieben.
  • In dem Beispiel von 6 kann mindestens ein Prozessor von Computergerät 2 eine von einem externen Computergerät gesendete Kommunikation empfangen (200). Der mindestens eine Prozessor kann ein auf Computergerät 2 ausgeführtes maschinell trainiertes Modell 56 verwenden, um (202) eine oder mehrere Kandidatenantworten auf die empfangene Kommunikation, zumindest teilweise basierend auf der Kommunikation, zu bestimmen. Der mindestens eine Prozessor kann einen (204) Hinweis auf eine Benutzereingabe empfangen, bei der eine Kandidatenantwort aus der einen oder den mehreren Kandidatenantworten ausgewählt wird. In Reaktion auf das Empfangen des Hinweises auf die die Kandidatenantwort auswählende Benutzereingabe kann der mindestens eine Prozessor die Kandidatenantwort an das externe Computergerät senden (206), von dem die Kommunikation gesendet wurde.
  • In einigen Beispielen umfasst das geräteinterne, maschinell trainierte Modell 56 Hinweise auf eine Vielzahl von projizierten Knoten, wobei jedem aus der Vielzahl projizierter Knoten eine Rangliste vorhergesagter Antworten zugeordnet ist. Ferner umfasst in einigen Beispielen die Bestimmung durch das geräteinterne, maschinell trainierte Modell 56, und zumindest teilweise auf der Kommunikation basierend, der einen oder mehreren Kandidatenantworten auf die Kommunikation: Projizieren, durch den mindestens einen Prozessor mittels einer zufälligen Projektionsfunktion 102, der empfangenen Kommunikation spontan in eine Hash-Signatur, wobei durch den mindestens einen Prozessor ein projizierter Knoten bestimmt wird, der der Hash-Signatur von der Vielzahl projizierter Knoten zugeordnet ist und Bestimmen der einen oder mehreren Kandidatenantworten auf die Kommunikation von der Rangliste vorhergesagter Antworten durch den mindestens einen Prozessor. In einigen Beispielen wird das geräteinterne, maschinell trainierte Modell 56 über ein semi-überwachtes Maschinenlernen in einem externen Computersystem 100 trainiert, um die Vielzahl projizierter Knoten entsprechenden Ranglisten vorhergesagter Antworten zuzuordnen.
  • In einigen Beispielen kann der mindestens eine Prozessor eine oder mehrere personalisierte Kandidatenantworten, zumindest teilweise basierend auf einem Kommunikationsverlauf 32 eines Benutzers des Computergeräts, bestimmen, wobei der Benutzer ein beabsichtigter Empfänger der Kommunikation ist und die eine oder mehreren personalisierten Kandidatenantworten in der einen oder den mehreren Kandidatenantworten enthalten sein können. In einigen Beispielen kann das Bestimmen der einen oder mehreren personalisierten Kandidatenantworten ferner beinhalten, dass der mindestens eine Prozessor mittels des geräteinternen, maschinell trainierten Modells 56, das zumindest teilweise auf der Kommunikation basierend, eine Rangliste vorhergesagter Antworten auf die Kommunikation bestimmt, wobei die eine oder die mehreren Kandidatenantworten aus der Rangliste von Antworten ausgewählt werden und in Reaktion auf das Bestimmen, dass der Kommunikationsverlauf 32 des Benutzers eine vorherige Antwort beinhaltet, die von dem Benutzer gesendet wurde, der zu einem gleichen semantischen Cluster gehört wie eine vorhergesagte Antwort, kann der mindestens eine Prozessor die vorherige Antwort beinhalten, die der Benutzer in der einen oder den mehreren personalisierten Kandidatenantworten gesendet hat. In einigen Beispielen erfolgt die Einbeziehung der vorherigen Antwort, die vom Benutzer in der einen oder den mehreren personalisierten Kandidatenantworten gesendet wurde, ferner in Reaktion darauf, dass der mindestens eine Prozessor bestimmt, dass die vorherige Antwort mit einer von einer Vielzahl vorhergesagter Antworten in einem Antwortraum des geräteinternen, maschinell trainierten Modells 56, das zu dem semantischen Cluster gehört, übereinstimmt.
  • Die folgenden nummerierten Beispiele können einen oder mehrere Aspekte der vorliegenden Offenbarung veranschaulichen.
  • Beispiel 1. Verfahren umfassend: Empfangen einer von einem externen Computergerät gesendeten Kommunikation durch den mindestens einen Prozessor eines Computergeräts; Bestimmen, durch den mindestens einen Prozessor, der ein geräteinternes, maschinell trainiertes Modell verwendet und zumindest teilweise auf der Kommunikation basiert, der einen oder mehreren Kandidatenantworten auf die Kommunikation; Empfangen, durch den mindestens einen Prozessor, eines Hinweises auf eine Benutzereingabe, die eine Kandidatenantwort aus der einen oder den mehreren Kandidatenantworten auswählt; und in Reaktion auf das Empfangen des Hinweises auf die die Kandidatenantwort auswählende Benutzereingabe, Senden der Kandidatenantwort an das externe Computergerät durch den mindestens einen Prozessor.
  • Beispiel 2. Verfahren von Beispiel 1, wobei: das geräteinterne, maschinell trainierte Modell Hinweise über eine Vielzahl von projizierten Knoten umfasst, wobei jeder aus der Vielzahl projizierter Knoten einer Rangliste vorhergesagter Antworten zugeordnet ist.
  • Beispiel 3. Verfahren von Beispiel 2, wobei: das Bestimmen durch das geräteinterne, maschinell trainierte Modell, und zumindest teilweise auf der Kommunikation basierend, der einen oder mehreren Kandidatenantworten auf die Kommunikation ferner umfasst: spontanes Projizieren, durch den mindestens einen Prozessor mittels einer zufälligen Projektionsfunktion der empfangenen Kommunikation, in eine Hash-Signatur, wobei durch den mindestens einen Prozessor ein projizierter Knoten bestimmt wird, der der Hash-Signatur von der Vielzahl von projizierten Knoten zugeordnet ist und Bestimmen der einen oder mehreren Kandidatenantworten auf die Kommunikation von der Rangliste vorhergesagter Antworten durch den mindestens einen Prozessor.
  • Beispiel 4. Verfahren nach einem der Beispiele 1 bis 3, wobei das geräteinterne, maschinell trainierte Modell durch ein semi-überwachtes maschinelles Lernen auf einem externen Computersystem trainiert wird, um die Vielzahl von projizierten Knoten mit entsprechenden Ranglisten vorhergesagter Antworten zu verknüpfen.
  • Beispiel 5. Verfahren nach einem der Beispiele 1 bis 4, ferner umfassend: Bestimmen, durch den mindestens einen Prozessor, einer oder mehrerer personalisierter Kandidatenantworten, zumindest teilweise basierend auf einem Kommunikationsverlauf eines Benutzers des Computergeräts, wobei der Benutzer ein beabsichtigter Empfänger der Kommunikation ist; und Einbeziehen, durch den mindestens einen Prozessor, der einen oder mehreren personalisierten Kandidatenantworten in der einen oder den mehreren Kandidatenantworten.
  • Beispiel 6. Verfahren von Beispiel 5, wobei das Bestimmen der einen oder mehreren personalisierten Kandidatenantworten ferner umfasst: Bestimmen, durch den mindestens einen Prozessor mittels des geräteinternen, maschinell trainierten Modells und zumindest teilweise auf der Kommunikation basierend, einer Rangliste vorhergesagter Antworten auf die Kommunikation, wobei die eine oder die mehreren Kandidatenantworten aus der Rangliste der Antworten ausgewählt werden; und in Reaktion auf das Bestimmen, dass der Kommunikationsverlauf des Benutzers eine vorherige Antwort beinhaltet, die von dem Benutzer gesendet wird, der zu einem gleichen semantischen Cluster gehört wie eine vorhergesagte Antwort, Einbeziehen, durch den mindestens einen Prozessor, der vorherigen Antwort des Benutzers in eine oder mehrere personalisierte Kandidatenantworten.
  • Beispiel 7. Verfahren von Beispiel 6, wobei das Einbeziehen der vorherigen Antwort, die vom Benutzer in der einen oder den mehreren personalisierten Kandidatenantworten gesendet wurde, ferner in Reaktion auf das Bestimmen, dass die vorherige Antwort mit einer von einer Vielzahl vorhergesagter Antworten in einem Antwortraum des geräteinternen, maschinell trainierten Modells, das zu dem semantischen Cluster gehört, übereinstimmt, erfolgt.
  • Beispiel 8. Computergerät ferner umfassend: einen Speicher, der konfiguriert ist, um ein geräteinternes, maschinell trainiertes Modell zu speichern; mindestens ein betriebstechnisch mit dem Speicher gekoppelter Prozessor, der konfiguriert ist, um: eine von einem externen Computergerät gesendete Kommunikation zu empfangen; Bestimmen, mittels des geräteinternen, maschinell trainierten Modells und zumindest teilweise auf der Kommunikation basierend, einer oder mehrerer Kandidatenantworten auf die Kommunikation; Empfangen eines Hinweises auf eine Benutzereingabe, die eine Kandidatenantwort aus der einen oder den mehreren Kandidatenantworten auswählt; und in Reaktion auf das Empfangen des Hinweises auf die die Benutzereingabe auswählende Kandidatenantwort das Senden der Kandidatenantwort an das externe Computergerät.
  • Beispiel 9. Computergerät von Beispiel 8, wobei: das geräteinterne, maschinell trainierte Modell Hinweise auf eine Vielzahl projizierter Knoten umfasst, wobei jeder aus der Vielzahl projizierter Knoten einer Rangliste vorhergesagter Antworten zugeordnet ist.
  • Beispiel 10. Computergerät von Beispiel 9, wobei der mindestens eine Prozessor ferner konfiguriert ist, um: die empfangene Kommunikation mittels einer zufälligen Projektionsfunktion spontan in eine Hash-Signatur zu projizieren; Bestimmen eines projizierten Knotens, der der Hash-Signatur aus der Vielzahl projizierter Knoten zugeordnet ist; und Bestimmen, aus der Rangliste vorhergesagter Antworten, der einen oder mehreren Kandidatenantworten auf die Kommunikation.
  • Beispiel 11. Computergerät nach einem der Beispiele 8 bis 10, wobei das geräteinterne, maschinell trainierte Modell durch ein semi-überwachtes maschinelles Lernen auf einem externen Computersystem trainiert wird, um die Vielzahl projizierter Knoten entsprechenden Ranglisten vorhergesagter Antworten zuzuordnen.
  • Beispiel 12. Computergerät nach einem der Beispiele 8 bis 11, wobei der mindestens eine Prozessor ferner konfiguriert ist zum: Bestimmen einer oder mehrerer personalisierter Kandidatenantworten, zumindest teilweise basierend auf einem Kommunikationsverlauf eines Benutzers des Computergeräts, wobei der Benutzer ein beabsichtigter Empfänger der Kommunikation ist; und Einbeziehen der einen oder mehreren personalisierten Kandidatenantworten in die eine oder mehrere Kandidatenantworten.
  • Beispiel 13. Computergerät von Beispiel 12, wobei der mindestens eine Prozessor ferner konfiguriert ist zum: Bestimmen, mittels des geräteinternen, maschinell trainierten Modells und zumindest teilweise basierend auf der Kommunikation, einer Rangliste vorhergesagter Antworten auf die Kommunikation, wobei die eine oder die mehreren Kandidatenantworten aus der Rangliste der Antworten ausgewählt werden; und in Reaktion auf das Bestimmen, dass der Kommunikationsverlauf des Benutzers eine vorherige Antwort beinhaltet, die von dem Benutzer gesendet wird, die zu einem gleichen semantischen Cluster wie eine vorhergesagte Antwort gehört, Einbeziehen der vorherigen, vom Benutzer in der einen oder den mehreren personalisierten Kandidatenantworten gesendeten Antwort.
  • Beispiel 14. Computergerät von Beispiel 13, wobei der mindestens eine Prozessor ferner konfiguriert ist zum: Einbeziehen der vorherigen Antwort, die vom Benutzer in der einen oder den mehreren personalisierten Kandidatenantworten gesendet wurde, in Reaktion auf das Bestimmen, dass die vorherige Antwort mit einer von mehreren vorhergesagten Antworten in einem Antwortraum des auf dem maschinell trainierten Modells, das zu dem semantischen Cluster gehört, übereinstimmt.
  • Beispiel 15. Computerlesbares Speichermedium mit Anweisungen kodiert, die bei der Ausführung mindestens einen Prozessor eines Computergeräts veranlassen zum: Empfangen einer von einem externen Computergerät gesendeten Kommunikation; Bestimmen, mittels eines geräteinternen, maschinell trainierten Modells, wobei das Modell zumindest teilweise auf der Kommunikation basiert, einer oder mehrerer Kandidatenantworten auf die Kommunikation; Empfangen eines Hinweises auf eine Benutzereingabe, die eine Kandidatenantwort aus der einen oder den mehreren Kandidatenantworten auswählt; und in Reaktion auf das Empfangen des Hinweises auf die die Kandidatenantwort auswählende Benutzereingabe, Senden der Kandidatenantwort an das externe Computergerät.
  • Beispiel 16. Computerlesbares Speichermedium von Beispiel 15, wobei: das geräteinterne, maschinell trainierte Modell Hinweise über eine Vielzahl projizierter Knoten umfasst, wobei jeder aus der Vielzahl projizierter Knoten einer Rangliste vorhergesagter Antworten zugeordnet ist.
  • Beispiel 17. Computerlesbares Speichermedium von Beispiel 16, wobei die Anweisungen bei der Ausführung den mindestens einen Prozessor des Computergeräts ferner veranlassen zum: spontanen Projizieren der empfangenen Kommunikation mittels einer Zufallsprojektionsfunktion in eine Hash-Signatur; Bestimmen eines projizierten Knotens, der der Hash-Signatur aus der Vielzahl projizierter Knoten zugeordnet ist; und Bestimmen der einen oder mehreren Kandidatenantworten auf die Kommunikation von der Rangliste vorhergesagter Antworten.
  • Beispiel 18. Computerlesbares Speichermedium nach einem der Beispiele 15–17, wobei das geräteinterne, maschinell trainierte Modell durch ein semi-überwachtes maschinelles Lernen auf einem externen Computersystem trainiert wird, um die Vielzahl projizierter Knoten entsprechenden Ranglisten vorhergesagter Antworten zuzuordnen.
  • Beispiel 19. Computerlesbares Speichermedium nach einem der Beispiele 15 bis 18, wobei die Anweisungen bei der Ausführung den mindestens einen Prozessor des Computergeräts ferner veranlassen zum: Bestimmen einer oder mehrerer personalisierter Kandidatenantworten, zumindest teilweise basierend auf einem Kommunikationsverlauf eines Benutzers des Computergeräts, wobei der Benutzer ein beabsichtigter Empfänger der Kommunikation ist; und Einbeziehen der einen oder mehreren personalisierten Kandidatenantworten in der einen oder den mehreren Kandidatenantworten.
  • Beispiel 20. Computerlesbares Speichermedium von Beispiel 19, wobei die Anweisungen bei der Ausführung den mindestens einen Prozessor des Computergeräts ferner veranlassen zum: Bestimmen, mittels des geräteinternen, maschinell trainierten Modells und zumindest teilweise auf der Kommunikation basierend, einer Rangliste vorhergesagter Antworten auf die Kommunikation, wobei die eine oder die mehreren Kandidatenantworten aus der Rangliste der Antworten ausgewählt werden; und in Reaktion auf das Bestimmen, dass der Kommunikationsverlauf des Benutzers eine vorherige von dem Benutzer gesendete Antwort beinhaltet, die zu einem gleichen semantischen Cluster wie eine vorhergesagte Antwort gehört, Einbeziehen der vorherigen Antwort, die vom Benutzer in der einen oder den mehreren personalisierten Kandidatenantworten gesendet wurde.
  • Beispiel 21. Computergerät, das Mittel zur Durchführung von einem der Verfahren der Beispiele 1–7 umfasst.
  • Beispiel 22. Computerlesbares Speichermedium, auf dem Anweisungen gespeichert sind, die, wenn sie auf zumindest einem Prozessor ausgeführt werden, der zumindest eine Prozessor veranlasst wird, die Verfahren von einem der Beispiele 1 bis 7 auszuführen.
  • Beispiel 23. Verfahren, umfassend: Empfangen einer von einem externen Computergerät gesendeten Kommunikation durch mindestens einen Prozessor eines Computergeräts; Bestimmen, durch den mindestens einen Prozessor, zumindest teilweise basierend auf der Kommunikation, einer oder mehrerer Kandidatenantworten auf die Kommunikation, die eine oder mehrere personalisierte Kandidatenantworten umfasst, einschließlich Bestimmen der einen oder mehreren personalisierten Kandidatenantworten, zumindest teilweise basierend auf dem Kommunikationsverlauf eines Benutzers des Computergeräts, wobei der Benutzer ein beabsichtigter Empfänger der Kommunikation ist; und Empfangen, durch den mindestens einen Prozessor, eines Hinweises auf eine Benutzereingabe, die eine Kandidatenantwort aus der einen oder den mehreren Kandidatenantworten auswählt; und in Reaktion auf das Empfangen des Hinweises auf die die Kandidatenantwort auswählende Benutzereingabe, Senden der Kandidatenantwort durch den mindestens einen Prozessor an das externe Computergerät.
  • Beispiel 24. Verfahren von Beispiel 23, wobei das Bestimmen der einen oder mehreren personalisierten Kandidatenantworten ferner umfasst: Bestimmen, durch den mindestens einen Prozessor und zumindest teilweise basierend auf der Kommunikation, einer Rangliste vorhergesagter Antworten auf die Kommunikation, wobei die eine oder die mehreren Kandidatenantworten aus der Rangliste der Antworten ausgewählt werden; und in Reaktion auf das Bestimmen, dass der Kommunikationsverlauf des Benutzers eine vorherige Antwort beinhaltet, die von dem Benutzer gesendet wurde, die zu einem gleichen semantischen Cluster gehört wie eine vorhergesagte Antwort, Einbeziehen, durch den mindestens einen Prozessor, der vorherigen Antwort des Benutzers in einer oder mehreren personalisierten Kandidatenantworten.
  • Beispiel 25. Verfahren von Beispiel 24, wobei Einbeziehen der vorherigen Antwort, die von dem Benutzer in der einen oder den mehreren personalisierten Kandidatenantworten gesendet wurde, ferner in Reaktion auf das Bestimmen erfolgt, dass die vorherige Antwort eine aus einer Vielzahl vorhergesagter Antworten in einem Antwortraum entspricht, der zu dem semantischen Cluster gehört.
  • Beispiel 26. Computergerät, das Mittel zur Durchführung von einem der Verfahren der Beispiele 23–25 umfasst.
  • Beispiel 22. Computerlesbares Speichermedium, auf dem Anweisungen gespeichert sind, die, wenn sie durch zumindest einen Prozessor ausgeführt werden, der zumindest eine Prozessor veranlasst wird, das Verfahren von einem der Beispiele 23 bis 25 auszuführen.
  • In einem oder mehreren Beispielen können die beschriebenen Funktionen in Hardware, Software, Firmware oder einer beliebigen Kombination derselben implementiert sein. Wenn in Software implementiert, können die Funktionen als eine oder mehrere Anweisungen oder Codes auf einem computerlesbaren Medium gespeichert oder über dieses übertragen und von einer hardwarebasierten Verarbeitungseinheit ausgeführt werden. Computerlesbare Medien können computerlesbare Speichermedien beinhalten, die physischen Medien, wie z. B. Datenspeichermedien, oder Kommunikationsmedien, darunter auch Medien entsprechen, die die Übertragung eines Computerprogramms von einem Standort zum anderen, z. B. gemäß einem Kommunikationsprotokoll, beinhalten. Auf diese Weise können computerlesbare Medien im Allgemeinen physischen computerlesbaren (1) Speichermedien, die nicht flüchtig sind oder (2) einem Kommunikationsmedium, wie beispielsweise einem Signal oder einer Trägerwelle, entsprechen. Datenspeichermedien können beliebige verfügbare Medien sein, auf die von einem oder mehreren Computern oder einem oder mehreren Prozessoren zugegriffen werden kann, um Anweisungen, Code und/oder Datenstrukturen zur Implementierung der in dieser Offenbarung beschriebenen Techniken abzurufen. Ein Computerprogrammprodukt kann ein computerlesbares Speichermedium beinhalten.
  • Beispielsweise und nicht beschränkend können derartige computerlesbare Speichermedien RAM-, ROM-, EEPROM-, CD-ROM- oder andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichergeräte, Flash-Speicher oder ein beliebiges anderes Medium umfassen, das verwendet werden kann, um den gewünschten Programmcode in Form von Anweisungen oder Datenstrukturen zu speichern, und auf die von einem Computer zugegriffen werden kann. Zudem wird jede Verbindung als computerlesbares Medium bezeichnet. Wenn beispielsweise Anweisungen von einer Webseite, einem Server oder einer anderen entfernten Quelle mittels eines Koaxialkabels, eines Glasfaserkabels, eines Twisted-Pair-Kabels, einer digitalen Teilnehmerleitung (DSL) oder drahtloser Technologien, wie beispielsweise Infrarot, Hochfrequenz und Mikrowelle, übertragen werden, sind Koaxialkabel, Glasfaserkabel, Twisted-Pair-Kabel, DSL oder drahtlose Technologien, wie beispielsweise Infrarot, Radio und Mikrowelle, in der Definition von Medium mit eingeschlossen. Es sollte jedoch klar sein, dass computerlesbare Speichermedien und Datenspeichermedien keine Verbindungen, Trägerwellen, Signale oder andere physische Medien beinhalten, sondern stattdessen auf nicht flüchtige, physische Speichermedien ausgerichtet sind. Festplatten und Disketten, wie sie hierin verwendet werden, beinhalten Compact Disc (CD), Laserdisc, optische Disc, Digital Versatile Disc (DVD), Diskette und Blu-ray Disc, wobei Disketten typischerweise Daten magnetisch wiedergeben, während Discs Daten optisch mit Lasern wiedergeben. Kombinationen der vorstehenden Datenträger sollten ebenfalls in den Wirkungsbereich von computerlesbaren Medien eingeschlossen sein.
  • Anweisungen können durch einen oder mehrere Prozessoren, wie beispielsweise einen oder mehrere digitale Signalprozessoren (DSPs), Universalmikroprozessoren, anwendungsorientierte integrierte Schaltungen (ASICs), feldprogrammierbare Universalschaltungen (FPGAs) oder beliebige andere gleichwertige integrierte oder diskrete Logikschaltungen ausgeführt werden. Dementsprechend kann sich der Begriff „Prozessor“, wie er hierin verwendet wird, auf eine beliebige der vorgenannten Strukturen oder jede andere Struktur beziehen, die für die Implementierung der hierin beschriebenen Techniken geeignet ist. Darüber hinaus kann in einigen Aspekten die hierin beschriebene Funktionalität innerhalb dedizierter Hardware- und/oder Softwaremodule bereitgestellt werden. Auch könnten die Techniken vollständig in einer oder mehreren Schaltungen oder Logikelementen implementiert werden.
  • Die Techniken der vorliegenden Offenbarung können in einer breiten Vielfalt von Geräten oder Vorrichtungen implementiert werden, darunter auch in einem drahtlosen Mobilteil, einer integrierten Schaltung (IC) oder einem Satz von ICs (z. B. einem Chipsatz). In dieser Offenbarung werden verschiedene Komponenten, Module oder Einheiten beschrieben, um funktionelle Aspekte von Geräten zu betonen, die konfiguriert sind, die offenbarten Techniken auszuführen, jedoch nicht notwendigerweise eine Realisierung durch verschiedene Hardware-Einheiten erfordern. Vielmehr können, wie vorstehend beschrieben, verschiedene Einheiten in einer Hardware-Einheit kombiniert oder durch eine Sammlung von interoperativen Hardware-Einheiten, einschließlich eines oder mehrerer Prozessoren, wie vorstehend beschrieben, in Verbindung mit geeigneter Software und/oder Firmware bereitgestellt werden.
  • Es wurden verschiedene Beispiele beschrieben. Diese und andere Beispiele liegen innerhalb des Wirkungsbereichs der folgenden Ansprüche.

Claims (10)

  1. Verfahren, umfassend: Empfangen einer Kommunikation von einem externen Computergerät durch mindestens einen Prozessor eines Computergeräts; Bestimmen, durch den mindestens einen Prozessor mittels eines geräteinternen, maschinell trainierten Modells und zumindest teilweise basierend auf der Kommunikation, einer oder mehrerer Kandidatenantworten auf die Kommunikation; Empfangen, durch den mindestens einen Prozessor, eines Hinweises auf eine Benutzereingabe, die eine Kandidatenantwort aus der einen oder den mehreren Kandidatenantworten auswählt; und In Reaktion auf das Empfangen des Hinweises auf die Benutzereingabe, die die Kandidatenantwort auswählt, Senden der Kandidatenantwort an das externe Computergerät durch den mindestens einen Prozessor.
  2. Verfahren nach Anspruch 1, wobei: das geräteinterne, maschinell trainierte Modell Hinweise über eine Vielzahl von projizierten Knoten umfasst, wobei jedem aus der Vielzahl von projizierten Knoten eine Rangliste vorhergesagter Antworten zugeordnet sind.
  3. Verfahren nach Anspruch 2, wobei Bestimmen der einen oder mehreren Kandidatenantworten auf die Kommunikation ferner umfasst: Projizieren der empfangenen Kommunikation, durch den mindestens einen Prozessor, mittels einer zufälligen Projektionsfunktion in eine Hash-Signatur; Bestimmen, durch den mindestens einen Prozessor, eines projizierten Knotens, der der Hash-Signatur der Vielzahl projizierter Knoten zugeordnet ist; und Bestimmen, durch den mindestens einen Prozessor, der einen oder der mehreren Kandidatenantworten auf die Kommunikation von der Rangliste vorhergesagter Antworten.
  4. Verfahren nach einem der Ansprüche 2 und 3, wobei das geräteinterne, maschinell trainierte Modell durch semi-überwachtes maschinelles Lernen auf einem externen Computersystem trainiert wird, um die Vielzahl projizierter Knoten den entsprechenden Ranglisten vorhergesagter Antworten zuzuordnen.
  5. Verfahren nach einem der Ansprüche 1–4, ferner umfassend: Bestimmen, durch den mindestens einen Prozessor, einer oder mehrerer personalisierter Kandidatenantworten, die zumindest teilweise auf einem Kommunikationsverlauf eines Benutzers des Computergeräts basieren, wobei der Benutzer ein beabsichtigter Empfänger der Kommunikation ist; und Einbeziehen, durch den mindestens einen Prozessor, der einen oder mehreren personalisierten Kandidatenantworten in der einen oder den mehreren Kandidatenantworten.
  6. Verfahren nach Anspruch 5, wobei das Bestimmen der einen oder mehreren personalisierten Kandidatenantworten ferner umfasst: Bestimmen einer Rangliste vorhergesagter Antworten auf die Kommunikation durch den mindestens einen Prozessor mittels des geräteinternen, maschinell trainierten Modells und zumindest teilweise auf der Kommunikation basierend, wobei die eine oder die mehreren Kandidatenantworten aus der Rangliste der Antworten ausgewählt wird; in Reaktion auf Bestimmen, dass der Kommunikationsverlauf des Benutzers eine vorhergehende vom Benutzer gesendete Antwort beinhaltet, die zu einem gleichen semantischen Cluster gehört wie eine vorhergesagte Antwort, Einbeziehen, durch den mindestens einen Prozessor, der vorherigen vom Benutzer gesendeten Antwort in der einen oder den mehreren personalisierten Kandidatenantworten.
  7. Verfahren nach Anspruch 6, wobei das Einbeziehen der vorherigen Antwort, die von dem Benutzer in der einen oder den mehreren personalisierten Kandidatenantworten gesendet wurde, ferner in Reaktion auf das Bestimmen erfolgt, dass die vorherige Antwort einer aus einer Vielzahl vorhergesagter Antworten in einem Antwortraum des geräteinternen, maschinell trainierten Modells entspricht, der zu dem semantischen Cluster gehört.
  8. Computergerät, umfassend: computerlesbares Speichermedium, konfiguriert zum Speichern eines geräteinternen, maschinell trainierten Modells; und mindestens einen Prozessor, der betriebstechnisch mit dem computerlesbaren Speichermedium verbunden und konfiguriert ist, eines der Verfahren der Ansprüche 1 bis 7 auszuführen.
  9. Computerlesbares Speichermedium, das mit Anweisungen codiert ist, die, wenn sie ausgeführt werden, mindestens einen Prozessor eines Computergeräts veranlassen, eines der Verfahren der Ansprüche 1–7 auszuführen.
  10. System, umfassend Mittel zur Durchführung eines der Verfahren nach Ansprüchen 1–7.
DE102017121712.6A 2016-09-23 2017-09-19 Intelligente Antworten mittels eines geräteinternen Modells Pending DE102017121712A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662399002P 2016-09-23 2016-09-23
US62/399,002 2016-09-23
US15/686,954 2017-08-25
US15/686,954 US10846618B2 (en) 2016-09-23 2017-08-25 Smart replies using an on-device model

Publications (1)

Publication Number Publication Date
DE102017121712A1 true DE102017121712A1 (de) 2018-03-29

Family

ID=60037706

Family Applications (2)

Application Number Title Priority Date Filing Date
DE202017105672.4U Active DE202017105672U1 (de) 2016-09-23 2017-09-19 Intelligente Antworten mittels eines geräteinternen Modells
DE102017121712.6A Pending DE102017121712A1 (de) 2016-09-23 2017-09-19 Intelligente Antworten mittels eines geräteinternen Modells

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE202017105672.4U Active DE202017105672U1 (de) 2016-09-23 2017-09-19 Intelligente Antworten mittels eines geräteinternen Modells

Country Status (7)

Country Link
US (1) US10846618B2 (de)
JP (1) JP6850877B2 (de)
KR (1) KR102182606B1 (de)
CN (1) CN107870974B (de)
DE (2) DE202017105672U1 (de)
GB (1) GB2556671A (de)
WO (1) WO2018057890A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020106066A1 (de) 2020-03-06 2021-09-09 Bayerische Motoren Werke Aktiengesellschaft Vorrichtung und Verfahren zur Überwachung der Kommunikation zwischen einem Benutzer und einer Auskunftseinheit
US11463416B1 (en) * 2019-12-13 2022-10-04 Amazon Technologies, Inc. Automatic detection of personal information in cloud-based infrastructure configurations

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
AU2014278592B2 (en) 2013-06-09 2017-09-07 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
WO2015020942A1 (en) 2013-08-06 2015-02-12 Apple Inc. Auto-activating smart responses based on activities from remote devices
US9213941B2 (en) 2014-04-22 2015-12-15 Google Inc. Automatic actions based on contextual replies
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
AU2015266863B2 (en) 2014-05-30 2018-03-15 Apple Inc. Multi-command single utterance input method
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
CN106415527B (zh) * 2016-08-31 2019-07-30 北京小米移动软件有限公司 消息通信方法及装置
JP6718555B2 (ja) * 2016-09-20 2020-07-08 グーグル エルエルシー メッセージングアプリケーションにおいて応答を送信するためのシステムおよび方法
US10846618B2 (en) 2016-09-23 2020-11-24 Google Llc Smart replies using an on-device model
US11553089B2 (en) * 2017-01-20 2023-01-10 Virtual Hold Technology Solutions, Llc System and method for mobile device active callback prioritization
US10735589B1 (en) * 2019-03-18 2020-08-04 Virtual Hold Technology Solutions, Llc System and method for mobile device active callback integration
US20230109840A1 (en) * 2017-01-20 2023-04-13 Virtual Hold Technology Solutions, Llc System and method for mobile device multitenant active and ambient callback management
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US10680978B2 (en) * 2017-10-23 2020-06-09 Microsoft Technology Licensing, Llc Generating recommended responses based on historical message data
US10659399B2 (en) 2017-12-22 2020-05-19 Google Llc Message analysis using a machine learning model
US11755834B2 (en) 2017-12-22 2023-09-12 Google Llc Selective text prediction for electronic messaging
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US11310176B2 (en) * 2018-04-13 2022-04-19 Snap Inc. Content suggestion system
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
DE202019005589U1 (de) * 2018-05-07 2021-02-08 Google Llc Empfängerbasierte Textvorhersage für elektronische Nachrichtenübertragung
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11556897B2 (en) 2018-05-31 2023-01-17 Microsoft Technology Licensing, Llc Job-post budget recommendation based on performance
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11658926B2 (en) * 2018-06-27 2023-05-23 Microsoft Technology Licensing, Llc Generating smart replies involving image files
US11062084B2 (en) 2018-06-27 2021-07-13 Microsoft Technology Licensing, Llc Generating diverse smart replies using synonym hierarchy
US11188194B2 (en) 2018-06-27 2021-11-30 Microsoft Technology Licensing, Llc Personalization and synonym hierarchy for smart replies
US20200005242A1 (en) * 2018-06-28 2020-01-02 Microsoft Technology Licensing, Llc Personalized message insight generation
CN109121125B (zh) * 2018-07-25 2021-03-09 Oppo广东移动通信有限公司 基于邻近感知网络nan的ai助理交互方法及相关产品
US10826864B2 (en) 2018-07-27 2020-11-03 At&T Intellectual Property I, L.P. Artificially intelligent messaging
US10721190B2 (en) * 2018-07-31 2020-07-21 Microsoft Technology Licensing, Llc Sequence to sequence to classification model for generating recommended messages
US10853577B2 (en) * 2018-09-21 2020-12-01 Salesforce.Com, Inc. Response recommendation system
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
CN111191790B (zh) * 2018-10-29 2023-04-18 华为技术有限公司 量子比特控制装置
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
WO2020236151A1 (en) * 2019-05-20 2020-11-26 Google Llc Videoconferencing using hybrid edge/cloud inference with machine-learned systems
US11140099B2 (en) * 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
CN110311856A (zh) * 2019-06-28 2019-10-08 上海连尚网络科技有限公司 即时通信方法、设备及计算机可读存储介质
US11853941B2 (en) * 2019-11-22 2023-12-26 Verizon Patent And Licensing Inc. Systems and methods for identifying available services at a physical address
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11610065B2 (en) * 2020-06-12 2023-03-21 Apple Inc. Providing personalized responses based on semantic context
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
WO2022056172A1 (en) * 2020-09-09 2022-03-17 Achieve Intelligent Technologies, Inc. Interactive communication system with natural language adaptive components
KR102510650B1 (ko) 2020-12-14 2023-03-20 한국전자기술연구원 온디바이스 기반 데이터 분석 시스템 및 방법
US11924153B2 (en) * 2020-12-31 2024-03-05 Snap Inc. Messaging user interface element with reminders
US11792141B2 (en) * 2021-01-12 2023-10-17 Meta Platforms Technologies, Llc Automated messaging reply-to
US20220294903A1 (en) * 2021-03-12 2022-09-15 Avaya Management L.P. Virtual private agent for machine-based interactions with a contact center
US11743215B1 (en) 2021-06-28 2023-08-29 Meta Platforms Technologies, Llc Artificial reality messaging with destination selection
WO2023048374A1 (en) * 2021-09-21 2023-03-30 Samsung Electronics Co., Ltd. A method and system for predicting response and behavior on chats
US20240004933A1 (en) * 2022-06-29 2024-01-04 Tigergraph, Inc. Minhash signatures as vertices for fuzzy string match on graph
US11962546B1 (en) * 2023-03-03 2024-04-16 Microsoft Technology Licensing, Llc Leveraging inferred context to improve suggested messages
US20240296275A1 (en) * 2023-03-03 2024-09-05 Microsoft Technology Licensing, Llc Guardrails for efficient processing and error prevention in generating suggested messages
US20240296276A1 (en) * 2023-03-03 2024-09-05 Microsoft Technology Licensing, Llc Optimizing data to improve latency

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528745A (en) 1994-10-28 1996-06-18 King; C. David Method and system for the display of scheduling information for users within a single viewport
US6535492B2 (en) 1999-12-01 2003-03-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for assigning agent-led chat sessions hosted by a communication center to available agents based on message load and agent skill-set
JP3472194B2 (ja) 1999-05-25 2003-12-02 日本電信電話株式会社 自動応答方法及びその装置並びにそのプログラムを記録した媒体
JP2001056792A (ja) 1999-08-19 2001-02-27 Casio Comput Co Ltd 電子メール装置及び電子メール処理プログラムを記憶した記憶媒体
US6826596B1 (en) 1999-09-07 2004-11-30 Roy Satoshi Suzuki System for categorizing and displaying reply messages in computer facilitated discussions
US6816885B1 (en) 2000-09-21 2004-11-09 International Business Machines Corporation Method and system to handle large volume of E-mail received from a plurality of senders intelligently
US7209951B2 (en) 2001-03-20 2007-04-24 Bernel Goldberg Method and system for modifying the content of e-mail transmissions based on customization settings
US7660855B2 (en) 2002-09-24 2010-02-09 International Business Machines Corporation Using a prediction algorithm on the addressee field in electronic mail systems
US7606714B2 (en) 2003-02-11 2009-10-20 Microsoft Corporation Natural language classification within an automated response system
US20050135681A1 (en) 2003-12-22 2005-06-23 Schirmer Andrew L. Methods and systems for preventing inadvertent transmission of electronic messages
US20060075035A1 (en) 2004-09-24 2006-04-06 Tripp Travis S Email customization techniques and systems
US7643822B2 (en) 2004-09-30 2010-01-05 Google Inc. Method and system for processing queries initiated by users of mobile devices
US8849919B2 (en) 2005-02-04 2014-09-30 International Business Machines Corporation Space-efficient mail storing and archiving based on communication structure
US20060265453A1 (en) 2005-05-19 2006-11-23 International Business Machines Corporation Method and system of applying a template to a message
US7996391B2 (en) * 2005-06-20 2011-08-09 Google Inc. Systems and methods for providing search results
US7580719B2 (en) 2005-09-21 2009-08-25 U Owe Me, Inc SMS+: short message service plus context support for social obligations
CN1946075B (zh) 2005-10-04 2010-10-13 国际商业机器公司 确定消息的用户特定关联性得分的方法和系统
JP4888996B2 (ja) 2005-10-21 2012-02-29 株式会社ユニバーサルエンターテインメント 会話制御装置
US7822434B2 (en) 2006-05-09 2010-10-26 Research In Motion Limited Handheld electronic device including automatic selection of input language, and associated method
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8200691B2 (en) 2006-11-29 2012-06-12 Sap Ag Action prediction based on interactive history and context between sender and recipient
US8005822B2 (en) * 2007-01-17 2011-08-23 Google Inc. Location in search queries
US8078978B2 (en) 2007-10-19 2011-12-13 Google Inc. Method and system for predicting text
US7890493B2 (en) * 2007-07-20 2011-02-15 Google Inc. Translating a search query into multiple languages
US20090254624A1 (en) 2008-04-08 2009-10-08 Jeff Baudin E-mail message management system
US20090282114A1 (en) 2008-05-08 2009-11-12 Junlan Feng System and method for generating suggested responses to an email
US8166019B1 (en) 2008-07-21 2012-04-24 Sprint Communications Company L.P. Providing suggested actions in response to textual communications
EP2313847A4 (de) * 2008-08-19 2015-12-09 Digimarc Corp Verfahren und systeme zur inhaltsbearbeitung
US20150089007A1 (en) 2008-12-12 2015-03-26 At&T Intellectual Property I, L.P. E-mail handling based on a behavioral history
US8385975B2 (en) 2009-04-23 2013-02-26 Qualcomm Incorporated Context-based messaging for wireless communication
US9602444B2 (en) 2009-05-28 2017-03-21 Google Inc. Participant suggestion system
US9100465B2 (en) 2009-08-11 2015-08-04 Eolas Technologies Incorporated Automated communications response system
US8538982B2 (en) * 2009-08-31 2013-09-17 Google Inc. Framework for selecting and presenting answer boxes relevant to user input as query suggestions
EP2393046A1 (de) 2010-06-02 2011-12-07 Research In Motion Limited Verfahren zur unterstützten Nachrichtenerzeugung
US8346879B2 (en) 2010-06-04 2013-01-01 Xerox Corporation Detecting conflicts in email messages
US9122672B2 (en) * 2011-11-10 2015-09-01 Blackberry Limited In-letter word prediction for virtual keyboard
CN102609441B (zh) * 2011-12-27 2014-06-25 中国科学院计算技术研究所 基于分布熵的局部敏感哈希高维索引方法
CN102707967A (zh) 2012-04-03 2012-10-03 陈俊 一种运行第三方应用程序的方法、设备及系统
US20130304677A1 (en) 2012-05-14 2013-11-14 Qualcomm Incorporated Architecture for Client-Cloud Behavior Analyzer
JP5431532B2 (ja) 2012-06-08 2014-03-05 日本電信電話株式会社 質問応答装置、モデル学習装置、方法、及びプログラム
US20130346347A1 (en) 2012-06-22 2013-12-26 Google Inc. Method to Predict a Communicative Action that is Most Likely to be Executed Given a Context
US10163058B2 (en) 2012-08-14 2018-12-25 Sri International Method, system and device for inferring a mobile user's current context and proactively providing assistance
US9154575B2 (en) 2012-08-28 2015-10-06 Facebook, Inc. Soft matching user identifiers
US20140088954A1 (en) 2012-09-27 2014-03-27 Research In Motion Limited Apparatus and method pertaining to automatically-suggested emoticons
US20140161356A1 (en) 2012-12-10 2014-06-12 Rawllin International Inc. Multimedia message from text based images including emoticons and acronyms
JP5763110B2 (ja) 2013-01-08 2015-08-12 ビッグローブ株式会社 送受信システム、コンピュータ、送受信装置、送受信方法、及びプログラム
US9135145B2 (en) 2013-01-28 2015-09-15 Rackspace Us, Inc. Methods and systems of distributed tracing
KR20150014052A (ko) 2013-07-26 2015-02-06 주식회사 팬택 통합 커뮤니케이션 기능을 구비한 사용자 단말 및 이를 위한 커뮤니케이션 이력 표시 방법
US8996639B1 (en) 2013-10-15 2015-03-31 Google Inc. Predictive responses to incoming communications
US9294890B1 (en) 2013-10-21 2016-03-22 West Corporation Intercepting and processing received short message service (SMS) messages to provide an automated response
US9213941B2 (en) 2014-04-22 2015-12-15 Google Inc. Automatic actions based on contextual replies
KR20150122561A (ko) 2014-04-23 2015-11-02 삼성전자주식회사 디바이스 및 상기 디바이스에서의 착신 호출 처리 방법
US10031836B2 (en) 2014-06-16 2018-07-24 Ca, Inc. Systems and methods for automatically generating message prototypes for accurate and efficient opaque service emulation
US11025565B2 (en) * 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10530723B2 (en) 2015-12-21 2020-01-07 Google Llc Automatic suggestions for message exchange threads
US10250541B2 (en) 2016-02-03 2019-04-02 Google Llc Predictive responses to incoming communications
US11115463B2 (en) * 2016-08-17 2021-09-07 Microsoft Technology Licensing, Llc Remote and local predictions
US10846618B2 (en) 2016-09-23 2020-11-24 Google Llc Smart replies using an on-device model
US9736268B1 (en) 2017-02-23 2017-08-15 Thumbtack, Inc. System for generating responses to requests
US10659399B2 (en) 2017-12-22 2020-05-19 Google Llc Message analysis using a machine learning model

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11463416B1 (en) * 2019-12-13 2022-10-04 Amazon Technologies, Inc. Automatic detection of personal information in cloud-based infrastructure configurations
DE102020106066A1 (de) 2020-03-06 2021-09-09 Bayerische Motoren Werke Aktiengesellschaft Vorrichtung und Verfahren zur Überwachung der Kommunikation zwischen einem Benutzer und einer Auskunftseinheit

Also Published As

Publication number Publication date
JP6850877B2 (ja) 2021-03-31
US20180089588A1 (en) 2018-03-29
DE202017105672U1 (de) 2018-01-18
WO2018057890A1 (en) 2018-03-29
CN107870974A (zh) 2018-04-03
JP2019535073A (ja) 2019-12-05
GB201715314D0 (en) 2017-11-08
GB2556671A (en) 2018-06-06
US10846618B2 (en) 2020-11-24
KR20190057357A (ko) 2019-05-28
KR102182606B1 (ko) 2020-11-24
CN107870974B (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
DE102017121712A1 (de) Intelligente Antworten mittels eines geräteinternen Modells
US20200134103A1 (en) Visualization-dashboard narration using text summarization
DE112016003112T5 (de) Modellieren persönlicher Entitäten
US10846526B2 (en) Content based transformation for digital documents
CN107533670B (zh) 数字实体的预测热门
CN111615706A (zh) 基于子流形稀疏卷积神经网络分析空间稀疏数据
US20200134090A1 (en) Content exposure and styling control for visualization rendering and narration using data domain rules
US20120150772A1 (en) Social Newsfeed Triage
US20200134074A1 (en) Generating natural-language text descriptions of data visualizations
Kothari et al. Artificial intelligence and journalism: An Agenda for journalism research in Africa
DE202017105740U1 (de) Detektieren belangloser Social Media-Nachrichten
WO2011126458A1 (en) Automatic frequently asked question compilation from community-based question answering archive
US20200134037A1 (en) Narration system for interactive dashboards
US9836525B2 (en) Categorizing hash tags
US11238087B2 (en) Social analytics based on viral mentions and threading
US9129216B1 (en) System, method and apparatus for computer aided association of relevant images with text
KR20160135345A (ko) 입력의 컨텍스트 인식 리포맷팅
Haimson The social complexities of transgender identity disclosure on social media
US9331973B1 (en) Aggregating content associated with topics in a social network
US20210109918A1 (en) Intelligent reading support
US11886809B1 (en) Identifying templates based on fonts
US20160232231A1 (en) System and method for document and/or message document and/or message content suggestion, user rating and user reward
US12081601B2 (en) Data realization for virtual collaboration environment
US11803531B1 (en) System and method for knowledge curation using semantic object-based production and adaptive process management
KR102574784B1 (ko) Esg 문서를 자동 완성하는데 적합한 텍스트를 추천하는 방법 및 이를 수행하는 esg 서비스 제공 시스템

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication