WO2022004392A1 - 対話装置、対話方法及び対話プログラム - Google Patents

対話装置、対話方法及び対話プログラム Download PDF

Info

Publication number
WO2022004392A1
WO2022004392A1 PCT/JP2021/022900 JP2021022900W WO2022004392A1 WO 2022004392 A1 WO2022004392 A1 WO 2022004392A1 JP 2021022900 W JP2021022900 W JP 2021022900W WO 2022004392 A1 WO2022004392 A1 WO 2022004392A1
Authority
WO
WIPO (PCT)
Prior art keywords
response
response sentence
sentence
dialogue
user
Prior art date
Application number
PCT/JP2021/022900
Other languages
English (en)
French (fr)
Inventor
文規 本間
Original Assignee
ソニーグループ株式会社
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 ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2022004392A1 publication Critical patent/WO2022004392A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation

Definitions

  • This disclosure relates to dialogue devices, dialogue methods and dialogue programs.
  • a dialogue system that interacts with a user is known.
  • a technique for generating a response corresponding to an input such as an utterance of a user (for example, Patent Document 1 and the like).
  • a response generation model such as Seq2Seq (Sequence to Sequence Model) is used to generate a response to an input such as a user's utterance.
  • the present disclosure proposes a dialogue device, a dialogue method, and a dialogue program that can suppress a decrease in flexibility of the response to the user and facilitate management of the response to the user.
  • one form of the dialogue device is a dialogue device that interacts with a user or another device, in which a control means for controlling the dialogue device and a first response to input information are provided.
  • a response sentence generation model for generating a statement, a response sentence candidate list composed of a plurality of first response sentences generated by the response sentence generation model, and a second response sentence to be output from the response sentence candidate list are selected.
  • the control means includes a response sentence selection unit, and outputs the second response sentence selected by the response sentence selection unit as a response of a dialogue to the user or another device.
  • FIG. 1 is a diagram showing an example of a dialogue process according to the first embodiment of the present disclosure.
  • the dialogue processing according to the first embodiment is realized by the dialogue system 1 including the dialogue device 100 and the user terminal 10 shown in FIG.
  • the details of the dialogue system 1 will be described in detail with reference to FIG.
  • the dialogue device 100 generates a response sentence generation model M1 which is a generation model for generating a response sentence by using the dialogue corpus CP1 (step PS11).
  • the dialogue device 100 generates a response sentence generation model M1 by using a plurality of pairs such as a pair of the utterance sentence SP1 and the response sentence T1 and a pair of the utterance sentence SP2 and the response sentence T2.
  • the response sentence generation model M1 is an encoder decoder model such as Seq2Seq, but the details will be described later.
  • the response sentence generation model M1 is not limited to Seq2Seq as long as it can generate a response, and may be any model.
  • the dialogue device 100 adjusts the parameters of the response sentence generation model M1 so that the response sentence T1 is generated when the utterance sentence SP1 is input, and generates the response sentence generation model M1.
  • the dialogue device 100 generates the response sentence generation model M1 by a method such as backpropagation (error back propagation method). The details of the generation of the response sentence generation model M1 will be described later.
  • a device other than the dialogue device 100 for example, a model generation device may generate the response sentence generation model M1, and the dialogue device 100 may acquire the response sentence generation model M1 from the device.
  • the dialogue device 100 acquires the response repository RP1 which is a response sentence candidate list including a plurality of response sentences such as the response sentence R1, the response sentence R2, and the response sentence R3 (step PS21).
  • the dialogue device 100 acquires the response repository RP1 from the response repository storage unit 121 (see FIG. 3).
  • the response repository RP1 is a response statement candidate list composed of a plurality of first response statements generated by the response statement generation model M1.
  • the response repository RP1 may be a response statement candidate list extracted by the administrator or the like from a plurality of first response statements generated by the response statement generation model M1 by excluding unnecessary response statements.
  • the dialogue device 100 converts each response sentence in the response repository RP1 into a vector (steps PS22, PS23).
  • the dialogue device 100 converts the response sentence R1, the response sentence R2, the response sentence R3, and the like into a vector by using the vector conversion model M2 which is a model for converting the sentence into a vector.
  • the dialogue device 100 inputs each of the response sentence R1, the response sentence R2, the response sentence R3, etc. into the vector conversion model M2, and corresponds to each of the response sentence R1, the response sentence R2, the response sentence R3, etc. in the vector conversion model M2. Output a vector.
  • the dialogue device 100 may acquire the vector conversion model M2 from an external device, or may generate the vector conversion model M2.
  • the dialogue device 100 generates a candidate vector CV1 which is a vector corresponding to the response sentence R1 by inputting the response sentence R1 into the vector conversion model M2. Further, the dialogue device 100 generates a candidate vector CV2 corresponding to the response sentence R2 by inputting the response sentence R2 into the vector conversion model M2, and inputs the response sentence R3 into the vector conversion model M2 to generate the response sentence.
  • the candidate vector CV3 corresponding to R3 is generated. It should be noted that steps PS22 and PS23 may be performed at any timing as long as they are before step S6.
  • the user U1 who uses the user terminal 10 speaks "XXXXXX". It should be noted that "XXXXX” is an utterance that includes specific contents such as “what should I do” and "it seems to get off”.
  • the user terminal 10 detects the utterance "XXXXXX" of the user U1 and accepts the character information "XXXXX" as the input information IN1 by the automatic voice recognition function. Then, the user terminal 10 transmits the input information IN1 to the dialogue device 100. As a result, the dialogue device 100 acquires the input information IN1 from the user terminal 10 (step S1).
  • the dialogue device 100 inputs the input information IN1 to the response sentence generation model M1 and generates the first response sentence FR1 which is the response sentence corresponding to the input of the user U1 (step S2).
  • the dialogue device 100 converts the first response sentence FR1 into a vector (steps S3 and S4). By inputting the first response sentence FR1 into the vector conversion model M2, the dialogue device 100 generates the target vector TV1 which is a vector corresponding to the first response sentence FR1.
  • the dialogue device 100 compares the target vector TV1 of the first response sentence FR1 with each of the candidate vectors CV1, CV2, CV3, etc. of the response repository RP1 (step S5). For example, the dialogue device 100 calculates the cosine similarity with each of the target vector TV1 and the candidate vectors CV1, CV2, CV3, and the like.
  • the dialogue device 100 selects the response sentence of the candidate vector closest to (similar to) the target vector TV1 of the first response sentence FR1 as the second response sentence SR1 used for the response to the user (step S6).
  • the dialogue device 100 selects the response sentence R2 of the candidate vector CV2, which is most similar to the target vector TV1 of the first response sentence FR1, as the second response sentence SR1 to be used for the response to the user.
  • the dialogue device 100 selects the response sentence R2 of the candidate vector CV2 having the maximum cosine similarity with the target vector TV1 as the second response sentence SR1.
  • the cosine similarity is only an example, and various information may be used not only for the cosine similarity but also for measuring the closeness between the response sentences (vectors).
  • the dialogue device 100 may select the second response sentence based on a predetermined criterion, not limited to the similarity of the vectors.
  • the predetermined standard may be an ethical standard, a discrimination standard, a character setting standard for a dialogue device, or a probability standard, which will be described later.
  • the dialogue device 100 transmits the selected second response sentence SR1 to the user terminal 10, and the user terminal 10 outputs the second response sentence SR1 to the user U1.
  • the dialogue device 100 does not use the first response sentence FR1 generated by the response sentence generation model M1 as it is for the response to the user U1, but uses the first response sentence FR1 for the search of the response repository RP1.
  • the dialogue device 100 can limit the content of the response to the user U1 to the response statement included in the response repository RP1, so that an inappropriate response is performed while flexibly generating the response by the response statement generation model M1. Can be suppressed.
  • the generation base is a method of generating a response sentence by inputting a user's utterance sentence by using an encoder decoder model such as Seq2Seq.
  • the search base selects the utterance sentence closest to the user's utterance sentence from the dialogue repository prepared in advance based on a specific rule, and the response sentence in the pair of the utterance sentence is sent to the user. This method is also used as a response.
  • the advantage of the generation base is that it can respond to any user's utterances.
  • a model that learns the characteristics of Japanese responses from a large number of Japanese dialogue pairs it is possible to make such responses even when unknown words (such as Kalka) are included in the spoken sentence. can.
  • unknown words such as Kalka
  • the effort of creators creating dialogue pairs can be significantly reduced.
  • the disadvantage of the generation base is that the response is inconsistent.
  • the teacher data is Twitter®
  • it tends to be mixed with the net slang of the written language exchanged on Twitter because it is influenced by the style of the original teacher data.
  • it is impossible for a service provider or the like using the generation base to grasp all the contents, and it is unexpectedly inappropriate depending on the user's utterance text or teacher data.
  • a response can be generated. Therefore, the generation-based method has a problem that it is difficult to use it for commercial purposes.
  • the advantage of the search base is that the service provider who uses the search base can manage the response. This is because the contents of the dialogue pair in the dialogue repository can be confirmed in advance by the service provider.
  • the disadvantage of search base is that all dialogue pairs need to be created by the service provider. Since natural language is capable of a wide variety of content and expressions, it is virtually impossible to prepare dialogue pairs that cover all of them, and if the number of dialogue pairs is not sufficient, the user will feel monotonous. There is a problem of letting them do it. In addition, since it is necessary to prepare an utterance sentence in addition to the response sentence, the load on the creator of the dialogue pair is large.
  • the dialogue device 100 can suppress an increase in the load for generating the response repository by using the response sentence candidate list including only the response sentence as the response repository. As a result, the dialogue device 100 can use a response repository containing various expressions.
  • the dialogue device 100 generates a first response sentence by the response sentence generation model M1, and uses the generated first response sentence to obtain a response sentence close to the first response sentence among a plurality of response sentences in the response repository. Is selected as the second response statement.
  • the dialogue device 100 can solve the problem in the generation base by limiting the response to the user to the response statement included in the response repository. Therefore, the dialogue device 100 can make a response that takes advantage of the generation-based and search-based advantages.
  • the dialogue device 100 makes it possible to achieve both a high degree of freedom in response based on generation and management of response sentences based on search.
  • generative-based language models response sentence generation models
  • respondse sentence generation models generally select vocabularies with high probabilities, so that safe and boring responses (such as "yes") that are valid for any utterance are generated.
  • diversity can be ensured by randomly selecting from the top k vocabulary candidates, or the sum of the probabilities of the vocabulary selected within a certain history section of the language model.
  • the dialogue device 100 By limiting the upper limit p, it is possible to generate a response with a natural variety closer to human beings, in which vocabulary with high probability and vocabulary with low probability are mixed. By adjusting these parameters such as k and p, it is possible to create a language model that returns a different response each time the same user utters.
  • the dialogue device 100 generates a response sentence generation model M1 so as to return a different response each time to the same utterance of the user by adjusting the above-mentioned parameters.
  • the dialogue device 100 generates the first response sentence by using the response sentence generation model M1 generated so as to return a different response each time to the same utterance of the user.
  • the dialogue device 100 can generate various first response sentences in response to the user's utterance.
  • the dialogue device 100 converts the generation-based response into the response in the response sentence candidate list (response list) managed thereafter, the strangeness of the response to the user's utterance is improved by improving the diversity. It is possible to suppress a decrease in manageability.
  • the dialogue device 100 uses the first response sentence to select the second response sentence in the response sentence candidate list, thereby maintaining the strangeness of the response to the user's utterance and suppressing the deterioration of manageability. can do.
  • a desired response can be performed by limiting the content of the response sentence to be included in the response sentence candidate list according to the intended use. That is, the dialogue device 100 can perform a desired response by using the response sentence candidate list unique to the main. This point will be described. For example, if all the response statements contained in the response statement candidate list match the settings of a specific character, the response statement candidate list can be used to provide a dialogue service to the user to provide a response that matches the specific character. It can be carried out. For example, by providing a dialogue service to a user using a response sentence candidate list generated so that the ending of a response sentence corresponds to the utterance of a specific character, it is possible to make a response suitable for that specific character. can.
  • the dialogue device 100 makes a response to the user U1. It is possible to limit the content to match the character settings.
  • the dialogue device 100 may use the response repository RP1 which is a response sentence candidate list composed of a plurality of first response sentences generated by the response sentence generation model M1, or the response repository RP1 may be used by another method. You may get it.
  • the dialogue device 100 may acquire the response repository RP1 by input from the administrator of the dialogue device 100, or may acquire the response repository RP1 from a device that generates a response repository (for example, a response repository generation device). It is also good.
  • the dialogue device 100 uses a response sentence candidate list that does not include a response sentence indicating that the character likes the cat. As a result, the dialogue device 100 indicates that the response sentence candidate list shows that the cat likes the cat even when the first response sentence having the content that the cat likes is generated by the response sentence generation model M1. Since no response statement is included, it is possible to prevent a response statement indicating that the cat likes the cat from being selected as the second response statement. This allows the dialogue device 100 to prevent a response that would disrupt the character's consistency.
  • the response to the user becomes discriminatory by providing the dialogue service to the user using the response sentence candidate list. Can be prevented. That is, by using the response sentence candidate list that does not include the response sentence corresponding to the discriminatory expression, the dialogue device 100 can prevent the response to the user from becoming a response including the discriminatory expression.
  • the dialogue device 100 uses a response sentence candidate list that does not include a response sentence that discriminates against a specific race. As a result, the dialogue device 100 discriminates against a specific race in the response sentence candidate list even when the first response sentence having the content of discriminating against a specific race is generated by the response sentence generation model M1. Since the response sentence is not included, it is possible to prevent the response sentence that discriminates against a specific race from being selected as the second response sentence. Thereby, the dialogue device 100 can prevent a response that is unethical or contains discriminatory expressions.
  • the processing by the dialogue device 100 can be applied to various services that respond to the user. It may be applied to an interactive AI (Artificial Intelligence) service, a chatbot service of various industries such as banking and insurance, and the like. That is, the processing by the dialogue device 100 can be applied to any service as long as it is a service that responds to an action such as a user's remark.
  • the processing by the dialogue device 100 includes an entertainment robot such as a pet robot, an interactive table top, an agent technology development system, a wearable conversational agent, an AR system such as AR (Augmented Reality) glass, and VR such as VR (Virtual Reality) glass. It may be applied to a system or the like.
  • application examples of the dialogue device 100 include a wide variety of character chats for entertainment services, chatbots for financial services, robots, wearable devices, tabletops, interactive agents used in AR glasses, and the like.
  • FIG. 2 is a diagram showing a configuration example of the dialogue system according to the first embodiment.
  • the dialogue system 1 shown in FIG. 2 may include a plurality of user terminals 10 and a plurality of dialogue devices 100.
  • the dialogue system 1 realizes a dialogue system that responds to a user's utterance.
  • the user terminal 10 is an information processing device used by the user.
  • the user terminal 10 is used to provide a service related to dialogue by voice or text.
  • the user terminal 10 may be any device as long as the processing according to the first embodiment can be realized.
  • the user terminal 10 may be any device as long as it is configured to provide a service related to dialogue and have a display for displaying information.
  • the user terminal 10 may be a device such as a smartphone, a tablet terminal, a notebook PC (Personal Computer), a desktop PC, a mobile phone, or a PDA (Personal Digital Assistant).
  • the user terminal 10 may have a sound sensor (microphone) for detecting sound. In this case, the user terminal 10 detects the user's utterance by the sound sensor. The user terminal 10 collects not only the utterances of the user but also the environmental sounds around the user terminal 10. Further, the user terminal 10 is not limited to the sound sensor, but has various sensors. For example, the user terminal 10 may have a sensor that detects various information such as an image, acceleration, temperature, humidity, position, pressure, light, gyro, and distance.
  • the user terminal 10 is not limited to the sound sensor, but is an image sensor (camera) for detecting an image, an acceleration sensor, a temperature sensor, a humidity sensor, a position sensor such as a GPS sensor, a pressure sensor, an optical sensor, a gyro sensor, and the like. It may have various sensors such as a distance measuring sensor. Further, the user terminal 10 is not limited to the above sensors, and may have various sensors such as an illuminance sensor, a proximity sensor, and a sensor for detecting biological information such as odor, sweat, heartbeat, pulse, and brain wave. .. Then, the user terminal 10 may transmit various sensor information detected by various sensors to the dialogue device 100.
  • the user terminal 10 may have software modules such as voice signal processing, voice recognition, utterance semantic analysis, dialogue control, and action output.
  • the user terminal 10 outputs various information.
  • the user terminal 10 has a speaker that outputs sound.
  • the user terminal 10 transmits various information to other information processing devices such as the dialogue device 100 and the voice recognition server.
  • the user terminal 10 transmits the information input by the user to the dialogue device 100.
  • the dialogue device 100 is an information processing device (computer) used to provide a service related to the dialogue system to the user.
  • the dialogue device 100 generates a response sentence corresponding to the user's input, and uses the generated response sentence to select a response sentence to be output to the user from a plurality of response candidate sentences in the response sentence candidate list.
  • the dialogue device 100 may have software modules such as voice signal processing, voice recognition, utterance semantic analysis, and dialogue control.
  • the dialogue device 100 may have a voice recognition function.
  • the dialogue device 100 may be able to acquire information from a voice recognition server that provides a voice recognition service.
  • the dialogue system 1 may include a voice recognition server.
  • the dialogue device 100 and the voice recognition server appropriately use various conventional techniques to recognize the user's utterance and identify the user who has spoken.
  • FIG. 3 is a diagram showing a configuration example of the dialogue device 100 according to the first embodiment.
  • the dialogue device 100 includes a communication unit 110, a storage unit 120, and a control unit 130.
  • the dialogue device 100 has an input unit (for example, a keyboard, a mouse, etc.) that receives various operations from the administrator of the dialogue device 100, and a display unit (for example, a liquid crystal display, etc.) for displaying various information. You may.
  • the communication unit 110 is realized by, for example, a NIC (Network Interface Card) or the like. Then, the communication unit 110 is connected to the network N (see FIG. 2) by wire or wirelessly, and transmits / receives information to / from another information processing device such as a user terminal 10 or a voice recognition server. Further, the communication unit 110 may send and receive information to and from a user terminal (not shown) used by the user.
  • a NIC Network Interface Card
  • the storage unit 120 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk. As shown in FIG. 3, the storage unit 120 according to the first embodiment has a response repository storage unit 121, a model information storage unit 122, and a vocabulary dictionary storage unit 123.
  • a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory)
  • flash memory Flash Memory
  • FIG. 3 the storage unit 120 according to the first embodiment has a response repository storage unit 121, a model information storage unit 122, and a vocabulary dictionary storage unit 123.
  • the response repository storage unit 121 stores various information related to the response repository.
  • the response repository storage unit 121 stores a list of response sentences (response sentence candidate list) used for the response to the user.
  • FIG. 4 is a diagram showing an example of a response repository storage unit according to the first embodiment.
  • the response repository storage unit 121 shown in FIG. 4 includes an item such as a “response statement”.
  • Response statement indicates a response statement used to respond to the user.
  • a plurality of response sentences such as response sentence R1, response sentence R2, and response sentence R3 are stored as response sentences.
  • response sentence R1, response sentence R2, response sentence R3, etc. are character strings that are specific response sentences.
  • the response sentence R1 is a response sentence suitable for a specific character such as "It's okay" as shown in parentheses.
  • the response repository storage unit 121 is not limited to the above, and may store various information depending on the purpose.
  • the response repository storage unit 121 may store an ID that identifies the response statement in association with each response statement.
  • the response repository storage unit 121 may store a response sentence candidate list composed of a plurality of first response sentences generated by the response sentence generation model M1.
  • the model information storage unit 122 stores information about the model.
  • the model information storage unit 122 stores a model used for determining a response to a user.
  • FIG. 5 is a diagram showing an example of a model information storage unit according to the first embodiment.
  • FIG. 5 shows an example of the model information storage unit 122 according to the first embodiment.
  • the model information storage unit 122 includes items such as "model ID", "use", and "model data”.
  • Model ID indicates identification information for identifying the model.
  • User indicates the use of the corresponding model.
  • Model data indicates model data.
  • FIG. 5 an example in which conceptual information such as “MDT1” is stored in “model data” is shown, but in reality, various information constituting the model such as information and functions related to the network included in the model are stored. included.
  • the model identified by the model ID "M1" indicates that the use is "response sentence generation”. Further, it is shown that the model data of the response sentence generation model M1 is the model data MDT1.
  • model identified by the model ID "M2" indicates that the use is a "vector conversion model”. Further, it is shown that the model data of the vector conversion model M2 is the model data MDT2.
  • the model information storage unit 122 is not limited to the above, and may store various information depending on the purpose.
  • the vocabulary dictionary storage unit 123 stores the vocabulary dictionary.
  • FIG. 6 is a diagram showing an example of a vocabulary dictionary storage unit according to the first embodiment.
  • the Japanese vocabulary dictionary is shown as an example in FIG. 6, the vocabulary dictionary storage unit 123 is not limited to the Japanese vocabulary dictionary, but corresponds to the language in which the dialogue system 1 is used, such as English, French, and Chinese.
  • the vocabulary dictionary is stored.
  • the vocabulary dictionary storage unit 123 shown in FIG. 6 includes items such as "vocabulary" and "vocabulary ID".
  • “Vocabulary” indicates each vocabulary (character string) included in the vocabulary dictionary.
  • the "vocabulary ID” indicates identification information (ID) corresponding to each vocabulary.
  • the vocabulary dictionary storage unit 123 is not limited to the above, and may store various information depending on the purpose.
  • a program for example, a dialogue program according to the present disclosure
  • a program stored inside the dialogue device 100 by a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like is a RAM (Random Access Memory). It is realized by executing such as as a work area.
  • the control unit 130 is a controller, and is realized by, for example, an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • control unit 130 includes an input unit 131, a learning unit 132, a dialogue control unit 133, and a response sentence selection unit 134, and realizes the functions and operations of the dialogue processing described below. Or do it.
  • the internal configuration of the control unit 130 is not limited to the configuration shown in FIG. 3, and may be any other configuration as long as it is configured to perform dialogue processing described later.
  • the input unit 131 performs input processing.
  • the input unit 131 inputs the dialogue.
  • the input unit 131 accepts input of input information by the user.
  • the input unit 131 accepts input by the user's utterance.
  • the input unit 131 acquires various information from the storage unit 120.
  • the input unit 131 acquires various information from an external information processing device.
  • the input unit 131 acquires various information from the user terminal 10.
  • the input unit 131 acquires various information from other information processing devices such as a voice recognition server.
  • the input unit 131 acquires information indicating the user's utterance from the user terminal 10.
  • the input unit 131 acquires dialogue data in a social network service (SNS: Social Networking Service) such as Twitter.
  • SNS Social Networking Service
  • the input unit 131 may acquire the data of the dialogue in the social network service from the service providing device that provides the social network service. Further, the input unit 131 may acquire the data of the dialogue in the social network service from the storage unit 120. In this case, the storage unit 120 stores the data of the dialogue in the social network service.
  • the learning unit 132 performs learning processing.
  • the learning unit 132 performs various learning.
  • the learning unit 132 learns (generates) a model.
  • the learning unit 132 learns various information such as a model.
  • the learning unit 132 learns the parameters of the network by using various techniques related to machine learning.
  • the learning unit 132 generates the response sentence generation model M1 using the dialogue corpus CP1. For example, the learning unit 132 generates the response sentence generation model M1 so as to output the response sentence T1 when the utterance sentence SP1 is input. Further, the learning unit 132 generates the response sentence generation model M1 so as to output the response sentence T2 when the utterance sentence SP2 is input. For example, the learning unit 132 uses the data of the dialogue in the social network service such as Twitter as the teacher data to generate the response sentence generation model M1. In this case, the learning unit 132 generates the response sentence generation model M1 by using the combination of the utterance in the social network service and the response to the utterance as the teacher data.
  • the learning unit 132 generates a response sentence generation model M1 so as to output a response sentence to the utterance sentence when the utterance sentence of the utterance in the social network service is input.
  • the response sentence generation model M1 is acquired from an external device, the dialogue device 100 does not have to have the learning unit 132. Further, the dialogue device 100 may generate the vector conversion model M2 by the learning unit 132, or may acquire it from an external device.
  • the dialogue control unit 133 functions as a control means for performing various controls related to the dialogue.
  • the dialogue control unit 133 controls the dialogue with the user and other devices.
  • the dialogue control unit 133 generates various information based on the information acquired by the input unit 131.
  • the dialogue control unit 133 generates a response sentence using the response sentence generation model M1.
  • the dialogue control unit 133 generates a first response sentence to the input information input by the user by using the response sentence generation model M1 that generates a response.
  • the dialogue control unit 133 generates a first response sentence to the input information input by the user's utterance.
  • the dialogue control unit 133 outputs the second response sentence selected by the response sentence selection unit 134 as the response of the dialogue to the user or another device. For example, the dialogue control unit 133 outputs the second response sentence as the response of the dialogue to the user by transmitting the second response sentence to the user terminal 10.
  • the dialogue control unit 133 transmits various information related to the dialogue to an external information processing device. For example, the dialogue control unit 133 transmits various information to other devices such as the user terminal 10 and the voice recognition server.
  • the response sentence selection unit 134 selects various information using the response sentence generated by the dialogue control unit 133.
  • the response sentence selection unit 134 selects a second response sentence to be used for a response to the user from a plurality of response sentences in the response sentence candidate list based on the first response sentence generated by the dialogue control unit 133.
  • the response sentence selection unit 134 selects a response sentence similar to the first response sentence as the second response sentence from the plurality of response sentences.
  • the response sentence selection unit 134 has converted the target vector to which the first response sentence has been converted using the vector conversion model M2 that converts the character string into a vector, and each of the plurality of response sentences has been converted using the vector conversion model M2.
  • the second response statement is selected based on the comparison with multiple vectors.
  • the response sentence selection unit 134 selects the second response sentence based on a predetermined criterion.
  • the response sentence selection unit 134 selects the second response sentence based on the ethical standard, the discrimination standard, the character setting standard regarding the dialogue device 100, or the probability standard.
  • the response sentence selection unit 134 excludes the first response sentence that does not meet the criteria of ethics or discrimination from the response sentence candidate list, and selects the second response sentence.
  • the response sentence selection unit 134 stores a character string that does not meet the criteria of ethics or discrimination in the storage unit 120, excludes the first response sentence including the character string from the response sentence candidate list, and makes a second response. Select a statement.
  • the response sentence selection unit 134 excludes the first response sentence that does not satisfy the character setting from the response sentence candidate list and selects the second response sentence.
  • the response sentence selection unit 134 stores a character string that does not satisfy the character setting in the storage unit 120, excludes the first response sentence including the character string from the response sentence candidate list, and selects the second response sentence. do. Further, the response sentence selection unit 134 excludes the first response sentence that does not satisfy the criteria for probability from the response sentence candidate list, and selects the second response sentence.
  • the response sentence selection unit 134 measures the number of times or the probability that each first response sentence in the response sentence candidate list is selected as the second selection sentence, stores it in the storage unit 120, and selects it as the second selection sentence.
  • the first response statement whose number of times or probability is equal to or greater than a predetermined threshold is excluded from the response statement candidate list, and the second response statement is selected.
  • the response sentence selection unit 134 is the first from the response sentence candidate list that does not include the response sentence that does not meet the ethical standard, the discrimination standard, the character setting standard for the dialogue device 100, or the probability standard. 2 Response statements may be selected.
  • the above is an example, and the response sentence selection unit 134 may select the second response sentence based on other criteria.
  • the response sentence selection unit 134 selects the second response sentence from the response sentence candidate list including a plurality of response sentences indicating the response matching the setting of the character that responds to the user based on the first response sentence.
  • the response sentence selection unit 134 selects the second response sentence that matches the character's settings based on the first response sentence.
  • the response sentence selection unit 134 selects the second response sentence by using the response sentence candidate list that does not include the response sentence that does not satisfy the criteria for the response.
  • the response sentence selection unit 134 selects the second response sentence by using the response sentence candidate list that does not include the ethical violation response sentence that is the response sentence that does not satisfy the ethical standard.
  • the response sentence selection unit 134 selects the second response sentence by using the response sentence candidate list that does not include the discriminatory response sentence that is the response sentence corresponding to the discriminatory expression.
  • the response sentence selection unit 134 When the response sentence selection unit 134 generates a first response sentence that does not satisfy the response criteria, such as the dialogue control unit 133 corresponding to a discriminatory expression, the response sentence selection unit 134 satisfies the response criteria based on the first response sentence. 2 Select the response statement.
  • FIG. 7 is a flowchart showing the procedure of the dialogue processing according to the first embodiment. Specifically, FIG. 7 is a flowchart showing a procedure for determining a response statement to the user by the dialogue device 100.
  • the dialogue device 100 generates a first response sentence to the input information by the response sentence generation model (step S101).
  • the dialogue device 100 selects a second response sentence to be output from the response sentence candidate list composed of a plurality of first response sentences generated by the response sentence generation model (step S102).
  • the dialogue device 100 outputs the selected second response statement as a dialogue response to the user or another device (step S103).
  • FIG. 8 is a sequence diagram showing a processing procedure of the dialogue system according to the first embodiment.
  • the user terminal 10 accepts input by the user's utterance (step S201). Then, the user terminal 10 transmits the input information input by the user to the dialogue device 100 (step S202).
  • the dialogue device 100 generates a first response sentence from the user input information acquired from the user terminal 10 by using the response sentence generation model (step S203).
  • the dialogue device 100 selects the second response sentence from the response sentence candidate list including the plurality of response sentences based on the first response sentence (step S204). Then, the dialogue device 100 transmits the selected second response sentence to the user terminal 10 (step S205).
  • the user terminal 10 outputs the second response sentence received from the dialogue device 100 (step S206).
  • FIG. 9 is a diagram showing an example of a response sentence generation model generation process.
  • the dialogue device 100 generates the data DT12 in which the utterance sentence shown in the data DT 11 is divided (step S11).
  • the dialogue device 100 generates data DT13 in which each vocabulary shown in the data DT12 is converted into a vocabulary ID using the information of the vocabulary dictionary storage unit 123 (step S12).
  • the dialogue device 100 generates the data DT22 in which the response sentence shown in the data DT21 is divided (step S21).
  • the dialogue device 100 generates data DT23 in which each vocabulary shown in the data DT22 is converted into a vocabulary ID using the information of the vocabulary dictionary storage unit 123 (step S22).
  • the dialogue device 100 uses the data DT13 which is a vocabulary ID sequence corresponding to the utterance sentence and the data DT23 which is the vocabulary ID sequence corresponding to the response sentence, and in FIG. 9, the encoder decoder model DNN (Deep Neural Network) is used.
  • a response sentence generation model M1 is generated (step S31).
  • the dialogue device 100 stores the generated response sentence generation model M1 in the model information storage unit 122 (step S32).
  • the dialogue device 100 is, for example, a vocabulary dictionary prepared in advance for each subword with respect to the utterance text that has been cleansed to remove noise when treating Twitter or the like as teacher data.
  • the dialogue device 100 converts the divided data into a vocabulary ID managed by the vocabulary dictionary storage unit 123, and passes an array of vocabulary IDs to the response sentence generation model M1 as an input sentence.
  • the response sentence text of the teacher data is also collected from a source such as Twitter and cleansed, and the dialogue device 100 converts it into a vocabulary ID and prepares it as correct answer data of the output sentence of the response sentence generation model M1.
  • the dialogue device 100 learns the response sentence generation model M1 by using a large number of pairs (for example, 1 million, 10 million, 100 million pairs) of the vocabulary ID sequence of the input sentence and the vocabulary ID sequence of the output sentence.
  • FIG. 10 is a conceptual diagram showing an example of the configuration and processing of the response sentence generation model.
  • the response sentence generation model M1 shown as a DNN (encoder / decoder model) in FIG. 9 is a model having a neural network configuration such as a deep neural network that can handle time series data such as a recurrent neural network (RNN). Is.
  • the response sentence generation model M1 shown in FIG. 10 is a Seq2seq model in which an encoder (Encoder) having an RNN and a decoder (Decoder) having an RNN are combined.
  • the response sentence generation model M1 outputs the vocabulary ID sequence corresponding to the response sentence in response to the input of the vocabulary ID sequence corresponding to the utterance sentence.
  • the response sentence generation model M1 may be a model that outputs a character string corresponding to the response sentence in response to the input of the character string corresponding to the utterance sentence.
  • FIG. 11 is a flowchart showing an example of the generation process of the response sentence generation model.
  • the dialogue device 100 selects an arbitrary utterance text (step S301).
  • the dialogue device 100 divides the selected utterance text based on the vocabulary dictionary (step S302).
  • the dialogue device 100 converts each vocabulary of the selected utterance text into a vocabulary ID (step S303).
  • the dialogue device 100 selects an arbitrary response sentence text (step S304).
  • the dialogue device 100 divides the selected response sentence text based on the vocabulary dictionary (step S305).
  • the dialogue device 100 converts each vocabulary of the selected response sentence text into a vocabulary ID (step S306).
  • step S307 If the dialogue device 100 has not converted all the data into the vocabulary ID (step S307: No), the dialogue device 100 returns to step S301 and repeats the process.
  • the dialogue device 100 performs learning using a predetermined ratio of pairs of spoken text and response text after vocabulary ID conversion (step S308).
  • the dialogue device 100 uses the remaining pair as verification data for the learned model parameters, and calculates the loss through the loss function (step S309).
  • step S310: No the dialogue device 100 updates the model parameters using the error propagation method (step S311), and returns to step S308.
  • step S310 When the loss is the minimum (step S310: Yes), the dialogue device 100 saves the model parameters as a trained model (step S312), and ends the process.
  • FIG. 12 is a diagram showing an example of response generation using a response sentence generation model.
  • the dialogue device 100 generates the data DT12 in which the utterance sentence shown in the data DT 11 is divided (step S41).
  • the dialogue device 100 generates data DT13 in which each vocabulary shown in the data DT12 is converted into a vocabulary ID using the information of the vocabulary dictionary storage unit 123 (step S42).
  • the dialogue device 100 acquires the response sentence generation model M1 from the model information storage unit 122 (step S43).
  • the dialogue device 100 generates the data DT23, which is a vocabulary ID sequence, by inputting the data DT13 into the response sentence generation model M1 (steps S44 and S45).
  • the dialogue device 100 generates data DT22 in which each vocabulary ID shown in the data DT23 is converted into a vocabulary (character string) using the information of the vocabulary dictionary storage unit 123 (step S46).
  • the dialogue device 100 generates the data DT21 which is a response sentence by connecting the divided data DT22 (step S47).
  • the dialogue device 100 inputs a sequence obtained by cleansing the utterance sentence and converting it into a vocabulary ID into the response sentence generation model M1, and based on the learning result, inputs a plausible vocabulary ID sequence of the response sentence. Generate a return.
  • the dialogue device 100 converts the vocabulary ID sequence output by the response sentence generation model M1 into subwords, and combines the divided sentences to generate the final response sentence.
  • FIG. 13 is a flowchart showing an example of processing at the time of responding to the user.
  • the dialogue device 100 divides an arbitrary spoken sentence and converts it into a vocabulary ID (step S401).
  • the dialogue device 100 converts it into a sequence of vocabulary IDs (step S402).
  • the dialogue device 100 passes the sequence of vocabulary IDs to the trained model and generates a response sentence (step S403).
  • the dialogue device 100 inputs a sequence of vocabulary IDs (vocabulary ID sequence) into the response sentence generation model M1 to generate a response sentence.
  • the dialogue device 100 converts the generated response sentence into a sentence vector (step S404).
  • the dialogue device 100 searches the response repository converted into a sentence vector for the sentence closest to the sentence vector of the response sentence (step S405). For example, the dialogue device 100 selects a sentence most similar to the generated response sentence (first response sentence) from the response sentence candidate list (response repository) as the second response sentence.
  • FIG. 14 is a diagram showing an example of learning and inference data of the response sentence generation model.
  • the learning data LT11 in FIG. 14 shows an example of the dialogue corpus CP1 which is the learning data used for generating the response sentence generation model M1.
  • the learning data LT11 in FIG. 14 is, for example, a data sample of an utterance sentence / response sentence for learning used in the learning process shown in FIG.
  • the generated data LT12 in FIG. 14 shows an example of a pair of the input information (utterance sentence) input to the response sentence generation model M1 and the response sentence output by the response sentence generation model M1.
  • the learning data LT12 in FIG. 14 is, for example, a data sample of an utterance sentence / response sentence in the inference processing shown in FIG.
  • FIG. 15 is a diagram showing an example of generating a sentence vector.
  • the learning data LT21 in FIG. 15 shows an example of a pair of an utterance sentence and a vector of the utterance sentence. Further, the generated data LT 22 in FIG. 15 shows an example of a pair of a response sentence and a vector of the utterance sentence.
  • the dialogue device 100 generates the vector OT21 corresponding to the input information IN21 by inputting the input information IN21 in FIG. 15 into the vector conversion model M2.
  • each sentence is learned by a large-scale Japanese corpus or the like. It is converted into a sentence vector using the vector conversion model M2 which is an encoder. Then, the dialogue device 100 calculates the closeness of the distance between sentences based on the cosine similarity between the respective vectors.
  • the vector conversion model M2 may be a BERT (encoder).
  • FIG. 16 is a diagram showing an example of response selection data.
  • the selection data LT 31 in FIG. 16 shows an example of a pair of the first response sentence generated by the response sentence generation model M1 and the second response sentence selected based on the first response sentence.
  • FIG. 16 is an example of an input statement (response statement) and an output statement (arbitrary response statement in a similar response repository) in a search-based process.
  • FIG. 17 is a diagram showing an example of data for response processing to a user.
  • the generated data LT41 in FIG. 17 shows the learning data used for generating the response sentence generation model M1 used in the first paragraph PH1. Further, the response sentence list LT42 in FIG. 17 shows the response sentence list used in the second paragraph PH2.
  • the dialogue device 100 generates a first response sentence to a given input sentence (user's utterance sentence) by using the generation-based model (response sentence generation model M1) of the first paragraph PH1. Then, the dialogue device 100 selects a second response sentence from the response sentence repository of the specific domain character based on the search base of the second paragraph PH2 for the generated first response sentence, and uses it as a response to the user.
  • the response statement generated by the response statement generation model and the response statement in the response statement candidate list may include a generalized tag which is a conversion character string in which a command to be converted into a specific character string is executed. The processing of this point will be described with reference to FIGS. 18 to 23. The same points as in the first embodiment will be omitted as appropriate.
  • FIG. 18 is a diagram showing an example of dialogue processing according to the second embodiment of the present disclosure.
  • the dialogue processing according to the second embodiment is realized by the dialogue system 1 including the dialogue device 100A and the user terminal 10 shown in FIG.
  • the dialogue system 1 according to the second embodiment is different from the dialogue system 1 according to the first embodiment in that it has the dialogue device 100A instead of the dialogue device 100.
  • the dialogue device 100A generates a response sentence generation model M11, which is a generation model for generating a response sentence, using the dialogue corpus CP51 (step PS51).
  • the dialogue corpus CP 51 includes a response statement including a generalization tag described later.
  • the dialogue device 100A generates a response sentence generation model M11 using a plurality of pairs such as a pair of the utterance sentence SP11 and the response sentence T11 and a pair of the utterance sentence SP12 and the response sentence T12. As a result, the dialogue device 100A generates the response sentence generation model M11 capable of outputting the response sentence including the generalized tag.
  • the dialogue device 100A acquires the response repository RP51, which is a response sentence candidate list including a plurality of response sentences such as the response sentence R11, the response sentence R12, and the response sentence R13 (step PS61).
  • the dialogue device 100A converts each response sentence in the response repository RP51 into a vector (steps PS62, PS63).
  • the dialogue device 100A converts the response sentence R11, the response sentence R12, the response sentence R13, and the like into a vector by using the vector conversion model M12, which is a model for converting the sentence into a vector.
  • the dialogue device 100A inputs each of the response sentence R11, the response sentence R12, the response sentence R13, etc.
  • the vector conversion model M12 is a vector conversion model in which generalized tags can also be vectorized. As a result, the dialogue device 100A can vectorize even a sentence including a generalized tag.
  • the dialogue device 100A generates a candidate vector CV51 which is a vector corresponding to the response sentence R11 by inputting the response sentence R11 into the vector conversion model M12. Further, the dialogue device 100A generates a candidate vector CV52 corresponding to the response sentence R12 by inputting the response sentence R12 into the vector conversion model M12, and inputs the response sentence R13 into the vector conversion model M12 to generate the response sentence.
  • the candidate vector CV53 corresponding to R13 is generated. It should be noted that steps PS62 and PS63 may be performed at any timing as long as they are before step S56.
  • the user U1 who uses the user terminal 10 speaks “YYYY”. It should be noted that "YYYY” is an utterance that includes specific contents such as “nothing good” and "what do you think of me”.
  • the user terminal 10 detects the utterance "YYYY” of the user U1 and accepts the character information "YYYY” as the input information IN51 by the automatic voice recognition function. Then, the user terminal 10 transmits the input information IN51 to the dialogue device 100A. As a result, the dialogue device 100A acquires the input information IN51 from the user terminal 10 (step S51).
  • the dialogue device 100A inputs the input information IN51 into the response sentence generation model M11, and generates the first response sentence FR51 which is the response sentence corresponding to the input of the user U1 (step S52).
  • the dialogue device 100A converts the first response sentence FR51 into a vector (steps S53 and S4). By inputting the first response sentence FR51 into the vector conversion model M12, the dialogue device 100A generates the target vector TV 51 which is a vector corresponding to the first response sentence FR51.
  • the dialogue device 100A compares the target vector TV 51 of the first response sentence FR51 with each of the candidate vectors CV51, CV52, CV53, etc. of the response repository RP51 (step S55).
  • the dialogue device 100A selects the response sentence of the candidate vector closest to (similar to) the target vector TV51 of the first response sentence FR51 as the second response sentence SR51 used for the response to the user (step S56).
  • the dialogue device 100A selects the response sentence R11 of the candidate vector CV51, which is most similar to the target vector TV51 of the first response sentence FR51, as the second response sentence SR51 used for the response to the user.
  • the response statement R11 is a response statement including a generalization tag " ⁇ uds0001>” which is a conversion character string in which a command for converting to a specific character string such as "I can't keep up with ⁇ uds0001>” is executed. be.
  • the dialogue device 100A converts the generalized tag " ⁇ uds0001>” into another character string (step S57).
  • the dialogue device 100A converts the generalized tag " ⁇ uds0001>” into another character string based on the command (conversion content) of the generalized tag “ ⁇ uds0001>” stored in the generalized tag storage unit 124. Since the command (conversion content) of the generalized tag “ ⁇ uds0001>” is "user name”, the dialogue device 100A obtains information indicating that the surname of user U1 is "Yamada” from the user information storage unit 125. Then, the generalized tag " ⁇ uds0001>” is converted into the surname "Yamada” of the user U1.
  • the generalization tag " ⁇ uds0001>” is converted from the second response sentence SR51 including the generalization tag " ⁇ uds0001>” to the surname "Yamada" of the user U1, and the generalization tag is included.
  • No second response statement SR52 is generated.
  • the dialogue device 100A generates a second response sentence SR52 (response sentence R11d) that says "I can't keep up with Yamada.”
  • the dialogue device 100A transmits the second response sentence SR52 to the user terminal 10, and the user terminal 10 outputs the second response sentence SR52 to the user U1.
  • the dialogue device 100A converts the generalized tag into another character string according to the content of the generalized tag, thereby making a response. It is possible to generate flexible response statements according to the situation.
  • the generalized tag is not limited to the content related to the user, but may be converted into various contents.
  • the generalization tag may be converted according to the context such as the weather and the date and time at the time of responding to the user, such as the generalization tag " ⁇ uds0002>".
  • the context here may be a concept including the environment in which the user is placed.
  • the dialogue device 100A converts the generalization tag " ⁇ uds0002>” into a character string of the contents of the story of the weather.
  • the dialogue device 100A acquires the weather forecast information when responding to the user, and generalizes the tag " ⁇ uds0002>" to a character string such as "By the way, the weather is sunny today” or “It looks like rain tomorrow”. May be converted.
  • FIG. 19 is a diagram showing a configuration example of the dialogue device according to the second embodiment.
  • the dialogue device 100A includes a communication unit 110, a storage unit 120A, and a control unit 130A.
  • the storage unit 120A is realized by, for example, a semiconductor memory element such as a RAM or a flash memory, or a storage device such as a hard disk or an optical disk. As shown in FIG. 19, the storage unit 120A according to the second embodiment includes a response repository storage unit 121A, a model information storage unit 122A, a vocabulary dictionary storage unit 123A, a generalized tag storage unit 124, and user information. It has a storage unit 125.
  • the response repository storage unit 121A stores various information related to the response repository.
  • the response repository storage unit 121A stores a list of response statements (response statement candidate list) including the generalized response statement.
  • FIG. 20 is a diagram showing an example of a response repository storage unit according to a second embodiment.
  • the response repository storage unit 121A shown in FIG. 20 includes an item such as a “response statement”.
  • Response statement indicates a response statement used to respond to the user.
  • a plurality of response sentences such as response sentence R11, response sentence R12, and response sentence R13 are stored as response sentences.
  • the response sentence R11, the response sentence R12, the response sentence R13, and the like are shown abstractly, the response sentence R11, the response sentence R12, the response sentence R13, and the like are character strings that are specific response sentences.
  • the response statement R11 is a generalized tag " ⁇ uds0001>" which is a conversion character string in which a command to convert to a specific character string such as "I can't keep up with ⁇ uds0001>" is executed as shown in parentheses. It is a response statement including.
  • the response repository storage unit 121A is not limited to the above, and may store various information depending on the purpose.
  • the response repository storage unit 121A may store an ID that identifies the response statement in association with each response statement.
  • the model information storage unit 122A stores information about the model.
  • the model information storage unit 122A stores a model used for determining a response to a user.
  • FIG. 21 is a diagram showing an example of a model information storage unit according to the second embodiment.
  • FIG. 21 shows an example of the model information storage unit 122A according to the second embodiment.
  • the model information storage unit 122A includes items such as "model ID", "use", and "model data".
  • Model ID indicates identification information for identifying the model.
  • User indicates the use of the corresponding model.
  • Model data indicates model data.
  • FIG. 21 an example in which conceptual information such as “MDT11” is stored in “model data” is shown, but in reality, various information constituting the model such as information and functions related to the network included in the model are stored. included.
  • the model identified by the model ID "M11" indicates that the use is "response sentence generation”. Further, it is shown that the model data of the response sentence generation model M11 is the model data MDT11.
  • model identified by the model ID "M12" indicates that the use is a "vector conversion model”. Further, it is shown that the model data of the vector conversion model M12 is the model data MDT12.
  • the model information storage unit 122A is not limited to the above, and may store various information depending on the purpose.
  • the vocabulary dictionary storage unit 123A stores a vocabulary dictionary including a generalized tag in which a command to convert to a specific character string is executed.
  • FIG. 22 is a diagram showing an example of a vocabulary dictionary storage unit according to the second embodiment.
  • the vocabulary dictionary storage unit 123A shown in FIG. 22 includes items such as "vocabulary" and "vocabulary ID”.
  • “Vocabulary” indicates each vocabulary (character string) included in the vocabulary dictionary.
  • the "vocabulary ID” indicates identification information (ID) corresponding to each vocabulary.
  • the vocabulary dictionary storage unit 123A is not limited to the above, and may store various information depending on the purpose.
  • the generalized tag storage unit 124 stores various information related to the generalized tag which is a conversion character string.
  • FIG. 23 is a diagram showing an example of a generalized tag storage unit according to the second embodiment.
  • the generalized tag storage unit 124 shown in FIG. 23 includes items such as “generalized tag” and “conversion”.
  • Generalized tag indicates a generalized tag in which a command to convert to a specific character string is executed.
  • Conversion indicates the target to which the corresponding generalization tag is converted.
  • the generalized tag storage unit 124 is not limited to the above, and may store various information depending on the purpose.
  • the user information storage unit 125 stores various information about the user.
  • the user information storage unit 125 stores various information such as attribute information of each user.
  • the user information storage unit 125 stores information about the user such as a user ID, age, gender, and place of residence.
  • the user information storage unit 125 stores information (terminal ID, etc.) that identifies the user terminal 10 used by each user in association with the user.
  • the user information storage unit 125 stores the user's name as user information.
  • the user information storage unit 125 is not limited to the above, and may store various information depending on the purpose.
  • the user information storage unit 125 may store demographic attribute information such as age and gender, and psychographic attribute information such as interest / interest.
  • the control unit 130A is realized by, for example, using a CPU, a GPU, or the like to execute a program stored inside the dialogue device 100A (for example, the dialogue program according to the present disclosure) using a RAM or the like as a work area. Further, the control unit 130A is a controller, and is realized by, for example, an integrated circuit such as an ASIC or FPGA.
  • control unit 130A has an input unit 131, a learning unit 132, a dialogue control unit 133A, and a response sentence selection unit 134A, and realizes the functions and operations of the dialogue processing described below. Or execute.
  • the internal configuration of the control unit 130A is not limited to the configuration shown in FIG. 19, and may be any other configuration as long as it is configured to perform dialogue processing described later.
  • the learning unit 132 performs learning processing.
  • the learning unit 132 performs various learning.
  • the learning unit 132 learns (generates) a model.
  • the learning unit 132 learns various information such as a model.
  • the learning unit 132 learns the parameters of the network by using various techniques related to machine learning.
  • the learning unit 132 generates the response sentence generation model M11 using the dialogue corpus CP51. For example, the learning unit 132 generates the response sentence generation model M11 so as to output the response sentence T11 when the utterance sentence SP11 is input. Further, the learning unit 132 generates the response sentence generation model M11 so as to output the response sentence T12 when the utterance sentence SP12 is input.
  • the response sentence generation model M11 is acquired from an external device
  • the dialogue device 100A does not have to have the learning unit 132. Further, the dialogue device 100A may generate the vector conversion model M12 by the learning unit 132, or may acquire it from an external device.
  • the dialogue control unit 133A functions as a control means for performing various controls related to the dialogue. The same points as the dialogue control unit 133 with respect to the dialogue control unit 133A will be omitted.
  • the dialogue control unit 133A generates a response sentence using the response sentence generation model M11.
  • the dialogue control unit 133A generates a first response sentence for the input information input by the user by using the response sentence generation model M11.
  • the dialogue control unit 133A generates the first response sentence to the input information by using the generation model that generates the response sentence including the conversion character string.
  • the dialogue control unit 133A uses the response sentence generation model M11 to generate a first response sentence including the generalization tag “ ⁇ uds0001>” and the generalization tag “ ⁇ uds0002>”.
  • the response sentence selection unit 134A selects the second response sentence. The same points as the response sentence selection unit 134 of the response sentence selection unit 134A will be omitted.
  • the response sentence selection unit 134A compares the target vector obtained by converting the first response sentence using the vector conversion model M12 with a plurality of vectors obtained by converting each of the plurality of response sentences using the vector conversion model M12. Based on this, the second response statement is selected.
  • the response sentence selection unit 134A uses a response sentence candidate list including a generalized response sentence having a conversion character string to be converted into another character string when used in a response to a user, and performs a second response sentence. select.
  • the response sentence selection unit 134A selects the second response sentence by using the response sentence candidate list including the generalized response sentence having the conversion character string converted into another character string according to the user.
  • the response sentence selection unit 134A selects the second response sentence by using the response sentence candidate list including the generalized response sentence having the conversion character string converted into the character string based on the user information of the user.
  • the response sentence selection unit 134A selects the second response sentence by using the response sentence candidate list including the generalized response sentence having the conversion character string converted into the user's name.
  • the response statement selection unit 134A uses a second response statement candidate list including a generalized response statement having a conversion character string that is converted into another character string according to the context at the time of responding to the user. Select.
  • the response sentence selection unit 134A uses a response sentence candidate list including a generalized response sentence having a conversion character string to be converted into another character string according to the weather information at the time of the response to the user, and the second response. Select a statement.
  • the response sentence selection unit 134A converts the conversion character string included in the second response sentence into another character string.
  • the response sentence selection unit 134A converts the conversion character string into another character string based on the content of the conversion character string included in the second response sentence.
  • the response sentence candidate list may include not only the response sentence but also the utterance sentence corresponding to the response sentence. That is, the dialogue device 100 may select the response sentence in the dialogue repository as the second response sentence by using the dialogue repository including the pair (combination) of the response sentence and the utterance sentence. In this case, the dialogue device 100 searches the response sentence candidate list using the pair (target pair) of the first response sentence generated by the user's utterance sentence and the utterance sentence, and the utterance sentence in the response sentence candidate list. Of the pair (candidate pair) between and the response statement, the response statement of the candidate pair similar to the target pair may be selected as the second response statement.
  • the dialogue device 100 compares a vector of the target pair of the first response sentence generated by the user's utterance sentence and the utterance sentence with the vector of each candidate pair in the response sentence candidate list, and the vector of the target pair.
  • the response statement of the candidate pair of vectors most similar to may be selected as the second response statement.
  • the dialogue device 100 can select an appropriate response statement as the second response statement according to the context of the dialogue.
  • the user terminal 10 used by the user and the dialogue devices 100 and 100A for selecting the response to the user are separate is shown, but the user terminal 10 and the dialogue devices 100 and 100A are shown. May be one with.
  • the user terminal 10 used by the user may be a dialogue device having a function of selecting a response to the user in response to an input such as an utterance of the user.
  • the user terminal 10 has various configurations shown in the control units 130 and 130A and the storage units 120 and 120A of the dialogue devices 100 and 100A.
  • the voice output unit such as the speaker of the user terminal 10 functions as a control means for outputting the second response sentence as the response of the dialogue to the user.
  • the display unit such as the display of the user terminal 10 functions as a control means for outputting the second response sentence as the response of the dialogue to the user.
  • each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of them may be functionally or physically distributed / physically in arbitrary units according to various loads and usage conditions. Can be integrated and configured.
  • the dialogue device (dialogue devices 100, 100A in the embodiment) according to the present disclosure is a control means (dialogue control in the embodiment) for controlling the dialogue device in the dialogue device having a dialogue with the user or another device.
  • the response statement generation model (response statement generation models M1 and M11 in the embodiment) that generates the first response statement to the input information, and the plurality of first response statements generated by the response statement generation model.
  • a response sentence candidate list to be configured and a response sentence selection unit (response sentence selection units 134, 134A in the embodiment) for selecting a second response sentence to be output from the response sentence candidate list are provided, and the control means is a response sentence selection unit.
  • the second response sentence selected by the unit is output as a dialogue response to the user or another device.
  • the dialogue device responds to the user by selecting the response sentence actually used for the response to the user from the response sentence candidate list based on the response sentence generated by the generation model.
  • the response statement can be limited to the content in the response statement candidate list.
  • the dialogue device produces an uncertain but flexible response, and based on that response, selects the response to the user from a pre-prepared list that does not contain, for example, inappropriate content. That is, the response to the user is determined in two steps. Therefore, the dialogue device can suppress a decrease in the flexibility of the response to the user and facilitate the management of the response to the user.
  • the dialogue device can suppress the decrease in the flexibility of the response to the user and make it easy to manage the response to the user, and the flexibility of the response to the user and the ease of managing the response to the user. It is possible to generate a response statement that satisfies both.
  • the response sentence generation model is a trained response sentence generation model composed of a neural network.
  • the dialogue device can generate various first response sentences by using the response sentence generation model composed of the neural network.
  • the trained response sentence generation model was trained based on teacher data acquired from other social network services.
  • the dialogue device can generate a first response sentence that reflects the content of the user's dialogue (communication) in another social network service.
  • the response sentence selection unit selects the second response sentence based on a predetermined criterion.
  • the dialogue device can select an appropriate second response sentence based on the criterion by selecting the second response sentence based on the predetermined criterion.
  • the predetermined criteria are ethics-related criteria, discrimination-related criteria, dialogue device-related character setting criteria, or probability-related criteria. This allows the dialogue device to select an appropriate second response sentence based on criteria such as ethics, discrimination, characters, and probabilities.
  • the response sentence generation model generates a first response sentence for the input information input by the user's utterance. This allows the dialogue device to respond to the user's utterance.
  • the response sentence selection unit selects a response sentence similar to the first response sentence from the response sentence candidate list as the second response sentence.
  • the dialogue device can select a similar response sentence from the response sentence candidate list and respond to the user.
  • the response sentence candidate list includes the target vector to which the first response sentence is converted using the conversion model (vector conversion models M2 and M12 in the embodiment) that converts the character string into a vector, and the response sentence of the response sentence candidate list.
  • the second response statement is selected based on a comparison with a plurality of vectors, each of which is transformed using a transformation model. This allows the dialogue device to select the response to the user based on the vector comparison between the response statements.
  • the response sentence candidate list includes a generalized response sentence having a conversion character string that is converted into another character string when used in a response to a user.
  • the dialogue device can perform an appropriate response by converting the conversion character string according to the situation at the time of the response.
  • the generalized response statement has a conversion character string that is converted into another character string according to the user.
  • the dialogue device can perform an appropriate response according to the response status by converting the conversion character string.
  • the generalized response statement has a conversion character string that is converted into a character string based on the user information of the user.
  • the dialogue device can perform an appropriate response according to the user by converting the conversion character string based on the user information.
  • the generalized response statement has a conversion character string that is converted into the user's name.
  • the dialogue device can perform an appropriate response according to the user by converting the conversion character string into the user's name.
  • the generalized response statement has a conversion character string that is converted into another character string according to the context at the time of responding to the user.
  • the dialogue device converts the conversion character string according to the context at the time of responding to the user, and is appropriate according to the situation at the time of response. Response can be made.
  • the generalized response statement has a conversion character string that is converted into another character string according to the weather information at the time of responding to the user.
  • the dialogue device converts the conversion character string according to the weather information such as the weather forecast at the time of the response to the user, thereby converting the character string for conversion at the time of response.
  • Appropriate responses can be made depending on the situation.
  • the response statement generation model generates a response statement including a character string for conversion.
  • the dialogue device searches the response sentence candidate list including the generalized response sentence using the response and selects the second response sentence. By doing so, the second response sentence can be appropriately selected.
  • the response sentence selection unit converts the conversion character string included in the second response sentence into another character string.
  • the dialogue device can appropriately respond to the user even when the generalized response statement is selected as the second response statement.
  • the response sentence selection unit converts the conversion character string into another character string based on the content of the conversion character string included in the second response sentence.
  • the dialogue device can appropriately respond to the user by performing conversion based on the content of the conversion character string. can.
  • FIG. 24 is a hardware configuration diagram showing an example of a computer that realizes the functions of an information device.
  • the computer 1000 has a CPU 1100, a RAM 1200, a ROM (Read Only Memory) 1300, an HDD (Hard Disk Drive) 1400, a communication interface 1500, and an input / output interface 1600.
  • Each part of the computer 1000 is connected by a bus 1050.
  • the CPU 1100 operates based on the program stored in the ROM 1300 or the HDD 1400, and controls each part. For example, the CPU 1100 expands the program stored in the ROM 1300 or the HDD 1400 into the RAM 1200, and executes processing corresponding to various programs.
  • the ROM 1300 stores a boot program such as a BIOS (Basic Input Output System) executed by the CPU 1100 when the computer 1000 is started, a program depending on the hardware of the computer 1000, and the like.
  • BIOS Basic Input Output System
  • the HDD 1400 is a computer-readable recording medium that non-temporarily records a program executed by the CPU 1100 and data used by such a program.
  • the HDD 1400 is a recording medium for recording the dialogue program according to the present disclosure, which is an example of the program data 1450.
  • the communication interface 1500 is an interface for the computer 1000 to connect to an external network 1550 (for example, the Internet).
  • the CPU 1100 receives data from another device or transmits data generated by the CPU 1100 to another device via the communication interface 1500.
  • the input / output interface 1600 is an interface for connecting the input / output device 1650 and the computer 1000.
  • the CPU 1100 receives data from an input device such as a keyboard or mouse via the input / output interface 1600. Further, the CPU 1100 transmits data to an output device such as a display, a speaker, or a printer via the input / output interface 1600. Further, the input / output interface 1600 may function as a media interface for reading a program or the like recorded on a predetermined recording medium (media).
  • the media is, for example, an optical recording medium such as DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk), a magneto-optical recording medium such as MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.
  • an optical recording medium such as DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk)
  • a magneto-optical recording medium such as MO (Magneto-Optical disk)
  • tape medium such as DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk)
  • MO Magneto-optical disk
  • the CPU 1100 of the computer 1000 realizes the functions of the control unit 130 and the like by executing the dialogue program loaded on the RAM 1200.
  • the dialogue program according to the present disclosure and the data in the storage unit 120 are stored in the HDD 1400.
  • the CPU 1100 reads the program data 1450 from the HDD 1400 and executes the program, but as another example, these programs may be acquired from another device via the external network 1550.
  • the present technology can also have the following configurations.
  • the control means is a dialogue device, characterized in that a second response sentence selected by the response sentence selection unit is output as a response of a dialogue to a user or another device.
  • the response sentence generation model is a learned response sentence generation model composed of a neural network.
  • the dialogue device according to (2) wherein the trained response sentence generation model is trained based on teacher data acquired from another social network service.
  • the response sentence selection unit selects a second response sentence based on a predetermined criterion.
  • the predetermined standard is a standard related to ethics, a standard related to discrimination, a character setting standard related to a dialogue device, or a standard related to probability.
  • the response sentence generation model is The dialogue device according to any one of (1) to (5), which generates the first response sentence to the input information input by the user's utterance.
  • the response sentence selection unit is The dialogue device according to any one of (1) to (6), wherein a response sentence similar to the first response sentence is selected as the second response sentence from the response sentence candidate list.
  • the response sentence selection unit is The target vector to which the first response sentence is converted using the conversion model for converting a character string into a vector, and a plurality of vectors in which each of the response sentences in the response sentence candidate list is converted using the conversion model.
  • the response sentence candidate list is The dialogue device according to any one of (1) to (8), which includes a generalized response statement having a conversion character string that is converted into another character string when used in a response to the user.
  • the generalized response statement is The dialogue device according to (9), which has the conversion character string that is converted into another character string according to the user.
  • the generalized response statement is The dialogue device according to (10), which has the conversion character string that is converted into a character string based on the user information of the user.
  • the generalized response statement is The dialogue device according to (10) or (11), which has the conversion character string to be converted into the user's name.
  • the generalized response statement is The dialogue device according to any one of (9) to (12), which has the conversion character string to be converted into another character string according to the context at the time of responding to the user.
  • the generalized response statement is The dialogue device according to (13), which has the conversion character string that is converted into another character string according to the weather information at the time of responding to the user.
  • the response sentence generation model is The dialogue device according to any one of (9) to (14), which generates a response including the conversion character string.
  • the response sentence selection unit is When the generalized response sentence is selected as the second response sentence from the response sentence candidate list, the conversion character string included in the second response sentence is converted into another character string (9) to (15). ).
  • the response sentence selection unit is The dialogue device according to (16), which converts the conversion character string into another character string based on the content of the conversion character string included in the second response sentence.
  • Dialogue system 100 100A Dialogue device 110 Communication unit 120, 120A Storage unit 121, 121A Response repository storage unit 122, 122A Model information storage unit 123, 123A Word dictionary storage unit 124 Generalized tag storage unit 125 User information storage unit 130, 130A Control unit 131 Input unit 132 Learning unit 133, 133A Dialogue control unit (control means) 134, 134A Response text selection unit 10 User terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Machine Translation (AREA)

