Semantic expression analysis system and semantic expression analysis method
The semantic expression analysis system addresses the challenge of unified and accurate analysis across different types of semantic expressions by generating and converting token sequences into graph structures, enhancing analysis accuracy.
Patent Information
- Application Number
- JP2025092467
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-06-03
- Publication Date
- 2025-08-07
- Estimated Expiration
- 2040-10-27
AI Technical Summary
Existing semantic expression analysis methods struggle to analyze various semantic expression graphs in a unified and accurate manner, as they require redefining actions for different types of graphs or implement extra actions, leading to lower accuracy when targeting the same graph.
A semantic expression analysis system and method that utilizes an input unit for text or graph data, generating a token sequence representing a graph structure with nodes and edges, employing a serialized graph generation unit and conversion unit to ensure accurate and unified analysis across diverse semantic expressions.
Enables accurate and unified analysis of various semantic expressions, improving analysis accuracy by generating and converting token sequences into meaningful graph structures.
Smart Images

Figure 2025116184000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a semantic expression analysis system and a semantic expression analysis method, and is suitable for use in a semantic expression analysis system and a semantic expression analysis method that analyzes the meaning of input data and constructs a graph structure that indicates the meaning. [Background technology]
[0002] Traditionally, expressing the meaning of a given text using a graph structure has been called semantic expression analysis. Semantic expression analysis broadly includes syntactic analysis and dependency analysis, which analyze the relationships between words in a sentence, as well as techniques for constructing abstract semantic expression graphs that do not necessarily correspond to the words in a sentence, and techniques for constructing graphs that represent calculation formulas from word problems in mathematics, etc.
[0003] There are two methods for realizing semantic expression analysis: a "transition-based analysis method" in which the input text is divided into words (tokens) and a semantic expression graph is constructed by performing operations (actions) on the sequence (input token sequence), and an "adjacency matrix-based analysis method" in which an adjacency matrix that represents the relationship between input tokens is directly estimated for the input token sequence.
[0004] Machine learning can be used to realize the above-mentioned semantic representation analysis. In the case of a transition-based analysis method, a stack is used, and features are extracted from the stack, the input token sequence, and the performed actions, etc., and then the action to be performed is identified. On the other hand, in the case of an adjacency matrix-based analysis method, real values representing the connectivity between input tokens can be calculated using the input token sequence. In deep learning, these real values can be calculated using a so-called attention mechanism.
[0005] Recent advances in deep learning have made it possible to analyze more complex or abstract semantic representations. For example, in the case of AMR (Abstract Meaning Representation), there is no clear correspondence between nodes in a graph and words in a sentence. However, by using the encoder-decoder mechanism of deep learning to generate nodes that do not correspond in the sentence, it is possible to analyze them using techniques based on transition or adjacency matrices.
[0006] Furthermore, there are a wide variety of types of semantic expression graphs due to differences in their purposes and uses, and it is known that highly accurate analysis methods differ for each type.
[0007] As a conventional technique related to the above background art, for example, Non-Patent Document 1 discloses a means for accurately analyzing various semantic expression graphs by transitions. Also, Non-Patent Document 2 discloses an analysis means by transitions, which can analyze various semantic expression graphs by using the same set of actions. [Prior art documents] [Non-patent literature]
[0008] [Non-Patent Document 1] Wanxiang Che et.al.,HIT-SCIR at MRP 2019,A Unified Pipeline for Meaning Representation Parsing via Efficient Training and Effective Encoding [Non-patent document 2] Daniel Hershcovich et.al.,Multitask ParsingAcross Semantic Representation Summary of the Invention [Problem to be solved by the invention]
[0009] However, while the technology of Non-Patent Document 1 is useful in that it can accurately analyze various semantic expression graphs using a transition-based analysis method, it has the problem that it is necessary to redefine actions depending on the type of semantic expression graph, and therefore it is not possible to analyze various semantic expression graphs in a unified and accurate manner.Furthermore, the technology of Non-Patent Document 2 is useful in that it can analyze various semantic expression graphs using the same set of actions, but since a set of actions that can analyze all semantic expression graphs to be analyzed requires the implementation of extra actions compared to a set of actions optimized for each semantic expression graph, there is a problem that when the same semantic expression graph is targeted, the analysis accuracy is significantly lower than when the technology of Non-Patent Document 1 is used.
[0010] The present invention has been made in consideration of the above points, and aims to propose a semantic expression analysis system and a semantic expression analysis method that are capable of analyzing various semantic expressions in a unified manner with high accuracy. [Means for solving the problem]
[0011] In order to solve this problem, the present invention provides a semantic expression analysis system that analyzes the semantic expression of input data, comprising an input unit that accepts the input data in the form of text or a graph, and a serialized graph generation unit that generates a token sequence that represents a graph structure corresponding to the input data, wherein the token sequence includes at least a first token that represents a node in the graph structure corresponding to the input data, and a second token that represents an edge that represents a relationship between the nodes.
[0012] In addition, in order to solve such problems, the present invention provides a semantic expression analysis method using a semantic expression analysis system that analyzes the semantic expression of input data, comprising: an input step of accepting the input data in the form of text or a graph; and a serialized graph generation step of generating a token string representing a graph structure corresponding to the input data based on the input data accepted in the input step, wherein the token string includes at least a first token that indicates a node in the graph structure corresponding to the input data, and a second token that indicates an edge that indicates a relationship between the nodes. [Effects of the Invention]
[0013] According to the present invention, various semantic expressions can be analyzed in a unified manner with high accuracy. [Brief explanation of the drawings]
[0014] [Figure 1] 1 is a block diagram showing an example of a functional configuration of a semantic expression analysis system 100 according to a first embodiment. [Figure 2] 1 is a block diagram showing an example of the hardware configuration of a computer device 10 that realizes a semantic expression analysis system 100. FIG. [Figure 3] 10 is a block diagram showing an example of the internal configuration of a serialized graph generation unit 120. FIG. [Figure 4] FIG. 10 is a diagram illustrating an example of a semantic expression graph. [Figure 5] FIG. 1 illustrates an example of a serialized graph. [Figure 6] 10 is a block diagram showing an example of the internal configuration of a serialized graph conversion unit 130. FIG. [Figure 7] 10 is a flowchart showing an outline of processing by the token processing unit 131. [Figure 8] 10A and 10B are diagrams for explaining a specific example of a procedure for converting a serialized graph in the first embodiment. [Figure 9] 10 is a flowchart illustrating an example of a processing procedure for generating an equivalent serialized graph from input data of a graph in the first embodiment. [Figure 10] FIG. 10 is a diagram for explaining a specific example of a procedure for converting a serialized graph in the second embodiment. [Figure 11] 10 is a flowchart illustrating an example of a processing procedure for generating an equivalent serialized graph from input data of a graph in the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0015] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the following, identical or similar elements and processes will be denoted by the same reference numerals, and differences will be explained, and duplicated explanations will be omitted. Furthermore, for later embodiments, differences from previously described embodiments will be explained, and duplicated explanations will be omitted. Furthermore, each embodiment and its modified examples can be combined in part or in whole within the scope consistent with the spirit of the present invention. [Example]
[0016] 1 is a block diagram showing an example of a functional configuration of a semantic expression analysis system 100 according to Example 1. The semantic expression analysis system 100 receives input data 210 in the form of text or a graph via an input unit 110, generates a serialized graph 220 in a serialized graph generation unit 120, converts the serialized graph 220 into a desired format in a serialized graph conversion unit 130, and then outputs an output graph 230 visualized in a predetermined graph format in an output unit 140.
[0017] Here, we will first explain the hardware configuration of the semantic expression analysis system 100. The semantic expression analysis system 100 can be realized by a computer device.
[0018] FIG. 2 is a block diagram showing an example of the hardware configuration of a computer device 10 that realizes the semantic expression analysis system 100.
[0019] As shown in FIG. 2, the computer device 10 comprises 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 one another by a bus 16.
[0020] The processor 11 has a function of controlling the computer apparatus 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 serves as a working area for the processor 11. The specific storage medium of the storage device 12 is not limited, and for example, a read-only memory (ROM), a random access memory (RAM), a hard disk drive (HDD), or a flash memory such as a solid state drive (SSD) can be used. The processor 11 and the storage device 12 may also be devices using a graphical processing unit (GPU).
[0021] Specifically, for example, each processing unit (input unit 110, serialized graph generation unit 120, serialized graph conversion unit 130, output unit 140) of the semantic expression analysis system 100 shown in Fig. 1 is realized by the processor 11 executing a temporary or non-temporary program stored in the storage device 12. Also, various data handled by the semantic expression analysis system 100, such as input data 210, serialized graph 220, and output graph 230, are stored in, for example, the storage device 12. In addition to this, for example, various data held in node / edge information 133 in Fig. 6, which will be described later, are also stored in, for example, the storage device 12.
[0022] The processor 11 may be configured with one or more processing units, may include one or more arithmetic units, and may include multiple processing cores, and may be implemented as one or more central processing units, microprocessors, digital signal processors, microcontrollers, microcomputers, state machines, logic circuits, graphics processing units, systems on a chip, or any other device that manipulates signals in response to control instructions or the like.
[0023] In the computer device 10 that realizes the semantic expression analysis system 100, the programs executed by the processor 11 can include an OS (Operating System). Furthermore, the programs executed by the processor 11 can include various programs such as programs for implementing the functions of each processing unit of the semantic expression analysis system 100 (for example, an input program for the input unit 110, a serialized graph generation program for the serialized graph generation unit 120, a serialized graph conversion program for the serialized graph conversion unit 130, and an output program for the output unit 140). The processor 11 can function as the input unit 110, the serialized graph generation unit 120, the serialized graph conversion unit 130, and the output unit 140 by executing and operating these programs described above.
[0024] 2, software elements such as the OS and various programs are stored in one of the storage areas of the storage device 12. The OS and various programs may be pre-recorded on a portable recording medium, in which case the programs are read from the portable recording medium by a media reader and stored in the storage device 12. Alternatively, the OS and various programs may be acquired via a communication medium.
[0025] The input device 13 is a device that executes user's command and data input to the semantic expression analysis system 100, and is specifically realized by, for example, a mouse, keyboard, touch panel, microphone, or scanner.
[0026] 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, or a speaker.
[0027] The communication interface 15 is a device that connects to an external network of the computer device 10 and transmits and receives various data handled by the semantic expression analysis system 100, and is specifically realized, for example, by a network interface card (NIC). When the semantic expression analysis system 100 is realized by a computer device 10 that has the communication interface 15, the semantic expression analysis system 100 can be configured to transmit and receive data to and from another terminal via the external network.
[0028] The semantic expression analysis system 100 is not limited to a configuration implemented by a single computer (computer device) such as the computer device 10 shown in Fig. 2, but may be implemented by a computer system consisting of multiple computers (computer devices). In this case, the computers may be able to communicate with each other via a network, and, for example, multiple functions of the language model processing device may be implemented separately on multiple computers.
[0029] This concludes the description of the hardware configuration of the semantic expression analysis system 100, and we will now return to the description of the functional configuration of the semantic expression analysis system 100 shown in FIG.
[0030] First, the input data 210 and the input unit 110 will be described.
[0031] As described above, the input data 210 takes the form of text or a graph. When the input data 210 is text, the text is generally a single sentence, but it may be multiple sentences, or it may be text that does not take the form of a sentence, such as speech or non-sentences. It may also be a symbol string that has some kind of graph structure. On the other hand, when the input data 210 is a graph, the graph may be any meaningful unit that has a graph structure. Based on the above, in this embodiment, analysis of a semantic expression graph from text input data 210 will be described as an example.
[0032] The input unit 110 receives input data 210 that the user wants to process (as described above, in this example, text), and converts the text or graph of the input data 210 into a form that can be processed by the serialized graph generation unit 120. Specifically, for example, when the semantic expression analysis system 100 accepts input of the input data 210 using a character user interface (CUI), the input unit 110 converts the text input using the CUI into text data (e.g., plain text) in an appropriate predetermined character code.
[0033] If the input data 210 is a graph, the input unit 110 converts the input graph (input graph) into a serialized graph. The serialized graph generated at this stage is obtained by converting the input graph into an equivalent serialized graph. Although the serialized graph is different from the serialized graph generated by the serialized graph generation unit 120 (described later), it is desirable that they have the same description format. In the following description, for the sake of distinction, the serialized graph generated by the former input unit 110 may be referred to as the "serialized graph converted from the input graph," and the serialized graph generated by the latter serialized graph generation unit 120 may be referred to as the "first serialized graph." However, the present invention can be applied even if the serialized graph converted from the input graph does not have the same description format as the first serialized graph. A method for the input unit 110 to generate a serialized graph converted from an input graph equivalent to the input graph when the input data 210 is a graph (input graph) will be described later with reference to FIG. 9.
[0034] Next, the serialized graph generator 120 and the serialized graph 220 will be described.
[0035] The serialized graph generation unit 120 generates a serialized graph 220 based on the text data converted from the text input data 210 by the input unit 110, and outputs the graph to the serialized graph conversion unit 130. The serialized graph 220 generated by the serialized graph generation unit 120 is a graph obtained by serializing a semantic expression graph corresponding to the text input data 210. Note that serialization here refers to conversion into a format that can be regarded as a token sequence, among formats that can express the structure formed by the edges of the semantic expression graph. Generally, conversion into a format that can be output as text data without modification can be regarded as serialization.
[0036] 3 is a block diagram showing an example of the internal configuration of serialized graph generation unit 120. As shown in FIG. 3, serialized graph generation unit 120 includes token division unit 121, sequence generation unit 122, and identity determination unit 123.
[0037] The tokenizing unit 121 divides the text data received from the input unit 110 into appropriate token units, generates an input token sequence, and outputs the generated input token sequence to the sequence generation unit 122. The tokenizing unit 121 may perform division into words using morphological analysis, division into character units, or division using a statistical method, or may perform division into units called subword division, which are more detailed than general words but coarser than characters. The tokenizing unit 121 can select a division method suitable for the sequence generation unit 122 from the above division methods.
[0038] The sequence generation unit 122 generates an output token sequence from the input token sequence generated by the token division unit 121, and outputs the generated output token sequence to the identity determination unit 123. The sequence generation unit 122 is preferably configured as a neural network generally called an encoder-decoder, but any other means may be used as long as it is capable of receiving a token sequence as input and outputting a token sequence.
[0039] When using an encoder-decoder neural network in the sequence generation unit 122, it is preferable to use a recurrent neural network or a Transformer. When using such a neural network in the sequence generation unit 122, output tokens can be considered to be generated one by one, even when using a so-called beam search or the like.
[0040] When using a Transformer, the sequence generation unit 122 digitizes the input token sequence, assigns a one-hot vector to each digitized token, and inputs the vectors to a Transformer (first Transformer) that serves as an encoder. The first Transformer applies an attention-based operation to the one-hot vectors to obtain a hidden representation for each token. The decoder (second Transformer) then applies an attention-based operation to the hidden representations received from the first Transformer and its own hidden representation to obtain an output token sequence.
[0041] In this embodiment, the input to the neural network is not limited to a token sequence, and any information may be used. In this case, for example, processing such as inputting parts of speech and named entities together with the token sequence is conceivable.
[0042] It is also possible to add additional information to the encoder-decoder neural network during encoding or decoding, such as the depth of the output sequence (token sequence) in the stack or its parent node, as a feature vector.
[0043] When generating an output token sequence by the sequence generation unit 122, the first output token is generally generated using all input tokens and a special token indicating the start as input. Furthermore, when generating the output token sequence, a special token indicating the end is generated, or the sequence ends when a certain number of tokens are output.
[0044] Furthermore, when generating each output token, the sequence generation unit 122 receives all input tokens and previously generated output tokens as input. However, instead of the output token, the sequence generation unit 122 may use a hidden representation of the output token or various values or representations calculated from the hidden representation. 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 (details will be described later), the distance from the root node (i.e., the number of edges required to reach the root node from the node) can be added to the input.
[0045] The identity determination unit 123 determines tokens that represent the same node on the semantic expression graph from the sequence (output token sequence) generated by the sequence generation unit 122 (identity determination) and assigns information indicating identity to the relevant tokens. This identity determination can utilize so-called hidden representations generated by an encoder-decoder neural network. More specifically, when the identity determination unit 123 utilizes hidden representations in determining the identity of nodes, it can utilize a classifier that receives as input the hidden representations of tokens corresponding to any two nodes, or an attention mechanism that estimates the relationship between the hidden representations of tokens corresponding to nodes. By including such an identity determination unit 123, the serialized graph generation unit 120 can generate serialized graphs even for semantic expression graphs with different structures.
[0046] A specific example of the serialized graph 220 generated by the serialized graph generating unit 120 described above will be given below.
[0047] Fig. 4 is a diagram showing an example of a semantic expression graph. Semantic expression graph 310 shown in Fig. 4 is a semantic expression graph corresponding to the English text "It didn't take long." Also, Fig. 5 is a diagram showing an example of a serialized graph. Serialization graph 320 shown in Fig. 5 is an example of a serialized graph corresponding to semantic expression graph 310 shown in Fig. 4, and corresponds to an example of serialized graph 220 generated by serialization graph generation unit 120 when the above English text is input as input data 210.
[0048] The serialized graph 320 shown in Fig. 5 provides a description equivalent to the structure formed by the "edges" in the semantic expression graph 310. Note that in Fig. 5, the serialized graph 320 is displayed with line breaks and spaces inserted to improve readability, but line breaks are not necessarily required in the actual serialized graph 320, and it is sufficient if the structure forms a sequence (token string) with each character string separated by a space character being treated as one token.
[0049] 5, a token containing a slash mark " / " indicates a node, "ARG0" and "ARG1" are tokens indicating edge labels, and "[EOD]" is a special token indicating the edge structure. The number before the slash mark indicates the node ID (node ID), and the character string following the slash mark indicates the node label (node label).
[0050] 5, a token indicating a node written from an indented position at the beginning of a line corresponds to a child node on the semantic expression graph 310. For example, in Fig. 5, "it" on the second line and "long-03" on the third line are in an indented relationship with "take-10" on the first line, and when these nodes are examined in the semantic expression graph 310 in Fig. 4, it can be seen that "it" and "long-03" are child nodes of "take-10".
[0051] Here, focusing on the node "it," while it is a single node in the semantic expression graph 310 of Fig. 4, "2 / it" appears twice in the serialized graph 320 of Fig. 5, in the second and fourth lines. When generating nodes with the same name that appear multiple times in the serialized graph, such as these "it," the identity determination unit 123 performs an operation such as assigning the same ID to these nodes if they are the same node. Specifically, in the serialized graph 320 of Fig. 5, the ID "2" is assigned to both "it" on the second line and "it" on the fourth line, making it clear that these are the same node.
[0052] Node labels on a semantic representation graph are not necessarily guaranteed to be unique within the graph. Therefore, in a serialized graph, even if the node labels are the same, it is necessary to add ID information such as the above to guarantee uniqueness.
[0053] Next, the serialized graph conversion unit 130 will be described.
[0054] The serialized graph conversion unit 130 converts the serialized graph 220 generated by the serialized graph generation unit 120 into an appropriate format and transmits it to the output unit 140 .
[0055] Because the serialized graph generation unit 120 is realized using a machine learning method such as a neural network, the serialized graph 220 generated by the serialized graph generation unit 120 does not necessarily generate a semantic expression graph that has been correctly serialized for the input data 210. Therefore, in the semantic expression analysis system 100, the serialized graph conversion unit 130 performs conversion processing to construct edge information of the semantic expression graph as much as possible on the graph token sequence (serialized graph 220) representing the semantic expression graph generated by the serialized graph generation unit 120. In the following description, for the sake of distinction, the serialized graph before conversion by the serialized graph conversion unit 130 (i.e., the serialized graph 220 generated by the serialized graph generation unit 120) may be referred to as a first serialized graph, and the serialized graph after conversion by the serialized graph conversion unit 130 may be referred to as a second serialized graph.
[0056] Specifically, the serialized graph conversion unit 130 processes the token sequence (graph token sequence) of the first serialized graph from the beginning, so that even if the graph token sequence is an invalid input, it can construct edge information within a processable range.
[0057] Fig. 6 is a block diagram showing an example of the internal configuration of the serialized graph conversion unit 130. As shown in Fig. 6, the serialized graph conversion unit 130 includes a token processing unit 131, a token holding unit 132, node / edge information 133, and a graph shaping unit 134.
[0058] In the serialized graph conversion unit 130, first, the graph token sequence of the first serialized graph (serialized graph 220) is input to the token processing unit 131, and the token processing unit 131 sequentially performs appropriate processing, thereby performing either an operation on the token holding unit 132 or an operation on the node / edge information 133.
[0059] Fig. 7 is a flowchart showing an outline of processing by the token processing unit 131. According to Fig. 7, first, a graph token sequence serialized from the serialized graph 220 is input to the token processing unit 131 (step S101). Next, the token processing unit 131 selects one token to be processed from the token sequence input in step S101 (step S102), and determines an action to be applied to the selected token (step S103).
[0060] Note that the flowchart in Figure 7 shows a method in which processing is performed sequentially for each of the multiple tokens included in the graph token string input in step S101, but the processing by the token processing unit 131 is not limited to this method. For example, step S102 may be skipped, and in step S103, an action to be applied to each token in the graph token string input in step S101 may be determined, and subsequent processing may be performed for each token.
[0061] The determination of the action in step S103 will be described in detail. In the semantic expression analysis system 100 according to this embodiment, an action corresponding to each type of token is set in advance. Therefore, in step S103, the token processing unit 131 identifies the type of token to be processed.
[0062] 4, for example, a token corresponding to a node (e.g., "1 / take-10" or "2 / it") is expressed in a notation in which a node ID and a node label are connected by a slash mark. In this case, if it is guaranteed that an edge label (e.g., "ARG0" or "ARG1") does not contain a slash mark, the token processing unit 131 can determine that a token containing a slash mark is a token corresponding to a node.
[0063] Therefore, the token description format of the serialized graph only needs to be able to identify the type of token. The token processing unit 131 has an action determination method that conforms to the token description format of the serialized graph, and in step S103, by determining the type of token based on this action determination method, it is possible to determine an action that is determined according to the type of token.
[0064] Next, the token processing unit 131 checks 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). Actions can be configured in various ways, but broadly speaking, without loss of generality, the token processing unit 131 executes one of the following operations: adding a token to the token holding unit 132 (ADD, step S105), deleting a token from the token holding unit 132 (DELETE, step S106), selecting a token from the token holding unit 132 (SELECT, step S106), or creating an edge (ARC, step S107). Of these four actions, ADD (step S105) and DELETE / SELECT (step S106) correspond to operations on the token holding unit 132. In the case of an ARC action, after an edge is created in step S107, information about the created edge is output to the node / edge information 133 (step S108), which corresponds to an operation on the node / edge information 133. Note that the edge information output in step S108 also includes information about the nodes on both ends of the edge. The edge information output in step S108 is then held in the node / edge information 133.
[0065] In the processing example of Fig. 7, ADD and ARC are required as a set of actions to be applied depending on the type of token, but any connected graph can be described as long as at least one of DELETE and SELECT is provided. However, in consideration of the efficiency and the like mentioned above, it is also possible to provide both DELETE and SELECT.
[0066] After the processing for each action is performed in steps S105 to S108, the token processing unit 131 determines whether a predetermined termination condition is met (step S109), and if the termination condition is not met (NO in step S109), the process returns to step S102, selects the next token to be processed, and repeats the process. On the other hand, if the termination condition is met (YES in step S109), the process by the token processing unit 131 ends.
[0067] Fig. 8 is a diagram for explaining, with a specific example, the procedure for converting a serialized graph in Example 1. Fig. 8 explains specific transitions when converting a serialized graph corresponding to the semantic expression graph 310 shown in Fig. 4 using the processing procedure shown in Fig. 7, and uses a stack as the token holding unit 132 that temporarily holds tokens during conversion.
[0068] 8, serialized graph 330 represents the serialized graph (i.e., the first serialized graph) before conversion by token processing unit 131. In this example, a serialized graph similar to serialized graph 320 shown in Fig. 5 is used as serialized graph 330 corresponding to semantic expression graph 310 shown in Fig. 4. However, for convenience, in serialized graph 330, the description of the token related to "polarity" indicating the attribute value of node "long-03" in semantic expression graph 310 (corresponding to the fourth line in serialized graph 320 in Fig. 5, and the description corresponding to the text "didn't") is omitted.
[0069] 8, processing token 331 represents a processing token selected from serialized graph 330 by token processor 131 (see step S102 in FIG. 7). In the case of FIG. 8, serialized graph 330 is made up of 10 tokens, and tokens are selected as processing tokens in order starting from the first token, and conversion processing is performed. Action 332 represents the specific content of the action executed corresponding to processing token 331. Stack state 333 represents the holding state of the stack at each stage.
[0070] As described above, the serialized graph 330 used in Fig. 8 is a serialized version of the semantic expression graph 310 in Fig. 4. For convenience, the edges present in the semantic expression graph 310 in Fig. 4 can be listed as triplet pairs, [take-10, it, ARG0], [take-10, long-03, ARG1], and [long-03, it, ARG1]. The following shows that the conversion process by the token processing unit 131 can generate the above triplet pairs representing edges from the serialized graph 330 without any excess or deficiency. As described in Fig. 7, the conversion process by the token processing unit 131 allows the above triplet pairs to be stored in the node-edge information 133, thereby enabling conversion into various graph description formats.
[0071] A specific conversion procedure will be described with reference to Figures 7 and 8. As described above, in this example, a stack is used in the token holding unit 132, and the transition of the holding state is shown in stack state 333.
[0072] First, "1 / take-10" and "2 / it", which are selected as the first and second processing tokens, are tokens indicating nodes, so an action (ADD) to add a token is selected in step S103. In this case, 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 last-in-first-out (LIFO) structure, the stack state 333 after the second token processing holds the tokens "it" and "take-10" from top to bottom.
[0073] Since "ARG0", which is selected third as the processing token, is a token representing an edge, an action (ARC) for creating an edge is selected (step S103). In this case, 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 outputs information about the created edge to the node / edge information 133 (step S108). At this time, as information about the nodes at both ends of the edge, "take-10" is output to the node / edge information 133 as the node with node ID "1", and "it" is output as the node with node ID "2".
[0074] The [EOD] token selected as the fourth processing token is a special token indicating DELETE, so an action (DELETE) to delete one token held in the stack (token holding unit 132) is selected (step S103). In this case, the token processing unit 131 deletes the token "2 / it" that is held first from the top of the stack (step S106). Note that the action to delete data held in the stack is sometimes called "POP" instead of "DELETE."
[0075] Thereafter, the token processing unit 131 repeats the execution of the action according to the type of processing token in the same manner.
[0076] To put it simply, in the fifth and sixth cases, "3 / long-03" and "2 / it", which indicate nodes, are selected as processing tokens, so an action to add a token (ADD) is selected and the processing token is added to the stack (token holding unit 132). Then, in the seventh case, a token representing the edge "ARG1" is selected as the processing token, so a new edge [long-03, it, ARG1] is created using the data held in the stack and output to the node / edge information 133. At this time, since "2 / it" has the same node ID "2" as the previously created node, only "long-03" is added as a new node to the node / edge information 133 as a node with node ID "3".
[0077] Next, for the eighth token, [EOD], a special token indicating DELETE, is selected as the processing token, so "2 / it," which is the first token from the top of the stack, is deleted from the stack. As a result, "long-03" and "take-10" are held from the top in the stack, which is token holding unit 132.
[0078] Next, as the ninth token, a token representing an edge "ARG1" is selected as the processing token, so a new edge [take-10, long-03, ARG1] is created using the data stored in the stack and output to the node / edge information 133. At this time, "take-10" and "long-03" both have the same node ID as the previously created nodes, so they are not added to the node / edge information 133 as new nodes.
[0079] For the final, tenth token, [EOD], a special token indicating DELETE, is selected as the processing token, so "long-03," which is the first token from the top of the stack, is deleted from the stack. As a result, only "take-10" is held in the stack, which is the token holding unit 132.
[0080] In the case of Figure 8, as can be seen from the serialization graph 330, processing for all processing tokens ends with the processing for the 10th [EOD], so the token processing unit 131 determines that the termination condition is met (YES in step S109) and terminates the conversion processing.
[0081] To summarize the results of the conversion process described above, three pairs of edges, [take-10, it, ARG0], [long-03, it, ARG1], and [take-10, long-03, ARG1], are created, and the node-edge information 133 holds, along with the edge information for each pair, "take-10" with node ID "1," "it" with node ID "2," and "long-03" with node ID [3] as node information for both ends of the edges. That is, by the above conversion process, information indicating the three edges present in the convenient semantic expression graph 310 in FIG. 4 can be generated from the serialized graph 330 without excess or deficiency. In other words, by performing the above conversion process, the serialized graph 330 (first serialized graph) generated by the serialized graph generation unit 120 from the input data 210 can be converted into a second serialized graph equivalent to the semantic expression graph 310.
[0082] Furthermore, in the serialized graph conversion unit 130, node and edge information 133 holds node and edge information, so that the graph can be converted into any graph description format. Next, the graph shaping unit 134 uses the information held in the node and edge information 133 to shape the graph in accordance with the specifications of the desired graph description format. In this shaping, the graph may be output in the form of, for example, a mathematical formula, an image, or dots so that the user can visually understand the graph. Then, the graph shaping unit 134 outputs data of the shaped graph to the output unit 140.
[0083] Furthermore, the above description of the serialized graph conversion unit 130 has been directed to converting the serialized graph 220 (first serialized graph) generated by the serialized graph generation unit 120 so that it corresponds to an arbitrary graph description format. However, if the semantic expression analysis system 100 is configured to output the serialized graph 220 itself, the serialized graph conversion unit 130 does not need to perform any special processing.
[0084] Next, the output unit 140 and the output graph 230 will be described.
[0085] The output unit 140 transforms the graph data output from the serialized graph conversion unit 130 as necessary to adapt it to the output interface, and then outputs the transformed data from a predetermined output device, thereby presenting the graph to the user. Possible means for presenting the graph to the user include, for example, displaying the graph using a CUI, visualizing the graph using a GUI, or writing the graph to a file, etc. Specifically, the semantic expression graph 310 shown in FIG. 4 is an output example of a visualized graph display, and when writing the graph to a CUI or a file, it can be output in a form such as the serialized graph 320 shown in FIG. 5 or FIG. 8.
[0086] As described above, the semantic expression analysis system 100 according to this embodiment includes an input unit 110, a serialized graph generation unit 120, a serialized graph conversion unit 130, and an output unit 140, and is therefore capable of analyzing a semantic expression graph from text input data 210.
[0087] Furthermore, in the following, a method for generating a serialized graph converted from an input graph that is equivalent to the input graph when the input data 210 is a graph in the semantic expression analysis system 100 according to this embodiment will be described.
[0088] Fig. 9 is a flowchart showing an example of a processing procedure for generating an equivalent serialized graph from input data of a graph in the first embodiment. The processing shown in Fig. 9 is executed by the input unit 110 when a graph is input as input data 210. Furthermore, when machine learning is used in the serialized graph generation unit 120, generation of a serialized graph by the processing shown in Fig. 9 can also be used to generate a serialized graph to be used as training data for the learning. When generating a serialized graph for learning in machine learning, for example, the input unit 110 may perform the processing, or a separate functional unit for executing the processing of Fig. 9 may be provided.
[0089] According to FIG. 9, first, information about the nodes and edges that make up the graph is input to the input unit 110 (step S201).
[0090] Next, the input unit 110 converts the input graph indicated by the node and edge information input in step S201 into a tree-like structure (step S202). A tree-like structure is a structure in which, for all nodes except the root node in the semantic expression graph, the ancestor nodes (nodes that can be reached by tracing the origin of the arrow in the graph) always include the root node. The difference between a tree-like structure and a general tree structure is that a tree-like structure does not necessarily have one parent node. The conversion to a tree-like structure in step S202 is a process performed to facilitate the subsequent processes in FIG. 9, but is not necessarily a required process.
[0091] As mentioned above, the converted tree-like structure may have multiple root nodes, but by adding a virtual root node that has multiple root nodes as children, it can be equated with a graph that has only one root node, and therefore can be treated as a single root node.
[0092] Furthermore, assuming that the graph to be converted into a tree-like structure in step S202 is an undirected graph with one root node, the direction of the arrows must be appropriately reversed in order to convert a directed graph, which is a connected graph, into a tree-like structure. In this case, the problem of the arrow direction can be resolved by adding the inversion of the arrow direction to the edge label information. Therefore, even if a directed graph is input as input data 210, the input unit 110 can convert it into the above tree-like structure without loss of generality. That is, this conversion can be achieved by decomposing the input graph into subgraphs with a tree-like structure and determining the edges connecting the subgraphs. In this case, the root node of the subgraph is either the true root node of the input graph or the node that is the division point of the subgraph.
[0093] Next, the input unit 110 selects a node that will be the starting point of the conversion in order to convert the tree-structured graph into a serialized graph (step S203). At this time, it is desirable to first select the root node.
[0094] Next, the input unit 110 selects a set of edges that can be reached by tracing the arrow directions of the edges with the node selected in step S203 as an end point (step S204). The set of edges selected in step S204 is preferably an edge set that cannot be extended any further. Note that the "set of edges that cannot be extended" here is not necessarily the longest edge set among the edge sets that can be selected with the selected node as an end point.
[0095] Next, the input unit 110 serializes and outputs the edge set selected in step S204 (step S205). The serialization method in step S205 conforms to the description format of the serialized graph. For example, in the case of the description format of the serialized graph shown in FIG. 5 or FIG. 8, an edge can be described in an appropriate token description format in the order of [source node of the arrow, destination node of the arrow, edge label]. In the example of the description format of the serialized graph shown in FIG. 5 or FIG. 8, if the token represents a node, the node ID and label can be connected with a slash mark, and the edge label can be output as is. However, for graphs in which node IDs are not explicitly assigned, IDs can be freely assigned so that the nodes can be identified.
[0096] Next, the input unit 110 determines whether or not any edges included in the tree-structured graph remain unselected in the processing up to step S205 (whether or not any edges for which edge information has not been output remain) (step S206), and if no unselected edges remain (NO in step S206), the input unit 110 terminates the processing.
[0097] On the other hand, if there are any unselected edges remaining (YES in step S206), 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 serialized graph description format illustrated in Fig. 4 or 8.
[0098] After step S207, the process returns to step S203, where the input unit 110 selects the next starting node and repeats the processes from step S204 onwards. At this time, the starting node can be displayed (output) in a manner that directly outputs (or re-outputs) the starting node, or by tracing back the edges from the node that is the end point of the previous edge set for the number of [EOD] tokens. The latter method corresponds to the description format of the serialized graph in Figure 4 or Figure 8, and corresponds to the operation of removing a token from the stack.
[0099] In this way, by repeating the processing of steps S203 to S207 in FIG. 9 until all edge information is output, the input unit 110 can generate a serialized graph (serialized graph converted from the input graph) equivalent to the input graph (e.g., semantic expression graph 310).
[0100] In the serialization performed in step S205 of FIG. 9, if an attribute value is assigned to a node (for example, the “polarity” value in the “long-03” node in FIG. 4) or an attribute value is assigned to an edge, the input unit 110 can serialize the data including the attribute value by adding a specific notation to the label of each node or edge.
[0101] As described above, the semantic expression analysis system 100 according to the first embodiment can serialize directed or undirected graphs containing label information on nodes and edges, and therefore can analyze various different types of semantic expressions in a general (uniform) and accurate manner to generate serialized graphs.
[0102] Furthermore, the semantic expression analysis system 100 according to this embodiment can use a so-called encoder-decoder neural network to input tokenized text or a serialized graph and generate a serialized graph with high accuracy. Therefore, compared to conventionally known analysis methods using transitions, it is possible to analyze various semantic expressions in a unified manner without having to design actions for each semantic expression graph.
[0103] Furthermore, since the format of the serialized graph generated by the semantic expression analysis system 100 according to this embodiment retains information about the entire graph, it is possible to learn about the structure of the entire graph, for example, in an encoder-decoder neural network, and it becomes possible to analyze the semantic expression graph based on global characteristics, not just the local relationships between nodes.
[0104] Furthermore, the semantic expression analysis system 100 according to this embodiment can convert a semantic expression graph into another semantic expression graph by inputting a serialized graph.
[0105] Furthermore, when comparing two semantic expression graphs, the output in serialized graph format, as in the semantic expression analysis system 100 according to this embodiment, is serialized, so that comparison can be made using numerical values, for example, using a general edit distance. Similarly, graph differences can be calculated as editing operations (insertion, deletion, etc.) on the serialized graph, so that processing can be performed using the differences. For example, by regarding the difference in meaning between two texts as the difference in the serialized graphs, it is possible to determine entailment or antonymy by examining the difference.
[0106] When using the semantic expression analysis system 100 according to this embodiment, the user can appropriately perform calculations 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, the user can actually perform calculations to calculate a solution to the word problem. [Example]
[0107] In the second embodiment, a description will be given of a format of a serialized graph that is different from that in the first embodiment. In the second embodiment, the semantic expression analysis system 100 configured in the same manner as in the first embodiment can be used.
[0108] Fig. 10 is a diagram for explaining a specific example of a procedure for converting a serialized graph in Example 2. The serialized graph 340 shown in Fig. 10 is an example of a serialized graph obtained by serializing the semantic expression graph 310 shown in Fig. 4, but is described in a format different from the serialized graph 320 (Fig. 5) and the serialized graph 330 (Fig. 8) exemplified in Example 1. In Example 2, the serialized graph 340 shown in Fig. 10 is an example of a serialized graph that can be generated by, for example, the input unit 110, and a method for generating the serialized graph will be described later with reference to Fig. 11.
[0109] 10 by the serialized graph conversion unit 130 (mainly the token processing unit 131), it will be shown that even if the serialized graph 340 has a description format different from that of the first embodiment, edge information equivalent to the input semantic expression graph can be constructed in the same way as the serialized graph 330 of the first embodiment. In the conversion of the serialized graph shown in FIG. 10, a stack is used in the token holding unit 132, as in FIG. 8.
[0110] Note that the processing token 341, action 342, and stack state 343 in Fig. 10 are similar to the processing token 331, action 332, and stack state 333 shown in Fig. 8, respectively, and therefore their explanations will be omitted. Also, the explanation of each stage in Fig. 10 is similar in many respects to the explanation in Fig. 8, so it will be explained in a simplified manner.
[0111] According to FIG. 10, first, since the first to third selected processing tokens, "1 / take-10," "2 / it," and "3 / long-03," are tokens that indicate nodes, an action to add a token (ADD) is selected (step S103 in FIG. 7), and the processing token is added to the stack, which is the token holding unit 132 (step S105 in FIG. 7).
[0112] The fourth processing token, "1," indicates the node added in the previous processing with node ID "1." Therefore, the action to select a token (SELECT) is selected (step S103 in FIG. 7), and the token "1 / take-10" corresponding to the processing token is selected and added to the stack again (step S106 in FIG. 7).
[0113] Next, when "ARG0-of," which is the fifth token representing an edge, is selected as the processing token, the token processing unit 131 selects an action (ARC) for creating an edge (step S107 in FIG. 7 ) and creates an edge using the first and second tokens from the top of the stack, which is the token holding unit 132. At this time, according to the conversion method of FIG. 8 described in the first embodiment, the edge to be created would be [it (second), take-10 (first), ARG0 (edge)]. However, since "-of" included in the selected processing token "ARG0-of" indicates that the arrow of the edge is inverted, the token processing unit 131 swaps the nodes constituting both ends of the edge to generate an edge [take-10, it, ARG0]. Then, the token processing unit 131 outputs information about the generated edge to the node / edge information 133 (step S108), and also outputs "take-10" as the node with node ID "1" and "it" as the node with node ID "2" to the node / edge information 133 as information about the nodes at both ends of the edge.
[0114] Furthermore, in the conversion process of the second embodiment, if the processing token is a token representing an edge, the DELETE action is also selected after the ARC (ARC+DELETE). Therefore, the token processing unit 131 generates the edge [take-10, it, ARG0] and outputs the information to the node / edge information 133, and then deletes the token "1 / take-10" held first from the top of the stack.
[0115] Thereafter, the token processing unit 131 similarly repeats the execution of actions according to the type of processing token.
[0116] To put it simply, in the sixth step, "ARG1", a token representing an edge, is selected as the processing token, and therefore the actions of creating an edge and deleting a token (ARC+DELETE) are selected. Therefore, the token processing unit 131 first performs the action of ADD to generate a new edge [long-03, it, ARG1] and outputs the edge information to the node / edge information 133. At this time, the new node "long-03" is also output as a node with node ID "3". Furthermore, the token processing unit 131 performs the action of DELETE to delete the token "2 / it" held first from the top of the stack.
[0117] Next, seventh, "ARG1", which is again a token representing an edge, is selected as the processing token, and therefore the action of creating an edge and deleting a token (ARC+DELETE) is selected. At this time, the token processing unit 131 executes the action of ADD to generate a new edge [take-10, long-03, ARG1] and outputs it to the node / edge information 133. Furthermore, the token processing unit 131 executes the action of DELETE to delete the token "long-03" held first from the top of the stack.
[0118] Then, with the processing of the seventh "ARG1", the processing of all tokens in the serialized graph 340 is completed, and therefore the token processing unit 131 determines that the termination condition is satisfied, and terminates the conversion processing.
[0119] To summarize the results of the conversion process described above, three pairs of edges, [take-10, it, ARG0], [long-03, it, ARG1], and [take-10, long-03, ARG1], are created, and the node-edge information 133 holds, along with the edge information for each pair, "take-10" with node ID "1," "it" with node ID "2," and "long-03" with node ID [3] as node information for both ends of the edges. That is, similar to the conversion from the serialized graph 330 described in the first embodiment, the semantic expression analysis system 100 can generate, from the serialized graph 340 of FIG. 10, information indicating the three edges present in the semantic expression graph 310 of FIG. 4, without excess or deficiency. That is, it is shown that the serialized graph 340 is a serialized graph equivalent to the semantic expression graph 310.
[0120] Fig. 11 is a flowchart showing an example of a processing procedure for generating an equivalent serialized graph from input data of a graph in the second embodiment. With reference to Fig. 11, a method for generating the serialized graph 340 shown in Fig. 10 when the semantic expression analysis system 100 according to the second embodiment receives the semantic expression graph 310 shown in Fig. 4 as input data 210 will be described. The processing shown in Fig. 11 is executed by, for example, the input unit 110. Moreover, since the processing shown in Fig. 11 is substantially similar to the processing shown in Fig. 9, a description of the common processing will be omitted and differences will be mainly described.
[0121] First, in the method for generating a serialized graph shown in Fig. 11, it is not necessary to convert the input graph into a tree-like structure as in step S202 in Fig. 9. Therefore, after information about the nodes and edges that constitute the input graph is input in step S301, in step S302, the input unit 110 only needs to select a node that will be the starting point of conversion in order to convert the input graph into a serialized graph, as in step S203 in Fig. 9.
[0122] In the next step S303, the input unit 110 selects a set of consecutive edges (a path that can be drawn in one stroke) starting from the node selected in step S302, but at this time, the direction of the arrows of the edges does not need to be taken into consideration, as in step S204 of Fig. 9. That is, when the input unit 110 selects a set of edges that can be drawn in one stroke starting from the selected node in step S303, it only needs to add a predetermined identifier that means reversing the arrow, such as "-of", to the label of the edge for edges whose arrow direction needs to be reversed.
[0123] Next, in step S304, the input unit 110 serializes and outputs the edge set selected in step S303. At this time, the input unit 110 generates tokens representing each node in the order of the unicursal path from the starting node (the node selected in step S303), and generates tokens representing the corresponding edges in the same order.
[0124] Then, in step S305, the input unit 110 determines whether or not there are any edges left for which edge information has not been output, and repeats the processes of steps S302 to S304 until information on all edges has been output. Note that, as shown in Fig. 10, in the description format of the serialized graph 340 in the second embodiment, a block of consecutive edge information can be determined to be a new block of consecutive edge information when a token indicating a node appears after a token indicating an edge, so there is no need to perform the process of inserting a special token or the like as in step S207 in Fig. 9 before returning to step S302 to select a new node in order to output new edge information.
[0125] In this way, by repeating the process of FIG. 11 until all edge information is output, the input unit 110 can generate a serialized graph 340 equivalent to the input graph (e.g., the semantic expression graph 310) in a description format different from the serialized graph 330 described in the first embodiment.
[0126] According to the semantic expression analysis system 100 of the second embodiment described above, similarly to the first embodiment, it is possible to serialize directed or undirected graphs containing label information on nodes and edges, and therefore it is possible to analyze various different types of semantic expressions in a general (uniform) and accurate manner and turn them into serialized graphs.
[0127] Furthermore, when comparing Example 2 with Example 1, the description format of the serialized graph 340 that can be generated in Example 2 can be described with fewer tokens than the format of the serialized graph 330 that can be generated in Example 1. The ability to generate a serialized graph in a description format with such characteristics can be advantageous in some cases when generating a serialized graph in a neural network of an encoder / decoder.
[0128] However, the format of the serialized graph in Example 1 is written in accordance with the structure of many semantic expression graphs, taking into account that they have a structure similar to a tree structure (tree-like structure). Depending on the semantic or formal constraints on the shape of the semantic expression graph, the format of the serialized graph 330 that can be generated in Example 1 may be more advantageous.
[0129] In any case, by using the semantic expression analysis system 100 according to the present invention, the user can select the serialization graph format in Example 1, the serialization graph format in Example 2, or a different serialization graph format. Specifically, it becomes possible to select a description format that is more accurate for the neural network of the encoder / decoder.
[0130] In addition, in the first and second embodiments, the serialized graph formats generated by the semantic expression analysis system 100 are based on edge information and are therefore mutually convertible. Therefore, when the serialized graph generation unit 120 generates a serialized graph, even if the neural network of the encoder / decoder outputs the serialized graph in a specific description format, the serialized graph conversion unit 130 can convert the serialized graph into a desired format as needed.
[0131] The above-described embodiments have been described in detail to clearly explain the present invention, and are not necessarily limited to those including all of the described elements and configurations. Therefore, the present invention is not limited to the above-described embodiments and may include various modifications within a reasonable scope. For example, as long as there is no contradiction, some of the elements or configurations of one embodiment may be replaced with those of another embodiment, or elements or configurations of another embodiment may be added to elements or configurations of one embodiment. Furthermore, some of the elements or configurations of each embodiment may be added, deleted, replaced, integrated, or distributed. Furthermore, the elements, configurations, and processes described in the embodiments may be distributed, integrated, or replaced as appropriate based on processing efficiency or implementation efficiency.
[0132] Furthermore, the above-described configurations, functions, processing units, processing means, etc. may be partially or entirely implemented in hardware, for example, by designing them as integrated circuits. The above-described configurations, functions, etc. may also be implemented in software, with a processor interpreting and executing a program that implements each function. Information such as the programs, tables, and files that implement each function can be stored in a memory, a recording device such as a hard disk or SSD (Solid State Drive), or a recording medium such as an IC card, SD card, or DVD.
[0133] In addition, the control lines and information lines in the drawings are those that are considered necessary for explanation, and do not necessarily show all of the control lines and information lines in the product. In reality, it can be assumed that almost all components are interconnected. [Explanation of symbols]
[0134] 10 Computer equipment 11 processors 12 Storage Devices 13 Input Devices 14 Output Devices 15 Communication Interface 16 Bus 100 Semantic Expression Analysis System 110 Input section 120 Serialized Graph Generation Unit 121 Tokenization section 122 Sequence generator 123 Identity determination section 130 Serialized Graph Transformation Unit 131 Token Processing Unit 132 Token holder 133 Node and Edge Information 134 Graph Formatting 140 Output section 210 Input Data 220 Serialized Graph 230 Output Graph 310 Semantic Representation Graph 320,330,340 Serialized Graph
Claims
1. A semantic expression analysis system for analyzing semantic expressions of input data, comprising: an input unit that accepts the input data in the form of text or a graph; a serialized graph generator that generates a token string representing a graph structure corresponding to the input data; The token sequence includes at least a first token indicating a node in a graph structure corresponding to the input data, and a second token indicating an edge representing a relationship between the nodes. A semantic expression analysis system characterized by:
2. The token sequence generated by the serialized graph generator equivalently describes the semantic expression of the input data.
2. The semantic expression analysis system according to claim 1.
3. The serialized graph generation unit has an identity determination unit that determines the identity of nodes on a graph for the first tokens included in the token sequence representing the graph structure and assigns information indicating the identity to the corresponding plurality of first tokens.
2. The semantic expression analysis system according to claim 1.
4. When the input data is text, the input unit converts the text in the input data into a predetermined character code that enables the serialized graph generation unit to generate the token sequence, and inputs the converted input data to the serialized graph generation unit.
2. The semantic expression analysis system according to claim 1.
5. When the input data is a graph, the input unit converts the input data into a token sequence equivalent to the graph and described in the same description format as the token sequence generated by the serialized graph generation unit, and inputs the converted input data to the serialized graph generation unit.
2. The semantic expression analysis system according to claim 1.
6. a serialized graph conversion unit that converts a first token sequence representing a graph structure corresponding to the input data, generated by the serialized graph generation unit, into a second token sequence by performing a conversion process for constructing information on the edges in the graph structure; In the conversion process, the serialized graph conversion unit executes an action for each token constituting the first token sequence according to the type of the token.
2. The semantic expression analysis system according to claim 1.
7. The serialized graph conversion unit converts the description format between the first token string and the second token string while maintaining equivalent description of the semantic expression of the input data in the conversion process.
7. The semantic expression analysis system according to claim 6.
8. The first token sequence and the second token sequence are described in either a first description format that describes the tokens in accordance with a graph structure corresponding to the input data, or a second description format that describes the token sequence so as to limit the number of tokens that constitute the token sequence.
7. The semantic expression analysis system according to claim 6.
9. A semantic expression analysis method by a semantic expression analysis system that analyzes semantic expressions of input data, comprising: an input step of accepting the input data in the form of text or a graph; a serialized graph generation step of generating, based on the input data received in the input step, a token sequence representing a graph structure corresponding to the input data; The token sequence includes at least a first token indicating a node in a graph structure corresponding to the input data, and a second token indicating an edge representing a relationship between the nodes. A semantic expression analysis method characterized by:
Citation Information
Patent Citations
Idea support device and idea support method
JP2018147238A
Data processing device, data processing method, and data processing program
WO2007015505A1