WO2022091536A1 - 意味表現解析システム及び意味表現解析方法 - Google Patents

意味表現解析システム及び意味表現解析方法 Download PDF

Info

Publication number
WO2022091536A1
WO2022091536A1 PCT/JP2021/030813 JP2021030813W WO2022091536A1 WO 2022091536 A1 WO2022091536 A1 WO 2022091536A1 JP 2021030813 W JP2021030813 W JP 2021030813W WO 2022091536 A1 WO2022091536 A1 WO 2022091536A1
Authority
WO
WIPO (PCT)
Prior art keywords
graph
token
semantic expression
input data
input
Prior art date
Application number
PCT/JP2021/030813
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 US18/025,742 priority Critical patent/US20230351112A1/en
Publication of WO2022091536A1 publication Critical patent/WO2022091536A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Definitions

  • the present invention relates to a semantic expression analysis system and a semantic expression analysis method, and is suitable for being applied to a semantic expression analysis system and a semantic expression analysis method that analyze the meaning of input data and construct a graph structure showing the meaning. be.
  • Semantic expression analysis broadly includes so-called syntactic analysis and dependency analysis, which analyze the relationships between words in a sentence, and also includes techniques for constructing abstract semantic expression graphs that do not necessarily correspond to words in a sentence, mathematics, etc. It also includes a technique for constructing a graph representing a calculation formula from the text title in.
  • a text that is input information is divided into words (tokens) and the like, and an operation (action) is performed on the column (input token sequence) to construct a semantic expression graph.
  • analysis method by transition and “analysis method by adjacency matrix” that directly estimates the adjacency matrix representing the relationship between input tokens with respect to the input token string.
  • Machine learning can be used to realize the above semantic expression analysis.
  • the analysis method by transition it can be realized by having a stack, extracting the identity from the stack, the input token string, the executed action, and the like, and then identifying the action to be executed.
  • the analysis method using an adjacency matrix it can be realized by calculating a real value or the like representing the connectivity between the input tokens using the input token sequence. This real value can be calculated using a so-called attention mechanism in deep learning.
  • Non-Patent Document 1 discloses a means for accurately analyzing various semantic expression graphs by transition.
  • Non-Patent Document 2 discloses analysis means by transition, and various semantic expression graphs can be analyzed using the same set of actions.
  • Non-Patent Document 1 is useful in that various semantic expression graphs can be analyzed with high accuracy by an analysis method using transitions, but it is necessary to redefine actions depending on the type of semantic expression graphs. There was a problem that it was not possible to analyze the semantic expression graph of.
  • the technique of Non-Patent Document 2 is useful in that various semantic expression graphs can be analyzed using the same set of actions, but the action that makes it possible to analyze all the semantic expression graphs to be analyzed. Since the set requires extra actions to be performed compared to the set of actions optimized for each semantic expression graph, the technique of Non-Patent Document 1 is used when the same semantic expression graph is targeted. There was a problem that the analysis accuracy was significantly lower than when it was.
  • the present invention has been made in consideration of the above points, and an object of the present invention is to propose a semantic expression analysis system and a semantic expression analysis method capable of analyzing various semantic expressions in a unified and accurate manner.
  • the present invention is a semantic expression analysis system that analyzes the semantic expression of input data, and represents an input unit that accepts the input data by text or graph, and a graph structure corresponding to the input data.
  • a serialized graph generator for generating a token sequence is provided, and the token string includes a first token indicating a node in a graph structure corresponding to the input data and a second token indicating a side representing a relationship between the nodes.
  • a semantic expression analysis system is provided that includes at least and.
  • a semantic expression analysis method by a semantic expression analysis system that analyzes the semantic expression of input data, and an input step for receiving the input data by text or a graph and the input step.
  • a serialized graph generation step for generating a token sequence representing a graph structure corresponding to the input data based on the input data received in the above is provided, and the token string is a node in the graph structure corresponding to the input data.
  • a semantic expression analysis method including at least a first token indicating the above and a second token indicating a side representing a relationship between the nodes.
  • FIG. It is a block diagram which shows the functional structure example of the semantic expression analysis system 100 which concerns on Example 1.
  • FIG. It is a block diagram which shows the hardware composition example of the computer apparatus 10 which realizes a semantic expression analysis system 100.
  • It is a flowchart which shows the outline of the processing by a token processing unit 131. It is a figure for demonstrating the conversion procedure of the serialization graph in Example 1 by a specific example.
  • FIG. It is a flowchart which shows the processing procedure example of the process which generates the equivalent serialization graph from the input data of the graph in Example 1.
  • FIG. It is a figure for demonstrating the conversion procedure of the serialization graph in Example 2 by a specific example.
  • FIG. 1 is a block diagram showing a functional configuration example of the semantic expression analysis system 100 according to the first embodiment.
  • the semantic expression analysis system 100 receives input data 210 as text or a graph as an input, generates a serialization graph 220 in the serialization graph generation unit 120 via the input unit 110, and further generates a serialization graph in the serialization graph conversion unit 130. After converting 220 to a desired format, the output unit 140 outputs an output graph 230 visualized in a predetermined graph format.
  • the semantic expression analysis system 100 can be realized by a computer device.
  • FIG. 2 is a block diagram showing a hardware configuration example of a computer device 10 that realizes a semantic expression analysis system 100.
  • the computer device 10 includes a processor 11, a storage device 12, an input device 13, an output device 14, and a communication interface 15, and each component is connected to each other by a bus 16.
  • the processor 11 has a function of controlling the computer device 10.
  • the storage device 12 is a storage medium having a non-volatile storage device or a volatile storage device for storing programs and data, and is a working area of the processor 11.
  • the specific storage medium of the storage device 12 is not limited, and for example, a flash memory such as a ROM (ReadOnlyMemory), a RAM (RandomAccessMemory), an HDD (HardDiskDrive), or an SSD (SolidStateDrive). Etc. can be used.
  • the processor 11 and the storage device 12 may be devices using a GPU (Graphical Processing Unit).
  • each processing unit (input unit 110, serialization graph generation unit 120, serialization graph conversion unit 130, output unit 140) of the semantic expression analysis system 100 shown in FIG. 1 is stored in the storage device 12. It is realized by the processor 11 executing the stored temporary or non-temporary program. Further, various data such as the input data 210, the serialized graph 220, and the output graph 230 handled by the semantic expression analysis system 100 are stored in the storage device 12, for example. In addition to this, for example, various data held by the node / edge information 133 of FIG. 6 to be described later are also stored in, for example, the storage device 12.
  • the processor 11 is composed of a single or a plurality of processing units. Further, the processor 11 can include a single or a plurality of arithmetic units and a plurality of processing cores.
  • the processor 11 operates signals by a single or a plurality of central processing units, microprocessors, digital signal processors, microcontrollers, microcontrollers, state machines, logic circuits, graphic processing units, chip-on systems, control instructions, and the like. It is implemented as a device of.
  • the program executed by the processor 11 can include an OS (Operating System). Further, the program executed by the processor 11 includes a program for realizing the functions of each processing unit of the semantic expression analysis system 100 (for example, an input program for the input unit 110 and a serialized graph generation unit 120). Various programs such as a serialization graph generation program, a serialization graph conversion program for the serialization graph conversion unit 130, and an output program for the output unit 140) can be included.
  • the processor 11 can function as an input unit 110, a serialization graph generation unit 120, a serialization graph conversion unit 130, and an output unit 140 by executing and operating these programs described above.
  • software elements such as an OS and various programs are stored in any storage area of the storage device 12.
  • the OS and various programs may be recorded in advance on a portable recording medium.
  • the program is read from the portable recording medium by a medium reading device and stored in the storage device 12. Further, the OS and various programs may be acquired via the communication medium.
  • the input device 13 is a device that executes commands and data input to the semantic expression analysis system 100 by the user, and is specifically realized by, for example, a mouse, a keyboard, a touch panel, a microphone, a scanner, or the like.
  • the output device 14 is a device that executes data output from the semantic expression analysis system 100, and is specifically realized by, for example, a display, a printer, a speaker, or the like.
  • the communication interface 15 is a device that connects to an external network of the computer device 10 to send and receive various data handled by the semantic expression analysis system 100, and is specifically realized by, for example, a NIC (Network Interface Card) or the like. To. When the semantic expression analysis system 100 is realized by the computer device 10 provided with the communication interface 15, the semantic expression analysis system 100 can be configured to send and receive data from another terminal via an external network.
  • NIC Network Interface Card
  • the semantic expression analysis system 100 is not limited to a configuration implemented by a single computer (computer device) as in the computer device 10 shown in FIG. 2, but includes a plurality of computers (computer devices). It may be implemented by a computer system. In that case, the computers can communicate with each other via the network, and for example, a plurality of functions by the language model processing device may be implemented separately in the plurality of computers.
  • the input data 210 takes the form of text or graph.
  • the text is generally a simple sentence, but may be a plurality of sentences, or may be a text that does not have the appearance of a sentence such as an utterance or a non-sentence. .. Further, it may be a symbol string having some kind of graph structure.
  • the graph may be a meaningful unit having a graph structure.
  • the input unit 110 receives the input data 210 (text in this example, as described above) that the user wants to process, and the text or graph of the input data 210 can be processed by the serialized graph generation unit 120. Convert. Specifically, for example, when the semantic expression analysis system 100 accepts the input of the input data 210 using the character user interface (CUI), the input unit 110 uses the text input using the CUI as an appropriate predetermined character code. Convert to text data (for example, plain text).
  • CUI character user interface
  • the input unit 110 converts the input graph (input graph) into a serialized graph.
  • the serialization graph generated at this stage is a conversion of the input graph into an equivalent serialization graph, and is different from the serialization graph generated by the serialization graph generation unit 120 described later. It is desirable that the predicates are the same.
  • the serialization graph generated by the former input unit 110 is referred to as a "serialization graph converted from the input graph", and the serialization graph generated by the latter serialization graph generation unit 120. May be referred to as a "first serialization graph”.
  • the present invention can be applied even if the serialization graph converted from the input graph is not in the same format as the first serialization graph.
  • the input data 210 is a graph (input graph)
  • a method of generating a serialized graph converted from an input graph equivalent to the input graph by the input unit 110 will be described later with reference to FIG. 9.
  • serialization graph generation unit 120 and the serialization graph 220 will be described.
  • the serialization graph generation unit 120 generates a serialization graph 220 based on the text data converted from the text input data 210 by the input unit 110, and outputs the serialization graph 220 to the serialization graph conversion unit 130.
  • the serialization graph 220 generated by the serialization graph generation unit 120 is a graph in which the semantic expression graph corresponding to the text which is the input data 210 is serialized.
  • serialization here means conversion to a format that can be regarded as a token string among the formats that can express the structure formed by the edges of the semantic expression graph. In general, conversion to a format that can be output as is to text data can be regarded as serialization.
  • FIG. 3 is a block diagram showing an example of the internal configuration of the serialization graph generation unit 120.
  • the serialization graph generation unit 120 includes a token division unit 121, a series generation unit 122, and an identity determination unit 123.
  • the token dividing unit 121 divides the text data received from the input unit 110 into appropriate token units, generates an input token string, and outputs the generated input token string to the series generation unit 122.
  • so-called division into words using morphological analysis, division into character units, division using statistical methods, or subword division is performed. It may be divided into units that are more detailed than words and coarser than letters.
  • the token division unit 121 can select a division method suitable for the sequence generation unit 122.
  • the sequence generation unit 122 generates an output token string from the input token string generated by the token division unit 121, and outputs the generated output token string to the identity determination unit 123.
  • the sequence generation unit 122 is preferably configured by a neural network generally called an encoder / decoder, but other means may be used as long as the token string can be input and the token string can be output.
  • a neural network of an encoder / decoder is used for the sequence generation unit 122, it is preferable to use a recurrent neural network or a Transformer.
  • these neural networks are used for the sequence generation unit 122, it can be considered that output tokens are generated one by one even when so-called beam search or the like is used.
  • the sequence generation unit 122 digitizes the input token sequence, assigns a one-hot vector to each digitized token, and inputs the input to the Transformer (first Transformer) which is an encoder.
  • the first Transformer applies an operation using an attention mechanism to the one-hot vector, and obtains a hidden expression for each token.
  • the Transformer (second Transformer) that becomes the decoder uses the hidden expression received from the first Transformer and the hidden expression of the decoder itself, and applies an operation using the attention mechanism to obtain an output token string. get.
  • the input to the neural network is not limited to the token string, and any information may be used.
  • processing such as inputting a part of speech and a named entity at the same time as a token string can be considered.
  • the series generation unit 122 when the first output token is generated, generally, all input tokens and a special token indicating the start are generated as inputs. Further, when the generation of the output token string is terminated, a special token indicating the termination is generated, or a predetermined number of token outputs are terminated.
  • the series generation unit 122 when the series generation unit 122 generates each output token, all the input tokens and the output tokens generated so far are input, but instead of the output token, the hidden expression of the output token or the hidden expression is used. Various calculated values and expressions may be used. Furthermore, information that can be inferred from the output token can be included in the input. For example, if the output token is a token representing a node (more on this later), the distance from the root node (ie, how many edges can be passed from that node to reach the root node) can be added to the input. ..
  • the identity determination unit 123 determines a token representing the same node on the semantic expression graph from the series (output token sequence) generated by the series generation unit 122 (identity determination), and identifies the corresponding token. The information indicating that is given. For this identity determination, a so-called hidden expression or the like generated by the neural network of the encoder / decoder can be used. More specifically, when the identity determination unit 123 uses the hidden expression in the identity determination of the node, the classifier that inputs the hidden expression of the token corresponding to any two nodes or the hidden expression of the token corresponding to the node. Attention mechanisms that estimate the relationships between expressions can be used. By providing the serialization graph generation unit 120 with such an identity determination unit 123, it is possible to generate a serialization graph even if it is a semantic expression graph having a different structure.
  • serialization graph 220 generated by the serialization graph generation unit 120 described above will be given.
  • FIG. 4 is a diagram showing an example of a semantic expression graph.
  • the semantic expression graph 310 shown in FIG. 4 is a semantic expression graph corresponding to the English text "It didn't take long.”
  • FIG. 5 is a diagram showing an example of a serialization graph.
  • the serialization graph 320 shown in FIG. 5 is an example of a serialization graph corresponding to the semantic expression graph 310 shown in FIG. 4, and is a serialization graph generation unit when the above English text is input as input data 210.
  • the serialization graph 320 shown in FIG. 5 gives an equivalent description to the structure formed by the “edge” in the semantic expression graph 310.
  • a line feed and a blank (space) are inserted to display the serialization graph 320 in order to improve the visibility, but the actual serialization graph 320 does not necessarily require a line feed.
  • Each character string separated by a blank character may be used as one token to form a series (token string).
  • the token including the slash symbol “/” is a token indicating a node
  • “ARG0” and “ARG1” are tokens indicating an edge label
  • “[EOD]” is a token indicating an edge label.
  • the token indicating the node indented at the beginning of the line corresponds to the child node on the semantic expression graph 310.
  • the token indicating the node indented at the beginning of the line corresponds to the child node on the semantic expression graph 310.
  • “it” in the second line and “long-03” in the third line are indented with respect to “take-10” in the first line, and these nodes are indented.
  • the semantic expression graph 310 of FIG. 4 it can be seen that "it” and "long-03" are child nodes of "take-10".
  • the identity determination unit 123 performs an operation such as assigning the same ID if they are the same node in the generation of nodes having the same name that appear multiple times in the serialization graph such as these "it”. .. Specifically, in the serialization graph 320 of FIG. 5, since the ID "2" is assigned to both the "it” in the second row and the "it” in the fourth row, they are the same node. It is clarified that there is.
  • the node label on the semantic expression graph is not always guaranteed to be unique in the graph. Therefore, in the serialization graph, it is necessary to add the above ID information and the like in order to guarantee the uniqueness even if the node labels are the same.
  • the serialization graph conversion unit 130 converts the serialization graph 220 generated by the serialization graph generation unit 120 into an appropriate format and transmits it to the output unit 140.
  • the serialization graph generation unit 120 Since the serialization graph generation unit 120 is realized by using a machine learning method such as a neural network, the serialization graph 220 generated by the serialization graph generation unit 120 is not necessarily the correct serialization with respect to the input data 210. It does not always generate a serialized semantic expression graph. Therefore, in the semantic expression analysis system 100, the serialization graph conversion unit 130 displays the semantic expression graph as much as possible with respect to the graph token sequence (serialization graph 220) representing the semantic expression graph generated by the serialization graph generation unit 120. Performs conversion processing to build edge information.
  • the serialization graph before being converted by the serialization graph conversion unit 130 that is, the serialization graph 220 generated by the serialization graph generation unit 120
  • the serialization graph after being converted by the serialization graph conversion unit 130 may be referred to as a second serialization graph.
  • the serialization graph conversion unit 130 can process the token string (graph token string) of the first serialization graph from the beginning even if the graph token string is an invalid input.
  • Edge information can be configured in a range.
  • FIG. 6 is a block diagram showing an example of the internal configuration of the serialized graph conversion unit 130.
  • the serialization graph conversion unit 130 includes a token processing unit 131, a token holding unit 132, a node / edge information 133, and a graph shaping unit 134.
  • the graph token string of the first serialization graph (serialization graph 220) is input to the token processing unit 131, and the token processing unit 131 sequentially performs appropriate processing. As a result, either the operation on the token holding unit 132 or the operation on the node / edge information 133 is executed.
  • FIG. 7 is a flowchart showing an outline of processing by the token processing unit 131.
  • the token processing unit 131 selects one token to be processed thereafter from the token string input in step S101 (step S102), and determines an action to be applied to the selected token (step S103). ).
  • the flowchart of FIG. 7 shows a method of sequentially executing processing for one token for a plurality of tokens included in the graph token string input in step S101, but the processing by the token processing unit 131 is as follows. For example, step S102 is skipped, and in step S103, an action to be applied to each token of the graph token column input in step S101 is determined, and then the action is applied to each token. Subsequent processing may be executed.
  • step S103 The action determination in step S103 will be described in detail.
  • actions corresponding to each type of token are set in advance. Therefore, in step S103, the token processing unit 131 identifies the type of token to be processed.
  • the token corresponding to the node has a notation in which the node ID and the node label are connected by a slash symbol. It is represented by.
  • the token processing unit 131 indicates that the token including the slash symbol is the token corresponding to the node. It can be determined that there is.
  • the token description format of the serialized graph should be such that the type of token can be specified.
  • the token processing unit 131 includes an action determination method according to the token description format of the serialization graph, and in step S103, the token type is determined based on this action determination method according to the token type. It is possible to determine the specified action.
  • the token processing unit 131 confirms the type of action to be applied determined in step S103 (step S104), and executes appropriate processing for each type of action (steps S105 to S107).
  • the configuration of the action can be considered in various ways, but if it is roughly classified without losing its generality, the token processing unit 131 performs an operation of adding a token to the token holding unit 132 (ADD, step S105), and the token holding unit 132. Either the operation of deleting a certain token (DELET, step S106), the operation of selecting a token in the token holding unit 132 (SELECT, step S106), or the operation of creating an edge (ARC, step S107) is executed.
  • ADD step S105
  • DELETE / SELECT step S106
  • the information of the created edge is output to the node / edge information 133 (step S108), which corresponds to the operation to the node / edge information 133. ..
  • the side information output in step S108 also includes information on the nodes at both ends of the side. Then, the edge information output in step S108 is held by the node / edge information 133.
  • ADD and ARC are indispensable as a set of actions to be applied according to the type of token, but if DELETE and SELECT have at least one, an arbitrary connected graph is described. can do. However, both SELECT and SELECT may be provided in consideration of the above-mentioned efficiency and the like.
  • the token processing unit 131 determines whether or not the predetermined end condition is satisfied (step S109), and if the end condition is not satisfied (step S109). NO in S109), the process returns to step S102, the token to be processed next is selected, and the process is repeated. On the other hand, when the end condition is satisfied (YES in step S109), the process by the token processing unit 131 is terminated.
  • FIG. 8 is a diagram for explaining the conversion procedure of the serialized graph in the first embodiment by a specific example.
  • FIG. 8 describes a specific transition in the case of converting the serialized graph corresponding to the semantic expression graph 310 shown in FIG. 4 by the processing procedure shown in FIG. 7, and is temporary at the time of conversion.
  • the stack is used as the token holding unit 132 that holds the token in.
  • the serialization graph 330 represents the serialization graph before conversion by the token processing unit 131 (that is, the first serialization graph).
  • the same serialization graph as the serialization graph 320 shown in FIG. 5 is used as the serialization graph 330 corresponding to the semantic expression graph 310 shown in FIG.
  • the description of the token relating to "polarity" indicating the attribute value of the node "long-03" in the semantic expression graph 310 (corresponding to the fourth line in the serialization graph 320 of FIG. 5).
  • the description corresponding to the text "noden't" is omitted.
  • the processing token 331 represents a processing token (see step S102 in FIG. 7) selected from the serialization graph 330 by the token processing unit 131.
  • the serialization graph 330 is composed of 10 tokens, and the serialization graph 330 is selected as a processing token in order from the first token, and the conversion process is performed.
  • the action 332 represents the specific content of the action executed in response to the processing token 331.
  • the stack state 333 represents the holding state of the stack at each stage.
  • the serialization graph 330 used in FIG. 8 is a serialization of the semantic expression graph 310 of FIG.
  • the edges existing in the semantic expression graph 310 of FIG. 4 are listed in three sets for convenience, [take-10, it, ARG0], [take-10, long-03, ARG1], [long- 03, it, ARG1], and below, it is shown that the above three sets representing the edges can be generated from the serialized graph 330 without excess or deficiency by performing the conversion process by the token processing unit 131.
  • the above three sets of sets can be converted into various graph description formats by holding them in the node / edge information 133.
  • FIGS. 7 and 8 A specific conversion procedure will be described with reference to FIGS. 7 and 8. As described above, in this example, a stack is used for the token holding unit 132, and the transition of the holding state is shown in the stack state 333.
  • the action (ADD) for adding the token is selected in step S103. Will be done.
  • the token processing unit 131 adds the token to the stack (token holding unit 132) in step S105. Since the stack holds data in a back-in, first-out (LIFO: Last In Fast Out) structure, the stack state 333 after the second token processing is the tokens of "it" and "take-10" in order from the top. keeping.
  • an action (ARC) for creating an edge is selected (step S103).
  • the token processing unit 131 creates an edge [take-10, it, ARG0] using the first and second tokens from the top of the stack (step S107), and uses the information of the created edge as a node / edge. It is output to the information 133 (step S108).
  • take-10 is output to the node / side information 133 as the node with the node ID "1" and "it” as the node with the node ID "2".
  • the [EOD] token selected as the fourth processing token is a special token indicating DELETE
  • an action (DELETE) for deleting one token held on the stack is selected.
  • the token processing unit 131 deletes the token "2 / it" held first from the top of the stack (step S106).
  • the action of deleting the data held in the stack may be called "POP" instead of "DELETE".
  • the token processing unit 131 repeats the execution of the action according to the type of the processing token in the same manner.
  • the special token [EOD] indicating DELETE is selected as the processing token, so that the first "2 / it" from the top of the stack is deleted from the stack.
  • “long-03" and “take-10” are held from above in the stack which is the token holding unit 132.
  • the serialization graph 330 (first serialization graph) generated by the serialization graph generation unit 120 from the input data 210 is converted into a second serialization graph equivalent to the semantic expression graph 310. Can be converted to a serialized graph of.
  • the node / edge information 133 can be converted into an arbitrary graph description format by holding the node and edge information.
  • the graph shaping unit 134 shapes the graph according to the specifications of the desired graph description format using the information held in the node / edge information 133.
  • the graph may be output in the form of, for example, a mathematical formula, an image, a dot, or the like so that the user can visually understand the graph.
  • the graph shaping unit 134 outputs the shaped graph data to the output unit 140.
  • serialization graph conversion unit 130 converts the serialization graph 220 (first serialization graph) generated by the serialization graph generation unit 120 in order to correspond to an arbitrary graph description format.
  • the serialization graph conversion unit 130 does not need to perform any special processing.
  • the output unit 140 modifies the graph data output from the serialized graph conversion unit 130 as necessary to adapt to the output interface, and then outputs the graph to the user by outputting the graph from a predetermined output device.
  • Present As a means for presenting the graph to the user, for example, display of the graph by CUI, visualization of the graph by GUI, processing of writing the graph to a file or the like can be considered.
  • the semantic expression graph 310 shown in FIG. 4 is an output example of a visualized graph display, and when writing a graph to a CUI or a file, the serialized graph 320 or the like shown in FIGS. 5 or 8 is used. It can be output in the form of.
  • the semantic expression analysis system 100 includes the input unit 110, the serialization graph generation unit 120, the serialization graph conversion unit 130, and the output unit 140, so that the input data by text is provided.
  • the semantic expression graph can be analyzed from 210.
  • the input data 210 is a graph
  • a method of generating a serialized graph converted from the input graph, which is equivalent to the input graph will be described.
  • FIG. 9 is a flowchart showing a processing procedure example of the process of generating an equivalent serialized graph from the input data of the graph in the first embodiment.
  • the process shown in FIG. 9 is executed by the input unit 110 when the graph is input as the input data 210.
  • the serialization graph generation by the process shown in FIG. 9 can also be used to generate a serialization graph as teacher data for learning when machine learning is used in the serialization graph generation unit 120. be.
  • the input unit 110 may perform processing, but a functional unit that executes the processing of FIG. 9 may be separately provided.
  • step S201 information on the nodes and sides constituting the graph is input to the input unit 110 (step S201).
  • the input unit 110 converts the input graph indicated by the node and side information input in step S201 into a tree-like structure (step S202).
  • the tree-like structure is a structure in which the root node is always included in the ancestor node (the node that can be reached by following the source of the arrow in the graph) for all the nodes except the root node in the semantic expression graph. ..
  • the difference between a tree-like structure and a general tree-like structure is that the tree-like structure does not necessarily have one parent node.
  • the conversion to the tree-like structure in step S202 is a process performed to facilitate the subsequent processes of FIG. 9, but it does not necessarily have to be an essential process.
  • a plurality of root nodes may exist, but by adding a virtual root node having a plurality of root nodes as children, one root node can be present. Since it can be equated with a graph having only one, the root node can be treated as one.
  • the direction of the arrow is appropriate for converting the directed graph which is a connected graph to the tree-like structure. Need to be flipped to.
  • the input unit 110 inputs the directed graph as the input data 210.
  • the conversion can be realized by decomposing the input graph into subgraphs having a tree-like structure and determining the edges connecting the subgraphs. At this time, the root node of the subgraph is the true root node of the input graph or the node that is the division point of the subgraph.
  • the input unit 110 selects a node to be the starting point of the conversion in order to convert the graph having a tree-like structure into a serialized graph (step S203). At this time, it is desirable to select the root node at first.
  • the input unit 110 selects an edge set that can be reached by following the direction of the arrow of the edge with the node selected in step S203 as an end point (step S204). It is desirable that the edge set selected in step S204 is an edge set that cannot be further extended.
  • the "non-stretchable edge set" here is not necessarily the longest edge set among the edge sets that can be selected with the selected node as an end point.
  • the input unit 110 serializes and outputs the side set selected in step S204 (step S205).
  • the method of serialization in step S205 conforms to the description format of the serialization graph.
  • the description format of the serialization graph shown in FIGS. 5 and 8 for the edge, describe in the appropriate token description format in the order of [source node of arrow, node of arrow tip, label of edge]. Just do it.
  • the ID and label of the node may be concatenated with a slash symbol, and the edge label may be output as it is.
  • the ID can be freely assigned so that the node can be identified.
  • the input unit 110 determines whether or not, among the edges included in the graph of the tree-like structure, the edges that have not been selected in the processes up to step S205 remain (whether the edges for which the edge information is not output remain). If it is determined (step S206) and no unselected side remains (NO in step S206), the input unit 110 ends the process as it is.
  • step S207 the input unit 110 adds (outputs) a special token as needed (step S207).
  • the special token added in step S207 is, for example, an [EOD] token in the case of the description format of the serialization graph illustrated in FIGS. 4 and 8.
  • step S207 the process returns to step S203, the input unit 110 selects a node to be the next starting point, and repeats the processing after step S204.
  • a display method (output method) of the node that is the starting point a method of directly outputting (or re-outputting) the node that is the starting point, or the number of [EOD] tokens is the end point of the immediately preceding edge set. It is possible to adopt a method such as going back from the node.
  • the latter method corresponds to the description format of the serialized graph of FIGS. 4 and 8, and corresponds to the operation of removing the token from the stack.
  • the input unit 110 is a serialized graph equivalent to the input graph (for example, the semantic expression graph 310).
  • a serialized graph converted from an input graph) can be generated.
  • step S205 of FIG. 9 for example, when an attribute value (for example, the "polarity” value in the "long-03" node of FIG. 4) is given to the node, or when the attribute value is attached to the side.
  • the input unit 110 can be serialized including the attribute value by adding to the label of each node or side in a certain notation.
  • semantic expression analysis system 100 since it is possible to serialize a directed or undirected graph including label information in a node or an edge, various different types of semantic expressions can be expressed in series. Can be analyzed in a general-purpose (unified) and accurate manner to form a serialized graph.
  • the semantic expression analysis system 100 can accurately generate a serialized graph by inputting a tokenized text or a serialized graph by using a so-called encoder / decoder neural network. Compared with the analysis method by transition known in the past, various semantic expressions can be analyzed in a unified manner without designing an action for each semantic expression graph.
  • the format of the serialized graph generated by the semantic expression analysis system 100 retains the information of the entire graph, for example, learning about the structure of the entire graph is performed in the neural network of the encoder / decoder. It is possible to analyze semantic expression graphs based on global characteristics as well as local relationships between nodes.
  • one semantic expression graph can be converted into another semantic expression graph by inputting a serialized graph.
  • the output in the serialized graph format is serialized when comparing between the two semantic expression graphs, so that for example, general editing It is possible to make comparisons using numerical values using distances and the like.
  • the difference in the graph can be calculated as an editing operation (insertion, deletion, etc.) on the serialized graph, processing using the difference can be performed.
  • the use of the difference for example, by regarding the difference in meaning between the two texts as the difference in the serialized graph, the implication or the antipathy can be determined from the scrutiny of the difference.
  • the user can appropriately add an operation on the semantic expression graph.
  • an operation on the semantic expression graph As a typical example, by converting a word problem into a graph representing a calculation formula as input data to the semantic expression analysis system 100, it is possible to actually perform an operation and calculate a solution of the word problem.
  • the format of the serialized graph different from that of the first embodiment will be described.
  • the semantic expression analysis system 100 configured in the same manner as in the first embodiment can be used.
  • FIG. 10 is a diagram for explaining the conversion procedure of the serialized graph in the second embodiment by a specific example.
  • the serialization graph 340 shown in FIG. 10 is an example of a serialization graph in which the semantic expression graph 310 shown in FIG. 4 is serialized, but the serialization graph 320 (FIG. 5) and the serialization illustrated in the first embodiment are serialized. It is described in a format different from that of Graph 330 (FIG. 8).
  • the serialization graph 340 shown in FIG. 10 is an example of a serialization graph that can be generated by, for example, the input unit 110, and the generation method thereof will be described later with reference to FIG.
  • serialization graph 340 having a description format different from that of the first embodiment will be described by explaining the conversion processing of the serialization graph 340 shown in FIG. 10 by the serialization graph conversion unit 130 (mainly the token processing unit 131). Even if there is, it is shown that the edge information equivalent to the input semantic expression graph can be constructed as in the serialization graph 330 of the first embodiment.
  • a stack is used for the token holding unit 132 as in FIG.
  • processing token 341, the action 342, and the stack state 343 in FIG. 10 are the same as the processing token 331, the action 332, and the stack state 333 shown in FIG. 8, respectively, and the description thereof will be omitted. Further, since the description of each stage in FIG. 10 has many similarities to the description in FIG. 8, the description will be simplified.
  • step S106 "1" selected as the fourth processing token indicates the node added as the node ID "1" in the previous processing, so that the action (SELECT) for selecting the token is selected (step S103 in FIG. 7). ), The token "1 / take-10" corresponding to the processing token is selected and added to the stack again (same as step S106).
  • the token processing unit 131 selects an action (ARC) for creating an edge (step S107 in FIG. 7).
  • An edge is created using the first and second tokens from the top of the stack which is the token holding unit 132.
  • the created side is [it (second), take-10 (first), ARG0 (side)], but it is selected. Since "-of” included in the processing token "ARG0-of” indicates that the arrow of the side is inverted, the token processing unit 131 replaces the nodes constituting both ends of the side with the side [take-. 10, it, ARG0] is generated.
  • the token processing unit 131 outputs the generated edge information to the node / edge information 133 (step S108), and outputs "take-10" as the node information at both ends of the edge to the node with the node ID "1". “It” is output to the node / edge information 133 as the node with the node ID “2”.
  • the processing token is a token representing an edge
  • the DELETE action is also selected after the above-mentioned ARC (ARC + DELETE). Therefore, the token processing unit 131 generates an edge [take-10, it, ARG0] and outputs the information to the node / edge information 133, and then the token "1 /" held first from the top of the stack. Delete "take-10".
  • the token processing unit 131 repeats the execution of the action according to the type of the processing token in the same manner.
  • the token processing unit 131 since the token "ARG1" representing the edge is selected as the processing token, the action of creating the edge and deleting the token (ARC + DELETE) is selected. Therefore, the token processing unit 131 first generates a new edge [long-03, it, ARG1] by executing the ADD action, and outputs the edge information to the node / edge information 133. At this time, the new node "long-03" is also output as the node with the node ID "3". Further, the token processing unit 131 deletes the token "2 / it" held first from the top of the stack by executing the DELETE action.
  • the token processing unit 131 since the token "ARG1" representing the edge is selected again as the processing token, the action of creating the edge and deleting the token (ARC + DELETE) is selected. At this time, the token processing unit 131 generates a new edge [take-10, long-03, ARG1] by executing the action of ADD, and outputs the new edge [take-10, long-03, ARG1] to the node / edge information 133. Further, the token processing unit 131 deletes the token "long-03" held first from the top of the stack by executing the DELETE action.
  • the token processing unit 131 determines that the termination condition is satisfied and terminates the conversion processing.
  • the semantic expression analysis system 100 also uses the serialization graph 340 of FIG. 10 to display the three sides existing in the semantic expression graph 310 of FIG.
  • the information shown can be generated in just proportion. That is, it is shown that the serialization graph 340 is a serialization graph equivalent to the semantic expression graph 310.
  • FIG. 11 is a flowchart showing a processing procedure example of the process of generating an equivalent serialized graph from the input data of the graph in the second embodiment.
  • the semantic expression analysis system 100 according to the second embodiment generates the serialized graph 340 shown in FIG. 10 when the semantic expression graph 310 shown in FIG. 4 is input as the input data 210. I will explain how to do it.
  • the process shown in FIG. 11 is executed by, for example, the input unit 110. Further, since the processing shown in FIG. 11 is substantially the same as the processing shown in FIG. 9, the common processing will be omitted and the differences will be mainly described.
  • the input unit 110 in step S302 converts the input graph into a serialized graph in the same manner as in step S203 of FIG. , Select the node that will be the starting point of the conversion.
  • step S303 the input unit 110 selects a continuous side set (a path that can be written with a single stroke) starting from the node selected in step S302, and at this time, as in step S204 of FIG. It is not necessary to consider the orientation of. That is, in step S303, when the input unit 110 selects an edge set that can be written with a single stroke starting from the selection node, the edge whose direction needs to be reversed is indicated by an arrow such as "-of" on the edge label. A predetermined identifier meaning inversion may be given.
  • step S304 the input unit 110 serializes and outputs the edge set selected in step S303.
  • the input unit 110 generates tokens indicating each node in the order of the one-stroke route from the node (selection node in step S303) that is the starting point, and generates tokens indicating the corresponding sides in the same order.
  • step S305 the input unit 110 determines whether or not the side for which the side information is not output remains, and repeats the processes of steps S302 to S304 until the information of all the sides is output.
  • the block of continuous edge information is a new continuous block when a token indicating a node appears after a token indicating an edge. Since it can be determined that the block of edge information is to be used, a special token or the like is inserted as in step S207 of FIG. 9 before returning to step S302 to select a new node for outputting new edge information. There is no need to perform any processing.
  • the input unit 110 has an input graph (for example, in a description format different from the serialization graph 330 described in the first embodiment). It is possible to generate a serialized graph 340 equivalent to the semantic expression graph 310).
  • a directed or undirected graph including label information in a node or an edge can be serialized.
  • Various semantic expressions with different meanings can be analyzed in a general-purpose (unified) and accurate manner to form a serialized graph.
  • Example 2 when Example 2 is compared with Example 1, the description format of the serialization graph 340 that can be generated in Example 2 can be described with a smaller number of tokens than the format of the serialization graph 330 that can be generated in Example 1. can. Being able to generate a serialized graph in a descriptive format having such characteristics may be advantageous when generating a serialized graph in a neural network of an encoder / decoder.
  • the format of the serialized graph in Example 1 is a description based on the structure, paying attention to the fact that many semantic expression graphs have a structure similar to a tree structure (tree-like structure).
  • the form of the serialized graph 330 that can be generated in the first embodiment may be more advantageous.
  • the user can use the serialization graph format in the first embodiment, the serialization graph format in the second embodiment, or similarly another serialization. It is possible to select the format of the serialized graph, and specifically, it is possible to select a description format or the like with higher accuracy for the neural network of the encoder / decoder.
  • the serialized graph format generated by the semantic expression analysis system 100 is based on the edge information, so that they can be converted from each other. Therefore, even if the neural network of the encoder / decoder outputs the serialization graph in a specific description format when the serialization graph is generated by the serialization graph generation unit 120, the serialization graph conversion unit 130 appropriately desires the serialization graph. You can convert the serialized graph to a format.
  • each of the above configurations, functions, processing units, processing means, etc. may be realized by hardware by designing a part or all of them by, for example, an integrated circuit. Further, each of the above configurations, functions, and the like may be realized by software by the processor interpreting and executing a program that realizes each function. Information such as programs, tables, and files that realize each function can be placed in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
  • SSD Solid State Drive
  • control lines and information lines are shown in the drawings as necessary for explanation, and not all control lines and information lines are shown in the product. In practice, it can be considered that almost all configurations are interconnected.

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)
  • Document Processing Apparatus (AREA)

