siri和语音对话系统

Siri最近是相当的火,朋友Sigma最近的一片文章也有讨论她用到的技术。
Siri本身是一个语音对话系统。从输入到输出,经过语音识别,对话系统到语音合成。
想起自己当年的毕业设计就是一个对话系统,再看看Siri,觉得自己的东西太naive了 :]

系统前后两端的技术已经比较成熟了。

嘈杂环境下的实时语音识别可能仍然是一个问题,
但是Siri的使用环境使得她不需要去考虑这两点。
第一,用户不太可能在很吵闹的地方对着手机喊叫,这看起来太傻了。
第二,用户不需要Siri随时都监听输入。
这样一来,输入方面,误识别率大大下降了。

我很好奇的是Siri怎样做到和说话人无关的识别。
一般来说,如果期望识别系统有一个比较好的识别率,
都需要事先针对说话人对系统做一些训练。
对于不同的个人得到相应的特征偏移。
小词汇量的连续语音识别和命令式的语音识别对这方面要求不高,
但是大词汇量下的连续语音识别却是比较依赖事先训练。
难道是米国人的发音都很标准?

对话系统的核心是从文本到文本的这一段。
也就是从已经识别出来的,用户说的话,到Siri给出对应的反馈,这个过程。

这方面的研究也有很长的历史了。比如,很著名的图灵测试。
图灵测试里,机器的目的就是通过对话骗过裁判来相信它们是人类。
铜奖的标准是在文本对话上完成这个任务,银奖则需要语音上的完美模拟,
金奖就得面对面的自然交谈了。
目前还没有机器能达到银奖水平。

Siri,和图灵测试里的程序的不同之处在于她需要提供有用的服务。
如果Siri只是在跟你打哈哈,即使内容有趣,也不会有多大的用处。
所以Siri需要真正得理解对话的内容。
这就把人工智能多年以来的很多工作整合起来了,比如自然语言理解、专家系统、
甚至到逻辑推理。
这些才是人工智能的核心内容。

Siri和生活服务的整合方面则是语义网成功的应用。这方面我不太了解。
只是早先听说语义网在小的、定制的范围内有很成功的应用,
因为这一块需要比较大量的工程上的工作。
其实想法很好理解,而且大家都想过。
大家都曾经希望对话系统能够自发地去网上找缺失的信息。
但是机器没有办法直接消化处理搜索引擎的输出。机器需要信息按照机器能理解的方式去组织。
所以就有了语义网这个概念。网络上所有的信息都需要它的标签,机器可以理解的标签。
对于任何一个词,机器可以方便地找到相关的知识。
所以机器能知道”当我谈跑步时,我谈些什么” :]

我们可以隐隐感觉到语言理解是各个问题的核心,也是人工智能的初衷之一。
我们期望能和机器交谈。
当她们的外表越来越接近我们,她们似乎也应该有同样丰富的内心。
当我们向机器提出一个问题的时候,我们希望她能够给出满意的回答。
无论她通过什么手段。无论她叫什么名字。