みなさん,こんにちは。
シンノユウキ(shinno1993)です。
今回はChatGPTを栄養計算のUIとして使う方法を紹介します。
前回の記事で,ChatGPT(Model4)が「日本食品標準成分表2020年版(八訂)」のデータを正確に参照できず,正確な栄養計算は不可能であることを取り上げました。
しかし,事前に正しい成分値の情報を教えることで,正確な栄養計算を行えるようになります。これにはいくつかの方法がありますが,プロンプトで正確な成分値を指定し,その情報に基づいて栄養計算を依頼する方法が効果的でしょう(In-context learning)。
以下では,具体的にChatGPTを栄養計算のUIとして使う方法を紹介していきます。
ChatGPTを栄養計算のUIとして使う方法
手順①:使用する食品の成分値マスタを用意する
まず,使用する食品の成分値マスタを用意しましょう。
マスタには,食品名と栄養素(エネルギーやたんぱく質など),重量を含めます。これには「日本食品標準成分表2020年版(八訂)」の成分値を利用しても構いませんし,なんらかの商品に記載された成分値を使用したい場合はそれを利用します。
最終的にChatGPTのプロンプトとして入力しますので,テキスト形式で作成しておくと便利です。Excel形式でマスタを作成した場合は,「Markdown表変換ツール」などを使用し,Markdown形式に変換しておくと便利です。Markdown形式で作成する場合は,下記のような形になります:
|食品名|エネルギー|たんぱく質|脂質|炭水化物|食塩相当量|
|:----|:----|:----|:----|:----|:----|
|ご飯|156|2.5|0.3|37.1|0|
|食パン|248|8.9|4.1|46.4|1.2|
|うどん|95|2.6|0.4|21.6|0.3|
|じゃがいも|59|1.8|0.1|17.3|0|
|卵|142|12.2|10.2|0.4|0.4|
|鶏肉|190|16.6|14.2|0|0.2|
|さんま|287|18.1|25.6|0.1|0.4|
|牛乳|61|3.3|3.8|4.8|0.1|
|ビール|39|0.3|0|3.1|0|
|調合油|886|0|100|0|0|
手順②:ChatGPTに食品マスタを読み込ませる
次に,ChatGPTに食品マスタを読み込ませます。同時に,どのように栄養計算を行ってほしいか指示も与えます。たとえば,プロンプトは以下のようになります:
あなたには,栄養士として食品の栄養計算を行っていただきたいです。以下に,「食品成分マスタ(重量100g当たり)」と「栄養計算にあたっての条件」を示します。
これから,栄養計算してもらいたい食品と重量を,お知らせします。それらの食品と重量について,栄養計算を行ってください。
## 栄養計算にあたっての条件
- 栄養計算は,提示した「食品成分マスタ」に基づいて行ってください。
- 計算結果は表形式で示してください。
- 最後の行に合計を示してください。
- 食品成分マスタに示されていない食品については,計算を中止し,警告を示してください。
## 食品成分マスタ(重量100g当たり)
|食品名|エネルギー|たんぱく質|脂質|炭水化物|食塩相当量|
|:----|:----|:----|:----|:----|:----|
|ご飯|156|2.5|0.3|37.1|0|
|食パン|248|8.9|4.1|46.4|1.2|
|うどん|95|2.6|0.4|21.6|0.3|
|じゃがいも|59|1.8|0.1|17.3|0|
|卵|142|12.2|10.2|0.4|0.4|
|鶏肉|190|16.6|14.2|0|0.2|
|さんま|287|18.1|25.6|0.1|0.4|
|牛乳|61|3.3|3.8|4.8|0.1|
|ビール|39|0.3|0|3.1|0|
|調合油|886|0|100|0|0|
実際にこれを伝えると,下記のような応答が帰ってきます。
承知しました。次に、栄養計算を行いたい食品と重量をお知らせください。
手順③:ChatGPTに計算する食品と重量を伝える
最後に,ChatGPTに計算する食品と重量を伝えます。上記の手順②のプロンプトとは別のプロンプトとして示すと見やすくなります。下記のような感じです。
- ご飯 150g
- うどん 200g
- 卵 50g
- 牛乳 200g
実際に出力された結果は下記のようになっていました。
前回の記事ではChatGPTでは正しく栄養計算ができませんでしたが,この方法を用いることで正しく栄養計算ができるようになりました。
ChatGPTを栄養計算のUIとして使うメリットとデメリット
メリット
- 簡単なテキスト入力で栄養計算ができる:ChatGPTを使って栄養計算を行うことで,テキスト入力だけで手軽に栄養計算ができます。テキスト形式のため,コピーやペーストを使って再利用も簡単です。
- 出力形式が簡単に指定できる:指示するだけで,さまざまな出力形式に対応できます。たとえば,計算結果を100gあたりに換算したり,表形式ではなくリスト形式で表示したりと,柔軟に対応が可能です。
- 食品成分表にない食品の計算も手間なくできる:食品成分表にない食品の栄養計算も簡単に行えます。市販の栄養計算ソフトでは登録作業が大変ですが,自分で作成したマスタを指定することで,食品成分表にない食品でも手軽に計算できます。これはChatGPTを利用する場合の大きな利点です。
デメリット
- 食品データの準備が手間がかかる:ChatGPTを栄養計算用のUIとして使用する場合の最大の欠点は,食品の成分データを準備する必要があることです。さらに,食品や栄養素の項目が多い場合,ChatGPTの文字数制限により制約を受けることがあります。そのため,限定された食材や栄養素を対象にする場合(例:菓子やパンの栄養表示)が適していると言えるでしょう。
- プロンプトの誤解釈に注意:ChatGPTがプロンプトを誤解するリスクも存在します。プロンプト内容を工夫することである程度抑制できますが,完全には解消できません。この点を考慮して運用する必要があります。
まとめ
今回は,ChatGPTを栄養計算のUIとして使う方法を紹介しました。
正確な成分値情報を事前に与えることで,正確な栄養計算が可能になります。テキスト入力だけで手軽に栄養計算ができ,出力形式も簡単に指定できる点がメリットです。一方,食品データの準備が手間がかかることと、プロンプトの誤解釈に注意が必要な点がデメリットとして考えられます。
特定の食材や栄養素のみについて栄養計算を行う場面に向いていると言えるでしょう。
連載目次
- ChatGPTの栄養計算は「正確」か?(GPT4, Mar 23 Version)
- ChatGPTを栄養計算のUIとして使う方法現在のページ