(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-18
(45)【発行日】2025-03-27
(54)【発明の名称】音声処理方法及び装置
(51)【国際特許分類】
G10L 15/183 20130101AFI20250319BHJP
G10L 15/16 20060101ALI20250319BHJP
【FI】
G10L15/183
G10L15/16
(21)【出願番号】P 2021010387
(22)【出願日】2021-01-26
【審査請求日】2023-12-04
(31)【優先権主張番号】10-2020-0051269
(32)【優先日】2020-04-28
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】姜 泰均
【審査官】山下 剛史
(56)【参考文献】
【文献】米国特許出願公開第2020/0126538(US,A1)
【文献】特開2004-177551(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34
(57)【特許請求の範囲】
【請求項1】
音声信号からターゲットセグメントを取得するステップと、
前記ターゲットセグメントを復号化することによって、前記ターゲットセグメントに対応するターゲット文字シーケンスを決定するステップと、
前記ターゲット文字シーケンスと先行文字シーケンスとの間にオーバーラップされる第1部分を編集距離に基づいて決定するステップと、
オーバーラップされる前記第1部分に基づいて、前記ターゲット文字シーケンスおよび前記先行文字シーケンスを併合するステップと、
を含み、
前記編集距離に適用される費用は、前記編集距離で行われる作業の種類、作業対象である文字が前記オーバーラップされる部分に位置するか否か、または、マッチングするか否か、のうちいずれか1つ又はその組合せに基づいて決定される、
音声処理方法。
【請求項2】
前記編集距離の費用は、前記ターゲット文字シーケンスおよび前記先行文字シーケンスのうちオーバーラップされない部分と、オーバーラップされる前記第1部分とに相違して適用される、
請求項1に記載の音声処理方法。
【請求項3】
前記ターゲット文字シーケンスおよび前記先行文字シーケンスのうち、オーバーラップされない部分で発生する前記編集距離の挿入費用は、オーバーラップされる前記第1部分で発生する挿入費用よりも小さい、
請求項1に記載の音声処理方法。
【請求項4】
前記編集距離のマッチング費用は、前記ターゲット文字シーケンスおよび前記先行文字シーケンスのうち、オーバーラップされない部分で発生する前記編集距離の挿入費用よりも小さい、
請求項1に記載の音声処理方法。
【請求項5】
オーバーラップされる前記第1部分で発生する前記編集距離の挿入費用、削除費用、及び、前記編集距離の交替費用は、正数である、
請求項1に記載の音声処理方法。
【請求項6】
前記編集距離のマッチング費用は、負数であり、
前記ターゲット文字シーケンスおよび前記先行文字シーケンスのうち、オーバーラップされない部分で発生する前記編集距離の挿入費用は、0である、
請求項1に記載の音声処理方法。
【請求項7】
前記音声信号からターゲットセグメントを決定するステップは、セグメントの長さ及びセグメント間のオーバーラップの長さに基づいて、前記音声信号から前記ターゲットセグメントを決定する、
請求項1に記載の音声処理方法。
【請求項8】
前記セグメント間のオーバーラップの長さは、前記音声処理方法を行う装置の可用リソースに基づいて決定される、
請求項7に記載の音声処理方法。
【請求項9】
前記オーバーラップされる部分を識別するステップは、セグメント間のオーバーラップの長さの間でユーザが発話可能な最大文字の長さに応じて、前記先行文字シーケンスから抽出された一部のシーケンスと前記ターゲット文字シーケンスとの間にオーバーラップされる第2部分を識別する、
請求項1に記載の音声処理方法。
【請求項10】
前記先行文字シーケンスは、前記音声信号で前記ターゲットセグメントと一部がオーバーラップされる先行セグメントの復号化結果に基づいて決定される、
請求項1に記載の音声処理方法。
【請求項11】
前記オーバーラップされる部分を識別するステップは、前記先行文字シーケンスに含まれた前記先行セグメントの復号化結果と前記ターゲット文字シーケンスとの間にオーバーラップされる第3部分を識別する、
請求項10に記載の音声処理方法。
【請求項12】
前記ターゲットセグメントで前記先行セグメントとオーバーラップされる前記第1部分は、前記ターゲットセグメントの半分未満である、
請求項10に記載の音声処理方法。
【請求項13】
請求項1ないし12のいずれか一項に記載の方法を実行させるためのプログラムが記録された、コンピュータで読出し可能な記憶媒体。
【請求項14】
1つ以上のプロセッサを含み、
前記1つ以上のプロセッサは、
音声信号からターゲットセグメントを決定し、
前記ターゲットセグメントを復号化することによって、前記ターゲットセグメントに対応するターゲット文字シーケンスを決定し、
前記ターゲット文字シーケンスと先行文字シーケンスとの間にオーバーラップされる部分を編集距離に基づいて識別し、
前記オーバーラップされる部分に基づいて、前記ターゲット文字シーケンスと前記先行文字シーケンスを併合し、
前記編集距離に適用される費用は、前記編集距離で行われる作業の種類、作業対象である文字が前記オーバーラップされる部分に位置するか否か、または、マッチングするか否か、のうちいずれか1つ又はその組合せに基づいて決定される、
音声処理装置。
【請求項15】
前記編集距離の費用は、前記ターゲット文字シーケンスおよび前記先行文字シーケンスのうち、オーバーラップされない部分と、前記オーバーラップされる部分とに相違して適用される、
請求項14に記載の音声処理装置。
【請求項16】
前記編集距離のマッチング費用は、前記ターゲット文字シーケンスおよび前記先行文字シーケンスのうちオーバーラップされない部分で発生する前記編集距離の挿入費用よりも小さい、
請求項14に記載の音声処理装置。
【請求項17】
前記ターゲット文字シーケンスと前記先行文字シーケンスのうち、オーバーラップされる部分で発生する前記編集距離の挿入費用、削除費用、及び、前記編集距離の交替費用は、正数である、
請求項14に記載の音声処理装置。
【請求項18】
前記1つ以上のプロセッサは、セグメントの長さ及びセグメント間のオーバーラップの長さに基づいて、前記音声信号から前記ターゲットセグメントを決定する、
請求項14に記載の音声処理装置。
【請求項19】
前記セグメント間のオーバーラップの長さは、音声処理を行う装置の可用リソースに基づいて決定される、
請求項18に記載の音声処理装置。
【請求項20】
前記先行文字シーケンスは、前記音声信号で前記ターゲットセグメントと一部がオーバーラップされる先行セグメントの復号化結果に基づいて決定される、
請求項14に記載の音声処理装置。
【請求項21】
音声信号からセグメントを決定するステップと、
前記セグメントを復号化することによって、前記セグメントに対する文字シーケンスをそれぞれ決定するステップと、
前記文字シーケンスのうち、隣接する文字シーケンスの対応する編集距離に基づいて、前記隣接する文字シーケンス間にオーバーラップされる部分を識別するステップと、
前記オーバーラップされる部分のうち対応する部分に基づいて、前記文字シーケンスのうち隣接する文字シーケンスを併合するステップと、
を含み、
前記対応する編集距離それぞれに適用される費用は、前記編集距離のうち対応する距離で行われる作業の種類、作業対象である文字がオーバーラップされる部分に位置するか否か、または、マッチングするか否か、のうちいずれか1つ又はその組合せに基づいて決定される、
方法。
【請求項22】
前記対応する編集距離それぞれに適用される費用は、前記文字シーケンスのうち隣接する文字シーケンス間にオーバーラップされない部分と、オーバーラップされる部分とに相違して適用される、
請求項21に記載の方法。
【請求項23】
オーバーラップされない部分およびオーバーラップされる部分のうち対応する部分で、前記対応する編集距離に対する挿入費用は互いに異なる、
請求項21に記載の方法。
【請求項24】
前記オーバーラップされる部分で発生する編集距離に対する挿入費用、削除費用、及び、交替費用は、正数である、
請求項21に記載の方法。
【請求項25】
前記音声信号からセグメントを決定するステップは、それぞれのセグメントの長さ及び隣接するセグメント間のオーバーラップの長さに基づく、
請求項21に記載の方法。
【請求項26】
前記隣接するセグメント間でオーバーラップされる長さは、前記方法を行う装置の可用リソースに基づいて決定される、
請求項25に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声処理方法及び装置に関する。
【背景技術】
【0002】
音声認識は、ユーザの音声を認識する技術である。音声認識によってユーザの音声はテキストに変換され得る。音声認識技術の発展に伴って、ユーザが機器あるいはエージェントに音声を用いて命令しようとするニーズ(needs)が増加しているが、音声認識を行うモデルの限定的な学習データ、音声信号の周辺ノイズなどのせいで、最適な性能を保障することが難しい。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の目的は、音声処理方法及び装置を提供することにある。
【課題を解決するための手段】
【0004】
一実施形態に係る音声処理方法は、音声信号からターゲットセグメントを取得するステップと、前記ターゲットセグメントを復号化することによって、前記ターゲットセグメントに対応するターゲット文字シーケンスを決定するステップと、前記ターゲット文字シーケンスと先行文字シーケンスとの間にオーバーラップされる第1部分を編集距離に基づいて決定するステップと、オーバーラップされる前記第1部分に基づいて、前記ターゲット文字シーケンスおよび前記先行文字シーケンスを併合するステップとを含み、前記編集距離に適用される費用は、前記編集距離で行われる作業の種類、作業対象である文字が前記オーバーラップされる部分に位置するか否か、または、マッチングするか否か、のうちいずれか1つ又はその組合せに基づいて決定される。
【0005】
一実施形態に係る音声処理方法において、前記編集距離の費用は、前記ターゲット文字シーケンスおよび前記先行文字シーケンスのうちオーバーラップされない部分と、オーバーラップされる前記第1部分とに相違して適用されてもよい。
【0006】
一実施形態に係る音声処理方法において、前記ターゲット文字シーケンスおよび前記先行文字シーケンスのうち、オーバーラップされない部分で発生する前記編集距離の挿入費用は、オーバーラップされる前記第1部分で発生する挿入費用よりも小さくてもよい。
【0007】
一実施形態に係る音声処理方法において、前記編集距離のマッチング費用は、前記ターゲット文字シーケンスおよび前記先行文字シーケンスのうち、オーバーラップされない部分で発生する前記編集距離の挿入費用よりも小さくてもよい。
【0008】
一実施形態に係る音声処理方法において、前記第1オーバーラップされる部分で発生する前記編集距離の挿入費用、削除費用、及び前記編集距離の交替費用は正数であってもよい。
【0009】
一実施形態に係る音声処理方法において、前記編集距離のマッチング費用は、負数であり、前記ターゲット文字シーケンスおよび前記先行文字シーケンスのうち、オーバーラップされない部分で発生する前記編集距離の挿入費用は、0であってもよい。
【0010】
一実施形態に係る音声処理方法において、前記音声信号からターゲットセグメントを決定するステップは、セグメントの長さ及びセグメント間のオーバーラップの長さに基づいて、前記音声信号から前記ターゲットセグメントを決定してもよい。
【0011】
一実施形態に係る音声処理方法において、前記セグメント間のオーバーラップの長さは、前記音声処理方法を行う装置の可用リソースに基づいて決定されてもよい。
【0012】
一実施形態に係る音声処理方法において、前記オーバーラップされる部分を識別するステップは、セグメント間のオーバーラップの長さの間でユーザが発話可能な最大文字の長さに応じて、前記先行文字シーケンスから抽出された一部のシーケンスと前記ターゲット文字シーケンスとの間にオーバーラップされる第2部分を識別してもよい。
【0013】
一実施形態に係る音声処理方法において、前記先行文字シーケンスは、前記音声信号で前記ターゲットセグメントと一部がオーバーラップされる先行セグメントの復号化結果に基づいて決定されてもよい。
【0014】
一実施形態に係る音声処理方法において、前記オーバーラップされる部分を識別するステップは、前記先行文字シーケンスに含まれた前記先行セグメントの復号化結果と前記ターゲット文字シーケンスとの間にオーバーラップされる第3部分を識別してもよい。
【0015】
一実施形態に係る音声処理方法において、前記ターゲットセグメントで前記先行セグメントとオーバーラップされる前記第1部分は、前記ターゲットセグメントの半分未満であってもよい。
【0016】
一実施形態に係る音声処理装置は、1つ以上のプロセッサを含み、前記1つ以上のプロセッサは、音声信号からターゲットセグメントを決定し、前記ターゲットセグメントを復号化することによって、前記ターゲットセグメントに対応するターゲット文字シーケンスを決定し、前記ターゲット文字シーケンスと先行文字シーケンスとの間にオーバーラップされる部分を編集距離に基づいて識別し、前記オーバーラップされる部分に基づいて、前記ターゲット文字シーケンスと前記先行文字シーケンスを併合し、前記編集距離に適用される費用は、前記編集距離で行われる作業の種類、作業対象である文字が前記オーバーラップされる部分に位置するか否か、または、マッチングするか否か、のうちいずれか1つ又はその組合せに基づいて決定される。
【0017】
一実施形態に係る方法は、音声信号からセグメントを決定するステップと、前記セグメントを復号化することによって、前記セグメントに対する文字シーケンスをそれぞれ決定するステップと、前記文字シーケンスのうち、隣接する文字シーケンスの対応する編集距離に基づいて、前記隣接する文字シーケンス間にオーバーラップされる部分を識別するステップと、前記オーバーラップされる部分のうち対応する部分に基づいて、前記文字シーケンスのうち隣接する文字シーケンスを併合するステップとを含む。
【発明の効果】
【0018】
本発明に従って、音声処理方法及び装置を提供することができる。
【図面の簡単な説明】
【0019】
【
図1】一実施形態に係るニューラルネットワーク基盤音声処理を説明するための図である。
【
図2】一実施形態に係る音声認識過程を説明するための図である。
【
図3】一実施形態に係る音声認識過程を説明するためのフローチャートである。
【
図4】一実施形態に従って、文字シーケンスを統合する例を説明するための図である。
【
図5】一実施形態に従って、文字シーケンスを統合する例を説明するための図である。
【
図6】一実施形態に従って、文字シーケンスを統合する例を説明するための図である。
【
図7】一実施形態に係る編集距離を説明するための例を示す図面である。
【
図8】一実施形態に係る音声処理方法を示すフローチャートである。
【
図9】一実施形態に係る音声処理装置を示す図である。
【
図10】一実施形態に係る音声処理装置の例示を説明するための図である。
【
図11】一実施形態に係る音声処理装置の例示を説明するための図である。
【発明を実施するための形態】
【0020】
実施形態に対する特定の構造的又は機能的な説明は、単なる例示目的のために開示されたものとして、様々な形態に変更される。したがって、実施形態は特定な開示形態に限定されるものではなく、本明細書の範囲は、技術的な思想に含まれる変更、均等物、ないし代替物を含む。
【0021】
第1又は第2などの用語を複数の構成要素を説明するために用いることがあるが、このような用語は、1つの構成要素を他の構成要素から区別する目的だけのものとしてのみ解釈されなければならない。例えば、第1構成要素は、第2構成要素と命名することができ、同様に、第2構成要素は第1構成要素としても命名することができる。
【0022】
単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は、明細書上に記載した特徴、形状、ステップ、動作、構成要素、部品、又はこれらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴、形状数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在、もしくは、付加の可能性を予め排除しないものとして理解しなければならない。
【0023】
異なるように定義がなされない限り、技術的又は科学的な用語を含む、ここで使用される全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【0024】
以下、実施形態を添付の図面を参照しながら詳説する。実施形態の説明において、関連する公知技術に対する具体的な説明が、本発明の要旨を不必要に曖昧にしていると判断される場合には、その詳細な説明を省略する。
【0025】
図1は、一実施形態に係るニューラルネットワーク基盤音声処理を説明するための図である。
【0026】
図1を参照すると、一実施形態に係る音声処理のためのニューラルネットワークは、エンコーダ110およびデコーダ120を含む。音声処理装置は、エンコーダ110とデコーダ120を用いてユーザの音声信号130を音声認識し、その結果として文字シーケンス140を決定することができる。エンコーダ110は、与えられた音声信号130を符号化して音声信号130のコンテキスト情報(context information)を生成し、デコーダ120は、コンテキスト情報に基づく復号化に基づいて、漸進的に認識された文字シーケンス140を、認識結果として出力することができる。デコーダ120では、特定の時点の単語が、次の時点の入力として提供され、次にくると予想される単語を推論する過程が、その認識が終了するまで繰り返し行われる。エンコーダ110およびデコーダ120は、ユーザの音声信号130の入力に応答し、それに対応する音声認識結果が出力されるように予め学習された音声認識モデルである。
【0027】
このように、音声処理はエンコーダ110およびデコーダ120に基づいた音声認識を含むせいで、ネットワークの限定的な学習データと学習効率性による学習データの長さの制限などによって、学習データよりも長い音声信号については、認識正確度が低くなる現象が生じる恐れがある。これを防止するために、長い音声信号を複数のセグメントに分割し、エンコーダ110およびデコーダ120を用いて分割された各セグメントについて音声認識を個別的に行い、認識結果として取得された文字シーケンスを統合することによって、長い音声信号の音声認識結果を決定することができる。以下、図面を参照して詳細に説明する。
【0028】
図2及び
図3は、一実施形態に係る音声認識過程を説明するための図である。
【0029】
図2を参照すると、一実施形態に係る音声処理装置は、長い音声信号210を複数のセグメント221~224に区分して音声認識を個別的に行うことにより、複数の文字シーケンス231~234をそれぞれ決定し、複数の文字シーケンス231~234を併合することで長い音声信号210の音声認識結果240を取得することができる。本明細書において、セグメントは、説明の便宜のためにチャンク(chunk)やウィンドウ(window)として称されてもよい。長い音声信号210は、複数のセグメントを含んでもよい。
【0030】
音声処理装置は、長い音声信号210を複数のセグメント221~224に区分することができる。例えば、音声処理装置は、セグメントの長さA及びセグメント間のオーバーラップの長さBに基づいて、長い音声信号210から複数のセグメント221~224を区分することができる。
【0031】
一実施形態において、オーバーラップの長さBは、セグメントの長さAの半分未満として決定されてもよい。後で詳しく説明するが、複数のセグメント221~224それぞれに対して音声認識が行われるので、各セグメントで隣接するセグメントとオーバーラップされる部分は2回復号化されることがある。オーバーラップの長さBをセグメントの長さAの半分未満に設定することにより、長い音声信号210のすべての部分が2回復号化される必要がないので、計算オーバーヘッドを最小化することができる。例えば、セグメントの長さAは8秒であり、セグメント間のオーバーラップの長さBは2秒として決定されているが、その他にも様々な数値が適用されてもよい。
【0032】
一実施形態において、音声処理装置は、セグメント間のオーバーラップの長さBを可用リソースに基づいて動的に決定することができる。音声認識が実行される各セグメントは、長い音声信号210から特定の基準(例えば、セグメントの長さA及びオーバーラップの長さB)に基づいて分割されたものであるので、発話の途中で切られたセグメントの境界では、音声認識の正確度がセグメント中心よりも低いこともある。これを補完するために、セグメント間のオーバーラップの長さBを長く設定することが好ましいが、オーバーラップの長さBが長くなるほど、長い音声信号210で復号化が2回行われる部分の比率が高まり、計算オーバーヘッドの増加を避けることが難しい。もし、可用リソースが充分であり、計算オーバーヘッドが増加しても、一定のレベル以上の性能が保障されれば、音声処理装置は、オーバーラップの長さBを予め設定された閾値の長さよりも長く設定することができる。反対に、可用リソースが充分でない場合、音声処理装置は、オーバーラップの長さBを予め設定された閾値の長さよりも短く設定することで、計算オーバーヘッドの増加による性能低下を防止することができる。
【0033】
一例として、音声処理装置が音声認識用サーバである場合、前記サーバで実行されている音声認識作業の個数が少なければ、オーバーラップの長さBが予め設定された閾値の長さよりも長く設定され、反対に、音声認識作業の個数が多ければ、オーバーラップの長さBが予め設定された閾値の長さよりも短く設定されてもよい。他の一例として、音声処理装置がスマートフォンと同じユーザ端末である場合、該当ユーザ端末で音声認識作業以外の作業が実行されなければ、オーバーラップの長さBが予め設定された閾値の長さよりも長く設定され、反対に、ユーザ端末で音声認識作業以外の作業(例えば、モバイルゲームなど)が同時に実行されれば、オーバーラップの長さBが予め設定された閾値の長さよりも短く設定されてもよい。
【0034】
音声処理装置は、複数のセグメント221~224それぞれに対して
図1を参照して説明したエンコーダ-デコーダに基づいた音声認識を行い、その結果として、複数の文字シーケンス231~234を決定することができる。例えば、第1セグメント221の音声認識結果として第1文字シーケンス231が決定され、同様に、残りの文字シーケンス232~234も第2セグメント222~第4セグメント224それぞれの音声認識結果として決定される。
【0035】
音声処理装置は、複数の文字シーケンス231~234を併合することで、長い音声信号210に対応する音声認識結果240を決定することができる。音声処理装置は、隣接する文字シーケンス間にオーバーラップされる部分を編集距離に基づいて識別し、オーバーラップされる部分に基づいて隣接する文字シーケンスを併合することができる。ここで、編集距離は、1つの文字シーケンスを他の文字シーケンスに変換するために必要な最小の作業費用(minimum cost of operations)を計算し、2文字シーケンスが互いに異なる程度を数量化する技法であって、このとき適用される費用は作業の種類(例えば、挿入、変更、削除)、作業対象である文字の位置、マッチングするか否か、のうち少なくとも1つに基づいて決定されてもよい。オーバーラップされる部分は、復号化が2回行われた部分であるため、復号化の結果のいずれか1つが選択され、音声認識結果240に含まれる。オーバーラップされる部分を識別し、文字シーケンスを併合する過程については、後で詳細に説明する。
【0036】
図3を参照すると、一実施形態に係る長い音声信号の音声認識過程を説明するためのフローチャートが図示される。
【0037】
ステップS310において、音声処理装置は、音声信号が入力されると、音声認識を実行しようとするターゲットセグメントの開始時間t_startを0に初期化し、音声認識結果が累積するHISTORYをエンプティーバリュー(empty value)として初期化することができる。本実施形態において、ターゲットセグメントの開始時間t_startは0に初期化されるが、実施形態がこれに限定されることはない。
【0038】
ステップS320において、音声処理装置は、音声信号において開始時間t_startからセグメントの長さAまで音声が存在するか、又は、以前に音声信号が終了するかを確認することができる。これを通じて、音声処理装置は、音声信号において開始時間t_startからセグメントの長さAまでを抽出し、ターゲットセグメントとして取得することができる。または、開始時間t_startからセグメントの長さAまでを抽出する以前に音声信号が終了すれば、音声処理装置は、開始時間t_startから抽出された部分までをターゲットセグメントとして取得してもよい。
【0039】
ステップS330において、音声処理装置は、抽出されたターゲットセグメントを復号化した結果であるターゲット文字シーケンスDを取得する。
【0040】
ステップS340において、音声処理装置は、ターゲット文字シーケンスDおよびHISTORYを併合し、その結果をHISTORYとして格納する。最初の場合は、HISTORYにエンプティーバリューが格納されているため、ステップS330で取得されたターゲット文字シーケンスDが、そのままHISTORYに格納されている。最初でない場合には、HISTORYに先行文字シーケンスが格納されているので、音声処理装置は、ターゲット文字シーケンスDとHISTORYとの間のオーバーラップされる部分を識別し、識別された部分に基づいてターゲット文字シーケンスDとHISTORYを併合し、その結果をHISTORYとして格納することができる。オーバーラップされる部分は、復号化が2回行われた部分であるため、復号化の結果のうちの1つが選択され、HISTORYに格納され得る。このように、HISTORYには、音声信号をセグメント単位で音声認識した結果が順次累積されている。文字シーケンスを併合する過程については、
図4~
図6を参照して後述する。
【0041】
ステップS350において、音声処理装置は、音声信号が終了するか否かを確認する。もし、終了していなければ、ステップS360が引き続き行われ、反対に、音声信号が終了していれば、ステップS370が引き続き行われる。
【0042】
ステップS360において、音声処理装置は、ターゲットセグメントの開始時間t_startをシフト時間Cだけ増加させる。シフト時間Cは、セグメントの長さAの半分よりは大きく、セグメントの長さAよりは小さく設定されることにより、計算オーバーヘッドを最小化することができる。一実施形態によれば、シフト時間Cは、音声処理装置の可用リソースに基づいて動的に決定されてもよい。例えば、可用リソースが充分であるほど、シフト時間Cは、セグメントの長さAの半分に近く設定され、反対に、可用リソースが不足であるほど、シフト時間Cはセグメントの長さAに近く設定される。
【0043】
ステップS370において、音声処理装置は、HISTORYに累積された文字シーケンスを音声信号の認識結果としてリターンする。
【0044】
図4~
図6は、一実施形態により文字シーケンスを統合する例示を説明するための図である。
【0045】
図4を参照すると、一実施形態によりターゲット文字シーケンス420を先行文字シーケンス410と併合する過程を説明するための例が図示されている。
図4は、音声処理方法の最初のステップを例示的に示しており、先行文字シーケンス410は、音声信号から抽出された第1セグメントの復号化結果であり、ターゲット文字シーケンス420は、音声信号から抽出された第2セグメントの復号化結果である。第2セグメントは、第1セグメントの後続セグメントである。
【0046】
音声処理装置は、先行文字シーケンス410とターゲット文字シーケンス420との間のオーバーラップされる部分430を編集距離に基づいて識別することができる。編集距離に適用される費用は、編集距離で実行される作業の種類(例えば、挿入、変更、削除)、作業対象である文字が2文字シーケンス間のオーバーラップされる部分に位置するか否か、マッチングするか否か、のうち少なくとも1つに基づいて決定されてもよい。編集距離に適用される費用に対する詳しい内容は、
図7を参照して後述する。
【0047】
図4に示すように、先行文字シーケンス410とターゲット文字シーケンス420との間にオーバーラップされる部分430を基準にして、先行文字シーケンス410とターゲット文字シーケンス420が文字レベル(character level)に整列され、このとき、先行文字シーケンス410とターゲット文字シーケンス420との間の編集距離の費用が最も少ない。
【0048】
整列された先行文字シーケンス410およびターゲット文字シーケンス420は、次のように併合されてもよい。
【0049】
まず、先行文字シーケンス410およびターゲット文字シーケンス420のうち、オーバーラップされる部分430を除いた残りの部分、すなわち、オーバーラップされない部分に対しては復号化が1回ずつ行われているため、予め実行された復号化結果がそのまま活用され得る。一方、オーバーラップされている部分430に対しては、復号化が2回実行されて復号化結果が先行文字シーケンス410とターゲット文字シーケンス420それぞれに含まれている。従って、先行文字シーケンス410とターゲット文字シーケンス420に含まれるオーバーラップされている部分430の復号化の結果のいずれか1つが選択されなければならない。
【0050】
例えば、音声処理装置は、オーバーラップされる部分430で単語境界(word boundary)を確認することができる。単語境界は、単語と単語との間を示し、復号化の結果で単語間のスペース(spacing)に該当する。そして、音声処理装置は、確認された単語境界を転換候補(transition candidate)として指定し、指定された転換候補のうち、オーバーラップされる部分430のうち最も中間に位置するいずれか1つを転換ポイントとして選択することができる。そして、音声処理装置は、先行文字シーケンス410内の最初から転換ポイント以前までの単語と、ターゲット文字シーケンス420内の転換ポイント以後から最後までの単語とを連結することで、先行文字シーケンス410及びターゲット文字シーケンス420を併合することができる。各セグメントの境界は、音声信号が途切られた部分に該当し、セグメントの中心よりも認識の正確度が低いため、オーバーラップされる部分430の中間に位置する転換ポイントを基準にして、先行文字シーケンス410及びターゲット文字シーケンス420を併合することで、高い認識正確度の併合結果を取得することができる。
【0051】
図4の例示において、オーバーラップされる部分430内の単語境界は、先行文字シーケンス410において「recognition」及び「all」の間に決定され、ターゲット文字シーケンス420においては「recognition」及び「algorithm」の間に決定され、該当の部分が転換候補に指定され得る。本例示において、転換候補は、1つにオーバーラップされる部分430の中間に位置しているので、転換ポイントとして選択され得る。すると、先行文字シーケンス410内の最初から転換ポイント以前までの単語「The end-to-end speech recognition」とターゲット文字シーケンス420内の転換ポイント以後から最後までの単語「algorithm has been widely studied」が互いにつながることにより、併合結果として「The end-to-end speech recognition algorithm has been widely studied」が決定される。先行文字シーケンス410内の最後の単語「all」は音声信号が途切られ、「algorithm」が「all」のように間違って認識されたものであるが、前述した方法に基づいて、間違って認識された単語が併合結果として含まれることが効率よく防止され得る。
【0052】
図4において決定された併合結果は、次のターゲットセグメントの復号化結果と併合される。これについては。
図5を参照して後述する。
【0053】
図5を参照すると、一実施形態によりターゲット文字シーケンス520を先行文字シーケンス510と併合する過程を説明するための例が図示されている。ここで、先行文字シーケンス510は、
図4を参照して実行された併合結果であり、ターゲット文字シーケンス520は、音声信号から抽出された第3セグメントの復号化結果である。
【0054】
音声処理装置は、先行文字シーケンス510とターゲット文字シーケンス520との間にオーバーラップされる部分を編集距離に基づいて識別することができる。
図5に示すように、場合に応じて、先行文字シーケンス510とターゲット文字シーケンス520との間にオーバーラップされる部分が存在しなくてもよく、その結果、先行文字シーケンス510とターゲット文字シーケンス520は、互いに重ならないよう整列されてもよい。前述のように、オーバーラップされない部分は、予め実行された復号化結果がそのまま活用されて併合結果に含まれ得るため、先行文字シーケンス510およびターゲット文字シーケンス520がそのまま繋がって、併合結果として「The end-to-end speech recognition algorithm has been widely studied and showed competitive performance to conventional speech」が決定される。
図5において決定された併合結果は、次のターゲットセグメントの復号化結果と併合さる。これについては、
図6を参照して後述する。
【0055】
図6を参照すると、一実施形態によりターゲット文字シーケンス620を先行文字シーケンス610と併合する過程を説明するための例が図示されている。ここで、先行文字シーケンス610は、
図5で実行された併合結果であり、ターゲット文字シーケンス620は、音声信号から抽出された第4セグメントの復号化結果である。
【0056】
音声処理装置は、先行文字シーケンス610とターゲット文字シーケンス620との間にオーバーラップされる部分630を編集距離に基づいて識別することができる。
図6に示すように、オーバーラップされる部分630を基準にして先行文字シーケンス610とターゲット文字シーケンス620が文字レベルに整列され、このとき、オーバーラップされる部分630間の編集距離の費用が最も少ない。
【0057】
一実施形態に係る編集距離に基づいてオーバーラップされる部分630を識別するとき、先行文字シーケンス610の全体が考慮され得るが、実施形態により、先行文字シーケンス610の一部のみが考慮されてもよい。一例として、セグメント間のオーバーラップの長さの間でユーザが発話可能な文字の長さが制限的であるため、先行文字シーケンス610でユーザが発話可能な最大文字の長さだけ一部のシーケンス640が抽出され得る。一部のシーケンス640とターゲット文字シーケンス620との間の編集距離を計算することで、少ない演算量でオーバーラップされる部分630の識別を行うことができる。異なる例として、先行文字シーケンス610は、第1セグメントないし第3セグメントの復号化結果が併合したものであるが、この中で最後のセグメントに該当する第3セグメントの復号化結果650が、ターゲット文字シーケンス620とオーバーラップされてもよい。従って、第3セグメントの復号化結果650とターゲット文字シーケンス620との間の編集距離を計算することで、少ない演算量でオーバーラップされる部分630の識別を行うことができる。このとき、第3セグメントは、ターゲットセグメントのすぐ前のセグメントであって、説明の便宜のために先行セグメントに称する。
【0058】
オーバーラップされる部分630を基準にして整列された先行文字シーケンス610およびターゲット文字シーケンス620は、前述した方式により併合され、その併合結果として「The end-to-end speech recognition algorithm has been widely studied and showed competitive performance to conventional speech recognition methods」が決定される。
図6の例示において、先行文字シーケンス610及びターゲット文字シーケンス620のそれぞれでオーバーラップされる部分630の初単語が「conventional」と「convolutional」のように異なるが、「conventional speech」間のスペース、「convolutional speech」間のスペースに指定された転換ポイントに基づいて「conventional」が併合結果として含まれ得る。
【0059】
図7は、一実施形態に係る編集距離を説明するための例を示す図面である。
【0060】
図7を参照すると、一実施形態に係るターゲット文字シーケンスと先行文字シーケンスとの間に編集距離を計算するための例が示されている。
図7の例示的なテーブルにおいて、最初の列の「proposed convolution」は先行文字シーケンスを示し、最初の行の「conventional algorithm」はターゲット文字シーケンスであり、最初の行と最初の列に含まれている「 」はスペースを示す。
【0061】
一実施形態によれば、編集距離は、1つの文字シーケンスを他の文字シーケンスに変換するために必要な最小の作業費用を計算し、2文字シーケンスが互いに異なる程度を数量化する技法であって、説明の便宜のために最小の作業費用の計算過程が
図7に示すようなテーブルに表現され得る。
【0062】
編集距離に適用される費用は、編集距離で行われる作業の種類(例えば、挿入、変更、削除)、作業対象である文字がオーバーラップされる部分に位置するか否か、マッチングするか否か、のうち少なくとも1つに基づいて決定される。
【0063】
編集距離の費用は、ターゲット文字シーケンスおよび先行文字シーケンスのうちオーバーラップされない部分とオーバーラップされる部分について相違して適用される。相違に表現すれば、オーバーラップされない部分で発生する編集距離の挿入費用は、オーバーラップされる部分で発生する挿入費用よりも小さい。例えば、オーバーラップされない部分で発生する編集距離の挿入費用は0であり、オーバーラップされる部分で発生する挿入費用は2である。
図7に示す例示で、先行文字シーケンスの前部710は、オーバーラップされない部分でテーブルの下方に行くほど(言い換えれば、先行文字シーケンスの文字が挿入されても)費用が増加することなく同一に維持されている。また、ターゲット文字シーケンスの後部720も、オーバーラップされない部分でテーブルの右側に行くほど(言い換えれば、ターゲット文字シーケンスの文字が挿入されても)費用が増加することなく同一に維持されている。反対に、オーバーラップされる部分である先行文字シーケンスの後部とターゲット文字シーケンスの前部では、文字が挿入されるごとに費用が2ずつ増加する。
【0064】
また、オーバーラップされる部分で発生する編集距離の挿入費用、削除費用、及び編集距離の交替費用は正数であってもよく、このとき、各費用は、音声処理方法に対するチューニングにより決定される。例えば、オーバーラップされる部分で発生する編集距離の挿入費用及び/又は削除費用は、編集距離の交替費用より大きくてもよい。例えば、オーバーラップされる部分で発生する編集距離の挿入費用及び/又は削除費用は2であり、編集距離の交替費用は1であってもよい。これは、音声認識過程でノイズなどにより特定文字が異なる文字に認識される場合よりも、特定文字が認識結果から脱落する場合をより大きいエラーとして認識するせいである。
【0065】
また、編集距離のマッチング費用は、オーバーラップされない部分で発生する編集距離の挿入費用より小さくてもよい。相違に表現すれば、マッチング費用は、負数(例えば、-1)に設定され、オーバーラップされない部分で発生する編集距離の挿入費用である0よりも小さい。
図7に示す例示で、オーバーラップされる部分730でマッチングが発生するごとに費用が減少する。
【0066】
前述した説明による費用が適用されて編集距離が計算されるとき、最小の作業費用は、
図7に示すテーブル内の左側上段の時点から右側下段の終点までを連結する全体的な観点で計算され得る。
図7に示す例示では、先行文字シーケンス「proposed convolution」において「convolution」がオーバーラップされる部分として識別され、ターゲット文字シーケンス「conventional algorithm」において「conventional」がオーバーラップされる部分として識別される。このように、ターゲット文字シーケンスの前部と先行文字シーケンスの後部が完全に一致しなくても、編集距離の最小の作業費用に基づいて、オーバーラップされる部分で識別され得る。上述のように、編集距離が文字単位で計算されることで、どのような言語にも適用可能な汎用性を有し得る。
【0067】
図8は、一実施形態に係る音声処理方法を示すフローチャートである。
【0068】
図8を参照すると、一実施形態に係る音声処理装置に備えられたプロセッサで行われる音声処理方法が示されている。
【0069】
ステップS810で、音声処理装置は、音声信号からターゲットセグメントを取得する。音声処理装置は、セグメントの長さ及びセグメント間のオーバーラップの長さに基づいて音声信号からターゲットセグメントを取得することができる。セグメント間のオーバーラップの長さは、音声処理方法を行う装置の可用リソースに基づいて決定される得る。
【0070】
ステップS820において、音声処理装置は、ターゲットセグメントを復号化することにより、ターゲットセグメントに対応するターゲット文字シーケンスを取得する。
【0071】
ステップS830において、音声処理装置は、ターゲット文字シーケンスと先行文字シーケンスとの間にオーバーラップされる部分を編集距離に基づいて識別する。編集距離に適用される費用は、編集距離で行われる作業の種類、作業対象である文字がオーバーラップされる部分に位置するか否か、マッチングするか否かのうち少なくとも1つに基づいて決定される。編集距離の費用は、ターゲット文字シーケンスと先行文字シーケンスのうちオーバーラップされない部分とオーバーラップされる部分について相違して適用されてもよい。編集距離のマッチング費用は負数であり、オーバーラップされない部分で発生する編集距離の挿入費用は0であり、編集距離の交替費用とオーバーラップされる部分で発生する挿入費用は正数であってもよい。
【0072】
ステップS840において、音声処理装置は、オーバーラップされる部分に基づいてターゲット文字シーケンスおよび先行文字シーケンスを併合する。
【0073】
図1~
図7を参照して記述された事項は、
図8を参照して記述された事項に適用され得るため、その詳細な説明は省略する。
【0074】
図9は、一実施形態に係る音声処理装置を示す図面である。
【0075】
図9を参照すると、一実施形態に係る音声処理装置900は、メモリ910、プロセッサ920、及び、入出力インターフェース930を含む。メモリ910、プロセッサ920、及び、入出力インターフェース930は、バス(bus)940を通じて通信することができる。
【0076】
メモリ910は、コンピュータで読み出し可能な命令語を含んでいる。プロセッサ920は、メモリ910に格納されている命令語がプロセッサ920で実行されることによって、上記の動作を実行することができる。メモリ910は、揮発性メモリ又は不揮発性メモリであってもよい。
【0077】
プロセッサ920は、命令語またはプログラムを実行したり、音声処理装置900を制御する、1つ以上の装置であって、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)などを含んでもよい。音声処理装置900は、入出力インターフェース930を通じて他の装置(例えば、マイクロホン、又は、ユーザ音声信号を取得する外部デバイス、など)に接続し、データをやり取りすることができる。その他に、音声処理装置900に関しては、上述した動作を処理することができる。
【0078】
ユーザ端末は、スマートフォン、タブレット、ラップトップ、パーソナルコンピュータなどの様々なコンピューティング装置、スマートウォッチ、スマートメガネなどの様々なウェアラブル機器、スマートスピーカー、スマートTV、スマート冷蔵庫などの様々な家電装置、スマート自動車、スマートキオスク、IoT(Internet of Things)機器などを含む。
【0079】
図10及び
図11は、一実施形態に係る音声処理装置の例を説明するための図である。
【0080】
図10を参照すると、一実施形態に係る音声処理装置は、サーバ1000として実現され得る。
【0081】
サーバ1000は、ユーザによって制御されるユーザ端末とは区分される別途の装置であって、有線及び/又は無線ネットワークを通じてユーザ端末と通信を行うことができる。ユーザの音声信号は、ユーザ端末で収集され、ネットワークを通じてサーバ1000に伝えられて、サーバ1000は、前述した音声処理方法に基づいて音声認識モデル1010を用いて音声信号を認識することができる。このとき、音声認識モデル1010が利用されてもよい。そして、サーバ1000は、音声認識の結果をユーザ端末にリターンすることができる。例えば、ユーザ端末は、スマートフォン、タブレット、ラップトップ、パーソナルコンピュータなどの様々なコンピューティング装置、スマートウォッチ、スマートメガネなどの様々なウェアラブル機器、スマートスピーカー、スマートTV、スマート冷蔵庫などの様々な家電装置、スマート自動車、スマートキオスク、IoT(Internet of Things)機器などを含む。
【0082】
ユーザ端末は、サーバ1000から受信された認識結果を単にユーザへ提供したり、または、認識結果に基づいた後続動作を行うことができる。例えば、後続動作として、天気を尋ねるなどのユーザ質問に対する応答情報出力、音楽再生などのユーザ命令に応じる命令実行、ユーザ端末に表示された入力項目にテキスト入力、音声認識の結果を他の言語に翻訳又は通訳すること、などを制限されることなく含むことができる。
【0083】
図11を参照すると、一実施形態に係る音声処理装置は、ユーザ端末1100として実現され得る。
図11において、説明の便宜のためにユーザ端末1100がスマートフォンとして図示されているが、その他にも、ユーザによって制御される機器であれば、制限されることなく適用され得る。ユーザ端末1100は、直接ユーザから音声信号を取得し、前述した音声処理方法により、音声認識モデル1110を用いて前記音声信号を認識することができる。そして、ユーザ端末1100は、認識結果を単にユーザへ提供したり、または、認識結果に基づいた後続動作を実行することができる。
【0084】
上述の実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又は、ハードウェア構成要素及びソフトウェア構成要素の組み合せで具現化される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は命令(instruction)を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現化される。
【0085】
ソフトウェアは、コンピュータプログラム、コード、命令、又は、そのうちの一つ以上の組合せを含み、希望の通りに動作するように処理装置を構成したり、独立的又は結合的に処理装置を命令することができる。ソフトウェア及び/又はデータは、処理装置によって解釈されたり、処理装置に命令又はデータを提供するために、いずれかの類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、もしくは、送信される信号波に永久的又は一時的に具現化することができる。ソフトウェアは、ネットワークに連結されたコンピュータシステム上に分散され、分散した方法で格納されたり実行され得る。ソフトウェア及びデータは一つ以上のコンピュータで読出し可能な記録媒体に格納され得る。
【0086】
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現化され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して、構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例として、ハードディスク、フロッピー(登録商標)ディスク、及び、磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及び、ROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0087】
上述のように、実施形態が、たとえ限定された図面によって説明されてきたとしても、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術は、説明された方法と異なる順で実行されるし、及び/又、は説明されたシステム、構造、装置、回路などの構成要素は、説明された方法と異なる形態で結合又は組み合わせられてもよいし、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
【符号の説明】
【0088】
110 エンコーダ
120 デコーダ
130 音声信号
140 文字シーケンス
210 長い音声信号
221、222、223、224 セグメント
231、232、233、234 文字シーケンス
410 先行文字シーケンス
420 ターゲット文字シーケンス
430 オーバーラップされる部分