WO2022042805A1 - Verfahren zur optimierung - Google Patents

Verfahren zur optimierung Download PDF

Info

Publication number
WO2022042805A1
WO2022042805A1 PCT/DE2021/100722 DE2021100722W WO2022042805A1 WO 2022042805 A1 WO2022042805 A1 WO 2022042805A1 DE 2021100722 W DE2021100722 W DE 2021100722W WO 2022042805 A1 WO2022042805 A1 WO 2022042805A1
Authority
WO
WIPO (PCT)
Prior art keywords
steps
analysis
optimization
data
machine learning
Prior art date
Application number
PCT/DE2021/100722
Other languages
English (en)
French (fr)
Inventor
Sascha Poggemann
Philipp Heltewig
Dominik SEISSER
Original Assignee
Cognigy Gmbh
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 Cognigy Gmbh filed Critical Cognigy Gmbh
Publication of WO2022042805A1 publication Critical patent/WO2022042805A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Definitions

  • the invention relates to methods for optimizing training data and machine learning module parameters for a computer-aided model.
  • test environments can be extremely complex, for example in the case of road traffic detection systems or advice in chats in insurance companies or when instructing machine tools, since a large number of possible events have to be simulated in advance.
  • the bots must also be able to cope with later time-critical situations and one would like to know which computing capacities must be made available in the worst case so that the programs are still able to react appropriately and in good time. In such cases, the test environment is of particular importance.
  • the object of the invention is therefore to provide a method for optimizing training data and machine learning module parameters for a computer-aided model.
  • the invention solves the problem with a method for optimizing training data and parameters for the model on which machine learning is based.
  • the following steps are carried out one after the other, whereby English names are used to distinguish between technical terms: a) Data Entry b) Training c) Validation Dataset d) Quality Metrics e) Findings f) Improvement Suggestions g) Dependency Tree h) Severity Impact Analysis i) Feedback Report Generation j) Request User for Action k) Implement Changes l) Trigger Re-Evaluation
  • Steps j) to I) are summarized in the "Finalization” step, although these steps are optional.
  • US 2020/0137002 A1 describes how a large number of scores are determined to validate a chatbot that works on the basis of artificial intelligence. These are mainly a “navigation efficiency score”, a “compliance score”, an “intent score” and a “sentiment score”, which come from a diagnosis based on artificial intelligence. While the program is being processed, an “overall performance score” is generated, which is at least based on the configuration data and processes input data. Such input data can be previous or current chatbot conversations with at least one user.
  • the “navigation efficiency score” contains evaluations of the detected frequency of errors and misunderstandings.
  • the "intent score” determines the hit rate based on a previously created list of intention phrases.
  • the training data is entered in the user environment.
  • the training data is usually data for which the result is already known, so that later it can be determined how far the recognition has worked.
  • the display is usually based on classes, and the classes can be arranged in hierarchical levels.
  • the main causes of poor recognition of classes by a classifier are mismatched data points to a class, overlapping of data points between classes, and input errors in training data.
  • the input data can be moved on the screen using drag & drop in order to make appropriate corrections.
  • the training data is stored in the database.
  • Various microservices and APIs with validation of the data are usually used here.
  • the training module is thus called up in the user environment and the classifier is trained.
  • the training itself is done through machine learning.
  • the results are validated using common algorithms such as K-Fold cross-validation, bootstrapping, leave-one-out validation and others.
  • the cross-validation can be performed on a less computationally intensive, more efficient classification model whose suitability for validation is ensured by matching and comparing the prediction behavior and distribution with the main model.
  • the "Validation Dataset” step includes the dynamic adjustment of model parameters and data, and the static selection of a suitable classifier. It also includes the classifier's predictions on test data, i.e. on training data not contained in the original test data set, which can be entered or uploaded in the user environment.
  • the Validation Dataset step also includes synthetically generated data that attempts to replicate the probability distribution of the training data or the expected data to be classified. This happens, for example, through Generative Adversial Networks or with the help of synthetic dialog data, which are created via Natural Language Generation.
  • the Validation Dataset step also includes the classifier's predictions on the training data itself.
  • the subsequent step "Quality Metrics" concerns the calculation of quality metrics such as accuracy, F-Score and confusion matrix from the validation data set. Furthermore, a linguistic and syntactical check of data characteristics takes place, for example with regard to the use of special characters and the like. Similarity scores between sentences are also determined, for example using cosine similarity, in which the angle between vectors is determined.
  • a distance matrix between individual sentences is calculated. Furthermore, clustering takes place within a poorly recognized class to identify a better subdivision of a class.
  • the creation of examination results is carried out by applying rules to quality metrics and includes the application of a machine-learned model, which was trained with validation data and quality characteristics as independent variable variables and can predict examination results from them.
  • Dependency Tree there is a construction of a tree of intersections between classes using an algorithm to detect overlaps and generate a tree, for example "intent A overlaps heavily with B, B heavily with C: A -> B -> C”. This is done by adding, changing or removing data characteristics, changing class labels, and adding, removing or assigning classes differently in the class hierarchy, for example by assigning intent A with Intent B is merged.
  • the linking can be static, based on specified rules, or dynamic. For example, if a class overlaps with only one other class, the two classes should be merged into a subhierarchy, if a class overlaps with all other classes, it should probably be removed, or if clustering is successful, divided into specific new subclasses.
  • the linkage problem can also be solved again as a machine learning problem
  • a degree of severity is linked to the examination results.
  • the screen output can be supported, for example, by colored markings, such as red for serious, yellow for fair and green for good.
  • the linking is static, based on specified rules, or dynamic. For example, if a class overlaps with only one other class, the two classes should be merged into a subhierarchy, if a class overlaps with all other classes, it should probably be removed, or if clustering is successful, divided into specific new subclasses.
  • the linkage problem can also be solved again as a machine learning problem.
  • the developer who is carrying out the optimization is presented with an intermediate result.
  • the examination results are stored in the database, validated and output to the user environment via API.
  • the user environment processes the examination findings data and presents them appropriately in connection with the model, classes, training examples.
  • Program logic is used to display the degree of severity. This allows the optimizer to see immediately where the intent detection is still problematic, and all test results and recommendations for action can be displayed as a list view with a colored background.
  • comparisons between classification models based on test results and instructions for action can be determined and displayed. Assuming that models A and B are compared, the following scenario could result, for example.
  • the next step "Implement Changes” is about the implementation of the recommendations for action.
  • direct options are provided or offered in the user environment for the class or a data characteristic for deletion or merging or for changing the hierarchy.
  • the implementation can also be the automatic execution of instructions, such as the merging of overlapping classes in a hierarchy level or the distribution of data characteristics from an unsuitable class to more suitable classes. This can also be carried out completely in one step, with the presentation of the machine-optimized classifier and the underlying instructions.
  • Other suitable models are those that have been trained on a data set of before/after models.
  • a comparison algorithm is used.
  • the steps from data entry to trigger evaluation are run through several times, but at the end of the feedback report that has been created, the feedback report is compared with that of the previous run.
  • a comparison algorithm is used for this, which evaluates the recognition quality of the intent.
  • the evaluation result can be a scalar value or a vector or a matrix.
  • the difference between the two evaluation results is then determined; if this difference falls below a predefinable limit value, the loop is broken off and the last feedback report reached is processed further as the result.
  • the method is used for merging training datasets, determining the transparency and reproducibility of machine learning models or optimizing machine learning models and machine learning model parameters.
  • Steps 4 to 8 correspond to the "Analysis 100" block, with the order of the steps within this block being partially interchangeable.
  • Steps 10 to 12 correspond to the block "Finalization 200" iq. 2 shows the sequence of steps
  • steps 4 to 8 correspond to the “Analysis 100” block, with the order of the steps within this block being partially interchangeable.
  • steps 10 to 12 correspond to the "Finalization 200" block. shows the sequence of steps
  • steps 4 to 8 correspond to the “Analysis 100” block, with the order of the steps within this block being partially interchangeable.
  • Steps 10 through 12 correspond to the Finalization 200 block.
  • steps 14 through 16 correspond to the Comparison 300 block.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

