EP3971792A1 - Device and method for determining a knowledge graph - Google Patents

Device and method for determining a knowledge graph Download PDF

Info

Publication number
EP3971792A1
EP3971792A1 EP20197168.6A EP20197168A EP3971792A1 EP 3971792 A1 EP3971792 A1 EP 3971792A1 EP 20197168 A EP20197168 A EP 20197168A EP 3971792 A1 EP3971792 A1 EP 3971792A1
Authority
EP
European Patent Office
Prior art keywords
classification
classifier
determining
knowledge graph
node
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
EP20197168.6A
Other languages
German (de)
French (fr)
Inventor
Subhash Chandra Pujari
Annemarie Friedrich
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to EP20197168.6A priority Critical patent/EP3971792A1/en
Priority to US17/400,631 priority patent/US20220092440A1/en
Priority to CN202111092483.9A priority patent/CN114297396A/en
Priority to JP2021151855A priority patent/JP2022051705A/en
Publication of EP3971792A1 publication Critical patent/EP3971792A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/29Graphical models, e.g. Bayesian networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine 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
    • 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/048Activation functions
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent

Definitions

  • the invention relates to a device and a method for determining a knowledge graph, in particular according to a solution of a classification problem.
  • a computer-implemented method of determining a knowledge graph comprises determining an embedding for a sequence of tokens of an instance, determining a first classification for the embedding at a first classifier, determining if the first classification meets a first condition, adding to the knowledge graph a first link between a first node of the knowledge graph representing the instance and a node of the knowledge graph representing the first classification when the first classification meets the first condition and not adding the first link otherwise.
  • the first classifier is associated with a node of the knowledge graph representing a label in a tree of labels. The first classification may be either that the instance belongs to this label or that the instance does not belong to this label.
  • the method comprises determining a second classification at a second classifier, determining if the second classification meets a second condition, adding to the knowledge graph a second link between the node of the knowledge graph representing the instance and a second node of the knowledge graph representing the second classification when the second classification meets the second condition and not adding the second link otherwise.
  • a main task is broken into a set of tasks and classifiers output the prediction for each task separately.
  • the method may comprise providing the embedding to the first classifier, providing the embedding and/or a hidden state of the first classifier resulting from the provided embedding as input to the second classifier.
  • the classifiers of different levels in a hierarchy are assigned to different levels in a hierarchy of labels in the tree of labs. Links between parent and child nodes in the knowledge graph are represented by the hierarchy for the classifiers.
  • the classification or the hidden state of the classifier representing a parent may serve as input for the classifier representing its child.
  • the method may comprise determining the first link from the node representing the instance to the first node representing the first classification when the second classification meets the condition.
  • the predictions of this ensemble of classifiers is used in a hierarchical prediction mode or by post-processing predictions in order to make hierarchical predictions consistent, e.g. add relevant parent nodes to the knowledge graph if they have not been predicted but children have been predicted, or removing child labels if the parent node has not been predicted.
  • the sequence of tokens of the instance may be determined.
  • a tokenizer may be used to determine the sequence.
  • the instance may comprise digital text data.
  • the first classification and/or the second classification is a binary classification.
  • the method may comprise providing the knowledge graph with nodes representing a tree of labels, and adding to the knowledge graph a plurality of links to nodes representing labels for the instance.
  • a single label or multiple labels may be assigned to the instance this way.
  • the method comprises deciding with the first classification and/or the second classification whether the instance belongs to a category represented by a node in the tree of labels or not.
  • the method preferably comprises assigning the first classification to a different label than the second classification.
  • assigning the first classification to a different label than the second classification.
  • the method comprises providing a data point that comprises a label for the first classification and/or a label for the second classification, and training the first classifier and/or the second classifier depending on the data point.
  • the method comprises providing a model, in particular a neural network, and training the model to determine the first classification or the second classification.
  • a model in particular a neural network
  • the model to determine the first classification or the second classification.
  • a part of the neural network representing one classifier is trained.
  • Training the model may comprise determining a loss from the output of the first classifier and a loss from the output of the second classifier, and backpropagating the losses to either train the weights in the first classifier and in the second classifier depending on both losses or to train the first classifier depending on the first loss and independent of the second loss and to train the second classifier depending on the second loss and independent of the first loss.
  • the method comprises determining a classification for an input to the so trained model with a classifier at a position in a hierarchy of classifiers in the model, and assigning the classification to a label that corresponds to the position in a hierarchy of a tree of labels.
  • the classifier ensemble in the model may be used for making hierarchical predictions. This makes the labels in the tree consistent.
  • a device for determining a knowledge graph is configured to perform the steps of the method.
  • a device 100 for determining a knowledge graph 102 comprises in the example at least one processor 104, at least one memory 106 and an interface 108.
  • the interface 108 may be adapted to receive input data for the knowledge graph 102 and to output information about the input data.
  • a data link 110 at least temporarily connects the at least one processor 104, the interface 108 and the at least one memory 106.
  • the device 100 is configured to perform the steps of the method described below.
  • the at least one memory 106 may comprise a computer program.
  • the computer program may comprise computer-readable instructions that when executed by the at least one processor 104 cause the device 100 to perform steps in this method.
  • the knowledge graph 102 represents a solution of a classification problem that is determined by a hierarchical multi-label classification.
  • Hierarchical multi-label classification is a category of classification problem where an item, e.g., an instance of text or a digital image, is classified into hierarchical labels with the possibility of assigning multiple labels of each hierarchical level.
  • the instance in the example is stored in the at least one memory 106 or received via the interface 108.
  • the instance may comprises digital text data.
  • FIG. 2 depicts an exemplary tree of labels 200 constituting a hierarchy.
  • the hierarchy has a highest level, referred to as root level 202 and in descending hierarchical order a first level 204, a second level 206 and a third level 208.
  • the root level in the example comprises one node labelled Root.
  • the first level 204 in the example comprises a non-leaf node for a label A and a non-leaf node for a label B. Both are directly linked to the node labelled Root. Both are not linked directly to one another.
  • each node has exactly one parent.
  • the second level 206 in the example comprises a non-leaf node for a label A43 and a non-leaf node for a label A44. Both are directly linked to the node A. Both are neither linked to node B nor to the node labelled Root nor linked directly to one another.
  • the second level 206 in the example comprises a non-leaf node for a label B41 and a non-leaf node for a label B23. Both are directly linked to the node B. Both are neither linked to node B nor to the node labelled Root nor linked directly to one another.
  • the third level 208 in the example comprises a leaf node for a label A43B and a leaf node for a label A43C. Both are directly linked to the node A43. Both are not linked to any other node.
  • the third level 208 in the example comprises a leaf node for a label A44B and a leaf node for a label A44C. Both are directly linked to the node A44. Both are not linked to any other node.
  • the third level 208 in the example comprises a leaf node for a label B41J and a leaf node for a label B41 F. Both are directly linked to the node B41. Both are not linked to any other node.
  • the third level 208 in the example comprises a leaf node for a label B23D and a leaf node for a label B23Q. Both are directly linked to the node B23. Both are not linked to any other node.
  • FIG. 3 A part of an ensemble 300 of classifiers where one classifier is trained per node of the tree is depicted in a schematic view of a classification according to a first aspect in figure 3-A .
  • Figure 3-B depicts the classification according to a second aspect.
  • figure 3-A and figure 3-B depict artificial neural network architectures with classifiers for labels in the branch of the tree of Figure 2 including the node A.
  • the ensemble 300 according to the first aspect is described below with reference to Figure 3-A .
  • An input to the ensemble 300 may be an instance comprising a sequence of tokens.
  • the input may comprise a title or an abstract of a patent document.
  • the labels are according to a patent classification.
  • the input is a raw text 301 without any kind of preprocessing.
  • An appropriate tokenizer 302 e.g. wordpiece tokenization, tokenizes the text 301 into a sequence of tokens. This sequence of tokens is in the example one-hot encoded to form an input vector t1, t2, t3, ... tn per token using token identifications 303 of a corresponding vocabulary as a preparation for a transformer layer 304 referred to as transformer below.
  • An input vector for a special classification token is provided as well and labelled ⁇ CLS> in figure 3-A .
  • the transformer 304 in the example is a transformer-based neural language model, e.g. a pre-trained neural language model, e.g., BERT or RoBERTa.
  • a transformer-based neural language model e.g. a pre-trained neural language model, e.g., BERT or RoBERTa.
  • the input vectors ⁇ CLS>, t1, t2, t3, ... tn representing the special classification token and the one-hot encoded sequence of tokens are passed through a pre-trained transformer, i.e. a language model, to generate an embedding 306.
  • the embedding 306 comprises token embeddings 306-1, 306-2, ..., 306-n for the input vectors t1, t2, t3, ... tn.
  • the embedding 306 includes an embedding 307 for the special classification token, e.g. CLS for BERT.
  • BERT outputs a special sequence of embeddings, the first one of which is the embedding 307 that corresponds to the classification token and can be used as a representation of the entire input sequence.
  • BERT also outputs one embedding for each token.
  • the CLS-embedding is used to form a single embedding that serves as input for the classifiers and/or the rest of the neural network.
  • the transformer's output embeddings 306 form a matrix.
  • a dimension of the matrix depends on the maximum number of tokens.
  • the transformer 304 With number of wordpiece tokens as M in a text and an embedding size of E, the transformer 304 generates a token tensor of dimension M x E.
  • the first vector within this token tensor corresponds to the embedding 307 of the CLS token and can be regarded as representing an embedding for the entire input sequence, i.e., it can be used as the aggregated embedding 308.
  • the aggregated embedding 308 may be passed to a task specific hidden layer of a classifier directly.
  • figure 3-A a plurality of classifiers is depicted that is arranged according to a hierarchy that matches the hierarchy of the leafs and non-leaf nodes in the tree of labels depicted in figure 2 .
  • figure 3-A depicts a classifier 310 corresponding to a first level of the hierarchy that is trained for determining for the aggregated embedding 308 a value of a classification assigned to label A.
  • a classifier 312 corresponding to a second level of the hierarchy is trained for determining for its input a value of a classification in particular a value of a binary classification assigned to label A43.
  • a classifier 314 corresponding to the second level of the hierarchy is trained for determining for its input a value of a classification in particular a value of a binary classification assigned to label A44.
  • a classifier 316 corresponding to a third level of the hierarchy is trained for determining for its input a value of a classification in particular a value of a binary classification assigned to label A43B.
  • a classifier 318 corresponding to the third level of the hierarchy is trained for determining for its input a value of a classification in particular a value of a binary classification assigned to label A43C.
  • a classifier 320 corresponding to the third level of the hierarchy is trained for determining for its input a value of a classification in particular a value of a binary classification assigned to label A44B.
  • a classifier 322 corresponding to the third level of the hierarchy is trained for determining for its input a value of a classification in particular a value of a binary classification assigned to label A44C.
  • shared layers for two tasks may be used.
  • Shared layers in this aspect refers to layers of the artificial neural network for classifiers that were used to compute the respective outputs.
  • the shared layers include layers of the classifier for label A, 308, the classifier for label A43, 312, the classifier for label A43B, 316, the classifier for label A43C, 318 and the BERT layers but neither the classifier for label A44, 314, nor the classifier for label A44B, 320 , nor the classifier for label A44C, 322.
  • the binary classification in the example is true if the instance is assigned to the label and false otherwise. True is referred to as indication that the instance belongs to this label. False is referred to as indication that the instance does not belong to this label.
  • a softmax layer or softmax operation 324 may be provided for the values of the classifications. As shown in the part of ensemble 300 depicted figure 3-A , with 7 labels across the hierarchy, 7 softmax layer or softmax operation 324 may be used.
  • the classifiers are arranged in the example as label specific layers. Identifying whether an input can be assigned to a label or not is in the example a task.
  • the classifiers could in general be any type of classifier.
  • the input to a task makes use of the hierarchical relations between labels and passes the learning of a higher level task to a lower level task.
  • the input for the classifier 310 in the example is the aggregated embedding 308.
  • the input for any classifier may comprise an output of a classifier that is in a higher level of the hierarchy.
  • the input for such classifiers may comprise a concatenation of the aggregated embedding 308 with an output of a classifier that is in a higher level of hierarchy.
  • an optional means 326 for combining, e.g., concatenating, the aggregated embedding 308 with a respective output is depicted.
  • the aggregated embedding 308 or the CNN output may be combined, e.g. concatenated, with the hidden state of a parent which is passed as an input to a dense layer of a child.
  • a task is performed in the example by at least one dense layer of the classifier.
  • a set of dense layers with a softmax function after the last dense layer may be used to determine the output.
  • the input for any classifier may be a vector.
  • the vector may be passed through k-dense layers each with a size D.
  • the classifiers are task specific.
  • a task specific classifier in the example makes a binary classification to predict whether the given instance, e.g. the text or a word sequence from the text or the digital image, belongs to a particular class or not.
  • the task specific classifier in the example comprises a dense layer with a softmax output 324 of dimension 2.
  • the dense layer may be provided with a rectifier linear unit, ReLU, as an activation function and binary cross-entropy as a loss.
  • the ensemble 300 according to the second aspect differs from the ensemble 300 according to the first aspect only in that the information of the sequence of tokens t1, t2, t3, ... tn is aggregated into one aggregated embedding 308, e.g., a single vector.
  • the aggregated embedding 308 is not based on the embedding 307 of the special classification token e.g., CLS in BERT.
  • the aggregation is instead determined from the token embeddings 306-1, 306-2, ..., 306-n by a component 309 which may be a convolutional neural network layer, CNN layer, or an aggregation function such as average, with or without attention.
  • a set of convolutional layers with varying kernel size may be applied on the tensor containing the embeddings of all input tokens.
  • the convolutional layers in the example comprise kernels with size 2,3,4,5 and F filters per convolution layer.
  • a CNN layer is used in the example as component 309 to create a single vector representing its entire input sequence.
  • a computer implemented method of determining the knowledge graph 102 is described below with reference to figure 4 .
  • the following description assumes one classifier per leaf or non-leaf node of the tree of labels.
  • the method uses a trained model.
  • the model represents the ensemble 300.
  • the model in the example is a neural network comprising layers and levels as described above.
  • a linear layer in the example produces two logits for a binary classification.
  • the method will be described by way of example with an exemplary hierarchy for the classifiers and for a trained first classifier and a trained second classifier.
  • the first classifier is trained to determine a first classification.
  • the first classifier is associated with a first node of the knowledge graph 102 representing a first label.
  • the second classifier is trained to determine a second classification.
  • the second classifier is associated with a second node of the knowledge graph 102 representing a second label.
  • the hierarchy for the classifiers may comprise further different classifiers that are trained to take different decisions.
  • the classifiers of different levels in the hierarchy for the classifiers are assigned to different levels in a hierarchy of labels in the tree of labels. These may be used in the same manner as described for the first classifier and the second classifier.
  • Links between parent and child nodes in the knowledge graph 102 are represented by the hierarchy for the classifiers.
  • the classification or hidden state of a classifier representing a parent may serve as input for a classifier representing its child.
  • the first classification and the second classification in the example is a binary classification for one particular label of the tree of labels.
  • the output of the transformer 304 may be shared for all classifiers.
  • the different classifiers are trained in a multi-task setting described below in further detail. This means that the parameters of the transformer 304 may be actually trained as well.
  • the method comprises a step 402 of splitting an instance of text into a sequence of tokens with the tokenizer 302.
  • step 404 is executed.
  • step 404 for each token, an embedding is determined with the transformer 304, e.g. the transformer-based neural language model. At the same time, step 404 determines a single embedding.
  • the single embedding may be the aggregated embedding 308, e.g. for the CLS token or the output of the component 309, which can be used to represent the entire sequence.
  • step 406 is executed.
  • a first classification is determined for the embedding at the first classifier.
  • the embedding is provided in the example to the first classifier.
  • step 408 is executed.
  • a second classification is determined at the second classifier.
  • the embedding and/or a hidden state of the first classifier resulting from the embedding provided in step 406 may be provided as input to the second classifier.
  • the embedding may be concatenated with the classification or the hidden state.
  • step 410 is executed.
  • the first classification meets a first condition.
  • the first classification may be either that the instance belongs to this label or that the instance does not belong to this label.
  • a step 412 is executed. Otherwise a step 414 is executed.
  • a first link between a first node of the knowledge graph 102 representing the instance and a node of the knowledge graph 102 representing the first classification is added to the knowledge graph 102.
  • step 414 is executed.
  • step 414 it is determined, if the second classification meets a second condition.
  • the second classification may be either that the instance belongs to this label or that the instance does not belong to this label.
  • a step 416 is executed. Otherwise a step 418 is executed.
  • step 416 a second link between the node of the knowledge graph 102 representing the instance and a second node of the knowledge graph 102 representing the second classification is added to the knowledge graph 102.
  • Step 418 is executed. Step 418 is optional.
  • the first link is determined from the node representing the instance to the first node representing the first classification when the second classification meets the condition.
  • the predictions of this ensemble of classifiers is used in a hierarchical prediction mode or by post-processing predictions in order to make hierarchical predictions consistent, e.g., add relevant parent nodes to the knowledge graph if they have not been predicted but children have been predicted, or removing child labels if the parent node has not been predicted.
  • a main task is broken into a set of tasks that correspond to different classifiers.
  • the classifiers output the prediction for each task separately.
  • the neural network may have more levels of the hierarchy than depicted in Fig. 4 . Thus a more complex knowledge graph 102 is easily determined.
  • a set of labels is predicted this way using the multi-head neural network provided by the model.
  • the set of labels may optionally be made consistent with the predicted hierarchical label set. To this end, parent labels may be added or child labels removed according to the predicted label set.
  • a node n may be added to the knowledge graph 102 representing the original digital image or text sequence.
  • Links labeled as belongsToCategory may be added between n and any node L representing one of the predicted labels. These may or may not include parent categories.
  • Steps for training the model are described with reference to figure 5 .
  • a step 502 the model is provided.
  • the neural network is provided with structure according to the tree of labels.
  • the neural network may comprise a plurality of convolutional neural network layers, dropout layers, or dense layers.
  • a labelled data point is provided.
  • the data point is assigned in the example to the first classification or to the second classification or to both.
  • the data point in the example comprises a label for the first classifier and the second classifier.
  • the training is performed with a plurality of labelled data points that are assigned to different classifications or to a plurality of classifications.
  • step 506 is executed.
  • step 506 the first classifier and/or the second classifier are trained depending on the data point.
  • the model is trained to determine the first classification and/or the second classification.
  • a classifier is trained, e.g., one convolutional network, at least one dense layer or a part of the artificial neural network. There may be more than two levels in the hierarchy and classifiers.
  • training the model comprises determining a first loss from the output of the first classifier and a second loss from the output of the second classifier, backpropagating the losses to train the weights in the first classifier and in the second classifier.
  • first classifier and the second classifier do not belong to shared layers.
  • the first loss is determined independent of the output of the second classifier and the parameters of the first classifier are updated depending on the first loss and independent of the second loss.
  • the second loss is determined independent of the output of the first classifier and the parameters of the second classifier are updated depending on the second loss and independent of the first loss.
  • the first classifier and the second classifier belong to shared layers. In this example, the shared layers are updated depending on the first loss and the second loss.
  • the parameters of the first classifier and the second classifier are for example updated depending on a sum of the first loss and the second loss.
  • the first loss or the second loss may be determined as sum of a norm of a difference of the softmax outputs 324 for an input defined in the data point to a reference defined in the data point for this input.
  • This input may be the aggregated embedding 308, e.g. the embedding of the CLS token or the embedding aggregating the information in the series of tokens t1, ..., tn of a training instance or the training instance.
  • training the model comprises when the data point is labelled for the first classification and not for the second classification determining a loss from the output of the first classifier and backpropagating the loss to train weights in the first classifier and not in the second classifier.
  • training the model comprises when the data point is labelled for the second classification and not for the first classification determining a loss from the output of the second classifier and backpropagating the loss to train weights in the second classifier and not in the first classifier.
  • the training may comprise a plurality of epochs.
  • the steps for training may be performed before using the model as described above. In that case, after the training, the step 402 is executed.
  • the method may comprise a step of determining a classification for an input to the so trained model.
  • the classification may be made with a classifier at a position in a hierarchy of classifiers in the model.
  • the method may further comprise assigning the classification to a label that corresponds to the position in a hierarchy of a tree of labels.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A device and a computer-implemented method of determining a knowledge graph, comprising determining (404) an embedding for a sequence of tokens of an instance, determining (406) a first classification for the contextual embedding at a first classifier, determining (410) if the first classification meets a first condition, adding (412) to the knowledge graph a first link between a first node of the knowledge graph representing the instance and a node of the knowledge graph representing the first classification when the first classification meets the first condition and not adding the first link otherwise.

