Information processing device and program

JP7901727B1Active Publication Date: 2026-08-06NOMURA RESEARCH INSTITUTE
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
NOMURA RESEARCH INSTITUTE
Filing Date
2025-06-13
Publication Date
2026-08-06

AI Technical Summary

Benefits of technology

【0009】 本発明によれば、情報セキュリティを確保しながら個人が所有するデータを基にした生成AIによる質問応答を可能とする。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007901727000001_ABST
    Figure 0007901727000001_ABST
Patent Text Reader

Abstract

This enables question answering using AI-generated data based on personal data sources, while ensuring information security. [Solution] The information processing device comprises a data source storing data owned by a user, a question input means for receiving a question from the user, a search means for searching for data from the data source based on the user's question, a prompt generation means for generating a prompt based on the user's question and the data retrieved by the search means, a generation AI for generating an answer to the user's question based on the prompt, a response generation means for generating a response to the question based on the answer, and an output means for outputting the response generated by the response generation means.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus and a program.

Background Art

[0002] In recent years, a technique called RAG (Retrieval-Augmented Generation), which combines the search for information outside the LLM (Large Language Model) with the LLM, has been known. In Patent Document 1, in order to answer questions regarding content not included during the learning of the LLM, RAG is used to search for learning data necessary for the answer from an in-house database or the like, and the retrieved learning data is added to a search instruction (prompt) to the LLM and passed, thereby an information processing apparatus that improves the accuracy of the answer has been proposed.

[0003] Also, in recent years, an SLM (Small Language Model), which is a language model smaller in scale than the LLM, has been developed. The SLM has fewer parameters than the LLM and is a more compact and efficient generative AI model. Generally, while the LLM has hundreds of billions to trillions of parameters, the SLM is composed of about hundreds of millions to billions of parameters. The SLM does not require the generality like the LLM by learning the model with a data set narrowed down to a specific field, but is expected to be used in fields where specific knowledge is required.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] With the proposed information processing device, building a generative AI or RAG on-premises would require engineers with expertise in generative AI. Furthermore, if a third party were to build the generative AI or RAG, external personnel would gain access to confidential company information, leading to information security issues such as data leaks.

[0006] Furthermore, while systems using RAG (Regional Aggregation) enable responses that reflect the latest information in internal documents, as the amount of internally shared documents increases, there was a problem where errors (hallucination) occurred in the answers due to referencing documents that were less relevant to the question.

[0007] This invention has been made in view of at least one of the above problems, and realizes a technology that enables question answering by a generative AI based on data owned by an individual while ensuring information security. [Means for solving the problem]

[0008] To solve this problem, for example, the information processing device of the present invention includes a data source storing data owned by a user, a question input means for receiving a question from the user, a search means for searching for data from the data source based on the user's question, a prompt generation means for generating a prompt based on the user's question and the data retrieved by the search means, a generation AI for generating an answer to the user's question based on the prompt, a response generation means for generating a response to the question based on the answer, and an output means for outputting the response generated by the response generation means. The system comprises a vector data creation means for vectorizing data, and a vector data storage means for storing the vectorized data. The vector data creation means vectorizes the data from the data source to create vector data, the vector data storage means stores the vectorized data from the data source, and the search means searches the vector data stored in the vector data storage means. . [Effects of the Invention]

[0009] According to the present invention, it is possible to enable question answering using a generative AI based on data owned by an individual, while ensuring information security. [Brief explanation of the drawing]

[0010] [Figure 1]A diagram illustrating the configuration of an information processing system according to an embodiment. [Figure 2] A block diagram showing an example of the functional configuration of the information processing device according to the embodiment. [Figure 3] A block diagram showing an example of the functional configuration of a server device according to this embodiment. [Figure 4] A diagram illustrating an example of vector data creation according to this embodiment. [Figure 5] A diagram showing an example of a UI screen according to this embodiment. [Figure 6] A diagram illustrating the configuration of the question answering system according to the embodiment. [Figure 7] A flowchart of the question answering process according to the embodiment. [Modes for carrying out the invention]

[0011] <First Embodiment> The embodiments will be described in detail below with reference to the attached drawings. Note that the following embodiments do not limit the invention as defined in the claims, and not all combinations of features described in the embodiments are essential to the invention. Two or more of the features described in the embodiments may be combined in any way. Furthermore, identical or similar configurations will be given the same reference numeral, and redundant descriptions will be omitted.

[0012] <Configuration of the Information Processing System> Referring to Figure 1, the information processing system according to this embodiment will be described. The information processing system 10 includes, for example, information processing devices 101, 102, 103 and a server device 107. The information processing devices 101 to 103 and the server device 107 are connected via the same local area network (LAN) 108. The LAN 108 may be a wired LAN, a wireless LAN, or a combination of both. The LAN 108 is connected to an external network 109 (e.g., the Internet) through a firewall 110. The LAN 108 may be, for example, an internal network of a company or organization.

[0013] The information processing devices 101-103 and the server device 107 can communicate with each other within the LAN 108 (i.e., without going through the external network 109). Furthermore, each of the information processing devices 101-103 and the server device 107 can communicate with websites on the internet via the external network 109 through the LAN 108 and firewall 110. The information processing devices 101-103 may also be connected to the external network 109 via a cellular network (for example, a network compliant with the fourth-generation (4G) or fifth-generation (5G) communication standards).

