特許第6943975号(P6943975)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ セールスフォース ドット コム インコーポレイティッドの特許一覧

<>
  • 特許6943975-ニューラル機械翻訳システム及び方法 図000008
  • 特許6943975-ニューラル機械翻訳システム及び方法 図000009
  • 特許6943975-ニューラル機械翻訳システム及び方法 図000010
  • 特許6943975-ニューラル機械翻訳システム及び方法 図000011
  • 特許6943975-ニューラル機械翻訳システム及び方法 図000012
  • 特許6943975-ニューラル機械翻訳システム及び方法 図000013
  • 特許6943975-ニューラル機械翻訳システム及び方法 図000014
  • 特許6943975-ニューラル機械翻訳システム及び方法 図000015
  • 特許6943975-ニューラル機械翻訳システム及び方法 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6943975
(24)【登録日】2021年9月13日
(45)【発行日】2021年10月6日
(54)【発明の名称】ニューラル機械翻訳システム及び方法
(51)【国際特許分類】
   G06F 40/44 20200101AFI20210927BHJP
   G06N 20/00 20190101ALI20210927BHJP
   G06N 99/00 20190101ALI20210927BHJP
【FI】
   G06F40/44
   G06N20/00
   G06N99/00 180
【請求項の数】15
【全頁数】26
(21)【出願番号】特願2019-555607(P2019-555607)
(86)(22)【出願日】2018年4月11日
(65)【公表番号】特表2020-518891(P2020-518891A)
(43)【公表日】2020年6月25日
(86)【国際出願番号】US2018027040
(87)【国際公開番号】WO2018191344
(87)【国際公開日】20181018
【審査請求日】2019年10月10日
(31)【優先権主張番号】62/485,856
(32)【優先日】2017年4月14日
(33)【優先権主張国】US
(31)【優先権主張番号】15/901,722
(32)【優先日】2018年2月21日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】506332063
【氏名又は名称】セールスフォース ドット コム インコーポレイティッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】ブラッドバリー,ジェームズ
【審査官】 成瀬 博之
(56)【参考文献】
【文献】 Akiko Eriguchi et al.,Learning to Parse and Translate improves Neural Machine Translation[online],2017年02月12日,https://arxiv.org/pdf/1702.03525v1.pdf,(令和 2年11月30日検索),インターネット
【文献】 Minh-Thang Luong et al.,Effective Approaches to Attention-based Neural Machine Translation[online],2015年09月20日,https://arxiv.org/pdf/1508.04025.pdf,(令和 2年11月30日検索),インターネット
【文献】 江里口瑛子 他2名,目的言語における係り受け構造を考慮したニューラル機械翻訳,言語処理学会第23回年次大会 発表論文集[online],日本,言語処理学会,2017年03月06日,1113−1116頁
【文献】 江里口瑛子 他2名,句構造へのアテンションに基づくニューラル機械翻訳モデル,言語処理学会第22回年次大会 発表論文集[online],日本,言語処理学会,2016年02月29日,697−700頁
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/20−40/58
G06N 3/00−99/00
(57)【特許請求の範囲】
【請求項1】
第1言語のソース・シーケンスを第2言語のターゲット・シーケンスに翻訳するアテンション・ニューラル機械翻訳システムであって:
前記ソース・シーケンスのトークンと前記ソース・シーケンスのフレーズ・ツリー構造とをエンコードするエンコーダ手段であって、前記ソース・シーケンスの前記トークンの各々は前記ソース・シーケンスからの文字に対応し、前記エンコーダ手段は、前記ソース・シーケンスの前記フレーズ・ツリー構造の少なくとも1つを、前記エンコードが:前記ソース・シーケンスの前記フレーズ・ツリー構造のフレーズ・タイプを予測する場合に、エンコーダ状態を表現するエンコーダ・ツリー・ノードと、前記ソース・シーケンスの前記フレーズ・ツリー構造の構成要素を表現するエンコーダ合成埋め込みとを含むようにエンコードするエンコーダ手段;及び
前記ターゲット・シーケンスのトークンと前記ターゲット・シーケンスのフレーズ・ツリー構造とを出力するアテンション・ベースのデコーダ手段であって、アテンション・ウェイトによりスケーリングされたエンコーダ合成埋め込みの凸結合として、前記ターゲット・シーケンスの前記フレーズ・ツリー構造各々の予測されるフレーズ・タイプについてデコーダ埋め込みをエンコードし、異なるフレーズ・タイプに対する共通の埋め込みとして一定のベクトルが使用される、デコーダ手段;
を備えるシステム。
【請求項2】
前記エンコーダ手段及び前記アテンション・ベースのデコーダ手段は、長短期メモリ(LSTM)ネットワークであり、
前記エンコーダ手段及び前記アテンション・ベースのデコーダ手段の各々は、エンコーダ及びデコーダ合成埋め込みを計算する双方向LSTM(Bi−LSTM)を含む、又は
前記エンコーダ手段及び前記アテンション・ベースのデコーダ手段は、スタック・オンリ再帰ニューラル・ネットワーク・グラマー(s−RNNG)ネットワークである、請求項1に記載のシステム。
【請求項3】
前記フレーズ・ツリー構造は、構成要素分析ツリー構造、又は依存性分析ツリー構造である、請求項1−2のうち何れか1項に記載のシステム。
【請求項4】
現在のデコーダ状態を表現するデコーダ・ツリー・ノードと、エンコード中に異なるエンコーダ状態を表現するエンコーダ・ツリー・ノードとを比較する比較手段であって、前記比較は、内積、双一次関数、及び単層ニューラル・ネットワークのうち少なくとも1つを使用して実行される、比較手段;
前記比較の結果を指数正規化する正規化手段;及び
前記指数正規化された結果を前記アテンション・ウェイトとして使用することで、前記エンコーダ・ツリー・ノードに対応するエンコーダ合成埋め込みの重み付け加算を計算する結合手段;
を更に備える請求項1−3のうち何れか1項に記載のシステム。
【請求項5】
前記比較は、前記ソース・シーケンスの前記フレーズ・ツリー構造と前記ターゲット・シーケンスの前記フレーズ・ツリー構造との間の構文構造的な類似性を測り;及び
前記ソース・シーケンス及び前記ターゲット・シーケンスの構文的に最も類似するフレーズ・ツリー構造間の比較は、最も高いアテンション・ウェイトをもたらす、請求項4に記載のシステム。
【請求項6】
前記トークンは文字ベースのトークンである、請求項5に記載のシステム。
【請求項7】
前記ソース・シーケンスの前記フレーズ・ツリー構造の異なるフレーズ・タイプ構成要素の共通埋め込みとして、固定されたベクトルを使用するように更に構成されている請求項1−6のうち何れか1項に記載のシステム。
【請求項8】
前記エンコーダ手段は、各々のフレーズ・ツリー構造の文字ベース・トークン構成をエンコーダ合成ベクトルに埋め込むことにより、前記ソース・シーケンスのトークンと前記ソース・シーケンスのフレーズ・ツリー構造とをエンコードするRNNGエンコーダ手段であり;及び
前記アテンション・ベースのデコーダ手段は、フレーズ・タイプにより分類された、前記ターゲット・シーケンスのフレーズ・ツリー構造と前記ターゲット・シーケンスのトークンとを出力するRNNGアテンション・ベースのデコーダ手段であり、エンコーダ合成ベクトルに注意を払うことにより計算される前記フレーズ・タイプを或るベクトルが表現し、前記注意は、エンコーディング中のRNNGエンコーダ状態と現在のRNNGデコーダ状態との間の比較により条件付けられる、デコーダ手段;
を備える請求項1、3−7のうち何れか1項に記載のシステム。
【請求項9】
第1言語のソース・シーケンスを第2言語のターゲット・シーケンスに翻訳するアテンション・ニューラル機械翻訳方法であって:
前記ソース・シーケンスのトークンと前記ソース・シーケンスのフレーズ・ツリー構造とを再帰ニューラル・ネットワーク・グラマー(RNNG)エンコーダを利用してエンコードするステップであって、前記ソース・シーケンスの前記トークンの各々は前記ソース・シーケンスからの文字に対応し、前記ソース・シーケンスの前記フレーズ・ツリー構造の少なくとも1つのエンコードは:前記ソース・シーケンスの前記フレーズ・ツリー構造のフレーズ・タイプを予測する場合に、エンコーダ状態を表現するエンコーダ・ツリー・ノードと、前記ソース・シーケンスの前記フレーズ・ツリー構造の構成要素を表現するエンコーダ合成埋め込みとを含む、ステップ;及び
前記ターゲット・シーケンスのトークンと前記ターゲット・シーケンスのフレーズ・ツリー構造とをRNNGデコーダを利用して出力するステップであって、前記RNNGデコーダは、アテンション・ウェイトによりスケーリングされたエンコーダ合成埋め込みの凸結合として、前記ターゲット・シーケンスの前記フレーズ・ツリー構造各々の予測されるフレーズ・タイプについてデコーダ埋め込みをエンコードし、異なるフレーズ・タイプに対する共通の埋め込みとして一定のベクトルが使用される、ステップ;
を有する方法。
【請求項10】
現在のデコーダ状態を表現するデコーダ・ツリー・ノードと、エンコード中に異なるエンコーダ状態を表現するエンコーダ・ツリー・ノードとを比較するステップであって、前記比較は、内積、双一次関数、及び単層ニューラル・ネットワークのうち少なくとも1つを使用して実行される、ステップ;
前記比較の結果を指数正規化するステップ;及び
前記指数正規化された結果を前記アテンション・ウェイトとして使用することで、前記エンコーダ・ツリー・ノードに対応するエンコーダ合成埋め込みの重み付け加算を計算するステップ;
を更に備える請求項9に記載の方法。
【請求項11】
前記比較は、前記ソース・シーケンスの前記フレーズ・ツリー構造と前記ターゲット・シーケンスの前記フレーズ・ツリー構造との間の構文構造的な類似性を測り;及び
前記ソース・シーケンス及び前記ターゲット・シーケンスの構文的に最も類似するフレーズ・ツリー構造間の比較は、最も高いアテンション・ウェイトをもたらす、請求項10に記載の方法。
【請求項12】
前記トークンは文字ベースのトークンである、請求項9−11のうち何れか1項に記載の方法。
【請求項13】
前記ソース・シーケンスの前記フレーズ・ツリー構造の異なるフレーズ・タイプ構成要素の共通埋め込みとして、固定されたベクトルを使用するステップを更に有する請求項9−12のうち何れか1項に記載の方法。
【請求項14】
各々のフレーズ・ツリー構造の文字ベース・トークン構成をエンコーダ合成ベクトルに埋め込むことにより、前記ソース・シーケンスのトークンと前記ソース・シーケンスのフレーズ・ツリー構造とをエンコードするようにRNNGエンコーダを使用するステップ;及び
フレーズ・タイプにより分類された、前記ターゲット・シーケンスのフレーズ・ツリー構造と前記ターゲット・シーケンスのトークンとを出力するためにRNNGアテンション・ベースのデコーダを使用するステップであって、エンコーダ合成ベクトルに注意を払うことにより計算される前記フレーズ・タイプを或るベクトルが表現し、前記注意は、エンコーディング中のRNNGエンコーダ状態と現在のRNNGデコーダ状態との間の比較により条件付けられる、ステップ;
を更に有する請求項9、11−13のうちの何れか1項に記載の方法。
【請求項15】
請求項9−14のうち何れか1項に記載の方法を実現するコンピュータ実行可能命令を有する非一時的なコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【背景技術】
【0001】
他の出願に関する相互参照
本願は、2018年2月21日付けで出願された米国特許出願第15/901,722号、及び2017年4月14日付けで出願された米国仮特許出願第62/485,856号に対する優先権を主張しており、それら各々は全体的にリファレンスに組み込まれる。
援用
【0002】
以下の題材はあたかもここに完全に記載されているかのようにリファレンスにより組み込まれる:
【0003】
Chris Dyer, Miguel Ballesteros, Wang Ling, Austin Matthews, and Noah A Smith. 2016a. Transition−based dependency parsing with stack long short−term memory. In EMNLP (“Dyer et al., 2016a”);
【0004】
Chris Dyer, Adhiguna Kuncoro, Miguel Ballesteros, and Noah Smith. 2016b. Recurrent neural network grammars. In NAACL (“Dyer et al., 2016b”);
【0005】
Adhiguna Kuncoro, Miguel Ballesteros, Lingpeng Kong, Chris Dyer, Graham Neubig, and Noah A. Smith. 2017. What do recurrent neural network grammars learn about syntax? In EACL (“Kuncoro et al.”);
【0006】
Junyoung Chung, Sungjin Ahn, and Yoshua Bengio. 2017. Hierarchical multiscale recurrent neural networks. In ICLR;
【0007】
Akiko Eriguchi, Kazuma Hashimoto, and Yoshimasa Tsuruoka. 2016. Tree−to−sequence attentional neural machine translation. In ACL; and
【0008】
CS 224D: Deep Learning for NLP, Lecture Notes: Part I, Part II, Part III, Part IV, and Part V (“Socher et al.”).
開示される技術の分野
【0009】
開示される技術は、人工知能型コンピュータ及びディジタル・データ処理システム、並びに知能のエミュレーションのための対応するデータ処理方法及び製品(即ち、知識ベース・システム、推論システム、及び知識獲得システム)に関し;不確実性を用いて推論するシステム(例えば、ファジー論理システム)、適応システム、機械学習システム、及び人工ニューラル・ネットワークを含む。開示される技術は、自然言語処理タスクのために、長短期メモリ(LSTM)ネットワークのようなディープ・ニューラル・ネットワークを使用する。
【0010】
背景
このセクションで議論される対象事項は、このセクションでの単なる言及の結果として先行技術であると考えられるべきではない。同様に、このセクションで言及された、又は背景として提供され対象事項に関連する問題は、先行技術で既に認識されていたものと考えられるべきではない。このセクションにおける対象事項は単に、様々なアプローチを表しているに過ぎず、それ自体、保護が請求される技術の実装にも対応し得る。
【0011】
機械翻訳のような自然言語処理タスクで言語階層を利用する多くの努力は、人が注釈を付けたツリーバンクから訓練された自己完結パーサー・システムの出力を利用する。第2のアプローチは、手元のタスクと言語階層の関連する態様とを一緒に学習することを目的とし、ツリーバンク注釈実行に対応しても対応しなくてもよい未注釈の訓練データセット・パース・ツリーから導出する。
【0012】
言語階層を利用することを目的とした自然言語処理のため大部分のディープ・ラーニング・モデルは、ニューラル・ネットワークの再帰構造を記述するため、又は自身の構造を予測するネットワークのための教師信号又はトレーニング・データを提供するために、外部パーサーを統合する。幾つかのディープ・ラーニング・モデルは、2番目のアプローチをとり、階層構造を潜在変数(a latent variable)として取り扱い、グラフ・ベースの条件付きランダム・フィールド、ストレート・スルー推定器、又はポリシー勾配強化学習に対して推論を適用し、勾配ベースの学習の離散的な潜在状態を伴う問題への非適用性に対処する。
【0013】
機械翻訳のタスクについては、構文的に情報を与えられたモデルは、ディープ・ラーニング・コンテキストの内外双方で有望性を示しており、階層的なフレーズ・ベース・モデルは、しばしば、形態素構文入力特徴(morphosyntactic input features)により補足されたニューラル機械翻訳モデル及び従来のもの、ツリー構造のエンコーダ、及び各々が純粋にシーケンシャルなベースラインより優れた共同訓練されたパーサーより優れている。
【0014】
先験的な注釈なしに言語の階層構造を活用する自然言語処理の長年の目標を達成する好機が生じている。改善された自然言語処理がもたらされ得る。
【図面の簡単な説明】
【0015】
図1図1は、アテンション・ニューラル機械翻訳システムが動作する環境の一実施形態を示す。
【0016】
図2図2は、第1言語(例えば、ドイツ語)でソース・シーケンスを使用するRNNGエンコーダの一実施形態を示す。
【0017】
図3図3は、ソース・シーケンスを処理するRNNGエンコーダの一実施形態を示す。
【0018】
図4図4は、第2言語(例えば、英語)でターゲット・シーケンスを送るアテンション・ベースのRNNGデコーダの一実施形態を示す。
【0019】
図5図5は、ターゲット・シーケンスを処理するアテンション・ベースのRNNGデコーダの一実施形態を示す。
【0020】
図6図6は、ターゲット・シーケンスを処理するためにアテンション・ベースのRNNGデコーダによって適用されるアテンションの一例である。
【0021】
図7図7は、アテンション・ニューラル機械翻訳システムによるアテンション・ベースのフレーズ構造解析についての一実施形態を示す。
【0022】
図8図8は、アテンション・ニューラル機械翻訳システムによって適用されるアテンションの視覚化についての一実施形態である。
【0023】
図9図9は、アテンション・ニューラル機械翻訳システムを実装するために使用されることが可能なコンピュータ・システムについての一実施態様を示す。
【発明を実施するための形態】
【0024】
以下の議論は、当業者が開示された技術で生成及び使用できるように提示され、特定のアプリケーション及びその条件の文脈で提供されている。開示された実装に対する様々な変形は、当業者に容易に明らかであり、ここで規定される一般的な原理は、開示される技術の精神及び範囲から逸脱することなく、他の実装及びアプリケーションに適用されてもよい。従って、開示される技術は、示された実装に限定されるようには意図されておらず、ここで開示される原理及び特徴に合致する最も広い範囲が与えられるべきである。
【0025】
イントロダクション
我々は先験的注釈なしに言語の階層構造を利用する自然言語処理の長年の目標を達成する機械翻訳タスクのためのアテンション・ニューラル機械翻訳モデルを紹介する。このモデルは、新規なアテンションRNNGデコーダを有する再帰ニューラル・ネットワーク・グラマー(RNNG)エンコーダを含み、ポリシー勾配強化学習を適用して、ソース・シーケンス及びターゲット・シーケンス双方に関して教師なしツリー構造を導出する。明示的なセグメンテーション又はパース・アノーテーションを伴わずに文字レベル・データセット上で訓練される場合、モデルは、もっともらしいセグメンテーション及び浅い解析を学習し、アテンション・ベースラインに近いパフォーマンスを得る。
【0026】
モデルのエンコーダ及びデコーダRNNGは、両方とも、テキストを使用又は送り出す際にそれら自身の構成要素構造を予測するツリー構造ニューラル・ネットワークである。エンコーダ及びデコーダ・ネットワークは、文字レベルでテキストを取り込みながら、非制約項数のツリー構造を生成し、モデルが単語内の構造を発見して利用することを可能にする。エンコーダ及びデコーダRNNGの解析判断は、2つの対象:即ち、高い尤度で次の文字を予測することに報酬を与える言語モデル損失項と、エンコーダ及びデコーダRNNGにおける構成要素間の1対1のアテンション対応に報酬を与えるツリー・アテンション項との重み付け加算を使用して訓練される確率論的ポリシーによってパラメータ化される。
【0027】
我々はflickr30kデータセットのドイツ語−英語ペアでモデルを評価し、それは強力な文字レベル・ベースラインと同様のパフォーマンスを得ている。エンコーダ及びデコーダRNNGによって生成される潜在ツリーの分析は、モデルが合理的なセグメンテーション及び浅い構文解析を学習し、ドイツ語入力センテンスを取り込みながら構築されるほとんどのフレーズ・レベル構成要素が、英語出力を生成しながら構築される構成要素に有意に対応することを示す。
【0028】
環境
図1はアテンション・ニューラル機械翻訳システム102が動作する環境100についての一実施形態を示す。システム102は、再帰ニューラル・ネットワーク・グラマー(RNNG)エンコーダ112と、アテンション・ベースのRNNGデコーダ122とを備え、これらは再帰ニューラル・ネットワーク(RNN)アーキテクチャ上で構築される。RNNG及びその変形(スタック専用再帰ニューラル・ネットワーク・グラマー(s−RNNG)等)についての更なる詳細は、「Dyer et al.,2016b」及び「Kuncro et al.」にそれぞれ見出されることが可能であり、これらはあたかもここに完全に記載されているかのようにリファレンスに組み込まれている。長短期メモリ(LSTM)及びゲート付き再帰ユニット(GRU)等のRNNアーキテクチャについての更なる詳細は、「Socher et al.」に見出されることが可能であり、これはあたかもここに完全に記載されているかのようにリファレンスに組み込まれる。アテンション・ベースのRNNGデコーダ122は、アテンダ132を含む。アテンダ132は、比較器142と、指数正規化部152と、凸結合部(a convex combinator)162とを含む。
【0029】
システム102は、第1言語(例えば、ドイツ語)のソース・シーケンスを第2言語(例えば、英語)のターゲット・シーケンスに翻訳する。システム102は、トレーナー138によってトレーニング・データ105でトレーニングされる。トレーニング・データ105は、ソース・シーケンス115及びターゲット・シーケンス118を含む。トレーナー138は、教師フォーサ148と強化学習部158とを含む。環境100はまた、システム102を評価するために使用される検証データ(図示せず)も含む。
【0030】
トレーニングされ配備された後、システム102は、クライアント165(例えば、Google TranslateTM)上で動作するウェブ・アプリケーションを介して推論データ155を受信する。即ち、システム102は、第1言語のソース・シーケンスを識別する翻訳リクエストを受信し、第2言語のターゲット・シーケンスをクライアント165に送信することによって、リアルタイムで翻訳リクエストに応答する。
【0031】
環境100のシステム・コンポーネントは、様々なタイプのコンピューティング・デバイス上で動作するソフトウェアによって実装される。デバイスの例は、ワークステーション、サーバー、コンピューティング・クラスタ、ブレード・サーバー、及びサーバー・ファームである。ネットワーク125は、環境100のシステム・コンポーネントを結合し、すべて互いに通信している(実線の両矢印線で示されている)。実際の通信経路は、公的及び/又は私的なネットワーク上のポイント・ツー・ポイントであるとすることができる。通信は、様々なネットワーク、例えば、プライベート・ネットワーク、VPN、MPLS回路、又はインターネットを介して行うことができ、適切なアプリケーション・プログラミング・インターフェース(API)及びデータ交換フォーマット、例えば、表現可能状態転送(REST)、ジャバスクリプト・オブジェクト・ノーテーション(JSON)、拡張マークアップ言語(XML)、シンプル・オブジェクト・アクセス・プロトコル(SOAP)、ジャバ・メッセージ・サービス(JMS)、及び/又はジャバ・プラットフォーム・モジュール・システムを使用することができる。全ての通信は暗号化されることが可能である。通信は、一般に、EDGE、3G、4G LTE、Wi−Fi、及びWiMAX等のプロトコルを介して、LAN(ローカル・エリア・ネットワーク)、WAN(ワイド・エリア・ネットワーク)、電話ネットワーク(公衆交換電話網(PSTN))、セッション開始プロトコル(SIP)、ワイヤレス・ネットワーク、ポイント・ツー・ポイント・ネットワーク、スター・ネットワーク、トークン・リング・ネットワーク、ハブ・ネットワーク、モバイル・インターネットを含むインターネット等のネットワーク上で行われる。更に、ユーザー名/パスワード、オーオース(OAuth)、ケルベロス(Kerberos)、セキュアID(SecureID)、ディジタル証明書などの様々な許可及び認証技法が、通信を保護するために使用されることが可能である。
【0032】
環境100のシステム・コンポーネントを説明してきたが、ここでRNNGエンコーダ112及びその処理について説明する。
【0033】
RNNGエンコーダ
上述のように、エンコーダ112及びデコーダ122は、互いに結合された再帰ニューラル・ネットワーク・グラマー(RNNG)ネットワークである。一実施形態では、RNNGエンコーダ112は、スタック専用RNNG(Kuncro et al.に記載されている)であり、RNNGデコーダ122は、構成要素レベルのアテンション(例えば、文字レベルのアテンション)で増強されたスタック専用RNNGである。
【0034】
再帰ニューラル・ネットワーク・グラマーに関して、RNNGはトップ・ダウン遷移ベース・モデルであり、そのモデルは、文章表現と解析ツリーとを共に構築し、スタックLSTM(Dyer et al., 2016aに記載されている)を用いて構文解析状態を表し、構成要素コンポジション機能として双方向LSTM(Bi−LSTM)を使用する。
【0035】
RNNGは、ストリング終端及びフレーズ構造非終端にわたる結合確率分布を定義する。形式的には、RNNGはトリプル<N,Σ,Θ>によって定められ、Nは非終端記号(NP(名詞句)、VP(動詞句)等)の集合を示し、Σは全ての終端記号の集合を示し、Θはモデル・パラメータの集合を示す。より細かい粒度のフレーズ表現を構成するために手作りのルールを当てにする代わりに、RNNGは、(ニューラル・ネットワーク・アーキテクチャ及びΘにおける)フレーズの構成を経て渡される情報を暗黙的にパラメータ化し、従って、古典的な確率的コンテキスト・フリー・グラマーにおける強い独立仮定を弱める。
【0036】
RNNGは遷移ベースの構文解析で使用されるもののような抽象状態マシンに基づいており、そのアルゴリズム状態は、(i)部分的に完成した構成要素のスタック、(ii)既に生成された終端記号のバッファ、及び(iii)過去のアクションのリストを含む。センテンスx及びそのフレーズ構造ツリーyを生成するために、RNNGは、yをトップ・ダウンで構築するためにアクションのシーケンスをサンプリングする。yが与えられると、教師ありトレーニング中に使用される1つのそのようなシーケンスa=<a,...,a>が存在する。RNNGの3つのコンポーネントの各々は、LSTMで埋め込まれ、少なくとも1つのLSTMの隠れ状態が、現在のタイムステップのための全ての実行可能なアクションにわたるソフトマックスを予測するために使用される。
【0037】
RNNGは3つの異なるアクションを使用する:
● NT(非終端):オープン非終端をスタックに導入する,例えば「(NP)」;
● GEN(生成):終端記号を生成し、それをスタック及びバッファに配置する;及び
● RED(リデュース):構成要素は今や完成していることを示す。現在の構成要素を含むスタックの要素はポップされ(最後のオープン非終端に戻る)、コンポジション関数が双方向LSTM(Bi−LSTM)によって実行され、単独の明示的な合成表現を生成し、これはスタックにプッシュされる。
【0038】
各タイムステップで、モデルは、(完全なアルゴリズム状態で条件付けられる)とるべき次のアクションにわたる分布を定義するための特徴として、各コンポーネントについて別個のLSTMを用いて、スタック、バッファ、及び過去のアクションをエンコードする。RNNGの重要な要素はコンポジション関数であり、これは、完成した構成要素又は構成要素の部分及び非終端ラベルを、スタック上の単一の明示的な要素に縮小又は変換する。この関数は、Bi−LSTMを使用して新しい構成要素のベクトル表現を計算する。
【0039】
RNNGは生成モデルであるので、次式のように定義されるp(x,y)、ストリング及びツリーの結合分布を最大化しようとする:
【数1】
【0040】
言い換えれば、p(x,y)は全ての過去のアクションで条件付けられた局所的確率の積として定義される。結合確率推定値p(x,y)は、xに対する可能な構文解析の集合にわたってマージナル化することによって、フレーズ構造構文解析(argmaxp(y|x)を見出すこと)及び言語モデリング(p(x)を見出すこと)の双方に使用されることが可能である。双方の推論問題は、重要度サンプリング手順(「Dyer et al., 2016b」及び「Kuncro et al.」に記載されている)を使用して解決することができる。
【0041】
一実施形態では、RNNGエンコーダ112は、異なるフレーズ・タイプに対して別個の新しい非終端トークンを欠いており、従って、Bi−LSTMによって実現される合成関数に対する入力としてフレーズ・タイプを含まないという点で、「Dyer et al.,2016b」のものと異なる。その代わりに、エンコーダに対するxの値は定数xencに固定され、RNNGデコーダ122のxdec値は、図5を参照して以下で説明されるアテンション・プロシジャによって決定される。
【0042】
最初に説明したように、RNNGは、3つの連結される入力を有する1層パーセプトロンtanhを使用して、パーサー遷移を予測し、3つの入力は次のとおりである:即ち、スタックの内容にわたる単方向LSTMの最後の状態、分析されていないトークンのリバース・バッファにわたる単方向LSTMの最後の状態、及び過去の遷移にわたるLSTMの結果。これらの状態の3つすべては、「Dyer et al.,2016a」に記載されているスタックLSTMアルゴリズムを使用して、パーサー遷移ごとに高々1つのLSTMステップで計算されることが可能である。
【0043】
しかしながら、このようなベースラインRNNGは、パーサーの遷移をスタック表現のみに、即ちスタック専用RNNG(「Kuncro el al.」に記載されている)に条件付けるものより優れている。幾つかの実装形態では、このスタックのみのケースに我々のモデルを制限することにより、RNNGエンコーダ112及びRNNGデコーダ122の両方が、言語モデル損失を使用して教師あり学習され得る一方で、解析されていないトークンのリバース・バッファを介した単方向LSTMの最後状態へのモデル・アクセスを可能にすることにより、次の文字を予測し、ゼロ損失を得る効率的な方法をもたらす。
【0044】
図2、3、4及び5に関する以下の説明は、ドイツ語のソース・シーケンス「Die hungrige Katze weht」を英語のターゲット・シーケンス「The hangry cat meows」に翻訳する状況における開示されるアテンション・メカニズムに焦点を当てている。
【0045】
図2は、第1言語(例えば、ドイツ語)のソース・シーケンスを消費するRNNGエンコーダ112の一実施形態200を示す。図3は、ソース・シーケンスを処理するRNNGエンコーダ112の一実施形態300を示す。
【0046】
図2において、例示のドイツ語ソース・シーケンスは、「Die hungrige Katze weht」である。図示の実施形態では、RNNGエンコーダ112は、6つのNT(非終端)アクションを行う。RNNGエンコーダ112の各NTアクションは、xencとしてベクトル化され、エンコードされ、又は埋め込まれる。一実施形態において、xencは一定の又は固定されたベクトルであり、ソース・シーケンスのフレーズ・ツリー構造の異なるフレーズ・タイプ構成要素のための共通の埋め込み(a common embedding)として役立つ。フレーズ・タイプ構成要素の具体例は、名詞句(NP)、動詞句(VP)、前置詞句(propositional phrase:PP)、及び文(S)を含む。言い換えれば、この実施形態によれば、符号化の異なるタイムステップにおいて、NTアクションを埋め込むベクトルの値は、xencとして固定されたままであり、エンコードするタイムステップにわたって変化しない。また、エンコードするタイムステップにわたる共通の埋め込みxencの伝播が図3に示されている。
【0047】
NTアクションを行う「直前」のRNNGエンコーダ112の状態又は隠れ状態は、xencによって表現される。言い換えれば、sencは、ソース・シーケンスのフレーズ・ツリー構造のフレーズ・タイプを予測する場合(直前)におけるエンコーダの状態を識別するエンコーダ・ツリー・ノードを表現している。図3に示される実施形態では、6つのそのような隠れ状態又はエンコーダ・ツリー・ノードが示されており(例えば、エンコーディング・タイムステップt,t,t,t,t19,t29におけるもの)、その各々は、RNNGエンコーダ112がRED (リデュース)アクション(例えば、エンコーディング・タイムステップt,t17,t25,t27,t34,t35におけるもの)を行った結果として生成される、所謂エンコーダ合成埋め込みのうちの1つによって補完される。一実施形態では、REDアクションを行う場合に、RNNGエンコーダ112は、オープン・フレーズ・タイプ構成要素をエンコード(xenc)することなく、双方向LSTM(Bi−LSTM)を使用して、ソース・シーケンスのフレーズ・ツリー構造の現在のトークン構成要素をエンコードし、最新のオープン・フレーズ・タイプ非終端に戻る。Bi−LSTMの出力はエンコーダ合成埋め込みcencである。例えば、エンコーディング・タイムステップtにおいて、図3における第1REDアクションは、Bi−LSTMにより、ドイツ語の言葉「Die」における文字トークンxD+i+eの双方向符号化を引き起こす。双方向エンコーディング・プロシジャは、第3NTアクションを行う直前にRNNG符号器112の隠れ状態sencを補完するエンコーダ合成埋め込みcencを生成する。
【0048】
ソース・シーケンスのトークンに関して、それらは、RNNGエンコーダ112がGEN(生成)アクションを行う場合に消費される。図3に示す実施形態では、トークンは文字ベースのトークン埋め込みxtokensである。一実施形態では、文字ベースのトークン埋め込みxtokensは、実数値ベクトルを使用して密にエンコードされることが可能である。別の実装では、文字ベースのトークン埋め込みxtokensは、1ホット・ベクトル(one−hot vectors)を使用して、疎にエンコードされることが可能である。
【0049】
図3の入力/出力ワークフローに関し、RNNGエンコーダ112は、ランダムな又は所定の隠れ状態sencで初期化される。各エンコーディング・タイムステップにおいて、RNNGエンコーダ112の隠れ状態(エンコーダ状態)は、次のアクションがRED、GEN又はNTであるかどうかを決定するエンコーダ・ソフトマックス層に供給される。エンコーダ・ソフトマックス層が、RNNGエンコーダ112の現在の隠れ状態を処理することに応答して、現在のエンコーディング・タイムステップでNTアクションを出力する場合、固定された埋め込みxencが取得され、次の隠れ状態を生成するゲートLSTM型処理のための次のエンコーディング・タイムステップにおいてRNNGエンコーダ112に対する入力として供給される(「Socher et al.」に記載されている)。
【0050】
エンコーダ・ソフトマックス層が、RNNGエンコーダ112の現在の隠れ状態を処理することに応答して、現在のエンコーディング・タイムステップでREDアクションを出力する場合、エンコーダ合成埋め込みcencが、Bi−LSTMの合成関数によって生成され、次の隠れ状態を生成するために、ゲートLSTM型処理に関する次のエンコーディング・タイムステップでRNNGエンコーダ112に対する入力として供給される(「Socher et al.」に記載されている)。Bi−LSTMへの入力は、現在のフレーズ構造の構成トークンの文字ベースのトークン埋め込みxtokensであり、フレーズ・タイプ固定埋め込みxencによらず、フォワード及びリバース方向でBi−LSTMへ送られる
【0051】
エンコーダ・ソフトマックス層が、RNNGエンコーダ112の現在の隠れ状態を処理することに応答して、現在のエンコーディング・タイムステップでGENアクションを出力する場合、文字ベースのトークンxtokenが生成され、次の隠れ状態を生成するためにゲートLSTM型処理の次のエンコーディング・タイムステップでRNNGエンコーダ112に入力として供給される(「Socher et at.」に記載されている)。一実施形態では、GENアクションが選択される場合、RNNGエンコーダ112は、現在のエンコーダ状態を、1レイヤ語彙ソフトマックス・パーセプトロンに渡し、次のトークンが語彙内の文字各々である確率を与える。
【0052】
RNNGエンコーダ112及びその処理について説明してきたが、議論はアテンション・ベースのRNNGデコーダ122及びその処理に移る。
【0053】
アテンション・ベースRNNGデコーダ
RNNGエンコーダ112は、新しい非終端を表現するために単一のトークンxencを使用するが、RNNGデコーダ122は、エンコーダによって生成される全ての非終端ツリー・ノードのフレーズ表現の構造的アテンションによる重み付け加算として、スタックにおける新しい非終端を表現する。一実施形態では、デコーダ・スタック表現sdecと各エンコーダ・ノードにおけるスタック表現∀sencとの間の正規化されたドット積(即ち、cencを除いてxencまでを含むデコーダ・スタックLSTMの隠れ状態)を、エンコーダ・ノードに対応するフレーズ埋め込み∀cencの重み付け加算における係数として使用する:
【数2】
【0054】
エンコーダ及びデコーダ・スタック表現の間のドット積は、現在のデコーダ状態(の残留コンテキスト)とエンコーダ状態との間の構造的類似性の尺度である。特定のデコーダ非終端の中で、このモデルは通常のシーケンス・ツー・シーケンス変換に帰着する。対応する非終端のエンコーダの表現、又はそのような表現の重み付けされた組み合わせから開始して、デコーダは、子の構成要素(非終端及び終端の両方)の翻訳されたシーケンスを1つずつ送り出し、非終端の子を送り出す場合に限ってアテンションを適用する。
【0055】
図4は、第2言語(例えば、英語)のターゲット・シーケンスを送り出すアテンション・ベースのRNNGデコーダ122の一実施形態400を示す。図5は、ターゲット・シーケンスを処理するアテンション・ベースRNNGデコーダ122の一実施形態500を示す。
【0056】
図4において、RNNGデコーダ122によって送り出される例示的な英語のターゲット・シーケンスは、「The hungry cat meows(空腹の猫がニャーと鳴く)」というものである。説明される実施例において、RNNGデコーダ122は6つのNT(非終端)アクションを行う。RNNGデコーダ122のNTアクションは、xdecとしてベクトル化され、エンコードされ、又は埋め込まれ、これは本明細書では、ターゲット・シーケンスのフレーズ・ツリー構造の予測されたフレーズ・タイプの「デコーダ埋め込み」と呼ばれる。デコーダ埋め込みxdecは、アテンダ132によって実施されるアテンション・メカニズムによって決定される(アテンダ132は上述したものであり、図5及び図6に関連して更に詳細に説明される)。予測されるフレーズ・タイプの具体例は、名詞句(NP)、動詞句(VP)、前置詞句(PP)、及び文(S)を含む。
【0057】
NTアクションを行う「直前」のRNNGデコーダ122の状態又は隠れ状態は、sdecにより表される。言い換えれば、sdecは、ターゲット・シーケンスのフレーズ・ツリー構造のフレーズ・タイプを予測する場合(直前)におけるデコーダの状態を識別するデコーダ・ツリー・ノードを表す。図5に示される実装では、そのような6つの隠れ状態又はデコーダ・ツリー・ノードが示され(例えば、デコーディング・タイムステップt,t,t,t,t17,t25におけるもの)、それぞれは、RED (リデュース)アクション(例えば、デコーディング・タイムスタンプt,t15,t21,t23,t32,t33におけるもの)を行うRNNGデコーダ122の結果として生成される、所謂デコーダ合成埋め込みcdecの1つによって補完される。一実施形態では、REDアクションを行う場合に、RNNGデコーダ122は、オープン・フレーズ・タイプ構成要素xdecをエンコードすることなく、双方向LSTM(Bi−LSTM)を使用して、ターゲット・シーケンスのフレーズ・ツリー構造の現在のトークン構成要素をエンコードし、最新のオープン・フレーズ・タイプ非終端に戻る。Bi−LSTMの出力は、デコーダ合成埋め込みcdecである。例えば、デコーディング・タイムステップtでは、図5における第1REDアクションは、Bi−LSTMにより、英単語「The」における文字トークンxT+h+eの双方向符号化を引き起こす。双方向符号化は、第3NTアクションを行う直前にRNNG復号器122の隠れ状態sdecを補完するデコーダ合成埋め込みcdecを生成する。
【0058】
ターゲット・シーケンスのトークンに関して、それらは、RNNGデコーダ122がGEN(生成)アクションを行う場合に送り出される。図5に示す実施例では、トークンは文字ベースのトークン埋め込みxtokensである。一実施形態では、文字ベースのトークン埋め込みxtokensは、実数値ベクトルを使用して密にデコードされることが可能である。別の実装では、文字ベースのトークン埋め込みxtokensは、1ホット・ベクトルを使用して、疎にデコードすることが可能である。
【0059】
図5の入力/出力ワークフローに関して、RNNGデコーダ122は、ランダムな又は所定の隠れ状態sdecで初期化される。一実施形態では、ソース・シーケンスの最終的な又は最後のエンコーダ合成埋め込み(例えば、cenc)は、ターゲット・シーケンス(例えば、xdec)の最初に予測されるフレーズ・タイプのためのデコーダ埋め込みとして使用される。即ち、図4及び図5に示されるように、xdec=cencである。各デコーディング・タイムステップにおいて、RNNGデコーダ122の隠れ状態(デコーダ状態)は、次のアクションがRED、GEN又はNTであるかどうかを決定するデコーダ・ソフトマックス層に供給される。デコーダ・ソフトマックス層が、RNNGデコーダ122の現在の隠れ状態を処理することに応答して、現在のデコード・タイムステップでNTアクションを出力する場合、デコーダ埋め込みxdecは、アテンダ132によって実装されるアテンション・メカニズムによって決定され、次の隠れ状態を生成するゲートLSTM型処理のための次のデコード・タイムステップでRNNGデコーダ122に対する入力として供給される(「Socher et al.」に記載されている)。
【0060】
デコーダ・ソフトマックス層が、RNNGデコーダ122の現在の隠れ状態を処理することに応答して、現在のデコード・タイムステップでREDアクションを出力する場合、デコーダ合成埋め込みcdecは、Bi−LSTMの合成関数によって生成され、次の隠れ状態を生成するゲートLSTM型処理のための次のデコーディング・タイムステップでRNNGデコーダ122に対する入力として供給される(「Socher et al.」に記載されている)。Bi−LSTMへの入力は、現在のフレーズ構造の構成トークンの文字ベースのトークン埋め込みxtokensであり、フレーズ・タイプ・デコーダ埋め込みxdecなしに、Bi−LSTMへ順方向及び逆方向に供給される。一実施形態では、エンコーダ及びデコーダは、共通のBi−LSTMを共有し、別の実施形態では、それらは、別個のBi−LSTMを使用する。
【0061】
RNNGデコーダ122の現在の隠れ状態を処理することに応答して、デコーダ・ソフトマックス層が現在のデコード・タイムステップでGENアクションを出力する場合、文字ベース・トークンxtokenが生成され、次の隠れ状態を生成するゲートLSTM型処理のための次のデコーディング・タイムステップでRNNGデコーダ122に対する入力として供給される(「Socher et al.」に記載されている)。一実施形態では、GENアクションが選択される場合に、RNNGデコーダ122は、現在のデコーダ状態を、1レイヤ語彙ソフトマックス・パーセプトロンに渡し、次のトークンが語彙のうちの各文字である確率を与える。
【0062】
アテンション
図6は、ターゲット・シーケンスを処理するために、アテンション・ベースのRNNGデコーダ122によって適用されるアテンション(又は注意)600の一例である。上述したように、RNNデコーダ122はアテンダ132を備える。アテンダ132は、比較器142と、指数正規化部152と、凸結合部162とを含む。比較器142は、現在のデコーダ状態(例えば、図6におけるsdec)を表すデコーダ・ツリー・ノードを、エンコーダ中の異なるエンコーダ状態(例えば、図6におけるsenc,senc,senc,senc,senc,senc)を表すエンコーダ・ツリー・ノードと比較する。
【0063】
比較は、内積、双一次関数、及び単層ニューラル・ネットワークのうちの少なくとも1つを使用して、比較器142によって実行されることが可能である。比較器142による比較は、ソース・シーケンスのフレーズ・ツリー構造とターゲット・シーケンスのフレーズ・ツリー構造との間の構文構造の類似性を測定することができる。
【0064】
比較器142による比較の結果は、いわゆるアテンション値である。アテンション値は正規化されていないスカラー(図6ではλないしλとして示されている)である。指数正規化部152(例えば、ソフトマックス層)は、アテンション・ウェイトを生成するために、アテンション値を指数関数的に正規化する。アテンション・ウェイトは、合計して1になる正に正規化されたスカラーである(図6ではαないしαとして示されている)。ドイツ語の単語「Die」は英語の単語「The」に構文的に最も類似しているので、ソース及びターゲット・シーケンスのうちの最も構文的に類似したフレーズ・ツリー構造(例えば、図6におけるsdec及びsenc)の間の比較器142による比較は、最も高い(即ち1に最も近い)アテンション・ウェイト(例えば、図6におけるα)を生成することができる。別の例において、ドイツ語の単語「hungrige」は英語の単語「hungry」に構文的に最も類似しており、なぜなら双方の単語は定冠詞を先行詞とし、名詞句の始まりであるからであり、ソース及びターゲット・シーケンスの最も構文的に類似するフレーズ・ツリー構造(例えば、sdec及びsenc)の間のコンパレータ142による比較は、最も高い(即ち、1に最も近い)アテンション・ウェイトを生成することができる。
【0065】
比較及び指数正規化は、上述のステップ(a)によって数学的に記述される。
【0066】
凸結合部162は、指数関数的に正規化された結果を各自のアテンション・ウェイト(例えばαないしα)としてを使用して、エンコーダ・ツリー・ノード(例えば、図6におけるcenc,cenc,cenc,cenc,cenc,cenc)に対応するエンコーダ合成埋め込みの重み付け加算を計算又は決定する。換言すれば、ターゲット・シーケンスのフレーズ・ツリー構造の各々についての予測フレーズ・タイプ(例えば、図5のデコーディング・タイムステップtにおけるもの)に対するデコーダ埋め込み(例えば、図6におけるxdec)は、アテンション・ウェイト(例えば、図6におけるαないしα)によってスケーリングされたエンコーダ合成埋め込み(例えば、図6におけるcenc,cenc,cenc,cenc,cenc,cenc)の凸結合である。凸結合は、上述のステップ(b)によって数学的に記述される。
【0067】
アテンション・ベースのRNNGデコーダ122及びその処理について説明してきたが、ここで議論はアテンション・ベースのフレーズ構造解析600に移る。
【0068】
アテンション・ベース・フレーズ構造解析
図7は、アテンション・ニューラル機械翻訳システム102によるアテンション・ベースのフレーズ構造解析700の一実施形態を示す。
【0069】
エンコード又はデコードのいずれかの最中の所与のタイムステップにおいて、3つの可能な遷移が存在し(但し、1つ又は複数が禁止され得る):新しい非終端構成要素を開始すること(NT)、終端を予測して取り込むこと(GEN)、又は現在の非終端を終了すること(REDUCE)である。選択された遷移がNTである場合、RNNGは、新しい非終端トークンをアクティブ構成に追加し、新しい非終端構成を開始する。遷移がGENである場合、RNNGは、次のトークンを予測し、カーソル位置でコンテキスト・バッファからグランド・トゥルースの次のトークンを追加する。遷移がREDUCEである場合、アクティブな非終端の内容が合成関数に渡され、新しい非終端トークンが合成の結果と置き換えられ、スタックLSTMが、以前のアクティブ構成要素にロールバックされる。3つ全ての場合において、スタックLSTMは、次に、1ステップ進める。
【0070】
アテンション・ベースのフレーズ構造解析700を説明してきたが、ここで議論はアテンション・ニューラル機械翻訳システム102のトレーニングに移る。
【0071】
トレーニング
我々のモデルを確率的計算グラフとして定式化し、逆伝搬(決定論的ノードを通る正確な勾配を提供し、教師フォーサ148によって実現される)とバニラ・ポリシー・グラジエント(vanilla policy gradient)(確率論的ノードを通る勾配のモンテカルロ推定器を提供し、強化学習部158によって実現される)とを組み合わせた(トレーナー138によって実現される)トレーニング方法(パラダイム)を導く。我々のモデルには幾つかの種類のトレーニング信号がある。先ず、エンコーダ又はデコーダは、GENアクションを選択すると、現在のスタック状態を1層ソフトマックス・パーセプトロンに通し、次のトークンが語彙のうちの文字各々である確率を与える。生成される各々のトークンに対する言語モデル損失Lは、グランド・トゥルースの次のトークンに割り当てられる負の対数確率である。他の微分可能なトレーニング信号は、カバレッジ損失Lであり、これは、アテンション・ウェイトが1対1写像の理想からどれだけ逸脱しているかの尺度である。このペナルティは、3つのMSE項の合計として計算される。
【数3】
【0072】
微分可能な損失を使用する逆伝搬は、出力ソフトマックス・パーセプトロンのウェイトのみに影響を及ぼす。これらのウェイトに対する全体的な損失関数は、全てのL項とLとの重み付け加算である。
【数4】
【0073】
更に、或る種のツリー構造に向かって、又はそこから離れるようにバイアスする追加的な微分可能でない報酬rが存在する。ここで、負数はペナルティに対応する。モデルが1子のみの構成を有するリデュース(REDUCE)を予測する場合(子がゼロの構成を有するREDUCEは禁止されている)、又は行の中で2つのREDUCE又はNTの遷移を予測する場合に、−1のツリー報酬を割り当てる。これは、単項分岐(unary branching)に対してモデルをバイアスし、専ら左−又は右−分岐ツリー構造を生成してしまう可能性を減らす。更に、ルートを除くすべての構成要素に対して、子のサイズ及びタイプに基づいてツリー報酬を割り当てる。n及びtが非終端及び終端の子の数である場合、この報酬は、全ての子が終端である場合には4tであり、そうでない場合には9√nである。このような報酬構造は、同じ構成内の終端と非終端とを自由に混合することに対してモデルを偏らせ、トレーニングの初期に実質的なツリー構造を構築するインセンティブを提供し、従ってモデルは自明な局所的最小値で立ち往生しない。エンコーダ及びデコーダの両方において、各々の確率的動作ノードは、アクションがREDUCEであれば対応するツリー報酬r(そうでなければゼロ)を有し、アクションがGENであれば対応する言語モデル損失L(そうでなければゼロ)を有する。言語モデル損失から、文字の頻度の影響を減らしたいので、我々は、語彙の中の各々の文字zについて独立に計算された各ツリー報酬及び追加の指数移動平均ベースラインから、指数移動平均ベースラインを減算する。GEN(k)が、アクション1からkのうちのGEN遷移数であり、γが減衰定数である場合、アクションkに対する最終的な報酬R(m∈{enc,dec})は、次のとおりである:
【数5】
【0074】
これらの報酬は、それぞれの確率的ノード(正規化されたアクション確率p及び選択されたアクションaを有する)が、標準的な多項式スコア関数推定器(REINFORCE)に従って逆伝播中に生成する勾配を定義する:
【数6】
【0075】
アテンション・ニューラル機械翻訳システム102のトレーニングについて説明してきたが、ここで議論はアテンション・ニューラル機械翻訳システム102によって適用されるアテンションの視覚化800に移る。
【0076】
アテンション視覚化
図8は、アテンション・ニューラル機械翻訳システム102によって適用されるアテンションの視覚化800についての一実施形態である。展開セットからの2つの文に対するアテンション視覚化(Attention visualizations)が示されている。2つの構成要素間のアテンションは、影が付いた四角形により表現され、四角形のx軸及びy軸への投影はそれぞれエンコーダ及びデコーダ構成要素をカバーしている。
【0077】
flickr30kのドイツ語−英語ペア、WMTマルチモーダル変換共有タスクのテキスト成分に関して我々のモデルを評価した。OpenNMTプロジェクトからの2つの層及び384個の隠れユニットを有するアテンション・シーケンス・ツー・シーケンス・モデルが、ベースラインとして文字レベルで実行され、貪欲推論で32.0テストBLEUを得た。同じ隠れサイズ及び貪欲推論による我々のモデルは、反復なバイグラムを除去した後、28.5というテストBLEUを達成している。我々は、PyTorchでモデルを実装し、ダイナミクス及び確率的計算グラフに対するその強力なサポートから恩恵を得て、バッチサイズ10及びAdamオプティマイザでトレーニングし、12エポック後にアーリー・ストッピングを行った。文字埋め込み及びエンコーダの埋め込みは、ランダムな384次元ベクトルに初期化された。γの値及びベースラインの指数移動平均の減衰定数は、両方とも0.95に設定された。
【0078】
翻訳のランダムな選択は補足資料に含まれ、2つのアテンション・プロットが図8に示されている。図8はまた、モデルの一般的なパソロジ(a common pathology)を示し、フレーズ・エンコーダ構成要素は、対応するデコーダ構成要素の先頭語のデコード中に処理される一方、エンコーダ構成要素の先頭語は、フレーズ全体に対応するデコーダ構成要素のデコード中に処理される。別の一般的なパソロジは、翻訳における反復的な文の断片であり、これは、(「入力供給」アプローチのように)モデルが過去のアテンション・ウェイトに将来のアテンションを直接的に条件付けることができないことを理由に生成される可能性が高い。スタック及びバッファ入力双方を有するRNNGは言語モデル損失と互換性がないので我々が選ぶスタックのみのRNNGの我々の利用に起因して翻訳品質もまた影響を受ける。エンコード中に、モデルは、文のまさに開始時点で、最初の文字をどの程度深く埋め込むかを決定する。しかしながら、スタックのみのRNNGでは、文全体を含むバッファ表現を使用することができないので、この決定をランダムに行う。
【0079】
アテンション・ニューラル機械翻訳システム102によって適用されるアテンションの視覚化800のトレーニングを説明してきたが、ここで議論はアテンション・ニューラル機械翻訳システム102を実施するために使用されることが可能なコンピュータ・システム900に移る。
【0080】
コンピュータ・システム
図9は、アテンション・ニューラル機械翻訳システム102を実施するために使用することが可能なコンピュータ・システム900の一実施態様を示す。コンピュータ・システム900は、バス・サブシステム955を介して多数の周辺デバイスと通信する少なくとも1つの中央処理装置(CPU)972を含む。これらの周辺装置は、例えば、メモリ装置及びファイル・ストレージ・サブシステム936を含むストレージ・サブシステム910と、ユーザー・インターフェース入力装置938と、ユーザー・インターフェース出力装置976と、ネットワーク・インターフェース・サブシステム974とを含むことが可能である。入出力装置は、コンピュータ・システム900とのユーザーの対話を可能にする。ネットワーク・インターフェース・サブシステム974は、他のコンピュータ・システムにおける対応するインターフェース・デバイスに対するインターフェースを含む、外部ネットワークに対するインターフェースを提供する。アテンション・ニューラル機械翻訳システム102は、ストレージ・サブシステム910及びユーザー・インターフェース入力デバイス938に通信可能にリンクされることが可能である。
【0081】
ユーザー・インターフェース入力デバイス938は、キーボード;マウス、トラックボール、タッチパッド、又はグラフィックスタブレット等のポインティングデバイス;スキャナ;ディスプレイに組み込まれたタッチスクリーン;音声認識システム及びマイクロホン等のオーディオ入力デバイス;並びに他のタイプの入力デバイスを含むことが可能である。一般に、「入力デバイス」という用語の使用は、コンピュータ・システム900に情報を入力する全ての可能なタイプの装置及び方法を含むように意図されている。
【0082】
ユーザー・インターフェース出力デバイス976は、ディスプレイ・サブシステム、プリンタ、ファックス・マシン、又はオーディオ出力デバイス等の非ビジュアル・ディスプレイを含むことが可能である。ディスプレイ・サブシステムは、LEDディスプレイ、陰極線管(CRT)、液晶ディスプレイ(LCD)等のフラット・パネル・デバイス、プロジェクション・デバイス、又は可視画像を生成する何らかの他の機構を含むことが可能である。ディスプレイ・サブシステムは、オーディオ出力装置のような非ビジュアル・ディスプレイを提供することも可能である。一般に、「出力装置」という用語の使用は、コンピュータ・システム900からユーザーへ又は別のマシン又はコンピュータ・システムへ情報を出力する全ての可能なタイプの装置及び方法を含むように意図されている。
【0083】
ストレージ・サブシステム910は、ここで説明されるモジュール及び方法の全部又は一部の機能を提供するプログラミング及びデータ構成を保存する。これらのソフトウェア・モジュールは一般にディープ・ラーニング・プロセッサ978によって実行される。
【0084】
ディープ・ラーニング・プロセッサ978は、グラフィックス処理ユニット(GPU)又はフィールド・プログラマブル・ゲート・アレイ(FPGA)であるとすることが可能である。ディープ・ラーニング・プロセッサ978は、グーグル・クラウド・プラットフォーム(Google Cloud Platform)(商標)、サイリンクス(Xilinx)(商標)、及びシラスケール(Cirrascale)(商標)等のディープ・ラーニング・クラウド・プラットフォームによってホストされることが可能である。ディープ・ラーニング・プロセッサ978の具体例は、グーグルのテンソル処理ユニット(TPU)(商標)、GX4Rackmountシリーズ(商標)等のラックマウント・ソリューション、GX9ラックマウント・シリーズ(商標)、NVIDIA DGX−1(商標)、マイクロソフトのStratix V FPGA(商標)、グラフコアの「Intelligent Processor Unit (IPU)」(商標)、クアルコムの「Zeroth Platform」(商標)、「Snapdragon processors」(商標)を用いた「Zeroth Platform」、 NVIDIAの「ボルタ( Volta)」(商標)、 NVIDIAの「DRIVE PX」(商標)、 NVIDIAの「JETSON TX1/TX2 MODULE」(商標)、 Intelの「Nirvana」(商標)、「Movidius VPU(商標)」、「Fujitsu DPI」(商標)、 ARMの「DynamicIQ」(商標)、「IBM TrueNorth」(商標)等を含む。
【0085】
ストレージ・サブシステム910で使用されるメモリ・サブシステム922は、プログラム実行中に命令及びデータを格納するためのメイン・ランダム・アクセス・メモリ(RAM)932と、不変の命令が格納されるリード・オンリ・メモリ(ROM)934とを含む幾つかのメモリを含むことが可能である。ファイル・ストレージ・サブシステム936は、プログラム及びデータ・ファイルのための永続的なストレージを提供することが可能であり、ハード・ディスク・ドライブ、関連するリムーバブル・メディアを伴うフロッピー・ディスク・ドライブ、CD−ROMドライブ、光学ドライブ、又はリムーバブル・メディア・カートリッジを含むことが可能である。特定の実施態様の機能を実施するモジュールは、記憶サブシステム910に、又はプロセッサによってアクセス可能な他のマシンに、ファイル・ストレージ・サブシステム936によって保存されることが可能である。
【0086】
バス・サブシステム955は、コンピュータ・システム900の様々な構成要素及びサブシステムを、意図されるように互いに通信させる機構を提供する。バス・サブシステム955は、単一のバスとして概略的に示されているが、バス・サブシステムの代替実施形態、複数のバスを使用することが可能である。
【0087】
コンピュータ・システム900自体は、パーソナル・コンピュータ、ポータブル・コンピュータ、ワークステーション、コンピュータ端末、ネットワーク・コンピュータ、テレビジョン、メインフレーム、サーバー・ファーム、緩くネットワーク化されたコンピュータの広く分散されたセット、又は任意の他のデータ処理システムもしくはユーザー・デバイスを含む、様々なタイプのものであるとすることが可能である。コンピュータ及びネットワークのこれまでの変化する性質に起因して、図9に示されるコンピュータ・システム900の説明は、本発明の好ましい実施形態を例示する目的のための特定の例としてのみ意図されている。図9に示すコンピュータ・システムよりも多い又は少ない構成要素を有する他の多くのコンピュータ・システム構成900が可能である。
【0088】
前述の説明は、開示された技術の製造及び使用を可能にするために提示されている。開示された実施形態に対する種々の変形は明らかであり、ここで規定された一般的な原理は、開示された技術の精神及び範囲から逸脱することなく、他の実施形態及びアプリケーションに適用されてもよい。従って、開示された技術は、示されている実施形態に限定されるようには意図されておらず、ここに開示される原理及び特徴に合致する最も広い範囲が与えられるべきである。開示される技術の範囲は、添付の特許請求の範囲によって定められる。
【0089】
特定の実施形態
第1言語のソース・シーケンスを第2言語のターゲット・シーケンスに翻訳するためのアテンション・ニューラル機械翻訳モデルのシステム及び様々な実装を説明する。実装の1つ以上の特徴は、基本的な実装と組み合わせることが可能である。相互に排他的ではない実装同士は、組み合わせることが可能であるように教示されている。実装の1つ以上の特徴は、他の実装と組み合わせることが可能である。本開示はこれらのオプションをユーザーに折に触れて想起させる。これらのオプションを繰り返す記載についての幾つかの実装からの省略は、先行するセクションで教示された組み合わせを限定するものとして解釈されるべきではなく、これらの記載は、後述の実装の各々に援用により前方に組み込まれる。
【0090】
我々は、機械翻訳のような自然言語処理タスクにおいて、教師なしツリー構造を活用する新しいアプローチを導入する。我々の実験は、小規模機械学習データセットが、潜在的言語構造を推論するのに十分なトレーニング信号を含むことを実証している。幾つかの実施形態では、バリュー関数ベースラインは、指数移動平均と置き換わることが可能であり、純粋な強化学習は、教師の強制と置き換わることが可能であり、ビーム探索は、欲張り推論の代わりに使用されることが可能である。提示される翻訳パソロジに対するソリューションは、バッファを見ることが可能であり且つスタックのみのスチューデント・モデルをトレーニングするのに役立つ教師モデルを使用する変分推論によって置き換えられることが可能である。
【0091】
開示される技術は、第1言語のソース・シーケンスを第2言語のターゲット・シーケンスに翻訳するためのアテンション・ニューラル機械翻訳システムを提示する。アテンション・ニューラル機械翻訳システムは、多数の並列プロセッサ上で動作する。
【0092】
アテンション・ニューラル・マシン翻訳システムは、エンコーダを備える。エンコーダは、多数の並列プロセッサのうちの1つで動作する第1スタック専用再帰ニューラル・ネットワーク・グラマー(s−RNNG)ネットワークであるとすることが可能である。エンコーダは、ソース・シーケンスのトークン及びソース・シーケンスのフレーズ・ツリー構造をエンコードする。ソース・シーケンスのフレーズ・ツリー構造のうちの少なくとも1つは、(i)ソース・シーケンスのフレーズ・ツリー構造のフレーズ・タイプを予測する場合にエンコーダ状態を表すエンコーダ・ツリー・ノードと、(ii)ソース・シーケンスのフレーズ・ツリー構造の構成要素を表すエンコーダ合成埋め込みとを含む。
【0093】
アテンション・ニューラル機械翻訳システムは、アテンションに基づくデコーダを備える。アテンション・ベースのデコーダは、多数の並列プロセッサのうちの1つで動作する第2のs−RNNGネットワークであるすることが可能である。アテンション・ベースのデコーダは、ターゲット・シーケンスのトークンとターゲット・シーケンスのフレーズ・ツリー構造とを出力する。ターゲット・シーケンスのフレーズ・ツリー構造各々の予測されたフレーズ・タイプに対するデコーダ埋め込みは、アテンション・ウェイトによってスケーリングされたエンコーダ合成埋め込みの凸結合である。
【0094】
システムは、現在のデコーダ状態を表すデコーダ・ツリー・ノードを、エンコーディング中に異なるエンコーダ状態を表すエンコーダ・ツリー・ノードと比較することが可能である。これは、(i)比較の結果を指数関数的に正規化し(いわゆるアテンション値)、(ii)指数関数的に正規化された結果をそれぞれのアテンション・ウェイトとして使用することで、エンコーダ・ツリー・ノードに対応するエンコーダ合成埋め込みの重み付け加算を計算することにより達成される。
【0095】
開示されるこのシステムの実施及び他のシステムは、選択的に以下の特徴のうちの1つ以上を含む。システムはまた、開示された方法に関連して説明された特徴を含むことも可能である。簡潔にするために、システム特徴の代替的な組み合わせは、個々には列挙されていない。システム、方法、及び製品に適用可能な特徴は、基本特徴についての法上のクラス・セット各々について繰り返されていない。読者は、このセクションで特定される特徴が、法上の他のクラスの基本特徴とどのように容易に組み合わせられ得るかを理解するであろう。
【0096】
比較は、内積、双一次関数、及び単層ニューラル・ネットワークのうちの少なくとも1つを使用して実行されることが可能である。比較は、ソース・シーケンスのフレーズ・ツリー構造とターゲット・シーケンスのフレーズ・ツリー構造との間の構文構造的な類似性を測ることが可能である。ソース及びターゲット・シーケンスのうち構文的に最も類似したフレーズ・ツリー構造の間の比較は、最も高いアテンション・ウェイトを生成することが可能である。
【0097】
トークンは、文字ベースのトークンとすることができる。一実施形態では、文字ベースのトークンは、実数値ベクトルを利用して密に符号化されることが可能である。別の実施形態では、キャラクタ・ベースのトークンは、1ホット・ベクトルを利用して疎に符号化されることが可能である。
【0098】
システムは、ソース・シーケンスのフレーズ・ツリー構造の異なるフレーズ・タイプ構成要素のための共通の埋め込みとして固定ベクトルを使用することが可能である。
【0099】
エンコーダ合成埋め込みは、フレーズ・タイプ構成要素を符号化することなく、1つ以上の文字ベースのトークン構成要素を符号化することが可能である。
【0100】
システムは、ソース・シーケンスの最終エンコーダ合成埋め込みを、ターゲット・シーケンスの最初に予測されたフレーズ・タイプのデコーダ埋め込みとして使用することが可能である。
【0101】
システムは、ポリシー勾配強化学習を使用して、ソース及びターゲット・シーケンス双方の教師なしフレーズ・ツリー構造を導出することが可能である。
【0102】
エンコーダ及びアテンション・ベースのデコーダは、長短期メモリ(LSTM)ネットワークであるとすることが可能である。
【0103】
エンコーダ及びアテンション・ベース・デコーダはそれぞれ、エンコーダ及びデコーダ合成埋め込みを計算する双方向LSTM(Bi−LSTM)を含むことが可能である。
【0104】
フレーズ・ツリー構造は、構成要素解析ツリー構造であるとすることが可能である。フレーズ・ツリー構造は、依存性解析ツリー構造であるとすることが可能である。
【0105】
他の実装形態は、上述したシステムの動作を実行するためにプロセッサによって実行可能な命令を記憶する非一時的なコンピュータ可読記憶媒体を含むことができる。他の実施のための特定の実施形態についてのセクションで説明された特徴の各々は、この実施形態に等しく適用される。上述したように、他の全ての特徴がここで繰り返されるわけではなく、援用によって繰り返されているとみなされるべきである。
【0106】
開示される技術は、第1言語のソース・シーケンスを第2言語のターゲット・シーケンスに翻訳するための再帰ニューラル・ネットワーク・グラマー(RNNG)に基づく機械翻訳システムを提供する。RNNGベースの機械翻訳システムは、多数の並列プロセッサ上で動作する。
【0107】
RNNGベースの機械翻訳システムは、多数の並列プロセッサのうちの1つで動作するRNGGエンコーダを備える。RNNGエンコーダは、各々のフレーズ・ツリー構造の文字ベースのトークン構成要素をエンコーダ合成ベクトルに埋め込むことによって、ソース・シーケンスのトークン及びソース・シーケンスのフレーズ・ツリー構造をエンコードする。
【0108】
RNNGベースの機械翻訳システムは、多数の並列プロセッサのうちの1つで動作するRNGGアテンション・ベースのデコーダを備える。RNNGアテンション・ベースのデコーダは、ターゲット・シーケンスのトークンと、フレーズ・タイプによって分類されたターゲット・シーケンスのフレーズ・ツリー構造とを出力し、エンコーダ構成ベクトルに注意を払うことによって計算されたフレーズ・タイプを或るベクトルが表現し、アテンションは、エンコーディング中の現在のRNNGデコーダ状態とRNNGエンコーダ状態との間の比較を条件に決定される。
【0109】
特定の実施形態のセクションで論じられた他の実施形態の特徴の各々は、この実施形態に等しく適用される。上述したように、他の全ての特徴はここでは繰り返されず、参照により繰り返されているとみなされるべきである。
【0110】
システムは、複数の目的関数の加重和を利用してトレーニングされた確率的ポリシーによって、RNNGエンコーダとRNNGアテンション・ベースのデコーダとの解析決定をパラメータ化することが可能である。目的関数は、高い尤度を有する次の文字ベースのトークンを予測することに報酬を与える言語モデル損失項であるとすることが可能である。目的関数は、RNNGエンコーダ及びRNNGアテンション・ベースのデコーダにおける構成要素間の1対1アテンション対応関係に報酬を与えるツリー・アテンション項であるとすることが可能である。
【0111】
比較は、内積、双一次関数、及び単層ニューラル・ネットワークのうちの少なくとも1つを使用して実行されることが可能である。比較は、ソース・シーケンスのフレーズ・ツリー構造とターゲット・シーケンスのフレーズ・ツリー構造との間の構文構造的な類似性を測定することが可能である。ソース及びターゲット・シーケンスの構文的に最も類似したフレーズ・ツリー構造の間の比較は、最も高いアテンション・ウェイトを生成することが可能である。
【0112】
他の実装形態は、上述のシステムの動作を実行するためにプロセッサによって実行可能な命令を記憶する非一時的なコンピュータ可読記憶媒体を含むことができる。
【0113】
開示された技術は、第1言語のソース・シーケンスを第2言語のターゲット・シーケンスに翻訳するアテンション・ニューラル・マシン翻訳方法を提供する。
【0114】
本方法は、再帰ニューラル・ネットワーク・グラマー(RNNG)エンコーダを使用して、ソース・シーケンスのトークンとソース・シーケンスのフレーズ・ツリー構造とを符号化することを含む。ソース・シーケンスのフレーズ・ツリー構造のうちの少なくとも1つは、(i)ソース・シーケンスのフレーズ・ツリー構造のフレーズ・タイプを予測するときにエンコーダ状態を表すエンコーダ・ツリー・ノードと、(ii)ソース・シーケンスのフレーズ・ツリー構造の構成要素を表すエンコーダ合成埋め込みとを含む。
【0115】
本方法は、RNNGアテンション・ベースのデコーダを使用して、ターゲット・シーケンスのトークンとターゲット・シーケンスのフレーズ・ツリー構造とを出力することを含む。ターゲット・シーケンスのフレーズ・ツリー構造各々の予測されたフレーズ・タイプに関するデコーダ埋め込みは、アテンション・ウェイトによってスケーリングされたエンコーダ構成埋め込みの凸結合である。
【0116】
他の実装形態は、上述の方法を実行するためにプロセッサによって実行可能な命令を記憶する非一時的なコンピュータ可読記憶媒体(CRM)を含むことができる。更に別の実装形態は、メモリと、メモリに格納された命令を実行して上述の方法を実行するように動作可能な1つ以上のプロセッサとを含むシステムを含むことができる。特定の実施形態のセクションにおいて説明された他の実施形態についての特徴の各々は、この実施形態に等しく適用される。上述したように、他の全ての特徴はここでは繰り返されず、参照により繰り返されているとみなされるべきである。
【0117】
開示される技術は、第1言語のソース・シーケンスを第2言語のターゲット・シーケンスに翻訳する再帰ニューラル・ネットワーク・グラマー(RNNG)に基づく機械翻訳方法を提示する。
【0118】
この方法は、エンコーダ合成ベクトルにフレーズ・ツリー構造各々の文字ベース・トークン構成要素を埋め込むことによって、ソース・シーケンスのトークン及びソース・シーケンスのフレーズ・ツリー構造をエンコードするように、RNNGエンコーダを使用することを含む。
【0119】
本方法は、RNNGアテンション・ベース・デコーダを使用して、フレーズ・タイプによって分類されたターゲット・シーケンスのフレーズ・ツリー構造及びターゲット・シーケンスのトークンを出力することを含み、複数のエンコーダ合成ベクトルにわたって注意を払うことによって計算されるフレーズ・タイプを或るベクトルが表現し、アテンションは、エンコーディング中に現在のRNNGデコーダ状態とエンコーダ状態との間の比較に条件付けられている。
【0120】
他の実装形態は、上述の方法を実行するためにプロセッサによって実行可能な命令を記憶する非一時的なコンピュータ可読記憶媒体(CRM)を含むことができる。更に別の実装形態は、メモリと、メモリに格納された命令を実行して上述の方法を実行するように動作可能な1つ以上のプロセッサとを含むシステムを含むことができる。他の実施形態に関し、特定の実施形態のセクションにおいて説明された特徴の各々は、この実施形態に等しく適用される。上述したように、他の全ての特徴はここでは繰り返されず、参照により繰り返されているとみなされるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9