This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2019-014418, filed on Jan. 30, 2019; the entire contents of which are incorporated herein by reference.
Embodiments described herein relate generally to a display control system and a storage medium.
A system uses a dialog with a user to output an answer to an inquiry from the user. It is desirable to develop technology of such a system so that the user easily can estimate what kind of sentence to input to the dialog system to easily obtain the sought question-answer pair.
According to one embodiment, a display control system includes a processor. The processor is capable of displaying a second sentence and at least a part of a first question-answer pair when accepting a first sentence including a first query keyword. The first sentence is input by a user. The first question-answer pair includes a first question and a first answer to the first question. The first question includes the first query keyword. The second sentence includes a first question keyword included in the first question. The processor is capable of displaying a word other than the first query keyword and the first question keyword in a first form, the first query keyword in a second form different from the first form, and the first question keyword in a third form different from the first form and the second form.
Various embodiments are described below with reference to the accompanying drawings.
The drawings are schematic and conceptual; and the relationships between the thickness and width of portions, the proportions of sizes among portions, etc., are not necessarily the same as the actual values. The dimensions and proportions may be illustrated differently among drawings, even for identical portions.
In the specification and drawings, components similar to those described previously or illustrated in an antecedent drawing are marked with like reference numerals, and a detailed description is omitted as appropriate.
The display control system 1 according to the first embodiment includes a processor 10. In the example shown in
The processor 10 accepts a sentence input from the user. The processor 10 outputs a response to the input sentence. The response that is output is displayed in an external display device (e.g., a monitor). Based on the response from the processor 10, the user inputs the next sentence to the processor 10. The processor 10 outputs the response to the next sentence based on the dialog with the user up to that point. Thereby, the dialog is realized between the user and the display control system 1.
The first memory 21 stores a question-answer table. The question-answer table includes multiple question-answer pairs. The question-answer pairs each include a question, and an answer to the question. The second memory 22 stores a keyword list, rules, or a model for extracting keywords from the sentence. For example, the third memory 23 stores generic scenarios for generating the response output from the processor 10. The processor 10 generates the response to the input sentence while referring to the first to third memories 21 to 23.
For example, the sentence that is input from the user includes an inquiry. Here, the sentence that is input from the user to the processor 10 is called a “query sentence.” When accepting the query sentence, the processor 10 refers to the question-answer table of the first memory 21. The processor 10 verifies whether or not a question associated with the query sentence is in the question-answer table. When an associated question is found, the processor 10 outputs, to the user, a response indicating the answer to the question.
When there are multiple associated questions, the processor 10 outputs a response (a re-inquiry) for narrowing down the questions to one question. Based on the response, the user inputs another query sentence including information (a keyword) for narrowing down the question. For example, the input of the query sentence by the user and the response from the processor 10 are repeated alternately until the questions are narrowed down to one question. By answering the responses of the display control system, the user can arrive at one answer including the information sought by the user. By using the display control system 1, the user easily obtains the sought answer even when the user does not know an appropriate search method.
Whether the user arrives at the sought answer is dependent on the query sentence that is input. If the query sentence is inappropriate, the system cannot output an appropriate re-inquiry. Examples of when the query sentence is inappropriate are when the information included in the query sentence is insufficient, when the keyword (the query keyword) included in the query sentence is omitted with respect to the corresponding keyword (question keyword) inside the question-answer table, when extra characters with respect to the question keyword are added to the query keyword, when the query keyword is paraphrased with respect to the question keyword, etc.
If the query sentence is inappropriate, the system may output a response different from the intention of the user. When the system cannot output the appropriate response, it is necessary for the user to input the next query sentence so that the system can output the appropriate response. To appropriately input the next query sentence, it is desirable for the user to be able to ascertain or estimate how to input the next query sentence. However, using the response of a conventional system, it is difficult for the user to ascertain or estimate how to input the next query sentence.
In the display control system 1, for example, the processor 10 displays, in a monitor, the response to the query sentence of the user. When accepting a first sentence input by the user, the processor 10 displays, in a first screen, a first question-answer pair that includes a first question including the query keyword included in the first sentence and includes a first answer to the first question. The first question-answer pair is one of the multiple question-answer pairs included in the question-answer table. Further, the processor 10 extracts, from multiple question keywords included in the first question, a question keyword different from the query keyword. The processor 10 displays, in the first screen, a second sentence including the extracted question keyword.
In the first screen, the processor 10 displays words other than the query keyword and the question keyword in a first form. In the first screen, the processor 10 displays the query keyword in a second form different from the first form. In the first screen, the processor 10 displays the question keyword in a third form different from the first form and the second form.
For example, the processor 10 causes at least one of a color, a font, a boldness, a size, a character style, or a background color of the query keyword and the question keyword to be different from at least one of a color, a font, a boldness, a size, a character style, or a background color of the words other than these keywords. The processor 10 may mark the query keyword and the question keyword with boxes or the like surrounding these keywords.
Although the third form may be the same as the second form, it is desirable for the third form to be different from the second form. By setting the form of the display of the query keyword to be different from the form of the display of the question keyword, the user can discriminate between the query keyword and the question keyword more easily. For example, the processor 10 causes at least one of a color, a font, a boldness, a size, a character style, or a background color of the query keyword to be different from at least one of a color, a font, a boldness, a size, a character style, or a background color of the question keyword. The processor 10 may cause at least one of a shape, a color, or a size of a symbol marking the query keyword to be different from at least one of a shape, a color, or a size of a symbol marking the question keyword.
As described above, the processor 10 causes the form of the display of the query keyword and the form of the display of the question keyword used in the output sentence to be different from the form of the display of the other words. For convenience of description hereinbelow, the setting of forms of the displays of these keywords to be different from the form of the display of the other words other than these keywords also is called “emphasizing.”
An other question-answer pair (e.g., a second question-answer pair) other than the first question-answer pair may be displayed in the first screen. When multiple question-answer pairs are selected based on the first sentence, the multiple question-answer pairs are displayed in the first screen. When displaying the first question-answer pair and the second question-answer pair in the first screen, a first question keyword is used in the second sentence to narrow down the candidates from the multiple question-answer pairs to the first question-answer pair. When one question-answer pair (only the first question-answer pair) is displayed in the first screen, the first question keyword is used in the second sentence to confirm whether the first question-answer pair matches the intention of the user.
The query keyword is at least a part of the query sentence input by the user. By emphasizing the query keyword, the user can ascertain based on the query sentence what kind of keyword is set. For example, in the case where an unintended part is extracted as the keyword from the input sentence, the user ends the dialog once and inputs the next query sentence. The user inputs the next query sentence not to include the query keyword extracted from the previous query sentence.
When the question keyword used in the second sentence is emphasized, the user easily ascertains or estimates what kind of answer will be obtained by including what kind of keyword in the next query sentence. For example, multiple question-answer pairs are displayed in the first screen. The second sentence includes the first question keyword; and the first question keyword is included in the first question-answer pair. As an example, the user determines that the first question-answer pair does not match the intention of the user. At this time, based on the emphasis of the first question keyword, the user easily can ascertain or estimate that the multiple question-answer pairs can be narrowed down to a question-answer pair other than the first question-answer pair by not including the first question keyword in the next query sentence. As another example, the user determines that the first question-answer pair matches the intention of the user. At this time, based on the emphasis of the first question keyword, the user easily can ascertain or estimate that the multiple question-answer pairs can be narrowed down to the first question-answer pair by including the first question keyword in the next query sentence.
Thus, according to the first embodiment, the user easily can ascertain or estimate what kind of query sentence to input to the display control system to easily obtain the sought question-answer pair. As a result, the user arrives at the sought answer more easily. According to the first embodiment, the convenience of the display control system 1 can be improved.
The processor 10 includes a central processing unit including an electrical circuit. The first to third memories 21 to 23 each include a memory device. The memory device includes, for example, at least one of a hard disk drive (HDD), network-attached storage (NAS), an embedded multimedia card (eMMC), a solid-state drive (SSD), or a solid-state hybrid drive (SSHD). One memory device may function as the first to third memories 21 to 23. The processor 10, the first memory 21, the second memory 22, and the third memory 23 may be included in one computer or may be connected to each other via a wired technique, a wireless technique, or a network.
The display control system 1 according to the first embodiment will now be described in detail.
For example, the first memory 21 stores the question-answer table 110 shown in
The question-answer pairs 110a to 110K are respectively associated with question keywords 114a to 114K. For example, the question keywords 114a to 114K are included in the question-answer table 110. Or, the question keywords 114a to 114K may be stored in the first memory 21 or another memory separately from the question-answer table 110.
The question keywords 114a to 114K are extracted respectively from the questions 112a to 112K. Multiple question keywords may be extracted from one question. For example, as described below, the processor 10 extracts the question keywords 114a to 114K from the questions 112a to 112K. The question keywords 114a to 114K may be extracted by an external processing device of the display control system 1. Or, the question keywords 114a to 114K may be assigned to the questions 112a to 112K by a system administrator.
The question-answer table may include information other than the multiple question-answer pairs and the multiple question keywords. For example, the question-answer table may include a question for which a corresponding answer is not set. The question-answer table may include a combination of one or more questions and one or more answers in which a pair is not formed of one question and one answer. For example, the question-answer table includes a combination of two questions and one answer that is set as a common answer for the two questions. In such cases, for example, the processor 10 performs the dialog with the user based on only the multiple question-answer pairs. The processor 10 does not use the information other than the multiple question-answer pairs for the dialog with the user.
In the question-answer table, one answer may include multiple conditions and a detailed answer for each condition. In such a case, the multiple conditions and the multiple detailed answers can be collectively considered to be one answer.
The processor 10 includes, for example, an acceptor 11, an extractor 12, a setter 13, a selector 14, a generator 15, and an emphasizer 16.
The acceptor 11 accepts the query sentence input from the user. For example, the query sentence is input by an operation of a keyboard, a touch panel, etc., by the user. Or, the query sentence may be generated based on the user speaking. For example, a microphone records the user speaking; and the voice is recognized. The query sentence is generated by automatic speech recognition.
The extractor 12 extracts question keywords included in the question-answer table. For example, in the case where multiple question keywords are pre-registered in the question-answer table, the extractor 12 extracts the registered keywords. In the case where the keywords are not registered, the extractor 12 extracts the multiple question keywords from the question-answer table. For example, the second memory 22 stores a keyword list. The extractor 12 extracts the multiple question keywords from the question-answer table by using the keyword list. The keyword list includes multiple words that can be keywords. The extractor 12 extracts, as the question keywords, the words included in the question-answer table that match the words inside the keyword list.
The second memory 22 may store rules. The extractor 12 extracts the question keywords from the question-answer table based on the rules. As an example, a rule is recited as, “The ‘xxx’ in the sentence ‘Tell me about xxx’ is extracted as a question keyword.” The extractor 12 extracts the multiple question keywords by searching the question-answer table for sentences that satisfy the conditions recited in the rules.
The second memory 22 may store morphological analysis rules or a morphological analysis model. Based on the morphological analysis rules or the morphological analysis model, the extractor 12 performs morphological analysis of the sentence included in each question-answer pair of the question-answer table. By performing morphological analysis of the sentence, the extractor 12 splits the sentence into multiple words and estimates the part of speech of each word. The extractor 12 sets the words of designated parts of speech as the keywords. For example, nouns and verbs are used as the designated parts of speech. For a compound noun which is one type of noun, the extractor 12 may register each noun inside the compound noun as a keyword, may register the entire compound noun as one keyword, or may register using a combination of these techniques. Also, the extractor 12 may extract, as a keyword, a word (an unknown word) that cannot be classified as any part of speech.
The timing of the extractor 12 extracting the multiple question keywords from the question-answer table is arbitrary. For example, the extractor 12 extracts the multiple question keywords from the question-answer table when the acceptor 11 accepts the query sentence input by the user. The extractor 12 may extract the multiple question keywords before the acceptor 11 accepts the input of the query sentence.
The setter 13 sets the query keyword based on the query sentence. For example, the setter 13 extracts the query keyword from the query sentence. Similarly to the extractor 12, the setter 13 may extract the query keyword from the query sentence by using a keyword list. The setter 13 may extract the query keyword based on rules. The setter 13 may extract the keyword based on a morphological analysis result of the query sentence. The setter 13 may set the entire query sentence as one query keyword. In the case where the entire query sentence is set as one query keyword and the multiple question keywords are pre-registered, the second memory 22 is unnecessary.
The selector 14 searches whether or not question keywords that match the query keyword are included in the multiple question keywords extracted by the extractor 12. When a question keyword matching the query keyword is included, the selector 14 selects the question-answer pair including the question keyword as a candidate of the answer sought by the user. The selector 14 acquires the question and the answer included in the selected question-answer pair, the ID of the selected question-answer pair, and the question keyword included in the question of the selected question-answer pair.
When multiple query keywords are set by the setter 13, for example, the selector 14 selects question-answer pairs including multiple question keywords matching all of the multiple query keywords. Or, the selector 14 may select question-answer pairs including one or more question keywords matching one or more of the multiple query keywords.
The selector 14 may calculate the similarity between the query keyword and each of the multiple question keywords when comparing the query keyword and the multiple extracted question keywords. For example, the selector 14 calculates the edit distance between the query keyword and each of the multiple question keywords. When the edit distance between the question keyword and the query keyword exceeds a threshold, the selector 14 determines the question keyword to be similar to the query keyword. For example, the question keyword that is similar to the query keyword is a paraphrase of the query keyword.
For example, the reading of one question keyword is the same as the reading of one query keyword. As an example, at least a part of the question keyword is written using one of hiragana or katakana; and at least a part of the query keyword is written using the other of hiragana or katakana. In such a case, the question keyword is a paraphrase of the query keyword. As another example, the question keyword and the query keyword include the same kanji but include different declensional kana. Even in such a case, the question keyword is a paraphrase of the query keyword.
Also, when the question keyword and the query keyword include the same kanji but have different declensional kana due to different parts of speech, the question keyword is determined to be a paraphrase of the query keyword. For example, when the question keyword is “furikomi (a transfer)” and the query keyword is “furikomu (to transfer),” the question keyword is determined to be a paraphrase of the query keyword.
A paraphrase list may be pre-generated. The list includes multiple pairs of keywords. The keywords that are recited in the pairs are paraphrases of each other. The selector 14 determines whether or not question keywords that are paraphrases of the query keyword are included in the multiple question keywords while referring to the list.
The similarity may be determined using a pre-trained distributed representation model. A distributed representation of words is described in the distributed representation model. The selector 14 determines the similarity based on the distance or the cosine similarity between the vectors of the keywords. The selector 14 calculates the similarity between the query keyword and each of the multiple question keywords. When the similarity between the question keyword and the query keyword exceeds a threshold, the selector 14 determines that the question keyword is similar to the query keyword.
The generator 15 generates a response based on the query keyword, the selected question-answer pairs, and the question keywords included in the selected question-answer pairs. Specifically, the generator 15 outputs at least a part of each selected question-answer pair, and generates and outputs a sentence.
When the number of selected question-answer pairs is two or more, the generator 15 outputs at least a part of each of the two or more question-answer pairs, and outputs a sentence requesting the user to input a query sentence for narrowing down the question-answer pairs.
When the number of selected question-answer pairs is one, the generator 15 outputs at least a part of the one question-answer pair, and outputs a sentence requesting the user to confirm whether or not the question-answer pair matches the intention of the user.
When the number of selected question-answer pairs is 0, for example, the generator 15 outputs a sentence requesting the input of another query sentence. The sentence may be a fixed phrase such as an apology indicating that the question-answer pair could not be found, etc.
For example, the sentence that is included in the response from the generator 15 is generated based on a generic model stored in the third memory 23. The generic model includes multiple scenario templates. The generator 15 determines the scenario template to be used according to the number of selected question-answer pairs. Each scenario template is described generically not to be dependent on the inquiry of the user. Specifically, each scenario template includes blanks. A question, an answer, or a question keyword is plugged into each blank.
For example, the task model includes “Your question is blank 1. Blank 2” as the scenario template used when a number N of the selected question-answer pair is 1. The task model includes “Are there additional keywords such as blank 4a, blank 4b, blank 4Nk, or the like?” as the scenario template used when the number N is 2 or more.
When the number N is 1, the generator 15 substitutes the question of the selected question-answer pair into blank 1. The answer of the selected question-answer pair is substituted into blank 2. When the number N is 2 or more, the generator 15 extracts, from each of the multiple selected question-answer pairs, one question keyword that is different from the query keyword. The generator 15 substitutes the multiple extracted question keywords respectively into blank 4a, blank 4b, . . . , and blank 4Nk.
As an example, the query sentence that is input by the user includes the query keyword “interest rate.” In the question-answer table shown in
As another example, the query sentence that is input by the user includes the query keyword “education loan.” In the question-answer table shown in
The specific content of the scenario templates included in the generic model is not limited to the examples recited above and is modifiable as appropriate. The generic model may include more scenario templates corresponding to the number N.
When generating a response including one or more question-answer pairs, the generator 15 displays the query keyword and question keywords that are different from the query keyword. For example, the question keywords are included in the sentence. The query keyword is displayed as being included in the question-answer pair. Or, the query keyword is displayed to accompany the question-answer pairs. The emphasizer 16 assigns flags to the generated response so that the query keyword and the question keywords included in the sentence are displayed as being emphasized in the response. Or, the emphasizer 16 may assign flags to the generated response so that words other than the query keyword and the question keywords included in the sentence are more noticeable than the query keyword and the question keywords included in the sentence in the response.
The acceptor 11 accepts the query sentence input by the user (step S101). The extractor 12 extracts a question keyword from each question-answer pair of the question-answer table (step S102). The setter 13 sets one or more query keywords based on the query sentence (step S103). The selector 14 compares the multiple question keywords and the one or more query keywords and selects one or more question-answer pairs from the question-answer table (step S104). The generator 15 generates a response based on the extracted query keyword, the selected question-answer pairs, and the question keywords included in the selected question-answer pairs (step S105). The emphasizer 16 determines whether or not the generated response includes the query keyword and a question keyword (step S106). When the response includes these keywords, the emphasizer 16 assigns emphasis flags to the response (step S107). When the response does not include a keyword, the emphasizer 16 does not assign an emphasis flag to the response. The emphasizer 16 outputs the response to a monitor (step S108). Thereby, the response is displayed in the monitor.
After outputting the response, the processor 10 determines whether or not the dialog has ended (step S109). For example, the processor 10 measures the elapsed time after the response was output. The processor 10 determines that the dialog has ended when the elapsed time exceeds a threshold without the user inputting another query sentence. A sentence that indicates that the dialog has ended may be input from the user to the display control system 1. When accepting such a sentence, the processor 10 determines that the dialog has ended. If the acceptor 11 accepts the next query sentence before such conditions of the end are satisfied, the processor 10 re-performs the processing described above.
The response may be output so that the question, the keyword, etc., can be selected on a graphical user interface (GUI) displayed in the monitor. For example, when the response includes a question keyword, the question keyword may be selectable on the GUI. When the user clicks the question keyword on the GUI, the clicked question keyword is input to the processor 10 as the next query sentence.
For example, as shown in
In the example of
The selector 14 searches the multiple question keywords for question keywords that match or are similar to “education loan.” As a result of the search, for example, the three questions of “Tell me the interest rate of an education loan,” “Tell me the borrowing period of an education loan,” and “Tell me the application procedure of an education loan” are found in the question-answer table. The selector 14 selects, from the question-answer table, the three question-answer pairs that include these three questions.
Because multiple question-answer pairs are selected, the generator 15 generates a response (a re-inquiry) for narrowing down the question-answer pairs. The generator 15 extracts multiple question keywords that are included in the multiple selected question-answer pairs and are different from the query keyword. In the example of
The emphasizer 16 assigns, to the generated response, flags emphasizing the query keyword and the question keywords. For example, the emphasizer 16 displays the query keyword “education loan” in boldface. By the display, the user can know what kind of query keyword was set and used to search the question-answer pairs based on the query sentence input by the user. Also, the emphasizer 16 displays the questions including the query keyword and underlines the question keywords “interest rate,” “period,” and “procedure” which are different from the query keyword. By the display, the user can ascertain or estimate how to narrow down the question-answer pairs by including what keyword in the next query sentence.
For example, as shown in
In the example of
In the example of
For example, as shown in
For example, the user confirms the emphasized query keyword and question keywords and inputs a query sentence 131c of “For the period” to the display control system 1. Based on the query sentence, the setter 13 sets “period” as the query keyword. Based on the query keyword, the selector 14 narrows down the previously-selected question-answer pairs 132 to 134 to the question-answer pair 133. Based on the narrowing down, the processor 10 confirms whether or not the question 133a is appropriate for the inquiry of the user by outputting a sentence 131d of “Your question is, ‘Tell me the borrowing period of an education loan.’ You can borrow from one year to a maximum length of . . . .”
The processing of the display control system 1 according to the first embodiment will now be described by comparing to the specific example of
When the user inputs the first sentence including a first query keyword, the processor 10 displays the second sentence and at least a part of the first question-answer pair. The first question-answer pair includes the first question including the first query keyword, and the first answer to the first question. The second sentence includes the first question keyword included in the first question. In the display, the processor 10 displays words other than the first query keyword and the first question keyword in the first form, displays the first query keyword in the second form different from the first form, and displays the first question keyword in the third form different from the first form and the second form.
For example, the first sentence corresponds to the query sentence 131a. For example, the first query keyword corresponds to the query keyword “education loan.” For example, the first question-answer pair corresponds to the question-answer pair 133. For example, the first question keyword corresponds to the question keyword “period.” For example, the second form corresponds to boldface. For example, the third form corresponds to underlining. For example, the first form corresponds to plain type which is neither boldface nor underlining.
For example, the first question further includes a second question keyword that is different from the first query keyword and the first question keyword. The second sentence does not include the second question keyword. In the display, the second question keyword is displayed in the third form.
For example, the second question keyword corresponds to the question keyword “borrowing.” The sentence 131b does not include the question keyword “borrowing.” In the question keyword 133c, the question keyword “borrowing” is displayed in plain type which is neither boldface nor underlined.
For example, in the display recited above, the processor 10 further displays at least a part of the second question-answer pair including a second question including the first query keyword and a second answer to the second question. The second sentence further includes a third question keyword included in the second question. In the display, the words other than the first query keyword, the first question keyword, and the third question keyword are displayed in the first form; the first query keyword is displayed in the second form; and the first question keyword and the third question keyword are displayed in the third form.
For example, the second question-answer pair corresponds to the question-answer pair 134. For example, the third question keyword corresponds to the question keyword “procedure.” In the question keyword 134c, the question keywords other than “education loan” and “procedure” are displayed in plain type.
After the display recited above, when the user inputs a third sentence including one of the first question keyword or the third question keyword, the processor 10 displays at least a part of one of the first question-answer pair or a third question-answer pair including the one of the first question keyword or the third question keyword.
For example, the third sentence corresponds to the query sentence 131c. The query sentence 131c includes “period” which is one of “period” or “procedure.” After the query sentence 131c is input, the processor 10 displays at least a part of the question-answer pair 133 including the question keyword “period.”
The processor 10 may determine whether or not the query sentence is a negative sentence. For example, when setting the query keyword, the setter 13 determines whether or not the query sentence is a negative sentence. When the setter 13 determines that the query sentence is a negative sentence, the selector 14 selects question-answer pairs that do not include the query keyword.
For example, after the display control system 1 outputs the query sentence 131b, the user inputs the query sentence of “Not ‘interest rate’ or ‘procedure.’” The setter 13 extracts “interest rate” and “procedure” from the query sentence as query keywords. Further, the setter 13 determines that the query sentence is a negative sentence. Based on the determination result, the selector 14 selects a question-answer pair that does not include the question keywords of “interest rate” and “procedure” from the three previously-selected question-answer pairs. As a result, the display control system 1 outputs the sentence 131d.
To determine whether or not the query sentence is a negative sentence, for example, the setter 13 refers to pre-generated rules. As an example, a rule is recited as, “The query sentence is a negative sentence when ‘not,’ ‘non,’ or ‘other than’ are included in the query sentence. The setter 13 determines whether or not the query sentence is a negative sentence by determining whether the query sentence satisfies the conditions recited in the rules.
The setter 13 may refer to a pre-generated model. For example, the model is an artificial neural network model or a recurrent neural network model. The model is pre-trained using training data. The training data includes multiple paired data. Each paired data includes a sentence and information indicating that the sentence is the negative form. The model is trained to output information indicating a negative sentence when a negative sentence is input.
In the example of
In the example of
For example, in the query sentence 141a, the user meant “ordinary deposit” when inputting “ordinary.” In such a case, the content of the sentence 141b does not match the intention of the user. This is because an investment trust is being confirmed even though the intention of the user is an ordinary deposit. On the other hand, the selected question-answer pair 143 includes a question matching the intention of the user.
By viewing the emphasized query keyword, the user can ascertain or estimate the reason that the sentence 141b is output from the display control system 1. In the example of
For example, the user confirms the emphasized query keyword and question keywords, corrects “ordinary” to “ordinary deposit,” and inputs, to the display control system 1, a query sentence 141c of “No, an ordinary deposit account.” Based on the query sentence 141c, the processor 10 narrows down the previously-selected question-answer pairs 142 and 143 to the question-answer pair 143. Based on the narrowing down, the processor 10 confirms whether or not the question 143a is appropriate for the inquiry of the user by outputting a sentence 141d of “Your question is, ‘I'd like to create an ordinary deposit account.’ To apply for an ordinary deposit account, . . . .’”
The selector 14 determines that “interest rate” is a paraphrase similar to “rate of interest.” The emphasizer 16 not only emphasizes “housing loan” as the query keyword but also emphasizes “interest rate” as a question keyword corresponding to the query keyword. For example, the emphasizer 16 displays “interest rate” in the same form as the form of the display of “housing loan.” The emphasizer 16 displays the question keywords “variable-type” and “fixed-type” included in a sentence 151b by emphasizing in a form different from that of “housing loan” and “interest rate.”
By emphasizing the paraphrase, the user easily understands that the paraphrase is used to search the question-answer pairs.
In the display control system 2 according to the second embodiment, the emphasized question keywords are determined based on the score of each question keyword. For example, in the display control system 2 as shown in
The determiner 17 determines the score of each question keyword extracted by the extractor 12. The score of the question keyword is set to be higher for a fewer number of question-answer pairs including the question keyword. In other words, the number of candidates when the question keyword is included in the query sentence is lower for a higher score of the question keyword. The determiner 17 determines the score of each question keyword using a technique such as the appearance frequency in the question-answer table, the inverse document frequency in the question-answer table, BM25, etc. For example, the determiner 17 calculates the proportion of the number of question-answer pairs including the question keyword to the total number of question-answer pairs included in the question-answer table. The determiner 17 uses the reciprocal of the proportion (the inverse document frequency) as the score. Or, the determiner 17 may set a numerical value set based on the proportion as the score. For example, the determiner 17 may convert the reciprocal of the proportion using a logarithmic function and may use the obtained numerical value as the score.
For example, the question-answer table is taken to include the four question-answer pairs 110a, 110b, 110c, and 110K as shown in
The emphasizer 16 assigns flags to the response based on the response generated by the generator 15 and the scores determined by the determiner 17. For example, the emphasizer 16 changes the form of the output according to the scores. For example, the emphasizer 16 assigns a flag so that the question keyword is displayed to be larger, bolder, or with a darker color for a higher score of the question keyword.
Steps S101 to S106, S108, and S109 of the flowchart shown in
Similarly to
In the examples of
Based on the selected question-answer pairs 162 and 163 and the question keywords 162c and 163c, the generator 15 generates a sentence 161b of “There are two answer candidates. Are there additional conditions such as investment trust, open, ordinary deposit, or the like?.” The emphasizer 16 assigns flags to the response for emphasizing and displaying “account” which is the query keyword and the three question keywords of “investment trust,” “open,” and “ordinary deposit” included in the sentence 161b.
For example, the scores of “investment trust” and “ordinary deposit” are higher than the score of “open.” The emphasizer 16 assigns flags to the response so that “investment trust” and “ordinary deposit” are displayed in the third form, and “open” is displayed in the fourth form. In the example of
In the example of
By changing the forms of the output according to the score, the user easily understands which question keyword is more important (has a higher score). By using an important keyword when the user inputs the next query sentence, the user easily narrows down the question-answer pairs used as candidates. Therefore, the user arrives at the sought answer more quickly.
In the examples of
In the display control system 2a according to the modification, the determiner 17 determines the flags for emphasizing the question keywords based on similarities between the query keyword and each question keyword.
For example, as shown in
The thesaurus includes pairs of mutually-similar keywords, and the similarity between the keywords. For example, the pair of keywords and the similarity are recited as “interest rate-rate of interest, 0.9.”
When the extractor 12 extracts multiple question keywords and the setter 13 sets a query keyword, the determiner 17 refers to the thesaurus of the fourth memory 24. The determiner 17 calculates the similarities between the query keyword and each question keyword and determines the score of each question keyword based on the similarity.
The determiner 17 may determine the score of each question keyword without referring to the thesaurus. For example, the determiner 17 may determine the similarity based on the number of characters matching between the question keyword and the query keyword. When the question keyword and the query keyword each include multiple words, the determiner 17 may determine the similarity based on the number of words matching between the question keyword and the query keyword. Or, the determiner 17 may calculate the edit distances between the query keyword and each question keyword. The determiner 17 compares the edit distance and a threshold. The question keywords for which an edit distance exceeding the threshold is calculated are determined to be similar to the query keyword. When the question keyword is determined to be similar to the query keyword, the determiner 17 determines the edit distance between the question keyword and the query keyword to be the score of the question keyword. For example, the score of a question keyword not similar to the query keyword is determined to be 0. Instead of directly using the edit distance, the determiner 17 may use the edit distance normalized using at least one of the character count of the query keyword or the character count of the question keyword.
Similarly to
In the example of
The question keywords 172c include the two question keywords of “loan” and “interest rate.” The question keywords 173c include the two question keywords of “investment trust” and “return.” The generator 15 extracts “loan” and “investment trust” from the question keywords 172c and 173c as question keywords not matching the query keyword. The generator 15 generates a sentence 171b of “There are two answer candidates. Are there additional conditions such as loan, investment trust, or the like?” for narrowing down the question-answer pairs.
In the example of
For example, the user inputs the query sentence 171a because the user would like to know the return of an investment trust. As shown in
In the example of
When calculating the similarity, the determiner 17 may determine a value indicating the unfamiliarity of the query keyword. The emphasizer 16 changes the form of the emphasis in the response based on the value. For example, when determining the similarity between the query keyword and the question keyword based on the edit distance or the number of matching characters, the determiner 17 compares the similarity to a first threshold and a second threshold. The first threshold is less than the second threshold. When the similarity is larger than the first threshold and smaller than the second threshold, the determiner 17 determines that the question keyword is an unknown word. The determiner 17 determines a value indicating the unfamiliarity based on the similarity, the first threshold, and the second threshold. When the query keyword is a phrase made of multiple words such as a compound noun, etc., the determiner 17 determines that the query keyword is an unknown word when the number of partially-matching characters is larger than a third threshold and smaller than a fourth threshold.
Similarly to
In the example of
The question keyword 182c includes the one question keyword of “automatic installment savings plan.” The question keyword 183c includes the one question keyword of “installment investment plan.” For example, the selector 14 determines that “automatic installment savings plan” and “installment investment plan” are paraphrases of “carefree installment savings plan” and selects the question-answer pairs including these question keywords.
Based on the selected question-answer pairs 182 and 183 and the question keywords 182c and 183c, the generator 15 generates a sentence 181b of “Your question is, ‘carefree installment savings plan (unfamiliarity: 0.33).’ There are two answer candidates.” The emphasizer 16 assigns flags to the response for emphasizing and displaying the question keywords “automatic installment savings plan” and “installment investment plan” corresponding to the query keyword determined to be an unknown word.
The determiner 17 determines a value indicating the unfamiliarity of “carefree installment savings plan.” “Carefree installment savings plan” includes the three words of “carefree,” “installment,” and “savings plan.” “Automatic installment savings plan” includes the three words of “automatic,” “installment,” and “savings plan.” “Installment investment plan” includes the three words of “installment,” “investment,” and “plan.” The determiner 17 counts the number of words matching between the query keyword and each question keyword. In the example, the number of words matching between the query keyword and each question keyword is 2. For example, the determiner 17 determines 1−2/3=1/3 (0.33) as the value indicating the unfamiliarity. The determiner 17 determines 1−1/3=2/3 (0.67) as the similarity between the query keyword and each question keyword. The emphasizer 16 emphasizes the question keywords according to these values.
As an example, based on the query sentence, the first query keyword of which the value indicating the unfamiliarity is a first value and a second query keyword of which the value indicating the unfamiliarity is a second value are set. The emphasizer 16 assigns flags to the response so that the form of the display of the first query keyword is different from the form of the display of the second query keyword in the response.
Instead of using a thesaurus when determining the unfamiliarity, the determiner 17 may use a model calculating the unfamiliarity based on the query sentence and the query keyword. The determiner 17 may use a neural network model, a support vector machine, a regression model, or the like pre-trained to discriminate between an unknown word and a question keyword included in the question-answer table.
For example, the value indicating the unfamiliarity is assigned to the response by the emphasizer 16 and displayed inside the sentence 181b. Similarities may be displayed for the question keywords 182c and 183c based on the words matching each query keyword and the number of matching words.
In the example of
In the display control system 3 according to the third embodiment, the processor 10 generates a response by referring to a fifth memory 25 and a sixth memory 26. The fifth memory 25 stores rules or a model used to understand intention. The sixth memory 26 stores a conceptual dictionary. The fifth memory 25 and the sixth memory 26 each include a memory device. The memory device includes, for example, at least one of a HDD, NAS, an eMMC, a SSD, or a SSHD. One memory device may function as the first memory 21, the fifth memory 25, and the sixth memory 26.
The conceptual dictionary includes multiple attribute data. Each attribute data includes an attribute indicating a characteristic of the question-answer pair, and an attribute value indicating the specific content of the attribute. For example, the two sets of attribute data of the attribute value of “education loan” for the attribute of “service name” and the attribute value of “I'd like to know the interest rate” for the attribute of “user action” are assigned to the question-answer pair 110a of the question-answer table shown in
Each rule includes a condition, and a result when the condition is satisfied. The result includes the attribute, and the attribute value relating to the attribute. For example, when the query sentence satisfies a condition, as a result, it is determined that the query sentence mentions the attribute and the attribute value recited.
As an example, the rule is set to “The service name is ‘education loan’ if ‘education loan’ or ‘tuition loan’ is included in the query sentence. When “education loan” or “tuition loan” is included in the query sentence, an intention understander 18 determines that the query sentence mentions the attribute value of “education loan” included in the attribute of “service name.”
As another example, the rule is set to “The user action is ‘I'd like to know the interest rate’ if ‘I'd like to know the interest rate,’ ‘Tell me the interest rate,’ or ‘How much is the interest rate’ are included in the query sentence. When “I'd like to know the interest rate,” “Tell me the interest rate,” or “How much is the interest rate” are included in the query sentence, the intention understander 18 determines that the query sentence mentions the attribute value of “I'd like to know the interest rate” included in the attribute of “user action.”
As shown in
When the acceptor 11 accepts the input of the query sentence, the intention understander 18 understands or estimates the intention of the query sentence by referring to the rules or the model stored in the fifth memory 25. Or, the fifth memory 25 may store an artificial neural network model or a recurrent neural network model. These neural network models are pre-trained using training data. The training data includes multiple data pairs including a sentence and the intention indicated by the sentence. The intention understander 18 understands the intention of the query sentence by using the artificial neural network model or the recurrent neural network model.
The selector 14 selects the question-answer pairs associated with the intention of the query sentence from the question-answer table. The generator 15 generates the response based on the selected question-answer pairs and the attributes and the attribute values assigned to the question-answer pairs while referring to the conceptual dictionary of the sixth memory 26. The emphasizer 16 determines whether or not the attribute and the attribute value are included in the generated response while referring to the conceptual dictionary of the sixth memory 26. When the attribute and the attribute value are included in the generated response, the emphasizer 16 assigns a flag to the response for emphasizing at least one of the attribute or the attribute value.
The acceptor 11 accepts the query sentence input by the user (step S101). The intention understander 18 understands the intention of the query sentence (step S301). Based on the result of the intention understanding, the selector 14 selects one or more question-answer pairs (step S104). The generator 15 generates a response based on the selected question-answer pairs (step S105). The emphasizer 16 determines whether or not attribute data is included in the response (step S302). When attribute data is included, the emphasizer 16 assigns a flag to the response for emphasizing the attribute data (step S107). The emphasizer 16 outputs the response to an external device (step S108). The processor 10 determines whether or not the dialog has ended (step S109).
In the example of
The selector 14 refers to the question-answer table and selects the question-answer pairs to which the attribute of “service name” is assigned, and “education loan” is assigned as the attribute value of the attribute. Question-answer pairs 192 to 194 are selected in the example of
Attribute data 192c in which the attribute is “service name” and the attribute value is “education loan” and attribute data 192d in which the attribute is “user action” and the attribute value is “I'd like to know the interest rate” are assigned to the question-answer pair 192. Attribute data 193c in which the attribute is “service name” and the attribute value is “education loan” and attribute data 193d in which the attribute is “user action” and the attribute value is “I'd like to know the borrowing period” are assigned to the question-answer pair 193. Attribute data 194c in which the attribute is “service name” and the attribute value is “education loan” and attribute data 194d in which the attribute is “user action” and the attribute value is “I'd like to apply” are assigned to the question-answer pair 194. Because three question-answer pairs are selected, the generator 15 generates a sentence 191b for narrowing down the question-answer pairs.
The emphasizer 16 assigns flags for emphasizing and displaying the attribute and the attribute value mentioned in the query sentence and the attribute and the attribute value included in the sentence generated by the generator 15. In the example of
In the example of
In the example of
The case is described above where the response output from the system according to the embodiment is displayed in a monitor. The response that is output from the system according to the embodiment may be output as a voice. An audio control system according to the embodiment includes the processor 10.
Instead of displaying the response to the query sentence of the user, the processor 10 may provide an audio output to an audio output device (a speaker). When accepting the first sentence input by the user, the processor 10 provides audio output of the first question-answer pair including the first question including the query keyword included in the first sentence, and the first answer to the first question. Also, the processor 10 provides audio output of the second sentence including a question keyword included in the first question and different from the query keyword. In these audio outputs, the processor 10 outputs the words other than the query keyword and the question keyword in the first form. The processor 10 outputs the query keyword in the second form different from the first form. The processor 10 outputs the question keyword in the third form different from the first form and the second form.
For example, in the audio output, the processor 10 performs at least one of providing a pause before and after the query keyword and before and after the question keyword, reducing the reading speed of the query keyword and the question keyword, increasing the reading sound level of the query keyword and the question keyword, or providing an accent to the query keyword and the question keyword.
It is desirable for the form of the audio output of the query keyword to be different from the audio output of the display of the question keyword. For example, when providing the audio output of the query keyword, the processor 10 performs one of providing a pause before and after the keyword, reducing the reading speed of the keyword, increasing the reading sound level of the keyword, or providing an accent to the keyword. For example, when providing the audio output of the question keyword, the processor 10 performs another one of providing a pause before and after the keyword, reducing the reading speed of the keyword, increasing the reading sound level of the keyword, or providing an accent to the keyword.
In the case where the response is provided by audio output from a speaker, the flags by the emphasizer 16 include, for example, information for performing at least one of providing a pause before and after the query keyword and before and after the question keyword, reducing the reading speed of the query keyword and the question keyword, increasing the reading sound level of the query keyword and the question keyword, or providing an accent to the query keyword and the question keyword.
In the case of providing an audio output of the response, the time necessary to read aloud the response lengthens if the response includes a question-answer pair. Therefore, in the case where the response is output by a voice, for example, as shown in
For example, the systems according to the embodiments described above are realized using the dialog device 4 shown in
The CPU 91 performs various processing in cooperation with various programs pre-stored in the ROM 94 or the memory 96 and comprehensively controls the operations of the components included in the dialog device 4. In the processing, the CPU 91 uses a prescribed region of the RAM 95 as a work region. The CPU 91 realizes the inputter 92, the outputter 93, the communication device 97, etc., in cooperation with programs pre-stored in the ROM 94 or the memory 96.
The inputter 92 includes, for example, at least one of a keyboard, a microphone, or a touch panel. The inputter 92 accepts the information input from the user as an instruction signal and outputs the instruction signal to the CPU 91. The outputter 93 includes, for example, at least one of a monitor, a speaker, or a printer. The outputter 93 outputs various information based on the signals output from the CPU 91.
The ROM 94 non-rewritably stores programs used to control the dialog device 4, various setting information, etc. The RAM 95 is a volatile storage medium such as SDRAM (Synchronous Dynamic Random Access Memory), etc. The RAM 95 functions as a work region of the CPU 91. Specifically, the RAM 95 functions as a buffer that temporarily stores various variables, parameters, etc., used by the dialog device 4, etc.
The memory 96 is a rewritable recording device such as a storage medium using a semiconductor such as flash memory or the like, a magnetically or an optically recordable storage medium, etc. The memory 96 stores programs used to control the dialog device 4, various setting information, etc. The memory 96 functions as the first to sixth memories 21 to 26. The communication device 97 is used to transmit and receive information by communicating with external devices.
According to the embodiments described above, a display control system, a program, and a storage medium can be provided in which the user easily can ascertain or estimate what kind of query sentence to input to the display control system to easily obtain the sought question-answer pair.
For example, the processing of the various data recited above is performed based on a program (software). For example, the processing of the various information recited above is performed by a computer storing the program and reading the program.
The processing of the various information recited above may be recorded in a magnetic disk (a flexible disk, a hard disk, etc.), an optical disk (CD-ROM, CD-R, CD-RW, DVD-ROM, DVD±R, DVD±RW, etc.), semiconductor memory, or another recording medium as a program that can be executed by a computer.
For example, the information that is recorded in the recording medium can be read by a computer (or an embedded system). The recording format (the storage format) of the recording medium is arbitrary. For example, the computer reads the program from the recording medium and causes a CPU to execute the instructions recited in the program based on the program. In the computer, the acquisition (or the reading) of the program may be performed via a network.
At least a part of the processing of the information recited above may be performed by various software operating on a computer (or an embedded system) based on a program installed in the computer from a recording medium. The software includes, for example, an OS (operating system), etc. The software may include, for example, middleware operating on a network, etc.
The recording medium according to the embodiments stores a program that can cause a computer to execute the processing of the various information recited above. The recording medium according to the embodiments also includes a recording medium to which a program is downloaded and stored using a LAN, the Internet, etc. The processing recited above may be performed based on multiple recording media.
The computer according to the embodiments includes one or multiple devices (e.g., personal computers, etc.). The computer according to the embodiments may include multiple devices connected by a network.
Hereinabove, exemplary embodiments of the invention are described with reference to specific examples. However, the embodiments of the invention are not limited to these specific examples. For example, one skilled in the art may similarly practice the invention by appropriately selecting specific configurations of components included in display control systems such as processors, storage mediums, etc., from known art. Such practice is included in the scope of the invention to the extent that similar effects thereto are obtained.
Further, any two or more components of the specific examples may be combined within the extent of technical feasibility and are included in the scope of the invention to the extent that the purport of the invention is included.
Moreover, all display control systems and storage media practicable by an appropriate design modification by one skilled in the art based on the display control systems and the storage media described above as embodiments of the invention also are within the scope of the invention to the extent that the purport of the invention is included.
Various other variations and modifications can be conceived by those skilled in the art within the spirit of the invention, and it is understood that such variations and modifications are also encompassed within the scope of the invention.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2019-014418 | Jan 2019 | JP | national |