Abstract

意味表現解析システム100は、テキストまたはグラフによる入力データ210を受け付ける入力部110と、入力データ210に対応するグラフ構造を表すトークン列(直列化グラフ220)を生成する直列化グラフ生成部120と、を備える。さらに、直列化グラフ生成部120が生成するトークン列は、入力データ210に対応するグラフ構造におけるノードを示す第1トークンと、ノード間の関係を表す辺を示す第2トークンと、を少なくとも含んで構成される。

Description

意味表現解析システム及び意味表現解析方法
 本発明は、意味表現解析システム及び意味表現解析方法に関し、入力されたデータの意味を解析し、意味を示すグラフ構造を構成する意味表現解析システム及び意味表現解析方法に適用して好適なものである。
 従来、与えられたテキストに対する意味をグラフ構造を用いて表すことを意味表現解析と呼ぶ。意味表現解析は、文中の語の関係を解析する、所謂、構文解析や係り受け解析を広義に含み、また、必ずしも文中の語と対応しない抽象的な意味表現グラフを構成する技術や、数学などにおける文章題から計算式を表すグラフを構成する技術も含む。
 意味表現解析を実現する手法としては、入力情報であるテキストを語(トークン)などに分割し、その列(入力トークン列)に対して操作(アクション)を施すことによって意味表現グラフを構成する「遷移による解析手法」と、入力トークン列に対して入力トークン間の関係を表す隣接行列を直接的に推定する「隣接行列による解析手法」とが存在する。
 上記のような意味表現解析の実現には機械学習を用いることができる。遷移による解析手法の場合、スタックを有し、スタックと入力トークン列、及び実施したアクション等から素性を抽出したうえで、実施すべきアクションを識別することによって実現することができる。一方、隣接行列による解析手法の場合は、入力トークン列を用いて入力トークン間の接続性を表す実数値などを計算することで実現することができる。この実数値は、深層学習においては、所謂、注意機構を用いて計算することができる。
 そして昨今の深層学習の進展により、より複雑、または抽象的な意味表現解析が可能となっている。例えば、AMR(Abstract Meaning Representation)という意味表現は、グラフ中のノードと文中の語に明確な対応関係が存在しないが、深層学習のエンコーダ・デコーダ機構を用いることで、文中に対応がないノードを生成することにより、遷移ないし隣接行列による手法で解析することができる。
 また、意味表現グラフの種類は、それぞれの目的や用途の違いから多岐にわたり、種類ごとに精度の高い解析手法が異なることが知られている。
 以上の背景技術に関連する従来技術として例えば、非特許文献1には、種々の意味表現グラフを遷移によって精度よく解析する手段が開示されている。また、非特許文献2には、遷移による解析手段が開示されており、種々の意味表現グラフを同一のアクションの集合を用いて解析することができる。
