見出し画像

ChatGPTで遺伝アルゴリズムを使いライトノベルのタイトルを生成する

はじめに

こんにちは。株式会社SHIFT DAAE(ダーエ)の栗山です。
今回はChatGPT上で遺伝アルゴリズムを使いライトノベルのタイトルを生成するプロンプトを紹介します。

「ライトノベルのタイトル」のみではなく、様々なものに適用可能だと思いますので、色々と試して楽しんでもらえると幸いです(ブックマーク代わりに「いいね」をしてもらえると、後で探しやすいと思います)。

一例を以下に挙げます(試していないので、どのような結果になるかはわかりません)

  • ホラー映画のタイトル

  • トレンディードラマのタイトル

  • 漫画のタイトル

遺伝アルゴリズムは「生物の進化原理を利用して、最適な解を求める手法の一つ」と、ざっくり理解してもらえれば、本文章を読む上では十分です。

※扱うテーマによっては思った通りの結果が得られないこともあると思います。厳密な結果が得られるものではないことをあらかじめご了承ください。
また本文章では、推論能力の高いChatGPT4を使用しています。

ChatGPTで遺伝アルゴリズムをつかいラノベのタイトルを生成するプロンプト

プロンプトは以下になります。

1. 適応度関数の定義
   - 個体の適応度を評価する方法を定義します。
2. 初期集団の生成
   - ランダムな個体の集団を生成します。
3. 繰り返し処理
   - 指定された世代数または終了条件が満たされるまで以下の処理を繰り返します。
     - 選択:適応度に基づいて親個体を選択します。
     - 交叉:選ばれた親個体から新しい子個体を生成します。
     - 突然変異:子個体に対して一定の確率で突然変異を適用します。
     - 次世代の集団の形成:子個体を次世代の集団とします。
4. 最適解の取得
   - 最終的な集団から最も適応度の高い個体を選択し、最適解とします。

以下の条件を満たすように、上記のアルゴリズムを抽象的な言語オブジェクトとしてGPT上でstep-by-stepで実行可能なマークダウンスクリプトに変換し、そのスクリプトを言語モデル上のシミュレーションとして実行してください。言語モデルとして実行エラーが起こりそうな場所はスクリプトを適宜抽象的・もしくは具体的に言語的変換を行なってエラーが起こらない形にして実行してください.

条件:
・初期集団は「ライトノベルのタイトル」を色々なパターンで作成してください。
・適応度関数は「意外性」「面白さ」「トレンド」が高くなるように設定してください。
・シミュレーションの過程で生成された「ライトノベルのタイトル」を出力してください。

上記のうち後半の「」で囲まれた部分が自由に設定する部分です。
これらを変更することで、様々なバリエーションで行うことができます。

実際の結果

以下が実際の結果です。

初期集団として以下のライトノベルのタイトルが生成され、

  • 魔法使いの学園で冒険者になる

  • 異世界で最強のチーズ職人

  • 時間を操る少女の絶望

  • ロボットが支配する未来の僕

  • 空飛ぶ船で魔王を倒せ!

最終的には、以下のライトノベル案が生成されました。

  • 魔法使いの学園で冒険者になる

  • 異世界で最強のチーズ職人

  • 時間を操る少女の絶望

  • ロボットが支配する未来の僕

  • 空飛ぶ船で魔王を倒せ!

  • 魔法使いの学園で時間を操るスパイ

  • 時空を超えた戦士たちの冒険

  • 異世界で時空を超えた戦士たち

  • 魔法使いの学園でロボットが支配する未来

  • 空飛ぶ船で時空を超える冒険

  • 魔法使いの学園で最強のチーズ職人

  • 魔法使いの学園で空飛ぶ船の冒険

  • 時空を超えた戦士たちのチーズ製造

  • 異世界で魔法使いのチーズ職人

  • 魔王を倒すための時空を超えた冒険

初期集団を指定する

初期集団を指定することも非常に良い手段です。
今回の場合、上記の結果に続けて以下のようなプロンプトを入力することで初期集団を指定することができます。

初期集団の生成からやり直してください。
その際に、以下の要素を入れてください。
・コーヒー職人
・ハイハイを始めた赤ちゃん
・織田信長

以下が結果です。

初期集団として以下の要素を含むように指定した結果、

  • コーヒー職人

  • ハイハイを始めた赤ちゃん

  • 織田信長

最終的には以下のような結果が生成されました。

  • コーヒー職人とハイハイを始めた赤ちゃんの異世界冒険

  • 織田信長とコーヒー職人のタイムトラベル物語

  • ハイハイを始めた赤ちゃんが織田信長に出会う

  • コーヒー職人と織田信長の異世界カフェ物語

  • ハイハイを始めた赤ちゃんとコーヒー職人の時空を超える冒険

  • 織田信長とハイハイを始めた赤ちゃんの奇跡の出会い

  • コーヒー職人が織田信長の時代で開く珈琲店

個人的には 「コーヒー職人と織田信長の異世界カフェ物語」が気になります(笑)

参考文献

  • 落合洋一先生のツイート

    • 本文章は上記のツイートを参考にしています。

    • 上記ツイートにはChatGPTのプロンプトを作成する上で重要なノウハウが詰まっており、特に以下の部分は本プロンプトでも使用しています。

抽象的な言語オブジェクトとしてGPT上でstep-by-stepで実行可能なマークダウンスクリプトに変換し、そのスクリプトを言語モデル上のシミュレーションとして実行してください。
言語モデルとして実行エラーが起こりそうな場所はスクリプトを適宜抽象的・もしくは具体的に言語的変換を行なってエラーが起こらない形にして実行してください

最後に

本文章により、読者の方がChatGPTを楽しんだり、ChatGPTに触るきっかけになれば幸いです。
また遊び半分でこういったプロンプトを試していくことで、

  • ChatGPTにできること

  • ChatGPTにできないこと

を体感的に理解できるようになっていくと思います。

本文章の結果は、厳密なシミュレーションとしては機能しないといった課題がある一方で、

  • 従来のプログラミングでは難しかったことを可能にしている。

  • 身近なテーマで遺伝アルゴリズムのわかりやすい解説が簡単に作れる。

といった点で革新的といえると思います。
ここまでお読み頂きありがとうございました。

\もっと身近にもっとリアルに!DAAE公式Twitter/


【あわせて読みたい関連記事】


執筆者プロフィール:Kuriyama Akira
DAAE開発エンジニア。コーヒーの焙煎はAIにできますかね?

お問合せはお気軽に
https://service.shiftinc.jp/contact/

SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/

SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/

SHIFTの導入事例
https://service.shiftinc.jp/case/

お役立ち資料はこちら
https://service.shiftinc.jp/resources/

SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/

PHOTO:UnsplashNick Fewings