WO2022123716A1 - 述語項構造修正プログラム、述語項構造修正方法、および情報処理装置 - Google Patents

述語項構造修正プログラム、述語項構造修正方法、および情報処理装置 Download PDF

Info

Publication number
WO2022123716A1
WO2022123716A1 PCT/JP2020/045985 JP2020045985W WO2022123716A1 WO 2022123716 A1 WO2022123716 A1 WO 2022123716A1 JP 2020045985 W JP2020045985 W JP 2020045985W WO 2022123716 A1 WO2022123716 A1 WO 2022123716A1
Authority
WO
WIPO (PCT)
Prior art keywords
predicate
range
span
argument structure
syntax tree
Prior art date
Application number
PCT/JP2020/045985
Other languages
English (en)
French (fr)
Inventor
ユニ スサンティ
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2020/045985 priority Critical patent/WO2022123716A1/ja
Publication of WO2022123716A1 publication Critical patent/WO2022123716A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars

Definitions

  • the present invention relates to a predicate argument structure modification program, a predicate argument structure modification method, and an information processing apparatus.
  • predicate argument structure is a structure that expresses the relationship between a predicate (predicate) and its argument (argument) in a sentence.
  • predicate term is one or more words that indicate the action subject or action target of the predicate.
  • Machine learning techniques can be used to analyze the predicate argument structure of sentences.
  • a predicate argument structure analysis model is generated by having a computer learn the predicate argument structure of a sentence by machine learning.
  • the analysis result of the predicate argument structure of the sentence is used, for example, in a search engine, automatic summarization, machine translation, etc. used in a question answering (QA) system.
  • QA question answering
  • predicate argument structure analysis model for example, there is a span-based predicate argument structure analysis model.
  • range (span) of the predicate argument is estimated for the predicate in the sentence, and the relationship between the elements within that range and the predicate is the predicate argument structure. expressed.
  • an analysis model learning device for learning an analysis model that can obtain highly accurate classification accuracy while suppressing an increase in calculation cost has been proposed.
  • a knowledge representation extension device having a predicate argument structure analysis unit that extracts a predicate and at least one argument from a text using a semantic expression language has also been proposed.
  • a technique for converting a sentence syntax tree into a vector that can be used for predicate argument structure analysis has also been proposed.
  • the estimation of the argument range may be incorrect. If an error in estimating the argument range occurs, the result of the predicate argument structure analysis becomes inaccurate. However, in the prior art, even if there is an error in estimating the range of the argument in the predicate argument structure analysis, it cannot be corrected correctly.
  • One proposal provides a predicate argument structure modification program that causes a computer to execute the following processes.
  • the computer acquires predicate-argument structure information showing the result of the predicate-argument structure analysis that analyzes the relationship between the predicate and the argument of the sentence to be analyzed.
  • the computer performs syntactic analysis of the sentence to generate syntactic tree information representing the syntactic analysis result of the sentence as a syntactic tree.
  • the computer compares the correct range candidates, which indicate the range of words contained in the subtree within the sentence, with the range of the terms shown in the predicate argument structure information for each subtree of the syntax tree shown in the syntax tree information. ..
  • the computer corrects the range of the argument in the predicate term structure information based on the correct answer range candidate for each subtree.
  • the estimation error of the range of the term can be corrected.
  • the first embodiment is a predicate-argument structure correction method capable of correcting an error in the range of the terms shown in the analysis result of the predicate-argument structure.
  • FIG. 1 is a diagram showing an example of a predicate argument structure modification method.
  • FIG. 1 shows an example in which the predicate argument structure correction method is carried out using the information processing apparatus 10.
  • the information processing apparatus 10 can implement the predicate argument structure modification method, for example, by executing the predicate argument structure modification program.
  • the information processing device 10 has a storage unit 11 and a processing unit 12.
  • the storage unit 11 is, for example, a memory or a storage device included in the information processing device 10.
  • the processing unit 12 is, for example, a processor or an arithmetic circuit included in the information processing apparatus 10.
  • the storage unit 11 stores the predicate-argument structure information 1 indicating the result of the predicate-argument structure analysis for analyzing the relationship between the predicate and the argument of the sentence to be analyzed.
  • the predicate-argument structure information 1 shows the predicate in the sentence and the estimation result of the range of the predicate-argument.
  • the term contains one or more words.
  • the predicate term structure information 1 the role of each term for the predicate is shown. In the example of FIG. 1, the predicate "prepared” is presumed to have a role as an action subject as "the reaction of A, B and C and X", and the term indicating the object of action is presumed to be "ABC”. ..
  • the processing unit 12 corrects an error in the argument shown in the predicate argument structure information 1. For example, suppose that the item "the reaction of A, B and C and X" is modified.
  • the processing unit 12 acquires the predicate argument structure information 1 from the storage unit 11.
  • the processing unit 12 generates syntax tree information 2 that represents the syntax analysis result of the sentence as a syntax tree by performing a syntax analysis of the sentence.
  • syntax tree information 2 represents the syntax analysis result of the sentence as a syntax tree by performing a syntax analysis of the sentence.
  • parsing for example, a sentence is divided into words, and the part of speech of a word or a phrase containing a plurality of words is determined. And in parsing, the qualifying relationships between words or phrases are represented by a syntax tree.
  • the processing unit 12 sets the correct answer range candidate indicating the range of the word included in the subtree in the sentence for each subtree of the syntax tree shown in the syntax tree information 2, and the range 4 of the term shown in the predicate argument structure information. Compare with. In the syntax tree information 2 shown in FIG. 1, the range enclosed in parentheses corresponds to a subtree in the syntax tree. In the syntax tree shown in the syntax tree information 2, there is no subtree containing words in a range that matches the range 4 of the section "the reaction of A, B and C and X".
  • the processing unit 12 corrects the range of the term in the predicate term structure information 1 based on the correct answer range candidate for each subtree. For example, the processing unit 12 extracts a subtree of the syntax tree based on the syntax tree information 2. The processing unit 12 generates a correct answer range candidate list 3 in which correct answer range candidates for each subtree are registered. In the example of FIG. 1, the correct answer range candidate corresponding to the subtree of the lower structure of the predicate "prepared" is registered in the correct answer range candidate list 3.
  • the processing unit 12 calculates a score based on the similarity between the correct answer range candidate and the range 4 of the term shown in the predicate term structure information 1 for each subtree of the syntax tree. For example, the processing unit 12 increases the score value as the commonality between the word included in the correct answer range candidate and the word included in the range 4 of the term shown in the predicate argument structure information 1 is higher. Further, the processing unit 12 may increase the score value as the distance between the correct answer range candidate and the predicate on the syntax tree is shorter.
  • the processing unit 12 selects one correct answer range candidate based on the score of each correct answer range candidate. For example, the processing unit 12 selects the correct answer range candidate having the highest score. Then, the processing unit 12 modifies the argument range 4 in the predicate argument structure information 1 to the range shown in the selected correct answer range candidate.
  • the change from the analysis result in the predicate argument structure analysis is minimized. Can be limited. As a result, the predicate argument structure analysis result can be utilized and appropriately modified, and the accuracy of the predicate argument structure shown in the modified predicate argument structure information is improved.
  • processing unit 12 increases the score value as the commonality between the word included in the correct answer range candidate and the word included in the range 4 of the argument shown in the predicate argument structure information is higher. This makes it easy to calculate the score.
  • the processing unit 12 can increase the score value as the distance between the correct answer range candidate and the predicate on the syntax tree is shorter. As a result, the distance between the predicate and the correct answer range candidate in the structure of the syntax tree can be reflected in the score, and the range 4 of the term can be appropriately modified.
  • the second embodiment is an example of a system that provides a service by utilizing the analysis result of the predicate argument structure of a sentence.
  • the range of the predicate term will be referred to as a span.
  • FIG. 2 is a diagram showing an example of a system configuration.
  • the server 100 and the terminal device 30 are connected to the network 20.
  • the server 100 provides a service accompanied by analysis of a sentence in natural language in response to a request from the terminal device 30.
  • the server 100 can perform a search service, a machine translation service, an automatic summarization service, and the like.
  • FIG. 3 is a diagram showing an example of server hardware.
  • the entire device of the server 100 is controlled by the processor 101.
  • a memory 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 109.
  • the processor 101 may be a multiprocessor.
  • the processor 101 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or a DSP (Digital Signal Processor).
  • At least a part of the functions realized by the processor 101 executing a program may be realized by an electronic circuit such as an ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device).
  • ASIC Application Specific Integrated Circuit
  • PLD Programmable Logic Device
  • the memory 102 is used as the main storage device of the server 100. At least a part of an OS (Operating System) program or an application program to be executed by the processor 101 is temporarily stored in the memory 102. Further, various data used for processing by the processor 101 are stored in the memory 102.
  • a volatile semiconductor storage device such as a RAM (RandomAccessMemory) is used.
  • Peripheral devices connected to the bus 109 include a storage device 103, a graphic processing device 104, an input interface 105, an optical drive device 106, a device connection interface 107, and a network interface 108.
  • the storage device 103 electrically or magnetically writes and reads data to and from the built-in recording medium.
  • the storage device 103 is used as an auxiliary storage device for a computer.
  • the storage device 103 stores an OS program, an application program, and various data.
  • an HDD Hard Disk Drive
  • an SSD Solid State Drive
  • a monitor 21 is connected to the graphic processing device 104.
  • the graphic processing device 104 causes the image to be displayed on the screen of the monitor 21 according to the instruction from the processor 101.
  • the monitor 21 includes a display device using an organic EL (ElectroLuminescence), a liquid crystal display device, and the like.
  • a keyboard 22 and a mouse 23 are connected to the input interface 105.
  • the input interface 105 transmits signals sent from the keyboard 22 and the mouse 23 to the processor 101.
  • the mouse 23 is an example of a pointing device, and other pointing devices can also be used. Other pointing devices include touch panels, tablets, touchpads, trackballs and the like.
  • the optical drive device 106 uses laser light or the like to read data recorded on the optical disk 24 or write data to the optical disk 24.
  • the optical disk 24 is a portable recording medium on which data is recorded so that it can be read by reflection of light.
  • the optical disk 24 includes a DVD (DigitalVersatileDisc), a DVD-RAM, a CD-ROM (CompactDiscReadOnlyMemory), a CD-R (Recordable) / RW (ReWritable), and the like.
  • the device connection interface 107 is a communication interface for connecting peripheral devices to the server 100.
  • a memory device 25 or a memory reader / writer 26 can be connected to the device connection interface 107.
  • the memory device 25 is a recording medium equipped with a communication function with the device connection interface 107.
  • the memory reader / writer 26 is a device that writes data to the memory card 27 or reads data from the memory card 27.
  • the memory card 27 is a card-type recording medium.
  • the network interface 108 is connected to the network 20.
  • the network interface 108 transmits / receives data to / from another computer or communication device via the network 20.
  • the network interface 108 is a wired communication interface that is connected to a wired communication device such as a switch or a router with a cable. Further, the network interface 108 may be a wireless communication interface that is communicated and connected to a wireless communication device such as a base station or an access point by radio waves.
  • the server 100 can realize the processing function of the second embodiment by the hardware as described above.
  • the information processing apparatus 10 shown in the first embodiment can also be realized by the same hardware as the server 100 shown in FIG.
  • the server 100 realizes the processing function of the second embodiment, for example, by executing a program recorded on a computer-readable recording medium.
  • the program that describes the processing content to be executed by the server 100 can be recorded on various recording media.
  • a program to be executed by the server 100 can be stored in the storage device 103.
  • the processor 101 loads at least a part of the program in the storage device 103 into the memory 102 and executes the program.
  • the program to be executed by the server 100 can be recorded on a portable recording medium such as an optical disk 24, a memory device 25, and a memory card 27.
  • the program stored in the portable recording medium can be executed after being installed in the storage device 103 by control from the processor 101, for example.
  • the processor 101 can also read and execute the program directly from the portable recording medium.
  • the server 100 performs a predicate argument structure analysis in order to interpret a sentence written in a natural language when providing a service. For example, when the server 100 searches a document using a search engine of a website, the predicate argument structure analysis of the sentence in the website is performed, and the relationship between the predicate in the sentence and the argument (Who did what to home?). ) Is judged.
  • FIG. 4 is a diagram showing an example of predicate argument structure analysis.
  • the text to be analyzed is input to the server 100 as input data 31.
  • the server 100 divides a sentence into elements for each word by performing morphological analysis of the sentence. Then, the server 100 analyzes the relationship between the element that becomes the predicate and the term of the predicate, and generates the output data 32 that represents the predicate term structure.
  • the output data 32 includes predicate argument structure information 32a and 32b for each predicate.
  • the predicate is represented by "P" in the predicate argument structure information 32a and 32b.
  • the terms for "saw” are “Tony” and “a blue cat”, and the terms for "shot” are “Maria” and "a bird”.
  • "ARG0” is set as the role (role) of the term corresponding to the action subject (who). Uncountable nouns (NNs) or noun phrases (NPs) can be included in the “ARG0” section.
  • “ARG1” is set as the role of the term corresponding to the target of operation (hat). Nouns such as uncountable nouns and noun phrases can be included in the "ARG1" section.
  • IOB Inside, Outside, Begin
  • the range of the predicate term is the span.
  • the span of "saw” is “a blue cat” and the span of "shot” is "a bird".
  • the server 100 can provide an advanced service using sentences in natural language.
  • the server 100 can provide a web search service using a QA system.
  • the server 100 analyzes the predicate argument structure of the sentence in the web page regarding "collosem" when, for example, the question "Who document the collosem?" Is input.
  • the server 100 Based on the analysis result of the predicate argument structure, the server 100 identifies an agent of a sentence whose predicate is "built” or a synonym thereof and whose target is "collosem".
  • the server 100 can output an answer such as "Roman Forum? Emperor Vespasian? Flavian Dynasty? Roman People?".
  • predicate argument structure analysis for example, a predicate argument structure analysis model learned by machine learning can be used.
  • input data to the predicate argument structure analysis model for example, vector data based on a syntax tree in which the syntax of a sentence is represented by a tree structure is used.
  • FIG. 5 is a diagram showing an example of a syntax tree corresponding to a sentence.
  • the server 100 performs parsing of the input data 33 using, for example, the parsing model 34.
  • the parsing model 34 is a trained model by machine learning.
  • the server 100 generates syntax tree information 35 as a result of parsing.
  • the syntax tree information 35 is information indicating a syntax tree 36 that represents the syntax of the text of the input data 33 in a tree structure.
  • a node with no children is associated with a word
  • a node with children other than the root is associated with a part-of-speech (POS).
  • POS part-of-speech
  • Part of speech is represented by alphabetic symbols. For example, "NP” is a noun phrase. "VP” is a verb phrase. "V” is a verb. "N” is a noun. "PP” is a prepositional phrase. “P” is a preposition. "Det” is a determiner.
  • the server 100 vectorizes each element by using the syntax tree 36. Then, the server 100 inputs the vector for each element to the predicate argument structure analysis model.
  • FIG. 6 is a diagram showing an example of vectorization.
  • the server 100 generates the vectors h 1 , h 2 , ... Corresponding to each of the elements assigned to the leaf nodes of the syntax tree 36. Details of the vectorization method of the syntax tree 36 are disclosed in the above-mentioned Non-Patent Document 1.
  • the server 100 calculates the output of the predicate argument structure analysis model 37 by using the generated vector as an input to the predicate argument structure analysis model 37.
  • the output of the predicate argument structure analysis model 37 is the predicate argument structure information of the sentence represented by the syntax tree 36.
  • the predicate argument structure analysis model 37 By using the predicate argument structure analysis model 37 in this way, the predicate argument structure information can be obtained. However, when the predicate argument structure is actually obtained by the inference process using the predicate argument structure analysis model 37, the estimation of the argument span may be erroneous. For example, when vectorizing the syntax tree 36, if all the information contained in the syntax tree 36 is not effectively used for the vector data, an error in estimating the span of the term is likely to occur.
  • FIG. 7 is a diagram showing an example of a span estimation error.
  • the server 100 performs the predicate argument structure analysis on the input data 41 using the predicate argument structure analysis model 37, and generates the predicate argument structure information 42 as the analysis result.
  • the span of the argument "ARG0" of the predicate "prepared” is determined to be "A, B and C and X”.
  • the correct span of the above sentence is "A, B and C", and "A, B and C and X" including the extra word "and X" is an incorrect span. If the span is wrong in the predicate argument structure analysis, the accuracy in the subsequent processing (search, machine translation, automatic summarization, etc.) will decrease.
  • FIG. 8 is a block diagram showing an example of a predicate argument structure analysis function with a correction function.
  • the server 100 has a service providing unit 110 and a predicate argument structure analysis unit 120 with a correction function.
  • the service providing unit 110 provides services such as a website search in response to a request from the terminal device 30.
  • the service providing unit 110 inputs the sentence to the predicate argument structure analysis unit 120 with a correction function.
  • the predicate argument structure analysis unit 120 with a correction function performs a predicate argument structure analysis with a correction function of the input sentence.
  • the predicate argument structure analysis unit 120 with a correction function transmits the analysis result to the service providing unit 110.
  • the predicate term structure analysis unit 120 with a correction function includes a syntax analysis model storage unit 121, a predicate term structure analysis model storage unit 122, an input data acquisition unit 123, a syntax analysis unit 124, a predicate term structure analysis unit 125, and a span check unit 126. It has a span correction unit 127 and a result output unit 128.
  • the parsing model storage unit 121 stores the parsing model generated by machine learning.
  • the parsing model is a trained model that defines rules for generating syntax tree information that represents the syntax of a sentence in a tree structure based on a sentence in natural language.
  • the parsing model is represented by, for example, a neural network.
  • the predicate argument structure analysis model storage unit 122 stores the predicate argument structure analysis model generated by machine learning.
  • the predicate argument structure analysis model is a trained model that defines rules for generating predicate argument structure information representing the predicate argument structure of a sentence based on a sentence in natural language.
  • the predicate argument structure analysis model is represented by, for example, a neural network.
  • the input data acquisition unit 123 receives input of a sentence to be analyzed of the predicate argument structure from the service provision unit 110.
  • the input data acquisition unit 123 transmits the input text to the syntax analysis unit 124 and the predicate argument structure analysis unit 125.
  • the parsing unit 124 performs parsing of the input sentence by using the parsing model stored in the parsing model storage unit 121. Then, the syntax analysis unit 124 generates syntax tree information representing the syntax analysis result. The parsing unit 124 transmits the generated syntax tree information to the span check unit 126.
  • the predicate argument structure analysis unit 125 analyzes the predicate argument structure of the input sentence by using the predicate argument structure analysis model stored in the predicate argument structure analysis model storage unit 122. Then, the predicate argument structure analysis unit 125 generates the predicate argument structure information representing the predicate argument structure analysis result. The predicate argument structure analysis unit 125 transmits the generated predicate argument structure information to the span check unit 126.
  • the span check unit 126 determines whether or not the span of the argument shown in the predicate argument structure information is correct based on the syntax tree information and the predicate argument structure information. The span check unit 126 transmits the determination result to the span correction unit 127.
  • the span correction unit 127 corrects the span of the predicate argument structure based on the syntax tree information and the predicate argument structure information when the span of the argument shown in the predicate argument structure information is incorrect.
  • the span correction unit 127 transmits the correction result to the result output unit 128.
  • the result output unit 128 outputs the predicate argument structure information that has become the correct span by the correction process as the predicate argument structure analysis result of the input sentence.
  • the line connecting each element shown in FIG. 8 indicates a part of the communication path, and a communication path other than the shown communication path can be set. Further, the function of each element shown in FIG. 8 can be realized, for example, by causing a computer to execute a program module corresponding to the element.
  • the server 100 having such a configuration function makes it possible to generate predicate argument structure information based on the correct answer span even for the input data 41 shown in FIG. 7, for example. That is, the server 100 corrects the span error of the predicate argument structure information 42 generated based on the input data 41 based on the syntax tree obtained as the result of the parsing of the input data 41.
  • FIG. 9 is a diagram showing an example of a syntax tree used for span correction.
  • the parsing unit 124 acquires the input data 41 via the input data acquisition unit 123.
  • the parsing unit 124 analyzes the input data 41 using the parsing model 34 stored in the parsing model storage unit 121.
  • the syntax analysis unit 124 outputs the syntax tree information 43 as the syntax analysis result.
  • the syntax tree information 43 represents the syntax tree 44 of the input data 41.
  • the syntax tree information 43 generated by the parsing is transmitted to the span check unit 126.
  • the span check unit 126 uses the syntax tree information 43 to check whether or not the span shown in the predicate argument structure information 42 generated by the predicate argument structure analysis unit 125 is correct.
  • the span shown in the predicate argument structure information 42 before modification is referred to as an original span. If the original span is incorrect, the span correction unit 127 corrects the span.
  • FIG. 10 is a diagram showing an example of span correction.
  • "A, B and C and X" is the original span.
  • the span check unit 126 compares the original span with the syntax tree information 43, and determines whether or not the original span and any of the syntax tree elements of the syntax tree 44 match. Matching the original span with the syntax tree element means that the words contained in each of the original span and the syntax tree element match.
  • the syntax tree element is a subtree of the syntax tree 44, which itself has a tree structure.
  • the tree structure including all the elements within the range enclosed in parentheses is the syntax tree element.
  • the root node of the syntax tree element is set to the part of speech of the word or phrase contained in the syntax tree element.
  • the leaf node of the syntax tree element is set to the word contained in the syntax tree element.
  • the span check unit 126 determines that the original span is incorrect if the original span does not match the syntax tree element of the syntax tree 44.
  • the syntax tree 44 shown in FIG. 9 has a syntax tree element that matches "A, B and C", but does not have a syntax tree element that matches "A, B and C and X”. Therefore, it is determined that the original span is incorrect.
  • the span correction unit 127 corrects the span so that it matches the syntax tree element of the syntax tree 44. As a result of the correction, the span correction unit 127 outputs the predicate argument structure information 42a indicating the correct answer span.
  • the method of correcting the span will be described in detail with reference to FIGS. 11 to 16.
  • the span correction unit 127 first generates a correct span candidate list based on the syntax tree information 43.
  • FIG. 11 is a diagram showing an example of a list of correct span candidates.
  • the span correction unit 127 Based on the syntax tree information 43, the span correction unit 127 generates correct span candidates corresponding to the syntax tree elements that can be generated from the substructure of the predicate “VP prepared”.
  • the substructure of the predicate "VP-prepared” is, in the case of the syntax tree 44 shown in FIG. 9, the root is the node "PP" which is a child different from "prepared” for the parent node "VP" of "prepared”. It is a syntax tree element.
  • the span corresponding to this syntax tree element and other syntax tree elements contained in this syntax tree element is registered in the correct answer span candidate list 45 as a correct answer span candidate.
  • the correct span candidate list 45 includes "the reaction of A, B and C", “the reaction”, “A, B and C”, “A”, "B”, and "C”. Is registered as a correct span candidate.
  • the syntax tree element corresponding to each correct span candidate is a part of the syntax tree 44 shown in the syntax tree information 43.
  • the subtree including the original span "the reaction of A, B and C and X" is not included in the syntax tree 44. Therefore, "the reaction of A, B and C and X" is not a candidate for the correct answer span.
  • a compound sentence such as "ABC was predicated by the reaction of A, B and C and X was added to the result" has a plurality of predicates.
  • predicates When there are multiple predicates in this way, by extracting the correct span candidate only from the substructure of the predicate corresponding to the original span, it is possible to prevent the term of the predicate different from the original span from being extracted as the correct span candidate. can.
  • the span correction unit 127 extracts correct span candidates, for example, on a rule basis. In that case, in the span correction unit 127, a rule regarding the syntax tree element to be extracted as a correct span candidate for the term of the role is set for each role of the term.
  • FIG. 12 is a diagram showing an example of extracting correct span candidates based on a rule.
  • the span correction unit 127 defines a rule 46 for extracting correct span candidates.
  • rule 46 the part of speech of the syntax tree element that can be a candidate for the correct answer span of the role is set in association with the role.
  • the extraction target of the correct span candidate for the role "ARG0" is an uncountable noun (NN) or noun phrase (NP) (not including the prepositional phrase (PP)).
  • the extraction target of the correct span candidate of "ARG1" is also an uncountable noun (NN) or a noun phrase (NP).
  • the span correction unit 127 extracts the syntax tree element according to the rule 46 as a correct span candidate from all the syntax tree elements listed under the predicate "prepared" in the syntax tree information 43.
  • "the reaction of A, B and C”, “the reaction”, “A, B and C”, “A”, “B”, and “C” are noun phrases (NP). Therefore, it is extracted as a correct span candidate. Since “by the reaction of A, B and C” and “of A, B and C" are prepositional phrases (PP), they are not included in the extraction of correct span candidates.
  • the span correction unit 127 calculates the score of each correct answer span candidate.
  • the score of the correct answer span candidate is, for example, the sum of the word score and the pass score.
  • the word score is a value indicating the similarity between the terms of the original span and the correct span candidate.
  • the path score is a value indicating the closeness of the distance to the predicate in the syntax tree 44.
  • FIG. 13 is a diagram showing a calculation example of a word score.
  • the span correction unit 127 selects one correct span candidate for which the word score is calculated from the correct span candidate list 45. Next, the span correction unit 127 counts the number of overlapping words (no overwrapping words) between the selected correct span candidate and the original span. Then, the span correction unit 127 divides the number of overlapping words by the number of words in the original span (total words in original span), and the result is R. Further, the span correction unit 127 sets P as the result of dividing the number of overlapping words by the number of correct span candidate words (total words in span candidate).
  • the span correction unit 127 assigns an identification number (No.) to each of the correct span candidates, and manages the word score in association with the identification number.
  • the identification number of the correct answer span candidate “the reaction of A, B and C” is “1”.
  • the identification number of the correct span candidate "the reaction” is "2”.
  • the identification number of the correct answer span candidate "A, B and C” is "3”.
  • the identification number of the correct answer span candidate "A” is "4".
  • the identification number of the correct answer span candidate "B” is "5".
  • the identification number of the correct answer span candidate "C” is "6".
  • the word score calculated in this way becomes higher as the words included in the original span and the correct answer span candidate are similar. Since the original span is the result estimated based on the predicate argument structure analysis model, it means that the higher the word score is, the more the estimation result based on the predicate argument structure analysis model is reflected. Even if the original span is incorrect, it is considered appropriate to correct it to a span similar to the original span in order to effectively utilize the predicate argument structure analysis result.
  • FIG. 14 is a diagram showing a calculation example of the pass score.
  • the span correction unit 127 identifies the root node of the corresponding syntax tree element (subtree of the syntax tree 44) for each correct span candidate.
  • the number shown next to the node of the syntax tree 44 is the identification number of the correct answer span candidate having that node as the root node.
  • the span correction unit 127 counts the number of edges (lines connecting the nodes) that pass through when the edge is traced from the specified root node to the node of the predicate, and uses that value as the distance between the correct span candidate and the predicate. .. Then, the span correction unit 127 uses the reciprocal of the distance from the predicate as the pass score for each correct span candidate. By using the reciprocal of the distance, the pass score becomes higher for the correct span candidate whose distance from the predicate is shorter.
  • the root node of the syntax tree element of the correct answer span candidate "the reaction” is the parent node "NP" of the node of "the reaction".
  • the distance from the correct span candidate "the reaction” to the predicate is "4", and the pass score is "1/4".
  • the pass score of the correct answer span candidate "the reaction of A, B and C” is "1/3"
  • the pass score of the correct answer span candidate "A, B and C” is "1/5".
  • the pass scores of the correct span candidates "A”, "B”, and “C” are all "1/6".
  • the span correction unit 127 uses the sum of the word score and the pass score as the final score, and ranks the correct span candidates by the final score. Then, the span correction unit 127 selects the correct answer span candidate having the highest final score, and corrects the span of the term so as to be the span shown in the selected correct answer span candidate.
  • FIG. 15 is a diagram showing a selection example of correct span candidates.
  • the final score "1.21" of the correct answer span candidate "the reaction of A, B and C" is the highest. Therefore, the correct span candidate "the reaction of A, B and C" is selected.
  • the selected correct answer span candidate is the correct answer span of the predicate "prepared" (see FIG. 7).
  • the original span 51 shown in FIG. 15 is an example when an extra word (and X) is included in the correct answer span.
  • the original span may be shorter (missing words) than the correct span. Even in such a case, the span correction unit 127 can correct the span correctly.
  • FIG. 16 is a diagram showing an example of selecting a correct span candidate when the original span is too short.
  • the original span 52 is “the reaction of A”.
  • the pass score of each correct span candidate is the same, but the word score is different.
  • the word score of the correct answer span candidate "the reaction” is "0.667”
  • the word score of the correct answer span candidate "A, B and C” is "0.250".
  • the word scores of the correct span candidates "A", "B", and “C” are all "0.400".
  • the correct span candidate "the reaction of A, B and C” is selected. That is, even if the original span is too short, the correct correct span candidate can be selected.
  • FIG. 17 is a flowchart showing an example of the procedure of the predicate argument structure analysis process with the correction function.
  • the process shown in FIG. 17 will be described along with the step numbers.
  • the input data acquisition unit 123 acquires input data from the service providing unit 110.
  • the input data acquisition unit 123 transmits the acquired input data to the syntax analysis unit 124 and the predicate argument structure analysis unit 125.
  • the predicate argument structure analysis unit 125 performs the predicate argument structure analysis of the sentence shown in the input data by using the predicate argument structure analysis model stored in the predicate argument structure analysis model storage unit 122. For example, the predicate argument structure analysis unit 125 generates a syntax tree of the sentence shown in the input data and vectorizes the syntax tree. The predicate argument structure analysis unit 125 uses the vector for each word generated by vectorization as an input to the predicate argument structure analysis model, performs inference using the predicate argument structure analysis model, and generates predicate argument structure information. The predicate argument structure analysis unit 125 transmits the generated predicate argument structure information to the span check unit 126.
  • the syntax analysis unit 124 performs a syntax analysis of the sentence shown in the input data and generates syntax tree information.
  • the parsing unit 124 transmits the syntax tree information to the span check unit 126.
  • the span check unit 126 uses the syntax tree information to determine whether or not the original span of the predicate argument structure information matches any one of the syntax tree elements of the syntax tree. When the original span matches any one of the syntax tree elements, the span check unit 126 transmits the predicate argument structure information generated by the predicate argument structure analysis unit 125 to the result output unit 128, and proceeds to the process in step S106. If the original span does not match any of the syntax tree elements, the span check unit 126 transmits the syntax tree information and the predicate argument structure information to the span correction unit 127, and proceeds to step S105.
  • the span correction unit 127 performs span correction processing of the predicate argument structure information.
  • the span correction unit 127 transmits the predicate argument structure information after the span correction to the result output unit 128. Details of the span correction process will be described later (see FIG. 18).
  • the result output unit 128 transmits the predicate argument structure information transmitted from the span check unit 126 or the span correction unit 127 to the service providing unit 110 as the predicate argument structure analysis result of the input data.
  • FIG. 18 is a flowchart showing an example of the procedure of the span correction process. Hereinafter, the process shown in FIG. 18 will be described along with the step numbers.
  • the span correction unit 127 extracts the part of speech of the syntax tree element corresponding to roll as the term of the original span from the preset rule 46. For example, the span correction unit 127 determines the roll of the element included in the original span in the predicate term information. For example, in the case of the original span of the predicate argument structure information 42 shown in FIG. 10, it is determined that roll is “ARG0”. The span correction unit 127 extracts the part of speech of the syntax tree element corresponding to the roll from the rule 46. For example, in the case of roll "ARG0", the part of speech "NN" and "NP" are extracted.
  • the span correction unit 127 extracts a syntax tree element from the syntax tree information acquired from the parsing unit 124 based on the extracted part of speech and the predicate corresponding to the original span to be corrected. For example, the span correction unit 127 extracts all the syntax tree elements corresponding to the extracted part of speech from the structure lower than the predicate corresponding to the original span to be corrected in the syntax tree information. The span correction unit 127 registers the extracted syntax tree element as a correct span candidate in the correct span candidate list.
  • the span correction unit 127 compares the positive value span candidate with the original span for each of the correct answer span candidates, and calculates the word score. [Step S124] The span correction unit 127 calculates the pass score for each of the correct span candidates based on the distance between the correct span candidate on the syntax tree and the predicate corresponding to the original span.
  • the span correction unit 127 calculates the final score by summing the word score and the pass score for each of the correct span candidates. [Step S126] The span correction unit 127 corrects the span in the predicate argument structure information based on the correct answer span candidate having the maximum final score, and outputs the corrected predicate argument structure information.
  • the span even if the span is incorrect in the predicate argument structure analysis, it can be corrected to the correct span. As a result, the accuracy of the predicate argument structure analysis is improved. Moreover, since the correct span candidate with a higher degree of similarity between the original span and the word has a higher final score, the result of the predicate argument structure analysis can be effectively used to correct the span. In addition, the closer the distance to the predicate is, the higher the final score is, so that the span is prevented from being corrected to a span farther from the predicate, and the accuracy of the corrected span is improved.
  • predicate argument structure analysis for English sentences is used, but it is also possible to perform predicate argument structure analysis with a correction function for sentences in other languages such as Japanese.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

