ChatGPTを使って文章を作成する際に、プロンプトを設定しても、指定した文字数のカウントがおかしいと感じたことはありませんか?
この記事では、そんな問題に直面している方のために、ChatGPTが文字数を守らない理由や、文字数を指定するための具体的なプロンプトの作り方を紹介します。
さらに、どのようにすれば正確な文字数で文章を出力できるか、実践的なやり方とコツについても詳しく解説していきます。
【コピペOK】ChatGPTで文字数指定するやり方とプロンプト
文章作成において、文字数制限が求められる場面では、ChatGPTで、具体的な指示を与えることで生成結果の精度を高めることが可能となります。
ただし、ChatGPTでは指示した文字数が、完全には生成されないことがあります。
この項目では、ChatGPTにおける文字数を指定するためのポイントをいくつか掘り下げて解説していきます。
ChatGPTは文字数カウントが苦手でおかしい結果になりがち
ChatGPT を使用して文章を書く場合、あらかじめ指定した文字数に沿って文章が作成されないことがあります。
たとえば、ChatGPTに「200文字以内で製品の説明を書いてください」と指示した場合、実際に出力された文章が130文字程度になってしまうことがあります。
これは、ChatGPTがプロンプトの意図を正確に理解できず、文字数を埋め合わせようとするのではなく、意味のある内容で応えようとするためです。
ChatGPTは、設定された上限をあくまで「超えない」ように意識しますが、確実に上限ギリギリまで文字数を埋めるわけではないため、想定よりも短い回答になることがよくあります。
この結果、文字数をしっかり満たした説明が必要な場面では、期待通りの情報量が得られないこともあります。
さらに、「100文字以内で要約してください」という指示にもかかわらず、生成された文章が120文字程度になってしまうこともあります。
これは、ChatGPTが文字数指定を意識しているものの、次の単語を確率的に予測しながら出力するため、設定した文字数にぴったり収まるとは限らないためです。
特に、情報を多く含む要約や詳細な説明を求めるプロンプトでは、ChatGPTがその内容を簡潔にまとめきれず、指定を少し超過した出力になる傾向があります。
この場合、不要な表現や冗長な表現が含まれることがあり、期待した「簡潔な要約」からは外れてしまう可能性があります。
実際に、プロンプトで以下のように500文字での生成を指示してみます。
#タイトル に関するSEO記事の導入文を#文字数で生成してください。
#タイトル:
必見!TOEICテストの攻略方法について
#文字数
500文字
生成結果は以下のようになりました。
「500文字」と指示しましたが、実際の生成は「373文字」となりました。
このように、ChatGPTのモデルはあくまで確率に基づいて次の単語を予測しながら、文章を生成する仕組みのため、細かい文字数の制御を行うことが非常に難しくなります。
その結果、特に長文や詳細なプロンプトを使用する場合、あらかじめプロンプトで指示した文字数が、指示通りに生成されないことがあります。
ChatGPTで文字数指定するには上限と下限を入れたプロンプト
ChatGPTにおいて、文字数を正確に指示するための解決策として、プロンプトに「上限」と「下限」を設定する方法があります。
たとえば、「200~300文字以内で回答してください」や「400文字を超えないでください」といったように、目安となる範囲をプロンプトに含めることで、モデルが生成する内容に対する柔軟な対応が期待できます。
以下のように文字数の下限と上限を設定してみます。
#タイトル に関するSEO記事の導入文を#文字数で生成してください。
#タイトル:
必見!TOEICテストの攻略方法について
#文字数
・下限:150字
・上限:300字
上記のプロンプトをもとに指示した結果は以下のようになりました。
文字数は、172字となっており、指示通りの結果となりました。
上限と下限を設ける理由は、ChatGPTが生成する文章が確率的に変動することを考慮しているからです。
このアプローチにより、モデルは文字数の制限を守りやすくなり、クライアントが求める厳密な基準に近づけることができます。
さらに、明確な制限を設けることで、作成される文章が不規則になるのを防ぎ、目的に合った内容を得ることが可能となります。
ただし、完全に正確な文字数制御は依然として難しい場合があります。
したがって、プロンプトの書き方を工夫するだけでなく、作成された文章を自分で確認し、必要に応じて手動で修正する必要があります。
これにより、結果をより満足いくものにすることができます。
ChatGPTが文字数指定を守らない・おかしいのは仕組み上仕方ない?
ChatGPTが文字数指定を正確に守ることができない大きな理由は、ChatGPTそのものの仕組みにあります。
ChatGPTは「トークン」という単位を使って文章生成を行いますが、このトークンは厳密に言えば「文字数」ではなく、「単語や句、文字の一部」などに基づいて処理されます。
そのため、特に文字数を正確に指定したい場合、思い通りの結果にならないことがよくあります。
ChatGPTが扱う「トークン」は、英語では1トークンが約4~5文字に相当しますが、日本語で生成する場合は文字数が増え、1トークンあたり2~3文字程度になります。(ただこれも確実ではないです)
このトークンの単位が曖昧なため、指定した「文字数」と、ChatGPTが生成した結果の文字数にずれが発生することがあります。
たとえば、50文字の文章を生成するよう指示した場合でも、ChatGPTはその指示をトークン単位で処理を行うため、50文字に満たなかったり、逆に50文字を超過することがあります。
これは、ChatGPTが確率的な予測に基づいて文章を生成しているからであり、文字そのものを数えて出力しているわけではないためです。
さらに、トークン数が同じでも、英語と日本語では文字数に差が出るため、日本語で出力する場合はより正確に文字数をコントロールするのが難しくなります。
このように、トークンという仕組み上、完全に文字数を一致させることは技術的に難しいため、ある程度の許容範囲を設けて、プロンプトを使うことが推奨されています。
ChatGPTが文字数指定を守らない・おかしい場合の原因
ChatGPTが文字数の指定を正確に守れない原因はいくつかあります。
適切な文章を作成するためには、これらの要素を理解し、それらに対処する方法を理解しておくことが、不可欠です。
ここからは、代表的な3つの原因について詳しく解説していきます。
長文だと精度が落ちる
ChatGPT は、短文では比較的正確に文字数を保持できますが、長文になると精度が低下することがあります。
長文を作成する場合、モデルはトークンを作成し、文脈を理解しながら文章を進めますが、このプロセスで文字数管理が困難になります。
モデルは、文章全体の構造を理解しながら生成するわけではなく、次の単語を予測するだけです。
したがって、長い文章では、指定された文字数やトークン数から逸脱する可能性があります。
たとえば、1000 文字の文章を作成する場合、最初はうまく進行していても、モデルが文字数の指定を忘れたり、プロンプトの指示から外れたりすることがあります。
これは、ChatGPTが一度に保持できる情報量が限られているため、文章が長くなると保持できる範囲を超え、前半部分の情報が失われていくためです。
このため、文字数やトークン数の管理は、文章の長さに比例して不正確になることがあります。
長文の場合、正確な文章を生成するための処理が複雑化し、ChatGPTが正確なトークンカウントや文脈の保持を難しくする要因となります。
このため、長文を生成する場合、段落ごとに文章を区切って生成したり、プロンプトを細かく設定して、文字数やトークン数を管理することが推奨されます。
情報が少ない状態で無理やり書かせている
ChatGPT に文章を生成させる場合、提供するプロンプトの情報量が限られている場合、正確な結果を得ることは困難です。
特に、明確な指示や情報、条件がない場合、モデルは不確定な情報を基に文章を構成しようとするため、指定した文字数やトーンから逸脱する可能性があります。
これは、ChatGPTは提供された情報を基に確率的に次の単語を予測するからです。
情報が不足している状態で無理やり文字数を満たすように書くと、内容が薄くなったり、不自然な構造の文章になる可能性があります。
たとえば、弊社の情報を一文のみ与え、無理やり記事を書かせてみました。
合同会社MiraLabについて解説する文章を1000文字で出力してください。
ただし、記事の中に使う情報は以下の{参考記事}から取得してください。
{参考記事}に書かれていること以外書かないでください。
# 参考記事
合同会社MiraLabはAIメディア「MiraLabAI」を運営する企業です。東京に本社があります。
上記のプロンプトにおいて、以下の文章が生成しました。
「1000文字」という指示を出しましたが、実際の文字数は、488文字となりました。
また、文章は生成されたものの、プロンプトにおける指示が漠然としているため、作成された文章の内容も不正確で、冗長なものとなりました。
各モデルの出力トークン数の上限を超えている
ChatGPTが文字数を正確に出力することができない原因の一つに、各モデルの出力トークン数の上限が存在します。
ChatGPTは「トークン」という単位で、文章を処理しており、このトークンにはモデルごとに上限があります。
2024年10月時点で、ChatGPTのモデル「GPT-4o」は、最大で16,384トークンの出力を処理することができます。
この数値は、従来のモデルであるGPT-4 Turboの4,096トークンから大きく向上しており、長い文章の出力能力を持っています。
ただし、トークン数は向上しているものの、トークン数の制限を無視して長い文章を作成しようとすると、文章が途中で切れたり、プロンプトの指示が正しく反映されない可能性があります。
そのため、長文を生成する際は、トークン数の上限を超えることがないようにプロンプトを上手に工夫するか、文章を分割しながら、生成する必要があります。
モデルのトークン上限を把握して活用することで、より正確で期待通りの出力が得られやすくなります。
まとめ
ChatGPTで正確な文字数を指定することは、簡単ではありません。
しかし、上限と下限を指定したプロンプトや、仕組みの理解によってその精度を高めることが可能です。
また、文字数指定がうまくいかない場合は、トークン数や文章の長さ、そして与えた情報量を見直すことで解決できるケースも多くあります。
この記事で紹介したポイントを押さえることで、ChatGPTをより効果的に活用し、求める文字数を達成することができるでしょう。