(57)【要約】      （修正有）【課題】適切な構造の文章を類推結果として出力する。【解決手段】学習装置は、所定の文章に含まれる単語群を抽出する抽出部と、前記単語群に含まれる各単語の属性であって、それぞれ異なる複数の属性に基づいて、前記所定の文章を符号化する符号化器と、前記符号化器の出力に対して、前記複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、前記適用器によってアテンション行列が適用された前記符号化器の出力から、前記単語群に含まれる各単語と、当該各単語が前記文章中に出現する順序とを前記文章中における各単語の属性系列とともに復元する復元器とを学習する学習部とを有する。【選択図】図２
2019079087.tif 000002
【特許請求の範囲】
【請求項１】
所定の文章に含まれる単語群を抽出する抽出部と、
前記単語群に含まれる各単語の属性であって、それぞれ異なる複数の属性に基づいて、前記所定の文章を符号化する符号化器と、前記符号化器の出力に対して、前記複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、前記適用器によってアテンション行列が適用された前記符号化器の出力から、前記単語群に含まれる各単語と、当該各単語が前記文章中に出現する順序とを前記文章中における各単語の属性系列とともに復元する復元器とを学習する学習部と
を有することを特徴とする学習装置。
【請求項２】
前記学習部は、前記単語群に含まれる各単語が入力される入力層と、前記入力層の出力に基づいて各単語が有する属性を示す情報を出力する複数の中間層とを有する符号化器を学習する
ことを特徴とする請求項１に記載の学習装置。
【請求項３】
前記学習部は、前記適用器によってアテンション行列が適用された前記符号化器の出力から、前記単語群に含まれる各単語と、当該各単語の属性と、当該各単語が前記文章中に出現する順序とを前記文章中における各単語の属性系列とともに復元する復元器を学習する
ことを特徴とする請求項１または２に記載の学習装置。
【請求項４】
前記学習部は、前記入力層に対して複数の単語を順次入力した際における前記中間層に含まれるノードの状態の変化に基づいた複数の列成分を有するアテンション行列を適用する適用器
を学習することを特徴とする請求項１〜３のうちいずれか１つに記載の学習装置。
【請求項５】
前記学習部は、前記入力層に対して所定の単語を入力した際における前記複数の中間層に含まれる各ノードの状態を列方向に配置し、前記入力装置に対して複数の単語を順次入力した際における各ノードの状態の変化を行方向に配置した行列から生成される複数の小行列に基づいたアテンション行列を適用する適用器を学習する
ことを特徴とする請求項１〜４のうちいずれか１つに記載の学習装置。
【請求項６】
前記学習部は、新たに入力された情報と、前回出力した情報とに基づいて新たに出力する情報を生成するノードを含む複数の中間層を有する符号化器を学習する
ことを特徴とする請求項１〜５のうちいずれか１つに記載の学習装置。
【請求項７】
前記学習部は、ＤＰＣＮ（Deep  Predictive  Coding  Networks）の構造を有する複数の中間層を有する符号化器を学習する
ことを特徴とする請求項６に記載の学習装置。  
【請求項８】
前記学習部は、前記符号化器の出力に対して、前記アテンション行列の固有値、固有ベクトル、若しくは特異値を適用する適用器を学習する
ことを特徴とする請求項１〜７のうちいずれか１つに記載の学習装置。
【請求項９】
所定の文章に含まれる単語群を抽出する抽出工程と、
前記単語群に含まれる各単語の属性であって、それぞれ異なる複数の属性に基づいて、前記所定の文章を符号化する符号化器と、前記符号化器の出力に対して、前記複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、前記適用器によってアテンション行列が適用された前記符号化器の出力から、前記単語群に含まれる各単語と、当該各単語が前記文章中に出現する順序とを前記文章中における各単語の属性系列とともに復元する復元器とを学習する学習工程と
を含むことを特徴とする学習方法で生成される符号化器と適用器と復元器とからなるリカレントニューラルネットワークを含むプログラムパラメータ。
【請求項１０】
学習装置が実行する学習方法であって、
所定の文章に含まれる単語群を抽出する抽出工程と、
前記単語群に含まれる各単語の属性であって、それぞれ異なる複数の属性に基づいて、前記所定の文章を符号化する符号化器と、前記符号化器の出力に対して、前記複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、前記適用器によってアテンション行列が適用された前記符号化器の出力から、前記単語群に含まれる各単語と、当該各単語が前記文章中に出現する順序とを前記文章中における各単語の属性系列とともに復元する復元器とを学習する学習工程と
を含むことを特徴とする学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、プログラムパラメータおよび学習方法に関する。
【背景技術】
【０００２】
従来、入力された情報の解析結果に基づいて、入力された情報と関連する情報を検索もしくは生成し、検索もしくは生成した情報を応答として出力する技術が知られている。このような技術の一例として、入力されたテキストに含まれる単語、文章、文脈を多次元ベクトルに変換して解析し、解析結果に基づいて、入力されたテキストと類似するテキストや、入力されたテキストに続くテキストを類推し、類推結果を出力する自然言語処理の技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１２７０７７号公報
【非特許文献】
【０００４】
【非特許文献１】“Learning  Phrase  Representations  using  RNN  Encoder−Decoder  for  Statistical  Machine  Translation”，Kyunghyun  Cho,  Bart  van  Merrienboer,  Caglar  Gulcehre,  Dzmitry  Bahdanau,  Fethi  Bougares,  Holger  Schwenk,  Yoshua  Bengio,  arXiv:1406.1078v3  [cs.CL]  3  Sep  2014
【非特許文献２】“Neural  Responding  Machine  for  Short-Text  Conversation”  Lifeng  Shang,  Zhengdong  Lu,  Hang  Li  ＜インターネット＞  https://arxiv.org/pdf/1503.02364.pdf
【非特許文献３】"Unsupervised  Learning  of  Visual  Structure  using  Predictive  Generative  Networks”  William  Lotter,  Gabriel  Kreiman,  David  Cox  ＜インターネット＞https://arxiv.org/abs/1511.06380
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、適切な構造の文章の類推を行うことが難しい。
【０００６】
例えば、上述の従来技術では、入力された単語やテキストと類似する単語やテキスト等を出力しているに過ぎない。このため、例えば、出力対象となる複数の単語が存在する場合に、単語同士の係り受けといった属性系列を考慮して、適切な構造を有する自然な文章を出力することができない。
【０００７】
本願は、上記に鑑みてなされたものであって、適切な構造の文章の類推を行うことを目的とする。
【課題を解決するための手段】
【０００８】
本願に係る学習装置は、所定の文章に含まれる単語群を抽出する抽出部と、前記単語群に含まれる各単語の属性であって、それぞれ異なる複数の属性に基づいて、前記所定の文章を符号化する符号化器と、前記符号化器の出力に対して、前記複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、前記適用器によってアテンション行列が適用された前記符号化器の出力から、前記単語群に含まれる各単語と、当該各単語が前記文章中に出現する順序とを前記文章中における各単語の属性系列とともに復元する復元器とを学習する学習部とを有することを特徴とする。
【発明の効果】
【０００９】
実施形態の一態様によれば、適切な構造の文章を類推結果として出力することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る学習装置が実行する学習処理の一例を示す図である。
【図２】図２は、実施形態に係る学習装置の構成例を示す図である。
【図３】図３は、実施形態に係る正解データデータベースに登録される情報の一例を示す図である。
【図４】図４は、実施形態に係る属性抽出層の模式的な構造の一例を示す図である。
【図５】図５は、実施形態に係る処理の流れの一例を説明するフローチャートである。
【図６】図６は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願に係る学習装置、プログラムパラメータおよび学習方法を実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習装置、プログラムパラメータおよび学習方法が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１２】
［実施形態］
〔１．学習装置の一例〕
まず、図１を用いて、学習装置が実行する学習処理の一例について説明する。図１は、実施形態に係る学習装置が実行する学習処理の一例を示す図である。図１では、学習装置１０は、以下に説明する学習処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。
【００１３】
より具体的には、学習装置１０は、インターネット等の所定のネットワークＮ（例えば、図２参照）を介して、任意の利用者が使用する情報処理装置１００、２００と通信可能である。例えば、学習装置１０は、情報処理装置１００、２００との間で、複数の単語（以下、「単語群」と記載する場合がある。）を含む文章の送受信を行う。
【００１４】
なお、情報処理装置１００、２００は、スマートフォンやタブレット等のスマートデバイス、デスクトップＰＣ（Personal  Computer）やノートＰＣ等、サーバ装置等の情報処理装置により実現されるものとする。
【００１５】
〔１−１．情報処理装置が学習するモデルの概要について〕
ここで、学習装置１０は、入力された文章に対応する応答を出力する。例えば、学習装置１０は、w２v（word2vec）やs２v(sentence2vec)等、単語や文章をベクトル（多次元量）に変換し、変換後のベクトルを用いて入力された文章に対応する応答を出力する。より具体的な例を挙げると、学習装置１０は、利用者の発言に含まれる単語群から、異なる分野の単語群であって、利用者の発言に含まれる単語群と同様の概念構造を有する単語群を特定する。このような単語群を文章化して出力した場合には、利用者の発言と概念構造が類似する文章であって、利用者の発言とは異なる分野に属する概念の文章を出力することができるので、利用者のセレンディピティを生じさせることができると考えられる。
【００１６】
しかしながら、文章には、単語群が有する概念以外にも、単語群を接続する係り受け等の各種属性の概念（以下、「属性系列」と記載する。）が含まれるため、このような単語群から適切な構造を有する自然な文章を生成するのは難しい。そこで、学習装置１０は、以下の学習処理と測定処理とを実行する。
【００１７】
例えば、学習装置１０は、文章に含まれる単語群の特徴と、各単語が文章中に出現する順序の特徴とともに、各単語の属性をニューラルネットワーク等のモデルに学習させる。より具体的には、学習装置１０は、情報処理装置２００から受信する正解データを用いて、以下の学習処理を実行する。まず、学習装置１０は、所定の文章に含まれる単語群を抽出する。そして、学習装置１０は、単語群に含まれる各単語が文章中に出現する順序とともにその単語群が有する特徴を学習するエンコーダ（符号化器）と、単語群に含まれる各単語と、各単語の属性と、各単語が文章中に出現する順序とを文章中における各単語の属性系列とともに特徴から復元するデコーダ（復元器）とを学習する。ここで、属性系列は、例えば、代名詞が何を指すかの照応関係や２つの別の名詞が同じ概念を指しているかの共参照関係などの係り受けを示す係り受け情報である。
【００１８】
より具体的には、学習装置１０は、正解データとして受信した文章から単語群を抽出する。そして、学習装置１０は、抽出した単語群に含まれる各単語を、文章に出現する順序でエンコーダに入力した際に、エンコーダが出力した特徴から、各単語の属性と各単語とを属性系列とともに、正解データとして受信した文章に出現する順序でデコーダが復元するように、モデル全体の学習を行う。このような学習は、例えば、バックプロパゲーション等の任意の学習手法が採用可能である。
【００１９】
ここで、単語の属性とは、単語の品詞や単語の原型、所定の分類処理により単語を分類した際のクラスタリングの結果等、表面的には表れない単語の性質を示す情報である。すなわち、学習装置１０は、単語群が文章中に出現する順序や属性系列といった表面的な言語情報の特徴（すなわち、意味構造の特徴）のみならず、文章中に現れない単語の性質（すなわち、言語構造の特徴）をも学習する。
【００２０】
このような学習を行ったモデルに、情報処理装置１００から受信した単語群を入力した場合は、単語群に含まれる各単語の属性が考慮された状態で、各単語が文章中に出現する順序で、属性系列とともに復元される。すなわち、モデルは、情報処理装置１００から受信した単語群を含むであろう文章を、各単語の属性を考慮して復元する。この結果、学習装置１０は、単語群に含まれる各単語の属性を考慮した上で、自然な文章を生成することができる。
【００２１】
〔１−２．エンコーダが出力する情報について〕
ここで、エンコーダが、それぞれ異なる種別の属性を抽出する複数の中間層を有する場合、単語群が有する特徴をより精度良く抽出することができるとも考えられる。しかしながら、上述したモデルにおけるエンコーダがＲＮＮ（Recurrent  Neural  Networks）やＬＳＴＭ（Long  short-term  memory）と呼ばれる構造を有するニューラルネットワークにより実現される場合、単語が入力される度に値をデコーダに引き渡す構造が考えられる。すなわち、エンコーダは、入力された単語が有する複数の属性を丸めた単一の値をデコーダに引き渡すこととなる。この結果、文章の特徴を適切に学習することができない恐れがある。
【００２２】
そこで、学習装置１０は、以下の学習処理を実行する。まず、学習装置１０は、所定の文章に含まれる単語群を抽出する。そして、学習装置１０は、単語群に含まれる各単語の属性であって、それぞれ異なる複数の属性に基づいて、所定の文章を符号化する符号化器と、符号化器の出力に対して、複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、適用器によってアテンション行列が適用された符号化器の出力から、単語群に含まれる各単語と、各単語が文章中に出現する順序とを文章中における各単語の属性系列とともに復元する復元器とを学習する。
【００２３】
例えば、学習装置１０は、単語群に含まれる各単語が入力される入力層と、入力層の出力に基づいて各単語が有する属性を示す情報を出力する複数の中間層とを有するエンコーダの学習を行う。また、学習装置１０は、入力層に対して複数の単語を順次入力した際における中間層に含まれるノードの状態の変化に基づいた複数の列成分を有するアテンション行列を適用する適用器を学習する。また、学習装置１０は、適用器によってアテンション行列が適用された符号化器の出力から、単語群に含まれる各単語と、各単語の属性と、各単語が文章中に出現する順序とを文章中における各単語の属性系列とともに復元する復元器を学習する。
【００２４】
すなわち、学習装置１０は、エンコーダの出力に対し、エンコーダが単語から抽出する複数の属性に基づいたアテンション行列を適用し、エンコーダの出力を値としてではなく行列としてデコーダに引き渡す。そして、情報提供装置１０は、アテンション行列を適用したエンコーダの出力から、元の文章を復元するようにデコーダの学習を行わせる。このようにして適用されるアテンション行列は、単語群に含まれる単語を順次エンコーダに入力した際の、中間層におけるノードの状態遷移の特徴を示す。換言すると、アテンション行列は、文章に含まれる単語群を先頭から順に入力した際に、文章の先頭から入力済みの単語までの部分が有するコンテキストを示す。
【００２５】
このようなアテンション行列をエンコーダの出力、すなわち、エンコーダが各単語から順次抽出した特徴を示す情報に適用することで、学習装置１０は、中間層において消失される情報（例えば、単語が有する特徴の周辺情報の特徴）を、エンコーダの出力に適用することができる。そして、学習装置１０は、デコーダにエンコーダが抽出した特徴と、アテンション行列が示す特徴とを示す行列から元の文章を復元させる。この結果、学習装置１０は、モデルに対し、文章が有する特徴を適切に学習させることができる。
【００２６】
なお、学習装置１０は、エンコーダとして、単語群に含まれる各単語を入力する単語復元レイヤと、各単語の属性を入力する複数のレイヤを含む属性抽出層とを有し、単語復元レイヤおよび属性抽出層の出力から、出力する特徴を生成するエンコーダの学習を行ってもよい。また、学習装置１０は、ＤＰＣＮ（Deep  Predictive  Coding  Networks）の構造を有するニューラルネットワークをエンコーダとしてもよく、エンコーダが有する各レイヤごとに、ＤＰＣＮの構造を有するニューラルネットワークを採用してもよい。
【００２７】
また、学習装置１０は、エンコーダとして、ＲＮＮの構造を有するニューラルネットワークを採用する場合、新たに入力された情報と、前回出力した情報とに基づいて新たに出力する情報を生成するノードを含む複数の中間層を有するエンコーダを学習することとなる。このように、学習装置１０は、複数のレイヤを有する属性抽出層を備えたエンコーダを学習するのであれば、任意の形式のエンコーダを学習してよい。
【００２８】
〔１−３．デコーダの構成について〕
ここで、学習装置１０は、アテンション行列が適用されたエンコーダの出力から、各単語の重要度に基づいて、単語群に含まれる各単語と各単語が文章中に出現する順序とを文章中における各単語の属性系列とともに特徴から復元するデコーダであれば、任意の構成を有するデコーダの学習をおこなってよい。例えば、学習装置１０は、適用器が出力した特徴から、各単語の属性を復元する属性復元レイヤと、属性復元レイヤの出力から、各単語を文章中に出現する順序で復元する単語復元レイヤとを有するデコーダを学習する。より具体的には、学習装置１０は、エンコーダが出力した特徴に対してアテンション行列を適用した特徴行列の入力を受付けると、特徴行列から各単語の属性を各単語が文章中に出現する順序で復元する属性復元レイヤと、特徴行列と属性復元レイヤが復元した属性とに基づいて、文章中に出現する順序で各単語を復元する単語復元レイヤとを有するデコーダを学習する。
【００２９】
例えば、学習装置１０は、属性復元レイヤとして、単語群に含まれる各単語の属性と各単語が文章中に出現する順序とに基づく各単語の所定の文章における重要度に基づいて、各単語が文章中に出現する順序を復元するレイヤを有するデコーダの学習を行う。すなわち、学習装置１０は、前回の出力と新たな入力とに基づいて、次の単語の属性を重要性に基づいて推定し、推定した属性から次の単語を導出するデコーダーを生成する。このようなデコーダは、例えば、特徴から単語群に含まれる各単語の属性を復元するニューラルネットワークであって、入力された情報と、前回出力した情報とに基づいて新たに出力する情報を生成する機能を有するニューラルネットワークにより実現される。このようなニューラルネットワークは、例えば、ＲＮＮやＬＳＴＭと呼ばれる構造を有するニューラルネットワークにより実現される。なお、学習装置１０は、全体としてＬＳＴＭの構成を有するデコーダを学習する必要はなく、少なくとも、属性を復元する属性復元レイヤがＬＳＴＭの構成を有していればよい。
【００３０】
さらに、学習装置１０は、情報の畳み込みを行うニューラルネットワーク、すなわち、ＣＮＮ（Convolutional  Neural  Network）を用いて、新たに出力する情報を生成してもよい。例えば、学習装置１０は、属性復元レイヤとして、ＬＳＴＭの機能のみならず、ＣＮＮの機能を有するニューラルネットワークを用いてもよい。このようなニューラルネットワークは、例えば、ＤＰＣＮ（Deep  Predictive  Coding  Networks）と呼ばれるニューラルネットワークにより実現可能である（例えば、非特許文献３参照）。また、言語の畳み込みについては、単語群に含まれる各単語を同じ次元数のベクトルに変換し、変換後の各ベクトルの畳み込みを行う技術により実現可能である。なお、学習装置１０は、少なくとも、属性を復元する属性復元レイヤにおいてＤＰＣＮの構造を有するデコーダを学習すればよい。
【００３１】
以下、より具体的なデコーダの構成例について説明する。例えば、モデルのエンコーダおよびデコーダは、ノードの状態を順次遷移させることで、単語群の符号化および復号化を実現する。例えば、エンコーダは、単語を文章中に出現する順（以下、「出現順」と記載する。）でノードに入力することで、単語群の特徴や各単語が文章中に出現する順序とともに、文章中における各単語の重要度を符号化した特徴を生成する。そして、学習装置１０は、エンコーダが出力する特徴に対してアテンション行列を適用した特徴行列をデコーダのノードに入力し、ノードの状態を順次遷移させることで、符号化された単語を、文章中に出現する順序で属性系列とともに復元させ、単語群の特徴や属性、出現順序に基づく重要度をデコーダに学習させる。
【００３２】
例えば、デコーダは、入力層側から出力層側に向けて、状態レイヤ、属性復元レイヤ、および単語復元レイヤを有する。このようなデコーダは、エンコーダの出力を受付けると、状態レイヤが有する１つ又は複数のノードの状態を状態ｈ１へと遷移させる。そして、デコーダは、属性復元レイヤにて、状態レイヤのノードの状態ｈ１から最初の単語の属性ｚ１を復元するとともに、単語復元レイヤにて、状態ｈ１と属性ｚ１とから最初の単語ｙ１を属性系列とともに復元し、単語ｙ１と状態ｈ１から状態レイヤのノードの状態を状態ｈ２へと遷移させる。なお、デコーダは、状態レイヤにＬＳＴＭやＤＰＣＮの機能を持たせることで、出力した属性ｚ１を考慮して状態レイヤのノードの状態を状態ｈ２へと遷移させてもよい。続いて、デコーダは、属性復元レイヤにて、前回復元した属性ｚ１と状態レイヤのノードの現在の状態ｈ２から、２番目の単語の属性ｚ２を復元し、属性ｚ２と前回復元した単語ｙ１とから、２番目の単語ｙ２を属性系列とともに復元する。
【００３３】
すなわち、デコーダは、状態ｈ２を前の状態ｈ１と前回復元した単語ｙ１と前回復元した属性ｚ１とから生成し、属性ｚ２を前の属性ｚ１と状態ｈ２と前回復元した単語ｙ１とから生成し、単語ｙ２を前回復元した単語ｙ１と属性ｚ２と状態ｈ２とから生成する。なお、デコーダは、前回復元した属性ｚ１を考慮せずに、前回の状態ｈ１と前回復元した単語ｙ１とから状態ｈ２を生成してもよい。また、デコーダは、前回復元した単語ｙ１を考慮せずに、前回復元した属性ｚ１と状態ｈ２とから属性ｚ２を生成してもよい。
【００３４】
このようなデコーダにおいて、属性復元レイヤにＤＰＣＮ等といった再帰型ニューラルネットワークの機能を持たせた状態で、エンコーダに入力された文章を復元するようにデコーダの学習を行った場合、属性復元レイヤは、文章中における単語の出現順序の特徴を学習することとなる。この結果、デコーダは、前回復元した単語の属性に基づいて、次に復元する単語の属性の予測を行うこととなる。すなわち、デコーダは、文章中における単語の属性の順序を予測することとなる。このようなデコーダは、測定時において単語群が入力された場合に、各単語の属性と予測される出現順序とに応じた単語の重要度を考慮して、文章に含まれる単語と属性系列とを復元することとなる。すなわち、デコーダは、測定時において、単語群に含まれる各単語の重要度に基づいて、文章化の対象となる単語群の属性と、予測される各単語の出現順序とを復元することとなるので、各単語の重要度に応じた文章化を実現することができる。
【００３５】
なお、学習装置１０は、それぞれ異なる種別の属性を復元する複数の属性復元レイヤを有するエンコーダの学習を行ってもよい。すなわち、学習装置１０は、特徴から単語群に含まれる各単語の属性であって、それぞれ異なる属性を復元する複数の属性復元レイヤと、複数の属性復元レイヤの出力から単語群に含まれる各単語を文章に出現する順序で復元する単語復元レイヤとを有するデコーダの学習を行ってもよい。なお、学習装置１０は、任意の数の属性復元レイヤを有するデコーダの学習を行ってもよい。
【００３６】
例えば、学習装置１０は、エンコーダが出力した特徴から、単語群に含まれる各単語の品詞を、各単語が文章中に出現する順序で復元する第１の属性復元レイヤと、エンコーダが出力した特徴から、単語群に含まれる各単語のクラスタリング結果を、各単語が文章中に出現する順序で復元する第２の属性復元レイヤとを有するデコーダの学習を行ってもよい。なお、このようなデコーダの単語復元レイヤは、第１の属性復元レイヤが復元した属性と、第２の属性復元レイヤが復元した属性と、エンコーダが出力した特徴とから、各単語を文章に含まれる順序で属性系列とともに復元することとなる。なお、このような各属性復元レイヤは、それぞれ異なるＤＰＣＮにより構成されてもよい。
【００３７】
〔１−４．トピックレイヤについて〕
また、学習装置１０は、いわゆるトピックモデルを用いて、単語群から文章の生成を行ってもよい。例えば、学習装置１０は、適用器が生成した特徴行列から、所定の文章が示すトピックを復元するトピックレイヤを有するモデルを生成する。そして、学習装置１０は、トピックレイヤの出力から、単語群に含まれる各単語と、各単語の属性と、各単語が所定の文章中に出現する順序とを属性系列とともに復元するデコーダを学習してもよい。
【００３８】
ここで、トピックモデルとは、ある文章が生成される過程を確率的に表現したモデルである。例えば、トピックモデルでは、文章に含まれる各単語が属する分野、すなわち文章毎のトピックの比率と、トピックの分布とから、文章を確率的に生成する。例えば、トピックモデルでは、文章に含まれる各単語の集合をθ、文章ごとのトピックの比率をＰ（ｚ｜θ）、トピックの分布をＰ（ｗｎ｜ｚ）とすると、以下の式（１）で表される過程により文章を確率的に生成する。なおｎは、トピックの分布の種別を示す添え字である。
【００３９】
【数１】
2019079087.tif 000003
【００４０】
トピックレイヤは、このようなトピックモデルに基づいて、エンコーダが出力した特徴から、文章全体のトピックを示す情報、すなわち、文章のコンテキストを示すコンテキスト情報を抽出する。そして、トピックレイヤは、抽出したコンテキスト情報をデコーダに入力する。このような処理の結果、デコーダは、文章全体のコンテキストを考慮して、エンコーダが出力した特徴から各単語や各単語の属性を復元するので、より自然な文章を生成することができる。
【００４１】
なお、トピックレイヤは、文章が出現する位置（例えば、見出しや本文等）や、文章が出現する時間（例えば、文章が投稿されやすい日時）等、文章のコンテキストであれば任意のコンテキストを抽出してよい。
【００４２】
〔１−５．測定処理について〕
なお、学習装置１０は、上述した学習処理により学習が行われたモデルを用いて、学習装置１０から受信した単語群から文章を生成する測定処理を実行する。例えば、学習装置１０は、学習装置１０から単語群を受信すると、受信した単語群を順にモデルのエンコーダに入力し、デコーダが属性系列とともに復元した単語群、すなわち、文章を学習装置１０へと出力する。
【００４３】
〔１−６．学習装置１０が実行する処理の一例〕
次に、図１を用いて、学習装置１０が実行する学習処理および測定処理の一例について説明する。まず、学習装置１０は、正解データとなる文章を情報処理装置２００から取得する（ステップＳ１）。なお、正解データとなる文章は、例えば、論文や特許公報、ブログ、マイクロブログ、インターネット上のニュース記事等、任意の文章が採用可能である。
【００４４】
このような場合、学習装置１０は、複数の属性抽出レイヤを有するエンコーダと、単語を順に入力した際の属性抽出レイヤにおけるノードの状態遷移の特徴を示すアテンション行列をエンコーダの出力に適用する適用器と、適用器の出力から元の文章を復元するデコーダとを学習する（ステップＳ２）。例えば、図１に示す例では、学習装置１０は、エンコーダＥＮとなるモデルと、適用器ＣＧとなるモデルと、デコーダＤＣとなるモデルとを有するモデルＬ１０を生成する。
【００４５】
より詳細には、学習装置１０は、単語の入力を受付ける入力層Ｌ１１、入力層Ｌ１１からの出力に基づいて単語の属性を抽出する属性抽出層Ｌ１２、および属性抽出層Ｌ１２の出力に基づいて、文章の特徴を出力する出力層とを有するエンコーダＥＮを生成する。ここで、属性抽出層Ｌ１２は、それぞれ異なる属性を示す値を出力する複数の層を有するものとする。
【００４６】
また、学習装置１０は、単語が入力される度にエンコーダＥＮが生成した値、すなわち、特徴を示す値に対して、属性抽出層Ｌ１２における各ノードの状態に基づいたアテンション行列を適用する適用器ＣＧを生成する。より具体的には、学習装置１０は、エンコーダＥＮとしてＲＮＮを採用する場合、ある単語を入力した際における属性抽出層Ｌ１２に含まれる各ノードの状態を列成分とし、単語群に含まれる各単語を順次入力した際における各ノードの状態の変化を行成分としたアテンション行列を生成し、生成したアテンション行列をエンコーダＥＮの出力に対して適用する適用器ＣＧを生成する。すなわち、学習装置１０は、各ノードの状態を列成分とした行列であって、単語を入力する度に変化する各ノードの状態を行方向に並べた行列をアテンション行列とする。
【００４７】
また、学習装置１０は、ＲＮＮであるデコーダＤＣであって、状態レイヤＬ２０、属性復元レイヤＬ２１、および単語復元レイヤＬ２２を有するデコーダＤＣを生成する。そして、学習装置１０は、文章に含まれる各単語を順次エンコーダＥＮに入力した際に、適用器ＣＧがエンコーダＥＮにアテンション行列ＡＭを適用した特徴行列Ｃｔを出力し、デコーダＤＣが、特徴行列Ｃｔから元の文章を属性系列と共に復元するように、モデルＬ１０の学習を行う。
【００４８】
例えば、学習装置１０は、正解データとして取得した文章Ｃ１０から、単語群Ｃ１１を抽出する。そして、学習装置１０は、単語群Ｃ１１に含まれる各単語と、各単語の属性と、各単語が出現する順序との特徴をモデルＬ１０に学習させる。より具体的には、学習装置１０は、単語群Ｃ１１をエンコーダＥＮに入力した際に、デコーダＤＣが出力する文章Ｃ２０が文章Ｃ１０と同じになるように、モデルＬ１０の学習を行う。
【００４９】
例えば、図１に示す例では、学習装置１０は、単語群の各単語ｘ１〜ｘ３を、各単語ｘ１〜ｘ３が文章Ｃ１０中に出現する順序で、エンコーダＥＮのノードに入力する。この結果、エンコーダＥＮは、各単語ｘ１〜ｘ３と各単語ｘ１〜ｘ３が文章Ｃ１０に出現する順序との特徴Ｃを出力する。
【００５０】
また、適用器ＣＧは、特徴Ｃに対し、属性抽出層Ｌ１２に含まれる各ノードの状態に基づくアテンション行列ＡＭを生成し、生成したアテンション行列ＡＭを特徴Ｃと積算することで、特徴行列Ｃｔを生成する。そして、適用器ＣＧは、生成した特徴行列ＣｔをデコーダＤＣに入力する。
【００５１】
このような場合、デコーダＤＣは、特徴行列Ｃｔから単語ｙ１〜ｙ３を復元する。例えば、デコーダＤＣの状態レイヤＬ２０に含まれるノードは、特徴行列Ｃｔに基づいて状態ｈ１へと遷移する。このような場合、属性復元レイヤＬ２１は、状態レイヤＬ２０の状態ｈ１から、単語群Ｃ１１のうち、文章Ｃ１０中に最初に出現する単語の属性ｚ１を復元する。そして、単語復元レイヤＬ２２は、状態レイヤＬ２０の状態ｈ１と属性復元レイヤＬ２１が復元した属性ｚ１とに基づいて、単語群Ｃ１１のうち文章Ｃ１０に最初に出現する単語ｙ１を復元する。
【００５２】
続いて、状態レイヤＬ２０は、前回の状態ｈ１と、復元された単語ｙ１と、属性復元レイヤＬ２１が前回復元した属性ｚ１とに基づいて、状態ｈ２へと遷移する。このような場合、属性復元レイヤＬ２１は、状態レイヤＬ２０の状態ｈ２と、属性復元レイヤＬ２１が前回復元した属性ｚ１と、単語復元レイヤＬ２２が前回復元した単語ｙ１とに基づいて、単語群Ｃ１１のうち、単語ｙ１の次に出現する単語の属性ｚ２を復元する。そして、単語復元レイヤＬ２２は、状態レイヤＬ２０の状態ｈ２と属性復元レイヤＬ２１が復元した属性ｚ２と前回復元した単語ｙ１とに基づいて、単語群Ｃ１１のうち単語ｙ１の次に出現する単語ｙ２を復元する。
【００５３】
続いて、状態レイヤＬ２０は、前回の状態ｈ２と、復元された単語ｙ２と、属性復元レイヤＬ２１が前回復元した属性ｚ２とに基づいて、状態ｈ３へと遷移する。このような場合、属性復元レイヤＬ２１は、状態レイヤＬ２０の状態ｈ３と、属性復元レイヤＬ２１が前回復元した属性ｚ２と、単語復元レイヤＬ２２が前回復元した単語ｙ２とに基づいて、単語群Ｃ１１のうち、単語ｙ２の次に出現する単語の属性ｚ３を復元する。そして、単語復元レイヤＬ２２は、状態レイヤＬ２０の状態ｈ３と属性復元レイヤＬ２１が復元した属性ｚ３と前回復元した単語ｙ２とに基づいて、単語群Ｃ１１のうち単語ｙ２の次に出現する単語ｙ３を復元する。
【００５４】
ここで、学習装置１０は、文章Ｃ１０と文章Ｃ２０とが同じになるように、モデルＬ１０の各種パラメータを調整する。例えば、学習装置１０は、文章Ｃ１０に含まれる各単語ｘ１〜ｘ３と、モデルが出力した各単語ｙ１〜ｙ３とが同一となるように、エンコーダＥＮやデコーダＤＣが有するノード間の接続係数を調整するとともに、適用器ＣＧがエンコーダＥＮの属性抽出層Ｌ１２からアテンション行列ＡＭを生成する際のパラメータを調整する。例えば、学習装置１０は、ノードの状態がどのような状態である際に、アテンション行列ＡＭの対応する要素の値をどのような値にするかを示すパラメータ（例えば、係数等）の修正を行う。
【００５５】
また、学習装置１０は、各単語ｘ１〜ｘ３の属性系列と、各単語ｙ１〜ｙ３の属性系列とが同一となるように、モデルＬ１０のパラメータを調整する。また、学習装置１０は、各単語ｘ１〜ｘ３の属性と、復元された属性ｚ１〜ｚ３とが同一となるように、モデルＬ１０のパラメータを調整する。この結果、学習装置１０は、単語ｘ１〜ｘ３が有する特徴、単語ｘ１〜ｘ３が出現する順序、および単語ｘ１〜ｘ３が有する属性の特徴をモデルＬ１０に学習させることができる。
【００５６】
ここで、モデルＬ１０は、属性を復元する際に、エンコーダＥＮが出力する単純な値ではなく、エンコーダＥＮが有する属性抽出層Ｌ１２のノードの状態に基づいたアテンション行列ＡＭに基づいて、元の文章を復元する。すなわち、モデルＬ１０は、文章Ｃ１０のうち、エンコーダＥＮに入力した単語までの範囲が有するトピックを示すアテンション行列ＡＭと、エンコーダＥＮに入力した単語群の特徴とに基づいて、文章Ｃ１０のうち、入力された単語までの文章を復元する。このため、学習装置１０は、モデルＬ１０に単語の属性と出現順序とに基づく重要性を学習させることができる。
【００５７】
続いて、学習装置１０は、情報処理装置１００から文章化する単語群Ｃ３１を取得する（ステップＳ３）。このような場合、学習装置１０は、学習したモデルＬ１０に単語群を入力することで、単語群に含まれる各単語を含む文章Ｃ３０を生成する測定処理を実行する（ステップＳ４）。そして、学習装置１０は、生成した文章Ｃ３０を情報処理装置１００へと出力する（ステップＳ５）。この結果、学習装置１０は、単語群Ｃ３１を含む自然な文章Ｃ３０を得ることができる。
【００５８】
〔１−７．アテンション行列の生成について〕
ここで、学習装置１０は、属性抽出層Ｌ１２に含まれるノードのうち、複数のノードの状態に基づいて、アテンション行列の列成分を設定するのであれば、任意の手法によりアテンション行列の列成分を設定して良い。例えば、学習装置１０は、ある単語を入力した際における属性抽出層Ｌ１２の各ノードの出力をそのままアテンション行列の列成分として採用してもよい。
【００５９】
また、学習装置１０は、属性抽出層Ｌ１２に対して所定の大きさの窓を設定し、属性抽出層Ｌ１２に含まれるノードのうち、窓に含まれるノードの出力に基づいてアテンション行列を構成する小行列を設定してもよい。また、学習装置１０は、このような窓を適宜移動させることで、複数の小行列を生成し、生成した複数の小行列からアテンション行列のを設定してもよい。すなわち、学習装置１０は、入力層に対して所定の単語を入力した際における複数の中間層に含まれる各ノードの状態を列方向に配置し、入力装置に対して複数の単語を順次入力した際における各ノードの状態の変化を行方向に配置した行列から生成される複数の小行列に基づいたアテンション行列を適用する適用器を学習してもよい。
【００６０】
また、学習装置１０は、任意の手法により、アテンション行列をエンコーダの出力に適用して良い。例えば、学習装置１０は、単純にエンコーダの出力にアテンション行列を積算した行列を特徴行列として採用してもよい。また、学習装置１０は、アテンション行列に基づいた行列をエンコーダの出力に適用してもよい。
【００６１】
例えば、アテンション行列の固有値や固有ベクトルは、アテンション行列が有する特徴、すなわち、単語群が有する特徴を示すとも考えられる。そこで、学習装置１０は、エンコーダの出力に対して、アテンション行列の固有値や固有ベクトルを適用してもよい。例えば、学習装置１０は、アテンション行列の固有値とエンコーダの出力との積をデコーダに入力してもよく、アテンション行列の固有ベクトルとエンコーダの出力との積をデコーダに入力してもよい。また、学習装置１０は、アテンション行列の特異値をエンコーダの出力に適用し、デコーダに入力してもよい。
【００６２】
〔２．学習装置の構成〕
以下、上記した学習処理を実現する学習装置１０が有する機能構成の一例について説明する。図２は、実施形態に係る学習装置の構成例を示す図である。図２に示すように、学習装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００６３】
通信部２０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部２０は、ネットワークＮと有線または無線で接続され、情報処理装置１００、２００との間で情報の送受信を行う。
【００６４】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部３０は、正解データデータベース３１およびモデルデータベース３２を記憶する。
【００６５】
正解データデータベース３１には、正解データとなる文章が登録されている。例えば、図３は、実施形態に係る正解データデータベースに登録される情報の一例を示す図である。図３に示す例では、正解データデータベース３１には、「文章ＩＤ（Identifier）」、「文章データ」、「第１単語」、「第２単語」等といった項目を有する情報が登録される。
【００６６】
ここで、「文章ＩＤ（Identifier）」は、正解データとなる文章を識別するための情報である。また、「文章データ」とは、文章のテキストデータである。また、「第１単語」とは、対応付けられた「文章データ」に含まれる単語群のうち、文章内に最初に出現する単語であり、「第２単語」とは、対応付けられた「文章データ」に含まれる単語群のうち、文章内に２番目に出現する単語である。なお、正解データデータベース３１には、「第１単語」や「第２単語」以外にも、文章に含まれる単語が順に登録されているものとする。
【００６７】
例えば、図３に示す例では、文章ＩＤ「ＩＤ＃１」、文章データ「文章データ＃１」、第１単語「単語＃１−１」、および第２単語「単語＃１−２」が対応付けて登録されている。このような情報は、文章ＩＤ「ＩＤ＃１」が示す文章が文章データ「文章データ＃１」であり、かかる文章中に第１単語「単語＃１−１」および第２単語「単語＃１−２」が順に含まれている旨を示す。
【００６８】
なお、図３に示す例では、「文章データ＃１」、「単語＃１−１」、「単語＃１−２」等といった概念的な値について記載したが、実際には文章のテキストデータや単語のテキストデータが登録されることとなる。
【００６９】
図２に戻り、説明を続ける。モデルデータベース３２には、学習対象となるエンコーダＥＮおよびデコーダＤＣを含むモデルＬ１０のデータが登録される。例えば、モデルデータベース３２には、モデルＬ１０として用いられるニューラルネットワークにおけるノード同士の接続関係、各ノードに用いられる関数、各ノード間で値を伝達する際の重みである接続係数等が登録される。
【００７０】
なお、モデルＬ１０は、単語群に関する情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、各単語の属性と出現順序とに応じた重要度に基づいて、属性系列と単語群とを復元し、復元した属性系列と単語群とを出力層から出力するよう、コンピュータを機能させるためのモデルである。
【００７１】
制御部４０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、学習装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部４０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００７２】
また、制御部４０は、記憶部３０に記憶されるモデルＬ１０に従った情報処理により、モデルＬ１０の入力層に入力された単語群に関する情報に対し、モデルＬ１０が有する係数（すなわち、モデルＬ１０が学習した特徴に対応する係数）に基づく演算を行い、モデルＬ１０の出力層から、各単語の属性と出現順序とに応じた重要度に基づいて、属性系列と単語群とを順に復元し、復元した属性系列と単語群とを出力層から出力する。
【００７３】
図２に示すように、制御部４０は、抽出部４１、学習部４２、受付部４３、生成部４４、および出力部４５を有する。なお、抽出部４１および学習部４２は、上述した学習処理を実行し、受付部４３〜出力部４５は、上述した測定処理を実行する。
【００７４】
抽出部４１は、所定の文章に含まれる単語群を抽出する。例えば、抽出部４１は、情報処理装置２００から正解データとして文章を受信すると、形態素解析等により、文章に含まれる単語群を抽出する。そして、抽出部４１は、受信した文章と、文章に含まれる単語群とを正解データデータベース３１に登録する。より具体的には、抽出部４１は、単語群に含まれる各単語を、文章中に出現する順に、正解データデータベース３１に登録する。
【００７５】
学習部４２は、単語群に含まれる各単語の属性であって、それぞれ異なる複数の属性に基づいて、所定の文章を符号化するエンコーダと、エンコーダの出力に対して、複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、適用器によってアテンション行列が適用されたエンコーダの出力から、単語群に含まれる各単語と、各単語が文章中に出現する順序とを文章中における各単語の属性系列とともに復元するデコーダとを学習する。
【００７６】
例えば、学習部４２は、単語群に含まれる各単語が入力される入力層と、入力層の出力に基づいて各単語が有する属性を示す情報を出力する複数の中間層、すなわち、属性抽出層とを有するエンコーダの学習を行う。また、学習部４２は、適用器によってアテンション行列が適用されたエンコーダの出力から、単語群に含まれる各単語と、各単語の属性と、各単語が文章中に出現する順序とを文章中における各単語の属性系列とともに復元するデコーダを学習する。また、学習部４２は、入力層に対して複数の単語を順次入力した際における中間層に含まれるノードの状態の変化に基づいた複数の列成分を有するアテンション行列を適用する適用器の学習を行う。
【００７７】
例えば、学習部４２は、ＲＮＮにより構成されるエンコーダとデコーダとを生成する。この際、学習部４２は、単語から属性を抽出する複数の属性抽出層を有するエンコーダを生成する。また、学習部４２は、エンコーダが有する属性抽出装置の各ノードの状態に基づいて、アテンション行列を生成し、生成したアテンション行列をエンコーダの出力に適用する適用器を生成する。そして、学習部４２は、エンコーダにある文章の単語群を順に入力した際に、適用器によりアテンション行列が適用されたエンコーダの出力から、元の文章を属性系列とともにデコーダが復元するように、エンコーダ、デコーダ、および適用器の学習を行う。
【００７８】
ここで、学習部４２は、属性抽出層に含まれるノードのうち一部のノードを用いてアテンション行列の小行列を生成し、生成した小行列からアテンション行列を生成するように適用器の学習を行ってもよい。すなわち、学習部４２は、入力層に対して所定の単語を入力した際における複数の中間層に含まれる各ノードの状態を列方向に配置し、入力装置に対して複数の単語を順次入力した際における各ノードの状態の変化を行方向に配置した行列から生成される複数の小行列に基づいたアテンション行列を適用する適用器を学習してもよい。また、学習部４２は、エンコーダの出力に対して、アテンション行列の固有値、固有ベクトル、若しくは特異値を適用する適用器を学習してもよい。
【００７９】
また、学習部４２は、新たに入力された情報と、前回出力した情報とに基づいて新たに出力する情報を生成するノードを含む属性抽出層を有するエンコーダを学習してもよい。例えば、学習部４２は、属性抽出層として、ＤＰＣＮの構造を有するレイヤを含むエンコーダの学習を行う。
【００８０】
例えば、図４は、実施形態に係る属性抽出層の模式的な構造の一例を示す図である。図４に示すように、ＤＰＣＮにおいては、新たな入力値と前回の出力値との畳み込みにより新たな値を出力する畳み込みＬＳＴＭの機能を有する部分モデルＥ１、畳み込みニューラルネットワークの機能を有する部分モデルＡ１、畳み込みニューラルネットワークの機能と値の保持機能とを有する部分モデルＡ２、および、所定の活性化関数に基づいて部分モデルＡ１の出力と部分モデルＡ２の出力との差に応じた値を出力する部分モデルＥ２とにより構成される。
【００８１】
例えば、時刻ｔにおいて、部分モデルＥ１は、時刻ｔ−１において部分モデルＥ２が出力した値Ｅｔ-1ｌと、時刻ｔ−１において部分モデルＥ１が出力した値Ｒｔ-1ｌとに基づいて、新たな値Ｒｔｌを出力する。また、部分モデルＡ１は、時刻ｔにおいて部分モデルＥ１が出力した値Ｒｔｌに基づいて、新たな値Ａ’ｔｌを出力する。部分モデルＡ２は、状態レイヤＬ２０から出力された値ｘｔを入力として受付けると、受付けた値ｘｔに基づく値Ａｔｌを出力する。部分モデルＥ２は、部分モデルＡ１が出力した値Ａ’ｔｌと部分モデルＡ２が出力した値Ａｔｌとに基づいて、新たな値Ｅｔｌを出力する。このような処理を繰り返すことで、属性復元レイヤＬ２１は、状態レイヤＬ２０が出力する値から単語群の属性を示す値を順次出力することとなる。
【００８２】
なお、時刻ｔにおいて部分モデルＡ２が出力する値値Ａｔｌは、以下の式（２）で表すことができる。また、時刻ｔにおいて部分モデルＡ１が出力する値Ａ’ｔｌは、以下の式（３）で表すことができる。また、時刻ｔにおいて部分モデルＥ２が出力する値Ｅｔｌは、以下の式（４）で表すことができる。また、時刻ｔにおいて部分モデルＥ１が出力する値Ｒｔｌは、以下の式（５）で表すことができる。ここで、式（２）、式（３）中におけるＣＯＮＶとは、所定の畳み込み処理を示し、式（２）、式（３）、式（４）に示すＲＥＬＵは、所定の活性化関数を示す。また、式（５）におけるＣＯＮＶＬＳＴＭは、所定の畳み込みＬＳＴＭの処理を示す。なお、式（３）においては、カンマをハットで示した。
【００８３】
【数２】
2019079087.tif 000004
【００８４】
【数３】
2019079087.tif 000005
【００８５】
【数４】
2019079087.tif 000006
【００８６】
【数５】
2019079087.tif 000007
【００８７】
なお、図４に示すＤＰＣＮの構造はあくまで一例であり、これに限定されるものではない。例えば、非特許文献３に開示される構造を有するＤＰＣＮは、図４に示すＤＰＣＮと同様の機能を発揮することができ、学習装置１０は、非特許文献３に開示される構造のＤＰＣＮを属性抽出層の各ノードとして採用してもよい。
【００８８】
ここで、エンコーダの属性抽出層が有するノードの時刻ｔにおける出力は、例えば、式（６）中の関数ｆとして示されるロジスティック関数により表すことができる。ここで、式（６）における添え字のｔは、単語群のうちどの単語までが入力されたかという時系列を示す。また、式（６）中のｙｔ−１は、エンコーダの出力層のノードの前回の出力を示し、ｓｔ−１は、属性抽出層のノードの前回の出力を示し、ｃｔは、新たな入力層の出力を示す。
【００８９】
【数６】
2019079087.tif 000008
【００９０】
ここで、以下の式（７）のαｔｊで示される重みパラメータを導入する。ここで、式（７）中のｈは、エンコーダの出力を示す。
【００９１】
【数７】
2019079087.tif 000009
【００９２】
このような重みパラメータによる行列をアテンション行列とした場合、適用器が出力する特徴行列は、以下の式（８）で示される行列により表すことができる。
【００９３】
【数８】
2019079087.tif 000010
【００９４】
図２に戻り、説明を続ける。受付部４３は、情報処理装置１００から文章化する単語群を受付ける。このような場合、受付部４３は、受付けた単語群を生成部４４に出力する。
【００９５】
生成部４４は、上述した学習処理により学習が行われたモデルＬ１０を用いて、受付部４３が受け付けた単語群から文章を生成する。例えば、生成部４４は、モデルＬ１０に受付部４３が受け付けた単語群を順に入力する。そして、生成部４４は、モデルＬ１０が属性系列とともに復元した単語群から文章を生成する。
【００９６】
出力部４５は、情報処理装置１００から受信した単語群を用いた文章を出力する。例えば、出力部４５は、生成部４４が生成した文章を情報処理装置１００へと送信する。
【００９７】
〔３．学習装置が実行する処理の流れの一例〕
次に、図５を用いて、学習装置１０が実行する処理の流れの一例について説明する。図５は、実施形態に係る処理の流れの一例を説明するフローチャートである。まず、学習装置１０は、正解データとなる文章を取得すると（ステップＳ１０１）、取得した文章から単語群を抽出する（ステップＳ１０２）。そして、学習装置１０は、単語から複数の属性を抽出するエンコーダと、単語を順に入力した際の属性に基づいた複数の列を有するアテンション行列をエンコーダの出力に適用する適用器と、適用器の出力から元の文章を復元するデコーダとを学習する（ステップＳ１０３）。
【００９８】
また、学習装置１０は、文章化する単語群を受けつけると、単語群を学習済みのモデルに入力する（ステップＳ１０４）。このような場合、学習装置１０は、モデルが属性系列とともに出力した単語、すなわち、文章を出力し（ステップＳ１０５）、処理を終了する。
【００９９】
〔４．変形例〕
上記では、学習装置１０による学習処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、学習装置１０が実行する学習処理のバリエーションについて説明する。
【０１００】
〔４−１．ＤＰＣＮについて〕
また、学習装置１０は、全体で一つのＤＰＣＮにより構成されるエンコーダＥＮやデコーダＤＣを有するモデルＬ１０の学習を行ってもよい。また、学習装置１０は、状態レイヤＬ２０、属性復元レイヤＬ２１、単語復元レイヤＬ２２がそれぞれＤＰＣＮにより構成されるデコーダＤＣを有するモデルＬ１０の学習を行ってもよい。
【０１０１】
〔４−２．装置構成〕
上述した例では、学習装置１０は、学習装置１０内で学習処理および測定処理を実行した。しかしながら、実施形態は、これに限定されるものではない。例えば、学習装置１０は、学習処理のみを実行し、測定処理については、他の装置が実行してもよい。例えば、学習装置１０が上述した学習処理によって生成したエンコーダおよびデコーダを有するモデルＬ１０を含むプログラムパラメータを用いることで、学習装置１０以外の情報処理装置が、上述した測定処理を実現してもよい。また、学習装置１０は、正解データデータベース３１を外部のストレージサーバに記憶させてもよい。
【０１０２】
〔４−３．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１０３】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１０４】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１０５】
〔５．プログラム〕
また、上述してきた実施形態に係る学習装置１０は、例えば図６に示すような構成のコンピュータ１０００によって実現される。図６は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【０１０６】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ(Read  Only  Memory)、ＨＤＤ（Hard  Disk  Drive）、フラッシュメモリ等により実現される。
【０１０７】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（Universal  Serial  Bus）やＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）といった規格のコネクタにより実現される。また、入力ＩＦ１０７０は、マウス、キーボード、およびスキャナ等といった各種の入力装置１０２０から情報を受信するためのインタフェースであり、例えば、ＵＳＢ等により実現される。
【０１０８】
なお、入力装置１０２０は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置１０２０は、ＵＳＢメモリ等の外付け記憶媒体であってもよい。
【０１０９】
ネットワークＩＦ１０８０は、ネットワークＮを介して他の機器からデータを受信して演算装置１０３０へ送り、また、ネットワークＮを介して演算装置１０３０が生成したデータを他の機器へ送信する。
【０１１０】
演算装置１０３０は、出力ＩＦ１０６０や入力ＩＦ１０７０を介して、出力装置１０１０や入力装置１０２０の制御を行う。例えば、演算装置１０３０は、入力装置１０２０や二次記憶装置１０５０からプログラムを一次記憶装置１０４０上にロードし、ロードしたプログラムを実行する。
【０１１１】
例えば、コンピュータ１０００が学習装置１０として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムまたはデータ（例えば、モデル）を実行することにより、制御部４０の機能を実現する。コンピュータ１０００の演算装置１０３０は、これらのプログラムまたはデータ（例えば、モデル）を一次記憶装置１０４０から読み取って実行するが、他の例として、他の装置からネットワークＮを介してこれらのプログラムを取得してもよい。
【０１１２】
〔６．効果〕
上述したように、学習装置１０は、所定の文章に含まれる単語群を抽出する。そして、学習装置１０は、単語群に含まれる各単語の属性であって、それぞれ異なる複数の属性に基づいて、所定の文章を符号化する符号化器と、符号化器の出力に対して、複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、適用器によってアテンション行列が適用された符号化器の出力から、単語群に含まれる各単語と、各単語が文章中に出現する順序とを文章中における各単語の属性系列とともに復元する復元器とを学習する。
【０１１３】
また、学習装置１０は、単語群に含まれる各単語が入力される入力層と、入力層の出力に基づいて各単語が有する属性を示す情報を出力する複数の中間層とを有する符号化器を学習する。また、学習装置１０は、適用器によってアテンション行列が適用された符号化器の出力から、単語群に含まれる各単語と、各単語の属性と、各単語が前記文章中に出現する順序とを文章中における各単語の属性系列とともに復元する復元器を学習する。また、学習装置１０は、入力層に対して複数の単語を順次入力した際における中間層に含まれるノードの状態の変化に基づいた複数の列成分を有するアテンション行列を適用する適用器を学習する。
【０１１４】
また、学習装置１０は、入力層に対して所定の単語を入力した際における複数の中間層に含まれる各ノードの状態を列方向に配置し、入力装置に対して複数の単語を順次入力した際における各ノードの状態の変化を行方向に配置した行列から生成される複数の小行列に基づいたアテンション行列を適用する適用器を学習する。また、学習装置１０は、新たに入力された情報と、前回出力した情報とに基づいて新たに出力する情報を生成するノードを含む複数の中間層を有する符号化器を学習する。例えば、学習装置１０は、ＤＰＣＮの構造を有する複数の中間層を有する符号化器を学習する。また、学習装置１０は、符号化器の出力に対して、アテンション行列の固有値、固有ベクトル、若しくは特異値を適用する適用器を学習する。
【０１１５】
このような処理の結果、学習装置１０は、符号化の際に損失する属性の特徴を考慮して、単語群から属性系列を含む文章を生成するモデルＬ１０を学習することができるので、適切なテキストを類推し、適切な構造を有する自然な文章を作成することができる。
【０１１６】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１１７】
また、上記してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。
【符号の説明】
【０１１８】
２０  通信部
３０  記憶部
３１  正解データデータベース
３２  モデルデータベース
４０  制御部
４１  抽出部
４２  学習部
４３  受付部
４４  生成部
４５  出力部
１００、２００  情報処理装置
【図１】
2019079087.tif 000011
【図２】
2019079087.tif 000012
【図３】
2019079087.tif 000013
【図４】
2019079087.tif 000014
【図５】
2019079087.tif 000015
【図６】
2019079087.tif 000016