Verfahren zur Optimierung von Trainingsdaten und Machine-Learning-Modul-Parametern für ein computergestütztes Modell, welches zur Bereitstellung von Handlungsanweisungen und Untersuchungsergebnissen erstellt wird, enhaltend die Generierung von Feedback durch Abfolge mindestens der Schritte Data Entry (1), Training (2), Validation Dataset (3), Analysis (100), Feedback Report Generation (9), Finalisation (200).

Description

Verfahren zur Optimierung
Die Erfindung betrifft Verfahren zur Optimierung von Trainingsdaten und Machine-Lear- ning-Modul-Parametern für ein computergestütztes Modell.
An solchen Programmen, die Machine Learning und Artificial Intelligence enthalten und benutzen, wurde vielfach die generelle Kritik geäußert, dass sie unzuverlässig und inakkurat arbeiten würden und eine korrekte Erfüllung der Aufgaben weder sicher noch reproduzierbar sei. Die Hersteller als Programmierer und ihre Kunden als Anwender stehen also vor dem Problem, die Programme zu testen und gegebenenfalls anwendungsbezogen zu optimieren, bevor sie industriell eingesetzt werden können.
Derartige Tests können ausgesprochen aufwändig werden, etwa bei Erkennungssystemen im Straßenverkehr oder bei Beratungen in Chats in Versicherungsunternehmen oder beim Instruieren von Werkzeugmaschinen, da vorab eine Unzahl möglicher Ereignisse zu simulieren ist. In manchen Anwendungsfällen müssen die Bots auch spätere zeitkritische Situationen bewältigen können und man möchte wissen, welche Rechenkapazitäten ungünstigstenfalls zur Verfügung gestellt werden müssen, damit die Programme noch in der Lage sind, rechtzeitig angemessen zu reagieren. Der Testumgebung kommt in solchen Fällen eine besondere Bedeutung zu.
Besondere Schwierigkeiten bereitet in all diesen Fällen die Absichtserkennung. So möchte man im Straßenverkehr nicht nur wissen, wo sich Hindernisse befinden, sondern auch, was andere Verkehrsteilnehmer beabsichtigen. Bei Spracherkennungssystemen möchte man sowohl wissen, ob man den Sprecher richtig verstanden hat, als auch, ob dessen Intention richtig verstanden worden ist, denn sonst kann das Programm keine sinnvolle Antwort generieren. In diesen Fällen ist die Absichtserkennung für die folgende Kommunikation von entscheidender Bedeutung, und zwar hinsichtlich Schnelligkeit, Zuverlässigkeit und Genauigkeit.
Die Aufgabe der Erfindung ist daher, ein Verfahren zur Optimierung von Trainingsdaten und Machine-Learning-Modul-Parametern für ein computergestütztes Modell zur Verfügung zu stellen.
Die Erfindung löst die Aufgabe durch ein Verfahren zur Optimierung von Trainingsdaten und Parametern für das Modell, welches dem maschinellen Lernen zugrunde gelegt wird. Hierbei werden die folgenden Schritte nacheinander durchgeführt, wobei zur Unterscheidung von Fachbegriffen für diese englischsprachige Namen verwendet werden: a) Data Entry b) Training c) Validation Dataset d) Quality Metrics e) Findings f) Improvement Suggestions g) Dependency T ree h) Severity Impact Analysis i) Feedback Report Generation j) Request User for Action k) Implement Changes l) Trigger Re-Evaluation
Die einzelnen Schritte d) bis h) werden dabei als ein Schritt „Analysis“ zusammengefasst, wobei die Abfolge der einzelnen Schritte innerhalb dieses Schritts teilweise austauschbar ist.
Die Schritte j) bis I) werden im Schritt „Finalisation“ zusammengefasst, wobei diese Schritte optional sind.
Die Schritte sind einzeln bekannter Stand der Technik. In der US 2020/0137002 A1 wird beschrieben, dass zur Validierung eines Chatbots, der auf der Basis künstlicher Intelligenz arbeitet, eine Vielzahl von Scores ermittelt wird. Hierbei handelt es sich hautptsächlich um einen „navigation efficiency score“, einen „compliance score“, einen „intent score“, und einen „sentiment score“, die einer Diagnose auf der Basis künstlicher Intelligenz entstammen. Während der Abarbeitung des Programms wird ein „overall performance score“ erzeugt, der wenigstens auf den Konfigurationsdaten aufbaut und Eingangsdaten verarbeitet. Solche Eingangsdaten können frühere oder aktuelle Chatbot- Konversationen mit mindestens einem Nutzer sein. Der „navigation efficiency score“ enthält dabei Auswertungen zu der erkannten Fehlerhäufigkeit bzw. zu Missverständnissen. Beim „intent score“ wird die Trefferquote anhand einer zuvor erstellten Liste von Absichtsphrasen ermittelt.
Es ist klar, dass ein solches Verfahren einen manuellen Vergleich der erkannten Intents mit den tatsächlichen Absichten natürlicher Nutzer erfordert und dass auch die übrigen Scores nicht automatisch ablaufen können. Um einen zuverlässigen „overall performance score“ zu erreichen, ist eine Unzahl vollständiger Durchläufe des Programms erforderlich. Diese Anzahl erforderlicher Programmdurchläufe steigt mit der Komplexität des Chatbots stark an, was die praktische Handhabung während der Entwicklung beeinträchtigt.
In ähnlicher Weise wird in den Schriften US 2015 0356461 A1 , US 2020 0137 002 A1, US 2020 0135 203 A1 , US 2020 0184 540 A1, US 2019 0171 712 A1, US 2019 0172 069 A1 , US 2020 0143288 A1 , US 2020 0175 964 A1 ,
WO 2018 067 368 A1, US 9 292 262 B2, US 10437 929 B2, US 10 037 758 B2, US 10 515 313 B2, EP 3483 746 A1, WO 2019236 138 A1, US 8 843427 B1, EP 1 669 846 A1, US 2017 0278 514 A1 , WO 2019 139604 A1, US 10452 783 B2, GB 2 558 352 A, US 10242 667 B2, US 9292 254 B2, US 10 223445 B2,
US 2019 0272 269 A1 , EP 2 757493 A2, US 7606 714 B2, US 2019 0171 969 A 1 und US 2018 0052 664 A1 vorgegangen.
Neu ist im vorliegenden Verfahren hingegen die Abfolge der einzelnen Schritte zur Optimierung der Ermittlung des Intent. Für den Sonderfall einer Sprachverarbeitung werden diese Schritte im Einzelnen kurz erläutert, in anderen Fällen ist die Bedeutung analog.
Im ersten Schritt „Data Entry“ erfolgt die Eingabe der Trainingsdaten in der Nutzerumgebung. Die Trainingsdaten sind normalerweise solche, deren Ergebnis bereits bekannt ist, damit später ermittelt werden kann, wieweit die Erkennung funktioniert hat. Die Darstellung erfolgt üblicherweise nach Klassen, die Klassen können dabei in hierarchischen Ebenen geordnet werden. Hauptursache für eine schlechte Erkennung von Klassen eines Klassifizierers sind unpassende Datenpunkte zu einer Klasse, Überschneidung von Datenpunkten zwischen Klassen und Eingabefehler in Trainingsdaten. In fortschrittlichen Entwickler-Programmen können die Eingabedaten mittels drag & drop am Bildschirm verschoben werden, um entsprechende Korrekturen vorzunehmen.
Im nachfolgenden Schritt „Training“ werden die Trainingsdaten in der Datenbank abgespeichert, hierbei werden üblicherweise verschiedene Microservices und API mit Validierung der Daten eingesetzt. Damit wird das Trainingsmodul in der Nutzerumgebung aufgerufen und es findet ein Trainieren des Klassifizierers statt. Das Training selbst erfolgt durch maschinelles Lernen. Im nachfolgenden Schritt „Validation Dataset“ werden die Ergebnisse validiert, wobei übliche Algorithmen wie K-Fold Quer-Validierung, Bootstrapping, Leave-one-out validation und andere eingesetzt werden. Die Quer-Validierung kann dabei auf einem weniger rechenintensiven effizienteren Klassifizierungsmodell vorgenommen werden, dessen Tauglichkeit zur Validierung über Abstimmung und Vergleich von Vorhersageverhalten und Verteilung mit dem Hauptmodell sichergestellt wird.
Der Schritt „Validation Dataset“ umfasst umfasst die dynamische Anpassung von Modellparametern und Daten, und die statische Wahl eines geeigneten Klassifizierers. Er umfasst auch die Vorhersagen des Klassifizierers auf Testdaten, also auf Trainingsdaten, die nicht im ursprünglichen Testdatensatz enthalten sind, welche in der Nutzerumgebung eingegeben oder hochgeladen werden können.
Der Schritt „Validation Dataset“ umfasst auch synthetisch generierte Daten, welche die die Wahrscheinlichkeitsverteilung der Trainingsdaten oder der erwarteten zu klassifizierenden Daten nachzubilden versuchen. Dies geschieht beispielsweise durch Generative Adversial Networks oder mit Hilfe von synthetischen Dialogdaten, welche über Natural Language Generation erstellt werden.
Der Schritt „Validation Dataset“ umfasst auch die Vorhersagen des Klassifizierers auf die Trainingsdaten selbst.
Der nachfolgende Schritt „Quality Metrics“ betrifft die Errechnung der Qualitätsmetriken wie Accuracy, F-Score und Konfusionsmatrix aus dem Validierungsdatensatz. Weiterhin findet eine linguistische und syntaktische Prüfung von Datenmerkmalen statt, beispielsweise bezüglich der Nutzung von Sonderzeichen und dergleichen. Auch Ähnlichkeits-Scores zwischen Sätzen werden ermittelt, beispielsweise mittels Cosine- Similarity, bei der der Winkel zwischen Vektoren bestimmt wird.
Weiterhin bestimmt werden unüberwachtes Lernen, Clusteranalyse innerhalb des gesamten Modells sowie zwischen Klassen, einzelnen Datenmerkmalen oder beliebigen Untergruppen angewendet.
Errechnet wird eine Entfernungsmatrix zwischen einzelnen Sätzen. Ferner findet ein Clustering innerhalb einer schlecht erkannten Klasse statt, um eine bessere Unterteilung einer Klasse zu identifizieren.
In den beiden nachfolgenden Schritten „Findings“ und „Improvement Suggestions“ geht es um die Erstellung von Untersuchungsbefunden mit Handlungsanweisungen an den Nutzer zur Verbesserung des Modells für jede Ebene des Gesamtmodells des Klassifi- zierers, der Klassen und um einzelne Trainingsbeispiele. Untersuchungsbefunde sind Typen von allgemeinen oder von anwendungsspezifischen Problemen innerhalb der Trainingsdaten, deren Behebung wahrscheinlich eine Verbesserung der Erkennung und Trennschärfe des Klassifizierers zur Folge haben wird. Ein Beispiel ist "Intent A überschneidet sich mit Intent B".
Die Erstellung von Untersuchungsbefunden erfolgt durch Anwendung von Regeln auf Qualitätsmetriken und umfasst die Anwendung eines maschinell gelernten Modells, welches mit von Validierungsdaten und Qualitätsmerkmalen als unabhängige Veränderliche Variablen trainiert wurde und daraus Untersuchungsbefunde Vorhersagen kann.
Im nachfolgenden Schritt „Dependency Tree“ findet eine Erstellung eines Baums von Überschneidungen zwischen Klassen unter Anwendung eines Algorithmus zur Erfassung von Überschneidungen und Generierung eines Baums, beispielsweise „intent A überschneidet sich stark mit B, B stark mit C: A -> B -> C“. Hierbei findet eine Verknüpfung von Untersuchungsbefunden mit Handlungsempfehlungen zur Anpassungen der Trainingsdaten, diese wird vollzogen indem Datenmerkmale hinzugefügt, verändert oder entfernt werden, Klassen-Label geändert werden, und indem Klassen hinzugefügt, entfernt oder in der Klassenhierarchie anders zugeordnet werden, beispielsweise indem Intent A mit Intent B zusammengeführt wird.
Die Verknüpfung kann erfolgen statisch, durch festgegebene Regeln, oder dynamisch. Falls sich eine Klasse beispielsweise mit nur einer anderen Klasse überschneidet, sollten die beiden Klassen in einer Subhierarchie zusammengefügt werden, falls eine Klasse sich mit allen anderen Klassen überschneidet, sollte sie wahrscheinlich entfernt werden, oder bei erfolgreichem Clustering in bestimmte neue Unterklassen unterteilt werden. Das Verknüpfungsproblem kann ebenfalls wieder als maschinelles-Lernen- Problem gelöst werden
Im nachfolgenden Schritt „Severity Impact Analysis“ findet eine Verknüpfung eines Schweregrades mit den Untersuchungsbefunden statt. Hier wird eine dem menschlichen Nutzer verständliche Priorisierung und Klassifizierung der Untersuchungsbefunde vorgenommen, die Bildschirmausgabe kann beispielsweise durch farbliche Markierungen unterstützt werden, etwa rot für schwerwiegend, gelb für ordentlich und grün für gut. Die Verknüpfung erfolgt statisch, durch festgegebene Regeln, oder dynamisch. Falls sich etwa eine Klasse mit nur einer anderen Klasse überschneidet, sollten die beiden Klassen in einer Subhierarchie zusammengefügt werden, falls eine Klasse sich mit allen anderen Klassen überschneidet, sollte sie wahrscheinlich entfernt werden, oder bei erfolgreichem clustering in bestimmte neue Unterklassen unterteilt werden. Das Verknüpfungsproblem kann ebenfalls wieder als maschinelles-Lernen-Problem gelöst werden.
Im nachfolgenden Schritt „Feedback Report Generation“ wird dem Entwickler, der die Optimierung durchführt, ein Zwischenergebnis präsentiert. Die Untersuchungsbefunde werden in der Datenbank gespeichert, validiert und per API an die Nutzerumgebung ausgegeben. Die Nutzerumgebung verarbeitet die Untersuchungsbefund-Daten und stellt diese geeignet im Zusammenhang mit dem Modell, Klassen, Trainingsbeispielen dar. Zur Anzeige des Schweregrades wird Programm-Logik angewendet. Damit sieht der Optimierer sofort, wo die Intenterkennung noch problematisch ist, die Darstellung aller Untersuchungsbefunde und Handlungsempfehlungen kann dabei als farbig unterlegte Listenansicht erfolgen.
Im nachfolgenden Schritt „Request User for Action“ werden für den Optimierer Handlungsanweisungen erarbeitet und vorgeschlagen. Hierzu erfolgen ein Vergleich und eine Darstellung von Unterschieden zwischen trainierten Klassifizerungsmodellen.
Im Backend oder in der Nutzerumgebung können Vergleiche zwischen Klassifizierungsmodellen auf Basis von Untersuchungsbefunden und Handlungsanweisung ermittelt und dargestellt werden. Angenommen, es werden die Modelle A und B verglichen, so könnte sich beispielsweise folgendes Szenario ergeben.
Als Lösung von Handlungsanweisungen könnte die Menge von Handlungsanweisungen, welche in Modell A vorhanden sind, in B fehlen. Es könnten auch neue Befunde auftauchen, bei einem Vergleich von Qualitäts-Metriken könnte sich ergeben, dass die Accuracy/Genauigkeit um einige Prozent gestiegen wäre, Im Vergleich würden sich die Unterschiede in Trainingsbeispielen, Klassen und Hierarchien zeigen.
Dies würde mit einer Verknüpfung der Befunde und Handlungsanweisung zu Änderungen im Modell führen, insbesondere auf Klassen- oder Datenpunktebene. Als Anweisungen könnten dann vorgeschlagen werden das Rückgängig machen von Änderungen und Erstellung oder Wiederherstellung eines verbesserten Modells, entweder selektiv nach Befunden und Änderungen, oder ganzheitlich, alle Änderungen könnten in der Nutzerumgebung wiederhergestellt werden durch Abfrage ans Backend oder der Datenbank.
Im nachfolgenden Schritt „Implement Changes“ geht es um die Umsetzung der Handlungsempfehlungen. Dazu werden direkte Möglichkeiten in der Nutzerumgebung an der Klasse oder einem Datenmerkmal zur Löschung oder Zusammenführung oder Hierarchieänderung bereitgestellt bzw. angeboten.
Die Umsetzung kann auch die automatische Ausführung von Handlungsanweisungen sein, etwa die Zusammenführung sich überschneidendender Klassen in einer Hierarchieebene oder die Verteilung von Datenmerkmalen einer unpassenden Klasse auf besser passende Klassen. Das kann auch komplett in einem Schritt durchgeführt werden, mit Darstellung des von der maschinenoptimierten Klassifizierers und den zugrunde liegenden Handlungsanweisungen.
Im nachfolgenden Schritt „Trigger Re-Evaluations“ stellt sich die Frage, ob die erreichten Ergebnisse bereits zufriedenstellend sind, oder ob ein weiterer Durchlauf erfolgen sollte.
Hierbei kommt es zur Anwendung eines vollumfänglich oder rekursiv maschinell optimierten Algorithmus zur Verbesserung der Trainingsdaten unter Berücksichtigung der Nutzerabsicht, etwa über ein maschinell gelerntes Modell, mit der Zielvorgabe, die Genauigkeit unter Berücksichtigung von Bedingungen zur Wahrung der Nutzerabsichten zu erhöhen, oder mittels Pruning Algorithmen, oder Unsupervised Learning. Weiter geeignete Modelle sind solche, welche auf einem Datensatz von Vorher/Nachher- Modellen trainiert wurden.
Auch solche Modelle, die durch geeignete Modifizierungen des Klassifizierers selbst erzeugt werden, beispielsweise indem selektiv für Klassen mit schlechter Erkennung ein genauerer, aber rechenintensivere Klassifizierungsalgorithmus zur Prüfung angewendet wird.
Ein Beispiel hierfür ist, dass zuerst das Datenmerkmal klassifiziert wird, und falls eine Klasse mit Cross-Validation-F-Score > 0.6 getroffen wird, die Klassifizierung als Ergebnis ausgegeben wird, und falls nicht, eine erneute Klassifizierung auf dem genaueren, aber rechenintensiveren Klassifizierungsalgorithmus vorgenommen wird und das Ergebnis zur Klassifizierung ausgegeben wird. Auch eine Hyper-Parameter Optimierung kann in diesem Sinne vorgenommen werden. Auch eine Erweiterung der Trainingsbeispiele Natural Language Generation kann erfolgen. Anschließend erfolgt ein Vergleich und eine Darstellung von Unterschieden zwischen maschinell optimierten und vom Nutzer eingegebenen Klassifizierungsmodell, wie oben beschrieben.
In einer Ausgestaltung ist vorgesehen, dass ein Vergleichsalgorithmus benutzt wird. Hierbei werden die Schritte Data Entry bis Trigger Evaluation mehrfach durchlaufen, am Ende des jeweils erstellten Feedback Reports wird der Feedback Report jedoch mit dem des vorangegangenen Durchlaufs verglichen. Hierzu kommt ein Vergleichsalgorithmus zum Einsatz, der die Erkennungsqualität des Intents bewertet. Je nach Komplexität des Bewertungsvorgangs kann es sich beim Bewertungsergebnis um einen skalaren Wert oder um einen Vektor oder um eine Matrix handeln. Danach wird der Abstand der beiden Bewertungsergebnisse ermittelt, sinkt dieser Abstand unter einen vorgebbaren Grenzwert, wird die Schleife abgebrochen und der letzte erreichte Feedback- Report wird als Ergebnis weiterverarbeitet.
Das Verfahren wird verwendet für die Zusammenführung von Trainings-Datensätzen, die Ermittlung der Transparenz und Reproduzierbarkeit von Modellen für maschinelles Lernen oder die Optimierung von Machine Learning Modellen und Machine Learning Modellparametern.
Die Erfindung wird im Folgenden anhand von 3 Figuren näher erläutert.
Fig. 1 zeigt ein Ablaufdiagramm, welches einmal durchlaufen wird.
Fig. 2 zeigt ein Ablaufdiagramm, welches mehrfach durchlaufen wird.
Fig. 3 zeigt den Vergleichsalgorithmus.
Fig. 1 zeigt den Ablauf der Schritte
1 Data Entry
2 Training
3 Validation Dataset
4 Quality Metrics
5 Findings
6 Improvement Suggestions
7 Dependency Tree
8 Severity Impact Analysis
9 Feedback Report Generation 10 Request User for Action
11 Implement Changes
12 Trigger Re-Evaluation
Die Schritte 4 bis 8 entsprechen dabei dem Block „Analysis 100“, wobei die Reihenfolge der Schritte innerhalb dieses Blocks teilweise austauschbar ist. Die Schritte 10 bis 12 entsprechen dem Block „Finalisation 200“ iq. 2 zeigt den Ablauf der Schritte
1 Data Entry
2 Training
3 Validation Dataset
4 Quality Metrics
5 Findings
6 Improvement Suggestions
7 Dependency Tree
8 Severity Impact Analysis
9 Feedback Report Generation
10 Request User for Action
11 Implement Changes
12 Trigger Re-Evaluation
13 Rücksprung zum Anfang
Wie in Fig. 1 entsprechen die Schritte 4 bis 8 dabei dem Block „Analysis 100“, wobei die Reihenfolge der Schritte innerhalb dieses Blocks teilweise austauschbar ist. Die Schritte 10 bis 12 entsprechen dem Block „Finalisation 200.“ zeigt den Ablauf der Schritte
1 Data Entry
2 Training
3 Validation Dataset
4 Quality Metrics
5 Findings
6 Improvement Suggestions
7 Dependency Tree
8 Severity Impact Analysis
9 Feedback Report Generation
10 Request User for Action/ Beenden der Programms 11 Implement Changes
12 Trigger Re-Evaluation
13 Rücksprung zum Anfang
14 Feedback Report 1
15 Feedback Report 2
16 Comparison Algorithm
17 Automatic Improvement
Wie in Fig. 1 und 2 entsprechen die Schritte 4 bis 8 dabei dem Block „Analysis 100“, wobei die Reihenfolge der Schritte innerhalb dieses Blocks teilweise austauschbar ist. Die Schritte 10 bis 12 entsprechen dem Block „Finalisation 200.“ Und die Schritte 14 bis 16 dem Block „Comparison“ 300.
Mit diesem Verfahren ist auch eine Aussage über die Qualität des Modells möglich.

