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

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

Info

Publication number
WO2021038827A1
WO2021038827A1 PCT/JP2019/034100 JP2019034100W WO2021038827A1 WO 2021038827 A1 WO2021038827 A1 WO 2021038827A1 JP 2019034100 W JP2019034100 W JP 2019034100W WO 2021038827 A1 WO2021038827 A1 WO 2021038827A1
Authority
WO
WIPO (PCT)
Prior art keywords
probability distribution
word
information processing
dictionary
words
Prior art date
Application number
PCT/JP2019/034100
Other languages
English (en)
French (fr)
Inventor
友哉 岩倉
拓哉 牧野
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to JP2021541920A priority Critical patent/JP7248130B2/ja
Priority to PCT/JP2019/034100 priority patent/WO2021038827A1/ja
Publication of WO2021038827A1 publication Critical patent/WO2021038827A1/ja
Priority to US17/671,461 priority patent/US20220171926A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/374Thesaurus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • 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/279Recognition of textual entities
    • 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/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Definitions

  • the present invention relates to an information processing method and the like.
  • Machine learning such as NN (Neural Network) may be used for automatic summarization that generates abstracts from documents such as newspapers, websites, and electric bulletin boards.
  • NN Neurological Network
  • RNN Recurrent Neural Networks
  • RNN decoder that repeatedly generates words in the summary sentence by referring to the vector of the input sentence is used to generate the summary sentence.
  • Pointer-Generator that can copy the word of the input sentence as the word of the summary sentence when the RNN decoder outputs the word of the summary sentence by combining the RNN and the Pointer function has also been proposed (Pointer Generator). Networks).
  • 16 to 21 are diagrams for explaining a conventional Pointer-Generator. 16 to 21 show a case where the summary sentence 10b is generated from the input sentence 10a by using the trained encoder 20 and the decoder 30. A device that executes a conventional Pointer-Generator is referred to as a "conventional device”. Let the input sentence 10a be "announcement of the direction of natural language processing".
  • the conventional device calculates the intermediate representation by inputting the input sentence 10a into the encoder 20.
  • the conventional device inputs the intermediate representation (vector) and the beginning symbol BOS of the word into the LSTM (Long short-term memory) 31-T1 of the decoder 30 to input the probability distribution D2 of each word included in the summary word dictionary. Is calculated.
  • the summary word dictionary is a dictionary that defines the words contained in the summary sentence, and is expanded and used in memory.
  • each word copied from the input sentence 10a is based on the hidden state vector h calculated when the input sentence 10a is input to the encoder 20 and the hidden state vector H1 output from the LSTM31-T1.
  • the probability distribution D1 of is calculated.
  • the conventional apparatus calculates the probability distribution D3 by adding the probability distribution obtained by multiplying the probability distribution D1 by the weight "0.2” and the probability distribution D2 multiplied by the weight "0.8". Then, in the probability distribution D3, the probability of the word "NLP" is maximized, so that the conventional device sets the first character of the summary sentence 10b to "NLP".
  • the weights such as "0.2" and "0.8” are determined by learning. It can also be changed dynamically according to the state, but it is set to a fixed value for simplification of explanation.
  • FIG. 18 will be described.
  • the conventional device calculates the probability distribution D2 of each word included in the summary word dictionary by inputting the vector of "NLP" and the hidden state vector H1 output from LSTM31-T1 into LSTM31-T2.
  • the conventional device calculates the probability distribution D1 of each word copied from the input sentence 10a based on the hidden state vector h and the hidden state vector H2 output from LSTM31-T2.
  • FIG. 19 will be described.
  • the conventional apparatus calculates the probability distribution D3 by adding the probability distribution obtained by multiplying the probability distribution D1 by the weight "0.2” and the probability distribution D2 multiplied by the weight "0.8". Then, in the probability distribution D3, the probability of the word "no" is maximized, so that the conventional device sets the second character of the summary sentence 10b to "no".
  • FIG. 20 will be described.
  • the conventional device calculates the probability distribution D2 of each word included in the summary word dictionary by inputting the “no” vector and the hidden state vector H2 output from the LSTM31-T2 into the LSTM31-T3.
  • the conventional device calculates the probability distribution D1 of each word copied from the input sentence 10a based on the hidden state vector h and the hidden state vector H3 output from LSTM31-T3.
  • FIG. 21 will be described.
  • the conventional apparatus calculates the probability distribution D3 by adding the probability distribution obtained by multiplying the probability distribution D1 by the weight "0.2” and the probability distribution D2 multiplied by the weight "0.8". Then, in the probability distribution D3, the probability of the word "direction" is maximized, so that the conventional device sets the third character of the summary sentence 10b to "direction".
  • the conventional apparatus generates the summary sentence 10b "direction of NLP" from the input sentence 10a "announcement of the direction of natural language processing” by executing the processes of FIGS. 16 to 21.
  • FIG. 22 is a diagram for explaining a conventional abstract dictionary generation process.
  • the conventional device acquires the learning data 40 in which the input sentence and the summary sentence are a pair
  • the conventional device generates a summary word dictionary based on each summary sentence included in the learning data 40.
  • the conventional device identifies the frequency of each word included in the summary sentence, and registers the word whose frequency is equal to or higher than the threshold value in the summary word dictionary.
  • Table 41 The relationship between the words contained in each summary sentence and the frequency is shown in Table 41.
  • the conventional device expands the summary word dictionary into the memory, and the probability distribution D1 of each word copied from the input sentence 10a and the probability distribution of each word included in the summary word dictionary.
  • the word of the summary sentence 10b is specified based on D2.
  • the words copied from the input sentence 10a include the same words as the words registered in the summary word dictionary, and the words corresponding to the copy of the input sentence 10a are included in the summary word dictionary. It ends up. Therefore, there is room for reducing the number of words registered in the summary word dictionary and reducing the memory usage. For example, in FIGS. 16 to 21, "no" included in the summary word dictionary is included in the copy of the word in the input sentence 10a.
  • an object of the present invention is to provide an information processing method, an information processing program, and an information processing device capable of reducing memory usage.
  • the computer executes the following processing.
  • the computer extracts words that are not included in the second document from the first document, registers the extracted words in the first dictionary, and converts the words that make up the second document into a recursive encoder.
  • the intermediate representation vector is calculated by inputting in order.
  • the computer calculates the first probability distribution based on the result of inputting the intermediate representation vector into the recursive decoder that calculates the probability distribution of each word registered in the first dictionary.
  • the computer is based on the hidden state vector calculated by inputting each word constituting the second document into the recursive encoder and the hidden state vector output from the recursive decoder. Calculate the second probability distribution of the second dictionary of words that make up the document.
  • the computer generates or learns the words that make up the first document based on the first probability distribution and the second probability distribution.
  • FIG. 1 is a diagram for explaining a process of generating a summary word dictionary by the information processing apparatus according to the present embodiment.
  • FIG. 2 is a diagram for explaining the reason for comparing the pair of the input sentence and the summary sentence.
  • FIG. 3 is a diagram (1) for explaining a process in which the information processing apparatus according to the present embodiment generates a summary sentence.
  • FIG. 4 is a diagram (2) for explaining a process in which the information processing apparatus according to the present embodiment generates a summary sentence.
  • FIG. 5 is a diagram (3) for explaining a process in which the information processing apparatus according to the present embodiment generates a summary sentence.
  • FIG. 6 is a diagram (4) for explaining a process in which the information processing apparatus according to the present embodiment generates a summary sentence.
  • FIG. 1 is a diagram for explaining a process of generating a summary word dictionary by the information processing apparatus according to the present embodiment.
  • FIG. 2 is a diagram for explaining the reason for comparing the pair of the input sentence and the summary sentence.
  • FIG. 7 is a diagram (5) for explaining a process in which the information processing apparatus according to the present embodiment generates a summary sentence.
  • FIG. 8 is a diagram (6) for explaining a process in which the information processing apparatus according to the present embodiment generates a summary sentence.
  • FIG. 9 is a diagram for explaining the learning process of the information processing apparatus according to the present embodiment.
  • FIG. 10 is a functional block diagram showing the configuration of the information processing apparatus according to the present embodiment.
  • FIG. 11 is a diagram showing an example of the data structure of the summary word dictionary.
  • FIG. 12 is a diagram showing an example of the data structure of the original text dictionary.
  • FIG. 13 is a flowchart showing a processing procedure of the information processing apparatus according to the present embodiment.
  • FIG. 14 is a flowchart showing a processing procedure of the summary word dictionary generation process.
  • FIG. 15 is a diagram showing an example of a hardware configuration of a computer that realizes a function similar to that of an information processing device.
  • FIG. 16 is a diagram (1) for explaining a conventional Pointer-Generator.
  • FIG. 17 is a diagram (2) for explaining a conventional Pointer-Generator.
  • FIG. 18 is a diagram (3) for explaining a conventional Pointer-Generator.
  • FIG. 19 is a diagram (4) for explaining a conventional Pointer-Generator.
  • FIG. 20 is a diagram (5) for explaining a conventional Pointer-Generator.
  • FIG. 21 is a diagram (6) for explaining a conventional Pointer-Generator.
  • FIG. 22 is a diagram for explaining a conventional summary word dictionary generation process.
  • FIG. 1 is a diagram for explaining a process of generating a summary word dictionary by the information processing apparatus according to the present embodiment.
  • the information processing apparatus according to this embodiment compares each pair of the input sentence and the summary sentence, and registers the words included only in the summary sentence in the summary word dictionary.
  • the input sentence corresponds to the "second document”.
  • the abstract corresponds to the "first document”.
  • the learning data 70 includes a pair of the input sentence 11a and the summary sentence 11b, a pair of the input sentence 12a and the summary sentence 12b, and a pair of the input sentence 13a and the summary sentence 13b.
  • the training data 70 may include pairs of other input sentences and other summary sentences.
  • the information processing device compares each word of the input sentence 11a with each word of the summary sentence 11b, and extracts the word "classification” contained only in the summary sentence 11b.
  • the extraction result 11c includes the extracted word "classification” and the frequency "1".
  • the information processing device compares each word of the input sentence 12a with each word of the summary sentence 12b, and extracts the word "classification” contained only in the summary sentence 12b.
  • the extraction result 12c includes the extracted word "classification” and the frequency "1".
  • the information processing device compares each word of the input sentence 13a with each word of the summary sentence 13b, and extracts the word "NLP" contained only in the summary sentence 13b.
  • the extraction result 13c includes the extracted word "NLP” and the frequency "1".
  • the information processing device also extracts words contained only in the summary sentence for pairs of other input sentences and other summary sentences, and repeatedly executes a process of associating the extracted words with the frequency.
  • the information processing apparatus aggregates the extraction results 11c to 13c (other extraction results) to generate the aggregation result 15 in which the word and the frequency are associated with each other.
  • the information processing device registers the words included in the aggregation result in the summary word dictionary.
  • the information processing device may register the words whose frequency is equal to or higher than the threshold value among the words included in the aggregation result in the summary word dictionary.
  • the summary word dictionary corresponds to the "first dictionary".
  • the information processing device executes the process described in FIG.
  • the information processing device registers words that exist only in the summary sentence in the pair of the input sentence and the summary sentence in the summary word dictionary, thus reducing the amount of data in the summary word dictionary. And the memory usage can be reduced.
  • the information processing device does not compare the set of words in all input sentences with the set of words in all summary sentences. If a set of words in all input sentences is compared with a set of words in all summary sentences and words existing only on the summary sentence side are registered in the summary word dictionary, the summary word dictionary is used. In some cases, the summary text cannot be generated properly.
  • FIG. 2 is a diagram for explaining the reason for comparing the pair of the input sentence and the summary sentence.
  • the extraction result is 15a.
  • the extraction result is 15b. Words that exist in the extraction result 15a but are not in the extraction result 15b are as shown in the extraction result 15c.
  • 3 to 8 are diagrams for explaining a process in which the information processing apparatus according to the present embodiment generates a summary sentence.
  • the information processing device calculates the intermediate representation by inputting the input sentence 10a into the encoder 50.
  • the information processing device inputs the intermediate representation (vector) and the beginning symbol ⁇ BOS (Begin Of Sentence)> of the word into the LSTM (Long short-term memory) 61-T1 of the decoder 60 to enter the summary word dictionary.
  • the probability distribution D2 of each included word is calculated.
  • the probability distribution D2 corresponds to the "first probability distribution".
  • the summary word dictionary used in this embodiment is a summary word dictionary generated by the process described in FIG. 1, and as a result of comparing pairs of input sentences and summary sentences, words contained only in the summary sentence are found. It is registered in the summary word dictionary. Therefore, the size of the summary word dictionary used in this embodiment is smaller than that of the summary word dictionary used by the conventional apparatus described with reference to FIGS. 16 to 21.
  • the information processing apparatus copies each copy from the input sentence 10a based on the hidden state vector h calculated when the input sentence 10a is input to the encoder 50 and the hidden state vector H1 output from the LSTM61-T1.
  • the word probability distribution D1 is calculated.
  • the probability distribution D1 corresponds to the "second probability distribution".
  • the information processing apparatus calculates the probability distribution D3 by adding the probability distribution obtained by multiplying the probability distribution D1 by the weight "0.2” and the probability distribution D2 multiplied by the weight "0.8". Then, in the probability distribution D3, the probability of the word "NLP" is maximized, so that the information processing apparatus sets the first character of the summary sentence 10b to "NLP".
  • the weight for the probability distribution D1 and the weight for the probability distribution D1 are preset.
  • the information processing device makes the weight of the probability distribution D2 larger than the weight of the probability distribution D1.
  • the information processing device calculates the probability distribution D2 of each word included in the summary word dictionary by inputting the vector of "NLP" and the hidden state vector H1 output from LSTM61-T1 into LSTM61-T2.
  • the information processing device calculates the probability distribution D1 of each word copied from the input sentence 10a based on the hidden state vector h and the hidden state vector H2 output from LSTM61-T2.
  • the information processing apparatus calculates the probability distribution D3 by adding the probability distribution obtained by multiplying the probability distribution D1 by the weight "0.2” and the probability distribution D2 multiplied by the weight "0.8". Then, in the probability distribution D3, the probability of the word "no" is maximized, so that the information processing apparatus sets the second character of the summary sentence 10b to "no".
  • the information processing device calculates the probability distribution D2 of each word included in the summary word dictionary by inputting the “no” vector and the hidden state vector H2 output from the LSTM61-T2 into the LSTM61-T3.
  • the information processing device calculates the probability distribution D1 of each word copied from the input sentence 10a based on the hidden state vector h and the hidden state vector H3 output from LSTM61-T3.
  • the information processing apparatus calculates the probability distribution D3 by adding the probability distribution obtained by multiplying the probability distribution D1 by the weight "0.2” and the probability distribution D2 multiplied by the weight "0.8". Then, in the probability distribution D3, the probability of the word "direction" is maximized, so that the information processing apparatus sets the third character of the summary sentence 10b to "direction".
  • the input sentence 10a "announcement of the direction of natural language processing" to the summary sentence 10b "direction of NLP". Can be generated.
  • the summary word dictionary used in this embodiment is a summary word dictionary generated by the process described in FIG. 1, and as a result of comparing pairs of input sentences and summary sentences, words contained only in the summary sentence are found. It is registered in the summary word dictionary. Therefore, since the size of the summary word dictionary used in this embodiment is smaller than that of the summary word dictionary used by the conventional apparatus described with reference to FIGS. 16 to 21, the memory usage can be reduced. Further, since the size of the summary word dictionary is reduced, the processing speed can be improved as compared with the conventional apparatus.
  • FIG. 9 is a diagram for explaining the learning process of the information processing apparatus according to the present embodiment.
  • the input sentence 14a for learning is referred to as "direction announcement of natural language processing”
  • the summary sentence 14b paired with the input sentence 14a is referred to as "direction of NLP”.
  • the encoder 50 includes an LSTM51.
  • the RSTM51 sequentially accepts the input of the vector of each word of the input sentence 14a.
  • the LSTM 51 performs a calculation based on the word vector and the parameter ⁇ 51 of the LSTM 51, and outputs the hidden state vector to the next LSTM 51.
  • the next hidden state vector is calculated based on the hidden state vector calculated by the previous LSTM51 and the vector of the next word.
  • the RSTM51 repeatedly executes the above processing for each word of the input sentence 14a.
  • the SSTM 51 outputs a hidden state vector calculated when the last word of the input sentence 14a is input to the decoder 60 as an intermediate representation.
  • the decoder 60 includes LSTM61-T1,61-T2,61-T3,61-T4. LSTM61-T1,61-T2,61-T3,61-T4 are collectively referred to as LSTM61.
  • the RSTM61 accepts an intermediate representation (vector) from the encoder 50 and receives an input of a vector of words in the summary sentence 14b.
  • the LSTM 61 calculates the hidden state vector by performing calculations based on the intermediate representation, the word vector, and the parameter ⁇ 61 of the LSTM 61.
  • the LSTM61 passes the hidden state vector to the LSTM61 of the next word.
  • the LSTM22 repeatedly executes the above process each time a word vector is input.
  • the information processing device calculates the probability distribution D2 (not shown) of each word included in the summary word dictionary based on the hidden state vector output from RSTM61 and the summary word dictionary. Further, the information processing device is based on the hidden state vector calculated when the input sentence 14a is input to the encoder 50 and the hidden state vector output from the LSTM61, and the information processing device copies each word from the input sentence 14a.
  • the probability distribution D1 (not shown) is calculated.
  • the information processing apparatus calculates the probability distribution D3 (not shown) by adding the probability distribution D1 and the probability distribution D2.
  • the information processing apparatus calculates the probability distribution D3 each time the vector of each word of the summary sentence 14b is input to the LSTM61.
  • the information processing apparatus when the information processing apparatus inputs each word of the summary sentence 14b into the RSTM61, the information processing device first inputs "BOS (Begin Of Sentence)" as a word indicating the beginning of the sentence. Further, the information processing apparatus sets "EOS (End Of Sentence)” as a word indicating the end of the summary sentence 14b to be compared when calculating the loss with the probability distribution D3.
  • BOS Begin Of Sentence
  • EOS End Of Sentence
  • the information processing device updates the intermediate representation of the RSTM61 with the intermediate representation output from the encoder 50, and then executes the next processing from the first time to the fourth time in order.
  • the information processing device calculates the hidden state vector by inputting the output (intermediate representation) of the LSTM51 of the encoder 50 and the vector of the word "BOS" into the LSTM61-T1 at the first time.
  • the information processing device calculates the probability distribution D3 of each word.
  • the information processing device compares the calculated probability distribution with the correct word "NLP" and calculates the loss at the first time.
  • the information processing device calculates the hidden state vector by inputting the output of the previous LSTM61-T1 and the vector of the word "NLP" into LSTM61-T2.
  • the information processing device calculates the probability distribution D3 of each word.
  • the information processing device compares the calculated probability distribution with the correct word "no" and calculates the loss at the second time.
  • the information processing device calculates the hidden state vector by inputting the output of the previous LSTM61-T2 and the vector of the word "no" into LSTM61-T3 at the third time.
  • the information processing device calculates the probability distribution D3 of each word.
  • the information processing device compares the calculated probability distribution with the correct word "direction” and calculates the loss at the third time.
  • the information processing device calculates the hidden state vector by inputting the output of the previous LSTM61-T3 and the vector of the word "direction" into LSTM61-T4 at the 4th time.
  • the information processing device calculates the probability distribution D3 of each word.
  • the information processing device compares the calculated probability distribution with the correct word "EOS" and calculates the loss at the fourth time.
  • the information processing apparatus updates the parameter ⁇ 51 of the LSTM 51 and the parameter ⁇ 61 of the LSTM 61 so that the loss calculated from the first time to the fourth time is minimized. For example, the information processing apparatus updates the parameters of the parameter ⁇ 51 of the LSTM 51 and the parameter ⁇ 61 of the LSTM 61 by executing the optimization of the log-likelihood based on the losses at the first to fourth hours.
  • the information processing apparatus learns the parameters of the parameter ⁇ 51 of the LSTM 51 and the parameter ⁇ 61 of the LSTM 61 by repeatedly executing the above processing using the pair of the input sentence and the summary sentence included in the learning data.
  • FIG. 10 is a functional block diagram showing the configuration of the information processing apparatus according to the present embodiment.
  • the information processing apparatus 100 has a learning unit 100A and a generation unit 100B.
  • the loss calculation unit 107 included in the learning unit 100A, the update unit 108, and the generation unit 113 included in the generation unit 100B are examples of the “information processing unit”.
  • the learning unit 110A and the generation unit 100B can be realized by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like. Further, the learning unit 110A and the generation unit 100B can also be realized by hard-wired logic such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the learning data storage unit 101, dictionary information storage unit 103, and model storage unit 104 correspond to semiconductor memory elements such as RAM (Random Access Memory) and flash memory (Flash Memory), and storage devices such as HDD (Hard Disk Drive). To do.
  • semiconductor memory elements such as RAM (Random Access Memory) and flash memory (Flash Memory), and storage devices such as HDD (Hard Disk Drive). To do.
  • the learning unit 100A generates the summary word dictionary described in FIG. Further, the learning unit 100A executes the learning process described with reference to FIG.
  • the learning unit 100A includes a learning data storage unit 101, a dictionary generation unit 102, a dictionary information storage unit 103, a model storage unit 104, an encoder execution unit 105a, a decoder execution unit 105b, a calculation unit 106, and a loss calculation. It has a unit 107 and an update unit.
  • the learning data storage unit 101 is a storage device that stores the learning data 70 described with reference to FIG. As described with reference to FIG. 1, the learning data 70 includes a pair of the input sentence 11a and the summary sentence 11b, a pair of the input sentence 12a and the summary sentence 12b, and a pair of the input sentence 13a and the summary sentence 13b.
  • the training data 70 may include pairs of other input sentences and other summary sentences.
  • the dictionary generation unit 102 compares each pair of the input sentence and the summary sentence of the learning data 70 stored in the learning data storage unit 101, and registers the words contained only in the summary sentence in the summary word dictionary.
  • a processing unit that generates a summary word dictionary corresponds to the process described with reference to FIG.
  • the dictionary generation unit 102 stores the information of the summary word dictionary in the dictionary information storage unit 103.
  • the dictionary generation unit 102 may exclude words whose frequency is less than the threshold value from the summary word dictionary.
  • the dictionary generation unit 102 generates the original text dictionary based on each input sentence included in the learning data 70.
  • the original text dictionary is an example of a "second dictionary".
  • the dictionary generation unit 102 stores the generated information of the original text dictionary in the dictionary information storage unit 103.
  • the dictionary generation unit 102 generates the original text dictionary by aggregating the words of each input sentence included in the learning data 70.
  • the dictionary generation unit 102 may exclude words whose frequency is less than the threshold value from the original text dictionary.
  • the dictionary information storage unit 103 is a storage device that stores a summary word dictionary and an original text dictionary.
  • FIG. 11 is a diagram showing an example of the data structure of the summary word dictionary. As shown in FIG. 11, the summary word dictionary 103a associates words with frequencies.
  • the word in the summary word dictionary 103a is a word included only in the summary sentence as a result of comparing the pair of the input sentence and the summary sentence of the learning data 70.
  • the frequency is the frequency of occurrence of words that appear in the summary sentence.
  • FIG. 12 is a diagram showing an example of the data structure of the original text dictionary.
  • the original text dictionary 103b associates words with frequencies.
  • the words in the original text dictionary 103b are words included in each input sentence of the learning data 70.
  • the frequency is the frequency of occurrence of words that appear in the input sentence.
  • the model storage unit 104 is a storage device that stores the parameters of the encoder 50 and the parameters of the decoder 60.
  • the parameters of the encoder 50 include the parameter ⁇ 51 of the LSTM 51.
  • the parameters of the decoder 60 include the parameter ⁇ 61 of the LSTM 61.
  • the encoder execution unit 105a is a processing unit that executes the encoder 50 described with reference to FIG. For example, the encoder execution unit 105a expands the LSTM51 or the like on the work area (memory or the like). The encoder execution unit 105a sets the parameter ⁇ 51 of the LSTM 51 stored in the model storage unit 104 in the LSTM 51. When the parameter ⁇ 51 of the LSTM 51 is updated by the update unit 108 described later, the encoder execution unit 105a sets the updated parameter ⁇ 51 in the LSTM 51.
  • the encoder execution unit 105a acquires the original text dictionary 104b stored in the dictionary information storage unit 103.
  • the encoder execution unit 105a determines whether or not the input word exists in the original text dictionary 103b.
  • the encoder execution unit 105a inputs the word vector to the encoder 50.
  • the encoder execution unit 105a inputs the vector of "Unknown" to the encoder 50.
  • the decoder execution unit 105b is a processing unit that executes the decoder 60 described with reference to FIG. For example, the decoder execution unit 105b expands the LSTM61 or the like on the work area (memory or the like). The decoder execution unit 105b sets the parameter ⁇ 61 of the LSTM 61 stored in the model storage unit 104 to the LSTM 61. When the parameter ⁇ 61 of the LSTM 61 is updated by the update unit 108 described later, the decoder execution unit 105b sets the updated parameter ⁇ 61 to the LSTM 61.
  • the decoder execution unit 105b acquires a summary sentence paired with the input sentence input by the encoder execution unit 105a to the encoder 50 from the learning data 70 and inputs it to the decoder 60.
  • the word input by the decoder execution unit 105b to the decoder 60 is defined as "BOS".
  • the decoder execution unit 105b outputs the information of the correct answer words sequentially input to the decoder 60 to the loss calculation unit 107.
  • the calculation unit 106 is a processing unit that calculates various probability distributions based on the output result of the encoder 50 executed by the encoder execution unit 105a and the output result of the decoder 60 executed by the decoder execution unit 105b.
  • the calculation unit 106 expands the summary word dictionary 103a into a work area (memory, etc.).
  • the calculation unit 106 calculates the probability distribution D2 of each word included in the summary word dictionary 103a based on the hidden state vector output from the RSTM 61 and the summary word dictionary 103a. Further, the calculation unit 106 has a probability distribution of each word copied from the input sentence based on the hidden state vector calculated when the input sentence is input to the encoder 50 and the hidden state vector output from the LSTM61. Calculate D1.
  • the information processing apparatus calculates the probability distribution D3 by adding the probability distribution D1 and the probability distribution D2.
  • the words not included in the original text dictionary 103b are included in the probability distribution D1 as "Unknown", and the probability is calculated. Further, when the word of the probability distribution D1 includes "Unknown", information indicating the number of the word from the beginning of the input sentence is added to the "Unknown". Copying from the input sentence is performed using the information on the number of words from the beginning.
  • the calculation unit 106 calculates the probability distribution D3 for each of the first to fourth hours, and outputs the probability distribution D3 at each time to the loss calculation unit 107.
  • the loss calculation unit 107 is a processing unit that calculates the loss at each time by comparing the probability distribution D3 of each time acquired from the calculation unit 106 with the correct word acquired from the decoder 105 execution unit b.
  • the loss calculation unit 107 outputs the loss information at each time to the update unit 108.
  • the update unit 108 is a processing unit that updates the parameter ⁇ 51 of the LSTM 51 and the parameter ⁇ 61 of the LSTM 61 so that the loss at each time acquired from the loss calculation unit 107 is minimized. For example, the update unit 108 optimizes the log-likelihood based on the loss at the 1st to 4th time, so that the parameter ⁇ 51 of the LSTM 51 and the parameter ⁇ of the LSTM 61 stored in the model storage unit 104 Update 61 parameters.
  • the generation unit 100B is a processing unit that generates a summary sentence from an input sentence by using the trained encoder 50 and the decoder 60 as described with reference to FIGS. 3 to 8.
  • the generation unit 100B includes an acquisition unit 110, an encoder execution unit 111a, a decoder execution unit 111b, a calculation unit 112, and a generation unit 113.
  • the acquisition unit 110 is a processing unit that acquires an input sentence to be summarized via an input device or the like.
  • the acquisition unit 110 outputs the acquired input sentence to the encoder execution unit 111a.
  • the encoder execution unit 111a is a processing unit that executes the encoder 50 described with reference to FIGS. 3 to 8. For example, the encoder execution unit 111a expands the LSTM51 or the like on the work area (memory or the like). The encoder execution unit 111a sets the parameter ⁇ 51 of the LSTM 51 stored in the model storage unit 104 in the LSTM 51.
  • the encoder execution unit 111a acquires the original text dictionary 104b stored in the dictionary information storage unit 103.
  • the encoder execution unit 105a determines whether or not the input word exists in the original text dictionary 103b.
  • the encoder execution unit 111a inputs the vector of the word to the encoder 50.
  • the encoder execution unit 111a inputs the vector of "Unknown" to the encoder 50.
  • the decoder execution unit 111b is a processing unit that executes the decoder 60 described with reference to FIGS. 3 to 8. For example, the decoder execution unit 111b expands the LSTM61 or the like on the work area (memory or the like). The decoder execution unit 111b sets the parameter ⁇ 61 of the LSTM 61 stored in the model storage unit 104 to the LSTM 61.
  • the calculation unit 112 is a processing unit that calculates various probability distributions based on the output result of the encoder 50 executed by the encoder execution unit 111a and the output result of the decoder 60 executed by the decoder execution unit 111b.
  • the calculation unit 112 expands the summary word dictionary 103a into a work area (memory, etc.).
  • the calculation unit 112 calculates the probability distribution D2 of each word included in the summary word dictionary 103a based on the hidden state vector output from the RSTM 61 and the summary word dictionary 103a. Further, the calculation unit 112 has a probability distribution of each word copied from the input sentence based on the hidden state vector calculated when the input sentence is input to the encoder 50 and the hidden state vector output from the LSTM61. Calculate D1.
  • the information processing apparatus calculates the probability distribution D3 by adding the probability distribution D1 and the probability distribution D2.
  • the calculation unit 112 outputs the probability distribution D3 at each time to the generation unit 113.
  • the generation unit 113 is a processing unit that generates words in a summary sentence based on the probability distribution D3 at each time output from the calculation unit 112. At each time, the generation unit 113 repeatedly executes a process of generating a word corresponding to the maximum probability among the probabilities in the probability distribution D3 as a word in the summary sentence. For example, at the l-time, when the probability of "NLP" is the maximum among the probabilities of each word in the probability distribution D3, "NLP" is generated as the first word from the beginning of the summary sentence.
  • FIG. 13 is a flowchart showing a processing procedure of the information processing apparatus according to the present embodiment.
  • the learning unit 100A of the information processing device 100 acquires the learning data and stores it in the learning data storage unit 101 (step S101).
  • the dictionary generation unit 102 of the information processing device 100 generates the original text dictionary 103b based on the words appearing in the input sentence of the learning data, and stores it in the dictionary information storage unit 103 (step S102).
  • the dictionary generation unit 102 executes the summary word dictionary generation process (step S103).
  • the dictionary generation unit 102 stores the summary word dictionary 103a in the dictionary information storage unit 103 (step S104).
  • the learning unit 100A executes the learning process (step S105).
  • the acquisition unit 110 of the information processing apparatus 100 acquires an input sentence to be generated as a summary sentence (step S106).
  • the generation unit 100B executes the generation process (step S107).
  • the generation unit 100B outputs a summary sentence (step S108).
  • FIG. 14 is a flowchart showing a processing procedure of the summary word dictionary generation process.
  • the dictionary generation unit 102 of the information processing apparatus 100 acquires the learning data and the occurrence frequency threshold value F from the learning data storage unit 101 (step S201).
  • the dictionary generation unit 102 acquires a pair t of an unprocessed input sentence and a summary sentence from the learning data (step S202).
  • the unprocessed word w in the summary sentence of the pair t is acquired (step S203).
  • the dictionary generation unit 102 proceeds to step S206.
  • the dictionary generation unit 102 adds 1 to the number of occurrences of the word w in the summary word dictionary (step S205). ).
  • step S206 When the summary sentence in the pair t contains an unprocessed word (step S206, Yes), the dictionary generation unit 102 proceeds to step S203. On the other hand, when the summary sentence in the pair t does not include an unprocessed word (step S206, No), the dictionary generation unit 102 proceeds to step S207.
  • the dictionary generation unit 102 proceeds to step S202 when there is an unprocessed pair in the training data (steps S207, Yes). On the other hand, the dictionary generation unit 102 shifts to step S208 when there are unprocessed pairs in the training data (steps S207 and No).
  • the dictionary generation unit 102 outputs the words in the summary word dictionary whose number of occurrences is the threshold value F or more as the final summary word dictionary (step S208).
  • the information processing apparatus 100 When the information processing apparatus 100 generates the summary word dictionary 103a used in the Pointer-Generator, the information processing apparatus 100 compares the pair of the input sentence and the summary sentence, and puts the words contained only in the summary sentence into the summary word dictionary 103a. to register. As a result, the amount of data in the summary word dictionary 103a can be reduced, and the amount of memory used can be reduced.
  • the information processing device 100 aggregates the frequencies of words that are not included in the input sentence among the summary sentences, and registers the words whose frequency is equal to or higher than the predetermined frequency in the summary word dictionary 103a. The amount of data can be further reduced.
  • the information processing apparatus 100 uses the probability distribution D3, which is the sum of the probability distribution D1 of each word copied from the input sentence and the probability distribution D2 of each word included in the summary word dictionary 103a, to generate words in the summary sentence. Identify. Thereby, the summary sentence can be generated by the word included in the summary word dictionary 103a or the word of the input sentence.
  • FIG. 15 is a diagram showing an example of a computer hardware configuration that realizes a function similar to that of an information processing device.
  • the computer 200 includes a CPU 201 that executes various arithmetic processes, an input device 202 that receives data input from a user, a display 203, and a reading device 204. Further, the computer 200 has a communication device 205 that exchanges data with and from an external device via a network.
  • the computer 200 has a RAM 206 for temporarily storing various information and a hard disk device 207. Then, each device 201 to 207 is connected to the bus 208.
  • the hard disk device 207 has a dictionary generation program 207a, a learning program 207b, and a generation program 207c.
  • the CPU 201 reads the dictionary generation program 207a, the learning program 207b, and the generation program 207c and develops them in the RAM 206.
  • the dictionary program 207a functions as a dictionary generation process 206a.
  • the learning program 207b functions as a learning process 206b.
  • the generation program 207c functions as the generation process 206c.
  • the processing of the dictionary generation process 206a corresponds to the processing of the dictionary generation unit 102.
  • the processing of the learning process 206b corresponds to the processing of the learning unit 100A (excluding the dictionary generation unit 102).
  • the processing of the generation process 206c corresponds to the processing of the generation unit 100B.
  • each program 207a to 207c does not necessarily have to be stored in the hard disk device 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, or an IC card inserted into the computer 200. Then, the computer 200 may read and execute each of the programs 207a to 207c.
  • Information processing device 100A Learning unit 100B Generation unit 101 Learning data storage unit 102 Dictionary generation unit 103 Dictionary information storage unit 104 Model storage unit 105a, 111a Encoder execution unit 105b, 111b Decoder execution unit 106, 112 Calculation unit 107 Loss calculation unit 108 Update part 110 Acquisition part 113 Generation part

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

