IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三星電子株式会社の特許一覧

<>
  • 特許-音声認識方法及び音声認識装置 図1
  • 特許-音声認識方法及び音声認識装置 図2
  • 特許-音声認識方法及び音声認識装置 図3
  • 特許-音声認識方法及び音声認識装置 図4
  • 特許-音声認識方法及び音声認識装置 図5
  • 特許-音声認識方法及び音声認識装置 図6
  • 特許-音声認識方法及び音声認識装置 図7
  • 特許-音声認識方法及び音声認識装置 図8
  • 特許-音声認識方法及び音声認識装置 図9
  • 特許-音声認識方法及び音声認識装置 図10
  • 特許-音声認識方法及び音声認識装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-11
(45)【発行日】2024-03-19
(54)【発明の名称】音声認識方法及び音声認識装置
(51)【国際特許分類】
   G10L 15/16 20060101AFI20240312BHJP
   G10L 15/183 20130101ALI20240312BHJP
【FI】
G10L15/16
G10L15/183
【請求項の数】 23
(21)【出願番号】P 2019183896
(22)【出願日】2019-10-04
(65)【公開番号】P2020086437
(43)【公開日】2020-06-04
【審査請求日】2022-08-29
(31)【優先権主張番号】10-2018-0144753
(32)【優先日】2018-11-21
(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)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】李 知▲ひょん▼
【審査官】大野 弘
(56)【参考文献】
【文献】特開2013-125144(JP,A)
【文献】特開2008-070805(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/183
G10L 15/16
(57)【特許請求の範囲】
【請求項1】
音声認識装置のコンピュータが実行する音声認識方法であって、
音声入力に基づいて候補テキストに対する第1スコアを決定するステップと、
前記音声入力に基づいて複数の言語モデルの出力にそれぞれ適用される加重値を決定するステップと、
加重値が適用された第2スコアを取得するために、前記言語モデルから出力された候補テキストに対する第2スコアに前記決定された加重値を適用するステップと、
前記第1スコアと前記加重値が適用された第2スコアとに基づいて、前記候補テキストのうちターゲット候補テキストを選択するステップと、
前記選択されたターゲット候補テキストを前記音声入力の少なくとも一部に対応するターゲットテキストとして決定するステップと、
を含み、前記加重値を決定するステップは、前記音声入力から抽出される特徴値と、以前時点で決定されたターゲットテキストとを、ニューラルネットワーク基盤の加重値決定器に入力することにより、現在時点で前記複数の言語モデルの出力にそれぞれ適用される加重値を動的に決定するステップを含む、音声認識方法。
【請求項2】
前記以前時点で決定されたターゲットテキストは、音声認識の開始時点から前記現在時点のすぐ以前時点まで決定された1つ以上のターゲットテキストのうちの1つ又はいずれかの組合せを含む、請求項に記載の音声認識方法。
【請求項3】
前記加重値を決定するステップは、前記音声入力及びコンテキスト情報に基づいて前記加重値を決定するステップを含む、請求項1に記載の音声認識方法。
【請求項4】
前記コンテキスト情報は、前記音声入力を入力するユーザに対するユーザ情報、時間情報、位置情報、言語情報、音声認識ヒストリー情報、及び現在動作中であるアプリケーション情報のうち1つ又はいずれかの組合せを含む、請求項に記載の音声認識方法。
【請求項5】
前記加重値を決定するステップは、前記音声入力、以前時点で決定されたターゲットテキスト及びコンテキスト情報に基づいて、現在時点で前記言語モデルの出力に適用される加重値を決定するステップを含む、請求項1に記載の音声認識方法。
【請求項6】
前記ターゲット候補テキストを選択するステップは、前記候補テキストのうち前記第1スコアと前記加重値が適用された第2スコアの合計が最も大きい候補テキストを前記ターゲット候補テキストとして選択するステップを含む、請求項1-のうちの何れか1項に記載の音声認識方法。
【請求項7】
前記第1スコアを決定するステップは、
ニューラルネットワーク基盤のエンコーダを用いて前記音声入力から特徴値を抽出するステップと、
ニューラルネットワーク基盤のデコーダを用いて前記抽出された特徴値から前記候補テキストそれぞれに対する第1スコアを決定するステップと、
を含む、請求項1-のうちの何れか1項に記載の音声認識方法。
【請求項8】
前記複数の言語モデルは、第1言語モデル及び第2言語モデルを含み、
前記第1言語モデルは、前記候補テキストに対する第2スコアを出力し、
前記第2言語モデルは、前記候補テキストに対する第3スコアを出力し、
前記加重値を決定するステップは、前記第2スコアに適用される第1加重値と前記第3スコアに適用される第2加重値とを決定し、
前記ターゲット候補テキストを選択するステップは、前記第1スコア、前記第1加重値が適用された第2スコア及び前記第2加重値が適用された第3スコアに基づいて、前記候補テキストのうち前記ターゲット候補テキストを選択するステップを含む、請求項に記載の音声認識方法。
【請求項9】
前記加重値を決定するステップは、
前記複数の言語モデルのうち前記加重値が適用される1つ以上の言語モデルを選択するステップと、
前記選択された1つ以上の言語モデルの出力に適用される加重値を決定するステップと、
を含む、請求項1に記載の音声認識方法。
【請求項10】
前記言語モデルは、以前時点で決定されたターゲットテキストに基づいて前記以前時点で決定されたターゲットテキストに続く次のターゲットテキストを決定するための各候補テキストに対応する第2スコアを出力する、請求項1-のうちの何れか1項に記載の音声認識方法。
【請求項11】
前記候補テキストそれぞれは、単語、部分単語、句、及び文章のいずれか1つである、請求項1-10のうちの何れか1項に記載の音声認識方法。
【請求項12】
前記第1スコアを決定するステップは、以前の時間区間におけるニューラルネットワーク基盤のデコーダの出力及び前記音声入力に基づいて前記第1スコアを決定するステップを含む、請求項1-のうちの何れか1項に記載の音声認識方法。
【請求項13】
前記音声入力のタイプは、前記音声入力のコンテキスト、音声認識が実行される環境、前記音声入力に含まれた単語のタイプ、前記音声認識が実行される装置のタイプ、及び前記音声入力が実行される音声のタイプのいずれか1つ又はいずれかの組合せある、請求項に記載の音声認識方法。
【請求項14】
請求項1-13のうちの何れか1項に記載の音声認識方法を音声認識装置のコンピュータに実行させるコンピュータプログラム。
【請求項15】
ユーザから音声入力を受信する音声インタフェースと、
前記音声入力に基づいて音声認識を行うプロセッサと、を含み、
前記プロセッサは、
前記音声入力に基づいて候補テキストに対する第1スコアを決定し、
前記音声入力に基づいて複数の言語モデルの出力にそれぞれ適用される加重値を決定し、
加重値が適用された第2スコアを取得するために、前記言語モデルから出力された候補テキストに対する第2スコアに前記決定された加重値を適用し、
前記第1スコアと前記加重値が適用された第2スコアとに基づいて、前記候補テキストのうちターゲット候補テキストを選択し、
前記選択されたターゲット候補テキストを前記音声入力の少なくとも一部に対応するターゲットテキストとして決定し、
前記音声入力に基づいて複数の言語モデルの出力にそれぞれ適用される加重値を決定する場合に、前記音声入力から抽出される特徴値と、以前時点で決定されたターゲットテキストとを、ニューラルネットワーク基盤の加重値決定器に入力することにより、現在時点で前記複数の言語モデルの出力にそれぞれ適用される加重値を動的に決定する、音声認識装置。
【請求項16】
前記プロセッサは、前記音声入力及びコンテキスト情報に基づいて前記加重値を決定する、請求項15に記載の音声認識装置。
【請求項17】
前記言語モデルは、前記候補テキストに対する第2スコアを出力する第1言語モデル及び前記候補テキストに対する第3スコアを出力する第2言語モデルを含み、
前記プロセッサは、
前記第2スコアに適用される第1加重値と前記第3スコアに適用される第2加重値とを決定し、
前記第1スコア、前記第1加重値が適用された第2スコア、及び前記第2加重値が適用された第3スコアに基づいて、前記候補テキストのうち前記ターゲット候補テキストを選択する、請求項15に記載の音声認識装置。
【請求項18】
前記言語モデルは、複数の言語モデルを含み、
前記プロセッサは、
前記複数の言語モデルのうち前記加重値が適用される1つ以上の言語モデルを選択し、
前記選択された1つ以上の言語モデルの出力に適用される加重値を決定する、請求項15に記載の音声認識装置。
【請求項19】
音声を受信するセンサと、
複数の言語モデル及び命令を格納するメモリと、
前記命令を実行するプロセッサと、を含み、
前記プロセッサは、前記命令を行うことによって、
前記音声を符号化することをエンコーダに実行させ、
前記符号化された音声に基づいて候補テキストの第1スコアを決定することをデコーダに実行させ、
前記エンコーダの出力に基づいて前記複数の言語モデルそれぞれに対応する加重値を決定することをニューラルネットワーク基盤の加重値決定器に実行させ、
前記言語モデルそれぞれに基づいて候補テキストに対応する第2スコアを決定し、
加重値が適用された第2スコアを取得するために、前記言語モデルそれぞれから出力された前記候補テキストに対する第2スコアに前記決定された加重値を適用し、
前記候補テキストのうち、前記第1スコアの合計及び前記候補テキストに対応する加重値が適用された第2スコアに基づいて前記音声の一部に対応するターゲット候補テキストを認識し、
前記複数の言語モデルそれぞれに対応する加重値を決定する場合に、前記音声から抽出される特徴値と、以前時点で決定されたターゲットテキストとを、前記加重値決定器に入力することにより、現在時点で前記複数の言語モデルの出力にそれぞれ適用される加重値を動的に決定する、音声認識装置。
【請求項20】
前記エンコーダは前記音声から特徴値を抽出し、
前記デコーダは、前記特徴値に基づいて前記第1スコアと前記候補テキストを出力する、請求項19に記載の音声認識装置。
【請求項21】
前記加重値決定器は、前記音声のうちユーザ名が検出されたことに応答して、前記音声認識装置を実行する装置に格納された連絡先情報に対応する言語モデルの加重値を増加させる、請求項19又は20に記載の音声認識装置。
【請求項22】
前記加重値決定器は、前記エンコーダの出力及びコンテキスト情報に基づいて前記加重値を決定し、
前記コンテキスト情報は、前記音声を入力するユーザに対するユーザ情報、時間情報、位置情報、言語情報、音声認識ヒストリー情報、及び現在動作中であるアプリケーション情報のいずれか1つ又はいずれかの組合せを含む、請求項19に記載の音声認識装置。
【請求項23】
前記エンコーダ、及び前記デコーダは、ニューラルネットワークに基づいて実行される、請求項1922のうち何れか1項に記載の音声認識装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、音声認識技術に関する。
【背景技術】
【0002】
音声認識技術は、人がコミュニケーションするために話す音声をコンピュータが解釈して文字データに変換する技術であり、便利さを所望するユーザの要求に応じて急速に発展している。最近、ニューラルネットワーク(neural network)を用いて音声認識を行う技術が盛んに研究されている。ニューラルネットワークは、人の生物学的な神経細胞の特性を数学的な表現によってモデリングしたモデルであり、人が有している学習という能力を模倣したアルゴリズムを用いる。ニューラルネットワークは、学習された結果に基づいて学習に利用されていない入力パターンに対して比較的に正しい出力を生成することのできる一般化能力を有し、このような一般化能力の長所により音声認識技術の分野でニューラルネットワークが幅広く利用されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の目的は、音声認識技術を提供することにある。
【課題を解決するための手段】
【0004】
一実施形態に係る音声認識方法は、音声入力に基づいて候補テキストに対する第1スコアを決定するステップと、前記音声入力に基づいて言語モデルの出力に適用される加重値を決定するステップと、加重値が適用された第2スコアを取得するために、前記言語モデルから出力された前記候補テキストに対する第2スコアに前記決定された加重値を適用するステップと、前記第1スコアと前記加重値が適用された第2スコアとに基づいて、前記候補テキストのうちターゲット候補テキストを選択するステップと、前記選択されたターゲット候補テキストを前記音声入力の少なくとも一部に対応するターゲットテキストとして決定するステップとを含む。
【0005】
前記加重値を決定するステップは、前記音声入力と以前時点で決定されたターゲットテキストに基づいて、現在時点で前記言語モデルの出力に適用される加重値を決定するステップを含み得る。
【0006】
前記以前時点で決定されたターゲットテキストは、音声認識の開始時点から前記現在時点のすぐ以前時点まで決定された1つ以上のターゲットテキストのうちの1つ又はいずれかの組合せを含み得る。
【0007】
前記加重値を決定するステップは、前記音声入力及びコンテキスト情報に基づいて前記加重値を決定するステップを含み得る。
【0008】
前記加重値を決定するステップは、前記音声入力、以前時点で決定されたターゲットテキスト及びコンテキスト情報に基づいて、現在時点で前記言語モデルの出力に適用される加重値を決定するステップを含み得る。
【0009】
前記加重値を決定するステップは、前記音声入力から特徴値を抽出するステップと、前記加重値を決定するためにニューラルネットワーク基盤の加重値決定器に前記特徴値を提供するステップとを含み得る。
【0010】
前記ターゲット候補テキストを選択するステップは、前記候補テキストのうち前記第1スコアと前記加重値が適用された第2スコアの合計が最も大きい候補テキストを前記ターゲット候補テキストとして選択するステップを含み得る。
【0011】
前記第1スコアを決定するステップは、ニューラルネットワーク基盤のエンコーダを用いて前記音声入力から特徴値を抽出するステップと、ニューラルネットワーク基盤のデコーダを用いて前記抽出された特徴値から前記候補テキストそれぞれに対する第1スコアを決定するステップとを含み得る。
【0012】
前記言語モデルは、複数の言語モデルを含み、前記加重値を決定するステップは、前記複数の言語モデルそれぞれの出力に適用される加重値を決定し得る。
【0013】
前記複数の言語モデルは、第1言語モデル及び第2言語モデルを含み、前記第1言語モデルは、前記候補テキストに対する第2スコアを出力し、前記第2言語モデルは、前記候補テキストに対する第3スコアを出力し、前記加重値を決定するステップは、前記第2スコアに適用される第1加重値と前記第3スコアに適用される第2加重値とを決定し、前記ターゲット候補テキストを選択するステップは、前記第1スコア、前記第1加重値が適用された第2スコア及び前記第2加重値が適用された第3スコアに基づいて、前記候補テキストのうち前記ターゲット候補テキストを選択するステップを含み得る。
【0014】
前記言語モデルは、複数の言語モデルを含み、前記加重値を決定するステップは、前記複数の言語モデルのうち前記加重値が適用される1つ以上の言語モデルを選択するステップと、前記選択された1つ以上の言語モデルの出力に適用される加重値を決定するステップとを含み得る。
【0015】
前記言語モデルは、以前時点で決定されたターゲットテキストに基づいて前記以前時点で決定されたターゲットテキストに続く次のターゲットテキストを決定するための各候補テキストに対応する第2スコアを出力し得る。
【0016】
前記第1スコアを決定するステップは、以前の時間区間におけるニューラルネットワーク基盤のデコーダの出力及び前記音声入力に基づいて前記第1スコアを決定するステップを含み得る。
【0017】
前記言語モデルは、複数の言語モデルを含み、前記言語モデルそれぞれの加重値は、前記音声入力のタイプに基づいて動的に調整され得る。
【0018】
前記音声入力のタイプは、前記音声入力のコンテキスト、前記音声認識が実行される環境、前記音声入力に含まれた単語のタイプ、前記音声認識が実行される装置のタイプ、及び前記音声入力が実行される音声のタイプのいずれか1つ又はいずれかの組合せあり得る。
【0019】
一実施形態に係る音声認識装置は、ユーザから音声入力を受信する音声インタフェースと、前記音声入力に基づいて音声認識を行うプロセッサと、を含み、前記プロセッサは、前記音声入力に基づいて候補テキストに対する第1スコアを決定し、前記音声入力に基づいて言語モデルの出力に適用される加重値を決定し、加重値が適用された第2スコアを取得するために、前記言語モデルから出力された前記候補テキストに対する第2スコアに前記決定された加重値を適用し、前記第1スコアと前記加重値が適用された第2スコアとに基づいて、前記候補テキストのうちターゲット候補テキストを選択し、前記選択されたターゲット候補テキストを前記音声入力の少なくとも一部に対応するターゲットテキストとして決定する。
【0020】
他の実施形態に係る音声認識装置は、音声を受信するセンサと、言語モデル及び命令を格納するメモリと、前記命令を実行するプロセッサと、を含み、前記プロセッサは、前記命令を行うことによって、前記音声を符号化することをエンコーダに実行させ、前記符号化された音声に基づいて候補テキストの第1スコアを決定することをデコーダに実行させ、前記エンコーダの出力に基づいて前記言語モデルそれぞれに対応する加重値を決定することを加重値決定器に実行させ、前記言語モデルそれぞれに基づいて前記候補テキストに対応する第2スコアを決定し、加重値が適用された第2スコアを取得するために、前記言語モデルそれぞれから出力された前記候補テキストに対する第2スコアに前記決定された加重値を適用し、前記候補テキストのうち、前記第1スコアの合計及び前記ターゲット候補テキストに対応する加重値が適用された第2スコアに基づいて前記音声の一部に対応するターゲット候補テキストを認識する。
【0021】
前記エンコーダは前記音声から特徴値を抽出し、前記デコーダは、前記特徴値に基づいて前記第1スコアと前記候補テキストを出力し得る。
【0022】
前記加重値決定器は、前記音声のうちユーザ名が検出されたことに応答して、前記音声認識装置を実行する装置に格納された連絡先情報に対応する言語モデルの加重値を増加させ得る。
【0023】
前記加重値決定器は、以前に決定されたターゲットテキスト及び前記エンコーダの出力に基づいて前記加重値を決定し得る。
【0024】
前記加重値決定器は、前記エンコーダの出力及びコンテキスト情報に基づいて前記加重値を決定し、前記コンテキスト情報は、前記音声を入力するユーザに対するユーザ情報、時間情報、位置情報、言語情報、音声認識ヒストリー情報、及び現在動作中であるアプリケーション情報のいずれか1つ又はいずれかの組合せを含み得る。
【0025】
前記エンコーダ、前記デコーダ、及び前記加重値決定器のそれぞれは、ニューラルネットワークに基づいて実行される。
【発明の効果】
【0026】
一実施形態によれば、音声認識が実行される状況やドメインにより1つ以上の言語モデルの出力に適用される加重値を動的に決定することによって音声認識結果の正確度を改善させることができる。
【0027】
一実施形態によれば、状況により変わるユーザの発話タイプに応じて適切な言語モデルを選択したり、各言語モデルの影響を適切に調整することによって、音声認識結果の正確度を改善させることができる。
【図面の簡単な説明】
【0028】
図1】一実施形態に係る音声認識システムの概要(overview)を提供する図である。
図2】一実施形態に係る音声認識方法の動作を説明するためのフローチャートである。
図3】一実施形態に係る音声認識の過程を説明するための図である。
図4】一実施形態に係る音声認識の過程を説明するための図である。
図5】一実施形態に係る音声認識の過程を説明するための図である。
図6】他の実施形態に係る音声認識の過程を説明するための図である。
図7】他の実施形態に係る音声認識の過程を説明するための図である。
図8】更なる実施形態に係る音声認識の過程を説明するための図である。
図9】更なる実施形態に係る音声認識の過程を説明するための図である。
図10】更なる実施形態に係る音声認識の過程を説明するための図である。
図11】一実施形態に係る音声認識装置の構成を示す図である。
【発明を実施するための形態】
【0029】
実施形態に対する特定な構造的又は機能的な説明は単なる例示のための目的として開示されたものとして、様々な形態に変更される。したがって、実施形態は特定な開示形態に限定されるものではなく、本明細書の範囲は技術的な思想に含まれる変更、均等物ないし代替物を含む。
【0030】
第1又は第2などの用語を複数の構成要素を説明するために用いることがあるが、このような用語は1つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第1構成要素は第2構成要素と命名することができ、同様に第2構成要素は第1構成要素にも命名することができる。
【0031】
いずれかの構成要素が他の構成要素に「連結」されているか「接続」されていると言及されたときには、その他の構成要素に直接的に連結されているか又は接続されているが、中間に他の構成要素が存在し得るものと理解されなければならない。
【0032】
本明細書で用いられる用語は、単に特定の実施形態を説明するために使用されたものであり、本発明を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【0033】
異なるように定義さがれない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【0034】
以下、実施形態を添付の図面を参照して詳説する。添付図面を参照して説明することにおいて、図面符号に関わらず同じ構成要素は同じ参照符号を付与し、これに関する重複説明は省略することにする。
【0035】
図1は、一実施形態に係る音声認識システムの概要を提供する図である。
【0036】
図1を参照すると、音声認識システム100は、サーバを含む1つ以上のコンピュータ又はユーザ端末で実行される。一実施形態に係るユーザは、音声入力120を介して特定のコマンドを音声認識システム100に指示し、音声認識システム100は、ユーザの音声入力120を分析して音声入力120に対応するテキスト140、例えば「Call to Jane」を推定する。音声認識システム100は、推定されたテキスト140からテキスト140に含まれているユーザのコマンドを抽出し、抽出されたコマンドを実行して実行結果をユーザに提供する。音声入力120は、単語シーケンスを含んでもよく、それぞれの単語シーケンスは単語(word)、句(phrase)、又は、文章(sentence)を含む。音声認識システム100は、上記のようにユーザの音声入力120に含まれたコマンドを認識する他に、機械翻訳及び人-機械間の対話などの様々な応用で活用されることができる。
【0037】
音声認識システム100は、ユーザから音声入力120を受信し、音声入力120をテキスト140に変換するようにプログラムされた音声認識装置110を含む。音声認識装置110は音声入力を認識し、音声入力に対応するテキストデータを生成する。音声認識装置110は、音声入力に含まれた単語をテキストに変換するように構成されたソフトウェアモジュール、ハードウェアモジュール、又はその組合で実現される。一実施形態によれば、音声認識装置110は、モバイルフォン、セルラーフォン、スマートフォン、パーソナルコンピュータ、ラップトップ、ノート型パソコン、ネットブック、又はタブレット、携帯情報端末(personal digital assistant;PDA)、デジタルカメラ、ゲームコンソール、MP3プレーヤー、パーソナルマルチメディアプレーヤー(personal multimedia player;PMP)、電子ブック(E-Book)、ナビゲーション、ディスクプレーヤー、セットトップボックス、家庭用電子機器(home appliance)、通信装置、ディスプレイ装置、又は、その他の電子機器に内蔵されたり、又はそれと相互動作する。また、音声認識装置110は、スマート家電機器、知能型車両、自律走行装置、スマートホーム環境、スマートビルディング環境、スマートオフィス環境、スマート電子セキュリティーシステムなどに内蔵されたり、又はそれと相互動作する。また、音声認識装置110は、ユーザの体に着用されるウェアラブル機器(wearable device)に含まれて動作したり、これと相互作用する。ウェアラブル機器は、例えば、指輪、時計、メガネ、腕輪、ベルト、バンド、ネックレス、イヤリング、ヘルメット、又は服の形態を有する。
【0038】
音声認識装置110は、音声認識結果の正確度を改善させるために言語モデルデータベース130に格納された言語モデルを用いる。言語モデルは、自然語処理エンジンを構成するコンポーネントとして、音声入力の認識結果が自然な自然語表現になるよう重要な役割を行う。言語モデルは、それぞれの部分単語(subword)、単語(word)、句(phrase)及び/又は文章に関する確率値を提供し、音声認識装置110は、このような言語モデルが提供するテキスト表現と該当テキスト表現の確率値に基づいて音声認識結果を決定することができる。音声認識のために1つ又は数個の言語モデルが用いられる。音声認識に用いられる言語モデルとして、例えば、音声入力のドメインに独立的な一般言語モデル、各ドメインごとに主に用いられるスピーチ表現が含まれたコーパス(corpus)で学習された言語モデル、及びユーザ情報やスマートフォンのようなユーザ端末に格納された情報(例、連絡先)に基づいた個人化された言語モデル(personalized language model;PLM)があり得る。
【0039】
音声認識が実行される状況やドメインに応じてユーザの発話(speech)タイプと音声入力に含まれる単語やスピーチパターンが異なることがある。例えば、TVで用いられる音声認識の場合、音声入力は、主に「番組検索」、「チャネル選択」又は「ボリューム調整」のようなTVの機能に関する発話が多いのであろう。スマートフォンで用いられる音声認識の場合、音声入力は、主にスマートフォンの機能に関する発話が多いのであろう。また、ユーザが音声認識を介してスマートフォンでSMS(short message service)を利用したり、地図で特定の食堂の位置を検索したり、又は、友人に電話しようとしたりに応じて、音声入力に含まれる単語やスピーチパターンが変わり得る。したがって、音声認識では、音声認識が実行されるドメインで状況に応じて言語モデルを適切に使用する場合に音声認識の性能を保障することができる。
【0040】
スマートフォン又は様々な家電機器を統合的に管理するスマートホームのように、ユーザの発話に対する様々なドメインを考慮して音声認識を行わなければならない場合、発話タイプに応じて、言語モデルの影響を調整することが求められる。例えば、ユーザが音声認識を介してスマートフォン上で特定の友人に電話しようとする場合、ユーザの音声入力により該当友人の名前をスムーズに区別するため、個人化された言語モデルの影響を高く設定することが好ましい。異なる例として、ユーザが音声認識によりスマートフォンで特定のアプリケーションを実行しようとする場合、音声認識結果を決定することにおいて、スマートフォンに関する言語モデルの影響を高く設定することが好ましい。
【0041】
本明細書で説明される実施形態は、音声認識が実行される状況やドメインにより1つ以上の言語モデルの出力に適用される加重値を動的に決定することによって、より正確な音声認識結果が導き出されるようにする技術的手段を提供することができる。例えば、音声認識装置110は、音声入力に基づいて音声入力のドメインを分類し、分類されたドメインにより言語モデルの出力に適用される結合加重値を調整することで、音声入力のドメインでも状況に応じて音声認識結果に及ぼす言語モデルの影響を効率よく調整することができる。
【0042】
図2は、一実施形態に係る音声認識方法の動作を説明するためのフローチャートである。音声認識方法は、本明細書で説明される音声認識装置によって実行される。
【0043】
図2を参照すると、ステップS210において、音声認識装置は、音声入力を受信する。ユーザは、音声命令のためにマイクロホンのような音声インタフェースを介して音声を入力し、入力された音声の音声信号は音声認識装置に伝えられる。
【0044】
ステップS220において、音声認識装置は、音声入力に基づいて候補テキストに対する第1スコアを決定する。例えば、音声認識装置は、現在の分析対象になる音声入力の部分が候補テキスト「call」に該当する第1スコア、及び候補テキスト「send」に該当する第1スコアを決定する。音声認識装置は、「call」及び「send」の他の候補テキストそれぞれに対応する第1スコアを決定する。候補テキストは、様々な部分単語、単語、句、及び/又は文章を含み、第1スコアは、各候補テキストに対応する確率値又は期待値を示す。例えば、候補テキスト「call」に対する第1スコアが0.75であると仮定すれば、これは現在の認識対象となる音声入力の部分がテキスト「call」に該当する確率が0.75(相対的な値)になることを意味する。
【0045】
一実施形態に係る音声認識装置は、ニューラルネットワーク基盤のエンコーダ-デコーダ言語認識モデルを用いて候補テキストに対する第1スコアを決定することができる。音声認識装置は、以前の時間区間におけるニューラルネットワーク基盤のデコーダの出力及び音声入力に基づいて第1スコアを決定する。音声認識装置は、エンコーダを用いて音声入力から特徴値(例、特徴ベクトル)を抽出し、デコーダを用いて該当抽出された特徴値から候補テキストそれぞれに対する第1スコアを決定する。エンコーダは、音声入力を抽象化された特徴ベクトルに変換し、デコーダは、該当特徴ベクトルに基づいて候補テキストに対する確率値又は期待値を決定する。
【0046】
以下では、説明の便宜のためにエンコーダ-デコーダ基盤の音声認識モデルを中心に実施形態について説明するが、実施形態の範囲がエンコーダ-デコーダ基盤の音声認識モデルを用いる実施形態に限定されることはない。例えば、音声認識装置は、音響モデルと基本言語モデルを含む言語認識モデルを用いて候補テキストに対する第1スコアを決定してもよい。音響モデルは、音声入力から抽出された特徴に基づいて音声入力を音素(phoneme)単位で認識した結果を出力し、基本言語モデルは、音素単位の認識結果に基づいて単語間の連結関係に基づいた確率情報を第1スコアとして提供する。
【0047】
ステップS230において、音声認識装置は、音声入力に基づいて言語モデルの出力に適用される加重値を決定する。音声認識装置は、音声入力から特徴値を抽出し、抽出された特徴値に基づいて加重値を決定する。加重値によって言語モデルの出力が言語認識結果に及ぼす程度が調整される。例えば、言語モデルLの出力に適用される加重値が大きいほど、言語モデルLの比重又は依存度が大きくなる。
【0048】
実施形態により、音声認識に複数の言語モデルが用いられ、この場合に音声認識装置は、言語モデルそれぞれの出力に適用される加重値を決定する。言語モデルそれぞれの加重値は、音声入力のタイプに基づいて動的に調整される。ここで、音声入力のタイプは、例えば、音声入力のコンテキスト、音声認識が実行される環境、音声入力に含まれた単語のタイプ、音声認識が実行される装置のタイプ、及び音声入力が実行される音声のタイプのいずれか1つ又はいずれかの組合せであってもよい。
【0049】
一実施形態では、言語モデルが候補テキストに対する第2スコアを出力する第1言語モデル、及び候補テキストに対する第3スコアを出力する第2言語モデルを含む場合、音声認識装置は、第2スコアに適用される第1加重値と第3スコアに適用される第2加重値を決定する。他の実施形態において、音声認識装置は、複数の言語モデルのうち加重値が適用される1つ以上の言語モデルを選択し、選択された1つ以上の言語モデルの出力に適用される加重値を決定してもよい。そのため、複数の音声モデルのうち音声認識に必要な言語モデルのみを選択的に利用することで効率性が改善される。
【0050】
一実施形態に係る音声認識装置は、ニューラルネットワーク基盤のエンコーダ-デコーダ言語認識モデルでエンコーダから出力された特徴値を入力にし、該当の特徴値に対応する加重値を出力するニューラルネットワーク基盤の加重値決定器を用いて加重値を決定することができる。加重値決定器は、エンコーダの出力、以前時点におけるデコーダの出力(すなわち、以前時点における認識結果)及びコンテキスト情報のうちの1つ以上が入力され、1つ以上の言語モデルそれぞれの出力に適用される加重値を提供する。一例として、加重値決定器は、各言語モデルに適用される確率を示すベクトル値を加重値として出力し、出力されたベクトル値は、各言語モデルの反映比率を決定するための結合加重値として用いられる。
【0051】
一実施形態に係る音声認識装置は、音声入力と以前時点で決定されたターゲットテキストに基づいて、現在時点で言語モデルの出力に適用される加重値を決定する。この場合、加重値決定器には、エンコーダの出力と以前時点で決定されたターゲットテキストに関する情報が入力される。以前時点で決定されたターゲットテキストは、音声認識の開始時点から現在時点のすぐ以前時点まで決定された1つ以上のターゲットテキストのうちの1つ又はいずれかの組合せを含む。ターゲットテキストは、音声入力の少なくとも一部に対応するものとして、最終決定されたテキストを意味する。
【0052】
他の実施形態において、音声認識装置は、音声入力及びコンテキスト情報に基づいて言語モデルの出力に適用される加重値を決定してもよい。この場合、加重値決定器には、エンコーダの出力と別途のコンテキスト情報が入力される。コンテキスト情報は、ユーザの音声入力に関する全ての情報が該当する。例えば、コンテキスト情報は、音声入力を入力するユーザに対するユーザ情報(例、性別、年齢、国籍、アドレス、職場、職業など)、時間情報、位置情報、言語情報、音声認識ヒストリー情報、及び現在動作中であるアプリケーション情報のいずれか1つ又はいずれかの組合せを含む。
【0053】
更なる実施形態として、音声認識装置は、音声入力、以前時点で決定されたターゲットテキスト及びコンテキスト情報に基づいて、現在時点で言語モデルの出力に適用される加重値を決定してもよい。この場合、加重値決定器には、エンコーダの出力、以前時点で決定されたターゲットテキストに関する情報と別途のコンテキスト情報が入力される。
【0054】
上記のような加重値決定器は、ユーザの音声入力に対応するレーベル(label)を出力値として有する学習データを用いて予め学習することができる。学習過程で、加重値決定器は、エンコーダの出力、又は、エンコーダの出力及びデコーダの出力の全てが入力され、入力に対応するレーベルを予測するように学習される。これとは相違して、予測するレーベルがない場合、音声認識モデルの性能点数(例、WER(word error rate)、BLEU(bilingual evaluation understudy)など)が向上するように加重値決定器が学習され得る。
【0055】
ステップS240において、音声認識装置は、言語モデルから出力された候補テキストに対する第2スコアに、ステップS230で決定された加重値を適用する。これによって、加重値が適用された第2スコアが取得される。候補テキストは、部分単語、単語、句、及び文章のいずれか1つであってもよく、第2スコアは、第1スコアと同様に、各候補テキストに対応する確率値又は期待値を示す。言語モデルが複数である場合、各言語モデルが提供する候補テキストは、相互間で同一であってもよい。実施形態により、言語モデルが提供する候補テキストの間には、一部に相違が存在することがある。各言語モデルは、以前時点で決定されたターゲットテキストに基づいて、以前時点で決定されたターゲットテキストに続く次のターゲットテキストを決定するための各候補テキストに対応するスコア(第2スコア、第3スコア、…)を出力する。その後、音声認識装置は、各言語モデルから出力された候補テキストに対するスコアに各言語モデルに対応する加重値を適用する。例えば、ステップS230で決定された加重値が言語モデルから出力された各候補テキストのスコアに乗算される。
【0056】
ステップS250において、音声認識装置は、ステップS220で決定された第1スコアとステップS240で加重値が適用された第2スコアに基づいて、候補テキストのうちターゲット候補テキストを選択する。例えば、音声認識装置は、候補テキストのうち第1スコアと加重値が適用された第2スコア間の合計が最も大きい候補テキストをターゲット候補テキストとして選択する。このように、音声認識装置は、各スコアを統合した結果に基づいて1つのターゲット候補テキストを選択することができる。
【0057】
一実施形態では、言語モデルが候補テキストに対する第2スコアを出力する第1言語モデル、及び該当候補テキストに対する第3スコアを出力する第2言語モデルを含む。第1言語モデル及び第2言語モデルは、同一の候補テキストセットに対して個別的にスコアを決定する。第2スコア及び第3スコアそれぞれに対応する第1加重値及び第2加重値が決定された場合、音声認識装置は、ステップS220で決定された第1スコア、第1加重値が適用された第2スコア、及び第2加重値が適用された第3スコアに基づいて、候補テキストのうちターゲット候補テキストを選択する。
【0058】
ステップS260において、音声認識装置は、ステップS250で選択されたターゲット候補テキストを音声入力の少なくとも一部に対応するターゲットテキストとして決定する。一実施形態に係る音声認識装置は、ステップS220ないしステップS260の過程を繰り返し行って、音声入力の少なくとも一部に対応するターゲットテキストを順次決定し、決定されたターゲットテキストを互いに結合させることで音声入力全体に対応するテキストを決定することができる。
【0059】
上記のように、音声認識装置は、音声入力に基づいて言語モデルの出力に適用される加重値を動的に調整することにより、状況により変わるユーザの発話タイプに応じて適切な言語モデルを選択したり、各言語モデルの影響を適切に調整し、音声認識結果の正確度を改善させることができる。そのため、音声認識装置は、スマートフォン及びスマートホームのように様々な応用が実行され得るドメインで自然語処理(natural language processing)を行わなければならない場合に効率よく活用されることができる。
【0060】
図3は、エンコーダの出力に基づいて加重値を決定する実施形態を説明するための図である。図3を参照すると、言語認識モデルとしてニューラルネットワーク基盤のエンコーダ-デコーダ言語認識モデルが用いられる。エンコーダ-デコーダ言語認識モデルは、様々な復号化ステップにかけて音声入力310に対応する全体テキストを構成する単語を順次推定する。まず、エンコーダ320に音声入力310が入力される。エンコーダ320から抽象化された音声入力310の特徴値(例、特徴ベクトル)が出力され、該当特徴値は、デコーダ330とニューラルネットワーク基盤の加重値決定器340に入力される。音声認識装置は、加重値を決定するためにニューラルネットワーク基盤の加重値決定器340に特徴値を提供する。
【0061】
デコーダ330は、エンコーダ320から受信した特徴値と以前時点で決定された以前ターゲットテキスト350に基づいて、候補テキストに対する第1スコアを決定する。もし、音声認識の開始ステップであるため、以前ターゲットテキスト350が存在しなれば、デコーダ330は、以前ターゲットテキスト350なしにエンコーダ320から受信した特徴値のみを用いて候補テキストに対する第1スコアを決定することができる。
【0062】
エンコーダ320とデコーダ330は、オーディオ信号とオーディオ信号に対応するテキストから構成された学習データに基づいて予め学習している。この場合、学習過程で扱うことができない発話表現が存在することがあり、このような足りない発話表現を補完するために、音声認識の過程で1つ以上の言語モデル362,364,366を用いてもよい。音声認識装置は、様々なドメインにおけるユーザ発話を適切に認識するために複数の言語モデル362,364,366を用いることができる。言語モデル362,364,366は、例えば、ニューラルネットワーク、N-グラム(gram)、又は単語/文字列リストなどに基づき、音声入力310として提示され得る様々な発話表現を提供することができる。
【0063】
エンコーダ-デコーダ言語認識モデルでデコーダ330が言語モデルの役割を行うが、音声認識の性能をさらに向上させるためには、外部言語モデルとして1つ以上の言語モデル362,364,366が用いられる。一実施形態では、言語モデル362,364,366は、特定のドメインに特化した言語モデルを含む。例えば、言語認識モデルがTVでの音声認識のために利用されれば、言語モデル362,364,366は、TVの機能実行に関する候補テキストを提供する言語モデルを含む。
【0064】
言語モデル362,364,366が第1言語モデル362、第2言語モデル364及び第3言語モデル366を含むと仮定すれば、第1言語モデル362、第2言語モデル364及び第3言語モデル366は、それぞれ以前ターゲットテキスト350に基づいて、以前ターゲットテキスト350に続く次のターゲットテキストを決定するための候補テキストと該当候補テキストに対応する第2、第3及び第4スコアを提供することができる。例えば、以前ターゲットテキスト350として「everybody」が決定された場合、第1言語モデル362は、「everybody」の次に連結される可能性のある「need to」、「meta」及び「neat」などを候補テキストとして提供し、「everybody」の次に「need to」、「meta」及び「neat」のそれぞれが連結される確率を第2スコアとして提供する。この場合、第2言語モデル364も「everybody」の次に連結される可能性のある「need to」、「meta」及び「neat」などの候補テキストに対して、各候補テキストが「everybody」の次に連結される確率を第3スコアとして提供する。第3言語モデル366の機能も第1言語モデル362及び第2言語モデル364の機能と同様である。一実施形態によれば、on-the-fly rescoring方式により、デコーダ330の復号化の各ステップごとに言語モデル362,364,366が提供している第2、第3及び第4スコアが反映される。
【0065】
加重値決定器340は、エンコーダ320の出力(例、特徴ベクトル)に基づいて言語モデル362,364,366の出力に適用される加重値を決定する。加重値決定器340は、入力されたデータに基づいて各言語モデル362,364,366の出力に適用される加重値を出力するよう学習されたニューラルネットワークであってもよい。加重値決定器340は、例えば、第1言語モデル362から出力された第2スコアに適用される第1加重値、第2言語モデル364から出力された第3スコアに適用される第2加重値、及び第3言語モデル366から出力された第4スコアに適用される第3加重値を決定する。このような第1、第2及び第3加重値は、言語モデル362,364,366の出力に対する結合加重値の役割を果たす。一実施形態に係る第1、第2及び第3加重値は、加重値決定器340によって値が決定された後、各復号化ステップごとに同じ値に保持される。
【0066】
他の実施形態において、加重値決定器340は、エンコーダ320の出力に基づいて言語モデル362,364,366のうち、加重値が適用される1つ以上の言語モデルを選択し、選択された1つ以上の言語モデルの出力に適用される加重値を決定してもよい。入力音声310のタイプに応じて、音声認識に適切な言語モデルが選択されて音声認識結果の正確度が改善される。実施形態により、加重値決定器340は、選択された言語モデルについてのみ加重値を決定するか、又は選択されていない言語モデルに適用される加重値を「0」に設定する。
【0067】
エンコーダ320の出力に基づき、加重値決定器340が加重値を決定することにおいて、音声入力310から導き出された情報が考慮され、より正確な音声認識が可能になる。音声認識結果に影響を及ぼす言語モデル362,364,366間の寄与度は加重値決定器340によって決定された加重値に応じて相異なるため、音声入力310の各タイプに最適化された音声認識が可能となる。音声入力310のタイプに関する言語モデルの出力が音声認識結果にさらに多く反映されるよう言語モデル362,364,366に適用される加重値が調整される。音声入力310のタイプは多様に定義され得る。例えば、音声認識が駆動される環境(例、TV、冷蔵庫、スマートフォンなど)になり、スマートフォンにおける音声認識で主な発話の種類(例、電話通話、文字送信、アプリケーション実行、検索など)になり、音声入力310に含まれた単語の種類(例、人の名前、食堂/ホテルなどのような特定カテゴリーの単語など)になる。
【0068】
音声認識装置は、加重値決定器340によって決定された加重値を言語モデル362,364,366の出力に適用する(345)。例えば、音声認識装置は、第1言語モデル362から出力された第2スコアに第1加重値を乗算し、第2言語モデル364から出力された第3スコアに第2加重値を乗算し、第3言語モデル366から出力された第4スコアに第3加重値を乗算することができる。
【0069】
音声認識装置は、候補テキストのうち1つのターゲット候補テキストを選択する。例えば、音声認識装置は、第1スコア、第1加重値が乗算された第2スコア、第2加重値が乗算された第3スコア、及び第3加重値が乗算された第4スコアを合計(sum)355し、全体候補テキストのうちその合計が最も大きい候補テキストをターゲット候補テキストとして選択する。例えば、音声認識装置は、次の数式(1)により各候補テキストに対する最終スコアを決定することができる。
【0070】
[数式(1)]
p(s)=De(s)+w×LM(s)+w×LM(s)+w×LM(s)
数式(1)において、p(s)は特定の候補テキストsに対する最終スコアであり、De(s)はデコーダ330から出力された候補テキストsに対する第1スコアを示す。LM(s)、LM(s)及びLM(s)は、それぞれ候補テキストsに対する第1言語モデル362、第2言語モデル364、及び第3言語モデル366の第2、第3及び第4スコアを示す。w、w及びwは、加重値決定器340によって決定された第1、第2、及び第3加重値を示す。音声入力310のタイプ、音声入力310が行われる環境及び/又は音声認識が実行される機器の種類などにより、w、w及びwの値が調整される。例えば、音声入力310のタイプと関連度の高い言語モデルに適用される加重値が、関連度の低い異なる言語モデルに適用される加重値よりも大きく設定される。音声認識装置は、各候補テキストに対するp(s)のうち、最も大きいp(s)を示す候補テキストをターゲット候補テキストとして選択する。
【0071】
音声認識装置は、上記のような過程により選択されたターゲット候補テキストを現在の復号化ステップにおける最終的な現在ターゲットテキスト370として決定する。各復号化ステップごとに、現在ターゲットテキスト370は1つの単語又は部分単語ずつ決定されることができる。
【0072】
図4は、エンコーダの出力に基づいて加重値を決定する一実施形態を説明するためのフローチャートである。本実施形態については図2及び図3を参照して説明した内容が適用され、重なる内容に対する説明は省略する。
【0073】
図4を参照すると、ステップS410において、音声認識装置は音声入力を受信する。ステップS420において、音声認識装置は、エンコーダ320を用いて音声入力を符号化する。符号化を介して音声入力の抽象化された特徴値が抽出される。ステップS440において、音声認識装置は、デコーダ330を用いて符号化された音声入力に対して復号化を行い、候補テキストに対する第1スコアを算出する。
【0074】
ステップS430において、音声認識装置は、エンコーダ320の出力を入力にする加重値決定器340を用いて言語モデルの出力に適用される加重値を決定する。ここで、言語モデルは1つ以上の言語モデルを含んでもよく、加重値決定器340は各言語モデルの出力に適用される加重値を決定してもよい。ステップS450において、音声認識装置は、言語モデルから各候補テキストに対する第2スコアを取得する。言語モデルは、以前時点で決定された以前ターゲットテキストに基づいて、以前ターゲットテキストの次に続く現在ターゲットテキストを決定するための候補テキストそれぞれに対応する第2スコアを提供することができる。
【0075】
ステップS460において、音声認識装置は、候補テキストの第2スコアにステップS430で決定された加重値を適用する。ステップS470において、音声認識装置は、ステップS440で決定された第1スコアと、ステップS460で加重値が適用された第2スコアに基づいて、候補テキストのうちターゲット候補テキストを選択し、選択されたターゲット候補テキストを現在時点におけるターゲットテキストとして決定する。音声認識装置は、例えば、同一の候補テキストそれぞれに対して、第1スコアと加重値が適用された第2スコアを合算し、合算された結果、スコア値の最も大きい候補テキストをターゲット候補テキストとして決定する。ステップS480において、音声認識装置は、ステップS470で決定されたターゲットテキストを出力する。ステップS470で決定されたターゲットテキストは、次の復号化ステップで言語モデルとデコーダ330の入力となり、次のターゲットテキストを決定するために、ステップS440,S450,S460,S470,S480の過程が繰り返し行われる。
【0076】
図5は、音声認識装置がn-ベストリスコアリング(n-best rescoring)方式を用いて音声認識を行う実施形態を示す。エンコーダ520は、音声入力510から抽象化された特徴値を抽出する。デコーダ530は、エンコーダ520から出力された特徴値に基づいて復号化を行い、音声入力510に対応する候補単語シーケンス550を出力する。例えば、デコーダ530は、復号化が完了すると、第1スコア(例、確率)が高い順に、n個の候補単語シーケンス550を出力する。
【0077】
言語モデル560は、デコーダ530の出力に基づいて候補単語シーケンス550と候補単語シーケンス550それぞれに対応する第2スコアを提供する。言語モデル560は、1つ又は複数の言語モデルを含んでもよく、言語モデル560の複数の言語モデルを含む場合、各言語モデルは、各言語モデルごとに候補単語シーケンス550それぞれに対応するスコアを提供することができる。
【0078】
ニューラルネットワーク基盤の加重値決定器540は、エンコーダ520の出力に基づいて言語モデル560の出力に適用される加重値を決定する。言語モデル560が複数である場合、加重値決定器540は、各言語モデルの出力に適用される加重値を決定する。音声認識装置は、加重値決定器540によって決定された加重値を言語モデル560から出力された第2スコアに適用545する。例えば、候補単語シーケンス550それぞれに対応する第2スコアに加重値が乗算される。
【0079】
ターゲットテキスト決定器570は、デコーダ530から出力された候補単語シーケンス550の第1スコアと、候補単語シーケンス550の加重値が適用された第2スコアに基づいて、候補単語シーケンス550のうちターゲット単語シーケンスを選択する。例えば、ターゲットテキスト決定器570は、候補単語シーケンス550のうち、最終スコアの最も大きい候補単語シーケンスをターゲット単語シーケンスとして選択する。その後、ターゲットテキスト決定器570は、選択されたターゲット単語シーケンスをターゲットテキスト580として出力する。
【0080】
図6は、エンコーダの出力及び以前ターゲットテキストに基づいて加重値を決定する実施形態を説明するための図である。本実施形態について、図3を参照して説明した内容が適用され、重なる内容に対する説明は省略する。
【0081】
1つの音声入力610を認識する過程においても、各言語モデルに対する加重値が音声入力610を構成しているテキストによって別々に適用されなければならない場合がある。例えば、音声認識のための音声入力610として「Call to Chaewon」に対応する音声信号がスマートフォンに入力されたと仮定する。ここで、音声入力610の前の部分「Call to」は、スマートフォンの音声認識において主に入力される発話表現であって、スマートフォンのドメインに関する言語モデルや一般言語モデルを用いて容易に認識することができる。ただし、後部分の「Chaewon」はメッセージ送信者の名前であり、類似の発音の名前(例、Jaewon、Chawon、Chaeonなど)との区別のためにスマートフォンに格納された連絡先のドメインに関する言語モデルの比重を高めることが正確な音声認識のために必要である。
【0082】
図6を参照すると、デコーダ630は、エンコーダ620から出力された特徴値と以前時点で決定された以前ターゲットテキストに基づいて候補テキストに対する第1スコアを決定する。加重値決定器640は、各復号化ステップごとにユーザの発話である音声入力610と共に、以前の復号化ステップにおける音声認識結果を考慮して言語モデル650の出力に適用される加重値を決定することができる。例えば、加重値決定器640は、以前ターゲットテキストとエンコーダ620の出力に基づいて、言語モデル650から出力される第2スコアに適用される第1加重値を決定することができる。加重値決定器640には、現在時点まで決定された1つ以上のターゲットテキストのうち少なくとも1つが入力される。
【0083】
一実施形態に係る加重値決定器640は、各復号化ステップごとに言語モデル650の出力に適用される加重値を決定する。加重値決定器640は、各復号化するごとにエンコーダ620の出力と以前に出力された以前ターゲットテキストが入力され、現在時点における加重値を決定する。この場合、上記の数式(1)において、w、w及びwは、各復号化ステップごとに変わり得る。例えば、以前時点で決定されたwと現在時点で決定されたwはそれぞれ異なってもよい。上記で仮定した音声信号において、「Call to」が出力される時点までは、加重値決定器640がスマートフォンのドメインに関する言語モデルの出力に適用される加重値を高く設定するのであろう。その次の時点で、加重値決定器610は、以前ターゲットテキスト(例、「Call to」)に基づいて加重値を決定するため、「Call to」の後にスマートフォンの連絡先上の「人の名前」が登場する確率が高いと判断し、連絡先のドメインに関する言語モデルの出力に適用される加重値を高く設定する。
【0084】
音声認識装置は、各復号化ステップごとに決定された加重値を言語モデル650の出力に適用645し、適用結果に基づいて候補テキストのうち現在ターゲットテキスト660を選択する。復号化ステップごとに第2スコアに適用される加重値は変わり得る。音声認識装置は、例えば、それぞれの候補テキストに対応する第2スコアに加重値決定器640によって決定された加重値を乗算することができる。音声認識装置は、第1スコアと加重値が適用された第2スコアを同一の候補テキストそれぞれに対して合算655し、合算結果に基づいて候補テキストのうち、現在時点におけるターゲットテキスト660の「Chaewon」を決定し得る。例えば、音声認識装置は、候補テキストのうち合算結果の最も大きい候補テキストをターゲットテキスト660として決定することができる。
【0085】
図7は、エンコーダの出力及び以前ターゲットテキストに基づいて加重値を決定する実施形態を説明するためのフローチャートである。本実施形態については、図2及び図6を参照して説明した内容が適用され、重なる内容に対する説明は省略する。
【0086】
図7を参照すると、ステップS710において、音声認識装置は、エンコーダ320の出力と以前に決定されたターゲットテキストに基づいて言語モデルの出力に適用される加重値を決定する。音声認識装置は、各復号化ステップごとに以前時点で決定されたターゲットテキストのうち少なくとも1つに基づいて加重値を決定する。ステップS460において、音声認識装置は、ステップS710で決定された加重値を言語モデルから取得した第2スコアに適用する。ステップS470において、音声認識装置は、ステップS440で決定された第1スコアとステップS460で加重値が適用された第2スコアに基づいて、候補テキストのうちターゲット候補テキストを選択し、選択されたターゲット候補テキストを現在時点におけるターゲットテキストとして決定する。このように決定されたターゲットテキストは、ステップS710により次の時点における加重値を決定するために用いられる。ステップS480において、音声認識装置が現在時点で決定されたターゲットテキストを出力し、ステップS440,S450,S460,S470,S480及びステップS710の過程を繰り返して再度行う。
【0087】
図8は、エンコーダの出力及びコンテキスト情報に基づいて加重値を決定する実施形態を説明するための図である。本実施形態については図3を参照して説明した内容が適用され、重なる内容に対する説明は省略する。
【0088】
図8を参照すると、加重値決定器820は、ユーザの発話である音声入力310と共にコンテキスト情報810を考慮して言語モデル362,364,366の出力に適用される加重値を決定する。例えば、加重値決定器820は、エンコーダ320の出力とコンテキスト情報810に基づいて各言語モデル362,364,366から出力される第2スコア、第3スコア、及び第4スコアにそれぞれ適用される第1加重値、第2加重値及び第3加重値を決定する。コンテキスト情報810は、音声入力310の入力状況やユーザに関連する情報を含む。例えば、コンテキスト情報810は、性別、年齢、国籍、及び職業プロファイルなどのようなユーザ情報、現在位置、現在時間、現在動作中のプログラム、音声認識ヒストリー、及び対話ヒストリーなどを含む。このように、加重値を決定するにおいて、コンテキスト情報810を考慮することで、音声入力310の入力状況やユーザ個々人の特性にさらに適する方向に音声認識が行われる。音声認識装置は、各復号化ステップごとに決定された加重値を言語モデル362,364,366の出力に適用し(345)、適用結果に基づいて、候補テキストのうち現在ターゲットテキスト370を選択する。
【0089】
図9は、エンコーダの出力及びコンテキスト情報に基づいて加重値を決定する実施形態を説明するためのフローチャートである。本実施形態については、図2及び図8を参照して説明した内容が適用され、重なる内容に対する説明は省略する。
【0090】
図9を参照すると、ステップS910において、音声認識装置は、コンテキスト情報を読み出す。ステップS920において、音声認識装置は、エンコーダ320の出力とコンテキスト情報に基づいて言語モデルの出力に適用される加重値を決定する。ステップS460において、音声認識装置は、ステップS920で決定された加重値を言語モデルから取得した第2スコアに適用する。ステップS470において、音声認識装置は、ステップS440で決定された第1スコアとステップS460で加重値が適用された第2スコアに基づいて、候補テキストのうちターゲット候補テキストを選択し、選択されたターゲット候補テキストを現在時点におけるターゲットテキストとして決定する。ステップS480において、音声認識装置は、現在時点で決定されたターゲットテキストを出力し、ステップS440,S450,S460,S470,S480、及びステップS710の過程が繰り返し再度行う。
【0091】
図10は、エンコーダの出力、以前ターゲットテキスト及びコンテキスト情報のうち1つ以上に基づいて加重値を決定する実施形態を説明するための図である。
【0092】
図10を参照すると、エンコーダ1020は、音声入力1010から特徴値を抽出する。デコーダ1030は、エンコーダ1020から出力された特徴値と以前時点で決定された以前ターゲットテキストに基づいて、候補テキストに対する第1スコアを決定する。言語モデル1050は、以前ターゲットテキストに基づいて以前ターゲットテキストに続く候補テキストと、各候補テキストに対応する第2スコアを出力する。加重値決定器1040は、エンコーダ1020の出力、以前ターゲットテキスト、及びコンテキスト情報1060のうちの1つ以上に基づいて、言語モデル1050の出力に適用される加重値を決定する。音声認識装置は、加重値決定器1040によって決定された加重値を言語モデル1050から出力された第2スコアに適用1045する。例えば、音声認識装置は、それぞれの候補テキストに対応する第2スコアに加重値決定器1040によって決定された加重値を乗算してもよい。音声認識装置は、第1スコアと加重値が適用された第2スコアを同一の候補テキストそれぞれに対して合算1055し、候補テキストのうち合算結果が最も大きい候補テキストをターゲットテキスト1070として決定することができる。
【0093】
図11は、一実施形態に係る音声認識装置の構成を示す図である。
【0094】
図11を参照すると、音声認識装置1100は、プロセッサ1110、メモリ1120、及び入出力インタフェース1130を含む。実施形態により、音声認識装置1100は、1つ以上の言語モデルを格納している言語モデルデータベース1140をさらに含む。
【0095】
入出力インタフェース1130は、音声入力を受信するための音声インタフェース(例、マイクロホン)を含む。また、入出力インタフェース1130は、キーボード、タッチスクリーン、又はタッチパッドなどの入力インタフェースと、音声認識結果を出力するためのディスプレイなどの出力インタフェースを含んでもよい。
【0096】
メモリ1120は、プロセッサ1110に接続され、プロセッサ1110によって実行可能な命令、プロセッサ1110が演算するデータ又はプロセッサ1110によって処理されたデータを格納する。メモリ1120は、例えば、非一時的なコンピュータで読み出し可能な記録媒体、例えば、高速ランダムアクセスメモリ及び/又は不揮発性コンピュータで読み出し可能な格納媒体(例えば、1つ以上のディスク格納装置、フラッシュメモリ装置、又は、その他の不揮発性固体メモリ装置)を含む。
【0097】
プロセッサ1110は、音声認識装置1100の全体的な動作を制御し、音声認識装置1100内で実行するための機能及び/又は命令を実行する。プロセッサ1110は、音声入力に基づいて音声認識を行い、図1図10に関連して前述した1つ以上の動作を行う。
【0098】
例えば、プロセッサ1110は、音声入力に基づいて候補テキストに対する第1スコアを決定する。プロセッサ1110は、エンコーダ-デコーダ基盤の言語認識モデルや音響モデル-言語モデル基盤の言語認識モデルを用いて第1スコアを決定する。プロセッサ1110は、音声入力に音声入力から特徴値を抽出し、抽出された特徴値に対応する加重値を出力するニューラルネットワーク基盤の加重値決定器を用いて言語モデルの出力に適用される加重値を決定する。プロセッサ1110は、前述したような様々な実施形態により加重値を決定することができる。言語モデルは、複数の言語モデルを含んでもよく、この場合にプロセッサ1110は、言語モデルそれぞれの出力に適用される加重値を決定したり、又は言語モデルのうち加重値が適用される1つ以上の言語モデルを選択し、選択された1つ以上の言語モデルの出力に適用される加重値を決定する。言語モデルは、言語モデルデータベース1140に格納される。
【0099】
プロセッサ1110は、言語モデルから出力された候補テキストに対する第2スコアに加重値を適用する。プロセッサ1110は、第1スコアと加重値が適用された第2スコアに基づいて、候補テキストのうちターゲット候補テキストを選択し、選択されたターゲット候補テキストを音声入力の少なくとも一部に対応するターゲットテキストとして決定する。プロセッサ1110は、上記のような過程に基づいて各復号化ステップごとにターゲットテキストを順次決定し、全体の音声入力に対応するテキストを決定することができる。
【0100】
他の実施形態によれば、音声認識装置1100は、音声(又は、音声入力)を受信するセンサ(図示せず)、言語モデル1140及び命令を格納するメモリ1120、及び該当命令を実行するプロセッサ1110を含む。プロセッサ1110は、メモリ1120に格納された命令を行うことで、センサにより受信された音声を符号化するエンコーダを実行し、符号化された音声に基づいて候補テキストの第1スコアを決定するデコーダを実行する。また、プロセッサ1110は、エンコーダの出力に基づいて言語モデルそれぞれに対応する加重値を決定する加重値決定器を実行し、言語モデルそれぞれに基づいて候補テキストに対応する第2スコアを決定する。プロセッサ1110は、加重値が適用された第2スコアを取得するために、言語モデルそれぞれから出力された候補テキストに対する第2スコアに決定された加重値を適用し、候補テキストのうち、第1スコアの合計及びターゲット候補テキストに対応する加重値が適用された第2スコアに基づいて、音声の一部に対応するターゲット候補テキストを認識する。ここで、エンコーダは音声から特徴値を抽出し、デコーダはエンコーダによって抽出された特徴値に基づいて第1スコアと候補テキストを出力する。
【0101】
加重値決定器は、以前に決定されたターゲットテキスト及びエンコーダの出力に基づいて加重値を決定する。加重値決定器は、エンコーダの出力及びコンテキスト情報に基づいて加重値を決定する。ここで、コンテキスト情報は、例えば、音声を入力するユーザに対するユーザ情報、時間情報、位置情報、言語情報、音声認識ヒストリー情報、及び現在動作中であるアプリケーション情報のいずれか1つ又はいずれかの組合せを含む。一実施形態に係る加重値決定器は、音声のうちユーザ名が検出されたことに応答して、音声認識装置1100を実行する装置に格納された連絡先情報に対応する言語モデルの加重値を増加させ得る。
【0102】
前述のエンコーダ、デコーダ、及び加重値決定器のそれぞれは、ニューラルネットワークに基づいて実行される。
【0103】
以上述した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組み合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は命令(instruction)を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム(OS)及びオペレーティングシステム上で実行される1つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は1つが使用されるものとして説明する場合もあるが、当技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含むことが把握する。例えば、処理装置は、複数のプロセッサ又は1つのプロセッサ及び1つのコントローラを含む。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。
【0104】
ソフトウェアは、コンピュータプログラム、コード、命令、又はそのうちの一つ以上の組合せを含み、希望の通りに動作するよう処理装置を構成したり、独立的又は結合的に処理装置を命令することができる。ソフトウェア及び/又はデータは、処理装置によって解釈されたり処理装置に命令又はデータを提供するために、いずれかの類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、又は送信される信号波に永久的又は一時的に具体化することができる。ソフトウェアはネットワークに連結されたコンピュータシステム上に分散され、分散した方法で格納されたり実行され得る。ソフトウェア及びデータは一つ以上のコンピュータで読出し可能な記録媒体に格納され得る。
【0105】
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DYIJDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0106】
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順で実行されるし、及び/又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられてもよいし、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
【0107】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【0108】
100:音声認識システム
110、1100:音声認識装置
130、1140:言語モデルデータベース
320、520、620、1020:エンコーダ
330、530、640、1030:デコーダ
340、540、640、820、1040:加重値決定器
362:第1言語モデル
364:第2言語モデル
366:第3言語モデル
560、650、1050:言語モデル
570:ターゲットテキスト決定器
1110:プロセッサ
1120:メモリ
1130:入出力インタフェース
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11