🌟

Amazon SageMaker JumpStartでOSS機械学習モデルを使ってテキスト要約してみた

2023/03/17に公開

はじめに

機械学習を使ってテキスト要約するシステム構築の奮闘をメモしています。

動機

・日々のニュース確認時間短縮のために、自動テキスト要約したい
・せっかくAWSの資格取ったので、AWSのサービスの中から選定
・機械学習モデルを作成するのは難しそうなので、OSSのモデルを使用

結論

ChatGPTのAPIを使った方が要約の品質が高そう。

やったこと

使用するAWSサービスの選定

以下のサイトを参考に何を使用するか考えた。機械学習モデル作成などの知識がないため、手軽そうなものをと考え、「Amazon SageMaker JumpStart」を使ってみることにした。
https://qiita.com/zumax/items/69d34644133ee8d67237

Amazon SageMaker JumpStartを触ってみる

以下のサイトを参考に構築を進める。
https://aws.amazon.com/jp/getting-started/hands-on/machine-learning-tutorial-get-started-with-your-project-quickly/

ステップ 1: Amazon SageMaker Studio ドメインを設定する

Amazon SageMakerを使用するにはまず「Amazon SageMaker Studio ドメイン」を作成する必要があるらしい。上の参考サイトの手順で問題なく設定を進めることができる。

ステップ 2: 新しいランチャーウインドウを作成し、JumpStart を起動する

上記サイトに記載の機械学習モデルはテキスト要約向きではなさそうなので、別のものを探した結果、下記サイトを参考に「Distilbart CNN 12-6」を使用することにした。
いくつかサイトを見て一番テキスト要約に向いてそうだと思ったため。そもそもテキスト要約に関するSageMaker使用例を紹介しているサイトが少ないが。
https://aws.amazon.com/jp/blogs/machine-learning/text-summarization-with-amazon-sagemaker-and-hugging-face/

ステップ 3: 提供されたデモノートブックを使用して、新しい JumpStart エンドポイントをクエリする

手順に沿ってNotebookを開いてコードを実行すると、サンプルテキストの要約結果が出力される。以下は出力結果。

Inference:
input text: The tower is 324 metres (1,063 ft) tall, about the same height as an 81-storey building, and the tallest structure in Paris. Its base is square, measuring 125 metres (410 ft) on each side. During its construction, the Eiffel Tower surpassed the Washington Monument to become the tallest man-made structure in the world, a title it held for 41 years until the Chrysler Building in New York City was finished in 1930. It was the first structure to reach a height of 300 metres. Due to the addition of a broadcasting aerial at the top of the tower in 1957, it is now taller than the Chrysler Building by 5.2 metres (17 ft). Excluding transmitters, the Eiffel Tower is the second tallest free-standing structure in France after the Millau Viaduct.
model prediction: The tower is 324 metres (1,063 ft) tall, about the same height as an 81-storey building . It was the first structure to reach a height of 300 metres . It is now taller than the Chrysler Building in New York City by 5.2 metres (17 ft) Excluding transmitters, the Eiffel Tower is the second tallest free-standing structure in France .

sagemaker_出力画面例
SageMaker 出力画面例

おまけ: ChatGPTでも同じサンプルテキストを要約してみた

上記モデルよりも要約品質が高いように感じる。以下は出力結果。

The Eiffel Tower in Paris is 324 meters tall with a square base of 125 meters on each side. It was the tallest man-made structure for 41 years until the Chrysler Building was completed in 1930. It was also the first structure to reach a height of 300 meters. The tower now stands taller than the Chrysler Building by 5.2 meters due to a broadcasting aerial added in 1957.

ChatGPT_出力画面例
ChatGPT 出力画面例

次は何をする?

このサイトを参考に、ChatGPTのAPIを使用してテキストを要約するPythonコードを作成し、Lambdaで実行してみる。APIキーは、AWS Secrets Managerを使って保存する。
https://zenn.dev/umi_mori/articles/chatgpt-api-python

Discussion