情報処理装置は、第一の文書のうち、第二の文書に含まれていない単語を抽出し、抽出した単語を第一の辞書に登録し、第二の文書を構成する単語を再帰型のエンコーダに順番に入力することで中間表現ベクトルを算出する。情報処理装置は、第一の辞書に登録された各単語の確率分布を算出する再帰型のデコーダに、中間表現ベクトルを入力した結果を基にして、第一の確率分布を算出する。情報処理装置は、第二の文書を構成する各単語を再帰型のエンコーダに入力することで算出される隠れ状態ベクトルと、再帰型のデコーダから出力される隠れ状態ベクトルとを基にして、第二の文書を構成される単語の第二の辞書の第二の確率分布を算出する。情報処理装置は、第一の確率分布と、第二の確率分布とを基にして、第一の文書を構成する単語を生成または学習する。

Description

情報処理方法、情報処理プログラムおよび情報処理装置
 本発明は、情報処理方法等に関する。
 新聞やWebサイト、電光掲示板などの文書から要約文を生成する自動要約にNN(Neural Network)等の機械学習が利用されることがある。たとえば、入力文をベクトル化するRNN(Recurrent Neural Networks)エンコーダと、入力文のベクトルを参照して要約文の単語の生成を繰り返すRNNデコーダとが接続されたモデルが要約文の生成に用いられる。
 この他、RNNとPointer機能を組み合わせることにより、RNNデコーダが要約文の単語を出力する際、入力文の単語を要約文の単語としてコピーすることができるPointer-Generatorも提案されている(Pointer Generator Networks)。
 図16~図21は、従来のPointer-Generatorを説明するための図である。図16~図21では、学習済みのエンコーダ20、デコーダ30を用いて、入力文10aから、要約文10bを生成する場合について説明する。従来のPointer-Generatorを実行する装置を「従来装置」と表記する。入力文10aを「自然言語処理の方向性発表」とする。
 図16について説明する。従来装置は、入力文10aをエンコーダ20に入力することで、中間表現を算出する。従来装置は、中間表現(ベクトル)と、単語の文頭記号BOSを、デコーダ30のLSTM(Long short-term memory)31-T1に入力することで、要約単語辞書に含まれる各単語の確率分布D2を算出する。要約単語辞書は、要約文に含まれる単語を定義する辞書であり、メモリに展開されて用いられる。
 従来装置は、入力文10aをエンコーダ20に入力した際に算出される隠れ状態ベクトルhと、LSTM31-T1から出力される隠れ状態ベクトルH1とを基にして、入力文10aからコピーされる各単語の確率分布D1を算出する。
 図17について説明する。従来装置は、確率分布D1に重み「0.2」を乗算した確率分布と、確率分布D2に重み「0.8」を乗算した確率分布とを加算した確率分布D3を算出する。そうすると、確率分布D3において、単語「NLP」の確率が最大となるため、従来装置は、要約文10bの1文字目を「NLP」に設定する。なお、「0.2」、「0.8」といった重みは学習により決定されるものである。また、状態に応じて動的に変えることもできるが、説明の簡単化のために固定の値とする。
 図18について説明する。従来装置は、「NLP」のベクトルと、LSTM31-T1から出力される隠れ状態ベクトルH1とをLSTM31-T2に入力することで、要約単語辞書に含まれる各単語の確率分布D2を算出する。
 従来装置は、隠れ状態ベクトルhと、LSTM31-T2から出力される隠れ状態ベクトルH2とを基にして、入力文10aからコピーされる各単語の確率分布D1を算出する。
 図19について説明する。従来装置は、確率分布D1に重み「0.2」を乗算した確率分布と、確率分布D2に重み「0.8」を乗算した確率分布とを加算した確率分布D3を算出する。そうすると、確率分布D3において、単語「の」の確率が最大となるため、従来装置は、要約文10bの2文字目を「の」に設定する。
 図20について説明する。従来装置は、「の」のベクトルと、LSTM31-T2から出力される隠れ状態ベクトルH2とをLSTM31-T3に入力することで、要約単語辞書に含まれる各単語の確率分布D2を算出する。
 従来装置は、隠れ状態ベクトルhと、LSTM31-T3から出力される隠れ状態ベクトルH3とを基にして、入力文10aからコピーされる各単語の確率分布D1を算出する。
 図21について説明する。従来装置は、確率分布D1に重み「0.2」を乗算した確率分布と、確率分布D2に重み「0.8」を乗算した確率分布とを加算した確率分布D3を算出する。そうすると、確率分布D3において、単語「方向」の確率が最大となるため、従来装置は、要約文10bの3文字目を「方向」に設定する。
 上記のように、従来装置は、図16~図21の処理を実行することで、入力文10a「自然言語処理の方向性発表」から要約文10b「NLPの方向」を生成する。
 ここで、従来装置で用いられる要約単語辞書の生成処理の一例について説明する。図22は、従来の要約書辞書の生成処理を説明するための図である。従来装置は、入力文と要約文とがペアとなった学習データ40を取得すると、学習データ40に含まれる各要約文を基にして、要約単語辞書を生成する。たとえば、従来装置は、要約文に含まれる各単語の頻度を特定し、頻度が閾値以上となる単語を、要約単語辞書に登録する。各要約文に含まれる単語と頻度との関係は、テーブル41に示すものとなる。
