Document retrieval system, method for retrieving documents

The document search system addresses the limitations of word-based searches by constructing graphs from text to evaluate conceptual similarity, improving the accuracy and applicability of document retrieval across languages.

JP7626716B2Active Publication Date: 2025-02-04SEMICON ENERGY LAB CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021569602
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-01-10
Filing Date
2020-12-28
Publication Date
2025-02-04
Estimated Expiration
2040-12-28

AI Technical Summary

Technical Problem

Conventional document search methods primarily rely on word-based searches, which are inadequate for accurately capturing the conceptual meaning of documents, especially in fields like patents and contracts where similar words may convey different meanings.

Method used

A document search system that creates a graph from text, analyzing sentences to identify nodes and edges representing concepts, allowing for the evaluation of document similarity based on conceptual meaning rather than just word matching.

Benefits of technology

Enhances the accuracy of document search by considering the conceptual content, enabling the retrieval of documents with similar meanings even when using different words, and facilitating cross-linguistic searches.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007626716000002
    Figure 0007626716000002
  • Figure 0007626716000003
    Figure 0007626716000003
  • Figure 0007626716000004
    Figure 0007626716000004
Patent Text Reader

Abstract

Provided is a document retrieval system that considers document concepts when retrieving documents. The system comprises a processing unit that creates a retrieval graph from retrieval text. The retrieval graph comprises first through m-th (wherein m is an integer equal to 1 or greater) retrieval local graphs that comprise two nodes and one edge. The processing unit searches a reference document for first through m-th sentences. An i-th (wherein i is an integer equal to or greater than 1 and equal to or less than m) sentence comprises: one of the two nodes in an i-th retrieval local graph, or related terms or subordinate terms for one of the two nodes; the other of the two nodes in the i-th retrieval local graph, or related terms or subordinate terms for the other of the two nodes; and the edge of the i-th retrieval local graph, or related terms or subordinate terms for the edge of the i-th retrieval local graph. The reference document is then scored a number of points based on the number of sentences, from among the first through m-th sentences, that are contained in the reference document.
Need to check novelty before this filing date? Find Prior Art

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 sentences by taking a set of words and using Jaccard coefficient, Dice coefficient, Simpson coefficient, etc. There is also a method of vectorizing sentences 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, search technology that considers not only the words used in a document but also the concept of the document (general meaning and content) is important.

[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 retrieval system having a processing unit. The processing unit has a function of creating a graph from a sentence, the search graph is created from a sentence to be searched, the search graph has first to m-th (m is an integer of 1 or more) local graphs for search, each of the first to m-th local graphs for search is composed of two nodes and an edge between the two nodes, the processing unit further has a function of searching the first to m-th sentences from a reference document, the i-th sentence (i is an integer of 1 to m) has a (3i-2)th word, a (3i-1)th word, and a 3i-th word, the (3i-2)th word is the i-th local graph for search, the (3i-1)-th word is one of two nodes, a related word of one of the two nodes, or a hyponym of one of the two nodes in the ith local graph for search, the (3i-1)-th word is the other of the two nodes, a related word of the other of the two nodes, or a hyponym of the other of the two nodes in the ith local graph for search, and the 3i-th word is an edge, a related word of the edge, or a hyponym of the edge in the ith local graph for search, and the processing unit further has a function of assigning a first point to the score of the reference document based on the number of sentences among the 1st to mth sentences included in the reference document.

[0008] In the above document search system, it is preferable that the processing unit has a function of, when the reference document includes the jth sentence (j is an integer greater than or equal to 1 and less than or equal to m) and the kth sentence (k is an integer greater than or equal to 1 and less than or equal to m, excluding j), assigning a second score to the score of the reference document based on the distance between the jth sentence and the kth sentence, and a function of calculating the score of the reference document based on the score assigned to the score of the reference document.

[0009] In addition, in the above document retrieval system, it is preferable that the processing unit has a function of adding a third point to the score of the reference document based on the conceptual closeness between the (3j-2)th word included in the jth sentence and a word that is the basis of one of the two nodes in the jth local graph for retrieval.

[0010] In addition, in the above document search system, it is preferable that the processing unit has a function of extracting reference documents containing the (3l-2)th word and the (3l-1)th word contained in the lth sentence (l is an integer greater than or equal to 1 and less than or equal to m) from multiple reference documents.

[0011] In addition, in the above document search system, it is preferable that the function of creating a graph from a sentence possessed by the processing unit has a function of dividing the sentence into a plurality of tokens, a function of performing dependency analysis, a function of connecting some of the tokens depending on the result of the dependency analysis, a function of evaluating the connection relationships between the tokens depending on the result of the dependency analysis, and a function of constructing a graph from the connection relationships between the tokens.

[0012] In the document retrieval system, the function of creating a graph from a sentence, which the processing unit has, preferably further has a function of replacing a token in which a target word or a hypernym exists with the target word or the hypernym.

[0013] It is also preferable that the document search system further comprises an input section in addition to the processing section, and the input section has a function of supplying search sentences to the processing section.

[0014] It is also preferable that the document retrieval system has an output section in addition to the processing section and the input section, and the output section has a function of supplying the score of the reference document. Effect of the Invention

[0015] 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.

[0016] 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]

[0017] FIG. 1 is a diagram illustrating an example of a document search system. FIG. 2 is a flow chart showing an example of a document retrieval method. FIG. 3 is a flow chart showing an example of a process for creating a graph. 4A to 4C are diagrams showing the results obtained at each step. 5A to 5C are diagrams showing the results obtained at each step. 6A to 6D are diagrams showing the results obtained at each step. 7A to 7C are diagrams showing the results obtained at each step. FIG. 8 is a diagram for explaining an example of a graph. FIG. 9 is a flowchart showing an example of analysis of a reference document. FIG. 10 is a flowchart showing an example of analysis of a reference document. FIG. 11 is a diagram for explaining word associations. Fig. 12A is a diagram for explaining an example of a graph, and Fig. 12B is a diagram showing the results obtained in each step. 13A and 13B are diagrams showing the results obtained at each step. FIG. 14 is a flow chart showing an example of a document search method. FIG. 15 is a flowchart showing an example of narrowing down reference documents. FIG. 16 is a diagram illustrating an example of hardware of a document search system. FIG. 17 is a diagram illustrating an example of hardware of a document search system. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0018] 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.

[0019] 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.

[0020] 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.

[0021] In addition, it should 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.

[0022] In this specification, etc., a "text" refers to something composed of one or more "sentences." Thus, a "text" also includes a "sentence." Furthermore, a "document" may refer to a collection of records expressed in characters. Note that, in this specification, etc., when a "document" is written, it may refer to some or all of the text contained in the document. In other words, the term "document" can be replaced with "text." Furthermore, some or all of the text contained in a document may be simply written as "text."

[0023] In addition, in this specification, the term "text" or "document" may refer to a collection of character information or character codes that can be processed and transmitted by an information processing device such as a server or a personal computer. Such a collection may be called text data.

[0024] (Embodiment 1) In this embodiment, a document retrieval system and a document retrieval method according to one embodiment of the present invention will be described with reference to FIGS.

[0025] <Document Search System> FIG. 1 is a diagram showing the configuration of a document retrieval system 100. As shown in FIG.

[0026] The document retrieval system 100 can be provided in an information processing device such as a personal computer used by a user, or a processing unit of the document retrieval system 100 can be provided in a server and used from a client PC via a network.

[0027] The document retrieval system 100 has at least a processing unit 106. The document retrieval system 100 shown in Fig. 1 has the processing unit 106, an input unit 101, a storage unit 107, and an output unit 104. In addition, the document retrieval system 100 is connected to a concept dictionary 112 via a network.

[0028] The processing unit 106 has a function of creating a graph from a sentence. The sentence is a sentence specified by the user for search (also called a search sentence, a query sentence, etc.) and a sentence included in a document to be searched (also called a reference document). Note that a graph created from a sentence specified by the user for search is also called a search graph, a query graph, etc.

[0029] A graph is composed of a set of nodes (also called a node group) and a set of edges (also called an edge group) that represent the connections between the nodes. The node group has two or more nodes. The edge group has one or more edges. Note that even if there is only one edge, it may be written as an edge group.

[0030] The graph is preferably a directed graph. A directed graph is a graph composed of a group of nodes and a group of edges having a direction. The graph is more preferably a directed graph in which labels are assigned to the nodes and edges. By using a directed graph in which labels are assigned, the accuracy of searches can be improved. Weights may be assigned to the nodes and / or edges of the graph. By assigning weights to the nodes and / or edges, a document desired by a user can be searched for. The graph may be an undirected graph.

[0031] The processing unit 106 preferably has, for example, a function of performing morphological analysis, a function of performing dependency analysis, a function of abstraction, and a function of constructing a graph. The processing unit 106 also has a function of referring to a concept dictionary 112. The processing unit 106 refers to the concept dictionary 112 and creates a graph from the sentence.

[0032] The function of performing morphological analysis and / or 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 above-mentioned sentence to the device, receive the results of the morphological analysis and / or dependency analysis performed in the device, and transmit the received data to the processing unit 106.

