WO2019003517A1 - 語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置 - Google Patents

語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置 Download PDF

Info

Publication number
WO2019003517A1
WO2019003517A1 PCT/JP2018/010878 JP2018010878W WO2019003517A1 WO 2019003517 A1 WO2019003517 A1 WO 2019003517A1 JP 2018010878 W JP2018010878 W JP 2018010878W WO 2019003517 A1 WO2019003517 A1 WO 2019003517A1
Authority
WO
WIPO (PCT)
Prior art keywords
word
vector
words
meaning
vectors
Prior art date
Application number
PCT/JP2018/010878
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 富士通株式会社
Publication of WO2019003517A1 publication Critical patent/WO2019003517A1/ja
Priority to US16/724,303 priority Critical patent/US11514248B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Definitions

  • the present invention relates to a word sense vector generation program and the like.
  • the present invention provides a word sense vector generation program, a word sense vector generation method, and a word sense vector generation device capable of improving the suitability of a word sense vector corresponding to each word sense for a polygraph having a plurality of word senses.
  • the purpose is to
  • the computer is made to execute the following processing.
  • the computer obtains a vector of a plurality of words included in the text data.
  • the computer extracts words included in any of the groups by referring to a storage unit that associates and stores a plurality of words whose word-like similarity satisfies the criteria with the plurality of word groups.
  • the computer generates a vector according to one of the groups based on the extracted word vector among the acquired plurality of word vectors.
  • the computer refers to the storage unit that stores the explanation of each word meaning of the word including the plurality of word meanings in association with the word, and the word meaning explanation of any of the extracted words among the acquired plurality of word vectors Identify the vector of words contained in.
  • the computer generates a vector according to any word meaning based on the identified vector and the generated vector.
  • FIG. 1 is a diagram for explaining an example of processing of the word sense vector generation device according to the present embodiment.
  • FIG. 2 is a functional block diagram showing the configuration of the word sense vector generation apparatus according to the present embodiment.
  • FIG. 3 is a view showing an example of the data structure of a synonym dictionary table.
  • FIG. 4 is a view showing an example of the data structure of the word vector table.
  • FIG. 5 is a diagram showing an example of the data structure of the English-English / Japanese language dictionary table.
  • FIG. 6 is a view showing an example of the data structure of the synonym table.
  • FIG. 7 is a diagram showing an example of the data structure of the polygraph table.
  • FIG. 8 is a view showing an example of the data structure of the word sense determination table.
  • FIG. 1 is a diagram for explaining an example of processing of the word sense vector generation device according to the present embodiment.
  • FIG. 2 is a functional block diagram showing the configuration of the word sense vector generation apparatus according to the present embodiment.
  • FIG. 3 is
  • FIG. 9 is a diagram for explaining an example of processing of the word vector operation unit.
  • FIG. 10 is a diagram for explaining the process of the group vector computing unit.
  • FIG. 11 is a diagram showing the relationship between a vector and a normal vector.
  • FIG. 12 is a flowchart showing a process of calculating a meaning vector.
  • FIG. 13 is a flowchart showing a process of determining a meaning vector corresponding to a word.
  • FIG. 14 is a diagram showing an example of a hardware configuration of a computer that implements the same function as the word sense vector generation device.
  • FIG. 1 is a diagram for explaining an example of processing of the word sense vector generation device according to the present embodiment.
  • the word sense vector generation device calculates a vector of the word "deep” included in the text data 10.
  • the word “deep” is an ambiguous word having multiple word meanings.
  • the word “deep” has the meaning “top to bottom, front to back, measurement, deep, breath, sounds, colours, sleep, serious, emotions, knowledge, difficult to understand, involved, person, in sport” is there.
  • FIG. 1 an example of processing for calculating a sense vector of “knowledge” in the sense of the word “deep” will be described.
  • Step S10 of FIG. 1 The semantic vector generation device compares the synonym dictionary table 150a with the word "deep” to identify the synonym of the word "deep".
  • the synonym dictionary table 150a is a table that associates words with synonyms that correspond to the words.
  • the synonym of the word "deep” is "wise, knowing, heavy, learned, profound".
  • the word sense vector generation device compares the word “deep”, each synonym “wise, knowing, heavy, learned, proven” with the word vector table 150 b to specify a word and a vector of each synonym.
  • the word vector table 150 b is a table that associates words with vectors of words. For example, let the vector of the word “deep” be “V deep ". Let the vector of the synonym “wise” be “V wise “. Let the vector of the synonym “knowing” be "V knowing ". Let the vector of the synonym “heavy” be “V heavy ”. Let the vector of the synonym “learned” be "V learned ". Let the vector of the synonym "profound” be "V profound ".
  • Step S11 of FIG. 1 will be described.
  • the semantic vector generation device divides each vector “V deep , V wise , V knowing , V heavy , V learned , V profound ” into a plurality of meshes, and calculates a normal vector of each mesh.
  • the semantic vector generation device calculates a group vector V 920.17 of each vector “V deep , V wise , V knowing , V heavy , V learned , V profound ” by summing up the normal vectors of each mesh.
  • the word sense vector generation device refers to the English-English / Japanese language dictionary table 150c, and extracts the feature word included in the explanation sentence of the word "knowledge” of the word "deep".
  • the English-English / Japanese language dictionary table 150c is a table for holding information of commentary sentences which respectively explain the meaning of each word. For example, the word sense vector generation device extracts the feature words "great, knowledge, understanding" from this commentary. The same feature word is one feature word.
  • the word sense vector generation device compares the feature word with the word vector table 150b to specify the vector of each feature word. For example, let the vector of the feature word “great” be “V great “. Let the vector of the feature word “knowledge” be “V knowledge ". A vector of features the word “understanding” and “V understanding”.
  • the word sense vector generation device excludes, from the words included in the commentary, a word identical to the synonym of the group vector generation source from the feature words.
  • the semantic vector generator excludes articles and conjunctions from the words contained in the comment.
  • the word sense vector generation device excludes fixed words such as showing among the words included in the comment.
  • the word sense vector generation device corrects the group vector V 920.17 based on the vector “V great , V knowledge , V understanding ” of each feature word to obtain a word sense vector of “knowledge” in the word sense of the word “deep”. Generate V deep_KNOWLEDGE . For example, semantic vector generation unit, by summing and the normal vector of the vector "V great, V knowledge, V understanding", a group vector V 929.17, generating a semantic vector V deep_KNOWLEDGE.
  • the word sense vector generation device corrects the target word by correcting the group vector obtained by adding up the target word vector and the word synonym vector with the feature word vector included in the target word explanation. Generate a semantic vector of For this reason, even for the same word, it is possible to generate a word sense vector that matches the word sense, for each word sense.
  • FIG. 2 is a functional block diagram showing the configuration of the word sense vector generation apparatus according to the present embodiment.
  • the semantic vector generation device 100 includes a communication unit 110, an input unit 120, a display unit 130, a storage unit 150, and a control unit 160.
  • the communication unit 110 is a processing unit that executes data communication with an external device (not shown) via a network.
  • the communication unit 110 corresponds to a communication device.
  • the input unit 120 is an input device for inputting various types of information to the word sense vector generation device 100.
  • the input unit 120 corresponds to a keyboard, a mouse, a touch panel, and the like.
  • the display unit 130 is a display device that displays various types of information output from the control unit 160.
  • the display unit 130 corresponds to a liquid crystal display or a touch panel.
  • the storage unit 150 includes text data 10, a synonym dictionary table 150a, a word vector table 150b, an English / English / Japanese dictionary table 150c, a synonym table 150d, a polygraph table 150e, and a meaning determination table 150f.
  • the storage unit 150 corresponds to a semiconductor memory element such as a random access memory (RAM), a read only memory (ROM), a flash memory, or a storage device such as a hard disk drive (HDD).
  • RAM random access memory
  • ROM read only memory
  • HDD hard disk drive
  • the text data 10 is data of a character string having a plurality of words.
  • the synonym dictionary table 150a is a table that associates a word with a synonym corresponding to the word.
  • FIG. 3 is a view showing an example of the data structure of a synonym dictionary table. As shown in FIG. 3, the synonym dictionary table 150a associates synonym identification numbers with words (syntax).
  • the synonym identification number is a number for identifying a synonym, and each word having the same synonym identification number is a synonym. For example, each word "birth, genesis, nativity, childbirth, birth, nascency" which becomes the synonym identification number "1.1" is a synonym.
  • the word vector table 150 b is a table that associates words with vectors of words.
  • FIG. 4 is a view showing an example of the data structure of the word vector table. As shown in FIG. 4, the word vector table 150b associates words with vectors. For example, the vector of the word "birth” will be "V birth ".
  • the English-English / Japanese language dictionary table 150c is a table for holding information of commentary which respectively explains the meaning of each word of the English-English / Japanese language dictionary table 150c.
  • FIG. 5 is a diagram showing an example of the data structure of the English-English / Japanese language dictionary table. As shown in FIG. 5, the English-English / Japanese language dictionary table 150c associates words, meanings, comment numbers, commentary sentences, and sentence examples. As shown in FIG. 5, even with the same word, a plurality of word meanings are associated.
  • the comment number is a number assigned to the comment.
  • a commentary sentence is a sentence that explains the meaning of a word.
  • the commentary corresponding to the sense "KNOWLEDGE" of the word "deep” is "showing great knowledge or understanding”.
  • the sentence example shows a sentence example using the word of the corresponding meaning.
  • the synonym table 150 d is a table that holds information on the group vectors of the synonyms described in step S 11 of FIG. 1.
  • FIG. 6 is a view showing an example of the data structure of the synonym table. As shown in FIG. 6, the synonym table 150 d associates synonym identification numbers, words (syntax), vectors, and group vectors.
  • the synonym identification number is a number for identifying a synonym, and each word having the same synonym identification number is a synonym.
  • a vector is a vector corresponding to each word (synonym). The vector of each word is defined in the word vector table 150b described in FIG.
  • a group vector is a vector in which vectors of words (syntaxes) having the same synonym identification number are grouped.
  • the polygraph table 150e is a table for holding information on the meaning of each polygraph.
  • FIG. 7 is a diagram showing an example of the data structure of the polygraph table. As shown in FIG. 7, the polysemy table 150 e associates polysemy, prognostic number, prosperity, prosodic identification number, group vector, explanation number, prosodic code, and prosodic vector.
  • Polymorphic words indicate words having a plurality of word meanings.
  • the word meaning number indicates the number of word meanings possessed by polygraphs.
  • the word meaning indicates each word meaning included in the polygraph.
  • the synonym identification number is a number that uniquely identifies a synonym to which a word corresponding to the meaning belongs.
  • the group vector is a vector in which vectors of synonyms corresponding to synonym identification numbers are collected.
  • the comment numbers correspond to the comment numbers shown in FIG.
  • the semantic code is a code assigned to the semantic.
  • the meaning vector is a vector assigned to the meaning of the corresponding word.
  • the meaning determination table 150f is a table used when determining the meaning of a word included in a sentence.
  • FIG. 8 is a view showing an example of the data structure of the word sense determination table. As shown in FIG. 8, the word sense determination table 150f associates a polygraph, a sense ID, a sense, and each co-occurring word.
  • Polymorphic words indicate words having a plurality of word meanings.
  • the word meaning ID is a number that uniquely identifies the word meaning included in the polygraph.
  • the word meaning indicates each word meaning included in the polygraph.
  • a co-occurring word indicates a word co-occurring with a polygraph having a certain meaning. Co-occurring words are associated with co-occurrence rates. For example, when the polygraph "deep” appears in a sentence in the sense of the word "knowledge”, it is indicated that the probability that the word “understanding” co-occurs is "41%" before and after the "deep”. It is shown.
  • the control unit 160 includes a word vector operation unit 160a, a group vector operation unit 160b, a meaning vector operation unit 160c, and a vector determination unit 160d.
  • the control unit 160 can be realized by a central processing unit (CPU) or a micro processing unit (MPU).
  • the control unit 160 can also be realized by hardwired logic such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA).
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • the word vector operation unit 160a is a processing unit that calculates a vector of a word included in the text data 10 based on the skip-gram.
  • the word vector operation unit 160a associates a word with a vector of the word, and stores the word in the word vector table 150b.
  • FIG. 9 is a diagram for explaining an example of processing of the word vector operation unit.
  • the sentence included in the text data 10 to be input is “I want to eat an apple everyday”, and the vector of the word “eat” included in this sentence is calculated.
  • the word vector operation unit 160a learns the probability of the given word "eat” and the co-occurring word by the network.
  • the network includes an input layer 5a, a hidden layer 5b, and an output layer 5c.
  • a co-occurrence probability of a co-occurring word co-occurring with the input word is output from the output layer 5c according to the feature amount set in the hidden layer 5b.
  • the word vector computing unit 160a repeatedly performs learning so that the feature quantity of the hidden layer 5b becomes an optimal value, from the relationship between co-occurring words co-occurring with the word "eat", for a plurality of sentences. For example, enter the word “eat” into the input layer 5a, the sentence “I want to eat an apple everyday” and the co-occurring word “apple” co-occurring with the word “eat” into the output layer 5c, Adjust the feature amount of the hidden layer 5b. The word vector computing unit 160a repeatedly executes the same process on a plurality of other sentences (step S20).
  • the word vector computing unit 160a specifies the adjusted feature amount of the hidden layer 5b as a vector of the word "eat” as a result of repeatedly executing step S20 (step S21).
  • step S21 in FIG. 9 when the word "eat” is input to the input layer 5a as a result of adjusting the feature amount of the hidden layer 5b, the co-occurrence word (co-occurrence probability) "apple (0.4) from the output layer 5c. “Orange ((0.4))...“ Network (0.01) ”is output.
  • the word vector computing unit 160a computes a vector by repeatedly executing the above process for other words.
  • the group vector operation unit 160 b is a processing unit that selects a word from the word vector table 150 b and calculates a group vector based on the selected word vector and the synonym vector of the selected word.
  • a group vector calculation unit 160b an example of processing of the group vector calculation unit 160b will be described.
  • Group vector operation unit 160b compares the selected word with synonym dictionary table 150a to determine a synonym identification number corresponding to the selected word. Group vector operation unit 160b acquires a synonym corresponding to the determined synonym identification number from synonym dictionary table 150a. The group vector operation unit 160 b acquires the acquired synonym vector from the word vector table 150 b. In the following description, selected words and their synonyms are collectively referred to as synonyms as appropriate. The group vector computing unit 160b associates the synonym identification number, the synonym, and the vector, and registers them in the synonym table 150d.
  • the group vector calculation unit 160b calculates a group vector of such synonym identification numbers based on vectors of synonyms corresponding to the same synonym identification numbers.
  • FIG. 10 is a diagram for explaining the process of the group vector computing unit. In FIG. 10, it is assumed that the synonym is "birth, nativity, nascency, birth, childbirth, genesis", and the group vector computing unit 160b computes a group vector of this synonym.
  • Groups vector calculation section 160b is acquired synonyms "birth, nativity, nascency, birthing, childbirth, genesis " vector "V birth, V nativity, V nascency , V birthing, V childbirth, V genesis " and, from the word vector table 150b Do.
  • the group vector computing unit 160 b generates meshes 51 to 54 based on the vectors “V birth , V nativity , V nascency , V birthing , V childbirth , V genesis ”.
  • the mesh 51 is a mesh composed of the vectors “V birth , V nativity , V genesis ”.
  • the mesh 52 is a mesh composed of the vectors “V nativity , V childbirth , V genesis ”.
  • the mesh 53 is a mesh composed of the vectors “V nativity , V nascency , V childbirth ”.
  • the mesh 54 is a mesh composed of the vectors “V nascency , V birth , V childbirth ”.
  • Group vector operation unit 160b calculates normal vectors 51a to 54a of meshes 51 to 54, respectively. For example, the group vector operation unit 160b calculates the normal vector N of the mesh composed of the vectors 0 0 , 1 1 and 2 2 based on the equation (1).
  • FIG. 11 is a diagram showing the relationship between a vector and a normal vector.
  • Groups vector operation unit 160b by summing a normal vector 51a ⁇ 54a, calculates a group vector V 1.1.
  • Groups vector calculation section 160b is a vector obtained by summing a normal vector 51a ⁇ 54a, normalized, may generate a group vector V 1.1.
  • Group vector operation unit 160b associates the calculated group vector with the corresponding synonym identification number, and registers it in synonym table 150d. For example, group vector operation unit 160 b registers group vector V 1.1 in synonym table 150 d in association with synonym identification number “1.1”.
  • the group vector computing unit 160b also executes the processing of S30 to S32 for other words to compute a group vector corresponding to the word, and registers it in the synonym table 150d.
  • the group vector operation unit 160b compares the synonym table 150d with the polygraph table 150e, associates the synonym table with the synonym identification number, and registers the group vector in the polygraph table 150e.
  • the polygraph, the number of words, the number of words, the number of words, the number of words, the number of synonym identification numbers, the comment number, and the number of meaning codes of the polygraph table 150e described in FIG. 7 are set in advance.
  • the information on the group vector of the polygraph word table 150 e is registered in the group vector calculation unit 160 b.
  • Information on the meaning vectors of the multi-word table 150 e is registered in the meaning vector computing unit 160 c described later.
  • the word sense vector calculation unit 160 c is a processing unit that calculates a word sense vector corresponding to the word sense of a word. In the following, an example of processing of the semantic vector operation unit 160c will be described.
  • the word sense vector operation unit 160c refers to the polygraph table 150e to select a combination of a word and a word sense for which a word sense vector is to be calculated.
  • the case of computing the word sense vector of the word sense “KNOWLEDGE” of the word “deep” will be described.
  • the semantic vector operation unit 160 c refers to the polygraph table 150 e to acquire a group vector V deep — KNOWLEDGE corresponding to the polygraph (word) “deep” and the semantic “KNOWLEDGE”.
  • the semantic vector operation unit 160c refers to the English-English / Japanese language dictionary table 150c, and extracts the feature word from the comment corresponding to the word "deep” and the semantic "KNOWLEDGE". For example, the semantic vector operation unit 160 c extracts the feature words “great, knowledge, understanding” from the explanatory sentence “showing great knowledge or understanding” of the semantic “KNOWLEDGE”.
  • the semantic vector operation unit 160c excludes, from the feature words, the words identical to the synonyms from which the group vector is generated.
  • the semantic vector operation unit 160c excludes articles and conjunctions from the words included in the comment.
  • the semantic vector operation unit 160 c excludes a predetermined fixed word such as “showing” among the words included in the comment. For example, the semantic vector operation unit 160c extracts words not to be excluded from the words included in the comment as feature words.
  • the semantic vector operation unit 160 c compares the feature words “great, knowledge, understanding” with the word vector table 150 b to obtain a vector of each feature word.
  • the word sense vector operation unit 160 c calculates a normal vector based on the vectors of the respective feature words and adds the calculated normal vector and the group vector V 920.17 of the word “deep” to obtain the word sense vector V. Calculate deep_KNOWLEDGE .
  • the process corresponds to the process shown in step S12 of FIG.
  • the semantic vector operation unit 160c registers the semantic vector “V deep — KNOWLEDGE” corresponding to the semantic meaning “KNOWLEDGE” of the polygraph “deep” in the polygraph table 150 e .
  • the word sense vector calculation unit 160c calculates the word sense vector by repeatedly executing the processing corresponding to the other word sense of the polygraph word "deep” and each word sense of the other polygram word, and the polygraph table 150e is displayed. sign up.
  • the vector determination unit 160 d determines the vector of each word included in the acquired character string when acquiring the character string to be the operation target of the vector. For example, the vector determination unit 160d receives the string "You should try to gain a deep understanding of the problem.” And determines the vector of each word included in the string. Here, as an example, the case of determining the meaning vector of the word "deep" will be described.
  • the vector determination unit 160 d compares the word “deep” with the meaning determination table 150 f to determine the meaning of the word “deep” in the string “You should try to gain a deep understanding of the problem.”. For example, since the co-occurrence word “understanding” appears behind the word “deep”, the vector determination unit 160 d determines that the meaning of the word “deep” is “KNOWLEDGE”.
  • the vector determination unit 160d acquires the meaning vector of the word “deep” corresponding to "KNOWLEDGE" from the polygraph table 150e, and assigns the word meaning vector to the word "deep”.
  • FIG. 12 is a flowchart showing a process of calculating a meaning vector.
  • the word vector operation unit 160a of the word sense vector generation device 100 calculates the vector of each word included in the text data 10, and registers it in the word vector table 150b (step S101).
  • the group vector operation unit 160b of the word sense vector generation device 100 selects a word to be subjected to a vector operation from a plurality of words included in the text data 10 (step S102).
  • the group vector computing unit 160b determines the synonym of the selected word based on the synonym dictionary table 150a (step S103).
  • the group vector operation unit 160b acquires a vector of each synonym from the word vector table 150b (step S104).
  • the group vector computing unit 160b computes a group vector based on the vector of each synonym (step S105).
  • the word sense vector operation unit 160 c of the word sense vector generation device 100 selects a word and a word sense for which a word sense vector is to be calculated (step S 106).
  • the word sense vector operation unit 160c refers to the English-English / Japanese language dictionary table 150c and extracts a feature word based on the commentary corresponding to the word sense (step S107).
  • the semantic vector operation unit 160 c generates a semantic vector by correcting the word group vector based on the feature word vector (step S 108).
  • the semantic vector operation unit 160c registers the semantic vector in the polygraph table 150e (step S109).
  • FIG. 13 is a flowchart showing a process of determining a meaning vector corresponding to a word.
  • the vector determination unit 160 d of the semantic vector generation device 100 selects a word from a plurality of words included in the text data 10 (step S 201).
  • the vector determination unit 160 d determines the meaning of the word based on the meaning determination table 150 f (step S 202). The vector determination unit 160d determines the meaning vector based on the word and the meaning and the polygraph table 150e (step S203).
  • the word sense vector generation device 100 corrects the word vector of the target word by correcting the group vector obtained by adding the vector of the target word and the vector of the word synonym together with the feature word vector included in the explanation of the word sense of the target. Generate For this reason, even for the same word, it is possible to generate a word sense vector that matches the word sense, for each word sense. Therefore, the conformity to the meaning of the meaning vector can be improved.
  • the word sense vector generation device 100 can calculate the vector representing the target word and the synonym accurately, by calculating the group vector by summing the normal vector based on the vector of the target word and the vector of the word synonym .
  • the word sense vector generation device 100 generates the word sense vector of the target word based on the feature word vector included in the description sentence corresponding to the word sense of the target word and the group vector, so the word sense vector is precisely It can be calculated.
  • the word sense vector generation device 100 When the word sense vector generation device 100 receives a target word for which the vector is to be specified, the word sense vector generation device 100 determines the word sense of the target word and specifies the word sense vector of the target word based on the polygraph table 150 e. For this reason, it is possible to specify a vector according to the meaning of the word.
  • FIG. 14 is a diagram showing an example of a hardware configuration of a computer that implements the same function as the word sense vector generation device.
  • the computer 200 has a CPU 201 that executes various types of arithmetic processing, an input device 202 that receives input of data from a user, and a display 203.
  • the computer 200 also includes a reading device 204 that reads programs and the like from a storage medium, and an interface device 205 that exchanges data with other computers via a wireless network.
  • the computer 200 also has a RAM 206 for temporarily storing various information, and a hard disk drive 207.
  • the devices 201 to 207 are connected to the bus 208.
  • the hard disk drive 207 has a word vector operation program 207a, a group vector operation program 207b, a word sense vector operation program 207c, and a vector determination program 207d.
  • the CPU 201 reads out the word vector calculation program 207 a, the group vector calculation program 207 b, the word sense vector calculation program 207 c, and the vector determination program 207 d, and develops them in the RAM 206.
  • the word vector computing program 207a functions as a word vector computing process 206a.
  • the group vector operation program 207b functions as a group vector operation process 206b.
  • the semantic vector operation program 207c functions as a semantic vector operation process 206c.
  • the vector determination program 207d functions as a vector determination process 206d.
  • the process of the word vector computing process 206a corresponds to the process of the word vector computing unit 160a.
  • the processing of the group vector calculation process 206 b corresponds to the processing of the group vector calculation unit 160 b.
  • the processing of the semantic vector operation process 206c corresponds to the processing of the semantic vector operation unit 160c.
  • the process of the vector determination process 206d corresponds to the process of the vector determination unit 160d.
  • the programs 207a to 207d may not necessarily be stored in the hard disk drive 207 from the beginning.
  • each program is stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, an IC card or the like inserted into the computer 200.
  • the computer 200 may read and execute each of the programs 207a to 207d.