特開2019-117486号公報
 図16~図21で説明したように、従来装置は、要約単語辞書をメモリに展開し、入力文10aからコピーされる各単語の確率分布D1と、要約単語辞書に含まれる各単語の確率分布D2とを基にして、要約文10bの単語を特定している。
 ここで、入力文10aからコピーされる単語には、要約単語辞書に登録された単語と同一の単語が含まれており、入力文10aのコピーで対応できる単語が、要約単語辞書に含まれてしまう。このため、要約単語辞書に登録する単語を削減し、メモリ使用量を削減する余地がある。たとえば、図16~図21では、要約単語辞書に含まれる「の」が、入力文10aの単語のコピーに含まれている。
 1つの側面では、本発明は、メモリ使用量を削減することができる情報処理方法、情報処理プログラムおよび情報処理装置を提供することを目的とする。
 第1の案では、コンピュータは、次の処理を実行する。コンピュータは、第一の文書のうち、第二の文書に含まれていない単語を抽出し、抽出した単語を第一の辞書に登録し、第二の文書を構成する単語を再帰型のエンコーダに順番に入力することで中間表現ベクトルを算出する。コンピュータは、第一の辞書に登録された各単語の確率分布を算出する再帰型のデコーダに、中間表現ベクトルを入力した結果を基にして、第一の確率分布を算出する。コンピュータは、第二の文書を構成する各単語を再帰型のエンコーダに入力することで算出される隠れ状態ベクトルと、再帰型のデコーダから出力される隠れ状態ベクトルとを基にして、第二の文書を構成される単語の第二の辞書の第二の確率分布を算出する。コンピュータは、第一の確率分布と、第二の確率分布とを基にして、第一の文書を構成する単語を生成または学習する。
 メモリ使用量を削減することができる。
