1 pontos por GN⁺ 4 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • Epicure é um modelo que aprendeu embeddings de 300 dimensões para 1.790 ingredientes padronizados usando dados de 4,14 milhões de receitas e compostos do FlavorDB
  • Foi projetado para reduzir os problemas do corpus centrado no inglês do FlavorGraph, da mistura fixa entre sinais químicos e de receitas, e do vocabulário fragmentado de ingredientes
  • Cooc, Chem e Core comparam o peso da coocorrência em receitas e dos sinais químicos mudando apenas o esquema de random walk dentro da mesma estrutura
  • Os três embeddings recuperam linearmente 27 direções sensoriais e nutricionais e 8 macrorregiões culinárias, além de obter 20 fatores de forma não supervisionada
  • Com vizinhos mais próximos e aritmética direcional com SLERP, é possível explorar ingredientes, como rotacionar rice na direção South-Asian, mas o código e os artefatos gerados ainda não foram publicados

Objetivo do Epicure

  • Embeddings de ingredientes são a base para encontrar compatibilidade entre ingredientes, ingredientes semelhantes entre diferentes culturas culinárias e sua posição em eixos sensoriais e nutricionais
    • Conhecimentos como missô combinar com mirin, dashi e óleo de gergelim, e azeite de oliva combinar com manjericão, tomate e prosciutto, foram acumulados em corpora de receitas de várias culturas e na intuição de chefs
    • Isso pode ser usado em ferramentas de apoio a menus e receitas, recomendações com base nos ingredientes disponíveis, exploração de equivalentes do Leste Asiático a partir de ingredientes mediterrâneos e navegação por eixos como sensação de gordura, fermentação, amargor e alto teor de proteína
  • Pesquisas anteriores seguiram abordagens baseadas em redes de sabor químicas e em receitas ou grafos de conhecimento
    • Ahn et al. [2011] introduziram a rede de sabor e mostraram que diferenças entre culturas aparecem nos compostos compartilhados
    • O FlavorDB de Garg et al. [2017] catalogou moléculas aromáticas de 936 entidades alimentares, e o FooDB expandiu o escopo químico para 70.000 compostos
    • O FlavorGraph [Park et al., 2021] é um embedding público de alimentos treinado com um grafo heterogêneo de 6.653 ingredientes e 1.645 compostos, combinando FlavorDB e Recipe1M+
    • O FoodKG [Haussmann et al., 2019] integrou dados de receitas, nutrição e ontologia em um grafo de conhecimento RDF com foco em recomendação

Limitações do FlavorGraph e o desenho do Epicure

  • Em análises anteriores, foram identificadas mais de 15 dimensões culinárias interpretáveis no embedding de 300 dimensões do FlavorGraph, incluindo sabor, textura, nutrição, geografia, cultura e processamento, e a integração de vocabulário reforçada por LLM pareceu fortalecer a maioria dos sinais
  • O pré-treinamento fixo do FlavorGraph tinha três limitações
    • Dependia de um único corpus centrado no inglês
    • Os sinais químicos e os sinais de contexto de receitas eram fundidos com um único viés indutivo fixo, dificultando o controle como eixo de projeto
    • O vocabulário de ingredientes permanecia fragmentado, misturando detalhes de preparo e itens não alimentares
  • Para reduzir essas limitações, o Epicure foi treinado do zero como três embeddings irmãos de ingredientes com skip-gram
    • Reuniu 4,14 milhões de receitas de 11 fontes
    • O escopo linguístico inclui inglês, chinês, russo, vietnamita, espanhol, turco, indonésio, alemão e Indian-English
    • Strings brutas de ingredientes foram normalizadas em 1.790 itens padronizados por um pipeline reforçado por LLM
    • Os três modelos compartilham arquitetura e hiperparâmetros, diferindo apenas no esquema de random walk visto pela função objetivo skip-gram

Dados e os três embeddings

  • O Epicure parte de dois tipos de grafo
    • O grafo NPMI ingrediente-ingrediente é composto por 203.508 arestas
    • O grafo ingrediente-composto do FlavorDB tem 80.019 arestas e inclui 2.247 nós de compostos tipados em 15 categorias
  • As três variantes de Metapath2Vec ocupam posições diferentes no espectro entre química e contexto de receitas
    • Cooc

      • É o modelo que percorre apenas o grafo de coocorrência em receitas
      • Foca no sinal de contexto em que os ingredientes aparecem juntos em receitas reais
    • Chem

      • É o modelo que percorre apenas metapaths de compostos tipados
      • Foca no sinal químico vindo das relações entre ingredientes e compostos
    • Core

      • Usa juntos caminhos baseados em compostos e caminhos ingrediente-ingrediente
      • Injeta walks ingrediente-ingrediente em uma proporção de mistura controlada para combinar sinais químicos e sinais de contexto de receitas
      • Essa configuração explicita o peso entre química vs. contexto de receitas como um eixo de projeto dentro do mesmo conjunto de dados e estrutura de treinamento
      • As diferenças entre os três modelos irmãos foram desenhadas para surgir apenas no esquema de random walk
      • Assim, as diferenças de propriedades entre os embeddings podem ser comparadas como efeito do esquema de walk, e não dos dados de entrada

Significados culinários recuperados no espaço de embedding

  • Os três modelos Epicure recuperam linearmente, em probes supervisionados, 27 direções sensoriais e nutricionais contínuas e 8 macrorregiões culinárias
    • O Cohen’s d médio para separabilidade entre cozinhas é 2,43/2,70/3,07 para Cooc/Core/Chem
    • O escopo dos probes inclui cuisine, food-group, grau de processamento NOVA, macronutrientes do USDA e 19 categorias sensoriais
  • A análise não supervisionada recuperou 20 fatores interpretáveis em cada modelo
    • Foi aplicado FastICA estável com múltiplas seeds sobre embeddings residualizados por food-group
    • Os itens do quartil superior de cada fator foram particionados com GMM, produzindo de 150 a 200 modos culinários nomeados por modelo
  • A consistência média dos modos GMM foi maior que a linha de base de pares aleatórios
    • A consistência média de Cooc/Core/Chem é 0,611/0,833/0,703
    • As linhas de base correspondentes de pares aleatórios são 0,097/0,348/0,115
  • Perspectivas de estudos anteriores sobre embeddings também foram usadas na validação
    • A noção de direcionalidade linear do word2vec de Mikolov et al. [2013] fundamenta os 27 probes culinários supervisionados, os 20 fatores FastICA e a operação de rotação SLERP
    • Seguindo a perspectiva de isotropia de Mu et al. [2017], a isotropia dos embeddings foi medida diretamente com participation ratio e cosine médio entre pares
    • Os três modelos irmãos ocupam posições claramente diferentes no espectro de isotropia, tratado aqui como propriedade do esquema de walk, e não dos dados de entrada
    • O WEAT de Caliskan et al. [2017] foi usado como validação auxiliar para diagnosticar se eixos semânticos nomeados se refletem na estrutura geométrica

Operações de exploração e possibilidades de uso

  • O Epicure oferece duas famílias complementares de operações no mesmo espaço de embedding de 300 dimensões
    • Pareamento com base em vizinhos mais próximos

      • A busca top-K de vizinhos encontra itens próximos ao redor de um ingrediente
      • A consulta de pertencimento a modos permite explorar itens que pertencem a um modo culinário específico
    • Aritmética direcional com SLERP

      • Rotaciona um ingrediente seed em direção a um vetor polo supervisionado ou a um polo de fator-modo emergente
      • O ângulo contínuo θ interpola entre uma busca dominada pela seed e uma busca dominada pelo alvo
      • Por exemplo, adicionar a direção South-Asian a rice o desloca para curry leaf, urad dal, chana dal e fenugreek seed
      • Tanto direções semânticas supervisionadas quanto modos emergentes não supervisionados podem ser usados para explorar ingredientes
      • Ferramentas para chefs podem rotacionar, combinar e buscar ingredientes ao longo de direções sensorial, nutricional e culturalmente coerentes
      • Relações baseadas em química e relações baseadas em contexto de receitas podem ser ajustadas pela escolha do modelo e pelo esquema de walk
      • O código e os artefatos treinados não estão públicos no momento

1 comentários

 
GN⁺ 4 시간 전
Comentários do Hacker News
  • A pesquisa em si é interessante, mas o título induz ao erro
    Um título melhor seria algo como “comprimir os ingredientes usados por humanos em 1.800 elementos primitivos”
    Quase não há conteúdo sobre receitas de fato, isto é, modos de preparo ou proporções, mas informação do tipo “no mundo todo, tomate combina bem com carne bovina” pode ser um recurso bem útil e interessante na hora de criar combinações de sabores

    • Um excelente livro sobre mapas de sabores que combinam entre si é The Flavor Bible
      Não cobre todas as combinações dos 1.800 ingredientes, mas trata muito bem de ervas, especiarias, vegetais e carnes amplamente usados. Mesmo comprimindo esse livro, o tamanho do texto provavelmente não seria tão grande
      O problema das receitas geradas por LLM é que elas deixam passar as sutilezas das técnicas de preparo. Muitas vezes o sucesso depende de uma etapa ou de uma proporção, e, por exemplo, há inúmeras variações de “frango frito” no mundo todo, mas tirar a média das receitas não produz um frango frito saboroso
    • A menos que eu tenha deixado passar algo, não parece haver em nenhum ponto do artigo uma base para afirmar que isso abrange todos os ingredientes da humanidade
      As 11 fontes de dados cobrem vários pratos comuns, mas fontes em inglês e chinês representam 90% do conjunto de dados. África e mundo árabe também não estão nos dados, e só esses dois já somam cerca de 25% da população mundial
      Traduzir todos os termos não ingleses para o inglês com IA também é metodologicamente compreensível, mas claramente abre margem para erros
    • Uma vez eu estava fazendo um ensopado de carne para 12 pessoas e consegui salvar o prato adicionando molho de tomate
      Carne bovina pode ficar dura se for cozida de forma errada, mas a acidez do tomate a amacia novamente
    • Se você se interessa por esse tema, este artigo também vale a leitura: https://www.nature.com/articles/srep00196
    • O tomate tem muito glutamato, então realça ainda mais o sabor da carne bovina
  • Interessante
    Estou tentando comprimir receitas em pequenos diagramas: https://leontrolski.github.io/recipes.html

    • Gostei. Lembra um pouco o formato em tabela do Cooking for Engineers. Dá para ver rolando até o fim da receita: https://www.cookingforengineers.com/recipe/19/Erics-Chocolat...
    • Legal. Lembra https://www.reddit.com/r/flowchartrecipes/ e o formato de visualização em tabela desta página: https://www.cookingforengineers.com/recipe/87/Carrot-Pulp-Ca...
    • Ah, um cartão de receita em grafo de dependências. Muito bom
      Sempre imaginei algo assim, e sempre me incomodou quando receitas jogam os ingredientes numa enorme lista sem distinção e depois dizem “misture os ingredientes secos numa tigela funda”
      Durante um tempo achei que isso poderia ser lucrativo se alguém implementasse bem, mas agora parece que, assim que surgir uma interface forte, será fácil copiá-la
    • Site realmente muito legal. Gostei dos gráficos desenhados à mão
      A tabela me lembrou as receitas do Modernist Cuisine. Lá eles agrupam os ingredientes por etapa do processo e incluem peso, às vezes volume e até proporções
      Exemplo: https://modernistcuisine.com/wp-content/uploads/2013/01/Mac-...
    • Gosto muito dessa abordagem. Acho que alguém poderia ter sucesso criando um livro de receitas grande e baseado em diagramas que dê para ler de longe enquanto se trabalha na cozinha
  • Só para constar, o site inteiro https://publicdomainrecipes.com está disponível como um único arquivo de 22MiB em https://browse.library.kiwix.org: https://browse.library.kiwix.org/viewer#publicdomainrecipes....
    Dá para adicionar receitas em https://github.com/ronaldl29/public-domain-recipes

  • Se são “11 fontes em 7 idiomas, como inglês, chinês, russo, vietnamita, espanhol, turco, indonésio, alemão e inglês indiano”, fica difícil chamar isso de toda a culinária da humanidade

    • Ainda assim, isso representa algo como 70% da população mundial atual. Não é 100%, mas inclui boa parte de grupos grandes
      Ainda assim, faltam culinárias italiana, japonesa, grega e mexicana, que são muito populares no mundo, e também não há nada da África nem do Oriente Médio, então está incompleto
    • Sim. Pelo corpus, quase metade das receitas é do eixo chinês/coreano
      O próprio artigo reconhece isso rapidamente, mas definitivamente não é um conjunto de dados equilibrado
  • Em [1], dá para ver uma demo que parece uma iteração anterior do que este artigo descreve
    Fiquei curioso sobre que ingredientes a demo escolheu, então testei alguns ingredientes menos familiares de “Organum: Nature, Texture, Intensity, Purity”, de Peter Gilmore[2]. Ele é conhecido pelo restaurante Quay, em Sydney, Austrália
    Ele conhece ingredientes bem ousados como zimbro, macadâmia, sementes de nigela, água de flor de laranjeira e verbena-limão, e até diferencia óleo de gergelim de óleo de gergelim torrado. Embora a lista de ingredientes tenha apenas “arroz”, “arroz preto”, “arroz integral” e “arroz glutinoso”, ao escolher “arroz” ele é inteligente o bastante para dizer, no arroz frito, para usar arroz jasmim cozido e resfriado, e no pilaf para deixar o arroz basmati de molho e enxaguar
    Se você escolhe “cordeiro” e junto seleciona vegetais comumente usados em braseado, ele sugere cortes como paleta ou músculo
    Ele não conhece óleo de semente de uva, orzo, mangostão nem lemon myrtle, e naturalmente também não conhece ingredientes como karkalla, que provavelmente só alguém no nível de Peter Gilmore usaria e a maioria dos chefs nunca nem ouviu falar. Mas como esses ingredientes são muito regionais ou específicos, não acho que isso seja uma limitação tão grande
    Ele conhece “semente de abóbora”, mas não “pumpkin”, tratando como “squash”, então precisa de mais localização para melhorar o uso de inglês britânico/americano. Eu esperava que ele montasse uma salada combinando “cordeiro” e “abacate”, mas falhou; depois vi que na lista de ingredientes não havia alface nem rúcula, só a expressão americana “salad greens”. Tentei também com outros ingredientes de salada, com frango, e até sem proteína, mas ele não fazia saladas: continuava gerando apenas pratos falsamente sofisticados com gel de tomate (ágar) e purê de abacate em volta de um bloco de proteína
    [1] https://epicure.kaikaku.ai/
    [2] https://en.wikipedia.org/wiki/Peter_Gilmore_(chef)

    • O fato de “pumpkin” virar “squash” é um problema muito maior do que uma simples diferença de vocabulário
      Do ponto de vista americano, existem vários tipos comuns de squash, e pumpkin é só um deles. Os que me vêm à cabeça são acorn, butternut e spaghetti; sendo rigoroso, zucchini também entra
  • Vi isso no X/Twitter, e é difícil acreditar que seja possível comprimir a culinária humana, todas as técnicas, ingredientes e modos de preparo por contexto cultural em 2 megabytes
    É parecido com quando dizem “um modelo de 1 GB capaz de fazer tool calling e programar”, você testa e quase nada funciona. Tecnicamente é um modelo de programação de 1 GB, mas isso não quer dizer que seja um bom modelo

    • O espaço da comida humana comestível é pequeno. Existem só alguns milhares de ingredientes e alguns milhares de técnicas culinárias, então isso pode ser comprimido com facilidade em um modelo de alta fidelidade
  • É difícil confiar em um modelo/corpus de comida que inclui inglês e alemão, mas exclui italiano e francês

    • A tabela mostra várias culinárias, como a italiana e a francesa. A lista de 11 fontes é por idioma
      Receitas realmente escritas em francês ficaram de fora, mas com certeza deve haver receitas de sopa de cebola francesa em inglês
  • Está escrito que “[Claude] realizou toda a classificação de ingredientes com decodificação determinística (temperature 0–0.1)”, mas, embora isso não seja um grande problema neste contexto, temperature baixa não é o mesmo que determinismo

    • Sim. Temperature 0 não é condição necessária nem suficiente para inferência determinística
  • Tirando o clickbait, é um conceito bem interessante. Fico curioso se esse tipo de embedding pode ter um momento word2vec para ingredientes ou perfis de sabor
    Como outras pessoas já apontaram corretamente, dá para refazer isso com fontes de dados mais representativas, e estou curioso para ver como essa abordagem se sai

  • Coloquei esses dados e informações no Claude Code para implementar algo, e o resultado pareceu bem bom
    Talvez funcione melhor para recomendar ingredientes substitutos do que para gerar receitas: https://viz.roshangeorge.dev/recipe-model/