Abstract

本開示に係る対話装置は、ユーザ又は他の装置との対話を行う対話装置において、前記対話装置を制御する制御手段と、入力情報に対する第1応答文を生成する応答文生成モデルと、前記応答文生成モデルにより生成された複数の第1応答文から構成される応答文候補リストと、前記応答文候補リストから出力する第2応答文を選択する応答文選択部とを備え、前記制御手段は、前記選択部によりされた第2応答文をユーザ又は他の装置に対する対話の応答として出力する。

Description

対話装置、対話方法及び対話プログラム
 本開示は、対話装置、対話方法及び対話プログラムに関する。
 従来、ユーザとの対話を行う対話システムが知られている。例えば、ユーザの発話等の入力に応じて、その入力に対応する応答を生成する技術が提供されている(例えば特許文献1等)。
特表2019-534472号公報 特開2019-192073号公報
 従来技術によれば、Seq2Seq(Sequence to Sequence Model)等の応答生成モデルを用いてユーザの発話等の入力に対して、応答を生成する。
 しかしながら、従来技術では、対話システムの管理者等が意図しない応答をユーザへ行ってしまう可能性がある。例えば、従来技術では、応答生成モデルを用いることでユーザへの柔軟な応答が行える一方で、どのような応答を応答生成モデルが出力するかを管理することが難しい。そのため、ユーザへの応答の柔軟性の低下を抑制し、ユーザへの応答を管理容易にすることが望まれている。
 そこで、本開示では、ユーザへの応答の柔軟性の低下を抑制し、ユーザへの応答を管理容易にすることができる対話装置、対話方法及び対話プログラムを提案する。
 上記の課題を解決するために、本開示に係る一形態の対話装置は、ユーザ又は他の装置との対話を行う対話装置において、前記対話装置を制御する制御手段と、入力情報に対する第1応答文を生成する応答文生成モデルと、前記応答文生成モデルにより生成された複数の第1応答文から構成される応答文候補リストと、前記応答文候補リストから出力する第2応答文を選択する応答文選択部とを備え、前記制御手段は、前記応答文選択部により選択された第2応答文をユーザ又は他の装置に対する対話の応答として出力する。
