INFORMATION PROCESSING DEVICE, AND GENERATION METHOD

An information processing device includes an acquisition unit that acquires a plurality of character strings, a morphological analysis execution unit that executes morphological analysis on the plurality of character strings, and a generation unit that generates a learned model for inferring meaning of a first word included in a plurality of words among a plurality of speech-parted words obtained by executing the morphological analysis on the plurality of character strings based on a plurality of words as a plurality of predicates among the plurality of speech-parted words and a plurality of words among the plurality of speech-parted words.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present disclosure relates to an information processing device, and a generation method.

2. Description of the Related Art

A full-text search technology for searching an enormous amount of text for a desired text, a text classification technology for classifying texts based on the contents of description, and a question answering technology for making a computer answer questions from a humans have been researched over many years. In these technologies, semantic processing, analyzing the meaning of the contents of text described in a natural language, is important. Here, a technology regarding the semantic processing has been proposed (see Patent Reference 1). Further, a technology regarding the semantic processing is described in Non-patent Reference 1. For example, the Non-patent Reference 1 describes an example of learning based on distributed representations.Patent Reference 1: Japanese Patent Application Publication No. S62-221776Non-patent Reference 1: Naoaki Okazaki, “Frontiers in Distributed Representations in Natural Language Processing”, Journal of the Japanese Society for Artificial Intelligence, Vol. 31, No. 2, pp. 189-201, March 2016

In the technology described in the Non-patent Reference 1, one word vector is assigned to one word. Therefore, only one meaning is inferred from a word to which a word vector has been assigned. However, the meaning of a word varies depending on the context. Thus, the technology described in the Non-patent Reference 1 is incapable of dealing with ambiguity of words. Further, the technology described in the Non-patent Reference 1 needs an enormous amount of processing time at the time of learning since vectors undergo dimensional compression.

SUMMARY OF THE INVENTION

An object of the present disclosure is to generate a learned model capable of dealing with the ambiguity in a short processing time.

An information processing device according to an aspect of the present disclosure is provided. The information processing device includes an acquisition unit that acquires a plurality of character strings, a morphological analysis execution unit that executes morphological analysis on the plurality of character strings, and a generation unit that generates a learned model for inferring meaning of a first word included in a plurality of words among a plurality of speech-parted words obtained by executing the morphological analysis on the plurality of character strings based on a plurality of words as a plurality of predicates among the plurality of speech-parted words and a plurality of words among the plurality of speech-parted words.

According to the present disclosure, a learned model capable of dealing with the ambiguity can be generated in a short processing time.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments will be described below with reference to the drawings. The following embodiments are just examples and a variety of modifications are possible within the scope of the present disclosure.

First Embodiment

FIG.1is a diagram showing the configuration of hardware included in an information processing device in a first embodiment. The information processing device100is a device that executes a generation method. The information processing device100may be referred to also as a learning device. For example, the information processing device100may be regarded as a cloud server. Further, the information processing device100can be a part of a system.

The information processing device100includes a processor101, a volatile storage device102and a nonvolatile storage device103.

The processor101controls the whole of the information processing device100. For example, the processor101is a Central Processing Unit (CPU), a Field Programmable Gate Array (FPGA) or the like. The processor101can also be a multiprocessor. The information processing device100may also be implemented by processing circuitry or implemented by software, firmware or a combination of software and firmware. Incidentally, the processing circuitry may be either a single circuit or a combined circuit.

The volatile storage device102is main storage of the information processing device100. The volatile storage device102is a Random Access Memory (RAM), for example. The nonvolatile storage device103is auxiliary storage of the information processing device100. The nonvolatile storage device103is a Hard Disk Drive (HDD) or a Solid State Drive (SSD), for example.

Next, functions included in the information processing device100will be described below.

FIG.2is a diagram showing functional blocks included in the information processing device in a learning phase in the first embodiment. The information processing device100includes a storage unit110, an acquisition unit120, a morphological analysis execution unit130, a predicate division unit140and a generation unit150.

The storage unit110may be implemented as a storage area reserved in the volatile storage device102or the nonvolatile storage device103.