Wanxiang Che et.al.,HIT-SCIR at MRP 2019,A Unified Pipeline for Meaning Representation Parsing via Efficient Training andEffective Encoding Daniel Hershcovich et.al.,Multitask ParsingAcross Semantic Representation
 しかし、上述した非特許文献1の技術は、種々の意味表現グラフを遷移による解析手法によって精度良く解析できる点で有用であるが、意味表現グラフの種類によってアクションを定義しなおす必要があり、種々の意味表現グラフを統一的に精度よく解析することはできないという問題があった。また非特許文献2の技術は、種々の意味表現グラフを同一のアクションの集合を用いて解析することができる点で有用であるが、解析対象とする意味表現グラフを全て解析可能とするアクションの集合は、意味表現グラフごとに最適化されたアクションの集合と比べると余分なアクションの実施が必要となってしまうため、同一の意味表現グラフを対象とした場合、非特許文献1の技術を用いた場合よりも解析精度が大幅に低下するという問題があった。
 本発明は以上の点を考慮してなされたもので、種々の意味表現を統一的に精度よく解析することが可能な意味表現解析システム及び意味表現解析方法を提案しようとするものである。
 かかる課題を解決するため本発明においては、入力データの意味表現を解析する意味表現解析システムであって、テキストまたはグラフによる前記入力データを受け付ける入力部と、前記入力データに対応するグラフ構造を表すトークン列を生成する直列化グラフ生成部と、を備え、前記トークン列は、前記入力データに対応するグラフ構造におけるノードを示す第1トークンと、前記ノード間の関係を表す辺を示す第2トークンと、を少なくとも含んで構成される、意味表現解析システムが提供される。
 また、かかる課題を解決するため本発明においては、入力データの意味表現を解析する意味表現解析システムによる意味表現解析方法であって、テキストまたはグラフによる前記入力データを受け付ける入力ステップと、前記入力ステップで受け付けた前記入力データに基づいて、当該入力データに対応するグラフ構造を表すトークン列を生成する直列化グラフ生成ステップと、を備え、前記トークン列は、前記入力データに対応するグラフ構造におけるノードを示す第1トークンと、前記ノード間の関係を表す辺を示す第2トークンと、を少なくとも含んで構成される、意味表現解析方法が提供される。
 本発明によれば、種々の意味表現を統一的に精度よく解析することができる。