Landscapes

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

Abstract

語義ベクトル生成装置(100)は、テキストデータに含まれる複数の単語のベクトルを取得する。語義ベクトル生成装置(100)は、語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出する。語義ベクトル生成装置(100)は、取得した複数の単語のベクトルのうち、抽出した単語のベクトルに基づき、いずれかのグループに応じたベクトルを生成する。語義ベクトル生成装置(100)は、複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した複数の単語のベクトルのうち、抽出した単語のいずれかの語義の説明に含まれる単語のベクトルを特定する。語義ベクトル生成装置(100)は、特定したベクトルと、生成したベクトルとに基づき、いずれかの語義に応じたベクトルを生成する。

Description

語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置
 本発明は、語義ベクトル生成プログラム等に関する。
 近年、Word2Vec(Skip-gram)に基づいて、文章に含まれる単語のベクトルを演算する従来技術がある。たとえば、単語「mean」のベクトルを演算する場合について説明する。従来技術では、文章1、2、その他の図示しない複数の文章を基にして、単語「mean」とともに共起する共起単語の確率が最適になるような隠れ層の特徴量を演算し、演算した特徴量を、単語「mean」のベクトルとする。
 「What dose this phrase mean?」・・・(文章1)
 「I mean it as a joke.」・・・(文章2)
