Whisperで文字化したものをChatGPTで自動校正する方法 その②

IT

はじめに

前回の続きの記事になります。

今回は、自然な文になるように、句読点を入れたいと思います。
長文になるとChatGPTのトークン数を超えるので、前回は、文章を分けるプログラムを作りました。
今回は、そのデータを読み込んで、実際に句読点を入れていきましょう。

プログラム

セッショントークンや読み込みファイルのパスは、ご利用の環境に合わせて調整してください。

import tiktoken
import os
from UnlimitedGPT import ChatGPT

# 定数の指定
session_token="XXXX"
input_file = "sample_result.txt"

# 結果ファイル名
file_name, file_extension = os.path.splitext(input_file)
result_file = file_name + "_convert" + file_extension

# ファイルを開く
with open(input_file, "r") as file:
    text = file.read().replace('\n', '')

# ChatGPTをブラウザで起動
api = ChatGPT(
        session_token,
        # conversation_id='545a27ee-c204-4dea-9ced-722dd009a838',
    )

# 配列に格納
rows = text.split("```")
print('対象件数:',len(rows))

# 生成
result = ''
for row in rows:

    enc = tiktoken.encoding_for_model("gpt-3.5-turbo")
    tokens = enc.encode(row)
    print('トークン数:',len(tokens))

    # 質問を生成
    message = api.send_message(
        f'''
# 制約条件に従って、文章を修正してください。

# 制約条件 
* 文章に自然に句読点、改行を入れて更正してください。
* 各要点ごとに段落を分けます。
* 誤字を修正してください。

{row}
        ''',
        continue_generating=True
    )

    result = result + message.response

# 結果をTEXTに書き込み
with open(result_file, "w") as file:
    file.write(result)

まとめ

いかがだったでしょうか?これでかなり自然な形な文章が出来ます。
当然、Whisperで聞き間違えた単語や漢字は修正されませんが、言い間違いも含めて綺麗に修正されるはずです。
良かったら、試してみてください。

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