1 puntos por GN⁺ 4 시간 전 | 1 comentarios | Compartir por WhatsApp
  • Epicure es un modelo que aprendió embeddings de 300 dimensiones para 1,790 ingredientes estandarizados usando 4.14 millones de recetas y datos de compuestos de FlavorDB
  • Fue diseñado para reducir los problemas del corpus centrado en inglés de FlavorGraph, la mezcla fija entre química y recetas, y el vocabulario disperso de ingredientes
  • Cooc, Chem y Core comparan el peso relativo de la coocurrencia en recetas y la señal química cambiando solo el esquema de random walk dentro de la misma estructura
  • Los tres embeddings recuperan linealmente 27 direcciones sensoriales y nutricionales y 8 macrorregiones culinarias, y obtienen 20 factores de forma no supervisada
  • Es posible explorar ingredientes con vecinos más cercanos y aritmética direccional con SLERP, como rotar rice hacia una dirección South-Asian, pero el código y los artefactos generados no están publicados

Objetivo de Epicure

  • Los embeddings de ingredientes sirven como base para encontrar compatibilidades entre ingredientes, ingredientes similares por región cultural y su posición en ejes sensoriales y nutricionales
    • Conocimientos como que el doenjang combina bien con mirin, dashi y aceite de sésamo, o que el aceite de oliva combina con albahaca, tomate y prosciutto, se han acumulado en corpus de recetas de múltiples culturas y en la intuición de los chefs
    • Pueden usarse en herramientas de apoyo para menús y recetas, recomendaciones basadas en ingredientes disponibles, exploración para pasar de ingredientes mediterráneos a equivalentes de Asia oriental, y búsqueda por ejes como sensación grasa, fermentación, amargor o alto contenido proteico
  • La investigación previa ha avanzado desde redes de sabor basadas en química hasta enfoques basados en recetas y grafos de conocimiento
    • Ahn et al. [2011] introdujeron la red de sabor y mostraron diferencias entre culturas en los compuestos compartidos
    • FlavorDB de Garg et al. [2017] catalogó moléculas aromáticas de 936 entidades alimentarias, y FooDB amplió el alcance químico a 70,000 compuestos
    • FlavorGraph [Park et al., 2021] combinó FlavorDB y Recipe1M+ para crear un grafo heterogéneo de 6,653 ingredientes y 1,645 compuestos, y es un embedding público de alimentos entrenado con Metapath2Vec
    • FoodKG [Haussmann et al., 2019] integró recetas, nutrición y datos ontológicos en un grafo de conocimiento RDF con fines de recomendación

Limitaciones de FlavorGraph y diseño de Epicure

  • En análisis previos, en el embedding de 300 dimensiones de FlavorGraph se identificaron más de 15 dimensiones culinarias interpretables que incluyen sabor, textura, nutrición, geografía, cultura y procesamiento, y se observó que la integración de vocabulario reforzada con LLM fortalecía la mayoría de las señales
  • El preentrenamiento fijo de FlavorGraph tenía tres restricciones
    • Dependía de un solo corpus centrado en inglés
    • Las señales químicas y las de contexto de recetas estaban fusionadas con un único sesgo inductivo fijo, difícil de ajustar como eje de diseño
    • El vocabulario de ingredientes seguía teniendo una estructura dispersa, mezclando detalles de preparación y elementos no alimentarios
  • Para reducir esas restricciones, Epicure se compone de tres embeddings hermanos de ingredientes tipo skip-gram entrenados desde cero
    • Reunió 4.14 millones de recetas de 11 fuentes
    • El alcance lingüístico incluye inglés, chino, ruso, vietnamita, español, turco, indonesio, alemán e Indian-English
    • Las cadenas crudas de ingredientes se normalizaron a 1,790 entradas estandarizadas mediante un pipeline reforzado con LLM
    • Los tres modelos comparten arquitectura e hiperparámetros, y solo cambia el esquema de random walk que ve la función objetivo skip-gram

Datos y los tres embeddings

  • Epicure parte de dos tipos de grafos
    • El grafo NPMI ingrediente-ingrediente está compuesto por 203,508 aristas
    • El grafo ingrediente-compuesto de FlavorDB está compuesto por 80,019 aristas e incluye 2,247 nodos de compuestos tipados en 15 categorías
  • Las tres variantes de Metapath2Vec ocupan posiciones distintas en el espectro entre química y contexto de recetas
    • Cooc

      • Es un modelo que recorre solo el grafo de coocurrencia de recetas
      • Se enfoca en la señal contextual de ingredientes que aparecen juntos en recetas reales
    • Chem

      • Es un modelo que recorre solo metapaths de compuestos tipados
      • Se enfoca en la señal química proveniente de las relaciones entre ingredientes y compuestos
    • Core

      • Usa tanto rutas basadas en compuestos como rutas ingrediente-ingrediente
      • Inyecta walks ingrediente-ingrediente con una proporción de mezcla controlada para combinar señal química y señal contextual de recetas
      • Esta configuración expone la proporción química vs. contexto de recetas como eje de diseño dentro de los mismos datos de entrada y la misma estructura de entrenamiento
      • Las diferencias entre los tres modelos hermanos están diseñadas para originarse solo en el esquema de random walk
      • Esto permite comparar diferencias en las propiedades del embedding como efecto del esquema de walk y no de los datos de entrada

Significado culinario recuperado en el espacio de embeddings

  • Los tres modelos de Epicure recuperan linealmente en probes supervisados 27 direcciones continuas sensoriales y nutricionales y 8 macrorregiones culinarias
    • El promedio de Cohen’s d para separabilidad entre cocinas es 2.43/2.70/3.07 para Cooc/Core/Chem, respectivamente
    • El alcance de los probes incluye cuisine, food-group, grado de procesamiento NOVA, macronutrientes USDA y 19 categorías sensoriales
  • El análisis no supervisado recupera 20 factores interpretables en cada modelo
    • Se aplica FastICA estable con múltiples seeds sobre embeddings residualizados por food-group
    • Al dividir con GMM los elementos del cuartil superior de cada factor, se obtienen entre 150 y 200 modos culinarios con nombre por modelo
  • La consistencia promedio de los modos GMM fue superior a la línea base de pares aleatorios
    • La consistencia promedio de Cooc/Core/Chem es 0.611/0.833/0.703
    • La línea base correspondiente de pares aleatorios es 0.097/0.348/0.115
  • También se usaron perspectivas de investigaciones previas sobre embeddings para validación
    • La visión de direccionalidad lineal de word2vec de Mikolov et al. [2013] sirve de base para los 27 probes culinarios supervisados, los 20 factores FastICA y las operaciones de rotación SLERP
    • Siguiendo la perspectiva de isotropía de Mu et al. [2017], se miden directamente la participation ratio y el promedio de coseno por pares para evaluar la isotropía del embedding
    • Los tres modelos hermanos ocupan posiciones claramente distintas en el espectro de isotropía, y eso se trata como propiedad del esquema de walk y no de los datos de entrada
    • WEAT de Caliskan et al. [2017] se usa como validación auxiliar para diagnosticar si los ejes semánticos con nombre se reflejan en la estructura geométrica

Operaciones de exploración y posibilidades de uso

  • Epicure ofrece dos familias complementarias de operaciones dentro del mismo espacio de embeddings de 300 dimensiones
    • Emparejamiento basado en vecinos más cercanos

      • La búsqueda de vecinos top-K encuentra elementos cercanos alrededor de un ingrediente
      • La consulta de pertenencia a modos permite explorar elementos dentro de un modo culinario específico
    • Aritmética direccional con SLERP

      • Rota un ingrediente semilla hacia un pole vector supervisado o hacia un polo de factor-modo emergente
      • El ángulo continuo θ interpola entre una búsqueda dominada por la semilla y una búsqueda dominada por el objetivo
      • Por ejemplo, agregar a rice una dirección South-Asian lo desplaza hacia curry leaf, urad dal, chana dal y fenugreek seed
      • Tanto las direcciones semánticas supervisadas como los modos emergentes no supervisados pueden usarse para explorar ingredientes
      • Una herramienta para chefs puede explorar ingredientes rotándolos, mezclándolos y buscándolos a lo largo de direcciones coherentes en términos sensoriales, nutricionales y culturales
      • Las relaciones basadas en química y las relaciones basadas en contexto de recetas pueden ajustarse mediante la elección del modelo y el esquema de walk
      • El código y los artefactos entrenados no están publicados actualmente

1 comentarios

 
GN⁺ 4 시간 전
Comentarios de Hacker News
  • La investigación en sí es interesante, pero el título lleva a confusión
    Un mejor título sería algo como “comprimir los ingredientes que usa la humanidad en 1,800 elementos primitivos”
    Casi no hay información sobre las recetas reales, es decir, métodos de preparación o proporciones, pero saber cosas como que el tomate combina bien con la carne de res en todo el mundo puede ser un recurso bastante útil e interesante para crear combinaciones de sabores

    • Hay un excelente libro sobre mapas de sabores que combinan bien juntos: The Flavor Bible
      No incluye todas las combinaciones posibles de 1,800 ingredientes, pero cubre bastante bien hierbas, especias, vegetales y carnes de uso común. Incluso si se comprimiera este libro, el tamaño del texto probablemente no sería tan grande
      El problema de las recetas creadas por LLM es que pasan por alto la sutileza de las técnicas de cocina. Muchas veces el éxito depende de un solo paso o de una sola proporción; por ejemplo, hay innumerables variantes de “pollo frito” en todo el mundo, pero promediar las recetas no produce un pollo frito rico
    • Si no se me escapó algo, no parece haber en ninguna parte del artículo evidencia de que esto abarque todos los ingredientes de la humanidad
      Las 11 fuentes de datos cubren varias cocinas comunes, pero las fuentes en inglés y chino representan el 90% del dataset. África y el mundo árabe tampoco están en los datos, y solo esos dos ya representan alrededor del 25% de la población mundial
      También entiendo metodológicamente que hayan traducido todos los términos no ingleses al inglés con IA, pero claramente eso deja margen para errores
    • Una vez salvé un estofado de res para 12 personas agregándole salsa de tomate
      La carne de res puede ponerse dura si se cuece mal, pero la acidez del tomate la vuelve a ablandar
    • Si te interesa este tema, este artículo también vale la pena: https://www.nature.com/articles/srep00196
    • El tomate tiene mucho glutamato, así que realza aún más el sabor de la carne de res
  • Interesante
    Estoy intentando comprimir recetas en diagramas pequeños: https://leontrolski.github.io/recipes.html

    • Me gusta. Me recuerda un poco al formato tabular de Cooking for Engineers. Se puede ver si bajas hasta el final de la receta: https://www.cookingforengineers.com/recipe/19/Erics-Chocolat...
    • Está bueno. Me recuerda a https://www.reddit.com/r/flowchartrecipes/ y al formato de vista en tabla de https://www.cookingforengineers.com/recipe/87/Carrot-Pulp-Ca...
    • Ah, tarjetas de recetas con gráfico de dependencias. Están realmente buenas
      Siempre imaginé algo así, y siempre me molestó que las recetas pusieran los ingredientes en una enorme lista sin divisiones y luego dijeran “mezcla los ingredientes secos en un recipiente hondo”
      Durante un tiempo pensé que si alguien implementaba bien algo así podría ser rentable, pero ahora parece que en cuanto salga una interfaz potente, será fácil copiarla
    • Es un sitio realmente genial. Me gustó el gráfico dibujado a mano
      La tabla me recuerda a las recetas de Modernist Cuisine. Ahí agrupan los ingredientes por procedimiento y anotan junto con ellos el peso, y a veces también el volumen y las proporciones
      Ejemplo: https://modernistcuisine.com/wp-content/uploads/2013/01/Mac-...
    • Me gusta mucho este enfoque. Creo que podría funcionar hacer un gran libro de recetas basado en diagramas que se pueda leer desde lejos mientras trabajas en la cocina
  • Como referencia, todo https://publicdomainrecipes.com está disponible como un solo archivo de 22MiB en https://browse.library.kiwix.org: https://browse.library.kiwix.org/viewer#publicdomainrecipes....
    Se pueden agregar recetas en https://github.com/ronaldl29/public-domain-recipes

  • Si son “11 fuentes en 7 idiomas: inglés, chino, ruso, vietnamita, español, turco, indonesio, alemán, inglés de la India, etc.”, es difícil llamarlo la cocina de toda la humanidad

    • Aun así, representa aproximadamente al 70% de la población mundial actual. No es el 100%, pero sí incluye una parte considerable de los grandes grupos
      Aun así, faltan cocinas italiana, japonesa, griega y mexicana, que son muy populares a nivel mundial, y tampoco hay nada de África ni de Medio Oriente, así que está incompleto
    • Sí. Al ver el corpus, casi la mitad de las recetas son del lado chino/coreano
      El artículo lo reconoce rápidamente, pero desde luego no es un dataset equilibrado
  • En [1] se puede ver una demo que parece una iteración anterior de lo que describe este artículo
    Me dio curiosidad qué ingredientes había elegido la demo, así que probé varios ingredientes poco comunes que aparecen en Organum: Nature, Texture, Intensity, Purity de Peter Gilmore [2]. Es conocido por el restaurante Quay de Sídney, Australia
    Conoce ingredientes bastante aventurados como bayas de enebro, macadamia, semillas de nigela, agua de azahar y cedrón, e incluso distingue entre aceite de sésamo y aceite de sésamo tostado. Aunque en la lista de ingredientes solo aparecen “arroz”, “arroz negro”, “arroz integral” y “arroz glutinoso”, si eliges “arroz” es lo bastante inteligente como para decirte que en un arroz frito uses arroz jazmín cocido y enfriado, y que para un pilaf remojes y enjuagues arroz basmati
    Si eliges “cordero” junto con verduras que suelen usarse para estofar, te recomienda cortes como paleta o jarrete
    No conoce aceite de semilla de uva, orzo, mangostán ni lemon myrtle, y por supuesto tampoco ingredientes como karkalla, que probablemente solo usaría alguien del nivel de Peter Gilmore y que la mayoría de los chefs ni siquiera habría oído nombrar. Pero como esos ingredientes son muy regionales o especializados, no me parece una limitación tan grande
    Sabe “semillas de calabaza”, pero no “pumpkin”, y lo trata como “squash”, así que hace falta más localización para mejorar su manejo del inglés británico y estadounidense. Esperaba que pudiera hacer una ensalada combinando “cordero” y “aguacate”, pero falló; luego vi que en la lista de ingredientes no había lechuga ni rúcula, solo la expresión estadounidense “salad greens”. Probé también con otros ingredientes de ensalada, con pollo e incluso sin proteína, pero no hacía ensaladas: seguía generando falsos platillos sofisticados con gel de tomate (agar) y puré de aguacate alrededor de un bloque de proteína
    [1] https://epicure.kaikaku.ai/
    [2] https://en.wikipedia.org/wiki/Peter_Gilmore_(chef)

    • Que “pumpkin” sea “squash” es un problema mucho mayor que una simple diferencia de palabras
      Desde la perspectiva de un estadounidense, hay muchos tipos de squash de uso común, y pumpkin es solo uno de ellos. Los que se me vienen a la mente son acorn, butternut y spaghetti; si nos ponemos estrictos, también entra zucchini
  • Lo vi en X/Twitter, pero me cuesta creer que se pueda comprimir 2 megabytes de toda la cocina humana, con todas las técnicas, ingredientes y formas de cocinar según cada contexto cultural
    Es parecido a cuando pruebas un “modelo de 1 GB capaz de hacer tool calling y programar” y resulta que casi no funciona. Técnicamente sí es un modelo de programación de 1 GB, pero eso no significa que sea un buen modelo

    • El espacio de la comida humana comestible es pequeño. Solo hay unos pocos miles de ingredientes y unos pocos miles de técnicas de cocina, así que se puede comprimir con facilidad en un modelo de alta fidelidad
  • Cuesta confiar en un modelo/corpus de comida que incluye inglés y alemán, pero excluye italiano y francés

    • En la tabla sí aparecen varias cocinas, como la italiana y la francesa. La lista de 11 fuentes está basada en idiomas
      Puede que falten recetas escritas en francés de verdad, pero seguro que sí hay recetas de sopa de cebolla francesa escritas en inglés
  • Dice que “[Claude] realizó toda la clasificación de ingredientes con decodificación determinista (temperature 0–0.1)”, y aunque en este contexto no es un gran problema, temperature baja no equivale a determinismo

    • Correcto. Temperature 0 no es ni condición necesaria ni suficiente para una inferencia determinista
  • Dejando de lado el clickbait, es un concepto bastante interesante. Me pregunto si con este tipo de embeddings podría llegar un momento word2vec para ingredientes o perfiles de sabor
    Como otros ya señalaron correctamente, se podría rehacer con fuentes de datos más representativas, y tengo curiosidad por ver qué tan bien funciona este enfoque

  • Le di esos datos e información a Claude Code para implementarlo, y se ve bastante bien
    Puede que sirva mejor para recomendar ingredientes sustitutos que para generar recetas: https://viz.roshangeorge.dev/recipe-model/