WO2018083804A1 - 分析プログラム、情報処理装置および分析方法 - Google Patents

分析プログラム、情報処理装置および分析方法 Download PDF

Info

Publication number
WO2018083804A1
WO2018083804A1 PCT/JP2016/083000 JP2016083000W WO2018083804A1 WO 2018083804 A1 WO2018083804 A1 WO 2018083804A1 JP 2016083000 W JP2016083000 W JP 2016083000W WO 2018083804 A1 WO2018083804 A1 WO 2018083804A1
Authority
WO
WIPO (PCT)
Prior art keywords
word
learning
diversity
words
distributed
Prior art date
Application number
PCT/JP2016/083000
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/JP2016/083000 priority Critical patent/WO2018083804A1/ja
Priority to JP2018548537A priority patent/JP6699753B2/ja
Publication of WO2018083804A1 publication Critical patent/WO2018083804A1/ja
Priority to US16/391,634 priority patent/US11068524B2/en

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/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • G06F16/337Profile generation, learning or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • 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/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis

Definitions

  • the present invention relates to an analysis program and the like.
  • Non-Patent Document 1 In text processing, how to acquire high-precision word expressions is important, and many studies have been made. In recent years, Word2Vec is well known as a technique for acquiring word expressions (see Non-Patent Document 1, for example).
  • Word2Vec is one of the neural language models and is a mechanism for acquiring a distributed representation of a word based on the concept (Distribution hypothesis) that "similar words appear in similar sentences".
  • the neural language model is a method of learning a distributed expression of words using a neural network model devised by Bengio et al.
  • the term “distributed expression” refers to a vector that expresses a semantic relationship between words.
  • Word2Vec uses a supervised learning method of a neural network composed of an input layer, a hidden layer, and an output layer, and a relationship between a given word and surrounding words that appear in a sentence and a distributed representation of the given word To learn.
  • a Continuous-Bag-of-Words model and a Skip-gram model have been proposed.
  • the Skip-gram model here is a model that predicts peripheral words by inputting a vector corresponding to a given word.
  • FIG. 6 is a diagram illustrating a Word2Vec Skip-gram model. As shown in FIG. 6, a neural network composed of an input layer, a hidden layer, and an output layer is constructed for the Skip-gram model.
  • a Z-dimensional input vector x corresponding to a given word that appears in the sentence is input.
  • the input vector x is a Z-dimensional one-hot vector.
  • Z is the number of words in the sentence.
  • the one-hot vector indicates a bit string in which only one-hot (one hot) is High (1) and the others are Low (0).
  • An M-dimensional word vector w of a given word is generated in the hidden layer.
  • W Z ⁇ M is a weight between the input layer and the hidden layer, and is represented by a Z ⁇ M matrix.
  • a Z-dimensional output vector y C is generated for each of C panels.
  • the panel here is synonymous with window.
  • C is the number of panels, and y C is an output vector corresponding to words before and after a given word.
  • W ′ M ⁇ Z is a weight between the hidden layer and the output layer, and is represented by an M ⁇ Z matrix.
  • Skip-gram model inputs Z dimension one-hot vector x Z as an input vector applied to the input layer (Input layer). Then, Skip-gram model, after mapping entered one-hot vector x Z hidden layer of M dimensions (Hidden layer), an output layer of output vectors of the respective Z dimension corresponding to the C-number of panels (Output layer).
  • the weight W ′ M ⁇ Z between the hidden layer and the output layer is used to learn the difference.
  • the weights that are parameters are updated in the order of the weight W Z ⁇ M between the input layer and the hidden layer. Such parameter update is referred to as backpropagation, for example.
  • the word vector w of the hidden layer obtained by repeated learning becomes a distributed representation of a given word (input vector x).
  • RC-NET technology is known as distributed representation learning using existing knowledge (see, for example, Non-Patent Document 2). The RC-NET technology will be briefly described with reference to FIGS.
  • FIG. 7 is a diagram showing an example of knowledge used in RC-NET.
  • the knowledge graph includes two types of knowledge.
  • One knowledge is relational knowledge
  • the other knowledge is category knowledge (Categorical Knowledge).
  • category knowledge For example, as knowledge of the relationship between words, “Elizabeth II” has a relationship of “Queen_of“ UK ”) with respect to“ UK ”.
  • synonyms for “UK” include “Britain” and “United Kingdom”.
  • FIG. 8 is a diagram showing an image of the positional relationship of knowledge used in RC-NET.
  • relational knowledge two words in an arbitrary relation are close to each other in distance.
  • category knowledge Third Generation Partnership Project
  • words included in an arbitrary category are close to each other in distance.
  • FIG. 9 is a diagram illustrating the architecture of RC-NET.
  • the purpose of RC-NET is to learn word expressions and relational expressions based on text streams, relational knowledge and category knowledge.
  • RC-NET uses the Skip-gram model as a base to improve the quality of word expressions by utilizing relational knowledge and category knowledge.
  • the knowledge of the relationship here corresponds to R-NET.
  • the category knowledge here corresponds to C-NET.
  • the R-NET obtains w ′ k, r using the distributed representation w k of the word to be learned and the relation embedding r, and the related word w k from which the word to be learned is acquired from the knowledge of the relationship. , R to be close to the distance.
  • C-NET is, and w k belonging to the same category, w 1, w 2, ⁇ , to learn so that each and w V distance to close. Back propagation is used for learning.
  • JP 2005-535007 A Japanese Unexamined Patent Publication No. 7-334477 JP 2005-208782 A
  • the RC-NET technology has a problem in that it cannot learn a distributed expression of words with high accuracy. That is, in RC-NET, the words included in the knowledge of the relationship and the knowledge of the category are used as a reference. Therefore, if the location of these words is not an appropriate place, the learning itself is not properly performed. However, learning may be performed without considering whether the words included in the knowledge of relations and the distributed representations of the words included in the knowledge of categories are sufficiently learned. In such a case, it is impossible to learn the distributed expression of words with high accuracy.
  • the present invention aims to perform learning of a distributed expression of words with high accuracy.
  • the analysis program measures, on a computer, the diversity of each word included in a document used for learning, the first word group whose diversity is higher than a predetermined specified value, and the word Classifying into a second word group lower than a prescribed value, learning a distributed expression of words included in the first word group using a first learning algorithm for learning the distributed expression, and learning the distributed expression
  • a word used by the second learning algorithm is included in the first word group
  • a distributed representation of the included word is set in the second learning algorithm, and the second learning algorithm is used. Then, a process of learning a distributed expression of words included in the second word group is executed.
  • learning of a distributed expression of words can be performed with high accuracy.
  • FIG. 1 is a functional block diagram illustrating the configuration of the information processing apparatus according to the embodiment.
  • FIG. 2A is a diagram (1) illustrating an example of the distributed representation learning process according to the embodiment.
  • FIG. 2B is a diagram (2) illustrating an example of the distributed expression learning process according to the embodiment.
  • FIG. 2C is a diagram (3) illustrating an example of the distributed representation learning process according to the embodiment.
  • FIG. 3 is a diagram illustrating an example of the knowledge-based distributed representation learning process according to the embodiment.
  • FIG. 4 is a diagram illustrating an example of a flowchart of the analysis processing according to the embodiment.
  • FIG. 5 is a diagram illustrating an example of a hardware configuration of the information processing apparatus.
  • FIG. 6 is a diagram illustrating a Word2Vec Skip-gram model.
  • FIG. 7 is a diagram illustrating an example of knowledge used in RC-NET.
  • FIG. 8 is a diagram showing an image of the positional relationship of knowledge used in RC-NET.
  • FIG. 1 is a functional block diagram illustrating the configuration of the information processing apparatus according to the embodiment.
  • the information processing apparatus 1 shown in FIG. 1 learns a distributed expression of words in consideration of the diversity of words included in a document used in learning in distributed expression learning using knowledge.
  • the term “distributed representation of words” refers to a representation of a semantic relationship between words expressed as a vector.
  • the word diversity here means that words appear in sentences with different expressions.
  • a sentence with a different expression means that in a sentence in which a certain word appears, the co-occurring words are different. For example, when attention is paid to a certain word, when the diversity of the word is high, it means that the word appears in various different expressions. This degree of diversity is called diversity.
  • the information processing apparatus 1 includes an analysis unit 10 and a storage unit 20.
  • the analysis unit 10 corresponds to an electronic circuit such as a CPU (Central Processing Unit). And the analysis part 10 has an internal memory for storing the program and control data which prescribed
  • the analysis unit 10 includes a word diversity measurement unit 11, a word classification unit 12, a learning distribution unit 13, a distributed representation learning unit 14, a knowledge-based distributed representation learning unit 15, and a learning end determination unit 16.
  • the storage unit 20 is, for example, a semiconductor memory element such as a RAM or a flash memory, or a storage device such as a hard disk or an optical disk.
  • the storage unit 20 includes a learning corpus 21, a first word group 22, a second word group 23, and knowledge information 24.
  • the learning corpus 21 is a corpus used for learning.
  • a corpus refers to a collection of sentences.
  • the first word group 22 is a collection of words whose diversity is higher than a specified value, and is a collection of words that exist in a plurality of sentences without bias. In other words, the first word group 22 is a collection of words that can be sufficiently learned.
  • the second word group 23 is a collection of words whose diversity is lower than a specified value, and is a collection of words existing in one or more sentences with bias. In other words, the second word group 23 is a collection of words that cannot be sufficiently learned.
  • the specified value may be a boundary value used when determining the level of diversity, and when the diversity matches the specified value, the diversity may be high or low.
  • Knowledge information 24 is knowledge information utilized in learning.
  • the knowledge information 24 is knowledge information used in RC-NET that learns a distributed expression of a word by utilizing existing knowledge, and indicates relation knowledge information indicating relation knowledge information and category knowledge information.
  • the related knowledge information is knowledge information used in R-NET in RC-NET.
  • the category knowledge information is knowledge information used in C-NET in RC-NET.
  • the relationship knowledge information may be associated in advance with words used in relationship knowledge and distributed expressions.
  • the category knowledge information of the knowledge information 24 may be associated in advance with words used in category knowledge and distributed expressions.
  • RC-NET learning is performed using the technology disclosed in “Xu Chang et al.“ Rc-net: A general framework for incorporating knowledge into word representations. ””.
  • the word diversity measuring unit 11 measures the diversity of words included in the learning corpus 21.
  • the word diversity measuring unit 11 uses, for words included in the learning corpus 21, a relationship (co-occurrence relationship) representing the co-occurrence of the word and surrounding words in a sentence in which the word appears. Generate an appearance vector to represent.
  • the co-occurrence relationship here means a relationship in which a certain word and a certain word appear simultaneously in a certain sentence.
  • a word and an appearance vector are generated for each sentence from a word around the word and its position. The number of words around the word matches the size of the panel, which is a parameter used in the output layer of the Skip-gram model. Then, the word diversity measuring unit 11 measures the diversity of the word based on the number of types of appearance vectors generated for the word.
  • the number of types of appearance vectors generated from a word including the word is large, it is estimated that the word exists in a plurality of sentences that are not biased, and it is estimated that learning can be sufficiently performed. If the number of types of appearance vectors generated from a word including the word is small, it is presumed that the word exists in one or a plurality of sentences in which the word is biased, and it is presumed that learning is not sufficiently performed.
  • the diversity of the word “apple” is measured.
  • the learning corpus 21 includes sentence 1, sentence 2, and sentence 3.
  • Sentence 1 is “She cut an apple with a knife”
  • Sentence 2 is “I eat an apple”
  • Sentence 3 is “You eat an apple”.
  • the dictionary of words is assumed to be (she, cut, an, apple, with, knife, I, eat, you).
  • sentence 1 has (0, 1, 1, 0, 1) as an appearance vector representing the relationship between the word “apple” and the words around the word. , 0, 0, 0, 0) is generated.
  • the word diversity measuring unit 11 generates, for words included in the learning corpus 21, an appearance vector that represents the relationship between the word in the sentence in which the word appears and surrounding words.
  • the appearance vector is generated for each sentence from words around the word and its position. The number of words around the word matches the number of panels that are parameters used in the output layer of the Skip-gram model.
  • the word diversity measuring unit 11 calculates the average and variance of the appearance vector similarity between the generated appearance vectors.
  • the similarity of the appearance vectors is calculated, for example, as an inner product between the appearance vectors.
  • the word diversity measuring unit 11 measures the diversity of the word based on the average or variance of the similarity of the appearance vectors calculated for the word.
  • the diversity of the word “apple” is measured.
  • the learning corpus 21 includes sentence 1, sentence 2, and sentence 3.
  • Sentence 1 is “She cut an apple with a knife”
  • Sentence 2 is “I eat an apple”
  • Sentence 3 is “You eat an apple”.
  • the dictionary of words is assumed to be (she, cut, an, apple, with, knife, I, eat, you).
  • sentence 1 has (0, 1, 1, 0, 1) as an appearance vector representing the relationship between the word “apple” and the words around the word. , 0, 0, 0, 0) is generated.
  • sentence 2 and sentence 3 (0, 0, 1, 0, 0, 0, 0, 1, 0) is generated as an appearance vector representing the relationship between the word “apple” and the words around the word. Then, the similarity of the appearance vector between the sentence 1 and the sentence 2 is calculated as 1 / ⁇ 6 by the inner product. The similarity of the appearance vector between sentence 1 and sentence 3 is also calculated as 1 / ⁇ 6 by the inner product. The similarity of the appearance vector between sentence 2 and sentence 3 is calculated as 1 by the inner product. The average similarity of the appearance vectors is calculated to be about 0.605 by the equation (1 / ⁇ 6 + 1 / ⁇ 6 + 1) / 3. The variance of the similarity of appearance vectors is calculated to be about 0.0776.
  • the average 0.605 similarity of appearance vectors is measured as the diversity of the word “apple”.
  • a variance 0.0776 of the similarity of appearance vectors is measured as the diversity of the word “apple”.
  • the word diversity measuring unit 11 corrects the measured diversity based on the number of meanings when a word included in the learning corpus 21 has a plurality of meanings indicated by the word. To do. This is because, when there are many ambiguous words representing different meanings even if the same notation is given for a certain word, the diversity of a certain word is increased too much, so that the diversity that has increased too much is corrected.
  • the diversity of the word “apple” is measured. Under these assumptions, the word “apple” has the meaning of “apple” in the fruit and the meaning of the US company “apple (registered trademark)”. Therefore, if there are two meanings in the word, it is estimated that the diversity is likely to increase twice as much as in the case where there is only one meaning, so the diversity that has increased too much is corrected. For example, in the first example, the diversity is 2, but it is corrected to a value of 1 so that the diversity estimated twice is simply halved.
  • the word diversity measuring unit 11 can measure the word diversity.
  • the word classifying unit 12 classifies the words whose diversity is measured into either the first word group 22 or the second word group 23. For example, when the diversity measured by the word diversity measuring unit 11 is higher than a specified value, the word classification unit 12 classifies the words whose diversity is measured into the first word group 22. That is, the word classification unit 12 classifies the words into the first word group 22 that is a collection of words that can be sufficiently learned. Then, when the diversity measured by the word diversity measuring unit 11 is lower than the specified value, the word classifying unit 12 classifies the words whose diversity is measured into the second word group 23. That is, the word classification unit 12 classifies the words into the second word group 23 that is a collection of words that cannot be sufficiently learned.
  • the learning distribution unit 13 distributes the first word group 22 to distributed expression learning that does not use knowledge. For example, the learning distribution unit 13 outputs the first word group 22 to the distributed expression learning unit 14. In addition, the learning distribution unit 13 distributes the second word group 23 to distributed expression learning using knowledge. For example, the learning distribution unit 13 outputs the second word group 23 to the knowledge-based distributed representation learning unit 15.
  • the distributed expression learning unit 14 learns the distributed expressions of the words included in the first word group 22 using a technique for learning the distributed expressions of the words. For example, when the distributed expression learning unit 14 receives the learning corpus 21, the distributed expression learning unit 14 learns a distributed expression of words included in the first word group 22 using the Word2Vec Skip-gram model. Note that learning using the Word2Vec Skip-gram model is performed using existing technology. Such learning may be performed using the technology disclosed in “Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word Representations in Vector Space. In Proceedings of Workshop at ICLR, 2013.”. Also, the technology disclosed in “Xin Rong. Word2vec Parameter Learning Explained” may be used.
  • FIGS. 2A to 2C are diagrams illustrating an example of the distributed expression learning process according to the embodiment.
  • a technique for acquiring a distributed representation of a word is described as a Word2Vec Skip-gram model. It is assumed that the learning corpus 21 is “I drink apple juice....”
  • the distributed expression learning unit 14 constructs a neural network including an input layer, a hidden layer, and an output layer for the Skip-gram model.
  • a Z-dimensional input vector x corresponding to a given word is input to the input layer.
  • the input vector x is a one-hot vector.
  • Z is the number of words included in the learning corpus 21.
  • the one-hot vector refers to a vector in which an element corresponding to a given word is 1 and the other elements are 0.
  • W Z ⁇ M is a weight between the input layer and the hidden layer, and is represented by a Z ⁇ M matrix.
  • a random value is given as an initial state of each element of WZ ⁇ M .
  • Z-dimensional output vectors y c are generated for C panels (not shown).
  • the C is a predetermined number of panels
  • y c is an output vector corresponding to words before and after a given word.
  • W ′ M ⁇ Z is a weight between the hidden layer and the output layer, and is represented by an M ⁇ Z matrix. As an initial state of each element of W ′ M ⁇ Z , for example, a random value is given.
  • the distributed expression learning unit 14 learns a distributed expression of a given word by using a Skip-gram model utilizing such a neural network including an input layer, a hidden layer, and an output layer.
  • the input vector x is a one-hot vector in which the element corresponding to the given word “apple” in the learning corpus 21 is 1 and the other elements are 0, which are words of the first word group 22.
  • the distributed representation learning unit 14 upon receiving the input vector x corresponding to the given word “apple”, the distributed representation learning unit 14 generates a hidden layer word vector w by applying a weight of W Z ⁇ M to the input vector x.
  • the distributed expression learning unit 14 generates an output vector y of the output layer by applying a weight of W′M ⁇ Z to the word vector w. That is, the distributed representation learning unit 14 performs prediction using W Z ⁇ M and W ′ M ⁇ Z in the initial state. As a result, the probability of the word “drink” is predicted to be 0.1230, and the probability of the word “juice” is predicted to be 0.1277.
  • the distributed representation learning unit 14 determines W ′ M ⁇ Z and W Z ⁇ based on the difference.
  • the weights that are parameters are updated in the order of M. Such parameter update is called backpropagation, for example.
  • the distributed representation learning unit 14 generates the hidden layer word vector w by multiplying the input vector x by the updated weight of WZ ⁇ M.
  • the distributed expression learning unit 14 generates the output vector y of the output layer by applying the updated weight W′M ⁇ Z to the word vector w. That is, the distributed representation learning unit 14 performs prediction using the updated states W Z ⁇ M and W ′ M ⁇ Z.
  • the probability of the word “drink” is predicted to be 0.1236, and the probability of the word “juice” is predicted to be 0.1289, which is slightly increased from the previous predicted value.
  • the distributed representation learning unit 14 repeats (iterates) until the output vector becomes optimal using a back-propagation algorithm.
  • An optimal output vector means that the simultaneous probability of appearance probabilities in each word around a given word is maximized. That is, the appearance probability in each word around a given word is close to 1.0 at the same time.
  • the distributed representation learning unit 14 may be repeated a predetermined number of times. The predetermined number of times is 500 as an example, but the optimum number of times may be obtained by experiments.
  • the distributed expression learning unit 14 acquires the word vector w appearing in the hidden layer as a distributed expression of the given word “apple”.
  • the distributed expression learning unit 14 may acquire the distributed expression of the given word by changing the given word of the first word group 22.
  • the knowledge-based distributed expression learning unit 15 converts the distributed expression of the words included in the first word group 22 to the knowledge-based word. Correction is performed using a technique for learning distributed expressions.
  • RC-NET is a technique for learning a distributed representation of a knowledge-based word.
  • the knowledge-based distributed representation learning unit 15 uses the words that have been learned by the distributed representation learning unit 14 for the belonging words. Is set to be used in R-NET.
  • the knowledge-based distributed representation learning unit 15 distributes the words learned by the distributed representation learning unit 14 for the belonging words. Set the representation to be used in C-NET.
  • the knowledge-based distributed representation learning unit 15 corrects the distributed representation of words included in the first word group 22 using RC-NET.
  • the knowledge-based distributed representation learning unit 15 sets a distributed representation of a learned word for the word included in the first word group 22 to the word vector w of the hidden layer, and learns W Z ⁇ M
  • a weight and a weight of W′M ⁇ Z may be set as an initial state and learned using RC-NET.
  • the knowledge-based distributed expression learning unit 15 learns the distributed expression of words included in the second word group 23 and the distributed expression of knowledge-based words.
  • RC-NET is a technique for learning a distributed representation of a knowledge-based word.
  • the knowledge-based distributed representation learning unit 15 uses the words that have been learned by the distributed representation learning unit 14 for the belonging words. Is set to be used in R-NET.
  • the knowledge-based distributed representation learning unit 15 distributes the words learned by the distributed representation learning unit 14 for the belonging words.
  • the knowledge-based distributed representation learning unit 15 learns the distributed representation of the words included in the second word group 23 using RC-NET.
  • the knowledge-based distributed representation learning unit 15 learns the words included in the second word group 23 as follows because there is no distributed representation of the words learned by the distributed representation learning unit 14. That is, the knowledge-based distributed representation learning unit 15 uses an one-hot vector having an element corresponding to the word as 1 and other elements as 0 as an input vector x, a random W Z ⁇ M weight, and a random W It is only necessary to set a weight of ' M ⁇ Z as an initial state and learn using RC-NET.
  • the learning end determination unit 16 determines the end of learning.
  • the learning for determining the end here refers to learning by the distributed representation learning unit 14 and learning by the knowledge-based distributed representation learning unit 15.
  • the learning end determination unit 16 ends the learning when the difference between before and after the update of the word vector w updated every time learning is smaller than the threshold value.
  • the learning end condition is expressed by the equation (1).
  • w kold is before the word vector w k is updated.
  • w knew is after the word vector w k is updated.
  • k is an index indicating the kth element of the word vector of the hidden layer.
  • is a threshold value. The threshold may be a value that can be determined that the difference between before and after the update is sufficiently small.
  • the learning end determination unit 16 repeats learning when the difference between before and after the update of the word vector w is greater than or equal to the threshold value.
  • the learning end determination unit 16 has been described as the case where the difference between before and after the update of the word vector w is smaller than the threshold as the learning end condition, the learning end condition is not limited thereto.
  • the learning end determination unit 16 may repeat a predetermined number of iterations (iterations).
  • FIG. 3 is a diagram illustrating an example of the knowledge-based distributed representation learning process according to the embodiment.
  • a technique for learning a distributed representation of a knowledge-based word is described as RC-NET. It is assumed that the relational knowledge information of the knowledge information 24 is associated in advance with words used in relational knowledge and distributed expressions. Assume that the category knowledge information of the knowledge information 24 is associated in advance with words used in category knowledge and distributed expressions.
  • the knowledge-based distributed representation learning unit 15 constructs a neural network in which R-NET and C-NET are expanded based on Skip-gram. Since Skip-gram has been described in the distributed representation learning unit 14, the description thereof is omitted.
  • the knowledge-based distributed representation learning unit 15 associates the learned distributed representation of the word with the belonging word. Then set.
  • the knowledge-based distributed representation learning unit 15 associates the learned distributed representation of the word with the belonging word. Set.
  • the knowledge-based distributed representation learning unit 15 receives an input vector x corresponding to a given word as a Skip-gram. Then, the knowledge-based distributed expression learning unit 15 acquires from the knowledge information 24 the relation embedding r corresponding to the given word and the distributed expression w k, r of the related word.
  • the given word is “George VI”
  • the distributed representation of “King_of” as the embedded relationship and the distributed representation of “United Kingdom” as the distributed representation of the related word is obtained from the related knowledge information in the knowledge information 24.
  • the learned distributed expression is used as the distributed expression of the related word.
  • the knowledge-based distributed representation learning unit 15 obtains w ′ k, r using the distributed representation w k of the given word and the embedded relationship r, and the obtained w ′ k, r is the related word. Learning to be close in distance to the distributed representation w k, r of . That is, the knowledge-based distributed representation learning unit 15 learns that the given word is close in distance to the related word.
  • the knowledge-based distributed representation learning unit 15 receives an input vector x corresponding to a given word as a Skip-gram. Then, the knowledge-based distributed representation learning unit 15 acquires a distributed representation of words belonging to the same category as the given word from the knowledge information 24. As an example, when the given word is “George VI”, the distributed representations of the words “Prince Philip” and “Charles” belonging to the same category “Male” as the word are obtained from the category knowledge information in the knowledge information 24. To be acquired.
  • a learned distributed expression is used as a distributed expression of words belonging to the same category.
  • the knowledge-based distributed representation learning unit 15 then distributes a given word distributed representation w k, and distributed representations w 1 , w 2 ,..., W V of words belonging to the same category as the given word, respectively. Learn to be close in distance.
  • the knowledge-using distributed representation learning unit 15, and the w k, w 1, w 2 , ⁇ , each distance d between w V (w k, w 1 ), d (w k w 2), .., D (w k , w V ) is not converged if any of the distances is greater than a predetermined distance, the weights W ′ and W that are parameters are updated. For example, back propagation may be used to update the parameters.
  • the knowledge-based distributed representation learning unit 15 sets the following as an initial state in the RC-NET Skip-gram. It ’s fine. That is, the knowledge-based distributed representation learning unit 15 sets, as an input vector x, a one-hot vector in which an element corresponding to a given word is 1 and other elements are 0. The knowledge-based distributed representation learning unit 15 sets the learned distributed representation w k learned by the distributed representation learning unit 14 in the hidden layer. The knowledge-based distributed representation learning unit 15 may set learned WZ ⁇ M and W′M ⁇ Z as weights.
  • the knowledge-based distributed representation learning unit 15 may set the following as an initial state in the RC-NET Skip-gram. . That is, the knowledge-based distributed representation learning unit 15 sets, as an input vector x, a one-hot vector in which an element corresponding to a given word is 1 and other elements are 0.
  • the knowledge-based distributed representation learning unit 15 may set random W Z ⁇ M and W ′ M ⁇ Z as weights.
  • FIG. 4 is a diagram illustrating an example of a flowchart of the analysis processing according to the embodiment.
  • the analysis unit 10 determines whether or not an analysis processing request has been received (step S10). If it is determined that the analysis process request has not been received (step S10; No), the analysis unit 10 repeats the determination process until the analysis process request is received.
  • the word diversity measuring unit 11 measures the diversity of words included in the learning corpus 21 (step S20).
  • the word diversity measuring unit 11 represents an appearance vector indicating the relationship between the word and the N words in front of the word and the N words behind the word. Is generated.
  • the word diversity measuring unit 11 measures the diversity of the word based on the number of types of appearance vectors generated.
  • N is the panel size, which is a parameter used in the output layer of the Skip-gram model. Note that the word diversity measuring unit 11 explained the word diversity as the number of types of appearance vectors of the word, but is not limited thereto, and the word diversity is an average of the similarities of the appearance vectors of the word. Or a variance value.
  • the word classification unit 12 classifies each word into one of the first word group 22 and the second word group based on the measured diversity (step S30). For example, when the measured diversity is higher than a specified value, the word classification unit 12 classifies the words having this diversity into the first word group 22. When the measured diversity is lower than the specified value, the word classification unit 12 classifies the words having this diversity into the second word group 23.
  • the distributed expression learning unit 14 learns the distributed expression for each word included in the first word group 22 (step S40). For example, the distributed expression learning unit 14 learns a distributed expression of each word included in the first word group 22 by using a Word2Vec Skip-gram model.
  • the learning end determination unit 16 determines whether or not a learning end condition is satisfied (step S50). For example, the learning end determination unit 16 determines whether the difference between before and after the update of the word vector w is smaller than a threshold value.
  • the word vector w before update here is a word vector after learning once. After updating the word vector w is a word vector after learning once and back-propagating and then learning next time.
  • the learning end determination unit 16 proceeds to step S40 for further learning.
  • step S50 when it is determined that the learning end condition is satisfied (step S50; Yes), the learning end determination unit 16 proceeds to step S60 in order to shift to learning using knowledge.
  • step S60 the knowledge-based distributed representation learning unit 15 sets the distributed representation of the first word group in R-NET and C-NET in RC-NET (step S60). For example, when the words in the first word group 22 belong to the R-NET in the RC-NET, the knowledge-based distributed representation learning unit 15 uses the R-NET to represent the distributed representation of the learned words for the belonging word. Set to use in NET. When the words in the first word group 22 belong to the C-NET in the RC-NET, the knowledge-based distributed representation learning unit 15 uses the C-NET to express the distributed representation of the learned words for the belonging word in the C-NET. Set to use.
  • the knowledge-based distributed representation learning unit 15 learns the distributed representation using knowledge for each word included in the first word group 22 (step S70). For example, the knowledge-based distributed representation learning unit 15 further corrects the learned distributed representation of each word included in the first word group 22 using RC-NET.
  • step S80 determines whether or not a learning end condition is satisfied.
  • step S80 determines whether or not a learning end condition is satisfied.
  • step S80 when it is determined that the learning end condition is satisfied (step S80; Yes), the learning end determination unit 16 proceeds to step S90 to shift to learning of the second word group 23.
  • the knowledge-based distributed representation learning unit 15 sets the distributed representation of the first word group 22 in R-NET and C-NET in RC-NET (step S90). For example, when the words in the first word group 22 belong to the R-NET in the RC-NET, the knowledge-based distributed representation learning unit 15 uses the R-NET to represent the distributed representation of the learned words for the belonging word. Set to use in NET. When the words in the first word group 22 belong to the C-NET in the RC-NET, the knowledge-based distributed representation learning unit 15 uses the C-NET to express the distributed representation of the learned words for the belonging word in the C-NET. Set to use.
  • the knowledge-based distributed representation learning unit 15 learns the distributed representation using knowledge for each word included in the second word group 23 (step S100). For example, the knowledge-based distributed expression learning unit 15 learns a distributed expression of each word included in the second word group 23 using RC-NET.
  • step S110 determines whether or not a learning end condition is satisfied.
  • step S110 determines whether or not a learning end condition is satisfied.
  • step S110 when it is determined that the learning end condition is satisfied (step S110; Yes), the learning end determination unit 16 ends the analysis process. Thereby, the analysis part 10 learns the word of the 2nd word group 23 which cannot fully learn by utilizing the knowledge of the relationship between the word of the 1st word group 22 fully learned and the word, etc. with high precision. It becomes possible to do.
  • the analysis processing according to the embodiment can interpret the meaning of the word by acquiring the distributed expression of the word, and can perform the document search and the search of the similarity relation of the sentence by using the distributed expression of the word. It will be possible to do with accuracy.
  • the analysis processing according to the embodiment is applied to a Q / A (Question / Answer) site, so that an appropriate answer (Answer) can be obtained from a vast number of past questions (Question), and a distributed expression of the word. It becomes possible to search with high accuracy.
  • the information processing apparatus 1 measures the diversity of each word included in the learning corpus 21 used for learning, and defines the first word group 22 and the definition in which each word has a diversity higher than a specified value. It classifies into the 2nd word group 23 lower than a value.
  • the information processing apparatus 1 learns a distributed expression of words included in the first word group 22 by using a first learning algorithm that learns the distributed expression.
  • the information processing apparatus 1 sets the distributed expression of the included word as the second learning algorithm.
  • the information processing apparatus 1 correct
  • the information processing apparatus 1 uses the distributed representation of words whose diversity is higher than the specified value in the second learning algorithm, so that even if the word has a diversity lower than the specified value, Learning can be performed with high accuracy.
  • the information processing apparatus 1 uses the second learning algorithm, for example, RC-NET to use the sufficiently learned distributed representation of the word, and performs highly accurate learning of the distributed representation of the word that cannot be sufficiently learned. Can do.
  • the information processing apparatus 1 corrects the distributed representation of the words learned using the first learning algorithm using the second learning algorithm. According to this configuration, the information processing apparatus 1 further learns the distributed representation of the already learned word by using the second learning algorithm that utilizes the distributed representation of the word whose diversity is higher than the specified value. It is possible to learn a distributed expression of already learned words with high accuracy.
  • the information processing apparatus 1 calculates, for words included in the learning corpus 21, an appearance vector representing a co-occurrence relationship between the word and surrounding words in a sentence in which the word appears. .
  • the information processing apparatus 1 measures the diversity of the word based on the calculated number of appearance vectors.
  • the information processing apparatus 1 classifies the words into the first word group 22 and the second word group 23 based on the measured diversity. According to this configuration, the information processing apparatus 1 can classify the words included in the learning corpus 21 according to the diversity based on the number of appearance vectors.
  • the information processing apparatus 1 calculates, for words included in the learning corpus 21, an appearance vector representing a co-occurrence relationship between the word and surrounding words in a sentence in which the word appears. .
  • the information processing apparatus 1 calculates the similarity of the appearance vectors using the calculated appearance vectors.
  • the information processing apparatus 1 measures the diversity of the word based on the calculated similarity of the appearance vector.
  • the information processing apparatus 1 classifies the words into the first word group 22 and the second word group 23 based on the measured diversity. According to this configuration, the information processing apparatus 1 can classify the words included in the learning corpus 21 according to the diversity based on the sentence similarity.
  • the information processing apparatus 1 determines, based on the number of meanings, when there are a plurality of meanings indicated by the words included in the learning corpus 21 in a predetermined dictionary. , Correct the measured diversity. According to such a configuration, the information processing apparatus 1 can accurately classify according to the diversity by correcting the diversity based on the number of meanings.
  • the information processing apparatus 1 uses RC-NET or Skip-gram to perform distributed expression learning using knowledge, and considers the word diversity that takes into account the diversity of words included in the document used in learning.
  • RC-NET and Skip-gram are examples and are not limited thereto.
  • the information processing apparatus 1 can be applied to a Continuous-Bag-of-Words model instead of Skip-gram or a derivative of a neural language model starting from Non-Patent Document 3.
  • the information processing apparatus 1 performs processing so as to reduce the distance between word vectors using the knowledge of R-NET and the knowledge of C-NET in RC-NET. It is also possible to process the inner product of ⁇ 1 to be ⁇ 1.
  • each component of the illustrated apparatus does not necessarily need to be physically configured as illustrated.
  • the specific mode of device distribution / integration is not limited to that shown in the figure, and all or part of the device is functionally or physically distributed / integrated in arbitrary units depending on various loads and usage conditions. Can be configured.
  • the knowledge-based distributed expression learning unit 15 may be distributed to a correction learning unit that corrects the distributed expression of the first word group 22 and a learning unit that learns the distributed expression of the second word group 23.
  • the learning end determination unit 16 may be merged with the distributed representation learning unit 14, or the learning end determination unit 16 may be merged with the knowledge-based distributed representation learning unit 15.
  • the storage unit 20 may be connected as an external device of the information processing apparatus 1 via a network.
  • FIG. 5 is a diagram illustrating an example of a hardware configuration of the information processing apparatus.
  • the computer 500 includes a CPU 501 that executes various arithmetic processes, an input device 502 that receives data input from a user, and a monitor 503. Further, the computer 500 includes a medium reading device 504 that reads a program and the like from a storage medium, an interface device 505 for connecting to another device, and a wireless communication device 506 for connecting to another device wirelessly.
  • the computer 500 also includes a RAM (Random Access Memory) 507 for temporarily storing various information and a hard disk device 508. Each device 501 to 508 is connected to a bus 509.
  • RAM Random Access Memory
  • the hard disk device 508 stores an analysis program having the same function as the analysis unit 10 shown in FIG.
  • the hard disk device 508 stores various data for realizing the analysis program.
  • the various data includes data in the storage unit 20 shown in FIG.
  • the CPU 501 reads out each program stored in the hard disk device 508, develops it in the RAM 507, and executes it to perform various processes. These programs can cause the computer 500 to function as the functional units shown in FIG.
  • the computer 500 may read and execute a program stored in a storage medium readable by the computer 500.
  • the storage medium readable by the computer 500 corresponds to, for example, a portable recording medium such as a CD-ROM, a DVD disk, a USB (Universal Serial Bus) memory, a semiconductor memory such as a flash memory, a hard disk drive, and the like.
  • these programs may be stored in a device connected to a public line, the Internet, a LAN (Local Area Network), etc., and the computer 500 may read and execute these programs.

