はじめに
前回の続きの記事になります。
今回は、自然な文になるように、句読点を入れたいと思います。
長文になると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で聞き間違えた単語や漢字は修正されませんが、言い間違いも含めて綺麗に修正されるはずです。
良かったら、試してみてください。