天天看点

聊天机器人的发展史

      自然语言处理最初发端于上个世纪60s的chatbot(聊天机器人),在这之前,图灵通过图灵猜想算是给聊天机器人种下了一颗种子。从上世纪60s到上世纪末,chatbot大约经历了三个重要的历史时期。

      第一个时期(1966年),麻省理工学院(MIT)的约瑟夫·魏泽鲍姆(Joseph Weizenbaum)开发的聊天机器人ELIZA[1],用于在临床治疗中模仿心理医生。值得注意的是尽管ELIZA的实现技术仅为关键词匹配及人工编写的回复规则,但魏泽鲍姆本人对ELIZA的表现感到吃惊,随后撰写了《Computer Power and Human Reason》这本书,表达他对人工智能的特殊情感。

      第二个时期(1988年),加州大学伯克利分校(UC Berkeley)的罗伯特·威林斯基(Robert Wilensky)等人开发了名为UC(UNIX Consultant)[2]的聊天机器人系统。UC是一款帮助用户学习怎样使用UNIX操作系统的聊天机器人。它具备了分析用户的语言、确定用户操作的目标、给出解决用户需求的规划、决定需要与用户沟通的内容、以英语生成最终的对话内容以及根据用户对UNIX系统的熟悉程度进行建模的功能。

      第三个时期(1995年),受到ELIZA聊天机器人的启发,理查德·华勒斯(Richard S. Wallace)博士在1995年开发了ALICE[3]系统。并于1998年开始开源,目前全世界有超过500个开发者为ALICE项目贡献代码。值得注意的是,随着ALICE一同发布的AIML(Artificial Intelligence Markup Language)目前被广泛应用在移动端虚拟助手的开发中。尽管ALICE采用的是启发式模板匹配的对话策略,但是它仍然被认为是同类型聊天机器人中性能最好的系统之一。

       进入本世纪后,chatbot机器人随着人工智能的兴起有了长足的发展,各大互联网公司、各个高校和研究院都取得了成就。但总的来说,也可以大致的分为三种。检索式、生成式和知识图谱式。其中,知识图谱式的chatbot比较难以实现,但是是有前景的。

       第一种,检索式对话生成chagbot,检索式的代表性技术[4]是在已有的人人对话语料库中通过排序学习技术和深度匹配技术找到适合当前输入的最佳回复。这种方法的局限是仅能以固定的语言模式进行回复,无法实现词语的多样性组合。

       第二种,生成式对话chatbot,生成式的代表性技术[5,6]则是从已有的人人对话中学习语言的组合模式,是通过一种类似机器翻译中常用的“编码-解码”的过程去逐字或逐词地生成一个回复,这种回复有可能是从未在语料库中出现的、由聊天机器人自己“创造”出来的句子。

       第三种,知识图谱式的chatbot目前还没有典型的代表,这一类机器人将最常用的语言和简单逻辑通过AIML模版处理,通过知识图谱(可以自动生长)的逻辑推理来处理复杂的逻辑,运用深度神经网络来将复杂的逻辑用人类的语言表达出来。

参考文献:

[1] Weizenbaum J. ELIZA—a computer program for the study of natural language communication between man and machine[J]. Communications of the ACM, 1966, 9(1): 36-45.

[2] Wilensky R, Chin D N, Luria M, et al. The Berkeley UNIX consultant project[J]. Computational Linguistics, 1988, 14(4): 35-84.

[3] http://www.alicebot.org/

[4] Z. Ji, Z. Lu, H. Li. An information Retrieval Approach to Short-text Conversation. arXiv: 1408.6988, 2014.

[5] Ritter A, Cherry C, Dolan W B. Data-Driven Response Generation in Social Media.[J]. Empirical Methods in Natural Language Processing, 2011:583-593.

[6] L. Shang, Z. Lu, and H. Li. Neural Responding Machine for Short-text Conversation. In Proceedings of ACL, 2015.

继续阅读