特開2013-20431号公報 特開2010-152561号公報
 しかしながら、上述した従来技術では、複数の語義を持つ多義語について、各語義に対応した語義ベクトルの適合性が低いという問題がある。
 たとえば、従来技術では、ベクトルを演算する場合に、テキスト中の対象となる多義語の語義を区別せず、単なる単語としての共起関係しか考慮されておらず、1つのベクトルしか割り当てさられていない。たとえば、文章1に含まれる単語「mean」は多議語であり、その語義を、文章1全体から判断すると、文章1に含まれる単語「mean」の語義は「sense」である。一方、文章2に含まれる単語「mean」の語義を、文章2全体から判断すると、文章2に含まれる単語「mean」の語義は「say」である。
 従って、文章1に含まれる単語「mean」の語義と文章2に含まれる単語「mean」の語義は異なっているため、単純に、共起関係から単語「mean」のベクトルを割り当てると、単語の語義への適合性の低いベクトルしか演算することができないと言える。
 1つの側面では、本発明は、複数の語義を持つ多義語について、各語義に対応した語義ベクトルの適合性を向上することができる語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置を提供することを目的とする。
 第1の案では、コンピュータに下記の処理を実行させる。コンピュータは、テキストデータに含まれる複数の単語のベクトルを取得する。コンピュータは、語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出する。コンピュータは、取得した複数の単語のベクトルのうち、抽出した単語のベクトルに基づき、いずれかのグループに応じたベクトルを生成する。コンピュータは、複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した複数の単語のベクトルのうち、抽出した単語のいずれかの語義の説明に含まれる単語のベクトルを特定する。コンピュータは、特定したベクトルと、生成したベクトルとに基づき、いずれかの語義に応じたベクトルを生成する。
 複数の語義を持つ多義語について、各語義に対応した語義ベクトルの適合性を向上することができる。