Description

    Background
  • The invention relates to a device and a method for determining a knowledge graph, in particular according to a solution of a classification problem.
  • Disclosure of the invention
  • A computer-implemented method of determining a knowledge graph comprises determining an embedding for a sequence of tokens of an instance, determining a first classification for the embedding at a first classifier, determining if the first classification meets a first condition, adding to the knowledge graph a first link between a first node of the knowledge graph representing the instance and a node of the knowledge graph representing the first classification when the first classification meets the first condition and not adding the first link otherwise. The first classifier is associated with a node of the knowledge graph representing a label in a tree of labels. The first classification may be either that the instance belongs to this label or that the instance does not belong to this label.
  • Preferably, the method comprises determining a second classification at a second classifier, determining if the second classification meets a second condition, adding to the knowledge graph a second link between the node of the knowledge graph representing the instance and a second node of the knowledge graph representing the second classification when the second classification meets the second condition and not adding the second link otherwise. In a multi-task setting a main task is broken into a set of tasks and classifiers output the prediction for each task separately.
  • The method may comprise providing the embedding to the first classifier, providing the embedding and/or a hidden state of the first classifier resulting from the provided embedding as input to the second classifier. The classifiers of different levels in a hierarchy are assigned to different levels in a hierarchy of labels in the tree of labs. Links between parent and child nodes in the knowledge graph are represented by the hierarchy for the classifiers. The classification or the hidden state of the classifier representing a parent may serve as input for the classifier representing its child.
  • The method may comprise determining the first link from the node representing the instance to the first node representing the first classification when the second classification meets the condition. When the second classifier is at a lower hierarchical level of the hierarchy for the classifiers than first classifier, the predictions of this ensemble of classifiers is used in a hierarchical prediction mode or by post-processing predictions in order to make hierarchical predictions consistent, e.g. add relevant parent nodes to the knowledge graph if they have not been predicted but children have been predicted, or removing child labels if the parent node has not been predicted.
  • The sequence of tokens of the instance may be determined. A tokenizer may be used to determine the sequence. The instance may comprise digital text data.
  • Preferably the first classification and/or the second classification is a binary classification.
  • The method may comprise providing the knowledge graph with nodes representing a tree of labels, and adding to the knowledge graph a plurality of links to nodes representing labels for the instance. A single label or multiple labels may be assigned to the instance this way.
  • Preferably the method comprises deciding with the first classification and/or the second classification whether the instance belongs to a category represented by a node in the tree of labels or not.
  • The method preferably comprises assigning the first classification to a different label than the second classification. Thus, different tasks are solved in the multi-task setting.
  • For training, the method comprises providing a data point that comprises a label for the first classification and/or a label for the second classification, and training the first classifier and/or the second classifier depending on the data point. This means different classifiers are trained to take different decisions. This allows solving different tasks in the multi-task setting. This combines the advantages of hierarchical classification algorithms, where training data is leveraged in an optimal way by training classifiers focusing on different decisions, and the advantages of transformer-based pre-trained neural language models for classification. As one transformer model is shared for all classifiers and as the different classifiers are trained in a multi-task setting, computational feasibility is ensured even in settings where limited computational capacity is available.
  • Preferably, the method comprises providing a model, in particular a neural network, and training the model to determine the first classification or the second classification. Thus, for each label, a part of the neural network representing one classifier is trained.
  • Training the model may comprise determining a loss from the output of the first classifier and a loss from the output of the second classifier, and backpropagating the losses to either train the weights in the first classifier and in the second classifier depending on both losses or to train the first classifier depending on the first loss and independent of the second loss and to train the second classifier depending on the second loss and independent of the first loss.
  • Preferably, the method comprises determining a classification for an input to the so trained model with a classifier at a position in a hierarchy of classifiers in the model, and assigning the classification to a label that corresponds to the position in a hierarchy of a tree of labels. The classifier ensemble in the model may be used for making hierarchical predictions. This makes the labels in the tree consistent.
  • A device for determining a knowledge graph is configured to perform the steps of the method.
  • Further advantageous embodiments are easily derived from the following description and the drawing. In the drawing
  • Fig. 1
    depicts a device for determining a knowledge graph,
    Fig. 2
    depicts a tree of labels,
    Fig. 3-A
    depicts a schematic view of a classification according to a first aspect,
    Fig. 3-B
    depicts a schematic view of the classification according to a second aspect,
    Fig. 4
    depicts steps in a method of determining the knowledge graph,
    Fig. 5
    depicts steps in the method for training a model for determining the knowledge graph.
  • A device 100 for determining a knowledge graph 102 comprises in the example at least one processor 104, at least one memory 106 and an interface 108. The interface 108 may be adapted to receive input data for the knowledge graph 102 and to output information about the input data. A data link 110 at least temporarily connects the at least one processor 104, the interface 108 and the at least one memory 106.
  • The device 100 is configured to perform the steps of the method described below.
  • The at least one memory 106 may comprise a computer program. The computer program may comprise computer-readable instructions that when executed by the at least one processor 104 cause the device 100 to perform steps in this method.
  • In the example below, the knowledge graph 102 represents a solution of a classification problem that is determined by a hierarchical multi-label classification. Hierarchical multi-label classification is a category of classification problem where an item, e.g., an instance of text or a digital image, is classified into hierarchical labels with the possibility of assigning multiple labels of each hierarchical level.
  • The instance in the example is stored in the at least one memory 106 or received via the interface 108. The instance may comprises digital text data.
  • In the aspect described below, a binary classifier is trained for a leaf or a non-leaf node of a tree of labels. Figure 2 depicts an exemplary tree of labels 200 constituting a hierarchy. The hierarchy has a highest level, referred to as root level 202 and in descending hierarchical order a first level 204, a second level 206 and a third level 208.
  • The root level in the example comprises one node labelled Root. The first level 204 in the example comprises a non-leaf node for a label A and a non-leaf node for a label B. Both are directly linked to the node labelled Root. Both are not linked directly to one another. In one aspect, in the tree of labels each node has exactly one parent.
  • The second level 206 in the example comprises a non-leaf node for a label A43 and a non-leaf node for a label A44. Both are directly linked to the node A. Both are neither linked to node B nor to the node labelled Root nor linked directly to one another.
  • The second level 206 in the example comprises a non-leaf node for a label B41 and a non-leaf node for a label B23. Both are directly linked to the node B. Both are neither linked to node B nor to the node labelled Root nor linked directly to one another.
  • The third level 208 in the example comprises a leaf node for a label A43B and a leaf node for a label A43C. Both are directly linked to the node A43. Both are not linked to any other node.
  • The third level 208 in the example comprises a leaf node for a label A44B and a leaf node for a label A44C. Both are directly linked to the node A44. Both are not linked to any other node.
  • The third level 208 in the example comprises a leaf node for a label B41J and a leaf node for a label B41 F. Both are directly linked to the node B41. Both are not linked to any other node.
  • The third level 208 in the example comprises a leaf node for a label B23D and a leaf node for a label B23Q. Both are directly linked to the node B23. Both are not linked to any other node.
  • A part of an ensemble 300 of classifiers where one classifier is trained per node of the tree is depicted in a schematic view of a classification according to a first aspect in figure 3-A. Figure 3-B depicts the classification according to a second aspect.
  • More specifically, figure 3-A and figure 3-B depict artificial neural network architectures with classifiers for labels in the branch of the tree of Figure 2 including the node A. The ensemble 300 according to the first aspect is described below with reference to Figure 3-A.
  • An input to the ensemble 300 may be an instance comprising a sequence of tokens. The input may comprise a title or an abstract of a patent document. In this example, the labels are according to a patent classification.
  • In the first aspect depicted in figure 3-A the input is a raw text 301 without any kind of preprocessing. An appropriate tokenizer 302, e.g. wordpiece tokenization, tokenizes the text 301 into a sequence of tokens. This sequence of tokens is in the example one-hot encoded to form an input vector t1, t2, t3, ... tn per token using token identifications 303 of a corresponding vocabulary as a preparation for a transformer layer 304 referred to as transformer below. An input vector for a special classification token is provided as well and labelled <CLS> in figure 3-A.
  • The transformer 304 in the example is a transformer-based neural language model, e.g. a pre-trained neural language model, e.g., BERT or RoBERTa.
  • In the transformer 304, the input vectors <CLS>, t1, t2, t3, ... tn representing the special classification token and the one-hot encoded sequence of tokens are passed through a pre-trained transformer, i.e. a language model, to generate an embedding 306. The embedding 306 comprises token embeddings 306-1, 306-2, ..., 306-n for the input vectors t1, t2, t3, ... tn. The embedding 306 includes an embedding 307 for the special classification token, e.g. CLS for BERT.
  • In one aspect, BERT outputs a special sequence of embeddings, the first one of which is the embedding 307 that corresponds to the classification token and can be used as a representation of the entire input sequence. In addition, BERT also outputs one embedding for each token. In this aspect, the CLS-embedding is used to form a single embedding that serves as input for the classifiers and/or the rest of the neural network.
  • The example is explained below based on using the embedding of the CLS token as the aggregated vector 308.
  • The transformer's output embeddings 306 form a matrix. A dimension of the matrix depends on the maximum number of tokens. With number of wordpiece tokens as M in a text and an embedding size of E, the transformer 304 generates a token tensor of dimension M x E. The first vector within this token tensor corresponds to the embedding 307 of the CLS token and can be regarded as representing an embedding for the entire input sequence, i.e., it can be used as the aggregated embedding 308.
  • The aggregated embedding 308 may be passed to a task specific hidden layer of a classifier directly.
  • In figure 3-A, a plurality of classifiers is depicted that is arranged according to a hierarchy that matches the hierarchy of the leafs and non-leaf nodes in the tree of labels depicted in figure 2.
  • More specifically, figure 3-A depicts a classifier 310 corresponding to a first level of the hierarchy that is trained for determining for the aggregated embedding 308 a value of a classification assigned to label A. A classifier 312 corresponding to a second level of the hierarchy is trained for determining for its input a value of a classification in particular a value of a binary classification assigned to label A43. A classifier 314 corresponding to the second level of the hierarchy is trained for determining for its input a value of a classification in particular a value of a binary classification assigned to label A44. A classifier 316 corresponding to a third level of the hierarchy is trained for determining for its input a value of a classification in particular a value of a binary classification assigned to label A43B. A classifier 318 corresponding to the third level of the hierarchy is trained for determining for its input a value of a classification in particular a value of a binary classification assigned to label A43C. A classifier 320 corresponding to the third level of the hierarchy is trained for determining for its input a value of a classification in particular a value of a binary classification assigned to label A44B. A classifier 322 corresponding to the third level of the hierarchy is trained for determining for its input a value of a classification in particular a value of a binary classification assigned to label A44C.
  • In a training, shared layers for two tasks may be used. Shared layers in this aspect refers to layers of the artificial neural network for classifiers that were used to compute the respective outputs. For the classifiers for the labels A43C and A43B the shared layers include layers of the classifier for label A, 308, the classifier for label A43, 312, the classifier for label A43B, 316, the classifier for label A43C, 318 and the BERT layers but neither the classifier for label A44, 314, nor the classifier for label A44B, 320 , nor the classifier for label A44C, 322.
  • The binary classification in the example is true if the instance is assigned to the label and false otherwise. True is referred to as indication that the instance belongs to this label. False is referred to as indication that the instance does not belong to this label.
  • A softmax layer or softmax operation 324 may be provided for the values of the classifications. As shown in the part of ensemble 300 depicted figure 3-A, with 7 labels across the hierarchy, 7 softmax layer or softmax operation 324 may be used.
  • The classifiers are arranged in the example as label specific layers. Identifying whether an input can be assigned to a label or not is in the example a task. The classifiers could in general be any type of classifier.
  • The input to a task makes use of the hierarchical relations between labels and passes the learning of a higher level task to a lower level task. The input for the classifier 310 in the example is the aggregated embedding 308.
  • The input for any classifier may comprise an output of a classifier that is in a higher level of the hierarchy. The input for such classifiers may comprise a concatenation of the aggregated embedding 308 with an output of a classifier that is in a higher level of hierarchy. In the example, an optional means 326 for combining, e.g., concatenating, the aggregated embedding 308 with a respective output is depicted. According to one aspect, for the second level and below, the aggregated embedding 308 or the CNN output may be combined, e.g. concatenated, with the hidden state of a parent which is passed as an input to a dense layer of a child.
  • A task is performed in the example by at least one dense layer of the classifier. A set of dense layers with a softmax function after the last dense layer may be used to determine the output.
  • The input for any classifier may be a vector. The vector may be passed through k-dense layers each with a size D.
  • The classifiers are task specific. A task specific classifier in the example makes a binary classification to predict whether the given instance, e.g. the text or a word sequence from the text or the digital image, belongs to a particular class or not. The task specific classifier in the example comprises a dense layer with a softmax output 324 of dimension 2. The dense layer may be provided with a rectifier linear unit, ReLU, as an activation function and binary cross-entropy as a loss.
  • The ensemble 300 according to the second aspect is described below with reference to Figure 3-B. Elements that have the same function as described above for Figure 3-A are labelled with the same reference sign in Figure 3-B.
  • The ensemble 300 according to the second aspect differs from the ensemble 300 according to the first aspect only in that the information of the sequence of tokens t1, t2, t3, ... tn is aggregated into one aggregated embedding 308, e.g., a single vector. In contrast to the first aspect, the aggregated embedding 308 is not based on the embedding 307 of the special classification token e.g., CLS in BERT. The aggregation is instead determined from the token embeddings 306-1, 306-2, ..., 306-n by a component 309 which may be a convolutional neural network layer, CNN layer, or an aggregation function such as average, with or without attention.
  • A set of convolutional layers with varying kernel size may be applied on the tensor containing the embeddings of all input tokens. The convolutional layers in the example comprise kernels with size 2,3,4,5 and F filters per convolution layer. A CNN layer is used in the example as component 309 to create a single vector representing its entire input sequence.
  • A computer implemented method of determining the knowledge graph 102 is described below with reference to figure 4. The following description assumes one classifier per leaf or non-leaf node of the tree of labels.
  • The method uses a trained model. In the example, the model represents the ensemble 300. This means the model represents a neural network with several classifiers performing hierarchical classification. The model in the example is a neural network comprising layers and levels as described above. A linear layer in the example produces two logits for a binary classification.
  • The method will be described by way of example with an exemplary hierarchy for the classifiers and for a trained first classifier and a trained second classifier.
  • The first classifier is trained to determine a first classification. The first classifier is associated with a first node of the knowledge graph 102 representing a first label. The second classifier is trained to determine a second classification. The second classifier is associated with a second node of the knowledge graph 102 representing a second label.
  • The hierarchy for the classifiers may comprise further different classifiers that are trained to take different decisions. The classifiers of different levels in the hierarchy for the classifiers are assigned to different levels in a hierarchy of labels in the tree of labels. These may be used in the same manner as described for the first classifier and the second classifier.
  • Links between parent and child nodes in the knowledge graph 102 are represented by the hierarchy for the classifiers. The classification or hidden state of a classifier representing a parent may serve as input for a classifier representing its child.
  • The first classification and the second classification in the example is a binary classification for one particular label of the tree of labels.
  • According to the method, the output of the transformer 304 may be shared for all classifiers. The different classifiers are trained in a multi-task setting described below in further detail. This means that the parameters of the transformer 304 may be actually trained as well.
  • The method comprises a step 402 of splitting an instance of text into a sequence of tokens with the tokenizer 302.
  • Afterwards a step 404 is executed.
  • In the step 404, for each token, an embedding is determined with the transformer 304, e.g. the transformer-based neural language model. At the same time, step 404 determines a single embedding. The single embedding may be the aggregated embedding 308, e.g. for the CLS token or the output of the component 309, which can be used to represent the entire sequence.
  • Afterwards a step 406 is executed.
  • In the step 406 a first classification is determined for the embedding at the first classifier. To this end, the embedding is provided in the example to the first classifier.
  • Afterwards a step 408 is executed.
  • In the step 408, a second classification is determined at the second classifier. To this end, the embedding and/or a hidden state of the first classifier resulting from the embedding provided in step 406 may be provided as input to the second classifier.
  • Optionally, the embedding may be concatenated with the classification or the hidden state.
  • Afterwards a step 410 is executed.
  • In the step 410, it is determined if the first classification meets a first condition. The first classification may be either that the instance belongs to this label or that the instance does not belong to this label.
  • If the first classification meets the first condition, e.g., indicates that the instance belongs to this label, a step 412 is executed. Otherwise a step 414 is executed.
  • In the step 412 a first link between a first node of the knowledge graph 102 representing the instance and a node of the knowledge graph 102 representing the first classification is added to the knowledge graph 102.
  • Afterwards the step 414 is executed.
  • In step 414 it is determined, if the second classification meets a second condition. The second classification may be either that the instance belongs to this label or that the instance does not belong to this label.
  • If the second classification meets the second condition, e.g., indicates that the instance belongs to this label, a step 416 is executed. Otherwise a step 418 is executed.
  • In step 416 a second link between the node of the knowledge graph 102 representing the instance and a second node of the knowledge graph 102 representing the second classification is added to the knowledge graph 102.
  • Afterwards the step 418 is executed. Step 418 is optional.
  • In the step 418 the first link is determined from the node representing the instance to the first node representing the first classification when the second classification meets the condition. When the second classifier is at a lower hierarchical level of the hierarchy for the classifiers than first classifier, the predictions of this ensemble of classifiers is used in a hierarchical prediction mode or by post-processing predictions in order to make hierarchical predictions consistent, e.g., add relevant parent nodes to the knowledge graph if they have not been predicted but children have been predicted, or removing child labels if the parent node has not been predicted.
  • In a multi-task setting a main task is broken into a set of tasks that correspond to different classifiers. The classifiers output the prediction for each task separately. The neural network may have more levels of the hierarchy than depicted in Fig. 4. Thus a more complex knowledge graph 102 is easily determined.
  • For an unseen digital image or text sequence instance, a set of labels is predicted this way using the multi-head neural network provided by the model.
  • The set of labels may optionally be made consistent with the predicted hierarchical label set. To this end, parent labels may be added or child labels removed according to the predicted label set.
  • A node n may be added to the knowledge graph 102 representing the original digital image or text sequence. Links labeled as belongsToCategory may be added between n and any node L representing one of the predicted labels. These may or may not include parent categories.
  • Steps for training the model are described with reference to figure 5.
  • In a step 502 the model is provided.
  • In particular the neural network is provided with structure according to the tree of labels. The neural network may comprise a plurality of convolutional neural network layers, dropout layers, or dense layers.
  • In a step 504 a labelled data point is provided.
  • The data point is assigned in the example to the first classification or to the second classification or to both. The data point in the example comprises a label for the first classifier and the second classifier.
  • The training is performed with a plurality of labelled data points that are assigned to different classifications or to a plurality of classifications.
  • Afterwards a step 506 is executed.
  • In step 506, the first classifier and/or the second classifier are trained depending on the data point.
  • The model is trained to determine the first classification and/or the second classification. Thus, for each label, a classifier is trained, e.g., one convolutional network, at least one dense layer or a part of the artificial neural network. There may be more than two levels in the hierarchy and classifiers.
  • This means different classifiers are trained to take different decisions. This combines the advantages of hierarchical classification algorithms, where training data is leveraged in an optimal way by training classifiers focusing on different decisions, and the advantages of transformer-based pre-trained neural language models which generally result in state-of-the-art performance for text classification approaches. The use of hierarchical learning algorithms in a multi-task setting makes this combination possible, as it would not be possible to keep many transformer models in memory at the same time. As one transformer model is shared for all classifiers and as the different classifiers are trained in a multi-task setting, computational feasibility is ensured even in settings with limited computing capacity is available.
  • In one aspect, training the model comprises determining a first loss from the output of the first classifier and a second loss from the output of the second classifier, backpropagating the losses to train the weights in the first classifier and in the second classifier. In one example the first classifier and the second classifier do not belong to shared layers. In this case, the first loss is determined independent of the output of the second classifier and the parameters of the first classifier are updated depending on the first loss and independent of the second loss. The second loss is determined independent of the output of the first classifier and the parameters of the second classifier are updated depending on the second loss and independent of the first loss. In another example, the first classifier and the second classifier belong to shared layers. In this example, the shared layers are updated depending on the first loss and the second loss. The parameters of the first classifier and the second classifier are for example updated depending on a sum of the first loss and the second loss. The first loss or the second loss may be determined as sum of a norm of a difference of the softmax outputs 324 for an input defined in the data point to a reference defined in the data point for this input. This input may be the aggregated embedding 308, e.g. the embedding of the CLS token or the embedding aggregating the information in the series of tokens t1, ..., tn of a training instance or the training instance.
  • In another aspect, training the model comprises when the data point is labelled for the first classification and not for the second classification determining a loss from the output of the first classifier and backpropagating the loss to train weights in the first classifier and not in the second classifier.
  • In another aspect, training the model comprises when the data point is labelled for the second classification and not for the first classification determining a loss from the output of the second classifier and backpropagating the loss to train weights in the second classifier and not in the first classifier.
  • The training may comprise a plurality of epochs.
  • The steps for training may be performed before using the model as described above. In that case, after the training, the step 402 is executed.
  • The method may comprise a step of determining a classification for an input to the so trained model. The classification may be made with a classifier at a position in a hierarchy of classifiers in the model. The method may further comprise assigning the classification to a label that corresponds to the position in a hierarchy of a tree of labels.

