ユニット 4 / 11

食品データベースと栄養データ: AI を適切なソースに接続する

利益:

  • 人工知能の記憶ではなく、よく知られたデータベース (USDA、TÜBER、BeBiS) から栄養価を取得する必要性を理解する能力
  • RAG ロジックを使用して、ソースから抽出されたデータのみを使用して計算と解釈を行うように人工知能を指示する機能
  • 生/調理済みの変換、部分の明確さ、ソースの一貫性を考慮することにより、栄養上の誤りを防ぐ能力

栄養士の日々の仕事の中心は、「この栄養素にはどれくらい含まれているのか?」という質問です。質問があります。鶏胸肉100グラムにはたんぱく質が何グラム含まれていますか?全粒粉パンのスライスには何グラムの繊維が含まれていますか?オリーブオイル大さじ1杯のカロリーはどれくらい?これらの質問に対する答えは、食品成分データベース、つまり実験室分析に基づいて数千の食品のエネルギー、主要栄養素、微量栄養素の含有量をリストした公式の表に保管されています。この分野における人工知能の最も危険な間違いは、人工知能がこれらの数値を「記憶している」と考えることです。ただし、言語モデルは数値を記憶しません。確率的に生成され、多くの場合、現実に近い値が得られますが、場合によっては大きく間違っています。このユニットの主なメッセージは明確です。AI の記憶からではなく、認識されたデータベースから栄養価を取得します。 AI はデータを記憶するためではなく、正確なデータを扱うために使用します。

有名なデータベースとその用途

世界中およびトゥルキエで広く使用されている主な情報源は次のとおりです。

データベース

範囲

強み

注意

USDA FoodData Central (米国)

非常に大規模な、約 25 万件のレコード

詳細、無料、API 付き

米国製品。地元の食材限定

TÜBER / トゥルキエ栄養ガイドサプリメント

トルコ料理を中心とした

郷土料理と郷土料理

USDAよりも範囲が狭い

BeBiS(栄養情報システム)

トゥルキエの一般的なソフトウェア

トルコのレシピ

ライセンスされたソフトウェア

USDA/ユーロFIR

ヨーロッパの成分データ

国ベースの標準

アクセスは組織的に行うことができます

「API」とは、ソフトウェアがプログラム的に (自動的に) データベースに質問し、構造化された回答を受け取ることを可能にするインターフェースのことです。 USDA FoodData Central のようなリソース用の API を使用すると、将来的に AI ツールを実際のデータに接続できるようになります。これは「データ駆動型 AI」アプローチの基礎です。つまり、モデルに適合させるのではなく、実際のソースから抽出します。

注意: 同じ栄養素でも、異なるデータベースでは異なる値を示す場合があります。栽培条件、品種、調理方法、分析が異なるため。単一の「正しい」数値はありません。妥当な範囲があります。一貫性を保てるように、クライアント計画で使用するリソースを記録します。

「検索」ロジック:AIをソースに接続する

最新のアプリケーションでは、AI を実際のデータに接続する方法は、RAG アプローチ (英語では Retrieval-Augmented Generation) です。簡単に説明すると、モデルは、記憶から答えを当てはめるのではなく、まず信頼できるソース (データベース、ドキュメント) から関連データを取得し、そのデータに基づいて答えを生成します。実際には、これを 2 つの方法で実装します。

  1. 手動給餌: 信頼できるテーブルから食品の値をコピーし、AI に与えます。 AI はこのデータを使用して計算/解釈するだけであり、自身のメモリから数値を加算することはありません。
  2. コネクテッド車両: データベースに接続された車両を使用します。 AI はクエリを実際のソースに転送し、返された値を使用します。

どちらの場合も、黄金律は同じです。数値はソースから取得され、AI がそれを解釈します。 「レンズ豆100グラム中に鉄分はどれくらい?」 YZに尋ねた。自由回答形式の質問をすることは捏造を招くことになります。

