(57)【要約】【課題】音声区間の検出精度を向上させること。【解決手段】本願に係る学習装置は、検出対象となる対象音声が含まれる音声情報を取得する取得部と、前記対象音声の終端と、当該対象音声の始端から経過した期間とをモデルに学習させる学習部とを有することを特徴とする。また、本願に係る検出装置は、音声情報を取得する取得部と、検出対象となる対象音声の終端と、当該対象音声の始端から経過した期間とを学習させたモデルを用いて、前記取得部により取得された音声情報から、前記対象音声の始端を検出する検出部とを有することを特徴とする。【選択図】図１
2020064253.tif 000002
【特許請求の範囲】
【請求項１】
検出対象となる対象音声が含まれる音声情報を取得する取得部と、
前記対象音声の終端と、当該対象音声の始端から経過した期間とをモデルに学習させる学習部と
を有することを特徴とする学習装置。
【請求項２】
前記学習部は、前記音声情報を複数の区間に分割し、各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とをモデルに学習させる
ことを特徴とする請求項１に記載の学習装置。
【請求項３】
前記学習部は、所定の区間に含まれる音声を前記モデルに入力した際に、当該所定の区間に前記対象音声の終端が含まれているか否かを示す終端情報と、前記対象音声の始端から当該所定の区間までの期間を示す期間情報とを出力するように、前記モデルの学習を行う
ことを特徴とする請求項２に記載の学習装置。
【請求項４】
前記学習部は、前記音声情報を複数の区間に分割し、所定の区間に含まれる音声を入力した際に、前記対象音声の始端から当該所定の区間までの期間に応じた分類結果を出力するよう、前記モデルの学習を行う
ことを特徴とする請求項１〜３のうちいずれか１つに記載の学習装置。
【請求項５】
前記学習部は、再帰型ニューラルネットワークの構成を有するモデルに対し、前記対象音声の終端と、当該対象音声の始端から経過した期間とを学習させる
ことを特徴とする請求項１〜４のうちいずれか１つに記載の学習装置。
【請求項６】
前記取得部は、所定の端末装置に所定の動作を実行させるための音声を前記対象音声として含む音声情報を取得する
ことを特徴とする請求項１〜５のうちいずれか１つに記載の学習装置。
【請求項７】
前記取得部は、複数の単語を発声した音声、又は、無音の区間を含む音声を前記対象音声として含む音声情報を取得する
ことを特徴とする請求項１〜６のうちいずれか１つに記載の学習装置。
【請求項８】
前記学習部は、前記対象音声全体の特徴に基づいて、当該対象音声の終端を検出するように前記モデルの学習を行う
ことを特徴とする請求項１〜７のうちいずれか１つに記載の学習装置。
【請求項９】
前記学習部は、前記対象音声の各区間が有する特徴の出現順序に基づいて、当該対象音声の終端を含む区間を検出するように前記モデルの学習を行う
ことを特徴とする請求項８に記載の学習装置。
【請求項１０】
音声情報を取得する取得部と、
検出対象となる対象音声の終端と、当該対象音声の始端から経過した期間とを学習させたモデルを用いて、前記取得部により取得された音声情報から、前記対象音声の始端を検出する検出部と
を有することを特徴とする検出装置。
【請求項１１】
前記検出部は、学習対象となった音声情報である学習情報に含まれる各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを学習させたモデルを用いて、前記取得部により取得された音声情報から前記対象音声の始端を含む区間を検出する
ことを特徴とする請求項１０に記載の検出装置。
【請求項１２】
前記検出部は、所定の区間に含まれる音声が入力された場合に当該所定の区間に前記対象音声の終端が含まれているか否かを示す終端情報と、前記対象音声の始端から当該所定の区間までの期間を示す期間情報とを出力するように学習が行われたモデルを用いて、前記取得部により取得された音声情報から前記対象音声の始端を含む区間を検出する
ことを特徴とする請求項１１に記載の検出装置。
【請求項１３】
前記検出部は、前記取得部により取得された音声情報を複数の区間に分割し、分割した区間のうち、前記区間に含まれる音声を入力した際に前記対象音声の終端が含まれている旨を示す終端情報を前記モデルが出力した区間を特定し、特定した区間について前記モデルが出力した期間情報に基づいて、前記対象音声の始端が含まれる区間を検出する
ことを特徴とする請求項１２に記載の検出装置。
【請求項１４】
前記検出部は、再帰型ニューラルネットワークの構成を有するモデルに対し、前記取得部により取得された音声情報の各区間に含まれる音声を先頭から順に入力し、当該モデルが出力した前記終端情報と前記期間情報とに基づいて、前記対象音声の始端を含む区間を検出する
ことを特徴とする請求項１１または１２に記載の検出装置。
【請求項１５】
学習装置が実行する学習方法であって、
検出対象となる対象音声が含まれる音声情報を取得する取得工程と、
前記対象音声の終端と、当該対象音声の始端から経過した期間とをモデルに学習させる学習工程と
を含むことを特徴とする学習方法。
【請求項１６】
検出対象となる対象音声が含まれる音声情報を取得する取得手順と、
前記対象音声の終端と、当該対象音声の始端から経過した期間とをモデルに学習させる学習手順と
をコンピュータに実行させるための学習プログラム。
【請求項１７】
検出装置が実行する検出方法であって、
音声情報を取得する取得工程と、
検出対象となる対象音声の終端と、当該対象音声の始端から経過した期間とを学習させたモデルを用いて、前記取得部により取得された音声情報から、前記対象音声の始端を検出する検出工程と
を含むことを特徴とする検出方法。
【請求項１８】
音声情報を取得する取得手順と、
検出対象となる対象音声の終端と、当該対象音声の始端から経過した期間とを学習させたモデルを用いて、前記取得部により取得された音声情報から、前記対象音声の始端を検出する検出手順と
を含むことを特徴とする検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、検出装置、学習方法、学習プログラム、検出方法、および検出プログラムに関する。
【背景技術】
【０００２】
近年、自動音声認識（Automatic  Speech  Recognition）を利用した技術が知られている。このような自動音声認識の技術の一例として、利用者の発話をテキストデータに変換し、変換後のテキストデータを用いて各種の情報処理を実行する技術が知られている。また、認識精度を改善するため、入力された音響信号から、利用者の発話が含まれる音声区間を検出する音声区間検出（Voice  Activity  Detection）の技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１３９６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような音声区間検出の技術を用いて、所定の音声を含む音声区間を検出する処理が考えられる。例えば、処理対象となるフレームが音声を含む音声区間であるか否かを学習させたＤＮＮ（Deep  Neural  Network）等のモデルを用いて、音響信号から所定の音声を抽出する技術が考えられる。
【０００５】
しかしながら、このような技術では、音声区間の検出精度を改善する余地があった。
【０００６】
例えば、複数の単語から構成されるキーワードや、途中に無発声の区間が含まれるキーワード等を含む音声区間を抽出しようとした場合、上述した技術では、キーワードの一部のみを含む区間を音声区間として検出してしまう恐れがある。
【０００７】
本願は、上記に鑑みてなされたものであって、音声区間の検出精度を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
本願に係る学習装置は、検出対象となる対象音声が含まれる音声情報を取得する取得部と、前記対象音声の終端と、当該対象音声の始端から経過した期間とをモデルに学習させる学習部とを有することを特徴とする。
【発明の効果】
【０００９】
実施形態の一態様によれば、音声区間の検出精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る情報提供装置と端末装置とが実行する処理の一例を示す図である。
【図２】図２は、実施形態に係る情報提供装置の構成例を示す図である。
【図３】図３は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。
【図４】図４は、実施形態に係る端末装置の構成例を示す図である。
【図５】図５は、実施形態に係るモデルが出力する情報の一例を示す図である。
【図６】図６は、実施形態に係る情報提供装置が実行する学習処理の流れの一例を示すフローチャートである。
【図７】図７は、実施形態に係る端末装置が実行する検出処理の流れの一例を示すフローチャートである。
【図８】図８は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願に係る学習装置、検出装置、学習方法、学習プログラム、検出方法、および検出プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習装置、検出装置、学習方法、学習プログラム、検出方法、および検出プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１２】
〔１．情報提供装置と端末装置とについて〕
まず、図１を用いて、学習装置の一例である情報提供装置１０が実行する学習処理の一例と、検出装置の一例である端末装置１００が実行する検出処理の一例とについて説明する。図１は、実施形態に係る情報提供装置と端末装置とが実行する処理の一例を示す図である。図１では、情報提供装置１０によって、利用者の発話を含む音声情報から、検出対象となる所定の対象音声を抽出する際に用いるモデルの学習を行う学習処理の一例について記載した。また、図１では、端末装置１００によって、利用者の発話を含む音声情報から所定のキーワードが含まれるキーワード区間を検出する検出処理の一例について記載した。
【００１３】
図１に示す情報提供装置１０は、学習処理を行う情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、情報提供装置１０は、データサーバＤＳから提供される学習データを用いて、所定のキーワードが含まれるキーワード区間を音声データから抽出する際に用いるモデルの学習を実行する。
【００１４】
データサーバＤＳは、各種のデータを管理する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、データサーバＤＳは、情報提供装置１０が学習処理に用いる学習データの管理を行う。なお、データサーバＤＳが管理する学習データの詳細については、後述する。
【００１５】
端末装置１００は、周囲の音を取得するマイク等の取得装置と、任意の音を出力可能なスピーカー等の出力装置とを有する入出力装置とを有する入出力装置であり、例えば、スマートスピーカーと呼ばれるデバイスである。例えば、端末装置１００は、出力装置を用いて、音楽の出力や音声による情報提供を実現可能な装置である。また、端末装置１００は、音の入力を受付ける受付機能を有し、利用者が発した音声を取得すると、取得した音声の内容に応じた音を出力する出力機能を有する。  
【００１６】
例えば、端末装置１００は、利用者が所定の楽曲の曲名を示す音声を発した場合には、各種の音声解析技術により、音声が示す曲名を特定し、特定した曲名が示す楽曲のデータを、ネットワークＮ（例えば、図２を参照）を介して、所定の外部サーバＯＳ（例えば、図２）から取得する。そして、音声デバイスは、取得した楽曲を再生する。  
【００１７】
なお、端末装置１００は、例えば、利用者Ｕが発した音声の内容を各種の音声解析技術により特定し、特定した内容に応じた応答を出力する機能を有する。例えば、端末装置１００は、「今日の天気は？」といった利用者Ｕの音声を取得した場合は、外部サーバＯＳから天気や気温などといった各種の気象情報を取得し、取得した気象情報を読み上げることで、利用者Ｕに天気の情報を提供する。また、端末装置１００は、上述した処理以外にも、例えば、電子商店街に出品された商品の注文、空調装置や照明装置等といった各種家電機器の制御、メールやスケジュールの読み上げ等といった各種の処理を実現可能なスマートスピーカーである。
【００１８】
なお、端末装置１００は、外部サーバＯＳと連携することで、音声解析を行ってもよい。例えば、端末装置１００は、マイク等を用いて周囲の音声を取得し、取得した音声が所定の条件を満たした場合は、外部サーバＯＳに取得した音声を送信する。このような場合、外部サーバＯＳは、取得した音声の内容を各種の音声解析技術により特定し、特定結果を端末装置１００へと送信する。その後、端末装置１００は、特定結果に対応する各種の処理を実行してもよい。すなわち、端末装置１００は、スタンドアローン型のスマートスピーカーであってもよく、クラウド等の外部サーバと連携するスマートスピーカーであってもよい。
【００１９】
ここで、端末装置１００は、それぞれ異なる位置に取付けられた複数の取得装置（例えば、マイク等）を有し、各取得装置を介して受付けた音声を用いて、上述した各種の処理を実行してもよい。また、端末装置１００は、それぞれ異なる位置に取付けられた複数の取得装置を有する装置であれば、例えば、スマートデバイスや録音装置等、任意の装置であってもよい。また、端末装置１００は、物理的に離間した位置に設置された複数の取得装置と無線ＬＡＮ（Local  Area  Network）やブルートゥース（登録商標）等の無線通信を介して接続され、各取得装置が取得した音声を収集する装置であってもよい。
【００２０】
〔１−１．キーワードの検出について〕
ここで、利用者は、スマートスピーカー等を操作する場合は、所定のキーワードを発話した後で、実行させる処理を示す発話（以下、「処理発話」と記載する。）を発話する。このような場合、端末装置１００は、取得した音声に所定のキーワードが含まれているか否かを判定する。そして、端末装置１００は、所定のキーワードが含まれていると判定される場合は、そのキーワードに続いて利用者が発話した処理発話が含まれる音声データの区間から、音声解析により利用者の発話内容を特定する。
【００２１】
また、このようなキーワードは、単に処理の起動音声として用いられるだけではなく、後続する処理発話の明瞭化処理に用いられる場合がある。例えば、音声データからキーワードが含まれるキーワード区間を抽出し、抽出されたキーワード区間内に含まれる音声から特徴を抽出し、抽出した特徴に基づいて、後続する音声のうち利用者の発話を強調することで、音楽やテレビジョンの音声等といった雑音の影響を軽減するといった態様が考えられる。また、複数のマイクを用いて取得された複数の音声データからキーワード区間をそれぞれ抽出し、抽出した各キーワード区間が測定された時間差に基づいて、利用者が所在する方向を推定し、推定した方向からの音声を強調することで、雑音の影響を軽減するビームフォーミングの技術が考えられる。このため、キーワード区間を適切に検出することができた場合、起動音声の有無を適切に判定することができるだけではなく、処理発話の認識精度を向上させることができる。
【００２２】
ここで、キーワードが有する特徴をＳＶＭ（Support  Vector  Machine）やＤＮＮ（Deep  Neural  Network）等といった各種分類器として動作するモデルに学習させ、学習済モデルを用いて、収集した音声からキーワードの検出を行うといった態様が考えられる。しかしながら、単にキーワードの音声が有する特徴をモデルに学習させた場合は、キーワードのうちどの時点からモデルがキーワードであると判断するかが明確ではないため、音声データのうちどこからどこまでがキーワードを含むキーワード区間であるかを推定するのが困難となる。
【００２３】
〔１−２．学習処理について〕
そこで、情報提供装置１０は、以下の学習処理を実行する。まず、情報提供装置１０は、検出対象となる対象音声が含まれる音声情報を取得する。例えば、情報提供装置１０は、キーワード等、所定の端末装置１００に所定の動作を実行させるための音声を対象音声として含む音声情報を取得する。そして、情報提供装置１０は、すくなくとも、対象音声の終端と、対象音声の始端から経過した期間とをモデルに学習させる。より具体的な例を挙げると、情報提供装置１０は、対象音声の始端から終端までの間の特徴、すなわち、対象音声の特徴をモデルに学習させるとともに、音声の始端から対象音声の各区間までの間の期間とをモデルに学習させる。例えば、情報提供装置１０は、音声情報を複数の区間に分割し、各区間ごとに、対象音声の終端が含まれているか否かと、対象音声の始端から処理対象となる区間までの期間とをモデルに学習させる。
【００２４】
換言すると、情報提供装置１０は、キーワードの終端付近でキーワードを検出した旨を出力するモデルの学習を行う。例えば、情報提供装置１０は、音声データの音声を複数のフレームに分割し、各フレームに含まれる音声の情報を時系列順にモデルに入力する。そして、情報提供装置１０は、キーワードの終端を含むフレーム若しくは終端付近のフレームに含まれる音声の情報をモデルに入力した際に、キーワードの終端を検知した旨の情報を出力するように、モデルの学習を行う。ここで、情報提供装置１０は、過去に入力した音声の特徴量を考慮して、新たに入力された音声がキーワードの終端である事後確率を算出させるため、ＲＮＮ（Recurrent  Neural  Network）若しくは、ＬＳＴＭ（Long  short-term  memory）といった再帰型ニューラルネットワークの構成を有するモデルの学習を行う。
【００２５】
このような学習に加えて、情報提供装置１０は、入力されたフレームを、キーワードの始端からの長さに応じたクラスに分類させるタスクを追加する。すなわち、情報提供装置１０は、各フレームが、キーワードの始端からどれくらい経過したフレームなのか、すなわち、各フレームに含まれる音声が、キーワードの始端からどれくらい経過した際に観測される音声なのかをモデルに学習させる。
【００２６】
例えば、情報提供装置１０は、１フレームが２０ミリ秒であり、キーワードが約１００フレーム程度で発話される場合は、キーワードの始端から１０フレームごとに異なるクラスを割り当てる。そして、情報提供装置１０は、各フレームにキーワードの終端が含まれているか否かを学習させるとともに、入力されたフレームがどのクラスに割り当てられているかをモデルに学習させる。すなわち、情報提供装置１０は、モデルにマルチタスク学習を実行させる。
【００２７】
上述した学習処理により、情報提供装置１０は、キーワードの終端を適切に検出するとともに、検出したキーワードの始端から検出した終端までの期間を推定可能なモデルの学習を実現できる。例えば、情報提供装置１０は、上述した学習処理により、キーワード全体（例えば、キーワードの始端から終端）までの特徴に基づいて、キーワードの終端を検出するモデルを実現する。すなわち、情報提供装置１０は、キーワードの各区間が有する特徴の出現順序に基づいて、キーワードの終端を含む区間を検出するようにモデルの学習を行う。この結果、情報提供装置１０は、キーワードの終端の検出精度を向上させることができる。
【００２８】
例えば、情報提供装置１０は、キーワードの終端付近のフレームに含まれる音声のみを学習データとして用いるのではなく、キーワード全体の各フレームの音声を時系列順にモデルに入力することで、キーワードの各フレームにおける音声の特徴と、各音声の出現順序の特徴とをモデルに学習させる。このような学習が行われた場合、モデルは、先頭から終端までの各フレームにおける特徴と、特徴の時系列的な出現順序とがキーワードと類似する音声が入力された場合に、キーワードを検出したと判定することとなる。この結果、情報提供装置１０は、複数の単語や無音区間が含まれるキーワードを適切に検出することができる。
【００２９】
例えば、キーワードが「ねえ」という単語と「ヤフー」という単語とを含む「ねえ＿ヤフー」であった場合、情報提供装置１０は、「ねえ＿ヤフー」という複数の単語を含む一連の音声の特徴をキーワードの音声としてモデルに学習させる。より具体的には、情報提供装置１０は、「ねえ＿ヤフー」という音声の各フレームを出現順にモデルに入力し、最後のフレーム、すなわち、終端のフレームが入力された際に、キーワードを検出した旨を出力するようモデルの学習を行う。例えば、情報提供装置１０は、「ねえ＿ヤフー」という音声の各フレームを出現順にモデルに入力し、終端のフレーム以外の各フレームの音声が入力される度に「０」を出力し、終端のフレームが入力された場合に「１」を出力するように、モデルの学習を行う。
【００３０】
このような学習が行われた場合、モデルは、「ヤフー」という単語が入力されただけでは、キーワードを検出した旨（すなわち、「１」）を出力せず、「ねえ＿ヤフー」という音声の各フレームが出現順に入力された場合に、キーワードを検出した旨を出力することとなる。また、このようなモデルは、「おい＿ヤフー」や「ねえ＿やすこ」といったキーワードの一部と類似する音声が入力された場合や、「ヤフー＿ねえ」といったキーワードと音の出現順序が異なる音声が入力されただけでは、キーワードを検出した旨を出力せず、キーワード全体と類似する音声の各フレームが、キーワードと同じ順序で入力された場合にのみ、キーワードの終端を検出することとなる。
【００３１】
一方、キーワードの終端のフレームに含まれる音声の特徴のみをモデルに学習させた場合、単に「ヤフー」や「フー」という音声が入力されただけで、キーワードを検出したとモデルが誤判定する恐れがある。そこで、情報提供装置１０は、キーワード全体の特徴からキーワードの終端を検出するようにモデルに学習を行うことで、複数の単語や無音の区間を含むキーワードの終端を適切に検出可能なモデルを学習することができる。
【００３２】
また、情報提供装置１０は、キーワードの終端を検出するモデルに対し、キーワードの始端から検出した終端までの期間の特徴を学習させる。このような学習が行われたモデル（以下、「学習モデル」と記載する。）に対し、実際に測定された音声データの各フレームを時系列順に入力した場合、学習モデルは、入力されたフレームにキーワードの終端が含まれているか否か（若しくは、キーワードの終端の近傍であるか否か）を出力するとともに、入力されたフレームのクラスを示す情報、すなわち、キーワードの始端から入力されたフレームまでどれくらいの期間が経過したかを示す期間情報を出力する。
【００３３】
ここで、学習モデルが終端であると判定したフレームから、そのフレームが属するクラスに応じた期間だけ遡ったフレーム若しくはそのフレームの近傍には、キーワードの始端が含まれていると推定される。この結果、情報提供装置１０は、キーワード区間を精度よく抽出可能な学習モデルの学習を実現することができる。
【００３４】
また、上述した学習処理により学習が行われた学習モデルは、時系列順に入力されたキーワードの各フレームの特徴に基づいて、キーワードの終端を推定する。このため、学習モデルは、キーワードに複数の単語が含まれる場合や無音の区間が含まれる場合であっても、キーワードの終端を適切に推定することができる。
【００３５】
なお、上述した説明では、情報提供装置１０は、キーワード全体の特徴と、キーワードの始端から経過した期間とをモデルに学習させたが、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、すくなくとも、キーワードの終端付近の特徴と、キーワードの始端から経過した期間とをモデルに学習させればよい。このような学習が行われた場合、モデルは、キーワードの終端と類似する音声が入力された場合に、キーワードの終端を検出した旨を出力するとともに、キーワードの始端から検出した終端までの期間を示す情報を出力することとなる。このような出力からも、終端と検出されたフレームから、モデルが検出した期間だけ遡ることで、キーワード若しくは一部がキーワードと類似する音声が含まれる区間を検出することができる。このような区間の検出を行い、実際にキーワードが含まれるか否かについては、他のモデル等を用いて判定を行ってもよい。
【００３６】
〔１−３．検出処理について〕
一方、端末装置１００は、情報提供装置１０により学習が行われた学習モデルを用いて、利用者の発話からキーワード区間を検出する。例えば、端末装置１００は、マイク等を用いて、利用者の発話を含む音声情報を取得する。そして、端末装置１００は、検出対象となる対象音声の終端と、対象音声の始端から経過した期間とを学習させたモデル、すなわち、情報提供装置１０により学習が行われた学習モデルを用いて、取得された音声情報から、対象音声の始端を検出する。
【００３７】
例えば、端末装置１００は、マイク等を用いて取得した音声情報を複数のフレームに分割し、時系列順に各フレームを学習モデルに入力する。上述した学習処理により学習が行われた学習モデルにフレームを入力した場合、学習モデルは、入力されたフレームに終端が含まれているか否かを示す情報（例えば、終端が含まれているか否かを示す確度や、終端が含まれているか否かを示す２値の情報）を出力するとともに、入力されたフレームに含まれる音声がキーワードの始端からどれくらい経過した際の音声であるかを示す情報、すなわち、始端からの経過時間に応じたクラスを示す情報を出力する。例えば、学習モデルは、入力されたフレームが各クラスに属する事後確率（すなわち、各クラスに属する確度）を出力することとなる。すなわち、学習モデルは、フレームに終端が含まれているか否かのクラス分類（以下、「終端クラス分類」と記載する場合がある。）を行うとともに、始端からの経過時間に応じたクラス分類（以下、「経過クラス分類」と記載する場合がある。）とを同時に行うこととなる。
【００３８】
このような学習モデルを用いて、端末装置１００は、入力されたフレームに終端が含まれているか否かを特定するとともに、入力されたフレームに含まれる音声が始端からどれくらい経過した音声であるかを特定する。例えば、端末装置１００は、学習モデルによる終端クラス分類の結果に基づいて、あるフレームにキーワードの終端が含まれている旨を特定した場合は、そのフレームの経過クラス分類の結果を特定する。そして、端末装置１００は、特定したクラスに応じた期間だけ遡ったフレームにキーワードの始端が含まれていると推定し、キーワードの始端が含まれているフレームから、キーワードの終端が含まれているフレームまでをキーワード区間として抽出する。このような処理の結果、端末装置１００は、キーワード区間を精度良く検出することができる。
【００３９】
〔１−４．処理の一例〕
続いて、図１を用いて、情報提供装置１０が実行する学習処理の一例、および、端末装置１００が実行する検出処理の一例について説明する。例えば、情報提供装置１０は、データサーバＤＳからモデルの学習に用いる学習データを取得する（ステップＳ１）。そして、情報提供装置１０は、キーワードの終端と始端から各区間までの経過時間とをモデルに学習させる（ステップＳ２）。
【００４０】
例えば、情報提供装置１０は、学習データとして、キーワードの発話音声を含む音声データと、音声データの各区間にキーワードの終端が含まれるか否かを示す終端ラベルと、各区間が属するクラスを含むクラスラベルとを含む学習データＬＤ１を取得する。なお、キーワードに複数の単語が含まれる場合や、無音の区間が含まれる場合は、複数の単語を発声した音声、又は、無音の区間を含む音声を対象音声として含む音声データを学習データとして取得することとなる。
【００４１】
例えば、図１に示す例では、学習データＬＤ１は、始端Ｓ１と終端Ｅ１とを有するキーワードを含む音声データを有する。また、学習データＬＤ１において、音声データは、区間「１」〜「２３」に分割されている。また、学習データＬＤ１は、各区間ごとに、キーワードの終端Ｅ１が含まれているか否かを示す終端ラベルが付与されている。例えば、学習データＬＤ１の各区間「１」〜「２３」には、終端Ｅ１が含まれていない旨を示す値「０」、若しくは、終端Ｅ１が含まれている旨を示す値「１」が付与されている。
【００４２】
また、学習データＬＤ１は、各区間ごとに、始端Ｓ１から経過した期間に応じたクラスを示すクラスラベルが付与されている。例えば、図１に示す例では、始端Ｓ１が区間「３」に含まれている。このような場合、学習データＬＤ１の区間「１」、「２」には、クラスラベル「０」が付与されており、区間「３」〜「２１」には、順にクラスラベル「１」〜「１９」が付与されている。
【００４３】
ここで、学習データＬＤ１において、終端が含まれる区間よりも後の区間には、クラスラベル「０」が付与されている。例えば、学習データの区間「２１」には、キーワードの終端が含まれているため、終端ラベル「１」が付与されており、区間「２１」よりも後の区間「２２」、「２３」には、クラスラベル「０」が付与されている。
【００４４】
なお、キーワードが平均して２０区間程度で発話される場合、クラスレベルの最大値を２０としてもよい。また、図１に示す例では、キーワードの終端が含まれる区間よりも後の区間に対し、クラスラベル「０」を付与したが、実施形態は、これに限定されるものではない。例えば、終端が含まれる区間よりも後の区間に対しても、連続する一連のクラスラベルが付与されてもよく、クラスラベルの最大値を超えた区間については、前の区間と同一のクラスラベルが付与されてもよい。例えば、区間「２２」、「２３」には、クラスラベル「２０」、「２１」が付与されてもよく、同一のクラスラベル「２０」が付与されてもよい。
【００４５】
なお、図１に示す学習データＬＤ１は、２３個の区間に分割されているが、実施形態は、これに限定されるものではない。図１に示す学習データＬＤ１は、発明の理解を容易にするために模式的に示したものであり、実際には、より多くの区間に分割されることとなる。具体的な例を挙げると、音声データを処理する際のフレームが２０ミリ秒であり、学習データＬＤ１に含まれる音声データが３秒のデータである場合、音声データは、１５０個のフレームに分割されることとなる。
【００４６】
図１に示す学習データＬＤ１の各区間は、１つのフレームに対応するものであってもよく、複数のフレームに対応してもよい。また、終端ラベルやクラスラベルは、任意の単位で各区間に付与されていてよい。例えば、終端ラベルは、各フレームごとに付与され、クラスラベルは、複数のフレームごとに付与されるものであってもよい。また、クラスラベルは、キーワード区間と対応する各フレームに対し、フレームごとに異なる値が付与されていてもよい。
【００４７】
まず、情報提供装置１０は、ＬＳＴＭの構造を有するモデルＭを準備する。そして、情報提供装置１０は、学習データＬＤ１に含まれる音声データの各フレームを時系列順にモデルに入力した際に、入力されたフレームに付与された終端ラベルとクラスラベルとを出力するように、モデルＭの学習を行う。なお、このような学習は、例えば、バックプロパゲーションや確率的勾配降下法等、ＬＳＴＭの学習を実現する任意の学習手法が採用可能である。
【００４８】
例えば、情報提供装置１０は、区間「３」に含まれるフレームをモデルＭに入力した場合は、モデルＭが終端ラベル「０」とクラスラベル「１」とを出力するように、モデルＭの学習を行う。同様に、情報提供装置１０は、各フレームを時系列順にモデルＭに入力し、各フレームと対応する終端ラベルとクラスラベルとを出力するように、モデルＭの学習を行う。なお、情報提供装置１０は、適切な学習を行うため、例えば、終端ラベルが「０」となるフレーム等、一部の学習データをランダムな順序で入力してもよい。
【００４９】
このように、情報提供装置１０は、所定の区間に含まれる音声を前記モデルに入力した際に、その所定の区間に対象音声の終端が含まれているか否かを示す終端情報と、対象音声の始端からその所定の区間までの期間を示す期間情報とを出力するように、モデルＭの学習を行う。また、情報提供装置１０は、音声情報を複数の区間に分割し、所定の区間に含まれる音声を入力した際に、対象音声の始端から所定の区間までの期間に応じた分類結果を出力するよう、モデルの学習を行う。
【００５０】
なお、情報提供装置１０は、学習データＬＤ１のみならず、複数の学習データを用いて、モデルＭの学習を行う。ここで、情報提供装置１０は、モデルＭによる処理精度を向上させるため、様々な利用者により発話されたキーワードを含む学習データを用いてよい。また、情報提供装置１０は、テレビジョンから発せられた音声や他の利用者の発話、ホワイトノイズ等の各種雑音を付加した音声データを含む学習データを用いて、モデルＭの学習を行ってよい。
【００５１】
そして、情報提供装置１０は、学習が行われた学習モデルＭを端末装置１００に提供する（ステップＳ３）。このような場合、端末装置１００は、利用者の発話を受付ける（ステップＳ４）。例えば、端末装置１００は、利用者が順に発話したキーワードおよび処理発話の音声をマイクを用いて取得する。そして、端末装置１００は、学習モデルＭを用いて、取得した音声からキーワードの終端を推定し、学習モデルＭにより推定されたキーワードの終端までの経過期間に基づいて、キーワード区間の始端を推定する（ステップＳ５）。
【００５２】
例えば、端末装置１００は、利用者から取得した音声（以下、「発話音声」と記載する）を複数の区間に分割し、各区間の音声を時系列順に学習モデルＭに入力する。そして、端末装置１００は、各区間ごとに、学習モデルＭが出力した終端ラベルとクラスラベルとを取得する。そして、端末装置１００は、区間「１９」の音声を入力した際に、学習モデルＭ１が終端ラベル「１」を出力した場合は、キーワード区間の終端が区間「１９」であると推定する。また、端末装置１００は、区間「１９」の音声を入力した際に、学習モデルＭ１がクラスラベル「１５」を出力した場合は、区間「１９」から「１５」クラス分前の区間、すなわち、区間「４」にキーワードの始端が含まれていると推定する。そして、端末装置１００は、区間「４」から区間「１９」までの間がキーワード区間であると推定する。
【００５３】
続いて、端末装置１００は、推定したキーワード区間に含まれる音声を用いて、所定の処理を実行する（ステップＳ６）。例えば、端末装置１００は、キーワード区間に含まれる音声の解析を行い、キーワードが発話されたか否かを判定してもよく、ビームフォーミング等を実行し、後続する処理発話の強調等を行ってもよい。また、端末装置１００は、単に、キーワード区間に後続する処理発話の解析を行い、解析結果と対応する処理を実行してもよい。そして、端末装置１００は、処理結果を利用者に対して提供する（ステップＳ７）。
【００５４】
このように、端末装置１００は、学習対象となった音声情報である学習情報に含まれる各区間ごとに、対象音声の終端が含まれているか否かと、対象音声の始端から処理対象の区間までの期間とを学習させたモデルを用いて、発話音声から対象音声の始端を含む区間を検出する。例えば、端末装置１００は、再帰型ニューラルネットワークの構成を有する学習モデルＭに対し、発話音声の各区間に含まれる音声を先頭から順に入力し、学習モデルＭが出力した終端情報と期間情報とに基づいて、対象音声の始端を含む区間を検出する。
【００５５】
すなわち、端末装置１００は、所定の区間に含まれる音声が入力された場合にその所定の区間に対象音声の終端が含まれているか否かを示す終端情報と、対象音声の始端からその所定の区間までの期間を示す期間情報とを出力するように学習が行われた学習モデルＭを用いて、発話音声から対象音声の始端を含む区間を検出する。また、端末装置１００は、発話音声を複数の区間に分割し、分割した区間のうち、音声を入力した際に対象音声の終端が含まれている旨を示す終端情報を学習モデルＭが出力した区間を特定し、特定した区間について学習モデルＭが出力した期間情報に基づいて、対象音声の始端が含まれる区間を検出する。
【００５６】
このような処理の結果、端末装置１００は、１つの学習モデルＭにより、キーワードの検出に加えて、キーワード区間を適切に推定することができる。また、端末装置１００は、ＬＳＴＭにより構成される学習モデルＭを用いて、キーワードの終端を推定し、推定したキーワードの終端から遡ってキーワードの始端を推定する。ここで、ＬＳＴＭ等の再帰型ニューラルネットワークにおいては、それまでに入力されたデータの特徴を考慮して、新たに入力されたデータが所定の条件を満たすか否かを判定することができる。このため、端末装置１００は、キーワード全体の発話を待って、キーワード区間の検出を行うことができるので、キーワード区間を精度よく検出することができる。
【００５７】
また、キーワードの終端を検出するタスクとともに、キーワードの始端から各区間までの経過期間とを推定するタスクとのマルチタスク学習を行わせた場合、音声が有する特徴のうち各タスクを実現するための特徴をモデルが多角的に学習することとなる。このような処理の結果、学習モデルＭにおいては、キーワードの終端を検出するタスクのみを学習させたモデルよりも、キーワードの終端をより精度よく検出することができる。
【００５８】
〔１−５．モデルについて〕
上述した説明では、情報提供装置１０は、ＬＳＴＭの構造を有するモデルを学習モデルＭとした。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、ＢｉｄｉｒｅｃｔｉｏｎａｌＬＳＴＭ等、ＬＳＴＭから派生した各種のニューラルネットワークであってもよく、各種ＲＮＮであってもよい。また、情報提供装置１０は、入力された音声の区間にキーワードの終端が含まれているか否かと、キーワードの始端から入力された音声の区間までの期間とを同時に学習させるのであれば、ＳＶＭ（Support  Vector  Machine）やＤＮＮ（Deep  Neural  Network）、ＣＮＮ（Convolutional  Neural  Network）等といった任意の構成を有するモデルを採用してよい。
【００５９】
また、情報提供装置１０は、複数のモデルを用いて、学習を行ってもよい。例えば、情報提供装置１０は、キーワードの終端を検出するように第１モデルの学習を行うとともに、キーワードの始端から各区間までの経過期間を第２モデルに学習させる。そして、端末装置１００は、このような第１モデルと第２モデルとに対して、個別に発話音声の各区間を入力し、第１モデルが終端であると判定した区間から、第２モデルが出力した経過期間分だけ遡った区間を、キーワードの始端を含む区間としてもよい。
【００６０】
〔１−６．区間について〕
上述した例では、情報提供装置１０は、学習データを複数の区間に分割し、区間ごとに終端ラベルの値とクラスラベルの値とをモデルに学習させた。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、学習データを所定長のフレームに分割し、フレームごとに終端ラベルの値を学習させるとともに、複数のフレームを含む区間ごとにクラスラベルの値を学習させてもよい。すなわち、情報提供装置１０は、キーワードの終端についてはフレームごとの学習を行い、経過期間については、複数のフレームごとの学習を行ってもよい。また、入力されたフレームをいくつのクラスに分類するかについては、任意の態様が採用可能である。
【００６１】
〔１−７．学習処理について〕
上述した例では、キーワードの終端について「１」若しくは「０」といった２値の値を出力するようにモデルの学習を行い、経過期間（すなわち、クラス）について「１」〜「２０」といった整数値を出力するようにモデルの学習を行う例について記載した。
【００６２】
ここで、実際には、情報提供装置１０は、入力されたフレームにキーワードの終端が含まれている確度を出力するようにモデルの学習を行う。このような場合、端末装置１００は、あるフレームを学習モデルＭに入力した際に、学習モデルＭが出力した確度が所定の閾値を超える場合は、そのフレームにキーワードの終端が含まれていると推定してもよい。
【００６３】
また、情報提供装置１０は、入力されたフレームが各クラスに属する確度をそれぞれ出力するようにモデルの学習を行う。このような場合、端末装置１００は、あるフレームを学習モデルＭに入力した際に、学習モデルＭが出力した確度が所定の閾値を超えるクラスを、入力したフレームが属するクラスと判定してもよい。換言すると、端末装置１００は、各経過期間のうち、学習モデルＭ１が出力した確度が所定の閾値を超える経過期間を特定し、入力されたフレームが、キーワードの始端から特定した経過期間だけ後のフレームであると推定してもよい。
【００６４】
なお、入力されたフレームが、終端クラス分類や経過クラス分類の各クラスごとに確度を出力するように学習モデルの学習を行う場合、所定の閾値を超えるクラスが複数存在する事象が生じうる。そこで、情報提供装置１０は、各クラスの確度の最大値を特定し、確度が最も高いクラスを採用することとしてもよい。すなわち、情報提供装置１０は、各クラスの確度に関してａｒｇｍａｘを取ることによってクラスの決定を行ってもよい。また、情報提供装置１０は、このようなａｒｇｍａｘの処理を行う出力層を備えたモデルの学習を行ってもよい。また、情報提供装置１０は、確度が所定の閾値を超えたクラスのうち、確度が最大となるクラスにフレームの分類を行うように、学習モデルの学習を行ってもよい。
【００６５】
なお、情報提供装置１０は、経過期間に関しては、回帰問題で解いてもよい。例えば、情報提供装置１０は、経過時間のクラス分類ではなく、始端から経過したと推定される期間を示す数値そのものを出力するように、モデルの学習を行ってもよい。例えば、情報提供装置１０は、クラスラベルに代えて、キーワードの始端から各フレームまでの経過時間を含む学習データの特徴をモデルに学習させてもよい。
【００６６】
〔１−７．適用対象について〕
上述した例では、情報提供装置１０は、起動音声となるキーワードの検出を行うモデルの学習を行った。しかしながら、実施形態は、これに限定されるものではない。情報提供装置１０は、検出目的となる音声であれば、任意の音声の検出を行うモデルの学習を行ってよい。すなわち、情報提供装置１０は、各種の音声データの中から、所定の機械音、環境音、ノイズ等、検出目的となる音を含む区間を検出するため、検出目的となる音の終端と、検出目的となる音の始端から経過した期間とをモデルに学習させるのであれば、任意の音を検出目的として良い。
【００６７】
〔１−８．実行主体について〕
上述した例では、情報提供装置１０により学習処理が行われ、端末装置１００により検出処理が実行された。しかしながら、実施形態は、これに限定されるものではない。例えば、学習処理および検出処理は、情報提供装置１０により実行されてもよい。このような場合、情報提供装置１０は、端末装置１００が取得した発話音声を受付け、学習モデルＭを用いて、受付けた発話音声からキーワード区間を検出することとなる。また、上述した学習処理および検出処理は、端末装置１００によって実現されてもよい。
【００６８】
〔２．機能構成の一例〕
以下、上記した学習処理を実現する情報提供装置１０が有する機能構成の一例、および、上述した検出処理を実現する端末装置１００が有する機能構成の一例について説明する。
【００６９】
〔２−１．情報提供装置の機能構成の一例について〕
まず、図２を用いて、情報提供装置１０が有する機能構成の一例を説明する。図２は、実施形態に係る情報提供装置の構成例を示す図である。図２に示すように、情報提供装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００７０】
通信部２０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部２０は、ネットワークＮと有線または無線で接続され、例えば、端末装置１００、データサーバＤＳおよび外部サーバＯＳとの間で情報の送受信を行う。
【００７１】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部３０は、学習データデータベース３１およびモデルデータベース３２を記憶する。
【００７２】
学習データデータベース３１は、学習データが登録される。例えば、図３は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。図３に示すように、学習データデータベース３１には、「学習データＩＤ（Identifier）」、「区間」、「音声データ」、「終端タグ」、および「クラスラベル」といった項目を有する情報が登録される。なお、図３に示す例では、「区間」ごとに音声データ、終端タグ、およびクラスラベルが格納される例について記載したが、実際には、フレームごとに音声データ、終端タグ、およびクラスラベルが格納されていてもよい。
【００７３】
ここで、「学習データＩＤ」とは、学習データの識別子である。また、「区間」とは、学習データとなる音声データを分割した各区間を識別するための情報であり、例えば、区間に付与された一連の番号である。また、「音声データ」とは、対応付けられた「区間」が示す区間に含まれる音声データ、すなわち音響信号である。また、「終端タグ」とは、対応付けられた「区間」にキーワードの終端が含まれているか否かを示す情報である。また、「クラスラベル」は、対応付けられた「区間」に含まれる音声が、キーワードの始端からどれくらい経過した際の音声であるかを示す区間情報であり、対応付けられた「区間」が属するクラスを示す情報である。
【００７４】
例えば、図３に示す例では、学習データデータベース３１には学習データＩＤ「ＬＤ１」、区間「１」、音声データ「ＳＤ１」、終端タグ「０」、およびクラスラベル「０」が対応付けて登録されている。このような情報は、学習データＩＤ「ＬＤ１」が示す学習データのうち、区間「１」に含まれるの音声データとして音声データ「ＳＤ１」が登録されており、区間「１」における終端タグの値が「０」であり、クラスラベルの値が「０」である旨を示す。
【００７５】
なお、図３に示す例では、「ＳＤ１」といった概念的な値を記載したが、実際には、学習データデータベース３１には、音声データとして各フレームの音声の音量や周波数分布等を示す情報が登録されることとなる。また、学習データデータベース３１には、「区間」に代えて、フレーム番号等が登録されていてもよい。また、図３に示す情報以外にも、学習データデータベース３１には、任意の情報が登録されていてよい。
【００７６】
図２に戻り、説明を続ける。モデルデータベース３２には、学習モデルが登録される。すなわち、モデルデータベース３２には、検出対象となる対象音声の終端と、対象音声の始端から経過した期間とを学習させた学習モデルＭのデータが登録される。例えば、モデルデータベース３２には、学習モデルＭ１のデータとして、それぞれが１つ又は複数のノードを含む多段の層を構成するノードの情報と、各ノード間の接続関係を示す情報と、ノード間で情報を伝達する際の重みである接続係数とが登録される。
【００７７】
ここで、学習モデルＭ１は、学習データである音響信号が入力される入力層を有する。また、学習モデルＭ１は、入力された音響信号に対象音声の終端が含まれているか否かを示す終端情報と、入力された音響信号が対象音声の始端からどれくらい経過した際の音響信号であるのかを示す期間情報、すなわち、入力された音響信号の分類先となるクラスを示す情報とを出力する出力層を有する。
【００７８】
また、学習モデルＭ１は、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、入力層に入力された情報と対応する情報を出力層から出力するようコンピュータを機能させる。
【００７９】
このような学習モデルＭ１は、例えば、学習時および測定時において、入力層に音声データが入力された場合に、出力層から、終端情報と期間情報とを出力するようコンピュータを機能させる。そして、情報提供装置１０は、学習時においては、学習モデルＭ１が出力する終端情報と期間情報とが、入力された音声データと対応する終端情報と期間情報とを示すように、学習モデルＭ１の接続係数を修正する。
【００８０】
ここで、学習モデルＭ１がＳＶＭや回帰モデルで実現される場合、学習モデルＭ１は、入力層と出力層とを有する単純パーセプトロンと見做すことができる。学習モデルＭ１を単純パーセプトロンと見做した場合、第１要素は、入力層が有するいずれかのノードに対応し、第２要素は、出力層が有するノードと見做すことができる。また、学習モデルＭ１をＤＮＮ等、１つまたは複数の中間層を有するニューラルネットワークで実現される場合、各モデルが含む第１要素とは、入力層または中間層が有するいずれかのノードと見做すことができ、第２要素とは、第１要素と対応するノードから値が伝達されるノード、すなわち、次段のノードと対応し、第１要素の重みとは、第１要素と対応するノードから第２要素と対応するノードに伝達される値に対して考慮される重み、すなわち、接続係数である。
【００８１】
ここで、情報提供装置１０は、学習データデータベース３１に登録される学習データを用いて、上述した検出処理を実行するための学習モデルＭ１を生成する。すなわち、学習データデータベース３１に登録される学習データは、音響信号が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力された音響信号に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と、第１要素の重みであって、対象音声の特徴と、対象音声の始端から対象音声の各区間までの期間との特徴を反映させた重みに基づく演算を行うことにより、終端情報と期間情報とを出力層から出力するよう、コンピュータを機能させるためのデータである。
【００８２】
制御部４０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、情報提供装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部４０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００８３】
図２に示すように、制御部４０は、データ取得部４１、学習部４２、および提供部４３を有する。データ取得部４１は、検出対象となる対象音声が含まれる音声情報を取得する。例えば、データ取得部４１は、データサーバＤＳから学習データとして、複数の区間に分割された音声データと、各区間に含まれる音声に対象音声の終端が含まれているか否かを示す終端タグと、対象音声の始端から各区間に含まれる音声までの期間を示す期間情報、すなわちクラスデータとを対応付けた情報を取得する。そして、データ取得部４１は、取得した学習データを学習データデータベース３１に登録する。
【００８４】
なお、データ取得部４１は、端末装置１００に所定の動作を実行させるための音声、すなわち、起動音声であるキーワードを対象音声として含む音声情報を取得してもよい。また、データ取得部４１は、複数の単語を発声した音声、又は、無音の区間を含む音声を対象音声として含む音声情報を取得してもよい。このように、どのような音声を対象音声とするかについては、任意の設定が可能であるが、設定された対象音声を適切に検出するため、データ取得部４１は、検出対象となる音声と特徴が類似する音声を学習データとして取得するのが望ましい。
【００８５】
学習部４２は、対象音声の終端と、対象音声の始端から経過した期間とをモデルに学習させる。例えば、学習部４２は、対象音声全体の特徴に基づいて、キーワードの終端を検出するモデルを学習する。より具体的な例を挙げると、学習部４２は、キーワードの各区間が有する特徴の出現順序に基づいて、キーワードの終端を含む区間を検出するようにモデルの学習を行う。
【００８６】
例えば、学習部４２は、音声情報を複数の区間に分割し、各区間ごとに、対象音声の終端が含まれているか否かと、対象音声の始端から当該区間までの期間とをモデルに学習させる。より具体的な例を挙げると、学習部４２は、所定の区間に含まれる音声をモデルに入力した際に、所定の区間に対象音声の終端が含まれているか否かを示す終端情報と、対象音声の始端から所定の区間までの期間を示す期間情報とを出力するように、モデルの学習を行う。すなわち、学習部４２は、音声情報を複数の区間に分割し、所定の区間に含まれる音声を入力した際に、対象音声の始端から所定の区間までの期間に応じた分類結果を出力するよう、モデルの学習を行えばよい。
【００８７】
なお、通常のＤＮＮ等を用いた場合、対象音声が有する特徴のうち、終端の周辺のみの特徴に基づいて対象音声の終端を検出するといった現象が考えられる。このような検出を行った場合は、対象音声の終端と特徴が類似する音声を対象音声の終端として検出してしまう恐れがある。そこで、学習部４２は、対象音声全体の特徴に基づいて対象音声の終端を検出させるため、再帰型ニューラルネットワークの構成を有するモデルに対し、対象音声の終端と、対象音声の始端から経過した期間とを学習させればよい。
【００８８】
例えば、学習部４２は、ＬＳＴＭの構成を有するモデルを生成すると共に、学習データデータベース３１から処理対象となる学習データを１つ読み出す。続いて、学習部４２は、読み出した学習データの各区分について、時系列順（すなわち、区間の番号が若い順に）以下の処理を実行する。まず、学習部４２は、処理対象となる区間の音声データをモデルに入力する。例えば、学習部４２は、音声データが示す音声の周波数や振幅等を入力してもよく、音声が有する特徴をモデルに入力してもよい。そして、学習部４２は、音声が入力されたモデルの出力が、処理対象となる区間の終端タグとクラスラベルとを示すように、モデルが有する接続係数の修正を行う。
【００８９】
以下、音声データ「ＳＤ１０」に終端タグ「１」とクラスラベル「１８」とが対応付けて登録されている例について説明する。例えば、学習部４２は、音声データ「ＳＤ１０」をモデルに入力する。このような場合、学習部４２は、モデルが有する出力層の各ノードのうち、終端情報を出力するためのノードから、所定の閾値以上の確度を示す値（すなわち、終端タグ「１」に対応する値）が出力され、かつ、モデルが有する出力層の各ノードのうち、クラスラベル「１８」と対応するノードから、所定の閾値以上の確度を示す値が出力されるように、モデルの接続係数を修正する。また、学習部４２は、他の学習データについても同様の処理を行う。そして、学習部４２は、モデルを学習モデルＭとしてモデルデータベース３２に登録する。
【００９０】
提供部４３は、学習モデルを端末装置１００に提供する。例えば、提供部４３は、端末装置１００からの要求に基づき、モデルデータベース３２から学習モデルＭを読出し、読み出した学習モデルＭを端末装置１００に送信する。
【００９１】
〔２−２．端末装置の機能構成の一例について〕
続いて、図４を用いて、端末装置１００が有する機能構成の一例を説明する。図４は、実施形態に係る端末装置の構成例を示す図である。図４に示すように、端末装置１００は、通信部１２０、記憶部１３０、制御部１４０、マイクＭＣおよびスピーカーＳＰを有する。
【００９２】
通信部１２０は、例えば、ＮＩＣ等によって実現される。そして、通信部１２０は、ネットワークＮと有線または無線で接続され、例えば、情報提供装置１０、データサーバＤＳおよび外部サーバＯＳとの間で情報の送受信を行う。
【００９３】
記憶部１３０は、例えば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部１３０は、情報提供装置１０から配信される学習モデルＭを記憶する。
【００９４】
マイクＭＣは、利用者が発話した音声、すなわち発話音声等、端末装置１００の周囲から発せられた音声を受付けるマイク、すなわち、入力装置である。また、スピーカーＳＰは、各種の音声を出力するためのスピーカー、すなわち、出力装置である。なお、端末装置１００は、複数のマイクＭＣを有していてもよく、複数のスピーカーＳＰを有していてもよい。
【００９５】
制御部１４０は、コントローラであり、例えば、ＣＰＵ、ＭＰＵ等のプロセッサによって、端末装置１００内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部１４０は、コントローラであり、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されてもよい。
【００９６】
また、制御部１４０は、音声取得部１４１、検出部１４２、および処理部１４３を有する。音声取得部１４１は、音声情報を取得する。例えば、音声取得部１４１は、マイクＭＣを介して、利用者の発話音声等を音声情報として取得する。
【００９７】
検出部１４２は、検出対象となる対象音声の終端と、対象音声の始端から経過した期間とを学習させたモデルを用いて、音声取得部１４１により取得された音声情報から、対象音声の始端を検出する。例えば、検出部１４２は、記憶部１３０に登録された学習モデルＭを読み出す。そして、検出部４２は、音声取得部１４１により取得された音声情報を、区分ごとに、取得された時系列に沿って順次学習モデルＭに入力する。そして、検出部４２は、学習モデルＭの出力に基づいて、対象音声の終端と始端とを検出し、検出した始端から終端までの範囲をキーワード区間として特定する。
【００９８】
例えば、検出部１４２は、音声取得部１４１により取得された音声情報を複数の区間に分割し、分割した区間のうち、区間に含まれる音声を入力した際に、対象音声の終端が含まれている旨を示す終端情報を学習モデルＭが出力した区間を特定する。続いて、検出部１４２は、特定した区間について学習モデルＭ１が出力した期間情報に基づいて、対象音声の始端が含まれる区間を検出する。そして、検出部１４２は、検出した始端から終端までをキーワード区間として処理部１４３に通知する。
【００９９】
すなわち、検出部１４２は、学習対象となった音声情報である学習情報に含まれる各区間ごとに、対象音声の終端が含まれているか否かと、対象音声の始端から区間までの期間とを学習させたモデルを用いて、対象音声の始端を含む区間を検出する。また、検出部１４２は、所定の区間に含まれる音声が入力された場合に所定の区間に前記対象音声の終端が含まれているか否かを示す終端情報と、対象音声の始端から所定の区間までの期間を示す期間情報とを出力するように学習が行われたモデルを用いて、対象音声の始端を含む区間を検出する。また、検出部１４２は、再帰型ニューラルネットワークの構成を有するモデルに対し、音声情報の各区間に含まれる音声を先頭から順に入力し、モデルが出力した終端情報と期間情報とに基づいて、対象音声の始端を含む区間を検出する。
【０１００】
例えば、図５は、実施形態に係るモデルが出力する情報の一例を示す図である。図５に示す例では、キーワードの発話を含む音声を７２個の区間に分割し、各区間の音声を時系列順に入力した際に学習モデルＭが出力する情報の一例について示した。また、図５に示す例では、学習モデルＭは、出力層に「０」から「１６」までの番号が付与された１７個のノードを有し、各ノード毎に、０以上１以下の値、すなわち確度を出力するように構成されているものとする。また、図５に示す例では、各ノードが出力した値が所定の第１閾値未満となる区間を白色で示し、第１閾値以上第２閾値未満となる区間を右肩上がりのハッチングで示し、第２閾値以上となる区間を右肩下がりのハッチングで示した。なお、図５に示す例では、確度が第２閾値以上となった場合、ノードが「１」を出力したと判定するものとする。
【０１０１】
例えば、図５に示す例では、ノード０は、入力された音声がキーワードの終端でない場合は「１」に近い値を出力し、入力された音声がキーワードの終端である場合は、「０」に近い値を出力するよう学習が行われたノードである。また、ノード１は、入力された音声がキーワードの終端でない場合は「０」に近い値を出力し、入力された音声がキーワードの終端である場合は、「１」に近い値を出力するよう学習が行われたノードである。また、ノード２は、入力された音声がキーワード区間である場合は「０」に近い値を出力し、入力された音声がキーワード区間でない場合は、「１」に近い値を出力するよう学習が行われたノードである。
【０１０２】
また、図５に示す例では、ノード４〜ノード１６は、それぞれ異なるクラスに対応するノードであり、期間情報を出力するよう学習が行われたノードである。例えば、ノード４は、入力された音声がキーワードの始端から３区間以内の音声である場合は「１」を出力し、それ以外の場合は「０」を出力するように学習が行われたノードである。また、ノード５は、入力された音声がキーワードの始端から３区間以上が経過し、かつ、６区間以内の範囲に含まれる音声である場合は「１」を出力し、それ以外の場合は「０」を出力するように学習が行われたノードである。また、ノード６は、入力された音声がキーワードの始端から６区間以上が経過し、かつ、９区間以内の範囲に含まれる音声である場合は「１」を出力し、それ以外の場合は「０」を出力するように学習が行われたノードである。また、他のノードも同様に、音声がキーワードの始端からそれぞれ異なる区間の音声である場合に「１」を出力するように学習が行われたノードである。なお、学習モデルＭは、図５に示すノード以外にも、さらに多くのクラスに対応するノードを有していてもよい。
【０１０３】
このような学習モデルＭに対して取得した音声を時系列順に入力した場合、各ノード０〜１６は、図５に示すような値を出力する。例えば、図５に示す例ではノード１が、区間「４９」において、キーワード区間の終端を検知した結果「１」に近い値を出力している。そこで、検出部１４２は、ノード１が第２閾値を超える値を出力した区間「４９」において、キーワードの終端が検出されたと推定する。
【０１０４】
続いて、検出部１４２は、ノード４〜ノード１６の出力を参照し、区間「４９」に含まれる音声が属するクラスを特定する。図５に示す例では、区間「４９」において、ノード１３が値を出力し始めている。そこで、検出部１４２は、区間「４９」に含まれる音声をノード１３と対応するクラスに分類する。ここで、ノード４に対応するクラスからノード１３に対応するクラスまでは、１０個のクラスが存在し、各クラスに３つの区間が対応付けられている。このため、検出部１４２は、キーワードの始端から区間「４９」までの期間は、３０区間が存在していると推定し、区間「４９」から３０を減算した区間「１９」に、キーワードの始端が含まれていると推定する。この結果、検出部１４２は、区間「１９」から区間「４９」までがキーワード区間である旨を検出することができる。
【０１０５】
図４に戻り、説明を続ける。処理部１４３は、検出部１４２により検出された区間に含まれる音声に応じた各種の処理を実行する。例えば、処理部１４３は、検出された区間内の音声解析を行い、解析結果に応じた各種の処理を実行する。そして、処理部１４３は、処理の実行結果を示す音声をスピーカーＳＰから出力する。
【０１０６】
〔３．情報提供装置および端末装置が実行する処理の流れについて〕
次に、図６、図７を用いて、情報提供装置１０および端末装置１００が実行する処理の流れの一例について説明する。図６は、実施形態に係る情報提供装置が実行する学習処理の流れの一例を示すフローチャートである。また、図７は、実施形態に係る端末装置が実行する検出処理の流れの一例を示すフローチャートである。
【０１０７】
まず、図６を用いて、学習処理の流れの一例を説明する。まず、情報提供装置１０は、対象音声を含む音声情報を学習データとして取得し（ステップＳ１０１）、音声情報の各区間について、対象音声の終端が含まれるか否かと、対象音声の始端からの経過時間とをモデルに学習させる（ステップＳ１０２）。そして、情報提供装置１０は、学習モデルを端末装置１００に提供し（ステップＳ１０３）、処理を終了する。
【０１０８】
続いて、図７を用いて、検出処理の流れの一例を説明する。まず、端末装置１００は、発話音声を受付けたか否かを判定し（ステップＳ２０１）、受付けていない場合は（ステップＳ２０１：Ｎｏ）、ステップＳ２０１を実行する。また、端末装置１００は、発話音声を受付けた場合は（ステップＳ２０１：Ｙｅｓ）、発話音声を学習モデルに入力し、対象音声の終端を推定する（ステップＳ２０２）。続いて、端末装置１００は、学習モデルにより推定された経過期間に基づいて、始端を推定する（ステップＳ２０３）。そして、端末装置１００は、キーワード区間を抽出し、抽出したキーワード区間に含まれる音声に応じた処理を実行し（ステップＳ２０４）、処理を終了する。
【０１０９】
〔４．変形例〕
上記では、情報提供装置１０による学習処理や検出処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置１０や端末装置１００が実行する学習処理や検出処理のバリエーションについて説明する。
【０１１０】
〔４−１．クラスに対応する区間について〕
上述した図５を用いた説明では、１つのクラスに３つの区間を対応付けた。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、１つのクラスに１つの区間を対応付けるような学習を行ってもよく、１つのクラスに１０の区間を対応付けるような学習を行ってもよい。ここで、１つの区間は、１つのフレームと対応してもよく、複数のフレームと対応していてもよい。また、情報提供装置１０は、クラスの数に上限値を設けてもよい。
【０１１１】
〔４−２．装置構成〕
記憶部３０に登録された各データベース３１、３２は、外部のストレージサーバに保持されていてもよい。また、情報提供装置１０と端末装置１００とは、上述した学習処理および検出処理を連携して実現してもよく、いずれか一方の装置が単独で実行してもよい。
【０１１２】
〔４−３．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１１３】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１１４】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１１５】
〔４−４．プログラム〕
また、上述した実施形態に係る情報提供装置１０は、例えば図８に示すような構成のコンピュータ１０００によって実現される。図８は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【０１１６】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ(Read  Only  Memory)、ＨＤＤ（Hard  Disk  Drive）、フラッシュメモリ等により実現される。
【０１１７】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（Universal  Serial  Bus）やＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）といった規格のコネクタにより実現される。また、入力ＩＦ１０７０は、マウス、キーボード、およびスキャナ等といった各種の入力装置１０２０から情報を受信するためのインタフェースであり、例えば、ＵＳＢ等により実現される。
【０１１８】
なお、入力装置１０２０は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置１０２０は、ＵＳＢメモリ等の外付け記憶媒体であってもよい。
【０１１９】
ネットワークＩＦ１０８０は、ネットワークＮを介して他の機器からデータを受信して演算装置１０３０へ送り、また、ネットワークＮを介して演算装置１０３０が生成したデータを他の機器へ送信する。
【０１２０】
演算装置１０３０は、出力ＩＦ１０６０や入力ＩＦ１０７０を介して、出力装置１０１０や入力装置１０２０の制御を行う。例えば、演算装置１０３０は、入力装置１０２０や二次記憶装置１０５０からプログラムを一次記憶装置１０４０上にロードし、ロードしたプログラムを実行する。
【０１２１】
例えば、コンピュータ１０００が情報提供装置１０として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムまたはデータ（例えば、学習モデルＭ１）を実行することにより、制御部４０の機能を実現する。コンピュータ１０００の演算装置１０３０は、これらのプログラムまたはデータ（例えば、学習モデルＭ１）を一次記憶装置１０４０から読み取って実行するが、他の例として、他の装置からネットワークＮを介してこれらのプログラムを取得してもよい。
【０１２２】
〔５．効果〕
上述したように、情報提供装置１０は、検出対象となる対象音声が含まれる音声情報を取得し、対象音声の終端と、その対象音声の始端から経過した期間とをモデルに学習させる。このため、情報提供装置１０は、入力された音声情報から対象音声が含まれる区間を適切に検出可能なモデルの学習を実現する結果、対象音声が含まれる区間の検出精度を向上させることができる。
【０１２３】
また、情報提供装置１０は、音声情報を複数の区間に分割し、各区間ごとに、対象音声の終端が含まれているか否かと、対象音声の始端からその区間までの期間とをモデルに学習させる。また、情報提供装置１０は、所定の区間に含まれる音声をモデルに入力した際に、その所定の区間に対象音声の終端が含まれているか否かを示す終端情報と、対象音声の始端からその所定の区間までの期間を示す期間情報とを出力するように、モデルの学習を行う。また、情報提供装置１０は、音声情報を複数の区間に分割し、所定の区間に含まれる音声を入力した際に、対象音声の始端からその所定の区間までの期間に応じた分類結果を出力するよう、モデルの学習を行う。
【０１２４】
このように、情報提供装置１０は、対象音声の終端を検出するとともに、検出した終端から期間情報を遡って対象音声の始端の検出を可能とするモデルを学習する。この結果、情報提供装置１０は、対象音声全体の特徴を用いて、対象音声が含まれる区間の検出を実現する結果、対象音声が含まれる区間の検出精度を向上させることができる。
【０１２５】
また、情報提供装置１０は、再帰型ニューラルネットワークの構成を有するモデルに対し、対象音声の終端と、その対象音声の始端から経過した期間とを学習させる。また、情報提供装置１０は、所定の端末装置に所定の動作を実行させるための音声を対象音声として含む音声情報を取得する。また、情報提供装置１０は、複数の単語を発声した音声、又は、無音の区間を含む音声を対象音声として含む音声情報を取得する。
【０１２６】
また、情報提供装置１０は、対象音声全体の特徴に基づいて、対象音声の終端を検出するようにモデルの学習を行う。例えば、情報提供装置１０は、対象音声の各区間が有する特徴の出現順序に基づいて、対象音声の終端を含む区間を検出するようにモデルの学習を行う。上述した処理の結果、情報提供装置１０は、対象音声が含まれる区間の検出精度を向上させることができる。
【０１２７】
また、端末装置１００は、音声情報を取得する。そして、端末装置１００は、検出対象となる対象音声の終端と、その対象音声の始端から経過した期間とを学習させたモデルを用いて、取得部により取得された音声情報から、対象音声の始端を検出する。このため、端末装置１００は、対象音声が含まれる区間の検出精度を向上させることができる。
【０１２８】
また、端末装置１００は、学習対象となった音声情報である学習情報に含まれる各区間ごとに、対象音声の終端が含まれているか否かと、対象音声の始端からその区間までの期間とを学習させたモデルを用いて、音声情報から対象音声の始端を含む区間を検出する。また、端末装置１００は、所定の区間に含まれる音声が入力された場合にその所定の区間に対象音声の終端が含まれているか否かを示す終端情報と、対象音声の始端からその所定の区間までの期間を示す期間情報とを出力するように学習が行われたモデルを用いて、音声情報から対象音声の始端を含む区間を検出する。
【０１２９】
また、端末装置１００は、取得された音声情報を複数の区間に分割し、分割した区間のうち、区間に含まれる音声を入力した際に対象音声の終端が含まれている旨を示す終端情報をモデルが出力した区間を特定し、特定した区間についてモデルが出力した期間情報に基づいて、対象音声の始端が含まれる区間を検出する。また、端末装置１００は、再帰型ニューラルネットワークの構成を有するモデルに対し、音声情報の各区間に含まれる音声を先頭から順に入力し、そのモデルが出力した終端情報と期間情報とに基づいて、対象音声の始端を含む区間を検出する。このような処理の結果、端末装置１００は、対象音声全体の特徴に基づいて、対象音声が含まれる区間を検出するので、検出精度を向上させることができる。
【０１３０】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１３１】
また、上記してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、検出部は、検出手段や検出回路に読み替えることができる。
【符号の説明】
【０１３２】
１０  情報提供装置
２０  通信部
３０  記憶部
３１  学習データデータベース
３２  モデルデータベース
４０  制御部
４１  学習部
４２  取得部
４３  検出部
４４  応答生成部
４５  提供部
１００  利用者端末
【図１】
2020064253.tif 000003
【図２】
2020064253.tif 000004
【図３】
2020064253.tif 000005
【図４】
2020064253.tif 000006
【図５】
2020064253.tif 000007
【図６】
2020064253.tif 000008
【図７】
2020064253.tif 000009
【図８】
2020064253.tif 000010