Claims (16)

  1. A computer-implemented method of determining a knowledge graph, characterized by determining (404) an embedding for a sequence of tokens of an instance, determining (406) a first classification for the embedding at a first classifier, determining (410) if the first classification meets a first condition, adding (412) to the knowledge graph a first link between a first node of the knowledge graph representing the instance and a node of the knowledge graph representing the first classification when the first classification meets the first condition and not adding the first link otherwise.
  2. The method according to claim 1, characterized by determining (408) a second classification at a second classifier, determining (414) if the second classification meets a second condition, adding (416) to the knowledge graph a second link between the node of the knowledge graph representing the instance and a second node of the knowledge graph representing the second classification when the second classification meets the second condition and not adding the second link otherwise.
  3. The method according to claim 2, characterized by providing (406) the embedding to the first classifier, providing (408) the embedding and/or a hidden state of the first classifier resulting from the provided embedding as input to the second classifier.
  4. The method according to claim 3, characterized by determining (418) the first link from the node representing the instance to the first node representing the first classification when the second classification meets the condition.
  5. The method according to one of the previous claims, characterized by determining (402) the sequence of tokens of the instance.
  6. The method according to one of the previous claims, characterized in that the instance comprises digital text data.
  7. The method according to one of the previous claims, characterized in that the first classification and/or the second classification is a binary classification.
  8. The method according to one of the previous claims, characterized by providing (502) the knowledge graph with nodes representing a tree of labels, and adding (506) to the knowledge graph a plurality of links to nodes representing labels for the instance.
  9. The method according to claim 8, characterized by deciding with the first classification and/or the second classification whether the instance belongs to a category represented by a node in the tree of labels or not.
  10. The method according to one of the previous claims, characterized by assigning (502) the first classification to a different label than the second classification.
  11. The method according to one of the previous claims, characterized by providing (504) a data point that comprises a label for the first classification and/or a label for the second classification, and training (506) the first classifier and/or the second classifier depending on the data point.
  12. The method according to one of the previous claims, characterized by providing (502) a model, in particular a neural network, and training (506) the model to determine the first classification or the second classification.
  13. The method according to claim 12, characterized in that training (506) the model comprises determining a loss from the output of the first classifier and a loss from the output of the second classifier, and backpropagating the losses either to train weights in the first classifier and in the second classifier depending on both losses or to train the first classifier depending on the first loss and independent of the second loss and to train the second classifier depending on the second loss and independent of the first loss.
  14. The method according to any of the claims 12 or 13, characterized by determining a classification for an input to the so trained model with a classifier at a position in a hierarchy of classifier in the model, and assigning the classification to a label that corresponds to the position in a hierarchy of a tree of labels.
  15. Device (100) for determining a knowledge graph (102), characterized in that the device (100) is configured to perform the steps of the method according to one of the previous claims.
  16. Computer program, characterized in that the computer program comprises computer readable instructions that when executed by a computer cause the computer to perform steps in the method according to one of the claims 1 to 14.