[0033] The processing unit 106 has a function of analyzing the reference document. The processing unit 106 also has a function of evaluating the reference document. For example, the processing unit 106 preferably has a function of giving a score to the reference document. The processing unit 106 also has a function of extracting the reference document.

[0034] A sentence is input using the input unit 101. The input unit 101 has a function of supplying the sentence to the processing unit 106. The sentence is a sentence specified by a user for search. The sentence is text data. The sentence may be voice 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.

[0035] The document retrieval system 100 may have a function of converting voice data into text data. For example, the processing unit 106 may have this function. Alternatively, the document retrieval system 100 may further have a voice-to-text conversion unit having this function.

[0036] The document search system 100 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 106 may have this function. Alternatively, the document search system 100 may further have a character recognition unit having this function.

[0037] The storage unit 107 stores a plurality of reference documents. The plurality of reference documents may be stored in the storage unit 107 via the input unit 101, a storage medium, communication, or the like.

[0038] The multiple reference documents stored in storage unit 107 are preferably text data. As a different example, when the multiple reference documents stored in storage unit 107 are voice data or image data, the data size can be reduced by converting character information included in the voice data or image data into text data. Therefore, by storing text data in storage unit 107, the increase in the storage capacity of storage unit 107 can be reduced.

[0039] The storage unit 107 may store a sentence inputted using the input unit 101. Also, a graph created from the sentence by the processing unit 106 may be stored as text data, image data, or the like.

[0040] The output unit 104 has a function of outputting information. The information is the result of the evaluation of the reference document by the processing unit 106. For example, the information is the score of the reference document. Or, the information is the reference document with the highest score. Or, the information is ranking data ranked based on the score.

[0041] The information is output as visual information such as character strings, numerical values, and graphs, audio information, etc. to the output unit 104. The output unit 104 may be an output device such as a display or a speaker.

[0042] 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.

[0043] The concept dictionary 112 is a list of words with classification, relationships with other words, etc. The concept dictionary 112 may be an existing concept dictionary. Alternatively, a concept dictionary specialized for the field of the search text or the reference document may be created. Alternatively, words likely to be used in the field of the search text or the reference document may be added to a general-purpose concept dictionary.

[0044] 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.

[0045] The above is an explanation 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 similar to a sentence from among a plurality of reference documents, taking into account the concept of the sentence. Also, a list of documents similar to the sentence can be created from a plurality of reference documents. For example, a document similar to a sentence is a document that is determined to have the same (rough) meaning as the sentence even if different words are used. Also, if the concept of the sentence is the same in two sentences in different languages, the graphs created from each of the two sentences will be the same. Therefore, by using the document search system according to one aspect of the present invention, it is possible to easily search for documents between different languages.

