Information processing systems, information processing methods, and programs
The information processing system addresses the lack of user-specific data access control in automatic responses by using a system with a known information storage unit, access information storage unit, and machine learning to generate output data, ensuring secure and personalized responses.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- 株式会社AIDAO
- Filing Date
- 2024-12-26
- Publication Date
- 2026-07-08
AI Technical Summary
Existing automatic response systems lack the capability to restrict data access and usage for specific users.
An information processing system that includes a known information storage unit, an access information storage unit, an input data reception unit, a known information specifying unit, and a generation unit, which utilize machine learning to generate output data while restricting access based on user-specific access information.
Enables the restriction of information usage to authorized users, ensuring secure and personalized responses.
Smart Images

Figure 2026113775000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing system, an information processing method, and a program.
Background Art
[0002] Techniques for a machine to automatically respond to questions and requests from users have been developed and provided as automatic response services such as bots (see Patent Document 1).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] There is a need to limit the data used for response to some users.
[0005] The present invention has been made in view of such a background, and an object thereof is to provide a technique capable of restricting information to be used.
Means for Solving the Problems
[0006] The main invention of the present invention for solving the above problems is an information processing system including: a known information storage unit that stores known information; an access information storage unit that stores information for specifying, for each user, the known information accessible to the user; an input data reception unit that receives input data from the user; a known information specifying unit that refers to the access information storage unit and specifies, among the known information similar to the input data, the known information accessible to the user; and a generation unit that gives the specified known information and the input data to a learned learning model by machine learning to output output data.
[0007] Further issues and solutions disclosed in this application will be made clear in the section on embodiments of the invention and in the drawings. [Effects of the Invention]
[0008] According to the present invention, the information used can be restricted. [Brief explanation of the drawing]
[0009] [Figure 1] This figure shows an example of the overall configuration of an information processing system. [Figure 2] This figure shows an example of the hardware configuration of management server 2. [Figure 3] This figure shows an example of the software configuration for management server 2. [Figure 4] This diagram illustrates the operation of management server 2. [Modes for carrying out the invention]
[0010] <System Overview> The following describes an information processing system according to one embodiment of the present invention. The information processing system of this embodiment aims to provide information using RAG (Retrieval-Augmented Generation), and access to the information (known information) that forms the basis for RAG response generation is restricted for each user.
[0011] Figure 1 shows an example of the overall configuration of an information processing system. The information processing system in this embodiment includes a management server 2. The management server 2 is connected to the user terminal 1 via a communication network. The communication network is, for example, the internet and is constructed using public telephone networks, mobile phone networks, wireless communication channels, Ethernet (registered trademark), etc.
[0012] User terminal 1 is a computer operated by the user. User terminal 1 can be, for example, a smartphone, a tablet computer, or a personal computer.
[0013] The management server 2 may be a general-purpose computer such as a workstation or personal computer, or it may be logically implemented through cloud computing.
[0014] <Management Server> Figure 2 shows an example of the hardware configuration of the management server 2. Note that the illustrated configuration is just one example, and other configurations are also possible. The management server 2 includes a CPU 201, memory 202, storage device 203, communication interface 204, input device 205, and output device 206. The storage device 203 stores various data and programs, such as a hard disk drive, solid-state drive, or flash memory. The communication interface 204 is an interface for connecting to a communication network, such as an adapter for connecting to Ethernet®, a modem for connecting to a public telephone network, a wireless communication device for wireless communication, or a USB (Universal Serial Bus) connector or RS232C connector for serial communication. The input device 205 is for inputting data, such as a keyboard, mouse, touch panel, button, or microphone. The output device 206 is for outputting data, such as a display, printer, or speaker. Furthermore, each functional unit of the management server 2, as described later, is realized by the CPU 201 reading programs stored in the storage device 203 into memory 202 and executing them, and each storage unit of the management server 2 is realized as part of the storage area provided by memory 202 and storage device 203.
[0015] Figure 3 shows an example of the software configuration of the management server 2. The management server 2 comprises a known information storage unit 231, an access information storage unit 232, an input data receiving unit 211, a known information identification unit 212, and a generation unit 213.
[0016] <Storage section> The known information storage unit 231 stores known information. Known information can be any information. In this embodiment, it is assumed that the known information is text data, but it can also be image data, audio data, etc. The known information storage unit 231 may include a file storage unit that stores a file containing known information, and a vector store that stores vector data into which the known information has been embedded. The file storage unit may be, for example, a file system or an object database. The file storage unit may be configured as a functional unit that stores a file containing known information on another file server and reads the known information from the other file server. The vector store can store information that identifies the known information (hereinafter referred to as the known information ID; it only needs to be unique information, and may be a number or string issued as the ID, or for example, a path to a file or a URL) in association with vector data. Multiple vector data may be stored in association with a single known information ID after the embedding process is performed on each chunk into which a single known information is divided. The known information storage unit 231 can store a user ID that indicates the creator and / or provider of the known information in association with it. For example, the vector store may store the user ID indicating the creator and / or provider in association with the known information ID and the vector data, or it may include a provider known information correspondence table that associates the user ID indicating the creator and / or provider with the known information ID.
[0017] The access information storage unit 232 stores information regarding known information that can be accessed by the user (hereinafter referred to as access information). The access information stores information for specifying known information that can be accessed by the user (hereinafter referred to as access control information) in association with information for specifying the user (for example, user ID). The access control information can be, for example, a list of information for specifying individual known information (for example, known information ID). The access control information can be, for example, information for specifying a folder that the user can access (for example, the path to the folder). The access control information can be, for example, information for specifying a folder that the user is not permitted to access (for example, the path to the folder). The access control information can be, for example, conditions for known information (for example, conditions for the owner or conditions for the group, etc.).
[0018] <Functional unit> The input data reception unit 211 receives input data from the user. The input data can be, for example, a question or instruction from the user. Specific examples of questions include "Please tell me information about XX" and "I want to know the method of XX", etc. Specific examples of instructions include "Please create a report on XX" and "Please create a manual for XX", etc. The input data reception unit 211 can receive the input data by receiving, for example, text data input into an input form displayed on the user terminal 1. Also, the input data reception unit 211 may receive, as input data, text data obtained by performing speech recognition processing on voice data input from a microphone mounted on the user terminal 1. Further, the input data reception unit 211 may receive, as input data, text data extracted by character recognition processing from image data captured by the user terminal 1.
[0019] The known information identification unit 212 identifies known information similar to the input data. Specifically, the known information identification unit 212 calculates the similarity between the input data and each known piece of information, and outputs known information whose similarity is above a threshold as a search result. The similarity is calculated using, for example, the edit distance, cosine similarity, or Jacquard similarity between the input data and the known information. The edit distance is an index that represents the number of editing operations required to convert one string to the other string, the cosine similarity is an index that represents the cosine of the angle between two vectors, and the Jacquard similarity is an index that represents the value obtained by dividing the number of elements in the intersection of two sets by the number of elements in the union. The known information identification unit 212 may also calculate the similarity between the input data and each known piece of information using a machine learning model. The machine learning model is, for example, a neural network model using deep learning, which can learn how to calculate similarity from a large amount of input data and known information pairs. In this embodiment, the search unit 211 is assumed to create vector information by embedding all or part of the input data, and to search for known information similar to the input data according to the distance between the created vector information and the vector information stored in the known information storage unit 231.
[0020] The known information identification unit 212 identifies only the known information that is accessible to the user from among the known information that is similar to the input data that can be searched as described above. The known information identification unit 212 can identify known information that is accessible to the user from among the known information that is similar to the input data by referring to the access information storage unit 232. As described above, after searching for known information similar to the input data, the known information identification unit 212 can determine whether or not the user can access each of the searched known information based on the access control information contained in the access information corresponding to the user stored in the access information storage unit 232, and identify the ones that are accessible. Alternatively, the known information identification unit 212 may determine the degree of similarity between the identified known information and the input data after identifying the accessible known information based on the access control information contained in the access information corresponding to the user stored in the access information storage unit 232, and then identify the similar ones.
[0021] The known information specifying unit 212 may specify only a predetermined number of known information that is similar to the input data and has a high similarity in descending order among the user-accessible known information.
[0022] The generation unit 213 generates output data using the specified known information. In the present embodiment, the generation unit 213 provides the specified known information and the input data to a trained learning model by machine learning to output the output data. The generation unit 213 can generate output data by providing a prompt including the specified known information and an instruction to create an answer to the input data based on the known information to a large language model (LLM). When the input data is not a question but an instruction, a prompt including the specified information, an indication to follow the instruction based on the known information, and the input data may be provided to the LLM to create the output data.
[0023] The learning model in the present embodiment can be a neural network model using deep learning. For example, the learning model can be a language model using a transformer architecture. The transformer architecture includes an encoder and a decoder using a self-attention mechanism and can learn the relationship between the input data and the output data. The encoder of the learning model embeds the input data and then extracts features by the self-attention mechanism. The self-attention mechanism can learn the relevance of each part of the input data and focus on important information. The encoder can include a plurality of self-attention layers and fully connected layers. The decoder of the learning model takes as input the features extracted by the encoder and the information obtained by embedding the known information, and generates output data. Similar to the encoder, the decoder can include a plurality of self-attention layers and fully connected layers.
[0024] A learning model can be trained using a large number of input-output data pairs. Supervised learning can be used for training. Specifically, pairs of input data and correct output data can be used as training data, and the parameters of the learning model can be adjusted. Optimization algorithms such as stochastic gradient descent can be used to adjust the parameters.
[0025] Furthermore, the learning model may be constructed by fine-tuning a pre-trained model. For example, a language model such as BERT or GPT, pre-trained using large amounts of text data, can be fine-tuned using task-specific data. This makes it possible to construct a highly accurate learning model even with small amounts of data.
[0026] <Operation> Figure 4 is a diagram illustrating the operation of the management server 2.
[0027] The management server 2 receives input data from the user (S301), identifies known information that is similar to the input data and accessible to the user (S302), and generates a response to the input data based on the identified known information (S303).
[0028] As described above, the information processing system of this embodiment makes it possible to generate output data based on known information while restricting user access.
[0029] Although these embodiments have been described above, they are intended to facilitate understanding of the present invention and are not intended to limit its interpretation. The present invention can be modified and improved without departing from its spirit, and equivalents thereof are also included.
[0030] For example, the processing performed by each functional unit of the management server 2 described above may be executed by any of the functional units. Furthermore, different functional units may be added to perform some of the processing performed by each of the functional units described above. Also, the functional units of the management server 2 may be distributed across multiple computers.
[0031] Furthermore, the information stored in each memory unit of the management server 2 may be stored in any of the memory units. That is, the information stored in the multiple memory units mentioned above may be stored in a single memory unit, or a portion of the information stored in one memory unit may be stored in another memory unit.
[0032] <Example 1> In the above embodiment, an example was described in which the access information storage unit 232 stores information for identifying known information that the user can access as access control information, but it is not limited to this. For example, the access information storage unit 232 may store attribute information of known information that the user can access.
[0033] In this case, the access information can include attribute information of known information that the user can access, associated with the user ID. Attribute information may include, for example, the type of known information (e.g., text, image, audio), the creator of the known information, the creation date and time of the known information, the update date and time of the known information, the public access level of the known information (e.g., private, departmental access only, company-wide access), and tags of the known information.
[0034] The known information identification unit 212 can refer to the access information storage unit 232 to identify known information that is similar to the input data and has attribute information that the user can access. For example, for a user with user ID "U0001", the known information identification unit 212 can identify known information that has attribute information such as type "text", creator "U0002" or "U0005", and publication level "limited to within the department" or higher.
[0035] <Modification 2> Furthermore, although the above embodiment describes an example in which the management server 2 manages known information, it is not limited to this. For example, an external storage device may manage the known information. In this case, for example, the known information management server that manages the known information can be connected to the management server 2 and the user terminal 1 in a way that allows communication.
[0036] The known information management server 3 has the same functions as the known information storage unit 231 of the management server 2. That is, the known information management server 3 includes a file storage unit that stores files containing known information, and a vector store that stores vector data into which known information has been embedded.
[0037] The known information identification unit 212 of the management server 2 sends a search request to the known information management server 3 for known information similar to the input data. The known information management server 3 searches for known information in response to the search request and returns the search results to the management server 2. The known information identification unit 212 of the management server 2 can identify the known information that the user can access from the search results obtained from the known information management server 3.
[0038] <Variation 3> Furthermore, although the above embodiment described a case where the known information is text data, it is not limited to this. The known information can also include image data, audio data, and other types of data.
[0039] For example, if the known information is image data, the image data can be embedded by extracting features from the image data using image recognition technology and vectorizing the extracted features. Specifically, if the known information is image data, the known information storage unit 231 can store the image data in association with the vector data representing the features extracted from the image data. The input data receiving unit 211 receives image data as input data, and the known information identification unit 212 extracts features from the input image data, vectorizes the extracted features, and calculates the similarity between the vectorized features and the vector data representing the features extracted from the image data stored in the known information storage unit 231, thereby identifying image data similar to the input image data.
[0040] Furthermore, for example, if the known information is audio data, the audio data can be embedded by generating text data from the audio data using speech recognition technology and then embedding the generated text data. Specifically, if the known information is audio data, the known information storage unit 231 can store the audio data and the text data generated from the audio data in association. The input data receiving unit 211 receives the audio data as input data, the known information identification unit 212 generates text data from the input audio data, embeds the generated text data, and calculates the similarity between the embedded text data and the vector data obtained by embedding the text data generated from the audio data stored in the known information storage unit 231, thereby identifying audio data similar to the input audio data.
[0041] <Modification 4> Furthermore, access control information can also be set using access permission information assigned to each piece of known information. For example, access permissions such as "read-only," "editable," and "commentable" can be set for each piece of known information, and the known information that can be accessed can be identified based on the access permissions assigned to each user.
[0042] In this case, the access information storage unit 232 can store information indicating the access rights granted to a user (e.g., "read-only," "editable," etc.) in association with information for identifying the user (e.g., user ID). The known information storage unit 231 can also store information indicating the access rights granted for each piece of known information.
[0043] The known information identification unit 212 searches for known information similar to the input data, and then, for each of the found known pieces of information, it refers to the access information storage unit 232 to compare the access rights granted to the user with the access rights granted to that known piece of information, and can determine whether the user can access it or not. For example, if the access rights granted to the user are "read-only," it can determine that the user can access known information for which access rights of "read-only" or higher are granted.
[0044] <Modification 5> In addition to using machine learning models, keyword matching methods such as TF-IDF (Term Frequency-Inverse Document Frequency) may also be used to calculate the similarity between input data and known information.
[0045] Specifically, morphological analysis is performed on the input data and each piece of known information. The resulting words are used as keywords, and a TF-IDF value is calculated by multiplying the frequency of occurrence of each keyword (TF value) by the reciprocal of the number of documents containing that keyword (IDF value). Then, by considering the sum of the TF-IDF values of common keywords between the input data and each piece of known information as the similarity, it is possible to identify known information with high similarity.
[0046] Alternatively, the input data and each piece of known information may be divided into n-grams (n consecutive characters or words), and the resulting n-grams may be used as keywords to calculate similarity based on the frequency of occurrence of each keyword.
[0047] Alternatively, the input data and each piece of known information may be represented as sequence information that takes into account the order in which words and characters appear, and the similarity may be calculated using methods such as edit distance (the number of editing operations required to convert one string to the other) or LCS (Longest Common Subsequence).
[0048] <Variation 6> Furthermore, the generation unit 213 may also summarize the identified known information and generate a response to the input data.
[0049] For example, the generation unit 213 can generate an answer by extracting parts related to the input data from multiple identified known pieces of information and summarizing the extracted parts. Specifically, the generation unit 213 can generate a summary by extracting parts with a high similarity to the input data for each of the multiple identified known pieces of information and inputting the extracted parts into a document summarization model. The document summarization model can be, for example, a language model such as a seq2seq model or BERT, which has been trained on the task of generating summary sentences.
[0050] Furthermore, the generation unit 213 can also extract parts related to the input data from multiple identified known pieces of information, and generate an answer by relating the extracted parts to each other. Specifically, the generation unit 213 extracts parts with a high degree of similarity to the input data for each of the multiple identified known pieces of information, and by analyzing the relationships between the extracted parts, it can generate an answer by combining highly related parts or rearranging the extracted parts based on their relationships. The analysis of the relationships between parts can be performed, for example, by coreference analysis or by calculating semantic similarity using a language model.
[0051] In this way, the generation unit 213 can provide a more concise and accurate response to the input data by summarizing the identified known information and generating an answer.
[0052] <Example 7> Furthermore, while this embodiment describes a method for restricting access on a per-user basis, it is not limited to this. For example, a disclosure level may be set for each known piece of information, and access control may be performed based on the disclosure level and the user's affiliation.
[0053] Specifically, the known information storage unit 231 can store information indicating the disclosure level of the known information, associated with the known information ID. The disclosure level can be, for example, "completely private," "department-only," or "company-wide." "Completely private" indicates that only the creator of the known information can access it; "department-only" indicates that only members of the department to which the creator of the known information belongs can access it; and "company-wide" indicates that all users can access it.
[0054] Furthermore, the access information storage unit 232 can store information indicating the department to which the user belongs, associated with the user ID.
[0055] Then, the known information identification unit 212 can refer to the access information storage unit 232 to obtain department information associated with the user ID, and refer to the known information storage unit 231 to obtain the disclosure level of known information similar to the input data, and based on the user's department and the disclosure level of the known information, it can identify the known information that the user can access.
[0056] For example, the known information identification unit 212 can determine that a user can access known information if the disclosure level of known information similar to the input data is "completely confidential," and the creator of the known information matches the user. Furthermore, the known information identification unit 212 can determine that a user can access known information if the disclosure level of known information similar to the input data is "limited to within the department," and the department of the creator of the known information matches the user's department. Additionally, the known information identification unit 212 can determine that a user can access known information if the disclosure level of known information similar to the input data is "company-wide."
[0057] <Disclosure Items> Furthermore, this disclosure also includes the following configurations. [Item 1] A known information storage unit that stores known information, An access information storage unit stores information for identifying the known information that each user can access, An input data receiving unit that receives input data from the user, A known information identification unit, which refers to the access information storage unit, identifies known information that is similar to the input data and is accessible to the user, A generation unit that provides the identified known information and the input data to a machine learning model that has been trained, and outputs output data. An information processing system characterized by comprising the following features. [Item 2] A computer that has access to a known information storage unit that stores known information, The steps include storing information in an access information storage unit to identify the known information that each user can access, The steps include receiving input data from the user, The steps include: referring to the access information storage unit, identifying known information that is similar to the input data and is accessible to the user; The steps include: providing the identified known information and the input data to a machine learning model that has been trained by machine learning to produce output data; An information processing method characterized by performing the following. [Item 3] A computer that has access to a known information storage unit that stores known information, The steps include storing information in an access information storage unit to identify the known information that each user can access, The steps include receiving input data from the user, The steps include: referring to the access information storage unit, identifying known information that is similar to the input data and is accessible to the user; The steps include: providing the identified known information and the input data to a machine learning model that has been trained by machine learning to produce output data; A program to execute. [Explanation of Symbols]
[0058] 1 User terminal 2 Management Server
Claims
1. A known information storage unit that stores known information, An access information storage unit stores information for identifying the known information that each user can access, An input data receiving unit that receives input data from the user, A known information identification unit, which refers to the access information storage unit, identifies known information that is similar to the input data and is accessible to the user, A generation unit that provides the identified known information and the input data to a machine learning model that has been trained, and outputs output data. An information processing system characterized by comprising the following features.
2. A computer that has access to a known information storage unit that stores known information, The steps include storing information in an access information storage unit to identify the known information that each user can access, The steps include receiving input data from the user, The steps include: referring to the access information storage unit, identifying known information that is similar to the input data and is accessible to the user; The steps include: providing the identified known information and the input data to a machine learning model that has been trained by machine learning to produce output data; An information processing method characterized by performing the following.
3. A computer that has access to a known information storage unit that stores known information, The steps include storing information in an access information storage unit to identify the known information that each user can access, The steps include receiving input data from the user, The steps include: referring to the access information storage unit, identifying known information that is similar to the input data and is accessible to the user; The steps include: providing the identified known information and the input data to a machine learning model that has been trained by machine learning to produce output data; A program to execute.