ジェネリック製品、ブランド製品、ミールミックス

栄養素データベースには同じ名前の下に複数のレコードがあり、間違ったレコードを選択すると、サイレントエラーの原因となります。たとえば、「ヨーグルト」を検索すると、全脂肪、半脂肪、無脂肪、ギリシャ タイプ (裏ごし)、加糖フルーツ ヨーグルトなど、数十の異なるレコードが表示されます。それらのカロリーとマクロは互いに非常に遠いです。ギリシャヨーグルトには通常のヨーグルトの約2倍のタンパク質が含まれています。同様に、「ブランド製品」レコード (企業のパッケージ製品) と「一般栄養」レコードには異なる値が含まれます。適切な方法では、クライアントが実際に消費する製品とできるだけ一致させます。可能であれば、パッケージの栄養ラベルに基づいて、それ以外の場合は、データベース内の最も近い説明を選択します。 AIに「どのレコードを選べばいいですか?」と尋ねます。相談すると、適切な検索語が提案されます。ただし、最終的なレコードの選択とレーベルとの比較はあなたの制御下にあります。計画全体を通じて同じ栄養素に対して同じ記録を使用することも、一貫性を保つために重要です。全脂肪乳を半分の時間、スキムミルクを半分の時間で使用すると、合計が歪められます。

分量と料理の換算

栄養データベースには通常、生の 100 グラムあたりの値が示されています。しかし、クライアントは生のレンズ豆ではなく、調理したレンズ豆を食べます。調理中に水分を吸収すると重さが変化します。 100グラムの生米は、調理すると約250〜300グラムに増加します。そのため、「調理した200グラム」と「生の100グラム」では栄養価が異なります。 AI はこれらの変換を行うことができますが、方向性を混乱させる可能性があります。使用する値が生のものか調理済みのものかを常に明確にしてください。これは計算エラーの頻繁な原因です。

ミニケース3個

ケース 1 — 幻覚を感じる。栄養士がYZさんに「茹でたブロッコリー100グラムにはたんぱく質が何グラム含まれていますか?」と質問した。彼は尋ねます。 AIは「約8グラム」と言う。栄養士は USDA を調べます。実際の値は約 2.4 グラムです。 AIはそれをマメ科植物/ナッツのデータと混合し、3倍に膨らませました。栄養士は正しい値を使用します。教訓: 緑の野菜はタンパク質が少ない。ペラペラだからといって数字が正しいわけではありません。

ケース 2 — 生と調理済みの混同。計画草案では、AI は「パスタ 150 グラム」の生の値 (約 525 kcal) を使用しますが、クライアントは調理済みのパスタ 150 グラム (約 210 kcal) を食べています。その差は1食で315kcalと、1日1食でも大きな乖離です。栄養士は「調理済み」という測定単位を明確にして再計算します。

ケース 3 — 正しい使用方法。栄養士は農務省から鶏肉、米、ブロッコリーの100グラムの値をコピーし、「このデータを使用して食事の合計マクロを計算し、独自のメモリから数値を加算してください」という指示とともにAIに与えます。 AI は指定された数値を加算するだけです。栄養士はそれを叩き返して確認した。データはソースから取得され、AI が演算を行いました。

コピー可能なプロンプトテンプレート

ソース データを使用した計算テンプレート (RAG ロジック) あなたの役割: あなたに与えられた栄養価のみを使用して作業するアシスタント。あなた自身の記憶に基づいて栄養価を追加または変更します。データが不足している場合は、「[データなし]」と記入して補ってください。データ (100 g あたり、出典: USDA): - 鶏の胸肉 (調理済み): 165 kcal、タンパク質 31 g、脂肪 3.6 g、炭水化物 0 g - 米 (調理済み): ...タスク: 鶏肉 120 g + 米 150 g の合計 kcal とマクロを計算します。

