(57)【要約】【課題】入力情報と対応する出力情報の生成効率を改善すること。【解決手段】本願に係る出力装置は、入力情報から順序関係を有する複数の情報を含んだ出力情報を生成する複数のモデルが所定の対象情報から生成した複数の出力情報を取得する取得部と、前記複数の出力情報同士の類似性に基づいて、当該複数の出力情報の中から前記対象情報と対応する対応情報として出力する出力情報を選択する選択部と、前記選択部により選択された出力情報を前記対応情報として出力する出力部とを有することを特徴とする。【選択図】図１
2020004054.tif 000002
【特許請求の範囲】
【請求項１】
入力情報から順序関係を有する複数の情報を含んだ出力情報を生成する複数のモデルが所定の対象情報から生成した複数の出力情報を取得する取得部と、
前記複数の出力情報同士の類似性に基づいて、当該複数の出力情報の中から前記対象情報と対応する対応情報として出力する出力情報を選択する選択部と、
前記選択部により選択された出力情報を前記対応情報として出力する出力部と
を有することを特徴とする出力装置。
【請求項２】
前記選択部は、前記複数の出力情報の意味的な類似性に基づいて、前記対応情報として出力する出力情報を選択する
ことを特徴とする請求項１に記載の出力装置。
【請求項３】
前記選択部は、前記複数の出力情報と対応するベクトルのコサイン類似度に基づいて、前記対応情報として出力する出力情報を選択する
ことを特徴とする請求項１または２に記載の出力装置。
【請求項４】
前記選択部は、前記出力情報に含まれる複数の情報のそれぞれと対応するベクトルを統合したベクトルを当該出力情報と対応するベクトルとして生成し、生成したベクトル同士のコサイン類似度に基づいて、前記対応情報として出力する出力情報を選択する
ことを特徴とする請求項３に記載の出力装置。
【請求項５】
前記選択部は、前記複数の出力情報のうち、他の出力情報との類似性が高い出力情報を選択する
ことを特徴とする請求項１〜４のうちいずれか１つに記載の出力装置。
【請求項６】
前記出力情報同士の類似性に基づいて、前記所定の対象情報から生成されうる出力情報の確率分布を推定する推定部
を有し、
前記選択部は、前記複数の出力情報のうち、前記確率分布における所定の領域に含まれる出力情報を選択する
ことを特徴とする請求項１〜５のうちいずれか１つに記載の出力装置。
【請求項７】
前記推定部は、前記複数のモデルが生成した出力情報を標本と見做したカーネル密度推定により、前記所定の対象情報から生成されうる出力情報の確率分布を推定する
ことを特徴とする請求項６に記載の出力装置。
【請求項８】
前記選択部は、前記確率分布のうち、より多くの出力情報が含まれうる領域に含まれる出力情報を選択する
ことを特徴とする請求項６または７に記載の出力装置。
【請求項９】
前記取得部は、前記モデルとして、前記出力された情報が入力された場合に、新たな情報を出力する再帰型ニューラルネットワークが生成した出力情報を取得する
ことを特徴とする請求項１〜８のうちいずれか１つに記載の出力装置。
【請求項１０】
前記取得部は、ノード間の接続係数がランダムに異なる複数のモデルから生成した複数のモデルであって、それぞれ個別に学習情報が有する特徴を学習させた複数のモデルが生成した出力情報を取得する
ことを特徴とする請求項９に記載の出力装置。
【請求項１１】
前記取得部は、同一のモデルから生成された複数のモデルであって、前記学習情報が有する特徴をそれぞれ異なる段階まで学習させた複数のモデルにより生成された出力情報を取得する
ことを特徴とする請求項９に記載の出力装置。
【請求項１２】
前記取得部は、ノード間の接続関係がそれぞれ異なる複数のモデルにより生成された出力情報を取得する
ことを特徴とする請求項９に記載の出力装置。
【請求項１３】
前記取得部は、それぞれ異なる学習対象情報の特徴を学習した複数のモデルであって、所定の学習情報から生成された複数の学習対象情報の特徴を学習した複数のモデルにより生成された出力情報を取得する
ことを特徴とする請求項９に記載の出力装置。
【請求項１４】
前記取得部は、前記モデルとして、複数の情報を含む入力情報が入力された場合に当該入力情報が有する特徴を示す特徴情報を生成するエンコーダと、エンコーダが生成した特徴情報から出力情報に含まれる複数の情報を順に生成するデコーダとを含む複数のモデルが所定の対象情報から生成した複数の出力情報を取得する
ことを特徴とする請求項１〜１３のうちいずれか１つに記載の出力装置。
【請求項１５】
前記取得部は、テキストである入力情報からテキストである出力情報を生成する複数のモデルが、テキストである対象情報から生成した複数の出力情報を取得する
ことを特徴とする請求項１〜１４のうちいずれか１つに記載の出力装置。
【請求項１６】
前記取得部は、テキストである入力情報から、当該テキストの見出し若しくは要約となるテキストである出力情報を生成する複数のモデルが、テキストである対象情報から生成した複数の出力情報を取得する
ことを特徴とする請求項１５に記載の出力装置。
【請求項１７】
出力装置が実行する出力方法であって、
入力情報から順序関係を有する複数の情報を含んだ出力情報を生成する複数のモデルが所定の対象情報から生成した複数の出力情報を取得する取得工程と、
前記複数の出力情報同士の類似性に基づいて、当該複数の出力情報の中から前記対象情報と対応する対応情報として出力する出力情報を選択する選択工程と、
前記選択工程により選択された出力情報を前記対応情報として出力する出力工程と
を含むことを特徴とする出力方法。
【請求項１８】
入力情報から順序関係を有する複数の情報を含んだ出力情報を生成する複数のモデルが所定の対象情報から生成した複数の出力情報を取得する取得手順と、
前記複数の出力情報同士の類似性に基づいて、当該複数の出力情報の中から前記対象情報と対応する対応情報として出力する出力情報を選択する選択手順と、
前記選択手順により選択された出力情報を前記対応情報として出力する出力手順と
をコンピュータに実行させるための出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は出力装置、出力方法および出力プログラムに関する。
【背景技術】
【０００２】
従来、各種のモデルを用いて所定の入力情報と対応する出力情報を生成する技術が知られている。このような技術の一例として、入力されたコンテンツに含まれるテキストや画像から、コンテンツの要約となる情報を生成する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−０７３１９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、入力された情報と対応する情報を生成する際に、生成精度を向上させるため、複数の生成結果を用いるアンサンブルの技術が知られている。このようなアンサンブルの技術として、文章を構成する単語を順に入力すると要約や見出しを構成する単語の出現確率を要約や見出しに含まれる順に出力するモデルを複数生成し、各モデルが出力した出現確率を単語単位で平均し、平均値に基づいて、要約や見出しを構成する各単語を順番に決定する技術が知られている。
【０００５】
しかしながら、上述した従来技術では、入力情報と対応する出力情報を効率的に生成しているとは言えない場合がある。
【０００６】
例えば、文章から要約や見出しを生成する際にＲＮＮ（Recurrent  Neural  Network）をモデルとして利用する態様が考えられる。このようなＲＮＮをモデルとして利用した場合は、モデルが前回出力した単語を新たな入力としてモデルに再度入力し、次に出現する単語を予測する態様が考えられる。しかしながら、このようなＲＮＮと従来のアンサンブルとを組み合わせた場合、単語を予測する度に、前回各モデルの出力から決定された単語を全モデルに入力し、全モデルが次の単語の出現確率を算出するまで待機する必要がある。また、文章から要約や見出しを出力する処理以外にも、音楽や動画像等、順序性を有する情報から順序性を有する他の情報を生成する処理において、同様の課題が生じうる。
【０００７】
本願は、上記に鑑みてなされたものであって、入力情報と対応する出力情報の生成効率を改善することを目的とする。
【課題を解決するための手段】
【０００８】
本願に係る出力装置は、入力情報から順序関係を有する複数の情報を含んだ出力情報を生成する複数のモデルが所定の対象情報から生成した複数の出力情報を取得する取得部と、前記複数の出力情報同士の類似性に基づいて、当該複数の出力情報の中から前記対象情報と対応する対応情報として出力する出力情報を選択する選択部と、前記選択部により選択された出力情報を前記対応情報として出力する出力部とを有することを特徴とする。
【発明の効果】
【０００９】
実施形態の一態様によれば、入力情報と対応する出力情報の生成効率を改善する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。
【図２】図２は、実施形態に係る情報提供装置が生成するモデルの一例を示す図である。
【図３】図３は、実施形態に係る情報提供装置の構成例を示す図である。
【図４】図４は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。
【図５】図５は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。
【図６】図６は、実施形態に係る情報提供装置が実行する出力処理の流れの一例を示すフローチャートである。
【図７】図７は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願に係る出力装置、出力方法および出力プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る出力装置、出力方法および出力プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１２】
［実施形態］
〔１．情報提供装置の概要について〕
まず、図１を用いて、出力装置の一例である情報提供装置が実行する処理の一例について説明する。図１は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。図１では、情報提供装置１０は、以下に説明する出力処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。
【００１３】
例えば、情報提供装置１０は、インターネット等の所定のネットワークＮ（例えば、図３参照）を介して、端末装置１００、および配信装置２００と通信可能である。なお、情報提供装置１０は、任意の数の端末装置１００、および複数の数の配信装置２００と通信可能であってよい。
【００１４】
端末装置１００は、スマートフォンやタブレット等のスマートデバイス、ＰＣ（Personal  Computer）等、各種の情報処理装置により実現される。例えば、端末装置１００は、各種の情報の表示を行う機能を有する。
【００１５】
配信装置２００は、各種の情報を配信する機能を有する情報処理装置であり、サーバ装置やクラウドシステムにより実現される。例えば、配信装置２００は、ニュースを利用者に対して提供するサービスを実現する。例えば、配信装置２００は、投稿された文章の見出しを生成し、生成した見出しを端末装置１００へと提供する。そして、配信装置２００は、端末装置１００が選択した見出しと対応する文章を端末装置１００に対して提供する。
【００１６】
なお、実施形態は、これに限定されるものではなく、配信装置２００は、任意のサービスを利用者に対して提供してもよい。例えば、配信装置２００は、ニュース以外にも、各種ウェブサイトに投稿された記事や利用者により投稿された各種の投稿情報を配信対象とし、配信対象となる投稿情報に含まれる文章の見出しを配信してよい。
【００１７】
〔１−１．見出しの生成について〕
ここで、配信装置２００は、Ｑ＆Ａサービス等、利用者から投稿された情報を他の利用者に配信するサービスを提供する。例えば、配信装置２００は、タイトルやサムネイル等、本文の内容を示唆する情報（すなわち、見出し）を利用者に送信する。そして、配信装置２００は、利用者が見出しを選択した場合は、選択された見出しと対応する本文を利用者に対して配信する。
【００１８】
ここで、投稿の手間を削減するため、本文のみの登録を受付け、受付けられた本文から見出しとなる文章を生成するといった手段が考えられる。このような文章を生成する技術として、ＤＮＮ（Deep  Neural  Network）等といったモデルを用いて、本文から見出しとなる文章を生成する技術が考えられる。なお、ここで、ＤＮＮは、ＣＮＮ（Convolutional  Neural  Network）やＲＮＮ（Recurrent  Neural  Network）であってもよい。また、ＲＮＮは、ＬＳＴＭ（Long  short-term  memory）等であってもよい。以下の説明では、モデルとして、ＲＮＮを利用する例について説明する。
【００１９】
例えば、配信装置２００は、ＲＮＮを準備するとともに、学習データとなる文章と見出しとの組を取得する。例えば、配信装置２００は、学習データとして、文章と、その文章の見出しとなる文章との組を取得する。そして、配信装置２００は、例えば、文章が有する特徴量をＲＮＮに入力した際に、ＲＮＮが見出しとなる文章の特徴量を出力するように、ＲＮＮの学習を行う。
【００２０】
例えば、配信装置２００は、文章に含まれる各単語を特定し、各単語を示す値（すなわち、特徴量）を各単語が文章に出現した順にＲＮＮに入力する。そして、配信装置２００は、ＲＮＮが、各単語が出現する確率を各単語が見出しに含まれる順序で出力するように、ＲＮＮの学習を行う。例えば、配信装置２００は、見出しの１番目に各単語が出現する確率を出力し、続いて、見出しの２番目に各単語が出現する確率を出力するように、ＲＮＮの学習を行う。
【００２１】
より具体的には、配信装置２００は、ＲＮＮが最初に出力した確率から見出しの１番目に出現すると推定される単語を選択する。そして、配信装置２００は、選択した単語の特徴量をＲＮＮに入力した際に見出しの２番目に各単語が出現する確率を出力するように、ＲＮＮの学習を行う。すなわち、配信装置２００は、文章に含まれる単語を順に入力した際に、見出しに含まれる最初の単語を出力し、その後、出力した単語を順次入力した場合に、見出しに含まれる２番目以降の単語を順に出力するように、ＲＮＮの学習を行う。なお、このようなＲＮＮは、エンコーダ＝デコーダモデルと呼ばれる場合がある。
【００２２】
例えば、図２は、実施形態に係る情報提供装置が生成するモデルの一例を示す図である。例えば、情報提供装置１０は、モデルの学習に用いる文章である学習文章や処理対象となる対象文章（以下、「入力文章」と総称する。）に含まれている単語＃１−１〜単語＃１−４を抽出する。そして、情報提供装置１０は、単語＃１−１〜単語＃１−４を、文章における出現順にＲＮＮに入力する。例えば、情報提供装置１０は、単語＃１−１の特徴量をＲＮＮに入力し、次に、単語＃１−２の特徴量をＲＮＮに入力し、次に、単語＃１−３の特徴量をＲＮＮに入力し、最後に、単語＃１−４の特徴量をＲＮＮに入力する。なお、情報提供装置１０は、単語＃１−４の特徴量を入力した後で、例えば、文末表現等、入力文章に含まれる全ての単語が入力された旨を示唆する情報の特徴量をＲＮＮに入力してもよい。
【００２３】
このように、入力文章に含まれる全ての単語が入力された場合、ＲＮＮは、入力文章と対応する見出し文章に含まれる単語を、見出し文章における出現順に出力する。すなわち、情報提供装置１０は、入力文章に含まれる全ての単語が入力された場合に、見出し文章に含まれる単語を順番に出力するように、ＲＮＮの学習を行う。例えば、ＲＮＮは、入力文章に含まれるすべての単語が入力された場合、見出し文章に含まれる単語＃２−１を出力する。続いて、ＲＮＮは、前回出力した単語＃２−１の入力を受付ける。そして、ＲＮＮは、単語＃２−１の入力を受付けた場合、見出し文章において単語＃２−１の次に出現する単語＃２−２を出力する。また、ＲＮＮは、前回出力した単語＃２−２の入力を受付ける。そして、ＲＮＮは、単語＃２−２の入力を受付けた場合、見出し文章において単語＃２−２の次に出現する単語＃２−３を出力する。
【００２４】
一方で、入力された情報と対応する情報を生成する際に、生成精度を向上させるため、複数の生成結果を用いるアンサンブルの技術が知られている。例えば、このようなアンサンブルの技術を用いる情報処理装置は、それぞれ個別に学習を行った複数のＲＮＮを準備し、処理対象となる文章に含まれる各単語を、文章に出現する順序で各ＲＮＮに入力する。続いて、情報処理装置は、複数のＲＮＮのそれぞれが出力した確率の平均値を算出する。例えば、情報処理装置は、各ＲＮＮが出力した確率であって、各単語が見出しの１番目に出現する確率の平均値を、各単語ごとに算出する。そして、情報処理装置は、算出した平均値の値が最も高い単語を、見出しの１番目に出現する単語として選択し、選択した単語を各ＲＮＮに入力することで、各単語が見出しの２番目に出現する確率を算出させる。
【００２５】
しかしながら、上述した従来技術では、効率的に見出しを生成することができない。例えば、上述した技術では、各ＲＮＮが確率を出力することに平均値を算出し、算出した平均値に基づいて見出しに含まれる単語を選択し、選択した単語を再度各ＲＮＮに入力することで、各単語が次に出現する確率を算出する。このため、従来技術では、見出しに含まれる各単語を予測する段階ごとに、全てのＲＮＮが確率を出力するまで待機する必要があり、効率的な処理を実演しているとは言えない。
【００２６】
〔１−２．情報提供装置が実行する処理について〕
そこで、情報提供装置１０は、以下の出力処理を実行する。まず、情報提供装置１０は、入力情報から順序関係を有する複数の情報を含んだ出力情報を生成する複数のモデルが所定の対象情報から生成した複数の出力情報を取得する。また、情報提供装置１０は、複数の出力情報同士の類似性に基づいて、複数の出力情報の中から対象情報と対応する対応情報として出力する出力情報を選択する。そして、情報提供装置１０は、選択された出力情報を対応情報として出力する。
【００２７】
より具体的には、情報提供装置１０は、モデルとして、出力された情報が入力された場合に、新たな情報を出力する再帰型ニューラルネットワークが生成した出力情報を取得する。また、情報提供装置１０は、ノード間の接続係数がランダムに異なる複数のモデルから生成した複数のモデルであって、それぞれ個別に学習情報が有する特徴を学習させた複数のモデルが生成した出力情報を取得する。また、情報提供装置１０は、モデルとして、複数の情報を含む入力情報が入力された場合に入力情報が有する特徴を示す特徴情報を生成するエンコーダと、エンコーダが生成した特徴情報から出力情報に含まれる複数の情報を順に生成するデコーダとを含む複数のモデルが所定の対象情報から生成した複数の出力情報を取得する。
【００２８】
例えば、情報提供装置１０は、入力情報となるテキスト（以下、「入力文章」と記載する。）から、入力文章の見出しを出力する複数のモデルを準備する。また、情報提供装置１０は、各モデルを個別に用いて、処理対象となる対象文章から、複数の見出しの候補を生成する。そして、情報提供装置１０は、候補同士の類似性を特定し、特定した類似性に基づいて、各モデルが出力した見出しの候補中から、対象文章の見出しとして出力する候補を選択する。例えば、情報提供装置１０は、各候補のうち、他の候補との類似性が最も高い候補を出力対象として選択する。
【００２９】
このように、情報提供装置１０は、順序関係を有する複数の情報（例えば、単語）を含む入力情報（例えば、文章）から、それぞれ異なるモデルを個別に用いて、複数の情報を含む出力情報（例えば、見出しの候補）を生成する。このような処理の結果、情報提供装置１０は、出力情報から出力情報を生成する処理を分散可能とするので、処理の効率化を実現することができる。また、情報提供装置１０は、各出力情報同士の類似性に基づいて、出力対象する出力情報を選択するので、出力される出力情報の精度の低下を防ぎつつ、処理の効率化を実現することができる。すなわち、情報提供装置１０は、各モデルの出力を事後的にアンサンブルするポストアンサンブル処理を実行する。
【００３０】
例えば、各モデルが同一の文章からそれぞれ個別に見出しの候補を生成した場合、各モデルの学習が適切に行われている場合は、各モデルにより生成される候補の内容が類似すると考えられる。このため、ある程度適切な学習が行われているのであれば、複数のモデルのうち一定のモデルにより生成された候補の内容が類似すると考えられる。この結果、ある文章の見出しとして適切な候補は、各モデルが生成した候補との類似性がより高くなると考えられる。換言すると、候補同士の類似性を距離と見做した空間上に各候補を投影した場合、より多くの候補が投影された範囲（すなわち、候補の濃度が高い範囲）に含まれる候補は、より適切な見出しに近いと推定される。
【００３１】
そこで、情報提供装置１０は、各モデルにより生成された候補の類似性を特定し、各モデルにより生成された候補のうち、他の候補との類似性がより高い候補を出力対象として選択する。例えば、情報提供装置１０は、各モデルが生成した候補の意味的な類似性に基づいて、出力対象とする候補の選択を行う。
【００３２】
例えば、情報提供装置１０は、見出しの候補に含まれる各単語を対応する数値に置き換えることで、候補と対応する分散表現を生成し、生成した分散表現同士のコサイン類似度を算出する。なお、情報提供装置１０は、出力情報に含まれる複数の情報のそれぞれと対応するベクトルを生成し、生成したベクトルを統合したベクトルを、候補と対応するベクトルとして生成してもよい。また、情報提供装置１０は、単語や文章を、意味的な類似性に基づいて分散表現空間上に投影する各種の手法（例えば、ｗｏｒｄ２ｖｅｃ）等を用いて、各見出しを分散表現に変換してもよい。
【００３３】
そして、情報提供装置１０は、候補うち他の候補との類似性が高い候補を選択する。例えば、情報提供装置１０は、候補同士の類似度（例えば、コサイン類似度）を算出し、算出した類似度の和が最も大きい候補を見出しとして選択してもよい。また、情報提供装置１０は、候補同士の類似度に基づいて、各候補を任意の空間上に投影し、空間上において投影された候補の数が最も多い領域（すなわち、候補の濃度が最も高い領域）を特定する。そして、情報提供装置１０は、特定した領域に含まれる候補を、出力対象として選択してもよい。例えば、情報提供装置１０は、特定した領域の中心に最も近い候補を選択してもよく、特定した領域に投影された候補の分散表現の平均値を算出し、算出した平均値と最も近い分散表現と対応する候補を見出しとして選択してもよい。
【００３４】
〔１−３．分布の考慮について〕
ここで、無数の学習済モデルを用いてある入力文章から見出しの候補（以下、単に「見出し」と記載する場合がある。）を生成した例を考える。このような場合において、見出し同士の類似度を所定の空間上の距離として、各見出しをその空間上に投影した場合、入力文章の見出しとして適切な見出しが投影される領域においては、他の領域よりも多くの見出しが投影されると考えられる。このような見出しの分布を、各学習済モデルから出力される見出しの確率分布として見做した場合、入力文章の見出しとして適切な見出しは、各モデルにより生成された見出しが投影される確率が高い範囲に投影されると考えられる。
【００３５】
そこで、情報提供装置１０は、見出し同士の類似性に基づいて、入力文章から生成されうる見出しの確率分布を推定する。そして、情報提供装置１０は、見出しのうち、確率分布における所定の領域に含まれる見出しを出力対象として選択してもよい。例えば、情報提供装置１０は、複数のモデルが生成した見出しを標本と見做したカーネル密度推定により、所定の入力文章から生成されうる見出しの確率密度関数を推定する。そして、情報提供装置１０は、確率密度関数のうち、より多くの見出しが含まれうる領域、すなわち、密度がより高い範囲に投影される見出しの中から、出力対象とする見出しを選択する。
【００３６】
例えば、情報提供装置１０は、カーネル密度推定において母集団とするカーネル関数を選択する。例えば、情報提供装置１０は、ガウス分布やロジスティック分布、フォンミーゼス分布、フォンミーゼスフィッシャー分布等、任意の分布を示す関数をカーネル関数として採用してよい。そして、情報提供装置１０は、カーネル密度推定により、標本が属する確率密度関数の推定を行う。
【００３７】
例えば、情報提供装置１０は、各モデルにより生成された見出し（以下、「見出し候補」と記載する場合がある。）のコサイン類似度を標本同士の類似度と見做すことで、見出し候補が形成する確率密度関数の推定を行う。また、情報提供装置１０は、推定された確率密度関数において確率密度が所定の閾値を超える範囲を特定し、見出し候補のうち特定した範囲に投影される見出し候補を抽出する。そして、情報提供装置１０は、抽出した見出し候補の中から、入力文章の見出しとして出力する見出し候補を選択する。例えば、情報提供装置１０は、抽出した見出し候補の分散表現の平均値を算出し、算出した平均値に最も近い見出し候補を選択してもよい。
【００３８】
以下、情報提供装置１０が実行する処理の一例を数式を用いて説明する。以下の説明では、ある学習モデルｐに対して入力文章ｘを入力した場合の出力（すなわち、見出し候補）をｓと記載する。この場合、見出し候補の集合Ｓは、以下の式（１）で示すことができる。なお、式（１）における中括弧｛｝は、ハッシュや分散表現を示すものとする。
【００３９】
【数１】
2020004054.tif 000003
【００４０】
続いて、情報提供装置１０は、以下の式（２）に示すように、ある出力ｓについて、他の全ての出力ｓ´との間の類似度に基づくスコアｃを算出する。ここで、式（２）におけるＫ（ｓ、ｓ´）は、出力ｓと出力ｓ´との間の類似度を算出するためのカーネル関数である。すなわち、スコアｃは、他の出力との間の類似性の平均値である。
【００４１】
【数２】
2020004054.tif 000004
【００４２】
続いて、情報提供装置１０は、以下の式（３）に示すように、各出力ｓのスコアｃの集合をＣ［ｓ］とし、式（４）に示すように、スコアｃの値が最も高い出力ｓを集合Ｓから選択する。
【００４３】
【数３】
2020004054.tif 000005
【００４４】
【数４】
2020004054.tif 000006
【００４５】
なお、各見出し候補の類似度としてコサイン類似度を採用する場合、式（２）の関数Ｋは、以下の式（５）で表すことができる。
【００４６】
【数５】
2020004054.tif 000007
【００４７】
続いて、カーネル密度推定について説明する。例えば、推定対象となる確率密度関数をｆとし、確率密度関数ｆにおける標本をＸ１〜Ｘｎとおくと、カーネル密度推定量は、以下の式（６）で示すことができる。
【００４８】
【数６】
2020004054.tif 000008
【００４９】
ここで、各モデルｐ１〜ｐｎがそれぞれランダムなパラメータθ１〜θｎから学習が行われ、出力ｓ１〜ｓｎを出力したものとする。ここで、パラメータθ１〜θｎが独立同分布である場合、パラメータθｉに基づく出力ｓｉも、独立同分布であると考えられる。このため、式（２）は、式（６）と等価であると考えられる。このため、情報提供装置１０は、上述した式（２）を用いて、見出し候補から出力する見出しを選択することで、入力文章から生成されうる見出し候補の分布を示す確率密度関数を求め、確率密度関数が示す確率分布に基づいて、見出しの選択を行うことができる。
【００５０】
ここで、情報提供装置１０は、式（２）に示すカーネル関数Ｋとして、以下の式（７）に示すガウシアンカーネルＫｇａｕｓ（ｓ、ｓ´）を採用することができる。ここで、ｈはスムージングの許容パラメータである。また、ｍは、出力ｓの次元数である。また、ｄ（ｓ、ｓ´）は、出力ｓと出力ｓ´との距離であり、以下の式（８）で表される関数である。
【００５１】
【数７】
2020004054.tif 000009
【００５２】
【数８】
2020004054.tif 000010
【００５３】
また、情報提供装置１０は、式（２）に示すカーネル関数として、以下の式（９）に示すフォンミーゼスフィッシャーカーネルＫｖｍｆ（ｓ、ｓ´）を採用することができる。ここで、式（９）のＩｖとは、ｖ次のベッセル関数であり、ｑは、次元数である。また、式（９）におけるＣｑ（κ）は、正規化定数であり、以下の式（１０）で示すことができる。また、式（１０）におけるチルダ付のκは、最尤推定におけるκの近似値であり、以下の式（１１）で示すことができる。なお、式（１１）におけるチルダ付のμは、出力ｓと出力ｓ´との間のコサイン距離である。
【００５４】
【数９】
2020004054.tif 000011
【００５５】
【数１０】
2020004054.tif 000012
【００５６】
【数１１】
2020004054.tif 000013
【００５７】
〔１−４．出力処理の一例について〕
次に、図１を用いて、情報提供装置１０が実行する出力処理の一例を説明する。まず、情報提供装置１０は、配信装置２００から見出しの生成対象となる対象文章を受付ける（ステップＳ１）。例えば、情報提供装置１０は、配信装置２００から、利用者により投稿された文章を対象文章として受付ける。
【００５８】
このような場合、情報提供装置１０は、文章から見出しを生成する複数のモデルを用いて、対象文章の見出しを複数生成する（ステップＳ２）。例えば、情報提供装置１０は、初期パラメータをランダムに変化させたｎ個のＲＮＮをモデル＃１〜＃ｎとして準備し、所定の学習データを用いて、入力文章から見出し文章を生成するように、各モデル＃１〜＃ｎを個別に学習させる。そして、情報提供装置１０は、各モデル＃１〜＃ｎに対して、それぞれ個別に対象文章を入力し、各モデル＃１〜＃ｎがそれぞれ個別に生成した見出し＃１〜＃ｎを取得する。
【００５９】
すなわち、情報提供装置１０は、各モデル＃１〜＃ｎが対象文章から生成した単語を１つ１つ統合するのではなく、各モデル＃１〜＃ｎを独立に用いて、対象文章から見出し＃１〜＃ｎを生成する。例えば、情報提供装置１０は、モデル＃１に対して対象文章に含まれる単語を出現順に入力し、その後モデル＃１が出力した単語を逐次モデル＃１に入力し直すことで、見出し＃１に含まれる単語を出現順にモデル＃１から出力させる。このように、情報提供装置１０は、各モデル＃１〜＃ｎを個別に用いて、複数の見出し＃１〜＃ｎを個別に出力するので、例えば、各モデル＃１〜＃ｎによる見出し＃１〜＃ｎの生成を並列化することができる。
【００６０】
続いて、情報提供装置１０は、見出し同士の類似度をそれぞれ特定する（ステップＳ３）。例えば、情報提供装置１０は、各見出し＃１〜＃ｎをぞれぞれ分散表現化する。例えば、情報提供装置１０は、見出しに含まれる各単語を、ｗｏｒｄ２ｖｅｃを用いて、対応する所定の値に変換することで、見出しを分散表現に変換してもよい。また、情報提供装置１０は、各種文章を分散表現化する任意の手法を用いて、各見出しを分散表現化してもよい。
【００６１】
そして、情報提供装置１０は、各見出しの分散表現間の類似度を特定する。例えば、情報提供装置１０は、各見出しの分散表現間のコサイン類似度を特定する。例えば、情報提供装置１０は、見出し＃１の分散表現と見出し＃２の分散表現との間のコサイン類似度を、見出し＃１と見出し＃２との間の類似度＃１−２として算出する。
【００６２】
そして、情報提供装置１０は、特定した類似度に基づいて、各モデル＃１〜＃ｎが生成した見出し＃１〜＃ｎから、対象文章の見出しとして出力する見出しを選択する。すなわち、情報提供装置１０は、特定した類似度に基づいて、対象文章から生成されるであろう見出しの確率密度関数を推定し、確率密度関数が示す確率分布、すなわち、対象文章から生成されるであろう見出しの確率分布のうち、多くの見出しが属するであろう範囲に含まれる見出しを、見出し同士の類似度に基づいて選択する（ステップＳ４）。
【００６３】
例えば、各モデル＃１〜＃ｎが生成した見出し＃１〜＃ｎを標本とした場合、見出し＃１〜＃ｎ間の類似性は、標本間の類似性と見做すことができる。ここで、図１のステップＳ４に示すように、各見出し＃１〜＃ｎを類似性に基づいて１次元空間に投影した場合、多くの類似する見出しが生成される範囲に投影される見出しは、多くの類似する見出しが生成されうる領域に投影されていると言える。ここで、複数のモデルが適切に学習されている場合、多くのモデルの出力は、適切な見出しに近付くと推定される。換言すると、各見出しを標本として推定される確率密度関数が示す確率分布において、より多くの見出しが属する範囲には、より適切な見出しが投影されると考えらえる。そこで、情報提供装置１０は、上述した式（４）を満たす見出し（例えば、見出し＃Ｘ）を出力対象として選択する。すなわち、情報提供装置１０は、最も多くの見出しが投影されうる領域（すなわち、確率分布が最も高い領域）に最も近い見出しを選択する。
【００６４】
そして、情報提供装置１０は、見出しを配信装置２００に提供する（ステップＳ５）。このような場合、配信装置２００は、見出しを端末装置１００に配信する（ステップＳ６）。また、端末装置１００は、見出しに基づいて利用者が選択した文章の配信を配信装置２００に要求する（ステップＳ７）。このような場合、配信装置２００は、要求された文章を端末装置１００に配信する（ステップＳ８）。
【００６５】
〔１−５．適用対象について〕
上述した例では、情報提供装置１０は、複数の単語を含む入力文章から、複数の単語を含む見出しを生成する複数のモデルをそれぞれ個別に用いて、対象文章から複数の見出しの候補を生成し、各見出し同士の類似性に基づいて、対象文章の見出しを見出しの候補の中から選択した。しかしながら、実施形態は、これに限定されるものではない。上述した出力処理は、連続性を有する複数の情報をモデルの入力或いは出力とするのであれば、任意の情報について適用可能である。
【００６６】
例えば、音声データは、音の周波数を時系列順に並べた情報であると言える。情報提供装置１０は、このような音声データについて、上述した出力処理を実行して良い。例えば、情報提供装置１０は、音声データから新たな音声データを生成するモデルを複数生成する。より具体的な例を挙げると、情報提供装置１０は、男性の声を含む音声データを女性の声を含むの音声データに変換するモデルを複数生成してもよく、大人の声を含む音声データを子供の声を含む音声データに変換するモデルを複数生成してもよい。また、情報提供装置１０は、音声データの要約となる音声データを生成するモデルを複数生成してもよい。
【００６７】
そして、情報提供装置１０は、処理対象となる音声データを各モデルに個別に入力し、各モデルがそれぞれ個別に出力した音声データ同士の類似度に基づいて、処理対象となる音声データに対応する音声データを選択すればよい。すなわち、情報提供装置１０は、入力された音声データと対応する音声データであって、出力対象とする音声データを、各モデルが個別に生成した音声データの中から、音声データ同士の類似度に基づいて選択すればよい。
【００６８】
なお、情報提供装置１０は、例えば、動画像、株価の時系列変化を示す情報、渋滞の時系列変化を示す情報等、複数の情報を含み、各情報の出現順序が意味を有する情報を入力情報とし、同様に複数の情報を含み、各情報の出現順序が意味を有する情報を出力情報とするのであれば、任意の情報について、上述した出力処理を実行してよい。
【００６９】
〔２．情報提供装置が有する機能構成の一例について〕
以下、上記した検出処理および配信処理を実現する情報提供装置１０が有する機能構成の一例について説明する。図３は、実施形態に係る情報提供装置の構成例を示す図である。図３に示すように、情報提供装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００７０】
通信部２０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部２０は、ネットワークＮと有線または無線で接続され、任意の装置との間での情報の送受信を行う。
【００７１】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現されてる。また、記憶部３０は、学習データデータベース３１およびモデルデータベース３２を記憶する。
【００７２】
学習データデータベース３１には、モデルの学習に用いる学習データが登録される。例えば、図４は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。図４に示すように、学習データデータベースには、「テキストＩＤ（Identifier）」、「テキストデータ」、「第１抽出単語」、「見出しテキストデータ」、および「第２抽出単語」といった項目を有する情報が登録される。
【００７３】
ここで、「テキストＩＤ」とは、学習データとなる文章の識別子、すなわち、学習文章の識別子である。また、「テキストデータ」とは、学習文章のテキストデータである。また、「第１抽出単語」とは、対応付けられた学習文章から抽出された単語であり、対応付けられたテキストデータから抽出された順に登録されている。また、「見出しテキストデータ」とは、対応付けられたテキストデータの見出しとなるテキストデータである。また、「第２抽出単語」とは、対応付けられた見出しテキストデータから抽出された単語であり、対応付けられたテキストデータから抽出された順に登録されている。
【００７４】
なお、図４に示す例では、「テキストデータ＃Ｔ１」、「単語＃１−１」、「見出しテキストデータ＃Ｔ１」、「単語＃２−１」といった概念的な値を記載したが、実際には、学習文章や見出しのテキストのデータや単語のテキスト等が登録されることとなる。また、図４に示す情報以外にも、学習データデータベース３１には、学習データに関する任意の情報が登録されていてよい。
【００７５】
例えば、図４に示す例では、学習データデータベース３１には、テキストＩＤ「Ｔ１」が示す学習文章として、テキストデータ「テキストデータ＃Ｔ１」が登録されており、テキストデータ「テキストデータ＃Ｔ１」に含まれる「単語＃１−１」、「単語＃１−２」が、テキストデータ「テキストデータ＃Ｔ１」において出現する順に登録されている。また学習データデータベース３１には、テキストデータ「テキストデータ＃Ｔ１」と対応する見出しとして、見出しテキストデータ「見出しテキストデータ＃Ｔ１」が登録されており、見出しテキストデータ「見出しテキストデータ＃Ｔ１」に含まれる「単語＃２−１」、「単語＃２−２」が、見出しテキストデータ「見出しテキストデータ＃Ｔ１」において出現する順に登録されている。
【００７６】
図２に戻り、説明を続ける。モデルデータベース３２には、順序性を有する複数の情報を含む入力情報から、順序性を有する複数の情報を含む出力情報を生成する複数のモデルが登録されている。より具体的には、モデルデータベース３２には、初期パラメータをランダムに変更した複数のモデルであって、入力文章に含まれる各単語を出現順に入力すると、出力文章に含まれる各単語を出現順に出力するモデルが登録されている。例えば、モデルデータベース３２には、入力文章の見出しを生成するＲＮＮが登録されている。
【００７７】
例えば、図５は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。図５に示すように、学習データデータベースには、「モデルＩＤ」、「モデルデータ」、および「初期値」といった項目を有する情報が登録される。
【００７８】
ここで、「モデルＩＤ」とは、モデルを識別する識別子である。また、「モデルデータ」とは、モデルのデータであり、例えば、ＲＮＮを構成するノード間の接続関係や、ノード間を接続する接続経路における接続係数（すなわち、各ノードが出力した値に対して適用される重み）等が登録される。また、「初期値」とは、各モデルを生成する際に採用した初期値を示す情報であり、例えば、ＲＮＮを構成するノード間の接続係数の初期値である。
【００７９】
図５に示す例では、モデルデータベース３２には、モデルＩＤ「モデル＃１」、モデルデータ「モデルデータ＃１」、および初期値「初期値＃１」が対応付けて登録されている。このような情報は、モデルＩＤ「モデル＃１」が示すモデルのデータがモデルデータ「モデルデータ＃１」であり、初期値「初期値＃１」から学習が行われたモデルであるものとする。
【００８０】
なお、図５に示す例では、「モデルデータ＃１」や「初期値」といった概念的な値を記載したが、実際には、接続関係や接続係数を示す数値が等が登録されることとなる。また、図５に示す情報以外にも、モデルデータベース３２には、モデルに関する任意の情報が登録されていてよい。
【００８１】
図３に戻り、説明を続ける。制御部４０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、情報提供装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部４０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００８２】
図４に示すように、制御部４０は、学習部４１、取得部４２、推定部４３、選択部４４、および出力部４５を有する。
【００８３】
学習部４１は、入力情報から順序関係を有する複数の情報を含んだ出力情報を生成する複数のモデルの学習を行う。より具体的には、学習部４１は、ノード間の接続係数がランダムに異なる複数のモデルから生成した複数のモデルであって、それぞれ個別に学習情報が有する特徴をモデルに学習させる。例えば、学習部４１は、再帰型ニューラルネットワークの学習を行う。
【００８４】
例えば、学習部４１は、接続係数の値をそれぞれランダムに変更した複数のＲＮＮをモデルとして生成する。続いて、学習部４１は、学習データデータベース３１に登録された学習データを用いて、各モデルの学習をそれぞれ個別に実行する。例えば、学習部４１は、あるテキストデータから抽出された第１抽出単語を順番にモデルに入力した際に、そのテキストデータと対応する見出しテキストデータから抽出された第２抽出単語を、順番に出力するように、モデルが有する接続係数を補正を行う。すなわち、学習部４１は、エンコーダとデコーダーとを有するエンコーダデコーダモデルの学習を行う。
【００８５】
より具体的には、学習部４１は、第１抽出単語を全て入力した後で、第２抽出単語のうち最初に出現する単語を出力し、その単語をさらに入力した際に、第２抽出単語のうち２番目に出現する単語を出力するように、モデルの学習を行う。なお、学習については、バックプロパゲーション等、任意の学習が採用可能である。そして、学習部４１は、各モデルごとに学習を実行し、学習済のモデルをモデルデータベース３２に登録する。
【００８６】
取得部４２は、入力情報から順序関係を有する複数の情報を含んだ出力情報を生成する複数のモデルが所定の対象情報から生成した複数の出力情報を取得する。例えば、取得部４２は、モデルとして、出力された情報が入力された場合に、新たな情報を出力する再帰型ニューラルネットワークが生成した出力情報を取得する。また、情報提供装置１０は、ノード間の接続係数がランダムに異なる複数のモデルから生成した複数のモデルであって、それぞれ個別に学習情報が有する特徴を学習させた複数のモデルが生成した出力情報を取得する。
【００８７】
例えば、取得部４２は、モデルとして、複数の情報を含む入力情報が入力された場合に入力情報が有する特徴を示す特徴情報を生成するエンコーダと、エンコーダが生成した特徴情報から出力情報に含まれる複数の情報を順に生成するデコーダとを含む複数のモデルが所定の対象情報から生成した複数の出力情報を取得する。また、例えば、取得部４２は、テキストである入力情報からテキストである出力情報を生成する複数のモデルが、テキストである対象情報から生成した複数の出力情報を取得する。また、取得部４２、テキストである入力情報から、テキストの見出し若しくは要約となるテキストである出力情報を生成する複数のモデルが、テキストである対象情報から生成した複数の出力情報を取得する。
【００８８】
例えば、取得部４２は、配信装置２００から処理対象となる対象文章を受付ける。このような場合、取得部４２は、モデルデータベース３２に登録された各モデルごとに、以下の処理を実行する。まず、取得部４２は、対象文章に含まれる単語を抽出し、抽出した単語の特徴量を、各単語の出現順にモデルに入力する。続いて、取得部４２は、モデルが最初に出力した特徴量から見出しの最初に登場する単語を特定するとともに、モデルが出力した特徴量を再度モデルに入力することで、次に出現する単語の特徴量をモデルから出力させる。そして、情報提供装置１０は、モデルが特徴量を出力する度に、モデルが出力した特徴量を再度モデルに入力することで、見出しに含まれる各単語の特徴量を、各単語の出現順に取得する。その後、取得部４２は、取得した特徴量から見出しに含まれる各単語を特定し、特定した単語から見出しとなるテキストを生成する。
【００８９】
推定部４３は、出力情報同士の類似性に基づいて、所定の対象情報から生成されうる出力情報の確率分布を推定する。例えば、推定部４３は、複数のモデルが生成した出力情報を標本と見做したカーネル密度推定により、所定の対象情報から生成されうる出力情報の確率分布を推定する。
【００９０】
例えば、推定部４３は、取得部４２によって取得された各見出しを分散表現に変換し、各分散表現の類似度を算出する。例えば、推定部４３は、上述した式（５）、式（７）若しくは式（９）を用いて、各分散表現の類似度を算出する。そして、推定部４３は、式（２）を用いて、各分散表現のスコアｃを算出する。ここで、式（２）を用いて各分散表現スコアｃを算出する処理は、式（６）を用いて、各見出しを標本とする確率密度関数を推定する処理、すなわち、複数のモデルが出力した見出しを標本と見做したカーネル密度推定により、所定の対象情報から生成されうる出力情報の確率分布を推定する処理と同義となる。
【００９１】
選択部４４は、複数の出力情報同士の類似性に基づいて、複数の出力情報の中から対象情報と対応する対応情報として出力する出力情報を選択する。また、選択部４４は、複数の出力情報の意味的な類似性に基づいて、対応情報として出力する出力情報を選択する。また、選択部４４は、複数の出力情報と対応するベクトルのコサイン類似度に基づいて、対応情報として出力する出力情報を選択する。例えば、選択部４４は、出力情報に含まれる複数の情報のそれぞれと対応するベクトルを統合したベクトルを出力情報と対応するベクトルとして生成し、生成したベクトル同士のコサイン類似度に基づいて、対応情報として出力する出力情報を選択する。
【００９２】
ここで、選択部４４は、複数の出力情報のうち、他の出力情報との類似性が高い出力情報を選択する。すなわち、選択部４４は、複数の出力情報のうち、確率分布における所定の領域に含まれる出力情報を選択する。換言すると、選択部４４は、確率分布のうち、より多くの出力情報が含まれうる領域に含まれる出力情報を選択する。
【００９３】
例えば、選択部４４は、式（２）で示される各見出しのスコアｃを取得する。そして、選択部４４は、各見出しのうち、スコアｃの値が最も大きい見出しを出力対象として選択する。すなわち、選択部４４は、生成されうる見出しの確率分布のうち、最も多くの見出しが生成されうる領域に含まれる見出しを、各モデルが生成した見出しの中から選択する。換言すると、選択部４４は、より見出しとして相応しい可能性が高い見出しを選択する。
【００９４】
出力部４５は、選択部４４により選択された出力情報を対応情報として出力する。例えば、出力部４５は、選択部４４により選択された見出しを、入力文章の見出しとして配信装置２００に出力する。
【００９５】
〔３．情報提供装置が実行する処理の流れについて〕
次に、図６を用いて、情報提供装置１０が実行する処理の流れの一例について説明する。図６は、実施形態に係る情報提供装置が実行する出力処理の流れの一例を示すフローチャートである。
【００９６】
まず、情報提供装置１０は、文章を受付けると（ステップＳ１０１）、複数のモデルを用いて、文章から複数の見出しを生成する（ステップＳ１０２）。そして、情報提供装置１０は、見出し同士の類似性に基づいて、他の見出しとの類似性が高い見出しを選択する（ステップＳ１０３）。その後、情報提供装置１０は、選択した見出しを受付けた文章の見出しとして出力し（ステップＳ１０４）、処理を終了する。
【００９７】
〔４．変形例〕
上記では、情報提供装置１０による出力処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置１０が実行する処理のバリエーションについて説明する。
【００９８】
〔４−１．モデルについて〕
上述した説明では、情報提供装置１０は、ＲＮＮをモデルとして採用した。より具体的には、情報提供装置１０は、入力情報に含まれる情報を出現順に入力した場合に、出力情報に含まれる情報を出現順に出力するモデルであって、前回出力した情報を再度入力した場合に、その情報の次に出現する情報を出力するモデルを採用した。しかしながら、実施形態は、これに限定されるものではない。
【００９９】
例えば、情報提供装置１０は、ＣＮＮやＬＳＴＭにより実現される複数のモデルを用いて、複数の見出しの候補を生成し、生成した候補同士の類似性に基づいて、見出しとする候補の選択を行ってもよい。また、情報提供装置１０は、それぞれ種別が異なるモデルを用いてもよい。例えば、情報提供装置１０は、入力情報から出力情報を生成するＣＮＮ、ＬＳＴＭ、ＲＮＮのそれぞれを用いて、入力情報と対応する出力情報の候補を生成し、生成した候補の類似性に基づいて、出力情報とする候補の選択を行ってもよい。
【０１００】
このように、情報提供装置１０は、モデルの種別に係わらず、複数のモデルをそれぞれ独立に用いて入力情報から出力情報を生成し、生成した出力情報同士の類似性に基づいて、生成した出力情報の中から、出力対象とする出力情報を選択すればよい。このような処理を実行することにより、情報提供装置１０は、各モデルを用いて入力情報から出力情報を生成する処理の並列化を実現するので、効率的な出力情報の生成を実現することができる。
【０１０１】
〔４−２．各モデルの初期値について〕
上述した例では、情報提供装置１０は、ランダムな初期値から学習が行われた複数のモデルをそれぞれ独立に用いることで、出力情報の候補の生成を行った。しかしながら、実施形態は、これに限定されるものではない。情報提供装置１０は、それぞれ異なるモデルを用いて複数の出力情報の候補を個別に生成し、生成した出力情報の候補から出力情報を選択するのであれば、任意の手法により学習が行われたモデルを採用することができる。
【０１０２】
例えば、情報提供装置１０は、同一のモデルから生成された複数のモデルであって、学習情報が有する特徴をそれぞれ異なる段階まで学習させた複数のモデルにより生成された出力情報を取得してもよい。例えば、情報提供装置１０は、１つのモデルを準備し、学習情報が有する特徴を学習させる。ここで、情報提供装置１０は、ある段階までモデルの学習を進めた場合は、そのモデルのコピーを生成し、生成したモデルのコピーを第１モデルとして採用する。また、情報提供装置１０は、モデルの学習をさらに進め、ある段階までモデルの学習を進めた場合は、そのモデルのコピーを第２モデルとして採用する。すなわち、情報提供装置１０は、単一のモデルから生成された複数のモデルであって、それぞれ学習段階が異なる複数のモデルを準備する。そして、情報提供装置１０は、準備した複数のモデルを用いて、出力情報の候補を生成してもよい。
【０１０３】
また、例えば、情報提供装置１０は、ノード間の接続関係がそれぞれ異なる複数のモデルにより生成された出力情報を取得してもよい。すなわち、情報提供装置１０は、それぞれ構造が異なる複数のモデルを用いて、出力情報の候補を生成してもよい。
【０１０４】
また、例えば、情報提供装置１０は、それぞれ異なる学習対象情報の特徴を学習した複数のモデルであって、所定の学習情報から生成された複数の学習対象情報の特徴を学習した複数のモデルにより生成された出力情報を取得してもよい。すなわち、情報提供装置１０は、バギングの手法を用いて学習が行われた複数のモデルを用いてもよい。例えば、情報提供装置１０は、学習情報からブートストラップサンプリングによって複数の学習対象情報を生成する。そして、情報提供装置１０は、それぞれ異なる学習対象情報を用いて学習が行われた複数のモデルを準備し、これらのモデルを用いて出力情報の候補を生成してもよい。
【０１０５】
〔４−３．装置構成〕
記憶部３０に登録された各データベース３１、３２は、外部のストレージサーバに保持されていてもよい。また、情報提供装置１０は、学習処理を実行する学習サーバ、および出力処理を実行する出力サーバとが連携して動作することにより、実現されてもよい。このような場合、学習サーバには図３に示す学習部４１が配置され、出力サーバには取得部４２、推定部４３、選択部４４、および出力部４５が配置されていればよい。
【０１０６】
〔４−４．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１０７】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１０８】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１０９】
〔４−５．プログラム〕
また、上述した実施形態に係る情報提供装置１０は、例えば図７に示すような構成のコンピュータ１０００によって実現される。図７は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（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）」は、「手段」や「回路」などに読み替えることができる。例えば、検出部は、検出手段や検出回路に読み替えることができる。
【符号の説明】
【０１２５】
１０  情報提供装置
２０  通信部
３０  記憶部
３１  学習データデータベース
３２  モデルデータベース
４０  制御部
４１  学習部
４２  取得部
４３  推定部
４４  選択部
４５  出力部
１００  端末装置
２００  配信装置
【図１】
2020004054.tif 000014
【図２】
2020004054.tif 000015
【図３】
2020004054.tif 000016
【図４】
2020004054.tif 000017
【図５】
2020004054.tif 000018
【図６】
2020004054.tif 000019
【図７】
2020004054.tif 000020