実施例1に係る意味表現解析システム100の機能構成例を示すブロック図である。 意味表現解析システム100を実現するコンピュータ装置10のハードウェア構成例を示すブロック図である。 直列化グラフ生成部120の内部構成例を示すブロック図である。 意味表現グラフの一例を示す図である。 直列化グラフの一例を示す図である。 直列化グラフ変換部130の内部構成例を示すブロック図である。 トークン処理部131による処理の概要を示すフローチャートである。 実施例1における直列化グラフの変換手順を具体例で説明するための図である。 実施例1においてグラフの入力データから等価な直列化グラフを生成する処理の処理手順例を示すフローチャートである。 実施例2における直列化グラフの変換手順を具体例で説明するための図である。 実施例2においてグラフの入力データから等価な直列化グラフを生成する処理の処理手順例を示すフローチャートである。
 以下、図面を参照して、本発明の実施例を詳述する。以下において、同一または類似する要素及び処理に対しては、同一の符号を付して差分を説明し、重複する説明を省略する。また、後出の実施例については、既出の実施例との差分を説明し、重複する説明を省略する。また、それぞれの実施例やその変形例は、本発明の趣旨と整合する範囲内で、一部または全部を組み合わせることができる。
 図1は、実施例1に係る意味表現解析システム100の機能構成例を示すブロック図である。意味表現解析システム100は、テキストまたはグラフによる入力データ210を入力として、入力部110を介して直列化グラフ生成部120において直列化グラフ220を生成し、さらに直列化グラフ変換部130において直列化グラフ220を所望の形式に変換した後、出力部140において所定のグラフの形式に可視化した出力グラフ230を出力する。
 ここで、意味表現解析システム100のハードウェア構成について先に説明する。意味表現解析システム100は、コンピュータ装置によって実現することができる。
 図2は、意味表現解析システム100を実現するコンピュータ装置10のハードウェア構成例を示すブロック図である。
 図2に示したように、コンピュータ装置10は、プロセッサ11、記憶デバイス12、入力デバイス13、出力デバイス14、及び通信インタフェース15を備えて構成され、各構成要素がバス16によって互いに接続される。
 プロセッサ11は、コンピュータ装置10を制御する機能を有する。記憶デバイス12は、プログラム及びデータを記憶する不揮発性記憶装置または揮発性記憶装置を有する記憶媒体であって、プロセッサ11の作業領域となる。記憶デバイス12の具体的な記憶媒体は限定されるものではなく、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、またはSSD(Solid State Drive)といったフラッシュメモリ等を用いることができる。また、プロセッサ11及び記憶デバイス12は、GPU(Graphical Processing Unit)を用いたデバイスであってもよい。
 具体的には、例えば、図1に示した意味表現解析システム100の各処理部(入力部110、直列化グラフ生成部120、直列化グラフ変換部130、出力部140)は、記憶デバイス12に記憶された一時的または非一時的なプログラムをプロセッサ11が実行することによって実現される。また、意味表現解析システム100で取り扱う入力データ210、直列化グラフ220、及び出力グラフ230等の各種データは、例えば記憶デバイス12に記憶される。この他にも例えば、後述する図6のノード・辺情報133で保持される各種データも、例えば記憶デバイス12に記憶される。
 プロセッサ11は、単一または複数の処理ユニットで構成される。また、プロセッサ11は、単一または複数の演算ユニットと、複数の処理コアを含むことができる。プロセッサ11は、単一または複数の中央処理装置、マイクロプロセッサ、デジタル信号プロセッサ、マイクロコントローラ、マイクロ計算機、ステートマシン、ロジック回路、グラフィック処理装置、チップオンシステム、または制御指示等によって信号操作を行う任意の装置として実装される。
 意味表現解析システム100を実現するコンピュータ装置10において、プロセッサ11によって実行されるプログラムには、OS(Operating System)を含むことができる。さらに、プロセッサ11によって実行されるプログラムには、意味表現解析システム100の各処理部の機能を実現するためのプログラム(例えば、入力部110のための入力プログラム、直列化グラフ生成部120のための直列化グラフ生成プログラム、直列化グラフ変換部130のための直列化グラフ変換プログラム、出力部140のための出力プログラム)等の各種プログラムを含むことができる。プロセッサ11、は上述したこれらのプログラムを実行し、動作することにより、入力部110、直列化グラフ生成部120、直列化グラフ変換部130、及び出力部140として機能することができる。
 図2に示したコンピュータ装置10において、OSや各種プログラム等のソフトウェア要素は、記憶デバイス12のなかの何れかの記憶領域に格納される。OSや各種プログラムは、予め可搬型記録媒体に記録されていてもよく、その場合は、媒体読取装置によってプログラムを可搬型記録媒体から読み取り、記憶デバイス12に格納する。また、通信媒体を介してOSや各種プログラムを取得するようにしてもよい。
 入力デバイス13は、ユーザによる意味表現解析システム100に対する命令及びデータ入力を実行する装置であって、具体的には例えば、マウス、キーボード、タッチパネル、マイク、またはスキャナ等で実現される。
 出力デバイス14は、意味表現解析システム100からのデータ出力を実行する装置であって、具体的には例えば、ディスプレイ、プリンタ、またはスピーカ等で実現される。
 通信インタフェース15は、コンピュータ装置10の外部ネットワークと接続して、意味表現解析システム100で扱う各種データの送受信を行う装置であって、具体的には例えば、NIC(Network Interface Card)等で実現される。意味表現解析システム100が通信インタフェース15を備えるコンピュータ装置10で実現されるとき、意味表現解析システム100は、外部ネットワークを介して別の端末からデータを送受信するように構成することができる。
 なお、意味表現解析システム100は、図2に示したコンピュータ装置10のように単一の計算機(コンピュータ装置)で実装される構成に限定されるものではなく、複数の計算機(コンピュータ装置)からなる計算機システムによって実装されてもよい。その場合、計算機同士はネットワークを介して通信可能とされ、例えば言語モデル処理装置による複数の機能が複数の計算機に分けて実装される等してもよい。
 意味表現解析システム100のハードウェア構成についての説明は以上であり、以下、図1に示した意味表現解析システム100の機能構成の説明に戻る。
 まず、入力データ210及び入力部110について説明する。
 前述したように、入力データ210はテキストまたはグラフの形式をとる。入力データ210がテキストである場合、当該テキストは、一般的には単文であるが、複数文であってもよいし、発話や非文などの文としての体裁をなさないテキストであってもよい。また、何らかのグラフ構造をなす記号列であってもよい。一方、入力データ210がグラフである場合は、当該グラフは、グラフ構造を持つ、意味を成す単位であればよい。以上を踏まえ、本実施例では、テキストによる入力データ210からの意味表現グラフの解析を事例として説明する。
 入力部110は、ユーザが処理を行いたい入力データ210(上述したように、本例ではテキスト)を受け取り、入力データ210のテキストまたはグラフを、直列化グラフ生成部120による処理が可能な形態に変換する。具体的には例えば、意味表現解析システム100がキャラクタユーザインタフェース(CUI)を用いて入力データ210の入力を受け付ける場合、入力部110は、CUIを用いて入力されたテキストを適切な所定の文字コードのテキストデータ(例えばプレインテキスト等)に変換する。
 なお、入力データ210がグラフである場合は、入力部110は、入力されたグラフ(入力グラフ)を直列化グラフに変換する。この段階で生成される直列化グラフは、入力グラフを等価な直列化グラフに変換したものであり、後述する直列化グラフ生成部120によって生成される直列化グラフとは異なるグラフであるが、既述形式としては同一であることが望ましい。以下の説明では、区別のために、前者の入力部110によって生成される直列化グラフを「入力グラフから変換された直列化グラフ」、後者の直列化グラフ生成部120によって生成される直列化グラフを「第1の直列化グラフ」と称することがある。但し、本発明は、入力グラフから変換された直列化グラフが第1の直列化グラフと同一の既述形式でなくても適用することが可能である。入力データ210がグラフ(入力グラフ)である場合に、入力部110が入力グラフと等価な入力グラフから変換された直列化グラフを生成する方法については、図9を参照しながら後述する。
 次に、直列化グラフ生成部120及び直列化グラフ220について説明する。
 直列化グラフ生成部120は、入力部110によってテキストの入力データ210から変換されたテキストデータをもとに、直列化グラフ220を生成し、直列化グラフ変換部130に出力する。直列化グラフ生成部120が生成する直列化グラフ220は、入力データ210であるテキストに対応する意味表現グラフを直列化したグラフである。なお、ここでいう直列化とは、意味表現グラフの辺がなす構造を表現することができる形式のうち、トークン列とみなすことができる形式に変換することを意味する。一般的に、テキストデータにそのまま出力可能な形式への変換は、直列化とみなすことができる。
 図3は、直列化グラフ生成部120の内部構成例を示すブロック図である。図3に示したように、直列化グラフ生成部120は、トークン分割部121、系列生成部122、及び同一性判定部123を備える。
 トークン分割部121は、入力部110から受信したテキストデータを適当なトークン単位に分割し、入力トークン列を生成し、生成した入力トークン列を系列生成部122に出力する。トークン分割部121による分割では、所謂、形態素解析を用いた語への分割や、文字単位への分割や、統計的な手法を用いた分割が行われ、あるいは、サブワード分割と呼ばれる、一般的な語よりも詳細で文字よりも粗い単位への分割が行われてもよい。トークン分割部121は、上記の分割手法のうち、系列生成部122にとって好適な分割手法を選択することができる。
 系列生成部122は、トークン分割部121において生成された入力トークン列から、出力トークン列を生成し、生成した出力トークン列を同一性判定部123に出力する。系列生成部122は、一般的にエンコーダ・デコーダと呼ばれるニューラルネットワークで構成することが好適であるが、トークン列を入力にトークン列を出力できる手段であれば他の手段を利用してもよい。
 系列生成部122にエンコーダ・デコーダのニューラルネットワークを用いる場合は、リカレントニューラルネットワークやTransformerを用いることが好適である。系列生成部122にこれらのニューラルネットワークを用いる際は、所謂、ビームサーチ等を利用する場合でも、出力トークンを1トークンずつ生成すると見なすことができる。
 また、Transformerを用いる場合には、系列生成部122は、入力トークン列を数値化し、数値化した各トークンにone-hotベクトルを割り当て、エンコーダとなるTransformer(第1のTransformer)へと入力する。第1のTransformerは、上記one-hotベクトルに対して注意機構を用いた演算を適用し、各トークンに対する隠れ表現を取得する。そしてデコーダとなるTransformer(第2のTransformer)は、第1のTransformerから受け付けた隠れ表現と、デコーダ自身の隠れ表現とを用いて、注意機構を用いた演算を適用することにより、出力トークン列を取得する。
 なお、本実施例において、ニューラルネットワークへの入力は、トークン列だけに限定されず、どのような情報を用いてもよい。その場合、例えば、品詞及び固有表現をトークン列と同時に入力する、等といった処理が考えられる。
 また、エンコーダ・デコーダのニューラルネットワークに対して、エンコード時またはデコード時に追加情報を付与することもできる。このとき、例えば、出力中の系列(トークン列)のスタックにおける深さや親のノード等の情報を特徴ベクトルとして付与することが考えられる。
 系列生成部122による出力トークン列の生成において、最初の出力トークンを生成する際は、一般的には、全入力トークンと開始を示す特殊トークンとを入力として生成を行う。また、出力トークン列の生成を終了する際は、終了を示す特殊トークンが生成されるか、ある所定数のトークン出力をもって終了とする。
 また、系列生成部122は、各出力トークンの生成時には、全入力トークンとこれまでに生成した出力トークンとを入力とするが、当該出力トークンに代えて、出力トークンの隠れ表現や、隠れ表現から算出された種々の値や表現を用いるようにしてもよい。さらには、出力トークンから推定可能な情報を入力に含めることができる。例えば、出力トークンがノードを表すトークン(詳細は後述する)である場合、根ノードからの距離(すなわち、いくつの辺を通れば該ノードから根ノードに到達できるか)を入力に加えることができる。
 同一性判定部123は、系列生成部122が生成した系列(出力トークン列)のうちから、意味表現グラフ上において同一のノードを表すトークンを判定し(同一性判定)、該当するトークンに同一性を示す情報を付与する。この同一性判定には、エンコーダ・デコーダのニューラルネットワークが生成する、所謂、隠れ表現などを利用することができる。より詳しくは、同一性判定部123がノードの同一性判定において隠れ表現を利用する場合、任意の2つのノードに対応するトークンの隠れ表現を入力とした識別器や、ノードに対応するトークンの隠れ表現間の関係を推定する注意機構などを利用することができる。直列化グラフ生成部120は、このような同一性判定部123を備えることにより、異なる構造の意味表現グラフであっても直列化グラフを生成する処理が可能となる。
 以下、上述した直列化グラフ生成部120によって生成される直列化グラフ220について、具体例を挙げる。
 図4は、意味表現グラフの一例を示す図である。図4に示した意味表現グラフ310は、「It didn’t take long.」という英文のテキストに対応する意味表現グラフである。また、図5は、直列化グラフの一例を示す図である。図5に示した直列化グラフ320は、図4に示した意味表現グラフ310に対応する直列化グラフの一例であり、入力データ210として上記の英文テキストが入力された場合に直列化グラフ生成部120が生成する直列化グラフ220の一例に相当する。
 図5に示した直列化グラフ320は、意味表現グラフ310で「辺(エッジ)」がなす構造に対して等価の記述を与える。なお、図5では、見易さ向上のために、改行と空白(スペース)の挿入とを行って直列化グラフ320を表示しているが、実際の直列化グラフ320では改行は必ずしも必要ではなく、空白文字で区切られる各文字列を1つのトークンとして、系列(トークン列)をなす構造となっていればよい。
 図5の直列化グラフ320において、スラッシュ記号「/」を含むトークンはノードを示すトークンであり、「ARG0」、「ARG1」は辺のラベルを示すトークンであり、「[EOD]」は辺の構造を示す特殊トークンである。スラッシュ記号よりも前に記載されている数字がノードのID(ノードID)を表し、スラッシュ記号に続く文字列がノードのラベル(ノードラベル)を表す。
 また、図5の直列化グラフ320において、行頭が字下げされた位置から表記されているノードを示すトークンは、意味表現グラフ310上では子ノードに相当する。例えば、図5において、1行目の「take-10」に対して2行目の「it」と3行目の「long-03」は、字下げの関係になっており、これらのノードについて図4の意味表現グラフ310を見ると、「it」及び「long-03」が「take-10」の子ノードであることが分かる。
 ここで、ノード「it」に着目すると、図4の意味表現グラフ310では1つのノードである一方、図5の直列化グラフ320では、2行目と4行目の2度に亘り「2/it」が出現している。同一性判定部123は、これらの「it」のように直列化グラフにおいて複数回出現する同一名称のノードの生成において、それらが同一のノードであれば同一のIDを付与する等の動作を行う。具体的には、図5の直列化グラフ320では、2行目の「it」と4行目の「it」には共にID「2」が付与されていることから、これらは同一のノードであることが明確にされる。
 意味表現グラフ上のノードラベルは、グラフ中において唯一であることが必ずしも保証されていない。そのため、直列化グラフでは、同一のノードラベルであっても、唯一性を保証するために、上記のID情報等を付加する必要がある。
 次に、直列化グラフ変換部130について説明する。
 直列化グラフ変換部130は、直列化グラフ生成部120で生成された直列化グラフ220を、適切な形式に変換して、出力部140に送信する。
 直列化グラフ生成部120は、ニューラルネットワーク等の機械学習方法などを用いて実現されるため、直列化グラフ生成部120によって生成された直列化グラフ220は、必ずしも、入力データ210に対して正しい直列化がなされた意味表現グラフを生成するものとは限らない。そこで、意味表現解析システム100では、直列化グラフ変換部130が、直列化グラフ生成部120が生成した意味表現グラフを表すグラフトークン列(直列化グラフ220)に対して、極力、意味表現グラフの辺情報を構築するための変換処理を行う。以下の説明では、区別のために、直列化グラフ変換部130によって変換される前の直列化グラフ(すなわち、直列化グラフ生成部120が生成した直列化グラフ220)を第1の直列化グラフ、直列化グラフ変換部130によって変換された後の直列化グラフを第2の直列化グラフと称することがある。
 具体的には、直列化グラフ変換部130は、第1の直列化グラフのトークン列(グラフトークン列)を先頭から処理することで、グラフトークン列が不正な入力であっても、処理可能な範囲で辺情報を構成することができる。
 図6は、直列化グラフ変換部130の内部構成例を示すブロック図である。図6に示したように、直列化グラフ変換部130は、トークン処理部131、トークン保持部132、ノード・辺情報133、及びグラフ整形部134を備える。
 直列化グラフ変換部130においては、まず、第1の直列化グラフ(直列化グラフ220)のグラフトークン列がトークン処理部131に入力され、トークン処理部131によって逐次的に適切な処理が行われることにより、トークン保持部132への操作あるいはノード・辺情報133への操作の何れかが実施される。
 図7は、トークン処理部131による処理の概要を示すフローチャートである。図7によればまず、直列化グラフ220から直列化されたグラフトークン列がトークン処理部131に入力される(ステップS101)。次に、トークン処理部131は、ステップS101で入力されたトークン列から以降の処理対象とするトークンを1つ選択し(ステップS102)、選択したトークンに対して適用するアクションを決定する(ステップS103)。
 なお、図7のフローチャートでは、ステップS101で入力されたグラフトークン列に含まれる複数のトークンに対して、1つのトークンに対する処理を逐次実行する方法を示すが、トークン処理部131による処理はこのような方法に限定されるものではなく、例えば、ステップS102をスキップし、ステップS103において、ステップS101で入力されたグラフトークン列のそれぞれのトークンに対して適用するアクションを決定した上で、各トークンに対する以降の処理を実行する等としてもよい。
 ステップS103におけるアクションの決定について詳しく説明する。本実施例に係る意味表現解析システム100では、トークンの種類ごとに対応するアクションが予め設定されている。そのため、ステップS103においてトークン処理部131は、処理対象のトークンの種類を同定する。
 例えば図4に示した直列化グラフ320の場合、ノードに対応するトークン(例えば「1/take-10」や「2/it」)は、ノードIDとノードラベルとがスラッシュ記号で結ばれた記法で表される。このとき、辺ラベル(例えば「ARG0」や「ARG1」)にはスラッシュ記号が含まれないことが保証されているならば、トークン処理部131は、スラッシュ記号を含むトークンはノードに対応するトークンであると判別することができる。
 したがって、直列化グラフのトークン記述形式は、トークンの種類を特定可能であればよい。そして、トークン処理部131は、直列化グラフのトークン記述形式に沿ったアクション判別方法を備え、ステップS103においては、このアクション判別方法に基づいてトークンの種類を判別することにより、トークンの種類に応じて定められたアクションを決定することができる。
 次いで、トークン処理部131は、ステップS103で決定した適用するアクションの種類を確認し(ステップS104)、アクションの種類ごとに適当な処理を実行する(ステップS105~S107)。アクションの構成は様々に考えることができるが、一般性を失わずに大別すると、トークン処理部131は、トークン保持部132にトークンを追加する操作(ADD,ステップS105)、トークン保持部132にあるトークンを削除する操作(DELETE,ステップS106)、トークン保持部132にあるトークンを選択する操作(SELECT,ステップS106)、または辺を作成する操作(ARC,ステップS107)の何れかを実行する。これら4つのアクションのうち、ADD(ステップS105)及びDELETE/SELECT(ステップS106)はトークン保持部132への操作に相当する。また、ARCのアクションの場合は、ステップS107で辺を作成した後、作成した辺の情報をノード・辺情報133に出力する(ステップS108)ことから、ノード・辺情報133への操作に相当する。なお、ステップS108で出力される辺の情報には、辺の両端のノードの情報も含まれる。そして、ステップS108で出力された辺の情報はノード・辺情報133で保持される。
 なお、図7の処理例においてトークンの種類に応じて適用するアクションの集合としては、ADDとARCは必須であるが、DELETE及びSELECTは少なくとも一方を具備していれば、任意の連結グラフを記述することができる。但し、既述の効率性等を考慮して、DELETEとSELECTの両方を具備するようにしてもよい。
 そして、ステップS105~S108においてアクション別の処理が行われた後、トークン処理部131は、所定の終了条件を満たしたか否かを判定し(ステップS109)、終了条件を満たしていない場合は(ステップS109のNO)、ステップS102に戻り、次の処理対象のトークンを選択し、処理を繰り返す。一方、終了条件を満たした場合は(ステップS109のYES)、トークン処理部131による処理を終了する。
 図8は、実施例1における直列化グラフの変換手順を具体例で説明するための図である。図8は、図7に示した処理手順によって、図4に示した意味表現グラフ310に対応する直列化グラフを変換する場合の具体的な遷移を説明するものであり、変換の際に一時的にトークンを保持するトークン保持部132としてスタックを利用する。
 図8において、直列化グラフ330は、トークン処理部131による変換前の直列化グラフ(すなわち第1の直列化グラフ)を表す。本例では、図4に示した意味表現グラフ310に対応する直列化グラフ330として、図5に示した直列化グラフ320と同様の直列化グラフを用いる。但し、直列化グラフ330では、便宜上、意味表現グラフ310においてノード「long-03」の属性値を示す「polarity」に関するトークンの記載(図5の直列化グラフ320でいえば4行目に相当し、テキスト「didn’t」に対応する記載)は省略している。
 また、図8において、処理トークン331は、トークン処理部131によって直列化グラフ330から選択される処理トークン(図7のステップS102参照)を表す。図8の場合、直列化グラフ330は10個のトークンから構成されており、その先頭トークンから順に処理トークンに選択されて変換処理が行われる。アクション332は、処理トークン331に対応して実行されるアクションの具体的内容を表す。スタック状態333は、各段階におけるスタックの保持状態を表す。
 前述したように、図8で用いる直列化グラフ330は、図4の意味表現グラフ310を直列化したものである。このとき、便宜的に図4の意味表現グラフ310に存在する辺を3つの組で列挙すると、[take-10,it,ARG0]、[take-10,long-03,ARG1]、[long-03,it,ARG1]であり、以下では、トークン処理部131による変換処理が行われることにより、辺を表す上記3組が、過不足なく直列化グラフ330から生成できることを示す。図7でも説明したように、トークン処理部131による変換処理によれば、上記の3組の集合をノード・辺情報133に保持させることで、種々のグラフ記述形式に変換することができる。
 図7及び図8を参照しながら具体的な変換手順を説明する。前述したように、本例ではトークン保持部132にスタックを用いており、その保持状態の遷移はスタック状態333に示される。
 まず、1番目及び2番目に処理トークンとして選択される「1/take-10」及び「2/it」は、ノードを示すトークンであるため、ステップS103においてトークンを追加するアクション(ADD)が選択される。この場合、トークン処理部131は、ステップS105において当該トークンをスタック(トークン保持部132)に追加する。スタックは、後入れ先出し(LIFO:Last In Fast Out)の構造でデータを保持するため、2番目のトークン処理後のスタック状態333は、上から順に「it」、「take-10」のトークンを保持している。
 3番目に処理トークンとして選択される「ARG0」は、辺を表すトークンであるため、辺を作成するアクション(ARC)が選択される(ステップS103)。この場合、トークン処理部131は、スタックの上から1番目と2番目のトークンを用いて辺[take-10,it,ARG0]を作成し(ステップS107)、作成した辺の情報をノード・辺情報133に出力する(ステップS108)。この際、辺の両端のノードの情報として、「take-10」はノードID「1」のノード、「it」はノードID「2」のノードとして、ノード・辺情報133に出力される。
 4番目に処理トークンとして選択される[EOD]トークンは、DELETEを示す特殊トークンであるため、スタック(トークン保持部132)に保持されているトークンを1つ削除するアクション(DELETE)が選択される(ステップS103)。この場合、トークン処理部131は、スタックの上から1番目に保持されているトークン「2/it」を削除する(ステップS106)。なお、スタックに保持されたデータを削除するアクションは、「DELETE」の代わりに「POP」と呼ばれることもある。
 以降、トークン処理部131は、同様に処理トークンの種類に応じてアクションの実施を繰り返す。
 簡単に説明すると、5番目及び6番目には、ノードを示す「3/long-03」及び「2/it」が処理トークンとして選択されるため、トークンを追加するアクション(ADD)が選択され、処理トークンがスタック(トークン保持部132)に追加される。そして7番目では「ARG1」という辺を表すトークンが処理トークンとして選択されるため、スタックに保持されたデータを用いて新たな辺[long-03,it,ARG1]が作成され、ノード・辺情報133に出力される。なお、このとき、「2/it」は以前作成したノードと同一のノードID「2」を持つため、ノードID「3」のノードとして「long-03」のみが、ノード・辺情報133に新たなノードとして追加される。
 次いで8番目には、DELETEを示す特殊トークンである[EOD]が処理トークンとして選択されるため、スタックの上から1番目にある「2/it」がスタックから削除される。この結果、トークン保持部132であるスタックには、上から「long-03」と「take-10」とが保持されている。
 次いで9番目には、「ARG1」という辺を表すトークンが処理トークンとして選択されるため、スタックに保持されたデータを用いて新たな辺[take-10,long-03,ARG1]が作成され、ノード・辺情報133に出力される。なお、このとき、「take-10」及び「long-03」は何れも以前作成したノードと同一のノードIDを持つことから、ノード・辺情報133に新たなノードとして追加されない。
 そして最後の10番目には、DELETEを示す特殊トークンである[EOD]が処理トークンとして選択されるため、スタックの上から1番目にある「long-03」がスタックから削除される。この結果、トークン保持部132であるスタックには、「take-10」のみが保持されている。
 図8の場合、直列化グラフ330からも分かるように、10番目の[EOD]に対する処理をもって全ての処理トークンへの処理が終了することから、トークン処理部131は終了条件を満たしたと判定し(ステップS109のYES)、変換処理を終了する。
 以上に説明した変換処理の結果をまとめると、[take-10,it,ARG0]、[long-03,it,ARG1]、[take-10,long-03,ARG1]の3組の辺が作成され、ノード・辺情報133には、これら各組の辺情報とともに、辺の両端のノード情報としてノードID「1」の「take-10」、ノードID「2」の「it」、及びノードID[3]の「long-03」が保持される。すなわち、上記の変換処理によって、便宜的な図4の意味表現グラフ310に存在する3つの辺を示す情報が、過不足なく直列化グラフ330から生成できる。言い換えれば、上記の変換処理を実行することにより、入力データ210から直列化グラフ生成部120によって生成された直列化グラフ330(第1の直列化グラフ)を、意味表現グラフ310と等価な第2の直列化グラフに変換することができる。
 さらに、直列化グラフ変換部130では、ノード・辺情報133がノード及び辺の情報を保持することにより、任意のグラフ記述形式に変換することができる。次いで、グラフ整形部134は、ノード・辺情報133に保持された情報を用いて、所望のグラフ記述形式の仕様に従って、グラフを整形する。この整形では、ユーザがグラフを視覚的に理解できるように、例えば、数式、画像、ドット等の形式で出力するようにしてもよい。そして、グラフ整形部134は、整形したグラフのデータを出力部140に出力する。
 また、上述した直列化グラフ変換部130の説明は、直列化グラフ生成部120で生成された直列化グラフ220(第1の直列化グラフ)を、任意のグラフ記述形式に対応させるために変換するためのものであったが、意味表現解析システム100において、直列化グラフ220そのものを出力するように構成する場合は、直列化グラフ変換部130において特段の処理を行わなくてもよい。
 次に、出力部140及び出力グラフ230について説明する。
 出力部140は、直列化グラフ変換部130から出力されたグラフのデータを、出力するインタフェースに適応するよう必要に応じて変形した上で、所定の出力装置から出力することにより、ユーザにグラフを提示する。ユーザにグラフを提示する手段は、例えばCUIによるグラフの表示や、GUIによるグラフの可視化、あるいはファイル等にグラフを書き出す処理等が考えられる。具体的には、図4に示した意味表現グラフ310は、可視化されたグラフ表示の出力例であり、CUIやファイルにグラフを書き出す場合は、図5や図8に示した直列化グラフ320等のような形態で出力することができる。
 以上に説明したように、本実施例に係る意味表現解析システム100は、入力部110、直列化グラフ生成部120、直列化グラフ変換部130、及び出力部140を備えることにより、テキストによる入力データ210から意味表現グラフを解析することができる。
 さらに、以下では、本実施例に係る意味表現解析システム100において、入力データ210がグラフである場合に、入力グラフと等価な、入力グラフから変換された直列化グラフを生成する方法について説明する。
 図9は、実施例1においてグラフの入力データから等価な直列化グラフを生成する処理の処理手順例を示すフローチャートである。図9に示した処理は、入力データ210としてグラフが入力された場合に、入力部110によって実行される。また、図9に示した処理による直列化グラフの生成は、直列化グラフ生成部120において機械学習を用いる場合に、その学習用の教師データとする直列化グラフを生成することにも利用可能である。機械学習の学習用に直列化グラフを生成する場合も、例えば入力部110が処理を行うとしてよいが、別途図9の処理を実行する機能部を備えるようにしてもよい。
 図9によればまず、グラフを構成するノード及び辺の情報が入力部110に入力される(ステップS201)。
 次に、入力部110は、ステップS201で入力されたノード及び辺の情報によって示される入力グラフを、木様構造に変換する(ステップS202)。木様構造は、意味表現グラフのなかの根ノードを除く全てのノードに対して、それらの祖先ノード(グラフの矢印の元をたどって到達できるノード)に必ず根ノードを含む構造であるとする。木様構造と一般的な木構造との違いは、木様構造の場合は親ノードが1つとは限らないという点である。ステップS202における木様構造への変換は、図9の以後の処理を容易にするために実施される処理であるが、必ずしも必須の処理としなくてもよい。
 また、前述したように、変換した木様構造においては、根ノードは複数存在しても構わないが、複数の根ノードを子に持つ仮想的な根ノードを追加することで、1つの根ノードのみを有するグラフと同一視することができるため、根ノードは1つとして扱うことができる。
 また、ステップS202において変換する木様構造のグラフを、1つの根ノードを持つ無向グラフであるとするとき、連結グラフである有向グラフを木様構造に変換するためには、矢印の向きを適切に反転させる必要がある。この場合、矢印の向きが反転していることを辺のラベル情報に付与することで矢印の向きの問題は解消することができるため、入力部110は、入力データ210として有向グラフが入力された場合でも、一般性を失うことなく、上記の木様構造に変換することができる。すなわち、当該変換においては、入力グラフを木様構造をなす部分グラフに分解し、部分グラフ間を接続する辺を判定することで実現することができる。このとき、部分グラフの根ノードは、入力グラフの真の根ノードか、部分グラフの分割点となったノードである。
 次に、入力部110は、木様構造のグラフを直列化グラフに変換するため、変換の起点となるノードを選択する(ステップS203)。このとき、最初は、根ノードを選択することが望ましい。
 次に、入力部110は、ステップS203で選択したノードを端点として辺の矢印の方向をたどることによって到達できる辺集合を選択する(ステップS204)。ステップS204で選択する辺集合は、それ以上延伸できない辺集合であることが望ましい。なお、ここでいう「延伸できない辺集合」は、選択したノードを端点として選択できる辺集合のうち、最長の辺集合とは限らない。
 次に、入力部110は、ステップS204で選択した辺集合を直列化して出力する(ステップS205)。ステップS205における直列化の方法は、直列化グラフの記述形式に準ずる。例えば、図5や図8に示した直列化グラフの記述形式の場合は、辺に対して、[矢印の元ノード、矢印の先ノード、辺のラベル]の順に適切なトークン記述形式で記述すればよい。図5や図8に示した直列化グラフの記述形式の例では、ノードを表すトークンである場合は、ノードのID及びラベルをスラッシュ記号で連結すればよく、辺ラベルはそのまま出力すればよい。但し、ノードのIDが明示的に付与されていないグラフについては、ノードを識別できるように自由にIDを割り付けることができる。
 次に、入力部110は、木様構造のグラフに含まれる辺のうち、ステップS205までの処理で選択されていない辺が残っているか(辺情報が出力されていない辺が残っているか)否かを判定し(ステップS206)、選択されていない辺が残っていない場合(ステップS206のNO)、入力部110はそのまま処理を終了する。
 一方、選択されていない辺が残っている場合(ステップS206のYES)、入力部110は、必要に応じて特殊トークンを追加(出力)する(ステップS207)。ステップS207で追加される特殊トークンは、例えば図4や図8で例示した直列化グラフの記述形式の場合は[EOD]トークンである。
 そしてステップS207の後は、ステップS203に戻り、入力部110は、次の起点となるノードを選択してステップS204以降の処理を繰り返す。この際、起点となるノードの表示方法(出力方法)としては、起点となるノードを直接出力(または再出力)する方法や、[EOD]トークンの数だけ、直前の辺集合の終了点となるノードから辺を遡る方法などを採用することができる。後者の方法は、図4や図8の直列化グラフの記述形式に対応する方法であり、スタックからトークンを除去する操作と対応している。
 以上のようにして、全ての辺情報が出力されるまで図9のステップS203~S207の処理を繰り返すことで、入力部110は、入力グラフ(例えば意味表現グラフ310)と等価な直列化グラフ(入力グラフから変換された直列化グラフ)を生成することができる。
 なお、図9のステップS205で実施される直列化に際して、例えばノードに属性値(例えば、図4の「long-03」ノードにおける「polarity」値)が付与されている場合や、辺に属性値が付与されている場合には、入力部110は、それぞれノードや辺のラベルに一定の記法で追記することによって、属性値を含めて直列化することができる。
 以上のように、実施例1に係る意味表現解析システム100によれば、ノードや辺にラベル情報を含む、有向または無向グラフを直列化することができることから、種類の異なる種々の意味表現を汎用的(統一的)に精度よく解析し、直列化グラフにすることができる。
 また、本実施例に係る意味表現解析システム100は、所謂エンコーダ・デコーダのニューラルネットワークを用いて、トークン化されたテキストや直列化グラフを入力として精度良く直列化グラフを生成することができるため、従来知られた遷移による解析手法等と比較すると、意味表現グラフごとにアクションを設計することなく、種々の意味表現を統一的に解析することができる。
 また、本実施例に係る意味表現解析システム100によって生成される直列化グラフの形式はグラフ全体の情報を保持するため、例えば、エンコーダ・デコーダのニューラルネットワークにおいて、グラフ全体の構造に関する学習を行うことができ、ノード間の局所的な関係性だけではない、大域的な特性に基づいた意味表現グラフの解析が可能になる。
 さらに、本実施例に係る意味表現解析システム100では、直列化グラフを入力とすることで、ある意味表現グラフを別の意味表現グラフに変換することもできる。
 また、本実施例に係る意味表現解析システム100のように、直列化グラフ形式による出力は、2つの意味表現グラフ間の比較を行う際に、直列化されていることにより、例えば一般的な編集距離などを用いて、数値を用いて比較することができる。また、同様に直列化グラフ上での編集操作(挿入や削除等)としてグラフの差分を算出することができるため、差分を用いた処理を行うことができる。差分の用途としては、例えば2つのテキスト間の意味の違いを直列化グラフの差分とみなすことにより、差分の精査から含意性や反意性を判定することができる。
 なお、本実施例に係る意味表現解析システム100を利用する場合、ユーザは、意味表現グラフ上で適切に演算を加えることができる。典型的な例としては、文章題を意味表現解析システム100への入力データとして、計算式を表すグラフに変換することで、実際に演算を実施して文章題の解を算出することができる。
 実施例2では、実施例1とは異なる直列化グラフの形式に関して説明する。実施例2では、実施例1と同様に構成された意味表現解析システム100を用いることができる。
 図10は、実施例2における直列化グラフの変換手順を具体例で説明するための図である。図10に示した直列化グラフ340は、図4に示した意味表現グラフ310を直列化した直列化グラフの一例であるが、実施例1で例示した直列化グラフ320(図5)や直列化グラフ330(図8)とは異なる形式で記述されている。実施例2において、図10に示した直列化グラフ340は、例えば入力部110が生成可能な直列化グラフの一例であり、その生成方法については図11を参照しながら後述する。
 以下では、図10に示した直列化グラフ340に対する直列化グラフ変換部130(主にトークン処理部131)による変換処理を説明することで、実施例1とは異なる記述形式の直列化グラフ340であっても、実施例1の直列化グラフ330等と同様に、入力された意味表現グラフと等価な辺情報を構築できることを示す。図10に示す直列化グラフの変換では、図8と同様に、トークン保持部132にスタックを用いている。
 なお、図10における処理トークン341、アクション342、及びスタック状態343は、それぞれ図8に示した処理トークン331、アクション332、及びスタック状態333と同様であり、説明を省略する。また、図10の各段階の説明は、図8の説明と類似する点が多いため、簡略化して説明する。
 図10によればまず、1番目から3番目までに処理トークンとして選択される「1/take-10」、「2/it」、「3/long-03」はノードを示すトークンであるため、トークンを追加するアクション(ADD)が選択され(図7のステップS103)、処理トークンがトークン保持部132であるスタックに追加される(同、ステップS105)。
 次いで4番目に処理トークンとして選択される「1」は、以前の処理でノードID「1」として追加されたノードを示すため、トークンを選択するアクション(SELECT)が選択され(図7のステップS103)、処理トークンに対応するトークン「1/take-10」が選択されて再びスタックに追加される(同、ステップS106)。
 次に、5番目に辺を表すトークンである「ARG0-of」が処理トークンとして選択されると、トークン処理部131は、辺を作成するアクション(ARC)を選択し(図7のステップS107)、トークン保持部132であるスタックの上から1番目と2番目のトークンを用いて辺を作成する。このとき、実施例1で説明した図8の変換方法に従えば、作成される辺は[it(2番目),take-10(1番目),ARG0(辺)]となるが、選択された処理トークン「ARG0-of」に含まれる「-of」は、辺の矢印が反転されていることを示すため、トークン処理部131は、辺の両端を構成するノードを入れ替えて、辺[take-10,it,ARG0]を生成する。そしてトークン処理部131は、生成した辺の情報をノード・辺情報133に出力する(ステップS108)とともに、辺の両端のノードの情報として、「take-10」をノードID「1」のノード、「it」をノードID「2」のノードとして、ノード・辺情報133に出力する。
 ここでさらに、実施例2における変換処理では、処理トークンが辺を表すトークンである場合には、前述したARCの後にDELETEのアクションも選択されるとする(ARC+DELETE)。そのため、トークン処理部131は、辺[take-10,it,ARG0]を生成してその情報をノード・辺情報133に出力した後、スタックの上から1番目に保持されているトークン「1/take-10」を削除する。
 以降も、トークン処理部131は、同様に処理トークンの種類に応じてアクションの実施を繰り返す。
 簡単に説明すると、6番目には、辺を表すトークンである「ARG1」が処理トークンとして選択されるため、辺の作成及びトークンの削除(ARC+DELETE)のアクションが選択される。そこで、トークン処理部131は、まずADDのアクションを実施することにより、新たな辺[long-03,it,ARG1]を生成し、辺の情報をノード・辺情報133に出力する。このとき、新たなノード「long-03」についても、ノードID「3」のノードとして出力する。さらに、トークン処理部131は、DELETEのアクションを実施することにより、スタックの上から1番目に保持されているトークン「2/it」を削除する。
 次いで7番目には、再び辺を表すトークンである「ARG1」が処理トークンとして選択されるため、辺の作成及びトークンの削除(ARC+DELETE)のアクションが選択される。このとき、トークン処理部131は、ADDのアクションの実施によって新たな辺[take-10,long-03,ARG1]を生成し、ノード・辺情報133に出力する。さらに、トークン処理部131は、DELETEのアクションを実施することにより、スタックの上から1番目に保持されているトークン「long-03」を削除する。
 そして、7番目の「ARG1」に対する処理をもって、直列化グラフ340の全てのトークンへの処理が終了することから、トークン処理部131は終了条件を満たしたと判定して、変換処理を終了する。
 以上に説明した変換処理の結果をまとめると、[take-10,it,ARG0]、[long-03,it,ARG1]、[take-10,long-03,ARG1]の3組の辺が作成され、ノード・辺情報133には、これら各組の辺情報とともに、辺の両端のノード情報としてノードID「1」の「take-10」、ノードID「2」の「it」、及びノードID[3]の「long-03」が保持される。すなわち、実施例1で説明した直列化グラフ330からの変換と同様に、意味表現解析システム100は、図10の直列化グラフ340からも、図4の意味表現グラフ310に存在する3つの辺を示す情報を、過不足なく生成することができる。すなわち、直列化グラフ340は、意味表現グラフ310と等価な直列化グラフであることが示される。
 図11は、実施例2においてグラフの入力データから等価な直列化グラフを生成する処理の処理手順例を示すフローチャートである。図11を参照しながら、実施例2に係る意味表現解析システム100が、入力データ210として図4に示した意味表現グラフ310が入力された場合に、図10に示した直列化グラフ340を生成する方法について説明する。図11に示した処理は、例えば入力部110によって実行される。また、図11に示した処理は、図9に示した処理と概ね同様であるため、共通する処理については説明を省略し、相違点を中心に説明する。
 まず、図11に示した直列化グラフの生成方法では、図9のステップS202のように、入力グラフを木様構造に変換する必要がない。したがって、ステップS301で入力グラフを構成するノード及び辺の情報が入力された後は、ステップS302において入力部110は、図9のステップS203と同様に、入力グラフを直列化グラフに変換するために、変換の起点となるノードを選択すればよい。
 次のステップS303において、入力部110は、ステップS302で選択したノードを起点として連続する辺集合(一筆書きできる経路)を選択するが、この際、図9のステップS204のように、辺の矢印の向きを考慮しなくてよい。すなわち、ステップS303において入力部110は、選択ノードを起点として一筆書きできる辺集合を選択する際、矢印の向きを反転する必要がある辺については、辺のラベルに「-of」等の矢印の反転を意味する所定の識別子を付与すればよい。
 次にステップS304において、入力部110は、ステップS303で選択した辺集合を直列化して出力する。このとき、入力部110は、起点となるノード(ステップS303の選択ノード)から、一筆書きの経路の順に、各ノードを示すトークンを生成し、同じ順に対応する辺を示すトークンを生成する。
 そしてステップS305において、入力部110は、辺情報が出力されていない辺が残っているか否かを判定し、全ての辺の情報が出力されるまでステップS302~S304の処理を繰り返す。なお、図10に示したように、実施例2における直列化グラフ340の記述形式では、連続する辺情報のブロックは、辺を示すトークンの後にノードを示すトークンが出現した場合に、新たな連続する辺情報のブロックであることが判別できるため、新たな辺情報の出力のためにステップS302に戻って新たなノードを選択する前に、図9のステップS207のように特殊トークン等を挿入する処理を実行する必要がない。
 以上のようにして、全ての辺情報が出力されるまで図11の処理を繰り返すことで、入力部110は、実施例1で説明した直列化グラフ330とは異なる記述形式で、入力グラフ(例えば意味表現グラフ310)と等価な直列化グラフ340を生成することができる。
 上記のような実施例2に係る意味表現解析システム100によれば、実施例1と同様に、ノードや辺にラベル情報を含む、有向または無向グラフを直列化することができることから、種類の異なる種々の意味表現を汎用的(統一的)に精度よく解析し、直列化グラフにすることができる。
 さらに、実施例2を実施例1と比較した場合、実施例2で生成できる直列化グラフ340の記述形式は、実施例1で生成できる直列化グラフ330の形式より少ないトークン数で記述することができる。このような特徴を有する記述形式で直列化グラフを生成可能なことは、エンコーダ・デコーダのニューラルネットワークで直列化グラフを生成する際に有利に働く場合がある。
 但し、実施例1における直列化グラフの形式は、多くの意味表現グラフが木構造に類似する構造(木様構造)を有することに着目して、当該構造に準拠した記述を行ったものであり、意味表現グラフの形状における意味的ないしは形式的な制約によっては、実施例1で生成できる直列化グラフ330の形式の方が有利に働く場合もある。
 何れにしても、ユーザは、本発明に係る意味表現解析システム100を利用することによって、実施例1における直列化グラフの形式や、実施例2における直列化グラフの形式、あるいは同様に別の直列化グラフの形式を選択することが可能であり、具体的には、エンコーダ・デコーダのニューラルネットワークにとってより精度が高い記述形式等を選択することが可能となる。
 また、実施例1及び実施例2において、意味表現解析システム100が生成する直列化グラフ形式は、辺情報を基礎としているため、互いを変換可能である。したがって、直列化グラフ生成部120において直列化グラフを生成する際に、エンコーダ・デコーダのニューラルネットワークが特定の記述形式で直列化グラフを出力したとしても、直列化グラフ変換部130において適宜、所望の形式に直列化グラフを変換することができる。
 なお、上述した各実施例は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての要素および構成を備えるものに限定されない。したがって、本発明は上述した各実施例に限定されるものではないし、合理的な範囲で様々な変形例を含んでよい。例えば、矛盾しない限りにおいて、ある実施例の要素や構成の一部を他の実施例の構成で置き換え、ある実施例の要素や構成に他の実施例の要素や構成を加えてもよい。また、各実施例の要素や構成の一部について、要素や構成の追加、削除、置換、統合、または分散を実行してもよい。また、実施例で示した要素、構成および処理は、処理効率または実装効率に基づいて適宜分散、統合、または入れ替えてもよい。
 また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
 また、図面において制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
 10  コンピュータ装置
 11  プロセッサ
 12  記憶デバイス
 13  入力デバイス
 14  出力デバイス
 15  通信インタフェース
 16  バス
 100 意味表現解析システム
 110 入力部
 120 直列化グラフ生成部
 121 トークン分割部
 122 系列生成部
 123 同一性判定部
 130 直列化グラフ変換部
 131 トークン処理部
 132 トークン保持部
 133 ノード・辺情報
 134 グラフ整形部
 140 出力部
 210 入力データ
 220 直列化グラフ
 230 出力グラフ
 310 意味表現グラフ
 320,330,340 直列化グラフ

