DE202017105691U1 - Intelligente Assistenz für wiederholte Aktionen - Google Patents

Intelligente Assistenz für wiederholte Aktionen Download PDF

Info

Publication number
DE202017105691U1
DE202017105691U1 DE202017105691.0U DE202017105691U DE202017105691U1 DE 202017105691 U1 DE202017105691 U1 DE 202017105691U1 DE 202017105691 U DE202017105691 U DE 202017105691U DE 202017105691 U1 DE202017105691 U1 DE 202017105691U1
Authority
DE
Germany
Prior art keywords
sequence
actions
user
previous
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE202017105691.0U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE202017105691U1 publication Critical patent/DE202017105691U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Computerlesbares Speichermedium, das mit Anweisungen codiert ist, die dann, wenn sie durch wenigstens einen Prozessor einer Computervorrichtung ausgeführt werden, bewirken, dass der wenigstens eine Prozessor Operationen ausführt, die Folgendes umfassen: Bestimmen, dass eine aktuelle Folge von Anwenderaktionen mit einer mobilen Anwendung ähnlich einer früheren Folge von Anwenderaktionen ist; Berechnen einer Vertrauensbewertung, die eine Reproduzierbarkeit der früheren Folge widerspiegelt; Initiieren, wenn die Vertrauensbewertung einen Vertrauensschwellenwert erfüllt, der Anzeige einer Aufforderung, die Genehmigung zum Vervollständigen der aktuellen Folge von Anwenderaktionen unter Verwendung der früheren Folge anfordert; und Vervollständigen der früheren Folge in Reaktion auf das Empfangen der Angabe der Genehmigung der Vervollständigung.