Part or all of the acquisition unit120, the morphological analysis execution unit130, the predicate division unit140and the generation unit150may be implemented by the processing circuitry. Part or all of the acquisition unit120, the morphological analysis execution unit130, the predicate division unit140and the generation unit150may be implemented as modules of a program executed by the processor101. For example, the program executed by the processor101is referred to also as a generation program. The generation program has been recorded in a record medium, for example.

The acquisition unit120acquires learning data. Specifically, the acquisition unit120acquires a plurality of character strings. For example, the acquisition unit120acquires learning data including a plurality of character strings. The learning data is text data. Further, the learning data may be referred to also as a learning example text.

The morphological analysis execution unit130executes morphological analysis on the plurality of character strings. By this, a plurality of speech-parted words, as words to each of which a part of speech (word category) has been assigned, are obtained. Further a speech-parted word may be expressed “a word with a part of speech”.

Here, the acquisition unit120may successively acquire the character strings as the learning data. By this, a plurality of character strings are acquired. Then, the morphological analysis execution unit130may execute the morphological analysis on the successively acquired character strings. By this, a plurality of speech-parted words are obtained.

A function of the predicate division unit140will be described later. Incidentally, the function of the predicate division unit140may be included in the generation unit150. Namely, the information processing device100may include the storage unit110, the acquisition unit120, the morphological analysis execution unit130, and the generation unit150including the function of the predicate division unit140.

The generation unit150generates a learned model based on a plurality of words as a plurality of predicates among the plurality of speech-parted words obtained by executing the morphological analysis on the plurality of character strings and a plurality of words among the plurality of speech-parted words. In other words, the generation unit150generates a learned model based on a plurality of words corresponding to a plurality of predicates among the plurality of speech-parted words and a plurality of words among the plurality of speech-parted words. Here, the plurality of words among the plurality of speech-parted words are words whose part of speech (word category) is a verb, a noun, an adjective or the like. Namely, the plurality of words among the plurality of speech-parted words can be words of any part of speech. The word as a predicate is a word that is a verb, an adjective, an adjective verb or a sa-column irregular conjugation noun (verbing noun in the Japanese language).

The learned model can be referred to also as inference information. The inference information is information indicating correspondence relationship between each of the plurality of words as the plurality of predicates and each of a plurality of pieces of relationship information. The relationship information indicates relationship regarding each of the plurality of words. The relationship information may be considered to be represented by a two-dimensional table. Namely, the relationship information may be regarded as two-dimensional information. In the inference information, a word as a predicate and relationship information are associated with each other. Accordingly, the inference information may be regarded as three-dimensional information. Thus, the learned model may be regarded as three-dimensional information.

Incidentally, as will be described later as an example, the generation unit150generates the learned model based on “drive”, “work”, “hit”, etc. among the plurality of speech-parted words and “driver”, “car”, etc. among the plurality of speech-parted words.

Further, the generation unit150may generate the learned model based on a plurality of words as a plurality of predicates among the plurality of speech-parted words and a plurality of words as a plurality of nouns among the plurality of speech-parted words.

In the following description, it is assumed that the generation unit150generates the learned model based on a plurality of words as a plurality of predicates among the plurality of speech-parted words and a plurality of words as a plurality of nouns among the plurality of speech-parted words.

Incidentally, while a description will be given in a subsequent utilization phase, the information processing device is capable of inferring the meaning of a first word included in a plurality of words among the plurality of speech-parted words by using the learned model. For example, the information processing device is capable of inferring the meaning of “driver” by using the learned model. Incidentally, “driver” is the first word, for example.

Next, a process executed by the information processing device100will be described below by using flowcharts.

FIG.3is a flowchart (No. 1) showing an example of the process executed by the information processing device in the learning phase in the first embodiment.

(Step S11) The acquisition unit120acquires a plurality of character strings.

(Step S12) The morphological analysis execution unit130, the predicate division unit140and the generation unit150execute a learning process. In the learning process, the learned model is generated.

(Step S13) The generation unit150stores the learned model in the storage unit110. It is also possible for the generation unit150to store the learned model in an external device connectable to the information processing device100.

FIG.4is a flowchart showing an example of the learning process in the first embodiment. The process ofFIG.4corresponds to the step S12.

