以下に、本願に係る学習装置、生成装置、学習方法、生成方法、学習プログラム、生成プログラム、及びモデルを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、以下の実施形態により本願に係る学習装置、生成装置、学習方法、生成方法、学習プログラム、生成プログラム、及びモデルが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔実施形態1〕
〔1−1.情報処理装置の一例〕
最初に、生成装置および学習装置の一例である情報処理装置が実行する学習処理および生成処理の一例について説明する。図1は、実施形態に係る情報処理装置が実行する処理の一例を示す図である。情報処理装置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は、以下の学習処理を実行することで、配信コンテンツに含まれるテキスト(例えば、タイトル)から見出しとなるテキストを生成するためのモデルの学習を行う。以下、図1を参照しながら情報処理装置10が実行する学習処理の一例について説明する。
まず、情報処理装置10は、データサーバ20から学習データとなる情報を取得する(ステップS1)。例えば、情報処理装置10は、データサーバ20から、過去、ユーザに配信された配信コンテンツを取得する。そして、情報処理装置10は、データサーバ20から取得した情報を学習データデータベースに登録する。
図3は、学習データデータベースに登録される学習データの一例を示す図である。学習データデータベースには、学習データとして、本文、タイトル、および見出しを関連付けた情報が登録される。本文、タイトル、および見出しの組には、それぞれ、学習データID(Identifier)が付されている。「本文」及び「タイトル」は、配信コンテンツに含まれるテキストである。タイトルは本文に付された要約となるテキストであり、本文に基づいて作成される。タイトルにとって、本文は元のテキスト(作成元となるテキスト)である。
「見出し」は、配信コンテンツの内容をユーザが容易に把握するためのテキストである。見出しは、配信コンテンツに含まれるテキスト(例えば、本文或いはタイトル)に対応するテキストである。学習データとなる見出しは、配信コンテンツに含まれるテキストを所定の者(例えば、ポータルサイトの運営者の従業員)が読んで要約することにより作成される。なお、見出しは、所定の条件を満たすよう生成される。例えば、見出しは、所定の文字数以下となるよう生成される。一例として、見出しは、13.5文字以下となるよう生成される。このとき、13.5文字は、全角文字1個を1文字とした文字数である。半角文字1文字は0.5文字である。以下の説明では、所定の条件のことを「生成条件」という。生成条件は、13.5文字以下に限定されない。生成条件となる文字数は、13.5文字より多くてもよいし少なくてもよい。勿論、生成条件は文字数に限定されない。
なお、「見出し」は、要約、タイトル、短縮タイトル、トピック、トピック見出し等と言い換えることができる。同様に、配信コンテンツに含まれる「タイトル」も、要約等と言い換えることができる。本実施形態では、「見出し」は、配信コンテンツに含まれる「タイトル」に基づき作成される短縮テキストであるものとする。勿論、「見出し」は本文に基づき作成された短縮テキストであってもよい。なお、構文上は文が短縮されていても、「見出し」の文字数が「タイトル」の文字数より多くなることがあり得る。例えば、「タイトル」に含まれる略語を正式名称に置き換えた場合は、構文上は文が短縮されていても、結果として文字数が増えることがある。このような場合も、「見出し」は「タイトル」の短縮テキストである。
情報処理装置10は、学習データデータベースに登録されたデータの中から、タイトル本文と見出しとの組を複数組取得する。そして、情報処理装置10は、タイトルと本文と見出しとに基づいて、モデルM(第1のモデル)の学習を行う(ステップS2)。モデルMは、モデルに入力されるテキストから生成条件を満たすテキストを生成するモデルである。情報処理装置10は、タイトルとそのタイトルの本文とを入力データ、見出しを正解データとしてモデルMの学習(例えば、教師あり学習)を行う。
なお、以下の説明では、学習の際、入力データとなる複数のテキストのうちの1つ(本実施形態の場合、タイトル)のことを「第1の学習用テキスト」、第1の学習用テキストの元のテキスト(本実施形態の場合、本文)のことを「第2の学習用テキスト」、正解データとなるテキスト(本実施形態の場合、見出し)のことを「第3の学習用テキスト」ということがある。また、テキストの生成の際、入力データとなる複数のテキストのうちの1つ(本実施形態の場合、タイトル)のことを「第1のテキスト」、第1のテキストの元のテキスト(本実施形態の場合、本文)のことを「第2のテキスト」、モデルMから出力されるテキストのことを「第3のテキスト」と呼ぶことがある。また、以下の説明では、正解データのことを教師ラベルということもある。
モデルMは、入力テキスト(第1のテキスト及び第2のテキスト)から入力テキストが有する特徴を示す特徴情報を生成するエンコーダと、特徴情報から出力テキスト(第3のテキスト)を生成するデコーダと、を含むエンコーダ−デコーダ型のモデルであってもよい。
(モデルM1)
図4は、モデルMの一例を示す図である。具体的には、図4は、モデルMの一例であるモデルM1を示す図である。モデルM1は、RNN(Recurrent Neural Network)の一例であるLSTM(Long Short Term Memory)を用いたSequence to Sequence Model(以下、Seq2Seqともいう。)である。より具体的には、アテンションモデル(Attention Model)を追加したSeq2Seq(Sequence to Sequence with Attention Model)である。Seq2Seqは、エンコーダ−デコーダモデルの一種であり、異なる長さのワード列 (Sequence)を入力とし、異なる長さのワード列(Sequence)を出力とすることを可能とする。
図4に示すモデルM1は、第1のテキスト(タイトル)に基づいて特徴情報(第1の特徴情報)を生成するエンコーダE12(第1のエンコーダ)と、第2のテキスト(本文)に基づいて特徴情報(第2の特徴情報)を生成するエンコーダE11(第2のエンコーダ)と、を備える。また、モデルM1は、第1の特徴情報と第2の特徴情報とを合成して合成情報を生成する合成モデルSM1と、合成情報に基づいて第3のテキスト(見出し)を生成するデコーダD1と、を備える。
エンコーダE12は、入力テキストが有する特徴を抽出する。エンコーダE12は、入力層と中間層(隠れ層)とを有する。エンコーダE12には、第1の学習用テキスト(本実施形態の場合、タイトル)に含まれるワードが順次入力される。エンコーダE12は、入力されたテキストの特徴を示す多次元量(例えば、ベクトル)である特徴情報を出力する。特徴情報は、モデルM1がアテンションモデルの場合、特徴情報はアテンションベクトルと呼ばれることもある。
エンコーダE11は、入力テキストが有する特徴を抽出する。エンコーダE11は、入力層と中間層(隠れ層)とを有する。エンコーダE11には、第2の学習用テキスト(本実施形態の場合、本文)に含まれるワードが順次入力される。エンコーダE11は、入力されたテキストの特徴を示す多次元量(例えば、ベクトル)である特徴情報を出力する。モデルM1がアテンションモデルの場合、特徴情報はアテンション情報或いはアテンションベクトルと言い換えることができる。
合成モデルSM1は、エンコーダE12が出力する第1の特徴情報と、エンコーダE11が出力する第2の特徴情報との線形結合を合成情報として出力する。なお、合成モデルSM1は、各特徴情報に対して所定の重みを適用した合成情報を生成してもよい。なお、モデルM1は、合成モデルSM1が出力する合成情報をデコーダD1の入力層に対応する次元数まで畳み込むよう構成されていてもよい。
デコーダD1は、入力テキストが短縮されたテキスト(すなわち、見出し)を出力する。デコーダD1は、中間層(隠れ層)H2と出力層Yとを有する。デコーダD1には、合成モデルSM1から出力された合成情報(すなわち、第1の特徴情報及び第2の特徴情報)が入力される。合成情報が入力されると、デコーダD1は、出力層から短縮テキストとなるワードを順次出力する。
情報処理装置10は、エンコーダE12に第1の学習用テキスト、エンコーダE11に第2の学習用テキストを入力した際に、デコーダD1から第1の学習用テキストに対応する第3の学習用テキストが出力されるよう、モデルM1の学習を行う。例えば、情報処理装置10は、デコーダD1が出力した短縮テキストが、第3の学習用テキストに近づくように、バックプロパゲーション等の手法により、各ノード間で値が伝達する際に考慮される重み(すなわち、接続係数)の値を修正する。これにより、情報処理装置10は、モデルM1に第1の学習用テキスト及び第2の学習用テキストが有する特徴を学習させる。なお、情報処理装置10は、短縮テキストの分散表現となるベクトルと第3の学習用テキストの分散表現となるベクトルとのコサイン類似度に基づいて重みの値を修正してもよい。
(モデルM2)
図5は、モデルMの他の例を示す図である。具体的には、図5は、モデルMの一例であるモデルM2を示す図である。図5に示すモデルM2は、第1のテキスト(タイトル)に基づいて特徴情報(第1の特徴情報)を生成するエンコーダE22(第1のエンコーダ)と、第2のテキスト(本文)に基づいて特徴情報(第2の特徴情報)を生成するエンコーダE21(第2のエンコーダ)と、を備える。また、モデルM2は、第1の特徴情報と第2の特徴情報とを合成して合成情報を生成する合成モデルSM2と、合成情報に基づいて第3のテキスト(見出し)を生成するデコーダD22と、を備える。エンコーダE22、エンコーダE21、合成モデルSM2、及びデコーダD22の構成はモデルM1のエンコーダE12、エンコーダE11、合成モデルSM1、及びデコーダD1と同様である。
また、モデルM2は、エンコーダE21のプリトレーニングに使用されるデコーダD21を備える。エンコーダE21とデコーダD21は、エンコーダE21のプリトレーニングに使用される第2のモデルを形成している。図6は、第2のモデルの構成例を示す図である。第2のモデルは、Seq2Seqにアテンションモデルを追加したSequence to Sequence with Attention Modelである。
エンコーダE21は、入力テキストが有する特徴を抽出する。エンコーダE21は、入力層Xと中間層(隠れ層)H1とを有する。エンコーダE21には、第2の学習用テキスト(本実施形態の場合、本文)に含まれるワード(図6に示すワードW11〜W16)が順次入力される。<EOS>は、End Of Statementの略であり、テキストの終わりであることを示す。図6に示すエンコーダE21は、入力層Xと中間層H1を時間軸方向に展開した図である。なお、図6に示す例では、入力テキストとなる本文に含まれるワードが、ワードW11〜W16までの6つとなっているが、本文に含まれるワードは、6つより多くてもよい。中間層H1は、本文に含まれる各ワードがタイトルとどの程度類似しているかを示す情報(例えば、各ワードの重みの情報)を出力する。図6の斜線が付された棒は、各中間層の出力の値を示している。棒が高いほど、該当のワードがタイトルと近いことを示している。図6の例の場合、ワードW11〜W16のうちワードW14が最もタイトルが示す内容に近いワードであることを示している。エンコーダE21は、各中間層の出力に基づいて特徴情報を生成する。特徴情報は、アテンションベクトルであり、例えば、各中間層の出力の重み付き和である。この特徴情報は、本文とタイトルとの関連を示している。すなわち、エンコーダE21から出力される特徴情報は、本文のうちどの部分がタイトルに近いか(関連が高いか)を示している。
デコーダD21は、入力テキストが短縮されたテキスト(すなわち、短縮テキスト)を出力する。デコーダD21は、中間層(隠れ層)H2と出力層Yとを有する。図6に示すデコーダD21は、中間層(隠れ層)H2と出力層Yを時間軸方向に展開した図である。デコーダD21の各中間層H2には、エンコーダE21が生成した特徴情報が入力され、出力層Yからタイトルとなるワード(図6に示すワードW21〜W23)が順次出力される。なお、図6に示す例では、短縮テキストに含まれるワードが、ワードW21〜W23までの3つとなっているが、短縮テキストに含まれるワードは、3つより多くてもよい。
情報処理装置10は、エンコーダE21に第2の学習用テキスト(本文)を入力した際に、デコーダD21から第2の学習用テキストに対応する第1の学習用テキスト(タイトル)が出力されるよう、モデルM2の学習を行う。例えば、情報処理装置10は、デコーダD21が出力した短縮テキストが、第1の学習用テキストに近づくように、バックプロパゲーション等の手法により、各ノード間で値が伝達する際に考慮される重み(すなわち、接続係数)の値を修正する。これにより、情報処理装置10は、エンコーダE21が第2の学習用テキストの第1の学習用テキストに近い部分を抽出するよう学習させる。なお、情報処理装置10は、短縮テキストの分散表現となるベクトルと第1の学習用テキストの分散表現となるベクトルとのコサイン類似度に基づいて重みの値を修正してもよい。
エンコーダE21のプリトレーニング後、情報処理装置10は、エンコーダE22に第1の学習用テキスト、エンコーダE21に第2の学習用テキストを入力した際に、デコーダD22から第1の学習用テキストに対応する第3の学習用テキストが出力されるよう、モデルM2の学習を行う。例えば、情報処理装置10は、デコーダD22が出力した短縮テキストが、第3の学習用テキストに近づくように、バックプロパゲーション等の手法により、各ノード間で値が伝達する際に考慮される重み(すなわち、接続係数)の値を修正する。
(モデルM3)
図7は、モデルMの他の例を示す図である。具体的には、図7は、モデルMの一例であるモデルM3を示す図である。図7に示すモデルM3は、第4の学習用テキストである関連テキストを入力するためのエンコーダE33(第3のエンコーダ)を有している。関連テキストは、第2の学習用テキストとなる本文と関連するテキストである。
図8は、関連テキストを説明するための図である。図8には、記事の本文K11と記事のタイトルT11とが含まれる配信コンテンツC11が示されている。更に、図8には、本文K11に関連するテキストである3つの関連テキストR111、R112、R113が示されている。関連テキストR111、R112、R113は、例えば、本文K11に張られたリンクを辿って得られるテキストであってもよい。例えば、関連テキストR111、R112、R113は、本文K11に張られたリンクのリンク先のページから取得したテキストであってもよい。或いは、関連テキストR111、R112、R113は、本文K11の一部を検索クエリとして検索した結果得られるテキストであってもよい。例えば、関連テキストR111、R112、R113は、本文K11に含まれるワードを検索クエリとして検索して得られたURL(Uniform Resource Locator)が示すページに含まれるテキストであってもよい。
モデルM3は、第1のテキスト(タイトル)に基づいて特徴情報(第1の特徴情報)を生成するエンコーダE32(第1のエンコーダ)と、第2のテキスト(本文)に基づいて特徴情報(第2の特徴情報)を生成するエンコーダE31(第2のエンコーダ)と、第4のテキスト(関連テキスト)に基づいて特徴情報(第3の特徴情報)を生成するエンコーダE33(第3のエンコーダ)と、を備える。また、モデルM3は、第1の特徴情報と第2の特徴情報と第3の特徴情報を合成して合成情報を生成する合成モデルSM3と、合成情報に基づいて第3のテキスト(見出し)を生成するデコーダD3と、を備える。
情報処理装置10は、第2の学習用テキスト(本文)に関連する関連テキストを第4の学習用テキストとして取得する。関連テキストが複数ある場合、情報処理装置10は、複数ある関連テキストの1つを第4の学習用テキストとして取得してもよい。このとき、情報処理装置10は、第2の学習用テキストに関連する複数の関連テキストから所定の基準を満たす第4の学習用テキストを取得する。例えば、情報処理装置10は、複数の関連テキストのうち第2の学習用テキストに最も類似するテキストを第4の学習用テキストとして取得する。このとき、情報処理装置10は、テキストそれぞれを多次元量(ベクトル)に変換し、ベクトルのコサイン類似度を算出することにより、テキストの類似を判別してもよい。
そして、情報処理装置10は、エンコーダE32に第1の学習用テキスト(タイトル)、エンコーダE31に第2の学習用テキスト(本文)、エンコーダE33に第4の学習用テキスト(関連テキスト)、を入力した際に、デコーダD3から第3の学習用テキスト(見出し)が出力されるよう、モデルM3の学習を行う。例えば、情報処理装置10は、デコーダD3が出力したテキストが、第3の学習用テキストに近づくように、バックプロパゲーション等の手法により、各ノード間で値が伝達する際に考慮される重み(すなわち、接続係数)の値を修正する。
〔1−4.生成処理について〕
次に、上述した学習処理によって学習が行われたモデルを用いて、第1のテキスト(例えば、タイトル)に対応するテキストであって生成条件を満たす第3のテキスト(例えば、見出し)を生成する生成処理の一例について説明する。
まず、情報処理装置10は、データサーバ20からモデルMに入力される情報を取得する(ステップS3)。例えば、情報処理装置10は、データサーバ20から、配信予定の配信コンテンツ(本文及びタイトル)を取得する。
また、情報処理装置10は、内部の記憶装置からモデルMを取得する。上述したように、モデルMは、第1の学習用テキストと第1の学習用テキストの元のテキストである第2の学習用テキストとを入力データ、第1の入力テキスト或いは第2の入力テキストに対応するテキストであって生成条件を満たす第3の学習用テキストを正解データ(教師ラベル)として学習したモデルである。
そして、情報処理装置10は、モデルMに第1のテキスト(例えば、タイトル)と当該第1のテキストの元のテキストである第2のテキスト(例えば、本文)とを入力することにより、第1のテキストに対応するテキストであって生成条件を満たす第3のテキスト(例えば、見出し)を生成する(ステップS4)。
例えば、モデルMが図4に示すモデルM1であるとする。上述したように、モデルM1は、第1のテキストに基づいて特徴情報(第1の特徴情報)を生成するエンコーダE12(第1のエンコーダ)と、第2のテキストに基づいて特徴情報(第2の特徴情報)を生成するエンコーダE11(第2のエンコーダ)と、第1の特徴情報及び第2の特徴情報との合成情報に基づいて第3のテキストを生成するデコーダD1と、を含む。情報処理装置10は、第1のテキスト(タイトル)に含まれるワードを、順次、エンコーダE12に入力するとともに、第2のテキスト(本文)に含まれるワードを、順次、エンコーダE11に入力する。そして、情報処理装置10は、デコーダD1から、順次、第3のテキスト(見出し)となるワードを取得する。
また、モデルMが図5に示すモデルM2であるとする。情報処理装置10は、第2のテキスト(本文)に含まれるワードを、順次、エンコーダE21に入力する。エンコーダE21から出力される特徴情報(第2の特徴情報)は、第2のテキストと第1のテキストとの関連を示している。すなわち、第2の特徴情報は、第2のテキストのうちどの部分が第1のテキストに近いか(関連が高いか)を示している。情報処理装置10は、第1のテキストと第2のテキストとの関連に基づいて第2のテキストから生成された第2の特徴情報と、第1のテキストと、に基づいて第3のテキストを生成する。すなわち、情報処理装置10は、第1のテキスト(タイトル)に含まれるワードを、順次、エンコーダE22に入力して得られる特徴情報(第1の特徴情報)と第2の特徴情報とを合成モデルSM2に入力することにより、デコーダD22から、順次、第3のテキストとなるワードを取得する。
また、モデルMが図7に示すモデルM3であるとする。上述したように、モデルM3は、第1のテキストに基づいて特徴情報(第1の特徴情報)を生成するエンコーダE32(第1のエンコーダ)と、第2のテキストに基づいて特徴情報(第2の特徴情報)を生成するエンコーダE31(第2のエンコーダ)と、第4のテキストに基づいて特徴情報(第3の特徴情報)を生成するエンコーダE33(第3のエンコーダ)と、第1の特徴情報、第2の特徴情報、及び第3の特徴情報の合成情報に基づいて第3のテキストを生成するデコーダD3と、を含む。
情報処理装置10は、第2のテキストに関連する関連テキストをエンコーダE33に入力する第4のテキストとして取得する。関連テキストは、第2のテキストとなる本文と関連するテキストである。エンコーダE33に入力する関連テキスト(第4のテキスト)は、第2のテキストに張られたリンクを辿って得られるテキストであってもよいし、第2のテキストの一部を検索クエリとして検索した結果得られるテキストであってもよい。
なお、関連テキストが複数ある場合、情報処理装置10は、複数の関連テキストから所定の基準を満たすテキストを第4のテキストとして取得してもよい。例えば、情報処理装置10は、複数の関連テキストのうち第2のテキストに最も類似するテキストを第4の学習用テキストとして取得する。このとき、情報処理装置10は、テキストそれぞれを多次元量(ベクトル)に変換し、ベクトルのコサイン類似度を算出することにより、テキストの類似を判別してもよい。
そして、情報処理装置10は、第1のテキスト(タイトル)に含まれるワードを、順次、エンコーダE32に入力するとともに、第2のテキスト(本文)に含まれるワードを、順次、エンコーダE31に入力する。更に、情報処理装置10は、第4のテキスト(関連テキスト)に含まれるワードを、順次、エンコーダE33に入力する。そして、情報処理装置10は、デコーダD3から、順次、第3のテキスト(見出し)となるワードを取得する。
第3のテキストが生成されたら、情報処理装置10は、第3のテキストを用いて、要約コンテンツを生成する。そして、情報処理装置10は、要約コンテンツを端末装置30に配信する(ステップS5)。
本実施形態によれば、情報処理装置10が有するモデルM1は、第1のテキスト(タイトル)のみならず第2のテキスト(本文)も使って第3のテキスト(見出し)を生成するよう構成されている。第1のテキストに曖昧な表現が含まれていたり、第1のテキストの情報量が少なかったりしても、第2のテキストの情報で補完できるので、情報処理装置10は、精度の高い第3のテキストを生成できる。
また、情報処理装置10が有するモデルM2は、第1のテキストと第2のテキストとの関連に基づいて第2のテキストから生成された特徴情報(例えば、アテンションベクトル)を使って第3のテキスト(見出し)を生成するよう構成されている。これにより、情報処理装置10は、単純に第2のテキストを使用して第3のテキスト(見出し)を生成するのではなく、第2のテキストのうちの第1のテキストに近い部分(関連する部分)の情報を使って第3のテキストを生成できるようになる。この結果、第2のテキストに含まれる大量の情報が第3のテキストの生成の阻害要因とならないので、情報処理装置10は、精度の高い第3のテキストを生成できる。
また、情報処理装置10が有するモデルM3は、第1のテキスト(タイトル)及び第2のテキスト(本文)のみならず、第2のテキストに関連する第4のテキスト(関連テキスト)をも使って第3のテキスト(見出し)を生成するよう構成されている。第1のテキストと第2のテキストの不足部分を第4のテキストで補完できるので、情報処理装置10は、精度の高い第3のテキストを生成できる。
〔実施形態2〕
〔1−5.情報処理装置の他の例〕
実施形態1では、本文、タイトル、及び関連テキストをそのままモデルMへの入力データとした。しかしながら、モデルへの入力データはこれらテキストの一部であってもよい。実施形態2では、所定のテキスト(例えば、本文)から抽出されたテキスト(以下、抽出テキストという。)から所定のテキストに対応するテキスト(タイトル、見出し)を生成するモデルM10(第3のモデル)の学習、及びモデルM10を使ったテキストの生成について説明する。以下、生成装置および学習装置の一例である情報処理装置が実行する学習処理および生成処理の他の例について説明する。
図9は、実施形態に係る情報処理装置が実行する処理の他の例を示す図である。情報処理装置10は、実施形態1と同様に、インターネット等の所定のネットワークを介して、所定のクライアントが使用するデータサーバ20および端末装置30と通信可能である。情報処理装置10は、後述の学習処理及び生成処理を実行する装置である。データサーバ20は、学習データや配信コンテンツを管理する情報処理装置である。端末装置30は、スマートデバイス等のユーザ端末(情報処理装置)である。
なお、実施形態1では、情報処理装置10は見出し(第3のテキスト)を生成するものとしたが、実施形態2では、情報処理装置10はタイトル(第2のテキスト)を生成するものとする。なお、情報処理装置10は見出しを生成してもよい。この場合、第2のテキストは見出しとみなすことができる。以下の実施形態2の説明において、「タイトル」の記載は「見出し」と言い換えることが可能である。なお、本文、タイトル、見出し、関連テキストの定義については実施形態1と同様である。
〔1−6.学習処理について〕
最初に学習処理について説明する。情報処理装置10は、以下の学習処理を実行することで、配信コンテンツに含まれるテキスト(例えば、本文)から抽出された抽出テキストからタイトルとなるテキストを生成するためのモデルの学習を行う。「抽出テキスト」の具体例については後述する。以下、図9を参照しながら情報処理装置10が実行する学習処理の一例について説明する。
まず、情報処理装置10は、データサーバ20から学習データとなる情報を取得する(ステップS101)。例えば、情報処理装置10は、データサーバ20から、過去、ユーザに配信された配信コンテンツを取得する。そして、情報処理装置10は、データサーバ20から取得した情報を学習データデータベースに登録する。
情報処理装置10は、学習データデータベースに登録されたデータの中から、本文とタイトルとの組を複数組取得する。そして、情報処理装置10は、本文からテキストを抽出する(ステップS102)。この抽出されたテキストが、学習に使用する抽出テキストとなる。ここで抽出テキストとは、所定のテキスト(例えば、本文)から所定の基準に従い抽出されたテキストのことである。例えば、抽出テキストは、複数の文から構成される所定のテキストから所定の基準に従い抽出された文である。ここで、文(Sentence)とは、例えば、文頭から句点或いはピリオドまでのテキストのことである。勿論、文の末尾は、疑問符、感嘆符等、句点やピリオド以外の文末を示す符号であってもよい。また、一文と認識できるのであれば、文末には句点、ピリオド、疑問符、感嘆符等、文末を示す符号が付いていなくてもよい。なお、「テキスト」は、複数の文から構成されるテキストのみならず、一文から構成されるテキストを含む概念である。
本実施形態では、抽出テキストは、所定のテキストのファーストセンテンス、所定のテキストに含まれるトピックセンテンス、或いはこれらの組み合わせのテキスト(以下、「組み合わせテキスト」という。)であるものとする。
ここでファーストセンテンスとは、所定のテキストの最初の文(第一文)のことである。また、トピックセンテンスとは、所定のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文のことである。トピックセンテンスは、時間或いは場所を示す要素を含む文であってもよい。なお、多くのテキストは、書き出し部分であるファーストセンテンスに重要な情報が含まれることが多い。また、時間或いは場所を示す要素を含むトピックセンテンスは、多くのテキストで特徴的部分であることが多い。そのため、ファーストセンテンスやトピックセンテンスを入力として使えば、精度の高いモデルの構築が可能になる。
なお、組み合わせテキストは、ファーストセンテンスとトピックセンテンスを組み合わせたテキストである。或いは、組み合わせテキストは、トピックセンテンスとトピックセンテンスを組み合わせたテキストのことである。なお、学習用テキストが複数あるのであれば、組み合わせテキストは、ファーストセンテンスとファーストセンテンスを組み合わせたテキストであってもよい。例えば、組み合わせテキストは、本文のファーストセンテンスと当該本文の関連テキストのファーストセンテンスであってもよい。以下の説明では、組み合わせテキストは、ファーストセンテンスとトピックセンテンスを組み合わせたテキストであるものとするが、トピックセンテンスとトピックセンテンスを組み合わせたテキストであってもよいし、ファーストセンテンスとファーストセンテンスを組み合わせたテキストであってもよい。
図10は、抽出テキストを説明するための図である。図10には、図8と同様に、記事の本文K11と記事のタイトルT11とが含まれる配信コンテンツC11が示されている。また、図10には、本文K11に関連するテキストである関連テキストR112が示されている。なお、図10の例では、関連テキストが1つしか示されていないが、図8と同様に、関連テキストは複数あってもよい。本文K11をモデルの学習のための学習用テキストとするのであれば、情報処理装置10は、本文K11の第一文であるファーストセンテンスFS11、或いは本文K11に含まれるトピックセンテンスTS11、TS12を抽出テキストとして取得する。
なお、所定のテキストの中にトピックセンテンスが複数含まれる場合、情報処理装置10は、複数のトピックセンテンスの中から所定の基準に従い選択された1つのトピックセンテンスを抽出テキストとしてもよい。例えば、情報処理装置10は、複数のトピックセンテンスの中の所定のテキストでの初出のトピックセンテンスを抽出テキストとしてもよい。図10の例で、本文K11から2つのトピックセンテンスTS11、TS12が抽出されたのであれば、情報処理装置10は、本文K11で初出のトピックセンテンスTS11を抽出テキストとして取得してもよい。勿論、情報処理装置10は、複数のトピックセンテンスの中から選択される複数のトピックセンテンスを抽出テキストとしてもよいし、所定のテキストに含まれる複数のトピックセンテンス全てを抽出テキストとしてもよい。
また、情報処理装置10は、ファーストセンテンスとトピックセンテンスとを組み合わせた組み合わせテキストを抽出テキストとしてもよい。図10の例で、本文K11を学習用テキストとするのであれば、情報処理装置10は、ファーストセンテンスF11とトピックセンテンスTS11、TS12との組み合わせテキストを抽出テキストとして取得する。勿論、情報処理装置10は、ファーストセンテンスF11と初出のトピックセンテンスTS11との組み合わせテキストを抽出テキストとして取得してもよい。
なお、学習用テキストは、本文に限定されない。例えば、情報処理装置10は、本文の関連テキストを学習用テキストとしてもよい。そして、情報処理装置10は、関連テキストから抽出されたテキスト、例えば、ファーストセンテンス、トピックセンテンス、或いはこれらの組み合わせテキストを抽出テキストとしてもよい。図10の例で、関連テキストR112を学習用テキストとするのであれば、情報処理装置10は、関連テキストR112の第一文であるファーストセンテンスFS21、或いは関連テキストR112に含まれるトピックセンテンスTS21、TS22を抽出テキストとして取得する。勿論、情報処理装置10は、本文K11を学習用テキストとした場合と同様に、初出のトピックセンテンスTS21を抽出テキストとしてもよいし、関連テキストR112に含まれる全てのトピックセンテンスを抽出テキストとしてもよい。また、情報処理装置10は、ファーストセンテンスとトピックセンテンスとを組み合わせた組み合わせテキストを抽出テキストとしてもよい。
また、情報処理装置10は、本文と関連テキストの双方から抽出されたテキストを抽出テキストとしてもよい。例えば、本文と関連テキストの双方のファーストセンテンス、本文と関連テキストの双方に含まれるトピックセンテンス、或いはそれらを組み合わせた組み合わせテキストを抽出テキストとしてもよい。
続いて、情報処理装置10は、抽出テキストとタイトルとに基づいて、モデルM10(第3のモデル)の学習を行う(ステップS103)。モデルM10は、モデルに入力されるテキストからタイトル等のテキストを生成するモデルである。情報処理装置10は、本文及び関連テキストの少なくとも一方から抽出されたテキストを入力データ、本文に対応するタイトルを正解データとしてモデルMの学習(例えば、教師あり学習)を行う。
なお、以下の説明では、学習の際、要約対象となるテキスト(本実施形態の場合、本文)のことを「第2の学習用テキスト」、第2の学習用テキストの関連テキストのことを「第4の学習用テキスト」、正解データとなるテキスト(本実施形態の場合、タイトル)のことを「第3の学習用テキスト」ということがある。また、テキストの生成の際、抽出テキストの抽出元となるテキスト(本実施形態の場合、本文)のことを「第2のテキスト」、第2の学習用テキストの関連テキストのことを「第4のテキスト」、モデルM10から出力されるテキストのことを「第1のテキスト」と呼ぶことがある。
また、第2の学習用テキスト及び第4の学習用テキストの少なくとも一方のテキストから所定の基準に従い抽出されたテキスト(本実施形態の場合、ファーストセンテンス、トピックセンテンス、或いはそれらの組み合わせ)のことを「学習用抽出テキスト」ということがある。また、第2の学習用テキスト(例えば、本文)から抽出されたトピックセンテンスを第1の学習用抽出テキスト、第4の学習用テキスト(例えば、関連テキスト)から抽出されたトピックセンテンスを第2の学習用抽出テキスト、第2の学習用テキストのファーストセンテンスを第3の学習用抽出テキスト、第4の学習用テキストのファーストセンテンスを第4の学習用抽出テキストとして取得してもよい。また、第2の学習用テキスト及び第4の学習用テキストの少なくとも一方のテキストから所定の基準に従い抽出されたテキスト(本実施形態の場合、ファーストセンテンス、トピックセンテンス、或いはそれらの組み合わせ)のことを単に「抽出テキスト」ということがある。
モデルM10は、実施形態1のモデルMと同様に、入力テキスト(抽出テキスト)から入力テキストが有する特徴を示す特徴情報を生成するエンコーダと、特徴情報から出力テキスト(第1のテキスト)を生成するデコーダと、を含むエンコーダ−デコーダ型のモデルであってもよい。このとき、エンコーダに入力される抽出テキストは複数あってもよい。そして、情報処理装置10は、エンコーダに学習用抽出テキストを入力した際に、デコーダから第2の学習用テキストに対応する第1の学習用テキストが出力されるよう、モデルM10の学習を行う。例えば、情報処理装置10は、デコーダが出力した短縮テキストが、第1の学習用テキスト(例えば、タイトル)に近づくように、バックプロパゲーション等の手法により、各ノード間で値が伝達する際に考慮される重み(すなわち、接続係数)の値を修正する。これにより、情報処理装置10は、モデルM10に抽出テキストが有する特徴を学習させる。なお、情報処理装置10は、短縮テキストの分散表現となるベクトルと第1の学習用テキストの分散表現となるベクトルとのコサイン類似度に基づいて重みの値を修正してもよい。なお、エンコーダに入力される学習用抽出テキストは複数であってもよい。例えば、情報処理装置10は、第1〜第4の学習用抽出テキストから選択される複数の学習用抽出テキストをエンコーダへの入力としてもよい。
〔1−7.生成処理について〕
次に、上述した学習処理によって学習が行われたモデルを用いて、第2のテキスト(例えば、本文)に対応する第1のテキスト(例えば、タイトル或いは見出し)を生成する生成処理の一例について説明する。
まず、情報処理装置10は、データサーバ20からモデルM10で第1のテキストの生成対象となるテキストを取得する(ステップS104)。例えば、情報処理装置10は、データサーバ20から、配信予定の配信コンテンツ(本文及びタイトル)を取得する。
また、情報処理装置10は、内部の記憶装置からモデルM10を取得する。上述したように、モデルM10は、第2の学習用テキスト及び該第2の学習用テキストに関連する第4の学習用テキストの少なくとも一方のテキストから所定の基準に従い抽出された学習用抽出テキストを入力データ、第2の学習用テキストに対応する第1の学習用テキストを正解データとして学習したモデルである。
続いて、情報処理装置10は、第2のテキスト(例えば、本文)及び該第2のテキストに関連する第4のテキスト(例えば、関連テキスト)の少なくとも一方のテキストから所定の基準に従い抽出された抽出テキストを取得する(ステップS105)。
例えば、情報処理装置10は、第2のテキスト或いは第4のテキストの少なくとも一方のテキスト(以下、該当のテキストともいう。)に含まれるトピックセンテンスを抽出テキストとして取得する。このとき、該当のテキストに複数のトピックセンテンスが含まれるのであれば、情報処理装置10は、複数のトピックセンテンスのいずれか1つ(例えば、第2のテキスト或いは第4のテキストで初出のトピックセンテンス)を抽出テキストとして取得してもよい。勿論、情報処理装置10は、複数のトピックセンテンスの中から複数のトピックセンテンスを選択してもよいし、該当のテキストに含まれる全てのトピックセンテンスを抽出テキストとして選択してもよい。このとき、情報処理装置10は、複数のトピックセンテンスを繋げて1つの抽出テキストとしてもよいし、複数のトピックセンテンスそれぞれを抽出テキストとしてもよい。
また、生成処理に使用する抽出テキストは組み合わせテキストであってもよい。例えば、情報処理装置10は、該当のテキストに含まれるトピックセンテンスと、該当のテキストのファーストセンテンスと、の組み合わせテキストを抽出テキストとして取得してもよい。勿論、情報処理装置10は、トピックセンテンスとトピックセンテンスを組み合わせたテキストであってもよいし、ファーストセンテンスとファーストセンテンスを組み合わせたテキストであってもよい。
また、情報処理装置10は、第2のテキストに含まれるトピックセンテンスを第1の抽出テキストとして取得するとともに、第4のテキストに含まれるトピックセンテンスを第2の抽出テキストとして取得してもよい。さらに、情報処理装置10は、第2のテキストの第一文を第3の抽出テキストとして取得するとともに、第4のテキストの第一文である第4の抽出テキストとして取得してもよい。
そして、情報処理装置10は、モデルM10に抽出テキストを入力することにより、第1のテキスト(タイトル)を生成する(ステップS106)。このとき、情報処理装置10は、第1〜第4の抽出テキストから選択される1又は複数の抽出テキストをモデルM10に入力してもよい。モデルM10が例えば図4に示すモデルM1のように複数のエンコーダを備え、複数の入力を受け付けるよう構成されているのであれば、情報処理装置10は、複数の抽出テキストをそれぞれ異なるエンコーダに入力してもよい。勿論、情報処理装置10は、複数の抽出テキストを1つに繋げてモデルM10に入力してもよい。
第1のテキストが生成されたら、情報処理装置10は、第1のテキストを用いて、要約コンテンツ(例えば、タイトル、見出し)を生成する。そして、情報処理装置10は、要約コンテンツを端末装置30に配信する(ステップS107)。
本実施形態によれば、情報処理装置10はモデルM10の学習にファーストセンテンスやトピックセンテンスを使用している。ファーストセンテンスは、重要な情報を含む文であることが多く、また、トピックセンテンスは、多くのテキストで特徴的部分であることが多い。そのため、トピックセンテンスを使用することで、情報処理装置10は、モデルM10を精度の高いものとすることができる。結果として、情報処理装置10は、精度の高いテキストを生成できる。
〔2.情報処理装置の構成例〕
以上、実施形態1及び実施形態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)網、インターネット等の通信ネットワークである。ネットワークには、有線ネットワークが含まれていてもよいし、無線ネットワークが含まれていてもよい。
図11は、実施形態に係る情報処理装置10の構成例を示す図である。情報処理装置10は、通信部11と、記憶部12と、制御部13と、を備える。なお、図11に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
通信部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には、学習データが登録される。図12は、学習データデータベース121に登録される情報の一例を示す図である。学習データデータベース121には、「学習データID」、「本文」、「タイトル」、「見出し」、及び「関連テキスト」といった項目を有する情報が登録される。
なお、図12に示す情報のうち「本文」、「タイトル」、および「見出し」は、図3に示す「本文」、「タイトル」、および「見出し」に対応する。なお、学習データデータベース121には、図12に示す情報以外にも、学習データや要約データを閲覧した利用者に関する各種の情報が登録されていてもよい。なお、図12に示す例では、学習データデータベース121に登録される情報として、「K11〜K13」、「T11〜13」、「U11〜U13」、「R111〜R131」といった概念的な情報を示したが、実際には、テキストデータやバイナリデータが登録されることとなる。
ここで、「学習データID」とは、学習データを識別するための識別子である。また、「本文」とは、ユーザに配信されたコンテンツ(例えば、記事)に含まれる本文となるテキストである。また「タイトル」とは、コンテンツ或いは当該コンテンツに含まれる本文に付されたタイトルである。また、「見出し」とは、コンテンツ(本文或いはタイトル)に付された見出しである。また、「関連テキスト」とは、本文と関連するテキストである。
例えば、図12に示す例では、学習データID「1001」、本文「K11」、タイトル「T11」、見出し「U11」、及び関連テキスト「R111」といった情報が対応付けて登録されている。このような情報は、例えば、学習データID「1001」が示す学習データに、「K11」が示す本文と、「T11」が示すタイトルと、「U11」が示す見出しと、「R111」が示す関連テキストと、が含まれる旨を示す。
図11に戻り、モデルデータベース122には、情報処理装置10が有するモデルのデータが登録される。図13は、モデルデータベース122に登録される情報の一例を示す図である。図13に示す例では、モデルデータベース122には、「モデルID」、および「モデルデータ」といった情報が登録されている。
ここで、「モデルID」とは、各モデルを識別するための情報である。また、「モデルデータ」とは、対応付けられた「モデルID」が示すモデルのデータであり、例えば、各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報である。
例えば、図13に示す例では、モデルID「2001」およびモデルデータ「M1」といった情報が対応付けて登録されている。このような情報は、例えば、「2001」が示すモデルのデータが「M1」である旨を示す。なお、図13に示す例では、モデルデータベース122に登録される情報として、「M1〜M3」といった概念的な情報を記載したが、実際には、モデルの構造や接続係数を示す文字列や数値等が登録されることとなる。
モデルMは、第1の学習用テキストと、第1の学習用テキストの元のテキストである第2の学習用テキストと、を入力データ、第1の学習用テキストに対応するテキストであって生成条件を満たす第3の学習用テキストとを正解データ(教師ラベル)として学習したモデルである。モデルMは、第1のテキストから生成条件を満たす第3のテキストを生成する。このようなモデルMは、第1のテキスト及び該第1のテキストの元のテキストである第2のテキストを入力する入力層と、第1のテキストに対応するテキストであって生成条件を満たす第3のテキストを出力する出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重み(すなわち、接続係数)とに基づく演算を行うことにより、入力層に入力されたテキストに対応するテキストであって生成条件を満たすテキストを出力する出力層から出力するよう、コンピュータを機能させるためのモデルである。
また、モデルM10は、第2の学習用テキスト及び該第2の学習用テキストに関連する第4の学習用テキストの少なくとも一方のテキストから所定の基準に従い抽出された学習用抽出テキストを入力データ、第2の学習用テキストに対応する第1の学習用テキストを正解データ(教師ラベル)として学習したモデルであってもよい。そして、第2のテキスト及び該第2のテキストに関連する第4のテキストの少なくとも一方のテキストから所定の基準に従い抽出された抽出テキストから第2のテキストに対応する第1のテキストを出力してもよい。このようなモデルMは、第2のテキスト及び該第2のテキストに関連する第4のテキストの少なくとも一方のテキストから所定の基準に従い抽出された抽出テキストを入力する入力層と、第2のテキストに対応する第1のテキストを出力する出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重み(すなわち、接続係数)とに基づく演算を行うことにより、入力層に入力された抽出テキストに応じて、第1のテキストを出力するよう、コンピュータを機能させる。
ここで、モデルM、M10が「y=a1*x1+a2*x2+・・・+ai*xi」で示す回帰モデルで実現されるとする。この場合、モデルM、M10が含む第1要素は、x1やx2等といった入力データ(xi)に対応する。また、第1要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。
また、モデルM、M10がDNN(Deep Neural Network)等、1つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、モデルM、M10が含む第1要素は、入力層または中間層が有するいずれかのノードに対応する。また、第2要素は、第1要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第1要素の重みは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。
情報処理装置10は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、出力テキストの算出を行う。具体的には、モデルMは、テキスト(例えば、タイトル)、及び当該テキストの元のテキスト(例えば、当該タイトルの本文)が入力された場合に、入力されたテキストに対応するテキストであって生成条件を満たすテキスト(例えば、見出し)を出力するように係数が設定される。モデルMは、テキスト及び当該テキストの元のテキストが入力された場合に、入力されたテキストに対応するテキストであって生成条件を満たすテキストを出力するように係数が設定されてもよい。情報処理装置10は、このようなモデルMを用いて、生成条件を満たすテキスト(例えば、見出し)を生成する。また、モデルM10は、所定のテキスト(例えば、本文、関連テキスト)から抽出された抽出テキスト(例えば、トピックセンテンス、ファーストセンテンス、或いはそれらの組み合わせ)が入力された場合に、所定のテキストに対応するテキスト(例えば、タイトル、見出し)を出力するように係数が設定される。
なお、上記例では、モデルMが、テキスト(例えば、タイトル)及び当該テキストの元のテキスト(例えば、当該タイトルの本文)が入力された場合に、入力されたテキストに対応するテキストであって生成条件を満たすテキスト(例えば、見出し)を出力するモデル(以下、モデルVという。)である例を示した。しかし、実施形態に係るモデルMは、モデルVにデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。例えば、モデルVは、「テキスト及び当該テキストの元のテキスト」を入力とし、モデルVが出力する「入力されたテキストに対応するテキストであって生成条件を満たすテキスト」を出力とするよう学習されたモデルであってもよい。
なお、上記例では、モデルM10が、所定のテキスト(例えば、本文、関連テキスト)から抽出された抽出テキスト(例えば、トピックセンテンス、ファーストセンテンス、或いはそれらの組み合わせ)が入力された場合に、所定のテキストに対応するテキスト(例えば、タイトル、見出し)を出力するモデル(以下、モデルV10という。)である例を示した。しかし、実施形態に係るモデルM10は、モデルV10にデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。例えば、モデルV10は、「所定のテキスト」を入力とし、モデルV10が出力する「所定のテキストに対応するテキスト」を出力とするよう学習されたモデルであってもよい。
また、情報処理装置10がGAN(Generative Adversarial Networks)を用いた学習処理或いは生成処理を行う場合、モデルMは、GANの一部を構成するモデルであってもよい。
図11に戻り、コンテンツ情報データベース123には、ユーザに配信されるコンテンツの情報が登録される。例えば、コンテンツ情報データベース123には、コンテンツパートナーから取得した記事等が登録される。図14は、コンテンツ情報データベース123に登録される情報の一例を示す図である。コンテンツ情報データベース123には、「コンテンツID」、「本文」、「タイトル」、及び「関連テキスト」といった項目を有する情報が登録される。なお、「コンテンツID」とは、コンテンツのデータを識別するための識別子である。「本文」、「タイトル」、及び「関連テキスト」は、図12に示す「本文」、「タイトル」、及び「関連テキスト」と同様である。
図11に戻り、制御部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〜M3等)に従った情報処理により、モデルMの入力層に入力された入力テキスト(例えば、タイトル及び当該タイトルの本文)に対し、モデルMが有する係数(すなわち、モデルMが学習した各種の特徴に対応する係数)に基づく演算を行い、モデルMの出力層から出力テキスト(例えば、見出し)を出力する。
制御部13は、図11に示すように、学習データ取得部131と、学習部132と、出力情報取得部133と、生成部134と、出力制御部135と、を備える。制御部13を構成するブロック(学習データ取得部131〜出力制御部135)はそれぞれ制御部13の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ1つのプロセッサ或いは1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部13は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
学習データ取得部131は、第1の学習用テキストと、第1の学習用テキストの元のテキストである第2の学習用テキストと、第1の学習用テキストに対応するテキストであって生成条件を満たす第3の学習用テキストと、を取得する。また、学習データ取得部131は、第2の学習用テキストに関連する第4の学習用テキストを取得する。例えば、学習データ取得部131は、第2の学習用テキストに関連する複数の関連テキストから所定の基準を満たすテキストを第4の学習用テキストとして取得する。
また、学習データ取得部131は、第2の学習用テキスト及び該第2の学習用テキストに関連する第4の学習用テキストの少なくとも一方のテキストから所定の基準に従い抽出された学習用抽出テキストと、第2の学習用テキストに対応する第1の学習用テキストと、を取得する。また、学習データ取得部131は、第2の学習用テキスト或いは第4の学習用テキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文を学習用抽出テキストとして取得する。また、学習データ取得部131は、第2の学習用テキスト或いは第4の学習用テキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文と、第2の学習用テキスト或いは第4の学習用テキストの第一文と、を学習用抽出テキストとして取得する。
学習部132は、モデルM(第1のモデル)の学習を行い、学習したモデルMをモデルデータベース122に格納する。より具体的には、学習部132は、学習データに含まれる第1の学習用テキスト(例えば、タイトル)及び第2の学習用テキスト(例えば、タイトルの本文)をモデルMに入力した際に、モデルMが学習データに含まれる第3の学習用テキスト(例えば、入力したタイトルに対応する見出し)を出力するように、モデルMが有する各モデルの接続係数の設定を行う。すなわち、学習部132は、入力テキストと当該入力テキストの元のテキストを入力した際に、モデルMが、入力テキストに対応するテキストであって生成条件を満たす出力テキストを出力するように、モデルMの学習を行う。モデルMには、入力テキストに加えて、当該入力テキストの元のテキスト(本文等の入力テキストの生成元となったテキスト)が入力されてもよい。
例えば、学習部132は、モデルMが有する入力層のノードであって、入力層に入力される情報と対応する特徴を学習したエンコーダの入力層と対応するノードに第1の学習用テキスト(例えば、タイトル)と第2の学習用テキスト(例えば、本文)を入力し、各中間層を辿ってモデルMの出力層までデータを伝播させることで、第1の学習用テキストに対応するテキストであって生成条件を満たすテキストを出力させる。そして、学習部132は、モデルMが実際に出力したテキストと、学習データに含まれる第3の学習用テキスト(例えば、見出し)との差に基づいて、モデルMの接続係数を修正する。例えば、学習部132は、バックプロパゲーション等の手法を用いて、接続係数の修正を行ってもよい。また、学習部132は、第3の学習用テキストの分散表現となるベクトルと、モデルMが実際に出力したテキストの分散表現となるベクトルとのコサイン類似度に基づいて、接続係数の修正を行ってもよい。
また、学習部132は、モデルM10(第3のモデル)の学習を行い、学習したモデルM10をモデルデータベース122に格納する。より具体的には、学習部132は、第2の学習用テキスト(例えば、本文)及び該第2の学習用テキストに関連する第4の学習用テキスト(例えば、関連テキスト)の少なくとも一方のテキストから所定の基準に従い抽出された学習用抽出テキスト(例えば、トピックセンテンス、ファーストセンテンス、或いはそれらの組み合わせ)をモデルM10に入力した際に、モデルM10が学習データに含まれる第1の学習用テキスト(例えば、本文に対応するタイトル或いは見出し)を出力するように、モデルMが有する各モデルの接続係数の設定を行ってもよい。すなわち、学習部132は、入力テキスト及び入力テキストに関連する関連テキストの少なくとも一方のテキストから所定の基準に従い抽出された抽出テキストを入力した際に、モデルMが、入力テキストに対応する出力テキストを出力するように、モデルMの学習を行ってもよい。
例えば、学習部132は、モデルM10が有する入力層のノードであって、入力層に入力される情報と対応する特徴を学習したエンコーダの入力層と対応するノードに第2の学習用テキスト(例えば、本文)及び第2の学習用テキストに関連する第4の学習用テキスト(例えば、関連テキスト)の少なくとも一方のテキストから所定の基準に従い抽出された学習用抽出テキスト(例えば、トピックセンテンス、ファーストセンテンス、或いはそれらの組み合わせ)を入力し、各中間層を辿ってモデルM10の出力層までデータを伝播させることで、第2の学習用テキストに対応するテキスト(例えば、本文に対応するタイトル或いは見出し)を出力させる。そして、学習部132は、モデルMが実際に出力したテキストと、学習データに含まれる第1の学習用テキスト(例えば、タイトル或いは見出し)との差に基づいて、モデルM10の接続係数を修正する。例えば、学習部132は、バックプロパゲーション等の手法を用いて、接続係数の修正を行ってもよい。また、学習部132は、第1の学習用テキストの分散表現となるベクトルと、モデルMが実際に出力したテキストの分散表現となるベクトルとのコサイン類似度に基づいて、接続係数の修正を行ってもよい。
なお、学習部132は、いかなる学習アルゴリズムを用いてモデルM、M10を学習してもよい。例えば、学習部132は、ニューラルネットワーク、サポートベクターマシン(support vector machine)、クラスタリング、強化学習等の学習アルゴリズムを用いて、モデルMを学習してよい。
ここで、学習部132は、第1の学習用テキストと第2の学習用テキストとを入力データ、第3の学習用テキストを正解データとして、第1のテキスト及び該第1のテキストの元のテキストである第2のテキストから生成条件を満たす第3のテキストを生成する第1のモデル(例えば、モデルM)の学習を行う。このとき、第1のモデルは、第3のテキストとして、所定の文字数以下のテキストを生成するモデルであってもよい。学習部132は、第3の学習用テキストとして所定の文字数以下のテキストを取得してもよい。
なお、第1のモデル(例えば、モデルM)は、第1のテキストに基づいて第1の特徴情報を生成する第1のエンコーダと、第2のテキストに基づいて第2の特徴情報を生成する第2のエンコーダと、第1の特徴情報及び第2の特徴情報に基づいて第3のテキストを生成するデコーダと、を含んでいてもよい。そして、学習部132は、第1の学習用テキストを第1のエンコーダに入力される入力データ、第2の学習用テキストを第2のエンコーダに入力される入力データ、第3の学習用テキストを正解データとして、第1のモデルの学習を行ってもよい。
また、学習部132は、第2の学習用テキストを入力データ、第1の学習用テキストを正解データとして、第2のエンコーダを含む第2のモデル(例えば、図6に示すエンコーダE21とデコーダD21により構成されるモデル)の学習を行うことにより、第2のエンコーダ(例えば、エンコーダE21)の学習を行う。
また、学習部132は、第2の学習用テキストを入力データ、第3の学習用テキストを正解データとして、第2のエンコーダを含む第2のモデルの学習を行うことにより、第2のエンコーダの学習を行う。
また、学習部132は、第1の学習用テキストと第2の学習用テキストと第4の学習用テキストとを入力データ、第3の学習用テキストを正解データとして第1のモデルの学習を行う。
また、学習部132は、第1の学習用テキストと第2の学習用テキストと第4の学習用テキストとを入力データ、第3の学習用テキストを正解データとして第1のモデルの学習を行う。
また、学習部132は、学習用抽出テキストを入力データ、第1の学習用テキストを正解データとして、第2のテキスト及び該第2のテキストに関連する第4のテキストの少なくとも一方のテキストから所定の基準に従い抽出された抽出テキストから第2のテキストに対応する第1のテキストを生成する第3のモデル(例えば、モデルM10)の学習を行う。
また、学習部132は、学習用抽出テキストを入力データ、第1の学習用テキストを正解データとして、第2のテキスト及び第4のテキストの少なくとも一方のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文である抽出テキストから第2のテキストに対応する第1のテキストを生成する第3のモデルの学習を行う。
また、学習部132は、学習用抽出テキストを入力データ、第1の学習用テキストを正解データとして、第2のテキスト及び第4のテキストの少なくとも一方のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文と、から第2のテキストに対応する第1のテキストを生成する第3のモデルの学習を行う。
出力情報取得部133は、第1のテキスト及び該第1のテキストの元のテキストである第2のテキストを取得する。
また、出力情報取得部133は、第2のテキストに関連する第4のテキストを取得する。このとき、出力情報取得部133は、第2のテキストに張られたリンクを辿って得られるテキストを第4のテキストとして取得してもよい。或いは、出力情報取得部133は、第2のテキストの一部を検索クエリとして検索した結果得られるテキストを第4のテキストとして取得してもよい。なお、出力情報取得部133は、複数の関連テキストの中で第1のテキストと最も類似するテキストを第4のテキストとして取得してもよい。
出力情報取得部133は、第2のテキスト及び該第2のテキストに関連する第4のテキストの少なくとも一方のテキストから所定の基準に従い抽出された抽出テキストを取得する。また、出力情報取得部133は、第2のテキスト或いは第4のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文を抽出テキストとして取得する。
また、出力情報取得部133は、第2のテキスト或いは第4のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文と、第2のテキスト或いは第4のテキストの第一文と、を抽出テキストとして取得する。
また、出力情報取得部133は、第2のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文である第1の抽出テキストと、第4のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文である第2の抽出テキストと、を取得する。
また、出力情報取得部133は、第2のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文である第1の抽出テキストと、第4のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文である第2の抽出テキストと、第2のテキストの第一文である第3の抽出テキストと、第4のテキストの第一文である第4の抽出テキストと、を取得する。
生成部134は、第1のテキストと第2のテキストとに基づいて、第1のテキスト或いは第2のテキストに対応するテキストであって生成条件を満たす第3のテキストを生成する。生成部134は、第3のテキストとして、所定の文字数以下のテキストを生成してもよい。
また、生成部134は、第1のテキストと第2のテキストとの関連に基づいて第2のテキストから生成された特徴情報と、第1のテキストと、に基づいて第3のテキストを生成する。
また、生成部134は、第1のテキストと第2のテキストと第4のテキストに基づいて、第3のテキストを生成する。
また、生成部134は、第1のテキストと第2のテキストと第4のテキストに基づいて、第3のテキストを生成する。
また、生成部134は、第1の学習用テキストと第1の学習用テキストの元のテキストである第2の学習用テキストとを入力データ、第1の入力テキスト或いは第2の入力テキストに対応するテキストであって生成条件を満たす第3の学習用テキストを正解データとして学習したモデル(例えば、モデルM)に第1のテキストと第2のテキストとを入力することにより、第3のテキストを生成する。
また、生成部134は、抽出テキストに基づいて、第2のテキストに対応する第1のテキストを生成する。また、生成部134は、第1の抽出テキストと第2の抽出テキストに基づいて、第2のテキストに対応する第1のテキストを生成する。また、生成部134は、第1の抽出テキストと第2の抽出テキストと第3の抽出テキストと第4の抽出テキストとに基づいて、第2のテキストに対応する第1のテキストを生成する。
また、生成部134は、第2の学習用テキスト及び該第2の学習用テキストに関連する第4の学習用テキストの少なくとも一方のテキストから所定の基準に従い抽出された学習用抽出テキストを入力データ、第2の学習用テキストに対応する第1の学習用テキストを正解データとして学習したモデル(例えば、モデルM10)に抽出テキストを入力することにより、第1のテキストを生成する。
出力制御部135は、生成部134が生成したテキストを利用者に対して出力する。例えば、出力制御部135は、端末装置30からの要求に応じて、生成部134が生成したテキストが含まれるコンテンツを配信する。なお、出力制御部135は、生成部134が生成したテキストが含まれるコンテンツをデータサーバ20に提供し、データサーバ20から配信させてもよい。
〔3.情報処理装置の処理フロー〕
次に、情報処理装置10が実行する処理の手順について説明する。情報処理装置10は学習処理と生成処理とを実行する。情報処理装置10はマルチタスクOSを備え、これらの処理を並行して実行可能である。
〔3−1.学習処理〕
最初に学習処理を説明する。図15は、学習処理の一例を示すフローチャートである。学習処理は、入力テキスト(例えば、タイトル)と当該入力テキストの元のテキスト(例えば、本文)から出力テキスト(例えば、見出し)を生成するモデルMを学習する処理である。情報処理装置10は、ユーザから処理開始命令を受信すると、学習処理を実行する。
まず、情報処理装置10は、学習データを取得する(ステップS11)。例えば、情報処理装置10は、データサーバ20から配信コンテンツ(本文及びタイトル)の情報を取得するとともに、配信コンテンツに対応する見出しを取得する。
続いて、情報処理装置10は、ステップS11で取得したデータの中から、入力データとなるテキスト(第1の学習用テキスト及び第2の学習用テキスト)と、当該入力データに対応するテキストであって正解データとなるテキスト(第3の学習用テキスト)を選択する(ステップS12)。例えば、情報処理装置10は、タイトルを第1の学習用テキスト、当該タイトルの本文を第2の学習用テキスト、見出しを第3の学習用テキストとして選択する。
続いて、情報処理装置10は、第2の学習用テキストの関連テキストを取得する(ステップS13)。
そして、情報処理装置10は、第1の学習用テキストと第2の学習用テキストを入力データ、第3の学習用テキストを正解データとしてモデルMの学習を実行する(ステップS14)。なお、モデルMが第1の学習用テキストと第2の学習用テキストとに加えて関連テキストを入力できるよう構成されているのであれば、情報処理装置10は、第1の学習用テキストと第2の学習用テキストと関連テキストを入力データ、第3の学習用テキストを正解データとしてモデルMの学習を実行する。学習の実行が終了したら、情報処理装置10は、学習処理を終了する。
〔3−2.生成処理〕
次に生成処理を説明する。図16は、生成処理の一例を示すフローチャートである。生成処理は、入力テキスト(例えば、タイトル)と当該入力テキストの元のテキスト(例えば、本文)から出力テキスト(例えば、見出し)を生成する処理である。情報処理装置10は、ユーザから処理開始命令を受信すると、生成処理を実行する。
まず、情報処理装置10は、コンテンツ情報を取得する(ステップS21)。例えば、情報処理装置10は、データサーバ20から配信コンテンツ(本文及びタイトル)の情報を取得する。
続いて、情報処理装置10は、ステップS21で取得したデータの中から、モデルMに入力する入力テキスト(第1のテキスト及び第2のテキスト)を選択する(ステップS22)。例えば、情報処理装置10は、タイトルを第1のテキスト、本文を第2のテキストとして選択する。
続いて、情報処理装置10は、第2のテキストの関連テキストを取得する(ステップS23)。
続いて、情報処理装置10は、第1のテキスト及び第2のテキストをモデルMに入力して第3のテキストを生成する(ステップS24)。なお、モデルMが第1のテキストと第2のテキストとに加えて関連テキストを入力できるよう構成されているのであれば、情報処理装置10は、第1のテキストと第2のテキストとに加えて関連テキストをモデルMに入力してもよい。出力テキストの生成が終了したら、情報処理装置10は、生成処理を終了する。
〔3−3.学習処理〕
次にモデルM10の学習処理を説明する。図17は、学習処理の他の例を示すフローチャートである。学習処理は、入力テキスト(例えば、抽出テキスト)から出力テキスト(例えば、タイトル)を生成するモデルM10を学習する処理である。情報処理装置10は、ユーザから処理開始命令を受信すると、学習処理を実行する。
まず、情報処理装置10は、学習データを取得する(ステップS31)。例えば、情報処理装置10は、データサーバ20から配信コンテンツ(本文)の情報を取得するとともに、配信コンテンツに対応するタイトルを取得する。
続いて、情報処理装置10は、ステップS31で取得したデータの中から、要約元となるテキスト(第2の学習用テキスト)と、正解データとなるテキスト(第1の学習用テキスト)を選択する(ステップS32)。例えば、情報処理装置10は、本文を第2の学習用テキスト、当該本文のタイトルを第1の学習用テキストとして選択する。
続いて、情報処理装置10は、第2の学習用テキストの関連テキストを取得する(ステップS33)。そして、情報処理装置10は、第2の学習用テキスト及び関連テキストの少なくとも一方のテキストから学習用抽出テキストを取得する(ステップS34)。
そして、情報処理装置10は、学習用抽出テキストを入力データ、第1の学習用テキストを正解データとしてモデルM10の学習を実行する(ステップS35)。学習の実行が終了したら、情報処理装置10は、モデルM10の学習処理を終了する。
〔3−4.生成処理〕
次にモデルM10を使ったテキストの生成処理を説明する。図18は、生成処理の他の例を示すフローチャートである。生成処理は、第2のテキスト(例えば、本文)に対応する第1のテキスト(例えば、タイトル)を生成する処理である。情報処理装置10は、ユーザから処理開始命令を受信すると、生成処理を実行する。
まず、情報処理装置10は、コンテンツ情報を取得する(ステップS41)。例えば、情報処理装置10は、データサーバ20から配信コンテンツ(本文)の情報を取得する。
続いて、情報処理装置10は、ステップS41で取得したデータの中から、要約元となるテキスト(第2のテキスト)を選択する(ステップS42)。例えば、情報処理装置10は、本文を第2のテキストとして選択する。
続いて、情報処理装置10は、第2のテキストの関連テキストを取得する(ステップS43)。そして、情報処理装置10は、第2のテキスト及び関連テキストの少なくとも一方のテキストから抽出テキストを取得する(ステップS44)。
続いて、情報処理装置10は、抽出テキストをモデルM10に入力して第1のテキストを生成する(ステップS45)。第1のテキストの生成が終了したら、情報処理装置10は、生成処理を終了する。
〔4.合成処理の詳細〕
上述の実施形態では、情報処理装置10は、複数のエンコーダから出力される特徴情報を合成した。以下、この合成処理の詳細について述べる。以下の説明では、第1のテキストをタイトル、第2のテキストを本文、第3のテキストを見出しとした時を例に、合成処理の詳細を述べる。最初に、エンコーダ・デコーダモデルについて述べる。
〔4−1.エンコーダ・デコーダモデル〕
本実施形態では、エンコーダ・デコーダモデルの一例として、例えば図6に示したような、アテンションモデルを使用した。以下、アテンションモデルを例に、エンコーダ・デコーダモデルで実行される処理を説明する。
本実施形態の情報処理装置10は、長さSの入力文字列をX=[x1,x2,・・・,xS]、長さTの出力文字列をY=[y1,y2,・・・,yT]として,以下の式(1)で示される確率を最大にするように学習することで、XからYを生成するモデルを作成する。
ここで式(1)に示したp(yt+1|y≦t)は、Xをベクトル化するエンコーダとYを出力するデコーダを用いて、以下の式(2)〜式(5)のように表される。
ここで、式(2)はエンコーダによる処理を示しており、式(3)から式(5)はデコーダによる処理を表している。式(2)のfencは入力xsと、s−1番目の状態ベクトルhs-1を用いてs番目の状態ベクトルhsを計算する状態遷移関数である。式(3)のfdecも状態遷移関数である。式(3)では、ytとt−1の状態ベクトルst−1を利用してstを計算している。なお、s0=hSである。式(4)はアテンションと呼ばれる処理である。αt,sはstとhsに基づいて計算される重みで、各入力のhsの重要度を表す。この重みつき和を計算することにより、stに関連する入力文字列のベクトルを計算することができる。式(4)で示したctが特徴情報となる。そして、式(5)のgdecでctとstを入力として、次の出力の確率を計算する。例えば、入力文字列を本文或いはタイトル、出力文字列を見出しとすることで、本文或いはタイトルから見出しを生成するモデルを作成することができる。
〔4−2.複数エンコーダを利用するモデル〕
上述したように、本実施形態では、情報処理装置10は、記事のタイトルと記事の本文をそれぞれエンコーダによってベクトル化し、その出力を合成モデルで統合する。なお、上述の実施形態(例えば、図4を使って説明した例)では、複数のエンコーダの出力を合成するのは合成モデルであった。しかし、複数のエンコーダの出力を合成するのは、合成モデルではなく、デコーダであってもよい。
情報処理装置10は、次のように各エンコーダの出力を合成してもよい。例えば、情報処理装置10は、エンコーダごとにスカラーの重みを動的に計算し、その重み和ベクトルを、複数のエンコーダから出力される特徴情報を合成した合成情報とする。合成情報は、デコーダで使用される特徴情報であり、上述の例であれば、式(5)で示したgdecに入力されるctである。例えば、記事のタイトルのベクトルをdt、記事の本文のベクトルをd’t、βをスカラーの重みとすると、合成情報(統合された特徴情報)は、ct=βdt+(1−β)d’tとなる。
〔4−3.合成情報の生成〕
なお、上述の例(4−2の例)では、重みをスカラー値で計算し、これを掛けることによって重み付き和を計算した。しかし、ctの各要素がそれぞれ特徴を表現する役割を担っていると考えると、要素ごとに重みを計算できれば、より適切な特徴を表現できる。そこで、以下の式(6)〜式(8)ようにctを計算する。
ここで、式(6)、式(7)に示したσはシグモイド関数である。また、WとW’はそれぞれ重み行列を表している。また、式(8)に示した記号(円の中心に点)は要素ごとの積を示している。図19は、複数のエンコーダの出力を合成する様子を示す図である。具体的には、図19は、デコーダ部の処理である式(3)、同じくデコーダ部の処理であり確率を計算する式(5)、重みの計算処理である式(6)及び式(7)を除いた処理を図にしたものであり、計算された重みを用いてベクトルを統合する処理の概略図である。より具体的には、図19に示すエンコーダが式(2)に相当し、図19に示すアテンションが式(4)に相当し、エンコーダ及びアテンション以後の処理が式(6)に相当する。なお、上記式(4)では出力がctとなっているが、これが、dtとd’tに置き換わる。
このように、要素ごとに重みを計算することで、より詳細な重みつき和(統合された特徴情報)を計算できる。結果として、情報処理装置10は、精度が高いテキストを生成できる。
〔5.変形例〕
上述の実施形態は一例を示したものであり、種々の変更及び応用が可能である。
例えば、上述の実施形態では、情報処理装置10は、第1の学習用テキストをタイトル、第2の学習用テキストを本文、第3の学習用テキストを見出しとしてモデルMの学習を行った。しかし、第1の学習用テキスト、第2の学習用テキスト、及び第3の学習用テキストは上記の例に限定されない。例えば、情報処理装置10は、第1の学習用テキストを論文の要約、第2の学習用テキストを要約の元となった論文、第3の学習用テキストを論文のタイトルとしてモデルMの学習を行ってもよい。その他、第1の学習用テキスト、第2の学習用テキスト、及び第3の学習用テキストとするテキストは任意に変更可能である。第4の学習用テキストとするテキストも任意に変更可能である。同様に、モデルMに入力する第1のテキスト、第2のテキスト、第3のテキスト、及び第4のテキスト(関連テキスト)とするテキストも任意に変更可能である。
また、第1〜第4のテキスト、及び第1〜第3の学習用テキストは適宜言い換えることが可能である。例えば、実施形態2において、第2のテキストを第1のテキスト、第4のテキストを第2のテキスト、第1のテキストを第3のテキストと言い換えること可能である。同様に、実施形態2において、第2の学習用テキストを第1の学習用テキスト、第4の学習用テキストを第2の学習用テキスト、第1の学習用テキストを第3の学習用テキストと言い換えること可能である。
また、上述の実施形態では、情報処理装置10は、第2の学習用テキスト(本文)を入力データ、第1の学習用テキスト(タイトル)を正解データとして、第2のモデル(例えば、図6に示すモデル)に含まれるエンコーダE21(第2のエンコーダ)の学習を行った。しかし、情報処理装置10は、第2の学習用テキスト(本文)を入力データ、第3の学習用テキスト(見出し)を正解データとして、第2のモデルに含まれるエンコーダE21(第2のエンコーダ)の学習を行ってもよい。
また、上述の実施形態では、モデルMは、アテンションモデルを追加したSeq2Seqであるものとしたが、アテンションモデルが追加されていない通常のSeq2Seqであってもよい。
また、上述の実施形態では、モデルMを構成するエンコーダおよびデコーダは、LSTMにより構成されるものとしたが、LSTM以外のRNNにより構成されていてもよい。モデルMを構成するエンコーダおよびデコーダは、CNN(Convolution Neural Network)等、RNN以外のニューラルネットワークであってもよい。その他、モデルMを構成するエンコーダおよびデコーダは、単純に入力された情報量の次元数を変化させるニューラルネットワークであってもよい。このとき、モデルMを構成するエンコーダは、入力された情報の次元量を圧縮することで入力された情報が有する特徴を抽出するよう構成されていてもよい。また、モデルMを構成するデコーダは、エンコーダによって抽出された特徴の次元量を増大させ、エンコーダに入力された情報よりも次元数が少ない情報を出力するよう構成されていてもよい。
また、上述の実施形態では、情報処理装置10は学習モデル(モデルM)を使用して第3のテキストを生成したが、情報処理装置10は学習モデルを使用せずに第3のテキストを生成してもよい。例えば、情報処理装置10は、第1のテキスト(タイトル)を構文解析し、不要なワードを第1のテキストから削除してもよい。そして、情報処理装置10は、第1のテキスト(タイトル)に含まれる略語の本来のワードを第2のテキスト(本文)に基づいて特定し、第1のテキストに含まれる略語を本来のワードに置き換えてもよい。そして、情報処理装置10は、略語を置き換えたテキストを第3のテキストとして取得してもよい。
本実施形態の情報処理装置10を制御する制御装置は、専用のコンピュータシステムによって実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムまたはデータ(例えば、モデルM)を、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールし、上述の処理を実行することによって制御装置を構成してもよい。制御装置は、情報処理装置10の外部の装置(例えば、パーソナルコンピュータ)であってもよいし、内部の装置(例えば、制御部13)であってもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OS(Operating System)とアプリケーションソフトとの協働により実現してもよい。この場合には、OS以外の部分を媒体に格納して配布してもよいし、OS以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔6.ハードウェア構成〕
実施形態及び変形例に係る情報処理装置10は、例えば図20に示すような構成のコンピュータ1000によっても実現可能である。図20は、情報処理装置10の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU(Central Processing Unit)1100、RAM(Random Access Memory)1200、ROM(Read Only Memory)1300、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)を取得してもよい。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔7.効果〕
情報処理装置10は、第1のテキスト及び該第1のテキストの元のテキストである第2のテキストを取得する。そして、情報処理装置10は、第1のテキストと第2のテキストとに基づいて、第1のテキスト或いは第2のテキストに対応するテキストであって生成条件を満たす第3のテキストを生成する。このとき、情報処理装置10は、第3のテキストとして、所定の文字数以下のテキストを生成してもよい。これにより、第1のテキストに曖昧な表現が含まれていたり、第1のテキストの情報量が少なかったりしても、第2のテキストの情報で補完できるので、情報処理装置10は、精度の高い第3のテキストを生成できる。
情報処理装置10は、第1のテキストと第2のテキストとの関連に基づいて第2のテキストから生成された特徴情報と、第1のテキストと、に基づいて第3のテキストを生成する。これにより、情報処理装置10は、第2のテキストのうちの第1のテキストに近い部分(関連する部分)の情報を使って第3のテキストを生成できるようになる。この結果、第2のテキストに含まれる大量の情報が第3のテキストの生成の阻害要因とならないので、情報処理装置10は、精度の高い第3のテキストを生成できる。
情報処理装置10は、第2のテキストに関連する第4のテキストを取得する。そして、情報処理装置10は、第1のテキストと第2のテキストと第4のテキストに基づいて、第3のテキストを生成する。これにより、第1のテキストと第2のテキストの不足部分を第4のテキストで補完できるので、情報処理装置10は、精度の高い第3のテキストを生成できる。
情報処理装置10は、第2のテキストに張られたリンクを辿って得られるテキストを第4のテキストとして取得する。リンクを辿って得られるテキストは、第2のテキストの内容を補完する内容である可能性が高い。結果として、情報処理装置10は、精度の高い第3のテキストを生成できる。
情報処理装置10は、第2のテキストの一部を検索クエリとして検索した結果得られるテキストを第4のテキストとして取得する。第2のテキストの一部を検索クエリとして検索した結果得られるテキストは、第2のテキストの内容を補完する内容である可能性が高い。結果として、情報処理装置10は、精度の高い第3のテキストを生成できる。
情報処理装置10は、第2のテキストに関連する複数の関連テキストから所定の基準を満たす第4のテキストを取得する。情報処理装置10は、第1のテキストと第2のテキストと第4のテキストに基づいて、第3のテキストを生成する。情報処理装置10は、複数の関連テキストから選択されたテキストを第4のテキストとしている。この結果、大量の情報が第3のテキストの生成の阻害要因とならないので、情報処理装置10は、精度の高い第3のテキストを生成できる。
情報処理装置10は、複数の関連テキストの中で第1のテキストと最も類似するテキストを第4のテキストとして取得する。これにより、大量の情報が第3のテキストの生成の阻害要因とならないので、情報処理装置10は、精度の高い第3のテキストを生成できる。
情報処理装置10は、第1の学習用テキストと第1の学習用テキストの元のテキストである第2の学習用テキストとを入力データ、第1の学習用テキスト或いは第2の学習用テキストに対応するテキストであって生成条件を満たす第3の学習用テキストを正解データとして学習したモデルMに第1のテキストと第2のテキストとを入力することにより、第3のテキストを生成する。これにより、情報処理装置10は、精度の高い第3のテキストを生成できる。
モデルMは、第1のテキストに基づいて第1の特徴情報を生成する第1のエンコーダと、第2のテキストに基づいて第2の特徴情報を生成する第2のエンコーダと、第1の特徴情報及び第2の特徴情報に基づいて第3のテキストを生成するデコーダと、を含む。これにより、情報処理装置10は、精度の高い第3のテキストを生成できる。
情報処理装置10は、第1の学習用テキストと、第1の学習用テキストの元のテキストである第2の学習用テキストと、第1の学習用テキストに対応するテキストであって生成条件を満たす第3の学習用テキストと、を取得する。そして、第1の学習用テキストと第2の学習用テキストとを入力データ、第3の学習用テキストを正解データとして、第1のテキスト及び該第1のテキストの元のテキストである第2のテキストから生成条件を満たす第3のテキストを生成する第1のモデル(例えば、モデルM)の学習を行う。これにより、情報処理装置10は、第3のテキストを生成するための精度の高いモデルを実現できる。
第1のモデル(例えば、モデルM)は、第1のテキストに基づいて第1の特徴情報を生成する第1のエンコーダと、第2のテキストに基づいて第2の特徴情報を生成する第2のエンコーダと、第1の特徴情報及び第2の特徴情報に基づいて第3のテキストを生成するデコーダと、を含む。そして、情報処理装置10は、第1の学習用テキストを第1のエンコーダに入力される入力データ、第2の学習用テキストを第2のエンコーダに入力される入力データ、第3の学習用テキストを正解データとして、モデルM(第1のモデル)の学習を行う。これにより、情報処理装置10は、第3のテキストを生成するための精度の高いモデルを実現できる。
情報処理装置10は、第2の学習用テキストを入力データ、第1の学習用テキストを正解データとして、第2のエンコーダを含む第2のモデル(例えば、図6に示すモデル)の学習を行うことにより、第2のエンコーダ(例えば、図6に示すエンコーダE21)の学習を行う。これにより、情報処理装置10は、第2のテキスト(本文)のうちの第1のテキスト(タイトル)に近い部分を判別可能にする特徴情報を精度よく生成する第2のエンコーダを実現できる。この結果、情報処理装置10は、第3のテキストを生成するための精度の高いモデルを実現できる。
情報処理装置10は、第2の学習用テキストを入力データ、第3の学習用テキストを正解データとして、第2のエンコーダを含む第2のモデルの学習を行うことにより、第2のエンコーダの学習を行う。これにより、情報処理装置10は、第2のテキスト(本文)のうちの第3のテキスト(見出し)に近い部分を判別可能にする特徴情報を精度よく生成する第2のエンコーダを実現できる。この結果、情報処理装置10は、第3のテキストを生成するための精度の高いモデルを実現できる。
情報処理装置10は、第2の学習用テキストに関連する第4の学習用テキストを取得する。そして、情報処理装置10は、第1の学習用テキストと第2の学習用テキストと第4の学習用テキストとを入力データ、第3の学習用テキストを正解データとして第1のモデルの学習を行う。これにより、情報処理装置10は、第3のテキストを生成するための精度の高いモデルを実現できる。
情報処理装置10は、第2の学習用テキストに関連する複数の関連テキストから所定の基準を満たす第4の学習用テキストを取得する。そして、情報処理装置10は、第1の学習用テキストと第2の学習用テキストと第4の学習用テキストとを入力データ、第3の学習用テキストを正解データとしてモデルM(第1のモデル)の学習を行う。これにより、情報処理装置10は、第3のテキストを生成するための精度の高いモデルを実現できる。
情報処理装置10は、第2のテキスト(例えば、本文)及び該第2のテキストに関連する第4のテキスト(例えば、関連テキスト)の少なくとも一方のテキストから所定の基準に従い抽出された抽出テキスト(例えば、トピックセンテンス、ファーストセンテンス、或いはそれらの組み合わせ)を取得する。そして、情報処理装置10は、抽出テキストに基づいて、第2のテキストに対応する第1のテキスト(例えば、タイトル、見出し)を生成する。これにより、情報処理装置10は、精度の高い第1のテキストを生成できる。
情報処理装置10は、第2のテキスト或いは第4のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文(トピックセンテンス)を抽出テキストとして取得する。上述したように、トピックセンテンスは、多くのテキストで特徴的部分であることが多い。そのため、情報処理装置10は、精度の高い第1のテキストを生成できる。
情報処理装置10は、第2のテキスト或いは第4のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文(トピックセンテンス)と、第2のテキスト或いは第4のテキストの第一文(ファーストセンテンス)と、を抽出テキストとして取得する。上述したように、書き出し部分であるファーストセンテンスには重要な情報が含まれていることが多い。そのため、情報処理装置10は、トピックセンテンスに加えてファーストセンテンスを抽出テキストとして使用することで、さらに精度の高い第1のテキストを生成できる。
情報処理装置10は、第2のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文である第1の抽出テキストと、第4のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文である第2の抽出テキストと、を取得する。そして、情報処理装置10は、第1の抽出テキストと第2の抽出テキストに基づいて、第2のテキストに対応する第1のテキストを生成する。これにより、情報処理装置10は、精度の高い第1のテキストを生成できる。
情報処理装置10は、第2のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文である第1の抽出テキストと、第4のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文である第2の抽出テキストと、第2のテキストの第一文である第3の抽出テキストと、第4のテキストの第一文である第4の抽出テキストと、を取得する。そして、情報処理装置10は、第1の抽出テキストと第2の抽出テキストと第3の抽出テキストと第4の抽出テキストとに基づいて、第2のテキストに対応する第1のテキストを生成する。これにより、情報処理装置10は、精度の高い第1のテキストを生成できる。
情報処理装置10は、第2の学習用テキスト及び該第2の学習用テキスト(例えば、本文)に関連する第4の学習用テキスト(例えば、関連テキスト)の少なくとも一方のテキストから所定の基準に従い抽出された学習用抽出テキスト(例えば、トピックセンテンス、ファーストセンテンス、或いはそれらの組み合わせ)を入力データ、第2の学習用テキストに対応する第1の学習用テキスト(例えば、タイトル、見出し)を正解データとして学習したモデルM10(第3のモデル)に抽出テキスト(例えば、トピックセンテンス、ファーストセンテンス、或いはそれらの組み合わせ)を入力することにより、第1のテキスト(例えば、タイトル、見出し)を生成する。これにより、情報処理装置10は、精度の高い第1のテキストを生成できる。
情報処理装置10は、第2の学習用テキスト及び該第2の学習用テキストに関連する第4の学習用テキストの少なくとも一方のテキストから所定の基準に従い抽出された学習用抽出テキストと、第2の学習用テキストに対応する第1の学習用テキストと、を取得する。そして、情報処理装置10は、学習用抽出テキストを入力データ、第1の学習用テキストを正解データとして、第2のテキスト及び該第2のテキストに関連する第4のテキストの少なくとも一方のテキストから所定の基準に従い抽出された抽出テキストから第2のテキストに対応する第1のテキストを生成するモデルM10(第3のモデル)の学習を行う。これにより、情報処理装置10は、第1のテキストを生成するための精度の高いモデルを実現できる。
情報処理装置10は、第2の学習用テキスト或いは第4の学習用テキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文を学習用抽出テキストとして取得する。そして、情報処理装置10は、学習用抽出テキストを入力データ、第1の学習用テキストを正解データとして、第2のテキスト及び第4のテキストの少なくとも一方のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文である抽出テキストから第2のテキストに対応する第1のテキストを生成するモデルM10(第3のモデル)の学習を行う。上述したように、トピックセンテンスは、多くのテキストで特徴的部分であることが多い。そのため、情報処理装置10は、第1のテキストを生成するための精度の高いモデルを実現できる。
情報処理装置10は、第2の学習用テキスト或いは第4の学習用テキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文と、第2の学習用テキスト或いは第4の学習用テキストの第一文と、を学習用抽出テキストとして取得する。情報処理装置10は、学習用抽出テキストを入力データ、第1の学習用テキストを正解データとして、第2のテキスト及び第4のテキストの少なくとも一方のテキストに含まれる文であって、主語、述語、目的語を含み、且つ、時間或いは場所を示す要素を含む文と、から第2のテキストに対応する第1のテキストを生成するモデルM10(第3のモデル)の学習を行う。上述したように、書き出し部分であるファーストセンテンスには重要な情報が含まれていることが多い。そのため、情報処理装置10は、トピックセンテンスに加えてファーストセンテンスを学習用抽出テキストとして使用することで、第1のテキストを生成するためのさらに精度の高いモデルを実現できる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。