WO2021210148A1 - オントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法 - Google Patents

オントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法 Download PDF

Info

Publication number
WO2021210148A1
WO2021210148A1 PCT/JP2020/016804 JP2020016804W WO2021210148A1 WO 2021210148 A1 WO2021210148 A1 WO 2021210148A1 JP 2020016804 W JP2020016804 W JP 2020016804W WO 2021210148 A1 WO2021210148 A1 WO 2021210148A1
Authority
WO
WIPO (PCT)
Prior art keywords
word
ontology
vector
words
machine learning
Prior art date
Application number
PCT/JP2020/016804
Other languages
English (en)
French (fr)
Inventor
鵜飼 孝典
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2020/016804 priority Critical patent/WO2021210148A1/ja
Priority to JP2022515154A priority patent/JP7375919B2/ja
Publication of WO2021210148A1 publication Critical patent/WO2021210148A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms

Definitions

  • the present invention relates to an ontology generation technique and the like.
  • ontology which is the basis for describing the knowledge of a domain (specific field), has been generated.
  • Such an ontology provides the vocabulary used to model a domain.
  • Ontologies are also important for the Knowledge Graph because they determine the structure of the Knowledge Graph.
  • the Knowledge Graph is described using, for example, classes and properties defined by a vocabulary system called an ontology in order to enable computer-based semantic processing.
  • the vocabulary used in the target domain is collected. Then, for example, a human organizes the relationships between the collected vocabularies and generates an ontology of the target domain.
  • the information providing device extracts at least one of the classes and properties defined by the ontology as the semantic information of the word group contained in the content from the knowledge graph, and recommends a search based on the extracted information. Providing candidates for. Further, when the entity corresponding to the important word extracted from the content does not exist in the knowledge graph, the information providing device extracts the entity corresponding to the other word extracted from the same content together with the important word from the knowledge graph. Further, the information providing device extracts an entity (similar entity) defined by a property corresponding to another word. Then, the information providing device provides a similar entity and a word corresponding to the property of the entity as a recommendation query.
  • a human when a human generates an ontology of a certain domain, it takes man-hours to generate the ontology because the human organizes the relationship between the vocabularies used in the target domain.
  • the information providing device is defined by the property corresponding to the other word extracted from the same content together with the important word from the knowledge graph (similarity). Entity) is extracted and the similar entity and the word corresponding to the property of the entity are provided as a recommendation query. Therefore, the information providing device can extract similar entities defined by properties corresponding to other words in the same domain of important words, but cannot extract similar entities defined by properties corresponding to important words. That is, the information providing device has a problem that the entity related to the important word or a similar entity cannot be extracted.
  • One aspect of the present invention is to generate an ontology using the Knowledge Graph.
  • an ontology generator uses a machine learning model generated by knowledge graph-based machine learning with an ontology that shows a particular relationship between the words and the words contained in the words.
  • the computer is made to predict other words having the specific relationship and generate a new ontology by adding the predicted other words to the ontology.
  • an ontology can be generated using the Knowledge Graph.
  • FIG. 1 is a functional block diagram showing a configuration of an ontology generator according to an embodiment.
  • FIG. 2 is a diagram showing an example of the relational information of the Knowledge Graph.
  • FIG. 3 is a diagram showing an example of the search process according to the embodiment.
  • FIG. 4A is a diagram showing an example of the learning process according to the embodiment.
  • FIG. 4B is a diagram showing an example of the learning process according to the embodiment.
  • FIG. 4C is a diagram showing an example of the learning process according to the embodiment.
  • FIG. 5A is a diagram showing an example of the prediction process according to the embodiment.
  • FIG. 5B is a diagram showing an example of the prediction process according to the embodiment.
  • FIG. 6 is a diagram showing an example of an image of the learned extended knowledge graph.
  • FIG. 7 is a diagram showing an example of a case where the same word is predicted in a plurality of specific relationships.
  • FIG. 8 is a diagram showing an example of the generated ontology.
  • FIG. 9 is a diagram showing an example of a flowchart of the ontology generation process according to the embodiment.
  • FIG. 10A is a diagram showing an example of a flowchart of an ontology generation process when there are a plurality of parents.
  • FIG. 10B is a diagram showing an example of a flowchart of an ontology generation process when there are a plurality of parents.
  • FIG. 11 is a diagram showing an example of a computer that executes an ontology generation program.
  • FIG. 12 is a diagram showing a reference example of generating an ontology using a word vector.
  • FIG. 13 is a diagram showing a reference example of generating an ontology using a word vector.
  • FIG. 14 is a diagram showing a reference example of generating an ontology using a
  • FIGS. 12 to 14 are diagrams showing a reference example for generating an ontology using a word vector.
  • Ontologies provide the vocabulary used to model a domain (a particular discipline).
  • the vocabulary provided is a vocabulary that indicates an object, concept, property, property (context) or relationship that exists within the domain.
  • Ontologies are important for the Knowledge Graph because they determine the structure of the Knowledge Graph.
  • the Knowledge Graph is a graph structure that shows the relationship of various knowledge about not only one domain but also a plurality of domains, and is described using classes and properties defined by a vocabulary system called ontology. Classes correspond to objects and concepts. Properties correspond to properties (contexts) and relationships between classes.
  • the vocabulary includes words.
  • the ontology generator extracts related words using a word vector and generates an ontology.
  • the word vector referred to here is a vectorized word by a machine learning process based on a co-occurrence relationship of what kind of word the word contained in the sentence is used with.
  • the ontology generator can calculate "killing” + “weapon” using the word vector to obtain the "weapon” tool used for "killing”.
  • the ontology generator can calculate "strangle” + “weapon” using the word vector to obtain the "weapon” tool used for "strangle”.
  • the ontology generator can generate an ontology that defines the "method of murder” by using the word vector.
  • noise increases when the word vector is used. That is, if a word vector is used, many words that are not weapons can be obtained. Here, you get words that are not weapons, such as "daily necessities,” “knights,” “characters,” and “thread users.”
  • FIG. 1 is a functional block diagram showing a configuration of an ontology generator according to an embodiment.
  • the ontology generator 1 generates an ontology by using the graph vector converted from the knowledge graph in addition to the word vector.
  • the word vector referred to here is a vectorized word by a machine learning process based on a co-occurrence relationship of what kind of word the word contained in the sentence is used with.
  • the graph vector referred to here is a vector representation of an entity obtained by embedding knowledge graph entities and properties using three data as relational information in a vector space and using machine learning processing.
  • the graph vector is obtained by, for example, the technique of TransE.
  • Word vectors and graph vectors are sometimes referred to as distributed representations.
  • the ontology generator 1 is connected to the user terminal 2 and has a control unit 10 and a storage unit 20.
  • the control unit 10 is realized by an electronic circuit such as a CPU (Central Processing Unit).
  • the control unit 10 includes a search unit 11, a machine learning unit 12, and a prediction unit 13.
  • the prediction unit 13 is an example of a prediction unit and a second generation unit.
  • the storage unit 20 stores various data.
  • the storage unit 20 has word vector data 21, knowledge graph 22, learning result data 23, and ontology 24.
  • the word vector data 21 shows word vectors for various words.
  • the word vector data 21 is a group of word vectors in which each word included in each sentence is vectorized by using machine learning processing by using, for example, many sentences existing on the Internet. Since the word vector data 21 is generated from a general sentence, it has a wide vocabulary field (domain), but is characterized by a large amount of noise.
  • Knowledge Graph 22 represents the relationship between various knowledge in a graph structure.
  • the knowledge graph 22 is information using relational information as a set of three data.
  • Each set of relational information includes three (triple) data of class, property, and class.
  • the first class of the set of relational information may be described as the first class
  • the second class may be described as the second class.
  • RDF Resource Description Framework
  • the knowledge graph 22 has a feature that the range of knowledge covered by one knowledge graph is narrower than that of a word vector, but it is elaborately made.
  • FIG. 2 is a diagram showing an example of the relational information of the Knowledge Graph.
  • the relationship information in which the three data of the class, the property, and the class are set as one set is shown.
  • Each set has a relation that "the property (property) of the (first) class is the (second) class".
  • this relationship can be represented by a graph with a directed label.
  • the learning result data 23 is the data as a result of learning the related information.
  • the learning result data 23 includes a set of trained vectors for each class, property, and character string included in the relationship information.
  • the string contains words.
  • the learning result data 23 is generated by the machine learning unit 12.
  • Ontology 24 provides the vocabulary used in a domain to model it.
  • the ontology 24 is information using relational information as a set of three data for a certain domain.
  • Each set of relational information includes three (triple) data of class, property, and class.
  • the ontology 24 is added by, for example, the search unit 11 and the prediction unit 13.
  • the search unit 11 searches for a word as knowledge of an ontology using a word vector. For example, the search unit 11 uses the word vector data 21 to extract a word having a specific relationship with a word in a certain domain. As an example, a case where a word C having a specific property B of the word A in a certain domain is searched will be described. The search unit 11 uses the word vector data 21 to acquire the word vector of the word C that approximates the vector obtained by adding the word vector of the specific property B to the word vector of the word A. The search unit 11 searches for the word C with respect to the acquired word vector.
  • the words A and C here correspond to classes.
  • Property B here corresponds to a property.
  • the word A, the property B, and the word C are represented by words.
  • the search unit 11 searches for a word for a word vector whose score is equal to or higher than a predetermined score among the acquired word vectors.
  • the score here refers to an evaluation value that increases as the degree of approximation increases, and is hereinafter referred to as the "first score".
  • the search unit 11 adds the searched word to the ontology 24 as knowledge of the ontology.
  • the search unit 11 adds relational information to the ontology 24 with a set of three data of word A, property B, and word C as (class, property, class).
  • the search unit 11 does not apply the word for the word vector whose approximate score is smaller than the predetermined score as the knowledge of the ontology, and can add the knowledge of the ontology with less noise.
  • the search unit 11 cannot collect a sufficient amount of vocabulary in the ontology 24.
  • the machine learning unit 12 generates a machine learning model by machine learning based on the knowledge graph in which the ontology 24 is added to the knowledge graph 22.
  • the knowledge graph in which the ontology 24 is added to the knowledge graph 22 is referred to as an "extended knowledge graph".
  • the machine learning unit 12 shows three relational information composed of a first class, a property, and a second class with respect to a word included in the extended knowledge graph in which the ontology 24 is added (connected) to the knowledge graph 22.
  • the machine learning unit 12 uses the generated set of teacher data, and for each teacher data, the vector obtained by adding the word vector for the property to the word vector for the first class is the word vector for the second class. Perform machine learning based on conditions that approach. That is, the machine learning unit 12 learns a word vector (distributed expression) for the classes and properties included in each teacher data based on the set of teacher data.
  • the machine learning unit 12 initializes a vector of words included in each teacher data of a set of teacher data, and arranges the initialized vector on the vector space. Then, in the machine learning unit 12, for all the teacher data included in the set of teacher data, the vector obtained by adding the word vector for the property to the word vector for the first class is the word vector for the second class. Perform machine learning based on conditions that approach.
  • Machine learning results include machine learning models.
  • the result of machine learning includes a set of trained graph vectors of classes, properties and words included in the relation information.
  • the prediction unit 13 predicts other words having a specific relationship (property) with the word included in the ontology 24 by using the machine learning model.
  • the prediction unit 13 acquires the relationship information included in the ontology 24 and whose prediction target is the second class from the user terminal 2.
  • the prediction unit 13 acquires each word for a first class and property other than the prediction target from the user terminal 2.
  • the prediction unit 13 predicts the prediction target of each acquired relational information by using the set of the trained graph vectors of the learning result data 23 as follows.
  • the prediction unit 13 acquires the graph vector of each word for the first class and property other than the prediction target from the set of trained graph vectors.
  • the prediction unit 13 selects graph vectors one by one from the set of trained graph vectors.
  • the prediction unit 13 selects such that the difference vector obtained by subtracting the selected graph vector from the vector obtained by adding the property graph vector to the graph vector of the first class becomes smaller than the predetermined margin of error. Search the graph vector.
  • the prediction unit 13 determines a word for the graph vector extracted by the search as a prediction result.
  • the prediction unit 13 generates a new ontology 24 by adding the word determined as the prediction result to the ontology 24.
  • the prediction unit 13 adds relational information as a set of three data of the word A, the property B, and the searched word to the ontology 24.
  • the prediction unit 13 may use the word as the prediction result of the specific relationship (property) having the highest score.
  • the score here means an evaluation value that becomes higher as the difference vector becomes smaller, and is hereinafter referred to as a "second score".
  • FIG. 3 is a diagram showing an example of the search process according to the embodiment.
  • FIG. 3 describes a case where the ontology whose domain is the "method of murder" is searched for the "weapon” tool of "slaughter” or the “weapon” tool of "strangle”.
  • the search unit 11 acquires a word vector of a word that approximates the vector obtained by adding the word vector of "weapon” to the word vector of "killing". Then, the search unit 11 searches for a word for a word vector whose first score is equal to or higher than a predetermined score among the acquired word vectors.
  • “bare hands,” “clubs,” and “iron pipes” are being searched.
  • the search unit 11 acquires a word vector of a word that approximates the vector obtained by adding the word vector of "weapon” to the word vector of "strangle". Then, the search unit 11 searches for a word for a word vector whose first score is equal to or higher than a predetermined score among the acquired word vectors. Here, “thread”, “rope”, and “whip" are searched.
  • the search unit 11 adds the relational information with the three data sets (class, property, class) of "killing", “weapon", and "bare hand” to the ontology 24.
  • the search unit 11 adds the relational information (class, property, class) of the three data sets of "killing", “weapon”, and “club” to the ontology 24.
  • the search unit 11 adds the relational information (class, property, class) of the three data sets of "killing", “weapon", and “iron pipe” to the ontology 24.
  • the search unit 11 adds the relational information (class, property, class) of the three data sets of “strangle”, “weapon”, and “thread” to the ontology 24.
  • the search unit 11 adds relational information to the ontology 24 with three data sets (class, property, class) of "strangle", “weapon", and "rope”.
  • the search unit 11 adds relational information to the ontology 24 with three data sets (class, property, class) of "strangle", "rope", and "whip”.
  • FIGS. 4A to 4C are diagrams showing an example of the learning process according to the embodiment.
  • the case where the extended knowledge graph as a result of adding the ontology 24 to the knowledge graph 22 is learned when the ontology 24 having the "method of murder" as a domain is generated will be described.
  • the machine learning unit 12 connects the ontology 24 shown in FIG. 3 to the knowledge graph 22.
  • the "bare hand”, “club”, “iron pipe”, “thread”, “rope”, and “whip” included in the ontology 24 are connected to the same word included in the knowledge graph 22.
  • the machine learning unit 12 relates to the word included in the extended knowledge graph as a result of connecting the ontology 24 to the knowledge graph 22, and the relationship information composed of the first class, the property, and the second class.
  • teacher data consisting of three words indicating.
  • teacher data such as (“strangle”, “weapon”, “thread”), (“strangle”, “weapon”, “rope”) (“strangle”, “weapon”, “whip”) is generated. ..
  • teacher data such as (“club”, “raw material”, “wood”), (“wooden sword”, “raw material”, “wood”) is generated from the knowledge graph 22 side.
  • the machine learning unit 12 uses the generated set of teacher data, and for each teacher data, the vector obtained by adding the word vector for the property to the word vector for the first class is the word vector for the second class. Perform machine learning based on conditions that approach. That is, the machine learning unit 12 learns a word vector (distributed expression) for the classes and properties included in each teacher data based on the set of teacher data.
  • the machine learning unit 12 initializes all the words included in the set of teacher data with an n-dimensional vector. For convenience, n-dimensional will be described as two-dimensional. The machine learning unit 12 arranges the initialized vector in the two-dimensional space. Then, the machine learning unit 12 sets the teacher data (“killing”, “weapon”, “bare hand”) as a vector obtained by adding the vector of “weapon” to the property to the vector of “killing” for the first class. , Get closer to the "bare hand” vector for the second class.
  • the machine learning unit 12 has a vector obtained by adding the vector of "weapon” to the property to the vector of "killing" for the first class and the vector for the teacher data of ("killing", "weapon", “comb stick”). Bring the "conbar" vector to the second class closer.
  • the vector obtained by adding the word vector for the property to the word vector for the first class is the word for the second class.
  • Machine learning is performed based on the conditions that approach the vector of.
  • the machine learning unit 12 repeats until the distance between each set is sufficiently shortened. Then, the machine learning unit 12 generates a vector in which the distance between each set is sufficiently shortened as a learning result. The machine learning unit 12 stores the learning result in the learning result data 23.
  • the training result is a set of trained graph vectors.
  • the machine learning unit 12 connects the tool as the "method of murder” included in the ontology 24 regarding the "method of murder” to the knowledge graph 22, and refers to the context of "slaughter” or “strangle” in the extended knowledge graph. Machine learning is performed based on the context.
  • FIG. 5A and 5B are diagrams showing an example of the prediction process according to the embodiment.
  • the learning result data 23 relating to the example of FIG. 4B is used.
  • the prediction unit 13 predicts what the "weapon” of the “killing” is.
  • the prediction unit 13 acquires the graph vectors of "killing" for the first class other than the prediction target and "weapon” for the property from the set of the trained graph vectors of the learning result data 23.
  • the prediction unit 13 selects graph vectors one by one from the set of trained graph vectors of the training result data 23.
  • the prediction unit 13 makes the difference vector obtained by subtracting the selected graph vector from the vector obtained by adding the graph vector of "weapon” to the graph vector of "killing" smaller than the predetermined tolerance. Search for the selected graph vector.
  • the prediction unit 13 determines a word for the graph vector extracted by the search as a prediction result.
  • the prediction unit 13 receives an inquiry (killing, weapon,? P (0.1)) as to what the "weapon” of "killing” is. “?” Means a predictive variable indicating a prediction target.
  • the value "0.1" after the predictor variable means the margin of error of the vector.
  • the margin of error refers to the information indicating the inside of the circle shown in FIG. 5B. That is, the closer the distance, the higher the second score.
  • the prediction unit 13 selects graph vectors one by one from the set of trained graph vectors, and subtracts the selected graph vector from the vector obtained by adding the graph vector of "weapon" to the graph vector of "killing".
  • the selected graph vector is searched so that the difference vector to be obtained is smaller than the margin of error of "0.1".
  • the graph vector of the word "wooden sword” is extracted by the search. Therefore, the "wooden sword” is determined as the prediction result.
  • the prediction unit 13 similarly predicts what the "weapon” of the "strangle” is.
  • the prediction unit 13 acquires the graph vectors of "strangle” for the first class other than the prediction target and "weapon” for the property from the set of trained graph vectors. Then, the prediction unit 13 selects graph vectors one by one from the set of trained graph vectors. Then, the prediction unit 13 makes the difference vector obtained by subtracting the selected graph vector from the vector obtained by adding the graph vector of "weapon” to the graph vector of "strangle” smaller than the predetermined margin of error. Search for the selected graph vector. Here, the graph vector of the word "wire” is extracted by the search. Therefore, the "wire” is determined as the prediction result.
  • the prediction unit 13 generates a new ontology 24 by adding the word predicted as the prediction target to the ontology 24.
  • FIG. 6 is a diagram showing an example of an image of the learned extended knowledge graph.
  • the graph vector of "wooden sword” is the graph vector of "killing” plus the graph vector of "weapon”. Get closer to.
  • the graph vector of "wire” approaches the graph vector of "strangle” plus the graph vector of "weapon”.
  • FIG. 7 is a diagram showing an example of a case where the same word is predicted in a plurality of specific relationships.
  • the prediction unit 13 predicts that the "weapon” of the "killing" is the "whip". Further, the prediction unit 13 predicts that the "weapon” of the "strangle” is the “whip”. That is, the prediction unit 13 predicts the word “whip” in both the tool as a "weapon” of "slaughter” and the tool as a "weapon” of "strangle”.
  • the prediction unit 13 associates the same word "whip” with the specific relationship (property) having the highest second score. You may. That is, the prediction unit 13 may associate the word "whip” as a prediction result with a specific relationship (property) that is close to the graph vector of the same word "whip”.
  • FIG. 8 is a diagram showing an example of the generated ontology.
  • the ontology 24 including the word predicted by the prediction unit 13 is shown.
  • the “wooden sword” predicted by the prediction unit 13 is added.
  • the "wire” predicted by the prediction unit 13 is added to the generated ontology 24.
  • the prediction unit 13 can generate an ontology 24 including a rich vocabulary by using the extended knowledge graph.
  • FIG. 9 is a diagram showing an example of a flowchart of the ontology generation process according to the embodiment.
  • the search unit 11 receives the parts (S, p) to be added to the ontology 24 (step S11).
  • (S, p) indicates a word for the first class and the property when it is desired to add the first class and the second class having a specific property (property) to the ontology 24.
  • S is a word for the first class and p is a word for the property.
  • the search unit 11 acquires n words (W1, ..., Wn) having a vector close to the word vector of S + the word vector of p (step S12). For example, the search unit 11 acquires the word vector of S, the word vector of p, and other word vectors from the word vector data 21. Then, the search unit 11 acquires n other word vectors whose first score of the word vector of S + the word vector of p and the other word vector is equal to or higher than a predetermined score.
  • the search unit 11 adds n triads of (S, p, W1), ..., (S, p, Wn) to the knowledge graph 22 (step S13).
  • the search unit 11 adds relational information to the ontology 24 with each set of three data (class, property, class) as a word for S, a word for p, and a word for W1 to Wn.
  • the machine learning unit 12 adds (connects) the ontology 24 to the knowledge graph 22.
  • the knowledge graph in which the ontology 24 is added (connected) to the knowledge graph 22 is an extended knowledge graph.
  • the machine learning unit 12 calculates the embedding of the added knowledge graph (step S14). For example, the machine learning unit 12 generates teacher data consisting of three words indicating relationship information composed of a first class, a property, and a second class with respect to the words included in the extended knowledge graph. The machine learning unit 12 uses the generated set of teacher data, and for each teacher data, the vector obtained by adding the word vector for the property to the word vector for the first class is the word vector for the second class. Perform machine learning based on conditions that approach. That is, the machine learning unit 12 learns a word vector (distributed expression) for the classes and properties included in each teacher data based on the set of teacher data. Then, the machine learning unit 12 stores the learned result (a set of learned graph vectors) in the learning result data 23.
  • teacher data consisting of three words indicating relationship information composed of a first class, a property, and a second class with respect to the words included in the extended knowledge graph.
  • the machine learning unit 12 uses the generated set of teacher data, and for each
  • the prediction unit 13 acquires m words (O1, ..., Om) predicted from S and p by using the calculated embedding (step S15). For example, the prediction unit 13 acquires the graph vector of each word for the first class S and the property p other than the prediction target from the learned result (set of learned graph vectors). Then, the prediction unit 13 selects graph vectors one by one from the set of trained graph vectors. Then, the prediction unit 13 makes the difference vector obtained by subtracting the selected graph vector from the vector obtained by adding the graph vector of the property p to the graph vector of the first class S smaller than the predetermined tolerance. Search for the selected graph vector. The prediction unit 13 acquires m words for the searched graph vector as prediction targets.
  • the prediction unit 13 outputs the acquired (S, p, W1), ... (S, p, Wn) and (S, p, O1), (S, p, Om) as the ontology 24 ( Step S16).
  • FIGS. 10A and 10B are diagrams showing an example of a flowchart of an ontology generation process when there are a plurality of parents. That is, FIGS. 10A and 10B are examples of flowcharts of ontology generation processing when the same word is a prediction target of a plurality of specific relationships (property).
  • the search unit 11 receives the parts (S1, p), ... (Sk, p) to be added to the ontology 24 (step S21).
  • (Sk, p) indicates a word for the first class and the property when it is desired to add the first class and the second class having a specific property (property) to the ontology 24.
  • Sk is a word for the first class and p is a word for the property.
  • the search unit 11 acquires n words (W11, W12, ..., Wkn) each having a vector close to each word vector of S1, ..., Sk + a word vector of p (step S22). For example, the search unit 11 acquires the word vector of S1, the word vector of p, and other word vectors from the word vector data 21. Then, the search unit 11 includes n other word vectors (W11, W12, ..., The first score of the word vector of S1 + the word vector of p and the other word vector is equal to or higher than a predetermined score. W1n) Acquire. The search unit 11 acquires the word vector of S2, the word vector of p, and other word vectors from the word vector data 21.
  • the search unit 11 includes n other word vectors (W21, W22, ...,) in which the first score of the word vector of S2 + the word vector of p and the other word vector is equal to or higher than the predetermined score.
  • W2n Acquire.
  • the search unit 11 acquires the Sk word vector, the p word vector, and other word vectors from the word vector data 21.
  • the search unit 11 sets n (Wk1, Wk2, ...) Other word vectors whose first score of the Sk word vector + p word vector and the other word vector is equal to or higher than the predetermined score. Wkn) Get it.
  • the search unit 11 adds k ⁇ n triads of (S1, p, W11), ..., (Sk, p, Wkn) to the knowledge graph 22 (step S23).
  • the search unit 11 adds relational information to the ontology 24 with each set of three data (class, property, class) as a word for S1, a word for p, and a word for W11 to W1n.
  • the search unit 11 adds relational information to the ontology 24 with each set of three data (class, property, class) of the word for S2, the word for p, and the word for W21 to W2n.
  • the search unit 11 adds relational information to the ontology 24 with each set of three data (class, property, class) as a word for Sk, a word for p, and a word for Wk1 to Wkn.
  • the machine learning unit 12 adds (connects) the ontology 24 to the knowledge graph 22.
  • the knowledge graph in which the ontology 24 is added (connected) to the knowledge graph 22 is an extended knowledge graph.
  • the machine learning unit 12 calculates the embedding of the added knowledge graph (step S24). For example, the machine learning unit 12 generates teacher data consisting of three words indicating relationship information composed of a first class, a property, and a second class with respect to the words included in the extended knowledge graph. The machine learning unit 12 uses the generated set of teacher data, and for each teacher data, the vector obtained by adding the word vector for the property to the word vector for the first class is the word vector for the second class. Perform machine learning based on conditions that approach. That is, the machine learning unit 12 learns to embed a word vector for each class and property included in each teacher data based on a set of teacher data. Then, the machine learning unit 12 stores the learned result (a set of learned graph vectors) in the learning result data 23.
  • the machine learning unit 12 stores the learned result (a set of learned graph vectors) in the learning result data 23.
  • the prediction unit 13 uses the calculated embedding to acquire m words predicted from each of S1, ... Sk and p, and their respective scores (step S25).
  • the score here is the second score.
  • the m words and scores predicted from S1 and p are acquired as (O11, s11), (O12, s12), ..., (O1m, s1m).
  • the m words and scores predicted from S2 and p are acquired as (O21, s21), (O22, s22), ..., (O2m, s2m).
  • the m words and scores predicted from Sk and p are acquired as (Ok1, sk1), (Ok2, sk2), ..., (Okm, skm).
  • (O11, s11), (O12, s12), ..., (Okm, skm) are set as A.
  • the prediction unit 13 compares the prediction targets O of the set of A, and if they are the same, compares the scores s and deletes the smaller score s (step S26). The flowchart of the process of leaving the larger score s and deleting the smaller score s when the O of the prediction target is the same will be described later.
  • the prediction unit 13 has acquired (S1, p, W11), ... (Sk, p, Wkn) and the remaining elements of the set of A (S1, p, O11), (Sk, p, Okm). Is output as the ontology 24 (step S27).
  • FIG. 10B is an example of a flowchart of a process of leaving the larger score s and deleting the smaller score s when the O of the prediction target is the same.
  • the score here refers to the second score.
  • the prediction unit 13 inputs a set of A (step S31).
  • the prediction unit 13 extracts one element of the set of A, and inputs each element (word O, score s) in the extracted elements into S and K (step S32).
  • the prediction unit 13 determines whether or not all the elements have been extracted from the set of A (step S33). When it is determined that all the elements have not been extracted from the set of A (step S33; No), the prediction unit 13 extracts one element of the set of A and each element (word) in the extracted elements. O, score s) is input to T and J (step S35).
  • the prediction unit 13 determines whether or not all the elements have been extracted from the set of A (step S36). When it is determined that all the elements have not been extracted from the set of A (step S36; No), the prediction unit 13 determines whether or not the word S matches the word T (step S38). When it is determined that the word S does not match the word T (step S38; No), the prediction unit 13 compares (T, J) of the next element with (S, K) currently being processed. Therefore, the process proceeds to step S35.
  • step S38 determines whether or not the score J is larger than the score K (step S39).
  • step S39 determines in step S35 to compare (T, J) of the next element with (S, K) currently being processed. Move to. That is, when the word S currently being processed matches the word T, the prediction unit 13 searches for the word T having a score K larger than that of the word S.
  • step S39 when it is determined that the score J is larger than the score K (step S39; Yes), the prediction unit 13 shifts to step S32 in order to process the next element of the set of A. That is, the prediction unit 13 deletes (S, K) currently being processed from the set of A.
  • step S36 If it is determined in step S36 that all the elements have been extracted from the set of A (step S36; Yes), the prediction unit 13 adds (S, K) currently being processed to the set of B (step S36; Yes). Step S37). If it is determined in step S33 that all the elements have been extracted from the set of A (step S33; Yes), the prediction unit 13 outputs the set B as the set A (step S34).
  • the prediction unit 13 explained that when the same word is the prediction target of a plurality of specific relationships (property), the word is the prediction target of the specific relationship (property) having the highest second score. ..
  • the prediction unit 13 is not limited to this, and even if the same word is a prediction target of a plurality of specific relationships (property), the prediction unit 13 directly applies the word to each specific relationship (the specific relationship (property)). It may be a prediction target of (property).
  • the ontology generator 1 is included in a plurality of words by using a machine learning model generated by machine learning based on a knowledge graph to which an ontology 24 indicating a specific relationship between a plurality of words is added. Predict other words that have a specific relationship with the word.
  • the ontology generator 1 generates a new ontology 24 by adding other predicted words to the ontology 24.
  • the ontology generator 1 can generate an ontology having abundant vocabulary with as little noise as possible.
  • the ontology generator 1 can generate an ontology 24 with few unnecessary words (noise) by generating an ontology 24 based on a prediction using embedding for a knowledge graph to which the ontology 24 is added.
  • the ontology generator 1 can generate an ontology 24 having a large number of vocabularies, rather than generating only the words in the ontology 24.
  • the ontology generator 1 generates a triple having a specific relationship between the first word and the second word with respect to the words included in the knowledge graph to which the ontology 24 is added.
  • the ontology generator 1 performs machine learning on the generated triple based on the condition that the vector of the first word plus the vector of the second word approaches the vector of a specific relationship, thereby performing machine learning model.
  • the ontology generator 1 can generate an ontology 24 with few unnecessary words (noise) by generating a machine learning model by using the embedding of the knowledge graph in the ontology 24. ..
  • the ontology generator 1 inputs the first word included in the ontology and a specific relationship into the machine learning model.
  • the ontology generator 1 selects a specific vector from the trained vectors included in the machine learning model.
  • the ontology generator 1 determines whether or not the first difference vector obtained by subtracting the vector of a specific relationship from the vector obtained by adding the selected specific vector and the vector of the first word is smaller than the threshold value. To judge. Then, when the ontology generator 1 determines that the first difference vector is smaller than the threshold value, the ontology generator 1 determines the word corresponding to the selected specific vector as another word.
  • the ontology generator 1 can improve the word prediction accuracy in the word prediction in the ontology 24 by using the trained vector included in the machine learning model. Therefore, the ontology generator 1 can generate an ontology 24 with few unnecessary words (noise).
  • the ontology generator 1 determines the word corresponding to the specific vector as another word in response to the input of the second word included in the ontology and the specific relationship.
  • the second difference vector obtained by subtracting the vector of the specific relationship from the vector obtained by adding the specific vector and the vector of the second word is compared with the first difference vector.
  • the ontology generator 1 adds information indicating a triple including the first word, another word, and a specific relationship to the ontology. That is, when the same word becomes the prediction result of a plurality of specific relationships, the ontology generator 1 sets the word as the prediction result of the specific relationship having the highest score. According to such a configuration, the ontology generator 1 can add a word with high prediction accuracy to the ontology 24.
  • the ontology generator 1 searches for one or more words having a specific relationship with the words included in the number of words by using the word vector. Then, the ontology generator 1 generates a new ontology 24 by adding a specific number of words having a high score among the searched one or a plurality of words to the ontology. According to such a configuration, the ontology generator 1 can improve the search accuracy of the word to be searched by using the word vector, and in the subsequent generation of the ontology 24, the ontology 24 having less unnecessary words (noise) can be obtained. Can be generated.
  • the prediction unit 13 targets the second class of the relational information included in the ontology 24 .
  • the prediction unit 13 is not limited to this, and the first class may be the prediction target, or the property may be the prediction target.
  • the prediction unit 13 inputs the properties other than the prediction target and the respective words for the second class from the user terminal 2.
  • the prediction unit 13 acquires the graph vector of each word for the property other than the prediction target and the second class from the set of the trained graph vectors.
  • the prediction unit 13 makes the difference vector obtained by subtracting the graph vector of the second class from the graph vector of the selected graph vector plus the graph vector of the property smaller than the predetermined margin of error. Search for the selected graph vector.
  • the prediction unit 13 may determine a word for the graph vector extracted by the search as a prediction result.
  • each component of the ontology generator 1 shown does not necessarily have to be physically configured as shown in the figure. That is, the specific mode of dispersion / integration of the ontology generator 1 is not limited to the one shown in the figure, and all or part of the ontology generator 1 may be functionally or physically in an arbitrary unit according to various loads and usage conditions. It can be distributed and integrated.
  • the search unit 11 uses the word vector data 21 to search for a word having a specific relationship with a word in a domain, and a second search unit to search for a word for a word vector having a predetermined score or higher. It may be distributed to the search unit.
  • the storage unit 20 may be connected via a network as an external device of the ontology generation device 1.
  • FIG. 11 is a diagram showing an example of a computer that executes an ontology generation program.
  • the computer 200 includes a CPU 203 that executes various arithmetic processes, an input device 215 that receives data input from a user, and a display control unit 207 that controls the display device 209. Further, the computer 200 has a drive device 213 for reading a program or the like from a storage medium, and a communication control unit 217 for exchanging data with another computer via a network. Further, the computer 200 has a memory 201 for temporarily storing various information and an HDD (Hard Disk Drive) 205. The memory 201, CPU 203, HDD 205, display control unit 207, drive device 213, input device 215, and communication control unit 217 are connected by a bus 219.
  • an HDD Hard Disk Drive
  • the drive device 213 is, for example, a device for the removable disk 210.
  • the HDD 205 stores the ontology generation program 205a and the ontology generation processing-related information 205b.
  • the CPU 203 reads the ontology generation program 205a, expands it into the memory 201, and executes it as a process. Such a process corresponds to each functional part of the ontology generator 1.
  • the ontology generation processing related information 205b corresponds to the word vector data 21, the knowledge graph 22, the learning result data 23, and the ontology 24.
  • the removable disk 210 stores each information such as the ontology generation program 205a.
  • the ontology generation program 205a does not necessarily have to be stored in the HDD 205 from the beginning.
  • a "portable physical medium” such as a flexible disk (FD), a CD-ROM (Compact Disk Read Only Memory), a DVD (Digital Versatile Disk), a magneto-optical disk, or an IC (Integrated Circuit) card inserted into a computer 200.
  • FD flexible disk
  • CD-ROM Compact Disk Read Only Memory
  • DVD Digital Versatile Disk
  • IC Integrated Circuit
  • Ontology generator 10 Control unit 11
  • Search unit 12 Machine learning unit 13
  • Prediction unit 20 Storage unit 21
  • Word vector data 22 Knowledge graph 23
  • Learning result data 24 Ontology 2 User terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