[0014] Information processing devices 101-103 each include electronic devices such as personal computers and tablet terminals used by users 104-106. For example, users 104-106 may be employees or members of a company or organization. Furthermore, users 104-106 are not limited to employees of a company or organization; they may also be users granted access rights by a company or organization. Information processing devices 101-103 communicate with server device 107 via LAN 108, and can be accessed from external networks 109, such as the internet, via VPN connection, in an environment similar to a dedicated line. Figure 1 assumes there are three users, 104-106, and that each of the three information processing devices 101-103 is associated with one of them. This configuration is not limited to this; multiple information processing devices may be assigned to a user, or one information processing device may be assigned to multiple users. The number of users and information processing devices are arbitrary. The following explanation describes an example where user 104 uses information processing device 101.

[0015] Server device 107 manages information processing devices 101-103 and users 104-106 connected to LAN 108. Access to server device 107 from external networks 109, such as the Internet, is blocked by firewall 110.

[0016] <Configuration of the Information Processing Apparatus> Next, referring to FIG. 2, a functional configuration example of the information processing apparatus 101 will be described. Each of the functional blocks described with reference to FIG. 2 may be integrated or separated, and the functions to be described may be implemented by other blocks. Also, what is described as hardware may be implemented by software, and vice versa.

[0017] The communication unit 201 includes a communication circuit or communication module capable of communicating with each of other information processing apparatuses and the server apparatus 107 via the LAN 108. Also, the communication unit 201 can be connected to the external network 109 via the LAN 108 and the firewall 110.

[0018] The control unit 202 includes a processor 210 and a memory 211. The processor 210 may be composed of one or more processors. The processor 210 may include a GPU in addition to the CPU. The control unit 202 controls the operations of each part of the information processing apparatus 101 by the processor 210 executing a computer program stored in the memory 211 or the storage unit 204. Also, the functions of each part included in the control unit 202 are realized, for example, when the processor 210 executes a program. In the present embodiment, the application program 224 according to the present embodiment is stored in the program storage unit 220 of the storage unit 204. However, the program is not limited thereto and may be stored in an external storage medium.

[0019] The memory 211 is a volatile storage medium such as a DRAM, and temporarily stores parameters, processing results, etc. for the control unit 202 to execute a computer program. The power supply unit 203 is a power supply for providing power for each part of the information processing apparatus 101 to operate.

[0020] The storage unit 204 includes a non-volatile storage medium such as a hard disk or semiconductor memory, and stores setting values ​​and computer programs necessary for the operation of the information processing device 101. The computer programs held in the storage unit 204 include an operating system and various applications for realizing the various functions of the information processing device 101. The storage unit 204 includes a program storage unit 220, a conversation history storage unit 221, a data source 222, and a vector data storage unit 223. The program storage unit 220 stores the application program 224 of this embodiment. The application program 224 of this embodiment is loaded into the information processing device 101 and executed to realize a question answering system.

[0021] The conversation history storage unit 221 stores information about the history of conversations between user 104 and information processing device 101 using the question answering system of this embodiment. The data source 222 stores data such as files owned by user 104. The vector data storage unit 223 stores vector data obtained by vectorizing the data from the data source 222.

[0022] The control unit 202 includes, as functions, a conversation function unit 212, a generation AI 213, a data source management unit 214, a search unit 215, a vector data creation unit 216, and an interface 217.

[0023] The application program 224 of this embodiment is loaded into the information processing device 101 and executed, providing a question-answering system in which a user 104 can converse through a user interface, ask questions to the generating AI 213 inside the information processing device 101, and obtain answers. The conversation function unit 212 is a functional unit that is responsible for the conversation function of the question-answering system in this embodiment. The conversation function unit 212 provides the user 104 with a so-called chat function. The conversation function unit 212 receives questions entered by the user 104 via the operation unit 230. The conversation function unit 212 instructs the generating AI 213 to answer the user 104's questions. The conversation function unit 212 also instructs the search unit 215 to search for data in the data source 222 or vector data in the vector data storage unit 223, depending on the content of the user 104's questions. The conversation function unit 212 also instructs the generating AI 213 to answer the user 104's questions using the data or vector data retrieved by the search unit 215. An instruction to request an answer from the generating AI 213 to a question is sometimes called a "prompt." The conversation function unit 212 generates a prompt to instruct the generating AI 213 to answer based on the question from the user 104 and the data or vector data retrieved by the search unit 215, and instructs the generating AI 213 to answer the question from the user 104 based on the prompt. In response to the answer from the generating AI 213, the conversation function unit 212 causes the interface 217 to generate a display screen, and the interface 217 displays the generated display screen on the display unit 231.

[0024] The generating AI 213 has a question-and-answer function that responds to prompts. The conversation function unit 212 stores the content of the conversation with user 104 in the conversation history storage unit 221 of the storage unit 204, and manages the content of conversations with user 104 that took place in the same session as a history. This allows the conversation function unit 212 to accept consecutive questions from user 104 in the same session. For example, the conversation function unit 212 can accept further questions in response to the response to user 104's previous question. The conversation function unit 212 analyzes user 104's questions, captures the necessary information from the conversation history in the conversation history storage unit 221, and generates prompts.

