(57)【要約】      （修正有）【課題】観点を考慮した要約を作成する。【解決手段】部分木保持ＺＤＤ作成部２６がＺＤＤを構築する。観点情報抽出部３２が、複数の観点の各々について、文書に含まれる単語毎に、観点との関連度を算出し、単語毎に観点の各々について算出された関連度に基づいて、文書における複数の観点の比率を算出する。観点部分木保持ＺＤＤ生成部３６が、観点の比率に応じた長さ上限と、ノードの各々に対応する単語の観点との関連度と、単語の長さとに基づいて、構築されたＺＤＤが表す部分木の集合のうちの部分木の部分集合を表すＺＤＤを、観点に対応する観点ＺＤＤとして生成する。最適部分木算出部３８が、観点ＺＤＤが表す部分木の部分集合に共通する部分木を表す共通ＺＤＤのパスのうち、要約の長さ上限を満たす最適なパスを探索し、探索されたパスが表す前記部分木を出力する。要約出力部５０が、部分木に基づいて、入力テキストの要約を出力する。【選択図】図１
2018081463.tif 000002
【特許請求の範囲】
【請求項１】
入力テキストに含まれる文字列単位を表すノードの各々から構成され、かつ、前記入力テキストを表現する木構造から、刈り込むことで得られる部分木を選択することにより、前記入力テキストを要約するテキスト要約装置であって、
前記木構造を刈り込むことで得られる部分木の集合を表し、かつ、２つの終端ノード、及び前記木構造の各ノードに対応する、根ノード又は中間ノードを含むゼロサプレス型二分決定グラフであるＺＤＤ（Zero-suppressed Binary Decision Diagrams）を構築する部分木保持ＺＤＤ作成部と、
予め求められた複数の観点の各々について、前記入力テキストに含まれる前記文字列単位毎に、前記観点との関連度を算出し、前記文字列単位毎に前記観点の各々について算出された前記関連度に基づいて、前記入力テキストにおける前記複数の観点の比率を算出する観点情報抽出部と、
前記複数の観点の各々について、前記観点の比率に応じた長さ上限と、前記ノードの各々に対応する前記文字列単位の前記観点との関連度と、前記ノードの各々に対応する前記文字列単位の長さとに基づいて、前記部分木保持ＺＤＤ作成部によって構築されたＺＤＤが表す前記部分木の集合のうちの前記部分木の部分集合を表すＺＤＤを、前記観点に対応する観点ＺＤＤとして生成する観点部分木保持ＺＤＤ生成部と、
前記複数の観点の各々について生成された前記観点ＺＤＤが表す前記部分木の部分集合に共通する前記部分木の各々を表す共通ＺＤＤのパスのうち、要約の長さ上限を満たす最適なパスを探索し、前記探索されたパスが表す前記部分木を出力する最適部分木算出部と、
前記最適部分木算出部によって出力された前記部分木に基づいて、前記入力テキストの要約を出力する要約出力部と、
を含むテキスト要約装置。
【請求項２】
前記複数の観点の各々について、前記要約の長さ上限と、前記算出された前記観点の比率とに基づいて、前記観点の比率に応じた長さ上限を決定する観点長さ決定部を更に含む請求項１記載のテキスト要約装置。
【請求項３】
観点部分木保持ＺＤＤ生成部は、前記観点の各々について、前記ノードに対応する前記文字列単位の前記観点との関連度と、前記ノードに対応する前記文字列単位の長さとの積を、前記ノードの重みとして、前記観点の比率に応じた長さ上限を満たすように、前記ＺＤＤの根ノードからのパスを再帰的に辿ることで、前記観点ＺＤＤを作成する請求項１又は請求項２に記載のテキスト要約装置。
【請求項４】
前記最適部分木算出部は、前記ノードに対応する前記文字列単位の重要度を、前記ノードの重みとし、前記複数の観点の各々について生成された前記観点ＺＤＤが表す前記部分木の部分集合に共通する前記部分木の各々を表す共通ＺＤＤのパスのうち、要約の長さ上限を満たし、かつ、前記重みが最大となる最適なパスを探索し、前記探索されたパスが表す前記部分木を出力する請求項１〜請求項３の何れか１項記載のテキスト要約装置。
【請求項５】
入力テキストに含まれる文字列単位を表すノードの各々から構成され、かつ、前記入力テキストを表現する木構造から、刈り込むことで得られる部分木を選択することにより、前記入力テキストを要約するテキスト要約装置におけるテキスト要約方法であって、
部分木保持ＺＤＤ作成部が、前記木構造を刈り込むことで得られる部分木の集合を表し、かつ、２つの終端ノード、及び前記木構造の各ノードに対応する、根ノード又は中間ノードを含むゼロサプレス型二分決定グラフであるＺＤＤ（Zero-suppressed Binary Decision Diagrams）を構築するステップと、
観点情報抽出部が、予め求められた複数の観点の各々について、前記入力テキストに含まれる前記文字列単位毎に、前記観点との関連度を算出し、前記文字列単位毎に前記観点の各々について算出された前記関連度に基づいて、前記入力テキストにおける前記複数の観点の比率を算出するステップと、
観点部分木保持ＺＤＤ生成部が、前記複数の観点の各々について、前記観点の比率に応じた長さ上限と、前記ノードの各々に対応する前記文字列単位の前記観点との関連度と、前記ノードの各々に対応する前記文字列単位の長さとに基づいて、前記部分木保持ＺＤＤ作成部によって構築されたＺＤＤが表す前記部分木の集合のうちの前記部分木の部分集合を表すＺＤＤを、前記観点に対応する観点ＺＤＤとして生成するステップと、
最適部分木算出部が、前記複数の観点の各々について生成された前記観点ＺＤＤが表す前記部分木の部分集合に共通する前記部分木の各々を表す共通ＺＤＤのパスのうち、要約の長さ上限を満たす最適なパスを探索し、前記探索されたパスが表す前記部分木を出力するステップと、
要約出力部が、前記最適部分木算出部によって出力された前記部分木に基づいて、前記入力テキストの要約を出力するステップと、
を含むテキスト要約方法。
【請求項６】
コンピュータを、請求項１〜請求項４のいずれか１項に記載のテキスト要約装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキスト要約装置、方法、及びプログラムに係り、特に、与えられたテキストを要約するテキスト要約装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
従来より、入力された文書を機械によって自動的に要約する技術が知られており、テキスト自動要約技術と呼ばれている。要約技術は大きく２種類に分けることができる。ひとつは、文書の中から重要だと思われる文を抽出して要約とする重要文抽出型要約であり、もうひとつは文内の不要な単語を除き、短い文を生成する文圧縮技術である。重要文抽出と文短縮の統合的な手法として、文書が持つ構造（たとえば修辞構造から得られる依存関係、具体的には理由となる文と結論となる文などの関係）から木を構成し、この木の根を含むような部分木を要約として生成することにより、文書・文が持つ構造を破壊することなく要約を生成する種類の木狩り込み型要約手法が存在する(非特許文献１、及び非特許文献２参照)。この技術によって、重要文抽出・文短縮の区分けなく、文書全体について文の持つ構造を尊重した要約を木刈込み型要約として捉えることが可能になっている。
【０００３】
一方、別の要約技術として、文書の持つ複数の話題や観点に着目する技術がある。文書は単一の話題や観点のみを取り扱うのではなく、複数の話題や観点を含んでいる。たとえば、大規模スポーツイベントに関連した公共建築物建設に関する一連の新聞記事を考える。これらの記事には、建築費用の多寡、決定までのプロセス、周辺道路への影響、イベント遂行のための建築物の妥当性といった観点を含むことがあり、もしこれらの記事群についての要約を行おうとした場合、これらの観点をバランスよく含むことが望ましいと考えられる。
【０００４】
上記の例のような文書自体が持つ複数の話題を取り扱う場合に限らず、自動要約が複数の話題や観点を取り扱えることは重要である。たとえば、文書検索における検索結果の提示を考える。インターネット検索サービスに代表されるように、多くの文書検索では、結果の文書の内容を端的に示す要約文が提示される。検索時には利用者はいくつかのキーワードを与えて検索しているため、これらのキーワードと検索結果の文書との関係を反映した要約文が望ましい。そのためには、各キーワードをひとつの観点として捉え、キーワードこれらの観点を反映した要約文を作成することが望ましい。複数の観点を考慮するための要約手法として、非特許文献３や非特許文献４の手法が存在する。これらの手法は、文書中の話題の比率を考慮し、各単語の重要度算出において、話題の比率を考慮することで、得られた要約における話題の比率を保つことが期待できる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】菊池悠太, 平尾努, 高村大也, 奥村学, 永田昌明, 「入れ子依存木の刈り込みに基づく単一文書要約手法」自然言語処理, Vol.22, No.3, pp.197-217, 2015.
【非特許文献２】西野正彬, 安田宜仁, 平尾努, 湊真一, 永田昌明, 「木刈込みに基づく文書要約のためのZDD を用いた動的計画法」言語処理学会第21 回年次大会発表論文集, 2015
【非特許文献３】Rachit Arora and Balaraman Ravindran. "Latent dirichlet allocation based multi-document summarization". In Proceedings of the second workshop on Analytics for noisy unstructured text data (AND '08), 2008
【非特許文献４】重松遥、小林一郎, 「潜在トピックの比率に基づく文書要約手法の提案」, 第26 回人工知能学会全国大会, 2012年06月
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した２種類の方法、すなわち、木刈込み型要約と複数観点を考慮した要約は、それぞれ双方の利点を備えない。このため、「文書の持つ構造を反映しつつ、複数の観点の比率を保つ要約」を得ることができなかった。具体的には、従来の木刈込み型要約によれば、文書が持つ構造に違反しない要約を生成することが可能であるが複数の観点を考慮した要約を生成することができない。このため、たとえば、特定の話題についての言及が大半を占めるような要約が生成されるおそれがある。一方、従来の複数観点を考慮した要約によれば、複数の観点を考慮した要約を生成することが可能であるが、文書の持つ構造に違反しない要約を生成することができない。このため、たとえば、文の主辞を含まないため文として成立しないような文を含む要約が生成されたり、結論の文がないまま理由の文のみが存在するような要約が生成されるおそれがある。
【０００７】
本発明は、上記事情を鑑みて成されたものであり、観点を考慮した要約を作成できるテキスト要約装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、第１の発明に係るテキスト要約装置は、入力テキストに含まれる文字列単位を表すノードの各々から構成され、かつ、前記入力テキストを表現する木構造から、刈り込むことで得られる部分木を選択することにより、前記入力テキストを要約するテキスト要約装置であって、前記木構造を刈り込むことで得られる部分木の集合を表し、かつ、２つの終端ノード、及び前記木構造の各ノードに対応する、根ノード又は中間ノードを含むゼロサプレス型二分決定グラフであるＺＤＤ（Zero-suppressed Binary Decision Diagrams）を構築する部分木保持ＺＤＤ作成部と、予め求められた複数の観点の各々について、前記入力テキストに含まれる前記文字列単位毎に、前記観点との関連度を算出し、前記文字列単位毎に前記観点の各々について算出された前記関連度に基づいて、前記入力テキストにおける前記複数の観点の比率を算出する観点情報抽出部と、前記複数の観点の各々について、前記観点の比率に応じた長さ上限と、前記ノードの各々に対応する前記文字列単位の前記観点との関連度と、前記ノードの各々に対応する前記文字列単位の長さとに基づいて、前記部分木保持ＺＤＤ作成部によって構築されたＺＤＤが表す前記部分木の集合のうちの前記部分木の部分集合を表すＺＤＤを、前記観点に対応する観点ＺＤＤとして生成する観点部分木保持ＺＤＤ生成部と、前記複数の観点の各々について生成された前記観点ＺＤＤが表す前記部分木の部分集合に共通する前記部分木の各々を表す共通ＺＤＤのパスのうち、要約の長さ上限を満たす最適なパスを探索し、前記探索されたパスが表す前記部分木を出力する最適部分木算出部と、前記最適部分木算出部によって出力された前記部分木に基づいて、前記入力テキストの要約を出力する要約出力部と、を含んで構成されている。
【０００９】
また、第１の発明に係るテキスト要約装置において、前記複数の観点の各々について、前記要約の長さ上限と、前記算出された前記観点の比率とに基づいて、前記観点の比率に応じた長さ上限を決定する観点長さ決定部を更に含むようにしてもよい。
【００１０】
また、第１の発明に係るテキスト要約装置において、観点部分木保持ＺＤＤ生成部は、前記観点の各々について、前記ノードに対応する前記文字列単位の前記観点との関連度と、前記ノードに対応する前記文字列単位の長さとの積を、前記ノードの重みとして、前記観点の比率に応じた長さ上限を満たすように、前記ＺＤＤの根ノードからのパスを再帰的に辿ることで、前記観点ＺＤＤを作成するようにしてもよい。
【００１１】
また、第１の発明に係るテキスト要約装置において、前記最適部分木算出部は、前記ノードに対応する前記文字列単位の重要度を、前記ノードの重みとし、前記複数の観点の各々について生成された前記観点ＺＤＤが表す前記部分木の部分集合に共通する前記部分木の各々を表す共通ＺＤＤのパスのうち、要約の長さ上限を満たし、かつ、前記重みが最大となる最適なパスを探索し、前記探索されたパスが表す前記部分木を出力するようにしてもよい。
【００１２】
第１の発明に係るテキスト要約方法は、入力テキストに含まれる文字列単位を表すノードの各々から構成され、かつ、前記入力テキストを表現する木構造から、刈り込むことで得られる部分木を選択することにより、前記入力テキストを要約するテキスト要約装置におけるテキスト要約方法であって、部分木保持ＺＤＤ作成部が、前記木構造を刈り込むことで得られる部分木の集合を表し、かつ、２つの終端ノード、及び前記木構造の各ノードに対応する、根ノード又は中間ノードを含むゼロサプレス型二分決定グラフであるＺＤＤ（Zero-suppressed Binary Decision Diagrams）を構築するステップと、観点情報抽出部が、予め求められた複数の観点の各々について、前記入力テキストに含まれる前記文字列単位毎に、前記観点との関連度を算出し、前記文字列単位毎に前記観点の各々について算出された前記関連度に基づいて、前記入力テキストにおける前記複数の観点の比率を算出するステップと、観点部分木保持ＺＤＤ生成部が、前記複数の観点の各々について、前記観点の比率に応じた長さ上限と、前記ノードの各々に対応する前記文字列単位の前記観点との関連度と、前記ノードの各々に対応する前記文字列単位の長さとに基づいて、前記部分木保持ＺＤＤ作成部によって構築されたＺＤＤが表す前記部分木の集合のうちの前記部分木の部分集合を表すＺＤＤを、前記観点に対応する観点ＺＤＤとして生成するステップと、最適部分木算出部が、前記複数の観点の各々について生成された前記観点ＺＤＤが表す前記部分木の部分集合に共通する前記部分木の各々を表す共通ＺＤＤのパスのうち、要約の長さ上限を満たす最適なパスを探索し、前記探索されたパスが表す前記部分木を出力するステップと、要約出力部が、前記最適部分木算出部によって出力された前記部分木に基づいて、前記入力テキストの要約を出力するステップと、を含んで実行することを特徴とする。
【００１３】
また、第３の発明に係るプログラムにおいて、コンピュータを、第１の発明に係るテキスト要約装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１４】
本発明のテキスト要約装置、方法、及びプログラムによれば、ＺＤＤを構築し、複数の観点の各々について、入力テキストに含まれる文字列単位毎に、観点との関連度を算出し、文字列単位毎に観点の各々について算出された関連度に基づいて、入力テキストにおける複数の観点の比率を算出し、観点の比率に応じた長さ上限と、ノードの各々に対応する文字列単位の観点との関連度と、ノードの各々に対応する文字列単位の長さとに基づいて、構築されたＺＤＤが表す部分木の集合のうちの部分木の部分集合を表すＺＤＤを、観点に対応する観点ＺＤＤとして生成し、観点ＺＤＤが表す部分木の部分集合に共通する部分木を表す共通ＺＤＤのパスのうち、要約の長さ上限を満たす最適なパスを探索し、探索されたパスが表す部分木を出力し、部分木に基づいて、入力テキストの要約を出力することにより、観点を考慮した要約を作成できる、という効果が得られる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係るテキスト要約装置の構成を示すブロック図である。
【図２】単語長ＤＢ４０の一例を示す図である。
【図３】単語重要度ＤＢ４４の一例を示す図である。
【図４】入力となる木構造の一例を示す図である。
【図５】出力されるＺＤＤの一例を示す図である。
【図６】関連度ＤＢ４２の一例を示す図である。
【図７】長さを制限した観点ＺＤＤを作成するための関数を表した図である。
【図８】本発明の実施の形態に係るテキスト要約装置におけるテキスト要約処理ルーチンを示すフローチャートである。
【図９】本発明の実施の形態に係るテキスト要約装置における最適処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１７】
＜本発明の実施の形態に係るテキスト要約装置の構成＞
【００１８】
まず、本発明の実施の形態に係るテキスト要約装置の構成について説明する。図１に示すように、本発明の実施の形態に係るテキスト要約装置１００は、ＣＰＵと、ＲＡＭと、後述するテキスト要約処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このテキスト要約装置１００は、機能的には図１に示すように入力部１０と、演算部２０と、要約出力部５０とを備えている。
【００１９】
入力部１０は、入力テキストとして、自然言語で記述された文書を表現した文字列を受け付ける。また、文書の要約の文字数の長さの上限Ｌを受け付ける。
【００２０】
演算部２０は、入力解析部２２と、木構造解析部２４と、部分木保持ＺＤＤ作成部２６と、観点情報抽出部３２と、観点長さ決定部３４と、観点部分木保持ＺＤＤ生成部３６と、最適部分木算出部３８と、単語長ＤＢ４０と、関連度ＤＢ４２と、単語重要度ＤＢ４４とを含んで構成されている。
【００２１】
入力解析部２２は、まず入力部１０から、文書を表現した文字列と、要約の長さの上限文字数を入力として受取り、後段の処理で利用するために計算機中のメモリあるいはディスクへ格納する。以下の処理では、文字列を単語の単位で扱う場合を例に説明する。
【００２２】
もし入力言語において単語の区切りが文字列だけからは自明ではない場合は（たとえば日本語の場合)、必要に応じて当業者に公知のたとえば公開されている形態素解析器などを用いて分かち書きすることにより単語に分割する。
【００２３】
入力解析部２２は、次に、文書を表現した文字列に基づいて、入力された文書中での何番目の単語の長さが何文字であったのかを、単語長ＤＢ４０へ格納する。図２に単語長ＤＢ４０の例に示す。なお、要約の長さ上限として「指定された文字数以内」ではなく「指定された単語数以内」ということであれば、単語長ＤＢ４０の長さのカラムをすべて１にすればよい。
【００２４】
入力解析部２２は、次に、各単語の重要度を算出して、単語重要度ＤＢ４４へ格納する。これには当業者に公知の技術を用いることができ、一例としては、当業者に公知のTF-IDFを段落単位に適用し、得られたTF-IDFを、単語出現位置ｉ番目の単語ｗの重みとしても良い。図３に単語重要度ＤＢ４４の例を示す。
【００２５】
木構造解析部２４は、入力解析部２２で得られた文書を表現する文字列の各単語を入力として、文書全体を表現した木構造を出力する。木構造解析には、当業者に公知の技術を用い、本実施の形態では、例えば、非特許文献１に示された手法を用いる。なお、非特許文献１に限るものではなく、入力文書に対応する木構造を得ることができる手法を用いることができる。木構造解析として、文書内の文と文の関係に関する依存構造解析を行い、依存構造解析の結果として、文書中でもっとも重要であると判断された文を根ノードとするような依存構造木が得られる。次に、文書文内の各文内での単語と単語（あるいは文節と文節）に関する依存構造解析を行う。この結果、文内の主辞を根ノードとするような依存構造木が得られる。次に、単語単位の依存構造木を文単位の依存構造木へ埋め込む。文単位の依存構造木によって得られた木の各節は文書中の各文に対応するので、この節を対応する文の単語単位の依存構造木に置き換えることによって、文書全体を表現する木構造を得る。
【００２６】
部分木保持ＺＤＤ作成部２６は、木構造解析部２４で得られた木構造に基づいて、当該木構造を刈り込むことで得られる部分木の集合を表し、かつ、２つの終端ノード、及び木構造の各ノードに対応する、根ノード又は中間ノードを含むゼロサプレス型二分決定グラフであるＺＤＤ（Zero-suppressed Binary Decision Diagrams）を構築する。
【００２７】
一般に、このような部分木の総数は指数的に多いが、ＺＤＤによって表現することで、少ない節点数で表現することが可能である。部分木保持ＺＤＤ作成部２６の処理としては、当業者に公知の技術を用いることができ、たとえば、非特許文献５に示されている方法を用いることができる。
【００２８】
非特許文献５：Nishino, M., Yasuda, N., Hirao, T., Minato, S., Nagata, M. "A dynamic programming algorithm for tree trimming-based text summarization". In Proceedings of NAACL HLT (pp. 462-471). 2015.
【００２９】
図４に入力となる木の例、図５に入力木に対して出力されるＺＤＤの例を示す。図５では、ＺＤＤの図示の慣例に従い、実線は1-枝（その変数で示される単語を含むことを選択する枝）を示し、破線は0-枝（その変数で示される単語を含まないことを選択する枝）を示す。
【００３０】
【数１】
2018081463.tif 000003
【００３１】
は1-終端、
【００３２】
【数２】
2018081463.tif 000004
【００３３】
は0-終端を示す。根節点(図５では１)から
【００３４】
【数３】
2018081463.tif 000005
【００３５】
までの任意のパスはこのＺＤＤによって保持されている集合を示す。たとえば、パス
【００３６】
【数４】
2018081463.tif 000006
【００３７】
は集合{1,2,4}を示す。
【００３８】
観点情報抽出部３２は、予め求められた複数の観点の各々について、文書に含まれる単語単位毎に、観点との関連度を算出し関連度ＤＢ４２に格納する。そして、単語単位毎に観点の各々について算出された関連度に基づいて、文書における複数の観点の比率を算出する。
【００３９】
観点の数Ｋは、事前に設定してあるか、装置へ入力するパラメータとして与えられているものとする。
【００４０】
具体的には、予め、複数の観点の各々を表現する観点ベクトルを作成しておく。この観点ベクトルの各次元は、語、あるいは語を次元圧縮等で集約したものに相当する。観点ベクトルの作成には、当業者に公知の技術、たとえばLatent Dirichlet Allocation (LDA)等を用いることができる。
【００４１】
そして、観点情報抽出部３２は、各観点と、文書に含まれる各単語との関連度を計算する。この処理には当業者に公知の技術を用いることができ、たとえば、文毎に、当該文に含まれる単語を表現した文ベクトルを作成して、文ベクトルと、観点ベクトルとのコサイン値を計算し、得られたコサイン値を、当該文内の各単語に対して、当該観点との関連度として一律に用いるといった方法を取ることができる。
【００４２】
観点情報抽出部３２は、次に、各単語について、上記の処理で得られた各観点と当該単語との関連度を、当該単語に付与されている関連度の和が１になるように正規化する。具体的には、ｉ番目の単語とｊ番目の観点との関連度をａｉｊ、求める正規化された関連度をｒｉｊとすると、以下の（１）式で正規化を行う。
【００４３】
【数５】
2018081463.tif 000007
・・・（１）
【００４４】
たとえば、Ｋ＝３であるときに、単語ｗに付与されている関連度が（観点1:0.9,観点2:0.3,観点3:0.7）であった場合、これを（観点1:0.47,観点2:0.16,観点3:0.37）と正規化する。
【００４５】
こうして観点の各々について得られた各単語の関連度を、関連度ＤＢ４２へ格納する。図６に関連度ＤＢ４２の例を示す。
【００４６】
観点情報抽出部３２は、次に、関連度ＤＢ４２を用いて、文書全体での各観点の比率を求める。各観点の比率は、各単語との関連度の和の比とする。つまり、ｉ番目の単語とｊ番目の観点の関連度をｒｉｊ、総単語数をｎとすると、観点ｊに対する比の値ｓｊは以下の（２）式により得られる。
【００４７】
【数６】
2018081463.tif 000008
・・・（２）
【００４８】
観点長さ決定部３４は、複数の観点の各々について、要約の長さ上限Ｌと、観点情報抽出部３２で算出された観点の比率ｓｉ(i=1,2,3,...)とに基づいて、観点の比率に応じた長さ上限を決定する。
【００４９】
観点ｊの長さ上限ｌｊは以下の（３）式によって求める。
【００５０】
【数７】
2018081463.tif 000009
・・・（３）
【００５１】
観点部分木保持ＺＤＤ生成部３６は、観点ｊの各々について、観点の比率に応じた長さ上限ｌｊと、関連度ＤＢ４２におけるノードの各々に対応する単語の観点ｊとの関連度と、単語長ＤＢ４０におけるノードの各々に対応する単語の長さとに基づいて、ノードに対応する単語の観点ｊとの関連度と、ノードに対応する単語の長さとの積を、ノードの重みとして、観点の比率ｓｊに応じた長さ上限ｌｊを満たすように、部分木保持ＺＤＤ作成部２６によって構築されたＺＤＤの根ノードからのパスを再帰的に辿ることで、ＺＤＤが表す部分木の集合のうちの部分木の部分集合を表すＺＤＤを、観点に対応する観点ＺＤＤとして生成する。
【００５２】
観点部分木保持ＺＤＤ生成部３６では、(１)部分木保持ＺＤＤ作成部２６によって作成されたＺＤＤ、及び(２)観点長さ決定部３４によって作成された各観点の長さ上限ｌｊの２つを入力として、観点ｊにつきひとつのＺＤＤ、計Ｋ個のＺＤＤを作成し、観点の数だけの観点ＺＤＤを出力する。観点ＺＤＤは、元の部分木保持ＺＤＤ作成部２６によって構築されたＺＤＤが表す部分木の集合のうち、当該観点で許容される長さ上限ｌｊを満たすような部分木のみを保持したＺＤＤとして作成する。
【００５３】
以下にｊ番目の観点についての処理を記す。観点ｊは１から観点数Ｋまで繰り返す。
【００５４】
まず、各ＺＤＤ変数（単語であるノードの選択を示す変数）の重みｗを、以下の処理で決定する。ｉ番目の単語に相当するＺＤＤ変数をｖｐ(ｉ)としたとき、変数ｖｐ(ｉ)の重みは以下（４）式で求められる。
【００５５】
【数８】
2018081463.tif 000010
・・・（４）
【００５６】
ここで、ｌｅｎ(ｉ)はｉ番目の単語長を単語長ＤＢ４０より得る関数、ｒｅｌ(ｉ,ｊ)はｉ番目の単語とｊ番目の観点の関連度を関連度ＤＢ４２より得る関数である。
【００５７】
長さを制限した観点ＺＤＤを作成するための関数を図７に示す。図７は再帰的な関数であり、この関数を用いて以下の操作により観点ｊに対応する観点ＺＤＤを得る。
【００５８】
【数９】
2018081463.tif 000011
【００５９】
ここで入力ＺＤＤは、部分木保持ＺＤＤ作成部２６によって作成されたＺＤＤである。
【００６０】
パスのノードが1-枝である場合にｌｊから当該ノードに対応する重みｗを減じて、パスを辿っていき、1-終端
【００６１】
【数１０】
2018081463.tif 000012
【００６２】
や、0-終端
【００６３】
【数１１】
2018081463.tif 000013
【００６４】
に辿りついた場合に、1-終端
【００６５】
【数１２】
2018081463.tif 000014
【００６６】
や、0-終端
【００６７】
【数１３】
2018081463.tif 000015
【００６８】
を返し、ｌｊから減じた結果が０未満になった場合に、0-終端
【００６９】
【数１４】
2018081463.tif 000016
【００７０】
を返す関数となっている。
【００７１】
最適部分木算出部３８は、関連度ＤＢ４２における、ノードに対応する単語の重要度を、ノードの重みとし、複数の観点の各々について生成された観点ＺＤＤが表す部分木の部分集合に共通する部分木の各々を表す共通ＺＤＤのパスのうち、要約の長さ上限Ｌを満たし、かつ、重みが最大となる最適なパスを探索し、探索されたパスが表す部分木を出力する。
【００７２】
すわなち、最適部分木算出部３８では、(１)観点部分木保持ＺＤＤ生成部３６によって生成されたＫ個の観点ＺＤＤ、及び(２)要約の長さ上限Ｌの２つを入力とし、単語重要度ＤＢ４２を参照し、いずれの観点ＺＤＤにも含まれおり、かつ、長さ制約Ｌを満たし、かつ、単語重要度の和が最大となるような部分木を選択する。
【００７３】
具体的には、まず、各観点に相当する観点ＺＤＤのいずれにも含まれているような部分木の各々を表すＺＤＤを得る。２つ以上のＺＤＤに共通する部分木の組合せを表すＺＤＤを得る演算（たとえば、「Ｚ＝Ｚ１＆Ｚ１＆...＆ＺK」）はＺＤＤの基本演算として当業者に公知である。
【００７４】
上記共通する部分木の組み合わせを表す共通ＺＤＤについて、次に、共通ＺＤＤの各ノードの重みとして、単語重要度ＤＢ４４の値を設定する。
【００７５】
最後に、共通ＺＤＤ中の根節点から1-終端
【００７６】
【数１５】
2018081463.tif 000017
【００７７】
まで達するパスのうち、要約の長さ上限Ｌを満たし、選択される単語の重みの和が最大となるようなパスを算出し、当該パスが表す部分木として、当該パス中で1-枝を辿った変数の番号を出力する。ここで、重みが最大となるようなパスの算出は典型的な動的計画法であり当業者で公知である。たとえば、非特許文献６中のAlgorithm Bなどを用いる。
【００７８】
非特許文献６：Donald E. Knuth. "The Art of Computer Programming", Volume 4, Fascicle 1. (ISBN-13: 978-0-3321-58050-4)
【００７９】
要約出力部５０は、最適部分木算出部３８によって出力された部分木に基づいて、文書の要約を出力する。具体的には、まず部分木の変数番号（つまり単語位置番号）を一次元配列に格納する。次に、配列を昇順に並びかえる。配列の先頭から順に、その位置番号が示す単語を入力文字列中の単語とすることで出力する要約とする。
【００８０】
＜本発明の実施の形態に係るテキスト要約装置の作用＞
【００８１】
次に、本発明の実施の形態に係るテキスト要約装置１００の作用について説明する。入力部１０において、文書、及び文書の要約の長さ（文字数）の上限Ｌを受け付けると、テキスト要約装置１００は、図８に示すテキスト要約処理ルーチンを実行する。
【００８２】
まず、ステップＳ１００では、入力部１０において受け付けた文書を表現する文字列に基づいて、文書中での何番目の単語の長さが何文字であったのかを、単語長ＤＢ４０へ格納する。また、各単語の重要度を算出して、単語重要度ＤＢ４４へ格納する。
【００８３】
次に、ステップＳ１０２では、文書を表現する文字列を入力として、文書全体を表現した木構造を出力する。
【００８４】
ステップＳ１０４では、ステップＳ１０２で得られた木構造に基づいて、木構造を刈り込むことで得られる部分木の集合を表し、かつ、２つの終端ノード、及び木構造の各ノードに対応するＺＤＤを構築する。
【００８５】
ステップＳ１０６では、複数の観点の各々について、文書に含まれる単語毎に、上記（１）式により、観点との関連度を算出して関連度ＤＢ４２に格納する。次に、単語毎に観点の各々について算出された関連度に基づいて、上記（２）式により、文書における複数の観点の各々の比率ｓｊを算出する。
【００８６】
ステップＳ１０８では、複数の観点ｊの各々について、要約の長さ上限Ｌと、観点情報抽出部３２で算出された当該観点の比率ｓｉとに基づいて、上記（３）式により、観点の比率に応じた長さ上限ｌｊを決定する。
【００８７】
ステップＳ１１０では、観点ｊの各々について、観点の比率に応じた長さ上限ｌｊと、関連度ＤＢ４２におけるノードの各々に対応する単語の観点ｊとの関連度と、単語長ＤＢ４０におけるノードの各々に対応する単語の長さとに基づいて、ノードに対応する単語の観点ｊとの関連度と、ノードに対応する単語の長さとの積を、ノードの重みとして、観点の比率ｓｊに応じた長さ上限を満たすように、部分木保持ＺＤＤ作成部２６によって構築されたＺＤＤの根ノードからのパスを再帰的に辿ることで、ＺＤＤが表す部分木の集合のうちの部分木の部分集合を表すＺＤＤを、観点に対応する観点ＺＤＤとして生成する。
【００８８】
ステップＳ１１２では、関連度ＤＢ４２におけるノードに対応する単語の重要度を、ノードの重みとし、複数の観点の各々について生成された観点ＺＤＤが表す部分木の部分集合に共通する部分木を表す共通ＺＤＤのパスのうち、要約の長さ上限Ｌを満たし、かつ、重みが最大となる最適なパスを探索し、探索されたパスが表す部分木を出力する。
【００８９】
ステップＳ１１４では、最適部分木算出部３８によって出力された部分木に基づいて、文書の要約を出力し、処理を終了する。
【００９０】
上記のステップＳ１１２は、図９に示す最適処理ルーチンにより実行される。
【００９１】
ステップＳ２００では、ステップＳ１１０で複数の観点の各々について生成された観点ＺＤＤに基づいて、複数の観点ＺＤＤが表す部分木の部分集合に共通する部分木の各々を表す共通ＺＤＤを得る。
【００９２】
ステップＳ２０２では、共通ＺＤＤの各ノードの重みとして、単語重要度ＤＢ４４の値を設定する。
【００９３】
ステップＳ２０４では、共通ＺＤＤについて、要約の長さ上限Ｌを満たし、選択した単語の重みの和が最大となるようなパスを算出し、当該パス中で1-枝を辿った変数の番号を出力する。
【００９４】
以上説明したように、本発明の実施の形態に係るテキスト要約装置によれば、ＺＤＤを構築し、複数の観点の各々について、入力テキストに含まれる単語毎に、観点との関連度を算出し、単語毎に観点の各々について算出された関連度に基づいて、入力テキストにおける複数の観点の比率を算出し、観点の比率に応じた長さ上限と、ノードの各々に対応する単語の観点との関連度と、ノードの各々に対応する単語の長さとに基づいて、構築されたＺＤＤが表す部分木の集合のうちの部分木の部分集合を表すＺＤＤを、観点に対応する観点ＺＤＤとして生成し、観点ＺＤＤが表す部分木の部分集合に共通する部分木を表す共通ＺＤＤのパスのうち、要約の長さ上限を満たす最適なパスを探索し、探索されたパスが表す部分木を出力し、部分木に基づいて、入力テキストの要約を出力することにより、観点を考慮した要約を作成できる。
【００９５】
また、本実施の形態のテキスト要約装置１００によれば、複数の観点（トピック）について、それぞれのトピックについて関連する単語について要約内での出現に上限を課すことで、特定のトピックに偏った要約となることを防ぐことができる点が利点として挙げられる。
【００９６】
上記のようにすることで、トピックごとに「トピックごとの上限文字列を満たすすべての部分木を表現したデータ」を作成できるとういう利点がある。
【００９７】
また、すべてのトピックに関して文字列制限を満たし、しかも要約として長さ制限を満たし、しかも制限の範囲内においてはもっともスコアが高い要約を生成できる利点がある。
【００９８】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【符号の説明】
【００９９】
２０   演算部
２２   入力解析部
２４   木構造解析部
２６   部分木保持ＺＤＤ作成部
３２   観点情報抽出部
３４   観点長さ決定部
３６   観点部分木保持ＺＤＤ生成部
３８   最適部分木算出部
５０   要約出力部
１００ テキスト要約装置
【図１】
2018081463.tif 000018
【図２】
2018081463.tif 000019
【図３】
2018081463.tif 000020
【図４】
2018081463.tif 000021
【図５】
2018081463.tif 000022
【図６】
2018081463.tif 000023
【図７】
2018081463.tif 000024
【図８】
2018081463.tif 000025
【図９】
2018081463.tif 000026