Tempos: Entenda como utilizamos Inteligência Artificial para prever a hora da chegada da sua comida!
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.