📚

GPT-4oでマンガのセリフを英訳する

2024/05/19に公開

拙著漫画作品の英訳版を制作するために、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