[0025] The Generating AI 213 processes data using a machine learning model that has been trained on a large amount of data. The machine learning model of the Generating AI 213 may be an LLM or an SLM. The machine learning model of the Generating AI 213 may also be a local LLM. Furthermore, the model of the Generating AI 213 may be a machine learning model configured to respond to prompts that include not only natural language but also images and audio. In this embodiment, the Generating AI 213 does not reside on a server, but operates inside the information processing device 101 owned by user 104. Therefore, even when the information processing device 101 is not connected to the network 108, this question answering system can query the Generating AI 213 and have it provide an answer. When an SLM, which is a smaller language model than an LLM, is used as the Generating AI 213, the power consumption of the information processing device 101 can be reduced compared to when an LLM is used. Also, when an SLM is used as the Generating AI 213, the performance of the hardware required to run the Generating AI 213 can be reduced compared to when an LLM is used. For example, even if the storage unit 204, processor 210, and memory 211 of the information processing device 101 do not have high capacity or speed performance, the generation AI 213 using SLM can be operated practically. In other words, the cost of the information processing device 101 can be reduced when using SLM.

[0026] The generating AI 213 has the function of taking a prompt containing the content of a question entered by the user 104 via the operation unit 230 as input, and outputting an answer to the prompt. In this embodiment, the generating AI 213 takes a prompt containing the content of the data from the data source 222 as input, and outputs an answer to the question entered by the user by referring to the data from the data source 222.

[0027] The data source management unit 214 manages the data stored in the data source 222. Files (data) such as document files created by or owned by user 104 are stored in the data source 222. The data source management unit 214 may manage all files in the storage unit 204, or it may manage specific areas or folders in the storage unit 204. The data source management unit 214 may manage bibliographic information such as the title, author, and creation date of the files stored in the data source 222, as well as the storage location. The files stored in the data source 222 are not limited to document files and may be in any format. Furthermore, it may manage the correspondence between the files in the data source 222 and the vector data in the vector data storage unit 223, as described later.

[0028] Data source 222 stores files created by user 104. The files in data source 222 may be business-related files of a company, corporation, or organization, or other types of files. For example, they may be personal files, or files located on a system accessible with the permission of a specific individual or organization (e.g., files containing design documents, or files containing information obtained and recorded from a website). The files stored in data source 222 may be document files, spreadsheets, or simple data. Data source 222 may be the entire area of ​​user 104's storage unit 204, or a specific area (partition) or folder of the storage unit 204.

[0029] The search unit 215 receives a search instruction from the conversation function unit 212 and searches for either the data stored in the data source 222, the vector data stored in the vector data storage unit 223, or both. By searching the vector data, the search unit 215 can quickly find data similar to the user's question. The search unit 215 returns the searched data and vector data to the conversation function unit 212. The search unit 215 may search the vector data in the vector data storage unit 223 using vectors, or it may search the files (data) stored in the data source 222 using text. The search unit 215 may also enable file-specific searches, keyword searches, vector searches, hybrid searches, semantic searches, and searches with ranking based on hybrid searches + semantic searches. The search method performed by the search unit 215 may be a part of these search methods or may include other search methods.

[0030] Keyword search is a search method that searches for documents containing the keywords in the question. It is also called full-text search. Vector search is a search method that converts the question and the target documents into numerical representations (vectors), and searches for documents based on the similarity determined by the closeness of the two vectors. Hybrid search is a search method that combines keyword search and vector search. Semantic search is a search method that understands the meaning and intent of the search question and searches for documents based on that meaning and intent. Hybrid search + semantic ranking is a method that applies semantic ranking to the results of hybrid search.

[0031] The vector data creation unit 216 creates vector data for files (data) stored in the data source 222 and stores the created vector data in the vector data storage unit 223. Furthermore, if a file in the data source 222 is updated or deleted by user 104, the vector data storage unit 223 may update or delete the corresponding vector data. The vector data creation unit 216 may also create vector data for newly registered or updated files when a new file is stored in the data source 222, or periodically (e.g., once a day), and store it in the vector data storage unit 223. Additionally, when the search unit 215 searches for files (data) in the data source 222, the vectorization of the file (data) may be performed, and the vector data may be stored in the vector data storage unit 223. The timing of the vectorization of files (data) stored in the data source 222 by the vector data creation unit 216 is arbitrary.

[0032] Furthermore, the vector data creation unit 216 may store the created vector data in the vector data storage unit 223, using bibliographic information such as the file title, author, and creation date as an index for the files (data) stored in the data source 222. The vector data creation unit 216 may also store both the vector data and text data of the files in the vector data storage unit 223. Additionally, the vector data index in the vector data storage unit 223 may include information on whether or not sharing the vector data with other users is permitted.