本開示の第1の実施形態に係る対話処理の一例を示す図である。 第1の実施形態に係る対話システムの構成例を示す図である。 第1の実施形態に係る対話装置の構成例を示す図である。 第1の実施形態に係る応答レポジトリ記憶部の一例を示す図である。 第1の実施形態に係るモデル情報記憶部の一例を示す図である。 第1の実施形態に係る語彙辞書記憶部の一例を示す図である。 第1の実施形態に係る対話処理の手順を示すフローチャートである。 第1の実施形態に係る対話システムの処理手順を示すシーケンス図である。 応答文生成モデルの生成処理の一例を示す図である。 応答文生成モデルの構成及び処理の一例を示す概念図である。 応答文生成モデルの生成処理の一例を示すフローチャートである。 応答文生成モデルを用いた応答の生成の一例を示す図である。 ユーザへの応答時の処理の一例を示すフローチャートである。 応答文生成モデルの学習及び推論のデータの一例を示す図である。 文章ベクトルの生成の一例を示す図である。 応答選択のデータの一例を示す図である。 ユーザへの応答処理のデータの一例を示す図である。 本開示の第2の実施形態に係る対話処理の一例を示す図である。 第2の実施形態に係る対話装置の構成例を示す図である。 第2の実施形態に係る応答レポジトリ記憶部の一例を示す図である。 第2の実施形態に係るモデル情報記憶部の一例を示す図である。 第2の実施形態に係る語彙辞書記憶部の一例を示す図である。 第2の実施形態に係る汎化タグ記憶部の一例を示す図である。 情報機器の機能を実現するコンピュータの一例を示すハードウェア構成図である。
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、この実施形態により本願にかかる対話装置、対話方法及び対話プログラムが限定されるものではない。また、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
 以下に示す項目順序に従って本開示を説明する。
  1.第1の実施形態
   1-1.第1の実施形態に係る対話処理の概要
    1-1-1.背景及び効果等
    1-1-2.キャラクタ
    1-1-3.倫理、差別的表現
    1-1-4.適用例
   1-2.第1の実施形態に係る対話システムの構成
   1-3.第1の実施形態に係る対話装置の構成
   1-4.第1の実施形態に係る対話処理の手順
   1-5.応答文生成モデルの生成例
   1-6.ユーザへの応答時の処理例
   1-7.データ及び処理の具体例
  2.第2の実施形態
   2-1.第2の実施形態に係る対話処理の概要
   2-2.第2の実施形態に係る対話装置の構成
  3.その他の実施形態
   3-1.対話レポジトリの例
   3-2.その他の構成例
   3-3.その他
  4.本開示に係る効果
  5.ハードウェア構成
