background-eyecatch

BertSumを使った文書要約のレシピ

4.3(12)
0

メニュー

概要

このレシピでは、文書要約技術で話題となっているBertSumについて実際にプログラム動かしながら学ぶことができます。

文書要約技術とは、コンピュータによって文章から要約を生成する技術のことです。文章要約技術を用いることで、ニュース記事の要約を行ったり、会議の議事録を自動生成したりすることができるようになります。

近年は機械学習やディープラーニングを用いた文章要約が行われています。BertSumはBertを応用して文書要約を行うモデルになります。BertSumに利用されているBertはBidirectional Encoder Representations from Transformersの略で、ディープラーニングによる自然言語処理の汎用的なモデルのことです。

これまで、Bertを利用した手法は文書分類や質問応答といった多くの自然言語処理タスクでstate of the artを達成してきました。しかしながら、文書要約についてはPointer Networkを用いた手法の性能を超えることができていませんでした。BertSumは、Bertを用いて初めて文書要約のstate of the artを達成したモデルになります。

それでは、BertSumのプログラムを動かして、最先端の文書要約技術を身につけましょう。

学べること

  • BertSumの仕組み
  • サンプルプログラムを用いたBertSumの実行方法

始める前のスキルセット

  • ディープラーニングに関する基礎知識
  • 自然言語処理に関する基礎知識

実務活用例

  • ニュース記事のサマリ生成
  • 議事録の自動生成
  • 日報の自動生成

キッチン

開発環境

  • ディープラーニング開発環境
    • Ubuntuインストール済みのGPUマシン
    • GPUドライバのインストール
    • CUDA/cuDNNのインストール
  • Java実行環境

※ Google Colaboratoryでの動作確認を行っていません。

ツール

Text Summarization with Pretrained Encodersの参照実装であるPreSummを使用してBertSumを実行します。

  • PreSumm
    • Python3.6
    • Python Package
      • multiprocess==0.70.9
      • numpy==1.17.2
      • pyrouge==0.1.3
      • pytorch-transformers==1.2.0
      • tensorboardX==1.9
      • torch==1.1.0
    • Stanford CoreNLP

データセット

調理

テスト

テストを受けてみよう

文書要約で文章から重要な文を抽出して要約する手法は?

Bertの事前学習で入力した2つの文が隣り合った文かどうかを推測するタスクを解く学習方法は?

BertSumで文ごとにエンコードするために文の先頭に付与したトークンは?

BertSumで奇数番目に表れる文に付与する埋め込み情報は?