【立委科普:从产业角度说说NLP这个行当】 屏蔽留存

【立委科普:从产业角度说说NLP这个行当】

屏蔽已有 9232 次阅读 2011-4-19 08:25 |个人分类:立委科普|系统分类:科普集锦| NLP, 自然语言处理, 查全率, 查准率, precision

前面一篇博文的本意,是想借题发挥,从工业运用的角度说说 NLP(Natural Language Processing:自然语言处理)这个行当。不好意思,我算是这个行当在工业界的老古董了(学界不算,学界有的是NLP师爷和大牛)。跟我同期学习这行的同门学长们有小20位,由于这个行当不能在工业界形成规模,他们无一例外都在不同时期改行了,我几乎是幸存在工业界的仅有的化石级元老,赶上了工业应用的末班车。我运气比较好,1986年硕士毕业不久就兼职中关村搞机器翻译的开发,1997年博士快结束又赶上了dot康泡沫的美国大跃进,技术资金源源不断。就是在泡沫破灭后的萧条年代,我也一直对这一行抱有信心,但是从来没有像现在这样信心满满。我的预计,今后20年是 NLP 大显神威的时机,NLP 技术支撑的包括搜索在内的各类信息系统是真正的朝阳产业。(卖瓜的说瓜甜,据说连饶教授这样的大牛都不免。所以读者诸君为免在下误导,可在此打个折扣。)
 
NLP技术的工业可行性我认为已经完全被证明了(很多人也许还没有意识到)。证明的实例表现在我们解决了三个信息搜索的难题:1 是解决了搜索 how 的难题;2 是解决了搜索 why 的难题;3 是解决了对客户反馈情报及其动机的抽提(譬如客户对一个产品的好恶)。前两个问题是问答搜索业界公认的最难类型的题目,第三个题目涉及的是语言现象中较难把握的主观性言语(subjective language),并非NLP通常面对的对象(objective language,事实描述的客观性言语),因此成为语言处理最难的课题之一(叫 sentiment extraction)。从问答系统角度来看,回答who/when/where等实体(entity)事实(factoid)的问题比较简单,技术相对成熟,最突出的表现就是IBM的问答系统赢得美国家喻户晓的电视智力竞赛Jeopardy的冠军,电脑打败了人脑,见 COMPUTER CRUSHES HUMAN 'JEOPARDY!' CHAMPS)。这是因为 JEOPARDY! 的大多数问题是属于实体事实类的问题。具体细节就不谈了,以后有机会再论。总之,这三大公认的难题在过去五年中被我们一个一个解决,标志了作为实用技术的 NLP 已经过了需要证明自己的阶段。
 
很长一段时间,我们在学界测量一个系统,使用的是两个指标:1 查准率(precision:准确性, 即抓到的有多大比例是抓对了的);2 查全率(recall:覆盖面,即所有该抓到的有多大比例真地抓到了)。Precision 和 recall 的定义如下:
 
Precision 查准率 = correct 查对数 / (correct 查对数 + spurious 查错数)
Recall 查全率 = correct 查对数 / (correct 查对数 + missing 查漏数)
 
由于自然语言的歧义(和诡异),要想编制一套两项指标综合水平(术语叫 F-score)都很高的系统非常不容易。这跟打假也差不多,宁肯错杀一千,也不放过一个的蒋中正野蛮政策保证的是查全率;而宁肯放过一千,也不错杀一个的西方文明世界的准则保证的是查准率。要想兼顾二者,做到打得准也打得全,那是很难的。于是我们挖煤工人有时不得不叹气,面对汪洋大海的语言自觉渺小,吾生也有涯,口水没有涯,殆矣,觉得没什么指望了,疑惑红旗到底可以打得多久?
 
但是,事实是,自然语言系统能否实用,很多时候并不是决定于上述两个学界公认的指标。在信息爆炸的时代,在面对海量数据的时候,还有一个更重要的指标决定着一个系统在现实世界的成败。这个指标就是系统的吞吐量(through-put),系统可以不可以真正地 scale-up。由于电脑业的飞速发展,硬件成本的下降,由于并行分布式运算技术的成熟,吞吐量在现实中的瓶颈主要是经济上的羁绊,而不是技术意义上的难关。运行一个 farm 的 servers,只要有财力维护,能耐的工程师完全可以做到【立委补注:其实,在云计算时代的今天,不少运算可以按照需要随时租赁虚拟主机,operations team 可以从物理维护上解放出来。】。其结果是革命性的。这种革命性成功的最突出的表现就是 Google 和 Facebook 等公司的做大。
 
