説明

要約文生成装置及び要約文生成プログラム

【課題】長さの制御が文単位より細かくでき、リード文を用いてリード文より多くの情報を含む自然な要約文を生成できる要約文生成装置を提供する。
【解決手段】要約文生成装置1は、リード文と複数の他の文とを形態素解析する形態素解析部11aと、この解析結果に基づいて各々の他の文のリード文に対する類似度を算出する文類似度算出手段12と、この類似度が閾値以上となる他の文を選定する編集文選定部13aと、選定された他の文に含まれる他文文字列と、リード文に含まれるリード文字列とで一致するものを対応させ、対応付けられた当該他文文字列の前もしくは後ろの文字列を、リード文において、対応付けられた当該リード文字列に対して、他文文字列に対する位置と同じ位置に挿入、あるいは、当該リード文字列の同じ位置の文字列と置換するリード文編集手段14とを備えることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自然言語処理の技術に関し、特に、複数の文からなる文章の要約文を生成する要約文生成装置及び要約文生成プログラムに関する。
【背景技術】
【0002】
従来、文章の要約文を生成する手法には大きく分類して、重要文抽出法、全体編集法及び重要語連結法の3種類がある。重要文抽出法は、複数の文からなる文章(原文)から重要度の高い文を抜き出して組み合わせ、要約文を生成する方法である。例えば、原文の中から重要な文を抽出して、それらを重要度の高い順に並べる手法がある(非特許文献1参照)。中でも、新聞などの報道文では冒頭にリード文と呼ばれる全体のまとめに相当する文があることから、これを抽出するとかなり良い要約文になることが報告されている(非特許文献2参照)。更にこの考え方を推し進めて、ニュース等の原稿からリード文を選択して、その内容と重なりの少ない文を順次選択していくことで、要約文を作成する手法が開示されている(特許文献1参照)。
【0003】
また、全体編集法は、原文の文章全体から文字列を削除したり、より短い文字列に置換したりして文章を削減し、要約文を生成する方法である。例えば、原文から削減する部分を特定して、それらを他の文字列に置換して文章を削減する手法が開示されている(特許文献2、特許文献3参照)。
【0004】
更に、重要語連結法は、原文から重要度の高い単語(重要語)を推定し、これらの重要語を連結して要約文を生成する方法である。例えば、原文から重要語を抜き出して、要約文の尤もらしさを示す要約スコアを算出し、この要約スコアが最大となるように重要語を接合することで、なるべく自然な要約文を生成する手法が開示されている(非特許文献3参照)。
【特許文献1】特開2001−249948号公報(段落番号0024〜0032)
【特許文献2】特開2000−99536号公報(段落番号0023〜0062)
【特許文献3】特開2004−253011号公報(段落番号0024〜0137)
【非特許文献1】H. Luhn, "The automatic creation of literature abstracts", IBM Journal of Research and Development, Vol.2, No.2, (1958)
【非特許文献2】奥村、難波、「テキスト自動要約に関する研究動向」、自然言語処理、Vol.6,No.6,1999
【非特許文献3】堀、古井、「講演音声の自動要約の試み」、話し言葉の科学と工学ワークショップ講演予稿集、2001
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、重要文抽法では、文単位で組み合わせて要約文を生成するため、生成される要約文の長さの制御単位が一文の長さとなり、細かな長さの制御が不可能であった。また、選択された文同士のつながりが悪い場合には、要約文の内容が不明となるという問題があった。
【0006】
また、全体編集法では、原文の文字列の削除や置換などの編集の知識をあらかじめ収集しておく必要があり、手間がかかる。また、原文の文章全体を編集した場合、重要な情報が削除される可能性もあり、情報不足になる可能性があるという問題があった。
【0007】
更に、重要語連結法では、特に長い要約文を生成する場合に、要約文を自然な文にするのが困難であるという問題があった。このため、この手法単独では、リード文より長く、かつ、十分な情報を有する要約文を作るのは困難であった。
【0008】
本発明は、前記従来技術の問題を解決するために成されたもので、長さの制御が文単位より細かくできるとともに、リード文を用いて、リード文より更に多くの情報を含む自然な要約文を生成することができる要約文生成装置及び要約文生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
前記課題を解決するため、請求項1に記載の要約文生成装置は、リード文と、複数の他の文とからなる文章から、当該文章の要約文を生成する要約文生成装置であって、形態素解析手段と、文類似度算出手段と、編集文選定手段と、リード文編集手段とを備える構成とした。
【0010】
かかる構成によれば、要約文生成装置は、形態素解析手段によって、リード文と複数の他の文とのそれぞれについて形態素解析し、文類似度算出手段によって、形態素解析手段で解析された形態素ごと、あるいは、複数の前記形態素の組み合わせごとの頻度をリード文と複数の他の文とについて解析して、この頻度から複数の他の文の各々について、リード文に対する類似度を算出する。また、要約文生成装置は、編集文選定手段によって、文類似度算出手段で算出された類似度が、予め設定された第1の閾値以上となる他の文を選定し、リード文編集手段によって、リード文を、編集文選定手段で選定された他の文に含まれる文字列である他文文字列に基づいて編集する。ここで、要約文生成装置は、リード文編集手段によって、リード文に含まれる文字列であるリード文字列と、他文文字列とについて一致するもの同士を対応させる。更に、要約文生成装置は、リード文編集手段によって、対応付けられた当該他文文字列の前もしくは後ろの文字列である隣接他文文字列を、リード文において、対応付けられた当該リード文字列に対して、他文文字列に対する隣接他文文字列の位置と同じ位置に挿入する操作、及び、当該リード文字列に対して同じ位置にある文字列である隣接リード文字列と置換する操作の少なくとも一方の操作を行う。
【0011】
これによって、要約文生成装置は、リード文に対して、類似度が第1の閾値以上となる他の文の文字列を挿入、あるいは、リード文の文字列と置換して、要約文を生成することができる。
【0012】
また、請求項2に記載の要約文生成装置は、請求項1に記載の要約文生成装置において、前記リード文編集手段が、前記リード文字列と、前記他文文字列とについて一致するもの同士を対応させ、前記隣接他文文字列を、前記リード文において、対応付けられた当該リード文字列に対して、前記他文文字列に対する前記隣接他文文字列の位置と同じ位置に挿入する操作、及び、当該リード文字列に対して前記同じ位置にある文字列である隣接リード文字列と置換する操作の少なくとも一方の操作の編集候補を生成する編集候補生成手段と、外部から入力された、前記リード文の編集後の長さの上限値の情報に基づいて、前記編集候補生成手段によって生成された編集候補の編集を前記リード文に対して行った際の前記リード文の編集後の長さが、前記上限値以下となる場合に当該編集を行う編集判定手段とを有する構成とした。
【0013】
これによって、要約文生成装置は、リード文の編集後の長さの上限値以下の長さの要約文を生成することができる。
【0014】
更に、請求項3に記載の要約文生成装置は、請求項1又は請求項2に記載の要約文生成装置において、前記文類似度算出手段によって算出された類似度が、前記第1の閾値以下の予め設定された第2の閾値以下となる前記他の文を選定し、前記リード文編集手段によって編集された文の後に出力する補足文選定出力手段を更に備える構成とした。
【0015】
これによって、要約文生成装置は、類似度が第2の閾値以下となる他の文を、リード文編集手段によって編集された文の後に追加した要約文を生成することができる。
【0016】
また、請求項4に記載の要約文生成装置は、請求項1から請求項3のいずれか一項に記載の要約文生成装置において、前記形態素解析手段による解析結果に基づいて、前記リード文と複数の前記他の文とのそれぞれについて構文解析する構文解析手段を更に備え、前記文類似度算出手段が、前記構文解析手段によって解析された係り受けの関係にある文節の組み合わせごとの頻度を前記リード文と複数の前記他の文とについて解析して、この頻度から複数の前記他の文の各々の文ついて、前記リード文に対する類似度を算出する構成とした。
【0017】
これによって、要約文生成装置は、構文解析の結果に基づいて算出された類似度に基づいて選定された他の文の文字列をリード文に挿入、あるいは、リード文においてリード文の文字列と置換して、要約文を生成することができる。
【0018】
更に、請求項5に記載の要約文生成プログラムは、リード文と、複数の他の文とからなる文章から、当該文章の要約文を生成するためにコンピュータを、形態素解析手段、文類似度算出手段、編集文選定手段、リード文編集手段として機能させることとした。
【0019】
かかる構成によれば、要約文生成プログラムは、形態素解析手段によって、リード文と複数の他の文とのそれぞれについて形態素解析し、文類似度算出手段によって、形態素解析手段で解析された形態素ごと、あるいは、複数の前記形態素の組み合わせごとの頻度をリード文と複数の他の文とについて解析して、この頻度から複数の他の文の各々について、リード文に対する類似度を算出する。また、要約文生成プログラムは、編集文選定手段によって、文類似度算出手段で算出された類似度が、予め設定された第1の閾値以上となる他の文を選定し、リード文編集手段によって、リード文を、編集文選定手段で選定された他の文に含まれる文字列である他文文字列に基づいて編集する。ここで、要約文生成プログラムは、リード文編集手段によって、リード文に含まれる文字列であるリード文字列と、他文文字列とについて一致するもの同士を対応させる。更に、要約文生成プログラムは、リード文編集手段によって、対応付けられた当該他文文字列の前もしくは後ろの文字列である隣接他文文字列を、リード文において、対応付けられた当該リード文字列に対して、他文文字列に対する隣接他文文字列の位置と同じ位置に挿入する操作、及び、当該リード文字列に対して同じ位置にある文字列である隣接リード文字列と置換する操作の少なくとも一方の操作を行う。
【0020】
これによって、要約文生成プログラムは、リード文に対して、類似度が第1の閾値以上となる他の文の文字列を挿入、あるいは、リード文の文字列と置換して、要約文を生成することができる。
【発明の効果】
【0021】
本発明に係る要約文生成装置及び要約文生成プログラムでは、以下のような優れた効果を奏する。請求項1及び請求項5に記載の発明によれば、リード文に、他の文の文字列を挿入あるいはリード文の文字列と置換することで、リード文に他の文の情報を追加した要約文を生成することができる。そして、リード文は他の文の概要を示すため、他の文はリード文に比べて詳細な情報や具体的な表現を含むことが多い。そのため、リード文に他の文の情報を追加することで、リード文より更に詳細な要約文を生成することができる。そして、文章全体から文字列を削除する全体編集法に比べて、リード文という文章全体の概要を示す文を基本することから、重要情報が抜け落ちることがない。また、リード文に対して、他の文の文字列を挿入、あるいは、リード文の文字列と置換するため、要約文の長さの制御を文単位より細かい文字列の単位で行うことができる。
【0022】
更に、要約文の基本部分をリード文で構成し、リード文字列に対応付けられた他文文字列の前もしくは後にある、当該他文文字列を修飾したり、詳細な説明を付加したりする隣接他文文字列を、リード文において、当該リード文文字列に対して同じ位置に挿入あるいは置換することで、自然な要約文を生成することができる。
【0023】
請求項2に記載の発明によれば、外部から入力された、リード文の編集後の長さの上限値に基づいて、この上限値以下となるように要約文の長さを制御することができる。
【0024】
請求項3に記載の発明によれば、文章に、リード文には記載されていない情報を多く含む他の文が含まれる場合に、この他の文を要約文に追加して、リード文には含まれていない情報を更に含む要約文を生成することができる。
【0025】
請求項4に記載の発明によれば、構文解析の結果に基づいてリード文に対する他の文の類似度を算出することで、リード文に対して係り受けの構造の類似した他の文を選定することができる。そのため、係り受けの構造の類似する他の文の隣接他文文字列を、この隣接他文文字列に隣接する他文文字列に一致するリード文のリード文字列に対して同じ位置に挿入あるいは置換することで、更に自然な要約文を生成することができる。
【発明を実施するための最良の形態】
【0026】
以下、本発明の実施の形態について図面を参照して説明する。
[要約文生成装置の構成]
まず、図1を参照して、本発明における要約文生成装置1の構成について説明する。図1は、本発明における要約文生成装置の構成を模式的に示した構成図である。
【0027】
要約文生成装置1は、リード文と他の複数の文(以下、本記という)とからなる文章(以下、原文という)を外部から入力して、その要約文を生成するものである。ここでは、要約文生成装置1は、形態素・構文解析手段11と、文類似度算出手段12と、文選定手段13と、リード文編集手段14と、補足文出力判定手段15とを備える。
【0028】
要約文生成装置1に外部から入力される原文は、リード文と、リード文以外の文である本記とからなり、ここでは、例えば、リード文が明確に存在するニュース記事や新聞記事等である。このようなニュース記事や新聞記事等のリード文は、原文の冒頭の1文から数文で構成され、リード文の後に続く文の概要をまとめた内容の文であることが多い。更に、本記には、リード文の内容に補足する内容を記載した補足文が含まれることがある。
【0029】
ここで、図2を参照して、要約文生成装置1に入力される原文の構成について具体例を用いて説明する。図2は、本発明の要約文生成装置に入力される原文の具体例を模式的に示す模式図である。
【0030】
図2に示すように、ここでは、原文は、(a)〜(e)の5つの文から構成される。以下、原文を構成する1番目から5番目の文を、それぞれ第1文(図2(a))、第2文(図2(b))、第3文(図2(c))、第4文(図2(d))、第5文(図2(e))という。そして、第1文はリード文であり、第2文から第4文までの内容の要点をまとめた内容を示している。一方、第2文から第5文は本記であり、本記は、リード文(第1文)の内容を更に詳細に説明した文である第2文から第4文と、これらの内容に対する補足した内容を示す補足文である第5文とから構成されている。
【0031】
このように、本記から補足文(第5文)を除いた文(第2文から第4文)の内容は、第1文であるリード文に要約され、リード文より更に詳細な情報が、本記から補足文を除いた文(第2文から第4文)に含まれている。このリード文は原文の概要を示す要約として使うことも可能だが、多くの場合、抽象的な表現が含まれているため、要約文としては情報量の点で不足することが多い。すなわち、リード文を抽出しただけでは、要約文としては不十分である。そのため、要約文生成装置1は、本記の文から、リード文を補足するための文字列を選定してリード文に挿入あるいはリード文の文字列と置換して、原文の要約文とすることとした。
【0032】
また、補足文(第5文)には、補足文以外の文(第1文から第4文)の内容に補足する新たな情報が含まれている。そのため、ここでは、要約文生成装置1は、補足文を更に選定して、要約文の全体長の制限に応じて、リード文に他の文の文字列を挿入あるいはリード文の文字列と置換して生成された文の後に補足文を加え、原文の要約文とすることとした。
【0033】
図1に戻って説明を続ける。形態素・構文解析手段11は、外部から入力された原文について、形態素解析と構文解析とを行うものである。形態素・構文解析手段11は、形態素解析部11aと、構文解析部11bとを備える。
【0034】
形態素解析部(形態素解析手段)11aは、外部から入力された原文を形態素解析するものである。ここで、形態素解析部11aは、入力された原文を句点に基づいて文ごとに分離し、それぞれの文について形態素解析する。これによって、原文のそれぞれの文が形態素に分かれてそれぞれの形態素の品詞が定められる。ここで形態素解析された解析結果は、構文解析部11bと、リード文編集手段14の編集候補生成部14aとに出力される。
【0035】
なお、形態素解析部11aは、一般的な形態素解析システムによって実現することができ、例えば、松本裕治、外6名、「日本語形態素解析システム『茶筌』 version 2.2.1 使用説明書」、Dec. 2000に記載されるようなシステムによって実現することができる。
【0036】
構文解析部(構文解析手段)11bは、形態素解析部11aによる形態素解析の結果に基づいて、原文の各文を構文(係り受け)解析するものである。この構文解析により、文節単位が決まり、その係り受け関係が決定される。ここで構文解析された解析結果は、文類似度算出手段12の頻度リスト生成部12aに出力される。
【0037】
なお、構文解析部11bは、一般的な構文解析システムによって実現することができ、例えば、工藤拓、外1名、「チャンキングの段階適用による係り受け解析」、情報処理学会自然言語処理研究会、SIG-NL-142、2001に記載されるようなシステム(南瓜システム)によって実現することができる。
【0038】
文類似度算出手段12は、外部からのリード文を指定する指令と、構文解析部11bから入力された構文解析の解析結果とに基づいて、本記の各文のリード文に対する類似度(以下、文類似度という)を算出するものである。ここでは、文類似度算出手段12は、構文解析部11bによる構文解析の結果に基づいて、リード文と本記の各文との各文節の係り受けの関係(構文木)の類似度(構文類似度)を文類似度として算出することとした。文類似度算出手段12は、頻度リスト生成部12aと、類似度算出部12bとを備える。
【0039】
頻度リスト生成部12aは、外部からのリード文を指定する指令と、構文解析部11bから入力された構文解析の解析結果とに基づいて、リード文と、本記の各文とについて、文節の係り元と係り先との組を抜き出してその頻度を求め、係り元と係り先との組及びその頻度を対応させた頻度リストを生成するものである。ここで生成された頻度リストは、類似度算出部12bに出力される。
【0040】
ここで、頻度リスト生成部12aは、まず、構文解析部11bによって解析されたリード文の解析結果に基づいて、リード文から係り元と係り先との組を抜き出して頻度を求め、係り元と係り先との組及びその頻度を対応させたリード文の頻度リストを生成する。例えば、「私は本を読みます」というリード文については、係り元と係り先との組及びその頻度として、(私は、読みます、1)と、(本を、読みます、1)との二つが得られる。ここでは、それぞれ(係り元、係り先、頻度)を意味する。そして、頻度リスト生成部12aは、この係り元と係り先との組及び頻度の組み合わせを、リード文の頻度リストとする。
【0041】
次に、頻度リスト生成部12aは、構文解析部11bによって解析された本記の各文の解析結果に基づいて、本記の各文について係り元と係り先との組を抜き出して頻度を求め、係り元と係り先との組及びその頻度を対応させた本記の文ごとの頻度リストを生成する。例えば、「あなたは本を読みます」という本記の文については、係り元と係り先との組及びその頻度として、(あなたは、読みます、1)と、(本を、読みます、1)との二つが得られる。そして、頻度リスト生成部12aは、この係り元と係り先との組及び頻度の組み合わせを、本記の当該文の頻度リストとする。
【0042】
なお、ここでは、ユーザによってリード文を指定する指令が外部から入力され、この指令に基づいて、頻度リスト生成部12aは、原文の複数の文をリード文と本記の文とに分けることとしたが、冒頭から所定数の文をリード文に設定することとしてもよい。例えば、ニュースの記事の場合のように、リード文のほとんどが原文の一番目の文である場合には、頻度リスト生成部12aが一番目の文をリード文、他の文を本記とすることとしてもよい。
【0043】
類似度算出部12bは、頻度リスト生成部12aによって生成された頻度リストに基づいて、本記の各々の文のリード文に対する文類似度を算出するものである。ここで算出された文類似度は、文選定手段13の編集文選定部13aに出力される。
【0044】
ここでは、類似度算出部12bは、リード文の頻度リストと本記の各文の頻度リストとによって示される頻度によって、各々の係り元と係り先との組の重み付けをし、この重み付きベクトルのなす角の余弦を計算することで、リード文と本記の各文との文類似度を算出できる。この文類似度(余弦)σ(d,d)は、例えば、徳永健伸、「情報検索と言語処理」、東京大学出版会、p.31に詳述されているように、以下の式(1)によって算出することができる。ここで、xは、リード文dにおけるi番目の係り元と係り先との組の重み(頻度)、yは、リード文dにおけるi番目の係り元と係り先との組の重み(頻度)、Tは、係り元と係り先との組の総数である。なお、前記の例では、文類似度σ(d,d)は0.5となる。
【0045】
【数1】

