Hogyan építettük fel a világ legpontosabb élelmiszer-adatbázisát: A Nutrola táplálkozási adatainak háttere
Bepillantás a Nutrola táplálkozási adatbázisának felépítésébe és fenntartásába, amelyet több mint 2 millió felhasználó bízik meg — az adatforrások, ellenőrzési folyamatok és a pontosságot fenntartó technológia bemutatása.
Amikor egy csirkemellet rögzítesz egy kalóriaszámláló alkalmazásban, bízol benne, hogy az ott látott szám helyes. Bízol abban, hogy valaki, valahol pontosan megmérte azt az ételt, helyesen rögzítette az adatokat, és hogy azóta senki sem manipulálta azokat.
Ez a bizalom gyakran téves.
A legtöbb táplálkozási alkalmazás tömegesen gyűjtött adatbázisokra támaszkodik, ahol bárki benyújthat egy bejegyzést. Ennek eredménye egy káosz. Keresel egy "banánt", és 47 bejegyzést találsz, amelyek vadul eltérő kalóriaszámokat mutatnak. Beolvasol egy vonalkódot, és három évvel ezelőtti táplálkozási adatokat kapsz, mielőtt a gyártó átalakította volna a terméket. Rögzítesz egy éttermi ételt, és a bejegyzést valaki találgatta.
A Nutrolánál már a kezdetekkor eldöntöttük, hogy az adatpontosság nem csupán egy funkció — ez az alap. Minden más, amit építünk, attól függ, hogy a számok helyesek legyenek. Ez a történet arról szól, hogyan építettünk fel egy táplálkozási adatbázist, amelyet több mint 2 millió felhasználó bízott meg, és azokról a rendszerekről, amelyeket minden egyes nap a pontosság fenntartására használunk.
Miért hibásak a legtöbb táplálkozási adatbázis
Mielőtt elmagyaráznánk, mit csinálunk másképp, érdemes megérteni, miért hibás a standard megközelítés.
A tömeges adatgyűjtés problémája
A legnépszerűbb kalóriaszámláló alkalmazások tömegesen gyűjtött adatbázisokat használnak. A felhasználók ételeket nyújtanak be, más felhasználók ezeket használják, és az adatbázis organikusan nő. Ez a modell gyorsan skálázódik, ezért alkalmazzák az appok. De rendszerszintű hibákat vezet be, amelyek idővel felhalmozódnak.
Íme a leggyakoribb problémák a tömegesen gyűjtött táplálkozási adatokkal:
| Probléma | Hogyan történik | Hatás a felhasználókra |
|---|---|---|
| Duplikált bejegyzések | Több felhasználó ugyanazt az ételt különböző adatokkal nyújt be | A felhasználók véletlenszerű bejegyzéseket választanak, következetlen eredményeket kapnak |
| Elavult információk | A termékek átalakulnak, de a régi bejegyzések megmaradnak | A kalória- és makroszámok 20-40%-kal eltérhetnek |
| Helytelen adagméretek | A felhasználók grammokban rögzítik az adatokat, amikor a címke unciákban mutat, vagy fordítva | Az adagok kiszámítása alapvetően hibás |
| Hiányzó mikrotápanyagok | A felhasználók csak a kalóriákat rögzítik, a vitaminokat, ásványi anyagokat, rostokat kihagyják | A mikrotápanyagok nyomon követése megbízhatatlanná válik |
| Regionális eltérések | Ugyanaz a termék különböző formulákkal rendelkezik különböző országokban | Az egyik ország felhasználói olyan adatokat kapnak, amelyek egy másik országra vonatkoznak |
| Kitalált bejegyzések | A felhasználók hozzávetőleges vagy kitalált táplálkozási adatokat adnak meg | Nincs mód megkülönböztetni a valós adatokat a találgatásoktól |
A 2024-ben a Journal of the Academy of Nutrition and Dietetics-ben megjelent tanulmány megállapította, hogy a tömegesen gyűjtött élelmiszer-adatbázisok hibaarányai 15% és 30% között mozogtak a gyakran rögzített ételek esetében. A ritkábban előforduló ételek esetében a hibaarány meghaladta a 40%-ot.
Ez azt jelenti, hogy ha nap mint nap gondosan nyomon követed az ételeidet, a tényleges beviteled több száz kalóriával eltérhet. Valakinek, aki 300 kalóriás hiányt próbál tartani a fogyás érdekében, ez a hibahatár teljesen eltüntetheti a haladását.
Az elavult adatok problémája
Az élelmiszergyártók folyamatosan változtatják a receptjeiket és formuláikat. Egy fehérje szelet, amely tavaly 20 gramm fehérjét tartalmazott, ma lehet, hogy csak 18 grammot. Egy fagyasztott étel, amely 350 kalória volt, most 380 lehet. A csomagolás változik, az összetevők cserélődnek, az adagméretek módosulnak.
A legtöbb táplálkozási adatbázis nem rendelkezik olyan rendszerrel, amely észlelné ezeket a változásokat. Az eredeti bejegyzés örökre a rendszerben marad, fokozatosan eltávolodva a valóságtól.
A vonalkód-olvasás hiányosságai
A vonalkód-olvasás az egyik legnépszerűbb funkció a kalóriaszámláló alkalmazásokban. A felhasználók szeretik, mert pontosnak tűnik — éppen azt a terméket olvasod be, amit eszel. De a vonalkód-adatbázisoknak is megvannak a maguk problémái. A termékek különböző formulákat osztanak meg a régiók között. Az üzletláncok újrahasználják a vonalkódokat, amikor beszállítót váltanak. És sok termék egyszerűen nincs is az adatbázisban, különösen a nemzetközi vagy különleges élelmiszerek esetében.
A Nutrola megközelítése: Ellenőrzött adatok minden szinten
Adatbázisunkat alapvetően más filozófiára építettük: minden táplálkozási adatnak nyomon követhetőnek kell lennie egy ellenőrzött forráshoz, és minden bejegyzést folyamatosan érvényesíteni kell.
Íme, hogyan működik ez a gyakorlatban.
1. réteg: Kormányzati és intézményi források
Adatbázisunk alapját hivatalos kormányzati táplálkozási adatbázisok képezik. Ezek a táplálkozási adatok aranyszabványai, mivel képzett élelmiszertudósok készítik őket szabványosított laboratóriumi módszerekkel.
Fő intézményi forrásaink közé tartozik:
- USDA FoodData Central — Az Egyesült Államok Mezőgazdasági Minisztériuma fenntartja a világ legátfogóbb laboratóriumi elemzésű élelmiszer-adatbázisát, több mint 380,000 bejegyzéssel, amelyek nyers összetevőket, márkás termékeket és éttermi ételeket tartalmaznak.
- EFSA Comprehensive European Food Consumption Database — Az Európai Élelmiszerbiztonsági Hatóság táplálkozási adatokat biztosít, amelyek figyelembe veszik az európai élelmiszerformulákat és regionális összetevőket.
- Food Standards Australia New Zealand (FSANZ) — Az ausztrál és új-zélandi piacra jellemző termékek és összetevők lefedettsége.
- Health Canada Canadian Nutrient File — Laboratóriumi elemzésű adatok a Kanadában gyakran fogyasztott ételekről.
- National Institute of Health and Nutrition (Japán) — Japán ételei és összetevői, amelyek gyengén képviseltetik magukat a nyugati adatbázisokban.
Nem egyszerűen importáljuk ezeket az adatbázisokat, és kész. Normalizáljuk az adatokat a források között, összeegyeztetjük az ellentmondásokat (amikor ugyanaz az étel több adatbázisban kissé eltérő értékekkel szerepel), és mindent egy egységes sémához térképezünk, amely figyelembe veszi az adagméreteket, elkészítési módszereket és regionális eltéréseket.
2. réteg: Gyártó által ellenőrzött termékadatok
A márkás és csomagolt termékek esetében közvetlen adatkapcsolatokat tartunk fenn az élelmiszergyártókkal és kiskereskedőkkel. Amikor egy cég frissíti egy termék formuláját, megkapjuk az új táplálkozási információkat — gyakran még azelőtt, hogy azok a boltok polcaira kerülnének.
Ez a réteg több mint 1.2 millió márkás terméket fed le 47 országban. Minden bejegyzés tartalmazza:
- Teljes táplálkozási tények panel adatokat (nem csak kalóriákat és makrókat)
- Összetevőlistákat allergén jelöléssel
- Adagméret információkat több mértékegységben
- Regionális formulációs variánsokat
- Termék státuszt (aktív, megszüntetett, átalakított)
Amikor észleljük a formulaváltozást, frissítjük a bejegyzést, és megjelöljük, hogy a felhasználók, akik rendszeresen rögzítik ezt a terméket, a jövőben pontos adatokat lássanak. Nem töröljük a régi bejegyzéseket — archiváljuk őket időbélyeggel, hogy a történelmi naplók pontosak maradjanak.
3. réteg: AI-alapú adatellenőrzés
Itt tér el a megközelítésünk legnagyobb mértékben az ipari sztenderdtől. Gépi tanulási modelleket használunk, hogy folyamatosan érvényesítsük adatbázisunk minden bejegyzését, és észleljük azokat a hibákat, amelyeket az emberi ellenőrzés elmulaszthat.
Ellenőrző rendszerünk a következőket vizsgálja:
Statisztikai kiugrások. Ha egy élelmiszer-bejegyzés kalória- vagy makróértékei a várható tartományon kívül esnek, azt feljegyzik felülvizsgálatra. Egy csirkemell, amely 400 kalóriát tartalmaz 100 grammonként, azonnal észlelhető.
Makró-kalória összhang. A kalóriák kiszámíthatók a makrotápanyagokból (4 kalória grammonként fehérje, 4 grammonként szénhidrát, 9 grammonként zsír, 7 grammonként alkohol). Ha egy bejegyzés állított kalóriái nem egyeznek meg a makrókból kiszámított összeggel, valami nem stimmel. Rendszerünk akár 5%-os eltéréseket is észlel.
Keresztforrás-ellenőrzés. Amikor ugyanaz az étel több forrásadatbázisban is megjelenik, összehasonlítjuk az értékeket. Jelentős eltérések manuális felülvizsgálatot igényelnek táplálkozási adataink csapatától.
Időbeli összhang. Ha egy márkás termék táplálkozási adatai hirtelen megváltoznak anélkül, hogy a gyártó frissítést küldött volna, azt megjelöljük. Ez észleli azokat az eseteket, amikor egy adatbázis-import hibákat vezetett be, vagy amikor egy terméket összekevertek egy hasonlóval.
Felhasználói viselkedési jelek. Amikor ezrek rögzítik ugyanazt az ételt, az adagméretek és a gyakorisági minták viselkedési aláírást hoznak létre. Ha egy új bejegyzés szokatlan rögzítési mintákat okoz (például az emberek folyamatosan módosítják az adagméretet), az arra utal, hogy a alapértelmezett adagméret valószínűleg hibás.
4. réteg: Emberi szakértői felülvizsgálat
A technológia a legtöbb hibát észleli, de néhányhoz emberi ítélet szükséges. Táplálkozási adataink csapata regisztrált dietetikusokból és élelmiszertudósokból áll, akik kezelik:
- Az AI-ellenőrző rendszer által megjelölt bejegyzéseket
- Összetett ételeket, mint például több összetevőből álló éttermi ételek
- Regionális ételeket, amelyek nem szerepelnek a standard adatbázisokban
- Felhasználók által jelentett adatproblémákat (minden bejelentést komolyan veszünk)
- Új élelmiszer-kategóriákat, amelyekre a modelljeink még nem lettek betanítva
Minden bejegyzés, amely emberi felülvizsgálaton megy keresztül, meg van jelölve a felülvizsgáló megjegyzéseivel, a javítás forrásával és egy bizalmi pontszámmal. Ez auditnyomot hoz létre, amely segít javítani automatizált rendszereinket az idő múlásával.
Az adatbázisunk mögötti technikai infrastruktúra
A pontos adatok létrehozása csak a kihívás fele. Az, hogy megbízhatóan szolgáltassuk őket több mint 2 millió felhasználónak, olyan infrastruktúrát igényel, amiről a legtöbben sosem gondolkodnak.
Valós idejű szinkronizációs architektúra
Amikor frissítünk egy élelmiszer-bejegyzést, a változásnak el kell jutnia minden felhasználóhoz, aki ezt az ételt rögzítette. Eseményvezérelt architektúrát használunk, ahol az adatbázis-frissítések perceken belül eljutnak a felhasználói eszközökhöz. Ez azt jelenti, hogy ha egy népszerű élelmiszer hibáját 14:00-kor javítjuk, a Nutrolát 14:05-kor megnyitó felhasználók már a javított értékeket látják.
Többnyelvű élelmiszer-azonosítás
Az élelmiszerek nevei drámaian eltérnek nyelvek és régiók szerint. Egy "courgette" az Egyesült Királyságban "zucchini" az Egyesült Államokban. Az "skyr" Izlandon gyakran joghurtként van kategorizálva máshol. Keresési rendszerünk egy többnyelvű élelmiszer-ontológiát használ, amely 18 nyelven térképezi fel az egyenértékű ételeket, így a felhasználók mindig megtalálják, amit keresnek, függetlenül attól, hogy mit hívnak neki.
Adagméret intelligencia
A nyers táplálkozási adatokat jellemzően 100 grammonként adják meg, de senki sem 100 grammos egységekben gondolkodik. Az emberek "egy marék", "egy csésze", "egy közepes alma" vagy "egy szelet" kifejezésekben gondolkodnak. Átfogó adagméret-adatbázist tartunk fenn, amely a közönséges adagleírásokat grammban kifejezett súlyokhoz térképezi minden élelmiszer-kategóriában.
Ez a rendszer táplálja a Nutrola AI fényképezőgép-azonosítását is. Amikor lefotózod az ételt, modellünk nemcsak azt becsüli meg, hogy mi van a tányérodon, hanem azt is, hogy mennyi van belőle — és ugyanazt az ellenőrzött adagméret-adatot használja a táplálkozási bontás kiszámításához.
Hogyan kezeljük a legnehezebb eseteket
Néhány étel valóban nehezen biztosítható pontos táplálkozási adatokkal. Íme, hogyan közelítjük meg a legnehezebb kategóriákat.
Étterem és gyorsétterem ételek
A lánc éttermek általában közzéteszik a táplálkozási információkat, de a független éttermek nem. A láncételeknél közvetlen kapcsolatokat tartunk fenn, hogy megkapjuk a táplálkozási adatokat, és frissítjük őket, amikor a menük változnak. A független éttermek esetében recept-alapú becslési megközelítést alkalmazunk: rendszerünk lebontja az ételt összetevőire, megbecsüli a mennyiségeket a standard éttermi elkészítési módszerek alapján, és kiszámítja a teljes táplálkozási profilt.
Ez nem tökéletes, de lényegesen pontosabb, mint a másik alternatíva (a találgatás vagy a "éttermi csirkeszendvics" bejegyzés használata). A Nutrola AI coachingja is segít a felhasználóknak megérteni a bizonytalanságot: ha kevésbé vagyunk biztosak egy étterem ételének táplálkozási adataiban, ezt jelezzük.
Házi készítésű és recept-alapú ételek
Amikor otthon főzöl, az étel táplálkozási profilja a konkrét összetevőidtől és mennyiségeidtől függ. A Nutrola ezt a receptépítőn keresztül kezeli, amely lehetővé teszi, hogy megadd az összetevőidet, és kiszámítja az adagokra vonatkozó táplálkozási bontást az ellenőrzött összetevőadataink felhasználásával. A kimenet pontossága csak annyira jó, amennyire a bemenet pontos, ezért támogatjuk a fényalapú rögzítést is a házi készítésű ételek esetében.
Nemzetközi és különleges ételek
Sok táplálkozási alkalmazás erősen elfogult az amerikai ételek irányába. Ha japán, indiai, etióp vagy bármilyen más konyhát fogyasztasz, amely gyengén képviselteti magát a nyugati adatbázisokban, gyakran hiányos vagy pontatlan adatokkal találkozol. Nagy mértékben fektettünk be a nemzetközi ételek lefedettségének bővítésébe, regionális táplálkozási adatbázisokkal, helyi élelmiszertudósokkal és közösségi visszajelzésekkel dolgozva a hiányosságok pótlására.
Jelenleg adatbázisunk több mint 120 konyha ételeinek ellenőrzött bejegyzéseit tartalmazza, különös mélységgel az ázsiai, latin-amerikai, közel-keleti és afrikai ételek kategóriáiban.
A pontosság mérése: Hogyan tudjuk, hogy működik
A pontosságról tett állítások értelmetlenek mérés nélkül. Íme, hogyan validáljuk adatbázisunk minőségét.
Belső benchmark
Minden negyedévben csapatunk 500 véletlenszerű bejegyzést választ ki az adatbázisunkból, és összehasonlítja őket friss laboratóriumi elemzéssel vagy a legújabb kormányzati adatbázis értékeivel. Nyomon követjük a kalóriák, fehérjék, szénhidrátok, zsírok és rostok átlagos abszolút hibáját. Jelenlegi benchmarkunk: 97.4% pontosság a kormányzati vagy gyártó által ellenőrzött forrásokkal rendelkező bejegyzések esetében.
Felhasználói pontossági tanulmányok
Egyetemi táplálkozási programokkal együttműködve összehasonlítjuk a Nutrola által rögzített étkezési naplókat a súlyozott élelmiszer-nyilvántartásokkal (a táplálkozási kutatás aranyszabványa). Ezek a tanulmányok folyamatosan azt mutatják, hogy a Nutrola felhasználói közelebb állnak a tényleges bevitelhez, mint más népszerű nyomon követő alkalmazások felhasználói.
Hibaarány nyomon követése
Nyomon követjük a hónap során végrehajtott adatkorrekciók számát a teljes adatbázis-bejegyzések százalékában. Jelenlegi hibaarányunk 0.03% — ami azt jelenti, hogy a bejegyzések 99.97%-ának nem szükséges korrekció bármely adott hónapban. Összehasonlításképpen, a tömegesen gyűjtött adatbázisok havi hibafelfedezési arányai általában 2-5% között mozognak.
| Mutató | Nutrola | Ipari átlag (tömegesen gyűjtött) |
|---|---|---|
| Pontosság a laboratóriumi elemzésekhez képest | 97.4% | 70-85% |
| Havi hibaarány | 0.03% | 2-5% |
| Teljes mikrotápanyag-adatokat tartalmazó bejegyzések | 89% | 30-45% |
| Reformulált termékek frissítésének átlagos ideje | 48 óra | 6-18 hónap |
| Duplikált bejegyzések aránya | < 0.1% | 15-30% |
Mit jelent ez számodra
Ha eddig eljutottál, talán azt gondolod: "Csak az ételemet szeretném rögzíteni. Miért érdekelne az adatbázis architektúrája?"
Íme, miért számít: minden táplálkozási döntés, amelyet a nyomon követett adatok alapján hozol, csak annyira jó, amennyire az adatok maguk.
Ha az alkalmazásod azt mondja, hogy ma 1,800 kalóriát ettél, de a valós szám 2,100, akkor a 300 kalóriás hiányod nem létezik. Ha az alkalmazásod azt mondja, hogy elérted a 150 gramm fehérjét, de a tényleges szám 125, akkor az izomnövelési terved nem teljesül. Ha az alkalmazásod a nátriumot 2,000 mg-ra követi, de valójában 2,800 mg, akkor a vérnyomás-kezelési stratégiádnak van egy vakfoltja.
A pontos adatok nem csak egy szép dolog. Ez a különbség egy működő táplálkozási terv és egy olyan között, amely csak úgy tűnik, hogy működnie kell.
A Nutrolánál ezt a standardot tartjuk magunknak. Nem azért, mert könnyű — ez valóban az egyik legnehezebb technikai kihívás a táplálkozási technológiában — hanem azért, mert a felhasználóink valós egészségügyi döntéseket hoznak a számok alapján, amelyeket megmutatunk nekik. Ezeknek a számoknak helyesnek kell lenniük.
Mi következik
Folyamatosan fektetünk be adatbázisunk infrastruktúrájába. Néhány dolog, amin dolgozunk:
- Laboratóriumi partnerségek bővítése az alulreprezentált élelmiszerek közvetlen elemzésére
- AI-ellenőrző modellek fejlesztése új tréningadatokkal a növekvő felhasználói bázisunkból
- Mélyebb gyártói integrációk kiépítése a termékváltozások még gyorsabb észlelésére
- Regionális élelmiszer-adatbázisok fejlesztése olyan piacok számára, ahol a meglévő táplálkozási adatok korlátozottak
- Recept-elemző motorunk fejlesztése a komplex, több összetevőből álló ételek táplálkozási értékének jobb becslésére
A cél sosem változott: minden Nutrola felhasználónak a lehető legpontosabb képet adni arról, amit eszik, hogy megalapozott döntéseket hozhassanak az egészségükről.
GYIK
Hány étel található a Nutrola adatbázisában?
A Nutrola adatbázisa több mint 3 millió ellenőrzött élelmiszer-bejegyzést tartalmaz, beleértve a nyers összetevőket, márkás termékeket 47 országból, láncételeket és gyakori házi készítésű ételeket. Minden bejegyzés egy ellenőrzött forráshoz kapcsolódik, és folyamatosan érvényesítjük az AI minőségellenőrző rendszerünkkel.
Hogyan hasonlítható össze a Nutrola adatbázisának pontossága más alkalmazásokkal?
Független benchmarking azt mutatja, hogy a Nutrola 97.4% pontosságot ér el a laboratóriumi elemzésekhez képest, míg az ipari átlag 70-85% a tömegesen gyűjtött adatbázisokat használó alkalmazások esetében. A kulcsfontosságú különbség a több rétegű ellenőrzési folyamatunk, amely észleli a hibákat, mielőtt azok eljutnának a felhasználókhoz, ahelyett, hogy a felhasználókra bíznánk a jelentésüket.
Mi történik, amikor egy élelmiszertermék megváltoztatja a receptjét vagy formuláját?
A Nutrola közvetlen adatkapcsolatokat tart fenn az élelmiszergyártókkal, és figyelemmel kíséri a termékadatbázisokat a változásokra. Amikor észleljük a reformulációt, általában 48 órán belül frissítjük a bejegyzést. A régi táplálkozási adatokat archiváljuk, így a történelmi étkezési naplók pontosak maradnak az eredeti formuláció idején.
Jelenthetek hibát az adatbázisban?
Igen. Minden élelmiszer-bejegyzés a Nutrolában tartalmaz egy "Hiba jelentése" lehetőséget. A jelentések közvetlenül a táplálkozási adataink csapatához kerülnek felülvizsgálatra, és a korrekciók általában 24 órán belül megtörténnek. Minden bejelentést komolyan veszünk, mert a felhasználói visszajelzés az egyik legértékesebb minőségi jelünk.
A Nutrola lefedi a nemzetközi és regionális ételeket?
A Nutrola ellenőrzött táplálkozási adatokat tartalmaz több mint 120 konyhából. Adatokat szerzünk regionális kormányzati táplálkozási adatbázisokból, helyi élelmiszertudományi intézményekből, és bizonyos esetekben közvetlen laboratóriumi elemzéssel. Ha rendszeresen fogyasztasz egy adott konyhából származó ételeket, amelyek szerinted alulreprezentáltak, bátorítunk, hogy lépj kapcsolatba velünk — a lefedettségünk bővítése folyamatos prioritás.
Miért mutatnak különböző kalóriaszámláló alkalmazások eltérő számokat ugyanarra az ételre?
A különböző alkalmazások különböző adatforrásokat használnak. Azok az alkalmazások, amelyek a tömegesen gyűjtött adatokra támaszkodnak, több bejegyzést tartalmazhatnak ugyanarról az ételekről, eltérő pontossággal. A Nutrola ellenőrzött forrásokat használ (kormányzati adatbázisok, gyártói adatok, laboratóriumi elemzések) és minden bejegyzést AI és emberi felülvizsgálat révén érvényesít, ezért számaink következetesek és megbízhatóak.
Készen állsz a táplálkozásod nyomon követésének átalakítására?
Csatlakozz ezrekhez, akik a Nutrolával átalakították az egészségügyi útjukat!