在处理海量数据的问题解决以后,查准率和查全率变得相对不重要了。换句话说,即便不是最优秀的系统,只有平平的查准率(譬如70%,抓100个,只有70个抓对了),平平的查全率(譬如50%,两个只能抓到一个),只要可以scale up,一样可以做出优秀的实用系统来,创造应用程式的奇迹。为什么?根本原因在于两个因素:一是爆炸时代的信息冗余度;二是人类信息消化的有限度。查全率的不足可以用增加所处理的数据量来弥补,这一点比较好理解。既然有价值的信息,有统计意义的信息,不可能是“孤本”,它一定是被许多人以许多不同的说法重复着,那么查全率不高的系统总会抓住它也就没有疑问了。从信息消费者的角度,一个信息被抓住一千次,与被抓住一两次,是没有区别的,信息还是那个信息,只要准确就成。问题是一个查准率不理想的系统怎么可以取信于用户呢?如果是70%的系统,100条抓到的信息就有30条是错的,这岂不是鱼龙混杂,让人无法辨别,这样的系统还有什么价值?沿着这个思路,别说70%,就是高达90%的系统也还是错误随处可见,不堪应用。这样的视点忽略了实际系统中的信息筛选(sampling)与整合(fusion)的环节,因此夸大了系统的个案错误对最终结果的负面影响。实际上,典型的情景是,面对海量信息源,信息搜索者的几乎任何请求,都会有数不清的潜在答案。由于信息消费者是人,不是神,吃的是五谷杂粮,用的是一目最多十行的双眼,靠的是总比电脑慢三万拍的人脑,即便有一个完美无误的理想系统能够把所有结果,不分巨细都提供给他,他也无福消受,simply overwhelmed,就好比再超人的皇帝也无法应对360后宫720殿一样。因此,一个实用系统必须要做筛选整合,把统计上最有意义的结果呈现出来。这个筛选整合的过程可以保证最终结果的质量远远高于系统的个案质量。
 
总之,size matters,多了就不一样了。那天跟镜子提到这个在黑暗与半明半暗中摸索了几十年悟出来的体会,镜兄气定神闲地说:“那自然,大数定理决定的”。好像一切都在他的预料之中!!
 
信息的关键载体之一是语言。只要有语言,就需要NLP,你说说NLP该不该有光明的前景?
 
 
Quote:
NLP is not magic, but the results you can get sometimes seem almost magical.
(“NLP 不是魔术,但是,其结果有时几乎就是魔术一般神奇。”)

引自:http://www.confidencenow.com/nlp-seduction.htm

 
 
 
 
 

http://blog.sciencenet.cn/blog-362400-434811.html

上一篇:据说,神奇的NLP可以增强性吸引力,增加你的信心和幽会成功率
下一篇:也说说方夫人的论文抄袭门

 

8  张婷婷 吕乃基 吴吉良 朱新亮 陈安 谢鑫 欧阳峰 anonymity

发表评论评论 (18 个评论)

删除 回复 |赞[11]闵应骅   2011-4-20 08:28
搜索似乎和自然语言处理还不是一回事。不过,搜索的确是一个热门话题,很需要。

删除 回复 |赞[10]徐迎晓   2011-4-20 05:43
先看了标题NLP,不知道是哪个行业的哪个东东,就没点进去。
看到加精了,就点进去看看,原来是在说自然语言处理。如果标题不用NLP会更吸引人,不过也可能你本来就想借用NLP的双关语把看你上一篇博文的读者引进来 

删除 回复 |赞[9]朱新亮   2011-4-19 22:55
原来搜索引擎就是这么骗过我们的啊。。。 哈哈  看来概率还是非常有用滴!!

删除 回复 |赞[8]huayuwujie   2011-4-19 21:44
评论李维的博文:《【立委科普:从产业角度说说NLP这个行当】》
游戏我不懂,也从来不玩。你说的这个,听上去趣味似乎不足,“就怕没人玩”。不过,话说回来,facebook里面那农场种菜的游戏,看上去多么无聊,不是也风靡全球么?不懂。
 博主的回复超级经典,copy

删除 回复 |赞[7]吕乃基   2011-4-19 16:17
是否可以这样理解,站在电脑和网络的立场上看人这个菜鸟,用不着做到十全十美,否则人消受不起。所谓人机界面友好还得考虑人,不要做过了头。
 回复  : 可以这么说吧。

就说Google吧,分析发现99%的客户99%的时候浏览不超过三页,大多数人只看第一页的结果。也就是说,虽然一个搜索完成以后,Google告诉你发现了500万个相关网页,并且帮你排好序等着你浏览。但实际的情况是,最大的精力应该放在第一页的结果上,后面的结果好坏对搜索产品的影响甚微,根本不能影响用户的接受度。

2011-4-19 17:221 楼(回复楼主)赞|回复

删除 回复 |赞[6]张婷婷   2011-4-19 14:28
   广告不带这么打的。。。话说03年NSA狂招了一批NLP...嘿嘿,您不会。。。

