Program, information processing device, and information processing method
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- KK TOSHIBA
- Filing Date
- 2024-01-19
- Publication Date
- 2026-08-03
Smart Images

Figure 0007899237000001 
Figure 0007899237000002 
Figure 0007899237000003
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to a program, an information processing apparatus, and an information processing method.
Background Art
[0002] Dialogue systems that receive a user's input sentence, search for information related to the input sentence, and respond based on the search results are utilized in many scenarios. When a large number of related information is retrieved due to deficiencies or ambiguities in the user's input sentence, the dialogue system makes a follow-up query to prompt additional input and receives an additional input sentence from the user. Through such multiple exchanges, the dialogue system can perform searches and retrieve desired information even for complex and ambiguous requests.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] An object of the present invention is to provide a program, an information processing apparatus, and an information processing method capable of more efficiently searching for information.
Means for Solving the Problems
[0005] The program of the embodiment causes the computer to execute a search step of searching for one or more texts that match the search query from a group of texts to be searched; a candidate generation step of generating one or more candidate actions for generating a response to the search query using the search query and the searched texts; a determination step of determining for each candidate whether there is any excess or deficiency in the information contained in the first response generated according to the candidate; a decision step of determining one of the one or more candidates as an action for generating a response based on the determination result from the determination step; and a response generation step of generating a second response according to the determined action. [Brief explanation of the drawing]
[0006] [Figure 1] Block diagram of an information processing device according to an embodiment. [Figure 2] A flowchart of the response generation process in the embodiment. [Figure 3] Block diagram of the information processing device in modified example 1. [Figure 4] Flowchart of the response generation process in modified example 1. [Figure 5] Block diagram of the information processing device in modified example 2. [Figure 6] Flowchart of the response generation process in modified example 2. [Figure 7] Hardware configuration diagram of the information processing device according to the embodiment. [Modes for carrying out the invention]
[0007] Preferred embodiments of the program, information processing apparatus, and information processing method according to this invention will be described in detail below with reference to the attached drawings.
[0008] As described above, a dialogue system has been proposed that outputs a response to user input. For example, suppose the user's search query is ambiguous, and the dialogue system searches for a large amount of related information. In such a situation, if the user is presented with a large amount of information as is, the user would have to check each piece of information one by one, which would be time-consuming and troublesome. In a dialogue system, it is desirable that the user can easily obtain the desired information even in such a situation.
[0009] As a technique for performing searches while taking ambiguity into account, a method has been proposed that extracts keywords from the search query entered by the user and determines the ambiguity of the search query based on the dependency information between the keywords and their frequency of appearance in the search results.
[0010] However, an ambiguous search query does not necessarily correspond to the search results containing relevant information. For example, even if a search query is ambiguous and multiple search results are obtained, it may be possible to filter out unnecessary information during the response generation stage and present only the information the user is looking for. In such cases, it is better to provide a response rather than try to resolve the ambiguity, as asking the user for clarification would create unnecessary work for the user.
[0011] Because the aforementioned ambiguity determination technology does not perform such a judgment, users were sometimes unable to easily find the information they wanted.
[0012] The information processing device in the following embodiment generates candidate actions (hereinafter referred to as "action candidates") from a search query and search results, determines whether it can appropriately (without excess or deficiency) provide the information requested by the user for each action candidate, and generates a response according to one action candidate selected based on the determination result. This allows the user to search for desired information more efficiently.
[0013] FIG. 1 is a block diagram showing an example of the configuration of the information processing apparatus 100 according to the present embodiment. As shown in FIG. 1, the information processing apparatus 100 includes a storage unit 121, a display unit 122, a search unit 101, a candidate generation unit 102, a determination unit 103, a decision unit 104, a response generation unit 105, and an output control unit 106.
[0014] The storage unit 121 stores various types of information used in the information processing apparatus 100. For example, the storage unit 121 stores data (text group) to be searched.
[0015] Note that the storage unit 121 can be configured by any generally used storage medium such as a flash memory, a memory card, a RAM (Random Access Memory), a HDD (Hard Disk Drive), and an optical disk.
[0016] The display unit 122 is a configuration for displaying various types of information used in the information processing apparatus 100, and is realized by a display device such as a liquid crystal display.
[0017] The search unit 101 searches for one or more texts that match the search query from the text group to be searched. The search query is input by the user using an input device such as a keyboard. The search unit 101 receives the input search query, searches the text group to be searched, and outputs the search result to the candidate generation unit 102.
[0018] The candidate generation unit 102 generates one or more operation candidates, which are candidates for operations for generating a response to the search query, using the search query and one or more texts that are the search results by the search unit 101. The candidate generation unit 102 outputs the generated operation candidates to the determination unit 103.
[0019] The determination unit 103 determines whether there is an excess or deficiency (excess or deficiency) in the information included in the response R1 (first response) generated according to the operation candidate for each of the generated operation candidates. The determination unit 103 outputs the determination result to the decision unit 104.
[0020] Based on the determination result by the determination unit 103, the decision-making unit 104 determines, among one or more operation candidates, one as the operation for generating the response to be output by the information processing apparatus 100. The decision-making unit 104 outputs the determined operation to the response generation unit 105.
[0021] The response generation unit 105 generates a response R2 (second response) according to the determined operation. The response R2 corresponds to the response finally presented to the user according to the search query and the search result.
[0022] The output control unit 106 controls the output of various information used in the information processing apparatus 100. For example, the output control unit 106 outputs the response R2 generated by the response generation unit 105. The output method of the response R2 may be any method, and for example, the following methods can be applied. · Display the text information representing the response R2 on the display unit 122 or the display device of the device used by the user. · Output the voice representing the response R2 to the voice output device such as the speaker provided in the information processing apparatus 100 or the device used by the user. The voice is generated by voice synthesis or the like for the text information representing the response R2.
[0023] At least a portion of each of the above-mentioned parts (search unit 101, candidate generation unit 102, determination unit 103, decision unit 104, response generation unit 105, and output control unit 106) may be implemented by one or more processing units. Each of the above-mentioned parts may be implemented by, for example, one or more processors. For example, each of the above-mentioned parts may be implemented by having a processor such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit) execute a program, i.e., by software. Each of the above-mentioned parts may be implemented by a processor such as a dedicated IC (Integrated Circuit), i.e., by hardware. Each of the above-mentioned parts may be implemented by using both software and hardware. When multiple processors are used, each processor may implement one of the above-mentioned parts, or two or more of the above-mentioned parts.
[0024] Furthermore, the information processing device 100 may be composed of one physical device or multiple physical devices. For example, the information processing device 100 may be built on a cloud environment. Also, each part of the information processing device 100 may be distributed and provided on multiple devices.
[0025] Next, the response generation process by the information processing device 100 of this embodiment will be described. Figure 2 is a flowchart showing an example of the response generation process in this embodiment.
[0026] The search unit 101 receives the input text entered by the user as a search query (step S101). The input text (search query) may be text entered using a keyboard, or it may be text transcribed from speech input from a voice input device such as a microphone using speech recognition.
[0027] The search unit 101 extracts features from the input search query (step S102). Features can be any information that represents the characteristics of the search query. For example, features may be one or more keywords extracted from the search query, or they may be vectors that represent the meaning of the search query (such as embedding vectors). In the case of keywords, the search unit 101 extracts nouns included in the search query and uses the extracted nouns as keywords. In the case of vectors, the search unit 101 converts the search query into a vector using a deep learning model such as BERT (Bidirectional Encoder Representations from Transformers) and Transformer.
[0028] The search unit 101 uses the extracted features to search for one or more texts related to the search query from the data (group of texts) to be searched (step S103). For example, if a keyword is used as a feature, the search unit 101 searches for texts containing that keyword. For example, if a vector is used as a feature, the search unit 101 searches for texts that have a vector whose similarity to the vector is above a threshold. The vectors for each text may be generated in advance and stored, for example, in the storage unit 121.
[0029] The candidate generation unit 102 receives the text and search query obtained as search results from the search unit 101, and then generates candidate actions (action candidates) that the information processing device 100 should perform (step S104). The candidate generation unit 102 generates action candidates by, for example, the following generation methods M1 and M2. (M1) Select one or more action candidates from a predetermined list of candidates, corresponding to the search query and search results. (M2) Dynamically generate action candidates from the search query and search results.
[0030] First, let's explain a specific example of (M1). The predetermined action candidates are candidates for actions that can be used universally for various search queries and search results. These action candidates are stored in advance, for example, in the memory unit 121. Examples of predetermined action candidates are listed below. (E1-1) The operation of "generating a response sentence from all search results" (E1-2) The operation of "generating a response by adding a fixed string to the search query," such as "What do you want to know about **?" and "Is ** correct?" (E1-3) When no search results are found, the system generates an apologetic response such as "We're sorry, we couldn't find any information."
[0031] For example, the candidate generation unit 102 selects the action candidate (E1-1) if the number of texts obtained as search results is below a threshold. The candidate generation unit 102 also selects the action candidate (E1-2) if the number of texts obtained as search results is greater than the threshold. (E1-2) corresponds to an action that prompts the user to enter additional information. The "**" part may be set to keywords extracted from the search query. Furthermore, the candidate generation unit 102 generates the action candidate (E1-3) if no texts are obtained as search results (the number of texts is 0).
[0032] Next, we will explain a specific example of (M2). Dynamically generated action candidates are candidates for actions that allow for more flexible responses depending on the search situation.
[0033] For example, suppose a search query like "Why does my PC screen remain black when I turn it on?" yields numerous search results. Furthermore, let's assume that these numerous results contain roughly equal amounts of information related to the PC (personal computer) itself, the display, and the cable connecting the PC and the display.
[0034] In such cases, the candidate generation unit 102 generates an action candidate that "generates a response statement from category information (PC main unit, display, cable)." The response statement generated using this action candidate will be something like, "A malfunction of the PC main unit, a malfunction of the display, or a malfunction of the cable is possible..."
[0035] Furthermore, for the same search query as above, "Why does the screen remain black when I turn on my PC?", there were 30 search results. Of these, 25 were related to both the PC itself and the display, while the remaining 5 were related to cables, graphics cards, and scene settings.
[0036] In such cases, the candidate generation unit 102 generates an action candidate that "generates a response statement from category information (PC main unit, display, other)." The response statement generated using this action candidate will be something like, "A malfunction of the PC main unit, a malfunction of the display, or other malfunction is possible..."
[0037] The above example corresponds to an example of dynamically generating action candidates with different category information set according to the search results. The candidate generation unit 102 may perform such dynamic generation of action candidates using, for example, rules created in advance.
[0038] For example, the following rules might be used when setting category information. If the search results can be clustered roughly evenly, the title of each cluster is extracted as category information, and the extracted category information is set within the "**" of the action template "Generate response sentence from category information (**)" to generate action candidates.
[0039] For clustering search results and determining titles, the following methods can be applied, for example: • When a text set containing multiple sections and chapters is being searched, it will be clustered by the chapter or section containing the keyword in the search query, and the title of the chapter or section will be used as the title of each cluster. The search results are clustered based on the keywords that appear in each cluster, and the keyword with a large difference in frequency compared to other clusters is used as the title of that cluster. Each search result is converted into a vector using a deep learning model, clustered based on the similarity between the vectors, and a title is generated from the information assigned to each cluster using another deep learning model. The information assigned to a cluster is, for example, the search result (text) classified into that cluster.
[0040] Let's illustrate another example of dynamic generation of action candidates. Suppose a search query "ABC2.0 cannot be started" yields search results containing only information related to "ABC1.0". In this case, the candidate generation unit 102 generates an action candidate such as "Ask if it is ABC1.0, and generate a response sentence from the information about ABC1.0". The response sentence generated using this action candidate would be something like, "Is it ABC1.0? If so, then..."
[0041] In this example, the following rules might be used: If there is only one search result, the search result will be displayed, and if there are any discrepancies between the search query and the search result, the system will ask about those discrepancies.
[0042] Differences can be detected, for example, by the following methods: • Compound nouns that partially match are detected as differences. In the example above, the compound nouns "ABC1.0" and "ABC2.0," which match in the "ABC" part, are considered differences. • Analyze modification relationships and detect differences between search queries and search results if the same keyword is modified by different phrases.
[0043] Returning to the explanation of Figure 2, the determination unit 103 determines whether there is an excess or deficiency of information to be provided for each of the one or more action candidates generated by the candidate generation unit 102 (step S105). For example, the determination unit 103 determines whether the information to be provided for the search query can be provided without excess or deficiency by the response generated according to the action candidate.
[0044] For example, the determination unit 103 uses the comparison result between one or more topic information T1 (first topic information) included in the response R1 generated according to the operation candidate and one or more topic information T2 (second topic information) extracted from the search query to determine whether there is any excess or deficiency in the information included in the response R1.
[0045] Topic information is information that represents the topic of the text (search query or the group of texts being searched). Any method can be used to extract topic information, but for example, the following methods can be applied. • Extract the chapter or section titles of the searched text as topic information. • Uses topic extraction techniques from text. For example, a model such as a generative AI (Artificial Intelligence) model is used to extract topic information from the input text.
[0046] The determination unit 103 determines that there is insufficient information in response R1 if topic information T2 is not included in topic information T1. Furthermore, the determination unit 103 determines that there is excessive information in response R1 if topic information T1 contains topic information different from topic information T2.
[0047] For example, suppose the following two search results are obtained for the search query, "What is the power consumption of product A, B, and C?". • "The power consumption of product ABC is 200 watts." • "The power consumption of products A, B, and C is approximately 200 watts on average, up to 400 watts under heavy load, and 60 watts in standby mode."
[0048] Furthermore, suppose the action candidate "Return a response from the search results" is generated. In this case, the determination unit 103 uses this action candidate to generate, for example, the response sentence "The power consumption of product ABC is 200 watts." The method for generating a single response sentence from multiple search results can be any method, but for example, a model such as a generative AI model that has been trained to output a response sentence by taking one or more search results as input can be used.
[0049] The determination unit 103 extracts "product ABC" and "power consumption" from the generated response sentence (response R1) as topic information T1. The determination unit 103 also extracts "product ABC" and "power consumption" from the search query as topic information T2.
[0050] In this example, since topic information T1 and topic information T2 match, the determination unit 103 determines that there is no excess or deficiency in the information contained in the generated response statement (response R1).
[0051] As another example, suppose a non-product-specific search query, "What is the power consumption?", is entered, and the following three search results are obtained. • "The power consumption of product ABC is 200 watts." • "The power consumption of products A, B, and C is approximately 200 watts on average, up to 400 watts under heavy load, and 60 watts in standby mode." • "The power consumption of product DEF is 240 watts."
[0052] Furthermore, suppose that the action candidate "Return a response from the search results" is generated in the same way as above. The determination unit 103 uses this action candidate to generate, for example, the response statement "The power consumption of product ABC is 200 watts, and the power consumption of product DEF is 240 watts."
[0053] The determination unit 103 extracts "product ABC", "product DEF", and "power consumption" from the generated response statement (response R1) as topic information T1. In this case, since topic information T1 contains topic information "product DEF", which is different from topic information T2, the determination unit 103 determines that the information contained in the response statement (response R1) is excessive.
[0054] Suppose the generated action candidate is "Ask whether the product is A, B, C or DEF, and return a response based on the search results for the additional input." In this case, the determination unit 103 simulates generating additional input for the question and simulates obtaining search results for the generated input. For example, the determination unit 103 simulates generating two inputs, "product A, B, C" and "product DEF," and obtains refined search results for each of the two inputs.
[0055] For the input "Product ABC," the search query, search results, and topic information correspond to the following, respectively. Search query: "Tell me the power consumption" AND "Product ABC" • Search query topic information: "Product ABC", "Power Consumption" Search results: "Product ABC consumes 200 watts," and "Product ABC consumes approximately 200 watts on average, up to 400 watts under heavy load, and 60 watts in standby mode." • Topic information for responses based on search results: "Product ABC", "Power Consumption"
[0056] For the input "Product DEF," the search query, search results, and topic information correspond to the following, respectively: Search query: "Tell me the power consumption" AND "Product DEF" • Search query topic information: "Product DEF", "Power Consumption" Search results: "Product DEF has a power consumption of 240 watts." • Topic information for responses based on search results: "Product DEF", "Power Consumption"
[0057] In either case, the topic information of the search query matches the topic information of the response, so the determination unit 103 determines that there is no excess or deficiency in the information contained in the generated response. That is, the determination unit 103 determines that there is no excess or deficiency in the information provided for the action candidate "ask whether the product is A, B, C or D, E, F, and return a response from the search results for the additional input."
[0058] The determination unit 103 may output a score (hereinafter referred to as the determination score) as a determination result, which indicates whether or not there is an excess or deficiency of information in the response R1 generated according to the operation candidate. The determination score can be interpreted as representing the degree to which the response R1 generated according to the operation candidate can provide information without excess or deficiency. The determination score may be expressed as a real number ranging from a lower limit (e.g., 0) to an upper limit (e.g., 1).
[0059] The determination unit 103 may calculate the determination score by any method, but for example, it can use a model such as a pre-trained deep learning model. This model is trained, for example, to take a search query and search results as input and return a real value between 0 and 1, as follows.
[0060] First, before training, training data (training samples) are prepared, which includes the search query and the search results that represent positive examples for that search query, as well as training data that includes the search results that represent negative examples for that search query.
[0061] Positive examples are training data that contain the correct search results corresponding to the search query. Negative examples are training data that contain the incorrect search results corresponding to the search query, such as the following: • Training data that includes search results containing excessive information unrelated to the search query, in addition to information related to the search query. • Training data containing search results that are missing at least some of the necessary information. • Training data that includes search results containing information irrelevant to the search query.
[0062] The model is trained so that, for example, it outputs 1 for positive examples and 0 for negative examples.
[0063] The judgment unit 103 may use a pre-trained large language model (LLM) when calculating the judgment score. The LLM is trained to take, for example, a search query, search results, and a prompt to inquire whether there is any excess or deficiency of information as input, and to output a judgment score.
[0064] Returning to the explanation of Figure 2, the decision unit 104 determines the operation to be performed by the information processing device 100 from among one or more operation candidates generated by the candidate generation unit 102, based on the determination result of the determination unit 103 (step S106). For example, the decision unit 104 uses the determination result to rank the operation candidates according to a rule, and selects the operation candidate with the highest rank (position) as the operation to be adopted. For example, the following rules can be used for ranking. • Prioritize action candidates that generate a complete and accurate response. The system prioritizes action candidates that have a large number of matching topic information T1 values with topic information T2 extracted from the search query. • Prioritize action candidates with fewer instances of topic information T1 that do not match topic information T2 extracted from the search query.
[0065] When the judgment unit 103 calculates and outputs a judgment score, the determination unit 104 may use a rule to rank the results based on the value of the judgment score.
[0066] The response generation unit 105 generates a response by referring to the search query and search results in accordance with the operation determined by the decision unit 104 (step S107). The response generation unit 105 may use the same method as the determination unit 103 uses to generate a response when making a determination, or it may use a different method.
[0067] The response generation unit 105 may generate a response in the following manner. • The system generates a response by embedding the search query and search result information into a pre-prepared response template that corresponds to the action being performed. The response is the output obtained by inputting a prompt, which contains the action, search query, and search results as context, into a pre-trained LLM.
[0068] A response template is prepared for each action, for example. For instance, a response template might be a sentence like "** was found" containing the placeholder "**". The placeholder is embedded with one or more keywords extracted from the search results.
[0069] When using LLM, the response generation unit 105 inputs a task instruction, such as "Generate an assistant response statement for the search query based on the following search query, action, and search results," along with the search query, action, and search results, as prompts to the LLM, causing it to generate the response statement.
[0070] The response generation unit 105 may generate a response using the search results as they are, or it may generate a response using edited text of the search results. For example, if the data size of the search results is small and can all be displayed on the display screen, the response generation unit 105 may embed the search results directly into the response. If the data size of the search results is large and cannot all be displayed on the display screen, the response generation unit 105 may summarize each search result into a short sentence (summary sentence) and generate a response using the summary sentence.
[0071] Returning to the explanation of Figure 2, the output control unit 106 outputs the generated response statement (step S108) and terminates the response generation process.
[0072] As described above, this embodiment makes it possible to generate and output a response that contains all the information requested by the search query without any excess or deficiency. For example, even when a large number of search results are obtained, a response containing excessive information is not output, so the user can search for the desired information more efficiently.
[0073] (Variation 1) Modification 1 describes an example in which the criteria used to determine whether there is an excess or deficiency can be set.
[0074] Figure 3 is a block diagram showing an example of the configuration of the information processing device 100-2 in a modified example of the embodiment 1. As shown in Figure 3, the information processing device 100-2 includes a storage unit 121-2, a display unit 122, a search unit 101, a candidate generation unit 102, a determination unit 103-2, a decision unit 104, a response generation unit 105, an output control unit 106, and a setting unit 107-2.
[0075] In Modification 1, a setting unit 107-2 is added, and the functions of the determination unit 103-2 and the storage unit 121-2 differ from those of the above embodiment. The other configurations and functions are the same as those in Figure 1, which is a block diagram of the information processing device 100 of the above embodiment, so the same reference numerals are used, and their explanation is omitted here.
[0076] The setting unit 107-2 sets the criteria used in the determination by the determination unit 103-2. For example, the setting unit 107-2 sets the criteria according to at least one of the user information and the priority information.
[0077] The storage unit 121-2 differs from the storage unit 121 in the above embodiment in that it further stores at least one of user information and priority information.
[0078] First, we will explain how to set judgment criteria based on user information. User information is information about the user that should be considered when determining whether there is an excess or deficiency. For example, user information includes at least one of the following: information representing the attributes (characteristics) of the user who enters the search query (hereinafter referred to as user attribute information), and information representing the attributes of the equipment used by the user (hereinafter referred to as equipment information). User information may be entered by the user, for example, through the equipment used by the user.
[0079] Device information is information that identifies, for example, how a device outputs a response and its ability to output a response. For example, device information may identify whether the method of outputting a response is display on a display device or output as sound. Device information may identify the size of the display device as a measure of the device's ability to output a response.
[0080] The method of outputting a response and the amount of information in the response vary depending on whether the device used by the user is a device equipped with a display device, such as a PC, or a device equipped only with an audio output device. For example, in the case of a device equipped with a display device, it is preferable to output a response as quickly as possible, even if the response contains excessive information. On the other hand, in the case of a device equipped only with an audio output device, it is desirable to output only the minimum necessary information, as it would take a very long time and be difficult to hear the entire response as audio.
[0081] The setting unit 107-2 sets criteria for determining whether there is an excess or deficiency of information, according to the device information, in order to make adjustments according to such devices. The criteria may represent, for example, a threshold for the number of topic information items.
[0082] For example, if the device information indicates that the device is equipped with a display device, the setting unit 107-2 sets the threshold to a larger value. This allows the system to be configured to output responses that contain an excessive number of topic information below the threshold. For example, if the device information indicates that the device is equipped only with an audio output device, the setting unit 107-2 sets the threshold to a smaller value. This minimizes the output of responses that contain excessive topic information.
[0083] The determination unit 103-2 determines whether there is an excess or deficiency of information in response R1 using the determination criteria set by the setting unit 107-2. For example, the determination unit 103-2 determines that there is an excess of information in response R1 if the number of topic pieces in topic piece T1 included in response R1 that are different from topic piece T2 extracted from the search query is greater than the threshold TH1.
[0084] A threshold TH1 for determining an excess, or a threshold TH2 for determining a deficiency instead of threshold TH1, may be used. For example, the determination unit 103-2 determines that there is a deficiency in the information contained in response R1 if the number of topic information T2 that is not included in topic information T1 is greater than threshold TH2.
[0085] User attribute information includes, for example, the following: • Information indicating whether the user is knowledgeable in the search area. • Information indicating whether the user wants a quick, albeit rough, answer, or a more appropriate answer through dialogue.
[0086] Let's explain an example of processing using the first type of user attribute information. For example, if the setting unit 107-2 obtains user attribute information indicating that the user is knowledgeable in the field being searched, it sets the threshold to a smaller value. For example, if the setting unit 107-2 obtains user attribute information indicating that the user is not knowledgeable in the field being searched, it sets the threshold to a larger value.
[0087] For example, suppose the search target is manuals for multiple home appliances, and the user owns a specific appliance among them. In this case, user attribute information indicating the user's expertise in the search area would be set for that specific appliance.
[0088] The setting unit 107-2 sets the judgment criteria for a specific home appliance to determine whether it is over- or under-equipped more strictly. For example, the setting unit 107-2 sets the threshold value as the judgment criterion to a smaller value. On the other hand, the setting unit 107-2 sets the judgment criteria for home appliances other than the specific home appliance to determine whether it is over- or under-equipped more loosely. For example, the setting unit 107-2 sets the threshold value as the judgment criterion to a larger value.
[0089] Furthermore, the determination unit 103-2 determines, for example, which home appliance the response R1 generated according to the operation candidate relates to, and uses the determination criteria for the determined home appliance to determine whether there is an excess or deficiency.
[0090] This allows the system to accurately provide users with the information they need about home appliances they are familiar with (for example, those they own), while quickly providing them with an overview of other home appliances they are not familiar with.
[0091] Let's look at an example of processing using the second type of user attribute information. To resolve any discrepancies in the information contained in the response, follow-up questions may be required. However, these follow-up questions mean that it takes more time to obtain the desired information. Therefore, some users may prioritize obtaining information quickly and prefer fewer follow-up questions, assuming they will perform the selection process themselves from a rough overview of the information. On the other hand, some users may prioritize obtaining more appropriate information and prefer to receive only the relevant information, even if it means more follow-up questions, rather than having to select from a large amount of information themselves.
[0092] Therefore, if the setting unit 107-2 obtains user attribute information indicating that the user wants a quick answer, even if it's just a rough one, it sets the threshold to a larger value. If the setting unit 107-2 obtains user attribute information indicating that the user wants a more appropriate answer through dialogue, it sets the threshold to a smaller value.
[0093] The settings unit 107-2 can adjust the criteria used to determine whether there is an excess or deficiency, in accordance with such user preferences. This makes it possible to achieve dialogue that is tailored to the user's preferences.
[0094] Next, we will explain how to set the criteria for judgment based on priority information. Priority information is, for example, information indicating whether or not to prioritize the topic information for each topic. Priority information can be set in any way, but for example, it can be set in the following way. • A method for prioritizing historical information extracted from the usage log of the information processing device 100. • A method for setting the information processing device 100 according to input from the administrator, etc.
[0095] As a large number of usage logs are accumulated, general trends can be obtained regarding the operation of the information processing device 100 and the user's choices regarding its operation. For example, trends such as "when a follow-up question is asked in response to a certain search query, the same option is selected in almost all cases" or "this follow-up question is rarely selected" can be obtained. This information representing trends can be interpreted as historical information (priority information) indicating that topic information that is selected more frequently than other topic information takes priority.
[0096] Furthermore, immediately after the announcement of a new product (or new feature), inquiries about that new product may temporarily increase. In such cases, priority information may be used to indicate that topic information related to the new product should be prioritized, in order to facilitate the provision of responses regarding that new product. Such priority information may be entered, for example, by the administrator of the information processing device 100.
[0097] The setting unit 107-2 sets a criterion for determining whether topic information that is prioritized by priority information is topic information that is not judged to be excessive.
[0098] The determination unit 103-2 determines that the information contained in response R1 is excessive if, for example, one or more topic pieces of topic information T1 contained in response R1 that are different from the topic pieces of topic information T2 extracted from the search query are not included in the topic pieces that are not determined to be excessive.
[0099] Next, the response generation process by the information processing device 100-2 in Modified Example 1 will be explained using Figure 4. Figure 4 is a flowchart showing an example of the response generation process in Modified Example 1.
[0100] The setting unit 107-2 receives user information and priority information, and sets the judgment criteria used in the judgment by the judgment unit 103-2 according to the received user information and priority information (step S201).
[0101] Steps S202 to S205 are the same as steps S101 to S104 in the information processing device 100 of the above embodiment, so their explanation will be omitted.
[0102] In this modified example, the determination unit 103-2 uses the set determination criteria to determine whether there is an excess or deficiency of information for each operation candidate (step S206).
[0103] Steps S207 to S209 are the same as steps S106 to S108 in the information processing device 100 of the above embodiment, so their explanation will be omitted.
[0104] As described above, in Modification 1, the information processing device 100 can appropriately select the actions it performs according to the user's situation. This makes it possible to provide information within a range acceptable to the user without requiring unnecessary follow-up questions.
[0105] (Modification 2) Modification 2 describes an example that allows outputting information indicating whether there is an excess or deficiency (excess / deficiency information).
[0106] Figure 5 is a block diagram showing an example of the configuration of the information processing device 100-3 in a modified example of the embodiment 2. As shown in Figure 5, the information processing device 100-3 includes a storage unit 121, a display unit 122, a search unit 101, a candidate generation unit 102, a determination unit 103, a decision unit 104, a response generation unit 105, and an output control unit 106-3.
[0107] In Modification 2, the function of the output control unit 106-3 differs from that of the above embodiment. The other configurations and functions are the same as those in Figure 1, which is a block diagram of the information processing device 100 of the above embodiment, so they are denoted by the same reference numerals and their explanation is omitted here.
[0108] The output control unit 106-3 differs from the output control unit 106 in the above embodiment in that it has the function of generating and outputting excess / deficit information to present to the user using the search query, search results, operation, and determination result from the determination unit 103.
[0109] Suspicion and deficiency information refers to information that indicates how the responses and search results are in relation to the search query. Suspicion and deficiency information is used to clearly communicate the state of deficiencies and deficiencies to the user.
[0110] For example, the output control unit 106-3 generates and outputs surplus / deficit information indicating whether the topic information is complete, excessive, or insufficient, as shown below. • Complete and accurate topic information: Topic information included in both topic information T1 contained in response R1 and topic information T2 extracted from the search query. • Excessive topic information: Topic information included in topic information T1 but not in topic information T2. • Missing topic information: Topic information included in topic information T2 but not in topic information T1.
[0111] Furthermore, with web search technology, for example, if you enter a search query like "TV malfunction," the searcher may suggest more relevant queries to refine your search, such as "TV malfunction, no picture" and "TV malfunction, lines appear." Also, when searching with a query that contains multiple keywords that are unlikely to be included in a single text, such as "malfunction, pi," the search results that only match "pi" and not "malfunction" may display supplementary information such as "Does not contain: malfunction | Required: malfunction." This makes it easier to understand the correspondence between the search query and the results when reviewing the list of search results. It also allows you to refine your search results without having to view search results that contain excessive information.
[0112] In contrast, the excess and deficiency information in this modified example can indicate in the response sentence which parts of the search query are for which information is provided, which parts are excessive, and which parts are insufficient. For example, in response to the search query "ABC2.0 cannot be started", the response sentence "Is it ABC1.0? If so..." corresponds to the "ABC2.0" part at the beginning of the search query, which is the missing part in the response sentence.
[0113] The output control unit 106-3 may output a response along with the surplus / deficit information. Furthermore, the output control unit 106-3 may use the surplus / deficit information to output multiple topic information items with different surplus / deficit states in mutually different output modes. For example, the output control unit 106 may output excessive topic information and topic information without surplus / deficit in an output mode that emphasizes them more than topic information without surplus / deficit.
[0114] The output format can be anything, but for example, when displaying a response, it could include the color of the displayed text, the size of the text, the font type, whether or not there is a strikethrough, whether or not an X mark is used to overwrite it, and the background color. This allows the user to intuitively grasp the search results. When playing back a response using speech synthesis, the output format could include, for example, the volume, the speaking speed, and the insertion of short pauses or sound effects before and after the speech. This allows the user to intuitively understand whether or not there is more or less information without having to look at the screen.
[0115] Next, the response generation process by the information processing device 100-3 in Modified Example 2 will be explained using Figure 6. Figure 6 is a flowchart showing an example of the response generation process in Modified Example 2.
[0116] Steps S301 to S307 are the same as steps S101 to S107 in the information processing device 100 of the above embodiment, so their explanation will be omitted.
[0117] The output control unit 106-3 generates excess / deficiency information to present to the user based on the next operation to be performed by the information processing device 100-2, the result of determining excess / deficiency for that operation, the search results, and the search query (step S308). The output control unit 106-3 outputs the response statement generated in step S307 and the excess / deficiency information generated in step S308 (step S309), and terminates the response generation process.
[0118] As described above, according to this embodiment, since the information processing device generates a response based on its operation in accordance with whether it can provide the user with the information it requests without excess or deficiency, the user will be able to search for the desired information more efficiently.
[0119] Next, the hardware configuration of the information processing device of the embodiment will be described using Figure 7. Figure 7 is an explanatory diagram showing an example of the hardware configuration of the information processing device of the embodiment.
[0120] The information processing device of this embodiment includes a control device such as a CPU (Central Processing Unit) 51, a storage device such as a ROM (Read Only Memory) 52 and a RAM (Random Access Memory) 53, a communication interface 54 that connects to a network for communication, and a bus 61 that connects each part.
[0121] The program to be executed in the information processing device of this embodiment is provided pre-installed in a ROM 52 or the like.
[0122] The program executed by the information processing device of this embodiment may be configured to be provided as a computer program product by recording it in an installable or executable file format onto a computer-readable recording medium such as a CD-ROM (Compact Disk Read Only Memory), a flexible disk (FD), a CD-R (Compact Disk Recordable), or a DVD (Digital Versatile Disk).
[0123] Furthermore, the program executed by the information processing device of the embodiment may be stored on a computer connected to a network such as the Internet and provided by downloading it via the network. Alternatively, the program executed by the information processing device of the embodiment may be provided or distributed via a network such as the Internet.
[0124] The program executed in the information processing device of this embodiment can cause the computer to function as a component of the information processing device described above. This computer can read the program from a computer-readable storage medium onto the main memory and execute it using the CPU 51.
[0125] While several embodiments of the present invention have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These novel embodiments can be carried out in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims of the invention and its equivalents. [Explanation of symbols]
[0126] 100, 100-2, 100-3 Information Processing Devices 101 Search Section 102 Candidate generation section 103, 103-2 Judgment section 104 Decision Section 105 Response generation unit 106, 106-3 Output control unit 107-2 Settings Section 121, 121-2 Storage section 122 Display section
Claims
1. On the computer, A search step that searches for one or more texts that match the search query from a set of texts to be searched, A candidate generation step of generating one or more candidates for an action to generate a response to the search query using the search query and the retrieved text, A determination step for each of the candidates is to determine whether there is any excess or deficiency in the information contained in the first response generated according to the candidate, A decision step in which, based on the determination result from the determination step, one of the one or more candidates is determined as an action for generating a response, A response generation step that generates a second response according to the determined action, A program to execute.
2. The aforementioned determination step is, The system determines whether there is any excess or deficiency in the information included in the first response by comparing one or more first topic pieces included in the first response with one or more second topic pieces extracted from the search query. The program according to claim 1.
3. The aforementioned determination step is, If the second topic information is not included in the first topic information, it is determined that there is a deficiency in the information included in the first response; if the first topic information includes topic information different from the second topic information, it is determined that there is an excess of information included in the first response. The program according to claim 2.
4. The aforementioned determination step is, The system outputs a score as the determination result indicating whether or not there is any excess or deficiency in the information included in the first response. The program according to claim 1.
5. To the aforementioned computer, The setting step is further executed to set the criteria used in the determination step described above. The aforementioned determination step is, In accordance with the aforementioned criteria, it is determined whether there is any excess or deficiency in the information contained in the first response generated according to the candidate. The program according to claim 1.
6. The aforementioned setup step is, The determination criteria are set using user information that represents at least one of the attributes of the user who enters the search query and the attributes of the device used by the user. The program according to claim 5.
7. The aforementioned criteria represent a threshold for the number of topic information items, The aforementioned determination step is, If the number of topic pieces in one or more first topic pieces included in the first response that are different from one or more second topic pieces extracted from the search query is greater than the threshold, it is determined that the information included in the first response is excessive. The program according to claim 5.
8. The aforementioned criteria represent topic information that is not judged to be excessive. The determination step determines that the information included in the first response is excessive if the topic information included in one or more first topic pieces in the first response, which differs from one or more second topic pieces extracted from the search query, is not included in the topic information that is not determined to be excessive. The program according to claim 5.
9. The aforementioned setup step is, The decision criteria are set using priority information that indicates whether or not to prioritize the aforementioned topic information for each topic piece. The program according to claim 8.
10. To the aforementioned computer, Further, an output control step is performed to output surplus / deficit information indicating whether the topic information included in at least one of the search query and the second response is topic information included in both one or more first topic pieces included in the first response and one or more second topic pieces extracted from the search query, topic information included in the first topic pieces but not in the second topic pieces, or topic information included in the second topic pieces but not in the first topic pieces. The program according to claim 1.
11. A search unit that searches for one or more texts that match the search query from a set of texts to be searched, A candidate generation unit generates one or more candidate actions for generating a response to the search query using the search query and the retrieved text, A determination unit determines whether there is any excess or deficiency in the information contained in the first response generated according to each of the candidates, A determination unit determines one of the one or more candidates as an action to generate a response based on the determination result by the determination unit, A response generation unit that generates a second response according to the determined operation, An information processing device equipped with the following features.
12. An information processing method performed by an information processing device, A search step that searches for one or more texts that match the search query from a set of texts to be searched, A candidate generation step of generating one or more candidates for an action to generate a response to the search query using the search query and the retrieved text, A determination step for each of the candidates is to determine whether there is any excess or deficiency in the information contained in the first response generated according to the candidate, A decision step in which, based on the determination result from the determination step, one of the one or more candidates is determined as an action for generating a response, A response generation step that generates a second response according to the determined action, Information processing methods including