Abstract

情報処理装置1が、学習で用いられる文書に含まれる各単語の多様度を測定し、各単語を多様度が所定の規定値より高い第1単語群22および規定値より低い第2単語群23に分類し、第1単語群22に含まれる単語の分散表現を、分散表現を学習する第1の学習アルゴリズムを用いて学習し、分散表現を学習する第2の学習アルゴリズムにより用いられる単語が第1単語群22に含まれる場合には、該含まれる単語の分散表現を第2の学習アルゴリズムに設定し、第2の学習アルゴリズムを用いて、第2単語群23に含まれる単語の分散表現を学習することで、単語の分散表現の学習を高精度に行うことができる。

Description

分析プログラム、情報処理装置および分析方法
 本発明は、分析プログラムなどに関する。
 文章処理において、高精度な単語の表現を如何に獲得するかが、重要であり、従来から多くの研究がなされている。近年では、単語の表現を獲得する技術として、Word2Vecがよく知られている(例えば、非特許文献1参照)。
 Word2Vecは、ニューラルランゲ―ジモデルの一つで「似た単語は同じような文に登場する」という考え方(Distribution hypothesis)に基づいて単語の分散表現を獲得する仕組みである。ニューラルランゲージモデルとは、Bengioらによって考案されたニュラルネットモデルを使って単語の分散表現を学習する方法である。ここでいう単語の分散表現とは、単語間の意味的な関係をベクトルで表現したものである。Word2Vecは、入力層、隠れ層および出力層からなるニューラルネットワークの教師付き学習方法を活用し、文中に現れる単語であって与えられた単語と周辺の単語との関係および与えられた単語の分散表現を学習する。Word2Vecには、Continuous-Bag-of-WordsモデルとSkip-gramモデルが提案されている。ここでいうSkip-gramモデルとは、与えられた単語に対応するベクトルを入力し、周辺の単語を予測するモデルである。
 図6は、Word2VecのSkip-gramモデルを示す図である。図6に示すように、Skip-gramモデルに対して、Input layer(入力層)、Hidden layer(隠れ層)およびOutput layer(出力層)からなるニューラルネットワークが構築される。
 入力層には、文中に現れる単語であって与えられた単語に対応するZ次元の入力ベクトルxが入力される。入力ベクトルxは、Z次元のone-hotベクトルである。Zは、文中の単語数である。one-hotベクトルとは、one-hot(ワン・ホット)は1つだけHigh(1)であり、他はLow(0)であるようなビット列のことを指す。
 隠れ層には、与えられた単語のM次元の単語ベクトルwが生成される。WZ×Mは、入力層と隠れ層との間の重みであり、Z×Mの行列により表わされる。出力層には、C個のパネルにそれぞれZ次元の出力ベクトルyが生成される。ここでいうパネルとは、ウィンドウ(window)と同義である。かかるCは、パネル数であり、yは、与えられた単語の前後にある単語に対応する出力ベクトルである。W´M×Zは、隠れ層と出力層との間の重みであり、M×Zの行列により表わされる。
 Skip-gramモデルは、入力層(Input layer)に入力する入力ベクトルとしてZ次元のone-hotベクトルxを入力する。そして、Skip-gramモデルは、入力したone-hotベクトルxをM次元の隠れ層(Hidden layer)に写像した後、C個のパネルに対応するそれぞれのZ次元の出力ベクトルを出力層(Output layer)に出力する。
 そして、Skip-gramモデルは、出力されたC個の出力ベクトルがそれぞれ予め定められた予測ベクトルと異なれば、その差分を学習すべく、隠れ層と出力層との間の重みW´M×Z、入力層と隠れ層との間の重みWZ×Mの順にパラメータである重みを更新する。このようなパラメータの更新は、例えば、バックプロパゲーションといわれる。
 そして、繰り返し学習して得られた隠れ層の単語ベクトルwが、与えられた単語(入力ベクトルx)の分散表現となる。
 単語の分散表現の精度向上のために、既存知識の活用が多くなされている。かかる既存知識には、例えば、類語、反対語、英語でいう原形、比較級および最上級の関係が挙げられる。例えば、既存知識を活用した分散表現の学習としてRC-NETの技術が知られている(例えば、非特許文献2参照)。RC-NETの技術について、図7~図9を参照して簡単に説明する。
 図7は、RC-NETで用いられる知識の一例を示す図である。図7に示すように、知識グラフは、2つの知識の型を含んでいる。1つの知識は、関係の知識(Relational Knowledge)であり、もう1つの知識は、カテゴリの知識(Categorical Knowledge)である。例えば、単語間の関係の知識として、「Elizabeth2世」は、「UK」との関係について、「UK」の女王(Queen_of 「UK」)という関係を持つ。単語のカテゴリの知識として、「UK」の類義語は、「Britain」「United Kingdom」を含む。
 図8は、RC-NETで用いられる知識の位置関係のイメージを示す図である。図8に示すように、関係の知識(Relational Knowledge)として、任意の関係にある2つの単語は、距離的に近い関係にある。カテゴリの知識(Categorical Knowledge)として、任意のカテゴリに含まれる単語同士は、距離的に近い関係にある。単語表現の質を向上させるために、関係の知識およびカテゴリの知識が活用される。
 図9は、RC-NETのアーキテクチャを示す図である。RC-NETの目的は、テキストストリーム、関係の知識およびカテゴリの知識に基づいて単語の表現や関係表現を学習することである。図9に示すように、RC-NETは、Skip-gramモデルをベースにして、関係の知識およびカテゴリの知識を活用して単語表現の質を向上させる。ここでいう関係の知識がR-NETに対応する。ここでいうカテゴリの知識がC-NETに対応する。R-NETは、学習したい単語の分散表現wと関係の埋め込み(Relation embedding)rを用いてw’k,rを求め、学習したい単語が関係の知識から取得される関係先の単語wk,rと距離的に近いように学習する。C-NETは、同じカテゴリに属するwと、w,w,・・・,wとそれぞれ距離的に近いように学習する。学習には、バックプロパゲーションが用いられる。