[0033] The vector data creation unit 216 can use any method to vectorize the file. For example, words may be extracted and then vectorized. In this embodiment, the generating AI 213 may use its embedding function to vectorize the file data. The vector data creation unit 216 creates a prompt for the generating AI 213 to vectorize the file data stored in the data source 222 using its embedding function, and instructs the generating AI 213 to vectorize the file. The generating AI 213 vectorizes the file data according to the embedding instructions. The vector data creation unit 216 stores the vectorized file data in the vector data storage unit 223, associating it with the file's bibliographic information. The search unit 215 can perform faster searches by searching the vector data in the vector data storage unit 223 than by searching the data in the data source 222.

[0034] Interface 217 provides a user interface via the operation unit 230 and the display unit 231. Interface 217 outputs a user interface (UI) screen for conversations based on the conversation function unit 212 to the display unit 231, and also accepts input of operations and questions from the user 104 via the operation unit 230.

[0035] The operation unit 230 includes input devices such as a keyboard, mouse, buttons, and touch panel provided by the information processing device 101, and accepts user operations on the keyboard and mouse, as well as on the GUI for various operations displayed on the display unit 231.

[0036] The display unit 231 includes a display device such as an LCD or OLED. The display unit 231 displays a conversation screen provided by the application program 224 in accordance with instructions from the control unit 202. The control unit 202 causes the conversation screen to be displayed on the display unit 231, for example, by a web browser or the application program 224. The power supply unit 203 supplies power to each part of the information processing device 101.

[0037] <Server configuration> Next, with reference to Figure 3, an example of the functional configuration of the server device 107 will be described. Note that each of the functional blocks described with reference to the following figures may be integrated or separated, and the functions described may be implemented in other blocks. Furthermore, what is described as hardware may be implemented in software, and vice versa.

[0038] The communication unit 301 includes, for example, a communication circuit, and connects to a network, for example via wireless LAN communication, to communicate with the information processing devices 101 to 103.

[0039] The control unit 302 includes a processor 310 and a memory 311, and controls the operation of each part of the server device 107 by having the processor 310 execute a computer program stored in, for example, the storage unit 306. The processor 310 includes one or more processors, and the memory 311 includes volatile memory such as DRAM.

[0040] Furthermore, the control unit 302 includes a user management unit 312. The user management unit 312 uses the authentication DB 307 to authenticate users 104 to 106 and manage their access rights.

[0041] The storage unit 306 includes, for example, non-volatile memory such as semiconductor memory, and holds programs and settings executed by the control unit 302. The computer programs held in the storage unit 306 include operating systems and various applications for realizing the various functions of the server device 107. The storage unit 306 may also include an authentication database (DB) 307, a web page storage unit 308, and a shared data storage unit 309.

[0042] The authentication database 307 manages information for authentication when users 104-106 access the information processing system 10. The authentication database 307 may also be used by a system administrator within an organization, such as a company, to centrally manage users 104-106 and information processing devices 101-103. The authentication database 307 may also manage users 104-106 in a hierarchical domain of the organization. The user management unit 312 may use the authentication database 307 to control access to web pages and data stored in the web page storage unit 308 and shared data storage unit 309 of the storage unit 306 of the server device 107, based on users 104-106 or the department to which the users belong.

[0043] The web page storage unit 308 may store web pages from the company's intranet, or it may store web pages obtained from an external server via the external network 109. The server device 107 may retrieve web pages by scrolling through websites on the internet and store them in the web page storage unit 308. Users 104 to 106 can access the web pages stored in the web page storage unit 308 according to their respective access rights.

[0044] The shared data storage unit 309 stores data and files that can be accessed by all users. All users may have access to the files and data stored in the shared data storage unit 309, or the user management unit 312 may restrict access to files and data based on the user's department. For example, the user management unit 312 may control user 104 so that it cannot access shared data of departments other than the department to which user 104 belongs.

[0045] The operation unit 303 includes input devices such as a keyboard, mouse, buttons, and touch panel provided by the server device 107, and accepts user operations on the keyboard and mouse, as well as on the GUI for various operations displayed on the display unit 305.

[0046] The display unit 305 includes a display device such as an LCD or OLED. The power supply unit 304 supplies power to each part of the server device 107.

[0047] <Creating vector data> Referring to Figure 4, the outline of vector data creation and the configuration of the vector data storage unit 223 will be described. In this embodiment, the data source 222 has one or more files.

[0048] In Figure 4, the files stored in the data source 222 may be in any format, such as PDF, text, word processing software, presentation software, or spreadsheet software. The vector data creation unit 216 retrieves the files (data) stored in the data source 222 periodically, irregularly, or based on notifications or requests. The vector data creation unit 216 vectorizes the retrieved files (data) to create vector data for the files.

[0049] The vector data creation unit 216 may instruct the generation AI 213 to embed data from the file obtained from the data source 222. In response to the data embedding instruction, the generation AI 213 vectorizes the data and returns the generated vector data to the vector data creation unit 216.

[0050] The vector data creation unit 216 registers the vector data generated by the generation AI 213 in the vector data storage unit 223 as an index, along with bibliographic information such as the file title, author, and creation date. The vector data creation unit 216 may also register the storage location of the data source 222 file corresponding to the vector data. Alternatively, the text data of the file may be stored in the vector data storage unit 223 along with the vector data. The search unit 215 performs a vector search on the vector data in the vector data storage unit 223, and the generation AI 213 can answer the question using the retrieved vector data of the user's source data.

