微信号:gh_ced81e1c850e

介绍:淘宝技术部官方微信公众账号,关注和分享最前沿的互联网技术和资讯.

【心得体会】良同学北京技术交流分享

2014-06-03 10:55 良某人

今天给大家分享的这篇文章是淘宝技术部小二同学北京技术交流的收获。交流的技术高深莫测,收获总结的内容非常给力,小编看起来毫无压力,一口气看完后又不得不灰溜溜的去Google了一把:

Neuro-linguistic programming (NLP) is an approach to communication, personal development, and psychotherapy created by Richard Bandler and John Grinder in California, United States in the 1970s. Its creators claim a connection between the neurological processes ("neuro"), language ("linguistic") and behavioral patterns learned through experience ("programming") and that these can be changed to achieve specific goals in life. —from wikipedia.

NLP是神经语言程序学 (Neuro-Linguistic Programming) 的英文缩写。在香港,也有意译为身心语法程式学的。 N (Neuro) 指的是神经系统,包括大脑和思维过程。 L (Linguistic) 是指语言,更准确点说,是指从感觉信号的输入到构成意思的过程。 P (Programming) 是指为产生某种后果而要执行的一套具体指令。即指我们思维上及行为上的习惯,就如同电脑中的程式,可以透过更新软件而改变。 —from baidu baike.

正文:

北京回来后一直忙于项目,这部分收获总结来的有一点晚了。

这次北京之行访问了百度和云知声两个公司的NLP同行,此外还和一些从事NLP/搜索引擎工作的朋友交流了下,下面是我的一些收获和思考,期望抛砖引玉,与诸位共同探讨。

NLP工作的热点和方向

综合北京之行的交流,感觉有两个方向值得我们关注:知识图谱和智能交互。

知识图谱在百度的最早“雏形”算是框计算/阿拉丁,那时候百度并没有建立自有的知识体系,而是更注重开放平台(用户构建知识体系)和对用query的理解。而当google推出knowledge graph,搜狗推出知立方后,百度立即开始建立自己的知识图谱,并迅速应用到搜索引擎上。迄今,知识图谱的身影在各大it/互联网公司的产品中已经随处可见。Facebook的graph search;微软的人立方和Satori;360没有明确提知识图谱的概念,但观察其搜索结果,知识图谱的功能已经跃然纸上。我们访问的云知声虽然没有建立大规模知识图谱,但依托项目(机票,火车票相关查询)已经开始建立小领域的知识库。 为什么知识图谱会成为NLP的热点之一呢?大家都知道语料是NLP的两大基石之一。最基本的语料是未经加工的文本集合,然后是经过人工标注的文本集合,再进一步,是通过数据挖掘得到的各个领域的词表。而知识图谱不仅有词/概念,还包含了词与词之间的关系,从而把原来孤立的概念连接成一个网络,形成一个知识体系。因此,它已经脱离了基本语料的范畴,成为知识了。它已经不仅仅是NLP的基石,而是人工智能的重要基石。此外,一些热门应用,例如,智能推理,智能交互等,也都是依托知识图谱进行开展。

智能交互是有感于这次交流中百度同行们介绍的一款NLP技术驱动的产品(名字就叫“智能交互”)。之前,NLP最广泛的应用是服务于搜索引擎;而NLP独立驱动的产品要属机器翻译。而今,随着智能移动终端的普及,智能助手(Siri,google NOW,Cortana,……)的不断出现,以及隐约可见的物联网,我们可以看出智能交互已经成为NLP驱动的一个重要应用领域。这一点,从云知声的产品中也可以看出,例如,他们的机票查询系统并不是传统意义的检索系统,而是基于知识库和语言理解的交互系统。

新的方向和热点也引导了NLP基础技术研究重点的变化。例如,如何通过数据挖掘技术挖掘实体名,属性,实体和属性之间的关系,如何提高命名实体识别、关系抽取、句法分析的准确率,知识库采用什么样的存储/检索方式以提高检索的效果和效率,交互中如何利用指代消解等技术进行缺失信息的补充和歧义消除等等逐渐成为NLP研究工作的重点。

NLP方向的基础建设

这里我想着重说一下百度的NLP体系。

百度的NLP体系分为三部分:

第一部分是NLP基础库,它包含了基本的NLP工具(例如词法分析,句法分析,逻辑推理等等)可供其他部门自由使用;

第二部分是NLP应用库 ,这是为业务部门定制的NLP工具,它依托NLP基础库,实现业务需求,包括(query分析,网页分析等等),在这一部分,所有工具都会针对具体业务需求进行优化,例如通用的句法分析的准确率大约有85%,而为具体业务定制的句法分析的准确率则达到90%以上(超出目前已发表文献中的最好水平);

第三部分是NLP部门的独立产品,包括机器翻译,智能交互等等。

在百度,几乎不使用开源工具,所有NLP相关库,工具等都是工程师自行开发。这样做有诸多好处:不受开源代码协议约束;无开源代码中可能的问题和风险;工程师完全掌握算法,无论从效率上还是从效果上优化算法都相对容易;全部工具标准一致,便于使用、维护和管理;算法优化后会逐渐建立技术门槛,使后来者难以超越。事实上,百度NLP已经建立了这个领域的技术门槛,他们的算法效果要优于开源工具,而且不公开(不受开源代码约束)。

反观我们阿里的NLP,以我自身为例,只使用过阿里分词这一个工具,如果要完成某个业务需求,除了分词外,其他工作全部要从头做起,开发效率相对较低,同时,限于时间,算法的效果,模块的效率,稳定性,算法架构均未经优化。由于我们的必需的、可信赖的工具非常少,就影响了NLP对业务的支撑能力。反过来,业务方由于和NLP合作较少,对NLP能够做什么不了解,也制约了NLP在业务场景中的应用。从基础建设方面来看,我们的NLP还有很长的路要走。

积累和坚持

百度NLP能够做到技术领先是和百度多年来不断的积累和始终坚持“简单可依赖”的技术导向分不开的,而云知声之所以今天能够走进大家的视线也得益于其当年在盛大的数年积累。正如前面通平&直广同学的分享中提到的,“FACE++号称40人在做人脸识别”,“中科院计算所专注于人脸识别技术将近16年”,我们在学习其他公司好的算法和思路的同时,也应该学习他们的专注和坚持。千里之行始于足下,也许我们每天的积累是微小的,但是只要我们专注,坚持,我们会得到回报的。

以上是我北京交流的一些感悟,希望能够抛砖引玉。

 
TaobaoTech 更多文章 淘宝技术部喊你来推荐,赢“享爱”大礼包!~ 【交流分享】多终端架构 【学习分享】Liblinear之信赖域牛顿法 一种基于Lucene的实时搜索方案 深度学习及其在淘宝图像应用探讨
猜您喜欢 互联网思维下该如何研究用户,哪里寻求大数据资源? Hadoop之父给黄色小象的十岁生日祝词 智能手表DIY-名家大讲堂4.29日首讲【在线讲座】 Python基础教程9:循环嵌套 关于.NET技术前途问题的讨论