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

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

▶ グーグル インコーポレイテッドの特許一覧

<>
  • 特表-多言語文法誤り訂正 図1
  • 特表-多言語文法誤り訂正 図2A
  • 特表-多言語文法誤り訂正 図2B
  • 特表-多言語文法誤り訂正 図2C
  • 特表-多言語文法誤り訂正 図3
  • 特表-多言語文法誤り訂正 図4
  • 特表-多言語文法誤り訂正 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-10
(54)【発明の名称】多言語文法誤り訂正
(51)【国際特許分類】
   G06F 40/253 20200101AFI20240703BHJP
   G06F 40/216 20200101ALI20240703BHJP
【FI】
G06F40/253
G06F40/216
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023577753
(86)(22)【出願日】2022-06-15
(85)【翻訳文提出日】2024-01-30
(86)【国際出願番号】 US2022072965
(87)【国際公開番号】W WO2022266642
(87)【国際公開日】2022-12-22
(31)【優先権主張番号】17/304,202
(32)【優先日】2021-06-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】セバスチャン・クラウス
(72)【発明者】
【氏名】サッシャ・ローテ
(72)【発明者】
【氏名】ジョナサン・マリンソン
(72)【発明者】
【氏名】エリック・マルミ
(72)【発明者】
【氏名】アリアクセイ・セヴェリン
(57)【要約】
文法誤り訂正(GEC)のためにテキスト生成モデル(122)を訓練する方法(400)が、テキストサンプル(212)の多言語セット(210)を取得するステップを含む。各テキストサンプルは、それぞれの文の単一言語のテキスト表現を含む。動作はまた、テキストサンプルの多言語セットの各テキストサンプルに対して、それぞれのテキストサンプルの改変された合成バージョン(222)を生成することを含み、それぞれのテキストサンプルの改変された合成バージョンは、それぞれのテキストサンプルに関連するそれぞれの文の単一言語のテキスト表現への文法的変更を含む。動作はさらに、サンプルペア(232)の訓練セット(230)を使用して、テキスト生成モデルを訓練することを含む。各サンプルペアは、テキストサンプルの多言語セットのそれぞれのテキストサンプルの1つと、テキストサンプルの多言語セットのそれぞれのテキストサンプルのその1つの対応する改変された合成バージョンとを含む。
【特許請求の範囲】
【請求項1】
文法誤り訂正(GEC)のためにテキスト生成モデル(122)を訓練するコンピュータ実装方法(400)であって、データ処理ハードウェア(144)によって実行されると、前記データ処理ハードウェア(144)に、
テキストサンプル(212)の多言語セット(210)を取得するステップであって、各テキストサンプル(212)が、それぞれの文の単一言語のテキスト表現を含む、取得するステップと、
テキストサンプル(212)の前記多言語セット(210)の各テキストサンプル(212)に対して、それぞれのテキストサンプル(212)の改変された合成バージョン(222)を生成するステップであって、前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)が、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文の前記単一言語のテキスト表現への文法的変更を含む、生成するステップと、
サンプルペア(232)の訓練セット(230)を使用して前記テキスト生成モデル(122)を訓練するステップであって、サンプルペア(232)の前記訓練セット(230)における各サンプルペアが、
テキストサンプル(212)の前記多言語セット(210)の前記それぞれのテキストサンプル(212)の1つと、
テキストサンプル(212)の前記多言語セット(210)の前記それぞれのテキストサンプル(212)の1つの対応する改変された合成バージョン(222)と
を含む、訓練するステップと
を含む動作を行わせる、方法(400)。
【請求項2】
前記動作が、前記テキスト生成モデル(122)を訓練した後、教師あり訓練データを使用して、前記訓練されたテキスト生成モデル(122)を微調整するステップをさらに含み、前記教師あり訓練データが、非合成のテキストペア(312)を含み、各非合成のテキストペア(312)が文法的に正しくないテキストサンプル(316)と、前記文法的に正しくないテキストサンプルの文法的に正しいテキストバージョン(314)とを含む、請求項1に記載の方法(400)。
【請求項3】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文から2つ以上の文字を取り除くステップを含む、請求項1または2に記載の方法(400)。
【請求項4】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文からの第1のセットの文字を、前記第1のセットの文字とは異なる第2のセットの文字と置き換えるステップを含む、請求項1から3のいずれか一項に記載の方法(400)。
【請求項5】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文に1つまたは複数の文字を挿入するステップを含む、請求項1から4のいずれか一項に記載の方法(400)。
【請求項6】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文の単語の文字について文字の大文字・小文字を変えるステップを含む、請求項1から5のいずれか一項に記載の方法(400)。
【請求項7】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文に改変動作をランダムに適用するステップを含み、前記改変動作が、
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文から2つ以上の文字を取り除くステップ、
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文からの第1のセットの文字を、前記第1のセットの文字とは異なる第2のセットの文字と置き換えるステップ、
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文に1つもしくは複数の文字を挿入するステップ、または
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文の単語の文字の大文字・小文字を変えるステップ
のうちの少なくとも1つを含み、
各改変された合成バージョン(222)が、前記テキストサンプル(212)の他の改変された合成バージョン(222)に対して一意である、請求項1から6のいずれか一項に記載の方法(400)。
【請求項8】
前記テキスト生成モデル(122)が、トランスフォーマのエンコーダ-デコーダのアーキテクチャを含む、請求項1から7のいずれか一項に記載の方法(400)。
【請求項9】
前記動作が、マスク言語の目的に基づく多言語訓練コーパス(210)を用いて前記テキスト生成モデル(122)を事前訓練するステップをさらに含む、請求項1から8のいずれか一項に記載の方法(400)。
【請求項10】
GECのために前記テキスト生成モデル(122)を訓練した後、前記訓練されたテキスト生成モデル(122)が、
入力として、文法の誤りを含む第1の言語の第1の入力テキスト(126)を受け取り、出力として、前記文法の誤りを訂正する前記第1の言語の第1の出力テキスト(128)を生成することと、
入力として、文法の誤りを含む異なる第2の言語の第2の入力テキスト(126)を受け取り、前記訓練されたテキスト生成モデル(122)からの出力として、前記文法の誤りを訂正する前記第2の言語の第2の出力テキスト(128)を生成することと
を行うように構成される、請求項1から9のいずれか一項に記載の方法(400)。
【請求項11】
データ処理ハードウェア(144)と、
前記データ処理ハードウェア(144)と通信しているメモリハードウェア(146)であって、前記データ処理ハードウェア(144)上で実行されると、前記データ処理ハードウェア(144)に、
テキストサンプル(212)の多言語セット(210)を取得するステップであって、各テキストサンプル(212)が、それぞれの文の単一言語のテキスト表現を含む、取得するステップと、
テキストサンプル(212)の前記多言語セット(210)の各テキストサンプル(212)に対して、それぞれのテキストサンプル(212)の改変された合成バージョン(222)を生成するステップであって、前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)が、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文の前記単一言語のテキスト表現への文法的変更を含む、生成するステップと、
サンプルペア(232)の訓練セット(230)を使用してテキスト生成モデル(122)を訓練するステップであって、サンプルペア(232)の前記訓練セット(230)における各サンプルペア(232)が、
テキストサンプル(212)の前記多言語セット(210)の前記それぞれのテキストサンプル(212)の1つと、
テキストサンプル(212)の前記多言語セット(210)の前記それぞれのテキストサンプル(212)の1つの対応する改変された合成バージョン(222)と
を含む、訓練するステップと
を含む動作を行わせる命令を記憶した、前記メモリハードウェア(146)と
を備える、システム(100)。
【請求項12】
前記動作が、前記テキスト生成モデル(122)を訓練した後、教師あり訓練データを使用して、前記訓練されたテキスト生成モデル(122)を微調整するステップをさらに含み、前記教師あり訓練データが、非合成のテキストペア(312)を含み、各非合成のテキストペア(312)が文法的に正しくないテキストサンプル(316)と、前記文法的に正しくないテキストサンプル(316)の文法的に正しいテキストバージョン(314)とを含む、請求項11に記載のシステム(100)。
【請求項13】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文から2つ以上の文字を取り除くステップを含む、請求項11または12に記載のシステム(100)。
【請求項14】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文からの第1のセットの文字を、前記第1のセットの文字とは異なる第2のセットの文字と置き換えるステップを含む、請求項11から13のいずれか一項に記載のシステム(100)。
【請求項15】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文に1つまたは複数の文字を挿入するステップを含む、請求項11から14のいずれか一項に記載のシステム(100)。
【請求項16】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文の単語の文字について文字の大文字・小文字を変えるステップを含む、請求項11から15のいずれか一項に記載のシステム(100)。
【請求項17】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文に改変動作をランダムに適用するステップを含み、前記改変動作が、
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文から2つ以上の文字を取り除くステップ、
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文からの第1のセットの文字を、前記第1のセットの文字とは異なる第2のセットの文字と置き換えるステップ、
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文に1つもしくは複数の文字を挿入するステップ、または
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文の単語の文字の大文字・小文字を変えるステップ
のうちの少なくとも1つを含み、
各改変された合成バージョン(222)が、前記テキストサンプル(212)の他の改変された合成バージョン(222)に対して一意である、請求項11から16のいずれか一項に記載のシステム(100)。
【請求項18】
前記テキスト生成モデル(122)が、トランスフォーマのエンコーダ-デコーダのアーキテクチャを含む、請求項11から17のいずれか一項に記載のシステム(100)。
【請求項19】
前記動作が、マスク言語の目的に基づく多言語訓練コーパス(210)を用いて前記テキスト生成モデル(122)を事前訓練するステップをさらに含む、請求項11から18のいずれか一項に記載のシステム(100)。
【請求項20】
GECのために前記テキスト生成モデル(122)を訓練した後、前記訓練されたテキスト生成モデル(122)が、
入力として、文法の誤りを含む第1の言語の第1の入力テキスト(126)を受け取り、出力として、前記文法の誤りを訂正する前記第1の言語の第1の出力テキスト(128)を生成することと、
入力として、文法の誤りを含む異なる第2の言語の第2の入力テキスト(126)を受け取り、前記訓練されたテキスト生成モデル(122)からの出力として、前記文法の誤りを訂正する前記第2の言語の第2の出力テキスト(124)を生成することと
を行うように構成される、請求項11から19のいずれか一項に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、多言語文法誤り訂正に関する。
【背景技術】
【0002】
ユーザ生成のテキストが、コンピューティングデバイスを使用した人間とコンピュータの対話および人間と人間の対話において重要な役割を果たし続けるとき、ユーザ生成のテキストが文法的に正確であることを保証する自然言語生成(NLG)システムの能力は、コミュニケーションの重要な面であり得る。たとえば、文法的に正確なテキストが、読みやすさを可能にし、潜在的な誤通信または誤解を回避し得る。すなわち、文法の誤りは、コミュニケーションの意味を変える可能性があり、またはテキストの意味に関してある程度の混乱につながる可能性がある。従来の文法誤り訂正技法は、テキストにおける文法問題に対処しようと試みるが、そのような技法はしばしば、訓練データに伴う問題(たとえば、訓練データの不足、訓練データのラベル精度、および/または訓練データについての誤り分布におけるバイアスの欠如)を抱え、文法誤り訂正モデルを能力の限られたものにしている。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様は、文法誤り訂正(GEC)のためにテキスト生成モデルを訓練するコンピュータ実装方法を提供する。この方法は、データ処理ハードウェアによって実行されると、データ処理ハードウェアに動作を行わせる。動作は、テキストサンプルの多言語セットを取得することを含み、各テキストサンプルは、それぞれの文の単一言語のテキスト表現を含む。動作はまた、テキストサンプルの多言語セットの各テキストサンプルに対して、それぞれのテキストサンプルの改変された合成バージョンを生成することを含み、それぞれのテキストサンプルの改変された合成バージョンは、それぞれのテキストサンプルに関連するそれぞれの文の単一言語のテキスト表現への文法的変更を含む。動作はさらに、サンプルペアの訓練セットを使用して、テキスト生成モデルを訓練することを含む。サンプルペアの訓練セットにおける各サンプルペアは、テキストサンプルの多言語セットのそれぞれのテキストサンプルの1つと、テキストサンプルの多言語セットのそれぞれのテキストサンプルのその1つの対応する改変された合成バージョンとを含む。
【0004】
本開示の別の態様は、文法誤り訂正(GEC)のためにテキスト生成モデルを訓練するシステムを提供する。このシステムは、データ処理ハードウェアと、データ処理ハードウェアと通信しているメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を行わせる命令を記憶する。動作は、テキストサンプルの多言語セットを取得することを含み、各テキストサンプルは、それぞれの文の単一言語のテキスト表現を含む。動作はまた、テキストサンプルの多言語セットの各テキストサンプルに対して、それぞれのテキストサンプルの改変された合成バージョンを生成することを含み、それぞれのテキストサンプルの改変された合成バージョンは、それぞれのテキストサンプルに関連するそれぞれの文の単一言語のテキスト表現への文法的変更を含む。動作はさらに、サンプルペアの訓練セットを使用して、テキスト生成モデルを訓練することを含む。サンプルペアの訓練セットにおける各サンプルペアは、テキストサンプルの多言語セットのそれぞれのテキストサンプルの1つと、テキストサンプルの多言語セットのそれぞれのテキストサンプルのその1つの対応する改変された合成バージョンとを含む。
【0005】
本開示の方法またはシステムの実装形態は、以下の任意の特徴のうち1つまたは複数を含んでもよい。いくつかの実装形態では、動作は、テキスト生成モデルを訓練した後、教師あり訓練データを使用して、訓練されたテキスト生成モデルを微調整することをさらに含み、教師あり訓練データは、非合成のテキストペアを含み、各非合成のテキストペアが文法的に正しくないテキストサンプルと、文法的に正しくないテキストサンプルの文法的に正しいテキストバージョンとを含んでいる。いくつかの例では、それぞれのテキストサンプルの改変された合成バージョンを生成することは、それぞれのテキストサンプルに関連するそれぞれの文から2つ以上の文字を取り除くことを含む。いくつかの構成では、それぞれのテキストサンプルの改変された合成バージョンを生成することは、それぞれのテキストサンプルに関連するそれぞれの文からの第1のセットの文字を、第1のセットの文字とは異なる第2のセットの文字と置き換えることを含む。いくつかの実装形態では、それぞれのテキストサンプルの改変された合成バージョンを生成することは、それぞれのテキストサンプルに関連するそれぞれの文に1つまたは複数の文字を挿入することを含む。場合によっては、それぞれのテキストサンプルの改変された合成バージョンを生成することは、それぞれのテキストサンプルに関連するそれぞれの文の単語の文字について文字の大文字・小文字(character-case)を変えることを含む。テキスト生成モデルは、トランスフォーマ(transformer)のエンコーダ-デコーダ(encoder-decoder)のアーキテクチャを含んでもよい。動作は、マスク言語の目的(masked-language objective)に基づく多言語訓練コーパスを用いてテキスト生成モデルを事前訓練することをさらに含んでもよい。
【0006】
本開示の方法またはシステムのこれらの実装形態はまた、それぞれのテキストサンプルに関連するそれぞれの文に改変動作をランダムに適用することによって、それぞれのテキストサンプルの改変された合成バージョンを生成することを含んでもよく、各改変された合成バージョンは、テキストサンプルの他の改変された合成バージョンに対して一意である。改変動作は、それぞれのテキストサンプルに関連するそれぞれの文から2つ以上の文字を取り除くこと、またはそれぞれのテキストサンプルに関連するそれぞれの文からの第1のセットの文字を、第1のセットの文字とは異なる第2のセットの文字と置き換えること、またはそれぞれのテキストサンプルに関連するそれぞれの文に1つもしくは複数の文字を挿入すること、またはそれぞれのテキストサンプルに関連するそれぞれの文の単語の文字の大文字・小文字を変えることのうちの少なくとも1つを含んでもよい。本開示の動作はまた、(i)訓練されたテキスト生成モデルへの入力として、文法の誤りを含む第1の言語の第1の入力テキストを受け取り、訓練されたテキスト生成モデルからの出力として、文法の誤りを訂正する第1の言語の第1の出力テキストを生成することと、(ii)訓練されたテキスト生成モデルへの入力として、文法の誤りを含む異なる第2の言語の第2の入力テキストを受け取り、訓練されたテキスト生成モデルからの出力として、文法の誤りを訂正する第2の言語の第2の出力テキストを生成することとによって、推論中にGECのための訓練されたテキスト生成モデルを使用することを含んでもよい。
【0007】
本開示の1つまたは複数の実装形態の詳細について、添付の図面および以下の説明に示す。他の態様、特徴、および利点は、説明および図面、ならびに特許請求の範囲から明らかとなるであろう。
【図面の簡単な説明】
【0008】
図1】文法誤り訂正モデルを使用した例示的なテキスト訂正環境の概略図である。
図2A】文法誤り訂正モデル用の訓練プロセスの概略図である。
図2B】文法誤り訂正モデル用の訓練プロセスの概略図である。
図2C】文法誤り訂正モデル用の訓練プロセスの概略図である。
図3】文法誤り訂正モデル用の微調整プロセスの概略図である。
図4】文法誤り訂正のためにテキスト生成モデルを訓練する方法のための動作の例示的な配列のフローチャートである。
図5】本明細書で説明するシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0009】
様々な図面における同じ参照符号は、同じ要素を示す。
【0010】
自然言語処理(NLP)は、一般にコンピューティング技術を使用して自然な人間の言語を理解することを指す。NLPは、ユーザデバイスまたはコンピューティングデバイスが発話またはテキストなどの自然な人間の言語の形式を自動的に処理することを可能にする。もう1つの特定のタイプの自然言語処理は、自然言語生成(NLG)と呼ばれるものである。NLGは広く、人間の言語のテキスト表現(すなわち、テキスト)を生成するプロセスに関係する。NLGは、文法誤り訂正(GEC)など、幅広いテキスト生成タスクを含み得る。テキストは、コンピューティングデバイスの使用においてますます普及しているので、文法の誤りまたは他のテキスト関連の誤りを訂正するタスクを指すGECの需要がより大きくなっている。たとえば、テキストメッセージが通話よりも広く使用されるようになった時代においては、GECがユーザ生成のテキストの読みやすさを向上させる可能性がある。さらに、GECの改善は、非ネイティブスピーカー、子供、または何らかのタイプの障がいをもつ個人など、文法問題に直面する人々を支援する可能性もある。
【0011】
従来、GECのタスクは、単一言語のテキストからテキストへの書き直しと見なされてきた。テキストからテキストへの書き直しを行うためには、テキスト生成モデルがしばしば、ニューラルネットワークアーキテクチャを採用することになる。これらのニューラルネットワークアーキテクチャは一般に、かなり大きい訓練データセットを要する。しかもかなり大きい訓練データセットを必要とすることが、複数の言語にわたって問題になることがある。たとえば、英語または日本語などの普及している言語には大量の訓練データが存在するが、他の言語は訓練データの不足に悩まされる。あまり普及していない言語は、GECを行うことができるニューラルネットワークテキスト生成モデルを訓練するには不適当な量の訓練データを有する傾向があることを意味する。したがって、複数の言語を含む訓練データセットがあるが、これらの訓練データセットさえ非常に偏る傾向があり、これらのデータセットにおける訓練サンプルの分布は、より普及した言語に有利に働き、他の言語を過少に評価する。たとえば、1つの一般的な訓練コーパスは、80を超える言語を含むが、これらの言語のうちのわずか10が、1万より多い訓練サンプル(たとえば、1万の文法的に正しくない-文法的に正しいサンプルペア)を含む。これを視野に入れると、この一般的な訓練コーパスの、英語および日本語のような最も普及している言語は、百万を超える訓練サンプルペアを有する。この固有の言語バイアスがあると、この訓練データを使用してGECのために訓練される任意のテキスト生成モデルは、多くの言語(たとえば、普及していない言語)に対して最適ではなく機能する恐れがある。
【0012】
GECを行うための好適な訓練データの量が限られているために、合成訓練データを補うまたは使用する努力があった。合成データは、人間が生成したものではなく、(たとえば、機械モデルからの)機械が生成したものであるデータを指す。残念ながら、合成訓練データによって教示されたモデルは、支障がないわけではない。たとえば、GEC精度を向上させるために、GECのタスクのためのモデルを微調整することが示されているが、それはしばしば、言語特有の調整を(たとえば、言語特有のハイパーパラメータおよびスペリング辞書とともに)必要とし、かつ/または訓練評価セットについての完全な誤り分布を表すのが困難である。これらの問題に起因して、一般にGECのための最終モデルは、微調整段階ごとに特定の学習率および訓練ステップを要求する多段微調整プロセスを経ることになる。
【0013】
GECを行うようにモデルに教示することに伴うこれらの問題のいくつかに対処するために、本明細書の実装形態は、一般にラベル付きデータに含まれる訂正を模倣する、完全に教師なしの、言語にとらわれない事前訓練の目的を適用する事前訓練手法を対象としている。事前訓練手法は、事前訓練に使用される訓練データが、それら自体の合成の文法的に正しくないテキストバージョンと対にされた文法的に正しいテキストサンプル(たとえば、文法的に正しい文)から生じるので、教師なしである。事前訓練プロセスのための訓練サンプルペアが、自動的に改変された(すなわち、改変動作によって文法的に正しくないように文法的に変えられた)それ自体のバージョンとともに、文法的に正しいテキストサンプルを含むことを意味する。ここでは、機械がこの改変されたバージョンを生成するので、改変されたバージョンは合成であり、人間が作成したものではない。コンテキストに合わせて、従来、文法的に正しくないテキストサンプルが、文法的に正しくないテキストサンプルの文法的に正しいバージョンであるラベルと対にされることは事実である。代わりにもともとは文法的に正しかったテキストのサンプルを合成的に改変させることによって、訓練サンプルペアは、明示的ラベル(たとえば、文法的訂正を識別するラベル)を必要としない。
【0014】
文法的に正しいテキストサンプルに基づいて訓練サンプルペア用の合成訓練テキストサンプルを生成するプロセスもまた、言語にとらわれない。ここでは、改変技法は言語特有ではないので、目的は、言語にとらわれない。すなわち、技法は、文法的に正しいテキストサンプルの基となる言語に焦点を当てることなく、各文法的に正しいテキストサンプルを変更する。たとえば、文法的に正しいサンプルにおいて一連の文字またはトークンを変えることは、特定の言語寄りのいかなるバイアスも導入しない。加えて、この技法はまた、いくつかの点において、ある言語に特有であることがある特定のタイプのあらゆる文法的誤りに対するバイアスを防ぐことを目標としている。たとえば、改変動作が、英語では一般的な文法の誤りである、「i」の前の「e」を変えた場合、GECを行うモデルは、本質的にバイアスのあるものになって、多言語の誤りをより広くではなく、英語の文法の誤りを識別するように学習する可能性がある。特定の言語に特有ではない改変動作および技法を使用することによって、改変プロセスは、テキスト生成モデルに何らかの形態の言語訂正バイアスを教示することを防ぎ得る。さらに、合成訓練データを生成し得る以前の手法とは異なり、合成事前訓練プロセスは、言語特有の事前分布(prior)を採用することなく、訓練データセット内のすべての言語に関して単一モデルを訓練することによって、依然として完全に言語にとらわれないものである。
【0015】
いくつかの例では、GECのためにテキスト生成モデルを事前訓練した後、テキスト生成モデルは、GECモデルと見なされる。ここでは、GECモデルは、推論に先立って微調整プロセスを経てもよい。この微調整プロセスにおいて、GECモデルは、教師ありGEC訓練データを受け取る。いくつかの実装形態では、GEC訓練データは、言語特有である。他の実装形態では、GEC訓練データは、適切なラベルとともに利用可能である、非合成のまたは人間が作成したテキストサンプルに対応する。すなわち、GEC訓練データは、人間が作成したテキストサンプルであり、各訓練例は、文法的に正しくない-文法的に正しいサンプルペアである。
【0016】
図1は、テキスト訂正環境100の一例である。テキスト訂正環境100では、ユーザ10が、別の人物とテキスト会話をするためにユーザデバイス110を動作させる。たとえば、図1は、携帯電話としてユーザデバイス110を示し、ユーザ10は、キーボード(たとえば、タッチ入力キーボード)にテキストを入力する。ユーザデバイス110(一般的にはデバイス110とも呼ばれる)は、ユーザ10に関連し、テキスト126を生成することができる任意のコンピューティングデバイスに対応し得る。ユーザデバイス110のいくつかの例は、限定はしないが、モバイルデバイス(たとえば、携帯電話、タブレット、ラップトップなど)、コンピュータ、ウェアラブルデバイス(たとえば、スマートウォッチ)、スマート家電、モノのインターネット(IoT)デバイス、スマートスピーカーなどを含む。ユーザデバイス110は、データ処理ハードウェア112と、データ処理ハードウェア112と通信していて、命令を記憶するメモリハードウェア114とを含み、命令は、データ処理ハードウェア112によって実行されると、データ処理ハードウェア112に1つまたは複数の動作(たとえば、テキスト生成またはテキスト訂正に関係する動作)を行わせる。ユーザデバイス110はまた、音声対応システム100内の話されたことばを取り込み、電気信号に変換するためのオーディオキャプチャデバイス(たとえば、マイクロフォン)116、116aと、可聴オーディオ信号を(たとえば、デバイス110からの出力オーディオデータとして)通信するための音声出力デバイス(たとえば、スピーカー)116、116bとを備えるオーディオサブシステム116を含み得る。(たとえば、ハードウェア112、114を使用する)ユーザデバイス110は、NLGシステム120の文法誤り訂正(GEC)モデル124を使用して、ユーザ10によって入力されたテキストシーケンス126上でGECを行うようにさらに構成される。
【0017】
NLGシステム120は、様々な機能またはタスクのためのテキスト(たとえば、ユーザ生成のテキスト126)を処理することができる自然言語生成システムを指す。ここでは、NLGシステム120は、テキスト生成モデル122を含む。テキスト生成モデル122は、特定の言語タスクについてさらに訓練され得る柔軟なNLPフレームワークを有するモデルである。いくつかの例では、テキスト生成モデル122は、転移学習(transfer learning)によって教示されたモデルである。たとえば、テキスト生成モデル122は、自己教師ありタスク(すなわち、データが豊富なタスク)を用いて利用可能なラベルのないテキストデータについて事前訓練される。いくつかの実装形態では、テキスト生成モデル122は、多くの特定のNLGタスクに合わせてさらに微調整され得るトランスフォーマのエンコーダ-デコーダのモデルである。より詳細には、テキスト生成モデル122は、テキストベースの言語問題をテキストからテキストへのフォーマットに変換する、統合フレームワークをもつテキストからテキストへの転移トランスフォーマ(text-to-text transfer transformer:T5)であってもよい。テキストからテキストへのフレームワークを使用することによって、それの損失関数およびハイパーパラメータとともにテキスト生成モデル122は、機械翻訳、文書要約、質問応答、分類タスク、GECタスクなど、(すべてではないとしても)多くのNLPタスクに適合し得る。さらに、テキスト生成モデル122は、事前訓練されるとき、事前訓練コーパスは、複数の言語を含んでもよく、テキスト生成モデル122の下流のタスク特有のバージョンが、潜在的に同様に多言語モデルであることを可能にする。たとえば、1つの共通の事前訓練コーパスが、100を超える言語を含む。
【0018】
いくつかの例では、テキスト生成モデル122のための事前訓練プロセスは、マスク言語の目的(たとえば、スパン予測タスク)のいくつかのバージョンに基づいている。テキスト生成モデル122を事前訓練した後に、テキスト生成モデル122は、GECを行うことが可能になるように(たとえば、訓練プロセス200および微調整プロセス300によって)さらに訓練される。ここで、テキスト生成モデル122がこのGEC能力を有すると、テキスト生成モデル122は、GECモデル124と呼ばれる。言い換えれば、GECモデル124は、文法誤り訂正のNLGタスクを行うためのテキスト生成モデル122の下流バージョンである。すなわち、テキスト生成モデル122は、NLPタスクの視点からかなり全能のモデルであるが、テキスト生成モデル122は一般的に、さらなるタスク特有の訓練を受けるまで、GECのような特定のNLGタスクでは正確ではない。これが意味するものは、テキスト生成モデル122は、まず全能のNLPモデルであるように事前訓練され、次いでGECモデル124になるように(たとえば、訓練プロセス200によって)訓練されるということである。以下でさらに詳細に説明するようにGECモデル124は、したがってこのさらなるGEC微調整なしである程度までGECを行い得るが、より高いGEC精度を求めて(たとえば、微調整プロセス300によって)さらに微調整され得る。
【0019】
いくつかの実装形態では、デバイス110は、ネットワーク130を介してリモートシステム140と通信する。リモートシステム140は、リモートデータ処理ハードウェア144(たとえば、リモートサーバもしくはCPU)および/またはリモートメモリハードウェア146(たとえば、リモートデータベースもしくは他のストレージハードウェア)などの、リモートリソース142を含んでもよい。デバイス110は、テキスト生成および/またはGECに関係する様々な機能を行うためにリモートリソース142を利用してもよい。たとえば、NLGシステム120の機能のいくつかは、リモートシステム140上にあってもよい。一例では、NLGシステム120は、オンデバイスのテキスト生成(たとえば、GEC)を行うためにデバイス110上にあってもよい。別の例では、NLGシステム120は、サーバ側のGECを提供するためにリモートシステム上にある。また別の例では、NLGシステム120の機能が、デバイス110およびサーバ140にわたって分割される。
【0020】
図1などのいくつかの例では、ユーザ10は、NLGシステム120、より詳細にはGECモデル124を使用するユーザデバイス110のプログラムまたはアプリケーション118と対話する。ここでは、アプリケーション118は、ショートメッセージサービス(SMS)アプリケーションまたはマルチメディアメッセージングサービス(MMS)アプリケーションなどの通信アプリケーションに対応する。ユーザ10は、テキスト126を生成するために(たとえば、ユーザ入力によって)アプリケーション118を明示的に呼び出してもよい。たとえば、図1は、ユーザ10、Tedが、別のユーザ、Janeという名前のTedの友人と通信している(たとえば、テキストメッセージを送っている)ことを示す。ここでは、Ted 10 とJaneの間のテキストメッセージの会話は、ユーザデバイス110の通信アプリケーション118によって受信/生成され得る。これらの例では、通信アプリケーション118は、GECの特定のタスクのためのGECモデル124であるようにさらに訓練されたテキスト生成モデル122を備えたNLGシステム120を使用する。ここでは、ユーザ生成テキスト126は、入力として、GECモデル124(すなわち、GECのために訓練されたテキスト生成モデル122)に送られる。この例では、ユーザ生成テキスト126は、英語であり、2つ以上の文法誤りを含む。GECモデル124は、テキスト126を受け取り、ユーザ生成テキスト126に含まれた文法の誤りを訂正する一連のテキスト(文法的に正しいテキスト128と呼ばれる)を出力(すなわち、出力テキストシーケンス)として生成する。図示した例では、ユーザ10は、「what time do you think you will leave?」と尋ねるJaneからの最初のテキストメッセージを受け取る。ユーザ10は、「well its 3pm now, and I want to run a quick errund on the way their. Im thinking 4:15」というテキスト126をタイプすることによってこの質問に応答する。ここでは、ユーザ10によるテキスト126は、テキスト126の最初の単語「well」の最初の文字を大文字にしていない。またテキスト126は、「quick」という単語を「quicke」、および「errand」という単語を「errund」とつづりを間違えている。テキスト126は、ユーザが一人称を指すとき「I」ではなく「me」を誤って使用したことを示している。テキスト126は、ユーザ10が副詞の「there」をタイプするつもりであったとき、所有格の単語「their」を誤用している。またユーザ10は、接続詞「it's」のつもりであったとき、誤って所有格「its」を使用し、接続詞「I'm」にアポストロフィを含まなかった。GECモデル124は、テキスト126とともにこれらの文法の誤りを認識し、テキスト126の訂正された形式128を出力として生成し、文法的に訂正されたテキスト128が、Janeへのテキストメッセージとして送られ得るようになる。この例では、GECモデル124の出力、訂正されたテキスト128は、「Well, it's 3pm now. And I want to run a quick errand on the way there. I'm thinking 4:15pm.」と提示する。
【0021】
図示の例は英語のテキスト126を示しているが、GECモデル124は、複数の言語の文法の誤りを訂正し得る。この例を続けると、これは、ユーザ10、Tedが、後に友人のSteveとスペイン語のテキストの会話をする可能性があり、同じGECモデル124が、Tedによって入力されたテキスト126にあるスペイン語の文法の誤りを訂正することを意味する。言い換えれば、GECモデル124は、第1の言語の第1のテキスト126の文法の誤りを訂正するために第1の出力テキスト128を生成し、また、第1の言語とは異なる第2の言語の第2のテキスト126の文法の誤りを訂正するために第2の出力テキスト128を生成し得る。多言語GECモデル124として、GECモデル124は、いくつかの言語(たとえば、2言語、10言語、80言語、または100を超える言語)のテキストの誤りを文法的に訂正し得る。
【0022】
図2A図2Cは、テキストメッセージ生成(texting-generating model)モデル122にGECを行うように教示するための訓練プロセス200を示している。訓練プロセス200がテキスト生成モデル122にGECを行うように教示すると、テキスト生成モデル122は、GECモデル124になる。言い換えれば、特定のGEC訓練なしのテキスト生成モデル122は、GECのテキスト生成タスクを行うことができない。訓練プロセス200は、GECを行うようにテキスト生成モデル122を訓練するために使用されるテキストサンプル212のコーパス210を取得する。コーパス210は一般に、テキストサンプル212の集合または多言語セットを指す。コーパス210は、各個々のテキストサンプル212は単一言語(たとえば、単一言語の文)であるが、コーパス210は2つ以上の言語からのテキストサンプル212を含むという点において、テキストサンプル212の多言語セットである。たとえば、コーパス210は、数十、または百を超える異なる言語からのテキストサンプル212を含む。
【0023】
テキストサンプル212とともに、訓練プロセス200は、テキストサンプル212の改変された合成バージョン222(改変されたテキストサンプル222または改変されたテキスト222とも呼ばれる)を生成するためにコラプタ(corrupter)220を使用する。すなわち、コラプタ220は、テキストサンプル212の機械生成バージョンを生成するように構成され、改変されたテキストバージョン222を合成テキストサンプルにする。概して、コラプタ220が改変するテキストサンプル212は、人間が生成したテキストから得られる非合成のテキストサンプルである。言い換えれば、コラプタ220は、「改変する」、すなわち文法の誤りをテキストサンプル212に取り入れるように機能する。この点において、テキストサンプル212は、コラプタ220がテキストサンプル212の改変された合成バージョン222を作り出すために文法的に変更する、文法的に正しいテキストサンプルとして機能する。たとえば、コラプタ220は、テキストサンプル212の単一言語のテキスト表現に文法的変更を加えることによってテキストサンプル212の改変された合成テキストバージョン222を形成するために、テキストサンプル212を改変する。訓練プロセス200は次いで、テキストサンプル212をそれの改変された合成テキストバージョン222と対にして、訓練サンプルペア232を形成する。すなわち、テキストサンプル212および改変された合成バージョン222は、文法的に正しい-文法的に正しくないテキストサンプルペア232を形成する。訓練プロセス200は、GECを行うようにテキスト生成モデル122を訓練するために使用されることになる訓練セット230になるように(すなわち、GECモデル124になるように)訓練サンプルペア232の集合をコンパイルする。訓練プロセス200が訓練セット230を用いてテキスト生成モデル122を訓練するとき、訓練プロセス200は、収束(すなわち、モデル122が、提供されるテキストサンプル212に収束するまたは一致するGECのための訂正されたテキスト128を出力するとき)までテキスト生成モデル122を訓練してもよい。図2A図2Cでは、「オリジナル」または「O」は、訓練サンプルペア232におけるコーパス210からのテキストサンプル212を示し、「改変」または「C」は、訓練サンプルペア232における(コラプタ220によって生成された)テキストサンプル212の改変された合成テキストバージョン222を示す。
【0024】
図2Bを参照すると、コラプタ220は、テキストサンプル212のいくつかの部分を変更する様々な改変動作を行うように構成されてもよい。たとえば、図2Bは、コラプタ220が、テキストサンプル212のいくつかの部分を取り除く、テキストサンプル212のいくつかの部分を置き換える、テキストサンプル212のいくつかのテキスト部分を挿入する、またはテキストサンプル212の単語/文構造(たとえば、句読点、および/もしくは大文字化)を変更する改変動作を行い得ることを説明する。例示的な削除動作は、1つまたは複数の文字またはいくつかのスパンのトークンを削除することであってもよい。図2Bでは、第1の改変されたテキストサンプル222、222aは、「A paragraph is a grouping of sentences」というテキストサンプル212についての「grouping」の「ro」の文字が削除されていることを示している。図2Bはまた、1つまたは複数の文字が1つまたは複数の他の文字と置き換えられるまたは交換される場合がある置換の改変動作の一例を示している。この例では、第2の改変されたテキストサンプル222、222bが、「A paragraph is a grouping of sentences」というテキストサンプル212について「sentences」という単語の「e」の文字を「a」の文字と交換している。同様に、コラプタ220は、第3の改変されたテキストサンプル222、222cを形成するために、「paragraph」の中の「ph」というトークンを「fe」と交換している。コラプタ220は、「grouping」という単語に余分な「p」を挿入することによって第4の改変されたテキストサンプル222、222dを形成するために、1つまたは複数の文字を挿入する改変動作を行う。第5の改変されたテキストサンプル222、222eは、コラプタ220がテキストサンプル212の1つまたは複数の単語における文字について大文字・小文字を変える一例である。ここで、第5の改変されたテキストサンプル222、222eにおいて、コラプタ220は、冒頭の「A」を小文字の「a」に変え、「paragraph」の「P」を大文字にした。コラプタ220は、改変されたテキストサンプル222を生成するとき、1つまたは複数の改変動作を行ってもよい。追加または代替として、改変動作は、コラプタ220が文法の誤りを取り入れるために行い得るテキストサンプル変更の網羅的リストではない。いくつかの構成では、訓練サンプルペア232の訓練セット230を生成するとき、コラプタ220は、訓練セット230の中で文法誤りの変形を確保するために様々な改変動作をランダムに適用してもよい。たとえば、各改変されたテキストサンプル222は、訓練セット230中の他の改変されたテキストサンプル222に対して一意であってもよい。
【0025】
図2Cなどのいくつかの実装形態では、訓練プロセス200は、セグメンタ240もまた含む。セグメンタ240は、テキストサンプル212を受け取り、テキストサンプル212からセグメント化されたサンプル242を生成するように構成される。セグメント化されたサンプル242は、ある長さまたは部分のテキストサンプル212を指す。すなわち、セグメント化されたサンプル242は、テキストサンプル212からの特定の量の単語または文であってもよい。この点において、セグメンタ240は、改変されるテキストサンプル212のサイズがコラプタ220に適合していること、より一般的にはテキスト生成モデル122を訓練するための許容可能なサイズを確保するように機能してもよい。たとえば、テキストサンプル212は、テキストのパラグラフに対応してもよく、セグメンタ240は、各セグメント化されたサンプル242がテキストサンプル212の文を表すように、テキストサンプル212を文に変換する。図2Cでは、セグメンタ240は、3つの文のパラグラフであるテキストサンプル212を受け取る。このテキストサンプル212を用いて、セグメンタ240は、3つのセグメント化されたテキストサンプル242、242a~cを生成し、第1のセグメント化されたテキストサンプル242aは、3つの文のうちの第1のものであり、第2のセグメント化されたテキストサンプル242bは、3つの文のうちの第2のものであり、第3のセグメント化されたテキストサンプル242cは、3つの文のうちの第3のものである。
【0026】
図3を参照すると、訓練プロセス200が、訓練データセット230を用いてGECモデル124になるようにテキスト生成モデル122を訓練した後に、GECモデル124は、微調整プロセス300でさらに訓練され得る。微調整プロセス300の間、微調整プロセス300は、教師あり訓練データを使用してもよい。いくつかの例では、教師あり訓練データは、微調整訓練コーパス310を形成する非合成のテキストペア312、312a~nのセットに対応する。各微調整テキストペア312は、文法的に正しいテキストサンプル314(たとえば、図3では「G」で示す)と、文法的に正しくないテキストサンプル316(たとえば、図3では「UG」で示す)とを含む。ここでは、文法的に正しくないテキストサンプル316は、コラプタ220によって生成されないが、人間が生成したテキストである。文法的に正しいテキストサンプル314がラベル付き微調整訓練データまたは教師あり微調整訓練データとして機能するように、文法的に正しいテキストサンプル314は、人間が生成したテキストである文法的に正しくないテキストサンプル316の文法的に正しいバージョンを指す。微調整訓練コーパス310は、訓練プロセス200の間に使用されるコーパス210と同様の多言語コーパスであってもよい。すなわち、微調整訓練コーパス310の各テキストペア312は、多言語の文法的に正しい-文法的に正しくないペアに対応するが、微調整訓練コーパス310には異なる言語のペア312がある。いくつかの例では、GECモデル124は、(たとえば、200ステップまたは800k例、または7エポック後に)開発データセットでのGECモデル124の完全一致精度が下がるまで、微調整訓練コーパス310を使用して微調整プロセス300によって訓練される。
【0027】
図4は、文法誤り訂正のためにテキスト生成モデル122を訓練する方法400のための動作の例示的な配列のフローチャートである。動作402において、方法400は、テキストサンプル212の多言語セット210を取得し、各テキストサンプル212は、それぞれの文の単一言語のテキスト表現を含む。動作404において、方法400は、テキストサンプル212の多言語セット210の各テキストサンプル212に対して、それぞれのテキストサンプル212の改変された合成バージョン222を生成する。それぞれのテキストサンプル212の改変された合成バージョン222は、それぞれのテキストサンプル212に関連するそれぞれの文の単一言語のテキスト表現への文法的変更を含む。動作406において、方法400は、訓練サンプルペア232の訓練セット230を使用してテキスト生成モデル122を訓練する。サンプルペア232の訓練セット230における各ペア232が、テキストサンプル212の多言語セット210のそれぞれのテキストサンプル212の1つと、テキストサンプル212の多言語セット210のそれぞれのテキストサンプル212のその1つの対応する改変された合成バージョン222とを含む。
【0028】
図5は、本明細書で説明するシステム(たとえば、NLGシステム120および/またはGECモデル124)ならびに方法(たとえば、方法400)を実装するために使用され得る例示的なコンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すように意図されている。ここで示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示にすぎないことを意図され、本明細書において説明および/または請求される実装形態を限定することを意図されない。
【0029】
コンピューティングデバイス500は、プロセッサ510(たとえば、データ処理ハードウェア112、144)と、メモリ520(たとえば、メモリハードウェア114、146)と、ストレージデバイス530と、メモリ520および高速拡張ポート550に接続している高速インターフェース/コントローラ540と、低速バス570およびストレージデバイス530に接続している低速インターフェース/コントローラ560とを含む。構成要素510、520、530、540、550、および560の各々は、様々なバスを使用して相互に接続され、共通のマザーボードに、または必要に応じて他の方法で、取り付けられ得る。プロセッサは510、高速インターフェース540に結合されたディスプレイ580などの外部入力/出力デバイス上にグラフィカルユーザインターフェース(GUI)用のグラフィカル情報を表示するために、メモリ520またはストレージデバイス530に記憶された命令を含む、コンピューティングデバイス500内の実行のための命令を処理することができる。他の実装形態では、必要に応じて、複数のメモリおよびメモリのタイプと合わせて、複数のプロセッサおよび/または複数のバスが使用され得る。また、複数のコンピューティングデバイス500が接続され、各デバイスが(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部を提供してもよい。
【0030】
メモリ520は、コンピューティングデバイス500内に非一時的に情報を記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。不揮発性メモリ520は、コンピューティングデバイス500による使用のために一時的または永続的にプログラム(たとえば、一連の命令)またはデータ(たとえば、プログラム状態情報)を記憶するために使用される物理デバイスであってもよい。不揮発性メモリの例は、限定はしないが、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラマブル読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電気的消去可能プログラマブル読取り専用メモリ(EEPROM)(たとえば、一般的にはブートプログラムなどのファームウェアに使用される)を含む。揮発性メモリの例は、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)ならびにディスクまたはテープを含む。
【0031】
ストレージデバイス530は、コンピューティングデバイス500に大容量ストレージを提供することが可能である。いくつかの実装形態では、ストレージデバイス530は、コンピュータ可読媒体である。様々な異なる実装形態では、ストレージデバイス530は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成のデバイスを含むデバイスのアレイであってもよい。さらなる実装形態では、コンピュータプログラム製品は、情報担体で有形に具体化される。コンピュータプログラム製品は、実行されると、上記で説明したような1つまたは複数の方法を行う命令を含んでいる。情報担体は、メモリ520、ストレージデバイス530、またはプロセッサ510上のメモリなど、コンピュータ可読または機械可読媒体である。
【0032】
高速コントローラ540は、コンピューティングデバイス500の帯域幅集約的な動作(bandwidth-intensive operations)を管理し、低速コントローラ560は、帯域幅低集約的な動作(lower bandwidth-intensive operations)を管理する。任務のこのような割振りは、例示にすぎない。いくつかの実装形態では、高速コントローラ540は、メモリ520、ディスプレイ580(たとえば、グラフィックプロセッサもしくはアクセラレータを介する)に結合され、また様々な拡張カード(図示せず)を受け入れ得る高速拡張ポート550に結合される。いくつかの実装形態では、低速コントローラ560は、ストレージデバイス530および低速拡張ポート570に結合される。低速拡張ポート570は、様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含んでもよく、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入力/出力デバイスに、または、たとえばネットワークアダプタを介してスイッチもしくはルータなどのネットワーキングデバイスに結合されてもよい。
【0033】
コンピューティングデバイス500は、図に示すように、いくつかの異なる形態で実装されることがある。たとえば、コンピューティングデバイス500は、標準的なサーバ500aとして、もしくはそのようなサーバ500aのグループに複数回、またはラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として実装されることがある。
【0034】
本明細書で説明するシステムおよび技法の様々な実装形態は、デジタル電子および/もしくは光回路、集積回路、特別に設計されたASIC(特殊用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはそれらの組合せで実現されることがある。これらの様々な実装形態は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信するために、ならびにこれらにデータおよび命令を送信するために結合された、特定用途または汎用である場合がある、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行可能および/または解釈可能である、1つまたは複数のコンピュータプログラムにおける実装を含むことができる。
【0035】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサ用の機械命令を含み、高水準手続き型言語および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ言語/機械語で、実装されることがある。本明細書で使用する「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械可読信号として機械命令を受け取る機械可読媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用されるいかなるコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))も指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用されるいかなる信号も指す。
【0036】
本明細書で説明するプロセスおよび論理フローは、入力データ上で動作し、出力を生成することによって機能を実施するために、1つまたは複数のプログラマブルプロセッサが1つまたは複数のコンピュータプログラムを実行するによって実施され得る。プロセスおよび論理フローはまた、専用の論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施されることもある。コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、およびいずれかの種類のデジタルコンピュータのいずれか1つまたは複数のプロセッサを含む。一般にプロセッサは、読取り専用メモリまたはランダムアクセスメモリまたは両方から命令およびデータを受け取ることになる。コンピュータの必須要素は、命令を行うためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般にコンピュータはまた、データを記憶するための1つもしくは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むことになり、またはこれらからデータを受け取る、もしくはこれらにデータを転送する、もしくはその両方を行うために動作可能に結合されることになる。しかしながら、コンピュータはそのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含み、例として、半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用論理回路によって補われる、または専用論理回路に組み込まれることがある。
【0037】
ユーザとの対話を可能にするために、本開示の1つまたは複数の態様は、ユーザに情報を表示するためのディスプレイデバイス、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意で、ユーザがそれによってコンピュータへの入力を行うことができるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールとを有するコンピュータに実装され得る。他の種類のデバイスも、ユーザとの対話を可能にするために使用されることがあり、たとえばユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受け取ることができる。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送ること、およびデバイスから文書を受け取ることによって、たとえば、ウェブブラウザから受け取られる要求に応じてユーザのクライアントデバイス上のウェブブラウザにウェブページを送ることによって、ユーザと対話することができる。
【0038】
いくつかの実装形態について説明した。しかしながら、様々な変更が本開示の趣旨および範囲から逸脱することなく行われ得ることは理解されよう。したがって、他の実装形態が以下の特許請求の範囲内に入る。
【符号の説明】
【0039】
10 ユーザ
100 テキスト訂正環境
110 ユーザデバイス
112 データ処理ハードウェア
114 メモリハードウェア
116 オーディオサブシステム
118 アプリケーション
120 自然言語生成(NLG)システム
122 テキスト生成モデル
124 文法誤り訂正(GEC)モデル
126 テキストシーケンス
128 出力テキスト
130 ネットワーク
140 リモートシステム
142 リモートリソース
144 リモートデータ処理ハードウェア
146 リモートメモリハードウェア
200 訓練プロセス
210 コーパス
212 テキストサンプル
220 コラプタ
222 改変された合成バージョン/テキストバージョン/テキストサンプル
230 訓練セット/訓練データセット
232 訓練サンプルペア
300 微調整プロセス
310 微調整訓練コーパス
312 非合成のテキストペア
314 文法的に正しいテキストサンプル
316 文法的に正しくないテキストサンプル
500 コンピューティングデバイス
510 プロセッサ
520 メモリ
530 ストレージデバイス
540 高速インターフェース/コントローラ
550 高速拡張ポート
560 低速インターフェース/コントローラ
570 低速バス/低速拡張ポート
580 ディスプレイ
図1
図2A
図2B
図2C
図3
図4
図5
【手続補正書】
【提出日】2024-01-30
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
文法誤り訂正(GEC)のためにテキスト生成モデル(122)を訓練するコンピュータ実装方法(400)であって、データ処理ハードウェア(144)によって実行されると、前記データ処理ハードウェア(144)に、
テキストサンプル(212)の多言語セット(210)を取得するステップであって、各テキストサンプル(212)が、それぞれの文の単一言語のテキスト表現を含む、取得するステップと、
テキストサンプル(212)の前記多言語セット(210)の各テキストサンプル(212)に対して、それぞれのテキストサンプル(212)の改変された合成バージョン(222)を生成するステップであって、それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)が、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文の前記単一言語のテキスト表現への文法的変更を含む、生成するステップと、
サンプルペア(232)の訓練セット(230)を使用して前記テキスト生成モデル(122)を訓練するステップであって、サンプルペア(232)の前記訓練セット(230)における各サンプルペアが、
テキストサンプル(212)の前記多言語セット(210)の前記それぞれのテキストサンプル(212)の1つと、
テキストサンプル(212)の前記多言語セット(210)の前記それぞれのテキストサンプル(212)の1つの対応する改変された合成バージョン(222)と
を含む、訓練するステップと
を含む動作を行わせる、方法(400)。
【請求項2】
前記動作が、前記テキスト生成モデル(122)を訓練した後、教師あり訓練データを使用して、前記訓練されたテキスト生成モデル(122)を微調整するステップをさらに含み、前記教師あり訓練データが、非合成のテキストペア(312)を含み、各非合成のテキストペア(312)が文法的に正しくないテキストサンプル(316)と、前記文法的に正しくないテキストサンプルの文法的に正しいテキストバージョン(314)とを含む、請求項1に記載の方法(400)。
【請求項3】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文から2つ以上の文字を取り除くステップを含む、請求項1または2に記載の方法(400)。
【請求項4】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文からの第1のセットの文字を、前記第1のセットの文字とは異なる第2のセットの文字と置き換えるステップを含む、請求項1に記載の方法(400)。
【請求項5】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文に1つまたは複数の文字を挿入するステップを含む、請求項1に記載の方法(400)。
【請求項6】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文の単語の文字について文字の大文字・小文字を変えるステップを含む、請求項1に記載の方法(400)。
【請求項7】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文に改変動作をランダムに適用するステップを含み、前記改変動作が、
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文から2つ以上の文字を取り除くステップ、
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文からの第1のセットの文字を、前記第1のセットの文字とは異なる第2のセットの文字と置き換えるステップ、
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文に1つもしくは複数の文字を挿入するステップ、または
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文の単語の文字の大文字・小文字を変えるステップ
のうちの少なくとも1つを含み、
各改変された合成バージョン(222)が、前記テキストサンプル(212)の他の改変された合成バージョン(222)に対して一意である、請求項1に記載の方法(400)。
【請求項8】
前記テキスト生成モデル(122)が、トランスフォーマのエンコーダ-デコーダのアーキテクチャを含む、請求項1に記載の方法(400)。
【請求項9】
前記動作が、マスク言語の目的に基づく多言語訓練コーパス(210)を用いて前記テキスト生成モデル(122)を事前訓練するステップをさらに含む、請求項1に記載の方法(400)。
【請求項10】
GECのために前記テキスト生成モデル(122)を訓練した後、前記訓練されたテキスト生成モデル(122)が、
入力として、文法の誤りを含む第1の言語の第1の入力テキスト(126)を受け取り、出力として、前記文法の誤りを訂正する前記第1の言語の第1の出力テキスト(128)を生成することと、
入力として、文法の誤りを含む異なる第2の言語の第2の入力テキスト(126)を受け取り、前記訓練されたテキスト生成モデル(122)からの出力として、前記文法の誤りを訂正する前記第2の言語の第2の出力テキスト(128)を生成することと
を行うように構成される、請求項1に記載の方法(400)。
【請求項11】
データ処理ハードウェア(144)と、
前記データ処理ハードウェア(144)と通信しているメモリハードウェア(146)であって、前記データ処理ハードウェア(144)上で実行されると、前記データ処理ハードウェア(144)に、
テキストサンプル(212)の多言語セット(210)を取得するステップであって、各テキストサンプル(212)が、それぞれの文の単一言語のテキスト表現を含む、取得するステップと、
テキストサンプル(212)の前記多言語セット(210)の各テキストサンプル(212)に対して、それぞれのテキストサンプル(212)の改変された合成バージョン(222)を生成するステップであって、前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)が、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文の前記単一言語のテキスト表現への文法的変更を含む、生成するステップと、
サンプルペア(232)の訓練セット(230)を使用してテキスト生成モデル(122)を訓練するステップであって、サンプルペア(232)の前記訓練セット(230)における各サンプルペア(232)が、
テキストサンプル(212)の前記多言語セット(210)の前記それぞれのテキストサンプル(212)の1つと、
テキストサンプル(212)の前記多言語セット(210)の前記それぞれのテキストサンプル(212)の1つの対応する改変された合成バージョン(222)と
を含む、訓練するステップと
を含む動作を行わせる命令を記憶した、前記メモリハードウェア(146)と
を備える、システム(100)。
【請求項12】
前記動作が、前記テキスト生成モデル(122)を訓練した後、教師あり訓練データを使用して、前記訓練されたテキスト生成モデル(122)を微調整するステップをさらに含み、前記教師あり訓練データが、非合成のテキストペア(312)を含み、各非合成のテキストペア(312)が文法的に正しくないテキストサンプル(316)と、前記文法的に正しくないテキストサンプル(316)の文法的に正しいテキストバージョン(314)とを含む、請求項11に記載のシステム(100)。
【請求項13】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文から2つ以上の文字を取り除くステップを含む、請求項11または12に記載のシステム(100)。
【請求項14】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文からの第1のセットの文字を、前記第1のセットの文字とは異なる第2のセットの文字と置き換えるステップを含む、請求項11に記載のシステム(100)。
【請求項15】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文に1つまたは複数の文字を挿入するステップを含む、請求項11に記載のシステム(100)。
【請求項16】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文の単語の文字について文字の大文字・小文字を変えるステップを含む、請求項11に記載のシステム(100)。
【請求項17】
前記それぞれのテキストサンプル(212)の前記改変された合成バージョン(222)を生成するステップが、前記それぞれのテキストサンプル(212)に関連する前記それぞれの文に改変動作をランダムに適用するステップを含み、前記改変動作が、
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文から2つ以上の文字を取り除くステップ、
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文からの第1のセットの文字を、前記第1のセットの文字とは異なる第2のセットの文字と置き換えるステップ、
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文に1つもしくは複数の文字を挿入するステップ、または
前記それぞれのテキストサンプル(212)に関連する前記それぞれの文の単語の文字の大文字・小文字を変えるステップ
のうちの少なくとも1つを含み、
各改変された合成バージョン(222)が、前記テキストサンプル(212)の他の改変された合成バージョン(222)に対して一意である、請求項11に記載のシステム(100)。
【請求項18】
前記テキスト生成モデル(122)が、トランスフォーマのエンコーダ-デコーダのアーキテクチャを含む、請求項11に記載のシステム(100)。
【請求項19】
前記動作が、マスク言語の目的に基づく多言語訓練コーパス(210)を用いて前記テキスト生成モデル(122)を事前訓練するステップをさらに含む、請求項11に記載のシステム(100)。
【請求項20】
GECのために前記テキスト生成モデル(122)を訓練した後、前記訓練されたテキスト生成モデル(122)が、
入力として、文法の誤りを含む第1の言語の第1の入力テキスト(126)を受け取り、出力として、前記文法の誤りを訂正する前記第1の言語の第1の出力テキスト(128)を生成することと、
入力として、文法の誤りを含む異なる第2の言語の第2の入力テキスト(126)を受け取り、前記訓練されたテキスト生成モデル(122)からの出力として、前記文法の誤りを訂正する前記第2の言語の第2の出力テキスト(124)を生成することと
を行うように構成される、請求項11に記載のシステム(100)。
【国際調査報告】