在这个国内有哪些问答 (QA) 或对话 (dialogue) 比较牛的团队或个人, 列下其成果? 的回答中有人提到了我
实在是感觉捧杀, 因为自己做的对话的东西太过初步(无法精确自然语言理解), 于是想写写对话到底现在技术做到什么样子了
------------------ 正文开始的分割线 ---------------
最近公司都在做音箱, PR 的多, 给我发职位邀请的也多 (虽然我感觉我并不能胜任), 但是往往大家用完会有一种智能智障的感觉(大家可以自行查询智能智障这四个字) 我来写写对于聊天, 以及音箱最重要的一个问题自然语言理解
自然语言理解分为两个套路: 一个是文本匹配, 一个是语义解析(Semantic Parsing);
文本匹配即: 给定文本 A,B, 给一个相似度打分常见应用搜索引擎, 扯淡型聊天机器人
语义解析即: 给定一个文本, 把它分析成某特定的逻辑表达式常见应用是 人类语言 - SQL 语句的转化, 以及任务型聊天机器人
他们最大的不同是啥呢, 文本匹配任务往往比较粗糙, 他会把北京到上海的机票和上海到北京的机票相似度算的很大, 不区分逻辑, 而语义解析则不同, 它能把它 parse 成一个逻辑表达式, 分清从哪儿去哪儿语义解析对于精准的理解自然语言是十分重要的, 虽然文本匹配可以大面上理解, 但是理解的还不够, 不能推理, 不能分清我爱你和你爱我的区别适用于要求精度不高的应用, 比如闲聊天, 比如搜索引擎这就导致了, 音箱这种完成命令式的家具, 核心技术就是语义解析
当然不要在这里抬杠说音箱可以内置个扯淡型聊天机器人~
于是, 现在的音箱就会能回答的问题极少(因为程序员要吃饭睡觉, 写不了这么多规则, 也写不了那么多 API 调用), 从网上找了找例子
问有时候有时候我会相信一切有尽头这首歌 xx 精灵不会通过歌词来搜歌曲名
问我手一杯品尝你的美是什么歌 xx 精灵说没找到
说我喜欢这首歌 xx 精灵貌似不支持收藏歌曲
问播放鬼吹灯不会讲有声书
问来一个音乐频道不支持音乐频道
问播放辽宁的广播在鬼扯
问洛杉矶今天哪一天只知道北京时间, 没毛病啊
问三个火是什么字不支持字典功能
问美好的近义词不支持近义词功能
问床前明月光翻译不支持诗词解释
问日心说是谁提出的不支持百科问答
问莫扎特的代表作找不到
问根号三等于多少只会 1000 以内加减乘除, 心累(其实是 rule 写的太少)
问 how do you do 什么意思答非所问, 简单英文翻译也不会
问从广州到深圳路况怎么样? 答不上来
所以, 现在音箱能帮助大家的还很少 一个很明显的例子就是根号三等于多少, 这个由于写 rule 工程师没写就失败了当然以后随着功能变多, 需要处理的情况就越多, 规则就越来越暴露自己的缺陷
---------------- 我是另一个分割线 -------------
很奇怪的是, 在中国如果找 10 个做 NLP 的, 基本 8 个都能说出什么是文本匹配, 但是估计只有一个知道并熟悉什么是语义解析包括如果你在知乎进行搜索, 文本匹配, 你会发现相关介绍一堆, 说的也是像模像样
但是一旦你搜索语义解析呢:
你会发现大部分的语义解析都不是真正 NLP 里面定义的语义解析
更重要的是, 中国的学术圈也是做文本匹配的多, 做语义解析的少原因往往是文本匹配应用很成熟, 搜索推荐广告, 互联网三驾马车都会用到的是文本匹配技术而像音箱或者智能助手, 最后大家也不研究如何语义解析, 直接写规则系统, 用一个基于规则的语义解析器来做音箱
这就导致了音箱的对于语言的理解永远被正则表达式 (规则) 束缚, 举步维艰而 Semantic Parsing 在国外却热的多, 无论是 Stanford 和 CMU, 他们的 NLP 一大块都是做 Semantic Parsing, 包括 Socher 也在研究这个问题, 而中国研究的却比较少所以, 国外的音箱在智能上会比国内的好一些(当然也是半个智障)
总之, 面对着一个用工程师血与泪写出来的规则系统, 我真是不抱太大期望, 只能说程序员辛苦了做 NLP 的程序员继续 follow 语义解析的进展, 希望有一天这个技术能更成熟, 让智能智障变成智能音箱
来源: http://www.tuicool.com/articles/go/fiQRNzA