項の範囲の推定誤りを修正できるようにする。 情報処理装置(10)は、解析対象の文章の述語と項の関係を解析する述語項構造解析の結果を示す述語項構造情報(1)を取得する。次に情報処理装置(10)は、文章の構文解析を行うことで、文章の構文解析結果を構文木で表す構文木情報(2)を生成する。さらに情報処理装置(10)は、構文木情報に示される構文木の部分木ごとに、部分木に含まれる単語の文章内での範囲を示す正解範囲候補を、述語項構造情報に示される項の範囲(4)と比較する。そして情報処理装置(10)は、部分木ごとの正解範囲候補のいずれも項の範囲と一致しない場合、部分木ごとの正解範囲候補に基づいて、述語項構造情報(1)における項の範囲を修正する。

Description

述語項構造修正プログラム、述語項構造修正方法、および情報処理装置
 本発明は、述語項構造修正プログラム、述語項構造修正方法、および情報処理装置に関する。
 自然言語の文章の構造の表し方の1つに述語項構造がある。述語項構造は、文章内の述語(predicate)とその項(argument)との間の関係を表現する構造である。述語の項は、その述語の動作主体または動作の対象を示す1以上の単語である。
 文章の述語項構造の解析には、機械学習の技術を利用することができる。例えば文章の述語項構造を機械学習によってコンピュータに学習させることで、述語項構造解析モデルを生成する。生成した述語項構造解析モデルを用いることで、コンピュータにより文章の述語項構造の解析が可能となる。文章の述語項構造の解析結果は、例えば質問応答(QA:Question Answering)システムに用いる検索エンジン、自動要約、機械翻訳などで利用される。
 述語項構造解析モデルとしては、例えばスパンbasedの述語項構造解析モデルがある。スパンbasedの述語項構造解析モデルを用いた機械学習では、文中の述語に対して、その述語の項の範囲(スパン)が推定され、その範囲内の要素と述語との関係が述語項構造で表される。
 述語項構造解析に関連する技術としては、例えば計算コストの増大を抑制しつつ、高精度な分類精度を得られる解析モデルを学習する解析モデル学習装置が提案されている。また意味表現言語を用いてテキストから述語と少なくとも一つの項を抽出する述語項構造解析ユニットを有する知識表現拡張装置も提案されている。また文章の構文木を述語項構造解析などに利用可能なベクトルに変換する技術も提案されている。