特表2005-535007号公報 特開平7-334477号公報 特開2005-208782号公報
Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. "Efficient Estimation of Word Representations in Vector Space." In Proceedings of Workshop at ICLR, 2013. Xu Chang et al." Rc-net:A general framework for incorporating knowledge into word representations." Proceeding of the 23rd ACM International Conference on Conference on Information and knowledge Management. ACM, 2014. Bengio, Yoshua, et al. "A neural probabilistic language model." Journal of machine learning research 3.Feb (2003): 1137-1155.
 しかしながら、RC-NETの技術では、単語の分散表現の学習を高精度に行うことができないという問題がある。すなわち、RC-NETでは、関係の知識およびカテゴリの知識に含まれる単語が基準となるため、これら単語の場所が適切な箇所でなければ、学習自体が適切に行われない。ところが、関係の知識に含まれる単語やカテゴリの知識に含まれる単語の分散表現が十分に学習されたかどうかを考慮することなく、学習が行われる場合がある。かかる場合には、単語の分散表現の学習を高精度に行うことができない。
 本発明は、1つの側面では、単語の分散表現の学習を高精度に行うことを目的とする。
 1つの態様では、分析プログラムは、コンピュータに、学習で用いられる文書に含まれる各単語の多様度を測定し、前記各単語を前記多様度が所定の規定値より高い第1の単語群および前記規定値より低い第2の単語群に分類し、前記第1の単語群に含まれる単語の分散表現を、前記分散表現を学習する第1の学習アルゴリズムを用いて学習し、前記分散表現を学習する第2の学習アルゴリズムにより用いられる単語が前記第1の単語群に含まれる場合には、該含まれる単語の分散表現を前記第2の学習アルゴリズムに設定し、前記第2の学習アルゴリズムを用いて、前記第2の単語群に含まれる単語の分散表現を学習する、処理を実行させる。
 1実施態様によれば、単語の分散表現の学習を高精度に行うことができる。