Claims

Ansprüche
1. Verfahren zur Optimierung von Trainingsdaten und Machine-Learning-Modul- Parametern für ein computergestütztes Modell, welches zur Bereitstellung von Handlungsanweisungen und Untersuchungsergebnissen erstellt wird, gekennzeichnet durch die Generierung von Feedback durch Abfolge mindestens der Schritte Data Entry (1), Training (2), Validation Dataset (3), Analysis (100), Feedback Report Generation (9), Finalisation (200).
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass die Schritte Data Entry (1), Training (2), Validation Dataset (3), Analysis (100), Feedback Report Generation (9), Finalisation (200), mehrfach durchlaufen werden.
3. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass der Schritt Analysis (100) aus dem Schritt Quality Metrics (4) gebildet ist.
4. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass der Schritt Analysis (100) aus den Schritten Quality Metrics (4) und Findings (5) gebildet ist.
5. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass der Schritt Analysis (100) aus den Schritten Quality Metrics (4), Findings (5) und Dependency Tree (7) gebildet ist.
6. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass der Schritt Analysis (100) aus den Schritten Quality Metrics (4), Findings (5), Dependency Tree (7) und Severity Impact Analysis (8) gebildet ist.
7. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass der Schritt Analysis (100) aus den Schritten Quality Metrics (4), Findings (5), Improvement Suggestions (6), Dependency Tree (7) und Severity Impact Analysis (8) gebildet ist.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass der Schritt Finalisation (200) aus den Schritten Request User for Action (10), Implement Changes (11) oder Trigger Re-Evaluation (12) oder mehreren davon gebildet ist.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass nach jedem Durchlauf der Schritte ein Vergleich der erzeugten Reports erfolgt, der Abstand der Reports numerisch gemessen wird, und das weitere Durchlaufen nach Erreichen eines Schwellenwerts oder definierter Abbruchkriterien beendet wird. Verfahren nach einem der Ansprüche 2 oder 3, dadurch gekennzeichnet, dass nach dem Schritt Feedback Report Generation (9) ein Vergleich der erzeugten Reports erfolgt, der Abstand der Reports numerisch gemessen wird, und das weitere Durchlaufen nach Erreichen eines Schwellenwerts oder definierter Abbruchkriterien beendet wird. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass es sich bei dem Optimierungsverfahren um eine Intenterkennung handelt. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass es sich bei dem Optimierungsverfahren um die Optimierung einer Spracherkennung handelt. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass es sich bei dem Optimierungsverfahren um die Optimierung einer NLU Natural Language Understanding handelt. Verwendung eines Verfahrens nach einem der Ansprüche 1 bis 13, gekennzeichnet durch die Zusammenführung von Trainings-Datensätzen. Verwendung eines Verfahrens nach einem der Ansprüche 1 bis 13, gekennzeichnet durch die Ermittlung der Transparenz und Reproduzierbarkeit von Modellen für maschinelles Lernen. Verwendung eines Verfahrens nach einem der Ansprüche 1 bis 13, gekennzeichnet durch die Optimierung von Machine Learning Modellen und Machine Learning Modellparametern.
PCT/DE2021/100722 2020-08-31 2021-08-31 Verfahren zur optimierung WO2022042805A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102020122769.8 2020-08-31
DE102020122769 2020-08-31

