【13日目】PythonとChatGPTで長文を自動要約するツールを作成しよう

長文を自動要約するPythonツール 未分類

大量の文章を読むのに時間がかかる…
そんな悩みを解決するのがAIによる自動要約ツールです。

今回は、PythonとChatGPT APIを組み合わせて、任意の長文を短くまとめてくれる要約ツールを作ってみましょう。
使い方はとてもシンプルで、コピペした文章を要約してもらうだけ。リサーチや資料の整理、Web記事の要点抽出などに役立ちます。

このツールの特長

  • 好きな文章をコピペして実行するだけ
  • ChatGPTがポイントを抜き出して要約してくれる
  • 要約結果はそのままメモや記事のネタに活用できる

事前準備

必要なもの

  • OpenAIのAPIキー(取得済み)
  • Python(3.8以上推奨)

必要なライブラリのインストール


pip install openai

Pythonコード|長文要約スクリプト


import openai

openai.api_key = "sk-xxxxxxxxxxxxxxxxxxxxxxxx"

def summarize_text(text):
    prompt = f"""
あなたは優秀な要約アシスタントです。
以下の文章を読みやすく、重要なポイントを簡潔に要約してください。

文章:
{text}
"""

    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[
            {"role": "user", "content": prompt}
        ]
    )

    return response.choices[0].message["content"]

# 実行例
text = \"\"\"ここに長文のニュース記事やWebテキストなどを貼り付けます。\"\"\"
result = summarize_text(text)
print(result)

実行例

以下のようなビジネス文書や記事を要約できます:


要約前:
「Pythonは世界中で広く利用されているプログラミング言語であり…(以下略)」

要約結果:
「Pythonは汎用性が高く、AI・自動化に強いため、世界的に人気がある。」

注意点

  • APIには文字数制限がある(1リクエスト4,096トークン程度)
  • 長すぎる場合はセクションごとに分けて処理するのがコツ
  • 正確な要約ではない場合もあるので、必ず人の目で確認しましょう

応用アイデア

  • Webから自動で記事を取得して要約する(Webスクレイピングと連携)
  • PDFやWordファイルを読み取って要約(PyPDF2やdocxと連携)
  • GUI化して、誰でも使えるツールにする(Tkinterなど)

まとめ

  • ChatGPTを使えば、文章の要点を素早く抽出できる
  • 情報収集・議事録・原稿整理などに便利なツール
  • シンプルなPythonコードで、すぐに実行可能

次回予告

次回(Day 14)は、ChatGPTをLINEで使えるようにする方法を解説します!
自作のLINE BotとChatGPTを連携させて、会話できるようにしましょう。

コメント

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