図1は、実施例に係る情報処理装置の構成を示す機能ブロック図である。 図2Aは、実施例に係る分散表現学習処理の一例を示す図(1)である。 図2Bは、実施例に係る分散表現学習処理の一例を示す図(2)である。 図2Cは、実施例に係る分散表現学習処理の一例を示す図(3)である。 図3は、実施例に係る知識利用型分散表現学習処理の一例を示す図である。 図4は、実施例に係る分析処理のフローチャートの一例を示す図である。 図5は、情報処理装置のハードウェア構成の一例を示す図である。 図6は、Word2VecのSkip-gramモデルを示す図である。 図7は、RC-NETで用いられる知識の一例を示す図である。 図8は、RC-NETで用いられる知識の位置関係のイメージを示す図である。 図9は、RC-NETのアーキテクチャを示す図である。
 以下に、本願の開示する分析プログラム、情報処理装置および分析方法の実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。
[実施例に係る情報処理装置の構成]
 図1は、実施例に係る情報処理装置の構成を示す機能ブロック図である。図1に示す情報処理装置1は、知識を活用した分散表現学習において、学習で用いられる文書に含まれる単語の多様性を考慮して単語の分散表現を学習する。ここでいう単語の分散表現とは、単語間の意味的な関係をベクトルで表現したものをいう。ここでいう単語の多様性とは、単語が異なる表現の文で現れることをいう。異なる表現の文とは、ある単語が現れる文において、其々で共起する単語が異なっていることをいう。例えば、ある単語に注目したとき、その単語の多様性が高い場合、様々な異なる表現の文に現れることをいう。この多様性の度合いを多様度という。
 情報処理装置1は、分析部10と、記憶部20とを有する。分析部10は、CPU(Central Processing Unit)などの電子回路に対応する。そして、分析部10は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。分析部10は、単語多様度測定部11、単語分類部12、学習振分部13、分散表現学習部14、知識利用型分散表現学習部15および学習終了判定部16を有する。
 記憶部20は、例えば、RAM、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部20は、学習用コーパス21、第1単語群22、第2単語群23および知識情報24を有する。
 学習用コーパス21は、学習に用いられるコーパスである。なお、コーパスとは、文章の集まりのことをいう。
 第1単語群22は、多様度が規定値より高い単語の集まりであり、偏りがない複数の文に存在する単語の集まりである。言い換えれば、第1単語群22とは、学習が十分にできる単語の集まりである。
 第2単語群23は、多様度が規定値より低い単語の集まりであり、偏りがある単数または複数の文に存在する単語の集まりである。言い換えれば、第2単語群23とは、学習が十分にできない単語の集まりである。なお、規定値は、多様度の高低を判別する際に用いる境界値であれば良く、多様度が規定値と一致する場合には多様度が高いとしても良いし、低いとしても良い。
 知識情報24は、学習で活用される知識の情報である。例えば、知識情報24は、既存知識を活用して単語の分散表現を学習するRC-NETで用いられる知識の情報であり、関係の知識の情報を示す関係知識情報およびカテゴリの知識の情報を示すカテゴリ知識情報を含む。関係知識情報は、RC-NETにおけるR-NETで用いられる知識の情報である。カテゴリ知識情報は、RC-NETにおけるC-NETで用いられる知識の情報である。関係知識情報には、関係の知識で用いられる単語と分散表現とが予め対応づけられていても良い。知識情報24のカテゴリ知識情報には、カテゴリの知識で用いられる単語と分散表現とが予め対応づけられていても良い。なお、RC-NETの学習は、「Xu Chang et al.“Rc-net:A general framework for incorporating knowledge into word representations.”」に開示されている技術を使って行われる。
 単語多様度測定部11は、学習用コーパス21に含まれる単語の多様度を測定する。
 第1の例として、単語多様度測定部11は、学習用コーパス21に含まれる単語について、当該単語が出現する文における当該単語と周辺の単語との共起を表す関係(共起関係)を表わす出現ベクトルを生成する。ここでいう共起関係とは、ある文においてある単語とある単語とが同時に出現する関係を意味する。単語と出現ベクトルは、文ごとに当該単語の周辺の単語とその位置とから生成される。当該単語の周辺の単語の数は、Skip-gramモデルの出力層で用いられるパラメータであるパネルのサイズと一致する。そして、単語多様度測定部11は、当該単語について生成された出現ベクトルの種類数に基づいて、当該単語の多様度を測定する。つまり、当該単語を含む単語から生成される出現ベクトルの種類数が多ければ、当該単語が偏っていない複数の文に存在すると推測され、学習が十分にできると推測される。当該単語を含む単語から生成される出現ベクトルの種類数が少なければ、当該単語が偏っている単数または複数の文に存在すると推測され、学習が十分にできないと推測される。
 具体的には、単語“apple”の多様度を測定することとする。例えば、学習用コーパス21に文1、文2、文3が含まれている。文1は“She cut an apple with a knife”であり、文2は“I eat an apple”であり、文3は“You eat an apple”である。かかる場合には、単語の辞書は、(she,cut,an,apple,with,knife,I,eat,you)であるとする。このような状況の下、パネルの数が2であるとすると、文1では、単語“apple”と当該単語の周辺の単語との関係を表す出現ベクトルとして(0,1,1,0,1,0,0,0,0)が生成される。文2および文3では、単語“apple”と当該単語の周辺の単語との関係を表す出現ベクトルとして(0,0,1,0,0,0,0,1,0)が生成される。したがって、出現ベクトルの種類数として2が得られる。ここでは、出現ベクトルの種類数2が単語“apple”の多様度として測定される。
 第2の例として、単語多様度測定部11は、学習用コーパス21に含まれる単語について、当該単語が出現する文における当該単語と周辺の単語との関係を表わす出現ベクトルを生成する。出現ベクトルは、文ごとに当該単語の周辺の単語とその位置とから生成される。当該単語の周辺の単語の数は、Skip-gramモデルの出力層で用いられるパラメータであるパネルの数と一致する。そして、単語多様度測定部11は、当該単語について生成された出現ベクトルが複数存在する場合には、生成された出現ベクトル間で出現ベクトルの類似度の平均や分散を算出する。出現ベクトルの類似度は、例えば、出現ベクトル間の内積で算出される。そして、単語多様度測定部11は、当該単語について算出された出現ベクトルの類似度の平均や分散に基づいて、当該単語の多様度を測定する。つまり、当該単語を含む単語から生成される出現ベクトル同士の類似度が低ければ、当該単語の分散は大きくなり、当該単語が偏っていない複数の文に存在すると推測され、学習が十分にできると推測される。当該単語を含む単語から生成される出現ベクトル同士の類似度が高ければ、当該単語の分散は小さくなり、当該単語が偏っている単数または複数の文に存在すると推測され、学習が十分にできないと推測される。
 具体的には、単語“apple”の多様度を測定することとする。第2の例も、第1の例と同様に、例えば、学習用コーパス21に文1、文2、文3が含まれている。文1は“She cut an apple with a knife”であり、文2は“I eat an apple”であり、文3は“You eat an apple”である。かかる場合には、単語の辞書は、(she,cut,an,apple,with,knife,I,eat,you)であるとする。このような状況の下、パネルの数が2であるとすると、文1では、単語“apple”と当該単語の周辺の単語との関係を表す出現ベクトルとして(0,1,1,0,1,0,0,0,0)が生成される。文2および文3では、単語“apple”と当該単語の周辺の単語との関係を表す出現ベクトルとして(0,0,1,0,0,0,0,1,0)が生成される。そして、文1と文2との間の出現ベクトルの類似度は、内積により1/√6と算出される。文1と文3との間の出現ベクトルの類似度も、内積により1/√6と算出される。文2と文3との間の出現ベクトルの類似度は、内積により1と算出される。そして、出現ベクトルの類似度の平均は、(1/√6+1/√6+1)/3の式により約0.605と算出される。出現ベクトルの類似度の分散は、約0.0776と算出される。ここでは、単語の多様度を平均とする場合には、出現ベクトルの類似度の平均0.605が単語“apple”の多様度として測定される。単語の多様度を分散とする場合には、出現ベクトルの類似度の分散0.0776が単語“apple”の多様度として測定される。
 第3の例として、単語多様度測定部11は、学習用コーパス21に含まれる単語について、当該単語が示す意味が複数存在する場合には、意味の数に基づいて、測定した多様度を補正する。これは、ある単語について同じ表記であっても別の意味を表す多義語が多い場合には、ある単語の多様度が上がりすぎるため、上がりすぎた多様度を補正するためである。
 具体的には、単語“apple”の多様度を測定することとする。このような前提の下、単語“apple”には、果物の「リンゴ」という意味と、米国企業「apple(登録商標)」という意味とがある。したがって、単語に意味が2つ存在すれば、意味が1つである場合よりも多様度が2倍に上がりやすいと推定されるため、上がりすぎた多様度が補正される。例えば、第1の例では、多様度が2であったが、2倍に推定された多様度を単純に1/2にすべく、1の値に補正される。
 このようにして、単語多様度測定部11は、単語の多様度を測定することができる。
 単語分類部12は、多様度が測定された単語を、第1単語群22および第2単語群23のいずれかに分類する。例えば、単語分類部12は、単語多様度測定部11によって測定された多様度が規定値より高い場合には、多様度が測定された単語を第1単語群22に分類する。すなわち、単語分類部12は、当該単語を、学習が十分にできる単語の集まりである第1単語群22に分類する。そして、単語分類部12は、単語多様度測定部11によって測定された多様度が規定値より低い場合には、多様度が測定された単語を第2単語群23に分類する。すなわち、単語分類部12は、当該単語を、学習が十分にできない単語の集まりである第2単語群23に分類する。
 学習振分部13は、第1単語群22を、知識を活用しない分散表現学習に振り分ける。例えば、学習振分部13は、第1単語群22を、分散表現学習部14に出力する。また、学習振分部13は、第2単語群23を、知識を活用する分散表現学習に振り分ける。例えば、学習振分部13は、第2単語群23を、知識利用型分散表現学習部15に出力する。
 分散表現学習部14は、第1単語群22に含まれる単語の分散表現を、単語の分散表現を学習する技術を用いて学習する。例えば、分散表現学習部14は、学習用コーパス21を受け取ると、第1単語群22に含まれる単語の分散表現を、Word2VecのSkip-gramモデルを用いて学習する。なお、Word2VecのSkip-gramモデルでの学習は、既存の技術を使って行われる。かかる学習は、「Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word Representations in Vector Space. In Proceedings of Workshop at ICLR, 2013.」に開示されている技術を使って行えば良い。また、「Xin Rong. word2vec Parameter Learning Explained」に開示されている技術を使って行えば良い。
 ここで、分散表現学習部14によって行われる分散表現学習処理を、図2A~図2Cを参照して説明する。図2A~図2Cは、実施例に係る分散表現学習処理の一例を示す図である。図2A~図2Cでは、単語の分散表現を獲得する技術をWord2VecのSkip-gramモデルとして説明する。なお、学習用コーパス21は、「I drink apple juice.・・・」であるとする。
 分散表現学習部14は、Skip-gramモデルに対して、Input layer(入力層)、Hidden layer(隠れ層)およびOutput layer(出力層)からなるニューラルネットワークを構築する。
 まず、入力層、隠れ層および出力層について説明する。Input layer(入力層)には、与えられた単語に対応するZ次元の入力ベクトルxが入力される。入力ベクトルxは、one-hotベクトルである。Zは、学習用コーパス21に含まれる単語の数である。なお、one-hotベクトルとは、与えられた単語に対応する要素を1、他の要素を0とするベクトルのことをいう。
 また、Hidden layer(隠れ層)には、最終的には、与えられた単語「apple」の分散表現であるM次元の単語ベクトルwが生成される。WZ×Mは、入力層と隠れ層との間の重みであり、Z×Mの行列により表わされる。WZ×Mの各要素の初期状態として、例えば、ランダムな値が与えられる。
 また、Output layer(出力層)には、図示しないC個のパネルにそれぞれZ次元の出力ベクトルyが生成される。かかるCは、予め定められるパネル数であり、yは、与えられた単語の前後にある単語に対応する出力ベクトルである。W´M×Zは、隠れ層と出力層との間の重みであり、M×Zの行列により表わされる。W´M×Zの各要素の初期状態として、例えば、ランダムな値が与えられる。
 図2Aに示すように、このような入力層、隠れ層および出力層からなるニューラルネットワークを活用したSkip-gramモデルにより、分散表現学習部14は、与えられた単語の分散表現を学習する。例えば、入力ベクトルxが、第1単語群22の単語であって学習用コーパス21内の与えられた単語「apple」に対応する要素を1、他の要素を0とするone-hotベクトルであるとする。すると、分散表現学習部14は、与えられた単語「apple」に対応する入力ベクトルxを受け付けると、入力ベクトルxにWZ×Mの重みをかけて隠れ層の単語ベクトルwを生成する。そして、分散表現学習部14は、単語ベクトルwにW´M×Zの重みをかけて出力層の出力ベクトルyを生成する。すなわち、分散表現学習部14は、初期状態のWZ×M、W´M×Zを使って予測する。この結果、単語「drink」である確率が0.1230、単語「juice」である確率が0.1277と予測される。
 次に、図2Bに示すように、分散表現学習部14は、実際に算出された出力ベクトルyが予め定められた予測ベクトルと異なれば、その差分に基づいてW´M×ZおよびWZ×Mの順にパラメータである重みを更新する。このようなパラメータの更新は、例えば、バックプロパゲーションという。そして、分散表現学習部14は、入力ベクトルxに、更新されたWZ×Mの重みをかけて隠れ層の単語ベクトルwを生成する。そして、分散表現学習部14は、単語ベクトルwに、更新されたW´M×Zの重みをかけて出力層の出力ベクトルyを生成する。すなわち、分散表現学習部14は、更新状態のWZ×M、W´M×Zを使って予測する。この結果、単語「drink」である確率が0.1236、単語「juice」である確率が0.1289と予測され、前回の予測値より微増している。
 次に、図2Cに示すように、分散表現学習部14は、バックプロパゲーションのアルゴリズムを用いて、出力ベクトルが最適になるまで繰り返す(イテレーションする)。出力ベクトルが最適であるとは、与えられた単語の周辺の各単語における出現確率の同時確率が最大になることである。すなわち、与えられた単語の周辺の各単語における出現確率が、同時に1.0に近似することである。例えば、分散表現学習部14は、予め定められた回数だけ繰り返すようにすれば良い。予め定められた回数は、一例として、500回であるが、最適となる回数を実験によって求めれば良い。この結果、分散表現学習部14は、隠れ層に現れる単語ベクトルwを、与えられた単語「apple」の分散表現として獲得する。
 同様に、分散表現学習部14は、第1単語群22の与えられる単語を替えることで、与えられる単語の分散表現を獲得すれば良い。
 図1に戻って、知識利用型分散表現学習部15は、学習対象が第1単語群22である場合には、第1単語群22に含まれる単語の分散表現を、知識利用型の単語の分散表現を学習する技術を用いて補正する。知識利用型の単語の分散表現を学習する技術は、例えば、RC-NETである。例えば、知識利用型分散表現学習部15は、RC-NETにおけるR-NETに第1単語群22の単語が属している場合には、属している単語について分散表現学習部14によって学習済みの単語の分散表現をR-NETで用いるように設定する。知識利用型分散表現学習部15は、RC-NETにおけるC-NETに第1単語群22の単語が属している場合には、属している単語について分散表現学習部14によって学習済みの単語の分散表現をC-NETで用いるように設定する。そして、知識利用型分散表現学習部15は、学習用コーパス21を受け取ると、第1単語群22に含まれる単語の分散表現を、RC-NETを用いて補正する。一例として、知識利用型分散表現学習部15は、第1単語群22に含まれる単語について、学習済みの単語の分散表現を隠れ層の単語ベクトルwに設定し、学習済みのWZ×Mの重みおよびW´M×Zの重みを初期状態として設定し、RC-NETを用いて学習すれば良い。
 また、知識利用型分散表現学習部15は、学習対象が第2単語群23である場合には、第2単語群23に含まれる単語の分散表現を、知識利用型の単語の分散表現を学習する技術を用いて学習する。知識利用型の単語の分散表現を学習する技術は、例えば、RC-NETである。例えば、知識利用型分散表現学習部15は、RC-NETにおけるR-NETに第1単語群22の単語が属している場合には、属している単語について分散表現学習部14によって学習済みの単語の分散表現をR-NETで用いるように設定する。知識利用型分散表現学習部15は、RC-NETにおけるC-NETに第1単語群22の単語が属している場合には、属している単語について分散表現学習部14によって学習済みの単語の分散表現をC-NETで用いるように設定する。そして、知識利用型分散表現学習部15は、学習用コーパス21を受け取ると、第2単語群23に含まれる単語の分散表現を、RC-NETを用いて学習する。一例として、知識利用型分散表現学習部15は、第2単語群23に含まれる単語について、分散表現学習部14によって学習済みの単語の分散表現がないため、以下のように学習する。すなわち、知識利用型分散表現学習部15は、当該単語に対応する要素を1、他の要素を0とするone-hotベクトルを入力ベクトルxとし、ランダムなWZ×Mの重みおよびランダムなW´M×Zの重みを初期状態として設定し、RC-NETを用いて学習すれば良い。
 学習終了判定部16は、学習の終了を判定する。ここでいう終了を判定する学習とは、分散表現学習部14による学習および知識利用型分散表現学習部15による学習のことをいう。
 例えば、学習終了判定部16は、学習するたびに更新される単語ベクトルwの更新前後の差が閾値より小さくなった場合には、学習を終了する。単語ベクトルwの更新前とは、1回学習した後の単語ベクトルである。単語ベクトルwの更新後とは、1回学習してバックプロパゲーションした後に次回学習した後の単語ベクトルである。すなわち、学習の終了条件は、式(1)で示される。なお、wkoldは、単語ベクトルwの更新前である。wknewは、単語ベクトルwの更新後である。kは、隠れ層の単語ベクトルのk番目の要素を指すインデックスである。εは、閾値である。閾値は、更新前後の差が十分小さいと判断できる値であれば良い。