Watson做的大部分还是dissemination,query,和retrieval. 不知道他们的feedback learning做的怎样。
比如前几年在看人介绍的听说开车指路系统,有了耳朵和GPS等sensor的语言处理系统。
另一个很好玩的发展是消费品公司预测未来的客户需要的开发。
不过它在科技领域面临的问题不小,大部分科学文献context太多。而且科学进步就意味以前的很多文章会变成错误。

 回复  : “消费品公司预测未来的客户需要的开发”,正是我们所做的主打之一,在那里,了解why客户喜欢或不喜欢某种产品至关重要。科技文献检索方面的应用我们也做过,主要是帮助解决 how 的问题。至于文章的错误或者信息的过时,说到底是人的判断,机器最多可以帮助排一下序,比如把最新的文献信息排在前面。一个问题出来了,解决问题的答案分门别类给你列出来就完成使命了。根据这些信息做判断或决策,那是万物之灵自己的事儿。

2011-4-19 17:151 楼(回复楼主)赞|回复

删除 回复 |赞[5]苏晓路   2011-4-19 13:25
能不能详细说说你们怎么解决了三个难题,效果如何
 回复  : 以后看机会吧。在能展示效果之前,权且当做网上神侃吧,反正吹牛不上税,科学网亦不例外。

2011-4-19 17:071 楼(回复楼主)赞|回复

删除 回复 |赞[4]邱嘉文   2011-4-19 10:11
我设想了一个这样的文字游戏,李老师看看值不值得做一下,其实程序编起来很容易,就是怕没人玩,就懒得动手了。

网上任意三人随机组合形成一个游戏小组。轮流充当角色A,B,C参与游戏,三人之间除了通过游戏程序相互联络外,不可能存在其他相互联络的方式。
     1.A角色,通过游戏程序写给B角色一个词汇W1,告诉C角色词汇已经给出。
     2.B角色,收到A给出的词汇W1后,任意设想能够帮助C角色猜出该词汇的三个词汇E1,E2,E3,词汇中不能有和W1中相同的字,把这三个词汇发给C角色。
     3.C角色,收到B角色给出的E1,E2,E3之后,根据E1,E2,E3的提示,猜测W1是什么词汇,把猜测的结果W1'发给A和B.
     4.程序判断W1和W1'是否相同,如果相同,则程序请B角色给出三个词汇R1,R2,R3,分别用来描述E1,E2和E3与W1之间的关系。然后给A,B,C分别加2、8、4分奖励。程序用一个网络模型累积地记下结点E1,E2,E3分别通过三条边(关联源边)连到R1,R2,R3,再从R1,R2,R3分别通过另三条边(关联目标边)连结到W1的网,如果某边曾经经历过,则对该边的使用次数计数值进行累加。(Ei为关联源,Ri为关联桥,W为关联目标,累积下来,就形成一个以词汇为结点,以类关联关系之一是边的有向图)。
     5.自动轮流更换角色,原来的A当C,B当A,C当B.回到1继续,如果有人退出,自动从在线等玩的人中补充人担当此人角色继续。
     如果在线等待玩的人数达到3人,自动建立一个新的游戏小组,如此实现游戏小组的随机性和最大可持续性,每一个参与游戏的人都可以随时退出,随时再加入,但感觉不到小组成员在变化,定期对得分排行榜前十名进行实质奖励,以确保游戏的生存。

 回复  : 游戏我不懂,也从来不玩。你说的这个,听上去趣味似乎不足,“就怕没人玩”。不过,话说回来,facebook里面那农场种菜的游戏,看上去多么无聊,不是也风靡全球么?不懂。

2011-4-19 17:041 楼(回复楼主)赞|回复

删除 回复 |赞[3]邱嘉文   2011-4-19 09:42
对于搜索,我一直想不通,为什么不做一个“关联递进搜索”的算法呢?不是说,这世界上任何两个人之间,最多只要通过6个人就可以拉上关系吗?我推算一下:这地球上有人类历史以来,算5000年吧,算平均年龄60岁,有效交错认识时间10年,那么纵向有100个人就够认识任何年代的人了。然后在那个年代找6个人,就可以认识任何年代的任何人了。也就是说最多只要106人,全球所有曾今活着或正活着的人,就可以相互认识。

还是有点多,还是回到现代来吧:让我点6次鼠标就可以精确找到我想要的信息,还是可以让我很喜欢的。呵呵。

 回复  : 同志弟,点六次鼠标找到要找的答案,那是太落后了吧。对于90%的问题,平均点两次鼠标就应该可以找到答案应该是完全可以想象的。

2011-4-19 16:591 楼(回复楼主)赞|回复

删除 回复 |赞[2]邱嘉文   2011-4-19 09:32
看了半天,一头雾水。NLP原来可以是:自然语言处理。
这个NLP更有意思。

删除 回复 |赞[1]李维   2011-4-19 08:53
自顶一哈:不用谦虚,这个应该加精。也不枉我费了大半天的时辰。

发布者

立委

立委博士,问问副总裁,聚焦大模型及其应用。Netbase前首席科学家10年,期间指挥研发了18种语言的理解和应用系统,鲁棒、线速,scale up to 社会媒体大数据,语义落地到舆情挖掘产品,成为美国NLP工业落地的领跑者。Cymfony前研发副总八年,曾荣获第一届问答系统第一名(TREC-8 QA Track),并赢得17个小企业创新研究的信息抽取项目(PI for 17 SBIRs)。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据