Information processing device, information processing method, and information processing program
The information processing apparatus addresses the issue of increased input information in message exchange services by using acquisition and generation units to manage and condense conversation history, thereby enhancing the efficiency and accuracy of generative AI responses.
Patent Information
- Application Number
- JP2023196776
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-20
- Publication Date
- 2025-05-30
- Estimated Expiration
- 2043-11-20
AI Technical Summary
Existing message exchange services that use generative AI to improve conversation accuracy face an issue where the amount of input information, including conversation history, increases significantly, affecting the efficiency of the AI's response generation.
An information processing apparatus that includes a reception unit for receiving user input, acquisition units for inputting user data and conversation history to a generative AI, and generation units for generating response information and a condensed conversation history, which is then input back to the AI, thereby reducing the amount of information processed.
This approach effectively suppresses the amount of conversation history input to the generative AI, enhancing the service's efficiency and accuracy while maintaining effective user interaction.
Smart Images

Figure 2025083095000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus, an information processing method, and an information processing program.
Background Art
[0002] Conventionally, services that exchange messages in a conversation format with users have been known. For example, Patent Document 1 proposes a technique of receiving an input message input by a user through speech, and inputting information including such an input message into a generative AI such as a language model to cause the generative AI to generate a response message.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in the above-described technique, in order to improve the accuracy of the conversation with the user U, in addition to the input message of the user, it is conceivable to input the conversation history with the user U into the generative AI. However, there is a problem that the amount of input information input to the generative AI increases.
[0005] The present application has been made in view of the above, and an object thereof is to provide an information processing apparatus, an information processing method, and an information processing program capable of suppressing the amount of information of the conversation history input to a generative AI in a service that exchanges messages in a conversation format with a user.
Means for Solving the Problems
[0006] The information processing apparatus according to the present application includes a reception unit, a first acquisition unit, a second acquisition unit, a first generation unit, a provision unit, and a second generation unit. The reception unit receives input information from a user for a service for a specific use in a conversation format using a generation AI that generates output information according to the input information. The first acquisition unit inputs information including the input information received by the reception unit to the generation AI, and acquires output information corresponding to the input information from the generation AI. The second acquisition unit acquires information corresponding to the output information acquired by the first acquisition unit. The first generation unit generates response information for the input information based on the information corresponding to the output information acquired by the second acquisition unit. The provision unit provides the response information generated by the first generation unit to the user. The second generation unit generates a user conversation history that is input to the generation AI as a conversation history between the user and the generation AI based on the output information acquired by the first acquisition unit.
Effect of the Invention
[0007] According to one aspect of the embodiment, there is an effect that the amount of information in the conversation history input to the generation AI can be suppressed in a service that exchanges messages in a conversation format with the user.
Brief Description of the Drawings
[0008]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
[0009] Hereinafter, embodiments for implementing an information processing apparatus, an information processing method, and an information processing program according to the present application (hereinafter referred to as "embodiments") will be described in detail with reference to the drawings. Note that the information processing apparatus, the information processing method, and the information processing program according to the present application are not limited by this embodiment. Also, the respective embodiments can be appropriately combined within a range that does not conflict with the processing content. In addition, in the following embodiments, the same parts are denoted by the same reference numerals, and redundant explanations are omitted.
[0010] [1. Example of Information Processing] First, an example of information processing according to an embodiment will be described with reference to FIG. 1. FIG. 1 is a diagram for explaining information processing according to an embodiment.
[0011] The information processing device 1 shown in FIG. 1 is an information processing device that cooperates with the terminal device 2 of the user U and provides various types of information to the user U online. For example, it is realized by one or more servers or a cloud system, etc. The terminal device 2 is, for example, a smartphone or a tablet, etc. In the example shown in FIG. 1, one terminal device 2 is shown, but the information processing device 1 cooperates with each of the plurality of terminal devices 2 and provides various services to the user U of each terminal device 2 online.
[0012] The service provided to the user U by the information processing device 1 is a service that is conducted in a conversation format between the user U using a generative AI (Artificial Intelligence) that outputs response information according to the input information. For example, it is a service for a specific purpose.
[0013] The generative AI is, for example, a text generation AI. The text generation AI is, for example, a large language model trained to estimate and output the next token from the input token sequence, and is, for example, a model based on Transformer or an RNN (Recurrent Neural Network) - based model, etc.
[0014] The Transformer - based model is, for example, GPT (Generative Pre - trained Transformer) or BARD (Bidirectional Auto Regressive Dialogues), etc., but is not limited to such examples. The RNN - based model is, for example, RWKV (Receptance Weighted Key Value), etc., but is not limited to such examples.
[0015] Note that it is desirable to perform learning so that the input information is not used as a new answer, thereby concealing information such as the input personal information. Further, the generative AI may be a language model that is specifically trained (for example, fine-tuned) to generate answer information. The generative AI may be arranged in an external information processing device, and the information processing device 1 uses the generative AI via an API (Application Programming Interface), but the generative AI may also be arranged within the information processing device 1.
[0016] A service for a specific use performed in a conversation format using the generative AI is, for example, a restaurant reservation service that uses restaurant reservation as a specific use, but is not limited to such an example. For example, instead of or in addition to a service that uses restaurant reservation as a specific use, the information processing device 1 can also provide services that use hotel reservation, travel and accommodation reservation, real estate transaction, real estate transaction, video distribution, news distribution, personnel introduction, etc. as specific uses.
[0017] An application program for sending and receiving messages between users U or between a user U and others, i.e., a communication app, is installed on the terminal device 2 of the user U. The communication app has, for example, a chat function, a call function, a wallet function, etc. Note that the communication app may further have various functions such as a news providing function, a taxi dispatch function, a shopping function, a present function, etc. The communication app may sometimes be called a super app.
[0018] The user U can use functions such as a chat function, a call function, and a wallet function using the communication app. The chat function is a function that enables the user U to exchange messages in a chat room in a message channel registered for a channel between the user U and another user U or the store S. Channel registration may sometimes be called friend registration.
[0019] The call function enables the user U to make voice calls or video calls with other users U registered on the channel by the user U. The wallet function has functions such as settlement and money transfer, and the user U etc. can use the wallet function to make payments when purchasing goods or using services.
[0020] The terminal device 2 can transmit and receive information to and from the information processing device 1 via the API by means of a communication app, but it may also transmit and receive information to and from the information processing device 1 without using the API.
[0021] The user U can use the functions of the communication app by operating the terminal device 2 to start the communication app and display an app screen, which is the screen of the communication app, on the terminal device 2.
[0022] The app screen includes a registration list screen showing a list of other users U registered on the channel and services, and a chat screen for exchanging chat messages in a chat room with other users U registered on the channel or a chat room of a service registered on the channel. Hereinafter, the chat room of a service registered on the channel may sometimes be simply referred to as a chat room. Note that the communication app may be an application dedicated to a service for a specific purpose.
[0023] Note that the information processing device 1 may function as a distribution device that distributes control information to the terminal device 2. Here, the control information is described, for example, by a script language such as JavaScript (registered trademark) or a style sheet language such as CSS (Cascading Style Sheets). Note that the communication app itself distributed from the information processing device 1 may be regarded as control information.
[0024] In the following, an example will be described in which, in a restaurant reservation service that is a specific-purpose service provided by the information processing apparatus 1 and is conducted in a conversation format using a generative AI, the user U makes a restaurant search request and then a restaurant reservation request in that order, but the example is not limited to this.
[0025] As shown in FIG. 1, the information processing apparatus 1 receives input information transmitted from the terminal device 2 (step S1). The input information is information that is input into the chat room displayed on the terminal device 2 by the operation of the terminal device 2 by the user U, and is information represented by text. The terminal device 2 transmits the information input into the chat room by the user U to the information processing apparatus 1.
[0026] In the example shown in FIG. 1(a1), information of the character string "A friend is coming to play, so I'm thinking about going out for dinner tonight. Is there any good seafood restaurant nearby?" is input into the terminal device 2 by the user U as input information (input message), and such input information is transmitted from the terminal device 2 to the information processing apparatus 1.
[0027] Subsequently, the information processing apparatus 1 inputs information including the user input information, which is the input information received in step S1, into the generative AI (step S2), and acquires output information corresponding to the user input information from the generative AI (step S3).
[0028] For example, the information processing apparatus 1 inputs information including intention definition information for extracting an intention type and intention content from the user input information and the user input information into the generative AI, and acquires intention information including information indicating the intention type and information indicating the intention content from the generative AI as output information.
[0029] The intention type is, for example, the type of intention of the input sentence indicated by the user input information. When the specific-purpose service is a restaurant reservation service, for example, it is a restaurant search, a question about a restaurant, or a restaurant reservation, but is not limited to such examples.
[0030] The intended content is the content of the intention of the input sentence indicated by the user input information. When the service for a specific purpose is a restaurant reservation service, if the intention type is a restaurant search, it is indicated by information specifying the type of restaurant, the location of the restaurant, the usage date, the usage time, the number of users, etc. The type of restaurant is, for example, the genre of cuisine provided by restaurants such as Japanese cuisine, Chinese cuisine, Italian cuisine, French cuisine, family restaurants, seafood restaurants, izakayas, etc., but is not limited to such examples.
[0031] Also, if the intention type is a question about a restaurant, the intended content is indicated by information specifying the restaurant (e.g., restaurant ID (Identifier)), and if the intention type is a restaurant reservation, it is indicated by information specifying the restaurant (e.g., restaurant ID), reservation date and time, reservation time, number of reservations, etc.
[0032] The intention definition information includes, for example, instruction information including instructions to extract the intention type and the intended content from the user input information, and definition information including the intention type and information defining the intention type. The instruction information is, for example, information such as the string "You are a professional operator of the restaurant reservation service. Determine the intention type of the input sentence from the following multiple intention types, and output the intention type and the intended content. If the intention type of the input sentence is not among the following multiple intention types, output 'no intention type'." However, it is not limited to such examples.
[0033] The definition information is, for example, when the intention type is a restaurant search, a string such as "Intention type: Restaurant search\nIntended content: Type of restaurant, location of restaurant, usage date, usage time, number of users\nExample of output format: Intention type: Restaurant search\nType of restaurant: Seafood restaurant\nLocation of restaurant: Akasaka\nUsage date: 2023 / 10 / 15\nUsage time: 18:00\nNumber of users: 2", etc., but is not limited to such examples.
[0034] As a result, the information processing apparatus 1 can acquire, from the generation AI, intention information including information indicating the intention type and information indicating the intention content as output information, and can appropriately generate response information for the user information using such output information.
[0035] Further, the information processing apparatus 1 can use a generation AI that has been learned to output intention information as output information when information including user information and definition information is input. The definition information is information that defines each of a plurality of functions executable by the information processing apparatus 1. In this case, the information processing apparatus 1 acquires, from the generation AI, information including information specifying a function corresponding to the intention type and information indicating an argument of the function corresponding to the intention type as output information corresponding to the user input information. In the following, the information processing apparatus 1 will be described as acquiring output information corresponding to the user input information from the generation AI using definition information that defines each of the plurality of functions.
[0036] When the specific-purpose service of the plurality of functions is a restaurant reservation service, for example, it includes a function related to search, a function related to questions, and a function related to reservation. The function related to search is a function that uses a search API provided by a search server for searching for restaurants, the function related to questions is a function that uses a function that uses the search API and a function that uses the generation AI, and the function related to reservation is a function that uses a reservation API provided by a reservation server for making restaurant reservations.
[0037] Note that the information processing apparatus 1 can also use a generation AI that has been learned to output, as intention information, function specification information including information indicating a function used for generating response information among the plurality of functions and an argument of the function. In this case, the information processing apparatus 1 inputs the user information to the generation AI and does not input the definition information to the generation AI.
[0038] The arguments of the function related to search are, for example, information such as the type of restaurant, the location of the restaurant, the date of use, the time of use, the number of users, etc., but are not limited to such examples. The arguments of the function related to questions are, for example, information such as restaurant ID, search target, etc., but are not limited to such examples. The arguments of the function related to reservations are information such as restaurant ID, reservation date and time, reservation time, number of reservations, etc., but are not limited to such examples.
[0039] When the information of the character string "A friend is coming to play, so I'm thinking of going out for dinner tonight. Is there any good seafood restaurant nearby?" is input into the generative AI together with the function information as the user input information, the function identification information including the information for identifying the function related to search is output from the generative AI as the intended information.
[0040] In this case, the function identification information includes, in addition to the information for identifying the function related to search, the information of the character string "seafood restaurant" as the information indicating the type of restaurant, the information of the character string "user's location" as the information indicating the location of the restaurant, the information of the character string "2023 / 10 / 16" as the information indicating the date of use, and the information of the character string "18:00" as the information indicating the time of use, as the information of the arguments of the function related to search. These argument information are the information indicating the intended content and are the search condition information indicating the search conditions.
[0041] Based on the output information obtained in step S3, the information processing apparatus 1 generates dialog data as information for conducting a conversation with the user U (step S4). The dialog data is, for example, data to which the conversation history with the past user U, the variable information of the user U, the information indicating a specific event, etc. are added, and is generated, for example, in units of conversations with the user U. The conversation unit is a unit delimited by the period from the start to the end of the conversation with the user U.
[0042] The variable information of the user U is, for example, information indicating the position of the user U, etc., but is not limited to such examples. The dialog data is information in a predetermined format, for example, structured information (structured data) that can be easily searched and analyzed. The structured information (structured data) is, for example, structured information (structured data) in the JSON (JavaScript Object Notation) format, but is not limited to such examples.
[0043] The information indicating a specific event is, for example, information indicating that the argument in the function identification information is specific information, and includes information indicating the event type, information indicating the event content, etc. The information indicating the event type is, for example, information indicating the absence of the position of the user U.
[0044] The information indicating the event content includes, for example, information on the character string "search", information on the character string "seafood restaurant", and information on the character string "user location". The information on the character string "search" is information indicating the intention type, and the information on the character string "seafood restaurant" and the information on the character string "user location" are information indicating the intention content.
[0045] In the dialog data, in the conversation history, the user conversation history input to the generation AI as the conversation history of the user U and the generation AI conversation history input to the generation AI as the conversation history of the generation AI are added. The dialog data generated in step S4 includes, as the user conversation history, information indicating the intention type and information indicating the intention content included in the intention information obtained from the generation AI in step S3.
[0046] In the example shown in (b1) of FIG. 1, the information indicating the intention type is the information of the character string ""intent":"search"", and the information indicating the intention content is the information of the character string ""query":"seafood restaurant"", the information of the character string ""USER_LOCATION"", the information of the character string ""date":"20231016"", and the information of the character string ""time":"18:00"".
[0047] Also, in the dialog data shown in (b1) of FIG. 1, information on the string "lackOfUserLocation", which is information indicating the lack of the location of the user U, is included as information indicating the event type, and as information indicating the content of the event, information indicating that the search type is a search, the restaurant type is a seafood restaurant, and the location is the location of the user U is included.
[0048] Note that the information processing apparatus 1 can also add, to the dialog data in step S9 described later, the information indicating the intention type and the information indicating the intention content included in the intention information acquired from the generated AI in step S3, without including them in the dialog data in step S4.
[0049] Since the information indicating the location of the restaurant is indicated by the information on the string "lackOfUserLocation" as the search condition information, the information processing apparatus 1 transmits inquiry information, which is information for inquiring the user U about the availability of transmitting location information, to the terminal device 2 (step S5). Based on the inquiry information transmitted from the information processing apparatus 1, the terminal device 2 displays information indicating an inquiry about the location of the restaurant in the chat room.
[0050] In the example shown in (a1) of FIG. 1, information on the string "May I obtain the current location from the terminal device?" and two buttons for inquiring the user U about the availability of transmitting location information are displayed in the chat room displayed on the terminal device 2. The two buttons include a first button including information on the string "Yes" and a second button including information on the string "No".
[0051] When the user U operates the terminal device 2 and selects the first button by tapping or the like, the terminal device 2 acquires location information, which is data indicating the current location, from the built-in location sensor by the function of the communication application, and transmits first button selection information including the acquired location information as the location information of the user U to the information processing apparatus 1.
[0052] The location information is an example of sensor detection information acquired by the information processing apparatus 1 from the terminal apparatus 2. The sensor detection information acquired by the information processing apparatus 1 from the terminal apparatus 2 is not limited to the location information, and may be, for example, biometric information of the user U or the like.
[0053] The first button selection information is information indicating that the first button has been selected by the user U, and includes data indicating the current location of the user U in terms of latitude and longitude as the location information of the user U.
[0054] Also, when the user U operates the terminal apparatus 2 and selects the second button by tapping or the like, the terminal apparatus 2 transmits second button selection information, which is information indicating that the second button has been selected by the user U, to the information processing apparatus 1. Hereinafter, when the first button selection information and the second button selection information are shown without being individually distinguished, they are referred to as button information.
[0055] The information processing apparatus 1 acquires the button information transmitted from the terminal apparatus 2 (step S6). When the information processing apparatus 1 acquires the first button selection information, the information processing apparatus 1 generates a search query including, as search condition information, the location information indicated by such first button selection information and information indicating an argument of a function related to the search specified by the intention information acquired in step S3, and transmits the generated search query to the search server through the search API (step S7).
[0056] The location information indicated by the first button selection information is, for example, information indicating the current location of the user U or information indicating an area including the current location of the user U, but is not limited to such examples. The search condition information included in the search query includes, for example, the location information indicated by the first button selection information and information indicating, as information indicating an argument of a function related to the search specified by the intention information, the type of the restaurant, the use date, the use time, and the like.
[0057] Then, the information processing device 1 acquires search results corresponding to the search query from the search server through the search API (step S8). The search results include, for example, information indicating one or more restaurants of the type indicated by the search condition information, which are located around the current location of the user U indicated by the search condition information and are open at the use date and time indicated by the search condition information.
[0058] In the example shown in FIG. 1, the search results include information indicating the number of seafood restaurants corresponding to the seafood restaurant that is open at 18:00 on October 16, 2023, and information indicating one or more corresponding seafood restaurants. In the example shown in (a2) of FIG. 1, information of the character string "One seafood restaurant has been found near the current location from 18:00 on October 16, 2023. 〇ABC Seafood, enjoy delicious seafood directly delivered from the fishing port!" is displayed in the chat room displayed on the terminal device 2.
[0059] Subsequently, the information processing device 1 updates the dialog data as information for conducting a conversation with the user U based on the output information acquired in step S3, the location information included in the button information acquired in step S6, and the search results acquired in step S8 (step S9).
[0060] The dialog data includes the intention information acquired from the generated AI in step S3 or information corresponding to this intention information as the user conversation history. For example, as the user conversation history, information indicating the intention type included in the intention information acquired from the generated AI in step S3 and information indicating the intention content are included.
[0061] In the dialog data shown in (b2) of FIG. 1, the information indicating the intention type is the information of the character string ""intent":"search"", and the information indicating the intention content includes the information of the character string ""query":"seafood restaurant"", the information of the character string ""USER_LOCATION"", the information of the character string ""date":"20231016"", and the information of the character string ""time":"18:00"".
[0062] In addition, the dialog data shown in (b2) of FIG. 1 includes the search results obtained from the search server in step S8 or information corresponding to this search result as the generated AI conversation history. In the example shown in (b2) of FIG. 1, the generated AI conversation history includes the information of the character string ""name":"ABC Seafood"" and the information of the character string ""description":"You can enjoy delicious tuna dishes directly from the fishing port!"" When the search results obtained in step S8 include information on multiple restaurants, the dialog data includes information indicating multiple restaurants.
[0063] In addition, the dialog data includes, as variable information of the user U, the information of the character string ""userLocation:{"lat":123.456,"lon":987.654}"" indicating the current location of the user U. The information indicating the current location of the user U is the information specified by the button information obtained in step S7, and the information processing apparatus 1 adds the information indicating the current location of the user U to the dialog data based on the button information obtained in step S7.
[0064] Subsequently, the information processing apparatus 1 generates response information based on the search results obtained in step S8, and transmits the generated response information (response message) to the terminal device 2 (step S10). The terminal device 2 displays the response information transmitted from the information processing apparatus 1 in the chat room.
[0065] For example, assume that the search results obtained in step S8 include the information of the character string ""id":"r000093218"", the information of the character string ""name":"ABC Seafood"", and the information of the character string ""description":"You can enjoy delicious tuna dishes directly from the fishing port!"" The information of the character string ""id":"r000093218"" is the information indicating the restaurant ID.
[0066] In this case, the information processing device 1 generates, for example, information of the character string "One seafood restaurant near the current location has been found since 18:00 on October 16, 2023.\n\n◇ABC Seafood\n You can enjoy delicious tuna dishes directly delivered from the fishing port!" as response information. The terminal device 2 displays information of the character string "One seafood restaurant near the current location has been found since 18:00 on October 16, 2023. ◇ABC Seafood You can enjoy delicious tuna dishes directly delivered from the fishing port!" in the chat room based on the response information transmitted from the information processing device 1.
[0067] When the user U operates the terminal device 2 and inputs text in the chat room, such information is transmitted from the terminal device 2 to the information processing device 1 as input information. For example, as shown in (a2) of FIG. 1, information indicating the character string "Can I make a reservation?" is input by the user U to the terminal device 2 as input information, and such input information is transmitted from the terminal device 2 to the information processing device 1.
[0068] Subsequently, the information processing device 1 receives the input information (input message) transmitted from the terminal device 2 (step S11). The information processing device 1 generates information including the user input information, which is the input information received in step S11, the intention definition information, and the conversation history between the user U, and inputs the generated information to the generation AI (step S12).
[0069] The conversation history between the user U includes the conversation history of the user U and the conversation history of the generation AI. In step S12, the information processing device 1 generates, as the conversation history between the user U, the user conversation history corresponding to the intention information extracted by the generation AI from the dialog data. For example, based on the dialog data shown in (b2) of FIG. 1, the information processing device 1 generates, as the user conversation history, information of the character string "Search for a seafood restaurant from 18:00 on October 16, 2023".
[0070] As a result, the information processing apparatus 1 can appropriately add information indicating the date and time while reducing the number of characters, compared to the case where the information of the character string "A friend is coming to play, so I'm thinking of going out for dinner tonight. I wonder if there is any delicious seafood restaurant nearby?" is used as the user conversation history.
[0071] In addition, the information processing apparatus 1 generates a generated AI conversation history corresponding to the search result from the dialog data as the conversation history with the user U. For example, the information processing apparatus 1 generates information of the character string "1 result found.\nName: ABC Seafood\nRestaurant ID: r000093218" as the generated AI conversation history based on the dialog data shown in (b2) of FIG. 1.
[0072] The generated AI conversation history does not include information indicating the content of the restaurant, such as the information of the character string "You can enjoy delicious tuna dishes directly shipped from the fishing port!". As a result, the information processing apparatus 1 can appropriately delete unnecessary information while reducing the number of characters of the generated AI conversation history.
[0073] Subsequently, the information processing apparatus 1 acquires output information corresponding to the user input information input to the generated AI in step S12 from the generated AI (step S13). For example, in step S12, the information processing apparatus 1 inputs the conversation history with the user U, the user input information, and the intention definition information to the generated AI, and in step S13, acquires intention information including information indicating the intention type and information indicating the intention content from the generated AI as the output information.
[0074] For example, the information indicating the intention type is information indicating a function related to reservation, and the information indicating the intention content is information indicating the reservation conditions. The information indicating the intention content includes, for example, information of the character string ""id":"r000093218"" as the restaurant ID, information of the character string "2023 / 10 / 16" as the use date information, information of the character string "18:00" as the use time information, and information of the character string "2" as the number of users information as the argument information of the function related to reservation.
[0075] The information of these arguments is reservation condition information that indicates reservation conditions. Note that when the function identification information does not include information indicating the number of users, the information processing apparatus 1 inquires the user U about the number of users and acquires information indicating the number of users from the terminal device 2.
[0076] Subsequently, based on the output information acquired in step S13, the information processing apparatus 1 generates a reservation availability query including information indicating reservation confirmation conditions, and transmits the generated reservation availability query to the reservation server through the reservation API (step S14). The reservation availability query includes, for example, information of the character string ""id":"r000093218"" as the restaurant ID, information of the character string ""2023 / 10 / 16"" as the information of the use date, information of the character string ""18:00"" as the information of the use time, and information of the character string ""2"" as the information of the number of users.
[0077] Subsequently, the information processing apparatus 1 acquires reservation availability information corresponding to the reservation availability query from the reservation server through the reservation API (step S15). The reservation availability information is information indicating whether the reservation of the restaurant specified by the reservation availability query is possible under the conditions specified by the reservation availability query.
[0078] Subsequently, based on the reservation availability information acquired in step S15, the information processing apparatus 1 transmits information indicating whether the reservation of the restaurant, which is the target of the reservation availability inquiry from the user U in the user input information in step S11, is possible as response information (response message) to the terminal device 2 (step S16).
[0079] In this way, in a service in a conversation format using a generative AI that outputs response information according to input information, the information processing apparatus 1 causes the terminal apparatus 2 of the user U to display a button for acquiring sensor detection information, and accepts the selection of the button by the user U. Then, when the selection of the button is accepted, the information processing apparatus 1 acquires the sensor detection information, and generates information that is information corresponding to the sensor detection information and is included in the input information input to the generative AI. Thereby, the information processing apparatus 1 can appropriately acquire the information of the user U in a service that exchanges messages with the user U in a conversation format.
[0080] Further, the information processing apparatus 1 accepts the input information of the user U for a service for a specific use in a conversation format using a generative AI that generates output information according to the input information, inputs the information including the input information to the generative AI, and acquires the output information corresponding to the input information from the generative AI. Then, the information processing apparatus 1 acquires information corresponding to the output information from the generative AI, generates response information for the input information based on the information corresponding to the output information, and generates a user conversation history that is input to the generative AI as a conversation history with the user U based on the output information. Thereby, the information processing apparatus 1 can suppress the amount of information in the conversation history input to the generative AI in a service that exchanges messages with the user U in a conversation format.
[0081] [2. Configuration of Information Processing System] FIG. 2 is a diagram showing an example of the configuration of an information processing system according to an embodiment. As shown in FIG. 2, the information processing system 100 according to the embodiment includes an information processing apparatus 1, a plurality of terminal apparatuses 2, a generative AI server 3, a search server 4, and a reservation server 5.
[0082] The plurality of terminal devices 2 are used by different users U. The terminal device 2 is, for example, a notebook PC (Personal Computer), a desktop PC, a smartphone, a tablet PC, or a wearable device. The wearable device is, for example, smart glasses or a smartwatch, but is not limited to such examples.
[0083] The generation AI server 3 is an information processing device that inputs the input information obtained from the information processing device 1 through the generation AI-API, which is an API dedicated to the generation AI server 3, into the generation AI, and provides the output information output from the generation AI to the information processing device 1 through the generation AI-API. Note that the generation AI may be arranged in the information processing device 1.
[0084] The search server 4 is an information processing device that searches for information corresponding to the search query obtained from the information processing device 1 through the search API, which is an API dedicated to the search server 4, and provides such search results to the information processing device 1 through the search API. Note that the function of the search server 4 may be provided in the information processing device 1.
[0085] The reservation server 5 is an information processing device that performs processing corresponding to the query obtained from the information processing device 1 through the reservation API, which is an API dedicated to the reservation server 5, and provides such processing results to the information processing device 1 through the reservation API. Note that the function of the reservation server 5 may be provided in the information processing device 1.
[0086] Each of the information processing device 1, the terminal device 2, the generation AI server 3, the search server 4, and the reservation server 5 is connected to each other via the network N so as to be communicable with each other by wire or wirelessly. Note that the information processing system 100 shown in FIG. 2 may include a plurality of the information processing device 1, the generation AI server 3, the search server 4, and the reservation server 5.
[0087] The network N includes, for example, a WAN (Wide Area Network) such as the Internet and a mobile communication network such as LTE (Long Term Evolution), 4G (4th Generation), and 5G (5th Generation: the 5th generation mobile communication system).
[0088] The terminal device 2 is connected to the network N via short-range wireless communication such as a mobile communication network, Bluetooth (registered trademark), and wireless LAN (Local Area Network), and can communicate with the information processing device 1, the generation AI server 3, the search server 4, the reservation server 5, and the like.
[0089] [3. Configuration of the information processing device 1] FIG. 3 is a diagram showing an example of the configuration of the information processing device 1 according to the embodiment. As shown in FIG. 3, the information processing device 1 includes a communication unit 10, a storage unit 11, and a processing unit 12.
[0090] [3.1. Communication unit 10] The communication unit 10 is realized by, for example, a communication module or a NIC (Network Interface Card). The communication unit 10 is connected to the network N by wire or wirelessly and transmits and receives information to and from other various devices. For example, the communication unit 10 transmits and receives information to and from the terminal device 2 via the network N.
[0091] [3.2. Storage unit 11] The storage unit 11 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk. The storage unit 11 includes a user information storage unit 20 and a dialog data storage unit 21.
[0092] [3.2.1. User information storage unit 20] The user information storage unit 20 stores various types of information regarding the user U. FIG. 4 is a diagram showing an example of a user information table stored in the user information storage unit 20 of the information processing apparatus 1 according to the embodiment.
[0093] As shown in FIG. 4, the user information table stored in the user information storage unit 20 includes items such as "user ID" and "attribute information". The "user ID" is identification information for identifying the user U.
[0094] The "attribute information" is information regarding the user attributes of the user U corresponding to the "user ID", and includes information on psychographic attributes and demographic attributes. Demographic attributes are, for example, gender, age, place of residence, and occupation, etc., and psychographic attributes are objects of interest such as travel, clothing, cars, religion, etc., lifestyle, thoughts, and trends of thoughts, etc.
[0095] [[3.2.2. Dialog Data Storage Unit 21]] The dialog data storage unit 21 stores various types of information regarding dialog data. FIG. 5 is a diagram showing an example of a dialog data table stored in the dialog data storage unit 21 of the information processing apparatus 1 according to the embodiment.
[0096] As shown in FIG. 5, the dialog data table stored in the dialog data storage unit 21 includes items such as "dialog ID", "user ID", and "dialog data". The "dialog ID" is identification information for identifying the dialog data.
[0097] The "user ID" is the user ID of the user U associated with the dialog data corresponding to the "dialog ID". The "dialog data" is the dialog data corresponding to the "dialog ID" and includes the conversation history with the user U associated with the "user ID". The conversation history with the user U includes, for example, the conversation history of the user U and the conversation history of the generating AI.
[0098] The conversation history of user U is information generated as the conversation information of user U based on the output information extracted by the generation AI from the user input information, which is the input information from user U, and is information input as part of the input information to the generation AI as the conversation history with user U.
[0099] The conversation history of the generation AI is information generated as the conversation information of the generation AI based on the information obtained based on the output information output from the generation AI according to the user input information (for example, search results by the search server 4, reservation availability information by the reservation server 5, etc.), and is information input as part of the input information to the generation AI as the conversation history with user U.
[0100] [3.3. Processing Unit 12] The processing unit 12 is a controller, and is realized, for example, by a processor such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit) executing various programs (corresponding to an example of an information processing program) stored in the storage device inside the information processing apparatus 1 with a RAM or the like as a work area.
[0101] Also, the processing unit 12 is a controller and may be realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a GPGPU (General Purpose Graphic Processing Unit).
[0102] As shown in FIG. 3, the processing unit 12 has a reception unit 30, an acquisition unit 31, a generation unit 32, and a provision unit 33, and realizes or executes the functions and operations of information processing described below. Note that the internal configuration of the processing unit 12 is not limited to the configuration shown in FIG. 3, and may be any other configuration as long as it performs the information processing described later.
[0103] 〔3.3.1. Reception Unit 30〕 The reception unit 30 receives various types of information transmitted from the terminal device 2 of the user U, thereby receiving various operation details such as information input by the user U and button selections.
[0104] For example, the reception unit 30 receives user input information, which is the input information of the user U for a service for a specific purpose in a conversation format using a generation AI that generates output information according to the input information.
[0105] The service for a specific purpose is a restaurant reservation service that uses restaurant reservation as the specific purpose, but is not limited to such an example. For example, the service for a specific purpose may be a service that uses accommodation reservation, travel and accommodation reservation, real estate transaction, real estate transaction, video distribution, news distribution, personnel introduction, etc. as the specific purpose instead of or in addition to the restaurant reservation service.
[0106]
[0107] When the user U operates the terminal device 2 and inputs a natural language string as the user U's conversation into the chat room displayed on the terminal device 2, the terminal device 2 transmits information of such a string as the input information of the user U in the chat room to the information processing device 1.
[0108] Also, the reception unit 30 receives the selection of a button by the user U by receiving the button information transmitted from the terminal device 2. For example, the reception unit 30 receives the selection of the first button by the user U by receiving the first button selection information transmitted from the terminal device 2, and receives the selection of the second button by the user U by receiving the second button selection information transmitted from the terminal device 2.
[0109] In addition, the reception unit 30 receives the selection of the third button by the user U by receiving the third button selection information transmitted from the terminal device 2, and receives the selection of the fourth button by the user U by receiving the fourth button selection information transmitted from the terminal device 2.
[0110] [3.3.2. Acquisition Unit 31] The acquisition unit 31 acquires various types of information. The acquisition unit 31 acquires the sensor detection information transmitted from the terminal device 2. The sensor detection information is information detected by a sensor built in the terminal device 2. The sensors built in the terminal device 2 include a position sensor, a gyro sensor, an acceleration sensor, a geomagnetic sensor, an illuminance sensor, a temperature sensor, a pressure sensor, a biological sensor, and the like.
[0111] The position sensor detects, for example, the position of the terminal device 2 which is the current position of the user U. The position sensor receives a plurality of positioning signals transmitted from a plurality of positioning satellites in the GNSS (Global Navigation Satellite System), and detects the current position of the user U based on the received plurality of positioning signals.
[0112] The biological sensor is, for example, a sensor that detects the heartbeat of the posting user, a sensor that detects the pulse of the posting user, a sensor that detects the blood pressure of the posting user, a sensor that detects the pupil reaction of the posting user, a sensor that detects the brain wave of the posting user, a sensor that detects the blood oxygen concentration of the posting user, and the like. Note that the sensor detection information may be information detected by a terminal device other than the terminal device 2 and acquired by the terminal device 2.
[0113] In addition, the acquisition unit 31 acquires various types of information from, for example, the terminal device 2, the generation AI of the generation AI server 3, the search server 4, the reservation server 5, the storage unit 11, and the like. The acquisition unit 31 acquires, for example, the user input information received by the reception unit 30.
[0114] When the reception unit 30 receives the selection of the first button, for example, the acquisition unit 31 acquires the sensor detection information from the terminal device 2. The sensor detection information acquired by the acquisition unit 31 is, for example, the position information of the user U, environmental information indicating the brightness, temperature, pressure, etc. around the user U, and the biological information of the user U.
[0115] In addition, the acquisition unit 31 inputs the information including the input information from the user U into the generation AI, and acquires the output information corresponding to the input information from the generation AI. For example, the acquisition unit 31 inputs the input information into the generation AI through the generation AI-API, and acquires the output information corresponding to the input information from the generation AI through the generation AI-API.
[0116] The generation AI is, for example, a text generation AI. The text generation AI is, for example, a language model trained to estimate and output the next token from the input token sequence, and is, for example, a transformer-based model or an RNN-based model.
[0117] The transformer-based model is, for example, GPT, BARD, etc., but is not limited to such examples. The RNN-based model is, for example, RWKV, etc., but is not limited to such examples.
[0118] Note that it is desirable to perform learning so that the input information is not used as a new answer to conceal information such as the input personal information. In addition, the generation AI may be a language model specifically trained (for example, fine-tuning) to generate answer information. The generation AI is arranged in an external information processing device, and the acquisition unit 31 uses the generation AI via the API, but the generation AI may also be arranged in the information processing device 1.
[0119] In addition, the acquisition unit 31 transmits the search query to the search server 4 and acquires the search result corresponding to the search query from the search server 4. For example, the acquisition unit 31 transmits the search query to the search server 4 through the search API, and acquires the search result corresponding to the search query from the search server 4 through the search API.
[0120] In addition, the acquisition unit 31 transmits queries such as reservation availability queries and reservation queries to the reservation server 5, and acquires a processing result corresponding to such a query from the reservation server 5. For example, the acquisition unit 31 transmits a search query to the reservation server 5 through a reservation API, and acquires a processing result corresponding to the query from the reservation server 5 through a search API.
[0121] The acquisition unit 31 includes a first acquisition unit 40, a second acquisition unit 41, and a third acquisition unit 42. Hereinafter, each of these first acquisition unit 40, second acquisition unit 41, and third acquisition unit 42 will be specifically described.
[0122] [3.3.2.1. First acquisition unit 40] The first acquisition unit 40 acquires user input information, which is input information of the user U received by the reception unit 30, inputs information including such user input information to the generation AI, and acquires output information corresponding to the user input information from the generation AI.
[0123] For example, the first acquisition unit 40 inputs information including intention definition information for extracting an intention type and intention content from the user input information and the user input information to the generation AI, and acquires intention information including information indicating the intention type and information indicating the intention content from the generation AI as the output information.
[0124] The intention type is, for example, the type of intention of the input sentence indicated by the user input information. When the service for a specific use is a restaurant reservation service, for example, it is a search for a restaurant, a question about a restaurant, or a reservation for a restaurant, but is not limited to such examples.
[0125] The intention content is the content of the intention of the input sentence indicated by the user input information. When the service for a specific use is a restaurant reservation service, if the intention type is a search for a restaurant, it is indicated by information specifying the type of restaurant, the location of the restaurant, the use date, the use time, the number of users, etc. The type of restaurant is, for example, the genre of cuisine provided by restaurants such as Japanese cuisine, Chinese cuisine, Italian cuisine, French cuisine, family restaurants, seafood, and izakayas, but is not limited to such examples.
[0126] Further, if the intended content is a question regarding a restaurant, it is indicated by information for identifying the restaurant (e.g., restaurant ID). If the intended type is a restaurant reservation, it is indicated by information for identifying the restaurant (e.g., restaurant ID), information for identifying the reservation date and time, reservation time, number of people for the reservation, etc.
[0127] The intention definition information includes, for example, instruction information including an instruction to extract the intended type and the intended content from the user input information, and definition information including the intended type and information for defining the intended type. The instruction information is, for example, information such as the character string "You are a professional operator of a restaurant reservation service. Determine the intended type of the input sentence from among the following multiple intended types, and output the intended type and the intended content. If the intended type of the input sentence is not among the following multiple intended types, output 'no intended type'." However, it is not limited to such an example.
[0128] The definition information is, for example, when the intended type is a restaurant search, the character string "Intended type: Restaurant search\nIntended content: Type of restaurant, location of restaurant, usage date, usage time, number of people\nExample of output format: Intended type: Restaurant search\nType of restaurant: Seafood restaurant\nLocation of restaurant: Akasaka\nUsage date: 2023 / 10 / 15\nUsage time: 18:00\nNumber of people: 2" etc. However, it is not limited to such an example.
[0129] Thereby, the first acquisition unit 40 can acquire, as output information, intention information including information indicating the intended type and information indicating the intended content from the generation AI, and can appropriately generate response information for the user information using such output information.
[0130] In addition, the first acquisition unit 40 can use a generative AI that has been learned to output intention information as output information when information including user information and definition information is input. The definition information is information that defines each of a plurality of functions executable by the processing unit 12 of the information processing apparatus 1. In this case, the first acquisition unit 40 acquires, from the generative AI, information including information for specifying a function corresponding to the intention type and information indicating an argument of the function corresponding to the intention type as output information corresponding to the user input information.
[0131] In this way, the first acquisition unit 40 inputs information including definition information that defines each of the plurality of functions as intention definition information to the generative AI, and can acquire, from the generative AI, function specification information that is information including information for specifying a function (a function corresponding to the intention type) used for generating response information among the plurality of functions and information indicating an argument of the function as intention information.
[0132] When the service for a specific use is a restaurant reservation service, for example, the plurality of functions include a function related to search, a function related to question, and a function related to reservation. The function related to search is a function that uses a search API provided by a search server 4 for searching for restaurants, the function related to question is a function that uses a function that uses the search API and a function that uses the generative AI, and the function related to reservation is a function that uses a reservation API provided by a reservation server 5 for making a reservation at a restaurant.
[0133] Note that the first acquisition unit 40 can also use a generative AI that has been learned to output, as intention information, function specification information including information indicating a function used for generating response information among the plurality of functions and an argument of the function. In this case, the first acquisition unit 40 inputs the user information to the generative AI and does not input the definition information to the generative AI.
[0134] The arguments of the function related to search are, for example, information such as the type of restaurant, the location of the restaurant, the date of use, the time of use, the number of users, etc., but are not limited to such examples. The arguments of the function related to questions are, for example, information such as the restaurant ID, the search target, etc., but are not limited to such examples. The arguments of the function related to reservations are information such as the restaurant ID, the reservation date and time, the reservation time, the number of reservations, etc., but are not limited to such examples.
[0135] When the information of the character string "A friend is coming to play, so I'm thinking of going out for dinner tonight. Is there any good seafood restaurant nearby?" is input into the generation AI together with the function information as the user input information, the function identification information including the information for identifying the function related to search is output from the generation AI as the intended information.
[0136] In this case, the function identification information includes, in addition to the information for identifying the function related to search, the information of the character string "seafood restaurant" as the information indicating the type of restaurant, the information of the character string "user's location" as the information indicating the location of the restaurant, the information of the character string "2023 / 10 / 16" as the information indicating the date of use, and the information of the character string "18:00" as the information indicating the time of use, as the information of the arguments of the function related to search. These argument information is the information indicating the intended content and is the search condition information indicating the search conditions.
[0137] When the generation AI cannot identify the function corresponding to the user input information, the generation AI does not output the function identification information as the output information. In this case, the first acquisition unit 40 cannot acquire the function identification information from the generation AI.
[0138] In addition to the input information received by the reception unit 30, the first acquisition unit 40 inputs the information including the conversation history included in the dialog data into the generation AI, and acquires the output information corresponding to the input information from the generation AI.
[0139] The conversation history included in the dialog data includes the user conversation history, which is the conversation history of the user U, and the conversation history of the generative AI, which is the conversation history of the generative AI. The user conversation history can be information from which some information has been extracted rather than the user input information itself, and the generative AI conversation history can be information from which some information has been extracted rather than the response information to the user U itself.
[0140] Therefore, the first acquisition unit 40 can suppress the amount of information (e.g., the number of tokens) of the conversation history input to the generative AI in a service that exchanges messages in a conversation format with the user U.
[0141] For example, when the input information of the user U is the character string "A friend is coming to play, so I'm thinking of going out for dinner tonight. Is there any good seafood restaurant nearby?", for example, the dialog data includes, as the user conversation history, the information of the character string "Search for a seafood restaurant from 18:00 on October 16, 2023". Thereby, the first acquisition unit 40 can appropriately add information indicating the date and time while reducing the number of characters compared to the case where the input information of the user U is used as the user conversation history.
[0142] Also, when the response information to the user U is the information of the character string "One result found.\nName: ABC Fresh Fish\nYou can enjoy delicious tuna dishes directly shipped from the fishing port!", the generative AI conversation history is the information of the character string "One result found.\nName: ABC Fresh Fish\nRestaurant ID: r000093218", and information indicating the content of the restaurant, such as the information of the character string "You can enjoy delicious tuna dishes directly shipped from the fishing port!", is not included. Thereby, the first acquisition unit 40 can appropriately delete unnecessary information while reducing the number of characters of the generative AI conversation history.
[0143] Also, the first acquisition unit 40 can extract a part of the conversation history included in the dialog data, input information including the extracted information and the input information received by the reception unit 30 to the generative AI, and acquire output information corresponding to the input information from the generative AI.
[0144] For example, when the first acquisition unit 40 includes a plurality of search information in the dialog data, the first acquisition unit 40 extracts new search information from the plurality of search information, inputs information including such new search information to the generation AI, and acquires output information corresponding to the input information from the generation AI.
[0145] Further, even when the dialog data includes a plurality of search information and question information corresponding to the latest search information, the first acquisition unit 40 extracts new search information from the plurality of search information, inputs information including such new search information to the generation AI, and acquires output information corresponding to the input information from the generation AI.
[0146] [3.3.2.2. Second acquisition unit 41] The second acquisition unit 41 acquires information corresponding to the output information acquired by the first acquisition unit 40. For example, the second acquisition unit 41 acquires, as information corresponding to the output information, information corresponding to the intention information including information indicating the intention type and information indicating the intention content acquired by the first acquisition unit 40.
[0147] The second acquisition unit 41 determines an access target based on the information indicating the intention type acquired by the first acquisition unit 40, and acquires, as information corresponding to the output information, information corresponding to the information indicating the intention content from the determined access target. The access target is, for example, one or more servers including the generation AI server 3, the search server 4, and the reservation server 5. Note that the access target is not limited to a server, and may be, for example, the storage unit 11 or another information processing device.
[0148] For example, if the information indicating the intention type is information indicating a search, the second acquisition unit 41 generates a search query based on the information indicating the intention content acquired by the first acquisition unit 40. Then, the second acquisition unit 41 transmits the generated search query to the search server 4 through the search API, and acquires, as information corresponding to the output information, a search result corresponding to the search query from the search server 4 through the search API.
[0149] When the sensor detection information is acquired by the third acquisition unit 42, the second acquisition unit 41 transmits a search query including such sensor detection information as search condition information to the search server 4, and acquires the information according to the output information from the search server 4. When the sensor detection information is the location information of the user U, the second acquisition unit 41 transmits a search query including the current location of the user U as search condition information to the search server 4. When the sensor detection information is biological information, the second acquisition unit 41 transmits a search query including the biological information of the user U as search condition information to the search server 4.
[0150] In addition, for example, if the information indicating the intention type is the information indicating a question, the second acquisition unit 41 acquires the necessary information from the search server 4 through the search API based on the information indicating the intention content and the like. When the information indicating the intention content is not included in the intention information, the second acquisition unit 41 can also acquire the detailed information of the restaurant from the search server 4 through the search API.
[0151] When the sensor detection information is acquired by the third acquisition unit 42, the second acquisition unit 41 transmits a search query including such sensor detection information as search condition information to the search server 4, and can also acquire the necessary information from the search server 4.
[0152] When the second acquisition unit 41 acquires information from the search server 4, the second acquisition unit 41 inputs the information including the information acquired from the search server 4 and the user input information received by the reception unit 30 into the generation AI, and acquires the information according to the output information from the generation AI.
[0153] In addition, for example, if the information indicating the intention type is the information indicating a reservation, the second acquisition unit 41 generates a query based on the information indicating the intention content acquired by the first acquisition unit 40. Then, the second acquisition unit 41 transmits the generated query to the reservation server 5 through the reservation API, and acquires the processing result according to the query from the reservation server 5 through the reservation API as the information according to the output information.
[0154] 〔3.3.2.3. Third acquisition unit 42〕 When the reception unit 30 receives the selection of the first button, the third acquisition unit 42 acquires sensor detection information.
[0155] For example, when the reception unit 30 receives the selection of the first button, the third acquisition unit 42 acquires position information as sensor detection information. The third acquisition unit 42 acquires the sensor detection information included in the first button selection information received by the reception unit 30. The first button is a button including information indicating the character string "Search at the current location", but is not limited to such an example. For example, it may be a button including information indicating the character string "Permit transmission of sensor information and search at the current location".
[0156] In addition, when the selection of the first button is received, the third acquisition unit 42 can also acquire biometric information of the user U in addition to or instead of the position information as sensor detection information. In this case, the first button includes, for example, information indicating the character string "Permit transmission of sensor information and search using sensor information" instead of the information indicating the character string "Search at the current location".
[0157] Also, when the sensor detection information is not included in the first button selection information, the third acquisition unit 42 transmits a sensor detection information transmission request for requesting the terminal device 2 to transmit the sensor detection information to the terminal device 2, and can acquire the sensor detection information transmitted from the terminal device 2 in response to the sensor detection information transmission request.
[0158] 〔3.3.3. Generation unit 32〕 Based on the information acquired by the acquisition unit 31, the generation unit 32 generates response information to the user U, input information input to the generation AI, and the like.
[0159] For example, the generation unit 32 generates response information to the user U based on information corresponding to the information indicating the intention type and the information indicating the intention content acquired by the second acquisition unit 41 of the acquisition unit 31.
[0160] Further, the generation unit 32 generates information that is information corresponding to the sensor detection information acquired by the acquisition unit 31 and that is included in the input information input to the generation AI.
[0161] The generation unit 32 includes a first generation unit 43 and a second generation unit 44, and each of the first generation unit 43 and the second generation unit 44 will be specifically described below.
[0162] [3.3.3.1. First generation unit 43] The first generation unit 43 generates response information for the input information based on information corresponding to the output information acquired by the second acquisition unit 41.
[0163] For example, the first generation unit 43 generates response information based on information corresponding to the information indicating the intention type and the information indicating the intention content, which are acquired as information corresponding to the output information by the second acquisition unit 41.
[0164] For example, assume that the intention type indicated by the information indicating the intention type is search, and the information acquired as information corresponding to the output information by the second acquisition unit 41 is the search result acquired from the search server 4. And assume that the search result includes information of the character string ""id":"r000093218"", information of the character string ""name":"ABC Seafood"", and information of the character string ""description":"You can enjoy delicious tuna dishes directly from the fishing port!"" The information of the character string ""id":"r000093218"" is information indicating the restaurant ID.
[0165] In this case, the first generation unit 43 generates, for example, information of the character string ""At 18:00 on October 16, 2023, 1 seafood restaurant near the current location was found.\n\n◇ABC Seafood\n You can enjoy delicious tuna dishes directly from the fishing port!"" as the response information.
[0166] Also, assume that the intention type indicated by the information indicating the intention type is a question and is information obtained from the generation AI as information corresponding to the output information by the second acquisition unit 41. In this case, the first generation unit 43 generates information including the information obtained from the generation AI as answer information.
[0167] For example, assume that the information obtained from the generation AI includes the information of the character string ""description":" ABC Seafood offers wonderful lobster dishes. The lobster is sautéed with butter and garlic, and its mellow flavor spreads throughout the mouth. Also, we recommend trying the fresh tuna steak."".
[0168] In this case, the first generation unit 43 generates the information of the character string ""answer":" ABC Seafood offers wonderful lobster dishes. The lobster is sautéed with butter and garlic, and its mellow flavor spreads throughout the mouth. Also, we recommend trying the fresh tuna steak." as answer information.
[0169] Also, when the function specification information is not obtained by the first acquisition unit 40, the first generation unit 43 generates information indicating an error as answer information. For example, the first generation unit 43 generates, as information indicating an error, for example, the information of the character string ""Unfortunately, it is out of the processing target and cannot be answered." or the information of the character string ""Please input for restaurant search, questions about restaurants, and restaurant reservations." as answer information.
[0170] For example, when the generation AI is GPT of OpenAI, if the output information of the generation AI is not the response of function calling, the function identification information will not be obtained by the first acquisition unit 40, so information indicating an error is generated as the response information. The response of function calling includes, for example, the information of the character string ""finish_reason":"function_call"". The first acquisition unit 40 determines whether it is the response of function calling based on the information of the character string ""finish_reason":"function_call"" and obtains the function identification information.
[0171] [3.3.3.2. Second generation unit 44] The second generation unit 44 generates and updates dialog data as information for conducting a conversation with the user U.
[0172] The dialog data is, for example, data to which the conversation history with the past user U, the variable information of the user U, information indicating a specific event, etc. are added, and is generated, for example, in units of conversations with the user U. The conversation unit is a unit delimited by the period from the start to the end of the conversation with the user U.
[0173] The variable information of the user U is, for example, information indicating the position of the user U, but is not limited to such an example. The dialog data is information in a predetermined format, for example, structured information (structured data) that can be easily searched and analyzed. The structured information (structured data) is, for example, structured information (structured data) in JSON format, but is not limited to such an example.
[0174] The information indicating a specific event is, for example, information indicating that the argument in the function identification information is specific information when the argument is specific information, and includes information indicating the event type, information indicating the event content, etc. The information indicating the event type is, for example, information indicating the lack of the position of the user U.
[0175] The information indicating the event content includes, for example, the information of the character string "search", the information of the character string "seafood restaurant", and the information of the character string "user location". The information of the character string "search" is the information indicating the intention type, and the information of the character string "seafood restaurant" and the information of the character string "user location" are the information indicating the intention content.
[0176] In the dialog data, in the conversation history, the user conversation history input to the generation AI as the conversation history of the user U and the generation AI conversation history input to the generation AI as the conversation history of the generation AI are added.
[0177] The second generation unit 44 generates a user conversation history input to the generation AI as a conversation history with the user U based on the output information of the generation AI acquired by the first acquisition unit 40 of the acquisition unit 31. The second generation unit 44 adds the generated user conversation history to the dialog data.
[0178] For example, the second generation unit 44 generates, as the user conversation history, information indicating the intention type, information indicating the intention content, etc. based on the information indicating the intention type and the information indicating the intention content acquired by the first acquisition unit 40, and adds the generated user conversation history to the dialog data.
[0179] In addition, the second generation unit 44 generates a generation AI conversation history input to the generation AI as the conversation history of the generation AI based on the information corresponding to the output information acquired by the second acquisition unit 41 of the acquisition unit 31.
[0180] For example, the second generation unit 44 generates, as the generation AI conversation history, the information indicating the intention type, the information indicating the processing target, the information indicating the intention content, and the output information of the generation AI based on the information corresponding to the output information acquired by the second acquisition unit 41 of the acquisition unit 31, and adds the generated generation AI conversation history to the dialog data.
[0181] In order to suppress an increase in the data volume of the dialog data, when predetermined conditions are satisfied, the second generation unit 44 deletes a part of the conversation history included in the dialog data. For example, when search information is included in the dialog data and new search information is added, the second generation unit 44 deletes the old search information from the dialog data.
[0182] For example, when the dialog data is in the state shown in (b2) of FIG. 1, it is assumed that information of the character string “Surely, let's make it a yakitori restaurant” is transmitted from the terminal device 2 to the information processing device 1 as input information from the user U. In this case, based on such input information, the generation AI outputs information of the character string “"query":"yakitori restaurant"” instead of information of the character string “"query":"seafood restaurant"” as information indicating the search-related function as information indicating the intention type and information of the argument of such function.
[0183] The second acquisition unit 41 transmits a search query including information indicating the restaurant type “yakitori restaurant” as a search condition to the search server 4 and acquires a search result from the search server 4. Then, based on the search intention acquired by the first acquisition unit 40 and the search result acquired by the second acquisition unit 41, the second generation unit 44 deletes the previous search information from the dialog data and adds the current search information to the dialog data.
[0184] In this case, the previous search information deleted from the dialog data is information of the character string “"intent":"search","condition":{"query":"seafood restaurant","location":"USER_LOCATION ","date":"20231016","time":"18:00"},"restaurants":{"id": "r000093218", "name": "ABC Seafood","description":"You can enjoy delicious seafood dishes directly from the fishing port!"”.
[0185] In addition, the current search information added to the dialog data is, for example, the information of the character string ""intent":"search","condition":{"query":"Yakiniku restaurant","location":"USER_LOCATION ","date":"20231016","time":"18:00"},"restaurants":{"id": "r000287231", "name": "Hisha Kaku Akasaka Branch","description":"All-you-can-eat A5-grade yakiniku!"".
[0186] In addition, the second generation unit 44 sets as a predetermined condition that the search conditions have changed by more than the specified range, and when such a predetermined condition is satisfied, all past search information can be deleted from the dialog data. The specified range is, for example, the range within a prefecture or a predetermined range when it is a location condition, and the range within a genre group of restaurants when it is a restaurant type condition, but is not limited to such examples.
[0187] In addition, when the dialog data includes question information, when adding new search information to the dialog data, the second generation unit 44 can also delete the question information included in the dialog data in addition to the past search conditions included in the dialog data. Thereby, it is possible to suppress the data amount of the conversation history included in the dialog data from increasing too much.
[0188] [3.3.4. Provision unit 33] The provision unit 33 provides various information to the user U by transmitting various information to the terminal device 2.
[0189] For example, the provision unit 33 provides the user U with the response information generated by the first generation unit 43 of the generation unit 32, or provides the user U with various buttons. The provision unit 33 has a display control unit 45 that displays the response information generated by the first generation unit 43 and various buttons in the chat room.
[0190] [3.3.4.1. Display control unit 45] The display control unit 45 causes the chat room displayed on the terminal device 2 to display the response information generated by the first generation unit 43 by transmitting the response information generated by the first generation unit 43 to the terminal device 2.
[0191] In addition, the display control unit 45 causes the terminal device 2 to display a button for acquiring sensor detection information, which is information detected by a sensor (not shown) built in the terminal device 2, by transmitting button information to the terminal device 2. The button information is, for example, the above-described first button information or second button information, and the button is the above-described first button, second button, or the like. In this way, the display control unit 45 can cause the terminal device 2 to display a button for acquiring sensor detection information from the terminal device 2 of the user U in a conversation-based service using a generation AI that outputs response information according to input information.
[0192] The display control unit 45 causes the terminal device 2 to display a button, for example, based on the output information of the generation AI acquired by the acquisition unit 31. For example, when the output information of the generation AI acquired by the acquisition unit 31 includes information of a specific character string, the display control unit 45 causes the terminal device 2 to display the first button by transmitting the first button information to the terminal device 2. The information of the specific character string is, for example, the information of the character string "USER_LOCATION", but is not limited to such an example.
[0193] [4. An Example of Processing by the Processing Unit 12] FIG. 6 is a diagram for explaining an example of processing by the processing unit 12 of the information processing apparatus 1 according to the embodiment. FIGS. 7 and 8 are diagrams showing an example of information located in the chat room displayed on the terminal device 2 according to the embodiment. In FIG. 6, one of the four terminal devices 2 is referred to as a terminal device 2A for convenience, and the user U of the terminal device 2A is referred to as a user UA.
[0194] As shown in Fig. 7(a), when the user UA operates the terminal device 2A to input a character string into the chat room, as shown in Fig. 6, the information of the character string input by the user UA is transmitted from the terminal device 2A to the information processing device 1 as input information.
[0195] In the example shown in Fig. 7(a), the information of the character string "Friends are coming to play, so I'm thinking about going out for a meal. Is there any good seafood restaurant?" is transmitted to the information processing device 1 as input information.
[0196] The reception unit 30 in the processing unit 12 of the information processing device 1 receives the input information transmitted from the terminal device 2A (step S20). The first acquisition unit 40 in the acquisition unit 31 of the processing unit 12 inputs the information including the input information received in step S20 to the generation AI through the generation AI-API as an intention analysis request (step S21), and acquires the intention information for the intention analysis request from the generation AI through the generation AI-API as output information (step S22).
[0197] For example, in step S21, the acquisition unit 31 inputs to the generation AI through the generation AI-API the information including the intention definition information and the user input information for extracting the intention type and the intention content from the input information. Then, in step S22, the acquisition unit 31 acquires from the generation AI through the generation AI-API the intention information including the information indicating the intention type and the information indicating the intention content as output information.
[0198] In Fig. 6, the generation AI that inputs and outputs information through the generation AI-API is a generation AI trained to output intention information as output information when information including user information and definition information is input. The definition information is information that defines each of a plurality of functions.
[0199] FIG. 14 is a diagram showing an example of input information that is input to the AI generated by the acquisition unit 31 in the processing unit 12 of the information processing apparatus 1 according to the embodiment. The input information 60 shown in FIG. 14 includes date and time information 61, user input information 62, function instruction information 63, and function information 64a, 64b, 64c.
[0200] In FIG. 14, the date and time information 61 is information indicating the current time, and the user input information 62 is input information of the user UA, and is information of the character string "A friend is coming to play, so I'm thinking of going out for dinner tonight. Is there any good seafood restaurant?"
[0201] Also, in the example shown in FIG. 14, the function instruction information 63 shows an example when the generative AI is a large language model called GPT3.5-turbo of OpenAI, and includes information of the character string "function_call: \"auto\"" as information for causing the generative AI to output function specification information.
[0202] Also, in the example shown in FIG. 14, function information 64a which is information on a function related to the search indicated by the function name "searchRestaurant", function information 64b which is information on a function related to the question indicated by the function name "askRestaurantInfo", and function information 64c which is information on a function related to the reservation indicated by the function name "eserveRestaurant" are included. Note that in the function information 64a, 64b, 64c shown in FIG. 14, information defining specific arguments of each function is omitted by information of the character string "(omitted)".
[0203] FIG. 15 is a diagram showing an example of information on a function related to search included in the function information shown in FIG. 14. The function information 64a shown in FIG. 15 is information defining a function related to search. As information specifying the function name, the information of the character string "askRestaurantInfo", and as information on the arguments (parameters) of the function related to search, the information of "query" (type of restaurant), the information of "location" (position), the information of "date" (date of use), the information of "time" (time of use), and the information of "people" (number of people using) are included.
[0204] FIG. 16 is a diagram showing an example of information on a function related to a question included in the function information shown in FIG. 14. The function information 64b shown in FIG. 16 is information defining a function related to a question. As information specifying the function name, the information of the character string "searchRestaurant", and as information on the arguments (parameters) of the function related to the question, the information of "restaurantId" (restaurant ID) and the information of "question" (question) are included.
[0205] FIG. 17 is a diagram showing an example of information on a function related to reservation included in the function information shown in FIG. 14. The function information 64c shown in FIG. 17 is information defining a function related to reservation. As information specifying the function name, the information of the character string "reserveRestaurant", and as information on the arguments (parameters) of the function related to reservation, the information of "restaurantId" (restaurant ID), the information of "date" (date of use), the information of "time" (time of use), and the information of "people" (number of people using) are included.
[0206] When the information of the character string "Since my friend is coming to play, I'm thinking of going out for a meal. Is there any good seafood restaurant?" is transmitted to the information processing apparatus 1 as input information, the generation AI outputs, as output information, function specifying information including information specifying a function related to search and information specifying the arguments of the function related to search.
[0207] Based on the output information acquired in step S22, the information processing apparatus 1 generates dialog data as information for conducting a conversation with the user UA (step S23). The dialog data is data to which, for example, a conversation history with the past user UA, variable information of the user UA, information indicating a specific event, etc. are added, and is generated, for example, in units of conversations with the user UA. The unit of conversation is a unit delimited by the period from when the conversation with the user UA starts until it ends.
[0208] FIG. 9 is a diagram showing an example of dialog data generated by the generation unit 32 in the processing unit 12 of the information processing apparatus 1 according to the embodiment. The dialog data 70 shown in FIG. 9 includes search information 71, user variable information 72, and event information 73.
[0209] The search information 71 is information related to a search and includes information indicating an intent type and information indicating the intent content. In the search information 71, information of the character string ""intent":"search"" is included as information indicating the intent type, and information of the character string ""query":"seafood restaurant"", information of the character string ""USER_LOCATION"", information of the character string ""date":"20231016"", and information of the character string ""time":"18:00"" are included as information indicating the intent content.
[0210] Also, the user variable information 72 includes information indicating that the location of the user UA is not set. The event information 73 includes information of the character string ""lackOfUserLocation"", which is information indicating the lack of the location of the user UA, as information indicating the event type, and includes, as information indicating the content of the event, information indicating that the search type is a search, the food and beverage store type is a seafood restaurant, and the location is the location of the user UA.
[0211] Next, when information indicating the absence of the position of the user UA is included in the dialog data 70 as the event information 73 in the providing unit 33 of the processing unit 12, the display control unit 45 transmits the first button information to the terminal device 2A and causes the first button or the like to be displayed in the chat room displayed on the terminal device 2A (step S24).
[0212] In the example shown in FIG. 7(b), information indicating the character string "May I obtain the current location from the terminal device?", the first button including the information of the character string "Yes", and the second button including the information of the character string "Yes" are displayed in the chat room.
[0213] When the user UA operates the terminal device 2A and selects the first button by tapping or the like, the terminal device 2A acquires position information, which is data indicating the current location, from the built-in position sensor by the function of the communication application, and transmits first button selection information including the acquired position information as the position information of the user UA to the information processing device 1.
[0214] The first button selection information is information indicating that the first button has been selected by the user UA, and includes data indicating the current location of the user UA in terms of latitude and longitude as the position information of the user UA. However, the position information of the user UA may not be included in the first button selection information. In this case, the third acquisition unit 42 requests the terminal device 2A to transmit the position information in response to the selection of the first button.
[0215] Also, when the user UA operates the terminal device 2A and selects the second button by tapping or the like, the terminal device 2A transmits third button selection information, which is information indicating that the second button has been selected by the user UA, to the information processing device 1.
[0216] The third acquisition unit 42 in the acquisition unit 31 of the processing unit 12 acquires the first button selection information transmitted from the terminal device 2A (step S25). When the first button selection information is acquired by the third acquisition unit 42, the second generation unit 44 in the generation unit 32 of the processing unit 12 updates the dialog data 70 based on the position information indicated by such first button selection information (step S26).
[0217] FIG. 10 is a diagram showing an example of position information added as variable information of the user UA to the dialog data 70 by the generation unit 32 in the processing unit 12 of the information processing apparatus 1 according to the embodiment. In the example shown in FIG. 10, the position information 74 added to the dialog data 70 includes information of the character string ""userLocation":{"lat":123.456,"lon": 987.654}}"".
[0218] Further, when adding the position information 74 to the dialog data 70, the second generation unit 44 deletes information indicating the lack of the position of the user UA (for example, the event information 73 shown in FIG. 9) from the dialog data 70. The position information 74 is an example of user variable information. Thereby, the second generation unit 44 can reduce the data amount of the dialog data 70.
[0219] The first generation unit 43 in the generation unit 32 generates a search query including the position information indicated by the first button selection information received by the reception unit 30 and the information indicating the intended content indicated by the output information acquired in step S22 as search condition information. Then, the second acquisition unit 41 in the acquisition unit 31 of the processing unit 12 transmits the search query generated by the first generation unit 43 to the search server 4 through the search API (step S27).
[0220] In step S27, since the function specified by the function specification information acquired by the first acquisition unit 40 in step S22 is a function related to search, the second acquisition unit 41 transmits a search query including the argument information included in the function specification information acquired by the first acquisition unit 40 and the position information indicated by the first button selection information as search condition information to the search server 4 through the search API.
[0221] The second acquisition unit 41 acquires a search result corresponding to the search query from the search server 4 through the search API (step S28). Then, the second generation unit 44 in the generation unit 32 of the processing unit 12 updates the dialog data 70 based on the search result acquired by the second acquisition unit 41 in step S28 (step S29).
[0222] FIG. 11 is a diagram showing an example of the dialog data 70 updated by the generation unit 32 in the processing unit 12 of the information processing apparatus 1 according to the embodiment. The dialog data 70 shown in FIG. 11 includes the search information 71 arranged in step S23, the position information 74 added in step S26, and the search result 75 added in step S29.
[0223] The search result 75 shown in FIG. 11 includes a plurality of restaurant information 75a, 75b, etc. The restaurant information 75a includes information of the character string ""id":"r0028374981"" (restaurant ID), information of the character string ""name":"ABC Seafood"" (restaurant name), and information of ""You can enjoy delicious tuna dishes directly delivered from the fishing port!"" (restaurant details).
[0224] Also, the restaurant information 75b includes information of the character string ""id":"r0083720123"" (restaurant ID), information of the character string ""name":"DEF Seafood"" (restaurant name), and information of ""Provides fresh seafood bowls. Very popular among women!"" (restaurant details). Note that in the search result 75 shown in FIG. 11, the restaurant information after the third one is omitted.
[0225] Note that the second generation unit 44 can also generate the dialog data 70 by collectively performing the processes of step S23 and step S26 in step S29.
[0226] Subsequently, the first generation unit 43 in the generation unit 32 of the processing unit 12 generates response information based on the search results obtained by the second acquisition unit 41 in step S23, and the display control unit 45 in the provision unit 33 of the processing unit 12 causes the response information generated by the first generation unit 43 to be displayed on the terminal device 2A of the user UA (step S30).
[0227] The terminal device 2A receives the response information transmitted by the display control unit 45 and displays the received response information. In the example shown in Fig. 7(c), the information of the character string "A total of 3 seafood restaurants that can be reserved from 18:00 today, October 16, 2023, have been found. 1. ABC Seafood Enjoy delicious tuna dishes directly from the fishing port! 2. DEF Seafood Offers fresh seafood bowls. Very popular among women! HIJ Seafood ···" is displayed in the chat room as the response information on the terminal device 2A.
[0228] As shown in Fig. 7(d), when the user UA operates the terminal device 2A to input a character string into the chat room, as shown in Fig. 6, the information of the character string input by the user UA from the terminal device 2A is transmitted to the information processing device 1 as input information. In the example shown in Fig. 7(d), the information of the character string "What kinds of things does ABC Seafood have? I want to eat delicious things." is transmitted to the information processing device 1 as input information.
[0229] The reception unit 30 in the processing unit 12 of the information processing device 1 receives the input information transmitted from the terminal device 2A (step S31). The first acquisition unit 40 in the acquisition unit 31 of the processing unit 12 inputs the information including the input information received in step S31 as an intention analysis request to the generation AI through the generation AI-API (step S32).
[0230] For example, in step S32, the first acquisition unit 40 inputs, through the generation AI-API, information including intention definition information and user input information for extracting the intention type and intention content from the input information to the generation AI. Then, in step S33, the acquisition unit 31 acquires, through the generation AI-API, intention information including information indicating the intention type and information indicating the intention content from the generation AI as output information.
[0231] FIG. 18 is a diagram showing another example of input information that is input to the generation AI by the acquisition unit 31 in the processing unit 12 of the information processing apparatus 1 according to the embodiment. The input information 60 shown in FIG. 18 includes date and time information 61, user input information 62, function instruction information 63, function information 64a, 64b, 64c, and conversation histories 65a, 65b.
[0232] In FIG. 18, the user input information 62 is information of the character string "What kinds of ABC seafood are there? I want to eat something delicious.", which is the input information received by the reception unit 30 in step S31.
[0233] Also, the conversation history 65a is a user conversation history. In the example shown in FIG. 18, it is information of the character string "Search for a seafood restaurant that can be reserved from 18:00 on October 16, 2023". The first generation unit 43 generates it as a user conversation history based on the search information 71 included in the dialog data 70 shown in FIG. 11.
[0234] Thereby, compared with the case where the second generation unit 44 uses the information of the character string "A friend is coming to play, so I'm thinking about going out for dinner tonight. Is there any delicious seafood restaurant?" as the user conversation history, the second generation unit 44 can appropriately add information indicating the date and time while reducing the number of characters.
[0235] Also, the conversation history 65b is a generated AI conversation history. In the example shown in FIG. 18, it is information of the character string "3 items found.\nName ABC Seafood, ID r0028374981\nName DEF Seafood, ID Ir0083720123\nName HIJ Seafood ID r0072630123". The first generation unit 43 generates it as a generated AI conversation history based on the search result 75 included in the dialog data 70 shown in FIG. 11.
[0236] As a result, the second generation unit 44 uses the search result corresponding to the intention information as the generated AI conversation history instead of the intention information generated by the generated AI. Therefore, compared with the case where the intention information is used as the generated AI conversation history, the content can be made appropriate as the conversation history with the user UA. Also, since the second generation unit 44 does not include in the generated AI conversation history the description text of the restaurant included in the response information to the user UA, the amount of information in the generated AI conversation history can be reduced compared with the case where the response information to the user UA is used as the generated AI conversation history.
[0237] The second acquisition unit 41 of the acquisition unit 31 acquires the intention information for the intention analysis request from the generated AI through the output information generated AI-API (step S33). The intention information acquired in step S33 includes information indicating the intention type and information indicating the intention content.
[0238] The information indicating the intention type included in the intention information output from the generated AI is information indicating a function related to the question, and the information indicating the intention content includes information of the restaurant ID which is information for specifying a restaurant. The second acquisition unit 41 generates a search query for searching for the detailed information of the restaurant corresponding to the restaurant ID including the restaurant ID as the search condition information, and transmits the generated search query to the search server 4 through the search API (step S34).
[0239] Then, the second acquisition unit 41 acquires the search result corresponding to the search query from the search server 4 through the search API (step S35). The search result includes, for example, the detailed information of the restaurant corresponding to the restaurant ID indicated by the search query.
[0240] Next, based on the dialog data, the user input information received by the reception unit 30 in step S31, and the search result obtained in step S35, the second acquisition unit 41 generates input information for input to the generation AI, and inputs the generated input information to the generation AI through the generation AI-API (step S36).
[0241] FIG. 19 is a diagram showing still another example of the input information that is input to the generation AI by the acquisition unit 31 in the processing unit 12 of the information processing apparatus 1 according to the embodiment. In the input information 80 shown in FIG. 19, the information of the character string "The following is information about a restaurant called ABC Seafood.\n\nYou can enjoy delicious seafood dishes directly delivered from the fishing port!" is information generated based on the dialog data.
[0242] Also, in FIG. 19, the information of the character string "ABC Seafood is a seafood restaurant that offers dishes using fresh seafood. ···" is the search result obtained in step S35. Also, in FIG. 19, the information of the character string "What does ABC Seafood have? I want to eat something delicious." is the user input information received by the reception unit 30 in step S31.
[0243] The second acquisition unit 41 acquires output information corresponding to the input information from the generation AI through the generation AI-API (step S37). The second generation unit 44 of the generation unit 32 updates the dialog data 70 based on the input information received by the reception unit 30 in step S31, the search result obtained by the second acquisition unit 41 in step S35, and the output information of the generation AI obtained by the second acquisition unit 41 in step S37 (step S38).
[0244] FIG. 12 is a diagram showing an example of a conversation history added to the dialog data 70 by the generation unit 32 in the processing unit 12 of the information processing apparatus 1 according to the embodiment. In the conversation history 76 shown in FIG. 12, information of the character string " "intent":"question"" is used as information indicating the intent type, information of the character string " "restaurantId":"r0028374981"" is used as information of the restaurant ID, information of the character string " "restaurantName":"ABC Seafood"" is used as information of the restaurant name, and information of the character string "ABC Seafood, what do they have? I want to eat something delicious." is included as the user conversation history. Such user conversation history is the input information received by the reception unit 30 in step S31.
[0245] In the conversation history 76 shown in FIG. 12, information of the character string "ABC Seafood offers wonderful lobster dishes. The lobster is sautéed with butter and garlic, and its mellow flavor spreads all over the mouth. Also, the fresh tuna steak is a dish that we would like you to try." is included as the AI conversation history. Such AI conversation history is the output information of the generated AI acquired by the second acquisition unit 41 in step S37.
[0246] Subsequently, the first generation unit 43 in the generation unit 32 of the processing unit 12 generates response information based on the output information of the generated AI acquired by the second acquisition unit 41 in step S37, and the display control unit 45 in the providing unit 33 of the processing unit 12 causes the response information generated by the first generation unit 43 to be displayed on the terminal device 2A of the user UA (step S39).
[0247] The terminal device 2A receives the response information transmitted by the display control unit 45 and displays the received response information. In the example shown in FIG. 8(a), information of the character string "ABC Seafood offers wonderful lobster dishes. The lobster is sautéed with butter and garlic, and its mellow flavor spreads all over the mouth. Also, the fresh tuna steak is a dish that we would like you to try." is displayed in the chat room displayed on the terminal device 2A as the response information.
[0248] As shown in FIG. 8(b), when the user UA operates the terminal device 2A to input a character string into the chat room, as shown in FIG. 6, the information of the character string input by the user UA is transmitted from the terminal device 2A to the information processing apparatus 1 as input information. In the example shown in FIG. 8(b), the information of the character string "Can you reserve ABC seafood? For 2 people" is transmitted to the information processing apparatus 1 as input information.
[0249] The reception unit 30 in the processing unit 12 receives the input information transmitted from the terminal device 2A (step S40). The first acquisition unit 40 in the acquisition unit 31 of the processing unit 12 inputs the information including the input information received in step S31 into the generation AI as an intention analysis request through the generation AI-API (step S41).
[0250] For example, in step S40, the first acquisition unit 40 inputs the information including the intention definition information and the user input information for extracting the intention type and the intention content from the input information into the generation AI through the generation AI-API. Then, in step S41, the acquisition unit 31 acquires the intention information including the information indicating the intention type and the information indicating the intention content from the generation AI as the output information through the generation AI-API.
[0251] FIG. 20 is a diagram showing another example of the input information that is input into the generation AI by the acquisition unit 31 in the processing unit 12 of the information processing apparatus 1 according to the embodiment. In the input information 60 shown in FIG. 20, date and time information 61, user input information 62, function instruction information 63, function information 64a, 64b, 64c, and conversation history 65a, 65b, 65c, 65d are included.
[0252] The conversation history 65c is the user input information 62 shown in FIG. 18, and such user input information 62 is used as the user conversation history. The conversation history 65d is the output information acquired by the second acquisition unit 41 in step S37, and such output information is used as the AI conversation history.
[0253] The second acquisition unit 41 acquires, from the generation AI through the generation AI-API, intention information that is output information corresponding to the input information input to the generation AI in step S41 (step S42). When the user input information received by the reception unit 30 in step S40 is the user input information 62 shown in FIG. 20, the generation AI outputs function specification information including information specifying a function related to reservation and information specifying an argument of the function related to reservation as the intention information.
[0254] The information indicating the intention content includes, for example, information of the character string ""id":"r000093218"" as the restaurant ID, information of the character string ""2023 / 10 / 16"" as the use date, information of the character string ""18:00"" as the use time, and information of the character string ""2"" as the number of users, as information of the arguments of the function related to reservation. These argument information is reservation condition information that is information indicating reservation conditions.
[0255] Since the information indicating the intention type indicated by the intention information acquired by the first acquisition unit 40 in step S42 is information specifying a function related to reservation, the second acquisition unit 41 generates a reservation availability query including information indicating reservation confirmation conditions, and transmits the generated reservation availability query to the reservation server 5 through the reservation API (step S43).
[0256] The reservation availability query includes, for example, information of the character string ""id":"r000093218"" as the restaurant ID, information of the character string ""2023 / 10 / 16"" as the use date, information of the character string ""18:00"" as the use time, and information of the character string ""2"" as the number of users.
[0257] Subsequently, the second acquisition unit 41 acquires, from the reservation server 5 through the reservation API, reservation availability information corresponding to the reservation availability query (step S44). The reservation availability information is information indicating whether the reservation of the restaurant specified by the reservation availability query is possible under the conditions specified by the reservation availability query.
[0258] Next, the display control unit 45 of the providing unit 33 transmits, as response information, information indicating whether a reservation for the restaurant that is the subject of the reservation availability inquiry from the user U in the user input information in step S11 is possible or not to the terminal device 2A based on the reservation availability information acquired in step S15, and causes the terminal device 2A to display the response information (step S45).
[0259] The terminal device 2A receives the response information transmitted by the display control unit 45 and displays the received response information. In the example shown in FIG. 8(c), information such as the character string "Reserve ABC Seafood for 2 people from 18:00 on October 16, 2023. Is that okay?" is displayed in the chat room displayed on the terminal device 2A as the response information.
[0260] Also, as shown in FIG. 8(c), the display control unit 45 causes the terminal device 2A to display two buttons for inquiring the user UA about the availability of confirming the reservation. The two buttons include a third button containing information of the character string "Yes" and a fourth button containing information of the character string "No".
[0261] When the user UA operates the terminal device 2A and selects the third button by tapping or the like, the terminal device 2A acquires, by the function of the communication application, position information that is data indicating the current location from the built-in position sensor, and transmits, as fourth button selection information including the acquired position information as the position information of the user UA, to the information processing device 1.
[0262] The third acquisition unit 42 of the acquisition unit 31 acquires the button information transmitted from the terminal device 2, and the second acquisition unit 41 of the acquisition unit 31 transmits information indicating the confirmation of the reservation to the reservation server 5 through the reservation API. As a result, the reservation for ABC Seafood is completed. The display control unit 45 causes the terminal device 2A to display, as information indicating that the reservation has been confirmed, information such as the character string "Reserved ABC Seafood for 2 people from 18:00 on October 16, 2023."
[0263] When the reservation for ABC Seafood is completed, the second generation unit 44 of the generation unit 32 adds a reservation history indicating that the reservation for ABC Seafood has been completed to the dialog data 70 (step S46). The reservation history is part of the conversation history.
[0264] FIG. 13 is a diagram showing an example of a reservation history added to the dialog data 70 by the generation unit 32 in the processing unit 12 of the information processing apparatus 1 according to the embodiment. In the conversation history 77 shown in FIG. 13, the information of the character string ""intent": "reserve"" is used as information indicating the intent type, the information of the character string ""restaurantId": "r0028374981"" is used as information of the restaurant ID, the information of the character string ""restaurantName": "ABC Seafood"" is used as information of the restaurant name, the information of the character string ""date": "20231016"" is used as information of the usage date, the information of the character string ""time": "18:00"" is used as information of the usage time, and the information of the character string ""person: 2"" is used as information of the number of users.
[0265] As described above, since the response information to the user U other than the response information to the store's question is generated by the generation unit 32 of the information processing apparatus 1 rather than the generation AI, for example, the information processing apparatus 1 does not include a non-existent store in the search results or answer that it has made a reservation when it has not. Therefore, the information processing apparatus 1 can operate to prevent hallucinations, which are problems specific to generation AI.
[0266] [5. Processing Procedure] Next, the information processing procedure by the processing unit 12 of the information processing apparatus 1 according to the embodiment will be described. FIG. 21 is a flowchart showing an example of information processing by the processing unit 12 of the information processing apparatus 1 according to the embodiment.
[0267] As shown in FIG. 21, the processing unit 12 of the information processing apparatus 1 determines whether it has received user input information, which is input information transmitted from the terminal device 2 (step S50). When the processing unit 12 determines that it has received the user input information (step S50: Yes), it inputs the user input information to the generation AI (step S51), and acquires output information corresponding to the user input information from the generation AI (step S52).
[0268] The processing unit 12 determines whether the intention type indicated by the output information acquired in step S52 is a search (step S53). When the processing unit 12 determines that the intention type is a search (step S53: Yes), it performs a search process (step S54). The search process in step S54 is the process of steps S70 to S72 shown in FIG. 22, which will be described in detail later.
[0269] When the processing unit 12 determines that the intention type is not a search (step S53: No), it determines whether the intention type is a question (step S55). When the processing unit 12 determines that the intention type is a question (step S55: Yes), it performs a question process (step S56). The search process in step S56 is the process of steps S80 to S84 shown in FIG. 23, which will be described in detail later.
[0270] When the processing unit 12 determines that the intention type is not a question (step S55: No), it determines that the intention type is a reservation and performs a reservation process (step S57). The reservation process in step S57 is the process of steps S90 to S92 shown in FIG. 24, which will be described in detail later.
[0271] When the process of step S54 is completed, when the process of step S56 is completed, or when the process of step S57 is completed, the processing unit 12 provides the response information to the user U (step S58). Then, the processing unit 12 generates or updates the dialog data 70 based on the processing result of step S54, the processing result of step S56, or the processing result of step S58 (step S59).
[0272] When the process in step S60 ends, or when it is determined that no user input information has been received (step S50: No), the processing unit 12 determines whether the operation end timing has arrived (step S60). For example, the processing unit 12 determines that the operation end timing has arrived when the power of the information processing apparatus 1 is turned off.
[0273] When the processing unit 12 determines that the operation end timing has not arrived (step S60: No), the process proceeds to step S50. When the processing unit 12 determines that the operation end timing has arrived (step S60: Yes), the process shown in FIG. 21 ends.
[0274] FIG. 22 is a flowchart showing an example of a search process by the processing unit 12 of the information processing apparatus 1 according to the embodiment. As shown in FIG. 22, the processing unit 12 generates a search query based on the output information of the generation AI, and transmits the generated search query to the search server 4 (step S70).
[0275] Subsequently, the processing unit 12 acquires a search result corresponding to the search query from the search server 4 (step S71), generates answer information based on the acquired search result (step S72), and ends the process shown in FIG. 22.
[0276] FIG. 23 is a flowchart showing an example of a question process by the processing unit 12 of the information processing apparatus 1 according to the embodiment. As shown in FIG. 23, the processing unit 12 generates a search query based on the output information of the generation AI, and transmits the generated search query to the search server 4 (step S80).
[0277] Subsequently, the processing unit 12 acquires a search result corresponding to the search query from the search server 4 (step S81). The processing unit 12 inputs information including the search result acquired in step S81 and the user input information received in step S50 into the generation AI (step S82), and acquires output information from the generation AI (step S83). Then, the processing unit 12 generates answer information based on the output information acquired in step S83 (step S84), and ends the process shown in FIG. 23.
[0278] Figure 24 is a flowchart showing an example of reservation processing by the processing unit 12 of the information processing apparatus 1 according to the embodiment. As shown in Figure 24, the processing unit 12 generates a query based on the output information of the generation AI, and transmits the generated query to the reservation server 5 (step S90).
[0279] Subsequently, the processing unit 12 acquires a processing result corresponding to the query from the reservation server 5 (step S91), generates response information based on the acquired processing result (step S92), and ends the processing shown in Figure 24.
[0280] [[6. Modification Example]] In the above example, a text generation AI was described as an example of the generation AI, but the generation AI may be a multimodal generation AI.
[0281] The multimodal generation AI is, for example, a generation AI that generates audio from text, generates text from audio, generates audio from audio, or generates text from text, and is, for example, GPT-4V or the like, but is not limited to such examples.
[0282] Also, the user U can, for example, speak to the terminal device 2 and input information of such speech as input information to the terminal device 2, and the information of the speech input by the user U is transmitted from the terminal device 2 to the information processing apparatus 1 as input information.
[0283] When the information of the voice that is the speech of the user U is transmitted from the terminal device 2 as input information, the information processing apparatus 1 can also convert the voice information into text. Note that the terminal device 2 can also convert the voice information that is the speech of the user U into text and transmit the converted text from the terminal device 2 to the information processing apparatus 1 as input information.
[0284] [[7. Hardware Configuration]] The information processing apparatus 1 according to the above-described embodiment is realized by a computer 200 configured as shown in FIG. 25, for example. FIG. 25 is a hardware configuration diagram showing an example of a computer 200 that realizes the functions of the information processing apparatus 1 according to the embodiment. The computer 200 includes a CPU 201, a RAM 202, a ROM (Read Only Memory) 203, an HDD (Hard Disk Drive) 204, a communication interface (I / F) 205, an input / output interface (I / F) 206, and a media interface (I / F) 207.
[0285] The CPU 201 operates based on programs stored in the ROM 203 or the HDD 204 and controls each part. The ROM 203 stores a boot program executed by the CPU 201 when the computer 200 starts up, programs dependent on the hardware of the computer 200, and the like.
[0286] The HDD 204 stores programs executed by the CPU 201 and data used by such programs. The communication interface 205 receives data from other devices via the network N (see FIG. 5) and sends it to the CPU 201, and sends data generated by the CPU 201 to other devices via the network N.
[0287] The CPU 201 controls output devices such as a display and a printer, and input devices such as a keyboard or a mouse via the input / output interface 206. The CPU 201 acquires data from the input devices via the input / output interface 206. Further, the CPU 201 outputs data generated via the input / output interface 206 to the output devices.
[0288] The media interface 207 reads a program or data stored in the recording medium 208 and provides it to the CPU 201 via the RAM 202. The CPU 201 loads such a program from the recording medium 208 onto the RAM 202 via the media interface 207 and executes the loaded program. The recording medium 208 is, for example, an optical recording medium such as a DVD (Digital Versatile Disc) or a PD (Phase change rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.
[0289] For example, when the computer 200 functions as the information processing apparatus 1 according to the embodiment, the CPU 201 of the computer 200 realizes the functions of the processing unit 12 by executing the program loaded on the RAM 202. Further, the HDD 204 stores the data in the storage unit 11. The CPU 201 of the computer 200 reads and executes these programs from the recording medium 208, but as another example, these programs may be acquired from other devices via the network N.
[0290] [8. Others] Also, among the various processes described in the above embodiment, all or part of the processes described as being automatically performed can be manually performed, or all or part of the processes described as being manually performed can be automatically performed by a known method. In addition, the processing procedures, specific names, and information including various data and parameters shown in the above documents and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each figure is not limited to the illustrated information.
[0291] In addition, each component of each illustrated device is functionally conceptual and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution and integration of each device is not limited to that shown in the figure, and all or part of it can be functionally or physically distributed and integrated in any unit according to various loads, usage situations, etc.
[0292] For example, the information processing apparatus 1 described above may be implemented by a terminal device and a server computer, or may be implemented by a plurality of server computers. Also, depending on the function, the configuration can be flexibly changed, such as by calling an external platform or the like through an API or network computing.
[0293] In addition, the above-described embodiments and modifications can be appropriately combined as long as the processing contents do not conflict.
[0294] 〔9. Effects〕 As described above, the information processing apparatus 1 according to the embodiment includes a reception unit 30, a first acquisition unit 40, a second acquisition unit 41, a first generation unit 43, a provision unit 33, and a second generation unit 44. The reception unit 30 receives input information from the user U for a specific-purpose service in a conversation format using a generation AI that generates output information according to the input information. The first acquisition unit 40 inputs information including the input information received by the reception unit 30 to the generation AI, and acquires output information corresponding to the input information from the generation AI. The second acquisition unit 41 acquires information corresponding to the output information acquired by the first acquisition unit 40. The first generation unit 43 generates response information for the input information based on the information corresponding to the output information acquired by the second acquisition unit 41. The provision unit 33 provides the response information generated by the first generation unit 43 to the user U. The second generation unit 44 generates a user conversation history that is input to the generation AI as a conversation history between the user U and the generation AI based on the output information acquired by the first acquisition unit 40. Thereby, the information processing apparatus 1 can suppress the amount of information in the conversation history input to the generation AI in a service that exchanges messages with the user U in a conversation format.
[0295] Also, the second generation unit 44 generates a generated AI conversation history that is input to the generated AI as the conversation history of the generated AI based on information corresponding to the output information acquired by the second acquisition unit 41. Thereby, the information processing apparatus 1 can suppress the amount of information of the conversation history input to the generated AI.
[0296] Also, the first acquisition unit 40 inputs information including intention definition information for extracting the intention type and intention content from the input information 60 and the input information 60 to the generated AI, and acquires, as output information, intention information including information indicating the intention type and information indicating the intention content from the generated AI. The first generation unit 43 generates response information based on information corresponding to the information indicating the intention type and the information indicating the intention content, and the second generation unit 44 generates a user conversation history based on the information indicating the intention type and the information indicating the intention content. Thereby, the information processing apparatus 1 can appropriately provide a service for exchanging messages in a conversation format with the user U.
[0297] Also, the first acquisition unit 40 inputs information including definition information for defining each of a plurality of functions as intention definition information to the generated AI, and acquires, as intention information, function specification information including information for specifying a function to be used by the generated AI for generating response information among the plurality of functions and information indicating arguments of the function from the generated AI. Thereby, the information processing apparatus 1 can appropriately provide a service for exchanging messages in a conversation format with the user U.
[0298] Also, the plurality of functions include a function related to a search API, a function related to a question, and a function related to a reservation API. Thereby, the information processing apparatus 1 can appropriately provide a service for exchanging messages in a conversation format with the user U.
[0299] In addition, the function related to the search API is a function that uses the search API, the function related to the question is a function that uses both the search API and the generative AI, and the function related to the reservation API is a function that uses the reservation API. Thereby, the information processing apparatus 1 can appropriately provide a service for exchanging messages in a conversation format with the user U.
[0300] In addition, the service for a specific use is a restaurant reservation service. Thereby, the information processing apparatus 1 can appropriately provide a service for exchanging messages in a conversation format with the user U.
[0301] In addition, the second generation unit 44 generates the conversation history as structured data. Thereby, the information processing apparatus 1 can appropriately provide a service for exchanging messages in a conversation format with the user U.
[0302] In addition, the first acquisition unit 40 extracts a part of the conversation history, inputs information including the extracted information and the input information 60 received by the reception unit 30 to the generative AI, and acquires output information corresponding to the input information from the generative AI. Thereby, the information processing apparatus 1 can appropriately provide a service for exchanging messages in a conversation format with the user U.
[0303] As described above, the embodiments of the present application have been described in detail with reference to the drawings. However, this is an example, and the present invention can be implemented in other forms in which various modifications and improvements are made based on the knowledge of those skilled in the art, including the aspects described in the column of the disclosure of the invention.
[0304] In addition, the "section, module, unit" described above can be read as "means", "circuit", or the like. For example, the acquisition unit can be read as an acquisition means or an acquisition circuit.
Description of Reference Numerals
[0305] 1 Information processing apparatus 2, 2A Terminal device 3 AI Generation Server 4 Search Server 5 Reservation Server 10 Communication Unit 11 Memory Unit 12 Processing Unit 20 User Information Memory Unit 21 Dialog Data Memory Unit 30 Reception Unit 31 Acquisition Unit 32 Generation Unit 33 Provision Unit 40 First Acquisition Unit 41 Second Acquisition Unit 42 Third Acquisition Unit 43 First Generation Unit 44 Second Generation Unit 45 Display Control Unit 100 Information Processing System N Network
Claims
1. A reception unit that receives input information of a user for a service for a specific use in a conversation format using a generation AI that generates output information according to the input information; A first acquisition unit that inputs information including the input information received by the reception unit into the generation AI and acquires output information corresponding to the input information from the generation AI; A second acquisition unit that acquires information corresponding to the output information acquired by the first acquisition unit; A first generation unit that generates response information for the input information based on the information corresponding to the output information acquired by the second acquisition unit; A provision unit that provides the response information generated by the first generation unit to the user; A second generation unit that generates a user conversation history that is input into the generation AI as a conversation history between the user and the generation AI based on the output information acquired by the first acquisition unit, and an information processing apparatus comprising the same. characterized by.
2. The second generation unit Generates a generation AI conversation history that is input into the generation AI as a conversation history of the generation AI based on the information corresponding to the output information acquired by the second acquisition unit. The information processing apparatus according to claim 1, characterized in that.
3. The first acquisition unit Inputs information including intention definition information for extracting an intention type and intention content from the input information and the input information into the generation AI, and acquires intention information including information indicating the intention type and information indicating the intention content from the generation AI as the output information. The first generation unit Generates the response information based on information corresponding to the information indicating the intention type and the information indicating the intention content. The second generation unit Generates the user conversation history based on the information indicating the intention type and the information indicating the intention content. The information processing apparatus according to claim 1 or 2, characterized in that.
4. The first acquisition unit Inputs information including definition information for defining each of a plurality of functions as the intention definition information into the generation AI, and acquires function specification information including information for specifying a function used for generating the response information among the plurality of functions and information indicating an argument of the function from the generation AI as the intention information. The information processing apparatus according to claim 3, characterized in that.
5. The plurality of functions Include a function related to search, a function related to questions, and a function related to reservation. The information processing apparatus according to claim 4, characterized in that.
6. The function related to search A function using a search API, The function regarding the question is, A function using the search API and the generation AI, The function regarding the reservation is, A function using a reservation API The information processing apparatus according to claim 5, characterized in that.
7. The service for a specific use is, A restaurant reservation service The information processing apparatus according to claim 1 or 2, characterized in that.
8. The second generation unit, Generates the conversation history as structured data The information processing apparatus according to claim 1 or 2, characterized in that.
9. The first acquisition unit, Extracts a part of the conversation history, inputs information including the extracted information and the input information received by the reception unit into the generation AI, and acquires output information corresponding to the input information from the generation AI The information processing apparatus according to claim 1 or 2, characterized in that.
10. An information processing method executed by a computer, comprising: A reception step of receiving input information of a user for a service for a specific use in a conversation format using a generation AI that generates output information according to the input information; A first acquisition step of inputting information including the input information received in the reception step into the generation AI and acquiring output information corresponding to the input information from the generation AI; A second acquisition step of acquiring information corresponding to the output information acquired in the first acquisition step; A first generation step of generating response information for the input information based on the information corresponding to the output information acquired in the second acquisition step; A provision step of providing the response information generated in the first generation step to the user; A second generation step of generating a user conversation history that is input into the generation AI as a conversation history with the user based on the output information acquired in the first acquisition step, An information processing method characterized by that.
11. A reception procedure for receiving input information of a user for a service for a specific use in a conversation format using a generation AI that generates output information according to the input information; A first acquisition procedure of inputting information including the input information received in the reception procedure into the generation AI and acquiring output information corresponding to the input information from the generation AI; A second acquisition procedure of acquiring information corresponding to the output information acquired in the first acquisition procedure; A first generation procedure for generating response information for the input information based on information corresponding to the output information obtained by the second acquisition procedure; A provision procedure for providing the response information generated by the first generation procedure to the user; A second generation procedure for generating a user conversation history that is input to the generation AI as a conversation history with the user based on the output information obtained by the first acquisition procedure, and causing a computer to execute An information processing program characterized by the above.
Citation Information
Patent Citations
Information acquisition method, information acquisition system, and information acquisition program
JP2016081513A
Text generation device and text generation method
JP7325152B1
Information processing device, information processing method, and program
JP7370118B1
Persona chatbot control method and system
JP2022180282A
Cited By
Automated voice response system, automated voice response device, and automated voice response program
JP7873527B1