(57)【要約】【課題】音声認識の精度を向上させること。【解決手段】本願に係る認識装置は、取得部と、認識部とを有する。取得部は、利用者の発話を含む音声情報を取得する。認識部は、音声情報と、利用者によって入力されたテキストの履歴である履歴情報とを用いて、かかる音声情報に含まれる発話の認識を行う。【選択図】図３
2020016784.tif 000002
【特許請求の範囲】
【請求項１】
利用者の発話を含む音声情報を取得する取得部と、
前記音声情報と、利用者によって入力されたテキストの履歴である履歴情報とを用いて、当該音声情報に含まれる発話の認識を行う認識部と
を有することを特徴とする認識装置。
【請求項２】
前記認識部は、
前記音声情報に基づいて、前記履歴情報に含まれるテキストのうち前記発話に対応する確度が高いテキストを特定し、特定したテキストに基づいて、前記発話の認識結果を生成する
ことを特徴とする請求項１に記載の認識装置。
【請求項３】
前記認識部は、
検索クエリの履歴を含む前記履歴情報を用いて、前記発話の認識を行う
ことを特徴とする請求項１または２に記載の認識装置。
【請求項４】
前記認識部は、
前記音声情報と、前記履歴情報に含まれるテキストとが入力された場合に、当該履歴情報に含まれるテキストに基づいて、前記音声情報に含まれる発話のテキストを出力するモデルを用いて、前記発話の認識を行う
ことを特徴とする請求項１〜３のうちいずれか１つに記載の認識装置。
【請求項５】
前記認識部は、
前記モデルとして、前記履歴情報に含まれるテキストにうち前記音声情報に含まれる発話のテキストとして確度が高いテキストを、当該発話のテキストとして出力するモデルを用いて、前記発話の認識を行う
ことを特徴とする請求項４に記載の認識装置。
【請求項６】
利用者の発話を含む音声情報と、当該音声情報を入力した際に出力させたい目標テキストを含む履歴情報とを入力した際に、当該目標テキストを出力するようにモデルの学習を行う学習部をさらに有し、
前記認識部は、
前記学習部により学習が行われたモデルを用いて、前記発話の認識を行う
ことを特徴とする請求項１〜５のうちいずれか１つに記載の認識装置。
【請求項７】
前記学習部は、
不明瞭な発音を含む利用者の発話を含む音声情報と、当該音声情報を入力した際に出力させたい目標テキストを含む履歴情報とを入力した際に、当該目標テキストを出力するようにモデルの学習を行う
ことを特徴とする請求項６に記載の認識装置。
【請求項８】
前記認識部は、
前記音声情報から当該音声情報に含まれる発話のテキストを抽出するモデルを用いて、複数のテキストの候補を生成し、生成された複数のテキストと前記履歴情報との比較結果に基づいて、当該複数のテキストの候補から、前記発話の認識結果となるテキストを選択する
ことを特徴とする請求項１〜４のうちいずれか１つに記載の認識装置。
【請求項９】
認識装置が実行する方法であって、
利用者の発話を含む音声情報を取得する取得工程と、
前記音声情報と、利用者によって入力されたテキストの履歴である履歴情報とを用いて、当該音声情報に含まれる発話の認識を行う認識工程と
を含むことを特徴とする認識方法。
【請求項１０】
利用者の発話を含む音声情報を取得する取得手順と、
前記音声情報と、利用者によって入力されたテキストの履歴である履歴情報とを用いて、当該音声情報に含まれる発話の認識を行う認識手順と
をコンピュータに実行させるための認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認識装置、認識方法及び認識プログラムに関する。
【背景技術】
【０００２】
従来、ネットワーク上の情報を音声認識に利用する技術が提案されている。例えば、音声認識結果の単語の検索件数を用いて、音声認識の単語辞書を作成する技術が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２９５８８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、音声認識の精度を向上させることができるとは限らない。
【０００５】
例えば、上記の従来技術では、音声認識結果に誤りがある場合には、音声認識の精度を向上させることができない。
【０００６】
本願は、上記に鑑みてなされたものであって、音声認識の精度を向上させることを目的とする。
【０００７】
本願に係る認識装置は、利用者の発話を含む音声情報を取得する取得部と、前記音声情報と、利用者によって入力されたテキストの履歴である履歴情報とを用いて、当該音声情報に含まれる発話の認識を行う認識部とを有することを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、音声認識の精度を向上させることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係るネットワークシステムの構成例を示す図である。
【図２】図２は、実施形態に係る認識処理の一例を示す図である。
【図３】図３は、実施形態に係る認識装置の構成例を示す図である。
【図４】図４は、実施形態に係るクエリログ情報記憶部の一例を示す図である。
【図５】図５は、実施形態に係る認識装置による認識処理手順を示すフローチャートである。
【図６】図６は、変形例に係る認識処理の一例を示す図である。
【図７】図７は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る認識装置、認識方法及び認識プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る認識装置、認識方法及び認識プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【００１１】
〔１．ネットワークシステムの構成〕
まず、図１を参照して、実施形態に係るネットワークシステム１の構成について説明する。図１は、実施形態に係るネットワークシステム１の構成例を示す図である。図１に示すように、実施形態に係るネットワークシステム１には、端末装置１０と、提供装置２０と、認識装置１００とが含まれる。端末装置１０、提供装置２０および認識装置１００は、それぞれネットワークＮと有線又は無線により接続される。
【００１２】
図１中では図示していないが、ネットワークシステム１は、端末装置１０１〜１０ｎを含んでもよい。本明細書では、端末装置１０１〜１０ｎを区別する必要がない場合は、端末装置１０１〜１０ｎを「端末装置１０」と総称する。また、ネットワークシステム１は、複数台の提供装置２０や、複数台の認識装置１００を含んでもよい。
【００１３】
端末装置１０は、ユーザによって利用される情報処理装置である。端末装置１０は、スマートフォン、デスクトップ型ＰＣ（Personal  Computer）、ノート型ＰＣ、タブレット型ＰＣ、ＰＤＡ（Personal  Digital  Assistant）を含む、任意のタイプの情報処理装置であってもよい。
【００１４】
提供装置２０は、端末装置１０および認識装置１００に、各種情報または機能を提供するサーバ装置である。例えば、提供装置２０は、端末装置１０に対して、検索エンジンを提供する。また、例えば、提供装置２０は、認識装置１００に対して、検索エンジンのクエリログを提供する。
【００１５】
認識装置１００は、ユーザの発話の認識を行うサーバ装置である。認識装置１００は、ネットワークＮを介して、有線又は無線により端末装置１０および提供装置２０と通信を行う。
【００１６】
〔２．認識処理〕
次に、図２を参照して、実施形態に係る認識処理の一例について説明する。図２は、実施形態に係る認識処理の一例を示す図である。
【００１７】
図２の例では、提供装置２０は、検索サイトを介して、端末装置１０に対して検索エンジンを提供する。クエリが検索サイトの検索ウィンドウに入力された場合に、提供装置２０は、クエリに対応する検索結果を、端末装置１０に提供する。提供装置２０は、検索エンジンのクエリログを、認識装置１００に送信する。一例では、クエリログは、所定の回数以上入力された検索クエリを示すテキストデータである。この例では、テキストデータは、テキストベースのウェブ検索において頻出するクエリを示す。図２の例では、クエリログは、例えば、単語「海の生き物」を含む。すなわち、単語「海の生き物」は、所定の回数以上、検索クエリとして入力されている。
【００１８】
図２の例では、認識装置１００は、提供装置２０から受信されたクエリログと、音声認識モデルＲＭ１とを用いて、ユーザの発話内容を示すテキストデータを生成する。図２の例では、音声認識モデルＲＭ１は、音声認識を行うメモリニューラルネットワーク（Memory  Neural  Network）である。例えば、ユーザの音声データの音響特徴量が音声認識モデルＲＭ１に入力された場合に、音声認識モデルＲＭ１は、ユーザの発話内容を示すテキストデータを音声認識結果として出力する。図２の例では、音声認識モデルＲＭ１は、メモリＭ１と接続されている。
【００１９】
はじめに、認識装置１００は、提供装置２０からクエリログを受信する。そして、認識装置１００は、受信されたクエリログに対応する埋め込みベクトル（例えば、分散表現）を生成し、生成されたクエリログに対応する埋め込みベクトルを、メモリＭ１に格納する。
【００２０】
次いで、認識装置１００は、所定のユーザの音声データを含む訓練データを用いて、音声認識モデルＲＭ１を学習する。より具体的には、認識装置１００は、メモリＭ１に記憶された埋め込みベクトルに対応するクエリログの単語が音声認識結果として出力される確率が上昇するように、音声認識モデルＲＭ１を学習する。例えば、認識装置１００は、メモリＭ１に記憶された埋め込みベクトルを用いて、音声認識結果となる単語の重要度を示す重みであるメモリニューラルネットワークの重みを算出し、算出された重みに基づいて、クエリログの単語に対応する音声認識モデルＲＭ１を学習する。
【００２１】
一例では、認識装置１００は、メモリニューラルネットワークの重みを、音声データとクエリログの単語との間の類似性に基づいて決定する。例えば、認識装置１００は、音声データから生成された単語の埋め込みベクトルと、クエリログの単語の埋め込みベクトルとを比較することで、音声データとクエリログの単語との間の類似度を算出し、算出された類似度を、メモリニューラルネットワークの重みとして決定する。
【００２２】
次いで、認識装置１００は、音声アシスタントアプリケーションを介して、ユーザＵ１の発話に対応する音声データを端末装置１０１から受信する。ここで、図２に示す例では、ユーザＵ１が「海の生き物を検索」と発話したが、背景音や残響音等のノイズ、利用者の滑舌や発音、端末装置１０１が有するマイクの精度等、各種の要因により音声の認識が不明瞭となり、「うみのひきものを検索」といった音声認識が行われうる音声データを受信したものとする。なお、このような不明瞭な発話を含む音声データは、利用者が正しい発音であると意図しているが、正確な発音ではない発話を含むものとする。すなわち、不明瞭な発話を含む音声データには、発話の音声が不明瞭となる結果従来の音声認識技術では利用者が意図したものとは異なる音声認識が行われうる音声データのみならず、発話の音声が明瞭であるものの利用者が誤った発音を行なっている音声データ、すなわち、発話の内容が不明瞭な音声データを含む概念である。
【００２３】
次いで、認識装置１００は、メモリＭ１に基づいてユーザＵ１の音声情報からテキストを抽出する音声認識モデルＲＭ１を用いて、ユーザＵ１の発話を音声認識する。より具体的には、認識装置１００は、音声認識モデルＲＭ１のメモリＭ１に含まれるクエリログを注意対象としながら、ユーザＵ１の発話内容を示すテキストデータを生成する。
【００２４】
図２の例では、ユーザＵ１の音声情報の「うみのひきもの」に対応する音素列は、「海の挽き物」、「海の生き物」、「膿の生き物」、「海の着物」等に対応する場合がある。かかる音素列は、「うみのひぃきもの」等にも対応し得る。図２の例では、認識装置１００は、メモリＭ１に含まれるクエリログの単語「海の生き物」を注意対象とすることで、ユーザＵ１の発話内容を示すテキストデータ「海の生き物」を音声認識結果として出力する。すなわち、認識装置１００は、メモリＭ１に格納されたクエリログを用いて、音声認識の結果を補正する。換言すると、認識装置１００は、クエリログに含まれるいずれかの単語や文字列が音声認識の結果として生成され易いように、利用者の発話を含む音声データの音声認識を行う。認識装置１００は、例えば、クエリログを用いない場合よりもクエリログを用いた場合に、クエリログに含まれるいずれかの単語や文字列が音声認識結果として生成される可能性がより高くなるように、音声データの音声認識を行う。
【００２５】
上述のように、実施形態に係る認識装置１００は、検索エンジンのクエリログと、ユーザの発話に対応する音声データとを取得する。そして、認識装置１００は、クエリログを注意対象としながら、ユーザの発話を音声認識する。すなわち、認識装置１００は、テキストベースのウェブ検索において頻出するクエリ（例えば、所定の回数以上入力された検索クエリ）に注目しながら、ユーザの発話を音声認識する。これにより、認識装置１００は、ユーザの発音が明瞭でない場合でも、ユーザの発話を適切に認識することができる。以下、このような認識処理を実現する認識装置１００について詳細に説明する。
【００２６】
〔３．学習装置の構成〕
次に、図３を参照して、実施形態に係る認識装置１００の構成例について説明する。図３は、実施形態に係る認識装置１００の構成例を示す図である。図３に示すように、認識装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、認識装置１００は、認識装置１００を利用する管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（液晶ディスプレイ等）を有してもよい。
【００２７】
（通信部１１０）
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１０は、ネットワーク網と有線又は無線により接続され、ネットワーク網を介して、端末装置１０および提供装置２０との間で情報の送受信を行う。
【００２８】
（記憶部１２０）
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図３に示すように、記憶部１２０は、クエリログ情報記憶部１２１と、音声認識モデル記憶部１２２とを有する。
【００２９】
（クエリログ情報記憶部１２１）
図４は、実施形態に係るクエリログ情報記憶部１２１の一例を示す図である。クエリログ情報記憶部１２１は、利用者（例えば、ユーザ）によって入力されたテキストの履歴である履歴情報を記憶する。クエリログ情報記憶部１２１は、例えば、検索エンジンを提供する検索サービスの履歴情報を記憶する。例えば、履歴情報は、クエリログ情報記憶部１２１は、検索エンジンのクエリログを記憶する。
【００３０】
履歴情報は、検索エンジンを提供する検索サービスの以外のサービスの履歴情報であってもよい。例えば、履歴情報は、ネットワーク上のＱＡサービス（例えば、ユーザから質問を受け付け、その後、他のユーザから質問に対する回答を受け付けるサービス）の履歴情報であってもよい。この場合、履歴情報に含まれるテキストは、ＱＡサービスの質問に含まれるキーワードである。
【００３１】
履歴情報は、検索サービス以外のサービスのウェブサイトの履歴に関する情報であってもよい。一例では、履歴情報は、ショッピングサイトの商品購入履歴に関する情報であってもよい。この例では、履歴情報は、商品に関連する名称を示すテキストや、商品に関連するタグを含む。別の例では、履歴情報は、ショッピングサイトの商品マスタデータであってもよい。
【００３２】
クエリログ情報記憶部１２１は、例えば、受信部１３１によって受信された履歴情報（例えば、検索エンジンのクエリログ）を記憶する。図４の例では、クエリログ情報記憶部１２１には、「クエリ」が「ユーザＩＤ」ごとに記憶される。「ユーザＩＤ」は、ユーザを識別するための識別子を示す。例示として、「クエリログ」には、項目「クエリ」が含まれる。例えば、図４は、ユーザＩＤ「Ｕ１」で識別されるユーザが、クエリ「クエリＱ１」を入力したことを示している。一例では、クエリは、ウェブサイトの検索ウィンドウに入力された「あいうえお」等のキーワードである。
【００３３】
（音声認識モデル記憶部１２２）
図３に戻ると、音声認識モデル記憶部１２２は、音声認識モデルを記憶する。例えば、音声認識モデル記憶部１２２は、音声情報からテキストを抽出するモデルを記憶する。また、例えば、音声認識モデル記憶部１２２は、クエリログに基づいて音声情報からテキストを抽出するモデルを記憶する。音声認識モデル記憶部１２２は、所定のサーバから受信された音声認識モデルを記憶する。
【００３４】
音声認識モデル記憶部１２２は、例えば、学習部１３５によって学習されたモデルであって、音声情報からテキストを抽出するモデルを記憶する。音声認識モデル記憶部１２２は、例えば、学習部１３５によって学習されたモデルであって、クエリログに基づいて音声情報からテキストを抽出するモデルを記憶する。
【００３５】
一例では、音声認識モデルは、メモリニューラルネットワークである。例えば、音声認識モデルは、所定のメモリと接続されたニューラルネットワークである。音声認識モデルは、エンドツーエンドメモリネットワーク（end  -  to  -  end  Memory  Network）であってもよい。音声認識モデルは、ソフト注意機構（soft  attention  mechanism）としてメモリを含んでもよい。
【００３６】
（制御部１３０）
制御部１３０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、認識装置１００内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部１３０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００３７】
（受信部１３１）
受信部１３１は、提供装置２０から、利用者の発話を含む音声情報を受信する。一例では、提供装置２０からクエリログを受信する。受信部１３１は、受信された音声情報を、記憶部１２０内の所定の記憶領域である音声情報記憶部（図示せず）に格納してもよい。
【００３８】
受信部１３１は、提供装置２０から、利用者によって入力されたテキストの履歴である履歴情報を受信する。受信部１３１は、受信された履歴情報を、クエリログ情報記憶部１２１に格納してもよい。
【００３９】
受信部１３１は、所定のサーバから、音声認識モデルを受信してもよい。受信部１３１は、受信された音声認識モデルを、音声認識モデル記憶部１２２に格納してもよい。
【００４０】
受信部１３１は、所定のサーバから、ユーザの音声データを含む訓練データを受信してもよい。受信部１３１は、受信された訓練データを、記憶部１２０内の所定の記憶領域である訓練データ記憶部（図示せず）に格納してもよい。
【００４１】
（取得部１３２）
取得部１３２は、利用者の発話を含む音声情報を取得する。取得部１３２は、例えば、受信部１３１によって受信された音声情報を取得する。取得部１３２は、記憶部１２０内の所定の記憶領域である音声情報記憶部から音声情報を取得してもよい。
【００４２】
利用者の発話を含む音声情報は、例えば、利用者の発話の音響特徴量を示す情報である。例えば、音声情報は、利用者の音声信号に対応するメルフィルタバンクの出力である。また、例えば、音声情報は、利用者の音声信号に対応するメル周波数ケプストラム係数である。音声情報は、利用者の音声信号に対応する信号波形であってもよい。音声情報が信号波形である場合には、取得部１３２は、信号波形から音響特徴量を抽出してよい。
【００４３】
取得部１３２は、利用者によって入力されたテキストの履歴である履歴情報を取得する。例えば、受信部１３１によって受信された履歴情報を取得する。取得部１３２は、クエリログ情報記憶部１２１から履歴情報を取得してもよい。
【００４４】
（認識部１３３）
認識部１３３は、音声情報と、利用者によって入力されたテキストの履歴である履歴情報とを用いて、かかる音声情報に含まれる発話の認識を行う。例えば、認識部１３３は、音声情報に基づいて、履歴情報に含まれるテキストのうち音声情報に含まれる発話に対応する確度が高いテキストを特定し、特定したテキストに基づいて、かかる発話の認識結果を生成する。また、例えば、認識部１３３は、検索クエリの履歴を含む履歴情報を用いて、発話の認識を行う。一例では、検索クエリの履歴は、所定の検索エンジンのクエリログである。
【００４５】
例えば、認識部１３３は、音声情報と、履歴情報に含まれるテキストとが入力された場合に、かかる履歴情報に含まれるテキストに基づいて、音声情報に含まれる発話のテキストを出力するモデルを用いて、発話の認識を行う。例えば、認識部１３３は、かかるモデルとして、履歴情報に含まれるテキストのうち音声情報に含まれる発話のテキストとして確度が高いテキストを、かかる発話のテキストとして出力するモデルを用いて、発話の認識を行う。
【００４６】
より具体的には、認識部１３３は、音声情報が入力された場合に、かかる音声情報に含まれる音声の発音に類似する発音に関するテキストであって、履歴情報に含まれるテキストを、音声情報に含まれる発話のテキストとして出力するモデルを用いて、発話の認識を行う。一例では、認識部１３３は、音声「うみのひきもの」を含む音声情報が入力された場合に、音声「うみのひきもの」の発音に類似する発音に関するテキスト「海の生き物（うみのいきもの）」を、かかる音声情報に含まれる発話のテキストとして出力する。
【００４７】
一例では、発話のテキストを出力するモデルは、メモリニューラルネットワークである。この例では、認識部１３３は、メモリに基づいて利用者（例えば、ユーザ）の音声情報からテキストを抽出する音声認識モデルを用いて、利用者の発話を音声認識する。より具体的には、認識部１３３は、音声認識モデルのメモリに含まれるクエリログを注意対象としながら、利用者の発話内容を示すテキストデータを生成する。
【００４８】
一例では、音声認識モデルのメモリは、キーワード「あいうえお」に対応する埋め込みベクトルを含む。例えば、利用者の「あいうえお」の発音が明瞭でないと仮定すると、利用者の音声情報の「あえういお」に対応する音素列は、「あいうえお」、「あえういお」、「はいふえお」等に対応する場合がある。この例では、認識部１３３は、音声認識モデルのメモリに含まれるキーワード「あいうえお」を注意対象とすることで、利用者の発話内容を示すテキストデータ「あいうえお」を音声認識結果として出力する。
【００４９】
認識部１３３は、学習部１３５により学習が行われたモデルを用いて、発話の認識を行ってもよい。
【００５０】
（生成部１３４）
生成部１３４は、利用者によって入力されたテキストの履歴である履歴情報に対応する記憶情報を生成する。例えば、生成部１３４は、履歴情報のテキストに対応する埋め込みベクトルを、記憶情報として生成する。生成部１３４は、生成された記憶情報を、音声認識モデルのメモリに格納する。その結果、生成された記憶情報は、メモリニューラルネットワークのネットワーク内に含まれることとなる。
【００５１】
（学習部１３５）
学習部１３５は、ユーザの音声データを含む訓練データを用いて、音声認識モデルを学習する。学習部１３５は、例えば、受信部１３１によって受信された訓練データを用いて、音声認識モデルを学習する。
【００５２】
訓練データは、例えば、ユーザの音声の音声特徴量を示すデータと、ユーザの音声に対応付けられたラベル等を含む。音声特徴量は、例えば、メルフィルタバンクやメル周波数ケプストラム係数等である。また、ユーザの音声に対応付けられたラベルは、音素ラベルや、音素ラベル列等である。
【００５３】
学習部１３５は、利用者の発話を含む音声情報と、かかる音声情報を入力した際に出力させたい目標テキストを含む履歴情報とを入力した際に、かかる目標テキストを出力するようにモデルの学習を行う。例えば、学習部１３５は、不明瞭な発音を含む利用者の発話を含む音声情報と、かかる音声情報を入力した際に出力させたい目標テキストを含む履歴情報とを入力した際に、かかる目標テキストを出力するようにモデルの学習を行う。
【００５４】
例えば、学習部１３５は、単語の境界が不明確である利用者の発話を含む音声情報と、目標テキストを含む履歴情報とを入力した際に、かかる目標テキストのうちかかる単語の発音に類似する発音に対応するテキストを出力するようにモデルの学習を行う。一例では、学習部１３５は、発話「うみのひぃきもの」と、目標テキスト「海の生き物」を含む履歴情報とを入力した際に、目標テキスト「海の生き物」を出力するようにモデルの学習を行う。
【００５５】
また、例えば、学習部１３５は、メモリに記憶された記憶情報に対応するクエリログの単語が音声認識結果として出力される確率が上昇するように、音声認識モデルを学習する。例えば、学習部１３５は、メモリに記憶された埋め込みベクトル（すなわち、履歴情報のテキストに対応する埋め込みベクトル）を用いて、音声認識結果となる単語の重要度を示す重みであるメモリニューラルネットワークの重みを算出し、算出された重みに基づいて、クエリログの単語に対応する音声認識モデルを学習する。メモリニューラルネットワークの重みは、ソフト注意機構（soft  attention  mechanism）における隠れ状態ベクトルの重要度を示す重みに相当する。
【００５６】
一例では、学習部１３５は、メモリニューラルネットワークの重みを、音声データとクエリログの単語との間の類似性に基づいて決定する。例えば、学習部１３５は、音声データから生成された単語の埋め込みベクトルと、クエリログの単語の埋め込みベクトルとを比較することで、音声データとクエリログの単語との間の類似度を算出し、算出された類似度を、メモリニューラルネットワークの重みとして決定する。この例では、学習部１３５は、エンコーダ（符号化器）と、ソフト注意機構に対応するメモリと、デコーダ（復号化器）とを含むメモリニューラルネットワークの学習を行う。
【００５７】
例えば、学習部１３５は、エンドツーエンドのメモリネットワークにおいて、ＬＳＴＭ（long  short  -  term  memory）（例えば、エンコーダＲＮＮ（recurrent  neural  network）を用いて、利用者の発話の音響特徴量を第１の埋め込みベクトルに符号化する。また、学習部１３５は、クエリログの単語を第２の埋め込みベクトルに符号化する。次いで、学習部１３５は、第１の埋め込みベクトルと、第２の埋め込みベクトルとを用いて、メモリネットワークの重みを算出する。次いで、学習部１３５は、第１の埋め込みベクトルを算出された重みで重み付けすることで、隠れ状態ベクトルを生成する。次いで、学習部１３５は、第２のＬＳＴＭ（例えば、デコーダＲＮＮ）を用いて、生成された隠れ状態ベクトルを音素列に復号化（デコード）する。その後、学習部１３５は、単語誤り率に対応する交差エントロピー等に基づいて、メモリニューラルネットワークの学習を行う。
【００５８】
（提供部１３６）
提供部１３６は、認識部１３３によって出力された音声認識結果を提供する。例えば、提供部１３６は、利用者の発話内容を示すテキストデータを、提供装置２０に送信する。提供部１３６は、学習部１３５によって学習された音声認識モデルを、提供装置２０に提供してもよい。
【００５９】
〔４．認識処理のフロー〕
次に、実施形態に係る認識装置１００による認識処理の手順について説明する。図５は、実施形態に係る認識装置１００による認識処理手順を示すフローチャートである。
【００６０】
図５に示すように、はじめに、認識装置１００は、利用者の発話を含む音声情報を取得する（ステップＳ１０１）。例えば、利用者の発話の音響特徴量を示す情報を取得する。
【００６１】
次いで、認識装置１００は、音声情報と、利用者によって入力されたテキストの履歴である履歴情報とを用いて、かかる音声情報に含まれる発話の認識を行う（ステップＳ１０２）。例えば、認識装置１００は、履歴情報に含まれるテキストを用いて、発話に対応するテキストを、かかる発話の認識結果として生成する。また、例えば、認識装置１００は、クエリログである履歴情報を用いて、発話の認識を行う。
【００６２】
例えば、認識装置１００は、クエリログに基づいて音声情報からテキストを抽出するモデルを用いて、発話の認識を行う。一例では、モデルは、メモリニューラルネットワークである。この例では、認識装置１００は、メモリに基づいて利用者の音声情報からテキストを抽出する音声認識モデルを用いて、利用者の発話を音声認識する。より具体的には、認識装置１００は、音声認識モデルのメモリに含まれるクエリログを注意対象としながら、利用者の発話内容を示すテキストデータを生成する。
【００６３】
〔５．変形例〕
上述の実施形態に係る認識装置１００は、上記の実施形態以外にも、種々の異なる形態で実施されてよい。そこで、以下では、上記の認識装置１００の他の実施形態について説明する。
【００６４】
〔５−１．音声認識処理後のクエリログの利用〕
上記実施形態では、認識部１３３は、クエリログに基づいて音声情報からテキストを抽出するモデルを用いて、発話の認識を行っているが、これに限定されるものではない。認識部１３３は、音声情報から音声情報に含まれる発話のテキストを抽出するモデルを用いて、複数のテキストの候補を生成し、生成された複数のテキストと履歴情報との比較結果に基づいて、かかる複数のテキストの候補から、発話の認識結果となるテキストを選択してもよい。
【００６５】
以下の説明では、図６を参照し、音声認識モデルによる音声認識処理後のクエリログの利用について説明する。図６は、変形例に係る認識処理の一例を示す図である。
【００６６】
はじめに、受信部１３１は、利用者の発話を含む音声情報を受信する。図６の例では、図２の例と同様に、受信部１３１は、音声アシスタントアプリケーションを介して、ユーザＵ１の発話「うみのひきものを検索」に対応する音声データを、端末装置１０１から受信する。
【００６７】
次いで、認識部１３３は、音声情報からテキストを抽出するモデルを用いて、複数のテキストの候補を生成する。より具体的には、認識部１３３は、音響モデル（例えば、ＤＮＮ  -  ＨＭＭモデル（Deep  Neural  Network  -  Hidden  Markov  Model）モデル）を音声認識モデルとして用いて、発話の認識を行う。図６の例では、認識部１３３は、所定の音響モデルである音声認識モデルＲＭ２を用いて、複数の認識候補を出力する。一例では、認識部１３３は、「海の挽き物を検索」、「海の生き物を検索」等を含む複数の認識候補を、複数のテキストとして出力する。
【００６８】
次いで、認識部１３３は、生成された複数のテキストと履歴情報との比較結果に基づいて、かかる複数のテキストの候補から、発話の認識結果となるテキストを選択する。より具体的には、認識部１３３は、クエリログに基づいて、複数の認識候補の中から認識結果を決定する。
【００６９】
図６の例では、認識部１３３は、テキストの候補「海の挽き物を検索」を第１候補として出力する。また、認識部１３３は、テキストの候補「海の生き物を検索」を第２候補として出力する。そして、認識部１３３は、クエリログ情報記憶部１２１を参照し、クエリログ情報記憶部１２１が複数の認識候補のいずれかにマッチするクエリ（例えば、キーワード）を記憶しているか否かを決定する。図６の例では、クエリログ情報記憶部１２１はクエリ「海の生き物」を記憶している。この例では、認識部１３３は、複数の認識候補の中から、クエリ「海の生き物」に対応する単語を含むテキストの候補「海の生き物を検索」を、認識結果として決定する。すなわち、認識部１３３は、クエリログ情報記憶部１２１に含まれるクエリに基づいて、音声認識モデルＲＭ２によって出力されたテキストの候補の順位を入れ替える。
【００７０】
〔５−２．ドメインに応じたクエリログの変更〕
認識部１３３は、利用者の発話と関連性を有する履歴情報を用いて、音声情報に含まれる発話の認識を行ってもよい。例えば、利用者の発話に関連するドメインの履歴情報を用いて、音声情報に含まれる発話の認識を行ってもよい。
【００７１】
一例では、ドメインは、検索結果の種類、検索のタイプ、検索対象の種類等を表す。例えば、ドメインは、ウェブページ、ニュース、画像、地図、動画等を含む。この例では、利用者が検索要求「うみのひきものの画像見せて」を発話した場合に、認識部１３３は、画像検索のクエリログに基づいて音声情報からテキストを抽出するモデルを用いて、利用者の発話の認識を行う。
【００７２】
別の例では、ドメインは、サービスのカテゴリ等を表す。例えば、ドメインは、ネットワーク上のＱＡサービス、ショッピングサービス等である。この例では、利用者が音声アシスタントに対して、「好きなうみのひきものは何ですか？」という質問を発話した場合に、認識部１３３は、ネットワーク上のＱＡサービスのクエリログに基づいて音声情報からテキストを抽出するモデルを用いて、利用者の発話の認識を行う。
【００７３】
〔５−３．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【００７４】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００７５】
例えば、図３に示した記憶部１２０の一部又は全部は、認識装置１００によって保持されるのではなく、ストレージサーバ等に保持されてもよい。この場合、認識装置１００は、ストレージサーバにアクセスすることで、クエリログ情報や音声認識モデル等の各種情報を取得する。
【００７６】
〔５−４．ハードウェア構成〕
また、上述してきた実施形態に係る認識装置１００は、例えば図７に示すような構成のコンピュータ１０００によって実現される。図７は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【００７７】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一時的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ(Read  Only  Memory)、ＨＤＤ、フラッシュメモリ等により実現される。
【００７８】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（Universal  Serial  Bus）やＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）といった規格のコネクタにより実現される。また、入力ＩＦ１０７０は、マウス、キーボード、およびスキャナ等といった各種の入力装置１０２０から情報を受信するためのインタフェースであり、例えば、ＵＳＢ等により実現される。
【００７９】
なお、入力装置１０２０は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置１０２０は、ＵＳＢメモリ等の外付け記憶媒体であってもよい。
【００８０】
ネットワークＩＦ１０８０は、ネットワークＮを介して他の機器からデータを受信して演算装置１０３０へ送り、また、ネットワークＮを介して演算装置１０３０が生成したデータを他の機器へ送信する。
【００８１】
演算装置１０３０は、出力ＩＦ１０６０や入力ＩＦ１０７０を介して、出力装置１０１０や入力装置１０２０の制御を行う。例えば、演算装置１０３０は、入力装置１０２０や二次記憶装置１０５０からプログラムを一次記憶装置１０４０上にロードし、ロードしたプログラムを実行する。
【００８２】
例えば、コンピュータ１０００が認識装置１００として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムを実行することにより、制御部１３０の機能を実現する。
【００８３】
〔６．効果〕
上述してきたように、実施形態に係る認識装置１００は、取得部１３２と、認識部１３３とを有する。取得部１３２は、利用者の発話を含む音声情報を取得する。認識部１３３は、音声情報と、利用者によって入力されたテキストの履歴である履歴情報とを用いて、かかる音声情報に含まれる発話の認識を行う。このため、認識装置１００は、利用者によるテキストの入力履歴を用いて、音声認識の精度を向上させることができる。
【００８４】
また、実施形態に係る認識装置１００において、認識部１３３は、音声情報に基づいて、履歴情報に含まれるテキストのうち発話に対応する確度が高いテキストを特定し、特定したテキストに基づいて、かかる発話の認識結果を生成する。このため、認識装置１００は、自然な音声認識結果を利用者に提供することができる。
【００８５】
また、実施形態に係る認識装置１００において、認識部１３３は、検索クエリの履歴を含む履歴情報を用いて、発話の認識を行う。
【００８６】
また、実施形態に係る認識装置１００において、認識部１３３は、音声情報と、履歴情報に含まれるテキストとが入力された場合に、かかる履歴情報に含まれるテキストに基づいて、音声情報に含まれる発話のテキストを出力するモデルを用いて、発話の認識を行う。
【００８７】
また、実施形態に係る認識装置１００において、認識部１３３は、音声情報に含まれる発話のテキストを出力するモデルとして、履歴情報に含まれるテキストのうち音声情報に含まれる発話のテキストとして確度が高いテキストを、かかる発話のテキストとして出力するモデルを用いて、発話の認識を行う。
【００８８】
また、実施形態に係る認識装置１００は、利用者の発話を含む音声情報と、かかる音声情報を入力した際に出力させたい目標テキストを含む履歴情報とを入力した際に、かかる目標テキストを出力するようにモデルの学習を行う学習部１３５を有する。また、実施形態に係る認識装置１００において、認識部１３３は、学習部１３５により学習が行われたモデルを用いて、発話の認識を行う。
【００８９】
また、実施形態に係る認識装置１００において、学習部１３５は、不明瞭な発音を含む利用者の発話を含む音声情報と、かかる音声情報を入力した際に出力させたい目標テキストを含む履歴情報とを入力した際に、かかる目標テキストを出力するようにモデルの学習を行う。
【００９０】
また、実施形態に係る認識装置１００において、認識部１３３は、音声情報から音声情報に含まれる発話のテキストを抽出するモデルを用いて、複数のテキストの候補を生成し、生成された複数のテキストと履歴情報との比較結果に基づいて、かかる複数のテキストの候補から、発話の認識結果となるテキストを選択する。
【００９１】
上述した各処理により、認識装置１００は、ユーザの発音が明瞭でない場合でも、ユーザの発話を適切に認識することができる。
【００９２】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【００９３】
また、上述した認識装置１００は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をＡＰＩ（Application  Programming  Interface）やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
【００９４】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、受信部は、受信手段や受信回路に読み替えることができる。
【符号の説明】
【００９５】
１  ネットワークシステム
１０  端末装置
２０  提供装置
１００  認識装置
１２０  記憶部
１２１  クエリログ情報記憶部
１２２  音声認識モデル記憶部
１３０  制御部
１３１  受信部
１３２  取得部
１３３  認識部
１３４  生成部
１３５  学習部
１３６  提供部
【図１】
2020016784.tif 000003
【図２】
2020016784.tif 000004
【図３】
2020016784.tif 000005
【図４】
2020016784.tif 000006
【図５】
2020016784.tif 000007
【図６】
2020016784.tif 000008
【図７】
2020016784.tif 000009