В Лаборатории искусственного интеллекта МТИ решили попробовать упростить учет калорийности пищи с помощи мобильных приложений. Обычно в них требуется вручную вводить информацию о том, что съел пользователь, а в МТИ разработали прототип системы, которая прослушивает устное описание трапезы и извлекает сведения о пищевой ценности из онлайн-базы министерства сельского хозяйства.
Информация, которую системе удалось выяснить, выводится вместе с изображениями еды, чтобы пользователь мог уточнить сведения, например, указать более точное количество съеденного. Это можно сделать с помощью графического интерфейса или устно.
Исследователи отметили сложности, с которыми им пришлось столкнуться. В частности, пришлось обучить систему различать функциональные роли слов: к примеру, если пользователь говорит, что ел овсяное печенье, то учитывать питательную ценность геркулеса не нужно, а в случае овсяной каши — наоборот. Еще одна проблема — несовпадение естественного языка с наименованиями в базе данных. Например, данные об овсянке приведены в записи, озаглавленной «овес».
Проблемы решили с помощью краудсорсинга и машинного обучения. Пользователи сервиса Amazon Mechanical Turk по заказу исследователей описывали съеденное и отмечали в этих описаниях слова, обозначающие названия пищевых продуктов, количество, бренды и модификаторы. К примеру, в словосочетании «тарелка овсянки» первое слово это количество, а в «овсяном печенье» — модификатор.
Для решения второй задачи использовалась еще одна база данных по пищевым продуктам, в которой приведены синонимы. Для случаев когда синонимов не было, исследователи снова обратились к помощи Mechanical Turk.