WO2021186525A1 - 発話生成装置、発話生成方法、プログラム - Google Patents
発話生成装置、発話生成方法、プログラム Download PDFInfo
- Publication number
- WO2021186525A1 WO2021186525A1 PCT/JP2020/011614 JP2020011614W WO2021186525A1 WO 2021186525 A1 WO2021186525 A1 WO 2021186525A1 JP 2020011614 W JP2020011614 W JP 2020011614W WO 2021186525 A1 WO2021186525 A1 WO 2021186525A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- experience
- utterance
- context
- understanding result
- template
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 40
- 238000000605 extraction Methods 0.000 claims abstract description 14
- 230000004044 response Effects 0.000 claims abstract description 10
- 230000002889 sympathetic effect Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000877 morphologic effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
- G06F40/56—Natural language generation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
Definitions
- the present invention relates to a technique for generating utterances.
- Non-Patent Document 1 a dialogue between a user and a system is realized by learning a pair of an utterance and its response on a large scale.
- this method has the problem that the system may respond with a slight deviation, and the user is informed that the system does not understand.
- Non-Patent Document 2 a method of "repeating a part of the immediately preceding user's utterance” may be used (see Non-Patent Document 2). This method imitates the method used in communication between people, and its effectiveness is also known (see Non-Patent Document 3).
- Non-Patent Document 2 is an effective method for showing the user that he / she understands the utterance.
- this method has a problem that a part of inappropriate utterance may be picked up and repeated, in which case the user is given the impression that he / she does not understand.
- this method since the system does not understand the context in the first place, there is a problem that the content of the utterance before the previous utterance is not reflected.
- an object of the present invention is to provide a technique for generating data indicating the context of dialogue and generating utterances based on the data indicating the context of dialogue.
- One aspect of the present invention indicates an experience time, which is an item indicating the time of the experience, an experience place, which is an item indicating the place of the experience, an experience person, which is an item indicating a person who shared the experience, and the content of the experience.
- the data structure including the experience content, which is an item, and the experience impression, which is an item indicating the impression about the experience, is the context class, and the item included in the context class (hereinafter referred to as the context item) is the experience time, experience place, experience person, Information for identifying the data structure including the experience content, experience impression, and the reason for the experience impression, which is an item indicating the basis of the impression about the experience, as the experience class and the template used for generating the utterance (hereinafter referred to as the utterance template) (hereinafter referred to as the utterance template).
- Template ID a utterance template, a utterance category indicating the type of utterance template, and a context item (hereinafter referred to as focus item) indicating the focus of the utterance template.
- focus item a context item indicating the focus of the utterance template.
- a recording unit that records an experience database composed of data, an utterance template database composed of utterance template class data, and a set of context items and their values extracted from input text representing the user's utterance.
- phrase extraction unit that generates a phrase set that is a set of data (hereinafter referred to as a phrase) and the phrase set, data of a context class that indicates the context of the current dialogue (hereinafter, the context understanding result before update).
- the context understanding result update section that generates context class data (hereinafter referred to as the updated context understanding result) indicating the context of the latest dialogue, and the experience class included in the updated context understanding result and experience database.
- an output text representing the utterance that is the response to the input text is generated. Includes speech generator and.
- ⁇ (Caret) represents a superscript.
- x y ⁇ z means that y z is a superscript for x
- x y ⁇ z means that y z is a subscript for x
- _ (underscore) represents a subscript.
- x y_z means that y z is a superscript for x
- x y_z means that y z is a subscript for x.
- FIG. 1 shows an example of dialogue in a question-and-answer-based chat dialogue system.
- the utterances of the user are designated by U1, U2, ...
- the utterances of the dialogue system are designated by S1, S2, ....
- the parentheses in the user's utterance describe the user's inner feelings.
- the dialogue system repeats utterances without understanding the context, so it may ask questions about the contents already mentioned or make unnatural utterances that do not follow the flow of the dialogue. There is. As a result, the user feels that the dialogue system does not have the ability to interact, resulting in a decrease in credibility for the speech by the dialogue system.
- FIG. 2 shows an example of a dialogue aimed at by a dialogue system based on the present invention.
- FIG. 2 shows an example of a dialogue aimed at by a dialogue system based on the present invention.
- reference numerals such as U1, U2, ... For the utterance of the user and S1, S2, ... For the utterance of the dialogue system are added.
- the dialogue system uttered "Osaka, like. Did you go to Kaiyukan?" In S1.
- the dialogue system asks context-sensitive questions by naming specific tourist facilities after giving an aizuchi.
- the dialogue system said in S3, "I like it. I ate it too. It was hot, mellow and delicious.”
- the dialogue system shows empathy so that the user can feel that he / she understands his / her feelings. I'm talking.
- the dialogue system speaks in context, so that the user understands the user's feelings throughout the dialogue, or the dialogue system makes the user feel that the person can understand the feelings. I am doing.
- FIGS. 3 and 4 are diagrams showing how the dialogue system understands the context in a certain dialogue and what kind of utterance is made as a result. Also in FIGS. 3 and 4, for convenience, the utterances of the user are designated by U1, U2, ..., And the utterances of the dialogue system are designated by S1, S2, .... Further, in FIGS. 3 and 4, the context understood by the dialogue system (hereinafter referred to as context understanding result) is C1, C2, ..., and the data indicating the experience (hereinafter referred to as experience data) is E1, E2, It has a code such as ...
- the user utters "I ate it. It's delicious.”
- U3 as a response to the utterance S2 by the dialogue system.
- the dialogue system understands the user's new utterance U3 as the context understanding result C3 based on the context understanding result C2.
- the dialogue system uses the experience database to obtain experience data E2 similar to the context understanding result C3 as a search result, and in S3, says "Did you go to Kaiyukan in Osaka in the summer?" The user is asked questions in the context of "," and "Osaka.”
- the utterance generation device 100 generates an utterance that is a response to the user's utterance during the dialogue.
- the utterance generation device 100 uses a data structure called a context class to understand the context, which is the flow of dialogue with the user, and generates a context understanding result, which is the data of the context class.
- the context class indicates the experience time, which is an item indicating the time of the experience, the experience place, which is an item indicating the place of the experience, the experience person, which is an item indicating the person who shared the experience, and the content of the experience.
- It is a data structure that includes the experience content, which is an item, and the experience impression, which is an item that indicates the impression about the experience.
- the experience time, experience location, experience person, experience content, and experience impression are the five items of "when", “where", “who", “what did”, and “impression” explained in ⁇ Technical Background>. Corresponds to each.
- the utterance generation device 100 uses an experience database to generate utterances as if they had experienced or conveyed and heard the experience.
- the experience database is a database composed of data of the experience class, and the experience class is an item included in the context class (hereinafter referred to as a context item), the experience time, the experience place, the experience person, and the experience. It is a data structure that includes the content, the experience impression, and the reason for the experience impression, which is an item showing the basis of the impression about the experience.
- the utterance generation device 100 uses the utterance template database to generate utterances.
- the utterance template is a template that serves as a template for utterance.
- the utterance template database is a database composed of data of the utterance template class, and the utterance template class is information for identifying the utterance template (hereinafter referred to as template ID), the utterance template, and the utterance template. It is a data structure including an utterance category indicating the type of utterance and a context item (hereinafter referred to as a focus item) indicating the focus of the utterance template.
- FIG. 5 shows an example of the utterance template database.
- the template ID is simply abbreviated as ID.
- the utterance template class of FIG. 5 includes a template ID, an utterance template, an utterance category, a focus item, a tone label indicating the tone of the utterance template, and an impression category indicating the type of impression.
- the values of the utterance category include questions, pre-empathy, related questions, and empathy.
- Pre-empathy is an utterance to show empathy to the user in advance so that the user can speak based on his / her own experience in a later utterance when he / she has his / her own experience similar to the user's experience.
- the case where there is one's own experience similar to the user's experience is the case where there is a similar experience in which the degree of similarity is greater than or equal to a predetermined threshold value, which will be described later.
- the utterance template has a supplementary column for at least one context item.
- the supplementary columns such as the experience time of the similar experience, the experience place of the similar experience, the person who experienced the similar experience, the experience content of the similar experience, the experience impression of the similar experience, and the reason for the experience impression of the similar experience, the utterance is uttered from the utterance template.
- the values of the experience time, experience place, experience person, experience content, experience impression, and experience impression reason in the similar experience described later are set.
- the supplementary columns such as the experience time of the context understanding result, the experience location of the context understanding result, the experiencer of the context understanding result, the experience content of the context understanding result, and the experience impression of the context understanding result are displayed.
- the values of the experience time, experience place, experience person, experience content, experience impression, and experience impression reason in the context understanding result are set.
- the utterance template with the template ID 3 in Fig. 5 has four supplementary columns: the experience location of the similar experience, the experience content of the similar experience, the reason for the experience impression of the similar experience, and the experience impression of the similar experience.
- the utterance template with the template ID of 7 has three supplementary columns: the experience impression of the context understanding result, the reason for the experience impression of the similar experience, and the experience impression of the similar experience.
- the utterance template may not have a supplementary column for context items.
- the value of the utterance category is a question, but there is no supplementary column.
- the value of the utterance category is a question or pre-empathy, but each has one supplementary column.
- FIG. 6 is a block diagram showing the configuration of the utterance generator 100.
- FIG. 7 is a flowchart showing the operation of the utterance generator 100.
- the utterance generation device 100 includes an initialization unit 110, an utterance input unit 120, a phrase extraction unit 130, a context understanding result update unit 140, a dialogue control unit 150, and an utterance generation unit 160.
- the utterance output unit 170 and the recording unit 190 are included.
- the recording unit 190 is a component unit that appropriately records information necessary for processing of the utterance generation device 100.
- the recording unit 190 records the experience database and the utterance template database in advance.
- a database that records the input text corresponding to the utterance of the user and the output text corresponding to the utterance of the utterance generator 100 in chronological order.
- the utterance history database may be recorded.
- the template ID used to generate the output text may also be recorded.
- the initialization unit 110 performs initialization processing necessary for starting a dialogue with the user.
- the initialization process may be started, for example, by using a signal for activating the utterance generator 100 as a signal to start dialogue, or by starting the first utterance by the user as a signal to start dialogue.
- the context understanding result is initialized. Specifically, the value of each context item of the context understanding result is set to a value indicating the sky such as "NULL".
- the utterance input unit 120 takes the user's utterance as input, and generates and outputs a text representing the user's utterance (hereinafter referred to as input text) from the user's utterance.
- input text Any data format of the user's utterance can be used, and the user's utterance can be, for example, text, voice (voice signal), or binary data.
- the utterance input unit 120 uses the text as the input text as it is.
- the utterance input unit 120 performs voice recognition using a predetermined voice recognition technique and generates a voice recognition result as input text.
- the voice recognition technology any one capable of generating a text corresponding to the voice from the voice can be used.
- the utterance input unit 120 may output a list of the candidates and their reliability pairs as input to the phrase extraction unit 130.
- the phrase extraction unit 130 executes the phrase extraction process using the candidate with the highest reliability, but if the phrase extraction fails, the phrase extraction process is executed using the next candidate. do.
- the phrase extraction unit 130 takes the input text generated in S120 as an input, and is a phrase that is a set of data (hereinafter, referred to as a phrase) including a set of context items and their values extracted from the input text. Generate and output a set. For example, if the input text is "I ate takoyaki in Dotonbori", the phrase extraction unit 130 generates ⁇ (experience place,'Doutonbori'), (experience content,'I ate takoyaki') ⁇ as a phrase set. do. In this example, the phrase is a set of context items and their values, such as (experience content,'I ate takoyaki'), but other incidental information may be included.
- the section of the character string is a set of the position of the first character and the position of the last character of the character string, assuming that the characters included in the input text are counted as 0, 1,... in order from the beginning. be.
- the phrase extraction unit 130 When the phrase extraction unit 130 generates a phrase set that includes a phrase including an experience impression and a set of its values, the phrase extraction unit 130 specifies an impression category of the input text, that is, whether it is affirmative or negative. , May be output. In this case, the utterance generation unit 160 can generate an appropriate aizuchi (for example, “like” or “soka”) as an utterance based on the impression category of the input text.
- an appropriate aizuchi for example, “like” or “soka”
- the context understanding result update unit 140 takes the phrase set generated in S130 as an input, and uses the phrase set from the context class data (hereinafter, referred to as the pre-update context understanding result) indicating the context of the current dialogue. Generates and outputs context class data (hereinafter referred to as updated context understanding result) that shows the context of the latest dialogue.
- the context understanding result update unit 140 reads, for example, the pre-update context understanding result recorded in the recording unit 190, and writes the post-update context understanding result to the recording unit 190.
- This post-update context understanding result is the pre-update context understanding result when the input text generated by the utterance generator 100 next to the input text to be processed this time is the processing target.
- the context understanding result update unit 140 takes out one phrase which is an element of the phrase set.
- the context understanding result update unit 140 is the value of the context item included in the phrase. Is written as the value of the context item of the context understanding result after update.
- the value of the context item of the pre-update context understanding result corresponding to the context item included in the extracted phrase is not a value indicating an empty value (that is, the value of the context item has already been written).
- the context data update unit 140 repeats the processes of (1) and (2), and when the processes for all the elements of the phrase set are completed, the updated context understanding result is written to the recording unit 190, and the process is completed. do.
- the context understanding result before update is the data in Fig. 8 (a)
- the context understanding result The update unit 140 generates the post-update context understanding result of FIG. 8 (b).
- the dialogue control unit 150 inputs the pre-update context understanding result recorded in the recording unit 190 and the post-update context understanding result generated in S140, and uses the pre-update context understanding result and the post-update context understanding result. Then, select similar experiences and utterance template candidates and output them. Specifically, the dialogue control unit 150 selects one or more experience class data as a similar experience based on the similarity calculated between the updated context understanding result and the experience class data included in the experience database. do. Further, the dialogue control unit 150 selects the data of the utterance template class as the utterance template candidate from the utterance template database using the pre-update context understanding result and the post-update context understanding result.
- the dialogue control unit 150 retrieves one experience class data included in the experience database.
- the dialogue control unit 150 calculates the degree of similarity between the updated context understanding result and the extracted experience class data.
- the similarity can be calculated, for example, based on the updated context understanding result and the match rate as a character string for each context item in the data of the experience class, and is the match rate greater than a predetermined ratio (for example, 0.9)?
- the similarity value of the data of the experience class having a large number of context items, which is more than that, may be increased (see FIG. 9).
- the match rate as a character string
- the match rate as a string of morphemes may be used.
- the match rate as a column of morphemes is based on a string of two morphemes obtained by morphological analysis of the character string of the context item of the updated context understanding result and the character string of the context item in the data of the experience class. It refers to the match rate calculated by.
- the reason for using the match rate as a string of morphemes is that even if the character strings indicate different places such as "Tokyo" and "Kyoto", the match rate may be high as a character string. This is because even in such a case, the match rate is low for the morpheme string, and erroneous judgment can be avoided.
- the match rate may be calculated only for two context items, the experience location and the experience content.
- the reason for calculating the similarity using only the two context items of experience location and experience content is that the location and content are particularly useful for thinking about the experience, and the two context items of experience location and experience content are used. Highly similar experience-based utterances calculated in It is easy for people to understand).
- the dialogue control unit 150 repeats the processes of (1) and (2), and when the processes for all the experience class data included in the experience database are completed, one or more experience classes are arranged in descending order of similarity. Data is selected as a similar experience, output, and then the process ends. Further, the dialogue control unit 150 may output the similarity degree of the similar experience according to the similar experience at the time of output.
- the dialogue control unit 150 specifies the context item of the updated context understanding result based on the pre-update context understanding result and the post-update context understanding result. For example, the dialogue control unit 150 can specify the context item of the updated context understanding result by comparing the context item of the context understanding result before update and the context item of the context understanding result after update as a character string.
- the dialogue control unit 150 selects the utterance template candidate by a method according to the context item of the updated context understanding result. Some examples are shown below. In each of these examples, the dialogue control unit 150 makes a conditional determination regarding the update of the context understanding result, and executes processing according to the determination result.
- the dialogue control unit 150 determines that the experience impression of the context understanding result has been updated based on the context understanding result before update and the context understanding result after update.
- the value of the experience place of the context understanding result after update is When the value indicates the sky, the dialogue control unit 150 selects the data of the utterance template class including the utterance category as a question and the focus item as the experience location as the utterance template candidate.
- the dialogue control unit 150 uses the data of the utterance template class whose utterance category is a question and the focus item includes the experience content as a utterance template candidate. select.
- the dialogue control unit 150 has the utterance category sympathy and the focus item is at least the experience location or the experience content. Select the data of the utterance template class including one of them as the utterance template candidate.
- the dialogue control unit 150 determines whether the utterance template candidate selected when neither the value of the experience location nor the value of the experience content of the updated context understanding result indicates an empty value was used in the past utterance. You may check using the utterance history database. When the selected utterance template candidate is the one used in the past utterance, the dialogue control unit 150 determines that the utterance category is a question and the value of the context item of the updated context understanding result is a value indicating an empty value. It is advisable to select class data as an utterance template candidate.
- the dialogue control unit 150 selects the data of the utterance template class whose utterance category is pre-sympathetic as the utterance template candidate. In other cases, the dialogue control unit 150 executes the process according to the following three cases.
- the value of the experience location of the updated context understanding result is a value indicating an empty value
- the dialogue control unit 150 uses the data of the utterance template class whose utterance category is a question and the focus item includes the experience location as a utterance template candidate. select.
- the dialogue control unit 150 uses the data of the utterance template class including the utterance category as a question and the focus item as the utterance template candidate. select.
- the dialogue control unit 150 has the utterance category sympathy and the focus item is at least the experience place or the experience impression. Select the data of the utterance template class including one of them as the utterance template candidate.
- the dialogue control unit 150 may use the utterance history database to check whether the selected utterance template candidate has been used in past utterances, as in (2-1).
- the dialogue control unit 150 selects the data of the utterance template class whose utterance category is pre-sympathetic as the utterance template candidate. In other cases, the dialogue control unit 150 executes the process according to the following three cases.
- the value of the experience content of the updated context understanding result is a value indicating an empty value
- the dialogue control unit 150 uses the data of the utterance template class whose utterance category is a question and the focus item includes the experience content as a utterance template candidate. select.
- the dialogue control unit 150 uses the data of the utterance template class including the utterance category as a question and the focus item as the utterance template candidate. select.
- the dialogue control unit 150 has the utterance category sympathy and the focus item is at least either the experience content or the experience impression. Select the data of the utterance template class including one of them as the utterance template candidate.
- the dialogue control unit 150 may use the utterance history database to check whether the selected utterance template candidate has been used in past utterances, as in (2-1).
- the dialogue control unit 150 selects the data of the utterance template class whose utterance category is a question and the focus item includes the experience time and the experience impression as the utterance template candidate.
- the dialogue control unit 150 sets the data of the utterance template class including the utterance category as the related question and the focus item as the utterance template candidate. Select as.
- the dialogue control unit 150 sets the data of the utterance template class including the utterance category as the related question and the focus item as the utterance template candidate. Select as.
- the dialogue control unit 150 may use the utterance history database to check whether the selected utterance template candidate has been used in past utterances, as in (2-1).
- the dialogue control unit 150 selects the data of the utterance template class whose utterance category is a question and whose focus item includes the experiencer and the experience impression as the utterance template candidate.
- the dialogue control unit 150 sets the data of the utterance template class including the utterance category as the related question and the focus item as the utterance template candidate. Select as.
- the dialogue control unit 150 sets the data of the utterance template class including the utterance category as the related question and the focus item as the utterance template candidate. Select as.
- the dialogue control unit 150 may use the utterance history database to check whether the selected utterance template candidate has been used in past utterances, as in (2-1).
- the dialogue control unit 150 is calculated based on the updated context understanding result and the experience location in the experience class data included in the experience database, or the match rate as a character string or morphological element string of the experience content.
- the dialogue control unit 150 has the utterance category sympathy and the utterance template. Select the data of the utterance template class as the utterance template candidate, which has a supplementary column regarding the experience location of the similar experience, the experience impression of the similar experience, and the reason for the experience impression of the similar experience.
- the dialogue control unit 150 may use the utterance history database to check whether the selected utterance template candidate has been used in past utterances, as in (2-1).
- the dialogue control unit 150 is calculated based on the updated context understanding result and the experience location in the experience class data included in the experience database, or the match rate as a character string or morphology string of the experience content.
- the dialogue control unit 150 has the utterance category sympathy and the utterance template. Select the data of the utterance template class as the utterance template candidate, which has a supplementary column regarding the experience content of the similar experience, the experience impression of the similar experience, and the reason for the experience impression of the similar experience.
- the dialogue control unit 150 may use the utterance history database to check whether the selected utterance template candidate has been used in past utterances, as in (2-1).
- the process may be executed based on the result of the conditional determination regarding the update of the context understanding result in a predetermined order.
- the dialogue control unit 150 outputs utterance template candidates.
- the dialogue control unit 150 calculates the priority indicating the order in which the templates are applied, and the priority is combined with the utterance template candidates. May be output. Further, instead of outputting the priority, the dialogue control unit 150 may output the utterance template candidates as a list, and make the appearance order in the list correspond to the priority.
- the priority calculation method will be explained below.
- the dialogue control unit 150 calculates the priority so that, for example, the utterance template that generates an utterance using a similar experience (that is, the utterance template whose utterance category is empathy or a related question) has a higher priority. Further, the dialogue control unit 150 calculates the priority using the utterance history database so that, for example, the utterance template whose utterance category is a question and the utterance template whose utterance category is sympathetic are used alternately as much as possible.
- the utterance generation unit 160 inputs the updated context understanding result recorded in the recording unit 190 and the similar experience and utterance template candidate selected in S150, and the updated context understanding result and similar experience and utterance template candidate. And are used to generate and output output text that represents the utterance that is the response to the input text.
- the utterance generation unit 160 replenishes the replenishment column of the utterance template candidate based on the context item of the similar experience and the context item of the updated context understanding result, and then outputs the output.
- Generate text That is, the utterance generation unit 160 sets the value of the context item corresponding to the supplementary column of the utterance template candidate.
- the utterance generation unit 160 uses the utterance template “I also [experience place of similar experience]. Then, [Experience content of similar experience]. [Reason for experience impression of similar experience], so [Experience impression of similar experience]. " Generate.
- the utterance generation unit 160 replenishes the utterance template candidate replenishment column based on the context item of the similar experience and the context item of the updated context understanding result. Generate output text. That is, the utterance generation unit 160 sets the value of the context item corresponding to the supplementary column of the utterance template candidate. For example, when the updated context understanding result is the data of FIG. 11 (a) and the similar experience is the data of FIG. 11 (b), the utterance generation unit 160 uses the utterance template “I also [experience time of similar experience]. [Experience content of similar experience]. Did you go to [Experience place of similar experience]? ”To generate the utterance“ I also went to Osaka in July. Did you go to Kaiyukan? ”.
- the utterance generation unit 160 is based on the context item of the similar experience and the context item of the updated context understanding result. After replenishing the utterance template candidate replenishment column, the output text is generated. If the utterance template candidate does not have a supplementary column, the utterance generation unit 160 uses the utterance template candidate itself as the output text without using the similar experience and the context understanding result.
- the utterance generation unit 160 generates an output text from the utterance template candidate based on the experience place of the similar experience, the experience impression, and the reason for the experience impression. ..
- the utterance output unit 170 takes the output text generated in S160 as an input, generates and outputs an utterance (hereinafter referred to as output data) that is a response to the user's utterance from the output text, and controls the processing to S120. return.
- the utterance output unit 170 may output the output text as it is as output data, or may output the voice (voice signal) generated from the output text by voice conversion as output data. That is, any data format that can be understood by humans can be used as the data format of the output data.
- FIG. 12 is a diagram showing an example of a functional configuration of a computer that realizes each of the above-mentioned devices.
- the processing in each of the above-mentioned devices can be carried out by causing the recording unit 2020 to read a program for causing the computer to function as each of the above-mentioned devices, and operating the control unit 2010, the input unit 2030, the output unit 2040, and the like.
- the device of the present invention is, for example, as a single hardware entity, an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected, and a communication device (for example, a communication cable) capable of communicating outside the hardware entity.
- Communication unit CPU (Central Processing Unit, cache memory, registers, etc.) to which can be connected, RAM and ROM as memory, external storage device as hard hardware, and input, output, and communication units of these.
- CPU, RAM, ROM has a connecting bus so that data can be exchanged between external storage devices.
- a device (drive) or the like capable of reading and writing a recording medium such as a CD-ROM may be provided in the hardware entity.
- a physical entity equipped with such hardware resources includes a general-purpose computer and the like.
- the external storage device of the hardware entity stores the program required to realize the above-mentioned functions and the data required for processing this program (not limited to the external storage device, for example, reading a program). It may be stored in a ROM, which is a dedicated storage device). Further, the data obtained by the processing of these programs is appropriately stored in a RAM, an external storage device, or the like.
- each program stored in the external storage device (or ROM, etc.) and the data necessary for processing each program are read into the memory as needed, and are appropriately interpreted, executed, and processed by the CPU. ..
- the CPU realizes a predetermined function (each component represented by the above, ..., ... Means, etc.).
- the present invention is not limited to the above-described embodiment, and can be appropriately modified without departing from the spirit of the present invention. Further, the processes described in the above-described embodiment are not only executed in chronological order according to the order described, but may also be executed in parallel or individually as required by the processing capacity of the device that executes the processes. ..
- the processing function in the hardware entity (device of the present invention) described in the above embodiment is realized by a computer
- the processing content of the function that the hardware entity should have is described by a program.
- the processing function in the above hardware entity is realized on the computer.
- the program that describes this processing content can be recorded on a computer-readable recording medium.
- the computer-readable recording medium may be, for example, a magnetic recording device, an optical disk, a photomagnetic recording medium, a semiconductor memory, or the like.
- a hard disk device, a flexible disk, a magnetic tape, or the like as a magnetic recording device is used as an optical disk
- a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), or a CD-ROM (Compact Disc Read Only) is used as an optical disk.
- Memory CD-R (Recordable) / RW (ReWritable), etc.
- MO Magnetto-Optical disc
- EP-ROM Electroically Erasable and Programmable-Read Only Memory
- semiconductor memory can be used.
- the distribution of this program is carried out, for example, by selling, transferring, renting, etc., a portable recording medium such as a DVD or CD-ROM on which the program is recorded. Further, the program may be stored in the storage device of the server computer, and the program may be distributed by transferring the program from the server computer to another computer via the network.
- a computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. Then, when the process is executed, the computer reads the program stored in its own storage device and executes the process according to the read program. Further, as another execution form of this program, a computer may read the program directly from a portable recording medium and execute processing according to the program, and further, the program is transferred from the server computer to this computer. It is also possible to execute the process according to the received program one by one each time. In addition, the above processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition without transferring the program from the server computer to this computer. May be.
- the program in this embodiment includes information to be used for processing by a computer and equivalent to the program (data that is not a direct command to the computer but has a property of defining the processing of the computer, etc.).
- the hardware entity is configured by executing a predetermined program on the computer, but at least a part of these processing contents may be realized in terms of hardware.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
対話の文脈を示すデータに基づいて発話を生成する技術を提供する。ユーザの発話を表す入力テキストから抽出される、文脈項目とその値の組を含むフレーズを要素とする集合であるフレーズ集合を生成するフレーズ抽出部と、フレーズ集合を用いて、現時点における対話の文脈を示す更新前文脈理解結果から最新の対話の文脈を示す更新後文脈理解結果を生成する文脈理解結果更新部と、更新後文脈理解結果と体験データベースに含まれる体験クラスのデータとの間で計算される類似度に基づいて体験クラスのデータを類似体験として選択し、更新前文脈理解結果と更新後文脈理解結果を用いて発話テンプレートデータベースから発話テンプレートクラスのデータを発話テンプレート候補として選択する対話制御部と、更新後文脈理解結果と類似体験と発話テンプレート候補を用いて、入力テキストに対する応答となる出力テキストを生成する発話生成部を含む。
Description
本発明は、発話を生成する技術に関する。
現在、ユーザと対話するシステムの実現に向けた研究が盛んに行われている。例えば、非特許文献1に記載の方法では、発話とその応答のペアを大規模に学習させることにより、ユーザとシステムとの対話を実現する。しかし、この方法では、システムが少しずれた応答をしてしまうことがあり、ユーザにシステムが理解していないことが伝わってしまうという問題がある。
そこで、システムがユーザの発話を理解していることをユーザに示すために、“直前のユーザの発話の一部を繰り返す”という方法を用いることがある(非特許文献2参照)。この方法は、人と人とのコミュニケーションにおいて用いられる方法を模倣したものであり、その有効性も知られている(非特許文献3参照)。
目黒 豊美, 杉山 弘晃, 東中 竜一郎, 南 泰浩, "ルールベース発話生成と統計的発話生成の融合に基づく対話システムの構築", 人工知能学会全国大会論文集第28回全国大会, 一般社団法人 人工知能学会, 2014.
Ryuichiro Higashinaka, Kohji Dohsaka, and Hideki Isozaki, "Effects of self-disclosure and empathy in human-computer dialogue,"2008 IEEE Spoken Language Technology Workshop, IEEE, 2008.
Tatsuya Kawahara, "Spoken dialogue system for a human-like conversational robot ERICA," 9th International Workshop on Spoken Dialogue System Technology, Springer, Singapore, 2019.
確かに、非特許文献2に記載の方法は、ユーザに発話を理解していることを示す有効な方法ではある。しかし、この方法では、不適切な発話の一部を取り上げ繰り返してしまうことがあり、その場合、ユーザに“理解していない”という印象を与えてしまうという問題がある。また、この方法では、システムは文脈をそもそも理解しているわけではないため、直前の発話よりも前の発話についての内容が反映されない応答をしてしまうという問題もある。
そこで本発明では、対話の文脈を示すデータを生成し、対話の文脈を示すデータに基づいて発話を生成する技術を提供することを目的とする。
本発明の一態様は、体験の時期を示す項目である体験時期と、体験の場所を示す項目である体験場所と、体験を共有した者を示す項目である体験者と、体験の内容を示す項目である体験内容と、体験に関する感想を示す項目である体験感想とを含むデータ構造を文脈クラス、文脈クラスに含まれる項目(以下、文脈項目という)である体験時期、体験場所、体験者、体験内容、体験感想と、体験に関する感想の根拠を示す項目である体験感想理由とを含むデータ構造を体験クラス、発話の生成に用いるテンプレート(以下、発話テンプレートという)を識別するための情報(以下、テンプレートIDという)と、発話テンプレートと、発話テンプレートの種別を示す発話カテゴリと、発話テンプレートの焦点を示す文脈項目(以下、焦点項目という)とを含むデータ構造を発話テンプレートクラスとし、体験クラスのデータから構成される体験データベースと、発話テンプレートクラスのデータから構成される発話テンプレートデータベースとを記録する記録部と、ユーザの発話を表す入力テキストから抽出される、文脈項目とその値の組を含むデータ(以下、フレーズという)を要素とする集合であるフレーズ集合を生成するフレーズ抽出部と、前記フレーズ集合を用いて、現時点における対話の文脈を示す文脈クラスのデータ(以下、更新前文脈理解結果という)から、最新の対話の文脈を示す文脈クラスのデータ(以下、更新後文脈理解結果という)を生成する文脈理解結果更新部と、前記更新後文脈理解結果と体験データベースに含まれる体験クラスのデータとの間で計算される類似度に基づいて1以上の体験クラスのデータを類似体験として選択し、前記更新前文脈理解結果と前記更新後文脈理解結果とを用いて発話テンプレートデータベースから発話テンプレートクラスのデータを発話テンプレート候補として選択する対話制御部と、前記更新後文脈理解結果と前記類似体験と前記発話テンプレート候補とを用いて、前記入力テキストに対する応答となる発話を表す出力テキストを生成する発話生成部と、を含む。
本発明によれば、対話の文脈を示すデータに基づいて発話を生成することが可能となる。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
各実施形態の説明に先立って、この明細書における表記方法について説明する。
^(キャレット)は上付き添字を表す。例えば、xy^zはyzがxに対する上付き添字であり、xy^zはyzがxに対する下付き添字であることを表す。また、_(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
ある文字xに対する^xや~xのような上付き添え字の”^”や”~”は、本来”x”の真上に記載されるべきであるが、明細書の記載表記の制約上、^xや~xと記載しているものである。
<技術的背景>
ここでは、まず、従来の対話システムにおける対話においてユーザがどのような経緯で対話システムの対話能力に疑念をいだくようになるかについて、例を用いて説明する。そして、次に、本願発明に基づく対話システムで目指す対話の例について説明し、その実現のために採用するアプローチについて説明する。
ここでは、まず、従来の対話システムにおける対話においてユーザがどのような経緯で対話システムの対話能力に疑念をいだくようになるかについて、例を用いて説明する。そして、次に、本願発明に基づく対話システムで目指す対話の例について説明し、その実現のために採用するアプローチについて説明する。
(従来の対話システムにおける対話の例)
図1は、一問一答ベースの雑談対話システムにおける対話の例を示す。図1では、便宜上、ユーザの発話について、U1, U2, …、対話システムの発話について、S1, S2, …といった符号を付している。また、ユーザの発話中にある括弧はユーザの内心を描写したものである。
図1は、一問一答ベースの雑談対話システムにおける対話の例を示す。図1では、便宜上、ユーザの発話について、U1, U2, …、対話システムの発話について、S1, S2, …といった符号を付している。また、ユーザの発話中にある括弧はユーザの内心を描写したものである。
図1の対話では、対話システムは、S2において、“たこ焼きといえば大阪だね。大阪には行ったことがある?”と発話している。しかし、ユーザは、U1において、“夏休みに大阪行ったよ。”と発話している。そのため、対話システムは、過去に言及があった内容について質問をしていることになり、ユーザがその理解力に疑問を感じる一因になっている。
また、対話システムは、S3において、“いいね。大阪は道頓堀が賑やか。”と発話し、突然道頓堀に話題をふっている。つまり、対話システムは、その時点の文脈である、たこ焼きの話題からずれた発話をしていることになり、これもユーザがその理解力に疑問を感じる一因になっている。
さらに、対話システムは、S4において、特に理由を提示することもなく、“道頓堀もいいね。”と発話している。そのため、ユーザは対話システムが共感を示してくれているように感じることができなくなり、最終的に無言になっている。
上記対話では、対話システムは文脈を理解することなく、発話を繰り返しているため、既に言及した内容に関する質問をしてしまったり、対話の流れに沿わない不自然な発話をしてしまったりしている。そのため、ユーザが対話システムに対話能力がないと感じ、対話システムによる発話への信用が低下する結果を招いている。
(本願発明に基づく対話システムで目指す対話の例)
図2は、本願発明に基づく対話システムで目指す対話の例を示す。図2では、図1と同様、便宜上、ユーザの発話について、U1, U2, …、対話システムの発話について、S1, S2, …といった符号を付している。
図2は、本願発明に基づく対話システムで目指す対話の例を示す。図2では、図1と同様、便宜上、ユーザの発話について、U1, U2, …、対話システムの発話について、S1, S2, …といった符号を付している。
図2の対話では、対話システムは、S1において、“大阪、いいね。海遊館とか行った?”と発話している。対話システムは、相槌をうった後、具体的な観光施設の名前を挙げ文脈に整合した質問をしている。
また、対話システムは、S2において、“行けなくて残念だったね。たこ焼きとか食べた?”と発話し、対話システムは、文脈に沿って話題を展開するような発話をしている。
さらに、対話システムは、S3において、“いいよね。僕も食べたよ。熱々とろとろで美味しかった。”と発話し、対話システムは、ユーザが気持ちを理解している感じることができるような共感を示す発話をしている。
上記対話では、対話システムは、文脈を踏まえて発話することにより、対話全体を通して、ユーザの気持ちを理解した発話、あるいは、対話システムは気持ちが理解できる相手であるとユーザに感じてもらえるような発話をしている。
(本願発明のアプローチ)
本願発明では、対話の文脈を“いつ”、“どこで”、“誰と”、“何を”、“感想”という構造で理解するとともに、当該構造を包含する構造を有する体験に関するデータベース(以下、体験データベースという)を用いることで、共感を示す発話や文脈に沿った質問をするアプローチを採用する。以下、図を用いて説明する。
本願発明では、対話の文脈を“いつ”、“どこで”、“誰と”、“何を”、“感想”という構造で理解するとともに、当該構造を包含する構造を有する体験に関するデータベース(以下、体験データベースという)を用いることで、共感を示す発話や文脈に沿った質問をするアプローチを採用する。以下、図を用いて説明する。
図3、図4は、ある対話において、対話システムがどのように文脈を理解し、その結果どのような発話をしているのかを示した図である。図3、図4においても、便宜上、ユーザの発話について、U1, U2, …、対話システムの発話について、S1, S2, …といった符号を付している。さらに、図3、図4では、対話システムが理解した文脈(以下、文脈理解結果という)については、C1, C2, …、体験を示すデータ(以下、体験データという)については、E1, E2, …といった符号を付している。
図3の対話では、ユーザは、U1において、“夏休みにたこ焼き食べたよ。”と発話している。それに対し、対話システムは当該発話を文脈理解結果C1として理解する。そして、対話システムは、文脈理解結果C1の項目“どこで”が空であることから、S1において“どこで食べたの?”という発話をしている。
そして、ユーザは、S1の応答となるU2において、“大阪で食べたよ。”と発話している。対話システムは、文脈理解結果C1をふまえた上で、ユーザの新たな発話U2を文脈理解結果C2として理解する。そして、対話システムは、体験データベースを用いて、文脈理解結果C2に類似する体験データE1を検索結果として得、S2において“僕もなんばで友達と食べたよ。たこ焼き美味しいよね。”と発話し、体験を根拠とした共感をユーザに示している。
さらに、図4の対話では、ユーザは、対話システムによる発話S2に対する応答として、U3において、“食べたんだね。美味しいよね。”と発話している。対話システムは、文脈理解結果C2をふまえた上で、ユーザの新たな発話U3を文脈理解結果C3として理解する。そして、対話システムは、体験データベースを用いて、文脈理解結果C3に類似する体験データE2を検索結果として得、S3において“夏に大阪だと、海遊館とか行った?”と発話し、“夏”、“大阪”という文脈にそった質問をユーザにしている。
<第1実施形態>
発話生成装置100は、対話中のユーザの発話に対する応答となる発話を生成する。その際、発話生成装置100は、ユーザとの対話の流れである文脈を理解するために、文脈クラスと呼ぶデータ構造を用い、文脈クラスのデータである文脈理解結果を生成する。ここで、文脈クラスは、体験の時期を示す項目である体験時期と、体験の場所を示す項目である体験場所と、体験を共有した者を示す項目である体験者と、体験の内容を示す項目である体験内容と、体験に関する感想を示す項目である体験感想とを含むデータ構造である。体験時期、体験場所、体験者、体験内容、体験感想は、<技術的背景>で説明した“いつ”、“どこで”、“誰と”、“何をした”、“感想”の5つの項目にそれぞれ対応する。
発話生成装置100は、対話中のユーザの発話に対する応答となる発話を生成する。その際、発話生成装置100は、ユーザとの対話の流れである文脈を理解するために、文脈クラスと呼ぶデータ構造を用い、文脈クラスのデータである文脈理解結果を生成する。ここで、文脈クラスは、体験の時期を示す項目である体験時期と、体験の場所を示す項目である体験場所と、体験を共有した者を示す項目である体験者と、体験の内容を示す項目である体験内容と、体験に関する感想を示す項目である体験感想とを含むデータ構造である。体験時期、体験場所、体験者、体験内容、体験感想は、<技術的背景>で説明した“いつ”、“どこで”、“誰と”、“何をした”、“感想”の5つの項目にそれぞれ対応する。
また、発話生成装置100は、自らがあたかも体験したり、体験を伝え聞いたりしたかのような発話を生成するために、体験データベースを用いる。ここで、体験データベースとは、体験クラスのデータから構成されるデータベースであり、体験クラスとは、文脈クラスに含まれる項目(以下、文脈項目という)である体験時期、体験場所、体験者、体験内容、体験感想と、体験に関する感想の根拠を示す項目である体験感想理由とを含むデータ構造のことである。
また、発話生成装置100は、発話を生成するために、発話テンプレートデータベースを用いる。ここで、発話テンプレートとは、発話のひな型となるテンプレートのことである。また、発話テンプレートデータベースとは、発話テンプレートクラスのデータから構成されるデータベースであり、発話テンプレートクラスとは、発話テンプレートを識別するための情報(以下、テンプレートIDという)と、発話テンプレートと、発話テンプレートの種別を示す発話カテゴリと、発話テンプレートの焦点を示す文脈項目(以下、焦点項目という)とを含むデータ構造のことである。
図5は、発話テンプレートデータベースの一例を示す。ここで、テンプレートIDは単にIDと略記している。図5の発話テンプレートクラスは、テンプレートID、発話テンプレート、発話カテゴリ、焦点項目の他、発話テンプレートの口調を示す口調ラベルと、感想の種別を示す感想カテゴリとを含む。
発話カテゴリの値には、質問、事前共感、関連質問、共感がある。事前共感とは、ユーザの体験に類似する自らの体験がある場合に後の発話にて自らの体験に基づいた発話するために、事前にユーザに共感を示すための発話のことである。ここで、ユーザの体験に類似する自らの体験がある場合とは、後述する、類似度が所定の閾値より大きいかそれ以上である類似体験がある場合のことである。
データベース発話カテゴリの値が関連質問または共感である場合、発話テンプレートは少なくとも1つ以上の文脈項目に関する補充欄がある。ここで、類似体験の体験時期、類似体験の体験場所、類似体験の体験者、類似体験の体験内容、類似体験の体験感想、類似体験の体験感想理由といった補充欄には、発話テンプレートから発話を生成する際に、後述する類似体験における体験時期、体験場所、体験者、体験内容、体験感想、体験感想理由の値が設定される。また、文脈理解結果の体験時期、文脈理解結果の体験場所、文脈理解結果の体験者、文脈理解結果の体験内容、文脈理解結果の体験感想といった補充欄には、発話テンプレートから発話を生成する際に、文脈理解結果における体験時期、体験場所、体験者、体験内容、体験感想、体験感想理由の値が設定される。
例えば、図5のテンプレートIDが3の発話テンプレートには、類似体験の体験場所、類似体験の体験内容、類似体験の体験感想理由、類似体験の体験感想の4つの補充欄がある。また、テンプレートIDが7の発話テンプレートには、文脈理解結果の体験感想、類似体験の体験感想理由、類似体験の体験感想の3つの補充欄がある。
一方、発話カテゴリの値が質問または事前共感である場合、発話テンプレートには文脈項目に関する補充欄はないことがある。図5のテンプレートIDが0, 1, 2の発話テンプレートは、いずれもその発話カテゴリの値が質問であるが、補充欄はない。それに対して、図5のテンプレートIDが8, 9, 10, 11の発話テンプレートは、その発話カテゴリの値が質問または事前共感であるが、それぞれ1つの補充欄があるものとなっている。
また、感想カテゴリの値には、肯定、否定がある。
以下、図6~図7を参照して発話生成装置100を説明する。図6は、発話生成装置100の構成を示すブロック図である。図7は、発話生成装置100の動作を示すフローチャートである。図6に示すように発話生成装置100は、初期化部110と、発話入力部120と、フレーズ抽出部130と、文脈理解結果更新部140と、対話制御部150と、発話生成部160と、発話出力部170と、記録部190を含む。記録部190は、発話生成装置100の処理に必要な情報を適宜記録する構成部である。記録部190は、体験データベースと発話テンプレートデータベースをあらかじめ記録しておく。また、記録部190には、ユーザとの対話の履歴を記録するために、ユーザの発話に相当する入力テキストと発話生成装置100の発話に相当する出力テキストとを時系列に記録するデータベース(以下、発話履歴データベースという)を記録するようにしてもよい。なお、発話履歴データベースに出力テキストを記録する際、当該出力テキストの生成に用いたテンプレートIDをあわせて記録するようにしてもよい。
図7に従い発話生成装置100の動作について説明する。
S110において、初期化部110は、ユーザとの対話を開始するために必要な初期化処理を行う。初期化処理は、例えば、発話生成装置100を起動する信号を対話開始の合図として開始されるのでもよいし、ユーザによる最初の発話を対話開始の合図として開始されるのでもよい。この初期化処理では、例えば、文脈理解結果が初期化される。具体的には、文脈理解結果の各文脈項目の値を、例えば、”NULL”のような空を示す値にする。
S120において、発話入力部120は、ユーザの発話を入力とし、ユーザの発話から、ユーザの発話を表すテキスト(以下、入力テキストという)を生成し、出力する。ユーザの発話のデータ形式には、任意のものを用いることができ、ユーザの発話は、例えば、テキスト、音声(音声信号)、バイナリデータとすることができる。ユーザの発話がテキストとして入力される場合、発話入力部120は、当該テキストをそのまま入力テキストとする。また、ユーザの発話が音声として入力される場合、発話入力部120は、所定の音声認識技術を用いて音声認識を行い、音声認識結果を入力テキストとして生成する。なお、音声認識技術には、音声から当該音声に対応するテキストを生成することができる任意のものを用いることができる。また、音声認識結果として複数の候補が得られる場合、発話入力部120は、当該候補とその信頼度の組をリストとしたものをフレーズ抽出部130の入力となるように出力してもよい。この場合、フレーズ抽出部130は、信頼度が最も高い候補を用いて、フレーズ抽出処理を実行するが、フレーズの抽出に失敗する場合には、次点の候補を用いて、フレーズ抽出処理を実行する。
S130において、フレーズ抽出部130は、S120で生成した入力テキストを入力とし、入力テキストから抽出される、文脈項目とその値の組を含むデータ(以下、フレーズという)を要素とする集合であるフレーズ集合を生成し、出力する。例えば、入力テキストが“道頓堀でたこ焼きを食べたよ”である場合、フレーズ抽出部130は、{(体験場所, ‘道頓堀’), (体験内容, ‘たこ焼きを食べた’)}をフレーズ集合として生成する。この例では、フレーズを(体験内容, ‘たこ焼きを食べた’)のように、文脈項目とその値の組としたが、その他の付随情報を含むようにしてもよい。例えば、(体験内容, [4:11], ‘たこ焼きを食べた’)のように、文脈項目と文字列の区間と当該文脈項目の値としてもよい。ここで、文字列の区間とは、入力テキストに含まれる文字を頭から順に0, 1, …と数えるものとし、当該文字列の最初の文字の位置と最後の文字の位置の組のことである。
なお、フレーズ抽出部130が体験感想とその値の組を含むフレーズを要素するフレーズ集合を生成する場合、フレーズ抽出部130は、入力テキストの感想カテゴリ、つまり、肯定なのか否定なのかを特定し、出力するようにしてもよい。この場合、発話生成部160は、入力テキストの感想カテゴリに基づいて、適切な相槌(例えば、“いいね”や“そっか”)を発話として生成することができる。
S140において、文脈理解結果更新部140は、S130で生成したフレーズ集合を入力とし、フレーズ集合を用いて、現時点における対話の文脈を示す文脈クラスのデータ(以下、更新前文脈理解結果という)から、最新の対話の文脈を示す文脈クラスのデータ(以下、更新後文脈理解結果という)を生成し、出力する。その際、文脈理解結果更新部140は、例えば、記録部190に記録している更新前文脈理解結果を読み出し、更新後文脈理解結果を記録部190に書き出す。この更新後文脈理解結果は、今回処理対象となっている入力テキストの次に発話生成装置100が生成する入力テキストが処理対象となったときの、更新前文脈理解結果となる。
以下、文脈理解結果の更新処理について詳しく説明する。
(1)文脈理解結果更新部140は、フレーズ集合の要素であるフレーズを1つ取り出す。
(2)文脈理解結果更新部140は、取り出したフレーズに含まれる文脈項目に対応する更新前文脈理解結果の文脈項目の値が空を示す値である場合は、フレーズに含まれる文脈項目の値を更新後文脈理解結果の文脈項目の値として書き出す。一方、文脈理解結果更新部140は、取り出したフレーズに含まれる文脈項目に対応する更新前文脈理解結果の文脈項目の値が空を示す値でない(すなわち、既に文脈項目の値が書き込まれている)場合は、フレーズに含まれる文脈項目の値を更新後文脈理解結果の文脈項目に追記する形で書き出す。
(3)文脈データ更新部140は、(1)、(2)の処理を繰り返し、フレーズ集合のすべての要素についての処理が終わったら、更新後文脈理解結果を記録部190に書き出し、処理を終了する。
例えば、フレーズ集合が{(体験場所, ‘道頓堀’), (体験内容, ‘たこ焼きを食べた’)}であり、更新前文脈理解結果が図8(a)のデータである場合、文脈理解結果更新部140は、図8(b)の更新後文脈理解結果を生成する。
S150において、対話制御部150は、記録部190に記録している更新前文脈理解結果とS140で生成した更新後文脈理解結果を入力とし、更新前文脈理解結果と更新後文脈理解結果とを用いて、類似体験と発話テンプレート候補を選択し、出力する。具体的には、対話制御部150は、更新後文脈理解結果と体験データベースに含まれる体験クラスのデータとの間で計算される類似度に基づいて1以上の体験クラスのデータを類似体験として選択する。また、対話制御部150は、更新前文脈理解結果と更新後文脈理解結果とを用いて発話テンプレートデータベースから発話テンプレートクラスのデータを発話テンプレート候補として選択する。
以下、類似体験の選択処理と発話テンプレート候補の選択処理について説明する。まず、類似体験の選択処理について詳しく説明する。
(類似体験の選択方法)
(1)対話制御部150は、体験データベースに含まれる体験クラスのデータを1つ取り出す。
(1)対話制御部150は、体験データベースに含まれる体験クラスのデータを1つ取り出す。
(2)対話制御部150は、更新後文脈理解結果と取り出した体験クラスのデータとの類似度を計算する。類似度は、例えば、更新後文脈理解結果と体験クラスのデータにおける文脈項目ごとの文字列としての一致率に基づいて計算することができ、一致率が所定の割合(例えば、0.9)より大きいかそれ以上である文脈項目の数が多い体験クラスのデータの類似度の値が高くなるようにしてもよい(図9参照)。なお、文字列としての一致率の代わりに、形態素の列としての一致率を用いるようにしてもよい。ここで、形態素の列としての一致率とは、更新後文脈理解結果の文脈項目の文字列、体験クラスのデータにおける文脈項目の文字列をそれぞれ形態素解析して得られる2つの形態素の列に基づいて計算される一致率のことをいう。形態素の列としての一致率を用いる理由は、例えば、“東京都”と“京都”のように異なる場所を示す文字列であっても、文字列としては一致率が高くなってしまう場合もあり、このような場合でも形態素の列としては一致率は低くなり、誤判断を回避できるためである。また、すべての文脈項目について一致率を計算する代わりに、体験場所と体験内容の2つの文脈項目についてのみ一致率を計算するようにしてもよい。体験場所と体験内容の2つの文脈項目のみを用いて類似度を計算する理由は、場所と内容が体験を考えるうえで特に有益なものであり、体験場所と体験内容の2つの文脈項目を用いて計算される類似度が高い体験に基づく発話は、その他の文脈項目も用いて計算される類似度が高い体験に基づく発話よりもユーザの共感が得やすい(つまり、システムが共感したことをユーザにわかってもらいやすい)と考えられるからである。
(3)対話制御部150は、(1)、(2)の処理を繰り返し、体験データベースに含まれるすべての体験クラスのデータについての処理が終了した場合、類似度が大きい順に1以上の体験クラスのデータを類似体験として選択し出力後、処理を終了する。また、対話制御部150は、出力に際して、類似体験にあわせて当該類似体験の類似度を出力するようにしてもよい。
次に、発話テンプレート候補の選択処理について詳しく説明する。
(発話テンプレート候補の選択方法)
(1)対話制御部150は、更新前文脈理解結果と更新後文脈理解結果とに基づいて、更新された文脈理解結果の文脈項目を特定する。例えば、対話制御部150は、更新前文脈理解結果と更新後文脈理解結果の文脈項目を文字列として比較することで更新された文脈理解結果の文脈項目を特定することができる。
(1)対話制御部150は、更新前文脈理解結果と更新後文脈理解結果とに基づいて、更新された文脈理解結果の文脈項目を特定する。例えば、対話制御部150は、更新前文脈理解結果と更新後文脈理解結果の文脈項目を文字列として比較することで更新された文脈理解結果の文脈項目を特定することができる。
(2)対話制御部150は、更新された文脈理解結果の文脈項目に応じた方法により、発話テンプレート候補を選択する。以下、いくつか例を示す。これらの例は、いずれも、対話制御部150が、文脈理解結果の更新に関する条件判断を行い、その判断結果に応じた処理を実行する例となっている。
(2-1)対話制御部150が、更新前文脈理解結果と更新後文脈理解結果とに基づいて文脈理解結果の体験感想が更新されたと判断した場合
更新後文脈理解結果の体験場所の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験内容の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験場所の値、体験内容の値がいずれも空を示す値でないときは、対話制御部150は、発話カテゴリが共感であり、焦点項目が少なくとも体験場所、体験内容のいずれか一方を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。
更新後文脈理解結果の体験場所の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験内容の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験場所の値、体験内容の値がいずれも空を示す値でないときは、対話制御部150は、発話カテゴリが共感であり、焦点項目が少なくとも体験場所、体験内容のいずれか一方を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。
なお、対話制御部150は、更新後文脈理解結果の体験場所の値、体験内容の値がいずれも空を示す値でない場合に選択した発話テンプレート候補が過去の発話において用いられたものでないかを発話履歴データベースを用いてチェックするようにしてもよい。選択した発話テンプレート候補が過去の発話において用いられたものである場合、対話制御部150は、発話カテゴリが質問であり、更新後文脈理解結果の文脈項目の値が空を示す値である発話テンプレートクラスのデータを発話テンプレート候補として選択するとよい。
(2-2)更新前文脈理解結果と更新後文脈理解結果とに基づいて文脈理解結果の体験内容が更新されたと判断した場合
類似度が所定の閾値より大きいかそれ以上である類似体験があるときは、対話制御部150は、発話カテゴリが事前共感である発話テンプレートクラスのデータを発話テンプレート候補として選択する。それ以外のときは、対話制御部150は、以下の3つの場合に応じて、処理を実行する。更新後文脈理解結果の体験場所の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験感想の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験場所の値、体験感想の値がいずれも空を示す値でないときは、対話制御部150は、発話カテゴリが共感であり、焦点項目が少なくとも体験場所、体験感想のいずれか一方を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。
類似度が所定の閾値より大きいかそれ以上である類似体験があるときは、対話制御部150は、発話カテゴリが事前共感である発話テンプレートクラスのデータを発話テンプレート候補として選択する。それ以外のときは、対話制御部150は、以下の3つの場合に応じて、処理を実行する。更新後文脈理解結果の体験場所の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験感想の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験場所の値、体験感想の値がいずれも空を示す値でないときは、対話制御部150は、発話カテゴリが共感であり、焦点項目が少なくとも体験場所、体験感想のいずれか一方を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。
なお、対話制御部150は、(2-1)と同様、選択した発話テンプレート候補が過去の発話において用いられたものでないかを発話履歴データベースを用いてチェックするようにしてもよい。
(2-3)更新前文脈理解結果と更新後文脈理解結果とに基づいて文脈理解結果の体験場所が更新されたと判断した場合
類似度が所定の閾値より大きいかそれ以上である類似体験があるときは、対話制御部150は、発話カテゴリが事前共感である発話テンプレートクラスのデータを発話テンプレート候補として選択する。それ以外のときは、対話制御部150は、以下の3つの場合に応じて、処理を実行する。更新後文脈理解結果の体験内容の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験感想の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験内容の値、体験感想の値がいずれも空を示す値でないときは、対話制御部150は、発話カテゴリが共感であり、焦点項目が少なくとも体験内容、体験感想のいずれか一方を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。
類似度が所定の閾値より大きいかそれ以上である類似体験があるときは、対話制御部150は、発話カテゴリが事前共感である発話テンプレートクラスのデータを発話テンプレート候補として選択する。それ以外のときは、対話制御部150は、以下の3つの場合に応じて、処理を実行する。更新後文脈理解結果の体験内容の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験感想の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験内容の値、体験感想の値がいずれも空を示す値でないときは、対話制御部150は、発話カテゴリが共感であり、焦点項目が少なくとも体験内容、体験感想のいずれか一方を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。
なお、対話制御部150は、(2-1)と同様、選択した発話テンプレート候補が過去の発話において用いられたものでないかを発話履歴データベースを用いてチェックするようにしてもよい。
(2-4)更新前文脈理解結果と更新後文脈理解結果とに基づいて文脈理解結果の体験時期が更新されたと判断した場合
更新後文脈理解結果の体験場所の値、体験内容の値がいずれも空を示す値でないときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験時期と体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験場所の値が空を示す値であるときは、対話制御部150は、発話カテゴリが関連質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験内容の値が空を示す値であるときは、対話制御部150は、発話カテゴリが関連質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。
更新後文脈理解結果の体験場所の値、体験内容の値がいずれも空を示す値でないときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験時期と体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験場所の値が空を示す値であるときは、対話制御部150は、発話カテゴリが関連質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験内容の値が空を示す値であるときは、対話制御部150は、発話カテゴリが関連質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。
なお、対話制御部150は、(2-1)と同様、選択した発話テンプレート候補が過去の発話において用いられたものでないかを発話履歴データベースを用いてチェックするようにしてもよい。
(2-5)更新前文脈理解結果と更新後文脈理解結果とに基づいて文脈理解結果の体験者が更新されたと判断した場合
更新後文脈理解結果の体験場所の値、体験内容の値がいずれも空を示す値でないときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験者と体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験場所の値が空を示す値であるときは、対話制御部150は、発話カテゴリが関連質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験内容の値が空を示す値であるときは、対話制御部150は、発話カテゴリが関連質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。
更新後文脈理解結果の体験場所の値、体験内容の値がいずれも空を示す値でないときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験者と体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験場所の値が空を示す値であるときは、対話制御部150は、発話カテゴリが関連質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験内容の値が空を示す値であるときは、対話制御部150は、発話カテゴリが関連質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。
なお、対話制御部150は、(2-1)と同様、選択した発話テンプレート候補が過去の発話において用いられたものでないかを発話履歴データベースを用いてチェックするようにしてもよい。
(2-6)対話制御部150が更新後文脈理解結果と体験データベースに含まれる体験クラスのデータにおける体験場所、または、体験内容の文字列または形態素の列としての一致率に基づいて計算される類似度を用いており、更新前文脈理解結果と更新後文脈理解結果とに基づいて文脈理解結果の体験場所が更新されたと判断した場合
対話制御部150は、発話カテゴリが共感であり、発話テンプレートには類似体験の体験場所、類似体験の体験感想、類似体験の体験感想理由に関する補充欄がある発話テンプレートクラスのデータを発話テンプレート候補として選択する。
対話制御部150は、発話カテゴリが共感であり、発話テンプレートには類似体験の体験場所、類似体験の体験感想、類似体験の体験感想理由に関する補充欄がある発話テンプレートクラスのデータを発話テンプレート候補として選択する。
なお、対話制御部150は、(2-1)と同様、選択した発話テンプレート候補が過去の発話において用いられたものでないかを発話履歴データベースを用いてチェックするようにしてもよい。
(2-7)対話制御部150が更新後文脈理解結果と体験データベースに含まれる体験クラスのデータにおける体験場所、または、体験内容の文字列または形態素の列としての一致率に基づいて計算される類似度を用いており、更新前文脈理解結果と更新後文脈理解結果とに基づいて文脈理解結果の体験内容が更新されたと判断した場合
対話制御部150は、発話カテゴリが共感であり、発話テンプレートには類似体験の体験内容、類似体験の体験感想、類似体験の体験感想理由に関する補充欄がある発話テンプレートクラスのデータを発話テンプレート候補として選択する。
対話制御部150は、発話カテゴリが共感であり、発話テンプレートには類似体験の体験内容、類似体験の体験感想、類似体験の体験感想理由に関する補充欄がある発話テンプレートクラスのデータを発話テンプレート候補として選択する。
なお、対話制御部150は、(2-1)と同様、選択した発話テンプレート候補が過去の発話において用いられたものでないかを発話履歴データベースを用いてチェックするようにしてもよい。
以上説明した(2-1)~(2-7)の各処理は、例えば、“(2-1)→(2-2)→(2-3)→(2-4)→(2-5)→(2-6)→(2-7)”のように、予め定めた順序に従い、文脈理解結果の更新に関する条件判断の結果に基づいて、処理を実行するようにしてもよい。
(3)対話制御部150は、発話テンプレート候補を出力する。なお、(1)の処理において特定された文脈理解結果の文脈項目が2以上ある場合、対話制御部150は、テンプレートを適用する順番を示す優先度を計算し、発話テンプレート候補とあわせて優先度を出力するようにしてもよい。また、優先度を出力する代わりに、対話制御部150は、発話テンプレート候補をリストにして出力することとし、当該リストでの出現順を優先度に対応させるようにしてもよい。
以下、優先度の計算方法について説明する。対話制御部150は、例えば、類似体験を用いて発話を生成する発話テンプレート(つまり、発話カテゴリが共感または関連質問である発話テンプレート)の優先度が高くなるように優先度を計算する。また、対話制御部150は、例えば、発話カテゴリが質問である発話テンプレートと発話カテゴリが共感である発話テンプレートができる限り交互に用いられるように、発話履歴データベースを用いて優先度を計算する。
S160において、発話生成部160は、記録部190に記録している更新後文脈理解結果とS150で選択した類似体験と発話テンプレート候補とを入力とし、更新後文脈理解結果と類似体験と発話テンプレート候補とを用いて、入力テキストに対する応答となる発話を表す出力テキストを生成、出力する。
以下、発話生成処理について詳しく説明する。
(1)発話テンプレート候補の発話カテゴリが共感である場合
発話生成部160は、類似体験の文脈項目、更新後文脈理解結果の文脈項目に基づいて発話テンプレート候補の補充欄を補充したうえで、出力テキストを生成する。つまり、発話生成部160は、発話テンプレート候補の補充欄に対応する文脈項目の値を設定する。例えば、更新後文脈理解結果が図10(a)のデータであり、類似体験が図10(b)のデータである場合、発話生成部160は、発話テンプレート“私も[類似体験の体験場所]で[類似体験の体験内容]よ。[類似体験の体験感想理由]ので[類似体験の体験感想]よ。”から発話“私もなんばでたこ焼きを食べたよ。熱々だったので美味しかったよ。”を生成する。
発話生成部160は、類似体験の文脈項目、更新後文脈理解結果の文脈項目に基づいて発話テンプレート候補の補充欄を補充したうえで、出力テキストを生成する。つまり、発話生成部160は、発話テンプレート候補の補充欄に対応する文脈項目の値を設定する。例えば、更新後文脈理解結果が図10(a)のデータであり、類似体験が図10(b)のデータである場合、発話生成部160は、発話テンプレート“私も[類似体験の体験場所]で[類似体験の体験内容]よ。[類似体験の体験感想理由]ので[類似体験の体験感想]よ。”から発話“私もなんばでたこ焼きを食べたよ。熱々だったので美味しかったよ。”を生成する。
なお、類似度が所定の閾値より大きいかそれ以上である類似体験がある場合に限り、例えば、“私も[類似体験の体験場所]で[類似体験の体験内容]よ。[類似体験の体験感想理由]ので[類似体験の体験感想]よね。”のような、発話カテゴリが事前共感である発話テンプレート候補を用いるようにしてもよい。発話を生成する際、補充欄を文脈項目の文言のまま埋めてしまうと、“私もなんばでたこ焼きを食べたよ。熱々だったので美味しかったよね。”という不自然な文になることもあるため、“私もなんばでたこ焼きを食べたよ。熱々で美味しいよね。”という自然な文になるように変換する必要がある。当該変換を実現するための一例は、例えば、「だったので→で」、「しかったよね→しいよね」のような変換ルールを事前に作成しておくことである。これらの変換ルールに基づいて文字列置換を実行することで、自然な文を生成することが可能となる。
(2)発話テンプレート候補の発話カテゴリが関連質問である場合
発話生成部160は、類似体験の文脈項目、更新後文脈理解結果の文脈項目に基づいて発話テンプレート候補の補充欄を補充したうえで、出力テキストを生成する。つまり、発話生成部160は、発話テンプレート候補の補充欄に対応する文脈項目の値を設定する。例えば、更新後文脈理解結果が図11(a)のデータであり、類似体験が図11(b)のデータである場合、発話生成部160は、発話テンプレート“私も[類似体験の体験時期]に[類似体験の体験内容]よ。もしかして[類似体験の体験場所]とか行った?”から発話“私も7月に大阪行ったよ。もしかして海遊館とか行った?”を生成する。
発話生成部160は、類似体験の文脈項目、更新後文脈理解結果の文脈項目に基づいて発話テンプレート候補の補充欄を補充したうえで、出力テキストを生成する。つまり、発話生成部160は、発話テンプレート候補の補充欄に対応する文脈項目の値を設定する。例えば、更新後文脈理解結果が図11(a)のデータであり、類似体験が図11(b)のデータである場合、発話生成部160は、発話テンプレート“私も[類似体験の体験時期]に[類似体験の体験内容]よ。もしかして[類似体験の体験場所]とか行った?”から発話“私も7月に大阪行ったよ。もしかして海遊館とか行った?”を生成する。
(3)発話テンプレート候補の発話カテゴリが質問または事前共感である場合
発話テンプレート候補に補充欄がある場合は、発話生成部160は、類似体験の文脈項目、更新後文脈理解結果の文脈項目に基づいて発話テンプレート候補の補充欄を補充したうえで、出力テキストを生成する。また、発話テンプレート候補に補充欄がない場合は、発話生成部160は、類似体験、文脈理解結果を用いることなく、発話テンプレート候補そのものを出力テキストとする。
発話テンプレート候補に補充欄がある場合は、発話生成部160は、類似体験の文脈項目、更新後文脈理解結果の文脈項目に基づいて発話テンプレート候補の補充欄を補充したうえで、出力テキストを生成する。また、発話テンプレート候補に補充欄がない場合は、発話生成部160は、類似体験、文脈理解結果を用いることなく、発話テンプレート候補そのものを出力テキストとする。
なお、S150の説明における(2-6)、(2-7)の場合、発話生成部160は、類似体験の体験場所、体験感想、体験感想理由に基づいて発話テンプレート候補から出力テキストを生成する。
S170において、発話出力部170は、S160で生成した出力テキストを入力とし、出力テキストから、ユーザの発話に対する応答となる発話(以下、出力データという)を生成、出力し、処理の制御をS120に戻す。発話出力部170は、出力テキストをそのまま出力データとして出力してもよいし、音声変換により出力テキストから生成される音声(音声信号)を出力データとして出力してもよい。すなわち、出力データのデータ形式には、人間が理解することができる任意のデータ形式を用いることができる。
本発明の実施形態によれば、対話の文脈を示すデータに基づいて発話を生成することが可能となる。
<補記>
図12は、上述の各装置を実現するコンピュータの機能構成の一例を示す図である。上述の各装置における処理は、記録部2020に、コンピュータを上述の各装置として機能させるためのプログラムを読み込ませ、制御部2010、入力部2030、出力部2040などに動作させることで実施できる。
図12は、上述の各装置を実現するコンピュータの機能構成の一例を示す図である。上述の各装置における処理は、記録部2020に、コンピュータを上述の各装置として機能させるためのプログラムを読み込ませ、制御部2010、入力部2030、出力部2040などに動作させることで実施できる。
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD-ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成部)を実現する。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD-RAM(Random Access Memory)、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP-ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
上述の本発明の実施形態の記載は、例証と記載の目的で提示されたものである。網羅的であるという意思はなく、開示された厳密な形式に発明を限定する意思もない。変形やバリエーションは上述の教示から可能である。実施形態は、本発明の原理の最も良い例証を提供するために、そして、この分野の当業者が、熟考された実際の使用に適するように本発明を色々な実施形態で、また、色々な変形を付加して利用できるようにするために、選ばれて表現されたものである。すべてのそのような変形やバリエーションは、公正に合法的に公平に与えられる幅にしたがって解釈された添付の請求項によって定められた本発明のスコープ内である。
Claims (8)
- 体験の時期を示す項目である体験時期と、体験の場所を示す項目である体験場所と、体験を共有した者を示す項目である体験者と、体験の内容を示す項目である体験内容と、体験に関する感想を示す項目である体験感想とを含むデータ構造を文脈クラス、文脈クラスに含まれる項目(以下、文脈項目という)である体験時期、体験場所、体験者、体験内容、体験感想と、体験に関する感想の根拠を示す項目である体験感想理由とを含むデータ構造を体験クラス、発話の生成に用いるテンプレート(以下、発話テンプレートという)を識別するための情報(以下、テンプレートIDという)と、発話テンプレートと、発話テンプレートの種別を示す発話カテゴリと、発話テンプレートの焦点を示す文脈項目(以下、焦点項目という)とを含むデータ構造を発話テンプレートクラスとし、
体験クラスのデータから構成される体験データベースと、発話テンプレートクラスのデータから構成される発話テンプレートデータベースとを記録する記録部と、
ユーザの発話を表す入力テキストから抽出される、文脈項目とその値の組を含むデータ(以下、フレーズという)を要素とする集合であるフレーズ集合を生成するフレーズ抽出部と、
前記フレーズ集合を用いて、現時点における対話の文脈を示す文脈クラスのデータ(以下、更新前文脈理解結果という)から、最新の対話の文脈を示す文脈クラスのデータ(以下、更新後文脈理解結果という)を生成する文脈理解結果更新部と、
前記更新後文脈理解結果と体験データベースに含まれる体験クラスのデータとの間で計算される類似度に基づいて1以上の体験クラスのデータを類似体験として選択し、前記更新前文脈理解結果と前記更新後文脈理解結果とを用いて発話テンプレートデータベースから発話テンプレートクラスのデータを発話テンプレート候補として選択する対話制御部と、
前記更新後文脈理解結果と前記類似体験と前記発話テンプレート候補とを用いて、前記入力テキストに対する応答となる発話を表す出力テキストを生成する発話生成部と、
を含む発話生成装置。 - 請求項1に記載の発話生成装置であって、
前記対話制御部は、
前記更新前文脈理解結果と前記更新後文脈理解結果とに基づいて文脈理解結果の体験感想が更新されたと判断した場合において、
前記更新後文脈理解結果の体験場所の値が空を示す値であるときは、発話カテゴリが質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、
前記更新後文脈理解結果の体験内容の値が空を示す値であるときは、発話カテゴリが質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、
前記更新後文脈理解結果の体験場所の値、体験内容の値がいずれも空を示す値でないときは、発話カテゴリが共感であり、焦点項目が少なくとも体験場所、体験内容のいずれか一方を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する
ことを特徴とする発話生成装置。 - 請求項1に記載の発話生成装置であって、
前記対話制御部は、
前記更新前文脈理解結果と前記更新後文脈理解結果とに基づいて文脈理解結果の体験内容が更新されたと判断した場合において、
類似度が所定の閾値より大きいかそれ以上である類似体験があるときは、発話カテゴリが事前共感である発話テンプレートクラスのデータを発話テンプレート候補として選択し、
それ以外のときは、更新後文脈理解結果の体験場所の値が空を示す値であれば、発話カテゴリが質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、更新後文脈理解結果の体験感想の値が空を示す値であれば、発話カテゴリが質問であり、焦点項目が体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、更新後文脈理解結果の体験場所の値、体験感想の値がいずれも空を示す値でないのであれば、発話カテゴリが共感であり、焦点項目が少なくとも体験場所、体験感想のいずれか一方を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する
ことを特徴とする発話生成装置。 - 請求項1に記載の発話生成装置であって、
前記対話制御部は、
前記更新前文脈理解結果と前記更新後文脈理解結果とに基づいて文脈理解結果の体験場所が更新されたと判断した場合において、
類似度が所定の閾値より大きいかそれ以上である類似体験があるときは、発話カテゴリが事前共感である発話テンプレートクラスのデータを発話テンプレート候補として選択し、
それ以外のときは、更新後文脈理解結果の体験内容の値が空を示す値であれば、発話カテゴリが質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、更新後文脈理解結果の体験感想の値が空を示す値であれば、発話カテゴリが質問であり、焦点項目が体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、更新後文脈理解結果の体験内容の値、体験感想の値がいずれも空を示す値でないのであれば、発話カテゴリが共感であり、焦点項目が少なくとも体験内容、体験感想のいずれか一方を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する
ことを特徴とする発話生成装置。 - 請求項1に記載の発話生成装置であって、
前記対話制御部は、
前記更新前文脈理解結果と前記更新後文脈理解結果とに基づいて文脈理解結果の体験時期が更新されたと判断した場合において、
前記更新後文脈理解結果の体験場所の値、体験内容の値がいずれも空を示す値でないときは、発話カテゴリが質問であり、焦点項目が体験時期と体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、
前記更新後文脈理解結果の体験場所の値が空を示す値であるときは、発話カテゴリが関連質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、
前記更新後文脈理解結果の体験内容の値が空を示す値であるときは、発話カテゴリが関連質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する
ことを特徴とする発話生成装置。 - 請求項1に記載の発話生成装置であって、
前記対話制御部は、
前記更新後文脈理解結果と体験データベースに含まれる体験クラスのデータにおける体験場所、または、体験内容の文字列または形態素の列としての一致率に基づいて計算される類似度を用いるものであり、
前記更新前文脈理解結果と前記更新後文脈理解結果とに基づいて文脈理解結果の体験場所が更新されたと判断した場合は、発話カテゴリが共感であり、発話テンプレートには類似体験の体験場所、類似体験の体験感想、類似体験の体験感想理由に関する補充欄がある発話テンプレートクラスのデータを発話テンプレート候補として選択し、
前記発話生成部は、
前記類似体験の体験場所、体験感想、体験感想理由に基づいて前記発話テンプレート候補から前記出力テキストを生成する
ことを特徴とする発話生成装置。 - 体験の時期を示す項目である体験時期と、体験の場所を示す項目である体験場所と、体験を共有した者を示す項目である体験者と、体験の内容を示す項目である体験内容と、体験に関する感想を示す項目である体験感想とを含むデータ構造を文脈クラス、文脈クラスに含まれる項目(以下、文脈項目という)である体験時期、体験場所、体験者、体験内容、体験感想と、体験に関する感想の根拠を示す項目である体験感想理由とを含むデータ構造を体験クラス、発話の生成に用いるテンプレート(以下、発話テンプレートという)を識別するための情報(以下、テンプレートIDという)と、発話テンプレートと、発話テンプレートの種別を示す発話カテゴリと、発話テンプレートの焦点を示す文脈項目(以下、焦点項目という)とを含むデータ構造を発話テンプレートクラスとし、
体験クラスのデータから構成される体験データベースと、発話テンプレートクラスのデータから構成される発話テンプレートデータベースとを記録する記録部を含む発話生成装置が、ユーザの発話を表す入力テキストから抽出される、文脈項目とその値の組を含むデータ(以下、フレーズという)を要素とする集合であるフレーズ集合を生成するフレーズ抽出ステップと、
前記発話生成装置が、前記フレーズ集合を用いて、現時点における対話の文脈を示す文脈クラスのデータ(以下、更新前文脈理解結果という)から、最新の対話の文脈を示す文脈クラスのデータ(以下、更新後文脈理解結果という)を生成する文脈理解結果更新ステップと、
前記発話生成装置が、前記更新後文脈理解結果と体験データベースに含まれる体験クラスのデータとの間で計算される類似度に基づいて1以上の体験クラスのデータを類似体験として選択し、前記更新前文脈理解結果と前記更新後文脈理解結果とを用いて発話テンプレートデータベースから発話テンプレートクラスのデータを発話テンプレート候補として選択する対話制御ステップと、
前記発話生成装置が、前記更新後文脈理解結果と前記類似体験と前記発話テンプレート候補とを用いて、前記入力テキストに対する応答となる発話を表す出力テキストを生成する発話生成ステップと、
を含む発話生成方法。 - 請求項1ないし6のいずれか1項に記載の発話生成装置としてコンピュータを機能させるためのプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/011614 WO2021186525A1 (ja) | 2020-03-17 | 2020-03-17 | 発話生成装置、発話生成方法、プログラム |
US17/911,627 US20230140480A1 (en) | 2020-03-17 | 2020-03-17 | Utterance generation apparatus, utterance generation method, and program |
JP2022508637A JP7327647B2 (ja) | 2020-03-17 | 2020-03-17 | 発話生成装置、発話生成方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/011614 WO2021186525A1 (ja) | 2020-03-17 | 2020-03-17 | 発話生成装置、発話生成方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021186525A1 true WO2021186525A1 (ja) | 2021-09-23 |
Family
ID=77770965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/011614 WO2021186525A1 (ja) | 2020-03-17 | 2020-03-17 | 発話生成装置、発話生成方法、プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230140480A1 (ja) |
JP (1) | JP7327647B2 (ja) |
WO (1) | WO2021186525A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12105766B2 (en) * | 2021-06-21 | 2024-10-01 | xMentium, Inc. | System and method for modification, personalization and customization of search results and search result ranking in an internet-based search engine |
JP2023028391A (ja) * | 2021-08-19 | 2023-03-03 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、情報処理システム、およびプログラム |
US20240020115A1 (en) * | 2022-07-14 | 2024-01-18 | Dell Products L.P. | Smart online documentation |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002023783A (ja) * | 2000-07-13 | 2002-01-25 | Fujitsu Ltd | 対話処理システム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7392185B2 (en) * | 1999-11-12 | 2008-06-24 | Phoenix Solutions, Inc. | Speech based learning/training system using semantic decoding |
NO316480B1 (no) * | 2001-11-15 | 2004-01-26 | Forinnova As | Fremgangsmåte og system for tekstuell granskning og oppdagelse |
GB2407657B (en) * | 2003-10-30 | 2006-08-23 | Vox Generation Ltd | Automated grammar generator (AGG) |
JP3869448B2 (ja) * | 2005-02-10 | 2007-01-17 | 悠介 楠島 | 発声補助装置 |
US7209923B1 (en) * | 2006-01-23 | 2007-04-24 | Cooper Richard G | Organizing structured and unstructured database columns using corpus analysis and context modeling to extract knowledge from linguistic phrases in the database |
JP2022541883A (ja) * | 2019-07-08 | 2022-09-28 | ソウル マシーンズ リミティド | 具現化されたエージェントの記憶 |
JPWO2021106080A1 (ja) * | 2019-11-26 | 2021-06-03 | ||
US12254276B2 (en) * | 2022-02-28 | 2025-03-18 | Accenture Global Solutions Limited | Descriptive topic modeling with LDA on bags of utterance clusters |
-
2020
- 2020-03-17 JP JP2022508637A patent/JP7327647B2/ja active Active
- 2020-03-17 WO PCT/JP2020/011614 patent/WO2021186525A1/ja active Application Filing
- 2020-03-17 US US17/911,627 patent/US20230140480A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002023783A (ja) * | 2000-07-13 | 2002-01-25 | Fujitsu Ltd | 対話処理システム |
Non-Patent Citations (5)
Title |
---|
KITAGAWA, TOMOHIRO ET AL.: "Suggestion of the Non-task-oriented Dialogue System that Adopted Self- disclosure Utterance", PROCEEDINGS OF 113TH SIG- KBS, 20 February 2018 (2018-02-20), pages 13 - 18 * |
NARIMATSU, HIROMI ET AL.: "Chat Dialogue System with Context Understanding", NTT TECHNICAL REVIEW, vol. 31, no. 9, 1 September 2019 (2019-09-01), pages 22 - 25 * |
NARIMATSU, HIROMI ET AL.: "Chat-Oriented Dialogue System Based on Its Own Experience", PROCEEDINGS OF 87TH SIG- SLUD, 20 November 2019 (2019-11-20), pages 68 - 73 * |
SUGIYAMA, HIROAKI ET AL.: "Empirical study on domain-specific conversational dialogue system based on context-aware utterance understanding and generation", PROCEEDINGS OF 84TH SIG-SLUD, 15 November 2018 (2018-11-15), pages 118 - 123 * |
TODO, YUKI ET AL.: "Chat-Oriented Voice Dialogue System Using Multiple Dialogue Agents", IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS (D), vol. 2, 1 February 2016 (2016-02-01), pages 188 - 200 * |
Also Published As
Publication number | Publication date |
---|---|
US20230140480A1 (en) | 2023-05-04 |
JPWO2021186525A1 (ja) | 2021-09-23 |
JP7327647B2 (ja) | 2023-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102754124B1 (ko) | 숫자 시퀀스에 대한 종단 간 자동 음성 인식 | |
JP3940363B2 (ja) | 階層言語モデル | |
JP4729902B2 (ja) | 音声対話システム | |
US9361589B2 (en) | System and a method for providing a dialog with a user | |
WO2021186525A1 (ja) | 発話生成装置、発話生成方法、プログラム | |
JP7400112B2 (ja) | 自動音声認識のための英数字列のバイアス付加 | |
JP7678227B2 (ja) | 多言語自動音声認識のための教師無しおよび教師有り共同トレーニング(just) | |
CN112185361B (zh) | 一种语音识别模型训练方法、装置、电子设备及存储介质 | |
US20230034414A1 (en) | Dialogue processing apparatus, learning apparatus, dialogue processing method, learning method and program | |
US20220310061A1 (en) | Regularizing Word Segmentation | |
CN118043885A (zh) | 用于半监督语音识别的对比孪生网络 | |
Tada et al. | Robust understanding of robot-directed speech commands using sequence to sequence with noise injection | |
EP2879062A2 (en) | A system and a method for providing a dialog with a user | |
KR20200132344A (ko) | 입력 시퀀스 생성 방법 및 장치 | |
JP6630304B2 (ja) | 対話破壊特徴量抽出装置、対話破壊特徴量抽出方法、プログラム | |
Granell et al. | Multimodal crowdsourcing for transcribing handwritten documents | |
CN115934909B (zh) | 一种共情回复生成方法、装置、终端和存储介质 | |
CN116795970A (zh) | 一种对话生成方法及其在情感陪护中的应用 | |
CN112185340A (zh) | 语音合成方法、语音合成装置、存储介质与电子设备 | |
JP7028203B2 (ja) | 音声認識装置、音声認識方法、プログラム | |
JP2020140674A (ja) | 回答選択装置及びプログラム | |
CN119072742A (zh) | 生成自动语音辨识模型的无意记忆度量 | |
JP2023158992A (ja) | 応答生成装置およびその方法 | |
CN118297055B (zh) | 基于智能语音的矛盾调解方法、装置、设备及存储介质 | |
Karat et al. | Speech and language interfaces, applications, and technologies |
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: 20925684 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022508637 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20925684 Country of ref document: EP Kind code of ref document: A1 |