特開2013-11985号公報 米国特許出願公開第2018/0144049号明細書
Qingrong Xia, Zhenghua Li, Min Zhang, Meishan Zhang, Guohong Fu, Rui Wang, Luo Si, "Syntax-aware Neural Semantic Role Labeling", Proceedings of the AAAI Conference on Artificial Intelligence, 2019-07-17, vol.33, No.01, pp7305-7313.
 スパンbasedの述語項構造解析モデルを利用した述語項構造解において、項の範囲の推定を誤る場合がある。項の範囲の推定誤りが発生すると、述語項構造解析の結果が不正確となる。しかし、従来技術では述語項構造解析において項の範囲の推定誤りがあっても、それを正しく修正することができない。
 1つの側面では、本発明は、項の範囲の推定誤りを修正できるようにすることを目的とする。
 1つの案では、以下に示す処理をコンピュータに実行させる述語項構造修正プログラムが提供される。
 コンピュータは、解析対象の文章の述語と項の関係を解析する述語項構造解析の結果を示す述語項構造情報を取得する。次にコンピュータは、文章の構文解析を行うことで、文章の構文解析結果を構文木で表す構文木情報を生成する。さらにコンピュータは、構文木情報に示される構文木の部分木ごとに、部分木に含まれる単語の文章内での範囲を示す正解範囲候補を、述語項構造情報に示される項の範囲と比較する。そしてコンピュータは、部分木ごとの正解範囲候補のいずれも項の範囲と一致しない場合、部分木ごとの正解範囲候補に基づいて、述語項構造情報における項の範囲を修正する。
 1態様によれば、項の範囲の推定誤りを修正できる。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態に係る述語項構造修正方法の一例を示す図である。 システムの構成の一例を示す図である。 サーバのハードウェアの一例を示す図である。 述語項構造解析の一例を示す図である。 文章に対応する構文木の一例を示す図である。 ベクトル化の一例を示す図である。 スパンの推定誤りの一例を示す図である。 修正機能付きの述語項構造解析機能の一例を示すブロック図である。 スパン修正に用いる構文木の一例を示す図である。 スパン修正の一例を示す図である。 正解スパン候補リストの一例を示す図である。 ルールベースによる正解スパン候補の抽出例を示す図である。 単語スコアの計算例を示す図である。 パススコアの計算例を示す図である。 正解スパン候補の選択例を示す図である。 オリジナルスパンが短すぎる場合の正解スパン候補の選択例を示す図である。 修正機能付き述語項構造解析処理の手順の一例を示すフローチャートである。 スパン修正処理の手順の一例を示すフローチャートである。
 以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
 〔第1の実施の形態〕
 まず第1の実施の形態について説明する。第1の実施の形態は、述語項構造の解析結果に示される項の範囲の誤りを修正することができる述語項構造修正方法である。
 図1は、述語項構造修正方法の一例を示す図である。図1には、情報処理装置10を用いて述語項構造修正方法を実施した場合の例を示している。情報処理装置10は、例えば述語項構造修正プログラムを実行することにより、述語項構造修正方法を実施することができる。
 情報処理装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリ、またはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサ、または演算回路である。
 記憶部11は、解析対象の文章の述語と項の関係を解析する述語項構造解析の結果を示す述語項構造情報1を記憶する。述語項構造情報1には、文章内の述語と、その述語の項の範囲の推定結果が示されている。項は1以上の単語を含む。述語項構造情報1において、各項の述語に対する役割が示されている。図1の例では述語「prepared」に動作主体としての役割を有する項が「the reaction of A,B and C and X」と推定され、動作の対象を示す項が「ABC」と推定されている。
 処理部12は、述語項構造情報1に示される項の誤りを修正する。例えば「the reaction of A,B and C and X」の項を修正する場合を想定する。
 まず処理部12は、記憶部11から述語項構造情報1を取得する。次に処理部12は、文章の構文解析を行うことで、文章の構文解析結果を構文木で表す構文木情報2を生成する。構文解析では、例えば文章が単語ごとに分割され、単語または複数の単語を含む句の品詞が判断される。そして構文解析では、単語または句の間の修飾関係が構文木で表される。
 処理部12は、構文木情報2に示される構文木の部分木ごとに、部分木に含まれる単語の文章内での範囲を示す正解範囲候補を、述語項構造情報に示される項の範囲4と比較する。図1に示す構文木情報2では、括弧で囲まれた範囲が、構文木における部分木に相当する。構文木情報2に示される構文木には、項の範囲4である「the reaction of A,B and C and X」と一致する範囲の単語を含む部分木は存在しない。
 処理部12は、部分木ごとの正解範囲候補のいずれも項の範囲4と一致しない場合、部分木ごとの正解範囲候補に基づいて、述語項構造情報1における項の範囲を修正する。例えば処理部12は、構文木情報2に基づいて、構文木の部分木を抽出する。処理部12は、部分木ごとの正解範囲候補が登録された正解範囲候補リスト3を生成する。図1の例では、述語「prepared」の下位の構造の部分木に対応する正解範囲候補が正解範囲候補リスト3に登録されている。
 処理部12は、構文木の部分木ごとに、正解範囲候補と述語項構造情報1に示される項の範囲4との類似性に基づくスコアを計算する。例えば処理部12は、正解範囲候補に含まれる単語と、述語項構造情報1に示される項の範囲4に含まれる単語との共通性が高いほどスコアの値を高くする。また処理部12は、正解範囲候補と述語との構文木上での距離が近いほどスコアの値を高くしてもよい。
 次に処理部12は、正解範囲候補それぞれのスコアに基づいて、1つの正解範囲候補を選択する。例えば処理部12は、スコアが最も高い正解範囲候補を選択する。そして処理部12は、述語項構造情報1における項の範囲4を、選択した正解範囲候補に示される範囲に修正する。
 このような述語項構造修正方法によれば、述語項構造解析によって生成された述語項構造情報1において項の範囲4に誤りがあっても、構文木に表された構文構造に合うように、項の範囲4を修正することができる。その結果、述語項構造情報1の正確性が向上する。
 また正解範囲候補と述語項構造情報1に示される項の範囲4との類似性に基づくスコアに基づいて、項の範囲4を修正することで、述語項構造解析における解析結果からの変更を最小限に留めることができる。これにより述語項構造解析結果を生かして適切に修正することができ、修正後の述語項構造情報に示される述語項構造の正確性が向上する。
 なお処理部12は、例えば正解範囲候補に含まれる単語と述語項構造情報に示される項の範囲4に含まれる単語との共通性が高いほどスコアの値を高くする。これにより、スコアを容易に計算することができる。
 また処理部12は、正解範囲候補と述語との構文木上での距離が近いほどスコアの値を高くすることもできる。これにより、構文木の構造における述語と正解範囲候補との距離をスコアに反映させることができ、項の範囲4を適切に修正することができる。
 〔第2の実施の形態〕
 次に第2の実施の形態について説明する。第2の実施の形態は、文章の述語項構造の解析結果を活用してサービスを提供するシステムの一例である。なお以下の説明では、述語の項の範囲をスパンと呼ぶこととする。
 図2は、システムの構成の一例を示す図である。図2の例では、ネットワーク20にサーバ100と端末装置30が接続されている。サーバ100は、端末装置30からの要求に応じて、自然言語の文章の解析を伴うサービスを提供する。例えばサーバ100は、検索サービス、機械翻訳サービス、自動要約サービスなどを行うことができる。
 図3は、サーバのハードウェアの一例を示す図である。サーバ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
 メモリ102は、サーバ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
 バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
 ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
 グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
 入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
 光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取り、または光ディスク24へのデータの書き込みを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。
 機器接続インタフェース107は、サーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
 ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。ネットワークインタフェース108は、例えばスイッチやルータなどの有線通信装置にケーブルで接続される有線通信インタフェースである。またネットワークインタフェース108は、基地局やアクセスポイントなどの無線通信装置に電波によって通信接続される無線通信インタフェースであってもよい。
 サーバ100は、以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した情報処理装置10も、図2に示したサーバ100と同様のハードウェアにより実現することができる。
 サーバ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。サーバ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、サーバ100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またサーバ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
 サーバ100は、サービスの提供に当たり、自然言語で記述された文章を解釈するために述語項構造解析を行う。例えばサーバ100がウェブサイトの検索エンジンを用いて文書検索を行う場合、ウェブサイト内の文章の述語項構造解析を行い、文章内の述語とその項との間の関係(Who did what to whom?)を判断する。
 図4は、述語項構造解析の一例を示す図である。例えば解析対象の文章が入力データ31としてサーバ100に入力される。サーバ100は、文章の形態素解析を行うことで、文章を単語ごとの要素に分割する。そしてサーバ100は、述語となる要素と、その述語の項との関係を解析して、述語項構造を表す出力データ32を生成する。
 例えば「Tony saw a blue cat and Maria shot a bird」という文章には、「saw」と「shot」との2つの述語が含まれる。出力データ32には、述語ごとの述語項構造情報32a,32bが含まれる。
 述語項構造情報32a,32bにおいて述語は「P」で表されている。「saw」に対する項は「Tony」と「a blue cat」であり、「shot」に対する項は「Maria」と「a bird」である。図4の例では、動作主体(who)に当たる項は、役割(role)として「ARG0」が設定される。「ARG0」の項に含めることができるのは不可算の名詞(NN)または名詞句(NP)である。動作の対象(what)に当たる項は、役割として「ARG1」が設定される。「ARG1」の項に含めることができるのは、不可算の名詞、名詞句などの名詞である。
 各要素にはIOB(Inside,Outside,Begin)のタグが付与される。例えば「a blue cat」の最初の要素「a」には「B-」のタグが付与され、他の要素「blue」、「cat」それぞれには「I-」のタグが付与される。
 述語の項の範囲がスパンである。「saw」のスパンは「a blue cat」であり、「shot」のスパンは「a bird」である。
 サーバ100は、このような述語項構造解析を行うことで、自然言語の文章を用いた高度なサービスが可能となる。例えばサーバ100は、QAシステムを用いたウェブ検索サービスを提供することができる。この場合、サーバ100は、例えば「Who built the colloseum?」という質問が入力されると、「colloseum」に関するウェブページ内の文章の述語項構造解析を行う。サーバ100は、述語項構造の解析結果に基づいて、述語が「built」またはその類語であり、かつ対象が「colloseum」である文章の動作主を特定する。これによりサーバ100は、例えば「Roman Forum? Emperor Vespasian? Flavian Dynasty? Roman People?」のような回答を出力することができる。
 述語項構造解析には、例えば機械学習により学習済みの述語項構造解析モデルを利用することができる。述語項構造解析モデルへの入力データとしては、例えば文章の構文を木構造で表した構文木に基づくベクトルデータが用いられる。
 図5は、文章に対応する構文木の一例を示す図である。サーバ100は、例えば構文解析モデル34を用いて入力データ33の構文解析を行う。構文解析モデル34は、機械学習による学習済のモデルである。サーバ100は、構文解析の結果として構文木情報35を生成する。構文木情報35は、入力データ33の文章の構文を木構造で表す構文木36を示す情報である。
 構文木36において子を持たないノード(葉ノード)には単語が対応付けられており、ルート以外の子を持つノード(内部ノード)は品詞(POS:part-of-speech)が対応付けられている。品詞はアルファベットの記号で表されている。例えば「NP」は名詞句である。「VP」は動詞句である。「V」は動詞である。「N」は名詞である。「PP」は前置詞句である。「P」は前置詞である。「Det」は限定詞である。
 サーバ100は、構文木36を利用することで各要素をベクトル化する。そしてサーバ100は、要素ごとのベクトルを述語項構造解析モデルへの入力とする。
 図6は、ベクトル化の一例を示す図である。サーバ100は、構文木36の葉ノードに割り当てられた要素それぞれに対応するベクトルh1,h2,・・・を生成する。構文木36のベクトル化方法の詳細は、前述の非特許文献1に開示されている。
 サーバ100は、生成されたベクトルを述語項構造解析モデル37への入力として、述語項構造解析モデル37の出力を計算する。述語項構造解析モデル37の出力は、構文木36で表された文章の述語項構造情報である。
 このように述語項構造解析モデル37を用いることで、述語項構造情報を得ることができる。しかし、実際に述語項構造解析モデル37を用いた推論処理によって述語項構造を得るとき、項のスパンの推定を誤る可能性がある。例えば構文木36をベクトル化する際、構文木36に含まれるすべての情報がベクトルデータに有効に利用されない場合、項のスパンの推定誤りが発生しやすくなる。
 図7は、スパンの推定誤りの一例を示す図である。例えば「ABC was prepared by the reaction of A,B and C and X was added to the result」の文章が入力データ41として入力されたものとする。サーバ100は、入力データ41に対して述語項構造解析モデル37を用いて述語項構造解析を行い、解析結果として述語項構造情報42を生成する。述語項構造情報42では、述語「prepared」の項「ARG0」のスパンが「A,B and C and X」と判断される可能性がある。上記文章の正解スパンは「A,B and C」であり、余計な語「and X」が含まれる「A,B and C and X」は誤ったスパンである。述語項構造解析でスパンを誤ると、その後の処理(検索、機械翻訳、自動要約など)における精度が低下する。
 そこでサーバ100では、元の文章の構文木情報を用いて、述語項構造の解析結果の誤り修正を行う。誤り修正を行うことで、正しい述語項構造情報を生成することができる。
 図8は、修正機能付きの述語項構造解析機能の一例を示すブロック図である。サーバ100は、サービス提供部110と修正機能付き述語項構造解析部120とを有する。サービス提供部110は、端末装置30からの要求に応じて、ウェブサイトの検索などのサービスを提供する。サービス提供部110は、文章の述語項構造を用いた処理が発生すると、修正機能付き述語項構造解析部120にその文章を入力する。
 修正機能付き述語項構造解析部120は、入力された文章の修正機能付き述語項構造解析を行う。修正機能付き述語項構造解析部120は、解析結果をサービス提供部110に送信する。
 修正機能付き述語項構造解析部120は、構文解析モデル記憶部121、述語項構造解析モデル記憶部122、入力データ取得部123、構文解析部124、述語項構造解析部125、スパンチェック部126、スパン修正部127、および結果出力部128を有する。
 構文解析モデル記憶部121は、機械学習によって生成された構文解析モデルを記憶する。構文解析モデルは、自然言語の文章に基づいて、その文章の構文を木構造で表す構文木情報を生成するための規則を定義した学習済みのモデルである。構文解析モデルは、例えばニューラルネットワークで表される。
 述語項構造解析モデル記憶部122は、機械学習によって生成された述語項構造解析モデルを記憶する。述語項構造解析モデルは、自然言語の文章に基づいて、その文章の述語項構造を表す述語項構造情報を生成するための規則を定義した学習済みのモデルである。述語項構造解析モデルは、例えばニューラルネットワークで表される。
 入力データ取得部123は、サービス提供部110から、述語項構造の解析対象となる文章の入力を受け付ける。入力データ取得部123は、入力された文章を構文解析部124と述語項構造解析部125とに送信する。
 構文解析部124は、構文解析モデル記憶部121に格納されている構文解析モデルを用いて、入力された文章の構文解析を行う。そして構文解析部124は、構文解析結果を表す構文木情報を生成する。構文解析部124は、生成した構文木情報をスパンチェック部126に送信する。
 述語項構造解析部125は、述語項構造解析モデル記憶部122に格納されている述語項構造解析モデルを用いて、入力された文章の述語項構造の解析を行う。そして述語項構造解析部125は、述語項構造解析結果を表す述語項構造情報を生成する。述語項構造解析部125は、生成した述語項構造情報をスパンチェック部126に送信する。
 スパンチェック部126は、構文木情報と述語項構造情報とに基づいて、述語項構造情報に示される項のスパンが正しいか否かを判断する。スパンチェック部126は、判断結果をスパン修正部127に送信する。
 スパン修正部127は、述語項構造情報に示される項のスパンが誤っている場合に、構文木情報と述語項構造情報とに基づいて、述語項構造のスパンを修正する。スパン修正部127は、修正結果を結果出力部128に送信する。
 結果出力部128は、修正処理によって正しいスパンとなった述語項構造情報を、入力された文章の述語項構造解析結果として出力する。
 なお、図8に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図8に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
 このような構成の機能を有するサーバ100により、例えば図7に示した入力データ41についても、正解スパンに基づく述語項構造情報を生成することが可能となる。すなわちサーバ100は、入力データ41に基づいて生成された述語項構造情報42のスパンの誤りを、入力データ41の構文解析結果として得られた構文木に基づいて修正する。
 図9は、スパン修正に用いる構文木の一例を示す図である。構文解析部124は、入力データ取得部123を介して入力データ41を取得する。構文解析部124は、構文解析モデル記憶部121に格納されている構文解析モデル34を用いて、入力データ41の構文解析を行う。構文解析部124は、構文解析結果として構文木情報43を出力する。構文木情報43には、入力データ41の構文木44が表されている。
 構文解析によって生成された構文木情報43は、スパンチェック部126に送信される。スパンチェック部126は、構文木情報43を用いて、述語項構造解析部125により生成された述語項構造情報42に示されるスパンが正しいか否かをチェックする。以下、修正前の述語項構造情報42に示されるスパンをオリジナルスパンと呼ぶこととする。オリジナルスパンが誤っている場合、スパン修正部127がスパンを修正する。
 図10は、スパン修正の一例を示す図である。述語項構造解析部125が生成した述語項構造情報42に示される述語項構造では、「A,B and C and X」がオリジナルスパンである。スパンチェック部126は、オリジナルスパンと構文木情報43とを比較し、オリジナルスパンと構文木44のいずれかの構文木要素とが一致するか否かを判断する。オリジナルスパンと構文木要素とが一致するとは、オリジナルスパンと構文木要素それぞれに含まれる単語が一致することである。
 構文木要素は、構文木44の部分木であり、それ自身も木構造となっている。構文木情報43では、括弧で囲まれた範囲内のすべての要素を含む木構造が構文木要素である。構文木要素のルートノードには、その構文木要素に含まれる単語または句の品詞が設定されている。構文木要素の葉ノードには、その構文木要素に含まれる単語が設定されている。
 スパンチェック部126は、オリジナルスパンが構文木44の構文木要素と一致しなければ、オリジナルスパンが誤っていると判定する。図9に示す構文木44には「A,B and C」に一致する構文木要素は存在するが、「A,B and C and X」に一致する構文木要素は存在しない。そのためオリジナルスパンが誤っていると判定される。
 オリジナルスパンが誤っていると判定されると、スパン修正部127が、構文木44の構文木要素と一致するようにスパンを修正する。修正の結果、スパン修正部127は、正解スパンを示す述語項構造情報42aを出力する。以下、図11~図16を参照し、スパンの修正方法を詳細に説明する。
 スパン修正部127は、まず構文木情報43に基づいて正解スパン候補リストを生成する。
 図11は、正解スパン候補リストの一例を示す図である。スパン修正部127は、構文木情報43に基づいて、述語「VP prepared」の下位構造から生成可能な構文木要素に対応する正解スパン候補を生成する。述語「VP prepared」の下位構造とは、図9に示す構文木44であれば、「prepared」の親のノード「VP」に対する「prepared」とは別の子のノード「PP」をルートとする構文木要素である。この構文木要素、およびこの構文木要素に含まれる他の構文木要素に対応するスパンが、正解スパン候補として正解スパン候補リスト45に登録される。
 図11の例では、正解スパン候補リスト45には、「the reaction of A,B and C」、「the reaction」、「A,B and C」、「A」、「B」、および「C」が正解スパン候補として登録されている。各正解スパン候補に対応する構文木要素は、構文木情報43で示される構文木44の一部である。
 他方、オリジナルスパン「the reaction of A,B and C and X」を含む部分木は、構文木44に含まれていない。従って「the reaction of A,B and C and X」は正解スパン候補とはならない。
 なお「ABC was prepared by the reaction of A,B and C and X was added to the result」のような重文は複数の述語を有する。このように述語が複数ある場合、オリジナルスパンに対応する述語の下位構造からのみ正解スパン候補の抽出を行うことで、オリジナルスパンとは別の述語の項が正解スパン候補として抽出されることを抑止できる。
 スパン修正部127は、正解スパン候補の抽出を、例えばルールベースで行う。その場合、スパン修正部127には、項の役割ごとに、その役割の項の正解スパン候補として抽出する構文木要素に関するルールが設定される。
 図12は、ルールベースによる正解スパン候補の抽出例を示す図である。例えばスパン修正部127には、正解スパン候補抽出のためのルール46が定義されている。ルール46には、役割(role)に対応付けて、その役割の正解スパン候補とすることができる構文木要素の品詞が設定されている。例えば役割「ARG0」の正解スパン候補の抽出対象は、不可算の名詞(NN)または名詞句(NP)である(前置詞句(PP)を含まない)。また「ARG1」の正解スパン候補の抽出対象も、不可算の名詞(NN)または名詞句(NP)である。
 スパン修正部127は、構文木情報43において述語「prepared」の下位に列挙されているすべての構文木要素のうち、ルール46に従った構文木要素を正解スパン候補として抽出する。図12の例では、「the reaction of A,B and C」、「the reaction」、「A,B and C」、「A」、「B」、および「C」は名詞句(NP)であるため、正解スパン候補として抽出される。「by the reaction of A,B and C」と「of A,B and C」は前置詞句(PP)であるため、正解スパン候補の抽出対象外となる。
 正解スパン候補の抽出が終了すると、スパン修正部127は各正解スパン候補のスコアを計算する。正解スパン候補のスコアは、例えば単語スコアとパススコアの合計である。単語スコアは、オリジナルスパンと正解スパン候補との項の類似性を示す値である。パススコアは、構文木44における述語との距離の近さを示す値である。
 図13は、単語スコアの計算例を示す図である。スパン修正部127は、正解スパン候補リスト45から単語スコアの計算対象の正解スパン候補を1つ選択する。次にスパン修正部127は、選択した正解スパン候補とオリジナルスパンとで重複する単語数(n of overlapping words)を計数する。そしてスパン修正部127は、重複する単語数をオリジナルスパンの単語数(total words in original span)で除算した結果をRとする。またスパン修正部127は、重複する単語数を正解スパン候補の単語数(total words in span candidate)で除算した結果をPとする。
 スパン修正部127は、(2×P×R)/(P+R)を単語スコアとする。このような計算により単語スコアは「0」~「1」の間の実数となる。例えば正解スパン候補「the reaction of A,B and C」の場合、R=7/9、P=7/7=1である。そのため単語スコアは、「{2×1×(7/9)}/(1+7/9)=0.875」となる。同様に、正解スパン候補「the reaction」の単語スコアは「0.363」、正解スパン候補「A,B and C」の単語スコアは「0.614」となる。正解スパン候補「A」、「B」、および「C」それぞれの単語スコアは共に「0.200」となる。
 スパン修正部127は、例えば正解スパン候補それぞれに識別番号(No.)を付与し、その識別番号に対応付けて単語スコアを管理する。図13の例では、正解スパン候補「the reaction of A,B and C」の識別番号は「1」である。正解スパン候補「the reaction」の識別番号は「2」である。正解スパン候補「A,B and C」の識別番号は「3」である。正解スパン候補「A」の識別番号は「4」である。正解スパン候補「B」の識別番号は「5」である。正解スパン候補「C」の識別番号は「6」である。
 このようにして算出される単語スコアは、オリジナルスパンと正解スパン候補とに含まれる単語が類似するほど高い値となる。オリジナルスパンは述語項構造解析モデルに基づいて推定された結果であるため、単語スコアが高い正解スパン候補ほど、述語項構造解析モデルに基づく推定結果が反映されていることを意味する。オリジナルスパンが誤りであったとしても、述語項構造解析結果を有効に利用するためには、オリジナルスパンに類似するスパンに修正するのが適切であると考えられる。
 図14は、パススコアの計算例を示す図である。スパン修正部127は、各正解スパン候補について、対応する構文木要素(構文木44の部分木)のルートノードを特定する。図14において、構文木44のノードの横に示す番号は、そのノードをルートノードとする正解スパン候補の識別番号である。
 スパン修正部127は、特定したルートノードから述語のノードまでエッジを辿った場合に経由するエッジ(ノード間を結ぶ線)の数を計数し、その値を正解スパン候補と述語との距離とする。そしてスパン修正部127は、各正解スパン候補について、述語との距離の逆数をパススコアとする。距離の逆数とすることで、述語からの距離が近い正解スパン候補ほどパススコアが高い値となる。
 例えば正解スパン候補「the reaction」の構文木要素のルートノードは、「the reaction」のノードの親ノード「NP」である。このノードから構文木44のエッジを辿って述語「prepared」のノードに到達するには、4つのエッジを経由することとなる。従って正解スパン候補「the reaction」から述語までの距離は「4」となり、パススコアは「1/4」となる。同様に、正解スパン候補「the reaction of A,B and C」のパススコアは「1/3」、正解スパン候補「A,B and C」のパススコアは「1/5」となる。正解スパン候補「A」、「B」、および「C」それぞれのパススコアは共に「1/6」となる。
 述語との間の距離が近い正解スパン候補ほど、その述語の正しい項である可能性が高い。そのためオリジナルスパンをパススコアが高い正解スパン候補に修正することで、スパンの修正精度が向上する。
 スパン修正部127は、単語スコアとパススコアとの合計を最終スコアとし、正解スパン候補を最終スコアでランキングする。そしてスパン修正部127は、最終スコアが最も高い正解スパン候補を選択し、選択した正解スパン候補に示されるスパンとなるように項のスパンを修正する。
 図15は、正解スパン候補の選択例を示す図である。図15に示す例では、正解スパン候補「the reaction of A,B and C」の最終スコア「1.21」が最も高い。従って正解スパン候補「the reaction of A,B and C」が選択される。選択された正解スパン候補は、述語「prepared」の正解スパンである(図7参照)。
 なお図15に示すオリジナルスパン51は、正解スパンに余計な語(and X)が含まれている場合の例である。述語項構造解析では、正解スパンよりも短い(語が不足している)オリジナルスパンとなる場合もある。このような場合であっても、スパン修正部127は正しくスパンを修正することができる。
 図16は、オリジナルスパンが短すぎる場合の正解スパン候補の選択例を示す図である。図16の例では、オリジナルスパン52は「the reaction of A」である。図15の例と比較すると、各正解スパン候補のパススコアは同じであるが、単語スコアが異なる。例えば正解スパン候補「the reaction of A,B and C」の場合、R=4/4=1、P=4/7である。そのため単語スコアは「{2×(4/7)×1}/(4/7+1)=0.727」となる。同様に、正解スパン候補「the reaction」の単語スコアは「0.667」、正解スパン候補「A,B and C」の単語スコアは「0.250」となる。正解スパン候補「A」、「B」、および「C」それぞれの単語スコアは共に「0.400」となる。
 この場合でも正解スパン候補「the reaction of A,B and C」の最終スコア「1.06」が最も高い。従って正解スパン候補「the reaction of A,B and C」が選択される。すなわちオリジナルスパンが短すぎる場合であっても、正しい正解スパン候補を選択することができる。
 次に、修正機能付き述語項構造解析処理の手順について詳細に説明する。
 図17は、修正機能付き述語項構造解析処理の手順の一例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
 [ステップS101]入力データ取得部123は、サービス提供部110から入力データを取得する。入力データ取得部123は、取得した入力データを構文解析部124と述語項構造解析部125とに送信する。
 [ステップS102]述語項構造解析部125は、述語項構造解析モデル記憶部122に格納されている述語項構造解析モデルを用いて、入力データに示される文章の述語項構造解析を行う。例えば述語項構造解析部125は、入力データに示される文章の構文木を生成し、構文木のベクトル化を行う。述語項構造解析部125は、ベクトル化によって生成された単語ごとのベクトルを述語項構造解析モデルへの入力とし、述語項構造解析モデルを用いた推論を行い、述語項構造情報を生成する。述語項構造解析部125は、生成した述語項構造情報をスパンチェック部126に送信する。
 [ステップS103]構文解析部124は、入力データに示される文章の構文解析を行い、構文木情報を生成する。構文解析部124は、構文木情報をスパンチェック部126に送信する。
 [ステップS104]スパンチェック部126は、構文木情報を用いて、述語項構造情報のオリジナルスパンが構文木の構文木要素のいずれか1つと一致するか否かを判断する。スパンチェック部126は、オリジナルスパンがいずれか1つの構文木要素と一致した場合、述語項構造解析部125が生成した述語項構造情報を結果出力部128に送信し、処理をステップS106に進める。またスパンチェック部126は、オリジナルスパンがいずれの構文木要素とも一致しない場合、構文木情報と述語項構造情報とをスパン修正部127に送信し、処理をステップS105に進める。
 [ステップS105]スパン修正部127は、述語項構造情報のスパン修正処理を行う。スパン修正部127は、スパン修正後の述語項構造情報を結果出力部128に送信する。スパン修正処理の詳細は後述する(図18参照)。
 [ステップS106]結果出力部128は、スパンチェック部126またはスパン修正部127から送信された述語項構造情報を、入力データの述語項構造解析結果としてサービス提供部110に送信する。
 次に、スパン修正処理について詳細に説明する。
 図18は、スパン修正処理の手順の一例を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
 [ステップS121]スパン修正部127は、予め設定されたルール46から、オリジナルスパンの項としてのroleに対応する構文木要素の品詞を抽出する。例えばスパン修正部127は、述語項情報におけるオリジナルスパンに含まれる要素のroleを判断する。例えば図10に示した述語項構造情報42のオリジナルスパンであれば、roleが「ARG0」であると判断される。スパン修正部127は、ルール46から、そのroleに対応する構文木要素の品詞を抽出する。例えばrole「ARG0」の場合、品詞「NN」、「NP」が抽出される。
 [ステップS122]スパン修正部127は、抽出した品詞と修正対象のオリジナルスパンに対応する述語とに基づいて、構文解析部124から取得した構文木情報から構文木要素を抽出する。例えばスパン修正部127は、構文木情報において、修正対象のオリジナルスパンに対応する述語より下位の構造から、抽出した品詞に該当する構文木要素をすべて抽出する。スパン修正部127は、抽出した構文木要素を、正解スパン候補として正解スパン候補リストに登録する。
 [ステップS123]スパン修正部127は、正解スパン候補それぞれについて、正価スパン候補とオリジナルスパンとを比較し、単語スコアを計算する。
 [ステップS124]スパン修正部127は、正解スパン候補それぞれについて、構文木上での正解スパン候補とオリジナルスパンに対応する述語との距離に基づいてパススコアを計算する。
 [ステップS125]スパン修正部127は、正解スパン候補それぞれについて、単語スコアとパススコアを合計することで最終スコアを計算する。
 [ステップS126]スパン修正部127は、最終スコアが最大の正解スパン候補に基づいて述語項構造情報におけるスパンを修正し、修正後の述語項構造情報を出力する。
 以上のようにして、述語項構造解析においてスパンを誤った場合でも、正しいスパンに修正することができる。その結果、述語項構造解析の正確性が向上する。
 しかもオリジナルスパンと単語の類似度が高い正解スパン候補ほど最終スコアを高くしているため、述語項構造解析の結果を有効に利用して、正確なスパンに修正することができる。また述語との距離が近い正解スパン候補ほど最終スコアを高くしているため、述語から遠く離れたスパンに修正されることが抑止され、修正の後のスパンの正確性が向上する。
 〔その他の実施の形態〕
 第2の実施の形態では英文についての述語項構造解析の例を用いているが、日本語などの他の言語の文章についても、同様に修正機能付き述語項構造解析を行うことができる。
 上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
 1 述語項構造情報
 2 構文木情報
 3 正解範囲候補リスト
 4 項の範囲
 10 情報処理装置
 11 記憶部
 12 処理部