オントロジー生成装置(1)は、複数の単語の特定の関係を示すオントロジー(24)を追加したナレッジグラフに基づいた機械学習によって生成された機械学習モデルを用いて、複数の単語に含まれる単語と特定の関係を有する他の単語を予測する。そして、オントロジー生成装置(1)は、オントロジーに、予測された他の単語を追加することによって新たなオントロジー(24)を生成する。これにより、オントロジー生成装置(1)は、豊富な語彙を持ったオントロジーを生成することができる。

Description

オントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法
 本発明は、オントロジー生成技術などに関する。
 近年、ドメイン(特定の分野)の知識を記述するための基盤となるオントロジーの生成がなされている。かかるオントロジーは、あるドメインをモデル化するために使われている語彙を提供する。また、オントロジーは、ナレッジグラフの構造を決めるので、ナレッジグラフにとって重要である。ナレッジグラフは、計算機による意味処理を可能とするために、オントロジーという語彙体系で定められた例えばクラスとプロパティとを用いて記述される。
 あるドメインのオントロジーが生成されるためには、当該対象のドメインで用いられる語彙が集められる。そして、例えば人間が、集められた語彙同士の関係を整理して、対象のドメインのオントロジーを生成する。
 また、ナレッジグラフから、検索時のコンテンツの文脈を考慮してユーザの検索意図に近い情報を提供する技術が開示されている(例えば特許文献1参照)。かかる技術では、情報提供装置は、ナレッジグラフから、コンテンツに含まれるワード群の意味情報として、オントロジーにより定義されるクラスおよびプロパティの少なくとも一方を抽出し、抽出した情報に基づいて検索を推奨するクエリの候補を提供する。また、情報提供装置は、コンテンツから抽出される重要ワードに対応したエンティティがナレッジグラフに存在しない場合、ナレッジグラフから、重要ワードと共に同じコンテンツから抽出された他のワードに対応するエンティティを抽出する。更に、情報提供装置は、他のワードに対応するプロパティによって定義されたエンティティ(類似エンティティ)を抽出する。そして、情報提供装置は、類似エンティティとそのエンティティのプロパティに相当するワードを推薦クエリとして提供する。