kold-wknew<ε・・・式(1)
 そして、学習終了判定部16は、単語ベクトルwの更新前後の差が閾値以上である場合には、学習を繰り返す。
 なお、学習終了判定部16は、学習の終了条件として単語ベクトルwの更新前後の差が閾値より小さくなった場合であると説明したが、これに限定されない。学習終了判定部16は、所定の繰り返し(イテレーション)回数分繰り返した場合であっても良い。
 ここで、知識利用型分散表現学習部15によって行われる知識利用型分散表現学習処理を、図3を参照して説明する。図3は、実施例に係る知識利用型分散表現学習処理の一例を示す図である。図3では、知識利用型の単語の分散表現を学習する技術を、RC-NETとして説明する。なお、知識情報24の関係知識情報には、関係の知識で用いられる単語と分散表現とが予め対応づけられているとする。知識情報24のカテゴリ知識情報には、カテゴリの知識で用いられる単語と分散表現とが予め対応づけられているとする。
 知識利用型分散表現学習部15は、Skip-gramをベースにR-NETおよびC-NETを拡張したニューラルネットワークを構築する。なお、Skip-gramは、分散表現学習部14で説明したので、その説明を省略する。
 まず、知識利用型分散表現学習部15は、知識情報24の関係知識情報に第1単語群22の単語が属している場合には、属している単語に当該単語の学習済みの分散表現を対応づけて設定する。知識利用型分散表現学習部15は、知識情報24のカテゴリ知識情報に第1単語群22の単語が属している場合には、属している単語に当該単語の学習済みの分散表現を対応づけて設定する。
 また、知識利用型分散表現学習部15は、Skip-gramに、与えられた単語に対応する入力ベクトルxが入力されるとする。すると、知識利用型分散表現学習部15は、与えられた単語に対応する関係の埋め込み(Relation embedding)rと関係先の単語の分散表現wk,rとを知識情報24から取得する。一例として、与えられた単語が「George6世」である場合に、関係の埋め込みとして「King_of」、関係先の単語の分散表現として「United Kingdom」の分散表現が知識情報24内の関係知識情報から取得される。ここで、関係先の単語が第1単語群22に属している場合には、関係先の単語の分散表現として学習済みの分散表現が用いられることになる。
 そして、知識利用型分散表現学習部15は、与えられた単語の分散表現wと関係の埋め込みrを用いてw´k,rを求め、求められたw´k,rが関係先の単語の分散表現wk,rと距離的に近いように学習する。すなわち、知識利用型分散表現学習部15は、与えられた単語が関係先の単語と距離的に近いように学習する。そして、知識利用型分散表現学習部15は、w´k,rと、関係先の単語の分散表現wk,rとの距離d(wk,r,w´k,r)が予め定められた距離以上であれば、収束していないので、パラメータである重みW´およびWを更新する。パラメータの更新は、例えば、バックプロパゲーションを用いれば良い。
 加えて、知識利用型分散表現学習部15は、Skip-gramに、与えられた単語に対応する入力ベクトルxが入力されるとする。すると、知識利用型分散表現学習部15は、与えられた単語と同じカテゴリに属する単語の分散表現を知識情報24から取得する。一例として、与えられた単語が「George6世」である場合に、当該単語と同じカテゴリ「Male」に属する単語「Prince Philip」「Charles」のそれぞれの分散表現が知識情報24内のカテゴリ知識情報から取得される。ここで、同じカテゴリに属する単語が第1単語群22に属している場合には、同じカテゴリに属する単語の分散表現として学習済みの分散表現が用いられることになる。
 そして、知識利用型分散表現学習部15は、与えられた単語の分散表現wと、与えられた単語と同じカテゴリに属する単語の分散表現w,w,・・・,wとそれぞれ距離的に近いように学習する。そして、知識利用型分散表現学習部15は、wと、w,w,・・・,wとのそれぞれの距離d(w,w),d(w),・・・,d(w,w)のいずれかが予め定められた距離以上であれば、収束していないので、パラメータである重みW´およびWを更新する。パラメータの更新は、例えば、バックプロパゲーションを用いれば良い。
 なお、学習対象の単語(与えられた単語)が第1単語群22である場合には、知識利用型分散表現学習部15は、RC-NETのSkip-gramに初期状態として、以下を設定すれば良い。すなわち、知識利用型分散表現学習部15は、与えられた単語に対応する要素を1、他の要素を0とするone-hotベクトルを入力ベクトルxとして設定する。知識利用型分散表現学習部15は、隠れ層に分散表現学習部14により学習された学習済みの分散表現wを設定する。知識利用型分散表現学習部15は、重みに学習済みのWZ×MおよびW´M×Zを設定すれば良い。
 学習対象の単語(与えられた単語)が第2単語群23である場合には、知識利用型分散表現学習部15は、RC-NETのSkip-gramに初期状態として、以下を設定すれば良い。すなわち、知識利用型分散表現学習部15は、与えられた単語に対応する要素を1、他の要素を0とするone-hotベクトルを入力ベクトルxとして設定する。知識利用型分散表現学習部15は、重みにランダムなWZ×MおよびW´M×Zを設定すれば良い。