Description

  • ZUGEHÖRIGE ANMELDUNG
  • Diese Anmeldung beansprucht die Priorität der US-Patentanmeldung Nr.15/383,966, eingereicht am 19. Dezember 2016, mit dem Titel "Smart Assist for Repeated Actions" deren Offenbarung hier durch Bezugnahme vollständig mit aufgenommen ist.
  • HINTERGRUND
  • Viele Anwender wiederholen spezielle Aufgaben auf einer mobilen Vorrichtung, wie z. B. Bestellen einer Pizza, Anfordern eines Taxis/Fahrzeugdienstes, Herunterladen von Kontoauszügen, Bezahlen öffentlicher Verkehrsmittel usw. Für diese Aufgaben wiederholt der Anwender einen Arbeitsablauf, der durch eine Folge von Aktionen repräsentiert ist, jedes Mal, wenn der Anwender die Aufgabe ausführt.
  • Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
  • ZUSAMMENFASSUNG
  • Systeme und Verfahren erkennen Arbeitsabläufe, die durch den Anwender wiederholt werden, verstehen, wenn der Anwender beginnt, sie zu wiederholen, und bieten an, die Folge automatisch zu vervollständigen. Der Arbeitsablauf ist als eine Folge von Aktionen repräsentiert. Jede Aktion in der Folge ist auf hoher Ebene beschrieben, z. B. ohne Bezugnahme auf Bildschirmkoordinaten oder Pixelorte, um Vergleichen mit früher vervollständigten Arbeitsabläufen robuster zu machen. Das System kann einen aktuellen Arbeitsablauf, selbst wenn er nicht vollständig ist, mit früher ausgeführten Arbeitsabläufen vergleichen, um zu bestimmen, ob der aktuelle Arbeitsablauf eine Folge von Aktionen repräsentiert, die früher ausgeführt worden ist. Falls der aktuelle Arbeitsablauf ausreichend ähnlich ist, kann das System anbieten, den Arbeitsablauf für den Anwender zu reproduzieren. In einigen Implementierungen kann das System auch eine Vertrauensbewertung für den aktuellen Arbeitsablauf und einen ähnlichen früheren Arbeitsablauf berechnen und kann nur dann anbieten, den Arbeitsablauf zu reproduzieren, falls das System zuversichtlich ist, dass das System den Arbeitsablauf erfolgreich automatisch vervollständigen kann. Einige Implementierungen können es dem Anwender ermöglichen, einen oder mehrere aus den wiederholten Arbeitsabläufen, die als eine Folge von Aktionen repräsentiert sind, als einen Shortcut, z. B. auf dem Startbildschirm, als eine App-Option und/oder einen Sprachbefehl abzuspeichern.
  • Gemäß speziellen Aspekten der Offenbarung enthält ein Verfahren Bestimmen, dass eine aktuelle Folge von Anwenderaktionen mit einer mobilen Anwendung ähnlich einer früheren Folge von Anwenderaktionen ist, und Berechnen einer Vertrauensbewertung, die die Reproduzierbarkeit der früheren Folge widerspiegelt. Das Verfahren enthält außerdem Initiieren, wenn die Vertrauensbewertung einen Vertrauensschwellenwert erfüllt, der Anzeige einer Aufforderung, die eine Genehmigung zum Vervollständigen der aktuellen Folge von Anwenderaktionen unter Verwendung der früheren Folge und Vervollständigen der früheren Folge in Reaktion auf das Empfangen einer Angabe der Genehmigung für die Vervollständigung anfordert.
  • Gemäß speziellen Aspekten der Offenbarung enthält ein Verfahren Bestimmen, dass eine erste aktuelle Folge von Anwenderinteraktionen einen Ähnlichkeitsschwellenwert mit früheren Folgen von Anwenderaktionen nicht erfüllt, Bestimmen, dass eine erste aktuelle Folge von Aktionen vollständig ist, und Speichern der ersten aktuellen Folge als eine erste frühere Folge. Das Verfahren enthält außerdem Identifizieren einer zweiten aktuellen Folge als den Ähnlichkeitsschwellenwert mit der ersten früheren Folge erfüllend und Initiieren der Anzeige einer Aufforderung, die Genehmigung zum Abspeichern der ersten früheren Folge als einen Shortcut anfordert.
  • Gemäß speziellen Aspekten der Offenbarung enthält ein System wenigstens einen Prozessor und Speicher, der Anweisungen speichert, die dann, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, bewirken, dass das System eine Anwenderschnittstelle erzeugt. Die Anwenderschnittstelle ist konfiguriert, das Aufzeichnen einer Shortcut-Folge von Aktionen zu initiieren, wobei jede Aktion in der Folge eine Beschreibung auf hoher Ebene einer Anwenderinteraktion mit einer Anwenderschnittstelle ist. Die Anwenderschnittstelle kann außerdem konfiguriert sein, eine Angabe zu empfangen, dass Kontendaten in einer Folge von Aktionen in die Aktionen mit aufgenommen werden sollen. Die Anwenderschnittstelle kann außerdem konfiguriert sein, eine Angabe zu empfangen, dass das gemeinsame Verwenden früherer Folgen von Aktionen erlaubt ist. Die Anwenderschnittstelle kann außerdem konfiguriert sein, früher gespeicherte Folgen von Aktionen zu löschen. Die Anwenderschnittstelle kann außerdem konfiguriert sein, die Shortcut-Folge von Aktionen umzubenennen. Die Anwenderschnittstelle kann außerdem konfiguriert sein, Anwendungen auszuwählen, in denen das System eine Folge von Aktionen aufnimmt. Die Anwenderschnittstelle kann außerdem konfiguriert sein, eine Angabe zu empfangen, dass eine frühere Folge von Aktionen gemeinsam verwendet werden kann.
  • In einem allgemeinen Aspekt enthält ein Computerprogrammprodukt, das auf einer computerlesbaren Speichervorrichtung enthalten ist, Anweisungen, die dann, wenn sie durch wenigstens einen Prozessor, der in einem Substrat gebildet ist, ausgeführt werden, bewirken, dass eine mobile Vorrichtung eines aus den offenbarten Verfahren, Operationen oder Prozessen ausführt. Ein weiterer allgemeiner Aspekt enthält ein System mit einer Anwenderschnittstelle und/oder einem Verfahren zum Erzeugen einer Anwenderschnittstelle, die es einem Anwender ermöglicht, zu steuern und anzupassen, wann und welche Aktionen, die auf der mobilen Vorrichtung ausgeführt werden, in einem Arbeitsablauf zum Vergleich mit zukünftigen potentiell wiederholten Aktionen gespeichert werden können. Ein weiterer allgemeiner Aspekt enthält ein System und/oder Verfahren zum Bestimmen, wann Assistenz zur Vervollständigung einer Aktion angeboten wird, im Wesentlichen wie in wenigstens einer in den Figuren gezeigt und/oder in Verbindung damit beschrieben ist und wie es vollständiger in den Ansprüchen dargelegt ist.
  • Eine oder mehrere Implementierungen des hier beschriebenen Gegenstands können implementiert sein, um einen oder mehrere aus den folgenden Vorteilen zu realisieren. Als ein Beispiel stellen Implementierungen einen Shortcut zum Wiederholen einer häufig verwendeten Folge von Aktionen bereit. Der Shortcut kann explizit durch den Anwender angefordert werden oder kann dem Anwender basierend auf der Analyse einer ähnlichen Folge von Aktionen, die in der Vergangenheit ausgeführt wurden, vorgeschlagen werden. Wenn der Shortcut durch den Anwender initiiert wird, vervollständigt das System automatisch den durch den Shortcut repräsentierten Arbeitsablauf. Als ein weiteres Beispiel kann das System einen wiederholten Arbeitsablauf identifizieren und anbieten, den Arbeitsablauf für den Anwender automatisch zu vervollständigen. Solche Beispiele für automatische Vervollständigung reduzieren den Batterieverbrauch, die Verarbeitungszyklen, RAM-Speichernutzung und die Verwendung anderer Systembetriebsmittel durch Reduzieren der Zeit, um einen Arbeitsablauf zu vervollständigen, und Reduzieren oder Eliminieren von Anwendereingabe, die verwendet wird, um den Arbeitsablauf zu vervollständigen. Ein fortgesetzter und/oder geführter Mensch-Maschine-Interaktionsprozess kann deshalb bereitgestellt sein. Der Prozess kann den Anwender mit Assistenz bei der Ausführung einer technischen Aufgabe versorgen. Der Anwender kann außerdem bei dem korrekten Bedienen eines technischen Systems wie z. B. einer mobilen Vorrichtung unterstützt werden. Eine verbesserte Mensch-Maschine-Interaktion ist bereitgestellt, und die Eingabe, die von dem Anwender gefordert werden, um eine technische Aufgabe auszuführen, ist reduziert. Der Rahmen zum Aufzeichnen eines Arbeitsablaufs als eine Folge von Aktionen ist flexibel, und die Aktionen werden auf hoher Ebene aufgenommen, was es erlaubt, dass ähnliche Folgen trotz Änderungen an dem Layout einer Anwenderschnittstelle, z. B. Verschieben eines Steuerelements oder eines Eingabetextfelds und Änderungen der Reihenfolge der Aktionen innerhalb der Folge, identifiziert werden können. Einige Implementierungen stellen einen Steuermechanismus bereit, der granular ist, der es dem Anwender z. B. ermöglicht zu bestimmen, welche Informationen als Teil der Folge aufgenommen werden können oder nicht, ob Folgen deaktiviert oder gemeinsam verwendet werden sollen, wann Folgen aufgenommen werden sollen, usw.
  • Die Einzelheiten einer oder mehrerer Implementierungen sind in den begleitenden Zeichnungen und der nachstehenden Beschreibung dargelegt. Andere Merkmale werden aus der Beschreibung und den Zeichnungen und aus den Ansprüchen offensichtlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, das ein Beispielsystem in Übereinstimmung mit dem offenbarten Gegenstand darstellt.
  • 2 stellt eine Beispielanzeige einer mobilen Computervorrichtung mit einer Aufforderung einer intelligenten Assistenz gemäß einer Implementierung dar.
  • 3 stellt eine Beispielanzeige einer mobilen Computervorrichtung mit einer Shortcut-Aufforderung gemäß einer Implementierung dar.
  • 4 stellt eine Beispiel-Anwenderschnittstelle zum Auswählen von Parametern für einen Aktionsagenten gemäß einer Implementierung dar.
  • 5 stellt ein Ablaufdiagramm eines Beispielprozesses zum Identifizieren wiederholter Aktionen und Bereitstellen einer intelligenten Assistenz in Übereinstimmung mit offenbarten Implementierungen dar.
  • 6 zeigt ein Beispiel einer Computervorrichtung, die verwendet werden kann, um die beschriebenen Techniken zu implementieren.
  • 7 zeigt ein Beispiel einer verteilten Computervorrichtung, die verwendet werden kann, um die beschriebenen Techniken zu implementieren.
  • Gleiche Bezugszeichen in den verschiedenen Zeichnungen geben gleiche Elemente an.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ein System zum effizienteren Verarbeiten auf einer Computervorrichtung, insbesondere einer mobilen Vorrichtung, erkennt, wenn ein Anwender einen wiederholten und wiederholbaren Arbeitsablauf gestartet hat, und ermöglicht es dem Anwender, die Vorrichtung anzuweisen, den Arbeitsablauf ohne weitere Eingabe oder mit minimaler Eingabe von dem Anwender zu vervollständigen. Beispielsysteme beobachten die sowohl Eingabe, die durch einen Anwender für eine mobile Anwendung oder Website bereitstellt wird, als auch welche/r Text, Bilder und Töne durch die Anwendung für den Anwender bereitgestellt werden. Die Beispielsysteme zeichnen die Folge von Aktionen (Eingaben, Antworten usw.), die den Arbeitsablauf repräsentiert, auf hoher Ebene auf, so dass kleinere Änderungen an dem Bildschirmlayout und variable Abschnitte einer Anwenderschnittstelle (z. B. Werbe-Banner) die Folge nicht beeinflussen. Das System stellt eine Anwendersteuerung darüber, welche Folgen aufgenommen werden, bereit.
  • Beispielsysteme können die Arbeitsablaufbeschreibungen, z. B. die Folge von Aktionen, speichern und können eine Ähnlichkeits-Engine, die eine teilweise maschinen-erlernte sein kann, verwenden, um zu bestimmen, wenn der Anwender eine frühere Folge wiederholt. Die Ähnlichkeitsmetrik verwendet als Eingaben Signale, die für die Folge aufgezeichnet sind, die irgendeine Eigenschaft der Folge enthalten können, die Tageszeit, Wochentag, verwendete Anwendung, Anzahl und Typ von Eingaben, den ungefähren gedrückten Bereich des Bildschirms, die Reihenfolge von Eingaben usw. enthält. Die Ähnlichkeits-Engine kann konfiguriert sein, eine Ähnlichkeit festzustellen, selbst bei Vorhandensein von leicht veränderten Komponenten, was eine unterschiedliche Reihenfolge von Aktionen innerhalb der Folge enthält. Somit beeinträchtigen ein leicht geändertes Layout, unterschiedliche Banner auf einer Webseite oder unterschiedliche Werbung oder Angebote in einer mobilen App die Fähigkeit zum Vergleichen von Folgen nicht. Die Ähnlichkeits-Engine kann beispielsweise auf "Edit Distance" basieren.
  • Wenn das System bestimmt, dass eine Folge von Aktionen einer früheren Folge ähnlich genug ist, kann das System anbieten, den Arbeitsablauf zu vervollständigen. In einigen Implementierungen kann das System vor dem Anbieten, den Arbeitsablauf zu vervollständigen, eine Vorhersage darüber erzeugen, ob das System die Aktion, die durch die Folge repräsentiert ist, reproduzieren kann. Ein Aktionsprädiktor kann diese Vorhersage erzeugen, und der Aktionsprädiktor kann ein weiteres maschinen-erlerntes Modell (vollständig oder teilweise erlernt) sein, das eine Vertrauensbewertung basierend auf mehreren Faktoren, wie z. B. Verhalten des Anwenders über mehrere Folgen in demselben Kontext, Kontext der Aktion, ähnliche Folgen durch andere Anwender (falls verfügbar), wie oft sich die Anwenderschnittstelle ändert usw. bereitstellt. Die Vertrauensbewertung kann als niedrig, mittel oder hoch klassifiziert sein. Falls das Vertrauen niedrig ist, kann das System keine Aktion ausführen. Falls es mittel ist, kann das System die Folge als potentiell vorgeschlagene Vervollständigung markieren. Beispielsweise kann das System "beobachten und lernen", um zu sehen, ob der Anwender diese Aktionen wieder ausführt, – was das Vertrauen erhöhen kann, wenn sie zum nächsten Mal angetroffen wird. Falls die Vertrauensbewertung hoch ist, kann das System dem Anwender die Folge vorschlagen. Der Anwender kann optional den Arbeitsablauf als einen Shortcut abspeichern. Falls der Anwender optiert, das System die Folge reproduzieren zu lassen, kann das System entweder die Aktionen im Hintergrund reproduzieren oder dem Anwender zeigen, was durch die Folge eingegeben wird und die Antworten durch die Anwendung. Beispielsysteme können Systeme eine Anwendersteuerung dafür, welche Aktionen aufgenommen werden, welche Informationen aufgenommen werden und ob abgespeicherte Folgen für gemeinsames Verwenden verfügbar sind, bereitstellen.
  • 1 ist ein Blockdiagramm eines intelligenten Assistenzsystems 100 in Übereinstimmung mit einer Beispielimplementierung. Das intelligente Assistenzsystem stellt einen Prozess bereit, der den Betriebsmittelverbrauch und Anwendereingabe zum Vervollständigen spezieller wiederholter Arbeitsabläufe reduziert. In einigen Implementierungen wählt das Assistenzsystem 100 intelligent aus, welche wiederholten Arbeitsabläufe zur Vervollständigung angeboten werden sollen, so dass das System das Vorschlagen von Arbeitsabläufe vermeidet, die nicht automatisch erfolgreich vervollständigt werden können. Das intelligente Assistenzsystem 100 stellt eine konsistente Anwenderwahrnehmung über mobile Anwendungen bereit, so dass mit der Genehmigung des Anwenders eine Folge von Aktionen, die in irgendwelchen Anwendungen wiederholt wird, automatisch vervollständigt werden kann, oder mit anderen Worten durch eine intelligente Assistenz vervollständigt werden kann. In einigen Implementierungen kann das System 100 außerdem einen Prozess enthalten, der es einem Anwender einer mobilen Vorrichtung erlaubt, einen Arbeitsablauf mit einem weiteren Anwender gemeinsam zu verwenden, z. B. die Folge von Aktionen, die durch den Arbeitsablauf repräsentiert sind, zu einer weiteren mobilen Vorrichtung zu übertragen. Eine intelligente Assistenz erlaubt es einer mobilen Vorrichtung, automatisch einen Arbeitsablauf auszuführen oder zu vervollständigen, ohne oder mit minimaler Eingabe von dem Anwender. Das spart Systembetriebsmittel wie z. B. Batterieverbrauch, Speichernutzung, Prozessorzyklen ein, da die Vorrichtung den Arbeitsablauf schneller vervollständigen kann als ein menschlicher Anwender.
  • Das intelligente Assistenzsystem 100 kann die mobile Vorrichtung 180 enthalten. Die mobile Vorrichtung 180 kann irgendeine mobile persönliche Computervorrichtung sein wie z. B. ein Smartphone oder eine andere in der Hand gehaltene Computervorrichtung, ein Tablet, eine tragbare Computervorrichtung usw., die in eher in einer geschlossenen Mobilumgebung als in einer herkömmlichen offenen webbasierten Umgebung arbeitet. In einigen Implementierungen kann die mobile Vorrichtung ein Personalcomputer, ein Netbook oder ein Laptop sein. Die mobile Vorrichtung 180 kann ein Beispiel der Computervorrichtung 600 sein, wie in 6 abgebildet. Die mobile Vorrichtung 180 kann einen oder mehrere Prozessoren enthalten, die in einem Substrat gebildet sind und die konfiguriert sind, eine oder mehrere maschinenausführbare Anweisungen oder Elemente von Software, Firmware oder einer Kombination daraus auszuführen. Die mobile Vorrichtung 180 kann ein Betriebssystem 115 enthalten. Die mobile Vorrichtung 180 kann einen oder mehrere Computerspeicher enthalten, die konfiguriert sind, eine oder mehrere Dateneinheiten zu speichern, entweder temporär, permanent oder semipermanent oder eine Kombination daraus. Die mobile Vorrichtung 180 kann somit Anwendungen enthalten, die mobile Anwendungen 110, den Aktionsassistenten 120 und/oder die Einstellungen-UI 140 enthalten, die maschinenausführbare Anweisungen in der Form von Software, Firmware oder einer Kombination daraus repräsentieren. Die mobile Vorrichtung 180 kann außerdem eine oder mehrere Ausgabevorrichtungen 103 enthalten. Die Ausgabevorrichtungen können eine Anzeigevorrichtung zum Anzeigen von visuellem Inhalt und Lautsprecher zum Präsentieren von Audioinhalt enthalten.
  • Die mobile Vorrichtung 180 kann den Aktionsassistenten 120 enthalten. Der Aktionsassistent 120 kann konfiguriert sein, Eingaben zu beobachten, die durch einen Anwender für eine oder mehrere mobile Anwendungen, Web-Anwendungen und/oder Websites, von denen jede als "eine Anwendung" bezeichnet sein kann, bereitgestellt werden. Der Aktionsassistent 120 kann auch Text, Bilder und Töne beobachten, die von der Anwendung für den Anwender bereitgestellt werden. Anwenderaktionen repräsentieren Eingabegesten wie z. B. Tippen, Wischen, Texteingabe oder irgendeine andere Aktion, die der Anwender vornimmt, um mit einer Anwenderschnittstelle der Anwendung zu interagieren. Beispielsweise kann eine Anwenderaktion irgendeine Aktion sein, die der Anwender vornimmt, um mit einem berührungssensitiven Bildschirm der mobilen Vorrichtung 180 zu interagieren. Eine Anwenderaktion kann auch irgendein Text oder eine Auswahl sein, die durch den Anwender über eine Eingabevorrichtung wie z. B. eine Maus, eine Tastatur, ein Trackpad, ein Mikrofon usw. eingegeben wird. Der Aktionsassistent 120 kann die Beobachtungen auf hoher Ebene aufnehmen und die aufgenommenen Beobachtungen als einen Arbeitsablauf, der durch eine Folge von Aktionen repräsentiert ist, speichern. Somit kann eine Folge von Aktionen Eingaben, Ergebnisse, Antworten usw. enthalten, die auf einer hohen Ebene aufgenommen sind. Eine Folge, die auf einer hohen Ebene aufgenommen ist, enthält keine Einzelheiten wie z. B. Pixelorte, die der Anwender ausgewählt hat. Stattdessen identifizieren Aktionen, die an einer hohen Ebene aufgenommen sind, was der Anwender durch diese Aktionen erreichte. Beispielsweise kann ein Pizzabestellungs-Arbeitsablauf als die folgende Folge von Aktionen aufgenommen werden:
    • 1. zum Hauptmenü gehen
    • 2. große Pizza auswählen
    • 3. große Pizza durch Hinzufügen von Salami und Oliven modifizieren
    • 4. Menge 2 eingeben
    • 5. <hinzufügen zum Warenkorb>-Steuerelement auswählen
    • 6. große Pizza auswählen
    • 7. große Pizza durch Hinzufügen von grüner Paprika, Zwiebeln, Oliven und Pilzen modifizieren
    • 8. Menge 1 eingeben
    • 9. <hinzufügen zum Warenkorb>-Steuerelement auswählen
    • 10. <Kasse>-Steuerelement auswählen
    • 11. abgespeicherte Bezahlinformationen bestätigen
    • 12. Lieferzeit als baldmöglichst auswählen
    • 13. <Bestellung bestätigen>-Steuerelement auswählen
    • 14. Anwendung verlassen
  • Als ein weiteres Beispiel kann der Pizzabestellungs-Arbeitsablauf als die folgende Folge von Aktionen aufgenommen werden, die eine strukturiertere Herangehensweise darstellt:
    • 1. [select:main_menu]
    • 2. [select:size.lg]
    • 3. [select:topping.pep] & [select:topping.bo]
    • 4. [select:q.2]
    • 5. [select:add_cart]
    • 6. [select:size.lg]
    • 7. [select: topping.gp] & [select:topping.o] & [select:topping.bo] & select[topping.mush]
    • 8. [select:q.1]
    • 9. [select:add_cart]
    • 10. [select:checkout]
    • 11. [select:cc1]
    • 12. [select:del.asap]
    • 13. [select:order]
    • 14. [select:exit]
  • Wie durch die zwei vorstehenden Beispiele dargestellt ist, enthält die Folge Merkmale über den Inhalt, der durch die Anwendung bereitgestellt ist (z. B. eine Steuerung des Belags und seiner Werte), und Merkmale über die Eingabe, die durch den Anwender bereitgestellt werden (welche Steuerelemente ausgewählt werden und mit welchen Werten). Der Aktionsassistent 120 kann die Grenze zwischen einer Aktionsfolge und einer weiteren Aktionsfolge auf eine Reihe von Arten bestimmen. Beispielsweise kann das System bestimmen, dass eine Folge beendet ist, basierend auf einem expliziten Befehl von dem Anwender, der die Folge als fertiggestellt kennzeichnet. Als ein weiteres Beispiel kann das System basierend darauf, dass der Anwender zu einer weiteren Anwendung umschaltet oder dass der Anwender die Anwendung schließt, bestimmen, dass eine Folge beendet ist. Als ein weiteres Beispiel kann das System basierend auf einer Meldung von der Anwendung, z. B. eine Nachricht die "Bestellung ist vollständig", "Bestellung ist empfangen" oder etwas Ähnlichem bestimmen, dass eine Folge beendet ist.
  • Der Aktionsassistent 120 kann die Folge von Aktionen als eine frühere Folge zur späteren Bezugnahme speichern, beispielsweise in den früheren Folgen 170. Zusätzlich zum Speichern der Folge von Aktionen kann der Aktionsassistent 120 auch Metadaten über die Folge speichern. Die Metadaten können auch als Signale für die Folge bezeichnet sein. Die Signale können irgendeine Eigenschaft der Folge enthalten, die Tageszeit, Wochentag, verwendete Anwendung, Anzahl und Typ von Eingaben, ungefährer Bereich des Bildschirms, der gedrückt ist, Reihenfolge der Eingaben, ob sich die Vorrichtung bewegt hat, usw. enthalten. Beispielsweise kann der Aktionsassistent 120 als Kontext für die Folge einen Zeitstempel für jede Aktion, der angibt, wann die Aktion stattgefunden hat, der Wochentag, Tageszeit, ob der Tag ein Feiertag ist usw., enthält, einen Ortsstempel, der angibt, wo der Anwender war, einen Ortsverlauf, früher verwendete Anwendungen, frühere Folgen von Aktionen usw. aufzeichnen. In einigen Implementierungen können die Signale als ein Array von Werten gespeichert werden, z. B. ein Array aus Gleitkommazahlen, ein Array aus Textzeichenketten, ein Array aus Listenwerten usw. Das System kann die Metadaten mit der Folge von Aktionen speichern, z. B. in den früheren Folgen 170.
  • Der Aktionsassistent 120 kann eine Ähnlichkeits-Engine 155, die teilweise erlernt sein kann, und die früheren Folgen 170 verwenden, um zu bestimmen, wenn der Anwender beginnt, eine Aktion zu wiederholen. Die Ähnlichkeits-Engine 155 kann ein Vorhersagemodell sein, das eine Ähnlichkeitsmetrik zwischen einer aktuellen Folge von Aktionen und einer oder mehreren aus den früheren Folgen 170 erzeugt. Die Ähnlichkeits-Engine 155 kann als Eingabe eine aktuelle Folge von Aktionen, eine oder mehrere frühere Folgen von Aktionen, z. B. aus den früheren Folgen 170, und die Metadaten oder Signale für jede aus den Folgen verwenden. In einigen Implementierungen können die Metadaten als ein Merkmalsvektor bereitgestellt sein. Die Ähnlichkeits-Engine 155 stellt eine Ähnlichkeitsmetrik zwischen der aktuellen Folge und jeder aus den früheren Folgen bereit. Die Ähnlichkeitsmetrik kann beispielsweise auf einer Anzahl unterschiedlicher Metriken wie z. B. "Edit Distance" basieren. In einigen Implementierungen kann das System nur eine frühere Folge von Aktionen auswählen, wenn die frühere Folge eine minimale Übereinstimmung mit der aktuellen Folge von Aktionen aufweist, wie z. B. das gemeinsame Verwenden derselben Anwendung. Die Ähnlichkeits-Engine 155 ist konfiguriert, die Ähnlichkeit selbst bei Vorhandensein von leicht veränderten Komponenten festzustellen. Somit beeinträchtigen unterschiedliche Banner auf einer Webseite, unterschiedliche Werbung oder Angebote in einer mobilen App, ein leicht verändertes Layout oder eine unterschiedliche Reihenfolge der Aktionen nicht die Fähigkeit der Ähnlichkeits-Engine 155, zwei Folgen zu vergleichen. In einigen Implementierungen kann die Ähnlichkeitsmetrik durch einen maschinen-erlernten Algorithmus erzeugt werden. In einigen Implementierungen kann die Ähnlichkeits-Engine 155 für die mobile Vorrichtung 180 periodisch von einem Server, z. B. dem Server 190, bereitgestellt werden.
  • Der Aktionsassistent 120 verwendet die Ähnlichkeitsmetrik, um zu bestimmen, ob die aktuelle Menge von Aktionen einer oder mehreren früheren Mengen ausreichend ähnlich ist. Beispielsweise kann der Aktionsassistent 120 die Metrik mit einem Ähnlichkeitsschwellenwert vergleichen. Der Schwellenwert kann basierend auf einer Anzahl von Faktoren angepasst werden, wie z. B. ob das System in der Vergangenheit gute Vorhersagen gemacht hat, ob die frühere Folge als ein Shortcut abgespeichert ist, wie viele frühere Folgen sowohl miteinander als mit der aktuellen Folge übereinstimmen, usw. Die Ähnlichkeitsmetrik, die durch die Ähnlichkeits-Engine 155 berechnet wird, kann davon abhängig sein, wie vollständig der aktuelle Arbeitsablauf ist. Beispielsweise kann nur das Öffnen einer mobilen Anwendung, die verwendet wird, um eine Pizza von einem speziellen Restaurant zu bestellen, einer früheren Folge für diese spezielle Anwendung ausreichend ähnlich sein, weil mehrere frühere Folgen für diese Anwendung ausreichend ähnlich sind. Somit kann die Ähnlichkeits-Engine 155 einen hohen Grad von Vertrauen besitzen, dass der Anwender erneut die gleiche Aktion unter Verwendung der Anwendung ausführen möchte. Im Gegensatz dazu kann der Anwender eine mobile Reservierungs-Anwendung verwenden, um Reservierungen in mehreren unterschiedlichen Restaurants vorzunehmen. Somit ist nur das Öffnen der Reservierungs-Anwendung nicht ausreichend ähnlich irgendeiner speziellen früheren Folge ohne weiteren Kontext. Beispielsweise falls der Anwender eine Reservierung für dasselbe Restaurant zur selben Zeit des Monats oder wenn er an einem speziellen Ort ist vornimmt, können diese Signale verwendet werden, um die Ähnlichkeitsmetrik für eine spezielle frühere Folge für dieses Restaurant zu verstärken, wenn die aktuelle Folge von Aktionen die Signale gemeinsam verwendet.
  • Wenn der Aktionsassistent 120 bestimmt, dass die aktuelle Folge von Aktionen einer früheren Folge ähnlich genug ist, kann der Aktionsassistent 120 eine Vorhersage darüber erzeugen, ob das System die durch die frühere Folge repräsentierte Aktion reproduzieren kann. Der Aktionsassistent 120 kann einen Aktionsprädiktor 150 verwenden, um die Vorhersage zu erzeugen. In einigen Implementierungen kann der Aktionsprädiktor 150 die Ähnlichkeitsmetrik als eine Vertrauensbewertung verwenden. Mit anderen Worten kann die Ähnlichkeitsmetrik einen Ähnlichkeitsschwellenwert erfüllen und kann, falls sie den Ähnlichkeitsschwellenwert erfüllt, mit einem oder mehreren Vertrauensschwellenwerten verglichen werden. In einigen Implementierungen kann der Aktionsprädiktor 150 ein weiteres maschinen-erlerntes Modell sein, vollständig oder teilweise erlernt, das eine separate Vertrauensbewertung bereitstellt. Die Vertrauensbewertung kann auf mehreren Faktoren basieren wie z. B. dem Verhalten des Anwenders über mehrere Folgen in dem gleichen Kontext, dem Kontext des Arbeitsablaufs, ähnlichen Folgen durch andere Anwender (falls verfügbar), wie häufig sich die Anwenderschnittstelle für den Arbeitsablauf ändert, der Variabilität der Auswahlmöglichkeiten in den Anwenderschnittstellen für den Arbeitsablauf usw. Die Vertrauensbewertung kann als niedrig, mittel oder hoch klassifiziert sein. Falls das Vertrauen niedrig ist, kann der Aktionsassistent 120 den Arbeitsablauf nicht weiter verfolgen und bietet nicht an, den Arbeitsablauf zu reproduzieren. Eine Vertrauensbewertung kann niedrig sein, weil es zu schwierig ist, die früheren Anwenderaktionen in der Folge zuverlässig zu reproduzieren. Falls die Vertrauensbewertung als mittel klassifiziert ist, kann das System die Folge als eine potentiell vorgeschlagene Vervollständigung markieren. Beispielsweise kann in einigen Implementierungen das System in eine "Beobachten und Lernen"-Betriebsart eintreten, um zu bestimmen, ob der Anwender diesen Arbeitsablauf erneut ausführt. In einigen Implementierungen kann das System in einer "Beobachten und Lernen"-Betriebsart sein, sofern Attribute über die Computerumgebung (z. B. Anwendereinstellungen, spezielle Anwendungen) eine solche Betriebsart nicht verhindern. Das nächste Mal, wenn der Aktionsassistent 120 die Folge antrifft, kann der Aktionsprädiktor 150 die Vertrauensbewertung erhöhen. Sobald die gleiche Folge für eine minimale Anzahl von Malen angetroffen worden ist, kann die Vertrauensbewertung als hoch anstatt mittel klassifiziert werden. Andererseits kann der Aktionsassistent 120 nach einiger Zeit bestimmen, dass die Folge über die Zeit nicht wiederholt wird, z. B. die Folge häufig variiert, und der Aktionsprädiktor 150 kann die Vertrauensbewertung von mittel auf niedrig verringern. Eine mittlere Vertrauensbewertung gibt eine Unsicherheit dafür an, ob die Folge von Aktionen vervollständigt werden kann.
  • Falls die Vertrauensbewertung als hoch klassifiziert ist, kann der Aktionsassistent 120 eine Aufforderung initiieren, die anbietet, die Aktion für den Anwender zu vervollständigen. Falls der Anwender eine Genehmigung dafür, das System die Aktion vervollständigen zu lassen, angibt, kann der Aktionsassistent 120 außerdem eine Aufforderung initiieren, die dem Anwender die Gelegenheit gibt, die Folge von Aktionen, oder mit anderen Worten den Arbeitsablauf, als einen Shortcut abzuspeichern, z. B. in Shortcut-Folgen 172. Die Shortcut-Folgen können frühere Folgen sein, die der Anwender als einen Shortcut festgelegt hat. Das kann in Reaktion auf die Aufforderung ausgeführt werden oder kann in einer expliziten Betriebsart ausgeführt werden, in der der Anwender eine Folge von Aktionen aufzeichnet, die als ein Shortcut festgelegt wird, wenn die Folge vollständig ist. Jede Shortcut-Folge kann einem entsprechenden Sprachbefehl zugeordnet sein, so dass der Anwender den Shortcut über den Sprachbefehl initiieren kann. Der Shortcut kann auch einem Steuerelement zugeordnet sein, z. B. einem auswählbaren Symbol, das auf einem Startbildschirm einer mobilen Vorrichtung oder an einem anderen Ort in einer Anwenderschnittstelle der mobilen Vorrichtung platziert sein kann. In einigen Implementierungen kann der Shortcut-Folge ein Name oder eine Beschreibung zugeordnet sein. In einigen Implementierungen kann der Shortcut-Folge eine spezielle Eingabefolge zugeordnet sein, wie z. B. ein langes Drücken und ein Wischen, die durch den Anwender ausgewählt wird.
  • Wenn der Anwender optiert, das System einen Arbeitsablauf vervollständigen zu lassen, z. B. Reproduzieren der früheren Folge, verwendet der Aktionsassistent 120 die frühere Folge, um den Arbeitsablauf zu vervollständigen. Somit bedeutet das Reproduzieren des Arbeitsablaufs Beenden des Arbeitsablaufs, z. B. Ausführen der Aktionen in der Folge, die nicht in der aktuellen Folge von Aktionen sind, sondern in der früheren Folge von Aktionen sind. Falls der Anwender einen Arbeitsablauf unter Verwendung eines Shortcut (z. B. des Sprachbefehls oder Auswählen des Symbols für den Shortcut) initiiert, enthält das Reproduzieren des Arbeitsablaufs Ausführen aller Aktionen, die in der Folge von Aktionen für den Shortcut enthalten sind. In einigen Implementierungen kann der Aktionsassistent 120 die Aktionen im Hintergrund ausführen. Das kann nur Anzeigen der letzten Anwenderschnittstelle, die durch die Anwendung am Ende der Folge von Aktionen erzeugt wird, enthalten. Das kann außerdem Anzeigen einiger dazwischen liegender Anwenderschnittstellen anstatt aller Anwenderschnittstellen, während die Aktionen automatisch ausgeführt werden, enthalten. In einigen Implementierungen kann der Aktionsassistent 120 den Arbeitsablauf so reproduzieren, als ob der Anwender tatsächlich Eingaben bereitstellen würde, d. h. dem Anwender zeigen, was durch den Aktionsassistenten 120 bei der Ausführung der Aktion eingegeben wird, und die Anwenderschnittstelle, die durch die Anwendung in Reaktion auf die Eingabe erzeugt wird.
  • Um einen Arbeitsablauf zu reproduzieren, verwendet der Aktionsassistent 120 die frühere Folge von Aktionen, die der aktuellen Folge von Aktionen ähnlich ist, um Eingaben für die Anwendung bereitzustellen, die der früheren Folge zugeordnet sind. Weil der Aktionsassistent 120 Teil des Betriebssystems ist, hat der Aktionsassistent 120 Zugriff auf die Anwenderschnittstellenkomponenten, die durch die Anwendung (z. B. die mobile Anwendung, die Web-Anwendung oder Website) erzeugt werden. Somit kann der Aktionsassistent 120 beispielsweise ein Texteingabefeld in der Anwenderschnittstelle identifizieren und Text für das Texteingabefeld bereitstellen, oder ein Steuerelement finden und eine Auswahl des Steuerelements simulieren. Die Reproduktion einer Folge von Aktionen kann über Simulieren des Anwenderverhaltens, z. B. Klicks, Tippen, Schreiben usw., oder anderer herkömmlicher Verfahren erreicht werden.
  • Der Aktionsassistent 120 kann Assistenzparameter 130 verwenden, um zu bestimmen, wann Folgen von Aktionen beobachtet und gespeichert werden sollen, welche Art von Informationen mit einer Folge von Aktionen gespeichert werden soll, welche Informationen zur Reproduktion der Aktionen verwendet werden sollen, ob eine Folge gemeinsam verwendet werden kann usw. Beispielsweise können die Assistenzparameter 130 einen Parameter enthalten, der eine oder mehrere Anwendungen angibt, für die der Aktionsassistent 120 aktiv ist. Als ein weiteres Beispiel können die Assistenzparameter 130 einen Parameter enthalten, der eine oder mehrere Anwendungen angibt, für die der Aktionsassistent 120 niemals aktiv ist. Falls der Aktionsassistent 120 nicht aktiv ist, beobachtet der Aktionsassistent keine Folgen von Aktionen, nimmt sie nicht auf oder speichert sie nicht ab und bietet deshalb nicht an, eine Folge zu vervollständigen.
  • Die Assistenzparameter 130 können einen oder mehrere Parameter enthalten, die Eingaben identifizieren, die nicht als Teil einer Folge von Aktionen aufgenommen werden sollen. Beispielsweise kann der Anwender spezifizieren, dass der Aktionsassistent 120 keine Anwendernamen, Passwörter, Kontonummern, Anwenderbezeichner usw. aufzeichnen darf. Wenn der Aktionsassistent 120 Eingaben in einer Aktion beobachtet, die nicht aufgenommen/beschrieben/aufgezeichnet werden sollen, kann der Aktionsassistent 120 die aktuelle Folge von Aktionen beenden. Mit anderen Worten beendet in einigen Implementierungen eine Eingabe, die nicht aufgenommen werden soll, die Folge. Die Folge kann als vollständig betrachtet werden, weil irgendwelche weiteren Aktionen nicht automatisch reproduziert werden können. In einigen Implementierungen kann der Aktionsassistent 120 ein Token anstelle der Eingabe, die durch den Anwender bereitgestellt wird, verwenden, so dass die Aktion ohne die Eingabe aufgenommen werden kann. In einer solchen Implementierung kann der Aktionsassistent 120 die Aktion nicht automatisch reproduzieren – es wäre für den Aktionsassistenten 120 notwendig, dass der Anwender die Eingabe bereitstellt, die durch das Token repräsentiert ist, um das Reproduzieren der vollständigen Folge fortzusetzen. In einigen Implementierungen kann eine spezielle Eingabe, wie z. B. Bezahl -oder Konteninformationen, für eine Aktion nicht standardmäßig gesammelt werden, sofern der Anwender nicht spezifisch anfordert, dass solche Informationen für eine Aktion in einer Folge von Aktionen gesammelt werden.
  • Die mobile Vorrichtung 180 kann außerdem eine Einstellungen-UI 140 enthalten. Die Einstellungen-UI 140 kann konfiguriert sein, dem Anwender zu ermöglichen, die Parameter in den Assistenzparametern 130 anzusehen, hinzuzufügen oder zu ändern. Mit anderen Worten kann in einigen Implementierungen die Einstellungen-UI 140 für den Anwender der mobilen Vorrichtung 180 die Fähigkeit bereitstellen, den Aktionsassistenten 120 zu steuern. Der Grad der Granularität, der durch die Einstellungen-UI 140 bereitstellt ist, kann von der Implementierung abhängen. Beispielsweise kann die Einstellungen-UI 140 dem Anwender ermöglichen, eine mobile Anwendung 110 oder einen Typ einer mobilen Anwendung 110 auszuwählen und den Aktionsassistenten 120 für diese Anwendung 110 oder diesen Typ der Anwendung anzuschalten oder abzuschalten. Als ein weiteres Beispiel kann die Einstellungen-UI 140 dem Anwender ermöglichen, Einschränkungen für Eingaben, die in einer Folge von Aktionen enthalten sind, zu platzieren. Als ein weiteres Beispiel kann die Einstellungen-UI 140 dem Anwender ermöglichen, den Aktionsassistenten 120 zu deaktivieren. Als ein weiteres Beispiel kann die Einstellungen-UI 140 dem Anwender ermöglichen, Ebenen für Eingabeeinschränkungen auszuwählen. Eine Einschränkung kann das Aufnehmen einer Folge von Aktionen auf der mobilen Vorrichtung 180 erlauben, jedoch das gemeinsame Verwenden der Folgen verhindern oder verbieten. Beispielsweise können einige Anwender Shortcut-Folgen 172 mit einer weiteren Vorrichtung gemeinsam verwenden oder können frühere Folgen mit einem Server 190 gemeinsam verwenden, um dazu beizutragen, die Ähnlichkeits-Engine 155 und/oder den Aktionsprädiktor 150 zu trainieren und zu verfeinern. Andere Anwender können die Einstellungen-UI 140 verwenden, um jedes gemeinsame Verwenden zu verhindern. In einigen Implementierungen kann die Einstellungen-UI 140 dem Anwender ermöglichen, alle oder einige Folge von Aktionen in den früheren Folgen 170 zu löschen. In einigen Implementierungen kann der Entwickler des Aktionsassistenten 120 die Einstellungen-UI 140 bereitstellen. In einigen Implementierungen kann ein Entwickler einer mobilen Anwendung 110 einige Funktionalität der Einstellungen-UI 140, die zu der mobilen Anwendung 110 gehören, bereitstellen. Mit anderen Worten kann, wenn ein Anwender die mobile Anwendung 110 herunterlädt und installiert, die mobile Anwendung dem Anwender ermöglichen, den Aktionsassistenten 120 für die mobile Anwendung 110 auf aktiv oder inaktiv einzustellen. Die Einstellungen-UI 140 kann außerdem ein Steuerelement oder eine Option enthalten, um eine Shortcut-Folge explizit aufzuzeichnen. Das ist eine spezielle Trainings-Betriebsart, in der der Anwender explizit eine Menge von Aktionen ausführt und die Menge als eine Shortcut-Folge abspeichert. Wie bei anderen Shortcut-Folgen kann es dem Anwender möglich sein, einen Namen, ein Steuerelement und/oder einen Sprachbefehl für den Shortcut abzuspeichern.
  • Obwohl die Einstellungen-UI 140, die Ähnlichkeits-Engine 144, der Aktionsprädiktor 150 und der Aktionsassistent 120 als getrennte Anwendungen dargestellt sind, die auf der mobilen Vorrichtung 180 laufen, ist zu verstehen, dass eine oder mehrere der Komponenten, die in der Einstellungen-UI 140, der Ähnlichkeits-Engine 155, dem Aktionsprädiktor 150 und dem Aktionsassistenten 120 identifiziert sind, Teil des Betriebssystems 115 sein können. In einigen Implementierungen können alle Komponenten des Aktionsassistenten 120, der Ähnlichkeits-Engine 155, des Aktionsprädiktors 150 und der Einstellungen-UI 140 Teil des Betriebssystems 115 sein. In einigen Implementierungen können eine oder mehrere der Komponenten der Einstellungen-UI 140 in dem Server 190 ausgeführt werden, so dass beispielsweise der Anwender ein Aktionsassistentenprofil besitzen könnte, das herunterladen wird, um die Assistenzparameter 130 für irgendeine mobile Vorrichtung, in der der Anwender angemeldet ist, zu aktualisieren.
  • Das intelligente Assistenzsystem 100 kann einen Server 190 enthalten, der eine Computervorrichtung oder Vorrichtungen sein kann, die die Form einer Anzahl unterschiedlicher Vorrichtungen annehmen, beispielsweise eines Standard-Servers, einer Gruppe aus solchen Servern, oder eines Rack-Server-Systems, das über mehrere Computervorrichtungen verteilt sein kann. Zusätzlich kann der Server 190 in einem Personalcomputer, beispielsweise einem Laptop-Computer, implementiert sein. Der Server 190 kann ein Beispiel der Computervorrichtung 600, wie in 6 abgebildet ist, oder der Computervorrichtung 700, wie in 7 abgebildet ist, sein. Der Server 190 kann ein Anwenderkonto für den Anwender der mobilen Vorrichtung 180 enthalten und kann verwendet werden, um Informationen wie z. B. ein Assistenzparameterprofil für den Anwender zu speichern. Der Server 1900 kann auch mit der Erlaubnis des Anwenders frühere Folgen empfangen. Der Server 190 kann die früheren Folgen verwenden, um die Ähnlichkeits-Engine 155 besser zu trainieren und zu verbessern, z. B. über anwenderübergreifendes Training. Der Server 190 kann die früheren Folgen verwenden, um den Aktionsprädiktor 150 besser zu trainieren und zu verbessern, z. B. über anwenderübergreifendes Training. In einigen Implementierungen kann der Server 190 konfiguriert sein, einen Entwickler einer mobilen Anwendung zu benachrichtigen, wenn ein Muster für die mobile Anwendung über mehrere Anwender bestimmt wird. Beispielsweise durch Analysieren früherer anonymisierter Folgen über viele Anwender kann der Server 190 bestimmen, dass 90 % der Anwender einen ähnlichen Arbeitsablauf, d. h. eine ähnliche Folge von Aktionen, gemeinsam verwenden. Eine solche hohe Übereinstimmung zeigt einen Anwenderbedarf für den Arbeitsablauf, und das System kann den Entwickler der Anwendung über den Arbeitsablauf benachrichtigen, so dass der Arbeitsablauf nativ angeboten werden kann (der sogar schneller als die Reproduktion der Folge von Aktionen ausgeführt werden könnte).
  • Die mobile Vorrichtung 180 kann über das Netz 160 in Kommunikation mit dem Server 190 und mit anderen mobilen Vorrichtungen sein. Das Netz 160 kann beispielsweise das Internet sein, oder das Netz 160 kann ein drahtgebundenes oder drahtloses lokales Netz (LAN), Weitbereichsnetz (WAN) sein, das das Verwenden von beispielsweise Gateway-Vorrichtungen, Bridges, Verteilern und so weiter implementiert. Das Netz 160 kann auch ein zellulares Kommunikationsnetz repräsentieren. Über das Netz 160 kann der Server 190 mit der mobilen Vorrichtung 180 kommunizieren und Daten zu/von ihr übertragen, und die mobile Vorrichtung 180 kann mit dem Server 190 und anderen Computervorrichtungen kommunizieren und Daten zu ihnen übertragen.
  • Das intelligente Assistenzsystem 100 repräsentiert eine Beispielkonfiguration, und Implementierungen können andere Konfigurationen beinhalten. Beispielsweise können einige Implementierungen eine oder mehrere Komponenten aus der Einstellungen-UI, dem Aktionsassistenten 120, dem Betriebssystem 115, der mobilen Anwendungen 110, der Ähnlichkeits-Engine 155 und dem Aktionsprädiktor 150 in ein/e einzige/s Modul oder Engine kombinieren, und eine oder mehrere der Komponenten der Einstellungen-UI 140 können durch den Server 190 ausgeführt werden. Als ein weiteres Beispiel können einer oder mehrere aus den Datenspeichern, wie z. B. Assistenzparameter 130 und frühere Folgen 170, in einen einzigen Datenspeicher kombiniert sein, können über mehrere Datenspeicher oder Dateien verteilt sein, können über mehrere Computervorrichtungen verteilt sein oder können in dem Server 190 gespeichert sein.
  • In dem Umfang, in dem das intelligente Assistenzsystem 100 anwenderspezifische Daten sammelt und speichert oder von persönlichen Informationen Gebraucht macht, kann für den Anwender eine Gelegenheit bereitgestellt sein, zu steuern, ob Programme oder Merkmale die Anwenderinformationen (z. B. Informationen über das soziale Netzwerk eines Anwenders, soziale Aktionen oder Aktivitäten, Anwendereingabeaktionen, Beruf, die Vorlieben eines Anwenders oder eine aktuellen Aufenthaltsort eines Anwenders) sammeln, oder zu steuern, ob und/oder wie Inhalt empfangen werden soll, der für den Anwender relevanter sein kann. Zusätzlich können spezielle Daten auf eine oder mehrere Arten behandelt werden, bevor sie gespeichert oder verwendet werden, so dass persönlich identifizierbare Informationen entfernt werden. Beispielsweise kann die Identität eines Anwenders so behandelt werden, dass keine persönlich identifizierbaren Informationen für den Anwender identifiziert werden können, oder ein geographischer Aufenthaltsort des Anwenders kann verallgemeinert werden, wenn Informationen über den Aufenthaltsort erhalten werden (wie z. B. auf eine Stadt, eine Postleitzahl oder auf Staatenebene), so dass ein spezieller Aufenthaltsort eines Anwenders nicht bestimmt werden kann. Somit kann der Anwender die Kontrolle darüber haben, wie Informationen über den Anwender durch ein intelligentes Assistenzsystem gesammelt und verwendet werden.
  • Es wird hier darauf hingewiesen und ist auf verschiedene Ausführungsformen, die hier beschrieben sind, anwendbar, dass Fähigkeiten, um zu bestimmen, ob das Aufnehmen von Aktionen und andere Funktionalität mit den Rechten zur Verwendung von Inhalt, Layout, Funktionalität und anderen Aspekten des Bilds, das auf dem Vorrichtungsbildschirm angezeigt ist, konsistent sind, und das dementsprechende Einstellen der Möglichkeiten bereitgestellt sein können. Beispielsweise können einige Assistenzparameter 130 das Abspeichern von Folgen von Aktionen einschränken, wenn das ein Verstoß gegen die Nutzungsbedingungen des Dienstes, der Inhaltslizenz oder andere Einschränkungen der Nutzung wäre. Solche Einstellungen können manuell oder automatisch vorgenommen werden, z. B. durch einen Anwender, wenn er einen neuen Dienst oder Genehmigungen zum Verwenden des Geräts einstellt, oder durch eine App-Installationsroutine oder dergleichen, und können über die Einstellungen-UI 140 nicht modifizierbar sein.
  • 2 stellt eine Beispielanzeige einer mobilen Computervorrichtung mit einer Aufforderung einer intelligenten Assistenz gemäß einer Implementierung dar. Ein intelligentes Assistenzsystem wie z. B. das System 100 von 1 kann die Aufforderung 205 in der Anzeige 200 erzeugen. In dem Beispiel von 2 hat der Anwender die Pizzeria-Anwendung wenigstens einmal früher verwendet, um eine große Salamipizza mit dünner Kruste und eine große vegetarische Pizza zu bestellen. Somit hat in dem Beispiel von 2 das System wenigstens eine frühere Folge von Aktionen gespeichert, die die Eingabe aufnehmen, die durch den Anwender bereitgestellt ist, um die Bestellung zu vervollständigen. Beispielsweise kann die frühere Folge von Aktionen gespeichert sein als (z. B. in den früheren Folgen 170):
    • 1. Pizzeria-Anwendung öffnen
    • 2. <Anpassen>-Steuerelement auswählen
    • 3. große Größe auswählen, dünne Kruste auswählen
    • 4. <Nächstes>-Steuerelement auswählen
    • 5. Salami und Oliven auswählen
    • 6. Menge 2 eingeben
    • 7. <hinzufügen zum Warenkorb>-Steuerelement auswählen
    • 8. <Bestellung fortsetzen>-Steuerelement auswählen
    • 9. <Vegetarisch>-Steuerelement auswählen
    • 10. Menge 1 eingeben
    • 11. <hinzufügen zum Warenkorb>-Steuerelement auswählen
    • 12. <Kasse>-Steuerelement auswählen
    • 13. abgespeicherte Zahlungsinformationen bestätigen
    • 14. Lieferzeit baldmöglichst auswählen
    • 15. <Bestellung bestätigen>-Steuerelement auswählen
    • 16. Anwendung verlassen
  • Das System kann basierend auf einer Anzahl von Faktoren bestimmt haben, dass diese frühere Folge ähnlich einer aktuellen Folge ist. Beispielsweise kann der Anwender des Systems diese Bestellung mehrfach an einem Freitagabend aufgegeben haben, und die aktuelle Zeit entspricht Freitagabend. Als ein weiteres Beispiel kann der Anwender nur diese Bestellung in der Vergangenheit aufgegeben haben. In jedem dieser Fälle kann das System die Aufforderung 205 anbieten, sobald der Anwender die Pizzeria-Anwendung öffnet. Als ein weiteres Beispiel kann das System bestimmen, dass die Bestellung der vorstehenden früheren Folge von Aktionen ähnlich ist, nachdem der Anwender zwei große Pizzas mit dünner Kruste in dem Warenkorb platziert. Das kann auftreten, wenn eine weitere Folge für die Pizzeria-Anwendung vorhanden ist, die eine Bestellung für eine kleine Pizza enthält. Natürlich können andere Faktoren verwendet werden, um zu bestimmen, dass die aktuelle Folge ähnlich ist.
  • Zusätzlich zum Bestimmen, dass die aktuelle Folge der früheren Folge ähnlich ist, kann das System bestimmen, dass ein hohes Vertrauen vorhanden ist, dass die Aktion reproduziert werden kann. Beispielsweise kann sich die Anwenderschnittstelle der Pizzeria-Anwendung nicht häufig ändern und/oder es kann ein Verlauf zuverlässigen Anwenderverhaltens innerhalb der Anwendung vorhanden sein. Sobald das System entscheidet, dass die aktuelle Folge von Aktionen einer früheren Folge ausreichend ähnlich ist, kann das System die Anzeige der Aufforderung 205 initiieren. Die Aufforderung 205 kann eine Beschreibung 210 der Folge von Aktionen, die reproduziert werden soll, enthalten. Die Beschreibung 210 ist eine Textversion einer Beschreibung auf hoher Ebene der Folge, die unter Verwendung herkömmlicher Techniken erzeugt wird. Die Aufforderung 205 kann außerdem ein Genehmigungs-Steuerelement 215 und ein Nichtgenehmigungs-Steuerelement 220 enthalten. Falls der Anwender das Nichtgenehmigungs-Steuerelement 220 auswählt, kann in einigen Implementierungen das System die Folge als abgelehnt markieren, z. B. über ein Attribut oder Einstellen des Vertrauens auf niedrige Werte, so dass das System nicht erneut anbietet, die Folge von Aktionen für diesen Anwender zu vervollständigen. In einigen Implementierungen kann, wenn der Anwender das Nichtgenehmigungs-Steuerelement 220 auswählt, das System den Vertrauensschwellenwert anheben, was bewirkt, dass das System die Folge weniger häufig anbietet. Falls der Anwender das Genehmigungs-Steuerelement 215 auswählt, kann das System beginnen, die Aktionen zu reproduzieren. Beispielsweise kann das System die Eingabe, die durch den Anwender in der früheren Folge von Aktionen bereitgestellt wurde, simulieren. Weil die Aktionen auf hoher Ebene aufgezeichnet sind, kann das System die Aktionen unabhängig von Änderungen am Layout reproduzieren. Änderungen an der Schnittstelle, die die Steuerelemente betreffen, z. B. die Eingabefelder, Dropdown-Menüs, usw., können die Fähigkeit beeinträchtigen, eine Aktion zu reproduzieren. In einigen Implementierungen kann die Anzeige 200 die Aktionen zeigen, wenn sie reproduziert werden. In einigen Implementierungen kann die Anzeige 200 die Folge im Hintergrund reproduzieren, z. B. ohne dazwischenliegende Bildschirme, die durch die Pizzeria-Anwendung erzeugt werden, anzuzeigen, oder nur spezielle Bildschirme anzeigen, z. B. einen Bildschirm, der bestätigt, dass die Bestellung aufgegeben wurde. Eine solche Implementierung reduziert die Nutzung der Systembetriebsmittel weiter, da mehrere Bildschirme, die andernfalls für die Anzeige wiedergegeben würde, stattdessen durch den Aktionsassistenten gehandhabt werden.
  • 3 stellt eine Beispielanzeige einer mobilen Computervorrichtung mit einer Shortcut-Aufforderung gemäß einer Implementierung dar. Ein intelligentes Assistenzsystem wie z. B. das System 100 von 1 kann die Aufforderung 305 in der Anzeige 300 erzeugen. In dem Beispiel von 3 kann der Anwender das Genehmigungs-Steuerelement 215 von 2 ausgewählt haben, und das System kann bestimmen, dass die früheren Folgen früher nicht als eine Shortcut-Folge abgespeichert worden sind und der Anwender früher keine Nichtgenehmigung für den Shortcut angegeben hat. Vor dem Reproduzieren der Aktionen in der früheren Folge kann das System dann die Aufforderung 305 erzeugen. Die Shortcut-Aufforderung 305 kann ein Genehmigungs-Steuerelement 310 oder 325, ein Unentschieden-Steuerelement 315 und/oder ein Nichtgenehmigungs-Steuerelement 320 enthalten. Falls der Anwender das Nichtgenehmigungs-Steuerelement 210 auswählt, kann das System die frühere Folge als explizit als ein Shortcut nicht genehmigt markieren und fortfahren, die Folge zu reproduzieren. Das kann über ein Status-Flag oder eine Eigenschaft oder ein Attribut der früheren Folge gemacht werden. Somit kann der Anwender nicht erneut gebeten werden, die Folge als ein Shortcut abzuspeichern, sondern die Folge kann in einer Auto-Vervollständigungs-Aufforderung wie z. B. der Aufforderung 205 von 2 angeboten werden.
  • Falls der Anwender das Unentschieden-Steuerelement 315 auswählt, kann das System mit dem Reproduzieren der früheren Folge von Aktionen fortfahren. Das System kann die Aufforderung 305 das nächste Mal, wenn der Anwender die frühere Folge von Aktionen ausführt, erneut anbieten. Falls der Anwender das Genehmigungs-Steuerelement 310 auswählt, kann das System die frühere Folge von Aktionen als eine Shortcut-Folge abspeichern. In einigen Implementierungen kann das über ein Status-Flag für die frühere Folge oder eine Eigenschaft oder ein Attribut der früheren Folge erreicht werden. In einigen Implementierungen kann das System die frühere Folge speichern oder sie zu einem anderen Datenspeicher verschieben. In einigen Implementierungen kann das Auswählen des Genehmigungs-Steuerelements 310 bewirken, dass das System die Anzeige einer weiteren Anwenderschnittstelle initiiert, die es dem Anwender ermöglicht, einen Namen, ein Symbol und/oder einen Ort für den Shortcut bereitzustellen. Beispielsweise kann das System dem Anwender ermöglichen zu spezifizieren, dass der Shortcut in einen Startbildschirm, ein Widget-Menü oder einen anderen Ort aufgenommen werden soll. In einigen Implementierungen kann das Symbol eine modifizierte Version des Symbols für die mobile Pizzeria-Anwendung sein, das eine visuelle Angabe bereitstellt, dass der Shortcut Aktionen in der mobilen Pizzeria-Anwendung reproduziert. In einigen Implementierungen kann die Aufforderung 305 ein Genehmigungs-Steuerelement 325 enthalten, das konfiguriert ist, den Anwender einen Sprachbefehl für den Shortcut aufzeichnen zu lassen. Der Sprachbefehl kann dem Anwender ermöglichen, den Shortcut durch Sprachaktivierung zu initiieren, d. h. die Aktionen zu reproduzieren, die dem Shortcut zugeordnet sind. Natürlich können andere Implementierungen dem Anwender ermöglichen, dem Shortcut eine Eingabeaktion zuzuordnen, z. B. ein langes Drücken auf das "Speisekarte"-Steuerelement des Hauptmenüs der Pizzeria-Anwendung oder eine andere Eingabeaktion.
  • 4 stellt eine Beispiel-Anwenderschnittstelle zum Auswählen von Parametern für einen Aktionsagenten gemäß einer Implementierung dar. Ein intelligentes Assistenzsystem wie z. B. das System 100 von 1 kann die Anwenderschnittstelle 400 erzeugen. In einigen Implementierungen kann die Anwenderschnittstelle 400 durch die Einstellungen-UI 140 erzeugt werden. In einigen Implementierungen kann die Anwenderschnittstelle 400 durch eine Web-Anwendung, z. B. auf einem Server, der auf ein Konto für den Anwender zugreift, erzeugt werden. In dem Beispiel von 4 ermöglicht die Anwenderschnittstelle 400 dem Anwender, Parameter, die durch einen Aktionsagenten verwendet werden, auszuwählen und anzupassen. Die Einstellungen können für alle Anwendungen gelten, die auf einer mobilen Vorrichtung ablaufen, oder können für spezifische Anwendungen gelten. In einigen Implementierungen kann jede mobile Anwendung eine Einstellungen-Anwenderschnittstelle mit Elementen ähnlich den in der Beispiel-Anwenderschnittstelle 400 dargestellten Elementen aufweisen. In solchen Implementierungen gelten die eingegebenen oder gelöschten Parameter für diese spezielle mobile Anwendung.
  • In dem Beispiel von 4 enthält die Anwenderschnittstelle 400 Steuerelemente zum Spezifizieren verschiedener Parameter, die durch den Aktionsassistenten verwendet werden können, um zu bestimmen, wann Folgen von Anwenderaktionen gesammelt und gespeichert werden sollen, wie die Aktionen behandelt werden sollen (z. B. als gemeinsam verwendbar oder nicht) und welche Typen von Informationen gesammelt werden sollen. In einigen Implementierungen kann die Anwenderschnittstelle ein Steuerelement 410 enthalten, um den Aktionsassistenten zu deaktivieren. Das Steuerelement 410 ermöglicht es dem Anwender, den Aktionsassistenten abzuschalten. Wenn der Aktionsassistent deaktiviert ist, wird keine Folge von Aktionen beobachtet, aufgenommen und gespeichert. Somit kann der Aktionsassistent keine Aufforderung zum Autovervollständigen einer früheren Folge bereitstellen. In einigen Implementierungen kann das Deaktivieren des Aktionsassistenten auch Shortcut-Folgen deaktivieren. In anderen Implementierungen kann der Aktionsassistent immer noch eine Shortcut-Folge reproduzieren, wenn der Shortcut durch den Anwender aufgerufen wird. Die Anwenderschnittstelle kann außerdem ein Steuerelement 415 enthalten, das die Parameter für gemeinsames Verwenden einstellt oder löscht. Wenn der Parameter für gemeinsames Verwenden ausgewählt wird, kann der Aktionsassistent frühere Folgen mit einem Server gemeinsam verwenden, so dass der Server anwenderübergreifendes Lernen für die Ähnlichkeits-Engine und/oder den Aktionsprädiktor ausführen kann. Natürlich kann der Aktionsassistent persönliche Informationen aus den früheren Folgen vor dem gemeinsamen Verwenden entfernen. Beispielsweise können Anwendernamen, Bezahlinformationen, Adressen usw. vor dem gemeinsamen Verwenden durch Token ersetzt werden, falls solche Informationen in den Folgen erscheinen. Die Parameter für gemeinsames Verwenden können außerdem dem Anwender ermöglichen, eine Shortcut-Folge mit einer weiteren Vorrichtung und/oder einem weiteren Anwender gemeinsam zu verwenden. Beispielsweise kann der Anwender eine Shortcut-Folge zu einer weiteren mobilen Vorrichtung, die dem Anwender gehört, senden. Als ein weiteres Beispiel kann der Anwender eine Shortcut-Folge zu einer mobilen Vorrichtung eines weiteren Anwenders senden. Falls sie mit einem weiteren Anwender gemeinsam verwendet wird, kann der Aktionsassistent die persönlichen Informationen entfernen.
  • Die Anwenderschnittstelle 400 kann außerdem mehrere Steuerelemente zum Angeben, ob eine spezielle Eingabe nicht Gegenstand der Automatisierung ist, enthalten. Eine Eingabe, die nicht Gegensand der Automatisierung ist, wird nicht als Teil der Folge von Aktionen gespeichert. In einigen Implementierungen kann die Anwenderschnittstelle ein Steuerelement 420 enthalten, das angibt, dass der Aktionsassistent Anwender-Anmeldeinformationen aufnehmen darf, wenn er eine Folge von Aktionen speichert. Beispielsweise kann der Anwendung einen Anwendernamen und ein Passwort benötigen, um sich an einer Anwendung anzumelden. Falls das Steuerelement 420 nicht ausgewählt ist, kann der Aktionsassistent den Anwendernamen oder das Passwort nicht speichern. Somit sind, wenn das Steuerelement 420 nicht ausgewählt ist, Anmeldeinformationen nicht Gegenstand der Automatisierung. In einigen Implementierungen kann das verursachen, dass der Aktionsassistent die Folge abbricht oder die Folge schließt, so dass die Folge an der Schnittstelle endet, die die Anmeldeinformationen anfordert. In einigen Implementierungen kann der Aktionsassistent den Anwendernamen und Passwörter als Token speichern, die angeben, dass der Aktionsassistent die Folge nicht ausführen kann, ohne dass der Anwender einen Wert für das Token eingibt. Somit kann beispielsweise der Aktionsassistent die Folge reproduzieren bis zu der Aktion in der Folge, die den Anwendernamen erfordert; wobei an diesem Punkt die mobile Vorrichtung eine Anwenderschnittstelle anzeigt, die den Anwendernamen und das Passwort anfordert. Sobald der Anwender diese Eingabe geliefert hat, kann der Aktionsassistent mit der Reproduktion der verbleibenden Folge fortfahren. In einer solchen Situation kann der Aktionsassistent eine halbautomatische Reproduktion der Folge ausführen; die Reproduktion ist nicht vollständig automatisch, weil sie an einem Punkt während der Folge eine Anwenderinteraktion erfordert.
  • Die Anwenderschnittstelle 400 kann außerdem ein Steuerelement 425 enthalten, das einen Parameter einstellt, der angibt, ob Bezahl- oder Konteneingabe in die Folge aufgenommen werden sollen oder nicht. Wie bei den Anmeldedaten kann der Anwender wählen, die Bezahlinformationen aufnehmen zu lassen, obwohl eine Standardoption sein kann, die Bezahlinformationen nicht aufnehmen zu lassen. Somit sind, wenn das Steuerelement 425 nicht ausgewählt ist, Bezahl- und Konteninformationen nicht Gegenstand der Automatisierung. Falls keine Bezahlinformationen enthalten sind, kann der Aktionsassistent eine halbautomatische Reproduktion einer Folge ausführen, wie vorstehend in Bezug auf die Anmeldeinformationen diskutiert ist.
  • Die Anwenderschnittstelle 400 kann außerdem ein Steuerelement 430 enthalten, das einen Parameter einstellt, der angibt, ob Informationen über den Anwender in die Folge aufgenommen werden sollen oder nicht. Beispielsweise falls das Steuerelement 430 nicht ausgewählt ist, kann der Aktionsassistent den Namen, den Geburtstag, das Geschlecht usw. des Anwenders nicht speichern, falls sie als Teil der Folge von Aktionen bereitgestellt werden. Somit sind, wenn das Steuerelement 430 nicht ausgewählt ist, persönliche Informationen nicht Gegenstand der Automatisierung. Wie bei den Anmelde- und Bezahlinformationen kann, falls die Anwenderinformationen nicht gespeichert sind, der Aktionsassistent die Folge ignorieren, die Folge beenden oder die Eingabeelemente durch ein Token ersetzen.
  • Die Anwenderschnittstelle 400 kann außerdem ein Steuerelement 435 zum Spezifizieren einer Weißen Liste enthalten, oder die Steuerelemente 610 können außerdem ein Steuerelement 630 enthalten, um das Sammeln von Gesten oder Anwendereingabeaktionen wie z. B. Wischen, Klicks, Verwischen, Tippen usw. zu schützen. Wie vorstehend diskutiert, kann der Aktionsassistent solche Anwenderinteraktionen aufnehmen, beispielsweise um bei der Automatisierung wiederholter Aufgaben zu assistieren. Das Steuerelement 630 kann es ermöglichen, dass ein Anwender das Sammeln solcher Anwendereingabeaktionen abschaltet. Wie bei den anderen Steuerelementen 620 und 625 kann das Steuerelement 630 in einer anwendungsspezifischen Anwenderschnittstelle bereitgestellt sein, so dass der Aktionsassistent keine Anwendereingabeaktionen sammelt, wenn die spezielle Anwendung läuft.
  • Die Anwenderschnittstelle 400 kann außerdem ein Steuerelement 435 enthalten, das es einem Anwender ermöglicht auszuwählen, in welchen Anwendungen der Aktionsassistent arbeiten darf oder in welchen Anwendungen der Aktionsassistent nicht arbeiten darf. Mit anderen Worten kann der Parameter eine Weiße Liste von Anwendungen, die explizit Anwendungen identifiziert, für die der Aktionsassistent aktiviert ist, oder eine Schwarze Liste von Anwendungen, für die der Aktionsassistent explizit deaktiviert sein kann, enthalten. Die Auswahl des Steuerelements 435 kann die Anzeige eines weiteren Fensters oder einer weiteren Anwenderschnittstelle initiieren, das/die sowohl die Anwendungen in der Weißen Liste oder der Schwarzen Liste als auch Steuerelemente zum Entfernen der Anwendungen aus der Liste oder Hinzufügen von Anwendungen zu der Liste auflistet.
  • Die Anwenderschnittstelle 400 kann außerdem ein Steuerelement 440 enthalten, das es einem Anwender ermöglicht, eine Shortcut-Folge mit einem weiteren Anwender gemeinsam zu verwenden. Das Auswählen des Steuerelements 440 kann verursachen, dass das System ein weiteres Fenster oder eine weitere Anwenderschnittstelle initiiert, das/die es dem Anwender ermöglicht, eine weitere Vorrichtung, z. B. über einen Vorrichtungsbezeichner, eine Telefonnummer, einen Anwendernamen usw., und eine aus den Shortcut-Folgen, um sie gemeinsam zu verwenden, auszuwählen. In einigen Implementierungen kann das gemeinsame Verwenden über einen Sprachbefehl erreicht werden. Beispielsweise kann die Auswahl des Steuerelements 440 eine Abhörbetriebsart initiieren, die einen Vorrichtungsbezeichner und einen Bezeichner einer Shortcut-Folge erwartet.
  • Die Anwenderschnittstelle 400 kann außerdem ein Steuerelement 445 enthalten, das es dem Anwender ermöglicht, in eine explizite Trainingsbetriebsart einzutreten. In einer expliziten Trainingsbetriebsart werden die Aktionen, die durch den Anwender ausgeführt werden, als eine Shortcut-Folge abgespeichert. Mit anderen Worten vergleicht das System die Folge nicht mit früheren Folgen, um zu bestimmen, ob sie ausreichend ähnlich ist und dann eine Vertrauensbewertung zur Vervollständigung zu berechnen; stattdessen beobachtet das System nur die Folge von Aktionen, die durch den Anwender ausgeführt wird, und kennzeichnet sie als eine Shortcut-Folge. Die explizite Trainingsbetriebsart kann durch eine Aktion durch den Anwender beendet werden, oder das System kann an einem Punkt, an dem das System typischerweise eine Folge von Aktionen schließt, den Anwender fragen, ob die Shortcut-Folge beendet werden sollte.
  • Die Anwenderschnittstelle 400 kann außerdem ein Steuerelement 450 enthalten, um die Shortcut-Folgen zu managen. Der Anwender kann Shortcut-Folgen benennen oder umbenennen, Shortcut-Folgen löschen, einen Sprachbefehl für eine Shortcut-Folge aufzeichnen usw. Die Anwenderschnittstelle 400 kann außerdem ein Steuerelement 455 enthalten, das die früheren abgespeicherten Folgen aus dem Datenspeicher löscht. In einigen Implementierungen kann das Betätigen des Steuerelements 455 alle Folgen löschen, die nicht als eine Shortcut-Folge gekennzeichnet sind. Obwohl in einer einzigen Anwenderschnittstelle dargestellt, können Implementierungen mehrere Anwenderschnittstellen mit der beschriebenen Funktionalität enthalten.
  • 5 stellt ein Ablaufdiagramm eines Beispielprozesses 500 zum Identifizieren wiederholter Aktionen und Bereitstellen einer intelligenten Assistenz in Übereinstimmung mit offenbarten Implementierungen dar. Der Prozess 500 kann durch einen Aktionsassistenten ausgeführt werden, der auf einer mobilen Vorrichtung abläuft, wie z. B. den Aktionsassistenten 120 des Systems 100 von 1. Der Prozess 500 kann verwendet werden, um eine Folge von Aktionen zu identifizieren, die der Anwender vorher ausgeführt hat, und anzubieten, die Folge automatisch oder halbautomatisch für den Anwender zu reproduzieren oder zu beenden. Das automatische Ausführen einer Aktionsfolge bedeutet, dass der Anwender keine Eingabe während der Reproduktion der Folge bereitstellt. Stattdessen verwendet der Aktionsassistent eine frühere Folge von Aktionen, um die Eingabe bereitzustellen, die benötigt wird, um ein Ergebnis zu erreichen, das ähnlich dem Ergebnis ist, das durch die frühere Folge erreicht wurde. Halbautomatisches Ausführen einer Aktionsfolge bedeutet, dass der Anwender gebeten werden kann, ein oder mehrere Datenelemente an einem Punkt während der Reproduktion der Folge von Aktionen bereitzustellen. Beispielsweise kann der Anwender Bezahlinformationen oder ein Anmeldepasswort während der Reproduktion der Folge von Aktionen bereitstellen. Der Prozess 500 kann mit der Zustimmung des Anwenders kontinuierlich im Hintergrund ablaufen. In einigen Implementierungen können Teile des Prozesses 500 kontinuierlich ablaufen, so dass das System die Anwenderaktionen überwachen kann und die Aktionen für einen zukünftigen Vergleich organisieren kann. Mit anderen Worten kann das System Teile des Prozesses 500 verwenden, um Informationen in einer Trainingsbetriebsart zu sammeln, z. B. Sammeln früherer Folgen zum Verwenden zum Vergleich mit aktuellen Folgen zu einer späteren Zeit.
  • Der Prozess 500 kann dadurch beginnen, dass der Aktionsassistent eine aktuelle Anwenderaktions-Folge aufnimmt (505). Das System nimmt die aktuelle Folge von Anwenderaktionen auf einer hohen Ebene, mit anderen Worten auf einer funktionalen Ebene, auf. Somit nimmt das System jede Aktion in der aktuellen Gruppe von Aktionen durch Identifizieren eines Namens oder eines Bezeichners für ein ausgewähltes Steuerelement und Identifizieren, was der Anwender geschrieben oder gesprochen hat, ohne Bezug auf Pixelkoordinaten auf. Das macht das Reproduzieren von Aktionen robuster. Somit kann jede Aktion in der Folge von Aktionen reproduziert werden, solange die Steuerelemente in der Anwenderschnittstelle die Namen nicht ändern. In einigen Implementierungen können die Aktionen mit Namen von Steuerelementen weich abgeglichen werden, um mehr Flexibilität bei der Reproduktion von Aktionen bereitzustellen. In einigen Implementierungen kann jede Aktion eine strukturierte Darstellung aufweisen, die durch einen Menschen nicht lesbar sein kann. Die Aktionen können Informationen sein, die als eine Folge von Datensätzen gespeichert sein können. Der Aktionsassistent nimmt eine aktuelle Folge von Aktionen auf, wenn der Anwender mit der mobilen Vorrichtung interagiert. Mit anderen Worten wird die aktuelle Folge von Aktionen aufgenommen, wenn der Anwender Eingaben bereitstellt. Zusätzlich zum Aufzeichnen der Aktionen kann das System auch Signale für die Aktion aufzeichnen, wie z. B. die Tageszeit, zu der die Anwendung abläuft, den Ort, die Bewegung der mobilen Vorrichtung, relative Position der Eingabe zu anderen Elementen, die auf dem Bildschirm sichtbar sind, und irgendwelche anderen Eigenschaften des Arbeitsablaufs, der durch die Aktionen repräsentiert wird. Somit enthält das Aufnehmen einer aktuellen Folge von Aktionen Aufnehmen der Signale, die für die Aktionen relevant sind.
  • Der Aktionsassistent kann bestimmen, ob die Folge von Aktionen ähnlich einer früheren Folge von Aktionen ist (510). Der Aktionsassistent kann den Vergleich in einem periodischen Zeitabstand oder jedes Mal, wenn eine Aktion zu der aktuellen Folge von Aktionen hinzugefügt wird, ausführen. Durch Ausführen des Ähnlichkeitsvergleichs, bevor die aktuelle Folge von Aktionen vollständig ist, kann das System dem Anwender anbieten, die Aktion zu reproduzieren. Der Aktionsassistent kann eine Ähnlichkeitsmetrik zum Bestimmen verwenden, ob die aktuelle Folge von Aktionen ähnlich einer früheren Folge von Aktionen ist. Die Ähnlichkeitsmetrik kann ein maschinen-erlerntes Modell sein. Die frühere Folge von Aktionen kann eine Folge sein, die durch den Anwender zu einer früheren Zeit bereitgestellt und in einem Datenspeicher mit Erlaubnis des Anwenders gespeichert wurde. Das System kann als Eingabe Signale, die mit der früheren Folge von Aktionen gespeichert sind, und die aktuelle Folge von Aktionen verwenden und kann eine Ähnlichkeitsmetrik für die zwei Folgen erzeugen. In einigen Implementierungen kann das System nur eine Ähnlichkeitsmetrik zwischen einer früheren Folge und der aktuellen Folge bestimmen, wenn die zwei Folgen spezielle minimale Anforderungen gemeinsam haben, beispielsweise sie auf derselben mobilen Anwendung oder Webseite ablaufen. Die aktuelle Folge und eine frühere Folge können als ähnlich bestimmt werden, wenn die Ähnlichkeitsmetrik einem Ähnlichkeitsschwellenwert genügt, d. h. ihn erfüllt oder übersteigt.
  • Wenn die aktuelle Folge keiner früheren Folge ähnlich ist (510, Nein), kann der Aktionsassistent bestimmen, ob die aktuelle Folge von Aktionen von Aktionen vollständig ist (515). Der Aktionsassistent kann bestimmen, dass eine Folge vollständig ist, basierend auf einer Anzahl unterschiedlicher Faktoren, wie z. B. dass der Anwender die mobile Anwendung oder Webseite schließt, der Anwender eine Bezahlung oder Bestellung fertigstellt oder bestätigt, Empfang einer Bestätigungs-E-Mail, Empfang einer Bestätigungs-Textnachricht, Auswahl eines Fertigstellungs-Steuerelements (z. B. "beenden", "senden", abmelden usw.), Inaktivität, Auswahl einer "Schlaf"-Betriebsart und anderen ähnlichen Anwenderaktionen und Ereignissen. Falls die Folge von Aktionen nicht vollständig ist (515, Nein), kann das System mit dem Aufnehmen von Aktionen für die aktuelle Folge fortfahren (505). Falls die Folge von Aktionen vollständig ist (515, Ja), kann das System die aktuelle Folge von Aktionen zusammen mit den Signalen für die aktuelle Folge als eine frühere Folge von Aktionen abspeichern (525) abspeichern. In einigen Implementierungen kann das System die aktuelle Folge von Aktionen mit einer Vertrauensbewertung abspeichern. Weil jedoch für eine aktuelle Folge von Aktionen, die nicht einer früheren Folge von Aktionen ähnlich ist, bisher noch keine Vertrauensbewertung erzeugt worden ist, kann das System diesen Typ von Folge nicht mit einer Vertrauensbewertung speichern.
  • Wenn die aktuelle Folge einer früheren Folge ähnlich ist (510, Ja), kann das System eine Vertrauensbewertung für die aktuelle Folge von Aktionen und die ähnliche(n) frühere(n) Folge(n) von Aktionen berechnen (520). Die Vertrauensbewertung kann ein teilweise oder vollständig maschinen-erlerntes Modell sein, das trainiert ist, um vorherzusagen, ob der Aktionsassistent einen Arbeitsablauf, der durch die frühere Menge von Aktionen repräsentiert ist, korrekt reproduzieren kann. Das Vorhersagemodell kann verschiedene Signale als Eingaben verwenden. Ein Beispielsignal ist das Verhalten des Anwenders über mehrere Arbeitsabläufe (frühere Folgen von Aktionen) in derselben Web-Anwendung, Webseite oder mobilen Anwendung. Das kann die Anzahl der Auswahlvorgänge für Tasten oder andere Steuerelemente enthalten. Beispielsweise falls der Anwender ein "Senden"-Steuerelement fünfmal und ein Anzahl-Steuerelement einmal über mehrere frühere Folgen, die der aktuellen Folge ähnlich sind, ausgewählt hat, kann dieses Signal zu einem hohen Vertrauen beitragen, dass der Anwender wiederholt den gleichen Arbeitsablauf ausführt. Das Vorhersagemodell kann außerdem Kontextsignale verwenden. Beispielsweise kann der Arbeitsablauf zu einer speziellen Tageszeit oder wenn der Anwender an einem speziellen Ort ist konsistent sein, andernfalls jedoch inkonsistent. Falls der Kontext der aktuellen Folge von Aktionen mit dem Kontext der konsistenten Aktionen übereinstimmt, kann das Modell ein höheres Vertrauen, andernfalls jedoch ein niedrigeres Vertrauen, aufweisen. Ein weiteres Beispiel eines Eingangssignals, das als Eingabe verwendet wird, kann das kumulierte Verhalten von Anwendern in demselben Kontext sein. Solche Informationen können unter Verwendung anonymisierter Logs, die von unterschiedlichen Anwendern mit Einverständnis der Anwender zu einem zentralen Server gesendet werden, erzeugt werden. Ein weiteres Beispiel eines Eingangssignals ist die Häufigkeit, mit der sich die Anwenderschnittstelle der mobilen Anwendung oder Webseite ändert. Falls sich Tasten, Textfelder und andere Steuerelemente und Eingaben häufig ändern, kann der Prädiktor weniger Vertrauen in das Reproduzieren des Arbeitsablaufs haben. Ein weiteres Eingangssignal ist die Variabilität der Auswahlmöglichkeiten, die in dem speziellen Arbeitsablauf verfügbar ist, und die Wahrscheinlichkeit für das Folgen desselben. Falls die Variabilität niedrig ist, kann das Vorhersagemodell ein hohes Vertrauen haben, selbst wenn nicht viele frühere Folgen vorhanden sind, falls jedoch die Variabilität hoch ist, kann das Vorhersagemodell ein niedrigeres Vertrauen haben, sofern nicht viele frühere Folgen angeben, dass der Anwender einer speziellen Folge folgt (oder in der Kumulierung viele Anwender einer speziellen Folge folgen). Ein weiteres Eingangssignal ist, ob der Arbeitsablauf durch den Anwender als ein Shortcut abgespeichert worden ist. Falls die aktuelle Folge von Aktionen ähnlich einer früheren Folge von Aktionen ist, die auch als ein Shortcut markiert oder gekennzeichnet ist, kann das Vorhersagemodell eine hohe Vertrauensbewertung ausgeben.
  • Das Vorhersagemodell kann konfiguriert sein, eine Vertrauensbewertung bereitzustellen, die als niedrig, mittel oder hoch klassifiziert sein kann. Falls die Vertrauensbewertung einem ersten Vertrauensschwellenwert genügt, d. h. ihn erfüllt oder übersteigt, kann sie als hoch betrachtet werden. Falls die Vertrauensbewertung den ersten Vertrauensschwellenwert nicht erfüllt, jedoch einen zweiten Vertrauensschwellenwert erfüllt oder übersteigt, kann die Vertrauensbewertung als mittel betrachtet werden. Falls die Vertrauensbewertung den ersten und den zweiten Vertrauensschwellenwert nicht erfüllt, wird die Bewertung als niedrig betrachtet. Falls die Vertrauensbewertung niedrig ist, kann das System den Aktionsassistenten für diese Folge deaktivieren, da es zu schwierig ist, einen ähnlichen Arbeitsablauf zu reproduzieren. Somit kann das System fortfahren, eine weitere Folge von Aktionen aufzunehmen (505), sobald der Anwender eine neue Folge beginnt. Falls die Vertrauensbewertung als mittel betrachtet wird, kann das System bestimmen, ob die Aktion vollständig ist, und kann, falls sie es ist (515, Ja), die aktuelle Folge in einer Beobachtungs- und Lernbetriebsart abspeichern (525). Beispielsweise kann die aktuelle Folge als eine frühere Folge mit der Vertrauensbewertung abgespeichert werden. Das nächste Mal, wenn das System auf eine ähnliche Folge trifft, kann diese frühere Vertrauensbewertung als ein Eingangssignal für das Vorhersagemodell verwendet werden. Das Vorhersagemodell kann die Vertrauensbewertung modifizieren, so dass schließlich das System ein niedriges oder hohes Vertrauen für den Arbeitsablauf, der durch die Folge von Aktionen repräsentiert ist, erreicht. Falls die Aktion nicht vollständig ist, kann das System fortfahren, zu beobachten und zu lernen, während der Anwender die Folge vervollständigt.
  • Wenn die Vertrauensbewertung hoch ist, kann das System eine Aufforderung erzeugen, die den Anwender fragt, ob der Anwender die Aktion reproduzieren möchte oder nicht (530). Die Aufforderung kann ähnlich der Aufforderung 205 von 2 sein. Falls der Anwender die Aktion nicht reproduzieren möchte (535, Nein), kann das System fortfahren, einen weiteren Arbeitsablauf aufzunehmen, z. B. beginnend bei Schritt 505. In einigen Implementierungen kann das System frühere ähnliche Arbeitsabläufe als nicht genehmigt markieren, so dass sie nicht erneut angeboten werden oder einen höheren Schwellenwert erfüllen müssen, um erneut präsentiert zu werden. Falls der Anwender die Aktion wiederholen möchte (535, Ja), kann das System bestimmen, ob die frühere Folge von Aktionen bereits als ein Shortcut abgespeichert ist (540). Falls sie es ist (540, Ja), kann das System mit dem Reproduzieren des Arbeitsablaufs, der durch die frühere Folge von Aktionen repräsentiert ist, fortfahren (560). Um den Arbeitsablauf zu reproduzieren, kann das System die Aktionen in der früheren Folge verwenden, um Eingaben bereitzustellen und um Steuerelemente, z. B. Tasten, Menüoptionen, Options- oder Kontrollkästchen-Eingaben, Dropdown-Menüauswahl usw. auszuwählen. Das System kann die Aktionen im Hintergrund oder im Vordergrund reproduzieren. Wenn die im Hintergrund reproduziert werden, kann der Anwender die Anwenderschnittstellen, die in Reaktion auf die bereitgestellten Eingaben und durch das System ausgewählten Steuerelemente erzeugt werden, nicht sehen. Im Vordergrund kann der Anwender die Anwenderschnittstellen sehen.
  • Falls die frühere Menge von Aktionen nicht bereits als ein Shortcut abgespeichert worden ist (540, Nein), kann das System eine Aufforderung initiieren, um abzufragen, ob der Anwender möchte, dass die Aktion als ein Shortcut abgespeichert wird (545). Diese Aufforderung kann ähnlich der Aufforderung 305 von 3 sein. Wenn der Anwender den Arbeitsablauf nicht als einen Shortcut abspeichern möchte (550, Nein), kann das System mit dem Reproduzieren des Arbeitsablaufs, der durch die frühere Folge von Aktionen repräsentiert ist, fortfahren (560). Wenn der Anwender den Arbeitsablauf als einen Shortcut abspeichern möchte (550, Ja), kann das System eine Art und Weise für den Anwender bereitstellen, einen Shortcut-Bezeichner der früheren Folge von Aktionen zuzuordnen (555). Der Shortcut-Bezeichner kann ein Name, ein Sprachbefehl, eine Eingabefolge, ein Symbol usw. sein, der/die/das verwendet wird, um den Shortcut anzustoßen. In einigen Implementierungen kann das System dem Shortcut auch eine Beschreibung zuordnen. Der Anwender kann die Shortcut-Folge zu jeder Zeit durch Bereitstellen des Sprachbefehls oder Auswahl des Symbols oder Ausführen der Eingabefolge, die dem Shortcut zugeordnet ist, reproduzieren. Somit kann das System, beispielsweise wenn es den Sprachbefehl empfängt, die frühere Folge, die dem Sprachbefehl zugeordnet ist, abrufen und Schritt 560 ausführen. Zusätzlich zum Reproduzieren der Shortcut-Folgen kann das System konfiguriert sein, die Shortcut-Folge mit einer oder mehreren Vorrichtungen und/oder Anwendern gemeinsam zu verwenden. Beispielsweise kann das System einem Anwender erlauben, eine Shortcut-Folge auszuwählen und sie zu einer weiteren Vorrichtung zu senden. Die weitere Vorrichtung kann dem Anwender oder einem weiteren Anwender zugeordnet sein. Falls sie einem weiteren Anwender zugeordnet ist, können in einigen Implementierungen Eingaben in der Folge, die für den Anwender eindeutig sind, z. B. Geburtsdaten, Anwendernamen, Konteninformationen, vor dem Senden anonymisiert werden.
  • 6 zeigt ein Beispiel einer generischen Computervorrichtung 600, die als System 100 betrieben werden kann, und/oder mobilen Vorrichtung 180 von 1, die mit den hier beschriebenen Techniken verwendet werden kann. Die Computervorrichtung 600 soll verschiedene Beispielformen von Computervorrichtungen repräsentieren, wie z. B. Laptops, Desktops, Workstations, persönliche digitale Assistenten, Mobiltelefone, Smartphones, Tablets, Server und andere Computervorrichtungen, einschließlich tragbarer Vorrichtungen. Die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen und ihre Funktionen sind nur als Beispiele gedacht und sollen die Implementierungen der in diesem Dokument beschriebenen und/oder beanspruchten Erfindungen nicht einschränken.
  • Die Computervorrichtung 600 enthält einen Prozessor 602, einen Speicher 604, eine Speichervorrichtung 606 und Erweiterungsanschlüsse 610, die über eine Schnittstelle 608 verbunden sind. In einigen Implementierungen kann die Computervorrichtung 600 den Sender/Empfänger 646, die Kommunikationsschnittstelle 644 und ein GPS-Empfängermodul (Empfängermodul des globalen Positionierungssystems) 648, unter anderen Komponenten, enthalten, die über die Schnittstelle 608 verbunden sind. Die Vorrichtung 600 kann drahtlos über die Kommunikationsschnittstelle 644 kommunizieren, die, wenn notwendig, eine digitale Signalverarbeitungsschaltungsanordnung enthalten kann. Jede aus den Komponenten 602, 604, 606, 608, 610, 640, 644, 646 und 648 kann auf einer gemeinsamen Hauptplatine oder auf andere Weise, wie jeweils anwendbar, montiert sein.
  • Der Prozessor 602 kann Anweisungen zur Ausführung innerhalb der Computervorrichtung 680 verarbeiten, die Anweisungen enthalten, die in dem Speicher 604 oder der Speichervorrichtung 606 gespeichert sind, um grafische Informationen für eine GUI auf einer externen Eingabe/Ausgabevorrichtung wie z. B. der Anzeigevorrichtung 616 anzuzeigen. Die Anzeigevorrichtung 616 kann ein Monitor oder eine berührungssensitive Flachbildschirm-Anzeigevorrichtung sein. In einigen Implementierungen können mehrere Prozessoren und/oder mehrere Busse zusammen mit mehreren Speichern und Speichertypen verwendet werden, wie jeweils anwendbar. Außerdem können mehrere Computervorrichtungen 600 verbunden sein, wobei jede Vorrichtung Teile der notwendigen Operationen bereitstellt (z. B. als eine Server-Bank, eine Gruppe von Blade-Servern oder ein Mehrprozessorsystem).
  • Der Speicher 604 speichert Informationen innerhalb der Computervorrichtung 600. In einer Implementierung ist der Speicher 604 eine flüchtige Speichereinheit oder Speichereinheiten. In einer weiteren Implementierung ist der Speicher 604 eine nichtflüchtige Speichereinheit oder Speichereinheiten. Der Speicher 604 kann auch eine andere Form eines computerlesbaren Mediums sein, wie z. B. eine magnetische oder optische Platte. In einigen Implementierungen kann der Speicher 604 einen Erweiterungsspeicher enthalten, der über eine Erweiterungsschnittstelle bereitgestellt ist.
  • Die Speichervorrichtung 606 kann Massenspeicher für die Computervorrichtung 600 bereitstellen. In einer Implementierung kann die Speichervorrichtung 606 ein computerlesbaren Medium sein oder es enthalten, wie z. B. eine Diskettenvorrichtung, eine Festplattenvorrichtung, eine Vorrichtung mit einer optischen Platte oder eine Bandvorrichtung, ein Flash-Speicher oder eine ähnliche Festkörperspeichervorrichtung oder ein Array aus Vorrichtungen, das Vorrichtungen in einem Speicherbereichsnetz enthält, oder andere Konfigurationen. Ein Computerprogrammprodukt kann in einem solchen computerlesbaren Medium materiell verwirklicht sein. Das Computerprogrammprodukt kann außerdem Anweisungen enthalten, die dann, wenn sie ausgeführt werden, ein oder mehrere Verfahren wie z. B. die vorstehend beschriebenen ausführen. Das computer- oder maschinenlesbare Medium ist eine Speichervorrichtung wie z. B. der Speicher 604, die Speichervorrichtung 606 oder Speicher auf dem Prozessor 602.
  • Die Schnittstelle 608 kann eine Hochgeschwindigkeitssteuereinheit, die bandbreitenintensive Operationen für die Computervorrichtung 600 managt, oder eine Niedergeschwindigkeitssteuereinheit, die weniger bandbreitenintensive Operationen managt, oder eine Kombination aus solchen Steuereinheiten sein. Eine externe Schnittstelle 640 kann bereitgestellt sein, um Nahbereichskommunikation der Vorrichtung 600 mit anderen Vorrichtungen zu ermöglichen. In einigen Implementierungen kann die Steuereinheit 608 mit der Speichereinrichtung 606 und dem Erweiterungsanschluss 614 gekoppelt sein. Der Erweiterungsanschluss, der verschiedene Kommunikationsanschlüsse (z. B. USB, Bluetooth, Ethernet, drahtloses Ethernet) enthalten kann, kann mit einer oder mehreren Eingabe/Ausgabevorrichtungen, wie z. B. einer Tastatur, einer Zeigevorrichtung, einem Scanner oder einer Vernetzungsvorrichtung, wie z. B. einem Verteiler oder einem Router, z. B. über einen Netzadapter gekoppelt sein.
  • Die Computervorrichtung 600 kann in einer Anzahl von unterschiedlichen Formen implementiert sein, wie in der Figur gezeigt ist. Beispielsweise kann sie als ein Standard-Server 630 oder mehrfach in einer Gruppe solcher Server implementiert sein. Sie kann auch als Teil eines Rack-Server-Systems implementiert sein. Zusätzlich kann sie in einer Computervorrichtung implementiert sein, wie z. B. einem Laptop-Computer 632, einem Personalcomputer 634 oder einem Tablet/Smartphone 636. Ein Gesamtsystem kann aus mehreren Computervorrichtungen 600, die miteinander kommunizieren, bestehen. Andere Konfigurationen sind möglich.
  • 7 zeigt ein Beispiel einer generischen Computervorrichtung 700, die ein Beispiel für den Server 190 von 1 sein kann, der mit den hier beschriebenen Techniken verwendet werden kann. Die Computervorrichtung 700 ist dafür vorgesehen, verschiedene Beispielformen von Großdatenverarbeitungsvorrichtungen zu repräsentieren, wie z. B. Servern, Blade-Servern, Datenzentren, Mainframes und anderen Großcomputervorrichtungen. Die Computervorrichtung 700 kann ein verteiltes System sein, das mehrere Prozessoren aufweist, das möglicherweise über das Netz angeschlossene Speicherknoten enthält, die durch ein oder mehrere Kommunikationsnetze miteinander verbunden sind. Die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen und ihre Funktionen sind nur als Beispiele gedacht und sollen die Implementierungen der in diesem Dokument beschriebenen und/oder beanspruchten Erfindungen nicht einschränken.
  • Das verteilte Computersystem 700 kann irgendeine Anzahl von Computervorrichtungen 780 enthalten. Die Computervorrichtungen können einen Server oder Rack-Server, Mainframes usw. enthalten, die über ein lokales oder Weitbereichsnetz, dedizierte optische Strecken, Modems, Bridges, Router, Verteiler, drahtgebundene oder drahtlose Netze usw. kommunizieren.
  • In einigen Implementierungen kann jede Computervorrichtung mehrere Racks enthalten. Beispielsweise enthält die Computervorrichtung 780a mehrere Racks 758a758n. Jedes Rack kann einen oder mehrere Prozessoren enthalten, wie z. B. die Prozessoren 752a752n und 762a762n. Die Prozessoren können Datenprozessoren, über das Netz angeschlossene Speichervorrichtungen und andere computergesteuerte Vorrichtungen enthalten. In einigen Implementierungen kann ein Prozessor als ein Master-Prozessor arbeiten und das Planen und die Datenverteilungsaufgaben steuern. Die Prozessoren können über einen oder mehrere Rack-Verteiler 758 verbunden sein, und ein oder mehrere Racks können über den Verteiler 778 verbunden sein. Der Verteiler 778 kann die Kommunikation zwischen mehreren verbundenen Computervorrichtungen 700 handhaben.
  • Jedes Rack kann einen Speicher enthalten, z. B. den Speicher 754 und den Speicher 764, und eine Speichereinrichtung, wie z. B. 756 und 766. Die Speichereinrichtung 756 und 766 kann Massenspeicher bereitstellen und kann eine flüchtige oder nichtflüchtige Speichereinrichtungen enthalten, wie z. B. über ein Netz angeschlossene Platten, Disketten, Festplatten, optische Platten, Bänder, Flash-Speicher oder andere ähnliche Festkörper-Speichervorrichtungen, oder ein Array von Vorrichtungen, die Vorrichtungen in einem Speicherbereichsnetz oder anderen Konfigurationen enthalten. Die Speichereinrichtung 756 oder 766 kann von mehreren Prozessoren, mehreren Racks oder mehreren Computervorrichtungen gemeinsam verwendet werden und kann ein computerlesbares Medium enthalten, das Anweisungen speichert, die durch einen oder mehrere aus den Prozessoren ausführbar sind. Der Speicher 754 und 764 kann z. B. eine flüchtige Speichereinheit oder -einheiten, eine nichtflüchtige Speichereinheit oder -einheiten und/oder andere Formen von computerlesbaren Medien wie z. B. magnetische oder optische Platten, Flash-Speicher, Cache, Direktzugriffsspeicher (RAM), Festwertspeicher (ROM) und Kombinationen daraus enthalten. Der Speicher wie z. B. der Speicher 754 kann auch durch die Prozessoren 752a752n gemeinsam verwendet werden. Datenstrukturen wie z. B. ein Index können beispielsweise die Speichereinrichtung 756 und den Speicher 754 übergreifend gespeichert sein. Die Computervorrichtung 700 kann andere nicht gezeigte Komponenten enthalten, wie z. B. Steuereinheiten, Busse, Eingabe/Ausgabevorrichtungen, Kommunikationsmodule usw.
  • Ein Gesamtsystem, wie z. B. das System 100, kann aus mehreren Computervorrichtungen 700, die miteinander kommunizieren, bestehen. Beispielsweise kann die Vorrichtung 870a mit den Vorrichtungen 780b, 780c und 780d kommunizieren, und diese können gemeinsam als das System 100 bezeichnet sein. Als ein weiteres Beispiel kann das System 100 von 1 eine oder mehrere Computervorrichtungen 700 enthalten. Einige aus den Computervorrichtungen können sich geografisch nahe beieinander befinden, und andere können sich geografisch entfernt befinden. Das Layout von System 700 ist ein nur ein Beispiel, und das System kann andere Layouts oder Konfigurationen annehmen.
  • Gemäß speziellen Aspekten der Offenbarung enthält ein Verfahren Bestimmen, dass eine aktuelle Folge von Anwenderaktionen mit einer mobilen Anwendung ähnlich einer früheren Folge von Anwenderaktionen ist, und Berechnen einer Vertrauensbewertung, die die Reproduzierbarkeit der früheren Folge widerspiegelt. Das Verfahren enthält außerdem Initiieren, wenn die Vertrauensbewertung einen Vertrauensschwellenwert erfüllt, der Anzeige einer Aufforderung, die eine Genehmigung zum Vervollständigen der aktuellen Folge von Anwenderaktionen unter Verwendung der früheren Folge und Vervollständigen der früheren Folge in Reaktion auf das Empfangen einer Angabe der Genehmigung für die Vervollständigung anfordert.
  • Diese und andere Aspekte können eines oder mehrere aus den folgenden Merkmalen enthalten. Beispielsweise kann das Verfahren auch Bestimmen, dass die frühere Folge keine Shortcut-Folge ist, Initiieren der Anzeige einer Aufforderung, die Genehmigung für das Abspeichern der früheren Folge als eine Shortcut-Folge anfordert und Abspeichern der früheren Folge als eine Shortcut-Folge in Reaktion auf das Empfangen einer Angabe der Genehmigung für das Abspeichern enthalten. In einigen Implementierungen kann das Verfahren außerdem Hinzufügen eines Symbols zum Reproduzieren von Aktionen in der Shortcut-Folge zu einem Startbildschirm einer mobilen Vorrichtung enthalten. Als ein weiteres Beispiel kann die Vertrauensbewertung auf dem Verhalten des Anwenders über mehrere Folgen von Aktionen in derselben Anwendung basieren, auf Kontextmerkmalen für die Folge von Aktionen basieren und/oder auf einem kumulierten Verhalten von Anwendern über mehrere Folgen von Anwenderaktionen in derselben Anwendung basieren. Als ein weiteres Beispiel kann das Bestimmen, dass die aktuelle Folge von Aktionen ähnlich der früheren Folge von Aktionen ist, Merkmale der Eingabe, die durch den Anwender bereitgestellt ist, und Merkmale von Inhalt, der durch die Anwendung präsentiert wird, enthalten.
  • Als ein weiteres Beispiel kann das Verfahren auch Bestimmen, dass eine zweite aktuelle Folge von Anwenderinteraktionen nicht ähnlich irgendeiner früheren Folge von Anwenderinteraktionen ist, Bestimmen, ob die zweite aktuelle Folge vollständig ist, und Abspeichern der zweiten aktuellen Folge als eine zweite frühere Folge, wenn die zweite aktuelle Folge vollständig ist, enthalten. In einigen Implementierungen kann die zweite aktuelle Folge mit einer mittleren Vertrauensbewertung abgespeichert werden. Als ein weiteres Beispiel kann der Vertrauensschwellenwert ein erster Vertrauensschwellenwert sein, und das Verfahren enthält ferner Abspeichern, wenn die Vertrauensbewertung den ersten Vertrauensschwellenwert nicht erfüllt, jedoch einen zweiten Vertrauensschwellenwert erfüllt, der aktuellen Folge als eine abgespeicherte Folge mit einem mittleren Vertrauen.
  • Gemäß speziellen Aspekten der Offenbarung enthält ein Verfahren Bestimmen, dass eine erste aktuelle Folge von Anwenderinteraktionen einen Ähnlichkeitsschwellenwert mit früheren Folgen von Anwenderaktionen nicht erfüllt, Bestimmen, dass eine erste aktuelle Folge von Aktionen vollständig ist, und Abspeichern der ersten aktuellen Folge als erste frühere Folge. Das Verfahren enthält außerdem Identifizieren einer zweiten aktuellen Folge als den Ähnlichkeitsschwellenwert mit der ersten früheren Folge erfüllend und Initiieren der Anzeige einer Aufforderung, die Genehmigung zum Abspeichern der ersten früheren Folge als einen Shortcut anfordert. Das Verfahren kann mit Zustimmung des Anwenders kontinuierlich im Hintergrund ablaufen. Das Verfahren muss nicht spezifisch durch den Anwender angestoßen werden.
  • Diese und andere Aspekte können eines oder mehrere aus den folgenden Merkmalen enthalten. Beispielsweise kann das Verfahren Erzeugen einer Vertrauensbewertung zwischen der ersten früheren Folge und der zweiten aktuellen Folge, wobei die Vertrauensbewertung ein Vertrauen für das automatische Reproduzieren der ersten früheren Folge angibt, und Initiieren der Anzeige der Aufforderung, wenn die Vertrauensbewertung einen ersten Vertrauensschwellenwert erfüllt, enthalten. Als ein weiteres Beispiel kann das Verfahren Initiieren der Anzeige einer Aufforderung, die Genehmigung zum Reproduzieren der ersten früheren Folge von Aktionen anfordert, und Reproduzieren der ersten früheren Folge von Aktionen, wenn eine Genehmigung für das Reproduzieren angegeben wird, enthalten. Als ein weiteres Beispiel kann das Verfahren Zuordnen eines Sprachbefehls zu der ersten früheren Folge von Aktionen, wenn eine Genehmigung für das Abspeichern empfangen wird, enthalten. Als ein weiteres Beispiel kann das Verfahren Zuordnen eines auswählbaren Symbols zu der ersten früheren Folge von Aktionen, wenn eine Genehmigung für das Abspeichern empfangen wird, enthalten. Als ein weiteres Beispiel kann das Bestimmen, dass eine erste aktuelle Folge von Anwenderinteraktionen vollständig ist, Bestimmen, dass eine aktuelle Aktion in der aktuellen Folge von Aktionen Eingabe enthält, die nicht Gegenstand der Automatisierung ist, und/oder Bestimmen, dass der Anwender eine mobile Anwendung verlassen hat, enthalten.
  • Gemäß speziellen Aspekten der Offenbarung enthält ein System wenigstens einen Prozessor und einen Speicher, der Anweisungen speichert, die dann, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, bewirken, dass das System eine Anwenderschnittstelle erzeugt. Die Anwenderschnittstelle ist konfiguriert, das Aufzeichnen einer Shortcut-Folge von Aktionen zu initiieren, wobei jede Aktion in der Folge eine Beschreibung auf hoher Ebene einer Anwenderinteraktion mit einer Anwenderschnittstelle ist. Die Anwenderschnittstelle kann außerdem konfiguriert sein, eine Angabe zu empfangen, dass Kontendaten in einer Folge von Aktionen in die Aktionen mit aufgenommen werden sollen. Die Anwenderschnittstelle kann außerdem konfiguriert sein, eine Angabe zu empfangen, dass das gemeinsame Verwenden früherer Folgen von Aktionen erlaubt ist. Die Anwenderschnittstelle kann außerdem konfiguriert sein, früher gespeicherte Folgen von Aktionen zu löschen. Die Anwenderschnittstelle kann außerdem konfiguriert sein, die Shortcut-Folge von Aktionen umzubenennen. Die Anwenderschnittstelle kann außerdem konfiguriert sein, Anwendungen auszuwählen, in denen das System eine Folge von Aktionen aufnimmt. Die Anwenderschnittstelle kann außerdem konfiguriert sein, eine Angabe zu empfangen, dass eine frühere Folge von Aktionen gemeinsam verwendet werden kann.
  • Gemäß speziellen Aspekten der Offenbarung enthält ein System wenigstens einen Prozessor und einen Speicher, der Anweisungen speichert, die dann, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, bewirken, dass das System eines der hier offenbarten Verfahren ausführt.
  • Verschiedene Implementierungen können Implementierungen in einem oder mehreren Computerprogrammen enthalten, die auf einem programmierbaren System ausführbar und/oder interpretierbar sind, das wenigstens einen programmierbaren Prozessor, der ein Spezial- oder Allzweck-Prozessor sein kann, der gekoppelt ist, um Daten und Anweisungen von einem Speichersystem zu empfangen oder zu ihm zu übertragen, wenigstens eine Eingabevorrichtung und wenigstens eine Ausgabevorrichtung enthält.
  • Diese Computerprogramme (auch als Programme, Software, Softwareanwendung oder Code bezeichnet) enthalten Maschinenanweisungen für einen programmierbaren Prozessor, der in einem Substrat gebildet ist, und können in einer prozeduralen und/oder objektorientierten Programmierhochsprache und/oder ein Assembler-/Maschinensprache implementiert sein. Wie sie hier verwendet sind, beziehen sich die Begriffe "maschinenlesbares Medium", "computerlesbares Medium" auf irgendein nicht transitorisches Computerprogrammprodukt, eine Einrichtung und/oder Vorrichtung (z. B. Magnetplatten, optische Platten, Speicher (einschließlich Lesezugriffsspeicher), programmierbare Logikvorrichtungen (PLDs)), die verwendet werden, um Maschinenanweisungen und/oder Daten für einen programmierbaren Prozessor bereitzustellen.
  • Die Systeme und Techniken, die hier beschrieben sind, können in einem Computersystem implementiert sein, das eine Backend-Komponente (z. B. als einen Daten-Server) enthält oder das eine Middleware-Komponente (z. B. einen Anwendungsserver) enthält, oder der eine Frontend-Komponente (z. B. einen Client-Computer, der eine grafische Anwenderschnittstelle oder einen Web-Browser aufweist, durch den ein Anwender mit einer Implementierung der hier beschriebenen Systeme und Techniken interagieren kann) oder irgendeine Kombination solcher Backend-, Middleware- oder Frontend-Komponenten enthält. Die Komponenten des Systems können durch irgendeine Form oder irgendein Medium zur digitalen Datenkommunikation (z. B. ein Kommunikationsnetz) miteinander verbunden sein. Beispiele für Kommunikationsnetze enthalten ein lokales Netz ("LAN"), ein Weitbereichsnetz ("WAN") und das Internet.
  • Das Computersystem kann Clients und Server enthalten. Ein Client und ein Server sind im Allgemeinen voneinander entfernt und interagieren typischerweise über ein Kommunikationsnetz. Die Beziehung von Client und Server entsteht aufgrund der Computerprogramme, die auf den jeweiligen Computern laufen und eine Client-Server-Beziehung miteinander aufweisen.
  • Es sind zahlreiche Implementierungen beschrieben worden. Dennoch können verschiedene Modifikationen vorgenommen werden, ohne vom Erfindungsgedanken und vom Schutzbereich der Erfindung abzuweichen. Zusätzlich erfordern die in den begleitenden Figuren abgebildeten logischen Abläufe nicht die spezielle gezeigte Reihenfolge oder sequenzielle Reihenfolge, um wünschenswerte Ergebnisse zu erreichen. Zusätzlich können andere Schritte bereitgestellt werden, oder es können Schritte aus den beschriebenen Abläufen eliminiert werden, und andere Komponenten können zu den beschriebenen Systemen hinzugefügt oder aus ihnen entfernt werden. Dementsprechend sind andere Implementierungen innerhalb des Schutzbereichs der folgenden Ansprüche.