特開2019-74843号公報
 例えば、人間があるドメインのオントロジーを生成する場合には、人間が対象のドメインで用いられる語彙同士の関係を整理するため、オントロジーを生成するために工数がかかってしまう。
 また、情報提供装置が実行する技術を利用してオントロジーを生成することが考えられる。ところが、情報提供装置は、重要ワードに対応したエンティティがナレッジグラフに存在しない場合には、ナレッジグラフから、重要ワードと共に同じコンテンツから抽出された他のワードに対応するプロパティによって定義されたエンティティ(類似エンティティ)を抽出して、類似エンティティとそのエンティティのプロパティに相当するワードを推薦クエリとして提供する。このため、情報提供装置は、重要ワードの同じドメインの他のワードに対応するプロパティによって定義された類似エンティティを抽出できるが、重要ワードに対応するプロパティによって定義される類似エンティティを抽出できない。すなわち、情報提供装置は、重要ワードに関係付けられるエンティティまたは類似エンティティを抽出できないといった課題がある。
 本発明は、1つの側面では、ナレッジグラフを用いてオントロジーを生成することを目的とする。
 1つの態様では、オントロジー生成プログラムが、複数の単語の特定の関係を示すオントロジーを追加したナレッジグラフに基づいた機械学習によって生成された機械学習モデルを用いて、前記複数の単語に含まれる単語と前記特定の関係を有する他の単語を予測し、前記オントロジーに、予測された前記他の単語を追加することによって新たなオントロジーを生成する、ことをコンピュータに実行させる。
 1実施態様によれば、ナレッジグラフを用いてオントロジーを生成することができる。
