DE102021130081A1 - Auf deep learning basierende automatische ontologieextraktion zur erfassung von neuen wissensbereichen - Google Patents

Auf deep learning basierende automatische ontologieextraktion zur erfassung von neuen wissensbereichen Download PDF

Info

Publication number
DE102021130081A1
DE102021130081A1 DE102021130081.9A DE102021130081A DE102021130081A1 DE 102021130081 A1 DE102021130081 A1 DE 102021130081A1 DE 102021130081 A DE102021130081 A DE 102021130081A DE 102021130081 A1 DE102021130081 A1 DE 102021130081A1
Authority
DE
Germany
Prior art keywords
subset
classifier
module
text
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021130081.9A
Other languages
English (en)
Inventor
Dnyanesh G. RAJPATHAK
Ravi S. Sambangi
Xinli Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102021130081A1 publication Critical patent/DE102021130081A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • G06F18/24155Bayesian classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/027Frames

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Biology (AREA)
  • Algebra (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Operations Research (AREA)
  • Medical Informatics (AREA)
  • Machine Translation (AREA)

Abstract

Ein System verarbeitet unstrukturierte Daten, um eine Vielzahl von Teilmengen von Text in einer Textmenge in den unstrukturierten Daten zu identifizieren, und bestimmt für eine Teilmenge aus der Vielzahl von Teilmengen Wahrscheinlichkeiten, die auf einer Position der Teilmenge in der Textmenge, einer Wortart bzw. Part of Speech (POS) jedes Worts in der Teilmenge und Wortarten (POSs) eines oder mehrerer Wörter 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. Das System generiert einen Merkmalsvektor für die Teilmenge, wobei der Merkmalsvektor die Wahrscheinlichkeiten und zusätzliche Merkmale der Teilmenge enthält; und klassifiziert unter Verwendung eines Klassifizierers die Teilmenge in eine von mehreren Klassen auf der Grundlage des Merkmalsvektors für die Teilmenge, wobei die mehreren Klassen eine Ontologie eines Wissensbereichs darstellen.

Description

  • 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.
  • Figure DE102021130081A1_0001
  • 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. p ( N N | V B N ) = p ( V B N | N N ) × p ( N N ) p ( VBN )
    Figure DE102021130081A1_0002
    p ( N N | V B N ) = p ( V B N | N N ) × p ( N N ) p ( V B N | N N ) . p ( N N ) + p ( V B N | ¬ NN ) . p ( ¬ NN )
    Figure DE102021130081A1_0003
  • 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.

Claims (10)

  1. System, umfassend: einen Prozessor; und einen Speicher, in dem Anweisungen gespeichert sind, die bei Ausführung durch den Prozessor den Prozessor konfigurieren zum: Verarbeiten unstrukturierter Daten, um eine Vielzahl von Teilmengen von Text in einer Textmenge in den unstrukturierten Daten zu identifizieren; Bestimmen von Wahrscheinlichkeiten für eine Teilmenge aus der Vielzahl von Teilmengen, basierend auf einer Position der Teilmenge in der Textmenge, der Wortart jedes Worts in der Teilmenge und den Wortarten von einem oder mehreren Wörtern auf der linken und rechten Seite der Teilmenge, wobei die Anzahl des einen Worts oder der mehreren Wörter basierend auf der Länge der Textmenge ausgewählt wird; Generieren eines Merkmalsvektors für die Teilmenge, wobei der Merkmalsvektor die Wahrscheinlichkeiten und zusätzliche Merkmale der Teilmenge enthält; und Klassifizieren der Teilmenge unter Verwendung eines Klassifizierers in eine von mehreren Klassen, basierend auf dem Merkmalsvektor für die Teilmenge, wobei die mehreren Klassen eine Ontologie eines Wissensbereichs darstellen.
  2. System nach Anspruch 1, wobei der Prozessor so konfiguriert ist, dass er: ein Modell unter Verwendung eines ersten Satzes von manuell etikettierten Merkmalsvektoren trainiert, die aus den unstrukturierten Daten generiert wurden; und einen zweiten Satz von Merkmalsvektoren, die aus den unstrukturierten Daten generiert wurden, mit Hilfe des trainierten Modells automatisch etikettiert, wobei der zweite Satz von Merkmalsvektoren um eine oder mehrere Größenordnungen größer ist als der erste Satz von Merkmalsvektoren.
  3. System nach Anspruch 2, wobei der Klassifizierer einen auf Transferlernen basierenden Klassifizierer enthält und der Prozessor so konfiguriert ist, dass er den auf Transferlernen basierenden Klassifizierer unter Verwendung des größeren, automatisch etikettierten zweiten Satzes von Vektoren trainiert, um Schichten der unteren Ebene 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 aufweisen, um Schichten der oberen Ebene 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.
  4. System nach Anspruch 2, wobei das Modell ein auf Random Forest basierendes Modell umfasst und der Klassifizierer ein auf Transferlernen basierendes tiefes neuronales Netz umfasst.
  5. System nach Anspruch 1, wobei die Wahrscheinlichkeiten Bayes'sche Wahrscheinlichkeiten des Auffindens der Teilmenge an einer vorbestimmten Position in Textmengen einer vorbestimmten Länge in den unstrukturierten Daten mit den Wortarten des einen oder der mehreren Wörter auf der linken und rechten Seite der Teilmenge umfassen.
  6. System nach Anspruch 1, wobei 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 umfassen.
  7. System nach Anspruch 1, wobei der Prozessor so konfiguriert ist, dass er: die Länge der Textmenge bestimmt; und jedem Wort in der Textmenge Wortarten zuordnet.
  8. System nach Anspruch 1, wobei die Verarbeitung der unstrukturierten Daten das Bereinigen der unstrukturierten Daten durch Entfernen von zusätzlichen Leerzeichen, Hinzufügen von Leerzeichen zwischen Wörtern, Trennen von falsch verbundenen Wörtern, Verbinden von falsch getrennten Wörtern und/oder Korrigieren der Rechtschreibung umfasst.
  9. System nach Anspruch 1, wobei: zu den unstrukturierten Daten von Händlern erhaltene Serviceberichte für Fahrzeuge gehören; und zu den mehreren Klassen Teile, Symptome, Aktionen und andere nicht-technische Daten gehören.
  10. System nach Anspruch 9, wobei der Prozessor so konfiguriert ist, 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.
DE102021130081.9A 2021-01-04 2021-11-18 Auf deep learning basierende automatische ontologieextraktion zur erfassung von neuen wissensbereichen Pending DE102021130081A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/140,360 2021-01-04
US17/140,360 US11868715B2 (en) 2021-01-04 2021-01-04 Deep learning based automatic ontology extraction to detect new domain knowledge

Publications (1)

Publication Number Publication Date
DE102021130081A1 true DE102021130081A1 (de) 2022-07-07

Family

ID=82020741

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021130081.9A Pending DE102021130081A1 (de) 2021-01-04 2021-11-18 Auf deep learning basierende automatische ontologieextraktion zur erfassung von neuen wissensbereichen

Country Status (3)

Country Link
US (1) US11868715B2 (de)
CN (1) CN114722190A (de)
DE (1) DE102021130081A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2763921C1 (ru) * 2021-02-10 2022-01-11 Акционерное общество "Лаборатория Касперского" Система и способ создания эвристических правил для обнаружения мошеннических писем, относящихся к категории ВЕС-атак
US20230030086A1 (en) * 2021-07-28 2023-02-02 OntogenAI, Inc. System and method for generating ontologies and retrieving information using the same
US11868731B2 (en) * 2021-09-24 2024-01-09 Fujitsu Limited Code retrieval based on multi-class classification

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10354009B2 (en) * 2016-08-24 2019-07-16 Microsoft Technology Licensing, Llc Characteristic-pattern analysis of text
US20190130028A1 (en) * 2017-10-26 2019-05-02 GM Global Technology Operations LLC Machine-based extraction of customer observables from unstructured text data and reducing false positives therein

Also Published As

Publication number Publication date
US20220215167A1 (en) 2022-07-07
CN114722190A (zh) 2022-07-08
US11868715B2 (en) 2024-01-09

Similar Documents

Publication Publication Date Title
DE102021130081A1 (de) Auf deep learning basierende automatische ontologieextraktion zur erfassung von neuen wissensbereichen
DE102020113545A1 (de) Verfahren, vorrichtungen, systeme und erzeugnisse zum bereitstellen von abfrageauswahlsystemen
DE112018000334T5 (de) System und Verfahren zur domänenunabhängigen Aspektebenen-Stimmungserkennung
DE112018005813T5 (de) Erleichterung von domänen- und kundenspezifischen empfehlungen für anwendungsprogramm-schnittstellen
DE102015121509A1 (de) Methodik und Vorrichtung zur Konsistenzprüfung durch Vergleich von Ontologiemodellen
DE102019004300A1 (de) Verwendung eines dynamischen speichernetzwerks zum verfolgen digitaler dialogzustände und erzeugen von antworten
DE112020003365T5 (de) Überwachte kreuzmodale wiedergewinnung für zeitreihen und text unter verwendung von multimodalen triplettverlusten
DE112020003538T5 (de) Kreuzmodale wiedergewinnung mit wortüberlappungsbasiertem clustern
DE112020003909T5 (de) Verfahren zum multimodalen abrufen bzw. wiedergewinnen und clustern unter verwendung einer tiefen cca und aktiver paarweiser abfragen
DE112013002654T5 (de) Verfahren zum Klassifizieren von Text
EP2323083A1 (de) Technisches Klassifikationssystem
DE102021004562A1 (de) Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache
DE102011055456A1 (de) Graph-Matching-System zum Vergleichen und Zusammenführen von Fehlermodellen
EP3736817A1 (de) Überprüfung und/oder verbesserung der konsistenz von datenkennzeichnungen bei der medizinischen bildverarbeitung
DE202022002902U1 (de) Iteratives Training für einen Text-Bild-Layout-Transformer
DE112020001034T5 (de) Seltene fälle berücksichtigende trainingsdaten für künstliche intelligenz
DE102021126866A1 (de) Erleichterung eines automatisierten, interaktiven, konversationellen Dialogs zur Fehlerbehebung bei einem Produktunterstützungsproblem über einen Chatbot
DE202023102803U1 (de) System zur Erkennung von Emotionen und zur Stimmungsanalyse durch maschinelles Lernen
CN115578137A (zh) 一种基于文本挖掘与深度学习模型的农产品期货价格预测方法及系统
DE102018007024A1 (de) Dokumentdurchsuchen mittels grammatischer einheiten
CN110728139A (zh) 关键信息提取模型及其构建方法
CN117076672A (zh) 文本分类模型的训练方法、文本分类方法及装置
EP3816844A1 (de) Computerimplementiertes verfahren und vorrichtung zum verarbeiten von daten
CN115391523A (zh) 风电场多源异构数据处理方法及装置
DE112020003537T5 (de) Unüberwachte konzeptfindung und kreuzmodale wiedergewinnung in zeitreihenund textkommentaren basierend auf kanonischer korrelationsanalyse

Legal Events

Date Code Title Description
R012 Request for examination validly filed