Данные выводятся вместе с изображением названных продуктов и перечнем вариантов, с помощью которых можно уточнить свое описание (например, указав точную массу еды). Можно делать это и устно. Пользователь может сказать: «На завтрак у меня была овсянка, банан и стакан апельсинового сока», а потом добавить «половина банана», и изменения будут внесены в калькуляцию. Вводить все заново не придется.
Предыдущие исследования установили, что «приложения, в которых людям надо самим вводить данные, требуют слишком много усилий, и люди перестают их использовать, — говорит Джеймс Гласс, старший исследователь Лаборатории искусственного интеллекта MIT. — Поэтому они стали искать способы точного и простого ввода информации».
Исследование сосредоточилось на решении двух задач: идентификации функциональной роли слов и согласования названных продуктов с базой USDA. В первом случае, проблема заключалась в том, чтобы научить машину отличать важное от второстепенного. Например, когда пользователь говорит «тарелка овсянки», нужно вывести пищевую ценность овсяных хлопьев. А когда «овсяное печенье» — не нужно. Для решения было использовано машинное обучение через платформу Amazon Mechanical Turk.
Вторая проблема состояла в том, что продукты в базе USDA зачастую называются не так, как мы привыкли их называть, поэтому пришлось воспользоваться открытой базой данных Freebase, в которой собрано 8000 названий продуктов с синонимами. Там, где синонимов недоставало, их приходилось вносить вручную.