(Step S21) The morphological analysis execution unit130executes the morphological analysis on the plurality of character strings. Specifically, the morphological analysis execution unit130divides the plurality of character strings into a plurality of speech-parted words. The morphological analysis will be explained below by using a concrete example. For example, the morphological analysis execution unit130divides a character string “a driver driving a car” included in the plurality of character strings into “car (noun)”, “wo (particle)” (in the Japanese language), “drive (verb)” and “driver (noun)” (when the language is Japanese).

(Step S22) The predicate division unit140generates a file for each predicate based on the plurality of speech-parted words. For each predicate, the predicate division unit140registers a plurality of nouns in the character string including the predicate in the file. For example, the predicate division unit140registers “car (noun)” and “driver (noun)” in the character string “a driver driving a car” including “drive (verb)” as a predicate in the file of “drive (verb)”. While a verb is used as a predicate in the above example, a declinable word of a different type may also be used as a predicate.

Incidentally, the plurality of nouns in the character string including the predicate are referred to as a sub-learning example text. For example, the sub-learning example text is “car (noun)” and “driver (noun)”.

(Step S23) The generation unit150generates the learned model. The learned model is generated based on reinforcement learning, supervised learning, transfer leaning, semi-supervised learning or the like. As an example, unsupervised learning by using a sub-word context matrix having a rank increased in regard to predicates will be described below. Here, the unsupervised learning is a method of learning characteristics of learning data by giving learning data including no result (i.e., label) to the learning device.

Let w1, . . . , wMrepresent M types of sets of words appearing in the learning data, a sub-word context matrix obtained from the sub-learning example text is represented by a model in which a matrix M having elements mi,jeach representing a total number #(i, j) of times of appearance as co-occurrence of a word wi and a word wj, included in the learning data, in the sub-learning example text is provided with its respective predicate label. Each elements mi,jis represented by the following expression (1):

The model generated finally is represented by a tensor whose rank is 3. Specifically, the generated model is represented by the sub-word context matrix provided with respective predicate label Vk. Incidentally, K types of predicates in the learning data are represented as V1, . . . , VK. Parenthetically, in the utilization phase, the information processing device outputs an associated predicate label as a meaning associated with the co-occurrence of words by using a plurality of sub-word context matrices.

The generation unit150may generate the learned model by using a scale of pointwise mutual information. When the number of times of appearance of a word wiis mi, the number of times of appearance of a word wjis mjand the total number of words in the learning data is N, the pointwise mutual information PMIi,jis represented by the following expression (2):

Next, the process will be described specifically below. The generation unit150uses the file generated for each predicate. The generation unit150generates the sub-word context matrix provided with a predicate label by counting sub-learning example texts regarding the same predicate. The sub-word context matrix will be shown specifically below.

FIG.5is a diagram showing an example (No. 1) of the sub-word context matrix in the first embodiment. For example, based on “car (noun)” and “driver (noun)” registered in the file of “drive (verb)” as a predicate, the generation unit150adds 1 to mi,i(“driver (noun)”, “driver (noun)”), mj,j(“car (noun)”, “car (noun)”), mi,j(“driver (noun)”, “car (noun)”) and mj,i(“car (noun)”, “driver (noun)”). Incidentally, the initial state of the sub-word context matrix is 0.

As above, the generation unit150generates the sub-word context matrix provided with a predicate label. The generation unit150is capable of generating a plurality of sub-word context matrices provided with a plurality of predicate labels by repeating the counting of sub-learning example texts regarding the same predicate. Namely, the generation unit150generates a learned model that uses a plurality of sub-word context matrices provided with a plurality of predicate labels by executing learning based on a plurality of sub-learning example texts. Here, a concrete example of the plurality of sub-word context matrices provided with the plurality of predicate labels will be shown below.

FIG.6is a diagram showing an example (No. 2) of the sub-word context matrix in the first embodiment.FIG.6shows a sub-word context matrix regarding a predicate label “drive (verb)”.FIG.6shows a sub-word context matrix regarding a predicate label “work (verb)”.FIG.6shows a sub-word context matrix regarding a predicate label “hit (verb)”.

After the step S23is over, the process advances to the step S13.

As above, the information processing device100generates a learned model that uses a plurality of sub-word context matrices. Incidentally, the information processing device100may relearn the learned model.

