Information processing equipment, methods, programs and systems
The system addresses the lack of user-specific output in generative AI by using personal information to filter and generate responses based on access rights, ensuring appropriate detail and confidentiality.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- OPTIM
- Filing Date
- 2025-06-16
- Publication Date
- 2026-07-23
AI Technical Summary
Existing generative AI systems, such as LLMs, do not differentiate information output based on the user's identity, despite potential differences in access rights and information needs.
A system that receives user personal information, searches for relevant information within the scope of access rights, and inputs this information into a generative AI to output tailored responses.
Enables differentiated information output based on user access rights, ensuring appropriate levels of detail and confidentiality.
Smart Images

Figure 2026121257000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an information processing apparatus, method, program, and system.
Background Art
[0002] In recent years, generative AI, which is expected to be used in various situations, has attracted attention. Also, in a type of generative AI called LLM (Large Language Model), there is a technology called RAG (Retrieval-Augmented Generation) that improves the answer accuracy by combining the search for external information in text generation.
[0003] Patent Document 1 describes a technique for efficiently performing a search considering database access rights.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] In a search system using an LLM, an answer corresponding to an instruction sentence is output regardless of who the user is. However, depending on the user, there may be a need to make a difference in the content of the information. Patent Document 1 describes a technique for efficiently performing a search considering database access rights, but does not disclose a search using an LLM.
[0006] An object of the present disclosure is to make a difference in the information output to the user as needed.
Means for Solving the Problems
[0007] To solve the above problems, a program according to one aspect of this disclosure is a program to be executed on a computer having a processor and memory. The program causes the processor to perform the following steps: receiving a question from a user; obtaining the user's personal information; searching for related information that is related to the question within the scope of access rights granted based on the personal information; inputting the question and related information into a generating AI and causing the generating AI to output an answer to the question and related information; and presenting the answer to the user. [Effects of the Invention]
[0008] According to this disclosure, the information output to the user can be varied as needed. [Brief explanation of the drawing]
[0009] [Figure 1] This is a block diagram showing an example of the overall configuration of System 1. [Figure 2] This figure shows an example of the functional configuration of terminal device 10. [Figure 3] This figure shows an example of the functional configuration of server 20. [Figure 4] This diagram shows the data structure of the user information table 2021. [Figure 5] This diagram shows the data structure of the authorization information table 3100. [Figure 6] This flowchart illustrates an example of how server 20 operates when presenting a question and related information in response to it. [Figure 7] This is a schematic diagram illustrating an example of the display screen of the display 141 of the terminal device 10. [Figure 8] This is a schematic diagram illustrating an example of the display screen of the display 141 of the terminal device 10. [Figure 9] This is a schematic diagram showing another example of the display screen of the display 141 of the terminal device 10. [Figure 10]This flowchart illustrates an example of how server 20 operates when presenting a question and related information in response to it. [Figure 11] A block diagram showing the basic hardware configuration of Computer 90. [Modes for carrying out the invention]
[0010] The embodiments of this disclosure will be described below with reference to the drawings. In all the drawings illustrating the embodiments, common components are denoted by the same reference numerals, and repeated explanations are omitted. The following embodiments are not intended to unduly limit the content of this disclosure as described in the claims. Not all components shown in the embodiments are necessarily essential components of this disclosure. Also, each drawing is a schematic diagram and is not necessarily a strict illustration.
[0011] Furthermore, in the following description, "processor" refers to one or more processors. At least one processor is typically a microprocessor such as a CPU (Central Processing Unit), but may be another type of processor such as a GPU (Graphics Processing Unit). At least one processor may be single-core or multi-core.
[0012] Furthermore, at least one processor may be a broad-sense processor, such as a hardware circuit that performs some or all of the processing (e.g., an FPGA (Field-Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit)).
[0013] Furthermore, in the following explanation, we may use expressions such as "xxx table" to describe information that yields an output for a given input. This information can be data with any structure, or it can be a learning model such as a neural network that generates an output for a given input. Therefore, "xxx table" can be referred to as "xxx information."
[0014] In the following description, the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of two or more tables may be combined into one table.
[0015] In the following description, the "program" may be used as the subject to describe the processing. However, since the program performs the defined processing by being executed by a processor while appropriately using a storage unit and / or an interface unit, etc., the subject of the processing may be the processor (or a device such as a controller having the processor).
[0016] The program may be installed in a device such as a computer, or may be, for example, in a program distribution server or a computer-readable (e.g., non-transitory) recording medium. In the following description, two or more programs may be realized as one program, or one program may be realized as two or more programs.
[0017] In the following description, an identification number is used as the identification information for various objects, but other types of identification information (e.g., an identifier including letters or symbols) may be adopted.
[0018] In the following description, when describing elements of the same type without distinction, reference signs (or common signs among the reference signs) are used, and when describing elements of the same type while distinguishing them, the identification numbers (or reference signs) of the elements may be used.
[0019] In the following description, the control lines and information lines indicate those considered necessary for the description, and not necessarily all the control lines and information lines on the product are shown. All the components may be interconnected.
[0020] Each information processing device consists of a computer equipped with an arithmetic unit and a memory device. The basic hardware configuration of the computer and the basic functional configuration of the computer realized by said hardware configuration will be described later. For each of the terminal device 10, server 20, and LLM system 40, explanations that overlap with the basic hardware configuration and basic functional configuration of the computer described later will be omitted.
[0021] (First Embodiment) (Summary) The system according to the first embodiment has a function for outputting an answer to a question. For example, when the system receives a question from a user, it obtains the user's personal information. Based on the question, the system searches the database for related information that is relevant to the question and is accessible to the user based on their personal information. The system inputs the question and related information into a generating AI and causes the generating AI to output an answer to the question and related information. The system presents the answer output by the generating AI to the user. This allows the system to differentiate the information it outputs to the user as needed.
[0022] Personal information is information that identifies a user. Examples of personal information include the user's ID (Identification), date of birth, name, address, telephone number, and attributes. User attributes include the department the user works in, their job duties, industry, position, and the groups (committees, groups, etc.) to which the user belongs.
[0023] <1. Structure> The configuration of System 1 will now be described. Figure 1 is a block diagram showing an example of the overall configuration of System 1. System 1 shown in Figure 1 includes, for example, a terminal device 10, a server 20, an authorization database 31, multiple databases for storing predetermined information, and an LLM system 40. The multiple databases include, for example, a daily report database 32, a resume database 33, a sales log database 34, and a schedule database 35. The terminal device 10, the server 20, the authorization database 31, the daily report database 32, the resume database 33, the sales log database 34, the schedule database 35, and the LLM system 40 communicate with each other, for example, via a network 80.
[0024] Figure 1 shows an example where System 1 includes one terminal device 10. However, the number of terminal devices 10 included in System 1 is not limited to one. System 1 may include two or more terminal devices 10.
[0025] Figure 1 shows an example where multiple databases for storing predetermined information include a daily report database 32, a resume database 33, a sales log database 34, and a schedule database 35. However, the multiple databases are not limited to these. None of these may be included, or other databases may be included.
[0026] Figure 1 shows an example where System 1 includes one LLM system 40. However, the number of LLM systems 40 included in System 1 is not limited to one. System 1 may include two or more LLM systems 40. Furthermore, it may be a generative AI system that is not limited to LLM systems 40, nor is it limited to LLMs.
[0027] Figure 1 shows an example where server 20 is independent of the LLM system 40, but server 20 may include the functions of the LLM system 40. In other words, server 20 may store LLM. Also, server 20 may store generated AI.
[0028] In this embodiment, a collection of multiple devices may be treated as a single server. The method of allocating the multiple functions required to implement the server 20 according to this embodiment to one or more hardware can be appropriately determined in view of the processing capacity of each hardware and / or the specifications required for the server 20.
[0029] The terminal device 10 shown in Figure 1 is an information processing device operated by a user to input a question and confirm the answer. The terminal device 10 can be implemented as, for example, a stationary PC (Personal Computer), a laptop PC, etc. The terminal device 10 may also be implemented as a mobile device such as a smartphone or tablet.
[0030] The terminal device 10 comprises a communication interface 12, an input device 13, an output device 14, memory 15, storage 16, and a processor 19. The input device 13 is a device for receiving input operations from the user (e.g., a touch panel, touchpad, mouse or other pointing device, keyboard, etc.). The output device 14 is a device for presenting information to the user (display, speaker, etc.).
[0031] Server 20 is an information processing device that, for example, uses RAG to provide a service that presents answers to questions. Specifically, Server 20 receives a question and personal information from Terminal Device 10. Based on the personal information, Server 20 obtains user permission information and searches for related information that is relevant to the question from the information accessible with the user's permission. Server 20 inputs the question and related information as prompts into the LLM system 40. Server 20 causes the LLM system 40 to output answers to the question and related information. Server 20 presents the answers output from the LLM system 40 to the user. In this way, Server 20 can differentiate the information output to the user as needed by searching for related information from a database and inputting the retrieved related information as a prompt into the LLM system 40.
[0032] The server 20 is an information processing device implemented by, for example, a computer connected to the network 80. As shown in Figure 1, the server 20 includes a communication IF 22, an input / output IF 23, memory 25, storage 26, and a processor 29. The input / output IF 23 functions as an interface to an input device for receiving input operations from the user and an output device for outputting information to the user.
[0033] The authorization database 31 is an information processing device that stores information regarding access rights. The authorization database 31 includes, for example, a communication interface, an input / output interface, memory, storage, and a processor. The authorization database 31 stores, for example, an authorization information table 3100. The authorization information table 3100 will be described later.
[0034] In the example shown in Figure 1, the authorization database 31 is built outside of the server 20. However, the authorization database 31 may also be built inside the server 20.
[0035] The daily report database 32 is an information processing device that stores information related to daily reports. The daily report database 32 includes, for example, a communication interface, an input / output interface, memory, storage, and a processor. The daily report database 32 stores, for example, daily reports. The daily report database 32 is a database that can be accessed by anyone, for example, via a terminal device 10. The daily reports in the daily report database 32 include level information. Level information is an example of an index value that represents the strength of authority. The higher the level information, the more confidential the information that can be accessed. Level information is represented by, for example, a natural number.
[0036] For example, if the level information attached to a daily report stored in the daily report database 32 is 1, the minimum level of a user who can access it is 1. Users who can access the daily report must have attributes of level 1 or higher (1, 2, 3, etc.). If the level information attached to a daily report stored in the daily report database 32 is 3, the minimum level of a user who can access it is 3. Users who can access the daily report must have attributes of level 3 or higher. Note that the daily report database 32 may be accessible only to users with certain attributes. Also, the daily report database 32 may be accessible only to registered users. In this case, for example, the server 20 accesses it as the registered user using the single sign-on function based on personal information.
[0037] In the example shown in Figure 1, the daily report database 32 is built outside of the server 20. The daily report database 32 may be managed by the same administrator as the server 20, or by a different administrator. Alternatively, the daily report database 32 may be built within the server 20.
[0038] The resume database 33 is an information processing device that stores information related to resumes. The resume database 33 includes, for example, a communication interface, an input / output interface, memory, storage, and a processor. The resume database 33 stores, for example, resumes. The resume database 33 is a database that can be accessed by anyone, for example, via a terminal device 10. The resumes in the resume database 33 include level information. The resume database 33 may be accessible only to users with predetermined attributes. Alternatively, the resume database 33 may be accessible only to registered users. In this case, for example, the server 20 accesses the database as the registered user using a single sign-on function based on personal information.
[0039] In the example shown in Figure 1, the resume database 33 is built outside of the server 20. The resume database 33 may be managed by the same administrator as the server 20, or by a different administrator. Alternatively, the resume database 33 may be built within the server 20.
[0040] The sales log database 34 is an information processing device that stores information related to sales logs. The sales log database 34 includes, for example, a communication interface, an input / output interface, memory, storage, and a processor. The sales log database 34 stores, for example, sales logs. The sales log database 34 is a database that can be accessed by anyone, for example, via a terminal device 10. The sales logs in the sales log database 34 include level information. The sales log database 34 may be accessible only to users with predetermined attributes. Alternatively, the sales log database 34 may be accessible only to registered users. In this case, for example, the server 20 accesses the database as the registered user using a single sign-on function based on personal information.
[0041] In the example shown in Figure 1, the sales log database 34 is built outside of the server 20. The sales log database 34 may be managed by the same administrator as the server 20, or by a different administrator. Alternatively, the sales log database 34 may be built within the server 20.
[0042] The schedule database 35 is an information processing device that stores information related to schedules. The schedule database 35 comprises, for example, a communication interface, an input / output interface, memory, storage, and a processor. The schedule database 35 stores, for example, schedules. The schedule database 35 is a database that can be accessed by anyone via the terminal device 10. The schedules in the schedule database 35 include level information. The schedule database 35 may be accessible only to users with predetermined attributes. Alternatively, the schedule database 35 may be accessible only to registered users. In this case, for example, the server 20 accesses the database as the registered user using a single sign-on function based on personal information.
[0043] In the example shown in Figure 1, the schedule database 35 is built outside of the server 20. The schedule database 35 may be managed by the same administrator as the server 20, or by a different administrator. Alternatively, the schedule database 35 may be built within the server 20.
[0044] The LLM system 40 is a system in which a large-scale artificial intelligence model (LLM), used, for example, in the field of natural language processing (NLP), has been built. By learning from large amounts of text data (web pages, books, articles, etc.), the LLM can understand patterns in human language and effectively perform natural language generation (NLG) tasks. The LLM is an example of generative AI.
[0045] LLM is used in many NLP tasks, such as generating responses to specific questions, automatically generating text, summarizing text, translation, and sentiment analysis. LLM can also be used in a variety of applications, including education, entertainment, customer service, and product development. One example of LLM is multimodal LLM. Examples of LLM include the following: • GPT-4 (registered trademark) (OpenAI Inc.) • Gemini (registered trademark) (Google Inc.) • StableLM (StableAI Inc.) • Llama 3.2 (Meta Inc.)
[0046] The LLM system 40 inputs the question and related information from the server 20 into the LLM, and outputs a response based on the input question and related information. The LLM system 40 then sends the response output from the LLM back to the server 20.
[0047] Each information processing device consists of a computer equipped with an arithmetic unit and a memory device. The basic hardware configuration of the computer and the basic functional configuration of the computer realized by said hardware configuration will be described later. For each of the terminal device 10, server 20, and LLM system 40, explanations that overlap with the basic hardware configuration and basic functional configuration of the computer described later will be omitted.
[0048] <1.1. Functional Configuration of Terminal Devices> Figure 2 shows an example of the functional configuration of the terminal device 10. As shown in Figure 2, the terminal device 10 includes a communication unit 120, an input device 13, an output device 14, an audio processing unit 17, a location information sensor 150, a camera 160, a microphone 171, a speaker 172, a storage unit 180, and a control unit 190. Each block included in the terminal device 10 is electrically connected, for example, by a bus.
[0049] The communication unit 120 performs processing such as modulation and demodulation processing for the terminal device 10 to communicate with other devices. The communication unit 120 performs transmission processing on the signal generated by the control unit 190 and transmits it to an external source (for example, the server 20). The communication unit 120 performs reception processing on the signal received from an external source and outputs it to the control unit 190.
[0050] The input device 13 is a device for a user operating the terminal device 10 to input instructions or information. The input device 13 includes a keyboard 131 and a mouse 132. The input device 13 converts the instructions input by the user into electrical signals and outputs the electrical signals to the control unit 190. The input device 13 may also include a receiving port that accepts electrical signals input from, for example, an external input device.
[0051] The output device 14 is a device for presenting information to the user operating the terminal device 10. The output device 14 is implemented, for example, by a display 141. The display 141 displays data according to the control of the control unit 190. The display 141 is implemented, for example, by an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display.
[0052] The audio processing unit 17 performs, for example, digital-to-analog conversion processing of the audio signal. The audio processing unit 17 converts the signal received from the microphone 171 into a digital signal and provides the converted signal to the control unit 190. The audio processing unit 17 also provides the audio signal to the speaker 172. The audio processing unit 17 is implemented, for example, by an audio processing processor. The microphone 171 receives an audio input and provides the audio signal corresponding to that audio input to the audio processing unit 17. The speaker 172 converts the audio signal received from the audio processing unit 17 into audio and outputs the audio to the outside of the terminal device 10.
[0053] The location information sensor 150 is a sensor that detects the position of the terminal device 10, and is, for example, a GNSS (Global Navigation Satellite System) module. A GNSS module is a receiving device used in a satellite positioning system. In a satellite positioning system, signals are received from at least three or four satellites, and the current position of the terminal device 10, which is equipped with a GNSS module, is detected based on the received signals. The location information sensor 150 may also detect the current position of the terminal device 10 from the position of the wireless base station to which the terminal device 10 is connected.
[0054] Camera 160 is a device that receives light using a photodetector and outputs it as a shooting signal.
[0055] The storage unit 180 is implemented by, for example, memory 15 and storage 16, and stores data and programs used by the terminal device 10. The storage unit 180 stores, for example, user information 181.
[0056] User information 181 includes, for example, information about the user who uses the terminal device 10. User information includes, for example, the user's name, age, address, date of birth, contact information, etc.
[0057] The control unit 190 is realized when the processor 19 reads a program stored in the memory unit 180 and executes instructions contained in the program. The control unit 190 controls the operation of the terminal device 10. By operating according to the program, the control unit 190 performs the functions of an operation reception unit 191, a transmission / reception unit 192, and a presentation control unit 193.
[0058] The operation reception unit 191 processes instructions or information input from the input device 13. Specifically, for example, the operation reception unit 191 receives instructions or information input from the keyboard 131, mouse 132, etc.
[0059] Furthermore, the operation reception unit 191 receives voice instructions input from the microphone 171. Specifically, for example, the operation reception unit 191 receives voice signals input from the microphone 171 and converted into digital signals by the voice processing unit 17. The operation reception unit 191 obtains instructions from the user by, for example, analyzing the received voice signals and extracting predetermined nouns.
[0060] The transmitting / receiving unit 192 performs processing to enable the terminal device 10 to send and receive data with an external device such as the server 20 in accordance with a communication protocol. Specifically, for example, the transmitting / receiving unit 192 sends information input by the user or instructions from the user to the server 20. The transmitting / receiving unit 192 also receives information provided by the server 20.
[0061] The presentation control unit 193 controls the output device 14 in order to present information provided by the server 20 to the user. Specifically, for example, the presentation control unit 193 displays the information transmitted from the server 20 on the display 141. The presentation control unit 193 also outputs the information transmitted from the server 20 through the speaker 172.
[0062] <1.2. Functional Configuration of the Server> Figure 3 shows an example of the functional configuration of server 20. As shown in Figure 3, server 20 functions as a communication unit 201, a storage unit 202, and a control unit 203.
[0063] The communications unit 201 performs processing to enable the server 20 to communicate with external devices.
[0064] The storage unit 202 includes, for example, a user information table 2021. However, the tables stored in the storage unit 202 are not limited to the user information table 2021.
[0065] User Information Table 2021 is a table that stores information about users. Further details will be provided later.
[0066] The control unit 203 is realized when the processor 29 reads a program stored in the memory unit 202 and executes instructions contained in the program. The program includes applications such as web browser applications. The program includes programming languages such as JavaScript® that are executed on the web browser application stored in the terminal device 10. By operating according to the program, the control unit 203 performs the functions indicated as the receive control module 2031, the transmit control module 2032, the presentation control module 2033, the search control module 2034, and the LLM processing control module 2035.
[0067] The receive control module 2031 controls the process by which the server 20 receives signals from external devices according to a communication protocol.
[0068] The transmission control module 2032 controls the process by which the server 20 transmits signals to external devices according to a communication protocol.
[0069] The presentation control module 2033 controls the process of presenting information to the user. Specifically, for example, the presentation control module 2033 presents the answer text sent from the LLM system 40 to the user. More specifically, for example, the presentation control module 2033 presents the answer text regarding the question and related information output from the LLM system 40 to the user.
[0070] The search control module 2034 controls the process of searching for relevant information based on the query and personal information, within the scope of access rights granted by the personal information. Specifically, for example, the search control module 2034 receives the query from the terminal device 10. The search control module 2034 obtains the personal information of the user who entered the query from the user information table 2021. The search control module 2034 obtains the user's personal information based on the information entered by the user when logging in, for example. The search control module 2034 identifies the user's attributes by comparing the user's personal information with the user information table 2021. The search control module 2034 identifies the user's level information by comparing the identified user attributes with the authorization information table 3100. The search control module 2034 searches the database for relevant information based on the query within the scope of access permitted based on the user's level information. The relevant information is information related to the query.
[0071] Examples of search methods used by the search control module 2034 include, but are not limited to, keyword search and vector search. For example, the search control module 2034 uses keyword search to retrieve related information containing words that match the words in the question. The search control module 2034 also uses vector search to retrieve related information using vectors that numerically represent the elements (words, entities, documents, images, videos) of the question.
[0072] The LLM processing control module 2035 inputs the question and related information to the LLM system 40 and causes the LLM system 40 to output an answer to the question and related information. Specifically, the LLM processing control module 2035 inputs the question received from the terminal device 10 and the related information retrieved by the search control module 2034 as prompts to the LLM system 40. The LLM processing control module 2035 may also create a predetermined sentence based on the question received from the terminal device 10 and the related information retrieved by the search control module 2034, create a prompt from the question, related information, and predetermined sentence, and input the created prompt to the LLM system 40. For example, the LLM processing control module 2035 inputs the following prompt to the LLM system 40: "Related information was retrieved as information related to the question. Please output an answer to the question, also based on the related information." As a result, the LLM processing control module 2035 causes the LLM system 40 to output the answer text regarding the question and related information.
[0073] <2. Data Structure> Figure 4 shows the data structure of a table stored by server 20. Figure 5 shows the data structure of a table stored by the authorization database 31. Note that Figures 4 and 5 are examples and do not exclude data that is not shown. Also, even if data is recorded in the same table, it may be stored in a storage area separate from server 20 or the authorization database 31.
[0074] Figure 4 shows the data structure of the user information table 2021. The user information table 2021 shown in Figure 4 is a table that uses the user ID as the key and has columns for name, attributes, age, gender, date of birth, and contact information.
[0075] The User ID field stores an identifier to uniquely identify the user. The Name field stores the user's name. The Attributes field stores the user's attributes. The Age field stores the user's age. The Gender field stores the user's gender. The Date of Birth field stores the user's date of birth. The Contacts field stores the contacts (e.g., phone number, email address, etc.) of the terminal device 10 that the user possesses.
[0076] Figure 5 shows the data structure of the authorization information table 3100. The authorization information table 3100 shown in Figure 5 is a table that has the scope of user access, with personal information as the key. Specifically, the authorization information table 3100 is a table that has the user level, with user attributes as the key.
[0077] The authorization information table 3100 may contain other personal information instead of user attributes. For example, the authorization information table 3100 may contain information such as the department the user works in, the user's job duties, the user's industry, the user's position, and the groups the user belongs to.
[0078] Furthermore, the authorization information table 3100 may contain information that indicates the scope of user access, which is different from the user level, instead of the user level.
[0079] <3.Operation> This section describes the operation of server 20 when using RAG to present answers regarding a question and related information.
[0080] Figure 6 is a flowchart illustrating an example of the operation of server 20 when presenting answers to a question and related information. In the explanation of Figure 6, server 20 provides the service of presenting answers to a question and related information, for example, as SaaS (Software as a Service). In the following example, the ID of the user operating terminal device 10 is "U0002".
[0081] First, a user who wants to obtain answers to a question and related information accesses the server 20 via terminal device 10. For example, the user enters their user ID "U0002" and password "XXXXX" into terminal device 10 to log in to the service provided by server 20 that presents answers to questions and related information.
[0082] The user operates the terminal device 10 and enters a question. An example of a question is, "Please tell me about DDDD's recent schedule and recent achievements." The operation reception unit 191 receives the question. The transmission / reception unit 192 sends the question and the user's ID to the server 20.
[0083] In step S11, the server 20 receives the question from the terminal device 10. Upon receiving the question, the server 20 reads the user's ID from the user information table 2021.
[0084] In step S12, the server 20 obtains the user's privileges based on the user's ID. Specifically, for example, the search control module 2034 compares the user's ID, "U0002," with the user information table 2021. The search control module 2034 identifies that the user's attribute corresponding to the user's ID is "Department Manager."
[0085] In step S13, the server 20 searches for relevant information within the scope accessible by the acquired permissions. Specifically, the search control module 2034 compares the user's attribute, "Department Manager," with the permission information table 3100. The search control module 2034 identifies that the user's level information, corresponding to the user's attribute, is 2.
[0086] The search control module 2034 searches for related information from the daily report database 32, the resume database 33, the sales log database 34, and the schedule database 35, specifically from daily reports, resumes, sales logs, and schedules that contain level information of 1 or 2. Because the user's level information is 2, related information is not found from daily reports, resumes, sales logs, and schedules that contain level information of 3. For example, the search control module 2034 searches for the daily report of DDDD and the sales log of DDDD, both of which contain level information of 2, as related information. On the other hand, if the resume of DDDD and the schedule of DDDD both contain level information of 3, the resume of DDDD and the schedule of DDDD are not found as related information.
[0087] In step S14, the server 20 obtains the question and the answer to the related information. Specifically, the LLM processing control module 2035 inputs the question received in step S11 and the related information retrieved in step S13 as prompts to the LLM system 40. For example, the LLM processing control module 2035 inputs the following prompt to the LLM system 40: "As information related to 'Please tell me DDDD's recent schedule and recent achievements,' 'DDDD's daily report' and 'DDDD's sales log' were retrieved. Please output the answer to 'Please tell me DDDD's recent schedule and recent achievements,' based on 'DDDD's daily report' and 'DDDD's sales log.'"
[0088] The LLM processing control module 2035 retrieves the response text output from the LLM system 40. For example, if the request comes from a user with a low level of access rights (such as an employee without managerial title), a response text with little information may be output, such as, "DDDD hasn't been particularly busy lately, but has produced results in invention." On the other hand, if the request comes from a user with a high level of access rights (such as the president or employees with managerial titles), a response text containing a lot of information may be output, such as, "DDDD has visited XX Corporation, etc., but hasn't been particularly busy lately. He is the inventor of patents No. XX and No. XX, which were recently patented."
[0089] In step S15, the server 20 presents the answer to the user. Specifically, the presentation control module 2033 reads the answer output from the LLM system 40 in step S13. The presentation control module 2033 presents the answer to the question and related information to the user. The presentation control unit 193 controls the display 141 to display the answer to the user.
[0090] <4. Screen example> Figures 7, 8, and 9 are schematic diagrams showing examples of display screens of the display 141 of the terminal device 10. The screen shown in Figure 7 includes a first area 1411. The first area 1411 is, for example, an area showing a text box that displays a question entered by the user. When the terminal device 10 receives a question from the user, the presentation control unit 193 displays the first area 1411.
[0091] The screens shown in Figures 8 and 9 include a first area 1411 and a second area 1412. The second area 1412 is an area that displays the answer to the question and related information output from, for example, the LLM system 40. In step S14, the presentation control module 2033 presents the answer to the question and related information to the user. The presentation control unit 193 displays the first area 1411 and the second area 1412. Figure 8 displays the answer to the question entered by a user with a low access level, and Figure 9 displays the answer to the question entered by a user with a high access level.
[0092] <5.Summary> In this embodiment, the search control module 2034 searches the database for relevant information within the scope accessible to the user based on personal information. The LLM processing control module 2035 inputs relevant information from the database as a prompt to the LLM system 40, in addition to the question. The presentation control module 2033 presents the answer output from the LLM system 40 to the user. Therefore, system 1 can output answers to the question based on information for which access rights are granted based on personal information. Accordingly, the server 20 can differentiate the information output to the user as needed.
[0093] <6. Variation> The example shown in Figure 6 illustrates the case where relevant information is searched based on the user's permission level. System 1 may search for relevant information from databases accessible to the user. Specifically, for example, terminal device 10 receives a question from the user. Server 20 receives the question and obtains personal information. Search control module 2034 compares the personal information with information that associates personal information with access rights in each database to identify the databases to which access rights are granted based on the personal information. Search control module 2034 searches for relevant information from the databases to which access rights are granted based on the personal information, based on the question. Server 20 inputs the question and relevant information into LLM system 40 and presents the answer output from LLM system 40 to the user. This allows System 1 to differentiate the information output to the user as needed.
[0094] Of the multiple databases in System 1, at least one database and the other databases may be managed by different entities. For example, the resume database 33 may be managed by the first entity, while the daily report database 32, the sales log database 34, and the schedule database 35 may be managed by the second entity.
[0095] System 1 may search for relevant information from a database selected by the user. Specifically, for example, terminal device 10 accepts selection information from the user in addition to the question. Selection information is information indicating the database specified by the user from among multiple databases of System 1. Server 20 accepts selection information in addition to the question. Server 20 acquires personal information. Search control module 2034 identifies the database specified by the user based on the selection information. Search control module 2034 searches for relevant information based on the question within the database specified by the selection information, within the scope of access rights granted by the personal information. Server 20 inputs the question and relevant information into LLM system 40 and presents the answer output from LLM system 40 to the user. This allows System 1 to differentiate the information output to the user as needed.
[0096] System 1 may search for relevant information from a database related to the question. Specifically, for example, terminal device 10 receives a question from the user. Server 20 receives the question and obtains personal information. Search control module 2034 identifies the database related to the question. Search control module 2034 searches for relevant information based on the question within the database related to the question, within the scope of access rights granted by the personal information. Server 20 inputs the question and related information into LLM system 40 and presents the answer output from LLM system 40 to the user. This allows System 1 to differentiate the information output to the user as needed.
[0097] System 1 may perform user authentication based on personal information when searching for relevant information from databases to which access rights are granted based on personal information. Specifically, for example, terminal device 10 receives a question from the user. Server 20 receives the question and obtains personal information. Search control module 2034 performs user authentication based on personal information for databases to which access rights are granted based on personal information. If there are multiple databases to which access rights are granted based on personal information, search control module 2034 may perform user authentication using single sign-on. Search control module 2034 searches for relevant information based on the question from databases to which access rights are granted based on authenticated personal information. Server 20 inputs the question and relevant information into LLM system 40 and presents the answer output from LLM system 40 to the user. In this way, System 1 can utilize databases that require user authentication when accessed to differentiate the information output to the user as needed.
[0098] Furthermore, the presentation control module 2033 may also present the user with the scope of access rights in addition to the answer text. Specifically, for example, terminal device 10 receives a question text from the user. Server 20 receives the question text and acquires personal information. Search control module 2034 searches for relevant information based on the question text within the scope of access rights granted by the personal information. Server 20 inputs the question text and relevant information into the LLM system 40. Server 20 acquires information indicating the scope of access rights from the personal information. Server 20 presents the user with the answer text output from the LLM system 40 and the acquired information indicating the scope of access rights.
[0099] The presentation control module 2033 may also present the user with the database from which the search was performed, in addition to the answer. Specifically, for example, terminal device 10 receives a question from the user. Server 20 receives the question and acquires personal information. Search control module 2034 searches for relevant information based on the question within the scope of access rights granted by the personal information. Server 20 inputs the question and relevant information into LLM system 40. Server 20 acquires information indicating the database from which the search was performed. Server 20 presents the user with the answer output from LLM system 40 and the acquired information indicating the database from which the search was performed.
[0100] Furthermore, although the above embodiment described a case where the authority level is described in the authority information table 3100, the information described in the authority information table 3100 is not limited to authority levels. Various types of information according to attributes can be set in the authority information table 3100, such as the hierarchy of personnel who can access, the information items that can be accessed, and the files that can be accessed.
[0101] (Second Embodiment) (Summary) The system according to the second embodiment searches for information related to the question from the database and performs masking on information that the user cannot access based on personal information. The system inputs the question and the masked related information into the LLM and has the LLM output an answer about the question and the masked related information. The system presents the answer output from the LLM to the user. This allows the system to differentiate the information it outputs to the user as needed.
[0102] The search control module 2034 controls the process of searching for relevant information based on the query. Specifically, for example, the search control module 2034 receives the query from the terminal device 10. The search control module 2034 then searches the database for relevant information based on the query.
[0103] The LLM processing control module 2035 obtains the user's permissions based on the user's ID. The LLM processing control module 2035 identifies information from the retrieved related information that cannot be viewed based on the obtained permissions. The LLM processing control module 2035 masks the identified information from the retrieved related information. The LLM processing control module 2035 inputs the question and the related information masked based on permissions as prompts to the LLM system 40. Alternatively, the LLM processing control module 2035 may create a prompt based on the question and the related information masked based on permissions. The LLM processing control module 2035 obtains the answer output from the LLM system 40.
[0104] This section describes the operation of server 20 when using RAG to present answers regarding a question and related information.
[0105] Figure 10 is a flowchart illustrating an example of the operation of server 20 when presenting answers to a question and related information. In the explanation of Figure 10, server 20 provides the service of presenting answers to a question and related information, for example, as SaaS.
[0106] First, a user who wants to obtain answers to a question and related information accesses the server 20 via terminal device 10. The user logs in to the service provided by server 20, which presents answers to a question and related information, by, for example, entering their user ID and password into terminal device 10.
[0107] The user operates the terminal device 10 and inputs a question. The operation reception unit 191 receives the question. The transmission / reception unit 192 sends the question and the user's ID to the server 20.
[0108] In step S11, the server 20 receives the question from the terminal device 10. Upon receiving the question, the server 20 reads the user's ID from the user information table 2021.
[0109] In step S21, the server 20 searches for relevant information based on the query. Specifically, for example, the search control module 2034 accesses the daily report database 32, the resume database 33, the sales log database 34, and the schedule database 35 with administrator privileges, and searches for relevant information from the daily reports, resumes, sales logs, and schedules stored in these databases.
[0110] In step S22, the server 20 obtains the user's privileges based on the user's ID.
[0111] In step S23, the server 20 applies a masking process to the searched and retrieved related information based on the user's permissions. Specifically, for example, the LLM processing control module 2035 identifies information from the retrieved related information that cannot be viewed based on the acquired permissions. The LLM processing control module 2035 masks the identified information from the retrieved related information. The LLM processing control module 2035 may also exclude the identified information from the retrieved related information.
[0112] In step S24, the server 20 obtains the answer to the question and the related information after masking. Specifically, the LLM processing control module 2035 inputs the question received in step S11 and the related information masked in step S23 as prompts to the LLM system 40. The LLM processing control module 2035 then obtains the answer output from the LLM system 40.
[0113] In step S15, the server 20 presents the answer to the user.
[0114] <Basic Computer Hardware Configuration> Figure 11 is a block diagram showing the basic hardware configuration of computer 90. Computer 90 comprises at least a processor 901, main memory 902, auxiliary memory 903, and a communication interface IF991. These are electrically connected to each other by a communication bus 921.
[0115] The processor 901 is hardware for executing the instruction set written in a program. The processor 901 consists of an arithmetic unit, registers, peripheral circuits, etc.
[0116] Main memory 902 is used to temporarily store programs and data processed by programs, etc. For example, it is a volatile memory such as DRAM (Dynamic Random Access Memory).
[0117] Auxiliary storage device 903 refers to a storage device for saving data and programs. Examples include flash memory, HDD (Hard Disc Drive), magneto-optical disk, CD-ROM, DVD-ROM, and semiconductor memory.
[0118] The IF991 communication interface is an interface for inputting and outputting signals for communication with other computers via a network using wired or wireless communication standards.
[0119] A network consists of various mobile communication systems, such as the internet, LANs, and wireless base stations. For example, a network includes 3G, 4G, and 5G mobile communication systems, LTE (Long Term Evolution), and wireless networks that can connect to the internet via designated access points (e.g., Wi-Fi®). When connecting wirelessly, communication protocols include, for example, Z-Wave®, ZigBee®, and Bluetooth®. When connecting via a wired connection, the network also includes connections made directly via USB (Universal Serial Bus) cables, etc.
[0120] Furthermore, by distributing all or part of each hardware configuration across multiple computers 90 and connecting them to each other via a network, a computer 90 can be virtually realized. Thus, the concept of computer 90 includes not only a computer 90 housed in a single enclosure or case, but also a virtualized computer system.
[0121] <Basic Functional Configuration of Computer 90> The functional configuration of the computer realized by the basic hardware configuration of computer 90 (Figure 11) will be explained. The computer comprises at least one functional unit: a control unit, a memory unit, and a communication unit.
[0122] Furthermore, the functional units of computer 90 can also be realized by distributing all or part of each functional unit across multiple computers 90 interconnected via a network. The concept of computer 90 includes not only a single computer 90 but also a virtualized computer system.
[0123] The control unit is realized when the processor 901 reads various programs stored in the auxiliary storage device 903, loads them into the main memory device 902, and executes processing according to those programs. The control unit can realize various functional units that perform information processing depending on the type of program. In this way, the computer is realized as an information processing device that performs information processing.
[0124] The memory unit is implemented by the main memory 902 and the auxiliary memory 903. The memory unit stores data, various programs, and various databases. The processor 901 can also reserve memory areas corresponding to the memory unit in the main memory 902 or the auxiliary memory 903 according to the program. The control unit can also cause the processor 901 to perform operations such as adding, updating, and deleting data stored in the memory unit according to the various programs.
[0125] A database, specifically a relational database, is used to manage and link together tabular data sets called masters, which are structurally defined by rows and columns. In a database, tables are called tables, masters are called masters, the columns of tables are called columns, and the rows of tables are called records. In a relational database, relationships can be established and linked between tables and masters.
[0126] Typically, each table and master has a primary key column to uniquely identify records, but setting a primary key column is not mandatory. The control unit can instruct the processor 901 to add, delete, or update records in specific tables and masters stored in the memory unit, according to various programs.
[0127] Furthermore, by storing data, various programs, and various databases in the memory unit, the information processing device and information processing system related to this disclosure can be considered to have been manufactured.
[0128] Furthermore, the databases and masters in this disclosure may include any data structures (lists, dictionaries, associative arrays, objects, etc.) in which information is structurally defined. Data structures also include data that can be considered as data structures by combining data with functions, classes, methods, etc., written in any programming language.
[0129] The communication unit is implemented by the communication IF991. The communication unit provides the functionality to communicate with other computers 90 via the network. The communication unit can receive information transmitted from other computers 90 and input it to the control unit. The control unit can cause the processor 901 to perform information processing on the received information according to various programs. The communication unit can also transmit information output from the control unit to other computers 90.
[0130] Furthermore, each of the above-mentioned configurations, functions, processing units, processing means, etc., may be implemented in hardware, either partially or entirely, by designing them as integrated circuits, for example. The present invention can also be implemented by software program code that realizes the functions of the embodiment. In this case, a storage medium on which the program code is recorded is provided to a computer, and the processor of that computer reads the program code stored in the storage medium. In this case, the program code read from the storage medium itself realizes the functions of the embodiment described above, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media used to supply such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs, optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and the like.
[0131] Furthermore, the program code that implements the functions described in this embodiment can be implemented in a wide range of programming or scripting languages, such as assembler, C / C++, Perl, Shell, PHP, and Java (registered trademark).
[0132] Furthermore, the program code for the software that implements the functions of the embodiment may be distributed via a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the computer's processor may read and execute the program code stored in the storage means or storage medium.
[0133] The functions realized by the components described herein may be implemented in a circuit or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (Application Specific Integrated Circuits), CPUs (a Central Processing Unit), conventional circuits, and / or combinations thereof, programmed to realize the functions described herein. A processor is considered to be a circuit or processing circuitry, including transistors and other circuits. A processor may be a programmed processor that executes a program stored in memory.
[0134] In this specification, circuitry, unit, and means are hardware programmed to perform or execute the functions described herein. Such hardware may be any hardware disclosed herein, or any hardware known to be programmed to perform or execute the functions described herein.
[0135] If the hardware is a processor that is considered to be a type of circuitry, then the circuitry, means, or unit is a combination of hardware and software used to constitute the hardware and / or processor.
[0136] While several embodiments of this disclosure have been described above, these embodiments can be implemented in a variety of other forms, and various omissions, substitutions, and modifications are permitted without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims and their equivalents.
[0137] (Note) The details described in each of the above embodiments are noted below.
[0138] (Note 1) A program for execution on a computer having a processor and memory, the program causing the processor to perform the following steps: receiving a question from a user; obtaining the user's personal information; searching for related information relating to the question within the scope of access rights granted based on the personal information; inputting the question and related information into a generating AI and causing the generating AI to output an answer to the question and related information; and presenting the answer to the user. (Note 2) The program described in Appendix 1 identifies an index value representing the strength of permissions based on personal information during the search step, and searches for relevant information within the scope of permitted access rights based on that index value. (Note 3) The program described in Appendix 1 or Appendix 2 searches for relevant information from among multiple databases, specifically from databases to which access rights are granted based on personal information, during the search step. (Note 4) The program described in any of the appendices 1 to 3, where at least one of the multiple databases and the other databases are managed by different entities. (Note 5) A program described in one of the appendices 1 to 4, which causes the processor to perform a step of receiving selection information about a database, and in the search step, searches for relevant information from the database specified by the selection information among multiple databases. (Note 6) A program described in one of the appendices 1 to 5, which causes the processor to perform a step of identifying a database based on the question, and in the search step, retrieves relevant information from the identified database among multiple databases. (Note 7) A program described in one of the appendices 1 through 6, which, in the search step, searches for relevant information from among multiple databases, specifically from databases where user authentication is performed based on personal information. (Note 8) A program for execution on a computer having a processor and memory, the program causing the processor to perform the following steps: receiving a question from a user; obtaining the user's personal information; searching for information related to the question; inputting the question and related information obtained through the search, which is information for which access rights are granted based on the personal information, into a generating AI; causing the generating AI to output a response to the question and related information; and presenting the response to the user. (Note 9) The program described in Appendix 8, which, in the step of outputting from the generating AI, masks information obtained through search that does not have access rights based on personal information, thereby making it relevant information. (Note 10) A program described in one of the appendices 1 through 9 that presents the user with a response and the scope of access rights in the steps presented to the user. (Note 11) A program described in one of the appendices 1 through 10, which presents the user with the answer text and search information, which is information indicating the database from which the search was performed, in the steps presented to the user. (Note 12) An information processing device comprising a control unit and a memory unit, wherein the control unit performs the steps of: receiving a question from a user; acquiring the user's personal information; searching for related information that relates to the question within the scope of access rights granted based on the personal information; inputting the question and related information into a generating AI, causing the generating AI to output an answer to the question and related information; and presenting the answer to the user. (Note 13) A method to be performed on a computer having a processor and memory, wherein the processor performs the following steps: receiving a question from a user; obtaining the user's personal information; searching for related information relating to the question within the scope of access rights granted based on the personal information; inputting the question and related information into a generating AI, causing the generating AI to output an answer to the question and related information; and presenting the answer to the user. (Note 14) A system comprising: means for receiving a question from a user; means for obtaining the user's personal information; means for searching for related information concerning the question within the scope of access rights granted based on the personal information; means for inputting the question and related information into a generating AI, causing the generating AI to output an answer to the question and related information; and means for presenting the answer to the user. (Note 15) An information processing device comprising a control unit and a memory unit, wherein the control unit performs the steps of: receiving a question from a user; acquiring the user's personal information; searching for information related to the question; inputting the question and related information obtained through the search, which is information for which access rights are granted based on the personal information, into a generating AI; causing the generating AI to output a response to the question and related information; and presenting the response to the user. (Note 16) A method to be executed on a computer having a processor and memory, wherein the processor performs the steps of: receiving a question from a user; obtaining the user's personal information; searching for information related to the question; inputting the question and related information obtained through the search, which is information for which access rights are granted based on the personal information, into a generating AI; causing the generating AI to output a response to the question and related information; and presenting the response to the user. (Note 17) A program that performs the following actions: receiving a question from a user; obtaining the user's personal information; searching for information related to the question; inputting the question and related information obtained through the search, which is information for which access rights are granted based on the personal information, into a generating AI; having the generating AI output answers to the question and related information; and presenting the answers to the user. [Explanation of symbols]
[0139] 1... System 10...Control device 20... Server 40…LLM System 2033…Presentation control module 2034… Search control module 2035…LLM Processing Control Module
Claims
1. A program to be executed by a computer having a processor and memory, wherein the program is to be executed by the processor, Steps to receive questions from users, The steps include obtaining the user's personal information, The steps include: searching for relevant information related to the aforementioned question within the scope of access rights granted based on the aforementioned personal information; The steps include inputting the question and related information into a generating AI, and having the generating AI output a response to the question and related information, The steps include presenting the aforementioned response to the user, A program that executes the command.
2. The program according to claim 1, wherein in the search step, it identifies an index value representing the strength of authority based on the personal information, and searches for the relevant information within the scope of the permitted access rights based on the index value.
3. The program according to claim 1, wherein in the search step, the program searches for the relevant information from among multiple databases, from databases to which access rights have been granted based on the personal information.
4. Of the aforementioned multiple databases, at least one database and Of the aforementioned multiple databases, at least one database other than the aforementioned database, The program according to claim 3, which is managed by different business entities.
5. The processor is instructed to perform a step of receiving selection information about the database, The program according to claim 1, wherein in the search step, the program searches for the relevant information from among a plurality of databases, specifically from the database specified by the selection information.
6. The processor is instructed to perform the step of identifying a database based on the aforementioned question statement. The program according to claim 1, wherein in the search step, the program searches for the relevant information from the identified database among a plurality of databases.
7. The program according to claim 1, wherein in the search step, the program searches for the relevant information from among multiple databases, from a database that has been authenticated based on the personal information.
8. A program to be executed by a computer having a processor and memory, wherein the program is to be executed by the processor, Steps to receive questions from users, The steps include obtaining the user's personal information, The steps include: searching for information related to the aforementioned question; The steps include inputting the aforementioned question and related information obtained through the search, which is information for which access rights are granted based on the personal information, into a generating AI, and having the generating AI output a response to the question and the related information. The steps include presenting the aforementioned response to the user, A program that executes the command.
9. The program according to claim 8, wherein in the step of outputting from the generating AI, the program obtains the related information by masking the information obtained by the search for which access rights are not granted based on the personal information.
10. The program according to claim 1, wherein in the step of presenting to the user, the program presents to the user the answer statement and the scope of the access rights.
11. The program according to claim 1, wherein in the step of presenting to the user, the program presents to the user the answer text and search information which is information indicating the database from which the search was performed.
12. An information processing apparatus comprising a control unit and a storage unit, wherein the control unit is Steps to receive questions from users, The steps include obtaining the user's personal information, The steps include: searching for relevant information related to the aforementioned question within the scope of access rights granted based on the aforementioned personal information; The steps include inputting the aforementioned question and related information into the LLM, and outputting the answer to the aforementioned question and related information from the LLM, The steps include presenting the aforementioned response to the user, An information processing device that performs the following actions.
13. A method to be performed on a computer comprising a processor and memory, wherein the processor Steps to receive questions from users, The steps include obtaining the user's personal information, The steps include: searching for relevant information related to the aforementioned question within the scope of access rights granted based on the aforementioned personal information; The steps include inputting the aforementioned question and related information into the LLM, and outputting the answer to the aforementioned question and related information from the LLM, The steps include presenting the aforementioned response to the user, How to do it.
14. A means of receiving questions from users, Means for obtaining the user's personal information, A means of searching for relevant information that pertains to the aforementioned question, within the scope of access rights granted based on the aforementioned personal information, A means for inputting the aforementioned question and the aforementioned related information into the LLM, and for outputting an answer to the aforementioned question and the aforementioned related information from the LLM, A means for presenting the aforementioned response to the user, A system that is equipped with [the following].
15. An information processing apparatus comprising a control unit and a storage unit, wherein the control unit is Steps to receive questions from users, The steps include obtaining the user's personal information, The steps include: searching for information related to the aforementioned question; The steps include inputting the aforementioned question and related information obtained through the search, which is information for which access rights are granted based on the personal information, into a generating AI, and having the generating AI output a response to the question and the related information. The steps include presenting the aforementioned response to the user, An information processing device that performs the following actions.
16. A method to be performed on a computer comprising a processor and memory, wherein the processor Steps to receive questions from users, The steps include obtaining the user's personal information, The steps include: searching for information related to the aforementioned question; The steps include inputting the aforementioned question and related information obtained through the search, which is information for which access rights are granted based on the personal information, into a generating AI, and having the generating AI output a response to the question and the related information. The steps include presenting the aforementioned response to the user, How to do it.
17. A means of receiving questions from users, Means for obtaining the user's personal information, A means of searching for information related to the aforementioned question, A means for inputting the aforementioned question and related information obtained through the search, which is information for which access rights are granted based on the aforementioned personal information, into a generating AI, and causing the generating AI to output a response to the aforementioned question and the aforementioned related information, A means for presenting the aforementioned response to the user, A program that executes the command.