[0051] <Response generated by a generative AI using data from a data source> Next, with reference to Figure 5, a method for performing question answering using the generated AI 213 with respect to the data from the data source 222 will be described. In this embodiment, the application program 224 implements the question answering system in the information processing device 101. In the question answering system, the user interface (UI) screen 500 is displayed on the display unit 231 of the information processing device 101. The UI screen 500 is a screen for displaying operation input and results of the question answering system according to this embodiment.

[0052] The question-answering system can be used by logging into the information processing device 101 and calling the question-answering system. When calling the question-answering system, authentication may be performed using a user ID and password before starting the question-answering system, or the question-answering system may be made available upon logging into the information processing device 101. When the question-answering system is started, the UI screen 500 is displayed on the display unit 231. The conversation function unit 212 and interface 217 control the conversation with user 104 and the display of the UI screen 500. In the question-answering system, the conversation function unit 212 conducts a conversation between user 104 and the generating AI 213 in a chat format.

[0053] In Figure 5, the UI screen 500 includes a left-side bar area 501 and a right-side conversation area 510. The side bar area 501 has a chat start button 502, a language model selection area 503, a chat history area 504, and a scroll bar 505.

[0054] The language model selection area 503 is an area where a language model can be selected from one or more language models. The selectable language models may be those that have undergone specialized training in a particular field or domain. Users may also download and install their desired language model in advance from a website.

[0055] When user 104 operates the chat start button 502 using the operation unit 230, the conversation function unit 212 starts a new conversation session via the interface 217. The chat history area 504 is an area that displays past chat history. In the chat history area 504, past chat history is displayed chronologically for each conversation session. Past chat history can be scrolled using the scroll bar 505. When user 104 selects a conversation session from the chat history, the conversation function unit 212 reads the information of the selected past conversation session from the conversation history storage unit 221 via the interface 217. Then, the conversation function unit 212 displays the selected past conversation session in the conversation area 510 of the UI screen 500 via the interface 217.

[0056] Next, the conversation area 510 will be described. The conversation area 510 displays the currently ongoing conversation session. As an example, a user message 511, a response message 512 based on the answer from the generating AI 213, and a message input box 513 are displayed. When user 104 enters a question into the message input box 513 using the operation unit 230 and operates the send icon 514, the question is sent to the conversation function unit 212 via the interface 217. The question entered by the user is displayed as user message 511. In the conversation area 510, all conversations in the same session can be viewed by scrolling using the scroll bar 515.

[0057] Based on the response from the generating AI 213, a response message 512 is displayed. The question entered by user 104 is displayed on the right side of the conversation area 510, and the response from the question answering system is displayed on the left side of the conversation area 510. User 104's user message 511 and response message 512 can be displayed in any way as long as they are distinguishable from each other. For example, the display colors of user message 511 and response message 512 may be different.

[0058] The response message 512 is generated based on the answer provided by the generating AI 213, which uses information from the data source 222. The process for generating the response message 512 will be described later.

[0059] The setting button 520 is a button for configuring the question answering system of this embodiment. When user 104 operates the setting button 520, the setting screen 600 shown in Figure 6 is displayed. The conversation style 601 is the setting for the conversation style of the generating AI 213. The conversation style of the generating AI can be selected from three options: "rigorous (data-driven logical conversation style)", "balanced (harmonious conversation style)", and "creative (free and innovative conversation style)", according to the application. This setting may depend on the generating AI 213 to be used, which is selected in the language model selection area 503.

[0060] The number of data items to retrieve, 602, sets the number of data items (files) to retrieve from the data source that the generating AI 213 will refer to when it answers a question. In the example in Figure 6, it is set that when a question is asked to the generating AI 213, it will refer to the contents of three files along with the prompt. The search setting, 603, selects the search method that the search unit 215 uses when searching the data source 222 or the vector data storage unit 223. It is configured to allow selection from the aforementioned search methods: keyword search, vector search, hybrid search, semantic search, and hybrid search + semantic ranking.

[0061] The shared data setting 604 is used when user 104 wants to share files (data) of user 104 that user 104 will have the generated AI 213 refer to with other users. User 104 can select folders and files from the list of folders and files on the information processing device 101 that they may share with other users.

[0062] The sharing scope setting 605 defines the range of users that user 104 may allow to share data from their data source 222. User 104 can define the range of users from within the company, their department, or specific users to share the data with. The sharing of data from data source 222 will be explained in the second embodiment described later.

[0063] When user 104 operates the close button 610, the conversation function unit 212 closes the settings screen 600 and returns to the UI screen 500 shown in Figure 5.

[0064] Referring to Figure 7, the question answering process using the generated AI 213 will be explained. The flow in Figure 7 is realized when the processor 210 of the control unit 202 of the information processing device 101 reads the computer program recorded in the storage unit 204 into the memory 211 and executes it.