[分析処理のフローチャート]
 図4は、実施例に係る分析処理のフローチャートの一例を示す図である。
 図4に示すように、分析部10は、分析処理要求を受け付けたか否かを判定する(ステップS10)。分析処理要求を受け付けていないと判定した場合には(ステップS10;No)、分析部10は、分析処理要求を受け付けるまで、判定処理を繰り返す。
 一方、分析処理要求を受け付けたと判定した場合には(ステップS10;Yes)、単語多様度測定部11は、学習用コーパス21に含まれる単語の多様度を測定する(ステップS20)。例えば、単語多様度測定部11は、学習用コーパス21に含まれる単語について、当該単語と、当該単語の前方のN個の単語および当該単語の後方のN個の単語との関係を示す出現ベクトルを生成する。そして、単語多様度測定部11は、生成した出現ベクトルの種類数に基づいて、当該単語の多様度を測定する。ここでいうNは、Skip-gramモデルの出力層で用いられるパラメータであるパネルのサイズである。なお、単語多様度測定部11は、単語の多様度を当該単語の出現ベクトルの種類数と説明したが、これに限定されず、当該単語の多様度を当該単語の出現ベクトルの類似度の平均や分散の値としても良い。
 単語分類部12は、測定された多様度に基づいて、各単語を第1単語群22および第2の単語群のいずれかに分類する(ステップS30)。例えば、単語分類部12は、測定された多様度が規定値より高い場合には、この多様度の単語を第1単語群22に分類する。単語分類部12は、測定された多様度が規定値より低い場合には、この多様度の単語を第2単語群23に分類する。
 そして、分散表現学習部14は、第1単語群22に含まれる各単語について、それぞれ分散表現を学習する(ステップS40)。例えば、分散表現学習部14は、第1単語群22に含まれる各単語の分散表現を、Word2VecのSkip-gramモデルを用いて学習する。
 そして、学習終了判定部16は、学習終了条件を満たすか否かを判定する(ステップS50)。例えば、学習終了判定部16は、単語ベクトルwの更新前後の差が閾値より小さくなったか否かを判定する。ここでいう単語ベクトルwの更新前とは、1回学習した後の単語ベクトルである。単語ベクトルwの更新後とは、1回学習してバックプロパゲーションした後に次回学習した後の単語ベクトルである。学習終了条件を満たさないと判定した場合には(ステップS50;No)、学習終了判定部16は、さらに学習すべく、ステップS40に移行する。
 一方、学習終了条件を満たすと判定した場合には(ステップS50;Yes)、学習終了判定部16は、知識を活用した学習に遷移すべく、ステップS60に移行する。
 ステップS60において、知識利用型分散表現学習部15は、RC-NETにおけるR-NETおよびC-NETに第1単語群の分散表現を設定する(ステップS60)。例えば、知識利用型分散表現学習部15は、RC-NETにおけるR-NETに第1単語群22の単語が属している場合には、属している単語について学習済みの単語の分散表現をR-NETで用いるように設定する。知識利用型分散表現学習部15は、RC-NETにおけるC-NETに第1単語群22の単語が属している場合には、属している単語について学習済みの単語の分散表現をC-NETで用いるように設定する。
 そして、知識利用型分散表現学習部15は、第1単語群22に含まれる各単語について、それぞれ知識を利用して分散表現を学習する(ステップS70)。例えば、知識利用型分散表現学習部15は、第1単語群22に含まれる各単語の学習済みの分散表現を、さらにRC-NETを用いて補正する。
 そして、学習終了判定部16は、学習終了条件を満たすか否かを判定する(ステップS80)。学習終了条件を満たさないと判定した場合には(ステップS80;No)、学習終了判定部16は、さらに学習すべく、ステップS70に移行する。
 一方、学習終了条件を満たすと判定した場合には(ステップS80;Yes)、学習終了判定部16は、第2単語群23の学習に遷移すべく、ステップS90に移行する。
 ステップS90において、知識利用型分散表現学習部15は、RC-NETにおけるR-NETおよびC-NETに第1単語群22の分散表現を設定する(ステップS90)。例えば、知識利用型分散表現学習部15は、RC-NETにおけるR-NETに第1単語群22の単語が属している場合には、属している単語について学習済みの単語の分散表現をR-NETで用いるように設定する。知識利用型分散表現学習部15は、RC-NETにおけるC-NETに第1単語群22の単語が属している場合には、属している単語について学習済みの単語の分散表現をC-NETで用いるように設定する。
 そして、知識利用型分散表現学習部15は、第2単語群23に含まれる各単語について、それぞれ知識を利用して分散表現を学習する(ステップS100)。例えば、知識利用型分散表現学習部15は、第2単語群23に含まれる各単語の分散表現を、RC-NETを用いて学習する。
 そして、学習終了判定部16は、学習終了条件を満たすか否かを判定する(ステップS110)。学習終了条件を満たさないと判定した場合には(ステップS110;No)、学習終了判定部16は、さらに学習すべく、ステップS100に移行する。
 一方、学習終了条件を満たすと判定した場合には(ステップS110;Yes)、学習終了判定部16は、分析処理を終了する。これにより、分析部10は、十分に学習した第1単語群22の単語と単語間の関係などの知識とを活用することで、十分に学習できない第2単語群23の単語を高精度に学習することが可能となる。
 なお、実施例に係る分析処理は、単語の分散表現を獲得することで、単語の意味を解釈できるようになり、文書検索や文の類似関係の検索を、単語の分散表現を用いることで高精度に行うことができるようになる。また、実施例に係る分析処理は、Q/A(Question/Answer)サイトに適用されることで、過去の膨大な問合せ(Question)の中から適切な回答(Answer)を、単語の分散表現を用いて高精度に検索することができるようになる。