図1は、実施例に係るオントロジー生成装置の構成を示す機能ブロック図である。 図2は、ナレッジグラフの関係情報の一例を示す図である。 図3は、実施例に係る探索処理の一例を示す図である。 図4Aは、実施例に係る学習処理の一例を示す図である。 図4Bは、実施例に係る学習処理の一例を示す図である。 図4Cは、実施例に係る学習処理の一例を示す図 図5Aは、実施例に係る予測処理の一例を示す図である。 図5Bは、実施例に係る予測処理の一例を示す図である。 図6は、学習された拡張ナレッジグラフのイメージの一例を示す図である。 図7は、同じ単語が複数の特定の関係で予測される場合の一例を示す図である。 図8は、生成されたオントロジーの一例を示す図である。 図9は、実施例に係るオントロジー生成処理のフローチャートの一例を示す図である。 図10Aは、複数の親がある場合のオントロジー生成処理のフローチャートの一例を示す図である。 図10Bは、複数の親がある場合のオントロジー生成処理のフローチャートの一例を示す図である。 図11は、オントロジー生成プログラムを実行するコンピュータの一例を示す図である。 図12は、単語ベクトルを利用してオントロジーを生成する参考例を示す図である。 図13は、単語ベクトルを利用してオントロジーを生成する参考例を示す図である。 図14は、単語ベクトルを利用してオントロジーを生成する参考例を示す図である。
 以下に、本願の開示するオントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法の実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。
 まず、単語ベクトルを利用してオントロジーを生成する参考例を、図12~図14を参照して説明する。図12~図14は、単語ベクトルを利用してオントロジーを生成する参考例を示す図である。オントロジーは、あるドメイン(特定の分野)をモデル化するために使われている語彙を提供する。提供される語彙は、ドメイン内に存在しているオブジェクト、概念、プロパティ、性質(コンテキスト)または関係を示す語彙である。オントロジーは、ナレッジグラフの構造を決めるので、ナレッジグラフにとって重要である。ナレッジグラフは、1つのドメインだけでなく、複数のドメインに関する様々な知識の関係をグラフ構造で表わしたものであり、オントロジーという語彙体系で定められたクラスとプロパティとを用いて記述される。クラスは、オブジェクトや概念に対応する。プロパティは、性質(コンテキスト)やクラス間の関係に対応する。なお、語彙には、単語が含まれる。
 図12に示すように、殺人の方法を定義するオントロジーを生成する場合を参考例として用いる。クラスは、丸、すなわちノードで示されている。プロパティは、矢印の側にラベルで示されている。一例として、「殺人」の「方法」には、「撲殺」と「絞殺」があることが示されている。「撲殺」の「武器」には、「素手」、「こん棒」、「鉄パイプ」があることが示されている。「絞殺」の「武器」には、「糸」、「ロープ」、「鞭」があることが示されている。
 オントロジー生成装置は、単語ベクトルを用いて関連語を抽出し、オントロジーを生成する。ここでいう単語ベクトルとは、文章中に含まれる単語が、どのような単語と一緒に使われるかという共起関係に基づいた機械学習の処理によって単語をベクトル化したものである。オントロジー生成装置は、単語ベクトルを用いて、例えば、「王様」-「男」+「女」=「女王」のような関連語を得ることができる。
 図13に示すように、オントロジー生成装置は、単語ベクトルを用いて、「撲殺」+「武器」を計算して、「撲殺」に用いられる「武器」の道具を得ることができる。オントロジー生成装置は、単語ベクトルを用いて、「絞殺」+「武器」を計算して、「絞殺」に用いられる「武器」の道具を得ることができる。
 図14に示すように、「撲殺」に用いられる「武器」の道具として、例えば「素手」、「こん棒」、「鉄パイプ」、「サップ」、「日用品」、「鞭」、「騎士」が得られる。また、「絞殺」に用いられる「武器」の道具として、例えば「糸」、「ロープ」、「鞭」、「キャラクタ」、「糸使い」が得られる。
 このように、オントロジー生成装置は、単語ベクトルを利用すると、「殺人の方法」を定義するオントロジーを生成することができる。しかしながら、単語ベクトルを利用すると、ノイズが多くなるという問題がある。すなわち、単語ベクトルを利用すると、武器ではない単語が多く得られてしまう。ここでは、「日用品」や「騎士」、「キャラクタ」や「糸使い」のような武器ではない単語が得られてしまう。
 そこで、以降の実施例では、ノイズを抑制しつつ、オントロジーを生成するオントロジー生成装置について説明する。
 図1は、実施例に係るオントロジー生成装置の構成を示す機能ブロック図である。オントロジー生成装置1は、単語ベクトルに加えて、ナレッジグラフから変換されるグラフベクトルを用いて、オントロジーを生成する。ここでいう単語ベクトルとは、文章中に含まれる単語が、どのような単語と一緒に使われるかという共起関係に基づいた機械学習の処理によって単語をベクトル化したものである。ここでいうグラフベクトルとは、3つのデータを関係情報としたナレッジグラフのエンティティとプロパティとをベクトル空間上に埋め込み、機械学習の処理を用いて得られたエンティティのベクトル表現をいう。なお、グラフベクトルは、例えば、TransEの技術によって得られる。単語ベクトルとグラフベクトルとは、分散表現と称される場合もある。
 オントロジー生成装置1は、ユーザ端末2と接続し、制御部10と、記憶部20とを有する。制御部10は、CPU(Central Processing Unit)などの電子回路により実現される。制御部10は、探索部11、機械学習部12および予測部13を有する。なお、予測部13は、予測部および第2の生成部の一例である。記憶部20は、各種データを記憶する。記憶部20は、単語ベクトルデータ21、ナレッジグラフ22、学習結果データ23およびオントロジー24を有する。
 単語ベクトルデータ21は、様々な単語に対する単語ベクトルを示す。単語ベクトルデータ21は、例えばインターネット上に存在する多くの文章を利用して、それぞれの文章に含まれるそれぞれの単語を、機械学習の処理を用いてベクトル化した単語ベクトルの群である。なお、単語ベクトルデータ21は、一般の文章から生成されるので、語彙の分野(ドメイン)が広いが、ノイズが多いという特徴がある。
 ナレッジグラフ22は、様々な知識の関係をグラフ構造で表したものである。ナレッジグラフ22は、3つのデータを組とした関係情報を用いた情報である。それぞれの関係情報の組は、クラス、プロパティ、クラスの3つ(トリプル)のデータを含む。なお、実施例では、関係情報の組の1個目のクラスを第1のクラス、2個目のクラスを第2のクラスと記述する場合がある。また、関係情報の具体例として、RDF(Resource Description Framework)が挙げられる。一般的に、ナレッジグラフ22は、単語ベクトルに比べて、1つのナレッジグラフが網羅する知識の範囲は狭いが、精緻にできているという特徴がある。
 ここで、ナレッジグラフ22の関係情報の一例を、図2を参照して説明する。図2は、ナレッジグラフの関係情報の一例を示す図である。図2に示すように、クラスとプロパティとクラスとの3つのデータを1組とした関係情報が表わされている。それぞれの組は、「(第1の)クラスの性質(プロパティ)は(第2の)クラスである」という関係性を持っている。ナレッジグラフ22の関係情報では、この関係性を有向ラベル付きのグラフで表現できる。
 一例として、関係情報には、(クラス、プロパティ、クラス)として(「こん棒」,「原料」,「木」)が記憶されている。すなわち、かかる関係情報は、「“こん棒”の“原料”は“木”である」という関係性を持つ。
 図1に戻って、学習結果データ23は、関係情報を学習した結果のデータである。例えば、学習結果データ23には、関係情報に含まれるクラス、プロパティおよびクラスに含まれる文字列ごとの学習済みのベクトルの集合が含まれる。文字列には、単語が含まれる。なお、学習結果データ23は、機械学習部12によって生成される。
 オントロジー24は、あるドメインをモデル化するために当該ドメインで使われている語彙を提供する。オントロジー24は、あるドメインについて、3つのデータを組とした関係情報を用いた情報である。それぞれの関係情報の組は、クラス、プロパティ、クラスの3つ(トリプル)のデータを含む。なお、オントロジー24は、例えば、探索部11および予測部13によって追加される。
 探索部11は、単語ベクトルを用いて、オントロジーの知識としての単語を探索する。例えば、探索部11は、単語ベクトルデータ21を用いて、あるドメインにおける単語と特定の関係を有する単語を抽出する。一例として、あるドメインにおける単語Aの特定の性質Bを持った単語Cが探索される場合について説明する。探索部11は、単語ベクトルデータ21を用いて、単語Aの単語ベクトルに、特定の性質Bの単語ベクトルを加えたベクトルに近似する単語Cの単語ベクトルを取得する。探索部11は、取得した単語ベクトルに対する単語Cを探索する。ここでいう単語A,Cは、クラスに対応する。ここでいう性質Bは、プロパティに対応する。なお、単語A,性質Bおよび単語Cは、単語で表される。
 また、探索部11は、取得した単語ベクトルのうち、スコアが予め定められたスコア以上となる単語ベクトルに対する単語を探索する。ここでいうスコアとは、近似の度合いが高い程高くなるような評価値のことをいい、以降、「第1のスコア」というものとする。そして、探索部11は、探索した単語を、オントロジーの知識としてオントロジー24に追加する。一例として、探索部11は、単語A,性質Bおよび単語Cの3つのデータの組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。これにより、探索部11は、近似のスコアが予め定められたスコアより小さい単語ベクトルに対する単語をオントロジーの知識として適用しないこととなり、ノイズが少ないオントロジーの知識を追加できる。但し、探索部11は、オントロジー24における十分な量の語彙を集めることができない。
 機械学習部12は、オントロジー24をナレッジグラフ22に追加したナレッジグラフに基づいた機械学習によって機械学習モデルを生成する。オントロジー24をナレッジグラフ22に追加したナレッジグラフのことを「拡張ナレッジグラフ」というものとする。例えば、機械学習部12は、オントロジー24をナレッジグラフ22に追加(接続)した拡張ナレッジグラフに含まれる単語に関し、第1のクラス,プロパティおよび第2のクラスから構成される関係情報を示す3つの単語を含む教師データを生成する。機械学習部12は、生成した教師データの集合を用いて、それぞれの教師データについて、第1のクラスに対する単語のベクトルにプロパティに対する単語のベクトルを加えたベクトルが、第2のクラスに対する単語のベクトルに近づく条件に基づき機械学習を実行する。すなわち、機械学習部12は、教師データの集合をもとに、それぞれの教師データに含まれるクラスおよびプロパティに対する単語のベクトル(分散表現)を学習する。
 一例として、機械学習部12は、教師データの集合のそれぞれの教師データに含まれる単語のベクトルを初期化し、初期化されたベクトルをベクトル空間上に配置する。そして、機械学習部12は、教師データの集合に含まれる全ての教師データについて、第1のクラスに対する単語のベクトルに、プロパティに対する単語のベクトルを加えたベクトルが、第2のクラスに対する単語のベクトルに近づく条件に基づき機械学習を実行する。
 また、機械学習部12は、機械学習の結果を学習結果データ23に保存する。機械学習の結果は、機械学習モデルを含む。そして、機械学習の結果には、関係情報に含まれるクラス、プロパティおよびクラスに含まれる単語の学習済みのグラフベクトルの集合が含まれる。
 予測部13は、機械学習モデルを用いて、オントロジー24に含まれる単語と特定の関係(性質)を有する他の単語を予測する。
 例えば、予測部13は、オントロジー24に含まれる関係情報であって第2のクラスを予測対象とする関係情報を、ユーザ端末2から取得する。一例として、予測部13は、予測対象の単語を予測するために、予測対象以外の第1のクラスおよびプロパティに対するそれぞれの単語を、ユーザ端末2から取得する。そして、予測部13は、学習結果データ23の学習済みのグラフベクトルの集合を用いて、取得されたそれぞれの関係情報の予測対象を、以下のように予測する。予測部13は、学習済みのグラフベクトルの集合から予測対象以外の第1のクラスおよびプロパティに対するそれぞれの単語のグラフベクトルを取得する。そして、予測部13は、学習済みのグラフベクトルの集合から1つずつグラフベクトルを選択する。そして、予測部13は、第1のクラスのグラフベクトルにプロパティのグラフベクトルを加えたベクトルから選択したグラフベクトルを引いて得られた差分ベクトルが予め定められた許容誤差より小さくなるような、選択したグラフベクトルを検索する。予測部13は、検索により抽出されたグラフベクトルに対する単語を予測結果として決定する。
 一例として、「“撲殺”の“武器”が何であるかを予測する場合には、(第1のクラス,プロパティ,第2のクラス)が(“撲殺”,“武器”,?p)であり、第2のクラスが予測対象となる。そして、予測部13は、“撲殺”のグラフベクトルVに“武器”のグラフベクトルVを加えたベクトルから選択したグラフベクトルVを引いた差分ベクトルが予め定められた許容誤差より小さくなるような、選択したグラフベクトルVを検索する。そして、予測部13は、検索により抽出されたグラフベクトルVに対する単語pを予測結果として決定する。
 そして、予測部13は、予測結果として決定した単語をオントロジー24に追加することによって新たなオントロジー24を生成する。一例として、予測部13は、単語A、性質Bおよび探索した単語の3つのデータを組とした関係情報をオントロジー24に追加する。
 なお、予測部13は、同じ単語が複数の特定の関係(性質)の予測結果となる場合には、当該単語を、スコアが最も高い特定の関係(性質)の予測結果としても良い。ここでいうスコアとは、差分ベクトルが小さい程高くなるような評価値のことをいい、以降、「第2のスコア」というものとする。
 ここで、図3~図6を参照して、「殺人の方法」をドメインとするオントロジー24を生成する場合について説明する。
 図3は、実施例に係る探索処理の一例を示す図である。なお、図3では、「殺人の方法」をドメインとするオントロジーについて、「撲殺」の「武器」の道具または「絞殺」の「武器」の道具を探索する場合について説明する。
 図3に示すように、探索部11は、「撲殺」の単語ベクトルに、「武器」の単語ベクトルを加えたベクトルに近似する単語の単語ベクトルを取得する。そして、探索部11は、取得した単語ベクトルのうち、第1のスコアが予め定められたスコア以上の単語ベクトルに対する単語を探索する。ここでは、「素手」、「こん棒」、「鉄パイプ」が探索されている。
 また、探索部11は、「絞殺」の単語ベクトルに、「武器」の単語ベクトルを加えたベクトルに近似する単語の単語ベクトルを取得する。そして、探索部11は、取得した単語ベクトルのうち、第1のスコアが予め定められたスコア以上の単語ベクトルに対する単語を探索する。ここでは、「糸」、「ロープ」、「鞭」が探索されている。
 そして、探索部11は、「撲殺」,「武器」および「素手」の3つのデータの組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。探索部11は、「撲殺」,「武器」および「こん棒」の3つのデータの組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。探索部11は、「撲殺」,「武器」および「鉄パイプ」の3つのデータの組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。また、探索部11は、「絞殺」,「武器」および「糸」の3つのデータの組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。探索部11は、「絞殺」,「武器」および「ロープ」の3つのデータの組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。探索部11は、「絞殺」,「ロープ」および「鞭」の3つのデータの組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。
 図4A~図4Cは、実施例に係る学習処理の一例を示す図である。なお、図4A~図4Cでは、「殺人の方法」をドメインとするオントロジー24を生成する場合に、ナレッジグラフ22にオントロジー24を追加した結果の拡張ナレッジグラフを学習する場合について説明する。
 図4Aに示すように、機械学習部12は、図3で示したオントロジー24をナレッジグラフ22に接続する。ここでは、オントロジー24に含まれる「素手」,「こん棒」,「鉄パイプ」,「糸」,「ロープ」,「鞭」とナレッジグラフ22に含まれる同じ単語とが接続される。
 図4Bに示すように、機械学習部12は、オントロジー24をナレッジグラフ22に接続した結果の拡張ナレッジグラフに含まれる単語に関し、第1のクラス,プロパティおよび第2のクラスから構成される関係情報を示す3つの単語から成る教師データを生成する。ここでは、オントロジー24側から、例えば、(“撲殺”,“武器”,“素手”)、(“撲殺”,“武器”,“こん棒”)、(“撲殺”,“武器”,“鉄パイプ”)の教師データが生成される。また、(“絞殺”,“武器”,“糸”)、(“絞殺”,“武器”,“ロープ”)(“絞殺”,“武器”,“鞭”)などの教師データが生成される。さらに、図示しないが、ナレッジグラフ22側から、例えば、(“こん棒”,“原料”,“木”)、(“木刀”,“原料”,“木”)などの教師データが生成される。
 機械学習部12は、生成した教師データの集合を用いて、それぞれの教師データについて、第1のクラスに対する単語のベクトルにプロパティに対する単語のベクトルを加えたベクトルが、第2のクラスに対する単語のベクトルに近づく条件に基づき機械学習を実行する。すなわち、機械学習部12は、教師データの集合をもとに、それぞれの教師データに含まれるクラスおよびプロパティに対する単語のベクトル(分散表現)を学習する。
 一例として、教師データに含まれる(クラス,プロパティ,クラス)が(“撲殺”,“武器”,“素手”)、(“撲殺”,“武器”,“こん棒”)、・・・であるとする。機械学習部12は、教師データの集合に含まれる全ての単語をn次元のベクトルで初期化する。なお、便宜上、n次元を2次元として説明する。機械学習部12は、初期化されたベクトルを2次元空間上に配置する。そして、機械学習部12は、(“撲殺”,“武器”,“素手”)の教師データについて、第1のクラスに対する“撲殺”のベクトルに、プロパティに対する“武器”のベクトルを加えたベクトルと、第2のクラスに対する“素手”のベクトルとを近寄せる。機械学習部12は、(“撲殺”,“武器”,“こん棒”)の教師データについて、第1のクラスに対する“撲殺”のベクトルに、プロパティに対する“武器”のベクトルを加えたベクトルと、第2のクラスに対する“こん棒”のベクトルとを近寄せる。このように、機械学習部12は、教師データの集合に含まれる全ての教師データについて、第1のクラスに対する単語のベクトルに、プロパティに対する単語のベクトルを加えたベクトルが、第2のクラスに対する単語のベクトルに近づく条件に基づき機械学習を実行する。
 この結果、図4Cに示すように、機械学習部12は、それぞれの組の距離が十分縮まるまで繰り返す。そして、機械学習部12は、学習結果としてそれぞれの組の距離が十分縮まったベクトルを生成する。機械学習部12は、学習結果を学習結果データ23に保存する。学習結果は、学習済みのグラフベクトルの集合である。
 図4Bに戻って、つまり、ナレッジグラフ22には「殺人の方法」としての道具という文脈は存在しない。しかしながら、機械学習部12は、「殺人の方法」に関するオントロジー24に含まれる「殺人の方法」としての道具をナレッジグラフ22と接続して、拡張ナレッジグラフで「撲殺」という文脈や「絞殺」という文脈に基づき機械学習が実行される。
 図5A,図5Bは、実施例に係る予測処理の一例を示す図である。なお、図5A,図5Bでは、図4Bの例に関する学習結果データ23が利用されるものとする。
 図5Aに示すように、予測部13は、「撲殺」の「武器」が何であるかを予測する。予測部13は、学習結果データ23の学習済みのグラフベクトルの集合から、予測対象以外の第1のクラスに対する「撲殺」およびプロパティに対する「武器」のそれぞれのグラフベクトルを取得する。そして、予測部13は、学習結果データ23の学習済みのグラフベクトルの集合から1つずつグラフベクトルを選択する。そして、予測部13は、「撲殺」のグラフベクトルに「武器」のグラフベクトルを加えたベクトルから、選択したグラフベクトルを引いて得られる差分ベクトルが予め定められた許容誤差より小さくなるような、選択したグラフベクトルを検索する。予測部13は、検索により抽出されたグラフベクトルに対する単語を予測結果として決定する。
 図5Bに示すように、例えば、予測部13は、「撲殺」の「武器」が何であるかの問い合わせ(撲殺,武器,?p(0.1))を受け付ける。「?」は、予測対象を示す予測変数を意味する。予測変数の後の値「0.1」は、ベクトルの許容誤差を意味する。一例として、許容誤差は、図5Bで示す円内を示す情報のことをいう。すなわち、距離が近い程、第2のスコアは高くなる。
 そして、予測部13は、学習済みのグラフベクトルの集合から1つずつグラフベクトルを選択し、「撲殺」のグラフベクトルに「武器」のグラフベクトルを加えたベクトルから選択したグラフベクトルを引いて得られる差分ベクトルが「0.1」の許容誤差より小さくなるような、選択したグラフベクトルを検索する。ここでは、検索により単語「木刀」のグラフベクトルが抽出される。従って、「木刀」が予測結果として決定される。
 図5Aに戻って、同様に、予測部13は、「絞殺」の「武器」が何であるかを予測する。予測部13は、学習済みのグラフベクトルの集合から予測対象以外の第1のクラスに対する「絞殺」およびプロパティに対する「武器」のそれぞれのグラフベクトルを取得する。そして、予測部13は、学習済みのグラフベクトルの集合から1つずつグラフベクトルを選択する。そして、予測部13は、「絞殺」のグラフベクトルに「武器」のグラフベクトルを加えたベクトルから選択したグラフベクトルを引いて得られた差分ベクトルが予め定められた許容誤差より小さくなるような、選択したグラフベクトルを検索する。ここでは、検索により単語「ワイヤ」のグラフベクトルが抽出される。従って、「ワイヤ」が予測結果として決定される。
 そして、予測部13は、予測対象として予測された単語をオントロジー24に追加することによって新たなオントロジー24を生成する。
 図6は、学習された拡張ナレッジグラフのイメージの一例を示す図である。図6に示すように、機械学習部12が拡張ナレッジグラフで「撲殺」という文脈を学習したので、「木刀」のグラフベクトルが「撲殺」のグラフベクトルに「武器」のグラフベクトルを加えたものに近づく。同様に、機械学習部12が拡張ナレッジグラフで「絞殺」という文脈を学習したので、「ワイヤ」のグラフベクトルが「絞殺」のグラフベクトルに「武器」のグラフベクトルを加えたものに近づく。一方、機械学習部12が拡張ナレッジグラフで「撲殺」という文脈や「絞殺」という文脈を学習したので、「日用品」のグラフベクトルが「撲殺」のグラフベクトルに「武器」のグラフベクトルを加えたものから離れる。
 ここで、同じ単語が複数の特定の関係(性質)の予測結果となる場合がある。図7は、同じ単語が複数の特定の関係で予測される場合の一例を示す図である。図7に示すように、予測部13は、「撲殺」の「武器」が「鞭」であると予測する。また、予測部13は、「絞殺」の「武器」が「鞭」であると予測する。すなわち、予測部13は、「撲殺」の「武器」としての道具および「絞殺」の「武器」としての道具の両方で「鞭」という単語を予測している。
 同じ単語が複数の特定の関係(性質)の予測結果となる場合には、予測部13は、同じ単語「鞭」を、第2のスコアが最も高い特定の関係(性質)に紐付けるようにしても良い。すなわち、予測部13は、同じ単語「鞭」のグラフベクトルとの距離が近い特定の関係(性質)に、単語「鞭」を予測結果として紐付けても良い。
 図8は、生成されたオントロジーの一例を示す図である。図8に示すように、予測部13によって予測された単語を含むオントロジー24が示されている。生成されたオントロジー24には、単語ベクトルを用いて計算された「素手」,「こん棒」,「鉄パイプ」に加えて、予測部13によって予測された「木刀」が追加されている。また、生成されたオントロジー24には、単語ベクトルを用いて計算された「糸」,「ロープ」,「鞭」に加えて、予測部13によって予測された「ワイヤ」が追加されている。このようにして、予測部13は、拡張ナレッジグラフを用いることで、豊富な語彙が含まれるオントロジー24を生成することができる。
 図9は、実施例に係るオントロジー生成処理のフローチャートの一例を示す図である。図9に示すように、探索部11は、オントロジー24の追加したい部分(S,p)を受け付ける(ステップS11)。ここでいう(S,p)は、オントロジー24に第1のクラスと特定の性質(プロパティ)を持つ第2のクラスを追加したい場合の第1のクラスおよびプロパティに対する単語を示す。Sは、第1のクラスに対する単語、pは、プロパティに対する単語である。
 探索部11は、Sの単語ベクトル+pの単語ベクトルに近いベクトルをもつ単語をn個(W1,・・・,Wn)取得する(ステップS12)。例えば、探索部11は、単語ベクトルデータ21からSの単語ベクトル,pの単語ベクトルおよび他の単語ベクトルを取得する。そして、探索部11は、Sの単語ベクトル+pの単語ベクトルと他の単語ベクトルとの第1のスコアが予め定められたスコア以上の他の単語ベクトルをn個取得する。
 そして、探索部11は、(S,p,W1),・・・,(S,p,Wn)のn個の3つ組を、ナレッジグラフ22に追加する(ステップS13)。例えば、探索部11は、Sに対する単語,pに対する単語およびW1~Wnに対する単語の3つのデータの各組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。そして、機械学習部12は、オントロジー24をナレッジグラフ22に追加(接続)する。オントロジー24をナレッジグラフ22に追加(接続)したナレッジグラフが拡張ナレッジグラフである。
 そして、機械学習部12は、追加されたナレッジグラフの埋め込みを計算する(ステップS14)。例えば、機械学習部12は、拡張ナレッジグラフに含まれる単語に関し、第1のクラス、プロパティおよび第2のクラスから構成される関係情報を示す3つの単語から成る教師データを生成する。機械学習部12は、生成した教師データの集合を用いて、それぞれの教師データについて、第1のクラスに対する単語のベクトルにプロパティに対する単語のベクトルを加えたベクトルが、第2のクラスに対する単語のベクトルに近づく条件に基づき機械学習を実行する。すなわち、機械学習部12は、教師データの集合をもとに、それぞれの教師データに含まれるクラスおよびプロパティに対する単語のベクトル(分散表現)を学習する。そして、機械学習部12は、学習した結果(学習済みのグラフベクトルの集合)を学習結果データ23に保存する。
 そして、予測部13は、計算された埋め込みを利用して、Sとpから予測される単語をm個(O1,・・・,Om)取得する(ステップS15)。例えば、予測部13は、学習した結果(学習済みのグラフベクトルの集合)から予測対象以外の第1のクラスSおよびプロパティpに対するそれぞれの単語のグラフベクトルを取得する。そして、予測部13は、学習済みのグラフベクトルの集合から1つずつグラフベクトルを選択する。そして、予測部13は、第1のクラスSのグラフベクトルにプロパティpのグラフベクトルを加えたベクトルから選択したグラフベクトルを引いて得られる差分ベクトルが予め定められた許容誤差より小さくなるような、選択したグラフベクトルを検索する。予測部13は、検索できたグラフベクトルに対する単語を予測対象としてm個取得する。
 そして、予測部13は、取得した(S,p,W1),・・・(S,p,Wn)および(S,p,O1),(S,p,Om)をオントロジー24として出力する(ステップS16)。
 図10A,図10Bは、複数の親がある場合のオントロジー生成処理のフローチャートの一例を示す図である。すなわち、図10A,図10Bは、同じ単語が複数の特定の関係(性質)の予測対象となる場合のオントロジー生成処理のフローチャートの一例である。
 図10Aに示すように、探索部11は、オントロジー24の追加したい部分(S1,p),・・・(Sk,p)を受け付ける(ステップS21)。ここでいう(Sk,p)は、オントロジー24に第1のクラスと特定の性質(プロパティ)を持つ第2のクラスを追加したい場合の第1のクラスおよびプロパティに対する単語を示す。Skは、第1のクラスに対する単語、pは、プロパティに対する単語である。
 探索部11は、S1,・・・,Skのそれぞれの単語ベクトル+pの単語ベクトルに近いベクトルをもつ単語をそれぞれn個(W11,W12,・・・,Wkn)取得する(ステップS22)。例えば、探索部11は、単語ベクトルデータ21からS1の単語ベクトル,pの単語ベクトルおよび他の単語ベクトルを取得する。そして、探索部11は、S1の単語ベクトル+pの単語ベクトルと他の単語ベクトルとの第1のスコアが予め定められたスコア以上の他の単語ベクトルをn個(W11,W12,・・・,W1n)取得する。探索部11は、単語ベクトルデータ21からS2の単語ベクトル,pの単語ベクトルおよび他の単語ベクトルを取得する。そして、探索部11は、S2の単語ベクトル+pの単語ベクトルと他の単語ベクトルとの第1のスコアが予め定められたスコア以上の他の単語ベクトルをn個(W21,W22,・・・,W2n)取得する。同様に、探索部11は、単語ベクトルデータ21からSkの単語ベクトル,pの単語ベクトルおよび他の単語ベクトルを取得する。そして、探索部11は、Skの単語ベクトル+pの単語ベクトルと他の単語ベクトルとの第1のスコアが予め定められたスコア以上の他の単語ベクトルをn個(Wk1,Wk2,・・・,Wkn)取得する。
 そして、探索部11は、(S1,p,W11),・・・,(Sk,p,Wkn)のk×n個の3つ組を、ナレッジグラフ22に追加する(ステップS23)。例えば、探索部11は、S1に対する単語,pに対する単語およびW11~W1nに対する単語の3つのデータの各組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。探索部11は、S2に対する単語,pに対する単語およびW21~W2nに対する単語の3つのデータの各組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。同様に、探索部11は、Skに対する単語,pに対する単語およびWk1~Wknに対する単語の3つのデータの各組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。そして、機械学習部12は、オントロジー24をナレッジグラフ22に追加(接続)する。オントロジー24をナレッジグラフ22に追加(接続)したナレッジグラフが拡張ナレッジグラフである。
 そして、機械学習部12は、追加されたナレッジグラフの埋め込みを計算する(ステップS24)。例えば、機械学習部12は、拡張ナレッジグラフに含まれる単語に関し、第1のクラス、プロパティおよび第2のクラスから構成される関係情報を示す3つの単語から成る教師データを生成する。機械学習部12は、生成した教師データの集合を用いて、それぞれの教師データについて、第1のクラスに対する単語のベクトルにプロパティに対する単語のベクトルを加えたベクトルが、第2のクラスに対する単語のベクトルに近づく条件に基づき機械学習を実行する。すなわち、機械学習部12は、教師データの集合をもとに、それぞれの教師データに含まれるクラスおよびプロパティに対する単語のベクトルの埋め込みを学習する。そして、機械学習部12は、学習した結果(学習済みのグラフベクトルの集合)を学習結果データ23に保存する。
 そして、予測部13は、計算された埋め込みを利用して、S1,・・・Skそれぞれとpから予測される単語をそれぞれm個とそれぞれのスコアを取得する(ステップS25)。ここでいうスコアは、第2のスコアである。S1とpとから予測されるm個の単語とスコアは、(O11,s11),(O12,s12),・・・,(O1m,s1m)と取得される。S2とpとから予測されるm個の単語とスコアは、(O21,s21),(O22,s22),・・・,(O2m,s2m)と取得される。同様に、Skとpとから予測されるm個の単語とスコアは、(Ok1,sk1),(Ok2,sk2),・・・,(Okm,skm)と取得される。
 ここでは、(O11,s11),(O12,s12),・・・,(Okm,skm)をAの集合とする。予測部13は、Aの集合の予測対象のOをそれぞれ比較して、同じ場合には、スコアsを比較して、スコアsの小さい方を削除する(ステップS26)。なお、予測対象のOが同じ場合にスコアsの大きい方を残し、スコアsの小さい方を削除する処理のフローチャートは、後述する。
 そして、予測部13は、取得した(S1,p,W11),・・・(Sk,p,Wkn)および残ったAの集合の要素(S1,p,O11),(Sk,p,Okm)をオントロジー24として出力する(ステップS27)。
 図10Bは、予測対象のOが同じ場合にスコアsの大きい方を残し、スコアsの小さい方を削除する処理のフローチャートの一例である。なお、ここでいうスコアは、第2のスコアのことをいう。図10Bに示すように、予測部13は、Aの集合を入力する(ステップS31)。予測部13は、Aの集合の要素を1つ取り出し、取り出した要素の中のそれぞれの要素(単語O,スコアs)をS、Kに入力する(ステップS32)。
 予測部13は、Aの集合からすべての要素を取り出したか否かを判定する(ステップS33)。Aの集合からすべての要素を取り出していないと判定した場合には(ステップS33;No)、予測部13は、Aの集合の要素を1つ取り出し、取り出した要素の中のそれぞれの要素(単語O,スコアs)をT、Jに入力する(ステップS35)。
 予測部13は、Aの集合からすべての要素を取り出したか否かを判定する(ステップS36)。Aの集合からすべての要素を取り出していないと判定した場合には(ステップS36;No)、予測部13は、単語Sが単語Tと一致しているか否かを判定する(ステップS38)。単語Sが単語Tと一致していないと判定した場合には(ステップS38;No)、予測部13は、次の要素の(T,J)を現在処理中の(S,K)と比較すべく、ステップS35に移行する。
 一方、単語Sが単語Tと一致したと判定した場合には(ステップS38;Yes)、予測部13は、スコアJがスコアKより大きいか否かを判定する(ステップS39)。スコアJがスコアK以下と判定した場合には(ステップS39;No)、予測部13は、次の要素の(T,J)を現在処理中の(S,K)と比較すべく、ステップS35に移行する。すなわち、予測部13は、現在処理中の単語Sが単語Tと一致している場合に、単語SのスコアKより大きい単語Tを探索する。
 そして、スコアJがスコアKより大きいと判定した場合には(ステップS39;Yes)、予測部13は、Aの集合の次の要素を処理すべく、ステップS32に移行する。すなわち、予測部13は、現在処理中の(S,K)をAの集合から削除する。
 また、ステップS36において、Aの集合からすべての要素を取り出したと判定した場合には(ステップS36;Yes)、予測部13は、現在処理中の(S,K)をBの集合に追加する(ステップS37)。また、ステップS33において、Aの集合からすべての要素を取り出したと判定した場合には(ステップS33;Yes)、予測部13は、集合Bを集合Aとして出力する(ステップS34)。
 なお、予測部13は、同じ単語が複数の特定の関係(性質)の予測対象となる場合には、当該単語を第2のスコアが最も高い特定の関係(性質)の予測対象とすると説明した。しかしながら、予測部13は、これに限定されず、予測部13は、同じ単語が複数の特定の関係(性質)の予測対象となる場合であっても、そのまま当該単語をそれぞれの特定の関係(性質)の予測対象としても良い。
 上記実施例によれば、オントロジー生成装置1は、複数の単語の特定の関係を示すオントロジー24を追加したナレッジグラフに基づいた機械学習によって生成された機械学習モデルを用いて、複数の単語に含まれる単語と特定の関係を有する他の単語を予測する。オントロジー生成装置1は、オントロジー24に、予測された他の単語を追加することによって新たなオントロジー24を生成する。かかる構成によれば、オントロジー生成装置1は、ノイズができるだけ少なく、語彙が豊富なオントロジーを生成することができる。例えば、オントロジー生成装置1は、オントロジー24を追加したナレッジグラフについて埋め込みを利用した予測を基にオントロジー24を生成することで、不要な語(ノイズ)が少ないオントロジー24を生成できる。加えて、オントロジー生成装置1は、オントロジー24の中の単語だけで生成するよりも、数多くの語彙を持ったオントロジー24を生成できる。
 また、上記実施例によれば、オントロジー生成装置1は、オントロジー24を追加したナレッジグラフに含まれる単語に関し、第1の単語と第2の単語と特定の関係とを有するトリプルを生成する。オントロジー生成装置1は、生成したトリプルについて、第1の単語のベクトルに第2の単語のベクトルを加えたベクトルが特定の関係のベクトルに近づく条件に基づき機械学習を実行することによって、機械学習モデルを生成する。かかる構成によれば、オントロジー生成装置1は、オントロジー24にナレッジグラフの埋め込みを利用して機械学習モデルを生成することで、不要な語(ノイズ)が少ないオントロジー24を生成することが可能になる。
 また、上記実施例によれば、オントロジー生成装置1は、オントロジーに含まれる第1の単語と特定の関係とを機械学習モデルに入力する。オントロジー生成装置1は、機械学習モデルに含まれる学習済みのベクトルの中から特定のベクトルを選択する。オントロジー生成装置1は、選択された特定のベクトルと第1の単語のベクトルとを加えて得られたベクトルから特定の関係のベクトルを引いて得られる第1の差分ベクトルが閾値より小さいか否かを判定する。そして、オントロジー生成装置1は、第1の差分ベクトルが閾値より小さいと判定された場合、選択された特定のベクトルに対応する単語を他の単語として決定する。かかる構成によれば、オントロジー生成装置1は、オントロジー24における単語の予測を、機械学習モデルに含まれる学習済みのベクトルを用いることで、単語の予測精度を向上させることができる。したがって、オントロジー生成装置1は、不要な語(ノイズ)が少ないオントロジー24を生成できる。
 また、上記実施例によれば、オントロジー生成装置1は、オントロジーに含まれる第2の単語と特定の関係との入力に応じて、特定のベクトルに対応する単語が他の単語として決定された場合、特定のベクトルと第2の単語のベクトルとを加えて得られたベクトルから特定の関係のベクトルを引いて得られる第2の差分ベクトルと第1の差分ベクトルとを比較する。そして、オントロジー生成装置1は、第1の差分ベクトルが第2の差分ベクトルより小さい場合、第1の単語と他の単語と特定の関係とを含むトリプルを示す情報をオントロジーに追加する。つまり、オントロジー生成装置1は、同じ単語が複数の特定の関係の予測結果となる場合には、当該単語を、スコアが最も高い特定の関係の予測結果とする。かかる構成によれば、オントロジー生成装置1は、予測精度が高い単語をオントロジー24に追加することが可能となる。
 また、上記実施例によれば、オントロジー生成装置1は、数の単語に含まれる単語と特定の関係を有する一又は複数の単語を、単語ベクトルを用いて探索する。そして、オントロジー生成装置1は、探索した一又は複数の単語のうちスコアが高い特定の数の単語をオントロジーに追加することによって新たなオントロジー24を生成する。かかる構成によれば、オントロジー生成装置1は、単語ベクトルを用いて探索する単語の探索精度を向上させることができ、この後のオントロジー24の生成において、不要な語(ノイズ)が少ないオントロジー24を生成できる。
 なお、実施例では、予測部13が、オントロジー24に含まれる関係情報であって第2のクラスを予測対象とする場合を説明した。しかしながら、予測部13は、これに限定されず、第1のクラスを予測対象としても良いし、プロパティを予測対象としても良い。第1のクラスを予測対象とする場合には、予測部13は、予測対象以外のプロパティおよび第2のクラスに対するそれぞれの単語を、ユーザ端末2から入力する。予測部13は、学習済みのグラフベクトルの集合から予測対象以外のプロパティおよび第2のクラスに対するそれぞれの単語のグラフベクトルを取得する。予測部13は、選択したグラフベクトルのグラフベクトルにプロパティのグラフベクトルを加えたベクトルから第2のクラスのグラフベクトルを引いて得られた差分ベクトルが予め定められた許容誤差より小さくなるような、選択したグラフベクトルを検索する。予測部13は、検索により抽出したグラフベクトルに対する単語を予測結果として決定すれば良い。
 また、図示したオントロジー生成装置1の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、オントロジー生成装置1の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、探索部11を、単語ベクトルデータ21を用いてあるドメインにおける単語と特定の関係を有する単語を探索する第1の探索部と、所定のスコア以上の単語ベクトルに対する単語を探索する第2の探索部とに分散しても良い。また、記憶部20をオントロジー生成装置1の外部装置としてネットワーク経由で接続するようにしても良い。
 また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図1に示したオントロジー生成装置1と同様の機能を実現するオントロジー生成プログラムを実行するコンピュータの一例を説明する。ここでは、オントロジー生成装置1と同様の機能を実現するオントロジー生成プログラムを一例として説明する。図11は、オントロジー生成プログラムを実行するコンピュータの一例を示す図である。
 図11に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD(Hard Disk Drive)205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
 ドライブ装置213は、例えばリムーバブルディスク210用の装置である。HDD205は、オントロジー生成プログラム205aおよびオントロジー生成処理関連情報205bを記憶する。
 CPU203は、オントロジー生成プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、オントロジー生成装置1の各機能部に対応する。オントロジー生成処理関連情報205bは、単語ベクトルデータ21、ナレッジグラフ22、学習結果データ23およびオントロジー24に対応する。そして、例えばリムーバブルディスク210が、オントロジー生成プログラム205aなどの各情報を記憶する。
 なお、オントロジー生成プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、光磁気ディスク、IC(Integrated Circuit)カードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらからオントロジー生成プログラム205aを読み出して実行するようにしても良い。
 1 オントロジー生成装置
 10 制御部
 11 探索部
 12 機械学習部
 13 予測部
 20 記憶部
 21 単語ベクトルデータ
 22 ナレッジグラフ
 23 学習結果データ
 24 オントロジー
 2 ユーザ端末