生/調理済み換算テンプレート次の食品の値は、生 100 g あたりで示されます: [値]。クライアントは調理済みの [X] g を食べます。調理すると、重量~[比率]が変化します。したがって、食べた量の栄養価を計算し、どの仮定を使用するかを明確に記入してください。

データベース クエリ準備テンプレート 食事の栄養価を調べたいと考えています。次の食品について、食品データベース (USDA/TUBER) でどの用語を検索する必要があるか、生/調理済みのどのレコードを選択する必要があるかをリストします。あなたに価値観を与えないでください。正しい検索用語と注意点を教えてください。栄養素: [...]

一貫性チェック テンプレート次の食事の栄養価を 2 つの異なる方法で解釈します: (1) すべての食品が生であると仮定する、(2) すべての食品が調理されていると仮定する。 2 つの合計を比較し、その違いがどこから来るのかを説明します。したがって、どの仮定を検証する必要があるかがわかります。

弱いプロンプト / 強いプロンプト

弱いプロンプト:

レンズ豆のスープ1杯のカロリーはどれくらいですか?

「料理」というのは曖昧で、レシピも曖昧で、出典も不明です。 AIは記憶から数字を作り上げますが、どのようにしてその数字を思いついたのかについては説明しません。

強力なプロンプト:

あなたの役割: 与えられたデータのみを使用して計算するアシスタント。レンズ豆のスープ 1 回分 = 300 g。成分(100 gあたりの値、USDA出典、以下に示します):赤レンズ豆(調理済み)[値]、玉ねぎ[値]、オリーブオイル[値]。 1食分あたりの量: [...]。このデータを使用して合計 kcal とマクロを計算します。メモリから追加するのではなく、ステップを表示します。

2 番目のプロンプト ソースは、提供、生/調理済みの情報、および「追加しない」制約を提供します。出力は監査可能で信頼性があります。

よくある間違い

  • AI の記憶を信頼する: 栄養価についての無制限の質問。これは幻覚への招待状です。
  • 生と調理の混同: 最も一般的なサイレントミス。測定単位を常に明確にしてください。
  • 情報源の混乱: 異なるデータベースからの異なる栄養素を混合する。計画内で一貫したリソースを使用します。
  • 曖昧な部分を残す:「一皿」「一掴み」などの表現をグラムに換算せずに計算する。
  • 範囲ではなく単一の数値に焦点を当てる: 同じ食品には妥当な範囲の値があることを忘れます。誤った確実性を生み出します。

要約すれば

栄養データは言語モデルが最も弱い領域です。モデルは数値を覚えていないため、数値を生成します。そのため、常に認知されたデータベース (USDA、TÜBER、BeBiS) から栄養価を取得し、AI を使用してそのデータのみを計算して解釈します (RAG ロジックに基づいて、ソースから取得したデータ)。生/調理済みの変換、部分の明瞭さ、ソースの一貫性に注意してください。数値が流暢に出たからといって、それが正しいわけではありません。情報源と協力することによってのみ真実を得ることができます。

アプリケーションタスク

食品を 3 つ選択します (ゆで卵、全粒粉パン、ギリシャヨーグルトなど)。まず、AI にオープンエンドで質問し、その値を (その記憶から) 取得します。次に、USDA FoodData Central から同じ栄養素の実際の値を見つけます。 2 つのセットを比較し、それぞれの食品にどの程度の偏差があるかを表に書き留めます。この表は、「記憶を信頼せず、ソースにリンクする」という原則を明らかにします。

チェックリスト

  • [ ] AI の記憶ではなく、有名なデータベースから栄養価を取得しました。
  • [ ] AI に「与えられたデータのみを処理し、何も追加しない」という制限を設けました。
  • [ ] 食品ごとに生か加熱済みかを明確にしました。
  • [ ] 分量をグラムに換算してみました。私は「一皿/一握り」を残しませんでした。
  • [ ] 計画内で単一の一貫したソースを使用しました。
  • [ ] AI の合計を掛け算して検証しました。