Publications (1)

Publication Number Publication Date
WO2022042805A1 true WO2022042805A1 (de) 2022-03-03

Family

ID=78077967

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2021/100722 WO2022042805A1 (de) 2020-08-31 2021-08-31 Verfahren zur optimierung

Country Status (2)

Country Link
DE (1) DE102021109265A1 (de)
WO (1) WO2022042805A1 (de)

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1669846A1 (de) 2004-09-27 2006-06-14 France Télécom Dialogisierender rationeller agent, intelligentes Dialogsystem das diesen benutzt, Steuerungsverfahren eines intelligenten Dialogs, und Programm für dessen Betrieb
US7606714B2 (en) 2003-02-11 2009-10-20 Microsoft Corporation Natural language classification within an automated response system
EP2757493A2 (de) 2013-01-22 2014-07-23 Maluuba Inc. Verfahren zur Verarbeitung natürlicher Sprache und System
US20150356461A1 (en) 2014-06-06 2015-12-10 Google Inc. Training distilled machine learning models
US9292254B2 (en) 2013-05-15 2016-03-22 Maluuba Inc. Interactive user interface for an intelligent assistant
US20170278514A1 (en) 2016-03-23 2017-09-28 Amazon Technologies, Inc. Fine-grained natural language understanding
US20180052664A1 (en) 2016-08-16 2018-02-22 Rulai, Inc. Method and system for developing, training, and deploying effective intelligent virtual agent
GB2558352A (en) 2016-12-30 2018-07-11 Google Llc Context-aware human-to-computer dialog
US10223445B2 (en) 2013-09-19 2019-03-05 Maluuba Inc. Hybrid natural language processor
US10242667B2 (en) 2016-06-03 2019-03-26 Maluuba Inc. Natural language generation in a spoken dialogue system
US20190171969A1 (en) 2014-02-04 2019-06-06 Maluuba, Inc. Method and system for generating natural language training data
US20190171712A1 (en) 2017-12-05 2019-06-06 discourse.ai, Inc. Computer-based Interlocutor Understanding Using Classifying Conversation Segments
WO2019139604A1 (en) 2018-01-12 2019-07-18 Google Llc Systems, methods, and apparatuses for pausing and resuming a virtual assistant
US20190272269A1 (en) 2011-07-19 2019-09-05 Maluuba Inc. Method and system of classification in a natural language user interface
US10452783B2 (en) 2012-04-20 2019-10-22 Maluuba, Inc. Conversational agent
US20200137002A1 (en) 2018-10-31 2020-04-30 Bryght Ai, Llc Computing Performance Scores Of Conversational Artificial Intelligence Agents
US20200135203A1 (en) 2016-03-16 2020-04-30 Google Llc Determining Dialog States for Language Models
US20200184540A1 (en) 2018-12-10 2020-06-11 Accenture Global Solutions Limited Artificial intelligence and machine learning based conversational agent

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606714B2 (en) 2003-02-11 2009-10-20 Microsoft Corporation Natural language classification within an automated response system
EP1669846A1 (de) 2004-09-27 2006-06-14 France Télécom Dialogisierender rationeller agent, intelligentes Dialogsystem das diesen benutzt, Steuerungsverfahren eines intelligenten Dialogs, und Programm für dessen Betrieb
US20190272269A1 (en) 2011-07-19 2019-09-05 Maluuba Inc. Method and system of classification in a natural language user interface
US10452783B2 (en) 2012-04-20 2019-10-22 Maluuba, Inc. Conversational agent
EP2757493A2 (de) 2013-01-22 2014-07-23 Maluuba Inc. Verfahren zur Verarbeitung natürlicher Sprache und System
US9292254B2 (en) 2013-05-15 2016-03-22 Maluuba Inc. Interactive user interface for an intelligent assistant
US10223445B2 (en) 2013-09-19 2019-03-05 Maluuba Inc. Hybrid natural language processor
US20190171969A1 (en) 2014-02-04 2019-06-06 Maluuba, Inc. Method and system for generating natural language training data
US20150356461A1 (en) 2014-06-06 2015-12-10 Google Inc. Training distilled machine learning models
US20200135203A1 (en) 2016-03-16 2020-04-30 Google Llc Determining Dialog States for Language Models
US20170278514A1 (en) 2016-03-23 2017-09-28 Amazon Technologies, Inc. Fine-grained natural language understanding
US10242667B2 (en) 2016-06-03 2019-03-26 Maluuba Inc. Natural language generation in a spoken dialogue system
US20180052664A1 (en) 2016-08-16 2018-02-22 Rulai, Inc. Method and system for developing, training, and deploying effective intelligent virtual agent
GB2558352A (en) 2016-12-30 2018-07-11 Google Llc Context-aware human-to-computer dialog
US20190171712A1 (en) 2017-12-05 2019-06-06 discourse.ai, Inc. Computer-based Interlocutor Understanding Using Classifying Conversation Segments
WO2019139604A1 (en) 2018-01-12 2019-07-18 Google Llc Systems, methods, and apparatuses for pausing and resuming a virtual assistant
US20200137002A1 (en) 2018-10-31 2020-04-30 Bryght Ai, Llc Computing Performance Scores Of Conversational Artificial Intelligence Agents
US20200184540A1 (en) 2018-12-10 2020-06-11 Accenture Global Solutions Limited Artificial intelligence and machine learning based conversational agent