[1.第1の実施形態]
[1-1.第1の実施形態に係る対話処理の概要]
 図1は、本開示の第1の実施形態に係る対話処理の一例を示す図である。第1の実施形態に係る対話処理は、図2に示す対話装置100やユーザ端末10を含む対話システム1によって実現される。なお、対話システム1の詳細は図2で詳述する。
 まず、ユーザU1の発話による入力情報IN1に対する応答を示すステップS1~S6の説明に先立って、その応答に用いる情報の生成について説明する。
 対話装置100は、応答文を生成する生成モデルである応答文生成モデルM1を、対話コーパスCP1を用いて生成する(ステップPS11)。対話装置100は、発話文SP1と応答文T1とのペアや発話文SP2と応答文T2とのペア等の複数のペアを用いて応答文生成モデルM1を生成する。例えば、応答文生成モデルM1は、Seq2Seq等のエンコーダデコーダモデルであるが詳細は後述する。なお、応答文生成モデルM1は、応答を生成可能であれば、Seq2Seqに限らず、どのようなモデルであってもよい。
 例えば、対話装置100は、発話文SP1を入力とした場合に、応答文T1が生成されるように応答文生成モデルM1のパラメータを調整し、応答文生成モデルM1を生成する。対話装置100は、バックプロパゲーション(誤差逆伝播法)等の手法により応答文生成モデルM1を生成する。なお、応答文生成モデルM1の生成の詳細は後述する。また、対話装置100以外の装置(例えばモデル生成装置)が応答文生成モデルM1を生成し、対話装置100はその装置から応答文生成モデルM1を取得してもよい。
 対話装置100は、応答文R1、応答文R2、応答文R3等の複数の応答文を含む応答文候補リストである応答レポジトリRP1を取得する(ステップPS21)。対話装置100は、応答レポジトリ記憶部121(図3参照)から応答レポジトリRP1を取得する。例えば、応答レポジトリRP1は、応答文生成モデルM1により生成された複数の第1応答文から構成される応答文候補リストである。応答レポジトリRP1は、応答文生成モデルM1により生成された複数の第1応答文から、管理者等が不要な応答文を除外した抽出した応答文候補リストであってもよい。
 対話装置100は、応答レポジトリRP1中の各応答文をベクトルに変換する(ステップPS22、PS23)。対話装置100は、文をベクトルに変換するモデルであるベクトル変換モデルM2を用いて、応答文R1、応答文R2、応答文R3等をベクトルに変換する。対話装置100は、応答文R1、応答文R2、応答文R3等の各々をベクトル変換モデルM2に入力し、ベクトル変換モデルM2に応答文R1、応答文R2、応答文R3等の各々に対応するベクトルを出力させる。対話装置100は、外部装置からベクトル変換モデルM2を取得してもよいし、ベクトル変換モデルM2を生成してもよい。
 対話装置100は、応答文R1をベクトル変換モデルM2に入力することにより、応答文R1に対応するベクトルである候補ベクトルCV1を生成する。また、対話装置100は、応答文R2をベクトル変換モデルM2に入力することにより、応答文R2に対応する候補ベクトルCV2を生成し、応答文R3をベクトル変換モデルM2に入力することにより、応答文R3に対応する候補ベクトルCV3を生成する。なお、ステップPS22、PS23は、ステップS6よりも前であれば、いずれのタイミングで行われてもよい。
 ここから、ユーザU1の発話による入力情報IN1に対する応答の処理について説明する。
 まず、図1の例では、ユーザ端末10を利用するユーザU1が「XXXXX」と発話する。なお、「XXXXX」は、「どうしよう」や「降りそうですね」等の具体的な内容を含む発話であるものとする。ユーザ端末10は、ユーザU1の「XXXXX」という発話を検知し、自動音声認識の機能により文字情報「XXXXX」を入力情報IN1として受け付ける。そして、ユーザ端末10は、入力情報IN1を対話装置100へ送信する。これにより、対話装置100は、ユーザ端末10から入力情報IN1を取得する(ステップS1)。
 対話装置100は、入力情報IN1を応答文生成モデルM1に入力し、ユーザU1の入力に対応する応答文である第1応答文FR1を生成する(ステップS2)。
 対話装置100は、第1応答文FR1をベクトルに変換する(ステップS3、S4)。対話装置100は、第1応答文FR1をベクトル変換モデルM2に入力することにより、第1応答文FR1に対応するベクトルである対象ベクトルTV1を生成する。
 対話装置100は、第1応答文FR1の対象ベクトルTV1と、応答レポジトリRP1の候補ベクトルCV1、CV2、CV3等の各々とを比較する(ステップS5)。例えば、対話装置100は、対象ベクトルTV1と、候補ベクトルCV1、CV2、CV3等の各々とコサイン類似度を算出する。
 対話装置100は、第1応答文FR1の対象ベクトルTV1に最も近い(類似する)候補ベクトルの応答文を、ユーザへの応答に用いる第2応答文SR1として選択する(ステップS6)。対話装置100は、第1応答文FR1の対象ベクトルTV1に最も類似する候補ベクトルCV2の応答文R2を、ユーザへの応答に用いる第2応答文SR1として選択する。例えば、対話装置100は、対象ベクトルTV1とのコサイン類似度が最大の候補ベクトルCV2の応答文R2を、第2応答文SR1として選択する。なお、コサイン類似度は一例に過ぎず、コサイン類似度に限らず応答文(のベクトル)間の近さを測るために種々の情報が用いられてもよい。また、対話装置100は、ベクトルの類似度に限らず、所定の基準に基づいて、第2応答文を選択してもよい。例えば、所定の基準は、倫理に関連する基準、差別に関する基準、対話装置に関するキャラクタ設定基準、又は、確率に関する基準であってもよいが、この点は後述する。
 そして、対話装置100は、選択した第2応答文SR1をユーザ端末10へ送信し、ユーザ端末10は、第2応答文SR1をユーザU1に対して出力する。
 上述したように、対話装置100は、応答文生成モデルM1が生成した第1応答文FR1をそのままユーザU1への応答に用いるのではなく、第1応答文FR1を応答レポジトリRP1の検索に用いる。これにより、対話装置100は、ユーザU1への応答の内容を応答レポジトリRP1に含まれる応答文に制限することができるため、応答文生成モデルM1による柔軟な応答生成を行いつつ、不適切な応答を行うことを抑制することができる。
