特許第6761007号(P6761007)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソフトバンクモバイル株式会社の特許一覧

特許6761007情報処理装置、音声出力方法、音声出力プログラム
<>
  • 特許6761007-情報処理装置、音声出力方法、音声出力プログラム 図000002
  • 特許6761007-情報処理装置、音声出力方法、音声出力プログラム 図000003
  • 特許6761007-情報処理装置、音声出力方法、音声出力プログラム 図000004
  • 特許6761007-情報処理装置、音声出力方法、音声出力プログラム 図000005
  • 特許6761007-情報処理装置、音声出力方法、音声出力プログラム 図000006
  • 特許6761007-情報処理装置、音声出力方法、音声出力プログラム 図000007
  • 特許6761007-情報処理装置、音声出力方法、音声出力プログラム 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6761007
(24)【登録日】2020年9月7日
(45)【発行日】2020年9月23日
(54)【発明の名称】情報処理装置、音声出力方法、音声出力プログラム
(51)【国際特許分類】
   G10L 13/08 20130101AFI20200910BHJP
   G10L 13/00 20060101ALI20200910BHJP
   G10L 13/02 20130101ALI20200910BHJP
   G06F 3/16 20060101ALI20200910BHJP
【FI】
   G10L13/08 124
   G10L13/00 100M
   G10L13/02 130D
   G06F3/16 650
