WO2016136207A1 - 音声対話装置、音声対話システム、音声対話装置の制御方法、および、プログラム - Google Patents

音声対話装置、音声対話システム、音声対話装置の制御方法、および、プログラム Download PDF

Info

Publication number
WO2016136207A1
WO2016136207A1 PCT/JP2016/000854 JP2016000854W WO2016136207A1 WO 2016136207 A1 WO2016136207 A1 WO 2016136207A1 JP 2016000854 W JP2016000854 W JP 2016000854W WO 2016136207 A1 WO2016136207 A1 WO 2016136207A1
Authority
WO
WIPO (PCT)
Prior art keywords
term
unit
user
held
voice
Prior art date
Application number
PCT/JP2016/000854
Other languages
English (en)
French (fr)
Inventor
釜井 孝浩
宇佐見 陽
中西 雅浩
Original Assignee
パナソニックIpマネジメント株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Publication of WO2016136207A1 publication Critical patent/WO2016136207A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Definitions

  • the present disclosure relates to a voice dialogue device, a voice dialogue system, a method for controlling a voice dialogue device, and a program for voice dialogue.
  • Patent Document 1 discloses an automatic interpretation system that determines whether or not an error has occurred in an interpretation result in a dialog with a user. When the user cannot understand the interpretation result of the other speaker's utterance, the automatic interpretation system determines the dialogue status and specifically presents an appropriate coping method.
  • This disclosure provides a speech dialogue apparatus that modifies the content of dialogue with a user by a simple method.
  • the voice interaction device includes a plurality of holding units, a term acquisition unit, a determination unit, and a change unit.
  • the holding unit holds terms related to the user's utterance.
  • the term acquisition unit acquires a term related to the user's utterance and stores the acquired term in a corresponding holding unit.
  • the determination unit determines whether or not the term held in the holding unit matches the content of the user's utterance.
  • the changing unit changes the term held by the holding unit to the term held by the holding unit in the past when it is determined as non-conforming in the suitability determination.
  • the speech dialogue apparatus is effective for correcting the content of dialogue with the user by a simple method.
  • FIG. 1 is a block diagram illustrating a configuration of a voice interaction apparatus and a voice interaction system according to the first embodiment.
  • FIG. 2 is a diagram for explaining presentation by the voice interaction system according to the first embodiment.
  • FIG. 3 is a diagram for explaining the dialogue sequence and history information according to the first embodiment.
  • FIG. 4 is a flowchart of main processing performed by the voice interaction apparatus according to the first embodiment.
  • FIG. 5 is a flowchart of the abnormality detection process performed by the voice interaction apparatus according to the first embodiment.
  • FIG. 6 is a flowchart of a repair process performed by the voice interaction apparatus according to the first embodiment.
  • FIG. 7A is a diagram for describing repair processing by the voice interactive apparatus according to Embodiment 1.
  • FIG. 1 is a block diagram illustrating a configuration of a voice interaction apparatus and a voice interaction system according to the first embodiment.
  • FIG. 2 is a diagram for explaining presentation by the voice interaction system according to the first embodiment.
  • FIG. 3 is a diagram for explaining
  • FIG. 7B is a diagram for describing repair processing by the voice interactive apparatus according to Embodiment 1.
  • FIG. 8 is a block diagram showing the configuration of the voice interaction apparatus and the voice interaction system according to the second embodiment.
  • FIG. 9 is a flowchart of main processing by the voice interaction apparatus according to the second embodiment.
  • FIG. 10 is a flowchart of the abnormality detection process performed by the voice interaction apparatus according to the second embodiment.
  • FIG. 11A is a diagram for explaining an embodiment of a voice interaction device.
  • FIG. 11B is a diagram illustrating one embodiment of a voice interaction device.
  • FIG. 12 is a diagram for explaining an embodiment of a voice interaction device.
  • FIG. 13A is a diagram illustrating one form of a voice interaction system.
  • FIG. 13B is a diagram for describing an embodiment of a voice interaction system.
  • FIG. 13C is a diagram for describing an embodiment of a voice interaction system.
  • FIG. 14A is a diagram illustrating a form for providing a voice dialogue using the technical idea of the present disclosure.
  • FIG. 14B is a diagram illustrating a form for providing a voice dialogue using the technical idea of the present disclosure.
  • FIG. 15 is a block diagram showing a configuration of a voice interactive apparatus according to a modification of each embodiment.
  • FIG. 16 is a flowchart showing a method for controlling a voice interaction apparatus according to a modification of each embodiment.
  • the voice dialogue apparatus performs voice dialogue with the user, generates and corrects dialogue information indicating the content of the dialogue with the user, and outputs the dialogue information to an external processing device. . Further, the voice interaction device acquires the processing result from the external processing device and presents it to the user, and further continues the dialogue with the user. As described above, the voice interaction device sequentially presents the processing results to the user while generating and correcting the interaction information based on the interaction with the user.
  • the voice interaction device is useful when an operation such as key input by the user or touching the panel is impossible or difficult.
  • applications such as a car navigation device that searches for information while sequentially receiving instructions by the user's voice when the user is driving a car or the like. It is also useful in a voice interaction device that does not have a user interface such as a key or a panel.
  • FIG. 1 is a block diagram showing a configuration of a voice interaction device 20 and a voice interaction system 1 according to the present embodiment.
  • the voice dialogue system 1 includes a display device 10, a speaker 11, a voice synthesis unit 12, a microphone 13, a voice recognition unit 14, a voice dialogue device 20, and a task processing unit 40. Is provided.
  • the display device 10 is a display device having a display screen.
  • the display device 10 displays an image on the display screen based on the display data acquired from the voice interaction device 20.
  • the display device 10 is realized by, for example, a car navigation device, a smartphone (high-function mobile phone terminal), a mobile phone terminal, a mobile information terminal, a display, or a PC (Personal Computer).
  • the display device 10 is shown as an example of a device that displays an image based on information presented by the voice interaction device 20, a speaker that outputs information presented by the voice interaction device 20 as a voice instead of the display device 10. May be used. This speaker may be shared with the speaker 11 described later.
  • Speaker 11 is a speaker that outputs sound.
  • the speaker 11 outputs sound based on the sound signal acquired from the sound synthesizer 12. The sound output from the speaker 11 is heard by the user.
  • the speech synthesis unit 12 is a processing unit that converts a response sentence into a speech signal.
  • the voice synthesizing unit 12 acquires a response sentence, which is information transmitted from the voice dialogue apparatus 20 to the user, from the voice dialogue apparatus 20, and generates a voice signal to be output by the speaker based on the obtained response sentence.
  • the speaker 11 and the voice synthesis unit 12 may be provided inside the voice dialogue apparatus 20 as one function of the voice dialogue apparatus 20 or may be provided outside the voice dialogue apparatus 20. Further, the voice synthesizer 12 may be realized as a so-called cloud server so as to be able to communicate with the voice interaction device 20 via a network such as the Internet. In that case, the connection between the voice synthesizer 12 and the voice interaction device 20 and the connection between the voice synthesizer 12 and the speaker 11 are made through a communication path via the Internet or the like.
  • the microphone 13 is a microphone that acquires sound.
  • the microphone 13 acquires the user's voice and outputs an audio signal based on the acquired voice.
  • the voice recognition unit 14 is a processing unit that generates speech data by performing voice recognition on the user's voice.
  • the voice recognition unit 14 acquires the voice signal generated by the microphone 13 and performs voice recognition processing on the acquired voice signal, thereby generating utterance data of the user's utterance.
  • the utterance data is information transmitted from the user to the voice interaction device 20, and is expressed by characters (text) such as “I want to eat Chinese”.
  • text such as “I want to eat Chinese”.
  • the speech recognition process converts a speech signal into text information, it can also be referred to as a text conversion process. In the speech recognition process, so-called misrecognition in which utterance data different from the true content of the utterance by the user is generated may occur.
  • the microphone 13 and the voice recognition unit 14 may be provided inside the voice dialogue device 20 as one function of the voice dialogue device 20 as in the voice synthesis unit 12 or the like, or provided outside the voice dialogue device 20. May be.
  • the voice recognition unit 14 may be realized as a cloud server like the voice synthesis unit 12.
  • the task processing unit 40 is a processing unit that performs processing based on the content of the dialogue between the user and the voice interaction device 20, and outputs information indicating the processing result or related information.
  • the processing by the task processing unit 40 may be any information processing based on the content of the dialogue.
  • the task processing unit 40 may execute a search process for searching a Web page of a restaurant that matches the content of the conversation from a Web page on the Internet, and output the search result. This case will be described below.
  • the unit of execution of processing by the task processing unit 40 is also referred to as a task.
  • processing for accumulating the contents of the dialogue as data may be executed, and information indicating the success or failure of the processing may be output.
  • the task processing unit 40 may identify an electric device to be controlled among a plurality of electric devices based on the content of the dialogue, and may output specific information or information on the operation of the electric device.
  • the voice dialogue device 20 is a processing device that performs voice dialogue with the user.
  • the spoken dialogue apparatus 20 generates and corrects dialogue information indicating the content of the dialogue with the user, and outputs the dialogue information to the task processing unit 40.
  • the voice interaction device 20 acquires from the task processing unit 40, presents the acquired processing result to the user, and further continues the dialog with the user.
  • the voice interaction device 20 includes a response sentence generation unit 21, an utterance data acquisition unit 22, a sequence control unit 23, a task control unit 24, an operation unit 25, an analysis unit 26, a memory 27, and a task result analysis unit. 28, an abnormality detection unit 29, and a presentation control unit 30.
  • the response sentence generation unit 21 is a processing unit that acquires a response instruction from the sequence control unit 23 and generates a response sentence based on the acquired response instruction.
  • the response sentence is information transmitted from the voice interaction device 20 to the user. Specifically, a sentence that prompts the user to speak, such as “Please specify a region”, a conflict with the user ’s speech, such as “Acknowledged”, or a voice, such as “Search” This is a sentence explaining the operation of the dialogue apparatus 20. What kind of response instruction is given at what time will be described in detail later.
  • the response sentence generator 21 is provided as, for example, a first response sentence generator and a second response sentence generator.
  • the utterance data acquisition unit 22 is a processing unit that acquires the utterance data of the user's utterance from the voice recognition unit 14.
  • the microphone 13 and the voice recognition unit 14 generate utterance data indicating the content of the utterance, and the utterance data acquisition unit 22 acquires the generated utterance data.
  • the utterance data acquisition unit 22 corresponds to one function of the acquisition unit 101 in FIG.
  • the sequence control unit 23 is a processing unit that realizes a dialogue with the user by controlling a dialogue sequence of the dialogue between the voice dialogue apparatus 20 and the user.
  • the dialogue sequence is data in which utterances by the user in the dialogue and responses by the voice dialogue apparatus 20 are arranged in time series.
  • the sequence control unit 23 corresponds to one function of the acquisition unit 101 in FIG.
  • the sequence control unit 23 acquires the utterance data of the user's utterance from the utterance data acquisition unit 22. Then, based on the acquired utterance data, the previous interaction sequence with the user, or the processing result acquired from the task result analysis unit 28, an instruction to create a response sentence to be presented to the user (hereinafter referred to as “response”). Is also referred to as “instruction”, and is sent to the response sentence generation unit 21. What kind of response instruction is generated in what case by the sequence control unit 23 will be specifically described later.
  • the sequence control unit 23 extracts terms (also referred to as utterance terms) from the acquired utterance data. Furthermore, the sequence control unit 23 stores the extracted term in the slot 31 associated with the attribute of the term via the operation unit 25.
  • the term refers to a relatively short word such as a word. For example, one noun or one adjective corresponds to one term. Note that storing a new term in the slot 31 is also referred to as updating the slot 31.
  • the task control unit 24 is a processing unit that outputs the content of the dialogue between the voice interactive device 20 and the user to the task processing unit 40 and causes the task processing unit 40 to execute a process based on the output content of the dialogue. Specifically, the task control unit 24 outputs the terms held in the plurality of slots 31 to the task processing unit 40. Further, the task control unit 24 determines whether or not a predetermined condition regarding the state of the plurality of slots 31 is satisfied, and the term held by the plurality of slots 31 is determined only when the predetermined condition is satisfied. You may make it output to the task process part 40. FIG.
  • the operation unit 25 is a processing unit that adds, deletes, or changes information indicating the content of the dialogue stored in the memory 27.
  • the abnormality detection unit 29 detects that the term held in the slot 31 is not compatible with the content of the user's utterance due to erroneous recognition by the voice recognition unit 14 or the like, It is restored by changing the term held in the slot 31.
  • the repair process will be described later in detail.
  • the operation unit 25 corresponds to one function of the acquisition unit 101 in FIG. 15 and one function of the change unit 103 in FIG.
  • the analysis unit 26 is a processing unit that analyzes the slot 31 or the history table 32 in the memory 27 and notifies the sequence control unit 23 according to the analysis result. Specifically, the analysis unit 26 determines whether or not each of the slots of the essential slot group of the slots 31 holds the term, and when all the slots of the essential slot group hold the term. Notifies the sequence control unit 23 to that effect.
  • the analysis unit 26 corresponds to one function of the changing unit 103 in FIG.
  • the analysis unit 26 refers to the history table 32 using the operation unit 25 and performs a repair process for changing the term held in the slot 31. Specific processing contents of the repair processing will be described in detail later.
  • the memory 27 is a storage device that stores dialogue contents. Specifically, the memory 27 has a slot 31 and a history table 32.
  • the slot 31 is a storage area for holding dialogue information indicating the content of the dialogue, and a plurality of slots are provided in the voice dialogue device 20.
  • Each of the plurality of slots 31 is associated with a term attribute, and holds a term having an attribute associated with the slot 31.
  • the entire terms stored in each of the slots 31 indicate the dialogue information.
  • Each slot 31 holds one term. When a new term is held in the slot 31 in a state where one term is held (that is, when it is updated), the one term held before is deleted from the slot 31. Is done.
  • the term attribute is information indicating the nature, feature or category of the term.
  • the dish name, area, budget, existence of a private room, existence of a parking lot, required time on foot from the nearest station, whether or not chartering is possible, or Information such as whether or not a night view is visible can be used as an attribute.
  • holding a term in the slot 31 can also be expressed as storing or registering a term in the slot 31.
  • the area of the slot 31 in the memory 27 corresponds to the holding unit 104 in FIG.
  • the slot 31 may be provided with two types, that is, an essential slot and an optional slot.
  • the essential slot is a slot 31 in which the task control unit 24 does not output a term to the task processing unit 40 unless the essential slot holds a term.
  • the option slot is a slot 31 in which the task control unit 24 outputs the term to the task processing unit 40 if all the essential slots hold the term even if the option slot does not hold the term. It is. For example, when a search task is executed as task processing, when the task control unit 24 outputs the terms held in all slots 31 to the task processing unit 40, all slots 31 included in the essential slot group use the terms. The output may be performed only when it is held. Whether the slot 31 is an essential slot or an optional slot is predetermined for each slot 31. If the above two types are not provided and there is only one type, all of the slots 31 may be required slots or optional slots. Which of these may be determined as appropriate based on the processing of the task processing unit 40 or the content of the dialogue.
  • the history table 32 is a table showing the history of terms held by the plurality of slots 31. Specifically, the history table 32 is a table in which the terms held in the past by the plurality of slots 31 and the terms currently held are stored in time series. By holding a new term in the slot 31, even when the term held immediately before is deleted from the slot 31, the deleted term remains in the history table 32.
  • the history table 32 may store information indicating the time at that time (for example, a time stamp) together with the terms held by the plurality of slots 31 in the past.
  • the history table 32 may store only terms held by a plurality of slots 31 in the past.
  • the area where the history table 32 is stored corresponds to the storage unit 105 in FIG.
  • the task result analysis unit 28 is a processing unit that acquires a processing result by the task processing unit 40 and analyzes the acquired processing result.
  • the task result analysis unit 28 analyzes the acquired processing result and passes the analysis result to the sequence control unit 23. This analysis result is used when the operation unit 25 determines whether or not to set a restoration point at a time corresponding to the current time in the history table 32.
  • the task result analysis unit 28 may be provided as a function of the external processing control unit.
  • the task result analysis unit 28 acquires the title and URL (Uniform Resource Locator) of the Web page on which the searched information is posted as a result of the restaurant search process by the task processing unit 40.
  • URL Uniform Resource Locator
  • the anomaly detection unit 29 detects an anomaly based on the response sentence generated by the response sentence generation unit 21 when the term held in the slot 31 does not match the content of the user's utterance.
  • the process of detecting this abnormality is also referred to as suitability determination.
  • the abnormality detection unit 29 determines suitability based on the result of processing performed by the voice interaction device 20 based on the terms held in the slot 31.
  • the abnormality detection unit 29 acquires the response sentence generated by the response sentence generation unit 21 as a result of the above processing, and detects an abnormality by performing an abnormality detection process on the acquired response sentence.
  • the abnormality detection unit 29 notifies the sequence control unit 23 and the like, and based on this notification, a repair process is performed by the operation unit 25 and the like.
  • the abnormality detection unit 29 corresponds to the determination unit 102 in FIG.
  • the presentation control unit 30 is a processing unit that generates presentation data to be presented to the user by the display device 10 and outputs the presentation data to the display device 10.
  • the presentation control unit 30 obtains a processing result from the task processing unit 40, arranges the position on the screen of the display device 10 so that the user can browse the processing result effectively, and outputs it to the display device 10
  • the presentation data is output to the display device 10 after being converted into a suitable data format.
  • part or all of the functions of the voice interaction device 20 and the task processing unit 40 may be realized as a cloud server, like the voice synthesis unit 12 and the like.
  • FIG. 2 is an explanatory diagram of presentation by the voice interaction system 1 according to the present embodiment.
  • the explanatory diagram shown in FIG. 2 is an example of an image displayed on the display screen when the display device 10 presents the processing result by the task processing unit 40 to the user.
  • Character strings 201 to 205 indicating attributes are displayed on the left side of the display screen. Character strings 201 to 205 are character strings indicating attributes of the plurality of slots 31.
  • the terms 211 to 215 are displayed on the right side of the display screen.
  • the terms 211 to 215 are terms held in the slots 31 associated with the attributes of the character strings 201 to 205, respectively.
  • the character string 206 is a character string indicating that what is displayed below the character string 206 is a search result.
  • the result information 216 is information indicating a result of the restaurant search performed by the task processing unit 40 based on the terms 211 to 215.
  • the content of the dialogue and the result information that is the processing result by the task processing unit 40 based on the content of the dialogue are displayed on the display device 10, and the user knows the processing result in which the content of the dialogue is reflected. Can do.
  • the image displayed on the display screen is not limited to that shown in FIG. 2, and the displayed information, the presence / absence of display such as its arrangement, and the display position may be arbitrarily changed.
  • FIG. 3 is an explanatory diagram of a dialogue sequence and history information according to the present embodiment.
  • FIG. 3 shows a dialogue sequence 310, a history table 320, and a search result 330 together with the time series of the dialogue sequence. Note that one row shown in FIG. 3 corresponds to one time point. This line is also called a record.
  • the history table 320 is an example of the history table 32.
  • the dialogue sequence 310 is data in which utterances by the user in the dialogue and responses by the voice dialogue apparatus 20 are arranged in time series.
  • the time information 311 is time information (time stamp) indicating the time when the user uttered or responded by the voice interaction apparatus 20.
  • the utterance 312 is utterance data indicating the utterance by the user at the time. Specifically, the utterance 312 is utterance data indicating the utterance by the user's voice acquired by the utterance data acquisition unit 22 via the microphone 13 and the voice recognition unit 14.
  • the response 313 is a response sentence indicating a response by the voice interaction device 20 at the time. Specifically, the response 313 is generated by the response sentence generation unit 21 in response to a response instruction from the sequence control unit 23.
  • the history table 320 includes information on a mandatory slot group 321, an option slot group 322, an action 323, and a history pointer 324.
  • the history table 320 is information indicating the history of the slot 31 stored in the history table 32, and is shown in time series of the time information 311 of the dialogue sequence 310.
  • the essential slot group 321 is a term held in an essential slot among the slots 31 at the time.
  • the essential slot group 321 includes, for example, terms of attributes of “dishes name”, “region”, and “budget”.
  • the option slot group 322 is a term held in the option slot of the slots 31 at the time.
  • the option slot group 322 includes, for example, attribute terms of “presence / absence of private room” and “presence / absence of parking lot”.
  • the action 323 is information indicating processing executed by the voice interaction apparatus 20 at the time point, and a plurality of information may be stored. For example, when a new term is held in a slot 31 with a certain attribute, the name of the attribute and a character string “register” are set at the time point to indicate that. In addition, when the task control unit 24 outputs a term to the task processing unit 40 to search for information, a character string “search” is set. In addition, a character string “repair” is set when the operation unit 25 repairs by changing the term held in the slot 31 to that at a predetermined time.
  • the history pointer 324 is information for specifying a record used as a reference destination in the restoration process by the analysis unit 26 and the operation unit 25. Specifically, the record at the time of restoration by the restoration process is set as “repair destination” in the history pointer 324.
  • the term stored in the slot 31 by the repair process is the term that the slot 31 has stored in the past. Records relating to the past time are set in the history pointer 324 as “repair source”.
  • the search result 330 is the number of search processing results by the task processing unit 40 at the time.
  • the search result 330 is set by the task result analysis unit 28.
  • FIG. 3 shows an interactive sequence when the user sequentially searches for a restaurant under different search conditions while changing the search conditions.
  • FIG. 3 shows a dialogue sequence when the content of the dialogue is changed to the content of the dialogue at the past time intended by the user.
  • the terms included in the user's utterance are sequentially acquired by the utterance data acquisition unit 22 and the like, and each of the acquired terms is stored in the slot 31 corresponding to the attribute of the term. .
  • the “budget” slot 31 has no term, so the sequence control unit 23 and the response sentence generation unit 21 A response for causing the user to utter the term to be stored in 31 is performed.
  • the user utters “10,000 yen (Ichiman-en)” with the intention of setting the budget to 10,000 yen according to the above response.
  • the speech recognition unit 14 misrecognizes this utterance as “Imaichi” and the utterance data acquisition unit 22 determines that “Imaichi” is the name of the area.
  • the term held by the slot 31 related to “region” is updated from “Akasaka” to “Imaichi”.
  • the sequence control unit 23 and the response sentence generation unit 21 make a response for causing the user to utter a term to be stored in the “budget” slot 31.
  • the user speaks “10,000 yen (Ichiman-en)” again with the intention of setting the budget to 10,000 yen according to the above response.
  • the speech recognition unit 14 recognizes the utterance again as “Imaichi” again, the utterance data acquisition unit 22 stores the term “Imaichi” again in the slot 31 associated with “Region”. Before and after this storage, the “region” slot 31 holds the same term “Imaichi”.
  • the sequence control unit 23 and the response sentence generation unit 21 again make a response for causing the user to utter the term to be stored in the “budget” slot 31.
  • the response sentence generation unit 21 utters an utterance that is easily recognized by the voice recognition unit 14 as a user.
  • a special response sentence that is a response sentence to be executed is generated. The special response sentence will be described later.
  • the user responds according to the special response text, so that the possibility of correct speech recognition increases. If the user intends to set the budget to 10,000 yen and speaks “Yosan-wa-Ichiman-en-de”, the voice can be easily recognized correctly.
  • the term “10,000 yen” related to the budget included in the utterance by the user is acquired by the utterance data acquisition unit 22 and the like, and the search process based on the term held in the slot 31 is performed. .
  • the voice interaction device 20 can correct the deviation between the content of the dialogue and the intention of the user caused by the misrecognition in the voice recognition based on the speech by the user's voice.
  • the voice interaction device 20 can correct the content of the dialogue with the user by a simple method.
  • FIG. 4 is a flowchart of main processing by the voice interaction apparatus 20 according to the present embodiment.
  • step S101 the microphone 13 acquires the voice of the user's utterance and generates a voice signal based on the acquired voice.
  • the voice of the utterance by the user is a voice including a term for restaurant search such as “I want to eat Chinese” or “At Moriguchi”.
  • step S102 the voice recognition unit 14 performs voice recognition processing on the voice signal generated by the microphone 13 in step S101, thereby generating utterance data of the user's utterance. In this voice recognition process, erroneous recognition may occur.
  • step S103 the utterance data acquisition unit 22 acquires the utterance data generated by the voice recognition unit 14 in step S102.
  • step S104 the sequence control unit 23 determines whether or not the utterance data acquired by the utterance data acquisition unit 22 in step S103 is empty.
  • step S104 determines that the utterance data is empty in step S104 (“Y” in step S104). If the sequence control unit 23 determines that the utterance data is empty in step S104 (“Y” in step S104), the process proceeds to step S121. On the other hand, if it is determined that the utterance data is not empty (“N” in step S104), the process proceeds to step S105.
  • the sequence control unit 23 stores the term included in the utterance data in the slot 31 using the operation unit 25. Specifically, the sequence control unit 23 determines the attribute of the term for each of the terms included in the utterance data, and stores the term in the slot 31 having an attribute that matches the attribute of the term. For example, the sequence control unit 23 determines that the term “Chinese” included in the utterance data “Chinese wants to eat” is a term having a dish name attribute, and the term “Chinese” is a slot having a dish name attribute. 31. At this time, when the term stored in the slot 31 is an abbreviation or common name of the original name, the sequence control unit 23 converts the original name into the original name and stores it in the slot 31. Good. Specifically, the sequence control unit 23 may determine that the term “Chinese” is an abbreviation of “Chinese cuisine” and store “Chinese cuisine” in the slot 31.
  • step S106 the operation unit 25 and the presentation control unit 30 display the terms held in the slot 31 by the display device 10.
  • step S107 the operation unit 25 or the like performs a repair process for repairing a misrecognition that has occurred in the speech recognition as necessary. Details of the repair process will be described later in detail.
  • step S108 the analysis unit 26 determines whether the term is stored in all the slots 31 of the essential slot group, that is, whether all the slots 31 of the essential slot group hold the term.
  • step S108 determines that the term is stored in all the slots 31 in step S108 ("Y" in step S108)
  • the process proceeds to step S109.
  • the analysis unit 26 determines that no term is stored in all the slots 31 (“N” in step S108), that is, if at least one slot 31 in the essential slot group is empty, the step Proceed to S131.
  • step S109 the sequence control unit 23 gives the task control unit 24 an execution instruction for causing the task processing unit 40 to execute the task processing.
  • the operation unit 25 records in the history table 32 that the search task has been executed. Specifically, the operation unit 25 sets “search” to the current action 323 in the history table 320.
  • step S110 the task control unit 24 outputs the term held in the slot 31 to the task processing unit 40 based on the execution instruction from the sequence control unit 23 in step S109, and performs search processing on the task processing unit 40. Let it run.
  • the task processing unit 40 acquires the term output by the task control unit 24, performs a search process using the acquired term as a search term, and outputs a search result.
  • step S111 the presentation control unit 30 acquires the search result output by the task processing unit 40 in step S110, and presents the acquired search result to the user in the display device 10 (for example, FIG. 2).
  • the display mode is output to the display device 10.
  • the display device 10 acquires the search result output by the presentation control unit 30 and displays it on the display screen.
  • step S112 the sequence control unit 23 gives a response instruction for prompting the user to speak next to the response sentence generating unit 21.
  • step S113 the response sentence generation unit 21 generates a response sentence based on the response instruction.
  • the response sentence generation unit 21 outputs the generated response sentence to the speech synthesizer 12, and outputs the response sentence as a sound from the speaker 11 to allow the user to listen.
  • step S113 When the process of step S113 is completed, the process of step S101 is executed again.
  • step S121 the sequence control unit 23 gives a response instruction to the response sentence generation unit 21 to prompt the user to re-utter (perform the same utterance as the previous time).
  • the fact that the utterance data is determined to be empty in step S104 means that the voice recognition unit 14 cannot acquire the utterance data from the sound although the microphone 13 has acquired some sound. . Therefore, it is expected that utterance data can be acquired by requesting the user to perform the same utterance as the previous time.
  • step S131 the sequence control unit 23 gives a response instruction for prompting the user to speak next to the response sentence generating unit 21. For example, when there is a slot 31 that does not hold a term among the slots 31 included in the essential slot group, the sequence control unit 23 causes the user to utter the term that the slot 31 that does not hold the term should hold. A response instruction is generated to generate a response sentence. For example, when the “budget” slot 31 does not hold a term, a response instruction is generated to generate a response sentence “how much is the budget?”.
  • step S132 the abnormality detection unit 29 acquires the response sentence generated by the response sentence generation unit 21 in step S131, and performs an abnormality detection process based on the acquired response sentence. Details of the abnormality detection process will be described later in detail.
  • step S133 it is determined whether or not an abnormality is detected in the abnormality detection process in step S132. If an abnormality is detected (“Y” in step S133), the process proceeds to step S134. On the other hand, if no abnormality is detected (“N” in step S133), the process proceeds to step S113.
  • step S134 the sequence control unit 23 gives a response instruction so that the response text generation unit 21 generates a special response text.
  • the special response sentence is a response sentence for causing the user to make an utterance that is easily recognized by the voice recognition unit 14. This response instruction is also referred to as a special response instruction.
  • the special response sentence is, for example, “Please give me a budget like A yen”. Step S113 is performed after step S134.
  • FIG. 5 is a flowchart of the abnormality detection process performed by the voice interaction apparatus 20 according to the present embodiment.
  • the flowchart shown in FIG. 5 shows the process of step S132 in FIG. 4 in detail, and the process of determining whether or not the term held in the slot 31 matches the content of the user's utterance. It is an example.
  • step S201 the abnormality detection unit 29 determines whether or not the response sentence generated by the response sentence generation unit 21 in step S131 is the same as the response sentence generated previously by the response sentence generation unit 21.
  • step S201 If it is determined in step S201 that the generated response sentence is the same as the previous one, the process proceeds to step S202. On the other hand, when it determines with the produced
  • step S202 the abnormality detection unit 29 increments the same response count N (add 1).
  • step S203 the abnormality detection unit 29 determines whether N is greater than 1. If it is determined that N is greater than 1 (“Y” in step S203), the process proceeds to step S134 in FIG. 4 via step S204. When N is 1 or less (“N” in step S203), the process proceeds to S113 in FIG. Instead of determining whether N is greater than 1, it may be determined whether N is greater than a predetermined T (T is an integer equal to or greater than 1).
  • the abnormality detection unit 29 asserts (enables) an abnormality flag.
  • the abnormality flag is a flag indicating that the term held in the slot 31 as the content of the dialogue with the user is not compatible with the content of the user's utterance, and a condition for executing a repair process for repairing the content of the dialogue. It will be.
  • the abnormality flag is stored in an appropriate storage area (for example, a predetermined area in the memory 27).
  • step S211 the abnormality detection unit 29 clears the same response count N (sets 0).
  • step S201 The fact that the response sentence generated in step S201 is determined to be the same as the previously generated response sentence is retained in the slot 31 even though a new utterance is acquired by the user in step S101 (FIG. 4). It means that there is no change in terminology. That is, there is a possibility that the voice interaction device 20 cannot correctly acquire the content of the user's utterance. Therefore, when such a determination is repeated (T + 1) times or more, the content of the dialog acquired by the voice interaction device 20 (that is, the term held in the slot 31) matches the content of the user's utterance. It is determined that it is not, and the abnormal flag is asserted.
  • the abnormality detection unit 29 may determine that the response sentence is appropriate even if the generated response sentence is the same as the previous one. For example, there is a case where the time difference between the time when the previous response sentence was generated and the time when the response sentence generation unit 21 generated the response sentence in step S131 is equal to or longer than a predetermined time. In such a case, it may be determined that the term held in the slot 31 matches the content of the user's utterance. In this case, the abnormality detection unit 29 may not perform the determination in step S201. In addition, a past response sentence generated a predetermined time or more before the time when the response sentence is generated by the response sentence generation unit 21 in step S131 may be excluded from the abnormality detection process.
  • the predetermined time is determined as the maximum time that the user recognizes that the dialogue with the voice dialogue apparatus 20 is a series of dialogues.
  • the predetermined time may be set to 10 minutes or 1 hour. May be set. This is because it is considered that the suitability of the content of the user's utterance cannot be correctly determined even if the response sentence generated in the past from the time that the user recognizes as a series of conversations.
  • FIG. 6 is a flowchart of the repair process performed by the voice interaction apparatus 20 according to the present embodiment.
  • 7A and 7B are explanatory diagrams of the repair process by the voice interaction device 20 according to the present embodiment.
  • FIGS. 7A and 7B show the details of the process of step S107 in FIG. 4, and the process of repairing the term held in the slot 31.
  • An example is shown. 7A and 7B are extracted from the dialogue sequence and history information of FIG. 3 that are related to the restoration process.
  • FIG. 7A is the one before the repair process is performed
  • FIG. 7B is the one after the repair process is performed.
  • step S301 the analysis unit 26 determines whether or not the abnormality flag is asserted.
  • step S302 is executed.
  • the series of processes in FIG. 6 is terminated.
  • step S302 the analysis unit 26 searches for a record including “repair” as the action 323 in the history table 320.
  • step S303 the analysis unit 26 determines whether a record including “repair” is found in step S206. If the record is found (“Y” in step S303), step S304 is executed. On the other hand, when the record is not found (“N” in step S303), step S321 is executed.
  • step S304 the analysis unit 26 determines a range from a record including “repair” found in step S303 to a record corresponding to the current time point (also referred to as “current record”) as a processing target of the subsequent processing. .
  • step S321 the analysis unit 26 determines a range from the first record of the history table 320 to the current record as a processing target of the subsequent processing.
  • step S304 and step S321 when the processing target includes a record more than a predetermined time before the current time, the record may be excluded from the processing target.
  • step S305 the analysis unit 26 acquires the term held in the slot 31 of the record including “update” as the action 323 of the history table 320.
  • records R102 and R112, which are records including “update” as action 323, are specified.
  • the analysis unit 26 acquires the term A as the term held in the slot 31A in the record R102, and acquires the term B as the term held in the slot 31A in the record R112.
  • step S306 based on the term acquired in step S305, the analysis unit 26 identifies a slot and a record in which the retained term is the same as that before the update.
  • the slot 31A is specified as a slot having the same term as that before the update, and R112 is specified as a record.
  • step S307 the analysis unit 26 determines whether the slot and the record have been identified in step S306. If it can be identified (“Y” in step S307), the process proceeds to step S308. On the other hand, if it cannot be specified (“N” in step S307), the process proceeds to step S311.
  • step S308 the operation unit 25 sets “repair source” as a history pointer of a record in which the slot specified in step S306 holds a term different from the term held in the specified record. More specifically, “repair source” is set as the history pointer of the record before the specified slot holds the term held in the specified record. As shown in FIG. 7B, in the record R112 that is the specified record, the slot 31A that is the specified slot holds the term B. The operation unit 25 sets “repair source” to the history pointer 324 of the record R101 that is the record having the term A held before the slot 31A holds the term B. Note that the operation unit 25 does not hold any term in the specified slot 31 in the record at the time point before holding the term held in the record specified by the specified slot 31. “Repair source” is set in the history pointer 324 of the record.
  • step S309 the operation unit 25 restores the term retained in the slot 31A by changing the term retained in the slot 31A in the restoration source record. Specifically, in FIG. 7B, a new record R113 in which the term held in the slot 31A is changed to A is added. When the slot 31A does not hold any term in the restoration source record, the operation unit 25 deletes the term held by the slot 31A, that is, the slot 31A does not hold the term. It should be in a state.
  • step S310 the operation unit 25 sets “repair” as the action 323 of the current record in the history table 320. Specifically, “repair” is set in the action 323 of the record R113 in FIG. 7B.
  • step S311 the operation unit 25 negates (invalidates) the abnormality flag.
  • step S311 a series of processes shown in FIG. 6 is ended.
  • a response indicating that the term is repaired may be sent to the user.
  • This response may be, for example, “The place name has been returned to A”.
  • the content of the dialog is modified by changing the content of the dialog that was updated differently from the user's intention due to misrecognition of voice recognition, etc., based on the user's voice. Is done.
  • the voice interaction apparatus 20 includes the slot 31, the history table 32, the utterance data acquisition unit 22, the abnormality detection unit 29, and the operation unit 25.
  • the slot 31 is for holding a term.
  • the history table 32 stores a history of terms held in the slot 31.
  • the utterance data acquisition unit 22 acquires utterance data generated by recognizing the utterance by the user's voice, and holds the utterance terms included in the acquired utterance data in the slot 31 so that the slot 31 holds the utterance term. Update the terms you have.
  • the abnormality detection unit 29 determines whether or not the term held in the slot 31 after the update matches the content of the user's utterance.
  • the operation unit 25 determines that it is unsuitable in the suitability determination, the operation unit 25 refers to the history table 32 and changes the term held in the slot 31 to the term held in the slot 31 before the update.
  • the voice interaction device 20 can eliminate the incompatibility between the term held by the holding unit and the content of the user's utterance by the above change based on the user's voice.
  • the nonconformity is assumed to be caused by misrecognition in the speech recognition processing. This is recognized by the user that the content of the dialogue has not been correctly transmitted to the speech dialogue apparatus 20.
  • the voice interaction apparatus 20 can automatically detect that there is the above-mentioned incompatibility and eliminate the incompatibility. Therefore, the voice interaction device 20 can correct the content of the dialogue with the user by a simple method.
  • the operation unit 25 may perform the suitability determination based on the result of the process performed by the voice interaction device 20 using the terms held in the slot 31.
  • the voice interaction device 20 can automatically detect the nonconformity based on the content of the dialogue with the user, and can eliminate the nonconformity. Therefore, the voice interaction device 20 can correct the content of the dialogue with the user by a simple method.
  • the voice interaction device 20 may further include a response sentence generation unit 21 that generates a response sentence for prompting the user to speak based on the terms held in the slot 31.
  • the abnormality detection unit 29 acquires the response sentence generated by the response sentence generation unit 21 as a result of the processing, determines whether or not the contents of the response sentence are the same continuously for a predetermined number of times in the suitability determination, and is identical. If it is determined that there is, it may be determined as nonconforming.
  • the voice interaction apparatus 20 can specifically detect the nonconformity based on the content of the response sentence.
  • the response sentence generated by the first response sentence generation unit is information that reflects the terms held by the holding unit, that is, the content of the previous dialogue with the user. That the same response sentence is generated a plurality of times in succession means that the dialog with the user does not proceed as intended by the user. Therefore, the nonconformity can be appropriately detected from the response sentence.
  • the voice interaction device 20 can correct the content of the dialogue with the user by a simple method.
  • the abnormality detection unit 29, when the period during which the response sentence is generated is a predetermined time or more, It may be determined to be compatible.
  • the voice interaction device 20 can exclude a response sentence that is past a predetermined time or more from the target of matching determination. This is because the utterances acquired in the past from the time that the user recognizes as one dialogue does not reflect the content of the dialogue with the current user.
  • the voice interaction device 20 may include a plurality of slots 31.
  • Each of the plurality of slots 31 is a slot 31 that is associated with a term attribute and holds a term having an attribute associated with the slot 31 part.
  • the utterance data acquisition unit 22 may hold the utterance term included in the acquired utterance data in the slot 31 associated with the attribute of the utterance term among the plurality of slots 31.
  • the voice interaction apparatus 20 can hold terms having different attributes by a plurality of holding units, and cause the task processing unit 40 to perform processing using the plurality of held terms.
  • the voice interaction device 20 includes a response sentence generation unit 21 that presents a response sentence for a user to make an utterance that is likely to be correctly recognized when the abnormality detection unit 29 determines non-conformity in the suitability determination. May be.
  • the voice interaction device 20 when the voice interaction device 20 detects that there is the nonconformity, it can prevent the user's next utterance from being erroneously recognized.
  • the voice interaction system 1 includes a slot 31, a history table 32, an utterance data acquisition unit 22, an abnormality detection unit 29, an operation unit 25, a microphone 13, and a voice recognition unit 14.
  • the task processing unit 40, the speech synthesis unit 12, the speaker 11, and the display device 10 are provided.
  • the slot 31 is for holding a term.
  • the history table 32 stores a history of terms held in the slot 31.
  • the utterance data acquisition unit 22 acquires utterance data generated by recognizing the utterance by the user's voice, and holds the utterance terms included in the acquired utterance data in the slot 31 so that the slot 31 holds the utterance term. Update the terms you have.
  • the abnormality detection unit 29 determines whether or not the term held in the slot 31 after the update matches the content of the user's utterance.
  • the operation unit 25 determines that it is unsuitable in the suitability determination, the operation unit 25 refers to the history table 32 and changes the term held in the slot 31 to the term held in the slot 31 before the update.
  • the microphone 13 acquires the user's voice and generates a voice signal.
  • the speech recognition unit 14 generates speech data acquired by the speech data acquisition unit 22 by performing speech recognition processing on the speech signal generated by the microphone 13.
  • the task processing unit 40 acquires the term held in the slot 31, performs a predetermined process on the acquired term, and outputs information indicating the processing result.
  • the speech synthesizer 12 generates a response sentence for an utterance by the user's voice, and generates a speech signal by performing a speech synthesis process on the generated response sentence.
  • the speaker 11 outputs the voice signal generated by the voice synthesizer 12 as voice.
  • the display device 10 displays the processing result output by the task processing unit 40.
  • the voice interaction device 20 includes a slot 31 for holding a term, and a history table 32 that stores a history of terms held in the slot 31.
  • the control method obtains utterance data generated by recognizing the utterance by the user's voice and holds the utterance term included in the obtained utterance data in the slot 31, thereby holding the utterance term in the slot 31.
  • a determination step for determining whether or not the term held in the slot 31 after the update matches the content of the user's utterance, and a determination step for determining whether the term held in the slot 31 matches the content of the user's utterance.
  • the history table 32 is referred to, and the term held in the slot 31 is changed to the term held in the slot 31 before the update. And a step.
  • Embodiment 1 Note that the same components and processing steps as those in Embodiment 1 are denoted by the same reference numerals, and detailed description thereof may be omitted.
  • FIG. 8 is a block diagram showing the configuration of the voice interaction device 20A and the voice interaction system 1A according to the present embodiment.
  • the voice dialogue system 1A is different from the voice dialogue system 1 in the first embodiment in that the voice dialogue system 1A includes a voice dialogue apparatus 20A.
  • the other points are the same as those of the voice interaction system 1 (see FIG. 1).
  • the spoken dialogue apparatus 20A is characterized in that it includes a response sentence generation unit 21A that does not include the abnormality detection unit 29 therein, and an analysis unit 26A that includes the abnormality detection unit 29A therein. And different.
  • the other points are the same as those of the voice interaction device 20.
  • the analysis unit 26A is a processing unit that analyzes the slot 31 or the history table 32 in the memory 27 and performs notification according to the analysis result to the sequence control unit 23, similarly to the analysis unit 26 in the first embodiment.
  • the analysis unit 26A provides the analysis result to the abnormality detection unit 29A for the abnormality detection process based on the analysis result.
  • the abnormality detection unit 29A identifies the term (first term) held in the slot 31 before the update and the term (second term) held in the slot 31 after the update. Furthermore, the abnormality detection unit 29A acquires the identified first term and second term as a result of processing by the voice interaction device 20, and determines whether or not the acquired first term and second term match. Determine in the determination. And when it corresponds, it detects as abnormality. When an abnormality is detected, the abnormality detection unit 29A notifies the sequence control unit 23 and the like, and based on this notification, a repair process is performed by the operation unit 25 and the like. The abnormality detection unit 29A corresponds to the determination unit 102 in FIG. The abnormality detection process will be described later in detail.
  • FIG. 9 is a flowchart of main processing by the voice interaction apparatus 20A according to the present embodiment.
  • the main process shown in FIG. 9 differs from the main process (FIG. 4) in the first embodiment in that the abnormality detection process in step S401 is executed after step S107, and the abnormality detection process after step S131. (Corresponding to step S132 in FIG. 4) is not executed.
  • step S401 the abnormality detection unit 29A refers to the history table 320 and performs an abnormality detection process based on the term held in the slot 31 in each record.
  • FIG. 10 is a flowchart of the abnormality detection process by the voice interaction apparatus 20A according to the present embodiment.
  • step S501 the abnormality detection unit 29A searches for a record including “update” as the action 323 (FIG. 3) of the history table 320.
  • step S502 the abnormality detection unit 29A determines whether or not the record is found in step S501. If the record is found (“Y” in step S502), the process proceeds to step S503. On the other hand, when the record is not found (“N” in step S502), the series of processes shown in FIG.
  • step S503 the abnormality detection unit 29A determines whether the term held in the slot 31 is the same as the term held before the update in the record found in step S502. If it is the same as before the update (“Y” in step S503), the process proceeds to step S504. On the other hand, if it is not the same as that before the update (“N” in step S503), the series of processes shown in FIG.
  • step S504 the abnormality detection unit 29A asserts an abnormality flag.
  • the abnormality detection unit 29A determines that the time difference between the time when the term is stored and the time of the update is a predetermined time even if the term held in the slot 31 is the same as that before the update. In the above case, it may be determined that the generated response sentence is not the same as the previous one (that is, the term held in the slot 31 matches the content of the user's utterance). In this case, the abnormality detection unit 29A may not perform the determination in step S503.
  • the predetermined time is determined as the maximum time that the user recognizes that the dialogue with the voice dialogue apparatus 20A is a series of dialogues, and is set to, for example, 10 minutes or 1 hour. . This is because it is considered that the suitability of the content of the user's utterance cannot be correctly determined even if the response sentence generated in the past from the time that the user recognizes as a series of conversations.
  • step S107 in FIG. 9 the repair process (step S107 in FIG. 9) is the same as that in the first embodiment, and a description thereof will be omitted.
  • a response may be made to inquire the user whether the repair can be performed.
  • An example of this response is “The place name has been set to“ Imaichi ”more than once. It seems to be abnormal, so let's return the place name to Akasaka. Then, only when the user gives a positive response to this response, the repair is performed. As a result, it is possible to avoid changing the content of the dialogue against the user's intention.
  • step S401 the abnormality detection process is performed in step S401 after the term is stored in the slot 31 in step S105. Instead of doing this, the abnormality is detected after the term to be stored in the slot 31 is determined. It is also possible to perform detection processing. In that case, the term “term stored in slot 31” in the above description may be interpreted as “term determined to be stored in slot 31”.
  • the voice interaction apparatus 20A includes the slot 31, the history table 32, the utterance data acquisition unit 22, the abnormality detection unit 29A, and the operation unit 25.
  • the slot 31 is for holding a term.
  • the history table 32 stores a history of terms held in the slot 31.
  • the utterance data acquisition unit 22 acquires utterance data generated by recognizing the utterance by the user's voice, and holds the utterance terms included in the acquired utterance data in the slot 31 so that the slot 31 holds the utterance term. Update the terms you have.
  • the abnormality detection unit 29A determines whether or not the term held in the slot 31 after the update matches the content of the user's utterance.
  • the operation unit 25 determines that it is unsuitable in the suitability determination, the operation unit 25 refers to the history table 32 and changes the term held in the slot 31 to the term held in the slot 31 before the update.
  • the abnormality detection unit 29A specifies the first term held in the slot 31 before the update and the second term held in the slot 31 after the update. The two terms are acquired as a result of the processing, and it is determined whether or not the acquired first term and the second term match in the suitability determination.
  • the voice interaction device 20A can specifically detect the nonconformity based on the terms held by the holding unit before and after the update. That the terms held by the holding unit match before and after the update means that the dialogue between the voice interactive device 20A and the user does not proceed as intended by the user. Therefore, the nonconformity can be appropriately detected from the response sentence. As described above, the voice interaction device 20A can correct the content of the dialogue with the user by a simple method.
  • the abnormality detection unit 29A determines whether or not the first term and the second term match in the suitability determination and is updated after a predetermined time has elapsed since the first term is held in the slot 31. May be determined to be compatible.
  • the voice interaction apparatus 20A can exclude terms that are past for a predetermined time from the objects of coincidence determination. This is because the term held in the holding unit in the past from the time that the user recognizes as one dialogue does not reflect the content of the dialogue with the current user.
  • FIG. 11A describes the configuration of the voice interaction apparatus 410 that grasps the user's intention through voice conversation and collects information via the network 490 such as the Internet.
  • the voice interaction device 410 includes a term acquisition unit 401, a plurality of holding units 402, a determination unit 403, a change unit 404, a response sentence generation unit 405, a presentation unit 406, a processing unit 407, and a communication unit 408. Is provided.
  • the term acquisition unit 401 acquires a term related to the user's utterance based on the voice related to the user's utterance, and recognizes the voice. Furthermore, the term acquisition unit 401 selects and stores the holding unit 402 corresponding to the acquired term from the plurality of holding units 402 included in the voice interaction device 410. However, due to misrecognition in voice recognition, the term acquisition unit 401 may acquire an incorrect term and select and store the incorrect holding unit 402.
  • the holding unit is configured by a memory, for example, and has a plurality of areas.
  • the holding unit 402 includes a first holding unit that holds a term that should have been originally stored, and a second holding unit that holds a term that has been stored in error. Since the term acquisition unit 401 stores the wrong term in the second holding unit, the term held by the second holding unit before being stored is replaced with the wrong term. This is a state where the terms held in the holding units including the first holding unit and the second holding unit do not match the content of the user's utterance.
  • the determination unit 403 determines whether the term held in each holding unit 402 matches the content of the user's utterance. When it is determined that they are not compatible, the response sentence generation unit 405 generates a special response sentence that prompts the user to make an utterance that can be easily recognized by voice, so that a term related to the user's utterance can be recognized correctly. However, in this state, even if the term related to the user's utterance is correctly recognized and the correct term can be stored in the first holding unit, the wrong term is still stored in the second holding unit, and the nonconformity is It will not be resolved.
  • the changing unit 404 eliminates this incompatibility by changing an incorrect term stored in the second holding unit to a correct term stored in the past.
  • the technical idea of the present disclosure is useful for eliminating the incompatibility between the content of the user's utterance caused by a voice recognition error and the term held by each holding unit 402.
  • it is effective in a voice dialogue with a driver, which is a problem specific to a car navigation device.
  • a driver which is a problem specific to a car navigation device.
  • the determination unit 403 detects nonconformity, and the changing unit 404 changes the term stored in the second holding unit to the correct term, thereby reducing the burden on the driver.
  • the presentation unit 406 presents information to the user from the voice interaction device 410 by voice or display on a display. For example, when the presentation unit 406 presents the terms held by the holding unit 402, the user can check whether the terms held by the holding unit 402 match the content of the user's utterance.
  • the presentation unit 406 presents information collected by the voice interaction apparatus 410 based on the terms held in the holding unit 402.
  • the information presented here may be not only the collected information but also guidance information based on it. For example, if information about restaurants is collected, information such as road guidance and required time is presented to the user. In this case, the presentation unit 406 provides information by voice, thereby reducing the burden on the driver.
  • the processing unit 407 performs a search based on the terms held by the holding unit 402.
  • the processing unit 407 connects to the network 490 via the communication unit 408 and acquires information from the information providing unit 491.
  • the information providing unit 491 may be, for example, a general Web site such as a search site, an introduction site such as a restaurant, or a database. From the communication unit 408 to the information providing unit 491, terms held in the holding unit 402 or search terms related to these terms are transmitted as search information.
  • the search result is transmitted from the information providing unit 491 to the communication unit 408.
  • information such as the current position of the user in the search information, it is possible to collect information that further matches the user's situation.
  • the voice interactive apparatus 410 having the above configuration is useful in that it can provide appropriate information while comprehensively reducing the burden on the user.
  • FIG. 11B shows another example of the configuration of the voice interaction apparatus 410.
  • the term acquisition unit 401 acquires a term by subjecting the speech related to the user's utterance to speech recognition, but does not need to include the speech recognition unit 492 that performs speech recognition.
  • the term acquisition unit 401 may transmit the voice related to the user's utterance to the voice recognition unit 492 via the network 490 and acquire the result.
  • the voice recognition unit 492 may be a program executed on the cloud or on the server.
  • FIG. 12 is an example of a voice interaction device 410 configured to include a holding unit 402 and a control circuit 411.
  • the control circuit 411 is a control circuit that controls voice conversation with the user.
  • the control circuit 411 acquires a term related to the user's utterance, stores the acquired term in the corresponding holding unit 402, and whether the term held in the holding unit 402 matches the content of the user's utterance. Appropriateness judgment is performed. If it is determined as non-conforming, the wrong term held by the holding unit 402 is changed to the correct term held in the past.
  • the control circuit 411 may be used in common for different types of voice interactive devices 410, or may be integrated with a circuit having another function. As a result, the cost associated with the voice interaction apparatus 410 can be reduced.
  • FIG. 13A to FIG. 13C illustrate the configuration of the voice dialogue system 420 based on the technical idea of the present disclosure.
  • the term acquisition unit 401, the holding unit 402, the determination unit 403, the change unit 404 and the like are included in the voice interaction device 410.
  • some or all of them may be implemented in a cloud or server connected via the network 490.
  • the voice interaction system 420 illustrated in FIG. 13A includes a configuration that is connected to each unit via a network 490 except for the sound collection unit 421 that collects voices related to the user's utterance and the presentation unit 406 that presents information to the user. .
  • the sound collection unit 421 collects the voice related to the user's utterance and transmits the collected sound to the term acquisition unit 401 via the network 490.
  • the response sentence generation unit 405 transmits the response sentence to the presentation unit 406 via the network 490.
  • the presentation unit 406 presents information to the user by voice or display based on the response sentence received via the network 490.
  • the components of the voice interaction system 420 may be on the user side of the network 490 or may straddle the network 490.
  • the response sentence generation unit 405 may transmit a response instruction received on the side opposite to the user of the network 490 to the user side of the network 490 and generate a response sentence on the user side.
  • the voice interaction system 420 does not necessarily need to include the voice recognition unit 492.
  • the term acquisition unit 401 transmits the voice related to the user's utterance to the voice recognition unit 492 via the network 490, and acquires the term related to the user's utterance from the voice recognition unit 492.
  • the term acquisition unit 401 may be configured across the network 490. For example, the voice collected from the sound collection unit 421 may be transmitted from the user side to the voice recognition unit 492.
  • FIG. 13C shows a voice dialogue system 420 that further includes an information providing unit 491.
  • the information providing unit 491 that acquires information from the voice interactive system 420 via the network 490 is referred to as a first information providing unit 491a
  • the information providing unit 491 provided in the voice interactive system 420 is referred to as a second information providing unit 491b.
  • the additional information may be, for example, advertisement information regarding a store to be searched. By providing such additional information, more useful information can be presented to the user.
  • the voice interaction system 420 provided with the second information providing unit 491b does not necessarily require the first information providing unit 491a, but by using both together, more information can be presented to the user. Further, the voice dialogue system 420 provided with the second information providing unit 491b can present information to the user even when the network 490 cannot be used for some reason by providing each component on the user side of the network 490. It is useful in.
  • FIG. 14A shows a voice dialogue system 430 that supports voice dialogue in the terminal 440 on the user side.
  • the voice dialogue system 430 if the user side terminal 440 includes at least the sound collection unit 421 and the presentation unit 406, voice dialogue with the user can be realized.
  • the voice interaction system 430 includes a notification unit 431.
  • the notification unit 431 transmits the response instruction and the information acquired by the processing unit 407 to the terminal 440 on the user side via the network 490.
  • the voice interaction system 430 may further include a response sentence generation unit. In this case, the notification unit 431 transmits a response sentence or a voice based on the response sentence instead of the response instruction.
  • a voice dialogue that is easy to use for the user can be realized by the low-cost user terminal 440.
  • FIG. 14B shows a voice interaction system 430 further including an information providing unit 491b.
  • This information providing unit 491b corresponds to the second information providing unit in FIG. 13C and has the same effect as the configuration shown in FIG. 13C.
  • the configuration of the voice interaction system shown in FIGS. 14A and 14B can also be realized by a program operating on a cloud or server connected to the network 490. Specifically, it is a program including the following steps.
  • This program has a step of acquiring terms related to the user's utterance based on the voice related to the user's utterance collected by the terminal on the user side. Furthermore, it has the step which stores the acquired term in the holding
  • a storage medium on which the above program is recorded is useful for realizing a voice dialogue system.
  • a server or a cloud system that records or can execute the above-described program is useful as a service that provides a service equivalent to the above-described voice interaction system.
  • FIG. 15 is a block diagram showing a configuration of a voice interaction device 20B according to a modification of each of the above embodiments.
  • the voice interaction apparatus 20B includes a holding unit 104, a storage unit 105, an acquisition unit 101, a determination unit 102, and a change unit 103.
  • the holding unit 104 is for holding terms.
  • the storage unit 105 stores a history of terms held by the holding unit 104.
  • the acquisition unit 101 acquires utterance data generated by recognizing the speech of the user's voice, and holds the utterance terms included in the acquired utterance data in the holding unit 104, so that the holding unit 104 holds the utterance term. Update the terms you have.
  • the determination unit 102 determines whether or not the term held by the holding unit 104 after the update matches the content of the user's utterance.
  • the change unit 103 changes the term held by the holding unit 104 to the term held before the update by the holding unit 104 with reference to the storage unit 105 when it is determined as non-conforming in the suitability determination. To do.
  • FIG. 16 is a flowchart showing a control method of the voice interactive apparatus 20B according to the modification of each of the above embodiments.
  • the control method of the voice interaction apparatus 20B that performs voice interaction with the user includes an acquisition step (step S601), a determination step (step S602), and a change step (step S603).
  • the acquisition step utterance data generated by recognizing the speech of the user's voice is acquired, and the utterance terms included in the acquired utterance data are held in the holding unit 104, so that the holding unit 104 holds the utterance term. Update the terms you have.
  • the determination step it is determined whether or not the term held by the holding unit 104 after the update matches the content of the user's utterance.
  • the storage unit 104 is referred to and the term held by the holding unit 104 is changed to the term held by the holding unit 104 before the update. To do.
  • (Supplementary Note 1) Acquiring speech data generated by speech recognition of speech by a user, a storage unit for storing a term, a storage unit storing a history of terms held by the storage unit, and a user's speech
  • the holding unit holds the utterance terms included in the acquired utterance data
  • the acquisition unit that updates the terms held by the holding unit and the terms held by the holding unit after the update are
  • a determination unit that performs suitability determination as to whether or not the content matches, and a storage unit that updates a term held by the holding unit with reference to the storage unit when it is determined as non-conforming in the suitability determination.
  • a spoken dialogue apparatus comprising: a change unit that changes to a previously held term.
  • the voice interaction apparatus further includes a first response sentence generation unit that generates a response sentence for prompting the user to speak based on the terms held by the holding unit.
  • the response sentence generated by the response sentence generation unit is acquired as a result of processing, and it is determined whether or not the contents of the response sentence are the same continuously for a predetermined number of times in the suitability determination.
  • the voice interaction apparatus includes a plurality of holding units, and each of the plurality of holding units is associated with a term attribute and holds a term having an attribute associated with the holding unit.
  • the acquisition unit is configured to hold an utterance term included in the acquired utterance data in a holding unit associated with the attribute of the utterance term among the plurality of holding units. Voice interaction device.
  • the voice interaction apparatus includes a second response sentence generation unit that presents a response sentence for the user to make an utterance that is likely to be correctly voice-recognized when the determination part determines non-conformity in the suitability determination.
  • the voice interactive device according to any one of supplementary notes 1 to 5.
  • the determination unit specifies the first term held by the holding unit before the update and the second term held by the holding unit after the update in the suitability determination,
  • the audio dialogue according to appendix 2 wherein the second term is acquired as a result of the processing, whether or not the acquired first term and the second term match is determined in the suitability determination, and is determined to be nonconforming if they match. apparatus.
  • a determination part is when the update is performed after progress for a predetermined time after a 1st term is hold
  • (Supplementary Note 9) Acquiring speech data generated by speech recognition of speech by a user, a storage unit for storing terms, a storage unit storing a history of terms held by the storage unit, and user speech
  • the holding unit holds the utterance terms included in the acquired utterance data
  • the acquisition unit that updates the terms held by the holding unit and the terms held by the holding unit after the update are
  • a determination unit that performs suitability determination as to whether or not the content matches, and a storage unit that updates a term held by the holding unit with reference to the storage unit when it is determined as non-conforming in the suitability determination.
  • a speech recognition unit Acquired by the acquisition unit by performing voice recognition processing on the voice signal generated by the microphone, the microphone that generates the voice signal by acquiring the user's voice, and the change unit that changes to the previously held term Generated utterance data
  • a speech recognition unit a processing unit that acquires the terms held by the storage unit, performs predetermined processing on the acquired terms, and outputs information indicating the processing results, and a response sentence to the speech by the user's voice
  • a speech synthesizer that generates a speech signal by performing speech synthesis processing on the generated response sentence, a speaker that outputs the speech signal generated by the speech synthesizer as speech, and a process output by the processing unit
  • a speech dialogue system comprising a display device for displaying the result of the above.
  • a voice interactive apparatus is provided with the holding
  • the present disclosure is useful as a voice dialogue apparatus that can correct the content of dialogue with the user by a simple method.
  • the present disclosure can be applied to an application of a car navigation device, a smartphone (high-function mobile phone terminal), a mobile phone terminal, a mobile information terminal, or a PC (Personal Computer).

Abstract

音声対話装置(410)は、複数の保持部(402)と、用語取得部(401)と、判定部(403)と、変更部(404)とを備える。保持部(402)はユーザの発話に係る用語を保持する。用語取得部(401)は、ユーザの発話に係る用語を取得するとともに、取得された用語を対応する保持部(402)に格納する。判定部(403)は、保持部に保持された用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う。変更部(404)は、適否判定において不適合と判定された場合に、保持部(402)が保持する用語を、保持部(402)が過去に保持していた用語に変更する。

Description

音声対話装置、音声対話システム、音声対話装置の制御方法、および、プログラム
 本開示は、音声対話装置、音声対話システム、音声対話装置の制御方法、および、音声対話のためのプログラムに関する。
 特許文献1は、利用者との対話において、通訳結果に誤りが生じているか等を判断する自動通訳システムを開示する。上記自動通訳システムは、利用者が相手話者の発話の通訳結果を理解できない場合に、対話状況を判断し適切な対処方法を具体的に提示する。
特許第4517260号公報
 本開示は、ユーザとの対話の内容を簡易な方法により修正する音声対話装置を提供する。
 本開示における音声対話装置は、複数の保持部と、用語取得部と、判定部と、変更部とを備える。保持部はユーザの発話に係る用語を保持する。用語取得部は、ユーザの発話に係る用語を取得するとともに、取得された用語を対応する保持部に格納する。判定部は、保持部に保持された用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う。変更部は、適否判定において不適合と判定された場合に、保持部が保持する用語を、保持部が過去に保持していた用語に変更する。
 本開示における音声対話装置は、ユーザとの対話の内容を簡易な方法により修正するのに有効である。
図1は、実施の形態1に係る音声対話装置及び音声対話システムの構成を示すブロック図である。 図2は、実施の形態1に係る音声対話システムによる提示について説明する図である。 図3は、実施の形態1に係る対話シーケンス及び履歴情報について説明する図である。 図4は、実施の形態1に係る音声対話装置によるメイン処理のフロー図である。 図5は、実施の形態1に係る音声対話装置による異常検知処理のフロー図である。 図6は、実施の形態1に係る音声対話装置による修復処理のフロー図である。 図7Aは、実施の形態1に係る音声対話装置による修復処理について説明する図である。 図7Bは、実施の形態1に係る音声対話装置による修復処理について説明する図である。 図8は、実施の形態2に係る音声対話装置及び音声対話システムの構成を示すブロック図である。 図9は、実施の形態2に係る音声対話装置によるメイン処理のフロー図である。 図10は、実施の形態2に係る音声対話装置による異常検知処理のフロー図である。 図11Aは、音声対話装置の一形態について説明する図である。 図11Bは、音声対話装置の一形態について説明する図である。 図12は、音声対話装置の一形態について説明する図である。 図13Aは、音声対話システムの一形態について説明する図である。 図13Bは、音声対話システムの一形態について説明する図である。 図13Cは、音声対話システムの一形態について説明する図である。 図14Aは、本開示の技術的思想を用いた音声対話を提供する形態について説明する図である。 図14Bは、本開示の技術的思想を用いた音声対話を提供する形態について説明する図である。 図15は、各実施の形態の変形例に係る音声対話装置の構成を示すブロック図である。 図16は、各実施の形態の変形例に係る音声対話装置の制御方法を示すフロー図である。
 以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
 なお、発明者(ら)は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって請求の範囲に記載の主題を限定することを意図するものではない。
 (実施の形態1)
 本実施の形態において、ユーザとの対話の内容を簡易な方法により修正する音声対話装置の第一の構成について説明する。本実施の形態に係る音声対話装置は、ユーザとの音声による対話を行うものであり、ユーザとの対話の内容を示す対話情報を生成及び修正し、その対話情報を外部の処理装置に出力する。また、音声対話装置は、外部の処理装置から処理結果を取得しユーザに提示し、さらにユーザとの対話を継続する。このように、音声対話装置は、ユーザとの対話に基づいて、対話情報を生成及び修正しながら、順次、処理結果をユーザに提示するものである。
 なお、音声対話装置は、ユーザによるキー入力又はパネルへの接触などの操作が不可能又は困難である場合に有用である。例えば、ユーザが自動車等を運転しているときにユーザの音声による指示を順次受けながら情報検索をするカーナビゲーション装置などの用途があり得る。また、キー又はパネルのようなユーザインタフェースを有さない音声対話装置でも有用である。
 [1-1.構成]
 図1は、本実施の形態に係る音声対話装置20及び音声対話システム1の構成を示すブロック図である。
 図1に示されるように、音声対話システム1は、表示装置10と、スピーカ11と、音声合成部12と、マイク13と、音声認識部14と、音声対話装置20と、タスク処理部40とを備える。
 表示装置10は、表示画面を備える表示装置である。表示装置10は、音声対話装置20から取得する表示データに基づいて表示画面に映像を表示する。表示装置10は、例えば、カーナビゲーション装置、スマートフォン(高機能携帯電話端末)、携帯電話端末、携帯情報端末、ディスプレイ、又は、PC(Personal Computer)などにより実現される。なお、表示装置10は、音声対話装置20が提示する情報に基づく映像を表示する装置の例として示したが、表示装置10の代わりに、音声対話装置20が提示する情報を音声として出力するスピーカを用いてもよい。このスピーカは、後述のスピーカ11と共用してもよい。
 スピーカ11は、音声を出力するスピーカである。スピーカ11は、音声合成部12から取得する音声信号に基づいて音声を出力する。スピーカ11が出力した音声は、ユーザに聴取される。
 音声合成部12は、応答文を音声信号に変換する処理部である。音声合成部12は、音声対話装置20からユーザへ伝達する情報である応答文を音声対話装置20から取得し、スピーカにより出力するための音声信号を、取得した応答文に基づいて生成する。
 なお、スピーカ11及び音声合成部12は、音声対話装置20の一機能として音声対話装置20の内部に備えられてもよいし、音声対話装置20の外部に備えられてもよい。また、音声合成部12は、音声対話装置20とインターネット等のネットワーク経由で通信可能なように、いわゆるクラウドサーバとして実現されてもよい。その場合、音声合成部12と音声対話装置20との接続、及び、音声合成部12とスピーカ11との接続は、インターネット等を介した通信路を通じてなされる。
 マイク13は、音声を取得するマイクロホンである。マイク13は、ユーザの音声を取得し、取得した音声に基づく音声信号を出力する。
 音声認識部14は、ユーザの音声を対象として音声認識を行うことで、発話データを生成する処理部である。音声認識部14は、マイク13が生成した音声信号を取得し、取得した音声信号に対して音声認識処理を施すことで、ユーザによる発話の発話データを生成する。発話データは、ユーザから音声対話装置20へ伝達する情報であり、「中華が食べたい」というように、文字(テキスト)で表現されるものである。なお、音声認識処理は、音声信号をテキスト情報に変換するものであるので、テキスト変換処理ということもできる。なお、音声認識処理において、ユーザによる発話の真の内容と異なる発話データが生成される、いわゆる誤認識が生じ得る。
 なお、マイク13及び音声認識部14は、音声合成部12等と同様、音声対話装置20の一機能として音声対話装置20の内部に備えられてもよいし、音声対話装置20の外部に備えられてもよい。また、音声認識部14は、音声合成部12同様、クラウドサーバとして実現されてもよい。
 タスク処理部40は、ユーザと音声対話装置20との対話の内容に基づいて処理を行い、その処理結果を示す情報又はその関連情報を出力する処理部である。タスク処理部40による処理は、対話の内容に基づく情報処理であればどのようなものであってもよい。例えば、タスク処理部40は、インターネット上のWebページから、対話の内容に適合するレストランのWebページを検索する検索処理を実行し、その検索結果を出力するものとしてもよい。この場合を以下で説明する。なお、タスク処理部40による処理の実行単位のことをタスクともいう。
 なお、タスク処理部40による処理の他の例として、対話の内容をデータとして蓄積する処理を実行し、その処理の成否を示す情報を出力するものとしてもよい。また、タスク処理部40は、対話の内容に基づいて複数の電気機器のうち制御対象の電気機器を特定し、その電気機器の固有情報又は動作に関する情報を出力するものとしてもよい。
 音声対話装置20は、ユーザとの音声による対話を行う処理装置である。音声対話装置20は、ユーザとの対話の内容を示す対話情報を生成及び修正し、その対話情報をタスク処理部40に出力する。また、音声対話装置20は、タスク処理部40から取得し、取得した処理結果をユーザに提示し、さらにユーザとの対話を継続する。
 音声対話装置20は、応答文生成部21と、発話データ取得部22と、シーケンス制御部23と、タスク制御部24と、操作部25と、解析部26と、メモリ27と、タスク結果解析部28と、異常検知部29と、提示制御部30とを備える。
 応答文生成部21は、シーケンス制御部23から応答指示を取得し、取得した応答指示に基づいて応答文を生成する処理部である。応答文は、音声対話装置20からユーザへ伝達する情報である。具体的には、「地域を指定下さい」というようなユーザに対して発話を促すための文章、「承知しました」というようなユーザの発話に対する相槌、又は、「検索します」というような音声対話装置20の動作を説明する文章である。どのようなときにどのような応答指示をするかについては、後で詳細に説明する。応答文生成部21は、例えば、第一応答文生成部、及び、第二応答文生成部として備えられる。
 発話データ取得部22は、ユーザによる発話の発話データを音声認識部14から取得する処理部である。ユーザの音声による発話がなされた場合、マイク13及び音声認識部14により、上記発話の内容を示す発話データが生成され、この生成された発話データを発話データ取得部22が取得する。なお、発話データ取得部22は、図15の取得部101の一機能に相当する。
 シーケンス制御部23は、音声対話装置20とユーザとの対話の対話シーケンスを制御することで、ユーザとの対話を実現する処理部である。ここで、対話シーケンスとは、対話におけるユーザによる発話と音声対話装置20による応答とを時系列で並べたデータのことである。なお、シーケンス制御部23は、図15の取得部101の一機能に相当する。
 具体的には、シーケンス制御部23は、ユーザによる発話の発話データを発話データ取得部22から取得する。そして、取得した発話データ、これまでのユーザとの対話シーケンス、又は、タスク結果解析部28から取得する処理結果に基づいて、次にユーザに提示すべき応答文を作成する指示(以降、「応答指示」ともいう)を生成し、応答文生成部21に送る。シーケンス制御部23がどのような場合にどのような応答指示を生成するかについては、後で具体的に説明する。
 また、シーケンス制御部23は、取得した発話データから用語(発話用語ともいう)を抽出する。さらにシーケンス制御部23は、操作部25を介して、抽出した用語をその用語の属性に対応付けられたスロット31に格納する。ここで、用語とは、単語のように比較的短い語のことをいい、例えば、1つの名詞、又は、1つの形容詞などが1つの用語に相当する。なお、スロット31に新たな用語を格納することを、スロット31を更新するともいう。
 タスク制御部24は、音声対話装置20とユーザとの対話の内容をタスク処理部40に出力し、出力した対話の内容に基づく処理をタスク処理部40に実行させる処理部である。具体的には、タスク制御部24は、複数のスロット31が保持している用語をタスク処理部40に出力する。また、タスク制御部24は、複数のスロット31の状態についての所定の条件が満たされるか否かを判定し、所定の条件が満たされる場合にのみ、複数のスロット31が保持している用語をタスク処理部40に出力するようにしてもよい。
 操作部25は、メモリ27に格納されている対話の内容を示す情報を追加、削除又は変更する処理部である。操作部25は、音声認識部14による誤認識等により、スロット31が保持する用語がユーザの発話の内容と適合しないものとなったことが、異常検知部29により異常として検知された場合に、当該スロット31が保持している用語を変更することで修復する。修復の処理については、後で詳細に説明する。なお、操作部25は、図15の取得部101の一機能、及び、図15の変更部103の一機能に相当する。
 解析部26は、メモリ27内のスロット31又は履歴テーブル32を解析し、解析結果に応じた通知をシーケンス制御部23に行う処理部である。具体的には、解析部26は、スロット31のうちの必須スロット群のスロットそれぞれが用語を保持しているか否かを判定し、必須スロット群のすべてのスロットが用語を保持している場合には、その旨をシーケンス制御部23に通知する。なお、解析部26は、図15の変更部103の一機能に相当する。
 また、解析部26は、操作部25を利用して、履歴テーブル32を参照して、スロット31が保持している用語を変更するための修復処理を行う。修復処理の具体的な処理内容については後で詳しく説明する。
 メモリ27は、対話の内容を記憶している記憶装置である。具体的には、メモリ27は、スロット31及び履歴テーブル32を有する。
 スロット31は、対話の内容を示す対話情報を保持するための記憶領域であり、音声対話装置20に複数備えられる。複数のスロット31は、それぞれが用語の属性に対応付けられており、それぞれが当該スロット31に対応付けられた属性を有する用語を保持する。そして、スロット31のそれぞれに格納された用語全体が、上記対話情報を示している。スロット31は、それぞれが1つの用語を保持する。そして、スロット31は、1つの用語を保持している状態において新たな用語を保持した場合(つまり、更新された場合)には、前に保持していた1つの用語はスロット31上からは消去される。
 ここで、用語の属性とは、当該用語の性質、特徴又はカテゴリを示す情報のことである。例えば、タスク処理部40の処理がレストラン検索の場合、料理名、地域、予算、個室の有無、駐車場の有無、最寄駅からの徒歩での所要時間、貸切が可能か否か、又は、夜景が見えるか否かというような情報を属性として用いることができる。なお、スロット31が用語を保持することを、スロット31に用語が格納される、又は、登録される、と表現することもできる。なお、メモリ27のうちのスロット31の領域は、図15の保持部104に相当する。
 また、スロット31には、必須スロット及びオプションスロットという2つの種別が設けられていてもよい。必須スロットとは、当該必須スロットが用語を保持していないとタスク制御部24がタスク処理部40に用語を出力しないスロット31のことである。また、オプションスロットとは、当該オプションスロットが用語を保持していなくても、すべての必須スロットが用語を保持していればタスク制御部24がタスク処理部40に用語を出力するスロット31のことである。例えば、タスク処理として検索タスクを実行させる場合、すべてのスロット31が保持している用語をタスク制御部24がタスク処理部40に出力する際、必須スロット群に含まれるすべてのスロット31が用語を保持している場合に限り出力するようにしてもよい。スロット31が、必須スロット及びオプションスロットのうちのどちらであるかは、スロット31ごとに予め定められている。なお、上記2つの種別が設けられず、種別が1つだけである場合には、スロット31の全てを必須スロットとしてもよいし、オプションスロットとしてもよい。これらのどちらにするかは、タスク処理部40の処理、又は、対話の内容に基づいて適宜定められてよい。
 履歴テーブル32は、複数のスロット31が保持する用語の履歴を示すテーブルである。具体的には、履歴テーブル32は、複数のスロット31が過去に保持していた用語、及び、現在保持している用語が時系列で収められたテーブルである。スロット31が新たな用語を保持することで、その直前に保持していた用語をスロット31上から消去した場合でも、その消去された用語は、履歴テーブル32には残されている。
 なお、履歴テーブル32には、過去に複数のスロット31が保持した用語と共に、その時点での時刻を示す情報(例えば、タイムスタンプ)が格納されてもよい。また、時間の進みと共にレコードを追加的に格納するという前提があれば、履歴テーブル32には、過去に複数のスロット31が保持した用語だけが格納されてもよい。なお、メモリ27のうち、履歴テーブル32が記憶された領域は、図15の記憶部105に相当する。
 タスク結果解析部28は、タスク処理部40による処理結果を取得し、取得した処理結果を解析する処理部である。タスク結果解析部28は、タスク処理部40から処理結果を取得した場合には、取得した処理結果を解析し、解析結果をシーケンス制御部23に渡す。なお、この解析結果は、履歴テーブル32のうちの現在時刻に対応する時点に復元ポイントを設定するか否かを操作部25が判定する際に用いられる。なお、タスク結果解析部28は、外部処理制御部の一機能として備えられても良い。
 例えば、タスク結果解析部28は、タスク処理部40によるレストラン検索処理の結果として、検索された情報が掲載されたWebページのタイトル及びURL(Uniform Resource Locator)を取得する。
 異常検知部29は、応答文生成部21が生成した応答文に基づいて、スロット31が保持する用語が、ユーザの発話の内容と適合しない場合、異常として検出する。この異常を検出する処理のことを適否判定ともいう。具体的には、異常検知部29は、スロット31が保持する用語に基づいて音声対話装置20により行われる処理の結果に基づいて適否判定を行う。
 異常検知部29は、より具体的には、応答文生成部21が生成した応答文を上記処理の結果として取得し、取得した応答文に対して異常検知処理を行うことにより異常を検出する。異常を検出した場合、異常検知部29がシーケンス制御部23等に通知し、この通知に基づいて操作部25等による修復処理が行われる。異常検知部29は、図15の判定部102に相当する。
 提示制御部30は、表示装置10によりユーザに提示するための提示データを生成し、表示装置10に出力する処理部である。提示制御部30は、タスク処理部40から処理結果を取得し、ユーザに効果的に処理結果を閲覧させるために表示装置10の画面上の位置を整え、また、表示装置10に出力するのに適したデータ形式に変換した上で、提示データを表示装置10に出力する。
 なお、音声対話装置20の一部又は全部の機能、及び、タスク処理部40は、音声合成部12等同様、クラウドサーバとして実現されてもよい。
 図2は、本実施の形態に係る音声対話システム1による提示の説明図である。図2に示される説明図は、タスク処理部40による処理結果を表示装置10がユーザに提示するときの表示画面に表示される画像の一例である。
 表示画面内の左側には、属性を示す文字列201~205が表示されている。文字列201~205は、複数のスロット31それぞれの属性を示す文字列である。
 表示画面内の右側には、用語211~215が表示されている。用語211~215は、それぞれ、文字列201~205の属性に対応付けられたスロット31が保持している用語である。
 表示画面内の下側には、文字列206及び検索情報216が示されている。文字列206は、文字列206の下方に表示されるものが検索結果であることを示す文字列である。結果情報216は、用語211~215に基づいてタスク処理部40がレストラン検索を行った結果を示す情報である。
 このように、対話の内容と、その対話の内容に基づくタスク処理部40による処理結果である結果情報とが表示装置10に表示され、ユーザは、対話の内容が反映された処理結果を知ることができる。
 なお、表示画面に表示される画像は、図2に示されるものに限定されるわけではなく、表示される情報、その配置などの表示の有無、表示位置は、任意に変更されてよい。
 図3は、本実施の形態に係る対話シーケンス及び履歴情報の説明図である。
 図3には、対話シーケンス310、履歴テーブル320、及び、検索結果330が、対話シーケンスの時系列に併せて示されている。なお、図3に示される一列は、1つの時点に対応している。この一列のことをレコードともいう。履歴テーブル320は、履歴テーブル32の一例である。
 対話シーケンス310は、対話におけるユーザによる発話と音声対話装置20による応答とを時系列で並べたデータである。
 時刻情報311は、ユーザによる発話又は音声対話装置20による応答があった時刻を示す時刻情報(タイムスタンプ)である。
 発話312は、当該時刻におけるユーザによる発話を示す発話データである。具体的には、発話312は、発話データ取得部22が、マイク13及び音声認識部14を介して取得したユーザの音声による発話を示す発話データである。
 応答313は、当該時刻における音声対話装置20による応答を示す応答文である。具体的には、応答313は、応答文生成部21が、シーケンス制御部23からの応答指示を受けて生成するものである。
 履歴テーブル320は、必須スロット群321と、オプションスロット群322と、アクション323と、履歴ポインタ324との各情報を有する。履歴テーブル320は、履歴テーブル32に格納されている、スロット31の履歴を示す情報であり、対話シーケンス310の時刻情報311の時系列に合わせて示されている。
 必須スロット群321は、スロット31のうちの必須スロットに、当該時点において保持されていた用語である。必須スロット群321には、例えば、「料理名」、「地域」及び「予算」の属性の用語が含まれる。
 オプションスロット群322は、スロット31のうちのオプションスロットに、当該時点において保持されていた用語である。オプションスロット群322には、例えば、「個室の有無」及び「駐車場の有無」の属性の用語が含まれる。
 アクション323は、当該時点において音声対話装置20が実行した処理を示す情報であり、複数の情報が格納されることもある。例えば、ある属性のスロット31に新たな用語を保持させた場合には、そのことを示すために、その属性の名称と、「登録」の文字列とが当該時点に設定される。また、タスク制御部24がタスク処理部40に用語を出力して情報検索をさせた時点には、「検索」の文字列が設定される。また、操作部25が、スロット31が保持している用語を所定の時点におけるものに変更することで修復した時点には、「修復」の文字列が設定される。
 履歴ポインタ324は、解析部26及び操作部25による修復処理において、参照先として用いられるレコードを特定する情報である。具体的には、修復処理により修復された時点のレコードは、履歴ポインタ324に「修復先」と設定される。修復処理によりスロット31に格納される用語は、そのスロット31が過去に格納していた用語である。その過去の時点にかかるレコードは、履歴ポインタ324に「修復元」と設定される。
 検索結果330は、当該時点におけるタスク処理部40による検索処理の結果の件数である。検索結果330は、タスク結果解析部28により設定されるものである。
 図3は、ユーザが、検索条件を変えながら、順次、異なる検索条件でレストラン検索を行う場合の対話シーケンスを示したものである。図3においては、対話の内容を、ユーザが意図する過去の時点における対話の内容に変更する場合の対話シーケンスが示されている。
 レコードR1~R4に対応する時点において、順次、ユーザによる発話に含まれる用語が発話データ取得部22等により取得され、取得された用語のそれぞれが当該用語の属性に対応したスロット31に格納される。
 レコードR4に対応する時点において、必須スロット群に含まれるスロット31のうち「予算」のスロット31が用語を保持していないので、シーケンス制御部23及び応答文生成部21は、「予算」のスロット31に格納されるべき用語をユーザに発話させるための応答を行う。
 レコードR5に対応する時点において、ユーザが上記応答に従い、予算を1万円とする意図で、「10,000円(Ichiman-en)」と発話する。しかし、この発話を音声認識部14が「今市(Imaichi)」と誤認識し、さらに発話データ取得部22が「今市」を地域の名称であると判断したとする。この場合、「地域」に係るスロット31が保持する用語は、「赤坂」から「今市」に更新される。
 レコードR6に対応する時点において、依然として「予算」のスロット31が用語を保持していない。そこで、シーケンス制御部23及び応答文生成部21は、「予算」のスロット31に格納されるべき用語をユーザに発話させるための応答を行う。
 レコードR7に対応する時点において、ユーザが上記応答に従い、予算を1万円とする意図で、再び「10,000円(Ichiman-en)」と発話する。しかし、この発話を音声認識部14が「今市(Imaichi)」と再び誤認識した場合、発話データ取得部22は「地域」に係るスロット31に用語「今市」を再び格納する。この格納の前後で、「地域」のスロット31は同じ用語「今市」を保持している。
 レコードR8に対応する時点において、再び、シーケンス制御部23及び応答文生成部21は、「予算」のスロット31に格納されるべき用語をユーザに発話させるための応答を行う。このとき、レコードR7に対応する時点における格納の前後で、「地域」のスロット31が同じ用語を保持したことから、応答文生成部21は、音声認識部14により正しく音声認識されやすい発話をユーザに行わせるための応答文である特別応答文を生成する。特別応答文については、後で説明する。
 レコードR9に対応する時点において、ユーザは特別応答文に従って応答するため、正しく音声認識される可能性が高まる。ユーザが予算を1万円とする意図で、「予算は10,000円で(Yosan-wa-Ichiman-en-de)」と発話することにより、正しく音声認識されやすくなる。
 レコードR10に対応する時点において、ユーザによる発話に含まれる予算に関する用語「10,000円」が発話データ取得部22等により取得され、スロット31が保持している用語に基づいた検索処理が行われる。
 このようにすることで、音声対話装置20は、音声認識における誤認識に起因して生ずる対話の内容とユーザとの意図とのずれを、ユーザの音声による発話に基づいて修正することができる。このように、音声対話装置20は、ユーザとの対話の内容を簡易な方法により修正することができる。
 [1-2.動作]
 以上のように構成された音声対話装置20及び音声対話システム1について、その動作を以下に説明する。
 図4は、本実施の形態に係る音声対話装置20によるメイン処理のフロー図である。
 ステップS101において、マイク13は、ユーザによる発話の音声を取得し、取得した音声に基づいて音声信号を生成する。ここで、ユーザによる発話の音声とは、例えば「中華が食べたい」又は「守口で」というようにレストラン検索のための用語を含む音声である。
 ステップS102において、音声認識部14は、ステップS101でマイク13が生成した音声信号に対して音声認識処理を行うことで、ユーザによる発話の発話データを生成する。この音声認識処理において、誤認識が生じ得る。
 ステップS103において、発話データ取得部22は、ステップS102で音声認識部14が生成した発話データを取得する。
 ステップS104において、シーケンス制御部23は、ステップS103で発話データ取得部22が取得した発話データが空(から)であるか否かを判定する。
 ステップS104で発話データが空であるとシーケンス制御部23が判定した場合(ステップS104で「Y」)、ステップS121に進む。一方、発話データが空でないと判定した場合(ステップS104で「N」)、ステップS105に進む。
 ステップS105において、シーケンス制御部23は、操作部25を利用して発話データに含まれる用語をスロット31に格納する。具体的には、シーケンス制御部23は、発話データに含まれる用語のそれぞれについて当該用語の属性を判定し、当該用語の属性に一致する属性を有するスロット31に当該用語を格納する。例えば、シーケンス制御部23は、発話データ「中華が食べたい」に含まれる用語「中華」が、料理名の属性を有する用語であると判定し、用語「中華」を料理名の属性を有するスロット31に格納する。なお、このとき、シーケンス制御部23は、スロット31に格納される用語が本来の名称の略称又は俗称等であるような場合には、本来の名称に変換した上でスロット31に格納してもよい。具体的には、シーケンス制御部23は、用語「中華」が「中華料理」を短縮した名称(略称)であると判定し、スロット31に「中華料理」を格納するようにしてもよい。
 ステップS106において、操作部25及び提示制御部30は、スロット31が保持している用語を表示装置10により表示する。
 ステップS107において、操作部25等は、必要に応じて音声認識において生じた誤認識を修復するための修復処理を行う。修復処理の詳細については、後で詳細に説明する。
 ステップS108において、解析部26は、必須スロット群の全てのスロット31に用語が格納されているか否か、つまり、必須スロット群の全てのスロット31が用語を保持しているか否かを判定する。
 ステップS108において全てのスロット31に用語が格納されたと解析部26が判定した場合(ステップS108で「Y」)、ステップS109に進む。一方、全てのスロット31に用語が格納されていないと解析部26が判定した場合(ステップS108で「N」)、つまり、必須スロット群のうちの少なくとも1つのスロット31が空である場合、ステップS131に進む。
 ステップS109において、シーケンス制御部23は、タスク処理をタスク処理部40に実行させるための実行指示をタスク制御部24に行う。このとき、操作部25は、履歴テーブル32に検索タスクを実行したことを記録する。具体的には、操作部25は、履歴テーブル320における現時点のアクション323に「検索」を設定する。
 ステップS110において、タスク制御部24は、ステップS109でのシーケンス制御部23による実行指示に基づいて、スロット31が保持している用語をタスク処理部40に出力し、タスク処理部40に検索処理を実行させる。タスク処理部40は、タスク制御部24が出力した用語を取得し、取得した用語を検索語として用いて検索処理を行い、検索結果を出力する。
 ステップS111において、提示制御部30は、ステップS110でタスク処理部40が出力した検索結果を取得し、取得した検索結果を、表示装置10によりユーザに提示するのに適切な形式(例えば、図2のような表示態様)にして表示装置10に出力する。表示装置10は、提示制御部30が出力した検索結果を取得し、表示画面に表示する。
 ステップS112において、シーケンス制御部23は、ユーザに対して次の発話を促すための応答指示を、応答文生成部21に対して行う。
 ステップS113において、応答文生成部21は、応答指示に基づいて応答文を生成する。また、応答文生成部21は、生成した応答文を音声合成部12に出力し、当該応答文を音声としてスピーカ11より出力し、ユーザに聴取させる。
 ステップS113の処理が終了したら、再びステップS101の処理を実行する。
 ステップS121において、シーケンス制御部23は、ユーザに対して再発話(前回と同じ発話を行うこと)を促すための応答指示を、応答文生成部21に対して行う。ステップS104で発話データが空と判定されたことは、マイク13が何らかの音を取得したにもかかわらずその音から音声認識部14が発話データを取得することができなかったことを意味している。よって、ユーザに対して前回と同じ発話を行うことを要請することで、発話データを取得することができると期待される。
 ステップS131において、シーケンス制御部23は、ユーザに対して次の発話を促すための応答指示を、応答文生成部21に対して行う。シーケンス制御部23は、例えば、必須スロット群に含まれるスロット31のうち、用語を保持していないものがある場合に、用語を保持していないスロット31が保持すべき用語をユーザに発話させるための応答文を生成する応答指示を行う。例えば、「予算」のスロット31が用語を保持していない場合、「予算はいくらですか」という応答文を生成する応答指示を行う。
 ステップS132において、異常検知部29は、ステップS131で応答文生成部21が生成した応答文を取得し、取得した応答文に基づいて異常検知処理を行う。異常検知処理の詳細については、後で詳細に説明する。
 ステップS133において、ステップS132の異常検知処理で異常が検出されたか否かを判定する。異常が検出された場合(ステップS133で「Y」)には、ステップS134へ進む。一方、異常が検出されなかった場合(ステップS133で「N」)には、ステップS113に進む。
 ステップS134において、シーケンス制御部23は、応答文生成部21が特別応答文を生成するように応答指示を行う。特別応答文は、音声認識部14により正しく音声認識されやすい発話をユーザに行わせるための応答文である。この応答指示のことを特別応答指示ともいう。特別応答文は、例えば、『「予算はA円で」のような言い方でお願いします』というようなものである。ステップS134の後、ステップS113を行う。
 図5は、本実施の形態に係る音声対話装置20による異常検知処理のフロー図である。図5に示されるフロー図は、図4におけるステップS132の処理を詳細に示すものであり、スロット31が保持している用語が、ユーザの発話の内容と適合しているか否かを判定する処理の一例である。
 ステップS201において、異常検知部29は、ステップS131で応答文生成部21が生成した応答文が、応答文生成部21が前回生成した応答文と同じであるか否かを判定する。
 ステップS201において、生成した応答文が前回のものと同じであると判定した場合、ステップS202に進む。一方、生成した応答文が前回のものと同じでないと判定した場合、ステップS211に進む。
 ステップS202において、異常検知部29は、同一応答回数Nをインクリメント(1加算)する。
 ステップS203において、異常検知部29は、Nが1より大きいか否かを判定する。Nが1より大きいと判定された場合(ステップS203で「Y」)、ステップS204を介して図4のステップS134に進む。Nが1以下であった場合(ステップS203で「N」)、図4のS113に進む。なお、Nが1より大きいか否かを判定するのに代えて、Nが所定のT(Tは1以上の整数)より大きいか否かを判定してもよい。
 ステップS204において、異常検知部29は、異常フラグをアサート(有効化)する。異常フラグとは、ユーザとの対話の内容としてスロット31が保持する用語が、ユーザの発話の内容と適合していないことを示すフラグであり、対話の内容を修復する修復処理を実行する条件となるものである。異常フラグは、適切な記憶領域(例えば、メモリ27内の所定の領域)に格納される。
 ステップS211において、異常検知部29は、同一応答回数Nをクリア(0をセット)する。
 上記ステップS201において生成した応答文が前回生成した応答文と同じであると判定されたことは、ステップS101(図4)においてユーザによる新たな発話が取得されたにもかかわらずスロット31が保持する用語に変化がないことを意味している。つまり、音声対話装置20が、ユーザの発話の内容を正しく取得できていない可能性がある。そこで、このような判定が(T+1)回以上繰り返された場合に、音声対話装置20が取得した対話の内容(つまり、スロット31が保持している用語)が、ユーザの発話の内容と適合していないと判断して、異常フラグをアサートする。
 なお、上記ステップS201の判定において、異常検知部29は、生成した応答文が前回のものと同じであっても適合と判断する場合があっても良い。例えば、前回の応答文を生成した時刻と、ステップS131で応答文生成部21が応答文を生成した時刻との時間差が所定時間以上である場合などである。このような場合においては、スロット31が保持している用語がユーザの発話の内容と適合していると判定しても良い。また、この場合に、異常検知部29は、上記ステップS201の判定を行わないようにしてもよい。また、ステップS131で応答文生成部21により応答文が生成された時刻から所定時間以上前に生成された過去の応答文を異常検知処理の対象外としても良い。なお、上記所定時間は、ユーザが、音声対話装置20との対話が一連の対話であると認識する最大の時間として定められるものであり、例えば、10分と設定してもよいし、1時間と設定しても良い。ユーザが一連の対話であると認識する時間より過去に生成された応答文と一致したとしても、ユーザの発話の内容との適否を正しく判定することができないと考えられるからである。
 以上の一連の処理により、ステップS131で応答文生成部21が生成した応答文に基づいて、修復処理を実行する必要があるか否かを適切に決定することができる。
 図6は、本実施の形態に係る音声対話装置20による修復処理のフロー図である。図7Aおよび図7Bは、本実施の形態に係る音声対話装置20による修復処理の説明図である。
 図6に示されるフロー図、並びに、図7Aおよび図7Bに示される説明図は、図4におけるステップS107の処理を詳細に示すものであり、スロット31が保持している用語を修復する処理の一例を示すものである。また、図7Aおよび図7Bは、図3の対話シーケンス及び履歴情報のうち、修復処理に関わる部分を抜き出したものである。図7Aは、修復処理が行われる前のものであり、図7Bは、修復処理が行われた後のものである。
 ステップS301において、解析部26は、異常フラグがアサートされているか否かを判定する。異常フラグがアサートされている場合(ステップS301で「Y」)、ステップS302を実行する。一方、異常フラグがアサートされていない場合(ステップS301で「N」)、図6の一連の処理を終了する。
 ステップS302において、解析部26は、履歴テーブル320内のアクション323として「修復」を含むレコードを検索する。
 ステップS303において、解析部26がステップS206で「修復」を含むレコードを発見したか否かを判定する。上記レコードを発見した場合(ステップS303で「Y」)には、ステップS304を実行する。一方、上記レコードを発見しない場合(ステップS303で「N」)には、ステップS321を実行する。
 ステップS304において、解析部26は、ステップS303で発見した「修復」を含むレコードから、現在時点に対応するレコード(「現在レコード」ともいう)までの範囲を、以降の処理の処理対象として決定する。
 ステップS321において、解析部26は、履歴テーブル320の先頭レコードから、現在レコードまでの範囲を、以降の処理の処理対象として決定する。
 なお、ステップS304およびステップS321において、処理対象に現在の時刻から所定時間以上前のレコードが含まれるとき、そのレコードを処理対象から除外しても良い。
 ステップS305において、解析部26は、履歴テーブル320のアクション323として「更新」を含むレコードのスロット31が保持している用語を取得する。具体的には、図7Aにおいて、アクション323として「更新」を含むレコードであるレコードR102及びR112を特定する。さらに解析部26は、レコードR102でスロット31Aが保持している用語として用語Aを取得し、レコードR112でスロット31Aが保持している用語として用語Bを取得する。
 ステップS306において、解析部26は、ステップS305で取得した用語に基づいて、保持する用語が更新前と同一であるスロットとレコードとを特定する。具体的には、図7Aにおいて、保持する用語が更新前と同一であるスロットとしてスロット31Aを特定し、レコードとしてR112を特定する。
 ステップS307において、解析部26は、ステップS306でスロットとレコードとを特定できたか否かを判定する。特定できた場合(ステップS307で「Y」)には、ステップS308へ進む。一方、特定できない場合(ステップS307で「N」)には、ステップS311へ進む。
 ステップS308において、操作部25は、ステップS306で特定したスロットが、特定したレコードにおいて保持している用語と異なる用語を保持しているレコードの履歴ポインタとして「修復元」を設定する。より具体的には、特定したスロットが、特定したレコードにおいて保持している用語を保持する前の時点のレコードの履歴ポインタとして「修復元」を設定する。図7Bが示すように、特定したレコードであるレコードR112において、特定したスロットであるスロット31Aは、用語Bを保持している。操作部25は、スロット31Aが用語Bを保持する前に保持していた用語Aを有するレコードであるレコードR101の履歴ポインタ324に「修復元」を設定する。なお、操作部25は、特定したスロット31が特定したレコードにおいて保持している用語を保持する前の時点のレコードにおいて、特定したスロット31が何も用語を保持していない場合であっても、当該レコードの履歴ポインタ324に「修復元」を設定する。
 ステップS309において、操作部25は、スロット31Aが保持する用語を修復元のレコードにおいてスロット31Aが保持している用語に変更することで修復する。具体的には、図7Bにおいて、スロット31Aが保持する用語をAに変更した新たなレコードR113が追加される。なお、修復元のレコードにおいてスロット31Aが何も用語を保持していない場合には、操作部25は、スロット31Aが保持している用語を削除する、つまり、スロット31Aが用語を保持していない状態にすればよい。
 ステップS310において、操作部25は、履歴テーブル320における現在レコードのアクション323として「修復」を設定する。具体的には、図7BにおけるレコードR113のアクション323に「修復」が設定される。
 ステップS311において、操作部25は、異常フラグをネゲート(無効化)する。ステップS311が終了したら、図6に示される一連の処理を終了する。
 なお、ステップS309によりスロット31が保持する用語を修復した後に、修復したことを示す応答をユーザに対してしてもよい。この応答は、例えば、「地名をAに戻しました。」というようなものであってよい。
 以上の一連の処理により、音声認識の誤認識等によりユーザの意図と異なり更新された対話の内容が、ユーザの音声に基づいてその更新の前のものに変更されることで対話の内容が修正される。
 [1-3.効果等]
 以上のように、本実施の形態に係る音声対話装置20は、スロット31と、履歴テーブル32と、発話データ取得部22と、異常検知部29と、操作部25とを備える。スロット31は、用語を保持するためのものである。履歴テーブル32は、スロット31が保持する用語の履歴を記憶する。発話データ取得部22は、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語をスロット31に保持させることで、スロット31が保持している用語の更新を行う。異常検知部29は、更新の後にスロット31が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う。操作部25は、適否判定において不適合と判定された場合に、履歴テーブル32を参照して、スロット31が保持している用語を、スロット31が更新の前に保持していた用語に変更する。
 これによれば、音声対話装置20は、ユーザの音声に基づいて、保持部が保持する用語とユーザの発話の内容との不適合を、上記変更により解消することができる。上記不適合は、音声認識処理における誤認識に起因するものと想定されるが、このことは、ユーザにとって、対話の内容が正しく音声対話装置20に伝わらなかったと認識される。このような場合に、音声対話装置20は、上記不適合があることを自動的に検出し、不適合を解消することができる。よって、音声対話装置20は、ユーザとの対話の内容を簡易な方法により修正することができる。
 また、操作部25は、スロット31が保持する用語を用いて音声対話装置20により行われる処理の結果に基づいて、適否判定を行ってもよい。
 これによれば、音声対話装置20は、ユーザとの対話の内容に基づいて上記不適合があることを自動的に検出し、不適合を解消することができる。よって、音声対話装置20は、ユーザとの対話の内容を簡易な方法により修正することができる。
 また、音声対話装置20は、さらに、スロット31が保持している用語に基づいて、ユーザによる発話を促すための応答文を生成する応答文生成部21を備えてもよい。異常検知部29は、応答文生成部21が生成した応答文を処理の結果として取得し、応答文の内容が所定回数以上連続して同一であるか否かを適否判定において判定し、同一であると判定した場合に不適合と判定してもよい。
 これによれば、音声対話装置20は、応答文の内容に基づいて具体的に上記不適合を検出することができる。第一応答文生成部が生成する応答文は、保持部が保持している用語、つまり、それまでのユーザとの対話の内容が反映された情報である。複数回連続して同一の応答文が生成されたということは、ユーザとの対話がユーザが意図したとおりに進んでいないことを意味する。よって、上記不適合をこの応答文から適切に検出することができる。このように、音声対話装置20は、ユーザとの対話の内容を簡易な方法により修正することができる。
 また、異常検知部29は、適否判定において、応答文の内容が、所定回数以上連続して同一である場合であっても、応答文が生成された期間が所定時間以上である場合には、適合と判定してもよい。
 これによれば、音声対話装置20は、所定時間以上過去の応答文を一致判定の対象から除外することができる。ユーザが1つの対話と認識する時間より過去に取得された発話は、現在のユーザとの対話の内容を反映しているとはいえないからである。
 また、音声対話装置20は、複数のスロット31を備えてもよい。複数のスロット31のそれぞれは、用語の属性に対応付けられており、かつ、当該スロット31部に対応付けられた属性を有する用語を保持するためのスロット31である。発話データ取得部22は、取得した発話データに含まれる発話用語を、複数のスロット31のうち発話用語の属性に対応付けられたスロット31に保持させてもよい。
 これによれば、音声対話装置20は、複数の保持部により属性の異なる用語を保持し、保持している複数の用語を用いてタスク処理部40に処理を行わせることができる。
 また、音声対話装置20は、異常検知部29が適否判定において不適合と判定した場合に、正しく音声認識されやすい発話を行わせるための応答文をユーザに対して提示する応答文生成部21を備えてもよい。
 これによれば、音声対話装置20は、上記不適合があることを検出した場合に、ユーザの次の発話を誤認識することを防止できる。
 また、本実施の形態に係る音声対話システム1は、スロット31と、履歴テーブル32と、発話データ取得部22と、異常検知部29と、操作部25と、マイク13と、音声認識部14と、タスク処理部40と、音声合成部12と、スピーカ11と、表示装置10とを備える。スロット31は、用語を保持するためのものである。履歴テーブル32は、スロット31が保持する用語の履歴を記憶する。発話データ取得部22は、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語をスロット31に保持させることで、スロット31が保持している用語の更新を行う。異常検知部29は、更新の後にスロット31が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う。操作部25は、適否判定において不適合と判定された場合に、履歴テーブル32を参照して、スロット31が保持している用語を、スロット31が更新の前に保持していた用語に変更する。マイク13は、ユーザの音声を取得して音声信号を生成する。音声認識部14は、マイク13が生成した音声信号に対して音声認識処理を施すことで、発話データ取得部22により取得される発話データを生成する。タスク処理部40は、スロット31が保持している用語を取得し、取得した用語に対して所定の処理を施し、処理の結果を示す情報を出力する。音声合成部12は、ユーザの音声による発話に対する応答文を生成し、生成した応答文に対して音声合成処理を施すことで音声信号を生成する。スピーカ11は、音声合成部12が生成した音声信号を音声として出力する。表示装置10は、タスク処理部40が出力した処理の結果を表示する。
 これにより、上記音声対話装置20と同様の効果を奏する。
 また、本実施の形態に係る音声対話装置20の制御方法は、音声対話装置20は、用語を保持するためのスロット31と、スロット31が保持する用語の履歴を記憶している履歴テーブル32とを備え、制御方法は、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語をスロット31に保持させることで、スロット31が保持している用語の更新を行う取得ステップと、更新の後にスロット31が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う判定ステップと、適否判定において不適合と判定された場合に、履歴テーブル32を参照して、スロット31が保持している用語を、スロット31が更新の前に保持していた用語に変更する変更ステップとを含む。
 これにより、上記音声対話装置20と同様の効果を奏する。
 (実施の形態2)
 本実施の形態において、ユーザとの対話の内容を簡易な方法により修正する音声対話装置の第二の例について説明する。本実施の形態に係る音声対話装置が奏する効果は、実施の形態1における音声対話装置と同様である。
 なお、実施の形態1における構成要素及び処理ステップと同一のものについては、同一の符号を付し、詳細な説明を省略することがある。
 [2-1.構成]
 図8は、本実施の形態に係る音声対話装置20A及び音声対話システム1Aの構成を示すブロック図である。
 図8に示されるように、音声対話システム1Aは、音声対話装置20Aを備える点で実施の形態1における音声対話システム1と異なる。その他の点では、音声対話システム1(図1参照)と同様である。
 音声対話装置20Aは、異常検知部29を内部に備えない応答文生成部21Aを有する点、及び、異常検知部29Aを内部に有する解析部26Aを備える点で実施の形態1における音声対話装置20と異なる。その他の点では、音声対話装置20と同様である。
 解析部26Aは、実施の形態1における解析部26同様、メモリ27内のスロット31又は履歴テーブル32を解析し、解析結果に応じた通知をシーケンス制御部23に行う処理部である。また、解析部26Aは、解析結果に基づく異常検知処理のために、解析結果を異常検知部29Aに提供する。
 異常検知部29Aは、更新の前にスロット31が保持していた用語(第一用語)と、更新の後にスロット31が保持する用語(第二用語)とを特定する。さらに、異常検知部29Aは、特定した第一用語と第二用語とを、音声対話装置20による処理の結果として取得し、取得した第一用語と第二用語とが一致するか否かを適否判定において判定する。そして、一致する場合に異常として検出する。異常を検出した場合、異常検知部29Aがシーケンス制御部23等に通知し、この通知に基づいて操作部25等による修復処理が行われる。異常検知部29Aは、図15の判定部102に相当する。異常検出処理については、後で詳細に説明する。
 [2-2.動作]
 以上のように構成された音声対話装置20A及び音声対話システム1Aについて、その動作を以下に説明する。
 図9は、本実施の形態に係る音声対話装置20Aによるメイン処理のフロー図である。図9に示されるメイン処理において、実施の形態1におけるメイン処理(図4)と異なるのは、ステップS107の後にステップS401の異常検知処理が実行される点、及び、ステップS131の後に異常検知処理(図4のステップS132に相当)が実行されない点である。
 ステップS401において、異常検知部29Aは、履歴テーブル320を参照し、各レコードにおいてスロット31が保持する用語に基づいて異常検知処理を行う。
 図10は、本実施の形態に係る音声対話装置20Aによる異常検知処理のフロー図である。
 ステップS501において、異常検知部29Aは、履歴テーブル320のアクション323(図3)として、「更新」を含むレコードを検索する。
 ステップS502において、異常検知部29Aは、ステップS501で上記レコードを発見したか否かを判定する。上記レコードを発見した場合(ステップS502で「Y」)には、ステップS503に進む。一方、上記レコードを発見しない場合(ステップS502で「N」)には、図10に示される一連の処理を終了する。
 ステップS503において、異常検知部29Aは、ステップS502で発見したレコードにおいて、スロット31が保持する用語が、更新前に保持していた用語と同一であるか否かを判定する。更新前と同一である場合(ステップS503で「Y」)には、ステップS504に進む。一方、更新前と同一でない場合(ステップS503で「N」)には、図10に示される一連の処理を終了する。
 ステップS504において、異常検知部29Aは、異常フラグをアサートする。
 上記ステップS502及びS503において、スロット31が保持する用語が更新前と同一の用語に更新された場合、そのスロット31を含むレコードに対応する時点でのユーザによる発話が音声対話装置20Aにより正しく取得されなかった可能性がある。そこで、このような場合に、音声対話装置20Aが取得した対話の内容(つまり、スロット31が保持している用語)が、ユーザが意図する発話の内容と適合していないと判断して、異常フラグをアサートする。
 なお、上記ステップS503の判定において、異常検知部29Aは、スロット31が保持する用語が更新前と同一であっても、その用語が格納された時刻と、当該更新の時刻との時間差が所定時間以上である場合には、生成した応答文が前回のものと同じでない(つまり、スロット31が保持している用語がユーザの発話の内容と適合している)と判定するようにしてもよい。また、この場合に、異常検知部29Aは、上記ステップS503の判定を行わないようにしてもよい。上記所定時間は、ユーザが、音声対話装置20Aとの対話が一連の対話であると認識する最大の時間として定められるものであり、例えば、10分又は1時間というように設定されるものである。ユーザが一連の対話であると認識する時間より過去に生成された応答文と一致したとしても、ユーザの発話の内容との適否を正しく判定することができないと考えられるからである。
 なお、修復処理(図9のステップS107)は、実施の形態1におけるものと同じであるので説明を省略する。ただし、本実施の形態における修復処理では、スロット31が保持する用語を変更することにより修復する前に、当該修復を行ってよいかどうかをユーザに問い合わせるための応答を行ってもよい。この応答は、例えば、『地名が2回以上「今市」に設定されました。異常状態と思われますので、地名を赤坂に戻しましょうか』というものである。そして、この応答に対してユーザが肯定的な応答をした場合のみ、当該修復を行うようにする。これにより、対話の内容をユーザの意図に反して変更してしまうことを回避することができる。
 なお、上記説明では、ステップS105において用語をスロット31に格納した後にステップS401において異常検知処理を行う例を説明したが、このようにする代わりに、スロット31に格納すべき用語が決定した後に異常検知処理を行うことも可能である。その場合、上記説明において、「スロット31に格納した用語」となっているところを、「スロット31に格納することに決定した用語」というように解釈すればよい。
 [2-3.効果等]
 以上のように、本実施の形態に係る音声対話装置20Aは、スロット31と、履歴テーブル32と、発話データ取得部22と、異常検知部29Aと、操作部25とを備える。スロット31は、用語を保持するためのものである。履歴テーブル32は、スロット31が保持する用語の履歴を記憶する。発話データ取得部22は、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語をスロット31に保持させることで、スロット31が保持している用語の更新を行う。異常検知部29Aは、更新の後にスロット31が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う。操作部25は、適否判定において不適合と判定された場合に、履歴テーブル32を参照して、スロット31が保持している用語を、スロット31が更新の前に保持していた用語に変更する。上記適否判定において、異常検知部29Aは、更新の前にスロット31が保持していた第一用語と、更新の後にスロット31が保持する第二用語とを特定し、特定した第一用語と第二用語とを処理の結果として取得し、取得した第一用語と第二用語とが一致するか否かを適否判定において判定し、一致する場合に不適合と判定する。
 これによれば、音声対話装置20Aは、更新の前後に保持部が保持する用語に基づいて具体的に上記不適合を検出することができる。保持部が保持する用語が更新前後で一致するということは、音声対話装置20Aとユーザとの対話がユーザが意図したとおりに進んでいないことを意味する。よって、上記不適合をこの応答文から適切に検出することができる。このように、音声対話装置20Aは、ユーザとの対話の内容を簡易な方法により修正することができる。
 また、異常検知部29Aは、適否判定において、第一用語と第二用語とが一致する場合であっても、第一用語がスロット31に保持されてから所定時間経過後に更新が行われる場合には、適合と判定してもよい。
 これによれば、音声対話装置20Aは、所定時間以上過去の用語を一致判定の対象から除外することができる。ユーザが1つの対話と認識する時間より過去に保持部に保持されていた用語は、現在のユーザとの対話の内容を反映しているとはいえないからである。
 (その他の実施の形態)
 図11A~図14Bの各図を用いて、上記の各実施の形態から把握できる技術的思想を用いた音声対話を提供する形態について例示する。なお、冗長になることを避けるため、重複した説明を省略する場合がある。
 図11Aは、音声対話によりユーザの意図を把握し、インターネット等のネットワーク490を介して情報を収集する音声対話装置410の構成について説明する。音声対話装置410は、用語取得部401と、複数の保持部402と、判定部403と、変更部404と、応答文生成部405と、提示部406と、処理部407と、通信部408とを備える。用語取得部401は、ユーザの発話に係る音声に基づき、ユーザの発話に係る用語を取得し、音声を認識する。さらに、用語取得部401は、音声対話装置410が備える複数の保持部402から、取得した用語に対応する保持部402を選んで格納する。しかし、音声認識における誤認識などにより、用語取得部401が誤った用語を取得し、誤った保持部402を選択して格納することがある。
 保持部は、例えばメモリにより構成され、複数の領域を有する。ここで、保持部402は、本来格納すべきであった用語を保持する第一の保持部と、誤って格納された用語を保持する第二の保持部とを含む。用語取得部401が誤った用語を第二の保持部に格納したことにより、格納される前に第二の保持部が保持していた用語は誤った用語に置き換えられる。これは、第一の保持部および第二の保持部を含む各保持部に保持された用語と、ユーザの発話の内容とが適合していない状態である。
 判定部403は、各保持部402に保持された用語と、ユーザの発話の内容とが適合しているかを判定する。適合していないと判断された場合、応答文生成部405は、ユーザに音声認識しやすい発話を促す特別応答文を生成し、ユーザの発話に係る用語を正しく認識できるようにする。しかし、この状態でユーザの発話に係る用語を正しく認識し、その正しい用語を第一の保持部に格納できても、第二の保持部には誤った用語が格納されたままであり、不適合は解消されない。変更部404は、第二の保持部に格納された誤った用語を、過去に格納していた正しい用語に変更することにより、この不適合を解消する。
 本開示の技術的思想は、音声認識の誤りにより生じるユーザの発話の内容と各保持部402が保持する用語の不適合を解消する上で有用である。特に、カーナビゲーション装置に特有の課題である、運転者との音声対話において効果的である。カーナビゲーション装置と運転者との音声対話において、運転者が現在の入力状態(保持部が保持する用語)を確認し、誤って格納された用語を修正するよう指示することは大きな負担である。判定部403が不適合を検知し、変更部404が第二の保持部に格納された用語を正しい用語に変更することにより、運転者にかかるこれらの負担を軽減することができる。
 提示部406は、音声やディスプレイによる表示などにより、音声対話装置410からユーザに情報を提示する。例えば、提示部406が保持部402が保持する用語を提示することにより、ユーザは、保持部402が保持する用語がユーザの発話の内容と適合しているかを確認することができる。また、提示部406は、音声対話装置410が保持部402に保持された用語に基づき収集した情報を提示する。ここで提示する情報は、収集された情報だけではなく、それに基づく案内情報などであってもよい。例えば、飲食店に関する情報を収集した場合であれば、ユーザに道路案内や所要時間などの情報を提示するというものである。この場合、提示部406が音声により情報を提供することによって、運転者にかかる負担を軽減することができる。
 処理部407は、保持部402が保持する用語に基づき、検索を行う。処理部407は、通信部408を介してネットワーク490に接続し、情報提供部491から情報を取得する。ここで情報提供部491とは、例えば、検索サイト、飲食店などの紹介サイトなどの一般的なWebサイトであってもよいし、データベースなどであってもよい。通信部408から情報提供部491へは、保持部402に保持された用語、または、それらの用語に係る検索用語が検索情報として送信される。情報提供部491から通信部408へは、検索結果が送信される。なお、検索情報にユーザの現在位置などの情報を含めることで、よりユーザの状況に合致した情報を収集することができる。
 以上の構成を備える音声対話装置410は、ユーザの負担を総合的に抑えつつ適切な情報を提供できる点で有用である。
 図11Bは、音声対話装置410の構成の別の一例を示したものである。用語取得部401は、ユーザの発話に係る音声を音声認識にかけることで用語を取得するが、音声認識を行う音声認識部492を内包していなくてもよい。用語取得部401は、ユーザの発話に係る音声を、ネットワーク490を介して音声認識部492に送信し、その結果を取得してもよい。ここで音声認識部492は、クラウド上またはサーバ上で実行されるプログラムであってもよい。
 図12は、保持部402と、制御回路411とを備えて構成された音声対話装置410の例である。制御回路411は、ユーザとの音声対話を制御する制御回路である。制御回路411は、ユーザの発話に係る用語を取得し、取得した用語を対応する保持部402に格納するとともに、保持部402に保持された用語がユーザの発話の内容に適合するか否かについて適否判定を行う。不適合と判定された場合には、保持部402が保持する誤った用語を過去に保持していた正しい用語に変更する。なお、制御回路411は、異なる種類の音声対話装置410に共通して使用できるようにしてもよいし、他の機能をもつ回路と一体としてもよい。これらにより、音声対話装置410に係るコストを低減することができる。
 図13A~図13Cは、本開示の技術的思想に基づく音声対話システム420の構成を例示したものである。図11A~図12に示した構成においては、用語取得部401、保持部402、判定部403、変更部404などは音声対話装置410に内包されている。しかし、それらの一部または全部は、ネットワーク490を介して接続されるクラウドやサーバに実装されてもよい。
 図13Aに示す音声対話システム420は、ユーザの発話に係る音声を集音する集音部421及びユーザに情報を提示する提示部406以外は、ネットワーク490を介して各部と接続される構成を備える。集音部421は、ユーザの発話にかかる音声を集音し、ネットワーク490を介して用語取得部401に送信する。応答文生成部405は、応答文をネットワーク490を介して提示部406に送信する。提示部406は、ネットワーク490を介して受信した応答文に基づき、音声または表示によりユーザに情報を提示する。なお、音声対話システム420の構成要素は、ネットワーク490のユーザ側にあってもよいし、ネットワーク490をまたがってもよい。例えば、応答文生成部405は、ネットワーク490のユーザと反対側において受けた応答指示をネットワーク490のユーザ側に送信し、ユーザ側において応答文を生成してもよい。
 図13Bに示されるように、音声対話システム420は必ずしも音声認識部492を備える必要はない。用語取得部401は、ユーザの発話に係る音声を、ネットワーク490を介して音声認識部492に送信し、音声認識部492からユーザの発話に係る用語を取得する。なお、用語取得部401はネットワーク490をまたがって構成されてもよい。例えば、集音部421から集音された音声をユーザ側から音声認識部492に送信してもよい。
 図13Cは、さらに情報提供部491を備える音声対話システム420を示している。ここで、音声対話システム420からネットワーク490を介して情報を取得する情報提供部491を第一の情報提供部491a、音声対話システム420が備える情報提供部491を第二の情報提供部491bとする。あらかじめ収集された情報を第二の情報提供部491bに保持しておくことにより、処理部407による検索に対して高速に応答することができる。さらに、第二の情報提供部491bに付加的な情報を保持することもできる。付加的な情報とは、例えば、検索対象である店舗に関する広告情報などであってもよい。こうした付加的な情報を提供することにより、より有益な情報をユーザに提示できる。第二の情報提供部491bを備えた音声対話システム420は、必ずしも第一の情報提供部491aを必要としないが、両者を併用することによってより多くの情報をユーザに提示できる。また、第二の情報提供部491bを備えた音声対話システム420は、各構成要素をネットワーク490のユーザ側に備えることによって、なんらかの原因によりネットワーク490を使用できない場合にもユーザに情報を提示できる点で有用である。
 図14Aは、ユーザ側の端末440における音声対話をサポートする音声対話システム430を示している。この音声対話システム430によれば、ユーザ側の端末440は、少なくとも集音部421と、提示部406を備えていれば、ユーザとの音声対話を実現できる。音声対話システム430は、通知部431を備える。通知部431は、応答指示や処理部407により取得された情報を、ネットワーク490を介してユーザ側の端末440に送信する。音声対話システム430は、さらに応答文生成部を備えてもよい。この場合、通知部431は、応答指示に代えて、応答文または応答文に基づく音声を送信する。音声対話システム430によれば、低コストのユーザ側の端末440によっても、ユーザにとって使いやすい音声対話を実現できる。
 図14Bは、さらに情報提供部491bを備えた音声対話システム430を示している。この情報提供部491bは、図13Cにおける第二情報提供部に相当し、図13Cに示された構成と同様の効果を有する。
 なお、図14Aおよび図14Bに示された音声対話システムの構成は、ネットワーク490に接続されたクラウド上またはサーバ上で動作するプログラムによっても実現できる。具体的には以下のステップを含むプログラムである。このプログラムは、ユーザ側の端末で集音されたユーザの発話に係る音声に基づいて、ユーザの発話に係る用語を取得するステップを有する。さらに、取得された用語をその用語に対応する保持部に格納するステップを有する。さらに、複数の保持部に保持された用語がユーザの発話の内容に適合するか否かについて適否判定を行うステップを有する。さらに、不適合と判定された場合に、保持部が保持する誤った用語を、その保持部が過去に保持していた正しい用語に変更するステップを有する。さらに、保持された用語に基づく検索を行うステップを有する。さらに、検索の結果に基づく情報をユーザ側の端末に送信するステップを有する。以上のステップを有するプログラムは、図14Aおよび図14Bに示された音声対話システムを実現する上で有用である。
 さらに、上記のプログラムが記録された記憶媒体は、音声対話システムを実現する上で有用である。また、サーバ、または、クラウドシステムであって、上記のプログラムを記録されたもの、または、実行可能であるものは、上記の音声対話システムと同等のサービスを提供するものとして有用である。
 (変形例)
 図15は、上記各実施の形態の変形例に係る音声対話装置20Bの構成を示すブロック図である。
 図15に示されるように、音声対話装置20Bは、保持部104と、記憶部105と、取得部101と、判定部102と、変更部103とを備える。保持部104は、用語を保持するためのものである。記憶部105は、保持部104が保持する用語の履歴を記憶する。取得部101は、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語を保持部104に保持させることで、保持部104が保持している用語の更新を行う。判定部102は、更新の後に保持部104が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う。変更部103は、適否判定において不適合と判定された場合に、記憶部105を参照して、保持部104が保持している用語を、保持部104が更新の前に保持していた用語に変更する。
 図16は、上記各実施の形態の変形例に係る音声対話装置20Bの制御方法を示すフロー図である。
 図16に示されるように、ユーザとの音声による対話を行う音声対話装置20Bの制御方法は、取得ステップ(ステップS601)と、判定ステップ(ステップS602)と、変更ステップ(ステップS603)とを含む。取得ステップにおいては、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語を保持部104に保持させることで、保持部104が保持している用語の更新を行う。判定ステップにおいては、更新の後に保持部104が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う。変更ステップにおいては、適否判定において不適合と判定された場合に、記憶部105を参照して、保持部104が保持している用語を、保持部104が更新の前に保持していた用語に変更する。
 以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
 したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記実装を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
 また、上述の実施の形態は、本開示における技術を例示するためのものであるから、請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
 以下に、各実施の形態および変形例から把握できる技術的思想を付記する。
 (付記1)用語を保持するための保持部と、保持部が保持する用語の履歴を記憶している記憶部と、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語を保持部に保持させることで、保持部が保持している用語の更新を行う取得部と、更新の後に保持部が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う判定部と、適否判定において不適合と判定された場合に、記憶部を参照して、保持部が保持している用語を、保持部が更新の前に保持していた用語に変更する変更部とを備える音声対話装置。
 (付記2)判定部は、保持部が保持する用語を用いて音声対話装置により行われる処理の結果に基づいて、適否判定を行う付記1に記載の音声対話装置。
 (付記3)音声対話装置は、さらに、保持部が保持している用語に基づいて、ユーザによる発話を促すための応答文を生成する第一応答文生成部を備え、判定部は、第一応答文生成部が生成した応答文を処理の結果として取得し、応答文の内容が所定回数以上連続して同一であるか否かを適否判定において判定し、同一であると判定した場合に不適合と判定する付記2に記載の音声対話装置。
 (付記4)判定部は、適否判定において、応答文の内容が、所定回数以上連続して同一である場合であっても、応答文が生成された期間が所定時間以上である場合には、適合と判定する付記3に記載の音声対話装置。
 (付記5)音声対話装置は、複数の保持部を備え、複数の保持部のそれぞれは、用語の属性に対応付けられており、かつ、当該保持部に対応付けられた属性を有する用語を保持するための保持部であり、取得部は、取得した発話データに含まれる発話用語を、複数の保持部のうち発話用語の属性に対応付けられた保持部に保持させる付記1~付記4に記載の音声対話装置。
 (付記6)音声対話装置は、判定部が適否判定において不適合と判定した場合に、正しく音声認識されやすい発話を行わせるための応答文をユーザに対して提示する第二応答文生成部を備える付記1~付記5に記載の音声対話装置。
 (付記7)判定部は、適否判定において、更新の前に保持部が保持していた第一用語と、更新の後に保持部が保持する第二用語とを特定し、特定した第一用語と第二用語とを処理の結果として取得し、取得した第一用語と第二用語とが一致するか否かを適否判定において判定し、一致する場合に不適合と判定する付記2に記載の音声対話装置。
 (付記8)判定部は、適否判定において、第一用語と第二用語とが一致する場合であっても、第一用語が保持部に保持されてから所定時間経過後に更新が行われる場合には、適合と判定する付記7に記載の音声対話装置。
 (付記9)用語を保持するための保持部と、保持部が保持する用語の履歴を記憶している記憶部と、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語を保持部に保持させることで、保持部が保持している用語の更新を行う取得部と、更新の後に保持部が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う判定部と、適否判定において不適合と判定された場合に、記憶部を参照して、保持部が保持している用語を、保持部が更新の前に保持していた用語に変更する変更部と、ユーザの音声を取得して音声信号を生成するマイクと、マイクが生成した音声信号に対して音声認識処理を施すことで、取得部により取得される発話データを生成する音声認識部と、保持部が保持している用語を取得し、取得した用語に対して所定の処理を施し、処理の結果を示す情報を出力する処理部と、ユーザの音声による発話に対する応答文を生成し、生成した応答文に対して音声合成処理を施すことで音声信号を生成する音声合成部と、音声合成部が生成した音声信号を音声として出力するスピーカと、処理部が出力した処理の結果を表示する表示装置とを備える音声対話システム。
 (付記10)音声対話装置の制御方法であって、音声対話装置は、用語を保持するための保持部と、保持部が保持する用語の履歴を記憶している記憶部とを備え、制御方法は、ユーザの音声による発話を音声認識することで生成される発話データを取得し、取得した発話データに含まれる発話用語を保持部に保持させることで、保持部が保持している用語の更新を行う取得ステップと、更新の後に保持部が保持する用語が、ユーザの発話の内容と適合するか否かについての適否判定を行う判定ステップと、適否判定において不適合と判定された場合に、記憶部を参照して、保持部が保持している用語を、保持部が更新の前に保持していた用語に変更する変更ステップとを含む制御方法。
 本開示は、簡易な方法により、ユーザとの対話の内容を修正することができる音声対話装置として有用である。例えば、本開示は、カーナビゲーション装置、スマートフォン(高機能携帯電話端末)、携帯電話端末、携帯情報端末、又は、PC(Personal Computer)のアプリケーションに適用することができる。
 1,1A  音声対話システム
 10  表示装置
 11  スピーカ
 12  音声合成部
 13  マイク
 14  音声認識部
 20,20A,20B  音声対話装置
 21,21A  応答文生成部
 22  発話データ取得部
 23  シーケンス制御部
 24  タスク制御部
 25  操作部
 26,26A  解析部
 27  メモリ
 28  タスク結果解析部
 29,29A  異常検知部
 30,106  提示制御部
 31,31A  スロット
 32,320  履歴テーブル
 40  タスク処理部
 101  取得部
 102  判定部
 103  変更部
 104  保持部
 105  記憶部
 310  対話シーケンス
 311  時刻情報
 312  発話
 313  応答
 321  必須スロット群
 322  オプションスロット群
 323  アクション
 324  履歴ポインタ
 330  検索結果
 401  用語取得部
 402  保持部
 403  判定部
 404  変更部
 405  応答文生成部
 406  提示部
 407  処理部
 408  通信部
 410  音声対話装置
 411  制御回路
 421  集音部
 420,430  音声対話システム
 440  ユーザ側の端末
 490  ネットワーク
 491  情報提供部
 492  音声認識部

Claims (16)

  1. 用語を保持するための複数の保持部と、
    ユーザの発話に係る用語を取得するとともに、取得された前記用語を当該用語に対応する保持部に格納する用語取得部と、
    前記保持部に保持された用語が、前記ユーザの発話の内容と適合するか否かについての適否判定を行う判定部と、
    前記適否判定において不適合と判定された場合に、前記保持部が保持する用語を、前記保持部が過去に保持していた用語に変更する変更部と、を備える
    音声対話装置。
  2. さらに、
    前記保持部に保持された用語に基づいて、ユーザに発話を促すための応答文を生成する応答文生成部を備え、
    前記判定部は、前記適否判定において、前記応答文の内容が所定回数以上連続して同一であると判定したときに、不適合と判定する
    請求項1に記載の音声対話装置。
  3.  前記保持部は、用語の属性毎に用語を保持し、
     前記応答文生成部は、前記用語取得部により一の属性に対応する用語が前記保持部に格納されない限り、前記一の属性に対応する同一の応答文を連続して生成する、
    請求項2に記載の音声対話装置。
  4. 前記判定部は、前記適否判定において、
    所定時間以上前に生成された前記応答文を前記適否判定の対象外とする
    請求項2に記載の音声対話装置。
  5. 前記応答文生成部は、
    前記適否判定において不適合と判定された場合に、正しく音声認識されやすい発話を前記ユーザに行わせるための特別応答文を生成する特別応答文生成部を備える
    請求項2~4のいずれか1項に記載の音声対話装置。
  6. 前記判定部は、前記適否判定において、
    前記用語取得部により保持部に格納された用語と、格納された前記用語の前に前記保持部が保持していた用語が同一であると判定したときに、不適合と判定する
    請求項1~5のいずれか1項に記載の音声対話装置。
  7.  前記保持部は、用語の属性毎に用語を保持し、
     前記判定部は、前記用語取得部により一の属性に対応して同一の用語が連続して前記保持部に格納された場合、不適合と判定する、
    請求項6に記載の音声対話装置。
  8. 前記判定部は、前記適否判定において、
    格納された前記用語の前に前記保持部が保持していた用語が、所定時間以上前に前記用語取得部により格納されていた場合、前記所定時間以上前に格納された前記用語を前記適否判定の対象外とする
    請求項6又は7に記載の音声対話装置。
  9. さらに、
    前記保持部が保持する用語を提示する提示部を備える
    請求項1~8のいずれか1項に記載の音声対話装置。
  10. さらに、
    前記ユーザの発話に対応した情報を音声により提示する提示部を備える
    請求項1~8のいずれか1項に記載の音声対話装置。
  11. さらに、
    前記保持部に保持された用語に基づく検索を行う処理部と、
    外部に接続する通信部と、を備え、
    前記検索において、前記処理部は、
    前記通信部を介して前記保持部に保持された用語を含む検索情報を送信し、
    前記通信部を介して前記検索情報に基づく検索結果を取得し、
    前記検索結果に基づく情報を前記ユーザに提示する
    請求項1~10のいずれか1項に記載の音声対話装置。
  12. 用語を保持するための複数の保持部と、
    ユーザとの対話を制御する制御回路と、を備え、
    前記制御回路は、
     前記ユーザの発話に係る用語を取得し、
     取得された前記用語を当該用語に対応する保持部に格納し、
     前記保持部に保持された用語が、前記ユーザの発話の内容と適合するか否かについての適否判定を行い、
     前記適否判定において不適合と判定された場合に、前記保持部が保持する用語を、前記保持部が過去に保持していた用語に変更する
    音声対話装置。
  13. 用語を保持するための複数の保持部と、
    ユーザの発話に係る音声を集音する集音部と、
    前記集音部から集音された前記音声に基づいて前記ユーザの発話に係る用語を取得するとともに、取得された前記用語を当該用語に対応する前記保持部に格納する用語取得部と、
    前記保持部に保持された用語が、前記ユーザの発話の内容と適合するか否かについての適否判定を行う判定部と、
    前記適否判定において不適合と判定された場合に、前記保持部が保持する用語を、当該保持部が過去に保持していた用語に変更する変更部と、
    前記保持部に保持されている用語に基づく検索を行う処理部と、
    前記検索の結果に基づく情報を提示する提示部と、を備える
    音声対話システム。
  14. 用語を保持するための複数の保持部と、
    ユーザ側の端末で集音されたユーザの発話に基づいて前記ユーザの発話に係る用語を取得するとともに、取得された前記用語を当該用語に対応する前記保持部に格納する用語取得部と、
    前記保持部に保持された用語が、前記ユーザの発話の内容と適合するか否かについての適否判定を行う判定部と、
    前記適否判定において不適合と判定された場合に、前記保持部が保持する用語を、当該保持部が過去に保持していた用語に変更する変更部と、
    前記保持部に保持されている用語に基づく検索を行う処理部と、
    前記検索の結果に基づく情報を前記ユーザ側の端末に送信する通知部と、を備える
    音声対話システム。
  15. 音声対話装置の制御方法であって、
    前記音声対話装置は、
     用語を保持するための保持部と、
     前記保持部に保持されている用語に基づく検索を行う処理部と、を備え、
    前記制御方法は、
     ユーザの発話に係る用語を取得するステップと、
     取得された前記用語を当該用語に対応する保持部に格納するステップと、
     前記保持部に保持された用語が、前記ユーザの発話の内容と適合するか否かについての適否判定を行うステップと、
     前記適否判定において不適合と判定された場合に、前記保持部が保持する用語を、前記保持部が過去に保持していた用語に変更するステップと、を含む
    制御方法。
  16. 音声対話に係るプログラムであって、
    ユーザ側の端末で集音されたユーザの発話に係る音声に基づいて、前記ユーザの発話に係る用語を取得するステップと、
    取得された前記用語を当該用語に対応する保持部に格納するステップと、
    前記保持部に保持された用語が、前記ユーザの発話の内容と適合するか否かについての適否判定を行うステップと、
    前記適否判定において不適合と判定された場合に、前記保持部が保持する用語を、前記保持部が過去に保持していた用語に変更するステップと、
    前記保持部に保持された用語に基づく検索を行うステップと、
    前記検索の結果に基づく情報を前記ユーザ側の端末に送信するステップと、を含む
    音声対話に係るプログラム。
PCT/JP2016/000854 2015-02-27 2016-02-18 音声対話装置、音声対話システム、音声対話装置の制御方法、および、プログラム WO2016136207A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-039542 2015-02-27
JP2015039542A JP2018063271A (ja) 2015-02-27 2015-02-27 音声対話装置、音声対話システム、および、音声対話装置の制御方法

Publications (1)

Publication Number Publication Date
WO2016136207A1 true WO2016136207A1 (ja) 2016-09-01

Family

ID=56788160

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/000854 WO2016136207A1 (ja) 2015-02-27 2016-02-18 音声対話装置、音声対話システム、音声対話装置の制御方法、および、プログラム

Country Status (2)

Country Link
JP (1) JP2018063271A (ja)
WO (1) WO2016136207A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6205039B1 (ja) * 2016-09-16 2017-09-27 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
CN108630201A (zh) * 2018-03-07 2018-10-09 北京墨丘科技有限公司 一种用于建立设备关联的方法和装置
WO2019035373A1 (ja) * 2017-08-17 2019-02-21 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
CN110910886A (zh) * 2019-12-17 2020-03-24 广州三星通信技术研究有限公司 人机交互方法及装置
CN111326137A (zh) * 2018-12-13 2020-06-23 允匠智能科技(上海)有限公司 一种基于办公智能化的语音机器人交互系统
JPWO2019026395A1 (ja) * 2017-08-01 2020-06-25 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219590A (ja) * 1994-01-31 1995-08-18 Canon Inc 音声情報検索装置及び方法
JP2002351492A (ja) * 2001-05-25 2002-12-06 Mitsubishi Electric Corp 対話管理装置
JP2006154724A (ja) * 2004-10-28 2006-06-15 Fujitsu Ltd 対話システム、対話方法、及びコンピュータプログラム
JP2008506156A (ja) * 2004-07-06 2008-02-28 ボクシィファイ, インコーポレイテッド マルチスロット対話システムおよび方法
JP2008051895A (ja) * 2006-08-22 2008-03-06 Casio Comput Co Ltd 音声認識装置および音声認識処理プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219590A (ja) * 1994-01-31 1995-08-18 Canon Inc 音声情報検索装置及び方法
JP2002351492A (ja) * 2001-05-25 2002-12-06 Mitsubishi Electric Corp 対話管理装置
JP2008506156A (ja) * 2004-07-06 2008-02-28 ボクシィファイ, インコーポレイテッド マルチスロット対話システムおよび方法
JP2006154724A (ja) * 2004-10-28 2006-06-15 Fujitsu Ltd 対話システム、対話方法、及びコンピュータプログラム
JP2008051895A (ja) * 2006-08-22 2008-03-06 Casio Comput Co Ltd 音声認識装置および音声認識処理プログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6205039B1 (ja) * 2016-09-16 2017-09-27 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
JP2018045630A (ja) * 2016-09-16 2018-03-22 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
JPWO2019026395A1 (ja) * 2017-08-01 2020-06-25 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
WO2019035373A1 (ja) * 2017-08-17 2019-02-21 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JPWO2019035373A1 (ja) * 2017-08-17 2020-10-08 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP7279636B2 (ja) 2017-08-17 2023-05-23 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
CN108630201A (zh) * 2018-03-07 2018-10-09 北京墨丘科技有限公司 一种用于建立设备关联的方法和装置
CN108630201B (zh) * 2018-03-07 2020-09-29 北京墨丘科技有限公司 一种用于建立设备关联的方法和装置
CN111326137A (zh) * 2018-12-13 2020-06-23 允匠智能科技(上海)有限公司 一种基于办公智能化的语音机器人交互系统
CN110910886A (zh) * 2019-12-17 2020-03-24 广州三星通信技术研究有限公司 人机交互方法及装置
CN110910886B (zh) * 2019-12-17 2022-09-20 广州三星通信技术研究有限公司 人机交互方法及装置

Also Published As

Publication number Publication date
JP2018063271A (ja) 2018-04-19

Similar Documents

Publication Publication Date Title
US11823659B2 (en) Speech recognition through disambiguation feedback
JP6942841B2 (ja) ダイアログ・システムにおけるパラメータ収集および自動ダイアログ生成
WO2016136207A1 (ja) 音声対話装置、音声対話システム、音声対話装置の制御方法、および、プログラム
JP6588637B2 (ja) 個別化されたエンティティ発音の学習
US20180232203A1 (en) Method for user training of information dialogue system
US20180190288A1 (en) System and method of performing automatic speech recognition using local private data
KR101418163B1 (ko) 컨텍스트 정보를 이용한 음성 인식 복구
US9002708B2 (en) Speech recognition system and method based on word-level candidate generation
WO2019051044A1 (en) SYSTEMS AND METHODS FOR IMPROVING USER EXPERIENCE IN TRANSIENT ERROR COMMUNICATION
US20210134278A1 (en) Information processing device and information processing method
JP2019503526A5 (ja)
US10672379B1 (en) Systems and methods for selecting a recipient device for communications
WO2014144395A2 (en) User training by intelligent digital assistant
JP2015176099A (ja) 対話システム構築支援装置、方法、及びプログラム
JP2012230670A (ja) 戻ることによって誤認識を修正するシステム、方法及びコンピュータプログラム
EP3295457B1 (en) Automatic visual display of audibly presented options to increase user efficiency and interaction performance
US20170103756A1 (en) Information processing system, and vehicle-mounted device
WO2019035373A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US20210065708A1 (en) Information processing apparatus, information processing system, information processing method, and program
JP2012168349A (ja) 音声認識システムおよびこれを用いた検索システム
CN105869631B (zh) 语音预测的方法和装置
WO2015132829A1 (ja) 音声対話装置、音声対話システムおよび音声対話方法
WO2016136208A1 (ja) 音声対話装置、音声対話システム、および、音声対話装置の制御方法
JP2018159729A (ja) 対話システム構築支援装置、方法、及びプログラム
US20200066265A1 (en) Speech recognition system with interactive spelling function

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16754958

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: JP

122 Ep: pct application non-entry in european phase

Ref document number: 16754958

Country of ref document: EP

Kind code of ref document: A1