以下に、本願に係る生成装置、生成方法、及び生成プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法、及び生成プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(実施形態)
〔1.生成処理〕
まず、図1を用いて、実施形態に係る生成処理の一例について説明する。図1は、実施形態に係る生成処理の一例を示す図である。図1の例では、生成装置100は、1つのタイトルから、そのタイトルに関するコンテンツ関連情報に基づいて複数の短縮タイトルを生成する。図1に示す例は、所定の編集者であるユーザU1が短縮タイトルを生成する際の作業負荷を軽減するために生成システム1を用いる場合を示す。具体的には、図1の例では、生成装置100は、ユーザU1が利用する端末装置10−1に要約候補(短縮タイトル候補)となる複数の短縮タイトルを提供する。なお、以下では、端末装置10−1や端末装置10−2(図13参照)等を区別せずに説明する場合、端末装置10と記載する。
図1に示すように、生成システム1には、端末装置10と、生成装置100とが含まれる。端末装置10と、生成装置100とは図示しない所定の通信網を介して、有線または無線により通信可能に接続される。また、図1に示した生成システム1には、複数台の端末装置10や、複数台の生成装置100が含まれてもよい。
端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。図1に示す例においては、端末装置10が所定の編集者が利用するノート型PCである場合を示す。なお、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。
生成装置100は、端末装置10に複数の短縮タイトルを提供する情報処理装置である。また、生成装置100は、1つの文字情報(タイトル)に関連するコンテンツ関連情報に基づいて、文字情報の要約の候補として複数の要約候補を生成する。例えば、生成装置100は、コンテンツ関連情報に基づいて、所定のコンテンツのタイトルをさらに短縮した複数の短縮タイトルを要約候補として生成する。
なお、生成システム1には、提供元装置(図示省略)や編集者端末(図示省略)が含まれてもよい。例えば、提供元装置は、コンテンツの提供元、いわゆるコンテンツプロバイダ等によって利用される情報処理装置である。例えば、提供元装置は、提供元により作成されたコンテンツを生成装置100に入稿する。また、例えば、編集者端末は、所定の編集者によって利用される情報処理装置である。例えば、編集者端末は、例えば、コンテンツの本文やタイトルから短縮タイトルを作成する編集者が利用する端末装置である。なお、端末装置10−1が編集者端末であってもよい。
以下、図1を用いて生成装置100による複数の短縮タイトルの生成について説明する。図1の例では、生成装置100は、所定の編集者が利用する編集者端末から短縮タイトルと元となるタイトルとが対応付けられた要約一覧EL11を取得済みであるものとする。図1に示す要約一覧EL11は、図3に示す編集情報記憶部121に記憶される編集情報に対応し、各コンテンツについて、所定の編集者が作成した短縮タイトルと、そのコンテンツの元のタイトルとが対応付けられた情報である。具体的には、要約一覧EL11は、所定のコンテンツのタイトルAから短縮タイトルAが作成され、所定のコンテンツのタイトルBから短縮タイトルBが作成され、所定のコンテンツのタイトルCから短縮タイトルCが作成されたことを示す。なお、図1の例では、説明を簡単にするために要約一覧EL11には、短縮タイトルに対応付けられたコンテンツの記事自体が含まれてもよい。
まず、生成装置100は、要約一覧EL11を用いた学習により、要約一覧EL11から要約生成モデルM11(以下、単に「モデルM11」ともいう)を生成する(ステップS11)。例えば、生成装置100は、要約一覧EL11に示す情報を編集情報記憶部121(図3参照)から取得し、要約生成モデルM11を学習する。このように、図1の例では、生成装置100は、要約一覧EL11に含まれる所定の編集者が作成した短縮タイトルとその元となるタイトルの組み合わせを用いて、要約生成モデルM11を学習する。例えば、生成装置100は、要約一覧EL11に含まれる所定の編集者が作成した短縮タイトルとその元となるタイトルの組み合わせを正例として、所定のタイトル等の文字情報が入力された場合に短縮タイトルを出力する要約生成モデルM11を学習する。
また、生成装置100は、学習により生成した要約生成モデルM11をモデル情報記憶部122(図4参照)に記憶する。例えば、生成装置100は、要約一覧EL11に含まれる元タイトルや短縮タイトルに基づいて、リカレントニューラルネットワークや係り受け解析等の種々の従来技術を適宜用いて、要約生成モデルM11を学習する。なお、要約生成モデルM11は、例えばコンテンツのタイトルや記事の入力に対して、所定の文字数以内の短縮タイトルを生成するためのモデルであるが、要約生成モデルM11の詳細については後述する。
そして、生成装置100は、端末装置10−1からコンテンツCT11を取得する(ステップS12)。なお、ここでいうコンテンツCT11とは、コンテンツID「CT11」により識別されるコンテンツに対応する。図1の例では、生成装置100は、ステップS12において、端末装置10−1からコンテンツCT11の記事やタイトルや画像IM11(図6参照)等の種々のコンテンツ関連情報を取得する。すなわち、生成装置100は、複数の要約候補を生成する対象となる文字情報であるタイトルと、そのタイトルに関連するコンテンツ関連情報である記事や画像等を取得する。なお、生成装置100は、コンテンツ関連情報として、コンテンツに関する情報であればどのような情報を取得してもよく、例えば、コンテンツCT11のカテゴリやトピック等の情報を取得してもよい。また、例えば、生成装置100は、端末装置10−1から要約候補として短縮タイトルを生成する際の文字数の指定を取得してもよい。
図1では、例えば、生成装置100は、複数の要約候補を生成する文字情報として「アイドルグループAの○村○郎、7月期スタートの土曜△時の新ドラマ□□の主演に決定」というタイトルを取得する。また、生成装置100は、タイトルに関連するコンテンツ関連情報として、「X月Y日、全国ネットの放送局Zは、来月...」といった内容の記事を取得する。
例えば、生成装置100は、コンテンツCT11に含まれる記事やタイトルや画像IM11に基づいてコンテンツCT11のカテゴリを推定してもよい。また、例えば、生成装置100は、コンテンツCT11に含まれる記事やタイトルや画像IM11に基づいてトピックを抽出してもよい。なお、生成装置100は、トピック分析(解析)等の種々の従来手法を適宜用いて、コンテンツCT11の記事等からトピックを抽出してもよい。例えば、生成装置100は、コンテンツCT11の記事を形態素解析等の自然言語処理技術を適宜用いて解析することにより、コンテンツCT11の記事から重要なキーワードをコンテンツCT11のトピックとして抽出してもよい。なお、図1の例では、コンテンツ関連情報CINF11に示すように、コンテンツCT11のカテゴリが「芸能」であり、トピックが「ドラマ」や「アイドル」であるものとして、以下説明する。
生成装置100は、コンテンツCT11のタイトルの短縮タイトルの候補として複数の要約候補(短縮タイトル)を生成する(ステップS13)。例えば、生成装置100は、複数の要約候補の多様性に関する情報に基づいて、短縮タイトルリストLT11に示すような短縮タイトルAT11−1〜AT11−3等を生成する。なお、ここでいう短縮タイトルAT11−1とは、ID「AT11−1」により識別される短縮タイトルに対応する。
ここで、生成装置100は、短縮タイトルを生成するために要約生成モデルM11を用いる。例えば、生成装置100は、要約生成モデルM11を用いて各単語の各位置におけるスコアを算出する。例えば、生成装置100は、以下の式(1)により各位置における各単語のスコアを算出する。
W_xのスコア = P(W_x|W_{1}^{x−1},INPUT) ・・・ (1)
上記式(1)では、「W_x」は、任意の単語を示す。また、上記式(1)では、「W_{1}^{x−1}」は、単語「W_x」よりも前の1〜x−1番目までの単語を示す。このように、上記式(1)では、推定しようとする文字(単語「W_x」)より前に出力した単語すべてを条件とする。また、「W_x」の「x」と、「W_{1}^{x−1}」の「x−1」とは、対応する単語の位置関係を示し、「W_{x−1}」は「W_x」の直前に位置する単語となる。すなわち、「W_x」は「W_{x−1}」に続く単語を意味する。
上記式(1)の右辺中の「INPUT」は、例えばモデルM11の入力となる文字列を示す。例えば、図1の例では、コンテンツCT11のタイトル等が入力となる。なお、「W_x」に対応する単語と、「W_{x−1}」に対応する単語とは異なる単語であってもよいし、同じ単語であってもよい。また、単語は、入力「INPUT」に含まれる単語に限らず、種々の単語であってもよい。例えば、単語「W」は、入力に含まれる単語の省略形や略語やニックネーム等であってもよい。また、ここでいう単語には、形態素、文字(ひらがな、カタカナ、漢字1文字)等も含まれてもよい。
例えば、W_xのスコアは、任意の文字列「INPUT」を入力として要約(短縮タイトル)を生成する場合において、任意の単語「W_{x−1}」の次に「W_x」に遷移する確率に対応するスコアとなる。例えば、W_xのスコアは、事後確率に基づくスコアであってもよい。このように、上記式(1)の右辺中の「P」は、任意の文字列「INPUT」に応じて所定のスコアを返す関数である。
例えば、1つ目に位置する任意の単語「W1」のスコアは、以下のような式(2)により算出される。
W1のスコア = P(W1|<S>,INPUT) ・・・ (2)
上記式(2)において、右辺中の「<S>」は、先頭を示す記号である。すなわち、上記式(2)の右辺中の「P」は、任意の文字列「INPUT」を入力として要約(短縮タイトル)を生成する場合において、任意の単語「W1」が先頭に出現する確率に対応するスコアを返す関数である。
例えば、下記の式(3)は、任意の文字列「INPUT」を入力として要約(短縮タイトル)を生成する場合において、単語「A」が先頭に出現する確率に対応するスコアを示す。なお、ここでいう「A」は、アイドルグループ名であるものとする。この場合、任意の文字列「INPUT」は、コンテンツCT11のタイトル「アイドルグループAの○村○郎、7月期スタートの土曜△時の新ドラマ□□の主演に決定」であるものとする。
W1(“A”)のスコア = P(A|<S>,INPUT) ・・・ (3)
また、例えば、下記の式(4)は、任意の文字列「INPUT」を入力として要約(短縮タイトル)を生成する場合において、単語「○村○郎」へ単語「A」の次に遷移する確率に対応するスコアを示す。この場合、任意の文字列「INPUT」は、コンテンツCT11のタイトル「アイドルグループAの○村○郎、7月期スタートの土曜△時の新ドラマ□□の主演に決定」であるものとする。
W2(“○村○郎”)のスコア = P(○村○郎|A,INPUT) ・・・ (4)
なお、上記式(4)では、説明を簡単にするために、W2のスコアの算出にW1のスコアを用いない場合を示すが、W1のスコアを加算したり、乗算したりしたW2のスコアを算出してもよい。すなわち、W2のスコアは、W1のスコアの影響を加味したスコアであってもよい。
上述したような、例えば、任意の文字列「INPUT」中のすべての単語で展開した木構造は、各単語をノードとする木構造(図9中の「木構造ST11」参照。以下同じ)により示される。このように、生成装置100は、上記式(3)や(4)等の例に示すように、各単語の条件付き確率に基づくスコアを算出し、そのスコアに基づいて単語をつなげることにより、短縮タイトルを生成する。例えば、図9に示すような木構造ST11の所定の系列(経路)に対応するノード(単語)のスコアの合計が最大の経路の単語をつなげて短縮タイトルを生成してもよい。
また、図1の例では、コンテンツCT11の短縮タイトルの表示先やユーザU1による指定等により、短縮タイトルの文字数の上限値が決定されているものとする。例えば、短縮タイトルの文字数の上限値は、「全角13」文字とする。
例えば、生成装置100は、文字数の上限値「全角13」を満たす木構造中の経路のうち、スコアが最大の経路を短縮タイトルとする。例えば、生成装置100は、木構造の所定の経路に対応する単語をつなげた文字列にあるノードを加えることにより、文字数が上限値を超えた場合、そのノードへの探索を行なわず、そのノードより先の経路の探索を終了してもよい。また、生成装置100は、ビーム探索等の種々の従来技術を適宜用いて、探索範囲の増大を抑制するが詳細は後述する。
ここで、図1に示す例では、生成装置100は、コンテンツ関連情報を加味したスコアを算出する。例えば、生成装置100は、ステップS12において取得したユーザU1のユーザ関連情報を加味したスコアを算出する。例えば、生成装置100は、以下の式(5)を用いてコンテンツ関連情報を加味したスコアを算出する。
W_xのスコア = P(W_x|W_{1}^{x−1},INPUT)*C(Wx|W_{1}^{x−1},Contents) ・・・ (5)
上記式(5)の右辺中の「C」は、文字情報に関連するコンテンツ関連情報「Contents」に基づいて短縮タイトルを生成する場合において、任意の単語「W_{x−1}」の次に「W_x」へ遷移する確率に対応するスコアを返す関数となる。例えば、上記式(5)の右辺中の「C」は、事後確率に基づくスコアを返す関数であってもよい。このように、上記式(5)の右辺中の「C」は、文字情報に関連するコンテンツ関連情報「Contents」に応じて所定のスコアを返す関数である。コンテンツ関連情報「Contents」は、コンテンツのカテゴリやトピック等の種々の情報が含まれてもよい。なお、上記式(5)は、W_xのスコアを算出する一例であり、生成装置100は、加算する等、種々の方法によりW_xのスコアを算出してもよい。例えば、生成装置100は、下記の式(6)を用いて、W_xのスコアを算出してもよい。例えば、下記の式(6)中の関数「f」は、関数「P」の値や関数「C」の値を合算したりする等、関数「P」の値や関数「C」の値を用いて所定のスコアを算出する関数である。
W_xのスコア = f(P(W_x|W_{1}^{x−1}Wx−1,INPUT),C(Wx|W_{1}^{x−1}Wx−1,Contents)) ・・・ (6)
例えば、下記の式(7)は、コンテンツがコンテンツCT11である場合のコンテンツ関連情報「CINF11」に基づいて短縮タイトルを生成する場合において、単語「A」が先頭に出現する確率に対応するスコアを示す。この場合、任意の文字列「INPUT」は、コンテンツCT11のタイトル「アイドルグループAの○村○郎、7月期スタートの土曜△時の新ドラマ□□の主演に決定」であるものとする。
W1(“A”)のスコア = P(A|<S>,INPUT)*C(A|<S>,CINF11) ・・・ (7)
上記式(7)により、コンテンツがコンテンツCT11であり、任意の文字列「INPUT」を入力として要約(短縮タイトル)を生成する場合において、単語「A」が先頭に出現する確率に対応するスコアを示す。例えば、図9中に示す例では、単語「A」が先頭に出現する確率に対応するスコアは「0.62」となる。また、例えば、図9中に示す例では、単語「○村○郎」が先頭に出現する確率に対応するスコアは「0.6」となる。
ここで、生成装置100は、コンテンツCT11のタイトルに含まれる単語の類似単語を木構造のノードとして追加する。図1の例では、生成装置100は、類似単語情報記憶部123に記憶された類似単語に関する情報に基づいて、要約の生成対象となるタイトルに含まれる単語の類似単語を木構造のノードとして追加する。詳細は後述するが、ここでいう類似単語には、単語の品詞や内容等に応じて、同義語や類義語等が含まれるものとする。また、図1の例では、説明を簡単にするために、単語「○村○郎」の類似単語のみが追加される場合を示す。図1中の類似単語情報記憶部123に示すように、例えば、単語「○村○郎」の意味は「アイドルグループAのメンバー」であり、その類似単語には、「××」や「○村」等が含まれるものとする。なお、「××」は、愛称(略称)であり、「○村」は、「○村○郎」の苗字「○村」に対応する。このように、単語「○村○郎」の類似単語には、「○村○郎」の同義語が含まれる。
ここで、単語「○村○郎」の類似単語である「××」や「○村」をノードとして追加した木構造は、図10中の木構造ST12により示される。このように、各単語の類似単語を追加した木構造を探索することにより、生成装置100は、コンテンツCT11のタイトル「アイドルグループAの○村○郎、7月期スタートの土曜△時の新ドラマ□□の主演に決定」の短縮タイトルを生成する。
なお、生成装置100は、単語「○村○郎」の類似単語「××」や「○村」が先頭に出現する確率に対応するスコアを単語「○村○郎」に基づいて決定する。図10に示す例では、生成装置100は、単語「○村○郎」の類似単語「××」や「○村」が先頭に出現する確率に対応するスコアを単語「○村○郎」のスコア「0.6」を「0.01」小さくした「0.59」に決定する。なお、生成装置100は、単語のスコアを類似単語のスコアとしてもよいし、種々の条件に基づいて類似単語のスコアを決定してもよい。
上述したように、図1の例では、短縮タイトルの文字数の上限値は「全角13」文字であり、生成装置100は、文字数の上限値「全角13」を満たす木構造ST12(図10参照)中の経路のうち、スコアが最大の経路を短縮タイトルとする。例えば、生成装置100は、コンテンツCT11のタイトルに対応する木構造ST12を探索することにより、全角13文字以内で最大のスコアとなる経路に対応する単語をつなげた文字列を短縮タイトルとして生成する。
例えば、図1の短縮タイトルリストLT11に示すように、生成装置100は、コンテンツCT11のタイトルに対応する短縮タイトルAT11−1を生成する。具体的には、生成装置100は、コンテンツCT11のタイトルに対応する「○村○郎 7月期ドラマ主演」とする短縮タイトルAT11−1を生成する。なお、図10に示すように、単語「○村○郎」が先頭に出現する確率に対応するスコア「0.6」よりも、単語「A」が先頭に出現する確率に対応するスコア「0.62」の方が大きいが、「A」が先頭となる短縮タイトルの経路のスコアよりも「○村○郎」が先頭になる短縮タイトルAT11−1の経路のスコアの方が高いため、生成装置100は、短縮タイトルAT11−1を生成する。
このように、生成装置100は、短縮タイトルAT11−1として、全角11文字、半角2文字を含む文字列を生成する。例えば、半角を全角の「0.5」文字分とした場合、短縮タイトルAT11−1の文字数は、「12」となる。このように、生成装置100は、全角13文字以内を満たす短縮タイトルAT11−1を生成する。上記例では、半角2文字が全角1文字に対応し各文字の横幅が変動しないフォントである場合を例示したが、生成装置100は、各文字に応じて横幅が変動するフォントである場合、各文字に応じて数値を変動させてもよい。
短縮タイトルAT11−1を生成した後、生成装置100は、コンテンツCT11のタイトルに対応する2つ目の短縮タイトルAT11−2を生成する。このとき、生成装置100は、要約候補(短縮タイトル)間の多様性に関する情報に基づいて、短縮タイトルAT11−2を生成する。例えば、生成装置100は、短縮タイトルAT11−1に含まれる単語のスコアを低下させる。これにより、生成装置100は、生成した短縮タイトルAT11−1に含まれる単語が短縮タイトルAT11−2に含まれる可能性を低下させることにより、短縮タイトルAT11−1に含まれる単語以外の単語を含む短縮タイトルが生成される可能性を高めることができる。したがって、生成装置100は、多様な単語(情報)を含む複数の要約候補を生成することができる。図1及び図11の例では、説明を簡単にするために、短縮タイトルAT11−1に含まれる単語「○村○郎」のスコアと単語「ドラマ」のスコアが「0.2」だけ減少された場合を示す。具体的には、生成装置100は、単語「○村○郎」が先頭に出現する確率に対応するスコアを「0.4」に低下させ、単語「○村○郎」が2つ目に出現する確率に対応するスコアを「0.2」に低下させ、単語「ドラマ」が先頭に出現する確率に対応するスコアを「0.38」に低下させる。なお、単語「ドラマ」が2つ目に出現する確率に対応するスコアや単語「○村○郎」や単語「ドラマ」が3つ目以降に出現する確率に対応するスコアは図示を省略する。
また、生成装置100は、上記のようなスコアの低下に限らず、短縮タイトルAT11−1に含まれる単語「○村○郎」のスコアや単語「ドラマ」のスコアを例えば50%減少させる等、所定の割合だけ低下させたりしてもよい。また、生成装置100は、短縮タイトルAT11−1に含まれる単語「○村○郎」や単語「ドラマ」を木構造のノードから除いてもよい。例えば、生成装置100は、短縮タイトルAT11−1に含まれる単語「○村○郎」を木構造の1つ目に位置する任意の単語「W1」に対応するノードから除いてもよい。この場合、生成装置100は、単語「○村○郎」が先頭に位置する複数の要約候補が生成されることを抑制することができる。
ここで、短縮タイトルAT11−1に含まれる単語「○村○郎」が先頭に出現する確率に対応するスコアを「0.4」に低下させ、単語「○村○郎」が2つ目に出現する確率に対応するスコアを「0.2」に低下させ、単語「ドラマ」が先頭に出現する確率に対応するスコアを「0.38」に低下させた木構造は、図11中の木構造ST13により示される。このように、生成した短縮タイトルAT11−1に含まれる単語のスコアを低下させたり除外したりした木構造を探索することにより、生成装置100は、コンテンツCT11のタイトル「アイドルグループAの○村○郎、7月期スタートの土曜△時の新ドラマ□□の主演に決定」の2つ目の短縮タイトルAT11−2を生成する。
上述したように、図1の例では、短縮タイトルの文字数の上限値は「全角13」文字であり、生成装置100は、文字数の上限値「全角13」を満たす木構造ST13(図11参照)中の経路のうち、スコアが最大の経路を短縮タイトルとする。例えば、生成装置100は、コンテンツCT11のタイトルに対応する木構造ST13を探索することにより、全角13文字以内で最大のスコアとなる経路に対応する単語をつなげた文字列を短縮タイトルとして生成する。
例えば、図1の短縮タイトルリストLT11に示すように、生成装置100は、コンテンツCT11のタイトルに対応する2つ目の短縮タイトルAT11−2を生成する。具体的には、生成装置100は、コンテンツCT11のタイトルに対応する「×× 土曜△時のドラマ決定」とする短縮タイトルAT11−2を生成する。このように、生成装置100は、短縮タイトルAT11−2として、全角12文字、半角1文字を含む文字列を生成する。例えば、半角を全角の「0.5」文字分とした場合、短縮タイトルAT11−2の文字数は、「12.5」となる。このように、生成装置100は、全角13文字以内を満たす短縮タイトルAT11−2を生成する。
短縮タイトルAT11−2を生成した後、生成装置100は、コンテンツCT11のタイトルに対応する3つ目の短縮タイトルAT11−3を生成する。このとき、生成装置100は、要約候補(短縮タイトル)間の多様性に関する情報に基づいて、短縮タイトルAT11−3を生成する。例えば、生成装置100は、短縮タイトルAT11−2に含まれる単語のスコアを低下させる。これにより、生成装置100は、生成した短縮タイトルAT11−1、AT11−2に含まれる単語が短縮タイトルAT11−3に含まれる可能性を低下させることにより、短縮タイトルAT11−1、AT11−2に含まれる単語以外の単語を含む短縮タイトルが生成される可能性を高めることができる。
図1及び図12の例では、説明を簡単にするために、短縮タイトルAT11−2に含まれる単語「××」や単語「土曜△時」のスコアが「0.2」だけ減少され、短縮タイトルAT11−1、AT11−2の両方に含まれる単語「ドラマ」が「0.1」だけ減少された場合を示す。具体的には、生成装置100は、単語「××」が先頭に出現する確率に対応するスコアを「0.39」に低下させ、単語「ドラマ」が先頭に出現する確率に対応するスコアを「0.28」に低下させ、単語「××」が2つ目に出現する確率に対応するスコアを「0.19」に低下させる。
なお、単語「××」が3つ目以降に出現する確率に対応するスコアや、単語「ドラマ」が2つ目以降に出現する確率に対応するスコアや、単語「土曜△時」が先頭や2つ目以降に出現する確率に対応するスコアは図示を省略する。上述のように、単語「ドラマ」は、短縮タイトルAT11−1と合わせて2回目の出現であるため、「0.2」の半分の「0.1」だけスコアを減少させる。このように、生成装置100は、短縮タイトルにおける単語の出現回数等に応じてスコアを低下させる量を変動させてもよい。
ここで、短縮タイトルAT11−2に含まれる単語「××」が先頭に出現する確率に対応するスコアを「0.39」に低下させ、単語「ドラマ」が先頭に出現する確率に対応するスコアを「0.28」に低下させ、単語「××」が2つ目に出現する確率に対応するスコアを「0.19」に低下させた木構造は、図12中の木構造ST14により示される。このように、生成した短縮タイトルAT11−2に含まれる単語のスコアを低下させたり除外したりした木構造を探索することにより、生成装置100は、コンテンツCT11のタイトル「アイドルグループAの○村○郎、7月期スタートの土曜△時の新ドラマ□□の主演に決定」の3つ目の短縮タイトルAT11−3を生成する。
上述したように、図1の例では、短縮タイトルの文字数の上限値は「全角13」文字であり、生成装置100は、文字数の上限値「全角13」を満たす木構造ST14(図12参照)中の経路のうち、スコアが最大の経路を短縮タイトルとする。例えば、生成装置100は、コンテンツCT11のタイトルに対応する木構造ST14を探索することにより、全角13文字以内で最大のスコアとなる経路に対応する単語をつなげた文字列を短縮タイトルとして生成する。
例えば、図1の短縮タイトルリストLT11に示すように、生成装置100は、コンテンツCT11のタイトルに対応する3つ目の短縮タイトルAT11−3を生成する。具体的には、生成装置100は、コンテンツCT11のタイトルに対応する「A○村の土△ 7月スタート」とする短縮タイトルAT11−3を生成する。なお、単語「土△」は、単語「土曜△時」の類似単語であるものとし、木構造ST12〜ST14にノードとして追加されているものとする。このように、生成装置100は、短縮タイトルAT11−3として、全角10文字、半角3文字を含む文字列を生成する。例えば、半角を全角の「0.5」文字分とした場合、短縮タイトルAT11−3の文字数は、「11.5」となる。このように、生成装置100は、全角13文字以内を満たす短縮タイトルAT11−3を生成する。
その後、生成装置100は、生成した複数の短縮タイトルの候補を端末装置10に提供する(ステップS14)。具体的には、生成装置100は、短縮タイトルリストLT11に示すような短縮タイトルAT11−1〜AT11−3等を端末装置10へ提供する。
上述したように、生成装置100は、要約生成モデルM11や文字情報に対応するコンテンツ関連情報に基づいて文字情報から複数の短縮タイトルを生成する。上記の例では、生成装置100は、要約生成モデルM11とコンテンツCT11のコンテンツ関連情報CINF11とに基づいて、コンテンツCT11のタイトルから複数の短縮タイトルを生成する。そして、生成装置100は、生成した複数の短縮タイトルを短縮タイトルの候補として編集者が利用する端末装置10へ送信する。複数の短縮タイトルの候補を受信した編集者は、複数の短縮タイトルの候補の中から適切な短縮タイトルを選択したり、選択した短縮タイトルをさらに編集したりすることにより、適切な短縮タイトルを作成することができる。これにより、生成装置100は、文字情報と、文字情報に関連するコンテンツ関連情報に基づいて、文字情報の要約の候補として複数の要約候補を生成することにより、所定の文字情報を要約する作業負荷を軽減しつつ、適切な要約を生成可能にすることができる。
なお、上記例では、生成装置100が13文字以内の短縮タイトルを生成する例を示したが、生成装置100は、目的に応じて種々の要約を生成してもよい。例えば、生成装置100は、複数行に亘る短縮タイトル(要約)を生成してもよい。また、生成装置100は、上記に限らず種々の情報を適宜用いて短縮タイトルを生成してもよい。例えば、生成装置100は、短縮タイトルの提供先となるユーザのユーザ関連情報を用いて短縮タイトルを生成してもよい。また、例えば、生成装置100は、編集者の年齢性別に基づいて、短縮タイトルの候補を生成してもよい。例えば、生成装置100は、年齢や性別等の属性情報に関するパラメータを含むモデルに基づいて、短縮タイトルの候補を生成してもよい。
また、例えば、生成装置100は、提供した短縮タイトルの候補に対する編集者の選択に関する情報に基づいて、短縮タイトルの候補を生成してもよい。また、例えば、生成装置100は、提供した短縮タイトルの候補に対する編集者の選択に関する情報に基づいて、モデルを学習してもよい。また、例えば、生成装置100は、女性誌・男性誌等のデータを用いてモデルを学習してもよい。また、例えば、生成装置100は、属性等ごとに生成したモデルを用いて女性向けサイト、男性向けサイト用の短縮タイトルを生成してもよい。これにより、生成装置100は、各属性に属するユーザに好まれやすい短縮タイトルを生成することができる。
例えば、生成装置100は、ユーザ関連情報として、ユーザの年齢や居住地等の属性情報を用いて短縮タイトルを生成してもよい。また、例えば、生成装置100は、ユーザ関連情報として、ユーザが利用する端末装置10の型番や、画面サイズや、設定されたフォント等の端末情報を用いて短縮タイトルを生成してもよい。また、例えば、生成装置100は、ユーザ関連情報として、ユーザの位置情報や、加速度情報や、コンテキスト情報を取得する。なお、ユーザ関連情報は、ユーザに関連する情報であればどのような情報であってもよい。例えば、ユーザ関連情報は、ユーザの脳波や心拍数や、推定された感情の情報などであってもよい。また、コンテキストは、長期休暇中や旅行中や電車内など、粒度によって複数に分けても良い。また、ここでいうユーザ関連情報は、ユーザを取り巻く環境等の種々の情報が含まれてもよく、天気、気温、湿度、イベント、株価、当日のニュースなど、種々の情報が含まれてもよい。
また、ここでいうコンテキストは、ユーザやユーザが利用する端末装置10の状況やユーザやユーザが利用する端末装置10の環境(背景)を意味する。例えば、コンテキストは、ユーザによって端末装置10が使われている状況や、端末装置10を所持するユーザが置かれている状態に対応する情報である。すなわち、図1におけるコンテキストは、ユーザの状況、例えばユーザがいる場所の環境に対応する。
また、生成装置100は、1文字の横幅スコアも加味して、短縮タイトルを生成してもよい。例えば、生成装置100は、半角アルファベットの「m」や「w」は1文字とし、それ以外の半角アルファベットは0.5文字とする横幅スコアも加味して、短縮タイトルを生成してもよい。また、例えば、生成装置100は、全角アルファベットを含む単語(例えば、アイドルグループ名「A」)と、その単語と同じ意味に対応する半角アルファベットを含む単語(例えば、アイドルグループ名「A」)とがある場合、半角アルファベットを含む単語が全角アルファベットを含む単語のスコアよりも高くなるように、スコアを算出してもよい。
上述したように、類似単語には、単語の品詞や内容等に応じて、同義語や類義語等が含まれてもよい。例えば、生成装置100は、単語の品詞や内容等に応じて、その同義語や類義語等を類似単語情報記憶部123に記憶してもよい。また、例えば、類似単語には、単語の上位概念や下位概念の単語が含まれてもよい。例えば、単語が名詞の場合は、同義語が含まれてもよい。例えば、単語が人の名前の場合は、その人の愛称や略称等が含まれてもよい。また、例えば、単語が人の名前「□山□子」であり、「□山□子」が所定のグループXに属する人の名前の場合は、単語「□山□子」の類似単語には、「グループXのメンバー」等が含まれてもよい。このように、単語「□山□子」の類似単語には、単語「□山□子」の上位概念に相当する単語が含まれてもよい。また、例えば、単語が動詞の場合は、類義語が含まれてもよい。図1に示す例において、単語「決定」の類似単語には、「確定」や「決まった」や「大抜擢」等の種々の単語が含まれてもよい。このように、各単語の類似単語には、単語の品詞や内容等に応じて、種々の単語等が含まれてもよい。
また、上述した例では、短縮タイトルAT11−1に含まれる単語「○村○郎」のスコアや単語「ドラマ」のスコアのみを低下させる例を示したが、短縮タイトルAT11−1に含まれる単語「○村○郎」のスコアや単語「ドラマ」と類似する単語のスコアを低下させたり、ノードから除外したりしてもよい。例えば、生成装置100は、分散表現等の種々の従来技術を適宜用いて、生成した短縮タイトルに含まれる単語に類似する単語のスコアを低下させたり、ノードから除外したりしてもよい。例えば、生成装置100は、生成した短縮タイトルに含まれる単語との分散表現における類似度が所定の閾値以上の単語のスコアを下げたりノードから除外したりしてもよい。例えば、生成装置100は、単語「連ドラ」が木構造のノードに含まれ、生成した短縮タイトルAT11−1に含まれる単語「ドラマ」との分散表現における類似度が所定の閾値以上である場合、単語「連ドラ」のスコアを下げたり、単語「連ドラ」に対応するノードを除外したりしてもよい。なお、上記は一例であり、生成装置100は、目的に応じて種々の処理を行ってもよい。例えば、生成装置100は、木構造におけるパス選択時に、分散表現で類似度が高い単語のスコアを下げたり、一度通った探索パスのスコアを下げたりしてもよい。
また、上述した例では、短縮タイトルAT11−1に含まれる単語「○村○郎」のスコアや単語「ドラマ」のスコアのみを低下させる例を示したが、短縮タイトルAT11−1に含まれる単語の類似単語も同様にスコアを低下させたり、ノードから除外したりしてもよい。例えば、生成装置100は、短縮タイトルAT11−1に含まれる単語「○村○郎」の類似単語「××」や「○村」のスコアを「0.2」だけ減少させてもよい。具体的には、生成装置100は、短縮タイトルAT11−1に含まれる単語「○村○郎」の類似単語「××」のスコアを「0.39」に低下させ、類似単語「○村」のスコアを「0.39」に低下させてもよい。
また、例えば、生成装置100は、短縮タイトルAT11−1に含まれる単語「○村○郎」の類似単語「××」や「○村」のスコアを単語「○村○郎」の半分「0.1」だけ減少させてもよい。具体的には、生成装置100は、短縮タイトルAT11−1に含まれる単語「○村○郎」の類似単語「××」のスコアを「0.49」に低下させ、類似単語「○村」のスコアを「0.49」に低下させてもよい。このように、類似単語も含めてスコアを低下させる場合、生成装置100は、同じ意味に対応する単語が複数の要約候補に多く出現することを抑制することができる。
また、生成装置100は、上記に限らず、目的に応じて種々のモデルを学習してもよい。例えば、生成装置100は、文書から文書、文書から最初の段落、文書から最初の文、文書からタイトル、文書から既存の短縮タイトル、最初の段落から最初の段落、最初の段落から最初の文等の対応関係に基づいてモデルを事前学習してもよい。また、生成装置100は、一般文書を用いて事前学習してもよい。例えば、生成装置100は、生成システム1における要約生成の対象となるコンテンツに限らず、Web上の一般文書等の種々のコンテンツ(情報)を用いて学習してもよい。例えば、生成装置100は、一般文書から一般文書、一般文書からタイトル等の対応関係に基づいて、要約生成モデルを事前学習(プリトレーニング)してもよい。
〔2.生成装置の構成〕
次に、図2を用いて、実施形態に係る生成装置100の構成について説明する。図2は、実施形態に係る生成装置100の構成例を示す図である。図2に示すように、生成装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、生成装置100は、生成装置100の管理者等から各種操作を取得する入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、端末装置10や提供元装置や編集者端末との間で情報の送受信を行う。
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図2に示すように、編集情報記憶部121と、モデル情報記憶部122と、類似単語情報記憶部123と、コンテンツ関連情報記憶部124とを有する。
(編集情報記憶部121)
実施形態に係る編集情報記憶部121は、編集に関する各種情報(以下、「編集情報」ともいう)を記憶する。例えば、編集情報記憶部121は、所定の編集者により作成された短縮タイトルとその元となるタイトルに関する各種情報を記憶する。図3に、実施形態に係る編集情報記憶部121の一例を示す。図3に示す編集情報記憶部121は、「編集ID」、「元タイトル」、「短縮タイトル」といった項目を有する。
「編集ID」は、元タイトルと短縮タイトルとの組み合わせを識別するための識別情報を示す。また、「元タイトル」は、所定の編集者が短縮タイトルを作成する際に元となったコンテンツのタイトルを示す。また、「短縮タイトル」は、対応する元タイトルから作成された短縮タイトルを示す。
例えば、図3に示す例において、編集ID「ED11」により識別される編集情報は、元タイトルが「タイトルA」であり、短縮タイトルが「短縮タイトルA」であることを示す。また、例えば、図3に示す例において、編集ID「ED12」により識別される編集情報は、元タイトルが「タイトルB」であり、短縮タイトルが「短縮タイトルB」であることを示す。
なお、編集情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、編集情報記憶部121は、所定の編集者が短縮タイトルを作成する際に元となったコンテンツの記事に関する情報を記憶してもよい。また、編集情報記憶部121は、所定の編集者が作成した短縮タイトルとその元となったコンテンツに関する情報に限らず、生成装置100が生成した短縮タイトルとその元となったコンテンツに関する情報を記憶してもよい。例えば、編集情報記憶部121は、正例とする短縮タイトルと負例とする短縮タイトルとを識別する情報を、各短縮タイトルに関連付けて記憶してもよい。すなわち、編集情報記憶部121は、提供先のユーザにより選択された短縮タイトルを正例とし、提供先のユーザにより選択されなかった短縮タイトルを負例として記憶してもよい。生成装置100は、正例となる短縮タイトル、及び負例となる短縮タイトルを含む編集情報を用いて学習することにより、より精度よく要約(短縮タイトル)を生成するモデルを学習することができる。
(モデル情報記憶部122)
実施形態に係るモデル情報記憶部122は、学習に関する情報を記憶する。例えば、モデル情報記憶部122は、生成処理により生成されたモデル情報を記憶する。図4は、実施形態に係るモデル情報記憶部の一例を示す図である。図4に示すモデル情報記憶部122は、モデル情報として、各モデルM11等に対応させて「パラメータ1」〜「パラメータ3」等といった項目を有する。
例えば、図4に示す例において、モデルM11に関するモデル情報は、パラメータ1の重み(係数)が「0.5」、パラメータ2の重みが「−0.4」、パラメータ3の重みが「0.2」等であることを示す。例えば、モデルのパラメータがm次元のベクトルで表現される場合、パラメータ数はm個になり、パラメータ1〜パラメータmの重み(係数)が記憶される。なお、パラメータの数は、mに限らず、種々の数に変動してもよい。また、上記モデル情報は一例であり、上述した要約の生成処理が実現できれば、モデル情報記憶部122には、どのようなモデル情報が記憶されてもよい。
なお、モデル情報記憶部122は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。例えば、モデル情報記憶部122は、所定のユーザ分類ごとに生成されたモデルを記憶してもよい。例えば、モデル情報記憶部122は、ユーザの性別や年代等のユーザ分類ごとに生成されたモデルを記憶してもよい。また、例えば、モデル情報記憶部122は、ユーザが利用する端末装置に関する分類ごとに生成されたモデルを記憶してもよい。例えば、モデル情報記憶部122は、端末装置の型番や画面サイズ等の分類ごとに生成されたモデルを記憶してもよい。
(類似単語情報記憶部123)
実施形態に係る類似単語情報記憶部123は、類似単語に関する各種情報を記憶する。図5に、実施形態に係る類似単語情報記憶部123の一例を示す。図5に示す類似単語情報記憶部123は、「単語ID」、「単語」、「意味」、「類似単語」といった項目が含まれる。
「単語ID」は、単語を識別するための識別情報を示す。「単語」は、対応する単語IDにより識別される単語を示す。「意味」は、対応する単語IDにより識別される単語が示す内容(意味)を示す。「類似単語」は、対応する単語IDにより識別される単語の類似単語を示す。
例えば、図5に示す例において、単語ID「WD11」により識別される単語は、単語「○村○郎」であり、意味が「アイドルグループAのメンバー」であることを示す。単語ID「WD11」により識別される単語「○村○郎」の類似単語には、「××」や「○村」等が含まれることを示す。
なお、類似単語情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
(コンテンツ関連情報記憶部124)
実施形態に係るコンテンツ関連情報記憶部124は、コンテンツ(記事)に関する各種情報を記憶する。図6に、実施形態に係るコンテンツ関連情報記憶部124の一例を示す。図6に示すコンテンツ関連情報記憶部124は、「コンテンツID」、「記事」、「タイトル」、「画像」といった項目を有する。
「コンテンツID」は、コンテンツを識別するための識別情報を示す。「記事」は、コンテンツの記事を示す。「タイトル」は、コンテンツのタイトルを示す。「画像」は、コンテンツの画像を示す。図6では「画像」に「IM11」といった概念的な情報が格納される例を示したが、実際には、画像情報、または、その格納場所を示すファイルパス名などが格納される。
例えば、図6に示す例において、コンテンツID「CT11」により識別されるコンテンツ(図1中のコンテンツCT11に対応)の記事は、「X月Y日、全国ネットの放送局Zは、来月...」といった内容であることを示す。また、コンテンツID「CT11」により識別されるコンテンツのタイトルは、「アイドルグループAの○村○郎、7月期スタートの土曜△時の新ドラマ□□の主演に決定」といった内容であることを示す。また、コンテンツID「CT11」により識別されるコンテンツの画像は、画像IM11であることを示す。
なお、コンテンツ関連情報記憶部124は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、コンテンツ関連情報記憶部124は、コンテンツを取得した日時やコンテンツが作成された日時に関する情報を記憶してもよい。コンテンツ関連情報記憶部124は、各提供元に関する情報やコンテンツのカテゴリやトピックに関する情報を記憶してもよい。
(制御部130)
図2の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPUやMPU(Micro Processing Unit)等によって、生成装置100内部の記憶装置に記憶されている各種プログラム(生成プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図2に示すように、制御部130は、取得部131と、学習部132と、算出部133と、生成部134と、提供部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。
(取得部131)
取得部131は、各種情報を取得する。例えば、取得部131は、外部の情報処理装置から情報を取得する。また、例えば、取得部131は、記憶部120から情報を取得する。また、取得部131は、端末装置10からコンテンツを取得する。例えば、取得部131は、端末装置10から取得したコンテンツをコンテンツ関連情報記憶部124に記憶する。
また、取得部131は、要約とその元となる情報とを対応付けた情報を取得する。図1では、取得部131は、所定の編集者が利用する編集者端末から短縮タイトルと元となるタイトルとが対応付けられた要約一覧EL11を取得する。
また、取得部131は、文字情報と、文字情報に関連するコンテンツ関連情報とを取得する。例えば、取得部131は、所定のコンテンツに含まれるタイトルを文字情報として取得する。例えば、取得部131は、所定のコンテンツに含まれる記事を文字情報に関連するコンテンツ関連情報として取得する。
また、取得部131は、外部の情報処理装置から各種モデルを取得してもよい。例えば、取得部131は、外部の情報処理装置から要約生成モデルM11等の種々のモデルを取得してもよい。なお、外部の情報処理装置から取得部131により要約生成に用いるモデルを取得する場合、生成装置100は、学習部132を有しなくてもよい。
(学習部132)
学習部132は、各パラメータの重み(係数)を学習する。例えば、学習部132は、各種情報に基づいて学習によりモデルを生成する。例えば、学習部132は、第1文字情報と、第1文字情報の要約情報である第2文字情報とが対応付けられた情報によりモデルを学習する。図1では、学習部132は、要約一覧EL11を用いた学習により、要約一覧EL11から要約生成モデルM11を生成する。
例えば、学習部132は、要約一覧EL11に示す情報を編集情報記憶部121から取得し、要約生成モデルM11を学習する。例えば、学習部132は、要約一覧EL11に含まれる所定の編集者が作成した短縮タイトルとその元となるタイトルの組み合わせを用いて、要約生成モデルM11を学習する。例えば、学習部132は、要約一覧EL11に含まれる元タイトルや短縮タイトルに基づいて、リカレントニューラルネットワークや係り受け解析等の種々の従来技術を適宜用いて、要約生成モデルM11を学習する。例えば、学習部132は、学習により生成した要約生成モデルM11をモデル情報記憶部122に記憶する。例えば、学習部132は、以下のような疑似学習データを用いてモデルを学習してもよい。例えば、「A駅の人身事故でB線が遅延」を係り受け解析して、他の要素は「B線が遅延」にかかるので、統計情報などを加味して、係り受け木から必要なさそうな部分木をカットして「人身事故でB線が遅延」などに要約した疑似学習データを用いる。例えば、このような疑似学習データは、種々の従来手法により生成することができる。そして、学習部132は、疑似学習データを用いて(ニューラルネットワーク)モデルを学習(プリトレーニング)した後、要約一覧EL11等を用いて学習することにより、精度の高いモデルを生成することができる。
(算出部133)
算出部133は、文字情報から要約を生成するために用いるスコアを算出する。例えば、算出部133は、要約生成モデルM11を用いて各単語の各位置におけるスコアを算出する。
例えば、算出部133は、上記式(5)により各位置における各単語のスコアを算出する。図1に示す例では、算出部133は、コンテンツ関連情報CINF11を加味したスコアを算出する。例えば、算出部133は、取得した文字情報であるコンテンツCT11のタイトルに関連するコンテンツ関連情報CINF11を加味したスコアを算出する。例えば、算出部133は、上記式(5)を用いてコンテンツCT11のタイトルに関連するコンテンツ関連情報CINF11を加味したスコアを算出する。
(生成部134)
生成部134は、文字情報の要約の候補として複数の要約候補を生成する。例えば、生成部134は、算出部133により算出されるスコアに基づいて、文字情報から複数の要約候補を生成する。例えば、生成部134は、取得部131により取得したコンテンツ関連情報に基づいて、取得部131により取得した文字情報の要約の候補として複数の要約候補を生成する。
例えば、生成部134は、複数の要約候補の多様性に関する情報に基づいて、複数の要約候補を生成する。生成部134は、複数の要約候補の多様性に関する情報である他の要約候補に含まれるか否かを示す情報により変動する各単語のスコアに基づいて算出される評価値(スコア)に応じて、要約候補を生成する。例えば、生成部134は、文字情報に含まれる単語と、その単語に類似する類似単語とを含む各単語のスコアに基づいて算出される評価値に基づいて、要約候補を生成する。生成部134は、第1の要約候補に含まれる単語のスコアを低下させた各単語のスコアに基づいて算出される評価値に基づいて、第2の要約候補を生成する。
また、例えば、生成部134は、コンテンツ関連情報とモデルとに基づいて算出されるスコアに基づいて、文字情報から要約情報を生成してもよい。例えば、生成部134は、コンテンツ関連情報により学習されたモデルに基づいて、文字情報から要約情報を生成する。例えば、生成部134は、第1文字情報と、第1文字情報の要約情報である第2文字情報とが対応付けられた情報により学習されたモデルに基づいて、文字情報の要約の候補として複数の要約候補を生成してもよい。
また、例えば、生成部134は、要約一覧EL11を用いた学習により、要約一覧EL11からモデルM11を生成する。図1の例では、生成部134は、コンテンツCT11のタイトルの短縮タイトルの候補として複数の短縮タイトル候補を生成する。例えば、生成部134は、複数の要約候補の多様性に関する情報に基づいて、短縮タイトルリストLT11に示すような短縮タイトルAT11−1〜AT11−3等を生成する。例えば、生成部134は、上記式(3)や(4)等の例に示すように、各単語の条件付き確率に基づくスコアを算出し、そのスコアに基づいて単語をつなげることにより、短縮タイトルを生成する。
図1の例では、生成部134は、短縮タイトルAT11−1を生成した後、コンテンツCT11のタイトルに対応する2つ目の短縮タイトルAT11−2を生成する。例えば、生成部134は、短縮タイトルAT11−1に含まれる単語のスコアを低下させる。例えば、生成部134は、単語「○村○郎」が先頭に出現する確率に対応するスコアを「0.4」に低下させ、単語「○村○郎」が2つ目に出現する確率に対応するスコアを「0.2」に低下させ、単語「ドラマ」が先頭に出現する確率に対応するスコアを「0.38」に低下させる。図1の例では、生成部134は、生成した短縮タイトルAT11−1に含まれる単語のスコアを低下させたり除外したりした木構造を探索することにより、コンテンツCT11のタイトル「アイドルグループAの○村○郎、7月期スタートの土曜△時の新ドラマ□□の主演に決定」の2つ目の短縮タイトルAT11−2を生成する。
(提供部135)
提供部135は、種々の情報を外部装置へ提供する。提供部135は、生成部134により生成された複数の短縮タイトルの候補を端末装置10に提供する。図1の例では、提供部135は、短縮タイトルリストLT11に示すような短縮タイトルAT11−1〜AT11−3等を端末装置10へ提供する。
〔3.モデルの学習〕
次に、図7を用いて、実施形態に係る生成システム1におけるモデルの学習について説明する。図7は、実施形態に係るモデルの学習の一例を示すフローチャートである。なお、図7に示すフローチャートにより学習されるモデルは、どのようなモデルであってもよい。
図7に示すように、生成装置100の取得部131は、学習に用いる情報を取得する(ステップS101)。例えば、取得部131は、所定の編集者が利用する編集者端末から短縮タイトルと元となるタイトルとが対応付けられた要約一覧EL11を取得する。その後、生成装置100の学習部132は、取得した情報に基づいて学習を行う(ステップS102)。例えば、学習部132は、要約一覧EL11を用いた学習により、要約一覧EL11から要約生成モデルM11を生成する。
〔4.短縮タイトルの生成〕
次に、図8を用いて、実施形態に係る生成システム1における要約の生成について説明する。図8は、実施形態に係る短縮タイトルの生成の一例を示すフローチャートである。
図8に示すように、生成装置100の取得部131は、タイトルを取得する(ステップS201)。例えば、取得部131は、端末装置10からコンテンツCT11のタイトルを取得する。また、取得部131は、コンテンツCT11のタイトルに関するコンテンツ関連情報を取得する(ステップS202)。例えば、取得部131は、コンテンツCT11の記事やカテゴリやトピックを取得する。なお、ステップS201とステップS202とは、同時に行われてもよいし、ステップS202のほうがステップS201よりも先に行われてもよい。
また、取得部131は、短縮タイトルの生成に用いるモデルを取得する(ステップS203)。例えば、取得部131は、モデル情報記憶部122から要約生成モデルM11を取得する。また、取得部131は、タイトルに含まれる単語の類似単語を取得する(ステップS204)。例えば、取得部131は、類似単語情報記憶部123からタイトルに含まれる単語の類似単語を取得する。
その後、生成装置100の生成部134は、モデルと文字数の上限値とに基づいて短縮タイトルを生成する(ステップS205)。例えば、生成部134は、コンテンツCT11の短縮タイトルの表示先やユーザU1による指定等により決定される短縮タイトルの文字数の上限値に基づいて短縮タイトルを生成する。生成部134は、短縮タイトルの文字数の上限値「全角13」文字に基づいて短縮タイトルを生成する。その後、生成部134は、所定数の短縮タイトルを生成したかを判定する(ステップS206)。例えば、生成部134は、ユーザU1等により指定されたり、生成装置100の管理者等により設定されたりした数の短縮タイトルを生成する。生成部134は、所定数が「4」である場合、4つの短縮タイトルを生成する。
所定数の短縮タイトルを生成していない場合(ステップS206:No)、生成部134は、生成した短縮タイトルに含まれる単語のスコアを更新する(ステップS207)。そして、生成部134は、ステップS205に戻って、更新されたスコアに基づいて短縮タイトルを生成する。例えば、生成部134は、ステップS205〜S207の処理により、コンテンツCT11のタイトルに対応する複数の短縮タイトルAT11−1〜AT11−3等を生成する。
また、所定数の短縮タイトルを生成した場合(ステップS206:Yes)、生成部134は、処理を終了する。
〔5.短縮タイトルの生成〕
次に、図9〜図12を用いて、実施形態に係る生成システム1における短縮タイトルの生成について説明する。図9〜図12は、実施形態に係る短縮タイトルの生成の一例を示す図である。例えば、生成装置100は、ビーム探索の手法を用いる。なお、生成装置100は、木構造を用いる種々の手法を用いてもよい。例えば、生成装置100は、他の近似手法を用いてもよいし、ビタビ、A*などの厳密探索手法を用いてもよい。
まず、図9を用いて短縮タイトルを生成する処理の概要を説明する。図9は、類似単語の追加やスコアの更新等を行う前の木構造を示す図である。図9に示す例においては、入力情報IP11に示すように入力「INPUT」は、コンテンツCT11のタイトル「アイドルグループAの○村○郎、7月期スタートの土曜△時の新ドラマ□□の主演に決定」である。また、図9に示す例においては、文字数上限MX11に示すように上限値「MAX」は、「13」である。例えば、上限値「MAX」は、「全角13」文字とする。図9中の木構造ST11は、「W1」の範囲に位置するノードは、先頭記号Sの次に遷移する単語、すなわち最初の単語に対応するノードを示す。また、「W2」の範囲に位置するノードは、「W1」の範囲に位置するノードに対応する単語から次に遷移する単語、すなわち2つめの単語に対応するノードを示す。また、「W3」の範囲に位置するノードは、「W2」の範囲に位置するノードに対応する単語から次に遷移する単語、すなわち3つめの単語に対応するノードを示す。
図9に示す例では、生成装置100は、コンテンツ関連情報を加味したスコアを算出する。例えば、生成装置100は、図9中の算出式MF11に示す式により、コンテンツCT11のタイトルのコンテンツ関連情報を加味したスコアを算出する。なお、図9中の算出式MF11に示す式は、上記式(5)に対応する。
例えば、生成装置100は、図9中の算出式SC11に示す式により、コンテンツがCT11である場合のコンテンツ関連情報「CINF11」に対して短縮タイトルを生成する場合において、単語「○村○郎」が先頭に出現する確率に対応するスコアを算出する。なお、図9中の算出式SC11は上記式(7)に対応する。図9の例では、生成装置100は、上記式(7)を用いてアイドルグループ名を示す単語「A」のスコアを最も高い「0.62」と算出する。また、図9の例では、生成装置100は、算出式SC11を用いて単語「○村○郎」のスコアを単語「A」のスコアの次に高い「0.6」と算出する。また、図9の例では、生成装置100は、上記式(7)を用いて単語「ドラマ」のスコアを単語「○村○郎」のスコアの次に高い「0.58」と算出する。また、図9の例では、生成装置100は、上記式(7)を用いて単語「の」のスコアを「0.02」と算出する。
また、生成装置100は、木構造ST11と、上記式(5)を用いて各単語の各々に対して算出されたスコア(確率)でソートし、ビーム幅(n=3)だけ残す(ステップS205−1)。例えば、生成装置100は、スコアが上位である「A」、「○村○郎」、及び「ドラマ」の3つの単語に対応するノードのみを残し、その先のノードを探索する。そして、生成装置100は、合計の文字数がMAX「13」を超えるまで探索を繰り返す(ステップS205−2)。例えば、生成装置100は、図9中の算出式MF12を用いて、親ノードの単語(「A」、「○村○郎」、及び「ドラマ」)の次に各単語に遷移する確率に対応するスコアを算出する。
次、図10を用いてタイトルに含まれる単語の類似単語の追加について説明する。図10は、タイトルに含まれる単語の類似単語の追加後の木構造を示す図である。図10の例では、「W1」の範囲に位置するノードとして、単語「○村○郎」の類似単語である「××」や「○村」を追加する(ステップS204−1)。また、図10の例では、「W2」の範囲に位置するノードとして、単語「○村○郎」の類似単語である「××」や「○村」を追加する(ステップS204−2)。このように、図10の例における木構造ST12は、単語「○村○郎」の類似単語である「××」や「○村」をノードとして追加した木構造を示す。
また、生成装置100は、単語「○村○郎」の類似単語「××」や「○村」が先頭に出現する確率に対応するスコアを単語「○村○郎」に基づいて決定する。図10に示す例では、生成装置100は、単語「○村○郎」の類似単語「××」や「○村」が先頭に出現する確率に対応するスコアを単語「○村○郎」のスコア「0.6」を「0.01」小さくした「0.59」に決定する。なお、生成装置100は、単語のスコアを類似単語のスコアとしてもよいし、種々の条件に基づいて類似単語のスコアを決定してもよい。
このように、各単語の類似単語を追加した木構造を探索することにより、生成装置100は、コンテンツCT11のタイトル「アイドルグループAの○村○郎、7月期スタートの土曜△時の新ドラマ□□の主演に決定」の短縮タイトルを生成する。これにより、生成装置100は、コンテンツCT11のタイトルに対応する「○村○郎 7月期ドラマ主演」とする1つ目の短縮タイトルAT11−1を生成する。
次、図11を用いて1つ目の短縮タイトル生成後におけるスコアの更新について説明する。図11は、生成された短縮タイトルに含まれる単語のスコアの更新後の木構造を示す図である。具体的には、図11の例における木構造ST13は、生成リストLT11−1に示す短縮タイトルAT11−1に含まれる単語「○村○郎」や単語「ドラマ」に対応するノードのスコアを更新した木構造を示す。
例えば、生成装置100は、木構造ST13中の「W1」の範囲に位置する単語「○村○郎」に対応するノードのスコアを更新する(ステップS207−1)。例えば、生成装置100は、木構造ST13中の「W1」の範囲に位置する単語「○村○郎」に対応するノードのスコアを低下させる。また、例えば、生成装置100は、木構造ST13中の「W1」の範囲に位置する単語「ドラマ」に対応するノードのスコアを更新する(ステップS207−2)。例えば、生成装置100は、木構造ST13中の「W1」の範囲に位置する単語「ドラマ」に対応するノードのスコアを低下させる。また、例えば、生成装置100は、木構造ST13中の「W2」の範囲に位置する単語「○村○郎」に対応するノードのスコアを更新する(ステップS207−3)。例えば、生成装置100は、木構造ST13中の「W2」の範囲に位置する単語「○村○郎」に対応するノードのスコアを低下させる。なお、他のノードについてのスコアの更新は図示を省略する。
図11の例では、生成リストLT11−1に示す短縮タイトルAT11−1に含まれる単語「○村○郎」が先頭に出現する確率に対応するスコアを「0.4」に低下させ、単語「○村○郎」が2つ目に出現する確率に対応するスコアを「0.2」に低下させ、単語「ドラマ」が先頭に出現する確率に対応するスコアを「0.38」に低下させる。
このように、生成した短縮タイトルAT11−1に含まれる単語のスコアを低下させたり除外したりした木構造を探索することにより、生成装置100は、コンテンツCT11のタイトル「アイドルグループAの○村○郎、7月期スタートの土曜△時の新ドラマ□□の主演に決定」の2つ目の短縮タイトルを生成する。これにより、生成装置100は、コンテンツCT11のタイトルに対応する「×× 土曜△時のドラマ決定」とする2つ目の短縮タイトルAT11−2を生成する。
次、図12を用いて2つ目のタイトル生成後におけるスコアの更新について説明する。図12は、生成された短縮タイトルに含まれる単語のスコアの更新後の木構造を示す図である。具体的には、図12の例における木構造ST14は、生成リストLT11−2に示す短縮タイトルAT11−2に含まれる単語「××」や単語「ドラマ」や単語「土曜△時」に対応するノードのスコアを更新した木構造を示す。
例えば、生成装置100は、木構造ST14中の「W1」の範囲に位置する単語「××」に対応するノードのスコアを更新する(ステップS207−11)。例えば、生成装置100は、木構造ST14中の「W1」の範囲に位置する単語「××」に対応するノードのスコアを低下させる。また、例えば、生成装置100は、木構造ST14中の「W1」の範囲に位置する単語「ドラマ」に対応するノードのスコアを更新する(ステップS207−12)。例えば、生成装置100は、木構造ST14中の「W1」の範囲に位置する単語「ドラマ」に対応するノードのスコアを低下させる。また、例えば、生成装置100は、木構造ST14中の「W2」の範囲に位置する単語「××」に対応するノードのスコアを更新する(ステップS207−13)。例えば、生成装置100は、木構造ST14中の「W2」の範囲に位置する単語「××」に対応するノードのスコアを低下させる。なお、他のノードについてのスコアの更新は図示を省略する。
図12の例では、生成リストLT11−2に示す短縮タイトルAT11−2に含まれる単語「××」が先頭に出現する確率に対応するスコアを「0.39」に低下させ、単語「××」が2つ目に出現する確率に対応するスコアを「0.19」に低下させ、単語「ドラマ」が先頭に出現する確率に対応するスコアを「0.28」に低下させる。
このように、生成した短縮タイトルAT11−2に含まれる単語のスコアを低下させたり除外したりした木構造を探索することにより、生成装置100は、コンテンツCT11のタイトル「アイドルグループAの○村○郎、7月期スタートの土曜△時の新ドラマ□□の主演に決定」の3つ目の短縮タイトルを生成する。これにより、生成装置100は、コンテンツCT11のタイトルに対応する「A○村の土△ 7月スタート」とする3つ目の短縮タイトルAT11−3を生成する。
(6.変形例1)
〔6−1.生成処理〕
上記例においては、編集者であるユーザU1に複数の短縮タイトル候補を提供する例を示したが、生成システム1Aは、生成した短縮タイトルを含む概要コンテンツをユーザに提供してもよい。例えば、変形例1に係る生成装置100Aは、生成した複数の短縮タイトル候補から要約を選択し、選択した複数の要約を含む概要コンテンツをユーザへ提供してもよい。この点について、図13〜図15を用いて説明する。なお、実施形態と同様の構成については、同一の符号を付して説明を省略する。
まず、図13を用いて、変形例1に係る生成処理の一例について説明する。図13は、変形例1に係る生成処理の一例を示す図である。なお、変形例1における生成処理には、選択した複数の短縮タイトルを含む概要コンテンツを提供する処理を含む。図13に示す生成装置100Aは、端末装置10からの提供要求に基づいて短縮タイトルを含む概要コンテンツを提供する提供サービスを提供する。
図13に示すように、生成システム1Aには、端末装置10と、生成装置100Aとが含まれる。端末装置10と、生成装置100Aとは図示しない所定の通信網を介して、有線または無線により通信可能に接続される。また、図13に示した生成システム1Aには、複数台の端末装置10や、複数台の生成装置100Aが含まれてもよい。
図13に示す例においては、ユーザU2が利用する端末装置10−2がタッチパネル機能を有するスマートフォンである場合を示す。また、図13の例では、端末装置10−2は、生成装置100Aへ概要コンテンツW11の提供を要求する。また、端末装置10−2は、生成装置100Aから提供された概要コンテンツW11を所定のアプリにより表示する。なお、所定のアプリはブラウザであってもよい。概要コンテンツW11におけるコンテンツCT11〜CT14の配置は、コンテンツCT11が最上位に配置され、コンテンツCT12〜CT14がその下部に配置されるものとする。
生成装置100Aは、端末装置10から概要コンテンツの提供要求を取得する(ステップS21)。以下では、ステップS21における提供要求に対して、生成装置100AがコンテンツCT11〜CT14を含む概要コンテンツW11を提供するものとして説明する。なお、ここでいうコンテンツCT11とは、コンテンツID「CT11」により識別されるコンテンツを意味する。また、コンテンツCT12とは、コンテンツID「CT12」により識別されるコンテンツを意味する。図13に示すコンテンツ一覧CL11は、図6に示すコンテンツ関連情報記憶部124に記憶されるコンテンツ関連情報に対応する。例えば、コンテンツCT11は、タイトル「アイドルグループAの○村○郎、7月期スタートの土曜△時の新ドラマ□□の主演に決定」や画像IM11等を含む。なお、コンテンツCT11には、記事が含まれるが図13では図示を省略する。
また、図13の例では、生成装置100Aは、各コンテンツCT11〜CT14に対応する複数の短縮タイトル候補を生成済みであるものとする。例えば、生成装置100Aは、図1に示すような処理により、各コンテンツCT11〜CT14に対応する複数の短縮タイトル候補を生成済みであるものとする。例えば、生成装置100Aは、コンテンツCT11について、短縮タイトルリストLT11に示すような短縮タイトルAT11−1〜AT11−3等を生成しているものとする。また、例えば、生成装置100Aは、コンテンツCT12について、短縮タイトルリストLT12に示すような短縮タイトルAT12−1〜AT12−3等を生成しているものとする。短縮タイトルリストLT11や短縮タイトルリストLT12を区別せず説明する場合、短縮タイトルリストLTと記載する。
生成装置100Aは、概要コンテンツW11を提供するために、各コンテンツCT11〜CT14の各々に対応する短縮タイトルリストLTから要約(短縮タイトル)を選択する。生成装置100Aは、各短縮タイトル候補の評価値に基づいて、短縮タイトルリストLTの各々から一の短縮タイトルを選択する。なお、ここでいう短縮タイトル候補の評価値は、その短縮タイトル候補の生成において探索した探索木中の経路に対応するスコアであってもよいし、スコアに基づいて算出される所定の評価値であってもよい。
図13に示す例においては、生成装置100Aは、概要コンテンツW11において最上位に配置されるコンテンツCT11の短縮タイトルを選択する(ステップS22)。例えば、生成装置100Aは、短縮タイトルリストAL11−1に示すように、短縮タイトルリストLT11に含まれる短縮タイトルAT11−1〜AT11−3等のうち、最も評価値が高い短縮タイトルAT11−1をコンテンツCT11の短縮タイトルとして選択する。
生成装置100Aは、コンテンツCT11の短縮タイトルとして短縮タイトルAT11−1を選択したことに応じて、他のコンテンツCT12〜CT14等に対応する短縮タイトル候補の評価値を更新する(ステップS23)。例えば、生成装置100Aは、短縮タイトルAT11−1に含まれる単語を含む短縮タイトル候補の評価値を低下させることにより、他のコンテンツCT12〜CT14等に対応する短縮タイトル候補の評価値を更新する。例えば、生成装置100Aは、短縮タイトルリストLT12−2に示すように、短縮タイトルリストLT12に含まれる短縮タイトルAT12−1〜AT12−3等のうち、短縮タイトルAT11−1に含まれる単語「○村○郎」を含む短縮タイトルAT12−1のスコアを低下させる。図13の例では、説明を簡単にするために、生成装置100Aは、短縮タイトルAT11−1に含まれる単語「○村○郎」を含む短縮タイトルAT12−1の評価値を「0.2」だけ減少させる。これにより、生成装置100Aは、選択した短縮タイトルに含まれる単語以外の単語を含む短縮タイトルが選択される確率を高めることにより、概要コンテンツの情報量を増加させ、情報の多様性を向上させることができる。
その後、図13に示す例においては、生成装置100Aは、概要コンテンツW11においてコンテンツCT11の直下に配置されるコンテンツCT12の短縮タイトルを選択する(ステップS24)。例えば、生成装置100Aは、短縮タイトルリストAL11−2に示すように、評価値が更新された短縮タイトルリストLT12−2に含まれる短縮タイトルAT12−1〜AT12−3等のうち、最も評価値が高い短縮タイトルAT12−2をコンテンツCT12の短縮タイトルとして選択する。具体的には、生成装置100Aは、短縮タイトルAT12−2である「×× 共演女優との熱愛否定」を選択する。
また、生成装置100Aは、コンテンツCT12の短縮タイトルとして短縮タイトルAT12−2を選択したことに応じて、他のコンテンツCT13〜CT14等に対応する短縮タイトル候補の評価値を更新する。その後、生成装置100Aは、短縮タイトルリストAL11−2に示すように、コンテンツCT13のタイトルに対応する短縮タイトルリストLTから「A社サーチャージ7月も継続」とする短縮タイトルAT13−4を選択する。
また、生成装置100Aは、コンテンツCT13の短縮タイトルとして短縮タイトルAT13−4を選択したことに応じて、他のコンテンツCT14等に対応する短縮タイトル候補の評価値を更新する。その後、生成装置100Aは、短縮タイトルリストAL11−2に示すように、コンテンツCT14のタイトルに対応する短縮タイトルリストLTから「20XX年の五輪開催国決定」とする短縮タイトルAT14−2を選択する。
その後、生成装置100Aは、コンテンツCT11〜CT14に対して選択した短縮タイトルを含む概要コンテンツを端末装置10に提供する(ステップS25)。具体的には、生成装置100Aは、短縮タイトルAT11−1、AT12−2、AT13−4、AT14−2を含む概要コンテンツW11を端末装置10へ提供する。
そして、概要コンテンツW11を受信した端末装置10は、概要コンテンツW11を表示する(ステップS26)。図13では、端末装置10は、コンテンツCT11〜CT14の各々に対応する短縮タイトルAT11−1、AT12−2、AT13−4、AT14−2や画像IM11〜IM14を含む概要コンテンツW11を表示する。
上述したように、生成装置100Aは、要約生成モデルM11や文字情報に対応するコンテンツ関連情報に基づいて文字情報から複数の短縮タイトルを生成する。上記の例では、生成装置100Aは、要約生成モデルM11とコンテンツCT11のコンテンツ関連情報とに基づいて、コンテンツCT11のタイトルから複数の短縮タイトルを生成する。そして、生成装置100Aは、生成した複数の短縮タイトル候補から短縮タイトルを選択する。そして、生成装置100Aは、短縮タイトル候補の評価値に基づいて、複数の短縮タイトル候補から短縮タイトルを選択することにより、タイトルを要約する作業負荷を軽減しつつ、適切な要約を生成可能にすることができる。
また、生成装置100Aは、端末装置10を利用するユーザの操作履歴に応じて、生成する短縮タイトルを変動させてもよい。例えば、生成装置100Aは、ユーザの操作履歴として提供したコンテンツ等へのユーザの操作に関する情報を用いてもよい。例えば、生成装置100Aは、ユーザの操作履歴中にスクロールが早い等の情報が含まれる場合、そのユーザの性格をせっかちと推定し、通常よりも短い要約を生成してもよい。また、例えば、生成装置100Aは、ユーザの操作履歴中にスクロールが遅い等の情報が含まれる場合、そのユーザの性格をのんびりと推定し、通常よりも長い要約を生成してもよい。
また、例えば、生成装置100Aは、ユーザの操作履歴として音声対話の履歴を用いてもよい。例えば、生成装置100Aは、音声対話において最後まで聞くユーザには、情報量が通常よりも多くなるように、要約を生成してもよい。また、生成装置100Aは、音声対話において途中で聞くのを止めるユーザには情報量が通常よりも情報量が通常よりも少なくなるように、要約を生成してもよい。また、生成装置100Aは、上記の処理を音声対話でユーザによって長さを変動させるために用いてもよい。例えば、生成装置100Aは、上記の要約を音声対話の出力情報として用いてもよいし、音声対話用のモデルを用いて、音声対話の出力情報を生成してもよい。
また、生成装置100Aは、端末装置10を利用するユーザの属性に応じて、生成する短縮タイトルを変動させてもよい。例えば、生成装置100Aは、端末装置10を利用するユーザの年代が60代や70代である場合、通常よりも短い要約を生成してもよい。また、例えば、生成装置100Aは、端末装置10を利用するユーザが10代や20代である場合、通常よりも長い要約を生成してもよい。
また、生成装置100Aは、上述のような要約を生成するモデルを用いて、生成処理を行ってもよい。例えば、生成装置100Aは、端末装置10を利用するユーザが専門職である場合、通常よりも専門用語を含む確率が高くなるモデルを用いて要約を生成してもよい。また、例えば、生成装置100Aは、端末装置10を利用するユーザが主婦である場合、通常よりも専門用語を含む確率が低くなるモデルを用いて要約を生成してもよい。また、例えば、生成装置100Aは、端末装置10を利用するユーザの職種が短縮タイトルを生成する対象のコンテンツの内容に関する専門職である場合、通常よりも専門用語のスコアが高くなるようなモデルを用いて、短縮タイトルを生成してもよい。例えば、生成装置100Aは、端末装置10を利用するユーザの職種が主婦である場合、専門用語のスコアが低くなるようなモデルを用いて、短縮タイトルを生成してもよい。
また、生成装置100Aは、端末装置10を利用するユーザのコンテキストに応じて、生成する短縮タイトルを変動させてもよい。例えば、生成装置100Aは、端末装置10を利用するユーザのコンテキストが走っている等の忙しい状態に対応するコンテキストである場合、通常よりも短い要約を生成してもよい。また、例えば、生成装置100Aは、端末装置10を利用するユーザのコンテキストが仕事中に対応するコンテキストである場合、通常よりも短い要約を生成してもよい。また、例えば、生成装置100Aは、端末装置10を利用するユーザのコンテキストが家にいる等の十分に時間がある状態に対応するコンテキストである場合、通常よりも長い要約を生成してもよい。また、生成装置100Aは、上述のような要約を生成するモデルを用いて、生成処理を行ってもよい。
また、生成装置100Aは、上述した情報に限らず、目的に応じて種々の情報を用いてもよい。例えば、生成装置100Aは、生成処理時の時間に関する情報や、気温に関する情報や、天気に関する情報等を用いてもよい。生成装置100Aは、ユーザが利用する端末装置10のCPU(Central Processing Unit)やメモリ使用率などの情報を用いてもよい。また、例えば、生成装置100Aは、各情報をクラスタリングしておき、事前に要約(短縮タイトル)を生成してコンテンツ関連情報記憶部124に格納し、提供要求時に要求元のユーザに対応する短縮タイトルを提供してもよい。
また、生成装置100Aは、不自然な要約(短縮タイトル)がユーザに提供されることを抑制するために、短縮タイトル候補を言語モデルで再ランキングしてもよい。例えば、生成装置100Aは、所定の言語モデルを用いて、各短縮タイトル候補の評価値を更新してもよい。例えば、生成装置100Aは、各短縮タイトル候補のうち、そのコンテンツの内容に適した単語が用いられている短縮タイトル候補の評価値を増加してもよい。これにより、生成装置100Aは、より適切な短縮タイトルを含む概要コンテンツをユーザに提供することができる。
〔6−2.生成装置の構成〕
次に、図14を用いて、変形例1に係る生成装置100Aの構成について説明する。図14は、変形例1に係る生成装置100Aの構成例を示す図である。図14に示すように、生成装置100Aは、通信部110と、記憶部120と、制御部130Aとを有する。なお、生成装置100Aにおいて、生成装置100と同様の構成は適宜説明を省略する。
(制御部130A)
制御部130Aは、コントローラ(controller)であり、例えば、CPUやMPU等によって、生成装置100A内部の記憶装置に記憶されている各種プログラム(生成プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130Aは、コントローラ(controller)であり、例えば、ASICやFPGA等の集積回路により実現される。
図14に示すように、制御部130Aは、取得部131Aと、学習部132と、算出部133Aと、生成部134Aと、提供部135Aと、選択部136とを有し、以下に説明する情報処理の機能や作用を実現または実行する。
(取得部131A)
取得部131Aは、取得部131と同様に各種情報を取得する。例えば、取得部131Aは、外部の情報処理装置から情報を取得する。また、例えば、取得部131Aは、記憶部120から情報を取得する。また、取得部131Aは、端末装置10からコンテンツの提供要求を取得する。例えば、取得部131Aは、提供元装置からコンテンツの入稿を取得する。例えば、取得部131Aは、記事やタイトルを含むコンテンツの入稿を取得する。例えば、取得部131Aは、多数の提供元装置からコンテンツの入稿を取得してもよい。例えば、取得部131Aは、提供元装置から入稿されたコンテンツをコンテンツ関連情報記憶部124に記憶する。取得部131Aは、概要コンテンツに要約が表示される各文字情報の各々に対応する複数の要約候補を取得する。取得部131Aは、概要コンテンツにおける各文字情報に対応する要約の配置に関する情報を取得する。例えば、取得部131Aは、概要コンテンツW11において、コンテンツCT11が最上位に配置され、コンテンツCT12〜CT14がその下部に配置されることを示す情報を取得する。
また、取得部131Aは、要約とその元となる情報とを対応付けた情報を取得する。図1では、取得部131Aは、所定の編集者が利用する編集者端末から短縮タイトルと元となるタイトルとが対応付けられた要約一覧EL11を取得する。
また、取得部131Aは、文字情報と、提供先となるユーザに関する情報であるユーザ関連情報とを取得する。例えば、取得部131Aは、所定のコンテンツに含まれるタイトルを文字情報として取得する。例えば、取得部131Aは、所定のコンテンツに含まれる記事を文字情報として取得する。
例えば、取得部131Aは、ユーザが利用する端末装置10に関する端末情報をユーザ関連情報として取得する。例えば、取得部131Aは、ユーザの端末装置10における操作履歴に関する情報をユーザ関連情報として取得する。例えば、取得部131Aは、ユーザの属性情報をユーザ関連情報として取得する。例えば、取得部131Aは、ユーザのコンテキストに関する情報をユーザ関連情報として取得する。
また、取得部131Aは、外部の情報処理装置から各種モデルを取得してもよい。例えば、取得部131Aは、外部の情報処理装置から要約生成モデルM11やユーザモデル等の種々のモデルを取得してもよい。なお、外部の情報処理装置から取得部131Aにより要約生成に用いるモデルを取得する場合、生成装置100Aは、学習部132を有しなくてもよい。
(算出部133A)
算出部133Aは、算出部133と同様に各種情報を算出する。例えば、算出部133Aは、各短縮タイトル候補の評価値を算出する。例えば、算出部133Aは、短縮タイトル候補の生成において探索した探索木中の経路に対応するスコアを評価値として算出してもよい。また、例えば、算出部133Aは、短縮タイトル候補の生成において探索した探索木中の経路に対応するスコアと、所定の関数とに基づいて評価値を算出してもよい。
また、算出部133Aは、一のコンテンツの短縮タイトルが選択されたことに応じて、他のコンテンツに対応する短縮タイトル候補の評価値を更新してもよい。図13の例では、算出部133Aは、コンテンツCT11の短縮タイトルとして短縮タイトルAT11−1を選択したことに応じて、他のコンテンツCT12〜CT14等に対応する短縮タイトル候補の評価値を更新する。
(生成部134A)
生成部134Aは、生成部134と同様に種々の情報を生成する。例えば、生成部134Aは、選択部136により選択された短縮タイトル等に基づいて、概要コンテンツを生成してもよい。
(提供部135A)
提供部135Aは、生成部134Aにより生成された短縮タイトルを含む概要コンテンツを提供する。例えば、提供部135Aは、選択部136により選択された短縮タイトルを含む概要コンテンツを端末装置10に提供する。図13の例では、提供部135Aは、短縮タイトルAT11−1、AT12−2、AT13−4、AT14−2を含む概要コンテンツW11を端末装置10へ提供する。
(選択部136)
選択部136は、各要約候補の評価値に基づいて、複数の要約候補から一の要約候補を文字情報の要約として選択する。選択部136は、各文字情報に対応する複数の要約候補のうち、一の要約候補を各文字情報の要約として選択した場合における概要コンテンツの情報量と、情報の多様性に関する情報とに基づいて、各文字情報に対応する要約を選択する。選択部136は、一の要約候補が他の文字情報に対応する要約に含まれる単語を含む場合、一の要約候補の評価値を低下させることにより変動する各要約候補の評価値に基づいて、各文字情報に対応する要約を選択する。
図13の例では、選択部136は、概要コンテンツW11において最上位に配置されるコンテンツCT11の短縮タイトルを選択する。例えば、選択部136は、短縮タイトルリストAL11−1に示すように、短縮タイトルリストLT11に含まれる短縮タイトルAT11−1〜AT11−3等のうち、最も評価値が高い短縮タイトルAT11−1をコンテンツCT11の短縮タイトルとして選択する。
また、図13の例では、選択部136は、短縮タイトルリストAL11−2に示すように、評価値が更新された短縮タイトルリストLT12−2に含まれる短縮タイトルAT12−1〜AT12−3等のうち、最も評価値が高い短縮タイトルAT12−2をコンテンツCT12の短縮タイトルとして選択する。具体的には、選択部136は、短縮タイトルAT12−2である「×× 共演女優との熱愛否定」を選択する。
〔6−3.短縮タイトルの生成〕
次に、図15を用いて、変形例1に係る生成システム1Aにおける要約の選択について説明する。図15は、変形例1に係る短縮タイトルの選択の一例を示すフローチャートである。
図15に示すように、生成装置100Aの取得部131Aは、各コンテンツの短縮タイトルの候補を取得する(ステップS301)。例えば、取得部131Aは、生成装置100Aの生成部134Aにより生成された短縮タイトルの候補を取得する。
また、生成装置100Aの選択部136は、短縮タイトルを未選択の一のコンテンツを選択する(ステップS302)。例えば、選択部136は、概要コンテンツW11において最上位に配置されるコンテンツCT11を選択する。
その後、選択部136は、一のコンテンツの短縮タイトルの各候補の評価値に基づいて短縮タイトルを選択する(ステップS303)。例えば、生成装置100Aは、一のコンテンツに対応する短縮タイトルリストLTに含まれる短縮タイトルのうち、最も評価値が高い短縮タイトルを一のコンテンツの短縮タイトルとして選択する。
その後、選択部136は、全コンテンツの短縮タイトルが選択済みかを判定する(ステップS304)。全コンテンツの短縮タイトルが選択済みでない場合(ステップS304:No)、生成装置100Aの算出部133Aは、未選択のコンテンツの短縮タイトルの候補のうち、選択した短縮タイトルに含まれる単語を含む短縮タイトルの候補の評価値を更新する(ステップS305)。そして、選択部136は、ステップS302に戻って、更新されたスコアに基づいてコンテンツの短縮タイトルを選択する。例えば、選択部136は、ステップS302〜S305の処理により、コンテンツCT11〜CT14等のタイトルに対応する複数の短縮タイトルAT11−1、AT12−2、AT13−4、AT14−2等を選択する。
また、全コンテンツの短縮タイトルを選択した場合(ステップS304:Yes)、選択部136は、処理を終了する。
(7.変形例2)
〔7−1.生成処理〕
上記例においては、各コンテンツに対応する複数の短縮タイトル候補から短縮タイトルを選択する例を示したが、変形例2に係る生成システム1Bは、先に生成された短縮タイトルに含まれる単語のスコアを更新しながら、各コンテンツに対応する短縮タイトルを生成してもよい。例えば、変形例2に係る生成装置100Bは、概要コンテンツに含まれる要約(短縮タイトル)を他の短縮タイトルに含まれる単語に基づいて生成し、生成した複数の要約を含む概要コンテンツをユーザへ提供してもよい。この点について、図16〜図21を用いて説明する。なお、実施形態や変形例1と同様の構成については、同一の符号を付して説明を省略する。
図16に示すように、生成システム1Bには、端末装置10と、生成装置100Bとが含まれる。端末装置10と、生成装置100Bとは図示しない所定の通信網を介して、有線または無線により通信可能に接続される。また、図16に示した生成システム1Bには、複数台の端末装置10や、複数台の生成装置100Bが含まれてもよい。
まず、図16を用いて、変形例2に係る生成処理の一例について説明する。図16は、変形例2に係る生成処理の一例を示す図である。なお、変形例2における生成処理には、選択した複数の短縮タイトルを含む概要コンテンツを提供する処理を含む。図16に示す生成装置100Bは、端末装置10からの提供要求に基づいて短縮タイトルを含む概要コンテンツを提供する提供サービスを提供する。
図16に示す例においては、ユーザU2が利用する端末装置10−2がタッチパネル機能を有するスマートフォンである場合を示す。また、図16の例では、端末装置10−2は、生成装置100Bへ概要コンテンツW21の提供を要求する。また、端末装置10−2は、生成装置100Bから提供された概要コンテンツW21を所定のアプリにより表示する。なお、所定のアプリはブラウザであってもよい。概要コンテンツW21におけるコンテンツCT11〜CT14の配置は、コンテンツCT11が最上位に配置され、コンテンツCT12〜CT14がその下部に配置されるものとする。
生成装置100Bは、端末装置10から概要コンテンツの提供要求を取得する(ステップS31)。以下では、ステップS31における提供要求に対して、生成装置100BがコンテンツCT11〜CT14を含む概要コンテンツW21を提供するものとして説明する。図16に示すコンテンツ一覧CL11は、図6に示すコンテンツ関連情報記憶部124に記憶されるコンテンツ関連情報に対応する。例えば、コンテンツCT11は、タイトル「アイドルグループAの○村○郎、7月期スタートの土曜△時の新ドラマ□□の主演に決定」や画像IM11等を含む。なお、コンテンツCT11には、記事が含まれるが図16では図示を省略する。
生成装置100Bは、概要コンテンツW21を提供するために、各コンテンツCT11〜CT14の各々に対応する短縮タイトルを生成する。図16に示す例においては、生成装置100Bは、概要コンテンツW21において最上位に配置されるコンテンツCT11の短縮タイトルを生成する(ステップS32)。例えば、生成装置100Bは、短縮タイトルリストAL11−11に示すように、コンテンツCT11の短縮タイトルAT11を生成する。例えば、生成装置100Bは、図10に示す木構造ST12を用いて、コンテンツCT11のタイトルに対応する「○村○郎 7月期ドラマ主演」とする短縮タイトルAT11を生成する。
図16の例では、短縮タイトルの文字数の上限値は「全角13」文字に設定されており、生成装置100Bは、文字数の上限値「全角13」を満たす木構造ST12(図10参照)中の経路のうち、スコアが最大の経路を短縮タイトルとする。例えば、生成装置100Bは、コンテンツCT11のタイトルに対応する木構造ST12を探索することにより、全角13文字以内で最大のスコアとなる経路に対応する単語をつなげた文字列を短縮タイトルとして生成する。
短縮タイトルAT11を生成した後、生成装置100Bは、他のコンテンツCT12〜CT14等のタイトルに対応する短縮タイトルを生成するが、このとき、生成装置100は、短縮タイトル間の多様性に関する情報に基づいて、他のコンテンツCT12〜CT14等の短縮タイトルを生成する。例えば、生成装置100Bは、コンテンツCT11の短縮タイトルとして短縮タイトルAT11を生成したことに応じて、他のコンテンツCT12〜CT14等に対応する短縮タイトルを生成する際に用いる木構造におけるノードのスコアを更新する(ステップS33)。その後、図16に示す例においては、生成装置100Bは、概要コンテンツW21においてコンテンツCT11の直下に配置されるコンテンツCT12の短縮タイトルを生成する(ステップS34)。
例えば、生成装置100Bは、他のコンテンツCT12〜CT14等に対応する短縮タイトルを生成する際に用いる木構造について、短縮タイトルAT11に含まれる単語に対応するノードのスコアを低下させる。
ここで、コンテンツCT12のタイトル「アイドルグループAの○村○郎、共演女優○山○子との熱愛報道を否定・・・」が文字列「INPUT」である場合の木構造は、図19中の木構造ST21により示される。具体的には、図19中の木構造ST21は、単語「○村○郎」の類似単語である「××」や「○村」をノードとして追加した木構造であり、短縮タイトルAT11が生成されたことによるスコアの更新を行う前の木構造ST21を示す。
例えば、生成装置100Bは、木構造ST21において、短縮タイトルAT11に含まれる単語のスコアを低下させる。これにより、生成装置100Bは、生成した短縮タイトルAT11に含まれる単語が、その後に生成する短縮タイトルに含まれる可能性を低下させることにより、短縮タイトルAT11に含まれる単語以外の単語を含む短縮タイトルが生成される可能性を高めることができる。したがって、生成装置100Bは、多様な単語(情報)を含む複数の要約候補を生成することができる。図16及び図20の例では、説明を簡単にするために、短縮タイトルAT11に含まれる単語「○村○郎」のスコアが「0.1」だけ減少された場合を示す。具体的には、生成装置100Aは、単語「○村○郎」が先頭に出現する確率に対応するスコアを「0.6」に低下させ、単語「○村○郎」が2つ目に出現する確率に対応するスコアを「0.4」に低下させる。これにより、生成装置100Bは、生成した短縮タイトルに含まれる単語以外の単語を含む短縮タイトルが生成される確率を高めることにより、概要コンテンツの情報量を増加させ、情報の多様性を向上させることができる。なお、単語「○村○郎」が3つ目以降に出現する確率に対応するスコアは図示を省略する。
ここで、短縮タイトルAT11に含まれる単語「○村○郎」が先頭に出現する確率に対応するスコアを「0.6」に低下させ、単語「○村○郎」が2つ目に出現する確率に対応するスコアを「0.4」に低下させた木構造は、図20中の木構造ST22により示される。このように、生成した短縮タイトルAT11に含まれる単語のスコアを低下させたり除外したりした木構造を探索することにより、生成装置100Bは、コンテンツCT12のタイトル「アイドルグループAの○村○郎、共演女優○山○子との熱愛報道を否定・・・」の短縮タイトルAT12を生成する。
上述したように、図16の例では、短縮タイトルの文字数の上限値は「全角13」文字であり、生成装置100Bは、文字数の上限値「全角13」を満たす木構造ST22(図20参照)中の経路のうち、スコアが最大の経路を短縮タイトルとする。例えば、生成装置100Bは、コンテンツCT12のタイトルに対応する木構造ST22を探索することにより、全角13文字以内で最大のスコアとなる経路に対応する単語をつなげた文字列を短縮タイトルとして生成する。
例えば、図16の短縮タイトルリストAL11−12に示すように、生成装置100Bは、コンテンツCT12のタイトルに対応する短縮タイトルAT12を生成する。具体的には、生成装置100Bは、コンテンツCT12のタイトルに対応する「XX 共演女優との熱愛否定」とする短縮タイトルAT12を生成する。
また、生成装置100Bは、コンテンツCT12の短縮タイトルAT12を生成したことに応じて、他のコンテンツCT13〜CT14等に対応する木構造の単語のスコアを更新する。その後、生成装置100Bは、短縮タイトルリストAL11−12に示すように、「A社サーチャージ7月も継続」とする、コンテンツCT13のタイトルに対応する短縮タイトルAT13を生成する。
また、生成装置100Bは、コンテンツCT13の短縮タイトルAT13を生成したことに応じて、他のコンテンツCT14等に対応する木構造の単語のスコアを更新する。その後、生成装置100Bは、短縮タイトルリストAL11−12に示すように、「20XX年の五輪開催国決定」とする、コンテンツCT14のタイトルに対応する短縮タイトルAT14を生成する。
その後、生成装置100Bは、コンテンツCT11〜CT14に対して生成した短縮タイトルを含む概要コンテンツを端末装置10に提供する(ステップS35)。具体的には、生成装置100Bは、短縮タイトルAT11〜AT14を含む概要コンテンツW21を端末装置10へ提供する。
そして、概要コンテンツW21を受信した端末装置10は、概要コンテンツW21を表示する(ステップS36)。図16では、端末装置10は、コンテンツCT11〜CT14の各々に対応する短縮タイトルAT11〜AT14や画像IM11〜IM14を含む概要コンテンツW21を表示する。
上述したように、生成装置100Bは、要約生成モデルM11や文字情報に対応するコンテンツ関連情報に基づいて文字情報から複数の短縮タイトルを生成する。上記の例では、生成装置100Bは、要約生成モデルM11とコンテンツCT11のコンテンツ関連情報とに基づいて、各コンテンツCT11のタイトルから短縮タイトルを生成する。そして、生成装置100Bは、他のコンテンツにおける木構造について、生成した短縮タイトルに含まれる単語のスコアを更新し、他のコンテンツの短縮タイトルを生成することにより、タイトルを要約する作業負荷を軽減しつつ、適切な要約を生成可能にすることができる。
〔7−2.生成装置の構成〕
次に、図17を用いて、変形例2に係る生成装置100Bの構成について説明する。図17は、変形例2に係る生成装置100Bの構成例を示す図である。図17に示すように、生成装置100Bは、通信部110と、記憶部120と、制御部130Bとを有する。なお、生成装置100Bにおいて、生成装置100や生成装置100Aと同様の構成は適宜説明を省略する。
(制御部130B)
制御部130Bは、コントローラ(controller)であり、例えば、CPUやMPU等によって、生成装置100B内部の記憶装置に記憶されている各種プログラム(生成プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130Bは、コントローラ(controller)であり、例えば、ASICやFPGA等の集積回路により実現される。
図2に示すように、制御部130Bは、取得部131Bと、学習部132と、算出部133Bと、生成部134Bと、提供部135Aとを有し、以下に説明する情報処理の機能や作用を実現または実行する。
(取得部131B)
取得部131Bは、取得部131や取得部131Aと同様に各種情報を取得する。例えば、取得部131Bは、外部の情報処理装置から情報を取得する。また、例えば、取得部131Bは、記憶部120から情報を取得する。また、取得部131Bは、端末装置10からコンテンツの提供要求を取得する。例えば、取得部131Bは、提供元装置からコンテンツの入稿を取得する。例えば、取得部131Bは、記事やタイトルを含むコンテンツの入稿を取得する。例えば、取得部131Bは、多数の提供元装置からコンテンツの入稿を取得してもよい。例えば、取得部131Bは、提供元装置から入稿されたコンテンツをコンテンツ関連情報記憶部124に記憶する。取得部131Bは、概要コンテンツに要約が表示される各文字情報の各々に対応する複数の要約候補を取得する。取得部131Bは、概要コンテンツにおける各文字情報に対応する要約の配置に関する情報を取得する。例えば、取得部131Bは、概要コンテンツW21において、コンテンツCT11が最上位に配置され、コンテンツCT12〜CT14がその下部に配置されることを示す情報を取得する。
また、取得部131Bは、要約とその元となる情報とを対応付けた情報を取得する。図16では、取得部131Bは、所定の編集者が利用する編集者端末から短縮タイトルと元となるタイトルとが対応付けられた要約一覧EL11を取得する。
また、取得部131Bは、文字情報と、提供先となるユーザに関する情報であるユーザ関連情報とを取得する。例えば、取得部131Bは、所定のコンテンツに含まれるタイトルを文字情報として取得する。例えば、取得部131Bは、所定のコンテンツに含まれる記事を文字情報として取得する。
例えば、取得部131Bは、ユーザが利用する端末装置10に関する端末情報をユーザ関連情報として取得する。例えば、取得部131Bは、ユーザの端末装置10における操作履歴に関する情報をユーザ関連情報として取得する。例えば、取得部131Bは、ユーザの属性情報をユーザ関連情報として取得する。例えば、取得部131Bは、ユーザのコンテキストに関する情報をユーザ関連情報として取得する。
また、取得部131Bは、外部の情報処理装置から各種モデルを取得してもよい。例えば、取得部131Bは、外部の情報処理装置から要約生成モデルM11やユーザモデル等の種々のモデルを取得してもよい。なお、外部の情報処理装置から取得部131Bにより要約生成に用いるモデルを取得する場合、生成装置100Bは、学習部132を有しなくてもよい。
(算出部133B)
算出部133Bは、算出部133や算出部133Aと同様に各種情報を算出する。例えば、算出部133Bは、一のコンテンツの短縮タイトルが生成選択されたことに応じて、他のコンテンツに対応する単語のスコアを更新してもよい。図16の例では、算出部133Bは、コンテンツCT11の短縮タイトルAT11を生成したことに応じて、他のコンテンツCT12〜CT14等に対応する木構造の単語のスコアを更新する。例えば、算出部133Bは、コンテンツCT11の短縮タイトルとして短縮タイトルAT11を生成したことに応じて、他のコンテンツCT12〜CT14等に対応する短縮タイトルを生成する際に用いる木構造におけるノードのスコアを更新する。なお、スコアの更新は、生成部134Bが行ってもよい。
(生成部134B)
生成部134Bは、生成部134や生成部134Aと同様に種々の情報を生成する。例えば、生成部134Bは、複数の文字情報から生成される複数の要約の多様性に関する情報に基づいて、各文字情報の要約を生成する。
図16の例では、生成部134Bは、概要コンテンツW21を提供するために、各コンテンツCT11〜CT14の各々に対応する短縮タイトルを生成する。例えば、生成部134Bは、概要コンテンツW21において最上位に配置されるコンテンツCT11の短縮タイトルを生成する。例えば、生成部134Bは、短縮タイトルリストAL11−11に示すように、コンテンツCT11の短縮タイトルAT11を生成する。例えば、生成部134Bは、図10に示す木構造ST12を用いて、コンテンツCT11のタイトルに対応する「○村○郎 7月期ドラマ主演」とする短縮タイトルAT11を生成する。
図16の例では、短縮タイトルの文字数の上限値は「全角13」文字に設定されており、生成部134Bは、文字数の上限値「全角13」を満たす木構造ST12(図10参照)中の経路のうち、スコアが最大の経路を短縮タイトルとする。例えば、生成部134Bは、コンテンツCT11のタイトルに対応する木構造ST12を探索することにより、全角13文字以内で最大のスコアとなる経路に対応する単語をつなげた文字列を短縮タイトルとして生成する。
短縮タイトルAT11を生成した後、生成部134Bは、他のコンテンツCT12〜CT14等のタイトルに対応する短縮タイトルを生成するが、このとき、生成部134Bは、短縮タイトル間の多様性に関する情報に基づいて、他のコンテンツCT12〜CT14等の短縮タイトルを生成する。その後、図16に示す例においては、生成部134Bは、概要コンテンツW21においてコンテンツCT11の直下に配置されるコンテンツCT12の短縮タイトルを生成する。
また、生成した短縮タイトルAT11に含まれる単語のスコアを低下させたり除外したりした木構造を探索することにより、生成部134Bは、コンテンツCT12のタイトル「アイドルグループAの○村○郎、共演女優○山○子との熱愛報道を否定・・・」の短縮タイトルAT12を生成する。
例えば、図16の短縮タイトルリストAL11−12に示すように、生成部134Bは、コンテンツCT12のタイトルに対応する短縮タイトルAT12を生成する。具体的には、生成部134Bは、コンテンツCT12のタイトルに対応する「XX 共演女優との熱愛否定」とする短縮タイトルAT12を生成する。
(提供部135A)
提供部135Aは、生成部134Bにより生成された短縮タイトルを含む概要コンテンツを提供する。図16の例では、提供部135Aは、短縮タイトルAT11〜AT14を含む概要コンテンツW21を端末装置10へ提供する。
〔7−3.短縮タイトルの生成〕
次に、図18を用いて、変形例2に係る生成システム1Bにおける要約の生成について説明する。図18は、変形例2に係る短縮タイトルの生成の一例を示すフローチャートである。
図18に示すように、生成装置100Bの取得部131Bは、複数のタイトルを取得する(ステップS401)。例えば、取得部131Bは、端末装置10からコンテンツCT11〜CT14のタイトルを取得する。また、取得部131Bは、コンテンツCT11〜CT14のタイトルに関するコンテンツ関連情報を取得する(ステップS402)。例えば、取得部131Bは、コンテンツCT11〜CT14の記事やカテゴリやトピックを取得する。なお、ステップS401とステップS402とは、同時に行われてもよいし、ステップS402のほうがステップS401よりも先に行われてもよい。また、取得部131Bは、コンテンツごとに取得してもよい。
また、取得部131Bは、短縮タイトルの生成に用いるモデルを取得する(ステップS403)。例えば、取得部131Bは、モデル情報記憶部122から要約生成モデルM11を取得する。
また、生成装置100Bの生成部134Bは、短縮タイトルを未生成の一のコンテンツを選択する(ステップS404)。例えば、生成部134Bは、概要コンテンツW21において最上位に配置されるコンテンツCT11を選択する。
また、取得部131Bは、タイトルに含まれる単語の類似単語を取得する(ステップS405)。例えば、取得部131Bは、類似単語情報記憶部123からタイトルに含まれる単語の類似単語を取得する。
その後、生成部134Bは、モデルと文字数の上限値とに基づいて短縮タイトルを生成する(ステップS406)。例えば、生成部134Bは、コンテンツCT11の短縮タイトルの表示先やユーザU2による指定等により決定される短縮タイトルの文字数の上限値に基づいて短縮タイトルを生成する。生成部134Bは、短縮タイトルの文字数の上限値「全角13」文字に基づいて短縮タイトルを生成する。その後、生成部134Bは、全コンテンツの短縮タイトルを生成したかを判定する(ステップS407)。
全コンテンツの短縮タイトルを生成していない場合(ステップS407:No)、生成部134Bは、短縮タイトルを未生成の一のコンテンツを選択する(ステップS408)。そして、生成装置100Bの算出部133Bは、生成済みの短縮タイトルに含まれる単語のスコアを更新する(ステップS409)。その後、ステップS405に戻って、生成部134Bは、短縮タイトルの生成を繰り返す。生成装置100Bは、ステップS405〜S409の処理により、コンテンツCT11〜CT14等のタイトルに対応する短縮タイトルAT11〜AT14等を生成する。
また、全コンテンツの短縮タイトルを生成した場合(ステップS407:Yes)、生成部134Bは、処理を終了する。
〔7−4.短縮タイトルの生成〕
次に、図19及び図20を用いて、変形例2に係る生成システム1Bにおける短縮タイトルの生成について説明する。図19及び図20は、変形例2に係る短縮タイトルの生成の一例を示す図である。
まず、図19を用いて短縮タイトルを生成する処理の概要を説明する。図19は、類似単語の追加後であり、スコアの更新を行う前の木構造を示す図である。図19に示す例においては、入力情報IP21に示すように入力「INPUT」は、コンテンツCT12のタイトル「アイドルグループAの○村○郎、共演女優○山○子との熱愛報道を否定・・・」である。また、図19に示す例においては、文字数上限MX21に示すように上限値「MAX」は、「13」である。例えば、上限値「MAX」は、「全角13」文字とする。すなわち、図19中の木構造ST21は、入力「INPUT」がコンテンツCT12のタイトル「アイドルグループAの○村○郎、共演女優○山○子との熱愛報道を否定・・・」に変更されたことによりノードが変更される点で、図10中の木構造ST12と相違する。
図19に示す例では、生成装置100Bは、コンテンツ関連情報を加味したスコアを算出する。例えば、生成装置100Bは、例えば、図9中の算出式MF11に示す式等により、コンテンツCT12のタイトルのコンテンツ関連情報を加味したスコアを算出する。例えば、生成装置100Bは、例えば上記式(7)を用いて、コンテンツがCT12である場合のコンテンツ関連情報「CINF12」に対して短縮タイトルを生成する場合において、単語「○村○郎」が先頭に出現する確率に対応するスコアを算出する。図19の例では、生成装置100Bは、上記式(7)を用いてアイドルグループ名を示す単語「A」のスコアを最も高い「0.72」と算出する。また、図19の例では、生成装置100Bは、上記式(7)を用いて単語「○村○郎」のスコアを単語「A」のスコアの次に高い「0.7」と算出する。
図19に示す例では、生成装置100Bは、各単語の類似単語を追加した木構造を探索することにより、生成装置100Bは、コンテンツCT12のタイトル「アイドルグループAの○村○郎、共演女優○山○子との熱愛報道を否定・・・」の短縮タイトルを生成する。これにより、生成装置100Bは、コンテンツCT12のタイトルに対応する「×× 共演女優との熱愛否定」とする短縮タイトルAT12を生成する。
次、図20を用いて短縮タイトルAT11生成後におけるスコアの更新について説明する。図20は、生成された短縮タイトルに含まれる単語のスコアの更新後の木構造を示す図である。具体的には、図20の例における木構造ST22は、生成リストLT11−11に示す短縮タイトルAT11に含まれる単語「○村○郎」等に対応するノードのスコアを更新した木構造を示す。
例えば、生成装置100Bは、木構造ST22中の「W1」の範囲に位置する単語「○村○郎」に対応するノードのスコアを更新する(ステップS409−1)。例えば、生成装置100Bは、木構造ST22中の「W1」の範囲に位置する単語「○村○郎」に対応するノードのスコアを低下させる。また、例えば、生成装置100Bは、木構造ST22中の「W2」の範囲に位置する単語「○村○郎」に対応するノードのスコアを更新する(ステップS409−2)。例えば、生成装置100Bは、木構造ST22中の「W2」の範囲に位置する単語「○村○郎」に対応するノードのスコアを低下させる。なお、他のノードについてのスコアの更新は図示を省略する。
図20の例では、生成リストLT11−11に示す短縮タイトルAT11に含まれる単語「○村○郎」が先頭に出現する確率に対応するスコアを「0.6」に低下させ、単語「○村○郎」が2つ目に出現する確率に対応するスコアを「0.4」に低下させる。
このように、コンテンツCT11の短縮タイトルAT11に含まれる単語のスコアを低下させたり除外したりした木構造を探索することにより、生成装置100Bは、コンテンツCT12のタイトル「アイドルグループAの○村○郎、共演女優○山○子との熱愛報道を否定・・・」の短縮タイトルを生成する。これにより、生成装置100Bは、コンテンツCT12のタイトルに対応する「×× 共演女優との熱愛否定」とする短縮タイトルAT12を生成する。
〔8.表示位置に基づく短縮タイトルの生成〕
上記例においては、タイトルに含まれる単語やその単語の類似単語等に基づいて短縮タイトルを生成する場合を示したが、生成装置100、100A、100Bは、短縮タイトルの表示位置の関係に基づいて、短縮タイトルを生成してもよい。この点について図21を用いて説明する。なお、以下では、生成装置100Bが行う場合を例に説明する。
図21中の端末装置10−31は、概要コンテンツW31−1を表示している状態を示す。図21では、端末装置10−31は、コンテンツCT31、CT32等の各々に対応する短縮タイトルAT31、AT32−1や画像IM31、IM32等を含む概要コンテンツW31−1を表示する。また、図21中の端末装置10−32は、概要コンテンツW31−2を表示している状態を示す。図21では、端末装置10−32は、コンテンツCT31、CT32等の各々に対応する短縮タイトルAT31、AT32−2や画像IM31、IM32等を含む概要コンテンツW31−2を表示する。
ここで、図21に示す例では、生成装置100Bが概要コンテンツW31−1や概要コンテンツW32−2を提供する時点において所定のイベントが行われている場合を示す。例えば、サッカーの大会の決勝が行われているものとする。また、概要コンテンツW31−1や概要コンテンツW32−2におけるコンテンツCT31、CT32等の配置は、コンテンツCT31が最上位に配置され、コンテンツCT32がコンテンツCT31の直下に配置されるものとする。なお、コンテンツCT31は、サッカーの大会○○の決勝の試合開始に関するコンテンツであり、コンテンツCT32は、サッカーの大会○○の決勝で開始後すぐにA国の選手が得点したことに関するコンテンツであるものとする。
この場合、生成装置100Bは、コンテンツCT31について「サッカー○○決勝 試合開始」とする短縮タイトルAT31を生成する。例えば、生成装置100Bは、コンテンツCT31のタイトルに対応する木構造等を用いて、短縮タイトルAT31を生成する。
一方、生成装置100Bは、コンテンツCT32について短縮タイトルを生成する際に、短縮タイトルの先頭にコンテンツCT32がコンテンツCT31の続きの情報であることを示す情報を加えてもよい。例えば、生成装置100Bは、コンテンツCT32について短縮タイトルを生成する際に、先頭に「(続報)」と記載されたマークMK11を加えてもよい。そして、成装置100Bは、コンテンツCT31のタイトルに対応する木構造等を用いて、先頭に「(続報)」が加えられた短縮タイトルAT32−1を生成してもよい。
例えば、生成装置100Bは、コンテンツCT32について短縮タイトルを生成する際に、木構造のノードからサッカーの大会○○に関するノードを除いて短縮タイトルAT32−1を生成してもよい。例えば、生成装置100Bは、コンテンツCT32について短縮タイトルを生成する際に、木構造のノードから「サッカー」や「○○」や「決勝」等のノードを除いて短縮タイトルAT32−1を生成してもよい。これにより、生成装置100Bは、重複する情報を除いたうえで、短縮タイトルを生成することができる。
また、例えば、生成装置100Bは、コンテンツCT32について短縮タイトルを生成する際に、先頭に「└」のマークMK12を加えてもよい。そして、生成装置100Bは、コンテンツCT31のタイトルに対応する木構造等を用いて、先頭に「└」が加えられた短縮タイトルAT32−2を生成してもよい。このように、生成装置100Bは、各短縮タイトルの配置に応じて、所定のマーク等を追加したり、木構造からノードを除いたりすることにより、より適切な短縮タイトルを生成することができる。
なお、上述した例では、生成装置100Bが所定の条件を満たす配置の場合に先頭に所定のマークを追加する場合を示したが、生成装置100Bは、所定のマークをノードとして木構造に追加してもよい。例えば、生成装置100Bは、配置位置が上位のコンテンツに関連する短縮タイトルであることを示すマークをノードとして木構造に追加してもよい。例えば、生成装置100Bは、図20中の木構造ST22における「W1」の範囲に位置するノードとして、所定のマークを追加してもよい。例えば、生成装置100Bは、所定のマークのノードに所定のスコアを付加してもよい。なお、生成装置100Bは、掲載する順序を変更してもよい。例えば、生成装置100Bは、コンテンツCT31類似するコンテンツであるコンテンツCT32をコンテンツCT31の直下に配置するように、概要コンテンツW31−1、W31−2における各コンテンツの掲載する順序を変更してもよい。このように、生成装置100Bは、類似する内容のコンテンツを連続して配置する用の表示順を変更する処理を行ってもよい。
〔9.効果〕
上述してきたように、実施形態に係る生成装置100、変形例1に係る生成装置100A、及び変形例2に係る生成装置100Bは、取得部131、131A、131Bと、生成部134、134A、134Bと、を有する。取得部131、131A、131Bは、文字情報と、文字情報に関連するコンテンツ関連情報とを取得する。生成部134、134A、134Bは、取得部131、131A、131Bにより取得したコンテンツ関連情報に基づいて、取得部131、131A、131Bにより取得した文字情報の要約の候補として複数の要約候補を生成する。
これにより、実施形態に係る生成装置100、変形例1に係る生成装置100A、及び変形例2に係る生成装置100Bは、文字情報と、文字情報に関連するコンテンツ関連情報に基づいて、文字情報の要約の候補として複数の要約候補を生成することにより、所定の文字情報を要約する作業負荷を軽減しつつ、適切な要約を生成可能にすることができる。
また、実施形態に係る生成装置100、変形例1に係る生成装置100A、及び変形例2に係る生成装置100Bにおいて、生成部134、134A、134Bは、複数の要約候補の多様性に関する情報に基づいて、複数の要約候補を生成する。
これにより、実施形態に係る生成装置100、変形例1に係る生成装置100A、及び変形例2に係る生成装置100Bは、多様性に関する情報に基づいて、文字情報の要約の候補として複数の要約候補を生成することにより、多様な要約候補が生成できるため、所定の文字情報を要約する作業負荷を軽減しつつ、適切な要約を生成可能にすることができる。
また、実施形態に係る生成装置100、変形例1に係る生成装置100A、及び変形例2に係る生成装置100Bにおいて、生成部134、134A、134Bは、複数の要約候補の多様性に関する情報である他の要約候補に含まれるか否かを示す情報により変動する各単語のスコアに基づいて算出される評価値に応じて、要約候補を生成する。
これにより、実施形態に係る生成装置100、変形例1に係る生成装置100A、及び変形例2に係る生成装置100Bは、複数の要約候補の多様性に関する情報である他の要約候補に含まれるか否かを示す情報により各単語のスコアを変動させ、他の要約候補に含まれる単語以外の単語を含む要約候補が生成される可能性を高めることにより、所定の文字情報を要約する作業負荷を軽減しつつ、適切な要約を生成可能にすることができる。
また、実施形態に係る生成装置100、変形例1に係る生成装置100A、及び変形例2に係る生成装置100Bにおいて、生成部134、134A、134Bは、文字情報に含まれる単語と、当該単語に類似する類似単語とを含む各単語のスコアに基づいて算出される評価値に基づいて、要約候補を生成する。
これにより、実施形態に係る生成装置100、変形例1に係る生成装置100A、及び変形例2に係る生成装置100Bは、文字情報に含まれる単語と、その単語に類似する類似単語とを含む各単語のスコアに基づくことにより種々の単語が含まれる要約が生成される可能性が高まり、所定の文字情報を要約する作業負荷を軽減しつつ、適切な要約を生成可能にすることができる。
また、実施形態に係る生成装置100、変形例1に係る生成装置100A、及び変形例2に係る生成装置100Bにおいて、生成部134、134A、134Bは、第1の要約候補に含まれる単語のスコアを低下させた各単語のスコアに基づいて算出される評価値に基づいて、第2の要約候補を生成する。
これにより、実施形態に係る生成装置100、変形例1に係る生成装置100A、及び変形例2に係る生成装置100Bは、要約候補に含まれる単語のスコアを低下させ、他の要約候補に含まれる単語以外の単語を含む要約候補が生成される可能性を高めることにより、所定の文字情報を要約する作業負荷を軽減しつつ、適切な要約を生成可能にすることができる。
また、変形例1に係る生成装置100Aは、選択部136を有する。選択部136は、各要約候補の評価値に基づいて、複数の要約候補から一の要約候補を文字情報の要約として選択する。
これにより、変形例1に係る生成装置100Aは、各要約候補の評価値に基づいて、複数の要約候補から一の要約候補を文字情報の要約として選択することにより、所定の文字情報を要約する作業負荷を軽減しつつ、適切な要約を生成可能にすることができる。
また、変形例1に係る生成装置100Aにおいて、取得部131Aは、概要コンテンツに要約が表示される各文字情報の各々に対応する複数の要約候補を取得する。選択部136は、各文字情報に対応する複数の要約候補のうち、一の要約候補を各文字情報の要約として選択した場合における概要コンテンツの情報量と、情報の多様性に関する情報とに基づいて、各文字情報に対応する要約を選択する。
これにより、変形例1に係る生成装置100Aは、各要約候補の評価値に基づいて、複数の要約候補から一の要約候補を文字情報の要約として選択することにより、所定の文字情報を要約する作業負荷を軽減しつつ、適切な要約を生成可能にすることができる。
また、変形例1に係る生成装置100Aにおいて、取得部131Aは、概要コンテンツに要約が表示される各文字情報の各々に対応する複数の要約候補を取得する。選択部136は、各文字情報に対応する複数の要約候補のうち、一の要約候補を各文字情報の要約として選択した場合における概要コンテンツの情報量と、情報の多様性に関する情報とに基づいて、各文字情報に対応する要約を選択する。
これにより、変形例1に係る生成装置100Aは、各文字情報に対応する複数の要約候補のうち、一の要約候補を各文字情報の要約として選択した場合における概要コンテンツの情報量と、情報の多様性に関する情報とに基づいて、各文字情報に対応する要約を選択することにより、所定の文字情報を要約する作業負荷を軽減しつつ、適切な要約を生成可能にすることができる。
また、変形例1に係る生成装置100Aにおいて、選択部136は、一の要約候補が他の文字情報に対応する要約に含まれる単語を含む場合、一の要約候補の評価値を低下させることにより変動する各要約候補の評価値に基づいて、各文字情報に対応する要約を選択する。
これにより、変形例1に係る生成装置100Aは、一の要約候補が他の文字情報に対応する要約に含まれる単語を含む場合、一の要約候補の評価値を低下させることにより変動する各要約候補の評価値に基づいて、各文字情報に対応する要約を選択することにより、所定の文字情報を要約する作業負荷を軽減しつつ、適切な要約を生成可能にすることができる。
また、変形例1に係る生成装置100Aにおいて、取得部131Aは、概要コンテンツにおける各文字情報に対応する要約の配置に関する情報を取得する。選択部136は、概要コンテンツにおいて先に表示される要約に含まれる単語を含む場合、一の要約候補の評価値を低下させることにより変動する各要約候補の評価値に基づいて、各文字情報に対応する要約を選択する。
これにより、変形例1に係る生成装置100Aは、概要コンテンツにおいて先に表示される要約に含まれる単語を含む場合、一の要約候補の評価値を低下させることにより変動する各要約候補の評価値に基づいて、各文字情報に対応する要約を選択することにより、所定の文字情報を要約する作業負荷を軽減しつつ、適切な要約を生成可能にすることができる。
また、変形例2に係る生成装置100Bにおいて、取得部131Bは、複数の文字情報と、複数の文字情報の各々に関連するコンテンツ関連情報とを取得する。生成部134Bは、取得部131Bにより取得した各文字情報に対応するコンテンツ関連情報と、複数の文字情報から生成される複数の要約の多様性に関する情報とに基づいて、各文字情報の要約を生成する。
これにより、実施形態に係る生成装置100、変形例1に係る生成装置100A、及び変形例2に係る生成装置100Bは、各文字情報に対応するコンテンツ関連情報と、複数の文字情報から生成される複数の要約の多様性に関する情報とに基づくことにより種々の単語が含まれる要約が生成される可能性が高まり、所定の文字情報を要約する作業負荷を軽減しつつ、適切な要約を生成可能にすることができる。
〔10.ハードウェア構成〕
上述してきた実施形態に係る生成装置100、変形例1に係る生成装置100A、及び変形例2に係る生成装置100Bは、例えば図22に示すような構成のコンピュータ1000によって実現される。図22は、生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(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が実施形態に係る生成装置100、100A、100Bとして機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130、130A、130Bの機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔11.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。