(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-17
(45)【発行日】2023-01-25
(54)【発明の名称】学習装置、検出装置、学習方法、学習プログラム、検出方法、および検出プログラム
(51)【国際特許分類】
G10L 15/10 20060101AFI20230118BHJP
G10L 15/04 20130101ALI20230118BHJP
【FI】
G10L15/10 200W
G10L15/04 300Z
(21)【出願番号】P 2021089482
(22)【出願日】2021-05-27
(62)【分割の表示】P 2018197718の分割
【原出願日】2018-10-19
【審査請求日】2021-06-29
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】木田 祐介
(72)【発明者】
【氏名】前角 高史
【審査官】冨澤 直樹
(56)【参考文献】
【文献】国際公開第2008/069308(WO,A1)
【文献】特許第6892426(JP,B2)
【文献】特許第6392950(JP,B1)
【文献】特開平04-369695(JP,A)
【文献】特開平04-198997(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/10
G10L 15/04
(57)【特許請求の範囲】
【請求項1】
検出対象となる対象音声が含まれる音声情報を取得する取得部と、
前記
対象音声の始端から終端迄の期間をモデルに学習
させ、前記音声情報を複数の区間に分割し、各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを
前記モデルに学習させる
学習部と
を有することを特徴とす
る学習装置。
【請求項2】
検出対象となる対象音声が含まれる音声情報を取得する取得部と、
前記
対象音声の始端から終端迄の期間をモデルに学習
させ、前記音声情報を複数の区間に分割し、各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを前記モデルに学習させ、所定の区間に含まれる音声を前記モデルに入力した際に、当該所定の区間に前記対象音声の終端が含まれているか否かを示す終端情報と、前記対象音声の始端から当該所定の区間までの期間を示す期間情報とを出力するように、前記モデルの学習を行う
学習部と
を有することを特徴とす
る学習装置。
【請求項3】
検出対象となる対象音声が含まれる音声情報を取得する取得部と、
前記
対象音声の始端から終端迄の期間をモデルに学習
させ、前記音声情報を複数の区間に分割し、所定の区間に含まれる音声を入力した際に、前記対象音声の始端から当該所定の区間までの期間に応じた分類結果を出力するよう、前記モデルの学習を行う
学習部と
を有することを特徴とす
る学習装置。
【請求項4】
前記学習部は、再帰型ニューラルネットワークの構成を有するモデルに対し、前記対象音声の始端から終端迄の期間を学習させる
ことを特徴とする請求項1~
3のうちいずれか1つに記載の学習装置。
【請求項5】
前記取得部は、所定の端末装置に所定の動作を実行させるための音声を前記対象音声として含む音声情報を取得する
ことを特徴とする請求項1~
4のうちいずれか1つに記載の学習装置。
【請求項6】
前記取得部は、複数の単語を発声した音声、又は、無音の区間を含む音声を前記対象音声として含む音声情報を取得する
ことを特徴とする請求項1~
5のうちいずれか1つに記載の学習装置。
【請求項7】
前記学習部は、前記対象音声全体の特徴に基づいて、当該対象音声の終端を検出するように前記モデルの学習を行う
ことを特徴とする請求項1~
6のうちいずれか1つに記載の学習装置。
【請求項8】
検出対象となる対象音声が含まれる音声情報を取得する取得部と、
前記
対象音声の始端から終端迄の期間をモデルに学習
させ、前記対象音声全体の特徴に基づいて、当該対象音声の終端を検出するように前記モデルの学習を行い、前記対象音声の各区間が有する特徴の出現順序に基づいて、当該対象音声の終端を含む区間を検出するように前記モデルの学習を行う
学習部と
を有することを特徴とす
る学習装置。
【請求項9】
音声情報を取得する取得部と、
検出対象となる対象音声の始端から終端迄の期間を学習させたモデルを用いて、前記
取得部により取得された音声情報から、前記対象音声の始端を検出
し、学習対象となった音声情報である学習情報に含まれる各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを学習させた
前記モデルを用いて、前記取得部により取得された音声情報から前記対象音声の始端を含む区間を検出する
検出部と
を有することを特徴とす
る検出装置。
【請求項10】
音声情報を取得する取得部と、
検出対象となる対象音声の始端から終端迄の期間を学習させたモデルを用いて、前記
取得部により取得された音声情報から、前記対象音声の始端を検出
し、学習対象となった音声情報である学習情報に含まれる各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを学習させた前記モデルを用いて、前記取得部
により取得された音声情報から前記対象音声の始端を含む区間を検出し、所定の区間に含まれる音声が入力された場合に当該所定の区間に前記対象音声の終端が含まれているか否かを示す終端情報と、前記対象音声の始端から当該所定の区間までの期間を示す期間情報とを出力するように学習が行われた
前記モデルを用いて、前記取得部により取得された音声情報から前記対象音声の始端を含む区間を検出する
検出部と
を有することを特徴とす
る検出装置。
【請求項11】
音声情報を取得する取得部と、
検出対象となる対象音声の始端から終端迄の期間を学習させたモデルを用いて、前記
取得部により取得された音声情報から、前記対象音声の始端を検出
し、学習対象となった音声情報である学習情報に含まれる各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを学習させた前記モデルを用いて、前記取得部
により取得された音声情報から前記対象音声の始端を含む区間を検出し、所定の区間に含まれる音声が入力された場合に当該所定の区間に前記対象音声の終端が含まれているか否かを示す終端情報と、前記対象音声の始端から当該所定の区間までの期間を示す期間情報とを出力するように学習が行われた前記モデルを用いて、前記取得部により取得された音声情報から前記対象音声の始端を含む区間を検出し、前記取得部により取得された音声情報を複数の区間に分割し、分割した区間のうち、前記区間に含まれる音声を入力した際に前記対象音声の終端が含まれている旨を示す終端情報を前記モデルが出力した区間を特定し、特定した区間について前記モデルが出力した期間情報に基づいて、前記対象音声の始端が含まれる区間を検出する
検出部
を有することを特徴とす
る検出装置。
【請求項12】
前記検出部は、再帰型ニューラルネットワークの構成を有するモデルに対し、前記取得部により取得された音声情報の各区間に含まれる音声を先頭から順に入力し、当該モデルが出力した前記終端情報と前記期間情報とに基づいて、前記対象音声の始端を含む区間を検出する
ことを特徴とする請求項1
0に記載の検出装置。
【請求項13】
学習装置が実行する学習方法であって、
検出対象となる対象音声が含まれる音声情報を取得する取得工程と、
前記対象音声の始端から終端迄の期間をモデルに学習させ、前記音声情報を複数の区間に分割し、各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを前記モデルに学習させる学習工程と
を含むことを特徴とする学習方法。
【請求項14】
検出対象となる対象音声が含まれる音声情報を取得する取得手順と、
前記対象音声の始端から終端迄の期間をモデルに学習させ、前記音声情報を複数の区間に分割し、各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを前記モデルに学習させる学習手順と
をコンピュータに実行させるための学習プログラム。
【請求項15】
学習装置が実行する学習方法であって、
検出対象となる対象音声が含まれる音声情報を取得する取得工程と、
前記対象音声の始端から終端迄の期間をモデルに学習させ、前記音声情報を複数の区間に分割し、各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを前記モデルに学習させ、所定の区間に含まれる音声を前記モデルに入力した際に、当該所定の区間に前記対象音声の終端が含まれているか否かを示す終端情報と、前記対象音声の始端から当該所定の区間までの期間を示す期間情報とを出力するように、前記モデルの学習を行う学習工程と
を含むことを特徴とする学習方法。
【請求項16】
検出対象となる対象音声が含まれる音声情報を取得する取得手順と、
前記対象音声の始端から終端迄の期間をモデルに学習させ、前記音声情報を複数の区間に分割し、各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを前記モデルに学習させ、所定の区間に含まれる音声を前記モデルに入力した際に、当該所定の区間に前記対象音声の終端が含まれているか否かを示す終端情報と、前記対象音声の始端から当該所定の区間までの期間を示す期間情報とを出力するように、前記モデルの学習を行う学習手順と
をコンピュータに実行させるための学習プログラム。
【請求項17】
学習装置が実行する学習方法であって、
検出対象となる対象音声が含まれる音声情報を取得する取得工程と、
前記対象音声の始端から終端迄の期間をモデルに学習させ、前記音声情報を複数の区間に分割し、所定の区間に含まれる音声を入力した際に、前記対象音声の始端から当該所定の区間までの期間に応じた分類結果を出力するよう、前記モデルの学習を行う学習工程と
を含むことを特徴とする学習方法。
【請求項18】
検出対象となる対象音声が含まれる音声情報を取得する取得手順と、
前記対象音声の始端から終端迄の期間をモデルに学習させ、前記音声情報を複数の区間に分割し、所定の区間に含まれる音声を入力した際に、前記対象音声の始端から当該所定の区間までの期間に応じた分類結果を出力するよう、前記モデルの学習を行う学習手順と
をコンピュータに実行させるための学習プログラム。
【請求項19】
学習装置が実行する学習方法であって、
検出対象となる対象音声が含まれる音声情報を取得する取得工程と、
前記対象音声の始端から終端迄の期間をモデルに学習させ、前記対象音声全体の特徴に基づいて、当該対象音声の終端を検出するように前記モデルの学習を行い、前記対象音声の各区間が有する特徴の出現順序に基づいて、当該対象音声の終端を含む区間を検出するように前記モデルの学習を行う学習工程と
を含むことを特徴とする学習方法。
【請求項20】
検出対象となる対象音声が含まれる音声情報を取得する取得手順と、
前記対象音声の始端から終端迄の期間をモデルに学習させ、前記対象音声全体の特徴に基づいて、当該対象音声の終端を検出するように前記モデルの学習を行い、前記対象音声の各区間が有する特徴の出現順序に基づいて、当該対象音声の終端を含む区間を検出するように前記モデルの学習を行う学習手順と
をコンピュータに実行させるための学習プログラム。
【請求項21】
検出装置が実行する検出方法であって、
音声情報を取得する取得工程と、
検出対象となる対象音声の始端から終端迄の期間を学習させたモデルを用いて、前記取得工程により取得された音声情報から、前記対象音声の始端を検出し、学習対象となった音声情報である学習情報に含まれる各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを学習させた前記モデルを用いて、前記取得工程により取得された音声情報から前記対象音声の始端を含む区間を検出する検出工程と
を含むことを特徴とする検出方法。
【請求項22】
音声情報を取得する取得手順と、
検出対象となる対象音声の始端から終端迄の期間を学習させたモデルを用いて、前記取得手順により取得された音声情報から、前記対象音声の始端を検出し、学習対象となった音声情報である学習情報に含まれる各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを学習させた前記モデルを用いて、前記取得手順により取得された音声情報から前記対象音声の始端を含む区間を検出する検出手順と
をコンピュータに実行させるための検出プログラム。
【請求項23】
検出装置が実行する検出方法であって、
音声情報を取得する取得工程と、
検出対象となる対象音声の始端から終端迄の期間を学習させたモデルを用いて、前記取得工程により取得された音声情報から、前記対象音声の始端を検出し、学習対象となった音声情報である学習情報に含まれる各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを学習させた前記モデルを用いて、前記取得工程により取得された音声情報から前記対象音声の始端を含む区間を検出し、所定の区間に含まれる音声が入力された場合に当該所定の区間に前記対象音声の終端が含まれているか否かを示す終端情報と、前記対象音声の始端から当該所定の区間までの期間を示す期間情報とを出力するように学習が行われた前記モデルを用いて、前記取得工程により取得された音声情報から前記対象音声の始端を含む区間を検出する検出工程と
を含むことを特徴とする検出方法。
【請求項24】
音声情報を取得する取得手順と、
検出対象となる対象音声の始端から終端迄の期間を学習させたモデルを用いて、前記取得手順により取得された音声情報から、前記対象音声の始端を検出し、学習対象となった音声情報である学習情報に含まれる各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを学習させた前記モデルを用いて、前記取得手順により取得された音声情報から前記対象音声の始端を含む区間を検出し、所定の区間に含まれる音声が入力された場合に当該所定の区間に前記対象音声の終端が含まれているか否かを示す終端情報と、前記対象音声の始端から当該所定の区間までの期間を示す期間情報とを出力するように学習が行われた前記モデルを用いて、前記取得手順により取得された音声情報から前記対象音声の始端を含む区間を検出する検出手順と
をコンピュータに実行させるための検出プログラム。
【請求項25】
検出装置が実行する検出方法であって、
音声情報を取得する取得工程と、
検出対象となる対象音声の始端から終端迄の期間を学習させたモデルを用いて、前記取得工程により取得された音声情報から、前記対象音声の始端を検出し、学習対象となった音声情報である学習情報に含まれる各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを学習させた前記モデルを用いて、前記取得工程により取得された音声情報から前記対象音声の始端を含む区間を検出し、所定の区間に含まれる音声が入力された場合に当該所定の区間に前記対象音声の終端が含まれているか否かを示す終端情報と、前記対象音声の始端から当該所定の区間までの期間を示す期間情報とを出力するように学習が行われた前記モデルを用いて、前記取得工程により取得された音声情報から前記対象音声の始端を含む区間を検出し、前記取得工程により取得された音声情報を複数の区間に分割し、分割した区間のうち、前記区間に含まれる音声を入力した際に前記対象音声の終端が含まれている旨を示す終端情報を前記モデルが出力した区間を特定し、特定した区間について前記モデルが出力した期間情報に基づいて、前記対象音声の始端が含まれる区間を検出する検出工程と
を含むことを特徴とする検出方法。
【請求項26】
音声情報を取得する取得手順と、
検出対象となる対象音声の始端から終端迄の期間を学習させたモデルを用いて、前記取得手順により取得された音声情報から、前記対象音声の始端を検出し、学習対象となった音声情報である学習情報に含まれる各区間ごとに、前記対象音声の終端が含まれているか否かと、前記対象音声の始端から当該区間までの期間とを学習させた前記モデルを用いて、前記取得手順により取得された音声情報から前記対象音声の始端を含む区間を検出し、所定の区間に含まれる音声が入力された場合に当該所定の区間に前記対象音声の終端が含まれているか否かを示す終端情報と、前記対象音声の始端から当該所定の区間までの期間を示す期間情報とを出力するように学習が行われた前記モデルを用いて、前記取得手順により取得された音声情報から前記対象音声の始端を含む区間を検出し、前記取得手順により取得された音声情報を複数の区間に分割し、分割した区間のうち、前記区間に含まれる音声を入力した際に前記対象音声の終端が含まれている旨を示す終端情報を前記モデルが出力した区間を特定し、特定した区間について前記モデルが出力した期間情報に基づいて、前記対象音声の始端が含まれる区間を検出する検出手順と
をコンピュータに実行させるための検出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、検出装置、学習方法、学習プログラム、検出方法、および検出プログラムに関する。
【背景技術】
【0002】
近年、自動音声認識(Automatic Speech Recognition)を利用した技術が知られている。このような自動音声認識の技術の一例として、利用者の発話をテキストデータに変換し、変換後のテキストデータを用いて各種の情報処理を実行する技術が知られている。また、認識精度を改善するため、入力された音響信号から、利用者の発話が含まれる音声区間を検出する音声区間検出(Voice Activity Detection)の技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
このような音声区間検出の技術を用いて、所定の音声を含む音声区間を検出する処理が考えられる。例えば、処理対象となるフレームが音声を含む音声区間であるか否かを学習させたDNN(Deep Neural Network)等のモデルを用いて、音響信号から所定の音声を抽出する技術が考えられる。
【0005】
しかしながら、このような技術では、音声区間の検出精度を改善する余地があった。
【0006】
例えば、複数の単語から構成されるキーワードや、途中に無発声の区間が含まれるキーワード等を含む音声区間を抽出しようとした場合、上述した技術では、キーワードの一部のみを含む区間を音声区間として検出してしまう恐れがある。
【0007】
本願は、上記に鑑みてなされたものであって、音声区間の検出精度を向上させることを目的とする。
【課題を解決するための手段】
【0008】
本願に係る学習装置は、検出対象となる対象音声が含まれる音声情報を取得する取得部と、前記対象音声の終端と、当該対象音声の始端から経過した期間とをモデルに学習させる学習部とを有することを特徴とする。
【発明の効果】
【0009】
実施形態の一態様によれば、音声区間の検出精度を向上させることができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施形態に係る情報提供装置と端末装置とが実行する処理の一例を示す図である。
【
図2】
図2は、実施形態に係る情報提供装置の構成例を示す図である。
【
図3】
図3は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。
【
図4】
図4は、実施形態に係る端末装置の構成例を示す図である。
【
図5】
図5は、実施形態に係るモデルが出力する情報の一例を示す図である。
【
図6】
図6は、実施形態に係る情報提供装置が実行する学習処理の流れの一例を示すフローチャートである。
【
図7】
図7は、実施形態に係る端末装置が実行する検出処理の流れの一例を示すフローチャートである。
【
図8】
図8は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0011】
以下に、本願に係る学習装置、検出装置、学習方法、学習プログラム、検出方法、および検出プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習装置、検出装置、学習方法、学習プログラム、検出方法、および検出プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0012】
〔1.情報提供装置と端末装置とについて〕
まず、
図1を用いて、学習装置の一例である情報提供装置10が実行する学習処理の一例と、検出装置の一例である端末装置100が実行する検出処理の一例とについて説明する。
図1は、実施形態に係る情報提供装置と端末装置とが実行する処理の一例を示す図である。
図1では、情報提供装置10によって、利用者の発話を含む音声情報から、検出対象となる所定の対象音声を抽出する際に用いるモデルの学習を行う学習処理の一例について記載した。また、
図1では、端末装置100によって、利用者の発話を含む音声情報から所定のキーワードが含まれるキーワード区間を検出する検出処理の一例について記載した。
【0013】
図1に示す情報提供装置10は、学習処理を行う情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、情報提供装置10は、データサーバDSから提供される学習データを用いて、所定のキーワードが含まれるキーワード区間を音声データから抽出する際に用いるモデルの学習を実行する。
【0014】
データサーバDSは、各種のデータを管理する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、データサーバDSは、情報提供装置10が学習処理に用いる学習データの管理を行う。なお、データサーバDSが管理する学習データの詳細については、後述する。
【0015】
端末装置100は、周囲の音を取得するマイク等の取得装置と、任意の音を出力可能なスピーカー等の出力装置とを有する入出力装置とを有する入出力装置であり、例えば、スマートスピーカーと呼ばれるデバイスである。例えば、端末装置100は、出力装置を用いて、音楽の出力や音声による情報提供を実現可能な装置である。また、端末装置100は、音の入力を受付ける受付機能を有し、利用者が発した音声を取得すると、取得した音声の内容に応じた音を出力する出力機能を有する。
【0016】
例えば、端末装置100は、利用者が所定の楽曲の曲名を示す音声を発した場合には、各種の音声解析技術により、音声が示す曲名を特定し、特定した曲名が示す楽曲のデータを、ネットワークN(例えば、
図2を参照)を介して、所定の外部サーバOS(例えば、
図2)から取得する。そして、音声デバイスは、取得した楽曲を再生する。
【0017】
なお、端末装置100は、例えば、利用者Uが発した音声の内容を各種の音声解析技術により特定し、特定した内容に応じた応答を出力する機能を有する。例えば、端末装置100は、「今日の天気は?」といった利用者Uの音声を取得した場合は、外部サーバOSから天気や気温などといった各種の気象情報を取得し、取得した気象情報を読み上げることで、利用者Uに天気の情報を提供する。また、端末装置100は、上述した処理以外にも、例えば、電子商店街に出品された商品の注文、空調装置や照明装置等といった各種家電機器の制御、メールやスケジュールの読み上げ等といった各種の処理を実現可能なスマートスピーカーである。
【0018】
なお、端末装置100は、外部サーバOSと連携することで、音声解析を行ってもよい。例えば、端末装置100は、マイク等を用いて周囲の音声を取得し、取得した音声が所定の条件を満たした場合は、外部サーバOSに取得した音声を送信する。このような場合、外部サーバOSは、取得した音声の内容を各種の音声解析技術により特定し、特定結果を端末装置100へと送信する。その後、端末装置100は、特定結果に対応する各種の処理を実行してもよい。すなわち、端末装置100は、スタンドアローン型のスマートスピーカーであってもよく、クラウド等の外部サーバと連携するスマートスピーカーであってもよい。
【0019】
ここで、端末装置100は、それぞれ異なる位置に取付けられた複数の取得装置(例えば、マイク等)を有し、各取得装置を介して受付けた音声を用いて、上述した各種の処理を実行してもよい。また、端末装置100は、それぞれ異なる位置に取付けられた複数の取得装置を有する装置であれば、例えば、スマートデバイスや録音装置等、任意の装置であってもよい。また、端末装置100は、物理的に離間した位置に設置された複数の取得装置と無線LAN(Local Area Network)やブルートゥース(登録商標)等の無線通信を介して接続され、各取得装置が取得した音声を収集する装置であってもよい。
【0020】
〔1-1.キーワードの検出について〕
ここで、利用者は、スマートスピーカー等を操作する場合は、所定のキーワードを発話した後で、実行させる処理を示す発話(以下、「処理発話」と記載する。)を発話する。このような場合、端末装置100は、取得した音声に所定のキーワードが含まれているか否かを判定する。そして、端末装置100は、所定のキーワードが含まれていると判定される場合は、そのキーワードに続いて利用者が発話した処理発話が含まれる音声データの区間から、音声解析により利用者の発話内容を特定する。
【0021】
また、このようなキーワードは、単に処理の起動音声として用いられるだけではなく、後続する処理発話の明瞭化処理に用いられる場合がある。例えば、音声データからキーワードが含まれるキーワード区間を抽出し、抽出されたキーワード区間内に含まれる音声から特徴を抽出し、抽出した特徴に基づいて、後続する音声のうち利用者の発話を強調することで、音楽やテレビジョンの音声等といった雑音の影響を軽減するといった態様が考えられる。また、複数のマイクを用いて取得された複数の音声データからキーワード区間をそれぞれ抽出し、抽出した各キーワード区間が測定された時間差に基づいて、利用者が所在する方向を推定し、推定した方向からの音声を強調することで、雑音の影響を軽減するビームフォーミングの技術が考えられる。このため、キーワード区間を適切に検出することができた場合、起動音声の有無を適切に判定することができるだけではなく、処理発話の認識精度を向上させることができる。
【0022】
ここで、キーワードが有する特徴をSVM(Support Vector Machine)やDNN(Deep Neural Network)等といった各種分類器として動作するモデルに学習させ、学習済モデルを用いて、収集した音声からキーワードの検出を行うといった態様が考えられる。しかしながら、単にキーワードの音声が有する特徴をモデルに学習させた場合は、キーワードのうちどの時点からモデルがキーワードであると判断するかが明確ではないため、音声データのうちどこからどこまでがキーワードを含むキーワード区間であるかを推定するのが困難となる。
【0023】
〔1-2.学習処理について〕
そこで、情報提供装置10は、以下の学習処理を実行する。まず、情報提供装置10は、検出対象となる対象音声が含まれる音声情報を取得する。例えば、情報提供装置10は、キーワード等、所定の端末装置100に所定の動作を実行させるための音声を対象音声として含む音声情報を取得する。そして、情報提供装置10は、すくなくとも、対象音声の終端と、対象音声の始端から経過した期間とをモデルに学習させる。より具体的な例を挙げると、情報提供装置10は、対象音声の始端から終端までの間の特徴、すなわち、対象音声の特徴をモデルに学習させるとともに、音声の始端から対象音声の各区間までの間の期間とをモデルに学習させる。例えば、情報提供装置10は、音声情報を複数の区間に分割し、各区間ごとに、対象音声の終端が含まれているか否かと、対象音声の始端から処理対象となる区間までの期間とをモデルに学習させる。
【0024】
換言すると、情報提供装置10は、キーワードの終端付近でキーワードを検出した旨を出力するモデルの学習を行う。例えば、情報提供装置10は、音声データの音声を複数のフレームに分割し、各フレームに含まれる音声の情報を時系列順にモデルに入力する。そして、情報提供装置10は、キーワードの終端を含むフレーム若しくは終端付近のフレームに含まれる音声の情報をモデルに入力した際に、キーワードの終端を検知した旨の情報を出力するように、モデルの学習を行う。ここで、情報提供装置10は、過去に入力した音声の特徴量を考慮して、新たに入力された音声がキーワードの終端である事後確率を算出させるため、RNN(Recurrent Neural Network)若しくは、LSTM(Long short-term memory)といった再帰型ニューラルネットワークの構成を有するモデルの学習を行う。
【0025】
このような学習に加えて、情報提供装置10は、入力されたフレームを、キーワードの始端からの長さに応じたクラスに分類させるタスクを追加する。すなわち、情報提供装置10は、各フレームが、キーワードの始端からどれくらい経過したフレームなのか、すなわち、各フレームに含まれる音声が、キーワードの始端からどれくらい経過した際に観測される音声なのかをモデルに学習させる。
【0026】
例えば、情報提供装置10は、1フレームが20ミリ秒であり、キーワードが約100フレーム程度で発話される場合は、キーワードの始端から10フレームごとに異なるクラスを割り当てる。そして、情報提供装置10は、各フレームにキーワードの終端が含まれているか否かを学習させるとともに、入力されたフレームがどのクラスに割り当てられているかをモデルに学習させる。すなわち、情報提供装置10は、モデルにマルチタスク学習を実行させる。
【0027】
上述した学習処理により、情報提供装置10は、キーワードの終端を適切に検出するとともに、検出したキーワードの始端から検出した終端までの期間を推定可能なモデルの学習を実現できる。例えば、情報提供装置10は、上述した学習処理により、キーワード全体(例えば、キーワードの始端から終端)までの特徴に基づいて、キーワードの終端を検出するモデルを実現する。すなわち、情報提供装置10は、キーワードの各区間が有する特徴の出現順序に基づいて、キーワードの終端を含む区間を検出するようにモデルの学習を行う。この結果、情報提供装置10は、キーワードの終端の検出精度を向上させることができる。
【0028】
例えば、情報提供装置10は、キーワードの終端付近のフレームに含まれる音声のみを学習データとして用いるのではなく、キーワード全体の各フレームの音声を時系列順にモデルに入力することで、キーワードの各フレームにおける音声の特徴と、各音声の出現順序の特徴とをモデルに学習させる。このような学習が行われた場合、モデルは、先頭から終端までの各フレームにおける特徴と、特徴の時系列的な出現順序とがキーワードと類似する音声が入力された場合に、キーワードを検出したと判定することとなる。この結果、情報提供装置10は、複数の単語や無音区間が含まれるキーワードを適切に検出することができる。
【0029】
例えば、キーワードが「ねえ」という単語と「ヤフー」という単語とを含む「ねえ_ヤフー」であった場合、情報提供装置10は、「ねえ_ヤフー」という複数の単語を含む一連の音声の特徴をキーワードの音声としてモデルに学習させる。より具体的には、情報提供装置10は、「ねえ_ヤフー」という音声の各フレームを出現順にモデルに入力し、最後のフレーム、すなわち、終端のフレームが入力された際に、キーワードを検出した旨を出力するようモデルの学習を行う。例えば、情報提供装置10は、「ねえ_ヤフー」という音声の各フレームを出現順にモデルに入力し、終端のフレーム以外の各フレームの音声が入力される度に「0」を出力し、終端のフレームが入力された場合に「1」を出力するように、モデルの学習を行う。
【0030】
このような学習が行われた場合、モデルは、「ヤフー」という単語が入力されただけでは、キーワードを検出した旨(すなわち、「1」)を出力せず、「ねえ_ヤフー」という音声の各フレームが出現順に入力された場合に、キーワードを検出した旨を出力することとなる。また、このようなモデルは、「おい_ヤフー」や「ねえ_やすこ」といったキーワードの一部と類似する音声が入力された場合や、「ヤフー_ねえ」といったキーワードと音の出現順序が異なる音声が入力されただけでは、キーワードを検出した旨を出力せず、キーワード全体と類似する音声の各フレームが、キーワードと同じ順序で入力された場合にのみ、キーワードの終端を検出することとなる。
【0031】
一方、キーワードの終端のフレームに含まれる音声の特徴のみをモデルに学習させた場合、単に「ヤフー」や「フー」という音声が入力されただけで、キーワードを検出したとモデルが誤判定する恐れがある。そこで、情報提供装置10は、キーワード全体の特徴からキーワードの終端を検出するようにモデルに学習を行うことで、複数の単語や無音の区間を含むキーワードの終端を適切に検出可能なモデルを学習することができる。
【0032】
また、情報提供装置10は、キーワードの終端を検出するモデルに対し、キーワードの始端から検出した終端までの期間の特徴を学習させる。このような学習が行われたモデル(以下、「学習モデル」と記載する。)に対し、実際に測定された音声データの各フレームを時系列順に入力した場合、学習モデルは、入力されたフレームにキーワードの終端が含まれているか否か(若しくは、キーワードの終端の近傍であるか否か)を出力するとともに、入力されたフレームのクラスを示す情報、すなわち、キーワードの始端から入力されたフレームまでどれくらいの期間が経過したかを示す期間情報を出力する。
【0033】
ここで、学習モデルが終端であると判定したフレームから、そのフレームが属するクラスに応じた期間だけ遡ったフレーム若しくはそのフレームの近傍には、キーワードの始端が含まれていると推定される。この結果、情報提供装置10は、キーワード区間を精度よく抽出可能な学習モデルの学習を実現することができる。
【0034】
また、上述した学習処理により学習が行われた学習モデルは、時系列順に入力されたキーワードの各フレームの特徴に基づいて、キーワードの終端を推定する。このため、学習モデルは、キーワードに複数の単語が含まれる場合や無音の区間が含まれる場合であっても、キーワードの終端を適切に推定することができる。
【0035】
なお、上述した説明では、情報提供装置10は、キーワード全体の特徴と、キーワードの始端から経過した期間とをモデルに学習させたが、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、すくなくとも、キーワードの終端付近の特徴と、キーワードの始端から経過した期間とをモデルに学習させればよい。このような学習が行われた場合、モデルは、キーワードの終端と類似する音声が入力された場合に、キーワードの終端を検出した旨を出力するとともに、キーワードの始端から検出した終端までの期間を示す情報を出力することとなる。このような出力からも、終端と検出されたフレームから、モデルが検出した期間だけ遡ることで、キーワード若しくは一部がキーワードと類似する音声が含まれる区間を検出することができる。このような区間の検出を行い、実際にキーワードが含まれるか否かについては、他のモデル等を用いて判定を行ってもよい。
【0036】
〔1-3.検出処理について〕
一方、端末装置100は、情報提供装置10により学習が行われた学習モデルを用いて、利用者の発話からキーワード区間を検出する。例えば、端末装置100は、マイク等を用いて、利用者の発話を含む音声情報を取得する。そして、端末装置100は、検出対象となる対象音声の終端と、対象音声の始端から経過した期間とを学習させたモデル、すなわち、情報提供装置10により学習が行われた学習モデルを用いて、取得された音声情報から、対象音声の始端を検出する。
【0037】
例えば、端末装置100は、マイク等を用いて取得した音声情報を複数のフレームに分割し、時系列順に各フレームを学習モデルに入力する。上述した学習処理により学習が行われた学習モデルにフレームを入力した場合、学習モデルは、入力されたフレームに終端が含まれているか否かを示す情報(例えば、終端が含まれているか否かを示す確度や、終端が含まれているか否かを示す2値の情報)を出力するとともに、入力されたフレームに含まれる音声がキーワードの始端からどれくらい経過した際の音声であるかを示す情報、すなわち、始端からの経過時間に応じたクラスを示す情報を出力する。例えば、学習モデルは、入力されたフレームが各クラスに属する事後確率(すなわち、各クラスに属する確度)を出力することとなる。すなわち、学習モデルは、フレームに終端が含まれているか否かのクラス分類(以下、「終端クラス分類」と記載する場合がある。)を行うとともに、始端からの経過時間に応じたクラス分類(以下、「経過クラス分類」と記載する場合がある。)とを同時に行うこととなる。
【0038】
このような学習モデルを用いて、端末装置100は、入力されたフレームに終端が含まれているか否かを特定するとともに、入力されたフレームに含まれる音声が始端からどれくらい経過した音声であるかを特定する。例えば、端末装置100は、学習モデルによる終端クラス分類の結果に基づいて、あるフレームにキーワードの終端が含まれている旨を特定した場合は、そのフレームの経過クラス分類の結果を特定する。そして、端末装置100は、特定したクラスに応じた期間だけ遡ったフレームにキーワードの始端が含まれていると推定し、キーワードの始端が含まれているフレームから、キーワードの終端が含まれているフレームまでをキーワード区間として抽出する。このような処理の結果、端末装置100は、キーワード区間を精度良く検出することができる。
【0039】
〔1-4.処理の一例〕
続いて、
図1を用いて、情報提供装置10が実行する学習処理の一例、および、端末装置100が実行する検出処理の一例について説明する。例えば、情報提供装置10は、データサーバDSからモデルの学習に用いる学習データを取得する(ステップS1)。そして、情報提供装置10は、キーワードの終端と始端から各区間までの経過時間とをモデルに学習させる(ステップS2)。
【0040】
例えば、情報提供装置10は、学習データとして、キーワードの発話音声を含む音声データと、音声データの各区間にキーワードの終端が含まれるか否かを示す終端ラベルと、各区間が属するクラスを含むクラスラベルとを含む学習データLD1を取得する。なお、キーワードに複数の単語が含まれる場合や、無音の区間が含まれる場合は、複数の単語を発声した音声、又は、無音の区間を含む音声を対象音声として含む音声データを学習データとして取得することとなる。
【0041】
例えば、
図1に示す例では、学習データLD1は、始端S1と終端E1とを有するキーワードを含む音声データを有する。また、学習データLD1において、音声データは、区間「1」~「23」に分割されている。また、学習データLD1は、各区間ごとに、キーワードの終端E1が含まれているか否かを示す終端ラベルが付与されている。例えば、学習データLD1の各区間「1」~「23」には、終端E1が含まれていない旨を示す値「0」、若しくは、終端E1が含まれている旨を示す値「1」が付与されている。
【0042】
また、学習データLD1は、各区間ごとに、始端S1から経過した期間に応じたクラスを示すクラスラベルが付与されている。例えば、
図1に示す例では、始端S1が区間「3」に含まれている。このような場合、学習データLD1の区間「1」、「2」には、クラスラベル「0」が付与されており、区間「3」~「21」には、順にクラスラベル「1」~「19」が付与されている。
【0043】
ここで、学習データLD1において、終端が含まれる区間よりも後の区間には、クラスラベル「0」が付与されている。例えば、学習データの区間「21」には、キーワードの終端が含まれているため、終端ラベル「1」が付与されており、区間「21」よりも後の区間「22」、「23」には、クラスラベル「0」が付与されている。
【0044】
なお、キーワードが平均して20区間程度で発話される場合、クラスレベルの最大値を20としてもよい。また、
図1に示す例では、キーワードの終端が含まれる区間よりも後の区間に対し、クラスラベル「0」を付与したが、実施形態は、これに限定されるものではない。例えば、終端が含まれる区間よりも後の区間に対しても、連続する一連のクラスラベルが付与されてもよく、クラスラベルの最大値を超えた区間については、前の区間と同一のクラスラベルが付与されてもよい。例えば、区間「22」、「23」には、クラスラベル「20」、「21」が付与されてもよく、同一のクラスラベル「20」が付与されてもよい。
【0045】
なお、
図1に示す学習データLD1は、23個の区間に分割されているが、実施形態は、これに限定されるものではない。
図1に示す学習データLD1は、発明の理解を容易にするために模式的に示したものであり、実際には、より多くの区間に分割されることとなる。具体的な例を挙げると、音声データを処理する際のフレームが20ミリ秒であり、学習データLD1に含まれる音声データが3秒のデータである場合、音声データは、150個のフレームに分割されることとなる。
【0046】
図1に示す学習データLD1の各区間は、1つのフレームに対応するものであってもよく、複数のフレームに対応してもよい。また、終端ラベルやクラスラベルは、任意の単位で各区間に付与されていてよい。例えば、終端ラベルは、各フレームごとに付与され、クラスラベルは、複数のフレームごとに付与されるものであってもよい。また、クラスラベルは、キーワード区間と対応する各フレームに対し、フレームごとに異なる値が付与されていてもよい。
【0047】
まず、情報提供装置10は、LSTMの構造を有するモデルMを準備する。そして、情報提供装置10は、学習データLD1に含まれる音声データの各フレームを時系列順にモデルに入力した際に、入力されたフレームに付与された終端ラベルとクラスラベルとを出力するように、モデルMの学習を行う。なお、このような学習は、例えば、バックプロパゲーションや確率的勾配降下法等、LSTMの学習を実現する任意の学習手法が採用可能である。
【0048】
例えば、情報提供装置10は、区間「3」に含まれるフレームをモデルMに入力した場合は、モデルMが終端ラベル「0」とクラスラベル「1」とを出力するように、モデルMの学習を行う。同様に、情報提供装置10は、各フレームを時系列順にモデルMに入力し、各フレームと対応する終端ラベルとクラスラベルとを出力するように、モデルMの学習を行う。なお、情報提供装置10は、適切な学習を行うため、例えば、終端ラベルが「0」となるフレーム等、一部の学習データをランダムな順序で入力してもよい。
【0049】
このように、情報提供装置10は、所定の区間に含まれる音声を前記モデルに入力した際に、その所定の区間に対象音声の終端が含まれているか否かを示す終端情報と、対象音声の始端からその所定の区間までの期間を示す期間情報とを出力するように、モデルMの学習を行う。また、情報提供装置10は、音声情報を複数の区間に分割し、所定の区間に含まれる音声を入力した際に、対象音声の始端から所定の区間までの期間に応じた分類結果を出力するよう、モデルの学習を行う。
【0050】
なお、情報提供装置10は、学習データLD1のみならず、複数の学習データを用いて、モデルMの学習を行う。ここで、情報提供装置10は、モデルMによる処理精度を向上させるため、様々な利用者により発話されたキーワードを含む学習データを用いてよい。また、情報提供装置10は、テレビジョンから発せられた音声や他の利用者の発話、ホワイトノイズ等の各種雑音を付加した音声データを含む学習データを用いて、モデルMの学習を行ってよい。
【0051】
そして、情報提供装置10は、学習が行われた学習モデルMを端末装置100に提供する(ステップS3)。このような場合、端末装置100は、利用者の発話を受付ける(ステップS4)。例えば、端末装置100は、利用者が順に発話したキーワードおよび処理発話の音声をマイクを用いて取得する。そして、端末装置100は、学習モデルMを用いて、取得した音声からキーワードの終端を推定し、学習モデルMにより推定されたキーワードの終端までの経過期間に基づいて、キーワード区間の始端を推定する(ステップS5)。
【0052】
例えば、端末装置100は、利用者から取得した音声(以下、「発話音声」と記載する)を複数の区間に分割し、各区間の音声を時系列順に学習モデルMに入力する。そして、端末装置100は、各区間ごとに、学習モデルMが出力した終端ラベルとクラスラベルとを取得する。そして、端末装置100は、区間「19」の音声を入力した際に、学習モデルM1が終端ラベル「1」を出力した場合は、キーワード区間の終端が区間「19」であると推定する。また、端末装置100は、区間「19」の音声を入力した際に、学習モデルM1がクラスラベル「15」を出力した場合は、区間「19」から「15」クラス分前の区間、すなわち、区間「4」にキーワードの始端が含まれていると推定する。そして、端末装置100は、区間「4」から区間「19」までの間がキーワード区間であると推定する。
【0053】
続いて、端末装置100は、推定したキーワード区間に含まれる音声を用いて、所定の処理を実行する(ステップS6)。例えば、端末装置100は、キーワード区間に含まれる音声の解析を行い、キーワードが発話されたか否かを判定してもよく、ビームフォーミング等を実行し、後続する処理発話の強調等を行ってもよい。また、端末装置100は、単に、キーワード区間に後続する処理発話の解析を行い、解析結果と対応する処理を実行してもよい。そして、端末装置100は、処理結果を利用者に対して提供する(ステップS7)。
【0054】
このように、端末装置100は、学習対象となった音声情報である学習情報に含まれる各区間ごとに、対象音声の終端が含まれているか否かと、対象音声の始端から処理対象の区間までの期間とを学習させたモデルを用いて、発話音声から対象音声の始端を含む区間を検出する。例えば、端末装置100は、再帰型ニューラルネットワークの構成を有する学習モデルMに対し、発話音声の各区間に含まれる音声を先頭から順に入力し、学習モデルMが出力した終端情報と期間情報とに基づいて、対象音声の始端を含む区間を検出する。
【0055】
すなわち、端末装置100は、所定の区間に含まれる音声が入力された場合にその所定の区間に対象音声の終端が含まれているか否かを示す終端情報と、対象音声の始端からその所定の区間までの期間を示す期間情報とを出力するように学習が行われた学習モデルMを用いて、発話音声から対象音声の始端を含む区間を検出する。また、端末装置100は、発話音声を複数の区間に分割し、分割した区間のうち、音声を入力した際に対象音声の終端が含まれている旨を示す終端情報を学習モデルMが出力した区間を特定し、特定した区間について学習モデルMが出力した期間情報に基づいて、対象音声の始端が含まれる区間を検出する。
【0056】
このような処理の結果、端末装置100は、1つの学習モデルMにより、キーワードの検出に加えて、キーワード区間を適切に推定することができる。また、端末装置100は、LSTMにより構成される学習モデルMを用いて、キーワードの終端を推定し、推定したキーワードの終端から遡ってキーワードの始端を推定する。ここで、LSTM等の再帰型ニューラルネットワークにおいては、それまでに入力されたデータの特徴を考慮して、新たに入力されたデータが所定の条件を満たすか否かを判定することができる。このため、端末装置100は、キーワード全体の発話を待って、キーワード区間の検出を行うことができるので、キーワード区間を精度よく検出することができる。
【0057】
また、キーワードの終端を検出するタスクとともに、キーワードの始端から各区間までの経過期間とを推定するタスクとのマルチタスク学習を行わせた場合、音声が有する特徴のうち各タスクを実現するための特徴をモデルが多角的に学習することとなる。このような処理の結果、学習モデルMにおいては、キーワードの終端を検出するタスクのみを学習させたモデルよりも、キーワードの終端をより精度よく検出することができる。
【0058】
〔1-5.モデルについて〕
上述した説明では、情報提供装置10は、LSTMの構造を有するモデルを学習モデルMとした。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、BidirectionalLSTM等、LSTMから派生した各種のニューラルネットワークであってもよく、各種RNNであってもよい。また、情報提供装置10は、入力された音声の区間にキーワードの終端が含まれているか否かと、キーワードの始端から入力された音声の区間までの期間とを同時に学習させるのであれば、SVM(Support Vector Machine)やDNN(Deep Neural Network)、CNN(Convolutional Neural Network)等といった任意の構成を有するモデルを採用してよい。
【0059】
また、情報提供装置10は、複数のモデルを用いて、学習を行ってもよい。例えば、情報提供装置10は、キーワードの終端を検出するように第1モデルの学習を行うとともに、キーワードの始端から各区間までの経過期間を第2モデルに学習させる。そして、端末装置100は、このような第1モデルと第2モデルとに対して、個別に発話音声の各区間を入力し、第1モデルが終端であると判定した区間から、第2モデルが出力した経過期間分だけ遡った区間を、キーワードの始端を含む区間としてもよい。
【0060】
〔1-6.区間について〕
上述した例では、情報提供装置10は、学習データを複数の区間に分割し、区間ごとに終端ラベルの値とクラスラベルの値とをモデルに学習させた。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、学習データを所定長のフレームに分割し、フレームごとに終端ラベルの値を学習させるとともに、複数のフレームを含む区間ごとにクラスラベルの値を学習させてもよい。すなわち、情報提供装置10は、キーワードの終端についてはフレームごとの学習を行い、経過期間については、複数のフレームごとの学習を行ってもよい。また、入力されたフレームをいくつのクラスに分類するかについては、任意の態様が採用可能である。
【0061】
〔1-7.学習処理について〕
上述した例では、キーワードの終端について「1」若しくは「0」といった2値の値を出力するようにモデルの学習を行い、経過期間(すなわち、クラス)について「1」~「20」といった整数値を出力するようにモデルの学習を行う例について記載した。
【0062】
ここで、実際には、情報提供装置10は、入力されたフレームにキーワードの終端が含まれている確度を出力するようにモデルの学習を行う。このような場合、端末装置100は、あるフレームを学習モデルMに入力した際に、学習モデルMが出力した確度が所定の閾値を超える場合は、そのフレームにキーワードの終端が含まれていると推定してもよい。
【0063】
また、情報提供装置10は、入力されたフレームが各クラスに属する確度をそれぞれ出力するようにモデルの学習を行う。このような場合、端末装置100は、あるフレームを学習モデルMに入力した際に、学習モデルMが出力した確度が所定の閾値を超えるクラスを、入力したフレームが属するクラスと判定してもよい。換言すると、端末装置100は、各経過期間のうち、学習モデルM1が出力した確度が所定の閾値を超える経過期間を特定し、入力されたフレームが、キーワードの始端から特定した経過期間だけ後のフレームであると推定してもよい。
【0064】
なお、入力されたフレームが、終端クラス分類や経過クラス分類の各クラスごとに確度を出力するように学習モデルの学習を行う場合、所定の閾値を超えるクラスが複数存在する事象が生じうる。そこで、情報提供装置10は、各クラスの確度の最大値を特定し、確度が最も高いクラスを採用することとしてもよい。すなわち、情報提供装置10は、各クラスの確度に関してargmaxを取ることによってクラスの決定を行ってもよい。また、情報提供装置10は、このようなargmaxの処理を行う出力層を備えたモデルの学習を行ってもよい。また、情報提供装置10は、確度が所定の閾値を超えたクラスのうち、確度が最大となるクラスにフレームの分類を行うように、学習モデルの学習を行ってもよい。
【0065】
なお、情報提供装置10は、経過期間に関しては、回帰問題で解いてもよい。例えば、情報提供装置10は、経過時間のクラス分類ではなく、始端から経過したと推定される期間を示す数値そのものを出力するように、モデルの学習を行ってもよい。例えば、情報提供装置10は、クラスラベルに代えて、キーワードの始端から各フレームまでの経過時間を含む学習データの特徴をモデルに学習させてもよい。
【0066】
〔1-8.適用対象について〕
上述した例では、情報提供装置10は、起動音声となるキーワードの検出を行うモデルの学習を行った。しかしながら、実施形態は、これに限定されるものではない。情報提供装置10は、検出目的となる音声であれば、任意の音声の検出を行うモデルの学習を行ってよい。すなわち、情報提供装置10は、各種の音声データの中から、所定の機械音、環境音、ノイズ等、検出目的となる音を含む区間を検出するため、検出目的となる音の終端と、検出目的となる音の始端から経過した期間とをモデルに学習させるのであれば、任意の音を検出目的として良い。
【0067】
〔1-9.実行主体について〕
上述した例では、情報提供装置10により学習処理が行われ、端末装置100により検出処理が実行された。しかしながら、実施形態は、これに限定されるものではない。例えば、学習処理および検出処理は、情報提供装置10により実行されてもよい。このような場合、情報提供装置10は、端末装置100が取得した発話音声を受付け、学習モデルMを用いて、受付けた発話音声からキーワード区間を検出することとなる。また、上述した学習処理および検出処理は、端末装置100によって実現されてもよい。
【0068】
〔2.機能構成の一例〕
以下、上記した学習処理を実現する情報提供装置10が有する機能構成の一例、および、上述した検出処理を実現する端末装置100が有する機能構成の一例について説明する。
【0069】
〔2-1.情報提供装置の機能構成の一例について〕
まず、
図2を用いて、情報提供装置10が有する機能構成の一例を説明する。
図2は、実施形態に係る情報提供装置の構成例を示す図である。
図2に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
【0070】
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、例えば、端末装置100、データサーバDSおよび外部サーバOSとの間で情報の送受信を行う。
【0071】
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、学習データデータベース31およびモデルデータベース32を記憶する。
【0072】
学習データデータベース31は、学習データが登録される。例えば、
図3は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。
図3に示すように、学習データデータベース31には、「学習データID(Identifier)」、「区間」、「音声データ」、「終端タグ」、および「クラスラベル」といった項目を有する情報が登録される。なお、
図3に示す例では、「区間」ごとに音声データ、終端タグ、およびクラスラベルが格納される例について記載したが、実際には、フレームごとに音声データ、終端タグ、およびクラスラベルが格納されていてもよい。
【0073】
ここで、「学習データID」とは、学習データの識別子である。また、「区間」とは、学習データとなる音声データを分割した各区間を識別するための情報であり、例えば、区間に付与された一連の番号である。また、「音声データ」とは、対応付けられた「区間」が示す区間に含まれる音声データ、すなわち音響信号である。また、「終端タグ」とは、対応付けられた「区間」にキーワードの終端が含まれているか否かを示す情報である。また、「クラスラベル」は、対応付けられた「区間」に含まれる音声が、キーワードの始端からどれくらい経過した際の音声であるかを示す区間情報であり、対応付けられた「区間」が属するクラスを示す情報である。
【0074】
例えば、
図3に示す例では、学習データデータベース31には学習データID「LD1」、区間「1」、音声データ「SD1」、終端タグ「0」、およびクラスラベル「0」が対応付けて登録されている。このような情報は、学習データID「LD1」が示す学習データのうち、区間「1」に含まれるの音声データとして音声データ「SD1」が登録されており、区間「1」における終端タグの値が「0」であり、クラスラベルの値が「0」である旨を示す。
【0075】
なお、
図3に示す例では、「SD1」といった概念的な値を記載したが、実際には、学習データデータベース31には、音声データとして各フレームの音声の音量や周波数分布等を示す情報が登録されることとなる。また、学習データデータベース31には、「区間」に代えて、フレーム番号等が登録されていてもよい。また、
図3に示す情報以外にも、学習データデータベース31には、任意の情報が登録されていてよい。
【0076】
図2に戻り、説明を続ける。モデルデータベース32には、学習モデルが登録される。すなわち、モデルデータベース32には、検出対象となる対象音声の終端と、対象音声の始端から経過した期間とを学習させた学習モデルMのデータが登録される。例えば、モデルデータベース32には、学習モデルM1のデータとして、それぞれが1つ又は複数のノードを含む多段の層を構成するノードの情報と、各ノード間の接続関係を示す情報と、ノード間で情報を伝達する際の重みである接続係数とが登録される。
【0077】
ここで、学習モデルM1は、学習データである音響信号が入力される入力層を有する。また、学習モデルM1は、入力された音響信号に対象音声の終端が含まれているか否かを示す終端情報と、入力された音響信号が対象音声の始端からどれくらい経過した際の音響信号であるのかを示す期間情報、すなわち、入力された音響信号の分類先となるクラスを示す情報とを出力する出力層を有する。
【0078】
また、学習モデルM1は、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、入力層に入力された情報と対応する情報を出力層から出力するようコンピュータを機能させる。
【0079】
このような学習モデルM1は、例えば、学習時および測定時において、入力層に音声データが入力された場合に、出力層から、終端情報と期間情報とを出力するようコンピュータを機能させる。そして、情報提供装置10は、学習時においては、学習モデルM1が出力する終端情報と期間情報とが、入力された音声データと対応する終端情報と期間情報とを示すように、学習モデルM1の接続係数を修正する。
【0080】
ここで、学習モデルM1がSVMや回帰モデルで実現される場合、学習モデルM1は、入力層と出力層とを有する単純パーセプトロンと見做すことができる。学習モデルM1を単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。また、学習モデルM1をDNN等、1つまたは複数の中間層を有するニューラルネットワークで実現される場合、各モデルが含む第1要素とは、入力層または中間層が有するいずれかのノードと見做すことができ、第2要素とは、第1要素と対応するノードから値が伝達されるノード、すなわち、次段のノードと対応し、第1要素の重みとは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重み、すなわち、接続係数である。
【0081】
ここで、情報提供装置10は、学習データデータベース31に登録される学習データを用いて、上述した検出処理を実行するための学習モデルM1を生成する。すなわち、学習データデータベース31に登録される学習データは、音響信号が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された音響信号に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と、第1要素の重みであって、対象音声の特徴と、対象音声の始端から対象音声の各区間までの期間との特徴を反映させた重みに基づく演算を行うことにより、終端情報と期間情報とを出力層から出力するよう、コンピュータを機能させるためのデータである。
【0082】
制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0083】
図2に示すように、制御部40は、データ取得部41、学習部42、および提供部43を有する。データ取得部41は、検出対象となる対象音声が含まれる音声情報を取得する。例えば、データ取得部41は、データサーバDSから学習データとして、複数の区間に分割された音声データと、各区間に含まれる音声に対象音声の終端が含まれているか否かを示す終端タグと、対象音声の始端から各区間に含まれる音声までの期間を示す期間情報、すなわちクラスデータとを対応付けた情報を取得する。そして、データ取得部41は、取得した学習データを学習データデータベース31に登録する。
【0084】
なお、データ取得部41は、端末装置100に所定の動作を実行させるための音声、すなわち、起動音声であるキーワードを対象音声として含む音声情報を取得してもよい。また、データ取得部41は、複数の単語を発声した音声、又は、無音の区間を含む音声を対象音声として含む音声情報を取得してもよい。このように、どのような音声を対象音声とするかについては、任意の設定が可能であるが、設定された対象音声を適切に検出するため、データ取得部41は、検出対象となる音声と特徴が類似する音声を学習データとして取得するのが望ましい。
【0085】
学習部42は、対象音声の終端と、対象音声の始端から経過した期間とをモデルに学習させる。例えば、学習部42は、対象音声全体の特徴に基づいて、キーワードの終端を検出するモデルを学習する。より具体的な例を挙げると、学習部42は、キーワードの各区間が有する特徴の出現順序に基づいて、キーワードの終端を含む区間を検出するようにモデルの学習を行う。
【0086】
例えば、学習部42は、音声情報を複数の区間に分割し、各区間ごとに、対象音声の終端が含まれているか否かと、対象音声の始端から当該区間までの期間とをモデルに学習させる。より具体的な例を挙げると、学習部42は、所定の区間に含まれる音声をモデルに入力した際に、所定の区間に対象音声の終端が含まれているか否かを示す終端情報と、対象音声の始端から所定の区間までの期間を示す期間情報とを出力するように、モデルの学習を行う。すなわち、学習部42は、音声情報を複数の区間に分割し、所定の区間に含まれる音声を入力した際に、対象音声の始端から所定の区間までの期間に応じた分類結果を出力するよう、モデルの学習を行えばよい。
【0087】
なお、通常のDNN等を用いた場合、対象音声が有する特徴のうち、終端の周辺のみの特徴に基づいて対象音声の終端を検出するといった現象が考えられる。このような検出を行った場合は、対象音声の終端と特徴が類似する音声を対象音声の終端として検出してしまう恐れがある。そこで、学習部42は、対象音声全体の特徴に基づいて対象音声の終端を検出させるため、再帰型ニューラルネットワークの構成を有するモデルに対し、対象音声の終端と、対象音声の始端から経過した期間とを学習させればよい。
【0088】
例えば、学習部42は、LSTMの構成を有するモデルを生成すると共に、学習データデータベース31から処理対象となる学習データを1つ読み出す。続いて、学習部42は、読み出した学習データの各区分について、時系列順(すなわち、区間の番号が若い順に)以下の処理を実行する。まず、学習部42は、処理対象となる区間の音声データをモデルに入力する。例えば、学習部42は、音声データが示す音声の周波数や振幅等を入力してもよく、音声が有する特徴をモデルに入力してもよい。そして、学習部42は、音声が入力されたモデルの出力が、処理対象となる区間の終端タグとクラスラベルとを示すように、モデルが有する接続係数の修正を行う。
【0089】
以下、音声データ「SD10」に終端タグ「1」とクラスラベル「18」とが対応付けて登録されている例について説明する。例えば、学習部42は、音声データ「SD10」をモデルに入力する。このような場合、学習部42は、モデルが有する出力層の各ノードのうち、終端情報を出力するためのノードから、所定の閾値以上の確度を示す値(すなわち、終端タグ「1」に対応する値)が出力され、かつ、モデルが有する出力層の各ノードのうち、クラスラベル「18」と対応するノードから、所定の閾値以上の確度を示す値が出力されるように、モデルの接続係数を修正する。また、学習部42は、他の学習データについても同様の処理を行う。そして、学習部42は、モデルを学習モデルMとしてモデルデータベース32に登録する。
【0090】
提供部43は、学習モデルを端末装置100に提供する。例えば、提供部43は、端末装置100からの要求に基づき、モデルデータベース32から学習モデルMを読出し、読み出した学習モデルMを端末装置100に送信する。
【0091】
〔2-2.端末装置の機能構成の一例について〕
続いて、
図4を用いて、端末装置100が有する機能構成の一例を説明する。
図4は、実施形態に係る端末装置の構成例を示す図である。
図4に示すように、端末装置100は、通信部120、記憶部130、制御部140、マイクMCおよびスピーカーSPを有する。
【0092】
通信部120は、例えば、NIC等によって実現される。そして、通信部120は、ネットワークNと有線または無線で接続され、例えば、情報提供装置10、データサーバDSおよび外部サーバOSとの間で情報の送受信を行う。
【0093】
記憶部130は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部130は、情報提供装置10から配信される学習モデルMを記憶する。
【0094】
マイクMCは、利用者が発話した音声、すなわち発話音声等、端末装置100の周囲から発せられた音声を受付けるマイク、すなわち、入力装置である。また、スピーカーSPは、各種の音声を出力するためのスピーカー、すなわち、出力装置である。なお、端末装置100は、複数のマイクMCを有していてもよく、複数のスピーカーSPを有していてもよい。
【0095】
制御部140は、コントローラであり、例えば、CPU、MPU等のプロセッサによって、端末装置100内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部140は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現されてもよい。
【0096】
また、制御部140は、音声取得部141、検出部142、および処理部143を有する。音声取得部141は、音声情報を取得する。例えば、音声取得部141は、マイクMCを介して、利用者の発話音声等を音声情報として取得する。
【0097】
検出部142は、検出対象となる対象音声の終端と、対象音声の始端から経過した期間とを学習させたモデルを用いて、音声取得部141により取得された音声情報から、対象音声の始端を検出する。例えば、検出部142は、記憶部130に登録された学習モデルMを読み出す。そして、検出部42は、音声取得部141により取得された音声情報を、区分ごとに、取得された時系列に沿って順次学習モデルMに入力する。そして、検出部42は、学習モデルMの出力に基づいて、対象音声の終端と始端とを検出し、検出した始端から終端までの範囲をキーワード区間として特定する。
【0098】
例えば、検出部142は、音声取得部141により取得された音声情報を複数の区間に分割し、分割した区間のうち、区間に含まれる音声を入力した際に、対象音声の終端が含まれている旨を示す終端情報を学習モデルMが出力した区間を特定する。続いて、検出部142は、特定した区間について学習モデルM1が出力した期間情報に基づいて、対象音声の始端が含まれる区間を検出する。そして、検出部142は、検出した始端から終端までをキーワード区間として処理部143に通知する。
【0099】
すなわち、検出部142は、学習対象となった音声情報である学習情報に含まれる各区間ごとに、対象音声の終端が含まれているか否かと、対象音声の始端から区間までの期間とを学習させたモデルを用いて、対象音声の始端を含む区間を検出する。また、検出部142は、所定の区間に含まれる音声が入力された場合に所定の区間に前記対象音声の終端が含まれているか否かを示す終端情報と、対象音声の始端から所定の区間までの期間を示す期間情報とを出力するように学習が行われたモデルを用いて、対象音声の始端を含む区間を検出する。また、検出部142は、再帰型ニューラルネットワークの構成を有するモデルに対し、音声情報の各区間に含まれる音声を先頭から順に入力し、モデルが出力した終端情報と期間情報とに基づいて、対象音声の始端を含む区間を検出する。
【0100】
例えば、
図5は、実施形態に係るモデルが出力する情報の一例を示す図である。
図5に示す例では、キーワードの発話を含む音声を72個の区間に分割し、各区間の音声を時系列順に入力した際に学習モデルMが出力する情報の一例について示した。また、
図5に示す例では、学習モデルMは、出力層に「0」から「16」までの番号が付与された17個のノードを有し、各ノード毎に、0以上1以下の値、すなわち確度を出力するように構成されているものとする。また、
図5に示す例では、各ノードが出力した値が所定の第1閾値未満となる区間を白色で示し、第1閾値以上第2閾値未満となる区間を右肩上がりのハッチングで示し、第2閾値以上となる区間を右肩下がりのハッチングで示した。なお、
図5に示す例では、確度が第2閾値以上となった場合、ノードが「1」を出力したと判定するものとする。
【0101】
例えば、
図5に示す例では、ノード0は、入力された音声がキーワードの終端でない場合は「1」に近い値を出力し、入力された音声がキーワードの終端である場合は、「0」に近い値を出力するよう学習が行われたノードである。また、ノード1は、入力された音声がキーワードの終端でない場合は「0」に近い値を出力し、入力された音声がキーワードの終端である場合は、「1」に近い値を出力するよう学習が行われたノードである。また、ノード2は、入力された音声がキーワード区間である場合は「0」に近い値を出力し、入力された音声がキーワード区間でない場合は、「1」に近い値を出力するよう学習が行われたノードである。
【0102】
また、
図5に示す例では、ノード4~ノード16は、それぞれ異なるクラスに対応するノードであり、期間情報を出力するよう学習が行われたノードである。例えば、ノード4は、入力された音声がキーワードの始端から3区間以内の音声である場合は「1」を出力し、それ以外の場合は「0」を出力するように学習が行われたノードである。また、ノード5は、入力された音声がキーワードの始端から3区間以上が経過し、かつ、6区間以内の範囲に含まれる音声である場合は「1」を出力し、それ以外の場合は「0」を出力するように学習が行われたノードである。また、ノード6は、入力された音声がキーワードの始端から6区間以上が経過し、かつ、9区間以内の範囲に含まれる音声である場合は「1」を出力し、それ以外の場合は「0」を出力するように学習が行われたノードである。また、他のノードも同様に、音声がキーワードの始端からそれぞれ異なる区間の音声である場合に「1」を出力するように学習が行われたノードである。なお、学習モデルMは、
図5に示すノード以外にも、さらに多くのクラスに対応するノードを有していてもよい。
【0103】
このような学習モデルMに対して取得した音声を時系列順に入力した場合、各ノード0~16は、
図5に示すような値を出力する。例えば、
図5に示す例ではノード1が、区間「49」において、キーワード区間の終端を検知した結果「1」に近い値を出力している。そこで、検出部142は、ノード1が第2閾値を超える値を出力した区間「49」において、キーワードの終端が検出されたと推定する。
【0104】
続いて、検出部142は、ノード4~ノード16の出力を参照し、区間「49」に含まれる音声が属するクラスを特定する。
図5に示す例では、区間「49」において、ノード13が値を出力し始めている。そこで、検出部142は、区間「49」に含まれる音声をノード13と対応するクラスに分類する。ここで、ノード4に対応するクラスからノード13に対応するクラスまでは、10個のクラスが存在し、各クラスに3つの区間が対応付けられている。このため、検出部142は、キーワードの始端から区間「49」までの期間は、30区間が存在していると推定し、区間「49」から30を減算した区間「19」に、キーワードの始端が含まれていると推定する。この結果、検出部142は、区間「19」から区間「49」までがキーワード区間である旨を検出することができる。
【0105】
図4に戻り、説明を続ける。処理部143は、検出部142により検出された区間に含まれる音声に応じた各種の処理を実行する。例えば、処理部143は、検出された区間内の音声解析を行い、解析結果に応じた各種の処理を実行する。そして、処理部143は、処理の実行結果を示す音声をスピーカーSPから出力する。
【0106】
〔3.情報提供装置および端末装置が実行する処理の流れについて〕
次に、
図6、
図7を用いて、情報提供装置10および端末装置100が実行する処理の流れの一例について説明する。
図6は、実施形態に係る情報提供装置が実行する学習処理の流れの一例を示すフローチャートである。また、
図7は、実施形態に係る端末装置が実行する検出処理の流れの一例を示すフローチャートである。
【0107】
まず、
図6を用いて、学習処理の流れの一例を説明する。まず、情報提供装置10は、対象音声を含む音声情報を学習データとして取得し(ステップS101)、音声情報の各区間について、対象音声の終端が含まれるか否かと、対象音声の始端からの経過時間とをモデルに学習させる(ステップS102)。そして、情報提供装置10は、学習モデルを端末装置100に提供し(ステップS103)、処理を終了する。
【0108】
続いて、
図7を用いて、検出処理の流れの一例を説明する。まず、端末装置100は、発話音声を受付けたか否かを判定し(ステップS201)、受付けていない場合は(ステップS201:No)、ステップS201を実行する。また、端末装置100は、発話音声を受付けた場合は(ステップS201:Yes)、発話音声を学習モデルに入力し、対象音声の終端を推定する(ステップS202)。続いて、端末装置100は、学習モデルにより推定された経過期間に基づいて、始端を推定する(ステップS203)。そして、端末装置100は、キーワード区間を抽出し、抽出したキーワード区間に含まれる音声に応じた処理を実行し(ステップS204)、処理を終了する。
【0109】
〔4.変形例〕
上記では、情報提供装置10による学習処理や検出処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置10や端末装置100が実行する学習処理や検出処理のバリエーションについて説明する。
【0110】
〔4-1.クラスに対応する区間について〕
上述した
図5を用いた説明では、1つのクラスに3つの区間を対応付けた。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、1つのクラスに1つの区間を対応付けるような学習を行ってもよく、1つのクラスに10の区間を対応付けるような学習を行ってもよい。ここで、1つの区間は、1つのフレームと対応してもよく、複数のフレームと対応していてもよい。また、情報提供装置10は、クラスの数に上限値を設けてもよい。
【0111】
〔4-2.装置構成〕
記憶部30に登録された各データベース31、32は、外部のストレージサーバに保持されていてもよい。また、情報提供装置10と端末装置100とは、上述した学習処理および検出処理を連携して実現してもよく、いずれか一方の装置が単独で実行してもよい。
【0112】
〔4-3.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0113】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0114】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0115】
〔4-4.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば
図8に示すような構成のコンピュータ1000によって実現される。
図8は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0116】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
【0117】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0118】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0119】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0120】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0121】
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムまたはデータ(例えば、学習モデルM1)を実行することにより、制御部40の機能を実現する。コンピュータ1000の演算装置1030は、これらのプログラムまたはデータ(例えば、学習モデルM1)を一次記憶装置1040から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
【0122】
〔5.効果〕
上述したように、情報提供装置10は、検出対象となる対象音声が含まれる音声情報を取得し、対象音声の終端と、その対象音声の始端から経過した期間とをモデルに学習させる。このため、情報提供装置10は、入力された音声情報から対象音声が含まれる区間を適切に検出可能なモデルの学習を実現する結果、対象音声が含まれる区間の検出精度を向上させることができる。
【0123】
また、情報提供装置10は、音声情報を複数の区間に分割し、各区間ごとに、対象音声の終端が含まれているか否かと、対象音声の始端からその区間までの期間とをモデルに学習させる。また、情報提供装置10は、所定の区間に含まれる音声をモデルに入力した際に、その所定の区間に対象音声の終端が含まれているか否かを示す終端情報と、対象音声の始端からその所定の区間までの期間を示す期間情報とを出力するように、モデルの学習を行う。また、情報提供装置10は、音声情報を複数の区間に分割し、所定の区間に含まれる音声を入力した際に、対象音声の始端からその所定の区間までの期間に応じた分類結果を出力するよう、モデルの学習を行う。
【0124】
このように、情報提供装置10は、対象音声の終端を検出するとともに、検出した終端から期間情報を遡って対象音声の始端の検出を可能とするモデルを学習する。この結果、情報提供装置10は、対象音声全体の特徴を用いて、対象音声が含まれる区間の検出を実現する結果、対象音声が含まれる区間の検出精度を向上させることができる。
【0125】
また、情報提供装置10は、再帰型ニューラルネットワークの構成を有するモデルに対し、対象音声の終端と、その対象音声の始端から経過した期間とを学習させる。また、情報提供装置10は、所定の端末装置に所定の動作を実行させるための音声を対象音声として含む音声情報を取得する。また、情報提供装置10は、複数の単語を発声した音声、又は、無音の区間を含む音声を対象音声として含む音声情報を取得する。
【0126】
また、情報提供装置10は、対象音声全体の特徴に基づいて、対象音声の終端を検出するようにモデルの学習を行う。例えば、情報提供装置10は、対象音声の各区間が有する特徴の出現順序に基づいて、対象音声の終端を含む区間を検出するようにモデルの学習を行う。上述した処理の結果、情報提供装置10は、対象音声が含まれる区間の検出精度を向上させることができる。
【0127】
また、端末装置100は、音声情報を取得する。そして、端末装置100は、検出対象となる対象音声の終端と、その対象音声の始端から経過した期間とを学習させたモデルを用いて、取得部により取得された音声情報から、対象音声の始端を検出する。このため、端末装置100は、対象音声が含まれる区間の検出精度を向上させることができる。
【0128】
また、端末装置100は、学習対象となった音声情報である学習情報に含まれる各区間ごとに、対象音声の終端が含まれているか否かと、対象音声の始端からその区間までの期間とを学習させたモデルを用いて、音声情報から対象音声の始端を含む区間を検出する。また、端末装置100は、所定の区間に含まれる音声が入力された場合にその所定の区間に対象音声の終端が含まれているか否かを示す終端情報と、対象音声の始端からその所定の区間までの期間を示す期間情報とを出力するように学習が行われたモデルを用いて、音声情報から対象音声の始端を含む区間を検出する。
【0129】
また、端末装置100は、取得された音声情報を複数の区間に分割し、分割した区間のうち、区間に含まれる音声を入力した際に対象音声の終端が含まれている旨を示す終端情報をモデルが出力した区間を特定し、特定した区間についてモデルが出力した期間情報に基づいて、対象音声の始端が含まれる区間を検出する。また、端末装置100は、再帰型ニューラルネットワークの構成を有するモデルに対し、音声情報の各区間に含まれる音声を先頭から順に入力し、そのモデルが出力した終端情報と期間情報とに基づいて、対象音声の始端を含む区間を検出する。このような処理の結果、端末装置100は、対象音声全体の特徴に基づいて、対象音声が含まれる区間を検出するので、検出精度を向上させることができる。
【0130】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0131】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、検出部は、検出手段や検出回路に読み替えることができる。
【符号の説明】
【0132】
10 情報提供装置
20 通信部
30 記憶部
31 学習データデータベース
32 モデルデータベース
40 制御部
41 学習部
42 取得部
43 検出部
44 応答生成部
45 提供部
100 利用者端末