(57)【要約】【課題】テレビ及びユーザを認識しつつ、番組の内容に応じて自発的に向きを変えて発話できるロボットの制御装置、制御方法及び制御プログラムを提供すること。【解決手段】制御装置１０は、番組情報を取得するテレビ情報取得部１４と、番組情報、及び発話用辞書に登録されているテンプレートに基づく発話文を生成する発話生成部１５と、ロボット１の向きを制御するモータ角度制御部１７と、発話文を音声に変換する音声合成部１６と、を備え、発話生成部１５は、発話文の特徴により、当該発話文が人へ話し掛ける文であるか否かを判定し、判定結果に応じてモータ角度制御部１７に対して、テレビが位置する第１方向、又はユーザが位置する第２方向のいずれかを指示する。【選択図】図１
2018180472.tif 000002
【特許請求の範囲】
【請求項１】
番組情報を取得する情報取得部と、
前記番組情報、及び発話用辞書に登録されているテンプレートに基づく発話文を生成する発話生成部と、
ロボットの向きを制御する方向制御部と、
前記発話文を音声に変換する音声合成部と、を備え、
前記発話生成部は、前記発話文の特徴により、当該発話文が人へ話し掛ける文であるか否かを判定し、判定結果に応じて前記方向制御部に対して、テレビが位置する第１方向、又はユーザが位置する第２方向のいずれかを指示する制御装置。
【請求項２】
カメラ画像に基づいて、前記第１方向を検出する第１方向検出部を備える請求項１に記載の制御装置。
【請求項３】
複数のマイクに入力された音声のうち、前記テレビの方向からの音声を除くことにより、前記第２方向を検出する第２方向検出部を備える請求項２に記載の制御装置。
【請求項４】
前記発話生成部は、前記番組情報としての字幕データのうち、出現頻度に基づく番組関連度の指標が所定以上の単語に基づいて、前記発話文を生成する請求項１から請求項３のいずれかに記載の制御装置。
【請求項５】
前記発話生成部は、前記番組情報に基づいて、前記発話用辞書を更新する請求項１から請求項４のいずれかに記載の制御装置。
【請求項６】
前記発話生成部は、前記テンプレートに予め付与されている区分に基づいて、前記発話文が人へ話し掛ける文であるか否かを判定する請求項１から請求項５のいずれかに記載の制御装置。
【請求項７】
前記発話生成部は、前記発話文の文末が特定の文字列であるか否かにより、前記発話文が人へ話し掛ける文であるか否かを判定する請求項１から請求項５のいずれかに記載の制御装置。
【請求項８】
請求項１から請求項７のいずれかに記載の制御装置を有し、
前記方向制御部により回転角度を制御される回転テーブルを備えるロボット。
【請求項９】
番組情報を取得する情報取得ステップと、
前記番組情報、及び発話用辞書に登録されているテンプレートに基づく発話文を生成する発話生成ステップと、
ロボットの向きを制御する方向制御ステップと、
前記発話文を音声に変換する音声合成ステップと、をコンピュータが実行し、
前記発話生成ステップにおいて、前記発話文の特徴により、当該発話文が人へ話し掛ける文であるか否かを判定し、判定結果に応じて前記方向制御ステップに対して、テレビが位置する第１方向、又はユーザが位置する第２方向のいずれかを指示する制御方法。
【請求項１０】
番組情報を取得する情報取得ステップと、
前記番組情報、及び発話用辞書に登録されているテンプレートに基づく発話文を生成する発話生成ステップと、
ロボットの向きを制御する方向制御ステップと、
前記発話文を音声に変換する音声合成ステップと、をコンピュータに実行させ、
前記発話生成ステップにおいて、前記発話文の特徴により、当該発話文が人へ話し掛ける文であるか否かを判定し、判定結果に応じて前記方向制御ステップに対して、テレビが位置する第１方向、又はユーザが位置する第２方向のいずれかを指示させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コミュニケーションロボットを制御するための装置、方法及びプログラムに関する。
【背景技術】
【０００２】
近年、高齢化、核家族化、共働きの家庭の増加等、様々な要因により、一人暮らしの高齢者、あるいは家族と同居しているものの、日中は家で一人となる日中独居の高齢者が増加している。これらの高齢者は、日中、一人でいることが多いが、孤独感を解消するために、犬や猫等のペットが欲しくても、容易に飼うことができない。
【０００３】
このような背景の中、会話等のコミュニケーションをサポートする動物型又は人型のコミュニケーションロボットが開発され販売されている。
コミュニケーションロボット開発の目標は、人間又は動物の代わりとなるロボットであるが、現状で実現は困難なため、既存のコミュニケーションロボットが持つ機能は限定されている。
例えば、既存のコミュニケーションロボットは、行動及び会話のパターンが限られているため、使い始めは目新しいものの、使い続けていると利用者が飽きてしまう課題がある。そこで、例えば、以下の方法が提案されている。
【０００４】
特許文献１では、ロボットの内部感情を示すために、感情に合致したコンテンツを再生する方法が提案されている。
特許文献２では、ロボットに組み込まれたカメラにより、周囲の人物又は物体を識別し、識別結果に関連した話題の会話を行う方法が提案されている。
特許文献３では、映像に対するソーシャルネットワークのコメント等の投稿情報を用いて、ロボットがユーザの好みに応じたコンテンツを提供すると共に、映像を一緒に視聴しているかのような動作を提供することで、ユーザに対して共感を生じさせる方法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４５５６４２５号公報
【特許文献２】特開２００８−１５８６９７号公報
【特許文献３】特開２０１５−１４８７０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、独居者の多くは、一人でテレビを見ていること、また、特にテレビが見たいわけではないが、部屋が静かすぎることを紛らわすためにテレビを付けたままにしていることも多い。
このような状況において、あたかもテレビを見て楽しんでいるロボットの存在は、このロボットがテレビとユーザとの双方と関わりを持つことで、ユーザの孤独感を癒す効果が期待できる。
【０００７】
本発明は、テレビ及びユーザを認識しつつ、番組の内容に応じて自発的に向きを変えて発話できるロボットの制御装置、制御方法及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る制御装置は、番組情報を取得する情報取得部と、前記番組情報、及び発話用辞書に登録されているテンプレートに基づく発話文を生成する発話生成部と、ロボットの向きを制御する方向制御部と、前記発話文を音声に変換する音声合成部と、を備え、前記発話生成部は、前記発話文の特徴により、当該発話文が人へ話し掛ける文であるか否かを判定し、判定結果に応じて前記方向制御部に対して、テレビが位置する第１方向、又はユーザが位置する第２方向のいずれかを指示する。
【０００９】
前記制御装置は、カメラ画像に基づいて、前記第１方向を検出する第１方向検出部を備えてもよい。
【００１０】
前記制御装置は、複数のマイクに入力された音声のうち、前記テレビの方向からの音声を除くことにより、前記第２方向を検出する第２方向検出部を備えてもよい。
【００１１】
前記発話生成部は、前記番組情報としての字幕データのうち、出現頻度に基づく番組関連度の指標が所定以上の単語に基づいて、前記発話文を生成してもよい。
【００１２】
前記発話生成部は、前記番組情報に基づいて、前記発話用辞書を更新してもよい。
【００１３】
前記発話生成部は、前記テンプレートに予め付与されている区分に基づいて、前記発話文が人へ話し掛ける文であるか否かを判定してもよい。
【００１４】
前記発話生成部は、前記発話文の文末が特定の文字列であるか否かにより、前記発話文が人へ話し掛ける文であるか否かを判定してもよい。
【００１５】
本発明に係るロボットは、前記制御装置を有し、前記方向制御部により回転角度を制御される回転テーブルを備える。
【００１６】
本発明に係る制御方法は、番組情報を取得する情報取得ステップと、前記番組情報、及び発話用辞書に登録されているテンプレートに基づく発話文を生成する発話生成ステップと、ロボットの向きを制御する方向制御ステップと、前記発話文を音声に変換する音声合成ステップと、をコンピュータが実行し、前記発話生成ステップにおいて、前記発話文の特徴により、当該発話文が人へ話し掛ける文であるか否かを判定し、判定結果に応じて前記方向制御ステップに対して、テレビが位置する第１方向、又はユーザが位置する第２方向のいずれかを指示する。
【００１７】
本発明に係る制御プログラムは、番組情報を取得する情報取得ステップと、前記番組情報、及び発話用辞書に登録されているテンプレートに基づく発話文を生成する発話生成ステップと、ロボットの向きを制御する方向制御ステップと、前記発話文を音声に変換する音声合成ステップと、をコンピュータに実行させ、前記発話生成ステップにおいて、前記発話文の特徴により、当該発話文が人へ話し掛ける文であるか否かを判定し、判定結果に応じて前記方向制御ステップに対して、テレビが位置する第１方向、又はユーザが位置する第２方向のいずれかを指示させるためのものである。
【発明の効果】
【００１８】
本発明によれば、ロボットは、テレビ及びユーザを認識しつつ、番組の内容に応じて自発的に向きを変えて発話できる。
【図面の簡単な説明】
【００１９】
【図１】実施形態に係る制御装置の機能構成を示すブロック図である。
【図２】実施形態に係るＥＰＧデータの一例を示す図である。
【図３】実施形態に係る字幕情報の一例を示す図である。
【図４Ａ】実施形態に係るロボットの実装例を示す第１の図である。
【図４Ｂ】実施形態に係るロボットの実装例を示す第２の図である。
【図５】実施形態に係るテレビ位置検出処理の流れを示すフローチャートである。
【図６】実施形態に係る字幕情報の整形処理の流れを示すフローチャートである。
【図７】実施形態に係る整形処理を行った結果を例示する図である。
【図８】実施形態に係る発話生成処理の流れを示すフローチャートである。
【図９】実施形態に係る定型対話処理の流れを示すフローチャートである。
【図１０】実施形態に係る対話文生成処理の流れを示すフローチャートである。
【図１１】実施形態に係るつぶやき文生成処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態の一例について説明する。
本実施形態に係る制御装置１０は、ロボット１の動作を制御する情報処理装置である。制御装置１０は、テレビの位置とユーザ（視聴者）の位置とを判別し、テレビ音声、映像、番組情報又は字幕情報等から抽出したキーワードに関連する言葉をテレビの方向を向いてつぶやく、又はユーザの方向を向いて話しかけるように、ロボット１を回転させることで、ユーザにロボットと一緒にテレビを視聴しているように感じさせる。
【００２１】
図１は、本実施形態に係る制御装置１０の機能構成を示すブロック図である。
制御装置１０は、ロボット１の周囲にあるテレビを検出するためのカメラＣ、ユーザの声を収集するマイクロホンアレイＭ、ユーザが好みのぬいぐるみ等Ｕを乗せるための回転テーブルＴ、この回転テーブルＴを回転させるモータＳ、制御装置１０が発生させる発話音声を出力するスピーカＰ、視聴中のテレビの番組情報及び字幕情報等を管理し提供するテレビ情報提供サーバＶ、テレビを制御するための赤外線発光器Ｌのそれぞれと接続されている。
【００２２】
制御装置１０は、テレビ位置検出部１１（第１方向検出部）と、音源定位・分離部１２（第２方向検出部）と、音声認識部１３と、テレビ情報取得部１４（情報取得部）と、発話生成部１５と、音声合成部１６と、モータ角度制御部１７（方向制御部）と、テレビ制御部１８とを備える。
【００２３】
テレビ位置検出部１１は、ロボット１の電源投入時、又はユーザがロボット１の置き場所を変更した場合、若しくはリセット動作を行った場合に、初期動作として、後述のテレビ位置検出処理を行う。
テレビ位置検出処理において、テレビ位置検出部１１は、モータ角度制御部１７を制御し、回転テーブルＴを回転させながら、カメラＣの画像からテレビが位置する第１方向を検出する。
【００２４】
ここで、画像からテレビの位置を検出する方法としては、例えば、以下の文献Ａの方法が適用できる。すなわち、テレビ位置検出部１１は、テレビ内の画像が時間的に変化することを利用し、撮影した画像のフレーム間差分画像から、差分が大きい矩形領域をテレビ受像機として検出できる。
文献Ａ：特開２００５−４６９７号公報
【００２５】
また、テレビ位置検出部１１は、検出した第１方向を、音源定位・分離部１２及びモータ角度制御部１７に通知する。音源定位・分離部１２及びモータ角度制御部１７は、それぞれ通知された方向をテレビの方向として記憶する。
【００２６】
音源定位・分離部１２は、複数のマイクからなるマイクロホンアレイＭを用いて、ユーザの音声が到来する第２方向の検出（音源定位）と、音声の抽出（音源分離）を行う。
音源定位及び音源分離の方法としては、例えば、以下の文献Ｂの方法が適用でき、この方法により、音源定位・分離部１２は、ユーザがロボット１に話し掛けた音声を取得できる。
文献Ｂ：奥乃博、中臺一博「ロボット聴覚オープンソフトウエア  ＨＡＲＫ」、日本ロボット学会誌、Ｖｏｌ．２８、Ｎｏ．１、２０１０
【００２７】
ここで、音源定位・分離部１２は、テレビ位置検出部１１からテレビが位置する第１方向を取得しているので、マイクロホンアレイＭに入力された音声のうち、第１方向からの音声を除くことで、テレビの音声以外の音をユーザの音声として判定し、音源の定位及び分離を行う。
また、音源定位・分離部１２は、分離した音声データを音声認識部１３に通知すると共に、音声が到来した第２方向をモータ角度制御部１７に通知する。モータ角度制御部１７は、通知された方向をユーザの方向として記憶する。
【００２８】
音声認識部１３は、音源定位・分離部１２から、音源分離された音声データが入力されると、この音声データをテキストデータに変換し、テキストデータを発話生成部１５に通知する。
音声データからテキストデータへ変換する音声認識には様々な方式が開発されており、例えば、以下の文献Ｃの方法が適用できる。
文献Ｃ：河原達也、李晃伸「連続音声認識ソフトウェア  Ｊｕｌｉｕｓ」、人工知能学会誌、Ｖｏｌ．２０、Ｎｏ．１、２００５
【００２９】
ここで、音声認識は、大規模な単語辞書及び単語並びの出現頻度（単語Ｎグラム）を用いて、入力された音声データから音声認識を行う大語彙音声認識と、予め予想される言葉の文法及び単語から音声認識を行う記述文法による音声認識と、単語辞書を用いて単語だけを認識する単語認識の３つに分類される。
本実施形態では、音声認識部１３は、大語彙音声認識と記述文法による音声認識とを並列に使用する。記述文法による音声認識は、「チャンネルを１に切り替えて」、「テレビをつけて」、「音量を下げて」、「今何の番組を見ているの」等の、一般にテレビの操作に関する音声の認識に用い、その他の音声には、大語彙音声認識による音声認識結果を用いる。
【００３０】
音声認識では認識されたテキストデータ（単語の並び）に対して尤度（認識結果の単語又は音素並びの生起確率の積）が求められるので、音声認識部１３は、例えば、大語彙音声認識による結果と、記述文法音声認識による結果とで、尤度が大きい方を音声認識の結果として用いてよい。
音声認識部１３は、変換されたテキストデータと共に、使用された音声認識の方式（大語彙又は記述文法）を発話生成部１５に通知する。
【００３１】
テレビ情報取得部１４は、テレビ制御部１８から通知されたチャンネルのＥＰＧ（Ｅｌｅｃｔｒｏｎｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ）及び字幕情報等の番組情報を、テレビ情報提供サーバＶから取得する。
【００３２】
図２は、本実施形態に係るテレビ情報提供サーバＶが蓄積する番組情報のうち、ＥＰＧデータの一例を示す図である。
番組情報は、例えば、“，”文字によってデータのフィールドが区切られ、番組の開始日、開始時刻、番組の時間長、番組タイトル、番組概要等を含む。
この例では、番組の放送日が２０１６年９月３０日、番組開始時刻が２２時００分００秒、番組の時間長が５０分、番組タイトルが「ドラマめろめろ  第２回」、番組概要が「主人公Ｙは職場の同僚Ｋ子に思いをはせる。」である。
【００３３】
図３は、本実施形態に係るテレビ情報提供サーバＶが蓄積する番組情報のうち、字幕情報の一例を示す図である。
ここでは、６個分の字幕情報の例を示している。１つの字幕情報は、例えば、“，”文字によってデータのフィールドが区切られ、表示日、表示開始時刻、字幕文等を含む。
例えば、１つ目の字幕情報は、２０１６年９月３０日の２２時１０分１４秒に、「こんばんは。」という字幕文を表示することを示している。
【００３４】
テレビ情報取得部１４は、ネットワークを介してテレビ情報提供サーバＶに接続する。なお、ネットワークのインタフェースは、無線でも有線でもよい。
また、テレビ情報提供サーバＶは、例えば、放送局がインターネット等のサービスとして提供するサーバでもよいし、テレビ受像機が受信した放送データから番組情報を抽出する家庭内のサーバでもよい。
ここで、テレビ情報提供サーバＶが放送局毎に異なる場合には、テレビ情報取得部１４は、テレビ制御部１８からチャンネル切り替えの通知を受信する度に、該当のチャンネルに対応するテレビ情報提供サーバＶに接続し直す。
【００３５】
テレビ情報取得部１４は、テレビ情報提供サーバＶから番組情報を受信すると、受信した内容を発話生成部１５に通知する。
また、テレビ情報取得部１４は、テレビ情報提供サーバＶから番組情報としての字幕情報を受信すると、後述の字幕文の整形処理を行った後、整形した字幕文テキストを発話生成部１５に通知する。
【００３６】
発話生成部１５は、入力された番組情報に基づいて、発話用辞書を更新すると共に、番組情報、及び発話用辞書に登録されているテンプレートに基づく発話文を生成する。
また、発話生成部１５は、発話文の特徴により、この発話文が人へ話し掛ける文であるか否かを判定し、判定結果に応じてモータ角度制御部１７に対して、テレビが位置する第１方向、又はユーザが位置する第２方向のいずれかを指示する。
【００３７】
具体的には、発話生成部１５は、例えば、テンプレートに予め付与されている区分に基づいて、発話文が人へ話し掛ける文であるか、単なるつぶやき文であるかを判定してもよいし、発話文の文末が特定の文字列（「？」、「ね」等）であるか否かにより、発話文が人へ話し掛ける文であるか否かを判定してもよい。
【００３８】
発話生成部１５は、番組情報としての字幕文が入力される毎に発話文を生成してもよいが、発話回数が多過ぎる場合には、例えば、ランダムに発話をするか否かを決定することで、発話量を減らしてもよい。また、発話生成部１５は、字幕文に含まれるキーワードが視聴中の番組と関連が強いか否かにより、関連が所定以上に強い場合にのみ発話文を生成してもよい。
【００３９】
キーワードと番組との関連度の指標値としては、例えば、ｔｆ−ｉｄｆが適用できる。
文書（放送番組）ｊにおける単語（キーワード）ｉの出現頻度をｎｉｊ、文書（放送番組）の総数をＤとすると、文書ｊにおける単語ｉのｔｆ−ｉｄｆｉｊは、次の式１で表すことができる。ここで、ｓｇｎ（ｘ）は、ｘ＝０のとき０、ｘ＞０のとき１となる関数である。
式１：  ｔｆ−ｉｄｆｉｊ  ＝  ｔｆｉｊ  ×  ｉｄｆｉ
ｔｆｉｊ  ＝  ｎｉｊ  ／  Σｋｎｋｊ
ｉｄｆｉ  ＝  ｌｏｇ（Ｄ  ／  Σｊ  ｓｇｎ（ｎｉｊ））
【００４０】
音声合成部１６は、入力されたテキスト文から音声データを合成し、スピーカＰから音声を出力させる。
テキストデータからの音声合成手法としては、例えば、次の文献Ｄに示されている隠れマルコフモデル（ＨＭＭ）を利用した音声合成手法が適用できる。
文献Ｄ：大浦圭一郎、酒向慎司、徳田恵一「日本語テキスト音声合成システム  Ｏｐｅｎ  ＪＴａｌｋ」、日本音響学会研究発表会講演論文集、２−７−６、２０１０
【００４１】
モータ角度制御部１７は、モータＳに回転角度を指示し、ロボット１の向きを制御する。
【００４２】
テレビ制御部１８は、テレビのリモコンと同様の信号を出力し、赤外線発光器Ｌを介してテレビの操作を行う。また、テレビ制御部１８は、チャンネルの変更を行った場合に、変更後のチャンネルをテレビ情報取得部１４に通知する。
テレビ制御部１８のテレビ制御機能としては、例えば、電源のオン及びオフ、チャンネルの変更、音量の上げ下げ等がある。なお、テレビのリモコンが出力する信号は、製造メーカ及びテレビの機種毎に異なるが、本実施形態では、テレビ制御部１８に、使用するテレビのリモコン信号の種類が予め登録されているものとする。
【００４３】
図４Ａ及び図４Ｂは、本実施形態に係る制御装置１０を備えたロボット１の実装例を示す図である。
本実施形態のロボット１は、筺体が円筒形であり、筐体上部の回転テーブルＴは、モータＳの回転軸に接続され、制御装置１０からの制御信号により指定された向き（角度）に回転する。カメラＣ、スピーカＰ及び赤外線発光器Ｌは、回転テーブルＴに取り付けられ、回転テーブルＴと共に回転する。
また、ユーザは、この回転テーブルＴの上に、カメラＣの方向を前方として好みのぬいぐるみ等Ｕを固定することができ、このぬいぐるみ等Ｕも、回転テーブルＴと共に回転する。
【００４４】
円筒形の筺体の下部には、回転テーブルＴを回転させるモータＳが取り付けられ、モータＳの周囲には、複数のマイクからなるマイクロホンアレイＭが配置される。図の例では、円筒形の筐体の内周に等間隔に８個のマイクが取り付けてある。なお、マイクの個数及び配置は一例であり、適宜設計されてよい。
【００４５】
制御装置１０の実装例としての制御基板Ｒは、ＣＰＵ、記憶装置、入出力インタフェース等を備えている。制御基板Ｒは、ＣＰＵが記憶装置に記憶されたソフトウェア（制御プログラム）を実行することにより、制御装置１０の各部として機能する。
【００４６】
制御基板Ｒには、マイクロホンアレイＭ、モータＳ、カメラＣ、スピーカＰが接続される。また、制御基板Ｒに設けられたネットワークインタフェースＮは、インターネット等のネットワークを介して、テレビ情報提供サーバＶと通信を行う。
なお、回転テーブルＴに取り付けられたカメラＣ、スピーカＰ及び赤外線発光器Ｌと、制御基板Ｒとの接続は、直接ケーブルで行ってもよいが、例えば、モータＳと回転テーブルＴとがスリップリングを介して接続されてもよい。
【００４７】
［テレビ位置検出処理］
次に、制御装置１０の初期動作としての、テレビ位置検出部１１によるテレビ位置検出処理を詳述する。
【００４８】
図５は、本実施形態に係るテレビ位置検出処理の流れを示すフローチャートである。
ステップＳ１において、テレビ位置検出部１１は、回転テーブルＴの回転角度を示す変数θを０に初期化する。
ステップＳ２において、テレビ位置検出部１１は、モータ角度制御部１７にθを通知し、回転テーブルＴをθの方向に向ける。
【００４９】
ステップＳ３において、テレビ位置検出部１１は、カメラＣの撮影画像（動画）からテレビ位置検出を実行し、テレビの位置を検出できたか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ４に移り、判定がＮＯの場合、処理はステップＳ５に移る。
【００５０】
ステップＳ４において、テレビ位置検出部１１は、テレビの位置を検出したので、現在の回転テーブルＴの方向θを、変数ｐｏｓθに追加する。
ステップＳ５において、テレビ位置検出部１１は、θにΔθを加える。
ステップＳ６において、テレビ位置検出部１１は、θが３６０度より小さい場合に、処理をステップＳ２に戻し、新しい方向θで同様にテレビ位置の検出を繰り返す。
なお、Δθは、小さな値にするほど、位置検出の精度は向上するが、処理負荷とのトレードオフにより適宜設定される。
【００５１】
ステップＳ７において、テレビ位置検出部１１は、検出されたｐｏｓθの値から、テレビの位置（角度）を判定する。具体的には、テレビ位置検出部１１は、テレビが検出された各θの平均値をテレビのある第１方向と判定してよい。例えば、Δθを３０度とし、３０度方向及び６０度方向でテレビが検出された場合、（３０＋６０）／２＝４５度の方向にテレビがあると判定する。
【００５２】
ステップＳ８において、テレビ位置検出部１１は、判定した第１方向を、音源定位・分離部１２及びモータ角度制御部１７に通知する。
音源定位・分離部１２及びモータ角度制御部１７は、それぞれ通知された方向をテレビの方向として記憶する。
【００５３】
ステップＳ９において、テレビ位置検出部１１は、テレビを予め決められたチャンネルにするため、モータ角度制御部１７に対して、第１方向を向くことを指示する。
ステップＳ１０において、テレビ位置検出部１１は、テレビ制御部１８に所定のチャンネルへの切り替えを指示する。
【００５４】
このように、初期動作により、テレビの位置する第１方向が検出され、テレビは、予め決められたチャンネルに切り替えられる。
なお、前述の文献Ａに示されたテレビ検出の方法を用いる場合、テレビ画面の表示に変化があることを前提としているため、ステップＳ１に先立ち、テレビの電源を入れておく必要がある。この方法として、例えば、制御装置１０は、モータ角度制御部１７により回転テーブルＴを回転させながら、テレビ制御部１８によりテレビの電源を入れる信号を周囲に出してもよい。あるいは、制御装置１０は、音声合成部１６により「テレビの電源を入れてくれる」等と発話させ、ユーザに操作を促してもよい。
【００５５】
また、テレビの検出方法は限定されず、電源がオフのままテレビの位置を検出可能な方法として、例えば、テレビの枠をエッジ検出する方法、又は機械学習若しくはディープラーニング等により学習しておく方法等が用いられてもよい。この場合は、予めテレビの電源を入れておく必要はない。
【００５６】
［字幕情報の整形処理］
次に、発話生成部１５の入力となる字幕情報の整形処理を詳述する。
整形処理は、テレビ情報提供サーバＶから取得した字幕情報から字幕文テキストを生成する処理である。この処理により、１つの文が複数の画面に分割されている字幕データが１つの字幕文として連結され、解説的な補助の文字列（例えば、音楽が流れていることを表した音符記号、誰の言葉かを示す人物名等）が削除される。
【００５７】
図６は、本実施形態に係るテレビ情報取得部１４による字幕情報の整形処理の流れを示すフローチャートである。
ステップＳ１１において、テレビ情報取得部１４は、整形した字幕文テキストを記録する文字列バッファを初期化する。
ステップＳ１２において、テレビ情報取得部１４は、テレビ情報提供サーバＶから１つの字幕情報を取得する。
ステップＳ１３において、テレビ情報取得部１４は、字幕情報の先頭にある表示開始日時等のデータを除き、字幕文のみを抽出する。
【００５８】
ステップＳ１４において、テレビ情報取得部１４は、抽出した字幕文の中に特殊文字が含まれているか否かを判定する。特殊文字とは、音符記号及び括弧等の予め設定された文字である。この判定がＹＥＳの場合、処理はステップＳ１１に戻り、テレビ情報取得部１４は、抽出した文字列を字幕文テキストとしては利用せず、文字列バッファを初期化する。一方、判定がＮＯの場合、処理はステップＳ１５に移る。
【００５９】
ステップＳ１５において、テレビ情報取得部１４は、抽出した字幕文を文字列バッファの末尾に追加する。
ステップＳ１６において、テレビ情報取得部１４は、文字列バッファの文末が区切り文字か否かを判定する。区切り文字とは、読点“。”及び疑問符“？”等であり、この区切り文字によって、文字列バッファに記録されている文が終わっている（完結している）か否かが判断される。この判定がＹＥＳの場合、処理はステップＳ１７に移る。一方、判定がＮＯの場合、記録中の文が途中であるため、処理はステップＳ１２に戻り、テレビ情報取得部１４は、次の字幕情報を取得する。
【００６０】
ステップＳ１７において、テレビ情報取得部１４は、文字列バッファ内の削除指定文字を削除する。削除指定文字とは、予め決められた、字幕文に含まれる読む必要のない文字（例えば、矢印“→”等）である。
ステップＳ１８において、テレビ情報取得部１４は、文字列バッファ内に記録された整形された字幕文テキストを、発話生成部１５に通知する。
ステップＳ１９において、テレビ情報取得部１４は、処理の終了が指示されたか否かを判定する。この判定がＹＥＳの場合、処理は終了し、判定がＮＯの場合、次の字幕文テキストを生成するために、処理はステップＳ１１に戻る。
【００６１】
図７は、本実施形態に係る字幕情報に対して整形処理を行った結果を例示する図である。
この例は、図３で例示した字幕情報に対して整形処理を行った結果を示している。
図３の字幕情報にある「（笑い声）」及び「♪〜（歌声）」の文字情報は削除され、また、「会社の帰りにお店によって→」及び「買い物してきてもらいたいの。」の２つの字幕情報が１つの字幕文テキストに整形され、さらに、削除指定文字「→」が削除されている。
結果として、図３の６つの字幕情報は、「こんばんは。」、「会社の帰りにお店によって買い物してきてもらいたいの。」、「いらっしゃいませ。」の３文に整形されている。
【００６２】
［発話生成処理］
次に、発話生成部１５による発話生成処理を詳述する。
発話生成部１５は、音声認識部１３からの音声認識結果のテキスト文、及びテレビ情報取得部１４からの番組情報、特に字幕文テキストの入力に対応した発話文の生成と、対応した動作とを行う。
本実施形態では、発話生成部１５に入力されるテキスト文の種類によって発話生成処理は大きく３つに分かれる。１つ目は、音声認識部１３からの音声認識結果が記述文法の場合であり、２つ目は、音声認識部１３からの音声認識結果が大語彙の場合であり、３つ目は、テレビ情報取得部１４からの字幕文テキストの場合である。
【００６３】
図８は、本実施形態に係る発話生成部１５による発話生成処理の流れを示すフローチャートである。
ステップＳ２１において、発話生成部１５は、音声認識部１３又はテレビ情報取得部１４から、テキスト文の入力を受け付ける。
【００６４】
ステップＳ２２において、発話生成部１５は、入力されたテキスト文が記述文法による音声認識結果であるか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ２５に移り、判定がＮＯの場合、処理はステップＳ２３に移る。
ステップＳ２３において、発話生成部１５は、入力されたテキスト文が大語彙音声認識結果であるか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ２６に移り、判定がＮＯの場合、処理はステップＳ２４に移る。
ステップＳ２４において、発話生成部１５は、入力されたテキスト文が字幕文テキストであるか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ２７に移り、判定がＮＯの場合、処理はステップＳ２８に移る。
【００６５】
ステップＳ２５において、発話生成部１５は、後述の定型対話処理を実行し、その後、処理はステップＳ２８に移る。
ステップＳ２６において、発話生成部１５は、後述の対話文生成処理を実行し、その後、処理はステップＳ２８に移る。
ステップＳ２７において、発話生成部１５は、後述のつぶやき文生成処理を実行し、その後、処理はステップＳ２８に移る。
ステップＳ２８において、発話生成部１５は、処理の終了が指示されたか否かを判定する。この判定がＹＥＳの場合、処理は終了し、判定がＮＯの場合、次のテキスト文を受け付けるために、処理はステップＳ２１に戻る。
【００６６】
［定型対話処理］
定型対話処理は、予め決められた記述文法に従った音声入力文に対応して、発話及び動作を行うものである。定型文の入力と発話及び動作との組み合わせ例としては、例えば、「１チャンネルに切り替えて」という音声入力に対して「１チャンネルに切り替えるね」と確認の発話の後、テレビのチャンネルを切り替え、「１チャンネルに切り替えたよ」と発話するといったものがある。また、「何の番組を見ているの」という音声入力に対して、ＥＰＧデータから「ドラマめろめろ第２回だよ」と、現在の番組のタイトル等を発話するといった例もある。
【００６７】
図９は、本実施形態に係る定型対話処理の流れを示すフローチャートである。
ステップＳ３１において、発話生成部１５は、モータ角度制御部１７に命令を出し、入力文の発話者であるユーザが位置する第２方向に回転テーブルＴの向きを変える。
【００６８】
ステップＳ３２において、発話生成部１５は、予め決められた発話文のテキストデータを音声合成部１６に通知し発話を実行する（例えば、上述の「１チャンネルに切り替えるね」）。
このとき、発話生成部１５は、テレビ情報取得部１４から通知されている現在の番組情報（例えば、ＥＰＧデータ）を利用することで、発話文内に番組のタイトル及び概要文等を含めることができる（例えば、上述の「ドラマめろめろ第２回だよ」）。
【００６９】
ステップＳ３３において、発話生成部１５は、入力された定型文にテレビに対する制御命令が含まれているか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ３４に移り、判定がＮＯの場合、処理は終了する。
【００７０】
ステップＳ３４において、発話生成部１５は、モータ角度制御部１７に命令を出し、回転テーブルＴを、テレビが位置する第１方向に向ける。
ステップＳ３５において、発話生成部１５は、テレビ制御部１８に対してテレビへの制御命令の実行を指示する。
【００７１】
ステップＳ３６において、発話生成部１５は、回転テーブルＴをユーザが位置する第２方向に向けるため、モータ角度制御部１７に命令を出す。
ステップＳ３７において、発話生成部１５は、制御の完了をユーザに知らせるための発話文のテキストデータを音声合成部１６に送る（例えば、上述の「１チャンネルに切り替えたよ」）。
【００７２】
［対話文生成処理］
対話文生成処理は、音声認識部１３による大語彙音声認識の結果を入力として、対話文を生成して発話を実行するものである。
対話文を生成する方式として、例えば、次の文献Ｅで実装例が示されている人工無脳がある。
文献Ｅ：秋山智俊「恋するプログラム―Ｒｕｂｙでつくる人工無脳」、毎日コミュニケーションズ、２００５
【００７３】
人工無脳は、入力文とは無関係に発話するための文が記録されたランダム辞書、ある単語に対する返答パターンを記録したパターン辞書、単語を当てはめることで文ができるテンプレート辞書、単語の並びの生起確率（Ｎグラム）辞書等を備え、乱数により選択した辞書を用いて、入力文に含まれている単語に対して発話文を生成する。また、これらの辞書は、入力文に基づいて学習（追加又は更新）されるため、入力文によって次第に変化していく。
本実施形態では、人工無脳の辞書の学習に、テレビ情報取得部１４により整形された字幕文を用いる。これにより、発話生成部１５は、ユーザが普段よく見る番組の単語及び会話文等を学習し、適切な対話文を作成できる。
【００７４】
図１０は、本実施形態に係る対話文生成処理の流れを示すフローチャートである。
ステップＳ４１において、発話生成部１５は、回転テーブルＴをユーザの位置する第２方向に向けるため、モータ角度制御部１７に命令を出す。
ステップＳ４２において、発話生成部１５は、音声認識部１３から通知されたテキスト文を入力として対話文を生成し、生成したテキストデータを音声合成部１６に通知して発話を実行する。
【００７５】
ステップＳ４３において、発話生成部１５は、ステップＳ４２の発話後に一定時間待ち、この間に次の音声が入力されたか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ４４に移り、判定がＮＯの場合、処理はステップＳ４６に移る。
【００７６】
ステップＳ４４において、発話生成部１５は、新たな入力文が記述文法による音声認識結果であるか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ４５に移り、判定がＮＯの場合、すなわち音声認識結果が大語彙の場合、処理はステップＳ４２に移る。
ステップＳ４５において、発話生成部１５は、定型対話処理（図９）を実行する。
【００７７】
ステップＳ４６において、発話生成部１５は、新たな入力がなかったので、モータ角度制御部１７への命令により、回転テーブルＴをテレビの位置する第１方法に向け、処理を終了する。
【００７８】
［つぶやき文生成処理］
つぶやき文生成処理は、ロボットが自律的にテレビを見ているような効果を出すために、テレビ又はユーザの方向を選択的に向きながら、番組に関連する言葉をつぶやくものである。
【００７９】
図１１は、本実施形態に係るつぶやき文生成処理の流れを示すフローチャートである。
つぶやき文生成処理は、テレビ情報取得部１４から、字幕文テキストの通知がある毎に実行される。
【００８０】
ステップＳ５１において、発話生成部１５は、入力された字幕文テキストを用いて、発話用の各辞書を更新する。
ステップＳ５２において、発話生成部１５は、入力された字幕文テキストに基づいて、発話文を生成する。
【００８１】
ステップＳ５３において、発話生成部１５は、生成した発話文が人へ話し掛ける文か否かを判定する。この判定がＹＥＳの場合、処理はステップＳ５７に移り、判定がＮＯの場合、処理はステップＳ５４に移る。
【００８２】
ステップＳ５４において、発話生成部１５は、発話文が話し掛けではないため、モータ角度制御部１７を制御して回転テーブルＴをテレビのある第１方向に向ける。
ステップＳ５５において、発話生成部１５は、発話文を音声合成部１６に提供し、テレビのある第１方向に向けて発話させる。
【００８３】
ステップＳ５６において、発話生成部１５は、ステップＳ５５の発話後、一定時間以内にユーザからの音声入力があったか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ６０に移り、判定がＮＯの場合、処理は終了する。
【００８４】
ステップＳ５７において、発話生成部１５は、発話文が話し掛けであるため、モータ角度制御部１７を制御して回転テーブルＴをユーザのいる第２方向に向ける。
ステップＳ５８において、発話生成部１５は、発話文を音声合成部１６に提供し、ユーザのいる第２方向に向けて発話させる。
【００８５】
ステップＳ５９において、発話生成部１５は、ステップＳ５８の発話後、一定時間以内にユーザからの音声入力があったか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ６０に移り、判定がＮＯの場合、処理はステップＳ６１に移る。
ステップＳ６０において、発話生成部１５は、ユーザからの音声入力に基づいて、対話文生成処理（図１０）を実行する。
【００８６】
ステップＳ６１において、発話生成部１５は、ユーザからの音声入力がなかったので、モータ角度制御部１７を制御して回転テーブルＴをテレビのある第１方法に向け、処理を終了する。
【００８７】
本実施形態によれば、制御装置１０は、番組情報に基づいて発話文を生成すると共に、この発話文が人へ話し掛ける文であるか否かを判定し、ロボット１をテレビ又はユーザのいずれかの方向に選択的に向けて発話させる。
したがって、制御装置１０は、ユーザと一緒にテレビを視聴するコミュニケーションロボットを構成できる。また、ロボットに対して発話することに対して抵抗感があるユーザは少なくないが、ユーザが発話をしなくても、ロボット１は、テレビ及びユーザを認識しつつ、番組の内容に応じて自発的に向きを変えて発話できるので、ユーザは、ロボット１を微笑ましく眺めることができる。
また、従来のコミュニケーションロボットは、多数のモータを搭載して複雑な動きを制御するのに対して、本実施形態のロボット１は単純な駆動操作であるため、安価に製作できる。
【００８８】
制御装置１０は、カメラＣの画像に基づいてテレビのある第１方向を、さらに、マイクロホンアレイＭの音声に基づいてユーザのいる第２方向を検出するので、自動的にテレビ及びユーザの方向を認識しながら、ロボット１の配置によらず自発的に動作が可能である。
【００８９】
制御装置１０は、字幕データのうち、番組関連度が所定以上のキーワードに基づいて発話文を生成するので、必要以上に発話を繰り返すことなく、視聴中の番組と関連する話題により適切にロボット１に発話をさせることができる。
【００９０】
制御装置１０は、取得した番組情報に基づいて、発話用辞書を更新するので、ロボット１は、コミュニケーションの話題として視聴中のテレビ番組に関連する言葉を発話することで、時間と共に異なる内容となり、ユーザが飽きてしまう課題を軽減できる。
【００９１】
制御装置１０は、テンプレートに予め付与されている区分に基づいて、発話文が人へ話し掛ける文であるか否かを判定することにより、あるいは、発話文の文末が特定の文字列であるか否かにより、発話文が人へ話し掛ける文であるか否かを判定することにより、容易にロボット１の向きを決定できる。
【００９２】
ロボット１は、方向制御部により回転角度を制御される回転テーブルＴを備える。
ユーザは、回転テーブルＴに好みのぬいぐるみ等Ｕを乗せることで、好みの形状のコミュニケーションロボットとして利用できる。したがって、自分が好きな形状のぬいぐるみ等Ｕが、自分の方を向いて話し掛けてくれると共に、テレビに向かってつぶやくことで、ユーザは、あたかもぬいぐるみ等Ｕが自律してテレビを見て反応しているかのように感じ、その様子を微笑ましく眺めることができる。
【００９３】
さらに、回転テーブルＴに乗せる物はぬいぐるみに限らず、例えば既存のコミュニケーションロボットでもよい。既存のコミュニケーションロボットは、ユーザの正面に置いて使用することを前提に作られているため、回転角度に制限があり、テレビ及びユーザの両方を向くことができないか、あるいは、向けられたとしても、首だけが１８０度後ろに向くなど、不自然な状態となってしまうものが多い。これらのコミュニケーションロボットを本実施形態の回転テーブルに乗せることで、不自然にならずに、テレビ及びユーザの両方に向けることができる。
【００９４】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００９５】
本実施形態では、ロボット１は、円筒状の装置として説明したが、これには限定されない。例えば、既存のコミュニケーションロボット又はぬいぐるみ等の内部装置として実装されてもよい。
本実施形態におけるテレビは、放送の受信機には限られず、ＰＣ等の画面に置き替えられてもよい。さらに、番組コンテンツは、放送又は通信のいずれで配信されてもよい。
【００９６】
また、テレビ情報取得部１４は、テレビ情報提供サーバＶから番組情報を取得することとしたが、テレビのある第１方向からの音声を分離し、音声認識部１３を介してテレビの音声の音声認識を実行することで、字幕情報として取得してもよい。
あるいは、テレビ情報取得部１４は、カメラＣからテレビ画面の画像を取得し、画像解析により字幕又は被写体の情報を取得してもよい。
【００９７】
また、本実施形態では、カメラＣ及びテレビ位置検出部１１により、テレビのある第１方向を自動検出したが、予めユーザがテレビの方向に向けてロボット１を設置する方式でもよい。この場合、カメラＣ及びテレビ位置検出部１１が不要となるため、さらに安価な構成となる。
【００９８】
本実施形態では、ロボット１は、つぶやき文をテレビに向かって発話することとしたが、ユーザに向けて発話してもよいし、テレビの方向とユーザの方向とを混在させて、例えばランダムに方向を選択して発話してもよい。
【００９９】
本実施形態では、主に制御装置１０の構成と動作について説明したが、本発明はこれに限られず、各構成要素を備え、ロボット１を制御するための方法、又はプログラムとして構成されてもよい。
【０１００】
さらに、制御装置１０の機能を実現するためのプログラムをコンピュータで読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
【０１０１】
ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータで読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１０２】
さらに「コンピュータで読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時刻の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時刻プログラムを保持しているものも含んでもよい。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【符号の説明】
【０１０３】
１  ロボット
１０  制御装置
１１  テレビ位置検出部（第１方向検出部）
１２  音源定位・分離部（第２方向検出部）
１３  音声認識部
１４  テレビ情報取得部（情報取得部）
１５  発話生成部
１６  音声合成部
１７  モータ角度制御部（方向制御部）
１８  テレビ制御部
Ｃ  カメラ
Ｌ  赤外線発光器
Ｍ  マイクロホンアレイ
Ｎ  ネットワークインタフェース
Ｐ  スピーカ
Ｒ  制御基板
Ｓ  モータ
Ｔ  回転テーブル
Ｕ  ぬいぐるみ等
Ｖ  テレビ情報提供サーバ
【図１】
2018180472.tif 000003
【図２】
2018180472.tif 000004
【図３】
2018180472.tif 000005
【図４Ａ】
2018180472.tif 000006
【図４Ｂ】
2018180472.tif 000007
【図５】
2018180472.tif 000008
【図６】
2018180472.tif 000009
【図７】
2018180472.tif 000010
【図８】
2018180472.tif 000011
【図９】
2018180472.tif 000012
【図１０】
2018180472.tif 000013
【図１１】
2018180472.tif 000014