Claims (6)

  1.  コンピュータに、
     解析対象の文章の述語と項の関係を解析する述語項構造解析の結果を示す述語項構造情報を取得し、
     前記文章の構文解析を行うことで、前記文章の構文解析結果を構文木で表す構文木情報を生成し、
     前記構文木情報に示される前記構文木の部分木ごとに、前記部分木に含まれる単語の前記文章内での範囲を示す正解範囲候補を、前記述語項構造情報に示される前記項の範囲と比較し、
     前記部分木ごとの前記正解範囲候補のいずれも前記項の範囲と一致しない場合、前記部分木ごとの前記正解範囲候補に基づいて、前記述語項構造情報における前記項の範囲を修正する、
     処理を実行させる述語項構造修正プログラム。
  2.  前記項の範囲の修正では、
     前記正解範囲候補ごとに、前記述語項構造情報に示される前記項の範囲との類似性に基づくスコアを計算し、
     前記正解範囲候補それぞれのスコアに基づいて、1つの前記正解範囲候補を選択し、
     前記述語項構造情報における前記項の範囲を、選択した前記正解範囲候補に示される範囲に修正する、
     請求項1記載の述語項構造修正プログラム。
  3.  前記スコアの計算では、前記正解範囲候補に含まれる単語と前記述語項構造情報に示される前記項の範囲に含まれる単語との共通性が高いほど前記スコアの値を高くする、
     請求項2記載の述語項構造修正プログラム。
  4.  前記スコアの計算では、前記正解範囲候補と前記述語との前記構文木上での距離が近いほど前記スコアの値を高くする、
     請求項2または3のいずれかに記載の述語項構造修正プログラム。
  5.  コンピュータが、
     解析対象の文章の述語と項の関係を解析する述語項構造解析の結果を示す述語項構造情報を取得し、
     前記文章の構文解析を行うことで、前記文章の構文解析結果を構文木で表す構文木情報を生成し、
     前記構文木情報に示される前記構文木の部分木ごとに、前記部分木に含まれる単語の前記文章内での範囲を示す正解範囲候補を、前記述語項構造情報に示される前記項の範囲と比較し、
     前記部分木ごとの前記正解範囲候補のいずれも前記項の範囲と一致しない場合、前記部分木ごとの前記正解範囲候補に基づいて、前記述語項構造情報における前記項の範囲を修正する、
     述語項構造修正方法。
  6.  解析対象の文章の述語と項の関係を解析する述語項構造解析の結果を示す述語項構造情報を取得し、前記文章の構文解析を行うことで、前記文章の構文解析結果を構文木で表す構文木情報を生成し、前記構文木情報に示される前記構文木の部分木ごとに、前記部分木に含まれる単語の前記文章内での範囲を示す正解範囲候補を、前記述語項構造情報に示される前記項の範囲と比較し、前記部分木ごとの前記正解範囲候補のいずれも前記項の範囲と一致しない場合、前記部分木ごとの前記正解範囲候補に基づいて、前記述語項構造情報における前記項の範囲を修正する処理部、
     を有する情報処理装置。
