Document search system
The document search system addresses the limitation of word-based methods by constructing graph structures from documents, enhancing search accuracy through conceptual similarity analysis.
Patent Information
- Application Number
- JP2024206465
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-10-25
- Filing Date
- 2024-11-27
- Publication Date
- 2025-02-06
- Estimated Expiration
- Not applicable · inactive patent
Smart Images

Figure 2025019289000001_ABST
Abstract
Description
[Technical field]
[0001] 1. Field of the Invention One aspect of the present invention relates to a document retrieval system and a method for retrieving a document. [Background technology]
[0002] There are various search techniques for searching documents. In conventional document searches, word (character string) searches are mainly used. For example, page rank is used for web pages, and thesaurus is used in the patent field. There is also a method of expressing the similarity of documents by taking a set of words and using Jaccard coefficient, Dice coefficient, Simpson coefficient, etc. There is also a method of vectorizing documents using tf-idf, Bag of Words (BoW), Doc2Vec, etc., and comparing cosine similarity. There is also a method of evaluating the similarity of character strings in sentences and searching for a desired document using Hamming distance, Levenshtein distance, Jaro-Winkler distance, etc. Patent Document 1 discloses a language processing device that converts the constituent units that make up a sentence into a string structure and calculates the distance between the string structures to compare whether the sentences are similar. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2005-258624 A Summary of the Invention [Problem to be solved by the invention]
[0004] To search documents in various fields, a more accurate document search method is required. For example, documents such as patent documents (specifications, claims, etc.) and contracts often contain many similar words. Therefore, it is important to have a search technique that considers not only the words used in a document, but also the concept of the document.
[0005] In view of the above, an object of one embodiment of the present invention is to provide a document search system that takes into account the concept of a document. Another object of one embodiment of the present invention is to provide a document search method that takes into account the concept of a document.
[0006] Note that the description of these problems does not preclude the existence of other problems. Note that one embodiment of the present invention does not necessarily solve all of these problems. Note that problems other than these will become apparent from the description of the specification, drawings, claims, etc., and it is possible to extract problems other than these from the description of the specification, drawings, claims, etc. [Means for solving the problem]
[0007] One aspect of the present invention is a document search system having an input unit, a first processing unit, a storage unit, a second processing unit, and an output unit. The input unit has a function of inputting a first document, the first processing unit has a function of creating a first graph structure from the first document, the storage unit has a function of storing a second graph structure, the second processing unit has a function of calculating a similarity between the first graph structure and the second graph structure, the output unit has a function of supplying information, the first processing unit has a function of dividing the first document into multiple tokens, the nodes and edges of the first graph structure have labels, and the labels are composed of multiple tokens.
[0008] In the above document retrieval system, it is preferable that the first processing unit has a function of assigning a part of speech to the token.
[0009] In the document search system, it is preferable that the first processing unit has a function of performing dependency analysis, and that the first processing unit has a function of linking parts of the tokens according to a result of the dependency analysis.
[0010] In the document retrieval system, it is preferable that the first processing unit has a function of replacing a token in which a target word or a hypernym exists with the target word or the hypernym.
[0011] In the above document search system, it is preferable that the second graph structure is created from the second document by the first processing unit.
[0012] In addition, in the above document search system, when the label of an edge in the graph structure has an antonym, it is preferable that the first processing unit has a function of generating a new graph structure by reversing the direction of the edge of the graph structure and replacing the edge label with the antonym.
[0013] In addition, in the above document search system, it is preferable that the second processing unit has a function of vectorizing the first graph structure and the second graph structure, and evaluating the similarity of vectors between the vectorized first graph structure and the vectorized second graph structure.
[0014] In the above document search system, it is preferable that the second processing unit has a function of vectorizing the first graph structure and the second graph structure by a Weisfeiler-Lehman kernel.
[0015] In addition, in the above document search system, when the part of speech assigned to the first token is a noun and the part of speech assigned to the second token located immediately before the first token is an adjective, it is preferable that the first processing unit has a function of concatenating the second token and the first token.
[0016] In addition, in the above document search system, when the part of speech assigned to the third token and the part of speech assigned to the fourth token located immediately after the third token are both nouns, it is preferable that the first processing unit has a function of concatenating the third token and the fourth token. Effect of the Invention
[0017] According to one aspect of the present invention, it is possible to provide a document retrieval system that takes into account the concept of a document. Also, according to one aspect of the present invention, it is possible to provide a method for retrieving a document that takes into account the concept of a document.
[0018] By analyzing each sentence of a document to obtain a conceptual graph structure and calculating the similarity of the graph structures, it is possible to search for conceptually similar documents. In addition, by combining this with conventional search methods, the accuracy of ranking can be improved.
[0019] The effects of one embodiment of the present invention are not limited to the effects listed above. The effects listed above do not preclude the existence of other effects. The other effects are effects not mentioned in this section, which will be described below. Effects not mentioned in this section can be derived by a person skilled in the art from descriptions in the specification, drawings, etc., and can be appropriately extracted from these descriptions. One embodiment of the present invention has at least one of the effects listed above and / or other effects. Therefore, one embodiment of the present invention may not have the effects listed above in some cases. [Brief description of the drawings]
[0020] [Figure 1] FIG. 1 is a diagram illustrating an example of a document search system. [Diagram 2] FIG. 2 is a flow chart illustrating an example method for searching documents. [Diagram 3] 3A to 3C are diagrams showing the results obtained at each step. [Figure 4] 4A to 4C are diagrams showing the results obtained at each step. [Diagram 5] 5A to 5D are diagrams showing the results obtained at each step. [Figure 6] 6A to 6C are diagrams showing the results obtained at each step. [Figure 7] FIG. 7 is a diagram illustrating an example of hardware of a document search system. [Figure 8]FIG. 8 is a diagram illustrating an example of hardware of the document search system. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0021] The embodiments will be described in detail with reference to the drawings. However, the present invention is not limited to the following description, and it will be easily understood by those skilled in the art that the modes and details of the present invention can be modified in various ways without departing from the spirit and scope of the present invention. Therefore, the present invention should not be interpreted as being limited to the description of the embodiments shown below.
[0022] In the configuration of the invention described below, the same parts or parts having similar functions are denoted by the same reference numerals in different drawings, and the repeated explanations are omitted. In addition, when referring to similar functions, the same hatch pattern may be used and no particular reference numeral may be used.
[0023] In addition, for ease of understanding, the position, size, range, etc. of each component shown in the drawings may not represent the actual position, size, range, etc. Therefore, the disclosed invention is not necessarily limited to the position, size, range, etc. disclosed in the drawings.
[0024] It should also be noted that the ordinal numbers "first," "second," and "third" used in this specification are used to avoid confusion of components and are not intended to limit the numbers.
[0025] (Embodiment 1) In this embodiment, a document searching system and a document searching method according to one embodiment of the present invention will be described with reference to FIGS. 1 to 4C. FIG.
[0026] <Document search system> Fig. 1 is a diagram showing the configuration of a document retrieval system 100. In other words, Fig. 1 can also be said to be an example of the configuration of a document retrieval system that is one aspect of the present invention.
[0027] The document search system 100 may be provided in an information processing device such as a personal computer used by a user, or a processing unit of the document search system 100 may be provided in a server, and the document search system 100 may be accessed and used from a client PC via a network.
[0028] 1, the document search system 100 includes an input unit 101, a graph structure creation unit 102, a similarity calculation unit 103, an output unit 104, and a storage unit 105. The processing units include the graph structure creation unit 102 and the similarity calculation unit 103.
[0029] The input unit 101 inputs a document 20. The document 20 is a document specified by a user for search. The document 20 is text data, audio data, or image data. The input unit 101 may be an input device such as a keyboard, a mouse, a touch sensor, a microphone, a scanner, or a camera.
[0030] The document search system 100 may have a function of converting voice data into text data. For example, the graph structure creation unit 102 may have this function. Alternatively, the document search system 100 may further have a voice-to-text conversion unit having this function.
[0031] The document search system 100 may have an optical character recognition (OCR) function. This makes it possible to recognize characters contained in image data and create text data. For example, the graph structure creation unit 102 may have this function. Alternatively, the document search system 100 may further have a character recognition unit having this function.
[0032] The storage unit 105 stores documents 10_1 to 10_n (n is an integer equal to or greater than 2). Documents 10_1 to 10_n are documents to be compared with document 20. Hereinafter, documents 10_1 to 10_n may be collectively referred to as multiple documents 10. The multiple documents 10 are stored in the storage unit 105 via the input unit 101, a storage medium, communication, etc.
[0033] The documents 10 stored in the storage unit 105 are preferably text data. For example, by converting voice data or image data into text data, the data size can be reduced, and the load on the storage unit 105 can be reduced.
[0034] Moreover, the storage unit 105 stores graph structures 11_1 to 11_n. The graph structures 11_1 to 11_n are graph structures for the documents 10_1 to 10_n, respectively. The graph structures 11_1 to 11_n are created by the graph structure creation unit 102 from the documents 10_1 to 10_n, respectively. Hereinafter, the graph structures 11_1 to 11_n may be collectively referred to as a plurality of graph structures 11.
[0035] It is preferable that the same ID is assigned to the document 10_i (where i is an integer between 1 and n) and the graph structure 11_i. This allows the document 10_i to be associated with the graph structure 11_i. By creating the graph structures 11_1 to 11_n in advance, the time required to search for documents can be reduced.
[0036] The storage unit 105 may store a document 20. Also, a graph structure 21 for the document 20 may be stored. The graph structure 21 is created from the document 20 by the graph structure creation unit 102.
[0037] The graph structure creation unit 102 has a function of creating a graph structure from a document. Therefore, it is preferable that the graph structure creation unit 102 has a function of performing morphological analysis, a function of performing dependency analysis, a function of abstraction, and a function of creating a graph structure. The graph structure creation unit 102 also has a function of referring to a concept dictionary 112. The graph structure creation unit 102 creates a graph structure for a document by referring to the concept dictionary 112. The document in question is document 20 and multiple documents 10.
[0038] The graph structure is preferably a directed graph. A directed graph is a graph composed of nodes and edges having directions. More preferably, the graph structure is a directed graph in which labels are assigned to the nodes and edges. By using a graph structure of a directed graph in which labels are assigned, it is possible to improve the similarity and the accuracy of the search.
[0039] 1 shows a configuration in which the concept dictionary 112 is provided in a device different from the document search system 100, but the present invention is not limited to this. The concept dictionary 112 may be provided in the document search system 100.
[0040] Furthermore, the function of performing morphological analysis and the function of performing dependency analysis may be provided in a device different from the document retrieval system 100. In this case, the document retrieval system 100 may transmit the document to the device, receive data on the results of the morphological analysis and dependency analysis performed in the device, and transmit the received data to the graph structure creation unit 102.
[0041] The similarity calculation unit 103 has a function of calculating the similarity between a first graph structure and a second graph structure. The first graph structure is graph structure 21. The second graph structure is one or more of the multiple graph structures 11. That is, the similarity between a first document and a second document is evaluated in the similarity calculation unit 103. The first document is document 20. The second document is one or more of the multiple documents 10.
[0042] The output unit 104 has a function of supplying information. The information is information related to the result of the similarity calculated by the similarity calculation unit 103. For example, the information is the document having the highest similarity to the document 20 among the multiple documents 10. Or, the information is the result of sorting pairs of the document 10_i and the similarities between the document 20 and the document 10_i in descending order of similarity. In this case, the number of pairs is 2 or more and n or less.
[0043] The above information is supplied as, for example, visual information such as character strings, numerical values, graphs, etc., audio information, etc. The output unit 104 includes output devices such as a display and a speaker.
[0044] The document retrieval system 100 may have a function of converting text data into voice data. For example, the document retrieval system 100 may further have a text-to-voice conversion unit having this function.
[0045] The above is a description of the configuration of the document search system 100. By using the document search system according to one aspect of the present invention, it is possible to search for documents conceptually similar to the document 20 from among a plurality of documents 10. It is also possible to search for a list of documents conceptually similar to the document 20 from among the plurality of documents 10.
[0046] According to one aspect of the present invention, it is possible to provide a document search system that takes into account the concept of a document.
[0047] <How to search for documents> Fig. 2 is a flowchart illustrating the flow of processing executed by the document search system 100. In other words, Fig. 2 can also be said to be a flowchart showing an example of a method for searching for documents, which is one aspect of the present invention.
[0048] In a method for searching documents according to one embodiment of the present invention, documents are analyzed and converted into graph structures, and then documents are searched for by comparing the similarity of the graph structures using a Weisfeiler-Lehman (WL) kernel or the like.
[0049] Step S001 is a process of acquiring a plurality of documents 10. The plurality of documents 10 are documents stored in the storage unit 105. The plurality of documents 10 are stored in the storage unit 105 via the input unit 101, a storage medium, communication, or the like.
[0050] When the multiple documents 10 are claims, before proceeding to step S002, document cleaning may be performed on each of the multiple documents 10. Document cleaning may include, for example, deleting semicolons, replacing colons with commas, etc. By performing document cleaning, the accuracy of morphological analysis can be improved.
[0051] The document cleaning may be performed as necessary even if the documents 10 are not within the scope of claims. The documents 10 may be stored in the storage unit 105 after the document cleaning is performed.
[0052] Step S002 is a process in which the graph structure creation unit 102 performs morphological analysis on each of the multiple documents 10. As a result, each of the multiple documents 10 is divided into morphemes. In this specification, the divided morphemes may be called tokens.
[0053] In step S002, it is preferable to determine the part of speech of each of the divided morphemes (tokens) and associate a part of speech label with the morphemes (tokens). By associating a part of speech label with a morpheme (token), the accuracy of dependency analysis can be improved. In this specification and the like, associating a morpheme (token) with a part of speech label can be rephrased as assigning a part of speech to the morpheme (token).
[0054] If the graph structure creation unit 102 does not have a function for performing morphological analysis, a morphological analysis program (also called a morphological analyzer) built into a device different from the document search system may be used to perform morphological analysis on each of the multiple documents 10. In this case, step S002 is a process of transmitting the multiple documents 10 to the device, performing morphological analysis in the device, and receiving data resulting from the morphological analysis.
[0055] Step S003 is a step of performing dependency analysis in the graph structure creation unit 102. That is, this is a step of combining parts of multiple tokens according to the dependencies of each divided morpheme (token). For example, when tokens satisfy a specific condition, the tokens that satisfy the condition are combined to generate a new token.
[0056] Specifically, when Japanese is used in a document, if the j-th token (j is an integer equal to or greater than 2) is a noun and the token immediately preceding the j-th token (called the (j-1)th token) is an adjective, the (j-1)th token and the j-th token are combined to generate a new token. Also, if the j-th token is a noun and the token immediately following the j-th token (called the (j+1)th token) is a noun, the j-th token and the (j+1)th token are combined to generate a new token.
[0057] The above conditions may be set appropriately according to the language used in the document.
[0058] The dependency analysis preferably includes compound word analysis. By performing the dependency analysis, parts of multiple tokens can be combined to generate a compound word as a new token. This makes it possible to divide a document into tokens with high accuracy even if the document contains a compound word that is not registered in the concept dictionary 112.
[0059] If the graph structure creation unit 102 does not have a function for performing dependency analysis, dependency analysis may be performed using a dependency analysis program (also called a dependency analyzer) built into a device different from the document search system. In this case, step S003 is a process of transmitting the divided morphemes (tokens) to the device, performing dependency analysis in the device, and receiving data of the result of the dependency analysis.
[0060] Step S004 is a process of abstracting the token in the graph structure creation unit 102. For example, the words included in the token are analyzed to obtain a representative word. If the representative word has a superordinate word, the superordinate word is obtained. The token is then replaced with the representative word or superordinate word obtained. Here, the representative word is the headword (also called a lemma) of a group of synonyms. The superordinate word is a representative word that corresponds to a superordinate concept of the representative word. In other words, abstracting a token refers to replacing the token with a representative word or superordinate word. If the token is a representative word or superordinate word, the token does not need to be replaced.
[0061] The upper limit of the hierarchy of the replaced hypernym is preferably 1 or more and 2 or less, and more preferably 1. The upper limit of the hierarchy of the replaced hypernym may be specified. This makes it possible to prevent tokens from being overly generalized.
[0062] The appropriate degree of abstraction of a token varies depending on the field. Therefore, it is preferable to abstract the token by machine learning according to the field. The abstraction of the token is performed, for example, by vectorizing the token with the morpheme contained in the token and classifying it by a classifier. Note that an algorithm such as a decision tree, a support vector machine, a random forest, or a multilayer perceptron may be used as the classifier. Specifically, it is preferable to classify "oxide semiconductor", "amorphous semiconductor", "silicon semiconductor", and "GaAs semiconductor" as "semiconductors". In addition, it is preferable to classify "oxide semiconductor layer", "oxide semiconductor film", "amorphous semiconductor layer", "amorphous semiconductor film", "silicon semiconductor layer", "silicon semiconductor film", "GaAs semiconductor layer", and "GaAs semiconductor film" as "semiconductors".
[0063] A classifier may also be used to classify whether or not a morpheme contained in a token should be extracted. For example, when abstracting a token "oxide semiconductor layer", the token is decomposed again into morphemes, and the decomposed morphemes "oxidation", "substance", "semiconductor", and "layer" are input to the classifier. If the token is classified as "semiconductor" as a result of input to the classifier, the token is replaced with "semiconductor". In this way, the token can be abstracted.
[0064] In addition to the above machine learning algorithms, conditional random fields (CRFs) may be used, or CRFs may be combined with the above methods.
[0065] By abstracting tokens, documents can be understood conceptually, making it possible to perform searches based on conceptual factors of documents without being affected by the structure or expression of the document.
[0066] The representative word and the hypernym may be obtained by using a concept dictionary, or classification by machine learning may be performed. As the concept dictionary, the concept dictionary 112 provided in a device different from the document search system 100 may be used, or the concept dictionary provided in the document search system 100 may be used.
[0067] Step S005 is a step in which the graph structure creation unit 102 creates multiple graph structures 11. That is, this is a step in which a graph structure is created with the tokens prepared up to step S004 as nodes or edges. Specifically, when a document contains a first token and a second token that are noun phrases, and a third token that represents the relationship between the first token and the second token, a graph structure is created in which the first token and the second token are respectively set as a node and a label of the node, and the third token is set as an edge and a label of the edge. That is, the node labels and edge labels are composed of the tokens prepared up to step S004.
[0068] For example, if the document is a patent claim, the nodes of the graph structure are components and the edges of the graph structure are relationships between the components. If the document is a contract document, the nodes of the graph structure are Party A and Party B and the edges of the graph structure are detailed conditions.
[0069] The graph structure may be created based on rules from dependency relationships between tokens. Also, machine learning may be performed using CRF to assign labels to nodes and edges based on a list of tokens. This makes it possible to assign labels to nodes and edges based on a list of tokens. Also, a Seq2Seq model may be trained using a recurrent neural network (RNN), long short-term memory (LSTM), or the like, which inputs a list of tokens and outputs the directions of nodes and edges. This makes it possible to output the directions of nodes and edges from a list of tokens.
[0070] The graph structure creation unit 102 may have a function of inverting the direction of an edge and replacing the label of the edge with an antonym of the label of the edge. For example, when a graph structure has a first edge and a second edge to which a label that is an antonym of the label of the first edge is assigned, a new graph structure may be created by performing a process of inverting the direction of the second edge and replacing the label of the second edge with an antonym of the label of the second edge (i.e., the label of the first edge). This makes it possible to cover conceptually identical structures. Therefore, it is possible to perform a search based on the conceptual factors of the document without being affected by the structure or expression of the document.
[0071] The above process should be performed on the edge that appears less frequently in the document. In other words, if the frequency of the second edge is lower than or equal to the frequency of the first edge, the direction of the second edge should be reversed and the label of the second edge should be replaced with the antonym of the label of the second edge (i.e., the label of the first edge). This can reduce the frequency of creating new graph structures.
[0072] The order of steps S004 and S005 may be reversed. When the order of steps S004 and S005 is reversed, a graph structure is created, and then the nodes and edges included in the graph structure are abstracted. Therefore, even if the order of steps S004 and S005 is reversed, an abstracted graph structure can be created from a document.
[0073] By steps S001 to S005, a plurality of graph structures 11 can be created from a plurality of documents 10. It is preferable that steps S001 to S005 are performed before calculating the similarity. By creating a plurality of graph structures 11 in advance, the time required to search for documents can be shortened.
[0074] Step S011 is a process of acquiring document 20. Document 20 is a document input by input unit 101. If document 20 is voice data or image data, other than text data, document 20 is converted to text data before proceeding to step S012. The conversion to text data may be performed using a voice data to text data conversion function of graph structure creation unit 102, or a voice-to-text conversion unit, or an optical character recognition (OCR) function or a character recognition unit of graph structure creation unit 102.
[0075] If the document 20 is a claim, the above-mentioned document cleaning may be performed on the document 20 before proceeding to step S012. By performing document cleaning, the accuracy of the morphological analysis can be improved. Note that the document cleaning may be performed appropriately as necessary even if the document 20 is other than a claim.
[0076] Step S012 is a process in which the graph structure creation unit 102 performs a morphological analysis on the document 20. Note that since step S012 is the same process as step S002, the explanation of step S002 can be referred to.
[0077] Step S013 is a step of performing dependency analysis in graph structure creation unit 102. Note that step S013 is the same step as step S003, and therefore the explanation of step S003 can be referred to.
[0078] Step S014 is a process of abstracting the tokens in the graph structure creation unit 102. Note that since step S014 is the same process as step S004, the explanation of step S004 can be referred to.
[0079] Step S015 is a process in which the graph structure creation unit 102 creates the graph structure 21. Note that step S015 is the same process as step S005, and therefore the explanation of step S005 can be referred to.
[0080] Step S016 is a process in which the similarity calculation unit 103 evaluates the similarity between the document 20 and each of the multiple documents 10. Specifically, the graph structure 21 and the multiple graph structures 11 are vectorized by the WL kernel, and the similarity of the vectors between the vectorized graph structure 21 and each of the multiple vectorized graph structures 11 is evaluated.
[0081] Step S017 is a step of outputting information in the output unit 104. The information is information related to the result of the similarity calculated in the similarity calculation unit 103.
[0082] The above is an explanation of the method for searching documents. By using the method for searching documents according to one aspect of the present invention, it is possible to search for documents that are conceptually similar to a document specified for searching. Furthermore, it is possible to search for documents that are conceptually similar to a document specified for searching in a ranked state. Furthermore, it is possible to perform a search based on conceptual factors of documents without being affected by the structure or expression of the documents.
[0083] According to one aspect of the present invention, a method for searching for documents that takes into account document concepts can be provided.
[0084] <<Example of creating a graph structure from a document>> Among the above-mentioned methods for searching documents, an example of creating a graph structure from a document will be described with reference to FIGS. 3A to 6C.
[0085] First, we will explain an example of a document written in Japanese, which says, "The oxide semiconductor layer is above the insulator layer (SANKABUTSUHANDOUTAISOU HA ZETSUENTAISOU NO JOUHOU NI ARU)" (see Fig. 3A). The rounded rectangles in Fig. 3B, Fig. 3C, and Fig. 4A are tokens, and the part of speech assigned to the token is written below the rounded rectangle.
[0086] First, the document is divided into tokens by performing morphological analysis, and a part of speech is assigned to each token (steps S002 and S012 shown in FIG. 2). As a result, the result shown in FIG. 3B is obtained. Specifically, the document is divided into tokens such as ""SANKA" (noun)|"BUTSU" (noun)|"HANDOUTAI" (noun)|"SOU" (noun)|"HA" (particle)|"ZETSUEN" (noun)|"TAI" (noun)|"SOU" (noun)|"NO" (particle)|"JOUHOU" (noun)|"NI" (particle)|"ARU" (verb)" and a part of speech is assigned to each token.
[0087] Next, dependency analysis is performed (steps S003 and S013 shown in FIG. 2). As a result, the result shown in FIG. 3C is obtained. Specifically, “Oxidation” and “Material”, “Material” and “Semiconductor”, and “Semiconductor” and “Layer” satisfy the condition explained in step S003. Therefore, the four tokens (“Oxidation”, “Material”, “Semiconductor”, and “Layer”) can be combined and replaced with one token (“Oxide Semiconductor Layer”). In addition, “Insulation” and “Material”, and “Material” and “Layer” satisfy the condition explained in step S003. Therefore, the three tokens ("insulation (ZETSUEN)", "body (TAI)", and "layer (SOU)") can be combined and replaced with one token ("insulator layer (ZETSUENTAISOU)"). This makes the above document read as ""Oxide semiconductor layer (SANKABUTSUHANDOUTAISOU)" (noun) | "HA" (particle) | "Insulator layer (ZETSUENTAISOU)" (noun) | "NO" (particle) | "JOUHOU" (noun) | "NI" (particle) | "ARU" (verb)."
[0088] Next, the tokens are abstracted (steps S004 and S014 shown in FIG. 2). As a result, the result shown in FIG. 4A is obtained. Specifically, "oxide semiconductor layer" is replaced with the hypernym "semiconductor". Also, "insulator layer" is replaced with the hypernym "insulator". Also, "above" is replaced with the representative word "on". As a result, the above document is abstracted as ""semiconductor" (noun) | "is" (particle) | "insulator" (noun) | "of" (particle) | "on" (noun) | "on" (particle) | "are" (verb)".
[0089] Next, a graph structure is created (steps S005 and S015 shown in FIG. 2). As a result, the result shown in FIG. 4B is obtained. Specifically, "Semiconductor (HANDOUTAI)" and "Insulator (ZETSUENTAI)" become nodes of the graph structure and labels of the nodes, and "Upper (UE)" becomes an edge of the graph structure and a label of the edge.
[0090] Here, the antonym of "upper (UE)" is "lower (SHITA)". Therefore, by inverting the arrows in the graph structure shown in Fig. 4B and replacing the edges and the labels of the edges, "upper (UE)", in the graph structure shown in Fig. 4B with "lower (SHITA)", a new graph structure shown in Fig. 4C may be generated. This makes it possible to cover the same conceptual structures.
[0091] The arrows shown in FIG. 4B and FIG. 4C are illustrated as going from a node that appears earlier in the document (in the above document, “Semiconductor (HANDOUTAI)”) to a node that appears later (in the above document, “Insulator (ZETSUENTAI)”). That is, the start point of the arrow is the node that appears earlier, and the end point of the arrow is the node that appears later. Note that this is not limited to this in the present embodiment. For example, the direction of the arrow may be determined based on a semantic relationship between words, such as a positional relationship. Specifically, the start point of the arrow may be a node labeled “Insulator (ZETSUENTAI)”, the end point of the arrow may be a node labeled “Semiconductor (HANDOUTAI)”, and a graph structure may be created in which the edge between these nodes and the label of the edge are “Upper (UE)”. This allows the graph structure to be intuitively understood. However, the method of determining the direction of the arrow needs to be unified in the method of searching for documents.
[0092] From the above, an abstract graph structure can be created from the above document.
[0093] Next, a document using English, "A semiconductor device comprising: an oxide semiconductor layer over an insulator layer." (see FIG. 5A) will be described as an example. The rounded rectangles shown in FIG. 5C, FIG. 5D, and FIG. 6A are tokens. Although an example in which a part of speech is not assigned to the token is shown here, a part of speech may be assigned to the token.
[0094] First, we perform document cleaning on the above document. In this example, we remove the semicolons. As a result, we get the result shown in Figure 5B.
[0095] Next, the document is divided into tokens by performing morphological analysis on the document (steps S002 and S012 shown in FIG. 2). As a result, the result shown in FIG. 5C is obtained. Specifically, the document becomes "'A'|'semiconductor'|'device'|'comprising'|'an'|'oxide'|'semiconductor'|'layer'|'over'|'an'|'insulator'|'layer'".
[0096] Next, dependency analysis is performed (steps S003 and S013 shown in FIG. 2). As a result, the result shown in FIG. 5D is obtained. Specifically, three tokens ("A", "semiconductor", and "device") can be combined and replaced with one token ("A semiconductor device"). Four tokens ("an", "oxide", "semiconductor", and "layer") can be combined and replaced with one token ("an oxide semiconductor layer"). Three tokens ("an", "insulator", and "layer") can be combined and replaced with one token ("an insulator layer"). As a result, the above document becomes ""A semiconductor device"|"comprising"|"an oxide semiconductor layer"|"over"|"an insulator layer"".
[0097] Next, tokens are abstracted (steps S004 and S014 shown in FIG. 2). As a result, the result shown in FIG. 6A is obtained. Specifically, "A semiconductor device" is replaced with the hypernym "device". Furthermore, "an oxide semiconductor layer" is replaced with the hypernym "a semiconductor". Furthermore, "an insulator layer" is replaced with the hypernym "an insulator". As a result, the above document is abstracted as ""device"|"comprising"|"a semiconductor"|"over"|"an insulator".
[0098] Next, a graph structure is created (steps S005 and S015 shown in FIG. 2). As a result, the result shown in FIG. 6B is obtained. Specifically, "device", "semiconductor", and "insulator" become nodes of the graph structure and labels of the nodes, respectively, and "comprising" and "over" become edges of the graph structure and labels of the edges, respectively.
[0099] Here, the antonym of "over" is "under." Therefore, by inverting the arrows in the graph structure shown in Fig. 6B and replacing the edges and the labels of the edges, "over," in the graph structure shown in Fig. 6B with "under," a new graph structure shown in Fig. 6C may be generated. This makes it possible to cover the same conceptual structures.
[0100] The arrows shown in FIG. 6B and FIG. 6C are illustrated as going from a node that appears earlier in the document (in the above document, "semiconductor") to a node that appears later (in the above document, "insulator"). That is, the start point of the arrow is the node that appears earlier, and the end point of the arrow is the node that appears later. Note that this embodiment is not limited to this. For example, the direction of the arrow may be determined based on a semantic relationship between words, such as a positional relationship. Specifically, a graph structure may be created in which the start point of the arrow is a node labeled "insulator", the end point of the arrow is a node labeled "semiconductor", and the edges between these nodes and the label of the edge are "over". This allows the graph structure to be intuitively understood. However, the method of determining the direction of the arrow needs to be unified in the method of searching for documents.
[0101] From the above, an abstract graph structure can be created from the above document.
[0102] Although the process of creating a graph structure from a document has been described using examples of documents written in Japanese and English, the language of the document is not limited to Japanese and English. A graph structure can also be created from a document written in languages such as Chinese, Korean, German, French, Russian, and Hindi by going through the same process.
[0103] This embodiment mode can be combined with other embodiment modes as appropriate. In addition, in the case where a plurality of configuration examples are shown in one embodiment mode in this specification, the configuration examples can be combined as appropriate.
[0104] (Embodiment 2) In this embodiment, a document retrieval system according to one embodiment of the present invention will be described with reference to FIGS.
[0105] The document retrieval system of this embodiment can easily retrieve documents by using the method for retrieving documents shown in the first embodiment.
[0106] <Document search system configuration example 1> 7 shows a block diagram of the document search system 200. In the drawings attached to this specification, the components are classified by function and shown as independent blocks in the block diagram, but in reality, it is difficult to completely separate the components by function, and one component may be related to multiple functions. Also, one function may be related to multiple components, and for example, the processing performed by the processing unit 202 may be executed by different servers depending on the processing.
[0107] The document retrieval system 200 includes at least a processing unit 202. The document retrieval system 200 shown in FIG.
[0108] [Input section 201] A document is supplied to the input unit 201 from outside the document search system 200. The document is a document designated by a user for search, and corresponds to the document 20 shown in the first embodiment. A plurality of documents may also be supplied to the input unit 201 from outside the document search system 200. The plurality of documents are documents to be compared with the above document, and correspond to the plurality of documents 10 shown in the first embodiment. The plurality of documents and the above document supplied to the input unit 201 are each supplied to the processing unit 202, the storage unit 203, or the database 204 via the transmission path 206.
[0109] The plurality of documents and the document are input, for example, as text data, audio data, or image data. It is preferable that the plurality of documents are input as text data.
[0110] Methods for inputting the document include, for example, key input using a keyboard or touch panel, voice input using a microphone, reading from a recording medium, image input using a scanner or camera, and acquisition via communication.
[0111] The document search system 200 may have a function of converting voice data into text data. For example, the processing unit 202 may have this function. Alternatively, the document search system 200 may further have a voice conversion unit having this function.
[0112] The document search system 200 may have an optical character recognition (OCR) function. This allows characters included in image data to be recognized and text data to be created. For example, the processing unit 202 may have this function. Alternatively, the document search system 200 may further have a character recognition unit having this function.
[0113] [Processing section 202] The processing unit 202 has a function of performing calculations using data supplied from the input unit 201, the storage unit 203, the database 204, etc. The processing unit 202 can supply the calculation results to the storage unit 203, the database 204, the display unit 205, etc.
[0114] The processing unit 202 includes the graph structure creation unit 102 and the similarity calculation unit 103 shown in the first embodiment. That is, the processing unit 202 has a function of performing morphological analysis, a function of performing dependency analysis, a function of abstraction, and a function of creating a graph structure.
[0115] The processing unit 202 may be a transistor having a metal oxide in a channel formation region. Since the off-state current of the transistor is extremely small, the transistor can be used as a switch for holding charge (data) flowing into a capacitor element functioning as a memory element, thereby ensuring a long data holding period. By using this characteristic in at least one of the register and the cache memory of the processing unit 202, the processing unit 202 can be operated only when necessary, and in other cases, the processing unit 202 can be turned off by saving information of the immediately preceding process in the memory element. In other words, normally-off computing is possible, and the power consumption of the document search system 200 can be reduced.
[0116] Note that in this specification and the like, a transistor using an oxide semiconductor for a channel formation region is referred to as an oxide semiconductor transistor (OS transistor).The channel formation region of an OS transistor preferably contains a metal oxide.
[0117] The metal oxide in the channel formation region preferably contains indium (In). When the metal oxide in the channel formation region contains indium, the carrier mobility (electron mobility) of the OS transistor is increased. The metal oxide in the channel formation region preferably contains an element M. The element M is preferably aluminum (Al), gallium (Ga), or tin (Sn). Other elements that can be used for the element M include boron (B), titanium (Ti), iron (Fe), nickel (Ni), germanium (Ge), yttrium (Y), zirconium (Zr), molybdenum (Mo), lanthanum (La), cerium (Ce), neodymium (Nd), hafnium (Hf), tantalum (Ta), and tungsten (W). However, the element M may be a combination of a plurality of the above elements. The element M is, for example, an element having a high bond energy with oxygen. For example, the element M is an element having a higher bond energy with oxygen than indium. The metal oxide in the channel formation region preferably contains zinc (Zn), since zinc-containing metal oxides may tend to crystallize.
[0118] The metal oxide contained in the channel formation region is not limited to a metal oxide containing indium. The metal oxide contained in the channel formation region may be, for example, a metal oxide containing zinc but not indium, such as zinc tin oxide or gallium tin oxide, a metal oxide containing gallium, or a metal oxide containing tin.
[0119] The processing section 202 may be formed using a transistor including silicon in a channel formation region.
[0120] The processing portion 202 may include a combination of a transistor including an oxide semiconductor in a channel formation region and a transistor including silicon in a channel formation region.
[0121] The processing unit 202 includes, for example, an arithmetic circuit or a central processing unit (CPU: Central Processing Unit).
[0122] The processing unit 202 may have a microprocessor such as a DSP (Digital Signal Processor) or a GPU (Graphics Processing Unit). The microprocessor may be realized by a PLD (Programmable Logic Device) such as an FPGA (Field Programmable Gate Array) or an FPAA (Field Programmable Analog Array). The processing unit 202 can perform various data processing and program control by interpreting and executing instructions from various programs using the processor. Programs that can be executed by the processor are stored in at least one of a memory area of the processor and the storage unit 203.
[0123] The processing unit 202 may include a main memory. The main memory includes at least one of a volatile memory such as a RAM and a non-volatile memory such as a ROM.
[0124] The RAM may be, for example, a dynamic random access memory (DRAM) or a static random access memory (SRAM), and a virtual memory space is allocated and used as a working space for the processing unit 202. The operating system, application programs, program modules, program data, lookup tables, and the like stored in the storage unit 203 are loaded into the RAM for execution. The data, programs, and program modules loaded into the RAM are each directly accessed and operated by the processing unit 202.
[0125] ROM can store BIOS (Basic Input / Output System) and firmware that do not require rewriting. Examples of ROM include mask ROM, OTPROM (One Time Programmable Read Only Memory), EPROM (Erasable Programmable Read Only Memory), etc. Examples of EPROM include UV-EPROM (Ultra-Violet Erasable Programmable Read Only Memory), which allows the erasure of stored data by exposure to ultraviolet light, EEPROM (Electrically Erasable Programmable Read Only Memory), flash memory, etc.
[0126] [Storage section 203] The storage unit 203 has a function of storing a program executed by the processing unit 202. The storage unit 203 may also have a function of storing, for example, a calculation result generated by the processing unit 202 and data input to the input unit 201. Specifically, the storage unit 203 preferably has a function of storing a graph structure generated by the processing unit 202 (for example, the graph structure 21 shown in the first embodiment), a result of the calculated similarity, and the like.
[0127] The storage unit 203 has at least one of a volatile memory and a non-volatile memory. The storage unit 203 may have a volatile memory such as a DRAM or an SRAM. The storage unit 203 may have a non-volatile memory such as a ReRAM (Resistive Random Access Memory, also called a resistance change type memory), a PRAM (Phase change Random Access Memory), a FeRAM (Ferroelectric Random Access Memory), an MRAM (Magnetoresistive Random Access Memory, also called a magnetoresistive type memory), or a flash memory. The storage unit 203 may also have a recording media drive such as a hard disk drive (HDD) and a solid state drive (SSD).
[0128] [Database 204] The document search system 200 may include a database 204. For example, the database 204 has a function of storing a plurality of documents and a plurality of graph structures for each of the plurality of documents. For example, a method of searching for a document according to an embodiment of the present invention may be used for the plurality of documents stored in the database 204. In addition, the database 204 may store a concept dictionary.
[0129] The storage unit 203 and the database 204 do not have to be separated from each other. For example, the document search system 200 may have a storage unit having the functions of both the storage unit 203 and the database 204.
[0130] The memories included in the processing unit 202, the storage unit 203, and the database 204 can each be considered as an example of a non-transitory computer-readable storage medium.
[0131] [Display section 205] The display unit 205 has a function of displaying the calculation results in the processing unit 202. The display unit 205 also has a function of displaying the compared documents and the similarity results. The display unit 205 may also have a function of displaying documents designated for search.
[0132] The document search system 200 may have an output unit. The output unit has a function of supplying data to an external device.
[0133] [Transmission Line 206] The transmission path 206 has a function of transmitting various data. Data can be transmitted and received between the input unit 201, the processing unit 202, the storage unit 203, the database 204, and the display unit 205 via the transmission path 206. For example, data such as a document designated by the user for search and a graph structure for a document to be compared with the document is transmitted and received via the transmission path 206.
[0134] <Document search system configuration example 2> 8 shows a block diagram of the document retrieval system 210. The document retrieval system 210 includes a server 220 and a terminal 230 (such as a personal computer).
[0135] The server 220 includes a processing unit 202, a transmission path 212, a storage unit 213, and a communication unit 217a. Although not shown in FIG. 8, the server 220 may further include an input / output unit and the like.
[0136] The terminal 230 includes an input unit 201, a storage unit 203, a display unit 205, a transmission path 216, a communication unit 217b, and a processing unit 218. Although not shown in FIG. 8, the terminal 230 may further include a database or the like.
[0137] A user of the document search system 210 inputs a document into the input unit 201 of the terminal 230. The document is a document designated by the user for search, and corresponds to the document 20 shown in the first embodiment. The document is transmitted from the communication unit 217b of the terminal 230 to the communication unit 217a of the server 220.
[0138] The document received by the communication unit 217a is stored in the storage unit 213 via the transmission path 212. Alternatively, the document may be directly supplied to the processing unit 202 from the communication unit 217a.
[0139] The creation of the graph structure and the calculation of the similarity described in the first embodiment require high processing power. The processing unit 202 of the server 220 has a higher processing power than the processing unit 218 of the terminal 230. Therefore, it is preferable that the creation of the graph structure and the calculation of the similarity are performed by the processing unit 202.
[0140] Then, the processing unit 202 calculates the similarity. The similarity is stored in the storage unit 213 via the transmission path 212. Alternatively, the similarity may be directly supplied from the processing unit 202 to the communication unit 217a. The similarity is transmitted from the communication unit 217a of the server 220 to the communication unit 217b of the terminal 230. The similarity is displayed on the display unit 205 of the terminal 230.
[0141] [Transmission path 212 and transmission path 216] The transmission paths 212 and 216 have a function of transmitting data. Data can be transmitted and received between the processing unit 202, the storage unit 213, and the communication unit 217a via the transmission path 212. Data can be transmitted and received between the input unit 201, the storage unit 203, the display unit 205, the communication unit 217b, and the processing unit 218 via the transmission path 216.
[0142] [Processing unit 202 and processing unit 218] Processing unit 202 has a function of performing calculations using data supplied from storage unit 213, communication unit 217a, etc. Processing unit 218 has a function of performing calculations using data supplied from input unit 201, storage unit 203, display unit 205, communication unit 217b, etc. For processing unit 202 and processing unit 218, refer to the description of processing unit 202. It is preferable that processing unit 202 has a higher processing capacity than processing unit 218.
[0143] [Storage section 203] The storage unit 203 has a function of storing a program executed by the processing unit 218. The storage unit 203 also has a function of storing calculation results generated by the processing unit 218, data input to the communication unit 217b, data input to the input unit 201, and the like.
[0144] [Storage section 213] The storage unit 213 has a function of storing a plurality of documents, graph structures for each of the plurality of documents, calculation results generated by the processing unit 202, data input to the communication unit 217a, and the like.
[0145] [Communication Unit 217a and Communication Unit 217b] Using the communication units 217a and 217b, data can be transmitted and received between the server 220 and the terminal 230. A hub, a router, a modem, or the like can be used as the communication units 217a and 217b. Data can be transmitted and received using either a wired connection or wirelessly (for example, radio waves, infrared rays, etc.).
[0146] In addition, communication between server 220 and terminal 230 may be performed by connecting to a computer network such as the Internet, which is the basis of the World Wide Web (WWW), an intranet, an extranet, a Personal Area Network (PAN), a Local Area Network (LAN), a Campus Area Network (CAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), or a Global Area Network (GAN).
[0147] This embodiment mode can be combined with other embodiment modes as appropriate. [Explanation of symbols]
[0148] :10: multiple documents, 10_1: document, 10_i: document, 10_n: document, 11: multiple graph structures, 11_1: graph structure, 11_i: graph structure, 11_n: graph structure, 20: document, 21: graph structure, 100: document search system, 101: input unit, 102: graph structure creation unit, 103: similarity calculation unit, 104: output unit, 105: storage unit, 112: concept dictionary, 200: document search system, 201: input unit, 202: processing unit, 203: memory unit, 204: database, 205: display unit, 206: transmission path, 210: document search system, 212: transmission path, 213: memory unit, 216: transmission path, 217a: communication unit, 217b: communication unit, 218: processing unit, 220: server, 230: terminal
Claims
[Claim 1] The apparatus includes an input unit, a first processing unit, a storage unit, a second processing unit, and an output unit, the input unit has a function of inputting a first document; the first processing unit has a function of creating a first graph structure from the first document; The storage unit has a function of storing a second graph structure, the second processing unit has a function of calculating a similarity between the first graph structure and the second graph structure; The output unit has a function of supplying information, the first processing unit has a function of dividing the first document into a plurality of tokens; the nodes and edges of the first graph structure have labels; the label is composed of the plurality of tokens; Document retrieval system.
Citation Information
Patent Citations
Document similarity determining method, unit and program
JP2011233023A
Information processing device, information processing system, and information processing method
JP2014052863A
Language processing apparatus, method and program
JP2005258624A