特許第6232390号(P6232390)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特許6232390テキスト要約装置、方法、及びプログラム
<>
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000007
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000008
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000009
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000010
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000011
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000012
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000013
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000014
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000015
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000016
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000017
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000018
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000019
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000020
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000021
  • 特許6232390-テキスト要約装置、方法、及びプログラム 図000022
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6232390
(24)【登録日】2017年10月27日
(45)【発行日】2017年11月15日
(54)【発明の名称】テキスト要約装置、方法、及びプログラム
(51)【国際特許分類】
   G06F 17/30 20060101AFI20171106BHJP
【FI】
   G06F17/30 220A
   G06F17/30 419A
【請求項の数】7
【全頁数】19
(21)【出願番号】特願2015-24610(P2015-24610)
(22)【出願日】2015年2月10日
(65)【公開番号】特開2016-148946(P2016-148946A)
(43)【公開日】2016年8月18日
【審査請求日】2016年12月9日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】特許業務法人太陽国際特許事務所
(72)【発明者】
【氏名】西野 正彬
【審査官】 山本 俊介
(56)【参考文献】
【文献】 特表2014−528620(JP,A)
【文献】 特開2014−153766(JP,A)
【文献】 Tsutomu Hirao et al.,Single-Document Summarization as a Tree Knapsack Problem,Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing [online],2013年10月,p.1515-1520,[2017年10月4日検索],URL,http://aclweb.org/anthology/D/D13/D13-1158.pdf
【文献】 川原 純ほか,組合せ問題の解を列挙索引化するZDD構築アルゴリズムの汎用化,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2012年 6月14日,Vol.112 No.93,p.1-7
【文献】 川原 純ほか,グラフ列挙索引化技法の種々の問題への適用,経営の科学 オペレーションズ・リサーチ,日本,公益社団法人日本オペレーションズ・リサーチ学会 株式会社日科技連出版社,2012年11月 1日,第57巻 第11号,p.10-15
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
入力テキストに含まれる文字列単位を表すノードの各々から構成される木構造から、許容される部分木を選択することにより、前記入力テキストを要約するテキスト要約装置であって、
前記木構造の許容される部分木の集合を表し、かつ、2つの終端ノード、及び前記木構造の各ノードに対応する、HI側子ノード及びLO側子ノードを有する根ノード又は中間ノードを含むゼロサプレス型二分決定グラフ(Zero-suppressed Binary Decision Diagrams)を構築するZDD構築部と、
前記木構造の各ノードについて入力された前記ノードのスコア及び長さと、入力された上限長さLと、前記ZDD構築部によって構築された前記ゼロサプレス型二分決定グラフとに基づいて、各ノードの順序に従って、n番目のノードについて、各長さj(0≦j≦L)に対し、n番目のノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木であって、かつ、前記部分木の各ノードのスコアの和が最大となる部分木を繰り返し計算して記憶部に記憶する最適値計算部と、
前記最適値計算部によって繰り返し計算された計算過程に基づいて、前記上限長さL以下となる許容される部分木のうち、前記許容される部分木の各ノードのスコアの和が最大となる許容される部分木を、前記入力テキストの要約として出力するバックトラック部とを含み、
前記最適値計算部は、n番目のノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木であって、かつ、前記部分木の各ノードのスコアの和が最大となる部分木を計算するとき、前記記憶部に記憶した、各ノードのスコアの和の最大値を呼び出して、LO側子ノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木と、n番目のノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなるHI側子ノードを含む前記部分木とのうち、各ノードのスコアの和が最大となる前記部分木を再帰的に計算する
テキスト要約装置。
【請求項2】
前記ZDD構築部は、前記入力テキストに対して予め定められた複数の根候補ノードを根ノードとする、前記木構造の許容される部分木の集合を表し、かつ、2つの終端ノード、及び前記木構造の各ノードに対応する、HI側子ノード及びLO側子ノードを有する根ノード又は中間ノードを含むゼロサプレス型二分決定グラフを構築する請求項1記載のテキスト要約装置。
【請求項3】
前記木構造は、入力テキストに含まれる第1の文字列単位を表すノードの各々から構成される木構造であって、前記第1の文字列単位を表すノードを、前記第1の文字列単位に含まれ、かつ、前記第1の文字列単位より小さい文字列単位である第2の文字列単位を表すノードの各々から構成される木構造に置き換えた、入れ子構造で表現される木構造である請求項1又は2記載のテキスト要約装置。
【請求項4】
入力テキストに含まれる文字列単位を表すノードの各々から構成される木構造から、許容される部分木を選択することにより、前記入力テキストを要約するテキスト要約方法であって、
ZDD構築部が、前記木構造の許容される部分木の集合を表し、かつ、2つの終端ノード、及び前記木構造の各ノードに対応する、HI側子ノード及びLO側子ノードを有する根ノード又は中間ノードを含むゼロサプレス型二分決定グラフ(Zero-suppressed Binary Decision Diagrams)を構築するステップと、
最適値計算部が、前記木構造の各ノードについて入力された前記ノードのスコア及び長さと、入力された上限長さLと、前記ZDD構築部によって構築された前記ゼロサプレス型二分決定グラフとに基づいて、各ノードの順序に従って、n番目のノードについて、各長さj(0≦j≦L)に対し、n番目のノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木であって、かつ、前記部分木の各ノードのスコアの和が最大となる部分木を繰り返し計算して記憶部に記憶するステップと、
バックトラック部が、前記最適値計算部によって繰り返し計算された計算過程に基づいて、前記上限長さL以下となる許容される部分木のうち、前記許容される部分木の各ノードのスコアの和が最大となる許容される部分木を、前記入力テキストの要約として出力するステップとを含み、
前記最適値計算部によって計算するステップは、n番目のノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木であって、かつ、前記部分木の各ノードのスコアの和が最大となる部分木を計算するとき、前記記憶部に記憶した、各ノードのスコアの和の最大値を呼び出して、LO側子ノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木と、n番目のノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなるHI側子ノードを含む前記部分木とのうち、各ノードのスコアの和が最大となる前記部分木を再帰的に計算する
テキスト要約方法。
【請求項5】
前記ZDD構築部によってゼロサプレス型二分決定グラフを構築するステップは、前記入力テキストに対して予め定められた複数の根候補ノードを根ノードとする、前記木構造の許容される部分木の集合を表し、かつ、2つの終端ノード、及び前記木構造の各ノードに対応する、HI側子ノード及びLO側子ノードを有する根ノード又は中間ノードを含むゼロサプレス型二分決定グラフを構築する請求項4記載のテキスト要約方法。
【請求項6】
前記木構造は、入力テキストに含まれる第1の文字列単位を表すノードの各々から構成される木構造であって、前記第1の文字列単位を表すノードを、前記第1の文字列単位に含まれ、かつ、前記第1の文字列単位より小さい文字列単位である第2の文字列単位を表すノードの各々から構成される木構造に置き換えた、入れ子構造で表現される木構造である請求項4又は5記載のテキスト要約方法。
【請求項7】
コンピュータを、請求項1〜請求項3の何れか1項に記載のテキスト要約装置を構成する各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テキスト要約装置、方法、及びプログラムに係り、特に、与えられたテキストを要約するテキスト要約装置、方法、及びプログラムに関する。
【背景技術】
【0002】
自然言語処理における要約文書生成とは、与えられた入力文書又は入力文に対して、適切な要約文書を自動的に生成することである。既存の要約生成手法として、組合せ最適化問題を解くことによって要約文書を生成する手法がいくつか存在する。手法の一種として、入力文書又は文を、文書の構成要素である文又は単語の依存関係を表現する根つき木として表現したのちに、制約を満たしつつ、かつある評価指標を最大化するような木の部分木を求めることによって要約を生成する手法が存在する(非特許文献1〜非特許文献3)。
【0003】
部分木の選択問題に基づいて文書要約を行うことによって、得られた要約文書においては、元の入力文書における構成要素間の依存関係が保存されることになり、結果と入力文書の適切な要約を生成することが可能である。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】T. Hirao, Y. Yoshida and M. Nishino, N. Yasuda and M. Nagata,"Single-Document Summarization as a Tree Knapsack Problem", in proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing, 2013.
【非特許文献2】Y. Kikuchi, T. Hirao and H. Takamura, M. Okumura and M. Nagata,"Single document summarization based on nested tree structure", in Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics, 2014.
【非特許文献3】K. Filippova and M. Strube, "Dependency tree based sentence compression", in Proceedings of the Fifth International Natural Language Generation Conference, 2008.
【非特許文献4】H. Hernault, H. Prendinger, D. duVerle, and M. Ishizuka, "HILDA:A discourse parser using support vector machine classication", Dialogue &Discourse, Vol. 1 No.3, 2010.
【発明の概要】
【発明が解決しようとする課題】
【0005】
既存手法では要約を生成する際に、問題を整数線形計画問題として定式化して、定式化された問題について、整数線形計画問題ソルバーを用いて解くことによって解を求めていた。しかし、整数線形計画問題ソルバーは常に問題を解けることが保証されておらず、また、仮に問題を解けたとしても、問題を解けるまでにかかる時間を正確に見積もることが困難であるという問題があった。
【0006】
本発明は、上記問題点を解決するために成されたものであり、計算時間の増大を抑制し、かつ、安定して要約の最適解を求めることができるテキスト要約装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、第1の発明に係るテキスト要約装置は、入力テキストに含まれる文字列単位を表すノードの各々から構成される木構造から、許容される部分木を選択することにより、前記入力テキストを要約するテキスト要約装置であって、前記木構造の許容される部分木の集合を表し、かつ、2つの終端ノード、及び前記木構造の各ノードに対応する、HI側子ノード及びLO側子ノードを有する根ノード又は中間ノードを含むゼロサプレス型二分決定グラフ(Zero-suppressed Binary Decision Diagrams)を構築するZDD構築部と、前記木構造の各ノードについて入力された前記ノードのスコア及び長さと、入力された上限長さLと、前記ZDD構築部によって構築された前記ゼロサプレス型二分決定グラフとに基づいて、各ノードの順序に従って、n番目のノードについて、各長さj(0≦j≦L)に対し、n番目のノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木であって、かつ、前記部分木の各ノードのスコアの和が最大となる部分木を繰り返し計算して記憶部に記憶する最適値計算部と、前記最適値計算部によって繰り返し計算された計算過程に基づいて、前記上限長さL以下となる許容される部分木のうち、前記許容される部分木の各ノードのスコアの和が最大となる許容される部分木を、前記入力テキストの要約として出力するバックトラック部とを含み、前記最適値計算部は、n番目のノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木であって、かつ、前記部分木の各ノードのスコアの和が最大となる部分木を計算するとき、前記記憶部に記憶した、各ノードのスコアの和の最大値を呼び出して、LO側子ノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木と、n番目のノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなるHI側子ノードを含む前記部分木とのうち、各ノードのスコアの和が最大となる前記部分木を再帰的に計算するように構成されている。
【0008】
また、第1の発明に係るテキスト要約装置において、前記ZDD構築部は、前記入力テキストに対して予め定められた複数の根候補ノードを根ノードとする、前記木構造の許容される部分木の集合を表し、かつ、2つの終端ノード、及び前記木構造の各ノードに対応する、HI側子ノード及びLO側子ノードを有する根ノード又は中間ノードを含むゼロサプレス型二分決定グラフを構築するようにしてもよい。
【0009】
また、第1の発明に係るテキスト要約装置において、前記木構造は、入力テキストに含まれる第1の文字列単位を表すノードの各々から構成される木構造であって、前記第1の文字列単位を表すノードを、前記第1の文字列単位に含まれ、かつ、前記第1の文字列単位より小さい文字列単位である第2の文字列単位を表すノードの各々から構成される木構造に置き換えた、入れ子構造で表現される木構造であるようにしてもよい。
【0010】
第2の発明に係るテキスト要約方法は、入力テキストに含まれる文字列単位を表すノードの各々から構成される木構造から、許容される部分木を選択することにより、前記入力テキストを要約するテキスト要約方法であって、ZDD構築部が、前記木構造の許容される部分木の集合を表し、かつ、2つの終端ノード、及び前記木構造の各ノードに対応する、HI側子ノード及びLO側子ノードを有する根ノード又は中間ノードを含むゼロサプレス型二分決定グラフ(Zero-suppressed Binary Decision Diagrams)を構築するステップと、最適値計算部が、前記木構造の各ノードについて入力された前記ノードのスコア及び長さと、入力された上限長さLと、前記ZDD構築部によって構築された前記ゼロサプレス型二分決定グラフとに基づいて、各ノードの順序に従って、n番目のノードについて、各長さj(0≦j≦L)に対し、n番目のノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木であって、かつ、前記部分木の各ノードのスコアの和が最大となる部分木を繰り返し計算して記憶部に記憶するステップと、バックトラック部が、前記最適値計算部によって繰り返し計算された計算過程に基づいて、前記上限長さL以下となる許容される部分木のうち、前記許容される部分木の各ノードのスコアの和が最大となる許容される部分木を、前記入力テキストの要約として出力するステップとを含んで、実行し、前記最適値計算部によって計算するステップは、n番目のノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木であって、かつ、前記部分木の各ノードのスコアの和が最大となる部分木を計算するとき、前記記憶部に記憶した、各ノードのスコアの和の最大値を呼び出して、LO側子ノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木と、n番目のノードを根ノードとする前記ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなるHI側子ノードを含む前記部分木とのうち、各ノードのスコアの和が最大となる前記部分木を再帰的に計算することを特徴とする。
【0011】
また、第2の発明に係るテキスト要約方法において、前記ZDD構築部によってゼロサプレス型二分決定グラフを構築するステップは、前記入力テキストに対して予め定められた複数の根候補ノードを根ノードとする、前記木構造の許容される部分木の集合を表し、かつ、2つの終端ノード、及び前記木構造の各ノードに対応する、HI側子ノード及びLO側子ノードを有する根ノード又は中間ノードを含むゼロサプレス型二分決定グラフを構築するようにしてもよい。
【0012】
また、第2の発明に係るテキスト要約方法において、前記木構造は、入力テキストに含まれる第1の文字列単位を表すノードの各々から構成される木構造であって、前記第1の文字列単位を表すノードを、前記第1の文字列単位に含まれ、かつ、前記第1の文字列単位より小さい文字列単位である第2の文字列単位を表すノードの各々から構成される木構造に置き換えた、入れ子構造で表現される木構造であるようにしてもよい。
【0013】
第2の発明に係るプログラムは、コンピュータを、上記第1の発明に係るテキスト要約装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【0014】
本発明のテキスト要約装置、方法、及びプログラムによれば、木構造の許容される部分木の集合を表すZDDを構築し、ノードのスコア及び長さと、入力された上限長さLと、構築されたZDDとに基づいて、各ノードの順序に従って、n番目のノードについて、各長さjに対し、n番目のノードを根ノードとするゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる許容される部分木であって、かつ、部分木の各ノードのスコアの和が最大となる部分木を繰り返し計算するときに、記憶部に記憶した、各ノードのスコアの和の最大値を呼び出して、LO側子ノードを根ノードとするゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木と、n番目のノードを根ノードとする部分木ゼロサプレス型二分決定グラフが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなるHI側子ノードを含む部分木とのうち、各ノードのスコアの和が最大となる部分木を再帰的に計算することにより、計算時間の増大を抑制し、かつ、安定して要約の最適解を求めることができる、という効果が得られる。
【図面の簡単な説明】
【0015】
図1】本発明の実施の形態に係るテキスト要約装置の構成を示すブロック図である。
図2】木構造と許容される部分木の一例を示す図である。
図3】木構造に対するZDDの一例を示す図である。
図4】ZDDを配列で表現したものの一例を示す図である。
図5】二次元配列S、及び二次元配列Bの値の表現の一例を示す図である。
図6】バックトラッキングの一例を示す図である。
図7】本発明の実施の形態に係るテキスト要約装置におけるテキスト要約処理ルーチンを示すフローチャートである。
図8】本発明の実施の形態に係るテキスト要約装置における最適解算出処理ルーチンを示すフローチャートである。
図9】複数の根候補ノードをもつ木構造により表現された文の一例を示す図である。
図10】根候補ノード集合をもつ木構造の一例を示す図である。
図11】木構造の根候補ノードを根ノードとしてもつ部分木、及びそれらのノードの集合を表現したZDDの一例を示す図である。
図12】許容される部分木の一例を示す図である。
図13】入れ子構造の木構造により表現される文書の一例を示す図である。
図14】入れ子構造で表現される木構造の一例を示す図である。
図15】入れ子構造で表現される木構造の許容される部分木の集合を表現したZDDの一例を示す図である。
図16】許容される部分木の一例を示す図である。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0017】
<本発明の実施の形態に係る概要>
【0018】
まず、本発明の実施の形態における概要を説明する。
【0019】
本発明の実施の形態では、部分木の選択問題を解くための動的計画法に基づく要約生成装置を用いる。本発明の実施の形態で示す要約生成装置を用いることで、部分木の選択問題において常に最適解を求められることが保証されている。また、処理時間も入力として与えられた木のノード数をN、生成する要約の最大長さをLとしたときに、O(NLlogN)となることが理論的に保証されている。
【0020】
本発明の実施の形態で示す要約生成装置では、入力により木構造が与えられた時に、部分木の集合をゼロサプレス型二分決定グラフ(Zero-suppressed Binary Decision Diagrams:以下、ZDDと記載する。)にまず変換する。ゼロサプレス型二分決定グラフは集合族を表現するためのデータ構造であり、集合族を有向非巡回グラフ(Directed Acyclic Graph:以下、DAGと記載する。)として表現する。部分木の集合をZDDとして表現したのちに、ZDDの構造を用いた動的計画法を実行することによって最適な部分木を得る。原理的には、木のノード数をN、各ノードをe,・・・,e、ノードeのスコアをw、長さをlとすると、以下(1)及び(2)式に示す問題を説くことに相当する。
【0021】
【数1】
【0022】
ここでTは部分木、Sは部分木の集合である。各部分木Tはそれに含まれるノードの集合として表現される。したがってT∈{e,・・・,e}である。
【0023】
<本発明の第1の実施の形態に係るテキスト要約装置の構成>
【0024】
次に、本発明の第1の実施の形態に係るテキスト要約装置の構成について説明する。第1の実施の形態に係るテキスト要約装置は文抽出問題を解く。図1に示すように、本発明の第1の実施の形態に係るテキスト要約装置100は、CPUと、RAMと、後述するテキスト要約処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。このテキスト要約装置100は、機能的には図1に示すように入力部10と、演算部20と、出力部50とを備えている。
【0025】
入力部10は、木構造として表現された入力文書、木構造の各ノードに対応付けられたスコア、長さ、及び要約の長さとして許容する上限長さLを受け付ける。木構造の各ノードは、文書を構成する構成単位に相当し、本実施の形態では、文に相当する。入力として与えられる木構造の例を図2に示す。このような木構造は、上記非特許文献3に記載されている談話構造解析器に文書を入力することで得ることができる。
【0026】
演算部20は、ZDD構築部30と、最適値計算部32と、記憶部40とを含んで構成されている。
【0027】
ZDD構築部30は、入力部10で受け付けた、木構造として表現された入力文書に基づいて、木構造の許容される部分木の集合を表し、かつ、2つの終端ノード、及び木構造の各ノードに対応する、HI側子ノード及びLO側子ノードを有する根ノード又は中間ノードを含むZDDを構築する。
【0028】
ZDD構築部30の具体的な処理を以下に説明する。ZDD構築部30は、まず、入力部10により受け付けた、木構造として表現された入力文書を取得する。次に、ZDD構築部30は、入力部10により受け付けた、各ノードに対するスコアwおよび長さl、要約の上限長さLを取得する。スコアwは非負実数、長さ、及び上限長さは非負整数であるとする。スコア、及び長さの定義は任意であるが、例えば、非特許文献1と同様に、スコアを単語の出現頻度と木の構造より定め、長さは文に含まれる単語の個数で定義する。
【0029】
次に、取得した木構造に含まれる部分木のうち、取得した木構造における根ノードと同じ根ノードを持つ根付き部分木の集合を、許容される部分木の集合として表現するZDDを生成する。ここである部分木は、取得した木構造に含まれるノードの部分集合として表現されるものとする。図3は取得した木構造、木構造の根ノードと同じ根ノードをもつ部分木、及びそれらのノードの集合を表現したZDDである。取得した木構造に基づいて、こうした木構造の根を含む部分木のすべてを、ノードの集合として列挙したのちに、列挙したノードの集合からなる集合族を表現するZDDを生成する。ZDDは、例えば非特許文献5(S. Minato, "Zero-suppressed BDDs for set manipulation in combinatorial problems", in Proceedings of the 30th conference on Design Automation,1993.)で示されているようなapply演算を繰り返し適用することで生成することができる。
【0030】
また、ZDD構築部30においてZDDを構成する際には、取得した木構造のノード間の全順序関係をあらかじめ定める必要がある。ノード間の順序を変化させるとZDDの構造も変化する。今回扱う問題では木を深さ優先で行き掛け順にたどったときの順序を採用する。例えば上記図2の木構造に対しては、順序e,e,e,e,e,e,eが深さ優先の行き掛け順に対応する。上記図3は、深さ優先の行き掛け順でノードの全順序関係を定めたときのZDDである。ZDDはDAGの形状をしており、ZDDの終端ノード以外の各中間ノードは必ず2つの子ノードをもつ。それぞれの子供をLO側子ノード(0−子)、HI側子ノード(1−子)と呼び、また子供を指すエッジをそれぞれ0−エッジ、1−エッジと呼ぶ。また、各ノードにはラベルが関連づけられている。各ラベルはZDDのノードに対応する木構造のノードを表している。1つのZDDは必ず2つの終端ノードを持ち、それらは
【0031】
【数2】
【0032】
と⊥のラベルが付与されている。ZDDは親ノードをもたないノードを必ず1つだけもつ。このノードを根ノードとよぶ。ZDDの根ノードから
【0033】
【数3】
【0034】
終端ノードまでの1つのパスが、集合族に含まれる1つの集合に対応する。具体的には、ZDDが表す集合族に含まれる1つの集合は、パス中に出現するノードのうち、1−エッジがパスに含まれているZDDのノードに対応づけられているラベルの集合に対応する。
【0035】
ZDD構築部30において、以上のようにして構築したZDDは配列として表現できる。配列はZDDのノード数に応じた個数の要素をもち、各要素はラベル、0−子のアドレス、1−子のアドレスの3つ組からなる。図4図3のZDDを配列で表現したものである。i番目の要素について、ノードに対するラベルをv(i)、0−子のアドレスをlo(i)、1−子のアドレスをhi(i)とする。
【0036】
最適値計算部32は、木構造の各ノードについて入力されたノードのスコア及び長さと、入力された上限長さLと、ZDD構築部30によって構築されたZDDとに基づいて、各ノードの順序に従って、n番目のノードについて、各長さj(0≦j≦L)に対し、ZDD構築部30によって構築されたZDDの少なくとも一部のZDDであって、n番目のノードを根ノードとするZDDが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木であって、かつ、部分木の各ノードのスコアの和が最大となる部分木を繰り返し計算して記憶部40に記憶する。ここで、n番目のノードを根ノードとするZDDが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木であって、かつ、部分木の各ノードのスコアの和が最大となる部分木を計算するとき、記憶部40に記憶した、各ノードのスコアの和の最大値を呼び出して、LO側子ノードを根ノードとするZDDが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木と、n番目のノードを根ノードとするZDDが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなるHI側子ノードを含む部分木とのうち、各ノードのスコアの和が最大となる部分木を再帰的に計算する。
【0037】
最適値計算部32における具体的な処理を以下に説明する。なお、最適化処理には動的計画法アルゴリズムを用いる。
【0038】
最適値計算部32は、まず、2つのZ×(L+1)要素からなる2次元配列S、及び2次元配列Bを用意する。ZはZDD構築部30で求めたZDDのノードの個数である。配列Sの(i,j)要素(1≦i≦Z,0≦j≦Lとする)をS[i][j]と表す。1≦i≦Z,0≦j≦Lについては、S[i][j]に−∞を代入して、S[i][j]を初期化する。そして、S[Z−1][0]に0を代入する。
【0039】
配列Sの値S[i][j]を、それぞれ、i=Z−1,Z−2,・・・,1、j=0,1,・・・,L+1の順に、以下の(3)式に従って再帰的に更新する。
【0040】
【数4】
【0041】
ただし、上記(3)式の下段の選択肢はj−l≧0を満たす場合にのみ選択可能であるとする。上記(3)式に従って更新したS[i][j]は、i番目のノードを根とするZDDが表現する集合族に含まれる集合のうち、当該集合に含まれる木のノードの長さの和がjであるものを取り出したときのスコアの和の最大値となっている。
【0042】
配列B[i][j]には、上記(3)式において、S[i][j]を上段又は下段の解の候補のうちのどちらを用いて更新したかを示す記号を記録する。すなわち、上記(3)式の上段の選択肢を用いてS[i][j]にS[lo(i)][j]を代入して更新したならば、B[i][j]にLO側子ノードを表す「LO」と記録し、下段の選択肢を用いてS[i][j]にS[hi(i)][j−l]+wと代入して更新したならば、B[i][j]にHI側子ノードを表すHIと記録する。B[i][j]に記録された値は後述するバックトラック部34の処理で用いられる。そして、S[1][j](0≦j≦L)の最大値を与えるjを取り出し、jとする。もし最大値が−∞ならば解なしとして処理を終了する。図5に実行途中のある時点での二次元配列S、及び二次元配列Bの値の表現を示す。図5の例では、iに関しては下から上にN8から順に更新し、jに関しては左から右に順に更新している。
【0043】
バックトラック部34は、最適値計算部32によって繰り返し計算された計算過程に基づいて、上限長さL以下となる許容される部分木のうち、許容される部分木の各ノードのスコアの和が最大となる許容される部分木を、入力文書の要約として出力部50により出力する。
【0044】
バックトラック部34の具体的なバックトラッキング処理について以下に説明する。バックトラック部34では、図6に示す二次元配列B[i][j]におけるバックトラッキングを実行する。バックトラック部34は、まず、
【0045】
【数5】
【0046】
として、sを初期化する。sは最適解となる部分木のラベルv(i)を格納する配列である。また、(i,j)に(1,j)を代入して、(i,j)を初期化する。次に、B[i][j]=LOならば、(i,j)に(lo(i),j)を代入して更新する。B[i][j]=HIならば、sをs∪v(i)に更新した上で、(i,j)に(hi(i),j−l)を代入して更新する。そして、(i,j)=(Z−1,0)ならばsに格納されたラベルによる許容される部分木を最適解として出力して処理を終了し、そうでなければバックトラッキングの処理を繰り返す。
【0047】
<本発明の第1の実施の形態に係るテキスト要約装置の作用>
【0048】
次に、本発明の第1の実施の形態に係るテキスト要約装置100の作用について説明する。入力部10において木構造として表現された入力文書、木構造の各ノードに対応付けられたスコア、長さ、及び要約の長さとして許容する上限長さLを受け付けると、テキスト要約装置100は、図7に示すテキスト要約処理ルーチンを実行する。
【0049】
まず、ステップS100では、入力部10において受け付けた、木構造として表現された入力文書、スコア、長さ、及び要約の長さとして許容する上限長さLを取得する。
【0050】
次に、ステップS102では、ステップS100で取得した木構造として表現された入力文書に基づいて、ZDDを生成する。
【0051】
ステップS104では、ステップS100で取得したスコア、長さ、及び要約の長さとして許容する上限長さLと、ステップS102で生成したZDDとに基づいて、各ノードの長さの和が、上限長さL以下であり、かつ、各ノードのスコアの和が最大となる許容される部分木を計算する。
【0052】
ステップS106では、ステップS104で計算された、各ノードの長さの和が、上限長さL以下であり、かつ、各ノードのスコアの和が最大となる許容される部分木を、入力文書の要約として出力部50により出力し、処理を終了する。
【0053】
上記ステップS104の最適解算出処理ルーチンについて以下、詳細に説明する。
【0054】
図8に示すステップS200では、まず、2次元配列S、及び2次元配列Bを用意する。
【0055】
次に、ステップS202では、ステップS200で用意した2次元配列S、及び2次元配列Bを初期化する。
【0056】
ステップS204では、2次元配列Sを上記(3)式に従って再帰的に更新し、配列Bに上記(3)式において、S[i][j]を上段又は下段の解の候補のうちのどちらを用いて更新したかを示す記号を記録する。
【0057】
ステップS206では、ステップS204で更新したS[1][j](0≦j≦L)の最大値を与えるjを取り出し、jとする。
【0058】
ステップS208では、配列sを初期化する。
【0059】
ステップS210では、(i,j)に(1,j)を代入して、(i,j)を初期化する。
【0060】
ステップS212では、ステップS204で更新したB[i][j]に基づいて、B[i][j]=LOならば、(i,j)に(lo(i),j)を代入して更新し、B[i][j]=HIならば、sをs∪v(i)に更新した上で、(i,j)に(hi(i),j−l)を代入して更新する。
【0061】
ステップS214では、(i,j)=(Z−1,0)かを判定し、(i,j)=(Z−1,0)であれば最適解算出処理ルーチンを終了し、(i,j)=(Z−1,0)でなければ、ステップS212へ移行して処理を繰り返す。
【0062】
以上説明したように、第1の実施の形態に係るテキスト要約装置によれば、木構造の許容される部分木の集合を表すZDDを構築し、ノードのスコア及び長さと、入力された上限長さLと、構築されたZDDとに基づいて、各ノードの順序に従って、n番目のノードについて、各長さjに対し、n番目のノードを根ノードとするZDDが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木であって、かつ、部分木の各ノードのスコアの和が最大となる部分木を繰り返し計算して記憶部に記憶するときに、記憶部に記憶した、各ノードのスコアの和の最大値を呼び出して、LO側子ノードを根ノードとするZDDが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木と、n番目のノードを根ノードとするZDDが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなるHI側子ノードを含む部分木とのうち、各ノードのスコアの和が最大となる部分木を再帰的に計算することにより、計算時間の増大を抑制し、かつ、安定して要約の最適解を求めることができる。
【0063】
<本発明の第2の実施の形態に係るテキスト要約装置の構成>
【0064】
次に、本発明の第2の実施の形態に係るテキスト要約装置の構成について説明する。第2の実施の形態に係るテキスト要約装置は文短縮問題を解く。なお、第1の実施の形態のテキスト要約装置100と同様の構成となる部分については、同一符号を付して説明を省略する。
【0065】
上記図1に示すように、本発明の第2の実施の形態に係るテキスト要約装置100は、CPUと、RAMと、テキスト要約処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。このテキスト要約装置100は、機能的には図1に示すように入力部10と、演算部20と、出力部50とを備えている。
【0066】
第2の実施の形態に係る入力部10は、木構造として表現された入力文、木構造の各ノードに対応付けられたスコア、長さ、及び要約の長さとして許容する上限長さLを受け付ける。また、入力部10は、当該入力文に対して予め定められた複数の根候補ノードを受け付ける。入力文は、文に含まれる単語の依存関係を表す根つき木として表現したものである。このような依存関係を表す根つき部分木は、文を非特許文献6(D. Chen and C. D. Manning, "A fast and accurate dependency parserusing neural networks", in Proceedings of the 2014 conference on Empirical Methods, in Natural Language Processing, 2014.)に示すような依存構造解析器に入力して出力された木に対して、上記非特許文献3に示す変換処理を適用することで得ることができる。入力として与えられる文の木構造の一例を図9に示す。
【0067】
第2の実施の形態に係る演算部20は、ZDD構築部30と、最適値計算部32と、記憶部40とを含んで構成されている。
【0068】
第2の実施の形態に係るZDD構築部30では、以下に説明するように、入力部10で受け付けた、木構造として表現された入力文書に基づいて、入力文に対して予め定められた複数の根候補ノードを根ノードとする、木構造の許容される部分木の集合を表し、かつ、2つの終端ノード、及び木構造の各ノードに対応する、HI側子ノード及びLO側子ノードを有する根ノード又は中間ノードを含むZDDを構築する。
【0069】
第2の実施の形態に係るZDD構築部30では、取得した木構造に含まれる部分木のうち、取得した木構造における根候補ノードのいずれかを根ノードとして持つ部分木の集合を、許容される部分木の集合として表現するZDDを生成する。図10は取得した木構造を示し、図11は、木構造の根候補ノードを根ノードとしてもつ部分木、及びそれらのノードの集合を表現したZDDの一例である。また、第2の実施の形態に係るZDD構築部30では、第1の実施の形態と同様に、取得した木構造のノード間の全順序関係をあらかじめ定める必要がある。第2の実施の形態では、ノード間の全順序については、各ノードに対して順序スコアを定義し、順序スコアが高い子ノードの順序が先になるような深さ優先行きがけ順を採用する。ここで、ノードのスコアは、当該ノードの子孫ノードからなる部分木に含まれる、最大の許容される部分木のノード数とする。図12に示す許容される部分木であれば、例えばe,e,eのスコアはそれぞれ6,4,0である。
【0070】
なお、第2の実施の形態に係るテキスト要約装置の他の構成及び作用は、第1の実施の形態のテキスト要約装置100と同様であるため詳細な説明を省略する。
【0071】
以上説明したように、本発明の第2の実施の形態に係るテキスト要約装置によれば、予め定められた複数の根候補ノードを根ノードとする、木構造の許容される部分木の集合を表すZDDを構築し、ノードのスコア及び長さと、入力された上限長さLと、構築されたZDDとに基づいて、各ノードの順序に従って、n番目のノードについて、各長さjに対し、n番目のノードを根ノードとするZDDが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木であって、かつ、部分木の各ノードのスコアの和が最大となる部分木を繰り返し計算して記憶部に記憶するときに、記憶部に記憶した、各ノードのスコアの和の最大値を呼び出して、LO側子ノードを根ノードとするZDDが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木と、n番目のノードを根ノードとするZDDが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなるHI側子ノードを含む部分木とのうち、各ノードのスコアの和が最大となる部分木を再帰的に計算することにより、計算時間の増大を抑制し、かつ、安定して要約の最適解を求めることができる。
【0072】
<本発明の第3の実施の形態に係るテキスト要約装置の構成>
【0073】
次に、本発明の第3の実施の形態に係るテキスト要約装置の構成について説明する。第3の実施の形態に係るテキスト要約装置は文抽出及び文短縮を同時に行う問題を解く。なお、第1及び第2の実施の形態のテキスト要約装置100と同様の構成となる部分については、同一符号を付して説明を省略する。
【0074】
上記図1に示すように、本発明の第3の実施の形態に係るテキスト要約装置100は、CPUと、RAMと、テキスト要約処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。このテキスト要約装置100は、機能的には図1に示すように入力部10と、演算部20と、出力部50とを備えている。
【0075】
第3の実施の形態に係る入力部10は、木構造として表現された文書、文書に含まれる各文であって、かつ、木構造として表現された各文、木構造の各ノードに対応付けられたスコア、長さ、及び要約の長さとして許容する上限長さLを受け付ける。文書の木構造は、文書に含まれる各文をノードとし、文の木構造は、文に含まれる各単語をノードとする。
【0076】
なお、本実施の形態では、文書を表す木構造、及び各文を表す木構造を、文をノードとする木構造の各ノードを、単語のノードとする木構造で置き換えた、入れ子構造で表現される木構造で表現する(図13参照)。
【0077】
また、文書の第1の文字列単位として、文を用い、第1の文字列単位より小さい文字列単位である第2の文字列単位として、単語を用いる場合を例に説明したが、これに限定されるものではなく、他の文字列単位を用いてもよい。
【0078】
第3の実施の形態に係る演算部20は、ZDD構築部30と、最適値計算部32と、記憶部40とを含んで構成されている。
【0079】
第3の実施の形態に係るZDD構築部30では、以下に説明するように、入力部10で受け付けた、木構造として表現された文書、及び木構造として表現された各文に基づいて、入れ子構造で表現される木構造の許容される部分木の集合を表し、かつ、2つの終端ノード、及び木構造の各ノードに対応する、HI側子ノード及びLO側子ノードを有する根ノード又は中間ノードを含むZDDを構築する。
【0080】
具体的には、入れ子構造で表現される木構造の許容される部分木の集合として、外側の木構造についての根ノードを持つ部分木と、外側の木構造における当該部分木の各ノードに対する、当該ノードの内側の木構造についての、当該文について予め定められた複数の根候補ノードの何れかを根ノードを持つ部分木とからなる根付き部分木の集合を表現するZDDを生成する。図14は取得した入れ子構造で表現される木構造を示し、図15は、入れ子構造で表現される木構造の許容される部分木の集合を表現したZDDである。また、第3の実施の形態に係るZDD構築部30では、第1の実施の形態と同様に、取得した、入れ子構造で表現される木構造のノード間の全順序関係をあらかじめ定める必要がある。第3の実施の形態では、ノード間の全順序については、各ノードに対して順序スコアを定義し、順序スコアが高い子ノードの順序が先になるような深さ優先行きがけ順を採用する。ここで、ノードのスコアは、当該ノードが含まれる内側の木での子孫ノードからなる部分木に含まれる、最大の許容される部分木のノード数とする。図16に示す部分木であれば、例えばe,e,e,e12のスコアは、それぞれ5,0,4,3である。
【0081】
なお、第3の実施の形態に係るテキスト要約装置の他の構成及び作用は、第1及び第2の実施の形態のテキスト要約装置100と同様であるため詳細な説明を省略する。
【0082】
以上説明したように、本発明の第3の実施の形態に係るテキスト要約装置によれば、入れ子構造で表現された木構造の許容される部分木の集合を表すZDDを構築し、ノードのスコア及び長さと、入力された上限長さLと、構築されたZDDとに基づいて、各ノードの順序に従って、n番目のノードについて、各長さjに対し、n番目のノードを根ノードとするZDDが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木であって、かつ、部分木の各ノードのスコアの和が最大となる部分木を繰り返し計算して記憶部に記憶するときに、記憶部に記憶した、各ノードのスコアの和の最大値を呼び出して、LO側子ノードを根ノードとするZDDが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなる部分木と、n番目のノードを根ノードとするZDDが表す部分木の集合のうち、各ノードの長さの和が長さjと等しくなるHI側子ノードを含む部分木とのうち、各ノードのスコアの和が最大となる部分木を再帰的に計算することにより、計算時間の増大を抑制し、かつ、安定して要約の最適解を求めることができる。
【0083】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【符号の説明】
【0084】
10 入力部
20 演算部
30 ZDD構築部
32 最適値計算部
34 バックトラック部
40 記憶部
50 出力部
100 テキスト要約装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16