PCT/JP2020/045985 2020-12-10 2020-12-10 述語項構造修正プログラム、述語項構造修正方法、および情報処理装置 WO2022123716A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/045985 WO2022123716A1 (ja) 2020-12-10 2020-12-10 述語項構造修正プログラム、述語項構造修正方法、および情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/045985 WO2022123716A1 (ja) 2020-12-10 2020-12-10 述語項構造修正プログラム、述語項構造修正方法、および情報処理装置

Publications (1)

Publication Number Publication Date
WO2022123716A1 true WO2022123716A1 (ja) 2022-06-16

Family

ID=81973459

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/045985 WO2022123716A1 (ja) 2020-12-10 2020-12-10 述語項構造修正プログラム、述語項構造修正方法、および情報処理装置

Country Status (1)

Country Link
WO (1) WO2022123716A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017091101A (ja) * 2015-11-06 2017-05-25 日本電信電話株式会社 節同定装置、方法、及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017091101A (ja) * 2015-11-06 2017-05-25 日本電信電話株式会社 節同定装置、方法、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OUCHI, HIROKI: "Adaptive technology of neural field to unknown fields in semantic role labeling", IPSJ TECHNICAL REPORT, vol. 2017-NL-233, no. 12, 17 October 2017 (2017-10-17), pages 1 - 10, XP009537675 *

