DE112017005538T5 - Automatisierte Erzeugung von Arbeitsabläufen - Google Patents

Automatisierte Erzeugung von Arbeitsabläufen Download PDF

Info

Publication number
DE112017005538T5
DE112017005538T5 DE112017005538.5T DE112017005538T DE112017005538T5 DE 112017005538 T5 DE112017005538 T5 DE 112017005538T5 DE 112017005538 T DE112017005538 T DE 112017005538T DE 112017005538 T5 DE112017005538 T5 DE 112017005538T5
Authority
DE
Germany
Prior art keywords
sequence
workflow
steps
result
sequences
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.)
Withdrawn
Application number
DE112017005538.5T
Other languages
English (en)
Inventor
Yen-Min Huang
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE112017005538T5 publication Critical patent/DE112017005538T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Development Economics (AREA)
  • Mathematical Physics (AREA)
  • Educational Administration (AREA)
  • Computing Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Verfahren, Systeme und Computerprogramme sind zum Erzeugen von Arbeitsabläufen, durch ein Computerprogramm, für eine gewünschte Aufgabe dargestellt. Ein System enthält eine Arbeitsablauffunktionseinheit und einen Arbeitsablaufempfehler. Die Arbeitsablauffunktionseinheit dient dazu, einen Maschinenlernalgorithmus (MLA) anzulernen, eine Vielzahl von Lernsequenzen nutzend, wobei jede Lernsequenz einen Lernkontext, mindestens einen Lernschritt und ein Lernergebnis umfasst; Empfangen einer Arbeitsablaufdefinition, die mindestens einen Eingangskontext und ein gewünschtes Ergebnis enthält, wobei der Eingangskontext mindestens eine Eingangseinschränkung enthält; Erzeugen, den MLA nutzend, mindestens einer Ergebnissequenz, die die Arbeitsablaufdefinition implementiert, wobei jede Ergebnissequenz eine Vielzahl von Schritten enthält; und Auswählen einer der mindestens einen Ergebnissequenz. Der Arbeitsablaufempfehler dient dazu, eine Darstellung der ausgewählten Ergebnissequenz auf einer Anzeige zu veranlassen.

