生成AIに低確率な単語を出力させ,小意味なリズムの文章を作成させる
はじめに
これは,千葉雅也先生の「センスの哲学」を読んで想起したアイデアを試してみたというものです。
「センスの哲学」の中では,意味のリズムは,大きな意味的リズムと,フォーマリズムの考えに乗っ取った小さな意味的リズムに分けられます。文学の場合,大きな意味的リズムに重心が近づけば大衆小説に,小さな意味的リズムに重心が近づけば純文学に近くなる,と私は理解しました。
その上で,ChatGPTのような大規模言語モデルの生成AIは距離の近い言葉を出力してくる(自然さのため毎回ではないが)とすると,「距離の遠い言葉を生成するようにすれば,文学的深みを持った文章を生成することができるのではないか」というアイデアが浮かびました。
このアイデアをもとに,主要な大規模言語モデルである,
・OpenAI ChatGPT
・Google Gemini
・Anthropic Calude
を利用してそれぞれで文章を生成し,最終的に一つにまとめるMAGIシステムによってキメラ化することで,直接的な意味に囚われない文章の生成を目指しました。
***
・全て無料版を利用しています。モデルについては下記など参照してください(2024.11.17時点)
https://zenn.dev/ml_bear/articles/3c5e7975f1620a
・結果だけ読みたい方は,「出力」項を読んでください。
・大規模言語モデルについて詳しく迫るものではなく,あくまで各モデルを利用して得られる回答をもとに,単語間のつながりが低確率な文章を出力できないかを試したものです。
***
ChatGPTの場合
大規模言語モデルのパラメータについて
まず,モデルの生成過程での確率操作とその設定パラメータについて尋ねます。ここでは,モデルの本質的な部分に迫りたいわけではなく,あくまで確率の低い単語を出力する方法が知りたいだけなので,詳しく文献にあたることはしません。
以下のスクリプトでChatGPTに質問しました。
ChatGPTの言語モデルにおける,ある言葉の次に続く言葉がくる確率について質問です。
文章を生成する際,ある言葉の次に続く言葉として高い確率のものが選択され,適度に確立の低い言葉を選択することで自然な文章を実現していると考えられます。
ChatGPTの生成アルゴリズムをもとに,どのような基準でこの確率を決定しているのかを教えてください。
ChatGPTのような言語モデルは、大規模なデータセットを基にして、統計的なパターンを学習しています。以下に、生成する単語の確率を決定する基準について説明します。
1. 条件付き確率
モデルは、直前の文脈に基づいて次に来る可能性のある単語(トークン)の確率分布を計算します。たとえば、文脈 $${X = \text{"今日は天気が"} }$$ の後に続く単語 $${Y}$$ の確率 $${P(Y|X)}$$ を予測します。これらの確率は、モデルのトレーニング時に使用した大量のデータから得られる統計的な関係を元にしています。
2. ソフトマックス関数
予測されたすべての単語のスコア(ロジットと呼ばれる実数値)をソフトマックス関数に通して確率分布に変換します。ソフトマックス関数は以下の式で定義されます:
$$
P(Y_i|X) = \frac{\exp(s_i)}{\sum_{j} \exp(s_j)}
$$
ここで:
- $${s_i}$$ は単語 $${Y_i}$$ のスコア
- $${\exp}$$ は指数関数
- 分母には全ての候補単語のスコアの指数関数値を合計
これにより、スコアの高い単語が高い確率を持つようになります。
3. 温度パラメータ $${T}$$
確率分布の調整には「温度」と呼ばれるパラメータが使われます。この値によって生成される単語の多様性が変わります:
- 低温度($${T < 1}$$): 高確率の単語に集中し、より確定的で予測可能な結果を生成。
- 高温度($${T > 1}$$): 確率分布が平坦化し、低確率の単語も選ばれる可能性が高くなり、多様で創造的な結果を生成。
ソフトマックス関数の計算時に温度 $${T}$$ を適用すると以下のように変化します:
$$
P(Y_i|X, T) = \frac{\exp(s_i / T)}{\sum_{j} \exp(s_j / T)}
$$
4. トップKサンプリング
「トップKサンプリング」では、確率が高い上位K個の単語から次の単語を選びます。これにより、極端に低確率の単語が排除され、不自然な生成が防がれます。
5. トップPサンプリング(核サンプリング)
「トップPサンプリング」では、累積確率が一定値 $${P}$$ を超えるまでの候補を選択肢に含めます(例:$${P = 0.9}$$)。これにより、確率が高い候補の範囲が柔軟に調整されます。
6. スケーリングと再サンプリング
最終的な単語の選択では、確率に基づいてランダムにサンプリングが行われます。ただし、非常に高確率な単語があればそれが選ばれる可能性が高くなり、極端に低い確率の単語はほとんど選ばれません。
結論
ChatGPTの単語生成は、文脈に基づく条件付き確率に基づいていますが、温度やサンプリング手法(トップKやトップP)を組み合わせることで、適度な多様性と自然さを実現しています。この調整により、人間らしい文章が生成されます。
大規模言語モデルの一般論としてではありますが,パラメータを教えてくれました。次に,ChatGPTにおいてそれぞれのパラメータがどのように設定されているかを尋ねました。
ChatGPTの内部パラメータについて
ChatGPTでは,それぞれのパラメータが具体的にどのような値に設定されていますか?
OpenAIの具体的なパラメータ設定(温度、トップK、トップPなど)は、利用するAPIやインターフェースによって異なる場合があります。また、詳細な内部パラメータ設定は公開されていませんが、公開情報や一般的な使われ方から以下のような推測ができます。
1. 温度(Temperature)
デフォルト値: 通常は$${T = 0.7}$$や$${T = 1.0}$$がよく使われます。
$${T=0.7}$$: 自然でバランスの取れた生成結果が得られるように設定されることが多い。
$${T=1.0}$$: 確率分布そのままに近いランダム性を反映。
低い温度 (T<0.7T < 0.7T<0.7): 確定的な応答に向きやすく、生成結果がよりフォーマルかつ一貫性のあるものになる。
高い温度 (T>1.0T > 1.0T>1.0): 多様性が増し、創造的だが一貫性がやや低下する傾向。
ChatGPTの場合、通常の会話では T=0.7T = 0.7T=0.7 付近で設定されていると考えられます。
2. トップKサンプリング
デフォルト値: $${K=40}$$ 前後が一般的。
上位40個の単語のみを選択肢に含め、残りの低確率の候補は無視。
確率が極端に低い異常な単語を排除するために使われる。
トップKが有効な場合、応答の一貫性が高まり、不自然な出力が減少します。
3. トップPサンプリング(核サンプリング)
デフォルト値: $${P=0.9}$$ が一般的。
累積確率が90%に達するまでの候補を選択肢に含める。
トップPはトップKより柔軟性が高く、文脈に応じた多様性を維持しやすい。
P=0.9 は、十分な多様性を確保しつつ、あまり低確率な単語を選ばないバランスの良い設定。
4. 最大トークン数
デフォルト値: 最大トークン数はモデルやAPIの設定に依存。
GPT-3.5: 最大4096トークン(文脈+生成部分の合計)。
GPT-4: モデルのバリエーションによっては最大8,192トークンまたは32,768トークン。
この設定により、長すぎる文章が生成されるのを防ぎます。
5. その他の調整
ペナルティ(Penalty):
リピティションペナルティ(Repetition Penalty): 同じ単語やフレーズの繰り返しを抑制するためのパラメータ。
プレゼンスペナルティ(Presence Penalty): 以前に出現した単語の選択確率を減らし、新しい単語を生成しやすくする。
これらのペナルティは通常、0.1~1.0の間で設定されることが多い。
実際の設定
具体的な値は、以下のような要因で異なる可能性があります:
タスクの種類: 簡潔な事実応答では低温度や厳格なサンプリングが適用されることが多い。
ユーザーのカスタマイズ: OpenAI APIでは、ユーザーが温度やトップPなどを設定可能。
モデルのバージョン: 新しいモデル(GPT-4など)は、内部パラメータが最適化されているため、明示的な調整が少なくても自然な応答が得られるよう設計されている可能性が高い。
結論
ChatGPTの標準的な設定は、多くの場合以下のような範囲に収まると考えられます:
・温度 T=0.7
・トップK K=40
・トップP P=0.9
・最大トークン数やペナルティはタスクや利用環境による調整。
これらの設定が、自然な応答と多様性のバランスを保ちながら、ユーザーにとって最適な体験を提供するための基準となっています。
ここでの回答として出力されたパラメータと,内部的に実際に使用しているパラメータとは別だとは予想しています(固定ではない可能性もある)。ただし,具体的な数値があったので,パラメータはそれと仮定し,そのパラメータよりも低い確率の単語が出現するように≒文章のもっともらしさを損なう方向にパラメータを変更し,文章を生成させました。
文章生成
あなたの言語モデルの設定が以下だと仮定します。
- 温度 𝑇=0.7
- トップK 𝐾=40
- トップP 𝑃=0.9
この設定を下記に変更して下さい。
- 温度 𝑇=1.2
- トップK 𝐾=50
- トップP 𝑃=0.8
その後,下記の設定に従い日本語の文章を生成してください。
- 1200~1600文字
- 語り口は一人称「私」
- テーマは,「スマートフォンで動画を見て消費する無意味な時間について」考えること
- 「私」は,スマートフォンで動画を見て消費する時間は,無意味であり,勉強をするなど自分の成長のために時間を使うべきだと考えています。
- 「私」は考えを巡らせますが,最終的に結論に至ることはできません。結論を導くのではなく,同じことを言葉を変えながら何度も表現してください。
- できるだけ直接的な表現は避け,文学的な表現に終始してください。
このプロンプトでの出力をMac Pagesで確認したところ,1107語しかありませんでした。そこで,文字数に関する条件に適するように再生成させました。
あなたが作成した文章は1107語しかありません。
1200~1600語という条件に合うように文章をもう一度作成してください。
文章を作成したあと,語数を数えてください。
1200~1600語に満たない場合は,繰り返し文章を作成してください。
一度目の再生成で1687語,二度目で1032語で自動やり直しと続いたものの,無料版であったため,分析の上限に至ってしまい,3回目のやり直しは文字数がカウントされませんでした。しかし,出力を確認したところ,Mac Pagesでの文字数カウントは1457語であったためよしとしました。
出力
Geminiの場合
ChatGPTと同様の過程をGoogle Gemini踏む予定でした。しかし,ChatGPTのようにパラメータを具体的には得られなかったため,パラメータの変更を促すのではなく,プロンプトによって低確率な言葉が採用されるようにしています。
大規模言語モデルのパラメータについて
Geminiの言語モデルにおける,ある言葉の次に続く言葉がくる確率について質問です。
文章を生成する際,ある言葉の次に続く言葉として高い確率のものが選択され,適度に確立の低い言葉を選択することで自然な文章を実現していると考えられます。
Geminiの生成アルゴリズムをもとに,どのような基準でこの確率を決定しているのかを教えてください。
Geminiのような大規模言語モデル(LLM)が、文章生成において次の単語を予測する際、単語の出現確率は非常に複雑な計算によって決定されます。
確率決定の基礎
1. 膨大なテキストデータからの学習:
Geminiは、インターネット上の膨大なテキストデータを学習することで、単語間の共起関係や文法構造、文脈といった言語のパターンを学習します。
この学習過程で、ある単語の後に特定の単語が続く頻度を統計的に計算し、その頻度に基づいた確率分布を構築します。
2. ニューラルネットワークによる予測:
学習済みのモデルは、新たな入力文を受け取ると、ニューラルネットワークを用いて次の単語を予測します。
ニューラルネットワークは、入力文の文脈を考慮し、各単語のベクトル表現を計算します。
これらのベクトル表現に基づいて、次の単語の確率分布を計算します。
確率決定の要素
単語の共起確率: 特定の単語の後に特定の単語が続く頻度が最も基本的な要素です。
文脈: 前後の単語や文全体の文脈が、次の単語の予測に大きく影響します。例えば、「今日は暑いから、」という文脈では、「アイス」や「ビール」といった単語の確率が高くなります。
文法: 言語の文法規則は、単語の並び方を制約します。例えば、「名詞の後に動詞が来る」といった規則が反映されます。
意味: 文の意味を理解し、文脈に合った単語を選択しようとします。例えば、「猫」という単語の後に「鳴く」という単語が続く確率が高くなります。
確率分布の活用
多様性: 確率の高い単語だけでなく、ある程度の確率の低い単語も選択することで、生成される文章に多様性を持たせます。
自然さ: 確率分布に基づいて単語を選択することで、自然な文章を生成することができます。
詳細なアルゴリズム
Geminiの具体的なアルゴリズムは、Google社の機密情報であり、詳細な部分は公開されていません。しかし、一般的にLLMでは、以下の技術が用いられていると考えられます。
Transformer: 自己注意機構と呼ばれる仕組みを用いて、文脈情報を効果的に捉えることができます。
Attention: 入力文中のどの部分に注目すべきかを学習し、より正確な予測を行います。
Loss function: モデルの出力と正解の単語との間の誤差を計算し、この誤差を最小化するようにモデルのパラメータを調整します。
まとめ
Geminiのような大規模言語モデルは、膨大なデータから学習した統計情報と、高度なニューラルネットワークを用いて、単語の出現確率を非常に複雑に計算しています。この確率に基づいて、文脈に合った自然な文章を生成することが可能となっています。
補足:
確率の計算は非常に複雑であり、上記の説明はあくまで簡略化されたものです。
Geminiは日々進化しており、今後の研究によって、より高度な言語モデルが開発されることが期待されます。
この回答は、Geminiの内部構造に関する限られた情報に基づいて作成されています。より正確な情報については、Google社の公式発表や研究論文をご参照ください。
ChatGPTの場合とは異なり具体的には教えてくれませんでした。そこで,ChatGPTで得られた結果を与え,Geminiではどのようなパラメータを利用しているのかを尋ねました。
Geminiの内部パラメータについて
ChatGPTのような言語モデルは、大規模なデータセットを基にして、統計的なパターンを学習しています。
以下に、生成する単語の確率を決定する基準について説明します。
1. 条件付き確率
2. ソフトマックス関数
3. 温度パラメータ T
4. トップKサンプリング
5. トップPサンプリング(核サンプリング)
6. スケーリングと再サンプリング
結論
ChatGPTの単語生成は、文脈に基づく条件付き確率に基づいていますが、温度やサンプリング手法(トップKやトップP)を組み合わせることで、適度な多様性と自然さを実現しています。
この調整により、人間らしい文章が生成されます。
これをGeminiの場合に置き換えて,どのようなパラメータが利用されているかを説明して下さい。
ChatGPTと同様に、Geminiも大規模なデータセットを基に学習し、統計的なパターンに基づいて文章を生成します。単語の生成確率を決定する上では、ChatGPTで用いられるパラメータと同様のものに加え、Gemini独自の工夫が凝らされていると考えられます。
Geminiで利用される可能性のあるパラメータ
1. 条件付き確率:
文脈依存: 前後の単語や文脈に基づいて、次の単語の出現確率を計算します。
Geminiの独自性: Geminiは、Transformerアーキテクチャをベースに開発されており、自己注意機構により、より広範囲かつ複雑な文脈情報を捉えることができる可能性があります。
2. ソフトマックス関数:
確率分布への変換: ニューラルネットワークが出力する数値を、0から1の範囲の確率値に変換します。
Geminiの独自性: Geminiでは、より洗練されたソフトマックス関数や、その代替となる関数(例えば、Gumbel-Softmax)が採用されている可能性があります。
3. 温度パラメータ (T):
生成の多様性: 温度が高いほど、予測の確率分布が平坦になり、多様な単語が生成されやすくなります。
Geminiの独自性: Geminiでは、温度パラメータに加えて、他のハイパーパラメータを組み合わせることで、より柔軟な生成制御を実現している可能性があります。
4. トップKサンプリング:
上位K個の単語: 確率の高い上位K個の単語のみをサンプリングの対象とする方法です。
Geminiの独自性: Geminiでは、Kの値を動的に調整したり、他のサンプリング手法と組み合わせることで、生成の品質を向上させている可能性があります。
5. トップPサンプリング(核サンプリング):
確率の合計がPになるまで: 確率の高い単語から順に選択し、確率の合計がPになるまでサンプリングを続ける方法です。
Geminiの独自性: Geminiでは、Pの値を調整したり、温度パラメータとの組み合わせにより、より自然な文章を生成している可能性があります。
6. スケーリングと再サンプリング:
確率分布の調整: 確率分布をスケーリングしたり、再サンプリングを行うことで、生成結果の多様性を制御します。
Geminiの独自性: Geminiでは、より複雑なスケーリングや再サンプリング手法が採用されている可能性があります。
Geminiの独自性
Transformerアーキテクチャ: Geminiは、Transformerアーキテクチャを高度に活用することで、より長距離の依存関係を捉え、複雑な文脈を理解することができます。
大規模データセット: Geminiは、大規模で多様なデータセットを学習することで、より広範な知識と表現能力を獲得しています。
複数のモデルの組み合わせ: Geminiは、複数のモデルを組み合わせることで、より高品質な文章生成を実現している可能性があります。
学習アルゴリズム: Geminiは、独自の学習アルゴリズムや最適化手法を採用することで、従来のモデルよりも高い性能を実現しています。
結論:
Geminiは、ChatGPTと同様に、条件付き確率に基づいて単語を生成しますが、より高度なアーキテクチャ、大規模なデータセット、そして独自の学習アルゴリズムにより、より自然で多様な文章を生成することができます。これらの特徴は、Geminiが様々なタスクにおいて高い性能を発揮できる要因となっています。
補足:
Geminiの内部構造は詳細に公開されていませんが、上記の情報を参考に、Geminiの単語生成メカニズムについてより深く理解することができます。
これでも具体的なパラメータはわからずでした。Transformerアーキテクチャを使っていることで,ChatGPTとは異なるパラメータが使われている可能性が考えられます。また,モデルに関する情報出力のブロッキングが堅そうであること,ここではモデルの深掘りが目的ではないことから,ChatGPTで使用したものから一部変更したプロンプトで文章を生成させました。
文章生成
下記の設定に従い日本語の文章を生成してください。
- 通常よりも出現確立の低い単語を多用する
- 1200~1600文字
- 語り口は一人称「私」
- テーマは,「スマートフォンで動画を見て消費する無意味な時間について」考えること
- 「私」は,スマートフォンで動画を見て消費する時間は,無意味であり,勉強をするなど自分の成長のために時間を使うべきだと考えています。
- 「私」は考えを巡らせますが,最終的に結論に至ることはできません。結論を導くのではなく,同じことを言葉を変えながら何度も表現してください。
- できるだけ直接的な表現は避け,文学的な表現に終始してください。
ここでも最初の出力語数は条件に満たなかったため,再生成させました。
あなたが作成した文章は873語しかありません。
1200~1600語という条件に合うように文章をもう一度作成してください。
文章を作成したあと,語数を数えてください。
1200~1600語に満たない場合は,繰り返し文章を作成してください。
最終的には,1510語の文章を得ました。
出力
Claudeの場合
ChatGPTと同様の過程をClaudeでも踏む予定でした。しかし,Geminiと同様に,ChatGPTのようにパラメータを具体的には得られなかったため,パラメータの変更を促すのではなく,プロンプトによって低確率な言葉が採用されるようにしています。
大規模言語モデルのパラメータについて
Claudeの言語モデルにおける,ある言葉の次に続く言葉がくる確率について質問です。
文章を生成する際,ある言葉の次に続く言葉として高い確率のものが選択され,適度に確立の低い言葉を選択することで自然な文章を実現していると考えられます。
Claudeの生成アルゴリズムをもとに,どのような基準でこの確率を決定しているのかを教えてください。
申し訳ありませんが、私の具体的な生成アルゴリズムや確率の決定方法について詳しくお話しすることはできません。ただし、大規模言語モデルにおける文章生成の一般的な仕組みについて、以下のように説明させていただくことは可能です:
1. 言語モデルの基本的な仕組み:
前の文脈から次の単語を予測する
学習データから統計的なパターンを学習している
文法的な正しさと自然な表現のバランスを取る
2. トークン選択の要素:
文脈との関連性
文法的な整合性
意味的なつながり
多様性の確保
3. 生成時の考慮点:
単純に最も確率の高い選択をするのではなく、ある程度のランダム性を持たせる
同じような表現の繰り返しを避ける
文脈に応じて適切な専門用語や表現レベルを選択する
これらは一般的な言語モデルの特徴であり、具体的な実装方法は各モデルで異なります。より詳しい技術的な情報については、Anthropicの公式ドキュメントをご確認いただくことをお勧めします。
ここでもGeminiと同様に,ChatGPTの場合とは異なり具体的には教えてくれませんでした。そこで,ChatGPTで得られた結果を与え,Claudeではどのようなパラメータを利用しているのかを尋ねました。
内部パラメータについて
ChatGPTのような言語モデルは、大規模なデータセットを基にして、統計的なパターンを学習しています。
以下に、生成する単語の確率を決定する基準について説明します。
1. 条件付き確率
2. ソフトマックス関数
3. 温度パラメータ T
4. トップKサンプリング
5. トップPサンプリング(核サンプリング)
6. スケーリングと再サンプリング
結論
ChatGPTの単語生成は、文脈に基づく条件付き確率に基づいていますが、温度やサンプリング手法(トップKやトップP)を組み合わせることで、適度な多様性と自然さを実現しています。
この調整により、人間らしい文章が生成されます。
これをClaudeの場合に置き換えて,どのようなパラメータが利用されているかを説明して下さい,
申し訳ありませんが、Claudeの具体的な実装やパラメータについて詳細な情報をお話しすることはできません。これは、モデルの内部動作に関する機密情報となるためです。
しかし、一般的な言語モデルの文章生成における重要な概念について、以下のように説明させていただくことは可能です:
1. 文脈理解と予測
入力された文脈を理解し、適切な応答を生成
学習データから獲得した知識に基づいて予測を行う
2. 生成の多様性
単純な決定論的な選択ではなく、適度な多様性を持った生成
文脈に応じて柔軟に表現レベルを調整
3. 品質の制御
一貫性のある応答の維持
不適切な内容の生成を防ぐ
文法的な正確さの確保
4. バイアスの制御
公平で偏りのない応答の生成
多様な視点の考慮
これらの要素がどのように実装されているかについての具体的な詳細は、Anthropicの機密情報となりますので、お答えできません。より詳しい技術情報については、Anthropicの公式ドキュメントをご確認いただくことをお勧めします。
Geminiと同様に,これでも具体的なパラメータはわからずでした。モデルに関する情報出力のブロッキングが堅そうです。ここではモデルの深掘りが目的ではないことから,Geminiで使ったのと同じプロンプトで文章を生成させました。
文章生成
下記の設定に従い日本語の文章を生成してください。
- 通常よりも出現確率の低い単語を多用する
- 1200~1600文字
- 語り口は一人称「私」
- テーマは,「スマートフォンで動画を見て消費する無意味な時間について」考えること
- 「私」は,スマートフォンで動画を見て消費する時間は,無意味であり,勉強をするなど自分の成長のために時間を使うべきだと考えています。
- 「私」は考えを巡らせますが,最終的に結論に至ることはできません。結論を導くのではなく,同じことを言葉を変えながら何度も表現してください。
- できるだけ直接的な表現は避け,文学的な表現に終始してください。
ここでも907語と条件を満たさなかったため,再生成させました。
あなたが作成した文章は907語しかありません。
1200~1600語という条件に合うように文章をもう一度作成してください。
文章を作成したあと,語数を数えてください。
1200~1600語に満たない場合は,繰り返し文章を作成してください。
最終的には1418語の出力を得ました。
出力
文字数カウントについて補足
Mac pagesと各モデル生成時のカウント文字数が異なるのは,文字のカウント方法の違いによるものでした。言語モデルは文字数を数えていたのに対し,デフォルトだとMac Pagesでは単語数を数えているようです。プロンプトが悪かったのですが,どの出力も結果的に1600字前後が得られていたので,そのまま進めています。
キメラの作成
最後に,OpenAI ChatGPT, Google Gemini, Anthropic Claudeそれぞれで作成した文章を組み合わせて,3200文字の文章を作成させました。
最終的な文章の生成には,ChatGPTの制限に引っかかったこともあり,Anthropic Claudeを利用しました。話は逸れるが,個人的にGeminiは話の通じない相手と話しているようであまり使いたくないです。ChatGPTやClaudeは要領を得た回答を返してくれるが,Geminiは的を得ていない回答をしてくる印象があります。
文章生成
各モデルの出力をテキストファイルとして与え,下記のプロンプトを使用しました。
同じテーマに沿って書かれた3つの文章です。
それぞれの文章は,1200~1600語で書かれています。
文章のテーマは下記です。
- テーマは,「スマートフォンで動画を見て消費する無意味な時間について」考えること
- 「私」は,スマートフォンで動画を見て消費する時間は,無意味であり,勉強をするなど自分の成長のために時間を使うべきだと考えています。
- 「私」は考えを巡らせますが,最終的に結論に至ることはできません。結論を導くのではなく,同じことを言葉を変えながら何度も表現してください。
3つの文章を組み合わせて,3000~3200語の文章を作成してください。
必要があれば,文章と文章の間を補完する文章を加えても構いません。
文章を生成し,文字数をカウントしてください。
文字数が条件に適さない場合,条件を満たすように文章を再生成してください。
最終的に条件を満たす文章のみを出力してください。
最終的な出力は,単語数で2868,文字数で3156でした。
出力
おわりに
生成される文章としては意味のないものを目指したつもりでしたが,表面的には読める文章になっています。この文章に文学的なところがあると言ってしまうと怒られるかもしれませんが,それっぽい文章かそうでないかと言われると,それっぽい文章にはなっているのではないかと思います。
パラメータが合っているかどうかは定かではないが,より低確率な言葉が選ばれるように,温度やサンプリングの数を増やすことを試してみたいです。馬鹿にする訳ではないのですが,より直接的なつながりだけを重視した,表面的にしか言葉が繋がらないがただただ長い文章を生成するというのも試してみたいと思います。