[実施例の効果]
 上記実施例によれば、情報処理装置1は、学習で用いられる学習用コーパス21に含まれる各単語の多様度を測定し、各単語を多様度が規定値より高い第1単語群22および規定値より低い第2単語群23に分類する。情報処理装置1は、第1単語群22に含まれる単語の分散表現を、分散表現を学習する第1の学習アルゴリズムを用いて学習する。情報処理装置1は、分散表現を学習する第2の学習アルゴリズムにより用いられる単語が第1単語群22に含まれる場合には、該含まれる単語の分散表現を第2の学習アルゴリズムに設定する。そして、情報処理装置1は、第2の学習アルゴリズムを用いて、第1単語群22に含まれる単語の分散表現を補正する。かかる構成によれば、情報処理装置1は、多様度が規定値より高い単語の分散表現を第2の学習アルゴリズムで活用することで、多様度が規定値より低い単語であっても分散表現の学習を高精度に行うことができる。すなわち、情報処理装置1は、十分に学習した単語の分散表現を第2の学習アルゴリズムである例えばRC-NETで活用することで、十分に学習できない単語の分散表現の学習を高精度に行うことができる。
 また、上記実施例によれば、情報処理装置1は、第1の学習アルゴリズムを用いて学習された単語の分散表現を、第2の学習アルゴリズムを用いて補正する。かかる構成によれば、情報処理装置1は、既に学習された単語の分散表現を、多様度が規定値より高い単語の分散表現を活用した第2の学習アルゴリズムを用いてさらに学習することで、既に学習された単語の分散表現の学習を高精度に行うことができる。
 また、上記実施例によれば、情報処理装置1は、学習用コーパス21に含まれる単語について、当該単語が出現する文における当該単語と周辺の単語との共起関係を表わす出現ベクトルを算出する。情報処理装置1は、算出した出現ベクトルの数に基づいて、当該単語の多様度を測定する。そして、情報処理装置1は、測定した多様度に基づいて、当該単語を第1単語群22および第2単語群23に分類する。かかる構成によれば、情報処理装置1は、学習用コーパス21に含まれる単語を、出現ベクトルの数に基づいた多様度に応じて分類することができる。
 また、上記実施例によれば、情報処理装置1は、学習用コーパス21に含まれる単語について、当該単語が出現する文における当該単語と周辺の単語との共起関係を表わす出現ベクトルを算出する。情報処理装置1は、算出した出現ベクトルが複数存在する場合には、算出した出現ベクトルを用いて出現ベクトルの類似度を算出する。情報処理装置1は、算出した出現ベクトルの類似度に基づいて、当該単語の多様度を測定する。そして、情報処理装置1は、測定した多様度に基づいて、当該単語を第1単語群22および第2単語群23に分類する。かかる構成によれば、情報処理装置1は、学習用コーパス21に含まれる単語を、文の類似度に基づいた多様度に応じて分類することができる。
 また、上記実施例によれば、情報処理装置1は、学習用コーパス21に含まれる単語について、当該単語が示す意味が予め定められた辞書に複数存在する場合には、意味の数に基づいて、該測定した多様度を補正する。かかる構成によれば、情報処理装置1は、意味の数に基づいて多様度を補正することで、多様度に応じた分類を精度良く行うことができる。
[その他]
 なお、上記実施例では、情報処理装置1は、RC-NETやSkip-gramを用いて、知識を活用した分散表現学習について、学習で用いられる文書に含まれる単語の多様性を考慮した単語の分散表現を学習することについて説明した。しかしながら、RC-NETやSkip-gramは、一例であって、これに限定されない。例えば、情報処理装置1は、Skip-gramに代えてContinuous-Bag-of-Wordsモデルや、非特許文献3を発端とするニューラルランゲージモデルの派生形に適用することも可能である。また、例えば、情報処理装置1は、RC-NETにおけるR-NETの知識とC-NETの知識を使って単語ベクトル間の距離を小さくなるように処理するが、これに限定されず、単語ベクトルの内積を-1になるように処理することも可能である。
 また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、知識利用型分散表現学習部15は、第1単語群22の分散表現を補正する補正学習部と、第2単語群23の分散表現を学習する学習部とに分散しても良い。また、学習終了判定部16を分散表現学習部14と併合しても良いし、学習終了判定部16を知識利用型分散表現学習部15と併合しても良い。また、記憶部20を情報処理装置1の外部装置としてネットワーク経由で接続するようにしても良い。
 図5は、情報処理装置のハードウェア構成の一例を示す図である。図5に示すように、コンピュータ500は、各種演算処理を実行するCPU501と、ユーザからのデータ入力を受け付ける入力装置502と、モニタ503とを有する。また、コンピュータ500は、記憶媒体からプログラムなどを読み取る媒体読取装置504と、他の装置と接続するためのインターフェース装置505と、他の装置と無線により接続するための無線通信装置506とを有する。また、コンピュータ500は、各種情報を一時記憶するRAM(Random Access Memory)507と、ハードディスク装置508とを有する。また、各装置501~508は、バス509に接続される。
 ハードディスク装置508には、図1に示した分析部10と同様の機能を有する分析プログラムが記憶される。また、ハードディスク装置508には、分析プログラムを実現するための各種データが記憶される。各種データには、図1に示した記憶部20内のデータが含まれる。
 CPU501は、ハードディスク装置508に記憶された各プログラムを読み出して、RAM507に展開して実行することで、各種の処理を行う。これらのプログラムは、コンピュータ500を図1に示した各機能部として機能させることができる。
 なお、上記の分析プログラムは、必ずしもハードディスク装置508に記憶されている必要はない。例えば、コンピュータ500が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ500が読み出して実行するようにしてもよい。コンピュータ500が読み取り可能な記憶媒体は、例えば、CD-ROMやDVDディスク、USB(Universal Serial Bus)メモリなどの可搬型記録媒体、フラッシュメモリなどの半導体メモリ、ハードディスクドライブなどが対応する。また、公衆回線、インターネット、LAN(Local Area Network)などに接続された装置にこれらのプログラムを記憶させておき、コンピュータ500がこれらのプログラムを読み出して実行するようにしても良い。
 1 情報処理装置
 10 分析部
 11 単語多様度測定部
 12 単語分類部
 13 学習振分部
 14 分散表現学習部
 15 知識利用型分散表現学習部
 16 学習終了判定部
 20 記憶部
 21 学習用コーパス
 22 第1単語群
 23 第2単語群
 24 知識情報