The above description was given of the case where the acquisition unit120acquires a plurality of character strings. The plurality of character strings can be a character string of a question sentence and a character string of an answer sentence to the question sentence. Thus, a case where the acquisition unit120acquires a character string of a question sentence and a character string of an answer sentence will be described below.

FIG.7is a flowchart (No. 2) showing an example of the process executed by the information processing device in the learning phase in the first embodiment.

The process ofFIG.7differs from the process ofFIG.3in that steps S11a, S11band S11care executed. Therefore, the steps S11a, S11band S11cwill be described below with reference toFIG.7. In regard to the other steps inFIG.7, the description of the processing therein is left out by assigning them the same step numbers as inFIG.3.

(Step S11a) The acquisition unit120acquires a character string of a question sentence. It is also possible for the acquisition unit120to acquire a plurality of question sentences.

(Step S11b) The acquisition unit120acquires a character string of an answer sentence. It is also possible for the acquisition unit120to acquire a plurality of answer sentences.

(Step S11c) The morphological analysis execution unit130combines together the character string of the question sentence and the character string of the answer sentence.

Incidentally, in the step S12, the morphological analysis execution unit130executes the morphological analysis on the combined character string.

Further, the acquisition unit120may acquire the character string of the answer sentence before acquiring the character string of the question sentence. Furthermore, the morphological analysis execution unit130does not necessarily need to combine together the character string of the question sentence and the character string of the answer sentence. In the case where the combining is not executed, the morphological analysis execution unit130in the step S21executes the morphological analysis on the plurality of character strings (i.e., the character string of the question sentence and the character string of the answer sentence).

FIG.8is a diagram showing a concrete example of the case where the learned model is generated based on a question sentence and an answer sentence in the first embodiment.

FIG.8shows a concrete example of the character string of the question sentence and the character string of the answer sentence. For example, it is assumed that “hit (verb)”, “driver (noun)”, “carry (noun)” and “golf (noun)” have been obtained by the morphological analysis. The generation unit150adds 1 to information indicating the relationship between “driver (noun)” and “carry (noun)” in the sub-word context matrix corresponding to “hit (verb)”. The generation unit150adds 1 to information indicating the relationship between “driver (noun)” and “golf (noun)” in the sub-word context matrix corresponding to “hit (verb)”.

As above, the information processing device100is capable of generating the learned model based on a question sentence and an answer sentence.

FIG.9is a diagram showing functional blocks included in the information processing device in the utilization phase in the first embodiment. Each component inFIG.9being the same as a component shown inFIG.2is assigned the same reference character as inFIG.2. The information processing device100aincludes the storage unit110, an acquisition unit120a, a morphological analysis execution unit130a, a designation reception unit160, an inference unit170and an output unit180.

Here, the information processing device100and the information processing device100acan be either the same device or different devices. For example, in the case where the information processing device100and the information processing device100aare the same device, the information processing device100aincludes the predicate division unit140and the generation unit150. Further, in the case where the information processing device100and the information processing device100aare the same device, the acquisition unit120ahas the function of the acquisition unit120and the morphological analysis execution unit130ahas the function of the morphological analysis execution unit130.

Part or all of the acquisition unit120a, the morphological analysis execution unit130a, the designation reception unit160, the inference unit170and the output unit180may be implemented by processing circuitry included in the information processing device100a. Part or all of the acquisition unit120a, the morphological analysis execution unit130a, the designation reception unit160, the inference unit170and the output unit180may be implemented as modules of a program executed by a processor included in the information processing device100a. The program has been recorded in a record medium, for example.

The acquisition unit120aacquires character string data. Further, the acquisition unit120aacquires a learned model. For example, the acquisition unit120aacquires the learned model from the storage unit110. In cases where the learned model has been stored in an external device, the acquisition unit120aacquires the learned model from the external device.

The morphological analysis execution unit130aexecutes the morphological analysis on the character string data acquired by the acquisition unit120a.

The designation reception unit160makes a display device display a plurality of words obtained by executing the morphological analysis on the character string data acquired by the acquisition unit120a. Here, the plurality of words are words whose part of speech (word category) is a verb, a noun, an adjective or the like. Namely, the plurality of words can be words of any part of speech. The word as a predicate is a word that is a verb, an adjective, an adjective verb or a sa-column irregular conjugation noun (verbing noun in the Japanese language).