[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 is also a flowchart showing an example of a method for searching for documents according to an aspect of the present invention.

[0048] A method for searching documents according to one embodiment of the present invention will be described. In this method, a reference document is analyzed and evaluated based on a graph created from a sentence. The method for searching documents will be described with reference to FIG. 2.

[0049] The method for searching a document includes steps S001 to S005 as shown in FIG.

[0050] [Step S001] Step S001 is a process of acquiring the text 20. The text 20 is text supplied from the input unit 101 to the processing unit 106. The text 20 is text specified by the user for search. If the data of the text 20 is data other than text data (audio data or image data), the audio data or image data is converted into text data before proceeding to step S002. The conversion from audio data to text data may be performed using a function of the processing unit 106 for converting audio data into text data, or a voice-to-text conversion unit. The conversion from image data to text data may be performed using an optical character recognition (OCR) function of the processing unit 106, or a character recognition unit.

[0051] If the text 20 is a claim, a cleaning process may be performed on the text 20 before proceeding to step S002. The cleaning process removes noise contained in the text. For example, the cleaning process may delete semicolons, replace colons with commas, etc. By performing a cleaning process on the text, the accuracy of the morphological analysis can be improved. Also, if the text 20 is a claim, a cleaning process may be performed on the text 20 before proceeding to step S002.

[0052] The cleaning process may be performed as necessary even if the document 20 is a claim or a non-claim. The document 20 may be stored in the storage unit 107 after the cleaning process.

[0053] [Step S002] Step S002 is a process of creating a graph 21 from a sentence 20. Fig. 3 is a flow chart showing an example of the process of creating a graph from a sentence. Step S002 has steps S021 to S024 shown in Fig. 3. Step S002 will be described using steps S021 to S024.

[0054] Step S021 is a step of performing morphological analysis on the sentence by the processing unit 106. As a result, the sentence is divided into morphemes (words). In this specification, the divided morphemes (words) may be called tokens.

[0055] In step S021, it is preferable to determine the part of speech of each of the tokens and associate a part of speech label with the token. By associating a part of speech label with the token, the accuracy of dependency analysis can be improved. In this specification, associating a token with a part of speech label can be rephrased as assigning a part of speech to the token.

[0056] If the processing unit 106 does not have a function for performing morphological analysis, the morphological analysis may be performed on the text using a morphological analysis program (also called a morphological analyzer) installed in a device different from the document search system. In this case, step S021 is a step of transmitting the text to the device, performing the morphological analysis in the device, and receiving the result of the morphological analysis.

[0057] Step S022 is a step of performing dependency analysis in the processing unit 106. That is, it is a step of combining parts of multiple tokens according to the dependencies of each token. For example, if tokens satisfy a specific condition, the tokens that satisfy the condition are combined to generate a new token. This reduces the number of tokens, and the number of processes in the subsequent steps can be reduced. This reduces the load on the central processing unit and memory, and shortens search time. The document search system 100 can be provided in an information processing device such as a personal computer used by a user, or in a small-scale server.

[0058] In a sentence using Japanese, specifically, when a first token is a noun and the token immediately preceding the first token is an adjective, the token immediately preceding the first token and the first token are combined to generate a new token. Also, when the first token is a noun and the token immediately following the first token is also a noun, the first token and the token immediately following the first token are combined to generate a new token.

[0059] The above conditions may be set appropriately according to the language used in the text.

[0060] 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. As a result, even if a sentence contains a compound word that is not registered in the concept dictionary 112, the sentence can be divided into tokens with high accuracy. The generated compound word may be added to the concept dictionary 112. As a result, the efficiency of dividing the sentence into tokens can be improved.

[0061] In addition to the step of combining some of the plurality of tokens, step S022 includes a step of evaluating the connection relationship between the tokens. The step of evaluating the connection relationship between the tokens may be performed after the step of combining some of the plurality of tokens.

[0062] The process of evaluating the connection relationships between tokens involves, for example, searching for whether a sentence contains a subject, an object, and a predicate.

[0063] For example, if a sentence uses Japanese, the sentence is written in the order of subject, object, and predicate (verb, adjective, adjectival verb, combination of noun and particle, etc.). Therefore, the subject token, object token, and predicate token are searched for in that order. If these tokens are included in the sentence, it is advisable to extract the subject token and object token as nodes and the predicate token as edges.

[0064] For example, if a sentence uses English, the sentence is written in the order of subject, predicate (verb), and object. Therefore, the subject token, predicate (verb) token, and object token are searched for in that order. If these tokens are included in the sentence, it is advisable to extract the subject token and object token as nodes and the predicate (verb) token as an edge.

[0065] As mentioned above, the order in which the subject, object, and predicate are written varies depending on the language used in the sentence, so it is advisable to adjust it appropriately depending on the language.

[0066] Also, for example, a token that is a preposition included between a first token and a second token may be searched for. When a token that is a preposition is included in the sentence, the first token and the second token may be treated as nodes, and the token that is a preposition may be extracted as an edge.

[0067] Also, for example, it is advisable to search for determiner tokens. Determiners are placed before nouns to clarify what the noun refers to. Therefore, by searching for determiner tokens, it is possible to link the relationship between the noun immediately following the determiner and the nouns described before the determiner. This makes it possible to determine whether these nouns are the same node.

[0068] Note that some parts of speech may not exist in some languages, so the above conditions should be set appropriately depending on the language used in the text.

[0069] If the processing unit 106 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 S022 is a process of transmitting the token to the device, performing dependency analysis in the device, and receiving the result of the dependency analysis.

[0070] Step S023 is a step of abstracting the token in the processing unit 106. The token is a token that becomes a node and an edge extracted in step S022. For example, a word included in the token is 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 an entry word (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.

[0071] The upper limit of the hierarchy of the replaced hypernym is preferably one to two levels, more preferably one level. The upper limit of the hierarchy of the replaced hypernym may be specified. This makes it possible to prevent tokens from being overly conceptualized and from deviating from the concept of the sentence. In addition, the number of processes in the process of abstracting tokens can be reduced. This makes it possible to reduce the load on the central processing unit and memory, and shorten search time. In addition, the document search system 100 can be installed in an information processing device such as a personal computer used by a user, or in a small-scale server.

[0072] 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, or by vectorizing one of the tokens obtained by dividing the token again, and classifying the token 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". It is also 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".

[0073] A classifier may be used to classify a token based on a plurality of tokens obtained by dividing the token again. For example, when abstracting a token "oxide semiconductor layer", the token obtained by dividing the token again into morphemes ("oxide", "substance", "semiconductor", and "layer") is 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". This allows the token to be abstracted.

[0074] In addition to the above machine learning algorithms, conditional random fields (CRFs) may be used, or CRFs may be combined with the above methods.

[0075] By abstracting tokens, the concept of a sentence can be grasped. Therefore, when searching for a sentence, the structure and expression of the sentence are less likely to affect it. In other words, searches can be performed based on the concept of the sentence.

[0076] 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.

[0077] Step S024 is a process of constructing a graph in the processing unit 106. That is, it is a process of constructing a graph using tokens prepared up to step S023. For example, when a sentence contains a first token and a second token that are noun phrases, and a third token that represents a connection relationship between the first token and the second token, a graph is constructed 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 label of the node and the label of the edge are composed of the tokens prepared up to step S023. Hereinafter, when simply referring to a node, it may refer to the label of the node. Also, when simply referring to an edge, it may refer to the label of the edge.

[0078] For example, if document 20 is a patent claim or a claim, the nodes of the graph are components and the edges of the graph are relationships between the components. Also, if document 20 is a contract document, the nodes of the graph are Party A and Party B, and the edges of the graph are the contents and conditions of the contract.

[0079] The graph may be constructed 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.

[0080] The processing unit 106 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, assume that a graph has a first edge and a second edge to which a label that is an antonym of the label of the first edge is attached. In this case, the function is used to invert the direction of the second edge and replace 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 reconstructs the graph. By using the reconstructed graph, it is possible to cover substantially the same structure. Therefore, when searching for a sentence, it is less affected by the structure and expression of the sentence. In other words, a search can be performed based on the concept of the sentence.

[0081] The above process should be performed on the edge that appears less frequently in the text. 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 the above process and shorten the time required for document search.

[0082] The order of steps S023 and S024 may be reversed. When the order of steps S023 and S024 is reversed, after a graph is constructed, the nodes and edges contained in the graph are abstracted. Therefore, even if the order of steps S023 and S024 is reversed, an abstracted graph can be created from a sentence.

[0083] By performing steps S021 to S024, the graph 21 can be created from the text 20.

[0084] Note that graph 21 may be output after step S002 is performed. Alternatively, nodes and edges constituting graph 21 may be output after step S002 is performed, and a step of setting weights for each of the nodes and / or edges may be provided before step S004 or step S005 is performed.

[0085] <<Example of creating a graph from text>> Here, an example of creating a graph from text will be described with reference to FIGS. 4A to 4C, 5A to 5C, 6A to 6D, and 7A to 7C.

[0086] First, an example of a sentence using Japanese language, "The oxide semiconductor layer is above the insulator layer (SANKABUTSUHANDOUTAISOU HA ZETSUENTAISOU NO JOUHOU NI ARU)" (see FIG. 4A) will be described. The rounded rectangles in FIG. 4B, FIG. 4C, and FIG. 5A are tokens, and the part of speech assigned to the token is written below the rounded rectangle.

[0087] First, the sentence is divided into tokens by performing a morphological analysis on the sentence. A part of speech may be assigned to each token (step S021 shown in FIG. 3). As a result, the result shown in FIG. 4B is obtained. Specifically, the sentence 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.

[0088] Next, dependency analysis is performed (step S022 shown in FIG. 3). Specifically, "oxidation" and "material", "material" and "semiconductor", and "semiconductor" and "layer" satisfy the condition described in step S022. Therefore, the four tokens ("oxidation", "material", "semiconductor", and "layer") can be combined and replaced with one token ("oxide semiconductor layer"). In addition, "insulation" and "body", and "body" and "layer" satisfy the condition described in step S022. Therefore, the three tokens ("insulation", "body", and "layer") can be combined and replaced with one token ("insulator layer"). This makes the above sentence ""Oxide semiconductor layer" (noun) | "HA" (particle) | "Insulator layer" (noun) | "NO" (particle) | "JOUHOU" (noun) | "NI" (particle) | "ARU" (verb)" (see Figure 4C).

[0089] Next, the tokens are abstracted (step S023 shown in FIG. 3). 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 sentence is abstracted as ""semiconductor" (noun) | "is" (particle) | "insulator" (noun) | "of" (particle) | "on" (noun) | "on" (particle) | "are" (verb)" (see FIG. 5A).

[0090] Next, a graph is constructed (step S024 shown in FIG. 3). Specifically, "semiconductor (HANDOUTAI)" and "insulator (ZETSUENTAI)" become nodes of the graph and labels of the nodes, respectively, and "upper (UE)" becomes edges of the graph and labels of the edges. As a result, the graph shown in FIG. 5B is obtained from the above sentence.

[0091] Here, the antonym of "upper (UE)" is "lower (SHITA)". Therefore, the graph shown in Figure 5C may be reconstructed by inverting the direction of the edge (direction of the arrow) of the graph shown in Figure 5B and replacing the edge of the graph shown in Figure 5B and the label of the edge, "upper (UE)", with "lower (SHITA)". This makes it possible to cover substantially the same structure.

[0092] The direction of the edge (direction of the arrow) shown in FIG. 5B is illustrated as going from a node that appears earlier in the sentence (in the above sentence, "Semiconductor (HANDOUTAI)") to a node that appears later (in the above sentence, "Insulator (ZETSUENTAI)"). In other words, the start point of the edge (start point of the arrow) is the node that appears earlier, and the end point of the edge (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 edge (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 edge (start point of the arrow) may be a node labeled "Insulator (ZETSUENTAI)", the end point of the edge (end point of the arrow) may be a node labeled "Semiconductor (HANDOUTAI)", and a graph may be created in which the edge between these nodes and the label of the edge are "upper (UE)". This allows the graph to be intuitively understood. However, the method of determining the direction of the edge (direction of the arrow) needs to be unified in the method of searching for documents.

[0093] From the above, an abstract graph can be created from the above text.

[0094] Next, an example of a sentence using English, "A semiconductor device comprising: an oxide semiconductor layer over an insulator layer." (see FIG. 6A) will be described. The rounded rectangles shown in FIG. 6C, FIG. 6D, and FIG. 7A are tokens. Although an example in which a part of speech is not assigned to a token is shown here, a part of speech may be assigned to a token.

[0095] First, we perform a cleaning process on the above sentence. Here, we remove the semicolon. As a result, we get the result shown in Figure 6B.

[0096] Next, the sentence is divided into tokens by performing a morphological analysis on the sentence (step S021 shown in FIG. 3). As a result, the sentence becomes "A|semiconductor|device|comprising|an|oxide|semiconductor|layer|over|an|insulator|layer" (see FIG. 6C).

[0097] Next, dependency analysis is performed (step S022 shown in FIG. 3). 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 sentence becomes "A semiconductor device|comprising|an oxide semiconductor layer|over|an insulator layer" (see FIG. 6D).

[0098] Next, tokens are abstracted (step S023 shown in FIG. 3). 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 sentence is abstracted as "device|comprising|a semiconductor|over|an insulator" (see FIG. 7A).

[0099] Next, a graph is constructed (step S024 shown in FIG. 3). Specifically, "device", "semiconductor", and "insulator" become nodes of the graph and labels of the nodes, respectively, and "comprising" and "over" become edges of the graph and labels of the edges, respectively. As a result, the graph shown in FIG. 7B is obtained from the above sentence.

[0100] Here, the antonym of "over" is "under." Therefore, the graph shown in Figure 7C may be reconstructed by inverting the direction (arrow) of the edge of the graph shown in Figure 7B and replacing the edge of the graph shown in Figure 7B and the label of the edge, "over," with "under." This makes it possible to cover substantially the same structure.

[0101] The direction of the edge (direction of the arrow) shown in FIG. 7B is illustrated as going from a node that appears earlier in the sentence (in the above sentence, "semiconductor") to a node that appears later (in the above sentence, "insulator"). That is, the start point of the edge (start point of the arrow) is the node that appears earlier, and the end point of the edge (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 edge (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 edge (start point of the arrow) may be a node labeled "insulator", the end point of the edge (end point of the arrow) may be a node labeled "semiconductor", and a graph may be created in which the edge between these nodes and the label of the edge are "over". This allows the graph to be intuitively understood. However, the method of determining the direction of the edge (direction of the arrow) needs to be unified in the method of searching for documents.

[0102] From the above, an abstract graph can be created from the above text.

[0103] So far, the process of creating a graph from text has been described using examples of text written in Japanese and text written in English, but the language of the text is not limited to Japanese and English. A graph can also be created from text written in languages ​​such as Chinese, Korean, German, French, Russian, and Hindi by going through a similar process.

[0104] [Step S003] Step S003 is a process of acquiring one or more reference documents. The one or more reference documents are documents to be searched, and are stored in the storage unit 107.

[0105] If the reference document is a claim or a claim, the above-mentioned cleaning process may be performed on the sentences included in the reference document before proceeding to step S004. By performing this cleaning process, the accuracy of the morphological analysis can be improved. Note that this cleaning process may be performed appropriately as necessary even if the reference document is something other than a claim or a claim.

[0106] Here, in order to facilitate the following explanation, an example of the graph 21 is shown in FIG.

[0107] Graph 21 shown in Fig. 8 is a directed graph. Graph 21 is made up of a group of nodes (nodes 22_1 to 22_n (n is an integer equal to or greater than 2)) and a group of edges (edges 23_1 to 23_m (m is an integer equal to or greater than 1 and smaller than n)). Note that it is preferable that the sum of the in-degree and out-degree of each of nodes 22_1 to 22_n is 1 or greater.

[0108] The start point of edge 23_1 is node 22_1, and the end point of edge 23_1 is node 22_2. The start point of edge 23_2 is node 22_2, and the end point of edge 23_2 is node 22_3. The start point of edge 23_m is node 22_n-1, and the end point of edge 23_m is node 22_n. Each of edges 23_3 to 23_m-1 is an edge between one of the above-mentioned node groups and another of the above-mentioned node groups.

[0109] 8 illustrates that there is a path between the node 22_1 and the node 22_n-1 via one or more nodes. In other words, one or more nodes and related edges existing between the node 22_1 and the node 22_n-1 are omitted in FIG.

[0110] The graph 21 may be expressed using a set. For example, the graph 21 (G) is composed of a vertex set V and an edge set E. In this case, the vertex set V and the edge set E are respectively expressed as follows (see Equation 1).

[0111]

number

[0112] The number of elements in the vertex set V is n, and the number of elements in the edge set E is m.

[0113] In the above, the graph 21 (G) is expressed using sets (the vertex set V and the edge set E), but this is not limiting. The graph 21 may be expressed using a matrix. Examples of such matrices include an adjacency matrix, a connection matrix, and an order matrix. The adjacency matrix of the graph 21 is expressed as an n×n matrix. The connection matrix of the graph 21 is expressed as an n×m matrix.

[0114] In this specification and the like, a graph consisting of any one of edges 23_1 to 23_m, a node that is the start point of the edge, and a node that is the end point of the edge may be referred to as a local graph of graph 21. The number of local graphs of graph 21 is created equal to the number of edges. That is, there are m local graphs of graph 21. Hereinafter, the m local graphs of graph 21 may be referred to as a local graph group of graph 21. Alternatively, they may be referred to as local graph 24_1 to local graph 24_m. Furthermore, the local graph of graph 21 may be referred to as a search local graph, a query local graph, or the like.

[0115] [Step S004] Step S004 is a step of analyzing the reference document by the processing unit 106. A flowchart showing an example of the step of analyzing the reference document will be described below with reference to Fig. 9. It is assumed that the reference document is composed of sentences 41_1 to 41_p (p is an integer equal to or greater than 1).

[0116] The process of analyzing the reference document includes steps S031 to S034 shown in Fig. 9. The analysis of the reference document may start from sentence 41_1.

[0117] [Step S031] Step S031 is a process of judging whether sentence 41_pp (pp is an integer between 1 and p) satisfies condition A. Here, condition A is satisfied when sentence 41_pp includes two of words 32A_1 to 32A_n. Here, word 32A_i (i is an integer between 1 and n) refers to node 22_i constituting graph 21, a related word of node 22_i, or a hyponym of node 22_i. In other words, when word 32A_i is a related word of node 22_i or a hyponym of node 22_i, abstracted word 32A_i matches node 22_i.

[0118] Examples of related words include synonyms, synonymous words, antonyms, representative words, hypernyms, and hyponyms. In this specification, related words are synonyms, synonymous words, antonyms, representative words, and hyponyms. A hyponym is a representative word that is a subordinate concept of a representative word. It is advisable to refer to a concept dictionary for related words and hyponyms.

[0119] For example, referring to FIG. 4C and FIG. 5A, when "semiconductor" is a superordinate term, the subordinate terms of "semiconductor" include "oxide semiconductor" and "silicon semiconductor". In addition, the related terms of "oxide semiconductor" include "oxide semiconductor layer", "oxide semiconductor film", "crystalline oxide semiconductor", and "polycrystalline oxide semiconductor". In addition, the subordinate terms of "silicon semiconductor" include "silicon semiconductor layer", "silicon semiconductor film", "single crystal silicon", and "hydrogenated amorphous silicon (sometimes written as a-Si:H)". In addition, the subordinate terms of "oxide semiconductor" include "oxide containing indium, gallium, and zinc (sometimes written as IGZO, etc.)" and "oxide containing indium and zinc (sometimes written as IZO, etc.)".

[0120] If the sentence 41_pp includes one of the words 32A_1 to 32A_n, or if the sentence 41_pp does not include any of the words 32A_1 to 32A_n, it is determined that the sentence 41_pp does not satisfy the condition A. In this case, the analysis proceeds to the next sentence (sentence 41_pp+1).

[0121] If sentence 41_pp includes word 32A_i1 (i1 is an integer between 1 and n) and word 32A_i2 (i2 is an integer between 1 and n, excluding i1), sentence 41_pp is determined to satisfy condition A. At this time, words 32A_i1 and 32A_i2 can be obtained from sentence 41_pp. If sentence 41_pp is determined to satisfy condition A, proceed to step S032.

[0122] [Step S032] Step S032 is a step of judging whether it is possible to obtain a word that is an edge between the words 32A_i1 and 32A_i2 from the sentence 41_pp. Hereinafter, the word that is an edge between the words 32A_i1 and 32A_i2 is referred to as the word 33A. If it is possible to obtain the word 33A, the process proceeds to step S033 after obtaining the words 32A_i1, 32A_i2, and 33A. The words 32A_i1, 32A_i2, and 33A may be obtained by performing steps S021 and S022. By performing steps S021 and S022 for the sentence 41_pp, a token is prepared from the sentence 41_pp, and the relationship between the tokens can be known. If it is not possible to obtain the word 33A from the sentence 41_pp, the process proceeds to the analysis of the next sentence (sentence 41_pp+1).

[0123] [Step S033] Step S033 is a process of abstracting the words 32A_i1, 32A_i2, and 33A. The process of abstracting the words 32A_i1, 32A_i2, and 33A is the same as step S023. Therefore, the explanation of step S023 can be referred to for the process of abstracting the words 32A_i1, 32A_i2, and 33A. Here, the abstracted words 32A_i1, 32A_i2, and 33A are written as the nodes 32_i1, 32_i2, and 33, respectively. The nodes 32_i1 and 32_i2 correspond to the nodes 22_i1 and 22_i2, respectively. After the words 32A_i1, 32A_i2, and 33A are abstracted, the process proceeds to step S034.

[0124] [Step S034] Step S034 is a process for determining whether edge 33 satisfies condition B. Here, condition B is satisfied when edge 33 coincides with the edge between node 22_i1 and node 22_i2 constituting graph 21. In other words, condition B is satisfied when a graph composed of node 32_i1, node 32_i2 and edge 33 extracted from sentence 41_pp becomes a local graph or an induced subgraph of graph 21.

[0125] A flag may be set for sentence 41_pp. For example, if it is determined that condition B is satisfied, the flag for sentence 41_pp may be set to on. On the other hand, if it is determined that condition B is not satisfied, the flag for sentence 41_pp may be set to off.

[0126] This completes the determination as to whether condition B is satisfied. After making this determination, the process proceeds to the analysis of the next sentence (sentence 41_pp+1).

[0127] The process of determining whether condition A is satisfied through the process of determining whether condition B is satisfied is carried out for all of sentences 41_1 through 41_p. When the analysis of sentences 41_p is completed, the process proceeds to the analysis of the next reference document.

[0128] The process of analyzing the reference document is not limited to the flowchart shown in Fig. 9. For example, the process may be a flowchart shown in Fig. 10. In the flowchart shown in Fig. 10, a search is performed for sentences that can create the local graphs 24_1 to 24_m from the reference document.

[0129] A local graph 24_mm (mm is an integer between 1 and m) is composed of two nodes and an edge between the two nodes. Here, one of the two nodes, a related word of one of the two nodes, and a hyponym of one of the two nodes are collectively represented as a word group 22A_m1 (m1 is an integer between 1 and n). The other of the two nodes, a related word of the other of the two nodes, and a hyponym of the other of the two nodes are collectively represented as a word group 22A_m2 (m2 is an integer between 1 and n, excluding m1). The edge, the related word of the edge, and the hyponym of the edge are collectively represented as a word group 23A_mm. That is, a sentence that can create a local graph 24_mm has at least one of the word groups 22A_m1, one of the word groups 22A_m2, and one of the word groups 23A_mm.

[0130] The step of analyzing the reference document shown in Fig. 10 includes a step S041. The analysis of the reference document may start from the local graph 24_1.

[0131] [Step S041] Step S041 is a step of judging whether or not the sentence 41_pp satisfies the condition D. Here, the sentence 41_pp satisfies the condition D when it includes any one of the word groups 22A_m1, any one of the word groups 22A_m2, and any one of the word groups 23A_mm.

[0132] If it is determined that statement 41_pp satisfies condition D, proceed to the next local graph (local graph 24_mm+1).

[0133] On the other hand, if it is determined that the sentence 41_pp does not satisfy the condition D, a similar determination is made for the sentence 41_pp+1. Note that, if it is determined that the condition D is not satisfied for all of the sentences 41_1 to 41_p, the process proceeds to the next local graph (local graph 24_mm+1).

[0134] A flag may be set for sentence 41_pp. For example, if it is determined that condition D is satisfied, the flag for sentence 41_pp may be set to on. On the other hand, if it is determined that condition D is not satisfied, the flag for sentence 41_pp may be set to off.

[0135] This is carried out for all of the local graphs 24_1 to 24_m. When the determination is completed up to the local graph 24_m, the analysis proceeds to the analysis of the next reference document.

[0136] The above is an explanation of a flowchart showing an example of analysis of a reference document, which is different from the flowchart shown in FIG.

[0137] Note that a vertex set Vr and an edge set Er may be created from the above reference document. For example, an edge that satisfies condition B and a node connected to the edge may be added to the edge set Er and the vertex set Vr, respectively. Note that if the edge is already included in the edge set Er, the edge does not need to be added. Also, if the node is already included in the vertex set Vr, the node does not need to be added. In this way, the edge set Er becomes the union of edges that satisfy condition B. Also, the vertex set Vr becomes the union of edges that satisfy condition B and nodes connected to them.

[0138] An example of the above will be described. Suppose two sentences satisfying condition B are confirmed in the reference document. Suppose a node matching node 22_1, a node matching node 22_2, and an edge matching edge 23_1 are extracted from one of the two sentences. Suppose also that a node matching node 22_n-1, a node matching node 22_n, and an edge matching edge 23_m are extracted from the other of the two sentences. At this time, the vertex set Vr is composed of the nodes 22_1, 22_2, 22_n-1, and 22_n. Suppose also that the edge set Er is composed of the edges 23_1 and 23_m.

[0139] In this way, the reference documents can be analyzed. After the above analysis has been completed for all the reference documents, the process proceeds to step S005.

[0140] [Step S005] Step S005 is a step of evaluating the reference document in the processing unit 106. Specifically, this is a step of adding points to the score of the reference document based on the similarity between the sentence 20 and the reference document, and calculating the score of the reference document.

[0141] The following describes an example of criteria for assigning points to the score of a reference document, and points to be assigned to the score of a reference document based on the criteria.

[0142] <<Criteria for assigning points 1>> The more nodes and edges that can be extracted from a reference document include the nodes and edges that make up graph 21, the higher the score given to that reference document. Here, the score given to the reference document based on criterion 1 is denoted as 61.

[0143] For example, the score 61 may be calculated from the number of subgraphs that can be created from the reference document and are included in the local graph group (local graph 24_1 to local graph 24_m) of graph 21. Specifically, the score 61 may be calculated from the ratio (represented as the inclusion rate) of the number of sentences s included in the reference document out of m sentences that can create each of local graphs 24_1 to 24_m to the number m of local graph groups of graph 21. Here, the inclusion rate is represented as (s / m).

[0144] In addition, s may be the number of sentences among sentences 41_1 to 41_p contained in the reference document that satisfy the above-mentioned condition B, or it may be the number of sentences among sentences 41_1 to 41_p contained in the reference document that satisfy the above-mentioned condition D.

[0145] In this case, if all of the m sentences that can create each of the local graphs 24_1 to 24_m are included in the reference document, the inclusion rate is 1. If none of the m sentences that can create each of the local graphs 24_1 to 24_m are included in the reference document, the inclusion rate is 0. Therefore, the product of the inclusion rate and the weight X1 may be set as a score 61 and assigned to the score of the reference document.

[0146] Also, for example, the score 61 may be calculated from the matching rate of edges that can be extracted from the reference document with respect to the edges that configure the graph 21. Specifically, it may be calculated from the ratio (represented as the matching rate) of the number of common parts between the edge set Er and the edge set E of the graph 21 to the number of elements of the edge set E. Here, the matching rate is defined as (t / m).

[0147] Here, t is the number of intersections between the edge set Er created in step S004 and the edge set E of the graph 21. Also, m is the number of elements |E| in the edge set E. In this case, the maximum value of the matching rate is 1, and the minimum value is 0. Therefore, it is advisable to assign the product of the matching rate and the weight X2 as a score 61 to the score of the reference document.

[0148] The weight X1 or the weight X2 may be specified in advance or may be specified by the user. The timing for the user to specify the weight X1 or the weight X2 may be any timing up to before step S005 is performed. For example, the timing may be when the sentence 20 is input or after step S002 is performed.

[0149] Although an example is shown in which the score 61 is calculated using the inclusion rate or the matching rate, the present invention is not limited to this. For example, the score 61 may be calculated from the Frobenius product (also called the Frobenius inner product) of the adjacency matrix of the graph 21 and an adjacency matrix created from the vertex set Vr, or may be calculated from the inner product of the connection matrix of the graph 21 and a connection matrix created from the vertex set Vr and the edge set Er.

[0150] <<Criteria for assigning points 2>> The closer the distance between the sentences in which the nodes and edges of graph 21 appear in the reference document, the higher the score of the reference document is assigned. For example, the score may be calculated from the distance between the sentence in which the nodes and edges of graph 21 appear and another sentence in which the nodes and edges of graph 21 appear. The distance may be calculated using the flag set in step S004. Here, the score assigned to the score of the reference document based on criterion 2 is expressed as a score of 62.

[0151] A sentence in which a node and an edge in graph 21 appear is defined as sentence 41_p1 (p1 is an integer between 1 and p inclusive), and another sentence in which a node and an edge in graph 21 appear is defined as sentence 41_p2 (p2 is an integer between 1 and p inclusive, excluding p1). Specifically, the distance r between sentence 41_p1 and sentence 41_p2 is defined as (|p1-p2|-1). In other words, when sentence 41_p1 and sentence 41_p2 are adjacent to each other, r is zero. Also, when sentence 41_p1 and sentence 41_p2 are the furthest apart, r is (p-2).

[0152] Therefore, the value (p-2-r) / (p-2) is calculated. When sentence 41_p1 and sentence 41_p2 are adjacent to each other, the value (p-2-r) / (p-2) is 1, and when sentence 41_p1 and sentence 41_p2 are the furthest apart, the value (p-2-r) / (p-2) is zero. Therefore, the product of the value (p-2-r) / (p-2) and the weight Y can be set as a score 62 and assigned to the score of the reference document.

[0153] The weight Y may be specified in advance or by the user. The user may specify the weight Y at any time up to the time before step S005 is performed. For example, the user may specify the weight Y when inputting the text 20 or after step S002 is performed.

[0154] The method of calculating the distance between a sentence in which a node and an edge appear and another sentence in which the node and an edge appear is not limited to the above. For example, when the graph 21 is a directed graph, for a node whose sum of the in-degree and the out-degree is 2 or more, the distance between a sentence that can extract an edge between the node and a node adjacent to the node and a sentence that can extract an edge between the node and another node adjacent to the node may be calculated.

[0155] <<Criteria for assigning points 3>> The closer the pre-abstraction nodes and edges obtained from the sentences included in the reference document are to the pre-abstraction nodes and edges constituting graph 21, the higher the score given to the reference document. For example, the score to be given may be determined by evaluating the relationship between the pre-abstraction nodes (edges) obtained from the sentences included in the reference document and the pre-abstraction nodes (edges) constituting graph 21. Here, the score given to the score of the reference document based on criterion 3 is denoted as 63.

[0156] As described above, abstraction is the process of replacing a token with a target word or a hypernym. In other words, a node before abstraction is a token before it is replaced with a hypernym or a target word, and is a token before step S023 is performed. In other words, a node before abstraction is a word itself that appears in a sentence included in the reference document.

[0157] Here, a case will be described in which word 32A_i3 (i3 is an integer between 1 and n) is acquired from a sentence included in a reference document. Note that node 32_i3 obtained by abstracting word 32A_i3 coincides with node 22_i3 in graph 21. Moreover, node 22_i3 before abstraction is represented as word 22A_i3. Word 22A_i3 is a word that appears in sentence 20.

[0158] For example, if word 32A_i3 and word 22A_i3 match, there is a high possibility that the reference document is similar to the sentence 20. Therefore, the reference document can be considered to be close to the concept of the sentence 20. In this case, the score 63 given to the reference document is increased.

[0159] If the word 32A_i3 and the word 22A_i3 do not match, the reference document and the sentence 20 are unlikely to be similar. Therefore, the reference document can be considered to be far from the concept of the sentence 20. In this case, the score 63 to be assigned to the score of the reference document is lowered or set to zero. Note that the score 63 to be assigned to the score of the reference document may be adjusted depending on the relationship between the word 32A_i3 and the word 22A_i3.

[0160] Here, a value representing the relationship between the word 32A_i3 and the word 22A_i3 is set as r2. The value r2 is calculated from the position of the word 32A_i3 when the word 22A_i3 is used as a reference. Here, an example of a method for calculating the value r2 will be described with reference to FIG.

[0161] FIG. 11 is a diagram for explaining word associations. As shown in FIG. 11, words A1 and A2 are hyponyms of word A0. Words A1 and A2 are related words to each other. Words A11 and A12 are hyponyms of word A1. Words A11 and A12 are related words to each other. Words A21 and A22 are hyponyms of word A2. Words A21 and A22 are related words to each other.

[0162] Here, as shown in Fig. 11, a word is linked to its hypernym. Also, a word is linked to its hyponym. At this time, the words shown in Fig. 11 (word A0, word A1, word A2, word A11, word A12, word A21, and word A22) can be regarded as nodes of a graph. Also, the lines connecting the words can be regarded as edges of the graph.

[0163] Let w1 be the distance between word A0 and word A1. Let w2 be the distance between word A0 and word A2. Let w11 be the distance between word A1 and word A11. Let w12 be the distance between word A1 and word A12. Let w21 be the distance between word A2 and word A21. Let w22 be the distance between word A2 and word A22.

[0164] Assume that the word 22A_i3 is the word A1 shown in Fig. 11. Also, the distance of the shortest path from the word 32A_i3 to the word 22A_i3 is W. The shortest path from the word 32A_i3 to the word 22A_i3 refers to the path that has the smallest number of edges among the paths connecting the word 32A_i3 and the word 22A_i3. In other words, the distance of the shortest path is the sum of the distances corresponding to the edges present on the shortest path.

[0165] When the word 32A_i3 matches the word 22A_i3, W is set to zero. When the word 32A_i3 is a hypernym of the word 22A_i3 (word A0 shown in FIG. 11), W is set to w1. When the word 32A_i3 is a hyponym of the word 22A_i3 (word A11 or word A12 shown in FIG. 11), W is set to w11 or w12. When the word 32A_i3 is an associated word of the word 22A_i3 (word A2 shown in FIG. 11), W is set to w1+w2. When the word 32A_i3 is a hyponym of an associated word of the word 22A_i3 (word A21 or A22 shown in FIG. 11), W is set to w1+w2+w21 or w1+w2+w22.

[0166] The value r2 may be calculated as 1 / (1+W), so that when the word 32A_i3 and the word 22A_i3 match, the value r2 is 1, and when the distance of the shortest path from the word 32A_i3 to the word 22A_i3 is the maximum, the value r2 is the minimum.

[0167] Alternatively, the value r2 may be calculated as (Wmax-W) / Wmax, where Wmax is the maximum value of the shortest path distance from the word 32A_i3 to the word 22A_i3. Thus, when the word 32A_i3 and the word 22A_i3 match, the value r2 is 1, and when the shortest path distance from the word 32A_i3 to the word 22A_i3 is maximum, the value r2 is zero.

[0168] The product of the value r2 calculated by the above method and the weight Z1 may be set as a score of 63 and assigned to the score of the reference document.

[0169] The word distances (distance w1, distance w2, distance w11, distance w12, distance w21, and distance w22) may be specified in advance or by the user. The user may specify the word distances up to the time before step S005. For example, the user may specify the word distances when inputting the sentence 20 or after step S002.

[0170] For edges, the score 63 to be assigned to the score of the reference document may be determined in a similar manner to that described above. For example, the score 63 may be the product of the value r2 and the weight Z2.

[0171] In addition, when the graph 21 is a directed graph, the edges have a direction. Therefore, when the direction of an edge obtained from a sentence included in a reference document is the same as the direction of an edge in the graph 21, the edge can be considered to be close to the concept of the graph 21 before abstraction. In this case, it is advisable to give a high score 63 to the score of the reference document. On the other hand, when the direction of an edge extracted from a sentence included in a reference document is opposite to the direction of the edge in the graph 21, the edge can be considered to be far from the concept of the graph 21 before abstraction. In this case, it is advisable to give a low score 63 to the score of the reference document, or to set it to zero.

[0172] The weights Z1 and Z2 may be specified in advance or by the user. The user may specify the weights Z1 and Z2 at any time before step S005. For example, the user may specify the weights Z1 and Z2 at the time of inputting the text 20 or after step S002.

[0173] <<Criteria for assigning points 4>> Depending on the search conditions, if the node and edge are a superordinate or subordinate concept in the graph 21, points are added to the score of the reference document. For example, it is advisable to adjust the values ​​of the inter-word distances (distance w1, distance w2, distance w11, distance w12, distance w21, and distance w22) shown in Fig. 11. Here, the point added to the score of the reference document based on criterion 4 is expressed as 64 points.

[0174] When searching for a document that is a superordinate concept of graph 21, distance w11 and distance w12 are set to infinity or a value that is very large compared to the value of other inter-word distances (e.g., distance w1). This allows the score 64 assigned to the score of a reference document that is a subordinate concept of graph 21 to be a value close to zero. This improves the searchability of reference documents that are superordinate concepts of graph 21. Note that distance w2, or distances w21 and w22 may be set to infinity or a value that is very large compared to the value of other inter-word distances (e.g., distance w1). This further improves the searchability of reference documents that are superordinate concepts of graph 21.

[0175] When searching for a document that is a subordinate concept of graph 21, the distance w1 is set to infinity or a value that is very large compared to the value of other inter-word distances (for example, the distance w11). This allows the score of 64 assigned to the reference document that is a superordinate concept of graph 21 to be a value close to zero. This improves the searchability of the reference document that is a subordinate concept of graph 21.

[0176] As a result, documents can be efficiently searched for according to search conditions.

[0177] The above is an example of the criteria for assigning points to the score of a reference document and the points to be assigned to the score of the reference document based on the criteria. The points to be assigned to the score of a reference document may be an appropriate combination of one or more of the above-mentioned criteria 1 to 4. The criteria for the points to be assigned to the score of a reference document are not limited to the above, and the score of the reference document may be calculated by setting appropriate conditions.

[0178] <<Example of calculating the score of a reference document>> Here, an example of calculating the scores of reference documents will be described with reference to Figures 12A, 12B, 13A, and 13B. For ease of explanation, this section uses graph 21A having the configuration shown in Figure 12A. Also, it is assumed that there are four reference documents to be searched (reference document 40a, reference document 40b, reference document 40c, and reference document 40d).

[0179] Each of the reference documents 40a to 40d is assumed to be composed of 10 sentences. That is, the p of each of the reference documents 40a to 40d is assumed to be 10. In this case, the reference document 40a is composed of sentences 41a_1 to 41a_10, the reference document 40b is composed of sentences 41b_1 to 41b_10, the reference document 40c is composed of sentences 41c_1 to 41c_10, and the reference document 40d is composed of sentences 41d_1 to 41d_10.

[0180] Graph 21A shown in Fig. 12A is another example of graph 21. Graph 21A is composed of nodes 22_1 to 22_4 and edges 23_1 to 23_3. The start point of edge 23_1 is node 22_1, and the end point of edge 23_1 is node 22_2. The start point of edge 23_2 is node 22_2, and the end point of edge 23_2 is node 22_3. The start point of edge 23_3 is node 22_1, and the end point of edge 23_3 is node 22_4.

[0181] 12A are local graphs of the graph 21A and are also subgraphs of the graph 21A. The local graph 24_1 is composed of a node 22_1, a node 22_2, and an edge 23_1. The local graph 24_2 is composed of a node 22_2, a node 22_3, and an edge 23_2. The local graph 24_3 is composed of a node 22_1, a node 22_4, and an edge 23_3.

[0182] Moreover, a sentence that can form local graph 24_1 is defined as sentence 30_1. That is, local graph 24_1 can be formed from words extracted from sentence 30_1. Moreover, a sentence that can form local graph 24_2 is defined as sentence 30_2. That is, local graph 24_2 can be formed from words extracted from sentence 30_2. Moreover, a sentence that can form local graph 24_3 is defined as sentence 30_3. That is, local graph 24_3 can be formed from words extracted from sentence 30_3.

[0183] 12B, the reference document 40a includes sentences 30_1 to 30_3. Among the sentences included in the reference document 40a, a sentence 41a_5 corresponds to the sentence 30_1, a sentence 41a_6 corresponds to the sentence 30_2, and a sentence 41a_8 corresponds to the sentence 30_3.

[0184] 12B, reference document 40b includes sentences 30_1 and 30_2, but does not include sentence 30_3. Of the sentences included in reference document 40b, sentence 41b_5 corresponds to sentence 30_1, and sentence 41b_6 corresponds to sentence 30_2.

[0185] 12B, reference document 40c includes sentences 30_1 and 30_2, but does not include sentence 30_3. Of the sentences included in reference document 40c, sentence 41c_2 corresponds to sentence 30_1, and sentence 41c_6 corresponds to sentence 30_2.

[0186] 12B, it is assumed that reference document 40d includes sentence 30_1, but does not include sentences 30_2 and 30_3. Of the sentences included in reference document 40d, sentence 41d_2 corresponds to sentence 30_1.

[0187] In addition, the significant figures (last significant digit) of the values ​​calculated based on each criterion (including the inclusion rate, value (p-2-r) / (p-2), value r2, etc.), weights (weight X1, weight Y1, and weight Z1), scores to be assigned, etc. may be adjusted appropriately according to the number of reference documents to be evaluated. For example, the more reference documents to be evaluated, the larger the significant figure may be, or the smaller the last significant digit may be. Note that, in this case, the last significant digit is assumed to be one decimal place.

[0188] First, an example of assigning a score 61 to each of the scores of the reference documents 40a to 40d based on the above-mentioned criterion 1 will be described with reference to Fig. 12B. Note that the weight X1 is set to 1.00.

[0189] The inclusion rate (and score 61 to be assigned) for reference document 40a is 1.00. The inclusion rates (and score 61 to be assigned) for reference documents 40b and 40c are 0.67 (=2 / 3). The inclusion rate (and score 61 to be assigned) for reference document 40d is 0.33 (=1 / 3). Therefore, of the four reference documents, the score 61 to be assigned to the score of reference document 40a is the highest, the scores 61 to be assigned to the scores of reference documents 40b and 40c are next highest, and the score 61 to be assigned to the score of reference document 40d is the lowest.

[0190] Next, an example of assigning a score 62 to each of the scores of the reference documents 40a to 40d based on the above-mentioned criterion 2 will be described with reference to Fig. 13A. Note that the weight Y is set to 1.00.

[0191] In the reference document 40a and the reference document 40b, the distance r between the sentence 30_1 and the sentence 30_2 is zero. Therefore, the value (p-2-r) / (p-2) (and the score 62 to be given) is 1.00. In the reference document 40c, the distance r between the sentence 30_1 and the sentence 30_2 is 3. Therefore, the value (p-2-r) / (p-2) (and the score 62 to be given) is 0.63 (=5 / 8). Therefore, the score 62 to be given to the score of the reference document 40b is higher than the score 62 to be given to the score of the reference document 40c. In the reference document 40d, the distance r between the sentence 30_1 and the sentence 30_2 cannot be calculated, so the value (p-2-r) / (p-2) (and the score 62 to be given) is 0.00.

[0192] Next, an example of assigning scores 63 and 64 (scores 64A and 64B) to the scores of reference documents 40a to 40d, respectively, based on the above-mentioned criteria 3 and criteria 4 will be described with reference to FIG. 13B. Specifically, a method of calculating scores 63 and 64 to be assigned to the scores of the reference documents from sentence 30_1 contained in each of reference documents 40a to 40d will be described. Note that weight Z1 is 1.00. Value r2 is calculated as 1 / (1+W).

[0193] Here, it is assumed that a word 32A_1 is extracted from a sentence 30_1. It is assumed that the abstracted word 32A_1 coincides with a node 22_1. Here, the node 22_1 before abstraction is assumed to be a word 22A_1. The word 22A_1 is a word that appears in a sentence 20. It is assumed that the word 22A_1 is a word A1 shown in FIG. 11.

[0194] As shown in Fig. 13B, the word 32A_1 obtained from the reference document 40a is the word A1 shown in Fig. 11. The word 32A_1 obtained from the reference document 40b is the word A11 shown in Fig. 11. The word 32A_1 obtained from the reference document 40c is the word A0 shown in Fig. 11. The word 32A_1 obtained from the reference document 40d is the word A22 shown in Fig. 11.

[0195] In the above case, W in reference document 40a is zero, W in reference document 40b is w11, W in reference document 40c is w1, and W in reference document 40d is w1+w2+w22.

[0196] First, the inter-word distances (distance w1, distance w2, distance w11, distance w12, distance w21, and distance w22) shown in FIG.

[0197] In this case, the value of r2 in reference document 40a is 1.00, the value of r2 in reference document 40b is 0.50 (=1 / 2), the value of r2 in reference document 40c is 0.50 (=1 / 2), and the value of r2 in reference document 40d is 0.25 (=1 / 4).

[0198] From the above, of the four reference documents, the score 63 assigned to reference document 40a is the highest, the scores 63 assigned to reference documents 40b and 40c are the next highest, and the score 63 assigned to reference document 40d is the lowest.

[0199] By setting all inter-word distances to 1, the score of reference documents that are close to the concept of sentence 20 can be increased.

[0200] Next, the distance w1, the distance w21, and the distance w22 are set to 1.00, and the distance w2, the distance w11, and the distance w12 are set to infinity.Here, the score given to the reference document is set to 64A.

[0201] In this case, the value r2 in reference document 40a is 1.00, the value r2 in reference document 40b is substantially 0, the value r2 in reference document 40c is 0.50 (=1 / 2), and the value r2 in reference document 40d is substantially 0.

[0202] From the above, among the four reference documents, the score 64A assigned to the score of reference document 40a is the highest, the score 64A assigned to the score of reference document 40c is the next highest, and the score 64A assigned to the scores of reference document 40b and reference document 40d is the lowest.

[0203] By setting the inter-word distance as described above, the score of a reference document that is close to a superordinate concept of the sentence 20 can be increased.

[0204] Next, the distance w2, the distance w11, the distance w12, the distance w21, and the distance w22 are set to 1.00, and the distance w1 is set to infinity.Here, the score given to the reference document is set to 64B.

[0205] In this case, the value r2 in reference document 40a is 1.00, the value r2 in reference document 40b is 0.50 (=1 / 2), the value r2 in reference document 40c is substantially 0, and the value r2 in reference document 40d is substantially 0.

[0206] From the above, among the four reference documents, the score 64B assigned to the score of reference document 40a is the highest, the score 64B assigned to the score of reference document 40b is the next highest, and the scores 64B assigned to the scores of reference document 40c and reference document 40d are the lowest.

[0207] By setting the inter-word distance as described above, the score of a reference document that is close to a subordinate concept of the sentence 20 can be increased.

[0208] In this manner, the score of the reference document can be calculated.

[0209] In the above description, the weights X1, Y, and Z1 are all set to 1.00, but this is not limiting. For example, if it is desired to search for documents by focusing on words used in sentence 20, the value of weight Z1 should be set to be greater than the values ​​of weight X1 and weight Y. Also, for example, if it is desired to search for documents by focusing on edges in graph 21A, the value of weight X1 and / or weight Y should be set to be greater than the value of weight Z1.

[0210] This concludes the description of step S005. By performing step S005, a score is assigned to the reference document based on the similarity between the document 20 and the reference document. Thus, the higher the score of the reference document, the higher the similarity between the document 20 and the reference document. Therefore, documents similar to the document 20 can be searched for.

[0211] The above method allows searching for documents. Note that the method for searching for documents is not limited to the above. For example, as shown in Fig. 14, the method for searching for documents may include steps S011 and S012 in addition to steps S001 to S005.

[0212] [Step S011] Step S011 is a process of narrowing down the reference documents, and is performed between steps S003 and S004. Below, a flowchart of narrowing down the multiple reference documents (reference documents 40_1 to 40_q (q is an integer equal to or greater than 1)) acquired in step S003 will be described with reference to FIG.

[0213] Step S011 may start from the reference document 40_1.

[0214] It is determined whether reference document 40_qq (qq is an integer between 1 and q) satisfies condition C. Here, condition C is satisfied when reference document 40_qq includes all of words 32A_1 to 32A_n described in step S004.

[0215] If it is determined that the reference document 40_qq satisfies the condition C, the reference document 40_qq is extracted. If it is determined that the reference document 40_qq does not satisfy the condition C, the reference document 40_qq is not extracted.

[0216] Note that condition C is not limited to the above. For example, satisfying condition C may be the case where reference document 40_qq includes part of words 32A_1 to 32A_n described in step S004. This allows a search for similar documents based on the part of words 32A_1 to 32A_n.

[0217] This completes the determination as to whether condition C is satisfied. After making this determination, the process proceeds to analysis of the next reference document (reference document 40_qq+1).

[0218] The step of determining whether or not the condition C is satisfied is performed for all of the reference documents 40_1 to 40_q. When the narrowing down to the reference document 40_q is completed, the process proceeds to step S004.

[0219] By performing step S011, it is possible to extract only reference documents similar to document 20 from among a plurality of reference documents. This makes it possible to narrow down the reference documents to be compared with document 20, thereby shortening the time required to search for documents.

[0220] [Step S012] Step S012 is a step of outputting information in the output unit 104. The information is information related to the result calculated in the processing unit 106. For example, the information is the score of the reference document. Or, the information is the reference document with the highest score. Or, the information is ranking data ranked based on the score.

[0221] The information is output to the output unit 104 as visual information such as character strings, numerical values, and graphs, audio information, etc. The information may also be output to the storage unit 107, a memory included in the processing unit 106, etc.

[0222] The above is an explanation of the method for searching documents. By using the method for searching documents, which is one aspect of the present invention, it is possible to search for documents similar to a sentence specified for searching, taking into account the concept of the sentence. Furthermore, it is possible to search for documents similar to a sentence specified for searching in a ranked state. Furthermore, it is possible to perform a search based on the concept of the sentence, without being easily affected by the structure or expression of the sentence. Furthermore, if the concept of the sentence is the same in two sentences in different languages, the graphs created from each of the two sentences will be the same. Therefore, by using the method for searching documents, which is one aspect of the present invention, it is possible to facilitate document search between different languages.

[0223] According to one aspect of the present invention, a method for searching for documents that takes into account document concepts can be provided.

[0224] 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.

[0225] (Embodiment 2) In this embodiment, a document retrieval system according to one embodiment of the present invention will be described with reference to FIGS.

[0226] The document retrieval system of this embodiment can easily retrieve documents by using the method for retrieving documents shown in the first embodiment.

[0227] <Document search system configuration example 1> 16 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.

[0228] The document retrieval system 200 has at least a processing unit 202. The document retrieval system 200 shown in FIG.

[0229] [Input section 201] A sentence is supplied to the input unit 201 from outside the document search system 200. The sentence is a search sentence, and corresponds to the sentence 20 shown in the first embodiment. A plurality of reference documents may also be supplied to the input unit 201 from outside the document search system 200. The plurality of reference documents are documents to be compared with the above sentence, and correspond to the plurality of reference documents shown in the first embodiment. The plurality of reference documents and the above sentence 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.

[0230] The plurality of reference documents and the sentences are input as, for example, text data, audio data, or image data. It is preferable that the sentences included in each of the plurality of reference documents are input as text data.

[0231] Methods for inputting the above-mentioned text include, for example, key input using a keyboard, touch panel, etc., voice input using a microphone, reading from a recording medium, image input using a scanner, camera, etc., and acquisition via communication.

[0232] 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.

[0233] 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.

[0234] [Processing section 202] The processing unit 202 has a function of performing processing using data supplied from the input unit 201, the storage unit 203, the database 204, etc. The processing unit 202 can supply the processing results to the storage unit 203, the database 204, the display unit 205, etc.

[0235] The processing unit 202 includes the processing unit 106 described 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. The processing unit 202 also has a function of analyzing a reference document and a function of evaluating the reference document.

[0236] 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 can be reduced.

[0237] 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.

[0238] 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.

[0239] 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.

[0240] The processing section 202 may be formed using a transistor including silicon in a channel formation region.

[0241] 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.

[0242] The processing unit 202 includes, for example, an arithmetic circuit or a central processing unit (CPU: Central Processing Unit).

[0243] 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.

[0244] 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.

[0245] 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.

[0246] 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.

[0247] [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 processing 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 generated by the processing unit 202 (for example, the graph 21 shown in the first embodiment), a calculated score result, and the like.

[0248] 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).

[0249] [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 reference 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 reference documents stored in the database 204. In addition, the database 204 may store a concept dictionary.

[0250] 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.

[0251] 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.

[0252] [Display section 205] The display unit 205 has a function of displaying the processing result in the processing unit 202. The display unit 205 also has a function of displaying the reference document and the score result calculated for the reference document. The display unit 205 may also have a function of displaying search sentences.

[0253] The document search system 200 may have an output unit. The output unit has a function of supplying data to an external device.

[0254] [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 search sentence and a reference document to be compared with the search sentence is transmitted and received via the transmission path 206.

[0255] <Document search system configuration example 2> 17 shows a block diagram of a document retrieval system 210. The document retrieval system 210 includes a server 220 and a terminal 230 (such as a personal computer).

[0256] 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. 17, the server 220 may further include an input / output unit and the like.

[0257] 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. 17, the terminal 230 may further include a database or the like.

[0258] A user of the document search system 210 inputs a sentence into the input unit 201 of the terminal 230. The sentence is a search sentence, and corresponds to the sentence 20 shown in the embodiment 1. The sentence is transmitted from the communication unit 217b of the terminal 230 to the communication unit 217a of the server 220.

[0259] The text received by the communication unit 217a is stored in the storage unit 213 via the transmission path 212. Alternatively, the text may be directly supplied to the processing unit 202 from the communication unit 217a.

[0260] High processing power is required for the creation of graphs and the analysis and evaluation of reference documents described in the first embodiment. 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 graphs and the analysis and evaluation of reference documents are performed by the processing unit 202.

[0261] Then, a score is calculated by processing unit 202. The score is stored in storage unit 213 via transmission path 212. Alternatively, the score may be directly supplied from processing unit 202 to communication unit 217a. The score is transmitted from communication unit 217a of server 220 to communication unit 217b of terminal 230. The score is displayed on display unit 205 of terminal 230.

[0262] [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.

[0263] [Processing unit 202 and processing unit 218] The processing unit 202 has a function of performing processing using data supplied from the storage unit 213, the communication unit 217a, etc. The processing unit 218 has a function of performing processing using data supplied from the input unit 201, the storage unit 203, the display unit 205, the communication unit 217b, etc. For the processing unit 202 and the processing unit 218, refer to the description of the processing unit 202. It is preferable that the processing unit 202 has a higher processing capacity than the processing unit 218.

[0264] [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.

[0265] [Storage section 213] The storage unit 213 has a function of storing a plurality of reference documents, the processing results generated by the processing unit 202, data input to the communication unit 217a, and the like.

[0266] [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.).

[0267] 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).

[0268] This embodiment mode can be combined with other embodiment modes as appropriate. [Explanation of symbols]

[0269] A0:word, A1:word, A2:word, A11:word, A12:word, A21:word, A22:word, r2:value, w1:distance, w2:distance, w11:distance, w12:distance, w21:distance, w22:distance, 20:sentence, 21:graph, 21A:graph, 22_i:node, 22_i1:node, 22_i2:node, 22_i3:node, 22_n:node, 22_n-1:node, 22_1:node, 22_2:node, 22_3:node, 22_4:node, 22A_i3:word, 22A_m1:word group, 22A_m2:word group ,22A_1: word, 23_m: edge, 23_m-1: edge, 23_1: edge, 23_2: edge, 23_3: edge, 23A_mm: word group, 24_m: local graph, 24_mm: local graph, 24_1: local graph, 24_2: local graph, 24_3: local graph, 30_1: sentence, 30_2: sentence, 30_3: sentence, 32_i1: node, 32_i2: node, 32_i3: node, 32A_i: word, 32A_i1: word, 32A_i2: word, 32A_i3: word, 32A_n: word, 32A_1: word, 33: edge, 33A:word, 40_q:reference document, 40_qq:reference document, 40_1:reference document, 40a:reference document, 40b:reference document, 40c:reference document, 40d:reference document, 41_p:sentence, 41_p1:sentence, 41_p2:sentence, 41_pp:sentence, 41_1:sentence, 41a_1:sentence, 41a_5:sentence, 41a_6:sentence, 41a_8:sentence, 41a_10:sentence, 41b_1:sentence, 41b_5:sentence, 41b_6:sentence, 41b_10:sentence, 41c_1:sentence, 41c_2:sentence, 41c_6:sentence, 41c_10:sentence, 41d_1:sentence, 41d_2:sentence, 41d _10: sentence, 61: score, 62: score, 63: score, 64: score, 64A: score, 64B: score, 100: document search system, 101: input unit, 104: output unit, 106: processing unit, 107: memory 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

1. A processing unit is provided. The processing unit has a function of creating a graph from a sentence, A search graph is created from the search text, the search graph includes first to m-th (m is an integer equal to or greater than 1) search local graphs, each of the first to mth local graphs for search is composed of two nodes and an edge between the two nodes; The processing unit further has a function of searching for first to mth sentences from the reference document; the i-th sentence (i is an integer between 1 and m) has a (3i-2)-th word, a (3i-1)-th word, and a 3i-th word; The (3i-2) word is one of the two nodes in the i-th local graph for search, a related word of one of the two nodes, or a hyponym of one of the two nodes, the (3i-1) word is the other of the two nodes in the i local graph for search, a related word of the other of the two nodes, or a hyponym of the other of the two nodes, the 3ith word is the edge, a related word of the edge, or a hyponym of the edge in the ith local graph for search, The processing unit further has a function of adding a first point to the score of the reference document based on the number of sentences included in the reference document among the first to mth sentences. Document retrieval system.

2. In claim 1, The processing unit includes: a function of adding a second point to the score of the reference document based on a distance between the jth sentence and the kth sentence, when the reference document includes a jth sentence (j is an integer between 1 and m) and a kth sentence (k is an integer between 1 and m, excluding j); A function of calculating a score of the reference document based on the points assigned to the score of the reference document; having Document retrieval system.

3. In claim 2, the processing unit has a function of assigning a third point to the score of the reference document based on a conceptual closeness between a (3j-2)-th word included in the j-th sentence and a word that is an origin of one of the two nodes in the j-th local graph for retrieval. Document retrieval system.

4. In any one of claims 1 to 3, The processing unit has a function of extracting, from a plurality of reference documents, a reference document including a (3l-2)-th word and a (3l-1)-th word included in an l-th sentence (l is an integer not less than 1 and not more than m). Document retrieval system.

5. In any one of claims 1 to 4, The function of creating a graph from text that the processing unit has is Splitting the text into a number of tokens; A function to perform dependency analysis, a function of concatenating a portion of tokens according to a result of the dependency analysis; A function of evaluating a connection relationship between tokens according to a result of the dependency analysis; A function of constructing the graph based on the connection relationships between the tokens; having Document retrieval system.

6. In claim 5, The function of creating a graph from the sentence, which is possessed by the processing unit, further comprises a function of replacing a token in which a target word or a hypernym exists with the target word or the hypernym. Document retrieval system.

7. In any one of claims 1 to 6, In addition to the processing unit, an input unit is provided, The input unit has a function of supplying the search sentence to the processing unit. Document retrieval system.

8. In claim 7, In addition to the processing unit and the input unit, an output unit is provided, The output unit has a function of providing a score of the reference document. Document retrieval system.

Citation Information

Patent Citations

  • Automatic key word extracting device

    JP1996044763A

  • Language processing apparatus, method and program

    JP2005258624A

  • Content retrieval system and method using ontology

    JP2010205265A

  • Document search system, debate system, and document search method

    WO2016067334A1