Claims (7)

  1.  複数の単語の特定の関係を示すオントロジーを追加したナレッジグラフに基づいた機械学習によって生成された機械学習モデルを用いて、前記複数の単語に含まれる単語と前記特定の関係を有する他の単語を予測し、
     前記オントロジーに、予測された前記他の単語を追加することによって新たなオントロジーを生成する、
     ことをコンピュータに実行させるオントロジー生成プログラム。
  2.  前記機械学習は、前記オントロジーを追加したナレッジグラフに含まれる単語に関し、第1の単語と第2の単語と前記特定の関係とを有するトリプルについて、前記第1の単語のベクトルに前記第2の単語のベクトルを加えたベクトルが、前記特定の関係のベクトルに近づく条件に基づいて実行される、
     ことを特徴とする請求項1に記載のオントロジー生成プログラム。
  3.  前記予測する処理は、
     前記オントロジーに含まれる第1の単語と前記特定の関係とを前記機械学習モデルに入力し、
    前記機械学習モデルに含まれる学習済みのベクトルの中から特定のベクトルを選択し、
     選択された前記特定のベクトルと前記第1の単語のベクトルとを加えて得られたベクトルから前記特定の関係のベクトルを引いて得られる第1の差分ベクトルが閾値より小さいか否かを判定し、
     前記第1の差分ベクトルが前記閾値より小さいと判定された場合、選択された前記特定のベクトルに対応する単語を前記他の単語として決定する、
     処理を含むことを特徴とする請求項1に記載のオントロジー生成プログラム。
  4.  前記他の単語を追加する処理は、前記オントロジーに含まれる第2の単語と前記特定の関係との入力に応じて、前記特定のベクトルに対応する単語が前記他の単語として決定された場合、前記特定のベクトルと前記第2の単語のベクトルとを加えて得られたベクトルから前記特定の関係のベクトルを引いて得られる第2の差分ベクトルと前記第1の差分ベクトルとを比較し、
    前記第1の差分ベクトルが前記第2の差分ベクトルより小さい場合、前記第1の単語と前記他の単語と前記特定の関係とを含むトリプルを示す情報を前記オントロジーに追加する、
     処理を含むことを特徴とする請求項4に記載のオントロジー生成プログラム。
  5.  前記オントロジーは、前記複数の単語に含まれる単語と特定の関係を有する一又は複数の単語を、単語ベクトルを用いて探索し、探索した前記一又は複数の単語のうちスコアが高い特定の数の単語を前記オントロジーに追加することによって生成される、
     ことを特徴とする請求項1に記載のオントロジー生成プログラム。
  6.  複数の単語の特定の関係を示すオントロジーを追加したナレッジグラフに基づいた機械学習によって生成された機械学習モデルを用いて、前記複数の単語に含まれる単語と前記特定の関係を有する他の単語を予測する予測部と、
     前記オントロジーに、予測された前記他の単語を追加することによって新たなオントロジーを生成する第2の生成部と、
     を有することを特徴とするオントロジー生成装置。
  7.  複数の単語の特定の関係を示すオントロジーを追加したナレッジグラフに基づいた機械学習によって生成された機械学習モデルを用いて、前記複数の単語に含まれる単語と前記特定の関係を有する他の単語を予測し、
     前記オントロジーに、予測された前記他の単語を追加することによって新たなオントロジーを生成する
     ことをコンピュータが実行するオントロジー生成方法。