図1は、本実施例に係る語義ベクトル生成装置の処理の一例を説明するための図である。 図2は、本実施例に係る語義ベクトル生成装置の構成を示す機能ブロック図である。 図3は、類語辞書テーブルのデータ構造の一例を示す図である。 図4は、単語ベクトルテーブルのデータ構造の一例を示す図である。 図5は、英英/国語辞書テーブルのデータ構造の一例を示す図である。 図6は、類語テーブルのデータ構造の一例を示す図である。 図7は、多義語テーブルのデータ構造の一例を示す図である。 図8は、語義判定テーブルのデータ構造の一例を示す図である。 図9は、単語ベクトル演算部の処理の一例を説明するための図である。 図10は、グループベクトル演算部の処理を説明するための図である。 図11は、ベクトルと法線ベクトルとの関係を示す図である。 図12は、語義ベクトルを算出する処理を示すフローチャートである。 図13は、単語に対応する語義ベクトルを判定する処理を示すフローチャートである。 図14は、語義ベクトル生成装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
 以下に、本願の開示する語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
 図1は、本実施例に係る語義ベクトル生成装置の処理の一例を説明するための図である。たとえば、語義ベクトル生成装置は、テキストデータ10に含まれる単語「deep」のベクトルを算出する場合について説明する。単語「deep」は、複数の語義を有する多義語である。たとえば、単語「deep」には、「top to bottom、front to back、measurement、deep、breath、sounds、colours、sleep、serious、emotions、knowledge、difficult to understand、involved、person、in sport」の語義がある。図1では、単語「deep」の語義のうち、「knowledge」の語義ベクトルを算出する処理の一例について説明する。
 図1のステップS10について説明する。語義ベクトル生成装置は、類語辞書テーブル150aと、単語「deep」とを比較して、単語「deep」の類語を特定する。類語辞書テーブル150aは、単語と、単語に対応する類語とを対応づけるテーブルである。ここでは一例として、単語「deep」の類語を「wise、knowing、heavy、learned、profound」とする。
 語義ベクトル生成装置は、単語「deep」、各類語「wise、knowing、heavy、learned、profound」と、単語ベクトルテーブル150bとを比較して、単語、各類語のベクトルを特定する。単語ベクトルテーブル150bは、単語と、単語のベクトルとを対応づけるテーブルである。たとえば、単語「deep」のベクトルを「Vdeep」とする。類語「wise」のベクトルを「Vwise」とする。類語「knowing」のベクトルを「Vknowing」とする。類語「heavy」のベクトルを「Vheavy」とする。類語「learned」のベクトルを「Vlearned」とする。類語「profound」のベクトルを「Vprofound」とする。
 図1のステップS11について説明する。語義ベクトル生成装置は、各ベクトル「Vdeep、Vwise、Vknowing、Vheavy、Vlearned、Vprofound」を複数のメッシュに区切り、各メッシュの法線ベクトルをそれぞれ算出する。語義ベクトル生成装置は、各メッシュの法線ベクトルを合算することで、各ベクトル「Vdeep、Vwise、Vknowing、Vheavy、Vlearned、Vprofound」のグループベクトルV920.17を算出する。
 図1のステップS12について説明する。語義ベクトル生成装置は、英英/国語辞書テーブル150cを参照して、単語「deep」の語義「knowledge」の解説文に含まれる特徴単語を抽出する。英英/国語辞書テーブル150cは、単語の各語義をそれぞれ解説する解説文の情報を保持するテーブルである。たとえば、語義ベクトル生成装置は、この解説文から特徴単語「great、knowledge、understanding」を抽出する。同一の特徴単語は、一つの特徴単語とする。
 語義ベクトル生成装置は、特徴単語と、単語ベクトルテーブル150bとを比較して、各特徴単語のベクトルを特定する。たとえば、特徴単語「great」のベクトルを「Vgreat」とする。特徴単語「knowledge」のベクトルを「Vknowledge」とする。特徴単語「understanding」のベクトルを「Vunderstanding」とする。
 たとえば、語義ベクトル生成装置は、解説文に含まれる単語のうち、グループベクトルの生成もとの類語と同一の単語を、特徴単語から除外する。語義ベクトル生成装置は、解説文に含まれる単語のうち、冠詞、接続詞を除外する。語義ベクトル生成装置は、解説文に含まれる単語のうち、showing等の定型単語を除外する。
 語義ベクトル生成装置は、各特徴単語のベクトル「Vgreat、Vknowledge、Vunderstanding」に基づいて、グループベクトルV920.17を補正することで、単語「deep」の語義のうち、「knowledge」の語義ベクトルVdeep_KNOWLEDGEを生成する。たとえば、語義ベクトル生成部は、ベクトル「Vgreat、Vknowledge、Vunderstanding」の法線ベクトルと、グループベクトルV929.17を合算することで、語義ベクトルVdeep_KNOWLEDGEを生成する。
 上記のように語義ベクトル生成装置は、対象の単語のベクトルおよび単語の類語のベクトルを合算したグループベクトルを、対象の語義の解説文に含まれる特徴単語のベクトルによって補正することで、対象の単語の語義ベクトルを生成する。このため、同一の単語であっても、単語の語義に適合した語義ベクトルを語義毎に生成することができる。
 次に、本実施例に係る語義ベクトル生成装置の構成について説明する。図2は、本実施例に係る語義ベクトル生成装置の構成を示す機能ブロック図である。図2に示すように、この語義ベクトル生成装置100は、通信部110と、入力部120と、表示部130と、記憶部150と、制御部160とを有する。
 通信部110は、図示しない外部装置とネットワークを介してデータ通信を実行する処理部である。たとえば、通信部110は、通信装置に対応する。
 入力部120は、各種の情報を語義ベクトル生成装置100に入力するための入力装置である。たとえば、入力部120は、キーボードやマウス、タッチパネルなどに対応する。
 表示部130は、制御部160から出力される各種の情報を表示する表示装置である。たとえば、表示部130は、液晶ディスプレイやタッチパネルなどに対応する。
 記憶部150は、テキストデータ10と、類語辞書テーブル150aと、単語ベクトルテーブル150bと、英英/国語辞書テーブル150cと、類語テーブル150dと、多義語テーブル150eと、語義判定テーブル150fとを有する。記憶部150は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
 テキストデータ10は、複数の単語を有する文字列のデータである。
 類語辞書テーブル150aは、単語と、単語に対応する類語を対応づけるテーブルである。図3は、類語辞書テーブルのデータ構造の一例を示す図である。図3に示すように、この類語辞書テーブル150aは、類語識別番号と、単語(類語)を対応づける。
 類語識別番号は、類語を識別する番号であり、類語識別番号が同一の各単語が、類語となる。たとえば、類語識別番号「1.1」となる各単語「birth、genesis、nativity、childbirth、birthing、nascency」は、類語である。
 単語ベクトルテーブル150bは、単語と、単語のベクトルとを対応づけるテーブルである。図4は、単語ベクトルテーブルのデータ構造の一例を示す図である。図4に示すように、この単語ベクトルテーブル150bは、単語とベクトルとを対応づける。たとえば、単語「birth」のベクトルは、「Vbirth」となる。
 英英/国語辞書テーブル150cは、英英/国語辞書テーブル150cは、単語の各語義をそれぞれ解説する解説文の情報を保持するテーブルである。図5は、英英/国語辞書テーブルのデータ構造の一例を示す図である。図5に示すように、この英英/国語辞書テーブル150cは、単語と、語義と、解説番号と、解説文と、文例とを対応づける。図5に示すように、同一の単語であっても、複数の語義が対応づけられる。解説番号は、解説文に割り振られる番号である。
 解説文は、語義を解説する文章である。たとえば、単語「deep」の語義「KNOWLEDGE」に対応する解説文は「showing great knowledge or understanding」となる。文例は、該当する語義の単語を用いた文例を示すものである。
 類語テーブル150dは、図1のステップS11で説明した各類語のグループベクトルの情報を保持するテーブルである。図6は、類語テーブルのデータ構造の一例を示す図である。図6に示すように、この類語テーブル150dは、類語識別番号と、単語(類語)と、ベクトルと、グループベクトルとを対応づける。
 類語識別番号は、類語を識別する番号であり、類語識別番号が同一の各単語が、類語となる。ベクトルは、各単語(類語)に対応するベクトルである。各単語のベクトルは、図4で説明した単語ベクトルテーブル150bで定義されている。グループベクトルは、同一の類語識別番号の単語(類語)のベクトルをまとめたベクトルである。
 多義語テーブル150eは、多義語の各語義の情報を保持するテーブルである。図7は、多義語テーブルのデータ構造の一例を示す図である。図7に示すように、この多義語テーブル150eは、多義語と、語義数と、語義と、語義識別番号と、グループベクトルと、解説番号と、語義コードと、語義ベクトルとを対応づける。
 多義語は、複数の語義を有する単語を示す。語義数は、多義語が持つ語義の数を示す。語義は、多義語に含まれる各語義を示す。類語識別番号は、語義に対応する単語が属する類語を一意に識別する番号である。グループベクトルは、類語識別番号に対応する類語のベクトルをまとめたベクトルである。解説番号は、図5に示した解説番号に対応するものである。語義コードは、語義に割り当てられるコードである。語義ベクトルは、該当する単語の語義に割り当てられるベクトルである。
 語義判定テーブル150fは、文章に含まれる単語の語義を判定する場合に用いられるテーブルである。図8は、語義判定テーブルのデータ構造の一例を示す図である。図8に示すように、この語義判定テーブル150fは、多義語と、語義IDと、語義と、各共起単語とを対応づける。
 多義語は、複数の語義を有する単語を示す。語義IDは、多義語に含まれる語義を一意に識別する番号である。語義は、多義語に含まれる各語義を示す。共起単語は、ある語義の多義語と共起する単語を示す。共起単語は、共起率と対応づけられる。たとえば、多義語「deep」が語義「knowledge」の意味で文章に登場する場合には、係る「deep」の前後で、単語「understanding」が共起する可能性が「41%」である旨が示されている。
 図2の説明に戻る。制御部160は、単語ベクトル演算部160aと、グループベクトル演算部160bと、語義ベクトル演算部160cと、ベクトル判定部160dとを有する。制御部160は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部160は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
 単語ベクトル演算部160aは、skip-gramに基づいて、テキストデータ10に含まれる単語のベクトルを演算する処理部である。単語ベクトル演算部160aは、単語と、単語のベクトルとを対応づけて、単語ベクトルテーブル150bに格納する。
 図9は、単語ベクトル演算部の処理の一例を説明するための図である。ここでは、入力するテキストデータ10に含まれる文章を「I want to eat an apple everyday」とし、この文章に含まれる単語「eat」のベクトルを演算するものとする。
 単語ベクトル演算部160aは、与えられた単語「eat」および共起単語の確率をネットワークで学習する。たとえば、ネットワークは、入力層5a、隠れ層5b、出力層5cを含む。入力層5aに単語を入力すると、隠れ層5bに設定された特徴量に応じて、入力された単語と共起する共起単語の共起確率が、出力層5cから出力される。
 単語ベクトル演算部160aは、複数の文章について、単語「eat」と共起する共起単語との関係から、隠れ層5bの特徴量が最適な値となるように、繰り返し学習を行う。たとえば、単語「eat」を、入力層5aに入力し、文章「I want to eat an apple everyday」で、単語「eat」と共起する共起単語「apple」を出力層5cに入力して、隠れ層5bの特徴量を調整する。単語ベクトル演算部160aは、他の複数の文章についても、同様の処理を繰り返し実行する(ステップS20)。
 単語ベクトル演算部160aは、ステップS20を繰り返し実行した結果、調整された、隠れ層5bの特徴量を、単語「eat」のベクトルとして特定する(ステップS21)。図9のステップS21では、隠れ層5bの特徴量が調整された結果、単語「eat」が入力層5aに入力されると、出力層5cから共起単語(共起確率)「apple(0.4)」、「orange((0.4)」、・・・、「network(0.01)」が出力される例を示している。
 単語ベクトル演算部160aは、他の単語に関しても、上記処理を繰り返し実行することで、ベクトルを演算する。
 グループベクトル演算部160bは、単語ベクトルテーブル150bから単語を選択し、選択した単語のベクトルと、選択した単語の類語のベクトルとを基にして、グループベクトルを演算する処理部である。以下において、グループベクトル演算部160bの処理の一例について説明する。
 グループベクトル演算部160bは、選択した単語と、類語辞書テーブル150aとを比較して、選択した単語に対応する類語識別番号を判定する。グループベクトル演算部160bは、判定した類語識別番号に対応する類語を類語辞書テーブル150aから取得する。グループベクトル演算部160bは、取得した類語のベクトルを、単語ベクトルテーブル150bから取得する。以下の説明では、適宜、選択した単語とその類語をまとめて類語と表記する。グループベクトル演算部160bは、類義識別番号、類語、ベクトルを対応づけて、類語テーブル150dに登録する。
 グループベクトル演算部160bは、同一の類語識別番号に対応する類語のベクトルを基にして、かかる類語識別番号のグループベクトルを演算する。図10は、グループベクトル演算部の処理を説明するための図である。図10では、類語を「birth、nativity、nascency、birthing、childbirth、genesis」とし、グループベクトル演算部160bは、この類語のグループベクトルを演算する場合について説明する。
 図10のステップS30について説明する。グループベクトル演算部160bは、類語「birth、nativity、nascency、birthing、childbirth、genesis」のベクトル「Vbirth、V nativity、Vnascency、Vbirthing、Vchildbirth、Vgenesis」を、単語ベクトルテーブル150bから取得する。
 図10のステップS31について説明する。グループベクトル演算部160bは、各ベクトル「Vbirth、Vnativity、Vnascency、Vbirthing、Vchildbirth、Vgenesis」を基に、メッシュ51~54を生成する。メッシュ51は、ベクトル「Vbirth、Vnativity、Vgenesis」からなるメッシュである。メッシュ52は、ベクトル「Vnativity、Vchildbirth、Vgenesis」からなるメッシュである。メッシュ53は、ベクトル「Vnativity、Vnascency、Vchildbirth」からなるメッシュである。メッシュ54は、ベクトル「Vnascency、Vbirthing、Vchildbirth」からなるメッシュである。
 グループベクトル演算部160bは、メッシュ51~54の法線ベクトル51a~54aをそれぞれ算出する。たとえば、グループベクトル演算部160bは、式(1)に基づいて、ベクトルν、ν、νからなるメッシュの法線ベクトルNを算出する。図11は、ベクトルと法線ベクトルとの関係を示す図である。
 法線ベクトルN=(ν-ν)×(ν-ν)/|(ν-ν)×(ν-ν)|・・・(1)
 図10のステップS32について説明する。グループベクトル演算部160bは、法線ベクトル51a~54aを合算することで、グループベクトルV1.1を演算する。グループベクトル演算部160bは、法線ベクトル51a~54aを合算したベクトルを、正規化して、グループベクトルV1.1を生成しても良い。グループベクトル演算部160bは、演算したグループベクトルを、該当する類語識別番号と対応づけて、類語テーブル150dに登録する。たとえば、グループベクトル演算部160bは、類語識別番号「1.1」と対応づけて、グループベクトルV1.1を、類語テーブル150dに登録する。
 グループベクトル演算部160bは、他の単語についても、上記S30~S32の処理を実行することで、単語に対応するグループベクトルを演算し、類語テーブル150dに登録する。グループベクトル演算部160bは、類語テーブル150dと、多義語テーブル150eとを比較して、類語識別番号に対応づけて、グループベクトルを、多義語テーブル150eに登録する。
 なお、図7で説明した、多義語テーブル150eの多義語、語義数、語義、類語識別番号、解説番号、語義コードは、予め設定されているものとする。多義語テーブル150eのグループベクトルの情報は、上記のように、グループベクトル演算部160bに登録される。多義語テーブル150eの語義ベクトルの情報は、後述する語義ベクトル演算部160cに登録される。
 語義ベクトル演算部160cは、単語の語義に対応する語義ベクトルを演算する処理部である。以下において、語義ベクトル演算部160cの処理の一例について説明する。語義ベクトル演算部160cは、多義語テーブル150eを参照し、語義ベクトルの演算対象となる、単語と語義との組を選択する。ここでは一例として、単語「deep」の語義「KNOWLEDGE」の語義ベクトルを演算する場合について説明する。
 語義ベクトル演算部160cは、多義語テーブル150eを参照し、多義語(単語)「deep」と語義「KNOWLEDGE」に対応するグループベクトルVdeep_KNOWLEDGEを取得する。
 語義ベクトル演算部160cは、英英/国語辞書テーブル150cを参照し、単語「deep」と語義「KNOWLEDGE」に対応する解説文から、特徴単語を抽出する。たとえば、語義ベクトル演算部160cは、語義「KNOWLEDGE」の解説文「showing great knowledge or understanding」から、特徴単語「great、knowledge、understanding」を抽出する。
 語義ベクトル演算部160cは、解説文に含まれる単語のうち、グループベクトルの生成もとの類語と同一の単語を、特徴単語から除外する。語義ベクトル演算部160cは、解説文に含まれる単語のうち、冠詞、接続詞を除外する。語義ベクトル演算部160cは、解説文に含まれる単語のうち、showing等の予め定められた、定型単語を除外する。たとえば、語義ベクトル演算部160cは、解説文に含まれる単語のうち、除外対象とならない単語を、特徴単語として抽出する。
 語義ベクトル演算部160cは、特徴単語「great、knowledge、understanding」と、単語ベクトルテーブル150bとを比較して、各特徴単語のベクトルを取得する。語義ベクトル演算部160cは、各特徴単語のベクトルを基にして、法線ベクトルを算出し、算出した法線ベクトルと、単語「deep」のグループベクトルV920.17とを合算することで、語義ベクトルVdeep_KNOWLEDGEを演算する。係る処理は、図1のステップS12に示した処理に対応する。
 語義ベクトル演算部160cは、多義語「deep」の語義「KNOWLEDGE」に対応する語義ベクトル「Vdeep_KNOWLEDGE」を、多義語テーブル150eに登録する。語義ベクトル演算部160cは、多義語「deep」の他の語義、他の多義語の各語義についても、上記に対応する処理を繰り返し実行することで、語義ベクトルを演算し、多義語テーブル150eに登録する。
 ベクトル判定部160dは、ベクトルの演算対象となる文字列を取得した場合に、取得した文字列に含まれる各単語のベクトルを判定する。たとえば、ベクトル判定部160dは、文字列「You should try to gain a deep understanding of the problem.」等を受け付け、かかる文字列に含まれる各単語のベクトルを判定する。ここでは一例として、単語「deep」の語義ベクトルを判定する場合について説明する。
 ベクトル判定部160dは、単語「deep」と、語義判定テーブル150fとを比較して、文字列「You should try to gain a deep understanding of the problem.」における、単語「deep」の語義を判定する。たとえば、ベクトル判定部160dは、単語「deep」の後ろに、共起単語「understanding」が出現しているため、単語「deep」の語義を「KNOWLEDGE」と判定する。
 ベクトル判定部160dは、単語「deep」の語義を「KNOWLEDGE」に対応する語義ベクトルを、多義語テーブル150eから取得し、単語「deep」に割り当てる。
 次に、本実施例に係る語義ベクトル生成装置100の処理手順の一例について説明する。図12は、語義ベクトルを算出する処理を示すフローチャートである。図12に示すように、語義ベクトル生成装置100の単語ベクトル演算部160aは、テキストデータ10に含まれる各単語のベクトルを演算し、単語ベクトルテーブル150bに登録する(ステップS101)。
 語義ベクトル生成装置100のグループベクトル演算部160bは、テキストデータ10に含まれる複数の単語からベクトル演算の対象となる単語を選択する(ステップS102)。グループベクトル演算部160bは、類語辞書テーブル150aを基にして、選択した単語の類語を判定する(ステップS103)。
 グループベクトル演算部160bは、各類語のベクトルを、単語ベクトルテーブル150bから取得する(ステップS104)。グループベクトル演算部160bは、各類語のベクトルを基にして、グループベクトルを演算する(ステップS105)。
 語義ベクトル生成装置100の語義ベクトル演算部160cは、語義ベクトルの演算対象となる単語および語義を選択する(ステップS106)。語義ベクトル演算部160cは、英英/国語辞書テーブル150cを参照し、語義に対応する解説文を基にして、特徴単語を抽出する(ステップS107)。
 語義ベクトル演算部160cは、特徴単語のベクトルを基にして、単語のグループベクトルを補正することで、語義ベクトルを生成する(ステップS108)。語義ベクトル演算部160cは、語義ベクトルを、多義語テーブル150eに登録する(ステップS109)。
 図13は、単語に対応する語義ベクトルを判定する処理を示すフローチャートである。図13に示すように、語義ベクトル生成装置100のベクトル判定部160dは、テキストデータ10に含まれる複数の単語から、単語を選択する(ステップS201)。
 ベクトル判定部160dは、語義判定テーブル150fを基にして、単語の語義を判定する(ステップS202)。ベクトル判定部160dは、単語および語義と、多義語テーブル150eとを基にして、語義ベクトルを判定する(ステップS203)。
 次に、本実施例に係る語義ベクトル生成装置100の効果について説明する。語義ベクトル生成装置100は、対象の単語のベクトルおよび単語の類語のベクトルを合算したグループベクトルを、対象の語義の解説文に含まれる特徴単語のベクトルによって補正することで、対象の単語の語義ベクトルを生成する。このため、同一の単語であっても、単語の語義に適合した語義ベクトルを語義毎に生成することができる。従って、語義ベクトルの語義への適合性を向上することができる。
 語義ベクトル生成装置100は、対象の単語のベクトルおよび単語の類語のベクトルに基づく法線ベクトルを合算することで、グループベクトルを算出するため、対象の単語および類語を代表するベクトルを精度良く算出できる。
 語義ベクトル生成装置100は、対象の単語の語義に対応する説明文に含まれる特徴単語のベクトルと、グループベクトルとを基にして、対象の単語の語義ベクトルを生成するため、語義ベクトルを精度良く算出することができる。
 語義ベクトル生成装置100は、ベクトルの特定対象となる対象単語を受け付けた場合に、対象単語の語義を判定し、多義語テーブル150eを基にして、対象単語の語義ベクトルを特定する。このため、単語の語義に応じたベクトルを特定することができる。
 ここで、本実施例で説明した語義ベクトル生成装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図14は、語義ベクトル生成装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
 図14に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る読み取り装置204と、無線ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
 ハードディスク装置207は、単語ベクトル演算プログラム207a、グループベクトル演算プログラム207b、語義ベクトル演算プログラム207c、ベクトル判定プログラム207dを有する。CPU201は、単語ベクトル演算プログラム207a、グループベクトル演算プログラム207b、語義ベクトル演算プログラム207c、ベクトル判定プログラム207dを読み出してRAM206に展開する。
 単語ベクトル演算プログラム207aは、単語ベクトル演算プロセス206aとして機能する。グループベクトル演算プログラム207bは、グループベクトル演算プロセス206bとして機能する。語義ベクトル演算プログラム207cは、語義ベクトル演算プロセス206cとして機能する。ベクトル判定プログラム207dは、ベクトル判定プロセス206dとして機能する。
 単語ベクトル演算プロセス206aの処理は、単語ベクトル演算部160aの処理に対応する。グループベクトル演算プロセス206bの処理は、グループベクトル演算部160bの処理に対応する。語義ベクトル演算プロセス206cの処理は、語義ベクトル演算部160cの処理に対応する。ベクトル判定プロセス206dの処理は、ベクトル判定部160dの処理に対応する。
 なお、各プログラム207a~207dについては、必ずしも最初からハードディスク装置207に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207dを読み出して実行するようにしても良い。
 100 語義ベクトル生成装置
 160a 単語ベクトル演算部
 160b グループベクトル演算部
 160c 語義ベクトル演算部
 160d ベクトル判定部

Claims (12)

  1.  テキストデータに含まれる複数の単語のベクトルを取得し、
     語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出し、
     取得した前記複数の単語のベクトルのうち、抽出した前記単語のベクトルに基づき、前記いずれかのグループに応じたベクトルを生成し、
     複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した前記複数の単語のベクトルのうち、抽出した前記単語のいずれかの語義の説明に含まれる単語のベクトルを特定し、
     特定した前記ベクトルと、生成した前記ベクトルとに基づき、前記いずれかの語義に応じたベクトルを生成する
     処理をコンピュータに実行させることを特徴とする語義ベクトル生成プログラム。
  2.  前記いずれかのグループに応じたベクトルを生成する処理は、第1の単語のベクトルと、前記第1の単語の類語となる複数の第2の単語のベクトルとに基づく法線ベクトルを算出することで、前記第1の単語と前記複数の第2の単語とのグループのベクトルを生成することを特徴とする請求項1に記載の語義ベクトル生成プログラム。
  3.  前記単語のベクトルを特定する処理は、前記第1の単語の第1の語義の説明に含まれる複数の第3の単語のベクトルを特定し、前記いずれかの語義に応じたベクトルを生成する処理は、前記第1の単語と前記複数の第2の単語とのグループのベクトルと、前記複数の第3の単語のベクトルとを基にして、前記第1の単語の前記第1の語義に応じたベクトルを生成することを特徴とする請求項2に記載の語義ベクトル生成プログラム。
  4.  単語と、前記単語の語義と、前記語義に応じたベクトルとを対応づけて記憶部に記憶し、ベクトルの特定対象となる対象単語を受け付けた場合に、前記対象単語の語義を判定し、判定結果および前記記憶部とを基にして、前記対象単語のベクトルを特定する処理を更に実行させることを特徴とする請求項1に記載の語義ベクトル生成プログラム。
  5.  コンピュータが実行する語義ベクトル生成方法であって、
     テキストデータに含まれる複数の単語のベクトルを取得し、
     語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出し、
     取得した前記複数の単語のベクトルのうち、抽出した前記単語のベクトルに基づき、前記いずれかのグループに応じたベクトルを生成し、
     複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した前記複数の単語のベクトルのうち、抽出した前記単語のいずれかの語義の説明に含まれる単語のベクトルを特定し、
     特定した前記ベクトルと、生成した前記ベクトルとに基づき、前記いずれかの語義に応じたベクトルを生成する
     処理を実行することを特徴とする語義ベクトル生成方法。
  6.  前記いずれかのグループに応じたベクトルを生成する処理は、第1の単語のベクトルと、前記第1の単語の類語となる複数の第2の単語のベクトルとに基づく法線ベクトルを算出することで、前記第1の単語と前記複数の第2の単語とのグループのベクトルを生成することを特徴とする請求項5に記載の語義ベクトル生成方法。
  7.  前記単語のベクトルを特定する処理は、前記第1の単語の第1の語義の説明に含まれる複数の第3の単語のベクトルを特定し、前記いずれかの語義に応じたベクトルを生成する処理は、前記第1の単語と前記複数の第2の単語とのグループのベクトルと、前記複数の第3の単語のベクトルとを基にして、前記第1の単語の前記第1の語義に応じたベクトルを生成することを特徴とする請求項6に記載の語義ベクトル生成方法。
  8.  単語と、前記単語の語義と、前記語義に応じたベクトルとを対応づけて記憶部に記憶し、ベクトルの特定対象となる対象単語を受け付けた場合に、前記対象単語の語義を判定し、判定結果および前記記憶部とを基にして、前記対象単語のベクトルを特定する処理を更に実行させることを特徴とする請求項5に記載の語義ベクトル生成方法。
  9.  テキストデータに含まれる複数の単語のベクトルを取得する単位ベクトル演算部と、
     語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出し、取得した前記複数の単語のベクトルのうち、抽出した前記単語のベクトルに基づき、前記いずれかのグループに応じたベクトルを生成するグループベクトル演算部と、
     複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した前記複数の単語のベクトルのうち、抽出した前記単語のいずれかの語義の説明に含まれる単語のベクトルを特定し、特定した前記ベクトルと、生成した前記ベクトルとに基づき、前記いずれかの語義に応じたベクトルを生成する語彙ベクトル演算部と
     を有することを特徴とする語義ベクトル生成装置。
  10.  前記グループベクトル演算部は、第1の単語のベクトルと、前記第1の単語の類語となる複数の第2の単語のベクトルとに基づく法線ベクトルを算出することで、前記第1の単語と前記複数の第2の単語とのグループのベクトルを生成することを特徴とする請求項9に記載の語義ベクトル生成装置。
  11.  前記語彙ベクトル演算部は、前記第1の単語の第1の語義の説明に含まれる複数の第3の単語のベクトルを特定し、前記いずれかの語義に応じたベクトルを生成する処理は、前記第1の単語と前記複数の第2の単語とのグループのベクトルと、前記複数の第3の単語のベクトルとを基にして、前記第1の単語の前記第1の語義に応じたベクトルを生成することを特徴とする請求項10に記載の語義ベクトル生成装置。
  12.  前記語彙ベクトル演算部は、単語と、前記単語の語義と、前記語義に応じたベクトルとを対応づけて記憶部に記憶し、
     ベクトルの特定対象となる対象単語を受け付けた場合に、前記対象単語の語義を判定し、判定結果および前記記憶部とを基にして、前記対象単語のベクトルを特定するベクトル判定部を更に有することを特徴とする請求項9に記載の語義ベクトル生成装置。
PCT/JP2018/010878 2017-06-30 2018-03-19 語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置 WO2019003517A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/724,303 US11514248B2 (en) 2017-06-30 2019-12-22 Non-transitory computer readable recording medium, semantic vector generation method, and semantic vector generation device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-129261 2017-06-30
JP2017129261A JP6972711B2 (ja) 2017-06-30 2017-06-30 語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/724,303 Continuation US11514248B2 (en) 2017-06-30 2019-12-22 Non-transitory computer readable recording medium, semantic vector generation method, and semantic vector generation device

Publications (1)

Publication Number Publication Date
WO2019003517A1 true WO2019003517A1 (ja) 2019-01-03

Family

ID=64741404

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/010878 WO2019003517A1 (ja) 2017-06-30 2018-03-19 語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置

Country Status (3)

Country Link
US (1) US11514248B2 (ja)
JP (1) JP6972711B2 (ja)
WO (1) WO2019003517A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112183111A (zh) * 2020-09-28 2021-01-05 亚信科技(中国)有限公司 长文本语义相似度匹配方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030177000A1 (en) * 2002-03-12 2003-09-18 Verity, Inc. Method and system for naming a cluster of words and phrases
JP2006171912A (ja) * 2004-12-13 2006-06-29 Canon Inc 文書処理装置及びその制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1685556B1 (en) * 2003-11-10 2007-05-23 Philips Intellectual Property & Standards GmbH Audio dialogue system and voice browsing method
JP2010152561A (ja) 2008-12-24 2010-07-08 Toshiba Corp 類似表現抽出装置、サーバ装置及びプログラム
WO2013001678A1 (ja) * 2011-06-30 2013-01-03 パナソニック株式会社 類似症例検索装置および関連度データベース作成装置並びに類似症例検索方法および関連度データベース作成方法
JP5754018B2 (ja) 2011-07-11 2015-07-22 日本電気株式会社 多義語抽出システム、多義語抽出方法、およびプログラム
SG11201704150WA (en) * 2014-11-24 2017-06-29 Agency Science Tech & Res A method and system for sentiment classification and emotion classification
JP6583686B2 (ja) * 2015-06-17 2019-10-02 パナソニックIpマネジメント株式会社 意味情報生成方法、意味情報生成装置、およびプログラム
JP6828335B2 (ja) * 2016-09-15 2021-02-10 富士通株式会社 検索プログラム、検索装置および検索方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030177000A1 (en) * 2002-03-12 2003-09-18 Verity, Inc. Method and system for naming a cluster of words and phrases
JP2006171912A (ja) * 2004-12-13 2006-06-29 Canon Inc 文書処理装置及びその制御方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NEELAKANTAN, ARVIND ET AL.: "Efficient Non- parametric Estimation of Multiple Embeddings per Word in Vector Space", PROCEEDING OF THE 2014 CONFERENCE ON EMPIRICAL METHODS IN NATURAL LANGUAGE PROCESSING, 29 October 2014 (2014-10-29), pages 1 - 11, XP055569324 *
OUCHI, KATSUYUKI ET AL.: "Construction of Distributed Representation of Word Meanings from Distributed Representation of Words Using Synonyms", PROCEEDINGS OF THE 22ND ANNUAL MEETING OF THE NATURAL LANGUAGE PROCESSING SOCIETY, 29 February 2016 (2016-02-29), pages 99 - 102 *

Also Published As

Publication number Publication date
JP6972711B2 (ja) 2021-11-24
US20200125804A1 (en) 2020-04-23
US11514248B2 (en) 2022-11-29
JP2019012455A (ja) 2019-01-24

Similar Documents

Publication Publication Date Title
JP5377889B2 (ja) 言語処理装置およびプログラム
JP6493866B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US7136802B2 (en) Method and apparatus for detecting prosodic phrase break in a text to speech (TTS) system
US10242670B2 (en) Syntactic re-ranking of potential transcriptions during automatic speech recognition
US20170220559A1 (en) Machine translation system
CN105210055B (zh) 根据跨语种短语表的断词器
US20090192781A1 (en) System and method of providing machine translation from a source language to a target language
US20120016657A1 (en) Method of and a system for translation
US11531693B2 (en) Information processing apparatus, method and non-transitory computer readable medium
US8812294B2 (en) Translating phrases from one language into another using an order-based set of declarative rules
US11080330B2 (en) Generation of digital content navigation data
US20100125459A1 (en) Stochastic phoneme and accent generation using accent class
Alvarez et al. Improving the automatic segmentation of subtitles through conditional random field
Chinnakotla et al. Transliteration for resource-scarce languages
WO2020052060A1 (zh) 用于生成修正语句的方法和装置
JP2014002257A (ja) 言語モデル生成装置、その方法及びプログラム
WO2019003517A1 (ja) 語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置
KR20120045906A (ko) 코퍼스 오류 교정 장치 및 그 방법
JP2022121456A (ja) 処理プログラム、処理方法および情報処理装置
JP4004376B2 (ja) 音声合成装置、音声合成プログラム
CN110046346B (zh) 一种语料意图监控的方法和装置、终端设备
JP5302784B2 (ja) 機械翻訳方法、及びシステム
JP7351372B2 (ja) 生成プログラム、生成方法および情報処理装置
WO2020021609A1 (ja) 生成方法、生成プログラムおよび情報処理装置
JP7434117B2 (ja) 対話装置、方法、及びプログラム

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18823455

Country of ref document: EP

Kind code of ref document: A1