十种语言的语音记录 — AI对非英语餐食的理解能力如何?
我们在十种语言中测试了语音食物记录,使用十种标准化餐食。看看哪些语言AI处理得最好,哪些存在困难,以及多语言自然语言处理如何推动全球准确的营养追踪。
英语的语音食物记录效果显著。但当你用普通话、土耳其语或阿拉伯语描述你的餐食时,会发生什么呢?随着营养追踪应用在全球的扩展,理解多种语言中的口语食物描述已不再是可有可无的功能,而是核心需求。我们对十种标准化餐食进行了多语言语音记录测试,测量了食物识别的准确性、数量解析和数据库匹配。
在100种餐食与语言组合中,AI语音记录正确识别主要食物项的准确率为91%。英语、西班牙语和葡萄牙语的准确率最高(95%至97%),而像普通话这样的声调语言以及像土耳其语和阿拉伯语这样具有复杂形态的语言,准确率在83%至89%之间——虽然仍然可用,但需要更频繁的澄清提示。
测试:10道餐食,10种语言,100种组合
我们选择了10道涵盖全球美食的餐食,呈现不同的自然语言处理挑战——复合成分、文化特定菜肴、数字数量和修饰词丰富的描述。每道餐食由母语者用10种语言描述,并在以下三个标准上评估语音记录流程:
- 食物识别: AI是否正确识别主要食物项?
- 数量准确性: 数字数量和份量是否正确解析?
- 数据库匹配: 是否选择了正确的营养数据库条目?
10道测试餐食
| 餐食编号 | 描述(英语) | 主要自然语言处理挑战 |
|---|---|---|
| 1 | 两个炒鸡蛋配切达奶酪 | 数量 + 修饰词 |
| 2 | 烤鸡胸肉配蒸西兰花 | 两个独立项 + 制作方法 |
| 3 | 一碗豆腐味噌汤 | 容器数量 + 文化特定菜肴 |
| 4 | 意大利肉酱面配帕尔马干酪 | 复合菜名 + 配料 |
| 5 | 一份大希腊沙拉配羊奶酪和橄榄油 | 尺寸修饰词 + 多种成分 |
| 6 | 200克白米配烤三文鱼 | 精确的公制数量 + 两个项 |
| 7 | 一把杏仁和一根香蕉 | 模糊数量 + 连词 |
| 8 | 鸡肉沙威玛卷配芝麻酱 | 文化特定 + 复合项 |
| 9 | 两片全麦面包配花生酱 | 数量 + 多词食物名称 |
| 10 | 黑咖啡和蓝莓松饼 | 修饰词(黑) + 复合食物名称 |
10种语言
这些语言的选择涵盖了不同的语言家族、书写系统和音系特征:
- 英语 — 日耳曼语系,拉丁字母,参考基准
- 西班牙语 — 罗曼语系,拉丁字母,性别名词
- 普通话 — 汉藏语系,表意文字,声调(4个声调)
- 德语 — 日耳曼语系,拉丁字母,复合词,语法格
- 土耳其语 — 突厥语系,拉丁字母,黏着语法
- 法语 — 罗曼语系,拉丁字母,语音中的连音和省音
- 日语 — 日本语系,混合书写(汉字/平假名/片假名),敬语水平
- 韩语 — 韩国语系,韩文,主语-宾语-动词的语序
- 葡萄牙语 — 罗曼语系,拉丁字母,鼻音元音
- 阿拉伯语 — 闪米特语系,阿拉伯字母(从右到左),根基形态,双语现象
完整结果:按语言和餐食的食物识别准确性
下表显示了AI在每种语言中是否正确识别了每道餐食的主要食物项。对号表示正确识别;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 |
数量解析准确性按语言
数量解析测量AI是否正确解释了数字数量、模糊数量(如“一把”、“一碗”)和公制测量。这是单独测试的,因为系统可能正确识别食物,但分配了错误的份量。
| 语言 | 精确数字(如“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流程如何应对
普通话:声调区分和量词
普通话对语音食物记录提出了两个主要挑战。
ASR中的声调模糊性: 普通话有四个声调加一个轻声,许多与食物相关的词仅通过声调区分。例如,声调上升的“汤”(第二声)表示汤,而声调下降的“糖”(第四声)则表示糖。ASR模型必须从音频波形中正确识别声调,这在嘈杂环境或快速语速下更具挑战性。
量词: 汉语在数字和名词之间使用特定的量词。描述“两个鸡蛋”的短语是“两个鸡蛋”(liǎng gè jīdàn),其中“个”是量词。不同的食物需要不同的量词——“片”(piàn)用于切片,“碗”(wǎn)用于碗,“杯”(bēi)用于杯子。NER模型必须将这些量词识别为数量指示符,而不是食物修饰符。
尽管面临这些挑战,普通话的语音记录仍然达到了87%的食物识别准确率,因为现代系统(包括多语言Whisper)中使用的ASR模型是基于大量普通话语音数据训练的,而中文食物词汇在训练语料中得到了充分代表。
德语:复合词和语法格
德语通过将单词连接在一起而不留空格来创建复合名词。“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),将源自英语的“炒鸡蛋”和“吐司”与日语语法和本土计数词“二つ”(futatsu,两个项)结合。
现代多语言ASR对此处理良好,因为训练数据包括代码切换的日语语音。日语的食物识别准确率为88%,错误主要集中在使用地区方言术语描述的传统日本菜肴上,而不是标准日语。
法语:连音、省音和性别食物名称
法语语音特征包括连音(单词之间的声音连接)和省音(在其他元音前省略元音),这可能使音频中的单词边界不清。“Les oeufs”(鸡蛋)发音为一个连贯的声音,其中“les”直接连接到“oeufs”,可能会混淆单词边界的检测。
法语食物名称是有性别的:“le poulet”(阳性,鸡)与“la salade”(阴性,沙拉)。虽然性别不会改变食物识别,但会影响周围的冠词和形容词,NER模型将其用作上下文线索。错误识别性别标记可能会导致实体提取错误。
尽管如此,法语的准确率仍然达到了95%——在非英语语言中名列前茅,因为法语拥有丰富的ASR训练数据,法式烹饪在全球食物数据库中得到了充分代表。
韩语:主语-宾语-动词顺序和敬语
韩语将动词放在句子的末尾,这意味着食物项出现在话语的前面。“스크램블 에그 두 개와 토스트를 먹었어요”(scrambled eggs two pieces and toast ate)遵循SOV顺序。主要基于SVO语言(如英语)训练的NER模型必须适应这种不同的顺序。
韩语还使用不同的语气等级(正式、礼貌、随意),改变动词结尾,并可以在句子中添加粒子。这些额外的语素增加了食物实体与其数量标记之间的距离,要求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流程。额外的处理阶段引入了更多的错误积累机会。
Nutrola如何处理多语言语音记录
Nutrola的语音记录流程通过几个架构决策来应对多语言挑战:
- 特定语言的ASR模型: 而不是使用单一的多语言模型,当用户的语言设置已知时,流程将音频路由到特定语言的微调模型,这比通用多语言ASR提高了3到5个百分点的准确性。
- 本地化消歧义: 食物实体消歧义使用用户的地区来解决特定地区的食物名称。“Chips”在伦敦、纽约和悉尼的解析方式不同。
- 跨语言食物数据库: 经验证的营养数据库跨语言映射食物条目,因此“poulet grille”(法语)、“pollo a la plancha”(西班牙语)和“grilled chicken”(英语)都解析为相同的经验证营养档案。
- 回退到文本输入: 当任何语言的语音置信度低于阈值时,用户可以无缝切换到文本搜索或条形码扫描——Nutrola的条形码扫描器覆盖全球95%以上的包装产品。
结合AI照片记录和AI饮食助手,这些多语言语音能力使Nutrola成为全球用户的实用日常营养追踪工具。所有功能——包括在所有支持语言中的语音记录——每月仅需2.50欧元,并提供3天的免费试用,任何层级均无广告。
未来展望:2026年及以后的多语言语音记录
多语言语音食物记录的几项发展正在改善:
- 方言特定微调: 针对口语方言(埃及阿拉伯语、巴西葡萄牙语、粤语)的新数据集正在缩小标准语与口语之间的准确性差距。
- 多模态输入: 将语音与照片结合,使AI能够进行交叉验证——如果照片显示米饭而语音说“arroz”(西班牙语的米饭),则两种模态的置信度都会增加。
- 自监督学习: 在未标记的多语言音频上训练的模型(如wav2vec 2.0、HuBERT)学习语音表示,而无需转录数据,从而加速低资源语言的改进。
- 用户反馈循环: 用户每次纠正(“那应该是糙米,而不是白米”)都成为改善该语言模型的训练信号。
常见问题解答
哪些语言的AI语音食物记录效果最好?
英语、西班牙语、葡萄牙语和法语在语音食物记录中取得了最高的准确率,整体得分均超过93%。这些语言受益于丰富的ASR训练数据、良好记录的食物数据库以及相对简单的形态学处理。德语以92%的整体得分排名第五。
我可以准确地用普通话记录餐食吗?
普通话的语音记录整体准确率约为86%。主要挑战是ASR中的声调区分(例如“汤”根据声调的不同意思不同)和数量的量词系统。对于发音清晰的常见食物,准确率会显著提高。使用精确的数字数量(如“200克”)而不是模糊描述会显著改善结果。
AI如何处理在不同语言中无法翻译的食物名称?
像“沙威玛”、“味噌”和“tzatziki”这样的文化特定食物通过跨语言食物实体数据库进行处理,这些数据库将母语食物名称直接映射到营养档案。当土耳其语使用者说“tavuk shawarma”或日语使用者说“味噌汁”(miso soup)时,NER模型将这些识别为各自语言中的食物实体,并将其映射到适当的数据库条目,无论是否存在英语等价物。
为什么阿拉伯语的语音记录准确率低于其他语言?
阿拉伯语的语音记录整体得分为84%,主要由于三个因素:(1)双语现象——现代标准阿拉伯语与口语方言之间的显著差异意味着模型必须处理许多发音变体;(2)与欧洲语言相比,标记训练数据有限;(3)根基形态导致每个食物概念产生许多表面形式。当说话者使用现代标准阿拉伯语时,准确率上升至约91%。
我的特定语言的语音记录准确率会随着时间的推移而提高吗?
是的。语音记录系统通过两种机制进行改进:针对特定语言的全球模型更新,基于所有用户的聚合数据,以及个性化适应,学习您的特定发音模式、经常记录的食物和首选食物名称。在定期使用两到三周后,系统通常会在您常见餐食的识别准确率上显示可测量的改善。
我可以在语音记录中混合语言吗,比如用西班牙语描述一顿餐食时夹杂一些英语食物术语?
代码切换——在单一话语中混合两种语言——在多语言家庭中很常见,现代ASR模型越来越支持这种情况。说“Tuve un bowl de quinoa con grilled chicken”(混合西班牙语和英语)通常会被多语言变换器模型正确解析。然而,准确率比单一语言的表达低约5到8个百分点,因此保持在一种语言中会产生最佳结果。
如何在非英语语言中获得最准确的语音记录结果?
四个做法可以提高准确性:(1)以适中的语速清晰发音;(2)尽可能使用精确数量(“200克”而不是“一点”);(3)使用标准食物名称而不是地区俚语或缩写;(4)当AI出现错误时进行纠正,因为这种反馈会直接改善未来的识别。Nutrola还支持切换到照片记录或条形码扫描,以便于难以用语言描述的项目。
Nutrola是否支持在所有10种测试语言中进行语音记录?
Nutrola支持多种语言的语音记录,具备本文所述的完整NLP流程。该应用会自动检测用户的设备语言,并将语音输入路由到相应的特定语言模型。Apple Health和Google Fit的同步无论您使用哪种语言记录,确保您的营养数据与健康生态系统无缝集成。