BERTで自動要約を行う論文「BERTSUM」を紹介する＋α

こんにちは！@MonaCatです。本稿は[Deep Learning論文紹介 Advent Calendar 2019](https://qiita.com/advent-calendar/2019/dl_survey)の1日目の記事です。画像は全て論文中から引用しています。

# 概要

本稿ではBERTを自動要約に適応させたBERTSUMについて紹介します。

- 論文：[Fine-tune BERT for Extractive Summarization](https://arxiv.org/abs/1903.10318)
- Full paper：[Text Summarization with Pretrained Encoders](https://arxiv.org/abs/1908.08345)

また自動要約全体に関する資料をまとめているので参考にどうぞ。

## 自動要約とは

自動要約とは自然言語処理におけるタスクの1つです。多くはテキストを対象とした自動要約を指しますが、ここでは区別するために文章要約と呼びます。文章要約は抽出型と生成型（抽象型）に分かれますが、現在は生成型（と抽出型を組み合わせたもの）が主流となっています。

- 抽出型：元の文章から重要文を抜き出して要約文を作成する手法
- 生成型：文の表現を抽象化して1から要約文を作成する手法

近年では深層学習をベースに、抽出型と生成型を組み合わせた研究が主流なので、この区分も曖昧になってきているかもしれません。しかし現在でも研究背景で述べられることが多いため、事前知識として知っておくと役立つと思います。以下、自動要約全体について知りたい方向けの参考資料。

- [大自然言語時代のための、文章要約 - Qiita](https://qiita.com/icoxfog417/items/d06651db10e27220c819)
- [ニューラル文章要約モデルの紹介 - エムスリーテックブログ](https://www.m3tech.blog/entry/advent-calendar-2018-1)
- [ROUGEを訪ねて三千里:より良い要約の評価を求めて - Qiita](https://qiita.com/icoxfog417/items/65faecbbe27d3c53d212)

# 本題：BERTSUM

- 事前学習モデルBERTを拡張し、ドキュメントレベルのEncoderを備えた自動要約のためのBertSumを提案
    - full paperはBERTを事前学習として利用した初めての抽象型文章要約手法
- CNN / Daily MailデータセットでSOTA

## 提案手法

![image057.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167534/0bfb1220-71ac-ba51-06f7-dcb8080288bb.jpeg)

- 【Token Embedding】 BERTSUMでは本来先頭のみに挿入するトークン[CLS]を、文の区切りにも挿入する
- 【Segment Embedding】 Tokenと同様に、奇数と偶数で異なるラベル（A, B）を振ることで区切りを学習させる
- 生成要約モデルはEnoder-Decoderの形式を採用し、Encoderには上記の事前学習させたBERTSUMを使用し、Decoderにはランダムに初期化された6層のTransfomerを使用したものが最も精度が高かった
- ただしEncoderは事前学習され、Decoderはゼロから訓練させる必要があるため、問題が発生する恐れがある
- そこでoptimizerを別々に調整する方法を取り、微調整するモデルをBERTSUMEXTABSと呼ぶ（通常はBERTSUMABS）

## 使用するデータセット

- CNN/DailyMail news
- New York Times Annotated Corpus(NYT)
- XSum

## 実装

[nlpyang/BertSum: Code for paper Fine-tune BERT for Extractive Summarization](https://github.com/nlpyang/BertSum)。

## 結果

- 全て掲載するわけにもいかないので、CNN/DailyMailでの結果のみ提示
- その他のデータセットや細かいパラメータについては原文を参照

<img width="309" alt="image059.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167534/6750ca6c-2ce2-839b-f4c2-9427336de33f.jpeg">

- BERTSUMにTransformer層を繋げることで生成型でも高い評価結果を得られた


## 所感

BERTSUMに繋げるDecoder部分は多層のTransformerで、独自の機構を使用しているわけではありません。
そのため本論文の有用性は

- 入力形式の変更
- Encoder-Decoderのoptimizerを2段階で調整させた

の2つかと思います。とはいえ入力形式は[CLS]を各文に付与したのみですので、一見とても単純な変化に見えます。BERTの入力を微調整することが他のタスクでも有効になり得ることがわかります。

# 役立つ資料集：自動要約に必要な基礎知識

本稿の残りでは、前提知識をより理解するために役立つ参考資料を紹介します。

[BERT](https://arxiv.org/abs/1810.04805)は2018年10月に発表された自然言語処理の事前学習モデルです。BERTを理解するためには[Transformer](https://arxiv.org/abs/1706.03762)の知識が必要になります。

- Transformer
    - [論文解説 Attention Is All You Need (Transformer) - ディープラーニングブログ](http://deeplearning.hatenablog.com/entry/transformer)
    - [作って理解する Transformer / Attention - Qiita](https://qiita.com/halhorn/items/c91497522be27bde17ce)
- BERT
    - [事前学習言語モデルの動向 / Survey of Pretrained Language Models](https://speakerdeck.com/kyoun/survey-of-pretrained-language-models)。
    - [ACL網羅的サーベイ報告会](https://nlpaper-challenge.connpass.com/event/152676/presentation/)
- その他、自動要約に関する資料
    - [最近読んだ 強化学習 × 自然言語 論文ざっくりまとめ - 電通生のにこにこ調布日記](http://sobamchan.hatenablog.com/entry/2018/05/16/130453)
    - [2019年現在の文・文書生成に関してのまとめ - LAPRAS AI LAB](https://ai-lab.lapras.com/nlp/text-generation-2019/)
    - [自動文書要約 - エクサウィザーズ Engineer Blog](https://techblog.exawizards.com/entry/2018/08/23/121437)
    - [対話テキストの自動要約](https://www.slideshare.net/MasaYamamoto/ss-73573465)

# アドベントカレンダー次回は？

- 2日目：[画像の中の文字を見つけるのって今どんな感じなの？まとめてみたんご](https://qiita.com/yoyoyo_/items/96098354a1c0af18450d)