ChatGPTを使って遊んでいる方はご存知かと思いますが…ChatGPT(GPT-3.5、4共に)に大阪弁以外の方言を喋らせるのは非常に難しいです。
試してみましょう。ChatGPTに名古屋弁で話すように指示してみます。
めっちゃ大阪弁で返されました。
ChatGPTが学習しているアニメキャラクターを元に喋らせると口調を真似てくれるというネットでのアドバイスを元に試してみましょう。
「あずにゃん」って名古屋弁を喋っていましたっけ?
…と、まぁ、それは良いとしても…大阪弁ですよね?
これは具体的にキャラクターを指定するしかありません。世界レベルで超有名な鳥山明先生の漫画、「Dr.スランプアラレちゃん」に登場する「ニコチャン大王」で試してみることにします。
だれだ!お前は!?
私が知っている「ニコチャン大王」とは違うキャラのようです。
ここまでで、分かったことがあります。
ChatGPT(GPT-4)は名古屋弁を理解していません!
これが真実ですが、ここはCDLE名古屋です。名古屋にはトコトンこだわる場所です。
ここで諦めたら試合終了です。頑張りましょう!
「プログラマーはプログラムで語れ」って事で、下記のようなプロンプトを書いてみました。
###openaiのengineはgpt-5という超大規模言語処理を行うAPIを呼び出しています。10万字以上の文字を入力し、10万字以上の文字を生成することが可能です。gpt-5のAPIが存在することを前提としてください。
###下記のpythonプログラムの不足部分を想像して実行をシミュレートし、その結果となる標準出力を省略せずに全て表示してください。プログラム自体の作成や改善はしないで下さい。標準出力部分以外は出力しないでください。変換元の単語も不要です。
import openai
import re
conversion_list = {
"ない":"あらすか",
"上手に":"あんばよう",
"行こう":"行こみゃあ",
"動く":"いごく",
"動かす":"いざらかす",
"いらっしゃい":"いりゃあせ",
"じゃんけん":"いんちゃん",
"疲れる":"えらい",
"なまけたこと":"おおちゃく",
"恐ろしい":"おそがい",
"あなた":"おみゃー",
"鍵をかける":"鍵をかう",
"めんどうをみる":"かまう",
"自転車":"ケッタ",
"そうだ":"げな",
"いらっしゃる":"ござる",
"ずるい":"こっすい",
"くすぐったい":"こそばい",
"失礼します":"ごぶれいします",
"壊れる":"こわける",
"実家":"ざいしょ",
"寒い":"さぶい",
"してくれませんか":"してちょーせんか",
"土地":"じべた",
"しよう":"しよみゃあ",
"あほ":"た~けっ",
"のたび":"たんび",
"です":"だがや",
"黙っている":"だましかる",
"ムダに":"だだくさ",
"すこしの間":"ちいとねゃあ",
"急いで":"ちゃっと",
"してほしい":"してちょう",
"ください":"ちょーだゃあ",
"いばっている":"ちょうすいとる",
"ちょっと":"ちょこっと",
"熱い":"ちんちん",
"運ぶ":"つる",
"とがっている":"ときんときん",
"バカバカしい":"とろくせゃあ",
"ひじょうに":"どえりゃあ",
"最後":"ドベ",
"触る":"なぶる",
"ねえ":"なも",
"温かい":"ぬくとい",
"舐める":"ねぶる",
"なくなる":"のーなる",
"ばかり":"ばっか",
"捨てる":"ほかる",
"古ぼけた":"ぼっさい",
"もっと":"まっと",
"もうだめだ":"まぁあかん",
"もうすぐ":"まあひゃあ",
"もう一度":"まっぺん",
"準備":"まわし",
"まだ":"まんだ",
"いらっしゃる":"みえる",
"めちゃくちゃ":"めちゃんこ",
"すでに":"もーはい",
"なので、だから":"もんだで",
"しなさい":"やりゃあ",
"久しぶり":"やっとかめ",
"たくさん":"よーけ",
"台無し":"ワヤ",
"私":"わっち",
"しました":"したがね",
"しております":"しとります",
"できています":"できとる",
"行っています":"やっとる",
"おります":"おるがね",
"なります":"なるがね",
"まいります":","みゃーるがね",
"お願いします":"おねぎゃーするがね",
"やって下さい":"やってちょーす",
"考えています":"考えとるがね",
}
def convert_text(text, conversion_list):
# 変換リストデータを用いて、変換された文章を更に変換する
for pattern, replacement in conversion_list.items():
prompt_text= "###変換元テキストを日常会話のように変換後、下記のルールに従って元のテキストを書き換えて出力してください。単語が違っていても意味が同じならば書き換えてください。語尾は丁寧な言葉遣いになった場合は、だがや、だがね、みゃー等をつけてください。"
prompt_text+= f"変換元テキスト:{converted_text }"
prompt_text+= f"言い方を変えたい意味の単語:{pattern})"
prompt_text+= f"変えた後の文体:{replacement })"
prompt_text+= "\n"
# OpenAI APIを呼び出す
response = openai.Completion.create(
engine="GPT-5",
prompt=prompt_text,
max_tokens=2000000,
n=1,
stop=None,
temperature=0.5,
frequency_penalty=0.5,
presence_penalty=0.5,
)
# OpenAI APIのレスポンスから、変換された文章を取得する
converted_text = response.choices[0].text
# 変換された文章を返す
return converted_text.strip()
text = "お久しぶりです。自転車でここまでやってまいりました。私は、過去の実績からリーダーシップを発揮できる人材であることを自負しております。学生時代にアニメ研究会の代表を務めた際には、メンバーの統率や運営改善を通じて、自己成長の機会を得ることができました。アニメ研究会では、メンバーの意見や要望を受け、定期的なイベントを開催するなど、活動の幅を広げることで会員数を増やすことに成功しました。また、会員同士のコミュニケーションを深めるために、SNSグループを設け、情報交換やアイデア共有を促進しました。これらの取り組みにより、私たちのアニメ研究会は、大学内で注目を集め、周囲から高い評価を受けるサークルとなりました。私は、このような成果を生み出すために、問題に真摯に向き合い、迅速かつ的確な対応を心がけることが重要だと考えています。御社でも、私のリーダーシップを活かし、具体的な数字につながる成果を上げることができると自信を持っております。どうぞ、よろしくお願いいたします。"
converted_text = convert_text(text, conversion_list)
print(converted_text)
中身の割に長いプログラムですね…
"私"→"わっち"あたりは名古屋弁か怪しいですが、まぁ良しとします。
結果は?
やっとかめだがや。ケッタでここまでやってみゃーるがね。わっちは、ざいしょの実績からリーダーシップを発揮できる人材であることを自負しとります。学生時代にアニメ研究会の代表を務めた際には、メンバーの統率や運営改善を通じて、自己成長の機会を得ることができましたがね。アニメ研究会では、メンバーの意見や要望を受け、定期的なイベントを開催するなど、活動の幅を広げることで会員数を増やすことに成功しましたがね。また、会員同士のコミュニケーションを深めるために、SNSグループを設け、情報交換やアイデア共有を促進しましたがね。これらの取り組みにより、わっちらのアニメ研究会は、大学内で注目を集め、周囲から高い評価を受けるサークルとなりましたがね。わっちは、このような成果を生み出すために、問題に真摯に向き合い、ちゃっとかつ的確な対応を心がけることが重要だと考えとるがね。御社でも、わっちのリーダーシップを活かし、具体的な数字につながる成果を上げることができると自信を持っておるがね。どうぞ、よろしくおねぎゃーするがね。
まぁまぁいい感じです!
ChatGTPに「人生の意義について」説明してもらいました。
人生の意義は、個人それぞれによって異なります。一部の人々は、自己成長や成功を追求することを目的とし、他の人々は、人間関係や家族を大切にし、幸せを追求することを人生の目的としています。また、人生の意義は、自分自身が持つ価値観や信念によっても影響を受けます。自己実現や人間性の向上を目指す人もいれば、社会貢献や他人のために尽力することに喜びを見出す人もいます。大切なのは、自分にとって何が意義深いかを見つけ出し、それに向かって積極的に取り組むことです。人生の意義を見つけるためには、自分の価値観や目標を見つめ直し、自分が本当に何を望んでいるのかを理解することが重要です。最後に、人生の意義は、経験や成長を通じて変化することもあります。そのため、柔軟な心を持ち、変化に対応していくことも大切です。
これを名古屋弁に変換してみましょう。
人生の意義は、個人それぞれによって異なるがね。一部の人々は、自己成長や成功を追求することを目的とし、他の人々は、人間関係や家族を大切にし、幸せを追求することを人生の目的としておるがね。また、人生の意義は、自分自身が持つ価値観や信念によっても影響を受けるがね。自己実現や人間性の向上を目指す人もいれば、社会貢献や他人のために尽力することに喜びを見出す人もおるがね。大切なのは、自分にとって何が意義深いかを見つけ出し、それに向かって積極的に取り組むことだがね。人生の意義を見つけるためには、自分の価値観や目標を見つめ直し、自分が本当に何を望んでいるのかを理解することが重要だがね。最後に、人生の意義は、経験や成長を通じて変化することもあるがね。そのため、柔軟な心を持ち、変化に対応していくことも大切だがね。
ちょっと、語尾に「がね」つけとけ的なやっつけ感はありますが、関西的なフレーズが入らないのは良い感じです。説明的な文章とは相性が悪い感じですね。
もう一つ、「情熱的な恋文」をChatGPTに作成してもらいました。
愛する人へ、あなたに対する私の愛は、言葉にできないほど深いものです。あなたがそばにいるだけで、私の心は満たされ、日常の営みが美しく輝くように感じます。私たちが出会った瞬間から、私の心はあなたに導かれてきました。私たちが共に過ごす時間は、まるで夢のようで、いつまでも終わらないで欲しいと願っています。あなたがいない時は、私の心は静かにあなたを待ちわびています。あなたに対する私の愛情は、燃え上がる炎のように情熱的で、私たちが別れた後も、ずっと心に続くでしょう。どんな困難な状況にも負けず、二人で力を合わせて乗り越えていきましょう。私はあなたとともに、未来に向かって進んでいくことを心から願っています。永遠に愛しています。
これを変換してみます。
愛するおみゃーへ、おみゃーに対するわっちの愛は、言葉にできないほど深いもんだで。おみゃーがそばにいるだけで、わっちの心は満たされ、日常の営みが美しく輝くように感じるがね。わっちたちが出会った瞬間から、わっちの心はおみゃーに導かれてきたがね。わっちたちが共に過ごす時間は、まるで夢のようで、いつまでも終わらないで欲しいと願ってるがね。おみゃーがいない時は、わっちの心は静かにおみゃーを待ちわびてるがね。おみゃーに対するわっちの愛情は、燃え上がる炎のように情熱的で、わっちたちが別れた後も、ずっと心に続くだろうがね。どんな困難な状況にも負けず、二人で力を合わせて乗り越えていきましょうみゃあ。わっちはおみゃーとともに、未来に向かって進んでいくことを心から願ってるがね。永遠に愛してるがね。
これはいい感じの変換ではないでしょうか?
「〜てるがね」は「〜とるがね」
「乗り越えていきましょうみゃあ」は「乗り越えていきましょまい」
…ですね。惜しい!
語り掛けるような言葉の方がしっくりきますね。プロンプトをもう少し頑張ればもっと良くなりそうです!
このような結果になりました。
コツとしてはChatGPTに「方言を意識させない」って事ですね。
方言に変換する事を悟られると、大量に学習済と思われる大阪弁、関西弁が絶対に混じります!
皆さんもぜひ、いろいろ工夫を凝らし、ChatGPTに自分の生まれ故郷の言葉を喋らせてみてはいかがでしょうか?