[0065] The flow in Figure 7 begins when user 104 logs into the question answering system. User 104 enters their user ID and password for logging into the question answering system via the operation unit 230 from the information processing device 101. Login to the question answering system may be done automatically when logging into the information processing device 101, or it may be done separately from logging into the information processing device 101.

[0066] Once user 104's login is authenticated, in S701, the conversation function unit 212 displays the initial screen of the question answering system on the display unit 305 via the interface 217. The initial screen may be the UI screen 500 shown in Figure 5, or any other screen. It may also be the screen displayed at the end of the previous session.

[0067] In S702, user 104 selects a language model to use from one or more language models in the language model selection area 503 of the UI screen 500. If there is only one language model, step S702 may be omitted. The language model selection area 503 is displayed with the previously selected language model selected. If user 104 does not need to change the language model to use from the previously selected language model, step S702 may be omitted.

[0068] In S703, when user 104 operates the chat start button 502, the conversation function unit 212 starts a new chat session. The conversation function unit 212 creates a new chat session by assigning a session ID and records it in the conversation history storage unit 221. Then, the conversation function unit 212 displays the chat start screen on the display unit 231 via the interface 217. This allows user 104 to create a new chat session.

[0069] In S704, user 104 inputs a question into the message input box 513 of the UI screen 500 from the operation unit 230 of the information processing device 101 and operates the send icon 514. In the UI screen 500 of Figure 5, user 104 inputs the message "I don't know which folder I saved the conference presentation materials I created yesterday into" into the message input box 513 and sends it to the question answering system. As a result, the question entered is displayed in user message 511. Such a natural language sentence may be entered as the question.

[0070] In S705, the question entered by user 104 is analyzed by the conversation function unit 212. The conversation function unit 212 analyzes the question in two ways. First, the conversation function unit 212 performs morphological and syntactic analysis on the question, weights the words, and extracts them. The extracted words become keywords. In the case of the question, "I don't know which folder I put the presentation materials for the academic conference that I created yesterday in," the conversation function unit 212 weights the words, such as "yesterday0.1," "academic conference0.3," "presentation materials0.5," and "folder0.1," and extracts the keywords. In the case of semantic search, not only the words contained in the question are analyzed, but the context is also analyzed to add keywords that are similar in context and to weight the keywords based on the context.

[0071] Secondly, the conversation function unit 212 instructs the generating AI 213 to vectorize the question sentence. Upon receiving the instruction, the generating AI 213 vectorizes the question sentence using its embedding function and returns it to the conversation function unit 212.

[0072] In the S705 question analysis, either keyword extraction or vectorization of the question text may be performed, or both may be performed. The search method selected in the search settings 603 on the settings screen 600 may determine whether keyword extraction or vectorization of the question text is performed.

[0073] In S706, upon receiving instructions from the conversation function unit 212, the search unit 215 searches the files in the data source 222 or the vector data in the vector data storage unit 223 using either the keywords extracted from the question text, the vector data of the question text, or both.

[0074] The search unit 215 changes the search method according to the search settings 603 on the settings screen 600. If keyword search, semantic search, hybrid search, or hybrid search + semantic ranking is set in search settings 603, the search unit 215 searches the text data in the vector data storage unit 223 using keywords. Based on the weight of the keywords in the question and the weight of the words in the text data of the files to be searched, the search unit 215 extracts the text data of the files in order of similarity to the question, based on the frequency and similarity between keywords and words.

[0075] If the search setting 603 is set to vector search, hybrid search, or hybrid search + semantic ranking, the search unit 215 calculates the cosine similarity between the vector data of the question and the vector data of the vector data storage unit 223, and extracts the text data of files that are highly similar to the question.

[0076] If either hybrid search or hybrid search + semantic ranking is specified in search setting 603, the search unit 215 combines the search results by keyword and the search results by vector cosine similarity to determine the text data of candidate files. If hybrid search + semantic ranking is specified in search setting 603, the search unit 215 further performs semantic ranking of the question sentence using the words that appear in the text data of the candidate files.

[0077] When the search results for vector data are obtained from the vector data storage unit 223, the search unit 215 extracts the number of data items specified in the number of data items to retrieve 602 on the setting screen 600, in descending order of similarity. In the example in Figure 6, since the number of data items to retrieve 602 is set to "3", the search unit 215 extracts 3 data items in descending order of similarity. The search unit 215 then returns the 3 data items to the conversation function unit 212. The information that the search unit 215 returns to the conversation function unit 212 may be either vector data or text data. Alternatively, the search unit 215 may retrieve the file corresponding to the vector data from the data source 222 and return it to the conversation function unit 212. Alternatively, the conversation function unit 212 may obtain information identifying the file from the search unit 215 and retrieve the vector data, text data, or file of the file from the vector data storage unit 223 or the data source 222.

[0078] In S707, the conversation function unit 212 generates a prompt to instruct the generating AI 213 to provide an answer. The conversation function unit 212 specifies three data items similar to the user 104's question, which the search unit 215 has retrieved, and generates a prompt asking the user 104 to answer the question, "I don't know which folder I put the conference presentation materials I created yesterday in." The data specified in the prompt by the conversation function unit 212 may be vector data or text data. The conversation function unit 212 may also embed text data as context in the prompt. Furthermore, the conversation function unit 212 may attach vector data, text data, or a file, or a combination thereof, to the prompt.

