首页 / 科技 / 正文

语音识别为啥总听岔你的日常碎碎念?

上周三加班到十点半,在地铁口冻得手指僵得弯不动,掏了三次手机都打不对导航地址,干脆凑到麦克风边扯着嗓子喊“去新街口羊皮巷”。

等我眯着眼看识别结果的时候,当场站在风里笑到跺脚——屏幕上明明白白写着“去新大洋皮箱”。

这破语音识别,跟我戴的三层口罩加地铁口呼啸的风噪,到底有多大仇?

你以为的“听声音”,其实是在做“文字拼图”

很多人对语音识别的认知还停留在“它就是个机器耳朵,听见我说话就转成字”。真不是。

你换个思路想:它从一开始就没“听懂”过你说的是什么。

就像你站在KTV包厢门外,隔着两扇厚门听里面的人唱歌,根本抓不住完整的歌词,只能捕捉到几个零碎的发音片段,然后凭着你平时听了几百遍的歌单,把这些碎片拼成最可能的那句词。语音识别的本质,从来不是“复刻你的发音”,而是从一堆混杂着噪音的声波碎片里,拼出最符合日常语言习惯的文字组合。

我上次带我那土生土长的城南老舅去吃皮肚面,老舅对着语音输入慢悠悠说“皮肚面要加油渣”,结果识别出来“皮肚面要加油炸”。老舅那口地道的城南口音,把“渣”的翘舌音全说成平舌,放在模型的训练语料里,“油炸”这个词的出现频次本来就比“油渣”高了几十倍,它拼词的时候自然第一反应选更常见的搭配。我当时看着屏幕差点把手里的冰红豆汤洒在桌上。

语音识别声波转文字拼图过程示意图

那些你嫌吵的背景音,才是识别错的核心元凶

很多人遇到识别不准的情况,第一反应是“我口音太重”“我麦克风坏了”。其实真不全是你的问题。

上次我在新街口地下通道赶时间,对着手机喊“买一杯三分糖的茉莉奶绿”,旁边的商场喇叭在放促销广告,电动车的喇叭在滴滴按,我自己因为跑了两步,呼吸声粗得像刚跑完八百米。那一堆声音混在一起传到麦克风里,对语音识别来说,就像让你在沸腾的火锅店里,隔着三桌人听邻座说他要加什么菜——能听清才怪。

现在的语音识别模型,对“清晰无噪的人声”的识别准确率已经高到离谱,但只要环境信噪比掉下来,它的准确率就会跟着跳水。别信那些宣传说什么“能自动过滤所有背景音”,它现在的过滤逻辑还是很机械的——比如你说话的时候旁边有个小孩尖叫,那高频的声音刚好和你说话的频段撞在一起,它根本分不出来哪段是你的声音,哪段是小孩的,最后拼出来的文字自然驴唇不对马嘴。

嘈杂地铁环境下语音识别声波分离示意图
嘈杂地铁环境下语音识别声波分离示意图

它故意“听岔”你的话,有时候是为了帮你避坑

它故意“听岔”你的话,有时候是为了帮你避坑
它故意“听岔”你的话,有时候是为了帮你避坑

最有意思的一点是,很多时候它识别错,根本不是耳朵不好,是故意的。

比如你对着语音助手吐槽“今天上班真他妈烦”,最后识别出来的大概率是“今天上班真麻烦”。不是它听不清那个字的发音,是现在的模型最后一步拼字的时候,加了内容合规的过滤逻辑——直接把不符合规范的词,替换成发音相近的、更常用的文明表达。

还有次我深夜走在回家的路上,边晃边对着手机说“我靠前面有个坑”,结果识别出来的是“注意前面有个坑”。我愣了两秒才反应过来,这不是它反应快,是它的训练语料里,这种深夜走路的场景下,出现“注意安全”“小心脚下”这类提示的概率,比出现语气词的概率高多了,它自动就给你换成最“安全”的表达了。

上次我跟朋友吐槽说“我昨天点的奶茶珍珠硬得像石头”,结果识别出来“我昨天点的奶茶珍珠真的好吃”,朋友秒回“你是不是被奶茶店绑架了?”我盯着屏幕半天没回过神,合着这识别模型还自带“自动美化buff”是吧。

其实我们真的对语音识别太苛刻了。

你想啊,我们跟身边最熟的人说话,都有听岔的时候。上次我跟对象说“下班带个烤肠”,他给我带了瓶老陈醋回来。对吧?凭啥要求一个没长耳朵的机器,能百分百接住你所有含混的、带口音的、混着各种背景噪音的碎碎念?

前几天我把手机的语音输入模式切到“南京方言”,再让老舅对着说“皮肚面加油渣”,居然一次就识别对了。原来之前不是它笨。是它见过的“人说人话”的样本,还不够多。

说真的,等哪天它能精准认出我那一口带江浦口音的普通话,能在地铁的轰鸣里听清我要拐去的那条藏在老小区里的巷子,我肯定第一时间给它颁个最佳打工人工具奖。