【請求項の数】11
【全頁数】21
(21)【出願番号】特願2018-147243(P2018-147243)
(22)【出願日】2018年8月3日
(65)【公開番号】特開2020-21040(P2020-21040A)
(43)【公開日】2020年2月6日
【審査請求日】2018年10月17日
【前置審査】
(73)【特許権者】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(74)【代理人】
【識別番号】110002516
【氏名又は名称】特許業務法人白坂
(72)【発明者】
【氏名】五十嵐 達郎
(72)【発明者】
【氏名】坂内 大樹
【審査官】 中村 天真
(56)【参考文献】
【文献】 特開2006−184371(JP,A)
【文献】 特開2014−142566(JP,A)
【文献】 特開2004−333641(JP,A)
【文献】 国際公開第2019/107145(WO,A1)
【文献】 特開平08−190398(JP,A)
【文献】 特開2018−097029(JP,A)
【文献】 特開2007−057844(JP,A)
【文献】 特開2003−208196(JP,A)
【文献】 船越孝太郎,徳永健伸,音声情報処理技術の最先端 話し言葉における言い直しの処理,情報処理,日本,2004年10月15日,第45巻,第10号,p.1032-1037
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/16
G10L 13/00−25/93
(57)【特許請求の範囲】
【請求項1】
ユーザによる発話音声を示す音声情報の入力を受け付ける受付部と、
前記音声情報に基づいて、前記発話音声に対する返事に相当するロボット発話データを生成する生成部と、
前記ロボット発話データを出力する出力部と、を備え、
前記生成部は、第1の音声情報を受け付けてから、所定時間内に第2の音声情報を受け付けた場合であって、前記第2の音声情報に、前記第1の音声情報に含まれる第1の単語と同じカテゴリの第2の単語が含まれているときに、少なくとも、前記第2の音声情報に基づいて、ロボット発話データを生成するものであって、
前記生成部は、前記ユーザに対して問い合わせをするためのロボット発話データを生成するとともに、当該問い合わせに対する回答として望まれる言葉のカテゴリを決定し、
前記生成部は、前記問い合わせに対する回答としての、前記第1の音声情報と前記第2の音声情報とを受け付けた場合に、前記第1の音声情報に前記決定したカテゴリに属する単語が前記第1の単語として含まれており、前記第2の音声情報に前記決定したカテゴリに属する単語が前記第2の単語として含まれていたときに、少なくとも前記第2の音声情報に基づいて、ロボット発話データを生成する
情報処理装置。
【請求項2】
前記生成部は、前記第2の音声情報に前記第1の音声情報を否定する単語が含まれる場合に、前記第2の音声情報にのみ基づくロボット発話データを生成する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記生成部は、前記第2の音声情報に前記第1の音声情報と接続する単語が含まれる場合に、前記第1の音声情報と前記第2の音声情報との双方に対するロボット発話データを生成する
ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記生成部は、前記第2の音声情報に、前記第1の音声情報に含まれる第1の単語と同じカテゴリの第2の単語が含まれている場合に、いずれが正しいのかを問い合わせるロボット発話データを生成する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記ロボット発話データに基づく音声を出力する音声出力部と、
前記ユーザの発話音声を集音する音声収集部とを更に備え、
前記出力部は、前記音声出力部に前記ロボット発話データを出力し、
前記受付部は、前記音声収集部が収集した発話音声を前記音声情報として入力され、
前記出力部は、第1の音声情報に基づくロボット発話データを出力しているときに、所定時間内に第2の音声情報を受け付けると、前記第2の音声情報に、前記第1の音声情報に含まれる第1の単語と同じカテゴリの第2の単語が含まれているときには前記第1の音声情報に対して生成されたロボット発話データの前記音声出力部への出力を中止する
ことを特徴とする請求項1〜4のいずれか一項に記載の情報処理装置。
【請求項6】
前記出力部は、前記音声出力部へのロボット発話データの出力を中止した後に、前記第2の音声情報に基づく新たなロボット発話データを出力する
ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記出力部は、外部のスピーカーに前記ロボット発話データを出力し、
前記受付部は、外部のマイクが収集した発話音声を前記音声情報として入力を受け付け
るものであり、
前記出力部は、前記外部のスピーカーが第1の音声情報に基づくロボット発話データに基づく音声を音声出力しているときに前記ユーザから受け付けた発話音声に基づく第2の音声情報を受け付け、当該第2の音声情報に、前記第1の音声情報に含まれる第1の単語と同じカテゴリの第2の単語が含まれているときには前記第1の音声情報に対して生成されたロボット発話データに基づく音声の出力を中止する中止指示を出力する
ことを特徴とする請求項1〜4のいずれか一項に記載の情報処理装置。
【請求項8】
前記出力部は、前記中止指示を出力した後に、前記第2の音声情報に基づく新たなロボ
ット発話データを出力する
ことを特徴とする請求項7に記載の情報処理装置。
【請求項9】
前記情報処理装置は、前記第2の音声情報に対するロボット発話データを生成するにあたり、ロボット発話データを生成するための回答を生成する複数の装置の中から、前記第2の音声情報の内容に適した前記複数の装置の中のいずれかの装置に対して前記第2の音声情報に関する情報を送信する
ことを特徴とする請求項1〜のいずれか一項に記載の情報処理装置。
【請求項10】
ユーザによる発話音声を示す音声情報の入力を受け付ける受付ステップと、
前記音声情報に基づいて、前記発話音声に対する返事に相当するロボット発話データを生成する生成ステップと、
前記ロボット発話データを出力する出力ステップと、を含み、
前記生成ステップは、第1の音声情報を受け付けてから、所定時間内に第2の音声情報を受け付けた場合であって、前記第2の音声情報に、前記第1の音声情報に含まれる第1の単語と同じカテゴリの第2の単語が含まれているときに、少なくとも、前記第2の音声情報に基づいて、ロボット発話データを生成するものであって、
前記生成ステップは、前記ユーザに対して問い合わせをするためのロボット発話データを生成するとともに、当該問い合わせに対する回答として望まれる言葉のカテゴリを決定し、
前記生成ステップは、前記問い合わせに対する回答としての、前記第1の音声情報と前記第2の音声情報とを受け付けた場合に、前記第1の音声情報に前記決定したカテゴリに属する単語が前記第1の単語として含まれており、前記第2の音声情報に前記決定したカテゴリに属する単語が前記第2の単語として含まれていたときに、少なくとも前記第2の音声情報に基づいて、ロボット発話データを生成する
コンピュータが実行する音声出力方法。
【請求項11】
コンピュータに、
ユーザによる発話音声を示す音声情報の入力を受け付ける受付機能と、
前記音声情報に基づいて、前記発話音声に対する返事に相当するロボット発話データを生成する生成機能と、
前記ロボット発話データを出力する出力機能と、を実現させ、
前記生成機能は、第1の音声情報を受け付けてから、所定時間内に第2の音声情報を受け付けた場合であって、前記第2の音声情報に、前記第1の音声情報に含まれる第1の単語と同じカテゴリの第2の単語が含まれているときに、少なくとも、前記第2の音声情報に基づいて、ロボット発話データを生成するものであって、
前記生成機能は、前記ユーザに対して問い合わせをするためのロボット発話データを生成するとともに、当該問い合わせに対する回答として望まれる言葉のカテゴリを決定し、
前記生成機能は、前記問い合わせに対する回答としての、前記第1の音声情報と前記第2の音声情報とを受け付けた場合に、前記第1の音声情報に前記決定したカテゴリに属する単語が前記第1の単語として含まれており、前記第2の音声情報に前記決定したカテゴリに属する単語が前記第2の単語として含まれていたときに、少なくとも前記第2の音声情報に基づいて、ロボット発話データを生成する
音声出力プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザからの音声指示に基づいて制御を行う情報処理装置、音声出力方法、及び、音声出力プログラムに関する。
【背景技術】
【0002】
従来、人工知能を利用した機器の開発が目覚ましい。その中には、ユーザからの音声による指示に従って、指示された内容を実行する機器がある。例えば、特許文献1には、ユーザからの音声による指示に従って、音楽を再生したり、アラームを実行したり、計算をしたり、他の機器(例えば、照明装置)の制御を行ったりする情報処理装置(スマートスピーカー)が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017−032895号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、ユーザは指示をする際に言い間違いをしたり、考えを改めたりして、言い直しをすることがある。しかしながら、従来のスマートスピーカーの場合、最初にユーザが発話した内容に対する応答をするので、言い直しをした場合に対する応答をしないという問題がある。また、このような場合に、ユーザには、再度指示をし直すという煩雑さや、最初に指示した内容に対する応答の発話の終了を待たなければ次の指示ができないという問題もあった。
【0005】
そこで、本発明は上記問題に鑑みて成されたものであり、ユーザが言い直しをした場合であっても、適切に応答をすることができる音声出力装置、音声出力方法及び音声出力プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の一態様に係る情報処理装置は、ユーザによる発話音声を示す音声情報の入力を受け付ける受付部と、音声情報に基づいて、発話音声に対する返事に相当するロボット発話データを生成する生成部と、ロボット発話データを出力する出力部と、を備え、生成部は、第1の音声情報を受け付けてから、所定時間内に第2の音声情報を受け付けた場合であって、第2の音声情報に、第1の音声情報に含まれる第1の単語と同じカテゴリの第2の単語が含まれているときに、少なくとも、第2の音声情報に基づいて、ロボット発話データを生成する。
【0007】
上記課題を解決するために、本発明の一態様に係る音声出力方法は、ユーザによる発話音声を示す音声情報の入力を受け付ける受付ステップと、音声情報に基づいて、発話音声に対する返事に相当するロボット発話データを生成する生成ステップと、ロボット発話データを出力する出力ステップと、を含み、生成ステップは、第1の音声情報を受け付けてから、所定時間内に第2の音声情報を受け付けた場合であって、第2の音声情報に、第1の音声情報に含まれる第1の単語と同じカテゴリの第2の単語が含まれているときに、少なくとも、第2の音声情報に基づいて、ロボット発話データを生成する。
【0008】
上記課題を解決するために、本発明の一態様に係る音声出力プログラムは、コンピュータに、ユーザによる発話音声を示す音声情報の入力を受け付ける受付機能と、音声情報に基づいて、発話音声に対する返事に相当するロボット発話データを生成する生成機能と、ロボット発話データを出力する出力機能と、を実現させ、生成機能は、第1の音声情報を受け付けてから、所定時間内に第2の音声情報を受け付けた場合であって、第2の音声情報に、第1の音声情報に含まれる第1の単語と同じカテゴリの第2の単語が含まれているときに、少なくとも、第2の音声情報に基づいて、ロボット発話データを生成する。
【0009】
上記情報処理装置において、生成部は、第2の音声情報に第1の音声情報を否定する単語が含まれる場合に、第2の音声情報にのみ基づくロボット発話データを生成することとしてもよい。
【0010】
上記情報処理装置において、生成部は、第2の音声情報に第1の音声情報と接続する単語が含まれる場合に、第1の音声情報と第2の音声情報との双方に対するロボット発話データを生成することとしてもよい。
【0011】
上記情報処理装置において、生成部は、第2の音声情報に、第1の音声情報に含まれる第1の単語と同種類の第2の単語が含まれている場合に、いずれが正しいのかを問い合わせるロボット発話データを生成することとしてもよい。
【0012】
上記情報処理装置において、ロボット発話データに基づく音声を出力する音声出力部と、ユーザの発話音声を集音する音声収集部とを更に備え、出力部は、音声出力部にロボット発話データを出力し、受付部は、音声収集部が収集した発話音声を音声情報として入力され、出力部は、第1の音声情報に基づくロボット発話データを出力しているときに、所定時間内に第2の音声情報を受け付けると、第2の音声情報に、第1の音声情報に含まれる第1の単語と同種類の第2の単語が含まれているときには第1の音声情報に対して生成されたロボット発話データの音声出力部への出力を中止することとしてもよい。
【0013】
上記情報処理装置において、出力部は、音声出力部へのロボット発話データの出力を中止した後に、第2の音声情報に基づく新たなロボット発話データを出力することとしてもよい。
【0014】
上記情報処理装置において、出力部は、外部のスピーカーにロボット発話データを出力し、受付部は、外部のマイクが収集した発話音声を音声情報として入力を受け付けるものであり、出力部は、外部のスピーカーが第1の音声情報に基づくロボット発話データに基づく音声を音声出力しているときにユーザから受け付けた発話音声に基づく第2の音声情報を受け付け、当該第2の音声情報に、第1の音声情報に含まれる第1の単語と同種類の第2の単語が含まれているときには第1の音声情報に対して生成されたロボット発話データに基づく音声の出力を中止する中止指示を出力することとしてもよい。
【0015】
上記情報処理装置において、出力部は、中止指示を出力した後に、第2の音声情報に基づく新たなロボット発話データを出力することとしてもよい。
【0016】
上記情報処理装置において、生成部は、ユーザに対して問い合わせをするためのロボット発話データを生成するとともに、当該問い合わせに対する回答として望まれる言葉のカテゴリを決定し、生成部は、問い合わせに対する回答としての、第1の音声情報と第2の音声情報とを受け付けた場合に、第1の音声情報に決定したカテゴリに属する単語が第1の単語として含まれており、第2の音声情報に決定したカテゴリに属する単語が第2の単語として含まれていたときに、少なくとも第2の音声情報に基づいて、ロボット発話データを生成することとしてもよい。
【発明の効果】
【0017】
本発明の一態様に係る情報処理装置は、ユーザが言い直しをした場合であっても、適切に応答をすることができる。
【図面の簡単な説明】
【0018】
図1】通信システムの構成例を示す図である。
図2】音声サーバの構成例を示すブロック図である。
図3】スマートスピーカーの構成例を示すブロック図である。
図4】制御モデルの構成例を示すデータ概念図である。
図5】ユーザによる言い直しがない場合の音声サーバとスマートスピーカーとの間のやり取りの例を示すシーケンス図である。
図6】ユーザによる言い直しが発生した場合の音声サーバとスマートスピーカーとの間のやり取りの例を示すシーケンス図である。
図7】音声サーバの動作例を示すフローチャートである。
【発明を実施するための形態】
【0019】
<実施形態>
本発明の一実施形態について、図面を参照しながら説明する。
【0020】
本発明に係る情報処理装置たりえる音声出力装置100は、ユーザ10からの音声による指示入力に基づいて、指示入力の内容に対応する回答となる発話音声を出力する装置である。音声出力装置100は、ユーザからの音声による指示(問い合わせ)があった場合に、その指示に対応する回答となるロボット発話データを生成して出力する。このとき、音声出力装置100は、ユーザが言い直しをしたかどうかを判定し、適宜、適切と推定される回答を示すロボット発話データを生成する。音声出力装置100は、どのような態様で実現されてもよく、図1に示すようなサーバ装置やコンピュータシステムとして実現されてもよいし、スマートスピーカーのようなスピーカー、ロボットなどに内包される態様で実現されてもよい。音声出力装置100は、スマートスピーカー、ロボットまたはAIアシスタントを制御するための制御装置であってもよい。
【0021】
以下、このような音声出力装置100について説明する。
【0022】
(システム構成)
図1に示すように、通信システム1は、ユーザ10からの音声による指示(問い合わせ)を受け付ける機器としてスマートスピーカー200と、ユーザ10からの音声による指示に対する応答を示すロボット発話データを生成する音声出力装置100と、を含む。
【0023】
スマートスピーカー200は、マイクを内蔵しており、ユーザの発話音声を含む周囲の音声を逐次集音し、集音して得られる音声データを音声出力装置100に送信する。また、スマートスピーカー200は、音声出力装置100から送信されたロボット発話データに基づく音声を出力する。
【0024】
音声出力装置100は、音声データを受信し、受信した音声データからユーザ10の指示を抽出し、ユーザ10の指示に応じた回答を示すロボット発話データを生成する。そして、生成したロボット発話データをスマートスピーカー200に送信する。
【0025】
図1の例では、ユーザ10が、「東京の天気を教えて?」と問い合わせをしたあとで、「あ、やっぱり、品川の天気を教えて?」と言い直しをしたことに対して、スマートスピーカー200が、「品川の天気ですね?今日の品川の天気は…」と回答をしている例を示している。なお、「品川」および「新橋」は日本の地名である。このように、本実施の形態に係るスマートスピーカー200は、音声出力装置100からの指示の下、ユーザ10の言い直しに対応して、言い直された方の指示に従った応答をすることができる。
【0026】
図1に示すように、音声出力装置100は、ネットワーク300を介して、スマートスピーカー200と通信可能に接続されている。また、図示はしていないが、ネットワーク300には、音声出力装置100が情報を収集する情報処理装置が通信可能に接続されていてよい。
【0027】
ネットワーク300は、音声出力装置100と各種の機器との間を相互に接続させるためのネットワークであり、例えば、無線ネットワークや有線ネットワークである。具体的には、ネットワーク300は、ワイヤレスLAN(wireless LAN:WLAN)や広域ネットワーク(wide area network:WAN)、ISDNs(integrated service digital networks)、無線LANs、LTE(long term evolution)、LTE−Advanced、第4世代(4G)、第5世代(5G)、CDMA(code division multiple access)、WCDMA(登録商標)、イーサネット(登録商標)などである。
【0028】
また、ネットワーク300は、これらの例に限られず、例えば、公衆交換電話網(Public Switched Telephone Network:PSTN)やブルートゥース(Bluetooth(登録商標))、ブルートゥースローエナジー(Bluetooth Low Energy)、光回線、ADSL(Asymmetric Digital Subscriber Line)回線、衛星通信網などであってもよく、どのようなネットワークであってもよい。ネットワーク300は、ユーザ10の住居に備えられる場合には、ホームネットワークと呼称されることもある。
【0029】
また、ネットワーク300、例えば、NB−IoT(Narrow Band IoT)や、eMTC(enhanced Machine Type Communication)であってもよい。なお、NB−IoTやeMTCは、IoT向けの無線通信方式であり、低コスト、低消費電力で長距離通信が可能なネットワークである。
【0030】
また、ネットワーク300は、これらの組み合わせであってもよい。また、ネットワーク300は、これらの例を組み合わせた複数の異なるネットワークを含むものであってもよい。例えば、ネットワーク300は、LTEによる無線ネットワークと、閉域網であるイントラネットなどの有線ネットワークとを含むものであってもよい。
【0031】
(音声出力装置の構成例)
図2は、音声出力装置100の構成例を示すブロック図である。図2に示すように、音声出力装置100は、例えば、受信部110と、記憶部120と、制御部130と、送信部140と、を備える。音声出力装置100は、ユーザが発話した内容について、言い直しかどうかを認識し、その認識に基づいてユーザが求めている回答を特定して、その回答内容を示すロボット発話データを生成、出力するものである。即ち、音声出力装置100は、ユーザの発話に基づく第1音声情報、その後の発話に基づく第2音声情報とを解析し、第2音声情報に、第1音声情報に含まれる文言と同一カテゴリとなる文言がある場合に言い直しであると認識する。ここで同一カテゴリとは、少なくとも第1音声情報と第2音声情報とに、ユーザが知りたい情報の種別のことをいい、例えば、ユーザがある場所の天気を知りたい場合に、その場所を示す情報がカテゴリとなり、例えば、ユーザが知りたい情報が店舗に係るものであって、店の種類(例えば、紳士服、小物、家具など)を音声により指示する場合に、その店の種類がカテゴリとなるが、カテゴリはこれらの例に限定されるものではない。
【0032】
受信部110は、ネットワーク300を介して、スマートスピーカー200から音声データを受信する通信インターフェースである。受信部110は、ユーザからの音声による指示入力を示す音声データを受信する。受信部110は、音声データを受信すると、制御部130に伝達する。また、受信部110は、図示しないネットワーク300に接続されている他の情報処理装置から送信された情報を受信する。
【0033】
記憶部120は、音声出力装置100が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部120は、例えば、HDD、SSD、フラッシュメモリなど各種の記憶媒体により実現される。なお、音声出力装置100は、プログラムを記憶部120に記憶し、当該プログラムを実行して、制御部130が、制御部130に含まれる各機能部としての処理を実行してもよい。このプログラムは、音声出力装置100に、制御部130が実行する各機能を実現させる。
【0034】
記憶部120は、受信した受信した音声データに基づいてユーザからの指示内容を推定するための音声解析を行う音声解析プログラムや、解析結果に基づいて、ロボット音声を示すロボット発話データを生成するための音声データ生成プログラムを記憶している。記憶部120は、入力された音声について、状況に応じて生成するロボット発話データを生成するための回答モデル情報121を記憶している。回答モデル情報121の詳細については、後述する。
【0035】
制御部130は、音声出力装置100の各部を制御するものであり、例えば、中央処理装置(CPU)やマイクロプロセッサ、ASIC、FPGAなどであってもよい。なお、制御部130は、これらの例に限られず、どのようなものであってもよい。
【0036】
制御部130は、音声解析部131と、生成部132と、を含む。
【0037】
音声解析部131は、受け付けた音声情報に基づく音声を解析する機能を有し、解析結果を生成部132に伝達する。音声情報の解析は、従来の音声認識技術を用いてよく、入力された音声をテキストデータに変換し、文脈を解析する。文脈の解析には、例えば、従来の形態素解析を利用することができる。音声解析部131は、解析結果を、生成部132に伝達する。
【0038】
生成部132は、伝達された音声結果に基づいて、ロボット発話データを生成する機能を有する。生成部132は、従来と同様に受け付けている音声情報の解析結果に応じた回答を示すロボット発話データを生成する。また、従来の機能に加えて、生成部132は、音声解析部131から、解析結果を受け付けた場合に、その所定時間前に別の解析結果を受け付けているかに応じて、ロボット発話データを生成する。即ち、第1の音声情報を解析した第1の解析結果を受け付けてから、所定時間内に、第2の音声情報を解析した解析結果を受け付けた場合に、それまでの発話の流れや、第1の音声情報と第2の音声情報とのうち、いずれを優先するのか、あるいは、いずれに対しても返答するのかなどを判断し、そのうえで、状況に応じた回答となるロボット発話データを生成する。また、生成部132は、第1の音声情報から所定時間後に第2の音声情報を受け付けた場合に、第2の音声情報に対応したロボット発話データを作成することとしてよい(しなくともよい)。生成部132は、状況に応じてどのような回答をするかについては、記憶部120に記憶されている回答モデル情報121を参照して決定し、ロボット発話データを生成する。生成部132は、生成したロボット発話データを送信部140に伝達し、スマートスピーカー200に送信するように指示する。
【0039】
送信部140は、制御部130(生成部132)からの指示に従って、スマートスピーカー200に、スマートスピーカー200に発声させるためのロボット発話データを送信する機能を有する通信インターフェースである。
【0040】
以上が、音声出力装置100の構成例である。
【0041】
(スマートスピーカーの構成例)
図3は、スマートスピーカー200の構成例を示すブロック図である。図3に示すように、スマートスピーカー200は、受信部210と、記憶部220と、スピーカー230と、マイク240と、送信部250と、を備える。
【0042】
受信部210は、音声出力装置100から制御信号(音声データ)を受信する通信インターフェースである。受信部210は、受信した制御信号(音声データ)をスピーカー230に伝達する。
【0043】
記憶部220は、スマートスピーカー200が動作する上で必要とする各種のプログラムやデータを記憶する機能を有する。記憶部220は、例えば、HDD、SSD、フラッシュメモリなど各種の記憶媒体により実現される。なお、スマートスピーカー200は、プログラムを記憶部220に記憶し、当該プログラムを実行して、図示しない制御部が、スマートスピーカー200として実現すべき機能を実現することとしてよい。記憶部220は、例えば、マイク240が集音した音声データを記憶する。
【0044】
スピーカー230は、音声出力装置100から送信されて受信した制御信号(音声データ)を再生する機能を有する。
【0045】
マイク240は、スマートスピーカー200の周囲の音声を集音する機能を有する。マイク240は、1つのマイクロフォンで構成されてもよいし、複数のマイクロフォンで構成されていてもよい。また、マイクロフォンは、集音の方向が限定された指向性のものであってもよい。マイク240は、集音した音声を示す音声データを、記憶部220に記憶する。
【0046】
送信部250は、記憶部220に記憶されている音声データを、音声出力装置100に送信する機能を有する通信インターフェースである。送信部250は、記憶部220に記憶されている音声データを逐次、音声出力装置100に送信することとしてもよいし、ユーザからの音声による指示入力があったと検出できた場合に、その前後の所定長分の音声データを送信することとしてもよい。
【0047】
以上が、スマートスピーカー200の構成例である。
【0048】
(回答モデル情報121の構成例)
次に、回答モデル情報121の一例を、図4を用いて説明する。図4は、回答モデル情報121のデータ構成例を示すデータ概念図である。
【0049】
図4に示すように、回答モデル情報121は、状況情報410と、対応情報420とが対応付けられた情報である。
【0050】
状況情報410は、音声情報の入力を受け付けている状況、受け付けた音声情報の解析結果から示される状況を示す情報である。
【0051】
対応情報420は、対応する状況情報410に応じて、音声出力装置100が、どのような基準でロボット音声発話データを生成する(あるいは、生成しない)かを規定する情報である。
【0052】
例えば、状況情報410として、「・第1音声情報受信後、所定時間後に第2音声情報を取得」していること、「第2音声情報に質問に該当する単語なし」である場合に、音声出力装置100は、対応する対応情報420に示すように、「第2音声情報に対応するロボット発話データを生成しない」か、投げかけられた音声がどういう音声であったかを「問い合わせをするロボット発話データを生成する」という対応をする。
【0053】
また、例えば、状況情報410として、「・第1音声情報受信後、所定時間内に第2音声情報を取得」し、「・第2音声情報に第1音声情報に含まれる同じカテゴリの単語があり」、「第2音声情報に第1音声情報を否定する単語が含まれる」場合に、音声出力装置100は、「第2音声情報に対応するロボット発話データのみを生成する」という対応をする。
【0054】
このように、音声出力装置100は、状況情報410において設定されている状態になったときに、対応する対応情報420で示される対応をして、ロボット発話データを生成する(生成しないこともある)。
【0055】
(通信システム1のやり取りの例)
図5は、通信システム1において、ユーザによる言い直しが発生しなかった場合の、スマートスピーカー200と、音声出力装置100との間のやり取りを示すシーケンス図である。
【0056】
図5に示すように、スマートスピーカー200は、ユーザからの音声(以下、第1音声)の入力を受け付ける(ステップS501)。スマートスピーカー200は、受け付けた音声をデジタルデータに変換した第1音声情報を、音声出力装置100に、送信する(ステップS502)。
【0057】
音声出力装置100は、第1音声情報を受信すると、その内容を解析する(ステップS503)。そして、音声出力装置100は、解析結果、即ち、第1音声情報に基づく、応答を示すロボット発話データを生成する(ステップS504)。音声出力装置100は、生成したロボット発話データをスマートスピーカー200に送信する(ステップS505)。
【0058】
ロボット発話データを受信したスマートスピーカー200は、そのロボット発話データに基づく音声を出力し(ステップS506)、ステップS501で受け付けたユーザからの指示(問い合わせ)に対する応答をする。
【0059】
図5に示す処理は、従来のスマートスピーカーにおいても実現できている動作になる。
【0060】
一方、図6は、通信システム1において、ユーザによる言い直しが発生した場合のスマートスピーカー200と、音声出力装置100との間のやり取りを示すシーケンス図である。図6に示すシーケンス図において、ステップS501〜S503に係る処理は、図5に示す処理におけるステップS501〜S503の処理と同様であるので、説明を省略する。
【0061】
第1音声情報を送信後、スマートスピーカー200は、更にユーザから次の音声(以下、第2音声)の入力を受け付ける(ステップS601)。すると、スマートスピーカー200は、第2音声をデジタルデータに変換した第2音声情報を音声出力装置100に送信する(ステップS602)。
【0062】
すると、音声出力装置100は、第2音声情報を解析する(ステップS603)。この解析の結果、第1音声情報を受信してから、所定時間(言い直しを受け付ける時間として適切な時間であって、例えば、5秒)内に、第2音声情報を受信していること、第2音声情報の中に、第1音声情報の指示に含まれる単語と同じカテゴリの単語が含まれているとする。
【0063】
このような場合に、音声出力装置100は、少なくとも第2音声情報に基づいて、ロボット発話データを生成する(ステップS604)。ここで、少なくとも第2音声情報に基づいて生成するとは、第2音声情報のみに基づいて生成することと、第1音声情報と第2音声情報との双方に基づいて音声データを生成することとの両方の場合を含む。
【0064】
音声出力装置100は、生成したロボット発話データを、スマートスピーカー200に送信する(ステップS605)。
【0065】
スマートスピーカー200は、ロボット発話データを受信すると、そのロボット発話データに基づく音声を出力する(ステップS606)。
【0066】
このように、音声出力装置100は、ユーザが続けざまに発話を行った場合に、それが言い直しかどうかを、その前の発話から所定時間内であるか否か、そして、発話内容に共通するカテゴリの単語が含まれるかによって判定して、適切に応答を行うことができる。
【0067】
(音声出力装置100の動作例)
図7は、音声出力装置100の動作であって、機器の制御を行う際の動作を示すフローチャートである。
【0068】
図7に示すように、音声出力装置100の受信部110は、スマートスピーカー200から、ユーザが発話した音声を示す第1音声情報を受信する(ステップS701)。受信部110は、受信した第1音声情報を、制御部130に伝達する。
【0069】
制御部130の音声解析部131は、伝達された第1音声情報を解析し(ステップS702)、どのような指示内容(問い合わせ内容)であるかを特定する。当該指示の特定については、予め、記憶部120に問い合わせ内容となり得る単語のリストを保持しておくことにより特定することができる。音声解析部131は、解析結果を生成部132に伝達する。
【0070】
そして、生成部132は、解析結果、即ち、第1音声情報を解析した結果に基づいて、その第1音声情報で示される指示内容(問い合わせ内容)に対する応答となるロボット発話音声データの生成を開始する(ステップS703)。
【0071】
ロボット発話音声データの生成開始した後に、制御部130は、受信部110から新たな音声情報である第2音声情報を受け付けたか否かを判定する(ステップS704)。
【0072】
第2音声情報を受け付けていない場合には(ステップS704のNO)、生成部132は、そのまま第1音声情報に対する応答であるロボット発話データを生成し、送信部140を介して、スマートスピーカー200に送信させて(ステップS705)、処理を終了する。
【0073】
一方、第2音声情報を受け付けていた場合(ステップS704のYES)、音声解析部131は、第1音声情報の受け付けから所定時間内であるか否かを判定する(ステップS706)。当該判定は、第1音声情報の受信時間と、第2音声情報の受信時間との差分をとり、所定時間となる閾値と比較することにより判定することができる。なお、第2音声情報を受け付けたタイミングにおいて、第1音声情報に対する応答であるロボット発話データの生成、スマートスピーカー200への送信まで完了していてもよいし、完了していなくてもよい。
【0074】
第2音声情報の受付が、第1音声情報の受付から、所定時間内であると判定した場合に(ステップS706のYES)、音声解析部131は、第2音声情報に、第1音声情報に含まれる単語と同一カテゴリの単語があるか否かを判定する(ステップS707)。ここで、同一カテゴリの単語があるか否かは、例えば、第1音声情報に含まれる単語であって、問い合わせの目的格となる単語についての属性と、第2音声情報に含まれる単語であって、同一の問い合わせの目的格となる単語についての属性とで一致するものがあるか否かによって判定することができる。一具体例を挙げれば、第1音声情報として、「東京の天気を教えて」という問い合わせがある場合に、「天気」が問い合わせの内容となり、その問い合わせの目的格は「東京」となる。このとき、「東京」には、地名、都市名、場所といった属性を持ち得る。そして、第2音声情報として、「品川の天気を教えて」との問い合わせがある場合に、同様に、「天気」が問い合わせの内容となり、その問い合わせの目的格は「品川」となる。このとき、「品川」には、地名、都市名、場所となった属性を持ち得るので、第2音声情報には、第1音声情報に含まれる単語と同一のカテゴリの単語があると判定することができる。
【0075】
第2音声情報に、第1音声情報に含まれる単語と同一カテゴリの単語があると判定できた場合に(ステップS707のYES)、音声解析部131による第1音声情報と第2音声情報との間の文脈の解析と併せた、第2音声情報の解析結果を生成部132に伝達する。そして、生成部132は、伝達された解析結果に基づいて、少なくとも、第2音声情報に基づくロボット発話データ、即ち、第2音声情報に対する応答となるロボット発話データを生成する。そして、生成部132は、送信部140を介して、生成したロボット発話データを、スマートスピーカー200に送信して(ステップS709)、処理を終了する。ここで、少なくとも第2音声情報に対する応答となるロボット発話データとは、第2音声情報に含まれる問い合わせに対する応答を含み、場合によっては、第1音声情報に含まれる問い合わせに対する応答を含むことがある。また、このとき生成部132は、まだ第1音声情報に基づくロボット発話音声データの生成、送信を完了していない場合には、その生成、送信を中止したうえで、少なくとも第2音声情報に基づくロボット発話データの生成、出力を行う。これは、スマートスピーカー200が、第1音声情報に基づくロボット発話データを音声として出力している最中に、ユーザ10が発話を行って第2音声情報が得られた場合であって、第2音声情報と第1音声情報とが同一カテゴリの単語であると判定されたときに、音声出力装置100は、スマートスピーカー200に第1音声情報に基づくロボット発話データによる音声出力の中止を指示するものであってもよい。そして、この中止の指示の後に、生成部132は、第2音声情報に基づくロボット発話データを生成し、音声衆力装置は、第2音声情報に基づくロボット発話データをスマートスピーカー200に送信することとしてもよい。
【0076】
一方、ステップS706において、音声解析部131が第2音声情報を、第1音声情報を受け付けてから所定時間内に受け付けていないと判断した場合(ステップS706のNO)や、ステップS707において、音声解析部131が第2音声情報に第1音声情報に含まれる単語と同一カテゴリの単語がないと判定した場合(ステップS707のNO)には、音声解析部131は、第2音声情報に質問に該当する単語があるか否かを判定する(ステップS708)。ここでの、所定時間とは、例えば、スマートスピーカー200が第1音声情報に基づくロボット発話データを、音声として、出力している間の時間のことであってよい。
【0077】
第2音声情報に、質問に該当する単語が含まれている場合(ステップS708のYES)、生成部132は、その質問内容に対する回答となるロボット発話データを生成し、送信部140を介して、スマートスピーカー200に送信し(ステップS710)、処理を終了する。
【0078】
また、第2音声情報に質問に該当する単語がない場合には(ステップS708のNO)、ステップS705の処理に移行する。なお、このとき、ステップS704の処理に移行するのではなく、ユーザに対して、もう一度問い合わせを言い直してもらうためのリクエストをするロボット発話データを生成して、スマートスピーカー200に送信するように構成されてもよい。
【0079】
なお、スマートスピーカー200の動作は、ユーザからの音声をマイク240で受け付けて、その音声情報を、送信部250から音声出力装置100に送信し、その音声出力装置100から出力されたロボット発話データを受信部210で受信して、スピーカー230から出力(報知)するだけであるので、詳細な説明については省略する。
【0080】
(応答具体例)
以下には、スマートスピーカー200が集音した音声データに基づいて、音声出力装置100が実行する処理について具体的に説明する。以下の具体例では、ユーザが天気を問い合わせる例を用いて説明する。
【0081】
(例1)ユーザが、「東京の天気を教えて?…あ、やっぱり、品川の天気を教えて?」と発言した場合
【0082】
例1は、図4に示す回答モデル情報121において、状況情報410として、欄412の状況を満たす場合に該当する。この場合、対応情報420としては、欄422に示される対応をすることになる。具体的には、この場合、まず、音声出力装置100には、第1音声情報として、「東京の天気を教えて?」という情報が伝達され、その解析を行うことになる。そして、「天気」という文言から、天気予報サーバにアクセスし、「東京」の天気情報を取得する。そして、その天気情報に基づくロボット発話データを生成する。ここで、音声出力装置100には、第2音声情報として、「あ、やっぱり、品川の天気を教えて?」という情報が伝達される。
【0083】
すると、音声出力装置100は、第2音声情報を、第1音声情報を受信してから所定時間内(例えば、5秒)に受信しているか判断し、所定時間内に受信したと判断したものとする。すると、生成部132は、第1音声情報に含まれる「天気」と、第2音声情報に含まれる「天気」というアプリケーションを指定する文言があること、そして、「東京」と「品川」という「地名」という同じカテゴリの単語が双方に含まれていることを検出する。
【0084】
この場合、生成部132は、第2音声情報が言い直しであると判断し、第1音声情報に対するロボット発話データの生成を中止し、第2音声情報に対する回答を示すロボット発話データを生成する。例えば、生成部132は、天気予報サーバにアクセスし、品川の天気情報を取得し、その内容に応じたロボット発話データ(例えば、品川の天気は晴れ。気温は○○度。)を生成する。
【0085】
すると、この場合、スマートスピーカー200は、品川の天気についてのみのアナウンスを行うことになるので、ユーザは、指示のし直しをすることなく、真に知りたい情報を得ることができる。
【0086】
なお、このとき、生成部132は、更に、ユーザの発言の文脈を解析して、後者が言い直しであるとの判定の確度を向上させてもよい。上記の例で言えば、「やっぱり」という前者を否定する文脈が有ることから、後者が言い直しであるとの判定の確度を向上させることができる。
【0087】
(例2)ユーザが、「東京の天気を教えて?…あ、それから、大阪も」と発言した場合
【0088】
例2は、図4に示す回答モデル情報121において、状況情報410として、欄413の状況を満たす場合に該当する。この場合、対応情報420としては、欄423に示される対応をすることになる。具体的には、この場合、まず、音声出力装置100には、第1音声情報として、「東京の天気を教えて?」という情報が伝達され、その解析を行うことになる。そして、「天気」という文言から、天気予報サーバにアクセスし、「東京」の天気情報を取得する。そして、その天気情報に基づくロボット発話データを生成する。ここで、音声出力装置100には、第2音声情報として、「あ、それから、大阪も」という情報が伝達される。
【0089】
すると、音声出力装置100は、第2音声情報を、第1音声情報を受信してから所定時間内(例えば、5秒)に受信しているか判断し、所定時間内に受信したと判断したものとする。すると、生成部132は、第1音声情報に含まれる「東京」と、第2音声情報に含まれる「大阪」という「地名」という同じカテゴリの単語が双方に含まれていることを検出する。
【0090】
一方で、この場合、音声解析部131は、第2音声情報の文脈を解析し、「それから」や「も」という追加の意味合いを有する語が含まれていると解釈する。このような場合に、生成部132は、第2音声情報が言い直しではなく、追加の情報の要求であると判断し、第1音声情報に対するロボット発話データの生成、送信を行うとともに、第2音声情報に対する回答を示すロボット発話データを生成して、送信する。したがって、スマートスピーカー200には、東京と大阪の双方の天気の情報が伝えられ、スマートスピーカー200は、双方の天気の情報を報知する。
【0091】
(例3)ユーザが、「東京の天気を教えて?」と発言し、所定時間経過後に、「あと、大阪も」と発言した場合
【0092】
例3は、図4に示す回答モデル情報121において、状況情報410として、欄411の状況を満たす場合に該当する。この場合、対応情報420としては、欄421に示される対応をすることになる。具体的には、この場合、まず、音声出力装置100には、第1音声情報として、「東京の天気を教えて?」という情報が伝達され、その解析を行うことになる。そして、音声出力装置100は、その内容から東京の天気に関する情報を含むロボット発話データを生成する。その所定時間経過後に、音声出力装置100には、第2音声情報として、「あと、大阪も」という情報が伝達された場合、最初の質問から所定時間経過しているため、音声出力装置100は、双方の関連性がないと判定する。
【0093】
このような場合には、音声出力装置100は、第1音声情報に対する応答のロボット発話データのみを生成するか、第1音声情報に対する応答のロボット発話データを生成し、送信しつつ、「もう一度、質問をお願いします」というリクエストをするロボット発話データを生成して、送信する構成にしてよい。このとき、第1音声情報に対する応答のロボット発話データを生成せずに、「もう一度、質問をお願いします」というリクエストをするロボット発話データのみを生成して、送信するように構成してもよい。
【0094】
(例4)スマートスピーカー200から「どこの天気が知りたいですか?」と問い合わせをし、ユーザが、「新橋…、品川」と発言した場合
【0095】
この場合、音声出力装置100は、第1音声情報として、「新橋」という音声を受け付ける。そして、第2音声情報として、「品川」という音声を受け付ける。ユーザの発言は、スマートスピーカー200がした質問に対する回答になり、「新橋」も「品川」も共に「地名」という同一カテゴリの単語であると音声解析部131は、解析することができる。このような場合に、音声出力装置100は、上記(例1)に示したように、言い直しであると判断して、後者の「品川」がユーザが知りたい天気の場所であると認定して、「品川」の天気を示すロボット発話データを生成して、送信することとしてもよいが、双方の地名間の距離が所定距離内であれば、その双方の地名が含まれる地域の天気を取得して、その情報を報知するようにしてもよい。この例の場合であれば、音声出力装置100は、「新橋」及び「品川」が含まれる「東京」という地域の天気の情報を示すロボット発話データを生成して、スマートスピーカー200に送信するようにしてもよい。この例4の場合についての回答モデル情報121は、図4には示していないが、状況情報410としては、例えば、
「・第1音声情報受信後、所定時間内に第2音声情報を取得。
・第2音声情報に質問に該当する単語あり」となり、
対応情報420としては、
「・第2音声情報に対応するロボット発話データのみを生成する」ということになる。
【0096】
以上のように、音声出力装置100は、ユーザからの様々な態様の問い合わせについて、自然な応答をするためのロボット発話データを生成することができる。また、この例4によれば、音声出力装置100は、ユーザの音声中に、第1音声情報を否定する文言がなくとも、即ち、特定語彙を有する文言がなくとも、ユーザによる言い直しを認識して、自然な応答をするためのロボット発話データを生成することができる。
【0097】
(例5)スマートスピーカー200から「どこの天気が知りたいですか?」と問い合わせをし、ユーザが、「新橋、…、品川!品川!品川!」と発言した場合
【0098】
この場合、音声出力装置100は、第1音声情報として、「新橋」という音声を受け付ける。そして、第2音声情報として、「品川」という音声を受け付ける。ユーザの発言は、スマートスピーカー200がした質問に対する回答になり、「新橋」も「品川」も共に「地名」という同一カテゴリの単語であると音声解析部131は、解析することができる。一方で、例5の場合、例4とは異なり、ユーザが複数回同じ文言を発声していることを音声出力装置100は、解析により認識することができる。このような場合に、音声出力装置100は、質問に対する回答として、所定時間内に、同一カテゴリの文言が複数含まれるような場合には、その複数の文言のうち、ユーザが最も多く発言した文言を、質問に対する回答として特定して、ロボット発話データを生成するようにしてもよい。また、特に、ユーザが連続して、同じ文言を繰り返していることが解析できた場合に、その繰り返しの文言を、質問に対する回答として特定して、ロボット発話データを生成するようにしてもよい。
【0099】
この例5の場合についての回答モデル情報121は、図4には示していないが、状況情報410としては、例えば、
「・第1音声情報受信後、所定時間内に第2音声情報を取得。
・第1音声情報と第2音声情報に複数の回答となる文言あり」、となり、
対応情報420としては、
「・第1音声情報と第2音声情報とで、回答となる文言のうち最も登場回数の多い文言に対応するロボット発話データのみを生成する」ということとしてよい。
また、あるいは、状況情報410としては、例えば、
「・第1音声情報受信後、所定時間内に第2音声情報を取得。
・第2音声情報に複数回繰り返されている文言あり」となり、
対応情報420としては、
「・第2音声情報で複数回繰り返されている文言に基づくロボット発話データを生成する」ということとしてよい。
【0100】
このように複数回強調されたような回答こそ、ユーザが知りたい回答であると推測することができるので、音声出力装置100は、そのような文言をユーザの知りたい情報の回答であると特定して、自然な応答をするためのロボット発話データを生成することができる。なお、ユーザが強調している回答に基いてロボット発話データを生成する場合に、回答数ではなく、ユーザの声の音量に基づくものであってもよい。即ち、ユーザの声の音量が高い方の回答がユーザが知りたい事項に対する回答であると特定するようにしてもよい。
【0101】
(まとめ)
このように、音声出力装置100は、ユーザが言い直しをした場合に、その言い直しが、言い直しをする前の言葉を発したタイミングから所定時間以内に行われていること、言い直しの中の単語に、言い直しをする前の言葉の中の単語と同じカテゴリを含むか否かによって、第2音声情報が言い直しかどうかを判定することができる。したがって、音声出力装置100は、第1音声情報と、第2音声情報とについて、その双方についてのロボット発話データを作成する必要があるのか、それとも、第2音声情報に対する回答のみを示すロボット発話データを生成すればいいのかの判断をすることができる。そして、言い直しであると判断できた場合に、音声出力装置100は、第2音声情報の方が、ユーザが実際に問い合わせたい内容であると判断して応答を行うので、より、自然な会話の応答をすることができる音声出力装置100を提供することができる。
【0102】
(補足)
上記実施形態に係る装置は、上記実施形態に限定されるものではなく、他の手法により実現されてもよいことは言うまでもない。以下、各種変形例について説明する。
【0103】
(1)上記実施形態においては、天気に関する問い合わせをする例を示しているが、音声出力装置100は、天気以外の事例に対しても対応できるのは言うまでもない。ユーザからの天気の問い合わせに限らず、例えば、家電操作、音楽再生、買い物等のリスト管理などにおいても活用できる。家電操作の場合であれば、一例として、「冷房を24度、…26度でつけて」という指示を受け付けたとする。このとき、音声出力装置100は、24度と発話してから26度と発話するまでの間の時間が所定時間以内である場合に、「24度」と「26度」とが同じ温度というカテゴリに属することから「26度」の方を、ユーザが指定した情報であると解釈して、音声出力装置100は、家電を操作する情報処理装置として、冷房を26度の設定でオンする制御を行うことができる。また、音楽再生の例であれば、ユーザが「Aをかけて。…Bの方がいいかな」という発話をしたとする。この場合、音声出力装置100は、「Aをかけて」との発言から「Bの方がいいかな」という発言までの間の時間が所定時間以内であれば、「A」と「B」がどちらも音楽(曲)というカテゴリに属することから、スマートスピーカーに対して、「B」の曲の再生を指示する。また、買い物等のリスト管理を行うのであれば、「ニンジン、ナス、ジャガイモ、…じゃなくてサツマイモ」という発言をユーザがしたときに、音声出力装置100は、買い物リストを管理する情報処理装置として、「ジャガイモ」という発言から、「サツマイモ」という発言までの時間が所定時間以内であれば、サツマイモのみを買い物リストに追加する。このように、音声出力装置100は、天気の問い合わせ以外にも様々な場面におけるユーザによる言い直しに対応して、ユーザにとって望ましいと推定される処理を行うことができる。また、その他の例としては、経路案内における地名などについても、同様のことが言える。
【0104】
(2)上記実施の形態において、音声出力装置100が保持する機能の一部を別の装置が保持し、その別の装置に音声出力装置100が実行する処理の一部を負担させてもよい。例えば、音声解析機能を有する他の情報処理装置が、まず、スマートスピーカー200が受け付けたユーザの音声を解析し、その解析結果を音声出力装置100に転送する。そして、音声出力装置100は、転送された解析結果に基づくロボット発話データを生成するように構成されていてもよい。
【0105】
(3)上記実施の形態において、音声出力装置100は、実行する処理に応じて複数存在してよい。例えば、天気に関する情報を通知する装置、料理に関する情報を通知する装置、家電を操作する装置など、様々な装置が考えられる。このとき、通信システム1は、更に、スマートスピーカー200が受け付けた音声を先に解析し、どの装置にその音声に基づく問い合わせを行うのかを決定する情報処理装置が含まれてもよい。そのような構成において、その情報処理装置において、上記実施の形態に示す言い直しの判定と、音声を伝達する装置の指定に役立てることとしてもよい。例えば、ユーザが、「天気…じゃなくて、電車の発車時間を教えて」というような問い合わせをしたい種別についての言い直しをした場合に、回答をする装置を、天気の情報を管理する装置とするか電車の時間を管理する装置とするかについて、同時に実行できないことから、そのうちの一方であって、言い直しであると判定された場合に、後者の方に対応する装置に、音声による問いかけを転送するというように構成されてもよい。
【0106】
(4)上記実施の形態においては、スマートスピーカー200と、音声出力装置100を別の装置として、説明したが、スマートスピーカー200と、音声出力装置100とは、一体に形成されてもよい。即ち、スマートスピーカー200は、音声出力装置100が有する機能の一部又は全部を備えることとしてもよい。
【0107】
(5)上記実施の形態においては、ユーザとの対話における文脈、質問に対する回答として望ましい文言として、同じカテゴリの単語が、第1の音声情報と第2の音声情報とに含まれるか否かを判定していた。しかしながら、音声出力装置100側(スマートスピーカー200側)から、ユーザに対して、何らかの問いかけをする場合には、生成部132は、その問いかけためのロボット発話データを生成する際に、その問いかけに対する回答としてふさわしいと想定されるカテゴリをも決定し、その決定したカテゴリを記憶部120に記憶する。そして、音声出力装置100の制御部130は、問いかけに対するユーザからの回答として、第1の音声情報と第1の音声情報から所定時間内に第2の音声情報とが得られたときに、第1の音声情報に、決定した(記憶した)カテゴリに属する単語が含まれるか否かを判定する。また、同様に、第2の音声情報に、決定した(記憶した)カテゴリに属する単語が含まれるか否かを判定する。そして、両音声情報に、決定したカテゴリに属する単語が含まれていた場合に、生成部132は、少なくとも、第2の音声情報に基づくロボット発話データを生成することとしてもよい。こうすることで、第1の音声情報及び第2の音声情報に同じカテゴリの単語が含まれるか否かを検証する際の絞り込みが容易になり、処理時間を短縮することができる。
【0108】
(6)本開示の各実施形態のプログラムは、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよい。記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。記憶媒体は、HDDやSDDなどの任意の適切な記憶媒体、またはこれらの2つ以上の適切な組合せを含むことができる。記憶媒体は、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。なお、記憶媒体はこれらの例に限られず、プログラムを記憶可能であれば、どのようなデバイスまたは媒体であってもよい。
【0109】
なお、音声出力装置100は、例えば、記憶媒体に記憶されたプログラムを読み出し、読み出したプログラムを実行することによって、各実施形態に示す複数の機能部の機能を実現することができる。また、当該プログラムは、任意の伝送媒体(通信ネットワークや放送波等)を介して、音声出力装置100に提供されてもよい。音声出力装置100は、例えば、インターネット等を介してダウンロードしたプログラムを実行することにより、各実施形態に示す複数の機能部の機能を実現する。
【0110】
なお、当該プログラムは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective―C、Java(登録商標)などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
【0111】
音声出力装置100における処理の少なくとも一部は、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。また、音声出力装置100の各機能部は、上記実施形態に示した機能を実現する1または複数の回路によって実現されてもよく、1の回路により複数の機能部の機能が実現されることとしてもよい。
【0112】
(7)本開示の実施形態を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本開示の範囲に含まれることに留意されたい。例えば、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段やステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。また、各実施形態に示す構成を適宜組み合わせることとしてもよい。
【符号の説明】
【0113】
100 音声出力装置
110 受信部
120 記憶部
130 制御部
131 音声解析部
132 生成部
140 送信部
図1
図2
図3
図4
図5
図6
図7