図1は、本実施例に係る情報処理装置が、要約単語辞書を生成する処理を説明するための図である。 図2は、入力文と要約文とのペアを比較する理由を説明するための図である。 図3は、本実施例に係る情報処理装置が要約文を生成する処理を説明するための図(1)である。 図4は、本実施例に係る情報処理装置が要約文を生成する処理を説明するための図(2)である。 図5は、本実施例に係る情報処理装置が要約文を生成する処理を説明するための図(3)である。 図6は、本実施例に係る情報処理装置が要約文を生成する処理を説明するための図(4)である。 図7は、本実施例に係る情報処理装置が要約文を生成する処理を説明するための図(5)である。 図8は、本実施例に係る情報処理装置が要約文を生成する処理を説明するための図(6)である。 図9は、本実施例に係る情報処理装置の学習処理を説明するための図である。 図10は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。 図11は、要約単語辞書のデータ構造の一例を示す図である。 図12は、元テキスト辞書のデータ構造の一例を示す図である。 図13は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。 図14は、要約単語辞書生成処理の処理手順を示すフローチャートである。 図15は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。 図16は、従来のPointer-Generatorを説明するための図(1)である。 図17は、従来のPointer-Generatorを説明するための図(2)である。 図18は、従来のPointer-Generatorを説明するための図(3)である。 図19は、従来のPointer-Generatorを説明するための図(4)である。 図20は、従来のPointer-Generatorを説明するための図(5)である。 図21は、従来のPointer-Generatorを説明するための図(6)である。 図22は、従来の要約単語辞書の生成処理を説明するための図である。
 以下に、本発明にかかる情報処理方法、情報処理プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
 本実施例に係る情報処理装置が、Pointer-Generatorで使用する要約単語辞書を生成する処理の一例について説明する。図1は、本実施例に係る情報処理装置が、要約単語辞書を生成する処理を説明するための図である。本実施例に係る情報処理装置は、入力文と要約文とのペアをそれぞれ比較し、要約文にしか含まれない単語を、要約単語辞書に登録する。入力文は「第二の文書」に対応する。要約文は「第一の文書」に対応する。
 図1において、学習データ70には、入力文11aと要約文11bとのペア、入力文12aと要約文12bとのペア、入力文13aと要約文13bとのペアが含まれる。学習データ70には、他の入力文と他の要約文とのペアが含まれていてもよい。
 情報処理装置は、入力文11aの各単語と、要約文11bの各単語とを比較し、要約文11bにのみ含まれる単語「分類」を抽出する。抽出結果11cには、抽出した単語「分類」と、頻度「1」とが含まれる。
 情報処理装置は、入力文12aの各単語と、要約文12bの各単語とを比較し、要約文12bにのみ含まれる単語「分類」を抽出する。抽出結果12cには、抽出した単語「分類」と、頻度「1」とが含まれる。
 情報処理装置は、入力文13aの各単語と、要約文13bの各単語とを比較し、要約文13bにのみ含まれる単語「NLP」を抽出する。抽出結果13cには、抽出した単語「NLP」と、頻度「1」とが含まれる。
 情報処理装置は、他の入力文と他の要約文とのペアについても、要約文にのみ含まれる単語を抽出し、抽出した単語と、頻度とを対応付ける処理を繰り返し実行する。情報処理装置は、各抽出結果11c~13c(他の抽出結果)を集計することで、単語と、頻度とを対応付けた集計結果15を生成する。情報処理装置は、集計結果に含まれる単語を、要約単語辞書に登録する。情報処理装置は、集計結果に含まれる単語のうち、頻度が閾値以上となる単語を、要約単語辞書に登録してもよい。要約単語辞書は「第一の辞書」に対応する。
 本実施例に係る情報処理装置は、図1で説明した処理を実行する。情報処理装置は、要約単語辞書を生成することで、入力文と、要約文とのペアにおいて、要約文にのみ存在する単語を、要約単語辞書に登録するため、要約単語辞書のデータ量を削減することができ、メモリ使用量を削減することができる。
 なお、情報処理装置は、全ての入力文の単語の集合と、全ての要約文の単語の集合とを比較しているわけではない。仮に、全ての入力文の単語の集合と、全ての要約文の単語の集合とを比較して、要約文側にのみ存在する単語を、要約単語辞書に登録すると、要約単語辞書を用いて、要約文を適切に生成できない場合がある。
 図2は、入力文と要約文とのペアを比較する理由を説明するための図である。図2において、各入力文11a~13a(学習データ70に含まれる他の入力文)から、単語と頻度とを抽出すると、抽出結果15aとなる。学習データ70に含まれる各要約文11b~13b(学習データ70に含まれる他の要約文)から、単語と頻度とを抽出すると、抽出結果15bとなる。抽出結果15aに存在し、抽出結果15bにしない単語は、抽出結果15cに示すものとなる。
 たとえば、抽出結果15cに含まれる単語「分類」、「開始」を要約単語辞書に登録し、かかる要約単語辞書を用いて、入力文13aの要約文を生成する場合を想定する。この場合には、要約単語辞書に、「自然言語処理」に対応する「NLP」が登録されていないので、対応が取れず、適切な要約文を生成できない。これに対して、図1で説明した処理では、要約単語辞書に「NLP」が登録されるため、適切な要約文が生成できる。
 続いて、本実施例に係る情報処理装置が、図1で説明した処理によって生成した要約単語辞書を用いて、入力文から要約文を生成する処理の一例について説明する。図3~図8は、本実施例に係る情報処理装置が要約文を生成する処理を説明するための図である。
 図3について説明する。情報処理装置は、入力文10aをエンコーダ50に入力することで、中間表現を算出する。情報処理装置は、中間表現(ベクトル)と、単語の文頭記号<BOS(Begin Of Sentence)>を、デコーダ60のLSTM(Long short-term memory)61-T1に入力することで、要約単語辞書に含まれる各単語の確率分布D2を算出する。確率分布D2は、「第一の確率分布」に対応する。
 本実施例で用いる要約単語辞書は、図1で説明した処理によって生成された要約単語辞書であり、入力文と要約文とのペアをそれぞれ比較した結果、要約文にしか含まれない単語を、要約単語辞書に登録している。このため、図16~図21で説明した従来装置が用いる要約単語辞書と比較して、本実施例で用いる要約単語辞書は、サイズが小さい。
 情報処理装置は、入力文10aをエンコーダ50に入力した際に算出される隠れ状態ベクトルhと、LSTM61-T1から出力される隠れ状態ベクトルH1とを基にして、入力文10aからコピーされる各単語の確率分布D1を算出する。確率分布D1は、「第二の確率分布」に対応する。
 図4について説明する。情報処理装置は、確率分布D1に重み「0.2」を乗算した確率分布と、確率分布D2に重み「0.8」を乗算した確率分布とを加算した確率分布D3を算出する。そうすると、確率分布D3において、単語「NLP」の確率が最大となるため、情報処理装置は、要約文10bの1文字目を「NLP」に設定する。
 確率分布D1に対する重み、確率分布D1に対する重みは、予め設定される。情報処理装置は、要約単語辞書の優先度を高める場合、確率分布D1の重みよりも、確率分布D2の重みを大きくする。
 図5について説明する。情報処理装置は、「NLP」のベクトルと、LSTM61-T1から出力される隠れ状態ベクトルH1とをLSTM61-T2に入力することで、要約単語辞書に含まれる各単語の確率分布D2を算出する。
 情報処理装置は、隠れ状態ベクトルhと、LSTM61-T2から出力される隠れ状態ベクトルH2とを基にして、入力文10aからコピーされる各単語の確率分布D1を算出する。
 図6について説明する。情報処理装置は、確率分布D1に重み「0.2」を乗算した確率分布と、確率分布D2に重み「0.8」を乗算した確率分布とを加算した確率分布D3を算出する。そうすると、確率分布D3において、単語「の」の確率が最大となるため、情報処理装置は、要約文10bの2文字目を「の」に設定する。
 図7について説明する。情報処理装置は、「の」のベクトルと、LSTM61-T2から出力される隠れ状態ベクトルH2とをLSTM61-T3に入力することで、要約単語辞書に含まれる各単語の確率分布D2を算出する。
 情報処理装置は、隠れ状態ベクトルhと、LSTM61-T3から出力される隠れ状態ベクトルH3とを基にして、入力文10aからコピーされる各単語の確率分布D1を算出する。
 図8について説明する。情報処理装置は、確率分布D1に重み「0.2」を乗算した確率分布と、確率分布D2に重み「0.8」を乗算した確率分布とを加算した確率分布D3を算出する。そうすると、確率分布D3において、単語「方向」の確率が最大となるため、情報処理装置は、要約文10bの3文字目を「方向」に設定する。
 上記のように、本実施例に係る情報処理装置によれば、図1~図8の処理を実行することで、入力文10a「自然言語処理の方向性発表」から要約文10b「NLPの方向」を生成することができる。
 本実施例で用いる要約単語辞書は、図1で説明した処理によって生成された要約単語辞書であり、入力文と要約文とのペアをそれぞれ比較した結果、要約文にしか含まれない単語を、要約単語辞書に登録している。このため、図16~図21で説明した従来装置が用いる要約単語辞書と比較して、本実施例で用いる要約単語辞書は、サイズが小さいため、メモリ使用量を削減することができる。また、要約単語辞書のサイズが小さくなるため、従来装置と比較して、処理速度を改善することができる。
 次に、本実施例に係る情報処理装置が、図3~図8に示したエンコーダ50およびデコーダ60を学習する処理の一例について説明する。図9は、本実施例に係る情報処理装置の学習処理を説明するための図である。図9では一例として、学習用の入力文14aを「自然言語処理の方向性発表」とし、入力文14aとペアとなる要約文14bを「NLPの方向」とする。
 エンコーダ50には、LSTM51が含まれる。LSTM51は、入力文14aの各単語のベクトルの入力を順に受け付ける。LSTM51は、単語のベクトルと、LSTM51のパラメータθ51に基づく計算を行って、隠れ状態ベクトルを次のLSTM51に出力する。次のLSTM51では、前のLSTM51によって算出された隠れ状態ベクトルと、次の単語のベクトルとを基にして、次の隠れ状態ベクトルを算出する。LSTM51は、入力文14aの各単語に対して、上記処理を繰り返し実行する。LSTM51は、入力文14aの最後の単語が入力された際に算出する隠れ状態ベクトルを、中間表現として、デコーダ60に出力する。
 デコーダ60には、LSTM61-T1,61-T2,61-T3,61-T4が含まれる。LSTM61-T1,61-T2,61-T3,61-T4をまとめて、LSTM61と表記する。
 LSTM61は、エンコーダ50から中間表現(ベクトル)を受け付け、要約文14bの単語のベクトルの入力を受け付ける。LSTM61は、中間表現と、単語のベクトルと、LSTM61のパラメータθ61に基づく計算を行って、隠れ状態ベクトルを算出する。LSTM61は、隠れ状態ベクトルを、次の単語のLSTM61に渡す。LSTM22は、単語のベクトルが入力される度に、上記処理を繰り返し実行する。
 情報処理装置は、LSTM61から出力される隠れ状態ベクトルと、要約単語辞書とを基にして、要約単語辞書に含まれる各単語の確率分布D2(図示略)を算出する。また、情報処理装置は、入力文14aをエンコーダ50に入力した際に算出される隠れ状態ベクトルと、LSTM61から出力される隠れ状態ベクトルとを基にして、入力文14aからコピーされる各単語の確率分布D1(図示略)を算出する。情報処理装置は、確率分布D1と、確率分布D2を加算した確率分布D3(図示略)を算出する。情報処理装置は、LSTM61に、要約文14bの各単語のベクトルを入力する度に、確率分布D3を算出する。
 ここで、情報処理装置は、要約文14bの各単語を、LSTM61に入力する場合に、始めに文の先頭を示す単語として「BOS(Begin Of Sentence)」を入力する。また、情報処理装置は、確率分布D3との損失を算出する場合に比較する要約文14bの最後を示す単語として、「EOS(End Of Sentence)」を設定する。
 情報処理装置は、エンコーダ50から出力される中間表現によって、LSTM61の中間表現を更新したうえで、次の1時刻目~4時刻目までの処理を順に実行する。
 情報処理装置は、1時刻目に、エンコーダ50のLSTM51の出力(中間表現)と、単語「BOS」のベクトルを、LSTM61-T1に入力することで、隠れ状態ベクトルを算出する。情報処理装置は、各単語の確率分布D3を算出する。情報処理装置は、算出した確率分布と、正解単語「NLP」とを比較して、1時刻目の損失を算出する。
 情報処理装置は、2時刻目に、ひとつ前のLSTM61-T1の出力と、単語「NLP」のベクトルを、LSTM61-T2に入力することで、隠れ状態ベクトルを算出する。情報処理装置は、各単語の確率分布D3を算出する。情報処理装置は、算出した確率分布と、正解単語「の」とを比較して、2時刻目の損失を算出する。
 情報処理装置は、3時刻目に、ひとつ前のLSTM61-T2の出力と、単語「の」のベクトルを、LSTM61-T3に入力することで、隠れ状態ベクトルを算出する。情報処理装置は、各単語の確率分布D3を算出する。情報処理装置は、算出した確率分布と、正解単語「方向」とを比較して、3時刻目の損失を算出する。
 情報処理装置は、4時刻目に、ひとつ前のLSTM61-T3の出力と、単語「方向」のベクトルを、LSTM61-T4に入力することで、隠れ状態ベクトルを算出する。情報処理装置は、各単語の確率分布D3を算出する。情報処理装置は、算出した確率分布と、正解単語「EOS」とを比較して、4時刻目の損失を算出する。
 情報処理装置は、1時刻目~4時刻目に算出した損失が最小化されるように、LSTM51のパラメータθ51、LSTM61のパラメータθ61を更新する。たとえば、情報処理装置は、1時刻目~4時刻目の損失に基づいて、対数尤度の最適化を実行することにより、LSTM51のパラメータθ51、LSTM61のパラメータθ61のパラメータを更新する。
 情報処理装置は、学習データに含まれる、入力文、要約文のペアを用いて、上記処理を繰り返し実行することで、LSTM51のパラメータθ51、LSTM61のパラメータθ61のパラメータを学習する。
 次に、本実施例に係る情報処理装置の構成の一例ついて説明する。図10は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。図10に示すように、この情報処理装置100は、学習部100Aと、生成部100Bとを有する。学習部100Aに含まれる損失計算部107、更新部108、生成部100Bに含まれる生成部113は、「情報処理部」の一例である。
 たとえば、学習部110A、生成部100Bは、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、学習部110A、生成部100Bは、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
 学習データ記憶部101、辞書情報記憶部103、モデル記憶部104は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
 学習部100Aは、図1で説明した要約単語辞書を生成する。また、学習部100Aは、図9で説明した学習処理を実行する。学習部100Aは、学習データ記憶部101と、辞書生成部102と、辞書情報記憶部103と、モデル記憶部104と、エンコーダ実行部105aと、デコーダ実行部105bと、算出部106と、損失計算部107と、更新部とを有する。
 学習データ記憶部101は、図1で説明した学習データ70を記憶する記憶装置である。図1で説明したように、学習データ70には、入力文11aと要約文11bとのペア、入力文12aと要約文12bとのペア、入力文13aと要約文13bとのペアが含まれる。学習データ70には、他の入力文と他の要約文とのペアが含まれていてもよい。
 辞書生成部102は、学習データ記憶部101に格納された学習データ70の入力文と要約文とのペアをそれぞれ比較し、要約文にしか含まれない単語を、要約単語辞書に登録することで、要約単語辞書を生成する処理部である。辞書生成部102が、要約単語辞書を生成する処理は、図1で説明した処理に対応する。辞書生成部102は、要約単語辞書の情報を、辞書情報記憶部103に格納する。辞書生成部102は、頻度が閾値未満となる単語については、要約単語辞書から除外してもよい。
 また、辞書生成部102は、学習データ70に含まれる各入力文を基にして、元テキスト辞書を生成する。元テキスト辞書は、「第二の辞書」の一例である。辞書生成部102は、生成した元テキスト辞書の情報を、辞書情報記憶部103に格納する。たとえば、辞書生成部102は、学習データ70に含まれる各入力文の単語を集計することで、元テキスト辞書を生成する。辞書生成部102は、頻度が閾値未満となる単語については、元テキスト辞書から除外してもよい。
 辞書情報記憶部103は、要約単語辞書および元テキスト辞書を記憶する記憶装置である。図11は、要約単語辞書のデータ構造の一例を示す図である。図11に示すように、要約単語辞書103aは、単語と、頻度とを対応付ける。要約単語辞書103aの単語は、学習データ70の入力文と要約文とのペアを比較した結果、要約文にしか含まれない単語である。頻度は、要約文に出現する単語の出現頻度である。
 図12は、元テキスト辞書のデータ構造の一例を示す図である。図12に示すように、元テキスト辞書103bは、単語と、頻度とを対応付ける。元テキスト辞書103bの単語は、学習データ70の各入力文に含まれる単語である。頻度は、入力文に出現する単語の出現頻度である。
 図10の説明に戻る。モデル記憶部104は、エンコーダ50のパラメータおよびデコーダ60のパラメータを記憶する記憶装置である。たとえば、エンコーダ50のパラメータには、LSTM51のパラメータθ51が含まれる。デコーダ60のパラメータには、LSTM61のパラメータθ61が含まれる。
 エンコーダ実行部105aは、図9で説明したエンコーダ50を実行する処理部である。たとえば、エンコーダ実行部105aは、LSTM51等をワークエリア(メモリ等)上に展開する。エンコーダ実行部105aは、モデル記憶部104に記憶されたLSTM51のパラメータθ51を、LSTM51に設定する。エンコーダ実行部105aは、後述する更新部108によって、LSTM51のパラメータθ51が更新された場合、更新されたパラメータθ51を、LSTM51に設定する。
 ここで、エンコーダ実行部105aは、辞書情報記憶部103に記憶された元テキスト辞書104bを取得する。エンコーダ実行部105aは、学習データ70の入力文の各単語(ベクトル)を、エンコーダ50に入力する場合に、入力する単語が、元テキスト辞書103bに存在するか否かを判定する。エンコーダ実行部105aは、入力する単語が、元テキスト辞書103bに存在する場合、単語のベクトルを、エンコーダ50に入力する。
 一方、エンコーダ実行部105aは、入力する単語が、元テキスト辞書103bに存在しない場合には、「Unknown」のベクトルを、エンコーダ50に入力する。
 デコーダ実行部105bは、図9で説明したデコーダ60を実行する処理部である。たとえば、デコーダ実行部105bは、LSTM61等をワークエリア(メモリ等)上に展開する。デコーダ実行部105bは、モデル記憶部104に記憶されたLSTM61のパラメータθ61を、LSTM61に設定する。デコーダ実行部105bは、後述する更新部108によって、LSTM61のパラメータθ61が更新された場合、更新されたパラメータθ61を、LSTM61に設定する。
 デコーダ実行部105bは、エンコーダ実行部105aがエンコーダ50に入力した入力文とペアとなる要約文を、学習データ70から取得し、デコーダ60に入力する。デコーダ実行部105bが、デコーダ60に入力する単語を「BOS」とする。デコーダ実行部105bは、デコーダ60に順に入力した正解単語の情報を、損失計算部107に出力する。
 算出部106は、エンコーダ実行部105aが実行するエンコーダ50の出力結果と、デコーダ実行部105bが実行するデコーダ60の出力結果とを基にして、各種の確率分布を算出する処理部である。
 算出部106は、要約単語辞書103aをワークエリア(メモリ等)に展開する。算出部106は、LSTM61から出力される隠れ状態ベクトルと、要約単語辞書103aとを基にして、要約単語辞書103aに含まれる各単語の確率分布D2を算出する。また、算出部106は、入力文をエンコーダ50に入力した際に算出される隠れ状態ベクトルと、LSTM61から出力される隠れ状態ベクトルとを基にして、入力文からコピーされる各単語の確率分布D1を算出する。情報処理装置は、確率分布D1と、確率分布D2を加算した確率分布D3を算出する。
 なお、入力文からコピーされる単語のうち、元テキスト辞書103bに含まれない単語は、「Unknown」として、確率分布D1に含まれ、確率が算出される。また、確率分布D1の単語に「Unknown」が含まれる場合、かかる「Unknown」には、入力文の先頭から何番目の単語であるかを示す情報が付与される。この先頭から何番目の単語かの情報を用いて、入力文からのコピーを行う。
 たとえば、算出部106は、図9で説明したように、1時刻目~4時刻目について、それぞれ確率分布D3を算出し、各時刻の確率分布D3を、損失計算部107に出力する。
 損失計算部107は、算出部106から取得する各時刻の確率分布D3と、デコーダ105実行部bから取得する正解単語とを比較して、各時刻の損失を算出する処理部である。損失計算部107は、各時刻の損失の情報を、更新部108に出力する。
 更新部108は、損失計算部107から取得する各時刻の損失が最小化されるように、LSTM51のパラメータθ51、LSTM61のパラメータθ61を更新する処理部である。たとえば、更新部108は、1時刻目~4時刻目の損失に基づいて、対数尤度の最適化を実行することにより、モデル記憶部104に格納されたLSTM51のパラメータθ51、LSTM61のパラメータθ61のパラメータを更新する。
 生成部100Bは、図3~図8で説明したように、学習済みのエンコーダ50、デコーダ60を用いて、入力文から要約文を生成する処理部である。生成部100Bは、取得部110と、エンコーダ実行部111aと、デコーダ実行部111bと、算出部112と、生成部113とを有する。
 取得部110は、入力装置等を介して、要約対象となる入力文を取得する処理部である。取得部110は、取得した入力文を、エンコーダ実行部111aに出力する。
 エンコーダ実行部111aは、図3~図8で説明したエンコーダ50を実行する処理部である。たとえば、エンコーダ実行部111aは、LSTM51等をワークエリア(メモリ等)上に展開する。エンコーダ実行部111aは、モデル記憶部104に記憶されたLSTM51のパラメータθ51を、LSTM51に設定する。
 エンコーダ実行部111aは、辞書情報記憶部103に記憶された元テキスト辞書104bを取得する。エンコーダ実行部105aは、取得部110から受け付けた入力文の各単語(ベクトル)を、エンコーダ50に入力する場合に、入力する単語が、元テキスト辞書103bに存在するか否かを判定する。エンコーダ実行部111aは、入力する単語が、元テキスト辞書103bに存在する場合、単語のベクトルを、エンコーダ50に入力する。
 一方、エンコーダ実行部111aは、入力する単語が、元テキスト辞書103bに存在しない場合には、「Unknown」のベクトルを、エンコーダ50に入力する。
 デコーダ実行部111bは、図3~図8で説明したデコーダ60を実行する処理部である。たとえば、デコーダ実行部111bは、LSTM61等をワークエリア(メモリ等)上に展開する。デコーダ実行部111bは、モデル記憶部104に記憶されたLSTM61のパラメータθ61を、LSTM61に設定する。
 算出部112は、エンコーダ実行部111aが実行するエンコーダ50の出力結果と、デコーダ実行部111bが実行するデコーダ60の出力結果とを基にして、各種の確率分布を算出する処理部である。
 算出部112は、要約単語辞書103aをワークエリア(メモリ等)に展開する。算出部112は、LSTM61から出力される隠れ状態ベクトルと、要約単語辞書103aとを基にして、要約単語辞書103aに含まれる各単語の確率分布D2を算出する。また、算出部112は、入力文をエンコーダ50に入力した際に算出される隠れ状態ベクトルと、LSTM61から出力される隠れ状態ベクトルとを基にして、入力文からコピーされる各単語の確率分布D1を算出する。情報処理装置は、確率分布D1と、確率分布D2を加算した確率分布D3を算出する。
 算出部112は、各時刻の確率分布D3を、生成部113に出力する。
 生成部113は、算出部112から出力される各時刻の確率分布D3を基にして、要約文の単語を生成する処理部である。生成部113は、各時刻において、確率分布D3に確率のうち、最大の確率に対応する単語を要約文の単語として生成する処理を繰り返し実行する。たとえば、l時刻目において、確率分布D3の各単語の確率のうち、「NLP」の確率が最大となる場合には、要約文の先頭からl番目の単語として「NLP」を生成する。
 次に、本実施例に係る情報処理装置100の処理手順の一例について説明する。図13は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。図13に示すように、情報処理装置100の学習部100Aは、学習データを取得し、学習データ記憶部101に格納する(ステップS101)。
 情報処理装置100の辞書生成部102は、学習データの入力文に出現した単語を基にして、元テキスト辞書103bを生成し、辞書情報記憶部103に格納する(ステップS102)。
 辞書生成部102は、要約単語辞書生成処理を実行する(ステップS103)。辞書生成部102は、要約単語辞書103aを、辞書情報記憶部103に格納する(ステップS104)。
 学習部100Aは、学習処理を実行する(ステップS105)。情報処理装置100の取得部110は、要約文の生成対象となる入力文を取得する(ステップS106)。生成部100Bは、生成処理を実行する(ステップS107)。生成部100Bは、要約文を出力する(ステップS108)。
 次に、図13のステップS103で説明した要約単語辞書生成処理の一例について説明する。図14は、要約単語辞書生成処理の処理手順を示すフローチャートである。図14に示すように、情報処理装置100の辞書生成部102は、学習データ記憶部101から、学習データと、出現頻度の閾値Fとの取得する(ステップS201)。
 辞書生成部102は、学習データから、未処理の入力文と要約文とのペアtを取得する(ステップS202)。ペアtの要約文中の未処理の単語wを取得する(ステップS203)。辞書生成部102は、単語wがペアtの入力文の単語集合に含まれる場合には(ステップS204,Yes)、ステップS206に移行する。
 一方、辞書生成部102は、単語wがペアtの入力文の単語集合に含まれない場合には(ステップS204,No)、要約単語辞書の単語wの出現回数に1を加算する(ステップS205)。
 辞書生成部102は、ペアt中の要約文に未処理の単語が含まれる場合には(ステップS206,Yes)、ステップS203に移行する。一方、辞書生成部102は、ペアt中の要約文に未処理の単語が含まれない場合には(ステップS206,No)、ステップS207に移行する。
 辞書生成部102は、学習データに未処理のペアがある場合には(ステップS207,Yes)、ステップS202に移行する。一方、辞書生成部102は、学習データに未処理のペアが場合には(ステップS207,No)、ステップS208に移行する。
 辞書生成部102は、出現回数が閾値F以上の要約単語辞書中の単語を最終の要約単語辞書として出力する(ステップS208)。
 次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、Pointer-Generatorで使用する要約単語辞書103aを生成する場合に、入力文と要約文とのペアをそれぞれ比較し、要約文にしか含まれない単語を、要約単語辞書103aに登録する。これによって、要約単語辞書103aのデータ量を削減することができ、メモリ使用量を削減することができる。
 情報処理装置100は、要約文のうち、入力文に含まれていない単語の頻度を集計し、頻度が所定の頻度以上となる単語を、要約単語辞書103aに登録することで、要約単語辞書103aのデータ量を更に削減することができる。
 情報処理装置100は、入力文からコピーされる各単語の確率分布D1と、要約単語辞書103aに含まれる各単語の確率分布D2とを加算した確率分布D3を基にして、要約文の単語を特定する。これによって、要約単語辞書103aに含まれる単語、または、入力文の単語によって、要約文を生成することができる。
 次に、上記実施例に示した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について順に説明する。
 図15は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。図15に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203と、読み取り装置204とを有する。また、コンピュータ200は、ネットワークを介して、外部装置との間でデータの授受を行う通信装置205とを有する。コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
 ハードディスク装置207は、辞書生成プログラム207a、学習プログラム207b、生成プログラム207cを有する。CPU201は、辞書生成プログラム207aと、学習プログラム207bと、生成プログラム207cとを読み出してRAM206に展開する。
 辞書プログラム207aは、辞書生成プロセス206aとして機能する。学習プログラム207bは、学習プロセス206bとして機能する。生成プログラム207cは、生成プロセス206cとして機能する。
 辞書生成プロセス206aの処理は、辞書生成部102の処理に対応する。学習プロセス206bの処理は、学習部100A(辞書生成部102を除く)の処理に対応する。生成プロセス206cの処理は、生成部100Bの処理に対応する。
 なお、各プログラム207a~207cについては、必ずしも最初からハードディスク装置207に記憶させておかなくてもよい。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207cを読み出して実行するようにしてもよい。
  100  情報処理装置
  100A 学習部
  100B 生成部
  101  学習データ記憶部
  102  辞書生成部
  103  辞書情報記憶部
  104  モデル記憶部
  105a,111a エンコーダ実行部
  105b,111b デコーダ実行部
  106、112  算出部
  107  損失計算部
  108  更新部
  110  取得部
  113  生成部

