(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-21
(45)【発行日】2023-05-01
(54)【発明の名称】語義表現モデルの訓練方法、装置、デバイス及びコンピュータ記憶媒体
(51)【国際特許分類】
G06F 40/30 20200101AFI20230424BHJP
G06F 40/216 20200101ALI20230424BHJP
【FI】
G06F40/30
G06F40/216
(21)【出願番号】P 2021074989
(22)【出願日】2021-04-27
【審査請求日】2021-04-27
(31)【優先権主張番号】202010638228.9
(32)【優先日】2020-07-06
(33)【優先権主張国・地域又は機関】CN
【前置審査】
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】ワン シュオホアン
(72)【発明者】
【氏名】リウ チアシアン
(72)【発明者】
【氏名】オウヤン シュアン
(72)【発明者】
【氏名】スン ユイ
(72)【発明者】
【氏名】ウー ホア
(72)【発明者】
【氏名】ワン ハイフォン
【審査官】成瀬 博之
(56)【参考文献】
【文献】Abrhalei Tela 他2名,Transferring Monolingual Model to Low-Resource Language: The Case of Tigrinya[online],2020年06月19日,[令和04年05月17日検索],インターネット<URL:https://arxiv.org/pdf/2006.07698.pdf>
【文献】大熊顕至,ニューラルネットワークのモデルのバリエーション[online],2015年09月09日,[令和04年05月17日検索],インターネット<URL:https:/thinkit.co.jp/story/2015/09/09/6399>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実行される、セマンティックデータモデル(Semantic data Model)の訓練方法であって、
前記セマンティックデータモデルは、Embedding Layerを最下位層として、Task Layerを最上位層として、Transformer Blockを他の層として含むニューラルネットワークであり、
前記セマンティックデータモデルの訓練方法は、
第1の言語により訓練されたセマンティックデータモデルを第1のセマンティックデータモデルとして取得し、
前記第1のセマンティックデータモデルの最下位層と最上位層を訓練対象層として訓練対象層を初期化し、他の層のモデルパラメータを変更せず、訓練終了条件に達するまで第2の言語の訓練コーパスを用いて訓練対象層を訓練し、
未訓練の各層を下から順に訓練対象層に加え、且つ、訓練対象層以外の他の層のモデルパラメータを変更せず、訓練終了条件に達するまで第2の言語の訓練コーパスを用いて訓練対象層をそれぞれ訓練することをそれぞれ実行し、
すべての層の訓練が終了した後、第2の言語に対するセマンティックデータモデルを
得、
第1の言語により訓練された前記セマンティックデータモデルを第2のセマンティックデータモデルとして取得し、
前記第2の言語の訓練コーパスを用いて訓練対象層を訓練する場合に、前記第2の言語の訓練コーパスに対応する第1の言語のパラレルコーパスを前記第2のセマンティックデータモデルに入力し、
前記第2のセマンティックデータモデルの出力結果と前記第1のセマンティックデータモデルの出力結果とをアラインメントすること、を含み、
前記第2のセマンティックデータモデルの出力結果と前記第1のセマンティックデータモデルの出力結果とをアラインメントすることは、
前記第2のセマンティックデータモデルの出力結果と前記第1のセマンティックデータモデルの出力結果とにより、第2の言語の訓練コーパスにおける文字に対する予測結果が得られ、第2の言語の訓練コーパスにおける文字に対する予測結果が対応する第2の言語の訓練コーパスにおける期待文字に一致するように、訓練対象層のモデルパラメータを更新することを含む、
方法。
【請求項2】
前記セマンティックデータモデルはTransformerモデルを含む、請求項1に記載の方法。
【請求項3】
前記第2の言語の訓練コーパスは、第2の言語を用いたマスク(mask)付きテキストおよび前記maskに対応する文字を含み、
第1のセマンティックデータモデルの各層を訓練する場合に、前記最上位層によるmaskの予測結果が前記訓練コーパスにおけるmaskに対応する文字に一致することを訓練目標とする、請求項1または2に記載の方法。
【請求項4】
前記第2のセマンティックデータモデルの出力結果と前記第1のセマンティックデータモデルの出力結果とをアラインメントすることは、
前記第1のセマンティックデータモデルの出力結果と前記第2のセマンティックデータモデルの出力結果とをアラインメントモデルに入力し、
前記アラインメントモデルにより、第1のセマンティックデータモデルの出力結果における文字のベクトル表示と第2のセマンティックデータモデルの出力結果における文字のベクトル表示とのドット積を利用して、第2のセマンティックデータモデルの出力結果における文字のベクトル表示に対して重み付け処理を行い、新たなベクトル表示を得、前記新たなベクトル表示を用いて全連結層(Softmax)のマッピングを行い、第2の言語の訓練コーパスにおける文字の予測結果を得る、
ことを含む請求項
1又は2に記載の方法。
【請求項5】
前記第2の言語の訓練コーパスに第2の言語を用いたマスク(mask)付きテキストおよび前記maskに対応する文字が含まれている場合に、訓練目標は、前記第2の言語の訓練コーパスにおけるmaskの予測結果が前記訓練コーパスにおけるmaskに対応する文字に一致することであり、
前記第2の言語の訓練コーパスが第2の言語のmaskなしテキストである場合に、訓練目標は、前記第2の言語の訓練コーパスにおける各文字の予測結果が前記訓練コーパスにおける各文字に一致することである、
請求項
4に記載の方法。
【請求項6】
セマンティックデータモデル(Semantic data Model)の訓練装置であって、
前記セマンティックデータモデルは、Embedding Layerを最下位層として、Task Layerを最上位層として、Transformer Blockを他の層として含むニューラルネットワークであり、
前記セマンティックデータモデルの訓練装置は、
第1の言語により訓練されたセマンティックデータモデルを第1のセマンティックデータモデルとして取得する第1の取得部と、
前記第1のセマンティックデータモデルの最下位層及び最上位層を訓練対象層として訓練対象層を初期化し、他の層のモデルパラメータを変更せず、訓練終了条件に達するまで第2の言語の訓練コーパスを用いて訓練対象層を訓練し、未訓練の各層を下から順に訓練対象層に加え、且つ、訓練対象層以外の他の層のモデルパラメータを変更せず、訓練終了条件に達するまで第2の言語の訓練コーパスを用いて訓練対象層をそれぞれ訓練することをそれぞれ実行し、すべての層の訓練が終了した後、第2の言語に対するセマンティックデータモデルを得る訓練部と、
第1の言語により訓練された前記セマンティックデータモデルを第2のセマンティックデータモデルとして取得する第2の取得部と、を備え、
前記訓練部は、前記第2の言語の訓練コーパスを用いて訓練対象層を訓練する場合に、前記第2の言語の訓練コーパスに対応する第1の言語のパラレルコーパスを前記第2のセマンティックデータモデルに入力し、前記第2のセマンティックデータモデルの出力結果と前記第1のセマンティックデータモデルの出力結果とをアラインメントし、
前記第2のセマンティックデータモデルの出力結果と前記第1のセマンティックデータモデルの出力結果とをアラインメントすることは、
前記第2のセマンティックデータモデルの出力結果と前記第1のセマンティックデータモデルの出力結果とにより、第2の言語の訓練コーパスにおける文字に対する予測結果が得られ、第2の言語の訓練コーパスにおける文字に対する予測結果が対応する第2の言語の訓練コーパスにおける期待文字に一致するように、訓練対象層のモデルパラメータを更新することを含む、
装置。
【請求項7】
前記セマンティックデータモデルはTransformerモデルを含む、請求項
6に記載の装置。
【請求項8】
前記第2の言語の訓練コーパスは、第2の言語を用いたマスク(mask)付きテキスト及び前記maskに対応する文字を含み、
前記訓練部は、第1のセマンティックデータモデルの各層を訓練する場合に、前記最上位層によるmaskの予測結果が前記訓練コーパスにおけるmaskに対応する文字に一致することを訓練目標とする、請求項
6または7に記載の装置。
【請求項9】
前記訓練部は、前記第2のセマンティックデータモデルの出力結果と前記第1のセマンティックデータモデルの出力結果とをアラインメントする場合に、具体的に、
前記第1のセマンティックデータモデルの出力結果と前記第2のセマンティックデータモデルの出力結果とをアラインメントモデルに入力し、
前記アラインメントモデルにより、第1のセマンティックデータモデルの出力結果における文字のベクトル表示と第2のセマンティックデータモデルの出力結果における文字のベクトル表示とのドット積を利用して、第2のセマンティックデータモデルの出力結果における文字のベクトル表示に対して重み付け処理を行い、新たなベクトル表示を得、前記新たなベクトル表示を用いて全連結層(Softmax)のマッピングを行い、第2の言語の訓練コーパスにおける文字の予測結果を得る、
請求項
8に記載の装置。
【請求項10】
前記第2の言語の訓練コーパスに前記第2の言語を用いたマスク(mask)付きテキストおよび前記maskに対応する文字が含まれている場合に、訓練目標は、前記第2の言語の訓練コーパスにおけるmaskの予測結果が前記訓練コーパスにおけるmaskに対応する文字に一致することであり、
前記第2の言語の訓練コーパスが第2の言語のmaskなしテキストである場合に、訓練目標は、前記第2の言語の訓練コーパスにおける各文字の予測結果が前記訓練コーパスにおける各文字に一致することである、
請求項
8に記載の装置。
【請求項11】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続されたメモリと、を備え、
前記メモリに前記少なくとも1つのプロセッサにより実行可能なコマンドが記憶されており、前記コマンドが前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに請求項1~
5のいずれか一項に記載の方法を実行させる電子デバイス。
【請求項12】
コンピュータに請求項1~
5のいずれか一項に記載の方法を実行させるためのコンピュータコマンドが記憶された非一時的なコンピュータ可読記憶媒体。
【請求項13】
コンピュータに請求項1~
5のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、コンピュータ応用技術分野に関し、特に人工知能技術に関する。
【背景技術】
【0002】
今年は、BERT(Bidirectional Encoder Representation from Transformers、transformerからの双方向エンコーダ表現)モデルをはじめとする事前訓練モデルは、NLP(Natural Language Processing、自然言語処理)タスクの効果を大幅に向上させた。しかし、現在主流の語義表現モデルは英語、中国語、フランス語、ドイツ語などの一般的な言語に集中している。しかし、世界には何千もの言語があり、ほとんどの言語は英語などの一般的な言語に比べてコーパスが少ないので、低リソース言語と呼ばれる。事前訓練モデルの訓練は大量のコンピューティングリソースを必要とし、コストが高く、各モデルのコストは数十万から数百万に達するため、各言語に対して訓練のために十分なコーパスを構築することは困難である。また、チェコ語のようなコーパスが非常に少ない言語では、訓練のために十分なコーパスを集めることさえ困難である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
これに鑑みて、本出願は、コーパスの少ない言語に対する語義表現モデルの訓練方法、装置、デバイス、およびコンピュータ記憶媒体を提供する。
【課題を解決するための手段】
【0004】
第1の態様では、本出願は、第1の言語により訓練された語義表現モデルを第1の語義表現モデルとして取得し、前記第1の語義表現モデルの最下位層と最上位層を訓練対象層とし、訓練対象層を初期化し、他の層のモデルパラメータを変更せず、訓練終了条件に達するまで第2の言語の訓練コーパスを用いて訓練対象層を訓練し、未訓練の各層を下から順に訓練対象層に加えてそれぞれ実行し、訓練対象層以外の層のモデルパラメータを変更せず、訓練終了条件に達するまで第2の言語の訓練コーパスを用いて訓練対象層をそれぞれ訓練し、全ての層について訓練が終了した後、第2の言語に対する語義表現モデルを得る、ことを含む語義表現モデルの訓練方法を提供する。
【0005】
第2の態様では、本出願は、第1の言語により訓練された語義表現モデルを第1の語義表現モデルとして取得する第1の取得部と、前記第1の語義表現モデルの最下位層および最上位層を訓練対象層として訓練対象層を初期化し、他の層のモデルパラメータを変更せず、訓練終了条件に達するまで第2の言語の訓練コーパスを用いて訓練対象層を訓練し、未訓練の各層を下から順に訓練対象層に加えてそれぞれ実行し、訓練対象層以外の層のモデルパラメータを変更せず、訓練終了条件に達するまで第2言語の訓練コーパスを用いて訓練対象層をそれぞれ訓練し、すべての層について訓練が終了した後、第2言語に対する語義表現モデルを得る訓練部と、を備える語義表現モデルの訓練装置を提供する。
【0006】
第3の態様では、本出願は、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサと通信接続されたメモリとを備え、前記メモリに前記少なくとも1つのプロセッサにより実行可能なコマンドが記憶されており、前記コマンドが前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに前記の何れか一つに記載の方法を実行させる電子デバイスを提供する。
【0007】
第4の態様では、本出願は、コンピュータに前記何れか一つに記載の方法を実行させるためのコンピュータコマンドが記憶された非一時的なコンピュータ可読記憶媒体を提供する。
【0008】
本出願では、既存の言語で訓練された語義表現モデルを十分に利用し、各層を順次に転移訓練を行って別の言語の語義表現モデルを得ることにより、コーパスの少ない言語について、訓練サンプルの収集に必要なコストを大幅に削減し、訓練効率を向上させた。
【0009】
前記選択可能な方法が有する他の効果は、以下で具体的な実施形態と合わせて説明する。
【図面の簡単な説明】
【0010】
図面は、本出願をより良く理解するためのものであり、本出願を限定しない。ここで、
【
図1】本出願の実施形態一により提供される語義表現モデルの訓練方法のフローチャートである。
【
図2】本出願の実施形態一により提供される語義表現モデルの訓練の各段階の模式図である。
【
図3】本出願の実施形態二により提供されるパラレルコーパスを用いたモデル訓練の模式図である。
【
図4】本出願の実施形態二により提供されるアラインメントモデルの動作原理の実例図である。
【
図5】本発明の実施形態三により提供される語義表現モデルの訓練装置の構成図である。
【
図6】本発明の実施形態を実現するための電子デバイスのブロック図である。
【発明を実施するための形態】
【0011】
以下、図面に基づいて、本出願の例示的な実施例を説明する。理解を容易にするために、本出願の実施例の様々な詳細が含まれており、それらは単なる例示と見なされるべきである。従って、当業者は、本出願の範囲及び精神から逸脱することなく、本明細書に記載の実施形態に対して様々な変更及び修正を行うことができることを認識するはずである。同様に、簡明のために、以下の説明では、よく知られた機能と構造の説明は省略される。
【0012】
本出願の主旨は、十分に訓練された第1の言語の語義表現モデルを利用して、第2の言語の語義表現モデルの訓練を支援することである。説明を容易にし理解を助けるために、後続の実施形態に関連する例では、第1の言語が英語、第2の言語が中国語である例として説明されるが、本出願はこれに限定されなく、任意の言語に適用されてもよい。
【0013】
なお、本願に係る語義表現モデルとしては、RNN(Recurrent Neural Network、再帰型ニューラルネットワーク)、CNN(Convolutional Neural Networks、畳み込みニューラルネットワーク)、Transformerモデル等を用いることができる。典型的な語義表現モデルとして、後続の実施形態に関連する例では、Transformerモデルを例にして説明され、他のモデルの実現原理は類似している。
【0014】
実施形態一
【0015】
図1は、本出願の実施形態一により提供される語義表現モデルの訓練方法のフローチャートである。本方法の実行主体は語義表現モデルを訓練する装置である。当該装置は、コンピュータシステム/サーバ上にあるアプリケーションであっても良く、コンピュータシステム/サーバ上にあるアプリケーションにおけるプラグインやソフトウェア開発キット(Software Development Kit、SDK)などの機能ユニットであってもよい。
図1に示すように、当該方法は以下のステップを含むことができる。
【0016】
101では、第1の言語により訓練された語義表現モデルを第1の語義表現モデルとして取得する。
【0017】
英語を第1の言語とすると、英語は国際共通言語であり、一般的に英語に対するコーパスが多いため、英語を用いることでTransformerモデルのような語義表現モデルを容易かつ良好に訓練することができる。本ステップでは、既に訓練された英語のTransformerモデルを第1の語義表現モデルとし、後続の転移訓練に備えて中国語のTransformerモデルの訓練を支援する。
【0018】
102では、第1の語義表現モデルの最下位層および最上位層を訓練対象層として訓練対象層を初期化し、他の層のモデルパラメータを変更せず、訓練終了条件に達するまで、第2の言語の訓練コーパスを用いて訓練対象層を訓練する。
【0019】
【0020】
Transformerモデルは、
図2に示されたように、多層構造を持つ。ここで、最下位層はEmbedding Layerで示される埋め込み層であり、訓練コーパスにおける各文字のベクトル表現を特定するために用いられる。最上位層は通常にTask Layerで示される全連結層であり、Transformerの中の各層の処理を経たベクトル表現をマッピングして訓練コーパスにおけるmaskの内容の予測を得るために用いられる。最上位層と最下位層の間に更に複数の層が含まれており、通常にTransformer Blockで示される。Transformer Blockの各層は、入力された各文字のベクトル表現をアテンション(Attention)メカニズムの処理を行ってグローバルベクトル表現に変更させるために用いられる。Transformer Blockの各層は、Attentionを実行するときに、前の層のグローバルベクトル表現を参照する。具体的な各層のTransformer Blockの動作メカニズムについては、ここでは詳しく説明しない。本出願の実施形態の
図2では、Transformer Blockとして3つの層を有することを例とする。
【0021】
通常に、Transformerモデルの最下位層は字面上の論理を処理することに注目する一方、上位層は語義上の論理を処理することに注目し、上位層の語義論理は異なる言語に対して一貫性がより強い。この仮定に基づいて、本願の実施形態では、各層を順次に訓練する方式を採用し、最初に最下位層と最上位層を訓練し、その後に最下位層と最上位層を組み合わせて中間層を個別に訓練する。
【0022】
図2に示された(a)段階では、英語のTransformerモデルにおけるEmbedding LayerとTask Layerを訓練対象層として初期化し、すなわちモデルパラメータを初期化する。他の層、すなわち各Transformer Blockのパラメータを変更せず、すなわち各Transformer Blockのパラメータは今まで英語に対して訓練して得られたモデルパラメータのままとする。そして、中国語の訓練コーパスを入力して訓練対象層であるEmbedding LayerとTask Layerを訓練する。
【0023】
訓練目標は、訓練対象層を訓練するたびに、Task Layer層によるmaskの予測結果が期待に一致することである。すなわち、この訓練目標に基づいて損失関数を構築し、損失関数の値を用いて訓練対象層のモデルパラメータを最適化することができる。各訓練対象層に対する訓練終了条件は、Lossが徐々に収束しているか、反復回数が予め設定された閾値に達しているかなどであってよい。
【0024】
つまり、(a)段階では、中国語の訓練コーパスを用いてEmbedding LayerとTask Layerを訓練する過程で、lossを用いて反復を行い、lossが徐々に収束するか、反復回数が予め設定された閾値に達するまで、Embedding LayerとTask Layerのパラメータを徐々に最適化する。
【0025】
103では、未訓練の各層を下から順に訓練対象層に加え、それぞれが訓練終了条件に達するまで、訓練対象層以外の層のモデルパラメータを変更せず、第2の言語の訓練コーパスを用いて訓練対象層を訓練することをそれぞれ実行する。
【0026】
図2に示された(b)段階では、下から上に向かってまずTransformer Block 1を訓練対象層に加える。このときの訓練対象層はEmbedding Layer、Task Layer、Transformer Block 1を含む。このうち、Embedding Layer、Task Layerの現在のパラメータは102により訓練されたパラメータであり、Transformer Block 1のパラメータは英語のTransformerモデルにおけるTransformer Block 1のパラメータである。Transformer Block 2とTransformer Block 3のパラメータを変更せず、Embedding Layer、Task Layer、Transformer Block 1を訓練する。中国語の訓練コーパスを使用してEmbedding Layer、Task LayerおよびTransformer Block 1を訓練する過程で、Lossを使用して反復を行い、lossが徐々に収束するか、反復回数が予め設定された閾値に達するまでEmbedding Layer、Task LayerおよびTransformer Block 1のパラメータを徐々に最適化する。
【0027】
図2に示された(c)段階では、下から上に向かってTransformer Block 2を訓練対象層に加える。このときの訓練対象層はEmbedding Layer、Task Layer、Transformer Block 1、Transformer Block 2を含む。Transformer Block 3のパラメータを変更せず、Embedding Layer、Task Layer、Transformer Block 1、Transformer Block 2を訓練する。中国語の訓練コーパスを使用してEmbedding Layer、Task Layer、Transformer Block 1およびTransformer Block 2を訓練する過程で、lossを使用して反復を行い、lossが徐々に収束するか、反復回数が予め設定された閾値に達するまでEmbedding Layer、Task Layer、Transformer Block 1およびTransformer Block 2のパラメータを徐々に最適化する。
【0028】
図2に示された(d)段階では、下から上に向かってTransformer Block 3を訓練対象層に加える。このときの訓練対象層はEmbedding Layer、Task Layer、Transformer Block 1、Transformer Block 2、Transformer Block 3を含む。中国語の訓練コーパスを使用してEmbedding Layer、Task Layer、Transformer Block 1、Transformer Block 2、およびTransformer Block 3を訓練する過程で、lossを使用して反復を行い、lossが徐々に収束するか、反復回数が予め設定された閾値に達するまで、Embedding Layer、Task Layer、Transformer Block 1、Transformer Block 2、およびTransformer Block 3のパラメータを徐々に最適化する。
【0029】
以上の過程からわかるように、実際には各中間層に対して英語の各Transformer Block層を用いてホットスタートを行って中国語の各Transformer Block層を訓練する。また、各中間層については、上記の下から上へ1層ずつ訓練する方式に加えて、中間層数が多ければ、下から上へ2層ずつ訓練したり、逐次より多くの層数を訓練したりすることもできる。
【0030】
104では、すべての層の訓練が終了した後、第2の言語に対する語義表現モデルが得られる。
【0031】
図2に示された(d)段階の訓練が完了すると、中国語のTransformerモデルが得られ、訓練済みの英語のTransformerモデルから徐々に転移訓練されて中国語のTransformerモデルが得られることが実現された。
【0032】
本実施形態では、単一のコーパス、すなわち中国語コーパスを利用して英語のTransformerモデルから転移する方式を用いて中国語のTransformerモデルを訓練する。バイリンガルのパラレルコーパスを使用することができれば、訓練コストをさらに削減し、訓練効果を高めることができる。この場合に、実施形態二に示される方法を用いて訓練を行うことができる。
【0033】
実施形態二
【0034】
本実施形態では、実施形態1に加えて、第1の言語を利用して訓練された語義表現モデルを第2の語義表現モデルとしてさらに取得する。ここで、第1の語義表現モデルは、基礎として層毎に転移訓練を行うために用いられ、第2の語義表現モデルは、第2の言語の語義表現モデルを訓練する過程において、第2の語義表現モデルにより出力された第1の言語の結果と第1の語義表現モデルにより出力された結果とをアラインメント処理するために用いられる。
【0035】
ここで、第1の語義表現モデルの転移訓練を支援するために、前記のアラインメント処理を行うためのアラインメントモデルを追加する必要がある。
【0036】
図2における(a)段階の訓練を例にすると、
図3に示されたように、中英パラレルコーパスのうちの英語訓練コーパスを予め訓練された英語のTransformerモデルに入力し、Task Layer層が出力した英語結果をアラインメントモデルに入力する。これとともに、英語訓練コーパスに対応する中国語訓練コーパスを(a)段階に対応する訓練過程における中国語のTransformerモデルに入力し、Task Layer層が出力した中国語結果もアラインメントモデルに入力する。アラインメントモデルは、訓練中の中国語のTransformerモデルの出力結果を用いて英語のTransformerモデルの出力結果にAttentionメカニズムの処理を行った後に、Attention処理結果をマッピングして中国語訓練コーパスの中のmaskの予測結果を得る。同様に、訓練目標は、maskの予測結果が訓練コーパスの中の期待文字に一致することである。アラインメントモデルの予測結果を用いてLossを構築し、Lossの値を用いて訓練中の中国語のTransformerモデルパラメータ(すなわち訓練対象層のモデルパラメータ)を最適化すると共に、アラインメントモデルのモデルパラメータを最適化する。
【0037】
アラインメントモデルはAttention処理を行う際に、中国語のTransformerモデルが出力する文字をxiで示し、英語のTransformerモデルが出力する文字をyiで示すと仮定する。xiとyiのドット積をAijで示し、Aijを利用してyiに対して重み付け処理を行う。
【0038】
【0039】
ここで、nは英語のTransformerモデルが出力する文字の総数である。
【0040】
次にAttention処理で得られた各xi’構成のベクトルを用いて全連結層(Softmax)のマッピングを行い、中国語の訓練コーパスにおけるmaskの値を予測する。
【0041】
他の段階の訓練過程は類似しており、同様に英語のTransformerモデルの出力結果を用いてアラインメント処理を行い、ここでは詳しく説明しない。
【0042】
例えば、「英語:I ate an apple、中国語:我吃了个[mask](私はリンゴを[mask])」というパラレルコーパスを仮定する。ここで、maskの期待文字は「吃(食べる)」である。
【0043】
図4に示されたように、中国語コーパスおよび各文字の位置ラベル(図中に「私」の位置ラベルは「0」、「mask」の位置ラベルは1、以下同様)を訓練中の中国語Transformerモデルに入力する。パラレル英語コーパスおよび各文字の位置ラベル(図中に「I」の位置ラベルは0、「ate」の位置ラベルは1、以下同様)を訓練された英語Transformerモデルに入力する。英語Transformerモデルが出力した各英語の文字および中国語Transformerモデルが出力した各中国語の文字はアラインメントモデルに出力され、アラインメントモデルは中国語Transformerモデルの出力結果を用いて英語Transformerモデルの出力結果をAttentionした後、Attentionで得られた結果をSoftmaxマッピングして中国語予測の各中国語の文字を得る。この中国語予測の文字と中国語コーパスの所望の文字とを用いてlossを特定した後に、層ごとに訓練された中国語Transformerにおける訓練対象層のモデルパラメータを更新し、アラインメントモデルのモデルパラメータを更新する。
【0044】
なお、上記実施形態二では、バイリンガルパラレルコーパスを用いれば、採用された訓練データにマスクを行わなくてもよい。たとえば、「英語:I ate an apple、中国語: 我吃了个苹果(私はリンゴを食べた)」というパラレルコーパスを仮定する。
【0045】
アラインメントモデルがAttention処理を行う過程は実施形態二で述べた過程と同じであり、Softmaxを経た後、同様に中国語訓練コーパスにおける各文字を予測した。この中国語予測の文字と中国語コーパスの所望の文字とを用いてlossを特定した後に、層ごとに訓練された中国語Transformerにおける訓練対象層のモデルパラメータを更新し、アラインメントモデルのモデルパラメータを更新する。
【0046】
実施形態二により提供された方式により、バイリンガルパラレルコーパスを十分に利用し、高リソース言語のコーパスを十分に利用し、訓練コストをさらに低減し、低リソース言語の語義表現モデルの訓練効果を更に向上させた。
【0047】
以上は、本出願により提供された方法の詳細な説明であり、以下は、実施形態と合わせて本出願により提供される装置を詳しく説明する。
【0048】
実施形態三
【0049】
図5は、本発明の実施形態三により提供される語義表現モデルの訓練装置の構成図である。
図5に示されたように、当該装置は、第1の取得部01および訓練部02を備え、さらに第2の取得部03を備えてもよい。これらの各構成ユニットの主な機能は次のとおりである。
【0050】
第1の取得部01は、第1の言語により訓練された語義表現モデルを第1の語義表現モデルとして取得する。
【0051】
訓練部02は、第1の語義表現モデルの最下位層及び最上位層を訓練対象層として訓練対象層を初期化し、他の層のモデルパラメータを変更せず、訓練終了条件に達するまで第2の言語の訓練コーパスを用いて訓練対象層を訓練し、未訓練の各層を下から順に訓練対象層に加えてそれぞれ実行し、訓練対象層以外の他の層のモデルパラメータを変更せず、訓練終了条件に達するまで第2の言語の訓練コーパスを用いて訓練対象層をそれぞれ訓練し、すべての層の訓練が終了した後、第2の言語に対する語義表現モデルを得る。
【0052】
ここで、最下位層は埋め込みEmbedding層、最上位層は全連結層である。語義表現モデルは、CNN、RNN、Transformerモデルなどであって良い。
【0053】
第2の言語の訓練コーパスは、第2の言語を用いたマスクmask付きテキスト及びmaskに対応する文字を含む。
【0054】
訓練部02は、第1の語義表現モデルの各層を訓練する際に、最上位層によるmaskの予測結果が訓練コーパスの中のmaskに対応する文字に一致することを訓練目標とする。
【0055】
訓練目標は、訓練対象層を訓練するたびに、最上位層によるmaskの予測結果が期待に一致することである。つまり、この訓練目標に基づいて損失関数を構築し、損失関数の値を用いて訓練対象層のモデルパラメータを最適化することができる。各訓練層に対する訓練終了条件は、Lossが徐々に収束しているか、反復回数が予め設定された閾値に達しているかなどであってよい。
【0056】
幾つかのバイリンガルのパラレルコーパスを使用することができれば、訓練コストをさらに削減し、訓練効果を高めることができる。このとき、第2の取得部03は、第1の言語により訓練された語義表現モデルを第2の語義表現モデルとして取得する。
【0057】
訓練部02は、第2の言語の訓練コーパスを用いて訓練対象層を訓練する際に、第2の言語の訓練コーパスに対応する第1の言語のパラレルコーパスを第2の語義表現モデルに入力し、第2の語義表現モデルの出力結果と第1の語義表現モデルの出力結果とをアラインメントする。
【0058】
具体的には、訓練部02は、第2の語義表現モデルの出力結果と第1の語義表現モデルの出力結果とをアラインメントする場合に、第1の語義表現モデルの出力結果と第2の語義表現モデルの出力結果をアラインメントモデルに入力し、アラインメントモデルにより第1の語義表現モデルの出力結果を用いて第2の語義表現モデルの出力結果に対してアテンションメカニズムの処理を行い、アテンションメカニズムの処理結果をマッピングして、第2の言語の訓練コーパスにおける文字の予測結果を得ることを具体的に実行することができる。
【0059】
パラレルコーパスにおける第2の言語の訓練コーパスに第2の言語を用いたmask付きテキスト及び前記maskに対応する文字が含まれる場合に、訓練目標は、第2の言語の訓練コーパスにおけるmaskのコーパス結果が訓練コーパスにおけるmaskに対応する文字に一致することである。
【0060】
パラレルコーパスにおける第2の言語の訓練コーパスが第2の言語のmaskなしテキストである場合に、訓練目標は、前記第2の言語の訓練コーパスにおける各文字の予測結果が前記訓練コーパスにおける各文字に一致することである。
【0061】
本発明の実施形態によれば、本発明は更に電子デバイスおよび可読記憶媒体を提供する。
【0062】
図6は、本出願の実施形態による語義表現モデルの訓練方法の電子デバイスのブロック図である。電子デバイスは、様々な形式のデジタルコンピュータ、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、PDA、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータであることが意図される。電子デバイスは、様々な形式のモバイル装置、例えば、PDA、携帯電話、スマートフォン、ウェアラブルデバイス、及び他の類似するコンピューティング装置を示してもよい。本文で示された構成要素、それらの接続及び関係、ならびにそれらの機能は例示にすぎなく、本明細書において説明及び/又は請求される本出願の実現を限定することが意図されない。
【0063】
図6に示すように、この電子デバイスは、一つ又は複数のプロセッサ601、メモリ602、及び各構成要素に接続するための高速インターフェース及び低速インターフェースを含むインターフェースを備える。各構成要素は、異なるバスで相互接続され、そして、共通マザーボードに、又は必要に応じて、他の態様で実装されてもよい。プロセッサは、電子デバイス内で実行されるコマンドを処理してもよく、メモリに記憶される又はメモリ上で外部入力/出力装置(例えば、インターフェースに結合される表示装置)にグラフィカルユーザインターフェースのグラフィカル情報を表示するコマンドを含む。他の実施形態において、必要な場合に、複数のプロセッサ及び/又は複数のバスが、複数のメモリとともに用いられてもよい。同様に、複数の電子デバイスが接続されてもよく、それぞれのデバイスが必要な操作の一部を提供する(例えば、サーババンク、ブレードサーバの集まり、又はマルチプロセッサシステムとする)。
図6において、一つのプロセッサ601を例とする。
【0064】
メモリ602は、本出願で提供される非一時的コンピュータ可読記憶媒体である。なお、前記メモリには、少なくとも1つのプロセッサが本願に提供された語義表現モデルの訓練方法を実行するように、前記少なくとも1つのプロセッサに実行可能なコマンドが記憶されている。本出願の非一時的コンピュータ可読記憶媒体は、本願に提供された語義表現モデルの訓練方法をコンピュータに実行させるためのコンピュータコマンドを記憶している。
【0065】
メモリ602は、非一時的コンピュータ可読記憶媒体として、非一時的ソフトウェアプログラム、非一時的コンピュータ実行可能なプログラム、モジュール、例えば、本出願の実施例における語義表現モデルの訓練方法に対応するプログラムコマンド/モジュールを記憶するために用いられる。プロセッサ601は、メモリ602に記憶されている非一時的ソフトウェアプログラム、コマンド及びモジュールを実行することで、サーバの様々な機能アプリケーション及びデータ処理を実行し、即ち、上記の方法実施例における語義表現モデルの訓練方法を実現する。
【0066】
メモリ602は、プログラム記憶領域及びデータ記憶領域を含んでもよく、プログラム記憶領域はオペレーティングシステム、少なくとも一つの機能に必要なアプリケーションプログラムを記憶してもよく、データ記憶領域は当該電子デバイスの使用により作成されたデータなどを記憶してもよい。また、メモリ602は、高速ランダムアクセスメモリを含んでもよく、さらに非一時的メモリ、例えば、少なくとも一つの磁気ディスク記憶装置、フラッシュメモリ装置、又は他の非一時的固体記憶装置を含んでもよい。幾つかの実施例において、メモリ602は、プロセッサ601に対して遠隔設置されたメモリを選択的に含んでもよく、これらのリモートメモリは、ネットワークを介して当該電子デバイスに接続されてもよい。上記のネットワークの実例には、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びそれらの組み合わせが含まれるが、これらに限定されない。
【0067】
当該電子デバイスは、更に、入力装置603と出力装置604とを備えても良い。プロセッサ601、メモリ602、入力装置603及び出力装置604は、バス又は他の手段により接続されても良く、
図6においてバスによる接続を例とする。
【0068】
入力装置603は、入力された数字又はキャラクタ情報を受信し、電子デバイスのユーザ設定及び機能制御に関連するキー信号入力を生成でき、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、一つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置604は、表示装置、補助照明装置(例えば、LED)、触覚フィードバック装置(例えば、振動モータ)などを含むことができる。当該表示装置は、液晶ディスプレイ(LCD)、発光ダイオードディスプレイ(LED)、及びプラズマディスプレイを含み得るが、これらに限定されない。いくつかの実施形態では、表示装置はタッチパネルであってもよい。
【0069】
本明細書に説明されるシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、専用ASIC(専用集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて実現することができる。これらの様々な実施形態は、記憶システム、少なくとも一つの入力装置、及び少なくとも一つの出力装置からデータ及びコマンドを受信し、当該記憶システム、当該少なくとも一つの入力装置、及び当該少なくとも一つの出力装置にデータ及びコマンドを送信するようにつなげられた、特殊用途でもよく一般用途でもよい少なくとも一つのプログラマブルプロセッサを含む、プログラマブルシステム上で実行可能及び/又は解釈可能な一つ又は複数のコンピュータプログラムにおける実行を含んでもよい。
【0070】
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又は、コードとも称される)は、プログラマブルプロセッサの機械命令を含み、高水準のプロセス及び/又はオブジェクト向けプログラミング言語、及び/又はアセンブリ/機械言語で実行されることができる。本明細書で用いられる「機械可読媒体」及び「コンピュータ可読媒体」という用語は、機械可読信号としての機械命令を受け取る機械可読媒体を含むプログラマブルプロセッサに機械命令及び/又はデータを提供するのに用いられる任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、及びプログラマブル論理デバイス)を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令及び/又はデータを提供するために用いられる任意の信号を指す。
【0071】
ユーザとのインタラクティブを提供するために、本明細書に説明されるシステムと技術は、ユーザに対して情報を表示するための表示装置(例えば、CRT(ブラウン管)又はLCD(液晶ディスプレイ)モニタ)、ユーザがコンピュータに入力を与えることができるキーボード及びポインティングデバイス(例えば、マウスや、トラックボール)を有するコンピュータ上に実施されることが可能である。その他の種類の装置は、さらに、ユーザとのインタラクションを提供するために使用されることが可能であり、例えば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚的なフィードバック、聴覚的なフィードバック、又は触覚的なフィードバック)であり得、ユーザからの入力は、任意の形態で(音響、音声又は触覚による入力を含む)受信され得る。
【0072】
本明細書に説明されるシステムと技術は、バックエンド構成要素を含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェア構成要素を含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンド構成要素を含むコンピューティングシステム(例えば、グラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータであり、ユーザは、当該グラフィカルユーザインターフェースもしくは当該ウェブブラウザを通じて本明細書で説明されるシステムと技術の実施形態とインタラクションすることができる)、そのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムに実施されることが可能である。システムの構成要素は、任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイド・エリア・ネットワーク(「WAN」)、インターネットワークを含む。
【0073】
コンピュータシステムは、クライアントとサーバを含み得る。クライアントとサーバは、一般的に互いから遠く離れており、通常は、通信ネットワークを通じてインタラクトする。クライアントとサーバとの関係は、相応するコンピュータ上で実行され、互いにクライアント-サーバの関係を有するコンピュータプログラムによって生じる。
【0074】
以上で示された様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除できることを理解されたい。例えば、本出願に説明される各ステップは、並列の順序又は順次的な順序で実施されてもよいし、又は異なる順序で実行されてもよく、本出願で開示された技術案の望ましい結果が達成できる限り、ここで制限されない。
【0075】
前記の具体的な実施形態は本出願の保護範囲に対する制限を構成しない。設計要件及び他の要因に従って、様々な修正、組み合わせ、部分的組み合わせ及び置換を行うことができることを当業者は理解するべきである。本出願の精神及び原則の範囲内で行われる修正、同等の置換、改善は、何れも本出願の保護範囲内に含まれるべきである。