特許第6355800号(P6355800)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤフー株式会社の特許一覧

特許6355800学習装置、生成装置、学習方法、生成方法、学習プログラム、および生成プログラム
<>
  • 特許6355800-学習装置、生成装置、学習方法、生成方法、学習プログラム、および生成プログラム 図000002
  • 特許6355800-学習装置、生成装置、学習方法、生成方法、学習プログラム、および生成プログラム 図000003
  • 特許6355800-学習装置、生成装置、学習方法、生成方法、学習プログラム、および生成プログラム 図000004
  • 特許6355800-学習装置、生成装置、学習方法、生成方法、学習プログラム、および生成プログラム 図000005
  • 特許6355800-学習装置、生成装置、学習方法、生成方法、学習プログラム、および生成プログラム 図000006
  • 特許6355800-学習装置、生成装置、学習方法、生成方法、学習プログラム、および生成プログラム 図000007
  • 特許6355800-学習装置、生成装置、学習方法、生成方法、学習プログラム、および生成プログラム 図000008
  • 特許6355800-学習装置、生成装置、学習方法、生成方法、学習プログラム、および生成プログラム 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6355800
(24)【登録日】2018年6月22日
(45)【発行日】2018年7月11日
(54)【発明の名称】学習装置、生成装置、学習方法、生成方法、学習プログラム、および生成プログラム
(51)【国際特許分類】
   G06N 99/00 20100101AFI20180702BHJP
   G06N 3/08 20060101ALI20180702BHJP
   G06N 3/04 20060101ALI20180702BHJP
   G06F 17/30 20060101ALI20180702BHJP
   G06F 17/27 20060101ALI20180702BHJP
【FI】
   G06N99/00 150
   G06N3/08
   G06N3/04 154
   G06F17/30 220Z
   G06F17/27 665
【請求項の数】17
【全頁数】27
(21)【出願番号】特願2017-126710(P2017-126710)
(22)【出願日】2017年6月28日
【審査請求日】2017年10月18日
【新規性喪失の例外の表示】特許法第30条第2項適用 平成29年6月7日パシフィコ横浜アネックスホールにおいて開催されたSSII2017におけるインタラクティブセッションで発表
【早期審査対象出願】
(73)【特許権者】
【識別番号】500257300
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】野口 正樹
(72)【発明者】
【氏名】中井 亮
(72)【発明者】
【氏名】小林 隼人
(72)【発明者】
【氏名】田頭 幸浩
(72)【発明者】
【氏名】村尾 一真
【審査官】 多賀 実
(56)【参考文献】
【文献】 特開平02−096467(JP,A)
【文献】 特開2012−038240(JP,A)
【文献】 特開2005−309427(JP,A)
【文献】 米国特許出願公開第2017/0132526(US,A1)
【文献】 張 よう 外6名,「ニュース文と画像内容の一致性を考慮した複数ニュース映像の要約」,電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2016年 2月29日,Vol.115 No.495,pp.67-72
(58)【調査した分野】(Int.Cl.,DB名)
G06F17/20−17/30
G06N 3/00−99/00
(57)【特許請求の範囲】
【請求項1】
それぞれ異なる種別の複数の入力情報を取得する取得部と、
前記複数の入力情報を入力した際に、各入力情報と対応する複数の出力情報を出力するように、前記入力情報から当該入力情報が有する特徴を示す特徴情報を生成する複数の符号化器と、当該複数の符号化器が生成した特徴情報を合成した合成情報を生成する合成器と、合成器が生成した合成情報からそれぞれ異なる種別の出力情報を生成する複数の復号器とを含むモデルの学習を行う学習部と
を有することを特徴とする学習装置。
【請求項2】
前記学習部は、前記複数の復号器として、前記合成情報からそれぞれ異なる種別の出力情報を生成する複数の復号器であって、それぞれ異なる符号化器に入力される入力情報と同じ種別の出力情報を出力する前記複数の復号器を学習する
ことを特徴とする請求項1に記載の学習装置。
【請求項3】
前記学習部は、それぞれ異なる種別の情報が有する特徴を学習した前記複数の符号化器と、それぞれ異なる符号化器と同じ種別の情報が有する特徴を学習した前記複数の復号器とを学習する
ことを特徴とする請求項1または2に記載の学習装置。
【請求項4】
前記学習部は、少なくとも、画像が有する特徴を示す特徴情報を生成する第1符号化器と、テキストが有する特徴を示す特徴情報を生成する第2符号化器と、第1符号化器および第2符号化器が生成した特徴情報を合成した合成情報を生成する合成器と、当該合成情報から前記画像に対応する出力情報を生成する第1復号器と、当該合成情報から前記テキストに対応する出力情報を生成する第2復号器とを学習する
ことを特徴とする請求項1〜3のうちいずれか1つに記載の学習装置。
【請求項5】
前記学習部は、前記出力情報の出力態様に応じた合成態様で、各符号化器が生成した特徴情報を合成した合成情報を生成する合成器を学習する
ことを特徴とする請求項1〜4のうちいずれか1つに記載の学習装置。
【請求項6】
前記学習部は、前記出力情報の出力先となる利用者の属性に応じた合成態様で、各符号化器が生成した特徴情報を合成した合成情報を生成する合成器を学習する
ことを特徴とする請求項5に記載の学習装置。
【請求項7】
前記学習部は、各符号化器が生成した特徴情報を線形結合した結合情報から、前記出力情報の出力態様に応じた合成情報を生成する合成器を学習する
ことを特徴とする請求項5または6に記載の学習装置。
【請求項8】
前記学習部は、入力情報の種別に応じた構造を有し、入力された情報が有する特徴を示す中間表現を生成する複数のモデルと、各モデルが生成した中間表現から前記特徴情報を生成する前記複数の符号化器を学習する
ことを特徴とする請求項1〜7のうちいずれか1つに記載の学習装置。
【請求項9】
前記学習部は、テキストである入力情報の中間表現を生成するモデルとして、再帰型ニューラルネットワークであるモデルを学習し、画像である入力情報の中間表現を生成するモデルとして、畳み込みニューラルネットワークであるモデルを学習する
ことを特徴とする請求項8に記載の学習装置。
【請求項10】
前記学習部は、符号化器と復号器との組であって、それぞれ異なる種別の情報が有する特徴を学習した複数の組に含まれる複数の符号化器と複数の復号器との学習を行う
ことを特徴とする請求項1〜9のうちいずれか1つに記載の学習装置。
【請求項11】
前記学習部は、所定のコンテンツに含まれる複数の入力情報から、関連する内容の出力情報を出力するように、前記符号化器、前記合成器、および前記復号器の少なくともいずれか一つの学習を行う
ことを特徴とする請求項1〜10のうちいずれか1つに記載の学習装置。
【請求項12】
それぞれ異なる種別の入力情報を入力した際に、各入力情報と対応する複数の出力情報を出力するように学習が行われたモデルであって、前記入力情報から当該入力情報が有する特徴を示す特徴情報を生成する複数の符号化器と、当該複数の符号化器が生成した特徴情報を合成した合成情報を生成する合成器と、合成器が生成した合成情報から、それぞれ異なる種別の入力情報に対応する出力情報を生成する複数の復号器とを含むモデルを用いて、所定のコンテンツに含まれる複数の入力情報に対応する複数の出力情報を取得する取得部と、
前記取得部が取得した複数の出力情報から、前記所定のコンテンツに対応する対応コンテンツを生成する生成部と
を有することを特徴とする生成装置。
【請求項13】
学習装置が実行する学習方法であって、
それぞれ異なる種別の複数の入力情報を取得する取得工程と、
前記複数の入力情報を入力した際に、各入力情報と対応する複数の出力情報を出力するように、前記入力情報から当該入力情報が有する特徴を示す特徴情報を生成する複数の符号化器と、当該複数の符号化器が生成した特徴情報を合成した合成情報を生成する合成器と、合成器が生成した合成情報からそれぞれ異なる種別の出力情報を生成する複数の復号器とを含むモデルの学習を行う学習工程と
を含むことを特徴とする学習方法。
【請求項14】
生成装置が実行する生成方法であって、
それぞれ異なる種別の入力情報を入力した際に、各入力情報と対応する複数の出力情報を出力するように学習が行われたモデルであって、前記入力情報から当該入力情報が有する特徴を示す特徴情報を生成する複数の符号化器と、当該複数の符号化器が生成した特徴情報を合成した合成情報を生成する合成器と、合成器が生成した合成情報から、それぞれ異なる種別の入力情報に対応する出力情報を生成する複数の復号器とを含むモデルを用いて、所定のコンテンツに含まれる複数の入力情報に対応する複数の出力情報を取得する取得工程と、
前記取得された複数の出力情報から、前記所定のコンテンツに対応する対応コンテンツを生成する生成工程と
を含むことを特徴とする生成方法。
【請求項15】
それぞれ異なる種別の複数の入力情報を取得する取得手順と、
前記複数の入力情報を入力した際に、各入力情報と対応する複数の出力情報を出力するように、前記入力情報から当該入力情報が有する特徴を示す特徴情報を生成する複数の符号化器と、当該複数の符号化器が生成した特徴情報を合成した合成情報を生成する合成器と、合成器が生成した合成情報からそれぞれ異なる種別の出力情報を生成する複数の復号器とを含むモデルの学習を行う学習手順と
をコンピュータに実行させるための学習プログラム。
【請求項16】
それぞれ異なる種別の入力情報を入力した際に、各入力情報と対応する複数の出力情報を出力するように学習が行われたモデルであって、前記入力情報から当該入力情報が有する特徴を示す特徴情報を生成する複数の符号化器と、当該複数の符号化器が生成した特徴情報を合成した合成情報を生成する合成器と、合成器が生成した合成情報から、それぞれ異なる種別の入力情報に対応する出力情報を生成する複数の復号器とを含むモデルを用いて、所定のコンテンツに含まれる複数の入力情報に対応する複数の出力情報を取得する取得手順と、
前記取得された複数の出力情報から、前記所定のコンテンツに対応する対応コンテンツを生成する生成手順と
をコンピュータに実行させるための生成プログラム。
【請求項17】
コンピュータを、
れぞれ異なる種別の入力情報から当該入力情報が有する特徴を示す特徴情報を生成する処理を実行させるための複数の符号化器と、
記複数の符号化器が生成した特徴情報を合成した合成情報を生成する処理を実行させるための合成器と、
記合成器が生成した合成情報から、それぞれ異なる種別の入力情報に対応する出力情報を生成する処理を実行させるための複数の復号器と
として動作させるための生成プログラムであって、
前記生成プログラムは、前記コンピュータを、それぞれ異なる種別の入力情報を入力した際に、各入力情報と対応する複数の出力情報を出力するように学習が行われた前記複数の符号化器、前記合成器、および前記複数の復号器として動作させる
ことを特徴とする生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、生成装置、学習方法、生成方法、学習プログラム、および生成プログラに関する。
【背景技術】
【0002】
従来、種別が異なる複数のデータの組を学習データとし、学習データが有する関連性をモデルに学習させ、学習結果を用いて各種の処理を実行する技術が知られている。このような技術の一例として、言語データと非言語データとの組を学習データとし、学習データが有する関係性をモデルに学習させ、学習済みのモデルを用いて、非言語データに対応する言語データの推定を行う技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2016−004550号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した学習技術では、学習データが有する関係性の学習が困難となる場合がある。
【0005】
例えば、モデルに学習データの特徴を精度良く学習させる場合には、比較的多くの学習データが必要となる。しかしながら、学習させたい関係性を有するデータの組を準備するのは、手間がかかるため、十分な数の学習データを準備することができない恐れがある。
【0006】
本願は、上記に鑑みてなされたものであって、学習データが有する関係性の学習を容易にすることを目的とする。
【課題を解決するための手段】
【0007】
本願に係る学習装置は、それぞれ異なる種別の複数の入力情報を取得する取得部と、前記複数の入力情報を入力した際に、各入力情報と対応する複数の出力情報を出力するように、前記入力情報から当該入力情報が有する特徴を示す特徴情報を生成する複数の符号化器と、当該複数の符号化器が生成した特徴情報を合成した合成情報を生成する合成器と、合成器が生成した合成情報からそれぞれ異なる種別の出力情報を生成する複数の復号器とを含むモデルの学習を行う学習部とを有することを特徴とする。
【発明の効果】
【0008】
実施形態の一態様によれば、学習データが有する関係性の学習を容易にすることができる。
【図面の簡単な説明】
【0009】
図1図1は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。
図2図2は、実施形態に係る情報提供装置の構成例を示す図である。
図3図3は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。
図4図4は、実施形態に係るモデルデータベースに登録される情報の一例を示す図である。
図5図5は、実施形態に係る情報提供装置が学習させる処理モデルの構造の一例を説明する図である。
図6図6は、実施形態に係る情報提供装置が実行する学習処理の流れの一例を示すフローチャートである。
図7図7は、実施形態に係る情報提供装置が実行する生成処理の流れの一例を示すフローチャートである。
図8図8は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る学習装置、生成装置、学習方法、生成方法、学習プログラム、および生成プログラを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習装置、生成装置、学習方法、生成方法、学習プログラム、および生成プログラが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。