Also Published As

Publication number Publication date
DE102021109265A1 (de) 2022-03-03

Similar Documents

Publication Publication Date Title
DE69022842T2 (de) Verwendung von Befehlsähnlichkeiten in einem intelligenten Hilfssystem.
DE112014002819B4 (de) System und Verfahren zur Erkennung von Sprache
DE4015905C2 (de) Sprachanalyseeinrichtung, -verfahren und -programm
DE102018128289B4 (de) Verfahren und vorrichtung für eine autonome systemleistung und zur einstufung
DE112018002822T5 (de) Klassifizieren neuronaler netze
DE102020007571A1 (de) Einsetzen einer auf natürlicher Sprache beruhenden Verarbeitung und mehrerer Objektdetektionsmodelle zum automatischen Auswählen von Objekten in Bildern
WO2015113578A1 (de) Verfahren zur automatischen sinnerkennung und messung der eindeutigkeit von text
DE102018005611A1 (de) Automatische Paarbildung von Fonts unter Verwendung des asymmetrischen Metriklernens
DE102019004300A1 (de) Verwendung eines dynamischen speichernetzwerks zum verfolgen digitaler dialogzustände und erzeugen von antworten
DE102019126195A1 (de) Verfahren zur effizienten, simulativen Applikation automatisierter Fahrfunktionen
DE4119091C2 (de) Verfahren zum Erkennen von Zeichen, insbesondere Schriftzeichen und Einrichtung zur Durchführung des Verfahrens
DE112013002654T5 (de) Verfahren zum Klassifizieren von Text
DE102019204139A1 (de) Training für künstliche neuronale Netzwerke mit besserer Ausnutzung der Lern-Datensätze
WO2018077745A1 (de) Analyseverfahren für objektmarkierungen in bildern auf basis von modellen
DE102021209171A1 (de) System zum wählen eines lernenden modells
DE102022201753A1 (de) Erweiterung Graph- basierter Kennzeichnungsregeln für schwach überwachtesTraining von auf maschinellem Lernen basierender Eigennamenerkennung
DE102021124445A1 (de) Metamerkmal-trainingsmodelle für maschinenlernalgorithmen
DE69118736T2 (de) Operationskontrollapparat
DE102020215589A1 (de) Steuern eines deep-sequence-modells mit prototypen
DE102021204550A1 (de) Verfahren zum Erzeugen wenigstens eines Datensatzes zum Trainieren eines Algorithmus maschinellen Lernens
DE4121453C2 (de) Näherungsschlußfolgerungsvorrichtung
WO2022042805A1 (de) Verfahren zur optimierung
DE112021000251T5 (de) Verfahren zum auswählen von datensätzen zum aktualisieren eines moduls mit künstlicher intelligenz
DE102019127622B4 (de) Abwehrgenerator, Verfahren zur Verhinderung eines Angriffs auf eine KI-Einheit und computerlesbares-Speichermedium
DE102021113009A1 (de) Vorrichtung zum steuern einer objektverfolgung und verfahren dafür

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21786326

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 21786326

Country of ref document: EP

Kind code of ref document: A1