自動要約
特徴
自動要約 (auto summarization) または文書要約は文書の要約を作成することを目的としたテキスト短縮の処理。対象とする文書が一つの場合を単一文書要約、特定の文書セットを要約する場合を複数文書要約と呼ぶ。単一文書要約は一般的に長い文章から重要な部分のみを取り出すことを目的とする。最も簡単な方法は文書内の最初の数文を抽出するリード法である。
自動要約の方針として、要約対象の文書から代表となる文をそのまま抽出する抽出型要約 (extraction-based) と、内容を抽象的に要約しながら新しい文章を生成する抽象型要約 (abstraction-based) がある。人間の要約作業は内容を反映させながら文法的にも自然な文書を生成する抽象型要約であるが、同じ作業を機械的に行うことは難しく、多くの自然言語処理は抽出型要約で行っている (2022 年以降は GTP による抽象型要約が普及しつつある)。
抽出型要約は文書から代表となる表現を選び出す処理であることから、考え方は情報抽出や要点抜粋、あるいはキーワード抽出 (タグ付け) に近い。また、完全自動で要約を作成するシステム (FAS; full-automated summalization) とは別に、例えば文章中の重要部分をハイライトするといったような人が要約するための支援システム (MAHS; machine-aided human summarization) も自動要約の範囲である。
Table of Contents
- 特徴
- グラフ中心性による重み付け
- テキスト要素の関連づけ方法
- 重みの算出方法
- 冗長性の除去
- グラフ中心性による重み付け
- アルゴリズム
- MMR アルゴリズム
- 参照
グラフ中心性による重み付け
抽出型要約の目的は文書の内容を代表していると思われるテキスト要素 (文・文節・単語など) を選択することである。そのために単語の出現頻度や自然文の構文構造を素性として重み付けする方法などいくつか過去の研究あるが、ここでは文書を構成する要素の関連グラフを使った方法を扱う。
関連グラフを使用する方法は「文書内で他の文との類似性が高い文はその文書を代表する文である」と仮定し、文の類似度から関連グラフを作成して各文 (頂点) ごとの重要度を算出する。この方法は言語体系やドメイン、コンテキスト (慣習や専門分野など) への依存が低いことから、未知の言語や言語以外の分野への応用が比較的容易である。
中心性を使用した重み付けは、テーマや論点がはっきりしており、文書全体に渡ってその理由付けや根拠、意見表明などで主旨の補強している文において良い結果が出るように感じる。具体的にはニュース記事全般、Wikipedia、NATIONAL GEOGRAPHIC のようなルポルタージュ文、ライフハック等の実用系ブログ、人生・恋愛相談の回答 (~しなさい、何故ならば~調)などが挙げられる。逆に主旨がはっきりしない情緒的な文章、例えば小説やエッセイ、叙事文 (誰がいつ何をした文調)、などは人間にとっても代表的な文を判別することが難しい。このあたりの温度感はこのページの実験で試すと良いだろう。
グラフによるテキスト要素の抽出はおおむね「テキスト要素の関連づけ方法 (グラフの作成方法)」と「各頂点の重み算出方法」を組み合わせた処理となる。例えば以下の手法はそれぞれに適用できそうである。
テキスト要素の関連づけ方法
- コサイン類似度
- TF-IDF (LexRank)
- word2vec, doc2vec, GloVe, fastText
- \(w\)-shingling [6]
- レーベンシュタイン距離
- 独自の類似度 (TextRank)
- 係り受け構造
- etc.
重みの算出方法
- 重心
- 次数中心性
- 固有ベクトル中心性 (LexRank)
- PageRank (TextRank,LexRank)
- 媒介中心性
- 情報中心性
- etc.
TextRank 論文 (2004; 日本語訳) はグラフの重み付けに PageRankアルゴリズムを使用している。また LexRank 論文 (2004; 日本語訳) は固有ベクトル中心性を重要度とする擬似コードが載せられているが、こちらも最終的に PageRank のアルゴリズムを導入している。
DUC 2004 では TextRank も LexRank も単純なリード法より良好な結果を示し LexRank の方が良いスコアを見せた。ただし実際に日本語の文章を形態素解析した文で比較してみると TextRank の方が良い結果と感じることもしばしばあり、DUC 2004 の結果が必ずしも全ての状況に当てはまるわけではない。
またここで紹介する TextRank や LexRank の応用としてレーベンシュタイン距離を使用したり、word embedding (自然言語の特徴ベクトル空間へのマッピング) を学習させるための文書が十分に用意されているのであれば TF-IDF 以外に Word2vec (2013) のようなモダンな類似度関数を適用することも試す価値はあるだろう。
冗長性の除去
重みの大きさ (代表性) のみを考慮したスコア付けアルゴリズムでは似た内容の文を選択しがちとなることは容易に推測しうるだろう。要約の目的を考慮すれば選択した内容の重複は冗長で明らかに好ましくない。このような状況を改善する目的で、一般に自動要約では重みで抽出した文リストに対して文の類似度による再順序付けが行われる。MMR (maximal marginal relevance) はスコアリングされた文リストから類似度の高い文のスコアを下げて再順序付けを行う冗長性除去のアルゴリズムである。
抽象型要約では、同一の文書内で 2 つ以上の主旨を述べているようなケースでも、冗長性の除去を行うことでそれぞれの主旨を含む文がスコアの上位に出現しやすくなる効果が期待できる。
冗長性除去はクエリーに対して検索エンジンがスコア付けした検索結果にも考慮されうる。例えば 2011 年頃に行われた Google のパンダアップデートでは似たような内容のサイトは最も高いスコアの一件を除いてそれ以外の順位を下げる変更が行われた。これは本質的に検索結果に対する冗長性の除去である。
冗長性を除去した文書リストは、上位文の多様性が高くなる代わりに、上位文の代表性 (検索であればクエリーとの関連性) は低くなるトレードオフが発生する。人が何かを検索する場合はまず多様性優先で検索し、自分が本当に知りたい情報のクエリーが分かってから関連性優先の検索で絞り込むことが効率的である。MMR では式 (\(\ref{mmr}\)) の \(\lambda\) 値を 1 から 0 まで調整することで多様性優先か関連性優先かを連続的に調整することができる。
アルゴリズム
TextRank, LexRank 共に文を頂点、文の類似度で重み付けされた辺で構成される関連グラフをモデルとする。重みの算出はどちらも PageRank を使用し、類似度の算出方法が異なる。
TextRank アルゴリズム
TextRank 論文では共通の単語がどれだけの割合かを文の類似度としている。文 \(D_1\) と \(D_2\) それぞれを構成するテキスト要素数を \(n_1\), \(n_2\)、両方の文で共通するテキスト要素数を \(n_{1\&2}\) としたとき、\(D_1\) と \(D_2\) の類似度 \({\it Sim}_{\rm tr}(D_1,D_2)\) は以下の式で表わしている。\[ {\it Sim}_{\rm tr}(D_1, D_2) = \frac{n_{1\&2}}{\log n_1 + \log n_2} \] この類似度関数は全く同じ文に対して 1.0 とはならず、また文中の有効な単語数が共に 1 のケースで発散する。式がどのような理論に基づいているかは不明。
論文では他にも文字列カーネルやコサイン類似度、最長共通部分列などの指標も言及してる。
LexRank アルゴリズム
LexRank 論文では文 \(i\) と \(j\) の TF-IDF + コサイン類似度に基づいてグラフを作成し PageRank (または固有ベクトル中心性) を使って各文の重要度を算出している。\[ {\it Sim}_{\rm lr}(D_1, D_2) = {\it cosine\_similarity}({\it tfidf}(D_1), {\it tfidf}(D_2)) \]
連続 LexRank (continuous LexRank) はコサイン類似度を 2 つの文を結ぶ辺の重みとしたグラフを作成する。LexRank 論文では 0~1 範囲のコサイン類似度を使用しているが、実際に実装してみると小さな類似度はノイズとなり精度低下の原因となっているようであるため、適当なしきい値以下は類似度 0 とした方が良い。また類似度の大小も差異を正しく反映しているわけではなく、サンプリングする文書の性質によってはベクトル空間上での方向性が一致しているかのみに着目したしきい値 LexRank を使用した方が良好な結果が得られることも多いだろう。
しきい値 LexRank (離散 LexRank) はコサイン類似度がしきい値 \(t\) より大きい場合に文の間に関連性が存在するとみなして重みのないグラフを作成する。ここでしきい値 \(t\) の範囲は 0 から 1 である。論文上はしきい値 0.1, 0.2, 0.3 で評価を行っているが、実際に日本語の自然文で行ってみると、全体の類似度は文量や話題の広さなどの影響が大きく、全てのテキスト要素が関連なしとみなされることも少なくない。このためしきい値は対象とする文書に対して適切に調整する必要がある。対象とする文の数が多くなるとしきい値 \(t\) を大きくし、
LexRank 論文ではしきい値 LexLank の方が連続 LexRank や他の次数に基づいた方法よりも優れた結果であったと書かれている。
Word Mover's Distance アルゴリズム
Word Mover's Distance は Word2Vec で作成した分散表現を使用して文の類似度指標を算出するアルゴリズムである (まだ自動要約としての評価は行っていないが備忘として載せておく)。実際に WMD を試すと、意味的な類似性の低下に伴ってスコアが激減するため、類似度というよりは「単語表現のゆらぎを考慮したフレーズ検索」や「多少改変しただけの文書判定 (いわゆるパクツイ判定など)」向きのアルゴリズムのように感じる。
MMR アルゴリズム
MMR は、既に選択されている文書との類似性を考慮して残りの文書を再スコアすることで、順位付けられた文書リストを再調整するアルゴリズム。MMR を適用した文書リストは内容似た文書が上位から排除され多様性を優先した選択が期待できる。
方法としては、まだ選択されていない文書を式 (\(\ref{mmr}\)) でスコア調整し、最もスコアの高い文を選択することを上位から順に繰り返す。\[ \begin{equation} {\it MMR} = \argmax_{D_{i} \in \vector{D} \backslash \vector{S}} \left\{\lambda~ {\it Imp}(D_{i}) - (1- \lambda) \max_{D_{j} \in \vector{S}} Sim(D_{i}, D_{j}) \right\} \label{mmr} \end{equation} \] ここで全ての文の集合を \(\vector{D}\)、既に選択されている文の集合を \(\vector{S}\)、まだ選択されていない文の集合を \(\vector{D} \backslash \vector{S}\)、文 \(D_i\) の重要度を \({\it Imp}(D_i)\)、文 \(D_i\) と \(D_j\) の類似度を \({\it Sim}(D_i,D_j)\) と表している。初期状態の \(\vector{S}\) は空集合であり \({\it MMR}\) は重要度と同じ並びとなる (つまり最初に選ばれる文は無調整で最も重要度が高い文)。
係数 \(\lambda\) は元の重要度と冗長性除去のバランス調整の役割を持つ [0, 1) 範囲の値である。式 (\(\ref{mmr}\)) の通り 1 の時に元の重要性のみの評価となり、0 の時に冗長性除去のみで評価される。この式 (\(\ref{mmr}\)) は単純に線形結合しているが、素性として重要度 \({\it Imp}\) と類似度 \({\it Sim}\) は異なる尺度であることから場合によっては双方を正規化する必要があると思われる。
例としてリード法による抽出型要約を考えたとき、文書中の先頭に存在する文の重要度を 1、それ以外の文の重要度を 0 と仮定すると、最初に選択される文は文書の先頭に存在する文であり、2つ目に選択される文は先頭の文と最も類似していない文である。例えば Web 上のニュース記事は主旨を先頭に置くリード法を意図した文章が多く、そのような文書を対象にするケースでは「リード法 + MMR」だけでも TextRank 等を用いた方法と同様の結果となりやすい。
参照
- 自動要約, PageRank
- Rada Mihalcea, Paul Tarau (2004), "TextRank: Bringing Order into Texts" (日本語訳)
- Güneş Erkan, Dragomir R. Radev (2004), "LexRank: Graph-based Lexical Centrality as Salience in Text Summarization" (日本語訳)
- Jaime G. Carbonell, Jade Goldstein (1998) "The Use of MMR and Diversity-Based Reranking for Reodering Documents and Producing Summaries" (日本語訳)
- https://rpubs.com/yamano357/27317
- BRODER, Andrei Z., et al. Syntactic Clustering of the Web. Computer networks and ISDN systems, 1997, 29.8-13: 1157-1166.