【0046】
なお、ここでは、類似度算出部12bは、重み付きベクトルのなす角の余弦を用いて文類似度を算出することとしたが、例えば、内積やDice係数やJaccard係数を用いて文類似度(構文類似度)を算出することとしてもよい。更に、ここでは、文類似度算出手段12は、構文解析部11bからの構文解析の結果に基づいて、本記の各文のリード文に対する構文類似度を文類似度として算出することとしたが、本記の各文のリード文に対する文類似度の算出方法はこれに限定されず、例えば、リード文と本記の各文とに共通して出現する形態素がどれだけ含まれているかに基づいて文類似度を算出することとしてもよい。
【0047】
文選定手段13は、類似度算出部12bから入力された本記の各文のリード文に対する文類似度に基づいて、リード文に対する文類似度が所定の閾値Th1(第1の閾値)以上の本記の文と、所定の閾値Th2(第2の閾値)以下の本記の文とを選定するものである。文選定手段13は、編集文選定部13aと、補足文選定部13bとを備える。なお、ここでは、閾値Th1は閾値Th2以上(Th1≧Th2)であることとする。ここで、閾値Th1と閾値Th2とが等しい場合には、文選定手段13は、文類似度がこの閾値(Th1)を越える本記の文と、閾値(Th2)以下の本記の文とを選定する、あるいは、閾値(Th1)以上本記の文と、閾値(Th2)未満の本記の文とを選定することとする。ここで、閾値Th1と閾値Th2とが等しい場合には、文選定手段13は、文類似度がこの閾値(Th1)を超える本記の文と閾値(Th2)以下の本記の文とを選定する、あるいは、閾値(Th1)以上の本記の文と閾値(Th2)未満の本記の文とを選定することとする。
【0048】
編集文選定部(編集文選定手段)13aは、類似度算出部12bから入力された文類似度に基づいて、リード文に対する文類似度が所定の閾値Th1以上となる本記の文を選定するものである。ここで、編集文選定部13aは、選定した文(以下、編集文という)及びリード文をリード文編集手段14の編集候補生成部14aに通知する。また、ここで選定されなかった文の文類似度は、補足文選定部13bに出力される。
【0049】
ここで選定される編集文は、後記するリード文編集手段14において、リード文に対して、本記の文に含まれる文字列を挿入あるいは置換する編集を行う際に、リード文編集手段14が当該文字列を選択する元になる文である。ここで、リード文編集手段14が、リード文に関係のない本記の文の情報を用いてリード文を編集すると不適切な編集が起き、つながりの悪い文となるため、リード文に対して十分に文類似度の高い本記の文との間で編集を行うことが好ましい。そこで、リード文に対して十分に類似するかを判断するための類似度の閾値Th1を予め設定しておき、編集文選定部13aが、この閾値Th1に基づいて編集文を選定することとした。
【0050】
補足文選定部13bは、編集文選定部13aから入力された本記の各文のリード文に対する文類似度に基づいて、リード文に対する文類似度が所定の閾値Th2以下となる本記の文を選定するものである。ここで、補足文選定部13bは、選定した文(以下、補足文という)を補足文出力判定手段15に通知する。
【0051】
ここで、リード文との文類似度が十分に低い文は、リード文に含まれない情報を多く含む文である可能性が高い。すなわち、リード文に補足する情報を含む文である補足文である可能性が高い。そこで、リード文に対して十分に文類似度が低いかを判断するための文類似度の閾値Th2を予め設定しておき、補足文選定部13bが、この閾値Th2より文類似度の低い文を補足文として選定することした。
【0052】
リード文編集手段14は、編集文選定部13aから通知されたリード文と編集文とについて、一致する文字列を対応付けて、編集文において対応付けられていない文字列を、リード文に挿入、あるいは、リード文の文字列と置換する編集をするものである。ここでは、リード文編集手段14は、編集候補生成部14aと、編集判定部14bとを備える。なお、ここでは、文字列は1文字以上の文字からなるものとする。
【0053】
編集候補生成部(編集候補生成手段)14aは、編集文選定部13aから通知されたリード文と編集文とについて、一致する文字列を対応付けて、編集文において対応付けられていない文字列を、リード文に挿入、あるいは、リード文の文字列と置換する編集をする候補(以下、編集候補という)を生成するものである。ここで生成された編集候補は、編集判定部14bに出力される。なお、ここでは、編集候補生成部14aは、「挿入」及び「置換」の両方の編集候補を生成できることとしたが、「挿入」のみもしくは「置換」のみの編集候補を生成できるものとしてもよい。更に、ここでは、編集候補生成部14aによって生成される編集候補の編集の操作はリード文に対する操作であるので、挿入及び置換の操作はリード文に対する操作とする。すなわちリード文に対する編集とは、編集文の文字列のリード文への挿入と、リード文の文字列の編集文の文字列への置換となる。
【0054】
ここでは、編集候補生成部14aは、形態素解析部11aからリード文と編集文とを形態素単位で入力し、入力された形態素を基本単位とした文字列について、リード文と編集文との間で照合して、一致する文字列を対応付けることとした。そして、ここでは、編集候補生成部14aは、この文字列の対応付けに、例えば、R.Durbin、外3名、「バイオインフォマティクス」、医学出版、p.22−23に記載されるような、ダイナミックプログラミングによる文字列照合アルゴリズムを用いることとした。この文字列照合アルゴリズムを用いると、編集候補生成部14aは、リード文と編集文とにおいて互いに対応付けられた文字列が当該リード文で出現する順番と当該編集文で出現する順番とが同一となるように、文字列の対応付けを行う。
【0055】
そして、編集候補生成部14aは、編集文において対応付けられていない文字列の両側の文字列のそれぞれに対応付けられたリード文の文字列の間に、対応付けられていないリード文の文字列がないときには、この対応付けられていない編集文の文字列を当該文字列の両側の文字列のそれぞれに対応付けられたリード文の文字列の間に挿入する編集候補を生成する。また、編集候補生成部14aは、編集文において対応付けられていない文字列の両側の文字列のそれぞれに対応付けられたリード文の文字列の間に、対応付けられていないリード文の文字列があるときには、リード文において、この対応付けられていないリード文の文字列を、対応付けられていない編集文の文字列に置換する編集候補を生成する。これによって、編集候補生成部14aは、挿入もしくは置換対象となる編集文の文字列を、リード文において、当該文字列の前の編集文の文字列と一致するリード文の文字列が前にあるとともに、当該挿入もしくは置換対象となる文字列の後ろの編集文の文字列と一致するリード文の文字列が後ろにある位置に、挿入もしくは置換する編集候補を生成することができる。以下、編集候補生成部14aが文字列照合アルゴリズムを用いて編集候補を生成する方法について説明する。
【0056】
このアルゴリズムは、二つの文の文字列の一致箇所を効率良く照合するもので、照合する文字列が一致しない場合に行う操作に対して予め決められた操作コストの合計が最小になるように文字列の一致箇所を認定するものである。つまり、編集候補生成部14aは、それぞれ複数の文字列から構成されるリード文及びひとつの編集文から、配列された順に各々ひとつずつ文字列(リード文字列、他文文字列)を取り出して照合する。そして、編集候補生成部14aは、2つの文字列が一致するときには、この2つの文字列を対応付ける。一致しないときには、編集候補生成部14aは、編集文の文字列に一致する文字列がリード文にはないこととする場合(第1パターン)と、リード文の文字列に一致する文字列が編集文にはないこととする場合(第2パターン)と、2つの文字列が一致しないこととする場合(第3パターン)との3通りのパターンに場合分けする。なお、第1パターンは挿入、第3パターンは置換の操作に相当する。そして、第1パターン(挿入)、第2パターン及び第3パターン(置換)のそれぞれに対して操作コストを予め設定しておき、編集候補生成部14aは、いずれかのパターン操作を行うたびに操作コストを加算する。
【0057】
そして、編集候補生成部14aは、場合分けしたすべてのパターンに対して、リード文と編集文とのそれぞれについて、次の文字列(第1パターンの場合はリード文の同じ文字列と編集文の次の文字列、第2パターンの場合はリード文の次の文字列と編集文の同じ文字列)を、同様の方法で順次照合する。そして、編集候補生成部14aは、リード文及び編集文のすべての文字列について照合し、最終的に操作コストの和が最も小さい場合における第1パターンを挿入、第3パターンを置換の編集候補とする。
【0058】
ここで、図3を参照して、編集候補の例について説明する。図3は、編集候補生成部によって生成される編集候補の例を説明するための説明図、(a)は、リード文と編集文との例を模式的に示す模式図、(b)は、編集候補生成部によって生成される編集候補の操作によって生成される文を模式的に示す模式図である。なお、図3において、リード文と編集文の文字列を、三角印(△)、丸印(○)、四角印(□)によって模式的に示した。
【0059】
図3(a)に示すように、編集候補生成部14aには、文字列L1〜L7がこの順に配列されたリード文と、文字列L’1〜L’8がこの順に配列された編集文とが入力されたとする。そうすると、編集候補生成部14aは、リード文の文字列L1〜L7と、編集文の文字列L’1〜L’8とを照合する。そして、編集候補生成部14aは、文字列L1と文字列L’1、文字列L2と文字列L’2、文字列L3と文字列L’4、文字列L4と文字列L’5、文字列L6と文字列L’7、文字列L7と文字列L’8を対応付けたとする。更に、編集候補生成部14aは、文字列L2と一致する文字列L’2と、文字列L3と一致する文字列L’4との間にある文字列L’3を挿入する操作と、文字列L4と一致する文字列L’5と、文字列L6と一致する文字列L’7との間にある文字列L’6を、文字列L4と文字列L6との間にある文字列L5と置換する操作、つまり、「abc」(文字列L’3)を挿入する操作と、「jik」(文字列L5)を「defgh」(文字列L’6)で置換する操作とを編集候補とする。なお、この2つの編集候補の操作を後記する編集判定部14bによって行うと、図3(a)に示すリード文の文字列L2と文字列L3との間に文字列L’3が挿入されるとともに、文字列L5が文字列L’6に置換されて、図3(b)に示すように、文字列L1、L2、L’3、L3、L4、L’6、L6、L7がこの順に配列された文が生成される。
【0060】
次に、図2及び図4を参照して、編集候補について具体例を用いて説明する。図4は、編集候補生成部によって生成される編集候補の具体例を模式的に示す模式図である。ここで、図2に示す原文について、第1文(図2(a))がリード文、第3文が編集文であることが、編集文選定部13aから入力されたとする。そうすると、編集候補生成部14aは、形態素解析部11aから第1文と第3文についての形態素解析結果を入力し、それぞれの文字列を照合して編集候補を生成する。
【0061】
なお、ここでは、編集候補生成部14aによる文字列照合アルゴリズムの照合単位を形態素とし、また、編集候補となる文字列とする条件は、当該文字列の両側の1つ以上の形態素がリード文と編集文とで一致し、かつ、両側の文字列の少なくとも一方がリード文と編集文とで2文字以上一致することとした。これは、照合単位を形態素としたときに、両側の1つ以上の形態素が一致することのみを条件とすると、両側にそれぞれ1文字の助詞だけがリード文と編集文とで一致する場合も該当してしまい、編集候補生成部14aが不適切な編集候補を生成してしまうためである。しかし、両側の文字列の少なくとも一方が2文字以上一致するという条件を設定することで、このような編集候補の生成を防ぐことができる。
【0062】
このような条件で図2の第1文をリード文、第3文を編集文として照合した結果、編集候補生成部14aが、図4(a)と(b)とに示す2つの編集候補を生成したとする。ここで、図4(a)の編集候補は、「これまでの「持ち直している」から」という文字列L11を挿入する操作、図4(b)の編集候補は、「設備投資と輸出に支えられ」という文字列L12を挿入する操作を示している。この例に示すように、リード文(第1文)には記載されていない、より詳細な情報を示す文字列L11、L12が編集文(第3文)から抽出されて挿入されることで、表現の具体性が増す。更に、リード文における文字列L11、L12が挿入される位置の前後の文脈と、編集文における文字列L11、L12の前後の文脈とが一致しているため、リード文に文字列L11、L12が挿入されても、この文字列L11、L12は前後の文脈とのつながりが良く、生成される文は自然な表現の文となる。
【0063】
なお、編集候補生成部14aによる編集候補の生成においては、照合単位、文脈条件等を適宜変更することが可能である。例えば、ここでは、編集候補生成部14aが、照合単位を形態素とし、更に、編集候補とする条件を、リード文と編集文とで、両側の形態素が一致し、かつ、その少なくとも一方の形態素が2文字以上一致する文字列としたが、この条件を、例えば、両側の2つ以上の形態素や3つ以上の形態素が一致することと変更してもよいし、少なくとも一方の2つ以上の形態素や3つ以上の形態素が一致することと変更することも可能である。また、照合単位を形態素より長い文字列、例えば、文節にすることも可能である。更に、これらの変更を組み合わせることも可能である。
【0064】
更に、ここでは、編集候補生成部14aが、文字列照合アルゴリズムを用いて編集候補を生成する場合について説明したが、例えば、構文解析を用いることとしてもよい。この構文解析、すなわち、日本語の係り受け解析は、2文節の修飾・被修飾関係を与える。このことを利用して、編集候補生成部14aは以下のようにして編集候補を生成することができる。つまり、編集候補生成部14aは、リード文中の名詞と一致する名詞を編集文から探す。そして、編集候補生成部14aは、リード文の当該名詞の修飾語句と、編集文の当該名詞の修飾語句とを比較する。そして、編集候補生成部14aは、リード文の修飾語句より編集文の修飾語句の方が具体性が大きければ、当該リード文の修飾語句を置換する操作を編集候補とする。
【0065】
なお、具体性の検出には、例えば、語句の長さが長いほど具体的であるという経験則を用いて、編集候補生成部14aが、リード文の修飾語句より編集文の修飾語句の方が長いときに具体性が大きいと判断することとしてもよい。また、編集候補生成部14aが、シソーラス(例えば、角川類語新辞典、角川書店)の電子データを用いて、リード文の修飾語句と編集文の修飾語句とに含まれる単語の上位下位関係を調査して、編集文の修飾語句に含まれる単語が下位であるほど具体性が大きいと判定することとしてもよい。この処理は名詞に限らず、動詞やその他の品詞に適用することもできる。
【0066】
図1に戻って説明を続ける。編集判定部(編集判定手段)14bは、外部から入力された、リード文を編集して生成される文の長さの上限値(以下、リード長という)の情報に基づいて、編集候補生成部14aによって生成された編集候補を実行するか否かを判定して、当該リード長の範囲でリード文の編集を行うものである。ここで、編集された文(以下、リード編集文という)は、外部に出力される。また、ここで生成されたリード編集文の長さの情報が、補足文出力判定手段15に出力される。
【0067】
ここで、編集判定部14bは、編集候補生成部14aによって生成された編集候補について順番に、編集によってリード編集文の長さがリード長を超えるか否かを判定して、超えない場合には、リード文に対して当該編集を行う。そして、編集判定部14bは、リード編集文の長さがリード長を超えると判定されるまで、あるいは、編集候補がなくなるまで、順番に編集候補の操作を行い、最終的に生成されたリード編集文を外部に出力する。このようにすることで、編集判定部14bは、リード長の範囲内で最長のリード編集文を生成することができ、リード編集文が長くなりすぎることを防止できる。
【0068】
なお、ここでは、リード長は、ユーザによって外部から指定されることとした。このリード長は、例えば、110文字というように、文字数で指定されることとしてもよいし、原文全体の文字数に対するリード編集文の文字数の上限値の割合で指定され、編集判定部14bが原文の全文字数からリード編集文の文字数の上限値の文字数を算出することとしてもよい。
【0069】
補足文出力判定手段15は、外部から入力された、要約文全体の長さの上限値(以下、全体長という)の情報と、リード文編集手段14の編集判定部14bによって生成されたリード編集文の長さの情報とに基づいて、補足文選定部13bによって選定された補足文を外部に出力するか否かを判定するものである。ここで、補足文出力判定手段15は、補足文選定部13bによって選定された補足文をひとつずつ順番に出力するか否かを判定し、出力すると判定した際には順次外部に出力する。ここでは、補足文出力判定手段15は、補足文選定部13bから補足文が通知された際には、補足文を図示しない記憶手段に格納しておき、補足文を出力すると判定した際に、当該記憶手段から読み出して出力することとした。
【0070】
ここで、補足文出力判定手段15は、補足文選定部13bによって選定された補足文の長さと、リード文編集手段14及び補足文出力判定手段15からすでに出力された文の長さとの合計が、全体長以下であれば当該補足文を出力し、全体長を超えていれば当該補足文を出力しない。ここで、補足文選定部13bによって選定された補足文が複数ある場合には、補足文出力判定手段15は、原文での出現順に一文ずつ出力するか否かを判定し、リード文編集手段14及び補足文出力判定手段15から出力される要約文の最終的な長さが全体長の範囲内となるように、出現順に補足文を出力する。
【0071】
なお、ここでは、全体長はユーザによって外部から指定されることとした。この全体長は、例えば、リード長が110文字であれば150文字というように、文字数で指定されることとしてもよいし、原文全体の文字数に対する要約文の文字数の上限値の割合である要約率で指定され、補足文出力判定手段15が原文の全文字数から要約文の全体長の文字数を算出することとしてもよい。
【0072】
ここで、図2を参照して、補足文出力判定手段15による補足文を外部に出力するか否かを判定する方法について具体例を用いて説明する。ここでは、図2に示す原文から、補足文選定部13bによって第5文(図2(e))が補足文として選定されたとする。そうすると、補足文選定部13bから第5文が補足文であることが通知され、補足文選定部13bは、編集判定部14bから通知されたリード編集文の文字数と、この第5文の文字数との合計が、全体長によって示される文字数を超えるか否かを判定する。そして、全体長を超えない場合には、補足文出力判定手段15は、第5文を外部に出力する。
【0073】
なお、特許請求の範囲に記載の補足文選定出力手段は、補足文選定部13bと補足文出力判定手段15とに相当する。
【0074】
以上のようにして、要約文生成装置1は、リード文に編集文の文字列を挿入あるいは置換してリード編集文を生成し、更に、全体長の条件に応じて補足文をリード編集文に追加して要約文を生成することができる。
【0075】
なお、要約文生成装置1は、コンピュータにおいて各手段を各機能プログラムとして実現することも可能であり、各機能プログラムを結合して、要約文生成プログラムとして動作させることも可能である。
【0076】
[要約文生成装置の動作]
次に、図5を参照して、要約文生成装置1の動作について説明する。図5は、本発明における要約文生成装置の動作を示したフローチャートである。
【0077】
要約文生成装置1は、形態素・構文解析手段11の形態素解析部11aによって、外部から要約文を生成する対象となる原文を入力する(ステップS11)。続いて、要約文生成装置1は、形態素解析部11aによって、ステップS11において入力された原文を形態素解析し、更に、構文解析部11bによって構文解析する(ステップS12)。そして、要約文生成装置1は、文類似度算出手段12の頻度リスト生成部12aによって、外部からリード文を指定する指令を入力してリード文を認定する(ステップS13)。
【0078】
そして、要約文生成装置1は、頻度リスト生成部12aによって、ステップS12における構文解析の解析結果に基づいて、ステップS13において認定されたリード文と、本記の文との各々について頻度リストを生成し、類似度算出部12bによって、この頻度リストに基づいて、本記の各々の文のリード文に対する文類似度を算出する(ステップS14)。
【0079】
そして、要約文生成装置1は、文選定手段13の編集文選定部13aによって、ステップS14において算出された本記のひとつの文のリード文に対する文類似度が、閾値Th1以上であるかを判定する(ステップS15)。そして、閾値Th1以上である場合には(ステップS15でYes)、要約文生成装置1は、リード文編集手段14の編集候補生成部14aによって、当該本記の文から編集候補を生成して(ステップS16)、ステップS19に進む。
【0080】
一方、文類似度が閾値Th1より小さい場合には(ステップS15でNo)、要約文生成装置1は、文選定手段13の補足文選定部13bによって、この文類似度が閾値Th2以下であるかを判定する(ステップS17)。そして、閾値Th2以下である場合には(ステップS17でYes)、要約文生成装置1は、補足文出力判定手段15によって、当該文を補足文として図示しない記憶手段に格納して(ステップS18)、ステップS19に進む。一方、文類似度が閾値Th2より大きい場合には(ステップS17でNo)、そのままステップS19に進む。
【0081】
そして、要約文生成装置1は、編集文選定部13aによって、すべての本記の文について文類似度の判定(ステップS15及びステップS17)が終了したかを判定する(ステップS19)。そして、終了していない場合には(ステップS19でNo)、ステップS15に戻って、要約文生成装置1が、編集文選定部13aによって、本記の次の文の文類似度が閾値Th1以上であるかを判定する動作以降の動作を行う。
【0082】
一方、すべての本記の文について文類似度の判定が終了した場合には(ステップS19でYes)、要約文生成装置1は、リード文編集手段14の編集判定部14bによって、ステップS16において生成された編集候補で、まだ実施していないものがあるかを判定する(ステップS20)。そして、実施していない編集候補がない場合には(ステップS20でNo)、そのままステップS23に進む。
【0083】
一方、実施していない編集候補がある場合には(ステップS20でYes)、要約文生成装置1は、編集判定部14bによって、まだ実施していない編集候補のひとつの編集候補を実施した場合に、生成される文の長さが外部から指定されたリード長以下になる条件を満たすかを判定する(ステップS21)。そして、条件を満たす場合には(ステップS21でYes)、要約文生成装置1は、編集判定部14bによって、ステップS21において判定された編集候補の編集を、リード文に対して行う(ステップS22)。一方、条件を満たさない場合には(ステップS21でNo)、そのままステップS23に進む。
【0084】
そして、要約文生成装置1は、編集候補生成部14aによって、ステップS22において編集されたリード編集文を外部に出力する(ステップS23)。続いて、要約文生成装置1は、補足文出力判定手段15によって、ステップS18において格納された補足文のうちまだ出力されていないものがあるかを判定する(ステップS24)。そして、出力されていない補足文がない場合には(ステップS24でNo)、そのまま動作を終了する。一方、出力されていない補足文がある場合には(ステップS24でYes)、要約文生成装置1は、補足文出力判定手段15によって、ステップS23において出力されたリード編集文の長さと、当該補足文出力判定手段15からすでに出力された補足文の長さと、ステップS18において格納された補足文のうちまだ出力されていない最初の文の長さとの合計が、外部から入力された全体長以下である条件を満たすかを判定する(ステップS25)。
【0085】
そして、条件を満たす場合には(ステップS25でYes)、要約文生成装置1は、補足文出力判定手段15によって、ステップS25において判定された補足文を外部に出力して(ステップS26)、ステップS24に戻って、まだ出力されていない補足文があるかを判定する動作以降の動作を行う。一方、条件を満たさない場合には(ステップS25でNo)、そのまま動作を終了する。
【0086】
なお、本発明の要約文生成装置1が、文中からTF/IDF値の小さい文節を削除するなどの手法によって文の長さを短縮する文短縮手段(図示せず)を更に備え、リード文編集手段14によってリード文を編集する前に、当該文短縮手段によってリード文を短縮することとしてもよい。同様に、要約文生成装置1が、当該文短縮手段によって補足文を短縮してから、補足文出力判定手段15によって出力することとしてもよい。
【0087】
更に、ここでは、要約文生成装置1が、自動で要約文を生成することとしたが、これを人手による要約文の生成を支援する要約文生成装置1とすることが可能である。このとき、編集判定部14bによるリード文の編集において、編集判定部14bが、リード長に基づいて編集を行うか否かの判定を行った後に、編集を行うと判定された編集についてユーザからの実施の指令が入力された場合に編集を実施することとする。更に、補足文出力判定手段15による補足文の出力において、補足文出力判定手段15が、全体長に基づいて出力するか否かの判定を行った後に、出力すると判定された補足文についてユーザからの出力の指令が入力された場合に出力することとする。
【図面の簡単な説明】
【0088】
【図1】本発明における要約文生成装置の構成を模式的に示した構成図である。
【図2】本発明の要約文生成装置に入力される原文の具体例を模式的に示す模式図である。
【図3】本発明における要約文生成装置の編集候補生成部によって生成される編集候補の例を説明するための説明図、(a)は、リード文と編集文との例を模式的に示す模式図、(b)は、編集候補生成部によって生成される編集候補の操作によって生成される文を模式的に示す模式図である。
【図4】本発明における要約文生成装置の編集候補生成部によって生成される編集候補の具体例を模式的に示す模式図である。
【図5】本発明における要約文生成装置の動作を示したフローチャートである。
【符号の説明】
【0089】
1 要約文生成装置
11 構文解析手段(構文解析手段)
11a 形態素解析部(形態素解析手段)
11b 構文解析部
12 文類似度算出手段
12a 頻度リスト生成部
12b 類似度算出部
13 文選定手段
13a 編集文選定部(編集文選定手段)
13b 補足文選定部
14 リード文編集手段
14a 編集候補生成部(編集候補生成手段)
14b 編集判定部(編集判定手段)
15 補足文出力判定手段