EP20197168.6A 2020-09-21 2020-09-21 Device and method for determining a knowledge graph Pending EP3971792A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP20197168.6A EP3971792A1 (en) 2020-09-21 2020-09-21 Device and method for determining a knowledge graph
US17/400,631 US20220092440A1 (en) 2020-09-21 2021-08-12 Device and method for determining a knowledge graph
CN202111092483.9A CN114297396A (en) 2020-09-21 2021-09-17 Apparatus and method for determining a knowledge graph
JP2021151855A JP2022051705A (en) 2020-09-21 2021-09-17 Device and method for determining knowledge graph

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP20197168.6A EP3971792A1 (en) 2020-09-21 2020-09-21 Device and method for determining a knowledge graph

Publications (1)

Publication Number Publication Date
EP3971792A1 true EP3971792A1 (en) 2022-03-23

Family

ID=72603406

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20197168.6A Pending EP3971792A1 (en) 2020-09-21 2020-09-21 Device and method for determining a knowledge graph

Country Status (4)

Country Link
US (1) US20220092440A1 (en)
EP (1) EP3971792A1 (en)
JP (1) JP2022051705A (en)
CN (1) CN114297396A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112734A (en) * 2023-10-18 2023-11-24 中山大学深圳研究院 Semantic-based intellectual property text representation and classification method and terminal equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019133676A1 (en) * 2017-12-29 2019-07-04 Robert Bosch Gmbh System and method for domain-and language-independent definition extraction using deep neural networks
WO2019234175A1 (en) * 2018-06-07 2019-12-12 Five AI Limited Image segmentation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019133676A1 (en) * 2017-12-29 2019-07-04 Robert Bosch Gmbh System and method for domain-and language-independent definition extraction using deep neural networks
WO2019234175A1 (en) * 2018-06-07 2019-12-12 Five AI Limited Image segmentation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112734A (en) * 2023-10-18 2023-11-24 中山大学深圳研究院 Semantic-based intellectual property text representation and classification method and terminal equipment
CN117112734B (en) * 2023-10-18 2024-02-02 中山大学深圳研究院 Semantic-based intellectual property text representation and classification method and terminal equipment