[0079] In S708, the generating AI 213 receives a prompt from the conversation function unit 212 and generates an answer based on the user 104's question and three data related to the question retrieved by the search unit 215. Next, the generating AI 213 returns the generated answer to the conversation function unit 212.

[0080] In S709, the conversation function unit 212 generates a response message to the user 104's question based on the answer generated by the generation AI 213. The conversation function unit 212 may use the answer from the generation AI 213 as the response message, or it may generate a response message based on the answer from the generation AI 213.

[0081] For example, in the UI screen example in Figure 5, if user 104 asks, "At the ABC Society meeting held yesterday, Mr. D gave a presentation, and I was wondering what percentage of LLMs were accepted in 2024?", the question answering system will respond: "It's 20%. D's presentation materials are..." \USER104\work\presentation_conference.ppt is. Clicking this will open the file. This generates response message 512.

[0082] The process for generating the above response message 512 is explained below. The conversation function unit 212 instructs the generating AI 213 to vectorize the user 104's question, "In Mr. D's presentation at the ABC Society meeting held yesterday, could you tell me what percentage the LLM adoption rate was for fiscal year 2024?"

[0083] Next, the search unit 215 retrieves vectorized question text vectors from the vector data storage unit 223 that are similar to user 104's question text, "In Mr. D's presentation at the ABC Society meeting held yesterday, what percentage was the LLM adoption rate for 2024?". The search unit 215 may also identify the top three vector data with the highest similarity from the data updated yesterday, the data related to the society, and the vector data of presentation files.

[0084] Next, the generating AI 213 refers to the top three vector data with the highest similarity to the user 104's question, which were searched by the search unit 215, and generates an answer to the user 104's question. The generated AI213 responds to user 104's question, "At the ABC conference held yesterday, D gave a presentation. What percentage of LLMs were expected to be accepted in 2024?" with "20%. D's presentation materials are located at \USER104\work\presentation_conference.ppt."

[0085] Based on the response from the generating AI 213, the conversation function unit 212 creates a link to the file and generates a response message 512 with the explanation, "Clicking this will open the file." This concludes the explanation of the process for generating the above response message 512.

[0086] In S710, the interface 217 generates a display screen based on the response generated by the conversation function unit 212. The interface 217 then displays the response message on the display unit 231. As a result, the response message 512 of the UI screen 500 shown in Figure 5 is displayed.

[0087] The processing of questions and answers from user 104 in S704-S710 is repeated until the conversation session ends.

[0088] In the UI screen 500 of Figure 5, user 104 further enters the question "Can you tell me the source file that is the basis for the numerical value?" into the message input box 513. The conversation function unit 212, based on user 104's question, supplements the history in the conversation history storage unit 221 to determine that the "numerical value" is the 20% LLM adoption rate for 2024, found in "\USER104\work\presentation_conference.ppt" within "D's presentation materials from the ABC Society meeting held yesterday," and generates a prompt.

[0089] In this embodiment, the information processing device 101 can select data related to the question entered by the user 104 from the data source 222 of the information processing device 101 and obtain a response using the generating AI 213. Since the response is obtained by referring to data owned by the user 104 in response to the user 104's question, a personalized response can be provided to the user 104. Furthermore, since the generating AI 213 operates internally within the information processing device 101, a response using the generating AI 213 can be obtained without exposing the user 104's personal data to the external system. In addition, since vector data is stored in the information processing device 101, data similar to the user's question can be searched at high speed. <Second Embodiment>

[0090] Next, a second embodiment will be described. Parts that overlap with the first embodiment will be omitted from the explanation, and only the differences will be described.

[0091] In the first embodiment, the data referenced by the generating AI 213 was a file owned by user 104 of the data source 222 in the information processing device 101. By setting sharing in the shared data setting 604 and the sharing range setting 605 of the setting screen 600 in Figure 6, data from the data source 222 can be shared among multiple users. Alternatively, the generating AI 213 may be made to reference web pages and data stored in the web page storage unit 308 and the shared data storage unit 309 of the server device 107. If sufficient data is not accumulated in the data source 222 in the information processing device 101, the generating AI 213 may not be able to generate a valid response. If data from the data source 222 can be shared among multiple users, the generating AI 213 can generate a valid response using the shared data even if one user's data is not sufficiently accumulated.

[0092] In the first embodiment, the vector data creation unit 216 periodically or irregularly retrieved a file from the data source 222, created vector data for the file, and stored it in the vector data storage unit 223.

[0093] In the second embodiment, each time the search unit 215 searches the data source 222, the vector data creation unit 216 may create vector data of the files in the data source 222 using the generation AI 213. The created vector data is stored in the vector data storage unit 223. In this way, the vector data creation unit 216 can create vector data efficiently.

[0094] Furthermore, if the search unit 215 searches the vector data in the vector data storage unit 223 and cannot find similar data, it may search the data in the data source 222 to find similar data. In addition, the vector data creation unit 216 may store the vectorized data retrieved from the data source 222 in the vector data storage unit 223. By doing this, the vector data creation unit 216 creates vector data as needed each time the search unit 215 performs a search, so the processing load is reduced and the vector data can be created efficiently compared to creating the vector data all at once.