PCT/JP2020/016804 2020-04-16 2020-04-16 オントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法 WO2021210148A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2020/016804 WO2021210148A1 (ja) 2020-04-16 2020-04-16 オントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法
JP2022515154A JP7375919B2 (ja) 2020-04-16 2020-04-16 オントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/016804 WO2021210148A1 (ja) 2020-04-16 2020-04-16 オントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法

Publications (1)

Publication Number Publication Date
WO2021210148A1 true WO2021210148A1 (ja) 2021-10-21

Family

ID=78085351

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/016804 WO2021210148A1 (ja) 2020-04-16 2020-04-16 オントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法

Country Status (2)

Country Link
JP (1) JP7375919B2 (ja)
WO (1) WO2021210148A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020047209A (ja) * 2018-09-21 2020-03-26 沖電気工業株式会社 オントロジー処理装置およびオントロジー処理プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016223193A1 (de) 2016-11-23 2018-05-24 Fujitsu Limited Verfahren und Vorrichtung zum Komplettieren eines Wissensgraphen
US11625620B2 (en) 2018-08-16 2023-04-11 Oracle International Corporation Techniques for building a knowledge graph in limited knowledge domains
CN110275894B (zh) 2019-06-24 2021-12-14 恒生电子股份有限公司 一种知识图谱的更新方法、装置、电子设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020047209A (ja) * 2018-09-21 2020-03-26 沖電気工業株式会社 オントロジー処理装置およびオントロジー処理プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ICHISE, RYUTARO ET AL.: "Relationships Between Distributed Representation and Ontology", THE 29TH ANNUAL CONFERENCE OF THE JAPANESE SOCIETY OF ARTIFICIAL INTELLIGENCE., 29 May 2015 (2015-05-29), pages 1 - 2 *

