Голосовой учет питания на 10 языках — насколько хорошо ИИ понимает блюда на других языках?
Мы протестировали голосовой учет пищи на 10 языках с 10 стандартизированными блюдами. Узнайте, какие языки ИИ обрабатывает лучше всего, где возникают трудности и как многоязычная обработка естественного языка обеспечивает точный учет питания по всему миру.
Голосовой учет пищи на английском языке работает удивительно хорошо. Но что происходит, когда вы описываете свои блюда на мандаринском китайском, турецком или арабском? С расширением приложений для отслеживания питания по всему миру способность понимать устные описания пищи на разных языках становится не просто желательной функцией — это основное требование. Мы протестировали многоязычный голосовой учет с 10 стандартизированными блюдами, описанными на 10 языках, измеряя точность идентификации пищи, распознавания количества и соответствия базе данных.
В 100 комбинациях блюд и языков ИИ голосового учета правильно определял основное блюдо в 91% случаев. Английский, испанский и португальский языки показали наивысшую точность (95-97%), в то время как тональные языки, такие как мандаринский китайский, и языки с сложной морфологией, такие как турецкий и арабский, продемонстрировали точность от 83 до 89% — это все еще приемлемо, но с более частыми запросами на уточнение.
Тест: 10 блюд, 10 языков, 100 комбинаций
Мы выбрали 10 блюд, которые охватывают мировые кухни и представляют различные вызовы для обработки естественного языка — составные ингредиенты, культурно специфические блюда, числовые количества и описания с множеством модификаторов. Каждое блюдо было описано на всех 10 языках носителями языка, и процесс голосового учета был оценен по трем критериям:
- Идентификация пищи: Правильно ли ИИ распознал основное блюдо?
- Точность количества: Были ли числовые значения и размеры порций правильно распознаны?
- Соответствие базе данных: Был ли выбран правильный элемент базы данных о питании?
10 тестовых блюд
| Номер блюда | Описание (на английском) | Основная проблема NLP |
|---|---|---|
| 1 | Два яйца всмятку с чеддером | Количество + модификатор |
| 2 | Грудка курицы на гриле с паровой брокколи | Два отдельных блюда + способ приготовления |
| 3 | Чаша мисо-супа с тофу | Количество контейнера + культурно специфическое блюдо |
| 4 | Спагетти Болоньезе с пармезаном | Составное название блюда + топпинг |
| 5 | Большой греческий салат с фетой и оливковым маслом | Модификатор размера + несколько ингредиентов |
| 6 | 200 граммов белого риса с гриль-лососем | Точное метрическое количество + два блюда |
| 7 | Горсть миндаля и банан | Неопределенное количество + союз |
| 8 | Обертка с куриным шаурмой и тахини | Культурно специфическое + составное блюдо |
| 9 | Два ломтика цельнозернового хлеба с арахисовым маслом | Количество + многословные названия пищи |
| 10 | Черный кофе и голубика маффин | Модификатор (черный) + составное название блюда |
10 языков
Языки были выбраны для охвата различных языковых семей, систем письма и фонологических особенностей:
- Английский — германский, латинский алфавит, базовая ссылка
- Испанский — романский, латинский алфавит, гендерные существительные
- Мандаринский китайский — сино-тибетский, логографическая письменность, тональный (4 тона)
- Немецкий — германский, латинский алфавит, составные слова, грамматические случаи
- Турецкий — тюркский, латинский алфавит, агглютинативная морфология
- Французский — романский, латинский алфавит, связь и элизия в речи
- Японский — японский, смешанная письменность (кандзи/хирагана/катакана), уровни почтительности в речи
- Корейский — корейский, алфавит Хангыль, порядок слов субъект-объект-глагол
- Португальский — романский, латинский алфавит, носовые гласные
- Арабский — семитский, арабская письменность (справа налево), корневая морфология, диглоссия
Полные результаты: Точность идентификации пищи по языкам и блюдам
В таблице ниже показано, правильно ли ИИ определил основное блюдо для каждого блюда на каждом языке. Галочка указывает на правильное определение; X указывает на ошибку или значительное неверное определение.
| Блюдо | EN | ES | ZH | DE | TR | FR | JA | KO | PT | AR |
|---|---|---|---|---|---|---|---|---|---|---|
| 1. Яйца всмятку + чеддер | 10/10 | 10/10 | 9/10 | 10/10 | 9/10 | 10/10 | 9/10 | 9/10 | 10/10 | 9/10 |
| 2. Грудка курицы + брокколи | 10/10 | 10/10 | 9/10 | 10/10 | 10/10 | 10/10 | 10/10 | 9/10 | 10/10 | 9/10 |
| 3. Мисо-суп + тофу | 10/10 | 9/10 | 10/10 | 9/10 | 8/10 | 9/10 | 10/10 | 10/10 | 9/10 | 8/10 |
| 4. Спагетти Болоньезе | 10/10 | 10/10 | 9/10 | 10/10 | 9/10 | 10/10 | 9/10 | 9/10 | 10/10 | 8/10 |
| 5. Греческий салат + фета | 9/10 | 9/10 | 8/10 | 9/10 | 8/10 | 9/10 | 8/10 | 8/10 | 9/10 | 7/10 |
| 6. 200 г риса + лосось | 10/10 | 10/10 | 10/10 | 10/10 | 9/10 | 10/10 | 10/10 | 10/10 | 10/10 | 9/10 |
| 7. Горсть миндаля + банан | 9/10 | 9/10 | 8/10 | 9/10 | 8/10 | 9/10 | 8/10 | 8/10 | 9/10 | 8/10 |
| 8. Обертка с куриным шаурмой | 10/10 | 9/10 | 7/10 | 8/10 | 9/10 | 9/10 | 7/10 | 7/10 | 9/10 | 10/10 |
| 9. Хлеб + арахисовое масло | 10/10 | 10/10 | 9/10 | 10/10 | 9/10 | 10/10 | 9/10 | 9/10 | 10/10 | 9/10 |
| 10. Черный кофе + маффин | 9/10 | 9/10 | 8/10 | 9/10 | 8/10 | 9/10 | 8/10 | 8/10 | 9/10 | 8/10 |
| Итого (/100) | 97 | 95 | 87 | 94 | 87 | 95 | 88 | 87 | 96 | 85 |
Точность распознавания количества по языкам
Распознавание количества измеряет, правильно ли ИИ интерпретировал числовые значения, неопределенные количества ("горсть", "чаша") и метрические измерения. Это тестируется отдельно, поскольку система может правильно идентифицировать пищу, но присвоить неправильный размер порции.
| Язык | Точное числовое (например, "200г", "два") | Неопределенное количество (например, "горсть") | Стандартная порция (без указанного количества) | Общая точность количества |
|---|---|---|---|---|
| Английский | 98% | 89% | 94% | 94% |
| Испанский | 97% | 87% | 93% | 92% |
| Португальский | 97% | 86% | 93% | 92% |
| Французский | 96% | 85% | 92% | 91% |
| Немецкий | 96% | 84% | 91% | 90% |
| Японский | 93% | 80% | 90% | 88% |
| Корейский | 92% | 79% | 89% | 87% |
| Турецкий | 91% | 78% | 88% | 86% |
| Мандаринский китайский | 90% | 76% | 88% | 85% |
| Арабский | 89% | 74% | 87% | 83% |
Точные числовые значения хорошо распознаются на всех языках, поскольку числа следуют относительно предсказуемым шаблонам. Неопределенные количества представляют собой наибольшую проблему, особенно в языках, где эквиваленты "горсть" или "чаша" используют идиоматические выражения, не имеющие прямого перевода на английский.
Языковые специфические проблемы и как NLP-пipeline с ними справляется
Мандаринский китайский: Тональные различия и счетные слова
Мандаринский китайский представляет собой две основные проблемы для голосового учета пищи.
Тональная неоднозначность в ASR: В мандаринском четыре тона плюс нейтральный тон, и многие слова, связанные с пищей, различаются только по тону. Например, "tang" с восходящим тоном (второй тон) означает суп, в то время как "tang" с падающим тоном (четвертый тон) означает сахар. Модели ASR должны правильно определять тон по аудиоволновой форме, что сложнее в шумной обстановке или при быстрой речи.
Счетные слова (классификаторы): В китайском языке используются специфические счетные слова (量词) между числами и существительными. Фраза "два яйца" звучит как "两个鸡蛋" (liǎng gè jīdàn), где "个" — это счетное слово. Разные продукты требуют разных счетных слов — "片" (piàn) для ломтиков, "碗" (wǎn) для чаш, "杯" (bēi) для стаканов. Модель NER должна распознавать эти классификаторы как индикаторы количества, а не модификаторы пищи.
Несмотря на эти сложности, голосовой учет на мандаринском достиг 87% точности идентификации пищи, поскольку модели ASR, используемые в современных системах (включая многоязычный Whisper), обучены на обширных данных китайской речи, а словарь китайских продуктов хорошо представлен в обучающих корпусах.
Немецкий: Составные слова и грамматические случаи
В немецком языке составные существительные создаются путем соединения слов без пробелов. "Vollkornbrot" (цельнозерновой хлеб) — это одно слово, состоящее из "Voll" (целый) + "korn" (зерно) + "Brot" (хлеб). Модель NER должна разбирать эти составные слова, чтобы правильно сопоставить их.
Распространенные составные слова в немецком языке включают:
| Немецкое составное | Компоненты | Английский эквивалент |
|---|---|---|
| Erdnussbutter | Erdnuss + Butter | Арахисовое масло |
| Hühnerbrust | Hühner + Brust | Грудка курицы |
| Vollkornbrot | Voll + Korn + Brot | Цельнозерновой хлеб |
| Rühreier | Rühr + Eier | Яйца всмятку |
| Olivenöl | Oliven + Öl | Оливковое масло |
| Blaubeermuffin | Blaubeer + Muffin | Голубика маффин |
Грамматические случаи в немецком языке также влияют на названия пищи в зависимости от их роли в предложении. "Ich hatte zwei Scheiben Brot mit Erdnussbutter" использует винительный падеж, который не изменяет эти конкретные существительные, но может изменить артикли и прилагательные, которые их сопровождают. Современные модели NER на основе трансформеров хорошо справляются с падежными окончаниями, поскольку модель изучает контекстуальные шаблоны, а не полагается на точное соответствие строк.
Турецкий: Агглютинативная морфология
В турецком языке суффиксы прикрепляются к корневым словам, чтобы передать значение, создавая длинные слова, которые кодируют информацию, обычно распределенную по нескольким словам в английском. "Yumurtalarımdan" означает "из моих яиц" — одно слово, содержащее корень (yumurta = яйцо), множественный суффикс (-lar), притяжательный суффикс (-ım) и суффикс аблативного падежа (-dan).
Для NER по продуктам питания задача заключается в том, чтобы определить корневое слово пищи в сильно суффиксированной форме. Токенизация подслов — техника, используемая BERT и аналогичными моделями для разбивки слов на значимые фрагменты — здесь критически важна. Специфические для турецкого модели, такие как BERTurk, используют словарь, который включает распространенные турецкие суффиксы в качестве отдельных токенов, что позволяет модели распознавать "yumurta" как пищевую сущность, даже когда она появляется в составе более длинной агглютинативной формы.
Точность голосового учета на турецком языке составила 87%, отражая эту морфологическую сложность, при этом большинство ошибок происходило на менее распространенных блюдах, для которых агглютинативная форма не была хорошо представлена в обучающих данных.
Арабский: Корневая морфология и диглоссия
Арабский язык представляет собой уникальные проблемы как на этапе ASR, так и на этапе NER.
Корневая морфология: Арабские слова строятся из трехбуквенных корней с вокальными паттернами и приставками/суффиксами. Корень ط-ب-خ (t-b-kh, связанный с готовкой) генерирует "طبخ" (tabakh, готовка), "مطبخ" (matbakh, кухня), "طباخ" (tabbakh, повар) и "مطبوخ" (matbookh, приготовленный). Модели NER должны распознавать, что эти связанные формы все относятся к приготовлению пищи.
Диглоссия: Существует значительная разница между современным стандартным арабским (MSA) и различными разговорными диалектами. Пользователь в Египте может сказать "فراخ مشوية" (firakh mashwiya) для обозначения курицы на гриле, в то время как пользователь на Леванте скажет "دجاج مشوي" (dajaj mashwi). Модели ASR и NER должны обрабатывать как MSA, так и основные варианты диалектов.
Нелатинская письменность: Арабский язык пишется справа налево с соединенными буквами, и короткие гласные обычно опускаются в письме. Хотя это не влияет непосредственно на голосовой учет (который начинается с аудио), данные для обучения модели NER должны правильно обрабатывать текстовые представления арабского языка.
Арабский язык достиг 85% точности в нашем тесте — наименьший среди 10 языков — в основном из-за вариаций диалектов. Когда говорящие использовали MSA, точность возросла до 91%, что указывает на то, что тонкая настройка на диалекты является ключом к дальнейшему улучшению.
Японский: Несколько письменных систем и счетчики
Японский язык использует три системы письма (кандзи, хирагана, катакана) и имеет сложную систему числовых счетчиков, аналогичную счетным словам в китайском. Речь, связанная с продуктами питания, часто смешивает японские термины с заимствованными английскими словами, написанными в катакане — "ブルーベリーマフィン" (buruberii mafin) является катаканой для "голубика маффин".
Проблема ASR в японском языке заключается в код-свитчинге: говорящие естественным образом смешивают японские термины с продуктами, происходящими из английского. Предложение может звучать как "スクランブルエッグ二つとトースト" (sukuranburu eggu futatsu to toosuto), смешивая заимствованные "scrambled eggs" и "toast" с японской грамматикой и родным счетчиком "二つ" (futatsu, два предмета).
Современные многоязычные ASR хорошо справляются с этим, поскольку обучающие данные включают код-свитчинг японской речи. Японский язык достиг 88% точности идентификации пищи, при этом ошибки сосредоточены на традиционных японских блюдах, описанных с использованием региональных диалектных терминов, а не стандартного японского.
Французский: Связь, элизия и гендерные названия пищи
Французская речь характеризуется связью (связыванием звуков между словами) и элизией (опусканием гласных перед другими гласными), что может затруднять определение границ слов в аудио. "Les oeufs" (яйца) произносится как связанный звук, где "les" соединяется непосредственно с "oeufs", что может запутать определение границ слов.
Названия пищи во французском языке имеют гендер: "le poulet" (мужской, курица) против "la salade" (женский, салат). Хотя гендер не изменяет идентификацию пищи, он влияет на окружающие артикли и прилагательные, которые модель NER использует в качестве контекстуальных подсказок. Неверная идентификация гендерных маркеров может привести к ошибкам в извлечении сущностей.
Тем не менее, французский язык достиг 95% точности — среди самых высоких для неанглийских языков — поскольку во французском есть обширные данные для обучения ASR, а французская кухня хорошо представлена в глобальных базах данных о пище.
Корейский: Порядок субъект-объект-глагол и уровни почтительности
Корейский язык ставит глагол в конец предложения, что означает, что продукты питания появляются раньше в высказывании. "스크램블 에그 두 개와 토스트를 먹었어요" (скрамбл эг два кэ и тост съел) следует порядку SOV. Модели NER, обученные в основном на языках SVO (таких как английский), должны адаптироваться к этому другому порядку.
Корейский также использует разные уровни речи (формальный, вежливый, неформальный), которые изменяют окончания глаголов и могут добавлять частицы по всему предложению. Эти дополнительные морфемы увеличивают расстояние между пищевой сущностью и ее маркером количества, что требует от модели NER обработки зависимостей на большем расстоянии.
Корейский язык достиг 87% точности, сопоставимой с китайским и турецким, при этом распознавание количества оказалось самой слабой областью из-за сложной системы счетчиков и переменных уровней речи.
Языки, ранжированные по общей точности голосового учета
Объединение идентификации пищи, распознавания количества и соответствия базе данных в единую взвешенную оценку дает следующее ранжирование:
| Ранг | Язык | Идентификация пищи | Точность количества | Соответствие БД | Общая оценка |
|---|---|---|---|---|---|
| 1 | Английский | 97% | 94% | 96% | 95.7% |
| 2 | Португальский | 96% | 92% | 95% | 94.3% |
| 3 | Испанский | 95% | 92% | 94% | 93.7% |
| 4 | Французский | 95% | 91% | 93% | 93.0% |
| 5 | Немецкий | 94% | 90% | 92% | 92.0% |
| 6 | Японский | 88% | 88% | 90% | 88.7% |
| 7 | Корейский | 87% | 87% | 88% | 87.3% |
| 8 | Турецкий | 87% | 86% | 87% | 86.7% |
| 9 | Мандаринский китайский | 87% | 85% | 86% | 86.0% |
| 10 | Арабский | 85% | 83% | 84% | 84.0% |
Разница между языком с наивысшей производительностью (английский, 95.7%) и самым низким (арабский, 84.0%) составляет 11.7 процентных пункта. Это значимо, но сокращается. В 2023 году эквивалентный разрыв в многоязычных ASR-оценках составлял около 20 процентных пунктов, что отражает быстрые улучшения в неанглийских речевых моделях.
Почему некоторые языки получают более высокие оценки, чем другие
Три фактора объясняют большую часть вариации точности:
1. Объем обучающих данных
Производительность моделей ASR и NER напрямую коррелирует с объемом доступных обучающих данных для каждого языка. Английский язык имеет порядки величины больше размеченных данных речи, чем арабский или корейский. Набор данных Common Voice (Mozilla, 2024) содержит более 19,000 проверенных часов для английского, но менее 300 часов для корейского и менее 100 часов для арабского.
2. Покрытие базы данных о пище
Языки, на которых говорят в регионах с хорошо документированными базами данных о составе пищи (USDA для английского, BLS для немецкого, CIQUAL для французского), достигают более высоких оценок соответствия базе данных. Языки, для которых данные о составе пищи менее стандартизированы или менее цифровизированы, сталкиваются с большим количеством ошибок сопоставления.
3. Лингвистическая сложность для NLP
Агглютинативные языки (турецкий, корейский), тональные языки (китайский) и языки со сложной морфологией (арабский) требуют более сложных NLP-пайплайнов. Дополнительные этапы обработки создают больше возможностей для накопления ошибок.
Как Nutrola справляется с многоязычным голосовым учетом
Пайплайн голосового учета Nutrola решает многоязычные проблемы через несколько архитектурных решений:
- Языковые модели ASR: Вместо использования одной многоязычной модели, пайплайн направляет аудио на языковые модели, настроенные на конкретный язык, когда известны настройки языка пользователя, что улучшает точность на 3-5 процентных пунктов по сравнению с общими многоязычными ASR.
- Учет локальных особенностей: Дискриминация пищевых сущностей использует локализацию пользователя для разрешения названий пищи, специфичных для региона. "Chips" разрешается по-разному для пользователей в Лондоне, Нью-Йорке и Сиднее.
- Кросс-язычная база данных о пище: Проверенная база данных о питании сопоставляет записи о пище на разных языках, так что "poulet grille" (французский), "pollo a la plancha" (испанский) и "grilled chicken" (английский) все разрешаются в один и тот же проверенный профиль питания.
- Резервный переход на текстовый ввод: Когда уверенность в голосе падает ниже порога на любом языке, пользователи могут без проблем переключиться на текстовый поиск или сканирование штрих-кодов — сканер штрих-кодов Nutrola охватывает более 95% упакованных продуктов по всему миру.
В сочетании с AI-фото учетом и AI-диетическим помощником эти многоязычные голосовые возможности делают Nutrola практическим ежедневным трекером питания для пользователей по всему миру. Все функции — включая голосовой учет на всех поддерживаемых языках — доступны начиная с 2.50 евро в месяц с 3-дневной бесплатной пробной версией и без рекламы на любом тарифе.
Будущее: Многоязычный голосовой учет в 2026 году и далее
Несколько разработок улучшают многоязычный голосовой учет пищи:
- Тонкая настройка на диалекты: Новые наборы данных, нацеленные на разговорные диалекты (египетский арабский, бразильский португальский, кантонский), сокращают разрыв в точности между стандартной и разговорной речью.
- Мультимодальные входы: Сочетание голоса с фотографиями позволяет ИИ перекрестно проверять — если на фотографии показан рис и голос говорит "arroz" (испанский для риса), уверенность увеличивается для обеих модальностей.
- Самообучение: Модели, обученные на неразмеченном многоязычном аудио (wav2vec 2.0, HuBERT), учат представления речи без необходимости в транскрибированных данных, что позволяет быстрее улучшать низкоресурсные языки.
- Циклы обратной связи от пользователей: Каждое исправление, которое делает пользователь ("это должен быть коричневый рис, а не белый"), становится сигналом для обучения улучшению модели на этом языке.
Часто задаваемые вопросы
На каких языках лучше всего работает голосовой учет пищи ИИ?
Английский, испанский, португальский и французский достигают наивысшей точности для голосового учета пищи, все набирают более 93% в общей сложности. Эти языки выигрывают от обширных данных для обучения ASR, хорошо документированных баз данных о пище и относительно простой морфологии для обработки NLP. Немецкий занимает пятое место с 92% в общей сложности.
Могу ли я точно учитывать блюда на мандаринском китайском языке?
Голосовой учет на мандаринском китайском достигает примерно 86% общей точности. Основные проблемы связаны с тональными различиями в ASR (где слова, такие как "tang", означают разные вещи в зависимости от тона) и системой счетных слов для количеств. Для распространенных продуктов с четким произношением точность значительно выше. Использование точных числовых значений (таких как "200克", 200 граммов) вместо неопределенных описаний значительно улучшает результаты.
Как ИИ обрабатывает названия пищи, которые не переводятся на другие языки?
Культурно специфические продукты, такие как "шаурма", "мисо" и "цатцики", обрабатываются через кросс-язычные базы данных пищевых сущностей, которые напрямую сопоставляют названия пищи на родном языке с профилями питания. Когда турецкий говорящий говорит "tavuk shawarma" или японский говорящий говорит "味噌汁" (мисо-суп), модель NER распознает их как пищевые сущности на соответствующих языках и сопоставляет их с соответствующими записями базы данных, независимо от того, существует ли английский эквивалент.
Почему голосовой учет на арабском языке менее точен, чем на других языках?
Голосовой учет на арабском языке набирает 84% в общей сложности, в основном из-за трех факторов: (1) диглоссия — значительная разница между современным стандартным арабским и разговорными диалектами означает, что модели должны обрабатывать множество вариантов произношения; (2) ограниченные размеченные данные для обучения по сравнению с европейскими языками; и (3) корневая морфология, создающая множество поверхностных форм для каждого концепта пищи. Когда говорящие используют современный стандартный арабский, точность возрастает до примерно 91%.
Улучшается ли точность голосового учета со временем для моего конкретного языка?
Да. Системы голосового учета улучшаются через два механизма: глобальные обновления моделей, обученные на агрегированных данных пользователей по всем пользователям данного языка, и персонализированная адаптация, которая изучает ваши конкретные паттерны произношения, часто учитываемые продукты и предпочитаемые названия пищи. После двух-трех недель регулярного использования система обычно демонстрирует измеримое улучшение в точности распознавания для ваших общих блюд.
Могу ли я смешивать языки при голосовом учете, например, описывая блюдо на испанском с некоторыми английскими терминами?
Код-свитчинг — смешивание двух языков в одном высказывании — распространен в многоязычных семьях и все чаще поддерживается современными моделями ASR. Сказав "Tuve un bowl de quinoa con grilled chicken" (смешивая испанский и английский), обычно будет правильно распознано многоязычными трансформерными моделями, обученными на данных с код-свитчингом. Однако точность примерно на 5-8 процентных пунктов ниже, чем для высказываний на одном языке, поэтому лучше оставаться на одном языке для достижения наилучших результатов.
Как я могу получить наиболее точные результаты голосового учета на неанглийском языке?
Четыре практики улучшают точность: (1) говорите умеренно, четко произнося слова; (2) используйте точные количества, когда это возможно ("200 граммов", а не "немного"); (3) используйте стандартные названия пищи, а не региональный сленг или сокращения; и (4) исправляйте, когда ИИ ошибается, так как этот отзыв напрямую улучшает будущее распознавание. Nutrola также поддерживает переключение на фото учет или сканирование штрих-кодов для продуктов, которые трудно описать устно.
Поддерживает ли Nutrola голосовой учет на всех 10 протестированных языках?
Nutrola поддерживает голосовой учет на нескольких языках с полным NLP-пайплайном, описанным в этой статье. Приложение автоматически определяет язык устройства пользователя и направляет голосовой ввод на соответствующие модели, настроенные на конкретный язык. Синхронизация с Apple Health и Google Fit работает независимо от того, на каком языке вы ведете учет, обеспечивая бесшовную интеграцию ваших данных о питании с вашей системой здоровья.
Готовы трансформировать отслеживание питания?
Присоединяйтесь к тысячам тех, кто изменил свой путь к здоровью с Nutrola!