(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-10
(45)【発行日】2025-01-21
(54)【発明の名称】オーディオストリームの安定したリアルタイム翻訳
(51)【国際特許分類】
G06F 40/44 20200101AFI20250114BHJP
G06F 40/51 20200101ALI20250114BHJP
G10L 15/00 20130101ALI20250114BHJP
【FI】
G06F40/44
G06F40/51
G10L15/00 200C
(21)【出願番号】P 2022548003
(86)(22)【出願日】2020-03-23
(86)【国際出願番号】 US2020024277
(87)【国際公開番号】W WO2021158247
(87)【国際公開日】2021-08-12
【審査請求日】2022-09-21
(32)【優先日】2020-02-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ディルク・ライアン・パッドフィールド
【審査官】成瀬 博之
(56)【参考文献】
【文献】特開2016-071761(JP,A)
【文献】国際公開第2011/033834(WO,A1)
【文献】特開2001-117920(JP,A)
【文献】特開2015-201215(JP,A)
【文献】特開2018-195276(JP,A)
【文献】帖佐克己 他2名,同時翻訳のためのConnectionist Temporal Classificationを用いたニューラル機械翻訳,情報処理学会研究報告 自然言語処理(NL)[online],情報処理学会,2019年08月22日,Vol.2019-NL-241 No.20
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
G10L 15/00-17/26
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実施される方法であって、
オーディオデータストリームを取得するステップと、
前記オーディオデータストリーム内のオーディオが記録されている第1の言語を決定するステップと、
複数の連続する時間間隔の中の各時間間隔において、前記オーディオの部分トランスクリプションを生成するステップであって、各部分トランスクリプションが、(1)前記オーディオの開始から特定の時間間隔までの前記オーディオのトランスクリプションであり、(2)前記第1の言語である、ステップと、
部分トランスクリプションごとに、
前記部分トランスクリプションを前記第1の言語とは異なる第2の言語に翻訳するステップと、
前記翻訳
された部分トランスクリプションを
機械学習モデルに入力するステップであって、
前記
機械学習モデルが、入力された翻訳
された部分トランスクリプションの一部分が安定しているかどうかを
予測するように構成され、
前記機械学習モデルが、損失関数を最小化するように訓練され、かつ前記第1の言語において記録された1つまたは複数の訓練オーディオデータファイルから生成されたトランスクリプションの翻訳のセットと、それぞれの翻訳のセットが安定しているかどうかをそれぞれ示す対応する安定性値のセットとを使用して訓練され、
安定性値の前記セットは、ルールのセットを使用して生成される、ステップと、
前記機械学習モデルを使用して、前記翻訳された部分トランスクリプションの一部分が安定していることを示す予測を生成するステップであって、
前記入力された翻訳
された部分トランスクリプションの前記一部分が、前記入力され
た部分トランスクリプションに対する前記時間間隔よりも後の時間間隔までに記録され
たオーディオの別の翻訳
された部分トランスクリプションにおいて変化すると予想されないとき
、入力された翻訳
された部分トランスクリプション
の一部分が安定している、ステップと
、
前記翻訳
された部分トランスクリプションの前記一部分を安定している
ことを示す前記予測を生成したことに応答して、ユーザデバイス上での表示のために、前記
予測を使用して、前記翻訳
された部分トランスクリプションの前記一部分を提供するステップと
を含むコンピュータにより実施される方法。
【請求項2】
1つまたは複数の訓練オーディオデータファイルから生成された前記トランスクリプションが、訓練オーディオデータファイルごとに、前記訓練オーディオデータファイルの複数の部分トランスクリプションを含み、
訓練オーディオデータファイルの各部分トランスクリプションが、複数の連続する時間間隔のうちのそれぞれの1つにおいて生成され、
各部分トランスクリプションが、(1)前記オーディオの開始から特定の時間間隔までの前記オーディオのトランスクリプションであり、(2)前記第1の言語である、請求項
1に記載のコンピュータにより実施される方法。
【請求項3】
前記1つまたは複数の訓練オーディオデータファイルからの訓練オーディオデータファイルについての安定性値が、
前記訓練オーディオデータファイ
ルについて前記それぞれの翻訳
された部分トランスクリプションおよび他の翻訳
された部分トランスクリプション内の単語の位置を使用して生成される、請求項
2に記載のコンピュータにより実施される方法。
【請求項4】
安定していると予想される部分トランスクリプション内の単語のシーケンスを識別するように前記
機械学習モデルを訓練するステップをさらに含み、前記訓練するステップが、
訓練オーディオデータファイルを取得するステップと、
前記訓練オーディオデータファイルの中から、前記第1の言語において記録され
たオーディオを有する複数の訓練オーディオデータファイルを識別するステップと、
前記複数の訓練オーディオデータファイル内の訓練オーディオデータファイルごとに、
複数の連続する時間間隔において前記訓練オーディオデータファイル内の前記オーディオの部分トランスクリプションを生成するステップであって、各部分トランスクリプションが、(1)前記オーディオの開始から特定の時間間隔までの前記オーディオのトランスクリプションであり、(2)前記第1の言語である、ステップと、
前記オーディオの前記開始に対して最古から最新に順序付けられた部分トランスクリプションの時系列リストを生成するステップと、
前記部分トランスクリプションの時系列リストに対応する翻訳
された部分トランスクリプションの時系列リストを生成するステップであって、前記部分トランスクリプションの時系列リスト内の部分トランスクリプションごとに、前記部分トランスクリプションを
前記第2の言語に翻訳するステップを含む、ステップと、
翻訳
された部分トランスクリプションごとに、前記翻訳
された部分トランスクリプションの時系列リスト内の最初の翻訳
された部分トランスクリプションから始めて、
前記翻訳
された部分トランスクリプションおよび他の翻訳
された部分トランスクリプション内の単語の位置を使用して、安定している前記翻訳
された部分トランスクリプションの一部分を識別する安定性値を生成するステップと、
前記翻訳
された部分トランスクリプションを前記
機械学習モデルの入力として、前記安定性値を翻訳安定性モデルの出力として使用して、前記
機械学習モデルを訓練するステップと
を含む、請求項1に記載のコンピュータにより実施される方法。
【請求項5】
前記安定性値を生成するステップが、
前記翻訳
された部分トランスクリプション内の単語ごとに正当性確率を算出するステップであって、前記正当性確率が、前記翻訳
された部分トランスクリプションの特定の位置における単語が、前記翻訳
された部分トランスクリプションの時系列リストにおいて前記翻訳
された部分トランスクリプションの後に現れる1つまたは複数の他の翻訳
された部分トランスクリプション内の前記特定の位置に現れる確率を測定する、ステップと、
前記翻訳
された部分トランスクリプション内の単語ごとに前記正当性確率を使用して前記翻訳
された部分トランスクリプションについての前記安定性値を生成するステップと
を含む、請求項
4に記載のコンピュータにより実施される方法。
【請求項6】
前記翻訳
された部分トランスクリプション内の単語ごとに前記正当性確率を算出するステップが、
前記翻訳
された部分トランスクリプション内の単語ごとに、
前記翻訳
された部分トランスクリプション内の前記単語の特定の位置を決定するステップと、
第1の値を算出するステップであって、前記第1の値が、前記翻訳
された部分トランスクリプションの時系列リストにおいて前記翻訳
された部分トランスクリプションの後に列挙されている翻訳
された部分トランスクリプションの数である、ステップと、
第2の値を算出するステップであって、前記第2の値が、前記単語が、前記翻訳
された部分トランスクリプションの時系列リストにおいて前記翻訳
された部分トランスクリプションの後に現れる翻訳
された部分トランスクリプション内の前記特定の位置に現れる回数を指定する、ステップと、
前記単語の前記正当性確率を取得するために前記第2の値を前記第1の値で除算するステップと
を含む、請求項
5に記載のコンピュータにより実施される方法。
【請求項7】
前記安定性値を生成するステップが、
前記翻訳
された部分トランスクリプション内の単語ごとに変更頻度メトリックを算出するステップであって、前記変更頻度メトリックが、前記翻訳
された部分トランスクリプションの特定の位置における単語が、前記翻訳
された部分トランスクリプションの時系列リストにおいて前記翻訳
された部分トランスクリプションの後に列挙されている翻訳
された部分トランスクリプション内の前記特定の位置において変化する回数を測定する、ステップと、
前記翻訳
された部分トランスクリプション内の単語ごとに前記変更頻度メトリックを使用して前記翻訳
された部分トランスクリプションについての前記安定性値を生成するステップと
を含む、請求項
4に記載のコンピュータにより実施される方法。
【請求項8】
前記安定性値を生成するステップが、
前記部分トランスクリプション内の単語ごとにequal-to-lastメトリックを算出するステップであって、前記equal-to-lastメトリックが、前記部分トランスクリプション内の単語の位置が前記翻訳
された部分トランスクリプションの時系列リスト上で最後に現れる部分トランスクリプション内の前記単語の位置と同じであるかどうかを識別する、ステップと、
前記翻訳
された部分トランスクリプション内の単語ごとに前記equal-to-lastメトリックを使用して前記翻訳
された部分トランスクリプションについての前記安定性値を生成するステップと
を含む、請求項
4に記載のコンピュータにより実施される方法。
【請求項9】
コンピュータにより実施される方法であって、
オーディオデータストリームを取得するステップと、
前記オーディオデータストリーム内のオーディオが記録されている第1の言語を決定するステップと、
複数の連続する時間間隔において前記オーディオの部分トランスクリプションを生成するステップであって、各部分トランスクリプションが、(1)前記オーディオの開始から特定の時間間隔までの前記オーディオのトランスクリプションであり、(2)前記第1の言語である、ステップと、
連続する特定の部分トランスクリプションごとに、
前記特定の部分トランスクリプションを
第2の言語に翻訳するステップと、
前記翻訳
された特定の部分トランスクリプションの単語ごとに、前記翻訳
された特定の部分トランスクリプション内の前記単語の位置が前記翻訳
された特定の部分トランスクリプションに先行する翻訳
された部分トランスクリプションのセット内のしきい値数の翻訳
された部分トランスクリプション内の前記単語の位置と一致するかどうかを決定することによって前記単語についての安定性値を算出するステップと、
機械学習モデルを使用して、前記翻訳
された特定の部分トランスクリプション内の前記単語についての前記算出された安定性値を使用して前記翻訳
された特定の部分トランスクリプションについての安定性値を生成するステップであって、
前記翻訳
された特定の部分トランスクリプションについての前記安定性値が、安定している前記翻訳
された特定の部分トランスクリプションの一部分を識別
し、
前記機械学習モデルが、損失関数を最小化するように訓練され、かつ前記第1の言語において記録された1つまたは複数の訓練オーディオデータファイルから生成されたトランスクリプションの翻訳のセットと、それぞれの翻訳のセットが安定しているかどうかをそれぞれ示す安定性値の対応するセットとを使用して訓練され、
安定性値の前記セットは、ルールのセットを使用して生成される、ステップと、
前記安定性値を生成したことに応答して、ユーザデバイス上での表示のために、前記翻訳
された特定の部分トランスクリプションの前記一部分を提供するステップと
を含むコンピュータにより実施される方法。
【請求項10】
前記1つまたは複数の訓練オーディオデータファイルからの訓練オーディオデータファイルについての安定性値が、前記訓練オーディオデータファイルについて前記それぞれの翻訳された部分トランスクリプションおよび他の翻訳された部分トランスクリプション内の単語の位置を使用して生成される、請求項9にコンピュータにより実施される方法。
【請求項11】
システムであって、
命令を記憶する1つまたは複数のメモリデバイスと、
前記1つまたは複数のメモリデバイスと対話し、前記命令の実行時に、動作を実行するように構成された1つまたは複数のデータ処理装置と
を備え、前記動作が、
クライアントデバイスからコンテンツ要求を受信することと、
オーディオデータストリームを取得することと、
前記オーディオデータストリーム内のオーディオが記録されている第1の言語を決定することと、
複数の連続する時間間隔の中の各時間間隔において、前記オーディオの部分トランスクリプションを生成することであって、各部分トランスクリプションが、(1)前記オーディオの開始から特定の時間間隔までの前記オーディオのトランスクリプションであり、(2)前記第1の言語である、生成することと、
部分トランスクリプションごとに、
前記部分トランスクリプションを前記第1の言語とは異なる第2の言語に翻訳することと、
前記翻訳
された部分トランスクリプションをモデルに入力することであって、
前記モデルが、入力された翻訳
された部分トランスクリプションの一部分が安定しているかどうかを決定し、
入力された翻訳
された部分トランスクリプション
の一部分が、前記入力され
た部分トランスクリプションに対する前記時間間隔よりも後の時間間隔までに記録され
たオーディオの別の翻訳
された部分トランスクリプションにおいて変化すると予想されないとき、前記入力された翻訳
された部分トランスクリプションの前記一部分が安定している、入力することと、
前記モデルによって、前記入力された翻訳
された部分トランスクリプションに基づいて、前記翻訳
された部分トランスクリプション
の一部分を安定していると識別することと、
前記翻訳
された部分トランスクリプションの前記一部分を安定していると識別したことに応答して、ユーザデバイス上での表示のために、前記識別を使用して、前記翻訳
された部分トランスクリプションの前記一部分を提供することと
を含
み、
前記モデルが、前記第1の言語において記録された1つまたは複数の訓練オーディオデータファイルから生成されたトランスクリプションの翻訳に基づいて訓練され、
1つまたは複数の訓練オーディオデータファイルから生成された前記トランスクリプションが、訓練オーディオデータファイルごとに、前記訓練オーディオデータファイルの複数の部分トランスクリプションを含み、
訓練オーディオデータファイルの各部分トランスクリプションが、複数の連続する時間間隔のうちのそれぞれの1つにおいて生成され、
各部分トランスクリプションが、(1)前記オーディオの開始から特定の時間間隔までの前記オーディオのトランスクリプションであり、(2)前記第1の言語である、システム。
【請求項12】
前記1つまたは複数のデータ処理装置が、安定していると予想される部分トランスクリプション内の単語のシーケンスを識別するように前記モデルを訓練することをさらに含む動作を実行するように構成され、前記訓練することが、
訓練オーディオデータファイルを取得することと、
前記訓練オーディオデータファイルの中から、前記第1の言語において記録され
たオーディオを有する複数の訓練オーディオデータファイルを識別することと、
前記複数の訓練オーディオデータファイル内の訓練オーディオデータファイルごとに、
複数の連続する時間間隔において前記訓練オーディオデータファイル内の前記オーディオの部分トランスクリプションを生成することであって、各部分トランスクリプションが、(1)前記オーディオの開始から特定の時間間隔までの前記オーディオのトランスクリプションであり、(2)前記第1の言語である、生成することと、
前記オーディオの前記開始に対して最古から最新に順序付けられた部分トランスクリプションの時系列リストを生成することと、
前記部分トランスクリプションの時系列リストに対応する翻訳
された部分トランスクリプションの時系列リストを生成することであって、前記部分トランスクリプションの時系列リスト内の部分トランスクリプションごとに、前記部分トランスクリプションを
前記第2の言語に翻訳することを含む、生成することと、
翻訳
された部分トランスクリプションごとに、前記翻訳
された部分トランスクリプションの時系列リスト内の最初の翻訳
された部分トランスクリプションから始めて、
前記翻訳
された部分トランスクリプションおよび他の翻訳
された部分トランスクリプション内の単語の位置を使用して、安定している前記翻訳
された部分トランスクリプションの一部分を識別する安定性値を生成することと、
前記翻訳
された部分トランスクリプションを前記モデルの入力として、前記安定性値を翻訳安定性モデルの出力として使用して、前記モデルを訓練することと
を含む、請求項
11に記載のシステム。
【請求項13】
前記安定性値を生成することが、
前記翻訳
された部分トランスクリプション内の単語ごとに正当性確率を算出することであって、前記正当性確率が、前記翻訳
された部分トランスクリプションの特定の位置における単語が、前記翻訳
された部分トランスクリプションの時系列リストにおいて前記翻訳
された部分トランスクリプションの後に現れる1つまたは複数の他の翻訳
された部分トランスクリプション内の前記特定の位置に現れる確率を測定する、算出することと、
前記翻訳
された部分トランスクリプション内の単語ごとに前記正当性確率を使用して前記翻訳
された部分トランスクリプションについての前記安定性値を生成することと
を含む、請求項
12に記載のシステム。
【請求項14】
前記安定性値を生成することが、
前記翻訳
された部分トランスクリプション内の単語ごとに変更頻度メトリックを算出することであって、前記変更頻度メトリックが、前記翻訳
された部分トランスクリプションの特定の位置における単語が、前記翻訳
された部分トランスクリプションの時系列リストにおいて前記翻訳
された部分トランスクリプションの後に列挙されている翻訳
された部分トランスクリプション内の前記特定の位置において変化する回数を測定する、算出することと、
前記翻訳
された部分トランスクリプション内の単語ごとに前記変更頻度メトリックを使用して前記翻訳
された部分トランスクリプションについての前記安定性値を生成することと
を含む、請求項
12に記載のシステム。
【請求項15】
前記安定性値を生成することが、
前記部分トランスクリプション内の単語ごとにequal-to-lastメトリックを算出することであって、前記equal-to-lastメトリックが、前記部分トランスクリプション内の単語の位置が前記翻訳
された部分トランスクリプションの時系列リスト上で最後に現れる部分トランスクリプション内の前記単語の位置と同じであるかどうかを識別する、算出することと、
前記翻訳
された部分トランスクリプション内の単語ごとに前記equal-to-lastメトリックを使用して前記翻訳
された部分トランスクリプションについての前記安定性値を生成することと
を含む、請求項
12に記載のシステム。
【請求項16】
命令を記憶した非一時的コンピュータ可読記録媒体であって、前記命令が、1つまたは複数のデータ処理装置によって実行されると、前記1つまたは複数のデータ処理装置に、
オーディオデータストリームを取得することと、
前記オーディオデータストリーム内のオーディオが記録されている第1の言語を決定することと、
複数の連続する時間間隔の中の各時間間隔において、前記オーディオの部分トランスクリプションを生成することであって、各部分トランスクリプションが、(1)前記オーディオの開始から特定の時間間隔までの前記オーディオのトランスクリプションであり、(2)前記第1の言語である、生成することと、
部分トランスクリプションごとに、
前記部分トランスクリプションを前記第1の言語とは異なる第2の言語に翻訳することと、
前記翻訳
された部分トランスクリプションをモデルに入力することであって、
前記モデルが、入力された翻訳
された部分トランスクリプションの一部分が安定しているかどうかを決定し、
入力された翻訳
された部分トランスクリプション
の一部分が、前記入力され
た部分トランスクリプションに対する前記時間間隔よりも後の時間間隔までに記録され
たオーディオの別の翻訳
された部分トランスクリプションにおいて変化すると予想されないとき、前記入力された翻訳
された部分トランスクリプションの前記一部分が安定している、入力することと、
前記モデルによって、前記入力された翻訳
された部分トランスクリプションに基づいて、前記翻訳
された部分トランスクリプション
の一部分を安定していると識別することと、
前記翻訳
された部分トランスクリプションの前記一部分を安定していると識別したことに応答して、ユーザデバイス上での表示のために、前記識別を使用して、前記翻訳
された部分トランスクリプションの前記一部分を提供することと
を含む動作を実行させ
、
前記モデルが、前記第1の言語において記録された1つまたは複数の訓練オーディオデータファイルから生成されたトランスクリプションの翻訳に基づいて訓練され、
1つまたは複数の訓練オーディオデータファイルから生成された前記トランスクリプションが、訓練オーディオデータファイルごとに、前記訓練オーディオデータファイルの複数の部分トランスクリプションを含み、
訓練オーディオデータファイルの各部分トランスクリプションが、複数の連続する時間間隔のうちのそれぞれの1つにおいて生成され、
各部分トランスクリプションが、(1)前記オーディオの開始から特定の時間間隔までの前記オーディオのトランスクリプションであり、(2)前記第1の言語である、非一時的コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は国際出願であり、2020年2月6日に出願された米国出願第62/970,892号の利益を主張する。上記の出願の開示は、その全体が参照により本明細書に組み込まれる。
【0002】
本明細書は、一般に、ソース言語において記録された入力オーディオデータストリームのターゲット言語における安定したリアルタイムテキスト翻訳を生成することに関する。
【背景技術】
【0003】
リアルタイム翻訳システムは、ソース言語において記録されたオーディオストリームのターゲット言語におけるリアルタイムテキスト翻訳を提供することを目的とする。言い換えれば、リアルタイム翻訳システムは、そのようなシステムがオーディオストリームを受信したときに(またはその直後に)オーディオストリームのテキスト翻訳を生成することを目的とする。一般に、従来のリアルタイム翻訳システムは、ストリームの最初の部分が受信された直後に、受信されたオーディオストリームのその部分のテキスト翻訳を生成する。オーディオストリームの追加の部分が受信されると、これらのシステムは、ストリームの開始から追加の部分の終了までのオーディオの更新されたテキスト翻訳を生成する。このプロセスは、オーディオストリーム全体が翻訳されるまで継続する。
図1は、従来のリアルタイム翻訳システムによって生成された文(「Set makers Feud over seat with with big orders at state」)のオーディオストリームのリアルタイムスペイン語翻訳の時系列リストの一例を示す。
図1に示されている例示的な文は、自動機械翻訳によって生じたエラーを含む(話された元の文は「Jet makers feud over seat width with big orders at stake」であった)ことに留意されたい。
【0004】
従来のリアルタイム翻訳システムは、ストリームが受信されているときにオーディオストリームのテキスト翻訳の視覚化を可能にするが、テキスト翻訳は、オーディオストリームの追加の部分が受信されたときに繰り返し変化する(本明細書では「翻訳の揺らぎ(translation flicker)」または単に「揺らぎ」と呼ばれる)ことが多い。これは、「Establecer」という単語を確定する前に最初の数個の翻訳内の最初の翻訳済みの単語が複数回変化する、
図1に示されている。単語の順序(たとえば、名詞に対する動詞および形容詞の順序)が言語によって異なる場合があるので、そのような翻訳の揺らぎが生じる場合がある。たとえば、既存の翻訳アルゴリズムは一般に、ざっと等価な単語、句、および語順の間で専断を行い、それらの決定は、オーディオストリームが継続的に受信されたときに変化する場合があるので、そのような翻訳の揺らぎが生じる場合もある。
【発明の概要】
【課題を解決するための手段】
【0005】
一般に、本明細書で説明される主題の1つの革新的な態様は、オーディオデータストリームを取得する動作と、オーディオデータストリーム内のオーディオが記録されている第1の言語を決定する動作と、複数の連続する時間間隔の中の各時間間隔において、オーディオの部分トランスクリプション(partial transcription)を生成する動作であって、各部分トランスクリプションが、(1)オーディオの開始から特定の時間間隔までのオーディオのトランスクリプションであり、(2)第1の言語である、動作と、部分トランスクリプションごとに、部分トランスクリプションを第1の言語とは異なる第2の言語に翻訳する動作と、翻訳済み部分トランスクリプションをモデルに入力する動作であって、モデルが、入力された翻訳済み部分トランスクリプションの一部分が安定しているかどうかを決定し、入力された翻訳済み部分トランスクリプションの一部分が、入力された翻訳済み部分トランスクリプションに対する時間間隔よりも後の時間間隔までに記録されたオーディオの別の翻訳済み部分トランスクリプションにおいて変化すると予想されないとき、入力された翻訳済み部分トランスクリプションの一部分が安定している、動作と、モデルによって、入力された翻訳済み部分トランスクリプションに基づいて、翻訳済み部分トランスクリプションの一部分を安定していると識別する動作と、翻訳済み部分トランスクリプションの一部分を安定していると識別したことに応答して、ユーザデバイス上での表示のために、その識別を使用して、翻訳済み部分トランスクリプションの一部分を提供する動作とを含むことができる方法において具現化され得る。この態様の他の実施形態は、方法のアクションを実行するように構成された、対応するシステム、デバイス、装置、およびコンピュータプログラムを含む。コンピュータプログラム(たとえば、命令)は、コンピュータ記憶デバイス上で符号化され得る。
【0006】
これらおよび他の実施形態は各々、以下の特徴のうちの1つまたは複数を任意選択で含むことができる。
【0007】
いくつかの実装形態では、モデルは、第1の言語において記録された1つまたは複数の訓練オーディオデータファイルから生成されたトランスクリプションの翻訳に基づいて訓練され得る。
【0008】
いくつかの実装形態では、1つまたは複数の訓練オーディオデータファイルから生成されたトランスクリプションは、訓練オーディオデータファイルごとに、オーディオデータファイルの複数の部分トランスクリプションを含むことができ、訓練オーディオデータファイルの各部分トランスクリプションは、複数の連続する時間間隔のうちのそれぞれの1つにおいて生成され、各部分トランスクリプションは、(1)オーディオの開始から特定の時間間隔までのオーディオのトランスクリプションであり、(2)第1の言語である。
【0009】
いくつかの実装形態では、モデルは、安定している1つまたは複数のオーディオデータファイルのうちのそれぞれの1つのそれぞれの翻訳済み部分トランスクリプションの一部分を識別する安定性値に基づいて訓練され得る。
【0010】
いくつかの実装形態では、各安定性値は、1つまたは複数のオーディオデータファイルのうちのそれぞれの1つについてそれぞれの翻訳済み部分トランスクリプションおよび他の翻訳済み部分トランスクリプション内の単語の位置を使用して生成され得る。
【0011】
いくつかの実装形態では、方法は、安定していると予想される部分トランスクリプション内の単語のシーケンスを識別するようにモデルを訓練するステップを含むことができ、訓練するステップは、訓練オーディオデータファイルを取得するステップと、訓練オーディオデータファイルの中から、第1の言語において記録されたオーディオを有する複数の訓練オーディオデータファイルを識別するステップと、複数の訓練オーディオデータファイル内の訓練オーディオデータファイルごとに、複数の連続する時間間隔において訓練オーディオデータファイル内のオーディオの部分トランスクリプションを生成するステップであって、各部分トランスクリプションが、(1)オーディオの開始から特定の時間間隔までのオーディオのトランスクリプションであり、(2)第1の言語である、ステップと、オーディオの開始に対して最古から最新に順序付けられた部分トランスクリプションの時系列リストを生成するステップと、部分トランスクリプションの時系列リストに対応する翻訳済み部分トランスクリプションの時系列リストを生成するステップであって、部分トランスクリプションの時系列リスト内の部分トランスクリプションごとに、部分トランスクリプションをターゲット言語に翻訳するステップを含む、ステップと、翻訳済み部分トランスクリプションごとに、翻訳済み部分トランスクリプションの時系列リスト内の最初の翻訳済み部分トランスクリプションから始めて、翻訳済み部分トランスクリプションおよび他の翻訳済み部分トランスクリプション内の単語の位置を使用して、安定している翻訳済み部分トランスクリプションの一部分を識別する安定性値を生成するステップと、翻訳済み部分トランスクリプションをモデルの入力として、安定性値を翻訳安定性モデルの出力として使用して、モデルを訓練するステップとを含むことができる。
【0012】
いくつかの実装形態では、安定性値を生成するステップは、翻訳済み部分トランスクリプション内の単語ごとに正当性確率を算出するステップであって、正当性確率が、翻訳済み部分トランスクリプションの特定の位置における単語が、翻訳済み部分トランスクリプションの時系列リストにおいて翻訳済み部分トランスクリプションの後に現れる1つまたは複数の他の翻訳済み部分トランスクリプション内の特定の位置に現れる確率を測定する、ステップと、翻訳済み部分トランスクリプション内の単語ごとに正当性確率を使用して翻訳済み部分トランスクリプションについての安定性値を生成するステップとを含むことができる。
【0013】
いくつかの実装形態では、翻訳済み部分トランスクリプション内の単語ごとに正当性確率を算出するステップは、翻訳済み部分トランスクリプション内の単語ごとに、翻訳済み部分トランスクリプション内の単語の特定の位置を決定するステップと、第1の値を算出するステップであって、第1の値が、翻訳済み部分トランスクリプションの時系列リストにおいて翻訳済み部分トランスクリプションの後に列挙されている翻訳済み部分トランスクリプションの数である、ステップと、第2の値を算出するステップであって、第2の値が、単語が、翻訳済み部分トランスクリプションの時系列リストにおいて翻訳済み部分トランスクリプションの後に現れる翻訳済み部分トランスクリプション内の特定の位置に現れる回数を指定する、ステップと、単語の正当性確率を取得するために第2の値を第1の値で除算するステップとを含むことができる。
【0014】
いくつかの実装形態では、安定性値を生成するステップは、翻訳済み部分トランスクリプション内の単語ごとに変更頻度メトリックを算出するステップであって、変更頻度メトリックが、翻訳済み部分トランスクリプションの特定の位置における単語が、翻訳済み部分トランスクリプションの時系列リストにおいて翻訳済み部分トランスクリプションの後に列挙されている翻訳済み部分トランスクリプション内の特定の位置において変化する回数を測定する、ステップと、翻訳済み部分トランスクリプション内の単語ごとに変更頻度メトリックを使用して翻訳済み部分トランスクリプションについての安定性値を生成するステップとを含むことができる。
【0015】
いくつかの実装形態では、安定性値を生成するステップは、部分トランスクリプション内の単語ごとにequal-to-lastメトリックを算出するステップであって、equal-to-lastメトリックが、部分トランスクリプション内の単語の位置が翻訳済み部分トランスクリプションの時系列リスト上で最後に現れる部分トランスクリプション内の単語の位置と同じであるかどうかを識別する、ステップと、翻訳済み部分トランスクリプション内の単語ごとにequal-to-lastメトリックを使用して翻訳済み部分トランスクリプションについての安定性値を生成するステップとを含むことができる。
【0016】
本明細書で説明される主題の別の革新的な態様は、オーディオデータストリームを取得する動作と、オーディオデータストリーム内のオーディオが記録されている第1の言語を決定する動作と、複数の連続する時間間隔においてオーディオの部分トランスクリプションを生成する動作であって、各部分トランスクリプションが、(1)オーディオの開始から特定の時間間隔までのオーディオのトランスクリプションであり、(2)第1の言語である、動作と、連続する特定の部分トランスクリプションごとに、特定の部分トランスクリプションをターゲット言語に翻訳する動作と、翻訳済みの特定の部分トランスクリプションの単語ごとに、翻訳済みの特定の部分トランスクリプション内の単語の位置が翻訳済みの特定の部分トランスクリプションに先行する翻訳済み部分トランスクリプションのセット内のしきい値数の翻訳済み部分トランスクリプション内の単語の位置と一致するかどうかを決定することによって単語についての安定性値を算出する動作と、翻訳済みの特定の部分トランスクリプション内の単語についての算出された安定性値を使用して翻訳済みの特定の部分トランスクリプションについての安定性値を生成する動作であって、翻訳済みの特定の部分トランスクリプションについての安定性値が、安定している翻訳済みの特定の部分トランスクリプションの一部分を識別する、動作と、安定性値を生成したことに応答して、ユーザデバイス上での表示のために、翻訳済みの特定の部分トランスクリプションの一部分を提供する動作とを含むことができる方法において具現化され得る。この態様の他の実施形態は、方法のアクションを実行するように構成された、対応するシステム、デバイス、装置、およびコンピュータプログラムを含む。コンピュータプログラム(たとえば、命令)は、コンピュータ記憶デバイス上で符号化され得る。
【0017】
本明細書で説明される主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するために実装され得る。本明細書で説明される革新は、オーディオストリームをリアルタイムで翻訳するときに従来のリアルタイム翻訳システムが一般に遭遇する翻訳の揺らぎを低減する。そのような低減された翻訳の揺らぎを達成するために、本明細書で説明される技法は、安定していると決定されたリアルタイム翻訳の部分(本明細書でさらに説明されるように、オーディオストリームの追加の部分が受信されて翻訳されたときに変化すると予想/予測されない翻訳を指す)のみを表示する。
【0018】
さらに、本明細書で説明される技法は、翻訳を生成する前に一定の遅延を加える従来のリアルタイム翻訳システムと比較して、より速い処理時間を有する。特に、そのような従来のシステムは、翻訳されたテキストを生成するために本システムよりも長い時間期間待機する。したがって、これらの遅延ベースの従来のシステムは、他の従来のシステムよりも高い精度および/または低い翻訳の揺らぎを達成するが、その精度は、より長い遅延という犠牲を払って得られるものであり、このことは、より速いリアルタイム翻訳出力を必要とする設定において実現可能ではない場合がある。対照的に、本明細書で説明される安定性ベースの技法は、遅延ベースの従来のシステムに通常ならば存在する遅延を最小限に抑えるが、そのような従来のシステムと同様のまたは場合によってはそれよりもさらに良い安定性/低減された翻訳の揺らぎを提供しながら、それを行う。
【0019】
本明細書でさらに説明される一実装形態では、モデル(たとえば、教師あり機械学習モデル)は、安定している入力オーディオストリームの翻訳済み部分の部分を予測するために使用され、この部分は、表示すべき翻訳の部分を決定するために使用される。従来のシステムにおいて行われ得るようにすでに翻訳されたテキストを用いてモデルを訓練するのではなく、本明細書で説明されるモデル訓練技法は、転写され、次いで翻訳される実際のオーディオファイル/ストリームを使用する。訓練データをキュレートするために実際のオーディオを使用することは、話すまたは音を出す人間(または他のエンティティ)の複数の異なるオーディオシナリオを使用してモデルが訓練されるので、モデルが(従来のシステムよりも)ロバストであることを確実にする。さらに、翻訳中に(たとえば、不正確な翻訳を生成する際に)および/またはオーディオのトランスクリプション中に(たとえば、1つまたは複数の単語を不正確に転写する際に)もたらされている場合がある、翻訳における任意のエラーは、モデル訓練中に伝搬される。たとえば、オーディオファイルのトランスクリプションは、さらなるオーディオデータが受信されたときにトランスクリプションを継続的に更新するために、コンテキスト情報を使用し得る。訓練データをキュレートするためにオーディオを使用することによって、モデルは事実上、オーディオ信号のトランスクリプションにおける不確実性をモデルに統合することができる。結果として、モデルは潜在的に誤った訓練データを使用して訓練され、このことは、実際には翻訳がどのように実行されるかを模倣するだけでなく、モデルが翻訳の安定性を決定する際にそのようなシステムエラーに適応するように訓練されることを確実にする。
【0020】
さらに、本明細書で説明されるモデルベースの技法は、訓練のために何らかの事前にラベル付けされたデータを必要とせず、そのようなラベルを取得または生成するための大きいリソースも必要としない。実際、本明細書で説明される技法は、取得された訓練オーディオデータのための訓練ラベルを生成する際に限られたコンピュータ処理を必要とする、単純なルールのセットを利用する。
【0021】
本明細書でさらに説明される別の実装形態では、アルゴリズムは、特定の翻訳の安定した部分を、オーディオストリームにおける前の時間からの1つまたは複数の前の翻訳も特定の翻訳と同じロケーションにおいて翻訳のその部分を含んでいたかどうかに基づいて予測するために使用される。この技法は、モデルの訓練、構築、および記憶に必要とされるよりも少ないコンピューティングリソース(たとえば、プロセッサおよびメモリの要件)を必要とするので、モデルベースの技法よりもリソース効率が良い。
【0022】
本明細書で説明される主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載される。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【0023】
【
図1】従来のリアルタイム翻訳システムによって生成されたリアルタイム翻訳の例示的な出力を示す図である。
【
図2】ソース言語における入力オーディオストリームがリアルタイムでターゲット言語にテキスト翻訳される例示的な環境のブロック図である。
【
図3】ソース言語において記録された入力オーディオストリームの、ターゲット言語へのリアルタイムテキスト翻訳を生成するための例示的なプロセスの流れ図である。
【
図4】翻訳済み部分トランスクリプションと、
図2のシステムによって生成された翻訳済み部分トランスクリプションについての対応する安定性値との例示的なリストである。
【
図5】
図2、
図3、および
図4を参照しながら説明された翻訳安定性モデルを訓練するための例示的な環境のブロック図である。
【
図6】
図2、
図3、
図4、および
図5を参照しながら説明された翻訳安定性モデルを訓練するための例示的なプロセスの流れ図である。
【
図7】ソース言語における入力オーディオストリームがリアルタイムでターゲット言語にテキスト翻訳される、例示的な環境のブロック図である。
【
図8】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0024】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【0025】
本明細書は、一般に、ソース言語において記録された入力オーディオデータストリームのターゲット言語において安定したリアルタイムテキスト翻訳を生成することに関する。
【0026】
以下で要約され、本明細書全体にわたってより詳細に説明されるように、リアルタイムトランスレータは、オーディオストリームを受信し、ターゲット言語においてオーディオストリームの安定したリアルタイムテキスト翻訳を生成する。本明細書で使用される場合、安定したリアルタイムテキスト翻訳は、オーディオストリームの第1の部分(すなわち、オーディオストリームの開始から特定の時間間隔まで)の翻訳であり、この翻訳は、オーディオストリームの後の部分(すなわち、ストリームの開始から特定の時間間隔の後に生じる時間間隔までのオーディオストリームの一部分)についてリアルタイム翻訳が生成されるときに変化すると予想/予測されない。
【0027】
オーディオストリーム(またはこのストリームの一部分)を受信すると、リアルタイムトランスレータは、オーディオストリームが記録されている第1の言語(ソース言語とも呼ばれる)を決定する。リアルタイムトランスレータは、オーディオのストリーミング中の複数の連続する時間間隔においてオーディオストリームの部分トランスクリプションを生成する。本明細書で使用される場合、部分トランスクリプションは、(1)オーディオの開始から特定の時間間隔までのオーディオのトランスクリプションであり、(2)第1の言語である。次いで、部分トランスクリプションごとに、リアルタイムトランスレータは、第1の言語とは異なる第2の言語(本明細書ではターゲット言語とも呼ばれる)において部分トランスクリプションのテキスト翻訳を生成する。
【0028】
翻訳済み部分トランスクリプションごとに、リアルタイムトランスレータは、翻訳済み部分トランスクリプションの一部分(翻訳済み部分トランスクリプションの一部またはその全部を含むことができる)が安定しているかどうか、すなわち、翻訳済み部分トランスクリプションが、入力された翻訳済み部分トランスクリプションに対する時間間隔よりも後の時間間隔までに記録されたオーディオの別の翻訳済み部分トランスクリプションにおいて変化すると予想/予測されないかどうかを決定する。
【0029】
リアルタイムトランスレータは、この安定性の決定を数個の異なる方法で行うことができる。いくつかの実装形態では、リアルタイムトランスレータは、入力された翻訳済み部分トランスクリプションの安定した部分を識別する安定性値を生成するように訓練されたモデル(たとえば、教師ありまたは教師なし機械学習モデル)を使用することができる。そのようなモデルは、(実際のオーディオデータファイルから生成された)翻訳済み部分トランスクリプションのセットと翻訳済み部分トランスクリプションについての対応する安定性値とを使用して訓練される。他の実装形態では、リアルタイムトランスレータは、翻訳済みの特定の部分トランスクリプション内の各単語の位置が、翻訳済みの特定の部分トランスクリプションに先行するしきい値数の他の翻訳済み部分トランスクリプション内のその単語の位置と一致するかどうかを決定することによって、翻訳済みの特定の部分トランスクリプションの安定性値を算出する。トランスクリプション/翻訳内の各単語は、他の言語のトークンに一般化され得る。
【0030】
安定していると識別された翻訳済み部分トランスクリプションの一部分を識別する生成された安定性値を使用して、リアルタイムトランスレータは、翻訳済み部分トランスクリプションのその部分のみを表示のために提供する。
【0031】
リアルタイムトランスレータの上記で説明された特徴ならびに追加の特徴は、
図2~
図8を参照しながら以下でさらに説明される。
【0032】
図2は、ソース言語における入力オーディオストリームがリアルタイムでターゲット言語にテキスト翻訳される、例示的な環境200のブロック図である。
【0033】
リアルタイムトランスレータ204(
図2に示される)は、入力オーディオストリーム202のリアルタイム翻訳を生成する。入力オーディオストリーム202は、複数のソースから受信され得る。たとえば、オーディオストリーム202は、ユーザデバイス上に記憶されたボイス記録またはオーディオファイルであり得る。別の例として、オーディオストリーム202は、ネットワークを介してサーバまたはクラウドサービスから取得され得る。
【0034】
いくつかの実装形態では、ユーザデバイスのユーザは、オーディオストリーム202のリアルタイム翻訳を生成するという要求をリアルタイムトランスレータ204に送ることができる。そのような要求は、オーディオストリーム202を含むことができるか、または代替的に、オーディオストリーム202を取得するためにリアルタイムトランスレータ204によって使用され得る、オーディオストリーム202のロケーションまたはソースを識別することができる。
【0035】
リアルタイムトランスレータ204は、複数の構成要素、すなわち、(1)言語検出器206と、(2)トランスクライバ(transcriber)208と、(3)トランスレータ210と、(4)翻訳安定性モデル212と、(5)ディスプレイエンジン214とを含むデータ処理装置である。これらの構成要素の各々は、本明細書でさらに説明されるようなデータ処理装置でもある。これらの構成要素はリアルタイムトランスレータ204の一部であるものとして示されているが、代替実装形態では、これらの構成要素のうちの1つまたは複数は別々に実装されてもよい。さらに、これらは別個の構成要素として示されているが、これらの構成要素のうちの1つまたは複数は1つの構成要素に組み合わされ得る。たとえば、トランスクライバ208および言語検出器206は、単一の構成要素として実装され得る。これらの構成要素の各々の構造および動作は、
図3を参照しながら説明される。
【0036】
いくつかの実装形態では、リアルタイムトランスレータ204は、ユーザデバイスにおいてローカルに存在する単一のソフトウェアパッケージとして実装され得る。ユーザデバイスは、典型的には、ネットワーク108を介したデータの送信および受信を容易にするために、ウェブブラウザなどのユーザアプリケーションを含むが、クライアントデバイス102によって実行されるネイティブアプリケーションも、ネットワーク108を介したコンテンツの送信および受信を容易にすることができる。代替的に、リアルタイムトランスレータは、(ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せなどの)ネットワークを介してユーザデバイスによってアクセス可能なクラウド内またはサーバ上で展開され得る。
【0037】
図3は、ソース言語において記録された入力オーディオストリームの、ターゲット言語へのリアルタイムテキスト翻訳を生成するための例示的なプロセス300の流れ図である。プロセス300の動作は、
図2のリアルタイムトランスレータ204(およびその構成要素)を参照しながら以下で例示的に説明される。プロセス300の動作は、任意の適切なデバイスまたはシステム、たとえば、任意の適切なデータ処理装置によって実行され得る。プロセス300の動作はまた、非一時的コンピュータ可読媒体上に記憶された命令として実装され得る。命令の実行は、1つまたは複数のデータ処理装置にプロセス300の動作を実行させる。
【0038】
リアルタイムトランスレータ204は、(302において)オーディオデータストリームを取得する。
図2を参照しながら説明されたように、入力オーディオストリーム202は、複数のソースから受信され得る。たとえば、オーディオストリーム202は、ユーザデバイス上に記憶されたボイス記録またはオーディオファイルであり得る。別の例として、オーディオストリーム202は、ネットワークを介してサーバまたはクラウドサービスから取得され得る。
【0039】
言語検出器206は、(304において)オーディオデータストリーム内のオーディオが記録されている第1の言語を決定する。いくつかの実装形態では、言語検出器206は、オーディオが記録されている第1の言語を識別するタグを検索するために、オーディオストリーム202に含まれるメタデータをパースする。代替的に、そのような言語識別子は、入力オーディオストリームを翻訳するためにユーザデバイスによって要求に含まれ得る。そのような言語識別タグがオーディオストリーム202に含まれる(またはさもなければ要求に含まれる)場合、言語検出器206は、オーディオが記録されている第1の言語を識別するこのタグに関連付けられたデータを取得する。オーディオストリームまたはファイルがそのような言語識別タグを含まない場合、言語検出器206は、入力オーディオストリーム202の一定の部分(たとえば、オーディオの一定の時間間隔(たとえば、1~3秒)に対応する一部分)に対応するオーディオが記録されているソース言語を決定するために、その部分を解析する。いくつかの実装形態では、これを達成するために、言語検出器206は、入力オーディオストリームまたはファイルの部分を、異なるターゲット言語に関連付けられた既知のシグネチャのリポジトリと比較することができる。いくつかの実装形態では、言語検出器206は、オーディオの一定のスニペットが記録されている言語を識別し、オーディオスニペットのセットと各オーディオスニペットが記録されている言語を識別するラベルの対応するセットとを使用して訓練される、残差ニューラルネットワーク(RNN)(または別の適切な統計モデル)などの機械学習モデルを含むことができる。
【0040】
トランスクライバ208は、(306において)オーディオストリームの間の連続する時間間隔においてオーディオの部分トランスクリプションを生成する。いくつかの実装形態では、トランスクライバ208は、自動音声認識(ASR:automated speech recognition)アルゴリズムまたは別の適切なオーディオ-テキストトランスクリプションサービスを使用して実装される。オーディオストリームの完全トランスクリプションを生成する前に、オーディオストリーム全体が受信されるまで待機する従来のASRアルゴリズムとは異なり、トランスクライバ208を実装するために使用されるアルゴリズムは、オーディオストリームまたは再生の連続する時間間隔(固定の時間、たとえば、1~2秒ごと、または可変の時間によって分離され得る)においてオーディオの部分トランスクリプションを生成する。本明細書で使用される場合、オーディオの部分トランスクリプションは、(1)オーディオの開始からオーディオにおける特定の時間間隔までのオーディオのトランスクリプションであり、(2)オーディオが記録されている言語である、第1の言語である。言い換えれば、各連続する時間間隔において、トランスクライバ208は、オーディオの開始からその特定の連続する時間間隔の終了までのオーディオの部分トランスクリプションを生成する。
【0041】
図2に示されているように、トランスクライバ208は、タイムライン上に示されている各時間間隔(T1~TN)において、オーディオストリーム202内のオーディオの部分トランスクリプション(TR1 208-1~TRN 208-N)を生成する。したがって、トランスクライバ208は、オーディオの開始(時間T0)から時間T1までのオーディオのトランスクリプションである、時間T1に対する部分トランスクリプションTR1 208-1を生成する。同様に、トランスクライバ208は、オーディオの開始(時間T0)から時間T2までのオーディオのトランスクリプションである、時間T2に対する部分トランスクリプションTR2 208-2を生成する。別の例として、トランスクライバ208は、オーディオの開始(時間T0)から時間TNまでのオーディオのトランスクリプションである、時間TNに対する部分トランスクリプションTRN 208-Nを生成する。
【0042】
以下の動作(動作308、310、312、および314)は、部分トランスクリプションごとに反復的に実行される。いくつかの実装形態では、これらの動作は、第1の部分トランスクリプション(TR1)から始まり、各後続の連続する部分トランスクリプション(TR2、TR3 ... TRN)に続いて実行される。
【0043】
トランスレータ210は、(308において)部分トランスクリプションを第1の言語とは異なる第2の言語に翻訳する。トランスレータ210は、ソース言語(すなわち、第1の言語)におけるテキストをターゲット言語(すなわち、第2の言語)に翻訳する従来の機械翻訳サービスを使用して実装され得る。いくつかの実装形態では、トランスレータ210は、第1の/ソース言語である(トランスクライバ208によって生成された)各部分トランスクリプションを入力として受け入れる。そのような部分トランスクリプションごとに、トランスレータ210は、ターゲット言語における部分トランスクリプションのテキスト翻訳を生成する。
図2に示されているように、トランスレータ210は、対応する翻訳済み部分トランスクリプション(L1 210-1~LN 210-N)を生成するために部分トランスクリプション(TR1 208-1~TRN 208-N)を使用する。
【0044】
リアルタイムトランスレータ204は、(310において)(動作308において生成された)翻訳済み部分トランスクリプションを翻訳安定性モデル212に入力する。翻訳安定性モデル212は、翻訳済み部分トランスクリプションを入力として受け入れ、安定している入力された翻訳済み部分トランスクリプションの一部分、すなわち、後続の翻訳済み部分(または完全)トランスクリプション(すなわち、入力された翻訳済み部分トランスクリプションに対する時間間隔よりも後の時間間隔に対する別の翻訳済みトランスクリプション)において変化することが予想/予測されない、入力された翻訳済み部分トランスクリプションの一部分、を識別する安定性値を出力する。いくつかの実装形態では、翻訳安定性モデル212によって出力された安定性値は、安定している翻訳済み部分トランスクリプションにおける単語の数を示す。たとえば、10個の単語を含む翻訳済み部分トランスクリプションの場合、5の安定性値は、翻訳済み部分トランスクリプションの最初の5つの単語が安定していることを示す。
【0045】
いくつかの実装形態では、翻訳安定性モデル212は、RNN(たとえば、教師ありまたは教師なしモデル)などの機械学習モデルとして実装され得る。代替的に、翻訳安定性モデル212は、ルールベースのエンジンまたは別の適切な統計モデルとして実装され得る。翻訳安定性モデル212が教師あり機械学習モデル(たとえば、リカレントニューラルネットワーク)として実装されるとき、翻訳安定性モデル212は、翻訳済み部分トランスクリプションのセットと翻訳済み部分トランスクリプションについての安定性値の対応するセットとを使用して訓練され得る。翻訳安定性モデル212の訓練に関する追加の詳細は、
図5および
図6を参照しながら説明される。
【0046】
動作308において翻訳済み部分トランスクリプションが翻訳安定性モデル212に入力されたことに応答して、翻訳安定性モデル212は、(312において)安定していると予想/予測される翻訳済み部分トランスクリプションの一部分を識別する安定性値を識別(し、リアルタイムトランスレータ204は、その安定性値をモデル212から取得)する。これは、
図2にさらに示されている。たとえば、
図2は、翻訳安定性モデル212が、最初の2つの翻訳済み部分トランスクリプション(L1 210-1およびL2 210-2)に対して0の安定性値を出力し、第3および第4の翻訳済み部分トランスクリプション(L3 210-3およびL4 210-4)に対して4の安定性値を出力することを示している。
【0047】
安定していると予想/予測される翻訳済み部分トランスクリプションの一部分の識別に応答して、リアルタイムトランスレータ204は、(314において)翻訳済み部分トランスクリプションの一部分を表示のために提供する。いくつかの実装形態では、翻訳安定性モデル212は、安定性値を出力し、この値ならびに対応する翻訳済み部分トランスクリプションをディスプレイエンジン214に提供する。ディスプレイエンジン214は、安定性値が安定していると識別する翻訳済み部分トランスクリプションの一部分のみを表示のために提供するために、翻訳済み部分トランスクリプションおよび対応する安定性値を使用する。たとえば、(1)翻訳済み部分トランスクリプションが10個の単語を含み、(2)安定性値が、翻訳済み部分トランスクリプションの最初の5つの単語が安定していると予想されることを示す5である場合、ディスプレイエンジン214は、翻訳済み部分トランスクリプションの最初の5つの単語のみを表示のために提供する。たとえば、
図2に示されているように、第4の翻訳済み部分トランスクリプションL4は、4の安定性値を有し、したがって、ディスプレイエンジン214は、この翻訳済み部分トランスクリプションの最初の4つの単語のみを提供することになる。これは、
図4を参照しながらさらに示される。
【0048】
リアルタイムトランスレータ204がオーディオストリーム202全体を転写および翻訳し、翻訳の予想される安定した部分を表示のために提供するまで、動作308~314は継続する。このようにして、リアルタイムトランスレータ204は、第1の/ソース言語において記録されている入力オーディオストリームの(第2の/ターゲット言語における)リアルタイムテキスト翻訳を生成する際に安定性値を使用する。
【0049】
図4は、翻訳済み部分トランスクリプションと、
図2のリアルタイムトランスレータによって生成された翻訳済み部分トランスクリプションについての対応する安定性値との例示的なリストを示す。
【0050】
参照番号404は、翻訳済み部分トランスクリプションを示し、参照番号402は、翻訳済み部分トランスクリプションの各々についての安定性値を示す。翻訳済み部分トランスクリプションはスペイン語であるが、部分トランスクリプションおよびそれらの翻訳は他の言語であってもよい(言い換えれば、本明細書で説明される技法は、言語の複数のペア間の翻訳に適用される)。テキストが白色である黒色のハイライトは、翻訳安定性モデル212によって不安定であると決定されたテキストを表し、したがって、表示のために提供されない(または隠される)。一方、ハイライトなしの黒色のテキストは、翻訳安定性モデル212によって安定していると決定されたテキストを表し、したがって、表示のために提供される。
【0051】
以下の段落では、最初の5つの翻訳済み部分トランスクリプションおよびそれらの対応する安定性値(
図4に示されている)は、何がディスプレイエンジン214によって表示のために提供されるかを説明するための例として使用される。
【0052】
図4に示されている最初の3つの翻訳済み部分トランスクリプション(「soy」、「yo no」、および「no soy vidente」)は0の安定性値を有し、このことは、これらの翻訳済み部分トランスクリプションにおける単語のいずれも安定していると予想されないことを示す。したがって、これらの翻訳済み部分トランスクリプションに関して、ディスプレイエンジン214は、翻訳済み部分トランスクリプションの単語のいずれも表示のために提供しない。
【0053】
第4の翻訳済み部分トランスクリプション(「no soy vidente divisores de cajones con dicho」)は3の安定性値を有し、このことは、この翻訳済み部分トランスクリプションの最初の3つの単語が安定していると予想されることを示す。したがって、ディスプレイエンジン214は、この翻訳済み部分トランスクリプションの最初の3つの単語(「no soy vidente」)を表示のために提供する。
【0054】
第5の翻訳済み部分トランスクリプション(「no soy vidente divisors de cajones con dicho es」)は8の安定性値を有し、このことは、この翻訳済み部分トランスクリプションにおける最初の8つの単語が安定していると予想されることを示す。したがって、ディスプレイエンジン214は、この翻訳済み部分トランスクリプションの最初の8つの単語(「no soy vidente divisors de cajones con dicho」)を表示のために提供する。
【0055】
図5は、
図2、
図3、および
図4を参照しながら説明された翻訳安定性モデル212を訓練するための例示的な環境500のブロック図である。
【0056】
環境500は、たとえば、教師あり機械学習モデルとして実装され得る翻訳安定性モデル212を訓練して、オーディオストリームから取得された入力された翻訳済み部分トランスクリプションについての安定性値を生成するために使用される。
図5に示されているリアルタイムトランスレータ204のすべての構成要素(ならびにそれらの関連する構造およびこれらの構成要素によって実行される動作)は、安定性メトリック生成器504を除いて、
図2~
図4を参照しながら説明されたリアルタイムトランスレータ204の同一名称の構成要素と同じである。
【0057】
いくつかの実装形態では、翻訳安定性モデルの訓練において使用される訓練オーディオデータをキュレートする際に、任意のオーディオ発話が使用され得る。訓練オーディオデータの多様なセットをキュレートすることは、話すまたは音を出す人間(または他のエンティティ)の複数の異なるオーディオシナリオを使用してモデルが訓練されることを確実にする。
【0058】
さらに、実際の(すなわち、正当性について検証された)翻訳済み部分トランスクリプションは一般に、訓練において使用されず、むしろ、翻訳安定性モデルは好ましくは、トランスレータ210が生成した翻訳済み部分トランスクリプションを使用して訓練され、トランスレータ210が生成した翻訳済み部分トランスクリプションは、トランスクライバ208が生成した部分トランスクリプションから生成される。生成された翻訳済み部分トランスクリプションは、エラーを有する可能性があり、エラーは、トランスレータ210(たとえば、不正確な翻訳を生成する)および/またはトランスクライバ208(たとえば、1つまたは複数の単語を不正確に転写する)によってもたらされている場合がある。したがって、そのような潜在的に誤った訓練データに対して翻訳安定性モデル212を訓練することは、安定性値を決定する際にそのようなシステムエラーに適応するようにモデルが訓練されることを確実にする。
【0059】
以下でより詳細に説明されるように、翻訳安定性モデル212は、ターゲット/第2の言語における翻訳済み部分トランスクリプションのセットと、翻訳済み部分トランスクリプションごとに安定性値を識別するラベルの対応するセットとを含む、ラベル付けされた訓練データのセットを使用して訓練される。翻訳安定性モデルは、モデル212の(損失関数(たとえば、L1、L2損失)によって指定された)損失を低減するように訓練される。一般に、訓練オーディオデータファイルに対応する翻訳済み部分トランスクリプションについての安定性値はまだ存在していないので、安定性メトリック生成器504は、(
図6を参照しながら以下でさらに説明されるように)これらの翻訳済み部分トランスクリプションについての安定性値を生成するために使用され、次いで、これらの安定性値は、訓練中にラベルとして使用される。
【0060】
いくつかの実装形態では、安定性メトリック生成器504は、訓練オーディオデータファイルから取得された翻訳済み部分トランスクリプションについての安定性値を生成する際に使用されるルールのセットを含む、ルールベースのエンジン(すなわち、あるタイプのデータ処理装置)である。安定性メトリック生成器504と翻訳安定性モデル212の訓練とに関する追加の詳細は、
図6を参照しながら以下で説明される。
【0061】
図6は、
図2~
図5を参照しながら説明された翻訳安定性モデル212を訓練するための例示的なプロセス600の流れ図である。プロセス600の動作は、
図5のリアルタイムトランスレータ204を参照しながら以下で例示的に説明される。プロセス600の動作は、任意の適切なデバイスまたはシステム、たとえば、任意の適切なデータ処理装置によって実行され得る。プロセス600の動作はまた、非一時的コンピュータ可読媒体上に記憶された命令として実装され得る。命令の実行は、1つまたは複数のデータ処理装置にプロセス600の動作を実行させる。
【0062】
リアルタイムトランスレータ204は、(602において)訓練オーディオデータファイルを取得する。上記で説明されたように、リアルタイムトランスレータ204は、記録されたオーディオを記憶する任意のソースから訓練オーディオデータファイルを取得することができる。そのようなソースの例は、
図3を参照しながら説明される。
【0063】
リアルタイムトランスレータ204は、(604において)訓練オーディオデータファイルの中から、第1の言語において記録されたオーディオを有する複数の訓練オーディオデータファイルを識別する。言語検出器206は、(
図2および上記を参照しながら説明されたものと同じ方法で)訓練オーディオデータファイルの各々が記録されている言語を決定し、言語検出器が第1の言語(ソース言語)において記録されていると決定した複数の訓練オーディオデータファイルのみを識別する。
【0064】
以下の動作(動作606~614)は、複数の訓練オーディオデータファイル内の訓練オーディオデータごとに実行される。
【0065】
トランスクライバ208は、(606において)複数の連続する時間間隔において訓練オーディオデータファイル内のオーディオの部分トランスクリプションを生成する。この動作は、
図3の対応する動作(動作306)を参照しながら説明されたものと実質的に同じ方法で実行される。いくつかの実装形態では、トランスクライバ208はまた、部分トランスクリプションの相対的な順序を決定する際に使用され得るオーディオ順序識別子を各部分トランスクリプションに割り当てる。いくつかの実装形態では、オーディオ順序識別子は、部分トランスクリプションに対応するオーディオの合計時間を識別する。たとえば、オーディオデータファイル内の2秒のオーディオごとに部分トランスクリプションが生成されると仮定する。この例では、最初の2秒のオーディオに対する第1の部分トランスクリプションには、2のオーディオ順序識別子を割り当てることができ、次の2秒のオーディオに対する第2の部分トランスクリプションには、4のオーディオ順序識別子を割り当てることができ(すなわち、オーディオの開始から経過した4秒の合計時間を表す)、次の2秒のオーディオに対する第3の部分トランスクリプションには、6のオーディオ順序識別子を割り当てることができ(すなわち、オーディオの開始から経過した6秒の合計時間を表す)、以下同様である。
【0066】
トランスクライバ208は、(608において)部分トランスクリプションの時系列リストを生成する。いくつかの実装形態では、トランスクライバ208は、(動作606において生成された)部分トランスクリプションをオーディオの開始に対して最古から最新に順序付ける。いくつかの実装形態では、トランスクライバ208は、部分トランスクリプションの時系列リストを生成する際にオーディオ順序識別子を使用する。そのような実装形態では、トランスクライバ208は、オーディオ順序識別子およびそれらの対応する部分トランスクリプションのリストを生成し、(ある部分トランスクリプションに対するオーディオ順序識別子が先行する部分トランスクリプションに対するオーディオ順序識別子よりも大きいと仮定して)このリストをオーディオ順序識別子の昇順にソートする。したがって、得られた部分トランスクリプションのリストは、オーディオの開始に関して時系列順序で列挙される。
【0067】
トランスレータ210は、(610において)部分トランスクリプションの時系列リストに対応する翻訳済み部分トランスクリプションの時系列リストを生成する。いくつかの実装形態では、部分トランスクリプションの時系列リスト内の部分トランスクリプションごとに、トランスレータは、部分トランスクリプションをターゲット言語に翻訳して、翻訳済み部分トランスクリプションを取得する。この動作は、
図3を参照しながら説明された動作308と実質的に同じ方法で実行される。
【0068】
以下の動作(動作612~614)は、翻訳済み部分トランスクリプションごとに実行され、翻訳済み部分トランスクリプションの時系列リスト内の最初の翻訳済み部分トランスクリプションから始まり、次いで、その時系列リスト内の各連続する翻訳済み部分トランスクリプションに続く。
【0069】
安定性メトリック生成器504は、(612において)安定している翻訳済み部分トランスクリプションの一部分を識別する、翻訳済み部分トランスクリプションについての安定性値を生成する。安定性値は異なる方法で算出される場合があり、それらの方法の各々は、翻訳済み部分トランスクリプションの時系列リスト内の翻訳済み部分トランスクリプションおよび/またはその他の翻訳済み部分トランスクリプション内の単語の位置を使用することを必要とし得る。安定性値を算出するための数個の異なる技法が以下で説明される。
【0070】
安定性値を計算するための1つの技法は、翻訳済み部分トランスクリプション内の単語ごとの正当性確率の算出に基づく。正当性確率は、翻訳済み部分トランスクリプションの特定の位置における単語が1つまたは複数の後続の翻訳済み部分トランスクリプション(すなわち、翻訳済み部分トランスクリプションの時系列リストにおいて翻訳済み部分トランスクリプションの後に現れる1つまたは複数の翻訳済み部分トランスクリプション)内のその同じ位置に現れる確率を測定する。
【0071】
翻訳済み部分トランスクリプション内の単語についてのこの正当性確率を算出するために、安定性メトリック生成器504は最初に、翻訳済み部分トランスクリプションの開始(または最初の単語)に対するその単語の位置(第1の位置または特定の位置とも呼ばれる)を決定する。いくつかの実装形態では、安定性メトリック生成器504は、翻訳済み部分トランスクリプション内の最初の単語から特定の単語までの単語の数をカウントする。次いで、安定性メトリック生成器504は、第1の値および第2の値を算出する。安定性メトリックは、翻訳済み部分トランスクリプションの時系列リストにおいて翻訳済み部分トランスクリプションの後に列挙されている翻訳済み部分トランスクリプションの数を決定することによって、第1の値を算出する。安定性メトリック生成器504は、特定の単語が後続の翻訳済み部分トランスクリプション、すなわち、翻訳済み部分トランスクリプションの時系列リストにおいて翻訳済み部分トランスクリプションの後に現れる翻訳済み部分トランスクリプション内の第1の位置に現れる回数を決定することによって、第2の値を算出する。安定性メトリックは、第2の値を第1の値で除算することによって、単語ごとに正当性確率を算出する。
【0072】
安定性メトリック生成器504は、翻訳済み部分トランスクリプションについての安定性値を算出するために、翻訳済み部分トランスクリプション内の単語ごとに得られた正当性確率値を使用する。いくつかの実装形態では、安定性メトリック生成器504は、アレイを生成するために、翻訳済み部分トランスクリプション内の単語ごとに正当性確率値を使用する。そのようなアレイのロケーション/位置は、翻訳済み部分トランスクリプション内の単語が現れる位置に対応し、これらのアレイ位置において記憶されたデータは、それらの単語についての正当性確率値に対応する。たとえば、アレイ位置1は、翻訳済み部分トランスクリプション内の第1の単語に対応することができ、第1の単語についての正当性確率を含み、アレイ位置2は、翻訳済み部分トランスクリプション内の第2の単語に対応することができ、第2の単語についての正当性確率を含み、以下同様である。
【0073】
いくつかの実装形態では、単語についての正当性確率がしきい値を満足する(たとえば、しきい値を満たすかまたはしきい値を超える)場合、その単語は、(たとえば、単語に1のラベルを割り当てることによって)安定しているとしてアレイ内で識別され得る。一方、単語についての正当性確率がしきい値を満足しない場合、その単語は、(たとえば、正当性確率を0に置き換えることによって)不安定であるとしてアレイ内で識別され得る。
【0074】
次いで、安定性メトリック生成器504は、最初の不安定な単語が識別されるまでの翻訳済み部分トランスクリプション内の安定した単語の数をカウントすることによって、翻訳済み部分トランスクリプションについての安定性値を決定する。いくつかの実装形態では、これは、アレイ内の第1の位置から始めて、最初の「0」(または不安定な単語を表す別の値)に遭遇するまでの「1」(または安定した単語を表す別の値)の数をカウントすることを含む。
【0075】
安定性値を計算するための別の技法は、変更頻度メトリックの算出に基づき、変更頻度メトリックは、翻訳済み部分トランスクリプションの特定の位置における単語が、翻訳済み部分トランスクリプションの時系列リストにおいて翻訳済み部分トランスクリプションの後に列挙されている翻訳済み部分トランスクリプション内の特定の位置に現れない回数を測定する。
【0076】
翻訳済み部分トランスクリプション内の単語についてのこの変更頻度値を算出するために、安定性メトリック生成器504は最初に、(正当性確率メトリックに関して上記で説明されたように)翻訳済み部分トランスクリプションの開始(または最初の単語)に対するその単語の位置(第1の位置または特定の位置とも呼ばれる)を決定する。次いで、安定性メトリック生成器504は、第1の値および第2の値を算出する。安定性メトリックは、翻訳済み部分トランスクリプションの時系列リストにおいて翻訳済み部分トランスクリプションの後に列挙されている翻訳済み部分トランスクリプションの数を決定することによって、第1の値を算出する。安定性メトリック生成器504は、特定の位置における単語が後続の翻訳済み部分トランスクリプション、すなわち、翻訳済み部分トランスクリプションの時系列リストにおいて翻訳済み部分トランスクリプションの後に現れる翻訳済み部分トランスクリプションにおいて変化する回数を決定することによって、第2の値を算出する。安定性メトリックは、第2の値を第1の値で除算することによって、単語ごとに変更頻度を算出する。
【0077】
安定性メトリック生成器504は、翻訳済み部分トランスクリプションについての安定性値を算出するために、翻訳済み部分トランスクリプション内の単語ごとに得られた変更頻度値を使用する。いくつかの実装形態では、安定性メトリック生成器504は、アレイを生成するために、翻訳済み部分トランスクリプション内の単語についての変更頻度値を使用する。そのようなアレイのロケーション/位置は、翻訳済み部分トランスクリプション内の単語が現れる位置に対応し、これらのアレイ位置において記憶されたデータは、それらの単語についての変更頻度値に対応する。たとえば、アレイ位置1は、翻訳済み部分トランスクリプション内の第1の単語に対応することができ、第1の単語についての変更頻度を含み、アレイ位置2は、翻訳済み部分トランスクリプション内の第2の単語に対応することができ、第2の単語についての変更頻度を含み、以下同様である。いくつかの実装形態では、単語についての変更頻度値がしきい値を満足する(たとえば、しきい値であるかまたはしきい値を下回る)場合、その単語は、(たとえば、単語に1のラベルを割り当てることによって)安定しているとしてアレイ内で識別され得る。一方、単語についての変更頻度値がしきい値を満足しない場合、その単語は、(たとえば、単語に0のラベルを割り当てることによって)不安定であるとしてアレイ内で識別され得る。
【0078】
次いで、安定性メトリック生成器504は、最初の不安定な単語が識別されるまでの翻訳済み部分トランスクリプション内の安定した単語の数をカウントすることによって、翻訳済み部分トランスクリプションについての安定性値を決定する。いくつかの実装形態では、これは、アレイ内の第1の位置から始めて、最初の「0」(または不安定な単語を表す別の値)に遭遇するまでの「1」(または安定した単語を表す別の値)の数をカウントすることを含む。
【0079】
安定性値を計算するための別の技法は、equal-to-lastメトリックに基づき、equal-to-lastメトリックは、翻訳済み部分トランスクリプション内の単語の位置が翻訳済み部分トランスクリプションの時系列リストにおける最後の翻訳済み部分トランスクリプション内の単語の位置と同じであるかどうかを識別する。
【0080】
翻訳済み部分トランスクリプション内の単語についてのこのequal-to-lastメトリックを算出するために、安定性メトリック生成器504は最初に、(正当性確率メトリックに関して上記で説明されたように)翻訳済み部分トランスクリプションの開始(または最初の単語)に対するその単語の位置(第1の位置または特定の位置とも呼ばれる)を決定する。次いで、安定性メトリック生成器504は、特定の単語が「最後の」翻訳済み部分トランスクリプション、すなわち、翻訳済み部分トランスクリプションの時系列リストの終わりに現れる翻訳済み部分トランスクリプション内の第1の/特定の位置に現れるかどうかを決定することによって、第1の値(単語についてのequal-to-last値とも呼ばれる)を算出する。単語についての第1の値は、単語が安定しているか否かを示す。いくつかの実装形態では、特定の単語が「最後の」翻訳済み部分トランスクリプション内の第1の位置に現れると安定性メトリック生成器504が決定した場合、そのことは「1」(または安定した単語を示す別の値)を第1の値に割り当て、そうでない場合、そのことは「0」(または不安定な単語を示す別の値)を第1の値に割り当てる。
【0081】
安定性メトリック生成器504は、翻訳済み部分トランスクリプションについての安定性値を算出するために、翻訳済み部分トランスクリプション内の単語ごとにequal-to-last値を使用する。いくつかの実装形態では、安定性メトリック生成器504は、アレイを生成するために、翻訳済み部分トランスクリプション内の単語についてのequal-to-last値を使用する。そのようなアレイのロケーション/位置は、翻訳済み部分トランスクリプション内の単語が現れる位置に対応し、これらのアレイ位置において記憶されたデータは、それらの単語についてのequal-to-last値に対応する。たとえば、アレイ位置1は、翻訳済み部分トランスクリプション内の第1の単語に対応することができ、第1の単語についてのequal-to-last値を含み、アレイ位置2は、翻訳済み部分トランスクリプション内の第2の単語に対応することができ、第2の単語についてのequal-to-last値を含み、以下同様である。
【0082】
次いで、安定性メトリック生成器504は、最初の不安定な単語が識別されるまでの翻訳済み部分トランスクリプション内の安定した単語の数をカウントすることによって、翻訳済み部分トランスクリプションについての安定性値を決定する。上述のように、いくつかの実装形態では、1のequal-to-last値は安定した単語を示すが、0のequal-to-last値は不安定な単語を示す。そのような実装形態では、翻訳済み部分トランスクリプションについての安定性値は、アレイ内の第1の位置から始めて、最初の「0」(または不安定な単語を表す別の値)に遭遇するまでの「1」の数をカウントすることによって決定される。
【0083】
いくつかの実装形態では、翻訳済み部分トランスクリプションについての安定性値を計算するための上記で特定された技法のうちの1つのみが安定性メトリック生成器504によって使用され得る。他の実装形態では、これらの技法のうちの2つまたはそれ以上が安定性値を算出する際に使用されてもよく、その場合、安定性メトリック生成器504は、これらの技法の各々を使用して翻訳済み部分トランスクリプションについての安定性値を算出し、次いで、安定性値のうちの1つ(たとえば、最も低い安定性値または最も高い安定性値)を翻訳安定性モデル212の訓練において使用するための最終安定性値として選択する。
【0084】
プロセス600に戻ると、リアルタイムトランスレータ204は、(614において)翻訳済み部分トランスクリプションおよび動作612において決定された安定性値を使用して翻訳安定性モデル212を訓練する。いくつかの実装形態では、訓練は、訓練オーディオデータファイルの各々のすべての翻訳済み部分トランスクリプションが完成するまで継続する。代替的に、訓練は、翻訳安定性モデル212の損失が特定のしきい値を満足する(たとえば、特定のしきい値であるかまたは特定のしきい値を下回る)まで継続する。
【0085】
プロセス600を使用して訓練されると、翻訳安定性モデル212は、入力された翻訳済み部分トランスクリプションの安定性値を識別するために推測モードで使用され得、これらの安定性値は、(
図2~
図4を参照しながら説明されたように)受信されたオーディオストリームのリアルタイム翻訳の間に表示すべき予想/予測された安定した翻訳済みの単語を決定する際に使用され得る。
【0086】
図7は、ソース言語における入力オーディオストリームがリアルタイムでターゲット言語にテキスト翻訳される、例示的な環境700のブロック図である。
【0087】
図2~
図4を参照しながら説明された例示的な環境によく似て、例示的な環境700は、算出された安定性値を使用して入力オーディオストリームの安定したリアルタイムテキスト翻訳を生成するシステムを提供する。実際、
図2に示されているリアルタイムトランスレータ204のすべての構成要素(ならびに、
図3を参照しながら説明されたような、それらの関連する構造およびこれらの構成要素によって実行される動作)は、翻訳安定性モデル212を除いて、
図7に示されているリアルタイムトランスレータ204の同一名称の構成要素と同じである。しかしながら、
図2に示されている翻訳安定性モデル212の代わりに、
図7のリアルタイムトランスレータ204はトランスレータ比較器702を含む。翻訳安定性モデル212とトランスレータ比較器702の両方は、翻訳済み部分トランスクリプションについての安定性値を生成するが、トランスレータ比較器702は、(以下でさらに説明されるように)異なる方法で翻訳済み部分トランスクリプションについての安定性値を生成する。
【0088】
翻訳済み部分トランスクリプションについての安定性値を算出するために、トランスレータ比較器702は最初に、翻訳済み部分トランスクリプション内の単語の安定性値を算出する。トランスレータ比較器702は、1つまたは複数の先行する翻訳済み部分トランスクリプション(すなわち、前の時間間隔で終わるオーディオストリームの部分に対応する1つまたは複数の翻訳済み部分トランスクリプション)に現れる単語を使用することによってそれを行う。いくつかの実装形態では、トランスレータ比較器702は、翻訳済み部分トランスクリプション内の単語の位置を識別する。したがって、単語ごとに、トランスレータ比較器702は、(
図6を参照しながら上記で与えられた単語の位置を決定する説明と同様に)翻訳済み部分トランスクリプション内の単語の位置を表す第1の位置値を算出する。
【0089】
次いで、翻訳済み部分トランスクリプション内の単語ごとに、トランスレータ比較器702は、単語が(1よりも大きいかまたはそれに等しい任意の所定の数であり得る)しきい値数の先行する翻訳済み部分トランスクリプション内の第1の位置に現れるかどうかを決定することによって、その単語についての安定性値を決定する。言い換えれば、トランスレータ比較器702は、翻訳済み部分トランスクリプション内の単語の位置が翻訳済みの特定の部分トランスクリプションに先行する翻訳済み部分トランスクリプションのセット内のしきい値数の翻訳済み部分トランスクリプション内の単語の位置と一致するかどうかを決定する。単語がしきい値数の先行する翻訳済み部分トランスクリプション内の第1の位置に現れるとトランスレータ比較器702が決定した場合、そのことは「1」(または安定した単語を示す別の値)をその単語に割り当て、そうでない場合、そのことは「0」(または不安定な単語を示す別の値)をその単語に割り当てる。
【0090】
トランスレータ比較器702は、翻訳済み部分トランスクリプションについての安定性値を算出するために、翻訳済み部分トランスクリプション内の単語ごとに安定性値を使用する。いくつかの実装形態では、トランスレータ比較器702は、アレイを生成するために、翻訳済み部分トランスクリプション内の単語についての安定性値を使用する。そのようなアレイのロケーション/位置は、翻訳済み部分トランスクリプション内の単語が現れる位置に対応し、これらのアレイ位置において記憶されたデータは、それらの単語についての安定性値を識別する。たとえば、アレイ位置1は、翻訳済み部分トランスクリプション内の第1の単語に対応することができ、第1の単語についての安定性値を含み、アレイ位置2は、翻訳済み部分トランスクリプション内の第2の単語に対応することができ、第2の単語についての安定性値を含み、以下同様である。
【0091】
次いで、トランスレータ比較器702は、最初の不安定な単語が識別されるまでの翻訳済み部分トランスクリプション内の安定した単語の数をカウントすることによって、翻訳済み部分トランスクリプションについての安定性値を決定する。これは、アレイ内の第1の位置から始めて、最初の「0」(または不安定な単語を表す別の値)に遭遇するまでの「1」(または安定した単語を表す別の適切な値)の数をカウントすることによって、決定される。
【0092】
翻訳済み部分トランスクリプションについての算出された安定性値を使用して、リアルタイムトランスレータ204は、翻訳済み部分トランスクリプションの一部分を表示のために提供する。いくつかの実装形態では、トランスレータ比較器702は、安定性値を出力し、この値ならびに対応する翻訳済み部分トランスクリプションをディスプレイエンジン214に提供する。ディスプレイエンジン214は、安定性値が安定していると予想/予測されるものとして識別する翻訳済み部分トランスクリプションの一部分のみを表示のために提供するために、翻訳済み部分トランスクリプションおよび対応する安定性値を使用する。たとえば、(1)翻訳済み部分トランスクリプションが10個の単語を含み、(2)安定性値が、翻訳済み部分トランスクリプションの最初の5つの単語が安定していることを示す5である場合、ディスプレイエンジン214は、翻訳済み部分トランスクリプションの最初の5つの単語のみを表示のために提供する。
【0093】
したがって、
図7を参照しながら説明された安定性値を算出するための技法は、
図2~
図6を参照しながら説明された手法を構築する翻訳安定性モデル212とは異なる。一般に、翻訳安定性モデル212は、将来の結果からできるだけ少なく逸脱することを目的として、現在のシーケンスを将来の部分的な結果と比較することによって安定性予測を構築する。対照的に、
図7を参照しながら説明されたアルゴリズムは、過去からできるだけ少なく逸脱することを目的として、過去の翻訳済み部分トランスクリプションを使用する。さらに、
図7を参照しながら説明されたアルゴリズムはいかなるモデル訓練および開発も必要としないので、これは
図2~
図6を参照しながら説明されたモデルベースの技法よりもコンピューティングリソース効率が良い。
【0094】
図8は、上記で説明された動作を実行するために使用され得る、例示的なコンピュータシステム800のブロック図である。システム800は、プロセッサ810、メモリ820、記憶デバイス830、および入力/出力デバイス840を含む。構成要素810、820、830、および840の各々は、たとえば、システムバス850を使用して、相互接続され得る。プロセッサ810は、システム800内で実行するための命令を処理することが可能である。いくつかの実装形態では、プロセッサ810はシングルスレッドプロセッサである。別の実装形態では、プロセッサ810はマルチスレッドプロセッサである。プロセッサ810は、メモリ820にまたは記憶デバイス830上に記憶された命令を処理することが可能である。
【0095】
メモリ820は、システム400内に情報を記憶する。一実装形態では、メモリ820はコンピュータ可読媒体である。いくつかの実装形態では、メモリ820は揮発性メモリユニットである。別の実装形態では、メモリ820は不揮発性メモリユニットである。
【0096】
記憶デバイス830は、システム800のための大容量ストレージを提供することが可能である。いくつかの実装形態では、記憶デバイス830はコンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス830は、たとえば、ハードディスクデバイス、光ディスクデバイス、複数のコンピューティングデバイスによってネットワークを介して共有される記憶デバイス(たとえば、クラウド記憶デバイス)、または何らかの他の大容量記憶デバイスを含むことができる。
【0097】
入力/出力デバイス840は、システム400のための入力/出力動作を提供する。いくつかの実装形態では、入力/出力デバイス840は、ネットワークインターフェースデバイス、たとえば、イーサネットカード、シリアル通信デバイス、たとえば、RS-232ポート、および/またはワイヤレスインターフェースデバイス、たとえば、802.11カードのうちの1つまたは複数を含むことができる。別の実装形態では、入力/出力デバイスは、入力データを受信し、出力データを他の入力/出力デバイス、たとえば、キーボード、プリンタおよびディスプレイデバイス860に送るように構成されたドライバデバイスを含むことができる。しかしながら、モバイルコンピューティングデバイス、モバイル通信デバイス、セットトップボックステレビジョンクライアントデバイスなどの他の実装形態も使用され得る。
【0098】
例示的な処理システムが
図8で説明されてきたが、本明細書で説明される主題および機能的動作の実装形態は、他のタイプのデジタル電子回路において、または本明細書で開示される構造およびそれらの構造的均等物を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらのうちの1つもしくは複数の組合せにおいて実装され得る。
【0099】
本明細書で説明される主題および動作の実施形態は、デジタル電子回路において、または本明細書で開示される構造およびそれらの構造的均等物を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらのうちの1つもしくは複数の組合せにおいて実装され得る。本明細書で説明される主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために、(1つまたは複数の)コンピュータ記憶媒体上で符号化された、コンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替的に、または追加として、プログラム命令は、データ処理装置による実行のために、好適な受信機装置への送信のために情報を符号化するために生成された、人工的に生成された伝搬信号、たとえば、機械で生成された電気信号、光信号、または電磁信号上で符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらのうちの1つもしくは複数の組合せであり得るか、またはそれらに含まれ得る。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号において符号化されたコンピュータプログラム命令のソースまたは宛先であり得る。コンピュータ記憶媒体はまた、1つもしくは複数の別個の物理構成要素もしくは媒体(たとえば、複数のCD、ディスク、もしくは他の記憶デバイス)であり得るか、またはそれらに含まれ得る。
【0100】
本明細書で説明される動作は、1つもしくは複数のコンピュータ可読記憶デバイス上に記憶されたまたは他のソースから受信されたデータに対してデータ処理装置によって実行される動作として実装され得る。
【0101】
「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、もしくは上記の複数のもの、または上記の組合せを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置は、ハードウェアに加えて、当該のコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つもしくは複数の組合せを構成するコードも含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングインフラストラクチャおよびグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
【0102】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)は、コンパイル型言語またはインタプリタ型言語、宣言型言語または手続き型言語を含む任意の形態のプログラミング言語で書かれ得、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、オブジェクト、もしくはコンピューティング環境において使用するのに好適な他のユニットとしてを含む任意の形態で展開され得る。コンピュータプログラムは、ファイルシステムにおけるファイルに対応し得るが、そうである必要はない。プログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語文書に記憶された1つもしくは複数のスクリプト)を保持するファイルの一部分に、当該のプログラム専用の単一のファイルに、または複数の協調ファイル(たとえば、1つもしくは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または、1つのサイトに配置されるかもしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開され得る。
【0103】
本明細書で説明されるプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによってアクションを実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても実行され得、装置は、それらとしても実装され得る。
【0104】
コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方を含む。一般に、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令に従ってアクションを実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むか、あるいは、それらからデータを受信することもしくはそれらにデータを転送することまたはその両方を行うために動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、ほんの数例を挙げると、別のデバイス、たとえば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に埋め込まれ得る。コンピュータプログラム命令およびデータを記憶するのに好適なデバイスは、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完され得るか、または専用論理回路に組み込まれ得る。
【0105】
ユーザとの対話を提供するために、本明細書で説明される主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、それによってユーザが入力をコンピュータに提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上で実装され得る。他の種類のデバイスも、ユーザとの対話を提供するために使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。加えて、コンピュータは、文書をユーザによって使用されるデバイスに送り、文書をそのデバイスから受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答してウェブページをそのウェブブラウザに送ることによって、ユーザと対話することができる。
【0106】
本明細書で説明される主題の実施形態は、たとえば、データサーバとして、バックエンド構成要素を含むか、またはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、それを通じてユーザが本明細書で説明される主題の一実装形態と対話することができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含む、コンピューティングシステムにおいて実装され得る。システムの構成要素は、デジタルデータ通信の任意の形態または媒体、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
【0107】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いから離れており、典型的には、通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で動作し、互いに対してクライアント-サーバ関係を有する、コンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、(たとえば、クライアントデバイスと対話するユーザにデータを表示し、そのユーザからユーザ入力を受信する目的で)データ(たとえば、HTMLページ)をクライアントデバイスに送信する。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)は、サーバにおいてクライアントデバイスから受信され得る。
【0108】
本明細書は多くの特定の実装形態の詳細を含んでいるが、これらは任意の発明の範囲または特許請求され得るものの範囲に対する限定として解釈されるべきではなく、むしろ特定の発明の特定の実施形態に固有の特徴の説明として解釈されるべきである。別個の実施形態の文脈で本明細書で説明されるいくつかの特徴はまた、単一の実施形態において組み合わせて実装され得る。逆に、単一の実施形態の文脈で説明される様々な特徴はまた、複数の実施形態において別々に、または任意の好適な部分組合せにおいて実装され得る。さらに、特徴はいくつかの組合せにおいて働くものとして上記で説明され、そのようなものとして最初に特許請求されることさえあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除されることがあり、特許請求される組合せは、部分組合せまたは部分組合せの変形形態を対象とする場合がある。
【0109】
同様に、動作は、特定の順序で図面に示されているが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序でもしくは逐次的な順序で実行されること、またはすべての示された動作が実行されることを必要とするものと理解されるべきではない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。さらに、上記で説明された実施形態における様々なシステム構成要素の分離は、すべての実施形態においてそのような分離を必要とするものと理解されるべきではなく、説明されるプログラム構成要素およびシステムは一般に、単一のソフトウェア製品に一緒に統合され得るか、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
【0110】
以上、主題の特定の実施形態が説明されてきた。他の実施形態は、以下の特許請求の範囲内にある。場合によっては、特許請求の範囲に列挙されるアクションは、異なる順序で実行される場合があるが、依然として望ましい結果を達成することができる。加えて、添付の図に示されるプロセスは、望ましい結果を達成するために、必ずしも示された特定の順序または逐次的な順序を必要とするとは限らない。いくつかの実装形態では、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【0111】
102 クライアントデバイス
108 ネットワーク
200 環境
202 入力オーディオストリーム、オーディオストリーム
204 リアルタイムトランスレータ
206 言語検出器
208 トランスクライバ
208-1~208-N 部分トランスクリプションTR1~TRN
208-1 部分トランスクリプションTR1
208-2 部分トランスクリプションTR2
208-N 部分トランスクリプションTRN
210 トランスレータ
210-1~210-N 翻訳済み部分トランスクリプションL1~LN
210-1 翻訳済み部分トランスクリプションL1
210-2 翻訳済み部分トランスクリプションL2
210-3 翻訳済み部分トランスクリプションL3
210-4 翻訳済み部分トランスクリプションL4
210-N 翻訳済み部分トランスクリプションLN
212 翻訳安定性モデル、モデル
214 ディスプレイエンジン
300 プロセス
400 システム
402 翻訳済み部分トランスクリプション
404 安定性値
500 環境
504 安定性メトリック生成器
600 プロセス
700 環境
702 トランスレータ比較器
800 コンピュータシステム、システム
810 構成要素、プロセッサ
820 構成要素、メモリ
830 構成要素、記憶デバイス
840 構成要素、入力/出力デバイス
850 システムバス
860 入力/出力デバイス
T0、T1、T2、TN 時間
T1~TN 時間間隔