Also Published As

Publication number Publication date
JP7375919B2 (ja) 2023-11-08
JPWO2021210148A1 (ja) 2021-10-21

Similar Documents

Publication Publication Date Title
JP7120433B2 (ja) 回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム
CN110209817B (zh) 文本处理模型的训练方法、装置和文本处理方法
Weston et al. Memory networks
KR102483643B1 (ko) 모델을 학습하는 방법 및 장치 및 상기 뉴럴 네트워크를 이용한 인식 방법 및 장치
US20210141863A1 (en) Multi-perspective, multi-task neural network model for matching text to program code
KR102361616B1 (ko) 문맥 정보를 고려한 개체명 인식 방법 및 장치
RU2721190C1 (ru) Обучение нейронных сетей с использованием функций потерь, отражающих зависимости между соседними токенами
US11645479B1 (en) Method for AI language self-improvement agent using language modeling and tree search techniques
CN110162596B (zh) 自然语言处理的训练方法、装置、自动问答方法和装置
JP2008305167A (ja) 原言語文を目的言語文に機械翻訳する装置、方法およびプログラム
Sifa et al. Towards contradiction detection in german: a translation-driven approach
JP6230987B2 (ja) 言語モデル作成装置、言語モデル作成方法、プログラム、および記録媒体
Dadas et al. A bidirectional iterative algorithm for nested named entity recognition
CN117057173B (zh) 一种支持发散思维的仿生设计方法、系统及电子设备
Zuin et al. Learning transferable features for open-domain question answering
Onan et al. Improving Turkish text sentiment classification through task-specific and universal transformations: an ensemble data augmentation approach
WO2021210148A1 (ja) オントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法
Wang et al. Aspect-level sentiment classification with reinforcement learning
CN113988201B (zh) 一种基于神经网络的多模态情感分类方法
WO2021176714A1 (ja) 学習装置、情報処理装置、学習方法、情報処理方法及びプログラム
Lyu et al. Reasoning about goals, steps, and temporal ordering with wikihow
WO2018066083A1 (ja) 学習プログラム、情報処理装置および学習方法
JP7120064B2 (ja) 言語モデルスコア計算装置、言語モデル作成装置、それらの方法、プログラム、および記録媒体
Harzig et al. Extended Self-Critical Pipeline for Transforming Videos to Text (TRECVID-VTT Task 2021)--Team: MMCUniAugsburg
Liu et al. ItrievalKD: An Iterative Retrieval Framework Assisted with Knowledge Distillation for Noisy Text-to-Image Retrieval

Legal Events

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

Ref document number: 20931544

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022515154

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20931544

Country of ref document: EP

Kind code of ref document: A1