Claims (23)

  1. Computerlesbares Speichermedium, das mit Anweisungen codiert ist, die dann, wenn sie durch wenigstens einen Prozessor einer Computervorrichtung ausgeführt werden, bewirken, dass der wenigstens eine Prozessor Operationen ausführt, die Folgendes umfassen: Bestimmen, dass eine aktuelle Folge von Anwenderaktionen mit einer mobilen Anwendung ähnlich einer früheren Folge von Anwenderaktionen ist; Berechnen einer Vertrauensbewertung, die eine Reproduzierbarkeit der früheren Folge widerspiegelt; Initiieren, wenn die Vertrauensbewertung einen Vertrauensschwellenwert erfüllt, der Anzeige einer Aufforderung, die Genehmigung zum Vervollständigen der aktuellen Folge von Anwenderaktionen unter Verwendung der früheren Folge anfordert; und Vervollständigen der früheren Folge in Reaktion auf das Empfangen der Angabe der Genehmigung der Vervollständigung.
  2. Computerlesbares Speichermedium nach Anspruch 1, wobei die Operationen ferner Folgendes umfassen: Bestimmen, dass die frühere Folge keine Shortcut-Folge ist; Initiieren der Anzeige einer Aufforderung, die Genehmigung zum Abspeichern der früheren Folge als eine Shortcut-Folge anfordert; und Abspeichern der früheren Folge als eine Shortcut-Folge in Reaktion auf das Empfangen einer Angabe der Genehmigung zum Abspeichern.
  3. Computerlesbares Speichermedium nach Anspruch 2, wobei die Operationen ferner Folgendes umfassen: Hinzufügen eines Symbols zum Reproduzieren von Aktionen in der Shortcut-Folge zu einem Startbildschirm einer mobilen Vorrichtung.
  4. Computerlesbares Speichermedium nach einem der vorhergehenden Ansprüche, wobei die Vertrauensbewertung auf dem Verhalten des Anwenders über mehrere Folgen von Aktionen in derselben Anwendung basiert.
  5. Computerlesbares Speichermedium nach einem der vorhergehenden Ansprüche, wobei die Vertrauensbewertung auf Kontextmerkmalen für die Folge von Aktionen basiert.
  6. Computerlesbares Speichermedium nach einem der vorhergehenden Ansprüche, wobei die Vertrauensbewertung auf einem kumulierten Verhalten von Anwendern über mehrere Folgen von Anwenderaktionen in derselben Anwendung basiert.
  7. Computerlesbares Speichermedium nach einem der vorhergehenden Ansprüche, wobei das Bestimmen, dass die aktuelle Folge von Aktionen ähnlich der früheren Folge von Aktionen ist, Merkmale der Eingabe, die durch den Anwender bereitgestellt wird, und Merkmale von Inhalt, der durch die Anwendung präsentiert wird, enthält.
  8. Computerlesbares Speichermedium nach einem der vorhergehenden Ansprüche, wobei die Operationen ferner Folgendes umfassen: Bestimmen, dass eine zweite aktuelle Folge von Anwenderinteraktionen keiner früheren Folge von Anwenderinteraktionen ähnlich ist; Bestimmen, ob die zweite aktuelle Folge vollständig ist; und Abspeichern der zweiten aktuellen Folge als eine zweite frühere Folge, wenn die zweite aktuelle Folge vollständig ist.
  9. Computerlesbares Speichermedium nach Anspruch 8, wobei die zweite aktuelle Folge mit einer mittleren Vertrauensbewertung abgespeichert wird.
  10. Computerlesbares Speichermedium nach einem der vorhergehenden Ansprüche, wobei der Vertrauensschwellenwert ein erster Vertrauensschwellenwert ist und die Operationen ferner Folgendes umfassen: Abspeichern, wenn die Vertrauensbewertung den ersten Vertrauensschwellenwert nicht erfüllt, jedoch einen zweiten Vertrauensschwellenwert erfüllt, der aktuellen Folge als eine abgespeicherte Folge mit einem mittleren Vertrauen.
  11. Computerlesbares Speichermedium, das Folgendes umfasst: Bestimmen, dass eine erste aktuelle Folge von Anwenderinteraktionen einen Ähnlichkeitsschwellenwert mit früheren Folgen von Anwenderinteraktionen nicht erfüllt; Bestimmen, dass eine erste aktuelle Folge von Aktionen vollständig ist; Abspeichern der ersten aktuellen Folge als eine erste frühere Folge; Identifizieren einer zweiten aktuellen Folge als den Ähnlichkeitsschwellenwert mit der ersten früheren Folge erfüllend; und Initiieren der Anzeige einer Aufforderung, die Genehmigung zum Abspeichern der ersten früheren Folge als einen Shortcut anfordert.
  12. Computerlesbares Speichermedium nach Anspruch 11, wobei die Operationen ferner Folgendes umfassen: Erzeugen einer Vertrauensbewertung zwischen der ersten früheren Folge und der zweiten aktuellen Folge, wobei die Vertrauensbewertung ein Vertrauen in das automatische Reproduzieren der ersten früheren Folge angibt; und Initiieren der Anzeige der Aufforderung, wenn die Vertrauensbewertung einen ersten Vertrauensschwellenwert erfüllt.
  13. Computerlesbares Speichermedium nach Anspruch 11 oder 12, wobei die Operationen ferner Folgendes umfassen: Initiieren der Anzeige einer Aufforderung, die Genehmigung zum Reproduzieren der ersten früheren Folge von Aktionen anfordert; und Reproduzieren der ersten früheren Folge von Aktionen in Reaktion auf das Empfangen der Genehmigung, die erste frühere Folge von Aktionen zu reproduzieren.
  14. Computerlesbares Speichermedium nach einem der Ansprüche 11 bis 13, wobei die Operationen ferner Folgendes umfassen: Zuordnen eines Sprachbefehls zu der ersten früheren Folge von Aktionen, wenn die Genehmigung zum Abspeichern empfangen wird.
  15. Computerlesbares Speichermedium nach einem der Ansprüche 11 bis 14, wobei die Operationen ferner Folgendes umfassen: Zuordnen eines auswählbaren Symbols zu der ersten früheren Folge von Aktionen, wenn die Genehmigung zum Abspeichern empfangen wird.
  16. Computerlesbares Speichermedium nach einem der Ansprüche 11 bis 15, wobei das Bestimmen, dass eine erste aktuelle Folge von Anwenderinteraktionen vollständig ist, enthält: Bestimmen, dass eine aktuelle Aktion in der aktuellen Folge von Aktionen eine Eingabe enthält, die nicht Gegenstand der Automatisierung ist.
  17. Computerlesbares Speichermedium nach einem der Ansprüche 11 bis 16, wobei das Bestimmen, dass eine erste aktuelle Folge von Anwenderinteraktionen vollständig ist, enthält: Bestimmen, dass der Anwender die mobile Anwendung verlassen hat.
  18. System, das Folgendes umfasst: wenigstens einen Prozessor; und einen Speicher, der Anweisungen speichert, die dann, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, bewirken, dass das System eine Anwenderschnittstelle erzeugt, die konfiguriert ist: das Aufzeichnen einer Shortcut-Folge von Aktionen zu initiieren, wobei jede Aktion in der Folge eine Beschreibung auf hoher Ebene einer Anwenderinteraktion mit einer Anwenderschnittstelle ist; eine Angabe zu empfangen, dass Kontendaten in einer Folge von Aktionen in die Aktionen aufgenommen werden sollen; und eine Angabe zu empfangen, dass gemeinsames Verwenden früherer Folgen von Aktionen erlaubt ist.
  19. System nach Anspruch 18, wobei die Anwenderschnittstelle ferner konfiguriert ist: früher abgespeicherte Folgen von Aktionen zu löschen.
  20. System nach Anspruch 18 oder 19, wobei die Anwenderschnittstelle ferner konfiguriert ist: die Shortcut-Folge von Aktionen umzubenennen.
  21. System nach einem der Ansprüche 18 bis 20, wobei die Anwenderschnittstelle ferner konfiguriert ist: Anwendungen auszuwählen, in denen das System eine Folge von Aktionen aufnimmt.
  22. System nach einem der Ansprüche 18 bis 21, wobei die Anwenderschnittstelle ferner konfiguriert ist: eine Angabe zu empfangen, dass eine frühere Folge von Aktionen gemeinsam verwendet werden kann.
  23. System, das Folgendes umfasst: wenigstens einen Prozessor; und einen Speicher, der Anweisungen, wie sie auf dem computerlesbaren Medium nach einem der Ansprüche 1 bis 17 codiert sind, speichert.
