The present invention relates to a word sense estimation technique (word sense disambiguation technique) which estimates, for a word included in a document, in what word sense registered in a dictionary the word is used.
Many studies have been made in word sense estimation as the basic technique for various types of natural language processing systems represented by machine translation and information retrieval, and these studies are roughly classified into two approaches.
One approach provides a scheme to which supervised learning (or semi-supervised learning) is applied. The other approach provides a scheme to which unsupervised learning is applied.
In the scheme to which supervised learning is applied, labeled learning data to which a correct word sense is imparted (usually manually) is generated in advance for an object task or document data analogous to it. A rule which discriminates, by a certain criterion (likelihood maximization, margin maximization, or the like), a word sense from an appearing context of a word is learned by a model.
As examples of the scheme to which supervised learning is applied, Non-Patent Literature 1 describes a scheme that employs a support vector machine, and Non-Patent Literature 2 describes a scheme to which Naive Bayes method is applied. Non-Patent Literature 3 describes a semi-supervised learning technique which also employs non-labeled learning data not imparted with a correct word sense, thereby reducing the necessary amount of labeled learning data.
In the scheme to which unsupervised learning is applied, labeled learning data to which a correct answer is imparted manually is not used. A word sense is discriminated only from unlabeled learning data.
As an example of the scheme to which unsupervised learning is applied, according to the scheme described in Patent Literature 1, the word senses of co-occurrence words appearing in the neighbor of a word included in a document are checked on a concept hierarchy, to find a word sense candidate defined by a larger number of co-occurrence words using nearby hierarchies and nearby word sense definition sentences. The found word sense candidate is adopted as the word sense of the word. Namely, among the word sense candidates of the word in question, a candidate with a larger number of nearby word sense candidates for the co-occurrence word is determined to be more plausible, thereby estimating the word sense of the word.
To employ the supervised-learning-applied schemes described in Non-Patent Literatures 1 and 2 and the semi-supervised-learning-applied scheme described in Non-Patent Literature 3, labeled learning data imparted with the correct word sense need be generated for the document data. Accordingly, this scheme has a problem in that generation of the learning data is costly and the scheme cannot be employed in a situation where learning data cannot be obtained in advance.
The unsupervised-learning-applied scheme described in Patent Literature 1 attempts to disambiguate only a word in question. More specifically, the word sense candidates of the co-occurrence words are utilized as the support for the word in question without disambiguating the word senses of co-occurrence words, by treating equally significantly even a word sense candidate that is actually false. Accordingly, this scheme has a problem in that its word sense estimation has poor accuracy.
It is an object of the present invention to estimate a word sense highly accurately by unsupervised learning.
A word sense estimation device according to the present invention includes:
a word extraction part which extracts a plurality of words included in input data;
a context analysis part which extracts, for each word extracted by the word extraction part, a context feature of a context in which the word appears in the input data;
a word sense candidate extraction part which extracts each concept stored as a word sense of said each word, as a word sense candidate of said each word, from a concept dictionary storing at least one concept as a word sense of a word; and
a word sense estimation part which executes a plurality of number of times a probability calculation of calculating an evaluation value for said each word of a case where said each concept extracted as the word sense candidate by the word sense candidate extraction part is determined as a word sense, based on a proximity between the context feature of a selected word and the context feature of another word, a proximity between a selected concept and a concept of a word sense candidate of said another word, and a probability that the selected word takes a selected word sense, and of re-calculating the probability based on the evaluation value calculated, and which estimates a concept with a higher probability calculated of said each word, to be a word sense of the word.
The word sense estimation device according to the present invention estimates the word senses of a plurality of words simultaneously, so that even in a case where correct word senses are not given or the correct word senses are given only in a small amount, a high word sense estimation accuracy can be realized.
Preferred embodiments of the present invention will be described with reference to the accompanying drawings.
Note that in the following description, a processing device is a CPU 911 or the like to be described later. A storage device is a ROM 913, a RAM 914, a magnetic disk device 920, or the like (each will be described later). Namely, the processing device and the storage device are hardware.
In the following description, when wi is expressed as a superscript or subscript, wi represents wi.
In Embodiment 1, a word sense estimation scheme will be described through an example where the table schemas of a plurality of databases are treated as an input text data 10 and the word sense of a word constituting the table schemas is to be estimated.
Practical applications of estimating a word sense for a table schema include, for example, corporate data integration. Companies are in need of integrating the data of databases among a plurality of business applications in operation that are constructed separately in the past. To implement data integration, it is necessary to identify which item corresponds to which item among the plurality of databases. Conventionally, this item correspondence identification has been done manually. Employment of a word sense estimation scheme will assist the task of checking whether or not a correspondence is present between items having different names, thus leading to labor reduction.
The input text data 10 is constituted by a plurality of table schemas of a plurality of databases.
With a processing device, a word extraction part 20 splits a table name and a column name defined by the table schemas into words, and extracts the split words as word sense estimation objects.
With the processing device, a context analysis part 30 extracts from the table schemas the features of contexts in which the respective words extracted by the word extraction part 20 appear.
With the processing device, a word sense candidate extraction part 40 looks up a concept dictionary 50, and extracts a word sense candidate for each word extracted by the word extraction part 20.
The concept dictionary 50 stores, in a storage device, one or more concepts as the word sense of the word as well as the hierarchical relation among the concepts.
A word sense estimation part 60 estimates, for each word extracted by the word extraction part 20, what word sense extracted by the word sense candidate extraction part 40 is most plausible. In this operation, the word sense estimation part 60 estimates the word sense of each word based on a proximity in feature between contexts extracted by the context analysis part 30 for that word and for another word as well as a proximity in concept between the word sense candidate of that word and the word sense candidates of that another word. Then, the word sense estimation part 60 outputs the word sense estimated for each word, as estimated word sense data 70.
In
The word extraction part 20 extracts words from the inputted table schema. In this example, words are split in the simplest manner using an underscore “_” as a delimiter. As a result, in
Based on the result of word splitting done by the word extraction part 20, the context analysis part 30 extracts the features of an appearing context of each classification object word, and generates a feature vector.
The features of a word appearing context express how the word is used in the table schema. Note that as the features of the word appearing context, 5 features will be employed: (1) the type of the appearing portion as to whether the word appears in a table name or a column name; (2) a word appearing immediately before a classification object word; (3) a word appearing immediately after a classification object word; (4) a word appearing in a parent table name (only when the classification object word appears in a column name); and (5) a word appearing in a child column name (only when the classification object word appears in a table name).
In
The word sense candidate extraction part 40 looks up the concept dictionary 50, and extracts for each classification object word every concept that serves as a word sense candidate.
As the concept dictionary 50, for example, WordNet is employed. In WordNet, a concept called synset is treated as one unit, and a word corresponding to this concept, the superior (abstract)-inferior (concrete) relation between concepts, and the like are defined. The details of WordNet are described in, for example, Non-Patent Literature 4.
For instance, concept ID0003 is defined as being a concept with a name fune in Japanese and corresponding to words such as “ship” and “vessel”. Inversely, when seen from the word “ship”, 3 concepts: ID0003 fune, 0010 katagaki, and 0017 shukka are registered as its word senses. This is ambiguous. Likewise, 2 concepts: ID0013 shussan and 0019 haitatsu are registered as the word senses of a word “deliver”. This is ambiguous. Hence, in what word sense the word “ship” or “deliver” is used must be discriminated from the context.
Concepts that are at close distance along the hierarchical relation have senses similar to each other than concepts that are at far distance. For example, in
The word sense candidate extraction part 40 extracts the concept registered in the concept dictionary as the word sense of the word and converts the extracted concept into the feature vector of the word sense. Conversion into the feature vector allows treating the proximity of concepts by vector calculation as with the proximity of appearing contexts.
In
It is seen from
The word sense estimation part 60 estimates the word sense of the classification object word based on a feature vector φk described above of the appearing context and a feature vector φt described above of the word sense.
In order to disambiguate the word sense of each word by unsupervised learning, the following two suppositions will be introduced.
<Supposition 1> One lemma is used for the same word sense irrespective of in what context it appears.
<Supposition 2> A word sense closer to the word sense of a word appearing in a closer context is more plausible.
Supposition 1 supposes that when treating the schema of a limited task domain, word ambiguity does not occur, and a consistent word sense can be assigned to the word.
Supposition 2 expects that the supposed consistency in Supposition 1 which is closed for each word will hold with gradual continuity even in a case where the object scope is extended to cover a group of words appearing in similar contexts.
Based on the two suppositions described above, a joint probability p(x, s) of a word sense hypothesis (x, s) of assigning a word sense s to the classification object word x is obtained by Formula 11.
Note that Z is a value for normalization and is set such that the total of the joint probabilities p(x, s) for every classification object word x and every word sense s becomes 1; N is the number of classification object words x included in the input data; xi is the i-th classification object word; wi is a classification object word xi in disregard of an appearing context; Swi is a set of word sense candidates for the word wi; sj is a concept included in the set Swi; πwij is the probability (word sense assignment probability) that the word sense of the word wi is sj; and σc and σt are respectively the dispersion of the feature space of the appearing context and the dispersion of the feature space of the word sense, and are given with predetermined values as preset values. In Formula 11, exp(·) is a Gaussian kernel, and ∥·∥2 is a squared norm (of a differential vector).
From Supposition 1, the word sense assignment probability πwij does not depend on the appearing context. Note that the word wi expresses, for example, word “SHIP”. In this case, the word sense sj expresses fune, katagaki, and chukka. Since the word sense assignment probability πwij is a probability that the word wi is assigned to a word sense candidate, if Swi is the set of word sense candidates of the word wi, the sum of every element sjεSwi of the set Swi is 1 (Formula 12).
More specifically, in this case, the joint probability p(x, s) is obtained by kernel density estimation weighted by the word sense assignment probability πwij, based on every word sense hypothesis sj (εSwi) of every classification object word xi (i=1, . . . , N).
By adopting EM algorithm, the word sense assignment probability πwij can be estimated for every classification object word simultaneously.
For the purpose of rendering the calculation in the repetition in and after S30 efficient, in Formula 11, the word sense estimation part 60 calculates the value of the Gaussian kernel exp(·) irrelevant to update of the word sense assignment probability πwij, and stores the calculation result in the storage device.
The word sense estimation part 60 sets initial value 1/|Sw| to the word sense assignment probability πwj for every word w. Note that |Sw| expresses the number of elements of the set Sw.
The word sense estimation part 60 obtains a total L of the word sense likelihoods for every classification object word x by Formula 13.
Then, if the increment of the total L of the word sense likelihoods since the last repetition is less than a threshold θ given in advance, the word sense estimation part 60 determines that the convergence occurs, and ends the learning. If un-converged, the word sense estimation part 60 sets the process forward to S40, thereby repeating re-calculation and update of the word sense assignment probability πwj.
The word sense estimation part 60 obtains the joint probability p(x, s) by Formula 11 based on the current word sense assignment probability (old)πwj, for every word sense candidate s of every classification object word s. As the value of the Gaussian kernel exp(·) the value stored in the storage device in S10 is utilized.
The word sense estimation part 60 calculates new word sense assignment probability (new)πwj by Formula 14, and sets the process back to S30.
Note that Xw is a set of classification object words x included in the input text data 10.
It is apparent from
Upon completion of the estimation of the word sense assignment probability πwj, the word sense estimation part 60 selects the most plausible word sense sj* for each classification object word w by Formula 15, and outputs it as the estimated word sense data 70.
As described above, the word sense estimation device 100 finds close word sense assignment from among words whose features of the appearing contexts are close. Thus, the word sense can be estimated from data not given with the correct word sense.
Therefore, the problem in the scheme which uses supervised learning and in the scheme which uses semi-supervised learning, that labeled learning data to which a correct word sense is imparted usually manually need be generated for the text data of an object task, can be solved. As a result, it is possible to solve the problem of the costly learning data generation and the problem that these schemes cannot be employed where the learning data cannot be obtained in advance.
Using the EM algorithm, the word sense estimation device 100 repeatedly updates the word assignment probability of every word as the classification object, so that it solves the ambiguities of every word simultaneously and gradually. Namely, the word sense of a word is estimated based on the most plausible word senses of other words.
Hence, it is possible to solve the problem of poor word sense estimation accuracy in the scheme described in Patent Literature 1, which is caused because the word sense candidates of the co-occurrence words are utilized as the support for the word in question by treating equally significantly even a word sense candidate that is actually false.
In fine, with the word sense estimation device 100, it is possible to solve the problems of conventional word sense estimation technique, so that the word sense can be estimated highly accurately by unsupervised learning even if labeled learning data cannot be obtained.
The above explanation is based on a condition that the classification object word is a word (registered word) registered in the concept dictionary 50 and that a word sense candidate can be obtained by looking up the concept dictionary 50. However, the above scheme can be adopted even if the classification object word is a word not registered in the concept dictionary 50 (unregistered word).
For example, abbreviation “DELIV” for registered word “DELIVER” is an unregistered word. In this case, with respect to the notation character string of the classification object word, which is an unregistered word, and the character string of the registered word of the concept dictionary 50, the character-string to character-string similarity degree is obtained based on a known edit distance or the like. Every registered word having a similarity degree higher than a predetermined threshold may be extracted, and a concept stored as the word sense of the extracted registered word may be determined as the word sense candidate.
In this case, a joint probability p(x, s) may be calculated using a weight that matches the character-string to character-string similarity degree with respect to the extracted registered word. For example, assume that a word sense sj of a classification object word wi, being an unregistered word, is a concept registered as the word sense for a registered word ŵi similar to the classification object word wi. Also assume that the weight that matches the character-string to character-string similarity degree between the classification object word wi and the registered word ŵi is ωji. In this case, the word sense assignment probability πwij in Formula 1 may be multiplied by the weight ωij to yield such that the higher the character-string to character-string similarity degree with respect to the extracted registered word, the higher the word sense assignment probability πwij.
The above explanation is directed to the operation of estimating the word sense for every word included in the input text data 10. However, the present invention need not be limited to this, but can also be applied to a case where the correct word senses are fixed in advance for some words included in the input text data 10.
In that case, for a word to which the correct word sense is imparted, the word sense assignment probability πwj of the correct word sense sj may be fixed to 1. That way, it is possible to apply the above scheme to semi-supervised learning, to perform word sense estimation more accurately than in a case where the above scheme is applied to complete unsupervised learning.
In the above explanation, the word sense assignment probability πwj is obtained as a continuous value between 0 and 1. However, the present invention is not limited to this. For example, in place of Formula 4, a probability πwĵ=1 may hold only for ĵ with which πwj calculated by Formula 4 takes a maximum value, and πwj=0 may hold for the other j.
In the above explanation, the objects to be summed in Formula 1 are every word sense hypothesis of every classification object word. However, the present invention is not limited to this. For example, the object may be limited to predetermined K (K is an integer of 1 or more) of word sense hypotheses whose word sense feature vectors are close, and these predetermined K of word sense hypotheses may be summed.
In the above explanation, the feature vector of the appearing context is expressed simply based on whether a co-occurrence word exists. However, the present invention is not limited to this. For example, the dictionary may be searched for a co-occurrence word, and a concept to serve as the word sense candidate of the co-occurrence word may be extracted. The context may be re-described by substituting the extracted concept for the co-occurrence word described in an expression form or a lemma form. Then, the feature vector of the appearing context may be expressed. More specifically, if a word “ship” appears as a co-occurrence word, the context is re-described by substituting concepts: fune, katagaki, and shukka for “ship”, and the feature vector of the appearing context is expressed. Hence, assuming, for example, a context in which a word “ship” appears as a co-occurrence word and a context in which a word “vessel” appears as a co-occurrence word, the two appearing contexts have feature vectors that are close to each other.
In the above explanation, the proximity in the context and the proximity in the word sense are modeled using Gaussian kernel. However, the present invention is not limited to this. For example, the proximity in the word sense may be simply substituted by the number of links along which the hierarchies of the concept dictionary are traced.
As shown in
The magnetic disk device 920, ROM 913, or the like stores an operating system 921 (OS), a window system 922, programs 923, and files 924. The CPU 911, the operating system 921, and the window system 922 execute each program of the programs 923.
The programs 923 store software and programs that execute the functions described as the “word extraction part 20”, “context analysis part 30”, “word sense candidate extraction part 40”, “word sense estimation part 60”, and the like in the above description. The programs 923 store other programs as well. The programs are read and executed by the CPU 911.
The files 924 store information, data, signal values, variable values, and parameters such as the “input text data 10”, “concept dictionary 50”, “estimated word sense data 70”, and the like of the above explanation, as the items of a “file” and “database”. The “file” and “database” are stored in a recording medium such as a disk or memory. The information, data, signal values, variable values, and parameters stored in the recording medium such as the disk or memory are read out to the main memory or cache memory by the CPU 911 through a read/write circuit, and are used for the operations of the CPU 911 such as extraction, search, look-up, comparison, computation, calculation, process, output, print, and display. The information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, or buffer memory during the operations of the CPU 911 including extraction, search, look-up, comparison, computation, calculation, process, output, print, and display.
The arrows of the flowcharts in the above explanation mainly indicate input/output of data and signals. The data and signal values are recorded in the memory of the RAM 914, the recording medium such as an optical disk, or in an IC chip. The data and signals are transmitted online via a transmission medium such as the bus 912, signal lines, or cables; or electric waves.
The “part” in the above explanation may be a “circuit”, “device”, “equipment”, “means”, or “function”; or a “step”, “procedure”, or “process”. The “device” may be a “circuit”, “equipment”, “means”, or “function”; or a “step”, “procedure”, or “process”. The “process” may be a “step”. Namely, the “part” may be implemented as firmware stored in the ROM 913. Alternatively, the “part” may be practiced as only software; as only hardware such as an element, a device, a substrate, or a wiring line; as a combination of software and hardware; or furthermore as a combination of software, hardware, and firmware. The firmware and software are stored, as programs, in the recording medium such as the ROM 913. The program is read by the CPU 911 and executed by the CPU 911. Namely, the program causes the computer to function as the “part” described above. Alternatively, the program causes the computer or the like to execute the procedure and method of the “part” described above.
| Filing Document | Filing Date | Country | Kind | 371c Date |
|---|---|---|---|---|
| PCT/JP2012/055818 | 3/7/2012 | WO | 00 | 6/17/2014 |