JP6914094B2 - Utterance generator, utterance generation method and utterance generation program - Google Patents

Utterance generator, utterance generation method and utterance generation program Download PDF

Info

Publication number
JP6914094B2
JP6914094B2 JP2017090331A JP2017090331A JP6914094B2 JP 6914094 B2 JP6914094 B2 JP 6914094B2 JP 2017090331 A JP2017090331 A JP 2017090331A JP 2017090331 A JP2017090331 A JP 2017090331A JP 6914094 B2 JP6914094 B2 JP 6914094B2
Authority
JP
Japan
Prior art keywords
utterance
sentence
feature vector
representative word
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
Application number
JP2017090331A
Other languages
Japanese (ja)
Other versions
JP2018190077A (en
Inventor
金子 豊
金子  豊
祐太 星
祐太 星
上原 道宏
道宏 上原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting Corp
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 Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2017090331A priority Critical patent/JP6914094B2/en
Publication of JP2018190077A publication Critical patent/JP2018190077A/en
Application granted granted Critical
Publication of JP6914094B2 publication Critical patent/JP6914094B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ロボットの発話文を生成するための装置、方法及びプログラムに関する。 The present invention relates to devices, methods and programs for generating utterances of robots.

従来、人がコンピュータと対話をするコミュニケーションロボットが開発されている。例えば、人との対話を学習しながら対話するロボットとして、人工無脳と呼ばれる会話ボットが開発されている。
人工無脳は、人間の発言から応答文としてもっともらしいものを機械的に生成する方式を採用している。人工無脳の実装方法としては、発言と応答文とを会話のルールとして準備しておく辞書型、大量の会話のログから、ユーザの発言に最も近いものを探し、その応答ログを用いるログ型、大量の文章からマルコフ連鎖を作成し、文を生成するマルコフ文生成型等がある(例えば、非特許文献1,2参照)。
Conventionally, communication robots in which humans interact with computers have been developed. For example, a conversation bot called a chatbot has been developed as a robot that interacts while learning dialogue with humans.
Chatbots employ a method of mechanically generating plausible response sentences from human remarks. As a method of implementing chatbots, a dictionary type that prepares remarks and response sentences as conversation rules, and a log type that searches for the closest to the user's remarks from a large number of conversation logs and uses the response log. , There is a Markov sentence generation type that creates a Markov chain from a large number of sentences and generates a sentence (see, for example, Non-Patent Documents 1 and 2).

ところで、人工無脳を組み込んだソフトウェアプログラム、又はコミュニケーションロボットは、使い始めは目新しいものの、しばらく使っていると利用者は飽きてしまい、使わなくなってしまうという課題がある。これは、会話のパターンが不十分なこと、人の発話に対する人工無脳の応答がかみ合っていないことが多いこと等に起因する。
また、人工無脳は、人間からのアクション(発話)によって反応するが、人から積極的に、ロボットに日常的な会話を話し掛けることは少なく、発話内容が思いつかない点も長く使われない原因と考えられる。
By the way, a software program or a communication robot incorporating an artificial brain is new at the beginning of use, but there is a problem that the user gets tired of using it for a while and does not use it. This is due to inadequate conversation patterns and chatbot responses to human utterances in many cases.
In addition, chatbots respond by actions (utterances) from humans, but humans rarely actively talk to robots in daily conversations, and the fact that they cannot think of the content of the utterance is also a cause of not being used for a long time. Conceivable.

また、人とロボットとの1対1の会話ではなく、人とロボットとが一緒にテレビを視聴することで、一人で見るよりも楽しく視聴できることを目的とした技術が提案されている。
例えば、特許文献1では、ユーザの嗜好とロボットの嗜好とからロボットの行動を決定し、番組の視聴中に一緒に応援させる技術が提案されている。特許文献2では、映像印象情報とユーザ感情情報とから、感情状態を決定し、ロボットが共感する感情表現をさせる技術が提案されている。
Further, instead of a one-to-one conversation between a person and a robot, a technique has been proposed aimed at making it more enjoyable to watch than watching alone by watching TV together with the person and the robot.
For example, Patent Document 1 proposes a technique of determining a robot's behavior from a user's preference and a robot's preference and supporting them together while watching a program. Patent Document 2 proposes a technique for determining an emotional state from video impression information and user emotion information to express emotions that the robot sympathizes with.

特許第4368316号公報Japanese Patent No. 4368316 特開2016−36883号公報Japanese Unexamined Patent Publication No. 2016-36883

冨坂亮太、鈴木崇史、「人工無脳(会話ボット)」、映像情報メディア学会誌、Vol.64、No.1、pp.64〜66(2010)Ryota Tomisaka, Takashi Suzuki, "Chatbot", Journal of the Institute of Image Information and Television Engineers, Vol. 64, No. 1, pp. 64-66 (2010) 秋山智俊「恋するプログラム−Rubyでつくる人工無脳」、毎日コミュニケーションズ、2005Tomotoshi Akiyama "Love Program-Artificial Brainless Made with Ruby", Mainichi Communications, 2005

特許文献1及び特許文献2の技術によれば、テレビを介在させることで、人がロボットに話しかけなくともロボットは動作するため、人とロボットの1対1の対話に比べ、ロボットが長く利用され得る。
しかしながら、これらは、テレビを人と一緒に共感しながら見て楽しむロボットを目的とした技術であり、テレビを視聴して楽しんでいる人を対象としている。例えば、独居者の多くは、一人でテレビを見ていること、また、特にテレビが見たいわけではないが、部屋が静かすぎることを紛らわすためにテレビを付けたままにしていることも多い。
According to the technologies of Patent Document 1 and Patent Document 2, the robot operates even if the human does not talk to the robot by interposing the television, so that the robot is used for a long time as compared with the one-to-one dialogue between the human and the robot. obtain.
However, these are technologies aimed at robots that enjoy watching TV while sympathizing with people, and are intended for people who enjoy watching TV. For example, many solitary people watch TV alone, and often leave the TV on to distract them from being too quiet, even though they don't particularly want to watch TV.

本発明は、ロボットがあたかも自立した感情を持っているように、テレビ番組に合わせて、感情を表す言葉を発話できる発話生成装置、発話生成方法及び発話生成プログラムを提供することを目的とする。 An object of the present invention is to provide an utterance generation device, an utterance generation method, and an utterance generation program capable of uttering words expressing emotions in accordance with a television program so that the robot has an independent emotion.

本発明に係る発話生成装置は、発話の特徴を示す代表語に対応付けて、発話文のテンプレートを記憶する発話テンプレートデータベースと、キーワードの特徴ベクトルを記憶する特徴ベクトルデータベースと、入力されたキーワードの特徴ベクトルと前記代表語の特徴ベクトルとの距離を算出する距離演算部と、前記距離に基づいて選択された前記テンプレートに対して、前記入力されたキーワードを組み合わせて発話文を生成する発話文生成部と、を備える。 The utterance generator according to the present invention has an utterance template database that stores utterance sentence templates in association with representative words that indicate utterance features, a feature vector database that stores keyword feature vectors, and input keywords. An utterance sentence generation that generates an utterance sentence by combining the input keyword with respect to the distance calculation unit that calculates the distance between the feature vector and the feature vector of the representative word and the template selected based on the distance. It has a part and.

前記発話生成装置は、前記距離に基づいて、前記代表語の順位付けを行う代表語ランキング部を備え、前記発話文生成部は、前記順位付けによるランキングが上位の代表語を優先して、当該上位の代表語に対応する前記テンプレートを選択してもよい。 The utterance generation device includes a representative word ranking unit that ranks the representative words based on the distance, and the utterance sentence generation unit gives priority to the representative word having a higher ranking by the ranking. The template corresponding to the higher-level representative word may be selected.

前記発話生成装置は、入力文から、キーワード辞書に登録されているキーワードを抽出するキーワード抽出部を備えてもよい。 The utterance generator may include a keyword extraction unit that extracts keywords registered in the keyword dictionary from the input sentence.

前記発話生成装置は、前記入力文に、前記キーワード辞書に登録されているキーワード、及び前記代表語又は当該代表語の別表現が含まれている場合、当該代表語に対応するテンプレートとして、前記入力文のうち、前記キーワードを一般化した文を登録するテンプレート登録部を備えてもよい。 When the input sentence includes a keyword registered in the keyword dictionary and the representative word or another expression of the representative word, the utterance generator inputs the input as a template corresponding to the representative word. Among the sentences, a template registration unit for registering a sentence generalizing the keyword may be provided.

前記発話生成装置は、前記入力文を形態素解析し、分かち書き文に変換する形態素解析部と、前記分かち書き文において、前記代表語又は前記代表語の別表現が複数の単語に分割されている場合、当該複数の単語を連結して前記代表語又は前記別表現に復元する過分割修正部と、前記分かち書き文の各語の特徴ベクトルを演算し、前記特徴ベクトルデータベースを更新する特徴ベクトル演算部と、を備えてもよい。 The utterance generator has a morphological analysis unit that analyzes the input sentence and converts it into a word-separated sentence, and when the representative word or another expression of the representative word is divided into a plurality of words in the word-separated sentence. An over-division correction unit that concatenates the plurality of words and restores them to the representative word or the different expression, a feature vector calculation unit that calculates the feature vector of each word in the word-separated sentence, and updates the feature vector database. May be provided.

前記発話生成装置は、前記分かち書き文において、前記別表現を前記代表語に置き換える表現統一部を備え、前記特徴ベクトル演算部は、前記別表現が前記代表語に置き換えられた後に、前記特徴ベクトルを演算してもよい。 The utterance generator includes an expression unification unit that replaces the other expression with the representative word in the word-separated sentence, and the feature vector calculation unit uses the feature vector after the other expression is replaced with the representative word. You may calculate.

前記発話生成装置は、前記特徴ベクトルデータベースから、前記代表語の特徴ベクトルとの距離が所定以内の単語を抽出し、前記別表現として辞書に登録する代表語辞書更新部を備えてもよい。 The utterance generator may include a representative word dictionary update unit that extracts words within a predetermined distance from the feature vector of the representative word from the feature vector database and registers them in the dictionary as the alternative expression.

本発明に係る発話生成方法は、発話の特徴を示す代表語に対応付けて、発話文のテンプレートを記憶し、キーワードの特徴ベクトルを記憶したコンピュータが、入力されたキーワードの特徴ベクトルと前記代表語の特徴ベクトルとの距離を算出する距離演算ステップと、前記距離に基づいて選択された前記テンプレートに対して、前記入力されたキーワードを組み合わせて発話文を生成する発話文生成ステップと、を実行する。 In the utterance generation method according to the present invention, a computer that stores a template of an utterance sentence in association with a representative word indicating the characteristic of the utterance and stores the feature vector of the keyword causes the input keyword feature vector and the representative word. A distance calculation step for calculating the distance from the feature vector of the above, and an utterance sentence generation step for generating an utterance sentence by combining the input keywords with respect to the template selected based on the distance are executed. ..

本発明に係る発話生成プログラムは、発話の特徴を示す代表語に対応付けて、発話文のテンプレートを記憶し、キーワードの特徴ベクトルを記憶したコンピュータに、入力されたキーワードの特徴ベクトルと前記代表語の特徴ベクトルとの距離を算出する距離演算ステップと、前記距離に基づいて選択された前記テンプレートに対して、前記入力されたキーワードを組み合わせて発話文を生成する発話文生成ステップと、を実行させるためのものである。 The utterance generation program according to the present invention stores the template of the utterance sentence in association with the representative word indicating the characteristic of the utterance, and the feature vector of the keyword input to the computer storing the feature vector of the keyword and the representative word. A distance calculation step for calculating the distance from the feature vector of the above, and an utterance sentence generation step for generating an utterance sentence by combining the input keywords with respect to the template selected based on the distance are executed. Is for.

本発明によれば、ロボットがあたかも自立した感情を持っているように、視聴中のテレビ番組に合わせて、感情を表す言葉を発話でき、小さな子供がテレビを見て喜んでいる様子を、周囲の大人が微笑ましく眺めるような効果が期待できる。 According to the present invention, the robot can speak emotional words according to the TV program being watched as if it had independent emotions, and the surroundings of a small child being happy to watch TV. It can be expected to have the effect of making an adult look at it with a smile.

実施形態に係る発話生成装置の機能構成を示すブロック図である。It is a block diagram which shows the functional structure of the utterance generator which concerns on embodiment. 実施形態に係る代表語辞書の登録例を示す図である。It is a figure which shows the registration example of the representative word dictionary which concerns on embodiment. 実施形態に係る発話テンプレートデータベースの登録例を示す図である。It is a figure which shows the registration example of the utterance template database which concerns on embodiment. 実施形態に係る特徴ベクトルデータベースの登録例を示す図である。It is a figure which shows the registration example of the feature vector database which concerns on embodiment. 実施形態に係る入力文の変換例を示す図である。It is a figure which shows the conversion example of the input sentence which concerns on embodiment. 実施形態に係るテンプレート登録処理を示すフローチャートである。It is a flowchart which shows the template registration process which concerns on embodiment. 実施形態に係る関連語選択の動作イメージを示す図である。It is a figure which shows the operation image of the related word selection which concerns on embodiment. 実施形態に係る代表語辞書の更新処理を示すフローチャートである。It is a flowchart which shows the update process of the representative word dictionary which concerns on embodiment.

以下、本発明の実施形態の一例について説明する。
本実施形態に係る発話生成装置1は、「食べたい」、「話したい」、「行きたい」等の願望を表す動詞を含む語句と、「きれい」、「おいしそう」、「大きい」等の形容詞とを含む代表語に対して、これらの代表語を含むテンプレート文と、代表語を含む多数のキーワードの特徴ベクトルとを用意しておく。
Hereinafter, an example of the embodiment of the present invention will be described.
The utterance generator 1 according to the present embodiment includes words and phrases including verbs expressing desires such as "want to eat", "want to talk", and "want to go", and words such as "beautiful", "delicious", and "big". For representative words including adjectives, prepare template sentences including these representative words and feature vectors of many keywords including the representative words.

発話生成装置1は、視聴中の番組のキーワードに対して、このキーワードの特徴ベクトルと代表語の特徴ベクトルとを比較し、キーワードと距離が近い代表語に対するテンプレート文に、対象のキーワードを組み合わせて発話文を生成する。
これにより、発話生成装置1は、キーワードに対して、適切な動詞又は形容詞の代表語を選択し、例えば、キーワード「ラーメン」に対しては、代表語として「食べたい」、「おいしそう」等を選択し、テンプレートから「ラーメン食べたいな」、「おいしそうなラーメンだな」等の発話文を生成できる。
The utterance generator 1 compares the feature vector of this keyword with the feature vector of the representative word for the keyword of the program being viewed, and combines the target keyword with the template sentence for the representative word that is close to the keyword. Generate utterance sentences.
As a result, the utterance generator 1 selects an appropriate verb or adjective representative word for the keyword, and for example, for the keyword "ramen", "want to eat", "delicious", etc. as the representative word. You can select and generate utterances such as "I want to eat ramen" and "It looks delicious ramen" from the template.

図1は、本実施形態に係る発話生成装置1の機能構成を示すブロック図である。
発話生成装置1は、制御部及び記憶部の他、各種インタフェースを備えた情報処理装置であり、記憶部に格納されたソフトウェア(発話生成プログラム)を制御部が実行することにより、本実施形態の各種機能が実現される。
FIG. 1 is a block diagram showing a functional configuration of the utterance generation device 1 according to the present embodiment.
The utterance generation device 1 is an information processing device provided with various interfaces in addition to the control unit and the storage unit, and the control unit executes software (utterance generation program) stored in the storage unit to execute the software (utterance generation program) of the present embodiment. Various functions are realized.

発話生成装置1の制御部は、形態素解析部11と、過分割修正部12と、テンプレート登録部13と、表現統一部14と、特徴ベクトル演算部15と、キーワード抽出部16と、ベクトル距離演算部17と、代表語ランキング部18と、発話文生成部19と、代表語辞書更新部20とを備える。
また、発話生成装置1の記憶部は、キーワード辞書21と、代表語辞書22と、発話テンプレートデータベース(DB)23と、特徴ベクトルデータベース24とを備える。
The control unit of the utterance generation device 1 includes a morphological analysis unit 11, an overdivision correction unit 12, a template registration unit 13, an expression unification unit 14, a feature vector calculation unit 15, a keyword extraction unit 16, and a vector distance calculation. A unit 17, a representative word ranking unit 18, an utterance sentence generation unit 19, and a representative word dictionary update unit 20 are provided.
Further, the storage unit of the utterance generation device 1 includes a keyword dictionary 21, a representative word dictionary 22, an utterance template database (DB) 23, and a feature vector database 24.

本実施形態では、発話生成装置1は、テレビの側に置かれたコミュニケーションロボットの内部に組み込まれる。
発話生成装置1へは、テレビの放送番組に付加されている字幕文(クローズドキャプション)が入力文Iとして入力されることとして説明を行う。放送番組からの字幕文の抽出方法としては、例えば、ロボットがテレビ受像機と連動して、字幕情報を取得したり、放送連動サービスとして、インターネット等の通信設備を用いて配信された字幕情報を受信したりする方法が考えられる。
また、入力文Iは、字幕文に限ったものではなく、ロボットに装備されたカメラ又はマイクロフォンを用いて、テレビの画像から画像処理によりオープンキャプションが取得されてもよいし、音声から音声認識により文が抽出されてもよい。
In the present embodiment, the utterance generator 1 is incorporated inside a communication robot placed on the side of the television.
The utterance generation device 1 will be described as having a subtitle sentence (closed caption) added to a television broadcast program input as an input sentence I. As a method of extracting subtitles from a broadcast program, for example, a robot interlocks with a television receiver to acquire subtitle information, or as a broadcast interlocking service, subtitle information distributed using communication equipment such as the Internet is used. A method of receiving is conceivable.
Further, the input sentence I is not limited to the subtitle sentence, and an open caption may be obtained by image processing from a television image using a camera or a microphone equipped on the robot, or by voice recognition from voice. The statement may be extracted.

キーワード辞書21は、キーワードが登録されたデータベースである。ここで、キーワードとは、主に、人名、地名、施設等の固有名詞又は一般名詞等である。本実施形態では、キーワード辞書21にキーワードが予め登録されているものとする。 The keyword dictionary 21 is a database in which keywords are registered. Here, the keyword is mainly a person's name, a place name, a proper noun such as a facility, or a general noun. In the present embodiment, it is assumed that the keyword is registered in the keyword dictionary 21 in advance.

代表語辞書22は、発話の特徴を示す代表語に対応付けて、この代表語と意味が類似する別表現が登録されたデータベースである。
図2は、本実施形態に係る代表語辞書22の登録例を示す図である。
この例では、代表語辞書22に、種別、代表語及び別表現の3つのフィールドのデータがリストとして保管されている。
The representative word dictionary 22 is a database in which another expression having a similar meaning to the representative word is registered in association with the representative word indicating the characteristics of the utterance.
FIG. 2 is a diagram showing a registration example of the representative word dictionary 22 according to the present embodiment.
In this example, the representative word dictionary 22 stores data of three fields of type, representative word, and different expression 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.
The representative word is a word including a verb or an adjective expressing emotion. For example, "want to speak", "want to hear", and "want to eat" are registered as representative words of the verb, and "pretty" is registered as the representative word of the adjective. , "Interesting", and "Like" are registered.

別表現のフィールドには、代表語と同じ又は類似した意味の、異なる表現が登録される。例えば、「話したい」の別表現として「おしゃべりしたい」、「しゃべってみたい」、「しゃべりたい」、「言いたい」、「言ってみたい」が、「聞きたい」の別表現として、「聞いてみたい」、「お聞きしたい」、「聴いてみたい」が、「食べたい」の別表現として「食いたい」、「食べちゃいたい」、「食べてみたい」が登録されている。
さらに、「きれい」の別表現として「綺麗」、「おもしろい」の別表現として「面白い」、「好き」の別表現として「大好き」が登録されている。
In the field of another expression, a different expression having the same or similar meaning as the representative word is registered. For example, "I want to talk", "I want to talk", "I want to talk", "I want to say", "I want to say" are different expressions of "I want to talk", but "I want to hear" is another expression of "Listen". "I want to eat", "I want to hear", and "I want to listen" are registered as other expressions of "I want to eat", "I want to eat", "I want to eat", and "I want to eat".
Furthermore, "beautiful" is registered as another expression of "beautiful", "interesting" is registered as another expression of "interesting", and "love" is registered as another expression of "like".

ここで、代表語辞書22には、ひらがな表記と漢字表記とが別の語として登録されている。例えば、字幕文は、放送局又は番組によって使用される表記が異なるが、いずれの表記にもマッチングさせることができる。
なお、本実施形態では、代表語辞書22に、代表語と別表現とが予め登録されているものとする。
Here, the hiragana notation and the kanji notation are registered as different words in the representative word dictionary 22. For example, the subtitle text may be matched to any notation, although the notation used differs depending on the broadcasting station or program.
In this embodiment, it is assumed that the representative word and another expression are registered in advance in the representative word dictionary 22.

発話テンプレートデータベース23は、発話生成装置1が生成する発話文のテンプレートが登録されたデータベースである。
図3は、本実施形態に係る発話テンプレートデータベース23の登録例を示す図である。
The utterance template database 23 is a database in which templates of utterance sentences generated by the utterance generator 1 are registered.
FIG. 3 is a diagram showing a registration example of the utterance template database 23 according to the present embodiment.

発話テンプレートデータベース23には、代表語それぞれに対して、発話文のテンプレートが登録されている。発話テンプレートデータベース23の代表語は、代表語辞書22に登録されている語と同じである。 In the utterance template database 23, utterance sentence templates are registered for each representative word. The representative word of the utterance template database 23 is the same as the word registered in the representative word dictionary 22.

例えば、発話テンプレートデータベース23には、「話したい」という代表語に対して、「%keyさんと話したい」、「%keyさんとおしゃべりしたい」、「しゃべってみたいんです%keyさんと」、「%keyに言いたいことがある」等のテンプレート文が登録されている。
ここで、「%key」は、何らかのキーワードに置き換えられる箇所を示している。
For example, in the utterance template database 23, for the representative word "I want to talk", "I want to talk with% key", "I want to talk with% key", "I want to talk with% key", Template sentences such as "I have something to say to% key" are registered.
Here, "% key" indicates a part that can be replaced with some keyword.

図の例では、同様に、「聞きたい」、「食べたい」、「きれい」、「おもしろい」、「好き」の各代表語に対応するテンプレート文が登録されている。
発話テンプレートデータベース23のデータは、予め準備されていてもよいし、後述するように、入力文Iを利用して、テンプレート登録部13によって新たにテンプレートが追加されてもよい。
Similarly, in the example of the figure, template sentences corresponding to the representative words of "want to hear", "want to eat", "beautiful", "interesting", and "like" are registered.
The data of the utterance template database 23 may be prepared in advance, or a new template may be added by the template registration unit 13 by using the input sentence I as described later.

特徴ベクトルデータベース24は、代表語及び他のキーワードを含む各語の特徴ベクトルが登録されたデータベースである。
図4は、本実施形態に係る特徴ベクトルデータベース24の登録例を示す図である。
特徴ベクトルデータベース24には、語と対応する特徴ベクトルとが登録される。
The feature vector database 24 is a database in which feature vectors of each word including representative words and other keywords are registered.
FIG. 4 is a diagram showing a registration example of the feature vector database 24 according to the present embodiment.
A word and a corresponding feature vector are registered in the feature vector database 24.

本実施形態では、特徴ベクトルとして、既知のソフトウェアであるword2vecによって算出された特徴ベクトルを用いるものとする。word2vecは、3層のニューラルネットワークを用いており、分かち書きされた大量の文章を入力すると、算出された特徴ベクトルは、類似した語が距離の近いベクトルになることが経験的に知られている。
なお、特徴ベクトルの算出方法は、word2vecに限定されるものではなく、意味的に近い語の特徴ベクトルがベクトル空間上で近くに分布する演算方式であればよい。
In the present embodiment, the feature vector calculated by word2vec, which is known software, is used as the feature vector. Word2vec uses a three-layer neural network, and it is empirically known that when a large amount of divided sentences are input, the calculated feature vector becomes a vector in which similar words are close in distance.
The method of calculating the feature vector is not limited to word2vec, and any calculation method may be used as long as the feature vectors of words that are semantically close to each other are distributed close to each other in the vector space.

図の例では、「ラーメン」の特徴ベクトルとしてvec1が登録され、以下、「を」、「食べたい」、「○川×子」、「は」、「とても」、「綺麗」の特徴ベクトルとしてそれぞれ、vec2〜vec7が登録され、全部でN個の特徴ベクトルが登録されている。
特徴ベクトルデータベース24は、予め大量の文章を入力として学習した特徴ベクトルが登録されていてもよいし、後述するように、入力文Iを用いて、特徴ベクトル演算部15によって更新されてもよい。
In the example of the figure, vc1 is registered as the feature vector of "ramen", and below, as the feature vector of "o", "want to eat", "○ river x child", "ha", "very", "beautiful". Vec2 to vc7 are registered, respectively, and a total of N feature vectors are registered.
In the feature vector database 24, a feature vector learned in advance by inputting a large number of sentences may be registered, or as described later, the feature vector calculation unit 15 may update the feature vector using the input sentence I.

[データベース更新処理]
前述の各データベースのうち、発話テンプレートデータベース23及び特徴ベクトルデータベース24は、形態素解析部11、過分割修正部12、テンプレート登録部13、表現統一部14、及び特徴ベクトル演算部15の一連の処理により更新される。
[Database update process]
Of the above-mentioned databases, the utterance template database 23 and the feature vector database 24 are subjected to a series of processes of the morphological analysis unit 11, the overdivision correction unit 12, the template registration unit 13, the expression unification unit 14, and the feature vector calculation unit 15. Will be updated.

形態素解析部11は、発話生成装置1に入力文Iが入力されると、入力文Iの形態素解析を行い、入力文Iを分かち書き文に変換する。
ここで、分かち書き文とは、形態素に分割された語の間に区切り文字(例えば、空白文字)を挿入した文である。
When the input sentence I is input to the utterance generation device 1, the morphological analysis unit 11 performs morphological analysis of the input sentence I and converts the input sentence I into a word-separated sentence.
Here, the word-separated sentence is a sentence in which a delimiter (for example, a blank character) is inserted between words divided into morphemes.

図5は、本実施形態に係る入力文Iの変換例を示す図である。
入力文Iとして、「このラーメンを食べてみたいですね。」という文が入力された場合、形態素解析部11の解析結果が分かち書きされ、「この/ラーメン/を/食べ/て/みたい/です/ね/。」と出力される。なお、ここでは、分かち書き文の区切り文字として、空白ではなく「/」を用いている。
FIG. 5 is a diagram showing a conversion example of the input sentence I according to the present embodiment.
When the sentence "I want to eat this ramen" is input as the input sentence I, the analysis result of the morphological analysis unit 11 is divided and "This / ramen / is / eat / want / want / is / is /". Ne /. "Is output. Here, "/" is used instead of a space as a delimiter for the word-separated sentence.

過分割修正部12は、形態素解析部11による解析の結果、細かくなりすぎた語を接続する。具体的には、過分割修正部12は、キーワード辞書21に登録されているキーワード、又は代表語辞書22に登録されている代表語若しくは別表現が入力文Iに含まれており、これらが形態素解析部11によって複数の単語に分割された場合、分割されたこれらの単語を接続し直して元の語に復元する。 The overdivision correction unit 12 connects words that have become too fine as a result of analysis by the morphological analysis unit 11. Specifically, the over-division correction unit 12 includes a keyword registered in the keyword dictionary 21 or a representative word or another expression registered in the representative word dictionary 22 in the input sentence I, and these are morphological elements. When the word is divided into a plurality of words by the analysis unit 11, these divided words are reconnected and restored to the original word.

図5の例では、形態素解析部11の出力で、代表語辞書22の「食べたい」の別表現として登録されている「食べてみたい」という語が、「食べ/て/みたい」と3語に分割されている。このため、過分割修正部12は、これらを「食べてみたい」の1語に接続し、結果として「この/ラーメン/を/食べてみたい/です/ね/。」という分かち書き文を出力する。 In the example of FIG. 5, in the output of the morphological analysis unit 11, the word "want to eat" registered as another expression of "want to eat" in the representative word dictionary 22 is three words "eat / te / like". It is divided into. Therefore, the over-division correction unit 12 connects these to one word of "I want to eat", and as a result, outputs a word-separated sentence "This / ramen / is / wants to eat / is / ne /.".

テンプレート登録部13は、過分割修正部12から出力された分かち書き文から、必要に応じてテンプレート文を作成し、発話テンプレートデータベース23に登録する。
テンプレート登録部13は、入力文Iに、キーワード辞書21に登録されているキーワード、及び代表語辞書22の代表語又は別表現が含まれている場合、この代表語に対応するテンプレートとして、入力文Iのうち、キーワードを一般化した文を登録する。
The template registration unit 13 creates a template sentence as necessary from the word-separated sentence output from the overdivision correction unit 12, and registers it in the utterance template database 23.
When the input sentence I includes a keyword registered in the keyword dictionary 21 and a representative word or another expression of the representative word dictionary 22, the template registration unit 13 uses the input sentence as a template corresponding to the representative word. Of I, register a sentence that generalizes the keyword.

図6は、本実施形態に係るテンプレート登録処理を示すフローチャートである。
ステップS1において、テンプレート登録部13は、分かち書きされた入力文Iに対して、代表語辞書22に登録されている代表語又は別表現が含まれているか否かを判定する。この判定がYESの場合、処理はステップS2に移り、判定がNOの場合、処理は終了する。
FIG. 6 is a flowchart showing a template registration process according to the present embodiment.
In step S1, the template registration unit 13 determines whether or not the divided input sentence I includes a representative word or another expression registered in the representative word dictionary 22. If this determination is YES, the process proceeds to step S2, and if the determination is NO, the process ends.

ステップS2において、テンプレート登録部13は、入力文Iに、キーワード辞書21に登録されているキーワードが含まれているか否かを判定する。この判定がYESの場合、処理はステップS3に移り、判定がNOの場合、処理はステップS4に移る。 In step S2, the template registration unit 13 determines whether or not the input sentence I includes a keyword registered in the keyword dictionary 21. If this determination is YES, the process proceeds to step S3, and if the determination is NO, the process proceeds to step S4.

ステップS3において、テンプレート登録部13は、入力文Iに含まれているキーワードの部分を文字列「%key」に置き換える。
ステップS4において、テンプレート登録部13は、分かち書き文を普通の文に戻すために、区切り文字である空白を削除する。
In step S3, the template registration unit 13 replaces the keyword portion included in the input sentence I with the character string “% key”.
In step S4, the template registration unit 13 deletes the space that is the delimiter in order to return the word-separated sentence to a normal sentence.

ステップS5において、テンプレート登録部13は、発話テンプレートデータベース23に、代表語のテンプレートとしてステップS4の結果と同じ文が登録されているか否かを判定する。この判定がYESの場合、処理は終了し、判定がNOの場合、処理はステップS6に移る。
ステップS6において、テンプレート登録部13は、ステップS4の結果を、新たなテンプレートとして、発話テンプレートデータベース23に登録する。
In step S5, the template registration unit 13 determines whether or not the same sentence as the result of step S4 is registered as the template of the representative word in the utterance template database 23. If this determination is YES, the process ends, and if the determination is NO, the process proceeds to step S6.
In step S6, the template registration unit 13 registers the result of step S4 in the utterance template database 23 as a new template.

この処理により、テンプレート登録部13は、例えば、「この/ラーメン/を/食べてみたい/です/ね/。」という入力に対して、「この%keyを食べてみたいですね。」という文を、発話テンプレートデータベース23の代表語「食べたい」のテンプレートとして登録する。 By this process, the template registration unit 13 sends a sentence "I want to eat this% key" in response to the input "I want to eat this / ramen / / is / ne /." For example. , Register as a template for the representative word "I want to eat" in the utterance template database 23.

表現統一部14は、過分割修正部12の出力文に、代表語辞書22に登録された代表語の別表現が含まれている場合に、この別表現を代表語に置き換える。
例えば、図5に示すように、過分割修正部12の出力文が「この/ラーメン/を/食べてみたい/です/ね/。」の場合、代表語辞書22では「食べてみたい」の代表語は「食べたい」なので、表現統一部14は、「食べてみたい」を「食べたい」に置き換えた文「この/ラーメン/を/食べたい/です/ね/。」を出力する。
When the output sentence of the overdivision correction unit 12 includes another expression of the representative word registered in the representative word dictionary 22, the expression unification unit 14 replaces this other expression with the representative word.
For example, as shown in FIG. 5, when the output sentence of the overdivision correction unit 12 is "this / ramen / is / is / ne /.", The representative word dictionary 22 is representative of "want to eat". Since the word "want to eat", the expression unification department 14 outputs the sentence "this / ramen / is / wants to eat / is / ne /." By replacing "want to eat" with "want to eat".

特徴ベクトル演算部15は、表現統一部14の出力する文をword2vecの入力として与え、別表現が代表語に置き換えられた分かち書き文における各語の特徴ベクトルを演算し、特徴ベクトルデータベース24に保管されている特徴ベクトルを更新する。 The feature vector calculation unit 15 gives the sentence output by the expression unification unit 14 as the input of word2vec, calculates the feature vector of each word in the word-separated sentence in which another expression is replaced with the representative word, and stores it in the feature vector database 24. Update the feature vector.

このように、テンプレート登録部13及び特徴ベクトル演算部15によって、発話テンプレートデータベース23には、代表語に対して、代表語又は別表現を含むテンプレート文が登録され、特徴ベクトルデータベース24には、代表語に統一された語の特徴ベクトルが登録される。
これにより、代表語の別表現として稀にしか出ない語(例えば、「食べたい」の別表現として「食っちゃいたい」等)が、「食べたい」の特徴ベクトルの学習に利用されると共に、この別表現はテンプレートとして登録されることになり、発話文のバリエーションが広がる。また、代表語にまとめることで、後述のベクトル距離演算部17の計算量が低減される。
In this way, the template registration unit 13 and the feature vector calculation unit 15 register the template sentence including the representative word or another expression for the representative word in the utterance template database 23, and the representative in the feature vector database 24. The feature vector of the word unified to the word is registered.
As a result, a word that rarely appears as another expression of the representative word (for example, "I want to eat" as another expression of "I want to eat") is used for learning the feature vector of "I want to eat". This alternative expression will be registered as a template, and the variation of the utterance sentence will expand. Further, by summarizing them into representative words, the amount of calculation of the vector distance calculation unit 17 described later can be reduced.

[発話生成処理]
発話生成装置1は、入力文Iに対して、キーワード抽出部16、ベクトル距離演算部17、代表語ランキング部18、発話文生成部19の一連の処理により、出力文O(発話文)を出力する。
[Utterance generation process]
The utterance generation device 1 outputs an output sentence O (utterance sentence) to the input sentence I by a series of processes of the keyword extraction unit 16, the vector distance calculation unit 17, the representative word ranking unit 18, and the utterance sentence generation unit 19. do.

キーワード抽出部16は、入力文Iに、キーワード辞書21に登録されているキーワードが含まれているか否かを判定し、含まれているキーワードを抽出する。入力文Iにキーワードが含まれていない場合には、発話生成装置1は、この入力文Iに対して、出力文Oとして何も出力しない。 The keyword extraction unit 16 determines whether or not the input sentence I includes a keyword registered in the keyword dictionary 21, and extracts the included keyword. If the input sentence I does not include a keyword, the utterance generator 1 outputs nothing as an output sentence O to the input sentence I.

ベクトル距離演算部17は、キーワード抽出部16により抽出されたキーワードと、代表語辞書22に登録されている代表語それぞれとのベクトル距離を計算する。
ここで、キーワードkの特徴ベクトルをveck、代表語tの特徴ベクトルをvectとしたとき、ベクトル間の距離として、式1のコサイン類似度cos(veck,vect)が利用できる。
(式1) cos(veck,vect)=(veck・vect)/(|veck||vect|)
The vector distance calculation unit 17 calculates the vector distance between the keyword extracted by the keyword extraction unit 16 and each of the representative words registered in the representative word dictionary 22.
Here, when the feature vector of the keyword k is vector and the feature vector of the representative word t is vector, the cosine similarity cos (vac, vector) of Equation 1 can be used as the distance between the vectors.
(Equation 1) cos (veck, vect) = (veck ・ vect) / (| veck || vect |)

代表語ランキング部18は、キーワードの特徴ベクトルと各代表語の特徴ベクトルとの距離の演算結果から、この値の大きい順にソートすることにより順位付けを行い、キーワードに関連が強いランキングが上位の代表語を選択する。 The representative word ranking unit 18 ranks by sorting the distance between the feature vector of the keyword and the feature vector of each representative word in descending order of this value, and the ranking strongly related to the keyword is the highest representative. Select a word.

図7は、本実施形態に係るベクトル距離演算部17及び代表語ランキング部18による関連語選択の動作イメージを示す図である。
この例では、キーワードとして「ラーメン」(特徴ベクトルvec1)と「京都」(特徴ベクトルvecy)とが、代表語として「行きたい」(特徴ベクトルvecx)と「食べたい」(特徴ベクトルvec3)とが定義されている。
FIG. 7 is a diagram showing an operation image of related word selection by the vector distance calculation unit 17 and the representative word ranking unit 18 according to the present embodiment.
In this example, the keywords are "ramen" (feature vector vc1) and "Kyoto" (feature vector vecy), and the representative words are "want to go" (feature vector vcx) and "want to eat" (feature vector vc3). It is defined.

本実施形態の特徴ベクトルは、例えば、「ラーメン」の近くに「うどん」、「カレー」、「焼きそば」等が分布するように、似た傾向の語の特徴ベクトルが近くなる。これと共に、関連のある語の特徴ベクトルも近くなる。すなわち、「ラーメン」のような食べ物の特徴ベクトルは、「行きたい」という特徴ベクトルより「食べたい」という特徴ベクトルに近い位置に分布している。このことは、「ラーメン」という語は、代表語としての「食べたい」と、「京都」という語は、代表語としての「行きたい」と、それぞれ関連が大きいことを意味している。 As for the feature vector of the present embodiment, for example, the feature vectors of words having similar tendencies are close to each other so that "udon", "curry", "yakisoba" and the like are distributed near "ramen". At the same time, the feature vectors of related words are also close. That is, the feature vectors of foods such as "ramen" are distributed at positions closer to the feature vector of "want to eat" than the feature vector of "want to go". This means that the word "ramen" is closely related to "want to eat" as a representative word, and the word "Kyoto" is closely related to "want to go" as a representative word.

発話文生成部19は、代表語ランキング部18によりランキングされた代表語に対して、発話テンプレートデータベース23に登録されているテンプレートの中から、ランダムに選択し、選択したテンプレート内の「%key」の部分をキーワードに置き換えることで、発話文を生成し、出力文Oとして出力する。 The utterance sentence generation unit 19 randomly selects from the templates registered in the utterance template database 23 for the representative words ranked by the representative word ranking unit 18, and "% key" in the selected template. By replacing the part with a keyword, an utterance sentence is generated and output as an output sentence O.

例えば、キーワードが「ラーメン」、代表語が「食べたい」の場合、図3の発話テンプレートのうち、代表語「食べたい」に対して登録されたテンプレートの3番目を選ぶと、発話文は、「一度でいいからこのラーメンを食べてみたい」となる。
なお、発話文生成部19は、代表語に対して複数登録されたテンプレートをランダムに選択するものとして説明したが、これには限られない。発話生成装置1は、例えば、特定のテンプレートに重み付けをし、選択確率に偏りを持たせてもよいし、この選択確率を視聴番組に関連して適宜更新することで、発話文に個性を持たせてもよい。
For example, when the keyword is "ramen" and the representative word is "want to eat", if the third template registered for the representative word "want to eat" is selected from the utterance templates in Fig. 3, the utterance sentence will be changed. "I want to eat this ramen because it's okay once."
The utterance sentence generation unit 19 has described that a plurality of registered templates are randomly selected for the representative word, but the present invention is not limited to this. The utterance generation device 1 may, for example, weight a specific template to give a bias to the selection probability, or update the selection probability as appropriate in relation to the viewing program to give the utterance sentence individuality. You may let me.

[代表語辞書22の更新処理]
代表語辞書22は、特徴ベクトルデータベース24に基づいて、自動更新されてもよい。
代表語辞書更新部20は、代表語辞書22の各代表語に対する別表現の単語を追加登録する。
前述のように、特徴ベクトルデータベース24に登録されている特徴ベクトルは、意味が近い単語が近くなる。これを利用し、代表語辞書更新部20は、代表語の特徴ベクトルとの距離が所定以内の特徴ベクトルのうち、未登録の語を代表語の別表現として登録する。
[Update process of representative word dictionary 22]
The representative word dictionary 22 may be automatically updated based on the feature vector database 24.
The representative word dictionary update unit 20 additionally registers words with different expressions for each representative word in the representative word dictionary 22.
As described above, the feature vectors registered in the feature vector database 24 are close to words having similar meanings. Utilizing this, the representative word dictionary update unit 20 registers an unregistered word as another expression of the representative word among the feature vectors whose distance from the feature vector of the representative word is within a predetermined value.

図8は、本実施形態に係る代表語辞書22の更新処理を示すフローチャートである。
ステップS11において、代表語辞書更新部20は、ループ処理用の変数nを1にセットする。
ステップS12において、代表語辞書更新部20は、代表語辞書22に登録されている代表語のうち、n番目の代表語を取得する。
ステップS13において、代表語辞書更新部20は、特徴ベクトルデータベース24から、ステップS12で取得したn番目の代表語の特徴ベクトルに近い特徴ベクトルの用語のうち上位M個を取得する。
FIG. 8 is a flowchart showing an update process of the representative word dictionary 22 according to the present embodiment.
In step S11, the representative word dictionary update unit 20 sets the variable n for loop processing to 1.
In step S12, the representative word dictionary update unit 20 acquires the nth representative word among the representative words registered in the representative word dictionary 22.
In step S13, the representative word dictionary update unit 20 acquires the upper M of the terms of the feature vector close to the feature vector of the nth representative word acquired in step S12 from the feature vector database 24.

ステップS14において、代表語辞書更新部20は、取得したM個の用語に対するループ処理用の変数mを1にセットする。
ステップS15において、代表語辞書更新部20は、ステップS13で取得したM個の用語のうちm番目の用語が、代表語辞書22のn番目の代表語の別表現として登録されているか否かを判定する。この判定がYESの場合、処理はステップS17に移り、判定がNOの場合、処理はステップS16に移る。
In step S14, the representative word dictionary update unit 20 sets the variable m for loop processing for the acquired M terms to 1.
In step S15, the representative word dictionary update unit 20 determines whether or not the mth term among the M terms acquired in step S13 is registered as another expression of the nth representative word in the representative word dictionary 22. judge. If this determination is YES, the process proceeds to step S17, and if the determination is NO, the process proceeds to step S16.

ステップS16において、代表語辞書更新部20は、m番目の用語を、n番目の代表語の別表現として代表語辞書22に登録する。
ステップS17において、代表語辞書更新部20は、変数mをカウントアップし、m=Mになるまでループ処理を繰り返す。
ステップS18において、代表語辞書更新部20は、代表語辞書22に登録されている代表語の数Nの全てに対して上記の処理を行うため、変数nをカウントアップし、n=Nになるまでループ処理を繰り返す。
In step S16, the representative word dictionary update unit 20 registers the m-th term in the representative word dictionary 22 as another expression of the nth representative word.
In step S17, the representative word dictionary update unit 20 counts up the variable m and repeats the loop process until m = M.
In step S18, the representative word dictionary update unit 20 counts up the variable n and sets n = N in order to perform the above processing for all the number N of the representative words registered in the representative word dictionary 22. Repeat the loop process until.

なお、本実施形態では、ステップS16において、未登録の単語を全て代表語辞書22に登録することとしたが、これには限られず、例えば、登録するか否かの選択入力をユーザから受け付けてもよい。 In the present embodiment, in step S16, all the unregistered words are registered in the representative word dictionary 22, but the present invention is not limited to this, and for example, the user accepts a selection input as to whether or not to register. May be good.

本実施形態によれば、発話生成装置1は、テレビ番組中のキーワードの特徴ベクトルと、感情等を表す複数の代表語それぞれの特徴ベクトルとの距離に基づいて、キーワードと関連の強い代表語を選択すると、代表語に対応するテンプレート文とキーワードとを組み合わせることにより、発話文を生成する。
したがって、発話生成装置1は、番組に関連するキーワードから、自発的に、感情を示す発話文を生成できる。これにより、発話生成装置1を組み込んだロボットがあたかも自立した感情を持っているように、視聴中のテレビ番組に合わせて、感情を表す言葉を発話でき、小さな子供がテレビを見て喜んでいる様子を、周囲の大人が微笑ましく眺めるような効果が期待できる。
According to the present embodiment, the utterance generator 1 generates a representative word strongly related to the keyword based on the distance between the feature vector of the keyword in the television program and the feature vector of each of the plurality of representative words expressing emotions and the like. When selected, an utterance sentence is generated by combining a template sentence corresponding to a representative word and a keyword.
Therefore, the utterance generation device 1 can spontaneously generate an utterance sentence indicating an emotion from a keyword related to the program. As a result, as if the robot incorporating the utterance generator 1 has independent emotions, it is possible to speak words expressing emotions according to the TV program being watched, and a small child is pleased to watch TV. You can expect the effect of watching the situation with a smile from the surrounding adults.

発話生成装置1をロボットに組み込むことで、ロボットは、テレビに反応してロボット自身の感情を含む言葉をつぶやくため、ユーザが積極的に話しかける必要はなく、ユーザは、テレビとロボットの発話のやりとりを俯瞰的な立場から楽しむことができる。また、ロボットから自発的に話し掛けるため、ユーザの発話を促す効果も期待できる。さらに、ユーザが放送中のテレビ番組自体に興味がなくても、ロボットがつぶやくことをきっかけに、番組に興味を持つ効果も期待できる。 By incorporating the utterance generator 1 into the robot, the robot responds to the television and mutters words including the robot's own emotions, so that the user does not have to actively speak, and the user exchanges utterances between the television and the robot. Can be enjoyed from a bird's-eye view. In addition, since the robot speaks spontaneously, the effect of encouraging the user to speak can be expected. Furthermore, even if the user is not interested in the TV program itself being broadcast, the effect of being interested in the program can be expected as a result of the robot tweeting.

発話生成装置1は、特徴ベクトルの距離に基づいて代表語を順位付けし、ランキングが上位の、すなわち番組のキーワードと関連の強い代表語を優先して発話文を生成する。したがって、発話生成装置1は、入力されたキーワードに対して、適切な代表語を用いて発話文を生成できる。 The utterance generation device 1 ranks representative words based on the distance of the feature vector, and generates an utterance sentence by giving priority to the representative word having a higher ranking, that is, a representative word strongly related to the keyword of the program. Therefore, the utterance generation device 1 can generate an utterance sentence by using an appropriate representative word for the input keyword.

発話生成装置1は、入力文Iから、キーワード辞書21に登録されているキーワードを抽出することにより、特徴ベクトルが登録済みのキーワードを対象として、効率的に発話文を生成できる。 The utterance generation device 1 can efficiently generate an utterance sentence for a keyword for which a feature vector is registered by extracting a keyword registered in the keyword dictionary 21 from the input sentence I.

発話生成装置1は、入力文Iに基づいて、未登録のテンプレートを登録し、特徴ベクトルを更新する。したがって、発話生成装置1は、流行りの言葉を学習できると共に、視聴したテレビ番組に応じて、登録されるテンプレート文及び特徴ベクトルを変化させ、テレビの視聴傾向によって発話内容にバリエーションを生じさせることができる。 The utterance generator 1 registers an unregistered template and updates the feature vector based on the input sentence I. Therefore, the utterance generator 1 can learn popular words, change the registered template sentences and feature vectors according to the TV program viewed, and cause variations in the utterance content depending on the TV viewing tendency. can.

発話生成装置1は、入力文Iに、代表語の別表現が含まれる場合、別表現を代表語に置き換えた後に特徴ベクトルを演算する。したがって、発話生成装置1は、別表現を含む類似語をまとめて処理でき、別表現毎の出現頻度によらず、代表語に対する特徴ベクトルを共用できる。これにより、代表語の特徴ベクトルを適切に更新できると共に、テンプレートの複数の表現を平等に扱い、発話文のバリエーションを増やすことができる。 When the input sentence I includes another expression of the representative word, the utterance generator 1 calculates the feature vector after replacing the other expression with the representative word. Therefore, the utterance generator 1 can collectively process similar words including different expressions, and can share the feature vector for the representative word regardless of the appearance frequency of each different expression. As a result, the feature vector of the representative word can be appropriately updated, and multiple expressions of the template can be treated equally, and the variation of the utterance sentence can be increased.

発話生成装置1は、特徴ベクトルデータベース24を用いて、特徴ベクトルの距離が代表語と近い用語を別表現として代表語辞書22に登録するので、別表現を自動的に追加し、発話文のバリエーションを増やすことができる。 The utterance generator 1 uses the feature vector database 24 to register a term whose feature vector distance is close to that of the representative word in the representative word dictionary 22 as a separate expression. Can be increased.

以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。 Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments. Further, the effects described in the present embodiment merely list the most preferable effects arising from the present invention, and the effects according to the present invention are not limited to those described in the present embodiment.

発話文生成部19は、1つの文を生成するだけでなく、複数の文を生成して出力してもよい。発話文生成部19は、例えば、代表語ランキング部18の上位n個の代表語に対して発話文を生成してもよいし、コサイン類似度の値が閾値以上の代表語に対して発話文を生成してもよい。また、発話文生成部19は、代表語の種別(動詞又は形容詞)毎にランキングを行い、それぞれの上位の代表語を使って発話文を生成してもよい。
複数の発話文を生成することにより、発話文生成部19は、例えば、後続の処理として設けられ得る発話文の選択処理に対して複数の選択肢を提供でき、発話内容のバリエーションを増やすことができる。
また、このとき、発話文生成部19は、後続の処理のために、発話文と共に特徴ベクトルの距離値を出力してもよい。
The utterance sentence generation unit 19 may generate not only one sentence but also a plurality of sentences and output them. The utterance sentence generation unit 19 may generate utterance sentences for the upper n representative words of the representative word ranking unit 18, for example, or the utterance sentence for the representative words whose cosine similarity value is equal to or greater than the threshold value. May be generated. Further, the utterance sentence generation unit 19 may perform ranking for each type of representative word (verb or adjective) and generate an utterance sentence using each higher-level representative word.
By generating a plurality of utterance sentences, the utterance sentence generation unit 19 can provide a plurality of options for the utterance sentence selection process that can be provided as a subsequent process, and can increase the variation of the utterance content. ..
Further, at this time, the utterance sentence generation unit 19 may output the distance value of the feature vector together with the utterance sentence for the subsequent processing.

本実施形態では、発話テンプレートデータベース23及び特徴ベクトルデータベース24は、入力文Iが入力される度に更新されるものとして説明したが、十分なデータが蓄積されていれば、形態素解析部11、過分割修正部12、テンプレート登録部13、表現統一部14、特徴ベクトル演算部15によるデータベースの更新処理は省略されてもよい。また、この場合、発話生成装置1への入力として、入力文Iに代えて、単にキーワードが入力されてもよい。この場合、キーワード辞書21及びキーワード抽出部16も不要となる。 In the present embodiment, the utterance template database 23 and the feature vector database 24 have been described as being updated every time the input sentence I is input, but if sufficient data is accumulated, the morphological analysis unit 11 will be overloaded. The database update process by the division correction unit 12, the template registration unit 13, the expression unification unit 14, and the feature vector calculation unit 15 may be omitted. Further, in this case, as the input to the utterance generation device 1, a keyword may be simply input instead of the input sentence I. In this case, the keyword dictionary 21 and the keyword extraction unit 16 are also unnecessary.

本実施形態では、主に発話生成装置1の構成と動作について説明したが、本発明はこれに限られず、各構成要素を備え、ロボットの発話文を生成するための方法、又はプログラムとして構成されてもよい。 In the present embodiment, the configuration and operation of the utterance generator 1 have been mainly described, but the present invention is not limited to this, and the present invention includes each component and is configured as a method or a program for generating an utterance sentence of a robot. You may.

さらに、発話生成装置1の機能を実現するためのプログラムをコンピュータで読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。 Further, the program for realizing the function of the utterance generator 1 may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read by the computer system and executed. good.

ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータで読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。 The term "computer system" as used herein includes hardware such as an OS and peripheral devices. Further, the "computer-readable recording medium" refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, or a CD-ROM, or a storage device such as a hard disk built in a computer system.

さらに「コンピュータで読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時刻の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時刻プログラムを保持しているものも含んでもよい。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。 Furthermore, a "computer-readable recording medium" is a communication line that transmits a program via a network such as the Internet or a communication line such as a telephone line, and dynamically holds the program for a short period of time. It may also include a program that holds a program for a certain period of time, such as a volatile memory inside a computer system that serves as a server or a client in that case. Further, the above-mentioned program may be a program for realizing a part of the above-mentioned functions, and may be a program for realizing the above-mentioned functions in combination with a program already recorded in the computer system. ..

1 発話生成装置
11 形態素解析部
12 過分割修正部
13 テンプレート登録部
14 表現統一部
15 特徴ベクトル演算部
16 キーワード抽出部
17 ベクトル距離演算部
18 代表語ランキング部
19 発話文生成部
20 代表語辞書更新部
21 キーワード辞書
22 代表語辞書
23 発話テンプレートデータベース
24 特徴ベクトルデータベース
1 Utterance generator 11 Morphological analysis unit 12 Overdivision correction unit 13 Template registration unit 14 Expression unification unit 15 Feature vector calculation unit 16 Keyword extraction unit 17 Vector distance calculation unit 18 Representative word ranking unit 19 Speech generation unit 20 Representative word dictionary update Part 21 Keyword dictionary 22 Representative word dictionary 23 Speaking template database 24 Feature vector database

Claims (9)

感情を表す動詞又は形容詞を含む代表語に対応付けて、発話文のテンプレートを記憶する発話テンプレートデータベースと、
キーワードの特徴ベクトルを記憶する特徴ベクトルデータベースと、
入力された名詞キーワードの特徴ベクトルと前記代表語の特徴ベクトルとの距離を算出する距離演算部と、
前記距離に基づいて選択された前記テンプレートに対して、前記入力された名詞キーワードを組み合わせて発話文を生成する発話文生成部と、を備える発話生成装置。
An utterance template database that stores utterance template templates in association with representative words that include emotional verbs or adjectives.
A feature vector database that stores keyword feature vectors and
A distance calculation unit that calculates the distance between the input feature vector of the noun keyword and the feature vector of the representative word, and
An utterance generation device including a utterance sentence generation unit that generates an utterance sentence by combining the input noun keywords with respect to the template selected based on the distance.
前記距離に基づいて、前記代表語の順位付けを行う代表語ランキング部を備え、
前記発話文生成部は、前記順位付けによるランキングが上位の代表語を優先して、当該上位の代表語に対応する前記テンプレートを選択する請求項1に記載の発話生成装置。
A representative word ranking unit that ranks the representative words based on the distance is provided.
The utterance generation device according to claim 1, wherein the utterance sentence generation unit gives priority to a representative word having a higher ranking based on the ranking and selects the template corresponding to the higher representative word.
入力文から、キーワード辞書に登録されている名詞キーワードを抽出するキーワード抽出部を備える請求項1又は請求項2に記載の発話生成装置。 The utterance generator according to claim 1 or 2, further comprising a keyword extraction unit for extracting noun keywords registered in a keyword dictionary from an input sentence. 前記入力文に、前記キーワード辞書に登録されている名詞キーワード、及び前記代表語又は当該代表語の別表現が含まれている場合、当該代表語に対応するテンプレートとして、前記入力文のうち、前記名詞キーワードを一般化した文を登録するテンプレート登録部を備える請求項3に記載の発話生成装置。 When the input sentence includes a noun keyword registered in the keyword dictionary and the representative word or another expression of the representative word, the input sentence of the input sentence is used as a template corresponding to the representative word. The utterance generator according to claim 3, further comprising a template registration unit for registering sentences that generalize noun keywords. 前記入力文を形態素解析し、分かち書き文に変換する形態素解析部と、
前記分かち書き文において、前記代表語又は前記代表語の別表現が複数の単語に分割されている場合、当該複数の単語を連結して前記代表語又は前記別表現に復元する過分割修正部と、
前記分かち書き文の各語の特徴ベクトルを演算し、前記特徴ベクトルデータベースを更新する特徴ベクトル演算部と、を備える請求項3又は請求項4に記載の発話生成装置。
A morphological analysis unit that analyzes the input sentence and converts it into a word-separated sentence.
In the word-separated sentence, when the representative word or another expression of the representative word is divided into a plurality of words, the over-division correction unit that concatenates the plurality of words and restores the representative word or another expression to the representative word or the different expression.
The utterance generator according to claim 3 or 4, further comprising a feature vector calculation unit that calculates a feature vector of each word in the word-separated sentence and updates the feature vector database.
前記分かち書き文において、前記別表現を前記代表語に置き換える表現統一部を備え、
前記特徴ベクトル演算部は、前記別表現が前記代表語に置き換えられた後に、前記特徴ベクトルを演算する請求項5に記載の発話生成装置。
In the word-separated sentence, the expression unification unit that replaces the other expression with the representative word is provided.
The utterance generation device according to claim 5, wherein the feature vector calculation unit calculates the feature vector after the alternative expression is replaced with the representative word.
前記特徴ベクトルデータベースから、前記代表語の特徴ベクトルとの距離が所定以内の単語を抽出し、前記別表現として辞書に登録する代表語辞書更新部を備える請求項4から請求項6のいずれかに記載の発話生成装置。 The present invention according to any one of claims 4 to 6, further comprising a representative word dictionary update unit that extracts words within a predetermined distance from the feature vector of the representative word from the feature vector database and registers them in the dictionary as the alternative expression. The utterance generator described. 感情を表す動詞又は形容詞を含む代表語に対応付けて、発話文のテンプレートを記憶し、キーワードの特徴ベクトルを記憶したコンピュータが、
入力された名詞キーワードの特徴ベクトルと前記代表語の特徴ベクトルとの距離を算出する距離演算ステップと、
前記距離に基づいて選択された前記テンプレートに対して、前記入力された名詞キーワードを組み合わせて発話文を生成する発話文生成ステップと、を実行する発話生成方法。
A computer that memorizes the template of the utterance sentence and memorizes the feature vector of the keyword in association with the representative word including the verb or adjective expressing emotion.
A distance calculation step for calculating the distance between the feature vector of the input noun keyword and the feature vector of the representative word, and
An utterance generation method for executing a utterance sentence generation step of combining the input noun keywords with respect to the template selected based on the distance to generate an utterance sentence.
感情を表す動詞又は形容詞を含む代表語に対応付けて、発話文のテンプレートを記憶し、キーワードの特徴ベクトルを記憶したコンピュータに、
入力された名詞キーワードの特徴ベクトルと前記代表語の特徴ベクトルとの距離を算出する距離演算ステップと、
前記距離に基づいて選択された前記テンプレートに対して、前記入力された名詞キーワードを組み合わせて発話文を生成する発話文生成ステップと、を実行させるための発話生成プログラム。
A computer that stores a template of an utterance sentence and stores a feature vector of a keyword in association with a representative word containing an emotional verb or adjective.
A distance calculation step for calculating the distance between the feature vector of the input noun keyword and the feature vector of the representative word, and
An utterance generation program for executing a utterance sentence generation step of combining the input noun keywords with respect to the template selected based on the distance to generate an utterance sentence.
JP2017090331A 2017-04-28 2017-04-28 Utterance generator, utterance generation method and utterance generation program Active JP6914094B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017090331A JP6914094B2 (en) 2017-04-28 2017-04-28 Utterance generator, utterance generation method and utterance generation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017090331A JP6914094B2 (en) 2017-04-28 2017-04-28 Utterance generator, utterance generation method and utterance generation program

Publications (2)

Publication Number Publication Date
JP2018190077A JP2018190077A (en) 2018-11-29
JP6914094B2 true JP6914094B2 (en) 2021-08-04

Family

ID=64480396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017090331A Active JP6914094B2 (en) 2017-04-28 2017-04-28 Utterance generator, utterance generation method and utterance generation program

Country Status (1)

Country Link
JP (1) JP6914094B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7363107B2 (en) * 2019-06-04 2023-10-18 コニカミノルタ株式会社 Idea support devices, idea support systems and programs
JP7365791B2 (en) * 2019-06-11 2023-10-20 日本放送協会 Utterance generation device, utterance generation method, and utterance generation program
JP7305566B2 (en) * 2020-01-21 2023-07-10 株式会社東芝 Information processing device, information processing system, and information processing program
CN111353043A (en) * 2020-02-27 2020-06-30 浙江大学 Fine-grained viewpoint mining method based on lightweight convolutional neural network
JP7426917B2 (en) * 2020-09-30 2024-02-02 Kddi株式会社 Program, device and method for interacting with a user according to multimodal information around the user

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163620A (en) * 2008-01-09 2009-07-23 Toyota Central R&D Labs Inc Response generation device and response generation program
JP5676683B2 (en) * 2013-05-13 2015-02-25 日本電信電話株式会社 Utterance sentence extraction device, method, and program
JP2017049471A (en) * 2015-09-03 2017-03-09 カシオ計算機株式会社 Dialogue control apparatus, dialogue control method, and program

Also Published As

Publication number Publication date
JP2018190077A (en) 2018-11-29

Similar Documents

Publication Publication Date Title
JP6914094B2 (en) Utterance generator, utterance generation method and utterance generation program
CN110427617B (en) Push information generation method and device
Li et al. A persona-based neural conversation model
JP6951712B2 (en) Dialogue devices, dialogue systems, dialogue methods, and programs
US20200395008A1 (en) Personality-Based Conversational Agents and Pragmatic Model, and Related Interfaces and Commercial Models
Sultana et al. Transglossic language practices of young adults in Bangladesh and Mongolia
US8935163B2 (en) Automatic conversation system and conversation scenario editing device
CN112040263A (en) Video processing method, video playing method, video processing device, video playing device, storage medium and equipment
JP2017049427A (en) Dialogue control apparatus, dialogue control method, and program
JPWO2017200072A1 (en) Dialogue method, dialogue system, dialogue apparatus, and program
KR102104294B1 (en) Sign language video chatbot application stored on computer-readable storage media
JP6320397B2 (en) Voice selection support device, voice selection method, and program
JP2000207214A (en) Interaction device
US20220253609A1 (en) Social Agent Personalized and Driven by User Intent
JP7058588B2 (en) Conversation system and conversation program
Deena et al. Exploring the use of acoustic embeddings in neural machine translation
JP6723188B2 (en) Dialog rule selection device, dialog device, dialog rule selection method, dialog method, and dialog rule selection program
JP7365791B2 (en) Utterance generation device, utterance generation method, and utterance generation program
JP6889597B2 (en) robot
KR102379730B1 (en) Learning method of conversation agent system and apparatus
JP2019203998A (en) Conversation device, robot, conversation device control method and program
KR102384165B1 (en) Real-time two-way communication method and system through video and audio data transmission and reception in virtual space
JP6660770B2 (en) Dialogue systems and programs
CN113806620B (en) Content recommendation method, device, system and storage medium
JP2019061050A (en) Interaction apparatus, interaction method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210316

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210713

R150 Certificate of patent or registration of utility model

Ref document number: 6914094

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250