(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024168531
(43)【公開日】2024-12-05
(54)【発明の名称】文生成モデル生成装置、文生成モデル及び文生成装置
(51)【国際特許分類】
G06F 40/44 20200101AFI20241128BHJP
【FI】
G06F40/44
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023085285
(22)【出願日】2023-05-24
(71)【出願人】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100121980
【弁理士】
【氏名又は名称】沖山 隆
(74)【代理人】
【識別番号】100128107
【弁理士】
【氏名又は名称】深石 賢治
(72)【発明者】
【氏名】川原田 将之
(72)【発明者】
【氏名】澤山 熱気
(72)【発明者】
【氏名】何 朗平
(57)【要約】
【課題】処理時間が長くなることを抑制しつつ、第1言語による入力文に応じて、特定の表現を用いた第2言語の出力文を得る。
【解決手段】文生成モデル生成装置10は、第1言語の入力文の入力に応じて、第2言語の出力文を生成する文生成モデルを機械学習により生成する装置であって、第1言語及び第2言語の単語とベクトルとの関連付けを含む埋め込み辞書に第1データ及び制約データに含まれる単語を入力して得られるベクトルをエンコーダに入力するエンコーダ入力部12と、出力文を構成する第2データをデコーダに入力するデコーダ入力部13と、デコーダから出力された単語の配列と、第2データに含まれる単語の配列との単語ごとの誤差に基づいて文生成モデルの学習を実施する学習部14と、学習部による学習済みの文生成モデルを出力するモデル出力部15とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1言語の入力文の入力に応じて、前記第1言語とは異なる第2言語の出力文を生成する文生成モデルを機械学習により生成する文生成モデル生成装置であって、
前記文生成モデルは、ニューラルネットワークを含みエンコーダ及びデコーダにより構成されるエンコーダデコーダモデルであり、
前記文生成モデルの機械学習に用いられる学習用データは、第1データ、制約データ及び第2データを含み、
前記第1データは、前記入力文を構成する複数の単語の配列を含み、
前記第2データは、前記入力文に対応する前記出力文を構成する複数の単語の配列を含み、
前記制約データは、前記出力文を構成する単語の配列のうちから特定された単語である制約語を一以上含み、
前記エンコーダは、入力された単語の配列を並列処理可能な構成を有し、
前記文生成モデル生成装置は、
前記第1データ及び前記制約データのそれぞれに含まれる単語を埋め込み辞書に入力して得られるベクトルを前記エンコーダに入力するエンコーダ入力部であって、前記埋め込み辞書は、前記第1言語の単語とベクトルとの関連付け及び前記第2言語の単語とベクトルとの関連付けを含み、入力された単語を対応するベクトルに変換する、エンコーダ入力部と、
少なくとも前記第2データを構成する単語を配列順に応じて、前記デコーダに入力するデコーダ入力部と、
前記デコーダから出力された単語の配列と、前記第2データに含まれる単語の配列との単語ごとの誤差に基づいて、前記文生成モデルの学習を実施する学習部と、
前記学習部による学習済みの文生成モデルを出力するモデル出力部と、
を備える文生成モデル生成装置。
【請求項2】
前記埋め込み辞書は、単語がより小さい単位に分割されてなるサブワードとベクトルとの関連付けを含み、
前記エンコーダ入力部は、前記第1データ及び前記制約データのそれぞれに含まれる各単語及び前記サブワードを前記埋め込み辞書に入力して得られたベクトルを、前記エンコーダに入力する、
請求項1に記載の文生成モデル生成装置。
【請求項3】
前記文生成モデルは、Transformer(トランスフォーマ)により構成される、
請求項1に記載の文生成モデル生成装置。
【請求項4】
前記制約データは、前記制約データにおける前記制約語の配列順は、前記出力文における前記単語の配列における配列順を維持する、
請求項1に記載の文生成モデル生成装置。
【請求項5】
前記制約データは、前記出力文を構成する単語の配列のうちの前記制約語以外の単語又は単語列が所定の置換記号に置換された、前記制約語及び前記置換記号の配列からなる、
請求項4に記載の文生成モデル生成装置。
【請求項6】
前記第1言語により構成された第1の文と、第2言語により構成された前記第1の文の対訳である第2の文とからなるコーパスに基づいて、前記第2の文を構成する単語の配列から特定された前記制約語を、前記第2の文における単語の配列順を維持させながら含む、前記制約データを生成する、制約データ生成部、をさらに含む、
請求項1に記載の文生成モデル生成装置。
【請求項7】
前記制約データ生成部は、前記第2の文を構成する単語配列のうちの、前記制約語として特定された単語以外の単語または単語列を所定の置換記号に置換して、前記制約語及び前記置換記号の配列からなる前記制約データを生成する、
請求項6に記載の文生成モデル生成装置。
【請求項8】
コンピュータを機能させ、第1言語の入力文の入力に応じて、前記第1言語とは異なる第2言語の出力文を生成するための、機械学習による学習済みの文生成モデルであって、
前記文生成モデルの機械学習に用いられる学習用データは、前記入力文を構成する複数の単語の配列を含む第1データ、前記入力文に対応する前記出力文を構成する複数の単語の配列を含む第2データ、及び、制約データを含み、
前記制約データは、前記出力文を構成する単語の配列のうちから特定された単語である制約語を一以上含み、
前記文生成モデルは、
入力された単語の配列を並列処理可能な構成を有するエンコーダとデコーダとにより構成されニューラルネットワークを含むエンコーダデコーダモデルであり、
前記第1データ及び前記制約データのそれぞれに含まれる単語を埋め込み辞書に入力して得られるベクトルが前記エンコーダに入力され、
少なくとも前記第2データを構成する単語が配列順に応じて前記デコーダに入力され、
前記デコーダから出力された単語の配列と、前記第2データに含まれる単語の配列との単語ごとの誤差に基づいて前記文生成モデルの構成が更新される機械学習により構築され、
前記埋め込み辞書は、前記第1言語の単語とベクトルとの関連付け及び前記第2言語の単語とベクトルとの関連付けを含み、入力された単語を対応するベクトルに変換する、
学習済みの文生成モデル。
【請求項9】
機械学習により構築された文生成モデルを用いて、第1言語の入力文の入力に応じて、前記第1言語とは異なる第2言語の出力文を生成する文生成装置であって、
前記文生成モデルの機械学習に用いられる学習用データは、前記入力文を構成する複数の単語の配列を含む第1データ、前記入力文に対応する前記出力文を構成する複数の単語の配列を含む第2データ、及び、制約データを含み、
前記制約データは、前記出力文を構成する単語の配列のうちから特定された単語である制約語を一以上含み、
前記文生成モデルは、
入力された単語の配列を並列処理可能な構成を有するエンコーダとデコーダとにより構成されニューラルネットワークを含むエンコーダデコーダモデルであり、
前記第1データ及び前記制約データのそれぞれに含まれる単語を埋め込み辞書に入力して得られるベクトルが前記エンコーダに入力され、
少なくとも前記第2データを構成する単語が配列順に応じて前記デコーダに入力され、
前記デコーダから出力された単語の配列と、前記第2データに含まれる単語の配列との単語ごとの誤差に基づいて前記文生成モデルの構成が更新される機械学習により構築され、
前記埋め込み辞書は、前記第1言語の単語とベクトルとの関連付け及び前記第2言語の単語とベクトルとの関連付けを含み、入力された単語を対応するベクトルに変換し、
前記文生成装置は、
前記入力文を構成する入力データを単語の配列順に応じて前記エンコーダに入力する入力部であって、前記入力データに含まれる各単語を前記埋め込み辞書に入力して得られたベクトルを前記エンコーダに入力する、入力部と、
前記出力文において用いられるべき語として任意に特定された入力制約語が、前記出力文における配列順を維持しながら含まれる入力制約データを前記エンコーダに入力する制約データ入力部であって、前記入力制約データに含まれる各単語を前記埋め込み辞書に入力して得られたベクトルを前記エンコーダに入力する、制約データ入力部と、
前記エンコーダからの出力の前記デコーダへの入力の後の各段階において、前段階において前記デコーダから出力された単語を前記デコーダに順次入力する単語入力部と、
前記デコーダの各段階において順次出力された単語を配列して前記出力文を生成し、生成した前記出力文を出力する出力部と、
を備える文生成装置。
【請求項10】
前記埋め込み辞書は、単語がより小さい単位に分割されてなるサブワードとベクトルとの関連付けを含み、
前記入力部は、前記入力データに含まれる各単語及び前記サブワードを前記埋め込み辞書に入力して得られたベクトルを、前記エンコーダに入力し、
前記制約データ入力部は、前記入力制約データに含まれる各単語及び前記サブワードを前記埋め込み辞書に入力して得られたベクトルを、前記エンコーダに入力する、
請求項9に記載の文生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文生成モデル生成装置、文生成モデル及び文生成装置に関する。
【背景技術】
【0002】
第1の言語による入力文に応じて、例えば第2の言語による対訳からなる出力文を生成するモデルを機械学習により生成し、生成されたモデルにより翻訳エンジン及び採点エンジン等を構成する技術が知られている。例えば、特許文献1には、機械学習モデルを用いて、入力された文書に対応する文書を生成する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
入力文に応じた対訳を出力する機械学習モデルにおいて、制約を表す情報を入力することにより特定の表現を用いた対訳文を得る技術が知られている。対訳を出力する機械学習モデルは、例えば、エンコーダデコーダモデルにより構成される。この場合には、制約を表す情報は、デコーダに入力されていた。しかしながら、デコーダでは、各処理段階における制約及び単語等の入力に応じて逐次的に処理が行われるので、制約を表す情報のデコーダへの入力により、処理時間が延びてしまっていた。
【0005】
そこで、本発明は、上記問題点に鑑みてなされたものであり、処理時間が長くなることを抑制しつつ、第1言語による入力文に応じて、特定の表現を用いた第2言語の出力文を得ることを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本開示の一側面に係る文生成モデル生成装置は、第1言語の入力文の入力に応じて、第1言語とは異なる第2言語の出力文を生成する文生成モデルを機械学習により生成する文生成モデル生成装置であって、文生成モデルは、ニューラルネットワークを含みエンコーダ及びデコーダにより構成されるエンコーダデコーダモデルであり、文生成モデルの機械学習に用いられる学習用データは、第1データ、制約データ及び第2データを含み、第1データは、入力文を構成する複数の単語の配列を含み、第2データは、入力文に対応する出力文を構成する複数の単語の配列を含み、制約データは、出力文を構成する単語の配列のうちから特定された単語である制約語を一以上含み、エンコーダは、入力された単語の配列を並列処理可能な構成を有し、文生成モデル生成装置は、第1データ及び制約データのそれぞれに含まれる単語を埋め込み辞書に入力して得られるベクトルをエンコーダに入力するエンコーダ入力部であって、埋め込み辞書は、第1言語の単語とベクトルとの関連付け及び第2言語の単語とベクトルとの関連付けを含み、入力された単語を対応するベクトルに変換する、エンコーダ入力部と、少なくとも第2データを構成する単語を配列順に応じて、デコーダに入力するデコーダ入力部と、デコーダから出力された単語の配列と、第2データに含まれる単語の配列との単語ごとの誤差に基づいて、文生成モデルの学習を実施する学習部と、学習部による学習済みの文生成モデルを出力するモデル出力部と、を備える。
【0007】
上記の側面によれば、文生成モデルが、エンコーダ及びデコーダを含むエンコーダデコーダモデルにより構成される。入力文に対応する第1データがエンコーダに入力され、出力文に対応する第2データがデコーダに入力される文生成モデルの学習において、出力文を構成する単語の配列のうちから特定された制約語を一以上含む制約データが、第1データと併せてエンコーダに入力される。エンコーダは、入力された単語の配列を並列処理できる構成を有するので、制約データの入力により処理時間が延びることが抑制される。また、制約データは、第1データを構成する第1言語とは異なる第2言語により構成されているところ、第1言語及び第2言語の双方に対応した埋め込み辞書の参照により、第1データ及び制約データに含まれる単語のそれぞれに対応するベクトルをエンコーダに入力できる。従って、所望の特定表現を構成する単語を制約語として特定した制約データがエンコーダに入力されることにより、文生成モデルが、制約データと第2データとの関連性を学習することとなるので、制約データに含まれる制約語からなる特定の表現を用いた出力文を出力する文生成モデルを得ることができる。
【発明の効果】
【0008】
処理時間が長くなることを抑制しつつ、第1言語による入力文に応じて、特定の表現を用いた第2言語の出力文を得ることことが可能となる。
【図面の簡単な説明】
【0009】
【
図1】本実施形態の文生成モデル生成装置の機能的構成を示すブロック図である。
【
図3】
図3(a)は、従来の第2言語の埋め込み辞書の例を示す図である。
図3(b)は、本実施形態の第2言語の埋め込み辞書の例を示す図である。
【
図4】第1言語の埋め込み辞書の一例であって、日本語の埋め込み辞書の例を示す図である。
【
図5】コーパスに基づく、第1データ及び第2データ並びに制約データの生成の一例を示す図である。
【
図6】エンコーダデコーダモデルの一例であるTransformerの概略構成を説明するための図である。
【
図7】本実施形態の文生成装置の機能的構成を示すブロック図である。
【
図8】文生成モデルによる文生成処理を模式的に示す図である。
【
図9】入力制約データ及び当該制約データに基づいて出力されうる出力文の例を示す図である。
【
図10】文生成装置により構成された評価システムにおける作成文の評価の処理を示す図である。
【
図11】文生成モデル生成装置における文生成モデル生成方法の処理内容を示すフローチャートである。
【
図12】文生成装置における文生成方法の処理内容を示すフローチャートである。
【
図13】文生成モデル生成プログラムの構成を示す図である。
【
図15】文生成モデル生成装置及び文生成装置のハードブロック図である。
【発明を実施するための形態】
【0010】
本発明に係る文生成モデル生成装置、文生成装置及び文生成モデルの実施形態について図面を参照して説明する。なお、可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【0011】
本実施形態の文生成モデルは、コンピュータを機能させ、第1言語の入力文の入力に応じて、第1言語とは異なる第2言語の出力文を生成するための、機械学習により構築されるモデルである。文生成モデルは、ニューラルネットワークを含み、エンコーダ及びデコーダを含むエンコーダデコーダモデルにより構成される。
【0012】
本実施形態の文生成モデル生成装置は、文生成モデルを機械学習により生成する装置である。文生成装置は、機械学習により構築された文生成モデルを用いて、第1言語の入力文の入力に応じて、第2言語の出力文を生成する装置である。
【0013】
本実施形態の文生成モデル生成装置、文生成モデル、文生成装置により解決される課題が生じる例について説明する。
【0014】
所与の和文に基づく英作文をAI(人工知能)により添削するシステムでは、例えば、入力された英文に含まれる単語のうちのスコアが低い単語が抽出され、抽出された低スコアの単語に引き続く単語が書き換えられた添削文に基づいて添削される。例えば、「彼は外国人と話せるようになるために英語を勉強する。(kare ha gaikokujin tohanaseruyoninarutameni eigo wo benkyo suru)」という和文が、通常の翻訳エンジンでは、“He studies English to become able to speak withforeigners.”という英文に翻訳されるとする。
【0015】
このような翻訳エンジンにより構成される添削システムに、ユーザにより作文された“He study English so that can talk withAmerican.”という英文が入力された場合には、2番目に入力された単語“study”が明らかな誤りであり、そのスコアが低くなるので、添削システムは、2番目の単語“study”をスコアが高い単語“studies”に置き換え、さらに、3番目以後の単語も高スコアの単語に書き換えた英文“He studies English to become able to speakwith foreigners.”を添削文として出力する。
【0016】
しかしながら、ユーザにより入力された英文における“so that”、“talk with”という単語列は、英訳としての正しい表現であるので、これらの表現が用いられた英訳の一例である“He studies English so that he can talkwith foreigners.”という英文を添削文として添削されることが好ましい。本実施形態では、所望の表現をもちいた出力文の生成を可能にすると共に、所望の表現を用いた出力文に基づく作成文の適切な評価が可能となる。
【0017】
図1は、本実施形態に係る文生成モデル生成装置の機能的構成を示す図である。文生成モデル生成装置10は、第1言語の入力文の入力に応じて、第1言語とは異なる第2言語の出力文を生成する文生成モデルを機械学習により生成する装置である。
図1に示すように、文生成モデル生成装置10は、機能的には、制約データ生成部11、エンコーダ入力部12、デコーダ入力部13、学習部14及びモデル出力部15を備える。これらの各機能部11~15は、一つの装置に構成されてもよいし、複数の装置に分散されて構成されてもよい。
【0018】
また、文生成モデル生成装置10は、モデル記憶部30及びコーパス記憶部40といった記憶手段にアクセス可能に構成されている。モデル記憶部30及びコーパス記憶部40は、文生成モデル生成装置10内に構成されてもよいし、
図1に示されるように、文生成モデル生成装置10の外部に、文生成モデル生成装置からアクセス可能な別の装置として構成されてもよい。
【0019】
モデル記憶部30は、学習済みまたは学習過程等の文生成モデルを記憶している記憶手段であって、ストレージ及びメモリ等により構成されることができる。
【0020】
コーパス記憶部40は、文生成モデルの機械学習に用いられる学習用データ及び学習用データを生成するためのコーパス等を記憶している記憶手段であって、ストレージ及びメモリ等により構成されることができる。
【0021】
図2は、本実施形態の文生成モデルの構成を示す図である。
図2に示されるように、文生成モデルMDは、ニューラルネットワークを含みエンコーダen及びデコーダdeにより構成されるエンコーダデコーダモデルである。エンコーダデコーダモデルを構成するニューラルネットワークは限定されないが、例えば、トランスフォーマ(Transformer)と言われるニューラルネットワークであってもよい。
【0022】
本実施形態の文生成モデルMDの機械学習に用いられる学習用データは、第1データa、第2データb及び制約データcを含む。第1データaは、第1言語の入力文を構成する複数の単語の配列を含む。第2データbは、入力文に対応する第2言語の出力文を構成する複数の単語の配列を含む。出力文は、例えば、入力文の対訳である。制約データcは、第2データbを構成する単語の配列のうちから特定された第2言語の単語である制約語を一以上含むデータである。制約データcにおける制約語の配列順は、第2データbの単語の配列における配列順を維持していてもよい。
【0023】
文生成モデルMDは、更に埋め込み辞書EDを含む。埋め込み辞書EDは、少なくとも単語とベクトルとの関連付けを含み、入力された単語を、当該単語に対応する所定長のベクトルに変換(Embedding)する。本実施形態の埋め込み辞書EDは、第1言語埋め込み辞書ed1及び第2言語埋め込み辞書ed2を含む。第1言語埋め込み辞書ed1は、第1言語の少なくとも単語とベクトルとの関連付けを含む。第1言語は、例えば日本語であってもよい。第2言語埋め込み辞書ed2は、第1言語とは異なる第2言語の少なくとも単語とベクトルとの関連付けを含む。第2言語は、例えば英語であってもよい。
【0024】
エンコーダenには、第1言語の入力文を構成する第1データaが入力される。具体的には、第1データaは、例えば形態素解析等により単語等に分割される。分割された各単語等は、埋め込み辞書EDの第1言語埋め込み辞書ed1の参照により、対応するベクトルに変換(Embedding)されて、第1データa(入力文)における配列順に応じてエンコーダenに入力される。
【0025】
さらに、エンコーダenには、制約データcが入力される。制約データcは、第2データbを構成する単語の配列のうちから特定された単語である制約語が第2データcの単語の配列順を維持して含むデータである。制約データcの生成等については後に詳述されるが、制約データcは、出力文を構成する単語の配列のうちの制約語以外の単語又は単語列が所定の置換記号に置換された、制約語及び置換記号の配列からなるデータであってもよい。
【0026】
制約データcは、例えば形態素解析等により単語等に分割される。分割された各単語等は、埋め込み辞書EDの第2言語埋め込み辞書ed2の参照により、対応するベクトルに変換(Embedding)されて、制約データcにおける配列順に応じてエンコーダenに入力される。
【0027】
本実施形態のエンコーダenは、入力された単語等のベクトルを並列処理可能な構成を有する。例えば、文生成モデルMDがトランスフォーマにより構成されることにより、入力された単語等のベクトルを並列処理可能なエンコーダenが実現されてもよい。エンコーダenは、入力された第1データa及び制約データcの各単語等のベクトルの配列を並列的に処理する。
【0028】
エンコーダenは、第1データa及び制約データcの入力に基づく計算結果を示すベクトル(例えば、中間層の出力、ソースターゲットアテンション等)をデコーダdeに出力する。
【0029】
一般的なエンコーダデコーダモデルでは、デコーダは、エンコーダからのベクトル及び出力の開始を示す所定の開始記号(ベクトル)の入力に基づいて、単語の系列を順次出力する。デコーダdeは、エンコーダenからの出力及び開始記号ssの入力に基づいて、出力文tの単語(ベクトル)の系列を出力する。
【0030】
デコーダdeから出力文の終了を意味する終端記号esがされたら、それまでに出力された単語の系列により出力文tが構成される。学習の局面においては、第1データa(入力文)に対応する出力文(入力文の第2言語による対訳)に相当する第2データbが、開始記号ssの入力の後段階において単語ごとに配列順に応じてデコーダdeに入力される。
【0031】
図3は、第2言語の埋め込み辞書を説明するための図であって、
図3(a)は、従来の埋め込み辞書の例を示す図であり、
図3(b)は、本実施形態の第2言語埋め込み辞書ed2の例を示す図である。
【0032】
図3(a)に示されるように、従来の埋め込み辞書は、語彙数に相当する単語(word)とベクトル(ID)との関連付けを有する。これに対して、
図3(b)に例示される第2言語埋め込み辞書ed2は、単語(word)とベクトルとの関連付けに加えて、サブワード(Subword)とベクトルとの関連付けを含む。
【0033】
サブワードは、単語をより小さい単位に分割したものである。第2言語埋め込み辞書ed2は、例えば、ID1(ing)及びID2(ed)に示されるように、動詞における活用形(conjugation)を示す部分をサブワードとして含んでもよい。なお、動詞における活用形を示す部分は、サブワードの一例であって、その他の文字列によりサブワードが構成されてもよい。
【0034】
従来の埋め込み辞書は、例えば、動詞の語彙の例では、動詞毎に全ての活用形を含まなければならなかった。しかしながら、本実施形態の埋め込み辞書では、”ing”、”ed”等の動詞における活用形を示す部分及び動詞の原形をサブワードとして含むことにより、語彙数を削減できる。
【0035】
図4は、第1言語埋め込み辞書ed1の例を示す図である。
図4に示されるように、第1言語埋め込み辞書ed1は、第1言語の一例である日本語の単語(word)またはサブワードと、ベクトル(ID)の関連付けを有する。
【0036】
このように、エンコーダenに入力される文をベクトルに変換するための埋め込み辞書EDが、第1言語の単語及びサブワードとベクトルとの関連付け及び第2言語の単語及びサブワードとベクトルとの関連付けを含むことにより、第1データaに加えて、第1データaを構成する第1言語とは異なる第2言語により構成された制約データcを、エンコーダenに入力することが可能となる。
【0037】
また、単語(word)とベクトルと関連付けからなる従来の埋め込み辞書により2種類の言語の埋め込み辞書を構成した場合には、埋め込み辞書のサイズが大きくなってしまうところ(例えば2倍)、本実施形態では、サブワードとベクトルとの関連付けにより埋め込み辞書EDを構成することにより語彙数を削減できるので、2種類の言語の埋め込み辞書を備えることによる埋め込み辞書のサイズの増加を抑制できる。
【0038】
なお、以下において、「単語」という記載は、単語(word)またはサブワード(subword)を意味する。
【0039】
再び
図1を参照して、文生成モデル生成装置10の機能部を説明する。制約データ生成部11は、コーパスに基づいて制約データを生成する。
図5を参照して、制約データの生成及び制約データを含む学習用データについて説明する。
【0040】
図5は、コーパスに基づく、第1データ及び第2データ並びに制約データの生成の一例を示す図である。制約データ生成部11は、例えばコーパス記憶部40から、コーパスcp0を取得する。コーパスcp0は、第1言語により構成された第1の文cp01と、第2言語により構成された第2の文cp02とからなる。
図5の例では、第1の文cp01は、日本語の「彼は外国人と話せるようになるために英語を勉強する(kare ha gaikokujin tohanaseruyoninarutameni eigo wo benkyo suru)」という文であり、第2の文cp02は、第1の文cp01の英語による対訳の“He studies English so that he can talk withforeigners.”という文である。
【0041】
制約データ生成部11は、第2の文cp02を構成する単語の配列から制約語cxを特定する。制約語の特定は、例えば、ユーザ等による指定入力に基づいてもよい。例えば、第1の文cp01の対訳としての第2の文cp02において必須で用いられるべき表現を構成する単語が、指定入力により制約語として指定されてもよい。また、制約語の特定は、ランダムに行われてもよい。
図5に示される例では、“He”、“sothat”、“talk with”という3つの単語又は単語列が制約語cxとして特定されている。
【0042】
制約データ生成部11は、特定された制約語cxに基づいて、制約語cxを第2の文における単語の配列順を維持させながら含む制約データc01を生成する。
図5に示されるように、制約データc01は、“He”、“sothat”、“talk with”を第2の文cp02における配列順を維持させながら含むデータである。
【0043】
また、制約データは、出力文を構成する単語の配列のうちの制約語以外の単語又は単語列が所定の置換記号に置換された、制約語及び置換記号の配列からなるデータであってもよい。制約データ生成部11は、第2の文cp02を構成する単語配列のうちの、制約語cxとして特定された単語以外の単語または単語列を置換記号rsに置換して、制約語cx及び置換記号rsの配列からなる制約データc01を生成する。
図5に示される例では、置換記号rsは、「*(アスタリスク)」で示されており、制約データ生成部11は、3つの制約語cx“He”、“sothat”、“talk with”及び置換記号rsが、第2の文cp02における配列順を維持して配列された制約データc01“He * so that * talk with*”を生成する。
【0044】
また、制約データ生成部11は、第1の文cp01及び第2の文cp02のそれぞれに基づいて、学習用データにおける第1データa01及び第2データb01を生成し、第1データa01、制約データc01、開始記号ss及び第2データb01からなる学習用データを生成する。
【0045】
なお、制約データ生成部11は、第2データb01との関係を示す情報を制約データに含ませてもよい。
図5に示される例では、制約データ生成部11は、制約データc01が第2データb01(出力文)において用いられるべき制約語cxを含むデータであることを示す記号cl01を制約データc01に含ませる。
【0046】
図5を参照して説明したように、制約データがコーパスに基づいて容易に生成できるので、制約データを含む学習用データを得るためのコストの上昇が防止される。
【0047】
再び
図1を参照して、エンコーダ入力部12は、第1データa及び制約データcをエンコーダenに入力する。具体的には、エンコーダ入力部12は、第1データa及び制約データcのそれぞれに含まれる単語を埋め込み辞書EDに入力して得られるベクトルを、第1データa及び制約データcにおける単語の配列順に応じてエンコーダenに入力する。
【0048】
本実施形態では、
図2を参照して説明したように、エンコーダ入力部12は、第1データaに含まれる単語を第1言語埋め込み辞書ed1に入力することにより、エンコーダenに入力可能なベクトルを得る。また、エンコーダ入力部12は、制約データcに含まれる単語を第2言語埋め込み辞書ed2に入力することにより、エンコーダenに入力可能なベクトルを得る。
【0049】
また、
図3及び
図4を参照して説明したように、本実施形態の埋め込み辞書EDはサブワードとベクトルとの関連付けを含んで構成されているので、エンコーダ入力部12は、第1データa及び制約データcのそれぞれに含まれる単語(word)及びサブワードを埋め込み辞書EDに入力して得られたベクトルを、エンコーダenに入力する。
【0050】
デコーダ入力部13は、少なくとも第2データbを構成する単語を配列順に応じて、デコーダdeに入力する。また、デコーダ入力部13は、第2データbの入力に先立って、出力文の出力の開始を意味する所定の記号である開始記号ssをデコーダdeに入力してもよい。
【0051】
学習部14は、デコーダdeから出力された単語の配列と、第2データbに含まれる単語の配列との単語ごとの誤差に基づいて、文生成モデルMDの学習を実施する。具体的には、学習部14は、開始記号ssの入力以降の後段においてデコーダdeから出力された単語の配列と、第2データbに含まれる単語の配列との単語ごとの誤差に基づいて、エンコーダen及びデコーダdeを構成する重み係数を更新する。開始記号ss及び第2データbが語順に従ってデコーダdeに順次入力されると、デコーダdeは、出力文tの単語ベクトルの系列を、尤度(例えばソフトマックス関数による)と共に順次出力する。
【0052】
学習部14は、デコーダdeから出力された単語の系列と、第2データbの単語の系列との誤差を単語ごとに計算し、例えば誤差逆伝搬法によりエンコーダen及びデコータdeのニューラルネットワークを構成する重み係数を更新する。
【0053】
図6は、エンコーダデコーダモデルの一例であるトランスフォーマの概略構成を説明するための図である。
図6に示されるように、文生成モデルMD1(MD)がトランスフォーマにより構成される場合には、エンコーダ入力部12は、第1データa1を構成する単語のベクトルaw11,aw12,・・・aw1l(lは2以上の整数)及び制約データc1を構成する単語のベクトルcw11,・・・,cw1m(mは2以上の整数)を、単語の配列順に応じてエンコーダen1の入力層ilaに入力する。トランスフォーマでは、RNN(Recurrent Neural Network)のような逐次的な単語の入力ではなく、並列的に単語が入力されるので、入力されるデータの並列処理が可能である。
【0054】
エンコーダen1では、入力層ilaから中間層mlaに対するセルフアテンションsa1が計算されて、単語ベクトルがセルフアテンションsa1に応じたベクトルに変換される。同様に、中間層mlaから出力層olaに対するセルフアテンションsa2が計算され、単語ベクトルが更に変換される。さらに、エンコーダen1の出力層olaからデコーダde1の入力層ilbに対するソースターゲットアテンションtaが計算される。
【0055】
デコーダ入力部13は、開始記号ss及び第2データb1を構成する単語のベクトルbw11,bw12,・・・,bw1n(nは2以上の整数)を、単語の配列順に応じて、学習局面においては並列的に、デコーダde1の入力層ilbに入力する。
【0056】
デコーダde1では、エンコーダen1と同様に、入力層ilbから中間層mlbに対するセルフアテンションsa3が計算されて、セルフアテンションsa3に応じてベクトルが変換される。同様に、中間層mlbから出力層olbに対するセルフアテンションsa4が計算され、セルフアテンションsa4に応じたベクトル変換が行われる。
【0057】
学習部14は、開始記号ssの入力以降の後段において出力されるベクトルwvに基づく単語の系列t11,・・・,t1n(nは2以上の整数)と、第2データb1を構成する単語の系列bw11,・・・,bw1nとの誤差を単語ごとに計算し、誤差逆伝搬法により、セルフアテンション及びソースターゲットアテンションを計算するための重み係数を更新する。
【0058】
なお、前述のとおり、単語のベクトルaw11,aw12,・・・aw1l、単語のベクトルcw11,・・・,cw1m、単語のベクトルbw11,bw12,・・・,bw1nは、単語(word)またはサブワード(subword)のベクトルである。また、単語の系列t11,・・・,t1nは、単語(word)またはサブワード(subword)の系列である。
【0059】
再び
図1を参照して、モデル出力部15は、必要量の学習データに基づく機械学習の後に得られた文生成モデルMDを出力する。モデル出力部15は、文生成モデルMDをモデル記憶部30に記憶させてもよい。
【0060】
次に、
図7及び
図8を参照して、文生成装置及び学習済みの文生成モデルを用いた文生成の局面の処理について説明する。
【0061】
図7は、本実施形態に係る文生成装置の機能的構成を示す図である。文生成装置20は、機械学習により構築された文生成モデルを用いて、第1言語の入力文の入力に応じて、第1言語とは異なる第2言語の出力文を生成する装置である。
図7に示すように、文生成装置20は、機能的には、入力部21、制約データ入力部22、単語入力部23及び出力部24を備える。文生成装置20は、作成文取得部25、作成文入力部26及び作成文評価部27を更に備えてもよい。これらの各機能部21~27は、一つの装置に構成されてもよいし、複数の装置に分散されて構成されてもよい。
【0062】
また、文生成装置20は、学習済みの文生成モデルを記憶しているモデル記憶部30にアクセス可能に構成されている。モデル記憶部30は、文生成装置20内に構成されてもよいし、外部の別の装置に構成されてもよい。
【0063】
また、本実施形態では、文生成モデル生成装置10と文生成装置20とがそれぞれ別の装置(コンピュータ)に構成されている例を示しているが、これらは一体に構成されてもよい。
【0064】
図8は、文生成モデルによる文生成処理を模式的に示す図である。
図8に示されるように、文生成モデルMD2(MD)は、文生成モデル生成装置10により学習及び構築されたモデルである。文生成モデルMD2は、エンコーダen2及びデコーダde2を含む。
【0065】
学習済みのニューラルネットワークを含むモデルである文生成モデルMD(MD1,MD2)は、コンピュータにより読み込まれ又は参照され、コンピュータに所定の処理を実行させ及びコンピュータに所定の機能を実現させるプログラムとして捉えることができる。
【0066】
即ち、本実施形態の学習済みの文生成モデルMD(MD1,MD2)は、プロセッサ及びメモリを備えるコンピュータにおいて用いられる。具体的には、コンピュータのプロセッサが、メモリに記憶された学習済みの文生成モデルMD(MD1,MD2)からの指令に従って、ニューラルネットワークの入力層に入力された入力データに対し、各層に対応する学習済みの重み係数(パラメータ)と関数等に基づく演算を行い、出力層から結果(尤度)を出力するよう動作する。
【0067】
入力部21は、入力文を構成する入力データを単語の配列順に応じてエンコーダに入力する。具体的には、入力部21は、入力データa2を構成する単語aw21,aw22,・・・,aw2h(hは2以上の整数)を、配列順に応じてエンコーダen2に入力する。
【0068】
制約データ入力部22は、入力制約データc2をエンコーダen2に入力する。具体的には、入力制約データc2を構成する単語cw21~cw24,・・・cw2j(jは2以上の整数)を、配列順に応じてエンコーダen2に入力する。制約データ入力部22は、出力文との関係を示す記号ct2を更に入力してもよい。入力制約データc2は、出力文において用いられるべき語として任意に特定された入力制約語を含むデータである。入力制約語は、出力文における単語の配列順を維持しながら入力制約データc2に含まれる。入力制約語の特定は、例えば、ユーザ等による指定入力に基づいてもよい。
【0069】
また、入力制約データc2は、出力文を構成する単語の配列のうちの入力制約語以外の単語又は単語列が所定の置換記号rsに置換された、入力制約語及び置換記号の配列からなるデータであってもよい。
図8に示される例では、入力制約データc2は、“He”、“sothat”等の単語又は単語列である入力制約語、及び、置換記号rs“*(アスタリスク)”が、出力文における配列順を維持して配列されたデータからなる。
【0070】
また、入力制約データc2は、記号ct2を含んでもよい。記号ct2は、例えば、入力制約データc2が出力文t2において用いられるべき入力制約語を含むデータであることを示す。
【0071】
入力部21及び制約データ入力部22は、入力データa2及び入力制約データc2を構成する単語のベクトルを、並列的にエンコーダen2に入力する。エンコーダen2は、単語の入力に基づく並列処理の演算結果をデコーダde2に出力する。
【0072】
単語入力部23は、エンコーダen2からの出力のデコーダde2への入力の後の各段階において、前段階においてデコーダde2から出力された単語をデコーダde2に順次入力する。例えば、単語入力部23は、単語の入力に先立って、開始記号ssをデコーダde2に入力する。デコーダde2は、開始記号ssに応じて、出力文t2の文頭の単語tw21を出力する。単語入力部23は、開始記号ssの入力の後の各段階において、前段階においてデコーダde2から出力された単語をデコーダde2に順次入力する。デコーダde2は、順次入力される単語に応じて、出力文t2を構成する単語tw21,tw22,・・・tw2k(kは2以上の整数)の系列を順次出力する。
【0073】
出力部24は、出力文の出力の終了を意味する終端記号esが出力された場合に、デコーダde2の各段階において順次出力された単語tw21,tw22,・・・tw2kを配列して、出力文t2を生成する。そして、出力部24は、生成した出力文t2を出力する。出力文t2の出力の態様は限定されないが、例えば、所定の記憶手段への記憶、表示手段への表示、音声による出力等であってもよい。
【0074】
なお、前述のとおり、単語aw21,aw22,・・・,aw2h、単語cw21~cw24,・・・cw2j、及び、単語tw21,tw22,・・・tw2kは、単語(word)またはサブワード(subword)である。
【0075】
図9は、入力制約データ及び当該入力制約データに基づいて出力されうる出力文の例を示す図である。
図9に示す例では、入力文「彼は外国人と話せるようになるために英語を勉強する(kare ha gaikokujin tohanaseruyoninarutameni eigo wo benkyo suru)」が入力データa2としてエンコーダen2に入力されたこととする。この入力文が何らの制約なしに通常の翻訳エンジンにより翻訳された場合には、例えば、“He studies English to become able to speakwith foreigners.”という出力文が出力される。本実施形態の文生成装置20では、エンコーダen2に入力される入力制約データに応じて異なる出力文が出力されうる。
【0076】
図9に示されるように、入力制約データ“He * so that*talk with *”が入力された場合には、例えば“He studies English so that he can talk withforeigners.”という出力文が出力される。また、入力制約データ“He * so that *chat *”が入力された場合には、例えば“He studies English so that he can chatforeigners.”という出力文が出力される。また、入力制約データ“He * in order to *speak *”が入力された場合には、例えば“He studies English in order to become ableto speak with foreigners.”という出力文が出力される。
【0077】
また、入力制約データ“He * to beable to *”が入力された場合には、例えば“He studies English to be able to speak withforeigners.”という出力文が出力される。また、入力制約データ“He * for being *”が入力された場合には、例えば“Hestudies English for being able to speak with foreigners.”という出力文が出力される。また、入力制約データ“His study of English * talk with *”が入力された場合には、例えば“His study of English is to be able to talk withforeigners.”という出力文が出力される。
【0078】
図7と併せて
図10を参照しながら、文生成装置20により構成される、作成文を評価する評価システムについて説明する。
図10は、文生成装置20により構成された評価システムにおける作成文の評価の処理を示す図である。
【0079】
図10に示されるデコーダde3は、開始記号ssの入力以降の各段階において出力する単語tw31,tw32,・・・,tw3i(iは2以上の整数)の各々について、出力文t3を構成する単語としての尤もらしさを示す尤度を単語ごとに出力する。文生成装置20により構成される評価システムは、出力文t3を正解として、ユーザにより作成及び入力された作成文を評価する。ユーザは、出力文t3に対応する入力文の提示に応じて、例えば入力文の第2言語による対訳を作成文として入力する。なお、本実施形態では、ユーザにより入力された作成文を評価することを想定しているが、ユーザ以外の人及び装置等により作成及び入力された作成文を評価することとしてもよい。
【0080】
作成文取得部25は、ユーザにより第2言語で作成され当該評価システムに入力された作成文r3を取得する。作成文r3は、単語rw31,rw32,・・・,rw3p(pは2以上の整数)の配列からなる。
【0081】
作成文入力部26は、開始記号ssの入力の後の各段階において、前段階においてデコーダde3から出力された単語tw31,tw32,・・・,tw3iに代えて、第2言語で作成された作成文r3を構成する単語rw31,rw32,・・・,rw3pの単語ベクトルをデコーダde3に順次入力する。
【0082】
作成文評価部27は、開始記号ssの入力及び作成文r3を構成する各単語rw31,rw32,・・・,rw3pの順次入力に基づいて、開始記号ssの入力以降の各段階においてデコーダde3から出力された各単語rw31,rw32,・・・,rw3pの尤度と、出力文t3を構成する各単語tw31,tw32,・・・,tw3iの尤度との対比に基づいて、作成文r3の評価をする。
【0083】
具体的には、デコーダde3は、各出力段階において、文生成モデル生成装置10及び文生成装置20において扱われる全語彙の各単語の尤度を出力する。文生成処理の局面においては、各出力段階において最も高い尤度を有する単語を配列することにより出力文t3が構成される。
【0084】
作成文評価部27は、デコーダde3の各段階において、開始記号ss及び前段階において出力された単語(rw31,rw32,・・・,rw3p)の入力に応じて出力された各語彙の尤度から、作成文r3の各単語rw31,rw32,・・・,rw3p,終端記号esに関連付けられた尤度を取得する。
【0085】
作成文評価部27は、出力文t3を構成する各単語tw31,tw32,・・・,tw3iの尤度と、作成文r3の各単語rw31,rw32,・・・,rw3pの尤度とを対比することにより、作成文r3の評価値を算出及び出力する。評価値の算出の手法は限定されないが、例えば、各文t3,r3における単語ごとの尤度の比、及び各文t3,r3ごとの尤度の合計または平均等に基づいてもよい。
【0086】
なお、前述のとおり、単語tw31,tw32,・・・,tw3i、及び、単語rw31,rw32,・・・,rw3pは、単語(word)またはサブワード(subword)である。
【0087】
図10を参照して説明した評価システムによれば、出力文を構成する各単語の尤度と、作成及び入力された作成文を構成する各単語をデコーダに順次入力して得られた各単語の尤度との対比に基づいて、作成文の評価がされる。これにより、入力文に対応する対訳としての作成文の尤もらしさを評価する評価システムを構成できる。
【0088】
図11は、文生成モデル生成装置10における文生成モデル生成方法の処理内容を示すフローチャートである。
【0089】
ステップS1において、文生成モデル生成装置10は、第1データa、第2データb及び制約データcを含む学習用データを取得する。学習用データにおける制約データは、コーパスに基づいて予め生成されコーパス記憶部40に記憶されているデータであってもよいし、制約データ生成部11によりコーパスに基づいて生成されたデータであってもよい。
【0090】
ステップS2において、エンコーダ入力部12は、第1データa及び制約データcをエンコーダenに入力する。
【0091】
ステップS3において、デコーダ入力部13は、開始記号ssをデコーダdeに入力する。さらに、ステップS4において、デコーダ入力部13は、第2データbを配列順に応じてデコーダdeに入力する。
【0092】
ステップS5において、学習部14は、開始記号ssの入力以降の後段においてデコーダdeから出力された単語の配列と、第2データbに含まれる単語の配列との単語ごとの誤差を計算し、文生成モデルMDを更新する。
【0093】
ステップS6において、学習部14は、必要量の学習用データに基づく機械学習が終了したか否かを判定する。学習が終了したと判定された場合には、処理はステップS7に進む。一方、学習が終了したと判定されなかった場合には、ステップS1~ステップS6の処理が繰り返される。
【0094】
ステップS7において、モデル出力部15は、学習済みの文生成モデルMDを出力する。
【0095】
図12は、文生成装置20における学習済みの文生成モデルMDを用いた文生成方法の処理内容を示すフローチャートである。
【0096】
ステップS11において、入力部21は、入力文を構成する入力データの単語を文生成モデルMDのエンコーダに入力する。併せて、制約データ入力部22は、入力制約データをエンコーダに入力する。
【0097】
ステップS12において、単語入力部23は、開始記号ssをデコーダに入力する。ステップS13において、出力部24は、デコーダの出力層からから出力された単語(または記号)を取得する。ステップS14において、出力部24は、デコーダからの出力が出力文の出力の終了を意味する終端記号であるか否かを判定する。デコーダからの出力が終端記号であると判定された場合には、処理はステップS16に進む。一方、デコーダからの出力が終端記号であると判定されなかった場合には、処理はステップS15に進む。
【0098】
ステップS15において、単語入力部23は、デコーダの前段階の出力層から出力された単語を、デコーダの現段階の入力層に入力する。そして、処理はステップS13に戻る。
【0099】
ステップS16において、出力部24は、デコーダの各段階において出力層から順次出力された単語を配列して、出力文を生成する。そして、ステップS17において、出力部24は、出力文を出力する。
【0100】
次に、
図13を参照して、コンピュータを、本実施形態の文生成モデル生成装置10として機能させるための文生成モデル生成プログラムについて説明する。
【0101】
図13は、文生成モデル生成プログラムの構成を示す図である。文生成モデル生成プログラムP1は、文生成モデル生成装置10における文生成モデル生成処理を統括的に制御するメインモジュールm10、制約データ生成モジュールm11、エンコーダ入力モジュールm12、デコーダ入力モジュールm13、学習モジュールm14及びモデル出力モジュールm15を備えて構成される。そして、各モジュールm11~m15により、機能部11~15の各機能が実現される。
【0102】
なお、文生成モデル生成プログラムP1は、通信回線等の伝送媒体を介して伝送される態様であってもよいし、
図13に示されるように、記録媒体M1に記憶される態様であってもよい。
【0103】
次に、
図14を参照して、コンピュータを、本実施形態の文生成装置20として機能させるための文生成プログラムについて説明する。
【0104】
図14は、文生成プログラムの構成を示す図である。文生成プログラムP2は、文生成装置20における文生成処理を統括的に制御するメインモジュールm20、入力モジュールm21、制約データ入力モジュールm22、単語入力モジュールm23及び出力モジュールm24を備えて構成される。また、文生成プログラムP2は、作成文取得モジュールm25、作成文入力モジュールm26及び作成文評価モジュールm27を更に備えてもよい。を備えて構成される。そして、各モジュールm21~m27により、機能部21~27のための各機能が実現される。
【0105】
なお、文生成プログラムP2は、通信回線等の伝送媒体を介して伝送される態様であってもよいし、
図14に示されるように、記録媒体M2記憶される態様であってもよい。
【0106】
以上説明した本実施形態の文生成モデル生成装置10、文生成モデル生成方法及び文生成モデル生成プログラムP1によれば、文生成モデルが、エンコーダ及びデコーダを含むエンコーダデコーダモデルにより構成される。入力文に対応する第1データがエンコーダに入力され、出力文に対応する第2データがデコーダに入力される文生成モデルの学習において、出力文を構成する単語の配列のうちから特定された制約語を一以上含む制約データが、第1データと併せてエンコーダに入力される。エンコーダは、入力された単語の配列を並列処理できる構成を有するので、制約データの入力により処理時間が延びることが抑制される。また、制約データは、第1データを構成する第1言語とは異なる第2言語により構成されているところ、第1言語及び第2言語の双方に対応した埋め込み辞書の参照により、第1データ及び制約データに含まれる単語のそれぞれに対応するベクトルをエンコーダに入力できる。従って、所望の特定表現を構成する単語を制約語として特定した制約データがエンコーダに入力されることにより、文生成モデルが、制約データと第2データとの関連性を学習することとなるので、制約データに含まれる制約語からなる特定の表現を用いた出力文を出力する文生成モデルを得ることができる。
【0107】
本開示に係る文生成モデル生成装置、文生成モデル及び文生成装置は、以下の構成を有しても良い。また、各構成における作用及び効果は、以下のとおり説明される。
【0108】
本開示の一側面に係る文生成モデル生成装置は、第1言語の入力文の入力に応じて、第1言語とは異なる第2言語の出力文を生成する文生成モデルを機械学習により生成する文生成モデル生成装置であって、文生成モデルは、ニューラルネットワークを含みエンコーダ及びデコーダにより構成されるエンコーダデコーダモデルであり、文生成モデルの機械学習に用いられる学習用データは、第1データ、制約データ及び第2データを含み、第1データは、入力文を構成する複数の単語の配列を含み、第2データは、入力文に対応する出力文を構成する複数の単語の配列を含み、制約データは、出力文を構成する単語の配列のうちから特定された単語である制約語を一以上含み、エンコーダは、入力された単語の配列を並列処理可能な構成を有し、文生成モデル生成装置は、第1データ及び制約データのそれぞれに含まれる単語を埋め込み辞書に入力して得られるベクトルをエンコーダに入力するエンコーダ入力部であって、埋め込み辞書は、第1言語の単語とベクトルとの関連付け及び第2言語の単語とベクトルとの関連付けを含み、入力された単語を対応するベクトルに変換する、エンコーダ入力部と、少なくとも第2データを構成する単語を配列順に応じて、デコーダに入力するデコーダ入力部と、デコーダから出力された単語の配列と、第2データに含まれる単語の配列との単語ごとの誤差に基づいて、文生成モデルの学習を実施する学習部と、学習部による学習済みの文生成モデルを出力するモデル出力部と、を備える。
【0109】
上記の側面によれば、文生成モデルが、エンコーダ及びデコーダを含むエンコーダデコーダモデルにより構成される。入力文に対応する第1データがエンコーダに入力され、出力文に対応する第2データがデコーダに入力される文生成モデルの学習において、出力文を構成する単語の配列のうちから特定された制約語を一以上含む制約データが、第1データと併せてエンコーダに入力される。エンコーダは、入力された単語の配列を並列処理できる構成を有するので、制約データの入力により処理時間が延びることが抑制される。また、制約データは、第1データを構成する第1言語とは異なる第2言語により構成されているところ、第1言語及び第2言語の双方に対応した埋め込み辞書の参照により、第1データ及び制約データに含まれる単語のそれぞれに対応するベクトルをエンコーダに入力できる。従って、所望の特定表現を構成する単語を制約語として特定した制約データがエンコーダに入力されることにより、文生成モデルが、制約データと第2データとの関連性を学習することとなるので、制約データに含まれる制約語からなる特定の表現を用いた出力文を出力する文生成モデルを得ることができる。
【0110】
また、他の側面に係る文生成モデル生成装置では、埋め込み辞書は、単語がより小さい単位に分割されてなるサブワードとベクトルとの関連付けを含み、エンコーダ入力部は、第1データ及び制約データのそれぞれに含まれる各単語及びサブワードを埋め込み辞書に入力して得られたベクトルを、エンコーダに入力することとしてもよい。
【0111】
上記の側面によれば、埋め込み辞書がサブワードとベクトルとの関連付けを含んで構成されることにより、埋め込み辞書における語彙数を削減できる。
【0112】
また、他の側面に係る文生成モデル生成装置では、文生成モデルは、Transformer(トランスフォーマ)により構成されることとしてもよい。
【0113】
上記の側面によれば、入力された単語の配列を並列処理可能なようにエンコーダを構成することができる。
【0114】
また、他の側面に係る文生成モデル生成装置では、制約データは、制約データにおける制約語の配列順は、出力文における単語の配列における配列順を維持することとしてもよい。
【0115】
上記の側面によれば、制約データが、出力文における単語の配列順を維持した制約語により構成されるので、第2データにおける制約語に相当する単語及びその配列順が、出力文において用いられるべき単語及び配列順として学習される。従って、制約語により構成される特定の表現を用いた出力文を出力可能な文生成モデルを生成できる。
【0116】
また、他の側面に係る文生成モデル生成装置では、制約データは、出力文を構成する単語の配列のうちの制約語以外の単語又は単語列が所定の置換記号に置換された、制約語及び置換記号の配列からなることとしてもよい。
【0117】
上記の側面によれば、制約データが、制約語と、制約語以外の単語または単語列から置換された置換記号との配列により構成されるので、第2データにおける制約語に相当する単語が、出力文において用いられるべき単語として学習されると共に、第2データにおける置換記号に相当する単語が、出力文における任意の表現として学習される。従って、制約語により構成される特定の表現を用いた出力文を出力可能な文生成モデルを生成できる。
【0118】
また、他の側面に係る文生成モデル生成装置では、第1言語により構成された第1の文と、第2言語により構成された第1の文の対訳である第2の文とからなるコーパスに基づいて、第2の文を構成する単語の配列から特定された制約語を、第2の文における単語の配列順を維持させながら含む、制約データを生成する、制約データ生成部、をさらに含むこととしてもよい。
【0119】
上記の側面によれば、コーパスに基づいて、出力文において用いられるべき所望の特定表現に相当する単語を指定するための制約データを学習用データとして得ることができる。
【0120】
また、他の側面に係る文生成モデル生成装置では、制約データ生成部は、第2の文を構成する単語配列のうちの、制約語として特定された単語以外の単語または単語列を所定の置換記号に置換して、制約語及び置換記号の配列からなる制約データを生成することとしてもよい。
【0121】
上記の側面によれば、コーパスに基づいて、出力文において用いられるべき所望の特定表現に相当する単語を指定し、且つ、出力文における任意の表現を指定するための制約データを学習用データとして得ることができる。
【0122】
本開示の一側面に係る文生成モデルは、コンピュータを機能させ、第1言語の入力文の入力に応じて、第1言語とは異なる第2言語の出力文を生成するための、機械学習による学習済みの文生成モデルであって、文生成モデルの機械学習に用いられる学習用データは、入力文を構成する複数の単語の配列を含む第1データ、入力文に対応する出力文を構成する複数の単語の配列を含む第2データ、及び、制約データを含み、制約データは、出力文を構成する単語の配列のうちから特定された単語である制約語を一以上含み、文生成モデルは、入力された単語の配列を並列処理可能な構成を有するエンコーダとデコーダとにより構成されニューラルネットワークを含むエンコーダデコーダモデルであり、第1データ及び制約データのそれぞれに含まれる単語を埋め込み辞書に入力して得られるベクトルがエンコーダに入力され、少なくとも第2データを構成する単語が配列順に応じてデコーダに入力され、デコーダから出力された単語の配列と、第2データに含まれる単語の配列との単語ごとの誤差に基づいて文生成モデルの構成が更新される機械学習により構築され、埋め込み辞書は、第1言語の単語とベクトルとの関連付け及び第2言語の単語とベクトルとの関連付けを含み、入力された単語を対応するベクトルに変換する。
【0123】
上記の側面によれば、文生成モデルが、エンコーダ及びデコーダを含むエンコーダデコーダモデルにより構成される。この文生成モデルの学習において、入力文に対応する第1データがエンコーダに入力され、出力文に対応する第2データがデコーダに入力されると共に、出力文を構成する単語の配列のうちから特定された制約語を一以上含む制約データが第1データと併せてエンコーダに入力される。エンコーダは、入力された単語の配列を並列処理できる構成を有するので、制約データがエンコーダに入力されることにより処理時間が延びることが抑制される。また、制約データは、第1データを構成する第1言語とは異なる第2言語により構成されているところ、第1言語及び第2言語の双方に対応した埋め込み辞書の参照により、第1データ及び制約データに含まれる単語のそれぞれに対応するベクトルがエンコーダに入力される。従って、所望の特定表現を構成する単語を制約語として特定した制約データがエンコーダに入力されることにより、文生成モデルが、制約データと第2データとの関連性を学習することとなるので、文生成モデルは、制約データに含まれる制約語からなる特定の表現を用いた出力文を出力できる。
【0124】
本開示の一側面に係る文生成装置は、機械学習により構築された文生成モデルを用いて、第1言語の入力文の入力に応じて、第1言語とは異なる第2言語の出力文を生成する文生成装置であって、文生成モデルの機械学習に用いられる学習用データは、入力文を構成する複数の単語の配列を含む第1データ、入力文に対応する出力文を構成する複数の単語の配列を含む第2データ、及び、制約データを含み、制約データは、出力文を構成する単語の配列のうちから特定された単語である制約語を一以上含み、文生成モデルは、入力された単語の配列を並列処理可能な構成を有するエンコーダとデコーダとにより構成されニューラルネットワークを含むエンコーダデコーダモデルであり、第1データ及び制約データのそれぞれに含まれる単語を埋め込み辞書に入力して得られるベクトルがエンコーダに入力され、少なくとも第2データを構成する単語が配列順に応じてデコーダに入力され、デコーダから出力された単語の配列と、第2データに含まれる単語の配列との単語ごとの誤差に基づいて文生成モデルの構成が更新される機械学習により構築され、埋め込み辞書は、第1言語の単語とベクトルとの関連付け及び第2言語の単語とベクトルとの関連付けを含み、入力された単語を対応するベクトルに変換し、文生成装置は、入力文を構成する入力データを単語の配列順に応じてエンコーダに入力する入力部であって、入力データに含まれる各単語を埋め込み辞書に入力して得られたベクトルをエンコーダに入力する、入力部と、出力文において用いられるべき語として任意に特定された入力制約語が、出力文における配列順を維持しながら含まれる入力制約データをエンコーダに入力する制約データ入力部であって、入力制約データに含まれる各単語を埋め込み辞書に入力して得られたベクトルをエンコーダに入力する、制約データ入力部と、エンコーダからの出力のデコーダへの入力の後の各段階において、前段階においてデコーダから出力された単語をデコーダに順次入力する単語入力部と、デコーダの各段階において順次出力された単語を配列して出力文を生成し、生成した出力文を出力する出力部と、を備える。
【0125】
上記の側面によれば、文生成モデルが、エンコーダ及びデコーダを含むエンコーダデコーダモデルにより構成される。この文生成モデルの学習において、入力文に対応する第1データがエンコーダに入力され、出力文に対応する第2データがデコーダに入力されると共に、出力文を構成する単語の配列のうちから特定された制約語を一以上含む制約データが、第1データと併せてエンコーダに入力される。これにより、学習済みの文生成モデルは、制約データと第2データとの関連性を学習できる。また、エンコーダは、入力された単語の配列を並列処理できる構成を有するので、入力制約データがエンコーダに入力されることにより処理時間が延びることが抑制される。また、入力制約データは、入力データを構成する第1言語とは異なる第2言語により構成されているところ、第1言語及び第2言語の双方に対応した埋め込み辞書の参照により、入力データ及び入力制約データに含まれる単語のそれぞれに対応するベクトルがエンコーダに入力される。従って、入力文を構成する入力データをエンコーダに入力すると共に、出力文における制約条件を指定するための入力制約データをエンコーダに入力することにより、所望の特定表現を用いた出力文が出力される。
【0126】
本開示の一側面に係る文生成装置は、埋め込み辞書は、単語がより小さい単位に分割されてなるサブワードとベクトルとの関連付けを含み、入力部は、入力データに含まれる各単語及びサブワードを埋め込み辞書に入力して得られたベクトルを、エンコーダに入力し、制約データ入力部は、入力制約データに含まれる各単語及びサブワードを埋め込み辞書に入力して得られたベクトルを、エンコーダに入力する。
【0127】
上記の側面によれば、埋め込み辞書がサブワードとベクトルとの関連付けを含んで構成されることにより、埋め込み辞書における語彙数を削減できる。
【0128】
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
【0129】
なお、
図1及び
図7に示したブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【0130】
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)や送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
【0131】
例えば、本発明の一実施の形態における文生成モデル生成装置10及び文生成装置20は、コンピュータとして機能してもよい。
図15は、本実施形態に係る文生成モデル生成装置10及び文生成装置20のハードウェア構成の一例を示す図である。文生成モデル生成装置10及び文生成装置20はそれぞれ、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
【0132】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。文生成モデル生成装置10及び文生成装置20のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【0133】
文生成モデル生成装置10及び文生成装置20における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信や、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
【0134】
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。例えば、
図1及び
図7に示した各機能部11~15,21~27などは、プロセッサ1001で実現されてもよい。
【0135】
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、文生成モデル生成装置10及び文生成装置20の各機能部11~15,21~27は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【0136】
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本発明の一実施の形態に係る文生成モデル生成方法及び文生成方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
【0137】
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバその他の適切な媒体であってもよい。
【0138】
通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
【0139】
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
【0140】
また、プロセッサ1001やメモリ1002などの各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
【0141】
また、文生成モデル生成装置10及び文生成装置20は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
【0142】
情報の通知は、本開示において説明した態様/実施形態に限られず、他の方法を用いて行われてもよい。例えば、情報の通知は、物理レイヤシグナリング(例えば、DCI(Downlink Control Information)、UCI(Uplink Control Information))、上位レイヤシグナリング(例えば、RRC(Radio Resource Control)シグナリング、MAC(Medium Access Control)シグナリング、報知情報(MIB(Master Information Block)、SIB(System Information Block)))、その他の信号又はこれらの組み合わせによって実施されてもよい。また、RRCシグナリングは、RRCメッセージと呼ばれてもよく、例えば、RRC接続セットアップ(RRC Connection Setup)メッセージ、RRC接続再構成(RRC Connection Reconfiguration)メッセージなどであってもよい。
【0143】
本開示において説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE-A(LTE-Advanced)、SUPER 3G、IMT-Advanced、4G(4th generation mobile communication system)、5G(5th generation mobile communication system)、FRA(Future Radio Access)、NR(new Radio)、W-CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi-Fi(登録商標))、IEEE 802.16(WiMAX(登録商標))、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及びこれらに基づいて拡張された次世代システムの少なくとも一つに適用されてもよい。また、複数のシステムが組み合わされて(例えば、LTE及びLTE-Aの少なくとも一方と5Gとの組み合わせ等)適用されてもよい。
【0144】
本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【0145】
本開示において基地局によって行われるとした特定動作は、場合によってはその上位ノード(upper node)によって行われることもある。基地局を有する1つ又は複数のネットワークノード(network nodes)からなるネットワークにおいて、端末との通信のために行われる様々な動作は、基地局及び基地局以外の他のネットワークノード(例えば、MME又はS-GWなどが考えられるが、これらに限られない)の少なくとも1つによって行われ得ることは明らかである。上記において基地局以外の他のネットワークノードが1つである場合を例示したが、複数の他のネットワークノードの組み合わせ(例えば、MME及びS-GW)であってもよい。
【0146】
情報等は、上位レイヤ(又は下位レイヤ)から下位レイヤ(又は上位レイヤ)へ出力され得る。複数のネットワークノードを介して入出力されてもよい。
【0147】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【0148】
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
【0149】
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
【0150】
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
【0151】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【0152】
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
【0153】
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【0154】
なお、本開示において説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
【0155】
本開示において使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
【0156】
また、本開示において説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。例えば、無線リソースはインデックスによって指示されるものであってもよい。
【0157】
上述したパラメータに使用する名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示したものと異なる場合もある。様々なチャネル(例えば、PUCCH、PDCCHなど)及び情報要素は、あらゆる好適な名称によって識別できるので、これらの様々なチャネル及び情報要素に割り当てている様々な名称は、いかなる点においても限定的な名称ではない。
【0158】
本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
【0159】
本開示で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0160】
本開示において使用する「第1の」、「第2の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第1および第2の要素への参照は、2つの要素のみがそこで採用され得ること、または何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
【0161】
上記の各装置の構成における「手段」を、「部」、「回路」、「デバイス」等に置き換えてもよい。
【0162】
「含む(include)」、「含んでいる(including)」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
【0163】
本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【0164】
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
【0165】
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。
【0166】
本開示の文生成モデル生成装置、文生成モデルMD及び文生成装置は、以下の構成を有してもよい。
[1]
第1言語の入力文の入力に応じて、前記第1言語とは異なる第2言語の出力文を生成する文生成モデルを機械学習により生成する文生成モデル生成装置であって、
前記文生成モデルは、ニューラルネットワークを含みエンコーダ及びデコーダにより構成されるエンコーダデコーダモデルであり、
前記文生成モデルの機械学習に用いられる学習用データは、第1データ、制約データ及び第2データを含み、
前記第1データは、前記入力文を構成する複数の単語の配列を含み、
前記第2データは、前記入力文に対応する前記出力文を構成する複数の単語の配列を含み、
前記制約データは、前記出力文を構成する単語の配列のうちから特定された単語である制約語を一以上含み、
前記エンコーダは、入力された単語の配列を並列処理可能な構成を有し、
前記文生成モデル生成装置は、
前記第1データ及び前記制約データのそれぞれに含まれる単語を埋め込み辞書に入力して得られるベクトルを前記エンコーダに入力するエンコーダ入力部であって、前記埋め込み辞書は、前記第1言語の単語とベクトルとの関連付け及び前記第2言語の単語とベクトルとの関連付けを含み、入力された単語を対応するベクトルに変換する、エンコーダ入力部と、
少なくとも前記第2データを構成する単語を配列順に応じて、前記デコーダに入力するデコーダ入力部と、
前記デコーダから出力された単語の配列と、前記第2データに含まれる単語の配列との単語ごとの誤差に基づいて、前記文生成モデルの学習を実施する学習部と、
前記学習部による学習済みの文生成モデルを出力するモデル出力部と、
を備える文生成モデル生成装置。
[2]
前記埋め込み辞書は、単語がより小さい単位に分割されてなるサブワードとベクトルとの関連付けを含み、
前記エンコーダ入力部は、前記第1データ及び前記制約データのそれぞれに含まれる各単語及び前記サブワードを前記埋め込み辞書に入力して得られたベクトルを、前記エンコーダに入力する、
[1]に記載の文生成モデル生成装置。
[3]
前記文生成モデルは、Transformer(トランスフォーマ)により構成される、
[1]または[2]に記載の文生成モデル生成装置。
[4]
前記制約データは、前記制約データにおける前記制約語の配列順は、前記出力文における前記単語の配列における配列順を維持する、
[1]~[3]のいずれか一項に記載の文生成モデル生成装置。
[5]
前記制約データは、前記出力文を構成する単語の配列のうちの前記制約語以外の単語又は単語列が所定の置換記号に置換された、前記制約語及び前記置換記号の配列からなる、
[4]に記載の文生成モデル生成装置。
[6]
前記第1言語により構成された第1の文と、第2言語により構成された前記第1の文の対訳である第2の文とからなるコーパスに基づいて、前記第2の文を構成する単語の配列から特定された前記制約語を、前記第2の文における単語の配列順を維持させながら含む、前記制約データを生成する、制約データ生成部、をさらに含む、
[1]~[5]のいずれか一項に記載の文生成モデル生成装置。
[7]
前記制約データ生成部は、前記第2の文を構成する単語配列のうちの、前記制約語として特定された単語以外の単語または単語列を所定の置換記号に置換して、前記制約語及び前記置換記号の配列からなる前記制約データを生成する、
[6]に記載の文生成モデル生成装置。
[8]
コンピュータを機能させ、第1言語の入力文の入力に応じて、前記第1言語とは異なる第2言語の出力文を生成するための、機械学習による学習済みの文生成モデルであって、
前記文生成モデルの機械学習に用いられる学習用データは、前記入力文を構成する複数の単語の配列を含む第1データ、前記入力文に対応する前記出力文を構成する複数の単語の配列を含む第2データ、及び、制約データを含み、
前記制約データは、前記出力文を構成する単語の配列のうちから特定された単語である制約語を一以上含み、
前記文生成モデルは、
入力された単語の配列を並列処理可能な構成を有するエンコーダとデコーダとにより構成されニューラルネットワークを含むエンコーダデコーダモデルであり、
前記第1データ及び前記制約データのそれぞれに含まれる単語を埋め込み辞書に入力して得られるベクトルが前記エンコーダに入力され、
少なくとも前記第2データを構成する単語が配列順に応じて前記デコーダに入力され、
前記デコーダから出力された単語の配列と、前記第2データに含まれる単語の配列との単語ごとの誤差に基づいて前記文生成モデルの構成が更新される機械学習により構築され、
前記埋め込み辞書は、前記第1言語の単語とベクトルとの関連付け及び前記第2言語の単語とベクトルとの関連付けを含み、入力された単語を対応するベクトルに変換する、
学習済みの文生成モデル。
[9]
機械学習により構築された文生成モデルを用いて、第1言語の入力文の入力に応じて、前記第1言語とは異なる第2言語の出力文を生成する文生成装置であって、
前記文生成モデルの機械学習に用いられる学習用データは、前記入力文を構成する複数の単語の配列を含む第1データ、前記入力文に対応する前記出力文を構成する複数の単語の配列を含む第2データ、及び、制約データを含み、
前記制約データは、前記出力文を構成する単語の配列のうちから特定された単語である制約語を一以上含み、
前記文生成モデルは、
入力された単語の配列を並列処理可能な構成を有するエンコーダとデコーダとにより構成されニューラルネットワークを含むエンコーダデコーダモデルであり、
前記第1データ及び前記制約データのそれぞれに含まれる単語を埋め込み辞書に入力して得られるベクトルが前記エンコーダに入力され、
少なくとも前記第2データを構成する単語が配列順に応じて前記デコーダに入力され、
前記デコーダから出力された単語の配列と、前記第2データに含まれる単語の配列との単語ごとの誤差に基づいて前記文生成モデルの構成が更新される機械学習により構築され、
前記埋め込み辞書は、前記第1言語の単語とベクトルとの関連付け及び前記第2言語の単語とベクトルとの関連付けを含み、入力された単語を対応するベクトルに変換し、
前記文生成装置は、
前記入力文を構成する入力データを単語の配列順に応じて前記エンコーダに入力する入力部であって、前記入力データに含まれる各単語を前記埋め込み辞書に入力して得られたベクトルを前記エンコーダに入力する、入力部と、
前記出力文において用いられるべき語として任意に特定された入力制約語が、前記出力文における配列順を維持しながら含まれる入力制約データを前記エンコーダに入力する制約データ入力部であって、前記入力制約データに含まれる各単語を前記埋め込み辞書に入力して得られたベクトルを前記エンコーダに入力する、制約データ入力部と、
前記エンコーダからの出力の前記デコーダへの入力の後の各段階において、前段階において前記デコーダから出力された単語を前記デコーダに順次入力する単語入力部と、
前記デコーダの各段階において順次出力された単語を配列して前記出力文を生成し、生成した前記出力文を出力する出力部と、
を備える文生成装置。
[10]
前記埋め込み辞書は、単語がより小さい単位に分割されてなるサブワードとベクトルとの関連付けを含み、
前記入力部は、前記入力データに含まれる各単語及び前記サブワードを前記埋め込み辞書に入力して得られたベクトルを、前記エンコーダに入力し、
前記制約データ入力部は、前記入力制約データに含まれる各単語及び前記サブワードを前記埋め込み辞書に入力して得られたベクトルを、前記エンコーダに入力する、
[9]に記載の文生成装置。
【符号の説明】
【0167】
10…文生成モデル生成装置、11…制約データ生成部、12…エンコーダ入力部、13…デコーダ入力部、14…学習部、15…モデル出力部、20…文生成装置、21…入力部、22…制約データ入力部、23…単語入力部、24…出力部、25…作成文取得部、26…作成文入力部、27…作成文評価部、30…モデル記憶部、40…コーパス記憶部、m11…制約データ生成モジュール、m12…エンコーダ入力モジュール、m13…デコーダ入力モジュール、m14…学習モジュール、m15…モデル出力モジュール、M1,M2…記録媒体、m21…入力モジュール、m22…制約データ入力モジュール、m23…単語入力モジュール、m24…出力モジュール、m25…作成文取得モジュール、m26…作成文入力モジュール、m27…作成文評価モジュール、MD,MD1,MD2…文生成モデル、P1…文生成モデル生成プログラム、P2…文生成プログラム。