DE202017105691.0U 2016-12-19 2017-09-20 Intelligente Assistenz für wiederholte Aktionen Active DE202017105691U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/383,966 2016-12-19
US15/383,966 US11237696B2 (en) 2016-12-19 2016-12-19 Smart assist for repeated actions

Publications (1)

Publication Number Publication Date
DE202017105691U1 true DE202017105691U1 (de) 2018-01-19

Family

ID=60244512

Family Applications (2)

Application Number Title Priority Date Filing Date
DE202017105691.0U Active DE202017105691U1 (de) 2016-12-19 2017-09-20 Intelligente Assistenz für wiederholte Aktionen
DE102017121758.4A Pending DE102017121758A1 (de) 2016-12-19 2017-09-20 Intelligente Assistenz für wiederholte Aktionen

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE102017121758.4A Pending DE102017121758A1 (de) 2016-12-19 2017-09-20 Intelligente Assistenz für wiederholte Aktionen

Country Status (8)

Country Link
US (3) US11237696B2 (de)
EP (2) EP3539076B1 (de)
JP (1) JP7274418B2 (de)
KR (1) KR102355481B1 (de)
CN (1) CN108205467A (de)
DE (2) DE202017105691U1 (de)
GB (1) GB2558036A (de)
WO (1) WO2018118171A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021527262A (ja) * 2018-06-13 2021-10-11 リアルウェア,インコーポレーテッド バイナリアプリケーションのユーザインターフェースのカスタマイズ
US11947752B2 (en) 2016-12-23 2024-04-02 Realwear, Inc. Customizing user interfaces of binary applications