Claims (7)

  1.  コンピュータに、
     学習で用いられる文書に含まれる各単語の多様度を測定し、前記各単語を前記多様度が所定の規定値より高い第1の単語群および前記規定値より低い第2の単語群に分類し、
     前記第1の単語群に含まれる単語の分散表現を、前記分散表現を学習する第1の学習アルゴリズムを用いて学習し、
     前記分散表現を学習する第2の学習アルゴリズムにより用いられる単語が前記第1の単語群に含まれる場合には、該含まれる単語の分散表現を前記第2の学習アルゴリズムに設定し、前記第2の学習アルゴリズムを用いて、前記第2の単語群に含まれる単語の分散表現を学習する
     処理を実行させることを特徴とする分析プログラム。
  2.  前記第1の学習アルゴリズムを用いて学習された単語の分散表現を、前記第2の学習アルゴリズムを用いて補正する
     ことを特徴とする請求項1に記載の分析プログラム。
  3.  前記分類する処理は、
     前記文書に含まれる単語について、当該単語が出現する文における当該単語と周辺の単語との共起関係を表わす出現ベクトルを算出し、
     算出した出現ベクトルの数に基づいて、当該単語の多様度を測定し、
     測定した多様度に基づいて、当該単語を前記第1の単語群および前記第2の単語群に分類する
     ことを特徴とする請求項1に記載の分析プログラム。
  4.  前記分類する処理は、
     前記文書に含まれる単語について、当該単語が出現する文における当該単語と周辺の単語との共起関係を表わす出現ベクトルを算出し、
     算出した出現ベクトルが複数存在する場合には、算出した出現ベクトルを用いて出現ベクトルの類似度を算出し、
     算出した出現ベクトルの類似度に基づいて、当該単語の多様度を測定し、
     測定した多様度に基づいて、当該単語を前記第1の単語群および前記第2の単語群に分類する
     ことを特徴とする請求項1に記載の分析プログラム。
  5.  前記分類する処理は、
     前記文書に含まれる単語について、当該単語が示す意味が予め定められた辞書に複数存在する場合には、意味の数に基づいて、該測定した多様度を補正する
     ことを特徴とする請求項3または請求項4に記載の分析プログラム。
  6.  学習で用いられる文書に含まれる各単語の多様度を測定し、前記各単語を前記多様度が所定の規定値より高い第1の単語群および前記規定値より低い第2の単語群に分類する分類部と、
     前記第1の単語群に含まれる単語の分散表現を、前記分散表現を学習する第1の学習アルゴリズムを用いて学習する第1の学習部と、
     前記分散表現を学習する第2の学習アルゴリズムにより用いられる単語が前記第1の単語群に含まれる場合には、該含まれる単語の分散表現を前記第2の学習アルゴリズムに設定し、前記第2の学習アルゴリズムを用いて、前記第2の単語群に含まれる単語の分散表現を学習する第2の学習部と、
     を有することを特徴とする情報処理装置。
  7.  コンピュータが、
     学習で用いられる文書に含まれる各単語の多様度を測定し、前記各単語を前記多様度が所定の規定値より高い第1の単語群および前記規定値より低い第2の単語群に分類し、
     前記第1の単語群に含まれる単語の分散表現を、前記分散表現を学習する第1の学習アルゴリズムを用いて学習し、
     前記分散表現を学習する第2の学習アルゴリズムにより用いられる単語が前記第1の単語群に含まれる場合には、該含まれる単語の分散表現を前記第2の学習アルゴリズムに設定し、前記第2の学習アルゴリズムを用いて、前記第2の単語群に含まれる単語の分散表現を学習する
     各処理を実行することを特徴とする分析方法。
PCT/JP2016/083000 2016-11-07 2016-11-07 分析プログラム、情報処理装置および分析方法 WO2018083804A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2016/083000 WO2018083804A1 (ja) 2016-11-07 2016-11-07 分析プログラム、情報処理装置および分析方法
JP2018548537A JP6699753B2 (ja) 2016-11-07 2016-11-07 分析プログラム、情報処理装置および分析方法
US16/391,634 US11068524B2 (en) 2016-11-07 2019-04-23 Computer-readable recording medium recording analysis program, information processing apparatus, and analysis method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/083000 WO2018083804A1 (ja) 2016-11-07 2016-11-07 分析プログラム、情報処理装置および分析方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/391,634 Continuation US11068524B2 (en) 2016-11-07 2019-04-23 Computer-readable recording medium recording analysis program, information processing apparatus, and analysis method

Publications (1)

Publication Number Publication Date
WO2018083804A1 true WO2018083804A1 (ja) 2018-05-11

Family

ID=62075899

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/083000 WO2018083804A1 (ja) 2016-11-07 2016-11-07 分析プログラム、情報処理装置および分析方法

Country Status (3)

Country Link
US (1) US11068524B2 (ja)
JP (1) JP6699753B2 (ja)
WO (1) WO2018083804A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2018150453A1 (ja) * 2017-02-14 2019-06-27 三菱電機株式会社 データ分析装置およびデータ分析方法
WO2023073818A1 (ja) * 2021-10-27 2023-05-04 三菱電機株式会社 情報処理装置、更新方法、及び更新プログラム
JP7375096B2 (ja) 2021-09-02 2023-11-07 みずほリサーチ&テクノロジーズ株式会社 分散表現生成システム、分散表現生成方法及び分散表現生成プログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11410032B2 (en) * 2018-06-22 2022-08-09 DeGirum Corporation Word2VEC processing system
US20220245181A1 (en) * 2019-07-05 2022-08-04 Semiconductor Energy Laboratory Co., Ltd. Reading comprehension support system and reading comprehension support method
US20220188512A1 (en) * 2020-12-13 2022-06-16 International Business Machines Corporation Maintenance of a data glossary

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334477A (ja) 1994-06-10 1995-12-22 Matsushita Electric Ind Co Ltd 統合型学習システム
US6629097B1 (en) * 1999-04-28 2003-09-30 Douglas K. Keith Displaying implicit associations among items in loosely-structured data sets
US6611825B1 (en) * 1999-06-09 2003-08-26 The Boeing Company Method and system for text mining using multidimensional subspaces
JP2005535007A (ja) 2002-05-28 2005-11-17 ナシプニイ、ウラジミル・ウラジミロビッチ 文書検索システム用の知識抽出のための自己学習システムの合成方法
JP2005208782A (ja) 2004-01-21 2005-08-04 Fuji Xerox Co Ltd 自然言語処理システム及び自然言語処理方法、並びにコンピュータ・プログラム
US8863000B2 (en) * 2010-04-07 2014-10-14 Yahoo! Inc. Method and system for action suggestion using browser history
US20140229307A1 (en) * 2013-02-12 2014-08-14 Ebay Inc. Method of identifying outliers in item categories
JP6611053B2 (ja) * 2015-09-17 2019-11-27 パナソニックIpマネジメント株式会社 主題推定システム、主題推定方法およびプログラム
KR101886373B1 (ko) * 2016-07-14 2018-08-09 주식회사 언더핀 딥러닝 인공신경망 기반의 타스크 제공 플랫폼

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BOLLEGALA, DANUSHKA ET AL.: "Joint Word Representation Learning using a Corpus and a Semantic Lexicon", ARXIV PREPRINT ARXIV:1511, 19 November 2015 (2015-11-19), XP055481960, Retrieved from the Internet <URL:https://arxiv.org/pdf/1511.06438.pdf> [retrieved on 20161205] *
FARUQUI, MANAAL ET AL.: "Retrofitting Word Vectors to Semantic Lexicons", PROCEEDINGS OF THE 2015 CONFERENCE OF THE NORTH AMERICAN CHAPTER OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS: HUMAN LANGUAGE TECHNOLOGIES, January 2015 (2015-01-01), XP055412177, Retrieved from the Internet <URL:http://arxiv.org/abs/1411.4166> [retrieved on 20161205] *
LI, QI ET AL.: "Learning Word Sense Embeddings from Word Sense Definitions", ARXIV PREPRINT ARXIV:1606.04835, December 2016 (2016-12-01), XP047363970, Retrieved from the Internet <URL:http://arxiv.org/abs/1606.04835> [retrieved on 20161205] *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2018150453A1 (ja) * 2017-02-14 2019-06-27 三菱電機株式会社 データ分析装置およびデータ分析方法
JP7375096B2 (ja) 2021-09-02 2023-11-07 みずほリサーチ&テクノロジーズ株式会社 分散表現生成システム、分散表現生成方法及び分散表現生成プログラム
WO2023073818A1 (ja) * 2021-10-27 2023-05-04 三菱電機株式会社 情報処理装置、更新方法、及び更新プログラム
JP7378680B2 (ja) 2021-10-27 2023-11-13 三菱電機株式会社 情報処理装置、更新方法、及び更新プログラム

Also Published As

Publication number Publication date
US11068524B2 (en) 2021-07-20
US20190251103A1 (en) 2019-08-15
JP6699753B2 (ja) 2020-05-27
JPWO2018083804A1 (ja) 2019-07-11

Similar Documents

Publication Publication Date Title
WO2018083804A1 (ja) 分析プログラム、情報処理装置および分析方法
Mueller et al. Siamese recurrent architectures for learning sentence similarity
US20200134506A1 (en) Model training method, data identification method and data identification device
CN109034205B (zh) 基于直推式半监督深度学习的图像分类方法
US11580363B2 (en) Systems and methods for assessing item compatibility
CN109710744B (zh) 一种数据匹配方法、装置、设备及存储介质
JP5854274B2 (ja) 情報処理装置および方法、並びにプログラム
US8321418B2 (en) Information processor, method of processing information, and program
US9536444B2 (en) Evaluating expert opinions in a question and answer system
US11669740B2 (en) Graph-based labeling rule augmentation for weakly supervised training of machine-learning-based named entity recognition
CN110598869B (zh) 基于序列模型的分类方法、装置、电子设备
JP7110929B2 (ja) 知識補完プログラム、知識補完方法および知識補完装置
CN114298851A (zh) 基于图表征学习的网络用户社交行为分析方法、装置及存储介质
US20230237084A1 (en) Method and apparatus for question-answering using a database consist of query vectors
CN114925205B (zh) 基于对比学习的gcn-gru文本分类方法
US11829722B2 (en) Parameter learning apparatus, parameter learning method, and computer readable recording medium
CN114399025A (zh) 一种图神经网络解释方法、系统、终端以及存储介质
US11176327B2 (en) Information processing device, learning method, and storage medium
CN112100342A (zh) 一种基于知识表示学习技术的知识图谱问答方法
Lika et al. Text sentiment analysis using deep convolutional networks
US20230072334A1 (en) Learning method, computer program product, and learning apparatus
US20220164598A1 (en) Determining a denoised named entity recognition model and a denoised relation extraction model
US20240073159A1 (en) Language model with external knowledge base
CN111309875B (zh) 问题应答的方法、装置、设备和存储介质
Fisher et al. Marginal Bayesian Posterior Inference using Recurrent Neural Networks with Application to Sequential Models

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: 16920563

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018548537

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: 16920563

Country of ref document: EP

Kind code of ref document: A1