(57)【要約】【課題】情報処理装置に対する音声指示を円滑に行うことのできる情報処理装置、音声認識方法、及び音声認識プログラムを提供することを目的とする。【解決手段】情報処理装置１は、所定のイベントが発生したか否かを判定する判定部３１と、イベントが発生したと判定された場合に、音声の入力を受け付ける音声受付部３２と、イベント毎に予め設定されたコマンドリストの中から、発生したと判定されたイベントに対応するコマンドリストを選択するリスト選択部３３と、音声受付部３２において受け付けた音声が、選択されたコマンドリストにおけるコマンドに対応している場合に、コマンドに対応する処理を実行する実行部３４とを備える。【選択図】図３
2020140473.tif 000002
【特許請求の範囲】
【請求項１】
所定のイベントが発生したか否かを判定する判定部と、
前記イベントが発生したと判定された場合に、音声の入力を受け付ける音声受付部と、
前記イベント毎に予め設定されたコマンドリストの中から、発生したと判定された前記イベントに対応するコマンドリストを選択するリスト選択部と、
前記音声受付部において受け付けた音声が、選択されたコマンドリストにおけるコマンドに対応している場合に、前記コマンドに対応する処理を実行する実行部と、
を備えた情報処理装置。
【請求項２】
前記イベントは、所定のシステムイベント及び所定のユーザオペレーションの少なくともいずれか一方である請求項１に記載の情報処理装置。
【請求項３】
前記システムイベントとは、システム側において自動的に発生したイベントであり、前記ユーザオペレーションとは、ユーザの操作に起因して発生したイベントである請求項２に記載の情報処理装置。
【請求項４】
前記システムイベントとは、メールを受信したこと、アップデート通知を受信したこと、及びウイルススキャン通知を受信したことの少なくともいずれか一方である請求項２または３に記載の情報処理装置。
【請求項５】
前記ユーザオペレーションとは、ファイルが選択されたこと、及び特定のアプリケーションが起動されたことの少なくともいずれか一方である請求項２または３に記載の情報処理装置。
【請求項６】
前記コマンドリストには、前記イベントに対してユーザが音声により操作可能な処理に対応したコマンドが予め設定されている請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記音声受付部は、前記イベントが発生したと判定された場合に、所定の有効時間が経過するまで前記音声の入力を受け付ける請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記音声受付部は、前記イベントに応じて前記有効時間を設定する請求項７に記載の情報処理装置。
【請求項９】
前記音声受付部は、マイクがオン状態となっていない場合には、前記有効時間の間だけ前記マイクをオン状態に切り替える請求項７または８に記載の情報処理装置。
【請求項１０】
カメラより取得したデータに基づいてユーザが音声を発しているか否かを判定する音声判定部を備え、
前記実行部は、前記音声判定部においてユーザが音声を発していると判定された場合に、入力された音声と前記コマンドリストにおけるコマンドとを対比する請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
所定のイベントが発生したか否かを判定する判定工程と、
前記イベントが発生したと判定された場合に、音声の入力を受け付ける音声受付工程と、
前記イベント毎に予め設定されたコマンドリストの中から、発生したと判定された前記イベントに対応するコマンドリストを選択するリスト選択工程と、
前記音声受付工程において受け付けた音声が、選択されたコマンドリストにおけるコマンドに対応している場合に、前記コマンドに対応する処理を実行する実行工程と、
をコンピュータが実行する音声認識方法。
【請求項１２】
所定のイベントが発生したか否かを判定する判定処理と、
前記イベントが発生したと判定された場合に、音声の入力を受け付ける音声受付処理と、
前記イベント毎に予め設定されたコマンドリストの中から、発生したと判定された前記イベントに対応するコマンドリストを選択するリスト選択処理と、
前記音声受付処理において受け付けた音声が、選択されたコマンドリストにおけるコマンドに対応している場合に、前記コマンドに対応する処理を実行する実行処理と、
をコンピュータに実行させるための音声認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、音声認識方法、及び音声認識プログラムに関するものである。
【背景技術】
【０００２】
Ａｌｅｘａ（登録商標）やＳｉｒｉ（登録商標）等の音声アシスタントを搭載した情報処理装置においては、ユーザの発した所定の音声をトリガとして音声アシスタントを起動し、音声認識を開始している。例えば、Ａｌｅｘａ（登録商標）においては、音声「Ａｌｅｘａ」をトリガとしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２０１４／０２２２４３６号明細書
【特許文献２】米国特許出願公開第２０１８／００２５７２５号明細書
【特許文献３】米国特許出願公開第２０１３／０３０４４７９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このように、所定の音声をトリガとする場合には、ユーザは、音声により情報処理装置を操作する際に逐一所定の音声を発しなければならない。すなわち、音声による操作を開始する際にひと手間を要し、処理に係る円滑性が損なわれてしまっていた。
【０００５】
本発明は、このような事情に鑑みてなされたものであって、情報処理装置に対する音声指示を円滑に行うことのできる情報処理装置、音声認識方法、及び音声認識プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第一態様は、所定のイベントが発生したか否かを判定する判定部と、前記イベントが発生したと判定された場合に、音声の入力を受け付ける音声受付部と、前記イベント毎に予め設定されたコマンドリストの中から、発生したと判定された前記イベントに対応するコマンドリストを選択するリスト選択部と、前記音声受付部において受け付けた音声が、選択されたコマンドリストにおけるコマンドに対応している場合に、前記コマンドに対応する処理を実行する実行部と、を備えた情報処理装置である。
【０００７】
本発明の第二態様は、所定のイベントが発生したか否かを判定する判定工程と、前記イベントが発生したと判定された場合に、音声の入力を受け付ける音声受付工程と、前記イベント毎に予め設定されたコマンドリストの中から、発生したと判定された前記イベントに対応するコマンドリストを選択するリスト選択工程と、前記音声受付工程において受け付けた音声が、選択されたコマンドリストにおけるコマンドに対応している場合に、前記コマンドに対応する処理を実行する実行工程と、をコンピュータが実行する音声認識方法である。
【０００８】
本発明の第三態様は、所定のイベントが発生したか否かを判定する判定処理と、前記イベントが発生したと判定された場合に、音声の入力を受け付ける音声受付処理と、前記イベント毎に予め設定されたコマンドリストの中から、発生したと判定された前記イベントに対応するコマンドリストを選択するリスト選択処理と、前記音声受付処理において受け付けた音声が、選択されたコマンドリストにおけるコマンドに対応している場合に、前記コマンドに対応する処理を実行する実行処理と、をコンピュータに実行させるための音声認識プログラムである。
【発明の効果】
【０００９】
本発明によれば、情報処理装置に対する音声指示を円滑に行うことができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る情報処理装置の概略外観図である。
【図２】本発明の一実施形態に係る情報処理装置のハードウェア構成について示した図である。
【図３】本発明の一実施形態に係る情報処理装置が備える機能の一例を示した機能ブロック図である。
【図４】本発明の一実施形態に係る情報処理装置におけるコマンドリストの例を示す図である。
【図５】本発明の一実施形態に係る情報処理装置におけるイベントとコマンドリストとの対応を例示した図である。
【図６】本発明の一実施形態に係る情報処理装置における音声認識処理のフローチャートを示した図である。
【図７】本発明の一実施形態に係る情報処理装置における音声認識処理のフローチャートを示した図である。
【図８】本発明の一実施形態に係る情報処理装置における音声認識処理のフローチャートを示した図である。
【図９】本発明の一実施形態に係る情報処理装置における音声処理のフローチャートを示した図である。
【図１０】本発明の一実施形態に係る情報処理装置における音声認識処理の具体例フローチャートを示した図である。
【図１１】本発明の一実施形態に係る情報処理装置が備える機能の一例を示した機能ブロック図である。
【図１２】本発明の一実施形態に係る情報処理装置における音声処理のフローチャートを示した図である。
【発明を実施するための形態】
【００１１】
以下に、本発明に係る情報処理装置、音声認識方法、及び音声認識プログラムの一実施形態について、図面を参照して説明する。本実施形態では、情報処理装置１として、ノートＰＣを例示した場合について説明する。情報処理装置１としては、ノートＰＣに限られず、例えば、デスクトップ型ＰＣ、タブレット、折り畳み式タブレット、スマートフォン等の情報処理端末等であってもよい。
【００１２】
図１は、本発明の一実施形態に係る情報処理装置１の概略外観図である。
【００１３】
情報処理装置１は、図１に示すように、一例として、いずれも略直方体である本体側筐体２及びディスプレイ側筐体３を備える。
【００１４】
本体側筐体２は、入力部４を備える。入力部４は、使用者が入力操作を行うための使用者インターフェースであり、文字、コマンド等を入力する各種キーより構成されるキーボードや、画面上のカーソルを移動させたり、各種メニューを選択するタッチパッド等を備えている。
【００１５】
ディスプレイ側筐体３は、画像を表示する表示部５を備える。本実施形態において、表示部５は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）を例示するが、ＬＣＤに限らず有機ＥＬ（Ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ等の他の表示機器、又はタッチパネルとされてもよい。ＬＣＤは、入力される表示データをビデオ信号に変換し、変換したビデオ信号に応じた各種情報を表示画面に表示する。
【００１６】
また、ディスプレイ側筐体３は、画像を取得するためのカメラ７及び光源８を備える。カメラ７は、ディスプレイ側筐体３においてＬＣＤの表示面側でその上方の略中央に配置され、前方の被写体（例えば、利用者の顔）を撮像可能とされている。光源８はディスプレイ側筐体３においてＬＣＤの表示面側でその上方の略中央に配置され、前方の被写体に対して、カメラ７の撮影に係る補助光を発する。
【００１７】
本体側筐体２及びディスプレイ側筐体３は、それぞれの端部で左右の一対の連結部６によって連結されている。連結部６は、ヒンジであり、本体側筐体２及びディスプレイ側筐体３を開閉自在に支持している。
【００１８】
図２は、本発明の一実施形態に係る情報処理装置１の概略構成を示す機能ブロック図である。情報処理装置１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１と、メインメモリ２２と、記憶部２３と、表示部５と、入力部４と、通信部２６と、カメラ７と、光源８とを備えている。これら各部は直接的にまたはバス２８を介して間接的に相互に接続されており互いに連携して各種処理を実行する。
【００１９】
ＣＰＵ２１は、例えば、バス２８を介して接続された記憶部２３に格納されたＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）により情報処理装置１全体の制御を行うとともに、記憶部２３に格納された各種プログラムを実行することにより各種処理を実行する。
【００２０】
メインメモリ２２は、キャッシュメモリ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の書き込み可能なメモリで構成される。メインメモリ２２は、ＣＰＵ２１の実行プログラムの読み出し、実行プログラムによる処理データの書き込み等を行う作業領域として利用される。
【００２１】
記憶部２３は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フラッシュメモリ等であり、例えば、Ｗｉｎｄｏｗｓ（登録商標）、ｉＯＳ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）等の情報処理装置１全体の制御を行うためのＯＳ、周辺機器類をハードウェア操作するための各種ドライバ、特定業務に向けられたアプリケーション、及び各種データやファイル等を格納する。また、記憶部２３には、各種処理を実現するためのプログラムや、各種処理を実現するために必要とされる各種データが格納されている。
【００２２】
表示部５は、例えば、ＬＣＤであり、ＣＰＵ２１の制御に従って表示を行う。
【００２３】
入力部４は、例えば、キーボード、マウス等であり、使用者が入力操作を行うのに使用される。
【００２４】
通信部２６は、ネットワークに接続して他の情報処理装置１と通信を行い情報の送受信を行うためのインターフェースである。
【００２５】
カメラ（撮像部）７は、レンズやレンズ駆動部、イメージセンサを有している。レンズは、被写体からの光を取り込み、イメージセンサに被写体像を結像させる。イメージセンサは、レンズにより取り込まれた光を信号電荷に変換し、被写体像を撮像する。イメージセンサでは、例えば、赤（Ｒ）、緑（Ｇ）、青（Ｂ）の信号値をベイヤー配列に対応する順序で取り込むことによりアナログ画像信号を生成し、得られた画像信号をアナログ方式からデジタル方式へ変換し、ＩＳＰへ出力する。ＩＳＰは、イメージセンサからの画像信号の信号処理（画像処理）を実施する。ＩＳＰは、例えば、カメラ７（イメージセンサ）から入力されたＲＡＷ画像（カメラ画像）について、自動露出調整、自動ホワイトバランス調整、マトリクス処理、輪郭強調、輝度圧縮、ガンマ処理等の各種処理を行う。
【００２６】
光源８は、カメラ７による撮影に係る補助光を発し、ＣＰＵ２１によって制御される。
【００２７】
図３は、情報処理装置１が備える機能の一例を示した機能ブロック図である。図３に示すように、情報処理装置１は、判定部３１と、音声受付部３２と、リスト選択部３３と、実行部３４とを主な構成として備えている。本実施形態では、これら各部によって実現される後述の各種処理は、例えば、ＣＰＵ２１において実行される。
【００２８】
判定部３１は、所定のイベントが発生したか否かを判定する。所定のイベントは、所定のシステムイベント及び所定のユーザオペレーションの少なくともいずれか一方である。本実施形態では、判定部３１は、所定のイベントとしてシステムイベント及びユーザオペレーションの両方を用いる場合について説明するが、いずれか一方を用いる場合についても同様に適用できる。
【００２９】
システムイベントとは、システム側において自動的に発生したイベントであり、予め設定されているものである。例えば、システムイベントは、メールを受信したことや、アップデート通知を受信したこと、ウイルススキャン通知を受信したことなどである。なお、システムイベントは、システム側において自動的に発生したイベントであれば上記例示に限定されず、さまざまなイベントを予め設定することが可能である。
【００３０】
ユーザオペレーションとは、ユーザの操作に起因して発生したイベントであり、予め設定されているものである。例えば、ユーザオペレーションは、ファイルが選択されたことや、特定のアプリケーションが起動されたことなどである。なお、ユーザオペレーションは、ユーザの操作に起因して発生したイベントであれば上記例示に限定されず、さまざまなイベントを予め設定することが可能である。
【００３１】
判定部３１では、予め設定されたシステムイベントまたは予め設定されたユーザオペレーションがイベントとして発生したか否かを判定する。例えば、システムイベントとしてメールを受信したことが設定されている場合には、判定部３１は、メールが受信された場合に所定のイベントが発生したと判定する。イベントが発生したか否かは、後述する実行部３４へ出力される。
【００３２】
音声受付部３２は、イベントが発生したと判定された場合に、音声の入力を受け付ける。具体的には、音声受付部３２は、所定のイベントが発生したと判定された場合に、所定の有効時間が経過するまで音声の入力を受け付ける。音声は、例えば情報処理装置１に設けられた集音部（マイク）によって取得されたユーザの音声データである。有効時間とは、イベントに対してユーザの音声指示が入力可能なように予め設定された時間である。有効時間は、例えば、予め設定したイベントにおいて推定される最も長い音声指示が入力可能なように設定される。イベントの発生に応じて音声の入力を受け付けるため、イベント発生前においては集音機能をオフしておくこともでき、省電力化や、プライバシーを保護することが可能となる。
【００３３】
イベントが発生したと判定された場合、音声受付部３２は、音声の入力を受け付けるための準備を行う。具体的には、音声受付部３２は、情報処理装置１に音声指示を行うユーザが存在するか否かを判定する。ユーザが存在するか否かとは、情報処理装置１に対して音声指示を可能な位置（具体的には、情報処理装置１の前）にユーザがいるか否かである。該判定は、例えば、情報処理装置１が備えるカメラ７によって、情報処理装置１の前にユーザがいるか否かが判定される。なお、情報処理装置１に対して音声指示を可能な位置にユーザがいるか否かを判定することができれば、上記判定方法に限定されない。ユーザが存在するか否かを判定することによって、より確実に音声の入力を受け付けることが可能となる。
【００３４】
また、音声受付部３２は、マイクがオン状態（アンミュート状態）となっているか否かを判定する。オン状態とは、マイクにより集音可能な状態である。そして、マイクがオン状態となっていない場合（ミュート状態）には、マイクをオン状態に切り替える。このように、音声を受け付ける前の準備として、マイクを確実にオン状態とできるため、より確実に音声の入力を受け付けることが可能となる。
【００３５】
そして、音声受付部３２では、情報処理装置１に音声指示を行うユーザが存在していると判定され、マイクがオン状態となっている場合に、音声の受け付けを開始する。なお、音声受付部３２は、イベントが発生したと判定された場合に、直ちに音声の受け付けを開始することとしてもよいし、ユーザの存在の確認及びマイクのオン状態の確認のいずれかを行い、その後音声の受け付けを開始することとしてもよい。
【００３６】
音声受付部３２では、音声の受付を開始する場合に、所定の有効時間に設定されたタイムアウトカウンタを開始する。すなわち、有効時間が経過するまで（タイムアップするまで）音声の入力を受け付ける。音声受付部３２は、マイクがオン状態となっていない場合には、有効時間の間だけマイクをオン状態に切り替える。受け付けた音声は、ＡＰＩにより自然言語処理（Ｎａｔｕｒａｌ  Ｌａｎｇｕａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）を行い、テキストコマンド化する。テキストコマンド化とは、音声データをアプリケーションによる処理の実行が可能なように形成された文字列として表現することである。すなわち、有効時間内において受け付けた音声は、情報処置装置において処理可能なように、テキストコマンド化される。
【００３７】
音声がテキストコマンド化されると、後述する実行部３４に出力される。
【００３８】
なお、音声受付部３２は、所定のイベントに応じて有効時間を設定することとしてもよい。具体的には、音声受付部３２は、予め設定されたイベント毎に有効時間が予め設定されており、発生したイベントに応じて有効時間を設定する。有効時間は、発生後において音声指示に時間を要すると推定されるイベントほど、長く設定されていることが好ましい。例えば、メールを受信したとのイベントに対して有効時間Ｔ１が設定されており、システムのアップデート通知を受信したとのイベントに対して有効時間Ｔ２が設定されており、アップデート通知を受信したとのイベントの方がユーザによる音声指示に時間を要すると推定される場合には、Ｔ２＞Ｔ１と設定される。このように、イベントに応じて音声を受け付ける有効時間の長さを設定することとすることで、有効時間を最適化することができる。有効時間を最適化することができるため、音声の受け付けにかかる処理負担を軽減することが可能となる。
【００３９】
リスト選択部３３は、イベント毎に予め設定されたコマンドリストの中から、発生したと判定されたイベントに対応するコマンドリストを選択する。コマンドリストは、イベントに対応して予め設けられており、少なくとも１つのコマンドが含まれている。コマンドとは、イベント毎に設けられており、ユーザが音声により操作可能な処理に対応したコマンドである。すなわち、コマンドリストには、イベントに対してユーザが音声により操作可能な処理に対応したコマンドが予め設定されている。リスト選択部３３では、発生したイベントに対応して適切に処理が実行できるように、発生したイベントに対応するコマンドリストを選択する。選択されたコマンドリストは、後述する実行部３４において使用される。
【００４０】
図４は、コマンドリストの例を示すイメージ図である。図４では、「メールを受信した」ことをイベントとして、対応するコマンドをリスト化している。コマンドは、イベントに対して予め想定される音声指示に対応している。このため、図４の例においては、「メールをチェックして」、「無視して」、「ＸＸＸに電話をかけて」、及び「ＸＸＸへメッセージを送って」がコマンドとして設定されている。
【００４１】
図５は、イベントとコマンドリストとの対応を例示した図である。図５では、３種類のイベントが設定されている場合を例示している。具体的には、イベントＥ１「アップデート通知を受信した」こと、イベントＥ２「ウイルススキャン通知を受信した」こと、イベントＥ３「メールを受信した」ことの３種類である。それぞれのイベントに対応して、コマンドリストが設定されている。
【００４２】
具体的には、イベントＥ１に対応したコマンドリストＬ１には、「ＰＣを再起動して」と、「終了して」と、「あとで再通知して」とがコマンドとして設定されている。イベントＥ２に対応したコマンドリストＬ２には、「必要な領域をスキャンして」と、「ディスクの全領域をスキャンして」と、「無視して」とがコマンドとして設定されている。イベントＥ３に対応したコマンドリストＬ３には、図４と同様に、「メールをチェックして」と、「無視して」と、「ＸＸＸに電話をかけて」と、「ＸＸＸへメッセージを送って」とがコマンドとして設定されている。リスト選択部３３では、発生したイベントに応じて、適切なコマンドリストが選択される。
【００４３】
実行部３４は、音声受付部３２において受け付けた音声が、選択されたコマンドリストにおけるコマンドに対応している場合に、コマンドに対応する処理を実行する。すなわち、実行部３４では、音声受付部３２において受け付けた音声（テキストコマンド）と、リスト選択部３３において選択されたコマンドリストのコマンドとを対比し、対応するコマンドがある場合に、該コマンドの処理を実行する。
【００４４】
図４のようなコマンドリストが選択されている場合には、コマンドのいずれか１つに対応した音声が入力された場合に、対応するコマンドの処理が実行される。具体的には、メールを受信したとのイベントが発生した後、有効時間内において「メールをチェックして」の音声が入力された場合には、コマンド「メールをチェックして」に対応した処理が実行される（例えば、受信したメールの内容が情報処理装置１に表示される）。
【００４５】
図５のように、それぞれのコマンドリストには、音声エンジン（例えば、音声エンジンＡ、音声エンジンＢ、音声エンジンＣ、音声エンジンＤ）が対応づけられている。すなわち、イベントと、コマンドリストと、音声エンジンとが予め対応づけられている。音声エンジンは、コマンドリストにより実行される処理内容（処理の複雑性）に応じて適切なものが対応づけられている。例えば、音声エンジンＢは、イベントに対応した容易な処理を実行する。音声エンジンＣは、イベントに対応して、より詳細な処理を行う。音声エンジンＤは、イベントに対応して、他のアプリケーションと連動して処理を行う。すなわち、音声エンジンＤほど高度な処理を実行可能となる。
【００４６】
図５のように、イベントＥ１が発生した場合には、コマンドリストＬ１を用いて、音声エンジンＢによって処理が実行される。このように、処理内容に応じて適当な音声エンジンを用いて処理が実行できるため、処理の効率化ができる。なお、一部の音声エンジン（例えば音声エンジンＢ）はローカルでのみ実行できるのに対し、一部の音声エンジン（例えば音声エンジンＤ）は、クラウドからの接続が可能としてもよい。これにより、高効率化とプライバシー保護の強化を行うことが可能となります。
【００４７】
なお、図５の例では、複数の音声エンジンを使い分ける場合を例示して説明したが、複数のイベントに対して１つの音声エンジンを共有することとしてもよい。
【００４８】
次に、本実施形態に係る情報処理装置１によって実行される音声認識処理について説明する。図６−８は、本実施形態に係る情報処理装置１によって行われる音声認識処理を示すフローチャートである。図６−８に示した処理フローは、情報処理装置１が起動している場合において、所定の制御周期で繰り返し実行される。なお、図６−８では、Ｆ１、Ｆ２、及びＦ３のフローが関連して処理を行う場合である。図６のＦ１は、所定の音声トリガを用いて音声認識を行う処理であり、図７のＦ２は、システムイベントに基づいて音声認識を行う処理であり、図８のＦ３は、ユーザオペレーションに基づいて音声認識を行う処理である。なお、Ｆ２及びＦ３については、いずれか一方を用いることとしてもよいし、Ｆ１と連携せず用いてもよい。
【００４９】
Ｆ１の処理について説明する。
まず、所定の音声トリガが入力されたか否かを判定する（Ｓ１０１）。音声トリガは、トリガワードとして、音声エンジンに対応して予め設定されている。
【００５０】
音声トリガが入力されない場合（Ｓ１０１のＮＯ判定）には、Ｆ２やＦ３のフローへ進む。音声トリガが入力された場合（Ｓ１０１のＹＥＳ判定）には、入力された音声トリガに対応する音声エンジンを起動する（Ｓ１０２）。例えば、「Ａｌｅｘａ」との音声トリガが入力された場合には、音声エンジンとしてＡｌｅｘａが起動される。
【００５１】
次に、起動した音声エンジンにより音声対話（ｖｏｉｃｅ  ｉｎｔｅｒａｃｔｉｏｎ）が行われ、各処理が実行される（Ｓ１０３）。
【００５２】
次に、Ｆ２の処理について説明する。Ｆ２のフローは、音声トリガが入力されない場合（Ｓ１０１のＮＯ判定）に実行される。
まず、所定のシステムイベントが発生したか否かを判定する（Ｓ２０１）。所定のシステムイベントとは、例えば、メールを受信したこと等である。所定のシステムイベントが発生していない場合（Ｓ２０１のＮＯ判定）には、処理を終了する。
【００５３】
所定のシステムイベントが発生した場合（Ｓ２０１のＹＥＳ判定）には、情報処理装置１のユーザが存在しているか否かを判定する（Ｓ２０２）。ユーザが存在しているかとは、ユーザが情報処理装置１の前にいることである。ユーザが存在していない場合（Ｓ２０２のＮＯ判定）には、処理を終了する。
【００５４】
ユーザが存在している場合（Ｓ２０２のＹＥＳ判定）には、マイクがオン状態となっているか否かを判定する（Ｓ２０３）。マイクがオン状態となっている場合（Ｓ２０３のＹＥＳ判定）には、音声エンジンを起動する（Ｓ２０５）。なお、マイクがオン状態となっていない場合（Ｓ２０３のＮＯ判定）には、マイクをオン状態とし（Ｓ２０４）、Ｓ２０５を行う。
【００５５】
次に、音声対話として、音声の入力を受けつける（Ｓ２０６）。なお、Ｓ２０６の処理については、図９において詳述する。
【００５６】
次に、受け付けた音声と予め設定されたコマンドリストのコマンドとを対比し、音声に対応したコマンドがあるか否かを判定する（Ｓ２０７）。音声に対応したコマンドがある場合（Ｓ２０７のＹＥＳ判定）には、コマンドに対応する処理を実行する（Ｓ２０９）。例えば、メールを受信したこととのイベントに対して、「メールをチェックして」とのコマンドが予め設定されている場合に、該コマンドに対応する音声が入力された場合に、受信したメールの内容が情報処理装置１に表示される。
【００５７】
音声に対応したコマンドがない場合（Ｓ２０７のＮＯ判定）には、Ｆ１へ移行するか否かを判定する（Ｓ２０８）。なお、Ｆ１へ移行するか否かは、予め設定されているものとする。Ｆ１へ移行する場合（Ｓ２０８のＹＥＳ判定）には、Ｓ１０２の処理が実行される。このように、コマンドリストにない音声が入力された場合には、Ｆ２では処理できないため、Ｆ１へ移行することで、汎用的な処理を行うことが可能となる。このようにＦ２からＦ１へ移行してＳ１０２が実行される場合には、起動される音声エンジンは、予め優先順位が設定されていてもよいし、ユーザにより指定されてもよい。Ｆ１へ移行しない場合（Ｓ２０８のＮＯ判定）には、処理を終了する。
【００５８】
次に、Ｆ３の処理について説明する。Ｆ３のフローは、音声トリガが入力されない場合（Ｓ１０１のＮＯ判定）に実行される。
まず、所定のユーザオペレーションが発生したか否かを判定する（Ｓ３０１）。所定のユーザオペレーションとは、例えば、ファイルが選択されたこと等である。所定のユーザオペレーションが発生していない場合（Ｓ３０１のＮＯ判定）には、処理を終了する。
【００５９】
所定のユーザオペレーションが発生した場合（Ｓ３０１のＹＥＳ判定）には、情報処理装置１のユーザが存在しているか否かを判定する（Ｓ３０２）。ユーザが存在しているかとは、ユーザが情報処理装置１の前にいることである。ユーザが存在していない場合（Ｓ３０２のＮＯ判定）には、処理を終了する。
【００６０】
ユーザが存在している場合（Ｓ３０２のＹＥＳ判定）には、マイクがオン状態となっているか否かを判定する（Ｓ３０３）。マイクがオン状態となっている場合（Ｓ３０３のＹＥＳ判定）には、音声エンジンを起動する（Ｓ３０５）。なお、マイクがオン状態となっていない場合（Ｓ３０３のＮＯ判定）には、マイクをオン状態とし（Ｓ３０４）、Ｓ３０５を行う。
【００６１】
次に、音声対話として、音声の入力を受けつける（Ｓ３０６）。なお、Ｓ３０６の処理については、図９において詳述する。
【００６２】
次に、受け付けた音声と予め設定されたコマンドリストのコマンドとを対比し、音声に対応したコマンドがあるか否かを判定する（Ｓ３０７）。音声に対応したコマンドがある場合（Ｓ３０７のＹＥＳ判定）には、コマンドに対応する処理を実行する（Ｓ３０９）。例えば、ファイルが選択されたこととのイベントに対して、「ファイルを開く」とのコマンドが予め設定されている場合に、該コマンドに対応する音声が入力された場合に、ファイルが開かれ情報処理装置１に表示される。
【００６３】
音声に対応したコマンドがない場合（Ｓ３０７のＮＯ判定）には、Ｆ１へ移行するか否かを判定する（Ｓ３０８）。なお、Ｆ１へ移行するか否かは、予め設定されているものとする。Ｆ１へ移行する場合（Ｓ３０８のＹＥＳ判定）には、Ｓ１０２の処理が実行される。このように、コマンドリストにない音声が入力された場合には、Ｆ３では処理できないため、Ｆ１へ移行することで、汎用的な処理を行うことが可能となる。このようにＦ３からＦ１へ移行してＳ１０２が実行される場合には、起動される音声エンジンは、予め優先順位が設定されていてもよいし、ユーザにより指定されてもよい。Ｆ１へ移行しない場合（Ｓ３０８のＮＯ判定）には、処理を終了する。
【００６４】
このように、所定のシステムイベントや所定のユーザオペレーションの発生に応じて音声エンジンを起動することで、所定の音声トリガを用いて音声エンジンを起動する場合と比較して、より円滑に処理を実行することが可能となる。
【００６５】
なお、所定のシステムイベント及び所定のユーザオペレーションが略等しいタイミングで発生した場合には、それぞれの処理を並列して実行することとしてもよい。また、Ｆ２及びＦ３については、Ｆ１と連携せず用いてもよい。また、Ｆ２及びＦ３を単体の処理として用いることとしてもよい。
【００６６】
次に、本実施形態に係る情報処理装置１によって実行される音声処理について説明する。図９は、本実施形態に係る情報処理装置１によって行われる音声処理を示すフローチャートである。図９に示した処理フローは、図７−８のＳ２０６及びＳ３０６の処理の詳細を示す図であり、図７−８のフローにおいてＳ２０６またはＳ３０６が行われる場合に実行される。
【００６７】
まず、タイムアウトカウンタを開始する（Ｓ４０１）。タイムアウトカウンタには、有効時間が予め設定されている。そして、タイムアウトカウンタがカウントアップしていないか否か及び音声が入力されたか否かを判定する（Ｓ４０２）。Ｓ４０２においては、両方が肯判定となった場合（タイムアウトカウンタがカウントアップしておらず音声が入力された場合）のみＹＥＳ判定となる。すなわち、タイムアウトカウンタがカウントアップしておらず音声が入力されていない場合、タイムアウトカウンタがカウントアップした場合についてはＮＯ判定となる。Ｓ４０２においてＮＯ判定の場合には処理を終了する。
【００６８】
Ｓ４０２においてＹＥＳ判定の場合には、受け付けた音声をテキストコマンド化する（Ｓ４０３）。テキストコマンド化されると、Ｓ２０７やＳ３０７において所定のコマンドリストとの対比が行われる。
【００６９】
次に、本実施形態に係る情報処理装置１によって実行される音声認識処理の具体的なフローを説明する。図１０は、本実施形態に係る情報処理装置１によって行われる音声認識処理の具体的な例によるフローを示している。図１０では、メールを受信したことをイベントとした場合におけるより詳細なフローを示している。
【００７０】
まず、メールを受信すると、メールを受信したとのイベントに対応するコマンドリストがあるか否かを判定する（Ｓ５０１）。すなわち、対応するコマンドリストが存在すれば、コマンドリストを用いて以降の処理が実行される。対応するコマンドリストがないと判定された場合（Ｓ５０１のＮＯ判定）には、処理を終了する。
【００７１】
対応するコマンドリストがあると判定された場合（Ｓ５０１のＹＥＳ判定）には、情報処理装置１の前にユーザがいるか否かを判定する（Ｓ５０２）。情報処理装置１の前にユーザがいないと判定された場合（Ｓ５０２のＮＯ判定）には、処理を終了する。
【００７２】
情報処理装置１の前にユーザがいると判定された場合（Ｓ５０２のＹＥＳ判定）には、マイクがオン状態となっているか否かを判定する（Ｓ５０３）。マイクがオン状態となっていない場合（Ｓ５０３のＮＯ判定）には、マイクをオン状態とし（Ｓ５０４）、Ｓ５０５へ進む。
【００７３】
マイクがオン状態となっている場合（Ｓ５０３のＹＥＳ判定）には、ユーザによる音声を受け付ける（Ｓ５０５）。そして、受け付けた音声をテキストコマンド化する（Ｓ５０６）。
【００７４】
そして、テキストコマンド化した音声と、コマンドリストのコマンドとを対比し、音声に対応するコマンドがあるか否かを判定する（Ｓ５０７）。音声に対応するコマンドがない場合（Ｓ５０７のＮＯ判定）には、他の音声エンジン（例えば、Ａｌｅｘａ等）によって受け付けた音声が汎用的によりされる（Ｓ５０８）。
【００７５】
音声に対応するコマンドがある場合（Ｓ５０７のＹＥＳ判定）には、対応するコマンドに応じた処理が実行される（Ｓ５０９）。例えば、メールを受信したこととのイベントに対して、「メールをチェックして」とのコマンドが予め設定されている場合に、該コマンドに対応する音声が入力された場合に、受信したメールの内容が情報処理装置１に表示される。
【００７６】
このように、所定のイベント（図１０の例ではールを受信したこと）の発生によって、音声認識開始されるため、情報処理装置１とユーザとの対話を自然な状態で円滑に行うことが可能となる。また、所定のイベントに対応したコマンドリストと入力された音声とが対比され、音声に対応するコマンドリストのコマンドの処理が実行されるため、処理を効率化することが可能となる。
【００７７】
なお、ユーザが音声を発しているか否かを判定し、実行部３４は、音声判定部３５においてユーザが音声を発していると判定された場合に、入力された音声とコマンドリストにおけるコマンドとを対比することとしてもよい。この場合には、情報処理装置１では、図１１に示すように、カメラ７より取得したデータに基づいてユーザが音声を発しているか否かを判定する音声判定部３５を備える。音声判定部３５では、情報処理装置１におけるカメラ７によってユーザの状態を撮影し、撮影したデータに基づいて、ユーザが音声を発しているか否か、すなわち、ユーザの唇が動いているか否かを判定する。なお、ユーザが音声を発しているか否かについては、リップリーディング技術を適用することができる。
【００７８】
このように、音声判定部３５を設ける場合には、上述の図９の処理は図１２のような処理となる。具体的には、タイムアウトカウンタを開始する（Ｓ４０１）と共に、カメラ７から映像データが取得する（Ｓ４０４）。そして、リップリーディング技術を用いてユーザが音声を発していると推定されるか否かを判定する（Ｓ４０５）。なお、Ｓ４０５では、Ｓ４０３において音声がテキストコマンド化されたか否かについても判定している（すなわち、音声が入力されたか否かを判定している）。すなわち、Ｓ４０５では、入力された音声がテキストコマンド化されており、映像データよりユーザがしゃべっていると判定される場合に、ＹＥＳ判定となり、Ｓ２０７やＳ３０７において、テキストコマンドと所定のコマンドリストとの対比が行われる。一方で、Ｓ４０５では、入力された音声がテキストコマンド化されいない場合（音声が入力されていない場合）や、入力された音声がテキストコマンド化されていても映像データよりユーザがしゃべっていると判定されない場合には、ＮＯ判定となり処理が終了される。このように、ユーザが音声を発しているか否かを判定することによって、ユーザの発した音声によってより確実に処理を行うことができるため、誤った処理を行うことを抑制することができる。
【００７９】
以上説明したように、本実施形態に係る情報処理装置、音声認識方法、及び音声認識プログラムによれば、所定のイベントが発生した場合に、イベントに対応して予め設定されたコマンドリストを用い、コマンドリストのコマンドに対応した音声が入力された際に、コマンドに対応する処理を実行するため、所定の音声をトリガとして用いる場合と比較して、情報処理装置１に対する音声指示を円滑に行うことができる。すなわち、所定のイベントの発生をトリガとして音声認識を行うことができるため、ユーザの手間を発生させず、ユーザビリティを向上させることが可能となる。
【００８０】
また、イベントに対応したコマンドリストを用い、音声とコマンドリストのコマンドとを対比しているため、処理を簡略化して効率的に音声認識を行うことが可能となる。
【００８１】
本発明は、上述の実施形態のみに限定されるものではなく、発明の要旨を逸脱しない範囲において、種々変形実施が可能である。
【符号の説明】
【００８２】
１    ：情報処理装置
２    ：本体側筐体
３    ：ディスプレイ側筐体
４    ：入力部
５    ：表示部
６    ：連結部
７    ：カメラ
８    ：光源
２１  ：ＣＰＵ
２２  ：メインメモリ
２３  ：記憶部
２６  ：通信部
２８  ：バス
３１  ：判定部
３２  ：音声受付部
３３  ：リスト選択部
３４  ：実行部
３５  ：音声判定部
【図１】
2020140473.tif 000003
【図２】
2020140473.tif 000004
【図３】
2020140473.tif 000005
【図４】
2020140473.tif 000006
【図５】
2020140473.tif 000007
【図６】
2020140473.tif 000008
【図７】
2020140473.tif 000009
【図８】
2020140473.tif 000010
【図９】
2020140473.tif 000011
【図１０】
2020140473.tif 000012
【図１１】
2020140473.tif 000013
【図１２】
2020140473.tif 000014
【手続補正書】
【提出日】令和2年7月10日(2020.7.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定のイベントが発生したか否かを判定する判定部と、
前記イベントが発生したと判定された場合に、音声指示を可能な位置にユーザがいるか否かを判定し、音声指示を可能な位置にユーザがいると判定した場合に、音声の入力を受け付ける音声受付部と、
前記イベント毎に予め設定されたコマンドリストの中から、発生したと判定された前記イベントに対応するコマンドリストを選択するリスト選択部と、
前記音声受付部において受け付けた音声が、選択されたコマンドリストにおけるコマンドに対応している場合に、前記コマンドに対応する処理を実行する実行部と、
を備えた情報処理装置。
【請求項２】
前記イベントは、所定のシステムイベント及び所定のユーザオペレーションの少なくともいずれか一方である請求項１に記載の情報処理装置。
【請求項３】
前記システムイベントとは、システム側において自動的に発生したイベントであり、前記ユーザオペレーションとは、ユーザの操作に起因して発生したイベントである請求項２に記載の情報処理装置。
【請求項４】
前記システムイベントとは、メールを受信したこと、アップデート通知を受信したこと、及びウイルススキャン通知を受信したことの少なくともいずれか一方である請求項２または３に記載の情報処理装置。
【請求項５】
前記ユーザオペレーションとは、ファイルが選択されたこと、及び特定のアプリケーションが起動されたことの少なくともいずれか一方である請求項２または３に記載の情報処理装置。
【請求項６】
前記コマンドリストには、前記イベントに対してユーザが音声により操作可能な処理に対応したコマンドが予め設定されている請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記音声受付部は、前記イベントが発生したと判定された場合に、所定の有効時間が経過するまで前記音声の入力を受け付ける請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記音声受付部は、前記イベントに応じて前記有効時間を設定する請求項７に記載の情報処理装置。
【請求項９】
前記音声受付部は、マイクがオン状態となっていない場合には、前記有効時間の間だけ前記マイクをオン状態に切り替える請求項７または８に記載の情報処理装置。
【請求項１０】
カメラより取得したデータに基づいてユーザが音声を発しているか否かを判定する音声判定部を備え、
前記実行部は、前記音声判定部においてユーザが音声を発していると判定された場合に、入力された音声と前記コマンドリストにおけるコマンドとを対比する請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
所定のイベントが発生したか否かを判定する判定工程と、
前記イベントが発生したと判定された場合に、音声指示を可能な位置にユーザがいるか否かを判定し、音声指示を可能な位置にユーザがいると判定した場合に、音声の入力を受け付ける音声受付工程と、
前記イベント毎に予め設定されたコマンドリストの中から、発生したと判定された前記イベントに対応するコマンドリストを選択するリスト選択工程と、
前記音声受付工程において受け付けた音声が、選択されたコマンドリストにおけるコマンドに対応している場合に、前記コマンドに対応する処理を実行する実行工程と、
をコンピュータが実行する音声認識方法。
【請求項１２】
所定のイベントが発生したか否かを判定する判定処理と、
前記イベントが発生したと判定された場合に、音声指示を可能な位置にユーザがいるか否かを判定し、音声指示を可能な位置にユーザがいると判定した場合に、音声の入力を受け付ける音声受付処理と、
前記イベント毎に予め設定されたコマンドリストの中から、発生したと判定された前記イベントに対応するコマンドリストを選択するリスト選択処理と、
前記音声受付処理において受け付けた音声が、選択されたコマンドリストにおけるコマンドに対応している場合に、前記コマンドに対応する処理を実行する実行処理と、
をコンピュータに実行させるための音声認識プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本発明の第一態様は、所定のイベントが発生したか否かを判定する判定部と、前記イベントが発生したと判定された場合に、音声指示を可能な位置にユーザがいるか否かを判定し、音声指示を可能な位置にユーザがいると判定した場合に、音声の入力を受け付ける音声受付部と、前記イベント毎に予め設定されたコマンドリストの中から、発生したと判定された前記イベントに対応するコマンドリストを選択するリスト選択部と、前記音声受付部において受け付けた音声が、選択されたコマンドリストにおけるコマンドに対応している場合に、前記コマンドに対応する処理を実行する実行部と、を備えた情報処理装置である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明の第二態様は、所定のイベントが発生したか否かを判定する判定工程と、前記イベントが発生したと判定された場合に、音声指示を可能な位置にユーザがいるか否かを判定し、音声指示を可能な位置にユーザがいると判定した場合に、音声の入力を受け付ける音声受付工程と、前記イベント毎に予め設定されたコマンドリストの中から、発生したと判定された前記イベントに対応するコマンドリストを選択するリスト選択工程と、前記音声受付工程において受け付けた音声が、選択されたコマンドリストにおけるコマンドに対応している場合に、前記コマンドに対応する処理を実行する実行工程と、をコンピュータが実行する音声認識方法である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明の第三態様は、所定のイベントが発生したか否かを判定する判定処理と、前記イベントが発生したと判定された場合に、音声指示を可能な位置にユーザがいるか否かを判定し、音声指示を可能な位置にユーザがいると判定した場合に、音声の入力を受け付ける音声受付処理と、前記イベント毎に予め設定されたコマンドリストの中から、発生したと判定された前記イベントに対応するコマンドリストを選択するリスト選択処理と、前記音声受付処理において受け付けた音声が、選択されたコマンドリストにおけるコマンドに対応している場合に、前記コマンドに対応する処理を実行する実行処理と、をコンピュータに実行させるための音声認識プログラムである。