Also Published As

Publication number Publication date
US20220092440A1 (en) 2022-03-24
CN114297396A (en) 2022-04-08
JP2022051705A (en) 2022-04-01

Similar Documents

Publication Publication Date Title
CN110083700A (en) A kind of enterprise&#39;s public sentiment sensibility classification method and system based on convolutional neural networks
Moroney AI and Machine Learning for Coders
US10936950B1 (en) Processing sequential interaction data
CN104285224B (en) Method for classifying to text
US11074412B1 (en) Machine learning classification system
JPH08329031A (en) Apparatus and method for generation of hypothesis as well assorting device
CN109840322A (en) It is a kind of based on intensified learning cloze test type reading understand analysis model and method
CN112364638A (en) Personality identification method based on social text
CN110245228A (en) The method and apparatus for determining text categories
JP2020024534A (en) Image classifier and program
KR20200127948A (en) Method of providing document classification information with description
CN111125520A (en) Event line extraction method for news text based on deep clustering model
EP3971792A1 (en) Device and method for determining a knowledge graph
Hung Domain-specific versus general-purpose word representations in sentiment analysis for deep learning models
CN111708865A (en) Technology forecasting and patent early warning analysis method based on improved XGboost algorithm
CN116757773A (en) Clothing electronic commerce sales management system and method thereof
Eger et al. Eelection at semeval-2017 task 10: Ensemble of neural learners for keyphrase classification
CN116150010A (en) Test case classification method based on ship feature labels
CN113722439B (en) Cross-domain emotion classification method and system based on antagonism class alignment network
CN114428855A (en) Service record classification method for hierarchy and mixed data type
CN111814468B (en) Self-adaptive architecture semantic distribution text understanding method and system
Oliveira et al. A New Generation? A Discussion on Deep Generative Models in Supply Chains
Gahar et al. Let's Predict Who Will Move to a New Job
Banothu et al. Emotion extraction and classification from twitter text
KR102486105B1 (en) Method for managing training data for optical character recognition

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20220923

RBV Designated contracting states (corrected)

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20231010