BARTによるテキスト要約【Python・Transformers】

BARTによるテキスト要約【Python・Transformers】 機械学習

「Pythonで英語の長文を自動要約したい」
「英文記事の情報収集を効率的に行いたい」

このような場合は、BARTの利用を考えてみましょう。

本記事の内容

  • BARTとは?
  • BARTによるテキスト要約のシステム要件
  • BARTによるテキスト要約の動作確認

それでは、上記にそって解説していきます。

BARTとは?

BARTは、BERTにSequence to Sequence( Seq2Seq )のアルゴリズムを加えたモノと言えます。
このBARTの理解には、BERTとSeq2Seq の説明が先に必要です。

Googleが発表したBERTにより、「文脈を読む」ことが可能になりました。
このことから、BERTは自然言語処理AIの革命児と言われています。

Seq2Seq は、深層学習で用いられるモデルの1つです。
特に、機械翻訳や文章要約の分野で大きな成功を収めています。

BARTについてぼんやりと理解できたでしょうか?
とにかく、BARTは機械翻訳や文章要約に効果的と覚えておけば十分です。

詳細を知りたい場合は、論文などを読むことをおススメします。
もしくは、論文を解説している記事などですね。

「能書きはいいから、BARTの実力を見たい!!」
それでは、BARTの実力を確認しましょう。

You Don’t Really Need to Upgrade to Windows 11, but It’s Good
https://gizmodo.com/you-dont-really-need-to-upgrade-to-windows-11-but-its-1847779289

上記は、長文の英語記事です。
どれくらい長文であるのかは、実際に各自で確認してみてください。

その長文が、BARTで次のように要約されます。
(※見やすいように改行しています)

Windows 11 will be released on Oct. 5. Microsoft says it will support Windows 10 Home and 10 Pro until at least Oct.
14, 2025. There are a lot of small changes, like how the Copy and Paste right-click commands have changed from a text button to an icon.
Windows 11’s Quick Settings menu is cleaner and easier to read.

日本語の訳文(DeepL翻訳)を載せておきます。

Windows 11は10月5日にリリースされます。マイクロソフトは、Windows 10 Homeおよび10 Proを少なくとも2025年10月14日までサポートするとしています。
14, 2025. 右クリックコマンドの「コピー」と「貼り付け」が、テキストボタンからアイコンに変わったことなど、小さな変更点がたくさんあります。
Windows 11のクイック設定メニューは、よりすっきりして見やすくなりました。

結果は、抽象型の文章要約となっています。
抽出型の文章要約よりも、抽象型の文章要約の方が難易度は高いです。

日本語に訳した結果も、自然な日本語になっています。
それだけ、要約された英語構文の質が高いということでしょう。

意味自体も、端的なWindows 11の表現としては十分だと感じます。

以上、 BARTについて説明しました。
次は、 BARTによるテキスト要約のシステム要件を確認します。

BARTによるテキスト要約のシステム要件

BARTによるテキスト要約のシステム要件は、以下。

  • facebook/bart-large-cnn
  • Transformers
  • PyTorch

それぞれを以下で説明します。

facebook/bart-large-cnn

英文テキスト要約のためのBARTモデルです。
FaceBookが作成して公開しています。

また、米Hugging Face社が提供するTransformersから利用可能となります。
2021年時点10月8日時点でのダウンロード数は以下。

モデルのダウンロード数としては、かなり多い部類です。
なお、ダウンロードは自動的に実行されます。

Transformers

Transformersは、自然言語処理に用いられる様々なAIモデルの実装を提供するライブラリのことです。
自然言語処理を行うなら、必須と言えるラPythonライブラリと言えます。

Transformersのインストールについては、次の記事で説明しています。

次のコマンドでインストールが可能です。

pip install transformers

PyTorch

Transformersを動かすには、機械学習のフレームワークが必要です。
そして、今回利用するモデル(facebook/bart-large-cnnd)は以下に対応しています。

  • PyTorch
  • TensorFlow
  • JAX

当ブログでは、基本的にはPyTorchをおススメしています。
PyTorchをおススメする理由は、次の記事にまとめています。

上記記事内でPyTorchのインストールについても説明があります。
今回の検証では、次のコマンドでPyTorchをインストールしています。

pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio===0.9.1 -f https://download.pytorch.org/whl/torch_stable.html

各自の環境によって、コマンドの内容は異なります。
つまり、上記コマンドは環境によっては使えないということです。

PyTorchをインストールする際は、上記記事の内容に従ってください。

以上、BARTによるテキスト要約のシステム要件を説明しました。
最後に、BARTによるテキスト要約の動作確認を行います。

BARTによるテキスト要約の動作確認

動作確認を行う前に、長文の英語テキストを用意します。

今回は、上記で触れた次の記事内容をコピーしてinput.txtに保存。
システムで自動化する場合は、スクレイピングで対応することになるでしょう。
「You Don’t Really Need to Upgrade to Windows 11, but It’s Good」

では、動作確認を行っていきます。
動作確認用のコードは、以下となります。

from transformers import pipeline 

txt_path = "input.txt" 

src_text = "" 

with open(txt_path, encoding="utf-8") as f: 
    src_text = f.read() 
smr_bart = pipeline(task="summarization", model="facebook/bart-large-cnn") 
smbart = smr_bart(src_text, max_length=150, truncation=True) 

print(smbart[0]['summary_text'])

上記を実行すると、初回だけモデルがダウンロードされます。
自動的にダウンロードされるので、何もすることはありません。

注意すべきは、数GB越えのデータが存在するということです。
そのため、ディスク容量には余裕を持っておきましょう。

問題なければ、実行結果が表示されます。
それが、「BARTとは?」に記載した次の記事の要約です。

「You Don’t Really Need to Upgrade to Windows 11, but It’s Good」

以上、BARTによるテキスト要約の動作確認を説明しました。

タイトルとURLをコピーしました