Families Citing this family (88)

* 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
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
CN113470640B (zh) 2013-02-07 2022-04-26 苹果公司 数字助理的语音触发器
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
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
CN105453026A (zh) 2013-08-06 2016-03-30 苹果公司 基于来自远程设备的活动自动激活智能响应
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
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
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
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
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US10535005B1 (en) 2016-10-26 2020-01-14 Google Llc Providing contextual actions for mobile onscreen content
US11237696B2 (en) 2016-12-19 2022-02-01 Google Llc Smart assist for repeated actions
US10922743B1 (en) 2017-01-04 2021-02-16 Amazon Technologies, Inc. Adaptive performance of actions associated with custom user interface controls
US10664146B2 (en) * 2017-01-04 2020-05-26 Amazon Technologies, Inc. Creation of custom user interface controls that are associated with physical devices
CA3062634A1 (en) 2017-05-10 2018-11-15 Embee Mobile, Inc. System and method for the capture of mobile behavior, usage, or content exposure
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770427A1 (en) 2017-05-12 2018-12-20 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
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10783149B2 (en) * 2017-08-02 2020-09-22 Microsoft Technology Licensing, Llc Dynamic productivity content rendering based upon user interaction patterns
US20190129615A1 (en) * 2017-10-30 2019-05-02 Futurewei Technologies, Inc. Apparatus and method for simplifying repeat performance of a prior performed task based on a context of a mobile device
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10504518B1 (en) * 2018-06-03 2019-12-10 Apple Inc. Accelerated task performance
CN110727483A (zh) * 2018-07-16 2020-01-24 西门子股份公司 生成辅助用户与应用程序进行交互的工具的设备和方法
KR102527107B1 (ko) 2018-08-08 2023-05-02 삼성전자주식회사 음성에 기반하여 기능을 실행하기 위한 방법 및 이를 지원하는 사용자 전자 장치
CN109101101B (zh) * 2018-08-30 2020-12-04 Oppo广东移动通信有限公司 穿戴式设备的控制方法、装置、存储介质及穿戴式设备
KR102563314B1 (ko) 2018-08-30 2023-08-04 삼성전자주식회사 전자 장치 및 단축 명령어의 바로가기 생성 방법
JP7151296B2 (ja) * 2018-09-12 2022-10-12 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US11487832B2 (en) 2018-09-27 2022-11-01 Google Llc Analyzing web pages to facilitate automatic navigation
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US20200110870A1 (en) * 2018-10-08 2020-04-09 Ca, Inc. Risk assessment for account authorization
US11651196B2 (en) 2019-02-26 2023-05-16 Google Llc Reinforcement learning techniques for selecting a software policy network and autonomously controlling a corresponding software client based on selected policy network
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11386791B2 (en) * 2019-03-29 2022-07-12 GM Cruise Holdings, LLC Autonomous vehicle fleet management system
US11093715B2 (en) * 2019-03-29 2021-08-17 Samsung Electronics Co., Ltd. Method and system for learning and enabling commands via user demonstration
EP3747006A1 (de) * 2019-04-26 2020-12-09 Google LLC Dynamische verzögerung der ausführung von automatischen hilfsaktionen und / oder hintergrundanwendungsanfragen
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11461697B2 (en) * 2019-06-05 2022-10-04 Business Objects Software Ltd. Contextual modeling using application metadata
US11656903B2 (en) * 2019-06-25 2023-05-23 Intel Corporation Methods and apparatus to optimize workflows
CN110580122A (zh) * 2019-08-21 2019-12-17 阿里巴巴集团控股有限公司 问答式交互处理方法、装置及设备
US10827089B1 (en) 2019-09-11 2020-11-03 Xerox Corporation Apparatus and method for creating consolidated work flows on a multi-function device
US11019191B1 (en) 2019-12-30 2021-05-25 Motorola Mobility Llc Claim a shareable device for personalized interactive session
US11140239B2 (en) 2019-12-30 2021-10-05 Motorola Mobility Llc End a shareable device interactive session based on user intent
US11640453B2 (en) 2019-12-30 2023-05-02 Motorola Mobility Llc User authentication facilitated by an additional device
US11284264B2 (en) * 2019-12-30 2022-03-22 Motorola Mobility Llc Shareable device use based on user identifiable information
US11354026B1 (en) * 2020-01-28 2022-06-07 Apple Inc. Method and device for assigning an operation set
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
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
JP7463906B2 (ja) * 2020-08-21 2024-04-09 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム
US11748660B2 (en) * 2020-09-17 2023-09-05 Google Llc Automated assistant training and/or execution of inter-user procedures
US11657814B2 (en) * 2020-10-08 2023-05-23 Harman International Industries, Incorporated Techniques for dynamic auditory phrase completion
KR102483475B1 (ko) * 2020-12-29 2022-12-29 주식회사 레이드백 이미지를 활용한 프로세스 자동화 방법 및 장치
GB2609947A (en) * 2021-08-18 2023-02-22 Blue Prism Ltd Systems and methods for determining GUI in interaction information for an end user device
US11656881B2 (en) 2021-10-21 2023-05-23 Abbyy Development Inc. Detecting repetitive patterns of user interface actions