【特許請求の範囲】
【請求項1】
リード文と、複数の他の文とからなる文章から、当該文章の要約文を生成する要約文生成装置であって、
前記リード文と複数の前記他の文とのそれぞれについて形態素解析する形態素解析手段と、
この形態素解析手段によって解析された形態素ごと、あるいは、複数の前記形態素の組み合わせごとの頻度を前記リード文と複数の前記他の文とについて解析して、この頻度から複数の前記他の文の各々について、前記リード文に対する類似度を算出する文類似度算出手段と、
この文類似度算出手段によって算出された類似度が、予め設定された第1の閾値以上となる前記他の文を選定する編集文選定手段と、
前記リード文を、前記編集文選定手段によって選定された他の文に含まれる文字列である他文文字列に基づいて編集するリード文編集手段とを備え、
前記リード文編集手段が、前記リード文に含まれる文字列であるリード文字列と、前記他文文字列とについて一致するもの同士を対応させ、対応付けられた当該他文文字列の前もしくは後ろの文字列である隣接他文文字列を、前記リード文において、対応付けられた当該リード文字列に対して、前記他文文字列に対する前記隣接他文文字列の位置と同じ位置に挿入する操作、及び、当該リード文字列に対して前記同じ位置にある文字列である隣接リード文字列と置換する操作の少なくとも一方の操作を行うことを特徴とする要約文生成装置。
【請求項2】
前記リード文編集手段が、
前記リード文字列と、前記他文文字列とについて一致するもの同士を対応させ、前記隣接他文文字列を、前記リード文において、対応付けられた当該リード文字列に対して、前記他文文字列に対する前記隣接他文文字列の位置と同じ位置に挿入する操作、及び、当該リード文字列に対して前記同じ位置にある文字列である隣接リード文字列と置換する操作の少なくとも一方の操作の編集候補を生成する編集候補生成手段と、
外部から入力された、前記リード文の編集後の長さの上限値の情報に基づいて、前記編集候補生成手段によって生成された編集候補の編集を前記リード文に対して行った際の前記リード文の編集後の長さが、前記上限値以下となる場合に当該編集を行う編集判定手段とを有することを特徴とする請求項1に記載の要約文生成装置。
【請求項3】
前記文類似度算出手段によって算出された類似度が、前記第1の閾値以下の予め設定された第2の閾値以下となる前記他の文を選定し、前記リード文編集手段によって編集された文の後に出力する補足文選定出力手段を更に備えることを特徴とする請求項1又は請求項2に記載の要約文生成装置。
【請求項4】
前記形態素解析手段による解析結果に基づいて、前記リード文と複数の前記他の文とのそれぞれについて構文解析する構文解析手段を更に備え、
前記文類似度算出手段が、前記構文解析手段によって解析された係り受けの関係にある文節の組み合わせごとの頻度を前記リード文と複数の前記他の文とについて解析して、この頻度から複数の前記他の文の各々の文ついて、前記リード文に対する類似度を算出することを特徴とする請求項1から請求項3のいずれか一項に記載の要約文生成装置。
【請求項5】
リード文と、複数の他の文とからなる文章から、当該文章の要約文を生成するためにコンピュータを、
前記リード文と複数の前記他の文とのそれぞれについて形態素解析する形態素解析手段、
この形態素解析手段によって解析された形態素ごと、あるいは、複数の前記形態素の組み合わせごとの頻度を前記リード文と複数の前記他の文とについて解析して、この頻度から複数の前記他の文の各々について、前記リード文に対する類似度を算出する文類似度算出手段、
この文類似度算出手段によって算出された類似度が、予め設定された第1の閾値以上となる前記他の文を選定する編集文選定手段、
前記リード文を、前記編集文選定手段によって選定された他の文に含まれる文字列である他文文字列に基づいて編集するリード文編集手段として機能させ、
前記リード文編集手段が、前記リード文に含まれる文字列であるリード文字列と、前記他文文字列とについて一致するもの同士を対応させ、対応付けられた当該他文文字列の前もしくは後ろの文字列である隣接他文文字列を、前記リード文において、対応付けられた当該リード文字列に対して、前記他文文字列に対する前記隣接他文文字列の位置と同じ位置に挿入する操作、及び、当該リード文字列に対して前記同じ位置にある文字列である隣接リード文字列と置換する操作の少なくとも一方の操作を行うことを特徴とする要約文生成プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate