IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ カシオ計算機株式会社の特許一覧

特許7589717情報処理装置、情報処理方法及びプログラム
<>
  • 特許-情報処理装置、情報処理方法及びプログラム 図1
  • 特許-情報処理装置、情報処理方法及びプログラム 図2
  • 特許-情報処理装置、情報処理方法及びプログラム 図3
  • 特許-情報処理装置、情報処理方法及びプログラム 図4
  • 特許-情報処理装置、情報処理方法及びプログラム 図5
  • 特許-情報処理装置、情報処理方法及びプログラム 図6
  • 特許-情報処理装置、情報処理方法及びプログラム 図7
  • 特許-情報処理装置、情報処理方法及びプログラム 図8
  • 特許-情報処理装置、情報処理方法及びプログラム 図9
  • 特許-情報処理装置、情報処理方法及びプログラム 図10
  • 特許-情報処理装置、情報処理方法及びプログラム 図11
  • 特許-情報処理装置、情報処理方法及びプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-18
(45)【発行日】2024-11-26
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   G10L 15/28 20130101AFI20241119BHJP
【FI】
G10L15/28 230K
【請求項の数】 9
(21)【出願番号】P 2022112362
(22)【出願日】2022-07-13
(65)【公開番号】P2024010831
(43)【公開日】2024-01-25
【審査請求日】2023-07-11
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(72)【発明者】
【氏名】水野 公靖
(72)【発明者】
【氏名】櫻井 敬一
(72)【発明者】
【氏名】鈴木 英男
(72)【発明者】
【氏名】中村 光喜
(72)【発明者】
【氏名】鈴木 かれん
(72)【発明者】
【氏名】于 冰
【審査官】中村 天真
(56)【参考文献】
【文献】特開2021-009190(JP,A)
【文献】特開2021-015281(JP,A)
【文献】特開2021-144259(JP,A)
【文献】特開2017-142651(JP,A)
【文献】特開2021-056486(JP,A)
【文献】特表2020-500330(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34
G06F 3/16
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
音声信号を取得する音声取得部と、
制御部と、を備え、
前記制御部は、
前記音声信号から導出される第1認識データにウェイクワードが含まれていると判定した場合、
前記ウェイクワードの後の前記音声信号から導出される第2認識データに制御処理に関する情報である制御情報が含まれていると判定したら、前記制御情報に応じた第1制御処理を実行し、
前記第1制御処理の実行が完了した後の第1期間の間又は前記第1制御処理の実行中に、前記音声取得部で取得された音声信号から導出される第3認識データに前記制御情報が含まれていると判定した場合、
前記第3認識データに前記ウェイクワードが含まれていなくても、前記第3認識データに含まれる制御情報に応じた第2制御処理を実行し、
前記第1制御処理を実行したことによって出力された第1出力情報に制御処理に関する制御パラメータが含まれていると判定した場合、
前記制御パラメータを前記第2制御処理の実行時に適用する、
ことを特徴とする情報処理装置。
【請求項2】
前記制御部は、
前記第1出力情報に含まれる情報と、パラメータテーブルに含まれる情報との間の関連性があるか否かを判定し、
前記関連性があると判定した場合に、前記第1出力情報に前記制御パラメータが含まれていると判定する、
ことを特徴とする請求項に記載の情報処理装置。
【請求項3】
音声信号を取得する音声取得部と、
制御部と、を備え、
前記制御部は、
前記音声信号から導出される第1認識データにウェイクワードが含まれていると判定した場合、
前記ウェイクワードの後の前記音声信号から導出される第2認識データに制御処理に関する情報である制御情報が含まれていると判定したら、前記制御情報に応じた第1制御処理を実行し、
所定の条件を満たした後の第1期間の間又は前記第1制御処理の実行中に、前記音声取得部で取得された音声信号から導出される第3認識データに前記制御情報が含まれていると判定した場合、
前記第3認識データに前記ウェイクワードが含まれていなくても、前記第3認識データに含まれる制御情報に応じた第2制御処理を実行し、
前記第2制御処理に基づいて、その後のユーザの行動を推定し、
前記所定の条件は、前記第1制御処理の実行が完了するか、又は前記推定した行動を検知すると満たされ、
前記制御部はさらに、
前記第2制御処理の実行が完了した後の第2期間の間に前記推定した行動を前記ユーザが行ったことを検知したら、検知後の前記第1期間の間に前記音声取得部で取得された音声信号から導出される前記第3認識データに前記制御情報が含まれていると判定した場合、前記第3認識データに含まれる制御情報に応じた新たな第2制御処理を実行する、
ことを特徴とする情報処理装置。
【請求項4】
前記制御部は、
前記第2制御処理と行動テーブルとに基づいて前記ユーザの行動を推定し、
前記第2制御処理の実行が完了した後の第2期間の間に前記推定した行動を前記ユーザが行ったことを検知したら、検知後の前記第1期間の間に前記音声取得部で取得された音声信号から導出される前記第3認識データに含まれる制御情報と前記行動テーブルに含まれる情報との間の関連性があるか否かを判定し、
前記関連性があると判定した場合に、前記第3認識データに含まれる制御情報に応じた新たな第2制御処理を実行する、
ことを特徴とする請求項に記載の情報処理装置。
【請求項5】
前記制御部は、
前記第1期間が開始してから終了するまでの、時間の経過量を出力する、
ことを特徴とする請求項1からのいずれか1項に記載の情報処理装置。
【請求項6】
音声信号を取得する音声取得部と制御部とを備える情報処理装置の制御部が、
前記音声信号から導出される第1認識データにウェイクワードが含まれていると判定した場合、
前記ウェイクワードの後の前記音声信号から導出される第2認識データに制御処理に関する情報である制御情報が含まれていると判定したら、前記制御情報に応じた第1制御処理を実行し、
前記第1制御処理の実行が完了した後の第1期間の間又は前記第1制御処理の実行中に、前記音声取得部で取得された音声信号から導出される第3認識データに前記制御情報が含まれていると判定した場合、
前記第3認識データに前記ウェイクワードが含まれていなくても、前記第3認識データに含まれる制御情報に応じた第2制御処理を実行し、
前記第1制御処理を実行したことによって出力された第1出力情報に制御処理に関する制御パラメータが含まれていると判定した場合、
前記制御パラメータを前記第2制御処理の実行時に適用する、
ことを特徴とする情報処理方法。
【請求項7】
音声信号を取得する音声取得部と制御部とを備える情報処理装置の制御部が、
前記音声信号から導出される第1認識データにウェイクワードが含まれていると判定した場合、
前記ウェイクワードの後の前記音声信号から導出される第2認識データに制御処理に関する情報である制御情報が含まれていると判定したら、前記制御情報に応じた第1制御処理を実行し、
所定の条件を満たした後の第1期間の間又は前記第1制御処理の実行中に、前記音声取得部で取得された音声信号から導出される第3認識データに前記制御情報が含まれていると判定した場合、
前記第3認識データに前記ウェイクワードが含まれていなくても、前記第3認識データに含まれる制御情報に応じた第2制御処理を実行し、
前記第2制御処理に基づいて、その後のユーザの行動を推定し、
前記所定の条件は、前記第1制御処理の実行が完了するか、又は前記推定した行動を検知すると満たされ、
前記制御部がさらに、
前記第2制御処理の実行が完了した後の第2期間の間に前記推定した行動を前記ユーザが行ったことを検知したら、検知後の前記第1期間の間に前記音声取得部で取得された音声信号から導出される前記第3認識データに前記制御情報が含まれていると判定した場合、前記第3認識データに含まれる制御情報に応じた新たな第2制御処理を実行する、
ことを特徴とする情報処理方法。
【請求項8】
音声信号を取得する音声取得部と制御部とを備える情報処理装置の制御部に、
前記音声信号から導出される第1認識データにウェイクワードが含まれていると判定した場合、
前記ウェイクワードの後の前記音声信号から導出される第2認識データに制御処理に関する情報である制御情報が含まれていると判定したら、前記制御情報に応じた第1制御処理を実行し、
前記第1制御処理の実行が完了した後の第1期間の間又は前記第1制御処理の実行中に、前記音声取得部で取得された音声信号から導出される第3認識データに前記制御情報が含まれていると判定した場合、
前記第3認識データに前記ウェイクワードが含まれていなくても、前記第3認識データに含まれる制御情報に応じた第2制御処理を実行し、
前記第1制御処理を実行したことによって出力された第1出力情報に制御処理に関する制御パラメータが含まれていると判定した場合、
前記制御パラメータを前記第2制御処理の実行時に適用する、
処理を実行させることを特徴とするプログラム。
【請求項9】
音声信号を取得する音声取得部と制御部とを備える情報処理装置の制御部に、
前記音声信号から導出される第1認識データにウェイクワードが含まれていると判定した場合、
前記ウェイクワードの後の前記音声信号から導出される第2認識データに制御処理に関する情報である制御情報が含まれていると判定したら、前記制御情報に応じた第1制御処理を実行し、
所定の条件を満たした後の第1期間の間又は前記第1制御処理の実行中に、前記音声取得部で取得された音声信号から導出される第3認識データに前記制御情報が含まれていると判定した場合、
前記第3認識データに前記ウェイクワードが含まれていなくても、前記第3認識データに含まれる制御情報に応じた第2制御処理を実行し、
前記第2制御処理に基づいて、その後のユーザの行動を推定する、
処理を実行させ、
前記所定の条件は、前記第1制御処理の実行が完了するか、又は前記推定した行動を検知すると満たされ、
前記制御部にさらに、
前記第2制御処理の実行が完了した後の第2期間の間に前記推定した行動を前記ユーザが行ったことを検知したら、検知後の前記第1期間の間に前記音声取得部で取得された音声信号から導出される前記第3認識データに前記制御情報が含まれていると判定した場合、前記第3認識データに含まれる制御情報に応じた新たな第2制御処理を実行する、
処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
スマートスピーカやスマートフォンのような音声を認識する機器においては、ユーザからいわゆるウェイクワードが発せられると、その後のユーザの音声による指示に対して応答をすることができる。例えば、そのユーザの音声に返答したり、ユーザの指示に従って様々なアプリケーションプログラムを起動したりすることができる。また、特許文献1には、複数のウェイクワードを用いて複数のクラウドサービスを使い分けることが可能な技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-86535号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示されている技術は、第1ウェイクワードの後の音声データを第1プラットフォームに、第2ウェイクワードの後の音声データを第2プラットフォームに、それぞれ送信させることにより、複数のクラウドサービスを使い分けることができるようにしている。しかし、特許文献1に開示されている技術を含め、従来の技術では、ユーザがこれらの機器に音声で指示をするためには、常にウェイクワードを発声する必要があった。
【0005】
本発明は上記実情に鑑みてなされたものであり、ユーザが機器に指示を出す際のウェイクワードの発声を省略することを可能にする情報処理装置、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係る情報処理装置の一態様は、
音声信号を取得する音声取得部と、
制御部と、を備え、
前記制御部は、
前記音声信号から導出される第1認識データにウェイクワードが含まれていると判定した場合、
前記ウェイクワードの後の前記音声信号から導出される第2認識データに制御処理に関する情報である制御情報が含まれていると判定したら、前記制御情報に応じた第1制御処理を実行し、
前記第1制御処理の実行が完了した後の第1期間の間又は前記第1制御処理の実行中に、前記音声取得部で取得された音声信号から導出される第3認識データに前記制御情報が含まれていると判定した場合、
前記第3認識データに前記ウェイクワードが含まれていなくても、前記第3認識データに含まれる制御情報に応じた第2制御処理を実行し、
前記第1制御処理を実行したことによって出力された第1出力情報に制御処理に関する制御パラメータが含まれていると判定した場合、
前記制御パラメータを前記第2制御処理の実行時に適用する、
ことを特徴とする。
また、上記目的を達成するため、本発明に係る情報処理装置の他の態様は、
音声信号を取得する音声取得部と、
制御部と、を備え、
前記制御部は、
前記音声信号から導出される第1認識データにウェイクワードが含まれていると判定した場合、
前記ウェイクワードの後の前記音声信号から導出される第2認識データに制御処理に関する情報である制御情報が含まれていると判定したら、前記制御情報に応じた第1制御処理を実行し、
所定の条件を満たした後の第1期間の間又は前記第1制御処理の実行中に、前記音声取得部で取得された音声信号から導出される第3認識データに前記制御情報が含まれていると判定した場合、
前記第3認識データに前記ウェイクワードが含まれていなくても、前記第3認識データに含まれる制御情報に応じた第2制御処理を実行し、
前記第2制御処理に基づいて、その後のユーザの行動を推定し、
前記所定の条件は、前記第1制御処理の実行が完了するか、又は前記推定した行動を検知すると満たされ、
前記制御部はさらに、
前記第2制御処理の実行が完了した後の第2期間の間に前記推定した行動を前記ユーザが行ったことを検知したら、検知後の前記第1期間の間に前記音声取得部で取得された音声信号から導出される前記第3認識データに前記制御情報が含まれていると判定した場合、前記第3認識データに含まれる制御情報に応じた新たな第2制御処理を実行する、
ことを特徴とする。
【発明の効果】
【0007】
本発明によれば、ユーザが機器に指示を出す際のウェイクワードの発声を省略することを可能にする。
【図面の簡単な説明】
【0008】
図1】実施の形態1に係る情報処理装置の機能構成の一例を示すブロック図である。
図2】実施の形態1に係る情報処理装置に対してユーザが音声で指示したときの動作の例を示す図である。
図3】実施の形態1に係る情報処理装置に対してユーザが音声で指示したときの動作の別の例を示す図である。
図4】実施の形態1に係る情報処理装置における時間の経過量の表示例を示す図である。
図5】実施の形態1に係る音声コマンド認識処理のフローチャートの一例である。
図6】実施の形態2に係る情報処理装置に対してユーザが音声で指示したときの動作の例を示す図である。
図7】実施の形態2に係る抽出パラメータテーブルの一例を示す図である。
図8】実施の形態2に係る音声コマンド認識処理のフローチャートの一例である。
図9】実施の形態3に係る情報処理装置に対してユーザが音声で指示したときの動作の例を示す図である。
図10】実施の形態3に係る行動テーブルの一例を示す図である。
図11】実施の形態3に係る音声コマンド認識処理のフローチャートの第1の部分の一例である。
図12】実施の形態3に係る音声コマンド認識処理のフローチャートの第2の部分の一例である。
【発明を実施するための形態】
【0009】
実施の形態に係る情報処理装置等について、図面を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
【0010】
(実施の形態1)
実施の形態1に係る情報処理装置は、ユーザが音声で様々な指示(様々なアプリケーションプログラムの起動等)を行うことができる電子機器であり、例えばスマートフォンである。
【0011】
情報処理装置100は、図1に示すように、制御部110、記憶部120、入力部130、出力部140、通信部150、センサ部160を備える。
【0012】
制御部110は、例えばCPU(Central Processing Unit)等のプロセッサで構成される。制御部110は、記憶部120に記憶されているプログラムにより、スマートフォンの各種機能を実現する処理や後述する音声コマンド認識処理等を実行する。また制御部110は、マルチスレッドに対応し、複数の処理を並行して実行することができる。
【0013】
記憶部120は、制御部110が実行するプログラムや、必要なデータを記憶する。記憶部120は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等を含み得るが、これらに限られるものではない。なお、記憶部120は、制御部110の内部に設けられていてもよい。
【0014】
入力部130は、マイクロフォン、押しボタンスイッチ、タッチパネル等のユーザインタフェースであり、ユーザからの操作入力を受け付ける。入力部130がタッチパネルを備える場合は、出力部140のディスプレイと一体化したタッチパネルであってもよい。マイクロフォンは、音声信号を取得する音声取得部として機能する。
【0015】
出力部140は、液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ等のディスプレイを備え、情報処理装置100の機能を提供する表示画面や操作画面等を表示する。また、出力部140は、スピーカ等の音声出力手段も備えており、例えばメールを読み上げることができる。また、出力部140は、振動を生じさせるバイブレータを備えていてもよい。
【0016】
通信部150は、例えば無線LAN(Local Area Network)、LTE(Long Term Evolution)等に対応したネットワークインタフェースである。情報処理装置100は、通信部150を介してインターネットや他の情報処理装置と通信することができる。
【0017】
センサ部160は、心拍センサ、温度センサ、気圧センサ、加速度センサ、ジャイロセンサ、GPS(Global Positioning System)デバイス等、ユーザの動きや周囲の環境に関係する各種値を検出するデバイスを備える。制御部110は、センサ部160が備える各デバイスで検出した値を検出値として任意のタイミングで取得することができる。ただし、センサ部160は、上記センサを全て備えていなければならないわけではなく、例えば、温度センサや気圧センサを備えていなくてもよい。
【0018】
心拍センサは、例えば、LED(Light Emitting Diode)及びPD(Photodiode)を備えるPPG(Photoplethysmography)センサにより、脈波を検出する。制御部110は、心拍センサで検出した脈波に基づき、単位時間(例えば1分間)当たりの脈拍数(心拍数)を計測することにより、心拍数を取得することができる。また、温度センサは、例えばサーミスタを備え、体温を計測することができる。気圧センサは、例えばピエゾ抵抗方式のIC(Integrated Circuit)を備え、周囲の気圧を計測することができる。
【0019】
加速度センサは情報処理装置100の直交する3軸(X軸、Y軸、Z軸)の各方向の加速度を検出する。また、ジャイロセンサは、情報処理装置100の直交する3軸(X軸、Y軸、Z軸)のそれぞれを回転軸とする回転の角速度を検出する。また、GPSデバイスは、情報処理装置100の現在位置(例えば緯度、経度、高度の3次元のデータ)を取得する。
【0020】
情報処理装置100に対して音声で指示を出す際には、ユーザは基本的にはウェイクワードと呼ばれるキーフレーズ(「OK Google」、「Hey Siri」等)を発声してから指示したい内容を発声する。ユーザにウェイクワードを発声させることにより、情報処理装置100は自身に対する指示ではない音声(例えば、家族間の会話、テレビの音声等)を誤認識してしまうことを防いでいる。
【0021】
しかし、情報処理装置100に対して音声で指示することが明らかな場面(例えば連続的に指示することが想定される場面)においては、ウェイクワードの発声はユーザにとって余計な手間になってしまう。また、ウェイクワード発声の代わりにボタン押下後に音声での指示を受け付ける情報処理装置も存在するが、料理中等、手が汚れていて画面やボタンに触りたくない場合には不便である。そこで、情報処理装置100は、音声で指示を受け付けることが想定される状況においてはウェイクワード不要で音声による指示を受け付ける。
【0022】
例えば、図2に示す例では、ユーザは、最初にウェイクワード(この例では「ねぇ、スマホさん」)を発声してから、「5分たったら教えて」と発声することで、情報処理装置100はタイマーをスタートさせる。なお、ウェイクワードの後でユーザが発声する指示は音声コマンドとも呼ばれる。「5分たったら教えて」は音声コマンドの一例である。また、音声コマンドにより情報処理装置100は何らかの制御処理(例えばアプリケーションプログラム)を実行するので、音声コマンドは、制御処理に関する制御情報とも呼ばれる。図2に示す例では、音声コマンドを認識した情報処理装置100は、アプリケーションプログラムとして、タイマーを起動させ、タイマー時間として5分を設定し、設定されたタイマーをスタートさせる。
【0023】
図2に戻り、そして、5分経過後に情報処理装置100は、ピピピと音を鳴らしてユーザに5分経過したことを通知し、タイマーの実行完了後の所定の期間(例えば1分間)において、ウェイクワード不要で次の指示(音声コマンド)を受け付ける。この例では、ユーザはウェイクワード無しで「次の手順を読み上げて」と指示を出し、情報処理装置100は、その指示を受け付けて、次の手順として設定されているテキスト文の読み上げを行っている。
【0024】
この例では、ユーザがタイマーの実行完了後に再び情報処理装置100に何らかの指示を出す可能性が高いと考えられるため、情報処理装置100は、タイマーの実行完了後の所定期間はウェイクワード不要で指示(音声コマンド)を受け付けている。
【0025】
また、図3に示す例では、ユーザが、最初にウェイクワードを発声してから、「料理の最初の工程を再生して」と発声することで、情報処理装置100は料理の解説動画における最初の工程に対応する動画(映像)の再生を開始している。そして、情報処理装置100は、解説動画における最初の工程に対応する動画の終わりに付与されているチャプターを検出すると、再生を一時停止する仕様になっているものとする。なお、チャプターは、動画(映像)の場面の変わり目等に付与される区切りを表している。例えば、ある動画が複数の構成で成り立っている場合、動画コンテンツには、目次の開始時点、第1工程の開始時点、第1工程の終了時点(第2工程の開始時点と同じ)、第2工程の終了時点といった時間軸上の所定のポイントにチャプターが付与されている。その解説動画に例えば5分間煮込む手順があるとする。ユーザがこの解説動画の手順に沿って作業しようした場合、煮込み始めた時点でユーザは、情報処理装置100に「5分間タイマー」等と指示を出すことが想定されるため、図3に示す例ではユーザが「5分間タイマー」と指示を出している。
【0026】
そして、5分経過後に情報処理装置100は、ピピピと音を鳴らしてユーザに5分経過したことを通知し、タイマーの実行完了後の所定の期間(例えば1分間)において、またウェイクワード不要で指示を受け付ける。この例では、ユーザはウェイクワード無しで「料理の次の工程を再生して」と指示を出し、情報処理装置100は、その指示を受け付けて、料理の解説動画における次の工程に対応する動画の再生を開始する。
【0027】
この例では、ユーザが料理の手順に沿って、解説動画の各工程に対応する動画の再生後やタイマーの実行完了(タイムアップ)後に再び情報処理装置100に何らかの指示を出す可能性が高いと考えられるため、情報処理装置100は、音声で指示されたコマンド(タイマー、動画再生等の音声コマンド)の実行完了後の所定の期間において、ウェイクワード不要で次の指示を受け付けている。
【0028】
図2及び図3に示したように、ユーザは情報処理装置100に所定の音声コマンドで指示した場合、その音声コマンドにより実行されたアプリケーションプログラムの実行完了後に、再度音声コマンドで指示する可能性が高い。そこで、情報処理装置100は、ユーザからの音声コマンドを受け付ける場合、最初はウェイクワードを必要とするが、ウェイクワード後の所定の音声コマンドを実行した後の所定の期間において、ウェイクワード不要で音声コマンドを受け付ける。ここで、所定の音声コマンドは、例えば、タイマー、動画再生、動画再生一時停止、動画再生終了等である。つまり、情報処理装置100は、初回においてウェイクワードと音声コマンドを取得して、初回の音声コマンドに対応する処理(タイマー、動画再生等)を実行する。また、情報処理装置100は、初回の音声コマンドに対応する処理の実行が終了(停止)した後の所定の期間において、ウェイクワード不要でそれ以降の音声コマンドを受け付ける。
【0029】
また、ウェイクワード不要で音声コマンドを受け付ける所定の期間は固定長(例えば1分間)でもよいが、音声コマンドの内容(音声コマンドで起動されるアプリケーションプログラムの内容や種類)に応じて変化させてもよい。例えば、音声コマンドで実行されるものが1分以下のタイマーであれば、ユーザはタイマーのタイムアップを待ってすぐに次の音声コマンドを発声する可能性が高いと考えられるので、所定の期間を短期間(例えば30秒間)にしてもよい。逆に、音声コマンドで起動されるものが5分以上のタイマーであれば、ユーザは別の作業をしてしまって、タイマーのタイムアップになかなか気付かない可能性があると考えられるので、所定の期間を長期間(例えば3分間)にしてもよい。また所定の期間を音声コマンドで起動されるアプリケーションプログラムの実行完了までの時間に比例する時間にしてもよい。所定の期間を例えば実行完了までの時間の半分に設定する場合、5分タイマー後の所定の期間は2.5分間、2分間の長さの動画を再生した後の所定の期間は1分間となる。
【0030】
また、音声コマンドによって実行されるアプリケーションの種類によって、所定の期間を設定してもよい。例えば、料理の作り方を教える解説動画では、ある工程の区切り(第1工程の終了時点に付与されたチャプター)で再生が一時停止した際に、ユーザが解説内容に従った作業が完了していない可能性がある為、所定の期間をデフォルトの期間(例えば1分間)より長い3分間に設定してもよい。また、情報処理装置100は、このような解説動画の種類(料理の作り方、絵の描き方、サッカー等のスポーツにおけるトレーニング方法やテクニック紹介)に応じて、所定の期間の長さを設定してもよい。この場合、情報処理装置100は、解説動画に設定されているタイトルやタグ情報(ハッシュタグ等)を取得することで、所定の期間を、例えば解説動画が料理の作り方であれば3分間、解説動画がサッカーのトレーニング方法であれば2分間というように、解説動画の種類によって所定の期間の長さを変えて設定してもよい。
【0031】
また、所定の期間は次に起動されると推定されるアプリケーションプログラムの種類に応じて変化させてもよい。このような処理を行う場合には、制御部110は、音声コマンドによって起動されるアプリケーションプログラムの履歴を記憶部120に格納しておく。そして、制御部110は、この履歴に基づき、現在音声コマンドで起動されて実行中のアプリケーションプログラムの後に起動されたアプリケーションプログラムの中で、最も起動された回数の多いアプリケーションプログラムを、次に起動されるアプリケーションプログラムと推定することができる。
【0032】
また、この履歴にそのアプリケーションプログラムが起動された日時(タイムスタンプ)等も記録しておき、各アプリケーションプログラムの起動日時の差分に基づいて(例えばアプリケーション毎に、直前のアプリケーションの実行完了から音声コマンドで起動されるまでの時間の平均等を算出し、平均時間の2倍等として)所定の期間を定めてもよい。
【0033】
所定の期間の経過後、情報処理装置100に音声コマンドを指示する際には、ウェイクワードが必要となる。このため、情報処理装置100は、ユーザに所定の期間がどの程度経過しているか、この時間の経過量を出力(例えばディスプレイに残り時間を表示したり、音声で残り時間を知らせたり、バイブレータで振動させて知らせたり)してもよい。
【0034】
例えば、図4に示すように、情報処理装置100はディスプレイに、所定の期間における時間の経過量に応じて、まだあまり経過していない(例えば2/3以上残っている)なら青色のアイコン211を、半分程度経過している(例えば残り時間が1/3以上2/3未満)なら黄色のアイコン212を、かなり経過している(例えば残り時間が1/3未満)なら赤色のアイコン213を表示する、というようにアイコンの色を変化させることで時間の経過量を出力してもよい。また、図4に示すように、情報処理装置100はディスプレイに、所定の期間における時間の経過量に応じて長さを短くしていくタイムバー221を表示することによって時間の経過量を出力してもよい。
【0035】
このようなウェイクワード不要で音声コマンドを受け付けることができるようにする処理(音声コマンド認識処理)について、図5を参照して説明する。この処理は、情報処理装置100が起動して音声コマンドを受け付ける準備が整うと開始され、他の処理と並行に実行される。
【0036】
まず、制御部110は、入力部130のマイクロフォンから音声信号を取得して解析(音声認識)して第1認識データを導出する(ステップS101)。そして、制御部110は第1認識データにウェイクワードが含まれるか否かを判定する(ステップS102)。ウェイクワードが含まれていないなら(ステップS102;No)、ステップS101に戻る。
【0037】
ウェイクワードが含まれているなら(ステップS102;Yes)、制御部110は、入力部130のマイクロフォンからウェイクワードの後にユーザが発声した音声信号を取得して解析(音声認識)し、第2認識データを導出する(ステップS103)。そして、制御部110は第2認識データに音声コマンド(アプリケーションプログラム(制御処理)に関する情報である制御情報)が含まれるか否かを判定する(ステップS104)。音声コマンドが含まれていないなら(ステップS104;No)、ステップS101に戻る。
【0038】
音声コマンドが含まれているなら(ステップS104;Yes)、制御部110は、当該音声コマンドに応じたアプリケーションプログラム(最初は第1制御処理だが、ステップS109から戻ってきた場合には第2制御処理)をマルチスレッド処理により音声コマンド認識処理と並列に実行し、その実行が完了するまで待機する(ステップS105)。なお、実行が完了するとは、タイマーならタイムアップしたことを指し、動画再生なら指示されたところ(例えば次の工程(次の動画や映像)との区切り)まで再生が行われたことを指す。すなわち、実行が完了するとは、音声コマンドによる指示内容が完了することを表す。
【0039】
そして、制御部110は、タイムアップまでの期間が第1期間であるタイマーをセットする(ステップS106)。第1期間とは上述した所定の期間であり、例えば1分間である。次に制御部110は、タイマーの残り時間を出力部140で出力する(ステップS107)。このステップでは、例えば、図4に示すアイコン211,212,213やタイムバー221のような表示を行ってもよい。
【0040】
そして、制御部110は、入力部130のマイクロフォンから音声信号を取得して解析(音声認識)し、第3認識データを導出する(ステップS108)。そして、制御部110は第3認識データに音声コマンドが含まれるか否かを判定する(ステップS109)。音声コマンドが含まれているなら(ステップS109;Yes)、ステップS105に戻る。上述したように、ステップS105では制御部110は、当該音声コマンドに応じたアプリケーションプログラム(第2制御処理)を実行する。したがって、制御部110は、第3認識データに音声コマンド(制御情報)が含まれていると判定した場合、第3認識データ中のウェイクワードの有無に関わらず第2制御処理を実行することになる。
【0041】
音声コマンドが含まれていないなら(ステップS109;No)、制御部110は、タイマーで計測している時間が第1期間を経過したか否かを判定する(ステップS110)。第1期間を経過していないなら(ステップS110;No)、ステップS107に戻る。第1期間を経過しているなら(ステップS110;Yes)、ステップS101に戻る。
【0042】
なお、上記処理では、全ての音声コマンドについて、その音声コマンドに応じた(当該音声コマンドによって起動される)アプリケーションプログラムの実行が完了した後の第1期間の間、ウェイクワード不要で音声コマンドを受け付けるようにしている。しかし、アプリケーションプログラムの実行が完了した後の第1期間の間、所定の音声コマンドのみ、ウェイクワード不要で音声コマンドを受け付けるようにしてもよい。このようにしたい場合、制御部110は、ステップS109において、第3認識データが示す音声コマンドが所定の音声コマンドであるか否かの判定を行うようにすればよい。
【0043】
また、上記処理では、音声コマンドで実行されるアプリケーションプログラムの実行が完了した後の所定の期間において、ウェイクワードを省略可能にしている。しかし、ウェイクワードを省略可能とする条件は所定の期間に限らない。例えば、ある期間(上記所定の期間と異なってもよい)において、情報処理装置100の姿勢(動き、位置)が変化していない場合にウェイクワードを省略可能にしてもよい。これは、例えばユーザが台所等で情報処理装置100を見易い角度に設置している場合、情報処理装置100の姿勢が同じであれば、ユーザは料理を継続していると考えられるからである。さらに、ユーザの腕の動き等も検出することで、ユーザが関連作業を継続しているかを判断することができるので、関連作業を継続しているならウェイクワードを省略可能にし、関連作業が完了して別のことをしている可能性が高いなら、ウェイクワードを省略できないようにしてもよい。
【0044】
また、上記処理では、ステップS105で制御部110は、アプリケーションプログラムの実行が完了するまで待機したが、この待機中(アプリケーションプログラムの実行中)においてもステップS108と同様の処理をする(入力部130のマイクロフォンから音声信号を取得して解析(音声認識)し、第3認識データを取得する)ことにしてもよい。この場合、制御部110は、実行中のアプリケーションプログラムから出力される音声(例えば動画再生で出力される音声)を音声コマンドと誤認識しないようにするための処理(誤認識防止処理)を行ってもよい。誤認識防止処理の方法としては、アプリケーションプログラムから出力される音声データと逆位相の音声データをマイクロフォンからの音声信号に加算する(これにより、アプリケーションプログラムから出力される音声をキャンセリングする)方法や、予めユーザ(1人に限らない)の音声を登録しておき、登録された音声以外は音声コマンドとして受け付けないようにする方法等が考えられる。
【0045】
以上のように、本実施形態の音声コマンド認識処理において、情報処理装置100は、入力部130のマイクロフォンによって取得された音声信号を解析し、解析された音声信号にウェイクワードと音声コマンドが含まれている場合、音声信号に応じたアプリケーションプログラムを実行する。そして、情報処理装置100は、実行したアプリケーションプログラムの終了を検出(例えば、タイマーのタイムアップ、動画再生でのチャプター検出による再生停止)した後の所定の期間において、ウェイクワード無しで音声コマンドを受け付けることが可能になる。したがって、ユーザは情報処理装置100に指示を出す際、ウェイクワードの発声を省略することができるようになる。
【0046】
(実施の形態2)
実施の形態1では、音声コマンドによって実行されるアプリケーションプログラムの動作完了後は、ユーザはウェイクワードの発声を省略することができた。ここではさらに、当該アプリケーションプログラムにより出力されるデータ(音声信号、テキストデータ等)により、ユーザが発話する内容を省略することができる実施の形態2について説明する。
【0047】
例えば、図6に示す例では、ユーザは、最初にウェイクワードを発声してから、「料理の最初の工程を再生して」と発声することで、実施の形態2に係る情報処理装置101は料理の解説動画の最初の工程に対応する動画の再生を開始する。そして、情報処理装置101の制御部110は、その動画で出力されている音声を認識する。この例では動画中に中火で10分間煮込む手順があり、「中火で10分煮込みます」という音声が存在しているとする。すると、制御部110は、動画再生時に出力される音声信号から、「時間」を示すパラメータである「10分」を音声認識により取得された音声データから抽出し、記憶部120に記憶する。
【0048】
そして、制御部110は、最初の工程に対応する動画の終了時点に付与されたチャプターを検出すると、動画の再生を一時停止させる。そして、制御部110は、停止後の所定の期間(所定期間1)において、ウェイクワード不要で次の指示を受け付ける。ユーザはこの解説動画の手順に沿って作業しようとして、所定期間1内に(例えば煮込み始めた時点で)、情報処理装置101に「タイマー」と音声で指示を出したとする。すると、制御部110は動画中から音声認識したパラメータである「10分」を音声コマンドで起動されるタイマーアプリケーションプログラムに適用し、10分のタイマーがセットされる。
【0049】
そして、10分経過後に制御部110は、ピピピと音を鳴らしてユーザに10分経過したことを通知し、タイマーの実行完了後の所定の期間(所定期間2)において、ウェイクワード不要で次の指示を受け付ける。この例では、ユーザはウェイクワード無しで「料理の次の工程を再生して」と指示を出し、制御部110は、その指示を受け付けて、料理の解説動画の次の工程(2番目の工程)に対応する動画の再生を開始する。
【0050】
そして、この解説動画中に、ニンジンをねじり梅という切り方で切る手順があり、「ねじり梅で切られたニンジンを…」という音声が存在しているとする。すると、制御部110は、動画再生時に出力される音声信号から、「野菜の切り方の名称」を示すパラメータである「ねじり梅」を音声認識により所得された音声データから抽出し、記憶部120に記憶する。
【0051】
そして、制御部110は、2番目の工程に対応する動画の終了時点に付与されたチャプターを検出すると、動画の再生を一時停止させる。そして、制御部110は、停止後の所定の期間(所定期間3)において、ウェイクワード不要で次の指示を受け付ける。ユーザがこの解説動画の手順に沿って作業しようとして、ねじり梅の切り方を知りたいと思ったとする。そして、ユーザは、所定期間3内に、情報処理装置101に「切り方」と指示を出すと、制御部110は動画中から音声認識したパラメータである「ねじり梅」を、音声コマンドに応じて起動される動画検索アプリケーションプログラムに適用し、「ねじり梅の切り方」の動画が検索される。そして、制御部110は、検索後の所定の期間(所定期間4)において、ウェイクワード不要で次の指示を受け付ける。
【0052】
このように、実施の形態2の情報処理装置101では、ウェイクワードを省略できるだけでなく、音声コマンドに応じたアプリケーションプログラム(制御処理)に適用するパラメータ(制御パラメータ)の自動取得も行うことができる。
【0053】
実施の形態2に係る情報処理装置101の機能構成は図1に示すように、実施の形態1に係る情報処理装置100の機能構成と同様である。ただし、情報処理装置101の記憶部120には、抽出パラメータテーブル121と、アプリケーションプログラム(制御処理)に適用するパラメータを一時的に記憶するためのバッファ(記憶領域)であるパラメータバッファが用意されている。抽出パラメータテーブル121には、音声コマンドにより起動されたアプリケーションプログラムが出力するデータ(音声信号、テキストデータ等)から、パラメータとして抽出されるパラメータ等が記憶されている。また、パラメータバッファには、後述する音声コマンド認識処理において、当該データ(音声データ、テキストデータ等)から抽出されたパラメータ(時間等)が記憶される。
【0054】
抽出パラメータテーブル121は、図7に示すように、「抽出パラメータ」(音声コマンドにより起動されたアプリケーションプログラムが出力するデータ(音声データ、テキストデータ等)から抽出されるパラメータ)、「ユーザ音声」(音声コマンドにより起動されたアプリケーションプログラムの実行後にユーザが発声する音声コマンド)、「起動アプリケーション」(「ユーザ音声」が発声された場合に、「抽出パラメータ」を適用して起動するアプリケーションプログラム)が定義されている。
【0055】
例えば、図7では、「抽出パラメータ」の「時間」と、「ユーザ音声」の「タイマー」と、「起動アプリケーション」の「該時間でのタイマー」と、が対応付けて定義されている。ここで、ユーザが「タイマー」と発声した場合、制御部110は、パラメータバッファにパラメータの一種である「時間」(図6では10分)が記憶されているか否かを判定する。そして、制御部110は、その判定結果として「時間」に対応するパラメータがパラメータバッファに記憶されている場合、当該パラメータを読み出し、抽出パラメータテーブル121に基づいて、アプリケーションとしてタイマーを起動させ、パラメータ(10分)を設定し、タイマーをスタートさせる。
【0056】
また、図7で次の行には、「抽出パラメータ」の「野菜の切り方の名称」と、「ユーザ音声」の「切り方」と、「起動アプリケーション」の「該野菜の切り方の動画検索」と、が対応付けられている。ここで、ユーザが「切り方」と発声した場合、制御部110は、パラメータバッファにパラメータの一種である「野菜の切り方の名称」(図6ではねじり梅)が記憶されているか否かを判定する。そして、制御部110は、その判定結果として「野菜の切り方の名称」に対応するパラメータ(例えばねじり梅)がパラメータバッファに記憶されている場合、当該パラメータを読み出し、抽出パラメータテーブル121に基づいて、アプリケーションとして動画検索を起動させ、パラメータ(ねじり梅)を検索キーワードとして設定し、動画の検索を開始させる。なお、この例では「抽出パラメータ」に「野菜の切り方の名称」として定義されているが、このような定義に限る必要はない。例えば、野菜の基本的な切り方(薄切り、輪切り、半月切り等)や、飾り切り(ねじり梅等)は限られているので、具体的な切り方の名称を個別に「抽出パラメータ」に定義して、抽出パラメータテーブル121を構成してもよい。
【0057】
図7に示す他の例も同様であるが、これらはあくまでも抽出パラメータテーブル121の一例に過ぎず、抽出パラメータテーブル121は、任意に拡張したり変更したりしてよい。
【0058】
以上説明したように、制御部110は、音声コマンドにより実行されたアプリケーションから出力されたデータ(音声信号、テキストデータ等)に、抽出パラメータテーブル121において抽出パラメータとして定義されている項目に関するパラメータが存在する場合、当該パラメータをパラメータバッファに記憶する。そして、制御部110は、ユーザが発声した音声コマンド(アプリケーションプログラムに関する情報)に対応するパラメータがパラメータバッファに記憶されているか否かを判定する。そして、制御部110は、音声コマンドに対応するパラメータがパラメータバッファに記憶されている場合、パラメータを読み出し、抽出パラメータテーブル121に基づいて、音声コマンドに対応するアプリケーションプログラムに当該パラメータを適用して起動させる(設定時間でタイマースタート、特定のキーワードで動画検索等)。これにより、情報処理装置101は、音声コマンドによるアプリケーションプログラムの実行後の所定期間において、ユーザの情報処理装置101への発話に対して、ウェイクワードを不要にし、且つ、本来は音声コマンドに含ませる必要があるパラメータ(時間、名称等)の内容を省略可能にしている。
【0059】
実施の形態2に係る音声コマンド認識処理について、図8を参照して説明する。この処理は、情報処理装置101が起動して音声コマンドを受け付ける準備が整うと開始され、他の処理と並行に実行される。
【0060】
まず、ステップS201からステップS204までの処理は、実施の形態1に係る音声コマンド認識処理(図5)のステップS101からステップS104までの処理と同様のため、説明を省略する。
【0061】
ステップS205では、制御部110は、音声コマンドに応じたアプリケーションプログラムを起動し、マルチスレッド処理により音声コマンド認識処理と並列に実行する。そして、制御部110は、このアプリケーションプログラムが実行されていることによって出力されたデータ(音声信号、テキストデータ等の出力データ)を第1出力情報として解析(認識)する(ステップS206)。
【0062】
そして制御部110は、第1出力情報に含まれるワードと、抽出パラメータテーブル121において抽出パラメータとして定義されている項目の内容との間で関連性があるか否かを判定する(ステップS207)。なお、上記関連性があるか否かの判定については、定義されている抽出パラメータの全てで判定される。つまり、図7の抽出パラメータテーブル121では、時間、野菜の切り方の名称等、11種類の項目で関連性があるか否かを判定する。判定結果として関連性がないなら(ステップS207;No)、ステップS209に進む。
【0063】
ここで関連性があるとは、第1出力情報に含まれるワードが、抽出パラメータテーブル121において抽出パラメータとして定義されている項目に関連していることを意味する。つまり、第1出力情報に含まれるワードが、抽出パラメータとして定義されている項目に完全に一致する場合だけでなく、類義語や方言等、ある程度範囲(余裕)を持たせて一致していると判定されたものも、ここでは関連性があるものとする。ある程度範囲を持たせて一致しているものの例として、野菜のダイコンとダイコンの沖縄地方の方言であるデークニーは一致しているものとする。同様に、その他として「定規」と「物差し」のように現在と昔で呼び名が変わるもの、「製品、サービス名」と「製品、サービス名の愛称」のように愛称の認知度が比較的高いもの、「製品、サービス名」と「製品、サービス名を省略した名称」のように省略した名称の認知度が比較的高いもの等、についても一致しているものとする。
【0064】
第1出力情報に含まれるワードと抽出パラメータとして定義されている項目との間で関連性があるなら(ステップS207;Yes)、制御部110は、第1出力情報に含まれているワードを抽出パラメータとして、記憶部120のパラメータバッファに格納し(ステップS208)、ステップS209に進む。
【0065】
ステップS209では、制御部110は、ステップS205で実行を開始したアプリケーションプログラムの実行が完了したか否かを判定する。実行が完了していなければ(ステップS209;No)、ステップS206に戻る。
【0066】
アプリケーションプログラムの実行が完了したら(ステップS209;Yes)、ステップS210に進む。ステップS210からステップS212の処理は、実施の形態1に係る音声コマンド認識処理(図5)のステップS106からステップS108の処理と同様のため、説明を省略する。
【0067】
ステップS213では、制御部110は、ステップS212で取得した第3認識データに対応するパラメータがパラメータバッファに記憶されているか否かを判定する。そして、制御部110は、第3認識データに対応するパラメータがパラメータバッファに記憶されていないと判定したら(ステップS213;No)、制御部110は、第3認識データとパラメータバッファに記憶されているパラメータを用いて、抽出パラメータテーブル121に定義されているアプリケーションを実行することができないため、ステップS215に進む。
【0068】
抽出パラメータと第3認識データとが抽出パラメータテーブル121に存在するなら(ステプS213;Yes)、制御部110は、抽出パラメータ(制御パラメータ)は抽出パラメータテーブル121に「起動アプリケーション」として定義されているアプリケーションプログラム(第2制御処理)に適用可能と判定し、抽出パラメータを適用して当該アプリケーションプログラムをマルチスレッド処理により音声コマンド認識処理と並行して実行する(ステップS214)。そして、ステップS206に戻る。
【0069】
ステップS215及びステップS216の処理は、実施の形態1に係る音声コマンド認識処理(図5)のステップS109及びステップS110の処理と同様のため、説明を省略する。
【0070】
以上の音声コマンド認識処理により、制御部110は、音声コマンドにより実行されたアプリケーションプログラムから出力されたデータ(音声信号、テキストデータ等)中に、抽出パラメータテーブルにおいて抽出パラメータとして定義されている項目に関するパラメータが存在する場合、当該パラメータをパラメータバッファに記憶する。そして、制御部110は、ユーザが発声した音声コマンド(アプリケーションプログラムに関する情報)に対応するパラメータがパラメータバッファに記憶されているか否かを判定する。そして、制御部110は、音声コマンドに対応するパラメータがパラメータバッファに記憶されている場合、当該パラメータを読み出し、抽出パラメータテーブル121に基づいて、音声コマンドに対応するアプリケーションプログラムに当該パラメータを適用して実行させる。これにより、情報処理装置101は、音声コマンドによるアプリケーションプログラムの実行後の所定の期間において、ユーザの情報処理装置101への発話に対して、ウェイクワードを不要にし、且つ、パラメータの指定も省略した音声コマンドにより、適切なアプリケーションプログラムを起動させることができる。
【0071】
なお、上述の実施の形態2では、パラメータバッファに記憶されたパラメータ(抽出パラメータ)は、アプリケーションプログラムから出力されたデータを解析して抽出したものを例として説明したが、これに限らない。例えば、音声コマンドにより動画再生のアプリケーションプログラムを実行した場合、動画再生により出力される音声を解析して得られる抽出パラメータに代えて、又は加えて、当該動画に付与されているテキストデータ(ハッシュタグ等)、画像から文字認識して得られるテキストデータ等を抽出パラメータとしてもよい。
【0072】
また、上述の実施の形態2では、制御部110は、ユーザが音声コマンドを発声したことを認識してからアプリケーションプログラムを実行している。しかし、制御部110は、パラメータバッファに記憶されたパラメータに応じて、次に起動されるアプリケーションプログラムを推定し、推定したアプリケーションプログラムを予めバックグラウンドで起動しておくようにしてもよい。これにより、ユーザが音声コマンドを発声した後にアプリケーションプログラムが瞬時に反応できるようになる。この場合、所定の期間が経過しても音声コマンドが発声されなかった場合には、制御部110はバックグラウンドで起動したアプリケーションプログラムを自動的に終了させる。
【0073】
(実施の形態3)
実施の形態2では、アプリケーションプログラムから出力されるデータから抽出されるパラメータも利用してユーザの発話の手間を省略したが、ユーザの行動に基づいて、ユーザが発話する内容を省略することができる実施の形態3について説明する。
【0074】
例えば、図9に示す例では、ユーザは、最初にウェイクワードを発声してから、「メールを読み上げて」と発声することで、実施の形態3に係る情報処理装置102は受信したメールの内容を読み上げる。そして、情報処理装置102の制御部110は、そのメールのテキストデータを解析する。この例では、メール中に集合場所の住所が記載されているものとする。すると、制御部110は、メールから「住所、地名、施設名等」のパラメータである「東京都○○区△△1-2-3」を抽出して記憶部120に記憶する。なお、具体的には、制御部110は、実施の形態2と同様にアプリケーションプログラムから出力されたデータと抽出パラメータテーブル121に基づいて、抽出したパラメータをパラメータバッファに記憶する。
【0075】
そして、制御部110は、メールの読み上げを完了し、その後の所定の期間(所定期間1)内は、ウェイクワード不要で次の指示を受け付ける。ユーザは、メールで案内された住所の場所に行きたいと思い、地図表示やナビゲーションのためのアプリケーションプログラムを起動するために「マップ」と音声で指示を出したとする。すると、制御部110は、メール中から抽出したパラメータである集合場所の住所「東京都○○区△△1-2-3」を音声コマンドに応じて起動されるマップ表示アプリケーションプログラムに適用し、この住所付近のマップが表示される。
【0076】
そして、マップが表示されてからの所定の期間(所定期間2)内は、制御部110は、ユーザの行動を監視する。この例では、ユーザは集合場所への移動を開始する。すると、制御部110は、ユーザの移動が検知されてからの所定の期間(所定期間3)内は、またウェイクワード不要で次の指示を受け付ける。この例では、ユーザはウェイクワード無しで「残高」と指示を出し、制御部110は、その指示を受け付けて、交通系ICカードのアプリケーションプログラムを起動して「2500円です」と出力する。
【0077】
そして、その出力後、所定の期間(所定期間4)内は、制御部110は、ユーザの行動を監視する。この例では、ユーザは改札を出るためにICカードを使用する。すると、制御部110は、ユーザがICカードを使用してからの所定の期間(所定期間5)内は、またウェイクワード不要で次の指示を受け付ける。この例では、ユーザはウェイクワード無しで「メール送信」と指示を出し、制御部110は、その指示を受け付けて、メールのアプリケーションプログラムにより、ユーザが駅を出たことを通知するメールを送信する。
【0078】
このように、実施の形態3では、ウェイクワードを省略できるだけでなく、ユーザの行動を監視して、その行動から推定されるアプリケーションプログラムを起動することができる。
【0079】
実施の形態3に係る情報処理装置102の機能構成は図1に示すように、実施の形態2に係る情報処理装置101の機能構成と同様である。ただし、情報処理装置102の記憶部120には、情報処理装置101が備える抽出パラメータテーブル121及びパラメータバッファの記憶領域だけでなく、行動テーブル122及び行動バッファの記憶領域も用意される。行動テーブル122には、実行完了したアプリケーションに関連するユーザの行動等が記憶されている。また、行動バッファは、検知されたユーザの行動を格納するバッファである。
【0080】
行動テーブル122は、図10に示すように、「実行完了アプリケーション」(音声コマンドにより起動されて実行が完了したアプリケーションプログラム)、「ユーザ行動」(「実行完了アプリケーション」の実行が完了した後に行われると推定されるユーザの行動)、「ユーザ音声」(「ユーザ行動」の後にユーザが発声することが推定される音声コマンド)、「起動アプリケーション」(「ユーザ音声」が発声された場合に、「ユーザ行動」や「ユーザ音声」に基づいて起動されるアプリケーションプログラム)が定義されている。
【0081】
例えば、図10で、「実行完了アプリケーション」が「マップ」、「ユーザ行動」が「移動 or ナビ開始」、「ユーザ音声」が「残高」、「起動アプリケーション」が「(交通系ICカードの)残高出力」、と定義されている。通常、音声コマンド「残高」に対しては、何らかのICカードアプリによる残高の出力を行うことが考えられるが、ICカードアプリには、コンビニエンスストア等の系列で扱っている買い物系のアプリと、交通機関の系列で扱っている交通系のアプリとがある。この例では、「実行完了アプリケーション」が「マップ」で、「ユーザ行動」が「移動 or ナビ開始」であることから、対象となるICカードは交通系と推定され、制御部110は、交通系ICカードの残高の出力を行うことになる。
【0082】
また、図10で次の行には、「実行完了アプリケーション」が「残高出力」、「ユーザ行動」が「ICカード使用」、「ユーザ音声」が「メール送信」、「起動アプリケーション」が「(駅を出たことを)メール送信」、と定義されている。通常、音声コマンド「メール送信」に対しては、どのようなメールを送信するのか様々な可能性が考えられるが、この例では、「実行完了アプリケーション」が「残高出力」で、「ユーザ行動」が「ICカード使用」であることから、ユーザがICカードを使用して駅の改札を出たことが推定され、制御部110は駅を出たことを知らせるメールを送信することになる。
【0083】
また、行動テーブル122に定義されていない情報(この例ではメールの送信先)については、それまでに起動されたアプリケーションプログラムの履歴に基づいて設定されるようにしてもよい。例えば、上述の図9に示した例では、情報処理装置102でメールを受信したところから始まっているため、制御部110は、最後に送信するメールについて、最初に受信したメールに対する返信(又は、CC(Carbon Copy)を含めた全員に返信)という形で送信先を設定してもよい。
【0084】
このように、行動テーブル122を用いることによって、どのようなアプリケーションプログラムが実行されてきたか、それに対してユーザの行動や音声は何であったか、という情報に基づいて、制御部110は、次に起動するアプリケーションプログラムを決定でき、ユーザの手間をさらに削減できる。なお、図10に示す行動テーブル122は一例に過ぎず、任意に拡張したり変更したりしてよい。
【0085】
実施の形態3では、ユーザがウェイクワードの発声を省略できるだけでなく、行動テーブル122により、ユーザの行動を考慮した内容で、アプリケーションプログラムを起動することができる。
【0086】
実施の形態3に係る音声コマンド認識処理について、図11及び図12を参照して説明する。この処理は、情報処理装置102が起動して音声コマンドを受け付ける準備が整うと開始され、他の処理と並行に実行される。
【0087】
まず、ステップS301からステップS316までの処理(図11に示す処理)のうち、ステップS315の処理以外は、実施の形態2に係る音声コマンド認識処理(図8)のステップS201からステップS216まで(ただし、ステップS215を除く)の処理と同様のため、説明を省略する。
【0088】
ステップS315では、制御部110は第3認識データに音声コマンドが含まれるか否かを判定する。音声コマンドが含まれていないなら(ステップS315;No)、ステップS316に進む点は実施の形態2と同様である。音声コマンドが含まれているなら(ステップS315;Yes)、図12に進み、制御部110は、当該音声コマンドに応じて起動されるアプリケーションプログラム(第2制御処理)をマルチスレッド処理により音声コマンド認識処理と並列に実行する(ステップS318)。
【0089】
そして、制御部110は、ステップS318又はステップS331で実行を開始したアプリケーションプログラムの実行が完了したか否かを判定する(ステップS319)。実行が完了していなければ(ステップS319;No)、ステップS319に戻って実行が完了するまで待機する。
【0090】
アプリケーションプログラムの実行が完了したら(ステップS319;Yes)、制御部110は、タイムアップまでの期間が第2期間であるタイマーをセットする(ステップS320)。第2期間とは上述したユーザの行動を監視する所定の期間であり、例えば10分間である。そして、制御部110は、タイマーの残り時間を出力部140で出力する(ステップS321)。このステップでは、例えば、図4に示すアイコン211,212,213やタイムバー221のような表示を行ってもよい。また、第1期間のタイマー(ウェイクワードを省略可能な所定の期間)と区別できるように出力の仕方(出力態様(表示、音声出力、振動等)、表示時のフォント、アイコン、タイムバー等の色やサイズ等)をステップS311,S327での出力の仕方とは変えてもよい。
【0091】
次に、制御部110は、行動テーブル122を参照して、ステップS319で実行が完了したアプリケーションプログラムに対応するユーザ行動を監視し(ステップS322)、当該ユーザ行動を検知したか否かを判定する(ステップS323)。
【0092】
当該ユーザ行動が検知されなければ(ステップS323;No)、制御部110は、タイマーで計測している時間が第2期間を経過したか否かを判定する(ステップS324)。第2期間を経過していないなら(ステップS324;No)、ステップS321に戻る。第2期間を経過しているなら(ステップS324;Yes)、ステップS301に戻る。
【0093】
一方、当該ユーザ行動が検知されたら(ステップS323;Yes)、制御部110は、検知した行動を記憶部120の行動バッファに格納する(ステップS325)。
【0094】
そして、制御部110は、タイムアップまでの期間が第1期間であるタイマーをセットする(ステップS326)。第1期間とは上述したように、ユーザがウェイクワードを省略可能な所定の期間であり、例えば10分間である。次に制御部110は、タイマーの残り時間を出力部140で出力する(ステップS327)。このステップでは、例えば、図4に示すアイコン211,212,213やタイムバー221のような表示を行ってもよい。
【0095】
そして、制御部110は、入力部130のマイクロフォンから音声信号を取得して解析(音声認識)して第3認識データを取得する(ステップS328)。次に、制御部110は、行動バッファに格納されたユーザ行動を取得する(ステップS329)。そして、制御部110は、第3認識データに音声コマンドが含まれており、かつ、ステップS329で取得したユーザ行動と第3認識データに含まれる音声コマンドがそれぞれ「ユーザ行動」及び「ユーザ音声」として行動テーブル122に存在するか否かを判定する(ステップS330)。なお、この判定においても、上述の実施の形態2の音声コマンド認識処理(図8)のステップS207と同様に、行動バッファ中のユーザ行動及び第3認識データ中の音声コマンドがそれぞれ行動テーブル122の「ユーザ行動」及び「ユーザ音声」と関連性があれば、当該ユーザ行動及び音声コマンドはそれぞれ行動テーブル122に存在すると判定してもよい。
【0096】
当該ユーザ行動及び音声コマンドが行動テーブル122に存在するなら(ステップS330;Yes)、制御部110は、行動テーブル122に従い、「ユーザ行動」及び「ユーザ音声」に対応して「起動アプリケーション」として定義されたアプリケーションプログラム(第2制御処理)をマルチスレッド処理により音声コマンド認識処理と並列に実行し(ステップS331)、ステップS319に進む。
【0097】
なお、行動テーブル122の「起動アプリケーション」には、起動するアプリケーションプログラムだけでなく、起動時に、対応する「ユーザ行動」や「ユーザ音声」に基づいて、どのようなパラメータを適用するのかという情報も含まれている。したがって、ステップS331で制御部110は、行動テーブル122に定義されている「起動アプリケーション」の情報に基づいて、適切なパラメータを適用してアプリケーションプログラムを実行することができる。
【0098】
第3認識データに音声コマンドが含まれていないか、又は、ステップS329で取得したユーザ行動と第3認識データに含まれる音声コマンドが行動テーブル122に存在しないなら(ステップS330;No)、制御部110は、第3認識データに音声コマンドが含まれているか否かを判定する(ステップS332)。音声コマンドが含まれているなら(ステップS332;Yes)、ステップS318に戻る。
【0099】
音声コマンドが含まれていないなら(ステップS332;No)、制御部110は、タイマーで計測している時間が第1期間を経過したか否かを判定する(ステップS333)。第1期間を経過していないなら(ステップS333;No)、ステップS327に戻る。第1期間を経過しているなら(ステップS333;Yes)、ステップS301に戻る。
【0100】
以上の音声コマンド認識処理により、行動テーブル122で定義された「ユーザ行動」に沿った行動をユーザが行った場合、ユーザはウェイクワードを省略できるだけでなく、ユーザの行動内容に合った適切なアプリケーションプログラムを起動させることができる。
【0101】
(その他の変形例)
なお、情報処理装置100は、スマートフォンに限らず、センサ部160を備えたスマートウォッチ、携帯型のタブレットやPC(Personal Computer)等のコンピュータによっても実現することができる。具体的には、上記実施の形態では、制御部110が実行する音声コマンド認識処理等のプログラムが、記憶部120に予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical disc)、メモリカード、USBメモリ等の非一時的なコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各処理を実行することができるコンピュータを構成してもよい。
【0102】
さらに、プログラムを搬送波に重畳し、インターネットなどの通信媒体を介して適用することもできる。例えば、通信ネットワーク上の掲示板(BBS:Bulletin Board System)にプログラムを掲示して配信してもよい。そして、このプログラムを起動し、OS(Operating System)の制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の各処理を実行できるように構成してもよい。
【0103】
また、制御部110は、シングルプロセッサ、マルチプロセッサ、マルチコアプロセッサ等の任意のプロセッサ単体で構成されるものの他、これら任意のプロセッサと、ASIC(Application Specific Integrated Circuit)やFPGA(Field‐Programmable Gate Array)等の処理回路とが組み合わせられて構成されてもよい。
【0104】
以上、本発明の好ましい実施の形態について説明したが、本発明は係る特定の実施の形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【0105】
(付記1)
音声信号を取得する音声取得部と、
制御部と、を備え、
前記制御部は、
前記音声信号から導出される第1認識データにウェイクワードが含まれていると判定した場合、
前記ウェイクワードの後の前記音声信号から導出される第2認識データに制御処理に関する情報である制御情報が含まれていると判定したら、前記制御情報に応じた第1制御処理を実行し、
所定の条件を満たした後の第1期間の間又は前記第1制御処理の実行中に、前記音声取得部で取得された音声信号から導出される第3認識データに前記制御情報が含まれていると判定した場合、 前記第3認識データに含まれる制御情報に応じた第2制御処理を実行する、
ことを特徴とする情報処理装置。
【0106】
(付記2)
前記制御部は、前記音声信号から導出される前記第3認識データに前記制御情報が含まれていると判定した場合、前記第3認識データに前記ウェイクワードが含まれていなくても前記第2制御処理を実行する、
ことを特徴とする付記1に記載の情報処理装置。
【0107】
(付記3)
前記所定の条件は、前記第1制御処理の実行が完了すると満たされる、
ことを特徴とする付記1に記載の情報処理装置。
【0108】
(付記4)
前記制御部は、
前記第1制御処理を実行したことによって出力された第1出力情報に制御処理に関する制御パラメータが含まれていると判定した場合、
前記制御パラメータを前記第2制御処理の実行時に適用する、
ことを特徴とする付記2に記載の情報処理装置。
【0109】
(付記5)
前記制御部は、
前記第1出力情報に含まれる情報と、パラメータテーブルに含まれる情報との間の関連性があるか否かを判定し、
前記関連性があると判定した場合に、前記第1出力情報に前記制御パラメータが含まれていると判定する、
ことを特徴とする付記4に記載の情報処理装置。
【0110】
(付記6)
前記制御部は、
前記第2制御処理に基づいて、その後のユーザの行動を推定し、
前記所定の条件は、前記第1制御処理の実行が完了するか、又は前記推定した行動を検知すると満たされ、
前記制御部はさらに、
前記第2制御処理の実行が完了した後の第2期間の間に前記推定した行動を前記ユーザが行ったことを検知したら、検知後の前記第1期間の間に前記音声取得部で取得された音声信号から導出される前記第3認識データに前記制御情報が含まれていると判定した場合、前記第3認識データに含まれる制御情報に応じた新たな第2制御処理を実行する、
ことを特徴とする付記1に記載の情報処理装置。
【0111】
(付記7)
前記制御部は、
前記第2制御処理と行動テーブルとに基づいて前記ユーザの行動を推定し、
前記第2制御処理の実行が完了した後の第2期間の間に前記推定した行動を前記ユーザが行ったことを検知したら、検知後の前記第1期間の間に前記音声取得部で取得された音声信号から導出される前記第3認識データに含まれる制御情報と前記行動テーブルに含まれる情報との間の関連性があるか否かを判定し、
前記関連性があると判定した場合に、前記第3認識データに含まれる制御情報に応じた新たな第2制御処理を実行する、
ことを特徴とする付記6に記載の情報処理装置。
【0112】
(付記8)
前記制御部は、
前記第1期間が開始してから終了するまでの、時間の経過量を出力する、
ことを特徴とする付記1から7のいずれか1つに記載の情報処理装置。
【0113】
(付記9)
音声信号を取得する音声取得部と制御部とを備える情報処理装置の制御部が、
前記音声信号から導出される第1認識データにウェイクワードが含まれていると判定した場合、
前記ウェイクワードの後の前記音声信号から導出される第2認識データに制御処理に関する情報である制御情報が含まれていると判定したら、前記制御情報に応じた第1制御処理を実行し、
所定の条件を満たした後の第1期間の間又は前記第1制御処理の実行中に、前記音声取得部で取得された音声信号から導出される第3認識データに前記制御情報が含まれていると判定した場合、
前記第3認識データに含まれる制御情報に応じた第2制御処理を実行する、
ことを特徴とする情報処理方法。
【0114】
(付記10)
音声信号を取得する音声取得部と制御部とを備える情報処理装置の制御部に、
前記音声信号から導出される第1認識データにウェイクワードが含まれていると判定した場合、
前記ウェイクワードの後の前記音声信号から導出される第2認識データに制御処理に関する情報である制御情報が含まれていると判定したら、前記制御情報に応じた第1制御処理を実行し、
所定の条件を満たした後の第1期間の間又は前記第1制御処理の実行中に、前記音声取得部で取得された音声信号から導出される第3認識データに前記制御情報が含まれていると判定した場合、
前記第3認識データに含まれる制御情報に応じた第2制御処理を実行する、
処理を実行させることを特徴とするプログラム。
【符号の説明】
【0115】
100…情報処理装置、110…制御部、120…記憶部、121…抽出パラメータテーブル、122…行動テーブル、130…入力部、140…出力部、150…通信部、160…センサ部、211,212,213…アイコン、221…タイムバー
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12