Claims (12)

  1.  第一の文書のうち、第二の文書に含まれていない単語を抽出し、
     抽出した前記単語を第一の辞書に登録し、
     第二の文書を構成する単語を再帰型のエンコーダに順番に入力することで中間表現ベクトルを算出し、
     前記第一の辞書に登録された各単語の確率分布を算出する再帰型のデコーダに、前記中間表現ベクトルを入力した結果を基にして、第一の確率分布を算出し、
     第二の文書を構成する各単語を前記再帰型のエンコーダに入力することで算出される隠れ状態ベクトルと、前記再帰型のデコーダから出力される隠れ状態ベクトルとを基にして、前記第二の文書を構成される単語の第二の辞書の第二の確率分布を算出し、
     前記第一の確率分布と、前記第二の確率分布とを基にして、前記第一の文書を構成する単語を生成または学習する
     処理をコンピュータが実行することを特徴とする情報処理方法。
  2.  前記単語を抽出する処理は、入力文と、前記入力文を要約した要約文との組を取得し、前記要約文のうち、前記入力文に含まれていない単語を抽出することを特徴とする請求項1に記載の情報処理方法。
  3.  前記単語を辞書に登録する処理は、前記要約文のうち、前記入力文に含まれていない単語の頻度を集計し、頻度が所定の頻度以上となる単語を、前記第一の辞書に登録することを特徴とする請求項2に記載の情報処理方法。
  4.  前記単語を生成する処理は、第一の重みを乗算した前記第一の確率分布と、前記第一の重みよりも小さい第二の重みを乗算した前記第二の確率分布とを加算した確率分布を基にして、前記第一の文書を構成する単語を生成することを特徴とする請求項1、2または3に記載の情報処理方法。
  5.  第一の文書のうち、第二の文書に含まれていない単語を抽出し、
     抽出した前記単語を第一の辞書に登録し、
     第二の文書を構成する単語を再帰型のエンコーダに順番に入力することで中間表現ベクトルを算出し、
     前記第一の辞書に登録された各単語の確率分布を算出する再帰型のデコーダに、前記中間表現ベクトルを入力した結果を基にして、第一の確率分布を算出し、
     第二の文書を構成する各単語を前記再帰型のエンコーダに入力することで算出される隠れ状態ベクトルと、前記再帰型のデコーダから出力される隠れ状態ベクトルとを基にして、前記第二の文書を構成される単語の第二の辞書の第二の確率分布を算出し、
     前記第一の確率分布と、前記第二の確率分布とを基にして、前記第一の文書を構成する単語を生成または学習する
     処理をコンピュータに実行させることを特徴とする情報処理プログラム。
  6.  前記単語を抽出する処理は、入力文と、前記入力文を要約した要約文との組を取得し、前記要約文のうち、前記入力文に含まれていない単語を抽出することを特徴とする請求項5に記載の情報処理プログラム。
  7.  前記単語を辞書に登録する処理は、前記要約文のうち、前記入力文に含まれていない単語の頻度を集計し、頻度が所定の頻度以上となる単語を、前記第一の辞書に登録することを特徴とする請求項6に記載の情報処理プログラム。
  8.  前記単語を生成する処理は、第一の重みを乗算した前記第一の確率分布と、前記第一の重みよりも小さい第二の重みを乗算した前記第二の確率分布とを加算した確率分布を基にして、前記第一の文書を構成する単語を生成することを特徴とする請求項5、6または7に記載の情報処理プログラム。
  9.  第一の文書のうち、第二の文書に含まれていない単語を抽出し、抽出した前記単語を第一の辞書に登録する辞書生成部と、
     第二の文書を構成する単語を再帰型のエンコーダに順番に入力することで中間表現ベクトルを算出するエンコーダ実行部と、
     前記第一の辞書に登録された各単語の確率分布を算出する再帰型のデコーダに、前記中間表現ベクトルを入力した結果を基にして、第一の確率分布を算出し、第二の文書を構成する各単語を前記再帰型のエンコーダに入力することで算出される隠れ状態ベクトルと、前記再帰型のデコーダから出力される隠れ状態ベクトルとを基にして、前記第二の文書を構成される単語の第二の辞書の第二の確率分布を算出する算出部と、
     前記第一の確率分布と、前記第二の確率分布とを基にして、前記第一の文書を構成する単語を生成または学習する情報処理部と
     を有することを特徴とする情報処理装置。
  10.  前記辞書生成部は、入力文と、前記入力文を要約した要約文との組を取得し、前記要約文のうち、前記入力文に含まれていない単語を抽出することを特徴とする請求項9に記載の情報処理装置。
  11.  前記辞書生成部は、前記要約文のうち、前記入力文に含まれていない単語の頻度を集計し、頻度が所定の頻度以上となる単語を、前記第一の辞書に登録することを特徴とする請求項10に記載の情報処理装置。
  12.  前記情報処理部は、第一の重みを乗算した前記第一の確率分布と、前記第一の重みよりも小さい第二の重みを乗算した前記第二の確率分布とを加算した確率分布を基にして、前記第一の文書を構成する単語を生成することを特徴とする請求項9、10または11に記載の情報処理装置。
