[latexpage]

Y.J. Kumar, O.S. Goh, H. Basiron, N.H. Choon and P.C. Suppiah
Journal of Computer Science 2016, 12 (4): 178.190
http://thescipub.com/PDF/jcssp.2016.178.190.pdf

自動要約のSurvey論文。


※言い訳:大和田は専門家でもなく背景知識も乏しいため、誤りや意味不明な部分を多々含みます。

一番最初の要約論文 Luhn58:The Automatic Creation of Literature Abstracts

大まかなカテゴリわけ

Input Purpose Output
Single document Generic Extractive
Multiple documents Domain specific Abstractive
Query based

Approaches

Frequency Based Approach

Word Probability $f(w) = \frac{n(w)}{N}$, where $n(w)$=ドキュメント内での$w$の出現回数, $N$ = ドキュメント内の単語の数

文の重みづけ$Sj$はこう定義される。
\begin{equation}
weight(S_j)=\frac{\sum_{w \in S_j} f(w)}{|\lbrace w|w \in S_j\rbrace |}
\end{equation}

Term Frequency-Inverse Document Frequency

同じだけ頻繁に表れる語が、同じだけの重要性を持つとは限らない。例えば、地震に関するニュースは全て「earthquake」という単語が入っているが、それが一番重要な単語だろうか?
これを反映するため、tf-idfという指標を導入する。これは、ドキュメント集合全てのうちでの出現頻度と、局所的な出現頻度の比率によって重要度の重みづけを行うものである。まず$tf_{i,j}$の定義:

\begin{equation}
tf_{i,j}=\frac{n_{i,j}}{\sum n_j}
\end{equation}

$n_{i,j}$は文書$j$における単語$i$の出現頻度である。つまりこれは、全ドキュメント平均での出現頻度に対してどれくらい際立って出現するかの指標になる。

次に、Inverse Document Frequence ($idf$)の定義。

\begin{equation}
idf_i=log \frac{|D|}{|\lbrace d|t_i \in d \rbrace|}
\end{equation}

この式では、コーパスの総数を、$word_i$を含むコーパスの数で割っている。
つまり、こちらも局所的にやたら出てくる語の重みを増す項になる。

この$tf_{i,j}$と$idf_i$を掛け合わせたものがtf-idfである。

tf-idf = $tf_{i,j} \times idf_i$

Feature-based approach

文の重要性を示す特徴ベクトルを作る方法。
Edmundson (1969)では「文の位置」「タイトル内の語が含まれているかどうか」「手がかり単語」3つの特徴を用いた。Gupta10では「Title/Headline Word」「Sentence Position」「Sentence Length」「Term Weight」「Proper Noun」の5特長を用いている。これはよく使われている。これら特徴量の重みつき線形和を求めて文の重要性とする。

特徴量を用いた既存研究はいろいろある。
Binwahlan09はPSO (Particle Swarm Optimization)を使って重みを最適化する。Bossard11では遺伝的アルゴリズムを用いて複数ドキュメント要約の重み最適化を行う。Abuobieda13aでもDifferential evolution algorithmを使って重みづけを行う。Hariharan10では様々な特徴量の組み合わせを比較をし、term frequency weight with position and node weightという組み合わせがベストという結果を得た。
Suanmali09,11ではファジー規則を用いて文の重要性を判定した。例えば“if (NoWordInTitle is VH) and (SentenceLength is H) and (TermWeight is VH) and (SentencePosition is H) and (SentenceSimilarity is VH) and (ProperNoun is H) and (ThematicWord is VH) and (NumbericalData is H) then (Sentence is important)”.みたいなもの。DUC 2002データセットでテストした結果、ルールベースが一番よかったとのこと。近年の結果(Babar15)でもファジーreasoningがよいという結果が出ている。

Machine Learning Approach

元文書と要約文書のペアがたくさんあれば機械学習が使える。ここでは、要約は各文章が、要約文に入るか否かを判定する分類アルゴリズムとして定式化される。文は通常、特徴ベクトルとして表現される。

Naive Bayes


を使って文のスコアリングを行う。

用いる特徴量によって色々なバリエーションがある。Aone99はtf-idfに似た特徴を使った。Neto02では統計的・言語的なものを含む多数の特徴を用いている。

Neural Network

Kaikhah04は三層Feed-Forward Networkを用いて要約文のパターンを学習させている。7つの特徴を用い、いったん要約文の特徴を学習させたのちにfeature fusion(いくつかの特徴をまとめたり消したりすること)を行いて認識のためのネットワークを作る。Svore07ではNetSumという単一ドキュメント要約システムを開発した。これはRankNet(Burges05)というアルゴリズムを用いている。Hannah14では決定木も用いて文のスコアを決定している。

Domain Specific Summarization

領域を絞った要約では、専門知識を使ってより要約の精度を高めることができる。医療分野ではBecher02, Kaicker10, Cetrifuser(Elhadad05,Kan01), Fiszman09などがある。
Khelif07ではオントロジーも利用した。医療分野のオントロジーにはUMLSというものがあり、これを用いて類似の概念を表現する文を関連付けることができる。Verma07, Kogilavani09, Naderi10ではそういったオントロジーを利用している。