Claims (9)

  1.  入力データの意味表現を解析する意味表現解析システムであって、
     テキストまたはグラフによる前記入力データを受け付ける入力部と、
     前記入力データに対応するグラフ構造を表すトークン列を生成する直列化グラフ生成部と、を備え、
     前記トークン列は、前記入力データに対応するグラフ構造におけるノードを示す第1トークンと、前記ノード間の関係を表す辺を示す第2トークンと、を少なくとも含んで構成される
     ことを特徴とする意味表現解析システム。
  2.  前記直列化グラフ生成部によって生成される前記トークン列は、前記入力データの意味表現を等価に記述する
     ことを特徴とする請求項1に記載の意味表現解析システム。
  3.  前記直列化グラフ生成部は、前記グラフ構造を表すトークン列に含まれる前記第1トークンについて、グラフ上におけるノードの同一性を判定し、該当する複数の前記第1トークンに同一性を示す情報を付与する同一性判定部を有する
     ことを特徴とする請求項1に記載の意味表現解析システム。
  4.  前記入力データがテキストである場合、前記入力部は、前記入力データにおける前記テキストを、前記直列化グラフ生成部における前記トークン列の生成が可能な所定の文字コードに変換し、当該変換後の前記入力データを前記直列化グラフ生成部に入力する
     ことを特徴とする請求項1に記載の意味表現解析システム。
  5.  前記入力データがグラフである場合、前記入力部は、前記入力データを当該グラフと等価な、前記直列化グラフ生成部で生成される前記トークン列と同一の記述形式で記述されたトークン列に変換し、当該変換後の前記入力データを前記直列化グラフ生成部に入力する
     ことを特徴とする請求項1に記載の意味表現解析システム。
  6.  前記直列化グラフ生成部によって生成された、前記入力データに対応するグラフ構造を表す第1のトークン列に対して、当該グラフ構造における前記辺の情報を構築するための変換処理を行って第2のトークン列に変換する直列化グラフ変換部をさらに備え、
     前記直列化グラフ変換部は、前記変換処理において、前記第1のトークン列を構成する各トークンに対して、当該トークンの種類に応じたアクションを実行する
     ことを特徴とする請求項1に記載の意味表現解析システム。
  7.  前記直列化グラフ変換部は、前記変換処理において、前記入力データの意味表現を等価に記述することは維持しながら、前記第1のトークン列と前記第2のトークン列とで記述形式を変換可能とする
     ことを特徴とする請求項6に記載の意味表現解析システム。
  8.  前記第1のトークン列及び前記第2のトークン列は、前記入力データに対応するグラフ構造に準拠して記述する第1の記述形式、または当該トークン列を構成するトークンの数を抑制するように記述する第2の記述形式の何れかで記述される
     ことを特徴とする請求項6に記載の意味表現解析システム。
  9.  入力データの意味表現を解析する意味表現解析システムによる意味表現解析方法であって、
     テキストまたはグラフによる前記入力データを受け付ける入力ステップと、
     前記入力ステップで受け付けた前記入力データに基づいて、当該入力データに対応するグラフ構造を表すトークン列を生成する直列化グラフ生成ステップと、を備え、
     前記トークン列は、前記入力データに対応するグラフ構造におけるノードを示す第1トークンと、前記ノード間の関係を表す辺を示す第2トークンと、を少なくとも含んで構成される
     ことを特徴とする意味表現解析方法。
