前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >智齿科技CTO吴立楠:NLP在对话系统中的应用

智齿科技CTO吴立楠:NLP在对话系统中的应用

作者头像
用户1737318
发布2018-06-05 15:09:41
9410
发布2018-06-05 15:09:41
举报
文章被收录于专栏:人工智能头条人工智能头条

9月8日20:30,CSDN 人工智能用户微信群请来智齿博创科技有限公司(以下简称“智齿科技”)联合创始人&CTO吴立楠,介绍自然语言处理(NLP)技术在对话系统中的应用,并就相关问题与群友进行互动交流。

吴立楠介绍,智齿科技人工客服的实现模型,可简化为输入、词汇模型、计算系统和输出四层架构。其中,词汇模型并行的包括记忆和推理两个部分,记忆是多轮对话的基础,推理包括分词、主干提取、聚类、指代消解等,对于对话效果影响较大

分词是语义理解的基础而重要的工作,智齿科技尝试过大部分分词工具,但经验表明最先进的技术不一定得到最符合需求的效果。吴立楠强调,要根据场景,在不同的环节采用不同的分词,还要要不停地迭代词汇模型、不停地训练分类器。

以下为吴立楠分享图文实录:

我是智齿科技联合创始人和CTO,大家都叫我“老吴”。我最早是学物理的,后来毕业的时候干了计算机,做过大项目,做过电信领域的架构,也做过电商,现在是到智齿科技做一个基于人工智能的客服产品。

我的分享分为两个部分,第一部分是我们目前关注的是国内外几个主要的NLP和人工智能的公司,以及他们的技术、产品形态,第二部分是我们是怎么把NLP,或者更确切的说是NLU应用在客服领域。

NLP/AI技术的不同应用

先说大一点的公司。一提人工智能,大家都想到Siri。Siri后面有两家公司,一个是Nuance,做语音识别的,相当于国内的科大讯飞和云之声,还有另一家是斯坦福研究机构国际智能中心(SRI),做语义理解的,后来被Apple收购了。

再说IBM,从10多年前的deep blue(深蓝)到现在的Watson。大家都知道,深蓝当年的一个新闻是下国际象棋赢了国际冠军卡斯帕罗夫,而Watson最近的新闻是开始应用于检测早期痴呆症了。

还有两家大公司的产品,百度新推出的小度,实际上是下一代搜索引擎的雏形。目前的搜索引擎基于索引、词频、pagerank,把多个答案罗列;下一代搜索引擎通过内容提取,只给出你想要的唯一答案。最近比较火的还有微软的小冰,除了自然语言理解还要视觉计算,比如可以进行年龄识别、看颜值等。

到这里大家可能会说,这些都是国际性的大公司,他们的研发实力和资金都很雄厚,所以才能做这些“高科技”的事情,而我们只能做一下相对“low”的事情。其实不是的,我再说几个国内小公司,看一下他们是怎么做的。这些公司里,有的是只有几个人,现在开始发展起来。

第一个是一个把人工智能应用到时尚界的公司,叫码隆科技,他们有一个微信号,只要你上传一张照片,比如拍的是花、狗、乃至香蕉,都能找到对应的服饰,如下图为茶杯和小龙虾。

其实图形搜索是早就有的技术了,就看大家能不能想到他们可以怎么用。

还有一家叫everstring,他们是通过不断的挖掘和分析全网在线的企业信息,结合每家企业内部的CRM系统,利用机器学习自动建立量化客户模型,然后再用这个模型在全球的其他客户中,帮企业来预测谁会是他们的目标客户。

NLP在智齿科技对话系统中的应用

下面我说一下我们是干什么的,以及怎么干的。我先举几个我们自己的例子,我们是做对话系统的,比如基本的寒暄,多轮会话,一些常识性问题,一些例如成语接龙的文字游戏。

当然还有一些例如刘德华的身高、宫保鸡丁的做法、高血压怎么办等等的问答能力。

但是上面这些都不是我们的主业,我们是做客服的。这个也是我们和小冰、siri的区别。我们是为客户解决业务问题的。

我们做了一个智慧客服的产品。举个例子,你在网上购物的时候,想咨询客服,但是咨询人工客服需要排队,这时候,你可以先咨询客服机器人,通过我们的运营数据,说明我们的机器人可以挡掉60%的咨询量。

从另一个角度讲,人工客服在接待用户的时候,机器人会像一个助手一样,把答案先列在页面上,由人工客服去编辑,乃至直接发送,缩短了人工客服的工作时间。

上面看到的都是产品的外在样子,下面我说一下内在的实现逻辑,架构图如下:

这个图一共分了几部分,看起来很简单,但实际流程比较复杂。输入部分就是用户输入的各种问题,记忆是我们保留的用户最近的若干条对话记录,以及从该对话记录中提取出来的实体。目前是短期的记忆,将来还会有一个针对每个用户的长期的记忆模块。

推理这个框说的比较笼统,实际上流程很多,也在一定程度上决定了一次问答最后的效果。在这的推理包含了初步的分词、去停止词、同义词替换,还包括对分词之后的主干提取、甚至聚类,通过刚才说的记忆模块,来对问题进行重组,也就是指代消解。

比如咱们刚才看到的天气的例子。第一次你问“今天天气怎么样”,第二次你问“上海呢”,第三次你问“下周呢”,经过记忆和推理模块,会自动生成新的问题“上海今天天气怎么样”和“上海下周的天气怎么样”。