Further, the display device is, for example, a display connectable to the information processing device100a. A user designates a target word from the plurality of words displayed by the display device. The designation reception unit160receives the designation of the target word. The target word is referred to also as a first word.

The inference unit170infers the meaning of the target word by using the learned model.

The output unit180outputs the result of the inference. Further, the output unit180outputs likelihood of the meaning of the target word.

Next, a process executed by the information processing device100awill be described below by using a flowchart.

FIG.10is a flowchart showing an example of the process executed by the information processing device in the utilization phase in the first embodiment.

(Step S31) The acquisition unit120aacquires character string data. For example, the character string data represents “a driver of a car”.

(Step S32) The morphological analysis execution unit130aexecutes the morphological analysis on the character string data. For example, the morphological analysis execution unit130adivides the character string data “a driver of a car” into “car (noun)”, “of (particle (in the Japanese language))” and “driver (noun)” (when the language is Japanese).

(Step S33) The designation reception unit160makes the display device display words S (“car (noun)” and “driver (noun)”) obtained by excluding particles (in the Japanese language), auxiliary verbs, symbols and the like from the words as the result of the dividing.

The user designates the target word from the words displayed by the display device. It is assumed here that wi“driver (noun)” has been designated as the target word.

(Step S34) The designation reception unit160receives the designated target word.

(Step S35) The inference unit170executes an inference process of inferring the meaning of the target word by using the leaned model. The process will be described in detail below.FIG.6is used in the description. For example, the inference unit170refers to each row of wi“driver (noun)” in the leaned model. The inference unit170judges whether or not the words S (“car (noun)” and “driver (noun)”) exist in the row of “driver (noun)”. When the words S (“car (noun)” and “driver (noun)”) exist in the row of “driver (noun)”, the inference unit170calculates a count Cwiby using expression (3). Incidentally, the count Cwiis a sum total of mi,j.

For example, when the predicate label is “drive (verb)”, the inference unit170calculates a result of expression (4).

The inference unit170calculates the count Cwiin a similar manner also for every other predicate label. The inference unit170calculates a maximum value out of the counts Cwiregarding the predicate labels. The maximum value is defined as likelihood Scorewiof the meaning. The likelihood Scorewiis calculated by using expression (5).

By this, the inference unit170calculates a result of expression (6).

The predicate label having the maximum value is defined as a meaning Labelwi. The meaning Labelwiis represented by the following expression (7): Incidentally, the meaning Labelwiis “drive (verb)”, for example.

As above, the inference unit170infers the meaning of the target word based on the learned model and a plurality of words obtained by executing the morphological analysis on the character string data acquired by the acquisition unit120a. For example, the inference unit170infers the meaning of “driver (noun)” based on the learned model and “car (noun)” and “driver (noun)” obtained by executing the morphological analysis on “a driver of a car”.

As above, the information processing device100ais capable of inferring that the meaning of “driver” in the character string data “a driver of a car” is “driver who drives”. Further, the information processing device100ais capable of inferring the meaning even when the character string data includes no predicate.

Alternatively, for example, the information processing device100aacquires character string data “a driver of a tool”. When the target word of the character string data “a driver of a tool” is “driver”, the information processing device100ainfers that the meaning of “driver” is “driver that works”. Further, the information processing device100aoutputs information indicating that the likelihood Score is 9.

Alternatively, for example, the information processing device100aacquires character string data “a driver of golf”. When the target word of the character string data “a driver of golf” is “driver”, the information processing device100ainfers that the meaning of “driver” is “driver that hits”. Further, the information processing device100aoutputs information indicating that the likelihood Scorewiis 6.

As above, the information processing device100ais capable of inferring the meaning, which varies for the same word depending on the context, by using the learned model. Further, the information processing device100aoutputs the meaning label. Accordingly, the user can intuitively understand the meaning label. Furthermore, the information processing device100aoutputs the likelihood. Accordingly, the user can learn the likelihood of the meaning of the target word.

Here, a comparative example will be shown below.

FIG.11is a diagram showing the comparative example.FIG.11shows one sub-word context matrix. When a certain device infers the meaning by using the sub-word context matrix ofFIG.11as the learned model, the device infers only one meaning since there is only one sub-word context matrix.