PCT/JP2021/030813 2020-10-27 2021-08-23 意味表現解析システム及び意味表現解析方法 WO2022091536A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/025,742 US20230351112A1 (en) 2020-10-27 2021-08-23 Meaning representation analyzing system and meaning representation analyzing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-179627 2020-10-27
JP2020179627A JP2022070523A (ja) 2020-10-27 2020-10-27 意味表現解析システム及び意味表現解析方法

Publications (1)

Publication Number Publication Date
WO2022091536A1 true WO2022091536A1 (ja) 2022-05-05

Family

ID=81382232

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/030813 WO2022091536A1 (ja) 2020-10-27 2021-08-23 意味表現解析システム及び意味表現解析方法

Country Status (3)

Country Link
US (1) US20230351112A1 (ja)
JP (1) JP2022070523A (ja)
WO (1) WO2022091536A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007015505A1 (ja) * 2005-08-04 2007-02-08 Nec Corporation データ処理装置、データ処理方法、データ処理プログラム
JP2018147238A (ja) * 2017-03-06 2018-09-20 株式会社日立製作所 発想支援装置及び発想支援方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007015505A1 (ja) * 2005-08-04 2007-02-08 Nec Corporation データ処理装置、データ処理方法、データ処理プログラム
JP2018147238A (ja) * 2017-03-06 2018-09-20 株式会社日立製作所 発想支援装置及び発想支援方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHUHEI KURITA, ANDERS SØGAARD: "Semantic dependency parsing using deep reinforcement learning voluntarily learns simple priority strategy", PRESENTATION PROCEEDINGS OF THE 25TH ANNUAL MEETING OF THE ASSOCIATION FOR NATURAL LANGUAGE PROCESSING; MARCH 13-15, 2019, 4 March 2019 (2019-03-04) - 15 March 2019 (2019-03-15), JP, pages 159 - 162, XP009536541 *