[1-1-1.背景及び効果等]
 対話による応答生成手法には大きく生成ベースと検索ベースの2種類がある。生成ベースはSeq2Seqなどのエンコーダデコーダモデルを用いて、ユーザの発話文を入力として応答文を生成する手法である。一方、検索ベースは、予め用意してあった対話リポジトリの中から、ユーザの発話文に最も近い発話文を特定のルールに基づいて選択し、その発話文の対にある応答文をユーザへの応答としても用いる手法である。
 生成ベースの長所は、どんなユーザの発話文に対しても,それらしい応答を行うことができる。大量の日本語の対話ペアから日本語の応答の特徴を学習したモデルを用いることで、例えば未知語(例えばカルカ等)が発話文に含まれる場合であっても、それらしい応答を行うことができる。生成ベースでは、対話ペアを作成するクリエイターの労力を大幅に減らすことができる。
 一方で、生成ベースの短所としては、応答に一貫性がないことである。例えば、もとの教師データのスタイルの影響を受けるため、教師データがTwitter(登録商標)の場合、Twitterでやりとりされる書き言葉のネットスラングの混じった口調になる傾向がある。また、応答を行うたびに生成されるので、生成ベースを用いるサービス提供者等がその内容をすべて把握することは不可能であり、ユーザの発話文や教師データによっては、予期せぬ不適切な応答が生成され得る。そのため、生成ベース手法は、商用利用が困難であるという課題がある。
 また、検索ベースの長所は、検索ベースを用いるサービス提供者等が応答を管理可能である点がある。それは、対話リポジトリにある対話ペアは事前にサービス提供者側で内容確認できるためである。
 一方で、検索ベースの短所としては、すべての対話ペアをサービス提供者が作る必要がある点がある。自然言語とは非常に多様な内容・表現が可能なため、それらすべてをカバーする対話ペアを用意することは事実上不可能で、対話ペアの数が十分ではない場合、ユーザに単調さを感じさせてしまうといった課題がある。また、応答文に加えて発話文も用意しなければならないため、対話ペアの作り手の負荷が大きい。
 一方で、対話装置100は、応答文のみを含む応答文候補リストを応答レポジトリとして用いることで、応答レポジトリを生成する負荷の増大を抑制することができる。これにより、対話装置100は、多様な表現を含む応答レポジトリを用いることができる。
 また、対話装置100は、応答文生成モデルM1により第1応答文を生成し、生成した第1応答文を用いて、応答レポジトリ中の複数の応答文のうち、第1応答文に近い応答文を第2応答文として選択する。これにより、対話装置100は、ユーザへの応答を応答レポジトリに含まれる応答文に制限することで、生成ベースにおける課題を解消することができる。したがって、対話装置100は、生成ベース及び検索ベースの長所を活かした応答を行うことができる。
 上述のように、対話装置100は、生成ベースによる応答の自由度の高さと、検索ベースによる応答文の管理を両立させることが可能になる。一般的に、生成ベースの言語モデル(応答文生成モデル)では一般的に確率の高い語彙を選択するため、どんな発話にも成り立つ無難で退屈な応答(たとえば「そうだね」といった応答)が生成されやすいという課題がある。これに対し、応答時の言語モデルにて、語彙候補上位k個の中からランダムに選択することで多様性を確保したり、言語モデルの一定履歴区間内で選択された語彙の確率の和の上限pを制限したりすることで、確率の高い語彙と低い語彙が混在した、より人間に近い自然な多様性を伴う応答生成も可能になる。これらkやpといったパラメータを調整することで、同じユーザの発話に対して毎回違う応答を返す言語モデルも可能になる。例えば、対話装置100は、上述したパラメータの調整によりユーザの同じ発話に対して毎回違う応答を返すように応答文生成モデルM1を生成する。この場合、対話装置100は、ユーザの同じ発話に対して毎回違う応答を返すように生成された応答文生成モデルM1を用いて、第1応答文を生成する。これにより、対話装置100は、ユーザの発話に対して多様な第1応答文を生成することができる。
 ここで、一般的に多様性をあげるということは、より予期せぬ応答文が生成されることを意味するので、管理容易性を下げることにつながってしまう。しかしながら、対話装置100は、生成ベースの応答を、その後管理された応答文候補リスト(応答用リスト)内の応答に変換するため、多様性向上によってユーザの発話に対する応答の妙は向上させつつ、管理容易性の低下を抑制することができる。対話装置100は、第1応答文を用いて、応答文候補リスト中の第2応答文を選択することで、ユーザの発話に対して応答の妙を維持しつつ、管理容易性の低下を抑制することができる。
 また、検索ベースと比較して、対話(発話文と応答文のペア)ではなく応答文のみを生成すればよいため、ユーザがどんな発話をしてくるかに応答文候補リストの作り手が頭を悩ませることなく、そのキャラクタが返しそうな応答文だけを用意すればよいという効果もある。したがって、自然言語対話に不慣れなキャラクタ製作者にとって効率性・網羅性の観点でもメリットがある。なお、第1応答文の生成に用いられる応答文生成モデルM1等を大規模な学習データを用いて学習することで、特定のドメインへの依存を抑制することができるので、応答文候補リストのみ用意して切り替えれば、いろいろなキャラクタ雑談に展開したり、金融サービスのチャットボットにおける雑談に展開したりすることも可能になる。
[1-1-2.キャラクタ]
 上記のように、用途に応じて応答文候補リストに含ませる応答文の内容を制限することで所望の応答を行うことができる。すなわち、対話装置100は、メイン固有の応答文候補リストを用いることで、所望の応答を行うことができる。この点について説明する。例えば、応答文候補リストに含まれる全応答文が特定のキャラクタの設定に適合する場合、その応答文候補リストを用いてユーザに対話サービスを提供することで、その特定のキャラクタに適合する応答を行うことができる。例えば、応答文の語尾等が特定のキャラクタの発話に対応するように生成された応答文候補リストを用いてユーザに対話サービスを提供することで、その特定のキャラクタに適合する応答を行うことができる。
 図1では、応答レポジトリRP1中の応答文R1、応答文R2、応答文R3等が特定のキャラクタの設定に適合する内容である場合、対話装置100は、ユーザU1への応答を、その特定のキャラクタの設定に適合する内容に制限することができる。なお、対話装置100は、応答文生成モデルM1により生成された複数の第1応答文から構成される応答文候補リストである応答レポジトリRP1を用いてもよいし、他の方法により応答レポジトリRP1を取得してもよい。例えば、対話装置100は、対話装置100の管理者等の入力により、応答レポジトリRP1を取得してもよいし、応答レポジトリを生成する装置(例えば応答レポジトリ生成装置)から応答レポジトリRP1を取得してもよい。
 例えば、ユーザへの応答を行う特定のキャラクタは猫が嫌いな設定である場合、対話装置100は、猫が好きであることを示すような応答文が含まれない応答文候補リストを用いる。これにより、対話装置100は、応答文生成モデルM1により猫が好きである内容の第1応答文が生成された場合であっても、応答文候補リストには猫が好きであることを示すような応答文が含まれないため、第2応答文として猫が好きであることを示すような応答文が選択されることを防止することができる。これにより、対話装置100は、キャラクタの一貫性を破壊するような応答を防止することができる。
[1-1-3.倫理、差別的表現]
 また、応答文候補リストに含まれる全応答文が倫理に関する基準を満たす場合、その応答文候補リストを用いてユーザに対話サービスを提供することで、ユーザへの応答が倫理の基準を外れた内容になることを防止することができる。すなわち、倫理に関する基準を満たさない応答文が含まない応答文候補リストを用いることで、対話装置100は、ユーザへの応答が倫理の基準を外れた応答になることを防止することができる。
 また、応答文候補リストに含まれる全応答文が差別的表現に該当しない場合、その応答文候補リストを用いてユーザに対話サービスを提供することで、ユーザへの応答が差別的内容になることを防止することができる。すなわち、差別的表現に該当する応答文が含まない応答文候補リストを用いることで、対話装置100は、ユーザへの応答が差別的表現を含む応答になることを防止することができる。
 例えば、対話装置100は、特定の人種を差別するような応答文が含まれない応答文候補リストを用いる。これにより、対話装置100は、応答文生成モデルM1により特定の人種を差別する内容の第1応答文が生成された場合であっても、応答文候補リストには特定の人種を差別する応答文が含まれないため、第2応答文として特定の人種を差別する応答文が選択されることを防止することができる。これにより、対話装置100は、倫理に反したり、差別的表現を含んだりするような応答を防止することができる。
[1-1-4.適用例]
 対話装置100による処理は、ユーザへの応答を行う様々なサービスに適用することができる。対話型AI(Artificial Intelligence)サービス、銀行や保険等の様々な業種のチャットボットサービス等に適用されてもよい。すなわち、対話装置100による処理は、ユーザの発言等の行動に対して何らかの応答を行うサービスであれば、どのようなサービスにも適用することができる。例えば、対話装置100による処理は、ペットロボット等のエンタテインメントロボット、インタラクティブテーブルトップ、エージェント技術開発システム、ウェアラブル会話型エージェント、AR(Augmented Reality)グラス等のARシステム、VR(Virtual Reality)グラス等のVRシステム等に適用されてもよい。上述のように、対話装置100の適用例として、エンタメサービス向けキャラクタ雑談、金融サービス向けチャットボット、ロボット、ウェアラブルデバイス、テーブルトップ、ARグラス等で用いられる対話型エージェント等多岐にわたる。
[1-2.第1の実施形態に係る対話システムの構成]
 図2に示す対話システム1について説明する。図2に示すように、対話システム1は、ユーザ端末10と、対話装置100とが含まれる。ユーザ端末10と、対話装置100とは所定の通信網(ネットワークN)を介して、有線または無線により通信可能に接続される。図2は、第1の実施形態に係る対話システムの構成例を示す図である。なお、図2に示した対話システム1には、複数台のユーザ端末10や、複数台の対話装置100が含まれてもよい。対話システム1は、ユーザの発話に対する応答を行う対話システムを実現する。
 ユーザ端末10は、ユーザによって利用される情報処理装置である。ユーザ端末10は、音声や文字による対話に関するサービスの提供に用いられる。ユーザ端末10は、第1の実施形態における処理を実現可能であれば、どのような装置であってもよい。ユーザ端末10は、対話に関するサービスを提供し、情報を表示するディスプレイを有する構成であれば、どのような装置であってもよい。また、ユーザ端末10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等の装置であってもよい。
 なお、ユーザ端末10は、音を検知する音センサ(マイク)を有してもよい。この場合、ユーザ端末10は、音センサにより、ユーザの発話を検知する。ユーザ端末10は、ユーザの発話に限らず、ユーザ端末10の周囲の環境音等を収集する。また、ユーザ端末10は、音センサに限らず、種々のセンサを有する。例えば、ユーザ端末10は、画像、加速度、温度、湿度、位置、圧力、光、ジャイロ、距離等、種々の情報を検知するセンサを有してもよい。このように、ユーザ端末10は、音センサに限らず、画像を検知する画像センサ(カメラ)、加速度センサ、温度センサ、湿度センサ、GPSセンサ等の位置センサ、圧力センサ、光センサ、ジャイロセンサ、測距センサ等の種々のセンサを有してもよい。また、ユーザ端末10は、上記のセンサに限らず、照度センサ、近接センサ、ニオイや汗や心拍や脈拍や脳波等の生体情報を検知するためのセンサ等の種々のセンサを有してもよい。そして、ユーザ端末10は、各種センサにより検知された種々のセンサ情報を対話装置100に送信してもよい。ユーザ端末10は、音声信号処理や音声認識や発話意味解析や対話制御や行動出力等のソフトウェアモジュールを有してもよい。
 ユーザ端末10は、各種情報を出力する。ユーザ端末10は、音声を出力するスピーカーを有する。ユーザ端末10は、対話装置100や音声認識サーバ等の他の情報処理装置へ各種情報を送信する。ユーザ端末10は、対話装置100にユーザにより入力された情報を送信する。
 対話装置100は、ユーザに対話システムに関するサービスを提供するために用いられる情報処理装置(コンピュータ)である。対話装置100は、ユーザの入力に対応する応答文を生成し、生成した応答文を用いて、応答文候補リスト中の複数の応答候補文から、ユーザに対して出力する応答文を選択する。また、対話装置100は、音声信号処理や音声認識や発話意味解析や対話制御等のソフトウェアモジュールを有してもよい。対話装置100は、音声認識の機能を有してもよい。また、対話装置100は、音声認識サービスを提供する音声認識サーバから情報を取得可能であってもよい。この場合、対話システム1は、音声認識サーバが含まれてもよい。例えば、対話装置100や音声認識サーバが、種々の従来技術を適宜用いてユーザの発話を認識したり、発話したユーザを特定したりする。