刚才还提到了聚类,这块是通过分类的算法,将问题细分到不同的知识组。用我们的一个客户乐视举例。乐视现在商场上主要有两块业务:手机和电视。当用户咨询一个问题的时候,基本上不是手机就是电视的。所以在这块,我们会先根据实体来区分问题的种类,这样就能缩小范围。但是这块风险很大,如果一旦分错了,那后面肯定就全错了。

通过前面可以看出,从推理这边会生成新的问题和对应的分类,再向下,会进入到计算模块,通过推理文本生成最终的文本到达计算模块,会先进行并行计算。

比如前面的例子,有“你好”、“你是谁”这种纯寒暄的,也有问天气的、美食的、股票的、空气质量的、新闻的,也有“我想买个电视机”这种业务的。

所以当文本到达这里的时候,会分成几个维度进行并行的计算,最终由计算控制来最终选择一个结果。计算控制是一个投票系统,最终根据需要,选出第一名或前若干名。

这里我举一个乐视业务的例子:我想买个电视机。但是加上许多干扰词的时候,我们会进行分词,主干提取,最终都会知道用户最想问的是“我想买个电视机”。

在计算模块中,还会进行编解码的操作。比如问天气、股票等等,是需要调用第三方接口的,所以需要经过“文本”--->“代码”的过程。最终由计算控制挑选答案后,再进行结果生成,组成最终答案,然后再返回给用户。

在并行计算这块,我们有几种方法:有基于有限状态机的,有基于图论的等等。

开发过程中越到的坑

下面我简单说一下,我们在开发中遇到一些问题,一些坑,有技术的,有非技术的。

第一,高大上的东西虽然好,但在特定的场景下不见得实用。

用大家比较熟的分词举个例子。分词有几种方式,有基于词典的分词、基于词频的分词、基于知识理解的分词。

最开始我们做系统规划的时候,肯定是想找最先进的,但是效果并不好。后来我们在不同的环节采用不同的分词。比如需要实体识别特别准的时候,就用基于词典的分词,而且这个词典是要不停迭代的。

我们的客户有互联网金融的、电商的、O2O的,所以有一些专业词汇,而在其他地方,可能需要的是速度,或只是为了去掉干扰词,就可以采用基于词频的分词。

其实这个坑在非技术领域也是这样。比如公司在发展初期,来一个oracle类的全球总监也不合适。在技术架构选项上也是,并不是最新的一定最好,代价最小、收益最大的才是最好的。

第二个坑,是技术不能太沉迷于技术,有时候需要抬头看看,为什么要这么做。

我们有一个例子,刚开始我们的机器人,是完全拟人的,采用一问一答的方式。这个在寒暄领域是完全没问题的。在寒暄类的问题上,哪怕错了,答案和问题不太相关,用户也不会觉得有什么。但是业务就不一样了,需要尽可能的准确。

所以我们要不停地迭代词汇模型、不停地训练分类器。我们现在正在做一件事,就是按行业区分词汇模型和分类器。按刚才说的几个大行业分类来做,效果会比一个通用好。

回到刚才的那个问题,业务问题一对一效果会不好,所以这时候抬起头来看看,用户想要的是什么,是尽可能的问题被解决掉。所以就把最接近的几个问题都返回给用户,就OK了。

以上就是我的分享,抛砖引玉,感谢大家参与,以上有不成熟的地方,请大家多包涵。

Q&A精选

Q: 主干提取怎么实现的?

A:主干提前比较简单,就是句子成分提取,主谓宾定状补。

Q:感觉大神介绍了这么多, 最起初的还是要切词、分词这块。这里是用什么成熟的技术?

A:在最开始,我们资源、精力有限,只能选用开源的分词,比如比较流行的ik、庖丁之类的都用过。后期,随着团队实力的增加,成员的增加,我们会对分词做一些对比和优化,在分词中可以对词进行标注,就能进行成分划分了。

Q:分词后的划分,刚大神介绍的,会把用户说的几次话进行合并分析,这块思路是什么?

A:举一个最简单的例子,第一个问题是“今天天气怎么样”,第二个问题是“上海呢”。在单独分析第二句“上海呢”的时候,发现是缺少主干的,只有定语的,就会从架构图上的记忆模块里找主语,然后进行拼接,变成“上海的天气呢?”

Q:感觉大牛好像对于NLP理解很深,现在都看到说CNN、DNN对于NLP应用很好,不理解。NLP可以理解为语义理解吗?CNN、DNN这些在NLP又有什么应用的地方啊?

A:机器学习、深度学习、神经网络相关的,咱们下次再聊。因为我们有一个问题学习的模块,就是机器人能自动学习未知的问题,目前正有一个大的升级。

Q:相似度计算怎么处理的?

A:在相似度上,就那几个主流方法:举例、余弦、KMP、simhash等等。还是刚才说的,需要找一个最适合自己的场景的。我们的场景特殊,对话系统都是短句,几个字或十几个字,最多二十几个字,不像一整篇文章。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-09-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人工智能头条 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • NLP/AI技术的不同应用
  • NLP在智齿科技对话系统中的应用
  • 开发过程中越到的坑
  • Q&A精选
相关产品与服务
腾讯智能对话平台
腾讯智能对话平台(Tencent Bot Platform,TBP)专注于“对话即服务”的愿景,全面开放腾讯对话系统核心技术,为大型企业客户、开发者和生态合作伙伴提供开发平台和机器人中间件能力,实现便捷、低成本构建人机对话体验和高效、多样化赋能行业。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档