📚
GPT-4oでマンガのセリフを英訳する
拙著漫画作品の英訳版を制作するために、GPT-4oを使ってみました。
事前に、スプレッドシートでセリフ一覧を作成しました。
ページ番号とセリフ番号を振ったほか、セリフを意図通りに出力できるように、セリフごとにpositive、natural、negativeの評価を加えました。
マンガのセリフは独特の省略を行ったりするので、平坦な日本語に直したものを手入力していますが、こちらは無くてもよかったかもしれません。
コードは下記
# Google Driveのマウント
from google.colab import drive
drive.mount('/content/drive')
# Google スプレッドシートライブラリのインストール
!pip install --upgrade gspread
import gspread
print(gspread.__version__)
# Googleスプレッドシートの認証
from google.colab import auth
auth.authenticate_user()
import gspread
from google.auth import default
creds, _ = default()
gc = gspread.authorize(creds)
import pandas as pd
from pandas import json_normalize
# シートの指定
ss_id = "<スプレッドシートのID>"
workbook = gc.open_by_key(ss_id)
worksheet = workbook.get_worksheet(0)
# 全データを取得
data = worksheet.get_all_records()
rows = worksheet.get_all_values()
# 最初の行をカラム名として使用
df = pd.DataFrame(rows[1:], columns=rows[0])
#OpenAIのインストール
!pip install openai==0.28
import openai
# APIキーの設定
APIKEY="<OpenAI APIキー>"
openai.api_key =APIKEY
import os
os.environ["OPENAI_API_KEY"] =APIKEY
def gpt(s):
response = openai.ChatCompletion.create(
model="gpt-4o",
max_tokens=2000,
messages=[
{"role": "system", "content": "あなたは人間の仕事を助ける優秀なAIアシスタントです。指示に従って、回答のみを簡潔に出力します"},
{"role": "user", "content": s},
]
)
return(response["choices"][0]["message"]["content"])
for index, row in df.iterrows():
qa=gpt(f"次のテキストは日本のマンガのセリフです。英語圏のマンガファンのために、セリフや効果音を英訳してください。テキストは、下記の形式で保存されています:ページ数,セリフ番号,セリフのエモーションまたはキャプションまたは効果音の種別,マンガのセリフ,マンガのセリフを平易な日本語になおしたもの\n回答はページ数,セリフ番号,英訳を大文字の英語で出力してください\n{row}")
print(qa)
出力はこんな感じです。
全部大文字で出力してくれるのが何気に時短。
拙著「アンドロイドは好きな人の夢を見るか?」は、下記から読めます。
note版(無料):https://note.com/msfmnkns/n/n7849054acbc0
Kindle版(無料):https://amzn.to/47kbwwI
印刷版:https://amzn.to/4bcOj1K
Discussion