NLP若手の会(YANS2020)で発表してきました

こんにちは。 カスタマーサクセス部リサーチャーの勝又です。

レトリバでは、研究動向・業界動向の把握のため、積極的に学会参加をしています。 先日開催されたNLP若手の会第15回シンポジウム(YANS2020)にも参加、抽象型要約について発表しました。 今回の記事ではYANS2020での参加、発表報告をします。

YANS2020の概観

最初にNLP若手の会シンポジウム(YANS2020)について説明します。 NLP若手の会の公式ホームページによると、

NLP若手の会は,自然言語処理,計算言語学および関連分野の,若手研究者および技術者の学問研究および技術開発の促進をはかり,参加者の相互交流および成長の場を提供し,培われた学問研究および技術開発の成果が実社会に応用されることを奨励し,この分野の学問および産業の進歩発展に貢献することを目的として,年に1度,研究シンポジウムを開催しています.

とのことです。 このシンポジウムの特徴として、始まったばかりの研究(未完の研究)に関する発表を推奨している点が挙げられます。 後述する私の発表内容も、研究としてはまだまだ未完ではあるのですが、今後につながるコメントなどをいただくことができました。

昨年や一昨年のYANSでは現地でポスター形式の発表だったのですが、 今回はコロナ禍の影響でオンライン開催となり、事前に公開された研究紹介動画を視聴し、当日はDiscord上で発表および議論を行うものとなりました。 普段のポスター発表と違い、座長の方に仕切ってもらう形式となり、YANSの発表として新鮮味を感じました。

YANS2020での発表内容

弊社からは、私がBERTに基づく抽象型要約を行う際の入力文長制限緩和の検討というタイトルで発表を行いました。 この記事の残りでは、この発表について簡単に解説します。 なお、下記のYouTube動画はYANSで使用した研究紹介動画となります。


yans2020 株式会社レトリバ リサーチャー勝又 発表動画用資料

研究概要と背景

前回の記事ではBERTを用いた日本語の抽象型要実験について解説しました。 その記事のまとめでも書きましたが、BERTを用いた要約には文長制限に関する問題があります。 BERTの最大入力単語数は、事前学習時に設定した値になります。 たとえば、BERT事前学習時に最大入力単語数として512を設定した場合、このBERTを利用した後続タスクの入力は512単語までとなります1。 とくに、抽象型要約の場合、入力は記事(文章)のため、この入力文長制限の問題が影響するタスクとなります。

YANSでは、この入力文長制限の緩和に向けて取り組んだ内容を発表しました。

事前学習モデルの入力文長制限緩和に向けて

先述の入力文長制限緩和に向けて、今回は抽出型要約を用いて、入力文章から重要文を取り出し、それを抽象型要約の入力とするアプローチを試しました。 具体的には、通常の要約学習データ(記事と対応した要約文章)から抽出型要約用のデータ(oracle)を作成し、学習した抽出型要約の結果を 抽象型要約の入力として使用しました。 なお、ここでの抽出型要約手法と抽象型要約手法は前回のBERTを利用した日本語要約記事のLiu and Lapata2の手法とDongら3の手法を用い、要約データとして日本語wikiHowデータを使用しました。

抽出型要約の学習データ(oracle)作成

oracleの作成方法について説明します。 以下の図のように、記事と対応する要約文章データからoracleを作成しています。 具体的には、入力記事の各文に対して、要約文章とのROUGEスコアを計算し、スコアの上位k文をoracleとしています。

f:id:ssskkk420:20201016174010p:plain
oracle作成の概要図

今回の工夫点として、このoracle作成時のROUGEスコアのF_{β}のβの値をハイパーパラメーターとしています。 というのも、今回の抽出型要約で取り出したい文は抽象型要約の入力として有益な文なので、βの値を大きくすることでRecallに対して重きを置き、 記事全体の内容をカバーしたoracleが作成できると考えたからです。

抽出型要約 → 抽象型要約の上限調査

上記oracle作成のハイパーパラメーターであるkとβについて、検証データを用いて探索しました。 具体的には作成したoracleを抽象型要約の入力に使用し、学習と推論を行い、ROUGE-2スコアを計測しました。 比較として入力記事の上から400単語を入力として学習、推論を行ったモデル(top-400 words)も実験しました。 その結果が次の図です。

f:id:ssskkk420:20201016174120p:plain
oracleの結果

この結果から、入力として上から400単語を使った場合よりも、oracleとして選ばれた入力文を使用したほうが抽象型要約の精度は良いことがわかります。 また、k=4, 5の時、βの値は2や3など、Recallに重きをおいたほうが抽象型要約の精度向上に繋がることがわかります。

実際に抽出型要約の出力を抽象型要約の入力にして実験

抽出型要約の出力を抽象型要約の入力にして学習や推論を行いました。 具体的には、以下の2通りの抽象型要約実験を行っています。

  1. 抽象型oracle学習
  2. 抽象型extractive学習

抽象型oracle学習は、抽象型要約の学習時には作成したoracleを使用して、推論時の入力には抽出型要約の出力を使用しています。 抽象型extractive学習は、抽象型要約の学習、推論時のどちらにも、抽出型要約の出力を使用しています。 以下の図が簡単な概要図です。

f:id:ssskkk420:20201020174445p:plain
抽出型から抽象型への概要図

比較として、抽象型要約の学習、推論時のどちらにも、作成したoracleを使用した実験も行いました(oracle k=4, β=2)。 さらに、入力記事の上から400単語を抽象型要約の入力とした実験も行いました(top-400 words)。

この時の実験結果が次の表です。

学習入力 推論入力 ROUGE-1 ROUGE-2 ROUGE-L
oracle k=4, β=2(上限) oracle oracle 40.1 17.0 32.4
top-400 words 上から400単語 上から400単語 36.0 14.2 30.1
抽象型oracle学習 oracle 抽出型の出力 35.5 12.1 28.3
抽象型extractive学習 抽出型の出力 抽出型の出力 34.2 10.9 27.4

この表からわかる通り、oracleが一番高く、次にtop-400 wordsが高く、抽出型要約の出力を使った場合が一番低い結果となりました。 これはおそらく抽出型要約モデルの精度が低いため、抽象型要約に必要な入力が抽出できていないからだと考えられます。

まとめ

今回の記事では、YANS参加報告として、私の発表を中心に報告しました。 YANSではこの発表に対して、アドバイスなど、さまざまなコメントをいただきました。 この場を借りてお礼申し上げます。

実験結果から、入力記事の中で重要な文を抽象型要約の入力とすることで、精度が向上することがわかりました。 今後はこの重要文をうまく取り出す手法について調査を行っていきます。


  1. 正確には、BERTの入力単語は通常の形態素単位ではなく、subwordと呼ばれる形態素よりも細かい単位となるので、512の文長制限の場合、512形態素ではなく、512 subwordとなり、実際には512より少ない形態素しか入力できないことになります。

  2. Text Summarization with Pretrained Encoders. Yang Liu and Mirella Lapata. [paper]

  3. Unified Language Model Pre-training for Natural Language Understanding and Generation. Li Dong, Nan Yang, Wenhui Wang, Furu Wei, Xiaodong Liu, Yu Wang, Jianfeng Gao, Ming Zhou, Hsiao-Wuen Hon. [paper]