ニュースの要約ではMcKeown95で提案されたSUMMONSというシステムがある。これは、テンプレートを用いたメッセージ理解システムであるMUC-4(Sundheim92)を用いている。このシステムでは、まず全テキストを処理したのちにテンプレートの空欄を埋めていく方式を取っている。SUMMONSに類似のシステムとしてはRIPTIDES01がある。まず各テキストに対して自然災害のシナリオテンプレートを生成し、要約に役立てる。要約器ではまずテンプレートをマージしたうえで、各スロットと文にスコアを割り当てる。
MultiGen(Barzilay99,McKeown99)では機械学習と統計的手法を組み合わせてニュース記事から共通の文を選び出すことができる。Newsblaster(McKeown02)で利用されている。Hatzivassiloglou99,01でも同様である。
Li10ではOMS(Ontology-enriched Multi-Document Summarization)という災害対応に適応できる、クエリーにマッチした要約を生成するシステムを提案している。オントロジー内のノードがユーザーの発するクエリーと対応付けられ、そのノードに対応付けられた文が抽出される。
Lee05ではファジーオントロジーという概念が提案されている。不確実性の高い領域に適している。
Daniel03ではニュース構造の理解のためにはサブイベントという概念を利用することで本質的な情報をとらえることができることを示している。Kumar14でもwho,what,whereなどといったコンテキスト情報を用いることで要約の精度が向上することを述べている。

Nenkova04ではE-mailのスレッドを要約している。ここでは最初のメッセージとそのタイトルから「Overview Summary」を生成している。最初以外のメッセージからは、最初のメッセージとの類似性を用いて分が選ばれている。Newman03でもemailの要約を行っている。まず、全てのメッセージをクラスタリングし、書くクラスタごとに要約を生成する。Rambow04ではemail特有の特徴やルール、スレッドの構造を用いている。
ブログのメインの文脈は、通常は書いた人の意見である。Marcu99にインスパイアされたZhou06では[abstract,text]ペアを用いてブログ要約を生成している。ブログ文章から、ストーリー(リンクされた記事)に無関係な文を順次除いていくことで要約を生成する。Hu07はブログのコメントがブログポスト理解に影響を与えることを述べている。
法的なブログの要約をしている研究もある。Conrad09はTAC2008(Text Analysis Conference)に基づいたタスクを実行している。まず、クエリにマッチしない文を除き、FastSum(Schilder08)を適用する。FastSumはSchilder08a,08bですでに提案済みの手法である。

Multi Document Summary

複数ドキュメントの要約には2つの大きな手法がある。Cluster Based MethodとGraph Based Methodである。また、最近はやってきているDiscourse Based Methodについても解説する。

Cluster Based Method
Radev04が作ったMEADというシステムがパイオニアである。これは、前述のtf-idfの値が高い文がクラスタの中心となり、それと近い文をクラスタにまとめる。この近さの指標にはCosine Similarityを用いる。Xia11ではco-clustering theoryを用いて最適なクラスタ数を決めている。この方法では、sentence-term co-occurrence行列を作り、そこから文とtermの重みを決めている。スコアが決まったら、ユーザーが決めた大きさの要約になるまで、スコアの大きい文から順に集めていく。
Abuobieda13bではDifferential Evolution algorithmというevolutionary algorithmを使ってクラスタリングプロセスの最適化を行っている。
局所・大域両方からの文の検索を用いているものもある(Nie06)。これは、文の選択にクラスターとの類似性だけでなく、全ての文書との類似性を用いているものである。Clusteringの多様性を高めることにフォーカスしているものもある。Aliguliyev10ではPSOアルゴリズムと遺伝的アルゴリズムの突然変異を用いて、クラスタ内の類似性とクラスタ間の非類似性の両方を考慮している。

クラスターベスの方法は複数の文書間に多様性があり、重複を減らしたいタスクに向いているが、結局は出現頻度の高いものがセレクトされてしまうだけという欠点がある。

Graph Based Method
ノードを文とし、エッジを類似性がスレッショルド以上のものとして表現し、HITS(Kleinberg99)やPageRank(Brin12)等を用いてノードの重要度を判定する。Lexrank(Erkan04)やTextRank(Mihalcea04)はそういったアルゴリズムを用いた分のランキングシステムの例である。
Wan06はドキュメント内リンクとドキュメント間リンクに違う重みを与えることで要約精度を改善している(ドキュメント間リンクを重くする)。Hariharan09ではすでに選ばれた文を除いてから次に選ぶ分を決めるようにしている。
文レベルの情報とは別に、Wan08やWei10ではDocument-Sensitiveなグラフモデルを用いて、グラフベースの手法における文書の重要性を探っている(?)。文書レベルの情報(グラフの重みづけ調整に仕様)と、文ー文書の関係を考慮している。
グラフベースの手法は複数文書の中から最強の文を見つけられるので高い評価を得ている手法である。連結成分を見ることで、独立な話題を見つけることもできる。しかし、各文を独立に扱っており、文同士の関係性を理解しているわけではないという限界がある。

Discourse Based Method
対話分析(Discourse Analysis)を用いた手法について解説する。この手法では、文の間の意味的なつながりを考慮する。Radev00では文書間の関係を調べてCST(Cross-Document Structure Theory)を提案した。このモデルでは、単語、区、文は意味的に相互リンクされる。

既存研究ではCSTは実用上有益とされている。Zhang02ではまずMEAD(Radev01)を用いて要約を生成し、次に専門家の手によりCSTの関係性を評価してスコアの小さいものは除去する。Jorge10ではCSTの効果について深く分析されている。
CSTの関係性は人手で入力しなければならなかったのが制約だが、SVMを用いて自動化する方法も提案されている(Zahri11, Kumar13, Kumar14)。いずれもクラスターベースの方法やグラフベースよりもよい結果が出ている。

Conclusion

将来課題は生成される文章の読みやすさである。

カテゴリー: Blog