-
EINLEITUNG
-
Die Informationen in diesem Abschnitt dienen dazu, den Kontext der Offenbarung allgemein darzustellen. Arbeiten der vorliegend genannten Erfinder, soweit sie in diesem Abschnitt beschrieben sind, sowie Aspekte der Beschreibung, die zum Zeitpunkt der Anmeldung möglicherweise nicht zum Stand der Technik gehören, sind weder ausdrücklich noch stillschweigend als Stand der Technik gegen die vorliegende Offenbarung zugelassen.
-
Die vorliegende Offenbarung bezieht sich allgemein auf die Verarbeitung natürlicher Sprache und insbesondere auf die automatische Ontologieextraktion auf der Grundlage von Transferlernen (engl. transfer learning) und Deep Learning bzw. tiefes Lernen zur Erkennung neuen Domänenwissens.
-
Word2vec (w2v) ist eine Technik zur Verarbeitung natürlicher Sprache, die ein neuronales Netzwerkmodell verwendet, um Wortassoziationen aus einem großen Textkorpus zu lernen. Ein trainiertes Modell kann synonyme Wörter erkennen oder zusätzliche Wörter für einen Satzteil vorschlagen. w2v repräsentiert jedes einzelne Wort mit einem Vektor. Die Vektoren werden so ausgewählt, dass eine mathematische Funktion den Grad der semantischen Ähnlichkeit zwischen den durch die Vektoren dargestellten Wörtern angeben kann. w2v akzeptiert einen großen Textkorpus als Eingabe und generiert einen mehrdimensionalen Vektorraum. Jedem eindeutigen Wort im Korpus wird ein entsprechender Vektor im Vektorraum zugeordnet. Wortvektoren werden im Vektorraum so positioniert, dass Wörter, die im Korpus gemeinsame Kontexte haben, im Vektorraum nahe beieinander liegen.
-
ZUSAMMENFASSUNG
-
Ein System umfasst einen Prozessor und einen Speicher, der Anweisungen speichert, die, wenn sie von dem Prozessor ausgeführt werden, den Prozessor so konfigurieren, dass er unstrukturierte Daten verarbeitet, um eine Vielzahl von Teilmengen von Text in einer Textmenge in den unstrukturierten Daten zu identifizieren. Die Anweisungen sind so konfiguriert, dass der Prozessor für eine Teilmenge aus der Vielzahl von Teilmengen Wahrscheinlichkeiten bestimmt, die auf einer Position der Teilmenge in der Textmenge, der Wortart (Part of Speech bzw. POS) jedes Worts in der Teilmenge und den Wortarten (POSs) von einem oder mehreren Wörtern auf der linken und rechten Seite der Teilmenge basieren, wobei die Anzahl des einen oder der mehreren Wörter auf der Grundlage der Länge der Textmenge ausgewählt wird. Die Anweisungen sind so konfiguriert, dass der Prozessor einen Merkmalsvektor für die Teilmenge generiert, wobei der Merkmalsvektor die Wahrscheinlichkeiten und zusätzliche Merkmale der Teilmenge enthält. Die Anweisungen sind so konfiguriert, dass der Prozessor unter Verwendung eines Klassifizierers die Teilmenge auf der Grundlage des Merkmalsvektors für die Teilmenge in eine von mehreren Klassen klassifiziert, wobei die mehreren Klassen eine Ontologie eines Wissensgebiets darstellen.
-
Gemäß anderen Merkmalen ist der Prozessor so konfiguriert, dass er ein Modell unter Verwendung eines manuell etikettierten (engl. manually labeled) ersten Satzes von Merkmalsvektoren, die aus den unstrukturierten Daten generiert wurden, trainiert und einen zweiten Satz von Merkmalsvektoren, die aus den unstrukturierten Daten generiert wurden, unter Verwendung des trainierten Modells automatisch etikettiert (engl. automatically label). Der zweite Satz von Merkmalsvektoren ist um eine oder mehrere Größenordnungen größer als der erste Satz von Merkmalsvektoren.
-
Gemäß anderen Merkmalen umfasst der Klassifizierer einen auf Transferlernen basierenden Klassifizierer. Der Prozessor ist so konfiguriert, dass er den auf Transferlernen basierenden Klassifizierer unter Verwendung des größeren, automatisch etikettierten zweiten Satzes von Vektoren trainiert, um Schichten der unteren Ebenen des auf Transferlernen basierenden Klassifizierers zu trainieren, und dann den manuell etikettierten ersten Satz von Merkmalsvektoren verwendet, die eine höhere Qualität, aber eine geringere Quantität als der größere, automatisch etikettierte zweite Satz von Vektoren haben, um Schichten der oberen Ebenen des auf Transferlernen basierenden Klassifizierers neu zu trainieren, um einen F1-Score des auf Transferlernen basierenden Klassifizierers zu verbessern, mit dem Merkmalsvektoren, die zusätzliche unstrukturierte Daten darstellen, in die mehreren Klassen klassifiziert werden.
-
Gemäß einem weiteren Merkmal umfasst das Modell ein auf Random Forest basierendes Modell, und der Klassifizierer umfasst ein auf Transferlernen basierendes tiefes neuronales Netz.
-
Gemäß anderen Merkmalen umfassen die Wahrscheinlichkeiten Bayes'sche Wahrscheinlichkeiten, die Teilmenge an einer vorbestimmten Position in Textmengen einer vorbestimmten Länge in den unstrukturierten Daten mit den Wortarten (POSs) des einen oder der mehreren Wörter auf der linken und rechten Seite der Teilmenge vorzufinden.
-
Gemäß anderen Merkmalen umfassen die zusätzlichen Merkmale des Merkmalsvektors Anfangs- und Endpositionen der Teilmenge in der Textmenge, die Länge der Textmenge und Word2vec für jedes Wort in der Teilmenge.
-
Gemäß anderen Merkmalen ist der Prozessor so konfiguriert, dass er die Länge der Textmenge bestimmt und jedem Wort in der Textmenge POSs zuordnet.
-
Gemäß anderen Merkmalen umfasst die Verarbeitung der unstrukturierten Daten das Bereinigen der unstrukturierten Daten durch Entfernen zusätzlicher Leerzeichen, Hinzufügen von Leerzeichen zwischen Wörtern, Trennen falsch verbundener Wörter, Verbinden falsch getrennter Wörter und Korrigieren der Rechtschreibung.
-
Gemäß anderen Merkmalen umfassen die unstrukturierten Daten von Händlern erhaltene Fahrzeug-Serviceberichte, und zu den mehreren Klassen gehören Teile, Symptome, Aktionen und andere nicht-technische Daten.
-
Gemäß anderen Merkmalen ist der Prozessor so konfiguriert, dass er Teile der vom Klassifizierer klassifizierten Daten verarbeitet und auf der Grundlage der Verarbeitung der vom Klassifizierer klassifizierten Datenteile die Qualität von mindestens einem der Bereiche Herstellung von Fahrzeugen, Wartung von Fahrzeugen und in Fahrzeugen verwendete Teile bewertet.
-
Gemäß noch anderen Merkmalen umfasst ein Verfahren die Verarbeitung unstrukturierter Daten, um eine Vielzahl von Teilmengen von Text in einer Textmenge in den unstrukturierten Daten zu identifizieren. Das Verfahren umfasst das Bestimmen von Wahrscheinlichkeiten für eine Teilmenge aus der Vielzahl von Teilmengen, basierend auf der Position der Teilmenge in der Textmenge, der Wortart (Part of Speech bzw. POS) jedes Worts in der Teilmenge und den Wortarten (POSs) von einem oder mehreren Wörtern auf der linken und rechten Seite der Teilmenge, wobei die Anzahl des einen oder der mehreren Wörter basierend auf der Länge der Textmenge ausgewählt wird. Das Verfahren umfasst die Generierung eines Merkmalsvektors für die Teilmenge, wobei der Merkmalsvektor die Wahrscheinlichkeiten und zusätzliche Merkmale der Teilmenge enthält. Das Verfahren umfasst die Klassifizierung der Teilmenge in eine von mehreren Klassen unter Verwendung eines Klassifizierers auf der Grundlage des Merkmalsvektors für die Teilmenge, wobei die mehreren Klassen eine Ontologie eines Wissensgebiets darstellen.
-
Gemäß anderen Merkmalen umfasst das Verfahren ferner das Trainieren eines Modells unter Verwendung eines manuell etikettierten ersten Satzes von Merkmalsvektoren, die aus den unstrukturierten Daten generiert wurden, und das automatische Etikettieren eines zweiten Satzes von Merkmalsvektoren, die aus den unstrukturierten Daten generiert wurden, unter Verwendung des trainierten Modells. Der zweite Satz von Merkmalsvektoren ist um eine oder mehrere Größenordnungen größer als der erste Satz von Merkmalsvektoren.
-
Gemäß anderen Merkmalen umfasst das Verfahren ferner das Trainieren des Klassifizierers unter Verwendung des automatisch etikettierten zweiten Satzes von Vektoren, um zunächst Schichten niedriger Ebenen des Klassifizierers zu trainieren, und dann die Verwendung des manuell etikettierten ersten Satzes von Merkmalsvektoren, die eine höhere Qualität als der automatisch etikettierte zweite Satz von Merkmalsvektoren aufweisen, um Schichten hoher Ebenen des Klassifizierers zu trainieren, um Merkmalsvektoren, die zusätzliche unstrukturierte Daten darstellen, in die mehreren Klassen zu klassifizieren.
-
Gemäß einem anderen Merkmal umfasst das Modell ein Modell auf der Grundlage eines Random Forest, wobei der Klassifizierer ein tiefes neuronales Netz umfasst.
-
Gemäß anderen Merkmalen umfassen die Wahrscheinlichkeiten Bayes'sche Wahrscheinlichkeiten, die Teilmenge an einer vorbestimmten Position in Textmengen einer vorbestimmten Länge in den unstrukturierten Daten mit den POSs des einen oder der mehrerer Wörter auf der linken und rechten Seite der Teilmenge aufzufinden.
-
Gemäß anderen Merkmalen umfassen die zusätzlichen Merkmale des Merkmalsvektors Anfangs- und Endpositionen der Teilmenge in der Textmenge, die Länge der Textmenge und Word2vec für jedes Wort in der Teilmenge.
-
Gemäß anderen Merkmalen umfasst das Verfahren ferner die Bestimmung der Länge der Textmenge und die Zuordnung von POSs zu jedem Wort in der Textmenge.
-
Gemäß anderen Merkmalen umfasst die Verarbeitung der unstrukturierten Daten das Bereinigen der unstrukturierten Daten durch Entfernen zusätzlicher Leerzeichen, Hinzufügen von Leerzeichen zwischen Wörtern, Trennen falsch verbundener Wörter, Verbinden falsch getrennter Wörter und Korrigieren der Rechtschreibung.
-
Gemäß anderen Merkmalen umfassen die unstrukturierten Daten von Händlern erhaltene Fahrzeug-Serviceberichte, und zu den mehreren Klassen gehören Teile, Symptome, Aktionen und andere nicht-technische Daten.
-
Gemäß anderen Merkmalen umfasst das Verfahren ferner die Verarbeitung von Teilen der durch den Klassifizierer klassifizierten Daten; und die Bewertung der Qualität von mindestens einem der Bereiche Herstellung von Fahrzeugen, Wartung von Fahrzeugen und in Fahrzeugen verwendete Teile auf der Grundlage der Verarbeitung der durch den Klassifizierer klassifizierten Datenteile.
-
Weitere Anwendungsbereiche der vorliegenden Offenbarung ergeben sich aus der detaillierten Beschreibung, den Ansprüchen und den Zeichnungen. Die ausführliche Beschreibung und die spezifischen Beispiele dienen lediglich der Veranschaulichung und sollen den Umfang der vorliegenden Offenbarung nicht einschränken.
-
Figurenliste
-
Die vorliegende Offenbarung wird aus der detaillierten Beschreibung und den beigefügten Zeichnungen vollständiger ersichtlich, wobei gilt:
- 1 zeigt ein System zur Durchführung von Ontologieextraktion auf der Grundlage von Transferlernen und Deep Learning gemäß der vorliegenden Offenbarung;
- 2 zeigt ein Flussdiagramm eines Verfahrens zur Durchführung einer Ontologieextraktion auf der Grundlage von Deep Learning unter Verwendung des Systems von 1;
- 3 zeigt ein Flussdiagramm eines Verfahrens zur Generierung eines Vektors unter Verwendung des Systems von 1; und
- 4 zeigt ein Flussdiagramm eines Verfahrens zum Trainieren eines maschinellen Lernmodells, um automatisch große Mengen an etikettierten Trainingsdaten zu generieren, um einen Klassifizierer, wie z.B. ein neuronales Deep-Learning-Netz, unter Verwendung des Systems von 1 zu trainieren.
-
In den Zeichnungen können Bezugszahlen erneut verwendet werden, um ähnliche und/oder identische Elemente zu bezeichnen.
-
DETAILLIERTE BESCHREIBUNG
-
Es wird ein neuartiges Kodierungsschema vorgeschlagen, um ein auf Transferlernen basierendes Deep-Learning-Modell zu trainieren. Die Kodierung umfasst verschiedene Elemente, wie z.B. die Wortart auf der Grundlage eines verteilungsbasierten Bayes'schen Wahrscheinlichkeitsmodells, Word2vec (w2v), die Position von Fachbegriffen innerhalb eines Dokuments, die Länge von Wortlauten (engl.: length of verbatim), die Häufigkeit von Begriffen, die inverse Dokumenthäufigkeit von Begriffen und die Wortart. Insbesondere wird die auf einem verteilungsbasierten Bayes'schen Wahrscheinlichkeitsmodell basierende Wortart auf der Grundlage der Wortarten konstruiert, die sich auf kritische Fachbegriffe und ihre Positionen innerhalb von Wortlauten mit bestimmten Längen beziehen, wodurch adaptive Kontextinformationen von Fachbegriffen erfasst werden. Die Bayes'sche Wahrscheinlichkeit von Wortarten, die mit Fachbegriffen an einer bestimmten Position in einem Wortlaut einer bestimmten Länge verbunden sind, wird in einen Vektor umgewandelt. Dieser Vektor wird als eines der Elemente des neuen Kodierungsschemas verwendet.
-
Eine Ontologie ist eine Sammlung von Konzepten, ihren Instanzen und Kategorien in einem Themenbereich oder einer Domäne, die deren Eigenschaften und Beziehungen untereinander aufzeigt. Beim Ontologie-Lernen (das ein ungelöstes Forschungsproblem ist, insbesondere in der Automobilindustrie) geht es um die Identifizierung und Extraktion von Konzepten, die in Textdaten erfasst sind, und deren Klassifizierung in bestimmte Klassen. In Branchen wie dem Fahrzeugbau können solche Konzepte zur Erfüllung verschiedener Aufgaben eingesetzt werden (z.B. Identifizierung neuer Sicherheitsprobleme, Qualitätskontrolle, Lieferkette, Diagnose und Prognose). Die vorliegende Offenbarung stellt ein System zur Verarbeitung natürlicher Sprache (NLP) bereit, das Datenkodierung und ein auf Transferlernen basierendes Deep-Learning-Modell umfasst, das Kontextinformationen, Positionsmerkmale (z.B. Anfangs- und Endpositionen, relative Position und Länge des Wortlauts), syntaktische Informationen und ein neuartiges Verteilungswahrscheinlichkeitsmodell auf der Grundlage von Wortarten verwendet, um neue Konzepte aus unstrukturierten Textdaten zu extrahieren und zu klassifizieren (z.B. um N-Gramme in ihre spezifischen Klassen zu extrahieren und zu klassifizieren, wie z.B. Teile, Symptome und Aktionen aus Garantie-/Servicedaten von Fahrzeugen).
-
Das Modell verbessert die Genauigkeit der Begriffsextraktion gegenüber herkömmlichen maschinellen Lernmodellen erheblich.
-
Das Modell der automatischen Ontologieextraktion und die extrahierten Konzepte können ein Domänenmodell zur Unterstützung der Semantik für verschiedene Textalgorithmen in der Fertigungsindustrie liefern. Neu entdeckte Teile, Symptome und Aktionen können eine bessere Abdeckung zur Erkennung von Fehlern im Sinne der Erstellung neuer Fehlersignaturen bieten. Das System überwindet die Grenzen der manuellen Pflege der Ontologie, die nicht nur zeitaufwändig, sondern aufgrund des Umfangs der Daten (z.B. Garantie-/Servicedaten, die von Autohäusern in der ganzen Welt gesammelt werden) auch nicht praktikabel ist.
-
Im System der vorliegenden Offenbarung werden die aus verschiedenen Quellen gesammelten Daten durch die Kombination von Kontext-, Positions- und syntaktischen Informationen kodiert, wodurch die Daten in einen hyperdimensionalen Vektorraum transformiert werden können. Während ein Word2vec-Modell statische Kontextvektoren liefert, die aus Wörtern der Oberflächenebene (d.h. tatsächlichen Wörtern oder Phrasen, z.B. Motorsteuerungsmodul) aufgebaut sind, berücksichtigt das Word2vec-Modell bei der Konstruktion seiner Umgebungsinformationen nicht die unterschiedlichen Positionen solcher Wörter in verschiedenen Wortlauten unterschiedlicher Länge. Noch wichtiger ist, dass das w2v-Modell den Kontextvektor mit Hilfe von tatsächlichen Wörtern aufbaut, z.B. Motorsteuerungsmodul, aber wenn die in den Daten vorhandenen Wörter in den historischen Daten nicht beobachtet werden, erstellt das w2v-Modell am Ende einen leeren Vektor. Dies schränkt die Fähigkeit ein, eine vektorisierte Darstellung von Daten zu erstellen, die sich auf einen neuen Technologieraum beziehen, z.B. elektrische und autonome Fahrzeuge. Das System verwendet außerdem ein Random-Forest-Modell zur automatischen und präzisen Etikettierung von Daten im industriellen Maßstab.
-
Typischerweise liefert das Word2vec (w2v)-Modell eine Vektorisierung auf Korpusebene für jedes Wort oder jede Phrase. Das w2v-Modell liefert jedoch einen identischen Vektor für eine Phrase, unabhängig davon, ob sie an verschiedenen Positionen in einem anderen Wortlaut im Korpus vorkommt. Außerdem stützt sich das w2v-Modell stark auf Oberflächenphrasen (z.B. Fahrzeug), um einen Vektor zu konstruieren. Stattdessen verwendet die Vektorisierung im System der vorliegenden Offenbarung die einer Phrase zugewiesene Wortart (Part of Speech, POS) und berechnet dann ihre Wahrscheinlichkeit, die von den Wortarten von umgebenden Phrasen sowie von ihrer Position in verschiedenen Wortlauten unterschiedlicher Länge abhängt. Das System erweitert auch das w2v-Modell, indem es dieses in POS2vec umwandelt. Dieser Vektor wird zusammen mit w2v als einer der Kodierer für die Phrase kombiniert.
-
Typischerweise sind überwachte Klassifizierer in einem industriellen Umfeld nur begrenzt anwendbar, da nur eine begrenzte Menge an etikettierten Daten zur Verfügung steht. In dem System der vorliegenden Offenbarung wird ein Random-Forest-Modell auf einer kleinen Menge hochwertiger, manuell etikettierter Daten trainiert. Das trainierte Modell wird dann zur Korrektur von Etikettierungsfehlern verwendet und anschließend zur automatischen Etikettierung großer Datenmengen eingesetzt. Das trainierte Modell ist nicht nur genau, sondern spart auch enorm viel Zeit und Mühe, die sonst für die manuelle Etikettierung großer Datenmengen aus zahlreichen Quellen in einem industriellen Umfeld aufgewendet werden müsste.
-
Konkret extrahiert und klassifiziert das System der vorliegenden Offenbarung geschäftskritische technische Phrasen, z.B. im Kontext der Fahrzeuggarantie, Teil, Symptom und Aktion (d.h. Art der Reparatur oder Dienstleistung) aus unstrukturierten Garantie-Textdaten, indem es Datenkodierung und ein Deep-Learning-Modell verwendet. Mit den neu extrahierten Begriffen können neue Fehlersignaturen erstellt werden, die wiederum eine höhere Abdeckung bei der Fehlererkennung ermöglichen.
-
Das System verbessert den technischen Bereich der Verarbeitung natürlicher Sprache im Allgemeinen und löst die mit der Ontologieextraktion verbundenen Probleme im Besonderen, indem es die oben genannten Einschränkungen des Word2vec-Modells überwindet. Das System erweitert das Word2vec-Modell, indem es die Kontextinformationen auf Korpusebene berücksichtigt. Das System konstruiert einen dynamischen Kontextvektor, indem es Wortarten von Begriffen in der Umgebung und Positionsinformationen verwendet. Der dynamische Kontextvektor liefert umfassendere Kontextinformationen als w2v. Ein Verteilungswahrscheinlichkeitsmodell sorgt für einen adaptiven Kontext, in dem Wortarten von Phrasen auf der Grundlage ihrer Positionen in verschiedenen Wortlauten zusammen mit Teilen der umgebenden Begriffe verwendet werden. Das Verteilungswahrscheinlichkeitsmodell schätzt die Wahrscheinlichkeit dynamisch über den gesamten Korpus hinweg, wobei Änderungen im Kontext eines bestimmten Begriffs berücksichtigt werden. Diese und andere Merkmale des Systems der vorliegenden Offenbarung werden im Folgenden detailliert beschrieben.
-
Viele Fahrzeughersteller produzieren und verkaufen Fahrzeuge international. Händler auf der ganzen Welt erstellen Serviceberichte, wenn Fahrzeuge gewartet werden. Diese Berichte enthalten in der Regel kurze, unstrukturierte Texte mit Kundenbeschwerden, durchgeführten Fehleranalysen und Teilen, die als defekt erkannt und ausgetauscht wurden. Die Hersteller unterhalten in der Regel zentralisierte Datenbanken mit diesen Berichten. Inhalt und Form des Textes in diesen Berichten können sehr unterschiedlich sein. Zum Beispiel ist der Text nicht nur frei formuliert (d.h. nicht standardisiert), sondern kann auch ausführlich oder abgekürzt sein, lokale Terminologie, Abkürzungen usw. enthalten. Der Umfang der Daten ist enorm.
-
Bestimmte Informationen, wie z.B. Teil, Symptom und Maßnahme, können, wenn sie aus diesen Berichten extrahiert werden, von verschiedenen Gruppen für unterschiedliche Zwecke verwendet werden (z.B. Identifizierung neu auftretender Sicherheitsprobleme, Qualitätskontrolle, Lieferkette sowie Diagnose und Prognose). In Anbetracht des Umfangs und der Vielfalt der Daten ist es nicht praktikabel, die Mengen dieser Berichte manuell zu sortieren und die Teile, Symptome und Maßnahmen aus diesen Berichten zu extrahieren. Stattdessen kann ein auf Transferlernen basierendes Deep-Learning-Modell trainiert werden, um diese Informationen automatisch aus diesen Berichten zu extrahieren. Das Modell ist in der Lage, die Ontologie zu erlernen und kann sich daher an neu entstehende Technologien anpassen (z.B. Elektrofahrzeuge und autonome Fahrzeuge).
-
1 gibt einen Überblick über ein System 100 zur Durchführung von auf Transferlernen basierter Deep-Learning-Ontologieextraktion gemäß der vorliegenden Offenbarung. Während das System in der vorliegenden Offenbarung im Zusammenhang mit Garantiedaten beschrieben wird, die nur als illustratives Beispiel verwendet werden, ist das System in verschiedenen anderen technischen und verarbeitenden Industrien (z.B. Luft- und Raumfahrt, Schwermaschinenbau, Bergbau) breit anwendbar. Eine oder mehrere Komponenten des Systems 100 können in einer Cloud verteilt sein.
-
Das System 100 umfasst ein Eingabemodul 102, ein Bereinigungsmodul 104, ein Kodierungsmodul 106, ein Etikettierungsmodul 108 und ein Klassifizierungsmodul 110. Im Folgenden wird das System 100 im Detail beschrieben. Kurz gesagt empfängt das Eingabemodul 102 Serviceberichte von Händlern. Das Bereinigungsmodul 104 bereinigt die Daten in den Serviceberichten. Das Kodierungsmodul 106 kodiert die bereinigten Daten und generiert Vektoren. Das Etikettierungsmodul 108, das während der Trainingsphase verwendet wird, generiert Etikettierungen für die Vektoren unter Verwendung eines ML-Modells, um ein tiefes neuronales Transferlern-Netz im Klassifizierungsmodul 110 zu trainieren und die Vektoren zu klassifizieren. Das Klassifizierungsmodul 110 umfasst das tiefe neuronale Transferlern-Netz, das mit den etikettierten Vektoren trainiert wurde und die Vektoren klassifiziert, die vom Kodierungsmodul 106 während des normalen Betriebs generiert werden.
-
Die Eingabe für das System 100 umfasst beispielsweise zahlreiche Aufzeichnungen von Serviceberichten, die von Händlern aus aller Welt eingehen. Das Eingabemodul 102 empfängt diese Datensätze mit den Serviceberichten. Diese Serviceberichte können z.B. über das Internet oder über ein vom Herstellerunternehmen unterhaltenes Intranet empfangen werden. Die Serviceberichte, sofern sie nicht in englischer Sprache und in Textform vorliegen, werden eingescannt und gegebenenfalls übersetzt.
-
Verschiedene Händler verwenden möglicherweise unterschiedliche Begriffe, um ähnliche Probleme zu beschreiben. In einem Bericht kann beispielsweise stehen: „Fahrzeug würgt ab, ECM ausgetauscht“, während in einem anderen Bericht dasselbe Problem als „Fahrzeug bleibt abrupt stehen, Steuermodul defekt“ usw. beschrieben wird. Neben diesen Unterschieden kann der Text in den Berichten auch andere Inkonsistenzen aufweisen, z.B. Rechtschreibfehler, Abkürzungen, fehlende Leerzeichen zwischen Wörtern, zu viele Leerzeichen zwischen Wörtern, fehlende Interpunktion usw. Das Bereinigungsmodul 104 bereinigt die Textdaten in den Berichten, um diese Inkonsistenzen zu beseitigen.
-
In der Computerlinguistik ist ein N-Gramm eine zusammenhängende Folge von N Elementen aus einem bestimmten Text- oder Sprachmuster. Die Elemente können je nach Anwendung Phoneme, Silben, Buchstaben, Wörter oder Phrasen sein. Das Kodierungsmodul 106 umfasst ein Parsing-Modul 120, ein Wortart- bzw. POS (Part of Speech)-Modul 122, ein Wahrscheinlichkeitsmodul 124 und ein Vektormodul 126. Das Kodierungsmodul 106 wird im Folgenden näher beschrieben. Kurz gesagt sammelt das Parsing-Modul 120 N-Gramme aus einem Text- oder Sprachkorpus, z.B. aus den bereinigten Textdaten, die vom Bereinigungsmodul 104 ausgegeben werden. Das POS-Modul 122 ordnet den Phrasen in den N-Grammen POS zu. Das Wahrscheinlichkeitsmodul 124 generiert verteilte Wahrscheinlichkeiten für die N-Gramme auf der Grundlage der POSs, wie unten im Detail erläutert. Für jedes N-Gramm generiert das Vektormodul 126 einen mehrdimensionalen Vektor, der die verteilten Wahrscheinlichkeiten und verschiedene andere Merkmale enthält, die das N-Gramm beschreiben. Zu den Merkmalen gehören z.B. N-Gramm-Anfangsposition, N-Gramm-Endposition, Anfangsindex, Endindex, Länge des Wortlauts, Verteilungswahrscheinlichkeit (unten erklärt), w2v, Wortart zu Vektor bzw. POS to vector, Länge des Wortlauts, Begriffshäufigkeit, inverse Dokumenthäufigkeit, Begriffshäufigkeit inverse Dokumenthäufigkeit usw.
-
Das Etikettierungsmodul 108 etikettiert die kodierten Daten (d.h. die Vektoren). Das Etikettierungsmodul 108 verwendet einen hybriden Ansatz zur Etikettierung der kodierten Daten. Eine kleine Anzahl von manuell etikettierten (und daher qualitativ hochwertig etikettierten) N-Grammen und deren Vektoren werden zum Trainieren eines maschinellen Lernmodells wie z.B. eines Random-Forest-Modells verwendet. Konkret wird jedem Vektor ein Etikett zugewiesen, so dass jedes Wort im N-Gramm-Text, wenn es in Verbindung mit einem Etikett erfasst wird, als Teil, Symptom, Aktion oder anderer Text (d.h. keines von Teil, Symptom und Aktion) klassifiziert werden kann. Das trainierte Random-Forest-Modell wird auf seine Genauigkeit getestet und auf eventuelle Etikettierungsfehler korrigiert.
-
Danach verwendet das Etikettierungsmodul 108 das trainierte Random-Forest-Modell, um automatisch große Mengen von Vektoren zu etikettieren, die vom Kodierungsmodul 106 empfangen wurden. Die großen Mengen an etikettierten Vektoren aus dem Etikettierungsmodul 108 werden dann zum Trainieren des tiefen neuronalen Transferlern-Netzes im Klassifizierungsmodul 110 verwendet, wie unten beschrieben. Der hybride Ansatz (d.h. zunächst die Verwendung einer kleinen Menge qualitativ hochwertiger etikettierter Daten zum Trainieren eines ML-Modells und dann die Verwendung des trainierten Modells zum automatischen Etikettieren großer Mengen von Trainingsdaten), der vom Etikettierungsmodul 108 verwendet wird, um eine große Menge etikettierter Trainingsdaten zu generieren, stellt eine erhebliche Verbesserung im technischen Bereich des Deep Learning dar, da normalerweise große Sätze von Trainingsdaten manuell etikettiert werden, um die Genauigkeit beim Deep Learning zu gewährleisten. Im Gegensatz dazu generiert das Etikettierungsmodul 108 aufgrund des hybriden Ansatzes nicht nur automatisch große Mengen an etikettierten Trainingsdaten, sondern die etikettierten Trainingsdaten sind auch sehr genau. Dies verbessert die Leistung von Deep-Learning-Modellen in realen industriellen Umgebungen erheblich und ermöglicht ihr Training in großem Maßstab, um die Modellgenauigkeit weiter zu verbessern.
-
Ein tiefes neuronales Transferlern-Netz, das im Klassifizierungsmodul 110 verwendet wird, wird dann trainiert, wobei als Eingaben die Vektoren und die zugehörigen Etikettierungen verwendet werden, die vom Etikettierungsmodul 108 generiert wurden, um als Vier-Klassen-Klassifizierer zu arbeiten. Im Einsatz (d.h. im Normalbetrieb) wird das Etikettierungsmodul 108 nicht mehr verwendet. Wenn neue Berichte vom Eingabemodul 102 empfangen werden, bereinigt das Bereinigungsmodul 104 den Text in den Berichten. Das Kodierungsmodul 106 kodiert den bereinigten Text und generiert Vektoren für N-Gramme im bereinigten Text. Die Vektoren werden dann direkt in ein tiefes neuronales Transferlern-Netz im Klassifizierungsmodul 110 eingegeben, das die N-Gramme in eine von vier Klassen klassifiziert (d.h. etikettiert): Teil, Symptom, Aktion, oder anderer Text. Das trainierte Modell mit einem zufriedenstellenden F1-Score (siehe Definition unten) wird im Klassifizierungsmodul 110 gespeichert, um eine neue Ontologie zu erlernen oder eine bestehende Ontologie aus den rohen Eingabedaten (z.B. den Serviceberichten) zu erweitern, und das für eine Vielzahl von Zwecken (z.B. Qualitätskontrolle, Sicherheitsanalysen usw.) verwendet werden kann. Eine neue Ontologie kann aus neuen Rohdaten gelernt werden. Eine bestehende Ontologie kann durch die aus den Rohdaten gelernte Ontologie ergänzt werden. Der F1-Score, auch F-Score oder F-Maß genannt, ist ein Maß für die Genauigkeit eines Tests. Der F1-Score ist definiert als das gewichtete harmonische Mittel aus Präzision und Wiederaufruf bzw. Recall des Tests.
-
Das Kodierungsmodul 106 wird nun näher beschrieben. Insbesondere nutzt das Kodierungsmodul 106 nicht nur die Größe der N-Gramme oder die Positionen der N-Gramme innerhalb des Wortlauts, wie z.B. Anfangs- und Endpositionen (z.B. durch das Parsing-Modul 120 bestimmt), sondern auch Kontextinformationen und syntaktische Informationen der N-Gramme innerhalb und über den Wortlaut hinweg. Wenn in w2v ein Begriff (z.B. Fahrzeug) an einer Stelle in einem Wortlaut und an einer anderen Stelle in einem anderen Wortlaut erscheint, ist der Vektor für diesen Begriff derselbe (d.h. statisch). Das heißt, in w2v hat der Begriff unabhängig davon, an welcher Stelle des Wortlauts er auftaucht, denselben Vektor. Während der Vektor in w2v also den den Begriff umgebenden Kontext erfasst, verfügt der Vektor nicht über einen adaptiven Kontext. Außerdem stützen sich die Vektoren in w2v auf die Oberflächenbegriffe (d.h. die Wörter wie geschrieben) im Wortlaut. Dementsprechend wäre der Vektor in w2v leer, wenn sich das Eingabevokabular oder die Terminologie aufgrund von technologischen Veränderungen ändert (z.B. von Fahrzeugen mit fossilen Brennstoffen zu Fahrzeugen mit alternativen Energien) oder in der Vergangenheit nicht beobachtet wurde.
-
Im Gegensatz dazu verwendet das Kodierungsmodul 106 zusätzlich einen Teil der mit den Begriffen assoziierten Wortarten (z.B. ermittelt durch das POS-Modul 122). Das Kodierungsmodul 106 wandelt die N-Gramme in ihre jeweilige Wortart um. Wenn eine Wortart mit einem bestimmten Teil, Symptom oder einer Aktion einer bestimmten Größe (z.B. ein Unigramm, ein Bigramm, Trigramm oder Viergramm) in einem Wortlaut einer bestimmten Länge (z.B. bestimmt durch das Parsing-Modul 120) verknüpft ist, bestimmt das Kodierungsmodul 106 die umgebenden Wörter und deren Wortarten. Dementsprechend verwendet das Kodierungsmodul 106 nicht die Oberflächenbegriffe (d.h. die Wörter selbst), sondern deren Wortarten auf der Grundlage ihrer Verknüpfung mit einem Teil, einem Symptom oder einer Aktion und deren Position in einem Wortlaut einer bestimmten Länge.
-
Auf der Grundlage dieser Informationen erstellt das Kodierungsmodul 106 ein Bayes'sches Wahrscheinlichkeitsmodell aus dem gesamten Korpus. Eine Verteilungswahrscheinlichkeit wird geschätzt, um einen dynamischen, adaptiven Kontext aufzubauen (z.B. durch das Wahrscheinlichkeitsmodul 124). Wenn zum Beispiel eine Wortart ein Eigenname (NN) ist, der mit einem Teil (z.B. Fahrzeug) verknüpft ist, der in einem Wortlaut von kurzer Länge erscheint, dann werden ein Begriff auf der linken Seite und ein Begriff auf der rechten Seite des Eigennamens und jeweilige Wortarten dieser benachbarten Begriffe aus allen Wortlauten mit der kurzen Länge ausgewählt, in denen NN an der Position erscheint, an der ein Teil (z.B. Fahrzeug)-POS beobachtet wird, und eine Verteilungswahrscheinlichkeit wird geschätzt. Wenn die Länge des Wortlauts mittel ist, werden zwei Begriffe auf jeder Seite ausgewählt; und wenn die Länge des Wortlauts lang ist, werden drei Begriffe auf jeder Seite ausgewählt.
-
Im Folgenden wird ein Beispiel für ein Verarbeitungsschema zur Generierung von bedingten Wahrscheinlichkeiten für ein N-Gramm in einem bereinigten Wortlaut unter Verwendung des Systems 100 von 1 dargestellt. Es sei zum Beispiel angenommen, dass das Kodierungsmodul 106 den folgenden bereinigten Text vom Bereinigungsmodul 104 erhält: „Vehicle is stalled intake rocker arm came apart replaced valve spring keeper“ (englisch für „Fahrzeug ist abgewürgt Einlasskipphebel hat sich gelöst Ventilfederteller ersetzt“). Beispiele für die Schritte, die das Kodierungsmodul 106 im Kodierungsprozess durchführt, um ein N-Gramm „intake rocker arm“ (englisch für Einlasskipphebel) im obigen Wortlaut zu kodieren, sind in der folgenden Tabelle 1 dargestellt und beschrieben.
-
-
Das Kodierungsmodul 106 parst den rohen Wortlaut (z.B. unter Verwendung des Parsing-Moduls 120), verknüpft mit jedem Teil des Rohtextes eine Wortart (POS) (d.h. das POS-Modul 122 bezeichnet N-Gramm-Token im Text mit Wortarten) und extrahiert die POS-Zuordnungen für den Wortlaut (z.B. unter Verwendung des Wahrscheinlichkeitsmoduls 124).
-
Beispiele für POS-Abkürzungen, die zur Bezeichnung verschiedener Wortarten verwendet werden, sind in Tabelle 2 aufgeführt. Das System 100 von
1 kann jede dieser POSs verwenden, um bedingte Wahrscheinlichkeiten für ein N-Gramm in einem bereinigten Wortlaut unter Verwendung des unten beschriebenen Verarbeitungsschemas zu generieren. Tabelle 2
Nummer | Bez. (Tag) | Beschreibung |
1. | CC | Nebenordnende Konjunktion |
2. | CD | Kardinalzahl |
3. | DT | Artikel |
4. | EX | Existenziell dort (Existential there) |
5. | FW | Fremdwort |
6. | IN | Präposition oder unterordnende Konjunktion |
7. | JJ | Adjektiv |
8. | JJR | Adjektiv, Komparativ |
9. | JJS | Adjektiv, Superlativ |
10. | LS | Listenposten-Markierung (List item marker) |
11. | MD | Modal |
12. | NN | Substantiv, Singular oder Masse |
13. | NNS | Substantiv, Plural |
14. | NNP | Eigenname, Singular |
15. | NNPS | Eigenname, Plural |
16. | PDT | Vorabbestimmer (Predeterminer) |
17. | POS | Possessiv-Endung |
18. | PRP | Personalpronomen |
19. | PRP$ | Possessivpronomen |
20. | RB | Adverb |
21. | RBR | Adverb, Komparativ |
22. | RBS | Adverb, Superlativ |
23. | RP | Partikel |
24. | SYM | Symbol |
25. | TO | Zu |
26. | UH | Interjektion |
27. | VB | Verb, Grundform |
28. | VBD | Verb, Imperfekt |
29. | VBG | Verb, Gerundim oder Partizip Präsens |
30. | VBN | Verb, Partizip Perfekt |
31. | VBP | Verb, nicht 3. Person Einzahl Präsens |
32. | VBZ | Verb, 3. Person Einzahl Präsens |
33. | WDT | W-Wort (Wh-determiner) |
34. | WP | W-Pronomen |
35. | WP$ | W-Possessivpronomen |
36. | WRB | W-Adverb |
-
Es ist zu beachten, dass w2v für jedes Wort des Wortlauts einen Vektor erstellt. Stattdessen verwendet das Kodierungsmodul 106 die POS-Zuordnungen im Wortlaut und baut einen Vektor auf der Grundlage der POS-Zuordnungen im Wortlaut wie folgt auf. Diese Funktion stellt eine weitere Verbesserung im technischen Bereich der Verarbeitung natürlicher Sprache dar, die im Folgenden erläutert wird.
-
Wie im obigen Beispiel gezeigt, kann das Kodierungsmodul 106 beispielsweise einen Vektor für ein ausgewähltes Token oder eine Phrase „intake rocker arm“ (englisch für Einlasskipphebel) (ein N-Gramm mit n = 3) wie folgt erstellen (z.B. mit dem Vektormodul 126). Die Wortart bzw. Part of Speech (POS), die mit dem Token „intake rocker arm“ verknüpft ist, lautet „NN NN NN“. Für die ausgewählte Phrase und den ausgewählten Wortlaut bestimmt das Kodierungsmodul 106 die Länge des Wortlauts und die Position, an der das ausgewählte N-Gramm-Token im Wortlaut erscheint. Die Position ist wichtig, denn wenn das N-Gramm-Token an einer anderen Position im Wortlaut vorkommt, ist es möglich, dass sich nicht nur seine eigene POS ändert, sondern auch die POSs der umgebenden Begriffe im Wortlaut können sich ändern. Da der Vektor für die Phrase auf der Grundlage der positionsabhängigen POS der Phrase generiert wird, hat der Vektor einen adaptiven Kontext im Gegensatz zu w2v, wo er unabhängig von der Position gleich ist und nur auf den Wörtern selbst und nicht auf ihren POSs basiert.
-
Das Kodierungsmodul 106 nimmt die POS der Phrase in Abhängigkeit von ihrer Position im Wortlaut und bestimmt auch die Länge des Wortlauts. Je nachdem, ob die Länge des Wortlauts kurz, mittel oder lang ist (die Kriterien können vorgegeben werden), wählt das Kodierungsmodul 106 die POS von einem, zwei oder drei Begriffen auf jeder Seite (links und rechts) der Phrase aus. Wenn die Länge des Wortlauts kurz ist, wird die POS eines Begriffs auf der linken und eines Begriffs auf der rechten Seite der Phrase ausgewählt. Wenn die Länge des Wortlauts mittel ist, werden zwei Begriffe auf jeder Seite ausgewählt; und wenn die Länge des Wortlauts lang ist, werden drei Begriffe auf jeder Seite ausgewählt.
-
Das Kodierungsmodul 106 schätzt dann Bayes'sche bedingte Wahrscheinlichkeiten der POS der ausgewählten Phrase (z.B. unter Verwendung des Wahrscheinlichkeitsmoduls 124). Wenn beispielsweise die Länge des Wortlauts kurz ist, iteriert das Wahrscheinlichkeitsmodul 124 durch jeden kurzen Wortlaut im Korpus und bestimmt, ob die POS „NN NN NN“ der ausgewählten Phrase in jedem kurzen Wortlaut an der gleichen Position berichtet wird, mit der einen ausgewählten POS links und rechts (VBN bzw. VBD im Beispiel). Wenn die Länge des Wortlauts mittel ist, iteriert das Wahrscheinlichkeitsmodul 124 durch jeden mittleren Wortlaut im Korpus und bestimmt, ob die POS „NN NN NN“ der ausgewählten Phrase in jedem mittleren Wortlaut an der gleichen Position berichtet wird, mit zwei ausgewählten POSs links und rechts (VBN VBZ an der linken ersten bzw. zweiten Position und VBD RB an der rechten ersten bzw. zweiten Position im Beispiel). Wenn die Länge des Wortlauts lang ist, iteriert das Wahrscheinlichkeitsmodul 124 durch jeden langen Wortlaut im Korpus und bestimmt, ob die POS „NN NN NN“ der ausgewählten Phrase in jedem langen Wortlaut an derselben Position berichtet wird, mit drei ausgewählten POS links bzw. rechts (VBN VBZ NNP an der linken ersten, zweiten bzw. dritten Position; und VBD RB VBD auf der rechten ersten, zweiten bzw. dritten Position im Beispiel).
-
So bestimmt das Wahrscheinlichkeitsmodul 124 die bedingte Wahrscheinlichkeit für die POS der ausgewählten Phrase (d.h. die Wahrscheinlichkeit, dass die POS der Phrase an einer bestimmten Position in einem Wortlaut einer bestimmten Länge erscheint) nicht auf der Wortlaut-Ebene, sondern auf der Korpusebene. Die Wahrscheinlichkeit hängt zusätzlich davon ab, ob auf jeder Seite der Phrase die POSs von einem, zwei oder drei Begriffen stehen, je nach Länge des Wortlauts (kurz, mittel oder lang).
-
Dementsprechend ist die bedingte Wahrscheinlichkeit die Wahrscheinlichkeit (likelihood), dass die POS eines N-Gramms an einer bestimmten Position in einem Wortlaut einer bestimmten Länge auftaucht, wenn ein, zwei oder drei bestimmte POSs auf der linken und rechten Seite des N-Gramms vorhanden sind. Wenn die Länge des Wortlauts kurz ist, ist die Wahrscheinlichkeit die Wahrscheinlichkeit (Iikelihood), dass die POS der Phrase (NN NN NN im Beispiel) an einer bestimmten Position in einem kurzen Wortlaut erscheint, da die eine POS links und rechts (VBN bzw. VBD im Beispiel) vorhanden ist. Wenn die Länge des Wortlauts kurz ist, ist die bedingte Wahrscheinlichkeit die Wahrscheinlichkeit (likelihood), dass die POS der Phrase (im Beispiel NN NN NN) an einer bestimmten Position in einem mittleren Wortlaut erscheint, da die beiden POS links und rechts (im Beispiel VBN VBZ an der linken ersten bzw. zweiten Position und VBD RB an der rechten ersten bzw. zweiten Position) vorhanden sind. Wenn die Länge des Wortlauts lang ist, ist die bedingte Wahrscheinlichkeit die Wahrscheinlichkeit (likelihood), dass die POS der Phrase (NN NN NN im Beispiel) an einer bestimmten Position in einem langen Wortlaut erscheint, da die drei POS links und rechts (VBN VBZ NNP an der linken ersten, zweiten bzw. dritten Position und VBD RB VBD auf der rechten ersten, zweiten bzw. dritten Position im Beispiel) vorhanden sind.
-
Ein Beispiel für die bedingte Wahrscheinlichkeit ist die Bayes'sche Wahrscheinlichkeit. Das Kodierungsmodul 106 (z.B. das Vektormodul 126) kodiert dann die bedingten Wahrscheinlichkeiten für die Phrase in den Vektor für die Phrase (d.h. als ein Merkmal in den Vektor aufgenommen). Das Merkmal der bedingten Wahrscheinlichkeit des vom Kodierungsmodul 106 generierten Vektors unterscheidet den POS- und positionsbasierten Vektor von dem herkömmlichen wortbasierten w2v und stellt eine wesentliche Verbesserung im technischen Bereich der Verarbeitung natürlicher Sprache dar. Ein Beispiel für die Berechnung der Bayes'schen Wahrscheinlichkeit im Falle einer POS wie NN in einem kurzen Wortlaut mit einem Begriff auf der linken Seite, der eine POS VBN hat, wird durch die Gleichungen (1) und (2) gegeben. Die Berechnungen für andere Fälle können auf die gleiche Weise durchgeführt werden.
-
Das Etikettierungsmodul 108 wird nun näher beschrieben. Für jeden vom Bereinigungsmodul 104 empfangenen Wortlaut teilt das Kodierungsmodul 106 den Wortlaut in N-Gramme auf (z.B. Monogramm, Bigramm, Trigramm und Tetragramm). Für jedes N-Gramm generiert das Kodierungsmodul 106 Vektoren wie oben beschrieben. Um das vom Etikettierungsmodul 108 verwendete Random-Forest-Modell zu trainieren, wird zunächst eine begrenzte Anzahl von N-Grammen und zugehörigen Vektoren manuell etikettiert (z.B. ob das N-Gramm ein Teil, ein Symptom, eine Aktion oder eine nichttechnische Information ist).
-
Sobald das Random-Forest-Modell auf der Grundlage der begrenzten Anzahl von manuell etikettierten Vektoren trainiert wurde, um einen bestimmten Vektor als ein bestimmtes Etikett zu erkennen (z.B. ob der Vektor ein Teil, ein Symptom oder eine Aktion darstellt), wird das Random-Forest-Modell anhand eines zusätzlichen Validierungsdatensatzes getestet, der Vektoren für nicht etikettierte N-Gramme umfasst. Es können Fehler auftreten (z.B. kann das Random-Forest-Modell einen Vektor falsch etikettieren), da die manuelle Etikettierung, die zum Trainieren des Random-Forest-Modells verwendet wird, aufgrund unterschiedlicher subjektiver Einschätzungen inkonsistent sein kann (z.B. kann ein Etikettierer ein N-Gramm als Teil etikettieren, obwohl das N-Gramm kein Teil ist, usw.). Diese Etikettierungsfehler werden korrigiert, indem die vom Random-Forest-Modell durchgeführte Etikettierung der Vektoren überprüft wird, bis das Random-Forest-Modell die Vektoren mit einem vorbestimmten F1-Genauigkeitsscore etikettieren kann, die empirisch für einen Anwendungsbereich bestimmt wird (z.B. F1 = 0,91).
-
Danach verwendet das Etikettierungsmodul 108 das trainierte Random-Forest-Modell, um große Mengen bereinigter Daten zu etikettieren, die vom Kodierungsmodul 106 kodiert wurden. Das Kodierungsmodul 106 generiert Vektoren für große Mengen bereinigter Daten, und das Etikettierungsmodul 108 etikettiert die Vektoren mithilfe des trainierten Random-Forest-Modells. Die vom Kodierungsmodul 106 generierten Vektoren und die vom Etikettierungsmodul 108 generierten entsprechenden Etikettierungen werden dann zum Trainieren des auf Transferlernen basierenden tiefen neuronalen Netzes verwendet, das im Klassifizierungsmodul 110 eingesetzt wird. Die für das Training des auf Transferlernen basierenden tiefen neuronalen Netzes verwendeten Etiketten werden nicht wie üblich manuell, sondern automatisch durch das trainierte Random-Forest-Modell generiert, was eine erhebliche Verbesserung im technischen Bereich der Verarbeitung natürlicher Sprache darstellt.
-
Sobald das auf Transferlernen basierende tiefe neuronale Netz im Klassifizierungsmodul 110 trainiert ist, ist das System 100 für den normalen Betrieb (d.h. für den Produktionseinsatz) bereit. Im Einsatz empfängt das Eingabemodul 102 neue Serviceberichte. Das Bereinigungsmodul 104 bereinigt die neuen Berichte. Das Kodierungsmodul 106 kodiert die neuen bereinigten Daten und generiert neue Vektoren mit den oben beschriebenen bedingten Wahrscheinlichkeiten und anderen Merkmalen. Das Etikettierungsmodul 108 wird nicht mehr verwendet. Die vom Kodierungsmodul 106 generierten Vektoren werden in das trainierte neuronale Netz im Klassifizierungsmodul 110 eingegeben. Das auf Transferlernen basierende tiefe neuronale Netz klassifiziert (d.h. etikettiert) die Vektoren.
-
Bei einem auf Transferlernen basierenden Klassifizierer für tiefe neuronale Netze wird ein zweistufiger Ansatz verwendet. Zunächst wird das gesamte Netz (d.h. alle Schichten des Netzes) durch Verwendung einer großen Menge an etikettierten Datensätzen trainiert, die vom Random-Forest-Modell generiert wurden. Während der Transferlernphase werden die unteren Schichten des Netzes eingefroren (d.h. der Algorithmus aktualisiert die Gewichte der mit den unteren Schichten verknüpften Neuronen nicht), und dann wird nur ein qualitativ hochwertiger, aber quantitativ kleiner manuell etikettierter Datensatz zum Trainieren der oberen Schichten des Netzes verwendet. Dieser Ansatz ist besonders entscheidend, um einen Vorteil zu erzielen, wenn eine große Menge an Daten für das Training des Modells zur Verfügung steht (die jedoch in einigen Fällen nicht direkt mit dem Anwendungsbereich in Verbindung stehen), die jedoch einen relativ niedrigen F1-Score aufweisen. Die hochwertigen Daten können dann den F1-Score weiter verbessern, indem die oberen Schichten neu trainiert werden. Bei realen Daten verbessert der Transferlern-Ansatz den F1-Score erheblich.
-
Die 2-4 zeigen Flussdiagramme der vom System 100 durchgeführten Verfahren. 2 zeigt das gesamte Verfahren, das von dem System 100 durchgeführt wird. 3 zeigt detaillierter das Verfahren, das das Kodierungsmodul 106 zur Generierung von Vektoren durchführt. 4 zeigt detaillierter den hybriden Ansatz, der vom Etikettierungsmodul 108 verwendet wird, um automatisch große Mengen an Trainingsdaten für das Training des Klassifizierers zu generieren. In der folgenden Beschreibung wird der Begriff Steuerung verwendet, um Operationen zu bezeichnen, die von einem oder mehreren Modulen des Systems 100 ausgeführt werden. Da diese Verfahren und Operationen der Module des Systems 100 bereits oben im Detail beschrieben wurden, wird die folgende Beschreibung der Knappheit halber kurz gehalten.
-
2 zeigt ein Verfahren 200 zur Ontologieextraktion mit Hilfe von Deep Learning gemäß der vorliegenden Offenbarung. Bei 202 empfängt die Steuerung Rohdaten (z.B. Serviceberichte für Fahrzeuge) aus verschiedenen Quellen. Bei 204 bereinigt die Steuerung die Rohdaten. Bei 206 generiert die Steuerung Vektoren auf der Grundlage von Wortarten und bedingten Wahrscheinlichkeiten von N-Grammen in den bereinigten Daten (detailliert dargestellt im Verfahren von 3).
-
Bei 208 werden einige der Vektoren manuell etikettiert. Bei 210 trainiert die Steuerung ein ML-Modell (z.B. ein Random-Forest-Modell) unter Verwendung der manuell etikettierten Vektoren. Bei 212, nach dem Testen und Korrigieren des trainierten ML-Modells mit dem in 4 gezeigten Verfahren, etikettiert die Steuerung automatisch große Mengen von Vektoren (die basierend auf großen Mengen von bereinigten Rohdaten generiert wurden) unter Verwendung des trainierten ML-Modells.
-
Bei 214 trainiert die Steuerung einen Klassifizierer (z.B. ein neuronales Netzwerk mit Deep Learning bzw. tiefem Lernen) unter Verwendung der großen Mengen von Vektoren, die automatisch durch das trainierte ML-Modell etikettiert wurden. Bei 216 klassifiziert die Steuerung Vektoren aus neuen Rohdaten nach der Bereinigung und Generierung von Vektoren bei 204, 206 unter Verwendung des trainierten Klassifizierers.
-
3 zeigt ein Verfahren 240 zur Generierung von Vektoren bei 206 im Verfahren 200. Bei 242 zergliedert bzw. parst die Steuerung einen bereinigten Wortlaut in N-Gramme. Bei 244 bestimmt die Steuerung die Positionen und POSs der N-Gramme sowie die Länge des Wortlauts. Bei 246 generiert die Steuerung bedingte Wahrscheinlichkeiten für die N-Gramme auf der Grundlage ihrer Positionen, POSs und POSs der umgebenden Begriffe in Abhängigkeit von der Länge des Wortlauts. Bei 248 bestimmt die Steuerung zusätzliche Merkmale (z.B. Anfangs- und Endpositionen der N-Gramme, Anfangs- und Endindizes der N-Gramme, w2v, etc.). Bei 250 generiert die Steuerung einen Vektor für jedes N-Gramm, der dessen bedingte Wahrscheinlichkeiten und die zusätzlichen Merkmale enthält.
-
4 zeigt ein Verfahren 260 zur Etikettierung großer Mengen von Trainingsdaten unter Verwendung des hybriden Ansatzes gemäß der vorliegenden Offenbarung. Bei 262 trainiert die Steuerung das ML-Modell (z.B. das Random-Forest-Modell) unter Verwendung einer begrenzten Anzahl von Vektoren und entsprechenden manuellen Etiketten. Bei 264 werden die Vektoren mit Hilfe des trainierten ML-Modells etikettiert. Bei 266 bestimmt die Steuerung, ob das ML-Modell die Vektoren mit einer vorgegebenen Genauigkeit etikettiert hat (d.h. ob das ML-Modell trainiert ist). Die Steuerung kehrt zu 262 zurück (d.h. das ML-Modell wird weiter trainiert), wenn das ML-Modell die Vektoren nicht mit einer vorgegebenen Genauigkeit etikettiert hat. Wenn das ML-Modell die Vektoren mit einer vorgegebenen Genauigkeit etikettiert hat (d.h. wenn das ML-Modell trainiert ist), geht die Steuerung zu 268 weiter. Bei 268 verwendet die Steuerung das trainierte ML-Modell zur automatischen Etikettierung großer Mengen von Trainingsdaten, um einen Klassifizierer zu trainieren (z.B. ein neuronales Deep-Learning-Netzwerk).
-
Die vorstehende Beschreibung ist lediglich erläuternder Natur und soll die Offenbarung, ihre Anwendung oder Verwendung nicht einschränken. Die umfassenden Lehren der Offenbarung können in einer Vielzahl von Formen umgesetzt werden.
-
Obwohl diese Offenbarung bestimmte Beispiele enthält, sollte der wahre Umfang der Offenbarung daher nicht so eingeschränkt werden, da andere Modifikationen bei einem Studium der Zeichnungen, der Beschreibung und der folgenden Ansprüche ersichtlich sind. Es versteht sich, dass ein oder mehrere Schritte innerhalb eines Verfahrens in unterschiedlicher Reihenfolge (oder gleichzeitig) ausgeführt werden können, ohne die Prinzipien der vorliegenden Offenbarung zu verändern. Obwohl jede der Ausführungsformen oben mit bestimmten Merkmalen beschrieben wird, kann jedes einzelne oder mehrere dieser Merkmale, die in Bezug auf eine beliebige Ausführungsform der Offenbarung beschrieben werden, in einer der anderen Ausführungsformen implementiert und/oder mit Merkmalen einer anderen Ausführungsform kombiniert werden, auch wenn diese Kombination nicht explizit beschrieben ist. Mit anderen Worten schließen sich die beschriebenen Ausführungsformen nicht gegenseitig aus, und Permutationen von einer oder mehreren Ausführungsformen miteinander bleiben im Rahmen dieser Offenbarung.
-
Räumliche und funktionale Beziehungen zwischen Elementen (z.B. zwischen Modulen, Schaltungselementen, Halbleiterschichten usw.) werden mit verschiedenen Begriffen beschrieben, z.B. „verbunden“, „im Eingriff“, „gekoppelt“, „benachbart“, „neben“, „auf“, „über“, „unter“ und „angeordnet.“ Wenn eine Beziehung zwischen einem ersten und einem zweiten Element in der obigen Offenbarung nicht ausdrücklich als „direkt“ beschrieben wird, kann diese Beziehung eine direkte Beziehung sein, bei der keine anderen intervenierenden Elemente zwischen dem ersten und dem zweiten Element vorhanden sind, sie kann aber auch eine indirekte Beziehung sein, bei der ein oder mehrere intervenierende Elemente (entweder räumlich oder funktionell) zwischen dem ersten und dem zweiten Element vorhanden sind. Wie hierin verwendet, sollte die Formulierung „mindestens eines von A, B und C“ als logisches (A ODER B ODER C) unter Verwendung eines nicht-ausschließlichen logischen ODER ausgelegt werden und nicht als „mindestens eines von A, mindestens eines von B und mindestens eines von C“ verstanden werden.
-
In den Figuren zeigt die Richtung eines Pfeils, wie durch die Pfeilspitze angedeutet, im Allgemeinen den Informationsfluss (z.B. Daten oder Anweisungen) an, der für die Darstellung von Interesse ist. Wenn z.B. Element A und Element B eine Vielzahl von Informationen austauschen, aber die von Element A zu Element B übertragenen Informationen für die Darstellung relevant sind, kann der Pfeil von Element A zu Element B zeigen. Dieser unidirektionale Pfeil impliziert nicht, dass keine weiteren Informationen von Element B zu Element A übertragen werden. Außerdem kann Element B für Informationen, die von Element A an Element B gesendet werden, Anfragen nach oder Empfangsbestätigungen für die Informationen an Element A senden.
-
In dieser Anmeldung kann, einschließlich der nachfolgenden Definitionen, der Begriff „Modul“ oder der Begriff „Controller“ durch den Begriff „Schaltung“ ersetzt werden.“ Der Begriff „Modul“ kann sich auf ein Modul beziehen, ein Teil davon sein oder enthalten: einen anwendungsspezifischen integrierten Schaltkreis (ASIC); eine digitale, analoge oder gemischt analog/digitale diskrete Schaltung; eine digitale, analoge oder gemischt analog/digitale integrierte Schaltung; eine kombinatorische Logikschaltung; ein feldprogrammierbares Gate-Array (FPGA); eine Prozessorschaltung (gemeinsam, dediziert oder Gruppe), die Code ausführt; eine Speicherschaltung (gemeinsam, dediziert oder Gruppe), die den von der Prozessorschaltung ausgeführten Code speichert; andere geeignete Hardwarekomponenten, die die beschriebene Funktionalität bereitstellen; oder eine Kombination aus einigen oder allen der oben genannten Möglichkeiten, z.B. in einem Systemon-Chip.
-
Das Modul kann eine oder mehrere Schnittstellenschaltungen enthalten. In einigen Beispielen können die Schnittstellenschaltungen verdrahtete oder drahtlose Schnittstellen umfassen, die mit einem lokalen Netzwerk (LAN), dem Internet, einem Weitverkehrsnetz (WAN) oder Kombinationen davon verbunden sind. Die Funktionalität eines beliebigen Moduls der vorliegenden Offenbarung kann auf mehrere Module verteilt sein, die über Schnittstellenschaltungen verbunden sind. Zum Beispiel können mehrere Module einen Lastausgleich ermöglichen. In einem weiteren Beispiel kann ein Server-Modul (auch als Remote- oder Cloud-Modul bezeichnet) einige Funktionen im Auftrag eines Client-Moduls ausführen.
-
Der Begriff Code, wie er oben verwendet wird, kann Software, Firmware und/oder Mikrocode umfassen und sich auf Programme, Routinen, Funktionen, Klassen, Datenstrukturen und/oder Objekte beziehen. Der Begriff „Schaltung mit gemeinsam genutztem Prozessor“ (shared processor circuit) umfasst eine einzelne Prozessorschaltung, die einen Teil oder den gesamten Code von mehreren Modulen ausführt. Der Begriff Gruppenprozessorschaltung umfasst eine Prozessorschaltung, die in Kombination mit weiteren Prozessorschaltungen einen Teil oder den gesamten Code von einem oder mehreren Modulen ausführt. Verweise auf Mehrprozessorschaltungen (multiple processor circuits) umfassen mehrere Prozessorschaltungen auf diskreten Chips, mehrere Prozessorschaltungen auf einem einzigen Chip, mehrere Kerne einer einzigen Prozessorschaltung, mehrere Threads einer einzigen Prozessorschaltung oder eine Kombination der oben genannten. Der Begriff „Schaltung mit gemeinsam genutztem Speicher“ (shared memory circuit) umfasst eine einzelne Speicherschaltung, die einen Teil oder den gesamten Code von mehreren Modulen speichert. Der Begriff „Gruppenspeicherschaltung“ umfasst eine Speicherschaltung, die in Kombination mit weiteren Speichern einen Teil oder den gesamten Code von einem oder mehreren Modulen speichert.
-
Der Begriff „Speicherschaltung“ ist eine Untermenge des Begriffs „computerlesbares Medium“. Der Begriff „computerlesbares Medium“, wie er hier verwendet wird, umfasst keine transitorischen elektrischen oder elektromagnetischen Signale, die sich durch ein Medium (z.B. auf einer Trägerwelle) ausbreiten); der Begriff „computerlesbares Medium“ kann daher als greifbar/materiell und nicht-transitorisch betrachtet werden. Nicht einschränkende Beispiele für ein nicht-transitorisches, greifbares, computerlesbares Medium sind nichtflüchtige Speicherschaltungen (z.B. eine Flash-Speicherschaltung, eine löschbare, programmierbare Festwertspeicherschaltung oder eine Maskenfestwertspeicherschaltung), flüchtige Speicherschaltungen (z.B. eine statische Direktzugriffsspeicherschaltung oder eine dynamische Direktzugriffsspeicherschaltung), magnetische Speichermedien (z.B. ein analoges oder digitales Magnetband oder ein Festplattenlaufwerk) und optische Speichermedien (z.B. eine CD, eine DVD oder eine Blu-ray Disc).
-
Die in dieser Anwendung beschriebenen Geräte und Verfahren können teilweise oder vollständig von einem Spezialcomputer implementiert werden, der durch Konfiguration eines Allzweckcomputers zur Ausführung einer oder mehrerer bestimmter, in Computerprogrammen verkörperter Funktionen gebildet wird. Die oben beschriebenen Funktionsblöcke, Flussdiagrammkomponenten und andere Elemente dienen als Softwarespezifikationen, die durch die Routinearbeit eines erfahrenen Technikers oder Programmierers in die Computerprogramme übersetzt werden können.
-
Die Computerprogramme enthalten prozessorausführbare Befehle, die auf mindestens einem nicht-transitorischen, greifbaren, computerlesbaren Medium gespeichert sind. Die Computerprogramme können auch gespeicherte Daten enthalten oder auf diese zurückgreifen. Die Computerprogramme können ein Basis-Eingabe/Ausgabe-System (BIOS) umfassen, das mit der Hardware des Spezialcomputers interagiert, Gerätetreiber, die mit bestimmten Geräten des Spezialcomputers interagieren, ein oder mehrere Betriebssysteme, Benutzeranwendungen, Hintergrunddienste, Hintergrundanwendungen usw.
-
Die Computerprogramme können enthalten: (i) beschreibenden Text, der geparst werden soll, z.B. HTML (Hypertext Markup Language), XML (Extensible Markup Language) oder JSON (JavaScript Object Notation) (ii) Assembler-Code, (iii) von einem Compiler aus dem Quellcode generierten Objektcode, (iv) Quellcode zur Ausführung durch einen Interpreter, (v) Quellcode zur Kompilierung und Ausführung durch einen Just-in-Time-Compiler usw. Nur als Beispiele: Der Quellcode kann mit der Syntax von Sprachen wie C, C++, C#, ObjectiveC, Swift, Haskeil, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTML5 (Hypertext Markup Language 5th revision), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK und Python® geschrieben sein.