(57)【要約】【課題】入力文書の論理構造を正しく反映した要約を作成することができるようにする。【解決手段】修辞構造木変換部２４によって、入力文書のうちの最も重要な文字列単位をルートノードとし、かつ入力文書のうちの各文字列単位を各ノードとし、かつ修飾関係を有する各文字列単位間に対応するノード間をエッジで結合した、入力文書の各文字列単位の依存構造に基づく談話構造木を作成する。そして、依存構造木刈り込み部２５によって、作成された依存構造に基づく談話構造木の各ノードに対応する文字列単位の長さ及び文字列単位の重要度に基づいて、依存木構造のルートノードを含む部分木のうち、部分木の各ノードに対応する文字列単位の長さの合計が長さの上限以下であって、重要度の合計が最大となる部分木を求め、入力文書から、求めた部分木の各ノードに対応する文字列単位を選択して、入力文書に対応する要約を生成する。【選択図】図１
2014153766.tif 000002
【特許請求の範囲】
【請求項１】
構造木作成手段及び要約生成手段を含み、入力文書から、予め定められた長さの上限以下となるように、予め定められた文字列単位を少なくとも１つを選択して、前記入力文書に対応する要約を生成する文書要約装置における文書要約方法であって、
前記構造木作成手段によって、前記入力文書を前記文字列単位に分割した結果に基づいて、前記入力文書のうちの最も重要な前記文字列単位をルートノードとし、かつ前記入力文書のうちの各文字列単位を各ノードとし、かつ修飾関係を有する前記各文字列単位間に対応するノード間をエッジで結合した、前記入力文書の各文字列単位の依存構造に基づく談話構造木を作成するステップと、
前記要約生成手段によって、前記構造木作成手段によって作成された前記依存構造に基づく談話構造木の各ノードに対応する前記文字列単位の前記長さ及び前記文字列単位の重要度に基づいて、前記依存木構造のルートノードを含む部分木のうち、前記部分木の各ノードに対応する前記文字列単位の長さの合計が前記長さの上限以下であって、重要度の合計が最大となる部分木を求め、前記入力文書から、前記求めた部分木の各ノードに対応する前記文字列単位を選択して、前記入力文書に対応する要約を生成するステップと、
を含む文書要約方法。
【請求項２】
前記要約生成手段によって要約を生成するステップは、前記構造木作成手段によって作成された前記依存構造に基づく談話構造木の各ノードに対応する前記文字列単位の前記長さ及び前記文字列単位の重要度に基づいて、前記依存構造に基づく談話構造木の各ノードについて、葉ノードからボトムアップの順で、前記長さの上限以下の各長さに対して、前記ノードをルートノードとして形成される部分木のうち、前記部分木の各ノードに対応する前記文字列単位の長さの合計が前記長さ以下であって、かつ、重要度の合計が最大となる部分木を、ナップサック問題を解くことにより求め、前記求めた前記依存木構造のルートノードを含む部分木のうち、前記重要度の合計が最大となる部分木について、前記部分木の各ノードに対応する前記文字列単位を前記入力文書から選択して、前記入力文書に対応する要約を生成する請求項１記載の文書要約方法。
【請求項３】
前記構造木作成手段によって前記依存構造に基づく談話構造木を作成するステップは、修辞構造解析手段及び修辞構造木変換手段を含み、
前記修辞構造解析手段によって、ルートノードが前記入力文書の全体を表し、かつ前記入力文書のうちの少なくとも１つの前記文字列単位からなる文字列単位の系列の各々を各ノードとした階層構造を表し、かつ、前記文字列単位の系列間の修飾関係を表した、前記入力文書の文字列単位の系列の各々の修辞構造に基づく談話構造木を作成するステップと、
前記修辞構造木変換手段によって、前記修辞構造解析手段によって作成された前記修辞構造に基づく談話構造木を、前記依存構造に基づく談話構造木に変換するステップとを含む請求項１又は２記載の文書要約方法。
【請求項４】
入力文書から、予め定められた長さの上限以下となるように、予め定められた文字列単位を少なくとも１つを選択して、前記入力文書に対応する要約を生成する文書要約装置であって、
前記入力文書を前記文字列単位に分割した結果に基づいて、前記入力文書のうちの最も重要な前記文字列単位をルートノードとし、かつ前記入力文書のうちの各文字列単位を各ノードとし、かつ修飾関係を有する前記各文字列単位間に対応するノード間をエッジで結合した、前記入力文書の各文字列単位の依存構造に基づく談話構造木を作成する構造木作成手段と、
前記構造木作成手段によって作成された前記依存構造に基づく談話構造木の各ノードに対応する前記文字列単位の前記長さ及び前記文字列単位の重要度に基づいて、前記依存木構造のルートノードを含む部分木のうち、前記部分木の各ノードに対応する前記文字列単位の長さの合計が前記長さの上限以下であって、重要度の合計が最大となる部分木を求め、前記入力文書から、前記求めた部分木の各ノードに対応する前記文字列単位を選択して、前記入力文書に対応する要約を生成する要約生成手段と、
を含む文書要約装置。
【請求項５】
前記要約生成手段は、前記構造木作成手段によって作成された前記依存構造に基づく談話構造木の各ノードに対応する前記文字列単位の前記長さ及び前記文字列単位の重要度に基づいて、前記依存構造に基づく談話構造木の各ノードについて、葉ノードからボトムアップの順で、前記長さの上限以下の各長さに対して、前記ノードをルートノードとして形成される部分木のうち、前記部分木の各ノードに対応する前記文字列単位の長さの合計が前記長さ以下であって、かつ、重要度の合計が最大となる部分木を、ナップサック問題を解くことにより求め、前記求めた前記依存木構造のルートノードを含む部分木のうち、前記重要度の合計が最大となる部分木について、前記部分木の各ノードに対応する前記文字列単位を前記入力文書から選択して、前記入力文書に対応する要約を生成する請求項４記載の文書要約装置。
【請求項６】
前記構造木作成手段は、
ルートノードが前記入力文書の全体を表し、かつ前記入力文書のうちの少なくとも１つの前記文字列単位からなる文字列単位の系列の各々を各ノードとした階層構造を表し、かつ、前記文字列単位の系列間の修飾関係を表した、前記入力文書の文字列単位の系列の各々の修辞構造に基づく談話構造木を作成する修辞構造解析手段と、
前記修辞構造解析手段によって作成された前記修辞構造に基づく談話構造木を、前記依存構造に基づく談話構造木に変換する修辞構造木変換手段とを含む請求項４又は５記載の文書要約装置。
【請求項７】
請求項１〜請求項３の何れか１項記載の文書要約方法を構成する各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書要約方法、装置、及びプログラムに関し、特に、入力文書に対応する要約を生成する文書要約方法、装置、及びプログラムに関する。
【背景技術】
【０００２】
従来の計算機による文書の要約手法では、文書中の文法的な要素（文、句、節）に対し重要度を与え、それら要素の重要度の和が最大かつ、文字数（単語数）が要約の大きさとして許容できるある値以下に収まる組合せを選択する組合せ最適化問題として捉えている。
【０００３】
たとえば、非特許文献１では文書中の文法的な要素を「文」とし、文重要度の和が最大かつ、要約文字数がＮ以下の文の組合せをナップサック問題としてとらえ、ナップサックアルゴリズム（動的計画法）を利用して最適解を得ている。
【０００４】
従来技術の処理の流れを図１４に示す。まず、分割部が文書を入力として受け取り、文法的な単位に分割する。ここではその単位を「文」とする。なお、単位を文とはせずそれよりも小さい単位、あるいは大きい単位としても以下の処理は変更せずに利用できる。文への分割は、日本語の場合、句点を手がかりとして簡単なルールで分割することができる。英語などヨーロッパ言語では、ピリオドを手がかりとすれば良い。
【０００５】
次に、重要度付与部が文中に含まれる単語重要度に基づき、文の重要度を決定する。単語重要度は情報検索システムなどで一般的に用いられるｔｆ−ｉｄｆ法などを用いて決定しておけば良い。これを用いて文重要度をたとえば、以下の（１）式で文ｓｉの重要度を定義する。なお、ｗ（ｔ）は単語重要度データベースが保持する単語ｔの重要度である。
【０００６】
【数１】
2014153766.tif 000003
【０００７】
次に、組合せ探索部は要約として許容される長さをパラメータとして受け取り、その長さを超えず、かつ、文重要度の総和が最大となる文の組合せを探索する。
【０００８】
つまり、文集合をＳ、文集合の重要度を表す関数をＦとすると、以下の（２）式を最大化し、かつ文集合の長さ（文字数あるいは単語数）がＬｍａｘ以下となる文集合（組合せ）を探索する問題となる。本来であれば、Ｆを最大化する組合せの探索は２Ｎ通りあり、その探索は現実的ではない。しかし、実際には長さＬｍａｘを超える組合せを探索する必要がないため、ナップサックアルゴリズムを用いて効率的に最適解を求めることができる。
【０００９】
【数２】
2014153766.tif 000004
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】平尾努、鈴木潤、磯崎秀樹、「最適化問題としての文書要約」、 人工知能学会論文誌、2009年、Vol.24、No.2、p.223-231
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかし、従来の要約技術では、文を独立した単位として考えており、長さ制約Ｌｍａｘのもと関数Ｆを最大化する文集合が必ずしも入力文書の論理構造を捉えているとは限らない。たとえば、要約として読んだときに入力文書の持つ意味と反転した意味を伝えるようなものになる得る可能性がある。
【００１２】
本発明は、上記の事情を鑑みてなされたもので、入力文書の論理構造を正しく反映した要約を作成することができる文書要約方法、装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の目的を達成するために本発明に係る文書要約方法は、構造木作成手段及び要約生成手段を含み、入力文書から、予め定められた長さの上限以下となるように、予め定められた文字列単位を少なくとも１つを選択して、前記入力文書に対応する要約を生成する文書要約装置における文書要約方法であって、前記構造木作成手段によって、前記入力文書を前記文字列単位に分割した結果に基づいて、前記入力文書のうちの最も重要な前記文字列単位をルートノードとし、かつ前記入力文書のうちの各文字列単位を各ノードとし、かつ修飾関係を有する前記各文字列単位間に対応するノード間をエッジで結合した、前記入力文書の各文字列単位の依存構造に基づく談話構造木を作成するステップと、前記要約生成手段によって、前記構造木作成手段によって作成された前記依存構造に基づく談話構造木の各ノードに対応する前記文字列単位の前記長さ及び前記文字列単位の重要度に基づいて、前記依存木構造のルートノードを含む部分木のうち、前記部分木の各ノードに対応する前記文字列単位の長さの合計が前記長さの上限以下であって、重要度の合計が最大となる部分木を求め、前記入力文書から、前記求めた部分木の各ノードに対応する前記文字列単位を選択して、前記入力文書に対応する要約を生成するステップと、を含む。
【００１４】
本発明に係る文書要約装置は、入力文書から、予め定められた長さの上限以下となるように、予め定められた文字列単位を少なくとも１つを選択して、前記入力文書に対応する要約を生成する文書要約装置であって、前記入力文書を前記文字列単位に分割した結果に基づいて、前記入力文書のうちの最も重要な前記文字列単位をルートノードとし、かつ前記入力文書のうちの各文字列単位を各ノードとし、かつ修飾関係を有する前記各文字列単位間に対応するノード間をエッジで結合した、前記入力文書の各文字列単位の依存構造に基づく談話構造木を作成する構造木作成手段と、前記構造木作成手段によって作成された前記依存構造に基づく談話構造木の各ノードに対応する前記文字列単位の前記長さ及び前記文字列単位の重要度に基づいて、前記依存木構造のルートノードを含む部分木のうち、前記部分木の各ノードに対応する前記文字列単位の長さの合計が前記長さの上限以下であって、重要度の合計が最大となる部分木を求め、前記入力文書から、前記求めた部分木の各ノードに対応する前記文字列単位を選択して、前記入力文書に対応する要約を生成する要約生成手段と、を含んで構成されている。
【００１５】
本発明に係る文書要約方法及び文書要約装置によれば、構造木作成手段によって、入力文書を文字列単位に分割した結果に基づいて、入力文書のうちの最も重要な文字列単位をルートノードとし、かつ入力文書のうちの各文字列単位を各ノードとし、かつ修飾関係を有する各文字列単位間に対応するノード間をエッジで結合した、入力文書の各文字列単位の依存構造に基づく談話構造木を作成する。
【００１６】
そして、要約生成手段によって、構造木作成手段によって作成された依存構造に基づく談話構造木の各ノードに対応する文字列単位の長さ及び文字列単位の重要度に基づいて、依存木構造のルートノードを含む部分木のうち、部分木の各ノードに対応する文字列単位の長さの合計が長さの上限以下であって、重要度の合計が最大となる部分木を求め、入力文書から、求めた部分木の各ノードに対応する文字列単位を選択して、入力文書に対応する要約を生成する。
【００１７】
このように、入力文書の各文字列単位の依存構造に基づく談話構造木を作成し、依存構造に基づく談話構造木の各ノードに対応する文字列単位の長さ及び文字列単位の重要度に基づいて、依存木構造のルートノードを含む部分木のうち、部分木の各ノードに対応する文字列単位の長さの合計が長さの上限以下であって、重要度の合計が最大となる部分木を求め、部分木の各ノードに対応する文字列単位を選択して、入力文書に対応する要約を生成することにより、入力文書の論理構造を正しく反映した要約を作成することができる。
【００１８】
また、前記要約生成手段は、前記構造木作成手段によって作成された前記依存構造に基づく談話構造木の各ノードに対応する前記文字列単位の前記長さ及び前記文字列単位の重要度に基づいて、前記依存構造に基づく談話構造木の各ノードについて、葉ノードからボトムアップの順で、前記長さの上限以下の各長さに対して、前記ノードをルートノードとして形成される部分木のうち、前記部分木の各ノードに対応する前記文字列単位の長さの合計が前記長さ以下であって、かつ、重要度の合計が最大となる部分木を、ナップサック問題を解くことにより求め、前記求めた前記依存木構造のルートノードを含む部分木のうち、前記重要度の合計が最大となる部分木について、前記部分木の各ノードに対応する前記文字列単位を前記入力文書から選択して、前記入力文書に対応する要約を生成するようにすることができる。
【００１９】
また、前記構造木作成手段は、ルートノードが前記入力文書の全体を表し、かつ前記入力文書のうちの少なくとも１つの前記文字列単位からなる文字列単位の系列の各々を各ノードとした階層構造を表し、かつ、前記文字列単位の系列間の修飾関係を表した、前記入力文書の文字列単位の系列の各々の修辞構造に基づく談話構造木を作成する修辞構造解析手段と、前記修辞構造解析手段によって作成された前記修辞構造に基づく談話構造木を、前記依存構造に基づく談話構造木に変換する修辞構造木変換手段とを含むようにすることができる。
【００２０】
本発明に係るプログラムは、コンピュータを、本発明に係る文書要約方法を構成する各ステップをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００２１】
以上説明したように、文書要約方法、装置、及びプログラムによれば、入力文書の各文字列単位の依存構造に基づく談話構造木を作成し、依存構造に基づく談話構造木の各ノードに対応する文字列単位の長さ及び文字列単位の重要度に基づいて、依存木構造のルートノードを含む部分木のうち、部分木の各ノードに対応する文字列単位の長さの合計が長さの上限以下であって、重要度の合計が最大となる部分木を求め、部分木の各ノードに対応する文字列単位を選択して、入力文書に対応する要約を生成することにより、入力文書の論理構造を正しく反映した要約を作成することができる、という効果が得られる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態に係る文書要約装置の一構成例を示すブロック図である。
【図２】文書の修辞構造に基づく談話構造木（ＲＳＴ−ＤＴ）の一例を示す図である。
【図３】図２に示したＲＳＴ−ＤＴから得られた文書の依存構造に基づく談話構造木（ＤＥＰ−ＤＴ）の一例を示す図である。
【図４】図２に示したＲＳＴ−ＤＴの各非終端記号にｈｅａｄを定義した図である。
【図５】本発明の実施の形態に係る文書要約装置における構造木変換処理ルーチンの前半部分の内容を示すフローチャートである。
【図６】本発明の実施の形態に係る文書要約装置における構造木変換処理ルーチンの後半部分の内容を示すフローチャートである。
【図７】本発明の実施の形態に係る文書要約装置における構造木刈り込み処理ルーチンの前半部分の内容を示すフローチャートである。
【図８】本発明の実施の形態に係る文書要約装置における構造木刈り込み処理ルーチンの後半部分の内容を示すフローチャートである。
【図９】ＤＥＰ−ＤＴの一例と、当該依存構造に基づく談話構造木の各ノードに付与された文の重要度と文の長さとの一例を示す図である。
【図１０】図９に示したＤＥＰ−ＤＴのノード８〜４（ＩＤ＝８〜４）に対応する配列内の重要度スコアの変化を説明するための図である。
【図１１】図９に示したＤＥＰ−ＤＴのノード３〜２（ＩＤ＝３〜２）に対応する配列内の重要度スコアの変化を説明するための図である。
【図１２】図９に示したＤＥＰ−ＤＴのノード１（ＩＤ＝１）に対応する配列内の重要度スコアの変化を説明するための図である。
【図１３】図９に示したＤＥＰ−ＤＴのノード０（ＩＤ＝０）に対応する配列内の重要度スコアの変化を説明するための図である。
【図１４】従来技術を説明するための図である。
【発明を実施するための形態】
【００２３】
＜概要＞
まず、本発明の実施の形態の概要について説明する。
【００２４】
本発明の実施の形態は、与えられた文書を要約する技術に関する。この技術は文書要約時において、与えられた文書を文書中の文法的な要素（文、句、節）をノードとした木として表現し、その木を刈り込むことで文書の要約を生成する技術である。本実施の形態では、「文」をノードとした木として表現し、その木を刈り込むことで文書の要約を生成する場合を例に挙げて説明する。
【００２５】
本実施の形態では、要約元の文書の論理構造(修辞構造) を正しく反映するため、入力文書を修辞構造に基づく談話構造木（Rhetorical Structure Theory based Discourse Tree：ＲＳＴ−ＤＴ）（以下、ＲＳＴ−ＤＴと称する。）として捉え、木構造を壊すことなく刈り込むことで要約を生成する。ただし、ＲＳＴ−ＤＴのそのままの構造では刈り込みが難しいため、ＲＳＴ−ＤＴを一旦、依存構造に基づく談話構造木（Dependency based Discourse Tree:ＤＥＰ−ＤＴ）（以下、ＤＥＰ−ＤＴと称する。）へと変換し、ＤＥＰ−ＤＴを刈り込むことで要約を生成する。
【００２６】
＜システム構成＞
以下、図面を参照して本発明の実施の形態を詳細に説明する。図１は、本発明の実施の形態に係る文書要約装置１００を示すブロック図である。文書要約装置１００は、ＣＰＵと、ＲＡＭと、後述する構造木変換処理ルーチン及び構造木刈り込み処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００２７】
本実施の形態に係る文書要約装置１００は、図１に示すように、入力部１と、演算部２と、出力部３とを備えている。
【００２８】
入力部１は、要約対象となる文書（テキスト）と、要約文書の長さ（文字数又は単語数）の上限を表す指標Ｌｍａｘ（以下、長さの上限Ｌｍａｘと称する。）とを受け付ける。文書要約装置１００は、入力された長さの上限Ｌｍａｘ以下となるように、入力部１により入力された文書から、文の少なくとも１つが選択され、入力された文書に対応する要約を生成する。
【００２９】
演算部２は、分割部２０と、単語重要度データベース２１と、重要度付与部２２と、修辞構造解析部２３と、修辞構造木変換部２４と、依存構造木刈り込み部２５とを備えている。なお、修辞構造解析部２３及び修辞構造木変換部２４は、構造木作成手段の一例である。また、依存構造木刈り込み部２５は、要約生成手段の一例である。
【００３０】
分割部２０は、入力部１により入力された文書を文に分割する。なお、文に分割する技術としては、従来既知の手法を用いればよいため、説明を省略する。
【００３１】
単語重要度データベース２１には、複数の単語の各々について、当該単語ｔの重要度を示す単語重要度ｗ（ｔ）が予め記憶されている。単語重要度ｗ（ｔ）については情報検索システムなどで一般的に用いられるｔｆ‐ｉｄｆ法などを用いて決定しておけば良い。
【００３２】
重要度付与部２２は、分割部２０によって分割された入力文書の各文について、当該文に含まれる各単語の単語重要度に基づいて、当該文の重要度を決定する。具体的には、入力文書の各文ｓｉについて、単語重要度データベース２１に記憶されている、当該文に含まれる各単語ｔの単語重要度ｗ（ｔ）に基づいて、上記（１）式に従って、当該文ｓｉの重要度を算出し、当該文に対して重要度を付与する。
【００３３】
修辞構造解析部２３は、分割部２０によって分割された各文を解析し、図２に示すような、Rhetorical Structure Theory（参考文献１（Mann, WC. and Thomson, SA.、「Rhetorical Structure Theory：Toward a functional theory of text organization」、Text & Talk、1988、Vol.8、No.3、p.243-281（http://www.sfu.ca/rst/）を参照。）に基づく談話構造木（ＲＳＴ−ＤＴ）を作成する。ここで、ＲＳＴ−ＤＴとは、ルートノードが入力文書の全体を表し、かつ入力文書のうちの少なくとも１つの文からなる文系列の各々を各ノードとした階層構造を表し、かつ、文系列間の修飾関係を表した、入力文書の文系列の各々の修辞構造に基づく談話構造木である。図２に示すｅは文書中の文法的要素（例えば、文）を表す終端記号であり、ｒｏｏｔは文書全体を表す仮想的なノードである。Ｓは衛星、Ｎは核という文法的要素そのものあるいは文法的要素の系列が文書中で担う役割を示す非終端記号である。さらに、Ｓは必ずＮを修飾するというルールがある。また、ＳとＮ、ＳとＳ、ＮとＮの間には修飾関係を表すラベルが定義される。たとえば、ｅ６はｅ５に対する「Ｅｖｉｄｅｎｃｅ」を表す。
【００３４】
修辞構造解析部２３は、例えば、入力された文書の各文に基づいて、参考文献２（duVerle, D. and Prendinger, H.、「A Novel Discourse Parser Based on Support Vector Machine Classification」、Proc of the 47thACL、2009、p665-675）を参照。）に記載の解析技術を用いて、ＲＳＴ−ＤＴを作成する。または、ＲＳＴ−ＤＴのアノテーション済みコーパスを用いて、上記参考文献２と同様に解析器を構築しておき、構築した解析器を用いて、ＲＳＴ−ＤＴを作成することも可能である。なお、Rhetorical Structure Theoryでは、文書中の文法的要素は節として定義されているが、本実施の形態ではこれが節であっても、文であっても問題はないので先にも述べた通り、以降の説明では、文が文法的要素であると仮定する。
【００３５】
ＲＳＴ−ＤＴを要約文書生成に利用しようと考えた場合、特に文と文との間の修飾関係を把握し難いという問題がある。そこで本実施の形態では、修辞構造木変換部２４によって、修辞構造解析部２３によって作成されたＲＳＴ−ＤＴを、文と文との間の修飾関係が明らかになるような形の木、すなわち、依存構造に基づく談話構造木（Dependency based Discourse Tree：ＤＥＰ−ＤＴ）へ変換する。ＤＥＰ−ＤＴとは、入力文書のうちの最も重要な文をルートノードとし、かつ入力文書のうちの各文を各ノードとし、かつ修飾関係を有する各文間に対応するノード間をエッジで結合した、入力文書の各文の依存構造に基づく談話構造木である。図３に上記図２のＲＳＴ−ＤＴをＤＥＰ−ＤＴに変換した結果を示す。ＤＥＰ−ＤＴでは、ＲＳＴ−ＤＴで定義されていた非終端記号間の関係ラベルが失われるが、文と文との間の修飾関係が明らかとなる。ＲＳＴ−ＤＴからＤＥＰ−ＤＴへの変換は、以下のステップ（０）〜（２−４）により行われる。
【００３６】
ステップ（０）
全ての非終端記号（Ｓ又はＮ）に対し、ｈｅａｄを定義する。ｈｅａｄとは、その記号の子孫の文の中で一番左のＮに対応する文（ｅ）を指す。子孫に、Ｎに対応する文が存在しない場合、ｈｅａｄは未定義とする。上記図２のＲＳＴ−ＤＴの各非終端記号に、ｈｅａｄを定義した場合を、図４に示す。
【００３７】
ステップ（１−１）
文（ｅ）の親がＳの場合、直近の先祖にｈｅａｄが定義されているか否かをチェックし、ｈｅａｄが定義されている場合、その文を修飾する。
【００３８】
ステップ（１−２）
ｈｅａｄが定義されていない場合、さらに先祖を辿り、（１−１）が当てはまれば、その文を修飾し、ｒｏｏｔまでたどりついた場合には、ｒｏｏｔのｈｅａｄとして定義されている文を修飾する。
【００３９】
ステップ（２−１）
文（ｅ）の親がＮの場合、直近の先祖のＳの兄弟にＮがいる場合、Ｎのｈｅａｄが定義されているか否かをチェックする。
【００４０】
ステップ（２−２）
ｈｅａｄが定義されている場合、その文を修飾する。
【００４１】
ステップ（２−３）
ｈｅａｄが定義されていない場合、さらに先祖を辿り、Ｓを探し、（２−１）、（２−２）を適用する。
【００４２】
ステップ（２−４）
ｒｏｏｔまでたどりついた場合には、ｒｏｏｔのｈｅａｄとして定義されている文を修飾する。
【００４３】
依存構造木刈り込み部２５は、修辞構造木変換部２４によって得られたＤＥＰ−ＤＴを刈り込む。具体的には、依存構造木刈り込み部２５は、修辞構造木変換部２４によって変換されたＤＥＰ−ＤＴの各ノードに対応する文の長さｌ及び文の重要度に基づいて、ＤＥＰ−ＤＴの最も重要な文に対応するルートノードを含む部分木のうち、部分木の各ノードに対応する文の長さｌの合計が長さの上限Ｌｍａｘ以下であって、重要度の合計（重要度スコア）が最大となる部分木が得られるように、修辞構造木変換部２４によって変換されたＤＥＰ−ＤＴを刈り込み、ＤＥＰ−ＤＴを刈り込んだ部分木の各ノードに対応する文を選択して、入力文書に対応する要約を生成する。
【００４４】
より詳細には、依存構造木刈り込み部２５は、修辞構造木変換部２４によって変換されたＤＥＰ−ＤＴの各ノードに対応する文の長さｌ及び文の重要度に基づいて、ＤＥＰ−ＤＴの各ノードについて、葉ノードからボトムアップの順で、長さの上限Ｌｍａｘ以下の各長さＬに対して、ノードをルートノードとして形成される部分木のうち、部分木の各ノードに対応する文の長さｌの合計が当該長さＬ以下であって、かつ、重要度の合計（重要度スコア）が最大となる部分木を、ナップサック問題を解くことにより求める。そして、求めた依存木構造のルートノードを含む部分木のうち、重要度スコアが最大となる部分木について、部分木の各ノードに対応する文を選択して、入力文書に対応する要約を生成する。
例えば、ＤＥＰ−ＤＴの刈り込みアルゴリズムは以下のステップ[０]〜[２−３]を備えている。
【００４５】
ステップ［０］
修辞構造木変換部２４によって変換されたＤＥＰ−ＤＴの全てのノードに対し、長さＬｍａｘ＋１の配列を用意し、配列の全ての要素の重要度スコアをゼロで初期化する。各ノードの配列は、当該ノードを含む部分木のうち、長さの合計が長さｉ（０≦ｉ≦Ｌｍａｘ)以下の部分木に対応する要約の要約スコアの最大値を格納する。
【００４６】
ステップ［１］
修辞構造木変換部２４によって変換されたＤＥＰ−ＤＴをＳ式で表現し、Ｓ式の右側のノードから順に、当該ノードを対象ノードとし、対象ノードの配列の個々の要素の重要度スコアを以下のステップ[２−１]〜[２−３]で決定する。
【００４７】
ステップ［２−１］
対象ノードが子ノードを持たない、かつ、対象ノードに対応する文の長さｌについてｌ≦Ｌｍａｘならば、対象ノードの配列に対し、添字がｌからＬｍａｘまでの要素の値を対象ノードに対応する文の重要度ｖとする。
【００４８】
ステップ［２−２］
対象ノードが子ノードを持つ場合、任意の子ノードを選択し、選択した子ノードの配列から、添字がゼロからＬｍａｘ−ｌまでの要素を取り出す。これをベース配列と呼ぶ。
【００４９】
ステップ［２−２−１］
他の子ノードに対し、以下のステップ[２−２−２]〜[２−２−４]の処理を行う。
【００５０】
ステップ［２−２−２］
当該子ノードの配列から、添字がゼロからＬｍａｘ−ｌまでの要素を取り出す。取り出した要素からなる配列に格納された値からアイテムを抽出する。取り出した要素からなる配列に格納された値の異なり数だけアイテムは存在する。たとえば、取り出した要素からなる配列が［０、１、１、２、３］であれば、この配列には長さ１、重要度スコア１のアイテム、長さ３、重要度スコア２のアイテム、長さ４、重要度スコア３のアイテムが存在する。
【００５１】
ステップ［２−２−３］
抽出した各アイテムについて、ベース配列と当該アイテムとでナップサック問題を解き、抽出したアイテムの数だけ長さＬｍａｘ−ｌの配列を得る。
【００５２】
ステップ［２−２−４］
各添字について、得られた配列群の当該添字の要素から、最大値を取得し、各添字について取得した最大値を記憶した配列を生成し、生成した配列でベース配列を上書きする。
【００５３】
ステップ［２−３］
ベース配列に対し、対象ノードに対応する文の長さと重要度スコアを加算する。
【００５４】
上記のアルゴリズムにより、ＤＥＰ−ＤＴの全てのノードに対して、長さの合計が長さｉ（０≦ｉ≦Ｌｍａｘ）以下の部分木に対応する要約の要約スコアの最大値を格納した配列が生成される。ここで、ｒｏｏｔノードの配列のＬｍａｘ番目の要素に最大値が格納されるので、当該要素に格納されている最大値を計算した履歴をたどることにより、長さ制約がＬｍａｘのもと、文重要度の和が最大となる部分木を得ることができ、当該部分木から要約を得ることができる。
【００５５】
＜文書要約装置の作用＞
次に、本実施の形態に係る文書要約装置１００の作用について説明する。要約対象の文書と、要約の長さの上限Ｌｍａｘとが文書要約装置１００に入力されると、文書要約装置１００によって、図５及び図６に示す構造木変換処理ルーチンが実行される。
【００５６】
まず、ステップＳ１００において、入力部１により入力された文書を受け付ける。ステップＳ１０２において、上記ステップＳ１００で入力された文書について、分割部２０によって、文に分割する。
【００５７】
次に、ステップＳ１０４において、上記ステップＳ１０２で分割された各文について、重要度付与部２２によって、単語重要度データベース２１に記憶されている各単語の単語重要度に基づいて、上記（１）式に従って、当該文に対して重要度を付与する。
【００５８】
そして、ステップＳ１０６において、修辞構造解析部２３によって、上記ステップＳ１０２で分割された各文に基づいて、文系列の各々の修辞構造を解析し、ＲＳＴ−ＤＴを作成する。
【００５９】
ステップＳ１０８において、修辞構造木変換部２４によって、上記ステップＳ１０６で作成されたＲＳＴ−ＤＴにおける非終端記号（上記図２に示すＳ又はＮに相当）のノードを一つ処理対象ノードとして設定する。
【００６０】
次に、ステップＳ１１０において、上記ステップＳ１０８で設定された処理対象のノードについて、子孫のうちの一番左の非終端記号Ｎに対応する文（上記図２に示す終端記号ｅ１〜ｅ１０に相当）をｈｅａｄと定義する。
【００６１】
そして、ステップＳ１１２において、ＲＳＴ−ＤＴの全ての非終端記号のノードについて、上記ステップＳ１０８〜Ｓ１１０の処理を実行したか否かを判定する。そして、上記ステップＳ１０８〜Ｓ１１０の処理を実行していない、非終端記号のノードが存在する場合には、上記ステップＳ１０８へ戻り、当該ノードを処理対象として設定する。一方、全ての非終端記号のノードについて、上記ステップＳ１０８〜Ｓ１１０の処理を実行した場合には、ステップＳ１１４へ進む。
【００６２】
次に、ステップＳ１１４において、ＲＳＴ−ＤＴの１つの文に対応するノード（上記図２に示す終端記号ｅ１〜ｅ１０に相当）を処理対象として設定する。
【００６３】
次に、ステップＳ１１６において、上記ステップＳ１１４で設定された処理対象の文ノードの親ノードをチェックし、当該親ノードが非終端記号Ｓのノードであるか否かを判定する。そして、当該親ノードが非終端記号Ｓのノードである場合には、ステップＳ１１８へ移行する。当該親ノードが非終端記号Ｓのノードでない場合（非終端記号Ｎのノードである場合）には、ステップＳ１２２へ移行する。
【００６４】
次にステップＳ１１８において、処理対象の文ノードの親ノードの先祖であって、ｈｅａｄが定義されている直近の先祖を探索する。
【００６５】
次に、ステップＳ１２０において、上記ステップＳ１１４で設定された処理対象の文ノードの文の修飾先として、上記ステップＳ１１８で探索された先祖に定義されているｈｅａｄを修飾する。なお、上記ステップ１１８でＲＳＴ−ＤＴのｒｏｏｔノードまで辿った場合には、処理対象ノードの文の修飾先として、ｒｏｏｔノードに定義されているｈｅａｄを修飾する。
【００６６】
ステップＳ１２２において、処理対象の文ノードの親ノードである非終端記号Ｎのノードの先祖を辿り、ｈｅａｄが定義されている非終端記号Ｎのノードを兄弟ノードに持つ、直近の先祖の非終端記号Ｓのノードを探索する。
【００６７】
そして、ステップＳ１２４において、ｈｅａｄが定義されている非終端記号Ｎのノードを兄弟ノードに持つ直近の先祖の非終端記号Ｓのノードが探索されたか否かを判定する。そして、ｈｅａｄが定義されている非終端記号Ｎのノードを兄弟ノードに持つ直近の先祖の非終端記号Ｓのノードが探索された場合には、ステップＳ１２６へ移行する。ｈｅａｄが定義されている非終端記号Ｎのノードを兄弟ノードに持つ直近の先祖の非終端記号Ｓのノードが探索されなかった場合には、ステップＳ１２８へ移行する。
【００６８】
ステップＳ１２６において、上記ステップＳ１１４で設定された処理対象の文ノードの文の修飾先として、上記ステップＳ１２２で探索された非終端記号Ｓのノードの兄弟ノードである非終端記号Ｎのノードに定義されているｈｅａｄを修飾する。
【００６９】
ステップＳ１２８において、上記ステップＳ１１４で設定された処理対象の文ノードの文の修飾先として、ｒｏｏｔノードに定義されているｈｅａｄを修飾する。
【００７０】
ステップＳ１３０において、ＲＳＴ−ＤＴの終端記号に対応する文ノードの全てについて、上記ステップＳ１１４〜Ｓ１２８の処理を実行したか否かを判定する。そして、上記ステップＳ１１４〜Ｓ１２８の処理を実行していない文ノードが存在する場合には、上記ステップＳ１１４へ戻り、当該文ノードを処理対象として設定する。一方、全ての文ノードについて、上記ステップＳ１１４〜Ｓ１２８の処理を実行した場合には、ステップＳ１３２へ進む。
【００７１】
そして、ステップＳ１３２において、上記ステップＳ１２２、Ｓ１２６、Ｓ１２８で得られた修飾関係に従って、各文ノード間をエッジで結合することにより、ＤＥＰ−ＤＴを作成する。
【００７２】
そして、ステップＳ１３４において、上記ステップＳ１３２で作成されたＤＥＰ−ＤＴを結果として出力する。
【００７３】
そして、上記構造木変換処理ルーチンによって要約対象の文書に対応するＲＳＴ−ＤＴからＤＥＰ−ＤＴへと変換されると、文書要約装置１００によって、図７及び図８に示す構造木刈り込み処理ルーチンが実行される。
【００７４】
まず、ステップＳ２００において、上記構造木変換処理ルーチンによって変換されたＤＥＰ−ＤＴの全てのノードに対して、長さＬｍａｘ+１の配列を用意する。当該配列については、文の長さｌが配列の添え字に対応し、重要度スコアが配列の要素に格納される。
【００７５】
次に、ステップＳ２０２において、上記ステップＳ２００で用意した全ての配列を初期化する。
【００７６】
そして、ステップＳ２０４において、上記構造木変換処理ルーチンによって変換されたＤＥＰ−ＤＴをＳ式で表現する。
【００７７】
次に、ステップＳ２０６において、上記ステップＳ２０４で表現されたＳ式の右から順に、１つのノードを対象ノードとして設定する。
【００７８】
次に、ステップＳ２０８において、上記ステップＳ２０６で設定された対象ノードの長さｌが、ｌ≦Ｌｍａｘであるか否かを判定する。そして、対象ノードの長さｌが、ｌ≦Ｌｍａｘである場合には、ステップＳ２１０へ移行する。対象ノードの長さｌが、ｌ≦Ｌｍａｘでない場合には、ステップＳ２０６へ戻り、次のノードを対象ノードとして設定する。
【００７９】
ステップＳ２１０において、対象ノードの配列について、添え字がｌ〜Ｌｍａｘまでの要素の各々に、対象ノードに対応する文の重要度ｖを格納する。
【００８０】
ステップＳ２１２において、上記ステップＳ２０６で設定された対象ノードが子ノードを持つか否かを判定する。そして、対象ノードが子ノードを持つ場合には、ステップＳ２１４へ移行する。対象ノードが子ノードを持たない場合には、ステップＳ２３４へ移行する。
【００８１】
次に、ステップＳ２１４において、上記ステップＳ２０６で設定された対象ノードの子ノードを１つ設定する。ステップＳ２１６において、上記ステップＳ２１４で設定された子ノードの配列について、添え字０〜Ｌｍａｘ−ｌまでの要素からなる配列を、ベース配列として設定する。
【００８２】
そして、ステップＳ２１８において、上記ステップＳ２０６で設定された対象ノードが、他の子ノードを持つか否かを判定する。対象ノードが他の子ノードを持つ場合には、ステップＳ２２０へ移行する。対象ノードが他の子ノードを持たない場合には、ステップＳ２３２へ移行する。
【００８３】
次に、ステップＳ２２０において、上記の他の子ノードのうちの１つの子ノードを設定する。そして、ステップＳ２２２において、上記ステップＳ２２０で設定された子ノードの配列から、添え字０〜Ｌｍａｘ−ｌまでの各要素を取り出す。
【００８４】
そして、ステップＳ２２４において、上記ステップＳ２２２で取り出された添え字０〜Ｌｍａｘ−ｌまでの各要素からアイテムを抽出する。
【００８５】
そして、ステップＳ２２６において、上記ステップＳ２２４で抽出された各アイテムについて、上記ステップＳ２１６で設定されたベース配列と、当該アイテムとで、ナップサック問題を解いて、各アイテムに対する配列を作成する
【００８６】
次に、ステップＳ２２８において、上記ステップＳ２２６で作成された各アイテムに対する配列から、各添字における最大値を取り出した配列を作成し、作成した配列で、ベース配列を上書きする。
【００８７】
ステップＳ２３０において、対象ノードが更に他の子ノードを持つか否かを判定する。対象ノードが更に他の子ノードを持つ場合には、ステップＳ２２０へ移行する。対象ノードが更に他の子ノードを持たない場合には、ステップＳ２３２へ移行する。
【００８８】
次に、ステップＳ２３２において、上記ステップＳ２１６又は上記ステップＳ２２８で得られたベース配列に対して、上記ステップＳ２１０で設定された対象ノードの配列の各要素の重要度スコアを加算して、対象ノードの配列を更新する。
【００８９】
そして、ステップＳ２３４において、上記ステップＳ２０４で表現されたＤＥＰ−ＤＴのＳ式の全てのノードについて、上記ステップＳ２０６〜Ｓ２３２の処理を実行したか否かを判定する。そして、上記ステップＳ２０６〜Ｓ２３２の処理を実行していない文が存在する場合には、上記ステップＳ２０６へ戻り、当該ノードを対象ノードとして設定する。一方、全てのノードについて、上記ステップＳ２０６〜Ｓ２３２の処理を実行した場合には、ステップＳ２３６へ進む。
【００９０】
次にステップＳ２３６において、ｒｏｏｔノードの配列の添え字Ｌｍａｘの要素に格納されている重要度スコアが算出された履歴を辿り、ＤＥＰ−ＤＴに対し、当該要素の重要度スコアを算出するために用いられたノードを残し、その他のノードを刈り込むことによって、部分木を取得する。
【００９１】
そして、ステップＳ２３８において、上記ステップＳ２３６で取得された部分木に基づいて、要約を作成する。
【００９２】
そして、ステップＳ２４０において、上記ステップＳ２３８で作成された要約を出力部３により出力して、構造木刈り込み処理ルーチンを終了する。
【００９３】
＜動作例＞
次に、本実施の形態に係る文書要約装置の実際の動作例を以下で説明する。
動作例として、図９に示すＤＥＰ−ＤＴを例に挙げて説明する。上記図９に示すＤＥＰ−ＤＴは、既にＲＳＴ−ＤＴから変換されたものであることを想定する。上記図９の右側の表に、ＤＥＰ−ＤＴにおける各ノード（文）の重要度（Ｖ）と長さｌとを示す。なお、要約の長さ制約（長さの上限Ｌｍａｘ）は、Ｌｍａｘ＝１０とする。
【００９４】
上記図９のＤＥＰ−ＤＴをＳ式で表すと以下の表現となる。
【００９５】
（０（１（２）（３（４）（５）））（６（７））（８））
【００９６】
よって、ノード番号８〜０の順に対象ノードを設定し、各ノードに対し長さ１０＋１の配列を用意する。
【００９７】
そして、以下の手順に従って、各配列の各要素に格納される重要度スコアを決定すれば良い。
【００９８】
はじめに、ノード８を対象ノードとして設定する。上記図９に示すように、ノード８は子ノードを持たないため、配列の１番目から１０番目までの要素に、ノード８の重要度である２を格納する（上記ステップ［２−１］適用、図１０参照。）。
【００９９】
次に、ノード７を対象ノードとして設定する。上記図９に示すように、ノード７は子ノードを持たないため、配列の１番目から１０番目までの要素に、ノード７の重要度である３を格納する（上記ステップ［２−１］適用、図１０参照。）。
【０１００】
次に、ノード６を対象ノードとして設定する。ノード６は子ノードを持つため、任意の子ノードを１つ選択する。この場合、子ノードはノード７だけなのでこれを選択する。ノード６の長さｌは２なので、ノード７の配列の０から８までの要素を取り出しベース配列とする（上記ステップ［２−２］適用、図１０参照。）。
【０１０１】
ノード６にはノード７以外の子ノードがいないため、先のステップで取り出されたベース配列の要素（０から８までの要素）に対し、ノード６自身の長さｌと重要度スコアを足す（上記ステップ［２−３］適用、図１０参照。）。
ここで、「ノード６自身の重要度スコア」とは、ノード６の配列の２番目から１０番目までの要素に、ノード６の重要度である１を格納したものである（図１０中段（２）参照）。また、「ノード６自身の長さｌ…を足す」とは、ノード６自身の長さｌ（＝２）分だけシフトさせて、上記取り出された配列の要素（０から８までの要素）を足すことを意味する。
【０１０２】
次に、ノード５を対象ノードとして設定する。ノード５は子ノードを持たないため、配列の１番目から１０番目までの要素に、ノード５の重要度である２を格納する（上記ステップ［２−１］適用、図１０参照。）。
【０１０３】
次に、ノード４を対象ノードとして設定する。ノード４は子ノードを持たないため、配列の３番目から１０番目までの要素に、ノード４の重要度である３を格納する（上記ステップ［２−１］適用、図１０参照。）。
【０１０４】
次に、ノード３を対象ノードとして設定する。ノード３は子ノードを持つため、任意の子ノードを１つ選択する。この場合、子ノードはノード４と５であるが、ここでは、５を選択する。ノード３の長さｌは２なので、ノード５の配列の０から８までの要素を取り出しベース配列とする（上記ステップ［２−２］適用、図１１参照。）。
【０１０５】
ノード３の５以外の子ノードは４なので、ノード４の配列の０から８番目までの要素を取り出す。個々に含まれる非ゼロの重要度スコアは３のみであることから、ノード４の配列（ただし、添字は０から８まで）が保持するアイテムは長さ３、重要度スコア３のアイテム（ノード４そのもの) のみである（上記ステップ［２−２−１］、［２−２−２］適用、図１１参照。）。
【０１０６】
ベース配列と先のステップで抽出したアイテムとでナップサック問題を解いて配列を作成し、ベース配列を上書きする（上記ステップ［２−２−３］適用、図１１（３）（ＩＤ＝３の４行目）参照。）。
【０１０７】
ベース配列に対し、ノード３自身の長さｌと重要度スコアを足す（上記ステップ［２−３］適用、図１１（５）（ＩＤ＝３の７行目）参照。）。
【０１０８】
次に、ノード２を対象ノードとして設定する。ノード２は子ノードを持たないため、配列の２番目から１０番目までの要素をノード２の重要度スコアである４を格納する（上記ステップ［２−１］適用、図１１参照。）。
【０１０９】
次に、ノード１を対象ノードとして設定する。ノード１は子ノードを持つため、任意の子ノードを１つ選択する。この場合、子ノードはノード２と３であるが、ここでは、３を選択する。ノード１の長さｌは１なので、ノード３の配列を０から９番目まで取り出しベース配列とする（上記ステップ［２−２］適用、図１２参照。）。
【０１１０】
ノード１の３以外の子ノードは２なので、ノード２の配列の０から９番目までの要素を取り出す。配列の個々に要素に含まれる非ゼロの重要度スコアは４のみであることから、ノード２の配列（ただし、添字は０から９まで）が保持するアイテムは長さ２、重要度スコア４のアイテム（ノード２そのもの）のみである（上記ステップ［２−２−１］、［２−２−２］適用、図１２参照。）。
【０１１１】
ベース配列と先のステップで抽出したアイテムとでナップサック問題を解いて配列を作成し、ベース配列を上書きする（上記ステップ［２−２−３］適用、図１２（ＩＤ＝１の４行目）参照。）。
【０１１２】
ベース配列に対し、ノード１自身の長さｌと重要度スコアを足す（上記ステップ［２−３］適用、図１２（ＩＤ＝１の７行目）参照。）。
【０１１３】
次に、ノード０を対象ノードとして設定する。ノード０は子ノードを持つため、任意の子ノードを１つ選択する。この場合、子ノードはノード１と６と８であるが、ここでは、１を選択する。ノード０の長さは３なので、ノード１の配列を０から７番目までの要素を取り出しベース配列とする（上記ステップ［２−２］適用、図１３（１）、（４）参照。）。
【０１１４】
ノード０の１以外の子ノードは６と８であるが、まず、ノード６の配列の０から７番目までの要素を取り出す。配列の個々に要素に含まれる非ゼロの重要度スコアは１と４であることから、ノード６の配列（ただし、添字は０から７まで）が保持するアイテムは長さ２、重要度スコア１と長さ３、重要度スコア４の２つアイテムとなる（上記ステップ［２−２−１］、［２−２−２］適用、図１３（２）、（５）参照。）。
【０１１５】
ベース配列と先のステップで抽出したアイテム（長さ２、重要度スコア１）とでナップサック問題を解いて配列を作成する（上記ステップ［２−２−３］適用、図１３（３）参照。）。
【０１１６】
ベース配列と２つ前のステップで抽出したもう１つのアイテム（長さ３、重要度スコア４） とでナップサック問題を解いて配列を作成する（上記ステップ［２−２−３］適用、図１３（６）参照。）。
【０１１７】
前の２つのステップで作成した配列の個々の要素に対して最大値のみを記録した配列でベース配列を上書きする（上記ステップ［２−２−４］適用、図１３（７）参照。）。
【０１１８】
ノード０の残りの子ノードであるノード８の配列の０から７番目までの要素を取り出す。配列の個々に要素に含まれる非ゼロの重要度スコアは２のみであることから、ノード８の配列（ただし、添字は０から７まで）が保持するアイテムは長さ１、重要度スコア２のアイテム（ノード８そのもの）のみとなる（上記ステップ［２−２−１］、［２−２−２］適用、図１３（８）参照。）。
【０１１９】
ベース配列と先のステップで抽出したアイテムとでナップサック問題を解いて配列を作成し、ベース配列を上書きする（上記ステップ［２−２−３］適用、図１３（９）参照。）。
【０１２０】
ベース配列に対し、ノード０自身の長さｌと重要度スコアを足す（上記ステップ［２−３］適用、図１３（１０）、（１１）参照。）。
【０１２１】
以上の手続きにより全てのノードに対し配列の要素を決定することができた。最大値は必ずｒｏｏｔノードに格納される。例ではその値は１４であり、これを記録した履歴を辿ることで要約を得ることができる。この例では、ノード０、１、２、６、７、８から成る部分木（長さ１０、重要度スコア１４）の各ノードに対する文を入力文書から選択して要約を生成し出力する。
【０１２２】
以上説明したように、本実施の形態に係る文書要約装置によれば、入力文書の各文の依存構造に基づく談話構造木を作成し、依存構造に基づく談話構造木の各ノードに対応する文の長さ及び文の重要度に基づいて、依存木構造のルートノードを含む部分木のうち、部分木の各ノードに対応する文の長さの合計が長さの上限以下であって、重要度の合計が最大となる部分木を求め、部分木の各ノードに対応する文を選択して、入力文書に対応する要約を生成することにより、入力文書の論理構造を正しく反映した要約を作成することができる。
【０１２３】
また、本実施の形態に係る文書要約装置を用いることで、長さ制約（長さの上限Ｌｍａｘ）のもと、文書の論理構造を崩すことなく、文重要度の和が最大とする文の組合せ、すなわち、要約を生成することができるようになる。
【０１２４】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１２５】
例えば、本実施の形態では、要約対象を文書とした場合を例に挙げて説明したが、文書ではなく「文」をＤＥＰ−ＤＴとして表せば、同様に一文要約も可能となる。
【０１２６】
また、本実施の形態では、文書中の「文」をＤＥＰ−ＤＴの各ノードとした場合を例に説明したが、各ノードを文以外の文字列単位として表わすこともできる。その場合には、分割部２０によって、文書を「文字列単位」（文法的な要素（句、節など））に分割し、当該「文字列単位」をノードとした木としてＤＥＰ−ＤＴを表現する。
【０１２７】
また、本実施の形態に係る文書要約装置は、日本語だけでなく英語等の外国語にも適用可能である。その場合には、ピリオドを手がかりとして分割部２０によって分割し、文の長さｌに関しては、単語数を用いれば良い。
【０１２８】
また、単語重要度データベース２１は、外部に設けられ、文書要約装置とネットワークで接続されていてもよい。
【０１２９】
また、入力部１に入力される文書は、既に文又は文字列単位に分割された形態であってもよい。
【０１３０】
また、重要度付与部２２は、上記（１）式に基づいて、各文又は各文字列単位に重要度を付与する場合を例に説明したが、これに限定されるものではなく、他の方法によって各文又は各文字列単位に重要度を付与してもよい。
【０１３１】
また、本実施の形態では、要約対象の入力文書を表すＲＳＴ−ＤＴを変換してＤＥＰ−ＤＴを得る場合を例に説明したが、要約対象の入力文書を表すＤＥＰ−ＤＴを得るために、必ずしも、要約対象の入力文書を表すＲＳＴ−ＤＴが必要ではない。例えば、学習用文書を表すＲＳＴ−ＤＴのアノテーション済みコーパスをＤＥＰ−ＤＴに変換したものを学習データとして、文書を入力として受け取り、直接ＤＥＰ−ＤＴを出力する解析器を構築することも可能である。この場合には、要約対象の入力文書を入力として、解析器を用いて、入力文書を表わすＤＥＰ−ＤＴを作成することができる。
【０１３２】
上述の文書要約装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１３３】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１３４】
１     入力部
２     演算部
３     出力部
２０   分割部
２１   単語重要度データベース
２２   重要度付与部
２３   修辞構造解析部
２４   修辞構造木変換部
２５   依存構造木刈り込み部
１００ 文書要約装置
【図１】
2014153766.tif 000005
【図２】
2014153766.tif 000006
【図３】
2014153766.tif 000007
【図４】
2014153766.tif 000008
【図５】
2014153766.tif 000009
【図６】
2014153766.tif 000010
【図７】
2014153766.tif 000011
【図８】
2014153766.tif 000012
【図９】
2014153766.tif 000013
【図１０】
2014153766.tif 000014
【図１１】
2014153766.tif 000015
【図１２】
2014153766.tif 000016
【図１３】
2014153766.tif 000017
【図１４】
2014153766.tif 000018