Also Published As

Publication number Publication date
US20230351112A1 (en) 2023-11-02
JP2022070523A (ja) 2022-05-13

Similar Documents

Publication Publication Date Title
KR101805946B1 (ko) 입-출력 예시를 사용한 텍스트 조작 프로그램 생성
JP4886693B2 (ja) 情報処理方法、情報処理装置および情報処理プログラム
WO2022218186A1 (zh) 个性化知识图谱的生成方法、装置及计算机设备
JP4940973B2 (ja) 論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置
JP5159713B2 (ja) システムの構成要素の設計アーキテクチャを自動設計する自動設計装置、自動設計方法及び自動設計プログラム
JP3372532B2 (ja) 感情情報抽出方法および感情情報抽出プログラムの計算機読み取り可能な記録媒体
JP2010520532A (ja) 画数の入力
WO2022091536A1 (ja) 意味表現解析システム及び意味表現解析方法
CN116595934A (zh) 一种涂胶系统配置自动生成方法、电子装置及存储介质
JPH10222510A (ja) 文書変換方法
CN112699642B (zh) 复杂医疗文书的索引提取方法及装置、介质及电子设备
JP4405542B2 (ja) 音素モデルをクラスタリングする装置、方法およびプログラム
CN112559455A (zh) 基于语义网络技术的ifc数据管理系统和方法
US7617089B2 (en) Method and apparatus for compiling two-level morphology rules
JP5219543B2 (ja) 情報処理装置及び情報処理方法及びプログラム
WO2014030258A1 (ja) 形態素解析装置、テキスト分析方法、及びそのプログラム
CN117407492B (zh) 基于知识图谱的关键字词序列生成方法、系统及设备
WO2024116688A1 (ja) 発想支援システム及び方法
WO2023243103A1 (ja) 判定装置、判定方法、及びプログラム
WO2021255910A1 (ja) 開発支援装置、プログラム及び開発支援方法
JPH0798707A (ja) 文書処理装置
CN113609821B (zh) 一种正则表达式转换方法、装置、设备及存储介质
KR100319776B1 (ko) 소프트웨어 프로세스 모형화 장치 및 그 방법
WO2020179519A1 (ja) 生成装置、生成方法及びプログラム
JP4960636B2 (ja) かな漢字変換装置、文字列に単一ルビを与える方法、コンピュータプログラムおよびコンピュータ読み取り可能な記憶媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21885656

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

Country of ref document: EP

Kind code of ref document: A1