見出し画像

OpenAI APIキーでYoutube動画要約

Youtube動画をテキストで要約するPythonプログラムを紹介していきます。方法は、Youtube動画から音声を抜き出して、音声ファイルをテキスト化します。そのテキストをOpenAIのAPIキーを利用して要約してもらいます。今回はGoogle Colaboratoryで実行するプログラムとなります。

1.必要なライブラリをインストールします。

!pip install youtube_dl
!pip install SpeechRecognition
!pip install transformers
!pip install summarizer
!pip install torch


2.Youbue動画のURLを指定し、ビデオの音声をダウンロードします。

import youtube_dl

ydl_opts = {'format': 'bestaudio/best',
            'postprocessors': [{'key': 'FFmpegExtractAudio',
                                'preferredcodec': 'wav',
                                'preferredquality': '192'}]}

with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    ydl.download(['https://www.youtube.com/watch?v=VIDEO_ID'])

上記のコードで VIDEO_ID の部分を、要約したいYouTube動画のIDに置き換えてください。これにより、動画の音声がダウンロードされます。

3.ダウンロードした音声ファイルをテキストに変換します。

import speech_recognition as sr

r = sr.Recognizer()

audio_file = 'VIDEO_ID.wav'
with sr.AudioFile(audio_file) as source:
    audio = r.record(source)

text = r.recognize_google(audio, language='ja-JP')

上記のコードで VIDEO_ID.wav の部分を、ダウンロードした音声ファイルの名前に置き換えてください。これにより、音声ファイルがテキストに変換されます。

4.テキストを要約します。

!pip install openai
import openai

openai.api_key = "Your-API-KEY"

def summarize(text):
    response = openai.Completion.create(
        engine="text-davinci-003",
        prompt=f"次の文章を要約せよ。{text}",
        max_tokens=1028,
        top_p=1,
        frequency_penalty=0,
        presence_penalty=0
    )
    return response["choices"][0]["text"]

print(summarize(text))

Your-API-KEYに、OpenAIから取得したAPIキーを書いて下さい。

次の動画を要約してみました。

結果は、以下のように表示されます。

今日は、酒をやめたいのにやめられない人のために、リスクとリターンのバランスを考える必要
があるという話です。最初に行うことは、酒を飲んでいると健康上のリスクから夜中になっても
自分の頭が眠らんという睡眠障害を起こすことを見越して、自分のリスクを考えてお風呂や
ハーブティー、カフェイン入りのコーヒーなどを意識した代替活動に取り替えることが大事なのです。
またその他にも、酒飲むときの交感神経をあげるものか副交感神経をあげてリラックスできるものかを
意識したりする必要があります。一週間で習慣をつけることを心がけ、アイデアを自由に提案して
みたいと思います。



この記事が気に入ったらサポートをしてみませんか?