How the system operates
The document search system addresses the challenge of accurate document retrieval by employing a processing unit that extracts keywords, assigns weights, and scores documents, resulting in efficient and relevant search results for intellectual property-related documents.
Patent Information
- Application Number
- JP2023120817
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2018-03-23
- Filing Date
- 2023-07-25
- Publication Date
- 2025-06-05
- Estimated Expiration
- 2039-03-13
AI Technical Summary
Existing document retrieval systems require high user skills for accurate searching, especially in intellectual property-related documents, and struggle to efficiently rank relevant documents.
A document search system that includes a processing unit capable of extracting keywords, related words, assigning weights, scoring documents, and generating ranking data, utilizing techniques such as inverse document frequency and distributed representation vectors to enhance search accuracy.
The system enables high-accuracy document retrieval with a simple input method, particularly for intellectual property-related documents, reducing user burden and improving search efficiency by ranking results based on relevance.
Smart Images

Figure 0007689162000002 
Figure 0007689162000003 
Figure 0007689162000004
Abstract
Description
Technical Field
[0001] One aspect of the present invention relates to a document retrieval system, a document retrieval method, a program, and a non-transitory computer-readable storage medium. One aspect of the present invention relates to a document retrieval system and a document retrieval method related to intellectual property.
[0002] Note that one aspect of the present invention is not limited to the above technical field. Examples of the technical field of one aspect of the present invention include semiconductor devices, display devices, light-emitting devices, power storage devices, storage devices, electronic devices, lighting devices, input devices (for example, touch sensors, etc.), input / output devices (for example, touch panels, etc.), their driving methods, or their manufacturing methods.
Background Art
[0003] By conducting a prior art search on an invention before filing, it is possible to investigate whether there are any related intellectual property rights. Patent documents and papers at home and abroad obtained by conducting a prior art search can be used to confirm the novelty and inventiveness of the invention and to determine whether to file a patent. In addition, by conducting an invalidation search of patent documents, it is possible to investigate whether there is a risk that the patent rights owned by oneself will be invalidated, or whether it is possible to invalidate the patent rights owned by others.
[0004] For example, in a system for searching patent documents, when a user inputs a keyword, patent documents containing the keyword can be output.
[0005] In order to conduct a prior art search with high accuracy using such a system, high skills are required of the user, such as searching with appropriate keywords and extracting necessary patent documents from a large number of output patent documents.
[0006] In addition, the utilization of artificial intelligence is being considered in various applications. In particular, by using artificial neural networks and the like, it is expected that a computer with higher performance than a conventional Neumann-type computer can be realized, and in recent years, various studies on constructing artificial neural networks on electronic circuits have been advanced.
[0007] For example, Patent Document 1 discloses an invention in which a storage device using a transistor having an oxide semiconductor in a channel formation region holds weight data necessary for calculations using an artificial neural network.
Prior Art Documents
Patent Documents
[0008]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0009] Therefore, one aspect of the present invention is to provide a document search system capable of searching documents with high accuracy. Or, one aspect of the present invention is to provide a document search method capable of searching documents with high accuracy. Or, one aspect of the present invention is to realize document search with high accuracy, particularly search for documents related to intellectual property, with a simple input method.
[0010] Note that the description of these problems does not prevent the existence of other problems. One aspect of the present invention does not necessarily have to solve all of these problems. It is possible to extract other problems from the description of the specification, drawings, and claims.
Means for Solving the Problems
[0011] One aspect of the present invention is a document search system having a processing unit. The processing unit has a function of extracting keywords included in document data, a function of extracting related words of the keywords from among the words included in a plurality of first reference document analysis data, a function of assigning weights to each of the keywords and the related words, a function of assigning scores to each of the plurality of second reference document analysis data based on the weights, a function of generating ranking data by ranking the plurality of second reference document analysis data based on the scores, and a function of outputting the ranking data.
[0012] One aspect of the present invention is a document search method for extracting keywords included in document data, extracting related words of the keywords from among the words included in a plurality of first reference document analysis data, assigning weights to each of the keywords and the related words, assigning scores to each of the plurality of second reference document analysis data based on the weights, generating ranking data by ranking the plurality of second reference document analysis data based on the scores, and outputting the ranking data.
[0013] One aspect of the present invention is a program for causing a processor to execute a first step of extracting keywords included in document data, a second step of extracting related words of the keywords from among the words included in a plurality of first reference document analysis data, a third step of assigning weights to each of the keywords and the related words, a fourth step of assigning scores to each of the plurality of second reference document analysis data based on the weights of the keywords or related words that match the words included in the second reference document analysis data, and a fifth step of generating ranking data by ranking the plurality of second reference document analysis data based on the scores. Further, one aspect of the present invention is a non-transitory computer-readable storage medium storing the above program.
[0014] The weight of the keyword is preferably a value based on the inverse document frequency of the keyword in a plurality of first reference text analysis data or a plurality of second reference text analysis data. The weight of the related word is preferably the product of a value based on the similarity or distance between the distributed representation vector of the related word and the distributed representation vector of the keyword, and the weight of the keyword.
[0015] It is preferable to assign scores to the second reference text analysis data having words that match the keyword or the related word.
[0016] The plurality of first reference text analysis data may be the same as the plurality of second reference text analysis data.
[0017] The related word is preferably extracted using a distributed representation vector obtained by machine learning the distributed representations of words included in a plurality of first reference text analysis data.
[0018] The related word is preferably extracted from among the words included in the plurality of first reference text analysis data based on the degree of similarity or proximity of the distance between the distributed representation vector of the word and the distributed representation vector of the keyword. The distributed representation vector of the word is preferably a vector generated using a neural network.
[0019] As a function of extracting the keyword included in the text data, it preferably has a function of generating analysis data by performing morphological analysis of the text data, and a function of extracting the keyword from the analysis data. The keyword is preferably extracted from among the words included in the analysis data based on the high inverse document frequency in a plurality of first reference text analysis data or a plurality of second reference text analysis data.
[0020] The weight is preferably changeable by the user.
[0021] The first reference document analysis data is data generated by performing morphological analysis on the first reference document data, and the second reference document analysis data is preferably data generated by performing morphological analysis on the second reference document data.
[0022] The document retrieval system according to one aspect of the present invention preferably includes an electronic device and a server. The electronic device has a first communication unit. The server has the above processing unit and a second communication unit. The first communication unit has a function of supplying document data to the server by one or both of wired communication and wireless communication. The processing unit has a function of supplying ranking data to the second communication unit. The second communication unit has a function of supplying ranking data to the electronic device by one or both of wired communication and wireless communication.
[0023] The processing unit may have a transistor having a metal oxide in the channel formation region, or may have a transistor having silicon in the channel formation region.
Advantages of the Invention
[0024] According to one aspect of the present invention, a document retrieval system capable of retrieving documents with high accuracy can be provided. Alternatively, according to one aspect of the present invention, a document retrieval method capable of retrieving documents with high accuracy can be provided. Alternatively, according to one aspect of the present invention, with a simple input method, high-accuracy document retrieval, particularly retrieval of documents related to intellectual property, can be realized.
[0025] Note that the description of these effects does not prevent the existence of other effects. One aspect of the present invention does not necessarily have to have all of these effects. It is possible to extract other effects from the descriptions in the specification, drawings, and claims.
Brief Description of the Drawings
[0026]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Mode for Carrying Out the Invention
[0027] The embodiments will be described in detail with reference to the drawings. However, the present invention is not limited to the following description, and those skilled in the art can easily understand that the form and details can be variously changed without departing from the spirit and scope of the present invention. Therefore, the present invention should not be construed as being limited to the description of the embodiments shown below.
[0028] In the configuration of the invention described below, the same parts or parts having the same functions are commonly used with the same reference numerals among different drawings, and the repeated description thereof is omitted. In addition, when referring to the same function, the hatch pattern may be the same, and there may be cases where no reference numerals are particularly assigned.
[0029] In addition, the positions, sizes, ranges, etc. of each component shown in the drawings may not represent the actual positions, sizes, ranges, etc. for the sake of simplicity of understanding. Therefore, the disclosed invention is not necessarily limited to the positions, sizes, ranges, etc. disclosed in the drawings.
[0030] Note that the terms "film" and "layer" can be interchanged with each other in some cases or depending on the situation. For example, the term "conductive layer" can be changed to the term "conductive film". Or, for example, the term "insulating film" can be changed to the term "insulating layer".
[0031] (Embodiment 1) In this embodiment, a document search system and a document search method according to one aspect of the present invention will be described with reference to FIGS. 1 to 11.
[0032] One aspect of the present invention is a document search system having a processing unit. The processing unit has a function of extracting keywords included in document data, a function of extracting related words of the keywords from among the words included in a plurality of first reference document analysis data, a function of assigning weights to each of the keywords and the related words, a function of assigning scores to each of the plurality of second reference document analysis data based on the weights, a function of generating ranking data by ranking the plurality of second reference document analysis data based on the scores, and a function of outputting the ranking data.
[0033] In the document search system according to one aspect of the present invention, related words of the keywords can be extracted using the first reference document analysis data, and data related to or similar to the document data can be searched for using the second reference document analysis data as the search target.
[0034] The first reference text analysis data and the second reference text analysis data may be the same. In this case, in the document retrieval system according to one aspect of the present invention, related words of a keyword can be extracted using the reference text analysis data to be retrieved. Further, the first reference text analysis data may include part or all of the second reference text analysis data.
[0035] That is, the processing unit included in the document retrieval system according to one aspect of the present invention may have a function of extracting a keyword included in the document data, a function of extracting related words of the keyword from among the words included in a plurality of reference text analysis data, a function of assigning a weight to each of the keyword and the related words, a function of assigning a score to each of the plurality of reference text analysis data based on the weight, a function of generating ranking data by ranking the plurality of reference text analysis data based on the score, and a function of outputting the ranking data.
[0036] In a document retrieval system, when a user selects a keyword to be used for retrieval, the user is required to select the keyword to be used for retrieval in consideration of not only the keyword itself but also synonyms, similar words, and variations in notation of the keyword. Therefore, keyword selection is a burden on the user, and differences due to skill are likely to occur. Also, it is a burden for the user to find necessary documents from among many documents output by the document retrieval system.
[0037] Here, the document search system according to one aspect of the present invention has a function of extracting keywords included in document data and related words of the keywords. Therefore, a user of the document search system according to one aspect of the present invention does not need to select the keywords to be used for the search by himself / herself. The user can directly input document data (text data) having a larger volume than the keywords into the document search system. Also, when the user himself / herself wants to select keywords and related words, there is no need to select them from scratch. The user can refer to the keywords and related words extracted by the document search system and perform operations such as addition, modification, and deletion of the keywords and related words. Therefore, the burden on the user in document search can be reduced, and it is less likely to cause differences in search results due to the user's skills.
[0038] In particular, the document search system according to one aspect of the present invention has a function of extracting related words of keywords from among the words included in a plurality of reference document analysis data. When extracting related words of keywords from among the words included in an existing concept dictionary, it may be difficult to extract unique notations included in the data to be searched as related words. On the other hand, in one aspect of the present invention, related words of keywords are extracted from among the words included in the data (first reference document analysis data) prepared for extracting related words of keywords or the data to be searched (second reference document analysis data). Thereby, it becomes easy to extract the unique notation as a related word, and it is possible to reduce search omissions, which is preferable.
[0039] Furthermore, the document search system according to one aspect of the present invention has a function of assigning weights to each of the extracted keywords and related words. By each of the keywords and related words having a weight, it is possible to assign a score based on the weight to the reference document analysis data in which the keyword or related word has been hit. Then, the document search system according to one aspect of the present invention has a function of generating and outputting ranking data by ranking the reference document analysis data to be searched based on the score. Since the search results are output ranked by the degree of relevance or similarity, the user can easily find the necessary document from the search results, the work efficiency is improved, and it is less likely to overlook. In this way, the document search system according to one aspect of the present invention can search for documents simply and with high accuracy.
[0040] The weight of the keyword is preferably a value based on the inverse document frequency (hereinafter referred to as IDF) of the keyword in a plurality of first or second reference document analysis data. IDF represents the difficulty of a certain word appearing in a document. The IDF of a word that appears in many documents is small, and the IDF of a word that appears only in some documents is high. Therefore, it can be said that a word with a high IDF is a characteristic word in the first or second reference document analysis data.
[0041] The extraction of keywords from the document data itself can also be performed based on the IDF of the words included in the document data in a plurality of first or second reference document analysis data. For example, words with an IDF of a certain value or more may be extracted as keywords, or any number of words may be extracted as keywords in descending order of IDF.
[0042] Keywords may be extracted based on the IDF of either the first reference document analysis data or the second reference document analysis data. It is preferable to extract keywords from the document data based on the IDF in the second reference document analysis data that is the search target, because it is easier to extract characteristic words in the document to be searched. However, when there are few documents to be searched, etc., it may be easier to extract keywords from the document data based on the IDF in the first reference document analysis data.
[0043] Alternatively, keywords may be extracted based on the part-of-speech information of words obtained by morphological analysis of the document data input by the user. For example, when performing morphological analysis on a Japanese sentence, it is preferable to extract nouns. Also, when performing morphological analysis on an English sentence, it is preferable to extract adjectives, nouns, and verbs.
[0044] Examples of related words include synonyms, similar words, antonyms, hypernyms, hyponyms, etc. Related words are preferably extracted from among the words included in multiple reference document analysis data based on the degree of similarity or proximity between the distributed representation vector of the word and the distributed representation vector of the keyword. For the keywords included in the document data input by the user, synonyms, similar words, etc. included in the reference document analysis data can be extracted as related words. This can improve the search accuracy.
[0045] The weight of a related word is preferably the product of a value based on the similarity or distance between the distributed representation vector of the related word and the distributed representation vector of the keyword, and the weight of the keyword. By setting the weight of the related word based on both the degree of relevance between the related word and the keyword and the weight of the keyword itself, the accuracy of the ranking can be further improved.
[0046] It is preferable that the document search system uses artificial intelligence (AI: Artificial Intelligence) for at least some of the processing.
[0047] The document retrieval system preferably uses, in particular, an artificial neural network (ANN: Artificial Neural Network, hereinafter also simply referred to as neural network). The neural network is realized by a circuit (hardware) or a program (software).
[0048] For example, when generating a distributed representation vector of words, it is preferable to use machine learning, and it is more preferable to use a neural network. Specifically, it is preferable to extract related words using the distributed representation vectors obtained by machine learning the distributed representations of words included in a plurality of reference document analysis data. Thereby, the accuracy of extraction of related words and the weights of related words can be improved.
[0049] In this specification and the like, the neural network refers to a model in general that mimics the neural circuit network of a living organism, determines the connection strength between neurons by learning, and has problem-solving ability. The neural network has an input layer, an intermediate layer (hidden layer), and an output layer.
[0050] In this specification and the like, when describing the neural network, determining the connection strength (also referred to as weight coefficient) between neurons from existing information may be referred to as "learning".
[0051] In this specification and the like, constructing a neural network using the connection strength obtained by learning and deriving a new conclusion therefrom may be referred to as "inference".
[0052] <1. Configuration Example 1 of Document Retrieval System> In this embodiment, as an example of the document retrieval system, a document retrieval system that can be used for searching for intellectual property will be described. Note that the document retrieval system according to one aspect of the present invention is not limited to the use of searching for intellectual property, and can also be used for searching other than intellectual property.
[0053] FIG. 1 shows a block diagram of the document search system 100. In the drawings attached to this specification, the components are classified by function and shown as independent blocks for each function. However, in actuality, it is difficult to completely separate the components by function, and one component may be involved in multiple functions. Also, one function may be related to multiple components. For example, the two processes performed by the processing unit 103 may be executed by different servers.
[0054] The document search system 100 has at least a processing unit 103. The document search system 100 shown in FIG. 1 further has an input unit 101, a transmission path 102, a storage unit 105, a database 107, and an output unit 109.
[0055] [Input Unit 101] Data is supplied to the input unit 101 from outside the document search system 100. The data supplied to the input unit 101 is supplied to the processing unit 103, the storage unit 105, or the database 107 via the transmission path 102.
[0056] [Transmission Path 102] The transmission path 102 has a function of transmitting data. The transmission and reception of data among the input unit 101, the processing unit 103, the storage unit 105, the database 107, and the output unit 109 can be performed via the transmission path 102.
[0057] [Processing Unit 103] The processing unit 103 has a function of performing operations, inferences, etc. using the data supplied from the input unit 101, the storage unit 105, the database 107, etc. The processing unit 103 can supply the operation results, inference results, etc. to the storage unit 105, the database 107, the output unit 109, etc.
[0058] It is preferable that the processing unit 103 uses a transistor having a metal oxide in the channel formation region. Since the off-current of the transistor is extremely small, by using the transistor as a switch for holding the charge (data) flowing into the capacitive element that functions as a memory element, the data holding period can be ensured over a long term. By using this characteristic in at least one of the register and the cache memory that the processing unit 103 has, the processing unit 103 can be operated only when necessary, and in other cases, the processing unit 103 can be turned off by saving the information of the previous processing in the memory element. That is, normal-off computing becomes possible, and power consumption of the document search system can be reduced.
[0059] In this specification and the like, a transistor using an oxide semiconductor or a metal oxide in the channel formation region is called an Oxide Semiconductor transistor or an OS transistor. The channel formation region of the OS transistor preferably has a metal oxide.
[0060] In this specification and the like, a metal oxide is an oxide of a metal in a broad sense. Metal oxides are classified into oxide insulators, oxide conductors (including transparent oxide conductors), oxide semiconductors (also referred to as Oxide Semiconductor or simply OS), and the like. For example, when a metal oxide is used for the semiconductor layer of a transistor, the metal oxide may be referred to as an oxide semiconductor. That is, when a metal oxide has at least one of an amplification action, a rectification action, and a switching action, the metal oxide can be called a metal oxide semiconductor, abbreviated as OS.
[0061] The metal oxide included in the channel formation region preferably contains indium (In). When the metal oxide included in the channel formation region is a metal oxide containing indium, the carrier mobility (electron mobility) of the OS transistor becomes high. Further, the metal oxide included in the channel formation region is preferably an oxide semiconductor containing element M. Element M is preferably aluminum (Al), gallium (Ga), tin (Sn), or the like. Elements applicable to other element Ms include boron (B), silicon (Si), titanium (Ti), iron (Fe), nickel (Ni), germanium (Ge), yttrium (Y), zirconium (Zr), molybdenum (Mo), lanthanum (La), cerium (Ce), neodymium (Nd), hafnium (Hf), tantalum (Ta), tungsten (W), and the like. However, in some cases, a plurality of the aforementioned elements may be combined as element M. Element M is, for example, an element having a high binding energy with oxygen. For example, it is an element having a higher binding energy with oxygen than indium. Further, the metal oxide included in the channel formation region is preferably a metal oxide containing zinc (Zn). A metal oxide containing zinc may be likely to crystallize.
[0062] The metal oxide included in the channel formation region is not limited to a metal oxide containing indium. The semiconductor layer may be, for example, a metal oxide containing zinc but not containing indium, such as zinc tin oxide or gallium tin oxide, a metal oxide containing gallium, a metal oxide containing tin, or the like.
[0063] Further, for the processing unit 103, a transistor including silicon in the channel formation region may be used.
[0064] Further, for the processing unit 103, it is preferable to use in combination a transistor including an oxide semiconductor in the channel formation region and a transistor including silicon in the channel formation region.
[0065] The processing unit 103 includes, for example, an arithmetic circuit or a central processing unit (CPU), etc.
[0066] The processing unit 103 may have a microprocessor such as a DSP (Digital Signal Processor) or a GPU (Graphics Processing Unit). The microprocessor may be configured to 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 103 can perform various data processes and program controls by interpreting and executing instructions from various programs by the processor. Programs executable by the processor are stored in at least one of the memory area of the processor and the storage unit 105.
[0067] The processing unit 103 may have a main memory. The main memory has at least one of a volatile memory such as a RAM (Random Access Memory) and a non-volatile memory such as a ROM (Read Only Memory).
[0068] As the RAM, for example, DRAM (Dynamic Random Access Memory), SRAM (Static Random Access Memory), etc. are used, and a memory space is virtually allocated and used as the working space of the processing unit 103. The operating system, application programs, program modules, program data, and look-up tables, etc. stored in the storage unit 105 are loaded into the RAM for execution. These data, programs, and program modules loaded into the RAM are directly accessed and operated on by the processing unit 103, respectively.
[0069] The ROM can store the BIOS (Basic Input / Output System), firmware, etc. that do not require rewriting. Examples of ROMs include mask ROM, OTPROM (One Time Programmable Read Only Memory), EPROM (Erasable Programmable Read Only Memory), etc. Examples of EPROMs include UV-EPROM (Ultra-Violet Erasable Programmable Read Only Memory) that enables erasure of stored data by ultraviolet irradiation, EEPROM (Electrically Erasable Programmable Read Only Memory), flash memory, etc.
[0070] [Storage unit 105] The storage unit 105 has a function of storing the programs executed by the processing unit 103. Further, the storage unit 105 may have a function of storing the calculation results and inference results generated by the processing unit 103, as well as the data input to the input unit 101.
[0071] The storage unit 105 has at least one of a volatile memory and a non-volatile memory. The storage unit 105 may have, for example, a volatile memory such as DRAM or SRAM. The storage unit 105 may have, for example, a non-volatile memory such as ReRAM (Resistive Random Access Memory, also called a resistive change memory), PRAM (Phase change Random Access Memory), FeRAM (Ferroelectric Random Access Memory), MRAM (Magnetoresistive Random Access Memory, also called a magnetic resistance memory), or flash memory. Further, the storage unit 105 may have a recording media drive such as a hard disc drive (HDD) and a solid state drive (SSD).
[0072] [Database 107] Database 107 has at least the function of storing reference text analysis data, IDF data, and vector data to be searched. Further, Database 107 may have the function of storing the calculation results and inference results generated by Processing Unit 103, as well as the data input to Input Unit 101. Note that Storage Unit 105 and Database 107 do not have to be separated from each other. For example, the document search system may have a storage unit having the functions of both Storage Unit 105 and Database 107.
[0073] [Output Unit 109] Output Unit 109 has the function of supplying data to the outside of document search system 100. For example, the calculation result or inference result in Processing Unit 103 can be supplied to the outside.
[0074] <2. Document Search Method> First, with reference to FIGS. 2 and 3, the processes to be performed in advance for performing a search using document search system 100 will be described. FIG. 2 shows a flowchart, and FIG. 3 shows a schematic diagram of each step shown in FIG. 2. Note that the illustration of each data shown in FIG. 3 is an example and is not limited thereto.
[0075] Also, hereinafter, a case will be described by taking as an example the case where the reference text data used for extracting related words of the keyword and the reference text data for the reference text to be searched are the same (denoted as reference text data TD ref ). As described above, these two reference text data may be different. For example, vector data VD (described later) may be generated using the first reference text data, and the second reference text data may be used as the search target. At this time, IDF data ID described later may be generated using the first reference text data, or may be generated using the second reference text data.
[0076] [Step S1] First, a plurality of pieces of reference text data TD ref are input to Input Unit 101 (FIGS. 2 and 3(A)).
[0077] In the document search method of this embodiment, a plurality of pre-prepared documents can be used as search targets to search for documents related or similar to the input document. Reference text data TD ref is the text data of the document to be searched in the document search system 100. Reference text data TD ref The data used as can be appropriately selected according to the application of the document search system 100.
[0078] Reference text data TD ref is input from outside the document search system 100 to the input unit 101. And reference text data TD ref is supplied from the input unit 101 to the processing unit 103 via the transmission path 102. Or reference text data TD ref may be stored in the storage unit 105 or the database 107 from the input unit 101 via the transmission path 102, and supplied from the storage unit 105 or the database 107 to the processing unit 103 via the transmission path 102.
[0079] In FIG. 3(A), n (n is an integer of 2 or more) pieces of reference text data TD ref are illustrated, and are respectively denoted as data TD ref (x) (x is an integer from 1 to n).
[0080] In this embodiment, an example in which the search target is a document related to intellectual property is shown. Reference text data TD ref is the text data of the document related to intellectual property.
[0081] Note that, as described above, the reference text data input in step S1 may be different from the data to be searched. The reference text data input in step S1 is preferably the text data of a document related to intellectual property, but is not limited to this. Also, part of the reference text data input in step S1 may be the data to be searched. For example, the reference text data input in step S1 may be the text data of patent documents and papers, and the data to be searched may be only the text data of patent documents.
[0082] Here, specific examples of documents related to intellectual property include publications such as patent documents (published patent gazettes, patent gazettes, etc.), utility model gazettes, design gazettes, and papers. It is not limited to publications issued in the country, and publications issued in various countries around the world can be used as documents related to intellectual property.
[0083] The specification, claims, and abstract included in a patent document can each be used, in part or in whole, as the reference text data TD ref For example, the forms, examples, or claims for implementing a specific invention may be used as the reference text data TD ref Similarly, for the text included in other publications such as papers, part or all of it can be used as the reference text data TD ref For use.
[0084] Documents related to intellectual property are not limited to publications. For example, document files independently owned by users or user groups of a document search system can also be used as the reference text data TD ref For use.
[0085] Furthermore, examples of documents related to intellectual property include articles that explain inventions, utility models, or designs, or industrial products.
[0086] The reference text data TD ref Can have, for example, patent documents of a specific applicant or patent documents in a specific technical field.
[0087] Reference text data TD ref can have not only the description of the intellectual property itself (e.g., specification, etc.) but also various information related to the intellectual property (e.g., bibliographic information, etc.). Examples of such information include the applicant of the patent, technical field, application number, publication number, status (pending, registered, withdrawn, etc.).
[0088] Reference text data TD ref preferably has date information related to the intellectual property. Examples of date information include, for example, if the intellectual property is a patent document, the filing date, publication date, registration date, etc., and if the intellectual property is technical information of an industrial product, the release date, etc.
[0089] In this way, since the reference text data TD ref has various information related to the intellectual property, various search ranges can be selected using a document search system.
[0090] For example, using the document search system of this embodiment, patent documents, papers, or industrial products related to or similar to the invention before filing can be searched. Thereby, a prior art search regarding the invention before filing can be performed. By grasping and reexamining the related prior art, the invention can be strengthened and made into an invention with a strong patent that is difficult for other companies to avoid.
[0091] Also, for example, using the document search system of this embodiment, patent documents, papers, or industrial products related to or similar to the industrial product before release can be searched. When the reference text data TD ref has the company's patent documents, it is possible to confirm whether the technology related to the industrial product before release has been sufficiently patent-applied within the company. Or, the reference text data TD refIf it has information on the intellectual property of other companies, it is possible to check whether the pre-sale industrial product infringes on the intellectual property rights of other companies. By grasping the relevant prior art and reexamining the technology related to the pre-sale industrial product, new inventions can be discovered and made into inventions that contribute to the company's business and become strong patents. Note that not only pre-sale industrial products but also post-sale industrial products may be searched.
[0092] Also, for example, using the document search system of this embodiment, patent documents, papers, or industrial products related to or similar to a specific patent can be searched. In particular, by examining based on the filing date of the patent, it is possible to investigate whether the patent contains invalidation reasons simply and with high accuracy.
[0093] [Step S2] Next, morphological analysis is performed on a plurality of reference text data TD ref respectively, and a plurality of reference text analysis data AD ref are generated (FIGS. 2 and 3(A)).
[0094] The processing unit 103 performs morphological analysis on each of the n reference text data TD ref respectively, and generates n reference text analysis data AD ref (each is denoted as reference text analysis data AD ref (x) (x is an integer from 1 to n)). For example, by performing morphological analysis on the reference text data TD ref (n), the reference text analysis data AD ref (n) is generated.
[0095] In morphological analysis, a sentence written in natural language can be divided into morphemes (the smallest unit that has meaning as a language), and the part-of-speech of the morphemes can be determined. Thereby, for example, only nouns can be extracted from the reference text data TD ref .
[0096] In FIG. 3(A), the input reference text data TD ref (1) contains a long sentence, and the output reference text analysis data AD ref(1) The sentence is divided into multiple words.
[0097] In FIG. 3(A), an example of outputting the generated reference text analysis data AD ref to the outside of the processing unit 103 is shown. For example, the processing unit 103 can supply a plurality of reference text analysis data AD ref to the database 107. Note that the processing unit 103 may generate and output a corpus in which a plurality of reference text analysis data AD ref are combined into one data.
[0098] Note that not only Japanese sentences but also sentences in various languages (e.g., English, Chinese, Korean, etc.) can be analyzed. Various methods can be applied for sentence analysis according to the language.
[0099] [Step S3] After step S2, the IDF of the words included in the plurality of reference text analysis data AD ref is calculated to generate IDF data ID (FIGS. 2 and 3(B)). Here, it is preferable to normalize the IDF.
[0100] The reference text analysis data AD ref is supplied from the database 107 to the processing unit 103 via the transmission path 102.
[0101] The processing unit 103 generates IDF data ID by calculating and normalizing the IDF of the words included in n reference text analysis data AD ref .
[0102] As shown in FIG. 3(B), the IDF data ID includes a word (Word) and the normalized IDF.
[0103] The IDF(t) of a certain word t is obtained by normalizing the idf(t) in Equation (1). The normalization method is not particularly limited. For example, idf(t) can be normalized by Equation (2). In Equation (1), N is the total number of documents (reference text analysis data AD refThe number, which is equal to the above n), and df(t) is the number of documents in which a certain word t appears (reference document analysis data AD ref The number). In Equation (2), idf MAX Is the maximum value of idf(t) of the words included in the reference document analysis data AD ref And idf MIN Is the minimum value of idf(t) of the words included in the reference document analysis data AD ref Is.
[0104] [Number]
[0105] For example, since the normalized IDF of Word A is 0.868, the normalized IDF of Word B is 0.115, and the normalized IDF of Word C is 0.642, Word A has a higher IDF than Word B and Word C, and it can be said that it is a characteristic word that rarely appears in the reference document analysis data AD ref In addition, in Fig. 3(B), an example of arranging words in alphabetical order is shown, but it is not limited to this, and words may be arranged in descending order of IDF or the like.
[0106] Fig. 3(B) shows an example of outputting the generated IDF data ID outside the processing unit 103. For example, the processing unit 103 can supply the IDF data ID to the database 107 via the transmission path 102.
[0107] [Step S4] After step S2, a dispersion representation vector of the words included in the plurality of reference document analysis data AD ref Is generated, and vector data VD is generated (Figs. 2 and 3(C)).
[0108] Note that either step S3 or step S4 may be performed first, or they may be performed in parallel.
[0109] The processing unit 103 has n reference document analysis data AD refGenerate the distributed representation vector of the words included therein, and generate vector data VD.
[0110] The distributed representation of a word is also called word embedding. The distributed representation vector of a word is a vector that represents a word as a quantified continuous value for each feature element (dimension). Words with similar meanings have vectors that are close to each other.
[0111] As shown in FIG. 3(C), the processing unit 103 preferably generates the distributed representation vector of the word using the neural network NN.
[0112] Here, an example of a method for generating the distributed representation vector of a word using the neural network NN will be described. The learning of the neural network NN is performed by supervised learning. Specifically, a certain word is given to the input layer, and the surrounding words of the word are given to the output layer, and the neural network NN is made to learn the probability of the surrounding words for a certain word. The intermediate layer (hidden layer) preferably has a relatively low-dimensional vector of 10 dimensions or more and 1000 dimensions or less. The vector after learning is the distributed representation vector of the word.
[0113] The distributed representation of a word can be performed, for example, using Word2vec, an open-sourced algorithm. Word2vec vectorizes a word including the features and semantic structure of the word based on the hypothesis that words used in the same context have the same meaning.
[0114] In the vectorization of words, by generating the distributed representation vector of the word, it is possible to calculate the similarity and distance between words by operations between vectors. When the similarity between two vectors is high, it can be said that the two vectors have a high relationship. Also, when the distance between two vectors is close, it can be said that the two vectors have a high relationship.
[0115] In addition, while one-hot representation assigns one dimension to one word, in distributed representation, a word can be represented by a low-dimensional real-valued vector. Therefore, even if the vocabulary size increases, it can be represented with a small number of dimensions. Thus, even if the number of words included in the corpus is large, the computational complexity does not easily increase, and huge amounts of data can be processed in a short time.
[0116] As shown in FIG. 3(C), the vector data VD includes words and vectors. For example, the vector of Word A is (0.12, 0.90, 0.32, ···), the vector of Word B is (0.88, 0.10, 0.29, ···), and the vector of Word C is (0.23, 0.56, 0.47, ···).
[0117] FIG. 3(C) shows an example of outputting the generated vector data VD outside the processing unit 103. For example, the processing unit 103 can supply the vector data VD to the database 107.
[0118] By performing the above steps in advance and generating the reference text analysis data AD ref , the IDF data ID, and the vector data VD, a document can be searched using the document search system 100.
[0119] Note that in this embodiment, an example of generating the reference text analysis data AD ref , the IDF data ID, and the vector data VD using the document search system 100 has been shown. However, at least one of the reference text analysis data AD ref , the IDF data ID, and the vector data VD may be generated outside the document search system 100. In this case, by inputting the data generated outside to the input unit 101 of the document search system 100 and storing it in the database 107, searching using the document search system 100 becomes possible.
[0120] Next, a search method using the document search system 100 will be described. Flowcharts are shown in FIGS. 4, 5, 8, and 9, and schematic diagrams of each step shown in the flowcharts are shown in FIGS. 6, 7(A), and 10. Note that the illustrations of the respective data shown in FIGS. 6, 7(A), and 10 are examples and are not limited thereto.
[0121] [Step S11] First, the document data TD is input to the input unit 101 (FIGS. 4, 5, and 6(A)).
[0122] In the document search method of the present embodiment, document data related or similar to the document data TD can be searched from the reference document data TD. ref
[0123] The document data TD is input from outside the document search system 100 to the input unit 101. Then, the document data TD is supplied from the input unit 101 to the processing unit 103 via the transmission path 102. Alternatively, the document data TD may be stored in the storage unit 105 or the database 107 via the transmission path 102, and may be supplied from the storage unit 105 or the database 107 to the processing unit 103 via the transmission path 102.
[0124] In the present embodiment, an example in which the search target is a document related to intellectual property is shown. The document data TD is data of a document related to intellectual property. Examples of documents related to intellectual property are as described above.
[0125] The document data TD can have, for example, an invention, utility model, or design before filing, an industrial product before release, technical information, or a document explaining a technical idea.
[0126] In particular, as the text data TD, it is possible to preferably use the claims, the abstract, or a text explaining the outline of the invention. Such text data TD with a relatively small amount of text (smaller amount of text compared to the entire specification) is preferable because it is easy to extract characteristic keywords included in the text data TD. Since the document search system of the present embodiment can extract related words of characteristic keywords, it is possible to perform highly accurate search even if the number of vocabulary words in the text data TD is small.
[0127] [Step S12] Next, morphological analysis of the text data TD is performed to generate text analysis data AD (FIGS. 4, 5, and 6(A)).
[0128] The processing unit 103 performs morphological analysis of the text data TD to generate text analysis data AD.
[0129] In FIG. 6(A), the input text data TD includes a long sentence, and in the output text analysis data AD, the sentence is divided into a plurality of words.
[0130] In FIG. 6(A), an example of outputting the generated text analysis data AD outside the processing unit 103 is shown. For example, the processing unit 103 can supply the text analysis data AD to the storage unit 105 or the database 107.
[0131] [Steps S13, S33] Next, keyword data KD is generated by collating the text analysis data AD with the IDF data ID (FIGS. 4, 5, and 6(B)).
[0132] The text analysis data AD is supplied to the processing unit 103 from the storage unit 105 or the database 107 via the transmission path 102. The IDF data ID is supplied to the processing unit 103 from the database 107 via the transmission path 102.
[0133] The processing unit 103 generates keyword data KD by collating the sentence analysis data AD and the IDF data ID and arranging the words included in the sentence analysis data AD in descending order of IDF.
[0134] The keyword data KD includes a keyword KW and its IDF. Here, an example using the normalized IDF is shown.
[0135] It can be said that the keyword KW is a characteristic word included in the sentence analysis data AD. The keyword KW may be, for example, all the words included in both the sentence analysis data AD and the IDF data ID, words with an IDF of a predetermined value or more, or the top predetermined number of words with a high IDF. It is preferable to set the extraction criteria for the keyword KW according to the amount of text in the text data TD. For example, the number of keywords KW is preferably 2 or more and 100 or less, and more preferably 5 or more and 30 or less.
[0136] Here, the normalized IDF of the keyword KW corresponds to the weight of the keyword KW used when assigning scores to the subsequent reference sentence analysis data AD ref in the future.
[0137] FIG. 6(B) shows an example in which the weight of Word D is 0.873, the weight of Word A is 0.868, and the weight of Word E is 0.867.
[0138] FIG. 6(B) shows an example of outputting the keyword data KD outside the processing unit 103. For example, the processing unit 103 can supply the keyword data KD to the storage unit 105 or the database 107 via the transmission path 102.
[0139] [Steps S14, S34] Next, related word data RD is generated using the sentence analysis data AD or the keyword data KD and the vector data VD (FIGS. 4, 5, and 6(C)).
[0140] The article analysis data AD or the keyword data KD is supplied from the storage unit 105 or the database 107 to the processing unit 103 via the transmission path 102. The vector data VD is supplied from the database 107 to the processing unit 103 via the transmission path 102.
[0141] In the case of step S14, the processing unit 103 extracts the related word RW of the keyword KW based on the degree of similarity or the closeness of the distance between the distributed representation vector of the keyword KW and the distributed representation vectors of the words included in the reference article analysis data AD ref And generates related word data RD by arranging the related words RW in descending order of similarity or ascending order of closeness of distance. Specifically, it is preferable to extract 1 or more and 10 or fewer related words RW for one keyword KW, and more preferably 2 or more and 5 or fewer. The related word RW may be, for example, a word with a similarity of a predetermined value or more, a word with a distance of a predetermined value or less, the top predetermined number of words with a high similarity, or the top predetermined number of words with a close distance. Since the number of synonyms, similar words, antonyms, hypernyms, hyponyms, etc. varies depending on the keyword KW, the number of related words RW may vary depending on the keyword KW. From the words included in the reference article analysis data AD ref By extracting the related word RW of the keyword KW, even when the reference article analysis data AD ref expresses the keyword KW in a unique notation, the notation can be extracted as the related word RW. Therefore, it is possible to reduce the search omission due to the fluctuation of the notation, which is preferable.
[0142] In the case of step S34, the processing unit 103 extracts the related word RW based on the degree of similarity or the closeness of the distance between the distributed representation vectors of the words included in the article analysis data AD and the distributed representation vectors of the words included in the reference article analysis data AD ref Otherwise, it is the same as step S14.
[0143] The similarity between two vectors can be obtained using cosine similarity, covariance, unbiased covariance, Pearson product-moment correlation coefficient, etc. In particular, it is preferable to use cosine similarity.
[0144] The distance between two vectors can be obtained using Euclidean distance, standard (standardized, mean) Euclidean distance, Mahalanobis distance, Manhattan distance, Chebyshev distance, Minkowski distance, etc.
[0145] The related word data RD includes related words RW and their related degrees RS.
[0146] It can be said that the related word RW is a word related to the word or keyword KW included in the text analysis data AD.
[0147] The related degree RS is a value indicating the highness of the similarity or the closeness of the distance, or a value obtained by normalizing these. The related degree RS is used for calculating the weight of the related word when assigning scores to the reference text analysis data AD ref later. Specifically, the product of the normalized IDF of the keyword KW and the related degree RS of the related word RW corresponds to the weight of the related word.
[0148] Fig. 6(C) shows an example in which, as related words RW of Word D, Word X (related degree RS is 0.999), Word Y (related degree RS is 0.901), and Word Z (related degree RS is 0.712) are extracted in descending order of the related degree RS.
[0149] Fig. 6(C) shows an example of outputting the related word data RD outside the processing unit 103. For example, the processing unit 103 can supply the related word data RD to the storage unit 105 or the database 107 via the transmission path 102.
[0150] When extracting related words using keyword data KD, as shown in FIG. 4, step S14 is performed after step S13. On the other hand, when extracting related words using text analysis data AD, as shown in FIG. 5, either step S33 or step S34 may be performed first, or they may be performed in parallel.
[0151] Furthermore, it may have a step of determining whether the related word RW is a word included in the concept dictionary and determining the weight of the related word RW. When the related word RW is included in the concept dictionary, it can be said that the degree of association of the related word RW with the keyword KW is high. Therefore, when it is included in the concept dictionary, the weight of the related word RW may be set to be larger than when it is not included. For example, according to the judgment result, a value obtained by adding or subtracting a predetermined value to a value indicating the degree of similarity or proximity of distance may be used as the weight of the related word RW. Or, in either the case where the related word RW is included in the concept dictionary or the case where it is not included, a predetermined value may be used as the weight of the related word RW regardless of the degree of similarity or proximity of distance. For example, when the related word RW is included in the concept dictionary, the weight of the related word RW may be set to the same weight as the keyword KW.
[0152] [Step S15] Next, based on the weights of the keyword KW or related word RW that match the words included in the reference text analysis data AD ref points are assigned to the reference text analysis data AD ref (FIGS. 4, 5, and 7(A)).
[0153] The reference text analysis data AD ref is supplied from the database 107 to the processing unit 103 via the transmission path 102. The keyword data KD and the related word data RD are supplied from the storage unit 105 or the database 107 to the processing unit 103 via the transmission path 102. The processing unit 103 can supply the result of the scoring (also referred to as scoring) to the storage unit 105 or the database 107 via the transmission path 102.
[0154] First, a specific example of scoring will be described with reference to FIG. 7(B). FIG. 7(B) shows an example in which three types of keywords KW and four types of related words RW for each keyword KW are used.
[0155] The denominator of the score is the sum of the weights of the keywords KW. In the case of FIG. 7(B), it is 0.9 + 0.9 + 0.8 = 2.6.
[0156] The numerator of the score is the sum of the weights of the keyword KW or the related word RW that matches the word included in the reference text analysis data AD ref In the case of FIG. 7(B), it is 1.95, which is the sum of the weights of Word D, Word e, and Word f.
[0157] Therefore, the score can be obtained as 1.95 / 2.6 = 0.75 (75%).
[0158] Step S15 will be described in detail with reference to FIG. 8. As shown in FIG. 8, step S15 includes steps S21 to S27. When the number of keywords KW is p and the number of related words RW for each keyword KW is q, x represents an integer from 1 to p, and y represents an integer from 1 to q.
[0159] [Step S21] First, select one piece of reference text analysis data AD ref that has not been scored.
[0160] [Step S22] Next, in the reference text analysis data AD ref determine whether the keyword KW x is hit. If it is hit, proceed to step S25. If it is not hit, proceed to step S23.
[0161] [Step S23] Next, in the reference text analysis data AD ref the related word RW x of the keyword KW xyDetermine whether a hit occurs. If a hit occurs, proceed to step S25. If no hit occurs, proceed to step S24.
[0162] [Step S24] Next, determine whether all related words RW of keyword KWx have been searched. If searched, proceed to step S26. If not searched, proceed to step S23. For example, if there are two related words RW of keyword KW x and it was determined whether related word RW x1 hit in the previous step S23, return to step S23 and determine whether related word RW x2 hits.
[0163] [Step S25] In step S25, add the weight corresponding to the hit word to the score. If a hit occurred in step S22, add the IDF of keyword KW x to the score. If a hit occurred in step S23, add the product of the IDF of keyword KW x and the relevance degree RS of related word RW xy to the score. In the above scoring example, it is added to the numerator of the score.
[0164] [Step S26] Next, determine whether all keywords KW have been searched. If searched, proceed to step S27. If not searched, proceed to step S22. For example, if there are two keywords KW x and it was determined whether keyword KW 1 hit in the previous step S22, return to step S22 and determine whether keyword KW 2 hits.
[0165] [Step S27] Next, determine whether all reference text analysis data AD ref have been scored. If all scoring is completed, proceed to step S16. If not completed, proceed to step S21.
[0166] [Step S16] Then, the reference text analysis data AD ref is ranked to generate ranking data LD, which is output (Figs. 4, 5, and Fig. 7(A)).
[0167] The processing unit 103 can supply the ranking data LD to the storage unit 105 or the database 107 via the transmission path 102. Also, the processing unit 103 can supply the ranking data LD to the output unit 109 via the transmission path 102. Thereby, the output unit 109 can supply the ranking data LD to the outside of the document retrieval system 100.
[0168] The ranking data LD can include a rank (Lank), information (such as a name and an identification number) (Doc) of the reference text data TD ref , a score (Score), etc. When the reference text data TD ref is stored in the database 107 or the like, the ranking data LD preferably includes a file path to the reference text data TD ref . Thereby, the user can easily access the target document from the ranking data LD.
[0169] The higher the score of the reference text analysis data AD ref , the more relevant or similar the reference text data TD ref corresponding to the reference text analysis data AD ref is to the text data TD.
[0170] In the example shown in Fig. 7(A), among the n reference text data TD ref in the ranking data LD, the data most relevant or similar to the text data TD is the reference text data TD ref (7), the second most relevant or similar data is the reference text data TD ref (4), and the third most relevant or similar data is the reference text data TD ref (13).
[0171] As described above, the search can be performed using the document search system 100.
[0172] Note that the keyword KW, the weight (IDF) of the keyword KW, the related word RW, and the weight (IDF×RS) of the related word RW output in step S14 may be manually edited and then proceed to step S15.
[0173] Fig. 9 shows a flowchart including the editing steps, and Fig. 10 shows a schematic diagram of the steps shown in Fig. 9. Note that the illustration of the data shown in Fig. 10 is an example and is not limited thereto.
[0174] [Step S41] After step 14, a list of keyword data KD and related word data RD to be used in step S15 is output (Figs. 9 and 10(A)).
[0175] From Fig. 10(A), it can be seen that the keywords KW include Word D, Word A, and Word E, and their respective weights (IDF) are 0.9, 0.9, and 0.8.
[0176] The related words RW of Word D include Word X, Word Y, Word Z, and Word a, and their respective weights (IDF×RS) are 0.9, 0.8, 0.6, and 0.5.
[0177] The related words RW of Word A include Word b, Word c, Word d, and Word e, and their respective weights (IDF×RS) are 0.5, 0.5, 0.45, and 0.3.
[0178] The related words RW of Word E include Word f, Word g, Word h, and Word i, and their respective weights (IDF×RS) are 0.75, 0.75, 0.75, and 0.75.
[0179] [Step S42] Next, edit the keyword data KD and the related word data RD (FIGS. 9 and 10(B)).
[0180] In FIG. 10(B), an example in which three edits are made is shown. Specifically, deletion of Word A and its related word RW, change from Word a (weight 0.5) to Word x (weight 0.8), and change of the weight of Word f (from 0.75 to 0.8).
[0181] In this way, by the user editing at least one of the words and the weights, the search accuracy may be improved.
[0182] Thereafter, in step S15, scores are assigned to the reference document analysis data AD ref using the edited keyword data KD and related word data RD, and ranking data LD is generated and output in step S16.
[0183] [Step S43] Next, check whether the ranking data LD is the expected result (FIG. 9). If it is the expected result, end the search. If the expected result is not obtained, return to step S41, output a list of the edited keyword data KD and related word data RD, and in step S42, it may be edited again.
[0184] Note that the editing of words and weights is not limited to manual work, and may be automatically performed using dictionary data, analysis data generated by natural language processing, etc. The search accuracy can be improved by the editing.
[0185] <3. Configuration Example 2 of Document Search System> Next, a document search system 150 shown in FIG. 11 will be described.
[0186] FIG. 11 shows a block diagram of the document search system 150. The document search system 150 includes a server 151 and a terminal 152 (such as a personal computer).
[0187] Server 151 includes a communication unit 161a, a transmission path 162, a processing unit 163a, and a database 167. Although not shown in FIG. 11, the server 151 may further include a storage unit, an input / output unit, etc.
[0188] Terminal 152 includes a communication unit 161b, a transmission path 168, a processing unit 163b, a storage unit 165, and an input / output unit 169. Although not shown in FIG. 11, the terminal 152 may further include a database, etc.
[0189] The user of the document search system 150 inputs the text data TD from the terminal 152 to the server 151. The text data TD is transmitted from the communication unit 161b to the communication unit 161a.
[0190] The text data TD received by the communication unit 161a is stored in the database 167 or a storage unit (not shown) via the transmission path 162. Alternatively, the text data TD may be directly supplied from the communication unit 161a to the processing unit 163a.
[0191] The various processes described in the above <2. Document Search Method> are performed by the processing unit 163a. Since these processes require high processing capabilities, it is preferable to perform them using the processing unit 163a included in the server 151.
[0192] Then, the ranking data LD is generated by the processing unit 163a. The ranking data LD is stored in the database 167 or a storage unit (not shown) via the transmission path 162. Alternatively, the ranking data LD may be directly supplied from the processing unit 163a to the communication unit 161a. Thereafter, the ranking data LD is output from the server 151 to the terminal 152. The ranking data LD is transmitted from the communication unit 161a to the communication unit 161b.
[0193] [Input / Output Unit 169] Data is supplied to the input / output unit 169 from outside the document retrieval system 150. The input / output unit 169 has a function of supplying data to the outside of the document retrieval system 150. Note that, like the document retrieval system 100, the input unit and the output unit may be separated.
[0194] [Transmission paths 162 and 168] The transmission paths 162 and 168 have a function of transmitting data. The transmission and reception of data among the communication unit 161a, the processing unit 163a, and the database 167 can be performed via the transmission path 162. The transmission and reception of data among the communication unit 161b, the processing unit 163b, the storage unit 165, and the input / output unit 169 can be performed via the transmission path 168.
[0195] [Processing units 163a and 163b] The processing unit 163a has a function of performing operations, inferences, etc. using the data supplied from the communication unit 161a, the database 167, etc. The processing unit 163b has a function of performing operations, etc. using the data supplied from the communication unit 161b, the storage unit 165, the input / output unit 169, etc. For the description of the processing units 163a and 163b, reference can be made to the description of the processing unit 103. In particular, the processing unit 163a can perform various processes described in the above <2. Document Retrieval Method>. Therefore, it is preferable that the processing unit 163a has a higher processing ability than the processing unit 163b.
[0196] [Storage unit 165] The storage unit 165 has a function of storing the program executed by the processing unit 163b. Also, the storage unit 165 has a function of storing the operation results generated by the processing unit 163b, the data input to the communication unit 161b, the data input to the input / output unit 169, etc.
[0197] [Database 167] The database 167 is the reference text analysis data AD refIt has a function of storing the IDF data ID and the vector data VD. Further, the database 167 may have a function of storing the calculation result generated by the processing unit 163a, the data input to the communication unit 161a, and the like. Alternatively, the server 151 may have a storage unit separate from the database 167, and the storage unit may have a function of storing the calculation result generated by the processing unit 163a, the data input to the communication unit 161a, and the like.
[0198] [Communication units 161a and 161b] Using the communication units 161a and 161b, data can be transmitted and received between the server 151 and the terminal 152. As the communication units 161a and 161b, a hub, a router, a modem, etc. can be used. For data transmission and reception, either wired or wireless (e.g., radio waves, infrared rays, etc.) can be used.
[0199] As described above, in the document search system of this embodiment, it is possible to search for documents related or similar to the input document, targeting the pre-prepared documents. Since it is not necessary for the user to select the keywords used for the search and it is possible to search using document data with a larger volume than the keywords, individual differences in search accuracy can be reduced, and documents can be searched simply and with high accuracy. Also, the document search system of this embodiment extracts related words of the keywords from the pre-prepared documents, so unique notations included in the documents can also be extracted as related words, reducing search omissions. Further, since the document search system of this embodiment can rank and output the search results according to the degree of relevance or similarity, it is easier for the user to find the necessary documents from the search results and less likely to overlook them.
[0200] This embodiment can be appropriately combined with other embodiments. Also, in this specification, when multiple configuration examples are shown in one embodiment, the configuration examples can be appropriately combined.
[0201] (Embodiment 2) In this embodiment, a configuration example of a semiconductor device that can be used in a neural network will be described.
[0202] The semiconductor device of this embodiment can be used, for example, in the processing unit of the document search system according to one aspect of the present invention.
[0203] As shown in FIG. 12(A), the neural network NN can be configured by an input layer IL, an output layer OL, and an intermediate layer (hidden layer) HL. The input layer IL, the output layer OL, and the intermediate layer HL each have one or more neurons (units). Note that the intermediate layer HL may be one layer or two or more layers. A neural network having two or more intermediate layers HL can also be called a DNN (Deep Neural Network), and learning using a deep neural network can also be called deep learning.
[0204] Input data is input to each neuron of the input layer IL, the output signal of the neurons of the previous layer or the next layer is input to each neuron of the intermediate layer HL, and the output signal of the neurons of the previous layer is input to each neuron of the output layer OL. Note that each neuron may be connected to all the neurons of the previous and subsequent layers (fully connected), or may be connected to some of the neurons.
[0205] FIG. 12(B) shows an example of an operation by a neuron. Here, a neuron N and two neurons of the previous layer that output signals to the neuron N are shown. To the neuron N, the output x 1 of the neuron of the previous layer and the output x 2 of the neuron of the previous layer are input. And in the neuron N, the multiplication result (x 1 w 1 ) of the output x 1 and the weight w 1 and the multiplication result (x 2 w 2 ) of the output x 2 and the weight w 2 are summed up to x 1 w 1 +x 2 w 2After being calculated, bias b is added as necessary, and the value a = x 1 w 1 + x 2 w 2 + b is obtained. Then, the value a is converted by the activation function h, and the output signal y = h(a) is output from the neuron N.
[0206] Thus, the operation by the neuron includes an operation of adding the product of the output of the neurons in the previous layer and the weights, that is, the sum-of-products operation (the above x 1 w 1 + x 2 w 2 ). This sum-of-products operation may be performed on software using a program, or may be performed by hardware. When performing the sum-of-products operation by hardware, a sum-of-products operation circuit can be used. As this sum-of-products operation circuit, a digital circuit or an analog circuit may be used. When an analog circuit is used for the sum-of-products operation circuit, it is possible to reduce the circuit scale of the sum-of-products operation circuit, or improve the processing speed and reduce the power consumption by reducing the number of accesses to the memory.
[0207] The sum-of-products operation circuit may be configured by transistors (also referred to as "Si transistors") including silicon (such as single-crystalline silicon) in the channel formation region, or may be configured by transistors (also referred to as "OS transistors") including an oxide semiconductor which is a kind of metal oxide in the channel formation region. In particular, since the OS transistor has an extremely small off-current, it is suitable as a transistor constituting the memory of the sum-of-products operation circuit. Note that the sum-of-products operation circuit may be configured using both Si transistors and OS transistors. Hereinafter, a configuration example of a semiconductor device having the function of the sum-of-products operation circuit will be described.
[0208] <Configuration Example of Semiconductor Device> Fig. 13 shows a configuration example of a semiconductor device MAC having a function of performing neural network operations. The semiconductor device MAC has a function of performing a sum-of-products operation on first data corresponding to the coupling strength (weight) between neurons and second data corresponding to input data. Note that the first data and the second data can each be analog data or multi-valued digital data (discrete data). Further, the semiconductor device MAC has a function of converting the data obtained by the sum-of-products operation by an activation function.
[0209] The semiconductor device MAC includes a cell array CA, a current source circuit CS, a current mirror circuit CM, a circuit WDD, a circuit WLD, a circuit CLD, an offset circuit OFST, and an activation function circuit ACTV.
[0210] The cell array CA includes a plurality of memory cells MC and a plurality of memory cells MCref. Fig. 13 shows a configuration example in which the cell array CA has memory cells MC (MC[1,1] to MC[m,n]) arranged in m rows and n columns (m and n are integers of 1 or more) and m memory cells MCref (MCref[1] to MCref[m]). The memory cell MC has a function of storing first data. The memory cell MCref has a function of storing reference data used for the sum-of-products operation. Note that the reference data can be analog data or multi-valued digital data.
[0211] The memory cell MC[i,j] (where i is an integer from 1 to m and j is an integer from 1 to n) is connected to a wiring WL[i], a wiring RW[i], a wiring WD[j], and a wiring BL[j]. The memory cell MCref[i] is connected to a wiring WL[i], a wiring RW[i], a wiring WDref, and a wiring BLref. Here, the current flowing between the memory cell MC[i,j] and the wiring BL[j] is denoted as I MC[i,j] and the current flowing between the memory cell MCref[i] and the wiring BLref is denoted as I MCref[i] as described.
[0212] Specific configuration examples of the memory cell MC and the memory cell MCref are shown in FIG. 14. FIG. 14 shows, as representative examples, the memory cells MC[1,1], MC[2,1] and the memory cells MCref[1], MCref[2], but the same configuration can also be used for other memory cells MC and memory cells MCref. The memory cell MC and the memory cell MCref each have a transistor Tr11, a transistor Tr12, and a capacitive element C11. Here, the case where the transistor Tr11 and the transistor Tr12 are n-channel type transistors will be described.
[0213] In the memory cell MC, the gate of the transistor Tr11 is connected to the wiring WL, one of the source or drain is connected to the gate of the transistor Tr12 and the first electrode of the capacitive element C11, and the other of the source or drain is connected to the wiring WD. One of the source or drain of the transistor Tr12 is connected to the wiring BL, and the other of the source or drain is connected to the wiring VR. The second electrode of the capacitive element C11 is connected to the wiring RW. The wiring VR is a wiring having a function of supplying a predetermined potential. Here, as an example, the case where a low power supply potential (such as a ground potential) is supplied from the wiring VR will be described.
[0214] A node connected to one of the source or drain of the transistor Tr11, the gate of the transistor Tr12, and the first electrode of the capacitive element C11 is defined as the node NM. Also, the nodes NM of the memory cells MC[1,1] and MC[2,1] are denoted as nodes NM[1,1] and NM[2,1], respectively.
[0215] The memory cell MCref also has the same configuration as the memory cell MC. However, the memory cell MCref is connected to the wiring WDref instead of the wiring WD, and is connected to the wiring BLref instead of the wiring BL. Also, in the memory cells MCref[1] and MCref[2], a node connected to one of the source or drain of the transistor Tr11, the gate of the transistor Tr12, and the first electrode of the capacitive element C11 is denoted as the node NMref[1] and the node NMref[2], respectively.
[0216] Node NM and node NMref each function as the holding nodes of memory cell MC and memory cell MCref, respectively. The first data is held in node NM, and the reference data is held in node NMref. Also, currents I MC[1,1] , I MC[2,1] flow through the transistors Tr12 of memory cells MC[1,1] and MC[2,1] from wiring BL[1], respectively. Also, currents I MCref[1] , I MCref[2] flow through the transistors Tr12 of memory cells MCref[1] and MCref[2] from wiring BLref, respectively.
[0217] Since transistor Tr11 has the function of holding the potential of node NM or node NMref, it is preferable that the off-current of transistor Tr11 is small. Therefore, it is preferable to use an OS transistor with an extremely small off-current as transistor Tr11. Thereby, fluctuations in the potential of node NM or node NMref can be suppressed, and the arithmetic accuracy can be improved. Also, the frequency of the operation for refreshing the potential of node NM or node NMref can be kept low, and power consumption can be reduced.
[0218] Transistor Tr12 is not particularly limited, and for example, an Si transistor or an OS transistor can be used. When an OS transistor is used for transistor Tr12, it becomes possible to fabricate transistor Tr12 using the same manufacturing apparatus as for transistor Tr11, and the manufacturing cost can be suppressed. Note that transistor Tr12 may be an n-channel type or a p-channel type.
[0219] The current source circuit CS is connected to the wirings BL[1] to BL[n] and the wiring BLref. The current source circuit CS has a function of supplying current to the wirings BL[1] to BL[n] and the wiring BLref. Note that the current value supplied to the wirings BL[1] to BL[n] may be different from the current value supplied to the wiring BLref. Here, the current supplied from the current source circuit CS to the wirings BL[1] to BL[n] is denoted as I C , and the current supplied from the current source circuit CS to the wiring BLref is denoted as I Cref .
[0220] The current mirror circuit CM has the wirings IL[1] to IL[n] and the wiring ILref. The wirings IL[1] to IL[n] are respectively connected to the wirings BL[1] to BL[n], and the wiring ILref is connected to the wiring BLref. Here, the connection points of the wirings IL[1] to IL[n] and the wirings BL[1] to BL[n] are denoted as nodes NP[1] to NP[n]. Also, the connection point of the wiring ILref and the wiring BLref is denoted as node NPref.
[0221] The current mirror circuit CM has a function of flowing a current I CM corresponding to the potential of the node NPref to the wiring ILref, and a function of also flowing this current I CM to the wirings IL[1] to IL[n]. FIG. 13 shows an example in which the current I CM is discharged from the wiring BLref to the wiring ILref, and the current I CM is discharged from the wirings BL[1] to BL[n] to the wirings IL[1] to IL[n]. Also, the currents flowing from the current mirror circuit CM to the cell array CA via the wirings BL[1] to BL[n] are denoted as I B [1] to I B [n]. Also, the current flowing from the current mirror circuit CM to the cell array CA via the wiring BLref is denoted as I Bref .
[0222] Circuit WDD is connected to wirings WD[1] to WD[n] and wiring WDref. Circuit WDD has a function of supplying a potential corresponding to first data stored in memory cell MC to wirings WD[1] to WD[n]. Also, circuit WDD has a function of supplying a potential corresponding to reference data stored in memory cell MCref to wiring WDref. Circuit WLD is connected to wirings WL[1] to WL[m]. Circuit WLD has a function of supplying a signal for selecting memory cell MC or memory cell MCref for writing data to wirings WL[1] to WL[m]. Circuit CLD is connected to wirings RW[1] to RW[m]. Circuit CLD has a function of supplying a potential corresponding to second data to wirings RW[1] to RW[m].
[0223] Offset circuit OFST is connected to wirings BL[1] to BL[n] and wirings OL[1] to OL[n]. Offset circuit OFST has a function of detecting the amount of current flowing from wirings BL[1] to BL[n] into offset circuit OFST and / or the amount of change in the current flowing from wirings BL[1] to BL[n] into offset circuit OFST. Also, offset circuit OFST has a function of outputting the detection result to wirings OL[1] to OL[n]. Note that offset circuit OFST may output a current corresponding to the detection result to wiring OL, or may convert the current corresponding to the detection result into a voltage and output it to wiring OL. The current flowing between cell array CA and offset circuit OFST is denoted as I α [1] to I α [n].
[0224] A configuration example of the offset circuit OFST is shown in FIG. 15. The offset circuit OFST shown in FIG. 15 has circuits OC[1] to OC[n]. Further, each of the circuits OC[1] to OC[n] has a transistor Tr21, a transistor Tr22, a transistor Tr23, a capacitive element C21, and a resistive element R1. The connection relationship of each element is as shown in FIG. 15. Here, a node connected to the first electrode of the capacitive element C21 and the first terminal of the resistive element R1 is defined as node Na. Further, a node connected to the second electrode of the capacitive element C21, one of the source or drain of the transistor Tr21, and the gate of the transistor Tr22 is defined as node Nb.
[0225] The wiring VrefL has a function of supplying the potential Vref, the wiring VaL has a function of supplying the potential Va, and the wiring VbL has a function of supplying the potential Vb. Further, the wiring VDDL has a function of supplying the potential VDD, and the wiring VSSL has a function of supplying the potential VSS. Here, a case where the potential VDD is a high power supply potential and the potential VSS is a low power supply potential will be described. Also, the wiring RST has a function of supplying a potential for controlling the conduction state of the transistor Tr21. A source follower circuit is configured by the transistor Tr22, the transistor Tr23, the wiring VDDL, the wiring VSSL, and the wiring VbL.
[0226] Next, an operation example of the circuits OC[1] to OC[n] will be described. Here, as a representative example, the operation example of the circuit OC[1] will be described, but the circuits OC[2] to OC[n] can also be operated in the same manner. First, when a first current flows through the wiring BL[1], the potential of node Na becomes a potential corresponding to the first current and the resistance value of the resistive element R1. At this time, the transistor Tr21 is in the on state, and the potential Va is supplied to node Nb. Thereafter, the transistor Tr21 becomes the off state.
[0227] Next, when a second current flows through the wiring BL[1], the potential of the node Na changes to a potential corresponding to the second current and the resistance value of the resistance element R1. At this time, the transistor Tr21 is in the off state and the node Nb is in the floating state. Therefore, as the potential of the node Na changes, the potential of the node Nb changes due to capacitive coupling. Here, let the change in the potential of the node Na be ΔV Na and assuming the capacitive coupling coefficient is 1, the potential of the node Nb becomes Va + ΔV Na . Then, assuming the threshold voltage of the transistor Tr22 is V th , a potential Va + ΔV Na - V th is output from the wiring OL[1]. Here, by setting Va = V th , a potential ΔV Na can be output from the wiring OL[1].
[0228] The potential ΔV Na is determined according to the change amount from the first current to the second current, the resistance value of the resistance element R1, and the potential Vref. Here, since the resistance value of the resistance element R1 and the potential Vref are known, the change amount of the current flowing through the wiring BL can be obtained from the potential ΔV Na .
[0229] The amount of current detected by the offset circuit OFST as described above and / or the signal corresponding to the change amount of the current are input to the activation function circuit ACTV via the wirings OL[1] to OL[n].
[0230] The activation function circuit ACTV is connected to the wirings OL[1] to OL[n] and the wirings NIL[1] to NIL[n]. The activation function circuit ACTV has a function of performing an operation for converting the signal input from the offset circuit OFST according to a predefined activation function. As the activation function, for example, a sigmoid function, a tanh function, a softmax function, a ReLU function, a threshold function, etc. can be used. The signal converted by the activation function circuit ACTV is output to the wirings NIL[1] to NIL[n] as output data.
[0231] <Operation Example of Semiconductor Device> Using the semiconductor device MAC described above, the multiplication and accumulation operation of the first data and the second data can be performed. Hereinafter, an operation example of the semiconductor device MAC when performing the multiplication and accumulation operation will be described.
[0232] Fig. 16 shows a timing chart of an operation example of the semiconductor device MAC. Fig. 16 shows the potential transitions of the wirings WL[1], WL[2], WD[1], WDref, nodes NM[1,1], NM[2,1], NMref[1], NMref[2], RW[1], and RW[2] in Fig. 14, and the current I B [1] - I α [1], and the value transitions of the current I Bref are shown. The current I B [1] - I α [1] corresponds to the sum of the currents flowing from the wiring BL[1] to the memory cells MC[1,1] and MC[2,1].
[0233] Here, as a representative example, the operation will be described by focusing on the memory cells MC[1,1], MC[2,1] and the memory cells MCref[1], MCref[2] shown in Fig. 14, but other memory cells MC and memory cells MCref can also be operated in the same manner.
[0234] [Storage of First Data] First, in the period from time T01 to time T02, the potential of the wiring WL[1] becomes high level, the potential of the wiring WD[1] becomes higher than the ground potential (GND) by V PR - V W[1,1] higher potential, and the potential of the wiring WDref becomes higher than the ground potential by V PR higher potential. Also, the potentials of the wirings RW[1] and RW[2] become the reference potential (REFP). Note that the potential V W[1,1] corresponds to the potential of the first data stored in the memory cell MC[1,1]. Also, the potential V PRis the potential corresponding to the reference data. As a result, the transistor Tr11 included in the memory cell MC[1,1] and the memory cell MCref[1] is turned on, and the potential of the node NM[1,1] becomes V PR -V W[1,1] , and the potential of the node NMref[1] becomes V PR .
[0235] At this time, the current I flowing from the wiring BL[1] to the transistor Tr12 of the memory cell MC[1,1] MC[1,1],0 can be expressed by the following formula. Here, k is a constant determined by the channel length, channel width, mobility, and capacitance of the gate insulating film of the transistor Tr12. Also, V th is the threshold voltage of the transistor Tr12.
[0236] I MC[1,1],0 = k(V PR - V W[1,1] - V th )(E1) 2
[0237] Also, the current I flowing from the wiring BLref to the transistor Tr12 of the memory cell MCref[1] MCref[1],0 can be expressed by the following formula.
[0238] I MCref[1],0 = k(V PR - V th )(E2) 2
[0239] Next, in the period from time T02 to time T03, the potential of the wiring WL[1] becomes a low level. As a result, the transistor Tr11 included in the memory cell MC[1,1] and the memory cell MCref[1] is turned off, and the potentials of the node NM[1,1] and the node NMref[1] are held.
[0240] As described above, it is preferable to use an OS transistor as the transistor Tr11. Thereby, the leakage current of the transistor Tr11 can be suppressed, and the potentials of the nodes NM[1,1] and NMref[1] can be accurately maintained.
[0241] Next, in the period from time T03 to time T04, the potential of the wiring WL[2] becomes high level, the potential of the wiring WD[1] becomes higher than the ground potential by V PR -V W[2,1] higher potential, and the potential of the wiring WDref becomes higher than the ground potential by V PR higher potential. Note that the potential V W[2,1] is the potential corresponding to the first data stored in the memory cell MC[2,1]. Thereby, the transistors Tr11 included in the memory cell MC[2,1] and the memory cell MCref[2] are turned on, the potential of the node NM[2,1] becomes V PR -V W[2,1] , and the potential of the node NMref[2] becomes V PR .
[0242] At this time, the current I MC[2,1],0 flowing from the wiring BL[1] to the transistor Tr12 of the memory cell MC[2,1] can be expressed by the following equation.
[0243] I MC[2,1],0 =k(V PR -V W[2,1] -V th )(E3) 2
[0244] Also, the current I MCref[2],0 flowing from the wiring BLref to the transistor Tr12 of the memory cell MCref[2] can be expressed by the following equation.
[0245] I MCref[2],0 =k(V PR -V th )(E4) 2
[0246] Next, during the period from time T04 to time T05, the potential of wiring WL[2] becomes low level. As a result, the transistors Tr11 included in the memory cell MC[2,1] and the reference memory cell MCref[2] are turned off, and the potentials of the nodes NM[2,1] and NMref[2] are held.
[0247] By the above operations, the first data is stored in the memory cells MC[1,1] and MC[2,1], and the reference data is stored in the reference memory cells MCref[1] and MCref[2].
[0248] Here, consider the currents flowing through the wiring BL[1] and the wiring BLref during the period from time T04 to time T05. A current is supplied from the current source circuit CS to the wiring BLref. Also, the current flowing through the wiring BLref is discharged to the current mirror circuit CM, the memory cells MCref[1] and MCref[2]. Let the current supplied from the current source circuit CS to the wiring BLref be I Cref and the current discharged from the wiring BLref to the current mirror circuit CM be I CM,0 . Then, the following equation holds.
[0249] I Cref -I CM,0 =I MCref[1],0 +I MCref[2],0 (E5)
[0250] A current is supplied from the current source circuit CS to the wiring BL[1]. Also, the current flowing through the wiring BL[1] is discharged to the current mirror circuit CM, the memory cells MC[1,1] and MC[2,1]. Also, a current flows from the wiring BL[1] to the offset circuit OFST. Let the current supplied from the current source circuit CS to the wiring BL[1] be I C,0 and the current flowing from the wiring BL[1] to the offset circuit OFST be I α,0 . Then, the following equation holds.
[0251] I C -I CM,0 =I MC[1,1],0 +I MC[2,1],0 +I α,0 (E6)
[0252] [Sum-of-Products Operation of First Data and Second Data] Next, during the period from time T05 to time T06, the potential of wiring RW[1] becomes a potential higher than the reference potential by V X[1] At this time, the potential V X[1] is supplied to each of the capacitive elements C11 of the memory cell MC[1,1] and the memory cell MCref[1], and the potential of the gate of the transistor Tr12 rises due to capacitive coupling. Note that the potential V X[1] is the potential corresponding to the second data supplied to the memory cell MC[1,1] and the memory cell MCref[1].
[0253] The change amount of the potential of the gate of the transistor Tr12 is a value obtained by multiplying the change amount of the potential of the wiring RW by a capacitive coupling coefficient determined by the configuration of the memory cell. The capacitive coupling coefficient is calculated based on the capacitance of the capacitive element C11, the gate capacitance of the transistor Tr12, and parasitic capacitance, etc. Hereinafter, for the sake of convenience, it will be described assuming that the change amount of the potential of the wiring RW and the change amount of the potential of the gate of the transistor Tr12 are the same, that is, the capacitive coupling coefficient is 1. Actually, the potential V X may be determined in consideration of the capacitive coupling coefficient.
[0254] When the potential V X[1] is supplied to the capacitive elements C11 of the memory cell MC[1,1] and the memory cell MCref[1], the potentials of the nodes NM[1,1] and NMref[1] rise to V X[1] respectively.
[0255] Here, during the period from time T05 to time T06, the current I MC[1,1],1 flowing from the wiring BL[1] to the transistor Tr12 of the memory cell MC[1,1] can be expressed by the following equation.
[0256] I MC[1,1],1 =k(V PR -V W[1,1] +V X[1] -V th ) 2 (E7)
[0257] That is, by supplying the potential V to the wiring RW[1], the current flowing from the wiring BL[1] to the transistor Tr12 of the memory cell MC[1,1] is ΔI X[1] = I MC[1,1] = I MC[1,1],1 - I MC[1,1],0 increases.
[0258] Also, during the period from time T05 to time T06, the current I flowing from the wiring BLref to the transistor Tr12 of the memory cell MCref[1] can be expressed by the following equation. MCref[1],1 is as follows.
[0259] I MCref[1],1 = k(V PR + V X[1] - V th )(E8) 2 (E8)
[0260] That is, by supplying the potential V to the wiring RW[1], the current flowing from the wiring BLref to the transistor Tr12 of the memory cell MCref[1] is ΔI X[1] = I MCref[1] = I MCref[1],1 - I MCref[1],0 increases.
[0261] Also, consider the currents flowing through the wiring BL[1] and the wiring BLref. A current I Cref is supplied to the wiring BLref from the current source circuit CS. Also, the current flowing through the wiring BLref is discharged to the current mirror circuit CM, the memory cells MCref[1], and MCref[2]. Let the current discharged from the wiring BLref to the current mirror circuit CM be I CM,1 , then the following equation holds.
[0262] I Cref - I CM,1 = I MCref[1],1 + I MCref[2],0 (E9)
[0263] A current I Cis supplied. Also, the current flowing through wiring BL[1] is discharged to current mirror circuit CM, memory cells MC[1,1], and MC[2,1]. Further, current also flows from wiring BL[1] to offset circuit OFST. Let the current flowing from wiring BL[1] to offset circuit OFST be I α,1 Then, the following equation holds.
[0264] I C -I CM,1 =I MC[1,1],1 +I MC[2,1],1 +I α,1 (E10)
[0265] And from equations (E1) to (E10), the difference (differential current ΔI α,0 between current I α,1 and current I α ) can be expressed by the following equation.
[0266] ΔI α =I α,1 -I α,0 =2kV W[1,1] V X[1] (E11)
[0267] Thus, the differential current ΔI α becomes a value corresponding to the product of potentials V W[1,1] and V X[1] .
[0268] Thereafter, in the period from time T06 to time T07, the potential of wiring RW[1] becomes the reference potential, and the potentials of node NM[1,1] and node NMref[1] become the same as in the period from time T04 to time T05.
[0269] Next, in the period from time T07 to time T08, the potential of wiring RW[1] becomes a potential greater than the reference potential by V X[1] , and the potential of wiring RW[2] becomes a potential greater than the reference potential by V X[2] . As a result, the potential V X[1]is supplied, and the potentials of nodes NM[1,1] and NMref[1] rise due to capacitive coupling to V X[1] respectively. Also, potential V X[2] is supplied to each capacitive element C11 of memory cell MC[2,1] and memory cell MCref[2], and the potentials of nodes NM[2,1] and NMref[2] rise due to capacitive coupling to V X[2] respectively.
[0270] Here, during the period from time T07 to time T08, the current I flowing from wiring BL[1] to transistor Tr12 of memory cell MC[2,1] MC[2,1],1 can be expressed by the following equation.
[0271] I MC[2,1],1 =k(V PR -V W[2,1] +V X[2] -V th )(E12) 2
[0272] That is, by supplying potential V X[2] to wiring RW[2], the current flowing from wiring BL[1] to transistor Tr12 of memory cell MC[2,1] is ΔI MC[2,1] =I MC[2,1],1 -I MC[2,1],0 and increases.
[0273] Also, during the period from time T07 to time T08, the current I flowing from wiring BLref to transistor Tr12 of memory cell MCref[2] MCref[2],1 can be expressed by the following equation.
[0274] I MCref[2],1 =k(V PR +V X[2] -V th )(E13) 2
[0275] That is, by supplying potential V X[2] to wiring RW[2], the current flowing from wiring BLref to transistor Tr12 of memory cell MCref[2] is ΔI MCref[2]=I MCref[2],1 -I MCref[2],0 Increases.
[0276] Also, consider the currents flowing through wiring BL[1] and wiring BLref. A current I Cref is supplied to wiring BLref from current source circuit CS. Also, the current flowing through wiring BLref is discharged to current mirror circuit CM, memory cells MCref[1], MCref[2]. Let the current discharged from wiring BLref to current mirror circuit CM be I CM,2 . Then, the following equation holds.
[0277] I Cref -I CM,2 =I MCref[1],1 +I MCref[2],1 (E14)
[0278] A current I C is supplied to wiring BL[1] from current source circuit CS. Also, the current flowing through wiring BL[1] is discharged to current mirror circuit CM, memory cells MC[1,1], MC[2,1]. Furthermore, a current also flows from wiring BL[1] to offset circuit OFST. Let the current flowing from wiring BL[1] to offset circuit OFST be I α,2 . Then, the following equation holds.
[0279] I C -I CM,2 =I MC[1,1],1 +I MC[2,1],1 +I α,2 (E15)
[0280] Then, from equations (E1) to (E8) and equations (E12) to (E15), the difference (differential current ΔI α,0 ) between current I α,2 and current I α can be expressed by the following equation.
[0281] ΔI α =I α,2 -I α,0 =2k(V W[1,1] V X[1] +V W[2,1] V X[2]) (E16)
[0282] Thus, the differential current ΔI α is the sum of the product of the potential V W[1,1] and the potential V X[1] , and the product of the potential V W[2,1] and the potential V X[2] , and has a value corresponding to the result of the addition.
[0283] Thereafter, during the period from time T08 to time T09, the potentials of the wirings RW[1], [2] become the reference potential, and the potentials of the nodes NM[1,1], NM[2,1] and the nodes NMref[1], NMref[2] are the same as those during the period from time T04 to time T05.
[0284] As shown in Equation (E11) and Equation (E16), the differential current ΔI α input to the offset circuit OFST W is the potential V corresponding to the first data (weight) X and the potential V corresponding to the second data (input data), and can be calculated from an equation having a product term. That is, by measuring the differential current ΔI α with the offset circuit OFST, the result of the sum-of-products operation of the first data and the second data can be obtained.
[0285] Note that in the above, particular attention was paid to the memory cells MC[1,1], MC[2,1] and the memory cells MCref[1], MCref[2], but the number of memory cells MC and memory cells MCref can be arbitrarily set. The differential current ΔIα when the number of rows m of the memory cells MC and the memory cells MCref is an arbitrary number i can be expressed by the following equation.
[0286] ΔI α =2kΣ i V W[i,1] V X[i] (E17)
[0287] Also, by increasing the number of columns n of the memory cells MC and the memory cells MCref, the number of sum-of-products operations executed in parallel can be increased.
[0288] As described above, by using the semiconductor device MAC, the sum-of-products operation of the first data and the second data can be performed. Note that by using the configurations shown in FIG. 14 for the memory cell MC and the memory cell MCref, a sum-of-products operation circuit can be configured with a small number of transistors. Therefore, the circuit scale of the semiconductor device MAC can be reduced.
[0289] When the semiconductor device MAC is used for operations in a neural network, the number of rows m of the memory cell MC can be made to correspond to the number of input data supplied to one neuron, and the number of columns n of the memory cell MC can be made to correspond to the number of neurons. For example, consider the case of performing a sum-of-products operation using the semiconductor device MAC in the intermediate layer HL shown in FIG. 12(A). At this time, the number of rows m of the memory cell MC can be set to the number of input data (the number of neurons in the input layer IL) supplied from the input layer IL, and the number of columns n of the memory cell MC can be set to the number of neurons in the intermediate layer HL.
[0290] Note that the structure of the neural network to which the semiconductor device MAC is applied is not particularly limited. For example, the semiconductor device MAC can also be used in a convolutional neural network (CNN), a recurrent neural network (RNN), an autoencoder, a Boltzmann machine (including a restricted Boltzmann machine), and the like.
[0291] As described above, by using the semiconductor device MAC, the sum-of-products operation of the neural network can be performed. Furthermore, by using the memory cell MC and the memory cell MCref shown in FIG. 14 for the cell array CA, an integrated circuit capable of improving the operation accuracy, reducing the power consumption, or reducing the circuit scale can be provided.
[0292] This embodiment can be appropriately combined with other embodiments.
Explanation of Reference Numerals
[0293] AD: Text analysis data, AD ref: Reference text analysis data, C11: Capacitance element, C21: Capacitance element, ID: IDF data, KD: Keyword data, KW: Keyword, KW 1 : Keyword, KW 2 : Keyword, KW x : Keyword, LD: Ranking data, NN: Neural network, R1: Resistance element, RD: Related word data, RS: Relevance degree, RW: Related word, RW x1 : Related word, RW x2 : Related word, RW xy : Related word, TD: Text data, TD ref : Reference text data, Tr11: Transistor, Tr12: Transistor, Tr21: Transistor, Tr22: Transistor, Tr23: Transistor, VD: Vector data, 100: Document search system, 101: Input section, 102: Transmission path, 103: Processing section, 105: Memory section, 107: Database, 109: Output section, 150: Document search system, 151: Server, 152: Terminal, 161a: Communication section, 161b: Communication section, 162: Transmission path, 163a: Processing section, 163b: Processing section, 165: Memory section, 167: Database, 168: Transmission path, 169: Input / output section
Claims
【Claim 1】 A first step of performing morphological analysis on each of a plurality of reference text data input to an input unit to generate a plurality of reference text analysis data; A second step of calculating the inverse document frequency of words included in the plurality of reference text analysis data to generate inverse document frequency data; A third step of generating a distributed representation vector of words included in the plurality of reference text analysis data to generate vector data, and having, A method executed by the system in which after the first step, the second step and the third step are performed simultaneously.
Citation Information
Patent Citations
Massive short text clustering method based on word vector semantic analysis
CN106776713A
An emotion analysis method based on word vector and part of speech
CN109002473A
Electronic Device
US20160343452A1