論文紹介: Neural Latent Extractive Document Summarization

# tl;dr

* Extractive summarizationにおいて、文ごとに採用・非採用の2値ラベルを作ることなく、人手で作った参考要約から直接学習できる手法により、Extractive summarizationの性能向上を図る。
* Extractive summarizationで文を抽出し、抽出した文から要約がうまく生成できるように学習を行する。
    - 抽出してから生成する、という微分不可能な操作を強化学習で学習する。
    - 要約の生成部分はad-hocな手段で作成した抽出文-要約文ペアから学習しておき、Extractive summarizationの報酬を計算するための評価器として使う。
* Extractive summarizationの既存手法から性能向上。最新のAbstractive summarizationとも同等レベルの性能を実現。

```
@InProceedings{zhang-EtAl:2018:EMNLP3,
  author    = {Zhang, Xingxing  and  Lapata, Mirella  and  Wei, Furu  and  Zhou, Ming},
  title     = {Neural Latent Extractive Document Summarization},
  booktitle = {Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing},
  month     = {October-November},
  year      = {2018},
  address   = {Brussels, Belgium},
  publisher = {Association for Computational Linguistics},
  pages     = {779--784},
  url       = {http://www.aclweb.org/anthology/D18-1088}
}
```

# 目的

自動要約は、文書 (ニュース記事など) を入力に、要約を生成する技術です。自動要約には大きく分けて2つのアプローチが存在します。


* Abstractive summarization
    * 文書と参考要約のペアを学習データとして、End-to-endで文書から要約へのマッピングを学習する。
    * ✓ 自然な要約を生成できる。
    * ✗ 文書は自然だが、たとえば否定語を抜かすなど、意味的に誤った文章を生成してしまうリスクがある。
* Extractive summarization:
    * 本文の各文を要約にいれるか、いれないかの2値分類問題として定式化[^1]
    * ✓ 要約精度が高い。
    * ✗ 文をつなげているだけなので、読みにくい文章となることも。
    * ✗ **文ごとのアノテーションが必要あり、既存のデータを活用できない。**

[^1]: 実際にはSequential tagging、あるいは文の重要度と冗長性の両方を最適化するために線形計画問題として定式化することが多い。

2つのアプローチには一長一短があります。本研究は、Extractive summarizationを対象に、**文ごとのアノテーションが必要あり既存のデータを活用できない問題** を解決することで、Extractive summarizationの精度向上を図るというものです。

文ごとのアノテーションが必要という問題について、もう少し丁寧に説明します。(ニューラル)自動翻訳の研究では、人手で新たに文書-要約ペアを作るのではなく、要約が付記されたウェブニュース記事をスクレーピングして使うことが一般的です。そうすることで、既存のデータから大量の要約データを作ることができます。しかしながら、この要約は人手で作られたものなので、文書のどの文と対応しているかの情報はありません。また、そもそも複数文から少しずつ情報を抜き出して作るなど、そもそも対応がとれないことも多々あります。このような設定でExtrasive summarizationを行うために、先行研究では例えば要約と重複が大きい文を正例とするなどad-hocな手段がとられていました。

本研究では、Extractive summarizationながら、人間の作った要約から直接学習できるモデルを提案し、extractive summarizationの精度向上を図ることを目指します。

# 方法

本研究では、Abstractive summarizationとextractive summarization両方の考え方を使った手法を提案します。Extractive summarizationで文を抽出し、抽出した文から要約が(abstractive summarization的なアプローチで)うまく生成できるように学習を行います。本研究では、抽出してから生成する、という微分不可能な操作を強化学習で学習します。

## 要約生成に関する処理 (sentence compression)

まず、抽出された文から要約を生成するモデル (本文に従いsentence compressionモジュールと呼びます) を学習します。なお、本研究では、sentence compressionモジュールはあくまでもextractive summarizationを学習するツールとして用います。具体的には、sentence compressionモジュールは事前に学習しておき、文抽出モジュールの学習のための報酬を計算するためだけに使います。つまり、文抽出モジュールでは、**評価器であるsentence compressionモジュールで良い要約を生成できるように、文を抽出する方法を学習**します。

このモジュールでは、まず、本文内の文と要約内の文のペアを作ります。ここでは、各要約の文に対して、単語のオーバーラップ（ROUGE)が最大なる本文の文をペアに採用します。ここで作られたペアを用い、本文内の文から対応する要約の文を生成するタスクを学習します（したがってAbstractive summarizationというよりは文の変換です）。

Extractive summarizationの学習時には、抽出した各文をこのモジュールに入力し、要約文を生成します。生成した各要約文を、正解の要約文それぞれ比較し、再現度を算出します。この再現度のうち最大のもの[^2]を報酬とみなし、それを最大化するようにExtractive summarizationモジュールを学習します。

[^2]: これは生成された各文がどれだけ正解の要約文に近いかのprecisionを計っており、正解の要約がどれだけ網羅できているかは考慮されていません。そこで、著者らは各要約文に対して再現度が最大となるように生成された文から1つ選ぶ指標 (recallに相当) も学習に使っています。

## Extractive summarizationモジュール

![figure.png](https://qiita-image-store.s3.amazonaws.com/0/152362/d8457b9c-2024-cd7f-4c40-6326b9bccfac.png)

基本的には階層型のLSTMです(下から上に向かって処理が進みます)。

まず、各文の各単語をLSTMに入力し、文の表現を得ます。文の表現をLSTMに入力し、文ごとに実数値を計算します。
LSTMで予測した実数値を確率値として、その確率に基づき文をサンプリングします。あとは前述したとおり、正解要約文の再現度を報酬とみなし、強化学習 (REINFORCEと呼ばれる最も古典的な強化学習) でモデル全体を学習します。なお、実際にどの文を生成したかという情報を使うために、サンプリングした値$y_i$もLSTMの入力に戻してあげています。

# 実験

![figure2.png](https://qiita-image-store.s3.amazonaws.com/0/152362/a06a9cc4-737a-92d4-aa72-7e83ca482f38.png)

まず、提案手法は既存のExtractive summarizationの手法よりも性能が高いです。Abstractive summarizationのabstract-RLという手法が例外的に強いですが、これにも1つの指標では勝っており、競っている言って良さそうです。

LATENT+COMPRESSというのは、Extractive summarizationで抽出した文にsentence compressionを適用したものです。残念ながら、compressionを適用することで要約の性能がよくなるどころが、大きく性能が落ちてしまっています。

なお、先頭三文を抽出したLEAD-3が異常によすぎると思われるかもしれませんが、**そういうものです**。実は要約（特にニュース記事の要約）においては、リード文を持ってくるベースラインが非常に強く、近年ようやくリード文をもってくるベースラインに差をつけられるようになったという実態があります。


# コメント

* 当初の目論見はLATENT+COMPRESSだったんではないかな。
    - そう考えると、[Chen+ACL2018][^3]にも近い。
* 最近翻訳を含むNLP+生成系で強化学習が強い。


[^3]: [Chen and Bansal. 2018. Fast Abstractive Summarization with Reinforce-Selected Sentence Rewriting. ACL.](http://www.aclweb.org/anthology/P18-1063) また、[有志による解説](https://www.m3tech.blog/entry/advent-calendar-2018-1#%E5%8D%98%E4%B8%80%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%8B%E3%82%89%E3%81%AE%E6%8A%BD%E5%87%BA-x-%E6%8A%BD%E8%B1%A1%E8%A6%81%E7%B4%84)