In contrast, the learned model generated by the information processing device100includes a plurality of sub-word context matrices. Thus, the learned model generated by the information processing device100is capable of dealing with the ambiguity. For example, as described above, the information processing device100ais capable of inferring the meaning, which varies for the same word depending on the context, by using the learned model. Further, the information processing device100does not execute the dimensional compression when generating the learned model. Furthermore, the information processing device100executes low-cost calculation such as repeating the counting of sub-learning example texts. Therefore, the information processing device100is capable of generating the learned model in a short processing time. Thus, according to the first embodiment, the information processing device100is capable of generating a learned model capable of dealing with the ambiguity in a short processing time.

Second Embodiment

Next, a second embodiment will be described below. In the second embodiment, the description will be given mainly of features different from those in the first embodiment. In the second embodiment, the description is omitted for features in common with the first embodiment.FIGS.1to10are referred to in the description of the second embodiment.

FIG.12is a diagram showing functional blocks included in an information processing device in the utilization phase in the second embodiment. Each component inFIG.12being the same as a component shown inFIG.9is assigned the same reference character as inFIG.9.

The information processing device100afurther includes an identification unit190. The acquisition unit120afurther acquires word meaning text data. The word meaning text data is a plurality of word meaning character strings as a plurality of character strings (when the language is Japanese) indicating word meanings. In other words, the word meaning text data is a plurality of word meaning character strings as a plurality of character strings indicating word meanings corresponding to the target word. For example, the word meaning text data includes “a driver of a car”, “a driver of a tool” and “a driver of golf” (when the language is Japanese). In other words, the word meaning text data includes “a driver of a car”, “a driver of a tool” and “a driver of golf” corresponding to “driver”.

The identification unit190identifies a word meaning character string having the same meaning as the target word out of the plurality of word meaning character strings. The identified word meaning character string is referred to as a correct answer word meaning character string. The output unit180outputs the correct answer word meaning character string.

Next, a process executed by the information processing device100awill be described below by using a flowchart.

FIG.13is a flowchart showing an example of the process executed by the information processing device in the utilization phase in the second embodiment.

The process ofFIG.13differs from the process ofFIG.10in that steps S31aand S35aare executed and step S36ais executed instead of the step S36. Therefore, the steps S31a, S35aand S36awill be described below with reference toFIG.13. In regard to the other steps inFIG.13, the description of the processing therein is left out by assigning them the same step numbers as inFIG.10.

(Step S31a) The acquisition unit120aacquires the word meaning text data. For example, the word meaning text data includes “a driver of a car”, “a driver of a tool” and “a driver of golf”. The acquisition unit120astores the word meaning text data in the storage unit110.

Here, in the step S31, the acquisition unit120aacquires character string data “taxi driver”. In the step S35, the inference unit170infers that the meaning of “taxi driver” is “driver who drives”. The likelihood is 15.

(Step S35a) The identification unit190acquires the word meaning text data via the acquisition unit120a. Here, the inference unit170has inferred that the meaning of “taxi driver” is “driver who drives”. The identification unit190identifies a word meaning in the same meaning as “driver who drives” out of the word meaning text data. For example, “car” and “drive” have a relationship with each other. The identification unit190identifies that “a driver of a car” has the same meaning as “driver who drives” based on information indicating the relationship between “car” and “drive”. Then, the identification unit190identifies “a driver of a car” out of the word meaning text data.

(Step S36a) The output unit180outputs the correct answer word meaning character string. For example, the output unit180outputs information indicating that the correct answer word meaning character string for “driver” in “taxi driver” is “a driver of a car”.

Alternatively, for example, when the acquisition unit120ahas acquired character string data “precision driver”, the identification unit190identifies “a driver of a tool” out of the word meaning text data. Then, the output unit180outputs information indicating that the correct answer word meaning character string for “driver” in “precision driver” is “a driver of a tool”.

According to the second embodiment, the information processing device100ais capable of increasing the likelihood of the meaning by using the word meaning text data.

While a case of inferring the meaning of a noun was described as an example in each of the above-described embodiments, the meaning of a part of speech other than a noun can also be inferred in a similar manner. Further, features in the embodiments can be appropriately combined with each other.

DESCRIPTION OF REFERENCE CHARACTERS