[1-3.第1の実施形態に係る対話装置の構成]
 次に、第1の実施形態に係る対話処理(情報処理)を実行する対話装置の一例である対話装置100の構成について説明する。図3は、第1の実施形態に係る対話装置100の構成例を示す図である。
 図3に示すように、対話装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、対話装置100は、対話装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
 通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークN(図2参照)と有線または無線で接続され、ユーザ端末10や音声認識サーバ等の他の情報処理装置との間で情報の送受信を行う。また、通信部110は、ユーザが利用するユーザ端末(図示省略)との間で情報の送受信を行ってもよい。
 記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。第1の実施形態に係る記憶部120は、図3に示すように、応答レポジトリ記憶部121と、モデル情報記憶部122と、語彙辞書記憶部123とを有する。
 第1の実施形態に係る応答レポジトリ記憶部121は、応答レポジトリに関する各種情報を記憶する。応答レポジトリ記憶部121は、ユーザへの応答に用いる応答文のリスト(応答文候補リスト)を記憶する。図4は、第1の実施形態に係る応答レポジトリ記憶部の一例を示す図である。図4に示す応答レポジトリ記憶部121には、「応答文」といった項目が含まれる。
 「応答文」は、ユーザへの応答に用いられる応答文を示す。図4の例では、応答文として、応答文R1、応答文R2、応答文R3等の複数の応答文が記憶される。なお、応答文R1、応答文R2、応答文R3等のように抽象的に示すが、応答文R1、応答文R2、応答文R3等は、具体的な応答文となる文字列である。例えば、応答文R1は、括弧書きで示すように「大丈夫だっちゃ」といった特定のキャラクタに適合する応答文である。
 なお、応答レポジトリ記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、応答レポジトリ記憶部121は、応答文を識別するIDを各応答文に対応付けて記憶してもよい。応答レポジトリ記憶部121は、応答文生成モデルM1により生成された複数の第1応答文から構成される応答文候補リストを記憶してもよい。
 第1の実施形態に係るモデル情報記憶部122は、モデルに関する情報を記憶する。例えば、モデル情報記憶部122は、ユーザへの応答の決定に用いるモデルを記憶する。図5は、第1の実施形態に係るモデル情報記憶部の一例を示す図である。図5に、第1の実施形態に係るモデル情報記憶部122の一例を示す。図5に示した例では、モデル情報記憶部122は、「モデルID」、「用途」、「モデルデータ」といった項目が含まれる。
 「モデルID」は、モデルを識別するための識別情報を示す。「用途」は、対応するモデルの用途を示す。「モデルデータ」は、モデルのデータを示す。図5では「モデルデータ」に「MDT1」といった概念的な情報が格納される例を示したが、実際には、モデルに含まれるネットワークに関する情報や関数等、そのモデルを構成する種々の情報が含まれる。
 図5に示す例では、モデルID「M1」により識別されるモデル(応答文生成モデルM1)は、用途が「応答文生成」であることを示す。また、応答文生成モデルM1のモデルデータは、モデルデータMDT1であることを示す。
 また、モデルID「M2」により識別されるモデル(ベクトル変換モデルM2)は、用途が「ベクトル変換モデル」であることを示す。また、ベクトル変換モデルM2のモデルデータは、モデルデータMDT2であることを示す。
 なお、モデル情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
 第1の実施形態に係る語彙辞書記憶部123は、語彙辞書を記憶する。図6は、第1の実施形態に係る語彙辞書記憶部の一例を示す図である。なお、図6では日本語の語彙辞書を一例として示すが、語彙辞書記憶部123は、日本語の語彙辞書に限らず、英語やフランス語や中国語等、対話システム1が用いられる言語に応じた語彙辞書が記憶される。図6に示す語彙辞書記憶部123には、「語彙」、「語彙ID」といった項目が含まれる。
 「語彙」は、語彙辞書に含まれる各語彙(文字列)を示す。「語彙ID」は、各語彙に対応する識別情報(ID)を示す。
 図6の例では、語彙「さん」の語彙IDは「-9」であることを示す。また、語彙「ちゃ」の語彙IDは「-10」であることを示す。
 なお、語彙辞書記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
 図3に戻り、説明を続ける。制御部130は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等によって、対話装置100内部に記憶されたプログラム(例えば、本開示に係る対話プログラム等)がRAM(Random Access Memory)等を作業領域として実行されることにより実現される。また、制御部130は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
 図3に示すように、制御部130は、入力部131と、学習部132と、対話制御部133と、応答文選択部134とを有し、以下に説明する対話処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する対話処理を行う構成であれば他の構成であってもよい。
 入力部131は、入力処理を行う。入力部131は、対話に関する入力を行う。入力部131は、ユーザによる入力情報の入力を受け付ける。入力部131は、ユーザの発話による入力を受け付ける。入力部131は、記憶部120から各種情報を取得する。入力部131は、外部の情報処理装置から各種情報を取得する。入力部131は、ユーザ端末10から各種情報を取得する。入力部131は、音声認識サーバ等の他の情報処理装置から各種情報を取得する。入力部131は、ユーザ端末10からユーザの発話を示す情報を取得する。例えば、入力部131は、Twitterなどソーシャルネットワークサービス(SNS:Social Networking Service)での対話のデータを取得する。入力部131は、ソーシャルネットワークサービスでの対話のデータを、ソーシャルネットワークサービスを提供するサービス提供装置から取得してもよい。また、入力部131は、ソーシャルネットワークサービスでの対話のデータを、記憶部120から取得してもよい。この場合、記憶部120は、ソーシャルネットワークサービスでの対話のデータを記憶する。
 学習部132は、学習処理を行う。学習部132は、各種学習を行う。学習部132は、モデルを学習(生成)する。学習部132は、モデル等の各種情報を学習する。学習部132は、種々の機械学習に関する技術を用いて、ネットワークのパラメータを学習する。
 学習部132は、対話コーパスCP1を用いて応答文生成モデルM1を生成する。例えば、学習部132は、発話文SP1が入力された場合に、応答文T1を出力するように応答文生成モデルM1を生成する。また、学習部132は、発話文SP2が入力された場合に、応答文T2を出力するように応答文生成モデルM1を生成する。例えば、学習部132は、Twitterなどソーシャルネットワークサービスでの対話のデータを教師データとして用いて、応答文生成モデルM1を生成する。この場合、学習部132は、ソーシャルネットワークサービスでの発話とその発話への応答の組合せを教師データとして用いて、応答文生成モデルM1を生成する。学習部132は、ソーシャルネットワークサービスでの発話の発話文が入力された場合に、その発話文への応答文を出力するように応答文生成モデルM1を生成する。なお、応答文生成モデルM1を外部装置から取得する場合、対話装置100は、学習部132を有しなくてもよい。また、対話装置100は、ベクトル変換モデルM2を学習部132により生成してもよいし、外部装置から取得してもよい。
 対話制御部133は、対話に関する各種制御を行う制御手段として機能する。対話制御部133は、ユーザや他の装置との対話を制御する。対話制御部133は、入力部131により取得された情報に基づいて、各種情報を生成する。対話制御部133は、応答文生成モデルM1を用いて応答文を生成する。
 対話制御部133は、ユーザにより入力された入力情報に対する第1応答文を、応答を生成する応答文生成モデルM1を用いて生成する。対話制御部133は、ユーザの発話により入力された入力情報に対する第1応答文を生成する。
 対話制御部133は、応答文選択部134により選択された第2応答文をユーザ又は他の装置に対する対話の応答として出力する。例えば、対話制御部133は、ユーザ端末10へ第2応答文を送信することにより、第2応答文をユーザに対する対話の応答として出力する。対話制御部133は、外部の情報処理装置へ対話に関する各種情報を送信する。例えば、対話制御部133は、ユーザ端末10や音声認識サーバ等の他の装置へ各種情報を送信する。
 応答文選択部134は、対話制御部133により生成された応答文を用いて各種情報を選択する。応答文選択部134は、対話制御部133により生成された第1応答文に基づいて、応答文候補リスト中の複数の応答文から、ユーザへの応答に用いる第2応答文を選択する。応答文選択部134は、複数の応答文のうち、第1応答文に類似する応答文を第2応答文として選択する。応答文選択部134は、文字列をベクトルに変換するベクトル変換モデルM2を用いて第1応答文が変換された対象ベクトルと、複数の応答文の各々がベクトル変換モデルM2を用いて変換された複数のベクトルとの比較に基づいて、第2応答文を選択する。
 応答文選択部134は、所定の基準に基づいて、第2応答文を選択する。応答文選択部134は、倫理に関連する基準、差別に関する基準、対話装置100に関するキャラクタ設定基準、又は、確率に関する基準に基づいて、第2応答文を選択する。応答文選択部134は、倫理または差別の基準を満たさない第1応答文を応答文候補リストから除外して、第2応答文を選択する。例えば、応答文選択部134は、倫理または差別の基準を満たさない文字列を記憶部120に記憶し、その文字列が含まれる第1応答文を応答文候補リストから除外して、第2応答文を選択する。また、応答文選択部134は、対話装置100による対話にキャラクタ設定がある場合、キャラクタの設定を満たさない第1応答文を応答文候補リストから除外して、第2応答文を選択する。例えば、応答文選択部134は、キャラクタ設定を満たさない文字列を記憶部120に記憶し、その文字列が含まれる第1応答文を応答文候補リストから除外して、第2応答文を選択する。また、応答文選択部134は、確率に関する基準を満たさない第1応答文を応答文候補リストから除外して、第2応答文を選択する。例えば、応答文選択部134は、応答文候補リストの各第1応答文が第2選択文として選択された回数または確率を計測して記憶部120に記憶し、第2選択文として選択された回数または確率が所定の閾値以上の第1応答文を応答文候補リストから除外して、第2応答文を選択する。応答文選択部134は、上述した処理により、倫理に関連する基準、差別に関する基準、対話装置100に関するキャラクタ設定基準、又は、確率に関する基準を満たさない応答文が含まれない応答文候補リストから第2応答文を選択してもよい。なお、上記は一例であり、応答文選択部134は、他の基準に基づいて、第2応答文を選択してもよい。
 応答文選択部134は、第1応答文に基づいて、ユーザへ応答するキャラクタの設定に適合する応答を示す複数の応答文を含む応答文候補リストから第2応答文を選択する。応答文選択部134は、対話制御部133がキャラクタに適合しない第1応答文を生成した場合、その第1応答文に基づいて、キャラクタの設定に適合する第2応答文を選択する。
 応答文選択部134は、応答に関する基準を満たさない応答文を含まない応答文候補リストを用いて、第2応答文を選択する。応答文選択部134は、倫理に関する基準を満たさない応答文である倫理違反応答文を含まない応答文候補リストを用いて、第2応答文を選択する。応答文選択部134は、差別的表現に該当する応答文である差別的応答文を含まない応答文候補リストを用いて、第2応答文を選択する。応答文選択部134は、対話制御部133が差別的表現に該当する等、応答の基準を満たさない第1応答文を生成した場合、その第1応答文に基づいて、応答の基準を満たす第2応答文を選択する。
[1-4.第1の実施形態に係る対話処理の手順]
 次に、図7を用いて、第1の実施形態に係る対話処理の手順について説明する。図7は、第1の実施形態に係る対話処理の手順を示すフローチャートである。具体的には、図7は、対話装置100によるユーザへの応答文の決定処理の手順を示すフローチャートである。
 図7に示すように、対話装置100は、入力情報に対する第1応答文を応答文生成モデルにより生成する(ステップS101)。対話装置100は、応答文生成モデルにより生成された複数の第1応答文から構成される応答文候補リストから出力する第2応答文を選択する(ステップS102)。対話装置100は、選択した第2応答文をユーザ又は他の装置に対する対話の応答として出力する(ステップS103)。
 次に、図8を用いて、第1の実施形態に係る対話システムに係る処理の流れについて説明する。図8は、第1の実施形態に係る対話システムの処理手順を示すシーケンス図である。
 図8に示すように、ユーザ端末10は、ユーザの発話による入力を受け付ける(ステップS201)。そして、ユーザ端末10は、ユーザにより入力された入力情報を対話装置100へ送信する(ステップS202)。
 対話装置100は、ユーザ端末10から取得したユーザの入力情報から、応答文生成モデルを用いて第1応答文を生成する(ステップS203)。対話装置100は、第1応答文に基づいて、複数の応答文を含む応答文候補リストから第2応答文を選択する(ステップS204)。そして、対話装置100は、選択した第2応答文をユーザ端末10へ送信する(ステップS205)。
 そして、ユーザ端末10は、対話装置100から受信した第2応答文を出力する(ステップS206)。
[1-5.応答文生成モデルの生成例]
 まず、図9を用いて応答文生成モデルの生成の概要を説明する。図9は、応答文生成モデルの生成処理の一例を示す図である。
 図9では、対話装置100は、データDT11に示す発話文が分かち書きされたデータDT12を生成する(ステップS11)。
 対話装置100は、データDT12に示す各語彙を、語彙辞書記憶部123の情報を用いて語彙IDに変換したデータDT13を生成する(ステップS12)。
 また、対話装置100は、データDT21に示す応答文が分かち書きされたデータDT22を生成する(ステップS21)。
 対話装置100は、データDT22に示す各語彙を、語彙辞書記憶部123の情報を用いて語彙IDに変換したデータDT23を生成する(ステップS22)。
 対話装置100は、発話文に対応する語彙IDシーケンスであるデータDT13と、応答文に対応する語彙IDシーケンスであるデータDT23とを用いて、図9では、エンコーダデコーダモデルDNN(Deep Neural Network)である応答文生成モデルM1を生成する(ステップS31)。対話装置100は、生成した応答文生成モデルM1をモデル情報記憶部122に格納する(ステップS32)。
 図9の処理の具体例としては、Twitterなどを教師データとして扱ううえでノイズを除去するクレンジング処理を施した発話文テキストに対して、対話装置100は、例えばサブワード単位で予め用意した語彙辞書の単位で分かち書きする。対話装置100は、分かち書きデータを語彙辞書記憶部123で管理している語彙IDに変換し、語彙IDの配列を応答文生成モデルM1に入力文として渡す。同様に、教師データの応答文テキストもTwitterなどのソースから収集してクレンジングが施され、対話装置100は、語彙IDに変換し、応答文生成モデルM1の出力文の正解データとして用意する。対話装置100は、入力文の語彙IDシーケンスと出力文の語彙IDシーケンスの大量のペア(たとえば100万・1000万・1億ペア)を用いて、応答文生成モデルM1を学習する。
 ここで、図10を用いて、応答文生成モデルM1の一例について説明する。図10は、応答文生成モデルの構成及び処理の一例を示す概念図である。図9にDNN(エンコーダ・デコーダモデル)として示す応答文生成モデルM1は、再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)のように時系列データを扱えるディープニューラルネットワーク等のニューラルネットワークの構成を有するモデルである。図10に示す応答文生成モデルM1は、RNNを有するエンコーダ(Encoder)と、RNNを有するデコーダ(Decoder)とを組み合わせたSeq2seqモデルである。
 図10の例では、「吾輩は猫である」がエンコーダのRNNに入力されると、そのテキスト情報を固定長ベクトル(図16中の「h」で表記される)にエンコードする。また、図10の例では、デコーダのRNNを介して、エンコードされた固定長ベクトルをデコードする。具体的には、「I am a cat」を出力する。なお、図10の例では、説明のために日本語の文字列の入力に対して、英語の文字列を出力する例を図示したが、上述したように応答文生成モデルM1は、入力された文字情報に対する応答文を出力する。例えば、応答文生成モデルM1は、発話文に対応する語彙IDシーケンスの入力に対して、応答文に対応する語彙IDシーケンスを出力する。なお、応答文生成モデルM1は、発話文に対応する文字列の入力に対して、応答文に対応する文字列を出力するモデルであってもよい。
 次に、図11を用いて、応答文生成モデルの生成処理の一例について説明する。図11は、応答文生成モデルの生成処理の一例を示すフローチャートである。
 図11に示すように、対話装置100は、任意の発話文テキストを選択する(ステップS301)。対話装置100は、選択した発話文テキストを、語彙辞書を基に分かち書きにする(ステップS302)。対話装置100は、選択した発話文テキストの各語彙を語彙IDに変換する(ステップS303)。
 また、対話装置100は、任意の応答文テキストを選択する(ステップS304)。対話装置100は、選択した応答文テキストを、語彙辞書を基に分かち書きにする(ステップS305)。対話装置100は、選択した応答文テキストの各語彙を語彙IDに変換する(ステップS306)。
 対話装置100は、全データを語彙IDに変換していない場合(ステップS307:No)、ステップS301に戻って処理を繰り返す。
 対話装置100は、語彙ID変換後の発話文テキストと応答文テキストのペアの所定割合を用いて学習を行う(ステップS308)。
 対話装置100は、学習したモデルパラメータについて、残りのペアを検証用データとして用いて、損失関数を通して損失を算出する(ステップS309)。
 対話装置100は、損失が最小ではない場合(ステップS310:No)、誤差伝搬法を用いてモデルパラメータを更新し(ステップS311)、ステップS308に戻る。
 対話装置100は、損失が最小である場合(ステップS310:Yes)、モデルパラメータを学習済みモデルとして保存し(ステップS312)、処理を終了する。
[1-6.ユーザへの応答時の処理例]
 次に、ユーザへの応答時の処理例について説明する。まず、図12を用いて応答文生成モデルを用いた応答文の生成の概要を説明する。図12は、応答文生成モデルを用いた応答の生成の一例を示す図である。
 図12では、対話装置100は、データDT11に示す発話文が分かち書きされたデータDT12を生成する(ステップS41)。
 対話装置100は、データDT12に示す各語彙を、語彙辞書記憶部123の情報を用いて語彙IDに変換したデータDT13を生成する(ステップS42)。
 対話装置100は、応答文生成モデルM1をモデル情報記憶部122から取得する(ステップS43)。対話装置100は、データDT13を応答文生成モデルM1に入力することにより、語彙IDシーケンスであるデータDT23を生成する(ステップS44、S45)。
 対話装置100は、データDT23に示す各語彙IDを、語彙辞書記憶部123の情報を用いて語彙(文字列)に変換したデータDT22を生成する(ステップS46)。対話装置100は、分かち書きされたデータDT22を繋げることにより、応答文であるデータDT21を生成する(ステップS47)。
 図12の処理の具体例としては、対話装置100は、発話文をクレンジングして語彙IDに変換したシーケンスを応答文生成モデルM1に入力し、学習結果に基づきもっともらしい応答文の語彙IDシーケンスを返生成する。対話装置100は、応答文生成モデルM1が出力した語彙IDシーケンスをサブワードに変換し、分かち書き文を結合して最終的な応答文を生成する。
 次に、図13を用いて、ユーザへの応答時の処理の一例について説明する。図13は、ユーザへの応答時の処理の一例を示すフローチャートである。
 図13に示すように、対話装置100は、任意の発話文章を分かち書きし、語彙IDに変換する(ステップS401)。対話装置100は、語彙IDのシーケンスに変換する(ステップS402)。対話装置100は、語彙IDのシーケンスを学習済みモデルに渡し、応答文章を生成する(ステップS403)。例えば、対話装置100は、語彙IDのシーケンス(語彙IDシーケンス)を応答文生成モデルM1に入力し、応答文章を生成する。
 対話装置100は、生成した応答文章を文章ベクトルに変換する(ステップS404)。対話装置100は、文章ベクトル化された応答レポジトリから応答文章の文章ベクトルに最も近い文章を検索する(ステップS405)。例えば、対話装置100は、応答文候補リスト(応答レポジトリ)のうち、生成した応答文章(第1応答文)に最も類似する文章を第2応答文として選択する。
[1-7.データ及び処理の具体例]
 次に、図14~図17を用いてデータ及び処理の具体例について説明する。
 まず、図14を用いて、応答文生成モデルの生成に用いる学習データや応答文生成モデルにより生成される応答文の一例を示す。図14は、応答文生成モデルの学習及び推論のデータの一例を示す図である。
 図14中の学習データLT11は、応答文生成モデルM1の生成に用いる学習データである対話コーパスCP1の一例を示す。図14中の学習データLT11は、例えば、図10に示す学習処理で用いる学習用の発話文・応答文のデータサンプルである。
 また、図14中の生成データLT12は、応答文生成モデルM1に入力した入力情報(発話文)と、応答文生成モデルM1が出力した応答文とのペアの一例を示す。図14中の学習データLT12は、例えば、図12に示す推論処理での発話文・応答文のデータサンプルである。
 次に、図15を用いて、文章ベクトルの生成の一例を示す。図15は、文章ベクトルの生成の一例を示す図である。
 図15中の学習データLT21は、発話文とその発話文のベクトルとのペアの一例を示す。また、図15中の生成データLT22は、応答文とその発話文のベクトルとのペアの一例を示す。例えば、対話装置100は、図15中の入力情報IN21をベクトル変換モデルM2に入力することにより、入力情報IN21に対応するベクトルOT21を生成する。
 図15では、応答文生成モデルM1で生成された第1応答文と、特定ドメインの応答文候補リストの各応答文の近さを推定する例として、各文章が大規模日本語コーパスなどで学習したエンコーダであるベクトル変換モデルM2を用いて文章ベクトル化される。そして、対話装置100は、それぞれのベクトル間のコサイン類似度をもとに文章間の距離の近さを算出する。例えば、ベクトル変換モデルM2は、BERT(のエンコーダ)であってもよい。
 次に、図16を用いて、第2応答文の選択の一例を示す。図16は、応答選択のデータの一例を示す図である。
 図16中の選択データLT31は、応答文生成モデルM1が生成した第1応答文と、その第1応答文を基に選択された第2応答文とのペアの一例を示す。図16は、検索ベースの処理における入力文(応答文)と出力文(類似する応答リポジトリ内の任意の応答文)の例である。
 次に、図17を用いて、ユーザへの応答処理のデータの一例を示す。図17は、ユーザへの応答処理のデータの一例を示す図である。
 図17中の生成データLT41は、第1段落PH1で用いる応答文生成モデルM1の生成に用いられた学習データを示す。また、図17中の応答文リストLT42は、第2段落PH2で用いる応答文リストを示す。まず、対話装置100は、第1段落PH1の生成ベースのモデル(応答文生成モデルM1)を用いて、与えられた入力文(ユーザの発話文)に対する第1応答文を生成する。そして、対話装置100は、生成した第1応答文に対して、第2段落PH2の検索ベースで特定ドメイン・キャラクタの応答文リポジトリから第2応答文を選択して、ユーザへの応答に用いる。