Family Cites Families (176)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100348915B1 (ko) 1994-05-12 2002-12-26 마이크로소프트 코포레이션 텔레비젼프로그램선택방법및그시스템
US5946647A (en) 1996-02-01 1999-08-31 Apple Computer, Inc. System and method for performing an action on a structure in computer-generated data
JP2001147757A (ja) 1999-11-24 2001-05-29 Mitsubishi Heavy Ind Ltd 画面編集装置
US6662226B1 (en) 2000-01-27 2003-12-09 Inbit, Inc. Method and system for activating and capturing screen displays associated with predetermined user interface events
US8224776B1 (en) 2000-07-26 2012-07-17 Kdl Scan Designs Llc Method and system for hosting entity-specific photo-sharing websites for entity-specific digital cameras
AU2002210300A1 (en) 2000-10-18 2002-04-29 Chipworks Design analysis workstation for analyzing integrated circuits
JP2003114876A (ja) 2001-10-04 2003-04-18 Hitachi Kokusai Electric Inc ネットワーク監視システム
US7421153B1 (en) 2002-04-05 2008-09-02 Bank Of America Corporation Image and data processing system
CA2481080C (en) 2002-04-05 2010-10-12 At&T Corp. Method and system for detecting and extracting named entities from spontaneous communications
US7054917B1 (en) 2002-08-07 2006-05-30 Propel Software Corporation Method for accelerating delivery of content in a computer network
US7376696B2 (en) 2002-08-27 2008-05-20 Intel Corporation User interface to facilitate exchanging files among processor-based devices
JP4213008B2 (ja) 2002-10-09 2009-01-21 パナソニック株式会社 情報端末装置、操作支援方法及び操作支援プログラム
US20050083413A1 (en) 2003-10-20 2005-04-21 Logicalis Method, system, apparatus, and machine-readable medium for use in connection with a server that uses images or audio for initiating remote function calls
TW200601082A (en) 2004-01-20 2006-01-01 Koninkl Philips Electronics Nv Method and system for determining the topic of a conversation and obtaining and presenting related content
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US7536382B2 (en) 2004-03-31 2009-05-19 Google Inc. Query rewriting with entity detection
US8078607B2 (en) 2006-03-30 2011-12-13 Google Inc. Generating website profiles based on queries from webistes and user activities on the search results
JP2006065921A (ja) 2004-08-25 2006-03-09 Roland Corp 処理シーケンス編集プログラムおよび処理シーケンス編集装置
US7639387B2 (en) 2005-08-23 2009-12-29 Ricoh Co., Ltd. Authoring tools using a mixed media environment
US8745483B2 (en) 2004-10-07 2014-06-03 International Business Machines Corporation Methods, systems and computer program products for facilitating visualization of interrelationships in a spreadsheet
US8812551B2 (en) 2004-11-18 2014-08-19 International Business Machines Corporation Client-side manipulation of tables
US7483692B2 (en) 2004-12-28 2009-01-27 Sony Ericsson Mobile Communications Ab System and method of predicting user input to a mobile terminal
US7702611B2 (en) 2005-01-07 2010-04-20 Xerox Corporation Method for automatically performing conceptual highlighting in electronic text
US20090036215A1 (en) 2005-02-28 2009-02-05 Pandanet Inc. Go playing system
US7702128B2 (en) 2005-03-03 2010-04-20 Cssn Inc. Card Scanning Solutions System and method for scanning a business card from within a contacts address book and directly inserting into the address book database
US7809722B2 (en) 2005-05-09 2010-10-05 Like.Com System and method for enabling search and retrieval from image files based on recognized information
US20070008321A1 (en) 2005-07-11 2007-01-11 Eastman Kodak Company Identifying collection images with special events
US7548915B2 (en) 2005-09-14 2009-06-16 Jorey Ramer Contextual mobile content placement on a mobile communication facility
US7752209B2 (en) 2005-09-14 2010-07-06 Jumptap, Inc. Presenting sponsored content on a mobile communication facility
US7933897B2 (en) 2005-10-12 2011-04-26 Google Inc. Entity display priority in a distributed geographic information system
US7822759B2 (en) 2005-12-13 2010-10-26 Microsoft Corporation Query-driven sharing and syndication
US8533199B2 (en) 2005-12-14 2013-09-10 Unifi Scientific Advances, Inc Intelligent bookmarks and information management system based on the same
US20070168379A1 (en) 2006-01-17 2007-07-19 Patel Sushma B Method and apparatus for cataloging screen shots of a program
CN101075236A (zh) 2006-06-12 2007-11-21 腾讯科技(深圳)有限公司 一种加快浏览器网页显示的装置和方法
US8347237B2 (en) 2006-06-27 2013-01-01 Palo Alto Research Center Incorporated Method, apparatus, and program product for efficiently detecting relationships in a comprehension state of a collection of information
US7917514B2 (en) 2006-06-28 2011-03-29 Microsoft Corporation Visual and multi-dimensional search
JP5044159B2 (ja) 2006-07-18 2012-10-10 株式会社東芝 操作支援システム及び該システムを搭載する医用診断装置
US9176984B2 (en) 2006-07-31 2015-11-03 Ricoh Co., Ltd Mixed media reality retrieval of differentially-weighted links
US8489987B2 (en) 2006-07-31 2013-07-16 Ricoh Co., Ltd. Monitoring and analyzing creation and usage of visual content using image and hotspot interaction
US20080114604A1 (en) * 2006-11-15 2008-05-15 Motorola, Inc. Method and system for a user interface using higher order commands
US8090222B1 (en) 2006-11-15 2012-01-03 Google Inc. Selection of an image or images most representative of a set of images
CN101201827B (zh) 2006-12-14 2013-02-20 阿里巴巴集团控股有限公司 一种网页显示的方法和系统
US8671341B1 (en) 2007-01-05 2014-03-11 Linguastat, Inc. Systems and methods for identifying claims associated with electronic text
US20080172619A1 (en) 2007-01-11 2008-07-17 Carrier Scott R Generating a short-cut of functions from pluggable components
KR101370895B1 (ko) 2007-01-19 2014-03-10 엘지전자 주식회사 콘텐츠 표시 방법 및 이를 이용한 단말기
US8869191B2 (en) 2007-01-23 2014-10-21 Cox Communications, Inc. Providing a media guide including parental information
US8214367B2 (en) 2007-02-27 2012-07-03 The Trustees Of Columbia University In The City Of New York Systems, methods, means, and media for recording, searching, and outputting display information
US20080275701A1 (en) 2007-04-25 2008-11-06 Xiaotao Wu System and method for retrieving data based on topics of conversation
EP2156280A4 (de) 2007-05-07 2014-09-10 Fourthwall Media Inc Kontextabhängige vorhersage- und lernoperation mit einer universellen software-komponente zur eingabe wiederkehrender texte
US8688089B2 (en) 2007-06-26 2014-04-01 Gosub 60, Inc. Methods and systems for providing in-game hot spots
US7921069B2 (en) 2007-06-28 2011-04-05 Yahoo! Inc. Granular data for behavioral targeting using predictive models
GB2462399A (en) 2007-06-28 2010-02-10 Taptu Ltd Search result ranking
US20090228777A1 (en) 2007-08-17 2009-09-10 Accupatent, Inc. System and Method for Search
US20090138466A1 (en) 2007-08-17 2009-05-28 Accupatent, Inc. System and Method for Search
US8594996B2 (en) 2007-10-17 2013-11-26 Evri Inc. NLP-based entity recognition and disambiguation
WO2009052308A1 (en) 2007-10-17 2009-04-23 Roseman Neil S Nlp-based content recommender
WO2009054619A2 (en) 2007-10-22 2009-04-30 Moon Key Lee Augmented reality computer device
US9159034B2 (en) 2007-11-02 2015-10-13 Ebay Inc. Geographically localized recommendations in a computing advice facility
US20110246471A1 (en) 2010-04-06 2011-10-06 Selim Shlomo Rakib Retrieving video annotation metadata using a p2p network
US8214767B2 (en) * 2008-01-14 2012-07-03 Hewlett-Packard Development Company, L.P. Method and computer program product for generating shortcuts for launching computer program functionality on a computer
US8255386B1 (en) 2008-01-30 2012-08-28 Google Inc. Selection of documents to place in search index
JP5336748B2 (ja) 2008-03-06 2013-11-06 インターナショナル・ビジネス・マシーンズ・コーポレーション コンテンツ中のアクセシビリティに関する問題箇所を他人へ効果的に伝達するためのコンピュータ、方法、プログラム
US8131066B2 (en) 2008-04-04 2012-03-06 Microsoft Corporation Image classification
US7970808B2 (en) 2008-05-05 2011-06-28 Microsoft Corporation Leveraging cross-document context to label entity
US8630972B2 (en) 2008-06-21 2014-01-14 Microsoft Corporation Providing context for web articles
US20100010987A1 (en) 2008-07-01 2010-01-14 Barry Smyth Searching system having a server which automatically generates search data sets for shared searching
CN101667185B (zh) 2008-09-05 2012-10-17 深圳富泰宏精密工业有限公司 行动装置及其图片快速显示方法
CN101763357B (zh) 2008-11-13 2016-09-14 北京搜狗科技发展有限公司 一种用于浏览器加载互联网资源的方法及系统
WO2010070490A1 (en) 2008-12-18 2010-06-24 Koninklijke Philips Electronics, N.V. Software bug and performance deficiency reporting system
US8452720B2 (en) 2009-01-30 2013-05-28 Ntt Docomo, Inc. System and methods for optimizing user interaction in web-related activites
WO2010096192A1 (en) 2009-02-18 2010-08-26 Exbiblio B.V. Interacting with rendered documents using a multi-function mobile device, such as a mobile phone
US8229883B2 (en) 2009-03-30 2012-07-24 Sap Ag Graph based re-composition of document fragments for name entity recognition under exploitation of enterprise databases
WO2010114543A1 (en) 2009-04-01 2010-10-07 Hewlett-Packard Development Company, L.P. Screen capture
US8370762B2 (en) 2009-04-10 2013-02-05 Cellco Partnership Mobile functional icon use in operational area in touch panel devices
US8533223B2 (en) 2009-05-12 2013-09-10 Comcast Interactive Media, LLC. Disambiguation and tagging of entities
US20100306249A1 (en) 2009-05-27 2010-12-02 James Hill Social network systems and methods
US20100313141A1 (en) 2009-06-03 2010-12-09 Tianli Yu System and Method for Learning User Genres and Styles and for Matching Products to User Preferences
CN101587495A (zh) 2009-07-08 2009-11-25 伍帝州 通过浏览器下载部署应用并提供应用入口的方法及系统
US8571319B2 (en) 2009-07-28 2013-10-29 International Business Machines Corporation Enhanced screen capture for form manipulation
US9135277B2 (en) 2009-08-07 2015-09-15 Google Inc. Architecture for responding to a visual query
US8539487B2 (en) 2009-09-11 2013-09-17 International Business Machines Corporation Automatically generating compound commands in a computer system
US20120191840A1 (en) 2009-09-25 2012-07-26 Vladislav Gordon Managing Application State Information By Means Of A Uniform Resource Identifier (URI)
KR101651128B1 (ko) 2009-10-05 2016-08-25 엘지전자 주식회사 이동 단말기 이것의 애플리케이션 실행 제어 방법
US8131786B1 (en) 2009-11-23 2012-03-06 Google Inc. Training scoring models optimized for highly-ranked results
US9405772B2 (en) 2009-12-02 2016-08-02 Google Inc. Actionable search results for street view visual queries
US8977639B2 (en) 2009-12-02 2015-03-10 Google Inc. Actionable search results for visual queries
US20110128288A1 (en) 2009-12-02 2011-06-02 David Petrou Region of Interest Selector for Visual Queries
US9081868B2 (en) * 2009-12-16 2015-07-14 Google Technology Holdings LLC Voice web search
US20110145692A1 (en) 2009-12-16 2011-06-16 Peter Noyes Method for Tracking Annotations with Associated Actions
US20110191676A1 (en) 2010-01-29 2011-08-04 Microsoft Corporation Cross-Browser Interactivity Recording, Playback, and Editing
WO2011094734A2 (en) 2010-02-01 2011-08-04 Jumptap, Inc. Integrated advertising system
US20110225152A1 (en) 2010-03-15 2011-09-15 Microsoft Corporation Constructing a search-result caption
US8799061B1 (en) 2010-04-26 2014-08-05 Google Inc. Classifying users for ad targeting
US8494439B2 (en) 2010-05-04 2013-07-23 Robert Bosch Gmbh Application state and activity transfer between devices
KR101657545B1 (ko) 2010-05-11 2016-09-19 엘지전자 주식회사 휴대 단말기 및 그 동작 방법
US9158846B2 (en) 2010-06-10 2015-10-13 Microsoft Technology Licensing, Llc Entity detection and extraction for entity cards
US8468110B1 (en) 2010-07-22 2013-06-18 Intuit Inc. Real-time user behavior prediction
US20120083294A1 (en) 2010-09-30 2012-04-05 Apple Inc. Integrated image detection and contextual commands
US20120092286A1 (en) 2010-10-19 2012-04-19 Microsoft Corporation Synthetic Gesture Trace Generator
US9189549B2 (en) 2010-11-08 2015-11-17 Microsoft Technology Licensing, Llc Presenting actions and providers associated with entities
CN103493069A (zh) 2010-12-01 2014-01-01 谷歌公司 响应于视觉查询识别匹配的规范文档
KR101757870B1 (ko) 2010-12-16 2017-07-26 엘지전자 주식회사 이동 단말기 및 그 제어방법
US8880555B2 (en) 2010-12-17 2014-11-04 Facebook, Inc. Ranking of address book contacts based on social proximity
KR101741551B1 (ko) 2010-12-20 2017-06-15 엘지전자 주식회사 이동 단말기 및 이것의 애플리케이션 제어 방법
CN102098380A (zh) 2010-12-22 2011-06-15 中兴通讯股份有限公司 在移动终端中自定义快捷方式的方法和装置
WO2012101585A1 (en) 2011-01-28 2012-08-02 Strangeloop Networks, Inc. Prioritized image rendering based on position within a web page
US8341156B1 (en) 2011-04-04 2012-12-25 Google Inc. System and method for identifying erroneous business listings
EP2700025A4 (de) 2011-04-19 2014-10-22 Nokia Corp Verfahren und vorrichtung für flexible diversifikation von empfehlungsergebnissen
JP2012252742A (ja) 2011-06-02 2012-12-20 Elpida Memory Inc 半導体装置
US9377867B2 (en) 2011-08-11 2016-06-28 Eyesight Mobile Technologies Ltd. Gesture based interface system and method
US8204966B1 (en) 2011-09-26 2012-06-19 Google Inc. Map tile data pre-fetching based on user activity analysis
US8280414B1 (en) 2011-09-26 2012-10-02 Google Inc. Map tile data pre-fetching based on mobile device generated event analysis
US9305108B2 (en) 2011-10-05 2016-04-05 Google Inc. Semantic selection and purpose facilitation
US20150212695A1 (en) 2011-10-05 2015-07-30 Google Inc. Suggested action feedback
US20130097507A1 (en) 2011-10-18 2013-04-18 Utc Fire And Security Corporation Filmstrip interface for searching video
EP2587745A1 (de) 2011-10-26 2013-05-01 Swisscom AG Verfahren und System zum Erhalt von Kontaktinformationen für eine Person oder eine Entität
WO2013067000A1 (en) 2011-11-01 2013-05-10 Google Inc. Launching applications from webpages
US20130117252A1 (en) 2011-11-09 2013-05-09 Google Inc. Large-scale real-time fetch service
US9665643B2 (en) 2011-12-30 2017-05-30 Microsoft Technology Licensing, Llc Knowledge-based entity detection and disambiguation
JP6215236B2 (ja) 2012-01-31 2017-10-18 ギブン イメージング リミテッドGiven Imaging Ltd. 生体内画像ストリーム中の運動性事象を表示するためのシステムおよび方法
US8453058B1 (en) * 2012-02-20 2013-05-28 Google Inc. Crowd-sourced audio shortcuts
US9171068B2 (en) 2012-03-07 2015-10-27 Ut-Battelle, Llc Recommending personally interested contents by text mining, filtering, and interfaces
US20130263098A1 (en) 2012-03-29 2013-10-03 Pawel Piotr Duda Method and system for testing of mobile web sites
JP2013210952A (ja) 2012-03-30 2013-10-10 Sony Corp 情報処理装置、電子機器、情報処理方法、及びプログラム
US9836545B2 (en) 2012-04-27 2017-12-05 Yahoo Holdings, Inc. Systems and methods for personalized generalized content recommendations
WO2013173940A1 (en) 2012-05-22 2013-11-28 Beijing Baina Info - Tech,Co., Ltd A method and system for providing application data
US9582146B2 (en) 2012-05-29 2017-02-28 Nokia Technologies Oy Causing display of search results
KR20140009687A (ko) 2012-07-12 2014-01-23 삼성전자주식회사 매크로 기능을 이용하는 복합 입력 처리 방법 및 장치
US9075974B2 (en) 2012-07-25 2015-07-07 Google Inc. Securing information using entity detection
US10091552B2 (en) 2012-09-19 2018-10-02 Rovi Guides, Inc. Methods and systems for selecting optimized viewing portions
US9165406B1 (en) 2012-09-21 2015-10-20 A9.Com, Inc. Providing overlays based on text in a live camera view
US9274839B2 (en) 2012-09-27 2016-03-01 Intel Corporation Techniques for dynamic physical memory partitioning
US9407824B2 (en) 2012-11-01 2016-08-02 Google Inc. Multi-directional content capture on mobile devices
EP2728481A1 (de) 2012-11-04 2014-05-07 Rightware Oy Bewertung der Seitenlastleistung eines Webbrowsers
US20140146200A1 (en) 2012-11-28 2014-05-29 Research In Motion Limited Entries to an electronic calendar
US9245372B2 (en) 2012-12-04 2016-01-26 Nintendo Co., Ltd. Map systems and methods for displaying panoramic images
US20150178786A1 (en) 2012-12-25 2015-06-25 Catharina A.J. Claessens Pictollage: Image-Based Contextual Advertising Through Programmatically Composed Collages
US20140188956A1 (en) 2012-12-28 2014-07-03 Microsoft Corporation Personalized real-time recommendation system
US20140188889A1 (en) 2012-12-31 2014-07-03 Motorola Mobility Llc Predictive Selection and Parallel Execution of Applications and Services
JP5637403B2 (ja) 2013-01-16 2014-12-10 カシオ計算機株式会社 認証処理装置、認証処理方法、およびプログラム
US10445786B2 (en) 2013-01-23 2019-10-15 Facebook, Inc. Sponsored interfaces in a social networking system
US20150169701A1 (en) 2013-01-25 2015-06-18 Google Inc. Providing customized content in knowledge panels
CN105074700A (zh) 2013-03-01 2015-11-18 奎克西公司 产生含有到应用程序的状态链接的搜索结果
US20140279013A1 (en) 2013-03-13 2014-09-18 Ebay Inc. Online and offline ecommerce connections
US9247309B2 (en) 2013-03-14 2016-01-26 Google Inc. Methods, systems, and media for presenting mobile content corresponding to media content
WO2014146265A1 (en) 2013-03-20 2014-09-25 Nokia Corporation Method and apparatus for personalized resource recommendations
US20140316890A1 (en) 2013-04-23 2014-10-23 Quixey, Inc. Entity Bidding
US9276883B2 (en) 2013-04-28 2016-03-01 Tencent Technology (Shenzhen) Company Limited Information collection, storage, and sharing platform
US9892729B2 (en) 2013-05-07 2018-02-13 Qualcomm Incorporated Method and apparatus for controlling voice activation
US9786075B2 (en) 2013-06-07 2017-10-10 Microsoft Technology Licensing, Llc Image extraction and image-based rendering for manifolds of terrestrial and aerial visualizations
US9721107B2 (en) 2013-06-08 2017-08-01 Apple Inc. Using biometric verification to grant access to redacted content
KR102136602B1 (ko) 2013-07-10 2020-07-22 삼성전자 주식회사 휴대단말기의 컨텐츠 처리 장치 및 방법
US9329692B2 (en) 2013-09-27 2016-05-03 Microsoft Technology Licensing, Llc Actionable content displayed on a touch screen
US9436918B2 (en) 2013-10-07 2016-09-06 Microsoft Technology Licensing, Llc Smart selection of text spans
GB2519546A (en) 2013-10-24 2015-04-29 Ibm Assistive technology during interactive computer use
US9354778B2 (en) 2013-12-06 2016-05-31 Digimarc Corporation Smartphone-based methods and systems
US9679078B2 (en) 2014-05-21 2017-06-13 Facebook, Inc. Search client context on online social networks
US9824079B1 (en) 2014-07-11 2017-11-21 Google Llc Providing actions for mobile onscreen content
JP6507521B2 (ja) 2014-08-12 2019-05-08 株式会社Ihi シーケンス生成方法
US8954836B1 (en) 2014-08-19 2015-02-10 Adlast, Inc. Systems and methods for directing access to products and services
US9965559B2 (en) 2014-08-21 2018-05-08 Google Llc Providing automatic actions for mobile onscreen content
US9424668B1 (en) 2014-08-28 2016-08-23 Google Inc. Session-based character recognition for document reconstruction
US9606716B2 (en) 2014-10-24 2017-03-28 Google Inc. Drag-and-drop on a mobile device
CN104506575B (zh) 2014-12-02 2019-03-26 小米科技有限责任公司 推送主题的方法及装置
US10028116B2 (en) 2015-02-10 2018-07-17 Microsoft Technology Licensing, Llc De-siloing applications for personalization and task completion services
US10121157B2 (en) 2015-04-17 2018-11-06 GoodData Corporation Recommending user actions based on collective intelligence for a multi-tenant data analysis system
US9703541B2 (en) 2015-04-28 2017-07-11 Google Inc. Entity action suggestion on a mobile device
US10902339B2 (en) 2015-05-26 2021-01-26 Oracle International Corporation System and method providing automatic completion of task structures in a project plan
US20170031575A1 (en) * 2015-07-28 2017-02-02 Microsoft Technology Licensing, Llc Tailored computing experience based on contextual signals
US10970646B2 (en) 2015-10-01 2021-04-06 Google Llc Action suggestions for user-selected content
US10178527B2 (en) 2015-10-22 2019-01-08 Google Llc Personalized entity repository
US10055390B2 (en) 2015-11-18 2018-08-21 Google Llc Simulated hyperlinks on a mobile device based on user intent and a centered selection of text
US10146397B2 (en) * 2015-11-27 2018-12-04 International Business Machines Corporation User experience steering
US10257303B2 (en) * 2016-03-31 2019-04-09 International Business Machines Corporation Proxy-computer-based provision of alternative graphical user interfaces
US10802839B2 (en) * 2016-11-21 2020-10-13 Vmware, Inc. User interface customization based on user tendencies
US11237696B2 (en) 2016-12-19 2022-02-01 Google Llc Smart assist for repeated actions

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11947752B2 (en) 2016-12-23 2024-04-02 Realwear, Inc. Customizing user interfaces of binary applications
JP2021527262A (ja) * 2018-06-13 2021-10-11 リアルウェア,インコーポレーテッド バイナリアプリケーションのユーザインターフェースのカスタマイズ
JP7395513B2 (ja) 2018-06-13 2023-12-11 リアルウェア,インコーポレーテッド バイナリアプリケーションのユーザインターフェースのカスタマイズ

