どういうファイル形式の回答精度は高い?
どういうファイル形式の回答精度は高い?
このページは、AIアシスタントのChaakoが運営するチャットボットChaakoBotの使用説明です。
結論からいいますと
- 構造化データであればjson/jsonl
- それ以外はPlanText
ということです。
1.構造化データ
構造化データの場合、JSONやJSONLが最適なフォーマットです。これらのフォーマットは機械可読性が高く、情報を効率的に処理することができます。
2.非構造化データ
一方、非構造化データの場合は、プレーンテキスト(.txt)の使用が推奨されます。プレーンテキストには余計な装飾や書式設定がないため、AIがテキストの内容に集中しやすくなります。
3.重要な情報を強調したい時
WordやPDFファイルの太字などの書式設定は、AIに重要性を伝えるのにそれほど効果的ではありません。重要な情報を強調したい場合、ワードやPDFのような形式で文字を太字にするよりも、HTMLやマークダウンを使用して情報をマークアップする方が効果的です
4.ファイルのサイズと形式
ファイルの取り扱いに関しては、AIは大きな一つのファイルでも対応可能です。ただし、データの種類や処理の要件に応じて、適切なファイル形式を選択することが重要です。
5.その他補足情報
上記はあくまで一般的な傾向であり、状況によって最適なファイル形式は異なります。 ファイルの内容や書き方も、回答精度に影響を与える可能性があります。
構造化にできるようなドキュメントであれば、極力にJSON/JSONLで構造化にすることが望ましいでしょう。
6.まとめ
- 構造化データ: 商品情報 (ID, 名称, 価格, カテゴリ)
- 推奨: JSON/JSONL
- 非構造化データ: ニュース記事
- 推奨: Plain Text (.txt)
- 重要情報: 法律条文など
- 推奨: HTML/Markdown (太字ではなく、見出しやタグを使用)
7.【参考】構造化データの具体例
たとえば、このようなデータがあるとします。
販売中商品:
商品名:ChaakoBot
価格:28円
おすすめ度:8/10
商品名:うまい棒
価格:20円
おすすめ度:10/10
販売停止商品:
商品名:LINEBOT
価格:28円
おすすめ度:3/10
これをCSVにするなら、
カテゴリ,商品名,価格,おすすめ度
販売中商品,ChaakoBot,28,8
販売中商品,うまい棒,20,10
販売停止商品,LINEBOT,28,3
になりますが、AIはどうもこれを構造的に理解するのが未だに苦手の様で、JSONかJSONLにした方が良いということです。
JSON
[{
"カテゴリ": "販売中商品",
"商品": [{
"商品名": "ChaakoBot",
"価格": 28,
"おすすめ度": 8
},
{
"商品名": "うまい棒",
"価格": 20,
"おすすめ度": 10
}
]
},
{
"カテゴリ": "販売停止商品",
"商品": [{
"商品名": "LINEBOT",
"価格": 28,
"おすすめ度": 3
}]
}
]
JSONL
{"カテゴリ":"販売中商品","商品":[{"商品名":"ChaakoBot","価格":28,"おすすめ度":8},{"商品名":"うまい棒","価格":20,"おすすめ度":10}]}
{"カテゴリ":"販売停止商品","商品":[{"商品名":"LINEBOT","価格":28,"おすすめ度":3}]}
一方で、記事などの非構造化データも、可能であれば、構造化にした方が良いでしょう。例えば、以下のような文章があるとします。
HTML
<h1>インスタアカウントで収入を稼ぐ3つの方法と成功させるためのコツ
<h2>インスタで稼ぐ3つの方法
インスタのアカウントを収益化させるには3つの方法がある。
<h3>企業案件を受ける
インスタグラマーとしてPR案件を受ける。
<h3>アフィリエイト
アフィリエイターとして稼ぐという方法もある。
<h3>物販
フォロワーにハンドメイドなどを販売する。
<h2>インスタからの収入アップを成功させるコツ
インスタからの収入アップを成功させるためにも3つのコツがある。
<h3>フォロワーを増やす
フォロワーが増えれば収入も増える
<h3>嘘をつかない
フォロワーの気持ちを大事にするのが重要
<h3>自分が好きなことを貫く
軸がブレては本末転倒。
これをJSON形式にすると以下のようになります。
JSON
{
"title": "インスタアカウントで収入を稼ぐ3つの方法と成功させるためのコツ",
"sections": [{
"title": "インスタで稼ぐ3つの方法",
"description": "インスタのアカウントを収益化させるには3つの方法がある。",
"methods": [{
"title": "企業案件を受ける",
"description": "インスタグラマーとしてPR案件を受ける。"
},
{
"title": "アフィリエイト",
"description": "アフィリエイターとして稼ぐという方法もある。"
},
{
"title": "物販",
"description": "フォロワーにハンドメイドなどを販売する。"
}
]
},
{
"title": "インスタからの収入アップを成功させるコツ",
"description": "インスタからの収入アップを成功させるためにも3つのコツがある。",
"tips": [{
"title": "フォロワーを増やす",
"description": "フォロワーが増えれば収入も増える"
},
{
"title": "嘘をつかない",
"description": "フォロワーの気持ちを大事にするのが重要"
},
{
"title": "自分が好きなことを貫く",
"description": "軸がブレては本末転倒。"
}
]
}
]
}
-非構造化データを構造化データにするには?
ChatGPTやClaudeに文章を投げて「JSONにして」と言えば、やってくれます。
ちなみに、Gemini(20ドルを盗るAdvancedも含め)に「JSONにして」というと、、2024年4月18日現在は未だに「私は勉強中でそんなことできない」と言い訳をしてタスクの執行を拒絶しやがります。
-非構造化にできない場合は?
しかしながら、ファイルの内容によっては、そもそも構造化にできない場合もあります。もしくは、構造化にしてしまうと却って非効率的になったり、精度が落ちたりします。
対処方法の一つとしては以下のように
- 関連性のある内容をファイルごとにまとめる。
- それぞれのファイルを説明するインデックスファイルを作る
- Instructionsにおいて、ファイルを検索する際は必ずIndexを手掛かりにするように指示する
にすれば、大抵のケースは解決されます。