【文献】
高橋 達 外2名,高齢者の発話機会の増加のためのソーシャルメディア仲介ロボット,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2012年10月 4日,第112巻 第233号,pp.21-26
【文献】
木村 葵 外3名,Twitterとword2vecを用いた時期に合った返答発話選択手法,言語処理学会第22回年次大会 発表論文集 [online],日本,言語処理学会,2016年 2月29日,pp.79-82
【文献】
今井 健太 外2名,複数の対話システムから応答候補文を用いた最適応答文選択手法の性能評価,情報処理学会研究報告 平成21年度5 [CD−ROM],日本,社団法人情報処理学会,2010年 2月15日,pp.1-7
【文献】
斉藤 いつみ 外3名,崩れ表記語の生成確率を用いた表記正規化と形態素解析,言語処理学会第21回年次大会 発表論文集 [online],日本,言語処理学会,2015年 3月 9日,pp.51-54
【文献】
岡見 吉章 外1名,対話の状況を考慮した語彙選択手法〜敬語変換における検討,言語処理学会第18回年次大会発表論文集 チュートリアル 本会議 [CD−ROM],日本,言語処理学会,2012年 3月13日,pp.213-214
(58)【調査した分野】(Int.Cl.,DB名)
当該コンテンツに関するユーザ側の発話と、取得された関連テキストとに含まれる所定の品詞の単語を抽出し、当該ユーザ側の発話と当該関連テキストとの間における当該単語の一致する度合いであるスコアを決定するスコア決定手段を更に有し、
前記発話生成手段は、当該コンテンツに関するユーザ側の発話との間で最も高い又は所定以上の当該スコアを示す関連テキストから、当該コンテンツ関連テキスト発話を生成する
ことを特徴とする請求項1又は2に記載の対話制御装置。
所定のSNS(Social Networking Service)におけるユーザのプロフィール情報又は投稿に係る情報から、当該ユーザの趣味嗜好に係る情報を取得する又は決定するユーザ情報取得手段と、
当該ユーザの趣味嗜好に係る情報に関連する又は対応付けられたコンテンツを取得するコンテンツ取得手段と
を更に有し、
前記発話生成手段は、取得された当該コンテンツに係るコンテンツ提示発話を生成する
ことを特徴とする請求項5に記載の対話制御装置。
取得された関連テキストから、文字数に係る条件、及び/又は所定の文字若しくは記号を含むか否かに係る条件を満たす関連テキストを選別する関連テキスト選別手段を更に有し、
前記発話生成手段は、選別された関連テキストから、当該コンテンツ関連テキスト発話を生成する
ことを特徴とする請求項1から6のいずれか1項に記載の対話制御装置。
当該関連テキストが所定以上に連続した文字又は文字列を含む場合、当該関連テキストに対し当該文字又は文字列の連続する度合いを小さくする変更を行う関連テキスト変更手段を更に有することを特徴とする請求項1から7のいずれか1項に記載の対話制御装置。
取得された関連テキストに含まれる一人称の単語を判別し、複数種の一人称の単語を含む関連テキストを、1種の一人称の単語を含むものへ変更する関連テキスト変更手段を更に有することを特徴とする請求項1から8のいずれか1項に記載の対話制御装置。
前記関連テキスト取得手段は、当該関連テキストとして、当該コンテンツに係る投稿を、当該コンテンツに係る投稿を含む投稿サイト又は投稿データベースから取得することを特徴とする請求項1から9のいずれか1項に記載の対話制御装置。
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上述したような従来技術をもってしても、ユーザの満足度が上がらず対話の活性化が促進しないといった問題を、十分に解消したとはいえないのが現状である。
【0010】
例えば特許文献1に開示された技術は、装置側の応答を生成する際、ドメイン知識データベースの中から単語を選択する手法を採用している。しかしながらこのような手法では、データベースに登録されている単語しか選択することができない。その結果、応答におけるバリエーションの数が限定されてしまう。
【0011】
このような応答バリエーションの数が限定されてしまう問題は、非特許文献2に開示された技術でも同様に存在する。この技術では、ユーザの発話に適した相槌が予測され、システム側の応答に利用されている。しかしながら、学習機に学習させ得る相槌は、所定数分だけでありその数に限りがある。その結果、応答のバリエーションが乏しいことになってしまう。
【0012】
いずれにしても、応答バリエーションの数が限定されることによって、バラエティ豊かな応答が実施できなくなり、そのような対話の結果として多くの場合、ユーザは共感を得ることができない。その結果、ユーザの満足度が低下し対話の活性化が妨げられる可能性が生じてしまう。
【0013】
さらに、非特許文献3に開示された技術は、非特許文献2の技術も同様であるが、ユーザ側の肯定的又は否定的な発話に対し、システム側がそれに合わせて肯定的又は否定的に応答することができない。そのような対話の結果としても多くの場合、ユーザは共感を得ることができず、結果的に、ユーザの満足度が低下し対話の活性化が妨げられる可能性が生じてしまうのである。
【0014】
そこで、本発明は、対話におけるユーザの共感度がより向上する応答を実施することが可能な対話制御装置、対話制御プログラム、及び対話制御方法を提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明によれば、コンテンツに関する対話を実施可能な対話制御装置であって、
当該コンテンツに関するテキストである関連テキストを取得する関連テキスト取得手段と、
取得された関連テキストにおける極性を決定し、また、当該コンテンツに関するユーザ側の発話を受け取った際、このユーザ側の発話における極性を決定する極性判定手段と、
当該コンテンツに関するユーザ側の発話において決定された極性を受け取り、受け取ったこの極性に基づき決定された極性を有する関連テキストから、当該関連テキストに係る発話であるコンテンツ関連テキスト発話を生成する発話生成手段と、
当該コンテンツに関するユーザ側の発話に対する応答として、当該コンテンツ関連テキスト発話を出力させる発話制御手段と
を有する対話制御装置が提供される。
【0017】
また、
本発明による対話制御装置の一実施形態において、発話生成手段は、当該コンテンツに関するユーザ側の発話
において決定された極性と同じ極性を有する関連テキストから、当該コンテンツ関連テキスト発話を生成することも好ましい。
【0018】
さらに、本発明による対話制御装置の他の実施形態として、本装置は、当該コンテンツに関するユーザ側の発話と、取得された関連テキストとに含まれる所定の品詞の単語を抽出し、当該ユーザ側の発話と当該関連テキストとの間における当該単語の一致する度合いであるスコアを決定するスコア決定手段を更に有し、
発話生成手段は、当該コンテンツに関するユーザ側の発話との間で最も高い又は所定以上の当該スコアを示す関連テキストから、当該コンテンツ関連テキスト発話を生成することも好ましい。
【0019】
また、本発明による対話制御装置の更なる他の実施形態として、本装置は、当該コンテンツに関するユーザ側の発話と、取得された関連テキストとにおいて、敬語表現が含まれているか否かを判定する敬語表現判定手段を更に有し、
発話生成手段は、当該コンテンツに関するユーザ側の発話における当該判定結果と同じ判定結果を有する関連テキストから、当該コンテンツ関連テキスト発話を生成することも好ましい。
【0020】
さらに、本発明による対話制御装置において、発話生成手段は、当該コンテンツのデータにおけるタイトル又はサマリから、当該コンテンツを提示する発話であるコンテンツ提示発話を生成し、
発話制御手段は、当該コンテンツ提示発話を出力させ、当該出力の後に行われた、当該コンテンツに関するユーザ側の発話に対する応答として、当該コンテンツ関連テキスト発話を出力させることも好ましい。
【0021】
また、本発明による対話制御装置の更なる他の実施形態として、本装置は、所定のSNS(Social Networking Service)におけるユーザのプロフィール情報又は投稿に係る情報から、当該ユーザの趣味嗜好に係る情報を取得する又は決定するユーザ情報取得手段と、当該ユーザの趣味嗜好に係る情報に関連する又は対応付けられたコンテンツを取得するコンテンツ取得手段とを更に有し、
発話生成手段は、取得された当該コンテンツに係るコンテンツ提示発話を生成することも好ましい。
【0022】
さらに、本発明による対話制御装置の更なる他の実施形態として、本装置は、取得された関連テキストから、文字数に係る条件、及び/又は所定の文字若しくは記号を含むか否かに係る条件を満たす関連テキストを選別する関連テキスト選別手段を更に有し、
発話生成手段は、選別された関連テキストから、当該コンテンツ関連テキスト発話を生成することも好ましい。
【0023】
また、本発明による対話制御装置の更なる他の実施形態として、本装置は、当該関連テキストが所定以上に連続した文字又は文字列を含む場合、当該関連テキストに対し当該文字又は文字列の連続する度合いを小さくする変更を行う関連テキスト変更手段を更に有することも好ましい。
【0024】
さらに、本発明による対話制御装置の更なる他の実施形態として、本装置は、取得された関連テキストに含まれる一人称の単語を判別し、複数種の一人称の単語を含む関連テキストを、1種の一人称の単語を含むものへ変更する関連テキスト変更手段を更に有することも好ましい。
【0025】
また、本発明による対話制御装置において、関連テキスト取得手段は、当該関連テキストとして、当該コンテンツに係る投稿を、当該コンテンツに係る投稿を含む投稿サイト又は投稿データベースから取得することも好ましい。
【0026】
本発明によれば、また、コンテンツに関する対話を実施可能な装置に搭載されたコンピュータを機能させるプログラムであって、
当該コンテンツに関するテキストである関連テキストを取得する関連テキスト取得手段と、
取得された関連テキストにおける極性を決定し、また、当該コンテンツに関するユーザ側の発話を受け取った際、このユーザ側の発話における極性を決定する極性判定手段と、
当該コンテンツに関するユーザ側の発話において決定された極性を受け取り、受け取ったこの極性に基づき決定された極性を有する関連テキストから、当該関連テキストに係る発話であるコンテンツ関連テキスト発話を生成する発話生成手段と、
当該コンテンツに関するユーザ側の発話に対する応答として、当該コンテンツ関連テキスト発話を出力させる発話制御手段と
してコンピュータを機能させる対話制御プログラムが提供される。
【0027】
本発明によれば、さらに、コンテンツに関する対話を実施可能な装置に搭載されたコンピュータにおいて実施される対話制御方法であって、
当該コンテンツに関するテキストである関連テキストを取得するステップと、
取得された関連テキストにおける極性を決定し、また、当該コンテンツに関するユーザ側の発話を受け取った際、このユーザ側の発話における極性を決定するステップと、
当該コンテンツに関するユーザ側の発話において決定された極性を受け取り、受け取ったこの極性に基づき決定された極性を有する関連テキストから、当該関連テキストに係る発話であるコンテンツ関連テキスト発話を生成するステップと、
当該コンテンツに関するユーザ側の発話に対する応答として、当該コンテンツ関連テキスト発話を出力させるステップと
を有する対話制御方法が提供される。
【発明の効果】
【0028】
本発明の対話制御装置、対話制御プログラム、及び対話制御方法によれば、対話におけるユーザの共感度がより向上する応答を実施することが可能となる。
【発明を実施するための形態】
【0030】
以下では、本発明の実施形態について、図面を用いて詳細に説明する。
【0031】
[対話制御装置]
図1は、本発明による対話制御装置の一実施形態における機能構成を示す機能ブロック図である。
【0032】
図1によれば、本発明の一実施形態としての対話制御装置1は、ユーザとの間で、スピーカ・マイクやタッチパネル・ディスプレイといったユーザインタフェース(UI)102を介して対話を実施可能な装置であり、特に、対話におけるユーザの共感度がより向上するような装置側の応答を出力可能となっている。
【0033】
また、本実施形態において実施される対話は、何らかのコンテンツに関する対話となる。ここでコンテンツとしては、ニュース記事や、解説記事、評論、さらにはエッセイといった何らかの事柄について述べられた内容のテキストを含むデータであって、例えば、通信ネットワークを介して取得されるウェブサイトやデータベース等のデータを採用することができる。
【0034】
同じく
図1に示すように、対話制御装置1は、本実施形態において通信インタフェース101を備えており、通信ネットワーク上に設置された、
(a)デジタルコンテンツ配信事業者の運営する種々のコンテンツ(例えばニュース記事データ)を配信・提供可能なコンテンツサーバ2や、
(b)SNS(Social Networking Service)投稿データを配信・提供可能なSNSサーバ3
と通信接続して、コンテンツやSNS投稿データを取得することができる。
【0035】
ちなみに、この後詳細に説明するが、対話制御装置1は、対話に係るコンテンツに関するテキストである「関連テキスト」を取得し、ユーザの共感度をより向上させる応答を生成する際、この「関連テキスト」を活用することを特徴としている。
【0036】
ここで、この「関連テキスト」として、上記(b)のSNSサーバ3から取得されるSNS投稿を採用することができる。勿論他にも、種々の投稿サイトサーバ、ブログ(Web-log)サーバ、掲示板サーバや、レビューサイトサーバ、さらにはtwitter(登録商標)サイトサーバ等から取得される、投稿、ブログ、掲示板コメント・スレッドや、レビュー、さらにはツイート等を採用することも可能である。
【0037】
また、投稿やコメント等を、配信・提供サーバから取得する以外にも、予め設置・準備された投稿・コメントデータベース(DB)から取得して「関連テキスト」とすることも可能である。さらに言えば、コンテンツと対応する「関連テキスト」とが対応付けて管理され、配信・公開されるサイトサーバ、例えばYouTube(登録商標)サイトサーバから、コンテンツ及び「関連テキスト」を取得することも好ましい。
【0038】
具体的に、対話制御装置1は、
(A)対話に係るコンテンツに関するテキストである「関連テキスト」を取得し、
(B)取得された「関連テキスト」から、当該「関連テキスト」に係る発話である「コンテンツ関連テキスト発話」を生成し、
(C)当該コンテンツに関するユーザ側の発話に対する応答として、生成した「コンテンツ関連テキスト発話」を出力する
ことに特徴を有している。
【0039】
ここで(B)の「関連テキスト」は、上述したように、コンテンツに係る投稿を含む投稿サイト(例えばSNSサーバ3が提供するSNS投稿サイト)から取得可能である。例えば、「**選手が金メダルを獲得!」とのタイトルを含むニュース記事(コンテンツ)を見たユーザによる、その感想を述べた「**選手はメダルを獲ると思ってたよ」とのSNS投稿は、このニュース記事の「関連テキスト」となる。
【0040】
また、変更態様として、コンテンツに対してユーザが行った音声によるコメントをテキストデータに変換したものを、「関連テキスト」として採用することも可能である。例えば、テレビやラジオ等におけるニュース番組においてコメンテータが音声によるコメントを行った際、このコメントの音声データをテキストに落として「関連テキスト」としてもよい。
【0041】
さらには、ニュース記事のタイトル名となるようなキーワードを、twitter(登録商標)サイトサーバ等のAPI(Application Programing Interface)に入力し、ニュースサイトのニュース記事を取得するとともに、そのニュースに対するコメントに相当するツイートを「関連テキスト」として取得することも可能となる。
【0042】
いずれにしても、このような「関連テキスト」は、対話における話題(又はその一部)となるコンテンツの内容に対し、種々の人間がそれぞれ感じること、想うことや、考えること、さらには思うことについて表明した内容を含んでいる。対話制御装置1は、そのような表明内容を有する「関連テキスト」から、対話先であるユーザの発話に対する応答用の「コンテンツ関連テキスト発話」を生成することによって、コンテンツの内容に対するユーザの感想や考えに応じた又は沿った応答、言い換えればユーザの共感度がより向上する応答を実施することを可能とするのである。
【0043】
また、特定のコンテンツの内容に関する対話において、ユーザ側の発話に対し、装置側がユーザに共感を持たせ得る応答を行うことは、ユーザの満足度を向上させ、本装置を用いたコミュニケーションを活性化させることにもつながるのである。
【0044】
さらに、「関連テキスト」として例えばSNS投稿等を採用した場合、対話の話題(又はその一部)となるようなコンテンツの内容に対し、通常は多数の、しかも(肯定的か否定的かを示す)極性に関して様々な内容の投稿が、適宜取得可能となっている。したがって、そのような投稿の中から極性等を勘案し、より好適な投稿を選択して応答生成に用いることにより、より高い共感度を実現することも可能となるのである。
【0045】
[装置機能構成]
同じく
図1の機能ブロック図によれば、対話制御装置1は、通信インタフェース101と、ユーザインタフェース(UI)102と、コンテンツデータベース(DB)103と、SNS投稿DB104と、対話シナリオDB105と、プロセッサ・メモリとを有する。
【0046】
ここで、このプロセッサ・メモリは、本発明による対話制御プログラムの一実施形態を保存しており、また、コンピュータ機能を有していて、この対話制御プログラムを実行することによって、対話制御処理を実施する。したがって、対話制御装置1は、本発明による対話制御プログラムを搭載した、例えばスマートフォン、タブレット型若しくはノート型コンピュータ、ウェアラブル端末又はパーソナル・コンピュータ(PC)等とすることができる。ちなみに、この対話制御プログラムは、例えば装置1がスマートフォン等の端末である場合に、所定のアプリ配信サーバから配信された対話アプリであってもよい。
【0047】
さらに、このプロセッサ・メモリは、機能構成部として、ユーザ情報取得部111と、コンテンツ取得部112と、関連テキスト取得手段としての投稿取得部113と、関連テキスト選別手段としての投稿選別部114と、関連テキスト変更手段としての投稿変更部115と、極性判定部116と、敬語表現判定部117と、スコア決定部118と、コンテンツ提示発話生成部121a及び(関連テキストに関連する発話生成手段としての)投稿発話生成部121bを含む発話生成部121と、発話制御部122と、入出力制御部123と、通信制御部131とを有する。
【0048】
なお、これらの機能構成部は、プロセッサ・メモリに保存された対話制御プログラムの機能と捉えることができ、また、
図1における対話制御装置1の機能構成部間を矢印で接続して示した処理の流れは、本発明による対話制御方法の一実施形態としても理解される。
【0049】
同じく
図1において、ユーザ情報取得部111は、対話先であるユーザについての、所定のSNSに登録されたプロフィール情報から、又は当該ユーザによるSNS投稿に係る情報から、当該ユーザの趣味嗜好に係る情報を取得若しくは決定する。この趣味嗜好に係る情報は、この後説明するコンテンツ取得部112において、対話の話題となるコンテンツを取得する際に使用される。
【0050】
具体的に、ユーザ情報取得部111は例えば、所定のSNSに係るサーバ(例えばSNSサーバ3)から、ユーザによって登録された当該ユーザのプロフィール情報のテキストデータと、ユーザによって投稿された投稿のテキストデータとを、例えば当該サーバが提供する所定のAPIを用いて又はブラウザによって取得する。
【0051】
次いで、ユーザ情報取得部111は、これらのテキストデータを合わせて1つの文書データとした上で、例えばTF−IDF(Term Frequency - Inverse Document Frequency)手法を用いてこの文書から特徴度を抽出し、tf-idfスコアが上位の単語の中から、例えば趣味嗜好に係る単語の辞書を用いて、ユーザの趣味嗜好に係る情報となるものを選択してもよい。
【0052】
コンテンツ取得部112は、コンテンツサーバ2から、通信インタフェース101及び通信制御部131を介し、対話の話題となるコンテンツを取得する。または、外部から予め取得されたコンテンツを保存・管理しているコンテンツDB103から、コンテンツを取得してもよい。ここで、コンテンツ取得部112は例えば、話題に関連する所定のキーワードを検索キーとし、コンテンツサーバ2の提供する検索用APIを用いて、話題として好適なコンテンツを取得してもよい。
【0053】
また1つの好適な実施態様として、コンテンツ取得部112は、ユーザ情報取得部111で取得されたユーザの趣味嗜好に係る情報に関連する又は対応付けられたコンテンツを取得することも好ましい。具体的には、コンテンツがタイトル、サマリや、本文等で構成されたテキストデータを含む場合、取得されたユーザの趣味嗜好に係る情報を表す単語を検索キーとして、所定のテキストデータ部分に当該単語を(例えば所定頻度以上)含むコンテンツを選択して取得してもよい。例えば、コンテンツがニュース記事や公開映画情報であって、ユーザの趣味嗜好が「自動車」の場合に、「自動車」や関連単語である「乗用車」等を検索キーとして検索を行い、当該記事や当該情報のタイトルにこれらの検索キーが含まれるものを1つ取得することができる。
【0054】
以上説明したように選択されたコンテンツに基づき、コンテンツ提示発話を出力することによって、ユーザが対話に積極的に参加し、自らの感情を表明する発話を行う可能性が高まるので、その後の応答によって対話における共感度を高め得る状況をつくることが可能となるのである。
【0055】
さらに変更態様として、例えばコンテンツDB103に保存されているコンテンツ毎に、その内容を特徴づけるキーワードが予め付与されている場合に、コンテンツ取得部112は、ユーザの趣味嗜好に係る情報と一致する又は関連しているキーワードの付与されたコンテンツを、コンテンツDB103から取得することもできる。
【0056】
同じく
図1において、発話生成部121のコンテンツ提示発話生成部121aは、コンテンツ取得部112で取得されたコンテンツから、当該コンテンツ(の内容)を提示する発話である「コンテンツ提示発話」を生成する。具体的には、例えば簡便な方法ではあるが、
(a)コンテンツのテキストデータにおけるタイトル若しくはサマリ、又はそこから(例えば時事用語を登録した辞書を用いて)抽出した単語(群)と、
(b)所定の発話テンプレートと
を用いてコンテンツ提示発話を生成してもよい。例えば、コンテンツがニュース記事であってそのタイトルが「**高速道路で車が炎上!」である場合、コンテンツ提示発話として「**高速道路で車が炎上!というニュースがあるよ」といった発話を生成することができる。また、「**高速道路について報道されているよ」といった発話も生成可能である。
【0057】
次いで、生成されたコンテンツ提示発話は、後に詳細に説明する発話制御部122、入出力制御部123及びUI102を介し、ユーザに向けて出力される。ここで、例えばUI102がタッチパネル・ディススレイである場合、コンテンツ提示発話は、入出力制御部123でディスプレイ表示データに変換されてディスプレイに発話文として表示されてもよい。また、UI102がスピーカ・マイクである場合は、入出力制御部123で音声データに変換されてスピーカから音声として出力されることもできる。
【0058】
さらに、発話制御部122は、上述したようにコンテンツ提示発話を出力させた後、この出力(装置側発話)を受けて行われた、当該コンテンツに関するユーザ側の発話を、UI102を介して受け取る。この際、UI102がタッチパネル・ディススレイである場合、このユーザ側の発話は、例えばユーザによるタッチパネル入力データとして入力され、入出力制御部123でテキストデータに変換されて発話制御部122へ出力される。また、UI102がスピーカ・マイクである場合は、ユーザ側の発話は、マイクを介して音声データとして入力され、入出力制御部123でテキストデータに変換されて発話制御部122へ出力されることになる。
【0059】
同じく
図1において、投稿取得部113は、「関連テキスト」としてのSNS投稿を取得する関連テキスト取得手段である。ここで、対話の話題となるコンテンツに関する「関連テキスト」は、上述したように様々な手法で取得可能であるが、本実施形態において投稿取得部113は、当該コンテンツに係るコンテンツサイトにおけるウェブページ上のSNSリンクアイコンを介して生成されたSNS投稿を、関連テキストとして取得する。いずれにしても、投稿取得部113では通常、複数の(多くの場合多数の)SNS投稿(関連テキスト)が取得されることになる。
【0060】
投稿選別部114は、取得されたSNS投稿(関連テキスト)から、
(a)文字数に係る条件、及び
(b)所定の文字若しくは記号を含むか否かに係る条件
のうちのいずれか一方又は両方を満たすSNS投稿(関連テキスト)を選択する関連テキスト選別手段である。本実施形態において、後に説明する発話生成部121は、少なくともここで選別されたSNS投稿(関連テキスト)のうちのいずれかから、コンテンツ関連テキスト発話を生成するのである。
【0061】
具体的に上記条件(a)の例として、投稿選別部114は、構成する文字数が所定閾値(例えば60文字)以内のSNS投稿を選択する(所定閾値を超えるものを除外する)ことができる。これは、この後SNS投稿から生成されるコンテンツ関連テキスト発話のデータ量が増えて、ユーザが長文を読んだり相当量の音声を聞いたりする必要が生じ、対話の快適性が低下してしまう事態を回避するための措置である。ここで、この文字数閾値は、例えば、(趣味嗜好情報とともに取得された)ユーザの属性情報やコンテンツの種別によって異なる値が設定されてもよい。
【0062】
さらに、投稿選別部114は上記条件(b)の例として、URL(Uniform Resource Locator)を示すための「http://」等の文字を含むSNS投稿を除外する(含まないものを選択する)ことも好ましい。またURL以外にも、生成されるコンテンツ関連テキスト発話が装置側の発話として相応しくない内容となるような文字や記号、または発話化(言語化)が困難な文字や記号を含むSNS投稿を除外してもよい。
【0063】
投稿変更部115は、取得された(または、更に投稿選別部114で選択された)SNS投稿(関連テキスト)について、
(a)当該SNS投稿(関連テキスト)が所定以上に連続した文字又は文字列を含む場合に、このSNS投稿(関連テキスト)に対し、これらの文字又は文字列の連続する度合いを小さくする変更を行う変更処理、及び
(b)当該SNS投稿(関連テキスト)に含まれる一人称の単語を判別して、複数種の一人称の単語を含むSNS投稿(関連テキスト)を、1種の一人称の単語を含むものへ変更する変更処理
のうちのいずれか一方又は両方を実施する関連テキスト変更手段である。
【0064】
具体的に上記条件(a)の例として、投稿変更部115は、SNS投稿において、文字又は文字列が所定閾値(例えば3つ)を超える数だけ連続して現れる部分(例えば「!!!!!!!」)が存在する場合、この連続した部分を、3つ分だけ連続したもの(例えば「!!!」)に変更することも好ましい。これにより、対話を進めるにあたり不要な表示や無駄な音声出力を抑制することができる。
【0065】
また、上記条件(b)として、投稿変更部115は例えば、SNS投稿の中に、「僕」及び「俺」といった異なる複数の一人称の単語が存在する場合、それらの一人称の単語を、1つの一人称の単語、例えば「私」に置換する変更処理を実施することも好ましい。これにより、装置側の発話に一貫性を持たせることが可能となる。例えば、「私もその件に関しては驚きました。」との装置側の発話の後に同じく装置側の発話として「僕も今後やってみようと思います。」を出力してしまい、話し相手が変わったような不自然さをユーザが感じてしまう事態を、回避することが可能となる。
【0066】
同じく
図1において、極性判定部116は、
(a)発話制御部122から出力されたコンテンツに関するユーザ側の発話と、
(b)取得された(または、更に投稿選別部114で選択され投稿変更部115を経た)SNS投稿(関連テキスト)と
のそれぞれにおける「極性」を判定する。
【0067】
ここで本実施形態では、この「極性」として、ポジティブ(Pos)、ネガティブ(Neg)及びニュートラル(Neu)の3分類モデルを採用している。このうち、ポジティブのSNS投稿はコンテンツに対して肯定的な内容を有し、ネガティブのSNS投稿はコンテンツに対して否定的な内容を有し、ニュートラルのSNS投稿は、そのいずれでもない内容を有するものとなる。当然に、極性としてこれとは別の指標を採用してもよい。例えば、Ekmanの7分類モデルや、その他の公知の感情・表情カテゴリモデルが採用可能である。
【0068】
いずれにしても、この後詳細に説明を行うが、発話生成部121は、コンテンツに関するユーザ側の発話の極性に基づいて決定された極性を有するSNS投稿(関連テキスト)から、コンテンツ関連テキスト発話を生成するのである。
【0069】
ここで、上記(a)のユーザ側発話や、上記(b)のSNS投稿における極性判定は、
例えばSVM(Support Vector Machine)等の判定器を利用して行うことも好ましい。この場合、ユーザ側発話やSNS投稿のテキストデータと、当該データに対する正解としての極性との組を多数用意し、これらの組をもって判別器に予め学習させておき、この学習済みの判別器をもって極性判定を行うことになる。また、他の方法として、当該テキストデータに対し形態素解析を行い、単語の極性を収録した辞書を用いて、当該テキストデータを構成する単語の極性から、データ全体の極性判定を行うことも可能である。
【0070】
図2は、極性判定部116による極性判定結果の取り扱いについての一実施形態を示す模式図である。
【0071】
図2によれば、SNS投稿DB104(
図1)は、極性判定部116による各SNS投稿に対する極性判定の結果を、極性判定部116から入力し、当該SNS投稿に紐づけて記録している。より具体的に、SNS投稿DB104は、コンテンツ(情報)毎に、当該コンテンツ(情報)に関連するSNS投稿(のテキストデータ)を対応付けて保存しているが、これらのSNS投稿の各々に、その極性判定結果を紐づけて記録(マーキング)しているのである。ここで、
図2における「Pos」、「Neg」及び「Neu」はそれぞれ、極性がポジティブ、ネガティブ及びニュートラルであることを示している。
【0072】
なお、この
図2に示したように、上記(b)のSNS投稿における極性判定は、取得された(または、更に投稿選別部114で選択され投稿変更部115を経た)複数の(多数の)SNS投稿に対して予め実施しておくことも好ましい。勿論、ユーザ側の発話を受けて応答を生成する際、応答発話生成用の候補となるSNS投稿の極性判定を、リアルタイムに実施することも可能である。
【0073】
しかしながら、複数の(多数の)SNS投稿に対する極性判定を予め行っておくことによって、ユーザ側発話を受けた際、直ちに応答発話生成用のSNS発話を選択し、より短時間で応答発話を出力して、より円滑な対話を実現することが可能となるのである。ちなみにこの場合、極性判定部116による極性判定処理が終了し、SNS投稿DB104に判定結果が登録された後に、発話制御部122が、コンテンツ提示発話をユーザに向けて出力させることも好ましい。
【0074】
図1に戻って、敬語表現判定部117は、
(a)発話制御部122から出力されたコンテンツに関するユーザ側の発話と、
(b)取得された(または更に投稿選別部114で選択され投稿変更部115を経た、または更に極性判定処理を受けた)SNS投稿(関連テキスト)と
のそれぞれにおいて、敬語表現が含まれているか否かを判定する。
【0075】
ちなみにこの後詳細に説明を行うが、発話生成部121は、コンテンツに関するユーザ側の発話における敬語表現判定結果と同じ判定結果を有するSNS投稿(関連テキスト)から、コンテンツ関連テキスト発話を生成するのである。
【0076】
例えば対話の中でユーザ側が敬語表現によって発話を行っている場合に、装置側が、敬語表現ではない例えば平常表現によって発話を出力することは、対話を不自然にしてしまう。またその逆に、平常表現に対し敬語表現を出力することも、同じく不自然な対話をもたらしてしまう。したがって、自然な対話を行うためには、ユーザ側が敬語表現/平常表現で発話したら、装置側もそれに合わせて敬語表現/平常表現の発話を出力すべきである。この点、上述したように敬語表現判定結果を利用して装置側発話を生成することによって、ユーザに違和感を覚えさせない自然な対話が実現可能となるのである。
【0077】
敬語表現判定部117は具体的に、上記(a)のユーザ側発話や上記(b)のSNS投稿の本文を構成する文(特に文末)における表現が敬語表現であるか否かの判定を行う。
【0078】
ここで、例えばオープンソースの形態素解析エンジンであるMeCabを用いて当該本文のテキストを形態素に分解し、品詞が助動詞であって且つ原型が「です」や「ます」である形態素等、敬語表現に係る所定条件を満たす形態素が含まれているか否かを判定することも好ましい。この場合、そのような形態素が含まれていれば、当該コンテンツやSNS投稿は敬語表現を含む(敬)と判定され、一方、含まれていなければ敬語表現を含まない(平:平常表現)と判定されることになる。
【0079】
図3は、敬語表現判定部117による敬語表現判定結果の取り扱いについての一実施形態を示す模式図である。
【0080】
図3によれば、SNS投稿DB104(
図1)は、敬語表現判定部117による各SNS投稿に対する敬語表現判定の結果を、敬語表現判定部117から入力し、当該SNS投稿に紐づけて記録している。
【0081】
より具体的に、SNS投稿DB104は、コンテンツ(情報)毎に、当該コンテンツ(情報)に関連するSNS投稿であって、各々上述した極性判定結果が紐づけられたSNS投稿(のテキストデータ)を対応付けて保存している。SNS投稿DB104は、これらのSNS投稿の各々に対しさらに、当該SNS投稿に対する敬語表現判定の結果を紐づけて記録(マーキング)しているのである。ここで、
図3における「敬」は、当該SNS投稿が敬語表現を含むことを示しており、一方、「平」は、当該SNS投稿が敬語表現を含まないことを示している。
【0082】
なお、この
図3に示したように、上記(b)のSNS投稿における敬語表現判定は、取得された(または更に投稿選別部114で選択され投稿変更部115を経た、または更に極性判定処理を受けた)複数の(多数の)SNS投稿に対して予め実施しておくことも好ましい。勿論、ユーザ側の発話を受けて応答を生成する際、応答発話生成用の候補となるSNS投稿の敬語表現判定を、リアルタイムに実施することも可能である。
【0083】
しかしながら、複数の(多数の)SNS投稿に対する敬語表現判定を予め行っておくことによって、ユーザ側発話を受けた際、直ちに応答発話生成用のSNS発話を選択し、より短時間で応答発話を出力して、より円滑な対話を実現することが可能となるのである。ちなみにこの場合も、敬語表現判定部117による敬語表現判定処理が終了し、SNS投稿DB104に判定結果が登録された後に、発話制御部122が、コンテンツ提示発話をユーザに向けて出力されることも好ましい。
【0084】
図1に戻って、スコア決定部118は、
(a)発話制御部122から出力されたコンテンツに関するユーザ側の発話と、
(b)取得された(または更に投稿選別部114で選択され投稿変更部115を経た、または更に極性判定処理及び/又は敬語表現判定処理を受けた)SNS投稿(関連テキスト)と
のそれぞれにおいて、含まれる所定の品詞の単語を抽出し、当該ユーザ側の発話と当該SNS投稿(関連テキスト)との間における当該単語の一致する度合いである「スコア」を決定する。
【0085】
図4は、スコア決定部118によるスコア決定処理の一実施形態を説明するための機能ブロック図である。
【0086】
図4に示すように、スコア決定部118は機能構成部として、ユーザ発話動詞等抽出部118a、投稿動詞等抽出部118b及びスコア付与部118cを有する。このうち、ユーザ発話動詞等抽出部118a及び投稿動詞等抽出部118bは、それぞれ上記(a)のユーザ側発話のテキストデータ、及び上記(b)のSNS投稿のテキストデータ中に出現する、品詞が動詞、形容詞又は形容動詞である単語(スコア単語)を抽出する。
【0087】
次いで、スコア付与部118cは、SNS投稿から抽出された全てのスコア単語のうち、ユーザ側発話から抽出されたスコア単語のいずれかと一致するものの割合(例えば全てが一致すれば1であって一致するものがない場合には0となる値)を算出し、当該割合をスコアとして、このSNS投稿に付与(マーキング)する。
【0088】
ここで変更態様として、予め設定された類義語辞書を利用し、ユーザ側発話から抽出されたスコア単語のいずれかと一致又は類似するスコア単語の割合をスコアとすることも可能である。いずれにしても、SNS投稿に対するスコアは、
図2の極性や
図3の敬語表現と同様、SNS投稿DB104に保存されたSNS投稿の各々について、付与され登録されることも好ましい。
【0089】
ちなみに、スコア算出のための所定品詞として、動詞、形容詞及び形容動詞を設定したのは、通常の会話のテキスト中で、発話者の感情にかかわる単語の品詞は多くの場合、動詞、形容詞又は形容動詞であるからである。ユーザの抱く共感度とは、対話先(装置1)との間で感情を共有する感覚の度合いのことであるが、ユーザ側発話において感情表現が込められている可能性の高いこれらの品詞の単語を、装置側が繰り返す形で又は応じる形で応答することによって、ユーザの共感度をより高めることが可能となるのである。
【0090】
ただし、場合によっては、例えば発話者の感情にかかわる(「犬」や「猫」といった)対象物を指し示す名詞の単語が、装置側の発話でも繰り返されることによって対話の共感度が高まることもあり得る。したがって、スコア算出のための所定品詞として、動詞、形容詞及び形容動詞に、名詞も加えてスコア単語を抽出し、スコアを算出することも好ましい。
【0091】
次いで、以上に説明したスコア付け処理の後、発話生成部121は、当該コンテンツに関するユーザ側の発話との間で最も高い又は所定以上のスコアを示すSNS投稿(関連テキスト)から、コンテンツ関連テキスト発話を生成する。ここで、スコア決定部118は
図4に示すように、スコア選択部118dを有し、このスコア選択部118dで最高スコア又は所定以上のスコアの付与されたSNS投稿を選択して発話生成部121へ手渡してもよい。勿論、発話生成部121がスコアによる選択を行うことも好ましい。
【0092】
図1に戻って、発話生成部121の投稿発話生成部121bは、取得された(または更に投稿選別部114で選択され投稿変更部115を経た、または更に極性判定処理、敬語表現判定処理及び/又はスコア付与処理を受けた)SNS投稿から、当該SNS投稿に係る発話である「コンテンツ関連投稿発話」(コンテンツ関連テキスト発話)を生成する。
【0093】
ここで、投稿発話生成部121bは、当該SNS投稿の本文のテキストデータをそのままコンテンツ関連投稿発話とすることも可能であるが、当該SNS投稿の本文のテキストデータと所定の発話テンプレートとを用いて、コンテンツ関連投稿発話を生成してもよい。
【0094】
例えば、「**選手はメダルを獲ると思ってたよ」とのSNS投稿から、「そうだね!**選手はメダルを獲ると思ってたよ」とのコンテンツ関連投稿発話を生成することもできる。なお、上記の所定の発話テンプレートについては、例えば極性や敬語表現の有無に対応付けて予め複数種準備しておき、ユーザ側発話に付与された極性や敬語表現判定結果に合わせて好適なものを選択することも好ましい。
【0095】
具体的に投稿発話生成部121bは、SNS投稿毎に極性判定結果、敬語表現判定結果及びスコアが紐づけられて保存されているSNS投稿DB104から、ユーザ側発話で話題となっているコンテンツ(情報)に関連するとして対応付けられたSNS投稿であって、
(a)当該ユーザ側発話の極性と一致する極性が付与されていて、且つ
(b)当該ユーザ側発話の敬語表現判定結果(例えば「敬」)と一致する敬語表現判定結果(同じ「敬」)が付与されている
SNS投稿を検索する。
【0096】
例えば、
図3に示した実施例において、コンテンツ情報1に係る対話が行われており、ユーザ側発話の極性がポジティブ(Pos)であるとすると、SNS投稿DB104からSNS投稿1〜16が検索されることになる。
【0097】
次いで、投稿発話生成部121bは、検索したSNS投稿のうちで、
(c)最も高い又は所定閾値以上のスコアが付与されている
SNS投稿を1つ選択する。ここで、複数のスコアが選択可能な場合、例えばランダムに1つを決定してもよい。投稿発話生成部121bは、このように選択したSNS投稿からコンテンツ関連投稿発話を生成するのである。
【0098】
なお、以上に述べた実施形態では、好適な形態として上記条件(a)、(b)及び(c)の全てを満たすSNS投稿を選択しているが、上記条件(a)、(b)及び(c)のうちのいずれか1つ又は2つを満たすものを選択することもできる。また、最初に上記条件(c)で所定閾値以上のスコアのSNS投稿を検索した後、上記条件(a)及び/又は(b)を満たすSNS投稿に絞り込むことも可能である。
【0099】
さらに、上記条件(a)においては、好適な形態として極性一致が選択条件となっているが、変更態様として、ユーザ側発話の極性に応じて予め決定しておいた極性(例えばpos/negに対してはneg/pos、neuに対してはneu)を有するSNS投稿を選択することも可能である。または、ユーザ側発話の極性にかかわらず、予め決定しておいた極性(例えばpos)を有するSNS投稿を選択してもよい。
【0100】
なお、以上に説明した投稿発話生成部121bを含む発話生成部121は、対話シナリオDB105(又は装置1外部に設置された対話シナリオDB4)に保存された発話テキストデータを読み出して(又は通信により取り寄せて)、継続されるユーザとの対話に対応して適宜相応しい発話を生成することも好ましい。この対話シナリオDB105は、想定される装置1とユーザとの対話を構成する発話テキストデータ群を保存したデータベースとなっている。
【0101】
同じく
図1において、発話制御部122は、(話題となっているコンテンツに関する)ユーザ側発話に対する応答として、生成されたコンテンツ関連テキスト発話を、入出力制御部123を介してUI102に出力させる。この際、当該ユーザ側発話を受けた通常の人間が応答するようなタイミングをもってコンテンツ関連テキスト発話をユーザに提示(例えば画面表示及び/又は音声提示)できるように、出力のタイミングが制御されることも好ましい。
【0102】
入出力制御部123は、ユーザインタフェース102から入力したユーザ側発話に係るデータを例えばテキストデータに変換して発話制御部122へ出力し、一方、発話制御部122から入力された発話に係る例えばテキストデータを、ユーザインタフェース102で出力可能な形に変換し、発話制御部122から指定されたタイミングや順序をもってUI102へ出力する。
【0103】
例えば、UI102がタッチパネル・ディスプレイである場合、入出力制御部123は、発話をディスプレイ表示データに変換して出力する。また、タッチパネル経由で入力されたユーザ側発話を、例えばテキストデータに変換して発話制御部122へ出力することができる。さらに、UI102がスピーカ・マイクである場合、入出力制御部123は、発話を公知の音声データ化手段を用いて音声データに変換して出力する。またこの場合、マイク経由で入力されたユーザ側発話の音声データを、公知の音声認識手段を用いて例えばテキストデータに変換し、発話制御部122へ出力してもよい。
【0104】
図5は、UI102がタッチパネル・ディスプレイである場合の発話入出力例を示す模式図である。
【0105】
図5によれば、UI102の表示画面に、左端部からの吹き出しの形で装置1側の「コンテンツ提示発話」が表示され、次いでその下方に、右端部からの吹き出しの形で、提示されたコンテンツに関する「ユーザ側発話」が表示されている。また更にその下方には、
左端部からの吹き出しの形で装置1側の「コンテンツ関連テキスト発話」が表示されている。このように、装置1とユーザとの間でやり取りされる発話は、上から順に交互に表示され、対話の様子が一目して理解される。
【0106】
このうち、ユーザ側発話の入力は、タッチパネルを用い、例えば
図5のUI102の表示画面の下部に設けられた入力フォームへ文字を入力し、送信アイコンをタップすることで行われることも好ましい。この入力後、「ユーザ側発話」が直ちに画面に表示される。また他の方法として、ユーザ側発話の入力は、UI102に備えられたマイクを介したユーザによる音声入力であってもよい。
【0107】
さらに、装置1側の発話も、ディスプレイ表示と合わせて又は当該表示無しで、UI102に備えられたスピーカを用い音声として出力されてもよい。勿論、発話の入出力をともに音声入出力だけとしてもよい。ちなみに例えば、対話制御装置1が、本発明による対話制御プログラムである対話アプリをダウンロードしたスマートフォンである場合、このアプリの機能として以上に述べた入出力を実現することが可能となる。
【0108】
なお、UI102の他の実施形態として、キーボードを備えたものや点字入出力器を備えたものを採用し、入出力制御部123も、それに合わせて構成されていてもよい。
【0109】
[対話制御方法]
図6は、本発明による対話制御方法の一実施形態を概略的に示すフローチャートである。なお、本実施形態では、コンテンツ及び関連テキストとして、それぞれニュース記事及びSNS投稿が採用されている。
【0110】
(S101)ユーザ情報に基づき、ニュース記事を取得する。
(S102)取得したニュース記事に紐づいた(例えばリンクアイコンでリンクした)複数のSNS投稿を取得する。
(S103)取得した複数のSNS投稿から、文字数等に係る所定条件を満たすSNS投稿を選択する。
【0111】
(S104)選択されたSNS投稿のうち、所定以上の連続文字等を含むSNS投稿に対し、その連続度を落とす変更処理を実施する。
(S105)上記変更処理を施したSNS投稿のうち、一人称の単語を複数種含むSNS投稿を、1種の一人称単語を含むものに変更する処理を実施する。
(S106)各SNS投稿に対し、極性及び敬語表現に係る判定を実施し、動詞、形容詞及び形容動詞を抽出する。
【0112】
(S107)取得したニュース記事からニュース記事提示発話(コンテンツ提示発話)を生成し、UI102を介しユーザに向けて出力する。
(S108)ユーザ側発話を、UI102を介して入力する。
【0113】
(S109)入力されたユーザ側発話の極性を判定し、当該極性と同一の極性を有するSNS投稿を、ステップS106の段階で準備されたSNS投稿の中から選択する。
(S110)入力されたユーザ側発話に対し敬語表現判定を実施し、選択されたSNS投稿の中から、このユーザ側発話における敬語表現判定結果と同じ敬語表現判定結果を有するSNS投稿を更に選択する。
【0114】
(S111)入力されたユーザ側発話に含まれた動詞、形容詞及び形容動詞を抽出し、選択された各SNS投稿について、このユーザ側発話との間で、抽出された動詞、形容詞及び形容動詞の比較を行い、スコアを算出する。
(S112)算出されたスコアに基づき、選択されたSNS投稿の中から、ニュース記事関連投稿発話(コンテンツ関連投稿発話)生成用のSNS投稿を決定する。
(S113)決定したSNS投稿から、ニュース記事関連投稿発話を生成し、UI102を介しユーザに向けて出力する。
【0115】
以上、ステップS101〜S113によって、ニュース記事提示発話を生成して出力して、ユーザ側発話を入力し、その後、ニュース記事関連発話を生成して出力する1つの対話フローが実施される。この対話フローは、一連の対話の中で適宜繰り返し実施されてもよい。
【0116】
また、ユーザ側発話を入力し、ニュース記事関連発話を生成して出力するステップS107〜S113のフローが、あるコンテンツの内容を話題とした一連の対話の中で適宜繰り返し実施されてもよい。さらに変更態様として例えば、ユーザ側発話の中に別のコンテンツ情報を見出して、予め当該コンテンツ情報に対応付けて登録されたSNS投稿、又は当該コンテンツ情報を受けて検索したSNS投稿に基づき、応答としてのコンテンツ関連投稿発話を出力することも可能である。
【0117】
以上詳細に説明したように、本発明に係る「関連テキスト」は、対話における話題(又はその一部)となるコンテンツの内容に対し、種々の人間がそれぞれ感じること、想うことや、考えること、さらには思うことについて表明した内容を含んでいる。本発明によれば、そのような表明内容を有する関連テキストから、コンテンツについてのユーザ側発話に対する応答としての装置側発話を生成することによって、コンテンツの内容に対するユーザの感想や考えに応じた又は沿った応答、言い換えればユーザの共感度がより向上する応答を実施することが可能となるのである。
【0118】
また、特定のコンテンツの内容に関する対話において、ユーザ側の発話に対し、装置側がユーザに共感を持たせ得る応答を行うことは、ユーザの満足度を向上させ、本装置を用いたコミュニケーションを活性化させることにもつながる。
【0119】
以上に述べた本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。