Also Published As

Publication number Publication date
US20240152249A1 (en) 2024-05-09
GB201715581D0 (en) 2017-11-08
JP2020514857A (ja) 2020-05-21
US11860668B2 (en) 2024-01-02
US11237696B2 (en) 2022-02-01
EP4246321A3 (de) 2023-11-08
WO2018118171A1 (en) 2018-06-28
KR20190097184A (ko) 2019-08-20
US20220147227A1 (en) 2022-05-12
EP3539076A4 (de) 2020-12-30
EP3539076A1 (de) 2019-09-18
GB2558036A (en) 2018-07-04
EP4246321A2 (de) 2023-09-20
US20180173403A1 (en) 2018-06-21
CN108205467A (zh) 2018-06-26
DE102017121758A1 (de) 2018-06-21
KR102355481B1 (ko) 2022-01-26
EP3539076B1 (de) 2023-09-13
JP7274418B2 (ja) 2023-05-16

Similar Documents

Publication Publication Date Title
DE202017105691U1 (de) Intelligente Assistenz für wiederholte Aktionen
DE112012000944B4 (de) Auf einer Webseite selbst erfolgende Bearbeitung und Austausch von Webinhalt in Echtzeit
DE202017103860U1 (de) Kontextabhängige Task-Shortcuts
US9614880B1 (en) Methods for real-time notifications in an activity stream
DE102017121911A1 (de) Detektieren belangloser Social Media-Nachrichten
DE112015004111T5 (de) Oberfläche für das starten und wechseln von anwendungen
DE112013002544T5 (de) Cloudbasiertes Teilen von Datenpunkten und Zusammenarbeit unter Benutzergruppen
DE112015004481T5 (de) Rahmen für zustandskennung mobiler anwendungen
DE112012004240T5 (de) Überwachen des Ressourcenverbrauchs eines Anwendungsprogramms
DE102013222290A1 (de) System und Verfahren zur gemeinsamen Nutzung von Ermittlungsergebnisdaten
US20150295914A1 (en) Dynamic, customizable, controlled-access child outcome planning and administration resource
DE102014114005A1 (de) Risikobeurteilung von Interaktionen von Anwendungen für mobile Einheiten aufgrund von Reputation
DE112013002542T5 (de) Cloud-basierte Anwendungsressourcendateien
DE102008056646A1 (de) Offene Plattform zum Handhaben eines Agentennetzwerkes
DE202011108538U1 (de) Zeitliche aufgabenbasierte Funktionsflächenverwaltung
DE112016003732T5 (de) Übertragung des anwendungszustands zwischen geräten
DE102014107571A1 (de) Verfahren und System zum Erzeugen und Verfeinern von Regeln zur personalisierten Bereitstellung von Inhalten auf der Grundlage physischer Aktivitäten von Benutzern
DE102010023691A1 (de) Gemeinsame Nutzung von dynamischen Inhaltsvoreinstellungen und Verhalten von EDV-Geräten
DE202015009292U1 (de) Erzeugung eines Aktivitätsflusses
DE112020000927T5 (de) Verwalten sensibler daten
DE112013002259T5 (de) Integration von Informationen dritter Parteien
DE112015005511T5 (de) Mehrzweck-anwendungsstartoberfläche
DE102016125804A1 (de) Das Einbeziehen auswählbarer Anwendungslinks in Konversationen mit persönlichen Assistenz-Modulen
DE102017201173A1 (de) Latenzreduzierung bei der feedbackbasierten ermittlung einer systemperformance
DE202014010885U1 (de) Beschleunigung basierend auf zwischengespeicherte Flüsse

Legal Events

Date Code Title Description
R082 Change of representative

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

R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06Q0010060000

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