[2.第2の実施形態]
 なお、応答文生成モデルが生成する応答文や応答文候補リスト中の応答文には、特定の文字列に変換するコマンドが実行される変換文字列である汎化タグが含まれてもよい。この点の処理について、図18~図23を用いて説明する。なお、第1の実施形態と同様の点については、適宜説明を省略する。
[2-1.第2の実施形態に係る対話処理の概要]
 図18は、本開示の第2の実施形態に係る対話処理の一例を示す図である。第2の実施形態に係る対話処理は、図19に示す対話装置100Aやユーザ端末10を含む対話システム1によって実現される。第2の実施形態に係る対話システム1は、対話装置100に替えて対話装置100Aを有する点で、第1の実施形態に係る対話システム1と相違する。
 まず、ユーザU1の発話による入力情報IN51に対する応答を示すステップS51~S57の説明に先立って、その応答に用いる情報の生成について説明する。
 対話装置100Aは、応答文を生成する生成モデルである応答文生成モデルM11を、対話コーパスCP51を用いて生成する(ステップPS51)。対話コーパスCP51には、後述する汎化タグを含む応答文が含まれる。対話装置100Aは、発話文SP11と応答文T11とのペアや発話文SP12と応答文T12とのペア等の複数のペアを用いて応答文生成モデルM11を生成する。これにより、対話装置100Aは、汎化タグを含む応答文を出力可能な応答文生成モデルM11を生成する。
 対話装置100Aは、応答文R11、応答文R12、応答文R13等の複数の応答文を含む応答文候補リストである応答レポジトリRP51を取得する(ステップPS61)。対話装置100Aは、応答レポジトリRP51中の各応答文をベクトルに変換する(ステップPS62、PS63)。対話装置100Aは、文をベクトルに変換するモデルであるベクトル変換モデルM12を用いて、応答文R11、応答文R12、応答文R13等をベクトルに変換する。対話装置100Aは、応答文R11、応答文R12、応答文R13等の各々をベクトル変換モデルM12に入力し、ベクトル変換モデルM12に応答文R11、応答文R12、応答文R13等の各々に対応するベクトルを出力させる。ベクトル変換モデルM12は、汎化タグもベクトル化可能なベクトル変換モデルである。これにより、対話装置100Aは、汎化タグを含む文であってもベクトル化することができる。
 対話装置100Aは、応答文R11をベクトル変換モデルM12に入力することにより、応答文R11に対応するベクトルである候補ベクトルCV51を生成する。また、対話装置100Aは、応答文R12をベクトル変換モデルM12に入力することにより、応答文R12に対応する候補ベクトルCV52を生成し、応答文R13をベクトル変換モデルM12に入力することにより、応答文R13に対応する候補ベクトルCV53を生成する。なお、ステップPS62、PS63は、ステップS56よりも前であれば、いずれのタイミングで行われてもよい。
 ここから、ユーザU1の発話による入力情報IN51に対する応答の処理について説明する。ユーザU1の名字は「ヤマダ」であるものとする。
 まず、図18の例では、ユーザ端末10を利用するユーザU1が「YYYYY」と発話する。なお、「YYYYY」は、「何かいいことない」や「俺のことどう思う」等の具体的な内容を含む発話であるものとする。ユーザ端末10は、ユーザU1の「YYYYY」という発話を検知し、自動音声認識の機能により文字情報「YYYYY」を入力情報IN51として受け付ける。そして、ユーザ端末10は、入力情報IN51を対話装置100Aへ送信する。これにより、対話装置100Aは、ユーザ端末10から入力情報IN51を取得する(ステップS51)。
 対話装置100Aは、入力情報IN51を応答文生成モデルM11に入力し、ユーザU1の入力に対応する応答文である第1応答文FR51を生成する(ステップS52)。
 対話装置100Aは、第1応答文FR51をベクトルに変換する(ステップS53、S4)。対話装置100Aは、第1応答文FR51をベクトル変換モデルM12に入力することにより、第1応答文FR51に対応するベクトルである対象ベクトルTV51を生成する。
 対話装置100Aは、第1応答文FR51の対象ベクトルTV51と、応答レポジトリRP51の候補ベクトルCV51、CV52、CV53等の各々とを比較する(ステップS55)。
 対話装置100Aは、第1応答文FR51の対象ベクトルTV51に最も近い(類似する)候補ベクトルの応答文を、ユーザへの応答に用いる第2応答文SR51として選択する(ステップS56)。対話装置100Aは、第1応答文FR51の対象ベクトルTV51に最も類似する候補ベクトルCV51の応答文R11を、ユーザへの応答に用いる第2応答文SR51として選択する。
 ここで、応答文R11は、「<uds0001>にはついていけなくなるっちゃ」といった特定の文字列に変換するコマンドが実行される変換文字列である汎化タグ「<uds0001>」を含む応答文である。対話装置100Aは、汎化タグ「<uds0001>」を他の文字列に変換する(ステップS57)。
 対話装置100Aは、汎化タグ記憶部124に記憶された汎化タグ「<uds0001>」のコマンド(変換内容)を基に汎化タグ「<uds0001>」を他の文字列に変換する。汎化タグ「<uds0001>」のコマンド(変換内容)が「ユーザ名」であるため、対話装置100Aは、ユーザ情報記憶部125からユーザU1の名字が「ヤマダ」であることを示す情報と取得し、汎化タグ「<uds0001>」をユーザU1の名字「ヤマダ」に変換する。これにより、対話装置100Aは、汎化タグ「<uds0001>」を含む第2応答文SR51から、汎化タグ「<uds0001>」がユーザU1の名字「ヤマダ」に変換され、汎化タグを含まない第2応答文SR52を生成する。具体的には、対話装置100Aは、「ヤマダにはついていけなくなるっちゃ」という第2応答文SR52(応答文R11d)を生成する。
 そして、対話装置100Aは、第2応答文SR52をユーザ端末10へ送信し、ユーザ端末10は、第2応答文SR52をユーザU1に対して出力する。
 上述したように、対話装置100Aは、選択した第2応答文に汎化タグが含まれる場合、その汎化タグの内容に応じて汎化タグを他の文字列に変換することで、応答の状況に応じた柔軟な応答文の生成を行うことができる。
 なお、汎化タグは、ユーザに関する内容に限らず、種々の内容に変換されてもよい。例えば、汎化タグは、汎化タグ「<uds0002>」のように、ユーザへの応答時の気象や日時等のコンテキストに応じて変換されてもよい。ここでいうコンテキストとは、ユーザが置かれた環境等を含む概念であってもよい。汎化タグ「<uds0002>」の場合、対話装置100Aは、汎化タグ「<uds0002>」を天気の話の内容の文字列に変換する。例えば、対話装置100Aは、ユーザのへの応答時に天気予報の情報を取得し、「ちなみに今日の天気は晴れだけど」や「明日は雨みたい」等の文字列に汎化タグ「<uds0002>」を変換してもよい。
[2-2.第2の実施形態に係る対話装置の構成]
 次に、第2の実施形態に係る対話装置の構成について説明する。図19は、第2の実施形態に係る対話装置の構成例を示す図である。図19に示すように、対話装置100Aは、通信部110と、記憶部120Aと、制御部130Aとを有する。
 記憶部120Aは、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。第2の実施形態に係る記憶部120Aは、図19に示すように、応答レポジトリ記憶部121Aと、モデル情報記憶部122Aと、語彙辞書記憶部123Aと、汎化タグ記憶部124と、ユーザ情報記憶部125とを有する。
 第2の実施形態に係る応答レポジトリ記憶部121Aは、応答レポジトリに関する各種情報を記憶する。応答レポジトリ記憶部121Aは、汎化応答文を含む応答文のリスト(応答文候補リスト)を記憶する。図20は、第2の実施形態に係る応答レポジトリ記憶部の一例を示す図である。図20に示す応答レポジトリ記憶部121Aには、「応答文」といった項目が含まれる。
 「応答文」は、ユーザへの応答に用いられる応答文を示す。図20の例では、応答文として、応答文R11、応答文R12、応答文R13等の複数の応答文が記憶される。なお、応答文R11、応答文R12、応答文R13等のように抽象的に示すが、応答文R11、応答文R12、応答文R13等は、具体的な応答文となる文字列である。例えば、応答文R11は、括弧書きで示すように「<uds0001>にはついていけなくなるっちゃ」といった特定の文字列に変換するコマンドが実行される変換文字列である汎化タグ「<uds0001>」を含む応答文である。
 なお、応答レポジトリ記憶部121Aは、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、応答レポジトリ記憶部121Aは、応答文を識別するIDを各応答文に対応付けて記憶してもよい。
 第2の実施形態に係るモデル情報記憶部122Aは、モデルに関する情報を記憶する。例えば、モデル情報記憶部122Aは、ユーザへの応答の決定に用いるモデルを記憶する。図21は、第2の実施形態に係るモデル情報記憶部の一例を示す図である。図21に、第2の実施形態に係るモデル情報記憶部122Aの一例を示す。図21に示した例では、モデル情報記憶部122Aは、「モデルID」、「用途」、「モデルデータ」といった項目が含まれる。
 「モデルID」は、モデルを識別するための識別情報を示す。「用途」は、対応するモデルの用途を示す。「モデルデータ」は、モデルのデータを示す。図21では「モデルデータ」に「MDT11」といった概念的な情報が格納される例を示したが、実際には、モデルに含まれるネットワークに関する情報や関数等、そのモデルを構成する種々の情報が含まれる。
 図21に示す例では、モデルID「M11」により識別されるモデル(応答文生成モデルM11)は、用途が「応答文生成」であることを示す。また、応答文生成モデルM11のモデルデータは、モデルデータMDT11であることを示す。
 また、モデルID「M12」により識別されるモデル(ベクトル変換モデルM12)は、用途が「ベクトル変換モデル」であることを示す。また、ベクトル変換モデルM12のモデルデータは、モデルデータMDT12であることを示す。
 なお、モデル情報記憶部122Aは、上記に限らず、目的に応じて種々の情報を記憶してもよい。
 第2の実施形態に係る語彙辞書記憶部123Aは、特定の文字列に変換するコマンドが実行される汎化タグを含む語彙辞書を記憶する。図22は、第2の実施形態に係る語彙辞書記憶部の一例を示す図である。図22に示す語彙辞書記憶部123Aには、「語彙」、「語彙ID」といった項目が含まれる。
 「語彙」は、語彙辞書に含まれる各語彙(文字列)を示す。「語彙ID」は、各語彙に対応する識別情報(ID)を示す。
 図22の例では、語彙「ですね」の語彙IDは「-14」であることを示す。また、変換文字列である語彙「<uds0001>」の語彙IDは「-10001」であることを示す。
 なお、語彙辞書記憶部123Aは、上記に限らず、目的に応じて種々の情報を記憶してもよい。
 第2の実施形態に係る汎化タグ記憶部124は、変換文字列である汎化タグに関する各種情報を記憶する。図23は、第2の実施形態に係る汎化タグ記憶部の一例を示す図である。図23に示す汎化タグ記憶部124には、「汎化タグ」、「変換」といった項目が含まれる。
 「汎化タグ」は、特定の文字列に変換するコマンドが実行される汎化タグを示す。「変換」は、対応する汎化タグが変換される対象を示す。
 図23の例では、汎化タグ「<uds0001>」は、ユーザ名を示す文字列へ変換されることを示す。汎化タグ「<uds0002>」は、天気の話の内容の文字列へ変換されることを示す。
 なお、汎化タグ記憶部124は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
 第2の実施形態に係るユーザ情報記憶部125は、ユーザに関する各種情報を記憶する。ユーザ情報記憶部125は、各ユーザの属性情報等の種々の情報を記憶する。ユーザ情報記憶部125は、ユーザID、年齢、性別、居住地といったユーザに関する情報を記憶する。例えば、ユーザ情報記憶部125は、各ユーザが利用するユーザ端末10を識別する情報(端末ID等)をユーザに対応付けて記憶する。ユーザ情報記憶部125は、ユーザの氏名をユーザ情報として記憶する。
 なお、ユーザ情報記憶部125は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ユーザ情報記憶部125は、年齢や性別等のデモグラフィック属性情報や、興味・関心等のサイコグラフィック属性情報を記憶してもよい。
 図19に戻り、説明を続ける。制御部130Aは、例えば、CPUやGPU等によって、対話装置100A内部に記憶されたプログラム(例えば、本開示に係る対話プログラム等)がRAM等を作業領域として実行されることにより実現される。また、制御部130Aは、コントローラ(controller)であり、例えば、ASICやFPGA等の集積回路により実現される。
 図19に示すように、制御部130Aは、入力部131と、学習部132と、対話制御部133Aと、応答文選択部134Aとを有し、以下に説明する対話処理の機能や作用を実現または実行する。なお、制御部130Aの内部構成は、図19に示した構成に限られず、後述する対話処理を行う構成であれば他の構成であってもよい。
 学習部132は、学習処理を行う。学習部132は、各種学習を行う。学習部132は、モデルを学習(生成)する。学習部132は、モデル等の各種情報を学習する。学習部132は、種々の機械学習に関する技術を用いて、ネットワークのパラメータを学習する。
 学習部132は、対話コーパスCP51を用いて応答文生成モデルM11を生成する。例えば、学習部132は、発話文SP11が入力された場合に、応答文T11を出力するように応答文生成モデルM11を生成する。また、学習部132は、発話文SP12が入力された場合に、応答文T12を出力するように応答文生成モデルM11を生成する。なお、応答文生成モデルM11を外部装置から取得する場合、対話装置100Aは、学習部132を有しなくてもよい。また、対話装置100Aは、ベクトル変換モデルM12を学習部132により生成してもよいし、外部装置から取得してもよい。
 対話制御部133Aは、対話に関する各種制御を行う制御手段として機能する。なお、対話制御部133Aについて、対話制御部133と同様の点は説明を省略する。対話制御部133Aは、応答文生成モデルM11を用いて応答文を生成する。
 対話制御部133Aは、ユーザにより入力された入力情報に対する第1応答文を、応答文生成モデルM11を用いて生成する。対話制御部133Aは、変換用文字列を含む応答文を生成する生成モデルを用いて、入力情報に対する第1応答文を生成する。例えば、対話制御部133Aは、応答文生成モデルM11を用いて、汎化タグ「<uds0001>」や汎化タグ「<uds0002>」を含む第1応答文を生成する。
 応答文選択部134Aは、第2応答文を選択する。なお、応答文選択部134Aについて、応答文選択部134と同様の点は説明を省略する。応答文選択部134Aは、ベクトル変換モデルM12を用いて第1応答文が変換された対象ベクトルと、複数の応答文の各々がベクトル変換モデルM12を用いて変換された複数のベクトルとの比較に基づいて、第2応答文を選択する。応答文選択部134Aは、ユーザへの応答に用いられる場合に、他の文字列に変換される変換用文字列を有する汎化応答文を含む応答文候補リストを用いて、第2応答文を選択する。
 応答文選択部134Aは、ユーザに応じて他の文字列に変換される変換用文字列を有する汎化応答文を含む応答文候補リストを用いて、第2応答文を選択する。応答文選択部134Aは、ユーザのユーザ情報に基づく文字列に変換される変換用文字列を有する汎化応答文を含む応答文候補リストを用いて、第2応答文を選択する。応答文選択部134Aは、ユーザの名称に変換される変換用文字列を有する汎化応答文を含む応答文候補リストを用いて、第2応答文を選択する。
 応答文選択部134Aは、ユーザへの応答時のコンテキストに応じて、他の文字列に変換される変換用文字列を有する汎化応答文を含む応答文候補リストを用いて、第2応答文を選択する。応答文選択部134Aは、ユーザへの応答時の気象情報に応じて、他の文字列に変換される変換用文字列を有する汎化応答文を含む応答文候補リストを用いて、第2応答文を選択する。
 応答文選択部134Aは、応答文候補リストから、汎化応答文を第2応答文として選択した場合、第2応答文に含まれる変換用文字列を他の文字列に変換する。応答文選択部134Aは、第2応答文に含まれる変換用文字列の内容に基づいて、変換用文字列を他の文字列に変換する。
[3.その他の実施形態]
 上述した実施形態や変形例に係る処理は、上記実施形態や変形例以外にも種々の異なる形態(変形例)にて実施されてよい。
[3-1.対話レポジトリの例]
 例えば、応答文候補リストには、応答文のみに限らず、その応答文に対応する発話文が含まれてもよい。すなわち、対話装置100は、応答文と発話文とのペア(組合せ)を含む対話レポジトリを用いて、対話レポジトリ中の応答文を第2応答文として選択してもよい。この場合、対話装置100は、ユーザの発話文により生成した第1応答文とその発話文とのペア(対象ペア)を用いて、応答文候補リストを検索し、応答文候補リスト中の発話文と応答文とのペア(候補ペア)のうち、対象ペアに類似する候補ペアの応答文を、第2応答文として選択してもよい。例えば、対話装置100は、ユーザの発話文により生成した第1応答文とその発話文との対象ペアをベクトルと、応答文候補リスト中の各候補ペアのベクトルとを比較し、対象ペアのベクトルに最も類似するベクトルの候補ペアの応答文を、第2応答文として選択してもよい。これにより、対話装置100は、対話のコンテキストに応じて適切な応答文を第2応答文として選択することができる。
[3-2.その他の構成例]
 なお、上記の例では、ユーザが利用するユーザ端末10と、ユーザへの応答を選択する対話装置100、100Aとが別体である場合を示したが、ユーザ端末10と、対話装置100、100Aとは一体であってもよい。例えば、ユーザが利用するユーザ端末10は、ユーザの発話などの入力に応じて、ユーザへの応答を選択する機能を有する対話装置であってもよい。この場合、ユーザ端末10は、対話装置100、100Aの制御部130、130Aや記憶部120、120Aに示した各種構成を有する。応答を音声で出力する場合、例えば、ユーザ端末10のスピーカー等の音声出力部が第2応答文をユーザに対する対話の応答として出力する制御手段として機能する。また、応答を表示する場合、例えば、ユーザ端末10のディスプレイ等の表示部が第2応答文をユーザに対する対話の応答として出力する制御手段として機能する。
[3-3.その他]
 また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
 また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
 また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
