WO2024069978A1 - 生成装置、学習装置、生成方法、学習方法、及びプログラム - Google Patents

生成装置、学習装置、生成方法、学習方法、及びプログラム Download PDF

Info

Publication number
WO2024069978A1
WO2024069978A1 PCT/JP2022/036841 JP2022036841W WO2024069978A1 WO 2024069978 A1 WO2024069978 A1 WO 2024069978A1 JP 2022036841 W JP2022036841 W JP 2022036841W WO 2024069978 A1 WO2024069978 A1 WO 2024069978A1
Authority
WO
WIPO (PCT)
Prior art keywords
dialogue
content
conversion
utterance
learning
Prior art date
Application number
PCT/JP2022/036841
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 日本電信電話株式会社
Priority to PCT/JP2022/036841 priority Critical patent/WO2024069978A1/ja
Publication of WO2024069978A1 publication Critical patent/WO2024069978A1/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/30Semantic analysis
    • G06F40/35Discourse or dialogue representation

Definitions

  • the present invention relates to a technology for computers to generate utterances in dialogue.
  • Non-Patent Document 1 discloses a technology that uses graph data in which opinions are nodes to map user utterances to nodes, and then returns nodes that are connected to the mapped nodes as system utterances to the user to hold discussions.
  • the graph data is created manually based on a pre-set discussion theme (for example, "If you are going to live permanently, the city is better than the countryside"). Using the manually created discussion data makes it possible to hold discussions on specific topics.
  • Non-Patent Document 1 the utterance to be output is selected from a list of response candidates prepared in advance. Therefore, the output is not necessarily a fluent response that matches the context of the dialogue. In other words, the conventional technology was unable to output an appropriate utterance that matches the context of the dialogue.
  • the present invention has been made in consideration of the above points, and aims to provide a technology for outputting appropriate speech that matches the context of a conversation.
  • an extracting unit that extracts one or more content information pieces indicating the content of the specific information from the specific information;
  • a conversion unit that uses a conversion model to generate an utterance that is consistent with the content of the specific information and suitable for the dialogue context, from a dialogue context and the one or more pieces of content information.
  • the disclosed technology provides a technique for outputting appropriate speech that matches the context of the dialogue.
  • FIG. 1 is a diagram illustrating a configuration of a generating device 100.
  • 11 is a flowchart for explaining the operation of the generating device 100.
  • FIG. 2 is a diagram showing an example of a dialogue context.
  • FIG. 1 is a diagram illustrating an example of a scenario.
  • FIG. 2 is a diagram showing an example of a scenario that is input to the generating device 100.
  • FIG. 11 is a diagram showing an example of a program corresponding to an extraction unit 110.
  • FIG. 13 is a diagram illustrating an example of a content word list.
  • FIG. 13 is a diagram illustrating an example of an input to a transformation model.
  • FIG. 13 is a diagram illustrating an example of output from a transformation model.
  • FIG. 2 is a configuration diagram of a learning device 200.
  • FIG. 10 is a flowchart for explaining the operation of the learning device 200.
  • FIG. 13 is a diagram showing an example of dialogue data used to create conversion learning dialogue data.
  • FIG. 13 is a diagram showing an example of conversion learning dialogue data.
  • FIG. 13 is a diagram showing an example of conversion learning dialogue data.
  • FIG. 2 illustrates an example of a hardware configuration of the apparatus.
  • the generating device 100 and the learning device 200 in this embodiment can perform the operations described in the translated specification and drawings by making adjustments to match the other language as necessary.
  • the extraction unit 110 program shown in FIG. 6 described below is adjusted so that it can extract content words in the other language.
  • Non-Patent Document 1 the system selects the utterance to be output from among pre-prepared response candidates, and therefore it is not possible to output appropriate (fluent) utterances that match the context of the dialogue.
  • natural language on a specific topic is used as a dialogue scenario, and the scenario and an arbitrary dialogue context are input to the generating device 100, so that the generating device 100 outputs utterances that are consistent with the scenario and have sufficient fluency for the dialogue context.
  • dialogue data on the desired topic is collected.
  • This dialogue data is used to retrain a pre-trained conversion model (a model that takes dialogue context as input and outputs appropriate utterances that match the dialogue context).
  • a pre-trained conversion model a model that takes dialogue context as input and outputs appropriate utterances that match the dialogue context.
  • the content of the utterances included in the output is extracted in advance, and the dialogue context and that content are used as input to the conversion model, which is then trained to restore the original utterance.
  • the generation device 100 in the inference phase and the learning device 200 in the learning phase are separate devices
  • the generation device 100 and the learning device 200 may be configured as a single device.
  • the generation device 100 may include a learning unit 160, or the learning device 200 may perform inference (utterance generation) after learning.
  • Fig. 1 is a configuration diagram of a generating device 100 that generates utterances in the inference phase.
  • the generating device 100 includes an extracting unit 110, a converting unit 120, a conversion model DB (database) 130, an input unit 140, and an output unit 150.
  • the conversion model DB (database) 130 may be a DB external to the generating device 100.
  • the generating device 100 can generate a dialogue (a discussion in this example) through self-dialogue.
  • the self-dialogue here means that a system generates a dialogue by splitting into speaker A and speaker B and alternately speaking.
  • the operation of the generating device 100 will be outlined with reference to the flowchart in Figure 2.
  • a certain dialogue context and a scenario are input by the input unit 140.
  • the scenario is a sentence whose content corresponds to the next utterance following the last sentence (utterance) in the dialogue context.
  • the scenario is input to the extraction unit 110, which extracts content words from the scenario and outputs a content word list that is a list of content words.
  • the content words correspond to words that indicate the content of the utterance to be output by the generation device 100.
  • the conversion model DB 130 stores trained conversion models, and the conversion unit 120 reads out and holds the conversion models from the conversion model DB 130.
  • the conversion model is a neural network model, and the conversion model DB 130 stores trained parameters of the neural network as the conversion model. The method of training the conversion model will be described later.
  • the conversion unit 120 may also be considered as the conversion model.
  • the conversion unit 120 inputs the dialogue context and the content word list extracted from the scenario into the conversion model, and obtains an utterance (which may be called an utterance sentence) to be output from the conversion model.
  • the conversion unit 120 passes the utterance to the output unit 150, which outputs the utterance.
  • the output from the output unit 150 may be audio to be heard, or text to be seen.
  • the utterance that is output is an utterance that matches the dialogue context.
  • the utterance that is output corresponds to the input scenario that has been converted to match the dialogue context, it may be called the "converted scenario.”
  • "utterance that matches the dialogue context” may also be rephrased as "utterance that is consistent with the dialogue context” or "utterance that fluently follows the last sentence of the dialogue context,” etc.
  • the dialogue context is text that is input to the conversion unit 120 (conversion model).
  • the conversion model generates an utterance that follows the input dialogue context. If there is no dialogue context (i.e., when a null character is input), the conversion model generates the first utterance of the dialogue.
  • a content word list is input to the conversion model along with the dialogue context, but in the explanation of the dialogue context here, for convenience of explanation, only the dialogue context is used as an input to the conversion model.
  • the dialogue context input to the conversion model is not limited to the dialogue generated by the conversion model. Any sequence of utterances can be used as the dialogue context input to the conversion model. Also, a dialogue generated by the conversion model that includes any utterance can be used as the dialogue context input to the conversion model.
  • the dialogue context input to the conversion model may include a template utterance prepared manually (for example, an utterance indicating a response such as "uh-huh"), or may include an utterance generated by a dialogue system other than the generation device 100 according to this embodiment.
  • Figure 3 shows an example of a dialogue context. This example shows a dialogue between speaker A (in favor) and speaker B (against) discussing the merits of autonomous driving, and serves as input to a conversion model for generating three subsequent utterances. Each utterance in the dialogue context shown in Figure 3 is generated by the generation device 100.
  • a scenario is a text that is the source of utterances to be generated by the generation device 100, and is composed of one or more sentences (specifically, natural sentences).
  • a scenario may be created manually, or may be created automatically from a knowledge base used as an argument structure by utilizing the technology disclosed in Non-Patent Document 1.
  • a scenario created by the method disclosed in Non-Patent Document 1 (a method of tracing the argument structure from the root node and treating the visited nodes as a scenario) will be used as an example.
  • Figure 4 shows an example of a scenario.
  • This example is a scenario that corresponds to the dialogue context of Figure 3, and the dialogue of Figure 3 is generated using the first to third utterances of this scenario.
  • the generated dialogue context of Figure 3 and the utterance of the subsequent scenario are input to the generation device 100 to generate an utterance that follows the dialogue context.
  • the generated utterance is consistent with the content of the scenario and has fluency for the dialogue context.
  • FIG. 5 shows an example of a scenario that is actually used as an input to the generating device 100. Only the last utterance in a scenario (FIG. 4) consisting of multiple utterances is used as an input to the generating device 100. Note that only the last utterance may also be called a "scenario.”
  • FIG. 5 corresponds to the dialogue context shown in FIG. 3 and serves as an input to the generating device 100 for generating an utterance that fluently follows the dialogue context of FIG. 3 and represents the content of FIG. 5.
  • the extraction unit 110 receives a scenario (the final utterance described above) as input, extracts content words corresponding to the contents included in the scenario from the scenario, and outputs a content word list consisting of the extracted content words.
  • the extraction unit 110 first performs morphological analysis on the input scenario to obtain morphemes and their parts of speech information.
  • the extraction unit 110 has a morphological analyzer, which performs the morphological analysis. Any morphological analyzer can be used, for example, MeCab or richindexer.
  • the generating device 100 can be realized, for example, by a computer and a program.
  • the extraction unit 110 is realized by a program that runs on the computer, an example of the program is shown in FIG. 6.
  • a Python program is shown as an example.
  • the program shown in Figure 6 defines a function called is content word, which receives the morpheme string (form) and part of speech (pos) output by a morphological analyzer (e.g. richindexer) and returns whether it is a content word, and a function called is filtered, which determines which morpheme strings should be excluded as exceptions.
  • a morphological analyzer e.g. richindexer
  • the above two functions are applied to the morpheme string and part-of-speech string output by a morphological analyzer (e.g., richindexer), and morphemes determined to be content words are output as a content word list.
  • a morphological analyzer e.g., richindexer
  • the extraction unit 110 makes exceptions and includes in the content word list morphemes that are considered important in the discussion (e.g., "nai” (not), which expresses the negation of a proposition, "kata” (how), which expresses a comparison between two positions, and "nara” (if) which deals with a hypothetical proposition).
  • FIG. 7 shows a content word list extracted by the extraction unit 110 from the scenario in FIG. 5.
  • the content word list lists keywords that correspond to the content of the scenario.
  • the information in the content word list is used as reference information when the conversion model described below generates utterances.
  • the conversion model is a model that is trained (this may be called fine-tuning) with conversion training dialogue data described below, in comparison with a dialogue model that has been pre-trained with general dialogue data.
  • the pre-trained dialogue model As the pre-trained dialogue model, a model available online (for example, the Transformer Encoder-Decoder dialogue model published by the applicant) may be used. In this case, pre-training is not required, and the conversion model can be generated by fine-tuning using the conversion training dialogue data.
  • the conversion unit 120 holds a trained conversion model.
  • Figure 8 shows an example of input to the conversion model when generating an utterance.
  • a content word list extracted by the extraction unit 110 from the scenario "If a fatal defect occurs, the driver will not be able to solve the cause" is added to the dialogue context of Figure 3.
  • the input spans multiple lines, but in reality it is input as a single line of text without line breaks.
  • SPK1 represents speaker A
  • SPK2 represents speaker B
  • SEP represents a separator of the input (for example, something placed between utterances).
  • the conversion model generates fluent speech that matches the dialogue context and is in line with the contents of the scenario, based on the above input (information indicating the dialogue context and the contents of the scenario).
  • the conversion unit 120 outputs the utterance (converted scenario) generated by the conversion model via the output unit 150.
  • the utterance (converted scenario) is referred to as an output utterance.
  • Figure 9 shows an example of an output utterance generated from the input in Figure 8. This example corresponds to the utterance converted from the scenario shown in Figure 5: "When a fatal defect occurs, the driver is unable to resolve the cause.”
  • the example shown in Figure 9 is output as an utterance following the dialogue context shown in Figure 3, and compared to the original scenario, "When a fatal defect occurs, the driver is unable to resolve the cause," it has been modified to include expressions such as "but” and "you can't, can you?", making it a more fluent utterance.
  • the conversion model reads the keywords contained in the input, and by adding appropriate expressions between words while retaining the words necessary for fluent and content-based utterances, it is possible to generate the desired utterance, such as the example.
  • the scenario is a sentence, but the scenario is not limited to a sentence.
  • the scenario may be a video.
  • a specific image (or a specific video) in the video is input to the extraction unit 110, and the extraction unit 110 outputs content information (e.g., content words) indicating the content of the specific image (or specific video), and the content information is input to the conversion unit 120 together with the dialogue context.
  • content information e.g., content words
  • Fig. 10 is a configuration diagram of a learning device 200 that learns a conversion model in the learning phase.
  • the learning device 200 includes an extraction unit 110, a conversion unit 120, a conversion model DB 130, a learning unit 160, an input unit 170, an output unit 180, a conversion learning dialogue data DB 190, and a conversion learning dialogue data creation unit 195.
  • the conversion model DB 130 and the conversion learning dialogue data DB 190 may each be a DB external to the learning device 200.
  • the functions of the extraction unit 110, conversion unit 120, and conversion model DB 130 are the same as those described in the inference phase. However, in the learning phase, the conversion model (parameters) being learned are stored in the conversion model DB 130 until learning is completed. The conversion unit 120 holds the conversion model (parameters) read from the conversion model DB 130.
  • the general operation of the learning device 200 will be described with reference to the flowchart in FIG. 11.
  • a dialogue model that has been pre-trained using general dialogue data is stored in the conversion model DB 130 as a conversion model to be learned.
  • the extraction unit 110 and the conversion learning dialogue data creation unit 195 create conversion learning dialogue data from the dialogue data input from the input unit 170.
  • the created conversion learning dialogue data is stored in the conversion learning dialogue data DB 190.
  • Conversion learning dialogue data may be created manually, and the created conversion learning dialogue data may be stored in the conversion learning dialogue data DB 190.
  • the input dialogue data has an input portion and an output portion.
  • the output portion of the dialogue data is input to the extraction unit 110, and a content word list is generated.
  • the conversion learning dialogue data creation unit 195 creates an input portion in the conversion learning dialogue data by combining the input portion of the dialogue data with the content word list, and creates conversion learning dialogue data by pairing the input portion with the output portion of the dialogue data.
  • the input portion in the conversion learning dialogue data is input to the conversion unit 120, which then inputs the input portion into the conversion model to obtain an output from the conversion model.
  • the learning unit 160 updates the parameters of the conversion model so that the difference between the output from the conversion model and the output portion (correct answer) in the conversion learning dialogue data is minimized.
  • the learned conversion model is output from the output unit 180.
  • This conversion model is used, for example, as a conversion model in the generation device 100.
  • the above-mentioned conversion model is a fine-tuned model of the dialogue model mentioned above (e.g., the Transformer Encoder-Decoder dialogue model published by the applicant).
  • a dialogue model trained with general dialogue data cannot be used for the purpose of the generation device 100, and the input and output must be converted into a format that suits the learning framework.
  • a conversion model that has learned the desired input and output is created.
  • General conversation data is data used for pre-training a conversion model.
  • a dialogue system is constructed by learning the general flow of dialogue through pre-training using a large amount of dialogue data, and then fine-tuning using a small amount of dialogue data on a specific topic.
  • pre-trained dialogue models can be obtained online, so if such dialogue models are used, general dialogue data is not necessary.
  • you want to perform pre-training independently using general dialogue data you can crawl large-scale dialogue data such as SNS and use a learning framework such as Fairseq to construct a dialogue model.
  • a pre-trained dialogue model is used as the dialogue model that is the basis for the conversion model.
  • the conversion learning dialogue data is data created from dialogue data, and is learning data for learning a conversion model for generating utterances that fit the dialogue context and are in line with the content of the content word list, based on the dialogue context and the content word list.
  • Any dialogue data (a sequence of utterances) can be used as the dialogue data that is the source of the conversion learning dialogue data, and in the following explanation, discussion dialogue data will be used as an example of dialogue data.
  • Figure 12 shows an example of dialogue data used to create dialogue data for conversion learning.
  • the settings for speaker A and speaker B are the same as in Figure 3 (dialogue context).
  • the extraction unit 110 is used to create dialogue data for conversion learning.
  • the dialogue data is divided into input and output for learning, with the data up to a specific utterance being the input, and the specific utterance being the output.
  • the first to third utterances are the input
  • the fourth utterance is the output.
  • the process of dividing the dialogue data into input and output may be performed manually, or may be performed automatically by the learning device 200 (for example, the conversion learning dialogue data creation unit 195).
  • the input portion of the dialogue data (not including the content word list) may be called the dialogue context.
  • FIG. 13 shows an example of dialogue data for conversion learning created by applying the extraction unit 110 to the dialogue data in FIG. 12.
  • the fourth utterance in the dialogue data is the output to be learned, and the first three utterances are the input to be learned. More specifically, the output (fourth utterance) is input to the extraction unit 110 to obtain a content word list.
  • the conversion learning dialogue data creation unit 195 adds a list of content words in the content word list connected by commas (the line starting with K in the example) to the end of the input.
  • the conversion learning dialogue data creation unit 195 stores the input with the above list added and the output (fourth utterance) as a pair in the conversion learning dialogue data DB 190.
  • the input portion of the pair is input to the conversion unit 120.
  • the learning unit 160 updates the parameters so that the difference between the output from the conversion unit 120 and the output portion of the pair is minimized.
  • a conversion model By training a conversion model using input and output pairs in the above format, a conversion model is trained that generates output based on the dialogue context up to the third utterance and the contents of the content word list described in the fourth line.
  • Figure 14 shows an example of an input/output pair actually used for learning.
  • the conversion learning dialogue data DB 190 may store input/output pairs in the format shown in Figure 14, or when learning data is input from the conversion learning dialogue data DB 190 to the conversion unit 120, the format shown in Figure 14 may be used.
  • the data shown in FIG. 14 is an example of data obtained by converting the input/output pair shown in FIG. 13.
  • the input spans multiple lines, but in reality, it is input to the conversion unit 120 as a single line of text without line breaks.
  • SPK1 represents speaker A
  • SPK2 represents speaker B
  • SEP represents a separator of the input (for example, something placed between utterances).
  • the data used for learning is a sentence, but the data used for learning is not limited to a sentence.
  • the aforementioned "output portion of the dialogue data" may be a specific image (or a specific video) in a video.
  • the specific image (or specific video) is input to the extraction unit 110, which outputs content information (e.g., content words) indicating the content of the specific image (or specific video), and the content information is input to the conversion unit 120 together with the dialogue context (the input portion of the dialogue data).
  • content information e.g., content words
  • the conversion unit 120 the conversion unit 120 together with the dialogue context (the input portion of the dialogue data).
  • a conversion model is learned by comparing the output (utterance) from the conversion unit 120 with natural sentences that explain the specific image (or specific video).
  • Any of the devices described in this embodiment can be realized, for example, by causing a computer to execute a program.
  • This computer may be a physical computer or a virtual machine on the cloud.
  • the device can be realized by using hardware resources such as a CPU and memory built into a computer to execute a program corresponding to the processing performed by the device.
  • the program can be recorded on a computer-readable recording medium (such as a portable memory) and then stored or distributed.
  • the program can also be provided via a network such as the Internet or email.
  • FIG. 15 is a diagram showing an example of the hardware configuration of the computer.
  • the computer in FIG. 15 has a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, etc., all of which are interconnected by a bus BS.
  • the computer may further include a GPU.
  • the program that realizes the processing on the computer is provided by a recording medium 1001, such as a CD-ROM or a memory card.
  • a recording medium 1001 storing the program is set in the drive device 1000, the program is installed from the recording medium 1001 via the drive device 1000 into the auxiliary storage device 1002.
  • the program does not necessarily have to be installed from the recording medium 1001, but may be downloaded from another computer via a network.
  • the auxiliary storage device 1002 stores the installed program as well as necessary files, data, etc.
  • the memory device 1003 When an instruction to start a program is received, the memory device 1003 reads out and stores the program from the auxiliary storage device 1002.
  • the CPU 1004 realizes the functions related to the device in accordance with the program stored in the memory device 1003.
  • the interface device 1005 is used as an interface for connecting to a network, etc.
  • the display device 1006 displays a GUI (Graphical User Interface) based on a program, etc.
  • the input device 1007 is composed of a keyboard and mouse, buttons, a touch panel, etc., and is used to input various operational instructions.
  • the output device 1008 outputs the results of calculations.
  • the above knowledge base corresponds to a scenario
  • the dialogue data corresponds to the source data for the dialogue data used for conversion learning.
  • Additional Notes Memory, at least one processor coupled to the memory; Including, The processor, extracting from the specific information one or more pieces of content information indicating the content of the specific information; A generating device that generates an utterance that is consistent with the content of the specific information and suitable for the dialogue context, from a dialogue context and the one or more pieces of content information, using a conversion model.
  • the dialogue context is one or more utterances generated by the conversion unit.
  • (Additional Note 3) Memory, at least one processor coupled to the memory; Including, The processor, Using the conversion model, an utterance is generated from the dialogue context and one or more pieces of content information indicating the content of the specific information; A learning device that learns the conversion model so that the utterance becomes an utterance that matches the content of the specific information and fits the dialogue context. (Additional Note 4) The learning device according to claim 3, wherein the processor extracts, from the specific information, the one or more pieces of content information indicating a content of the specific information. (Additional Note 5) 1.
  • a computer-implemented generation method comprising: An extraction step of extracting one or more pieces of content information indicating the content of the specific information from the specific information; A conversion step of generating an utterance that is consistent with the content of the specific information and suitable for the dialogue context from a dialogue context and the one or more pieces of content information using a conversion model.
  • a computer implemented method of learning comprising: A conversion step of generating an utterance from a dialogue context and one or more pieces of content information indicating the content of specific information using a conversion model; a learning step of learning the conversion model so that the utterance is consistent with the content of the specific information and is appropriate for the dialogue context.
  • Generating device 110 Extracting unit 120 Converting unit 130 Converting model DB 140 Input unit 150 Output unit 200 Learning device 160 Learning unit 170 Input unit 180 Output unit 190 Conversion learning dialogue data DB 195 Conversion learning dialogue data creation unit 1000 Drive device 1001 Recording medium 1002 Auxiliary storage device 1003 Memory device 1004 CPU 1005 Interface device 1006 Display device 1007 Input device 1008 Output device

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以上の内容情報とから、前記特定の情報の内容に整合し、前記対話文脈に合った発話を生成する変換部とを備える。

Description

生成装置、学習装置、生成方法、学習方法、及びプログラム
 本発明は、コンピュータが対話における発話を生成する技術に関連するものである。
 対話システムにおいて、人間はコンピュータと対話を行い、種々の情報を得たり、要望を満たしたりする。また、所定のタスクを達成するだけではなく、日常会話を行う対話システムも存在し、これらによって、人間は精神的な安定を得たり、承認欲を満たしたり、信頼関係を築いたりする。
 一方、タスク達成や日常会話ではなく、議論をコンピュータによって実現するための研究も進められている。議論は人間の価値判断を変えたり、思考を整理したりする働きがあり、人間にとって重要な役割を果たす。
 例えば、非特許文献1には、意見をノードとするグラフデータを用いて、ユーザ発話をノードにマッピングし、マッピングされたノードと接続関係にあるノードをシステム発話としてユーザに返すことで議論を行う技術が開示されている。グラフデータは予め設定した議論のテーマ(例えば、「永住するなら田舎よりも都会がよい」)に基づき、人手で作成する。人手で作成した議論のデータを用いることで、特定の話題についての議論が可能となる。
Ryuichiro Higashinaka ほか,Argumentative dialogue system based on argumentation structures,Proceedings of The 21st Workshop on the Semanticsand Pragmatics of Dialogue,p154-155,2017
 非特許文献1に開示された技術では、予め用意された応答候補の中から、出力する発話を選択している。そのため、出力が、対話の文脈に合った流暢な応答になるとは限らない。つまり、従来技術では、対話の文脈に合った適切な発話を出力できなかった。
 本発明は上記の点に鑑みてなされたものであり、対話の文脈に合った適切な発話を出力するための技術を提供することを目的とする。
 開示の技術によれば、特定の情報から、当該特定の情報の内容を示す1以上の内容情報を抽出する抽出部と、
 変換モデルを用いて、対話文脈と前記1以上の内容情報とから、前記特定の情報の内容に整合し、前記対話文脈に合った発話を生成する変換部と
 を備える生成装置が提供される。
 開示の技術によれば、対話の文脈に合った適切な発話を出力するための技術が提供される。
生成装置100の構成図である。 生成装置100の動作を説明するためのフローチャートである。 対話文脈の例を示す図である。 シナリオの例を示す図である。 生成装置100への入力となるシナリオの例を示す図である。 抽出部110に対応するプログラムの例を示す図である。 内容語リストの例を示す図である。 変換モデルへの入力の例を示す図である。 変換モデルからの出力の例を示す図である。 学習装置200の構成図である。 学習装置200の動作を説明するためのフローチャートである。 変換学習用対話データの作成に利用する対話データの例を示す図である。 変換学習用対話データの例を示す図である。 変換学習用対話データの例を示す図である。 装置のハードウェア構成例を示す図である。
 以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
 本実施の形態では、日本語を対象として発話の生成等の動作を説明しているが、日本語を使用することは一例である。本発明に係る技術は日本語以外の言語にも適用可能である。
 また、日本語で出願される本明細書及び図面が他言語に翻訳される場合において、本実施の形態における生成装置100及び学習装置200は、必要に応じて当該他言語に合わせる調整をすることで、翻訳後の本明細書及び図面に記載された動作を行うことが可能である。上記の調整として、例えば、後述する抽出部110(プログラムを図6に記載)を他言語の内容語を抽出できるように調整する。
 (実施の形態の概要)
 前述したように、非特許文献1に開示された技術では、予め用意された応答候補の中からシステムが出力する発話を選択しているため、対話の文脈に合った適切な(流暢な)発話を出力できなかった。
 ここで、対話の文脈に合った適切な(流暢な)発話を出力するために、各応答候補を文脈に応じて書き換えた発話(応答候補、文脈、書き換え後の応答の3つ組)を大量に用意し、応答候補と文脈を入力として、書き換え後の応答候補を生成する発話生成モデルを使用することが考えられる。しかし、文脈は多岐に渡るため、議論の話題ごとに前記のような3つ組のデータを収集することは高いコストがかかる。そのため、この方法は現実的ではない。なお、この方法は公知技術ではない。
 上記の課題を解決するために、本実施の形態では、特定の話題に関する自然文を対話のシナリオとして使用し、生成装置100に、当該シナリオと任意の対話文脈とを入力することで、生成装置100は、シナリオに一貫し、かつ、対話文脈に対して十分な流暢さを有している発話を出力する。
 より詳細には、まず、所望の話題についての対話データを収集する。この対話データを用いて、事前学習された変換モデル(対話文脈を入力として、対話文脈に合った適切な発話を出力するモデル)を再学習する。このとき、学習方法の工夫として、出力に含まれる発話の内容を予め抽出しておき、対話文脈と当該内容を変換モデルへの入力として、元の発話を復元するように当該変換モデルを学習する。
 対話文脈、および、発話したい内容を学習済みの変換モデルに入力することにより、発話したい内容に一貫しており、かつ、対話文脈に対して十分な流暢さを有している発話を出力することができる。
 以下、本実施の形態に係る装置構成と装置動作について詳細に説明する。以下では、推論フェーズと学習フェーズとに分けて、それぞれについての装置構成と装置動作を説明する。なお、以下では、推論フェーズの生成装置100と学習フェーズの学習装置200が別々の装置である場合の例を示しているが、生成装置100と学習装置200が1つの装置で構成されてもよい。例えば、生成装置100に学習部160が含まれてもよいし、学習装置200が学習後に推論(発話生成)を行うこととしてもよい。
 (推論フェーズ:生成装置100の構成と動作)
 図1は、推論フェーズにおいて発話を生成する生成装置100の構成図である。図1に示すように、生成装置100は、抽出部110、変換部120、変換モデルDB(データベース)130、入力部140、出力部150を備える。なお、変換モデルDB(データベース)130は、生成装置100の外部のDBであってもよい。
 生成装置100は、自己対話による対話(本例では議論)を生成することができる。なお、ここでの自己対話とは、1つのシステムが話者Aと話者Bに分かれて交互に発話することで対話を生成することである。図2のフローチャートを参照して、生成装置100の動作概要を説明する。
 S101において、入力部140により、ある対話文脈とシナリオを入力する。シナリオは、上記対話文脈における最後の文(発話)の次の発話に対応する内容の文である。
 S102において、シナリオは抽出部110に入力され、抽出部110はシナリオから内容語を抽出し、内容語のリストである内容語リストを出力する。内容語は、生成装置100が出力すべき発話の内容を示す語に相当する。
 変換モデルDB130には学習済みの変換モデルが格納されており、変換部120は、当該変換モデルDB130から変換モデルを読み出して保持している。本実施の形態では、変換モデルはニューラルネットワークのモデルであることを想定しており、変換モデルDB130には、変換モデルとして、当該ニューラルネットワークにおける学習済みのパラメータが格納されている。変換モデルの学習方法については後述する。なお、変換部120を変換モデルと見なしてもよい。
 S103において、変換部120は、変換モデルに、対話文脈と、シナリオから抽出した内容語リストとを入力し、変換モデルから出力される発話(発話文と呼んでもよい)を得る。変換部120は、当該発話を出力部150に渡し、出力部150が当該発話を出力する。出力部150からの出力は、耳で聞く音声で行ってもよいし、目で見るテキストで行ってもよい。
 出力される発話は、対話文脈に合った発話である。また、出力される発話は、入力されたシナリオを、対話文脈に合うように変換したものに相当するから、これを「変換後シナリオ」と呼んでもよい。なお、「対話文脈に合った発話」を、「対話文脈に整合した発話」、「対話文脈の最後の文から流暢に続く発話」、などと言い換えてもよい。
 その後、生成装置100から出力された発話を、入力に使用した対話文脈に付加してできた対話文脈と、入力に使用したシナリオ(シナリオにおける発話)の次のシナリオ(発話)とを生成装置100に入力することで、入力された対話文脈に合った流暢な次の発話を生成することができる。この処理を繰り返すことで、対話(発話の系列)を生成することが可能である。
 以下、推論フェーズにおける上述した処理に登場する各構成要素(対話文脈、シナリオ、抽出部110、変換部120(変換モデル)、発話(変換後シナリオ))について詳細に説明する。
 <対話文脈>
 対話文脈は、変換部120(変換モデル)への入力となるテキストである。変換モデルは入力された対話文脈に続く発話を生成する。対話文脈が存在しない場合(すなわち、空文字を入力する場合)、変換モデルは対話の先頭の発話を生成する。なお、後述するように、変換モデルには、対話文脈とともに内容語リストが入力されるが、ここでの対話文脈の説明においては、説明の便宜上、対話文脈のみを変換モデルへの入力として用いている。
 変換モデルにより対話(対話文脈)を生成する場合、まず空文字を変換モデルに入力して先頭の発話(1発話目)を生成する。次に、先頭の発話を対話文脈として入力し、2発話目を生成する。次に、1発話と2発話目を対話文脈として入力し、3発話目を生成する。この入出力を繰り返すことで、任意の数の発話を含む対話を生成することが可能になる。変換モデルにより生成された対話を、変換モデルに入力される対話文脈として使用することができる。
 変換モデルに入力する対話文脈は、変換モデルが生成した対話に限定されない。変換モデルに入力する対話文脈として、任意の発話の系列を使用することができる。また、変換モデルに入力する対話文脈として、変換モデルが生成した対話に任意の発話を含めた対話を使用することもできる。
 また、例えば、変換モデルに入力する対話文脈に、人手で用意したテンプレートの発話(例えば、相槌を示すような発話「うんうん」)が含まれていてもよいし、本実施の形態に係る生成装置100とは別の対話システムが生成した発話が含まれていてもよい。
 図3に対話文脈の例を示す。この例は自動運転の是非について議論する話者A(賛成派)と話者B(反対派)の対話を示しており、3発話に続く発話を生成するための変換モデルへの入力となる。図3に示す対話文脈における各発話は生成装置100により生成されたものである。
 <シナリオ>
 シナリオは、生成装置100に生成させたい発話の元となるテキストであり、1つ又は複数の文(具体的には自然文)から構成される。シナリオは人手で作成してもよいし、非特許文献1に開示されている技術を利用して、議論構造として利用される知識ベースから自動で作成してもよい。以降の説明では、非特許文献1で開示されている方法(議論構造をルートノードから辿り、訪れたノードをシナリオとする方法)で作成したシナリオを例にとって説明する。
 図4にシナリオの例を示す。この例は図3の対話文脈と対応するシナリオであり、本シナリオの1発話目から3発話目までを用いて図3の対話が生成されている。生成された図3の対話文脈と、後続のシナリオの発話(シナリオ4発話目)を生成装置100に入力することで、当該対話文脈に続く発話を生成する。生成される発話は、シナリオの内容と整合し、対話文脈に対する流暢さを有した発話である。
 図5に、実際に生成装置100への入力として使用するシナリオの例を示す。生成装置100への入力として、複数の発話からなるシナリオ(図4)における最後の発話のみを使用する。なお、最後の発話のみについても、これを「シナリオ」と呼んでもよい。
 図5に示す例は、図3に示す対話文脈に対応しており、図3の対話文脈に流暢に続く、図5の内容を表す発話を生成するための、生成装置100への入力となる。
 <抽出部110>
 抽出部110は、シナリオ(上述した最後の発話)を入力とし、当該シナリオに含まれる内容に相当する内容語を当該シナリオから抽出し、抽出した内容語からなる内容語リストを出力する。
 抽出部110は、まず、入力されたシナリオを形態素解析することで、形態素とその品詞情報を得る。抽出部110は形態素解析器を有しており、その形態素解析器が形態素解析を実行する。形態素解析としては任意のものを利用可能であり、例えば、MeCabやrichindexerを使用することができる。
 後述するように、生成装置100は、例えばコンピュータとプログラムで実現できる。抽出部110を当該コンピュータ上で動作するプログラムで実現する場合における、当該プログラムの例を図6に示す。ここでは例としてPythonプログラムを示している。
 図6に示すプログラムは、形態素解析器(例えばrichindexer)が出力した形態素文字列(form)と品詞(pos)を受け取り、それが内容語に該当するかを返すis content wordという関数と、例外的に除外する形態素文字列を判定するis filteredという関数が定義されている。
 このプログラムを用いて、形態素解析器(例えばrichindexer)が出力した形態素列と品詞列に対して上記の2つの関数を適用し、内容語と判定された形態素を内容語リストとして出力する。抽出部110は、このプログラムにより、議論において重要と考えられる形態素(例えば、命題の否定を表す「ない」や、二つの立場の比較を表す「方」、仮定的な命題を扱う「ならば」など)は例外的に内容語リストに含めることとしている。
 図7に、抽出部110により、図5のシナリオから抽出された内容語リストを示す。図5のシナリオと図7とを比較することにより、内容語リストには、シナリオの内容に該当するキーワードが列挙されていることがわかる。内容語リストの情報は、後述する変換モデルが発話を生成する際の参考情報として使用される。
 <変換部120(変換モデル)>
 次に、変換部120において用いられる変換モデルについて説明する。変換モデルは、一般対話データにより事前学習された対話モデルに対して、後述する変換学習用対話データで学習(これを調整(fine-tuning)と呼んでもよい)したモデルである。
 事前学習済みの対話モデルとして、オンラインで入手できるモデル(例えば、出願人が公開しているTransformer Encoder-decoder対話モデル)を使用してもよい。この場合、事前学習は不要であり、変換学習用対話データを用いたfine-tuningを行うことで変換モデルを生成できる。ここでは、変換部120が学習済みの変換モデルを保持しているものとする。
 図8に、発話生成時の変換モデルへの入力の例を示す。この例は図3の対話文脈に、シナリオ「致命的な欠陥が発生したら運転者は原因を解決することが出来ない」から抽出部110を用いて抽出した内容語リストを付加したものである。図8に示す例では入力が複数行にまたがっているが、実際には、改行はなく1行のテキストとして入力される。SPK1は話者A、SPK2は話者Bを表し、SEPは入力の区切り(例えば、発話と発話の間に配置されるもの)を表す。
 変換モデルは、上記入力(対話文脈とシナリオの内容を示す情報)に基づいて、シナリオの内容に沿った、対話文脈に合った流暢な発話を生成する。
 <発話(変換後シナリオ)>
 変換部120は、変換モデルにより生成された発話(変換後シナリオ)を、出力部150を介して出力する。ここでは発話(変換後シナリオ)を出力発話と呼ぶことにする。出力発話をシナリオに合わせて、対話の前(1発話目)から順番に作成していくことで、シナリオに沿った流暢な対話を作成することができる。
 図9に、図8の入力から生成された出力発話の例を示す。この例は、図5で示したシナリオ「致命的な欠陥が発生したら運転者は原因を解決することが出来ない」を変換した発話に相当する。
 図9に示す例は、図3に示した対話文脈に後続する発話として出力されたものであり、元のシナリオ「致命的な欠陥が発生したら運転者は原因を解決することが出来ない」と比較して、「でも」や「できませんよね?」という表現に修正されており、より流暢な発話になっていることがわかる。変換モデルが入力に含まれるキーワードを読み取り、流暢な、かつ内容に沿った発話に必要な単語を残しつつ、単語の間に適切な表現を追加することで、例のような所望の発話が生成できている。
 なお、上記の例では、シナリオを文としているが、シナリオは文に限定されない。例えば、シナリオが映像であってもよい。この場合、例えば、抽出部110に、映像における特定の画像(あるいは特定の映像)が入力され、抽出部110が、当該特定の画像(あるいは特定の映像)の内容を示す内容情報(例:内容語)を出力し、当該内容情報が対話文脈とともに変換部120に入力される。
 (学習フェーズ:学習装置200の構成と動作)
 次に、学習フェーズにおける装置構成と装置動作を説明する。図10は、学習フェーズにおける、変換モデルの学習を行う学習装置200の構成図である。図10に示すように、学習装置200は、抽出部110、変換部120、変換モデルDB130、学習部160、入力部170、出力部180、変換学習用対話データDB190、変換学習用対話データ作成部195を備える。なお、変換モデルDB130と変換学習用対話データDB190はそれぞれ、学習装置200の外部のDBであってもよい。
 抽出部110、変換部120、及び変換モデルDB130のそれぞれの機能は、推論フェーズで説明した機能と同じである。ただし、学習フェーズでは、学習完了までは、変換モデルDB130に学習途中の変換モデル(パラメータ)が格納される。変換部120は、変換モデルDB130から読み出した変換モデル(パラメータ)を保持している。
 図11のフローチャートを参照して、学習装置200の概要動作を説明する。ここでは、一般対話データを用いて事前学習済みの対話モデルが、学習対象の変換モデルとして、変換モデルDB130に格納されているものとする。
 S201において、抽出部110と変換学習用対話データ作成部195が、入力部170から入力される対話データから、変換学習用対話データを作成する。作成された変換学習用対話データは、変換学習用対話データDB190に格納される。
 なお、抽出部110と変換学習用対話データ作成部195を用いて変換学習用対話データを生成することは一例である。人手で変換学習用対話データを作成し、作成した変換学習用対話データを変換学習用対話データDB190に格納してもよい。
 後述するように、入力となる対話データは入力の部分と出力の部分を有する。対話データの出力の部分が抽出部110に入力されて内容語リストが生成される。変換学習用対話データ作成部195は、対話データの入力の部分と、内容語リストを結合することにより、変換学習用対話データにおける入力の部分を作成し、当該入力の部分と対話データの出力の部分とをペアとして、変換学習用対話データを作成する。
 S202において、変換学習用対話データにおける入力の部分を変換部120に入力し、変換部120は上記入力の部分を変換モデルに入力することにより、変換モデルからの出力を得る。学習部160は、変換モデルからの出力と変換学習用対話データにおける出力の部分(正解)との差が最小になるように、変換モデルのパラメータを更新する。
 S202の学習が完了すると、例えば、S203において、出力部180から学習済みの変換モデルを出力する。この変換モデルは、例えば、生成装置100における変換モデルとして使用される。
 上述した変換モデルは、前述した対話モデル(例:出願人が公開しているTransformer Encoder-decoder対話モデル)をfine-tuningしたモデルである。つまり、一般対話データで学習された対話モデルのままでは生成装置100の目的に合った使用はできず、入力と出力を学習フレームワークに合った形式に変換する必要がある。元となる対話モデルに対して変換学習用の対話データを用いてfine-tuning をすることで、所望の入出力を学習した変換モデルが作成される。
 以下、学習フェーズにおける上述した処理に登場する主な構成要素について詳細に説明する。
 <一般対話データ>
 一般対話データは変換モデルの事前学習を行うために利用されるデータである。一般的に対話システムは大規模な対話データを用いた事前学習(pre-training)で大まかな対話の流れを学習しておき、少量の特定の話題に関する対話データで調整(fine-tuning)を行うことで構築される。前述したとおり、事前学習済みの対話モデルはオンラインで入手することができるので、当該対話モデルを利用すれば一般対話データは不要である。もしも一般対話データを用いて独自に事前学習を行う場合には、SNSなどの大規模対話データをクロールし、Fairseqなどの学習フレームワークを用いることで対話モデルの構築が可能である。以降の説明では、変換モデルの元となる対話モデルとして、事前学習済みの対話モデルを使用することを想定している。
 <変換学習用対話データ>
 変換学習用対話データは、対話データから作成したデータであり、対話文脈と内容語リストから、対話文脈に適合しており、かつ、内容語リストの内容に沿った発話を生成するための変換モデルを学習するための学習データである。変換学習用対話データの元となる対話データとして、任意の対話データ(発話の系列)を利用可能であり、以降の説明では、対話データとして議論対話のデータを例にとって説明する。
 図12に、変換学習用対話データの作成に利用する対話データの例を示す。話者Aと話者Bの設定は図3(対話文脈)と同様である。ここでは、本対話データを元に、抽出部110を用いて変換学習用対話データを作成する。
 このとき、対話データは学習用の入力と出力に分けられ、特定のある発話の前までを入力とし、特定の発話を出力とする。図12に示す例の場合、例えば、1発話目から3発話目までを入力とし、4発話目を出力とする。これは一例であり、入力と出力は任意に設定することができる。対話データを入力と出力に分ける処理については、人手で行ってもよいし、学習装置200(例えば変換学習用対話データ作成部195)が自動的に行ってもよい。なお、対話データにおける入力の部分(内容語リストを含まない)を対話文脈と呼んでもよい。
 図13に、図12の対話データに対して抽出部110を適用して作成した変換学習用対話データの例を示す。図13の例では、対話データにおける4発話目を学習対象の出力とし、3発話目までを学習対象の入力としている。より詳細には、出力(4発話目)を抽出部110に入力することで、内容語リストを得る。変換学習用対話データ作成部195は、内容語リストにおける内容語をカンマでつないだリスト(例の中でKで始まる行)を入力の最後に付加する。
 変換学習用対話データ作成部195は、上記リストが付加された入力と、出力(4発話目)とをペアとして、変換学習用対話データDB190に格納する。
 変換部120には、ペアにおける入力の部分が入力される。学習部160は、変換部120からの出力と、ペアにおける出力の部分との差が最小になるように、パラメータを更新する。
 上記の形式を有する入力と出力のペアを用いて変換モデルを学習することで、3発話目までの対話文脈と、4行目に記述される内容語リストの内容に基づいて出力を生成する変換モデルが学習される。
 このとき、変換モデルの学習において、仮に対話文脈の情報が入力に含まれないとすると、出力される発話が対話文脈を考慮できない。また、仮に内容語リストが入力に含まれないとすると、出力される発話がシナリオに沿った(シナリオに整合した)内容にならず、期待される内容の発話にならない。図13に示すように、対話文脈の情報と、出力に対応する内容語リストとを含む入力を学習に用いることで、これらの問題が解決される。
 図14に、実際に学習に利用する入出力ペアの例を示す。変換学習用対話データDB190には、図14に示す形式で入出力ペアが格納されてもよいし、変換学習用対話データDB190から学習データを変換部120に入力する際に、図14に示す形式としてもよい。
 図14に示すデータは、図13に示す入出力ペアを変換したデータの例である。図14に示す例では、入力が複数行にまたがっているが、実際には、改行はなく1行のテキストとして変換部120に入力される。SPK1は話者A、SPK2は話者Bを表し、SEPは入力の区切り(例えば、発話と発話の間に配置されるもの)を表す。
 なお、上記の例では、学習に用いるデータを文としているが、学習に用いるデータは文に限定されない。例えば、前述した「対話データでの出力の部分」が映像における特定の画像(あるいは特定の映像)であってもよい。この場合、当該特定の画像(あるいは特定の映像)が抽出部110に入力され、抽出部110が、当該特定の画像(あるいは特定の映像)の内容を示す内容情報(例:内容語)を出力し、当該内容情報が対話文脈(対話データにおける入力の部分)とともに変換部120に入力される。そして、例えば、変換部120からの出力(発話)を、上記特定の画像(あるいは特定の映像)を説明する自然文と比較することにより、変換モデルを学習する。
 (ハードウェア構成例)
 本実施の形態で説明したいずれの装置(生成装置100、学習装置200)も、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。
 すなわち、当該装置は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
 図15は、上記コンピュータのハードウェア構成例を示す図である。図15のコンピュータは、それぞれバスBSで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。なお、当該コンピュータは、更にGPUを備えてもよい。
 当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
 メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワーク等に接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
 (実施の形態のまとめ、効果等)
 以上説明したとおり、本実施の形態で説明した技術により、自然文またはその系列をシナリオとして用意しておけば、任意の対話文脈に対して、用意したシナリオに一貫し、かつ、対話文脈に対する流暢さを有している発話を生成できるようになる。
 例えば、特定の話題に関する知識を自然文形式でまとめたデータ(一般に知識ベースと呼ばれるもの)と、特定の話題に関する対話データがあれば、任意の対話文脈に対して知識を流暢に発話することが可能になる。これにより、ユーザの発話に対して知識に一貫しつつ流暢に応答したり、知識ベースに基づいて一貫した流暢な対話を生成すること(一般に自己対話と呼ばれ、1つのシステムが話者Aと話者Bに分かれて交互に発話することで対話を生成する手法)が可能になる。
 なお、上記の知識ベースはシナリオに相当し、対話データは、変換学習用対話データの元となるデータに相当する。
 以上の実施形態に関し、更に以下の付記を開示する。
 <付記>
(付記項1)
 メモリと、
 前記メモリに接続された少なくとも1つのプロセッサと、
 を含み、
 前記プロセッサは、
 特定の情報から、当該特定の情報の内容を示す1以上の内容情報を抽出し、
 変換モデルを用いて、対話文脈と前記1以上の内容情報とから、前記特定の情報の内容に整合し、前記対話文脈に合った発話を生成する
 生成装置。
(付記項2)
 前記対話文脈は、前記変換部により生成された1以上の発話である
 付記項1に記載の生成装置。
(付記項3)
 メモリと、
 前記メモリに接続された少なくとも1つのプロセッサと、
 を含み、
 前記プロセッサは、
 変換モデルを用いて、対話文脈と、特定の情報の内容を示す1以上の内容情報とから発話を生成し、
 前記発話が、前記特定の情報の内容に整合し、前記対話文脈に合った発話になるように、前記変換モデルを学習する
 学習装置。
(付記項4)
 前記プロセッサは、前記特定の情報から、当該特定の情報の内容を示す前記1以上の内容情報を抽出する
 付記項3に記載の学習装置。
(付記項5)
 コンピュータが実行する生成方法であって、
 特定の情報から、当該特定の情報の内容を示す1以上の内容情報を抽出する抽出ステップと、
 変換モデルを用いて、対話文脈と前記1以上の内容情報とから、前記特定の情報の内容に整合し、前記対話文脈に合った発話を生成する変換ステップと
 を備える生成方法。
(付記項6)
 コンピュータが実行する学習方法であって、
 変換モデルを用いて、対話文脈と、特定の情報の内容を示す1以上の内容情報とから発話を生成する変換ステップと、
 前記発話が、前記特定の情報の内容に整合し、前記対話文脈に合った発話になるように、前記変換モデルを学習する学習ステップと
 を備える学習方法。
(付記項7)
 コンピュータを、付記項1又は2に記載の生成装置における各部として機能させるためのプログラムを記憶した非一時的記憶媒体。
(付記項8)
 コンピュータを、付記項3又は4に記載の学習装置における各部として機能させるためのプログラムを記憶した非一時的記憶媒体。
 以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100 生成装置
110 抽出部
120 変換部
130 変換モデルDB
140 入力部
150 出力部
200 学習装置
160 学習部
170 入力部
180 出力部
190 変換学習用対話データDB
195 変換学習用対話データ作成部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置

Claims (8)

  1.  特定の情報から、当該特定の情報の内容を示す1以上の内容情報を抽出する抽出部と、
     変換モデルを用いて、対話文脈と前記1以上の内容情報とから、前記特定の情報の内容に整合し、前記対話文脈に合った発話を生成する変換部と
     を備える生成装置。
  2.  前記対話文脈は、前記変換部により生成された1以上の発話である
     請求項1に記載の生成装置。
  3.  変換モデルを用いて、対話文脈と、特定の情報の内容を示す1以上の内容情報とから発話を生成する変換部と、
     前記発話が、前記特定の情報の内容に整合し、前記対話文脈に合った発話になるように、前記変換モデルを学習する学習部と
     を備える学習装置。
  4.  前記特定の情報から、当該特定の情報の内容を示す前記1以上の内容情報を抽出する抽出部
     を更に備える請求項3に記載の学習装置。
  5.  コンピュータが実行する生成方法であって、
     特定の情報から、当該特定の情報の内容を示す1以上の内容情報を抽出する抽出ステップと、
     変換モデルを用いて、対話文脈と前記1以上の内容情報とから、前記特定の情報の内容に整合し、前記対話文脈に合った発話を生成する変換ステップと
     を備える生成方法。
  6.  コンピュータが実行する学習方法であって、
     変換モデルを用いて、対話文脈と、特定の情報の内容を示す1以上の内容情報とから発話を生成する変換ステップと、
     前記発話が、前記特定の情報の内容に整合し、前記対話文脈に合った発話になるように、前記変換モデルを学習する学習ステップと
     を備える学習方法。
  7.  コンピュータを、請求項1又は2に記載の生成装置における各部として機能させるためのプログラム。
  8.  コンピュータを、請求項3又は4に記載の学習装置における各部として機能させるためのプログラム。
PCT/JP2022/036841 2022-09-30 2022-09-30 生成装置、学習装置、生成方法、学習方法、及びプログラム WO2024069978A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/036841 WO2024069978A1 (ja) 2022-09-30 2022-09-30 生成装置、学習装置、生成方法、学習方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/036841 WO2024069978A1 (ja) 2022-09-30 2022-09-30 生成装置、学習装置、生成方法、学習方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2024069978A1 true WO2024069978A1 (ja) 2024-04-04

Family

ID=90476691

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/036841 WO2024069978A1 (ja) 2022-09-30 2022-09-30 生成装置、学習装置、生成方法、学習方法、及びプログラム

Country Status (1)

Country Link
WO (1) WO2024069978A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118052222A (zh) * 2024-04-15 2024-05-17 北京晴数智慧科技有限公司 一种多轮对话数据的生成方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021002040A (ja) * 2019-07-31 2021-01-07 日本電信電話株式会社 対話破壊特徴量抽出装置、対話破壊特徴量抽出方法、プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021002040A (ja) * 2019-07-31 2021-01-07 日本電信電話株式会社 対話破壊特徴量抽出装置、対話破壊特徴量抽出方法、プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"NTT Media Intelligence Laboratories’ R&D expansion which works on elemental technologies and engine development in a variety of media processing", BIJINESU KOMYUNIKESHON - BUSINESS COMMUNICATION, KIKAKU SENTA, TOKYO, JP, vol. 51, no. 2, 1 February 2014 (2014-02-01), JP , pages 20 - 21, XP009554305, ISSN: 0385-695X *
OKANO, KOSHIRO: "Prototype production of a contrast response pair evaluation set for automatic evaluation of neural interaction models", PRESENTATION PROCEEDINGS OF THE 27TH ANNUAL MEETING OF THE ASSOCIATION FOR NATURAL LANGUAGE PROCESSING, vol. 27, 8 March 2021 (2021-03-08), pages 1585 - 1589, XP009554306 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118052222A (zh) * 2024-04-15 2024-05-17 北京晴数智慧科技有限公司 一种多轮对话数据的生成方法和装置

Similar Documents

Publication Publication Date Title
US11942082B2 (en) Facilitating communications with automated assistants in multiple languages
Nguyen et al. NEU-chatbot: Chatbot for admission of National Economics University
AU2019347734B2 (en) Conversational agent pipeline trained on synthetic data
US11354521B2 (en) Facilitating communications with automated assistants in multiple languages
US10936664B2 (en) Dialogue system and computer program therefor
US9805718B2 (en) Clarifying natural language input using targeted questions
KR20210146368A (ko) 숫자 시퀀스에 대한 종단 간 자동 음성 인식
JP6676110B2 (ja) 発話文生成装置とその方法とプログラム
JP2000353161A (ja) 自然言語生成における文体制御方法及び装置
JP2020154076A (ja) 推論器、学習方法および学習プログラム
WO2024069978A1 (ja) 生成装置、学習装置、生成方法、学習方法、及びプログラム
JP7103264B2 (ja) 生成装置、学習装置、生成方法及びプログラム
CN113823259B (zh) 将文本数据转换为音素序列的方法及设备
Prasad et al. Mining Training Data for Language Modeling Across the World's Languages.
CN117009113A (zh) 人工智能模型的调用方法、装置、计算机设备及存储介质
Noormamode et al. A speech engine for mauritian creole
JP7327647B2 (ja) 発話生成装置、発話生成方法、プログラム
Šoić et al. Spoken notifications in smart environments using Croatian language
Xue et al. BiosERC: Integrating Biography Speakers Supported by LLMs for ERC Tasks
JP2021125164A (ja) 情報処理装置、チャットボットアシストプログラム及びチャットボットアシスト方法
Ostrand et al. Humans linguistically align to their conversational partners, and language models should too
WO2024014230A1 (ja) 発話フィルタリング装置、対話システム、文脈モデルの学習データの生成装置及びコンピュータプログラム
JP7012935B1 (ja) プログラム、情報処理装置、方法
TWI857873B (zh) 利用大型語言模型產生特定對象的虛擬人格之對話裝置
JP6985311B2 (ja) 相槌判定によって応答発話生成を制御する対話実施プログラム、装置及び方法

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

Country of ref document: EP

Kind code of ref document: A1