(57)【要約】【課題】複数のモデルを個別に学習する場合と比較して、複数のモデルがそれぞれ出力する出力情報同士の内容の一貫性を向上させることができる学習装置、情報出力装置、及びプログラムを提供する。【解決手段】学習装置１０は、入力情報から得られ、かつ、入力情報と共通の意味を表す特徴情報を入力として、特徴情報の意味に対応する文字列の分類を分類結果として出力する分類モデル４０、及び、特徴情報を入力として、特徴情報の意味に対応する文字列を生成結果として出力する生成モデル４２を機械学習する学習部３２を備える。【選択図】図３
2020140673.tif 000002
【特許請求の範囲】
【請求項１】
入力情報から得られ、かつ、前記入力情報と共通の意味を表す特徴情報を入力として、前記特徴情報の意味に対応する文字列の分類を分類結果として出力する分類モデル、及び、前記特徴情報を入力として、前記特徴情報の意味に対応する文字列を生成結果として出力する生成モデルを機械学習する学習部
を備えた学習装置。
【請求項２】
前記入力情報から前記特徴情報を抽出する抽出部を更に備え、
前記抽出部は、前記入力情報を単語毎に入力し、前記入力した単語と共通の意味を表す特徴情報が出力されるように学習されるニューラルネットワークである請求項１に記載の学習装置。
【請求項３】
前記分類モデルは、前記特徴情報を入力として、前記特徴情報の意味に対応する文字列の分類毎に固有の分類ＩＤが出力されるように学習されるニューラルネットワークである請求項１又は２に記載の学習装置。
【請求項４】
前記生成モデルは、前記特徴情報を入力として、前記特徴情報の意味に対応する文字列が出力されるように学習されるニューラルネットワークである請求項１〜３のいずれか１項に記載の学習装置。
【請求項５】
前記学習部は、前記特徴情報を入力として、前記特徴情報の意味に対応する数値を回帰分析結果として出力する回帰モデルを更に機械学習する請求項１〜４のいずれか１項に記載の学習装置。
【請求項６】
前記回帰モデルは、前記特徴情報を入力として、前記特徴情報の意味に対応する数値が出力されるように学習されるニューラルネットワークである請求項５に記載の学習装置。
【請求項７】
前記学習部は、前記分類モデル及び前記生成モデルの各々の学習の度合いに応じて決定される、前記分類モデル及び前記生成モデルの各々に対する学習の割合に基づいて、前記分類モデル及び前記生成モデルの各々の学習を行う請求項１〜４のいずれか１項に記載の学習装置。
【請求項８】
前記学習部は、前記分類モデル及び前記生成モデルのうち、前記学習の度合いが低い一方のモデルの前記学習の割合を、前記学習の度合いが高い他方のモデルの前記学習の割合よりも大きく決定する請求項７に記載の学習装置。
【請求項９】
前記学習部は、
前記分類モデルから出力された分類結果と、前記分類結果に対応する正解データとの第１誤差を算出する第１算出部と、
前記生成モデルから出力された生成結果と、前記生成結果に対応する正解データとの第２誤差を算出する第２算出部と、
前記第１誤差に付与する第１重み値、及び、前記第２誤差に付与する第２重み値の各々を、前記分類モデル及び前記生成モデルの各々の学習の度合いに応じて決定する決定部と、
前記第１重み値が付与された前記第１誤差と、前記第２重み値が付与された前記第２誤差との和である重み付き和を用いた誤差逆伝播法により、前記分類モデル及び前記生成モデルの各々を更新する更新部と、
を含む請求項７又は８に記載の学習装置。
【請求項１０】
前記更新部は、
前記第１重み値が付与された前記第１誤差が、前記第２重み値が付与された前記第２誤差よりも大きい場合、前記分類モデルの前記学習の度合いを制御するフィードバック量を、前記生成モデルの前記学習の度合いを制御するフィードバック量よりも大きくし、
前記第２重み値が付与された前記第２誤差が、前記第１重み値が付与された前記第１誤差よりも大きい場合、前記生成モデルの前記学習の度合いを制御するフィードバック量を、前記分類モデルの前記学習の度合いを制御するフィードバック量よりも大きくする請求項９に記載の学習装置。
【請求項１１】
前記学習の度合いは、学習を行った回数を示す学習回数及び予め定められた関数の少なくとも一方を用いて制御される請求項９又は１０に記載の学習装置。
【請求項１２】
請求項１〜１１のいずれか１項に記載の学習装置を用いて機械学習された学習済み分類モデルと、
前記学習装置を用いて機械学習された学習済み生成モデルと、
を備え、
前記学習済み分類モデルは、入力情報から得られ、かつ、前記入力情報と共通の意味を表す特徴情報を入力とし、前記特徴情報の意味に対応する文字列の分類を分類結果として出力し、
前記学習済み生成モデルは、前記特徴情報を入力とし、前記特徴情報の意味に対応する文字列を生成結果として出力する情報出力装置。
【請求項１３】
コンピュータを、請求項１〜１１のいずれか１項に記載の学習装置が備える各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、情報出力装置、及びプログラムに関する。
【背景技術】
【０００２】
例えば、特許文献１には、文により構成されるテキストデータから言語モデルを学習する言語モデル学習装置が記載されている。この言語モデル学習装置は、テキストデータを構成する文に含まれる単語をクラスタリングしてジャンル分けし、ジャンル分けされた各単語に、ジャンルごとに固有のジャンルＩＤを付与する分類手段を備える。また、この言語モデル学習装置は、テキストデータとして、単語と当該単語に付与されているジャンルＩＤとを再帰型ニューラルネットワークに順次入力し、当該再帰型ニューラルネットワークにより、単語から当該単語の次単語および当該次単語に付与されているジャンルＩＤを推定し、再帰型ニューラルネットワークに順次入力される正解データである次単語およびジャンルＩＤとの誤差を用いた誤差逆伝播法により、再帰型ニューラルネットワークを言語モデルとして更新する学習手段を備える。
【０００３】
また、特許文献２には、つづり−発音記号変換装置が記載されている。このつづり−発音記号変換装置は、単語のつづり文字と、そのつづり文字の発音記号を入力し、Ｎ個の部分文字列を切り出して出力する入力文字窓と、入力文字窓からのつづり文字を受けて１文字ずつディレイをかけたつづりを出力するＮ個の文字ディレイと、を備える。また、このつづり−発音記号変換装置は、これらＮ個の文字ディレイに対応して設けられた、これら文字ディレイの対応する出力を入力とする要素ニューラルネットワークと、当該要素ニューラルネットワークに学習操作を行う学習部とにより構成されるＮ個のニューラルネットワーク部と、を備える。また、このつづり−発音記号変換装置は、入力文字窓からの発音記号を受けて、教師信号を生成し、要素ニューラルネットワークの学習部に与える教師信号生成部と、各要素ニューラルネットワークの出力を受けてそれぞれの出力に所定の重みづけを行う重み係数部と、重み係数部の出力を受けて最終的な発音記号列を出力する最終出力部と、を備える。
【０００４】
また、特許文献３には、コンピュータシステムにおけるウェブページを分類する方法が記載されている。この方法は、ウェブページを取り出すステップと、取り出されたウェブページの要約を自動的に生成するステップと、自動的に生成された要約に基づいて取り出されたウェブページの分類を決定するステップと、を備える。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−８４６２７号公報
【特許文献２】特許第３００４７５３号公報
【特許文献３】特開２００５−３２２２４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、複数のモデルを個別に学習する場合、複数のモデルの出力間で内容が矛盾し、内容の一貫性を保てない場合がある。
【０００７】
本発明は、複数のモデルを個別に学習する場合と比較して、複数のモデルがそれぞれ出力する出力情報同士の内容の一貫性を向上させることができる学習装置、情報出力装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、第１態様に係る学習装置は、入力情報から得られ、かつ、前記入力情報と共通の意味を表す特徴情報を入力として、前記特徴情報の意味に対応する文字列の分類を分類結果として出力する分類モデル、及び、前記特徴情報を入力として、前記特徴情報の意味に対応する文字列を生成結果として出力する生成モデルを機械学習する学習部を備えている。
【０００９】
また、第２態様に係る学習装置は、第１態様に係る学習装置において、前記入力情報から前記特徴情報を抽出する抽出部を更に備え、前記抽出部が、前記入力情報を単語毎に入力し、前記入力した単語と共通の意味を表す特徴情報が出力されるように学習されるニューラルネットワークとされている。
【００１０】
また、第３態様に係る学習装置は、第１態様又は第２態様に係る学習装置において、前記分類モデルが、前記特徴情報を入力として、前記特徴情報の意味に対応する文字列の分類毎に固有の分類ＩＤが出力されるように学習されるニューラルネットワークとされている。
【００１１】
また、第４態様に係る学習装置は、第１態様〜第３態様のいずれか１の態様に係る学習装置において、前記生成モデルが、前記特徴情報を入力として、前記特徴情報の意味に対応する文字列が出力されるように学習されるニューラルネットワークとされている。
【００１２】
また、第５態様に係る学習装置は、第１態様〜第４態様のいずれか１の態様に係る学習装置において、前記学習部が、前記特徴情報を入力として、前記特徴情報の意味に対応する数値を回帰分析結果として出力する回帰モデルを更に機械学習する。
【００１３】
また、第６態様に係る学習装置は、第５態様に係る学習装置において、前記回帰モデルが、前記特徴情報を入力として、前記特徴情報の意味に対応する数値が出力されるように学習されるニューラルネットワークとされている。
【００１４】
また、第７態様に係る学習装置は、第１態様〜第４態様のいずれか１の態様に係る学習装置において、前記学習部が、前記分類モデル及び前記生成モデルの各々の学習の度合いに応じて決定される、前記分類モデル及び前記生成モデルの各々に対する学習の割合に基づいて、前記分類モデル及び前記生成モデルの各々の学習を行う。
【００１５】
また、第８態様に係る学習装置は、第７態様に係る学習装置において、前記学習部が、前記分類モデル及び前記生成モデルのうち、前記学習の度合いが低い一方のモデルの前記学習の割合を、前記学習の度合いが高い他方のモデルの前記学習の割合よりも大きく決定する。
【００１６】
また、第９態様に係る学習装置は、第７態様又は第８態様に係る学習装置において、前記学習部が、前記分類モデルから出力された分類結果と、前記分類結果に対応する正解データとの第１誤差を算出する第１算出部と、前記生成モデルから出力された生成結果と、前記生成結果に対応する正解データとの第２誤差を算出する第２算出部と、前記第１誤差に付与する第１重み値、及び、前記第２誤差に付与する第２重み値の各々を、前記分類モデル及び前記生成モデルの各々の学習の度合いに応じて決定する決定部と、前記第１重み値が付与された前記第１誤差と、前記第２重み値が付与された前記第２誤差との和である重み付き和を用いた誤差逆伝播法により、前記分類モデル及び前記生成モデルの各々を更新する更新部と、を含んでいる。
【００１７】
また、第１０態様に係る学習装置は、第９態様に係る学習装置において、前記更新部が、前記第１重み値が付与された前記第１誤差が、前記第２重み値が付与された前記第２誤差よりも大きい場合、前記分類モデルの前記学習の度合いを制御するフィードバック量を、前記生成モデルの前記学習の度合いを制御するフィードバック量よりも大きくし、前記第２重み値が付与された前記第２誤差が、前記第１重み値が付与された前記第１誤差よりも大きい場合、前記生成モデルの前記学習の度合いを制御するフィードバック量を、前記分類モデルの前記学習の度合いを制御するフィードバック量よりも大きくする。
【００１８】
また、第１１態様に係る学習装置は、第９態様又は第１０態様に係る学習装置において、前記学習の度合いが、学習を行った回数を示す学習回数及び予め定められた関数の少なくとも一方を用いて制御される。
【００１９】
一方、上記目的を達成するために、第１２態様に係る情報出力装置は、第１態様〜第１１態様のいずれか１の態様に係る学習装置を用いて機械学習された学習済み分類モデルと、前記学習装置を用いて機械学習された学習済み生成モデルと、を備え、前記学習済み分類モデルが、入力情報から得られ、かつ、前記入力情報と共通の意味を表す特徴情報を入力とし、前記特徴情報の意味に対応する文字列の分類を分類結果として出力し、前記学習済み生成モデルが、前記特徴情報を入力とし、前記特徴情報の意味に対応する文字列を生成結果として出力する。
【００２０】
更に、上記目的を達成するために、第１３態様に係るプログラムは、コンピュータを、第１態様〜第１１態様のいずれか１の態様に係る学習装置が備える各部として機能させる。
【発明の効果】
【００２１】
第１態様、第１２態様、及び第１３態様によれば、複数のモデルを個別に学習する場合と比較して、複数のモデルがそれぞれ出力する出力情報同士の内容の一貫性を向上させることができる、という効果を有する。
【００２２】
第２態様によれば、特徴情報を得るためにニューラルネットワークを用いない場合と比較して、適切な特徴情報を得ることができる、という効果を有する。
【００２３】
第３態様によれば、分類ＩＤを得るためにニューラルネットワークを用いない場合と比較して、適切な分類結果を得ることができる、という効果を有する。
【００２４】
第４態様によれば、文字列を得るためにニューラルネットワークを用いない場合と比較して、適切な文字列を得ることができる、という効果を有する。
【００２５】
第５態様によれば、回帰モデルを用いて特徴情報の意味に対応する数値を得ることができる、という効果を有する。
【００２６】
第６態様によれば、数値を得るためにニューラルネットワークを用いない場合と比較して、適切な数値を得ることができる、という効果を有する。
【００２７】
第７態様によれば、学習の割合を考慮せずに学習を行う場合と比較して、複数のモデル間での学習の進捗を適切に合わせることができる、という効果を有する。
【００２８】
第８態様によれば、学習の度合いに係わらず学習の割合を決定する場合と比較して、複数のモデル間での学習の進捗を適切に合わせることができる、という効果を有する。
【００２９】
第９態様によれば、学習の度合いに係わらず重み値を決定する場合と比較して、複数のモデル間での学習の進捗を適切に合わせることができる、という効果を有する。
【００３０】
第１０態様によれば、重み付き誤差の大小に係わらずフィードバック量を決定する場合と比較して、複数のモデル間での学習の進捗を適切に合わせることができる、という効果を有する。
【００３１】
第１１態様によれば、学習の度合いを学習回数及び関数の少なくとも一方を用いて制御しない場合と比較して、複数のモデル間での学習の進捗を適切に合わせることができる、という効果を有する。
【図面の簡単な説明】
【００３２】
【図１】実施形態に係る学習装置の電気的な構成の一例を示すブロック図である。
【図２】Ｗｅｂサイトに掲載される記事の一例を示す図である。
【図３】実施形態に係る学習装置の機能的な構成の一例を示すブロック図である。
【図４】実施形態に係るニューラルネットワークの一例を示す概念図である。
【図５】実施形態に係る学習処理プログラムの処理の流れの一例を示すフローチャートである。
【図６】実施形態に係る学習装置の具体的な構成を示すブロック図である。
【図７】実施形態に係る誤差逆伝播部及び学習スケジューリング設定部の具体的な構成を示すブロック図である。
【図８】実施形態に係る学習支援を目的とした学習モデルの説明に供する図である。
【図９】（Ａ）は、記事見出し文生成の評価結果の一例を示す図である。（Ｂ）は、職種フレーズ生成の評価結果の一例を示す図である。
【図１０】実施形態に係る情報出力装置の機能的な構成の一例を示すブロック図である。
【図１１】実施形態に係る情報出力処理プログラムの処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００３３】
以下、図面を参照して、本発明を実施するための形態の一例について詳細に説明する。
【００３４】
図１は、本実施形態に係る学習装置１０の電気的な構成の一例を示すブロック図である。
図１に示すように、本実施形態に係る学習装置１０は、制御部１２と、記憶部１４と、表示部１６と、操作部１８と、通信部２０と、を備えている。
【００３５】
本実施形態に係る学習装置１０には、例えば、パーソナルコンピュータ（ＰＣ：Personal Computer）やサーバコンピュータ等の汎用的なコンピュータ装置が適用される。
【００３６】
制御部１２は、ＣＰＵ（Central Processing Unit）１２Ａ、ＲＯＭ（Read Only Memory）１２Ｂ、ＲＡＭ（Random Access Memory）１２Ｃ、及び入出力インターフェース（Ｉ／Ｏ）１２Ｄを備えており、これら各部がバスを介して各々接続されている。
【００３７】
Ｉ／Ｏ１２Ｄには、記憶部１４と、表示部１６と、操作部１８と、通信部２０と、を含む各機能部が接続されている。これらの各機能部は、Ｉ／Ｏ１２Ｄを介して、ＣＰＵ１２Ａと相互に通信可能とされる。
【００３８】
制御部１２は、学習装置１０の一部の動作を制御するサブ制御部として構成されてもよいし、学習装置１０の全体の動作を制御するメイン制御部の一部として構成されてもよい。制御部１２の各ブロックの一部又は全部には、例えば、ＬＳＩ（Large Scale Integration）等の集積回路又はＩＣ（Integrated Circuit）チップセットが用いられる。上記各ブロックに個別の回路を用いてもよいし、一部又は全部を集積した回路を用いてもよい。上記各ブロック同士が一体として設けられてもよいし、一部のブロックが別に設けられてもよい。また、上記各ブロックのそれぞれにおいて、その一部が別に設けられてもよい。制御部１２の集積化には、ＬＳＩに限らず、専用回路又は汎用プロセッサを用いてもよい。
【００３９】
記憶部１４としては、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、フラッシュメモリ等が用いられる。記憶部１４には、本実施形態に係るモデル学習処理を行うための学習処理プログラム１４Ａが記憶される。なお、この学習処理プログラム１４Ａは、ＲＯＭ１２Ｂに記憶されていてもよい。また、記憶部１４には、学習処理の対象とされる学習モデル群１４Ｂが記憶されている。
【００４０】
学習処理プログラム１４Ａは、例えば、学習装置１０に予めインストールされていてもよい。学習処理プログラム１４Ａは、不揮発性の記憶媒体に記憶して、又はネットワークを介して配布して、学習装置１０に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、ＣＤ-ＲＯＭ（Compact Disc Read Only Memory）、光磁気ディスク、ＨＤＤ、ＤＶＤ-ＲＯＭ（Digital Versatile Disc Read Only Memory）、フラッシュメモリ、メモリカード等が想定される。
【００４１】
表示部１６には、例えば、液晶ディスプレイ（ＬＣＤ:Liquid Crystal Display）や有機ＥＬ（Electro Luminescence）ディスプレイ等が用いられる。表示部１６は、タッチパネルを一体的に有していてもよい。操作部１８には、例えば、キーボードやマウス等の操作入力用のデバイスが設けられている。表示部１６及び操作部１８は、学習装置１０のユーザから各種の指示を受け付ける。表示部１６は、ユーザから受け付けた指示に応じて実行された処理の結果や、処理に対する通知等の各種の情報を表示する。
【００４２】
通信部２０は、インターネットや、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等のネットワークに接続されており、画像形成装置や他のＰＣ等の外部機器との間でネットワークを介して通信が可能とされる。
【００４３】
ところで、上述したように、複数のモデルを個別に学習する場合、複数のモデルの出力間で内容が矛盾し、内容の一貫性を保てない場合がある。これについて、図２を参照して、具体的に説明する。
【００４４】
図２は、Ｗｅｂサイトに掲載される記事の一例を示す図である。
なお、図２では、求人記事を例示して説明するが、これに限定されるものではない。
【００４５】
図２に示す求人記事では、Ｗｅｂサイトに掲載される記事を検索し易くするために、記事の「職種カテゴリ」、「記事見出し文」、及び「職種フレーズ」が付与されている。図２の例では、「職種カテゴリ」として「モバイルエンジニア」、「記事見出し文」として「あの人気アプリを開発する！ｘＯＳアプリ開発エンジニアを募集！」、「職種フレーズ」として「ｘＯＳエンジニア」が人手により付与されている。人手による作業は負担が大きいため、「記事本文」から、これらの「職種カテゴリ」、「記事見出し文」、及び「職種フレーズ」の各々を機械学習したモデルを用いて自動的に生成することを想定する。
【００４６】
このとき、「職種カテゴリ」、「記事見出し文」、及び「職種フレーズ」の各々に対応するモデルを個別に学習すると、複数のモデルの出力間で内容の一貫性を担保することができない。例えば、ｘＯＳエンジニアのカテゴリで検索したにも係わらず、デザイナーの求人記事が出てくる等、複数のモデルの出力間で内容が矛盾してしまい、Ｗｅｂサイトの閲覧者に違和感を与える可能性がある。
【００４７】
このため、本実施形態に係る学習装置１０のＣＰＵ１２Ａは、記憶部１４に記憶されている学習処理プログラム１４ＡをＲＡＭ１２Ｃに書き込んで実行することにより、図３に示す各部として機能する。
【００４８】
図３は、本実施形態に係る学習装置１０の機能的な構成の一例を示すブロック図である。
図３に示すように、本実施形態に係る学習装置１０のＣＰＵ１２Ａは、エンコーダ３０及び学習部３２として機能する。なお、エンコーダ３０は、抽出部の一例である。また、記憶部１４には学習モデル群１４Ｂが記憶されている。この学習モデル群１４Ｂには、一例として、分類モデル４０、生成モデル４２、及び回帰モデル４４が含まれている。
【００４９】
本実施形態に係るエンコーダ３０は、学習データとしての入力情報から、入力情報と共通の意味を表す特徴情報を抽出する。ここで、入力情報は、一例として、上述の図２に示す「記事本文」のようなテキストデータである。但し、この入力情報は、テキストデータに限らず、画像データやＩＤ（Identification）データ等でもよい。また、特徴情報は、一例として、テキストデータを変換して得られる中間表現である。ここでいう中間表現は、特徴ベクトルとして表される。以下、入力情報としてテキストデータ、特徴情報として中間表現を適用した場合について説明する。
【００５０】
この場合、エンコーダ３０は、入力したテキストデータを中間表現にエンコードする。具体的に、エンコーダ３０は、テキストデータを単語毎に入力し、入力した単語と共通の意味を表す中間表現が出力されるように学習される再帰型ニューラルネットワーク（ＲＮＮ：Recurrent Neural Network）として構成される。このＲＮＮは、ニューラルネットワークの一例であり、ＲＮＮ以外のニューラルネットワークを用いてもよい。
【００５１】
本実施形態に係る学習部３２は、中間表現を入力として、分類モデル４０、生成モデル４２、及び回帰モデル４４をマルチタスク学習により機械学習する。ここで、マルチタスク学習とは、複数の関連するタスク（すなわちモデル）同士でパラメータを共有することにより、予測精度を向上させる学習手法である。本実施形態では、上記３つのモデル間で、中間表現として表されるパラメータの少なくとも一部が共有される。
【００５２】
なお、上記では３つのモデルを組み合わせているが、モデルの組み合わせは目的に応じて様々である。例えば、上述の図２に示す例の場合、「職種カテゴリ」の分類を得るための分類モデル４０と、「記事見出し文」及び「職種フレーズ」の各々の文字列を得るための２個の生成モデル４２とが適用される。また、「ニュース記事見出しと推定記事ＰＶ（Page View）数」を得たい場合には、生成モデル４２及び回帰モデル４４が適用され、「翻訳の文書分類と原文の文書分類」を得たい場合には、２個の分類モデル４０が適用される。なお、ＰＶ数とは、Ｗｅｂサイト内で閲覧されたページの合計数として定義される指標である。
【００５３】
分類モデル４０は、中間表現を入力として、中間表現の意味に対応する文字列の分類を分類結果として出力するモデルである。具体的に、分類モデル４０は、中間表現を入力として、中間表現の意味に対応する文字列の分類毎に固有の分類ＩＤが出力されるように学習されるＲＮＮとして構成される。
【００５４】
生成モデル４２は、中間表現を入力として、中間表現の意味に対応する文字列を生成結果として出力するモデルである。具体的に、生成モデル４２は、中間表現を入力として、中間表現の意味に対応する文字列が出力されるように学習されるＲＮＮとして構成される。
【００５５】
回帰モデル４４は、中間表現を入力として、中間表現の意味に対応する数値を回帰分析結果として出力するモデルである。この数値としては、一例として、上述のＰＶ数等が挙げられる。具体的に、回帰モデル４４は、中間表現を入力として、中間表現の意味に対応する数値が出力されるように学習されるＲＮＮとして構成される。
【００５６】
上記３つのモデルの入力は、共通の中間表現であるため、これら３つのモデルをマルチタスク学習することにより、３つのモデルの出力間で内容の一貫性が担保される。
【００５７】
ここで、例えば、分類モデル４０及び生成モデル４２では、学習の難易度が異なり、収束までに要する時間も全く異なっている。一般的に、出力が長文であるほど、学習の難易度が高くなる。マルチタスク学習では各モデルの学習の足並みが揃わないと、精度の高い学習結果を得ることができない場合がある。
【００５８】
このため、本実施形態に係る学習部３２は、分類モデル４０及び生成モデル４２の各々の学習の度合いに応じて、各モデルの学習の割合を決定し、決定した学習の割合に基づいて、各モデルの学習を行う。具体的に、学習部３２は、分類モデル４０及び生成モデル４２のうち、学習の度合いが低い一方のモデルの学習の割合を、学習の度合いが高い他方のモデルの学習の割合よりも大きく決定する。なお、ここでいう学習の度合いとは、一例として、学習を行った回数を示す学習回数が用いられる。この学習回数は、例えば、学習のエポック数（１単位当たりの学習実施数）及び学習のイテレーション数（学習の繰り返し数）の少なくとも一方から導出される。この場合、分類モデル４０及び生成モデル４２のうち、学習回数が多いほうが学習の度合いが高いモデルと判定され、学習回数が少ないほうが学習の度合いが低いモデルと判定される。
【００５９】
次に、図４を参照して、本実施形態に係るニューラルネットワークの概要について説明する。
【００６０】
図４は、本実施形態に係るニューラルネットワークの一例を示す概念図である。
図４に示すニューラルネットワーク（以下、「ＮＮ」という。）は、入力層ｘｉ、隠れ層（中間層とも称する）ｙｊ、及び出力層ｚを有している。
【００６１】
図４に示すＮＮは、説明を簡単化するために、最も単純な３層構成としているが、隠れ層ｙｊを２層以上とした多層構成としてもよい。また、出力層ｚのノード（ニューロンともいう。）を１つにしているが、複数のノードで構成してもよい。
【００６２】
ここで、ＮＮに対して、入力が与えられたときの出力の計算は、入力から順に以下の式（１）を用いて行われる。なお、ｆ（・）は活性化関数と呼ばれ、一例としてシグモイド関数等が用いられる。また、ｘｉは入力層ｘｉの入力、ｙｊは隠れ層ｙｊの出力、ｚは出力層ｚの出力、ｗｉｊ、ｕｊは重み係数である。これらの重み係数ｗｉｊ、ｕｊを変化させることで同じ入力に対して異なる出力が得られる。つまり、狙った出力が得られるように重み係数ｗｉｊ、ｕｊを更新させることで、各モデルの学習が行われる。なお、ＮＮに設定される重み係数を総称して「重み係数ｗ、ｕ」という。
【００６３】
2020140673.tif 000003
・・・（１）
【００６４】
次に、図５を参照して、本実施形態に係る学習装置１０の作用を説明する。なお、図５は、本実施形態に係る学習処理プログラム１４Ａの処理の流れの一例を示すフローチャートである。
【００６５】
なお、ここでは、上述の図２に示す「記事本文」から、「職種カテゴリ」の分類、「職種フレーズ」の文字列、及び「記事見出し文」の文字列を得る場合について説明する。
【００６６】
図５のステップ１００では、エンコーダ３０が、学習データ（入力情報）として、上述の図２に示す「記事本文」の入力を受け付ける。
【００６７】
ステップ１０２では、エンコーダ３０が、ステップ１００で入力を受け付けた「記事本文」を中間表現にエンコードする。
【００６８】
ステップ１０４では、エンコーダ３０が、ステップ１０２でエンコードした中間表現を各学習モデルに入力する。ここでは、一例として、後述の図６に示す職種カテゴリ分類モデル４０Ａ、職種フレーズ生成モデル４２Ａ、及び記事見出し文生成モデル４２Ｂに入力する。
【００６９】
ステップ１０６では、学習部３２が、ステップ１０４で中間表現を入力した各学習モデルからの出力を取得する。
【００７０】
ステップ１０８では、学習部３２が、ステップ１０６で取得した各学習モデルからの出力と、各学習モデルについての正解データとの誤差である学習用誤差を算出する。
【００７１】
ステップ１１０では、学習部３２が、ステップ１０８で算出した各学習モデルについての学習用誤差に基づいて、各学習モデルの学習割合を決定する。
【００７２】
ステップ１１２では、学習部３２が、ステップ１１０で決定した各学習モデルの学習割合に基づいて、一例として、誤差逆伝播法を用いて、各学習モデルを更新する。なお、誤差逆伝播法とは、ＲＮＮの学習処理に用いる一般的な手法であり、入力と出力との間の誤差を計算し、その誤差を用いて出力から逆向きに順次に計算して学習を行う手法である。なお、ステップ１０６〜ステップ１１２の各ステップを実行する具体的な装置構成について後述の図６及び図７に示す。
【００７３】
ステップ１１４では、学習部３２が、全ての学習データについて学習処理が終了したか否かを判定する。全ての学習データについて学習処理が終了していないと判定した場合（否定判定の場合）、ステップ１００に戻り処理を繰り返す。一方、全ての学習データについて学習処理が終了したと判定した場合（肯定判定の場合）、本学習処理プログラム１４Ａによる一連の処理を終了する。
【００７４】
次に、図６及び図７を参照して、本実施形態に係る学習装置１０の具体的な構成について説明する。
【００７５】
図６は、本実施形態に係る学習装置１０の具体的な構成を示すブロック図である。
図６に示すように、本実施形態に係る学習装置１０は、エンコーダ３０と、職種カテゴリ分類モデル４０Ａと、職種フレーズ生成モデル４２Ａと、記事見出し文生成モデル４２Ｂと、学習部３２と、を備えている。また、学習部３２は、誤差逆伝播部７０と、学習スケジューリング設定部７２と、を備えている。
【００７６】
職種カテゴリ分類モデル４０Ａは、図２に示す「職種カテゴリ」の分類を得るための学習モデルである。また、職種フレーズ生成モデル４２Ａは、図２に示す「職種フレーズ」の文字列を得るための学習モデルである。また、記事見出し文生成モデル４２Ｂは、図２に示す「記事見出し文」の文字列を得るための学習モデルである。
【００７７】
図７は、本実施形態に係る誤差逆伝播部７０及び学習スケジューリング設定部７２の具体的な構成を示すブロック図である。
図７に示すように、本実施形態に係る誤差逆伝播部７０は、誤差算出部７０Ａ〜７０Ｃと、更新部７０Ｄと、を備えている。また、本実施形態に係る学習スケジューリング設定部７２は、学習割合決定部７２Ａを備えている。この学習割合決定部７２Ａは、決定部の一例である。
【００７８】
図７に示すように、誤差算出部７０Ａは、職種カテゴリ分類モデル４０Ａと学習スケジューリング設定部７２との間に設けられている。誤差算出部７０Ａは、第１算出部の一例である。また、誤差算出部７０Ｂは、職種フレーズ生成モデル４２Ａと学習スケジューリング設定部７２との間に設けられ、誤差算出部７０Ｃは、記事見出し文生成モデル４２Ｂと学習スケジューリング設定部７２との間に設けられている。これら誤差算出部７０Ｂ及び誤差算出部７０Ｃは、第２算出部の一例である。
【００７９】
誤差算出部７０Ａは、職種カテゴリ分類モデル４０Ａから出力された分類結果と、分類結果に対応する正解データとの第１誤差を算出する。誤差算出部７０Ｂは、職種フレーズ生成モデル４２Ａから出力された生成結果と、生成結果に対応する正解データとの第２誤差を算出する。誤差算出部７０Ｃは、記事見出し文生成モデル４２Ｂから出力された生成結果と、生成結果に対応する正解データとの第３誤差を算出する。
【００８０】
学習割合決定部７２Ａは、第１誤差に付与する第１重み値、第２誤差に付与する第２重み値、及び第３誤差に付与する第３重み値の各々を、職種カテゴリ分類モデル４０Ａ、職種フレーズ生成モデル４２Ａ、及び記事見出し文生成モデル４２Ｂの各々の学習の度合いに応じて決定する。なお、学習の度合いには、一例として、上述の学習回数が用いられる。例えば、職種カテゴリ分類モデル４０Ａ及び職種フレーズ生成モデル４２Ａのうち、学習の度合いが低い一方のモデルの重み値（つまり学習の割合）を、学習の度合いが高い他方のモデルの重み値よりも大きく決定する。図７に示す例では、第１重み値は０．８、第２重み値は０．６、第３重み値は０．５と決定されている。
【００８１】
第１誤差と第１重み値とは乗算器×で乗算され、第１重み値が付与された第１誤差が加算器＋に入力される。同様に、第２誤差と第２重み値とは乗算器×で乗算され、第２重み値が付与された第２誤差が加算器＋に入力される。第３誤差と第３重み値とは乗算器×で乗算され、第３重み値が付与された第３誤差が加算器＋に入力される。加算器＋では、第１重み値が付与された第１誤差と、第２重み値が付与された第２誤差と、第３重み値が付与された第３誤差との和である重み付き和が算出される。
【００８２】
更新部７０Ｄは、加算器＋からの重み付き和を用いた誤差逆伝播法を用いて、職種カテゴリ分類モデル４０Ａ、職種フレーズ生成モデル４２Ａ、及び記事見出し文生成モデル４２Ｂの各々を更新する。具体的には、第１重み値が付与された第１誤差に基づいて、職種カテゴリ分類モデル４０Ａの重み係数ｗ、ｕ（上述の図４参照）を更新する。また、第２重み値が付与された第２誤差に基づいて、職種フレーズ生成モデル４２Ａの重み係数ｗ、ｕを更新する。また、第３重み値が付与された第３誤差に基づいて、記事見出し文生成モデル４２Ｂの重み係数ｗ、ｕを更新する。
【００８３】
このとき、更新部７０Ｄは、一例として、第１重み値が付与された第１誤差が、第２重み値が付与された第２誤差よりも大きい場合、職種カテゴリ分類モデル４０Ａの学習の度合いを制御するフィードバック量を、職種フレーズ生成モデル４２Ａの学習の度合いを制御するフィードバック量よりも大きくする。また、更新部７０Ｄは、第２重み値が付与された第２誤差が、第１重み値が付与された第１誤差よりも大きい場合、職種フレーズ生成モデル４２Ａの学習の度合いを制御するフィードバック量を、職種カテゴリ分類モデル４０Ａの学習の度合いを制御するフィードバック量よりも大きくする。
【００８４】
例えば、職種カテゴリ分類モデル４０Ａの重み付き誤差が職種フレーズ生成モデル４２Ａの重み付き誤差よりも大きい場合、職種カテゴリ分類モデル４０Ａは職種フレーズ生成モデル４２Ａと比較して学習が進んでいないと推定される。このため、職種カテゴリ分類モデル４０Ａに対するフィードバック量を、職種フレーズ生成モデル４２Ａに対するフィードバック量よりも大きくして、職種カテゴリ分類モデル４０Ａの学習速度が速く（学習の進捗が速く）なるように制御される。
【００８５】
なお、学習の度合いは、一例として、学習回数及び予め定められた関数の少なくとも一方を用いて制御される。ここでいう関数には、例えば、上述のシグモイド関数が用いられる。このシグモイド関数に学習率を設定することで、学習の度合いが制御される。この学習率は、ユーザにより適切な値（初期値）が設定されるが、一般的に０より大きく１より小さい範囲で値が設定される。この学習率は、機械学習の最適化においてどのくらいＲＮＮの重み係数を更新するかを示すパラメータ（つまり、更新の幅を示すパラメータ）である。学習率を大きくしすぎると発散し、小さくしすぎると収束まで遅くなる。この場合、職種カテゴリ分類モデル４０Ａに対するフィードバック量を大きくすることで、学習回数を増加させる、あるいは、学習率を大きくする、あるいは、学習回数を増加させかつ学習率を大きくするように制御される。また、職種フレーズ生成モデル４２Ａに対するフィードバック量を小さくしてもよい。この場合、学習回数を減少させる、あるいは、学習率を小さくする、あるいは、学習回数を減少させかつ学習率を小さくするように制御される。
【００８６】
上記では、一例として、職種カテゴリ分類モデル４０Ａと職種フレーズ生成モデル４２Ａとの２つの学習モデル間での比較としたが、比較する学習モデルの組み合わせはこれに限定されるものではない。例えば、職種カテゴリ分類モデル４０Ａと記事見出し文生成モデル４２Ｂとの比較、職種フレーズ生成モデル４２Ａと記事見出し文生成モデル４２Ｂとの比較でも同様である。また、職種カテゴリ分類モデル４０Ａ、職種フレーズ生成モデル４２Ａ、及び記事見出し文生成モデル４２Ｂの比較でも同様である。
【００８７】
ここで、学習データによる学習を行う前に、上述の学習率及び関数が、学習の難易度が低い（学習が簡単な）学習モデルから学習されるように予め設定してもよい。この場合、学習により得られた学習率及び関数が、学習の難易度が高い（学習が困難な）学習モデルに援用され、学習速度の向上が期待される。また、上述の学習率及び関数が、学習の難易度が高い学習モデルから学習されるように予め設定してもよい。この場合、学習により得られた学習率及び関数が、学習の難易度が低い学習モデルに援用され、過学習が抑制される。
【００８８】
また、学習データによる学習を行う前に、上述の学習率及び関数を、学習データとは別のバリデーションデータを用いて設定するようにしてもよい。このバリデーションデータとは、機械学習の最中にテストにのみ用いるデータである。例えば、学習データが１００個ある場合には、２０個ごとの塊を５つ作成し、そのうち４つの塊を学習データとして用いて、残りの１つをバリデーションデータとして用いる。
【００８９】
また、学習モデルの学習の度合いが閾値以上の場合に、当該学習モデルについて学習不要と判定してもよい。学習不要と判定された学習モデルは、一定期間学習を待機させ、他の学習モデルの学習の度合いに合わせるようにする。また、学習の度合いの判定には、学習回数のみならず、学習の履歴を考慮してもよい。
【００９０】
また、複数の学習モデル間で一貫性のある出力情報を得るために、中間表現の共有のみならず、複数の学習モデルの各々の内部構造の少なくとも一部のパラメータを共有してもよい。この場合、複数の学習モデルの各々が、出力情報と入力単語列との対応の度合いを算出するアテンション機構を有していてもよい。このアテンション機構により、入力系列中の同一箇所に着目するように学習される。
【００９１】
次に、図８を参照して、学習支援を目的とした学習モデル４６について説明する。
【００９２】
図８は、本実施形態に係る学習支援を目的とした学習モデル４６の説明に供する図である。
【００９３】
図８に示す学習モデル４６は、一例として、エンコーダ３０の学習の支援を目的としたモデルであり、エンコーダ３０と共にオートエンコーダとして構成される。この学習モデル４６では、入力情報と共通の意味を表す中間表現を入力し、そのまま入力情報が出力されるように学習される。つまり、エンコーダ３０の入力と学習モデル４６の出力とは同一の入力情報が用いられる。この学習により適切な中間表現が生成されるようになる。学習モデル４６での学習結果は、エンコーダ３０の学習に反映される。
【００９４】
また、学習モデル４６は、職種カテゴリ分類モデル４０Ａ、職種フレーズ生成モデル４２Ａ、及び記事見出し文生成モデル４２Ｂの学習の支援を目的としたモデルであってもよい。この場合、学習モデル４６に対して、職種カテゴリ分類モデル４０Ａ、職種フレーズ生成モデル４２Ａ、及び記事見出し文生成モデル４２Ｂの学習の支援のみを目的として設計された入力及び出力のペアを学習データとして与えて学習が行われる。この学習により適切な出力情報が生成されるようになる。学習モデル４６での学習結果は、職種カテゴリ分類モデル４０Ａ、職種フレーズ生成モデル４２Ａ、及び記事見出し文生成モデル４２Ｂの学習に反映される。
【００９５】
次に、図９（Ａ）及び図９（Ｂ）を参照して、本実施形態に係る学習装置１０による学習結果の評価例について説明する。
【００９６】
図９（Ａ）は、記事見出し文生成の評価結果の一例を示す図である。また、図９（Ｂ）は、職種フレーズ生成の評価結果の一例を示す図である。
【００９７】
図９（Ａ）及び図９（Ｂ）に示す評価結果は、要約タスクの評価指標である”Ｒｏｕｇｅ−Ｌ”による定量評価結果を示している。
【００９８】
図９（Ａ）に示すように、記事見出し文生成の場合、「見出し＋職種フレーズ＋分類」に対応する数値が本実施形態のマルチタスク学習を適用した場合の結果である。また、図９（Ｂ）に示すように、職種フレーズ生成の場合、「職種フレーズ＋見出し＋分類」に対応する数値が本実施形態のマルチタスク学習を適用した場合の結果である。いずれの場合も、本実施形態のマルチタスク学習を適用しない場合（ベースライン）と比較して、数値が大きくなっており、精度の向上が確認された。
【００９９】
次に、図１０を参照して、本実施形態に係る情報出力装置５０の構成について説明する。
【０１００】
図１０は、本実施形態に係る情報出力装置５０の機能的な構成の一例を示すブロック図である。
図１０に示すように、本実施形態に係る情報出力装置５０は、ＣＰＵ５２Ａと、記憶部５４と、を備えている。なお、本実施形態では、情報出力装置５０を学習装置１０とは別体のコンピュータ装置として示しているが、情報出力装置５０と学習装置１０とを１つのコンピュータ装置で実現してもよい。
【０１０１】
本実施形態に係る記憶部５４には、上述の学習装置１０により機械学習された学習済みモデル群５４Ｂが記憶されている。この学習済みモデル群５４Ｂには、一例として、学習済み分類モデル６０、学習済み生成モデル６２、及び学習済み回帰モデル６４が含まれている。
【０１０２】
学習済み分類モデル６０は、中間表現を入力として、中間表現の意味に対応する文字列の分類を分類結果として出力するモデルである。この学習済み分類モデル６０は、図３に示す分類モデル４０を機械学習して得られたモデルである。
【０１０３】
学習済み生成モデル６２は、中間表現を入力として、中間表現の意味に対応する文字列を生成結果として出力するモデルである。この学習済み生成モデル６２は、図３に示す生成モデル４２を機械学習して得られたモデルである。
【０１０４】
学習済み回帰モデル６４は、中間表現を入力として、中間表現の意味に対応する数値を回帰分析結果として出力するモデルである。この学習済み回帰モデル６４は、図３に示す回帰モデル４４を機械学習して得られたモデルである。
【０１０５】
また、記憶部５４には、情報出力処理プログラム（図示省略）が記憶されている。ＣＰＵ５２Ａは、記憶部１４に記憶されている情報出力処理プログラムを実行することにより、エンコーダ３４及び処理部３６として機能する。
【０１０６】
本実施形態に係るエンコーダ３４は、図３に示すエンコーダ３０と同様の機能を有しており、一例として、上述の図２に示す「記事本文」のテキストデータを中間表現にエンコードする。
【０１０７】
本実施形態に係る処理部３６は、中間表現を入力として、学習済み分類モデル６０、学習済み生成モデル６２、及び学習済み回帰モデル６４からの出力を取得する処理を行う。また、処理部３６は、各学習済みモデルからの出力に基づいて、一例として、上述の図２に示す記事全体を生成する処理を行う。
【０１０８】
次に、図１１を参照して、本実施形態に係る情報出力装置５０の作用を説明する。なお、図１１は、本実施形態に係る情報出力処理プログラムの処理の流れの一例を示すフローチャートである。
【０１０９】
なお、ここでは、上述の図２に示す「記事本文」から、「職種カテゴリ」の分類、「職種フレーズ」の文字列、及び「記事見出し文」の文字列を得る場合について説明する。
【０１１０】
図１１のステップ１２０では、エンコーダ３４が、テキストデータ（入力情報）として、上述の図２に示す「記事本文」の入力を受け付ける。
【０１１１】
ステップ１２２では、エンコーダ３４が、ステップ１２０で入力を受け付けた「記事本文」を中間表現にエンコードする。
【０１１２】
ステップ１２４では、エンコーダ３４が、ステップ１２２でエンコードした中間表現を各学習済みモデルに入力する。ここでは、一例として、上述の図１０に示す学習済み分類モデル６０及び学習済み生成モデル６２に入力する。
【０１１３】
ステップ１２６では、処理部３６が、ステップ１２４で中間表現を入力した各学習済みモデルからの出力を取得する。
【０１１４】
ステップ１２８では、処理部３６が、ステップ１２６で取得した各学習済みモデルからの出力に基づいて、一例として、上述の図２に示す記事全体を生成する処理を行う。
【０１１５】
ステップ１３０では、処理部３６が、全てのテキストデータについて処理が終了したか否かを判定する。全てのテキストデータについて処理が終了していないと判定した場合（否定判定の場合）、ステップ１２０に戻り処理を繰り返す。一方、全てのテキストデータについて処理が終了したと判定した場合（肯定判定の場合）、本情報出力処理プログラムによる一連の処理を終了する。
【０１１６】
以上、実施形態に係る学習装置及び情報出力装置を例示して説明した。実施形態は、学習装置が備える各部及び情報出力装置が備える各部の機能をコンピュータに実行させるためのプログラムの形態としてもよい。実施形態は、これらのプログラムを記憶したコンピュータが読み取り可能な記憶媒体の形態としてもよい。
【０１１７】
その他、上記実施形態で説明した学習装置及び情報出力装置の構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
【０１１８】
また、上記実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【０１１９】
また、上記実施形態では、プログラムを実行することにより、実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。
【符号の説明】
【０１２０】
１０   学習装置
１２   制御部
１２Ａ、５２ＡＣＰＵ
１２Ｂ ＲＯＭ
１２Ｃ ＲＡＭ
１２Ｄ Ｉ／Ｏ
１４、５４    記憶部
１４Ａ 学習処理プログラム
１４Ｂ 学習モデル群
１６   表示部
１８   操作部
２０   通信部
３０、３４    エンコーダ
３２   学習部
３６   処理部
４０   分類モデル
４０Ａ 職種カテゴリ分類モデル
４２   生成モデル
４２Ａ 職種フレーズ生成モデル
４２Ｂ 記事見出し文生成モデル
４４   回帰モデル
４６   学習モデル
５０   情報出力装置
５４Ｂ 学習済みモデル群
６０   学習済み分類モデル
６２   学習済み生成モデル
６４   学習済み回帰モデル
７０   誤差逆伝播部
７０Ａ〜７０Ｃ誤差算出部
７０Ｄ 更新部
７２   学習スケジューリング設定部
７２Ａ 学習割合決定部
【図１】
2020140673.tif 000004
【図２】
2020140673.tif 000005
【図３】
2020140673.tif 000006
【図４】
2020140673.tif 000007
【図５】
2020140673.tif 000008
【図６】
2020140673.tif 000009
【図７】
2020140673.tif 000010
【図８】
2020140673.tif 000011
【図９】
2020140673.tif 000012
【図１０】
2020140673.tif 000013
【図１１】
2020140673.tif 000014