JP7365791B2 - Utterance generation device, utterance generation method, and utterance generation program - Google Patents
Utterance generation device, utterance generation method, and utterance generation program Download PDFInfo
- Publication number
- JP7365791B2 JP7365791B2 JP2019108667A JP2019108667A JP7365791B2 JP 7365791 B2 JP7365791 B2 JP 7365791B2 JP 2019108667 A JP2019108667 A JP 2019108667A JP 2019108667 A JP2019108667 A JP 2019108667A JP 7365791 B2 JP7365791 B2 JP 7365791B2
- Authority
- JP
- Japan
- Prior art keywords
- keyword
- utterance
- sentence
- user
- word
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Landscapes
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、ロボットの発話文を生成するための装置、方法及びプログラムに関する。 The present invention relates to an apparatus, method, and program for generating a robot's utterances.
従来、人がコンピュータと会話を楽しむ手段として、例えば、人工無脳(チャットボット、会話ボット)が開発されている。人工無能は、人間の発言から応答文としてもっともらしいものを機械的に生成する方式を採用している。人工無脳の実装方法としては、発言と応答文とを会話のルールとして準備しておく辞書型、大量の会話のログから、ユーザの発言に最も近いものを探し、その応答ログを用いるログ型、大量の文章からマルコフ連鎖を作成し、文を生成するマルコフ文生成型などがある(例えば、非特許文献1及び2参照)。 Conventionally, as a means for people to enjoy conversations with computers, for example, artificial brainless machines (chatbots, conversation bots) have been developed. Artificial incompetence employs a method of mechanically generating plausible response sentences from human utterances. Artificial brainlessness can be implemented using a dictionary type, in which utterances and responses are prepared as conversation rules, and a log type, in which a large amount of conversation logs is searched for the one closest to the user's utterance, and the response log is used. , a Markov sentence generation type that generates a sentence by creating a Markov chain from a large amount of sentences (for example, see Non-Patent Documents 1 and 2).
近年、人工無脳を組み込むことで、人と対話する機能が実装されたコミュニケーションロボットが開発されている。人工無脳を組み込んだソフトウェアプログラム、又はコミュニケーションロボットは、ユーザの発話に含まれている単語を用いてもっともらしい応答文を生成している。 In recent years, communication robots with the ability to interact with humans have been developed by incorporating artificial brainlessness. A software program, or communication robot, incorporating an artificial brain generates plausible response sentences using words contained in the user's utterances.
ところで、人間同士の日常会話においては、発言としては明示していないがお互いに認識し共有している文脈や話題(コンテクスト)が存在することが多い。特にテレビ番組視聴中は、テレビ番組の内容を共通のコンテクストとして対話が進行するため、画面に映っているものの名称などを明示的に発話文に含めないことが多い。
しかしながら、一般的な人工無脳は、このようなコンテクストを考慮できていないという課題がある。このことは、会話が噛み合わない応答を行ってしまう原因となり、ユーザがコミュニケーションロボットに対して興味を失う要因の一つとなっている。
By the way, in daily conversations between humans, there are often contexts and topics that are mutually recognized and shared, although they are not explicitly stated in the utterances. Particularly while watching a television program, the conversation proceeds using the content of the television program as a common context, so the name of what is shown on the screen is often not explicitly included in the utterance.
However, the problem with general artificial brainlessness is that it does not take this kind of context into account. This causes responses that do not fit the conversation, and is one of the reasons why users lose interest in communication robots.
一方で、特許文献1には、ユーザの発話を記憶部に保存されているトピックに分類することで、ユーザの意図を汲み取った応答文を生成する技術が提案されている。また、特許文献2には、テレビ番組からキーワードを抽出しテンプレート文と組み合わせることで、自発的な発話を行いコミュニケーションを活性化させる技術が提案されている。
しかしながら、特許文献1の技術は、ユーザの発話文と記憶部に保存されているトピックとを比較するため、ユーザの発話文に含まれていないコンテクストを考慮できない。また、特許文献2の技術は、テレビ番組から抽出したキーワードとテンプレート文とから自発的な発話文を生成するため、ユーザの発話に対して応答文を生成できない。
On the other hand, Patent Document 1 proposes a technique for generating a response sentence that understands the user's intention by classifying the user's utterances into topics stored in a storage unit. Further, Patent Document 2 proposes a technology that activates communication by extracting keywords from television programs and combining them with template sentences to make spontaneous utterances.
However, since the technique of Patent Document 1 compares the user's utterance with the topic stored in the storage unit, it cannot take into account the context that is not included in the user's utterance. Further, the technique disclosed in Patent Document 2 generates a spontaneous utterance from keywords extracted from a television program and a template sentence, and therefore cannot generate a response sentence to a user's utterance.
本発明は、ユーザの発話に対して、明示されていないコンテクストを推定し、応答としての発話文を生成できる発話生成装置、発話生成方法及び発話生成プログラムを提供することを目的とする。 An object of the present invention is to provide an utterance generation device, an utterance generation method, and an utterance generation program that can estimate an unspecified context for a user's utterance and generate an utterance as a response.
本発明に係る発話生成装置は、入力文から、キーワードデータベースに登録されているキーワードを抽出するキーワード抽出部と、抽出された前記キーワードをキーワードメモリに格納し、格納時から所定時間が経過した前記キーワードを前記キーワードメモリから削除するキーワード管理部と、ユーザの発話文に含まれる代表語を探索する代表語探索部と、前記代表語の特徴ベクトルと前記キーワードメモリに格納されている前記キーワードそれぞれの特徴ベクトルとの距離に基づいて、前記発話文の対象語となる前記キーワードを決定する対象語推定部と、前記対象語及び前記代表語に基づいて応答発話文を生成する発話文生成部と、を備える。 The utterance generation device according to the present invention includes a keyword extraction unit that extracts keywords registered in a keyword database from an input sentence, stores the extracted keywords in a keyword memory, and stores the extracted keywords in a keyword memory, and a keyword management section that deletes a keyword from the keyword memory; a representative word search section that searches for a representative word included in a user's utterance; and a feature vector of the representative word and each of the keywords stored in the keyword memory. a target word estimating unit that determines the keyword to be a target word of the uttered sentence based on a distance from a feature vector; a uttered sentence generating unit that generates a response uttered sentence based on the target word and the representative word; Equipped with
前記発話文生成部は、前記対象語を、前記代表語に対応するテンプレートに組み合わせて応答発話文を生成してもよい。 The utterance generation unit may generate a response utterance by combining the target word with a template corresponding to the representative word.
前記発話文生成部は、前記対象語及び前記代表語を含むパラメータにより、人工無能アプリケーションにアクセスし、前記応答発話文を取得してもよい。 The utterance generation unit may access the artificial incompetence application using parameters including the target word and the representative word, and obtain the response utterance.
前記入力文は、テレビ番組の映像又は音声から抽出されてもよい。 The input sentence may be extracted from video or audio of a television program.
前記入力文は、複数のユーザの発話文であり、前記対象語推定部は、前記代表語を抽出したユーザとは異なるユーザの発話文から抽出されたキーワードの中から、前記対象語を決定してもよい。 The input sentences are utterances of a plurality of users, and the target word estimation unit determines the target word from among keywords extracted from the utterances of users different from the user who extracted the representative word. It's okay.
本発明に係る発話生成方法は、入力文から、キーワードデータベースに登録されているキーワードを抽出するキーワード抽出ステップと、抽出された前記キーワードをキーワードメモリに格納し、格納時から所定時間が経過した前記キーワードを前記キーワードメモリから削除するキーワード管理ステップと、ユーザの発話文に含まれる代表語を探索する代表語探索ステップと、前記代表語の特徴ベクトルと前記キーワードメモリに格納されている前記キーワードそれぞれの特徴ベクトルとの距離に基づいて、前記発話文の対象語となる前記キーワードを決定する対象語推定ステップと、前記対象語及び前記代表語に基づいて応答発話文を生成する発話文生成ステップと、をコンピュータが実行する。 The utterance generation method according to the present invention includes a keyword extraction step of extracting keywords registered in a keyword database from an input sentence, and storing the extracted keywords in a keyword memory. a keyword management step of deleting a keyword from the keyword memory; a representative word search step of searching for a representative word included in a user's utterance; and a feature vector of the representative word and each of the keywords stored in the keyword memory. a target word estimation step of determining the keyword to be the target word of the utterance based on the distance from the feature vector; a utterance generation step of generating a response utterance based on the target word and the representative word; is executed by the computer.
本発明に係る発話生成プログラムは、前記発話生成装置としてコンピュータを機能させるためのものである。 The utterance generation program according to the present invention is for causing a computer to function as the utterance generation device.
本発明によれば、ユーザの発話に対して、明示されていないコンテクストを推定し、応答としての発話文を生成できる。 According to the present invention, an unspecified context can be estimated for a user's utterance, and an utterance can be generated as a response.
以下、本発明の第1実施形態について説明する。
本実施形態における発話生成装置1は、「食べたい」、「話したい」、「行きたい」などの要望を表す動詞を含む語句、又は「きれい」、「おいしそう」、「大きい」などの形容詞を含む語句を代表語と定義し、これらの代表語を含むテンプレート文と、代表語の特徴ベクトル及びキーワードデータベースに含まれる単語の特徴ベクトルを作成しておく。
A first embodiment of the present invention will be described below.
The speech generation device 1 in this embodiment generates phrases that include verbs expressing requests such as "I want to eat,""I want to talk," and "I want to go," or adjectives such as "beautiful,""tasty," and "big." Words and phrases containing these words are defined as representative words, and template sentences containing these representative words, feature vectors of the representative words, and feature vectors of words included in the keyword database are created in advance.
発話生成装置1は、視聴中の番組のキーワードを一定期間保持し、代表語を含むユーザ発話文が入力されたときに、この代表語の特徴ベクトルと保持しているキーワードの特徴ベクトルとを比較する。そして、発話生成装置1は、特徴ベクトルの近いキーワードを、代表語に対するテンプレート文に組み合わせて応答発話文を生成する。
これにより、発話生成装置1は、ユーザ発話文において明示されていないコンテクストである対象語を推定した上で、適切な応答発話文を生成することができる。例えば、キーワードとして、「ラーメン」、「どんぶり」、「レンゲ」、「博多」が保持されている状態で、ユーザが「これ食べたいな」などと発言した場合に、代表語である「食べたい」と特徴ベクトルの近い「ラーメン」が対象語として選択され、テンプレート文と組み合わせることで、「僕もラーメン食べたい」などの応答発話文が生成される。
The utterance generation device 1 retains the keywords of the program being viewed for a certain period of time, and when a user utterance containing a representative word is input, it compares the feature vector of this representative word with the feature vector of the retained keywords. do. Then, the utterance generation device 1 generates a response utterance by combining keywords with similar feature vectors with the template sentence for the representative word.
Thereby, the utterance generation device 1 can generate an appropriate response utterance after estimating the target word, which is a context that is not specified in the user utterance. For example, if the keywords ``ramen'', ``donburi'', ``astragalus'', and ``hakata'' are stored, and the user says ``I want to eat this,'' then the representative word ``I want to eat this'' is used. "Ramen," which has a similar feature vector, is selected as the target word, and by combining it with the template sentence, a response sentence such as "I want to eat ramen, too" is generated.
[全体構成]
図1は、本実施形態における発話生成装置1の機能構成を示すブロック図である。
発話生成装置1は、制御部及び記憶部の他、各種インタフェースを備えた情報処理装置であり、記憶部に格納されたソフトウェア(発話生成プログラム)を制御部が実行することにより、本実施形態の各種機能が実現される。
[overall structure]
FIG. 1 is a block diagram showing the functional configuration of the speech generation device 1 in this embodiment.
The utterance generation device 1 is an information processing device equipped with various interfaces in addition to a control section and a storage section. Various functions are realized.
発話生成装置1の記憶部は、キーワードデータベース11と、キーワードメモリ12と、代表語データベース13と、特徴ベクトルデータベース14と、テンプレートデータベース15とを備える。
また、発話生成装置1の制御部は、応答生成処理ブロック20として、代表語探索部21と、対象語推定部22と、発話文生成部23とを備え、キーワード処理ブロック30として、キーワード抽出部31と、キーワード管理部32とを備える。
The storage unit of the utterance generation device 1 includes a
The control unit of the utterance generation device 1 also includes a representative
本実施形態では、発話生成装置1は、テレビのそばに置かれたコミュニケーションロボットの内部に組み込まれる。
そして、発話生成装置1には、ユーザ発話文Uとテレビ出力文Tとが入力され、応答発話文Rが出力される。
In this embodiment, the speech generation device 1 is installed inside a communication robot placed near a television.
Then, the user utterance U and the television output sentence T are input to the utterance generating device 1, and the response utterance R is output.
[ユーザ発話文U]
ユーザ発話文Uは、音声入力装置40に入力された入力音声Viのうち、ユーザの発した音声のみを抽出してテキスト化したものである。なお、音声入力装置40は、コミュニケーションロボットに組み込まれ、複数のマイクを備えたマイクロフォンアレイにより構成される。
[User utterance U]
The user utterance U is a text obtained by extracting only the voice uttered by the user from the input voice Vi input to the
コミュニケーションロボットは、テレビのそばに置かれるため、音声入力装置40に入力される入力音声Viは、ユーザの発話音声の他、テレビから出力された音声を含む複数の音源からの合成音となることが想定される。
そこで、合成音は、音源定位・分離ユニット41により、入力された各音声の方向が検出され音源方向毎の音声に分離される。続いて、分離した音声の中からユーザの発話音声のみが抽出されると、音声認識ユニット42により、テキストに変換されたユーザ発話文Uが得られる。
Since the communication robot is placed near the television, the input voice Vi input to the
Therefore, the direction of each input sound is detected and the synthesized sound is separated into sounds for each sound source direction by the sound source localization/
音源定位・分離ユニット41には、例えば次の文献Aの手法を、音声認識ユニット42には、例えば次の文献Bの手法を用いることができるが、実現手法はこれらに限られない。
文献A: 中臺一博、奥乃博、中島弘史、長谷川雄二、辻野広司、「ロボット聴覚オープンソースソフトウェアHARKの概要と評価」、第26回日本ロボット学会学術講演会、2008
文献B: 篠崎隆宏、「Kaldiツールキットを用いた音声認識システムの構築」、信学技報 116(279)、pp25-29、2016
For the sound source localization/
Literature A: Kazuhiro Nakadai, Hiroshi Okuno, Hiroshi Nakajima, Yuji Hasegawa, Hiroshi Tsujino, "Summary and evaluation of robot hearing open source software HARK", 26th Academic Conference of the Robotics Society of Japan, 2008
Literature B: Takahiro Shinozaki, “Construction of a speech recognition system using Kaldi toolkit”, IEICE Technical Report 116 (279), pp25-29, 2016
なお、テレビが出力する音声を取り除きユーザの発話音声のみを抽出するためには、テレビ及びユーザの方向が必要であるが、ロボット、テレビ及びユーザの位置関係を予めパラメータとして与える方法、ロボットがカメラから画像を取得して画像処理によりテレビ及びユーザの方向を識別する方法、音声入力の頻度からテレビ及びユーザの方向を推定する方法などが利用できる。 Note that in order to remove the audio output from the TV and extract only the user's uttered audio, the direction of the TV and the user is required. A method of acquiring an image from a computer and identifying the direction of the television and the user through image processing, a method of estimating the direction of the television and the user from the frequency of voice input, etc. can be used.
[テレビ出力文T]
テレビ出力文Tは、テレビの放送番組に付加されている字幕文(クローズドキャプション)であってよい。放送番組からの字幕文の抽出方法としては、例えば、ロボットがテレビ受像機と連動して、字幕情報を取得したり、放送連動サービスとして、インターネットなどの通信設備を用いて配信された字幕情報を受信したりする方法が考えられる。
また、テレビ出力文Tは、字幕文に限ったものではなく、例えば、ロボットに装備されたマイク又はカメラを用いて、テレビ音声から音声認識により文が抽出されてもよいし、テレビ映像のキャプチャ画像から画像処理によりオープンキャプションが抽出されてもよい。あるいは、既存の画像認識技術により、被写体の名称又は説明文などが生成されてもよい。
[TV output text T]
The television output sentence T may be a subtitle sentence (closed caption) added to a television broadcast program. Methods for extracting subtitles from broadcast programs include, for example, a robot working in conjunction with a television receiver to obtain subtitle information, or a broadcast-linked service that uses communication equipment such as the Internet to extract subtitle information. One possible method is to receive the information.
Furthermore, the television output sentences T are not limited to subtitle sentences; for example, sentences may be extracted from the television audio by voice recognition using a microphone or camera equipped on a robot, or the sentences may be extracted from the television video by voice recognition. Open captions may be extracted from the image by image processing. Alternatively, the name or explanatory text of the subject may be generated using existing image recognition technology.
[応答発話文R]
応答発話文Rは、音声合成ユニット51により音声へと変換され、スピーカにより構成される音声出力装置50から音声出力される。
音声合成ユニット51の実現手法は限定されないが、例えば次の文献Cの手法を用いることができる。
文献C: 大浦圭一郎、「日本語テキスト音声合成システム Open JTalk」、日本音響学会春季講論集、2010 1、pp343-344、2010
[Response utterance R]
The response utterance R is converted into speech by the
Although the method for realizing the
Document C: Keiichiro Oura, "Japanese text-to-speech synthesis system Open JTalk", Acoustical Society of Japan Spring Proceedings, 2010 1, pp343-344, 2010
[キーワードデータベース11]
キーワードデータベース11は、キーワードが登録されたデータベースである。ここで、キーワードとは、主に、人名、地名、施設などの固有名詞又は一般名詞などである。本実施形態では、キーワードデータベース11には、テレビ出力文Tから対象語(コンテクスト)の候補として抽出したい単語(キーワード)が予め登録されているものとする。
[Keyword database 11]
The
[キーワードメモリ12]
キーワードメモリ12は、テレビ出力文Tから抽出されたキーワードを一定期間保持するためのメモリである。
[Keyword memory 12]
The
図2は、本実施形態におけるキーワードメモリ12に格納されたデータを例示する図である。
この例では、キーワードメモリ12には、「ラーメン」、「どんぶり」、「レンゲ」、「博多」の4つのキーワードが格納されており、それぞれのキーワードが格納された日時も各キーワードに対応付けて保存されている。
FIG. 2 is a diagram illustrating data stored in the
In this example, the
キーワードメモリ12に格納されてから一定期間経過したキーワードについては、キーワード管理部32により削除される。ここでいう一定期間には、任意の時間が設定されてよいが、一般的に人間が何らかの話題に対して反応する時間と処理の遅延時間とを考慮し、例えば15秒程度が設定される。
なお、発話生成装置1の動作開始時には、キーワードメモリ12にはキーワードが保存されていない状態である。
Keywords that have been stored in the
Note that when the utterance generation device 1 starts operating, the
[代表語データベース13]
代表語データベース13には、発話の特徴を示す代表語として感情を表す動詞及び形容詞を含む語句が登録されており、さらに、この代表語と意味が類似する別表現が登録される。
[Representative word database 13]
In the
図3は、本実施形態における代表語データベース13の登録例を示す図である。
この例では、同じ又は似た意味の異なる表現を統一的に扱うため、種別、代表語、別表現の3つのフィールドのデータがリストとして保管されている。
FIG. 3 is a diagram showing an example of registration in the
In this example, in order to uniformly handle different expressions with the same or similar meaning, data in three fields: type, representative word, and other expressions are stored as a list.
種別は、代表語の種別(品詞)を表しており、例えば、vは動詞、aは形容詞を表している。
代表語は、感情を表す動詞又は形容詞を含む語句であり、例えば、動詞を含む代表語として「話したい」、「聞きたい」、「食べたい」が登録されており、形容詞を含む代表語として「きれい」、「おもしろい」、「好き」が登録されている。
The type represents the type (part of speech) of the representative word; for example, v represents a verb, and a represents an adjective.
Representative words are words that include verbs or adjectives that express emotions. For example, "I want to talk", "I want to hear", and "I want to eat" are registered as representative words that include verbs, and "I want to eat" are registered as representative words that include adjectives. "Beautiful", "Interesting", and "I like" are registered.
別表現のフィールドには、代表語と同じ又は似た意味の異なる表現が登録されている。
例えば、「話したい」の別表現として「おしゃべりしたい」、「しゃべってみたい」、「しゃべりたい」、「言いたい」、「言ってみたい」が、「聞きたい」の別表現として、「聞いてみたい」、「お聞きしたい」、「聴いてみたい」が、「食べたい」の別表現として「食いたい」、「食べちゃいたい」、「食べてみたい」が登録されている。
さらに、「きれい」の別表現として「綺麗」が、「おもしろい」の別表現として「面白い」が、「好き」の別表現として「大好き」が登録されている。
In the field of different expressions, different expressions having the same or similar meaning as the representative word are registered.
For example, "I want to talk" can be expressed as "I want to talk", "I want to talk", "I want to talk", "I want to say", "I want to say", and "I want to listen" can be expressed as "I want to talk", "I want to talk", "I want to talk", "I want to say", "I want to say", and "I want to listen" can be expressed as "I want to talk""I want to eat", "I want to hear", and "I want to listen" are registered as alternative expressions of "I want to eat", "I want to eat", "I want to eat", and "I want to eat".
Furthermore, "beautiful" is registered as an alternative expression for "pretty,""interesting" is an alternative expression for "interesting," and "I love" is an alternative expression for "like."
ここで、代表語データベース13には、ひらがな表記と漢字表記とが別の語として登録されている。例えば、字幕文は、放送局又は番組によって使用される表記が異なるが、いずれの表記にもマッチングさせることができる。
なお、本実施形態では、代表語データベース13にも、キーワードデータベース11と同様に、代表語と別表現とが予め登録されているものとする。
Here, in the
In this embodiment, it is assumed that representative words and alternative expressions are registered in advance in the
[特徴ベクトルデータベース14]
特徴ベクトルデータベース14には、代表語及び他のキーワードを含む単語又は語句と、各語に対応する分散表現である特徴ベクトルとが登録される。
[Feature vector database 14]
In the
本実施形態では、特徴ベクトルとして、既知の手法であるword2vecによって算出される特徴ベクトルを用いるものとする。word2vecは、3層のニューラルネットワークを用いており、分かち書きされた大量の文章を入力することで算出された特徴ベクトルは、類似した語が距離的に近いベクトルになることが経験的に知られている。
なお、特徴ベクトルの算出方法は、word2vecに限定されるものではなく、意味的に近い語の特徴ベクトルがベクトル空間上で近くに分布する演算方式であればよい。
In this embodiment, a feature vector calculated by word2vec, which is a known method, is used as the feature vector. word2vec uses a three-layer neural network, and it is known empirically that the feature vectors calculated by inputting a large amount of separated sentences are vectors in which similar words are close in distance. There is.
Note that the feature vector calculation method is not limited to word2vec, and any calculation method may be used as long as the feature vectors of words that are semantically similar are distributed nearby on the vector space.
図4は、本実施形態における特徴ベクトルデータベース14の登録例を示す図である。
この例では、「ラーメン」の特徴ベクトルとしてvec1が登録され、以下、「どんぶり」、「レンゲ」、「博多」、「食べたい」、「聞きたい」、「話したい」の特徴ベクトルとしてそれぞれ、vec2~vec7が登録され、全部でN個の特徴ベクトルが登録されている。
特徴ベクトルデータベース14には、予め大量の文章を入力として学習した特徴ベクトルが登録され、キーワードデータベース11及び代表語データベース13に含まれる語の特徴ベクトルが含まれる必要がある。
FIG. 4 is a diagram showing an example of registration in the
In this example, vec1 is registered as the feature vector for "ramen", and hereafter, as the feature vectors for "donburi", "renge", "hakata", "want to eat", "want to listen", and "want to talk", respectively. vec2 to vec7 are registered, and a total of N feature vectors are registered.
The
[テンプレートデータベース15]
テンプレートデータベース15には、代表語に対する発話文のテンプレートが登録される。代表語は、代表語データベース13の代表語フィールドに登録されている語と同じである。
[Template database 15]
In the
図5は、本実施形態におけるテンプレートデータベース15の登録例を示す図である。
この例では、テンプレートデータベース15には、「使いたい」という代表語に対して、「%keyを使ってみたい」、「今度%keyを使ってみよう」などのテンプレート文が登録されている。また、同様に、「飲みたい」、「食べたい」、「きれい」、「おもしろい」、「好き」の各代表語に対応するテンプレート文が登録されている。
ここで、%keyは、何らかのキーワードに置き換えられる箇所を示している。
なお、テンプレートデータベース15のデータは、予め準備され登録される。
FIG. 5 is a diagram showing an example of registration in the
In this example, template sentences such as "I want to use %key" and "I will try using %key next time" are registered in the
Here, %key indicates a location to be replaced with some keyword.
Note that the data in the
発話生成装置1による発話生成処理は、これらの各種データベースを利用し、応答生成処理ブロック20とキーワード処理ブロック30の各機能ブロックそれぞれの処理から構成される。これら2つの処理は並列で行われてよい。
The utterance generation process by the utterance generation device 1 utilizes these various databases and is comprised of processing of each functional block, the response
[キーワード処理]
キーワード処理は、キーワード処理ブロック30を構成するキーワード抽出部31及びキーワード管理部32により実行される。
[Keyword processing]
Keyword processing is executed by a
キーワード抽出部31は、テレビ出力文T(発話生成装置1への入力文)の中に、キーワードデータベース11に登録されているキーワードが含まれているかどうかを検索する。キーワードが含まれていない場合、キーワード抽出部31は、次のテレビ出力文Tが入力されるまで待機する。キーワードが含まれていた場合は、キーワード抽出部31は、該当のキーワードを抽出しキーワード管理部32に入力する。
なお、テレビ出力文Tに複数のキーワードが含まれていた場合は、これら全てがキーワード管理部32に入力されてよい。
The
Note that if the television output sentence T includes a plurality of keywords, all of these keywords may be input to the
キーワード管理部32は、キーワードメモリ12に一時的に保持されるキーワードを管理する。具体的には、キーワード管理部32は、キーワード抽出部31より入力されたキーワードを、時刻情報と共にキーワードメモリ12に格納する。また、キーワード管理部32は、発話生成装置1の動作開始時にキーワード保持時間を予め設定しておき、キーワードメモリ12に格納されてからキーワード保持時間が経過したキーワードを、キーワードメモリ12から削除する。
これにより、キーワードメモリ12には、視聴中のテレビ番組において現在話題になっているキーワードが所定期間(例えば、15秒間)保持される。
The
As a result, the
図6は、本実施形態におけるキーワード処理を示すフローチャートである。
ステップS1において、キーワード抽出部31は、発話生成装置1への入力テキストとしてテレビ出力文Tを受け付ける。
FIG. 6 is a flowchart showing keyword processing in this embodiment.
In step S1, the
ステップS2において、キーワード抽出部31は、受け付けたテレビ出力文Tの中に、キーワードデータベース11に登録されているキーワードが含まれているか否かを判定する。この判定がYESの場合、処理はステップS3に移り、判定がNOの場合、処理は終了する。
In step S2, the
ステップS3において、キーワード管理部32は、テレビ出力文Tに含まれていたキーワードを、時刻情報と共にキーワードメモリ12に格納する。
なお、格納されたキーワードは、本処理とは別に、所定のキーワード保持時間が経過すると、キーワードメモリ12から削除される。
In step S3, the
Note that, apart from this process, the stored keywords are deleted from the
[応答生成処理]
応答生成処理は、応答生成処理ブロック20を構成する代表語探索部21、対象語推定部22、及び発話文生成部23により実行される。
[Response generation processing]
The response generation process is executed by the representative
代表語探索部21は、入力されたユーザ発話文Uに、代表語データベース13に格納されている代表語又はその別表現が含まれているかどうかを探索する。代表語データベース13の代表語及びその別表現がユーザ発話文Uに含まれていた場合、代表語探索部21は、ユーザ発話文Uとそれに含まれていた代表語とを、対象語推定部22に入力する。
なお、ユーザ発話文Uに複数の代表語が含まれていた場合、代表語探索部21は、これら全てを対象語推定部22に入力してよい。また、代表語が一つも含まれていない場合、対象語推定部22への入力はなく、代表語探索部21は、次のユーザ発話文Uが入力されるまで待機する。
The representative
Note that if the user utterance sentence U includes a plurality of representative words, the representative
対象語推定部22は、ユーザ発話文Uと代表語とからユーザ発話の対象語となるキーワードをキーワードメモリ12から推定する。
具体的には、まず、ユーザ発話文Uに、キーワードメモリ12に格納されているキーワードが含まれているかどうかを確認する。キーワードがユーザ発話文Uに含まれていた場合、このユーザ発話文Uに含まれる代表語の対象は、確認されたキーワードであることが明示的であり推定する必要がない。例えば、ユーザ発話文Uが「このラーメンおいしそう」であった場合、代表語である「おいしそう」の対象がキーワード「ラーメン」であることは自明である。
The target
Specifically, first, it is checked whether the user's utterance U includes the keyword stored in the
なお、本実施形態では、対象語推定部22は、単にユーザ発話文Uに対して、キーワードメモリ12に格納されているキーワードが含まれているかどうかのみを確認することとしているが、例えば、係り受け解析技術などを利用することで、より高精度に対象語を特定することができる。
Note that in this embodiment, the target
一方、ユーザ発話文Uに、キーワードメモリ12に格納されているキーワードが含まれていない場合、対象語推定部22は、対象語となるキーワードを推定する。このとき、対象語推定部22は、代表語探索部21において抽出された代表語及びキーワードメモリ12に含まれているキーワードそれぞれの特徴ベクトルを特徴ベクトルデータベース14から取り出し、特徴ベクトル間の距離を計算する。
ここで、キーワードメモリ12に格納されているキーワードkの特徴ベクトルをveck、ユーザ発話文Uに含まれる代表語tの特徴ベクトルをvectとしたとき、veckとvectとの間の距離として、例えば、次式のコサイン類似度cos(veck,vect)が利用できる。
cos(veck,vect)=(veck・vect)/(|veck||vect|)
On the other hand, if the user's utterance sentence U does not include the keyword stored in the
Here, when the feature vector of the keyword k stored in the
cos(veck,vect)=(veck・vect)/(|veck||vect|)
次に、対象語推定部22は、キーワードメモリ12に含まれるキーワードの特徴ベクトルと、ユーザ発話文Uに含まれる代表語の特徴ベクトルとのコサイン類似度の計算結果を、値の大きい順にランキング(ソート)する。そして、対象語推定部22は、ランキングが最上位であり、ユーザ発話文Uに含まれる代表語に関連が強いキーワードを、キーワードメモリ12の中から推定結果として決定する。対象語として決定されたキーワードは、発話文生成部23に入力される。
Next, the target
なお、代表語探索部21において複数の代表語が抽出された場合、対象語推定部22は、複数の代表語それぞれに対してキーワードメモリ12に含まれるキーワードとのコサイン類似度を計算した後、全ての計算結果を値の大きい順にランキング(ソート)し、最もコサイン類似度の大きい代表語とキーワードとのペアを発話文生成部23に入力する。
Note that when a plurality of representative words are extracted by the representative
図7は、本実施形態における対象語推定部22の動作イメージを例示する図である。
この例では、キーワードメモリ12には、「ラーメン」、「どんぶり」、「レンゲ」、「博多」の4つのキーワードが格納されており、それぞれの特徴ベクトルは、特徴ベクトルデータベース14により、vec1、vec2、vec3、vec4と定義されている。このとき、ユーザ発話文Uに代表語「食べたい」(特徴ベクトルvec5)が含まれていた場合を考える。
FIG. 7 is a diagram illustrating an operational image of the target
In this example, the
本実施形態の特徴ベクトルは、例えば、「ラーメン」の近くに「うどん」、「カレー」、「焼きそば」などが分布するように、似た傾向の語の特徴ベクトルが近くなる。これと共に、関連のある語の特徴ベクトルも近くなる。すなわち、「ラーメン」のような食べ物の特徴ベクトルは、「食べたい」という特徴ベクトルと近い位置に分布し、その一方で、「博多」などの地名の特徴ベクトルは、「食べたい」の特徴ベクトルとは遠い距離に分布している。これにより、代表語「食べたい」に対して、キーワードメモリ12に含まれるキーワードの中では、「ラーメン」というキーワードが最もコサイン類似度が高くなり、代表語「食べたい」の対象語はキーワード「ラーメン」であると推定される。
In the feature vectors of this embodiment, feature vectors of words with similar tendencies are arranged close to each other, for example, "udon", "curry", "yakisoba", etc. are distributed near "ramen". Along with this, the feature vectors of related words also become closer. In other words, the feature vector of a food such as "Ramen" is distributed close to the feature vector of "I want to eat", while the feature vector of a place name such as "Hakata" is distributed close to the feature vector of "I want to eat". are distributed far away. As a result, among the keywords included in the
発話文生成部23は、ユーザ発話文Uに含まれている代表語に対応して、テンプレートデータベース15に登録されているテンプレートの中から、ランダムにテンプレートを選択する。そして、発話文生成部23は、選択したテンプレート内の「%key」の部分を、対象語推定部22により対象語として推定されたキーワードに置き換えることで、発話文を生成する。
The
例えば、ユーザ発話文Uに含まれている代表語が「食べたい」で、対象語としてキーワードメモリ12内の「ラーメン」が推定されているとする。この場合、図5のテンプレートデータベース15から、代表語「食べたい」に対して登録されたテンプレートの1番目が選ばれると、発話文は、対象語「ラーメン」を組み合わせて「僕もラーメン食べたい」となる。
発話生成装置1は、このように生成した発話文を応答発話文Rとして出力する。
For example, assume that the representative word included in the user's utterance U is "I want to eat" and "Ramen" in the
The utterance generation device 1 outputs the utterance generated in this way as a response utterance R.
なお、本実施形態では、発話文生成部23は、代表語に対して複数登録されたテンプレートをランダムに選択するものとして説明したが、これには限られない。例えば、特定のテンプレートに重み付けをして選択しやすくし、選択確率に偏りを持たせてもよいし、この選択確率を視聴番組に関連して適宜更新することで、発話文に個性を持たせてもよい。
In the present embodiment, the
図8は、本実施形態における応答生成処理を示すフローチャートである。
ステップS11において、代表語探索部21は、ユーザ発話文Uを受け付ける。
FIG. 8 is a flowchart showing response generation processing in this embodiment.
In step S11, the representative
ステップS12において、代表語探索部21は、ユーザ発話文Uの中に、代表語データベース13に格納されている代表語又はその別表現が含まれているか否かを判定する。この判定がYESの場合、処理はステップS13に移り、判定がNOの場合、処理は終了する。
In step S12, the representative
ステップS13において、対象語推定部22は、ユーザ発話文Uの中に、キーワードメモリ12に格納されているキーワードが含まれているか否かを判定する。この判定がYESの場合、ユーザ発話文Uに含まれているキーワードを対象語とし、処理はステップS15に移る。一方、判定がNOの場合、処理はステップS14に移る。
In step S13, the target
ステップS14において、対象語推定部22は、代表語の特徴ベクトルと、キーワードメモリ12に格納されているキーワード毎の特徴ベクトルとの距離をそれぞれ算出し、最も距離が近いキーワードを対象語として決定する。
In step S14, the target
ステップS15において、発話文生成部23は、代表語に対応するテンプレートを選択する。
In step S15, the
ステップS16において、発話文生成部23は、テンプレートに対象語を組み合わせて、応答発話文Rを生成して出力する。
In step S16, the
本実施形態によれば、発話生成装置1は、ユーザ発話文Uから代表語を、テレビ出力文Tからキーワードをそれぞれ抽出し、代表語の特徴ベクトルと距離が近く、かつ、所定時間内に用いられたキーワードを対象語として組み合わせ、応答発話文Rを生成する。
これにより、発話生成装置1は、テレビ番組視聴中にユーザが発した、感情を表現し、かつ、対象となるコンテクストを明示的に含んでいない発話、例えば、ラーメンが出てきたシーンで発した「これ食べたいな」というような発話に対して、「このラーメン食べてみたいね」、「僕は味噌ラーメンが好き」のように、明示されていないコンテクストを推定した上で、応答としての発話文を生成できる。
According to the present embodiment, the utterance generation device 1 extracts a representative word from the user's uttered sentence U and a keyword from the TV output sentence T, and extracts keywords that are close to the feature vector of the representative word and used within a predetermined time. A response utterance R is generated by combining the keywords found as target words.
As a result, the utterance generation device 1 generates utterances uttered by the user while watching a TV program that express emotions and do not explicitly include the target context, such as utterances uttered in a scene where ramen noodles are served. In response to an utterance such as ``I want to eat this,'' an utterance such as ``I would like to try this ramen'' or ``I like miso ramen'' is uttered after inferring the unspecified context. Can generate sentences.
したがって、発話生成装置1をコミュニケーションロボットに組み込むことで、ユーザの発話文に明示されていなかった対象語を推定し、対象語を含んだ応答文により人と対話できるコミュニケーションロボットが実現される。この結果、発話生成装置1は、会話が噛み合わない応答を行ってしまうことを防ぎ、コミュニケーションロボットに対してユーザが愛着を持つことの手助けとなることが期待できる。 Therefore, by incorporating the utterance generation device 1 into a communication robot, a communication robot that can estimate a target word that is not explicitly stated in a user's utterance and interact with a person using a response sentence that includes the target word is realized. As a result, the speech generation device 1 can be expected to prevent the user from giving a response that does not fit the conversation, and to help the user develop an attachment to the communication robot.
また、発話生成装置1は、対象語を、代表語に対応するテンプレートに組み合わせて応答発話文Rを生成することにより、容易に応答発話文Rを生成することができる。 Furthermore, the utterance generation device 1 can easily generate the response utterance R by combining the target word with the template corresponding to the representative word.
また、キーワードがテレビ番組の映像又は音声から抽出されることにより、発話生成装置1は、テレビ視聴中のユーザの発話に対して、コンテクストを考慮した適切な応答発話文Rを生成できる。 Further, by extracting the keyword from the video or audio of the television program, the utterance generating device 1 can generate an appropriate response utterance R in consideration of the context to the utterance of the user while watching the television.
[第2実施形態]
以下、本発明の第2実施形態について説明する。
本実施形態では、発話文生成部23の機能が第1実施形態とは異なり、外部の人工無能を利用して、応答発話文Rを生成する。
[Second embodiment]
A second embodiment of the present invention will be described below.
In this embodiment, the function of the
発話文生成部23は、テンプレートデータベース15を利用せず、対話API呼出部231により、外部の人工無脳にアクセスする。
ここで、人工無脳は、テキスト又は音声を通じて会話を自動的に行うプログラムにより構成される。このような人工無脳は、インターネット上に存在する情報を収集し、SNSなどで話題となっている時事的な内容に関する対話を実現できるものも多い。
人工無脳は、ユーザから送られた文に対して返答を行う。例えば、ユーザが「ラーメン食べたい」と送ったとき、人工無脳からは、「僕は味噌ラーメンが好き」や「最近○○のラーメンが人気みたいだよ」などの返答が得られることが期待される。
The
Here, the artificial brain is composed of a program that automatically carries out conversations through text or voice. Many of these artificial mindless machines are able to gather information on the Internet and carry out conversations about current topics that are being talked about on social networking sites.
The artificial brain responds to sentences sent by the user. For example, when a user sends a message saying, ``I want to eat ramen,'' the artificial mindless brain is expected to respond with something like ``I like miso ramen,'' or ``It seems like ○○'s ramen is popular these days.'' be done.
図9は、本実施形態における人工無脳を利用した応答発話文Rの生成の例を示す図である。
この例では、「これ食べたい」というユーザ発話文Uに対して、代表語探索部21において「食べたい」が代表語として抽出され、対象語推定部22において「ラーメン」が対象語として推定された場合を示している。
FIG. 9 is a diagram showing an example of generation of a response utterance R using artificial brainlessness in this embodiment.
In this example, for the user's uttered sentence U, "I want to eat this," the representative
代表語「食べたい」と対象語「ラーメン」を組み合わせることで「ラーメン食べたい」という文を作成することができる。この文は、ユーザ発話文Uに明示されていなかった対象語を補った文である。この文を人工無脳に送ることで、人工無脳からは、返答として「僕は味噌ラーメンが好き」といった文が返ってくる。発話文生成部23は、人工無脳からの返答文を応答発話文Rとして出力することで、テンプレートデータベース15を利用しない発話文生成を実現できる。
ここでは、人工無能に文をパラメータとして入力することを想定している。このため、代表語及び対象語から文を作成するためのテンプレートが予め用意されてもよいし、テンプレートデータベース15が流用されてもよい。あるいは、語句を受け付け可能な人工無能の場合には、代表語及び対象語がそのままパラメータとして入力されてもよい。
The sentence ``I want to eat ramen'' can be created by combining the representative word ``I want to eat'' and the target word ``Ramen.'' This sentence is a sentence in which a target word that was not specified in the user's uttered sentence U is added. By sending this sentence to the artificial brain, the artificial brain will respond with a sentence such as ``I like miso ramen.'' The
Here, it is assumed that a sentence is input as a parameter to the artificial incompetence. For this reason, a template for creating a sentence from the representative word and the target word may be prepared in advance, or the
なお、応答発話文Rを生成する際に、テンプレートデータベース15を利用した手法と人工無脳を利用した手法とを併用することも可能である。発話文生成部23は、これら2つの手法で生成した文のいずれかをランダムに出力してもよい。
また、複数の人工無脳を利用することも可能であるが、人工無脳は、その個性に合わせた一人称(私、僕、など)及び語尾(です、だよ、など)を利用している場合がある。この場合、テンプレートデータベース15のテンプレート文に合わせて、文を整形して応答発話文Rとすることが好ましい。
Note that when generating the response utterance R, it is also possible to use a method using the
It is also possible to use multiple artificial brains, but artificial brains use the first person (me, me, etc.) and word endings (desu, dayo, etc.) that match their personality. There are cases. In this case, it is preferable that the response utterance R is formed by formatting the sentence in accordance with the template sentence in the
本実施形態によれば、発話生成装置1は、対象語及び代表語を含むパラメータにより、人工無能にアクセスし、応答発話文を取得する。
これにより、発話生成装置1は、限られたテンプレートによらず、バリエーションに富む応答発話文Rを出力することができる。また、代表語及び対象語の組み合わせは、ユーザの発話内容を解釈したものであるため、これに対して、さらに応答となる文を取得することで、発話生成装置1は、ユーザの発話に応じた対話を実現できる。
According to this embodiment, the utterance generation device 1 accesses the artificial incompetent person using parameters including the target word and the representative word, and obtains a response utterance.
Thereby, the utterance generation device 1 can output response utterances R with a wide variety without relying on a limited template. Furthermore, since the combination of the representative word and the target word is an interpretation of the content of the user's utterance, the utterance generating device 1 can respond to the user's utterance by further acquiring a response sentence. It is possible to realize a dialogue based on
なお、人工無能は、クラウドなどの外部サーバに設けられたアプリケーションであってよいが、これには限られず、発話生成装置1に組み込まれていてもよい。 Note that the artificial incompetence may be an application provided in an external server such as a cloud, but is not limited to this, and may be incorporated in the speech generation device 1.
[第3実施形態]
以下、本発明の第3実施形態について説明する。
発話生成装置1は、キーワードメモリ12に含まれるキーワードの中からユーザ発話文Uに含まれる代表語の対象となるキーワードを推定するが、キーワードメモリ12に格納されるキーワードが抽出されるテキストの発生元は限定されない。すなわち、対話の文脈となる対象語の発生元は、テレビ、ラジオ、人間など、様々なシチュエーションが考えられる。したがって、キーワード処理ブロック30へ入力されるテキストを変更し、キーワードメモリ12のデータを変更することで、異なるシチュエーションにおける発話文生成を実現できる。
[Third embodiment]
A third embodiment of the present invention will be described below.
The utterance generation device 1 estimates the keyword that is the target of the representative word included in the user utterance sentence U from among the keywords included in the
本実施形態では、キーワード処理ブロック30へ入力されるテキストが第1実施形態とは異なり、前述のテレビ出力文Tに代えて、複数のユーザの発話文となる。
これにより、キーワードメモリ12には、複数のユーザそれぞれの発したキーワードがユーザと対応付けて格納される。
そして、対象語推定部22は、代表語を抽出したユーザとは異なるユーザの発話文から抽出されたキーワードの中から対象語を決定する。
In this embodiment, the text input to the
Thereby, the keywords issued by each of the plurality of users are stored in the
Then, the target
図10は、本実施形態における複数ユーザとの対話における応答発話文Rの生成例を示す図である。
この例では、ユーザ2人のそばに発話生成装置1が組み込まれたコミュニケーションロボットがいる場合を想定している。
FIG. 10 is a diagram showing an example of generating a response utterance R in a dialogue with multiple users in this embodiment.
In this example, it is assumed that a communication robot in which the speech generation device 1 is installed is present near two users.
発話生成装置1は、音声入力装置40及び音源定位・分離ユニット41によって、2人のユーザの発話を分類して処理する。その後、音声認識ユニット42によってテキスト化されたユーザ発話文Uは、代表語探索部21に入力されると同時に、キーワード抽出部31にも入力される。
このとき、キーワードメモリ12には、キーワード及び格納日時のフィールドの他に、新たにユーザ情報を保存するフィールドが設けられる。このユーザ情報のフィールドには、キーワードが抽出される元となったユーザ発話文Uを発したユーザ名又はIDなどが格納される。
The speech generation device 1 uses the
At this time, in addition to the keyword and storage date and time fields, the
代表語探索部21においてユーザ発話文Uから代表語が抽出されたとき、対象語推定部22は、このユーザ発話文Uを発したユーザとは別のユーザが発したキーワードを、キーワードメモリ12から抽出すると、これらのキーワードに対して代表語とのコサイン類似度を計算する。つまり、対象語推定部22は、ユーザXの発話文に対してはユーザYが発したキーワード、ユーザYの発話文に対してはユーザXが発したキーワードの中から対象語を推定する。
When the representative
例えば、図10では、ユーザXが発したキーワードとして「ラーメン」、ユーザYが発したキーワードとして「焼き肉」及び「渋谷」がキーワードメモリ12に格納されている。このとき、ユーザXが「あ、それは食べたい。行ってみよう。」と発話した場合、代表語探索部21により代表語「食べたい」が抽出される。対象語推定部22は、キーワードメモリ12内に格納されているユーザYが発したキーワード「焼き肉」及び「渋谷」と、代表語「食べたい」とのコサイン類似度をそれぞれ計算し、ランキング(ソート)を行う。この結果、対象語としては「焼き肉」が選択され、テンプレートデータベース15を利用することで、「僕も焼き肉食べたい」という応答発話文Rが生成される。
For example, in FIG. 10, "ramen" is a keyword uttered by user X, and "yakiniku" and "Shibuya" are stored as keywords uttered by user Y, in the
ユーザが3人以上の場合も同様に、対象語推定部22は、代表語が抽出された発話文を発したユーザ以外が発したキーワードの中から対象語を推定することで、応答発話文Rを生成できる。
Similarly, when there are three or more users, the target
本実施形態によれば、発話生成装置1は、代表語を抽出した発話文を発したユーザとは異なるユーザの発話文から抽出されたキーワードの中から対象語を決定する。
これにより、発話生成装置1は、複数のユーザの会話の輪に入り、ユーザ間の話題を推定しつつ、いずれかのユーザの発話に対して応答できる。
According to this embodiment, the utterance generation device 1 determines the target word from among the keywords extracted from the utterances of a user different from the user who uttered the utterance from which the representative word was extracted.
Thereby, the utterance generation device 1 can participate in the conversation of a plurality of users and respond to the utterances of any of the users while estimating the topic among the users.
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。 Although the embodiments of the present invention have been described above, the present invention is not limited to the embodiments described above. Further, the effects described in the above-described embodiments are only a list of the most preferable effects resulting from the present invention, and the effects according to the present invention are not limited to those described in the embodiments.
前述の実施形態では、発話生成装置1は、ユーザの発話に対する応答として応答発話文Rを生成したが、他の発話文生成処理を組み合わせて対話のバリエーションを増やしてもよい。例えば、特許文献2に開示されているような、テレビ出力文Tに基づいて自発的に発話する処理と組み合わせることにより、ユーザの発話がないときにも、ロボットが発話するよう構成されてもよい。 In the embodiment described above, the utterance generation device 1 generated the response utterance R as a response to the user's utterance, but it may also combine other utterance generation processes to increase the variety of dialogues. For example, the robot may be configured to speak even when the user does not speak, by combining the process of spontaneously speaking based on the TV output sentence T as disclosed in Patent Document 2. .
前述の実施形態では、各種のデータベースは、発話生成装置1が備える構成としたが、これには限られず、データベースは、クラウドなどの外部サーバに配置されてもよい。 In the embodiment described above, various databases are provided in the speech generation device 1, but the present invention is not limited to this, and the databases may be placed in an external server such as a cloud.
本実施形態では、主に発話生成装置1の構成と動作について説明したが、本発明はこれに限られず、各構成要素を備え、ロボットの発話文を生成するための方法、又はプログラムとして構成されてもよい。 In the present embodiment, the configuration and operation of the utterance generation device 1 have been mainly described, but the present invention is not limited to this, and may be configured as a method or program that includes each component and generates a robot's utterance. It's okay.
さらに、発話生成装置1の機能を実現するためのプログラムをコンピュータで読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。 Furthermore, the functions of the utterance generation device 1 may be realized by recording a program on a computer-readable recording medium, causing the computer system to read and execute the program recorded on the recording medium. good.
ここでいう「コンピュータシステム」とは、OSや周辺機器などのハードウェアを含むものとする。また、「コンピュータで読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROMなどの可搬媒体、コンピュータシステムに内蔵されるハードディスクなどの記憶装置のことをいう。 The "computer system" here includes hardware such as an OS and peripheral devices. Furthermore, the term "computer-readable recording medium" refers to portable media such as flexible disks, magneto-optical disks, ROMs, and CD-ROMs, and storage devices such as hard disks built into computer systems.
さらに「コンピュータで読み取り可能な記録媒体」とは、インターネットなどのネットワークや電話回線などの通信回線を介してプログラムを送信する場合の通信線のように、短時刻の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時刻プログラムを保持しているものも含んでもよい。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。 Furthermore, a ``computer-readable recording medium'' refers to a computer-readable storage medium that dynamically retains a program for a short period of time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. It may also include a device that stores a program at a fixed time, such as a volatile memory inside a computer system that is a server or client in that case. Further, the above program may be for realizing a part of the above-mentioned functions, or may be one that can realize the above-mentioned functions in combination with a program already recorded in the computer system. .
R 応答発話文
T テレビ出力文
U ユーザ発話文
1 発話生成装置
11 キーワードデータベース
12 キーワードメモリ
13 代表語データベース
14 特徴ベクトルデータベース
15 テンプレートデータベース
20 応答生成処理ブロック
21 代表語探索部
22 対象語推定部
23 発話文生成部
30 キーワード処理ブロック
31 キーワード抽出部
32 キーワード管理部
231 対話API呼出部
R Response utterance T Television output sentence U User utterance 1
Claims (7)
抽出された前記キーワードをキーワードメモリに格納し、格納時から所定時間が経過した前記キーワードを前記キーワードメモリから削除するキーワード管理部と、
ユーザの発話文に含まれる、予め登録されている代表語を探索する代表語探索部と、
前記代表語の特徴ベクトルと前記キーワードメモリに格納されている前記キーワードそれぞれの特徴ベクトルとの距離に基づいて、前記発話文の対象語となる前記キーワードを決定する対象語推定部と、
前記代表語に対応して予め登録されている発話文のテンプレートに前記対象語を組み合わせた文を、前記ユーザの発話文に対する応答発話文として生成する発話文生成部と、を備える発話生成装置。 a keyword extraction unit that extracts keywords registered in the keyword database from the input sentence;
a keyword management unit that stores the extracted keyword in a keyword memory and deletes the keyword from the keyword memory after a predetermined period of time has elapsed since the keyword was stored;
a representative word search unit that searches for a pre-registered representative word included in a user's utterance;
a target word estimation unit that determines the keyword to be the target word of the uttered sentence based on the distance between the feature vector of the representative word and the feature vector of each of the keywords stored in the keyword memory;
an utterance generating unit that generates a sentence in which the target word is combined with an utterance template registered in advance corresponding to the representative word as a response utterance to the user's utterance ; .
抽出された前記キーワードをキーワードメモリに格納し、格納時から所定時間が経過した前記キーワードを前記キーワードメモリから削除するキーワード管理部と、
ユーザの発話文に含まれる、予め登録されている代表語を探索する代表語探索部と、
前記代表語の特徴ベクトルと前記キーワードメモリに格納されている前記キーワードそれぞれの特徴ベクトルとの距離に基づいて、前記発話文の対象語となる前記キーワードを決定する対象語推定部と、
前記代表語に対応して予め登録されている発話文のテンプレートに前記対象語を組み合わせた文を生成し、受信した文に対して機械的に返答文を生成して返信する外部アプリケーションにアクセスして、前記組み合わせた文に対する返答文を前記ユーザの発話文に対する応答発話文として取得する発話文生成部と、を備える発話生成装置。 a keyword extraction unit that extracts keywords registered in the keyword database from the input sentence;
a keyword management unit that stores the extracted keyword in a keyword memory and deletes the keyword from the keyword memory after a predetermined period of time has elapsed since the keyword was stored;
a representative word search unit that searches for a pre-registered representative word included in a user's utterance;
a target word estimation unit that determines the keyword to be the target word of the uttered sentence based on the distance between the feature vector of the representative word and the feature vector of each of the keywords stored in the keyword memory;
Access an external application that generates a sentence that combines the target word with a pre-registered utterance template corresponding to the representative word, and automatically generates and replies to the received sentence . and an utterance generation unit that acquires a response sentence to the combined sentence as a response utterance to the user's utterance.
前記対象語推定部は、前記代表語を抽出したユーザとは異なるユーザの発話文から抽出されたキーワードの中から、前記対象語を決定する請求項1又は請求項2に記載の発話生成装置。 The input sentence is a sentence uttered by a plurality of users,
The utterance generation device according to claim 1 or 2 , wherein the target word estimation unit determines the target word from among keywords extracted from utterances of a user different from the user who extracted the representative word.
抽出された前記キーワードをキーワードメモリに格納し、格納時から所定時間が経過した前記キーワードを前記キーワードメモリから削除するキーワード管理ステップと、
ユーザの発話文に含まれる、予め登録されている代表語を探索する代表語探索ステップと、
前記代表語の特徴ベクトルと前記キーワードメモリに格納されている前記キーワードそれぞれの特徴ベクトルとの距離に基づいて、前記発話文の対象語となる前記キーワードを決定する対象語推定ステップと、
前記代表語に対応して予め登録されている発話文のテンプレートに前記対象語を組み合わせた文を、前記ユーザの発話文に対する応答発話文として生成する発話文生成ステップと、をコンピュータが実行する発話生成方法。 a keyword extraction step of extracting keywords registered in the keyword database from the input sentence;
a keyword management step of storing the extracted keywords in a keyword memory, and deleting the keywords from the keyword memory after a predetermined period of time has passed since the keywords were stored;
a representative word search step of searching for a pre-registered representative word included in the user's utterance;
a target word estimation step of determining the keyword to be the target word of the uttered sentence based on the distance between the feature vector of the representative word and the feature vector of each of the keywords stored in the keyword memory;
A computer executes a utterance generation step of generating a sentence in which the target word is combined with a utterance template registered in advance corresponding to the representative word as a response utterance to the user's utterance. Utterance generation method.
抽出された前記キーワードをキーワードメモリに格納し、格納時から所定時間が経過した前記キーワードを前記キーワードメモリから削除するキーワード管理ステップと、
ユーザの発話文に含まれる、予め登録されている代表語を探索する代表語探索ステップと、
前記代表語の特徴ベクトルと前記キーワードメモリに格納されている前記キーワードそれぞれの特徴ベクトルとの距離に基づいて、前記発話文の対象語となる前記キーワードを決定する対象語推定ステップと、
前記代表語に対応して予め登録されている発話文のテンプレートに前記対象語を組み合わせた文を生成し、受信した文に対して機械的に返答文を生成して返信する外部アプリケーションにアクセスして、前記組み合わせた文に対する返答文を前記ユーザの発話文に対する応答発話文として取得する発話文生成ステップと、をコンピュータが実行する発話生成方法。 a keyword extraction step of extracting keywords registered in the keyword database from the input sentence;
a keyword management step of storing the extracted keywords in a keyword memory, and deleting the keywords from the keyword memory after a predetermined period of time has passed since the keywords were stored;
a representative word search step of searching for a pre-registered representative word included in the user's utterance;
a target word estimation step of determining the keyword to be the target word of the uttered sentence based on the distance between the feature vector of the representative word and the feature vector of each of the keywords stored in the keyword memory;
Access an external application that generates a sentence that combines the target word with a pre-registered utterance template corresponding to the representative word, and automatically generates and replies to the received sentence . and acquiring a response sentence to the combined sentence as a response sentence to the user's utterance.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019108667A JP7365791B2 (en) | 2019-06-11 | 2019-06-11 | Utterance generation device, utterance generation method, and utterance generation program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019108667A JP7365791B2 (en) | 2019-06-11 | 2019-06-11 | Utterance generation device, utterance generation method, and utterance generation program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2020201748A JP2020201748A (en) | 2020-12-17 |
| JP7365791B2 true JP7365791B2 (en) | 2023-10-20 |
Family
ID=73743418
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019108667A Active JP7365791B2 (en) | 2019-06-11 | 2019-06-11 | Utterance generation device, utterance generation method, and utterance generation program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7365791B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022179088A (en) * | 2021-05-21 | 2022-12-02 | 株式会社問道社 | Thought cognition support system using dialogue tools |
| US11677692B2 (en) * | 2021-09-15 | 2023-06-13 | International Business Machines Corporation | Conversational systems content related to external events |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011170735A (en) | 2010-02-22 | 2011-09-01 | Sony Corp | Sever device, electronic equipment, retrieval system, retrieval method and program |
| WO2018043113A1 (en) | 2016-08-29 | 2018-03-08 | ソニー株式会社 | Information processing apparatus, information processing method, and program |
| WO2018142686A1 (en) | 2017-01-31 | 2018-08-09 | ソニー株式会社 | Information processing device, information processing method, and program |
| JP2018190077A (en) | 2017-04-28 | 2018-11-29 | 日本放送協会 | Utterance generation apparatus, utterance generation method, and utterance generation program |
-
2019
- 2019-06-11 JP JP2019108667A patent/JP7365791B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011170735A (en) | 2010-02-22 | 2011-09-01 | Sony Corp | Sever device, electronic equipment, retrieval system, retrieval method and program |
| WO2018043113A1 (en) | 2016-08-29 | 2018-03-08 | ソニー株式会社 | Information processing apparatus, information processing method, and program |
| WO2018142686A1 (en) | 2017-01-31 | 2018-08-09 | ソニー株式会社 | Information processing device, information processing method, and program |
| JP2018190077A (en) | 2017-04-28 | 2018-11-29 | 日本放送協会 | Utterance generation apparatus, utterance generation method, and utterance generation program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2020201748A (en) | 2020-12-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110300001B (en) | Conference audio control method, system, device and computer readable storage medium | |
| US11682393B2 (en) | Method and system for context association and personalization using a wake-word in virtual personal assistants | |
| KR102803661B1 (en) | Filtering other speakers' voices from calls and audio messages | |
| KR102462219B1 (en) | Method of Automatically Generating Meeting Minutes Using Speaker Diarization Technology | |
| US12243536B2 (en) | Automatically recognizing and surfacing important moments in multi-party conversations | |
| US7788095B2 (en) | Method and apparatus for fast search in call-center monitoring | |
| CN110634472B (en) | Speech recognition method, server and computer readable storage medium | |
| US20200012724A1 (en) | Bidirectional speech translation system, bidirectional speech translation method and program | |
| CN112530408A (en) | Method, apparatus, electronic device, and medium for recognizing speech | |
| US20090150155A1 (en) | Keyword extracting device | |
| US20220076686A1 (en) | Systems and methods for filtering unwanted sounds from a conference call using voice synthesis | |
| US20220157316A1 (en) | Real-time voice converter | |
| JP6914094B2 (en) | Utterance generator, utterance generation method and utterance generation program | |
| JP7365791B2 (en) | Utterance generation device, utterance generation method, and utterance generation program | |
| US11798538B1 (en) | Answer prediction in a speech processing system | |
| Meliones et al. | SeeSpeech: an android application for the hearing impaired | |
| JP7352491B2 (en) | Dialogue device, program, and method for promoting chat-like dialogue according to user peripheral data | |
| CN113409763A (en) | Voice correction method and device and electronic equipment | |
| CN112883350A (en) | Data processing method and device, electronic equipment and storage medium | |
| KR102604277B1 (en) | Complex sentiment analysis method using speaker separation STT of multi-party call and system for executing the same | |
| KR102720846B1 (en) | Far end terminal and its voice focusing method | |
| KR102928173B1 (en) | Voice Conversation Method Using A terminal having an app with speaker diarisation technology | |
| KR102378885B1 (en) | Method for generating metadata using face of speaker, and computer program recorded on record-medium for executing method therefor | |
| JP7407560B2 (en) | Keyword evaluation device, keyword evaluation method, and keyword evaluation program | |
| CN115294993A (en) | Verification code implementation method and device based on semantic voiceprint interaction mode |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220511 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230405 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230418 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230619 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230912 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231010 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7365791 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |