Tempos: Entenda como utilizamos Inteligência Artificial para prever a hora da chegada da sua comida!

Christian Zambra
iFood Tech
Published in
5 min readAug 11, 2023

--

Introdução

Sua refeição chegou na hora prevista, quentinha, e você sempre quis saber como o iFood consegue fazer isso? Não é magia, é tecnologia! Mais precisamente, Inteligência Artificial!

Neste artigo, vamos explicar como essa “mágica” é feita pela área de Tempos, que utiliza Inteligência Artificial para criar produtos capazes de prever o futuro de milhões de pedidos por dia!

Siga conosco nessa jornada, entre sistemas e redes neurais, até o tão esperado momento em que a comida chega 🙂

Previsões

É possível prever o futuro?

Nós fazemos isso constantemente. Nossa mente prevê cenários, prevê acontecimentos. Olhamos para o passado a fim de vislumbrar o futuro; nosso cérebro guarda as informações importantes, acontecimentos que nos ensinam causas e consequências, muitas vezes complexas demais para compreendermos claramente. Mas nossa mente sabe. Sabemos que horas devemos acordar para chegar na hora certa em um dado compromisso. Sabemos a que horas aquela pessoa querida vai chegar. E sabemos que horas aquela pizza maravilhosa vai bater à nossa porta, quentinha, e de lá vai direto pra nossa mesa.

Podemos prever o futuro através de nossos aprendizados, olhando para o passado e desenhando cenários futuros. A seguir, vamos mergulhar um pouco mais em como fazemos isso.

Como Aprendemos?

Que horas a pizza vai chegar?

Imagine-se como alguém que adora pizza e possui hábitos constantes. No último ano, você pediu pizza todas as semanas, às terças, quintas e sábados. Sempre na mesma pizzaria. E você pediu tanto que adquiriu uma habilidade incrível: prever o momento em que sua pizza chega.

De onde veio essa mágica?

Aprendizado. Vou chamar aqui de outro nome, treinamento.

Ao lado da porta de sua residência existe um relógio. E você olha sempre pra ele quando pede, e quando a pizza chega.

Às terças, 18h, você sempre pede 4 queijos, e a pizza demora 30 minutos para chegar.

Às quintas, 18h, você sempre pede 4 queijos, e a pizza demora 40 minutos pra chegar.

Aos sábados, 18h, você e seus amigos pedem 4 pizzas variadas, que demoram 60 minutos para chegar.

Por um ano, você observou esses tempos, e eles eram praticamente iguais.

A cada observação, essas informações se fixavam no seu cérebro. Essa é a magia do aprendizado. Essas informações transformavam seus neurônios, fortalecendo ligações (as sinapses) e assim você aprendia que dadas essas informações de entrada (Terça-feira, 18h, Pizza de 4 Queijos) o tempo para entrega era de 30min.

Então, se semana que vem, na terça-feira, 18h, você pedir uma Pizza de 4 Queijos na mesma pizzaria de sempre, que horas ela vai chegar?

Agora imagine que você é capaz de ver o caminho da sua Pizza.

Seu pedido chegou até a sua pizzaria favorita, que começou a fazê-la e, dependendo do dia, demorou mais ou menos para terminar:

Às terças-feiras, demorou 20 minutos para preparar a pizza de 4 queijos.

Às quintas-feiras, demorou 30 minutos para preparar a mesma pizza de 4 queijos, porque o dia é mais movimentado.

Aos sábados, demorou 40 minutos para preparar as 4 pizzas, pois apesar de serem mais pizzas e haver mais movimento, a pizzaria liga mais fornos.

Em cada um desses dias, antes do seu encontro mágico com a Pizza, aconteceu outro encontro: o da pessoa entregadora com o restaurante. Se alguém fosse capaz de observar por muito tempo essas variações de tempo, assim como você aprendeu que às terças a Pizza de 4 Queijos demora 30 minutos para chegar, esse alguém seria capaz de prever que essa mesma pizza demorará 20 minutos para ficar pronta, avisando a pessoa entregadora para que ela chegue no momento exato. E graças a esses encontros perfeitos, às previsões feitas pelo aprendizado, aprendizado que veio da observação, sua pizza chega quentinha.

Como as máquinas aprendem?

A inteligência artificial foi criada a partir da inteligência humana, tendo sido nela inspirada. Máquinas aprendem através de algoritmos que buscam reproduzir o processo de aprendizado humano. E um desses algoritmos é chamado de rede neural artificial. Tais redes buscam reproduzir os processos de aprendizado como o descrito no exemplo acima.

Aqui temos um Restaurante, que vou chamar de Restaurante R.

E temos um cliente, que vou chamar de cliente C.

E uma pessoa entregadora, que vou chamar de E.

Vamos supor que a distância entre R e C é de 2km. Temos que o tempo de receber o pedido, R preparar a Pizza e E entregá-la para um cliente que está há 2km se dá assim:

Essa tabela é o que chamamos de Dataset de treino. É a partir dessas informações que uma rede neural, assim como o cérebro humano no exemplo anterior, aprende.

Ao executarmos o processo de treino de uma rede neural, ela analisa os dados e encontra padrões. Esses padrões interagem com os neurônios artificiais, entidades matemáticas semelhantes aos neurônios humanos. E assim como os neurônios humanos, quanto mais um padrão se repete, mais ele ajusta a rede. Observando muitos pedidos, a rede neural vai entender que na quinta-feira o tempo é 10 minutos maior que na terça-feira, por exemplo, para a mesma quantidade e sabor de pizzas. Assim, como nós, humanos, ela é capaz de aprender que o dia da semana é importante para o tempo de entrega e entender o quanto é.

Após treinada, essa rede é capaz de prever em quanto tempo o pedido pode ser entregue. E se fornecermos a ela como dados de entrada um pedido à distância de 2km, feito numa quinta-feira, de uma pizza de 4 queijos, certamente a resposta será de 40 minutos.

Assim, a Inteligência Artificial foi criada inspirada na inteligência humana, e sua base principal é a estatística. Se algo se repetiu muitas vezes, a tendência é que sob as mesmas condições volte a se repetir. A essa repetição chamamos de padrões, e as redes buscam padrões para poder visualizar o futuro.

Somos Tempos

O exemplo anterior, de como uma máquina aprende, ilustra de maneira simplificada as máquinas que a área de Tempos cria, para prever, por exemplo, o momento em que sua Pizza ficará pronta e o momento em que ela chegará na sua casa.

Nossas máquinas têm por base complexas redes neurais que analisam milhões de registros, observando uma grande quantidade de variáveis, encontrando padrões, fazendo a previsão dos tempos de preparo e entrega e distribuindo isso internamente para nossos sistemas e externamente, chegando até a palma da mão de clientes, restaurantes e pessoas entregadoras, ajudando a orquestrar milhões de refeições que chegam o mais próximo possível do tempo ideal. Essas previsões fazem com que a pessoa entregadora chegue no momento certo ao restaurante, e que a comida chegue no momento prometido na porta da sua casa.

Essas máquinas são feitas por pessoas, que reúnem os conhecimentos de Inteligência Artificial, Engenharia, Sistemas e Tecnologia, Design e Produto para fazer as melhores previsões e proporcionar experiências gastronômicas incríveis:

Inteligência Artificial: Felipe Yoshimura, Acácio Demétrio, Raphael Ottoni, Arnaud Seydoux

Engenharia: Diego Azevedo, Vinicius Carmo, Anne Moreira, Vitor Moreira, Diego Zilioti, Luiz Guimarães

Design: Marcos Cesar, Renata Moreira

Produtos: Christian Zambra, Vinicius Macedo, Wellington Brosko, Thiago Capeleiro

Somos a área de Tempos e seguimos dedicando nossos esforços para garantir a acuracidade de nossas previsões, contribuindo para equilibrar nossa operação e proporcionar experiências incríveis.

--

--

Christian Zambra
iFood Tech

Passionate to learn; believes that new products are made to change people’s life for better; Fuzzy AND Techie :) B. Engineering & Advertising. Alma Matter: USP