以下に、本願に係る学習装置、生成装置、学習方法、生成方法、学習プログラム、生成プログラム、及びモデルを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、以下の実施形態により本願に係る学習装置、生成装置、学習方法、生成方法、学習プログラム、生成プログラム、及びモデルが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔実施形態1〕
〔1−1.情報処理装置の一例〕
最初に、生成装置および学習装置の一例である情報処理装置が実行する学習処理の一例について説明する。図1は、実施形態1に係る情報処理装置10が実行する処理の一例を示す図である。情報処理装置10は、インターネット等の所定のネットワークを介して、所定のクライアントが使用するデータサーバ20および端末装置30と通信可能である。
情報処理装置10は、後述の学習処理及び生成処理を実行する装置である。情報処理装置10は、サーバ装置やクラウドシステム等により実現される。
データサーバ20は、情報処理装置10が後述する学習処理を実行する際に用いる学習データや、情報処理装置10が後述する生成処理を実行する際に出力する配信コンテンツを管理する情報処理装置である。データサーバ20は、サーバ装置やクラウドシステム等により実現される。データサーバ20は、例えば、端末装置30に対してニュースや、利用者によって投稿された各種のコンテンツを配信する配信サービスを実行する。このような配信サービスは、例えば、各種ニュースの配信サイトやSNS(Social Networking Service)等により実現される。
端末装置30は、スマートフォンやタブレット等のスマートデバイスであり、3G(3rd Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。なお、端末装置30は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。
〔1−2.要約コンテンツの配信について〕
ここで、データサーバ20は、配信対象となる配信コンテンツが複数存在する場合には、各コンテンツを全て配信するのではなく、各コンテンツの要約となるテキストが含まれる要約コンテンツを端末装置30へと配信することがある。配信コンテンツは、例えば、情報媒体或いは情報の配信主体から取得したニュース記事である。一例として、要約コンテンツは、配信コンテンツへのリンクが張られたポータルサイトのトップページである。
なお、情報媒体とは、情報の配信媒体或いは掲載媒体を示す情報であり、例えば、“新聞”、“雑誌”等を示す情報である。また、配信主体とは、ニュース記事等の情報を配信する組織或いは個人である。例えば、配信主体は、新聞社、出版社、放送局(テレビ局、ラジオ局)等のマスメディアである。勿論、配信主体はマスメディアに限定されない。配信主体は、ポータルサイトの運営者であってもよいし、携帯電話会社であってもよい。配信主体は、情報処理装置10の運営者自身であってもよい。
図2は、コンテンツが表示された端末装置30を示す図である。図2の状態J1は、ポータルサイトのトップページが表示された様子を示す図であり、図2の状態J2は、配信コンテンツC11を含むページが表示された様子を示す図である。配信コンテンツC11は、例えば、所定の配信主体から情報処理装置10の運営者(例えば、ポータルサイトの運営者)が取得したニュース記事である。状態J1に示す端末装置30には、記事へのリンクが張られたタイルが複数配置されたページが表示されている。各タイルには、配信コンテンツの内容を示すテキスト(以下、見出しという。)が表示されている。例えば、縦一列に並ぶ複数のタイルの一番上のタイルには、見出しU11が表示されている。見出しU11は配信コンテンツC11の内容に対応するテキストである。ユーザが見出しU11が表示されたタイルをタップすると、端末装置30には、配信コンテンツC11を含む画面が表示される。配信コンテンツC11には、記事の本文K11と、記事のタイトルT11が含まれている。
配信コンテンツに対応付けられるテキスト(例えば、ポータルサイトのトップページに掲載される見出し)は、配信コンテンツの内容に基づいて人が作成する。例えば、見出しU11は、配信コンテンツC11に含まれるタイトルT11をポータルサイトの運営者の従業員が読んで要約することにより作成される。しかしながら、配信コンテンツごとに、人手で見出しを生成するのは、手間がかかる。
そこで、各種情報が有する特徴を学習した学習モデル(以下、単にモデルという。)を用いて、配信コンテンツから見出しを自動的に生成することが考えらえる。例えば、配信コンテンツに含まれるテキスト(例えば、タイトル)から、見出しとなるタイトルを自動的に生成することが考えられる。
精度が高い見出し(例えば、正確性が高い見出し)を作成するには、精度が高いモデルの生成が必要となる。精度が高いモデルを生成するには、学習データとなるテキストの組を大量に準備する必要がある。しかし、テキストの組は人の手で作成されるため、用意できるテキストの組の数には限界がある。テキストの組の数の数が少ないと、精度の高いモデルの実現は困難となる。モデルの精度が低いと、装置が生成するテキストは精度(例えば、正確性)が低いものとなる。
〔1−3.再帰的学習〕
そこで、情報処理装置10は、以下の学習処理を実行することで、モデルM1を生成するための学習を行う。モデルM1は、配信コンテンツに含まれるテキスト(例えば、タイトル)から見出しとなるテキストを生成するためのモデルである。以下、図1を参照しながら情報処理装置10が実行する学習処理の一例について説明する。
まず、情報処理装置10は、データサーバ20から学習データとなる情報を取得する。例えば、情報処理装置10は、データサーバ20から、過去、ユーザに配信された配信コンテンツを取得する。そして、情報処理装置10は、データサーバ20から取得した情報を学習データデータベースに登録する。
図3は、学習データデータベースに登録される学習データの一例を示す図である。学習データデータベースには、学習データとして、本文、タイトル、見出しおよびスコアを関連付けた情報が登録される。本文、タイトル、および見出しの組には、それぞれ、学習データID(Identifier)が付されている。「本文」及び「タイトル」は、配信コンテンツに含まれるテキストである。
「見出し」は、配信コンテンツの内容をユーザが容易に把握するためのテキストである。見出しは、配信コンテンツに含まれるテキスト(例えば、本文或いはタイトル)に対応するテキストである。学習データとなる見出しは、配信コンテンツに含まれるテキストを所定の者(例えば、ポータルサイトの運営者の従業員)が読んで要約することにより作成される。なお、見出しは、所定の条件を満たすよう生成される。例えば、見出しは、所定の文字数以下となるよう生成される。一例として、見出しは、13.5文字以下となるよう生成される。このとき、13.5文字は、全角文字1個を1文字とした文字数である。半角文字1文字は0.5文字である。以下の説明では、所定の条件のことを「生成条件」という。生成条件は、13.5文字以下に限定されない。生成条件となる文字数は、13.5文字より多くてもよいし少なくてもよい。勿論、生成条件は文字数に限定されない。
なお、「見出し」は、要約、タイトル、短縮タイトル、トピック、トピック見出し等と言い換えることができる。同様に、配信コンテンツに含まれる「タイトル」も、要約等と言い換えることができる。本実施形態では、「見出し」は、配信コンテンツに含まれる「タイトル」に基づき作成される短縮テキストであるものとする。勿論、「見出し」は本文に基づき作成された短縮テキストであってもよい。なお、構文上は文が短縮されていても、「見出し」の文字数が「タイトル」の文字数より多くなることがあり得る。例えば、「タイトル」に含まれる略語を正式名称に置き換えた場合は、構文上は文が短縮されていても、結果として文字数が増えることがある。このような場合も、「見出し」は「タイトル」の短縮テキストである。
図3の例の場合、見出しU11はタイトルT11或いは本文K11に基づきサイトの運営者の従業員(以下、単に運営者という。)が作成した見出しである。また、見出しU12はタイトルT12或いは本文K12に基づき運営者が作成した見出しである。また、見出しU13はタイトルT13或いは本文K13に基づき運営者が作成した見出しである。なお、一部のデータには、「見出し」の項目に情報が格納されていない。例えば、図3の例であれば、学習データIDが2001以降のデータには「見出し」の項目に情報が格納されていない。これは、運営者により見出しが作成していないことを示している。以下の説明では見出しが生成されているデータ群をグループG1、見出しが生成されていないデータ群をグループG2という。見出しは人の手で作成されるので、実際には、グループG1に属するコンテンツの数に対して、グループG2に属するコンテンツの数が圧倒的に多い。一例を挙げると、グループG1に属するコンテンツの数が10万であるのに対し、グループG2に属するコンテンツの数は100万である。グループG2に属するコンテンツをモデルの学習に有効利用できれば、情報処理装置10は、精度の高いモデルを取得できる。
本実施形態では、情報処理装置10は、グループG1に属するコンテンツ(例えばタイトルと見出し)を使って第1のモデル(以下、モデルM1という。)を学習する。例えば、情報処理装置10は、タイトルと見出しとの関係性に基づく学習によりモデルM1を生成する。そして、情報処理装置10は、モデルM1を使ってグループG2に属するコンテンツの擬似的な見出し(以下、擬似見出しという。)を生成する。そして、情報処理装置10は、生成した擬似見出しを学習データの「見出し」の項目に格納していく。図4は、擬似見出しが格納された学習データの一例を示す図である。図4の例の場合、見出しPU11〜PU16が擬似見出しである。そして、情報処理装置10は、グループG2に属するコンテンツ(例えば、タイトル)とその擬似見出しを使って第2のモデル(以下、モデルM2という。)を学習する。グループG2に属するコンテンツの数はグループG1に属するコンテンツの数と比べて圧倒的に多いので、情報処理装置10は、精度の高いモデルを取得できる。
図1に戻り、情報処理装置10は、学習データデータベースに登録されたデータの中から、タイトルと見出しとの組を複数組取得する。例えば、情報処理装置10は、グループG1に属するコンテンツのタイトルと見出しを取得する。そして、情報処理装置10の学習部は、タイトルと見出しとの関係性に基づく学習によりモデルM1を生成する(ステップS1)。ここで、モデルM1は、モデルに入力されるテキスト(以下、入力テキストという。)から生成条件を満たすテキスト(以下、出力テキストという。)を生成するモデルである。情報処理装置10は、タイトルを入力データ、見出しを正解データとして学習(例えば、教師あり学習)を行うことによりモデルM1を生成する。
なお、以下の説明では、学習の際、入力データとなるテキスト(本実施形態の場合、グループG1に属するコンテンツのタイトル)のことを第1のテキスト、正解データとなるテキスト(本実施形態の場合、グループG1に属するコンテンツの見出し)のことを第2のテキストということがある。また、以下の説明では、正解データのことを教師ラベルということもある。
第1のテキストは、例えば、所定の配信主体からのテキストである。一例として、第1のテキストは、所定の配信主体から取得した記事のタイトルである。また、第2のテキストは、例えば、第1のテキストを、生成条件を満たすように変換した短縮タイトル(すなわち、見出し)である。また、第1のテキストは、例えば、所定の情報媒体からのテキストであってもよい。一例として、第1のテキストは、所定の情報媒体から取得した記事のタイトルである。また、第2のテキストは、例えば、第1のテキストを、生成条件を満たすように変換した短縮タイトル(すなわち、見出し)である。
モデルM1は、入力テキストから入力テキストが有する特徴を示す特徴情報を生成するエンコーダと、特徴情報から出力テキストを生成するデコーダと、を含むモデルであってもよい。図5は、モデルM1の一例を示す図である。具体的には、図5では、モデルM1の一例であるモデルMを示している。
モデルMは、RNN(Recurrent Neural Network)の一例であるLSTM(Long Short Term Memory)を用いたSequence to Sequence Model(以下、Seq2Seqともいう。)である。Seq2Seqは、エンコーダ−デコーダモデルの一種であり、異なる長さのワード列 (Sequence)を入力とし、異なる長さのワード列(Sequence)を出力とすることを可能とする。図5に示すモデルMは、エンコーダE1とデコーダD1とから構成されている。
エンコーダE1は、入力テキストが有する特徴を抽出する。エンコーダE1は、入力層Xと中間層(隠れ層)H1とを有する。エンコーダE1には、第1のテキスト(本実施形態の場合、タイトル)に含まれるワード(図5に示すワードW11〜W13)が順次入力される。<EOS>は、End Of Statementの略であり、テキストの終わりであることを示す。図5に示すエンコーダE1は、入力層Xと中間層H1を時間軸方向に展開した図である。中間層H1には、入力層Xからの出力に加えて前回の中間層H1の出力が入力される。なお、図5に示す例では、第1のテキストに含まれるワードが、ワードW11〜W13までの3つとなっているが、第1のテキストに含まれるワードは、3つより多くてもよい。エンコーダE1は、入力されたテキストの特徴を示す多次元量(例えば、ベクトル)である特徴情報Fを出力する。
なお、エンコーダE1には、入力されるテキストの分類を示す分類情報Pを入力するための層(以下、入力層N1という。)が用意されている。分類情報Pは、例えば、入力層Xに入力されるテキスト(例えば、タイトル)の分類を示す情報である。例えば、分類情報Pは、例えば、入力層Xに入力されるテキストがスポーツ関連のテキストか政治関連のテキストかを示す情報である。入力層N1は、分類情報Pを中間層H1の入力に対応する次元数の多次元量(例えば、ベクトル)に変換する。図5の例では、テキストの先頭ワードであるワードW11が入力される前に入力層N1の出力が中間層H1に入力されている。エンコーダE1に、第1のテキストの分類情報Pを入力することにより、エンコーダE1は、第1のテキストの分類も加味して、第1のテキストが有する特徴を学習できる。勿論、エンコーダE1には、入力層N1は用意されていなくてもよい。
デコーダD1は、入力テキストが短縮されたテキスト(すなわち、短縮テキスト)を出力する。デコーダD1は、中間層(隠れ層)H2と出力層Yとを有する。図5に示すデコーダD1は、エンコーダE1と同じく、中間層(隠れ層)H2と出力層Yを時間軸方向に展開した図である。デコーダD1には、エンコーダE1から出力された特徴情報Fが入力され、出力層Yから短縮テキストとなるワード(図5に示すワードW21〜W23)が順次出力される。なお、図5に示す例では、短縮テキストに含まれるワードが、ワードW21〜W23までの3つとなっているが、短縮テキストに含まれるワードは、3つより多くてもよい。
情報処理装置10は、エンコーダE1に第1のテキストを入力した際に、デコーダD1から第1のテキストに対応する第2のテキストが出力されるよう、モデルMの学習を行う。例えば、情報処理装置10は、デコーダD1が出力した短縮テキストが、第2のテキストに近づくように、バックプロパゲーション等の手法により、各ノード間で値が伝達する際に考慮される重み(すなわち、接続係数)の値を修正する。これにより、情報処理装置10は、モデルMに第1のテキストが有する特徴を学習させる。なお、情報処理装置10は、短縮テキストの分散表現となるベクトルと第2のテキストの分散表現となるベクトルとのコサイン類似度に基づいて重みの値を修正してもよい。
図1に戻り、情報処理装置10は、学習データデータベースに登録されたデータの中から、見出しが生成されていないタイトルを入力データとして取得する。例えば、情報処理装置10は、グループG2に属するコンテンツのタイトルを取得する。このとき、見出しが生成されていないタイトルが複数あるのであれば、情報処理装置10は、複数のタイトルを取得する。そして、情報処理装置10の生成部は、取得したタイトルをモデルM1に入力することにより、入力したタイトルに対応する擬似見出し(出力データ)を生成する。なお、取得したタイトルが複数あるのであれば、情報処理装置10は、複数のタイトルをそれぞれモデルM1に入力し、複数の擬似見出しを生成する(ステップS2)。
そして、情報処理装置10の学習データ生成部は、入力データ(タイトル)と出力データ(生成した擬似見出し)とに基づいて学習データデータベースに登録するデータを生成する。そして、情報処理装置10の学習データ生成部は、生成したデータを学習データデータベースに登録する(ステップS3)。
なお、以下の説明では、モデルM1への入力データとなるテキストのことを第3のテキスト、モデルM1に第3のテキストを入力することにより得られる出力テキストのことを第4のテキストということがある。第3のテキストは、例えば、グループG2に属するコンテンツのタイトルである。また、第4のテキストは、例えば、グループG2に属するコンテンツの擬似見出しである。
そして、ステップS1に戻り、情報処理装置10の学習部は、第3のテキストと第4のテキストとの関係性に基づいて再帰的に学習を行う。具体的には、情報処理装置10は、学習データデータベースに登録されたデータの中から、グループG2に属するコンテンツのタイトルと擬似見出しとの組を複数組取得する。ここで取得する擬似見出しは、ステップS2で生成された擬似見出しである。そして、情報処理装置10は、タイトルと擬似見出しとの関係性に基づく学習によりモデルM1を更新する(ステップS1)。以後、情報処理装置10は、ステップS1〜ステップS3の処理を繰り返し実行する。
情報処理装置10は、再帰的学習により生成されたモデルM1を使って入力テキストから出力テキストを生成し、端末装置30に出力する。
本実施形態によれば、情報処理装置10は、モデルM1を使ってグループG2に属するコンテンツの擬似見出しを生成する。そして、情報処理装置10は、グループG2に属するコンテンツ(例えば、タイトル)とその擬似見出しを使ってモデルM2を生成する。上述したように、グループG2に属するコンテンツの数はグループG1に属するコンテンツの数と比べて圧倒的に多い。そのため、情報処理装置10は、精度の高いモデルを取得できる。しかも、情報処理装置10は、再帰的に学習を実行するので、さらに精度の高いモデルを取得できる。
〔実施形態2〕
〔1−4.情報処理装置の他の例〕
次に、情報処理装置10が実行する学習処理および生成処理の他の例について説明する。図6は、実施形態2に係る情報処理装置10が実行する処理の一例を示す図である。情報処理装置10、データサーバ20、及び端末装置30の構成は実施形態1と同じである。
〔1−5.学習処理について〕
情報処理装置10は、以下の学習処理を実行することで、配信コンテンツに含まれるテキスト(例えば、タイトル)から見出しとなるテキストを生成するためのモデルの学習を行う。以下、図6を参照しながら情報処理装置10が実行する学習処理の一例について説明する。
まず、情報処理装置10は、データサーバ20から学習データとなる情報を取得する(ステップS101)。例えば、情報処理装置10は、データサーバ20から、過去、ユーザに配信された配信コンテンツを取得する。そして、情報処理装置10は、データサーバ20から取得した情報を例えば図3に示すように学習データデータベースに登録する。上述したように、図3に示す学習データベースに登録された学習データは、見出しが生成されているデータ群(グループG1)と、見出しが生成されていないデータ群(グループG2)とに分かれている。
本実施形態では、情報処理装置10は、グループG1に属するコンテンツ(例えばタイトルと見出し)を使って第1のモデル(以下、モデルM1という。)を学習する。例えば、情報処理装置10は、タイトルと見出しとの関係性に基づく学習によりモデルM1を生成する。そして、情報処理装置10は、モデルM1を使ってグループG2に属するコンテンツの擬似的な見出し(以下、擬似見出しという。)を生成する。そして、情報処理装置10は、生成した擬似見出しを図4に示すように学習データの「見出し」の項目に格納していく。
なお、自然言語処理のための学習モデル(例えば、RNN(Recurrent Neural Network))は、現在〜過去に入力した1又は複数のワードから尤もらしい次のワードを予測するモデルでもある。そのため、情報処理装置10は、学習モデルの学習結果(例えば、生成されたニューラルネットワーク)に基づいて、学習モデルが生成したテキストの尤もらしさを示すスコア(以下、単にスコアという。)を算出可能である。なお、スコアは尤度と言い換えることもできる。情報処理装置10は、モデルの更なる精度向上のため、図3及び図4に示すように、学習データに「スコア」の項目を設け、算出したスコアを学習データに格納してもよい。例えば、情報処理装置10は、タイトルT21から見出しPU21が形成される確率(例えば、P(PU21|T21))であるスコアV21を学習データID“2001”の「スコア」の項目に格納する。同様に、情報処理装置10は、タイトルT22〜T26から見出しPU22〜PU26が形成される確率であるスコアV22〜V26を学習データの「スコア」の項目に格納する。スコアの使用方法については後述する。
図6に戻り、情報処理装置10は、学習データデータベースに登録されたデータの中から、タイトルと見出しとの組を複数組取得する。例えば、情報処理装置10は、グループG1に属するコンテンツのタイトルと見出しを取得する。そして、情報処理装置10の学習部は、タイトルと見出しとの関係性に基づく学習によりモデルM1を生成する(ステップS102)。情報処理装置10は、タイトルを入力データ、見出しを正解データとした学習によりモデルM1の学習(例えば、教師あり学習)を行う。
なお、以下の説明では、実施形態1と同様に、学習の際、入力データとなるテキスト(本実施形態の場合、グループG1に属するコンテンツのタイトル)のことを第1のテキスト、正解データとなるテキスト(本実施形態の場合、グループG1に属するコンテンツの見出し)のことを第2のテキストということがある。また、以下の説明では、実施形態1と同様に、正解データのことを教師ラベルということもある。
図6に戻り、情報処理装置10は、学習データデータベースに登録されたデータの中から、見出しが生成されていないタイトルを入力データとして取得する。例えば、情報処理装置10は、グループG2に属するコンテンツのタイトルを取得する。このとき、見出しが生成されていないタイトルが複数あるのであれば、情報処理装置10は、複数のタイトルを取得する。そして、情報処理装置10の生成部は、取得したタイトルをモデルM1に入力することにより、入力したタイトルに対応する擬似見出し(出力データ)を生成する。なお、取得したタイトルが複数あるのであれば、情報処理装置10は、複数のタイトルをそれぞれモデルM1に入力し、複数の擬似見出しを生成する(ステップS103)。
そして、情報処理装置10の学習データ生成部は、入力データ(タイトル)と出力データ(生成した擬似見出し)とに基づいて学習データデータベースに登録するデータを生成する。そして、情報処理装置10の学習データ生成部は、生成したデータを学習データデータベースに登録する(ステップS104)。
なお、以下の説明では、実施形態1と同様に、モデルM1への入力データとなるテキストのことを第3のテキスト、モデルM1に第3のテキストを入力することにより得られる出力テキストのことを第4のテキストということがある。第3のテキストは、例えば、グループG2に属するコンテンツのタイトルである。また、第4のテキストは、例えば、グループG2に属するコンテンツの擬似見出しである。
続いて、情報処理装置10は、学習データデータベースに登録されたデータの中から、グループG2に属するコンテンツのタイトルと擬似見出しとの組を複数組取得する。ここで取得する擬似見出しは、ステップS3で生成された擬似見出しである。そして、情報処理装置10は、タイトルと擬似見出しとの関係性に基づく学習によりモデルM2を生成する(ステップS105)。ここで、モデルM2は、モデルM1と同様に、入力テキストから出力テキストを生成するモデルである。ここで、モデルM2は、モデルM1と同じ構成であってもよいし、異なる構成であってもよい。本実施形態の場合、モデルM2は、LSTMを用いたSeq2Seqである。
例えば、モデルM2が、図5に示すモデルMと同じ構成であるとする。このとき、情報処理装置10は、エンコーダE1に第3のテキスト(例えば、タイトル)を入力した際に、デコーダD1から第3のテキストに対応する第4のテキスト(例えば、擬似見出し)が出力されるよう、モデルM2の学習を行う。例えば、情報処理装置10は、デコーダD1が出力した短縮テキストが、第4のテキストに近づくように、バックプロパゲーション等の手法により、各ノード間で値が伝達する際に考慮される重み(すなわち、接続係数)の値を修正する。これにより、情報処理装置10は、モデルMに第1のテキストが有する特徴を学習させる。なお、情報処理装置10は、短縮テキストの分散表現となるベクトルと第2のテキストの分散表現となるベクトルとのコサイン類似度に基づいて重みの値を修正してもよい。
なお、情報処理装置10は、グループG2に属するコンテンツのタイトル(第3のテキスト)と擬似見出し(第4のテキスト)のみならず、グループG1に属するコンテンツのタイトル(第1のテキスト)と見出し(第2のテキスト)をモデルM2の学習用のテキストとしてもよい。そして、情報処理装置10は、第1のテキストと第2のテキストと第3のテキストと第4のテキストとに基づいて、第2のモデルの学習を行ってもよい。例えば、モデルM2が、図5に示すモデルMと同じ構成であるとする。このとき、情報処理装置10は、エンコーダE1に第1のテキスト或いは第3のテキストを入力した際に、デコーダD1から第2のテキスト或いは第4のテキストが出力されるよう、モデルMの学習を行う。これにより、情報処理装置10は、より多くのテキストの組を学習データとできる。しかも、情報処理装置10は、第4のテキスト(擬似見出し)より正確性が高いと思われる第2のテキスト(見出し)を学習データとできる。そのため、情報処理装置10は、精度の高いモデルM2を生成できる。
なお、ステップS103において、情報処理装置10は、複数の擬似見出しを生成したが、必ずしも、生成した擬似見出し全てを学習用のデータとして使用する必要はない。情報処理装置10は、ステップS103で生成した複数の擬似見出し(複数の第4のテキスト)の中から所定の基準に従い選択された擬似見出し(第4のテキスト)を学習用のデータとして選択してもよい。このとき、情報処理装置10は、モデルM1の学習結果に基づき算出されるスコアであって擬似見出しの尤もらしさを示すスコア(尤度)に基づいて、モデルM2の学習に使用する擬似見出しを選択してもよい。例えば、情報処理装置10は、スコアが所定の値を超えている擬似見出しを学習用のデータとして選択してもよい。或いは、情報処理装置10は、スコアが高い順に所定数の擬似見出しを学習用のデータとして選択してもよい。なお、スコアは例えば学習データデータベースに登録したスコア(例えば図4に示すV21〜V26)であってもよい。そして、情報処理装置10は、擬似見出しと、選択された擬似見出しに対応するタイトルとに基づいて、モデルM2の学習を行う。これにより、情報処理装置10は、複数の擬似見出しの中でスコアが高い擬似見出しのみを学習データとできる。そのため、情報処理装置10は、精度の高いモデルM2を生成できる。
〔1−6.生成処理について〕
次に、上述した学習処理によって学習が行われたモデルを用いて、入力テキストに対応する出力テキストを生成する生成処理の一例について説明する。このとき、出力テキストは、生成条件を満たすテキストであってもよい。例えば、出力テキストは入力テキストの短縮テキストである。
まず、情報処理装置10は、データサーバ20からモデルMに入力される情報を取得する(ステップS105)。例えば、情報処理装置10は、データサーバ20から、配信予定の配信コンテンツ(本文及びタイトル)を取得する。
そして、情報処理装置10は、モデルM2に入力テキスト(例えば、タイトル)を入力することにより、入力テキストに対応する出力テキスト(例えば、見出し)を生成する(ステップS106)。例えば、モデルM2が図5に示すモデルMなのであれば、情報処理装置10は、入力テキストに含まれるワードを、順次、エンコーダE1に入力する。そして、情報処理装置10は、デコーダD1から、順次、出力テキストとワードを取得する。このとき、情報処理装置10は、出力テキストの精度を高めるため、入力テキストの分類情報をエンコーダE1に入力してもよい。
出力テキストが生成されたら、情報処理装置10は、出力テキストを用いて、要約コンテンツを生成する。そして、情報処理装置10は、要約コンテンツを端末装置30に配信する(ステップS107)。
本実施形態によれば、情報処理装置10は、モデルM1を使ってグループG2に属するコンテンツの擬似見出しを生成する。そして、情報処理装置10は、グループG2に属するコンテンツ(例えば、タイトル)とその擬似見出しを使ってモデルM2を生成する。上述したように、グループG2に属するコンテンツの数はグループG1に属するコンテンツの数と比べて圧倒的に多い。そのため、情報処理装置10は、精度の高いモデルを取得できる。
〔2.情報処理装置の構成例〕
以上、本実施形態の情報処理装置10の動作を述べたが、以下、情報処理装置10の構成を説明する。
情報処理装置10は、端末装置30等のクライアントコンピュータからの要求を処理するサーバ用ホストコンピュータ(以下、単に「サーバ」という。)である。情報処理装置10は、PCサーバであってもよいし、ミッドレンジサーバであってもよいし、メインフレームサーバであってもよい。また、情報処理装置10は、1つのサーバにより構成されていてもよいし、協働して処理を実行する複数のサーバにより構成されていてもよい。情報処理装置10が複数のサーバで構成される場合、これらサーバの設置場所は離れていてもよい。設置場所が離れていたとしても、協働して処理を実行するのであれば、これらサーバは1つの情報処理装置とみなすことができる。情報処理装置10は、生成装置および学習装置として機能する。
上述したように、情報処理装置10は、データサーバ20及び端末装置30とネットワークを介して接続されている。ネットワークは、LAN(Local Area Network)、WAN(Wide Area Network)、電話網(携帯電話網、固定電話網等)、地域IP(Internet Protocol)網、インターネット等の通信ネットワークである。ネットワークには、有線ネットワークが含まれていてもよいし、無線ネットワークが含まれていてもよい。
図7は、実施形態に係る情報処理装置10の構成例を示す図である。情報処理装置10は、通信部11と、記憶部12と、制御部13と、を備える。なお、図7に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
通信部11は、外部の装置と通信する通信インタフェースである。通信部11は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部11は、NIC(Network Interface Card)等のLANインタフェースであってもよいし、USB(Universal Serial Bus)ホストコントローラ、USBポート等により構成されるUSBインタフェースであってもよい。また、通信部11は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部11は、情報処理装置10の通信手段として機能する。通信部11は、制御部13の制御に従ってデータサーバ20及び端末装置30と通信する。
記憶部12は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部12は、情報処理装置10の記憶手段として機能する。記憶部12は、学習データデータベース121、モデルデータベース122、及びコンテンツ情報データベース123を記憶する。
学習データデータベース121には、学習データが登録される。図8は、学習データデータベース121に登録される情報の一例を示す図である。学習データデータベース121には、「学習データID(Identifier)」、「本文」、「タイトル」、「見出し」、および「スコア」といった項目を有する情報が登録される。
なお、図8に示す情報のうち「本文」、「タイトル」、「見出し」、および「スコア」は、図3又は図4に示す「本文」、「タイトル」、「見出し」、および「スコア」に対応する。なお、学習データデータベース121には、図8に示す情報以外にも、学習データや要約データを閲覧した利用者に関する各種の情報が登録されていてもよい。なお、図8に示す例では、学習データデータベース121に登録される情報として、「K11、K12、K21、K22」、「T11、T12、T21、T22」、「U11、U12、PU21」、「V21」といった概念的な情報を示したが、実際には、テキストデータやバイナリデータが登録されることとなる。
ここで、「学習データID」とは、学習データを識別するための識別子である。また、「属性情報」とは、テキストの属性を示す情報である。また、「本文」とは、ユーザに配信されたコンテンツ(例えば、記事)に含まれる本文となるテキストである。また「タイトル」とは、コンテンツ或いは当該コンテンツに含まれる本文に付されたタイトルである。また、「見出し」とは、コンテンツ(本文或いはタイトル)に付された見出しである。
例えば、図8に示す例では、学習データデータベース121には、学習データID「1001」、本文「K11」、タイトル「T11」、および見出し「U11」といった情報が対応付けて登録されている。このような情報は、例えば、学習データID「1001」が示す学習データに、「K11」が示す本文と、「T11」が示すタイトルと、「U11」が示す見出しとが含まれる旨を示す。また、学習データデータベース121には、学習データID「2001」、本文「K21」、タイトル「T21」、擬似見出し「PU21」、およびスコア「V21」といった情報が対応付けて登録されている。このような情報は、例えば、学習データID「2001」が示す学習データに、「K21」が示す本文と、「T21」が示すタイトルと、「PU21」が示す擬似見出しと、「V21」が示すスコアが含まれる旨を示す。
図7に戻り、モデルデータベース122には、情報処理装置10が有するモデルのデータが登録される。図9は、モデルデータベース122に登録される情報の一例を示す図である。図9に示す例では、モデルデータベース122には、「モデルID」、および「モデルデータ」といった情報が登録されている。
ここで、「モデルID」とは、各モデルを識別するための情報である。また、「モデルデータ」とは、対応付けられた「モデルID」が示すモデルのデータであり、例えば、各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報である。
例えば、図9に示す例では、モデルID「3001」およびモデルデータ「M1」といった情報が対応付けて登録されている。このような情報は、例えば、「3001」が示すモデルのデータが「M1」である旨を示す。なお、図9に示す例では、モデルデータベース122に登録される情報として、「M1〜M3」といった概念的な情報を記載したが、実際には、モデルの構造や接続係数を示す文字列や数値等が登録されることとなる。
モデルMは、例えば、第1のテキストと第1のテキストに対応する第2のテキストとに基づいて学習したモデルM1(第1のモデル)である。また、モデルMは、第3のテキストとモデルM1に第3のテキストを入力することにより生成された第4のテキストとに基づいて学習したモデルM2(第2のモデル)であってもよい。また、また、モデルMは、第3のテキストとモデルM2に第3のテキストを入力することにより生成された第5のテキストとに基づいて学習したモデルM3(第3のモデル)であってもよい。
モデルMは、入力テキストから所定の条件を満たす出力テキストを生成する。このようなモデルMは、テキストが入力される入力層と、入力層に入力されたテキストに対応するテキストであって生成条件を満たすテキストを出力する出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重み(すなわち、接続係数)とに基づく演算を行うことにより、入力層に入力されたテキストに対応するテキストであって生成条件を満たすテキストを出力層から出力するよう、コンピュータを機能させるためのモデルである。
ここで、モデルMが「y=a1*x1+a2*x2+・・・+ai*xi」で示す回帰モデルで実現されるとする。この場合、モデルMが含む第1要素は、x1やx2等といった入力データ(xi)に対応する。また、第1要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。
また、モデルMがDNN(Deep Neural Network)等、1つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、モデルMが含む第1要素は、入力層または中間層が有するいずれかのノードに対応する。また、第2要素は、第1要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第1要素の重みは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。
情報処理装置10は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、出力テキストの算出を行う。具体的には、モデルMは、テキスト(例えば、タイトル)が入力された場合に、入力されたテキストに対応するテキストであって生成条件を満たすテキスト(例えば、見出し)を出力するように係数が設定される。モデルMは、テキスト及び当該テキストの属性情報が入力された場合に、入力されたテキストに対応するテキストであって生成条件を満たすテキストを出力するように係数が設定されてもよい。情報処理装置10は、このようなモデルMを用いて、生成条件を満たすテキスト(例えば、見出し)を生成する。
なお、上記例では、モデルMが、テキスト(及び当該テキストの属性情報)が入力された場合に、入力されたテキストに対応するテキストであって生成条件を満たすテキスト(例えば、見出し)を出力するモデル(以下、モデルVという。)である例を示した。しかし、実施形態に係るモデルMは、モデルVにデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。例えば、モデルVは、「テキスト(及び当該テキストの属性情報)」を入力とし、モデルVが出力する「入力されたテキストに対応するテキストであって生成条件を満たすテキスト」を出力とするよう学習されたモデルであってもよい。
また、情報処理装置10がGAN(Generative Adversarial Networks)を用いた学習処理或いは生成処理を行う場合、モデルMは、GANの一部を構成するモデルであってもよい。
図7に戻り、コンテンツ情報データベース123には、ユーザに配信されるコンテンツの情報が登録される。例えば、コンテンツ情報データベース123には、コンテンツパートナーから取得した記事等が登録される。図10は、コンテンツ情報データベース123に登録される情報の一例を示す図である。コンテンツ情報データベース123には、「コンテンツID」、「本文」、及び「タイトル」といった項目を有する情報が登録される。なお、「コンテンツID」とは、コンテンツのデータを識別するための識別子である。「本文」及び「タイトル」は、図8に示す「本文」及び「タイトル」と同様である。
図7に戻り、制御部13は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報処理装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部13は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
また、制御部13は、記憶部12に記憶されるモデルM(モデルM1、M2、M3等)に従った情報処理により、モデルMの入力層に入力された入力テキスト(例えば、タイトル)に対し、モデルMが有する係数(すなわち、モデルMが学習した各種の特徴に対応する係数)に基づく演算を行い、モデルMの出力層から出力テキスト(例えば、見出し)を出力する。入力層には、入力テキスト以外に、当該入力テキストの属性情報が入力されてもよい。
制御部13は、図7に示すように、学習データ取得部131と、学習部132と、学習データ生成部133と、生成部134と、出力制御部135と、を備える。制御部13を構成するブロック(学習データ取得部131〜出力制御部135)はそれぞれ制御部13の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ1つのプロセッサ或いは1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部13は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
学習データ取得部131は、学習データとして、第1のテキストと、第1のテキストに対応する第2のテキストと、を取得する。例えば、学習データ取得部131は、学習データとして、所定のコンテンツパートナーが作成した記事(本文及び/又はタイトル)をデータサーバ20から取得する。さらに、学習データ取得部131は、学習データとして、当該記事に付された見出しを取得する。見出しは、当該記事を過去ユーザに配信したポータルサイトの運営者が作成したものであってもよい。そして、学習データ取得部131は、取得した各データを対応付けて学習データデータベース121に登録する。
また、学習データ取得部131は、学習データとして、第3のテキストと、第3のテキストに対応する第4のテキストと、を取得する。例えば、学習データ取得部131は、学習データとして、所定のコンテンツパートナーが作成した記事(本文及び/又はタイトル)をデータサーバ20から取得する。さらに、学習データ取得部131は、学習データとして、生成部134が、記事(本文及び/又はタイトル)をモデルM1(第1のモデル)に入力することにより生成されたテキスト(例えば、見出し)を取得する。そして、学習データ取得部131は、取得した各データを対応付けて学習データデータベース121に登録する。
なお、学習データ取得部131は、学習データとして、第3のテキストと、第3のテキストに対応する第5のテキストと、を取得してもよい。第5のテキストは、例えば、生成部134が、記事(本文及び/又はタイトル)をモデルM2(第2のモデル)に入力することにより生成されたテキスト(例えば、見出し)である。
学習部132は、モデルMの学習を行い、学習したモデルMをモデルデータベース122に格納する。モデルMはモデルM1であってもよいしモデルM2であってもよい。勿論、モデルMは、モデルM1、M2以外のモデル(例えば、後述するモデルM3)であってもよい。学習部132は、学習データに含まれる第1のテキスト(例えば、タイトル)をモデルMに入力した際に、モデルMが学習データに含まれる第2のテキスト(例えば、入力したタイトルに対応する見出し)を出力するように、モデルMの接続係数の設定を行う。すなわち、学習部132は、入力テキストを入力した際に、モデルMが、入力テキストに対応する出力テキストを出力するように、モデルMの学習を行う。
例えば、学習部132は、モデルMが有する入力層のノードであって、入力層に入力される情報と対応する特徴を学習したエンコーダE1の入力層と対応するノードに所定のテキスト(例えば、タイトル)を入力し、各中間層を辿ってモデルMの出力層までデータを伝播させることで、上記所定のテキストに対応するテキスト(例えば、見出し)を出力させる。そして、学習部132は、モデルMが実際に出力したテキストと、学習データに含まれる第2のテキスト(例えば、見出し)との差に基づいて、モデルMの接続係数を修正する。或いは、学習部132は、モデルMが実際に出力したテキストと、学習データに含まれる第4のテキスト(例えば、擬似見出し)若しくは第5のテキスト(例えば、後述する第2の擬似見出し)との差に基づいて、モデルMの接続係数を修正する。例えば、学習部132は、バックプロパゲーション等の手法を用いて、接続係数の修正を行ってもよい。また、学習部132は、第2のテキストの分散表現となるベクトルと、モデルMが実際に出力したテキストの分散表現となるベクトルとのコサイン類似度に基づいて、接続係数の修正を行ってもよい。また、学習部132は、第4のテキスト若しくは第5のテキストの分散表現となるベクトルと、モデルMが実際に出力したテキストの分散表現となるベクトルとのコサイン類似度に基づいて、接続係数の修正を行ってもよい。
なお、学習部132は、いかなる学習アルゴリズムを用いてモデルMを学習してもよい。例えば、学習部132は、ニューラルネットワーク、サポートベクターマシン(support vector machine)、クラスタリング、強化学習等の学習アルゴリズムを用いて、モデルMを学習してよい。
ここで、学習部132は、第3のテキストと第4のテキストとに基づいて、入力テキストから出力テキストを生成するモデルM2(第2のモデル)の学習を行う。このとき、モデルM2は、出力テキストとして、所定の文字数以下のテキストを生成するモデルであってもよい。なお、第3のテキストは、未だ見出しが対応付けられていないタイトルであってもよい。また、第4のテキストは、第1のテキスト(例えば、タイトル)と第1のテキストに対応する第2のテキスト(例えば、見出し)とに基づいて学習したモデルM1(第1のモデル)に第3のテキストを入力することにより生成されるテキスト(例えば、擬似見出し)であってもよい。例えば、生成部134が、モデルM1に第3のテキストを入力することにより、第3のテキストに対応する第4のテキストを生成してもよい。
このとき、学習部132は、第1のテキストと第2のテキストと第3のテキストと第4のテキストとに基づいて、モデルM2の学習を行ってもよい。
なお、生成部134は、モデルM(第1のモデル)に複数の第3のテキストを入力することにより、複数の第4のテキストを生成してもよい。この場合、学習部132は、生成部134で生成された複数の第4のテキストの中から所定の基準に従い選択された第4のテキストと選択された第4のテキストに対応する第3のテキストとに基づいて、モデルM2の学習を行ってもよい。
例えば、学習部132は、第1のモデルの学習結果に基づき算出されるスコアであって第4のテキストの尤もらしさを示す第1のスコアに基づいて、生成部134で生成された複数の第4のテキストの中からモデルM2の学習に使用する第4のテキストを選択する。そして、学習部132は、選択された第4のテキストと選択された第4のテキストに対応する第3のテキストとに基づいて、モデルM2の学習を行う。
また、学習部132は、第3のテキストと第5のテキストとに基づいて、入力テキストから出力テキストを生成するモデルM3(第3のモデル)の学習を行う。このとき、第5のテキストは、第3のテキストに対応するテキストであってもよい。より具体的には、第5のテキストは、生成部134が、モデルM2に第3のテキストを入力することにより生成したテキストであってもよい。
このとき、学習部132は、第1のテキストと第2のテキストと第3のテキストと第5のテキストとに基づいてモデルM3の学習を行ってもよい。
なお、生成部134は、モデルM2(第2のモデル)に複数の第3のテキストを入力することにより、複数の第5のテキストを生成してもよい。この場合、学習部132は、複数の第5のテキストの中から所定の基準に従い選択された第5のテキストと選択された第5のテキストに対応する第3のテキストとに基づいて、モデルM3(第3のモデル)の学習を行ってもよい。
例えば、学習部132は、第1のモデル或いは第2のモデルの学習結果に基づき算出されるスコアであって第5のテキストの尤もらしさを示す第2のスコアに基づいて、生成部134で生成された複数の第4のテキストの中からモデルM3の学習に使用する第5のテキストを選択する。そして、学習部132は、選択された第5のテキストと選択された第5のテキストに対応する第3のテキストとに基づいて、モデルM3の学習を行う。
また、学習部132は、入力テキストから入力テキストが有する特徴を示す特徴情報を生成するエンコーダと、特徴情報から出力テキストを生成するデコーダと、を含むモデルMの学習を行う。なお、モデルMは、モデルM1〜M3(第1〜第3のモデル)のいずれであってもよい。
また、学習データ生成部133は、モデルMから出力されたテキストに基づいて学習に使用するテキストを生成する。
また、学習部132は、第3のテキストと第4のテキストとの関係性に基づいて学習を行う。
また、学習部132は、第3のテキストと第4のテキストとの関係性に基づいて再帰的に学習を行う。
また、学習部132は、第3のテキストと第4のテキストとの関係性を学習することによりモデルとは異なる第2のモデルを生成する。
なお、第3のテキストと第4のテキストとの関係性に基づき生成される第2のモデルのパーセプトロンの構造は、第1のテキストと第2のテキストとの関係性に基づいて生成されるモデルのパーセプトロンの構造よりも、中間層数及びニューロン数の少なくとも1つが多い構造であってもよい。
また、第3のテキストと第4のテキストとの関係性に基づき生成される第2のモデルのパーセプトロンの構造は、第1のテキストと第2のテキストとの関係性に基づいて生成されるモデルのパーセプトロンの構造よりも、中間層数及びニューロン数の少なくとも1つが少ない構造であってもよい。
また、学習部132は、第1のテキストと第2のテキストとの関係性と、第3のテキストと第4のテキストとの関係性と、に基づく学習により第2のモデルを生成する。
また、学習部132は、複数の第4のテキストの中から所定の基準に従い選択された第4のテキストと選択された第4のテキストに対応する第3のテキストとの関係性に基づく学習により第2のモデルを生成する。
また、学習部132は、上記モデルの学習結果に基づき算出されるスコアであって第4のテキストの尤もらしさを示すスコアに基づいて、生成部で生成された複数の第4のテキストの中から学習に使用する第4のテキストを選択する。そして、学習部132は、選択された第4のテキストと選択された第4のテキストに対応する第3のテキストとに基づいて学習を行う。
また、学習部132は、第3のテキストと第5のテキストとに基づいて、入力テキストから出力テキストを生成する第3のモデルの学習を行う。
学習部132は、第1のテキストと第2のテキストとの関係性と、第3のテキストと第5のテキストとの関係性と、に基づく学習により第3のモデルを生成する。
また、学習部132は、複数の第5のテキストの中から所定の基準に従い選択された第5のテキストと選択された第5のテキストに対応する第3のテキストとの関係性に基づく学習により第3のモデルを生成する、
なお、上記モデルは、入力テキストから入力テキストが有する特徴を示す特徴情報を生成するエンコーダと、特徴情報から出力テキストを生成するデコーダと、を含んでいてもよい。
また、学習部132は、第3のテキストと第3のテキストに対応する擬似見出しとの関係性に基づいて学習を行う。
生成部134は、モデルMに入力テキストを入力することにより、入力テキストに対応する出力テキストを生成する。このとき、モデルMは、モデルM1〜M3(第1〜第3のモデル)のいずれであってもよい。また、生成部134は、出力テキストとして、生成条件を満たすテキストを生成してもよい。例えば、生成部134は、出力テキストとして、所定の文字数以下のテキストを生成してもよい。
また、生成部134は、第1のテキストと第1のテキストに対応する第2のテキストとに基づいて学習したモデルM1(第1のモデル)に第3のテキストを入力することにより、第3のテキストに対応する第4のテキストを生成する。このとき、生成部134は、モデルM1に複数の第3のテキストを入力することにより、複数の第4のテキストを取得してもよい。
また、生成部134は、モデルM2(第2のモデル)に第3のテキストを入力することにより、第3のテキストに対応する第5のテキストを生成する。このとき、生成部134は、モデルM2に複数の第3のテキストを入力することにより、複数の第5のテキストを取得してもよい。
また、生成部134は、モデルM3(第3のモデル)に第3のテキストを入力することにより、第3のテキストに対応する第6のテキスト(例えば、見出し)を生成する。このとき、生成部134は、生成部134は、モデルM3に複数の第3のテキストを入力することにより、複数の第6のテキストを取得してもよい。
また、生成部134は、第1のテキストと第1のテキストに対応する第2のテキストとの関係性に基づく学習により生成されたモデルを用いて、第3のテキストから第3のテキストに対応する第4のテキストを生成する。このとき、生成部134は、第1のモデルに複数の第3のテキストを入力することにより、複数の第4のテキストを生成してもよい。
また、生成部134は、第1のテキストと第1のテキストに対応する見出しとに基づく学習により生成されたモデルを用いて、第3のテキストから第3のテキストに対応する擬似見出しを生成する。
また、生成部134は、第3のテキストと、第1のテキストと第1のテキストに対応する第2のテキストとの関係性に基づく学習により生成されたモデルを用いて第3のテキストから生成された第4のテキストと、の関係性に基づく学習により生成された所定のモデルを用いて、入力テキストから入力テキストに対応する出力テキストを生成する。
例えば、生成部134は、第3のテキストと、第1のテキストと第1のテキストに対応する見出しとの関係性に基づく学習により生成されたモデルを用いて第3のテキストから生成された擬似見出しと、の関係性に基づく学習により生成された所定のモデルを用いて、入力テキストから入力テキストに対応する見出しを生成する。
出力制御部135は、生成部134が生成したテキストを利用者に対して出力する。例えば、出力制御部135は、端末装置30からの要求に応じて、生成部134が生成したテキストが含まれるコンテンツを配信する。なお、出力制御部135は、生成部134が生成したテキストが含まれるコンテンツをデータサーバ20に提供し、データサーバ20から配信させてもよい。
〔3.情報処理装置の処理フロー〕
次に、情報処理装置10が実行する処理の手順について説明する。情報処理装置10は学習処理と生成処理とを実行する。情報処理装置10は例えばマルチタスクOSを備え、これらの処理を並行して実行可能である。
〔3−1.学習処理〕
最初に学習処理を説明する。図11は、学習処理の一例を示すフローチャートである。学習処理は、入力テキストから出力テキストを生成するモデルMを学習する処理である。情報処理装置10は、ユーザから処理開始命令を受信すると、学習処理を実行する。
まず、情報処理装置10は、学習データを取得する(ステップS11)。例えば、情報処理装置10は、データサーバ20から配信コンテンツ(本文及びタイトル)の情報を取得する。また、情報処理装置10は、配信コンテンツに対応する見出しが存在するのであれば、その見出しを取得する。そして、情報処理装置10は、学習データデータベース121に取得したデータを登録する。
続いて、情報処理装置10は、ステップS11で取得した学習データの中から、タイトル(第1のテキスト)と見出し(第2のテキスト)の組を取得する(ステップS12)。そして、情報処理装置10は、第1のテキストを入力データ、第2のテキストを正解データ(教師ラベル)とした学習に基づいて第1のモデル(モデルM1)を生成する(ステップS13)。
続いて、情報処理装置10は、第1のモデルにタイトル(第3のテキスト)を入力して擬似見出し(第4のテキスト)を生成する(ステップS14)。このとき、第1のモデルにタイトルは、見出しが未だ生成されていないタイトルである。そして、情報処理装置10は、学習データデータベース121に生成した擬似見出しを登録する。
続いて、情報処理装置10は、学習データデータベース121に登録されている学習データからタイトル(第3のテキスト)と擬似見出し(第4のテキスト)の組を取得する(ステップS15)。そして、情報処理装置10は、第3のテキストを入力データ、第4のテキストを正解データ(教師ラベル)とした学習により所定のモデルを生成する(ステップS16)。所定のモデルは、第1のモデル(モデルM1)そのものであってもよいし、第1のモデルとは異なる第2のモデル(モデルM2)であってもよい。
学習の実行が終了したら、情報処理装置10は、学習処理を終了する。
〔3−2.生成処理〕
次に生成処理を説明する。図12は、生成処理の一例を示すフローチャートである。生成処理は、入力テキストから出力テキスト(入力テキストの短縮テキスト)を生成する処理である。情報処理装置10は、ユーザから処理開始命令を受信すると、生成処理を実行する。
まず、情報処理装置10は、コンテンツ情報を取得する(ステップS21)。例えば、情報処理装置10は、データサーバ20から配信コンテンツ(本文及びタイトル)の情報を取得する。
続いて、情報処理装置10は、ステップS21で取得したデータの中から、第2のモデル(モデルM2)に入力する入力テキストを選択する(ステップS22)。例えば、情報処理装置10は、タイトルを入力テキストとして選択する。
そして、情報処理装置10は、入力テキストを第2のモデルに入力して出力テキストを生成する(ステップS23)。出力テキストの生成が終了したら、情報処理装置10は、生成処理を終了する。
〔4.変形例〕
上述の実施形態は一例を示したものであり、種々の変更及び応用が可能である。
例えば、上述の実施形態では、情報処理装置10は、第1のテキストをタイトル、第2のテキストを見出し(タイトルの短縮テキスト)としてモデルM1の学習を行った。しかし、情報処理装置10は、第1のテキストを本文、第2のテキストを見出し(本文或いはタイトルの短縮テキスト)としてモデルM1の学習を行ってもよい。また、上述の実施形態では、情報処理装置10は、第3のテキストをタイトル、第4のテキストを見出し(タイトルの短縮テキスト)としてモデルM2の学習を行った。しかし、情報処理装置10は、第3のテキストを本文、第4のテキストを見出し(本文或いはタイトルの短縮テキスト)としてモデルM2の学習を行ってもよい。このとき、情報処理装置10は、本文をモデルM2に入力する入力テキストとして出力テキストの生成を行ってもよい。
その他、第1のテキスト、第2のテキスト、第3のテキスト、第4のテキストとするテキストは任意に変更可能である。この場合、第3のテキストに対応する第4のテキストは擬似テキストと言い換えることができる。例えば、所定のモデルが本文からタイトルを生成するモデルであるとする。そして、第3のテキストが本文であるとする。この場合、第3のテキストを所定のモデルに入力して生成される第4のテキストは擬似タイトルである。
また、上述の実施形態では、情報処理装置10は、モデルM1(第1のモデル)に第3のテキスト(例えば、タイトル)を入力することにより、第3のテキストに対応する第4のテキスト(例えば、擬似見出し)を生成した。そして、情報処理装置10は、第3のテキストと第4のテキストとに基づいて、入力テキストから出力テキストを生成するモデルM2(第2のモデル)の学習を行った。しかし、情報処理装置10は、さらに、第2のモデルに第3のテキストを入力することにより、第3のテキストに対応する第5のテキストを生成してもよい。そして、情報処理装置10は、第3のテキストと第5のテキストとに基づいて、入力テキストから出力テキストを生成するモデルM3(第3のモデル)の学習を行ってもよい。
以下、図13を使ってモデルM3の学習について説明する。図13は、実施形態に係る情報処理装置10が実行する処理の他の例を示す図である。なお、図13に示すステップS102〜ステップS104は、図6に示すステップS102〜ステップS104と同じである。情報処理装置10は、モデルM2の学習が終了すると(ステップS104)、グループG2に属するコンテンツのタイトル(第3のテキスト)をモデルM2に入力することにより、入力したタイトルに対応する擬似見出し(第5のテキスト)を生成する。なお、取得したタイトルが複数あるのであれば、情報処理装置10は、複数の擬似見出しをそれぞれモデルM2に入力し、複数の擬似見出しを生成する(ステップS201)。
そして、情報処理装置10は、グループG2に属するコンテンツのタイトル(第3のテキスト)と擬似見出し(第5のテキスト)とに基づいてモデルM3の学習を行う(ステップS202)。ここで、モデルM3は、モデルM1、M2と同様に、入力テキストから出力テキストを生成するモデルである。なお、モデルM2は、モデルM1、M2と同じ構成であってもよいし、異なる構成であってもよい。
なお、情報処理装置10は、グループG2に属するコンテンツのタイトル(第3のテキスト)と擬似見出し(第5のテキスト)のみならず、グループG1に属するコンテンツのタイトル(第1のテキスト)と見出し(第2のテキスト)をモデルM3の学習用のテキストとしてもよい。
なお、ステップS201において、情報処理装置10は、複数の擬似見出しを生成したが、必ずしも、生成した擬似見出し全てを学習用のデータとして使用する必要はない。情報処理装置10は、ステップS201で生成した複数の擬似見出し(複数の第5のテキスト)の中から所定の基準に従い選択された擬似見出し(第5のテキスト)を学習用のデータとして選択してもよい。このとき、情報処理装置10は、モデルM2の学習結果に基づき算出されるスコアであって擬似見出しの尤もらしさを示すスコア(尤度)に基づいて、モデルM3の学習に使用する擬似見出しを選択してもよい。
その後、情報処理装置10は、モデルM3に入力テキスト(例えば、タイトル)を入力することにより、入力テキストに対応する出力テキスト(例えば、見出し)を生成する(ステップS203)。
なお、情報処理装置10は、ステップS201とステップS202を繰り返し実行することで、第4、第5、・・・、第Nのモデルを生成してもよい。このときNは整数である。なお、ステップS201とステップS202を繰り返す際、ステップS201のモデルM2はステップS202のモデルM3に置き換える。そして、ステップS202のモデルM3は新たなモデルに置き換える。
例えば、今回の周回でステップS201のモデルM2が第2のモデル、ステップS202のモデルM3が第3のモデルであったとする。このとき、情報処理装置10は、新たな周回では、ステップS201のモデルM2を第3のモデル、ステップS202のモデルM3を第4のモデルに置き換える。これにより、情報処理装置10は、モデルの生成を繰り返すたびにモデルの精度を高くすることができる。
なお、上述の実施形態では、生成部134は、第1のモデルに第3テキストを入力することにより、第3テキストに対応する第4テキストを生成した。その後、学習部132は、第3のテキストと第4のテキストとに基づいて、入力テキストから出力テキストを生成する第2のモデルの学習を行った。このとき、生成部134が使用する“第1のモデル”は、第(N−1)のモデルに置き換えることがきる。また、学習部132が使用する“第2のモデル”は、第Nのモデルに置き換えることがきる。このとき、Nは整数である。一例を挙げると、生成部134は、第3のモデルに第3テキストを入力することにより、第3テキストに対応する第4テキストを生成する。その後、学習部132は、第3のテキストと第4のテキストとに基づいて、入力テキストから出力テキストを生成する第4のモデルの学習を行う。
なお、第(N−1)のモデルを第1のモデル、第Nのモデルを第2のモデルとみなすことも可能である。例えば、モデルM2を第1のモデル、モデルM3を第2のモデルとみなすことも可能である。第1のモデル、第2のモデルとみなすモデルは任意に変更可能である。
なお、第2のモデルは、第1のモデルをデータが増えた分だけ複雑なモデルにしたものであってもよい。具体的には、第2のモデルのパーセプトロンの構造は、第1のモデルのパーセプトロンの構造よりも複雑であってもよい。例えば、第2のモデルのパーセプトロンの構造は、第1のモデルのパーセプトロンの構造よりも、中間層数及びニューロン数の少なくとも1つが多い構造であってもよい。
第2のモデルは、第1のモデルの圧縮や蒸留(distillation)により、第1のモデルより小さなモデルとしてもよい。具体的には、第2のモデルのパーセプトロンの構造は、第1のモデルのパーセプトロンの構造よりも小さなモデルであってもよい。例えば、第2のモデルのパーセプトロンの構造は、第1のモデルのパーセプトロンの構造よりも、中間層数及びニューロン数の少なくとも1つが少ない構造であってもよい。
また、上述の実施形態では、モデルMを構成するエンコーダおよびデコーダは、LSTMにより構成されるものとしたが、LSTM以外のRNNにより構成されていてもよい。モデルMを構成するエンコーダおよびデコーダは、CNN(Convolution Neural Network)等、RNN以外のニューラルネットワークであってもよい。その他、モデルMを構成するエンコーダおよびデコーダは、単純に入力された情報量の次元数を変化させるニューラルネットワークであってもよい。このとき、モデルMを構成するエンコーダは、入力された情報の次元量を圧縮することで入力された情報が有する特徴を抽出するよう構成されていてもよい。また、モデルMを構成するデコーダは、エンコーダによって抽出された特徴の次元量を増大させ、エンコーダに入力された情報よりも次元数が少ない情報を出力するよう構成されていてもよい。
本実施形態の情報処理装置10を制御する制御装置は、専用のコンピュータシステムによって実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムまたはデータ(例えば、モデルM)を、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールし、上述の処理を実行することによって制御装置を構成してもよい。制御装置は、情報処理装置10の外部の装置(例えば、パーソナルコンピュータ)であってもよいし、内部の装置(例えば、制御部13)であってもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OS(Operating System)とアプリケーションソフトとの協働により実現してもよい。この場合には、OS以外の部分を媒体に格納して配布してもよいし、OS以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔5.ハードウェア構成〕
実施形態及び変形例に係る情報処理装置10は、例えば図14に示すような構成のコンピュータ1000によっても実現可能である。図14は、情報処理装置10の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU(Central Processing Unit)1100、RAM1200、ROM1300、HDD(Hard Disk Drive)1400、通信インタフェース(I/F)1500、入出力インタフェース(I/F)1600、及びメディアインタフェース(I/F)1700を有する。
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インタフェース1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
CPU1100は、入出力インタフェース1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インタフェース1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インタフェース1600を介して出力装置へ出力する。
メディアインタフェース1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインタフェース1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態に係る情報処理装置10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムまたはデータ(例えば、モデルM)を実行することにより、制御部13を実現する。コンピュータ1000のCPU1100は、これらのプログラムまたはデータ(例えば、モデルM)を記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムまたはデータ(例えば、モデルM)を取得してもよい。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔6.効果〕
本実施形態によれば、情報処理装置10は、第1のテキストと第1のテキストに対応する第2のテキストとの関係性に基づく学習により生成されたモデルを用いて、第3のテキストから第3のテキストに対応する第4のテキストを生成する。そして、情報処理装置10は、第3のテキストと第4のテキストとの関係性に基づいて学習を行う。これにより、情報処理装置10は、第3のテキスト(例えば、タイトル)と第4のテキスト(例えば、擬似見出し)の組も学習用のデータとするので、精度の高いモデルを取得できる。取得したモデルを使用することで、情報処理装置10は、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、第3のテキストと第4のテキストとの関係性に基づいて再帰的に学習を行う。これにより、情報処理装置10は、精度の高いモデルを取得できるので、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、第3のテキストと第4のテキストとの関係性を学習することによりモデルとは異なる第2のモデルを生成する。これにより、情報処理装置10は、精度の高いモデルを取得できるので、精度の高い出力テキストを生成するようにすることができる。
第3のテキストと第4のテキストとの関係性に基づき生成される第2のモデルのパーセプトロンの構造は、第1のテキストと第2のテキストとの関係性に基づいて生成されるモデルのパーセプトロンの構造よりも、中間層数及びニューロン数の少なくとも1つが多い構造である。これにより、情報処理装置10は、精度の高いモデルを取得できるので、精度の高い出力テキストを生成するようにすることができる。
第3のテキストと第4のテキストとの関係性に基づき生成される第2のモデルのパーセプトロンの構造は、第1のテキストと第2のテキストとの関係性に基づいて生成されるモデルのパーセプトロンの構造よりも、中間層数及びニューロン数の少なくとも1つが少ない構造である。これにより、情報処理装置10は、精度の高いモデルを取得できるので、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、第1のテキストと第2のテキストとの関係性と、第3のテキストと第4のテキストとの関係性と、に基づく学習により第2のモデルを生成する。これにより、情報処理装置10は、精度の高いモデルを取得できるので、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、上記モデルに複数の第3のテキストを入力することにより、複数の第4のテキストを生成する。そして、情報処理装置10は、複数の第4のテキストの中から所定の基準に従い選択された第4のテキストと選択された第4のテキストに対応する第3のテキストとの関係性に基づく学習により第2のモデルを生成する。これにより、情報処理装置10は、精度の高いモデルを取得できるので、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、上記モデルの学習結果に基づき算出されるスコアであって第4のテキストの尤もらしさを示すスコアに基づいて、生成部で生成された複数の第4のテキストの中から学習に使用する第4のテキストを選択する。そして、選択された第4のテキストと選択された第4のテキストに対応する第3のテキストとに基づいて学習を行う。これにより、情報処理装置10は、精度の高いモデルを取得できるので、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、第2のモデルに第3のテキストを入力することにより、第3のテキストに対応する第5のテキストを生成する。そして、情報処理装置10は、第3のテキストと第5のテキストとに基づいて、入力テキストから出力テキストを生成する第3のモデルの学習を行う。これにより、情報処理装置10は、精度の高いモデルを取得できるので、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、第1のテキストと第2のテキストとの関係性と、第3のテキストと第5のテキストとの関係性と、に基づく学習により第3のモデルを生成する。これにより、情報処理装置10は、精度の高いモデルを取得できるので、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、第2のモデルに複数の第3のテキストを入力することにより、複数の第5のテキストを生成する。そして、情報処理装置10は、複数の第5のテキストの中から所定の基準に従い選択された第5のテキストと選択された第5のテキストに対応する第3のテキストとの関係性に基づく学習により第3のモデルを生成する。これにより、情報処理装置10は、精度の高いモデルを取得できるので、精度の高い出力テキストを生成するようにすることができる。
上記モデルは、入力テキストから入力テキストが有する特徴を示す特徴情報を生成するエンコーダと、特徴情報から出力テキストを生成するデコーダと、を含む。これにより、情報処理装置10は、精度の高いモデルを取得できるので、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、第1のテキストと第1のテキストに対応する見出しとに基づく学習により生成されたモデルを用いて、第3のテキストから第3のテキストに対応する擬似見出しを生成する。そして、情報処理装置10は、第3のテキストと第3のテキストに対応する擬似見出しとの関係性に基づいて学習を行う。これにより、情報処理装置10は、精度の高いモデルを取得できるので、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、入力テキストを取得する。そして、情報処理装置10は、第3のテキストと、第1のテキストと第1のテキストに対応する第2のテキストとの関係性に基づく学習により生成されたモデルを用いて第3のテキストから生成された第4のテキストと、の関係性に基づく学習により生成された所定のモデルを用いて、入力テキストから入力テキストに対応する出力テキストを生成する。これにより、情報処理装置10は、精度の高い出力テキストを取得できる。
情報処理装置10は、第3のテキストと、第1のテキストと第1のテキストに対応する見出しとの関係性に基づく学習により生成されたモデルを用いて第3のテキストから生成された擬似見出しと、の関係性に基づく学習により生成された所定のモデルを用いて、入力テキストから入力テキストに対応する見出しを生成する。これにより、情報処理装置10は、精度の高い見出しを取得できる。
情報処理装置10は、第1のテキストと第1のテキストに対応する第2のテキストとに基づいて学習した第1のモデルに第3のテキストを入力することにより、第3のテキストに対応する第4のテキストを生成する。そして、情報処理装置10は、第3のテキストと第4のテキストとに基づいて、入力テキストから出力テキストを生成する第2のモデルの学習を行う。これにより、情報処理装置10は、第3のテキスト(例えば、タイトル)と第4のテキスト(例えば、擬似見出し)の組も学習用のデータとするので、精度の高いモデルを取得できる。取得した第2のモデルを使用することで、情報処理装置10は、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、第1のテキストと第2のテキストと第3のテキストと第4のテキストとに基づいて、第2のモデルの学習を行う。これにより、情報処理装置10は、第3のテキストと第4のテキストとの組のみならず、第1のテキストと第2のテキストとの組も学習用のデータとするので、精度の高いモデルを取得できる。結果として、情報処理装置10は、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、第1のモデルに複数の第3のテキストを入力することにより、複数の第4のテキストを生成する。そして、情報処理装置10は、複数の第4のテキストの中から所定の基準に従い選択された第4のテキストと選択された第4のテキストに対応する第3のテキストとに基づいて、第2のモデルの学習を行う。これにより、情報処理装置10は、生成された複数の第4のテキストを単純に学習用のデータとするのではなく、複数の第4のテキストの中から選択したテキストを学習用のデータとするので、精度の高いモデルを取得できる。結果として、情報処理装置10は、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、第1のモデルの学習結果に基づき算出されるスコアであって第4のテキストの尤もらしさを示す第1のスコアに基づいて、生成された複数の第4のテキストの中から第2のモデルの学習に使用する第4のテキストを選択する。そして、情報処理装置10は、選択された第4のテキストと選択された第4のテキストに対応する第3のテキストとに基づいて、第2のモデルの学習を行う。これにより、情報処理装置10は、複数の擬似テキストの中でも尤度の高い擬似テキストを学習用のデータとするので、精度の高いモデルを取得できる。結果として、情報処理装置10は、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、第2のモデルに第3のテキストを入力することにより、第3のテキストに対応する第5のテキストを生成する。そして、情報処理装置10は、第3のテキストと第5のテキストとに基づいて、入力テキストから出力テキストを生成する第3のモデルの学習を行う。これにより、情報処理装置10は、第1のモデルから精度がよくなった第2のモデルを使って生成した擬似テキストを学習用のデータとするので、さらに精度の高いモデルを取得できる。結果として、情報処理装置10は、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、第1のテキストと第2のテキストと第3のテキストと第5のテキストとに基づいて第3のモデルの学習を行う。これにより、情報処理装置10は、第3のテキストと第5のテキストとの組のみならず、第1のテキストと第2のテキストとの組も学習用のデータとするので、精度の高いモデルを取得できる。結果として、情報処理装置10は、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、第2のモデルに複数の第3のテキストを入力することにより、複数の第5のテキストを生成する。情報処理装置10は、複数の第5のテキストの中から所定の基準に従い選択された第5のテキストと選択された第5のテキストに対応する第3のテキストとに基づいて、第3のモデルの学習を行う。これにより、情報処理装置10は、複数の擬似テキストの中でも尤度の高い擬似テキストを学習用のデータとするので、精度の高いモデルを取得できる。結果として、情報処理装置10は、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、入力テキストから入力テキストが有する特徴を示す特徴情報を生成するエンコーダと、特徴情報から出力テキストを生成するデコーダと、を含むモデルの学習を行う。これにより、情報処理装置10は、精度の高いモデルを取得できる。結果として、情報処理装置10は、精度の高い出力テキストを生成するようにすることができる。
情報処理装置10は、第1のテキストと第1のテキストに対応する見出しとに基づいて学習した第1のモデルに第3のテキストを入力することにより、第3のテキストに対応する擬似見出しを生成する。そして、情報処理装置10は、第3のテキストと第3のテキストに対応する擬似見出しとに基づいて、入力テキストから入力テキストに対応する見出しを生成する第2のモデルの学習を行う。これにより、情報処理装置10は、見出しを生成するための精度の高いモデルを取得できる。取得したモデルを使用することで、情報処理装置10は、精度の高い見出しを生成するようにすることができる。
情報処理装置10は、第3のテキストと、第1のテキストと第1のテキストに対応する第2のテキストとに基づいて学習した第1のモデルに第3のテキストを入力することにより生成された第4のテキストと、に基づいて学習した第2のモデルに入力される入力テキストを取得する。そして、情報処理装置10は、第2のモデルに入力テキストを入力することにより、入力テキストに対応する出力テキストを生成する。これにより、情報処理装置10は、精度の高い出力テキストを取得できる。
情報処理装置10は、第3のテキストと、第1のテキストと第1のテキストに対応する見出しとに基づいて学習した第1のモデルに第3のテキストを入力することにより生成された擬似見出しと、に基づいて学習した第2のモデルに入力される入力テキストを取得する。そして、情報処理装置10は、第2のモデルに入力テキストを入力することにより、入力テキストに対応する見出しを生成する。これにより、情報処理装置10は、精度の高い見出しを取得できる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、学習部は、学習手段や学習回路に読み替えることができる。