PCT/JP2019/034100 2019-08-30 2019-08-30 情報処理方法、情報処理プログラムおよび情報処理装置 WO2021038827A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021541920A JP7248130B2 (ja) 2019-08-30 2019-08-30 情報処理方法、情報処理プログラムおよび情報処理装置
PCT/JP2019/034100 WO2021038827A1 (ja) 2019-08-30 2019-08-30 情報処理方法、情報処理プログラムおよび情報処理装置
US17/671,461 US20220171926A1 (en) 2019-08-30 2022-02-14 Information processing method, storage medium, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/034100 WO2021038827A1 (ja) 2019-08-30 2019-08-30 情報処理方法、情報処理プログラムおよび情報処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/671,461 Continuation US20220171926A1 (en) 2019-08-30 2022-02-14 Information processing method, storage medium, and information processing device

Publications (1)

Publication Number Publication Date
WO2021038827A1 true WO2021038827A1 (ja) 2021-03-04

Family

ID=74684740

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/034100 WO2021038827A1 (ja) 2019-08-30 2019-08-30 情報処理方法、情報処理プログラムおよび情報処理装置

Country Status (3)

Country Link
US (1) US20220171926A1 (ja)
JP (1) JP7248130B2 (ja)
WO (1) WO2021038827A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022098219A (ja) * 2020-12-21 2022-07-01 富士通株式会社 学習プログラム、学習方法、および学習装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180329883A1 (en) * 2017-05-15 2018-11-15 Thomson Reuters Global Resources Unlimited Company Neural paraphrase generator
JP2019016239A (ja) * 2017-07-07 2019-01-31 富士通株式会社 学習プログラム、学習方法及び学習装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3987934B2 (ja) * 2003-11-12 2007-10-10 国立大学法人大阪大学 社会的な関係を用いてユーザの評価コメントを要約する文書処理装置、その方法及びプログラム
US20140025427A1 (en) * 2012-07-17 2014-01-23 Linkedln Corporation Inferring and suggesting attribute values for a social networking service
CN108280112B (zh) * 2017-06-22 2021-05-28 腾讯科技(深圳)有限公司 摘要生成方法、装置及计算机设备
US11170158B2 (en) * 2018-03-08 2021-11-09 Adobe Inc. Abstractive summarization of long documents using deep learning

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180329883A1 (en) * 2017-05-15 2018-11-15 Thomson Reuters Global Resources Unlimited Company Neural paraphrase generator
JP2019016239A (ja) * 2017-07-07 2019-01-31 富士通株式会社 学習プログラム、学習方法及び学習装置

