Information processing system and information processing method
The two-stage search expansion generation process in the information processing system addresses the limitations of large language models by creating organized databases and using vector similarity searches to ensure accurate answers to user questions, even when they pertain to specialized company information.
Patent Information
- Application Number
- JP2025002832
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-17
- Filing Date
- 2025-01-08
- Publication Date
- 2025-07-30
AI Technical Summary
Large language models provided by external services often fail to generate accurate answers to questions specific to a user's internal company information due to their training on general knowledge, and Retrieval Augmented Generation (RAG) may not accurately extract information from diverse external data formats, leading to off-topic answers.
A two-stage search expansion generation process is applied, first constructing a database of organized documents related to user-specific information and then generating answers based on these documents using a large language model, enhancing answer accuracy by performing similarity searches on vector data.
This approach ensures that the information processing system generates accurate answers to user questions, regardless of their specificity, by leveraging organized databases and vector similarity searches to enhance the large language model's response quality.
Smart Images

Figure 2025111396000001_ABST
Abstract
Description
Technical Field
[0001] One aspect of the present invention relates to an information processing system and an information processing method.
[0002] Note that one aspect of the present invention is not limited to the above technical field. The technical field of one aspect of the invention disclosed in this specification or the like relates to an article, a method, or a manufacturing method. Alternatively, one aspect of the present invention relates to a process, a machine, a manufacture, or a composition of matter. Therefore, more specifically, as the technical field of one aspect of the present invention disclosed in this specification, semiconductor devices, display devices, light-emitting devices, power storage devices, storage devices, their driving methods, or their manufacturing methods can be cited as an example.
Background Art
[0003] In recent years, the development of language models using neural networks has been actively carried out, and in particular, large language models (LLMs) have attracted attention. A large language model is a natural language processing model trained using a large amount of data. For example, a dialogue model that answers user instructions can be realized by a large language model. In Non-Patent Document 1, GPT-4 (Generative Pre-trained Transformer 4) (registered trademark) is disclosed as a large language model, and ChatGPT is disclosed as a dialogue model.
[0004] By using a large language model, the capabilities of natural language processing models have been significantly improved. On the other hand, due to the increase in the size of language models, it is difficult to build and operate a language model by oneself in terms of equipment and cost. Therefore, using an external service that provides a language model has become one form of using a language model.
Prior Art Documents
Non-Patent Documents
[0005]
Non-Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0006] One aspect of the present invention aims to provide a novel information processing system excellent in convenience, usefulness, or reliability. Or, one aspect of the present invention aims to provide a novel information processing method excellent in convenience, usefulness, or reliability.
[0007] Note that the description of these problems does not prevent the existence of other problems. Note that one aspect of the present invention does not necessarily need to solve all of these problems. Note that other problems will become apparent from the description in the specification, drawings, claims, etc., and it is possible to extract these other problems from the description in the specification, drawings, claims, etc.
Means for Solving the Problems
[0008] Large language models can automatically generate answers to users' questions, but they can only generate answers based on information within the scope of pre-learned knowledge. Therefore, depending on the content of the user's question, it may not be possible to generate an appropriate answer. For example, when a user asks a question specialized in the business content they are engaged in to a large language model provided by an external service, it is highly likely that the large language model cannot generate the answer the user is seeking. This is because large language models provided by external services are generated by learning general information in the world (such as politics, economy, culture, science, society, events, etc.), and for example, they have not learned about internal company information of the company the user belongs to.
[0009] On the other hand, recently, a technology called Retrieval Augmented Generation (RAG) has been developed and widely used. This technology searches for and extracts information related to the user's question from external data (data that the large language model has not learned), and generates an answer sentence for the large language model based on this information. As a result, for questions in areas that the large language model has not learned, by extracting relevant information from external information sources, it has become possible to generate the answers that users are seeking.
[0010] However, when the formats, languages, file formats, etc. of the external data to be referenced are diverse, it may not be possible to accurately extract the information required by the user from the external data. As a result, there is a risk that the large language model will generate off-topic answers. Therefore, first, by performing the first search expansion generation process based on the diverse external data to be referenced, a first document with organized formats, languages, file formats, etc. is generated for the large language model. Then, by performing the second search expansion generation process based on the first document, a second document is generated for the large language model and presented to the user as an answer to the question. In this way, by applying the search expansion generation process twice to generate documents, the answer accuracy of the large language model can be improved compared to the case where the search expansion generation process is applied only once. That is, the answer required by the user can be appropriately generated.
[0011] For example, when a user asks a question specific to in-house operations and requests an appropriate answer, an information source specialized in in-house information must be constructed in advance. In such a case, as described above, if an information processing system and an information processing method that combine the process of constructing the information source in advance by the first search expansion generation and the process of performing the second search expansion generation on the information source can be established, the user will be able to obtain an appropriate answer regardless of the content of the question.
[0012] In view of the above, one aspect of the present invention has a first component, and the first component has a function of receiving first information, second information, and a question sentence, a function of creating a first instruction sentence based on the first information, a function of inputting the first instruction sentence into a large language model and receiving a list generated by the large language model, a function of extracting a first document from within a data source based on the first information and the second information, and a function of storing the first document in a first database. The first document is a document related to the first information, the data source is an information source specified by the second information, the list has chapters, and the first component has a function of searching within the first database based on the chapters and extracting a second document, a function of creating a second instruction sentence based on the chapters and the second document, a function of inputting the second instruction sentence into a large language model and receiving a third document generated by the large language model, and a function of storing the third document in a second database. The second document is a document related to the chapters, the first component has a function of searching within the second database based on the question sentence and extracting a fourth document, the fourth document is a document related to the question sentence, the first component creates a third instruction sentence based on the fourth document and the question sentence, inputs the third instruction sentence into a large language model, and has a function of receiving a response sentence generated by the large language model and a function of outputting the response sentence. This is an information processing system.
[0013] Also, in the above, it is preferable that the first component has a function of converting the first document into first vector data, associating the first document and the first vector data, and storing them in the first database, a function of converting the chapters into second vector data and performing a similarity search within the first database using the second vector data, a function of converting the third document into third vector data, associating the third document and the third vector data, and storing them in the second database, and a function of converting the question sentence into fourth vector data and performing a similarity search within the second database using the fourth vector data.
[0014] Also, one aspect of the present invention has steps from the first step to the fifteenth step. In the first step, after the first component receives the first information and the second information, the first component transfers the first information and the second information to the second component. In the second step, after the second component receives the first information and the second information, the second component creates a first instruction based on the first information and transfers the first instruction to the third component. In the third step, the third component generates a list based on the first instruction. In the fourth step, the second component searches the data source for the absence of the first information based on the second information, where the data source is the information source specified by the second information. In the fifth step, the second component extracts the first document having the first information. In the sixth step, the second component receives the list. In the seventh step, after the second component converts the first document into first data, the second component associates the first document and the first data and stores them in the first database. The list has a first chapter. In the eighth step, after the second component extracts the first chapter from the list, the second component converts the first chapter into second data. In the ninth step, the second component searches the first database for the second data. In the tenth step, the second component extracts the second document associated with the third data from the first database, where the third data has the highest similarity to the second data. In the eleventh step, the second component creates a second instruction based on the first chapter and the second document and transfers the second instruction to the third component. In the twelfth step, the third component generates a third document based on the second instruction. In the thirteenth step, the second component receives the third document from the third component. In the fourteenth step, the second component determines whether the list has a second chapter. If it is determined that the list has a second chapter, the second component performs the processes according to the eighth step to the thirteenth step for the second chapter. If it is determined that the list does not have a second chapter, in the fifteenth step,The second component is an information processing method that, after converting a third document into fourth data, associates the third document and the fourth data and stores them in a second database.
[0015] Also, in the above, the first to fourth data are each vector data, and in the ninth step, the search for the second data performed by the second component on the first database is preferably a similarity search.
[0016] Also, in the above, after the fifteenth step, there are the sixteenth to twenty-second steps. In the sixteenth step, after receiving a question sentence, the first component transfers the question sentence to the second component. In the seventeenth step, the second component converts the question sentence into fifth data and then performs a search for the fifth data on the second database. In the eighteenth step, the second component extracts the fourth document associated with the sixth data from the second database, where the sixth data has the highest similarity to the fifth data. In the nineteenth step, the second component creates a third instruction sentence based on the question sentence and the fourth document and transfers the third instruction sentence to the third component. In the twentieth step, the third component generates an answer sentence based on the third instruction sentence and then transfers the answer sentence to the second component. In the twenty-first step, after receiving the answer sentence, the second component transfers the answer sentence to the first component. In the twenty-second step, it is preferable that the first component receives the answer sentence.
[0017] Also, in the above, the fifth and sixth data are each vector data, and in the seventeenth step, the search for the fifth data performed by the second component on the second database is preferably a similarity search.
Advantages of the Invention
[0018] According to one aspect of the present invention, a novel information processing system excellent in convenience, usefulness, or reliability can be provided. Alternatively, according to one aspect of the present invention, a novel information processing method excellent in convenience, usefulness, or reliability can be provided.
[0019] Note that the description of these effects does not prevent the existence of other effects. Note that one aspect of the present invention does not necessarily have to have all of these effects. Note that other effects will become apparent from the description in the specification, drawings, claims, etc., and it is possible to extract these other effects from the description in the specification, drawings, claims, etc.
Brief Description of the Drawings
[0020]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Embodiments for Carrying Out the Invention
[0021] The embodiments will be described in detail with reference to the drawings. However, the present invention is not limited to the following description, and it will be easily understood by those skilled in the art that the form and details thereof can be variously changed without departing from the spirit and scope of the present invention. Therefore, the present invention is not to be construed as being limited to the description of the embodiments shown below. In the configuration of the invention described below, the same reference numerals are commonly used between different drawings for the same part or parts having the same function, and the repeated description thereof will be omitted.
[0022] In this specification and the like, ordinal numbers such as "first" and "second" are used for convenience and do not limit the number of components or the order of components (for example, the order of steps or the order of lamination). Also, the ordinal number attached to a component in one part of this specification may not match the ordinal number attached to the same component in another part of this specification or in the claims.
[0023] (Embodiment 1) An information processing system according to one aspect of the present invention has a function of generating a list (a list of chapters (or sections) of a document created by the information processing system) using a large language model based on first information (such as a user's purpose, theme, etc.) input by the user. Further, first text data (text data included in data and file groups related to the first information) is extracted from a data source (database, data folder, or both) that is the information source specified by the second information input by the user, and after converting the first text data into first vector data, the first text data and the first vector data are associated and stored in a first database. Further, after converting the name of each chapter (or each section) included in the list into second vector data, a similarity search is performed within the first database, and second text data associated with third vector data similar to the second vector data is extracted.
[0024] In this specification and the like, the term "vector data" refers to data consisting of a multi-dimensional numerical array for text data consisting of a character string (natural language) such as a sentence. It can also be said that vector data is data in a form that enables arithmetic processing. Text data can be converted into vector data by performing quantification based on features, regularities, etc. possessed by the text data. As specific methods for converting text data into vector data, Bag of Words, distributed representation, embedding representation, etc. are known.
[0025] In this specification and the like, the term "similarity search" refers to a search for obtaining the degree of similarity between the above-described vector data. One of the indices representing the degree of similarity between vector data is cosine similarity.
[0026] In addition, as an index indicating the high degree of similarity between vector data, the distance between vector data can also be used. In this case, it can be said that the closer the distance between vector data, the higher the similarity between vector data. Examples of methods for obtaining the distance between vector data include Euclidean distance, standard (standardized, average) Euclidean distance, Mahalanobis distance, Manhattan distance, Chebyshev distance, Minkowski distance, and the like.
[0027] In addition, an information processing system according to an aspect of the present invention has a function of generating a first document whose format, language, file format, etc. are more organized than the first text data by using a large language model based on the aforementioned list and the second text data. Further, after converting the first document into fourth vector data, it has a function of associating the first document and the fourth vector data and storing them in a second database.
[0028] In addition, an information processing system according to an aspect of the present invention has a function of converting a question sentence input by a user into fifth vector data, performing a similarity search in a second database, and extracting a second document associated with sixth vector data similar to the fifth vector data. Further, it has a function of generating an answer sentence by using a large language model based on the question sentence and the second document.
[0029] Since the information processing system according to an aspect of the present invention has the various functions described above, it is possible to generate an accurate answer regardless of the content of the user's question.
[0030] Hereinafter, an information processing system according to an aspect of the present invention will be described with reference to FIGS. 1 to 4.
[0031] <Configuration example of information processing system> FIG. 1 shows a configuration example of each component of an information processing system according to an aspect of the present invention, various databases, and a network connecting these. In addition, an example of the data flow exchanged between each component of the information processing system and each of the various databases is shown.
[0032] Also, FIGS. 2 and 3 show more detailed examples of the flow of data exchanged between each component of the information processing system shown in FIG. 1 and each of various databases.
[0033] Note that in FIGS. 1 to 3, the components are classified by function and shown as independent components or blocks. However, in actuality, it is difficult to completely separate the components by function, and one component may be involved in multiple functions.
[0034] As shown in FIG. 1, the information processing system according to one aspect of the present invention includes a component 10, a component 20, and a component 30. Further, the information processing system exchanges predetermined data with each of a data source 40, a primary database 41, and a secondary database 42 via a network 50. The information processing system can generate a document using a search expansion generation method by interacting with the data source 40, the primary database 41, and the secondary database 42.
[0035] An information processing system according to an aspect of the present invention performs document generation using a search expansion generation method twice. First, information related to the user's input sentence (specifically, items, keywords, purposes, themes, etc. related to the content the user wants to inquire about) is extracted from a data source (data source 40) corresponding to the database, data folder, or both specified by the user, and a first database (primary database 41) composed of the information is constructed. Subsequently, by the first search expansion generation process, based on the information in the primary database 41, a document specialized for the user's question content is newly generated, and a second database (secondary database 42) composed of the document is constructed. Then, by the second search expansion generation process, based on the document in the secondary database 42, an answer sentence to the user's question sentence is generated. That is, the information processing system according to an aspect of the present invention constructs a database (secondary database 42) composed of documents specialized for the user's purpose, theme, etc. by the first search expansion generation process, and performs a two-stage process of generating an appropriate answer required by the user based on the documents in the database by the second search expansion generation process. In this way, by performing the search expansion generation process twice, the answer accuracy to the user's question can be improved compared to the case of performing it only once.
[0036] Among the above series of processes, an example of the exchange of various data until the second database 42 is constructed in the first phase, that is, the first search expansion generation process, is shown in FIG. 2. Also, an example of the exchange of various data until an answer to the user's question is generated in the second phase, that is, the second search expansion generation process, is shown in FIG. 3.
[0037] Hereinafter, with reference to FIGS. 1 to 3, the functions of the information processing system according to an aspect of the present invention will be described separately for each component constituting the information processing system. Note that there may be some overlapping explanations regarding the exchange of data between the components.
[0038] <<Configuration Example of Component 10>> As the component 10, for example, a desktop computer can be used.
[0039] The component 10 can receive data input by the user. Also, the data output by the component 20 can be provided to the user.
[0040] For example, dedicated application software or a web browser operates. The user can access the information processing system via either of them. Thereby, the service using the information processing system according to one aspect of the present invention can be enjoyed.
[0041] In the process T1 indicated by the arrow in FIG. 2, the component 10 has a function of receiving information (information IN1 and information IN2 shown in FIG. 1) input by the user and passing it to the component 20.
[0042] Also, in the process T12 indicated by the arrow in FIG. 3, the component 10 has a function of receiving a question sentence (question sentence QRE described in FIG. 1) input by the user and passing it to the component 20.
[0043] Note that the information IN1, the information IN2, and the question sentence QRE are described in natural language. Regarding the information IN2, although it can be described in natural language, for example, a process corresponding to the input of the information IN2 can also be performed by the user selecting a desired folder from the display screen of the component 10.
[0044] Here, specifically, the information IN1 refers to items, keywords, etc. related to the content that the user wants to question. Also, specifically, the information IN2 refers to the storage destination (database or data folder) of the information related to the content that the user wants to question, and refers to the name of the data source 40 or the path of the data storage destination. Further, the question sentence QRE refers to a sentence describing the content that the user wants to question.
[0045] For example, consider the case where the user is an engineer engaged in circuit design. The user attempts to program the information required for circuit design using a language called AXEL, but there are some unclear points in the description method of functions, and the user wants to ask a question to the information processing system according to one aspect of the present invention. At this time, items related to the question content, keywords, etc. correspond to information IN1. For example, in the above case, the purpose of "wanting to ask a question about AXEL functions" or the theme such as "AXEL functions" corresponds to information IN1. Here, information IN1 can be a single word, an enumeration of multiple words, or a sentence.
[0046] Information IN2 corresponds to the storage destination of information related to the question content (database name, data folder name, or path of the data storage destination). For example, in the above case, information IN2 can be a database name such as "data source 40", a folder name within data source 40 such as "AXEL", or a data storage path such as " / / data source 40 / circuit design / AXEL".
[0047] The question text QRE corresponds to the sentence describing the content of the question asked by the user. For example, in the above case, the question text QRE can be described as "Please teach me how to write a function with variable-length arguments in AXEL."
[0048] In addition, component 10 has a function of receiving the answer sentence (answer sentence ANS described in FIG. 1) created by component 20 in the process T17 indicated by the arrow in FIG. 3 and providing it to the user. Note that the answer sentence ANS is described in natural language.
[0049] 《Configuration example of component 20》 As component 20, for example, a workstation, a server computer, a supercomputer, etc. can be used.
[0050] Further, component 20 preferably has the function of a parallel computer. By using it as a parallel computer, for example, large-scale calculations required for learning and inference of artificial intelligence (AI) can be performed.
[0051] Also, component 20 can perform processing using a natural language processing model using AI.
[0052] For example, processing using natural language models (Natural Language Processing) such as BERT (Bidirectional Encoder Representations from Transformers), T5 (Text-to-Text Transfer Transformer), GPT-3, GPT-3.5, GPT-4, LaMDA (Language Model for Dialogue Applications), PaLM (Pathways Language Model), Llama2, etc. can be executed.
[0053] In process T1 indicated by the arrow in FIG. 2, component 20 has the function of receiving information IN1 and information IN2 passed from component 10.
[0054] Based on information IN1, component 20 has the function of creating instruction text PT1. Instruction text PT1 is text created based on information IN1 passed from component 10 and is for passing to component 30. For example, component 20 creates a sentence described in natural language such as "Since I want to create an explanatory document about information IN1, please create a table of contents for the explanatory document." as instruction text PT1.
[0055] Also, in process T2 indicated by the arrow in FIG. 2, component 20 passes instruction statement PT1 to component 30, and has a function of causing component 30 to execute a process of creating a list (list CPLST described in FIG. 1) consisting of items and a list of keywords related to the content of information IN1 according to instruction statement PT1.
[0056] Here, list CPLST is a list of chapters (or sections) of a document that the information processing system according to one aspect of the present invention attempts to generate by a search expansion generation method. For example, when keywords such as the above-mentioned "functions of AXEL" are passed from component 10 to component 20 as information IN1, component 20 creates the above-mentioned instruction statement PT1 based on the keywords. Then, component 20 passes the instruction statement PT1 to component 30, and component 30 automatically generates chapters (sections, items, tables of contents, or titles, which may also be referred to as such) related to information IN1 such as "Overview of AXEL", "Standard operation functions of AXEL", and "GUI operation functions of AXEL", and creates a list consisting of the chapters as list CPLST. Note that the chapters are described in natural language.
[0057] Also, in process T3 indicated by the arrow in FIG. 2, component 20 has a function of receiving list CPLST generated by component 30 based on instruction statement PT1.
[0058] Also, in process T4 indicated by the arrow in FIG. 2, component 20 has a function of searching within data source 40 based on information IN2 to check if there is information related to information IN1. In FIG. 2, information INF1 to information INFA (A is an integer of 3 or more) are stored in data source 40, and the state of collating each piece of information with information IN1 is shown by a dashed arrow.
[0059] Also, in process T5 indicated by the arrow in FIG. 2, component 20 has a function of detecting information related to information IN1 from the information stored in data source 40, extracting the document (document DOCA described in FIG. 1) included in the information, and receiving it. Here, document DOCA is obtained by extracting only the text components from the information (including all forms of data such as text data and image data) that data source 40 related to information IN1 has. In FIG. 2, the information in data source 40 related to information IN1 is information INFA, and the state of extracting the text component corresponding to the above-described document DOCA from the information INFA is indicated by a dashed arrow.
[0060] Also, in process T6 indicated by the arrow in FIG. 2, component 20 has a function of converting document DOCA into vector data (vector data VECA described in FIG. 1), associating document DOCA with vector data VECA, and storing them in primary database 41.
[0061] Also, in process T7 indicated by the arrow in FIG. 2, component 20 has a function of converting one of the chapters that list CPLST has (for example, among the multiple chapters that list CPLST has, the Xth chapter counted from the top (X is an integer of 1 or more) (hereinafter referred to as chapter CPTX)) into vector data (vector data VECX described in FIG. 1) and performing a similarity search in primary database 41. For example, when list CPLST is a list containing three chapters (only the text data of the names), namely, "Overview of AXEL", "Standard operation functions of AXEL", and "GUI operation functions of AXEL", it has a function of converting the text data of "Standard operation functions of AXEL", which is one of the chapters that list CPLST has, into vector data and performing a similarity search in primary database 41. In FIG. 2, vector data VEC1 to vector data VECB (B is an integer of 3 or more) and documents DOC1 to documents DOCB respectively associated with the vector data are stored in primary database 41, and the state of evaluating the similarity between each vector data (each of vector data VEC1 to vector data VECB) and vector data VECX is indicated by a dashed arrow.
[0062] Incidentally, as one of the indices indicating the high similarity between vector data, cosine similarity can be mentioned. Since cosine similarity can be easily calculated simply by taking the inner product of two vector data, it is a frequently used index. Cosine similarity is represented by a number between -1 and 1, and it can be determined that the closer it is to 1, the higher the similarity.
[0063] Also, in the process T8 indicated by the arrow in FIG. 2, the component 20 has a function of extracting and receiving, from the primary database 41, the document (document DOCB described in FIG. 1) determined to have a high similarity in the above-described similarity search. In FIG. 2, the state of extracting the document DOCB associated with the vector data VECB having a high similarity with the vector data VECX is indicated by a broken-line arrow. The vector data VECB can be, for example, the vector data having the highest similarity with the vector data VECX by the above-described similarity search.
[0064] Incidentally, FIG. 2 shows an example in the case where there is one piece of vector data (vector data VECB) determined to have a high similarity by the above-described similarity search, but this is not the only case. For example, it is also possible to extract, respectively, the documents associated with the top 10 pieces of vector data determined to have a high similarity by the above-described similarity search. The number of vector data determined to have a high similarity can be freely set by the user.
[0065] Alternatively, when using cosine similarity as an index indicating the high similarity in the above-described similarity search, for example, if the cosine similarity is 0.8 or more, it can be regarded as having a high similarity, and the documents associated with the corresponding vector data can be extracted, respectively. The value of the cosine similarity regarded as having a high similarity can be freely set by the user.
[0066] Also, in process T9 indicated by the arrow in FIG. 2, component 20 has a function of creating instruction statement PT2 based on chapter CPTX and document DOCB, and a function of passing instruction statement PT2 to component 30 and causing component 30 to execute a process of generating a new document (document NDOCX described in FIG. 1) based on chapter CPTX and document DOCB. For example, component 20 creates a sentence described in natural language such as "Create a description of chapter CPTX based on the content described in document DOCB." as instruction statement PT2 and passes this to component 30. For example, when chapter CPTX is text data "Standard operation functions of AXEL", component 30 generates, according to instruction statement PT2, a description specialized for content related to "Standard functions of AXEL" based on the content described in document DOCB as new document NDOCX. For example, text data describing the item "Standard functions of AXEL" is generated as document NDOCX.
[0067] Also, in process T10 indicated by the arrow in FIG. 2, component 20 has a function of receiving the newly generated document NDOCX from component 30 based on instruction statement PT2.
[0068] Also, in process T11 indicated by the arrow in FIG. 2, component 20 has a function of converting the document NDOCX passed from component 30 into vector data (vector data NVECX described in FIG. 1), associating document NDOCX and vector data NVECX, and storing them in secondary database 42. FIG. 2 shows an example where document NDOC1, document NDOC2, document NDOCX, etc. and vector data NVEC1, vector data NVEC2, vector data NVECX, etc. obtained by vector-converting the respective documents are stored in secondary database 42.
[0069] Also, in process T12 indicated by the arrow in FIG. 3, component 20 has a function of receiving the question sentence QRE passed from component 10.
[0070] Also, in process T13 indicated by the arrow in FIG. 3, component 20 has a function of converting the question text QRE transferred from component 10 into vector data (vector data VECY shown in FIG. 1) and performing a similarity search in the secondary database 42. In FIG. 3, vector data NVEC1, vector data NVEC2, vector data NVECZ (Z is an integer of 3 or more), etc. and documents NDOC1, document NDOC2, document NDOCZ, etc. respectively associated with the vector data are stored in the secondary database 42, and the state of evaluating the similarity between each vector data (each of vector data NVEC1, vector data NVEC2, vector data NVECZ, etc.) and vector data VECY is shown by a dashed arrow.
[0071] Also, in process T14 indicated by the arrow in FIG. 3, component 20 has a function of extracting and receiving the document (document NDOCZ shown in FIG. 1) determined to have a high similarity in the above similarity search from the secondary database 42. In FIG. 3, the state of extracting the document NDOCZ associated with the vector data NVECZ having a high similarity with the vector data VECY is shown by a dashed arrow. The vector data NVECZ can be, for example, the vector data having the highest similarity with the vector data VECY by the above similarity search.
[0072] Note that FIG. 3 shows an example in the case where there is one vector data (vector data NVECZ) determined to have a high similarity by the above similarity search, but this is not the limit. For example, it is also possible to extract the documents associated with the top 10 vector data determined to have a high similarity by the above similarity search, respectively. The number of vector data determined to have a high similarity can be freely set by the user.
[0073] Alternatively, when using cosine similarity as an index representing the degree of similarity in the above-mentioned similarity search, for example, if the cosine similarity is 0.8 or higher, it is considered to have a high degree of similarity, and the documents associated with the vector data corresponding to this can be extracted respectively. The value of the cosine similarity considered to have a high degree of similarity can be freely set by the user.
[0074] Also, in the process T15 indicated by the arrow in FIG. 3, the component 20 has a function of creating an instruction text PT3 based on the document NDOCZ and the question text QRE, and a function of passing the instruction text PT3 to the component 30. For example, the component 20 creates a sentence described in natural language such as "Create an answer sentence for the question text QRE based on the description content of the document NDOCZ." as the instruction text PT3, and passes this to the component 30.
[0075] Also, in the process T16 indicated by the arrow in FIG. 3, the component 20 has a function of receiving the answer sentence ANS newly generated by the component 30 based on the instruction text PT3.
[0076] Also, in the process T17 indicated by the arrow in FIG. 3, the component 20 has a function of passing the answer sentence ANS passed from the component 30 to the component 10.
[0077] The component 20 has a function of performing a process using a search engine. The search engine has a function of obtaining necessary search results from the data source 40, the primary database 41, or the secondary database 42 based on the information IN1, the information IN2, or the question text QRE passed from the component 10, etc. Thereby, as described above, in accordance with the information IN1 and the information IN2 passed from the component 10, it is possible to search within the data source 40 for information related to the information IN1.
[0078] For example, an external search service that provides information on websites on the Internet can be used by the search engine. Also, archives of official documents or personal documents can be used as the data source 40. Additionally, a database that manages confidential information within the organization to which the user belongs can also be used as the data source 40.
[0079] Further, the component 20 has a function of converting text data (e.g., chapter CPTX, document NDOCX, etc.) into vector data (e.g., vector data VECX, vector data NVECX, etc.) and calculating similarity. For example, using a large language model, text data can be converted into vector data. Specifically, text data can be converted into vector data using BERT, GPT-3, GPT-3.5, GPT-4, LaMDA, PaLM, Llama2, ALBERT, XLNet, etc.
[0080] Thereby, according to the chapter CPTX (more precisely, the vector data VECX obtained by vector-converting the chapter CPTX) included in the list CPLST passed from the component 30, a similar search can be performed within the primary database 41. Also, according to the document NDOCX (more precisely, the vector data NVECX obtained by vector-converting the document NDOCX) passed from the component 30, a similar search can be performed within the secondary database 42.
[0081] The primary database 41 and the secondary database 42 are databases configured based on the information IN1 and information IN2 input by the user from the information stored in the data source 40. Therefore, from the data source 40 storing miscellaneous information, databases specialized in the information required by the user can be constructed as the primary database 41 and the secondary database 42. Thereby, the answer accuracy of the information processing system to the user's questions can be improved.
[0082] 《Configuration Example of Component 30》 As the component 30, for example, a large computer such as a server computer or a supercomputer can be used. Note that the component 30 is larger in scale and higher in computing power than the component 20.
[0083] Also, the component 30 preferably has a function as a parallel computer. By using it as a parallel computer, for example, large-scale calculations required for AI learning and inference can be performed.
[0084] Also, the component 30 can perform processing using a natural language processing model using AI. In particular, it can execute processing using a general-purpose language processing model capable of performing various natural language processing tasks.
[0085] For example, processing using natural language models such as BERT, T5, GPT-3, GPT-3.5, GPT-4, LaMDA, PaLM, Llama2, ALBERT, XLNet, etc. can be executed. In particular, it is preferable to be able to execute processing using GPT-4. Thereby, more natural text generation or conversation, etc. can be realized.
[0086] Note that the person providing the service using the information processing system of one aspect of the present invention does not necessarily need to own the component 30 by themselves. For example, the service provider can use a part of the service provided by other operators, etc. as the component 30.
[0087] The component 30 has a function of receiving the instruction text PT1 transferred from the component 20 in the process T2 indicated by the arrow in FIG. 2.
[0088] Also, the component 30 has a function of generating the list CPLST based on the instruction text PT1 and transferring the list CPLST to the component 20 in the process T3 indicated by the arrow in FIG. 2.
[0089] Also, in process T9 indicated by the arrow in FIG. 2, component 30 has the function of receiving the instruction statement PT2 transferred from component 20.
[0090] Also, component 30 has the function of generating document NDOCX based on instruction statement PT2 and transferring document NDOCX to component 20 in process T10 indicated by the arrow in FIG. 2.
[0091] Also, in process T15 indicated by the arrow in FIG. 3, component 30 has the function of receiving the instruction statement PT3 transferred from component 20.
[0092] Also, component 30 has the function of generating response statement ANS based on instruction statement PT3 and transferring response statement ANS to component 20 in process T16 indicated by the arrow in FIG. 3.
[0093] Component 30 has the function of performing processing using a large language model (different from the large language model that component 20 described above can have). Note that the large language model has learned a dataset. Thereby, as described above, list CPLST can be automatically generated based on instruction statement PT1 transferred from component 20. Also, document NDOCX can be automatically generated based on instruction statement PT2 transferred from component 20. Also, response statement ANS can be automatically generated based on instruction statement PT3 transferred from component 20.
[0094] For example, based on the instruction statement PT1 containing the information IN1 of "AXEL's function" passed from component 20, component 30 can generate a list CPLST containing three chapters (text data of names): "AXEL's overview", "AXEL's standard operation function", and "AXEL's GUI operation function". Also, based on the instruction statement PT2 containing the chapter CPTX of "AXEL's overview" passed from component 20 and the document DOCB extracted from the primary database 41 which is the text data related to the keyword "AXEL's function", a new explanatory text document NDOCX specialized for "AXEL's overview" can be generated. That is, when the list CPLST has the above three chapters, component 30 can create a document consisting of the explanatory text regarding "AXEL's overview", the explanatory text regarding "AXEL's standard operation function", and the explanatory text of "AXEL's GUI operation function".
[0095] Due to the information processing system of one aspect of the present invention having the various functions described above, regardless of the content of the user's question, an accurate answer can be generated. Also, the user only needs to provide the first information (user's purpose, theme, etc.), the second information (storage destination of desired data such as a database, data folder, etc.), and the question text QRE, and the information processing system automatically generates an answer by the search expansion generation method, so the user's workload is extremely small. As a result, a new information processing system excellent in convenience, usefulness, or reliability can be provided.
[0096] The information processing system of one aspect of the present invention has an information processing device that undertakes the functions of each of the above-described components.
[0097] For example, an information processing system according to an aspect of the present invention can be configured by an information processing device that performs the functions of component 10, an information processing device that performs the functions of component 20, and an information processing device that performs the functions of component 30. Note that the number of information processing devices constituting the information processing system according to an aspect of the present invention is one or more. Further, for example, a plurality of information processing devices can be connected using a network 50 to configure an information processing system according to an aspect of the present invention.
[0098] By configuring an information processing system according to an aspect of the present invention using a plurality of information processing devices, the load related to information processing can be dispersed.
[0099] Hereinafter, details of a configuration example of an information processing device that can be used in an information processing system according to an aspect of the present invention will be described.
[0100] 《Configuration Example of Information Processing Device》 An information processing device that can be used in an information processing system according to an aspect of the present invention has, for example, an input unit 110, a storage unit 120, a processing unit 130, an output unit 140, and a transmission path 150 (see FIG. 4).
[0101] In the drawings attached to this specification, components are classified by function and shown as independent blocks in a block diagram. However, in actual components, it is difficult to completely separate them by function, and one component may be related to multiple functions. For example, a part of the processing unit 130 may function as the input unit 110. Also, one function may be related to multiple components. For example, the processing performed by the processing unit 130 may be executed on different servers depending on the processing.
[0102] [Input Unit 110] The input unit 110 can receive data from the outside of the information processing device. For example, the input unit 110 receives data via the network 50.
[0103] The input unit 110 supplies the received data to one or both of the storage unit 120 and the processing unit 130 via the transmission path 150.
[0104] [Storage unit 120] The storage unit 120 has a function of storing programs executed by the processing unit 130. Further, the storage unit 120 can have a function of storing data generated by the processing unit 130 (e.g., calculation results, analysis results, inference results), and data received by the input unit 110.
[0105] The storage unit 120 can have a database. Further, the information processing apparatus can have a database separately from the storage unit 120. The information processing apparatus can have a function of retrieving data from a database existing outside the storage unit 120, outside the information processing apparatus, or outside the information processing system. Further, the information processing apparatus can have a function of retrieving data from both its own database and an external database.
[0106] One or both of a storage and a file server can be used for the storage unit 120. Further, a database recording the paths of files stored in the file server can be used for the storage unit 120.
[0107] The storage unit 120 has at least one of a volatile memory and a non-volatile memory. Examples of the volatile memory include DRAM (Dynamic Random Access Memory) and SRAM (Static Random Access Memory). Examples of the non-volatile memory include ReRAM (Resistive Random Access Memory, also referred to as a resistive change type memory), PRAM (Phase change Random Access Memory), FeRAM (Ferroelectric Random Access Memory), MRAM (Magnetoresistive Random Access Memory, also referred to as a magnetic resistance type memory), and flash memory. Further, the storage unit 120 can have at least one of NOSRAM (registered trademark) and DOSRAM (registered trademark). Further, the storage unit 120 can have a recording medium drive. Examples of the recording medium drive include a hard disk drive (HDD) and a solid state drive (SSD).
[0108] NOSRAM is an abbreviation for "Nonvolatile Oxide Semiconductor Random Access Memory (RAM)". NOSRAM refers to a memory in which the memory cell is a 2-transistor type (2T) or 3-transistor type (3T) gain cell, and the transistor is a transistor that uses a metal oxide for the channel formation region (also referred to as an OS transistor). The OS transistor has an extremely small current flowing between the source and the drain in the off state, that is, a leakage current. NOSRAM can be used as a non-volatile memory by holding charges corresponding to data in the memory cell using the characteristic of an extremely small leakage current. In particular, since NOSRAM can read the stored data without destroying it (non-destructive readout), it is suitable for arithmetic processing that repeatedly performs a large number of only data readout operations. Since the data capacity of NOSRAM can be increased by stacking it, high performance of a semiconductor device can be achieved by using it as a large-scale cache memory, main memory, or storage memory.
[0109] DOSRAM is an abbreviation for "Dynamic Oxide Semiconductor RAM" and refers to a RAM having a 1T (transistor) 1C (capacitance) type memory cell. DOSRAM is a DRAM formed using an OS transistor, and DOSRAM is a memory that temporarily stores information sent from the outside. DOSRAM is a memory that utilizes the small off-current of the OS transistor.
[0110] 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 (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.
[0111] 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 increases. Further, the metal oxide included in the channel formation region is preferably an oxide semiconductor containing element M. Element M is preferably at least one of aluminum (Al), gallium (Ga), and tin (Sn). Other elements applicable to element M 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, there may be cases where a plurality of the aforementioned elements are 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.
[0112] The metal oxide included in the channel formation region is not limited to a metal oxide containing indium. The metal oxide included in the channel formation region may be, for example, a metal oxide not containing indium and containing zinc, such as zinc tin oxide or gallium tin oxide, a metal oxide containing gallium, or a metal oxide containing tin.
[0113] [Processing unit 130] The processing unit 130 has a function of performing processes such as calculation, analysis, and inference using data supplied from one or both of the input unit 110 and the storage unit 120. The processing unit 130 can supply the generated data (for example, calculation result, analysis result, inference result) to one or both of the storage unit 120 and the output unit 140.
[0114] The processing unit 130 has a function of acquiring data from the storage unit 120. Further, the processing unit 130 can have a function of recording or registering data in the storage unit 120.
[0115] The processing unit 130 can have, for example, an arithmetic circuit. The processing unit 130 can have, for example, a central processing unit (CPU). Further, the processing unit 130 can have a graphics processing unit (GPU).
[0116] The processing unit 130 can have a microprocessor such as a digital signal processor (DSP). The microprocessor can be realized by a programmable logic device (PLD) such as a field programmable gate array (FPGA) or a field programmable analog array (FPAA). Further, the processing unit 130 can have a quantum processor. The processing unit 130 can perform various data processes and program controls by interpreting and executing instructions from various programs by the processor. Programs that can be executed by the processor are stored in at least one of the memory area of the processor and the storage unit 120.
[0117] The processing unit 130 can have a main memory. The main memory has at least one of a volatile memory such as a RAM and a non-volatile memory such as a read only memory (ROM). Further, the main memory can have at least one of the above-described NOSRAM and DOSRAM.
[0118] As the RAM, for example, DRAM, SRAM, etc. are used, and a memory space is virtually allocated and used as the working space of the processing unit 130. The operating system, application programs, program modules, program data, lookup tables, etc. stored in the storage unit 120 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 130 respectively.
[0119] The ROM can store the BIOS (Basic Input / Output System), firmware, etc. that do not require rewriting. Examples of the ROM include mask ROM, OTPROM (One Time Programmable Read Only Memory), EPROM (Erasable Programmable Read Only Memory), etc. Examples of the EPROM 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.
[0120] The processing unit 130 can have one or both of an OS transistor and a transistor having silicon in the channel formation region (Si transistor).
[0121] The processing unit 130 preferably has an OS transistor. Since the off-current of the OS transistor is extremely small, by using it as a switch for holding the charge (data) flowing into the capacitive element that functions as a memory element, the data retention period can be ensured over a long term. By using this characteristic for at least one of the register and the cache memory that the processing unit has, the processing unit can be operated only when necessary, and in other cases, the processing unit 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 information processing system can be reduced.
[0122] The information processing apparatus preferably uses AI for at least some of the processing.
[0123] In particular, the information processing apparatus preferably uses an artificial neural network (ANN: Artificial Neural Network, hereinafter also simply referred to as a neural network). The neural network is realized by a circuit (hardware) or a program (software).
[0124] 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 (also referred to as a weight coefficient) between neurons by learning, and has a problem-solving ability. The neural network has an input layer, an intermediate layer (hidden layer), and an output layer.
[0125] In this specification and the like, when describing the neural network, determining the connection strength between neurons from existing information may be referred to as "learning".
[0126] 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".
[0127] [Output unit 140] The output unit 140 can output at least one of the calculation result, analysis result, and inference result in the processing unit 130 to the outside of the information processing apparatus. For example, the output unit 140 can transmit data via the network 50.
[0128] [Transmission path 150] The transmission path 150 has a function of transmitting data. The transmission and reception of data between the input unit 110, the storage unit 120, the processing unit 130, and the output unit 140 can be performed via the transmission path 150.
[0129] 《Configuration example of network 50》 The network 50 that can be used in the information processing system according to one aspect of the present invention can connect a plurality of information processing apparatuses. Thereby, the plurality of connected information processing apparatuses can transmit and receive data to and from each other. In addition, the load related to information processing can be dispersed.
[0130] When performing wireless communication, as the communication protocol or communication technology, communication standards such as the 4th generation mobile communication system (4G), the 5th generation mobile communication system (5G), and the 6th generation mobile communication system (6G), or specifications standardized by IEEE such as Wi-Fi (registered trademark) and Bluetooth (registered trademark) can be used.
[0131] For example, a local network can be used for the network 50. In addition, an intranet or an extranet can be used for the network 50. Also, a PAN (Personal Area Network), a LAN (Local Area Network), a CAN (Campus Area Network), a MAN (Metropolitan Area Network), a WAN (Wide Area Network), a GAN (Global Area Network), etc. can be used for the network 50.
[0132] In addition, for example, a global network can be used for network 50. Specifically, the Internet, which is the basis of the World Wide Web (WWW), can be used.
[0133] Also, a person who provides a service using the information processing system according to an aspect of the present invention can provide a service using the information processing method according to an aspect of the present invention via, for example, network 50.
[0134] Note that when the information processing system according to an aspect of the present invention is constructed within a local network, the possibility of, for example, information leakage can be reduced compared to the case of using the Internet.
[0135] This embodiment can be appropriately combined with other embodiments shown in this specification.
[0136] (Embodiment 2) In this embodiment, an information processing method according to an aspect of the present invention will be described with reference to FIGS. 5 to 12(B).
[0137] FIGS. 5 to 8, FIGS. 10 and 11 are diagrams for explaining an information processing method according to an aspect of the present invention. FIGS. 9(A) to 9(C), FIGS. 12(A) and 12(B) are diagrams for explaining a configuration example of a document generated by the information processing method according to an aspect of the present invention.
[0138] Regarding the reference numerals used in the following description, for those that are the same as the reference numerals used in Embodiment 1, the content described in Embodiment 1 can be applied. Therefore, in the following, detailed descriptions such as the meaning and definition of the reference numerals may be omitted.
[0139] <Example of Information Processing Method 1> The information processing method according to an aspect of the present invention includes steps S1 to S23 (see FIGS. 5 to 8).
[0140] [Step S1] In step S1 (see FIG. 5), the user inputs the name of the automatic conversation program (chatbot) they want to use into the component 10. The chatbot has the functions of the information processing system according to one embodiment of the present invention. Thereafter, the user can use the functions of the information processing system by following a predetermined procedure.
[0141] [Step S2] In step S2 (see FIG. 5), the user inputs information IN1 and information IN2 to the component 10. The component 10 receives the information IN1 and information IN2 input by the user and then passes the information IN1 and information IN2 to the component 20.
[0142] [Step S3] After receiving the information IN1 and information IN2 passed from the component 10, the component 20 creates a directive PT1 based on the information IN1 and passes the directive PT1 to the component 30 in step S3 (see FIG. 5).
[0143] [Step S4] In step S4 (see FIG. 5), the component 30 generates a list CPLST based on the directive PT1.
[0144] [Step S5] In step S5 (see FIG. 5), the component 20 searches the data storage destination (specifically, in the data source 40) specified by the information IN2 to see if there is data related to the information IN1.
[0145] [Step S6] In step S6 (see FIG. 5), the component 20 finds data related to the information IN1 (for example, the information INFA) and extracts only the text component (for example, the document DOCA) from the data.
[0146] [Step S7] In step S7 (see FIG. 5), component 20 acquires the list CPLST generated by component 30 in step S4.
[0147] Note that in FIG. 5, an example is shown in which the processing related to step S4 and the processing related to steps S5 and S6 are performed in parallel. However, this is not the only case. For example, the processing related to step S4 can be performed first, and then the processing related to steps S5 and S6 can be performed. Also, for example, the processing related to steps S5 and S6 can be performed first, and then the processing related to step S4 can be performed.
[0148] [Step S8] In step S8 (see FIG. 5), component 20 converts the text data (document DOCA) extracted in step S6 into vector data (for example, vector data VECA), and then associates the document DOCA and the vector data VECA and stores them in the primary database 41.
[0149] [Step S9] In step S9 (see FIG. 6), component 20 extracts only one chapter (for example, chapter CPTX) from the list CPLST acquired in step S7, and converts the chapter into vector data (for example, vector data VECX).
[0150] [Step S10] In step S10 (see FIG. 6), component 20 performs a similarity search for the vector data VECX in the primary database 41.
[0151] [Step S11] In step S11 (see FIG. 6), component 20 detects the vector data (for example, vector data VECB) with the highest similarity to the vector data VECX from the primary database 41, extracts the text data (for example, document DOCB) associated with the vector data, and accepts it.
[0152] [Step S12] In step S12 (see FIG. 6), component 20 creates instruction text PT2 based on the chapter CPTX extracted in step S9 and the document DOCB extracted in step S11, and transfers the instruction text PT2 to component 30.
[0153] [Step S13] In step S13 (see FIG. 6), component 30 generates new text data (for example, document NDOCX) based on the instruction text PT2 received from component 20.
[0154] [Step S14] In step S14 (see FIG. 7), component 20 acquires the document NDOCX generated by component 30 in step S13.
[0155] [Step S15] In step S15 (see FIG. 7), component 20 determines whether there are chapters in list CPLST other than chapter CPTX.
[0156] If it is determined as "Yes" in step S15, component 20 returns to step S9 and extracts only one chapter from list CPLST other than chapter CPTX (that is, a chapter that has not undergone the processing related to steps S9 to S14). Thereafter, the processing related to steps S9 to S14 is performed on the chapter (see FIGS. 6 and 7).
[0157] Note that when list CPLST has a plurality of chapters (for example, chapters CPT1 to CPTX), the processing related to steps S9 to S14 is performed on the chapter (for example, chapter CPT1) first extracted from list CPLST in step S9, and a text file in which chapter CPT1 and document NDOC1 are described is generated (see FIG. 9(A)).
[0158] Next, in step S9, chapters other than chapter CPT1 (for example, chapter CPT2) are extracted from the list CPLST, and the processes according to steps S9 to S14 are performed on the chapter. As a result, chapter CPT2 and document NDOC2 are further added to the text file shown in FIG. 9(A) (see FIG. 9(B)).
[0159] In this way, by repeating the above process the number of times (X) of the chapters included in the list CPLST, finally, a text file in which chapters CPT1 to CPTX and documents NDOC1 to NDOCX corresponding to the respective chapters are described can be generated (see FIG. 9(C)).
[0160] [Step S16] When it is determined as "No" in step S15, in step S16 (see FIG. 7), the component 20 converts the text data included in the above text file (see FIGS. 9(A) to 9(C)) (for example, when only the document NDOCX is described in the text file, the document NDOCX) into vector data (for example, vector data NVECX), and then associates the text data and the vector data and stores them in the secondary database 42.
[0161] [Step S17] In step S17 (see FIG. 7), the user inputs the question sentence QRE to the component 10. After receiving the question sentence QRE, the component 10 passes the question sentence QRE to the component 20.
[0162] [Step S18] After receiving the question sentence QRE passed from the component 10, the component 20 converts the question sentence QRE into vector data (for example, vector data VECY) in step S18 (see FIG. 7), and performs a similarity search for the vector data VECY on the secondary database 42.
[0163] [Step S19] In step S19 (see FIG. 8), component 20 detects the vector data (e.g., vector data NVECZ) with the highest similarity to the vector data VECY from the secondary database 42, extracts the text data (e.g., document NDOCZ) associated with the vector data, and then accepts it.
[0164] [Step S20] In step S20 (see FIG. 8), component 20 creates an instruction statement PT3 based on the question statement QRE received in step S18 and the document NDOCZ extracted in step S19, and passes the instruction statement PT3 to component 30.
[0165] [Step S21] In step S21 (see FIG. 8), after component 30 generates an answer statement ANS based on the instruction statement PT3 received from component 20, it passes the answer statement ANS to component 20.
[0166] [Step S22] In step S22 (see FIG. 8), after component 20 obtains the answer statement ANS passed from component 30, it passes the answer statement ANS to component 10.
[0167] [Step S23] In step S23 (see FIG. 8), after component 10 accepts the answer statement ANS passed from component 20, it presents the answer statement ANS to the user.
[0168] Through the above series of processes, the user can confirm the answer statement ANS to the question statement QRE via component 10.
[0169] <Example 2 of Information Processing Method> Hereinafter, an example of an information processing method that is partially different from the content described in <Example 1 of Information Processing Method> will be described with reference to FIGS. 10 to 12(B).
[0170] Regarding the processing according to Steps S1 to S3, reference can be made to the content described in <Example 1 of Information Processing Method>.
[0171] [Step A1] In Step A1 (see FIG. 10), component 30 generates a list of chapters (for example, list CPLST) based on instruction PT1. The processing in this step corresponds to the processing in Step S4 (see FIG. 5) described in <Example 1 of Information Processing Method>.
[0172] [Step A2] In Step A2 (see FIG. 10), component 20 acquires the list CPLST generated by component 30 in Step A1.
[0173] [Step A3] In Step A3 (see FIG. 10), component 20 creates instruction PT4 based on list CPLST and passes instruction PT4 to component 30. For example, component 20 creates a sentence described in natural language such as "Break down each chapter in list CPLST into more detailed sub - chapters and recreate list CPLST anew." as instruction PT4.
[0174] [Step A4] In Step A4 (see FIG. 10), component 30 generates a new list CPLST in which the chapters (for example, chapter CPT1) in list CPLST are re - broken down into sections (for example, sections SEC1 - 1 etc. (see FIGS. 12(A) and 12(B))) based on instruction PT4.
[0175] [Step A5] In Step A5 (see FIG. 11), component 20 acquires the new list CPLST generated by component 30 in Step A4.
[0176] [Step A6] In step A6 (see FIG. 11), component 20 searches for whether there is data related to information IN1 or for the data storage destination (specifically, within data source 40) specified by information IN2. The processing in this step corresponds to the processing in step S5 (see FIG. 5) described in <Example 1 of information processing method>.
[0177] [Step A7] In step A7 (see FIG. 11), component 20 detects data related to information IN1 (for example, information INFA) and extracts only the text components (for example, document DOCA) from the data. The processing in this step corresponds to the processing in step S6 (see FIG. 5) described in <Example 1 of information processing method>.
[0178] For the subsequent processing, reference can be made to the processing according to steps S8 to S23 described in <Example 1 of information processing method>.
[0179] By going through the processing related to steps A1 to A4 described above, a list CPLST with description content different from that when going through step S4 of <Example 1 of information processing method> can be generated. Specifically, when going through step S4 described in <Example 1 of information processing method>, a list CPLST having only the chapter information of the text data to be created is generated. In contrast, when going through the processing related to steps A1 to A4, a list CPLST having, in addition to the chapter information, the section information obtained by further subdividing the chapter into sections is generated.
[0180] Therefore, based on the list CPLST including the section information, by performing the processing related to steps A5 and A6 described above, a text file can be generated that describes, as shown in FIG. 12(A), a chapter, a section, and the text data generated based on the chapter and the section. FIG. 12(A) shows an example of a text file that describes chapter CPT1, section SEC1-1 included in chapter CPT1, and the text data (document NDOC1-1) corresponding to section SEC1-1.
[0181] In addition, when the list CPLST has multiple sections within one chapter, corresponding text data can be generated for each section. FIG. 12(B) shows an example of a text file in which the chapter CPT1 has two or more sections (section SEC1-1, section SEC1-2, etc.) and corresponding text data (document NDOC1-1, document NDOC1-2, etc.) is described for each section.
[0182] In addition, for example, after step A4, by adding the processing related to steps A2 to A4, it is also possible to generate a list CPLST having items with more detailed chapter organization of sections. As a result, a text file with a more detailed chapter organization than that shown in FIG. 12(B) can be generated.
[0183] By applying the information processing method described above, the information processing system according to one aspect of the present invention can generate an accurate answer regardless of the content of the user's question. In addition, the user only needs to provide the first information (user's purpose, theme, etc.), the second information (storage destination of desired data such as a database, data folder, etc.), and the question sentence QRE, and the information processing system can automatically create a chatbot that generates an accurate answer by the search expansion generation method, so the user's work burden is extremely small. As a result, a novel information processing system excellent in convenience, usefulness, or reliability can be provided.
[0184] This embodiment can be appropriately combined with other embodiments shown in this specification.
Description of Reference Numerals
[0185] 10: Component, 20: Component, 30: Component, 40: Data source, 41: Primary database, 42: Secondary database, 50: Network, 110: Input unit, 120: Storage unit, 130: Processing unit, 140: Output unit, 150: Transmission path
Claims
1. having a first component, wherein the first component has functions of receiving first information, second information, and a question sentence; creating a first instruction sentence based on the first information; receiving a list generated by the large language model by inputting the first instruction sentence into the large language model; extracting a first document from within a data source based on the first information and the second information; and storing the first document in a first database; wherein the first document is a document related to the first information, wherein the data source is an information source specified by the second information, wherein the list has chapters, wherein the first component has functions of searching within the first database based on the chapters to extract a second document; creating a second instruction sentence based on the chapters and the second document; receiving a third document generated by the large language model by inputting the second instruction sentence into the large language model; and storing the third document in a second database; wherein the second document is a document related to the chapters, wherein the first component has a function of searching within the second database based on the question sentence to extract a fourth document, wherein the fourth document is a document related to the question sentence, wherein the first component has functions of creating a third instruction sentence based on the fourth document and the question sentence, receiving an answer sentence generated by the large language model by inputting the third instruction sentence into the large language model, and outputting the answer sentence; an information processing system.
2. The information processing system according to claim 1, wherein the first component has functions of converting the first document into first vector data, associating the first document with the first vector data, and storing them in the first database; converting the chapters into second vector data and performing a similarity search within the first database using the second vector data; converting the third document into third vector data, associating the third document with the third vector data, and storing them in the second database; and converting the question sentence into fourth vector data and performing a similarity search within the second database using the fourth vector data; an information processing system.
3. having the first step to the fifteenth step, In the first step, after receiving the first information and the second information, the first component transfers the first information and the second information to the second component, In the second step, after receiving the first information and the second information, the second component creates a first instruction based on the first information and transfers the first instruction to the third component, In the third step, the third component generates a list based on the first instruction, In the fourth step, the second component searches the data source for the absence of the first information based on the second information, The data source is the information source specified by the second information, In the fifth step, the second component extracts a first document having the first information, In the sixth step, the second component receives the list, In the seventh step, after converting the first document into first data, the second component associates the first document and the first data and stores them in a first database, The list has a first chapter, In the eighth step, after extracting the first chapter from the list, the second component converts the first chapter into second data, In the ninth step, the second component searches for the second data in the first database, In the tenth step, the second component extracts a second document associated with third data from the first database, The third data has the highest similarity to the second data, In the eleventh step, the second component creates a second instruction based on the first chapter and the second document and transfers the second instruction to the third component, In the twelfth step, the third component generates a third document based on the second instruction, In the thirteenth step, the second component receives the third document from the third component, In the fourteenth step, the second component determines whether the list has a second chapter, When it is determined that the list has the second chapter, the second component performs the processing according to the eighth step to the thirteenth step on the second chapter. When it is determined that the list does not have the second chapter, in the fifteenth step, after converting the third document into fourth data, the second component associates the third document and the fourth data and stores them in the second database. Information processing method.
4. In claim 3, The first data to the fourth data are respectively vector data. In the ninth step, the search for the second data performed by the second component on the first database is a similarity search. Information processing method.
5. In claim 3 or claim 4, After the fifteenth step, there are a sixteenth step to a twenty-second step. In the sixteenth step, after receiving a question sentence, the first component transfers the question sentence to the second component. In the seventeenth step, after converting the question sentence into fifth data, the second component searches for the fifth data in the second database. In the eighteenth step, the second component extracts a fourth document associated with sixth data from the second database. The sixth data has the highest similarity with the fifth data. In the nineteenth step, the second component creates a third instruction sentence based on the question sentence and the fourth document, and transfers the third instruction sentence to the third component. In the twentieth step, after generating an answer sentence based on the third instruction sentence, the third component transfers the answer sentence to the second component. In the twenty-first step, after receiving the answer sentence, the second component transfers the answer sentence to the first component. In the twenty-second step, the first component receives the answer sentence. Information processing method.
6. In claim 5, The fifth data and the sixth data are respectively vector data. In the seventeenth step, the search for the fifth data performed by the second component on the second database is a similarity search. Information processing method.