[4.本開示に係る効果]
 上述のように、本開示に係る対話装置(実施形態では対話装置100、100A)は、ユーザ又は他の装置との対話を行う対話装置において、対話装置を制御する制御手段(実施形態では対話制御部133、133A)と、入力情報に対する第1応答文を生成する応答文生成モデル(実施形態では応答文生成モデルM1、M11)と、応答文生成モデルにより生成された複数の第1応答文から構成される応答文候補リストと、応答文候補リストから出力する第2応答文を選択する応答文選択部(実施形態では応答文選択部134、134A)とを備え、制御手段は、応答文選択部により選択された第2応答文をユーザ又は他の装置に対する対話の応答として出力する。
 これにより、本開示に係る対話装置は、生成モデルで生成した応答文を基に、応答文候補リストからユーザへの応答に実際に用いる応答文を選択することで、ユーザに対して応答される応答文を応答文候補リスト中の内容に限定することができる。このように、対話装置は、出力が不確定だが柔軟性のある応答を生成し、その応答を基に予め用意した例えば不適切な内容が含まれないリストから実際にユーザへの応答を選択する、すなわち2段階でユーザへの応答を決定する。したがって、対話装置は、ユーザへの応答の柔軟性の低下を抑制し、ユーザへの応答を管理容易にすることができる。すなわち、対話装置は、ユーザへの応答の柔軟性の低下を抑制するとともにユーザへの応答を管理容易にすることができ、ユーザへの応答の柔軟性とユーザへの応答を管理容易性との両方を満たす応答文生成を可能にすることができる。
 また、応答文生成モデルは、ニューラルネットワークから構成された学習済み応答文生成モデルである。これにより、対話装置は、ニューラルネットワークから構成された応答文生成モデルを用いることで、多様な第1応答文を生成することができる。
 また、学習済み応答文生成モデルは、他のソーシャルネットワークサービスから取得した教師データに基づいて学習された。これにより、対話装置は、他のソーシャルネットワークサービスでのユーザの対話(コミュニケーション)等の内容を反映した第1応答文を生成することができる。
 また、応答文選択部は、所定の基準に基づいて、第2応答文を選択する。これにより、対話装置は、所定の基準に基づいて、第2応答文を選択することで、基準を基に適切な第2応答文を選択することができる。
 また、所定の基準は、倫理に関連する基準、差別に関する基準、対話装置に関するキャラクタ設定基準、又は、確率に関する基準である。これにより、対話装置は、倫理、差別、キャラクタ、確率等の基準を基に、適切な第2応答文を選択することができる。
 また、応答文生成モデルは、ユーザの発話により入力された入力情報に対する第1応答文を生成する。これにより、対話装置は、ユーザの発話に対して応答できる。
 また、応答文選択部は、応答文候補リストのうち、第1応答文に類似する応答文を第2応答文として選択する。これにより、対話装置は、応答文候補リストから類似する応答文を選択しユーザへ応答することができる。
 また、応答文候補リストは、文字列をベクトルに変換する変換モデル(実施形態ではベクトル変換モデルM2、M12)を用いて第1応答文が変換された対象ベクトルと、応答文候補リストの応答文の各々が変換モデルを用いて変換された複数のベクトルとの比較に基づいて、第2応答文を選択する。これにより、対話装置は、応答文間のベクトル比較を基にユーザへの応答を選択することができる。
 また、応答文候補リストは、ユーザへの応答に用いられる場合に、他の文字列に変換される変換用文字列を有する汎化応答文を含む。これにより、対話装置は、汎化応答文が第2応答文として選択された場合、応答時の状況に応じて変換用文字列を変換することで、適切な応答を行うことができる。
 また、汎化応答文は、ユーザに応じて、他の文字列に変換される変換用文字列を有する。これにより、対話装置は、汎化応答文が第2応答文として選択された場合、変換用文字列を変換することで、応答の状況に応じて適切な応答を行うことができる。
 また、汎化応答文は、ユーザのユーザ情報に基づく文字列に変換される変換用文字列を有する。これにより、対話装置は、汎化応答文が第2応答文として選択された場合、ユーザ情報に基づいて変換用文字列を変換することで、ユーザに応じて適切な応答を行うことができる。
 また、汎化応答文は、ユーザの名称に変換される変換用文字列を有する。これにより、対話装置は、汎化応答文が第2応答文として選択された場合、変換用文字列をユーザの名称に変換することで、ユーザに応じて適切な応答を行うことができる。
 また、汎化応答文は、ユーザへの応答時のコンテキストに応じて、他の文字列に変換される変換用文字列を有する。これにより、対話装置は、汎化応答文が第2応答文として選択された場合、ユーザへの応答時のコンテキストに応じて変換用文字列を変換することで、応答時の状況に応じて適切な応答を行うことができる。
 また、汎化応答文は、ユーザへの応答時の気象情報に応じて、他の文字列に変換される変換用文字列を有する。これにより、対話装置は、汎化応答文が第2応答文として選択された場合、ユーザへの応答時の天気予報などの気象情報に応じて変換用文字列を変換することで、応答時の状況に応じて適切な応答を行うことができる。
 また、応答文生成モデルは、変換用文字列を含む応答文を生成する。これにより、対話装置は、応答文生成モデルで変換用文字列を含む応答が生成された場合、その応答を用いて汎化応答文を含む応答文候補リストを検索し、第2応答文を選択することで、適切に第2応答文を選択することができる。
 また、応答文選択部は、応答文候補リストから、汎化応答文を第2応答文として選択した場合、第2応答文に含まれる変換用文字列を他の文字列に変換する。これにより、対話装置は、汎化応答文を第2応答文として選択した場合であっても、適切にユーザへの応答を行うことができる。
 また、応答文選択部は、第2応答文に含まれる変換用文字列の内容に基づいて、変換用文字列を他の文字列に変換する。これにより、対話装置は、汎化応答文を第2応答文として選択した場合であっても、変換用文字列の内容を基に変換を行うことで、適切にユーザへの応答を行うことができる。
[5.ハードウェア構成]
 上述してきた各実施形態や変形例に係る対話装置100、100Aやユーザ端末10等の情報機器は、例えば図24に示すような構成のコンピュータ1000によって実現される。図24は、情報機器の機能を実現するコンピュータの一例を示すハードウェア構成図である。以下、第1の実施形態に係る対話装置100を例に挙げて説明する。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
 CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
 ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
 HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る対話プログラムを記録する記録媒体である。
 通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
 入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
 例えば、コンピュータ1000が第1の実施形態に係る対話装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされた対話プログラムを実行することにより、制御部130等の機能を実現する。また、HDD1400には、本開示に係る対話プログラムや、記憶部120内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
 なお、本技術は以下のような構成も取ることができる。
(1)
 ユーザ又は他の装置との対話を行う対話装置において、
 前記対話装置を制御する制御手段と、
 入力情報に対する第1応答文を生成する応答文生成モデルと、
 前記応答文生成モデルにより生成された複数の第1応答文から構成される応答文候補リストと、
 前記応答文候補リストから出力する第2応答文を選択する応答文選択部とを備え、
 前記制御手段は、前記応答文選択部により選択された第2応答文をユーザ又は他の装置に対する対話の応答として出力することを特徴とする対話装置。
(2)
 前記応答文生成モデルは、ニューラルネットワークから構成された学習済み応答文生成モデルであることを特徴とする(1)に記載の対話装置。
(3)
 前記学習済み応答文生成モデルは、他のソーシャルネットワークサービスから取得した教師データに基づいて学習されたことを特徴とする(2)に記載の対話装置。
(4)
 前記応答文選択部は、所定の基準に基づいて、第2応答文を選択することを特徴とすることを特徴とする(1)~(3)のいずれか1つに記載の対話装置。
(5)
 前記所定の基準は、倫理に関連する基準、差別に関する基準、対話装置に関するキャラクタ設定基準、又は、確率に関する基準であることを特徴とする(4)に記載の対話装置。
(6)
 前記応答文生成モデルは、
 前記ユーザの発話により入力された前記入力情報に対する前記第1応答文を生成する
 (1)~(5)のいずれか1つに記載の対話装置。
(7)
 前記応答文選択部は、
 前記応答文候補リストのうち、前記第1応答文に類似する応答文を前記第2応答文として選択する
 (1)~(6)のいずれか1つに記載の対話装置。
(8)
 前記応答文選択部は、
 文字列をベクトルに変換する変換モデルを用いて前記第1応答文が変換された対象ベクトルと、前記応答文候補リスト中の応答文の各々が前記変換モデルを用いて変換された複数のベクトルとの比較に基づいて、前記第2応答文を選択する
 (7)に記載の対話装置。
(9)
 前記応答文候補リストは、
 前記ユーザへの応答に用いられる場合に、他の文字列に変換される変換用文字列を有する汎化応答文を含む
 (1)~(8)のいずれか1つに記載の対話装置。
(10)
 前記汎化応答文は、
 前記ユーザに応じて、他の文字列に変換される前記変換用文字列を有する
 (9)に記載の対話装置。
(11)
 前記汎化応答文は、
 前記ユーザのユーザ情報に基づく文字列に変換される前記変換用文字列を有する
 (10)に記載の対話装置。
(12)
 前記汎化応答文は、
 前記ユーザの名称に変換される前記変換用文字列を有する
 (10)または(11)に記載の対話装置。
(13)
 前記汎化応答文は、
 前記ユーザへの応答時のコンテキストに応じて、他の文字列に変換される前記変換用文字列を有する
 (9)~(12)のいずれか1つに記載の対話装置。
(14)
 前記汎化応答文は、
 前記ユーザへの応答時の気象情報に応じて、他の文字列に変換される前記変換用文字列を有する
 (13)に記載の対話装置。
(15)
 前記応答文生成モデルは、
 前記変換用文字列を含む応答を生成する
 (9)~(14)のいずれか1つに記載の対話装置。
(16)
 前記応答文選択部は、
 前記応答文候補リストから、前記汎化応答文を前記第2応答文として選択した場合、前記第2応答文に含まれる前記変換用文字列を他の文字列に変換する
 (9)~(15)のいずれか1つに記載の対話装置。
(17)
 前記応答文選択部は、
 前記第2応答文に含まれる前記変換用文字列の内容に基づいて、前記変換用文字列を他の文字列に変換する
 (16)に記載の対話装置。
(18)
 ユーザ又は他の装置との対話を行う対話装置を制御し、
 入力情報に対する第1応答文を応答文生成モデルにより生成し、
 応答文生成モデルにより生成された複数の第1応答文から構成される応答文候補リストから出力する第2応答文を選択し、
 選択した第2応答文をユーザ又は他の装置に対する対話の応答として出力する、
 処理を実行する対話方法。
(19)
 ユーザ又は他の装置との対話を行う対話装置を制御し、
 入力情報に対する第1応答文を応答文生成モデルにより生成し、
 応答文生成モデルにより生成された複数の第1応答文から構成される応答文候補リストから出力する第2応答文を選択し、
 選択した第2応答文をユーザ又は他の装置に対する対話の応答として出力する、
 処理を実行させる対話プログラム。
 1 対話システム
 100、100A 対話装置
 110 通信部
 120、120A 記憶部
 121、121A 応答レポジトリ記憶部
 122、122A モデル情報記憶部
 123、123A 語彙辞書記憶部
 124 汎化タグ記憶部
 125 ユーザ情報記憶部
 130、130A 制御部
 131 入力部
 132 学習部
 133、133A 対話制御部(制御手段)
 134、134A 応答文選択部
 10 ユーザ端末

Claims (19)

  1.  ユーザ又は他の装置との対話を行う対話装置において、
     前記対話装置を制御する制御手段と、
     入力情報に対する第1応答文を生成する応答文生成モデルと、
     前記応答文生成モデルにより生成された複数の第1応答文から構成される応答文候補リストと、
     前記応答文候補リストから出力する第2応答文を選択する応答文選択部とを備え、
     前記制御手段は、前記応答文選択部により選択された第2応答文をユーザ又は他の装置に対する対話の応答として出力することを特徴とする対話装置。
  2.  前記応答文生成モデルは、ニューラルネットワークから構成された学習済み応答文生成モデルであることを特徴とする請求項1に記載の対話装置。
  3.  前記学習済み応答文生成モデルは、他のソーシャルネットワークサービスから取得した教師データに基づいて学習されたことを特徴とする請求項2に記載の対話装置。
  4.  前記応答文選択部は、所定の基準に基づいて、第2応答文を選択することを特徴とする請求項1に記載の対話装置。
  5.  前記所定の基準は、倫理に関連する基準、差別に関する基準、対話装置に関するキャラクタ設定基準、又は、確率に関する基準であることを特徴とする請求項4に記載の対話装置。
  6.  前記応答文生成モデルは、
     前記ユーザの発話により入力された前記入力情報に対する前記第1応答文を生成する
     請求項1に記載の対話装置。
  7.  前記応答文選択部は、
     前記応答文候補リストのうち、前記第1応答文に類似する応答文を前記第2応答文として選択する
     請求項1に記載の対話装置。
  8.  前記応答文候補リストは、
     文字列をベクトルに変換する変換モデルを用いて前記第1応答文が変換された対象ベクトルと、前記応答文候補リスト中の応答文の各々が前記変換モデルを用いて変換された複数のベクトルとの比較に基づいて、前記第2応答文を選択する
     請求項7に記載の対話装置。
  9.  前記応答文候補リストは、
     前記ユーザへの応答に用いられる場合に、他の文字列に変換される変換用文字列を有する汎化応答文を含む
     請求項1に記載の対話装置。
  10.  前記汎化応答文は、
     前記ユーザに応じて、他の文字列に変換される前記変換用文字列を有する
     請求項9に記載の対話装置。
  11.  前記汎化応答文は、
     前記ユーザのユーザ情報に基づく文字列に変換される前記変換用文字列を有する
     請求項10に記載の対話装置。
  12.  前記汎化応答文は、
     前記ユーザの名称に変換される前記変換用文字列を有する
     請求項10に記載の対話装置。
  13.  前記汎化応答文は、
     前記ユーザへの応答時のコンテキストに応じて、他の文字列に変換される前記変換用文字列を有する
     請求項9に記載の対話装置。
  14.  前記汎化応答文は、
     前記ユーザへの応答時の気象情報に応じて、他の文字列に変換される前記変換用文字列を有する
     請求項13に記載の対話装置。
  15.  前記応答文生成モデルは、
     前記変換用文字列を含む応答を生成する
     請求項9に記載の対話装置。
  16.  前記応答文選択部は、
     前記応答文候補リストから、前記汎化応答文を前記第2応答文として選択した場合、前記第2応答文に含まれる前記変換用文字列を他の文字列に変換する
     請求項9に記載の対話装置。
  17.  前記応答文選択部は、
     前記第2応答文に含まれる前記変換用文字列の内容に基づいて、前記変換用文字列を他の文字列に変換する
     請求項16に記載の対話装置。
  18.  ユーザ又は他の装置との対話を行う対話装置を制御し、
     入力情報に対する第1応答文を応答文生成モデルにより生成し、
     応答文生成モデルにより生成された複数の第1応答文から構成される応答文候補リストから出力する第2応答文を選択し、
     選択した第2応答文をユーザ又は他の装置に対する対話の応答として出力する、
     処理を実行する対話方法。
  19.  ユーザ又は他の装置との対話を行う対話装置を制御し、
     入力情報に対する第1応答文を応答文生成モデルにより生成し、
     応答文生成モデルにより生成された複数の第1応答文から構成される応答文候補リストから出力する第2応答文を選択し、
     選択した第2応答文をユーザ又は他の装置に対する対話の応答として出力する、
     処理を実行させる対話プログラム。
PCT/JP2021/022900 2020-06-30 2021-06-16 対話装置、対話方法及び対話プログラム WO2022004392A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020113402 2020-06-30
JP2020-113402 2020-06-30

Publications (1)

Publication Number Publication Date
WO2022004392A1 true WO2022004392A1 (ja) 2022-01-06

Family

ID=79316087

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/022900 WO2022004392A1 (ja) 2020-06-30 2021-06-16 対話装置、対話方法及び対話プログラム

Country Status (1)

Country Link
WO (1) WO2022004392A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981632A (ja) * 1995-09-13 1997-03-28 Toshiba Corp 情報公開装置
JP2014010449A (ja) * 2012-06-27 2014-01-20 Samsung Electronics Co Ltd ディスプレイ装置、ディスプレイ装置の制御方法および対話型システム
JP6205039B1 (ja) * 2016-09-16 2017-09-27 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981632A (ja) * 1995-09-13 1997-03-28 Toshiba Corp 情報公開装置
JP2014010449A (ja) * 2012-06-27 2014-01-20 Samsung Electronics Co Ltd ディスプレイ装置、ディスプレイ装置の制御方法および対話型システム
JP6205039B1 (ja) * 2016-09-16 2017-09-27 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム

Similar Documents

Publication Publication Date Title
US10776582B2 (en) Supporting combinations of intents in a conversation
JP7066349B2 (ja) 翻訳方法、翻訳装置及びコンピュータプログラム
US10909328B2 (en) Sentiment adapted communication
US11138212B2 (en) Natural language response recommendation clustering for rapid retrieval
US20190013011A1 (en) Machine learning dialect identification
US11164562B2 (en) Entity-level clarification in conversation services
US9672467B2 (en) Systems and methods for creating and implementing an artificially intelligent agent or system
US11749274B2 (en) Inference on date time constraint expressions
US10803850B2 (en) Voice generation with predetermined emotion type
US20240153489A1 (en) Data driven dialog management
US20200125967A1 (en) Electronic device and method for controlling the electronic device
US11928985B2 (en) Content pre-personalization using biometric data
JP6370962B1 (ja) 生成装置、生成方法および生成プログラム
US10019670B2 (en) Systems and methods for creating and implementing an artificially intelligent agent or system
US20220148576A1 (en) Electronic device and control method
US11132994B1 (en) Multi-domain dialog state tracking
US10600419B1 (en) System command processing
US20220351716A1 (en) System and method for a personalized dialogue system using knowledge-based entity services
CN115914148A (zh) 具有两侧建模的对话智能体
CN115017919A (zh) 用于支持训练数据快速构建和流程自定义的多场景对话系统及方法
JP7034027B2 (ja) 認識装置、認識方法及び認識プログラム
US20220253609A1 (en) Social Agent Personalized and Driven by User Intent
US11705110B2 (en) Electronic device and controlling the electronic device
WO2022004392A1 (ja) 対話装置、対話方法及び対話プログラム
US20220180865A1 (en) Runtime topic change analyses in spoken dialog contexts

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: 21831573

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21831573

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP