(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023148390
(43)【公開日】2023-10-13
(54)【発明の名称】音声認識装置、音声認識方法及びプログラム
(51)【国際特許分類】
G10L 15/02 20060101AFI20231005BHJP
G10L 15/16 20060101ALI20231005BHJP
【FI】
G10L15/02 300Z
G10L15/16
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022056377
(22)【出願日】2022-03-30
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り (1)集会名、開催場所 APSIPA2021:13th Asia Pacific Signal and Information Processing Association Annual Summit and Conference、Kokusai Fashion Centre Bldg.,Yokoami 1-6-1,Sumida City,Tokyo 開催日 令和3年12月15日 (2)集会名、開催場所 日本音響学会2021年秋季研究発表会、オンライン開催 開催日 令和3年9月8日(予稿集刊行日 令和3年8月24日)
(71)【出願人】
【識別番号】398018021
【氏名又は名称】株式会社アドバンスト・メディア
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】小島 淳嗣
(57)【要約】
【課題】認識精度を向上させながら、認識時間を短縮させるための音声認識モデルを提供することである。
【解決手段】本開示の一態様は、音響特徴量から隠れ音響ベクトルを生成するオーディオ処理部と、予測対象の発話の文字列から隠れラベルベクトルを生成するラベル処理部と、前記予測対象の発話に対する過去の発話から隠れコンテクストベクトルを生成し、前記隠れコンテクストベクトルと前記隠れラベルベクトルとに基づいてソフトアテンションを計算し、計算されたソフトアテンションと前記隠れラベルベクトルとからコンテクストベクトルを生成するコンテクスト処理部と、前記隠れ音響ベクトルと前記コンテクストベクトルとから前記予測対象の発話を予測する合成部と、を有する音声認識装置に関する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
音響特徴量から隠れ音響ベクトルを生成するオーディオ処理部と、
予測対象の発話の文字列から隠れラベルベクトルを生成するラベル処理部と、
前記予測対象の発話に対する過去の発話から隠れコンテクストベクトルを生成し、前記隠れコンテクストベクトルと前記隠れラベルベクトルとに基づいてソフトアテンションを計算し、計算されたソフトアテンションと前記隠れラベルベクトルとからコンテクストベクトルを生成するコンテクスト処理部と、
前記隠れ音響ベクトルと前記コンテクストベクトルとから前記予測対象の発話を予測する合成部と、
を有する音声認識装置。
【請求項2】
i番目の発話のj番目の文字の認識結果を取得すると、前記ラベル処理部は、前記取得したj番目の文字の認識結果から対応する隠れラベルベクトルを生成し、
前記合成部は、前記オーディオ処理部によって生成された前記i番目の発話の音響特徴量、前記j番目の文字に対応する隠れラベルベクトル、及び前記コンテクスト処理部によって生成された(i-1)番目の発話までの過去の発話から生成された隠れコンテクストベクトルから、(j+1)番目の文字を予測する、請求項1に記載の音声認識装置。
【請求項3】
前記合成部が前記i番目の発話の予測を完了すると、前記コンテクスト処理部は、前記i番目の発話までの過去の発話から隠れコンテクストベクトルを生成する、請求項2に記載の音声認識装置。
【請求項4】
前記オーディオ処理部、前記ラベル処理部、前記コンテクスト処理部及び前記合成部はそれぞれ、機械学習モデルを有し、
前記機械学習モデルは、エンド・ツー・エンド方式で訓練される、請求項1に記載の音声認識装置。
【請求項5】
前記コンテクスト処理部は、トランスフォーマから構成されるコンテクストエンコーダを有する、請求項4に記載の音声認識装置。
【請求項6】
音響特徴量から隠れ音響ベクトルを生成するステップと、
予測対象の発話の文字列から隠れラベルベクトルを生成するステップと、
前記予測対象の発話に対する過去の発話から隠れコンテクストベクトルを生成するステップと、
前記隠れコンテクストベクトルと前記隠れラベルベクトルとに基づいてソフトアテンションを計算するステップと、
前記ソフトアテンションと前記隠れラベルベクトルとからコンテクストベクトルを生成するステップと、
前記隠れ音響ベクトルと前記コンテクストベクトルとから前記予測対象の発話を予測するステップと、
を有する、コンピュータによって実行される音声認識方法。
【請求項7】
音響特徴量から隠れ音響ベクトルを生成する処理と、
予測対象の発話の文字列から隠れラベルベクトルを生成する処理と、
前記予測対象の発話に対する過去の発話から隠れコンテクストベクトルを生成する処理と、
前記隠れコンテクストベクトルと前記隠れラベルベクトルとに基づいてソフトアテンションを計算する処理と、
前記ソフトアテンションと前記隠れラベルベクトルとからコンテクストベクトルを生成する処理と、
前記隠れ音響ベクトルと前記コンテクストベクトルとから前記予測対象の発話を予測する処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、音声認識装置、音声認識方法及びプログラムに関する。
【背景技術】
【0002】
ディープラーニングとしばしば呼ばれる機械学習技術の進化によって、様々な用途に機械学習モデルが利用されてきている。例えば、音声認識技術においても、機械学習モデルが利用されてきている。機械学習モデルを利用した音声認識では、認識対象の音声データが機械学習モデルに入力され、当該機械学習モデルから音声データにおける発話内容を示す認識結果(すなわち、認識仮説)が取得される。
【0003】
音声認識では、発話単位の音声認識処理を行うことが一般的であるが、会話や対話では過去の発話の文脈情報を活用することが効果的である。例えば、非特許文献1では、発話境界を超えて利用できる長距離文脈情報を活用するTransformerモデルが提案され、長距離文脈情報の有効性が示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2015-075706号公報
【特許文献2】特開2013-072922号公報
【非特許文献】
【0005】
【非特許文献1】T. Hori et al., “Transformer-based long-context end-to-end speech recognition”, in Proc. INTERSPEECH, 2020.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、この提案方法では、Transformerモデルによって音声認識処理を実現しているため、バッチ処理となり、発話終了後に音声認識処理が実行される。このため、認識結果を得るのに時間がかかる。
【0007】
また、当該提案方法は、所定数の発話を処理対象とする固定的なスライディングウィンドウに基づいているため、利用可能な過去の発話数は限定される。
【0008】
上記問題点に鑑み、本開示の1つの課題は、認識精度を向上させながら、認識時間を短縮させるための音声認識モデルを提供することである。
【課題を解決するための手段】
【0009】
本開示の一態様は、音響特徴量から隠れ音響ベクトルを生成するオーディオ処理部と、予測対象の発話の文字列から隠れラベルベクトルを生成するラベル処理部と、前記予測対象の発話に対する過去の発話から隠れコンテクストベクトルを生成し、前記隠れコンテクストベクトルと前記隠れラベルベクトルとに基づいてソフトアテンションを計算し、計算されたソフトアテンションと前記隠れラベルベクトルとからコンテクストベクトルを生成するコンテクスト処理部と、前記隠れ音響ベクトルと前記コンテクストベクトルとから前記予測対象の発話を予測する合成部と、を有する音声認識装置に関する。
【発明の効果】
【0010】
本開示によれば、認識精度を向上させながら、認識時間を短縮させるための音声認識モデルを提供することができる。
【図面の簡単な説明】
【0011】
【
図1】本開示の一実施例による音声認識処理を示す概略図である。
【
図2】本開示の一実施例による音声認識モデルのアーキテクチャを示すブロック図である。
【
図3】本開示の一実施例によるコンテクストエンコーダのアーキテクチャを示すブロック図である。
【
図4】本開示の一実施例による音声認識装置のハードウェア構成を示すブロック図である。
【
図5】本開示の一実施例による音声認識装置の機能構成を示すブロック図である。
【
図6】本開示の一実施例による音声認識処理を示す図である。
【
図7】本開示の一実施例による音声認識処理を示す図である。
【
図8】本開示の一実施例による音声認識処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して本開示の実施の形態を説明する。
【0013】
以下の実施例では、非限定数の過去の発話からコンテクスト情報を生成可能なコンテクストエンコーダを利用して、音声データから発話内容を認識(すなわち、音声認識仮説を出力)する音声認識装置が開示される。
【0014】
[概略]
図1に示されるように、本開示の一実施例による音声認識装置100は、ストリーミング型の音声認識処理を実現し、入力として発話を示す音声データを取得し、入力された発話の内容を示すテキストデータなどの認識結果をオンライン形式で出力する。
【0015】
具体的には、音声認識装置100は、オーディオエンコーダを利用して、発話を示す音声データから抽出された音響特徴量から隠れ音響ベクトルを抽出すると共に、ラベルエンコーダを利用して、発話における認識済みの文字から隠れラベルベクトルを抽出する。さらに、音声認識装置100は、以降において詳細に説明されるような過去の発話の全てを処理可能なコンテクストエンコーダを利用して、予測対象の発話に対する過去の発話の認識結果から隠れコンテクストベクトルを抽出し、その後、アテンション機構によって隠れコンテクストベクトルと隠れラベルベクトルとからコンテクストベクトルを生成する。そして、音声認識装置100は、隠れ音響ベクトルとコンテクストベクトルとを合成し、認識済みの文字の次の文字を予測する。このようにして、音声認識装置100は、過去の発話を利用して、予測対象の発話における認識済みの各文字から次の文字を予測する。
【0016】
[モデルアーキテクチャ]
一実施例では、音声認識装置100は、
図2に示されるような音声認識モデル100Aを有してもよい。音声認識モデル100Aは、オーディオエンコーダ(Audio encoder)110A、ラベルエンコーダ(Label encoder)120A、コンテクストエンコーダ(Large-context encoder)130A、アテンション(Attention)130B、連接レイヤ(Concatenate)130C、ジョイントネットワーク(Joint network)140A、及びソフトマックス(Softmax)140Bを有する。
【0017】
一実施例では、オーディオエンコーダ(Audio encoder)110A、ラベルエンコーダ(Label encoder)120A、コンテクストエンコーダ(Large-context encoder)130A、アテンション(Attention)130B、連接レイヤ(Concatenate)130C、ジョイントネットワーク(Joint network)140A、及びソフトマックス(Softmax)140Bの全て又は一部は、ニューラルネットワークなどの機械学習モデルとして実現されうる。また、オーディオエンコーダ110A及びラベルエンコーダ120Aは、は、例えば、Qian Zhang,“Transformer Transducer:A Streamable Speech Recognition Model with Transformer Encoders and RNN-T Loss”,arXiv:2002.02562,2020に開示されるようなTransformerで構成されるTransducerであってもよい。
【0018】
図2に示されるように、オーディオエンコーダ110Aは、発話を示す音声データを前処理することによって取得された当該発話の音響特徴量x(例えば、ログメルフィルタバンク)から隠れ音響ベクトルh
audioを抽出する。例えば、音響特徴量xは、10msecなどの所定長のログメルフィルタバンクであってもよい。オーディオエンコーダ110Aは、抽出した隠れ音響ベクトルh
audioをジョイントネットワーク140Aに出力する。オーディオエンコーダ110Aは、入力として発話を示す音響特徴量を順次取得し、隠れ音響ベクトルを順次出力する。
【0019】
ラベルエンコーダ120Aは、文字から隠れラベルベクトルを生成する。具体的には、
図2に示されるように、ラベルエンコーダ120Aは、U番目の発話Y
Uのl番目の文字を予測するため、(l-1)番目の文字y
l-1
Uの認識結果を入力として取得し、隠れラベルベクトルh
l-1
labelを抽出する。ラベルエンコーダ120Aは、抽出した隠れラベルベクトルh
l-1
labelをアテンション130B及び連接レイヤ130Cに出力する。
【0020】
コンテクストエンコーダ130Aは、過去の発話から隠れコンテクストベクトルを生成する。具体的には、
図2に示されるように、コンテクストエンコーダ130Aは、予測対象の発話Y
Uに対する過去の発話Y
U-1,Y
U-2から隠れコンテクストベクトルh
contextを生成する。
【0021】
本開示の一実施例によるコンテクストエンコーダ130Aは、
図3に示されるようなアーキテクチャから構成されてもよい。すなわち、コンテクストエンコーダ130Aは、Input embedding 131A、Layer norm 132A、Multi-head self-attention with relative positional encoding 133A、Add 134A,136A、及びPosition-wise feed-forward 135Aを有する。Input embedding 131Aは、文字又は文字列を隠れベクトルに変換する。Layer norm 132Aは、隠れベクトルの平均と分散を正規化する。Multi-head self-attention with relative positional encoding 133Aは、隠れベクトルを取得し、ヘッド数分の隠れベクトルを出力する。Add 134A,136Aは、前のレイヤから取得した入力を加算する。Position-wise feed-forward 135Aは、全てのヘッドからのベクトルを取得し、位置を考慮して1つの隠れベクトルに変換する。Input embedding 131A、Layer norm 132A、Multi-head self-attention with relative positional encoding 133A、Add 134A,136A、及びPosition-wise feed-forward 135Aの全て又は一部は、ニューラルネットワークなどの機械学習モデルとして実現されてもよく、例えば、A.Vaswani et al.,“Attention is all you need”,in Proc.NeurIPS,2017に開示されるようなトランスフォーマから構成されてもよい。
【0022】
なお、本開示によるコンテクストエンコーダ130Aは、図示されるような過去の2つの発話YU-1,YU-2から隠れコンテクストベクトルhcontextを生成することに限定されず、一連の会話における過去の全ての発話又は何れか適切な数の過去の発話から隠れコンテクストベクトルhcontextを生成してもよい。また、利用する過去の発話の数に応じてN個のコンテクストエンコーダ130Aが利用され、N個のコンテクストエンコーダ130Aから隠れコンテクストベクトルhcontextが生成されてもよい。コンテクストエンコーダ130Aは、生成した隠れコンテクストベクトルhcontextをアテンション130Bに出力する。
【0023】
アテンション130Bは、ラベルエンコーダ120Aから取得した隠れラベルベクトルh
l-1
labelと、コンテクストエンコーダ130Aから取得した隠れコンテクストベクトルh
contextとから(l-1)番目の文字y
l-1
Uのコンテクストベクトルc
l-1を生成する。具体的には、アテンション130Bは、隠れラベルベクトルh
l-1
labelと隠れコンテクストベクトルh
contextとから、以下の式(1)に従ってソフトアテンションaを計算する。
【数1】
ここで、p及びlはそれぞれ、隠れコンテクストベクトルh
contextと隠れラベルベクトルh
l-1
labelとのインデックスを表す。また、w,U,H,bはモデルパラメータを表す。
【0024】
アテンション130Bはさらに、計算したソフトアテンションa
p,lと隠れコンテクストベクトルh
contextとを用いて、以下の式(2)に従ってコンテクストベクトルc
l-1を計算する。
【数2】
アテンション130Bは、このようにして取得したコンテクストベクトルc
l-1を連接レイヤ130Cに出力する。
【0025】
連接レイヤ130Cは、ラベルエンコーダ120Aから取得した隠れラベルベクトルhl-1
labelと、アテンション130Bから取得したコンテクストベクトルcl-1とを連接し、ベクトル[hl-1
label;cl-1]をジョイントネットワーク140Aに出力する。
【0026】
ジョイントネットワーク140Aは、オーディオエンコーダ110Aから取得した隠れ音響ベクトルと、連接レイヤ130Cから取得したベクトル[hl-1
label;cl-1]とを連結し、連結されたベクトルJを取得する。ジョイントネットワーク140Aは、取得したベクトルJをソフトマックス140Bに出力する。
【0027】
ソフトマックス140Bは、ソフトマックス演算を実行し、音響特徴量xと発話Uの(l-1)番目の文字yl-1
Uとに対応するl番目の文字yl
Uの確率P(yl
U|x)を出力する。
【0028】
しかしながら、音声認識モデル100Aは、必ずしも上述したアーキテクチャに限定されず、任意数の発話を利用可能なトランスフォーマ型のコンテクストエンコーダを含む音声認識モデルを構成する他の何れか適切なアーキテクチャから構築されてもよい。
【0029】
ここで、音声認識装置100はそれぞれ、サーバ、パーソナルコンピュータ等の計算装置によって実現され、例えば、
図4に示されるようなハードウェア構成を有してもよい。すなわち、音声認識装置100は、バスBを介し相互接続される記憶装置101、プロセッサ102、ユーザインタフェース(UI)装置103及び通信装置104を有する。
【0030】
音声認識装置100における後述される各種機能及び処理を実現するプログラム又は指示は、ネットワークなどを介し何れかの外部装置からダウンロードされてもよいし、CD-ROM(Compact Disk-Read Only Memory)、フラッシュメモリ等の着脱可能な記憶媒体から提供されてもよい。記憶装置101は、ランダムアクセスメモリ、フラッシュメモリ、ハードディスクドライブなどによって実現され、インストールされたプログラム又は指示と共に、プログラム又は指示の実行に用いられるファイル、データ等を格納する。記憶装置101は、非一時的な記憶媒体(non-transitory storage medium)を含んでもよい。
【0031】
プロセッサ102は、1つ以上のプロセッサコアから構成されうる1つ以上のCPU(Central Processing Unit)、GPU(Graphics Processing Unit)、処理回路(processing circuitry)等によって実現されてもよく、記憶装置101に格納されたプログラム、指示、当該プログラム若しくは指示を実行するのに必要なパラメータなどのデータ等に従って、音声認識装置100はそれぞれの各種機能及び処理を実行する。ユーザインタフェース(UI)装置103は、キーボード、マウス、カメラ、マイクロフォン等の入力装置、ディスプレイ、スピーカ、ヘッドセット、プリンタ等の出力装置、タッチパネル等の入出力装置から構成されてもよく、ユーザと音声認識装置100との間のインタフェースを実現する。例えば、ユーザは、ディスプレイ又はタッチパネルに表示されたGUI(Graphical User Interface)をキーボード、マウス等を操作し、音声認識装置100を操作する。通信装置104は、外部装置、インターネット、LAN(Local Area Network)等の通信ネットワークとの通信処理を実行する各種通信回路により実現される。
【0032】
しかしながら、上述したハードウェア構成は単なる一例であり、本開示による音声認識装置100は、他の何れか適切なハードウェア構成により実現されてもよい。
【0033】
[音声認識装置]
次に、
図5~7を参照して、本開示の一実施例による音声認識装置100を説明する。
図5は、本開示の一実施例による音声認識装置100の機能構成を示すブロック図である。
【0034】
図5に示されるように、音声認識装置100は、オーディオ処理部110、ラベル処理部120、コンテクスト処理部130及び合成部140を有する。
【0035】
オーディオ処理部110は、音響特徴量から隠れ音響ベクトルを生成する。具体的には、オーディオ処理部110は、予測対象のU番目の発話YUを示す音声データを取得すると、音声データを前処理し、ログメルフィルタバンクなどの音響特徴量を生成する。例えば、音声データは、10msecなどの所定の時間単位の音声データセグメントの系列に分割される。各音声データセグメントは前処理されて、音響特徴量系列が生成される。そして、オーディオ処理部110は、オーディオエンコーダ110Aに音響特徴量xを入力し、オーディオエンコーダ110Aから隠れ音響特徴量haudioを取得する。オーディオ処理部110は、取得した音響特徴量xを合成部140に出力する。
【0036】
ラベル処理部120は、予測対象の発話の文字列から隠れラベルベクトルを生成する。具体的には、発話YUの(l-1)番目の文字yl-1
Uの認識結果を取得すると、ラベル処理部120は、ラベルエンコーダ120Aを利用して、文字yl-1
Uから対応する隠れラベルベクトルhl-1
labelを取得してもよい。各発話の1番目の文字を予測する際、ラベル処理部120は、参照すべき過去の文字が存在しないことを示すトークン(Start Of Sentence;SOS)をラベルエンコーダ120Aに入力してもよい。ラベル処理部120は、取得した隠れラベルベクトルhl-1
labelをコンテクスト処理部130に出力する。
【0037】
コンテクスト処理部130は、予測対象の発話に対する過去の発話から隠れコンテクストベクトルを生成し、隠れコンテクストベクトルと隠れラベルベクトルとに基づいてソフトアテンションを計算し、計算されたソフトアテンションと隠れラベルベクトルとからコンテクストベクトルを生成する。具体的には、コンテクスト処理部130は、U番目の発話YUを認識するため、過去の発話の全て又は一部YU-1,YU-2,・・・,YU-Kから隠れコンテクストベクトルhcontext=(h1
context,・・・,hK
context)を生成する。ここで、Kは入力されるトークン数を示し、過去の発話YU-1,YU-2,・・・,Y1の全てが利用される場合、K=U-1となる。コンテクスト処理部130は、コンテクストエンコーダ130Aに過去の発話YU-1,・・・,YU-Kを入力し、コンテクストエンコーダ130Aから隠れコンテクストベクトルhcontext=(h1
context,・・・,hK
context)を取得する。
【0038】
次に、コンテクスト処理部130は、取得した隠れコンテクストベクトルと共に、ラベル処理部120から取得した隠れラベルベクトルhl-1
labelをアテンション130Bに入力する。アテンション130Bでは、上述した式(1)に従ってソフトアテンションaが算出され、さらに(2)に従ってコンテクストベクトルcl-1が抽出される。
【0039】
そして、コンテクスト処理部130は、抽出したコンテクストベクトルcl-1と隠れラベルベクトルhl-1
labelとを連接レイヤ130Cにおいて連接し、ベクトル[hl-1
label;cl-1]を取得する。コンテクスト処理部130は、取得したベクトル[hl-1
label;cl-1]を合成部140に出力する。
【0040】
合成部140は、隠れ音響ベクトルとコンテクストベクトルとから予測対象の発話を予測する。具体的には、合成部140は、オーディオ処理部110から取得した隠れベクトルhaudioと、コンテクスト処理部130から取得したベクトル[hl-1
label;cl-1]とをジョイントネットワーク140Aに入力し、ジョイントネットワーク140AからベクトルJを取得する。
【0041】
そして、合成部140は、取得したベクトルJをソフトマックス140Bに入力し、ソフトマックス140Bから音響特徴量xに対する文字yl
Uの確率P(yl
U|x)を取得する。合成部140は、確率値が最も大きいラベルを文字yl
Uとして予測する。
【0042】
一実施例では、音声認識モデル100Aは、エンド・ツー・エンド方式で訓練されてもよい。具体的には、発話を示す音響特徴量xと当該発話を構成する文字との正解データを利用して、音響特徴量がオーディオエンコーダ110Aに入力され、各文字がラベルエンコーダ120Aに入力される。そして、当該発話に対する過去の発話がコンテクストエンコーダ130Aに入力され、ソフトマックス140Bから出力された予測結果と正解データの文字との間の誤差に応じて誤差逆伝播法に従って音声認識モデル100Aのモデルパラメータを調整することによって、音声認識モデル100Aが訓練されてもよい。
【0043】
図6及び7は、本開示の一実施例による音声認識処理を示す図である。本例では、医師が患者に“熱はありますか”と発話し、患者が医師に“はい”と回答し、医師が患者に“では、・・・”と発話したと仮定し、医師の“熱はありますか”の認識結果が過去の発話として取得されており、患者の“はい”の発話を予測対象としている。
【0044】
まず、
図6Aに示されるように、予測対象の発話“はい”の1番目の文字を予測するため、オーディオ処理部110は、“はい”を示す音響特徴量をオーディオエンコーダ110Aに入力し、オーディオエンコーダ110Aから取得した隠れ音響ベクトルを合成部140に出力する。
【0045】
また、ラベル処理部120は、1番目の文字の予測であるため、トークンSOSをラベルエンコーダ120Aに入力し、ラベルエンコーダ120Aから取得した隠れラベルベクトルをコンテクスト処理部130及び合成部140に出力する。
【0046】
さらに、コンテクスト処理部130は、過去の発話“熱はありますか”をコンテクストエンコーダ130Aに入力し、コンテクストエンコーダ130Aから取得した隠れコンテクストベクトルをアテンション130Bに入力する。そして、コンテクスト処理部130は、アテンション130Bから取得したコンテクストベクトルと、ラベル処理部120から取得した隠れラベルベクトルとを連接レイヤ130Cに入力し、連接レイヤ130Cから連接されたベクトルを取得し、合成部140に連接されたベクトルを出力する。
【0047】
合成部140は、隠れ音響ベクトルと連接されたベクトルとをジョイントネットワーク140Aに入力し、ジョイントネットワーク140Aから取得したベクトルをソフトマックス140Bに入力する。合成部140は、ソフトマックス140Bから取得した確率値に基づいて、予測対象の発話の1番目の文字として“は”を出力する。
【0048】
次に、
図6Bに示されるように、予測対象の発話“はい”の2番目の文字を予測するため、オーディオ処理部110は、“はい”を示す音響特徴量をオーディオエンコーダ110Aに入力し、オーディオエンコーダ110Aから取得した隠れ音響ベクトルを合成部140に出力する。
【0049】
また、ラベル処理部120は、2番目の文字の予測であるため、1番目の文字の認識結果“は”をラベルエンコーダ120Aに入力し、ラベルエンコーダ120Aから取得した隠れラベルベクトルをコンテクスト処理部130及び合成部140に出力する。
【0050】
さらに、コンテクスト処理部130は、過去の発話“熱はありますか”に対してコンテクストエンコーダ130Aによって抽出された隠れコンテクストベクトルをアテンション130Bに入力する。そして、コンテクスト処理部130は、アテンション130Bから取得したコンテクストベクトルと、ラベル処理部120から取得した隠れラベルベクトルとを連接レイヤ130Cに入力し、連接レイヤ130Cから連接されたベクトルを取得し、合成部140に連接されたベクトルを出力する。
【0051】
合成部140は、隠れ音響ベクトルと連接されたベクトルとをジョイントネットワーク140Aに入力し、ジョイントネットワーク140Aから取得したベクトルをソフトマックス140Bに入力する。合成部140は、ソフトマックス140Bから取得した確率値に基づいて、予測対象の発話の2番目の文字として音素“い”を出力する。
【0052】
次に、
図7Aに示されるように、予測対象の発話“はい”の3番目の文字、すなわち、3番目の文字がないことを示すブランクを予測するため、オーディオ処理部110は、“はい”を示す音響特徴量をオーディオエンコーダ110Aに入力し、オーディオエンコーダ110Aから取得した隠れ音響ベクトルを合成部140に出力する。
【0053】
また、ラベル処理部120は、3番目の文字の予測であるため、2番目の文字の認識結果“い”をラベルエンコーダ120Aに入力し、ラベルエンコーダ120Aから取得した隠れラベルベクトルをコンテクスト処理部130及び合成部140に出力する。
【0054】
さらに、コンテクスト処理部130は、過去の発話“熱はありますか”に対してコンテクストエンコーダ130Aによって抽出された隠れコンテクストベクトルをアテンション130Bに入力する。そして、コンテクスト処理部130は、アテンション130Bから取得したコンテクストベクトルと、ラベル処理部120から取得した隠れラベルベクトルとを連接レイヤ130Cに入力し、連接レイヤ130Cから連接されたベクトルを取得し、合成部140に連接されたベクトルを出力する。
【0055】
合成部140は、隠れ音響ベクトルと連接されたベクトルとをジョイントネットワーク140Aに入力し、ジョイントネットワーク140Aから取得したベクトルをソフトマックス140Bに入力する。合成部140は、ソフトマックス140Bから取得した確率値に基づいて、予測対象の発話の3番目の文字としてブランク(blank)を出力する。
【0056】
合成部140からブランクが出力されると、オーディオ処理部110、ラベル処理部120及びコンテクスト処理部130は、予測対象の発話の予測が完了したと判断し、“はい”を過去の発話として利用し、次の予測対象の発話“では、・・・”の予測を開始する。
【0057】
次に、
図7Bに示されるように、予測対象の発話“では、・・・”の1番目の文字を予測するため、オーディオ処理部110は、“では、・・・”を示す音響特徴量をオーディオエンコーダ110Aに入力し、オーディオエンコーダ110Aから取得した隠れ音響ベクトルを合成部140に出力する。
【0058】
また、ラベル処理部120は、1番目の文字の予測であるため、トークンSOSをラベルエンコーダ120Aに入力し、ラベルエンコーダ120Aから取得した隠れラベルベクトルをコンテクスト処理部130及び合成部140に出力する。
【0059】
さらに、コンテクスト処理部130は、過去の発話“熱はありますか”及び“はい”をコンテクストエンコーダ130Aに入力し、コンテクストエンコーダ130Aから取得した隠れコンテクストベクトルをアテンション130Bに入力する。すなわち、発話“はい”の予測を完了すると、コンテクスト処理部130は、当該発話までの過去の発話“熱はありますか”及び“はい”から隠れコンテクストベクトルを生成する。そして、コンテクスト処理部130は、アテンション130Bから取得したコンテクストベクトルと、ラベル処理部120から取得した隠れラベルベクトルとを連接レイヤ130Cに入力し、連接レイヤ130Cから連接されたベクトルを取得し、合成部140に連接されたベクトルを出力する。
【0060】
合成部140は、隠れ音響ベクトルと連接されたベクトルとをジョイントネットワーク140Aに入力し、ジョイントネットワーク140Aから取得したベクトルをソフトマックス140Bに入力する。合成部140は、ソフトマックス140Bから取得した確率値に基づいて、予測対象の発話の1番目の文字として音素“で”を出力する。
【0061】
同様にして、以降の発話及び文字列の音声認識処理が実行される。本実施例によると、利用する過去の発話のサイズに応じた数のコンテクストエンコーダ130Aを備えることによって、固定的なウィンドウサイズに対応する数の過去の発話しか利用できない従来の音声認識モデルより多くの過去の発話から導出されるコンテクスト情報を利用して、高精度な音声認識を実現することが可能である。
【0062】
[音声認識処理]
次に、
図8を参照して、本開示の一実施例によるス音声認識処理を説明する。当該音声認識処理は、上述した音声認識装置100によって実行され、より詳細には、音声認識装置100の1つ以上のプロセッサ102が1つ以上の記憶装置101に格納された1つ以上のプログラム又は指示を実行することによって実現されてもよい。
図8は、本開示の一実施例による音声認識処理を示すフローチャートである。
【0063】
図8に示されるように、ステップS101において、音声認識装置100は、予測対象の発話を示す音響特徴量から隠れ音響ベクトルを抽出する。具体的には、予測対象の発話Y
Uの(l-1)番目の文字を予測する際、音声認識装置100は、訓練済み音声認識モデル100Aのオーディオエンコーダ110Aに発話Y
Uの(l-1)番目の音素を示す音響特徴量を入力し、オーディオエンコーダ110Aから隠れ音響ベクトルh
audioを取得する。
【0064】
ステップS102において、音声認識装置100は、予測対象の発話の文字列から隠れラベルベクトルを生成する。具体的には、音声認識装置100は、ラベルエンコーダ120Aに(l-1)番目の文字yl-1
Uの認識結果を入力し、ラベルエンコーダ120Aから隠れラベルベクトルhl-1
Uを取得する。発話YUの1番目の文字を予測する際、音声認識装置100は、ラベルエンコーダ120AにSOSを入力する。
【0065】
ステップS103において、音声認識装置100は、過去の発話から隠れコンテクストベクトルを抽出する。具体的には、音声認識装置100は、過去のK個の発話YU-1,YU-2,・・・YU-Kをコンテクストエンコーダ130Aに入力し、コンテクストエンコーダ130Aから隠れコンテクストベクトルh1
context,h2
context,・・・,hK
contextを取得する。
【0066】
ステップS104において、音声認識装置100は、隠れラベルベクトルと隠れコンテクストベクトルとからソフトアテンションを計算する。具体的には、音声認識装置100は、隠れラベルベクトルh
l-1
Uと隠れコンテクストベクトルh
1
context,h
2
context,・・・,h
K
contextとから、以下の式(3)に従ってソフトアテンションaを計算する。
【数3】
ここで、p及びlはそれぞれ、隠れコンテクストベクトルh
contextと隠れラベルベクトルh
l-1
labelとのインデックスを表す。また、w,U,H,bはモデルパラメータを表す。
【0067】
ステップS105において、音声認識装置100は、計算したソフトアテンションa
p,lと隠れコンテクストベクトルh
1
context,h
2
context,・・・,h
K
contextとを用いて、以下の式(4)に従ってコンテクストベクトルc
l-1を計算する。
【数4】
【0068】
ステップS106において、音声認識装置100は、コンテクストベクトルcl-1と隠れラベルベクトルhl-1
labelとを連接し、隠れ音響ベクトルhaudioと連接したベクトル[hl-1
label;cl-1]とをジョイントネットワーク140Aに入力し、ジョイントネットワーク140AからベクトルJを取得する。そして、音声認識装置100は、取得したベクトルJをソフトマックス140Bに入力し、ソフトマックス140Bから音響特徴量xに対する文字yl
Uの確率P(yl
U|x)を取得し、確率P(yl
U|x)に基づいて文字yl
Uを予測する。なお、発話YUにおいてl番目の文字がない場合、音声認識モデル100Aはブランクを出力し、次の発話YU+1の処理に移行する。
【0069】
上述した音声認識装置100及び音声認識処理によると、入力される音声データに対してストリーミング形式で音声認識を実現することができる。また、過去の発話のサイズに応じた数のコンテクストエンコーダ130Aを備えることによって、固定的なウィンドウサイズに対応する数の過去の発話しか利用できない従来の音声認識モデルより多くの過去の発話から導出されるコンテクスト情報を利用して、高精度な音声認識を実現することが可能である。
【0070】
なお、以上の説明に関して更に以下の付記を開示する。
(付記1)
音響特徴量から隠れ音響ベクトルを生成するオーディオ処理部と、
予測対象の発話の文字列から隠れラベルベクトルを生成するラベル処理部と、
前記予測対象の発話に対する過去の発話から隠れコンテクストベクトルを生成し、前記隠れコンテクストベクトルと前記隠れラベルベクトルとに基づいてソフトアテンションを計算し、計算されたソフトアテンションと前記隠れラベルベクトルとからコンテクストベクトルを生成するコンテクスト処理部と、
前記隠れ音響ベクトルと前記コンテクストベクトルとから前記予測対象の発話を予測する合成部と、
を有する音声認識装置。
(付記2)
i番目の発話のj番目の文字の認識結果を取得すると、前記ラベル処理部は、前記取得したj番目の文字の認識結果から対応する隠れラベルベクトルを生成し、
前記合成部は、前記オーディオ処理部によって生成された前記i番目の発話の音響特徴量、前記j番目の文字に対応する隠れラベルベクトル、及び前記コンテクスト処理部によって生成された(i-1)番目の発話までの過去の発話から生成された隠れコンテクストベクトルから、(j+1)番目の文字を予測する、付記1に記載の音声認識装置。
(付記3)
前記合成部が前記i番目の発話の予測を完了すると、前記コンテクスト処理部は、前記i番目の発話までの過去の発話から隠れコンテクストベクトルを生成する、付記2に記載の音声認識装置。
(付記4)
前記オーディオ処理部、前記ラベル処理部、前記コンテクスト処理部及び前記合成部はそれぞれ、機械学習モデルを有し、
前記機械学習モデルは、エンド・ツー・エンド方式で訓練される、付記1に記載の音声認識装置。
(付記5)
前記コンテクスト処理部は、トランスフォーマから構成されるコンテクストエンコーダを有する、付記4に記載の音声認識装置。
(付記6)
音響特徴量から隠れ音響ベクトルを生成するステップと、
予測対象の発話の文字列から隠れラベルベクトルを生成するステップと、
前記予測対象の発話に対する過去の発話から隠れコンテクストベクトルを生成するステップと、
前記隠れコンテクストベクトルと前記隠れラベルベクトルとに基づいてソフトアテンションを計算するステップと、
前記ソフトアテンションと前記隠れラベルベクトルとからコンテクストベクトルを生成するステップと、
前記隠れ音響ベクトルと前記コンテクストベクトルとから前記予測対象の発話を予測するステップと、
を有する、コンピュータによって実行される音声認識方法。
(付記7)
音響特徴量から隠れ音響ベクトルを生成する処理と、
予測対象の発話の文字列から隠れラベルベクトルを生成する処理と、
前記予測対象の発話に対する過去の発話から隠れコンテクストベクトルを生成する処理と、
前記隠れコンテクストベクトルと前記隠れラベルベクトルとに基づいてソフトアテンションを計算する処理と、
前記ソフトアテンションと前記隠れラベルベクトルとからコンテクストベクトルを生成する処理と、
前記隠れ音響ベクトルと前記コンテクストベクトルとから前記予測対象の発話を予測する処理と、
をコンピュータに実行させるプログラム。
【0071】
以上、本開示の実施例について詳述したが、本開示は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本開示の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0072】
100 音声認識装置
100A 音声認識モデル
110 オーディオ処理部
110A オーディオエンコーダ
120 ラベル処理部
120A ラベルエンコーダ
130 コンテクスト処理部
130A コンテクストエンコーダ
130B アテンション
130C 連接レイヤ
140 合成部
140A ジョイントネットワーク
140B ソフトマックス