-
Stand der Technik
-
Luan et al. 2018: Yi Luan et al.: Multi-Task Identification of Entities, Relations, and Coreference for Scientific Knowledge Graph Construction. Conference on Empirical Methods in Natural Language Processing, 2018 offenbart eine Möglichkeit zum Bestimmen eines Knowledge Graph aus einem Textkorpus.
-
Offenbarung der Erfindung
-
Ein Knowledge Graph umfasst Knoten und Kanten. Eine Kante beginnt und endet in einem Knoten. Eine Repräsentation des Knowledge Graphs umfasst beispielsweise Tripel wobei jedes Tripel eine Kante und den Knoten, an dem die Kante beginnt und den Knoten, an dem die Kante endet, umfasst. Ein Knoten oder eine Kante definiert einen Teil des Knowledge Graphs. Durch eine Vorrichtung und ein Verfahren nach den unabhängigen Ansprüchen wird eine Möglichkeit geschaffen, wenigstens einen Teil des Knowledge Graphs automatisch aus einem Textkorpus zu bestimmen.
-
Das Verfahren zum Bestimmen wenigstens des Teils des Knowledge Graphs, sieht vor, dass ein Textkorpus bereitgestellt wird, wobei für einen Satz aus dem Textkorpus ein erster Eingang für einen ersten Klassifizierer bestimmt wird, ein zweiter Eingang für einen zweiten Klassifizierer bestimmt wird, und ein dritter Eingang für einen dritten Klassifizierer bestimmt wird, wobei der erste Eingang eine numerische Repräsentation wenigstens eines Teils des Satzes umfasst, wobei der zweite Eingang eine numerische Repräsentation wenigstens eines Teils eines Wortes aus dem Satz umfasst, wobei der dritte Eingang eine numerische Repräsentation wenigstens eines Teils des Wortes aus dem Satz umfasst, wobei mit dem ersten Klassifizierer abhängig vom ersten Eingang eine numerische Repräsentation einer ersten Wahrscheinlichkeit bestimmt wird, die angibt, ob der Satz den Knowledge Graph betrifft oder nicht, wobei wenn die numerische Repräsentation der ersten Wahrscheinlichkeit eine erste Bedingung erfüllt, mit dem zweiten Klassifizierer abhängig vom zweiten Eingang eine numerische Repräsentation einer zweiten Wahrscheinlichkeit bestimmt wird, die einen ersten Typ für das Wort aus dem Satz definiert, wobei mit dem dritten Klassifizierer abhängig vom dritten Eingang eine numerische Repräsentation einer dritten Wahrscheinlichkeit bestimmt wird, die einen zweiten Typ für eine Kante für das Wort definiert, wobei das Wort aus dem Satz einem Knoten des Knowledge Graphs des ersten Typs zugeordnet und mit einer Kante des zweiten Typs mit einem anderen Knoten des Knowledge Graphs verbunden wird. Damit wird eine automatische Extraktion von Informationen aus Freitext, d.h. Text ohne manuelle Annotation, beispielsweise aus materialwissenschaftlichen Publikationen ermöglicht, die es ermöglicht einen Knowledge Graphen zu bauen. Dabei wird eine Relation interpretiert, die meist nicht explizit im Text gegeben ist. Eine der Relation entsprechende Kante wird dadurch vorherhergesagt, dass der Knoten, bei dem die Kante endet, dem Wort eines bestimmten ersten Typs und eines bestimmten zweiten Typs entspricht. Letzterer definiert im Beispiel die Kante. Der Startknoten der Kante entspricht im Beispiel einem anderen Wort aus dem Satz, beispielsweise einem Wort das einem bestimmten ersten Typ zugeordnet ist. Die Kante wird den beiden Wörtern, an denen sie anfängt und endet zugeordnet.
-
Vorzugsweise wird ein erstes Wort des Satzes mit einer ersten Funktion auf eine erste numerische Repräsentation abgebildet, wobei das erste Wort mit einer von der ersten Funktion verschiedenen zweiten Funktion auf eine zweite numerische Repräsentation abgebildet wird, wobei ein zweites Wort des Satzes mit der ersten Funktion auf eine dritte numerische Repräsentation abgebildet wird, wobei das zweite Wort mit der zweiten Funktion auf eine vierte numerische Repräsentation abgebildet wird, wobei die erste numerische Repräsentation, die zweite numerische Repräsentation, die dritte numerische Repräsentation und die vierte numerische Repräsentation mit einer dritten Funktion auf einen ersten Tensor abgebildet werden, der den ersten Eingang und/oder den zweiten Eingang definiert. Dadurch werden mehrere Worte aus dem Satz für die Klassifikation des Satzes verwendet, wobei für jedes der Worte wenigstens zwei unterschiedliche numerische Repräsentationen, d.h. Embeddings bestimmt werden. Dies verbessert die Klassifikation des Satzes.
-
Vorzugsweise werden Trainingsdaten bereitgestellt, die eine Vielzahl Tupel umfassen wobei in jedem Tupel einem Satz des Textkorpus ein Wert einer insbesondere binären Größe zugeordnet ist, die definiert, ob der Satz den Knowledge Graph betrifft, eine erste Bezeichnung zugeordnet ist, die den ersten Typ definiert eine zweite Bezeichnung zugeordnet ist, die den zweiten Typ definiert, und wobei wenigstens ein Parameter der ersten Funktion, der zweiten Funktion der dritten Funktion, des ersten Klassifizierers, des zweiten Klassifizierers und/oder des dritten Klassifizierers abhängig von den Trainingsdaten trainiert wird. Diese Tupel können von Experten annotierte Worte aus dem Textkorpus umfassen.
-
Es kann vorgesehen sein, dass Trainingsdaten bereitgestellt werden, die eine Vielzahl Tupel umfassen wobei in jedem Tupel einem Satz des Textkorpus eine numerische Repräsentation der ersten Wahrscheinlichkeit für diesen Satz, eine numerische Repräsentation der zweiten Wahrscheinlichkeit für ein Wort aus dem Satz, und eine numerische Repräsentation der dritten Wahrscheinlichkeit für das Wort aus dem Satz zugeordnet ist, und wobei wenigstens ein Parameter der ersten Funktion, der zweiten Funktion der dritten Funktion, des ersten Klassifizierers, des zweiten Klassifizierers und/oder des dritten Klassifizierers abhängig von den Trainingsdaten trainiert wird. Diese Tupel können Positionen von Worten umfassen, die von Experten annotierte Worte aus dem Textkorpus definieren.
-
Der erste Klassifizierer kann eine erste Schicht umfassen, die abhängig vom ersten Eingang einen Vektor für den Satz bestimmt, wobei der erste Klassifizierer eine zweite Schicht umfasst, die abhängig vom Vektor die numerische Repräsentation der ersten Wahrscheinlichkeit insbesondere binär bestimmt. Dies ermöglicht eine satzweise Klassifikation.
-
Der zweite Klassifizierer kann eine erste Schicht umfassen, die abhängig vom zweiten Eingang einen Vektor für das Wort aus dem Satz bestimmt, wobei der zweite Klassifizierer eine zweite Schicht umfasst, die abhängig vom Vektor eine Vielzahl numerischer Repräsentation der zweiten Wahrscheinlichkeit bestimmt, wobei jede numerische Repräsentation der Vielzahl numerischer Repräsentationen einem Typ eines Knoten für den Knowledge Graph zugeordnet wird. Dies ermöglicht ein Sequenz-Tagging mit einem vorgegebenen Wortschatz, der diese Typen definiert.
-
Es kann vorgesehen sein, dass ein Wort aus dem Satz aus dem Textkorpus dann einem Knoten des Knowledge Graphs zugeordnet wird, wenn das Wort einem Typ eines Knoten des Knowledge Graphs zugeordnet ist. Dadurch kann eine Menge Knoten für den Knowledge Graph erzeugt werden.
-
Der dritte Klassifizierer kann eine erste Schicht umfassen, die abhängig vom dritten Eingang einen Vektor für das Wort aus dem Satz bestimmt, wobei der dritte Klassifizierer eine zweite Schicht umfasst, die abhängig vom Vektor eine Vielzahl numerischer Repräsentation der dritten Wahrscheinlichkeit bestimmt, wobei jede numerische Repräsentation der Vielzahl numerischer Repräsentationen einem Typ einer Kante für den Knowledge Graph zugeordnet wird. Der Knowledge Graph repräsentiert beispielsweise ein Experiment dadurch, dass einem Experiment-Knoten andere Knoten zugeordnet sind, die beispielsweise Materialien oder Geräte repräsentieren, welche im Experiment vorgesehen sind. Der dritte Klassifizierer identifiziert für eine Kante zwischen dem Experiment-Knoten und einem der anderen Knoten einen Typ der Kante. Der Typ der Kante kann eine Verwendung des Materials im Experiment definieren. Dies ermöglicht ein Sequenz-Tagging mit einem vorgegebenen Wortschatz, der diese Typen definiert.
-
Vorzugsweise ist vorgesehen, dass der erste Eingang, der zweite Eingang und/oder der dritte Eingang für den Satz abhängig von einer Mehrzahl Worte aus diesem Satz bestimmt wird. Die Berücksichtigung nur der Worte aus demselben Satz erleichtert die Bestimmung des Knowledge Graphs, da weniger Eingangsdaten verarbeitet werden müssen.
-
Eine Vorrichtung zum Bestimmen wenigstens eines Teils eines Knowledge Graphs ist ausgebildet, das Verfahren auszuführen.
-
Weitere vorteilhafte Ausführungsformen ergeben sich aus der folgenden Beschreibung und der Zeichnung. In der Zeichnung zeigt:
- 1 eine schematische Darstellung einer Vorrichtung zum Bestimmen wenigstens eines Teils eines Knowledge Graphs,
- 2 Schritte in einem Verfahren zum Bestimmen wenigstens eines Teils eines Knowledge Graphs,
- 3 eine schematische Darstellung von Funktionen für verschiedene numerische Repräsentationen.
-
1 stellt eine Vorrichtung 100 zum Bestimmen wenigstens eines Teils eines Knowledge Graphs 102 schematisch dar. Der Knowledge Graph 102 ist durch Tripel definiert, die eine Kante, eine Knoten an dem die Kante beginnt und einen Koten an dem die Kante endet definieren. Ein Teil des Knowledge Graphs ist ein Knoten oder eine Kante.
-
Ein Vorgehen mit den im Folgenden beschriebenen Klassifizierer wird an folgendem Satz beschrieben:
- The SOFC with Pt / SmNiO3 demonstrated dramatic power output.
-
Ein erster Klassifizierer 104 erkennt, dass der Satz relevant ist, d.h. dass der Satz Informationen enthält, die in den Knowledge Graphen geschrieben werden sollen.
-
Ein zweiter Klassifizierer 106 erkennt Konzepte. Konzepte können von unterschiedlichem Typ sein. Im Satz wird beispielsweise erkannt, dass SOFC vom Typ Gerät, Pt vom Typ Material, SmNiO3 vom Typ Material und demonstrated vom Typ Experiment beschreibendes Verb ist. Ein Wort vom Typ Experiment beschreibendes Verb wird als Knoten im Knowledge Graph definiert, von dem Kanten ausgehen können. Derartige, das Experiment beschreibende Knoten, werden im Folgenden als Experiment-Knoten bezeichnet.
-
Im Beispiel werden alle vom zweite Klassifizierer erkannten Konzepte als Knoten in den Knowledge Graphen aufgenommen.
-
Ein dritter Klassifizierer 108 erkennt, dass SOFC vom Typ Device des Experiments ist, Pt vom Typ Anodenmaterial des Experiments und SmNiO3 vom Typ verwendeter Kraftstoff für das Experiment. Diese Worte definieren einen Knoten an dem eine Kante, die vom Experiment-Knoten ausgeht, endet. Der erkannte Typ definiert die Bezeichnung der Kante.
-
Im Knowledge Graphen werden der SOFC-Knoten mit dem Experiment-Knoten verbunden und auf die Kante „Device“ geschrieben, analog wird der Pt Knoten mit dem Experiment-Knoten verbunden und auf die Kante „Anodenmaterial“ geschrieben.
-
Die Vorrichtung 100 umfasst den ersten Klassifizierer 104, den zweiten Klassifizierer 106 und den dritten Klassifizierer 108.
-
Die Vorrichtung 100 ist ausgebildet, einen Textkorpus 110 bereitzustellen. Der Textkorpus umfasst eine Vielzahl Sätze 112. Jeder Satz 112 umfasst eine Vielzahl Worte 112-1, ..., 112-n. Eine Anzahl n der Worte kann in jedem Satz 112 unterschiedlich sein. Die Vorrichtung 100 ist ausgebildet, für einen Satz 112 aus dem Textkorpus 110 einen ersten Eingang für den ersten Klassifizierer 104, einen zweiten Eingang für den zweiten Klassifizierer 106 und einen dritten Eingang für den dritten Klassifizierer 108 bereitzustellen.
-
Der erste Klassifizierer 104 umfasst eine erste Schicht 104-1, die ausgebildet ist, abhängig vom ersten Eingang einen Vektor für den Satz 112 zu bestimmen. Der erste Klassifizierer 104 umfasst eine zweite Schicht 104-2, die ausgebildet ist, abhängig vom Vektor eine numerische Repräsentation einer ersten Wahrscheinlichkeit zu bestimmen. Im Beispiel unterscheidet die Klassifikation binär, d.h. sie unterscheidet zwischen zwei Klassen. Die Wahrscheinlichkeit selbst ist im Beispiel nicht binär, d.h. nicht 0 oder 1, sondern ein numerischer Wahrscheinlichkeitswert.
-
Die Vorrichtung 100 ist ausgebildet, ein erstes Wort des Satzes 112 mit einer ersten Funktion auf eine erste numerische Repräsentation abzubilden. Die Vorrichtung 100 kann ausgebildet sein, das erste Wort mit einer von der ersten Funktion verschiedenen zweiten Funktion auf eine zweite numerische Repräsentation abzubilden. Die erste Funktion bildet ein Wort abhängig von Parametern der ersten Funktion beispielsweise auf eine der folgenden Embeddings ab:
- word2vec, mat2vec, bpe, BERT, SciBERT.
-
Die zweite Funktion bildet ein Wort abhängig von Parametern der zweiten Funktion beispielsweise auf eine demgegenüber andere der folgenden Embeddings ab:
- word2vec, mat2vec, bpe, BERT, SciBERT.
-
Im Beispiel ist dazu in der Vorrichtung 100 eine Einbettungsschicht angeordnet, mit der Worte des Satzes 112 abbildbar sind.
-
Im Beispiel werden mehrere vortrainierte Einbettungsschicht-Typen kombiniert, nämlich word2vec, mat2vec, byte-pair-encoding Embeddings und BERT Embeddings und SciBERT Embeddings.
-
word2vec ist beispielsweise beschrieben in Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. 2013. Efficient estimation of word representations in vector space. In ICLR Workshop.
-
mat2vec ist beispielsweise beschrieben in Vahe Tshitoyan, John Dagdelen, Leigh Weston, Alexander Dunn, Ziqin Rong, Olga Kononova, Kristin A. Persson, Gerbrand Ceder, and Anubhav Jain. 2019. Unsupervised word embeddings capture latent knowledge from materials science literature. Nature, 571:95 - 98.
-
byte-pair-encoding ist beispielsweise beschrieben in Benjamin Heinzerling and Michael Strube. 2018. BPEmb: Tokenization-free Pre-trained Subword Embeddings in 275 Languages. In Proceedings of the Eleventh International Conference on Language Resources and Evaluation (LREC 2018), Miyazaki, Japan. European Language Resources Association (ELRA).
-
BERT Embeddings sind beispielsweise beschrieben in Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pages 4171-4186, Minneapolis, Minnesota. Association for Computational Linguistics.
-
SciBERT Embeddings sind beispielsweise beschrieben in Iz Beltagy, Kyle Lo, and Arman Cohan. 2019. Scibert: A pretrained language model for scientific text. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 3606-3611.
-
Die letzten drei sind subword-basierte Embeddings, weshalb sie besonders gut geeignet sind, komplizierte lange Wörter zu repräsentieren. Mat2vec sind Embeddings, die mit Hilfe des word2vec Algorithmus auf materialwissenschaftlichen Texten trainiert wurden, weshalb sie besonders gut geeignet sind, domänenspezifische Wörter zu repräsentieren.
-
Die Vorrichtung 100 ist ausgebildet, ein zweites Wort mit der ersten Funktion auf eine dritte numerische Repräsentation abzubilden. Das zweite Wort ist ein anderes Wort desselben Satzes 112.
-
Die Vorrichtung 100 kann ausgebildet sein, das zweite Wort mit der zweiten Funktion auf eine vierte numerische Repräsentation abzubilden.
-
Die erste numerische Repräsentation und die dritte numerische Repräsentation können mit einer dritten Funktion auf einen ersten Tensor abgebildet werden, der den ersten Eingang und/oder den zweiten Eingang definiert. Es kann vorgesehen sein, dass die erste numerische Repräsentation, die zweite numerische Repräsentation, die dritte numerische Repräsentation und die vierte numerische Repräsentation mit der dritten Funktion auf den ersten Tensor abgebildet werden, der den ersten Eingang und/oder den zweiten Eingang definiert.
-
Die dritte Funktion kann eine Konkatenation der numerischen Repräsentationen umfassen, durch die der erste Tensor gebildet wird.
-
Der zweite Klassifizierer 106 umfasst eine erste Schicht 106-1, die ausgebildet ist, abhängig vom zweiten Eingang einen Vektor für das Wort aus dem Satz 112 zu bestimmen. Der zweite Klassifizierer 106 umfasst eine zweite Schicht 106-2, die ausgebildet ist, abhängig vom Vektor eine Vielzahl numerischer Repräsentation einer zweiten Wahrscheinlichkeit zu bestimmen.
-
Der dritte Klassifizierer 108 umfasst eine erste Schicht 108-1, die ausgebildet ist, abhängig vom dritten Eingang einen Vektor für das Wort aus dem Satz 112 zu bestimmen. Der dritte Klassifizierer 108 umfasst eine zweite Schicht 108-2, die ausgebildet ist, abhängig vom Vektor eine Vielzahl numerischer Repräsentation einer dritten Wahrscheinlichkeit zu bestimmen.
-
Die Vorrichtung 100 ist ausgebildet, das Wort aus dem Satz 112 dann einem Knoten des Knowledge Graphs 102 zuzuordnen, wenn das Wort einem ersten Typ zugeordnet ist.
-
Die Vorrichtung 100 ist ausgebildet, das Wort aus dem Satz 112 dann einem Knoten, an dem eine Kante des Knowledge Graphs 102 endet, zuzuordnen, wenn das Wort einem zweiten Typ zugeordnet ist.
-
Die Vorrichtung 100 ist ausgebildet, aus dem Textkorpus 110 einen Satz 112 dahingehend zu klassifizieren, ob der Satz 112 für die Bestimmung des Knowledge Graphs relevant ist.
-
Die Vorrichtung 100 ist dafür dazu ausgebildet, das im Folgenden beschriebene Verfahren zum Bestimmen wenigstens eines Teils des Knowledge Graphs auszuführen.
-
Die Vorrichtung 100 kann wenigstens einen Prozessor und wenigstens einen Speicher umfassen, die ausgebildet sind dazu das im Folgenden beschriebene Verfahren zum Bestimmen wenigstens eines Teils des Knowledge Graphs auszuführen.
-
Der erste Klassifizierer 104 kann als BiLSTM Modell ausgeführt sein, d.h. als Bidirektionales Long short-term memory.
-
Der zweite Klassifizierer 106 kann als BiLSTM-CRF Modell ausgeführt sein, d.h. als Bidirektionales Long short-term memory mit einer Conditional Random Field Schicht.
-
Der dritte Klassifizierer 108 kann als BiLSTM-CRF Modell ausgeführt sein, d.h. als Bidirektionales Long short-term memory mit einer Conditional Random Field Schicht.
-
Das Verfahren zum Bestimmen wenigstens eines Teils eines Knowledge Graphs 102 wird im Beispiel nach einem Training der Klassifizierer ausgeführt. Nach dem Training kann das Verfahren auch unabhängig vom Trainingsschritt ausgeführt werden.
-
In einem Schritt 200 werden Trainingsdaten bereitgestellt. Die Trainingsdaten umfassen im Beispiel eine Vielzahl Tupel.
-
In einem Aspekt ist in jedem Tupel einem Satz 112 des Textkorpus 110 ein Wert einer insbesondere binären Größe zugeordnet, die definiert, ob der Satz den Knowledge Graph betrifft, eine erste Bezeichnung zugeordnet, die den ersten Typ definiert, eine zweite Bezeichnung zugeordnet, die den zweiten Typ definiert.
-
In einem anderen Aspekt ist in jedem Tupel einem Satz 112 des Textkorpus 110 eine numerische Repräsentation der ersten Wahrscheinlichkeit für diesen Satz 112, eine numerische Repräsentation der zweiten Wahrscheinlichkeit für den ersten Typ, und eine numerische Repräsentation der dritten Wahrscheinlichkeit für den zweiten Typ zugeordnet.
-
Im Training wird wenigstens ein Parameter der ersten Funktion, der zweiten Funktion, der dritten Funktion, des ersten Klassifizierers 104, des zweiten Klassifizierers 106 und/oder des dritten Klassifizierers 108 abhängig von den Trainingsdaten trainiert.
-
Im Beispiel ist vorgesehen, mit einem Gradientenabstiegsverfahren die Parameter für die erste Funktion, die zweite Funktion, die dritte Funktion, den ersten Klassifizierer 104, den zweiten Klassifizierer 106 und den dritten Klassifizierers 108 zu bestimmen, für die eine Summe einer ersten Abweichung für den ersten Klassifizierer, einer zweiten Abweichung für den zweiten Klassifizierer und einer dritten Abweichung für den dritten Klassifizierer eine Bedingung erfüllt. Im Beispiel ist die Bedingung für Parameter erfüllt, für die ein Wert der Summe gegenüber anderen Werten für die Summe, die mit anderen Parametern bestimmt werden, kleiner oder der kleinste Wert ist.
-
Die erste Abweichung ist im Beispiel durch eine erste Differenz zwischen der ersten numerischen Repräsentation, die für das Wort aus einem Tupel bestimmt wird, und dem Wert dafür aus dem Tupel definiert.
-
Die zweite Abweichung ist im Beispiel durch eine zweite Differenz zwischen der zweiten numerischen Repräsentation, die für das Wort aus dem Tupel bestimmt wird, und dem Wert dafür aus dem Tupel definiert.
-
Die dritte Abweichung ist im Beispiel durch eine dritte Differenz zwischen der dritten numerischen Repräsentation, die für das Wort aus dem Tupel bestimmt wird, und dem Wert dafür aus dem Tupel definiert.
-
Die Trainingsdaten können in Teile unterteilt sein. Der Schritt 200 kann in Iterationen für einzelne Teile der Trainingsdaten wiederholt werden.
-
In einem Schritt 202 wird ein Textkorpus 110 bereitgestellt.
-
In einem Schritt 204 wird für einen Satz 112 aus dem Textkorpus 110 der erste Eingang für den ersten Klassifizierer 104 bestimmt. Der erste Eingang umfasst eine numerische Repräsentation wenigstens eines Teils des Satzes 112.
-
Im Beispiel wird in einem Schritt 204-11 ein erstes Wort des Satzes 112 mit der ersten Funktion auf eine erste numerische Repräsentation abgebildet. Das erste Wort kann in einem Schritt 204-21 mit der zweiten Funktion auf eine zweite numerische Repräsentation abgebildet werden.
-
Im Beispiel wird in einem Schritt 204-21 ein zweites Wort des Satzes 112 mit der ersten Funktion auf eine dritte numerische Repräsentation abgebildet. Das zweite Wort kann in einem Schritt 204-22 mit der zweiten Funktion auf eine vierte numerische Repräsentation abgebildet werden.
-
Die erste numerische Repräsentation, die zweite numerische Repräsentation, die dritte numerische Repräsentation und die vierte numerische Repräsentation können in einem Schritt 204-3 mit der dritten Funktion auf den ersten Tensor abgebildet werden, der den ersten Eingang definiert. Der erste Tensor kann auch abhängig von allen n Worten oder mehreren Worten des Satzes bestimmt werden. Es können eine Anzahl m Funktionen vorgesehen sein mit denen m verschiedene numerische Repräsentationen für wenigsten seinen Teil eines Wortes bestimmt werden. Dies ist in 3 schematisch dargestellt.
-
In einem Schritt 206 wird der zweite Eingang für den zweiten Klassifizierer 106 bestimmt. Der zweite Eingang umfasst eine numerische Repräsentation wenigstens eines Teils eines Wortes aus dem Satz 112.
-
Im Beispiel definiert der erste Tensor den zweiten Eingang für den zweiten Klassifizierer 106.
-
In einem Schritt 208 wird der dritte Eingang für einen dritten Klassifizierer 108 bestimmt.
-
Der dritte Eingang ist im Beispiel identisch mit dem zweiten Eingang.
-
In einem Schritt 210 wird mit dem ersten Klassifizierer 104 abhängig vom ersten Eingang eine numerische Repräsentation einer ersten Wahrscheinlichkeit bestimmt, die angibt, ob der Satz 112 den Knowledge Graphs 102 betrifft oder nicht.
-
Im Beispiel wird ein Wert der numerischen Repräsentation der ersten Wahrscheinlichkeit zwischen 0 und 1 bestimmt.
-
Der erste Klassifizierer 104 bestimmt im Beispiel mit der ersten Schicht 104-1 abhängig vom ersten Eingang einen Vektor für den Satz 112 und mit der zweiten Schicht 104-2 abhängig vom Vektor die numerische Repräsentation der ersten Wahrscheinlichkeit.
-
Für diese Satzklassifikation kann eine Attention-Schicht eines künstlichen neuronalen Netzwerks mit BiLSTM Struktur eine Satzrepräsentation als gewichtete Repräsentation der BiLSTM Hidden-States berechnen und eine Softmax-Schicht in einer binären Klassifikation klassifizieren, ob der Satz eine für den Knowledge Graph relevante Information beschreibt oder nicht.
-
In einem Schritt 212 wird geprüft, ob die numerische Repräsentation der ersten Wahrscheinlichkeit eine erste Bedingung erfüllt. Im Beispiel ist die Bedingung erfüllt, wenn der Wert der numerischen Repräsentation einen Schwellwert übersteigt. Das bedeutet, wenn festgestellt wird, dass der Satz den Knowledge Graph betrifft.
-
Wenn die numerische Repräsentation der ersten Wahrscheinlichkeit die erste Bedingung erfüllt, wird ein Schritt 214 ausgeführt. Anderenfalls wird der Schritt 204 für einen anderen Satz aus dem Textkorpus 110 ausgeführt.
-
Im Schritt 214 wird mit dem zweiten Klassifizierer 106 abhängig vom zweiten Eingang eine numerische Repräsentation einer zweiten Wahrscheinlichkeit bestimmt, die den ersten Typ angibt.
-
Der zweite Klassifizierer 106 bestimmt mit der ersten Schicht 106-1 abhängig vom zweiten Eingang einen Vektor für das Wort aus dem Satz 112. Der zweite Klassifizierer 106 bestimmt im Beispiel mit der zweiten Schicht 106-2 abhängig vom Vektor eine Vielzahl numerischer Repräsentation der zweiten Wahrscheinlichkeit, wobei jede numerische Repräsentation der Vielzahl numerischer Repräsentationen einem Typ eines Knoten für den Knowledge Graph 102 zugeordnet wird.
-
Beispiele für Typen eines Knoten sind für einen Knowledge Graph, der ein materialwissenschaftliches Experiment oder eine Vielzahl materialwissenschaftlicher Experimente beschreibt, MATERIAL, WERT, GERÄT.
-
Worte vom Typ MATERIAL enthalten beispielsweise eine chemische Formel oder den Namen einer chemischen Verbindung wie Oxid oder Kohlenwasserstoff.
-
Worte vom Typ WERT enthalten beispielsweise eine Wertangabe wie 750°C oder Komparative wie größer, gleich, zwischen.
-
Worte vom Typ GERÄT enthalten beispielsweise eine Bezeichnung für ein Gerät wie Maschine, Apparat oder eine domänenspezifische Abkürzung für ein Gerät.
-
Mit dem dritten Klassifizierer 108 wird abhängig vom dritten Eingang eine numerische Repräsentation einer dritten Wahrscheinlichkeit bestimmt, die den zweiten Typ angibt.
-
Der dritte Klassifizierer 108 bestimmt mit der ersten Schicht 108-1 abhängig vom dritten Eingang einen Vektor für das Wort aus dem Satz 112. Der dritte Klassifizierer 108 bestimmt mit der zweiten Schicht 108-2 abhängig vom Vektor eine Vielzahl numerischer Repräsentationen der dritten Wahrscheinlichkeit. Jede numerische Repräsentation der Vielzahl numerischer Repräsentationen wird im Beispiel einem Typ einer Kante für den Knowledge Graph 102 zugeordnet.
-
Beispiele für Typen von Kanten sind für diesen Knowledge Graph Anodenmaterial, Kathodenmaterial, Treibstoff.
-
Worte vom Typ Anodenmaterial enthalten beispielsweise Wortbestandteile, die ein als Anode verwendbares Material bezeichnen.
-
Worte vom Typ Treibstoff enthalten beispielsweise Wortbestandteile, die eine Komponente eines Treibstoffs bezeichnet.
-
In einem Schritt 216 wird das erste Wort aus dem Satz 112 einem Knoten des Knowledge Graphs 102 zugeordnet. Es kann vorgesehen sein, dass das zweite Wort aus dem Satz 112 einem Knoten zugeordnet wird. Das erste Wort bezeichnet zum Beispiel ein Material, das im Satz beschrieben wird. Das zweite Wort bezeichnet zum Beispiel ein Gerät, das im Experiment verwendet wird.
-
In einem optionalen Schritt 218 kann geprüft werden, ob der Knoten ein Experiment-Knoten ist oder nicht. Wenn der Knoten ein Experiment-Knoten ist, wird der Schritt 204 für ein anderes Wort aus dem Satz ausgeführt. Anderenfalls wird ein Schritt 220 ausgeführt.
-
Im Knowledge Graph wird in diesem Beispiel in einem Schritt 220 eine Kante zwischen dem Knoten und dem Experiment-Knoten eingefügt. Die Kante kann mit einer Bezeichnung bezeichnet werden, die durch den erkannten Typ der Kante definiert ist. Anschließend wird der Schritt 204 für einen anderen Satz aus dem Textkorpus 110 ausgeführt.
-
Ein Wort aus dem Satz 112 aus dem Textkorpus 110 wird im Beispiel dann einem Knoten des Knowledge Graphs 102 zugeordnet, wenn das Wort einem dem entsprechenden ersten Typ zugeordnet ist. Der Knoten wird in diesem Fall mit einer Kante des zweiten Typs mit dem Experiment-Knoten verbunden.
-
Das Verfahren endet im Beispiel, wenn alle Sätze aus dem Textkorpus 110 verarbeitet wurden. Es kann auch vorgesehen sein, das Verfahren nur für eine Vielzahl von Sätzen aus dem Textkorpus 110 auszuführen, die zuvor definiert werden.
-
Damit wird eine automatische Extraktion von Informationen aus nicht annotierten beispielsweise materialwissenschaftlichen Publikationen ermöglicht, die es ermöglicht einen Knowledge Graphen zu bauen. Dazu ist eine automatische Erkennung von relevanten Sätzen aus dem Textkorpus vorgesehen. Ein Satz ist beispielweise relevant, wenn der Satz ein beispielsweise materialwissenschaftliches Experiment beschreibt. Zudem ist eine automatische Erkennung von Worten aus dem Satz vorgesehen, die als Knoten im Knowledge Graph relevant sind. Ein Wort ist beispielsweise für einen Knoten relevant, wenn es ein Konzept für das insbesondere materialwissenschaftliche Experiment beschreibt. Beispiele für Konzepte aus dem Bereich der Materialwissenschaft sind ein Material oder eine Maßeinheit. Zudem ist eine automatische Erkennung von Worten aus dem Textkorpus vorgesehen, die durch eine Kante im Knowledge Graph mit dem Experiment-Knoten zu verbinden sind. Eine Kante wird beispielsweise im Knowledge Graph mit einer Bezeichnung eingetragen, die angibt, welche Rolle ein Konzept im insbesondere Materialwissenschaftlichen Experiment beschreibt. Beispiele für Rollen aus dem Bereich der Materialwissenschaft sind Anodenmaterial, Kathodenmaterial. Der Ansatz ist auch auf andere Domänen außerhalb der Materialwissenschaften anwendbar. Die Klassifizierer können als ein oder mehrere Modelle insbesondere künstliche neuronale Netzwerke ausgebildet sein, die dazu trainiert sind, automatisch Informationen über Experimente aus wissenschaftlichen Publikationen zu extrahieren, damit diese in einen Knowledge Graph geschrieben werden können. Der erste Klassifizierer kann als insbesondere binäres Klassifikationsmodell ausgebildet sein, das trainiert ist, für einen Satz binär anzugeben, ob er für das Experiment relevant ist oder nicht. Der zweite Klassifizierer und der dritte Klassifizierer können je als ein Sequenz-Tagging-Modell implementiert sein. Ein Sequenz-Tagging-Modell verwendet eine Vielzahl vorgegebener Bezeichnungen und klassifiziert Worte dahingehend, welcher der Bezeichnungen das Wort mit größter Wahrscheinlichkeit zuzuordnen ist. Die Bezeichnungen für den zweiten Klassifizierer können Typen sein, die mögliche Konzepte definieren. Die Bezeichnungen für den dritten Klassifizierer können Typen sein, die mögliche Rollen definieren. Mögliche Rollen und mögliche Konzepte können Worte aus einer Wortsammlung sein, die für die Domäne, der der Textkorpus zugeordnet ist, definiert sind. Durch Wiederholen der Schritte für beispielsweise alle Wörter aus dem Textkorpus werden eine erste Menge von Konzepten, d.h. Worten aus dem Textkorpus, die als Knoten relevant sind, und eine zweite Menge von Rollen, d.h. Wörter aus dem Textkorpus, die als Knoten, an denen Kanten enden, relevant sind, bestimmt. Die damit gefundenen Worte für Knoten können in den Knowledge Graph aufgenommen und durch eine Kante mit dem Experiment-Knoten verbunden werden. Der Knowledge Graph kann dann von Domänenexperten verwendet werden, um gezielt nach Informationen und verwandten Arbeiten zu einem bestimmten Experiment zu suchen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- Luan et al. 2018: Yi Luan et al.: Multi-Task Identification of Entities, Relations, and Coreference for Scientific Knowledge Graph Construction. Conference on Empirical Methods in Natural Language Processing, 2018 [0001]
- Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. 2013 [0028]
- Vahe Tshitoyan, John Dagdelen, Leigh Weston, Alexander Dunn, Ziqin Rong, Olga Kononova, Kristin A. Persson, Gerbrand Ceder, and Anubhav Jain. 2019. Unsupervised word embeddings capture latent knowledge from materials science literature. Nature, 571:95 - 98 [0029]
- Benjamin Heinzerling and Michael Strube. 2018. BPEmb: Tokenization-free Pre-trained Subword Embeddings in 275 Languages. In Proceedings of the Eleventh International Conference on Language Resources and Evaluation (LREC 2018), Miyazaki, Japan. European Language Resources Association (ELRA) [0030]
- BERT Embeddings sind beispielsweise beschrieben in Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pages 4171-4186, Minneapolis, Minnesota. Association for Computational Linguistics [0031]
- Iz Beltagy, Kyle Lo, and Arman Cohan. 2019. Scibert: A pretrained language model for scientific text. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 3606-3611 [0032]