[0095] In the shared data settings 604 of the settings screen 600, you can set which storage areas (e.g., partitions), folders, or individual files of the storage unit 204 that user 104 may share. As shown in the example on the settings screen 600, you can also make a folder shareable by checking the folder in the list. The method for setting folders and files is not limited to checking boxes; any method is acceptable.

[0096] In setting the sharing scope 605, you set the range of users who can share the folder or file configured in setting the shared data 604. For example, user 104 may select users within the company, their department, or specific users to share data from the data source 222 of user 104's information processing device 101. Sharing settings can be configured not only by selection, but also by directly entering usernames or user IDs.

[0097] You may also set the data to be shared in the shared data settings 604 for each range of users to whom you want to share the data, as specified in the sharing range settings 605. Conversely, you may also set the range of users to whom you want to share the data for each piece of data to be shared.

[0098] Next, the data sharing process will be explained. The information processing device 101 and the other information processing device are connected to each other via LAN 108 and can communicate via the communication unit 201. Here, the other user who shares information will be referred to as user 105, and the other information processing device as information processing device 102. The vector data creation unit 216 of the information processing device 101 provides the vector data within the range set in the shared data setting 604 of the vector data storage unit 223 to the information processing device 102 of user 105, as set in the sharing range setting 605, via the communication unit 201. Also, when the information processing device 101 receives the shared data vector data from the other information processing device 102, the vector data creation unit 216 stores the vector data in the vector data storage unit 223.

[0099] By sharing vector data from data source 222 with other users in this way, the question answering system can use other users' data to answer questions. Furthermore, because the exchanged data is vector data, even if a user views the data, they cannot understand its content. Therefore, secure data sharing is possible from an information security standpoint.

[0100] Furthermore, the information processing device 101 may acquire web pages and data from the web page storage unit 308 and shared data storage unit 309 of the server device 107, vectorize the data from the web page storage unit 308 and shared data storage unit 309 using the vector data creation unit 216 to create vector data, and store the created vector data in the vector data storage unit 223 of the information processing device 101. The search unit 215 can then search the data of the server device 107 within the information processing device 101, and the generating AI 213 can output a response using the shared web pages and data of the server device 107.

[0101] This enables a question-answering system using web pages and data from the shared web page storage unit 308 and shared data storage unit 309 to answer questions. It is also conceivable that the vector data from the web page storage unit 308 and shared data storage unit 309 be stored in the storage unit 306 of the server device 107, and that the generation AI 213 of the information processing device 101 uses the vector data from the server device 107 to answer questions. However, in that case, access control by the server device 107 becomes complex. By obtaining web pages and data from the web page storage unit 308 and shared data storage unit 309 whose access by user 104 of the information processing device 101 is permitted by the authentication DB, and then vectorizing and storing them in the vector data storage unit 223 of the information processing device 101, the vector data from the shared web page storage unit 308 and shared data storage unit 309 can be used as the search target of the search unit 215 without considering access control when performing question-answering.

[0102] As described above, the information processing device of this embodiment can use data from other users in the responses of the generating AI 213 by sharing data from data sources with other information processing devices. Therefore, even users who lack information necessary for their work due to personnel changes, etc., can answer questions using data from other users, thereby supporting the start-up of their work.

[0103] The invention is not limited to the embodiments described above, and various modifications and changes are possible within the scope of the gist of the invention. [Explanation of Symbols]

[0104] 101: Information processing device, 107: Server device, 212: Conversation function unit, 213: Generating AI, 214: File management unit, 215: Search unit, 216: Vector data creation unit, 217: Interface, 222: Data source, 223: Vector data storage unit

Claims

1. A data source that stores data owned by the user, A question input method that accepts user questions, A search means for searching data from the data source based on the user's question, A prompt generation means that generates a prompt based on the user's question and the data retrieved by the search means, A generation AI that generates an answer to the user's question based on the prompt, A response generation means that generates a response to the question based on the above answer, An output means for outputting the response generated by the response generation means, A vector data creation method for vectorizing data, A vector data storage means for storing vectorized data, Equipped with, The vector data creation means creates vector data by vectorizing the data from the data source. The vector data storage means stores the vector data of the data source, The search means searches the vector data stored in the vector data storage means. Information processing device.

2. Furthermore, a shared data setting means for setting data to be shared with other information processing devices, A first shared data providing means that provides the vector data of the shared data stored in the vector data storage means to another information processing device, The information processing apparatus according to claim 1, comprising:

3. Furthermore, a means for setting users who share data, A second shared data providing means that provides the vector data stored in the vector data storage means to other information processing devices of the sharing users, The information processing apparatus according to claim 1, comprising:

4. The vector data storage means stores vector data received from other information processing devices. The information processing apparatus according to claim 1.

5. A computer program for causing a computer to function as one of the means of an information processing apparatus described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Method, computer device, and computer program for providing dialogue dedicated to domain by using language model

    JP2023076413A

  • Information processing device, information processing method, and information processing program

    JP7546326B1

  • JPP7662875B