みなさん,こんにちは。
シンノユウキ(shinno1993)です。
TwitterでChatGPTで栄養計算できる?的なツイートが拝見しましたので,なるほどそんな使い方があったのかと,ちょっとやってみることしました。
今回は栄養計算できるかどうかというよりも,ChatGPTが食品成分表の値を正しく参照できるかどうかについて確認してみることとしました。
ではやってみましょう!
検証方法
①成分表の値を正しく把握しているか確認
今回の検証では,ChatGPTが日本で広く使用されている日本食品標準成分表:「日本食品標準成分表2020年版(八訂)」(以下 成分表2020)に収載の食品100g当たりの成分値を正しく把握できているかを確認することとしました。
日本食品標準成分表は,消費者庁「食品表示法に基づく栄養成分表示のためのガイドライン第4版」において,分析以外の方法により表示値を求める場合に参照するのに適したデータベース等の例としてあげられているものです。現状,栄養計算においては最も参照されているデータベースだと推測されるため,検証に使用する成分値として妥当だと判断しました。
加えて,100g当たりの成分値を正しく把握できてさえいれば,そこからの重量換算も正しく行えるだろうと想定しました。
②検証する食品
検証する食品は,普段よく食べられていると想定される下記の食品としました(こちらの資料に掲載の食品から抜粋。食品番号は成分表2020のものを使用し,食品名は可能な限り簡略化)。
食品番号 | 食品名 |
---|---|
01088 | こめ 水稲めし 精白米 うるち米 |
01026 | 食パン |
01039 | うどん ゆで |
02017 | じゃがいも 塊茎 皮なし 生 |
12004 | 鶏卵 全卵 生 |
11221 | 若鶏肉 もも 皮つき 生 |
10173 | さんま 皮つき 生 |
13003 | 普通牛乳 |
16006 | ビール 淡色 |
14006 | 調合油 |
③表示する栄養素
表示する栄養素は,栄養成分表示において表示が義務づけられている下記の5つとしました:熱量(エネルギー),たんぱく質,脂質,炭水化物,食塩相当量。
④作成したプロンプト
上記を踏まえ,下記のプロンプトを作成しました:
日本食品標準成分表2020年版(八訂)に基づいて,下記の食品の重量100gあたりのエネルギー・たんぱく質・脂質・炭水化物・食塩相当量を表形式で示してください。
- こめ 水稲めし 精白米 うるち米
- 食パン
- うどん ゆで
- じゃがいも 塊茎 皮なし 生
- 鶏卵 全卵 生
- 若鶏肉 もも 皮つき 生
- さんま 皮つき 生
- 普通牛乳
- ビール 淡色
- 調合油
このプロンプトから出力された結果と,実際の成分表2020の値と比較し,正確かどうかを確認しました。
⑤使用したChatGPTのモデルおよびバージョン
今回使用したChatGPTのモデルはGPT4,バージョンは2023年3月23日に公開されたものを使用しました(リリースノート参照)。
結 果
①入力プロンプトと出力結果のスクリーンショット
まずは入力したプロンプトと出力された結果のスクリーンショットを示します。
②出力結果と成分表2020の値を比較
では,ChatGPTから出力された結果と,成分表2020の値とを比較してみましょう。下記のようになりました。
思ったよりもいい線いっています。スゴいなぁという印象を持ちました。個々の食品の栄養組成を割と捉えているため,それなりに妥当な値になっています。しかし,やはり成分表2020の値とは一致していません。
まとめ:ChatGPTの栄養計算は「正確」か?
今回は,日本で普段よく食べられていると想定される食品について,ChatGPT(Model4, Mar 23 Version)が日本の食品成分表(日本食品標準成分表2020年版(八訂))の成分値を正しく把握しているかどうかを,栄養成分表示で義務表示になっている5つの栄養素等について検証してみました。
その結果,成分表2020の値にそれなりに近しい値になっており,それぞれの食品を識別可能なレベルには正確であるものの,成分表2020の値とは一致していませんでした。結論として,現時点でのChatGPTの栄養計算は,正確性を要する栄養計算に使用できるほど「正確」ではありません。栄養計算の正確さという意味においては,成分表2020の値とまったく同じでなくてはならず,ChatGPTは十分な正確さを担保できません。
ChatGPTは,その性質上,回答に正確さを求めるのは非常に困難です。したがって,今回のような成分表の値を正しく出力せよという要望は,ChatGPTにお願いするものとしては不適切であり避けるべきものでしょう。ChatGPTが悪いのではなく,使い方を誤っている我々が悪いということになります。
ところで,今回は日本食品標準成分表をゴールドスタンダードとして検証しましたが,日本食品標準成分表の値が必ずしも正しいとは限らない,という点にも留意は必要でしょう。たとえば,日本食品標準成分表は1食品1成分値を原則としており,全国的な代表値が示されています。また成分表自体に誤植がある可能性もあります。したがって,実際に目の前で食べている食品の成分値と必ずしも同じというわけではないのです。当然のことです。
一方でChatGPTは,インターネット上から取得した膨大なテキストデータを用いてトレーニングされています。そのため,日本食品標準成分表よりも正しい値を出している可能性だって,ないわけではないということになります(実際に検証することは困難ですが)。もちろん,現段階ではChatGPTから算出された数値には信頼性が乏しいため,それを使用することは困難ですが,それぞれのツールの限界を知っておくことは重要だと思います。
さて,ChatGPTでも事前にマスタデータを読み込ませることで,栄養計算のUIとして使用することは可能かもしれません。これについては,別の記事で紹介したいと思います。
連載目次
- ChatGPTの栄養計算は「正確」か?(GPT4, Mar 23 Version)現在のページ
- ChatGPTを栄養計算のUIとして使う方法