Description

  • PRIORITÄT
  • Diese Patentanmeldung beansprucht den Prioritätsvorteil zu U.S. Anmeldung Seriennummer 15/341,819 , eingereicht am 2. November 2016, die hiermit in ihrer Gesamtheit zum Zwecke der Bezugnahme zitiert wird.
  • STELLUNGNAHME BEZÜGLICH STAATLICH GEFÖRDERTER FORSCHUNG ODER ENTWICKLUNG
  • Diese Erfindung wurde mit Regierungsunterstützung unter H98230-13D0054, durch die National Security Agency verliehen, gemacht. Die Regierung hat bestimmte Rechte an dieser Erfindung.
  • TECHNISCHES GEBIET
  • Der hierin offenbarte Gegenstand bezieht sich im Allgemeinen auf Verfahren, Systeme und Programme zum Erzeugen von Arbeitsabläufen für eine gewünschte Aufgabe.
  • STAND DER TECHNIK
  • Ein Zug menschlicher Intelligenz ist die Fähigkeit, Pläne aus angeeignetem Wissen und vergangener Erfahrung zu entwerfen, um ein Ziel zu erreichen. Entweder einen vergangenen Plan in Erinnerung zu rufen oder einen neuen auszuarbeiten, erlaubt uns diese kontinuierliche Planung und Entscheidungsfindung darüber, was als nächstes zu tun ist, uns autonom zu verhalten. Jedoch kann Planung schnell eine zeitintensive Übung für komplexe Aufgaben werden, wie wenn zu viele Teilaufgaben involviert sind und eine große Zahl an Einschränkungen eingehalten werden muss.
  • Ein Arbeitsablauf ist eine Serie von Aktivitäten, die notwendig sind, eine Aufgabe zu vollenden. Arbeitsabläufe finden sich überall, in Fertigung, Geschäftsleben, Ingenieurwesen und unserem täglichen Leben, und wohldefinierte Arbeitsabläufe zu haben kann den Unterschied zwischen Erfolg und Chaos machen. Der übliche Prozess einen Arbeitsablauf zu entwerfen involviert einen menschlichen Gestalter, der die Aufgabe in viele Schritte aufteilt. Jedoch kann Planung und Definition von Arbeitsabläufen schnell eine herausfordernde und zeitintensive Übung werden, wenn eine Komplexität zunimmt. Außerdem, je höher die Komplexität des Arbeitsablaufs, desto schwerer ist es zu testen und validieren.
  • Figurenliste
  • Unterschiedliche der angehängten Zeichnungen veranschaulichen bloß beispielhafte Ausführungsformen der vorliegenden Erfindung und können nicht betrachtet werden, den Umfang zu begrenzen.
    • 1 ist eine Veranschaulichung einer beispielhaften Ausführungsform eines Arbeitsablaufplans.
    • 2 ist ein Ablaufdiagramm eines Verfahrens gemäß manchen beispielhaften Ausführungsformen, zum Testen und Anlernen eines Arbeitsablaufempfehlers.
    • 3 ist eine Architektur eines Systems zum Evaluieren der Leistung von beispielhaften Ausführungsformen.
    • 4 ist ein Ablaufdiagramm eines Verfahrens gemäß manchen beispielhaften Ausführungsformen, zum Evaluieren der Leistung einer Arbeitsablauffunktionseinheit.
    • 5 veranschaulicht die Erzeugung von Sequenzdaten gemäß manchen beispielhaften Ausführungsformen.
    • 6 veranschaulicht ein Verfahren zum Arbeitsablauflernen gemäß manchen beispielhaften Ausführungsformen.
    • 7 veranschaulicht die Vorhersage des nächsten Schritts, assoziative Erinnerungen nutzend, gemäß mancher beispielhafter Ausführungsformen.
    • 8 veranschaulicht ein Verfahren zum Empfehlen möglicher Sequenzen gemäß manchen beispielhaften Ausführungsformen.
    • 9 ist eine Anwenderschnittstelle für den Arbeitsablaufempfehler gemäß manchen beispielhaften Ausführungsformen.
    • 10 veranschaulicht Probentestergebnisse.
    • 11 ist ein Ablaufdiagramm eines Verfahrens gemäß manchen beispielhaften Ausführungsformen zum Valideren des Arbeitsablaufempfehlers.
    • 12 ist eine Hocharchitektur eines Systems zum Empfehlen von Arbeitsabläufen gemäß manchen beispielhaften Ausführungsformen.
    • 13 ist ein Ablaufdiagramm eines Verfahrens gemäß manchen beispielhaften Ausführungsformen zum Empfehlen von Arbeitsabläufen.
    • 14 veranschaulicht die relativen Attribute, die für jeden der Schritte in einer Sequenz definiert sind, gemäß manchen beispielhaften Ausführungsformen.
    • 15 veranschaulicht die Zuteilung von Eigenschaftsattributen zu Komponenten und Verbindungen gemäß manchen beispielhaften Ausführungsformen.
    • 16 veranschaulicht, wie Arbeitsablaufkomponenten zu verbinden sind, gemäß manchen beispielhaften Ausführungsformen.
    • 17 zeigt einen Arbeitsablauf mit einer Iterationsstruktur gemäß manchen beispielhaften Ausführungsformen.
    • 18 veranschaulicht, wie ein Arbeitsablauf aus möglichen Sequenzen aufzubauen ist, gemäß manchen beispielhaften Ausführungsformen.
    • 19 veranschaulicht eine beispielhafte Ausführungsform einer Arbeitsablaufsaufbaukonsolenanwendung.
    • 20 ist ein System zum Implementieren beispielhafter Ausführungsformen.
    • 21 ist ein Ablaufdiagramm eines Verfahrens zum Erzeugen von Arbeitsabläufen, durch ein Computerprogramm, für eine gewünschte Aufgabe.
    • 22 ist ein Blockdiagramm, das ein Beispiel einer Maschine veranschaulicht, in der ein oder mehrere beispielhafte Ausführungsformen implementiert werden können.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Beispielhafte Verfahren, Systeme und Computerprogramme sind an ein Erzeugen von Arbeitsabläufen für eine gewünschte Aufgabe gerichtet. Beispiele typisieren bloß mögliche Variationen. Außer es ist ausdrücklich anders angegeben, sind Komponenten und Funktionen optional und können kombiniert oder unterteilt werden und Betriebe können in Sequenz variieren oder kombiniert oder unterteilt werden. In der folgenden Beschreibung werden zu Zwecken der Erklärung zahlreiche spezifische Details vorgebracht, um ein tiefgreifendes Verständnis über beispielhafte Ausführungsformen bereitzustellen. Es wird für den Fachkundigen jedoch ersichtlich, dass der vorliegende Gegenstand ohne diese spezifischen Details ausgeübt werden kann.
  • Eine Aufgabe für einen Datenanalysten ist es, Arbeitsabläufe zu entwerfen, die durch Orchestrieren einer Sequenz von Schritten Zeit sparen. Diese vorgelegten Ausführungsformen stellen einen Arbeitsablaufempfehler bereit, der Maschinenlernalgorithmen nutzt, um autonom Arbeitsablaufpläne zu erstellen, die spezifizierte Einschränkungen einhalten, um ein gewünschtes Ergebnis erzielen.
  • Die Ausführungsformen beschreiben eine neue Plattform zum Empfehlen von Arbeitsablaufplänen, um eine Aufgabe in spezifischen Kontexten und unter Einschränkungen basierend auf beobachteten Arbeitsablaufproben zu erfüllen. Das System empfiehlt Arbeitsabläufe, um eine Aufgabe zu erfüllen und das System wurde modelliert und evaluiert, um die Validität der Ergebnisse zu verifizieren. Das System stellt eines, manche oder alle der folgenden Merkmale bereit:
    1. 1. Fähigkeit, Probearbeitsabläufe (z.B. gerichtete Graphen) und zugehörige Metadaten in Sammlungen von Attributen mit relativ codierten Positionen zwischen Schritten durch ein Bewegungsfensterschema zu zerteilen und zu codieren.
    2. 2. Eine Sammlung von Matrizen, assoziative Erinnerungen genannt, die verwendet werden, die gemeinsamen Auftritte aller Attribute zu organisieren, zu beobachten und anzusammeln. Assoziative Erinnerungen zu verwenden kann die Zahl benötigter Proben, um hohe Empfehlungseffizienz in einem großen Problemraum zu erzielen, stark verringern.
    3. 3. Automatische Erstellung von Arbeitsabläufen gemeinsam mit Details, die die vorgegebenen Einschränkungen einhalten, durch vorgegebene Kontexte der Aufgaben, wie Beschreibung, Markierungen, Strenge und Eingangs-/Ausgangsparameter für den gesamten Arbeitsablauf.
    4. 4. Fähigkeit, Arbeitsabläufe aufzubauen, durch Vorhersagen nächster oder voriger Schritte in einer Sequenz (in entweder der Vorwärts- oder der Rückwärtsrichtung), Erfassen von Schleifungsstrukturen und Zusammenführen einer Sammlung von Sequenzen, um Arbeitsabläufe zu bilden.
    5. 5. Fähigkeit, Arbeitsabläufe aufzubauen, durch rekursives Zerlegen und Anpassen von Kontexten, Einschränkungen und Eingangs-/Ausgangsparametern in Teilprobleme, um Teilsequenzen aufzubauen.
    6. 6. Melden ungelöster Teilprobleme an Anwender zur weiteren Hilfestellung, wenn das System keine Sequenz erstellen kann, die die vorgegebenen Einschränkungen mit den vorgegebenen Eingangs-/Ausgangsparametern einhält.
  • Das System verwendet kognitive Gedankenprozesse, um sich ähnliche (oder analoge) Erfahrungen aus der Vergangenheit in Erinnerung zu rufen, einen Arbeitsablauf mit Vorwärts- und Rückwärtsverkettung zu planen und komplexe Mehrwege und iterative Schleifen darzustellen. Das System verwendet adaptives Lernen, um den Planungsraum zu erweitern, Präferenzen mit mehreren Beispielen aufzunehmen und die Reihung und Einschränkungen von Schritten und Kontexten zu erkennen.
  • Das System erlaubt auch selbstverwaltete Planung durch automatisches Zerlegen von Teilzielsetzungen und Erforschen von Plänen, autonomes Weiterentwickeln von Einschränkungen und Verwalten von Kontexten, automatisches Einarbeiten neuer Kontextinformationen in den Planungsprozess und Interagieren mit dem Anwender durch Erkennen und Vorlegen unlösbarer Zielsetzungen.
  • Der Test und die Evaluierung des Systems zeigen, dass: assoziative Erinnerungen effektiv darin sind, personalisierte Arbeitsablaufpläne in Kontexten und mit Einschränkungen zu empfehlen, der Arbeitsablaufempfehler fähig ist, autonom über bestehende Arbeitsabläufe zu reflektieren und sich neue auszudenken, wobei nur moderate Anlerndaten benötigt werden, und dass die Lösung allgemein ist und auf unterschiedliche Domänen angewendet werden kann.
  • Maschinenlernen ist ein Forschungsgebiet, das Computern die Fähigkeit gibt zu lernen, ohne explizit programmiert zu werden. Maschinenlernen erkundet die Forschung und Erstellung von Algorithmen, die aus Vorhersagen über Daten lernen und diese treffen können. Solche Maschinenlernalgorithmen arbeiten durch Aufbauen eines Modells aus beispielhaften Eingängen, um datengetriebene Vorhersagen oder Entscheidungen zu treffen, die als Ausgänge ausgedrückt werden. Obwohl beispielhafte Ausführungsformen in Bezug auf assoziative Erinnerungen dargestellt werden, können die hierin vorgelegten Prinzipien auf andere Maschinenlernalgorithmen angewendet werden, wie Algorithmen bezüglich künstlicher neuraler Netzwerke, Bayesian-Netzwerke, Random Forests, linearer Klassifikatoren, quadratischer Klassifikatoren und Hilfsvektormaschinenalgorithmen.
  • In einem Aspekt ist ein System zum Entwerfen eines Arbeitsablaufs bereitgestellt. Das System enthält einen Sequenzerzeuger, eine Arbeitsablauffunktionseinheit und einen Arbeitsablaufempfehler. Der Sequenzerzeuger dient dazu, mehrere Anlernsequenzen zu erzeugen. Die Arbeitsablauffunktionseinheit zerteilt die Anlernsequenzen, um Reihung von Schritten in jeder Anlernsequenz, Kontexte für jeden Schritt und Einschränkungen für jeden Schritt zu extrahieren. Die Arbeitsablauffunktionseinheit dient zum Anlernen eines Maschinenlernalgorithmus, die Lernsequenzen und die extrahierte Reihung von Schritten, Kontext und Einschränkungen nutzend. Der Maschinenlernalgorithmus ist angelernt, anhand von vorigen Schritten, momentanen Kontexten, momentanen Einschränkungen und einem gewünschten Ergebnis einen nächsten Schritt vorherzusagen. Ferner dient der Arbeitsablaufempfehler dazu, einen Teilsatz der Anlernsequenzen zu testen. Das Testen für jede Anlernsequenz umfasst Betriebe, eine Eingangssequenz und das gewünschte Ergebnis in den Arbeitsablaufempfehler einzugeben, um den Maschinenlernalgorithmus zu nutzen, einen Ausgangsarbeitsablauf durch iteratives Berechnen des nächsten Schritts aufzubauen, bis das gewünschte Ergebnis erreicht ist, und den Ausgangsarbeitsablauf mit der entsprechenden Anlernsequenz zu vergleichen, wobei der Arbeitsablaufempfehler basierend auf dem Vergleichen für den Teilsatz der Anlernsequenzen evaluiert ist.
  • In einem Aspekt ist ein Verfahren zum Erzeugen von Arbeitsabläufen durch ein Computerprogramm für eine gewünschte Aufgabe bereitgestellt. Das Verfahren enthält einen Betrieb zum Anlernen eines Maschinenlernalgorithmus, mehrere Lernsequenzen nutzend, wobei jede Lernsequenz einen Lernkontext, mindestens einen Lernschritt und ein Lernergebnis umfasst. Ferner enthält das Verfahren einen Betrieb zum Empfangen, durch den Maschinenlernalgorithmus, einer Arbeitsablaufdefinition, die mindestens einen Eingangskontext und ein gewünschtes Ergebnis enthält, wobei der Eingangskontext mindestens eine Eingangseinschränkung enthält. Der Maschinenlernalgorithmus erzeugt mindestens eine Ergebnissequenz, die die Arbeitsablaufdefinition implementiert, wobei jede Ergebnissequenz mehrere Schritte enthält, und eine der mindestens einen Ergebnissequenzen auswählt. Ferner enthält das Verfahren einen Betrieb zum Veranlassen der ausgewählten Sequenz auf einer Anzeige dargestellt zu werden.
  • 1 ist eine Veranschaulichung einer beispielhaften Ausführungsform eines Arbeitsablaufplans. Wie hierin verwendet ist eine Sequenz eine gereihte Liste von Aufgaben, auch als Schritte oder Komponenten bezeichnet. Manche Sequenzen enthalten ein Ergebnis (z.B. 112, 114), auch als eine Zielsetzung oder ein Ausgang bezeichnet, das durch Durchführen der Sequenz erzielt wird. Eine Sequenz kann auch als ein Arbeitsablauf im Allgemeinen bezeichnet werden, aber wie hierin verwendet, kann ein Arbeitsablauf auch einen gerichteten Graphen enthalten, wie das in 1 veranschaulichte Beispiel.
  • Ein Schritt (z.B. Schritte 102, 104, 114, 106, 108) ist eine Aufgabe, die innerhalb einer Sequenz vollzogen ist (z.B. Importieren 102 einer kommagetrennten Werte- (Comma-Separated Values, CSV) Datei, Konvertieren 104 des Formats der CSV-Datei, Entfernen doppelter Aufzeichnungen). Kontexte sind Aufgabenvorbedingungen für die Sequenz (z.B. Quelle, Zielsetzungen, Erfordernisse, Projekt, Bedingungen, Ergebnisse aus einem Durchführen eines Schritts usw.). Zusätzlich sind Einschränkungen benötigte Vorbedingungen (z.B. Kontexte, vorige Schritte usw.), die vom nächsten Schritt, oder nächsten Schritten, in einer gültigen Sequenz eingehalten werden müssen. Zum Beispiel, falls ein Schritt zwei Zahlen benötigt, ist eine Einschränkung, dass die zwei Zahlen verfügbar sein müssen, bevor der Schritt durchgeführt werden kann.
  • Jeder Schritt kann null oder mehr Eingänge empfangen und einen oder mehr Ausgänge erzeugen. Der eine oder die mehreren Ausgänge werden in einen oder mehrere nächste Schritten eingespeist. Es gibt Einschränkungen dafür, wie die Komponenten verbunden sind, und für die Auswahl des nächsten Schritts, die von den Ergebnissen des vorigen Schritts abhängen kann.
  • Sequenzerzeugung bezieht sich auf die Erzeugung von Sequenzdaten (z.B. Kontexten und Schritten) zum Anlernen eines Maschinenlernalgorithmus. Sequenzempfehlung bezieht sich auf die Konstruktion und Empfehlung von Sequenzen vorgegebener Kontexte oder teilweiser Sequenzen. Ferner bezieht sich eine Arbeitsablaufempfehlung auf die Empfehlung einer Sequenz und den entsprechenden gerichteten Graphen, um eine Aufgabe zu erfüllen.
  • Der Arbeitsablauf kann in einem gerichteten Graphen dargestellt sein, wo Knoten Schritte und Kanten sind, die die Verbindungen zwischen Schritten darstellen, die die Sequenz bilden. In manchen beispielhaften Ausführungsformen gibt es Metadaten, die mindestens manchen der Schritten und manchen der Verbindungen zugehörig sind, wie Namen, Beschreibung, Eingangs-/Ausgangsparametern usw.
  • Im in 1 veranschaulichten Beispiel ist ein Arbeitsablauf 100 zum Analysieren von Zensusdaten (eingegeben in der Form von Datei A.CSV 102) mit Bevölkerungsinformationen für verschiedene Standorte definiert, um ein Durchschnittsalter pro Gruppe und normalisierte Altersdaten durch Teilen der Alter durch den entsprechenden Durchschnitt zu berechnen, um das Ergebnis 114 im Format einer CSV-Datei zu erhalten.
  • Erstellen eines komplexen Arbeitsablaufs mit einer großen Zahl an Aufgaben, die viele Einschränkungen gleichzeitig einhalten, kann eine zeitintensive Aufgabe für einen Analysten sein, insbesondere, falls es hunderte oder tausende verfügbare Aufgaben gibt. Grafische Planungswerkzeuge wurden aufgebaut, um dem Analysten zu assistieren, aber diese Werkzeuge benötigen oft Anwendereingaben, um Aufgaben auszuwählen, was den Arbeitsablauferzeugungsprozess zäh und langwierig macht. Diese dargestellten Werkzeuge entwerfen und empfehlen Arbeitsabläufe automatisch und können in Verbindung mit Anwendereingabe verwendet werden, um den Erzeugungsprozess mit menschlicher Eingabe zu ergänzen, wenn die Werkzeuge nicht die richtigen Aufgaben definiert haben, um einen gewissen Arbeitsablauf zu vollenden.
  • Ferner, falls die angelernten Arbeitsabläufe vom selben Anwender hergestellt sind, werden die Präferenzen des Anwenders auch beobachtet und vom System gelernt, und das System ist fähig, personalisierte Arbeitsablaufempfehlungen für den Anwender herzustellen, nicht nur basierend auf den vorgegebenen Einschränkungen und Kontexten, sondern auch basierend auf den Präferenzen des Anwenders beim Erstellen von Arbeitsabläufen.
  • In manchen Ausführungsformen könnte es 5000 oder mehr Testkomponenten geben, aus denen für jeden Schritt zu wählen ist, und die Zahl an Schritten innerhalb der Sequenz kann von fünf bis hundert oder mehr variieren. Unter Vorgabe all dieser Auswahlmöglichkeiten, kann das Erstellen von Arbeitsabläufen eine entmutigende Aufgabe für einen Analysten sein. Die dargestellten Ausführungsformen sparen Zeit und Aufwand durch Lernen aus den Arbeitsabläufen, die bereits von Experten hergestellt wurden, und durch Empfehlen betrieblicher Arbeitsabläufe, die mindestens so gut sind, wie die von Experten hergestellten.
  • 2 ist ein Ablaufdiagramm eines Verfahrens gemäß manchen beispielhaften Ausführungsformen zum Testen und Anlernen eines Arbeitsablaufempfehlers. Assoziatives Gedächtnis ist eine Maschinenlerntechnologie, die es erlaubt, aus vergangenen Fällen zu lernen und das gelernte Material zu verwenden, Vorhersagen zu treffen. Der Name assoziativ rührt daher, dass das Werkzeug durch Assoziation lernt, ähnlich wie Menschen lernen. Zum Beispiel, falls eine Person einen Freund mit einer anderen Person sieht, wird eine Assoziation, dass die andere Person ein Freund, oder Familie, oder eine Geschäftsbeziehung sein kann oder ein anderer Typ von Assoziation für den Freund gemacht. Diese Information wird genommen und all die möglichen Assoziationen werden für diese Person gemacht. Weitere Daten können die Zahl möglicher Assoziationen auf einen kleineren Satz verringern.
  • Assoziatives Gedächtnis basiert auf Matrizensätzen, die assoziative Erinnerungen genannt werden, entwickelt durch Beobachten von gemeinsamen Auftreten von Attributen unter Kontexten. Ein Attribut ist eine Tupel von Kategorie und Wert, als <category>;<value> bezeichnet. Attribute können alles Mögliche darstellen, von konkreten Objekten bis zu abstrakten Konzepten, zum Beispiel, Person:John, Stimmung:glücklich, Komponente:xyz usw. Attribute werden verwendet, um mindestens Schritte, Eingänge, Ausgänge, Bedingungen, Kontext, Metadaten usw. darzustellen.
  • Bevor begonnen wird Arbeitsabläufe zu empfehlen, ist eine Frage, die zu beantworten ist, kann assoziatives Gedächtnis verwendet werden Arbeitsflüsse zu lernen und zu empfehlen? Die Antwort wird in einem Prozess erhalten, der als „Stage 1“ oder Arbeitsablaufanlemen 202 bezeichnet ist. Die zweite Frage ist, kann diese Technologie verwendet werden, um gültige komplexe Arbeitsabläufe zu empfehlen? Die Antwort wird in „Stufe 2“ oder Arbeitsablaufempfehlung 204 erhalten.
  • Während Stufe 1 wird das System mit Probearbeitsabläufen, Kontext und Einschränkungen angelernt 202. Dieses Arbeitsablaufanlemen 202 enthält Betriebe 206, 208 und 210. In Betrieb 206 werden Eingangsdaten zerteilt, um Kontext, Einschränkungen und Reihung von Schritten in den Arbeitsabläufen als Attribute einzurichten. Von Betrieb 206 läuft das Verfahren zu Betrieb 208, wo unter Verwendung eines beweglichen Fensters für jeden Schritt die umgebenden Schritte unter Verwendung eines relativen Abstands und anderen Parametern im Fenster codiert werden.
  • Bei Betrieb 210 werden Assoziationen unter Kontexten, Einschränkungen und Schrittattributen eingerichtet und die vom System angesammelten Assoziationen werden in der assoziativen Erinnerung gehalten.
  • In manchen beispielhaften Ausführungsformen werden Probensequenzen vom System gelernt und dann wird das System gefragt, eine Sequenz basierend auf bezogenen Einschränkungen zu entwerfen. Die Ergebnisse werden mit den ursprünglichen Sequenzen verglichen, um zu ermitteln, ob das System fähig ist gültige Sequenzen zu entwerfen. Die Antwort ist, dass das System fähig ist, wie ausführlicher unterhalb in Bezug auf 10 besprochen ist.
  • Der Vorteil automatisierter Arbeitsablauferzeugung ist die Ersparnis von Expertenzeit durch Lernen aus den Arbeitsabläufen, die von den Experten hergestellt sind, um gültige Arbeitsabläufe zu empfehlen. Der Ansatz enthält Lernen, wie Probearbeitsabläufe bei der Schrittebene erstellt wurden, und dann Mischen, Abstimmen und Kombinieren der gelernten Informationen, um vorherzusagen, was in einer teilweise erstellten Sequenz mit vorgegebenen Kontexten, Eingängen und Ausgängen als nächstes zu tun ist. Für einen komplexen Arbeitsablauf wird das Problem rekursiv in einfachere Teilprobleme zerlegt, bis die Teilprobleme auf der Komponentenebene gelöst werden können. Dann werden alle Lösungen zu Teilproblemen zusammengeführt, um den finalen Arbeitsablaufplan zu bilden.
  • Betrieb 204 dient zur Arbeitsablaufempfehlung, der enthält, Arbeitsabläufe unter Vorgabe bestimmter Kontexte, Einschränkungen und eines gewünschten Ergebnisses zu empfehlen. Arbeitsablaufempfehlung 204 enthält Betriebe 212, 214 und 216. Bei Betrieb 212 werden Sequenzen gebildet, um den nächsten Schritt, oder Serien von Schritten unter Verwendung der vorgegebenen Kontexte, Einschränkungen und verfügbaren teilweise aufgebauten Sequenzen zu empfehlen.
  • Von Betrieb 212 läuft das Verfahren zu Betrieb 214 über, um sequentielle Arbeitsabläufe durch iteratives Hinzufügen eines neuen nächsten Schritts aufzubauen, während die nächsten Schritte durchlaufen und besucht werden, bis alle Bedingungen eingehalten werden (z.B. das gewünschte Ergebnis ist erreicht). Ferner werden in Betrieb 216 viele sequenzielle Arbeitsabläufe zusammengeführt, um den empfohlenen Arbeitsablauf zu bilden.
  • In manchen beispielhaften Ausführungsformen können Stufen 1 und 2 wiederholt werden, um das System feinabzustimmen, bis gültige Arbeitsabläufe empfohlen werden. Während die unterschiedlichen Betriebe in diesem Ablaufdiagramm sequenziell dargestellt und beschrieben werden, wird der Durchschnittsfachmann begrüßen, dass manche oder alle der Betriebe in einer verschiedenen Reihung durchgeführt, kombiniert oder ausgelassen oder parallel ausgeführt werden können.
  • 3 ist eine Architektur eines Systems zum Evaluieren der Leistung von beispielhaften Ausführungsformen. Bei Stufe 1 wird ein Sequenzerzeuger 302 verwendet, um Anlernsequenzen mit unterschiedlichen Verteilungen zu erzeugen, um die Leistung des Algorithmus zu testen und zu evaluieren. Bei Stufe 2 wird der Algorithmus von den erzeugten Sequenzen erweitert, um aus tatsächlichen realen vom Menschen entworfenen Arbeitsabläufen zu lernen, wie unterhalb in Bezug auf 12 bis 19 ausführlicher besprochen ist.
  • Arbeitsabläufe zu empfehlen kann eine entmutigende Aufgabe sein. Zum Beispiel sei angenommen, eine industrielle Umgebung enthält 5000 verschiedene Komponenten, aus denen bei jedem Schritt zu wählen ist, und der Durschnitt ist zehn Schritte pro Sequenz. Die Zahl möglicher Sequenzen ist in der Ordnung von 1037. Jedoch sind in Realität gültige Sequenzen durch Einschränkungen begrenzt, mit einer viel kleineren Zahl möglicher Sequenzen, aber die Zahl möglicher Sequenzen ist immer noch ziemlich groß.
  • Der Ansatz, assoziative Erinnerung zu verwenden, enthält Vorhersagen von Ergebnissen, basierend auf den beobachteten Daten. Es gab die Sorge über die Effektivität von Maschinenlernen zum Vorhersagen von Arbeitsabläufen angesichts der begrenzten Größe von Daten und des sehr großen Problemraums. Eine der Zielsetzungen von Stufe 1 ist es, zu ermitteln, ob die Arbeitsablaufempfehlung zum Entwerfen von Arbeitsabläufen mit ungefähr 20 Schritten oder weniger erfolgreich sein kann. Falls der Ansatz auf diesem Weg validiert ist, dann ist es möglich Arbeitsabläufe mit der Gewissheit zu entwerfen, dass die Ergebnisse die Anforderungen einhalten.
  • Der Sequenzerzeuger 302 ist ein Programm, das Kontexte und Schritte von Sequenzen basierend auf Eingängen erzeugt. Die Eingangsparameter beschreiben die Merkmale der Zielsequenzdaten. In manchen beispielhaften Ausführungsformen entwirft der Sequenzerzeuger 302 Sequenzen 304 in CSV-Format, es kann aber jedes andere Format zum Definieren von Sequenzen genutzt werden.
  • Die Arbeitsablauffunktionseinheit 306 und der Maschinenlernalgorithmus werden mit den erzeugten Sequenzen und den Arbeitsablaufdaten 314, die entworfen und in der Datenbank gespeichert sind, angelernt. Nachdem die Arbeitsablauffunktionseinheit 306 (die mit dem Maschinenlernalgorithmus interagiert) durch den Anlernprozess gegangen ist, ist die Arbeitsablauffunktionseinheit 306 bereit, eine Abfrage zu empfangen, eine Sequenz basierend auf Kontexten und Einschränkungen zu entwerfen, um ein gewünschtes Resultat zu erreichen.
  • Die Arbeitsablauffunktionseinheit 306 erzeugt in Antwort auf die Abfrage mindestens eine empfohlene Sequenz 316. Der Arbeitsablaufempfehler 308 ist ein Werkzeug, dass eine Anwenderschnittstelle zum Analysieren der empfohlenen Sequenzen 316 enthält.
  • Ferner, nachdem eine Vielzahl von Abfragen von der Arbeitsablauffunktionseinheit 306 verarbeitet wurde, findet ein Test- und Evaluierungsprozess 310 statt, um die Gültigkeit der Ergebnisse zu ermitteln, die von der Arbeitsablauffunktionseinheit 306 erzeugt sind. In manchen beispielhaften Ausführungsformen wird eine grafische Darstellung der Ergebnisse 312 auf einer Anzeige dargestellt.
  • Eine Unterscheidung zwischen dem Sequenzerzeuger 302 und der Arbeitsablauffunktionseinheit 306 ist, dass obwohl beide Sequenzen 304, 316 herstellen, deren Zweck verschieden ist, wie auch wie sie Sequenzen 304, 316 erzeugen. Der Sequenzerzeuger 302 entwirft künstliche Sequenzen 304 aus vordefinierten Regeln und Verteilungen zu Anlernzwecken, während die Arbeitsablauffunktionseinheit 306 Sequenzen 316 durch Abfragen eines angelernten Maschinenlernalgorithmus erzeugt, um vorgegebene Einschränkungen und Kontexte einzuhalten.
  • 4 ist ein Ablaufdiagramm eines Verfahrens 400 gemäß manchen beispielhaften Ausführungsformen zum Evaluieren der Leistung einer Arbeitsablauffunktionseinheit. Bei Betrieb 402 erzeugt der Sequenzerzeuger Anlernsequenzen. Von Betrieb 402 läuft das Verfahren 400 zu Betrieb 404 über, wo die Arbeitsablauffunktionseinheit mit den erzeugten Anlernsequenzen angelernt wird.
  • Bei Betrieb 406 ist die Arbeitsablauffunktionseinheit gefragt, Sequenzen für bekannte Sequenzen zu empfehlen. Eingänge werden bereitgestellt, die eine teilweise Sequenz, oder überhaupt keine Sequenz und einen Satz von Kontexten und Einschränkungen enthalten können. Das gewünschte Ergebnis wird auch eingegeben. Dies bedeutet, dass die Eingänge bereitgestellt sind, um zu prüfen, ob die Arbeitsablaufunktionseinheit fähig ist, die Sequenz neu zu entwerfen. Zum Beispiel können die Eingänge den Anfangsschritt der Sequenz und die Kontexte und Einschränkungen enthalten, um das gewünschte Ergebnis zu erhalten.
  • Von Betrieb 406 läuft das Verfahren 400 zu Betrieb 408, wo die empfohlenen Sequenzen, die von der Arbeitsablauffunktionseinheit entworfen sind, mit den bekannten Sequenzen verglichen werden, die vom Sequenzerzeuger entworfen sind. In manchen beispielhaften Ausführungsformen können manche Testsequenzen auch manuell entworfen werden oder von einer bekannten Datenbank existierender Sequenzen bezogen werden.
  • Bei Betrieb 410 wird die Möglichkeit der Arbeitsablauffunktionseinheit, Sequenzen zu erzeugen, basierend auf dem Vergleich von Betrieb 408 evaluiert. Mehr Details sind unterhalb in Bezug auf die Testergebnisse in Bezug auf 10 bereitgestellt. Mit einer moderaten Zahl an angelernten Proben (proportional zur Zahl verfügbarer Komponenten), erzielt der Algorithmus 100 % Genauigkeit beim in Erinnerung rufen angelernter Arbeitsabläufe. Basierend auf simulierten Daten, die unter log-normaler Verteilung erzeugt sind, waren über 95 % erzeugter ungesehener Arbeitsabläufe gültig. Diese Genauigkeit kann durch Verschärfen oder Lockern vorgegebener Einschränkungen und Kontexte gesteuert werden. Zusätzlich kann das System automatisch die Arbeitsablaufmetadaten als ein Nebenprodukt vom in Erinnerung rufen von Schritten einfüllen.
  • Während die unterschiedlichen Betriebe in diesem Ablaufdiagramm sequenziell dargestellt und beschrieben sind, wird der Durchschnittsfachmann begrüßen, dass manche oder alle der Betriebe in einer verschiedenen Reihung durchgeführt, kombiniert oder ausgelassen oder parallel durchgeführt werden können.
  • 5 veranschaulicht die Erzeugung von Sequenzdaten gemäß manchen beispielhaften Ausführungsformen. Der Sequenzerzeuger 508 entwirft Sequenzen, die zum Testen und Validieren der Arbeitsablauffunktionseinheit 306 verwendet werden.
  • In manchen beispielhaften Ausführungsformen enthalten die Eingänge des Sequenzerzeugers 508 Kontexte 502, Schritte 504, Kontextbezeichnungen 512 und Schrittbezeichnungen 516. Die Ausgänge des Sequenzerzeugers 508 enthalten einen nächsten Schritt 506, Kontexte 502 für den nächsten Schritt 506 und Ausgangsdaten 510. Die Kontexte 502 sind in einer beispielhaften Ausführungsform ungeordnete binäre Beschaffenheiten, die die Metadaten oder Bedingungen über die Sequenz darstellen. Die Zahl an Schritten in Sequenzen kann variieren oder fixiert sein. Ferner kann eine maximale Zahl an Schritten durch den Administrator definiert sein. In manchen beispielhaften Ausführungsformen können die maximale Zahl an Schritten und die verfügbaren Aufgabenbezeichnungen spezifiziert sein, um den Umfang des Zielproblems zu simulieren.
  • Die Kontextbezeichnungen 512 enthalten Namen, die Kontexte und eine Kontextebenenverteilung 514 darstellen, und die Kontextbezeichnungen 512 sind in manchen Ausführungsformen zufällig aus vordefinierten Verteilungen ausgewählt. Die Schrittbezeichnungen 516 enthalten Namen, die Schritte darstellen, und eine entsprechende Schrittebenenverteilung 518. Die Verteilungen 514 und 518 spezifizieren, wie Bezeichnungen aus dem Pool aus Namen oder Pool aus Schritten gezogen werden. Ferner enthält in manchen beispielhaften Ausführungsformen der Sequenzerzeuger 508 Erstellungsregeln zum Bilden von Sequenzen.
  • Sequenzerzeuger 508 erzeugt gültige Sequenzen gemäß den empfangenen Eingängen und den vordefinierten Erstellungsregeln. Die Erstellungsregeln sind gestaltet, mit der Einführung eines konfigurierbaren Grads an Überlagerungen oder Störungen zwischen Schritten deterministisch zu sein. Auf diesem Weg kann ein gültiger Schritt in einer Sequenz für andere Sequenzen nicht gültig sein, selbst wenn unter demselben Kontext betrieben, aber die Gültigkeit der Sequenzen kann immer noch getestet werden.
  • In manchen beispielhaften Ausführungsformen wurden drei Verteilungen verwendet: log-normal, normal und einheitlich. Diese Verteilungen stellen die Wahrscheinlichkeit dar, dass eine Aufgabe als der nächste Schritt ausgewählt wird (vorausgesetzt die Aufgabe hält die erforderten Einschränkungen ein). In einer beispielhaften Ausführungsform werden dieselben Erstellungsregeln verwendet, die Sequenzen zu validieren, die durch Abfragen assoziativer Erinnerungen erzeugt werden, wie unterhalb ausführlicher beschrieben.
  • In einer beispielhaften Ausführungsform wurden die folgenden Eingangsparameter verwendet: die Gesamtzahl an zu erzeugenden Sequenzen, die Gesamtzahl an verfügbaren Aufgabenbezeichnungen (z.B. 5000), der Typ von Verteilungsfunktion, der zum Auswählen der Aufgabenbezeichnung bei jedem Schritt verwendet wird, die Durchschnittszahl an Schritten in einer Sequenz (z.B. 10) und ein Kontext-zu-Aufgabe-Bezeichnungsverhältnis (z.B. 25 mögliche Aufgaben für einen vorgegebenen Satz von Kontexten).
  • In manchen Ausführungsformen arbeitet der Sequenzerzeuger 508 unter den folgenden Regeln. Aufgabenbezeichnungen sind numerisch codiert (z.B. t<id>: t00001 - t05000 wie unterhalb in Bezug auf 6 ausführlicher beschrieben); die Zahl an Schritten in Sequenzen ist normal verteilt (z.B. mit einem Durchschnitt von 10); keine wiederholende Aufgabenbezeichnung ist in einer Sequenz erlaubt; ein Teilsatz an Aufgaben ist für einen spezifischen Schritt gültig; eine vorbestimmte Zahl an Aufgabenbezeichnungen (z.B. 5000) ist sortiert und gleichmäßig in Pools geteilt, basierend auf der Zahl an Schritten in einer Sequenz; jeder Schritt hängt von den vorigen Schritten und den vorgegebenen Kontexten ab; Aufgabenbezeichnungen in einer gültigen Sequenz sind in numerisch ansteigender Reihung; der erste Schritt hängt von den vorgegebenen Kontexten ab; Kontexte sind binär codiert als c<id><0|1> (z.B. c10, c21, c31); die Zahl an Kontexten wird durch ein vordefiniertes Verhältnis zur Zahl an Schritt-1- Bezeichnungen ermittelt (z.B. 1/25); Bezeichnungen, die bei jedem Schritt ausgewählt sind, folgen einer Verteilungsfunktion; unterstützte Verteilungen sind log-normal, normal oder einheitlich; und dieselbe Verteilungsfunktion wird zum Erstellen einer Sequenz verwendet.
  • 6 veranschaulicht ein Verfahren zum Arbeitsablauflernen gemäß manchen beispielhaften Ausführungsformen. Die Arbeitsablauffunktionseinheit 306 lernt die Beziehungen zwischen den Kontexten 502 und den Schritten 504 vor einem Empfehlen von Sequenzen. Um ein Lernen der Beziehungen innerhalb einer Sequenz 614 zu erleichtern, entwirft die Arbeitsablauffunktionseinheit 306 zusätzliche interne Attribute durch ein bewegliches Fensterschema, wenn sie Sequenzdaten verarbeitet. In manchen beispielhaften Ausführungsformen bewegt sich ein Zeiger innerhalb einer Sequenz jeweils um einen Schritt, was den momentanen Schritt und ein Fenster um den momentanen Schritt definiert und ermittelt, wie viele Schritte vor und nach dem momentanen Schritt gemeinsam mit den Kontexten zu beobachten sind. Das System erzeugt die Attribute durch Überlagern des Fensterschemas, das sich Schritt-für-Schritt bewegt, um eine relative Position benachbarter Schritte zum momentanen Attribut zu codieren.
  • Daher enthält das Fenster eine vorbestimmte Zahl voriger Schritte und eine vorbestimmte Zahl nächster Schritte. In der beispielhaften Ausführungsform, die in 6 veranschaulicht ist, ist die vorbestimmte Zahl voriger Schritte auf drei eingestellt und die vorbestimmte Zahl nächster Schritte ist auf eins eingestellt. Jedoch können andere Ausführungsformen eine verschiedene Zahl vorbestimmter voriger Schritte und eine vorbestimmte Zahl nächster Schritte nutzen.
  • Für jeden Eingangs- und Ausgangsparameter eines Schritts sind die Eigenschaften des Parameters, wie Name, Datentyp, benötigt oder optional usw. als Attribute dargestellt und werden gemeinsam mit dem Schrittnahmen beobachtet. Ferner wird für jede Verbindung im System ein Verknüpfungsattribut mit einem einzigartigen Identifikator gemeinsam mit den Eigenschaften der Verknüpfung, wie Namen der Quellen- und Zielschritte, Verbinden von Quellen- und Zielparameternamen und dem Datentyp, entworfen.
  • In manchen beispielhaften Ausführungsformen sind die vorigen und nächsten Schritte als prev<d>:<step_name> beziehungsweise next<d>:<step name> codiert, wo d eine Ganzzahl ist, die anzeigt, wie viele Schritte weg vom momentanen Schritt, und step name der Name des Schritts ist, der d Schritte weg liegt. Zum Beispiel zeigt prev2:t10 bei Schritt t30 an, dass Schritt t10 zwei Schritte zuvor (z.B. vorher) in der Sequenz war. Ferner zeigt nextl t40 bei Schritt t30 an, dass der unmittelbar nächste Schritt in der Sequenz t40 ist.
  • Wenn ein Fenster sich über den Anfang oder das Ende des Arbeitsablaufs erstreckt, wird ein spezielles Schlüsselwort „none“ als der Schrittname verwendet. Zum Beispiel hat der erste Schritt t1 keinen vorigen Schritt, der als prev1:none codiert ist (selbstverständlich sindprev2:none und prev3:none auch implizit codiert).
  • Der momentane Schritt ist als current:<step_name> bezeichnet. Als ein Ergebnis gibt es bei jedem Schritt einen Satz von Attributen, die relative Positionen codieren, wie Schritte aufeinander bezogen sind. Diese Attribute wurden gemeinsam mit Kontextattributen, die Bedingungen darstellen, und Informationen über den Schritt zusammen in assoziativen Erinnerungen beobachtet. Durch Gruppieren und Beobachten von ihnen zusammen hat das System über die Zugehörigkeiten dieser Attribute gelernt. Zusätzlich zum Beobachten der relativen Positionen von Schritten, beobachtet das System Eingangs-/Ausgangsparameter bei jedem Schritt und die Verbindungen zwischen Schritten.
  • Die Sequenz 614 beinhaltet fünf Schritte in der Reihung von t001, t010, t020, t030 und t040. Bei Schritt t1 618 ist der momentane Schritt 608 t1, der prev1 Schritt 610 ist „none“ codiert als prev1:none und der nächste Schritt 612 ist t10, der als nextl:t10 codiert ist. Die anderen Schritte sind ähnlich codiert. Beim letzten Schritt t40 gibt es keinen nächsten Schritt, was als next1:none 616 codiert ist. Es ist angemerkt, dass jeder Schritt in dieser beispielhaften Ausführungsform Speicherinformationen bezüglich Beziehungen zu vorigen und nächsten Schritten enthält.
  • Die Kontexte 602 enthalten Kontext c10 604, c21 und c30. In manchen beispielhaften Ausführungsformen enthalten die Kontexte Textstrings, obwohl andere Ausführungsformen verschiedene Typen von Kontextdefinitionen enthalten können. Zum Beispiel können die Kontexte 602 einen String „Ich möchte den geografischen Standort“, oder „Ich brauche Zugang zu einer Datenbank“ oder „Ich will ein Restaurant eröffnen“ usw. enthalten.
  • 7 veranschaulicht die Vorhersage des nächsten Schritts, die assoziativen Erinnerungen nutzend, gemäß manchen beispielhaften Ausführungsformen. Die Arbeitsablauffunktionseinheit 306 entwirft Sequenzen einen Schritt nach dem anderen; basierend auf der momentanen Sequenz wird der nächste Schritt den Maschinenlernalgorithmus nutzend berechnet. Es ist angemerkt, dass die Sequenz vorwärts oder rückwärts aufgebaut werden kann. Die Sequenz ist vorwärts aufgebaut, wenn der nächste Schritt in der Sequenz berechnet wird, während die Sequenz rückwärts aufgebaut ist, wenn der vorige Schritt in der Sequenz berechnet wird.
  • In der beispielhaften Ausführungsform von 7 ist der momentane Schritt t20 708 mit Kontexten c10, c21 und c30; prev1 Schritt t10 und prev2 Schritt t1 codiert 702 Das assoziative Gedächtnis wird abgefragt 710, um den nächsten Schritt zu erzeugen und das assoziative Gedächtnis erzeugt den nächsten Schritt t30 716, wo Schritt t20 mit next1:t30 codiert ist. In manchen beispielhaften Ausführungsformen dient die Abfrage bei den assoziativen Erinnerungen dazu, basierend auf Wahrscheinlichkeitsbewertungen zwischen 0 und 1 zu einer rangierten Liste nächster-Schritt-Kandidaten zurückzukehren. Die Bewertungen werden basierend darauf, wie viele Attribute in den Kontexten und vorigen Schritten übereinstimmten, errechnet und normalisiert. Je mehr Attributen ein Kandidat entspricht, desto höher die Wahrscheinlichkeitsbewertung.
  • Der nächste Schritt ist codiert, und da der vorige Schritt t20 708 ist, wird t30 716 als prevl:t20, prev2:t10 und prev3:t1 codiert. Sobald ein Kandidat als der nächste Schritt ausgewählt ist, wird er der neue „momentane“ Schritt und die Kontexte und relativen Attribute werden aktualisiert, um einen neuen Satz von Attributen zu bilden, die für neue nächste Schritte abfragen. Der Prozess wird dann für t30 716 wiederholt, um den nächsten Schritt zu berechnen, bis die Sequenz durch Erreichen der gewünschten Zielsetzung vollständig ist.
  • In einer beispielhaften Ausführungsform kehrt die Abfrage 710 zu einer Kandidatenliste nächster Schritte zurück und der beste Kandidat t30 716 wird basierend auf der Rangierung ausgewählt, die jedem der Kandidaten nächster Schritte zugewiesen ist. Ferner wird next1 Feld 714 aktualisiert, einen Wert von t30 zu haben. Zusätzlich sind die Kontexte bei t30 716 dieselben wie bei t20 708, aber in anderen Fällen können die Kontexte auch durch Hinzufügen neuer Kontexte, Ändern momentaner Kontexte oder Löschen mancher der momentanen Kontexte geändert werden.
  • 8 veranschaulicht ein Verfahren zum Empfehlen möglicher Sequenzen gemäß manchen beispielhaften Ausführungsformen. Bei jedem Schritt kann es mehr als einen Kandidaten für den nächsten Schritt geben (z.B. bei Schritten 804, 806 und 808). All die Kandidaten nächster Schritte sind basierend auf deren Wahrscheinlichkeitswerten rangiert und ein Schwellenwert τ wird verwendet, um unwahrscheinliche Kandidaten oder Kandidaten mit niedrigen Bewertungen auszufiltern. Wenn der Algorithmus durchläuft und den nächsten Schritt auswählt, bildet der Algorithmus mindestens eine zu empfehlende Kandidatensequenz. Obwohl höherbewertete Schwellenwerte bessere Sequenzen herstellen, können höhere Schwellenwerte zu begrenzend werden und es dem Algorithmus unmöglich machen, eine Sequenz zu vollenden.
  • Ein weiterer Faktor beim Ermitteln der Qualität der empfohlenen Sequenzen ist die Zahl übereinstimmender Einschränkungen (z.B. Kontexte und vorige Schritte) zum Vorhersagen des nächsten Schritts. Wenn mehr Einschränkungen auferlegt sind, werden die empfohlenen Sequenzen eher reflektiv (Erinnern an beobachtete Sequenzen) als imaginativ (Erzeugen neuer Sequenzen). Jedoch können übermäßig gelockerte Einschränkungen dazu führen, ungültige Sequenzen herzustellen. Deshalb stellt der Arbeitsablaufempfehler 308 eine Schiebeleiste bereit, um den Anwender die Strenge der Einschränkungen einzustellen zu lassen, eine Mischung reflektiver und imaginativer Sequenzen zu empfehlen, wie unterhalb in Bezug auf 9 ausführlicher veranschaulicht ist.
  • In manchen beispielhaften Ausführungsformen erfordert, eine gültige Sequenz mit einer großen Zahl an Schritten (z.B. zwanzig oder mehr) zu empfehlen, dass jeder individuelle Schritt einen hohen Wahrscheinlichkeitsschwellenwert (z.B. größer als 0,933 für eine durchschnittliche Zehn-Schritte-Sequenz) einhält, um eine Wahrscheinlichkeit von größer als 50 % zum Entwerfen einer gültigen Sequenz zu erzielen. Mit anderen Worten, ein schlechter Schritt kann leicht die gesamte Sequenz verderben, weil die Bewertung für die Sequenz auf der Faktorisierung der Bewertungen für jeden der Schritte in der Sequenz basiert.
  • Es wird angemerkt, dass manche Sequenzen Teilsequenzen enthalten können, die parallel durchgeführt werden können, und die Möglichkeiten für die parallelen Teilsequenzen parallel erforscht werden können, um die Lösung schneller zu erhalten.
  • In manchen beispielhaften Ausführungsformen, wenn ein Pfad vollendet ist (oder abgeschlossen ist), geht der Prozess zum vorigen Schritt zurück, um zu sehen, ob es mehr Kandidaten zu erforschen gibt. Falls es so ist, setzt der Prozess ein Erzeugen mehrerer umsetzbarer Pfade fort, bis alle Kandidaten bei jeder Positionsebene erschöpft sind oder voreingestellte Einschränkungen erreicht sind, wie eine maximale Zahl an Pfaden oder eine maximale Verarbeitungszeit zum Erzeugen von Sequenzen.
  • 9 ist eine Anwenderschnittstelle für den Arbeitsablaufempfehler gemäß manchen beispielhaften Ausführungsformen. Die Anwenderschnittstelle 902 stellt dem Datenanalysten Optionen zum Eingeben von Eingängen und Interagieren mit der Arbeitsablauffunktionseinheit bereit. In manchen beispielhaften Ausführungsformen enthält die Anwenderschnittstelle 902 eine Vielzahl von Bildschirmen, wie „neu & interessant“, „fehlende Verknüpfungen“ und „Sequenz“ 904. Die Anwenderschnittstelle 902 zeigt die ausgewählte Sequenz- 904 -Option.
  • Die Anwenderschnittstelle 902 stellt eine Option 908 zum Eingeben von Kontexten, eine Option 910 zum Anfragen des Werkzeugs, den nächsten Schritt zu finden, und eine Option 906 zum Steuern der Einschränkungen, von reflektiv auf imaginativ (z.B. von 0 auf 5), bereit. Zusätzlich enthält die Anwenderschnittstelle 902 eine Option 912 zum Auswählen des nächsten Schritts von einer Vielzahl von Kandidatenschritten. Auf diesem Weg kann der Datenanalyst sich mit dem Werkzeug verknüpfen, um eine Sequenz Schritt-für-Schritt zu entwerfen. In einer anderen Option (nicht gezeigt), ist der Datenanalyst fähig, das Werkzeug anzufragen, eine vollendete Sequenzangesichts des Kontextes und der Einschränkungen zu entwerfen. Das Werkzeug stellt eine grafische Anwenderschnittstelle mit den möglichen Sequenzen 914 bereit, wo die Sequenzen reflektiv oder imaginativ sein können.
  • Zum Beispiel wird eine Anfrage eingegeben, um einen Arbeitsablauf zum Aufbauen eines Taco Restaurants zu entwerfen. Die Einschränkungen können Punkte enthalten, wie „baue das Restaurant“, „Taco Restaurant“, „in Kalifornien“ und „mit mindestens 33 % hispanischer Bevölkerung in der Stadt“. Ein Weg die Einschränkungen zu lockern, wäre „in Kalifornien oder in Texas“ zu spezifizieren. Ferner wäre ein Weg, die Einschränkungen zu erhöhen, eine Einschränkung wie „Stadtbevölkerung größer als 200.000“ hinzuzufügen.
  • Es kann passieren, dass die Arbeitsablauffunktionseinheit zu einem Punkt gelangen kann, wo die Arbeitsablauffunktionseinheit keinen nächsten Schritt finden kann (z.B. die Arbeitsablauffunktionseinheit wurde nicht mit dem Schritt angelernt, eine bestimmte Aufgabe auszuführen). Als eine Antwort kann die Arbeitsablauffunktionseinheit das Problem dem Analysten vorlegen, bekundend, „wenn du mir zeigst, wie dieser Schritt zu erledigen ist, dann kann ich das Problem lösen und eine vollendete Sequenz aufbauen“. Der Systemanalyst kann dann eine Aufgabe an die Arbeitsablauffunktionseinheit bereitstellen, um die fehlende Verknüpfung auszuführen.
  • 10 veranschaulicht Probetestergebnisse. In einer beispielhaften Ausführungsform wurden drei Test genutzt, um die Leistung des Sequenzempfehlungsalgorithmus zu evaluieren: der Erinnerungstest, der Präzisionstest und der Lernkurventest.
  • Der Erinnerungstest ist ein Basislinientest um zu prüfen, ob der Algorithmus fähig ist, Sequenzen zu empfehlen, die unter den folgenden Bedingungen beobachtet wurden: 25.000 Sequenzen wurden unter drei Verteilungen mit bis zu drei codierten vorigen Schritten angelernt, Nutzen strenger Einschränkungen mit einem Schwellenwert von 0,9 um zu testen, ob jeder Schritt in einer angelernten Sequenz empfohlen werden kann. Die Tests zeigen, dass alle angelernten Sequenzen in Erinnerung gerufen wurden, ungeachtet der Anlerndatengrößen und Verteilungen.
  • Der Präzisionstest misst die Qualität der empfohlenen Sequenzen gemäß der folgenden Präzisionsdefinition: P r ä z i s i o n = N v a l i d N r e c o m m e n d e d
    Figure DE112017005538T5_0001
  • Wo Nvalid die Zahl empfohlener gültiger Sequenzen ist und Nrecommended die Gesamtzahl empfohlener Sequenzen ist. Zwei Sätze von Tests wurden genutzt, einer mit strengen Einschränkungen (Test I) und ein anderer mit lockeren Einschränkungen (Test II). In einer beispielhaften Ausführungsform enthält der Präzisionstest die folgenden Betriebe:
    1. 1. Zufälliges Erzeugen von Kontexten.
    2. 2. Anwenden strenger (Test I) oder lockerer (Test II) Einschränkungen und Schwellenwerte, um Nächster-Schritt-Kandidaten auszuwählen. Für Test I, Empfehlen von Schritten, die allen Kontexten und vorigen drei Schritten zugehörig sind. Für Test II, Empfehlen von Schritten, die mindestens einem Kontext und mindestens einem vorigen Schritt zugehörig sind.
    3. 3. Aufbauen von Sequenzen durch zufälliges Auswählen aus fünf Spitzenkandidaten bei jedem Schritt, bis die Endkennzeichnung empfohlen ist. Der Prozess gibt auf, falls der Empfehler eine Sequenz aufgrund entweder keiner gefundenen umsetzbaren Kandidaten oder dessen, dass zu viele Abzweigungen über einen vorbestimmten Schwellenwert hinaus ausprobiert wurden, nicht beenden kann.
    4. 4. Abschließen einer Sequenz, wenn die maximale Zahl an Schritten erreicht wurde, selbst falls die Endkennzeichnung nicht erreicht wurde.
    5. 5. Validieren empfohlener Sequenzen gegen die Regeln, die vom Sequenzerzeuger verwendet werden.
  • Die folgende Tabelle fasst die Ergebnisse der Präzisionstests mit Anlerndaten zusammen, die unter drei verschiedenen Verteilungsfunktionen erzeugt sind: Tabelle 1
    # Angelernt Test I - Strenges Übereinstimmen Test II - Lockeres Übereinstimmen
    (τ = 0,9) (τ = 0,5 bis 0,75)
    Log-Norm Normal Einheitlich Log-Norm Normal Einheitlich
    1000 0,99 1 0,974 0,402 0,517 0,352
    2000 0,99 0,996 0,995 0,592 0,586 0,446
    5000 0,983 0,997 0,996 0,928 0,667 0,643
    10000 1 0,995 1 0,929 0,626 0,488
    25000 0,994 1 1 0,969 0,608 0,347
  • Es wurde von den Testergebnissen beobachtet, dass, wenn die Schritte empfohlen werden, die allen Kontexten und den vorigen drei Schritten zugehörig sind (Test I), in ungefähr 60 % bis 68 % der Versuche vollendete Sequenzen innerhalb der Zeitgrenze empfohlen wurden. Ferner waren die empfohlenen Sequenzen fast zu 100 % gültig; für alle Verteilungen wurden alle empfohlenen gültigen Sequenzen zuvor beobachtet. Dies beantwortet die Frage, „falls ich einen neuen Arbeitsablauf basierend auf den gelernten Aufgaben anfrage, kann die Arbeitsablauffunktionseinheit einen gültigen Arbeitsablauf herstellen?“ Die Antwort war positiv, da die empfohlenen Arbeitsabläufe gültig waren, was beweist, dass die Arbeitsablauffunktionseinheit gültige Sequenzen erzeugen kann.
  • Der Präzisionstest mit lockerem Übereinstimmen benötig Übereinstimmen mindestens eines Kontexts und mindestens eines vorigen Schritts. Wenn Schritte empfohlen werden, die mindestens einem Kontext und mindestens einem vorigen Schritt zugehörig sind (Test II), wurde 100 % Vollendungsrate erzielt, wobei nahezu keine der empfohlenen Sequenzen zuvor beobachtet wurde. Zusätzlich variierte die Präzision abhängig von der Größe der Anlerndaten.
  • Der Lernkurventest maß die Präzision unter verschiedenen Anlerndatengrößen und Verteilungen. Diagramm 1002 veranschaulicht die Ergebnisse für den Lernkurventest, wo die x-Achse für die Zahl angelernter Sequenzen ist und die y-Achse für den Präzision-Wert ist. Die drei Kurven entsprechen den log-normalen, normalen und einheitlichen Verteilungen. Wie zu erwarten ist, funktioniert die log-normale Verteilung am besten, vorausgesetzt, dass die Auswahl des nächsten Schritts bevorzugt ist. Auf der anderen Seite trat die niedrigste Präzision auf, wenn die Auswahl einheitlich und zufällig war.
  • Die Lernkurven zeigen, dass die beste Präzision mit ungefähr angelernten 5000 Sequenzen erreicht wurde. Abhängig von der verwendeten Verteilung variierte die Präzision und fiel nach 5000 angelernten Sequenzen. Es wird angenommen, dass der Abfall aufgrund dessen ist, dass es mehr ungültige Kandidaten zur Auswahl unter denselben lockeren Einschränkungen gibt, wenn die Anlerndaten anwachsen. Die Abnahme der Präzision kann behoben werden, indem strengere Einschränkungen erforderlich sind, was eine Abwägung mit einer niedrigeren Rate zum Finden von Sequenzen impliziert.
  • Der vom Testen abgeleitete Schluss war, dass durch Anpassen der Zahl benötigter Einschränkungen und des Schwellenwerts zum Auswählen der Nächster-Schritt-Kandidaten, es möglich ist, die Gültigkeit und die Qualität der empfohlenen Sequenzen hin zu entweder reflektiven oder imaginativen Sequenzen zu steuern. Ferner benötigte der Anlernsatz etwa 5000 Sequenzen, es ist aber zu begrüßen, dass unter verschiedenen Umständen (Lernen von Sequenzen, ausgeführte Tests), die Zahl höher oder niedriger sein kann. Ferner ist die Aufgabenauswahl oft bevorzugt (log-normaler Verteilung folgend) und der Algorithmus behält eine hohe Empfehlungspräzision (größer als 92 %) über eine weite Spanne von Anlerndatengrößen unter der Verteilung bei.
  • 11 ist ein Ablaufdiagramm eines Verfahrens 1100 gemäß manchen beispielhaften Ausführungsformen zum Validieren des Arbeitsablaufempfehlers. Bei Betrieb 1102 wird eine Vielzahl von Anlernsequenzen durch die Arbeitsablauffunktionseinheit empfangen. In einer beispielhaften Ausführungsform werden die Anlernsequenzen durch den Sequenzerzeuger erzeugt.
  • Von Betrieb 1102 läuft das Verfahren 1100 zu Betrieb 1104, wo die Anlernsequenzen zerteilt werden, um eine Reihung von Schritten in jeder Anlernsequenz, Kontexten für jeden Schritt und Einschränkungen für jeden Schritt zu extrahieren. Bei Betrieb 1106 wird ein Maschinenlernalgorithmus angelernt, die Anlernsequenzen und die extrahierte Reihung von Schritten, Kontexten und Einschränkungen nutzend. Der Maschinenlernalgorithmus versucht einen nächsten Schritt anhand von vorigen Schritten, momentanen Kontexten, momentanen Einschränkungen und einem gewünschten Ergebnis vorherzusagen. In manchen beispielhaften Ausführungsformen enthält der Maschinenlernalgorithmus assoziative Erinnerungen, aber andere Ausführungsformen können andere Maschinenlernalgorithmen nutzen.
  • Von Betrieb 1106 läuft das Verfahren zu Betrieb 1116, um den Arbeitsablaufempfehler mit einem Teilsatz der Anlernsequenzen zu testen. Betrieb 1116 enthält Betriebe 1108, 1110, 1112 und 1114. Bei Betrieb 1108 sind eine Eingangssequenz und ein gewünschtes Ergebnis Eingänge in den Arbeitsablaufempfehler. Bei Betrieb 1110 wird der Maschinenlernalgorithmus genutzt, um einen Ausgangsarbeitsablauf durch iteratives Berechnen des nächsten Schritts aufzubauen, bis das gewünschte Ergebnis erreicht ist.
  • Von Betrieb 1110 läuft das Verfahren 1100 zu Betrieb 1112, um den Ausgangsarbeitsablauf mit der entsprechenden Anlernsequenz zu vergleichen. Bei Betrieb 1114 wird der Arbeitsablaufempfehler basierend auf dem Vergleich bei Betrieb 1112 für einen Teilsatz der Anlernsequenzen evaluiert.
  • 12 ist eine Hocharchitektur eines Systems zum Empfehlen von Arbeitsabläufen gemäß manchen beispielhaften Ausführungsformen. In Stufe 2 sind einige neue Merkmale eingeführt. In manchen beispielhaften Ausführungsformen wird der Ansatz für eine Arbeitsablaufempfehlung vom Arbeiten mit erzeugten Sequenzen zu tatsächlichem Empfehlen von Arbeitsabläufen, basierend auf lebensnahen Arbeitsablaufdaten geändert.
  • Wie hierin verwendet, sind lebensnahe Arbeitsablaufdaten, auch als reale Arbeitsabläufe bezeichnet, Daten für tatsächliche Arbeitsabläufe, die von Experten erzeugt werden, um lebensnahe Aufgaben auszuführen. Die realen Arbeitsabläufe werden zerteilt, um gerichtete Arbeitsablaufgraphen zu erstellen und die Reihung von Schritten einzurichten, die innerhalb des Arbeitsablaufs verwendet werden.
  • Zusätzlich werden bei jedem Schritt zusätzliche Eingangs- und Ausgangskontexte und bezogene Markierungen verfügbar gemacht, wie durch Verbinden des Ausgangs eines Schritts mit dem Eingang des nächsten Schritts und durch Herstellen eines Verzeichnisses beobachteter Komponenten, Verbindungen und Metadaten.
  • Zusätzlich wird die Arbeitsablauffunktionseinheit 306 verbessert, um mehrere gleichzeitige vorige oder nächste Schritte und Iterationsstrukturen zu lernen. Ferner werden die Arbeitsablaufempfehlungen verbessert durch: Anreichern von Anfragekontext mit benötigten Eingängen oder Ausgängen, Betreiben von Abfragen in entweder der Vorwärts- oder der Rückwärtsrichtung, Erfassen wiederholter Strukturen, um Iteratoren zu identifizieren, Aufbauen von Arbeitsabläufen durch Zusammenführen mehrerer Sequenzen und Eintragen der Eigenschaftsdetails für Arbeitsablaufkomponenten und Verknüpfungen.
  • Der Anwender exportiert bestehende Arbeitsablaufdateien 1204 als die Anlerndaten für die Arbeitsablauffunktionseinheit 306. Die Arbeitsablauffunktionseinheit 306 zerteilt die Arbeitsablaufdateien 1204, den Parser 1202 nutzend, und lernt die assoziativen Erinnerungen 314 an, die zerteilten Arbeitsablaufdateien nutzend.
  • Der Analyst lenkt den Arbeitsablaufaufbauer 1206 durch Zuleiten der Abfrage mit den Kontexten und anfänglichen Einschränkungen zum Erzeugen eines empfohlenen Arbeitsablaufs mit einem gewünschten Ergebnis. Der Arbeitsablaufempfehler 1210 empfiehlt die resultierenden Arbeitsabläufe 1208, die in Datenbank 314 gespeichert oder auf der Anwenderschnittstelle dargestellt werden können.
  • In manchen beispielhaften Ausführungsformen nutzen die Arbeitsablaufdateien 1204 das JSON-strukturierte Format zum Beschreiben der Arbeitsabläufe, aber andere Typen von Formaten können verwendet werden. Der Parser 1202 zerteilt die Arbeitsablaufdateien gemäß deren Format. Daher, anstatt eines Sequenzerzeugers wie in 3 beschrieben, wird der Parser 1202 verwendet, zum Beobachten der Struktur und Metadaten im Arbeitsablauf die Arbeitsablaufdateien 1204 mit zusätzlichen Attributen zu zerteilen.
  • Der verbesserte Arbeitsablaufaufbauer 1206 antwortet auf Eingabe eines Clients, Arbeitsablaufpläne zu erstellen. Der Ausgang 1208 ist, in einer beispielhaften Ausführungsform, im JSON-Format, das Komponenten und Verbindungsinformationen für den empfohlenen Arbeitsablauf beinhaltet.
  • Der Arbeitsablaufempfehler 1210 stellt einen gerichteten Graphen von Schritten her (enthaltend Iterationsstrukturen, falls vorhanden), die die vorgegebenen Einschränkungen einhalten. Reale Arbeitsablaufdaten zu verwenden fügt aufgrund zusätzlicher Metadaten und Eingangs-/Ausgangseinschränkungen, die zwischen Schritten definiert sein können, Komplexität hinzu.
  • Um zu validieren, dass der Arbeitsablaufempfehler 1210 mit realen Daten arbeiten kann, wurden unterschiedliche Arbeitsabläufe, die analytische Aufgaben ausführen, als die Anlerndaten hergestellt. Nach dem Anlernen wurde verifiziert, dass der Arbeitsablaufempfehler 1210 fähig war, gültige Arbeitsablaufpläne, die die Anlernarbeitsabläufe enthalten, für eine vorgegebene Aufgabe mit spezifizierten Kontexten und Einschränkungen auszugeben. Die Arbeitsablaufmodelle, die zum Anlernen von Daten verwendet wurden, deckten eine breite Spanne an Aufgaben und Daten ab, wie georäumliche, SQL, Volkszählung, Satzüberschneidung, Keyhole Markup Language (KML), Ellipsengeometrie, Arithmetik, Datenmanipulation und Datenumwandlung.
  • 13 ist ein Ablaufdiagramm eines Verfahrens 1300 gemäß manchen beispielhaften Ausführungsformen zum Empfehlen von Arbeitsabläufen. Bei Betrieb 1302 werden Arbeitsablaufdaten erhalten (z.B. Arbeitsablaufdateien 1204 von 12). Von Betrieb 1302 läuft das Verfahren 1300 zu Betrieb 1304, wo die Arbeitsablauffunktionseinheit mit den Arbeitsablaufdaten angelernt wird.
  • Von Betrieb 1304 läuft das Verfahren 1300 zu Betrieb 1306 zum Aufbauen von Sequenzen Schritt-für-Schritt, basierend auf Kontext, Einschränkungen und verfügbaren teilweisen Sequenzen. Bei Betrieb 1308 werden die Sequenzen Schritt-für-Schritt aufgebaut, bis alle Bedingungen eingehalten sind. Von Betrieb 1308 läuft das Verfahren 1300 zu Betrieb 1310, wo die beste Sequenz aus mehreren aufgebauten Kandidatensequenzen ausgewählt wird. Bei Betrieb 1312 wird eine Sequenz basierend auf der ausgewählten besten Sequenz empfohlen. Zusätzlich kann ein Arbeitsablauf basierend auf der ausgewählten Sequenz empfohlen werden.
  • Zum Beispiel wird eine Sequenz zum „Eröffnen eines Restaurants in San Francisco“ gewünscht. Der letzte Schritt kann sein, das Restaurant zu eröffnen, aber vor Eröffnung des Restaurants kann es nötig sein, eine Lizenz zu erwerben, die Einrichtung zu kaufen, das Restaurant zu bauen, die Lebensmittel einzubringen, die Kellner anzulernen usw. In einer beispielhaften Ausführungsform ist es möglich, sich vom letzten Schritt „eröffne Restaurant“ zurückzubewegen und die vorigen Schritte herauszufinden, die nötig sind, um zu diesem letzten Schritt zu gelangen.
  • Der Analyst kann mit weiteren Verfeinerungen wieder an das Werkzeug herantreten, weil die Ergebnisse nicht wie erwartet waren, z.B. es kamen nicht genug Kunden zum Restaurant. Obwohl die Sequenz korrekt gewesen sein kann, in der ein Restaurant eröffnet wurde, kann der Analyst zusätzliche Einschränkungen hinzufügen, um bessere Ergebnisse zu bekommen, wie „entwickle eine Werbekampagne“ oder „baue Restaurant in der Stadt mit mehr als 1 Million Einwohnern“. Deshalb kann in manchen Fällen der Prozess iterativ sein, bis der gewünschte Arbeitsablauf erhalten wird. Ferner können Metadaten zu den Eingängen hinzugefügt werden. Zum Beispiel kann der Eigentümer einen Namen, eine Adresse und eine Telefonnummer bereitstellen, die nicht notwendigerweise auf Eröffnung eines Restaurants bezogen sind, aber Informationen sind, die sich auf die Aufgabe beziehen.
  • Während unterschiedliche Betriebe in diesem Ablaufdiagramm vorliegen und sequenziell beschrieben sind, wird der Durchschnittsfachmann begrüßen, dass manche oder alle der Betriebe in einer verschiedenen Reihung durchgeführt, kombiniert oder ausgelassen oder parallel ausgeführt werden können.
  • 14 veranschaulicht die relativen Attribute, die für jeden der Schritte in einer Sequenz definiert sind gemäß manchen der beispielhaften Ausführungsformen. Bei Stufe 2 kann eine Aufgabe mehr als einen Vorgänger haben. Im Beispiel von 14 hat Aufgabe 1408 zwei Vorgänger: Aufgabe A 1404 und Aufgabe B 1406. Sowohl Aufgabe A 1404 als auch Aufgabe B 1406 haben Ausgänge, die mit jeweiligen Eingängen von Aufgabe C 1408 verbunden sind.
  • Wenn diese teilweise Sequenz 1402 codiert wird, haben sowohl Aufgaben A 1404 als auch B 1406 nexl:C, weil Aufgabe C 1408 die nächstfolgende Aufgabe ist. Ferner hat Aufgabe C 1408 zwei prev1 Felder, prevl:A und prev1:B, um die zwei unmittelbaren Vorgänger anzuzeigen. Ferner hat Aufgabe D 1410 zwei prev2 Felder: prev2:A und prev2:B.
  • 15 veranschaulicht die Zuteilung von Eigenschaftsattributen zu Komponenten und Verknüpfungen gemäß manchen beispielhaften Ausführungsformen. Eigenschaftsattribute können für Verknüpfungen zwischen Aufgaben und für die Aufgaben definiert sein. Für jede Komponente gibt es zusätzliche Attribute, die die Namen und Typen der Eingang/Ausgang-Parameter darstellen. Ferner kann für jede Verknüpfung das folgende definiert werden: Verbindungstyp, Quellen- und Zielparameter und die Quellen- und Zielkomponenten, die diese Parameter beinhalten. Selbstverständlich müssen Eingänge, die mit Ausgängen verbunden sind, übereinstimmen, ansonsten wird die Sequenz nicht gültig sein. Falls eine Aufgabe eine Ganzzahl braucht, muss die Aufgabe eine Ganzzahl empfangen und andere Eingangstypen (z.B. eine reelle Zahl) würde nicht funktionieren, diese Aufgaben miteinander zu verbinden.
  • 15 veranschaulicht die Definition von Attributen, wobei C 1508 die momentane Aufgabe ist, Aufgaben A 1504 und B 1506 die vorigen Aufgaben sind und Aufgabe D 1510 die nächste Aufgabe ist. Zum Beispiel enthält Verknüpfung 1502, die den Ausgang von Aufgabe A 1504 mit dem Eingang von Aufgabe C 1508 verknüpft, die folgenden Attribute: (Quellenkomponente: A), (Zielkomponente: C), (Quellenparameter: ABC), (Zielparameter: XYZ) und (Typ: Tabelle). Dies bedeutet, dass der Quellenparameter ABC von Aufgabe A 1504 als die Quelle bereitgestellt ist, wobei ABC eine Tabelle ist, die mit Parameter XYZ bei Aufgabe C 1508 gekoppelt ist.
  • Ferner ist Aufgabe C 1508 mit dem folgenden Eingang codiert 1512: (Eingangsparameter: XYZ), (Eingangstyp: Tabelle), (benötigter Eingang: wahr). Der Ausgang ist codiert 1512 als: (Ausgang: FOO), (Ausgangstyp: list.string) und (benötigter Ausgang: wahr).
  • Es ist angemerkt, dass die in 15 veranschaulichten Ausführungsformen Beispiele sind und nicht jede mögliche Ausführungsform beschreiben. Andere Ausführungsformen können verschiedene Codierungen, verschiedene Typen, verschiedene Nomenklatur usw. nutzen. Die in 15 veranschaulichten Ausführungsformen sollten deshalb nicht als ausschließend oder begrenzend interpretiert werden, sondern viel mehr als veranschaulichend.
  • 16 veranschaulicht, wie Arbeitsablaufkomponenten gemäß manchen beispielhaften Ausführungsformen zu verbinden sind. Sequenzen können Schritt-für-Schritt, entweder vorwärts oder rückwärts gehend, angesichts bestimmter Eingangsparameter entworfen werden. In manchen beispielhaften Ausführungsformen ist das Entwerfen der Sequenz durch Zerlegen des ursprünglichen Problems in die Teilprobleme mit aktualisierten Kontexten und Zielen in Teilprobleme aufgebrochen. Das System schreitet dann dazu fort, all die Teilprobleme zu lösen.
  • 16 veranschaulicht ein Problem Komponenten A 1602 mit Komponente B 1604 zu verbinden. Der Ausgang 1612 von Komponente A 1602 wird auf Kompatibilität mit dem Eingang 1614 bei Komponente B 1604 geprüft. Falls der Eingang 1612 und Ausgang 1614 vom selben Typ 1616 (z.B. ein String) sind, dann ist eine Lösung des Problems, A 1602 direkt mit B 1604 zu verbinden, obwohl andere Lösungen existieren können. A 1602 direkt mit B 1604 zu verbinden kann die optimale Lösung sein, oder nicht, abhängig von Kontexten und Einschränkungen.
  • Wenn das Problem gelöst ist, berechnet die Ablauffunktionseinheit die Wahrscheinlichkeit, dass jede Komponente die richtige Komponente für den nächsten Schritt ist (oder für den vorigen Schritt, falls rückwärtsgegangen wird). In diesem Fall wird eine Bewertung für die Wahrscheinlichkeit berechnet, dass A 1602 mit B 1604 zu verbinden die beste Lösung ist. Falls es eine bessere Lösung zum Verbinden von A 1602 mit B 1604 gibt, dann kann der Arbeitsablaufempfehler eine Komponente oder eine Teilsequenz zwischen A 1602 und B 1604 einfügen, selbst wenn eine direkte Verbindung möglich ist.
  • In manchen beispielhaften Ausführungsformen basiert der Wert auf der Häufigkeit, mit der diese Verbindung vom System (z.B. aus den Anlerndaten) und den umgebenden Parametern für A 1602 und B 1604 beobachtet wurde. Falls das System diese Verbindung einige Male (oder viele Male) gesehen hat, dann wird die Verbindung eine höhere Bewertung erhalten, weil diese, basierend auf Erfahrung, eine gute einzugehende Verbindung ist.
  • Auf der anderen Seite, falls der Ausgang 1612 von A 1602 vom Eingang 1614 von B 1604 verschieden ist 1618, muss eine Komponente oder eine Teilsequenz 1606 zwischen ihnen hinzugefügt werden, wie die Komponente oder Teilsequenz 1606, die einen Eingang hat, der mit dem Ausgang 1612 von A 1602 kompatibel ist, und einen Ausgang hat, der mit dem Eingang 1614 von B 1604 kompatibel ist. In manchen beispielhaften Ausführungsformen wird der Maschinenlernalgorithmus genutzt um zu identifizieren, welche Komponente zwischen A 1602 und B 1604 enthalten sein sollte.
  • 17 zeigt einen Arbeitsablauf mit einer Iterationsstruktur gemäß einer beispielhaften Ausführungsform. Während des Entwerfens einer Sequenz ist es vorteilhaft, Strukturen zu wiederholen, um zu verhindern, in unendliche Schleifen zu fallen.
  • Im Beispiel von 17 enthält Sequenz 1710 eine wiederholende Struktur 1712, wo Komponenten C und E sich abwechseln. In einer beispielhaften Ausführungsform ist die wiederholende Struktur durch Einschließen der Struktur in Klammern und Hinzufügen eines „*“ Zeichens nach der geschlossenen Klammer dargestellt. Ferner, um eine Sequenz als Text darzustellen, ist die Sequenz als die Komponenten dargestellt, die durch „->“ (einen Pfeil) getrennt sind. Deshalb kann Sequenz 1710, die Schritte 1702, 1704, 1710 und 1708 enthält, in einem String als A->B->(C-E)*->D dargestellt sein.
  • Grafisch kann die Iteration in manchen beispielhaften Ausführungsformen als eine Komponente 1710 für Aufgabe E mit Komponente C 1706 darin eingebettet dargestellt sein. Bei dieser Stufe sind in manchen beispielhaften Ausführungsformen mehrere empfohlene Sequenzen 1816 in einen einzelnen Arbeitsablauf 1800 zusammengeführt. Dies vereinfacht die Anwenderschnittstelle, da die Darstellung des Arbeitsablaufs klar wird, anstatt dieselbe Struktur mehrere Male wiederholen zu müssen.
  • 18 veranschaulicht, wie ein Arbeitsablauf von möglichen Sequenzen gemäß manchen beispielhaften Ausführungsformen aufzubauen ist. Bei dieser Stufe sind in manchen beispielhaften Ausführungsformen mehrere empfohlene Sequenzen 1816 zu einem einzelnen Arbeitsablauf 1800 zusammengeführt. Im Beispiel von 18 sind fünf Sequenzen empfohlen: A->C->D->G; A->C->F->G; B->C->D->G; B->C->F->G; und E->D->G.
  • In einer beispielhaften Ausführungsform beginnt das Entwerfen des Arbeitsablaufs mit einem der längsten Pfade (z.B. A->C->D->G), der als der Hauptentwicklungszweig bezeichnet ist. Deshalb enthält der anfängliche Arbeitsablauf Komponenten A 1804, C 1806, D 1810 und G 1814. Danach werden andere Pfade hinzugefügt, die sich dadurch mit dem Hauptentwicklungszweig so weit wie möglich ausrichten, dass sie die längste Spanne überlappender Schritte zwischen dem momentanen Arbeitsablauf und der hinzuzufügenden neuen Sequenz identifizieren. Dann wird der Rest nichtüberlappender Komponenten als Zweige zum Hauptentwicklungszweig hinzugefügt.
  • A->C->F->G wird als nächstes hinzugefügt, weshalb Komponente F 1812 zum Arbeitsablauf 1800 hinzugefügt wird und dann F 1812 zwischen V 1806 und G 1814 verbunden wird. Die nächste hinzugefügte Sequenz ist B->C->D->G und da C->D->G bereits vorliegt, wird B 1802 zum Arbeitsablauf hinzugefügt und die benötigten Eingänge und Ausgänge werden dann verbunden. B->C->F->G wird als nächstes hinzugefügt, was keine Änderungen der Arbeitsabläufe benötigt, da die Sequenz bereits im Arbeitsablauf ist. Zuletzt wird die Sequenz E->D->G hinzugefügt und da D->G bereits existiert, wird E 1808 zum Arbeitsablauf 1800 hinzugefügt und der Ausgang von E 1808 wird mit dem Eingang von D 1810 verbunden.
  • In einer beispielhaften Ausführungsform ist dem Anwender die Steuerung gegeben zu entscheiden, ob eine Sequenz zusammengeführt wird oder nicht. Zum Beispiel kann der Anwender entscheiden, dass der Anwender Komponente E 1808 nicht möchte, also wird Sequenz E->D->G nicht zum Arbeitsablauf 1800 hinzugefügt.
  • In einer beispielhaften Ausführungsform, wenn all die Sequenzen zusammengeführt sind, gibt der Arbeitsablaufempfehler den Arbeitsablauf 1800 in einem vordefinierten Format, wie demselben Format, das verwendet wird, um den Eingang zu empfangen, für weitere stromabwärtige Verarbeitung aus.
  • 19 veranschaulicht eine beispielhafte Ausführungsform einer Arbeitsablaufaufbauer-Konsolenanwendung. Um Testen und Erzeugen von Arbeitsabläufen zu erleichtern, wurde eine Konsolenanwendung entwickelt, um sowohl schrittweise als auch stapelweise Arbeitsablauferstellung auszuführen. Die Befehle, die von der Konsolenanwendung in einer beispielhaften Ausführungsform unterstützt werden, sind in Tabelle 2 unterhalb aufgelistet. Tabelle 2
    Befehl [arg] Beschreibung Beispiel
    Q Beenden der Anwendung
    H Anzeigen des Hilfsmenüs
    Konfigurieren von Einschränkungen
    (+|-)t [tags] Hinzufügen/Löschen von Markierung(en) +t geo, sql
    (+|-)rt [tags] Hinzufügen/Löschen benötigter Markierungen +rt sql
    (+|-)i [types] Hinzufügen/Löschen benötigter Eingangstypen +i integer
    (+|-)o [types] Hinzufügen/Löschen benötigter Ausgangstypen +o string
    +c [index] Hinzufügen einer einzuplanenden Komponente zur empfohlenen Liste über den Index (Standard=0) +c 0
    -c [f|b] Löschen zuletzt hinzugefügter Komponente in Vorwärts- oder Rückwärts-Abfragerichtung -c b
    Zurücksetzen von Einschränkungen
    xt Entfernen aller Markierungen
    xr Entfernen aller benötigten Markierungen
    xi Entfernen aller Eingangstypen
    xo Entfernen aller Ausgangstypen
    xn Entfernen aller Komponenten, die in der nächsten Sequenz gespeichert sind
    xp Entfernen aller Komponenten, die in der nächsten Sequenz gespeichert sind
    xc Aufheben aller Einschränkungen (Markierungen, Eingänge/Ausgänge)
    Anzeigeinformationen
    lc Liste der momentan empfohlenen Komponentenliste
    lw Liste aller eingebauten Testarbeitsablaufnamen
    pp Drucken der momentanen Arbeitsablaufpläne
    pc [index] Drucken der Komponentendefinition in der empfohlenen Liste über ihren Index (Standard=0) pc 0
    Einstellungs-/Druckparameter
    sv {bool} Einstellen/Drucken einer Zusammenfassungsansicht (wahr/falsch) sv false
    rlx {bool} Einstellen/Drucken eines Lockerungs-Flags (wahr/falsch) rlx true
    nr {num} Einstellen/Drucken der Anzahl von Abfrageergebnissen
    spc {name} Einstellen/Drucken des SMB Raumnamens
    prv {num} Einstellen/Drucken maximal zulässiger voriger Schritte (<=3)
    nxt {num} Einstellen/Drucken maximal zulässiger nächster Schritte (<=3)
    Empfehlung von Schritt/Arbeitsablauf
    F 1-Schritt vorausschauen unter Verwendung der momentanen Einschränkungen
    b 1-Schritt zurückschauen unter Verwendung der momentanen Einschränkungen
    fw {workflow} Aufbauen von Arbeitsablauf vorwärts unter Verwendung der momentanen Einschränkungen oder existierender Testarbeitsablaufeinschränkungen
    bw {workflow} Aufbauen von Arbeitsablauf rückwärts unter Verwendung der momentanen Einschränkungen oder existierender Testarbeitsablaufeinschränkungen
    jp {path} Exportieren momentaner Arbeitsablaufpläne in JSON-Format zur Konsole (Standard) oder einem Dateipfad
    Jw {folder} Exportieren zusammengeführter Arbeitsablaufpläne in einem JEMA JSON-Archiv zu einem Ordner (Standardordner=„.“)
  • Schnittstelle 1914 veranschaulicht eine beispielhafte Schnittstelle zum Eingeben von Zeilenbefehlen für den oben gezeigten Arbeitsablauf 1900, der Zensusdaten verarbeitet. In der beispielhaften Ausführungsform enthält Arbeitsablauf 1900 Schritte 1902 - 1907. Es wird angemerkt, dass die Anwendung mit dem Anwender interagieren kann, um Schritt-für-Schritt Sequenzen zu entwerfen oder einen Befehl zu empfangen, um die vollständige Sequenz ohne weiteren Anwendereingang zu entwerfen.
  • In anderen beispielhaften Ausführungsformen (nicht gezeigt), kann die Anwenderschnittstelle Eingangsfelder zum Eingeben der unterschiedlichen Eingangswerte enthalten oder Befehlsoptionen enthalten, die dedizierte Anwenderschnittstellen zum Ausführen von Arbeitsablaufempfehlerbetrieben öffnen.
  • 20 ist ein System 2002 zum Implementieren beispielhafter Ausführungsformen. In einer beispielhaften Ausführungsform enthält das System 2002 eine Anwenderschnittstelle 2004, ein assoziatives Gedächtnis 2008, einen Arbeitsablaufempfehler 1210, eine Arbeitsablauftestung und -Evaluierung 310, eine Arbeitsablauffunktionseinheit 306, einen Parser 1202, einen Arbeitsablaufaufbauer 1206 und eine Sequenzdatenbank 314. Die Anwenderschnittstelle 2004 stellt Zugang zur Systemfunktionalität bereit, wie die in 9 und 19 beschriebenen Anwenderschnittstellen.
  • Das assoziative Gedächtnis 2008 ist ein Maschinenlernalgorithmus zum Entwerfen von Sequenzen und Arbeitsabläufen. Der Arbeitsablaufempfehler 1210 empfiehlt Arbeitsabläufe, wie oben in Bezug auf 12 veranschaulicht. Der Arbeitsablauftestung und -Evaluierung 310 wird verwendet, um die Gültigkeit der Arbeitsablauffunktionseinheit 306 zu beurteilen, wie oben in Bezug auf 3 beschrieben.
  • Die Arbeitsablauffunktionseinheit 306 interagiert mit anderen Modulen, wie dem assoziativen Gedächtnis 2008, um Sequenzen zu entwerfen, wie oben in Bezug auf 3 besprochen. Der Parser 1202 wird verwendet, um Arbeitsablaufdateien zu zerteilen und der Arbeitsablaufaufbauer 1206 baut Arbeitsabläufe auf, wie oben in Bezug auf 12 veranschaulicht. Die Sequenzdatenbank 314 wird genutzt, um Sequenzen und Arbeitsabläufe zu speichern, wie Anlernsequenzen, empfohlene Sequenzen und Arbeitsabläufe.
  • Es wird angemerkt, dass die in 20 veranschaulichten Ausführungsformen Beispiele sind und nicht jede mögliche Ausführungsform beschreiben. Andere Ausführungsformen können verschiedene Module, weniger Module nutzen, die Funktionalität von zwei oder mehr Modulen kombinieren usw. Die Ausführungsformen von 20 sollten deshalb nicht als ausschließend oder begrenzend, sondern viel mehr als veranschaulichend interpretiert werden.
  • 21 ist ein Ablaufdiagramm eines Verfahrens 2100 zum Erzeugen von Arbeitsabläufen, durch ein Computerprogramm, für eine gewünschte Aufgabe. Betrieb 2102 dient zum Anlernen eines Maschinenlernalgorithmus, eine Vielzahl von Lernsequenzen nutzend. Jede Lernsequenz enthält einen Lernkontext, mindestens einen Lernschritt und ein Lernergebnis.
  • Von Betrieb 2102 läuft das Verfahren 2100 zu Betrieb 2104, wo der Maschinenlernalgorithmus eine Arbeitsablaufdefinition empfängt, die mindestens einen Eingangskontext und ein gewünschtes Ergebnis enthält, wobei der Eingangskontext mindestens eine Eingangseinschränkung enthält. Von Betrieb 2104 läuft das Verfahren 2100 zu Betrieb 2106, wo der Maschinenlernalgorithmus mindestens eine Ergebnissequenz erzeugt, die die Arbeitsablaufdefinition implementiert, wobei jede Ergebnissequenz eine Vielzahl von Schritten enthält.
  • Von Betrieb 2106 läuft das Verfahren 2100 zu Betrieb 2108, wo der Maschinenlernalgorithmus eine Sequenz als die beste Sequenz auswählt. Bei Betrieb 2110 wird die ausgewählte Ergebnissequenz auf einer Anzeige dargestellt. Siehe zum Beispiel die in 9 und 19 dargestellten Anwenderschnittstellen.
  • Während die unterschiedlichen Betriebe in diesem Ablaufdiagramm sequenziell dargestellt und beschrieben sind, wird der Durchschnittsfachmann begrüßen, dass manche oder alle der Betriebe in einer verschiedenen Reihung durchgeführt, kombiniert oder ausgelassen oder parallel durchgeführt werden können.
  • 22 ist ein Blockdiagramm, das ein Beispiel einer Maschine 2200 veranschaulicht, auf der eine oder mehrere beispielhafte Ausführungsformen implementiert werden können. In alternativen Ausführungsformen kann die Maschine 2200 als ein eigenständiges Gerät arbeiten oder mit anderen Maschinen verbunden sein (z.B. vernetzt). In einem vernetzten Einsatz kann die Maschine 2200 in der Kapazität einer Servermaschine, einer Client-Maschine oder in beiden Server-Client-Netzwerkumgebungen arbeiten. In einem Beispiel kann die Maschine 2200 als eine Peer-Maschine in einer Peer-zu-Peer (P2P) (oder anders verteilten) Netzwerkumgebung agieren. Die Maschine 2200 kann ein Privatcomputer (PC), ein Tablet-PC, eine Set-Top-Box (STB), ein persönlicher digitaler Assistent (PDA), ein Mobiltelefon, eine Webanwendung, ein Netzwerkrouter, ein Schalter oder eine Brücke oder irgendeine Maschine sein, die fähig ist, Anweisungen (sequenziell oder anders), die von der Maschine vorzunehmende Handlungen spezifizieren, durchzuführen. Ferner, während nur eine einzelne Maschine veranschaulicht ist, sollte der Ausdruck „Maschine“ auch verstanden werden, jede Sammlung von Maschinen zu enthalten, die individuell oder verknüpft einen Satz (oder mehrere Sätze) von Anweisungen durchführen, um irgendeine oder mehrere der hierin besprochenen Methodologien auszuführen, wie Cloud-Computing, Software als ein Service (Software as a Service, Saas) oder andere Computerclusterkonfigurationen.
  • Beispiele, wie hierin beschrieben, können Logik oder eine Zahl an Komponenten oder Mechanismen enthalten oder davon betrieben sein. Schaltung ist eine Sammlung von Schaltkreisen, die in greifbaren Entitäten implementiert sind, die Hardware (z.B. einfache Schaltkreise, Gates, Logik usw.) enthalten. Schaltungszugehörigkeit kann im Laufe der Zeit flexibel sein und Hardwarevariabilität unterliegen. Schaltungen enthalten Bauteile, die allein oder in Kombination spezifizierte Betriebe ausführen, wenn sie arbeiten. In einem Beispiel kann Hardware oder die Schaltung unveränderlich gestaltet sein, einen spezifischen Betrieb zu vollziehen (z.B. festverdrahtet). In einem Beispiel kann die Hardware der Schaltung variabel verbundene physische Komponenten enthalten (z.B. Durchführungseinheiten, Transistoren, einfache Schaltkreise usw.), enthaltend ein computerlesbares Medium, das physisch modifiziert ist (z.B. magnetisch, elektrisch, bewegliche Platzierung invariant gehäufter Partikel usw.), um Anweisungen des spezifischen Betriebs zu codieren. Durch Verbinden der physischen Komponenten werden die zugrundeliegenden elektrischen Eigenschaften eines Hardwarebestandteils geändert, zum Beispiel von einem Isolator zu einem Leiter oder umgekehrt. Die Anweisungen ermöglichen eingebetteter Hardware (z.B. Durchführungseinheiten oder Lademechanismus), Bauteile der Schaltung in Hardware über die variablen Verbindungen zu erzeugen, um Abschnitte des spezifischen Betriebs zu vollziehen, wenn in Betrieb. Dementsprechend ist das computerlesbare Medium kommunikativ mit den anderen Komponenten der Schaltung gekoppelt, wenn die Vorrichtung betrieben wird. In einem Beispiel kann irgendeine der physischen Komponenten in mehr als einem Bauteil von mehr als einer Schaltung verwendet werden. Zum Beispiel können Durchführungseinheiten in Betrieb in einem ersten Schaltkreis einer ersten Schaltung zu einem Zeitpunkt verwendet werden und durch einen zweiten Schaltkreis in der ersten Schaltung oder durch einen dritten Schaltkreis in einer zweiten Schaltung zu einer anderen Zeit wiederverwendet werden.
  • Maschine (z.B. Computersystem) 2200 kann einen Hardwareprozessor 2202 (z.B. eine zentrale Verarbeitungseinheit (Central Processing Unit, CPU), eine Grafikverarbeitungseinheit (Graphics Processing Unit, GPU), einen Hardwareprozessorkern oder eine Kombination davon), einen Arbeitsspeicher 2204 und einen statischen Speicher 2206 enthalten, von denen manche oder alle miteinander über eine Zwischenverknüpfung (z.B. Bus) 2208 kommunizieren können. Die Maschine 2200 kann ferner eine Anzeigeeinheit 2210, ein alphanumerisches Eingabegerät 2212 (z.B. eine Tastatur) und ein Anwenderschnittstellen- (User Interface, UI) -Navigationsgerät 2214 (z.B. eine Maus) enthalten. In einem Beispiel können die Anzeigeeinheit 2210, das Eingabegerät 2212 und UI-Navigationsgerät 2214 eine Berührungsbildschirmanzeige sein. Die Maschine 2200 kann zusätzlich ein Datenspeichergerät (z.B. Laufwerkeinheit) 2216, ein Signalerzeugungsgerät 2218 (z.B. einen Lautsprecher), ein Netzwerkschnittstellengerät 2220 und einen oder mehr Sensoren 2221 enthalten, wie einen globales Positionierungssystem (GPS) Sensor, Kompass, Beschleunigungsmesser oder anderen Sensor. Die Maschine 2200 kann eine Ausgangssteuerung 2228 enthalten, wie eine serielle (z.B. Universal Serial Bus (USB), parallele oder andere verdrahtete oder drahtlose (z.B. Infrarot (IR), Nahfeldkommunikation-, (Near Field Communication, NFC) usw.), Verbindung, um mit einem oder mehreren peripheren Geräten (z.B. einen Drucker, Kartenleser usw.) zu kommunizieren oder sie zu steuern.
  • Das Datenspeichergerät 2216 kann ein maschinenlesbares Medium 2222 enthalten, auf dem ein oder mehr Sätze von Datenstrukturen oder Anweisungen 2224 (z.B. Software) gespeichert sind, die von irgendeiner oder mehreren hierin beschriebenen Techniken oder Funktionen ausgestaltet oder genutzt werden. Die Anweisungen 2224 können während Durchführung durch die Maschine 2200 auch vollständig oder mindestens teilweise innerhalb des Arbeitsspeichers 2204, innerhalb des statischen Speichers 2206 oder innerhalb des Hardwareprozessors 2204 liegen. In einem Beispiel können einer oder eine Kombination des Hardwareprozessors 2202, des Arbeitsspeichers 2204, des statischen Speichers 2206 oder des Datenspeichergeräts 2216, maschinenlesbare Medien darstellen.
  • Während das maschinenlesbare Medium 2222 als ein einzelnes Medium veranschaulicht ist, kann der Ausdruck „maschinenlesbares Medium“ ein einzelnes Medium oder mehrere Medien enthalten (z.B. eine zentralisierte oder verteilte Datenbank und/oder zugehörige Caches und Server), die konfiguriert sind, die eine oder mehreren Anweisungen 2224 zu speichern.
  • Der Ausdruck „maschinenlesbares Medium“ kann irgendein Medium enthalten, das fähig ist, Anweisungen 2224 zur Durchführung durch die Maschine 2200 zu speichern, zu codieren oder zu tragen, und die die Maschine 2200 veranlassen, irgendeine oder mehrere der Techniken der vorliegenden Offenbarung auszuführen, oder das fähig ist, Datenstrukturen zu speichern, zu codieren oder zu tragen, die von solchen Befehlen 2224 verwendet werden können oder diesen zugehörig sind. Nichtbegrenzende Beispiele von maschinenlesbarem Medium können Festzustandsspeicher und optische und magnetische Medien enthalten. In einem Beispiel umfasst ein angehäuftes maschinenlesbares Medium ein maschinenlesbares Medium 2222 mit einer Vielzahl von Partikeln mit unveränderlicher (z.B. Ruhe-) Masse. Dementsprechend sind angehäufte maschinenlesbare Medien nichttransitorische Propagationssignale. Spezifische Beispiele angehäufter maschinenlesbarer Medien können enthalten: nichtflüchtigen Speicher, wie Halbleiterspeichergeräte (z.B. elektrisch programmierbaren Nur-Lese-Speicher (Electrically Programmable Read-Only Memory, EPROM), elektrisch löschbaren programmierbaren Nur-Lese-Speicher (Electrically Erasable Programmable Read-Only Memory, EEPROM)) und Flashspeichergeräte; magnetische Datenträger, wie interne Festplatten und entfernbare Datenträger; magneto-optische Datenträger; und CD-ROM und DVD-ROM-Datenträger.
  • Die Anweisungen 2224 können ferner über ein Kommunikationsnetzwerk 2226 unter Verwendung eines Übertragungsmediums über das Netzwerkschnittstellengerät 2220 gesendet oder empfangen werden, eine beliebige Zahl an Transferprotokollen (z.B. Framerelais, Internetprotokoll (IP), Übertragungssteuerprotokoll (Transmission Control Protocol, TCP), Anwenderdatengrammprotokoll (User Datagram Protocol, DU), Hypertexttransferprotokoll (HTTP) usw.) nutzend. Beispielhafte Kommunikationsnetzwerke können unter anderem ein Lokalnetzwerk (Local Area Network, LAN), ein Großraumnetzwerk (Wide Area Network, WAN), ein Paketdatennetzwerk (z.B. das Internet), Mobiltelefonnetzwerke (z.B. Zellnetzwerke), analoge Telefondienst- (Plain Old Telephone, POTS) -Netzwerke und drahtlose Datennetzwerke (z.B. Institute of Electrical and Electronics Engineers (IEEE) 802.11 Familie von Standards, bekannt als Wi-Fi®, IEEE 802.16 Familie von Standards, bekannt als WiMax®), IEEE 802.15.4 Familie von Standards, Peer-zu-Peer (P2P) Netzwerke enthalten. In einem Beispiel kann das Netzwerkschnittstellengerät 2220 einen oder mehr physische Buchsen (z.B. Ethernet, koaxial oder Kopfhörerbuchsen) oder eine oder mehr Antennen, um sich mit dem Kommunikationsnetzwerk 2226 zu verbinden, enthalten. In einem Beispiel kann das Netzwerkschnittstellengerät 2220 eine Vielzahl von Antennen enthalten, um unter Verwendung mindestens von Einzel-Eingang-Mehrfach-Ausgang (Single-Input Multiple-Output, SIMO), Mehrfach-Eingang-Mehrfach-Ausgang (Multiple-Input Multiple-Output, MIMO) oder Mehrfach-Eingang-Einzel-Ausgang (Multiple-Input Single-Output, MISO) Techniken drahtlos kommunizieren. Der Ausdruck „Übertragungsmedium“ sollte angenommen werden, jedes nichtgreifbare Medium zu enthalten, das fähig ist, Anweisungen 2224 zur Durchführung durch die Maschine 2200 zu speichem, zu codieren oder zu tragen, und enthält digitale oder analoge Kommunikationssignale oder andre nichtgreifbare Medien, um Kommunikation solcher Software zu erleichtern.
  • Zusätzliche Anmerkungen & Beispiele
  • Beispiel 1 ist ein System zum Entwerfen eines Arbeitsablaufs, wobei das System umfasst. eine Arbeitsablauffunktionseinheit zum: Anlernen eines Maschinenlernalgorithmus, der eine Vielzahl von Lernsequenzen nutzt, wobei jede Lernsequenz einen Lernkontext, mindestens einen Lernschritt und ein Lernergebnis umfasst; Empfangen einer Arbeitsablaufdefinition, die mindestens einen Eingangskontext und ein gewünschtes Ergebnis enthält, wobei der Eingangskontext mindestens eine Eingangseinschränkung enthält; Erzeugen, den Maschinenlernalgorithmus nutzend, mindestens einer Ergebnissequenz, die die Arbeitsablaufdefinition implementiert, wobei jede Ergebnissequenz eine Vielzahl von Schritten enthält; und Auswählen einer der mindestens einen Ergebnissequenz; und einen Arbeitsablaufempfehler, um die ausgewählte Ergebnissequenz zu veranlassen, auf einer Anzeige dargestellt zu werden.
  • In Beispiel 2 enthält der Gegenstand von Beispiel 1 optional, wobei der Arbeitsablaufempfehler ferner dient zum: Erzeugen einer Arbeitsablaufempfehlung für die Ergebnissequenz, wobei die Arbeitsablaufempfehlung einen gerichteten Graphen von Schritten in der Ergebnissequenz umfasst.
  • In Beispiel 3 enthält der Gegenstand von einem oder mehreren der Beispiele 1 - 2 optional, wobei die Arbeitsablauffunktionseinheit, um die mindestens eine Ergebnissequenz zu erzeugen, ferner dient zum: Identifizieren momentaner Schritte in der Ergebnissequenz; Identifizieren eines momentanen Kontexts und semantischer Attribute, um einen nächsten Schritt zu berechnen; Berechnen, durch den Maschinenlernalgorithmus, eines Satzes von Kandidaten nächster Schritte, basierend auf dem momentanen Kontext und den semantischen Attributen; Auswählen des Kandidatenschritts mit einer höchsten Rangierung aus dem Satz der Kandidaten nächster Schritte; und iteratives Berechnen des nächsten Schritts, bis die Ergebnissequenz vollständig ist.
  • In Beispiel 4 enthält der Gegenstand von Beispiel 3 optional, wobei die Ergebnissequenz vollständig ist, wenn eine Endkennzeichnung, die im gewünschten Ergebnis identifiziert ist, erreicht wird.
  • In Beispiel 5 enthält der Gegenstand von einem oder mehreren der Beispiele 3 - 4 optional, wobei die semantischen Attribute Identifikatoren für eine vorbestimmte Zahl voriger Schritte und Identifikatoren für eine vorbestimmte Zahl nächster Schritte umfassen.
  • In Beispiel 6 enthält er Gegenstand von einem oder mehreren Beispielen 3 - 5 optional, wobei die semantischen Attribute Identifikatoren für 3 vorige Schritte und einen Identifikator für den nächsten Schritt umfassen.
  • In Beispiel 7 enthält der Gegenstand von einem oder mehrerer der Beispiele 1 - 6 optional, wobei, um eine der mindestens einen Ergebnissequenz auszuwählen, die Arbeitsablauffunktionseinheit ferner dient zum: Zuteilen einer Bewertung zu jeder Sequenz gemäß einer Wahrscheinlichkeit, dass die Sequenz das gewünschte Ergebniserreicht; und Auswählen der Sequenz mit einer höchsten Bewertung.
  • In Beispiel 8 enthält der Gegenstand von einem oder mehreren der Beispiele 1 - 7 optional, wobei der Lernschritt eine Aufgabe ist, die in der Lernsequenz auszuführen ist, wobei jeder Schritt von der Vielzahl von Schritten in der Ergebnissequenz eine auszuführende Aufgabe in der Ergebnissequenz ist.
  • In Beispiel 9 enthält der Gegenstand von einem oder mehreren der Beispiele 1 - 8 optional, wobei die Eingangseinschränkung eine oder mehr Aufgabenvorbedingungen enthält, die durch die Ergebnissequenz einzuhalten sind.
  • In Beispiel 10 enthält der Gegenstand von einem oder mehreren der Beispiele 1 - 9 optional, wobei der Eingangskontext irgendeine Kombination ist, ausgewählt aus einer Gruppe, bestehend aus einer Quelle von Daten, einer Zielsetzung, einer Betriebsbedingung und einem erwarteten Ergebnis.
  • In Beispiel 11 enthält der Gegenstand nach einem oder mehreren der Beispiele 1 - 10 optional, wobei jeder Schritt der Ergebnissequenz mindestens einer Einschränkung zugehörig ist, die Vorbedingungen zum Durchführen des Schritts identifiziert.
  • In Beispiel 12 enthält der Gegenstand nach einem oder mehreren der Beispiele 1 - 12 optional, wobei die Arbeitsablauffunktionseinheit ferner dient zum: Identifizieren von Attributen, um einen Ausgang von einem Schritt in der Ergebnissequenz mit einem Eingang eines nächsten Schritts in der Ergebnissequenz zu verbinden, wobei die Attribute einen Satz von Eingangsparametern und entsprechende Eingangsparametertypen enthalten.
  • In Beispiel 13 enthält der Gegenstand nach einem oder mehreren der Beispiele 1 - 12 optional, wobei die Arbeitsablauffunktionseinheit ferner dient zum: Interagieren mit einem assoziativen Gedächtnis.
  • Beispiel 14 ist ein Verfahren, umfassend: Anlernen eines Maschinenlernalgorithmus, der eine Vielzahl von Lernsequenzen nutzt, wobei jede Lernsequenz einen Lernkontext, mindestens einen Lernschritt und ein Lernergebnis umfasst; Empfangen, durch den Maschinenlernalgorithmus, einer Arbeitsablaufdefinition, die mindestens einen Eingangskontext und ein gewünschtes Ergebnis enthält, wobei der Eingangskontext mindestens eine Eingangseinschränkung enthält; Erzeugen, durch den Maschinenlernalgorithmus, mindestens einer Ergebnissequenz, die die Arbeitsablaufdefinition implementiert, wobei jede Ergebnissequenz eine Vielzahl von Schritten enthält; Auswählen einer der mindestens einen Ergebnissequenz; und Veranlassen, dass die ausgewählte Ergebnissequenz auf einer Anzeige dargestellt wird.
  • In Beispiel 15 enthält der Gegenstand von Beispiel 14 optional Erzeugen einer Arbeitsablaufempfehlung für die Ergebnissequenz, wobei die Arbeitsablaufempfehlung einen gerichteten Graphen von Schritten in der Ergebnissequenz umfasst.
  • In Beispiel 16 enthält der Gegenstand nach einem oder mehreren der Beispiele 14 - 15 optional wobei Erzeugen mindestens einer Ergebnissequenz ferner umfasst: Identifizieren momentaner Schritte in der Ergebnissequenz; Identifizieren eines momentanen Kontexts und semantischer Attribute, um einen nächsten Schritt zu berechnen; Berechnen, durch den Maschinenlernalgorithmus, eines Satzes von Kandidaten nächster Schritte, basierend auf dem momentanen Kontext und den semantischen Attributen; Auswählen des Kandidatenschritts mit einer höchsten Rangierung aus dem Satz der Kandidaten nächster Schritte; und iteratives Berechnen des nächsten Schritts, bis die Ergebnissequenz vollständig ist.
  • In Beispiel 17 enthält der Gegenstand von Beispiel 16 optional, wobei die Ergebnissequenz vollständig ist, wenn eine Endkennzeichnung, die im gewünschten Ergebnis identifiziert ist, erreicht wird.
  • In Beispiel 18, enthält der Gegenstand von einem oder mehreren der Beispiel 16 - 17 optional, wobei die semantischen Attribute Identifikatoren für eine vorbestimmte Zahl voriger Schritte und Identifikatoren für eine vorbestimmte Zahl nächster Schritte umfassen.
  • In Beispiel 19 enthält der Gegenstand von einem oder mehreren der Beispiele 16 - 18 optional, wobei die semantischen Attribute Identifikatoren für drei vorige Schritte und einen Identifikator für den nächsten Schritt umfassen.
  • In Beispiel 20 enthält der Gegenstand von einem oder mehreren der Beispiele 14 - 19 optional, wobei das Auswählen einer der mindestens einen Ergebnissequenz ferner umfasst: Zuteilen einer Bewertung zu jeder Sequenz gemäß einer Wahrscheinlichkeit, dass die Sequenz das gewünschte Ergebnis erreicht; und Auswählen der Sequenz mit einer höchsten Bewertung.
  • In Beispiel 21 enthält der Gegenstand von einem oder mehreren der Beispiele 14 - 20 optional, wobei der Lernschritt eine Aufgabe ist, die in der Lernsequenz auszuführen ist, wobei jeder Schritt von der Vielzahl von Schritten in der Ergebnissequenz eine auszuführende Aufgabe in der Ergebnissequenz ist.
  • In Beispiel 22 enthält der Gegenstand von einem oder mehreren der Beispiele 14 - 21 optional, wobei die Eingangseinschränkung eine oder mehr Aufgabenvorbedingungen enthält, die durch die Ergebnissequenz einzuhalten sind.
  • In Beispiel 23 enthält der Gegenstand von einem oder mehreren der Beispiele 14 - 22 optional, wobei der Eingangskontext irgendeine Kombination ist, ausgewählt aus einer Gruppe, bestehend aus einer Quelle von Daten, einer Zielsetzung, einer Betriebsbedingung und einem erwarteten Ergebnis.
  • In Beispiel 24 enthält der Gegenstand von einem oder mehreren der Beispiele 14 - 23 optional, wobei jeder Schritt der Ergebnissequenz mindestens einer Einschränkung zugehörig ist, die Vorbedingungen zum Durchführen des Schritts identifiziert.
  • In Beispiel 25 enthält der Gegenstand nach einem oder mehreren der Beispiele 14 - 24 optional Identifizieren von Attributen, um einen Ausgang von einem Schritt in der Ergebnissequenz mit einem Eingang eines nächsten Schritts in der Ergebnissequenz zu verbinden, wobei die Attribute einen Satz von Eingangsparametern und entsprechende Eingangsparametertypen enthalten.
  • In Beispiel 26 enthält der Gegenstand von einem oder mehreren der Beispiele 14 - 25 optional, wobei der Maschinenlernalgorithmus mit einem assoziativen Gedächtnis interagiert.
  • Beispiel 27 ist ein System, das Mittel zum Ausführen eines Verfahrens nach den Beispielen 14 bis 26 umfasst. Beispiel 28 ist mindestens ein maschinenlesbares Medium, das Anweisungen enthält, die, wenn von einer Maschine durchgeführt, die Maschine veranlassen, ein Verfahren nach den Beispielen 14 - 26 auszuführen.
  • Beispiel 29 ist mindestens ein maschinenlesbares Medium, das Anweisungen enthält, die, wenn von einer Maschine durchgeführt, die Maschine veranlassen zum: Anlernen eines Maschinenlernalgorithmus, der eine Vielzahl von Lernsequenzen nutzt, wobei jede Lernsequenz einen Lernkontext, mindestens einen Lernschritt und ein Lernergebnis umfasst; Empfangen, durch den Maschinenlernalgorithmus, einer Arbeitsablaufdefinition, die mindestens einen Eingangskontext und ein gewünschtes Ergebnis enthält, wobei der Eingangskontext mindestens eine Eingangseinschränkung enthält; Erzeugen, durch den Maschinenlernalgorithmus, mindestens einer Ergebnissequenz, die die Arbeitsablaufdefinition implementiert, wobei jede Ergebnissequenz eine Vielzahl von Schritten enthält; Auswählen, durch den Maschinenlernalgorithmus, einer der mindestens einen Ergebnissequenz; und Veranlassen, dass die ausgewählte Ergebnissequenz auf einer Anzeige dargestellt wird.
  • In Beispiel 30 enthält der Gegenstand von Beispiel 29 optional, wobei die Anweisungen die Maschine ferner veranlassen zum: Erzeugen einer Arbeitsablaufempfehlung für die Ergebnissequenz, wobei die Arbeitsablaufempfehlung einen gerichteten Graphen von Schritten in der Ergebnissequenz umfasst.
  • In Beispiel 31 enthält der Gegenstand von einem oder mehreren der Beispiele 29 - 30 optional, wobei, um die mindestens eine Ergebnissequenz zu erzeugen, die Anweisungen die Maschine ferner veranlassen zum: Identifizieren momentaner Schritte in der Ergebnissequenz; Identifizieren eines momentanen Kontexts und semantischer Attribute, um einen nächsten Schritt zu berechnen; Berechnen, durch den Maschinenlernalgorithmus, eines Satzes von Kandidaten nächster Schritte, basierend auf dem momentanen Kontext und den semantischen Attributen; Auswählen des Kandidatenschritts mit einer höchsten Rangierung aus dem Satz der Kandidaten nächster Schritte; und iteratives Berechnen des nächsten Schritts, bis die Ergebnissequenz vollständig ist.
  • In Beispiel 32 enthält der Gegenstand von Beispiel 31 optional, wobei die Ergebnissequenz vollständig ist, wenn eine Endkennzeichnung, die im gewünschten Ergebnis identifiziert ist, erreicht wird.
  • In Beispiel 33 enthält der Gegenstand von einem oder mehreren der Beispiele 31 - 32 optional, wobei die semantischen Attribute Identifikatoren für eine vorbestimmte Zahl voriger Schritte und Identifikatoren für eine vorbestimmte Zahl nächster Schritte umfassen.
  • In Beispiel 34, enthält der Gegenstand von einem oder mehreren der Beispiele 31 - 33 optional, wobei die semantischen Attribute Identifikatoren für 3 vorige Schritte und einen Identifikator für den nächsten Schritt umfassen.
  • In Beispiel 35 enthält der Gegenstand von einem oder mehreren der Beispiele 29 bis 34 optional, wobei, um eine der mindestens einen Ergebnissequenz auszuwählen, die Anweisungen die Maschine ferner veranlassen zum: Zuteilen einer Bewertung zu jeder Sequenz gemäß einer Wahrscheinlichkeit, dass die Sequenz das gewünschte Ergebnis erreicht; und Auswählen der Sequenz mit einer höchsten Bewertung.
  • In Beispiel 36 enthält der Gegenstand von einem oder mehreren der Beispiele 29 - 35 optional, wo der Lernschritt eine Aufgabe ist, die in der Lernsequenz auszuführen ist, wobei jeder der Vielzahl von Schritten in der Ergebnissequenz eine Aufgabe ist, die in der Ergebnissequenz auszuführen ist.
  • In Beispiel 37 enthält der Gegenstand von einem oder mehreren der Beispiele 29 bis 36 optional, wobei die Eingangseinschränkung eine oder mehr Aufgabenvorbedingungen enthält, die durch die Ergebnissequenz einzuhalten sind.
  • In Beispiel 38 enthält der Gegenstand von einem oder mehreren der Beispiele 29 - 37 optional, wobei der Eingangskontext irgendeine Kombination ist, ausgewählt aus einer Gruppe, bestehend aus einer Quelle von Daten, einer Zielsetzung, einer Betriebsbedingung und einem erwarteten Ergebnis.
  • In Beispiel 39 enthält der Gegenstand von einem oder mehreren der Beispiele 29 - 38 optional, wobei jeder Schritt der Ergebnissequenz mindestens einer Einschränkung zugehörig ist, die Vorbedingungen zum Durchführen des Schritts identifiziert.
  • In Beispiel 40 enthält der Gegenstand von einem oder mehreren der Beispiele 29 - 39 optional, wobei die Anweisungen ferner die Maschine veranlassen zum: Identifizieren von Attributen, um einen Ausgang von einem Schritt in der Ergebnissequenz mit einem Eingang eines nächsten Schritts in der Ergebnissequenz zu verbinden, wobei die Attribute einen Satz von Eingangsparametern und entsprechende Eingangsparametertypen enthalten.
  • In Beispiel 41 enthält der Gegenstand von einem oder mehreren der Beispiele 29 - 40 optional, wobei die Anweisungen die Maschine ferner veranlassen zum: Interagieren mit einem assoziativen Gedächtnis.
  • Beispiel 42 ist ein System zum Entwerfen eines Arbeitsablaufs, das System umfassend: Mittel zum Anlernen eines Maschinenlernalgorithmus, eine Vielzahl von Lernsequenzen nutzend, wobei jede Lernsequenz einen Lernkontext, mindestens einen Lernschritt und ein Lernergebnis umfasst; Mittel zum Empfangen, durch den Maschinenlernalgorithmus, einer Arbeitsablaufdefinition, die mindestens einen Eingangskontext und ein gewünschtes Ergebnis enthält, wobei der Eingangskontext mindestens eine Eingangseinschränkung enthält; Mittel zum Erzeugen, durch den Maschinenlernalgorithmus, mindestens einer Ergebnissequenz, die die Arbeitsablaufdefinition implementiert, wobei jede Ergebnissequenz eine Vielzahl von Schritten enthält; Mittel zum Auswählen, durch den Maschinenlernalgorithmus, einer der mindestens einen Ergebnissequenz; und Mittel zum Veranlassen, dass die ausgewählte Ergebnissequenz auf einer Anzeige dargestellt wird.
  • In Beispiel 43 enthält der Gegenstand von Beispiel 42 optional Mittel zum Erzeugen einer Arbeitsablaufempfehlung für die Ergebnissequenz, wobei die Arbeitsablaufempfehlung einen gerichteten Graphen von Schritten in der Ergebnissequenz umfasst.
  • In Beispiel 44 enthält der Gegenstand von einem der Beispiele 42 - 43 optional, wobei Erzeugen mindestens einer Ergebnissequenz ferner umfasst: Mittel zum Identifizieren momentaner Schritte in der Ergebnissequenz; Mittel zum Identifizieren eines momentanen Kontexts und semantischer Attribute, um einen nächsten Schritt zu berechnen; Mittel zum Berechnen, durch den Maschinenlernalgorithmus, eines Satzes von Kandidaten nächster Schritte, basierend auf dem momentanen Kontext und den semantischen Attributen; Mittel zum Auswählen des Kandidatenschritts mit einer höchsten Rangierung aus dem Satz der Kandidaten nächster Schritte; und Mittel zum iterativen Berechnen des nächsten Schritts, bis die Ergebnissequenz vollständig ist.
  • In Beispiel 45 enthält der Gegenstand von Beispiel 44 optional, wobei die Ergebnissequenz vollständig ist, wenn eine Endkennzeichnung, die im gewünschten Ergebnis identifiziert ist, erreicht wird.
  • In Beispiel 46 enthält der Gegenstand von einem oder mehreren der Beispiele 44 - 45 optional, wobei die semantischen Attribute Identifikatoren für eine vorbestimmte Zahl voriger Schritte und Identifikatoren für eine vorbestimmte Zahl nächster Schritte umfassen.
  • In Beispiel 47 enthält der Gegenstand von einem der Beispiele 44 - 46 optional, wobei die semantischen Attribute Identifikatoren für 44 vorige Schritte und einen Identifikator für den nächsten Schritt umfassen.
  • In Beispiel 48 enthält der Gegenstand von einem oder mehreren der Beispiele 42 - 47 optional, wobei das Auswählen einer der mindestens einen Ergebnissequenz ferner umfasst: Mittel zum Zuteilen einer Bewertung zu jeder Sequenz gemäß einer Wahrscheinlichkeit, dass die Sequenz das gewünschte Ergebnis erreicht; und Mittel zum Auswählen der Sequenz mit einer höchsten Bewertung.
  • In Beispiel 49 enthält der Gegenstand von einem oder mehreren der Beispiele 42 - 48 optional, wobei der Lernschritt eine Aufgabe ist, die in der Lernsequenz auszuführen ist, wobei jeder der Vielzahl von Schritten in der Ergebnissequenz eine Aufgabe ist, die in der Ergebnissequenz auszuführen ist.
  • In Beispiel 50 enthält der Gegenstand von einem oder mehreren der Beispiele 42 - 49 optional, wobei die Eingangseinschränkung eine oder mehr Aufgabenvorbedingungen enthält, die durch die Ergebnissequenz einzuhalten sind.
  • In Beispiel 51 enthält der Gegenstand von einem oder mehreren der Beispiele 42 - 50 optional, wobei der Eingangskontext irgendeine Kombination ist, ausgewählt aus einer Gruppe, bestehend aus einer Quelle von Daten, einer Zielsetzung, einer Betriebsbedingung und einem erwarteten Ergebnis.
  • In Beispiel 52 enthält der Gegenstand von einem oder mehreren der Beispiele 42 - 51 optional, wobei jeder Schritt der Ergebnissequenz mindestens einer Einschränkung zugehörig ist, die Vorbedingungen zum Durchführen des Schritts identifiziert.
  • In Beispiel 53 enthält der Gegenstand von einem oder mehreren der Beispiele 42 - 52 optional Mittel zum Identifizieren von Attributen, um einen Ausgang von einem Schritt in der Ergebnissequenz mit einem Eingang eines nächsten Schritts in der Ergebnissequenz zu verbinden, wobei die Attribute einen Satz von Eingangsparametern und entsprechende Eingangsparametertypen enthalten.
  • In Beispiel 54 enthält der Gegenstand von einem oder mehreren der Beispiele 42 - 53 optional, wobei der Maschinenlernalgorithmus mit einem assoziativen Gedächtnis kommuniziert.
  • Beispiel 55 ist ein System zum Entwerten eines Arbeitsablaufs, das System umfassend: einen Sequenzerzeuger zum: Empfangen einer Vielzahl von Anlernsequenzen; und Zerteilen der Anlernsequenzen, um eine Reihung von Schritten in jeder Anlernsequenz, Kontexte für jeden Schritt und Einschränkungen für jeden Schritt zu extrahieren; eine Arbeitsablauffunktionseinheit, um einen Maschinenlernalgorithmus anzulernen, die Anlernsequenzen und die extrahierte Reihung von Schritten, Kontexte und Einschränkungen nutzend, wobei der Maschinenlernalgorithmus angelernt ist, einen nächsten Schritt anhand von vorigen Schritten, momentanen Kontexten, momentanen Einschränkungen und einem gewünschten Ergebnis vorherzusagen; und einen Arbeitsablaufempfehler, um einen Teilsatz der Anlernsequenzen zu testen, wobei das Testen für jede Anlernsequenz Betriebe umfasst zum: Eingeben einer Eingangssequenz und des gewünschten Ergebnisses in den Arbeitsablaufempfehler; Nutzen des Maschinenlernalgorithmus einen Ausgangsarbeitsablauf durch iteratives Berechnen des nächsten Schritts aufzubauen, bis das gewünschte Ergebnis erreicht ist; und Vergleichen des Ausgangsarbeitsablaufs mit der entsprechenden Anlernsequenz, wobei der Arbeitsablaufempfehler basierend auf dem Vergleichen für den Teilsatz der Anlernsequenzen evaluiert ist.
  • In Beispiel 56 enthält der Gegenstand von Beispiel 55 optional, wobei das Zerteilen der Anlernsequenzen ferner Codieren jedes Schritts umfasst, Informationen über ein Fenster von Schritten um den Schritt nutzend.
  • In Beispiel 57 enthält der Gegenstand von einem oder mehreren der Beispiele 55 - 56 optional, wobei die Kontexte eines Schritts mindestens eine Vorbedingung umfassen, um den Schritt durchzuführen, wobei jede Vorbedingung aus einer Gruppe ausgewählt ist, bestehend aus einer Quelle, einer Zielsetzung, einer Voraussetzung, einer Bedingung und einem Ergebnis aus einer Durchführung des Schritts.
  • In Beispiel 58 enthält der Gegenstand von einem oder mehreren der Beispiele 55 - 57 optional, wobei die Einschränkungen eines Schritts mindestens eine benötigte Vorbedingung umfassen, die der Schritt einhalten muss, um eine gültige Sequenz zu haben.
  • In Beispiel 59 enthält der Gegenstand von einem oder mehreren der Beispiele 55 - 58 optional, wobei die Eingangssequenz ferner einen Anfangsschritt, Kontexte für den nächsten Schritt und Einschränkungen für den nächsten Schritt umfasst.
  • In Beispiel 60 enthält der Gegenstand von einem oder mehreren der Beispiele 55 - 59 optional, wobei die Eingangssequenz ferner eine Vielzahl von vorigen Schritten, Kontexten eines Anfangsschritts und Einschränkungen des Anfangsschritts umfasst.
  • In Beispiel 61 enthält der Gegenstand von einem oder mehreren der Beispiele 55 - 60 optional, wobei die Sequenz eine gereihte Liste von Aufgaben ist, wobei der Ausgangsarbeitsablauf eine Ausgangssequenz und einen gerichteten Graphen von Aufgaben in der Ausgangssequenz umfasst.
  • In Beispiel 62 enthält der Gegenstand von einem oder mehreren der Beispiele 55 - 61 optional, wobei das Zerteilen der Anlernsequenzen ferner umfasst, vordefinierte Erstellungsregeln zu nutzen, um jede Anlernsequenz zu validieren.
  • In Beispiel 63 enthält der Gegenstand von einem oder mehreren der Beispiele 55 - 62 optional, wobei, um die Vielzahl von Anlernsequenzen zu empfangen, der Sequenzerzeuger ferner dazu dient, die Anlernsequenzen zu erzeugen.
  • In Beispiel 64 enthält der Gegenstand von einem oder mehreren der Beispiele 55 - 63 optional, wobei das Zerteilen der Anlernsequenzen ferner Codieren jedes Schritts umfasst, um Informationen über eine vorbestimmte Zahl voriger Schritte in der Sequenz und über eine vorbestimmte Zahl folgender Schritte in der Sequenz zu enthalten.
  • In Beispiel 65 enthält der Gegenstand von Beispiel 64 optional, wobei die vorbestimmte Zahl voriger Schritte in der Sequenz drei ist und die vorbestimmte Zahl folgender Schritte in der Sequenz eins ist.
  • In Beispiel 66 enthält der Gegenstand von einem oder mehreren der Beispiele 55 - 65 optional, wobei den nächsten Schritt des Arbeitsablaufempfehlers zu berechnen ferner dient zum: Identifizieren einer Vielzahl von Kandidaten nächster Schritte, die momentane Kontexte und Einschränkungen einhalten; Rangieren der Kandidaten nächster Schritte; und Auswählen des nächsten Schritts, basierend auf der Rangierung.
  • In Beispiel 67 enthält der Gegenstand von einem oder mehreren der Beispiele 55 - 66 optional, wobei, um den Teilsatz der Anlernsequenzen zu testen, der Arbeitsablaufempfehler ferner dient zum: Identifizieren einer Vielzahl von Kandidaten gültiger Sequenzen; Rangieren jedes Kandidaten gültiger Sequenzen; und Auswählen des besten Kandidaten gültiger Sequenz, basierend auf der Rangierung.
  • Beispiel 68 ist ein Verfahren, umfassend: Empfangen einer Vielzahl von Anlernsequenzen; Zerteilen der Anlernsequenzen, um eine Reihung von Schritten in jeder Anlernsequenz, Kontexte für jeden Schritt und Einschränkungen für jeden Schritt zu extrahieren; Anlernen eines Maschinenlernalgorithmus, die Anlernsequenzen und die extrahierte Reihung von Schritten, Kontexten und Einschränkungen nutzend, wobei der Maschinenlernalgorithmus angelernt ist, um einen nächsten Schritt anhand von vorigen Schritten, momentanen Kontexten, momentanen Einschränkungen und einem gewünschten Ergebnis vorherzusagen; Testen eines Arbeitsablaufempfehlers mit einem Teilsatz der Anlernsequenzen, das Testen für jede Anlernsequenz umfassend: Eingeben einer Eingangssequenz und des gewünschten Ergebnisses in den Arbeitsablaufempfehler; Nutzen des Maschinenlernalgorithmus, einen Ausgangsarbeitsablauf durch iteratives Berechnen des nächsten Schritts aufzubauen, bis das gewünschte Ergebnis erreicht ist; und Vergleichen des Ausgangsarbeitsablaufs mit der entsprechenden Anlernsequenz; und Evaluieren des Arbeitsablaufempfehlers, basierend auf dem Vergleichen für den Teilsatz der Anlernsequenzen.
  • In Beispiel 69 enthält der Gegenstand von Beispiel 68 optional, wobei das Zerteilen der Anlernsequenzen ferner umfasst: Codieren jedes Schritts, Informationen über ein Fenster von Schritten um den Schritt nutzend.
  • In Beispiel 70 enthält der Gegenstand von einem oder mehreren der Beispiele 68 - 69 optional, wobei die Kontexte eines Schritts mindestens eine Vorbedingung umfassen, um den Schritt durchzuführen, wobei jede Vorbedingung von einer Gruppe ausgewählt ist, bestehend aus einer Quelle, einer Zielsetzung, einer Voraussetzung, einer Bedingung und einem Ergebnis aus einer Durchführung des Schritts.
  • In Beispiel 71 enthält der Gegenstand von einem oder mehreren der Beispiele 68 - 70 optional, wobei die Einschränkungen eines Schritts mindestens eine benötigte Vorbedingung umfassen, die der Schritt einhalten muss, um eine gültige Sequenz zu haben.
  • In Beispiel 72 enthält der Gegenstand von einem oder mehreren der Beispiele 68 - 71 optional, wobei die Eingangssequenz ferner einen Anfangsschritt, Kontexte für den nächsten Schritt und Einschränkungen für den nächsten Schritt umfasst.
  • In Beispiel 73enthält der Gegenstand von einem oder mehreren der Beispiele 68 - 72 optional, wobei die Eingangssequenz ferner eine Vielzahl von vorigen Schritten, Kontexten eines Anfangsschritts und Einschränkungen des Anfangsschritts umfasst.
  • In Beispiel 74 enthält der Gegenstand von einem oder mehreren der Beispiele 68 - 73 optional, wobei die Sequenz eine gereihte Liste von Aufgaben ist, wobei der Ausgangsarbeitsablauf eine Ausgangssequenz und einen gerichteten Graphen von Aufgaben in der Ausgangssequenz umfasst.
  • In Beispiel 75 enthält der Gegenstand von einem oder mehreren der Beispiele 68 - 74 optional, wobei das Zerteilen der Anlernsequenzen ferner umfasst: Nutzen vordefinierter Erstellungsregeln, um jede Anlernsequenz zu validieren.
  • In Beispiel 76 enthält der Gegenstand von einem oder mehreren der Beispiele 68 - 75 optional, wobei das Empfangen der Vielzahl von Anlernsequenzen ferner umfasst: Erzeugen der Anlernsequenzen durch einen Sequenzerzeuger.
  • In Beispiel 77 enthält der Gegenstand von einem oder mehreren der Beispiele 68 - 76 optional, wobei das Zerteilen der Anlernsequenzen ferner umfasst: Codieren jedes Schritts, enthaltend Informationen über eine vorbestimmte Zahl voriger Schritte in der Sequenz und über eine vorbestimmte Zahl folgender Schritte in der Sequenz.
  • In Beispiel 78 enthält der Gegenstand von Beispiel 77 optional, wobei die vorbestimmte Zahl voriger Schritte in der Sequenz drei ist und die vorbestimmte Zahl folgender Schritte in der Sequenz eins ist.
  • In Beispiel 79 enthält der Gegenstand von einem oder mehreren der Beispiele 68 - 78 optional, wobei Berechnen des nächsten Schritts ferner umfasst: Identifizieren einer Vielzahl von Kandidaten nächster Schritte, die momentane Kontexte und Einschränkungen einhalten; Rangieren der Kandidaten nächster Schritte; und Auswählen des nächsten Schritts, basierend auf der Rangierung.
  • In Beispiel 80 enthält der Gegenstand von einem oder mehreren der Beispiele 68 - 79 optional, wobei das Testen des Arbeitsablaufempfehlers ferner umfasst: Identifizieren einer Vielzahl von Kandidaten gültiger Sequenzen; Rangieren jedes Kandidaten gültiger Sequenzen; und Auswählen des besten Kandidaten gültiger Sequenz, basierend auf der Rangierung.
  • Beispiel 81 ist ein System, umfassend Mittel, um ein Verfahren der Beispiele 68 bis 80 auszuführen.
  • Beispiel 82 ist mindestens ein maschinenlesbares Medium, das Anweisungen enthält, die, wenn von einer Maschine durchgeführt, die Maschine veranlassen, ein Verfahren der Beispiele 68 - 80 auszuführen.
  • Beispiel 83 ist mindestens ein maschinenlesbares Medium, enthaltend Anweisungen, die, wenn von einer Maschine durchgeführt, die Maschine veranlassen zum: Empfangen einer Vielzahl von Anlernsequenzen; Zerteilen der Anlernsequenzen, um eine Reihung von Schritten in jeder Anlernsequenz, Kontexte für jeden Schritt und Einschränkungen für jeden Schritt zu extrahieren; Anlernen eines Maschinenlernalgorithmus, die Anlernsequenzen und die extrahierte Reihung von Schritten, Kontexten und Einschränkungen nutzend, wobei der Maschinenlernalgorithmus angelernt ist, um einen nächsten Schritt anhand von vorigen Schritten, momentanen Kontexten, momentanen Einschränkungen und einem gewünschten Ergebnis vorherzusagen; Testen eines Arbeitsablaufempfehlers mit einem Teilsatz der Anlernsequenzen, das Testen für jede Anlernsequenz umfassend: Eingeben einer Eingangssequenz und des gewünschten Ergebnisses in den Arbeitsablaufempfehler; Nutzen des Maschinenlernalgorithmus, einen Ausgangsarbeitsablauf durch iteratives Berechnen des nächsten Schritts aufzubauen, bis das gewünschte Ergebnis erreicht ist; und Vergleichen des Ausgangsarbeitsablaufs mit der entsprechenden Anlernsequenz; und Evaluieren des Arbeitsablaufempfehlers, basierend auf dem Vergleichen für den Teilsatz der Anlernsequenzen.
  • In Beispiel 84 enthält der Gegenstand von Beispiel 83 optional, wobei, um die Anlernsequenzen zu zerteilen, die Anweisungen die Maschine ferner veranlassen zum: Codieren jedes Schritts, Informationen über ein Fenster von Schritten um den Schritt nutzend.
  • In Beispiel 85 enthält der Gegenstand von einem oder mehreren der Beispiele 83 - 84 optional, wobei die Kontexte eines Schritts mindestens eine Vorbedingung umfassen, um den Schritt durchzuführen, wobei jede Vorbedingung von einer Gruppe ausgewählt ist, bestehend aus einer Quelle, einer Zielsetzung, einer Voraussetzung, einer Bedingung und einem Ergebnis aus einer Durchführung des Schritts.
  • In Beispiel 86 enthält der Gegenstand von einem oder mehreren der Beispiele 83 - 85 optional, wobei die Einschränkungen eines Schritts mindestens eine benötigte Vorbedingung umfassen, die der Schritt einhalten muss, um eine gültige Sequenz zu haben.
  • In Beispiel 87 enthält der Gegenstand von einem oder mehreren der Beispiele 83 - 86 optional, wobei die Eingangssequenz ferner einen Anfangsschritt, Kontexte für den nächsten Schritt und Einschränkungen für den nächsten Schritt umfasst.
  • In Beispiel 88 enthält der Gegenstand von einem oder mehreren der Beispiele 83 - 87 optional, wobei die Eingangssequenz ferner eine Vielzahl von vorigen Schritten, Kontexten eines Anfangsschritts und Einschränkungen des Anfangsschritts umfasst.
  • In Beispiel 89 enthält der Gegenstand von einem oder mehreren der Beispiele 83 - 88 optional, wobei die Sequenz eine gereihte Liste von Aufgaben ist, wobei der Ausgangsarbeitsablauf eine Ausgangssequenz und einen gerichteten Graphen von Aufgaben in der Ausgangssequenz umfasst.
  • In Beispiel 90 enthält der Gegenstand von einem oder mehreren der Beispiele 83 - 89 optional, wobei, um die Anlernsequenzen zu zerteilen, die Anweisungen die Maschine ferner veranlassen zum: Nutzen vordefinierter Erstellungsregeln, um jede Anlernsequenz zu validieren.
  • In Beispiel 91 enthält der Gegenstand von einem oder mehreren der Beispiele 83 - 90 optional, wobei, um die Vielzahl von Anlernsequenzen zu empfangen, die Anweisungen die Maschine ferner veranlassen zum: Erzeugen der Anlernsequenzen durch einen Sequenzerzeuger.
  • In Beispiel 92 enthält der Gegenstand von einem oder mehreren der Beispiele 83 - 91 optional, wobei, um die Anlernsequenzen zu zerteilen, die Anweisungen die Maschine ferner veranlassen zum: Codieren jedes Schritts, enthaltend Informationen über eine vorbestimmte Zahl voriger Schritte in der Sequenz und über eine vorbestimmte Zahl folgender Schritte in der Sequenz.
  • In Beispiel 93 enthält der Gegenstand von Beispiel 92 optional, wobei die vorbestimmte Zahl voriger Schritte in der Sequenz drei ist und die vorbestimmte Zahl folgender Schritte in der Sequenz eins ist.
  • In Beispiel 94 enthält der Gegenstand von einem oder mehreren der Beispiele 83 - 93 optional, wobei, um den nächsten Schritt zu berechnen, die Anweisungen die Maschine ferner veranlassen zum: Identifizieren einer Vielzahl von Kandidaten nächster Schritte, die momentane Kontexte und Einschränkungen einhalten; Rangieren der Kandidaten nächster Schritte; und Auswählen des nächsten Schritts, basierend auf der Rangierung.
  • In Beispiel 95 enthält der Gegenstand von einem oder mehreren der Beispiele 83 - 94 optional, wobei, um den Arbeitsablaufempfehler zu testen, die Anweisungen die Maschine ferner veranlassen zum: Identifizieren einer Vielzahl von Kandidaten gültiger Sequenzen; Rangieren jedes Kandidaten gültiger Sequenzen; und Auswählen des besten Kandidaten gültiger Sequenz, basierend auf der Rangierung.
  • Beispiel 96 ist ein System zum Entwerfen eines Arbeitsablaufs, das System umfassend: Mittel zum Empfangen einer Vielzahl von Anlernsequenzen; Zerteilen der Anlernsequenzen, um eine Reihung von Schritten in jeder Anlernsequenz, Kontexte für jeden Schritt und Einschränkungen für jeden Schritt zu extrahieren; Mittel zum Anlernen eines Maschinenlernalgorithmus, die Anlernsequenzen und die extrahierte Reihung von Schritten, Kontexten und Einschränkungen nutzend, wobei der Maschinenlernalgorithmus angelernt ist, um einen nächsten Schritt anhand von vorigen Schritten, momentanen Kontexten, momentanen Einschränkungen und einem gewünschten Ergebnis vorherzusagen; Mittel zum Testen eines Arbeitsablaufempfehlers mit einem Teilsatz von Anlernsequenzen, das Testen jeder Anlernsequenz, umfassend: Eingeben einer Eingangssequenz und des gewünschten Ergebnisses in den Arbeitsablaufempfehler; Nutzen des Maschinenlernalgorithmus, einen Ausgangsarbeitsablauf durch iteratives Berechnen des nächsten Schritts aufzubauen, bis das gewünschte Ergebnis erreicht ist; und Vergleichen des Ausgangsarbeitsablaufs mit der entsprechenden Anlernsequenz; und Mittel zum Evaluieren des Arbeitsablaufempfehlers, basierend auf dem Vergleichen für den Teilsatz der Anlernsequenzen.
  • In Beispiel 97 enthält der Gegenstand von Beispiel 96 optional, wobei das Zerteilen der Anlernsequenzen ferner umfasst: Codieren jedes Schritts, Informationen über ein Fenster von Schritten um den Schritt nutzend.
  • In Beispiel 98 enthält der Gegenstand von einem oder mehreren der Beispiele 96 - 97 optional, wobei die Kontexte eines Schritts mindestens eine Vorbedingung umfassen, um den Schritt durchzuführen, wobei jede Vorbedingung von einer Gruppe ausgewählt ist, bestehend aus einer Quelle, einer Zielsetzung, einer Voraussetzung, einer Bedingung und einem Ergebnis aus einer Durchführung des Schritts.
  • In Beispiel 99 enthält der Gegenstand von einem oder mehreren der Beispiele 96 - 98 optional, wobei die Einschränkungen eines Schritts mindestens eine benötigte Vorbedingung umfassen, die der Schritt einhalten muss, um eine gültige Sequenz zu haben.
  • In Beispiel 100 enthält der Gegenstand von einem oder mehreren der Beispiele 96 - 99 optional, wobei die Eingangssequenz ferner einen Anfangsschritt, Kontexte für den nächsten Schritt und Einschränkungen für den nächsten Schritt umfasst.
  • In Beispiel 101 enthält der Gegenstand von einem oder mehreren der Beispiele 96 - 100 optional, wobei die Eingangssequenz ferner eine Vielzahl von vorigen Schritten, Kontexten eines Anfangsschritts und Einschränkungen des Anfangsschritts umfasst.
  • In Beispiel 102 enthält der Gegenstand von einem oder mehreren der Beispiele 96 - 101 optional, wobei die Sequenz eine gereihte Liste von Aufgaben ist, wobei der Ausgangsarbeitsablauf eine Ausgangssequenz und einen gerichteten Graphen von Aufgaben in der Ausgangssequenz umfasst.
  • In Beispiel 103 enthält der Gegenstand von einem oder mehreren der Beispiele 96 - 102 optional, wobei das Zerteilen der Anlernsequenzen ferner umfasst: Nutzen vordefinierter Erstellungsregeln, um jede Anlernsequenz zu validieren.
  • In Beispiel 104 enthält der Gegenstand von einem oder mehreren der Beispiele 96 - 103 optional, wobei das Empfangen der Vielzahl von Anlernsequenzen ferner umfasst: Erzeugen der Anlernsequenzen durch einen Sequenzerzeuger.
  • In Beispiel 105 enthält der Gegenstand von einem oder mehreren der Beispiele 96 - 104 optional, wobei das Zerteilen der Anlernsequenzen ferner umfasst: Codieren jedes Schritts, enthaltend Informationen über eine vorbestimmte Zahl voriger Schritte in der Sequenz und über eine vorbestimmte Zahl folgender Schritte in der Sequenz.
  • In Beispiel 106 enthält der Gegenstand von Beispiel 105 optional, wobei die vorbestimmte Zahl voriger Schritte in der Sequenz drei ist und die vorbestimmte Zahl folgender Schritte in der Sequenz eins ist.
  • In Beispiel 107 enthält der Gegenstand von einem oder mehreren der Beispiele 96 - 106 optional, wobei Berechnen des nächsten Schritts ferner umfasst: Identifizieren einer Vielzahl von Kandidaten nächster Schritte, die momentane Kontexte und Einschränkungen einhalten; Rangieren der Kandidaten nächster Schritte; und Auswählen des nächsten Schritts, basierend auf der Rangierung.
  • In Beispiel 108 enthält der Gegenstand von einem oder mehreren der Beispiele 96 - 107 optional, wobei das Testen des Arbeitsablaufempfehlers ferner umfasst: Identifizieren einer Vielzahl von Kandidaten gültiger Sequenzen; Rangieren jedes Kandidaten gültiger Sequenzen; und Auswählen des besten Kandidaten gültiger Sequenz, basierend auf der Rangierung.
  • Die vorstehende ausführliche Beschreibung enthält Referenzen auf die begleitenden Zeichnungen, die einen Teil der ausführlichen Beschreibung bilden. Die Zeichnungen zeigen, mittels Veranschaulichung, spezifische Ausführungsformen, die ausgeübt werden können. Diese Ausführungsformen sind hierin auch als „Beispiele“ bezeichnet. Solche Beispiele können Elemente zusätzlich zu den gezeigten oder beschriebenen enthalten. Jedoch tragen die gegenwärtigen Erfinder auch Beispiele bei, in denen nur die gezeigten oder beschriebenen Elemente bereitgestellt sind. Außerdem tragen die gegenwärtigen Erfinder auch Beispiele unter Verwendung einer Kombination oder Permutation dieser gezeigten oder beschriebenen Elemente (oder eines oder mehrerer Aspekte davon) bei, entweder mit Bezug auf ein gewisses Beispiel (oder einen oder mehrere Aspekte davon) oder in Bezug auf andere Beispiele (oder einen oder mehrere Aspekte davon), die hierin beschrieben oder gezeigt sind.
  • Alle Veröffentlichungen, Patente und Patentdokumente, auf die in diesem Dokument Bezug genommen wird, sind hiermit in ihrer Gesamtheit zum Zwecke der Bezugnahme zitiert, als wären sie einzeln durch Bezugnahme eingegliedert. Im Fall inkonsistenter Verwendungen zwischen diesem Dokument und den durch Bezugnahme eingegliederten Dokumenten, sollte die Verwendung der eingegliederten Bezugnahme(n) als Ergänzung zu jener dieses Dokuments betrachtet werden; für unvereinbare Inkonsistenzen gilt die Verwendung in diesem Dokument.
  • In diesem Dokument werden die Ausdrücke „ein“ oder „eine“ wie in Patentdokumenten üblich verwendet, um eines oder mehr als eines zu enthalten, unabhängig von irgendwelchen anderen Instanzen oder Verwendungen von „mindestens eines“ oder „eines oder mehr“. In diesem Dokument wird der Ausdruck „oder“ verwendet, um sich auf etwas nicht ausschließliches zu beziehen, oder so, dass „A oder B“ „A aber nicht B“, „B aber nicht A“ und „A und B“ enthält, falls nicht anderes angegeben ist. In den angehängten Ansprüchen sind die Ausdrücke „enthaltend“ und „in dem“ als Äquivalente der jeweiligen Ausdrücke „umfassend“ und „wobei“ verwendet. Ebenso sind in den folgenden Ansprüchen die Ausdrücke „enthaltend“ und „umfassend“ offenendig, das heißt, ein System, Gerät, Artikel oder Prozess, das bzw. der Elemente zusätzlich zu denen, die nach solch einem Ausdruck in einem Anspruch gelistet sind, enthält, soll noch immer in den Umfang dieses Anspruchs fallen. Außerdem werden in den folgenden Ansprüchen die Ausdrücke „erstes“, „zweites“ und „drittes“ usw. bloß als Markierungen verwendet und nicht angedacht, deren Objekten numerische Anforderungen aufzuerlegen.
  • Die vorstehende Beschreibung ist angedacht, veranschaulichend und nicht einschränkend zu sein. Zum Beispiel können die zuvor beschriebenen Beispiele (oder ein oder mehrere Aspekte davon) in Kombination miteinander verwendet werden. Andere Ausführungsformen können, wie von einem Durchschnittsfachmann, nach Durchsicht der vorstehenden Beschreibung verwendet werden. Die Zusammenfassung dient dazu, dem Leser zu erlauben, schnell das Wesen der technischen Offenbarung herauszufinden und wird mit dem Verständnis eingereicht, dass sie nicht verwendet werden wird, den Umfang oder die Bedeutung der Ansprüche zu interpretieren oder zu begrenzen. In der vorstehenden ausführlichen Beschreibung können auch unterschiedliche Merkmale zusammengruppiert werden, um die Offenbarung zu straffen. Dies sollte nicht so interpretiert werden, dass es angedacht ist, dass ein unbeanspruchtes offenbartes Merkmal für irgendeinen Anspruch wesentlich ist. Eher könnte der erfinderische Gegenstand in weniger als allen Merkmalen einer gewissen offenbarten Ausführungsform liegen. Daher sind die folgenden Ansprüche hiermit in die ausführliche Beschreibung eingegliedert, mit jedem Anspruch als eine separate Ausführungsform für sich alleinstehend. Der Umfang der Ausführungsformen sollte in Bezug auf die angehängten Ansprüche ermittelt werden, gemeinsam mit dem vollen Umfang von Äquivalenten, zu welchen solche Ansprüche berechtigt sind.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 15/341819 [0001]
  • Zitierte Nicht-Patentliteratur
    • 802.11 [0141]
    • IEEE 802.16 [0141]
    • IEEE 802.15.4 [0141]

Claims (25)

  1. System zum Entwerfen eines Arbeitsablaufs, das System umfassend: eine Arbeitsablauffunktionseinheit zum: Anlernen eines Maschinenlernalgorithmus, eine Vielzahl von Lernsequenzen nutzend, wobei jede Lernsequenz einen Lernkontext, mindestens einen Lernschritt und ein Lernergebnis umfasst; Empfangen einer Arbeitsablaufdefinition, die mindestens einen Eingangskontext und ein gewünschtes Ergebnis enthält, der Eingangskontext mindestens eine Eingangseinschränkung enthaltend; Erzeugen, den Maschinenlernalgorithmus nutzend, mindestens einer Ergebnissequenz, die die Arbeitsablaufdefinition implementiert, wobei jede Ergebnissequenz eine Vielzahl von Schritten enthält; und Auswählen einer der mindestens einen Ergebnissequenz; und einen Arbeitsablaufempfehler, um die ausgewählte Ergebnissequenz zu veranlassen, auf einer Anzeige dargestellt zu werden.
  2. System nach Anspruch 1, wobei der Arbeitsablaufempfehler ferner dient zum: Erzeugen einer Arbeitsablaufempfehlung für die Ergebnissequenz, wobei die Arbeitsablaufempfehlung einen gerichteten Graphen von Schritten in der Ergebnissequenz umfasst.
  3. System nach Anspruch 1, wobei, um die mindestens eine Ergebnissequenz zu erzeugen, die Arbeitsablauffunktionseinheit ferner dient zum: Identifizieren momentaner Schritte in der Ergebnissequenz; Identifizieren eines momentanen Kontexts und semantischer Attribute, um einen nächsten Schritt zu berechnen; Berechnen, durch den Maschinenlernalgorithmus, eines Satzes von Kandidaten nächster Schritte, basierend auf dem momentanen Kontext und den semantischen Attributen; Auswählen des Kandidatenschritts mit einer höchsten Rangierung vom Satz von Kandidaten nächster Schritte; und iteratives Berechnen des nächsten Schritts, bis die Ergebnissequenz vollständig ist.
  4. System nach Anspruch 3, wobei die Ergebnissequenz vollständig ist, wenn eine Endkennzeichnung, die im gewünschten Ergebnis identifiziert ist, erreicht wird.
  5. System nach Anspruch 3, wobei die semantischen Attribute Identifikatoren für eine vorbestimmte Zahl voriger Schritte und Identifikatoren für eine vorbestimmte Zahl nächster Schritte umfassen.
  6. System nach Anspruch 3, wobei die semantischen Attribute Identifikatoren für 3 vorige Schritte und einen Identifikator für den nächsten Schritt umfassen.
  7. System nach Anspruch 1, wobei, um eine der mindestens einen Ergebnissequenz auszuwählen, die Arbeitsablauffunktionseinheit ferner dient zum: Zuteilen einer Bewertung zu jeder Sequenz, gemäß einer Wahrscheinlichkeit, dass die Sequenz das gewünschte Ergebnis erreicht; und Auswählen der Sequenz mit einer höchsten Bewertung.
  8. System nach Anspruch 1, wobei der Lernschritt eine Aufgabe ist, die in der Lernsequenz auszuführen ist, wobei jeder Schritt von der Vielzahl von Schritten in der Ergebnissequenz eine Aufgabe ist, die in der Ergebnissequenz auszuführen ist.
  9. System nach Anspruch 1, wobei die Eingangseinschränkung eine oder mehrere Aufgabenvorbedingungen enthält, die von der Ergebnissequenz einzuhalten sind.
  10. System nach Anspruch 1, wobei der Eingangskontext irgendeine Kombination ist, ausgewählt aus einer Gruppe, bestehend aus einer Quelle von Daten, einer Zielsetzung, einer Betriebsbedingung und einem erwarteten Ergebnis.
  11. Verfahren zum Entwerfen eines Arbeitsablaufs, das Verfahren umfassend: Anlernen eines Maschinenlernalgorithmus, eine Vielzahl von Lernsequenzen nutzend, wobei jede Lernsequenz einen Lernkontext, mindestens einen Lernschritt und ein Lernergebnis umfasst; Empfangen, durch den Maschinenlernalgorithmus, einer Arbeitsablaufdefinition, die mindestens einen Eingangskontext und ein gewünschtes Ergebnis enthält, der Eingangskontext mindestens eine Eingangseinschränkung enthaltend; Erzeugen, durch den Maschinenlernalgorithmus, mindestens einer Ergebnissequenz, die die Arbeitsablaufdefinition implementiert, wobei jede Ergebnissequenz eine Vielzahl von Schritten enthält; Auswählen, durch den Maschinenlernalgorithmus, einer der mindestens einen Ergebnissequenzen; und Veranlassen der ausgewählten Ergebnissequenz, auf einer Anzeige dargestellt zu werden.
  12. Verfahren nach Anspruch 11, ferner umfassend: Erzeugen einer Arbeitsablaufempfehlung für die Ergebnissequenz, wobei die Arbeitsablaufempfehlung einen gerichteten Graphen von Schritten in der Ergebnissequenz umfasst.
  13. Verfahren nach Anspruch 11, wobei Erzeugen mindestens einer Ergebnissequenz ferner umfasst: Identifizieren momentaner Schritte in der Ergebnissequenz; Identifizieren eines momentanen Kontexts und semantischer Attribute, um einen nächsten Schritt zu berechnen; Berechnen, durch den Maschinenlernalgorithmus, eines Satzes von Kandidaten nächster Schritte, basierend auf dem momentanen Kontext und den semantischen Attributen; Auswählen des Kandidatenschritts mit einer höchsten Rangierung vom Satz von Kandidaten nächster Schritte; und iteratives Berechnen des nächsten Schritts, bis die Ergebnissequenz vollständig ist.
  14. Verfahren nach Anspruch 13, wobei die Ergebnissequenz vollständig ist, wenn eine Endkennzeichnung, die im gewünschten Ergebnis identifiziert ist, erreicht wird.
  15. Verfahren nach Anspruch 13, wobei die semantischen Attribute Identifikatoren für eine vorbestimmte Zahl voriger Schritte und Identifikatoren für eine vorbestimmte Zahl nächster Schritte umfassen.
  16. Verfahren nach Anspruch 13, wobei die semantischen Attribute Identifikatoren für drei vorige Schritte und einen Identifikator für den nächsten Schritt umfassen.
  17. Verfahren nach Anspruch 11, wobei das Auswählen einer der mindestens einen Ergebnissequenz ferner umfasst: Zuteilen einer Bewertung zu jeder Sequenz, gemäß einer Wahrscheinlichkeit, dass die Sequenz das gewünschte Ergebnis erreicht; und Auswählen der Sequenz mit einer höchsten Bewertung.
  18. Verfahren nach Anspruch 11, wobei der Lernschritt eine auszuführende Aufgabe in der Lernsequenz ist, wobei jeder Schritt von der Vielzahl von Schritten in der Ergebnissequenz eine auszuführende Aufgabe in der Ergebnissequenz ist.
  19. Verfahren nach Anspruch 11, wobei die Eingangseinschränkung eine oder mehr Aufgabenvorbedingungen enthält, die von der Ergebnissequenz einzuhalten sind.
  20. Verfahren nach Anspruch 11, wobei der Eingangskontext eine Kombination ist, ausgewählt aus einer Gruppe, bestehend aus einer Quelle von Daten, einer Zielsetzung, einer Betriebsbedingung und einem erwarteten Ergebnis.
  21. Verfahren nach Anspruch 11, wobei jeder Schritt der Ergebnissequenz mindestens einer Einschränkung zugehörig ist, die Vorbedingungen zum Durchführen des Schritts identifiziert.
  22. Verfahren nach Anspruch 11, ferner umfassend: Identifizieren von Attributen, um einen Ausgang von einem Schritt in der Ergebnissequenz mit einem Eingang eines nächsten Schritts in der Ergebnissequenz zu verbinden, wobei die Attribute einen Satz von Eingangsparametern und entsprechende Eingangsparametertypen enthalten.
  23. Verfahren nach Anspruch 11, wobei der Maschinenlernalgorithmus mit einem assoziativen Gedächtnis interagiert.
  24. System, umfassend Mittel zum Ausführen eines Verfahrens der Ansprüche 11-23.
  25. Mindestens ein maschinenlesbares Medium, das Anweisungen enthält, die, wenn durch eine Maschine durchgeführt, die Maschine veranlassen, ein Verfahren der Ansprüche 11-23 auszuführen.
DE112017005538.5T 2016-11-02 2017-09-27 Automatisierte Erzeugung von Arbeitsabläufen Withdrawn DE112017005538T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/341,819 US20190205792A1 (en) 2016-11-02 2016-11-02 Automated generation of workflows
US15/341,819 2016-11-02
PCT/US2017/053622 WO2018125337A2 (en) 2016-11-02 2017-09-27 Automated generation of workflows

Publications (1)

Publication Number Publication Date
DE112017005538T5 true DE112017005538T5 (de) 2019-07-25

Family

ID=62710604

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017005538.5T Withdrawn DE112017005538T5 (de) 2016-11-02 2017-09-27 Automatisierte Erzeugung von Arbeitsabläufen

Country Status (4)

Country Link
US (1) US20190205792A1 (de)
CN (1) CN109791642B (de)
DE (1) DE112017005538T5 (de)
WO (1) WO2018125337A2 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11137990B2 (en) * 2016-02-05 2021-10-05 Sas Institute Inc. Automated message-based job flow resource coordination in container-supported many task computing
US11080031B2 (en) 2016-02-05 2021-08-03 Sas Institute Inc. Message-based coordination of container-supported many task computing
US10614381B2 (en) * 2016-12-16 2020-04-07 Adobe Inc. Personalizing user experiences with electronic content based on user representations learned from application usage data
US10685295B1 (en) * 2016-12-29 2020-06-16 X Development Llc Allocating resources for a machine learning model
JP6847801B2 (ja) * 2017-09-28 2021-03-24 株式会社日立製作所 設計支援装置および設計支援方法
US10684935B2 (en) * 2018-03-16 2020-06-16 Cisco Technology, Inc. Deriving the shortest steps to reproduce a device failure condition
US11615339B2 (en) * 2018-06-06 2023-03-28 EmbodyVR, Inc. Automated versioning and evaluation of machine learning workflows
US11315055B2 (en) * 2018-07-26 2022-04-26 Salesforce.Com, Inc. System and method for visualizing an order allocation process
US11423326B2 (en) * 2018-09-14 2022-08-23 Microsoft Technology Licensing, Llc Using machine-learning methods to facilitate experimental evaluation of modifications to a computational environment within a distributed system
US11790224B2 (en) * 2018-10-20 2023-10-17 Oracle International Corporation Machine learning from the integration flow metadata
CN109709893A (zh) * 2018-12-25 2019-05-03 中国人民解放军空军工程大学 幅值受限控制***的有界补偿方法
US20220114513A1 (en) * 2019-01-11 2022-04-14 Sirionlabs Pte. Ltd. Method and system for configuring a workflow
CN110187938A (zh) * 2019-05-24 2019-08-30 北京神州泰岳软件股份有限公司 一种页面工作流的组装方法及装置
EP3754445A1 (de) * 2019-06-17 2020-12-23 Siemens Aktiengesellschaft Rechnergestützte konfiguration eines technischen systems
US11656903B2 (en) * 2019-06-25 2023-05-23 Intel Corporation Methods and apparatus to optimize workflows
EP4022454A1 (de) * 2019-08-30 2022-07-06 Mosys, Inc. Graphenspeichermaschine
US11433536B2 (en) * 2019-09-19 2022-09-06 UiPath, Inc. Process understanding for robotic process automation (RPA) using sequence extraction
US20220075605A1 (en) * 2019-10-15 2022-03-10 UiPath, Inc. Training and using artificial intelligence (ai) / machine learning (ml) models to automatically supplement and/or complete code of robotic process automation workflows
US11200539B2 (en) 2019-10-15 2021-12-14 UiPath, Inc. Automatic completion of robotic process automation workflows using machine learning
US11847500B2 (en) * 2019-12-11 2023-12-19 Cisco Technology, Inc. Systems and methods for providing management of machine learning components
CN111831259A (zh) * 2020-04-15 2020-10-27 中国人民解放军军事科学院战争研究院 一种引导式的智能处理定制方法
US20210357440A1 (en) * 2020-05-18 2021-11-18 Adobe Inc. Context-based Recommendation System for Feature Search
WO2021247911A1 (en) * 2020-06-04 2021-12-09 Outreach Corporation Dynamic workflow selection using structure and context for scalable optimization
US11379772B2 (en) * 2020-08-04 2022-07-05 Nice Ltd. Systems and methods for analyzing computer input to provide suggested next action for automation
CN112116330B (zh) * 2020-09-28 2024-05-28 中国银行股份有限公司 一种工作流错误队列自动化处理方法和装置
US11743350B2 (en) 2021-01-07 2023-08-29 The Toronto-Dominion Bank System and method for integrating external services into process workflow environments
US11449312B2 (en) 2021-01-07 2022-09-20 The Toronto-Dominion Bank System and method for executing a process workflow
US11561827B2 (en) 2021-01-07 2023-01-24 The Toronto-Dominion Bank System and method for executing a dynamic routing service
US11928626B2 (en) 2021-01-07 2024-03-12 The Toronto-Dominion Bank System and method for persisting data generated in executing a process workflow
CN112686580B (zh) * 2021-01-31 2023-05-16 重庆渝高科技产业(集团)股份有限公司 一种可自定义流程的工作流定义方法及***
US20220292415A1 (en) * 2021-03-10 2022-09-15 Servicenow, Inc. Automated Playbook Generation
US11681964B2 (en) * 2021-03-15 2023-06-20 Cerner Innovation, Inc. System and method for optimizing design, workflows, performance, and configurations based on design elements
US11763228B2 (en) 2021-04-06 2023-09-19 Nice Ltd. Systems and methods for analyzing and connecting automation sequences
US11994966B2 (en) * 2021-09-28 2024-05-28 Cerner Innovation, Inc. System and method for autonomous testing, machine-learning model-supervised prioritization, and randomized workflow generation
CN114115878A (zh) * 2021-11-29 2022-03-01 杭州数梦工场科技有限公司 一种工作流节点推荐方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207939A (ja) * 1997-01-17 1998-08-07 Nec Corp ワークフローシステム
US7499906B2 (en) * 2005-09-05 2009-03-03 International Business Machines Corporation Method and apparatus for optimization in workflow management systems
US7945497B2 (en) * 2006-12-22 2011-05-17 Hartford Fire Insurance Company System and method for utilizing interrelated computerized predictive models
US8660905B2 (en) * 2007-10-31 2014-02-25 Sap Ag Method and system for validating process models
US8694355B2 (en) * 2008-05-30 2014-04-08 Sri International Method and apparatus for automated assistance with task management
WO2011033460A1 (en) * 2009-09-17 2011-03-24 Time To Know Establishment Device, system, and method of educational content generation
CN101741650B (zh) * 2010-01-04 2013-01-09 北京航空航天大学 基于QoS预测的服务组合方法及装置
US20150310362A1 (en) * 2010-08-09 2015-10-29 Poiesis Informatics, Inc. Health Care Work Flow Modeling with Proactive Metrics
US20140164048A1 (en) * 2012-12-07 2014-06-12 Xerox Corporation Scalable weight-agnostic multi-objective qos optimization for workflow planning
US20140207506A1 (en) * 2013-01-21 2014-07-24 Salesforce.Com, Inc. Computer implemented methods and apparatus for recommending a workflow
US10372815B2 (en) * 2013-07-12 2019-08-06 Microsoft Technology Licensing, Llc Interactive concept editing in computer-human interactive learning
US20150081326A1 (en) * 2013-09-19 2015-03-19 Siemens Medical Solutions Usa, Inc. Healthcare Process Management Using Context

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
802.11
IEEE 802.15.4
IEEE 802.16

Also Published As

Publication number Publication date
WO2018125337A3 (en) 2018-08-23
CN109791642A (zh) 2019-05-21
WO2018125337A2 (en) 2018-07-05
CN109791642B (zh) 2023-11-17
US20190205792A1 (en) 2019-07-04

Similar Documents

Publication Publication Date Title
DE112017005538T5 (de) Automatisierte Erzeugung von Arbeitsabläufen
DE202017007517U1 (de) Aggregatmerkmale für maschinelles Lernen
DE102018006962A1 (de) Regelfestlegung für Black-Box-Maschinenlernmodelle
DE202019106182U1 (de) Neuronenarchitektursuche mit faktorisiertem hierarchischem Suchraum
DE112015002433T5 (de) Systeme und Techniken zur prädikativen Datenanalytik
DE102018111905A1 (de) Domänenspezifische Sprache zur Erzeugung rekurrenter neuronaler Netzarchitekturen
DE202016004628U1 (de) Durchqueren einer Umgebungsstatusstruktur unter Verwendung neuronaler Netze
DE112019006389T5 (de) Automatisiertes Training und Auswahl von Modellen zur Dokumentenanalyse
DE102018007936A1 (de) Beantworten von Fragen für Datenvisualisierungen
DE112020000584T5 (de) Verfahren für unüberwachte bild-zu-bild-übersetzung mit wenigen aufnahmen
DE112016001796T5 (de) Feinkörnige bildklassifizierung durch erforschen von etiketten von einem bipartiten graphen
DE102017207686A1 (de) Einblicke in die belegschaftsstrategie
DE112020002961T5 (de) Übersetzen einer abfrage in natürlicher sprache in eine formale datenabfrage
DE112013005993T5 (de) Verfahren, Vorrichtung und computerlesbares Medium für eine optimale Bestimmung von Daten-Teilmengen
DE102020120479A1 (de) Fusion von Strassenkarten
DE112021002453T5 (de) Iteratives trainieren eines modells für maschinelles lernen
DE112018006377T5 (de) Verschmelzen spärlich besetzter kernels zur approximation eines vollen kernels eines neuronalen faltungsnetzes
DE102021004562A1 (de) Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache
DE112021002866T5 (de) Modelltreueüberwachung und -neuerstellung zur entscheidungsunterstützung eines fertigungsverfahrens
Bateman et al. The The Supervised Learning Workshop: A New, Interactive Approach to Understanding Supervised Learning Algorithms
DE102021124445A1 (de) Metamerkmal-trainingsmodelle für maschinenlernalgorithmen
DE112021003761T5 (de) Prädiktive modelle mit zerlegbaren hierarchischen ebenen, die konfiguriert werden, um interpretierbare resultate zu erzeugen
DE102017208626A1 (de) Liquide Belegschafts-Plattform
WO2021104608A1 (de) Verfahren zum erzeugen eines engineering-vorschlags für eine vorrichtung oder anlage
EP3736749A1 (de) Verfahren und vorrichtung zur ansteuerung eines geräts mit einem datensatz

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee