見出し画像

【ChatGPT×Midjourney】AIと作った英語の絵本を出版した話

こんにちは。AI英会話さんです。

AI英会話さんでは、LINEで使える英語学習サービス「AI英会話さん」の提供や、AIを活用した英語学習方法など「AI×英語学習」という分野で役立つ情報を発信しています。

今回は子供向けの英語学習教材として、英語の絵本をAIと一緒に制作・出版しました!
本記事ではその過程や苦労した点などを紹介していきます。

実際にKindleで読むことができるので、AIが作成した絵本が気になる方や、お子さんに絵本で楽しく英語学習してほしいと考えている方は要チェックです!


AI英会話さん サービスの紹介

LINE×AIの新しい英語学習体験!”AI英会話さん”

LINEで英語学習「AI英会話さん」

下記から無料で試すことができるので、気になる方はぜひ!

また、AI英会話さんの公式Twitterアカウントでは、AIを活用した英語学習方法やTipsなどを発信しています。フォローして英語学習コンテンツをチェックしましょう!

ChatGPT×Midjourneyで制作した絵本

実際に制作した絵本はKindleで公開されています!
KindleUnlimitedの方は無料でお読みいただけます。

【タイトル】
The Kind-Hearted Princess: ~こころやさしいおひめさま~
【あらすじ】
とある王国のお城には美しく賢いお姫様、エリザベスが住んでいました。エリザベスのもとにある日、貧しい村の少年が訪れます。困っている村の子供たちを助けたいというエリザベスの優しさが心温まる優しい物語です。この本を読んだ子供たちに助け合いや思いやりの大切さを教えてくれます。

この絵本は子供向けの英語学習教材として制作されました。
そのため、文章は全て子供向けのため簡単な単語や文法で書かれています。(巻末ページには日本語訳もあるのでご安心ください!)

使ったツール

主に使ったツールは下記です。

  • Chat GPT (Model:GPT-3)

  • Midjourney

  • Google スライド

この中でAIツールは「Chat GPT」、「Midjourney」の2つになります。
ChatGPTのmodelはGPT-3です。GPT-3は4よりも性能が劣るためやや苦戦しましたが、その点も含め楽しんでいただけますと幸いです。

Chat GPT

https://chat.openai.com/

2022年11月頃に公開され、その性能の高さから非常に話題になりました。
ChatGPTは、自然言語処理(NLP)の一部であるチャット型AIシステムで、OpenAIによって開発されており、人間との自然な対話を行うことができます。

質問に答えたり、物語を生成したり、情報を検索したりするなど、さまざまな用途に利用できます。しかし、その能力は訓練データとアルゴリズムによって制約されており、人間のような一般的な知識や理解を持つわけではありません。

最近ではスマホアプリ版がリリースされ、より身近で使いやすいものとなりました。
また、テレビなどの企画でも使われているのを見かけますね。

Midjourney

https://www.midjourney.com/home/?callbackUrl=%2Fapp%2F

Midjourneyは、サンフランシスコを拠点にした独立研究所、Midjourney, Inc.が作成及びホストしているサービスです。
自然言語の説明(プロンプト)から画像を生成します。例えば「赤いりんご」のようなプロンプトを送ると、赤いりんごの画像を出力してくれます。
DiscordのMidjourney Botから利用することができ、似たサービスではOpenAIのDALL-EやStable Diffusionなどがあります。

Google スライド

こちらはAIツールではなく、イラストとセリフを合わせるために使用したツールです。
Googleスライドではなくても、イラストとセリフが合わせられるものであれば何でも良いと思います。

制作手順

  1. Chat GPTで物語を作成

  2. Midjourneyでイラストを作成

  3. Googleスライドで絵とセリフを合わせる

  4. 完成!

1.Chat GPTで物語を作成

Chat GPTを使ってベースとなる物語を作成していきます。
とは言っても物語を考えるセンスがないので、とりあえずChatGPTに相談します。

一緒に物語を作りませんか?
昔々、から始まる、3歳〜5歳向けの絵本に使う物語が良いです。

するとこのように考えてくれました。

優しい動物たちの素敵な物語ですね。
でも、小さな鳥たちの羽ばたきで熊に川を渡らせることはできるのでしょうか…
あまり現実的ではない気がするので、修正してもらいましょう。

ありがとうございます。素敵な物語で良いと思います。しかし、小さな鳥たちの羽ばたきで、熊の子供が川を渡ることは難しいと考えます。理由は体が小さな鳥たちでは熊を運ぶには力が足りないと思うからです。 もう少し変えられますか?

上記のように投げてみたところ、このように修正されました。

小さなカエルの泳ぎで熊を…もっと難しい気がしますね…
数万匹のカエルなのか、はたまた超怪力のカエルなのでしょうか。
子供に間違った力関係を教えることになってはいけないので、修正してもらいます。

変更ありがとうございます。カエルの泳ぐ力は、小さな鳥の羽ばたきよりも小さいと感じました。また、カエルの背中に熊は乗せられないと思います。

指摘した箇所が修正されています!!でも違うそうじゃない!カエルが口に熊をくわえて運ぶなんて、ますます非現実的です。

力関係や物理法則まで想像することは難しいようです。このままだとイタチごっこになるので一旦仕切り直します。

ありがとうございます。他の物語を考えましょう。

テーマは「お姫様」が良いです!

良い感じです!!これはいけそうですね!
このまま登場人物の名前も考えてもらうことにします。

では、この物語の登場人物に名前をつけるとしたらどんなものがいいですか?

悪くないです。でもめちゃめちゃ日本人の名前です。
ディズニーなどでもそうなんですが、お姫様=日本人のイメージがあまりないので、もう一度考え直してもらいます。

うーんそうですね。名前は日本人ではなく英名がいいですね。ジョンやメアリーなど、外国の方の名前で考え直してもらえますか?

いい感じ!!と思ったのですが、どこかの王国の実在する人物名が見受けられます。あらぬ誤解を招きそうなのでやり直します。

エリザベス(Elizabeth)、ジェームズ(James)、ウィリアム(William)、チャールズ(Charles)を使わないで再度考えてください。

新たに名前を考えてくれました。これを採用したいと思います。

いいと思います!ありがとうございます。 この名前を使いながら、先ほどの物語に台詞を入れてもらえますか? 

##先ほどの物語
昔々、あるところに美しいお姫様が住んでいました。彼女はとても美しく、多くの王子たちが彼女に求婚してきましたが、彼女は誰とも結婚しないと決めていました。 ある日、お姫様はとある狩りで、一人の貧しい青年と出会いました。彼は病気の妹を養うため、毎日働いていたのですが、お金が足りず、妹の病気を治すことができませんでした。 お姫様は彼の話を聞いて、彼を助けたいと思いました。しかし、彼女は自分が王女であることを隠していました。青年には自分が王女であることを打ち明けず、貧しい女性として青年と妹を手助けすることにしました。 お姫様は、青年に料理を教えたり、医者を探して助けたりして、青年と妹を支えました。そして、妹の病気が完治するまで、青年と妹と一緒に暮らすようになりました。 やがて、妹の病気が治った後、お姫様は青年に自分が王女であることを打ち明け、青年にお金を与えて、彼が自分の生活を立て直す手助けをしました。 その後、お姫様は王宮に戻り、多くの王子たちが再び彼女に求婚してきましたが、彼女は彼女が出会った青年と結婚することを決めました。 王子たちはがっかりしましたが、お姫様は自分の心の声に従い、青年と結婚して幸せに暮らしました。終わり。

セリフとしては悪くはないです。
でも「青年がお姫様に感謝の気持ちを伝える」ってどこなんでしょうか…

この後、プロンプトでシーンを指定して個別にセリフを考えてもらったのですが、存在しないシーンや人物が出てきたためやり直すことにしました。

仕切り直します!
細かく都度指示を出すというよりは、ある程度プロンプトで内容をまとめてみます。

ありがとうございます。別の物語を考えましょう!テーマは「お姫様」がいいですね!登場人物には名前をつけて、物語の中には会話も少し入れてください。3〜5歳の子供が読みやすいように文字は少なめがいいですね。

「お姫様の物語」「登場人物に名前をつける」「セリフを入れる」「3~5歳向け」という要件を最初に指定します。出力は下記です。

完璧です!一部日本語がおかしいところもありますがいい感じです!
この物語をベースに絵本を制作します。

エリザベスの容姿や年齢などの設定もChatGPTに決めてもらいます。そして、最後に英訳してもらい完成です。

以下の文章を5歳向けの英文に訳してください。
##文章
エリザベスという名前のお姫様がいました。彼女はとても美しく、頭も良く、多くの人々から愛されていました。 ある日、エリザベスは庭で遊んでいました。すると、近くの村から小さな男の子がやってきました。彼はエリザベスに向かって言いました。「お姫様、ごめんなさい。私たちの村には、食べ物が足りなくて、お腹が空いてしまっている子供たちがたくさんいます。どうか、私たちに何か手助けをしていただけませんか?」 エリザベスはとても心が優しく、すぐに彼の言葉に心を動かされました。彼女は手元にあったパンを持ち出し、男の子に渡しました。「このパンを村に持って帰り、子供たちに分けてあげてください。私たちは皆、お腹がすいているときに助けてもらうことがあるから、今日は私が助けてあげます」と言いました。 男の子はとても感謝し、エリザベスに深く頭を下げました。そして、彼女に向かって言いました。「エリザベスお姫様、あなたは本当に優しい方です。私たちに手を貸してくださって、ありがとうございました。」 エリザベスは男の子の言葉にうれしく思い、笑顔で彼に手を振りました。「いいえ、私はただやるべきことをしただけです。いつでも助けが必要なら、私たち王室に言ってください」と言いました。 男の子は礼を言い、村に帰っていきました。エリザベスは優しさの心を持ったお姫様として、人々から尊敬され続けました。

果たして本当に5歳児が理解できる英語なのでしょうか。あまり英語力に自信がないため、ChatGPTに確認してもらいます。正確性を求めるため、GPT-4を使います。

下記の英文は英語を学んでいる3〜5歳の日本人の子供でも理解できる英語レベルになっていますか?日本語で解説してください。
(先程の英文を貼り付けます)

やはり難しいようですね。
ここからChatGPTを使って英語レベルの調整をしていきます。
英訳する際に、「ネイティブレベルの英語で」や「TOEICのスコア500点のレベルで」、「日本の中学生3年生レベルで」など基準をプロンプトに含めて調整していきます。

そしていいなと思った英訳の出力をGPT-4に確認してもらいます。

では下記はどうですか?
There was a princess named Elizabeth who was very beautiful, intelligent, and loved by many people. One day, while playing in the garden, a little boy from a nearby village approached her and said, "I'm sorry to bother you, Princess, but there are many children in our village who are hungry because we don't have enough food. Can you please help us?" Elizabeth, who had a kind heart, was moved by his words. She took out a loaf of bread she had and gave it to the boy, saying, "Take this bread back to your village and share it with the children. We all need help sometimes when we're hungry, so today I'll help you." The boy was very grateful and thanked her. Elizabeth told him that if he ever needed help again, he could come to the royal palace and let them know. The boy thanked her and went back to his village. Elizabeth continued to be a princess respected by the people for her kindness.

このように調整→GPT-4にレビュー、という形で調整していきます。最終的には人間が見て言い回しを変えてFixします。

長くなりましたがこれで物語の作成は完了です。
漫画作成の際はGPT-4を利用しましたが、性能にかなり差を感じました。GPT-4はある程度ざっくりとした指示でもうまく行くことが多いですが、GPT-3の場合はこちらから要件を指定してあげたほうがスムーズだなと感じました。

参考記事:【ChatGPT×Midjourney】AIを使って英語学習の漫画を作ってみた

2. Midjourneyでイラストを作成

物語が完成したのでMidjourneyを使ってイラストを作成します。
Midjourneyの利用にはDicordのアカウントの登録が必要です。

無料で利用したい方はMidjourneyのサーバーに入り「newbies-〇〇」のチャンネルに参加することで使えるようになります。(課金するとダイレクトメッセージで利用可能になります。今回は有料プランのためダイレクトメッセージ機能を使っています)

また、Midjourneyの無料版で生成した画像は商用利用が許可されていません。Stable Diffusionであれば商用利用が許可されているので、コストを抑えたい場合はそちらを試すのも良いかもしれませんね。(商用利用が認められないケースもあるためご注意ください。)

DiscordからMidjourneyのチャンネルに参加します。(今回は有料プランのためダイレクトメッセージ機能を使っています。)

Midjourneyで絵を生成する際は、ChatGPTとは違ってプロンプトを英語でカンマ区切りで記述します。

下記のプロンプトを送ってみます。

in the town, 14 old, Blonde hair, blue eyes, blue dress, princess, smiling surrounded by everyone, oil paint, --ar 1920:1080

出力された画像は下記です↓

綺麗なエリザベスが生成されました。みんな違った雰囲気ですね。

Midjourneyは柔軟でクオリティの高い画像生成が可能です。
例えばプロンプトに”anime” “ 2d anime” “cel anime”などと入力すると、様々なアニメ風の絵を生成することができます。今回は”oil paint”と入力したので油絵風のタッチになっています。画像の比率を変える際は、プロンプトの最後に”--ar 1920:1080” とつけることでアスペクト比の指定もできます。

ここからはひたすら絵本に使う画像を生成していく作業になります。

oil painting, Outside the garden, a blonde-haired, blue-eyed, smiling 16-year-old princess waves to a boy in tattered clothes, --ar 1920:1080

もう一人の登場人物、貧しい男の子も出力してみました。

その中で、Midjourneyの機能で特に今回便利だと感じた「blend」と「describe」の2つのコマンドについて紹介します。

blend:
複数枚の画像を組み合わせることができるコマンドです。最大5枚の画像をブレンドできます。

「/blend」と入力すると選べます。

下記の2枚をアップロードすると…

こんな画像を作ってくれます。

describe:
すでに生成した画像やアップロードした画像をプロンプトで説明させるコマンドです。また同じような画像を出力させたい、といった場合に、AI目線でのプロンプトを知ることができます。

先ほどの画像でdescribeを使用してみます。

こんな感じで4パターンのプロンプトを作成してくれます!

試しに1を使用すると…

雰囲気がガラッと変わりましたが、
出力がうまくいかない時にプロンプトを見直したい時はdescribeを使用しました。

また、プロンプトにこれまでに作成した画像やチャットに送った画像のリンクを含めると、その画像もプロンプトとして認識されます。
Midjourneyに画像を送る、もしくは出力された画像をブラウザで開くとURLが取得できます。

このURLをプロンプトの最初に貼り付けると、こちらも学習した上で出力してくれます。
登場人物の見た目を似せる上でこちらの機能、本当に便利でした…

イラスト作成で大変だったのは、登場人物の見た目、表情、年齢、服装に統一感を持たせることが大変でした。

エリザベスはドレスを着ていて、男の子は貧しい服装、という状態を表現したくても、二人とも貧しい服装になったり、逆に二人とも高貴な服装になったりしました。

AIで絵本を制作するにあたって、いかに同じような絵を作成し続けられるかどうかが大事なポイントです。かなり難しかったです。一番時間のかかる作業でした。

絵本の場合枚数は少ないのですが、顔や服装がはっきり大きく描写されるため少しの差も違和感になります。

1枚1枚順番に完成品を生成していくよりも、全体の大まかな画像を複数枚用意し、流れで見た時にテイストの違うものを差し替えていく、という進め方が無駄がなくおすすめです。

3. Googleスライドでイラストと物語を合わせる
最後はイラストと物語をGoogleスライドで組み合わせていきます。この作業はPowerPointなど、類似ツールであれば何でも大丈夫です!

実際の画面はこんな感じです↓ 

表紙、物語のページ、日本語訳ページをそれぞれ作成します。
子供の英語学習が目的なので、日本語訳は全てひらがなを使います。また、特に覚えてほしい単語については個別に解説をつけます。(これもChatGPTにお願いします)

イラスト・物語を全ページ分組み合わせて完成です!最後にKindleに出版し全ての工程が完了しました。
※Kindleの出版方法についてはここでは割愛します。

まとめ

以上、ChatGPTとMidjpurneyを使った絵本の制作方法の紹介でした。
今回は英語学習教材を目的にしているので、セリフは全て英語表記になっています。(巻末に日本語訳Verもあるのでご安心を!)

Kindle Unlimitedの方は無料で読めます!(単体購入の場合は有料)
AIが作った絵本に興味がある方、お子さんの英語学習教材をお探しの方は是非読んでみてください!

ChatGPTやMidjourneyを使うことで、世界に一つだけのオリジナル絵本を作ることができます。
絵が苦手な方、絵は得意だけれど物語を考えることが難しい方は是非挑戦してみてはいかがでしょうか?
今後もAIを活用した様々なコンテンツを発信していきますのでよかったらフォローしてくださいね。

LINE×AIで手軽に英語学習!AI英会話さん

LINE×AIで手軽に英語学習!AI英会話さん

AIを使った英語学習に興味がある!という方には、私たちAI英会話さんが提供するこちらのサービスもオススメです。

LINE×AIの新しい英語学習体験!”AI英会話さん”

AI英会話さんとは?
LINEで使える英語学習サービスです!このサービスにもChatGPTが使われています。
アプリインストールは不要で、LINEで友達追加するとすぐに使えるのでとっても手軽に始められます。

レッスンを選択するとAIが英語でトークしてくれるので、実際に人と話す感じで英会話の練習ができる、画期的なサービスなんです。

テキスト入力、音声入力の両方に対応しているので場所を選ばず使えます!

しかも、レッスン終了後はフィードバックシートが作成されます。

メッセージ単位でレビューしてくれるので、正しい表現と間違った表現が振り返りやすいです。

これなら「英語を話したいけど機会がない…」「うまく話せる自信がなくて恥ずかしい…」という方でも安心ですね。

2023年6月にリリースされたばかりの新しいサービスですが、これからどんどんアップデートされていきます。
下記から友達追加できるので、よかったら無料で試してみませんか?

AI英会話さんをもっと知りたい人は下記をCheck!

最後まで読んでいただきありがとうございました。
今回紹介した内容が良かったなと感じた方は是非お試しください。
note・Twitterのフォローもお待ちしています!
note↓

Twitter↓


いいなと思ったら応援しよう!