(57)【要約】  本明細書において、文法誤り訂正のための方法及びシステムが開示される。１つの例において、文が受信される。文内の１つ又は複数の対象語が１つ又は複数の文法誤りタイプに少なくとも部分的に基づいて識別される。１つ又は複数の対象語の各々は、１つ又は複数の文法誤りタイプのうちの少なくとも１つに対応する。１つ又は複数の対象語のうちの少なくとも１つについて、対応する文法誤りタイプに関連する対象語の分類が、文法誤りタイプについて訓練された人工ニューラルネットワークモデルを使用して推定される。文内の文法誤りが、対象語及び対象語の推定された分類に少なくとも部分的に基づいて検出される。【選択図】  図１
2020529666.tif 000002
【特許請求の範囲】
【請求項１】
文法誤り検出のための方法であって、
少なくとも１つのプロセッサによって、文を受信するステップと、
前記少なくとも１つのプロセッサによって、前記文内の１つ又は複数の対象語を、１つ又は複数の文法誤りタイプに少なくとも部分的に基づいて識別するステップであり、前記１つ又は複数の対象語の各々が、前記１つ又は複数の文法誤りタイプのうちの少なくとも１つに対応する、識別するステップと、
前記１つ又は複数の対象語のうちの少なくとも１つについて、前記少なくとも１つのプロセッサによって、前記対応する文法誤りタイプに関連する前記対象語の分類を、前記文法誤りタイプについて訓練された人工ニューラルネットワークモデルを使用して推定するステップであり、前記モデルが、（ｉ）前記文内の前記対象語の前の少なくとも１つの単語及び前記対象語の後の少なくとも１つの単語に少なくとも部分的に基づいて、前記対象語の文脈ベクトルを出力するように構成されている２つの再帰型ニューラルネットワーク、及び（ｉｉ）前記対象語の前記文脈ベクトルに少なくとも部分的に基づいて、前記文法誤りタイプに関連する前記対象語の分類値を出力するように構成されている順伝播型ニューラルネットワークを含む、推定するステップと、
前記少なくとも１つのプロセッサによって、前記文内の文法誤りを、前記対象語及び前記対象語の前記推定された分類に少なくとも部分的に基づいて検出するステップと
を含む、文法誤り検出のための方法。
【請求項２】
前記推定するステップが、
前記２つの再帰型ニューラルネットワークを使用して、前記文内の前記対象語の前の前記少なくとも１つの単語及び前記対象語の後の前記少なくとも１つの単語に少なくとも部分的に基づいて、前記対象語の前記文脈ベクトルを与えることと、
前記順伝播型ニューラルネットワークを使用して、前記対象語の前記文脈ベクトルに少なくとも部分的に基づいて、前記文法誤りタイプに関連する前記対象語の前記分類値を与えることと
をさらに含む、請求項１に記載の文法誤り検出のための方法。
【請求項３】
前記対象語の前記文脈ベクトルが、前記対象語の見出し語に少なくとも部分的に基づいて与えられる、請求項２に記載の文法誤り検出のための方法。
【請求項４】
前記推定するステップが、
単語埋め込みベクトルの第１のセットを生成することであって、前記単語埋め込みベクトルの第１のセット内の各単語埋め込みベクトルが、前記文内の前記対象語の前の前記少なくとも１つの単語のそれぞれに少なくとも部分的に基づいて生成される、単語埋め込みベクトルの第１のセットを生成することと、
単語埋め込みベクトルの第２のセットを生成することであって、前記単語埋め込みベクトルの第２のセット内の各単語埋め込みベクトルが、前記文内の前記対象語の後の前記少なくとも１つの単語のそれぞれに少なくとも部分的に基づいて生成される、単語埋め込みベクトルの第２のセットを生成することと
をさらに含む、請求項２に記載の文法誤り検出のための方法。
【請求項５】
各単語埋め込みベクトルの次元の数が少なくとも１００である、請求項４に記載の文法誤り検出のための方法。
【請求項６】
前記対象語の前の前記少なくとも１つの単語が、前記文内の前記対象語の前のすべての単語を含み、
前記対象語の後の前記少なくとも１つの単語が、前記文内の前記対象語の後のすべての単語を含む、請求項１に記載の文法誤り検出のための方法。
【請求項７】
前記対象語の前の前記少なくとも１つの単語の数及び／又は前記対象語の後の前記少なくとも１つの単語の数が、前記文法誤りタイプに少なくとも部分的に基づいて決定される、請求項１に記載の文法誤り検出のための方法。
【請求項８】
前記推定するステップが、
前記文内の前記対象語の前の前記少なくとも１つの単語及び前記対象語の後の前記少なくとも１つの単語に少なくとも部分的に基づいて、前記対象語の文脈重みベクトルを与えることと、
前記文脈重みベクトルを前記文脈ベクトルに適用することと
をさらに含む、請求項２に記載の文法誤り検出のための方法。
【請求項９】
前記文脈ベクトルを与える前記ステップが、
前記２つの再帰型ニューラルネットワークのうちの第１の再帰型ニューラルネットワークを使用して、前記単語埋め込みベクトルの第１のセットに少なくとも部分的に基づいて、前記対象語の第１の文脈ベクトルを与えることと、
前記２つの再帰型ニューラルネットワークのうちの第２の再帰型ニューラルネットワークを使用して、前記単語埋め込みベクトルの第２のセットに少なくとも部分的に基づいて、前記対象語の第２の文脈ベクトルを与えることと、
前記第１の文脈ベクトルと前記第２の文脈ベクトルとを連結することによって前記文脈ベクトルを与えることと
をさらに含む、請求項４に記載の文法誤り検出のための方法。
【請求項１０】
前記単語埋め込みベクトルの第１のセットが、前記文の始まりにある単語の前記単語埋め込みベクトルから開始して、前記第１の再帰型ニューラルネットワークに与えられ、
前記単語埋め込みベクトルの第２のセットが、前記文の終端部にある単語の前記単語埋め込みベクトルから開始して、前記第２の再帰型ニューラルネットワークに与えられる、請求項９に記載の文法誤り検出のための方法。
【請求項１１】
前記２つの再帰型ニューラルネットワークの各々の隠れユニットの数が少なくとも３００である、請求項１に記載の文法誤り検出のための方法。
【請求項１２】
前記順伝播型ニューラルネットワークが、
前記文脈ベクトルに対する全結合線形演算の第１の活性化関数を有する第１の層と、
前記第１の層に接続されており、前記分類値を生成するための第２の活性化関数を有する第２の層と
を備える、請求項１に記載の文法誤り検出のための方法。
【請求項１３】
前記分類値が、前記文法誤りタイプと関連付けられる複数のクラスにわたる前記対象語の確率分布である、請求項１に記載の文法誤り検出のための方法。
【請求項１４】
前記検出するステップが、
前記対象語の前記推定された分類を、前記対象語の実際の分類と比較することと、
前記対象語の前記実際の分類が前記推定された分類と一致しないとき、前記文内の前記文法誤りを検出することと
をさらに含む、請求項１に記載の文法誤り検出のための方法。
【請求項１５】
前記文内の前記文法誤りの検出に応答して、前記対象語の前記推定された分類に少なくとも部分的に基づいて、前記対象語の文法誤り訂正を与えるステップをさらに含む、請求項１に記載の文法誤り検出のための方法。
【請求項１６】
前記１つ又は複数の対象語の各々について、前記文法誤りタイプについて訓練されたそれぞれの人工ニューラルネットワークを使用して、前記対応する文法誤りタイプに関連する前記対象語のそれぞれの分類を推定し、前記対象語の前記推定された分類を前記対象語の実際の分類と比較して、前記対象語の文法誤り結果を生成するステップと、
前記対応する文法誤りタイプに少なくとも部分的に基づいて、前記１つ又は複数の対象語の前記文法誤り結果の各々に重みを適用するステップと、
前記１つ又は複数の対象語の前記文法誤り結果及び前記重みに基づいて、前記文の文法スコアを与えるステップと
をさらに含む、請求項１に記載の文法誤り検出のための方法。
【請求項１７】
前記文法スコアが、前記文がそこから受信されたユーザと関連付けられる情報に少なくとも部分的に基づいて与えられる、請求項１６に記載の文法誤り検出のための方法。
【請求項１８】
前記モデルが、ネイティブ訓練サンプルによって訓練される、請求項１に記載の文法誤り検出のための方法。
【請求項１９】
前記２つの再帰型ニューラルネットワーク及び前記順伝播型ニューラルネットワークが共に訓練される、請求項１に記載の文法誤り検出のための方法。
【請求項２０】
前記モデルが、
前記文脈ベクトルを生成するために前記２つの再帰型ニューラルネットワークに入力されるための初期文脈ベクトルのセットを出力するように構成されている別の再帰型ニューラルネットワークと、
前記文脈ベクトルに適用されるための文脈重みベクトルを出力するように構成されている別の順伝播型ニューラルネットワークと
をさらに含む、請求項１に記載の文法誤り検出のための方法。
【請求項２１】
すべての前記再帰型ニューラルネットワーク及び前記順伝播型ニューラルネットワークが、ネイティブ訓練サンプルによって共に訓練される、請求項２０に記載の文法誤り検出のための方法。
【請求項２２】
メモリと、
前記メモリに結合されている少なくとも１つのプロセッサと
を備え、前記少なくとも１つのプロセッサが、
文を受信することと、
前記文内の１つ又は複数の対象語を、１つ又は複数の文法誤りタイプに少なくとも部分的に基づいて識別することであり、前記１つ又は複数の対象語の各々が、前記１つ又は複数の文法誤りタイプのうちの少なくとも１つに対応する、識別することと、
前記１つ又は複数の対象語のうちの少なくとも１つについて、前記対応する文法誤りタイプに関連する前記対象語の分類を、前記文法誤りタイプについて訓練された人工ニューラルネットワークモデルを使用して推定することであり、前記モデルが、（ｉ）前記文内の前記対象語の前の少なくとも１つの単語及び前記対象語の後の少なくとも１つの単語に少なくとも部分的に基づいて、前記対象語の文脈ベクトルを生成するように構成されている２つの再帰型ニューラルネットワーク、及び（ｉｉ）前記対象語の前記文脈ベクトルに少なくとも部分的に基づいて、前記文法誤りタイプに関連する前記対象語の分類値を出力するように構成されている順伝播型ニューラルネットワークを含む、推定することと、
前記文内の文法誤りを、前記対象語及び前記対象語の前記推定された分類に少なくとも部分的に基づいて検出することと
を行うように構成されている、文法誤り検出のためのシステム。
【請求項２３】
前記対象語の分類を推定するために、前記少なくとも１つのプロセッサが、
前記２つの再帰型ニューラルネットワークを使用して、前記文内の前記対象語の前の前記少なくとも１つの単語及び前記対象語の後の前記少なくとも１つの単語に少なくとも部分的に基づいて、前記対象語の前記文脈ベクトルを与えることと、
前記順伝播型ニューラルネットワークを使用して、前記対象語の前記文脈ベクトルに少なくとも部分的に基づいて、前記文法誤りタイプに関連する前記対象語の前記分類値を与えることと
を行うように構成されている、請求項２２に記載の文法誤り検出のためのシステム。
【請求項２４】
前記対象語の前記文脈ベクトルが、前記対象語の見出し語に少なくとも部分的に基づいて与えられる、請求項２３に記載の文法誤り検出のためのシステム。
【請求項２５】
前記対象語の分類を推定するために、前記少なくとも１つのプロセッサが、
単語埋め込みベクトルの第１のセットを生成することであって、前記単語埋め込みベクトルの第１のセット内の各単語埋め込みベクトルが、前記文内の前記対象語の前の前記少なくとも１つの単語のそれぞれに少なくとも部分的に基づいて生成される、単語埋め込みベクトルの第１のセットを生成することと、
単語埋め込みベクトルの第２のセットを生成することであって、前記単語埋め込みベクトルの第２のセット内の各単語埋め込みベクトルが、前記文内の前記対象語の後の前記少なくとも１つの単語のそれぞれに少なくとも部分的に基づいて生成される、単語埋め込みベクトルの第２のセットを生成することと
を行うように構成されている、請求項２３に記載の文法誤り検出のためのシステム。
【請求項２６】
各単語埋め込みベクトルの次元の数が少なくとも１００である、請求項２５に記載の文法誤り検出のためのシステム。
【請求項２７】
前記対象語の前の前記少なくとも１つの単語が、前記文内の前記対象語の前のすべての単語を含み、
前記対象語の後の前記少なくとも１つの単語が、前記文内の前記対象語の後のすべての単語を含む、請求項２２に記載の文法誤り検出のためのシステム。
【請求項２８】
前記対象語の前の前記少なくとも１つの単語の数及び／又は前記対象語の後の前記少なくとも１つの単語の数が、前記文法誤りタイプに少なくとも部分的に基づいて決定される、請求項２２に記載の文法誤り検出のためのシステム。
【請求項２９】
前記対象語の分類を推定するために、前記少なくとも１つのプロセッサが、
前記文内の前記対象語の前の前記少なくとも１つの単語及び前記対象語の後の前記少なくとも１つの単語に少なくとも部分的に基づいて、前記対象語の文脈重みベクトルを与えることと、
前記文脈重みベクトルを前記文脈ベクトルに適用することと
を行うように構成されている、請求項２３に記載の文法誤り検出のためのシステム。
【請求項３０】
前記対象語の前記文脈ベクトルを与えるために、前記少なくとも１つのプロセッサが、
前記２つの再帰型ニューラルネットワークのうちの第１の再帰型ニューラルネットワークを使用して、前記単語埋め込みベクトルの第１のセットに少なくとも部分的に基づいて、前記対象語の第１の文脈ベクトルを与えることと、
前記２つの再帰型ニューラルネットワークのうちの第２の再帰型ニューラルネットワークを使用して、前記単語埋め込みベクトルの第２のセットに少なくとも部分的に基づいて、前記対象語の第２の文脈ベクトルを与えることと、
前記第１の文脈ベクトルと前記第２の文脈ベクトルとを連結することによって前記文脈ベクトルを与えることと
を行うように構成されている、請求項２５に記載の文法誤り検出のためのシステム。
【請求項３１】
前記単語埋め込みベクトルの第１のセットが、前記文の始まりにある単語の前記単語埋め込みベクトルから開始して、前記第１の再帰型ニューラルネットワークに与えられ、
前記単語埋め込みベクトルの第２のセットが、前記文の終端部にある単語の前記単語埋め込みベクトルから開始して、前記第２の再帰型ニューラルネットワークに与えられる、請求項３０に記載の文法誤り検出のためのシステム。
【請求項３２】
前記２つの再帰型ニューラルネットワークの各々の隠れユニットの数が少なくとも３００である、請求項２２に記載の文法誤り検出のためのシステム。
【請求項３３】
前記順伝播型ニューラルネットワークが、
前記文脈ベクトルに対する全結合線形演算の第１の活性化関数を有する第１の層と、
前記第１の層に接続されており、前記分類値を生成するための第２の活性化関数を有する第２の層と
を備える、請求項２２に記載の文法誤り検出のためのシステム。
【請求項３４】
前記分類値が、前記文法誤りタイプと関連付けられる複数のクラスにわたる前記対象語の確率分布である、請求項２２に記載の文法誤り検出のためのシステム。
【請求項３５】
文法誤りを検出するために、前記少なくとも１つのプロセッサが、
前記対象語の前記推定された分類を、前記対象語の実際の分類と比較することと、
前記対象語の前記実際の分類が前記推定された分類と一致しないとき、前記文内の前記文法誤りを検出することと
を行うように構成されている、請求項２２に記載の文法誤り検出のためのシステム。
【請求項３６】
前記少なくとも１つのプロセッサが、前記文内の前記文法誤りの検出に応答して、前記対象語の前記推定された分類に少なくとも部分的に基づいて、前記対象語の文法誤り訂正を与えるようにさらに構成されている、請求項２２に記載の文法誤り検出のためのシステム。
【請求項３７】
前記少なくとも１つのプロセッサが、
前記１つ又は複数の対象語の各々について、前記文法誤りタイプについて訓練されたそれぞれの人工ニューラルネットワークを使用して、前記対応する文法誤りタイプに関連する前記対象語のそれぞれの分類を推定し、前記対象語の前記推定された分類を前記対象語の実際の分類と比較して、前記対象語の文法誤り結果を生成することと、
前記対応する文法誤りタイプに少なくとも部分的に基づいて、前記１つ又は複数の対象語の前記文法誤り結果の各々に重みを適用することと、
前記１つ又は複数の対象語の前記文法誤り結果及び前記重みに基づいて、前記文の文法スコアを与えることと
を行うようにさらに構成されている、請求項２２に記載の文法誤り検出のためのシステム。
【請求項３８】
前記文法スコアが、前記文がそこから受信されたユーザと関連付けられる情報に少なくとも部分的に基づいて与えられる、請求項３７に記載の文法誤り検出のためのシステム。
【請求項３９】
前記モデルが、ネイティブ訓練サンプルによって訓練される、請求項２２に記載の文法誤り検出のためのシステム。
【請求項４０】
前記２つの再帰型ニューラルネットワーク及び前記順伝播型ニューラルネットワークが共に訓練される、請求項２２に記載の文法誤り検出のためのシステム。
【請求項４１】
前記モデルが、
前記文脈ベクトルを生成するために前記２つの再帰型ニューラルネットワークに入力されるための初期文脈ベクトルのセットを出力するように構成されている別の再帰型ニューラルネットワークと、
前記文脈ベクトルに適用されるための文脈重みベクトルを出力するように構成されている別の順伝播型ニューラルネットワークと
をさらに含む、請求項２２に記載の文法誤り検出のためのシステム。
【請求項４２】
すべての前記再帰型ニューラルネットワーク及び前記順伝播型ニューラルネットワークが、ネイティブ訓練サンプルによって共に訓練される、請求項４１に記載の文法誤り検出のためのシステム。
【請求項４３】
少なくとも１つのコンピューティングデバイスによって実行されると、前記少なくとも１つのコンピューティングデバイスに、動作を実施させる命令を記憶されている、有形コンピュータ可読デバイスであって、前記動作が、
文を受信することと、
前記文内の１つ又は複数の対象語を、１つ又は複数の文法誤りタイプに少なくとも部分的に基づいて識別することであり、前記１つ又は複数の対象語の各々が、前記１つ又は複数の文法誤りタイプのうちの少なくとも１つに対応する、識別することと、
前記１つ又は複数の対象語のうちの少なくとも１つについて、前記対応する文法誤りタイプに関連する前記対象語の分類を、前記文法誤りタイプについて訓練された人工ニューラルネットワークモデルを使用して推定することであり、前記モデルが、（ｉ）前記文内の前記対象語の前の少なくとも１つの単語及び前記対象語の後の少なくとも１つの単語に少なくとも部分的に基づいて、前記対象語の文脈ベクトルを出力するように構成されている２つの再帰型ニューラルネットワーク、及び（ｉｉ）前記対象語の前記文脈ベクトルに少なくとも部分的に基づいて、前記文法誤りタイプに関連する前記対象語の分類値を出力するように構成されている順伝播型ニューラルネットワークを含む、推定することと、
前記文内の文法誤りを、前記対象語及び前記対象語の前記推定された分類に少なくとも部分的に基づいて検出することと
を含む、有形コンピュータ可読デバイス。
【請求項４４】
少なくとも１つのプロセッサによって、文法誤りタイプに関連する文内の対象語の分類を推定するための人工ニューラルネットワークモデルを提供するステップであり、前記モデルが、（ｉ）前記文内の前記対象語の前の少なくとも１つの単語及び前記対象語の後の少なくとも１つの単語に少なくとも部分的に基づいて、前記対象語の文脈ベクトルを出力するように構成されている２つの再帰型ニューラルネットワーク、及び（ｉｉ）前記対象語の前記文脈ベクトルに少なくとも部分的に基づいて、前記対象語の分類値を出力するように構成されている順伝播型ニューラルネットワークを含む、提供するステップと、
前記少なくとも１つのプロセッサによって、訓練サンプルのセットを取得するステップであり、前記訓練サンプルのセット内の各訓練サンプルが、前記文法誤りタイプに関連する対象語を含む文、及び、前記文法誤りタイプに関連する前記対象語の実際の分類を含む、取得するステップと、
前記少なくとも１つのプロセッサによって、前記再帰型ニューラルネットワークと関連付けられるパラメータの第１のセット、及び、前記順伝播型ニューラルネットワークと関連付けられるパラメータの第２のセットを、各訓練サンプル内の前記対象語の前記実際の分類と前記推定された分類との間の差に少なくとも部分的に基づいて、共に調整するステップと
を含む、人工ニューラルネットワークモデルを訓練するための方法。
【請求項４５】
各訓練サンプルが文法誤りのないネイティブ訓練サンプルである、請求項４４に記載の人工ニューラルネットワークモデルを訓練するための方法。
【請求項４６】
前記再帰型ニューラルネットワークが、ゲート付き再帰型ユニット（ＧＲＵ）ニューラルネットワークであり、前記順伝播型ニューラルネットワークが、多層知覚（ＭＬＰ）ニューラルネットワークである、請求項４４に記載の人工ニューラルネットワークモデルを訓練するための方法。
【請求項４７】
前記モデルが、前記文脈ベクトルに適用されるための文脈重みベクトルを出力するように構成されている別の順伝播型ニューラルネットワークをさらに含む、請求項４４に記載の人工ニューラルネットワークモデルを訓練するための方法。
【請求項４８】
前記共に調整するステップが、前記パラメータの第１のセット及び前記パラメータの第２のセット、並びに、前記別の順伝播型ニューラルネットワークと関連付けられるパラメータの第３のセットを、各訓練サンプル内の前記対象語の前記実際の分類と前記推定された分類との間の差に少なくとも部分的に基づいて、共に調整するステップを含む、請求項４７に記載の人工ニューラルネットワークモデルを訓練するための方法。
【請求項４９】
各訓練サンプルについて、
単語埋め込みベクトルの第１のセットを生成するステップであって、前記単語埋め込みベクトルの第１のセット内の各単語埋め込みベクトルが、前記訓練サンプル内の前記対象語の前の少なくとも１つの単語のそれぞれに少なくとも部分的に基づいて生成される、単語埋め込みベクトルの第１のセットを生成するステップと、
単語埋め込みベクトルの第２のセットを生成するステップであって、前記単語埋め込みベクトルの第２のセット内の各単語埋め込みベクトルが、前記訓練サンプル内の前記対象語の後の少なくとも１つの単語のそれぞれに少なくとも部分的に基づいて生成される、単語埋め込みベクトルの第２のセットを生成するステップと
をさらに含む、請求項４４に記載の人工ニューラルネットワークモデルを訓練するための方法。
【請求項５０】
各単語埋め込みベクトルの次元の数が少なくとも１００である、請求項４９に記載の人工ニューラルネットワークモデルを訓練するための方法。
【請求項５１】
前記対象語の前の前記少なくとも１つの単語が、前記文内の前記対象語の前のすべての単語を含み、
前記対象語の後の前記少なくとも１つの単語が、前記文内の前記対象語の後のすべての単語を含む、請求項４９に記載の人工ニューラルネットワークモデルを訓練するための方法。
【請求項５２】
各訓練サンプルについて、
前記２つの再帰型ニューラルネットワークのうちの第１の再帰型ニューラルネットワークを使用して、前記単語埋め込みベクトルの第１のセットに少なくとも部分的に基づいて、前記対象語の第１の文脈ベクトルを与えるステップと、
前記２つの再帰型ニューラルネットワークのうちの第２の再帰型ニューラルネットワークを使用して、前記単語埋め込みベクトルの第２のセットに少なくとも部分的に基づいて、前記対象語の第２の文脈ベクトルを与えるステップと、
前記第１の文脈ベクトルと前記第２の文脈ベクトルとを連結することによって前記文脈ベクトルを与えるステップと
をさらに含む、請求項４９に記載の人工ニューラルネットワークモデルを訓練するための方法。
【請求項５３】
前記単語埋め込みベクトルの第１のセットが、前記文の始まりにある単語の前記単語埋め込みベクトルから開始して、前記第１の再帰型ニューラルネットワークに与えられ、
前記単語埋め込みベクトルの第２のセットが、前記文の終端部にある単語の前記単語埋め込みベクトルから開始して、前記第２の再帰型ニューラルネットワークに与えられる、請求項５２に記載の人工ニューラルネットワークモデルを訓練するための方法。
【請求項５４】
前記第１の文脈ベクトル及び前記第２の文脈ベクトルが、前記訓練サンプル内の前記文の意味特徴を含まない、請求項５２に記載の人工ニューラルネットワークモデルを訓練するための方法。
【請求項５５】
前記２つの再帰型ニューラルネットワークの各々の隠れユニットの数が少なくとも３００である、請求項４４に記載の人工ニューラルネットワークモデルを訓練するための方法。
【請求項５６】
前記順伝播型ニューラルネットワークが、
前記文脈ベクトルに対する全結合線形演算の第１の活性化関数を有する第１の層と、
前記第１の層に接続されており、前記分類値を生成するための第２の活性化関数を有する第２の層と
を備える、請求項４４に記載の人工ニューラルネットワークモデルを訓練するための方法。
【請求項５７】
メモリと、
前記メモリに結合されている少なくとも１つのプロセッサと
を備え、前記少なくとも１つのプロセッサが、
文法誤りタイプに関連する文内の対象語の分類を推定するための人工ニューラルネットワークモデルを提供することであり、前記モデルが、（ｉ）前記文内の前記対象語の前の少なくとも１つの単語及び前記対象語の後の少なくとも１つの単語に少なくとも部分的に基づいて、前記対象語の文脈ベクトルを出力するように構成されている２つの再帰型ニューラルネットワーク、及び（ｉｉ）前記対象語の前記文脈ベクトルに少なくとも部分的に基づいて、前記対象語の分類値を出力するように構成されている順伝播型ニューラルネットワークを含む、提供することと、
訓練サンプルのセットを取得することであり、前記訓練サンプルのセット内の各訓練サンプルが、前記文法誤りタイプに関連する対象語を含む文、及び、前記文法誤りタイプに関連する前記対象語の実際の分類を含む、取得することと、
前記再帰型ニューラルネットワークと関連付けられるパラメータの第１のセット、及び、前記順伝播型ニューラルネットワークと関連付けられるパラメータの第２のセットを、各訓練サンプル内の前記対象語の前記実際の分類と前記推定された分類との間の差に少なくとも部分的に基づいて、共に調整することと
を行うように構成されている、人工ニューラルネットワークモデルを訓練するためのシステム。
【請求項５８】
各訓練サンプルが文法誤りのないネイティブ訓練サンプルである、請求項５７に記載の人工ニューラルネットワークモデルを訓練するためのシステム。
【請求項５９】
前記再帰型ニューラルネットワークが、ゲート付き再帰型ユニット（ＧＲＵ）ニューラルネットワークであり、前記順伝播型ニューラルネットワークが、多層知覚（ＭＬＰ）ニューラルネットワークである、請求項５７に記載の人工ニューラルネットワークモデルを訓練するためのシステム。
【請求項６０】
前記モデルが、前記文脈ベクトルに適用されるための文脈重みベクトルを出力するように構成されている別の順伝播型ニューラルネットワークをさらに含む、請求項５７に記載の人工ニューラルネットワークモデルを訓練するためのシステム。
【請求項６１】
パラメータの第１のセット及びパラメータの第２のセットを共に調整するために、前記少なくとも１つのプロセッサが、
前記パラメータの第１のセット及び前記パラメータの第２のセット、並びに、前記別の順伝播型ニューラルネットワークと関連付けられるパラメータの第３のセットを、各訓練サンプル内の前記対象語の前記実際の分類と前記推定された分類との間の差に少なくとも部分的に基づいて、共に調整するように構成されている、請求項６０に記載の人工ニューラルネットワークモデルを訓練するためのシステム。
【請求項６２】
前記少なくとも１つのプロセッサが、各訓練サンプルについて、
単語埋め込みベクトルの第１のセットを生成することであって、前記単語埋め込みベクトルの第１のセット内の各単語埋め込みベクトルが、前記訓練サンプル内の前記対象語の前の少なくとも１つの単語のそれぞれに少なくとも部分的に基づいて生成される、単語埋め込みベクトルの第１のセットを生成することと、
単語埋め込みベクトルの第２のセットを生成することであって、前記単語埋め込みベクトルの第２のセット内の各単語埋め込みベクトルが、前記訓練サンプル内の前記対象語の後の少なくとも１つの単語のそれぞれに少なくとも部分的に基づいて生成される、単語埋め込みベクトルの第２のセットを生成することと
を行うようにさらに構成されている、請求項５７に記載の人工ニューラルネットワークモデルを訓練するためのシステム。
【請求項６３】
各単語埋め込みベクトルの次元の数が少なくとも１００である、請求項６２に記載の人工ニューラルネットワークモデルを訓練するためのシステム。
【請求項６４】
前記対象語の前の前記少なくとも１つの単語が、前記文内の前記対象語の前のすべての単語を含み、
前記対象語の後の前記少なくとも１つの単語が、前記文内の前記対象語の後のすべての単語を含む、請求項６２に記載の人工ニューラルネットワークモデルを訓練するためのシステム。
【請求項６５】
前記少なくとも１つのプロセッサが、各訓練サンプルについて、
前記２つの再帰型ニューラルネットワークのうちの第１の再帰型ニューラルネットワークを使用して、前記単語埋め込みベクトルの第１のセットに少なくとも部分的に基づいて、前記対象語の第１の文脈ベクトルを与えることと、
前記２つの再帰型ニューラルネットワークのうちの第２の再帰型ニューラルネットワークを使用して、前記単語埋め込みベクトルの第２のセットに少なくとも部分的に基づいて、前記対象語の第２の文脈ベクトルを与えることと、
前記第１の文脈ベクトルと前記第２の文脈ベクトルとを連結することによって前記文脈ベクトルを与えることと
を行うようにさらに構成されている、請求項６２に記載の人工ニューラルネットワークモデルを訓練するためのシステム。
【請求項６６】
前記単語埋め込みベクトルの第１のセットが、前記文の始まりにある単語の前記単語埋め込みベクトルから開始して、前記第１の再帰型ニューラルネットワークに与えられ、
前記単語埋め込みベクトルの第２のセットが、前記文の終端部にある単語の前記単語埋め込みベクトルから開始して、前記第２の再帰型ニューラルネットワークに与えられる、請求項６５に記載の人工ニューラルネットワークモデルを訓練するためのシステム。
【請求項６７】
前記第１の文脈ベクトル及び前記第２の文脈ベクトルが、前記訓練サンプル内の前記文の意味特徴を含まない、請求項６５に記載の人工ニューラルネットワークモデルを訓練するためのシステム。
【請求項６８】
前記２つの再帰型ニューラルネットワークの各々の隠れユニットの数が少なくとも３００である、請求項５７に記載の人工ニューラルネットワークモデルを訓練するためのシステム。
【請求項６９】
前記順伝播型ニューラルネットワークが、
前記文脈ベクトルに対する全結合線形演算の第１の活性化関数を有する第１の層と、
前記第１の層に接続されており、前記分類値を生成するための第２の活性化関数を有する第２の層と
を備える、請求項５７に記載の人工ニューラルネットワークモデルを訓練するためのシステム。
【請求項７０】
少なくとも１つのコンピューティングデバイスによって実行されると、前記少なくとも１つのコンピューティングデバイスに、動作を実施させる命令を記憶されている、有形コンピュータ可読デバイスであって、前記動作が、
文法誤りタイプに関連する文内の対象語の分類を推定するための人工ニューラルネットワークモデルを提供することであり、前記モデルが、（ｉ）前記文内の前記対象語の前の少なくとも１つの単語及び前記対象語の後の少なくとも１つの単語に少なくとも部分的に基づいて、前記対象語の文脈ベクトルを出力するように構成されている２つの再帰型ニューラルネットワーク、及び（ｉｉ）前記対象語の前記文脈ベクトルに少なくとも部分的に基づいて、前記対象語の分類値を出力するように構成されている順伝播型ニューラルネットワークを含む、提供することと、
訓練サンプルのセットを取得することであり、前記訓練サンプルのセット内の各訓練サンプルが、前記文法誤りタイプに関連する対象語を含む文、及び、前記文法誤りタイプに関連する前記対象語の実際の分類を含む、取得することと、
前記再帰型ニューラルネットワークと関連付けられるパラメータの第１のセット、及び、前記順伝播型ニューラルネットワークと関連付けられるパラメータの第２のセットを、各訓練サンプル内の前記対象語の前記実際の分類と前記推定された分類との間の差に少なくとも部分的に基づいて、共に調整することと
を含む、有形コンピュータ可読デバイス。
【発明の詳細な説明】
【背景】
【０００１】
[0001]本開示は、一般には、人工知能に関し、より詳細には、人工ニューラルネットワークを使用した文法誤り訂正に関する。
【０００２】
[0002]自動文法誤り訂正（ＧＥＣ）は、英語を第二言語として学習する数百万の人々にとって必須で有用なツールである。英語を学習している書き手は、標準的な校正ツールによって対処されない様々な文法及び慣用法の間違いを犯す。文法誤り検出及び／又は訂正のための、高い精度及び再現率を有する自動システムを開発することは、自然言語処理（ＮＬＰ）において急速に成長している分野となっている。
【０００３】
[0003]当該自動システムには大きな可能性があるが、既知のシステムは、様々な文法誤りパターンをカバーすることの限界、及び、複雑な言語特徴エンジニアリング又は人間が注釈を付けた訓練サンプルの要件のような問題に直面している。
【概要】
【０００４】
[0004]本開示は、一般には人工知能に関し、より詳細には、人工ニューラルネットワークを使用した文法誤り訂正に関する。
【０００５】
[0005]一例において、文法誤り検出のための方法が開示される。文が受信される。文内の１つ又は複数の対象語が１つ又は複数の文法誤りタイプに少なくとも部分的に基づいて識別される。１つ又は複数の対象語の各々は、１つ又は複数の文法誤りタイプのうちの少なくとも１つに対応する。１つ又は複数の対象語のうちの少なくとも１つについて、対応する文法誤りタイプに関連する対象語の分類が、文法誤りタイプについて訓練された人工ニューラルネットワークモデルを使用して推定される。モデルは、文内の対象語の前の少なくとも１つの単語及び対象語の後の少なくとも１つの単語に少なくとも部分的に基づいて、対象語の文脈ベクトルを出力するように構成されている２つの再帰型ニューラルネットワークを含む。モデルは、対象語の文脈ベクトルに少なくとも部分的に基づいて、文法誤りタイプに関連する対象語の分類値を出力するように構成されている順伝播型ニューラルネットワークをさらに含む。文内の文法誤りが、対象語及び対象語の推定された分類に少なくとも部分的に基づいて検出される。
【０００６】
[0006]別の例において、人工ニューラルネットワークモデルを訓練するための方法が提供される。文法誤りタイプに関連して文内の対象語の分類を推定するための人工ニューラルネットワークモデルが提供される。モデルは、文内の対象語の前の少なくとも１つの単語及び対象語の後の少なくとも１つの単語に少なくとも部分的に基づいて、対象語の文脈ベクトルを出力するように構成されている２つの再帰型ニューラルネットワークを含む。モデルは、対象語の文脈ベクトルに少なくとも部分的に基づいて、対象語の分類値を出力するように構成されている順伝播型ニューラルネットワークをさらに含む。訓練サンプルのセットが取得される。訓練サンプルのセット内の各訓練サンプルは、文法誤りタイプに関連する対象語を含む文、及び、文法誤りタイプに関連する対象語の実際の分類を含む。再帰型ニューラルネットワークと関連付けられるパラメータの第１のセット、及び、順伝播型ニューラルネットワークと関連付けられるパラメータの第２のセットが、各訓練サンプル内の対象語の実際の分類と推定された分類との間の差に少なくとも部分的に基づいて、共に訓練される。
【０００７】
[0007]異なる例において、文法誤り検出のためのシステムは、メモリと、メモリに結合されている少なくとも１つのプロセッサとを含む。少なくとも１つのプロセッサは、文を受信し、１つ又は複数の文法誤りタイプに少なくとも部分的に基づいて、文内の１つ又は複数の単語を識別するように構成されている。１つ又は複数の対象語の各々は、１つ又は複数の文法誤りタイプのうちの少なくとも１つに対応する。少なくとも１つのプロセッサは、１つ又は複数の対象語のうちの少なくとも１つについて、対応する文法誤りタイプに関連する対象語の分類を、文法誤りタイプについて訓練された人工ニューラルネットワークモデルを使用して推定するようにさらに構成されている。モデルは、文内の対象語の前の少なくとも１つの単語及び対象語の後の少なくとも１つの単語に少なくとも部分的に基づいて、対象語の文脈ベクトルを生成するように構成されている２つの再帰型ニューラルネットワークを含む。モデルは、対象語の文脈ベクトルに少なくとも部分的に基づいて、文法誤りタイプに関連する対象語の分類値を出力するように構成されている順伝播型ニューラルネットワークをさらに含む。少なくとも１つのプロセッサは、文内の文法誤りを、対象語及び対象語の推定された分類に少なくとも部分的に基づいて検出するようにさらに構成されている。
【０００８】
[0008]別の例において、文法誤り検出のためのシステムは、メモリと、メモリに結合されている少なくとも１つのプロセッサとを含む。少なくとも１つのプロセッサは、文法誤りタイプに関連して文内の対象語の分類を推定するための人工ニューラルネットワークモデルを提供するように構成されている。モデルは、文内の対象語の前の少なくとも１つの単語及び対象語の後の少なくとも１つの単語に少なくとも部分的に基づいて、対象語の文脈ベクトルを出力するように構成されている２つの再帰型ニューラルネットワークを含む。モデルは、対象語の文脈ベクトルに少なくとも部分的に基づいて、対象語の分類値を出力するように構成されている順伝播型ニューラルネットワークをさらに含む。少なくとも１つのプロセッサは、訓練サンプルのセットを取得するようにさらに構成されている。訓練サンプルのセット内の各訓練サンプルは、文法誤りタイプに関連する対象語を含む文、及び、文法誤りタイプに関連する対象語の実際の分類を含む。少なくとも１つのプロセッサは、再帰型ニューラルネットワークと関連付けられるパラメータの第１のセット、及び、順伝播型ニューラルネットワークと関連付けられるパラメータの第２のセットを、各訓練サンプル内の対象語の実際の分類と推定された分類との間の差に少なくとも部分的に基づいて、共に調整するようにさらに構成されている。
【０００９】
[0009]他の概念は、文法誤り検出及び人工ニューラルネットワークモデル訓練のためのソフトウェアに関する。本概念によるソフトウェア製品は、少なくとも１つのコンピュータ可読非一時的デバイス、及び、デバイスによって担持される情報を含む。デバイスによって担持される情報は、要求と関連するパラメータ又は動作パラメータに関する実行可能命令であってもよい。
【００１０】
[0010]一例において、有形コンピュータ可読非一時的デバイスは、文法誤り検出のための命令を記録されており、命令は、コンピュータによって実行されると、コンピュータに一連の動作を実施させる。文が受信される。文内の１つ又は複数の対象語が１つ又は複数の文法誤りタイプに少なくとも部分的に基づいて識別される。１つ又は複数の対象語の各々は、１つ又は複数の文法誤りタイプのうちの少なくとも１つに対応する。１つ又は複数の対象語のうちの少なくとも１つについて、対応する文法誤りタイプに関連する対象語の分類が、文法誤りタイプについて訓練された人工ニューラルネットワークモデルを使用して推定される。モデルは、文内の対象語の前の少なくとも１つの単語及び対象語の後の少なくとも１つの単語に少なくとも部分的に基づいて、対象語の文脈ベクトルを出力するように構成されている２つの再帰型ニューラルネットワークを含む。モデルは、対象語の文脈ベクトルに少なくとも部分的に基づいて、文法誤りタイプに関連する対象語の分類値を出力するように構成されている順伝播型ニューラルネットワークをさらに含む。文内の文法誤りが、対象語及び対象語の推定された分類に少なくとも部分的に基づいて検出される。
【００１１】
[0011]別の例において、有形コンピュータ可読非一時的デバイスは、人工ニューラルネットワークモデルを訓練するための命令を記録されており、命令は、コンピュータによって実行されると、コンピュータに一連の動作を実施させる。文法誤りタイプに関連して文内の対象語の分類を推定するための人工ニューラルネットワークモデルが提供される。モデルは、文内の対象語の前の少なくとも１つの単語及び対象語の後の少なくとも１つの単語に少なくとも部分的に基づいて、対象語の文脈ベクトルを出力するように構成されている２つの再帰型ニューラルネットワークを含む。モデルは、対象語の文脈ベクトルに少なくとも部分的に基づいて、対象語の分類値を出力するように構成されている順伝播型ニューラルネットワークをさらに含む。訓練サンプルのセットが取得される。訓練サンプルのセット内の各訓練サンプルは、文法誤りタイプに関連する対象語を含む文、及び、文法誤りタイプに関連する対象語の実際の分類を含む。再帰型ニューラルネットワークと関連付けられるパラメータの第１のセット、及び、順伝播型ニューラルネットワークと関連付けられるパラメータの第２のセットが、各訓練サンプル内の対象語の実際の分類と推定された分類との間の差に少なくとも部分的に基づいて、共に訓練される。
【００１２】
[0012]本概要は、本明細書において記載されている主題の理解を提供するためにいくつかの実施形態を例示することのみを目的として与えられている。したがって、上述した特徴は、例に過ぎず、本開示における主題の範囲又は精神を狭めるように解釈されるべきではない。本開示の他の特徴、態様、及び利点は、以下の詳細な説明、図面、及び特許請求の範囲から明らかになる。
【図面の簡単な説明】
【００１３】
[0013]本明細書に組み込まれ、本明細書の一部を形成する添付の図面は、提示されている開示を図解し、本明細書とともに、本開示の原理を説明し、当業者が本開示を作成し、使用することを可能にする役割をさらに果たす。
【００１４】
【図１】[0014]図１は、一実施形態による文法誤り訂正（ＧＥＣ）システムを示すブロック図である。
【００１５】
【図２】[0015]図２は、図１のシステムによって実施される自動文法誤り訂正の一例の図である。
【００１６】
【図３】[0016]図３は、一実施形態による文法誤り訂正のための方法の一例を示す流れ図である。
【００１７】
【図４】[0017]図４は、一実施形態による、図１のシステムの分類ベースＧＥＣモジュールの一例を示すブロック図である。
【００１８】
【図５】[0018]図５は、一実施形態による、図１のシステムを使用した文内の対象語の分類の提供の一例の図である。
【００１９】
【図６】[0019]図６は、一実施形態による文法誤り訂正のための人工ニューラルネットワーク（ＡＮＮ）モデルの一例を示す概略図である。
【００２０】
【図７】[0020]図７は、一実施形態による文法誤り訂正のためのＡＮＮモデルの別の例を示す概略図である。
【００２１】
【図８】[0021]図８は、一実施形態による図６のＡＮＮモデルの一例を示す詳細な概略図である。
【００２２】
【図９】[0022]図９は、一実施形態による文の文法誤り訂正のための方法の一例を示す流れ図である。
【００２３】
【図１０】[0023]図１０は、一実施形態による文法誤りタイプに関連して対象語を分類するための方法の一例を示す流れ図である。
【００２４】
【図１１】[0024]図１１は、一実施形態による文法誤りタイプに関連して対象語を分類するための方法の別の例を示す流れ図である。
【００２５】
【図１２】[0025]図１２は、一実施形態による文法スコアを提供するための方法の一例を示す流れ図である。
【００２６】
【図１３】[0026]図１３は、一実施形態によるＡＮＮモデル訓練システムを示すブロック図である。
【００２７】
【図１４】[0027]図１４は、図１３のシステムによって使用される訓練サンプルの一例の図である。
【００２８】
【図１５】[0028]図１５は、一実施形態による文法誤り訂正のためのＡＮＮモデル訓練のための方法の一例を示す流れ図である。
【００２９】
【図１６】[0029]図１６は、一実施形態による文法誤り訂正のためのＡＮＮモデルの訓練の一例を示す概略図である。
【００３０】
【図１７】[0030]図１７は、本開示において記載されている様々な実施形態を実施するのに有用なコンピュータシステムの一例を示すブロック図である。
【発明を実施するための形態】
【００３１】
[0031]本開示は、添付の図面を参照して説明される。図面において、一般に、同様の参照符号は、同一の又は機能的に同様の要素を示す。加えて、一般に、参照符号の左端の数字（複数可）は、当該参照符号が最初に現れる図面を識別する。
【００３２】
[0032]以下の詳細な説明において、関連する本開示の完全な理解を提供するために、例として多数の具体的な詳細が記載される。しかしながら、本開示は当該詳細なしに実践することができることが当業者には明らかなはずである。他の事例において、周知の方法、手順、システム、構成要素、及び／又は回路は、本開示の態様を不必要に曖昧にすることを回避するために、詳細を省いて、相対的に高いレベルにおいて説明されている。
【００３３】
[0033]本明細書及び特許請求の範囲全体を通じて、用語は、明示的に陳述されている意味合いを超えて、文脈において示唆又は暗示される微妙な意味合いを有する場合がある。同様に、「１つの実施形態／例において」という語句は、本明細書において使用される場合、必ずしも同じ実施形態を参照するとは限らず、「別の実施形態／例において」という語句は、本明細書において使用される場合、必ずしも異なる実施形態を参照するとは限らない。例えば、特許請求される主題が、例示的な実施形態の組み合わせを全体的に又は部分的に含むことが意図される。
【００３４】
[0034]概して、専門用語は、少なくとも部分的に文脈における使用法から理解され得る。例えば、「及び」、「又は」、又は「及び／又は」のような用語は、本明細書において使用される場合、当該用語が使用されている文脈に少なくとも部分的に依存し得る様々な意味合いを含むことができる。典型的には、「又は」は、Ａ、Ｂ又はＣなど、リストを関連付けるために使用される場合、Ａ、Ｂ、及びＣを意味するように意図され、ここでは包含的な意味で使用され、また、Ａ、Ｂ、又はＣを意味するように意図され、ここでは排他的な意味で使用される。加えて、「１つ又は複数」という用語は、本明細書において使用される場合、文脈に少なくとも部分的に依存して、単数の意味において任意の特徴、構造、若しくは特性を説明するために使用され得、又は、複数の意味において特徴、構造又は特性の組み合わせを説明するために使用され得る。同様に、「１つの」（“ａ，”  “ａｎ”）又は「その」（“ｔｈｅ”）のような用語は、ここでも、文脈に少なくとも部分的に依存して、単数の用法を伝えるか、又は、複数の用法を伝えるものと理解され得る。加えて、「〜に基づいて」という用語は、必ずしも、要因の排他的な集合を伝えるように意図されているとは限らないものとして理解され得、代わりに、ここでも、文脈に少なくとも部分的に依存して、必ずしも明示的に記載されていない追加の要因の存在を許容し得る。
【００３５】
[0035]下記に詳細に開示されるように、他の新規の特徴の中でも、本明細書において開示される自動ＧＥＣシステム及び方法は、ネイティブテキストデータから訓練することができる深層文脈（deep context, ディープコンテキスト）モデルを使用して、文法誤りを効率的且つ効果的に検出し訂正する能力を提供する。いくつかの実施形態において、特定の文法誤りタイプについて、誤り訂正作業は、文法的文脈表現を、主に利用可能であるネイティブテキストデータから学習することができる分類問題として処理することができる。従来の分類方法と比較すると、本明細書において開示されているシステム及び方法は、通常、言語知識を必要として、すべての文脈パターンをカバーすることができない、洗練された特徴エンジニアリングを必要としない。いくつかの実施形態において、表面的で浅い特徴を使用する代わりに、本明細書において開示されているシステム及び方法は、文脈を表現するための再帰型ニューラルネットワークのような、深い特徴を直接的に使用することができる。いくつかの実施形態において、大量の教師データが通常必要とされるが限られた量しか利用可能でない、従来のＮＬＰ作業とは異なり、本明細書において開示されているシステム及び方法は、文法誤りを効果的に訂正するために、冗長なネイティブ平文コーパスを活用し、文脈表現及び分類を共にエンドツーエンドの様式で学習することができる。
【００３６】
[0036]追加の新規の特徴は、部分的には、後続する説明に記載され、部分的には、以下及び添付の図面の検討を受けて当業者に明らかになるか、又は、実施例の生成又は動作によって学習することができる。本開示の新規の特徴は、下記に論じられている詳細な例に記載されている方法、手段、及び組み合わせの様々な態様を実践又は使用することによって実現し、達成することができる。
【００３７】
[0037]図１は、一実施形態によるＧＥＣシステム１００を示すブロック図である。ＧＥＣシステム１００は、入力前処理モジュール１０２と、構文解析モジュール１０４と、対象語ディスパッチモジュール１０６と、各々が深層文脈を使用して分類ベースの文法誤り検出及び訂正を実施するように構成されている複数の分類ベースＧＥＣモジュール１０８とを含む。いくつかの実施形態において、ＧＥＣシステム１００は、ＧＥＣシステム１００の性能をさらに向上させるために、機械翻訳及び所定の規則ベースの方法のような、他のＧＥＣ方法を、分類ベースの方法と組み合わせるためのパイプラインアーキテクチャを使用して実施されてもよい。図１に示すように、ＧＥＣシステム１００は、機械翻訳ベースＧＥＣモジュール１１０と、規則ベースＧＥＣモジュール１１２と、スコア付け／訂正モジュール１１４とをさらに含むことができる。
【００３８】
[0038]入力前処理モジュール１０２は、入力テキスト１１６を受信し、入力テキスト１１６を前処理するように構成されている。入力テキスト１１６は、例えば、単一の文、段落、記事、又は任意のテキストコーパスなど、少なくとも１つの英文を含んでもよい。入力テキスト１１６は、例えば、手書き、タイピング、又はコピー／ペーストを介して直接的に受信することができる。入力テキスト１１６は、例えば、音声認識又は画像認識を介して間接的に受信することもできる。例えば、任意の適切な音声認識技法を使用して、音声入力を入力テキスト１１６に変換することができる。別の例において、任意の適切な光学文字認識（ＯＣＲ）技法を使用して、画像に含まれるテキストを入力テキスト１１６に転換することができる。
【００３９】
[0039]入力前処理モジュール１０２は、様々な方法で入力テキスト１１６を前処理することができる。いくつかの実施形態において、文法誤りは通常、特定の文の文脈において分析されるため、入力前処理モジュール１０２は、入力テキスト１１６を複数の文に分割することができ、結果、各文を、後の処理のための単位として処理することができる。入力テキスト１１６を複数の文に分割することは、文の始まり及び／又は終わりを認識することによって実施することができる。例えば、入力前処理モジュール１０２は、文の終わりの指標として、ピリオド、セミコロン、疑問符、又は感嘆符のような一定の句読点を探索することができる。入力前処理モジュール１０２はまた、文の開始の指標として、最初の文字が大文字になっている単語を探索することもできる。いくつかの実施形態において、入力前処理モジュール１０２は、例えば、入力テキスト１１６の任意の大文字を小文字に変換することによって、後のプロセスを容易にするために、入力テキスト１１６を小文字にすることができる。いくつかの実施形態において、入力前処理モジュール１０２はまた、語彙データベース１１８にない任意のトークンを判定するために、入力テキスト１１６のトークン（単語、語句、又は任意のテキスト文字列）を語彙データベース１１８に照らして調べることもできる。一致しないトークンは、例えば、単一のｕｎｋトークン（未知のトークン）などの特別なトークンとして処理され得る。語彙データベース１１８は、ＧＥＣシステム１００によって処理することができるすべての単語を含む。語彙データベース１１８にない任意の単語又は他のトークンは、ＧＥＣシステム１００によって無視されるか、又は、別様に処理され得る。
【００４０】
[0040]構文解析モジュール１０４は、入力テキスト１１６の各文内の１つ又は複数の対象語を識別するために、入力テキスト１１６を構文解析（parse, パース）するように構成されている。すべての文法誤りをまとめて考慮し、正しくないテキストを正しいテキストに置き換えるようと試行する既知のシステムとは異なり、ＧＥＣシステム１００は、詳細に後述するように、各特定の文法誤りタイプについて訓練されたモデルを使用する。したがって、いくつかの実施形態において、構文解析モジュール１０４は、各対象語が文法誤りタイプのうちの少なくとも１つに対応するように、所定の文法誤りタイプに基づいて、各文内のテキストトークンから対象語を識別することができる。文法誤りタイプは、限定ではないが、冠詞誤り、主語一致誤り、動詞形態誤り、前置詞誤り、及び名詞単数複数誤りを含む。文法誤りタイプは上記の例に限定されず、任意の他のタイプを含んでもよいことは諒解されたい。いくつかの実施形態において、構文解析モジュール１０４は、各文をトークン化し、語彙情報及びＧＥＣシステム１００が分かっている知識を含む語彙データベース１１８と協働して、トークンから対象語を識別することができる。
【００４１】
[0041]例えば、主語一致誤りについて、構文解析モジュール１０４は、三人称でない単数現在形の単語及び三人称単数現在形の単語のマップ関係を前もって抽出することができる。構文解析モジュール１０４は、次いで、動詞を対象語として特定することができる。冠詞誤りについて、構文解析モジュール１０４は、名詞及び名詞句（名詞語と形容詞語との組み合わせ）を対象語として特定することができる。動詞形態誤りについて、構文解析モジュール１０４は、原形、動名詞若しくは現在分詞、又は過去分詞の形態の動詞を、対象語として特定することができる。前置詞誤りに関して、構文解析モジュール１０４は、前置詞を対象語として特定することができる。名詞単数複数誤りに関して、構文解析モジュール１０４は、名詞を対象語として特定することができる。１つの単語が、構文解析モジュール１０４によって複数の文法誤りタイプに対応するものとして識別される場合があることは諒解されたい。例えば、動詞が、主語一致誤り及び動詞形態誤りに関連する対象語として識別される場合があり、名詞又は名詞句が、冠詞誤り及び名詞単数複数誤りに関連する対象語として識別される場合がある。対象語が、名詞句のような、複数の単語の組み合わせである句を含む場合があることも諒解されたい。
【００４２】
[0042]いくつかの実施形態において、各文法誤りタイプについて、構文解析モジュール１０４は、各対象語の実際の分類を判定するように構成することができる。構文解析モジュール１０４は、対応する文法誤りタイプに関連する元のラベルを、対象語の実際の分類値として、各対象語に割り当てることができる。例えば、主語一致誤りについて、動詞の実際の分類は、三人称単数現在形又は原形のいずれかである。構文解析モジュール１０４は、対象語が三人称単数現在形である場合、例えば「１」の元のラベルを対象語に割り当て、又は、対象語が原形である場合、「０」を割り当てることができる。冠詞誤りについて、対象語の実際の分類は、「ａ／ａｎ」、「ｔｈｅ」又は「無冠詞」であり得る。構文解析モジュール１０４は、対象語（名詞語又は名詞句）の前の冠詞を調べて、各対象語の実際の分類を判定することができる。動詞形態誤りに関して、対象語（例えば、動詞）の実際の分類は、「原形」、「動名詞又は現在分詞」、又は「過去分詞」であり得る。前置詞誤りに関して、最も頻繁に使用される前置詞が、構文解析モジュール１０４によって実際の分類として使用され得る。いくつかの実施形態において、実際の分類は、「ａｂｏｕｔ」、「ａｔ」、「ｂｙ」、「ｆｏｒ」、「ｆｒｏｍ」、「ｉｎ」、「ｏｆ」、「ｏｎ」、「ｔｏ」、「ｕｎｔｉｌ」、「ｗｉｔｈ」及び「ａｇａｉｎｓｔ」の、１１個の元のラベルを含む。名詞単数複数誤りに関して、対象語（例えば、名詞）の実際の分類は、単数形又は複数形であり得る。いくつかの実施形態において、構文解析モジュール１０４は、語彙データベース１１８と協働して、品詞（ＰｏＳ）タグに基づいて対応する文法誤りタイプに関連する各対象語の元のラベルを判定することができる。
【００４３】
[0043]対象語ディスパッチモジュール１０６は、対応する文法誤りタイプについて分類ベースＧＥＣモジュール１０８に各対象語をディスパッチするように構成されている。いくつかの実施形態において、各文法誤りタイプについて、ＡＮＮモデル１２０は、独立して訓練され、対応する分類ベースＧＥＣモジュール１０８によって使用される。したがって、各分類ベースＧＥＣモジュール１０８は、１つの特定の文法誤りタイプと関連付けられ、同じ文法誤りタイプに関連する対象語を取り扱うように構成されている。例えば、前置詞（前置詞誤りタイプに関連する）である対象語について、対象語ディスパッチモジュール１０６は、前置詞誤りを取り扱う分類ベースＧＥＣモジュール１０８に、前置詞を送信することができる。１つの単語が、複数の文法誤りタイプに関連する対象語として判定される場合があるため、対象語ディスパッチモジュール１０６は、複数の分類ベースＧＥＣモジュール１０８に同じ単語を送信する場合があることは諒解されたい。いくつかの実施形態において、ＧＥＣシステム１００によって各分類ベースＧＥＣモジュール１０８に割り当てられるリソースは等しくない場合があることも諒解されたい。例えば、一定のユーザ群内で又は特定のユーザについて各文法誤りタイプが発生した頻度に応じて、対象語ディスパッチモジュール１０６は、最も頻繁に発生した文法誤りタイプに関連する対象語を、最高の優先度をもってディスパッチすることができる。例えば、多数の文及び／又は各文内の対象語など、サイズの大きい入力テキスト１１６について、対象語ディスパッチモジュール１０６は、待ち時間を低減するために、各分類ベースＧＥＣモジュール１０８の作業負荷に照らして、各文内の各対象語の処理を最適にスケジュールすることができる。
【００４４】
[0044]各分類ベースＧＥＣモジュール１０８は、対応する文法誤りタイプについて訓練された対応するＡＮＮモデル１２０を含む。分類ベースＧＥＣモジュール１０８は、対応するＡＮＮモデル１２０を使用して、対応する文法誤りタイプに関連する対象語の分類を推定するように構成されている。下記に詳細に説明するように、いくつかの実施形態において、ＡＮＮモデル１２０は、文内の対象語の前の少なくとも１つの単語及び対象語の後の少なくとも１つの単語に基づいて、対象語の文脈ベクトルを出力するように構成されている２つの再帰型ニューラルネットワークを含む。ＡＮＮモデル１２０は、対象語の文脈ベクトルに基づいて、文法誤りタイプに関する対象語の分類値を出力するように構成されている順伝播型ニューラルネットワークをさらに含む。
【００４５】
[0045]分類ベースＧＥＣモジュール１０８は、対象語及び対象語の推定された分類に基づいて、文内の文法誤りを検出するようにさらに構成されている。上述したように、いくつかの実施形態において、各対象語の実際の分類は、構文解析モジュール１０４によって判定することができる。その後、分類ベースＧＥＣモジュール１０８は、対象語の推定された分類を、対象語の実際の分類と比較し、実際の分類が対象語の推定された分類と一致しないとき、文内の文法誤りを検出することができる。例えば、一定の文法誤りタイプについて、対応するＡＮＮモデル１２０は、対象語の周囲の可変長文脈の埋め込み関数を学習することができ、対応する分類ベースＧＥＣモジュール１０８は、文脈埋め込みによって、対象語の分類を予測することができる。予測される分類ラベルが対象語の元のラベルと異なる場合、対象語は誤りとしてフラグ立てすることができ、予測を訂正として使用することができる。
【００４６】
[0046]図１に示すように、いくつかの実施形態において、様々な文法誤りタイプについて文法誤りを同時に検出するために、複数の分類ベースＧＥＣモジュール１０８が、ＧＥＣシステム１００に並列に適用されてもよい。上述したように、ＧＥＣシステム１００のリソースは、各文法誤りタイプの発生頻度に基づいて、異なる文法誤りタイプに割り当てることができる。例えば、他よりも頻繁に発生する文法誤りタイプを取り扱うために、ＧＥＣシステム１００によってより多くの計算リソースを配分することができる。リソースの配分は、頻度変化及び／又は各分類ベースＧＥＣモジュール１０８の作業負荷に照らして動的に調整することができる。
【００４７】
[0047]機械翻訳ベースＧＥＣモジュール１１０は、語句ベースの機械翻訳、ニューラルネットワークベースの機械翻訳などのような、統計的機械翻訳に基づいて、各文内の１つ又は複数の文法誤りを検出するように構成されている。いくつかの実施形態において、機械翻訳ベースＧＥＣモジュール１１０は、文について確率を割り当てる言語サブモデルと、条件付き確率を割り当てる翻訳サブモデルとを有するモデルを含む。言語サブモデルは、標的言語の単一言語訓練データセットを使用して訓練することができる。翻訳サブモデルのパラメータは、並列訓練データセット、すなわち、外国語文及び当該外国語文の標的言語への対応する翻訳から成るセットから推定することができる。ＧＥＣシステム１００のパイプラインアーキテクチャにおいて、機械翻訳ベースＧＥＣモジュール１１０を、分類ベースＧＥＣモジュール１０８の出力に適用することができ、又は、分類ベースＧＥＣモジュール１０８を、機械翻訳ベースＧＥＣモジュール１１０の出力に適用することができることは諒解されたい。また、いくつかの実施形態において、機械翻訳ベースＧＥＣモジュール１１０をパイプラインに追加することによって、一定の分類ベースＧＥＣモジュール１０８は、機械翻訳ベースＧＥＣモジュール１１０の方が性能が優れている場合、パイプラインに含まれなくてもよい。
【００４８】
[0048]規則ベースＧＥＣモジュール１１２は、所定の規則に基づいて、各文内の１つ又は複数の文法誤りを検出するように構成されている。パイプライン内の規則ベースＧＥＣモジュール１１２の位置は、図１に示すような終端部に限定されず、最初の検出モジュールとしてパイプラインの始まりにあってもよく、又は、分類ベースＧＥＣモジュール１０８と機械翻訳ベースＧＥＣモジュール１１０との間にあってもよいことは諒解されたい。いくつかの実施形態において、句読点、綴り、及び大文字化の誤りのような、他の機械的誤りを、規則ベースＧＥＣモジュール１１２によって所定の規則を使用して検出及び修正することもできる。
【００４９】
[0049]スコア付け／訂正モジュール１１４は、パイプラインから受信される文法誤り結果に基づいて、入力テキスト１１６の訂正済みテキスト及び／又は文法スコア１２２を提供するように構成されている。分類ベースＧＥＣモジュール１０８を例に挙げると、推定された分類が実際の分類と一致しないために文法誤りがあるものとして検出される各対象語について、スコア付け／訂正モジュール１１４によって、対象語の推定された分類に基づいて、対象語の文法誤り訂正が与えられ得る。入力テキスト１１６を評価するために、スコア付け／訂正モジュール１１４はまた、スコアリング関数を使用して、パイプラインから受信される文法誤り結果に基づいて文法スコア１２２を与えることもできる。いくつかの実施形態において、スコアリング関数は、異なるタイプの文法誤りが異なるレベルの影響を文法スコア１２２に及ぼすことができるように、各文法誤りタイプに重みを割り当てることができる。重みは、文法誤り結果を評価する際の重み付け係数として、精度及び再現率に割り当てることができる。いくつかの実施形態において、入力テキスト１１６の提供元であるユーザも、スコアリング関数によって考慮することができる。例えば、重みは、異なるユーザに対しては異なり得、又は、ユーザの情報（例えば、母国語、居住地、教育レベル、履歴スコア、年齢など）が、スコアリング関数に織り込まれ得る。
【００５０】
[0050]図２は、図１のＧＥＣシステム１００によって実施される自動文法誤り訂正の一例の図である。図２に示すように、入力テキスト２０２は、複数の文を含み、ユーザＩＤ−１２３４によって識別されるユーザから受信される。各々が対応する文法誤りタイプについて個々に訓練された複数のＡＮＮモデル１２０によってＧＥＣシステム１００を通過した後、文法スコアを有する訂正済みテキスト２０４が、ユーザに与えられる。例えば、入力テキスト２０２内の文「ｉｔ  ｗｉｌｌ  ｊｕｓｔ  ａｄｄｉｎｇ  ｏｎ  ｔｈｅｉｒ  ｍｉｓｅｒｙ」において、動詞「ａｄｄｉｎｇ」は、ＧＥＣシステム１００によって動詞形態誤りに関連する対象語として識別される。対象語「ａｄｄｉｎｇ」の実際の分類は、動名詞又は現在分詞である。ＧＥＣシステム１００は、動詞形態誤りについて訓練されたＡＮＮモデル１２０を適用し、対象語「ａｄｄｉｎｇ」の分類が原形「ａｄｄ」であると推定する。推定された分類が対象語「ａｄｄｉｎｇ」の実際の分類と一致しないため、動詞形態文法誤りがＧＥＣシステム１００によって検出され、当該誤りは、動詞形態誤りタイプ及び／又はユーザの個人情報に適用される重みに照らして文法スコアに影響を及ぼす。対象語「ａｄｄｉｎｇ」の推定された分類はまた、ＧＥＣシステム１００によって、訂正済みテキスト２０４において「ａｄｄｉｎｇ」を置き換えるための訂正「ａｄｄ」を与えるためにも使用される。「ｄｉｓｈｅａｒｔｅｎ」を「ｄｉｓｈｅａｒｔｅｎｉｎｇ」にするなど、入力テキスト２０２内の他の文法形態誤りを検出し訂正するために、動詞形態誤りのための同じＡＮＮモデル１２０が、ＧＥＣシステム１００によって使用される。他のタイプの文法誤りを検出するためには、他の文法誤りタイプのためのＡＮＮモデル１２０が、ＧＥＣシステム１００によって使用される。例えば、「ｆｏｒ」を「ｉｎ」にする、及び、「ｔｏ」を「ｏｎ」など、入力テキスト２０２内の前置詞誤りを検出し訂正するために、前置詞誤りのためのＡＮＮモデル１２０が、ＧＥＣシステム１００によって使用される。
【００５１】
[0051]図３は、一実施形態による文法誤り訂正のための方法３００の一例を示す流れ図である。方法３００は、ハードウェア（例えば、回路、専用論理、プログラム可能論理、マイクロコードなど）、ソフトウェア（例えば、処理デバイス上で実行する命令）、又はハードウェアとソフトウェアとの組み合わせを含み得る処理論理によって実施することができる。本明細書において与えられている本開示を実施するために、すべてのステップが必要とされるとは限らない場合があることは諒解されたい。さらに、当業者には理解されるように、ステップのいくつかは、同時に実施されてもよく、又は、図３に示す順序とは異なる順序において実施されてもよい。
【００５２】
[0052]方法３００を図１を参照しながら説明する。しかしながら、方法３００は、当該例示的実施形態には限定されない。３０２において、入力テキストが受信される。入力テキストは、少なくとも１つの文を含む。入力テキストは、例えば、手書き、タイピング、若しくはコピー／ペーストから直接的に受信されてもよく、又は、例えば、音声認識若しくは画像認識から間接的に受信されてもよい。３０４において、受信されている入力テキストが、複数の文に分割される、すなわちテキストトークン化など、前処理される。いくつかの実施形態において、前処理は、入力テキストが小文字になるように、大文字を小文字に変換することを含むことができる。いくつかの実施形態において、前処理は、語彙データベース１１８にない、入力テキスト内の任意のトークンを識別することと、それらのトークンを特別なトークンとして表現することとを含むことができる。３０２及び３０４は、ＧＥＣシステム１００の入力前処理モジュール１０２によって実施することができる。
【００５３】
[0053]３０６において、前処理されている入力テキストは、各文内の１つ又は複数の対象語を識別するために構文解析される。対象語は、各対象語が文法誤りタイプのうちの少なくとも１つに対応するように、文法誤りタイプに基づいて、テキストトークンから識別することができる。文法誤りタイプは、限定ではないが、冠詞の誤り、主語一致の誤り、動詞形態の誤り、前置詞の誤り、及び名詞単数複数の誤りを含む。いくつかの実施形態において、対応する文法誤りタイプに関連する各対象語の実際の分類が判定される。判定は、例えば、ＰｏＳタグ又は文内のテキストトークンに基づいて自動的に行うことができる。いくつかの実施形態において、対象語の識別及び実際の分類の判定は、Ｓｔａｎｆｏｒｄ  ｃｏｒｅｎｌｐツールのようなＮＬＰツールによって実施されてもよい。３０６は、ＧＥＣシステム１００の構文解析モジュール１０４によって実施することができる。
【００５４】
[0054]３０８において、各対象語が、対応する分類ベースＧＥＣモジュール１０８にディスパッチされる。各分類ベースＧＥＣモジュール１０８は、例えば、ネイティブ訓練サンプルに対して、対応する文法誤りタイプについて訓練されたＡＮＮモデル１２０を含む。３０８は、ＧＥＣシステム１００の対象語ディスパッチモジュール１０６によって実施することができる。３１０において、各文内の１つ又は複数の文法誤りが、ＡＮＮモデル１２０を使用して検出される。いくつかの実施形態において、各対象語について、対応する文法誤りタイプに関連する対象語の分類を、対応するＡＮＮモデル１２０を使用して推定することができる。その後、文法誤りを、対象語及び対象語の推定された分類に基づいて検出することができる。例えば、推定が元のラベルと異なり、且つ、確率が所定の閾値よりも大きい場合、文法誤りが見つかったと考えられる。３１０は、ＧＥＣシステム１００の分類ベースＧＥＣモジュール１０８によって実施することができる。
【００５５】
[0055]３１２において、各文内の１つ又は複数の文法誤りを、機械翻訳を使用して検出することができる。３１２は、ＧＥＣシステム１００の機械翻訳ベースＧＥＣモジュール１１０によって実施することができる。３１４において、各文内の１つ又は複数の文法誤りを、所定の規則に基づいて検出することができる。３１４は、ＧＥＣシステム１００の規則ベースＧＥＣモジュール１１２によって実施することができる。いくつかの実施形態において、ＧＥＣシステム１００の性能をさらに向上させるために、パイプラインアーキテクチャを使用して、任意の適切な機械翻訳及び所定の規則ベースの方法を、本明細書において説明されているような分類ベースの方法と組み合わせることができる。
【００５６】
[0056]３１６において、入力テキストの検出されている文法誤り及び／又は文法スコアに対する訂正が与えられる。いくつかの実施形態において、対応する文法誤りタイプに基づいて、対象語の各文法誤り結果に、重みを適用することができる。文法誤り結果及び文内の対象語並びに各文法誤り結果に適用される重みに基づいて、各文の文法スコアを決定することができる。いくつかの実施形態において、文法スコアは、文がそこから受信されたユーザと関連付けられる情報にも基づいて与えることができる。検出されている文法誤りに対する訂正に関して、いくつかの実施形態において、対応する文法誤りタイプに関連する対象語の推定された分類を使用して、訂正を生成することができる。訂正及び文法スコアは必ずしもともに与えられるとは限らないことは諒解されたい。３１６は、ＧＥＣシステム１００のスコア付け／訂正モジュール１１４によって実施することができる。
【００５７】
[0057]図４は、一実施形態による、図１のＧＥＣシステム１００の分類ベースＧＥＣモジュール１０８の一例を示すブロック図である。上述したように、分類ベースＧＥＣモジュール１０８は、文４０２内の対象語を受信し、対象語の対応する文法誤りタイプのためのＡＮＮモデル１２０を使用して対象語の分類を推定するように構成されている。文４０２内の対象語はまた、（例えば、構文解析モジュール１０４内の）対象語ラベリングユニット４０４によっても受信される。対象語ラベリングユニット４０４は、例えばＰｏＳタグ又は文４０２内のテキストトークンに基づいて、対象語の実際の分類（例えば、元のラベル）を判定するように構成されている。分類ベースＧＥＣモジュール１０８は、対象語の推定された分類及び実際の分類に基づいて、文法誤り結果を提供するようにさらに構成されている。図４に示すように、分類ベースＧＥＣモジュール１０８は、初期文脈生成ユニット４０６と、深層文脈表現ユニット４０８と、分類ユニット４１０と、注意ユニット（ａｔｔｅｎｔｉｏｎ  ｕｎｉｔ）４１２と、分類比較ユニット４１４とを含む。
【００５８】
[0058]初期文脈生成ユニット４０６は、文４０２内の対象語の周囲の単語（文脈語）に基づいて、対象語の初期文脈ベクトル複数のセット（初期文脈行列）を生成するように構成されている。いくつかの実施形態において、初期文脈ベクトルセットは、文４０２内の対象語の前の少なくとも１つの単語（順方向文脈語）に基づいて生成される順方向初期文脈ベクトルのセット（順方向初期文脈行列）、及び、文４０２内の対象語の後の少なくとも１つの単語（逆方向文脈語）に基づいて生成される逆方向初期文脈ベクトルのセット（逆方向初期文脈行列）を含む。各初期文脈ベクトルは、文４０２内の１つの文脈語を表す。いくつかの実施形態において、初期文脈ベクトルは、ｏｎｅ−ｈｏｔベクトルであってもよく、ｏｎｅ−ｈｏｔベクトルは、ｏｎｅ−ｈｏｔベクトルのサイズ（次元）が（例えば、語彙データベース１１８内の）語彙サイズと同じであるような、ｏｎｅ−ｈｏｔ符号化に基づいて単語を表す。いくつかの実施形態において、初期文脈ベクトルは、文脈語の単語埋め込みベクトルのような、語彙サイズよりも次元が小さい低次元ベクトルであってもよい。例えば、単語埋め込みベクトルは、限定ではないがｗｏｒｄ２ｖｅｃ又はＧｌｏｖｅのような、任意の適切で一般的な単語埋め込み手法によって生成されてもよい。いくつかの実施形態において、初期文脈生成ユニット４０６は、初期文脈ベクトルの１つ又は複数のセットを出力するように構成されている１つ又は複数の再帰型ニューラルネットワークを使用することができる。初期文脈生成ユニット４０６によって使用される再帰型ニューラルネットワーク（複数可）は、ＡＮＮモデル１２０の一部であってもよい。
【００５９】
[0059]順方向又は逆方向初期文脈ベクトルのセットを生成するのに使用される文脈語の数は限定されないことは諒解されたい。いくつかの実施形態において、順方向初期文脈ベクトルのセットは、文４０２内の対象語の前のすべての単語に基づいて生成され、逆方向初期文脈ベクトルのセットは、文４０２内の対象語の後のすべての単語に基づいて生成される。各分類ベースＧＥＣモジュール１０８及び対応するＡＮＮモデル１２０は、特定の文法誤りタイプを取り扱い、異なるタイプの分布誤りの訂正は、異なる単語距離からの依存性を必要とし得るため（例えば、前置詞は対象語の近くの単語によって判定され、一方、動詞の状態は動詞から遠く離れた主語によって影響され得る）、いくつかの実施形態において、順方向又は逆方向初期文脈ベクトルのセットを生成するために使用される文脈語の数（すなわち、ウィンドウサイズ）は、分類ベースＧＥＣモジュール１０８及び対応するＡＮＮモデル１２０と関連付けられる文法誤りタイプに基づいて判定することができる。
【００６０】
[0060]いくつかの実施形態において、初期文脈ベクトルは、対象語自体の見出し語に基づいて生成することができる。見出し語は、単語の基本形である（例えば、単語「ｗａｌｋ」、「ｗａｌｋｓ」、「ｗａｌｋｅｄ」、「ｗａｌｋｉｎｇ」はすべて同じ見出し語「ｗａｌｋ」を有する）。例えば、名詞単数複数誤りと関連付けられる分類ベースＧＥＣモジュール１０８及び対応するＡＮＮモデル１２０について、対象語が単数形であるべきか又は複数形であるべきかは、対象語自体に密接に関係するため、文脈語（すなわち、文４０２内の対象語の周囲の単語）に加えて、対象名詞語の見出し語形態を、抽出文脈情報として、初期見出し語文脈ベクトルの形態で導入することができる。いくつかの実施形態において、対象語の見出し語の初期文脈ベクトルは、順方向初期文脈ベクトルのセットの一部又は逆方向初期文脈ベクトルのセットの一部であってもよい。
【００６１】
[0061]いくつかの既知のＧＥＣシステムにおいては、意味特徴を、文から、生成される特徴ベクトルへと手動で設計及び抽出する必要があり、言語の複雑性に起因してすべての状況をカバーすることは困難である。対照的に、文４０２内の対象語の文脈語が（例えば、初期文脈ベクトルの形態の）初期文脈情報として直接的に使用され、下記に詳細に説明するように、深層文脈特徴表現を、分類と共にエンドツーエンドの様式で学習することができるため、本明細書において開示される分類ベースＧＥＣモジュール１０８は、複雑な特徴エンジニアリングを必要としない。
【００６２】
[0062]図５を参照すると、当該例において、文が、対象語ｉを含むｎ個の単語１〜ｎから構成される。対象語ｉの前の各単語、すなわち、単語１、単語２、．．．、又は単語ｉ−１について、対応する初期文脈ベクトル１、２、．．．、又はｉ−１が生成される。初期文脈ベクトル１、２、．．．、及びｉ−１は、対象語ｉの前の単語から生成されるため、「順方向」ベクトルであり、順方向において（すなわち、文の始まり、すなわち第１の単語１から）後の段へと供給されることになる。対象語ｉの後の各単語、すなわち、単語ｉ＋１、単語ｉ＋２、．．．、又は単語ｎについて、対応する初期文脈ベクトルｉ＋１、ｉ＋２、．．．、又はｎが生成される。初期文脈ベクトルｎ、．．．、ｉ＋２、及びｉ＋１は、対象語ｉの後の単語から生成されるため、「逆方向」ベクトルであり、逆方向方向において（すなわち、文の終端部、すなわち最後の単語ｎから）後の段へと供給されることになる。
【００６３】
[0063]当該例において、順方向初期文脈ベクトルのセットは、単語埋め込みの次元と同じ数の列及び対象語ｉの前の単語の数と同じ数の行を有する順方向初期文脈行列として表すことができる。順方向初期文脈行列の第１の行は、第１の単語１の単語埋め込みベクトルであり得、順方向初期文脈行列の最後の行は、対象語ｉの直前の単語ｉ−１の単語埋め込みベクトルであり得る。逆方向初期文脈ベクトルのセットは、単語埋め込みの次元と同じ数の列及び対象語ｉの後の単語の数と同じ数の行を有する逆方向初期文脈行列として表すことができる。逆方向初期文脈行列の第１の行は、最後の単語ｎの単語埋め込みベクトルであり得、逆方向初期文脈行列の最後の行は、対象語ｉの直後の単語ｉ＋１の単語埋め込みベクトルであり得る。各単語埋め込みベクトルの次元の数は、少なくとも１００、例えば３００であってもよい。当該例において、見出し語初期文脈ベクトルｌｅｍ（例えば、単語埋め込みベクトル）も、対象語ｉの見出し語に基づいて生成され得る。
【００６４】
[0064]図４に戻って参照すると、深層文脈表現ユニット４０８は、ＡＮＮモデル１２０を使用して、例えば、初期文脈生成ユニット４０６によって生成される順方向及び逆方向初期文脈ベクトルのセットなど、文４０２内の文脈語に基づいて、対象語の文脈ベクトルを提供するように構成されている。分類ユニット４１０は、ＡＮＮモデル１２０を使用して、例えば、深層文脈表現ユニット４０８によって生成される文脈ベクトルなど、文４０２内の対象語の深層文脈表現に基づいて、文法誤りタイプに関連する対象語の分類値を提供するように構成されている。
【００６５】
[0065]図６を参照すると、一実施形態による、ＡＮＮモデル１２０の一例の概略図が示されている。当該例において、ＡＮＮモデル１２０は、深層文脈表現ユニット４０８によって使用することができる深層文脈表現サブモデル６０２と、分類ユニット４１０によって使用することができる分類サブモデル６０４とを含む。深層文脈表現サブモデル６０２及び分類サブモデル６０４は共に、エンドツーエンドの様式で訓練することができる。深層文脈表現サブモデル６０２は、２つの再帰型ニューラルネットワーク、すなわち、順方向再帰型ニューラルネットワーク６０６及び逆方向再帰型ニューラルネットワーク６０８を含む。各再帰型ニューラルネットワーク６０６又は６０８は、長・短期記憶（ＬＳＴＭ）ニューラルネットワーク、ゲート付き再帰型ユニット（ＧＲＵ）ニューラルネットワーク、又は、隠れユニット間の接続が有向閉路を形成する任意の他の適切な再帰型ニューラルネットワークであってもよい。
【００６６】
[0066]再帰型ニューラルネットワーク６０６及び６０８は、文４０２内の対象語の文脈語から生成される初期文脈ベクトルに基づいて、対象語の文脈ベクトルを出力するように構成されている。いくつかの実施形態において、順方向再帰型ニューラルネットワーク６０６は、順方向初期文脈ベクトルのセットを受信し、順方向初期文脈ベクトルのセットに基づいて対象語の順方向文脈ベクトルを提供するように構成されている。順方向再帰型ニューラルネットワーク６０６には、順方向における順方向初期文脈ベクトルのセットを供給することができる。逆方向再帰型ニューラルネットワーク６０８は、逆方向初期文脈ベクトルのセットを受信し、逆方向初期文脈ベクトルのセットに基づいて対象語の逆方向文脈ベクトルを提供するように構成されている。逆方向再帰型ニューラルネットワーク６０８には、逆方向における逆方向初期文脈ベクトルのセットを供給することができる。いくつかの実施形態において、順方向及び逆方向初期文脈ベクトルのセットは、上述したような単語埋め込みベクトルであってもよい。いくつかの実施形態において、順方向文脈ベクトル及び／又は逆方向文脈ベクトルを生成するために、対象語の見出し語初期文脈ベクトルが、順方向再帰型ニューラルネットワーク６０６及び／又は逆方向再帰型ニューラルネットワーク６０８に供給されてもよいことは諒解されたい。
【００６７】
[0067]ここで図５を参照すると、当該例において、順方向再帰型ニューラルネットワークは、順方向における（例えば、順方向初期文脈行列の形態の）順方向初期文脈ベクトルのセットを供給され、順方向文脈ベクトルｆｏｒを生成する。逆方向再帰型ニューラルネットワークは、逆方向における（例えば、逆方向初期文脈行列の形態の）逆方向初期文脈ベクトルのセットを供給され、逆方向文脈ベクトルｂａｃｋを生成する。いくつかの実施形態において、見出し語初期文脈ベクトルｌｅｍが、順方向再帰型ニューラルネットワーク及び／又は逆方向再帰型ニューラルネットワークに供給されてもよいことは諒解されたい。順方向及び逆方向再帰型ニューラルネットワークの各々の隠れユニットの数は少なくとも３００、例えば６００である。当該例において、次いで、対象語ｉの深層文脈ベクトルｉが、順方向文脈ベクトルｆｏｒ及び逆方向文脈ベクトルｂａｃｋを連結することによって生成される。深層文脈ベクトルｉは、対象語ｉの周囲の文脈語１〜ｉ−１及び文脈語ｉ＋１〜ｎ（並びにいくつかの実施形態においては対象語ｉの見出し語）に基づいて、対象語ｉの深層文脈情報を表現する。言い換えれば、深層文脈ベクトルｉは、対象語ｉの周りの結合文脈の埋め込みと考えられ得る。上述したように、深層文脈ベクトルｉは、対象語ｉの文脈を表現するために意味内容を手動で設計し抽出するために、複雑な特徴エンジニアリングが必要とされないため、様々な状況を取り扱うことができる一般的な表現である。
【００６８】
[0068]図６に戻って参照すると、分類サブモデル６０４は、対象語の文脈ベクトルに基づいて、文法誤りタイプに関する対象語の分類値を出力するように構成されている順伝播型ニューラルネットワーク６１０を含む。順伝播型ニューラルネットワーク６１０は、多層パーセプトロン（ＭＬＰ）ニューラルネットワーク、又は、隠れユニットの間の接続が閉路を形成しない任意の他の適切な順伝播型ニューラルネットワークを含んでもよい。例えば、図５に示すように、深層文脈ベクトルｉは、順伝播型ニューラルネットワークに供給されて、対象語ｉの分類値ｙが生成される。異なる文法誤りタイプについて、分類値ｙは、表Ｉに示すような異なる方法で定義することができる。文法誤りタイプは表Ｉの５つの例に限定されず、分類値ｙの定義もまた、表Ｉに示す例に限定されないことは諒解されたい。いくつかの実施形態において、分類値ｙは、文法誤りタイプと関連付けられるクラス（ラベル）にわたる対象語の確率分布として表現されてもよいことも諒解されたい。
【表１】
2020529666.tif 000003
【００６９】
[0069]いくつかの実施形態において、順伝播型ニューラルネットワーク６１０は、文脈ベクトルに対する全結合線形演算（fully connected linear operation）の第１の活性化関数を有する第１の層を含むことができる。第１の層の第１の活性化関数は、例えば、正規化線形ユニット活性化関数、又は、先行する層（複数可）からの１倍の出力の関数である任意の他の適切な活性化関数であってもよい。順伝播型ニューラルネットワーク６１０はまた、第１の層に接続されており、分類値を生成するための第２の活性化関数を有する第２の層をも含むことができる。第２の層の第２の活性化関数は、例えば、ソフトマックス活性化関数、又は、マルチクラス分類に使用される任意の他の適切な活性化関数であってもよい。
【００７０】
[0070]図４に戻ると、いくつかの実施形態において、注意ユニット４１２は、ＡＮＮモデル１２０を使用して、文４０２内の対象語の前の少なくとも１つの単語及び対象語の後の少なくとも１つの単語に基づいて、対象語の文脈重みベクトルを提供するように構成されている。図７は、一実施形態による文法誤り訂正のためのＡＮＮモデル１２０の別の例を示す概略図である。図６に示す例と比較すると、図７のＡＮＮモデル１２０は、注意ユニット４１２によって使用することができる注意メカニズムサブモデル７０２をさらに含む。ひいては、重み付き文脈ベクトルが、文脈重みベクトルを文脈ベクトルに適用することによって計算される。深層文脈表現サブモデル６０２、分類サブモデル６０４、及び注意メカニズムサブモデル７０２は共に、エンドツーエンドの様式で訓練することができる。いくつかの実施形態において、注意メカニズムサブモデル７０２は、対象語の文脈語に基づいて、対象語の文脈重みベクトルを生成するように構成されている順伝播型ニューラルネットワーク７０４を含む。順伝播型ニューラルネットワーク７０４は、文内の各文脈語と対象語との間の距離に基づいて訓練することができる。いくつかの実施形態において、文脈重みベクトルは対象語への異なる距離によって文脈語の重みを調整することができるため、文内のすべての周囲の単語に基づいて初期文脈ベクトルのセットを生成することができ、文脈重みベクトルは、文法的用法に影響を及ぼす文脈語に焦点を当てるように重み付き文脈ベクトルを調整することができる。
【００７１】
[0071]図４に戻って参照すると、分類比較ユニット４１４は、文法誤りタイプの任意の誤りの存在を検出するために、分類ユニット４１０によって与えられる推定された分類値を、対象語ラベリングユニット４０４によって与えられる実際の分類値と比較するように構成されている。実際の分類値が推定された分類値と同じである場合、文法誤りタイプの誤りは、当該対象語について検出されない。異なる場合、文法誤りタイプの誤りが検出され、推定された分類値が使用されて、訂正が与えられる。例えば、図２に関連して上述されている例において、動詞形態誤りに関連する対象語「ａｄｄｉｎｇ」の推定された分類値は「０」（原形）であり、一方、対象語「ａｄｄｉｎｇ」の実際の分類値は「１」（動名詞又は現在分詞）である。したがって、動詞形態誤りが検出され、訂正は対象語「ａｄｄｉｎｇ」の原形である。
【００７２】
[0072]図８は、一実施形態による図６のＡＮＮモデル１２０の一例を示す詳細な概略図である。当該例において、ＡＮＮモデル１２０は、共に訓練される順方向ＧＲＵニューラルネットワーク、逆方向ＧＲＵニューラルネットワーク、及びＭＬＰニューラルネットワークを含む。文「Ｉ  ｇｏ  ｔｏ  ｓｃｈｏｏｌ  ｅｖｅｒｙｄａｙ」内の対象語「ｇｏ」について、順方向文脈語「Ｉ」は左から右への（順方向の）順方向ＧＲＵニューラルネットワークに供給され、逆方向文脈語「ｔｏ  ｓｃｈｏｏｌ  ｅｖｅｒｙｄａｙ」は、右から左への（逆方向の）逆方向ＧＲＵニューラルネットワークに供給される。文脈ｗ１：ｎを所与とすると、対象語ｗｉの文脈ベクトルは、式１のように定義することができる。
【数１】
2020529666.tif 000004
式中、ｌＧＲＵは、所与の文脈において左から右へと（順方向に）単語を読み取るＧＲＵであり、ｒＧＲＵは、逆に右から左へと（逆方向に）単語を読み取るものであり、ｌ／ｆは、文脈語の個別の左から右への／右から左への単語埋め込みを表す。その後、連結されたベクトルは、２辺の相互依存性を捉えるために、ＭＬＰニューラルネットワークに供給される。ＭＬＰニューラルネットワークの第２の層において、ソフトマックス層を使用して、対象語の分類（例えば、対象語、又は、例えば単数若しくは複数などの対象語の状態）を予測することができる。
ＭＬＰ（ｘ）＝ｓｏｆｔｍａｘ（ＲｅＬＵ（ｘ）），    （２）
式中、ＲｅＬＵは正規化線形ユニット活性化関数であり、ＲｅＬＵ（ｘ）＝ｍａｘ（０，ｘ）、Ｌ（ｘ）＝Ｗ（ｘ）＋ｂは全結合線形演算である。当該例におけるＡＮＮモデル１２０の最終的な出力は以下のとおりである。
ｙ＝ＭＬＰ（ｂｉＧＲＵ（ｗ１：ｎ，ｉ）），    （３）
式中、ｙは上述したような分類値である。
【００７３】
[0073]図９は、一実施形態による文の文法誤り訂正のための方法９００の一例を示す流れ図である。方法９００は、ハードウェア（例えば、回路、専用論理、プログラム可能論理、マイクロコードなど）、ソフトウェア（例えば、処理デバイス上で実行する命令）、又はハードウェアとソフトウェアとの組み合わせを含み得る処理論理によって実施することができる。本明細書において与えられている本開示を実施するために、すべてのステップが必要とされるとは限らない場合があることは諒解されたい。さらに、当業者には理解されるように、ステップのいくつかは、同時に実施されてもよく、又は、図９に示す順序とは異なる順序において実施されてもよい。
【００７４】
[0074]方法９００を図１及び図４を参照しながら説明する。しかしながら、方法９００は、当該例示的実施形態には限定されない。９０２において、文が受信される。文は、入力テキストの一部であり得る。９０２は、ＧＥＣシステム１００の入力前処理モジュール１０２によって実施することができる。９０４において、文内の１つ又は複数の対象語が１つ又は複数の文法誤りタイプに基づいて識別される。各対象語は、１つ又は複数の文法誤りタイプに対応する。９０４は、ＧＥＣシステム１００の構文解析モジュール１０４によって実施することができる。９０６において、対応する文法誤りタイプに関連する１つの対象語の分類が、文法誤りタイプについて訓練されたＡＮＮモデル１２０を使用して推定される。９０８において、文法誤りが、対象語及び対象語の推定された分類に基づいて検出される。検出は、対象語の実際の分類を、対象語の推定された分類と比較することによって行うことができる。９０６及び９０８は、ＧＥＣシステム１００の分類ベースＧＥＣモジュール１０８によって実施することができる。
【００７５】
[0075]９１０において、文内にまだ処理されていない対象語がさらに存在するか否かが判定される。回答が肯定である場合、方法９００は文内の次の対象語を処理するために、９０４に戻る。文内のすべての対象語が処理されると、９１２において、文に対する文法誤り訂正が、文法誤り結果に基づいて与えられる。各対象語の推定された分類が、文法誤り訂正を生成するために使用され得る。文法誤り結果に基づいて、文法スコアを与えることもできる。９１２は、ＧＥＣシステム１００のスコア付け／訂正モジュール１１４によって実施することができる。
【００７６】
[0076]図１０は、一実施形態による文法誤りタイプに関連して対象語を分類するための方法１０００の一例を示す流れ図である。方法１０００は、ハードウェア（例えば、回路、専用論理、プログラム可能論理、マイクロコードなど）、ソフトウェア（例えば、処理デバイス上で実行する命令）、又はハードウェアとソフトウェアとの組み合わせを含み得る処理論理によって実施することができる。本明細書において与えられている本開示を実施するために、すべてのステップが必要とされるとは限らない場合があることは諒解されたい。さらに、当業者には理解されるように、ステップのいくつかは、同時に実施されてもよく、又は、図１０に示す順序とは異なる順序において実施されてもよい。
【００７７】
[0077]方法１０００を図１及び図４を参照しながら説明する。しかしながら、方法１０００は、当該例示的実施形態には限定されない。１００２において、対象語の文脈ベクトルが、文内の文脈語に基づいて与えられる。文脈語は、文内の対象語の周囲の任意の数の単語であり得る。いくつかの実施形態において、文脈語は、対象語を除く文内のすべての単語を含む。いくつかの実施形態において、文脈語は、対象語の見出し語も含む。文脈ベクトルは、文から抽出される意味特徴を含まない。１００２は、分類ベースＧＥＣモジュール１０８の深層文脈表現ユニット４０８によって実施することができる。
【００７８】
[0078]１００４において、文脈重みベクトルが、文内の文脈語に基づいて与えられる。１００６において、文脈重みベクトルが文脈ベクトルに適用されて、重み付き文脈ベクトルが生成される。文脈重みベクトルは、文脈語の対象語への距離に基づいて、それぞれの重みを文内の各文脈語に適用することができる。１００４及び１００６は、分類ベースＧＥＣモジュール１０８の注意ユニット４１２によって実施することができる。
【００７９】
[0079]１００８において、文法誤りタイプに関する対象語の分類値が、対象語の重み付き文脈ベクトルに基づいて与えられる。分類値は、文法誤りタイプと関連付けられる複数のクラスのうちの１つを表す。分類値は、文法誤りタイプと関連付けられるクラスにわたる対象語の確率分布であってもよい。１００８は、分類ベースＧＥＣモジュール１０８の分類ユニット４１０によって実施することができる。
【００８０】
[0080]図１１は、一実施形態による文法誤りタイプに関連して対象語を分類するための方法１１００の別の例を示す流れ図である。方法１１００は、ハードウェア（例えば、回路、専用論理、プログラム可能論理、マイクロコードなど）、ソフトウェア（例えば、処理デバイス上で実行する命令）、又はハードウェアとソフトウェアとの組み合わせを含み得る処理論理によって実施することができる。本明細書において与えられている本開示を実施するために、すべてのステップが必要とされるとは限らない場合があることは諒解されたい。さらに、当業者には理解されるように、ステップのいくつかは、同時に実施されてもよく、又は、図１１に示す順序とは異なる順序において実施されてもよい。
【００８１】
[0081]方法１１００を図１及び図４を参照しながら説明する。しかしながら、方法１１００は、当該例示的実施形態には限定されない。１１０２において、対象語の文法誤りタイプが、例えば、複数の所定の文法誤りタイプから判定される。１１０４において、文脈語のウィンドウサイズが、文法誤りタイプに基づいて決定される。ウィンドウサイズは、文脈語として考えられることになる文内の対象語の前の単語の最大数、及び、対象語の後の単語の最大数を示す。ウィンドウサイズは、異なる文法誤りタイプについて変化し得る。例えば、主語一致誤り及び動詞形態誤りについて、これら２つの誤りタイプは通常、対象語から遠く離れた文脈語からの依存性を必要とするため、文全体が文脈として考慮され得る。冠詞誤り、前置詞誤り、及び名詞単数複数誤りに関して、ウィンドウサイズは、冠詞誤りについては３、５、又は１０、前置詞誤りについては３、５、又は１０、及び、名詞単数複数誤りについては１０、１５、又は２０など、文全体よりも小さくなり得る。
【００８２】
[0082]１１０６において、順方向単語埋め込みベクトルのセットが、対象語の前の文脈語に基づいて生成される。各順方向単語埋め込みベクトルの次元の数は、３００など、少なくとも１００であってもよい。順方向単語埋め込みベクトルのセットが生成される順序は、ウィンドウサイズ内の第１の単語から、対象語の直前の単語への方向（順方向）であり得る。１１０８において、並行して、逆方向単語埋め込みベクトルのセットが、対象語の後の文脈語に基づいて生成される。各逆方向単語埋め込みベクトルの次元の数は、３００など、少なくとも１００であってもよい。逆方向単語埋め込みベクトルのセットが生成される順序は、ウィンドウサイズ内の最後の単語から、対象語の直後の単語への方向（逆方向）であり得る。１１０２、１１０４、１１０６及び１１０８は、分類ベースＧＥＣモジュール１０８の初期文脈生成ユニット４０６によって実施することができる。
【００８３】
[0083]１１１０において、順方向文脈ベクトルが、順方向単語埋め込みベクトルのセットに基づいて与えられる。順方向単語埋め込みベクトルのセットは、ウィンドウサイズ内の第１の単語の順方向単語埋め込みベクトルから、対象語の直前の単語の順方向単語埋め込みベクトルへの順序（順方向）に従う、再帰型ニューラルネットワークに供給され得る。１１１２において、逆方向文脈ベクトルが、逆方向単語埋め込みベクトルのセットに基づいて与えられる。逆方向単語埋め込みベクトルのセットは、ウィンドウサイズ内の最後の単語の逆方向単語埋め込みベクトルから、対象語の直後の単語の逆方向単語埋め込みベクトルへの順序（逆方向）に従う、別の再帰型ニューラルネットワークに供給され得る。１１１４において、文脈ベクトルが、順方向文脈ベクトル及び逆方向文脈ベクトルを連結することによって与えられる。１１１０、１１１２及び１１１４は、分類ベースＧＥＣモジュール１０８の深層文脈表現ユニット４０８によって実施することができる。
【００８４】
[0084]１１１６において、全結合線形協力が、文脈ベクトルに適用される。１１１８において、例えば、ＭＬＰニューラルネットワークの第１の層の活性化関数が、全結合線形演算の出力に適用される。活性化関数は、正規化線形ユニット活性化関数であってもよい。１１２０において、文法誤りタイプに関連する対象語の分類値を生成するために、例えば、ＭＬＰニューラルネットワークの第２の層の別の活性化関数が、第１の層の活性化関数の出力に適用される。文法誤りタイプに関連する対象語のマルチクラス分類が、１１１６、１１１８、及び１１２０において、ＭＬＰニューラルネットワークによって文脈ベクトルに基づいて実施され得る。１１１６、１１１８及び１１２０は、分類ベースＧＥＣモジュール１０８の分類ユニット４１０によって実施することができる。
【００８５】
[0085]図１２は、一実施形態による文法スコアを提供するための方法１２００の一例を示す流れ図である。方法１２００は、ハードウェア（例えば、回路、専用論理、プログラム可能論理、マイクロコードなど）、ソフトウェア（例えば、処理デバイス上で実行する命令）、又はハードウェアとソフトウェアとの組み合わせを含み得る処理論理によって実施することができる。本明細書において与えられている本開示を実施するために、すべてのステップが必要とされるとは限らない場合があることは諒解されたい。さらに、当業者には理解されるように、ステップのいくつかは、同時に実施されてもよく、又は、図１２に示す順序とは異なる順序において実施されてもよい。
【００８６】
[0086]方法１２００を図１及び図４を参照しながら説明する。しかしながら、方法１２００は、当該例示的実施形態には限定されない。１２０２において、ユーザ因子（user factor, ユーザファクタ）が、ユーザの情報に基づいて判定される。情報は、例えば、母国語、居住地、教育レベル、年齢、履歴スコアなどを含む。１２０４において、精度及び再現率の重みが決定される。精度及び再現率は、一般的に、組み合わせて、ＧＥＣの主な評価の尺度として使用される。精度Ｐ及び再現率Ｒは、以下のように定義される。
【数２】
2020529666.tif 000005
式中、ｇは、特定の文法誤りタイプについての、２人の人間の注釈者の究極的な基準であり、ｅは対応するシステムエディットである。多くの他の文法誤りタイプと動詞形態誤りタイプとの間には重複があり得、そのため、ｇは、文法形態誤り性能を計算するときに、すべての文法誤りタイプの注釈に基づき得る。精度と再現率との間の重みは、評価の尺度として精度と再現率とをともに組み合わせるときに調整することができる。例えば、式５において定義されるＦ０．５は、いくつかの実施形態において、正確なフィードバックがカバー率よりも重要であるとき、２倍の重みを精度に割り当てながら、精度と再現率の両方を組み合わせる。
【数３】
2020529666.tif 000006
Ｆｎにおいて、ｎは０〜１である、が、他の例において適用され得ることは諒解されたい。いくつかの実施形態において、異なる文法誤りタイプの重みも変化し得る。
【００８７】
[0087]１２０６において、スコアリング関数が、ユーザ因子及び重みに基づいて取得される。スコアリング関数は、パラメータとして、ユーザ因子及び重み（異なる文法誤りタイプについて同じ又は異なる）を使用することができる。１２０８において、文内の各対象語の文法誤り結果が受信される。１２１０において、文法スコアが、文法誤り結果及びスコアリング関数に基づいて与えられる。文法誤り結果は、スコアリング関数の変数であり得、ユーザ因子及び重みは、スコアリング関数のパラメータであり得る。１２０２、１２０４、１２０６、１２０８、及び１２１０は、ＧＥＣシステム１００のスコア付け／訂正モジュール１１４によって実施することができる。
【００８８】
[0088]図１３は、一実施形態によるＡＮＮモデル訓練システム１３００を示すブロック図である。ＡＮＮモデル訓練システム１３００は、訓練アルゴリズム１３０８を使用して、目的関数１３０６に基づいて訓練サンプルのセット１３０４に対して特定の文法誤りタイプのために各ＡＮＮモデル１２０を訓練するように構成されているモデル訓練モジュール１３０２を含む。いくつかの実施形態において、各訓練サンプル１３０４は、ネイティブ訓練サンプルであってもよい。本明細書において開示されるものとしてのネイティブ訓練サンプルは、１つ又は複数の文法誤りのある文を含む学習者訓練サンプルとは対照的に、文法誤りのない文を含む。教師あり訓練データのサイズ及び可用性によって制限される、調整された訓練を必要とする、すなわち、教師ありデータを訓練サンプル（例えば、学習者訓練サンプル）として使用する何らかの既知のＧＥＣシステムと比較して、ＡＮＮモデル訓練システム１３００は、ＡＮＮモデル１２０をより効果的且つ効率的に訓練するために、冗長なネイティブ平文コーパスを、訓練サンプル１３０４として利用することができる。例えば、訓練サンプル１３０４は、ｗｉｋｉダンプから取得されてもよい。ＡＮＮモデル訓練システム１３００の訓練サンプル１３０４はネイティブ訓練サンプルに限定されないことは諒解されたい。いくつかの実施形態において、特定の文法誤りタイプについて、ＡＮＮモデル訓練システム１３００は、学習者訓練サンプル、又は、ネイティブ訓練サンプルと学習者訓練サンプルとの組み合わせを使用して、ＡＮＮモデル１２０を訓練することができる。
【００８９】
[0089]図１４は、図１３のＡＮＮモデル訓練システム１３００によって使用される訓練サンプル１３０４の一例の図である。訓練サンプルは、１つ又は複数の文法誤りタイプ１、．．．、ｎと関連付けられる文を含む。訓練サンプルは文法誤りのないネイティブ訓練サンプルであり得るが、上述したように、例えば、ＰｏＳタグに基づいて、特定の単語が１つ又は複数の文法誤りタイプと関連付けられるため、文は依然として文法誤りタイプと関連付けることができる。例えば、文が動詞を含む限り、文は、例えば、動詞形態誤り及び主語一致誤りと関連付けられ得る。１つ又は複数の対象語１、．．．、ｍは、各文法誤りタイプと関連付けられ得る。例えば、文内のすべての動詞は、訓練サンプルにおいて動詞形態誤り又は主語一致誤りに関連する対象語である。各対象語について、対象語は、２つの情報、すなわち、単語埋め込みベクトルセット（行列）ｘ、及び、実際の分類値ｙとさらに関連付けられる。単語埋め込みベクトルセットｘは、文内の対象語の文脈語に基づいて生成することができる。いくつかの実施形態において、単語埋め込みベクトルセットｘは、ｏｎｅ−ｈｏｔベクトルセットのような、任意の他の初期文脈ベクトルセットであってもよいことは諒解されたい。上述したように、実際の分類値ｙは、名詞単数複数誤りに関する単数形の「０」及び複数形の「１」のような、特定の文法誤りタイプに関連するクラスラベルのうちの１つであり得る。したがって、訓練サンプルは、各々が文内の文法誤りタイプに関連する対象語に対応する、単語埋め込みベクトルセットｘ及び実際の分類値ｙの対を含む。
【００９０】
[0090]図１３に戻って参照すると、ＡＮＮモデル１２０は、訓練サンプル１３０４を供給されているときにモデル訓練モジュール１３０２によって共に調整することができる複数のパラメータを含む。モデル訓練モジュール１３０２は、訓練アルゴリズム１３０８を使用して訓練サンプル１３０４に対する目的関数１３０６を最小化するために、ＡＮＮモデル１２０のパラメータを共に調整する。図８に関連して上述した例において、ＡＮＮモデル１２０を訓練するための目的関数は、以下のとおりである。
【数４】
2020529666.tif 000007
式中、ｎは訓練サンプル１３０４の数である。訓練アルゴリズム１３０８は、勾配降下アルゴリズム（例えば、確率的勾配降下アルゴリズム）を含む、目的関数１３０６の最小値を求めるための任意の適切な反復最適化アルゴリズムであってもよい。
【００９１】
[0091]図１５は、一実施形態による文法誤り訂正のためのＡＮＮモデル訓練のための方法１５００の一例を示す流れ図である。方法１５００は、ハードウェア（例えば、回路、専用論理、プログラム可能論理、マイクロコードなど）、ソフトウェア（例えば、処理デバイス上で実行する命令）、又はハードウェアとソフトウェアとの組み合わせを含み得る処理論理によって実施することができる。本明細書において与えられている本開示を実施するために、すべてのステップが必要とされるとは限らない場合があることは諒解されたい。さらに、当業者には理解されるように、ステップのいくつかは、同時に実施されてもよく、又は、図１５に示す順序とは異なる順序において実施されてもよい。
【００９２】
[0092]方法１５００を、図１３を参照しながら説明する。しかしながら、方法１５００は、当該例示的実施形態には限定されない。１５０２において、文法誤りタイプのためのＡＮＮモデルが与えられる。ＡＮＮモデルは、文法誤りタイプに関連して文内の対象語の分類を推定するためのものである。ＡＮＮモデルは、例えば、図６及び図７に示すものなど、本明細書において開示されている任意のＡＮＮモデルであってもよい。いくつかの実施形態において、ＡＮＮモデルは、文内の対象語の前の少なくとも１つの単語及び対象語の後の少なくとも１つの単語に基づいて、対象語の文脈ベクトルを出力するように構成されている２つの再帰型ニューラルネットワークを含む。いくつかの実施形態において、文脈ベクトルは、訓練サンプル内の文の意味特徴を含まない。上述したように、ＡＮＮモデルは、順方向再帰型ニューラルネットワーク６０６及び逆方向再帰型ニューラルネットワーク６０８としてパラメータ化することができる深層文脈表現サブモデル６０２を含むことができる。ＡＮＮモデルはまた、対象語の文脈ベクトルに基づいて、対象語の分類値を出力するように構成されている順伝播型ニューラルネットワークをも含むことができる。上述したように、ＡＮＮモデルは、順伝播型ニューラルネットワーク６１０としてパラメータ化することができる分類サブモデル６０４を含むことができる。
【００９３】
[0093]１５０４において、訓練サンプルセットが取得される。各訓練サンプルは、対象語を有する文、及び、文法誤りタイプに関連する対象語の実際の分類を含む。いくつかの実施形態において、訓練サンプルは、順方向単語埋め込みベクトルのセット及び逆方向単語埋め込みベクトルのセットを含む、対象語の単語埋め込み行列を含むことができる。各順方向単語埋め込みベクトルは、対象語の前のそれぞれの文脈語に基づいて生成され、各逆方向単語埋め込みベクトルは、対象語の後のそれぞれの文脈語に基づいて生成される。各単語埋め込みベクトルの次元の数は、３００など、少なくとも１００であってもよい。
【００９４】
[0094]１５０６において、ＡＮＮモデルのパラメータは、例えばエンドツーエンドの様式で、共に調整される。いくつかの実施形態において、各訓練サンプル内の対象語の実際の分類と推定された分類との間の差に基づいて、再帰型ニューラルネットワーク６０６及び６０８と関連付けられる深層文脈表現サブモデル６０２のパラメータの第１のセットが、順伝播型ニューラルネットワーク６１０と関連付けられる分類サブモデル６０４のパラメータの第２のセットと共に調整される。いくつかの実施形態において、順方向再帰型ニューラルネットワーク６０６と関連付けられるパラメータは、逆方向再帰型ニューラルネットワーク６０８と関連付けられるパラメータとは別個のものである。いくつかの実施形態において、ＡＮＮモデルはまた、順伝播型ニューラルネットワーク６１０としてパラメータ化することができる注意メカニズムサブモデル７０２を含むこともできる。順伝播型ニューラルネットワーク６１０と関連付けられる、注意メカニズムサブモデル７０２のパラメータもまた、ＡＮＮモデルの他のパラメータと共に調整することができる。いくつかの実施形態において、ＡＮＮモデルのパラメータは、訓練アルゴリズム１３０８を使用して目的関数１３０６からの各訓練サンプルの対象語の実際の分類と推定された分類との間の差を最小化するために、共に調整される。１５０２、１５０４、及び１５０６は、ＡＮＮモデル訓練システム１３００のモデル訓練モジュール１３０２によって実施することができる。
【００９５】
[0095]図１６は、一実施形態による文法誤り訂正のためのＡＮＮモデル１２０の訓練の一例を示す概略図である。この例において、ＡＮＮモデル１２０は、特定の文法誤りタイプに関連して訓練サンプル１３０４に対して訓練される。訓練サンプル１３０４は、ネイティブテキストからのものであってもよく、図１を参照して上述したように前処理及び構文解析されてもよい。各訓練サンプル１３０４は、文法誤りタイプに関連する対象語を有する文、及び、文法誤りタイプに関連する対象語の実際の分類を含む。いくつかの実施形態において、対象語の単語埋め込み行列、及び、対象語の実際の分類値ｙを含む対を、各訓練サンプル１３０４について取得することができる。単語埋め込み行列ｘは、対象語の前の文脈語に基づいて生成される順方向単語埋め込みベクトルのセット、及び、対象語の後の文脈語に基づいて生成される逆方向単語埋め込みベクトルのセットを含むことができる。したがって、訓練サンプル１３０４は、複数の（ｘ，ｙ）対を含むことができる。
【００９６】
[0096]いくつかの実施形態において、ＡＮＮモデル１２０は、複数の再帰型ニューラルネットワーク１〜ｎ  １６０２及び複数の順伝播型ニューラルネットワーク１〜ｍ  １６０４を含むことができる。ニューラルネットワーク１６０２及び１６０４の各々は、訓練アルゴリズム１３０８を使用して目的関数１３０６に基づいて訓練サンプル１３０４に対して訓練されるために、パラメータのセットと関連付けられる。再帰型ニューラルネットワーク１６０２は、対象語の文脈語に基づいて、対象語の文脈ベクトルを出力するように構成されている順方向再帰型ニューラルネットワーク及び逆方向再帰型ニューラルネットワークを含むことができる。いくつかの実施形態において、再帰型ニューラルネットワーク１６０２は、対象語の文脈語に基づいて、対象語の単語埋め込み行列を生成するように構成されている別の１つ又は複数の再帰型ニューラルネットワークをさらに含むことができる。順伝播型ニューラルネットワーク１６０４は、対象語の文脈ベクトルに基づいて、対象語の分類値ｙ’を出力するように構成されている順伝播型ニューラルネットワークを含むことができる。いくつかの実施形態において、順伝播型ニューラルネットワーク１６０４はまた、文脈ベクトルに適用されるための文脈重みベクトルを出力するように構成されている別の順伝播型ニューラルネットワークをも含むことができる。ニューラルネットワーク１６０２及び１６０４は、共にエンドツーエンドの様式で訓練することができるように、接続することができる。いくつかの実施形態において、文脈ベクトルは、訓練サンプル１３０４内の文の意味特徴を含まない。
【００９７】
[0097]いくつかの実施形態において、各反復について、対応する訓練サンプル１３０４内の対象語の単語埋め込み行列ｘは、ＡＮＮモデル１２０に供給することができ、ニューラルネットワーク１６０２及び１６０４を通過する。推定された分類値ｙ’は、ＡＮＮモデル１２０の出力層（例えば、順伝播型ニューラルネットワーク１６０４の一部）から出力することができる。対応する訓練サンプル１３０４内の対象語の推定された分類値ｙ’及び実際の分類値ｙは、目的関数１３０６に送信することができ、訓練アルゴリズム１３０８を使用する目的関数１３０６によって、推定された分類値ｙ’と実際の分類値ｙとの間の差を使用して、ＡＮＮモデル１２０内のニューラルネットワーク１６０２及び１６０４の各々と関連付けられる各パラメータセットを共に調整することができる。各訓練サンプル１３０４に対して、ＡＮＮモデル１２０内のニューラルネットワーク１６０２及び１６０４の各々と関連付けられる各パラメータセットを反復的に共に調整することによって、推定された分類値ｙ’と実際の分類値ｙとの間の差は小さくなっていき、目的関数１３０６が最適化される。
【００９８】
[0098]例えば、図１７に示すコンピュータシステム１７００のような１つ又は複数のコンピュータシステム１７００を使用して、様々な実施形態を実施することができる。１つ又は複数のコンピュータシステム１７００を使用して、例えば、図３の方法３００、図９の方法９００、図１０の方法１０００、図１１の方法１１００、図１２の方法１２００、及び図１５の方法１５００を実施することができる。例えば、コンピュータシステム１７００は、様々な実施形態に従って、文法誤りを検出及び訂正し、並びに／又は、文法誤りを検出及び訂正するための人工ニューラルネットワークを訓練することができる。コンピュータシステム１７００は、本明細書において説明されている機能を実施することが可能な任意のコンピュータであってもよい。
【００９９】
[0099]コンピュータシステム１７００は、本明細書において説明されている機能を実施することが可能な任意の周知のコンピュータであってもよい。コンピュータシステム１７００は、プロセッサ１７０４のような、１つ又は複数のプロセッサ（中央処理装置、すなわちＣＰＵとも呼ばれる）を含む。プロセッサ１７０４は、通信インフラストラクチャ又はバス１７０６に接続される。１つ又は複数のプロセッサ１７０４は各々、グラフィックス処理装置（ＧＰＵ）であってもよい。一実施形態において、ＧＰＵは、数学的に処理の多いアプリケーションを処理するように設計された専用電子回路であるプロセッサである。ＧＰＵは、コンピュータグラフィックスアプリケーション画像、ビデオなどに一般的な数学的の処理量の多いデータのような、大規模なデータブロックの並列処理に効率的な並列構造を有してもよい。
【０１００】
[00100]コンピュータシステム１７００はまた、ユーザ入出力インターフェース（複数可）１７０２を通じて通信インフラストラクチャ１７０６と通信する、モニタ、キーボード、ポインティングデバイスなどのようなユーザ入出力デバイス（複数可）１７０３をも含む。
【０１０１】
[00101]コンピュータシステム１７００はまた、ランダムアクセスメモリ（ＲＡＭ）のような、メイン又は一次メモリ１７０８をも含む。メインメモリ１７０８は、１つ又は複数のレベルのキャッシュを含むことができる。メインメモリ１７０８は、制御論理（すなわち、コンピュータソフトウェア）及び／又はデータを記憶されている。コンピュータシステム１７００はまた、１つ又は複数の二次記憶デバイス又はメモリ１７１０をも含むことができる。二次メモリ１７１０は、例えば、ハードディスクドライブ１７１２及び／又はリムーバブル記憶デバイス若しくはドライブ１７１４を含んでもよい。リムーバブル記憶ドライブ１７１４は、フロッピーディスクドライブ、磁気テープドライブ、コンパクトディスクドライブ、光学記憶デバイス、テープバックアップデバイス、及び／又は、任意の他の記憶デバイス／ドライブであってもよい。リムーバブル記憶ドライブ１７１４は、リムーバブル記憶ユニット１７１８と相互作用することができる。リムーバブル記憶ユニット１７１８は、コンピュータソフトウェア（制御論理）及び／又はデータを記憶されているコンピュータ使用可能又は可読記憶デバイスを含む。リムーバブル記憶ユニット１７１８は、フロッピーディスク、磁気テープ、コンパクトディスク、ＤＶＤ、光学記憶ディスク、及び／又は任意の他のコンピュータデータ記憶デバイスであってもよい。リムーバブル記憶ドライブ１７１４は、周知の方法でリムーバブル記憶ユニット１７１８に対して読み出し及び／又は書き込みを行う。
【０１０２】
[00102]例示的な実施形態によれば、二次メモリ１７１０は、コンピュータプログラム並びに／又は他の命令及び／若しくはデータがコンピュータシステム１７００によってアクセスされることを可能にするための他の手段、機器又は他の手法を含んでもよい。そのような手段、機器又は他の手法は、例えば、リムーバブル記憶ユニット１７２２及びインターフェース１７２０を含んでもよい。リムーバブル記憶ユニット１７２２及びインターフェース１７２０の例は、プログラムカートリッジ及びカートリッジインターフェース（ビデオゲームデバイスに見られるものなど）、リムーバブルメモリチップ（ＥＰＲＯＭ又はＰＲＯＭなど）及び関連付けられるソケット、メモリスティック及びＵＳＢポート、メモリカード及び関連付けられるメモリカードスロット、並びに／又は、任意の他のリムーバブル記憶ユニット及び関連付けられるインターフェースを含んでもよい。
【０１０３】
[00103]コンピュータシステム１７００は、通信又はネットワークインタフェース１７２４をさらに含むことができる。通信インターフェース１７２４は、コンピュータシステム１７００が、遠隔デバイス、遠隔ネットワーク、遠隔エンティティなど（個々に及びまとめて参照符号１７２８によって参照される）の任意の組み合わせと通信及び対話することを可能にする。例えば、通信インターフェース１７２４は、コンピュータシステム１７００が、有線及び／又は無線であってもよく、ＬＡＮ、ＷＡＮ、インターネットなどの任意の組み合わせを含んでもよい通信経路１７２６を介して、遠隔デバイス１７２８と通信することを可能にすることができる。制御論理及び／又はデータは、通信経路１７２６を介して、コンピュータシステム１７００へと、及び、コンピュータシステム１７００から送信することができる。
【０１０４】
[00104]一実施形態において、制御論理（ソフトウェア）を記憶されている有形コンピュータ使用可能又は可読媒体を備える有形装置又は製造品も、コンピュータプログラム製品又はプログラム記憶デバイスとして、本明細書において参照される。有形装置又は製造品は、限定ではないが、コンピュータシステム１７００と、メインメモリ１７０８と、二次メモリ１７１０と、リムーバブル記憶ユニット１７１８及び１７２２、並びに、上記の任意の組み合わせを具現化する有形製造品を含む。当該制御論理は、１つ又は複数のデータ処理デバイス（コンピュータシステム１７００など）によって実行されると、当該データ処理デバイスに、本明細書において説明されているように動作させる。
【０１０５】
[00105]本開示に含まれる教示に基づいて、図１７に示すもの以外のデータ処理デバイス、コンピュータシステム及び／又はコンピュータアーキテクチャを使用して本開示の実施形態の作成及び使用する方法が、当業者には諒解されよう。特に、実施形態は、本明細書において説明されているもの以外のソフトウェア、ハードウェア、及び／又はオペレーティングシステム実装を用いて動作することができる。
【０１０６】
[00106]概要及び要約の節ではなく、詳細な説明の節は、特許請求の範囲を解釈するために使用されるように意図されていることは諒解されたい。概要及び要約の節は、本発明者（複数可）によって企図されるものとしての、本開示の１つ又は複数の、ただしすべてではない例示的な実施形態を記載し得、したがって、本開示又は添付の特許請求の範囲を限定するようには決して意図されていない。
【０１０７】
[00107]本開示を例示的な分野及び用途の例示的な実施形態を参照して本明細書において説明したが、本開示は当該実施形態には限定されないことを理解されたい。他の実施形態及び当該実施形態に対する修正が可能であり、本開示の範囲及び精神の内にある。例えば、本段落の一般性を限定することなく、実施形態は、図面に示されており、及び／又は、本明細書において説明されているソフトウェア、ハードウェア、ファームウェア、及び／又はエンティティには限定されない。さらに、実施形態（本明細書において明示的に説明されているか否かにかかわらず）は、本明細書において説明されている例を超えて、分野及び用途に対する多大な有用性を有する。
【０１０８】
[00108]実施形態は、本明細書において、実施形態の指定されている機能及び関係の実施態様を示す機能的構成単位を用いて説明されている。当該機能的構成単位の境界は、説明の便宜上、本明細書においては任意裁量で規定されている。指定されている機能及び関係（又は当該機能及び関係の均等物）が適切に実施される限り、代替の境界を規定することができる。また、代替的な実施形態は、本明細書において説明されているものとは異なる順序付けを使用して、機能ブロック、ステップ、動作、方法などを実施することができる。
【０１０９】
[00109]本開示の幅及び範囲は、上述した実施形態例のいずれによっても限定されるべきではなく、添付の特許請求の範囲及び特許請求の範囲の均等物に従ってのみ規定されるべきである。
【図１】
2020529666.tif 000008
【図２】
2020529666.tif 000009
【図３】
2020529666.tif 000010
【図４】
2020529666.tif 000011
【図５】
2020529666.tif 000012
【図６】
2020529666.tif 000013
【図７】
2020529666.tif 000014
【図８】
2020529666.tif 000015
【図９】
2020529666.tif 000016
【図１０】
2020529666.tif 000017
【図１１】
2020529666.tif 000018
【図１２】
2020529666.tif 000019
【図１３】
2020529666.tif 000020
【図１４】
2020529666.tif 000021
【図１５】
2020529666.tif 000022
【図１６】
2020529666.tif 000023
【図１７】
2020529666.tif 000024
【国際調査報告】
2020529666.tif 000025
2020529666.tif 000026