【0011】
[実施形態]
〔1−1.情報提供装置の一例〕
まず、図1を用いて、生成装置および学習装置の一例である情報提供装置が実行する学習処理および生成処理の一例について説明する。図1は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。図1では、情報提供装置10は、インターネット等の所定のネットワークN(例えば、図2参照)を介して、所定のクライアントが使用するデータサーバ50および端末装置100と通信可能である。
【0012】
情報提供装置10は、後述する学習処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。また、データサーバ50は、情報提供装置10が後述する学習処理を実行する際に用いる学習データや、情報提供装置10が後述する生成処理を実行する際に出力する配信コンテンツを管理する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。
【0013】
例えば、データサーバ50は、端末装置100に対してニュースや、利用者によって投稿された各種のコンテンツを配信する配信サービスを実行する。このような配信サービスは、例えば、各種ニュースの配信サイトやSNS(Social Networking Service)等により実現される。
【0014】
端末装置100は、スマートフォンやタブレット等のスマートデバイスであり、3G(3rd Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。なお、端末装置100は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。
【0015】
〔1−2.要約の配信について〕
ここで、データサーバ50は、配信対象となる配信コンテンツが複数存在する場合には、各配信コンテンツを全て配信するのではなく、各配信コンテンツの要約となる要約コンテンツを端末装置100へと配信し、配信した要約コンテンツのうち利用者が選択した要約コンテンツと対応する配信コンテンツを配信する場合がある。しかしながら、配信コンテンツごとに、人手で要約コンテンツを生成するのは、手間がかかる。
【0016】
そこで、各種情報が有する特徴を学習したモデルを用いて、配信コンテンツから要約コンテンツを自動的に生成するといった技術が考えらえる。例えば、データサーバ50が配信する配信コンテンツには、写真等の画像、見出しとなるテキスト、本文となるテキスト等、それぞれ異なる種別の情報が含まれる場合がある。このような場合、配信コンテンツに含まれる各情報の種別ごとに、各情報の特徴を学習されたモデルを個別に生成し、生成した複数のモデルを用いて、配信コンテンツに含まれる各情報から情報の要約を生成するといった手法が考えられる。
【0017】
例えば、情報ごとに異なるモデルを用いて要約を生成する要約サーバは、配信コンテンツに含まれる画像と、その配信コンテンツの要約である要約コンテンツに含めるべき要約画像(すなわち、サムネイル)とを学習データとして取得する。そして、要約サーバは、画像から要約画像を生成するようにモデルの学習を行う。このような学習は、例えば、複数のノードを多段に接続したDNN(Deep Neural Network)等のニューラルネットワーク等により実演される。同様に、要約サーバは、配信コンテンツに含まれる見出しや本文から、要約コンテンツに含める要約見出しや要約本文等を生成するようにモデルの学習を行う。そして、要約サーバは、学習した各モデルを用いて、新たな配信コンテンツに含まれる画像、見出し、本文等から要約画像、要約見出し、要約本文をそれぞれ生成し、生成した要約画像、要約見出し、要約本文を用いて要約コンテンツを生成する。
【0018】
しかしながら、上述した処理では、適切な要約コンテンツを生成することができない恐れがある。例えば、上述した要約サーバは、配信コンテンツに含まれる情報ごとに、異なるモデルを用いて要約を生成するので、各モデルが生成する要約の内容が一致しない恐れがある。より具体的な例を挙げると、複数の人物が撮影された画像と、撮影された人物のうちいずれかの人物に関連する本文を含む配信コンテンツが存在する場合、本文から要約本文を生成するモデルが適切な要約を作成したとしても、画像から要約画像を生成するモデルが、本文に関連する人物とは異なる人物が撮影された範囲を要約画像として抽出する恐れがある。
【0019】
そこで、配信コンテンツが含む複数の情報から、直接要約コンテンツを生成するといった手法が考えられる。例えば、要約サーバは、配信コンテンツから要約コンテンツを生成するように学習が行われたモデルを用いて、配信コンテンツから要約コンテンツを生成する。しかしながら、このような手法では、モデルの学習に要する時間や計算リソースが増大する。
【0020】
〔1−3.学習処理について〕
そこで、情報提供装置10は、以下の学習処理を実行することで、配信コンテンツから要約コンテンツを生成するための処理モデルの学習を行う。まず、情報提供装置10は、処理モデルの学習に用いるデータ、すなわち、学習データとして、それぞれ異なる種別の情報を取得する。また、情報提供装置10は、入力情報から入力情報が有する特徴を示す特徴情報を生成する複数の符号化器と、複数の符号化器が生成した特徴情報を合成した合成情報を生成する合成器と、合成器が生成した合成情報からそれぞれ異なる種別の出力情報を生成する複数の復号器とを含む処理モデルを生成する。そして、情報提供装置10は、複数の入力情報を入力した際に、各入力情報と対応する複数の出力情報を出力するように、処理モデルの学習を行う。
【0021】
〔1−3−1.部分モデルの生成について〕
以下、情報提供装置10が実行する学習処理の一例について説明する。まず、情報提供装置10は、要約の生成対象となる配信コンテンツに含まれる情報の種別ごとに、その情報の要約を生成するためのモデルである部分モデルを準備する。例えば、情報提供装置10は、配信コンテンツに画像と本文とが含まれる場合は、画像の要約を生成するための第1部分モデルと、本文の要約を生成するための第2部分モデルとを準備する。
【0022】
このような要約を生成するための部分モデルは、例えば、入力された情報の次元量を圧縮することで入力された情報が有する特徴を抽出する符号化器(以下、「エンコーダー」と記載する場合がある。)と、エンコーダーによって抽出された特徴の次元量を増大させ、エンコーダーに入力された情報よりも次元数が少ない情報、すなわち、入力された情報の要約を出力する復号器(以下、「デコーダー」と記載する場合がある。)との組によって実現される。なお、エンコーダーおよびデコーダーは、単純に入力された情報量の次元数を変化させるニューラルネットワークのみならず、CNN(Convolution Neural Network)、RNN(Recurrent Neural Network)、LSTM(Long Short-Term Memory)等といった各種のニューラルネットワークが採用可能である。
【0023】
また、情報提供装置10は、準備した部分モデルに情報が有する特徴を学習させる。例えば、情報提供装置10は、画像に対応する第1部分モデルの学習データとして、画像と、その画像のうちサムネイルとして最適な範囲を抽出した要約画像との組を取得する。なお、第1部分モデルの学習データは、配信コンテンツに含まれる画像に関連する学習データである必要はなく、一般的な画像とその画像の要部である要約画像との組により実現される。
【0024】
そして、情報提供装置10は、学習データの画像に含まれる各画素の画素値を入力した際に、学習データの要約画像に含まれる各画素の画素値を出力するように、第1部分モデルの学習を行う。例えば、情報提供装置10は、第1部分モデルが出力した画素値が、学習データの要約画像に含まれる各画素の画素値に近づくように、バックプロパゲーション等の手法により、各ノード間で値が伝達する際に考慮される重み(すなわち、接続係数)の値を修正することで、第1部分モデルに一般的な画像が有する特徴を学習させる。
【0025】
同様に、情報提供装置10は、本文に対応する第2部分モデルの学習データとして、文章と、その文章の要約である要約文章との組を取得する。なお、第2部分モデルの学習データは、配信コンテンツに含まれる本文に関連する学習データである必要はなく、一般的な文章とその文章の要約である要約文章との組により実現される。
【0026】
そして、情報提供装置10は、学習データの文章に含まれる各単語をベクトル化した情報を入力した際に、学習データの要約文章に含まれる各単語のベクトルを出力するように、第2部分モデルの学習を行う。例えば、情報提供装置10は、第2部分モデルが出力したベクトルが、学習データの要約文章に含まれる各単語のベクトルに近づくように、バックプロパゲーション等の手法により、各ノード間で値が伝達する際に考慮される重み(すなわち、接続係数)の値を修正することで、第2部分モデルに一般的な文章が有する特徴を学習させる。
【0027】
〔1−3−2.処理モデルの生成について〕
続いて、情報提供装置10は、第1部分モデルに含まれるエンコーダーを第1エンコーダーとし、第1部分モデルに含まれるデコーダーを第1デコーダーとして抽出する。また、情報提供装置10は、第2部分モデルに含まれるエンコーダーを第2エンコーダーとし、第2部分モデルに含まれるデコーダーを第2デコーダーとして抽出する。
【0028】
そして、情報提供装置10は、第1エンコーダーの出力、すなわち、入力された画像の特徴を示す情報である特徴情報と、第2エンコーダーの出力、すなわち、入力された本文の特徴を示す情報である特徴情報とを合成した合成情報を生成する合成モデルを、第1エンコーダーおよび第2エンコーダーに連結する。
【0029】
例えば、情報提供装置10は、第1エンコーダーが出力する特徴情報と、第2エンコーダーが出力する特徴情報との線形結合を合成情報として出力する合成モデルを生成する。このような合成モデルは、例えば、第1エンコーダーおよび第2エンコーダーが出力した情報であって、画像や本文の特徴を示す多次元量(例えば、ベクトル)である特徴情報を受付け、受付けた特徴情報を線形結合した情報を出力するモデルや中間層等によって実現可能である。なお、後述するように、合成モデルは、各特徴情報に対して所定の重みを適用した合成情報を生成してもよい。
【0030】
また、情報提供装置10は、合成モデルが出力する合成情報が第1デコーダーおよび第2デコーダーに入力されるように、第1デコーダーおよび第2デコーダーを連結する。例えば、情報提供装置10は、合成モデルが出力する合成情報を第1デコーダーの入力層に対応する次元数まで畳み込み、畳み込んだ合成情報を第1デコーダーに入力するように、第1デコーダーを合成モデルに連結する。また、情報提供装置10は、合成モデルが出力する合成情報を第2デコーダーの入力層に対応する次元数まで畳み込み、畳み込んだ合成情報を第2デコーダーに入力するように、第2デコーダーを合成モデルに連結する。
【0031】
このように、情報提供装置10は、それぞれ異なる種別の情報が有する特徴を学習した複数のエンコーダーと、それぞれ異なるエンコーダーと同じ種別の情報が有する特徴を学習した複数のデコーダーとを有する処理モデルを生成する。例えば、情報提供装置10は、画像の特徴を学習した第1エンコーダーおよび第1デコーダーと、本文の特徴を学習した第2エンコーダーおよび第2デコーダーとを有する処理モデルを生成する。また、情報提供装置10は、複数のデコーダーとして、合成情報からそれぞれ異なる種別の情報を生成する複数のデコーダーであって、それぞれ異なるエンコーダーに入力される情報と同じ種別の情報を出力する複数のデコーダーを有する処理モデルを生成する。例えば、情報提供装置10は、第1エンコーダーに入力される情報と同じ種別の情報、すなわち、要約画像を出力する第1デコーダーと、第2エンコーダーに入力される情報と同じ種別の情報、すなわち、要約本文を出力する第2デコーダーとを有する処理モデルを生成する。
【0032】
このような処理の結果、情報提供装置10は、画像の特徴と本文の特徴とをそれぞれ個別に抽出した後で、抽出した特徴を合成し、特徴を合成した合成情報から要約画像および要約本文をそれぞれ生成する構成を有する処理モデルを得ることができる。そして、情報提供装置10は、配信コンテンツと、予め生成された配信コンテンツに対応する要約コンテンツとの組を学習データとして、処理モデルの学習を行う。
【0033】
例えば、情報提供装置10は、処理モデルが有する第1エンコーダーに配信コンテンツの画像を入力し、第2エンコーダーに配信コンテンツの本文を入力した際に、処理モデルが出力した要約画像および要約文章が、要約コンテンツに含まれる要約画像および要約文章と一致するように、処理モデルの学習を行う。例えば、情報提供装置10は、処理モデルが有する第1エンコーダー、第2エンコーダー、第1デコーダー、および第2デコーダーにおける接続係数の修正を個別に行ってもよく、合成モデルに含まれる接続係数の修正を行ってもよい。また、情報提供装置10は、例えば、第1デコーダーおよび第2デコーダーにおける接続係数の修正のみを行ってもよい。すなわち、情報提供装置10は、所定のコンテンツに含まれる複数の情報であって、それぞれ種別が異なる情報から、相互に関連する内容の情報を出力するように処理モデルの学習を行うのであれば、任意の学習を行ってよい。
【0034】
このような処理の結果、情報提供装置10は、情報の種別ごとに、配信コンテンツに含まれる各情報の特徴を個別に抽出し、抽出した特徴を統合するとともに、統合された特徴に基づいて、配信コンテンツに含まれる各情報の要約をそれぞれ個別に生成する処理モデルを生成することができる。すなわち、情報提供装置10は、複数種別の情報が入力された場合に複数種別の情報の畳み込み等を行う従来のCNNとは異なり、情報の種別ごとに個別に特徴情報を抽出し、抽出した特徴情報を合成した合成情報を生成し、生成した合成情報から再度情報の種別ごとに個別に出力する情報を生成する処理モデルを生成する。
【0035】
言い換えると、情報提供装置10は、相互に接続されていないエンコーダーであって、それぞれ異なる種別の情報が有する特徴を学習したエンコーダーを用いて、特徴情報を抽出し、相互に接続されていないデコーダーであって、それぞれ異なる種別の情報が有する特徴を学習したデコーダーを用いて、各エンコーダーが抽出した特徴情報を合成した合成情報から、それぞれ異なる種別の複数の情報を生成する。この結果、情報提供装置10は、学習データが有する関係性の学習を容易にすることができる。
【0036】
例えば、情報提供装置10は、画像や本文等、情報の種別ごとに、一般的な情報が有する特徴を学習済みの部分モデルを用いて、処理モデルを生成する。この結果、配信コンテンツに含まれる各情報の特徴をプレトレーニングした状態の処理モデルを得ることができる。この結果、情報提供装置10は、所定の精度を担保するために必要な学習データの数、すなわち、複数の種別の情報を含む配信コンテンツと要約コンテンツとの組の数を少なくすることができ、学習に要する時間や計算リソースを軽減することができる。
【0037】
また、上述した構造を有する処理モデルは、各入力情報から特徴情報を生成する部分同士が接続されておらず、合成情報から各出力情報を生成する部分同士も接続されていない。この結果、情報提供装置10は、学習時において考慮すべき接続係数の数を削減する結果、学習に要するリソースを削減できる。
【0038】
また、上述した処理モデルにおいて、複数の出力情報のうちいずれかの出力情報のみの精度が他の出力情報と比較して低い場合は、精度が低い出力情報を合成情報から生成したデコーダー、または、その出力情報と対応する入力情報から特徴情報を生成したエンコーダー(すなわち、精度が低い出力情報の種別と対応するエンコーダーおよびデコーダーの組)に、精度を低下させる原因があると推定される。このように、上述した構造を有する処理モデルは、学習時に修正すべき部分の推定を容易にすることができるので、学習に要する時間や計算リソースを削減できる。
【0039】
さらに、情報提供装置10は、各情報の特徴をそれぞれ個別に用いるのではなく、各情報の特徴を合成した情報、すなわち、各情報の特徴を統合した情報を用いて、各情報の要約をそれぞれ個別に生成する。このため、情報提供装置10は、要約画像や要約本文等といった生成される要約の内容を揃えることができる。
【0040】
〔1−4.生成処理について〕
次に、上述した学習処理によって学習が行われた処理モデルを用いて、要約コンテンツを生成する生成処理の一例について説明する。まず、情報提供装置10は、要約コンテンツの生成対象となる配信コンテンツを取得する。そして、情報提供装置10は、要約コンテンツに含まれる画像と本文とを処理モデルに入力し、処理モデルが生成した要約画像および要約本文を取得する。その後、情報提供装置10は、要約画像および要約本文を用いて、要約コンテンツを生成し、生成した要約コンテンツを端末装置100へと配信する。
【0041】
すなわち、情報提供装置10は、それぞれ異なる種別の入力情報から入力情報が有する特徴を示す特徴情報を生成する複数のエンコーダーと、複数のエンコーダーが生成した特徴情報を合成した合成情報を生成する合成モデルと、合成モデルが生成した合成情報から、それぞれ異なる種別の入力情報に対応する出力情報を生成する複数のデコーダーとを用いて、配信コンテンツに含まれる複数の入力情報に対応する複数の出力情報を取得する。そして、情報提供装置10は、取得した複数の出力情報から、所定のコンテンツに対応する要約コンテンツを生成する。
【0042】
例えば、情報提供装置10は、配信コンテンツに含まれる情報であって、それぞれ種別が異なる複数の情報を抽出する。より具体的な例を挙げると、情報提供装置10は、配信コンテンツに含まれる画像と本文とを抽出する。そして、情報提供装置10は、抽出した画像に含まれる各画素の画素値を、処理モデルのうち、第1エンコーダーの入力層に対応するノードに入力し、抽出した本文に含まれる各単語のベクトルを、処理モデルのうち、第2エンコーダーの入力装置に対応するノードへと入力する。
【0043】
この結果、情報提供装置10は、処理モデルが実行させる処理により、画像の特徴および本文の特徴をそれぞれ個別に抽出し、抽出した特徴を合成した合成情報を生成し、生成した合成情報からそれぞれ個別に生成された要約画像および要約文章を得ることができる。そして、情報提供装置10は、要約画像および要約文章を用いて、要約コンテンツを生成する。この結果、情報提供装置10は、配信コンテンツの要約である要約コンテンツを適切に生成することができる。
【0044】
〔1−5.前処理について〕
ここで、情報提供装置10は、処理モデルに含まれる第1エンコーダーや第2エンコーダーに配信コンテンツの情報を直接入力するのではなく、各種の情報が有する特徴を示す中間表現を入力してもよい。例えば、情報提供装置10は、入力情報の種別に応じた構造を有し、入力された情報が有する特徴を示す中間表現を生成する複数の中間モデルと、各中間モデルが生成した中間表現から特徴情報を生成する複数のエンコーダーを用いてもよい。
【0045】
例えば、情報提供装置10は、各種の画像から、その画像が有する特徴を示す情報であって、画像の要約を生成する際に必要な情報を含む中間表現を生成するように学習が行われた第1中間モデルを取得する。また、情報提供装置10は、各種の文章から、その文章が有する特徴を示す情報であって、文章の要約を生成する際に必要な情報を含む中間表現を生成するように学習が行われた第2中間モデルを取得する。
【0046】
ここで、情報が有する特徴を示す中間表現を生成する中間モデルとしては、各種のニューラルネットワークにより実現可能であるが、情報の特徴を精度良く抽出できるモデルの構造は、情報の種別に応じて異なる。例えば、画像が有する特徴は、単一の画素のみならず、隣接する周囲の画素によると考えられる。このため、画像が有する特徴を抽出するモデルとしては、情報の畳み込みを行うニューラルネットワーク、すなわち、CNNが望ましい。一方、本文等の文章が有する特徴は、単一の単語のみならず、その単語と前後する他の単語やその単語に続く単語群等によると考えられる。このため、本文が有する特徴を抽出するモデルとしては、RNNやLSTM等、再帰型のニューラルネットワークが望ましい。
【0047】
そこで、情報提供装置10は、要約を生成する情報、すなわち、処理対象となる情報の種別ごとに異なる構造を有する中間モデルを取得する。例えば、情報提供装置10は、画像の中間表現を生成する中間モデルとして、CNNの構造を含む第1中間モデルを取得する。また、情報提供装置10は、本文の中間表現を生成する中間モデルとして、RNNの構造を含む第2中間モデルを取得する。そして、情報提供装置10は、配信コンテンツに含まれる画像を第1中間モデルに入力し、第1中間モデルが出力した中間表現を処理モデルが有する第1エンコーダーに入力する。また、情報提供装置10は、配信コンテンツに含まれる文章を第2中間モデルに入力し、第2中間モデルが出力した中間表現を処理モデルが有する第2エンコーダーに入力する。このような処理の結果、情報提供装置10は、より精度よく各情報の要約を生成することができる。
【0048】
なお、情報提供装置10は、中間モデルを含む処理モデルを学習してもよく、処理モデルとは別に中間モデルの学習および使用を行ってもよい。例えば、情報提供装置10は、処理モデルに中間モデルが含まれない場合は、処理モデルとは個別に学習等が行われた中間モデルを用いて中間表現を生成し、生成した中間表現を処理モデルに入力してもよい。また、情報提供装置10は、処理モデルに中間モデルが含まれる場合は、配信コンテンツに含まれる各種の情報をそのまま処理モデルに入力してもよい。
【0049】
〔1−6.処理の一例について〕
次に、図1を用いて、情報提供装置10が実行する学習処理および生成処理の流れの一例について説明する。まず、情報提供装置10は、学習処理を実行する。具体的には、情報提供装置10は、それぞれ異なる種別の情報の特徴を学習したエンコーダーおよびデコーダーの組を学習する(ステップS1)。
【0050】
例えば、情報提供装置10は、一般的な画像を入力画像として第1エンコーダーE1に入力し、第1エンコーダーE1が出力した情報を第1デコーダーD1に入力した際に、第1デコーダーD1が出力した画像が入力画像の要約である要約画像となるように、第1エンコーダーE1および第1デコーダーD1の学習を行う。また、例えば、情報提供装置10は、一般的な文章を入力文章として第2エンコーダーE2に入力し、第2エンコーダーE2が出力した情報を第2デコーダーD2に入力した際に、第2デコーダーD2が出力した文章が入力文章の要約である要約文章となるように、第2エンコーダーE2および第2デコーダーD2の学習を行う。なお、以下の説明では、第1エンコーダーE1や第2エンコーダーE2等の各エンコーダーを「エンコーダーE」と総称し、第1デコーダーD1や第2デコーダーD2等の各デコーダーを「デコーダーD」と総称する場合がある。
【0051】
次に、情報提供装置10は、処理モデルの学習に用いる学習データをデータサーバ50から取得する(ステップS2)。例えば、情報提供装置10は、配信コンテンツと、その配信コンテンツの要約である要約コンテンツとの組を学習データとして収集する。そして、情報提供装置10は、各エンコーダーEの出力を合成し、各デコーダーDが合成結果から異なる種別の出力情報を出力するように、処理モデルの学習を行う(ステップS3)。
【0052】
例えば、情報提供装置10は、画像の中間表現を生成する第1中間モデルMM1および文章の中間表現を生成する第2中間モデルMM2を取得する。そして、情報提供装置10は、以下の構造を有する処理モデルM1を生成する。例えば、情報提供装置10は、第1中間モデルMM1が出力する中間表現が入力情報として第1エンコーダーE1に入力され、第2中間モデルMM2が出力する中間表現が入力情報として第2エンコーダーE2に入力される構造の処理モデルM1を生成する。また、情報提供装置10は、第1エンコーダーE1が中間表現から生成した特徴情報と、第2エンコーダーE2が中間表現から生成した特徴情報とが合成モデルSM1に入力される構造の処理モデルM1を生成する。
【0053】
また、情報提供装置10は、合成モデルSM1が各特徴情報から合成した合成情報を第1デコーダーD1および第2デコーダーD2に入力する構造を有する処理モデルM1を生成する。すなわち、情報提供装置10は、図1に示すように、画像が有する特徴を示す特徴情報と、文章が有する特徴を示す特徴情報とをそれぞれ個別に生成し、生成した特徴情報を合成し、合成した合成情報から要約画像と要約文章とをそれぞれ個別に生成する構造の処理モデルM1を生成する。
【0054】
そして、情報提供装置10は、学習データに含まれる画像を処理モデルM1の第1中間モデルMM1に入力するとともに、学習データに含まれる文章を第2中間モデルMM2へと入力する。そして、情報提供装置10は、処理モデルM1の第1デコーダーD1が出力した要約画像が、処理モデルM1の第1中間モデルMM1に入力した画像の要約となり、処理モデルM1の第2デコーダーD2が出力した要約文章が、処理モデルM1の第2中間モデルMM2に入力した文章の要約となり、かつ、要約画像と要約文章とが共通する事象を示すように、処理モデルM1の学習を行う。
【0055】
例えば、情報提供装置10は、第1デコーダーD1および第2デコーダーD2の接続係数のみを修正してもよく、処理モデルM1全体の接続係数を修正してもよい。また、例えば、第2デコーダーD2が出力する要約文章が適切な要約であるが、第1デコーダーD1が生成した要約画像が適切な要約画像ではない場合、第1中間モデルMM1、第1エンコーダーE1、および第1デコーダーD1の学習精度が低いとも考えられる。そこで、情報提供装置10は、第2デコーダーD2が出力する要約文章が適切な要約であるが、第1デコーダーD1が生成した要約画像が適切な要約画像ではない場合、処理モデルM1が有する接続係数のうち、第1中間モデルMM1、第1エンコーダーE1、および第1デコーダーD1の接続係数のみを修正対象としてもよい。
【0056】
続いて、情報提供装置10は、生成処理を実行する。具体的には、情報提供装置10は、データサーバ50から、要約コンテンツの生成対象となる配信コンテンツを取得する(ステップS4)。そして、情報提供装置10は、処理モデルM1を用いて、配信コンテンツから要約コンテンツを生成する(ステップS5)。
【0057】
例えば、情報提供装置10は、配信コンテンツから処理モデルM1に含まれる各エンコーダーEと対応する種別の情報を抽出する。より具体的には、情報提供装置10は、配信コンテンツから画像と本文とを抽出する。そして、情報提供装置10は、画像と本文とを処理モデルM1に入力し、要約画像と要約本文とを取得する。その後、情報提供装置10は、取得した要約画像と要約本文とを用いて要約コンテンツを生成し、生成した要約コンテンツを端末装置100へと出力する(ステップS6)。
【0058】
〔1−7.処理対象について〕
上述した説明では、情報提供装置10は、配信コンテンツに含まれる画像の要約である要約画像と、配信コンテンツに含まれる本文の要約である要約本文とを生成する処理モデルM1の学習を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、要約以外にも、入力される情報(以下、「入力情報」と記載する。)に対応する情報(以下、「出力情報」と記載する。)を出力するのであれば、入力情報と任意の関係性を有する出力情報を生成する処理モデルM1の生成を行ってよい。また、情報提供装置10は、任意の種別の入力情報から任意の情報の出力情報を生成してよい。すなわち、情報提供装置10は、それぞれ異なる種別の入力情報であって、共通するトピックを含む複数の入力情報から、そのトピックを保持した複数の出力情報を出力するのであれば、任意の種別の情報に対して任意の処理を実行する処理モデルM1の生成を行ってよい。
【0059】
例えば、情報提供装置10は、動画像に含まれる画像の要部と、その動画像に含まれる音声の要部とを抽出する処理モデルM1の生成を行ってもよい。かかる要部は、動画像のうち同一の再生位置に含まれる画像および音声であってもよく、異なる再生位置の画像および音声であってもよい。また、情報提供装置10は、ミュージックビデオの画像と音声とを入力情報とした場合に、動画像に含まれる画像の要部と、歌詞の要約とを出力する処理モデルM1の生成を行ってもよい。すなわち、情報提供装置10は、複数の入力情報であって、各入力情報と対応する出力情報のトピックを共通化したい入力情報であれば、任意の入力情報および出力情報について、上述した処理モデルM1の生成を行ってよい。
【0060】
また、情報提供装置10は、3つ以上の入力情報から、各入力情報と対応する出力情報であって、トピックを共通化した出力情報の生成を行う処理モデルM1の生成を行ってもよい。例えば、情報提供装置10は、入力情報の種別ごとに異なるエンコーダーを有し、各エンコーダーEが出力した特徴情報から合成情報を生成し、生成した合成情報から各入力情報と対応する出力情報を生成する処理モデルM1であれば、任意の数の種別の入力情報から出力情報を生成する処理モデルM1の生成を行ってよい。
【0061】
例えば、情報提供装置10は、配信コンテンツ内に画像、タイトル、本文といった複数種別の情報が存在する場合は、画像、タイトル、本文のそれぞれについて特徴を抽出する独立した複数のエンコーダー、各エンコーダーEが出力する特徴情報を合成する合成モデル、および合成情報から画像、タイトル、本文のそれぞれに対応する情報を個別に出力する独立した複数のデコーダーの組を含む処理モデルM1を生成してもよい。また、例えば、情報提供装置10は、配信コンテンツに含まれる全ての情報について要約を生成する必要はなく、少なくとも、画像が有する特徴を示す特徴情報を生成する第1エンコーダーE1と、テキストである本文が有する特徴を示す特徴情報を生成する第2エンコーダーE2と、合成情報を生成する合成モデルSM1と、合成情報から画像に対応する出力情報を生成する第1デコーダーD1と、合成情報から本文対応する出力情報を生成する第2デコーダーD2とを有する処理モデルM1を生成してもよい。
【0062】
〔1−8.合成情報の生成について〕
ここで、合成モデルSM1は、各エンコーダーEが出力した特徴情報を合成した合成情報を生成するのであれば、任意の合成手法で合成された合成情報を生成してよい。例えば、合成モデルSM1は、第1エンコーダーE1が出力した特徴情報の末尾に第2エンコーダーE2が出力した特徴情報を結合してもよく、第2エンコーダーE2が出力した特徴情報の末尾に第1エンコーダーE1が出力した特徴情報を結合してもよい。また、合成モデルSM1は、第1エンコーダーE1が出力した特徴情報と第2エンコーダーE2が出力した特徴情報とのテンソル積を合成情報としてもよい。
【0063】
ここで、各エンコーダーEが出力する特徴情報は、単一のベクトルとして生成された情報のみならず、複数のベクトルであってもよい。例えば、各エンコーダーEは、複数のベクトルからなる特徴情報を生成してもよい。このような場合、合成モデルSM1は、各エンコーダーEが出力した複数のベクトルを合成した合成情報を生成してもよく、各ベクトルごとに異なる重みを考慮した合成情報を生成してもよい。
【0064】
例えば、エンコーダーEとデコーダーDとの組からなるエンコーダーデコーダーモデルにおいては、デコーダーD側の状態(直前の出力)に応じて、エンコーダーEが生成する特徴情報を変化させるアテンション機構(attention mechanism)を導入することにより、全体としての精度を向上させる技術が知られている。このようなアテンション機構が導入されたエンコーダーデコーダーモデルでは、エンコーダーEが入力された単語に対応するベクトルの集合を特徴情報(隠れ状態ベクトル)を出力し、デコーダーDはそのベクトルの集合の重み付き平均を用いて次の単語を予測する。このようなエンコーダーデコーダーモデルにおいて、デコーダーD側の状態に応じて、その重み付き平均の重みを変化させることでソフトアライメントを実現することができる。
【0065】
また、情報提供装置10は、第1デコーダーD1と第2デコーダーD2とに対し、それぞれ異なる重みを考慮した合成情報を出力する合成モデルSM1を用いてもよい。例えば、合成モデルSM1は、第1エンコーダーE1が出力した特徴情報に第1の重み(例えば、「0.8」)を積算した値と、第2エンコーダーE2が出力した特徴情報に第2の重み(例えば、「0.2」)を積算した値との線形結合を合成情報として、第1デコーダーD1に入力する。一方、合成モデルSM1は、第1エンコーダーE1が出力した特徴情報に第2の重みを積算した値と、第2エンコーダーE2が出力した特徴情報に第1の重みを積算した値との線形結合を合成情報として、第2デコーダーD2に入力する。
【0066】
なお、このような合成モデルSM1は、例えば、以下のような構造を有するニューラルネットワークにより実現される。例えば、合成モデルSM1は、第1エンコーダーE1が出力した特徴情報が入力される第1ノード群と、第2エンコーダーE2が出力した特徴情報が入力される第2ノード群とを有する中間層を有する。また、合成モデルSM1は、第1ノード群から第1デコーダーD1に対して伝達される情報に対して第1の重みを適用する第1の接続係数群と、第2ノード群から第1デコーダーD2に対して伝達される情報に対して第2の重みを適用する第2の接続係数群とを有する。また、合成モデルSM1は、第1ノード群から第2デコーダーD2に対して伝達される情報に対して第2の重みを適用する第3の接続係数群と、第2ノード群から第2デコーダーD2に対して伝達される情報に対して第1の重みを適用する第4の接続係数群とを有する。
【0067】
なお、合成情報を生成する際、若しくは、合成情報を出力する際に適用される重みは、目的に応じて適宜任意の値が採用可能である。例えば、情報提供装置10は、処理モデルM1が出力する複数の出力情報が有するトピックがそろうように、重みの設定を行ってもよい。また、情報提供装置10は、第1ノード群に含まれる各ノードおよび第2ノード群に含まれる各ノードから第1デコーダーD1や第2デコーダーD2に対して伝達される各値に対して、それぞれ異なる重みを適用してもよい。
【0068】
ここで、要約コンテンツの配信対応においては、要約文章よりも要約画像の方が人目を引く可能性が高いとも考えられる。そこで、情報提供装置10は、処理モデルM1が要約コンテンツを生成する場合、第1の重みを第2の重みよりも大きい値に設定してもよい。すなわち、情報提供装置10は、処理モデルM1の出力情報に関する情報の配信態様に応じて、重みの値を変化させてもよい。
【0069】
また、情報提供装置10は、第1デコーダーD1に伝達する合成情報と、第2デコーダーD2に伝達する合成情報とで、異なる重みを採用してもよい。例えば、情報提供装置10は、第1エンコーダーE1の特徴情報に第1の重みを採用し、第2エンコーダーE2の特徴情報に第2の重みを採用した合成情報を第1デコーダーD1に伝達し、第1エンコーダーE1の特徴情報に第3の重みを採用し、第2エンコーダーE2の特徴情報に第4の重みを採用した合成情報を第2デコーダーD2に伝達してもよい。
【0070】
また、情報提供装置10は、出力情報から生成されるコンテンツ、すなわち、処理モデルM1に入力されるコンテンツと対応するコンテンツ(以下、「対応コンテンツ」と記載する。)の出力態様に応じた合成態様で、特徴情報から合成情報を生成してもよい。例えば、情報提供装置10は、要約コンテンツを閲覧する利用者が画像を重視する属性を有する場合は、第1の重みを第2の重みよりも大きい値にしてもよい。
【0071】
また、情報提供装置10は、要約コンテンツにおいて要約画像が表示される領域が、要約本文が表示される領域よりも大きい場合には、第1の重みや第3の重みを第2の重みや第4の重みよりも大きい値にしてもよい。また、これ以外にも、情報提供装置10は、対象コンテンツの配信先となる利用者の各種デモグラフィック属性やサイコグラフィック属性、購買履歴、検索履歴、各種コンテンツの閲覧履歴、利用者が選択した要約コンテンツの履歴等に応じて、任意の重みが採用可能である。
【0072】
また、情報提供装置10は、このような合成モデルSM1が採用する各種の重みを学習してもよい。例えば、情報提供装置10は、処理モデルM1が要約画像や要約文章を適切に出力するように第1デコーダーD1や第2デコーダーD2の接続係数を修正する際に、合成モデルSMが採用する重み、すなわち、合成モデルSMの接続係数を修正してもよい。この際、情報提供装置10は、要約データを選択した利用者の属性に応じて、合成モデルSMの接続係数を修正してもよく、要約データを選択しなかった利用者の属性に応じて、合成モデルSMの接続係数を修正してもよい。
【0073】
また、情報提供装置10は、利用者の属性と合成モデルSMが採用する重みとの間の関係性を所定のモデル(以下、「重みモデル」と記載する。)に学習させてもよい。このような場合、情報提供装置10は、配信コンテンツの要約コンテンツを生成する際に、配信コンテンツの閲覧を所望する利用者の属性に応じて、重みモデルから合成モデルSMが採用する重みの値を算出する。そして、情報提供装置10は、処理モデルM1が有する合成モデルSM1に算出された重みの値を設定した上で、要約データを生成してもよい。
【0074】
このように、情報提供装置10は、画像が有する情報をより重視した形で合成情報を生成してもよい。このように、情報提供装置10は、対応コンテンツの出力先となる利用者の属性に応じた合成態様で、特徴情報を合成した合成情報を生成してもよく、特徴情報を線形結合した情報から、対応コンテンツの出力態様に応じた合成情報を生成する合成モデルSM1を用いてもよい。
【0075】
〔1−9.その他〕
また、情報提供装置10は、任意の形状の要約画像を生成するように、処理モデルM1の学習を行ってよい。例えば、情報提供装置10は、利用者の属性や画像の属性、本文の内容等に応じて、四角形、三角形、丸型等の任意の形状の要約画像を生成するように、処理モデルM1の学習を行ってもよい。また、情報提供装置10は、配信コンテンツに複数の画像が含まれる場合、各画像のうち注目度が高い領域や本文との関係性が高い範囲をそれぞれ抽出し、抽出した範囲をパッチワークのように合成した画像を要約画像として生成するように、処理モデルM1の学習を行ってもよい。
【0076】
例えば、情報提供装置10は、本文が人物に関連する内容であれば、画像のうち、本文で言及される人物の顔が撮影されている範囲であって、正方形の範囲を抽出するように、処理モデルM1の学習を行ってもよい。また、情報提供装置10は、本文が車に関連する内容であり、画像に車が撮影されている場合は、車が撮影された長方形の範囲を抽出するように、処理モデルM1の学習を行ってもよい。
【0077】
また、情報提供装置10は、エンコーダーやデコーダーの構成を、処理対象となる入力情報の種別に応じて変えてもよい。例えば、情報提供装置10は、第1エンコーダーE1および第1デコーダーD1をCNNで構成し、第2エンコーダーE2および第2デコーダーD2をRNNで構成してもよい。
【0078】
〔2.情報提供装置の構成〕
以下、上記した学習処理を実現する情報提供装置10が有する機能構成の一例について説明する。図2は、実施形態に係る情報提供装置の構成例を示す図である。図2に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
【0079】
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、端末装置100やデータサーバ50との間で情報の送受信を行う。
【0080】
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、学習データデータベース31、およびモデルデータベース32を記憶する。
【0081】
学習データデータベース31には、学習データが登録される。例えば、図3は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。図3に示すように、学習データデータベース31には、「学習データID(Identifier)」、「画像データ」、「本文データ」、「要約画像データ」、および「要約本文データ」といった項目を有する情報が登録される。
【0082】
なお、図3に示す情報のうち「画像データ」および「本文データ」は、図1に示す「学習データ」に対応し、「要約画像データ」および「要約本文データ」は、図1に示す「要約データ」に対応する。なお、図3に示す情報以外にも、学習データデータベース31には、学習データや要約データを閲覧した利用者に関する各種の情報が登録されていてもよい。なお、図3に示す例では、「画像#1」、「本文#1」、「要約画像#1」、「要約本文#1」といった概念的な情報を記載したが、実際には、各種の画像データやテキストデータが登録されることとなる。
【0083】
ここで、「学習データID」とは、学習データを識別するための識別子である。また、「画像データ」とは、学習データに含まれる画像に関するデータである。また、「本文データ」とは、学習データに含まれるテキストのデータである。また「要約画像データ」とは、要約画像として表示される画像のデータである。また、「要約本文データ」とは、要約本文となるテキストのデータである。
【0084】
例えば、図3に示す例では、学習データID「ID#1」、画像データ「画像#1」、本文データ「本文#1」、要約画像データ「要約画像#1」、および要約本文データ「要約本文#1」といった情報が対応付けて登録されている。このような情報は、例えば、学習データID「ID#1」が示す学習データに、画像データ「画像#1」が示す画像と、本文データ「本文#1」が示す本文とが含まれており、このような学習データの要約である要約データに、要約画像データ「要約画像#1」が示す要約画像、および要約本文データ「要約本文#1」が示す要約本文が含まれる旨を示す。
【0085】
図2に戻り、説明を続ける。モデルデータベース32には、処理モデルM1として、処理モデルM1に含まれる各種のモデルのデータが登録される。例えば、図4は、実施形態に係るモデルデータベースに登録される情報の一例を示す図である。図4に示す例では、モデルデータベース32には、「モデルID」、「モデル種別」、および「モデルデータ」といった情報が登録されている。
【0086】
ここで、「モデルID」とは、各モデルを識別するための情報である。また、「モデル種別」とは、対応付けられた「モデルID」が示すモデルが、中間モデルであるか、エンコーダーであるか、デコーダーであるか、合成モデルであるかを示す情報である。また、「モデルデータ」とは、対応付けられた「モデルID」が示すモデルのデータであり、例えば、各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報である。
【0087】
例えば、図4に示す例では、モデルID「モデル#1」、モデル種別「中間モデルMM1」、およびモデルデータ「モデルデータ#1」といった情報が対応付けて登録されている。このような情報は、例えば、モデルID「モデル#1」が示すモデルの種別が「中間モデルMM1」であり、そのモデルのデータが「モデルデータ#1」である旨を示す。なお、図4に示す例では、「モデル#1」、「中間モデルMM1」、「モデルデータ#1」といった概念的な情報を記載したが、実際には、モデルを識別するための文字列、モデルの種別を示す文字列、およびモデルの構造や接続係数を示す文字列や数値等が登録されることとなる。
【0088】
ここで、モデルデータベース32には、処理モデルM1として、第1中間モデルMM1、第2中間モデルMM2、第1エンコーダーE1、第2エンコーダーE2、合成モデルSM1、第1デコーダーD1、および第2デコーダーD2の情報が登録される。このような処理モデルM1は、それぞれ異なる種別の情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重み(すなわち、接続係数)とに基づく演算を行うことにより、各入力情報と対応する複数の出力情報であって、それぞれ異なる種別の出力情報を示す値を出力層から出力するよう、コンピュータを機能させるためのモデルである。
【0089】
なお、処理モデルM1がDNN等、1つまたは複数の中間層を有するニューラルネットワークで実現される場合、処理モデルM1が含む第1要素とは、入力層または中間層が有するいずれかのノードと見做すことができ、第2要素とは、第1要素と対応するノードから値が伝達されるノード、すなわち、次段のノードと対応し、第1要素の重みとは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重み、すなわち、接続係数である。
【0090】
情報提供装置10は、処理モデルM1を用いて、出力情報を生成する。より具体的には、処理モデルM1は、情報提供装置10に対し、それぞれ異なる種別の入力情報が入力された場合に、各入力情報ごとに特徴情報を個別に生成し、生成した特徴情報を合成した合成情報を生成し、生成した合成情報から、それぞれ異なる種別の出力情報をそれぞれ個別に生成する一連の処理を実行させるモデルである。
【0091】
図2に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0092】
また、制御部40は、記憶部30に記憶される処理モデルM1に従った情報処理により、処理モデルM1の入力層に入力された複数の入力情報に対し、処理モデルM1が有する係数(すなわち、処理モデルM1が学習した各種の特徴に対応する係数)に基づく演算を行い、処理モデルM1の出力層から、それぞれ異なる種別の入力情報に対応する情報であって、それぞれ異なる種別の出力情報を出力する。
【0093】
なお、上記例では、処理モデルM1が、それぞれ異なる種別の複数の入力情報が入力された場合に、各入力情報の要約等、各入力情報と対応する出力情報を出力するモデルである例を示した。しかし、実施形態に係る処理モデルM1は、処理モデルM1にデータの入出力を繰り返すことで得られる結果に基づいて生成される他のモデルであってもよい。例えば、処理モデルM1は、ある入力情報を入力した際に、出力情報を出力する他のモデルであって、処理モデルM1がその入力情報から生成する出力情報と同じ出力情報を出力するよう学習が行われたモデルであってもよい。
【0094】
また、情報提供装置10がGAN(Generative Adversarial Networks)を用いた学習処理を行う場合、モデル123は、GANの一部を構成するモデルであってもよい。
【0095】
図2に示すように、制御部40は、学習データ取得部41、学習部42、出力情報取得部43、生成部44、および提供部45を有する。学習データ取得部41は、学習データとして、それぞれ異なる種別の情報の組を取得する。例えば、学習データ取得部41は、学習データとして、配信コンテンツに含まれる画像と本文との組をデータサーバ50から取得するとともに、要約データとして、その配信コンテンツに含まれる画像の要約である要約画像と、本文の要約である本文要約とを取得する。そして、学習データ取得部41は、取得した各データを対応付けて学習データデータベース31に登録する。
【0096】
学習部42は、処理モデルM1の学習を行い、学習した処理モデルM1をモデルデータベース32に格納する。より具体的には、学習部42は、学習データを処理モデルM1に入力した際に、処理モデルM1が要約データを出力するように、処理モデルM1が有する各モデルの接続係数の設定を行う。すなわち、学習部42は、それぞれ種別が異なる入力情報を入力した際に、処理モデルM1がそれぞれ種別が異なる出力情報であって、各入力情報に対応する出力情報を出力するように、処理モデルM1の学習を行う。
【0097】
例えば、学習部42は、処理モデルM1が有する入力層のノードであって、入力情報と対応する特徴を学習したエンコーダーEの入力層と対応するノードに入力情報を入力し、各中間層を辿って処理モデルM1の出力層までデータを伝播させることで、出力情報を出力させる。そして、学習部42は、処理モデルM1が実際に出力した出力情報と、入力情報から出力が期待される出力情報との差に基づいて、処理モデルM1の接続係数を修正する。例えば、学習部42は、バックプロパゲーション等の手法を用いて、接続係数の修正を行ってもよい。この際、学習部42は、例えば、各出力情報が有するトピックの比較結果に応じて、接続係数の修正を行ってもよい。
【0098】
なお、学習部42は、いかなる学習アルゴリズムを用いて処理モデルM1を学習してもよい。例えば、学習部42は、ニューラルネットワーク、サポートベクターマシン(support vector machine)、クラスタリング、強化学習等の学習アルゴリズムを用いて、処理モデルM1に含まれる各モデルを学習してよい。
【0099】
ここで、学習部42は、それぞれ異なる種別の入力情報から入力情報が有する特徴を示す特徴情報を生成する複数のエンコーダーE1、E2と、複数のエンコーダーE1、E2が生成した特徴情報を合成した合成情報を生成する合成モデルSM1と、合成モデルSM1が生成した合成情報から、それぞれ異なる種別の入力情報に対応する出力情報を生成する複数のデコーダーD1、D2とを含む処理モデルM1の学習を行う。例えば、学習部42は、複数の入力情報から、関連する内容の出力情報を出力するように、すなわち、出力情報のトピックを揃えるように処理モデルM1の学習を行う。
【0100】
例えば、学習部42は、学習データに含まれる画像や文章等といった入力情報を、処理モデルM1が有する入力層にそれぞれ入力した際に、処理モデルM1が出力する各種の出力情報が、要約画像や要約文章等といった入力情報の要約となるように、処理モデルM1が有する各モデルの接続係数を修正することで、処理モデルM1の学習を行う。より具体的には、学習部42は、配信コンテンツに含まれる複数の入力情報を、処理モデルM1が有する各モデルのうち、入力情報の特徴を示す特徴情報を生成するエンコーダーに入力することで、各入力情報が有する特徴を示す特徴情報を取得する。
【0101】
また、学習部42は、複数のデコーダーD1、D2として、合成情報からそれぞれ異なる種別の出力情報を生成する複数のデコーダーD1、D2であって、それぞれ異なるエンコーダーE1、E2に入力される入力情報と同じ種別の出力情報を出力する複数のデコーダーD1、D2を含む処理モデルM1の学習を行う。また、学習部42は、それぞれ異なる種別の情報が有する特徴を学習した複数のエンコーダーE1、E2と、それぞれ異なるエンコーダーE1、E2と同じ種別の情報が有する特徴を学習した複数のデコーダーD1、D2とを用いる。すなわち、学習部42は、それぞれ異なる種別の情報が有する特徴を学習したエンコーダーとデコーダーとの組に含まれるエンコーダーとデコーダーとを含む処理モデルM1の学習を行う。
【0102】
例えば、学習部42は、画像が有する特徴を学習した第1エンコーダーE1と第1デコーダーD1との組、および、文章が有する特徴を学習した第2エンコーダーE2と第2デコーダーD2との組とを含む処理モデルM1の学習を行う。より具体的には、学習部42は、少なくとも、画像が有する特徴を示す特徴情報を生成する第1エンコーダーE1と、テキストが有する特徴を示す特徴情報を生成する第2エンコーダーE2と、第1エンコーダーおよび第2エンコーダーが生成した特徴情報を合成した合成情報を生成する合成モデルSM1と、合成情報から画像に対応する出力情報を生成する第1デコーダーD1と、合成情報からテキストに対応する出力情報を生成する第2デコーダーD2とを含む処理モデルM1の学習を行う。
【0103】
また、学習部42は、処理モデルM1が出力する出力情報を用いて生成されるコンテンツの出力態様に応じた合成態様で、各エンコーダーEが生成した特徴情報を合成した合成情報を生成する合成モデルSM1を含む処理モデルM1の学習を行う。例えば、学習部42は、コンテンツの出力先となる利用者の属性に応じた合成態様で、各エンコーダーEが生成した特徴情報を合成した合成情報を生成する合成モデルSMを含む処理モデルM1の学習を行う。より具体的な例を挙げると、学習部42は、各エンコーダーEが生成した特徴情報を線形結合した結合情報から、コンテンツの出力態様に応じた合成情報を生成する合成モデルSM1を含む処理モデルM1の学習を行う。
【0104】
また、学習部42は、入力情報の種別に応じた構造を有し、入力された情報が有する特徴を示す中間表現を生成する複数の中間モデルMM1、MM2と、各中間モデルMM1、MM2が生成した中間表現から特徴情報を生成する複数のエンコーダーE1、E2を用いる。例えば、学習部42は、入力情報の種別が画像である第1中間モデルMM1については、畳み込みニューラルネットワークを採用し、入力情報の種別がテキストである第2中間モデルについては、再帰型ニューラルネットワークを採用した処理モデルM1の学習を行う。
【0105】
出力情報取得部43は、それぞれ異なる種別の入力情報から当該入力情報が有する特徴を示す特徴情報を生成する複数のエンコーダーE1、E2と、複数のエンコーダーE1、E2が生成した特徴情報を合成した合成情報を生成する合成モデルSM1と、合成モデルSM1が生成した合成情報から、それぞれ異なる種別の入力情報に対応する出力情報を生成する複数のデコーダーD1、D2とを用いて、所定のコンテンツに含まれる複数の入力情報に対応する複数の出力情報を取得する。すなわち、出力情報取得部43は、上述した学習部42によって学習が行われた処理モデルM1を用いて、それぞれ異なる種別の出力情報を取得する。
【0106】
例えば、出力情報取得部43は、データサーバ50から、要約コンテンツの生成対象となる配信コンテンツを取得する。このような場合、出力情報取得部43は、配信コンテンツに含まれる画像と本文とを抽出する。また、出力情報取得部43は、処理モデルM1が有する第1中間モデルMM1の入力層に、配信コンテンツの画像を示す情報を入力し、処理モデルM1が有する第2中間モデルMM2の入力層に、配信コンテンツの本文を示す情報を入力する。そして、出力情報取得部43は、接続係数を考慮しながら、処理モデルM1が有する各ノードが出力した値を、そのノードと接続された他のノードに対して順次伝達されることで、処理モデルM1に要約画像と要約文章とを生成させる。
【0107】
生成部44は、複数の出力情報から、所定のコンテンツに対応する対応コンテンツを生成する。例えば、生成部44は、配信コンテンツに含まれる画像と本文とから、要約画像と要約本文とが取得された場合は、要約画像と要約本文とを含む要約コンテンツを生成する。
【0108】
提供部45は、生成した対応コンテンツを利用者に対して提供する。例えば、提供部45は、端末装置100からの要求に応じて、生成部44が生成した要約コンテンツを配信する。なお、提供部45は、生成部44が生成した要約コンテンツをデータサーバ50に提供し、データサーバ50から配信させてもよい。
【0109】
〔3.処理モデルの学習について〕
次に、図5を用いて、情報提供装置10が学習させる処理モデルの一例について説明する。図5は、実施形態に係る情報提供装置が学習させる処理モデルの構造の一例を説明する図である。例えば、図5に示す例では、配信コンテンツには、画像、タイトル、第1本文等、各種の情報が含まれているものとする。このような場合、情報提供装置10は、配信コンテンツに含まれる情報の種別ごとに独立して特徴情報を生成する処理モデルM1を生成する。
【0110】
例えば、図5に示す例では、処理モデルM1は、画像から中間表現を生成する第1中間モデルMM1および画像の中間表現から特徴情報を生成する第1エンコーダーE1とを有する部分モデルPM1を有する。また、処理モデルM1は、タイトルから中間表現を生成する第2中間モデルMM2およびタイトルの中間表現から特徴情報を生成する第2エンコーダーE2とを有する部分モデルPM2を有する。また、処理モデルM1は、第1本文から中間表現を生成する第3中間モデルMM3および第1本文の中間表現から特徴情報を生成する第3エンコーダーE3とを有する部分モデルPM3を有する。なお、処理モデルM1は、図5に示す部分モデルPM1〜PM3以外にも、配信コンテンツに含まれる情報の種別ごとに部分モデルを有するものとする。
【0111】
また、処理モデルM1は、各部分モデルPM1〜PM3等が生成した特徴情報を合成した合成情報を生成する合成モデルSM1を有する。また、処理モデルM1は、合成情報から画像に対応する要約画像を生成する第1デコーダーD1、合成情報からタイトルに対応する要約タイトルを生成する第2デコーダーD2、および合成情報から第1本文に対応する要約第1本文を生成する第3デコーダーD3を有する。すなわち、処理モデルM1は、配信コンテンツに含まれる情報の種別ごとにエンコーダーとデコーダーとの組を有する。
【0112】
情報提供装置10は、このような構成を有する処理モデルM1に対して配信コンテンツに含まれる各種の情報を入力情報として入力することで、各種の情報に対応する要約を出力情報として取得する。そして、情報提供装置10は、取得した出力情報を用いて、入力した配信コンテンツに対応する要約コンテンツを得ることができる。
【0113】
なお、情報提供装置10は、各種のパラメーターを用いて、合成モデルSM1による合成態様を変化させてもよい。例えば、情報提供装置10は、要約を生成する日時や配信コンテンツの配信日等を示す日時情報、配信先となる利用者の属性を示す属性情報等のパラメーターに基づいて、合成モデルSM1が各特徴情報から合成情報を生成する際の合成態様を制御してもよい。このような処理の結果、情報提供装置10は、配信日時や利用者の属性に応じた出力情報を得ることができる。
【0114】
なお、このようなパラメーターの値は、学習時において各モデルの接続係数を修正する際に、合わせて学習されてもよい。また、パラメータは、合成モデルSM1の入力とするのではなく、入力情報の一つとして処理モデルM1が有する入力層に入力されてもよい。すなわち、情報提供装置10は、入力情報の種別ごとに独立して特徴情報を生成し、生成した特徴情報を合成した合成情報を生成し、生成した合成情報から出力情報を種別ごとに独立して生成するのであれば、任意の情報を付加的に反映させる構造を有する処理モデルM1を生成してよい。
【0115】
〔4.情報提供装置の処理フロー〕
次に、図6図7を用いて、情報提供装置10が実行する学習処理および生成処理の手順の一例について説明する。図6は、実施形態に係る情報提供装置が実行する学習処理の流れの一例を示すフローチャートである。図7は、実施形態に係る情報提供装置が実行する生成処理の流れの一例を示すフローチャートである。
【0116】
まず、図6を用いて、情報提供装置10が実行する学習処理の流れの一例について説明する。まず、情報提供装置10は、エンコーダーおよびデコーダーの組であって、それぞれ異なる情報の特徴を学習した組を取得する(ステップS101)。続いて、情報提供装置10は、各エンコーダーEの出力を、各エンコーダーEの出力を合成する合成モデルSM1に入力し、合成モデルSM1の出力、すなわち合成情報を、各デコーダーDに入力する処理モデルM1を構成する(ステップS102)。そして、情報提供装置10は、各エンコーダーEに、同一のコンテンツに含まれる情報であって、それぞれ異なる種別の情報を入力した際に、各デコーダーDが、それぞれ対応する種別の情報の要約を出力するように、モデルの学習を行い(ステップS103)、学習処理を終了する。
【0117】
次に、図7を用いて、情報提供装置10が実行する生成処理の流れの一例について説明する。まず、情報提供装置10は、要約の作成対象となるコンテンツ、すなわち、配信コンテンツを受付ける(ステップS201)。このような場合、情報提供装置10は、配信コンテンツから処理モデルM1に含まれる各エンコーダーEに入力する種別の情報を抽出する(ステップS202)。そして、情報提供装置10は、抽出した情報を処理モデルM1に入力することで、各情報の要約を取得する(ステップS203)。その後、情報提供装置10は、取得した要約を用いて、配信コンテンツの要約である要約コンテンツを生成し、生成した要約コンテンツを配信し(ステップS204)、処理を終了する。
【0118】
〔5.変形例〕
上記では、情報提供装置10による学習処理および生成処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する学習処理および生成処理のバリエーションについて説明する。
【0119】
〔5−1.装置構成〕
情報提供装置10は、任意の数の端末装置100と通信可能に接続されていてもよく、任意の数のデータサーバ50と通信可能に接続されていてもよい。また、情報提供装置10は、端末装置100と情報のやり取りを行うフロントエンドサーバと、各種の処理を実行するバックエンドサーバとにより実現されてもよい。このような場合、フロントエンドサーバには、図2に示す提供部45が配置され、バックエンドサーバには、図2に示す学習データ取得部41、学習部42、出力情報取得部43、および生成部44が含まれることとなる。
【0120】
また、情報提供装置10は、例えば、図2に示す学習データ取得部41および学習部42を有し、学習処理を実行する学習サーバと、図2に示す出力情報取得部43および生成部44を有し、生成処理を実行する生成サーバと、図2に示す提供部45を有し、生成サーバが生成した情報を利用者に提供する提供サーバとが協調して動作することにより、実現されてもよい。また、記憶部30に登録された学習データデータベース31およびモデルデータベース32は、外部のストレージサーバによって管理されていてもよい。
【0121】
〔5−2.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0122】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0123】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0124】
〔6.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば図8に示すような構成のコンピュータ1000によって実現される。図8は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0125】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
【0126】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0127】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0128】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0129】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0130】
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムまたはデータ(例えば、処理モデルM1)を実行することにより、制御部40の機能を実現する。コンピュータ1000の演算装置1030は、これらのプログラムまたはデータ(例えば、処理モデルM1)を一次記憶装置1040から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
【0131】
〔7.効果〕
上述したように、情報提供装置10は、学習データとして、それぞれ異なる種別の情報の組を取得する。そして、情報提供装置10は、学習データを入力情報とした際に、その学習データと対応する出力情報を出力するように、それぞれ異なる種別の入力情報からその入力情報が有する特徴を示す特徴情報を生成する複数のエンコーダーEと、その複数のエンコーダーEが生成した特徴情報を合成した合成情報を生成する合成モデルSM1と、合成モデルSM1が生成した合成情報から、それぞれ異なる種別の入力情報に対応する出力情報を生成する複数のデコーダーDとを含む処理モデルM1の学習を行う。
【0132】
上述した処理モデルM1は、従来のDNNと比較して、学習に要する時間や計算リソースを削減することができる。この結果、情報提供装置10は、学習データが有する関係性の学習を容易にすることができる。
【0133】
また、情報提供装置10は、複数のデコーダーDとして、合成情報からそれぞれ異なる種別の出力情報を生成する複数のデコーダーDであって、それぞれ異なるエンコーダーEに入力される入力情報と同じ種別の出力情報を出力する複数のデコーダーDを学習する。また、情報提供装置10は、それぞれ異なる種別の情報が有する特徴を学習した複数のエンコーダーEと、それぞれ異なるエンコーダーEと同じ種別の情報が有する特徴を学習した複数のデコーダーDとを学習する。このため、情報提供装置10は、入力情報に対応する出力情報を適切に出力する処理モデルM1を学習できる。
【0134】
また、情報提供装置10は、少なくとも、画像が有する特徴を示す特徴情報を生成する第1エンコーダーE1と、テキストが有する特徴を示す特徴情報を生成する第2エンコーダーE2と、第1エンコーダーE1および第2エンコーダーE2が生成した特徴情報を合成した合成情報を生成する合成器と、その合成情報から画像に対応する出力情報を生成する第1デコーダーD1と、その合成情報からテキストに対応する出力情報を生成する第2デコーダーD2とを学習する。このため、情報提供装置10は、画像およびテキストと対応する出力情報を適切に出力する処理モデルM1を学習できる。
【0135】
また、情報提供装置10は、出力情報の出力態様に応じた合成態様で、各エンコーダーEが生成した特徴情報を合成した合成情報を生成する合成モデルSM1を学習する。例えば、情報提供装置10は、対応コンテンツの出力先となる利用者の属性に応じた合成態様で、各エンコーダーEが生成した特徴情報を合成した合成情報を生成する合成モデルSM1を学習する。また、例えば、情報提供装置10は、各エンコーダーEが生成した特徴情報を線形結合した結合情報から、対応コンテンツの出力態様に応じた合成情報を生成する合成モデルSM1を学習する。このため、情報提供装置10は、対応コンテンツの出力態様を考慮した出力情報を生成する処理モデルM1を学習できる。
【0136】
また、情報提供装置10は、入力情報の種別に応じた構造を有し、入力された情報が有する特徴を示す中間表現を生成する複数の中間モデルMM1、MM2と、中間モデルMM1、MM2が生成した中間表現から特徴情報を生成する複数のエンコーダーEを学習する。例えば、情報提供装置10は、テキストである入力情報の中間表現を生成する第2中間モデルMM2として、再帰型ニューラルネットワークであるモデルを学習し、画像である入力情報の中間表現を生成する第1中間モデルMM1として、畳み込みニューラルネットワークであるモデルを学習する。このため、情報提供装置10は、より適切に入力情報の特徴情報を抽出する処理モデルM1を学習できる。
【0137】
また、情報提供装置10は、エンコーダーEとデコーダーDとの組であって、それぞれ異なる種別の情報が有する特徴を学習した複数の組に含まれる複数のエンコーダーEと複数のデコーダーDとの学習を行う。すなわち、情報提供装置10は、同じ種別の情報を処理するエンコーダーEとデコーダーDとの組ごとにプレトレーニングを行う。このため、情報提供装置10は、処理モデルM1の精度を容易に向上させることができる。
【0138】
また、情報提供装置10は、所定のコンテンツに含まれる複数の入力情報から、関連する内容の出力情報を出力するように、エンコーダーE、合成モデルSM1、およびエンコーダーEの少なくともいずれか一つの学習を行う。このため、情報提供装置10は、トピックがそろっている出力情報を生成する処理モデルM1を学習することができる。
【0139】
また、情報提供装置10は、それぞれ異なる種別の入力情報から入力情報が有する特徴を示す特徴情報を生成する複数のエンコーダーEと、複数のエンコーダーEが生成した特徴情報を合成した合成情報を生成する合成モデルSM1と、合成モデルSM1が生成した合成情報から、それぞれ異なる種別の入力情報に対応する出力情報を生成する複数のデコーダーDとを用いて、所定のコンテンツに含まれる複数の入力情報に対応する複数の出力情報を取得する。すなわち、情報提供装置10は、処理モデルM1を用いて、所定のコンテンツに含まれる複数の入力情報に対応する複数の出力情報を取得する。そして、情報提供装置10は、取得した複数の出力情報から、所定のコンテンツに対応する対応コンテンツを生成する。このため、情報提供装置10は、トピックがそろっている出力情報に基づいた対応コンテンツを提供することができる。
【0140】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0141】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、配信部は、配信手段や配信回路に読み替えることができる。
【符号の説明】
【0142】
10 情報提供装置
20 通信部
30 記憶部
31 学習データデータベース
32 モデルデータベース
40 制御部
41 学習データ取得部
42 学習部
43 出力情報取得部
44 生成部
45 提供部
50 データサーバ
100 端末装置
【要約】
【課題】学習データが有する関係性の学習を容易にする。
【解決手段】本願に係る学習装置は、それぞれ異なる種別の複数の入力情報を取得する取得部と、前記複数の入力情報を入力した際に、各入力情報と対応する複数の出力情報を出力するように、前記入力情報から当該入力情報が有する特徴を示す特徴情報を生成する複数の符号化器と、当該複数の符号化器が生成した特徴情報を合成した合成情報を生成する合成器と、合成器が生成した合成情報からそれぞれ異なる種別の出力情報を生成する複数の復号器とを含むモデルの学習を行う学習部とを有することを特徴とする。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8