(1) Field of the Invention
The present invention relates to a dialog supporting apparatus which supports an on-going dialog made between people.
(2) Description of the Related Art
Conventionally, a translation device has been developed with a purpose of supporting an on-going dialog in different languages respectively spoken by travelers and local people at travel destinations abroad or the like. A representative example is a translation apparatus which is obtained by providing a translation scheme based on text and translation of example sentences and example usages, on a small information processing apparatus such as a PDA (Personal Digital Assistance). Such an apparatus is provided with thousands of example usages in order to cover general travel conversation, and requires a user to select a desired example usage by viewing the list of example usages. Hence, the apparatus has a usability problem when it comes to actual use. Especially in the case where the apparatus has a small display for displaying a list of example usages and thus the number of example usages which can be viewed at one time is small, this problem is more noticeable. In addition, assuming a general use status of a translation apparatus, example usages corresponding to several sentences must be used in the dialog with the other party in great many cases. Thus, it takes more time than expected to complete an on-going dialog by means of a translation apparatus. Therefore, in order to achieve a final purpose of supporting an on-going dialog made between people, there is a need to add a supplementary function for enabling a user to immediately select a desired example usage from among the list of large number of example usages.
As a method for solving this problem, there has been provided an approach for narrowing down candidate next utterances of a user using example dialog models or a corpus of conversation training histories (for example, refer to Japanese Laid-open Patent Application No. 2003-30187).
Narrowing down candidate next utterances based on past dialog history of a user of the translation device is effective in the case where the utterances of the other party are included in the utterances. In addition, the narrowing down of candidate next utterances based on a virtual dialog which has been previously uttered in training or typical dialog patterns is effective in the case where the other party utters in compliance with the dialog pattern as expected by the user. However, it is common that dialog patterns vary among people. Here is an example case where a traveler starts a dialog with a train station attendant in order to reserve a train ticket. In response to the traveler's utterance of “I'd like to reserve a train ticket”, a train station attendant may start the dialog with an utterance relating to the date and time of a train ride saying “What day would you like to take train?” and another train station attendant may start the dialog with an utterance relating to the destination of a train saying “Where would you like to go?”. Such being the case, there is a problem that the narrowing-down of the candidates utterances fails depending on the other party in an on-going dialog. An additional problem is that inappropriate narrowing-down confuses dialog participants, resulting in increasing the time to complete the dialog, contrary to the purpose.
The present invention has been conceived in view of these circumstances. An object of the present invention is to provide a dialog supporting apparatus which can support a dialog so that the dialog is smoothly completed irrespective of who the other party is.
In order to achieve the above-described object, the dialog supporting apparatus of the present invention supports an on-going dialog made by dialog participants. The dialog supporting apparatus includes: a dialog history selection unit which selects a dialog history from a dialog history database, based on the information identifying the dialog participants and the situation of the dialog; and an utterance prediction unit which predicts a next utterance of one of the dialog participants in the dialog, based on the dialog history selected by the dialog history selection unit. Here, the dialog history database stores dialog histories of the dialog participants and people other than the dialog participants.
The dialog supporting apparatus of the present invention enables a user to easily select example usages from among the candidate next utterances of the user. Thus, it eliminates the necessity for the other party to wait, and therefore the dialog supported by the dialog supporting apparatus can be smoothly advanced.
The disclosure of Japanese Patent Application No. 2004-296775 filed on Oct. 8, 2004 including specification, drawings and claims is incorporated herein by reference in its entirety.
The disclosure of PCT application No. PCT/JP2005/018429, filed on Oct. 5, 2005, designating the United States of America, including specification, drawings and claims is incorporated herein by reference in its entirety.
These and other objects, advantages and features of the invention will become apparent from the following description thereof taken in conjunction with the accompanying drawings that illustrate a specific embodiment of the invention. In the Drawings:
The dialog supporting apparatus, of a first embodiment of the present invention, supports an on-going dialog made by dialog participants. The dialog supporting apparatus includes: a dialog history selection unit which selects a dialog history from a dialog history database, based on the information identifying the dialog participants and the situation of the dialog; and an utterance prediction unit which predicts a next utterance of one of the dialog participants in the dialog, based on the dialog history selected by the dialog history selection unit. Here, the dialog history database stores dialog histories of the dialog participants and people other than the dialog participants.
This makes it possible to search the histories, which include his or her own dialog histories, the dialog histories of the other party and dialog histories of people other than the dialog participants, for the history which is most similar to the dialog which is likely to be made next, and to predict the next dialog based on the history. Therefore, it becomes possible to support the dialog so that the dialog can be smoothly completed regardless of who the other party is.
Here, in a first aspect of the present invention, it is preferable that the dialog history selection unit of the dialog supporting apparatus extracts, as a standard dialog history, a dialog history which is most similar in the situation of the dialog from among dialog histories of each dialog participant, and that it selects a dialog history having a high degree of similarity with respect to each standard dialog history.
This makes it possible to predict the next utterance of a dialog participant based on the dialog history which has a high degree of similarity to the standard dialog history.
In addition, in a first aspect of the present invention, the dialog supporting apparatus may further include: an utterance receiving unit which receives an utterance of one of the dialog participants; an utterance processing unit which transforms the utterance received by the utterance receiving unit into the other utterance form; and an utterance outputting unit which outputs the utterance of the other utterance form transformed by the utterance processing unit.
This makes it possible to support an on-going dialog where different languages such as Japanese and English are used.
Note that the present invention can be realized not only as a dialog supporting apparatus like this, but also as a dialog supporting method having steps corresponding to the unique units which are provided to the dialog supporting apparatus like this, and as a program causing a computer to execute these steps. Of course, the program can be distributed through a recording medium such as a CD-ROM and a communication medium such as the Internet.
The embodiments of the present invention will be described with reference to the figures.
The dialog supporting system is intended for supporting dialog between people. As shown in
The server apparatus 200 includes a dialog history database 201 and a communication unit 202. The dialog history database 201 stores various types of dialog histories. The communication unit 202 communicates with the dialog supporting apparatus 100 through the network 300.
On the other hand, as shown in
The utterance receiving unit 101 receives an utterance of a dialog participant 1 and outputs utterance information for identifying the utterance. The utterance outputting unit 102 outputs the utterance information from another dialog participant, who is the dialog participant 2, to the dialog participant 1 as an utterance. Likewise, the utterance receiving unit 103 receives an utterance of the dialog participant 2 and outputs the utterance information. The utterance outputting unit 104 outputs the utterance information from the dialog participant 1 to the dialog participant 2 as an utterance. The utterance processing unit 105 transforms the utterances, which are identified by the utterance information outputted from the utterance receiving unit 101 and the utterance information outputted from the utterance receiving unit 103, into the other party's utterance form.
Before a dialog is started, the utterance prediction unit 106 obtains the authentication information of the dialog participant 1 and the dialog participant 2 and the situation of the dialog from the dialog participants. In addition, after the dialog is started, the utterance prediction unit 106 predicts an utterance in the dialog and displays it on a display panel of the dialog supporting apparatus before the utterance receiving unit 101 receives an utterance from the dialog participant 1 or before the utterance receiving unit 103 receives an utterance from the dialog participant 2.
The dialog history selection unit 107 searches the dialog history database 201 of the server apparatus 200 for the authentication information obtained by the utterance prediction unit 106, and selects the optimum dialog history from among the dialog history database 201. The communication unit 108 communicates with the server 200 through a network 300.
Next, here will be described how the dialog supporting system configured in the manner described above, operates in the case of supporting dialog in different languages. Here, it is assumed that the dialog participant 1 speaks Japanese, and the dialog participant 2 speaks English.
The utterance receiving unit 101 transforms the received utterance of the dialog participant 1 into corresponding utterance information. The corresponding utterance information is, for example, an utterance number in
In contrast, the utterance receiving unit 103 transforms the received utterance of the dialog participant 2 into the corresponding utterance information. The utterance information is, for example, an utterance number in
to the utterance outputting unit 102 as the utterance information. After that, in order to simplify the following description considering the language directions, the utterance number 1 inputted by the dialog participant 1 is abbreviated as J1 and an utterance number 2 inputted by the dialog participant 2 is abbreviated as E1.
The utterance receiving unit 101 allows the dialog participant 1 to directly select an utterance from the list of Japanese utterances, and outputs the utterance number as the utterance information. In addition, the utterance receiving unit 103 allows the dialog participant 2 to directly select an utterance from the list of English utterances, and outputs the utterance number as the utterance information. As for the configuration of the utterance receiving unit 101 or the utterance receiving unit 103, it may be realized by the processing of projecting the speech of each dialog participant to one of the utterance numbers using a speech recognition processing. In addition, it is realized by the processing of allowing a dialog participant to input a transcription or a character string corresponding to the pronunciation of the utterance through a keyboard and projecting the speech to one of the utterance numbers.
As shown in
The utterance prediction unit 106 requests the dialog history selection unit 107 to generate a prediction stack, when the dialog start button 601 is pressed as shown in
Next, the dialog history selection unit 107 calculates scores, which can be obtained by the equation of “score(d)=r(d|dr1)+r(d|dr2)”, of the dialog histories d's other than the dialog histories dr1 and dr2 which are included in the dialog history database 201 (Step S702). Here, r(da|db) is a degree of similarity of the dialog history da to the dialog history db, and the degree of similarity is defined by the following equation 801 shown in
First, the length of the utterance string A and the length of the utterance string B are adjusted to the same length using the dynamic programming (Step S1201). The number of utterances included in the utterance string A (utterance string B) is assumed to be m (Step S1202). Next, 1 is substituted to i (Step S1203). Whether or not A[i] is present in the utterance string B is judged (Step S1204). Note that A[i] shows the ith utterance in the utterance string A. In addition, as for φ, when A[i]=φ and B[j]=φ, it is not regarded as A[i] equals to B[j]. As a result of this judgment, in the case where A[i] is present in the utterance string B (Step S1204: YES), the utterance is assumed to be B[j] (Step S1205). After that, the maximum n which satisfies the condition that utterances A[i] to A[i+n] is the same as utterances B[j] to B[j+n] is obtained, and each of them is assumed to be a block (Step S1206). Next, i+n+1 is substituted to i (Step S1207).
In the case where the judgment on whether or not A[i] is present in the utterance string B showed that A[i] is not present in the utterance string B (Step S1204: NO), A[i] is assumed to be a block (Step S1208). After that, i+1 is substituted to i (Step S1209).
Next, whether i>m or not is judged (Step S1210). In the case where the judgment showed that i is not greater than m (Step S1207: NO), the processing step of judging whether or not A[i] is present in the utterance string B and the following processing steps (Steps S1204 to S1207) are repeated. On the other hand, in the case where the judgment showed that i is greater than m (Step S1207: YES), the processing is completed.
For example, in
Next, the dialog history selection unit 107 selects the dialog history d=the dialog history dmax which provides the maximum score(d) (Step S703). In the case of the example shown in
The dialog history selection unit 107 applies the algorithm for determining utterance blocks shown in
In the algorithm for determining utterance blocks shown in
and the other dialog history includes the utterance of
,
it is possible to judge these utterances as the same utterance included in both the two dialog histories. This is because the surface expressions of the utterances are similar to each other even though these utterances are assigned with different utterance numbers. This is true of the case where one of the dialog histories includes the utterance of “Thank you.” and the other dialog history includes the utterance of “Thank you very much.”. Furthermore, here is the case where one of the dialog histories includes the utterance of
and the other dialog history includes the utterance of
In this case, it is possible to judge these utterances as the utterance included in both the two dialog histories as long as
are defined as content words. This is because many content words are commonly included in the dialog histories. In addition, these judgment methods may be used in combination. To employ a flexible utterance judgment like this makes it possible to search an appropriate dialog history even in the case where no appropriate dialog history can be searched only by means of matching based on utterance numbers.
Here, the flow chart shown in
After receiving an utterance prediction stack from the dialog history selection unit 107, the utterance prediction unit 106 judges whether or not each of the prediction stack is empty (Step S403). In the case where the prediction stack is empty for the reason that the dialog history selection unit 107 cannot select any appropriate dialog history in the dialog history database 201, or for another reason (Step S403: YES), the utterance prediction unit 106 completes the processing without performing any utterance prediction action.
On the other hand, in the case where the prediction stack is not empty (Step S403: NO), the utterance prediction unit 106 displays the opening utterance of the prediction stack as the candidate next utterance (Step S404).
In the case where a prediction stack is generated as in the above-described case, the utterance prediction unit 106 displays the utterance of “May I help you?” which is the opening utterance in the prediction stack E1, E8, J2, (E3, J4), and (E5, J6, E7) on the prediction display area 1309. The dialog participant 2 may select an utterance from the example usage list 1305. However, since the desired utterance has already been displayed on the prediction display area 1309, the dialog participant 2 selects it as shown in
is notified to the utterance participant 1.
At this time, the utterance prediction unit 106 judges whether or not the utterance is inputted by one of the dialog participants (Step S405). When the utterance is inputted by the dialog participant (Step S405: YES), the utterance prediction unit 106 searches the prediction stack for a matching utterance starting with the opening utterance (Step S406), and judges whether or not there is a matching utterance (Step S407). In the case where there is a matching utterance (Step S407: YES), the utterance prediction unit 106 judges whether or not the matching utterance is the opening utterance of the prediction stack (Step S408). In the case where it is the opening utterance (Step S408: YES), it deletes the opening utterance of the prediction stack so as to update the prediction stack (Step S409). On the other hand, in the case where the utterance is not the opening utterance (Step S408: NO), it moves the block including the matching utterance to the opening part of the prediction stack, deletes the matching utterance and the utterances placed before the matching utterance so as to update the prediction stack (Step S410). After that, the utterance prediction unit 106 returns to the processing of judging whether or not the prediction stack is empty (Step S403).
Since the utterance of a dialog participant is E1 in the above example, the prediction stack is updated to E8, J2, (E3, J4), and (E5, J6, E7). After that, it returns to the processing of judging whether or not the prediction stack is empty (Step S403). Since the prediction stack is still not empty, the opening utterance E8 of “Please fill in this form.” is displayed on the prediction display area 1309 as shown in
The dialog participant 2 may select an utterance from the example usage list 1305. However, the desired utterance has already been displayed on the prediction display area 1309. In the case where the dialog participant 2 selects the prediction display area 1309 as shown in
is notified to the dialog participant 1. Likewise, the utterance prediction unit 106 updates the prediction stack to J2, (E3, J4), and (E5, J6, E7), and displays the utterance J2 of
on the prediction display area 1308 as shown in
The dialog participant 1 may select an utterance from the example usage list 1304. However the desired utterance has already been displayed on the prediction display area 1308. In the case where the dialog participant 1 selects the prediction display area 1308 as shown in
The example case described next is the case where the dialog participant 2 does not select the utterance E3 of “Have you made reservation?” which is predicted by the utterance prediction unit 106 on the prediction display area 1309 in
The utterance prediction unit 106 searches the prediction stack for the utterance E5, the utterance E5 is not the opening utterance of the prediction stack. Therefore, the utterance prediction unit 106 moves the utterance block including the utterance E5 to the opening part of the prediction stack so as to update the prediction stack to (E5, J6, E7), and (E3, J4). After that, it deletes the utterance E5 so as to update the prediction stack to (J6, E7), and (E3, J4). Therefore, in the processing of displaying the candidate next utterance (Step S404), the utterance J6 of
is displayed on the prediction display area 1308 as a candidate prediction utterance as shown in
on the prediction display area 1308 and continues the dialog smoothly. In this way, even in the case where a dialog participant does not select the utterance predicted by the utterance prediction unit 106, this embodiment makes it possible to flexibly support the dialog by predicting the future dialog which is made at the time of not selecting the predicted utterance.
Here, the effect of the present invention is quantitatively verified. In general, the degree of advancement of a dialog is proportional to the degree of similarity of dialog histories of dialog participants. In order to represent a degree of similarity as a specific number, the definition of
The already-described case is the case of assuming that the dialog participant 1 speaks Japanese and the dialog participant 2 speaks English in the dialog supporting system. Here will be described the case of assuming that the dialog participant 1 speaks Chinese and the dialog participant 2 speaks English.
The utterance receiving unit 101 transforms the received utterance of the dialog participant 1 into the corresponding utterance information. The utterance information is, for example, an utterance number in
In contrast, the utterance receiving unit 103 translates the received utterance of the dialog participant 2 into the corresponding utterance information. The utterance information is, for example, an utterance number. The utterance processing unit 105 transforms the utterance (English) of the dialog participant 2 into the corresponding utterance (Chinese) of the dialog participant 1 and outputs the character string. For example, in the case where the utterance number 1 is inputted, the utterance processing unit 105 outputs the following character string to the utterance outputting unit 102 as the utterance information.
After that, in order to simplify the following description considering the language directions, the utterance number 1 inputted by the dialog participant 1 is abbreviated as C1 and the utterance number 1 inputted by the dialog participant 2 is abbreviated as E1.
The utterance receiving unit 101 allows the dialog participant 1 to directly select an utterance from the list of Chinese utterances in
Each of
As shown in
The utterance prediction unit 106 identifies the dialog participants and the topic of the dialog which are needed for predicting utterances first (Step S401). For example, in the dialog supporting apparatus 100 which is realized as a PDA or the like as shown in
1 and the dialog participant
2, and the topic
of the dialog.
When the dialog start button
601 is pressed as shown in
The dialog history selection unit 107 determines the dialog history dr1 of the dialog participant 1 and the dialog history dr2 of the dialog participant 2 which are included in the dialog history database 201, based on the information concerning the authentication information of the dialog participants and the topic of the dialog which are notified by the utterance prediction unit 106 (Step S701). For example, in the case where a dialog history shown in one of
Next, the dialog history selection unit 107 calculates scores, which can be obtained by the equation “score(d)=r(d|dr1)+r(d|dr2)”, of the dialog histories d's other than the dialog histories dr1 and dr2 which are included in the dialog history database 201. After that, the dialog history selection unit 107 selects the dialog history d=the dialog history dmax which provides the maximum score(d) (Step S703). Here, the dialog history d7 is assumed to be selected.
The dialog history selection unit 107 applies the algorithm for determining the utterance blocks of
The utterance prediction unit 106 which received an utterance prediction stack generated in this way from the dialog selection unit 107 judges whether or not each of the prediction stacks is empty (Step S403). In the case where the prediction stack is empty for the reason that the dialog history selection unit 107 cannot select any appropriate dialog history in the dialog history database 201 or for another reason (Step S403: YES), the utterance prediction unit 106 completes the processing without performing any utterance prediction action.
On the other hand, in the case where the prediction stack is not empty (Step S403: NO), the utterance prediction unit 106 displays the opening utterance of the prediction stack as the candidate next utterance (Step S404).
button 1303 is the button pressed when the dialog is completed. The dialog participant 1 and the dialog participant 2 can select an arbitrary utterance from among all the utterances defined in
In the case where a prediction stack is generated as in the above-described case, the utterance prediction unit 106 displays the utterance of “May I help you?” which is the opening utterance in the prediction stack E1, E8, C2, (E3, C4), and (E5, C6, E7) on the prediction display area 1309. The dialog participant 2 may select an utterance from the example usage list 1305. However, since the desired utterance has already been displayed on the prediction display area 1309, the dialog participant 2 selects it as shown in
is notified to the utterance participant 1.
At this time, the utterance prediction unit 106 judges whether or not the utterance is inputted by a dialog participant (Step S405). When the utterance is inputted by the dialog participant (Step S405: YES), the utterance prediction unit 106 searches the prediction stack for a matching utterance starting with the opening utterance (Step S406), and judges whether or not there is a matching utterance (Step S407). In the case where there is a matching utterance (Step S407: YES), the utterance prediction unit 106 judges whether or not the matching utterance is the opening utterance of the prediction stack (Step S408). In the case where it is the opening utterance (Step S408: YES), it deletes the opening utterance of the prediction stack so as to update the prediction stack (Step S409). On the other hand, in the case where the utterance is not the opening utterance (Step S408: NO), it moves the block including the matching utterance to the opening part of the prediction stack, deletes the matching utterance and the utterances placed before the matching utterance so as to update the prediction stack (Step S410). After that, the utterance prediction unit 106 returns to the processing of judging whether or not the prediction stack is empty (Step S403).
Since the utterance of a dialog participant is the utterance E1 in the above example, the prediction stack is updated to E8, C2, (E3, C4), and (E5, C6, E7). After that, it returns to the processing of judging whether or not the prediction stack is empty (Step S403). Since the prediction stack is still not empty, the opening utterance E8 of “Please fill in this form.” is displayed on the prediction display area 1309 as shown in
The dialog participant 2 may select an utterance from the example usage list 1305. However, the desired utterance has already been displayed on the prediction display area 1309. In the case where the dialog participant 2 selects the prediction display area 1309 as shown in
is notified to the dialog participant 1. Likewise, the utterance prediction unit 106 updates the prediction stack to C2, (E3, C4), and (E5, C6, E7), and displays the utterance of
as shown in
The dialog participant 1 may select an utterance from the example usage list 1304. However, the desired utterance has already been displayed on the prediction display area 1308. In the case where the dialog participant 1 selects the prediction display area 1308 as shown in
As shown in
In addition, the dialog supporting apparatus of the second embodiment can be configured so that it includes a speech recognition unit 501 and a speech recognition unit 502 as shown in
In addition, as shown in
In addition,
To show dialog prediction development like this to the dialog participants enables the dialog participants to know an utterance of the other dialog participant. Since the dialog participants can organize their thoughts before making an utterance, they can handle the dialog supporting apparatus more accurately.
A case of Japanese and English and another case of Chinese and English are taken as examples described in the second embodiment. However, other languages such as French can also be the case described in the second embodiment, in other words, the present invention does not depend on languages.
Although only exemplary embodiments of this invention have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of this invention. Accordingly, all such modifications are intended to be included within the scope of this invention.
The dialog supporting apparatus of the present invention has a function for inputting utterances of dialog participants smoothly. It is useful as a translation application software or the like of mobile phones and mobile terminals. In addition, it is applicable in the use of public town terminals and guidance terminals and the like. Further, it is applicable in the use of, for example, a chat system where typical sentences are used.
Number | Date | Country | Kind |
---|---|---|---|
2004-296775 | Oct 2004 | JP | national |
This is a continuation application of PCT application No. PCT/JP2005/018429, filed Oct. 5, 2005, designating the United States of America.
Number | Name | Date | Kind |
---|---|---|---|
5854997 | Sukeda et al. | Dec 1998 | A |
5918222 | Fukui et al. | Jun 1999 | A |
6154720 | Onishi et al. | Nov 2000 | A |
6321188 | Hayashi et al. | Nov 2001 | B1 |
6622119 | Ramaswamy et al. | Sep 2003 | B1 |
6792406 | Fujimura et al. | Sep 2004 | B1 |
6917920 | Koizumi et al. | Jul 2005 | B1 |
7103553 | Applebaum et al. | Sep 2006 | B2 |
7197460 | Gupta et al. | Mar 2007 | B1 |
20020022954 | Shimohata et al. | Feb 2002 | A1 |
20020038207 | Mori et al. | Mar 2002 | A1 |
20020120436 | Mizutani et al. | Aug 2002 | A1 |
20020138588 | Leeds | Sep 2002 | A1 |
20030009448 | Covington et al. | Jan 2003 | A1 |
20030091163 | Attwater et al. | May 2003 | A1 |
20040186721 | Beynon et al. | Sep 2004 | A1 |
20050144013 | Fujimoto et al. | Jun 2005 | A1 |
20060025091 | Buford | Feb 2006 | A1 |
20060069546 | Rosser et al. | Mar 2006 | A1 |
Number | Date | Country |
---|---|---|
07105220 | Apr 1995 | JP |
09319750 | Dec 1997 | JP |
2000090087 | Mar 2000 | JP |
2003-030187 | Jan 2003 | JP |
2003-288339 | Oct 2003 | JP |
Number | Date | Country | |
---|---|---|---|
20060129409 A1 | Jun 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2005/018429 | Oct 2005 | US |
Child | 11349976 | US |