Also Published As

Publication number Publication date
JPWO2021038827A1 (ja) 2021-03-04
JP7248130B2 (ja) 2023-03-29
US20220171926A1 (en) 2022-06-02

Similar Documents

Publication Publication Date Title
CN109635273A (zh) 文本关键词提取方法、装置、设备及存储介质
CN112287670A (zh) 文本纠错方法、系统、计算机设备及可读存储介质
WO2019228203A1 (zh) 一种短文本分类方法及系统
KR20210061141A (ko) 자연어 처리 방법 및 장치
CN113051371B (zh) 中文机器阅读理解方法、装置、电子设备及存储介质
WO2022121251A1 (zh) 文本处理模型训练方法、装置、计算机设备和存储介质
JP2010250814A (ja) 品詞タグ付けシステム、品詞タグ付けモデルのトレーニング装置および方法
US20220300708A1 (en) Method and device for presenting prompt information and storage medium
WO2020199595A1 (zh) 基于词袋模型的长文本分类方法、装置、计算机设备及存储介质
JPWO2007097208A1 (ja) 言語処理装置、言語処理方法および言語処理用プログラム
KR20200062521A (ko) 개념 그래프 기반 질의응답 장치 및 방법
CN111368037A (zh) 基于Bert模型的文本相似度计算方法和装置
CN114610851A (zh) 意图识别模型的训练方法、意图识别方法、设备及介质
WO2021038827A1 (ja) 情報処理方法、情報処理プログラムおよび情報処理装置
WO2022142011A1 (zh) 一种地址识别方法、装置、计算机设备及存储介质
WO2021139076A1 (zh) 智能化文本对话生成方法、装置及计算机可读存储介质
US20220122626A1 (en) Accoustic model learning apparatus, accoustic model learning method, and program
CN110309278B (zh) 关键词检索方法、装置、介质及电子设备
JP6698061B2 (ja) 単語ベクトル変換装置、方法、及びプログラム
US11914960B2 (en) System and method for statistical subject identification from input data
JP7135730B2 (ja) 要約生成方法及び要約生成プログラム
KR20220160373A (ko) 신경망 모델 기반 암호문을 복호화하기 위한 전자 장치 및 전자 장치의 제어 방법
JP7099254B2 (ja) 学習方法、学習プログラム及び学習装置
JP6588933B2 (ja) 言語モデル構築装置、その方法、及びプログラム
WO2020021609A1 (ja) 生成方法、生成プログラムおよび情報処理装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021541920

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19943280

Country of ref document: EP

Kind code of ref document: A1