Similar Documents

Publication Publication Date Title
US10599767B1 (en) System for providing intelligent part of speech processing of complex natural language
US10936821B2 (en) Testing and training a question-answering system
US11030407B2 (en) Computer system, method and program for performing multilingual named entity recognition model transfer
US20140163951A1 (en) Hybrid adaptation of named entity recognition
KR102013230B1 (ko) 구문 전처리 기반의 구문 분석 장치 및 그 방법
US10275454B2 (en) Identifying salient terms for passage justification in a question answering system
US11593557B2 (en) Domain-specific grammar correction system, server and method for academic text
KR101664258B1 (ko) 텍스트 전처리 방법 및 이를 수행하는 전처리 시스템
US20220414463A1 (en) Automated troubleshooter
KR101509727B1 (ko) 자율학습 정렬 기반의 정렬 코퍼스 생성 장치 및 그 방법과, 정렬 코퍼스를 사용한 파괴 표현 형태소 분석 장치 및 그 형태소 분석 방법
Woodsend et al. Text rewriting improves semantic role labeling
KR100911834B1 (ko) 번역 시스템에서 오류 보정 패턴을 이용한 번역 오류 수정 방법 및 장치
US11151117B2 (en) Increasing the accuracy of a statement by analyzing the relationships between entities in a knowledge graph
US20220245353A1 (en) System and method for entity labeling in a natural language understanding (nlu) framework
KR101962113B1 (ko) 자연어 문장을 확장하는 장치와 상기 자연어 문장을 확장하는 방법
US20220238103A1 (en) Domain-aware vector encoding (dave) system for a natural language understanding (nlu) framework
US20220229994A1 (en) Operational modeling and optimization system for a natural language understanding (nlu) framework
US10055400B2 (en) Multilingual analogy detection and resolution
US20220245361A1 (en) System and method for managing and optimizing lookup source templates in a natural language understanding (nlu) framework
US10740572B2 (en) Using robot plans as parallel linguistic corpora
KR101709693B1 (ko) 크라우드 소싱을 이용한 웹툰 언어 자동 번역 방법
US10061770B2 (en) Multilingual idiomatic phrase translation
US10984191B2 (en) Experiential parser
KR101983477B1 (ko) 단락 기반 핵심 개체 식별을 이용한 한국어 주어의 생략 성분 복원 방법 및 시스템
Dušek Novel methods for natural language generation in spoken dialogue systems

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

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP