标签归档:自然语言处理

斯坦福大学深度学习与自然语言处理第四讲:词窗口分类和神经网络

斯坦福大学在三月份开设了一门“深度学习与自然语言处理”的课程:CS224d: Deep Learning for Natural Language Processing,授课老师是青年才俊 Richard Socher,以下为相关的课程笔记。

第四讲:词窗口分类和神经网络(Word Window Classification and Neural Networks)

推荐阅读材料:

  1. [UFLDL tutorial]
  2. [Learning Representations by Backpropogating Errors]
  3. 第四讲Slides [slides]
  4. 第四讲视频 [video]

以下是第四讲的相关笔记,主要参考自课程的slides,视频和其他相关资料。
继续阅读

斯坦福大学深度学习与自然语言处理第三讲:高级的词向量表示

斯坦福大学在三月份开设了一门“深度学习与自然语言处理”的课程:CS224d: Deep Learning for Natural Language Processing,授课老师是青年才俊 Richard Socher,以下为相关的课程笔记。

第三讲:高级的词向量表示(Advanced word vector representations: language models, softmax, single layer networks)

推荐阅读材料:

  1. Paper1:[GloVe: Global Vectors for Word Representation]
  2. Paper2:[Improving Word Representations via Global Context and Multiple Word Prototypes]
  3. Notes:[Lecture Notes 2]
  4. 第三讲Slides [slides]
  5. 第三讲视频 [video]

以下是第三讲的相关笔记,主要参考自课程的slides,视频和其他相关资料。
继续阅读

斯坦福大学深度学习与自然语言处理第二讲:词向量

斯坦福大学在三月份开设了一门“深度学习与自然语言处理”的课程:CS224d: Deep Learning for Natural Language Processing,授课老师是青年才俊 Richard Socher,以下为相关的课程笔记。

第二讲:简单的词向量表示:word2vec, Glove(Simple Word Vector representations: word2vec, GloVe)

推荐阅读材料:

  1. Paper1:[Distributed Representations of Words and Phrases and their Compositionality]]
  2. Paper2:[Efficient Estimation of Word Representations in Vector Space]
  3. 第二讲Slides [slides]
  4. 第二讲视频 [video]

以下是第二讲的相关笔记,主要参考自课程的slides,视频和其他相关资料。
继续阅读

斯坦福大学深度学习与自然语言处理第一讲:引言

斯坦福大学在三月份开设了一门“深度学习与自然语言处理”的课程:CS224d: Deep Learning for Natural Language Processing,授课老师是青年才俊 Richard Socher,他本人是德国人,大学期间涉足自然语言处理,在德国读研时又专攻计算机视觉,之后在斯坦福大学攻读博士学位,拜师NLP领域的巨牛 Chris ManningDeep Learning 领域的巨牛 Andrew Ng,其博士论文是《Recursive Deep Learning for Natural Language Processing and Computer Vision》,也算是多年求学生涯的完美一击。毕业后以联合创始人及CTO的身份创办了MetaMind,作为AI领域的新星创业公司,MetaMind创办之初就拿了800万美元的风投,值得关注。

回到这们课程CS224d,其实可以翻译为“面向自然语言处理的深度学习(Deep Learning for Natural Language Processing)”,这门课程是面向斯坦福学生的校内课程,不过课程的相关材料都放到了网上,包括课程视频,课件,相关知识,预备知识,作业等等,相当齐备。课程大纲相当有章法和深度,从基础讲起,再讲到深度学习在NLP领域的具体应用,包括命名实体识别,机器翻译,句法分析器,情感分析等。Richard Socher此前在ACL 2012和NAACL 2013 做过一个Tutorial,Deep Learning for NLP (without Magic),感兴趣的同学可以先参考一下: Deep Learning for NLP (without Magic) - ACL 2012 Tutorial - 相关视频及课件 。另外,由于这门课程的视频放在Youtube上,@爱可可-爱生活 老师维护了一个网盘链接:http://pan.baidu.com/s/1pJyrXaF ,同步更新相关资料,可以关注。
继续阅读

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

“NLP is not magic, but the results you can get sometimes seem almost magical.”

这篇文章是前几天在科学网李维老师的博客上看到的,写得很棒,没有在NLP产业摸爬滚打几十年,是写不出的,这里全文转载,原文见科学网博客, 以下转载自李维老师的博文:立委科普:从产业角度说说NLP这个行当

前面一篇博文的本意,是想借题发挥,从工业运用的角度说说 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,只要有财力维护,能耐的工程师完全可以做到。其结果是革命性的。这种革命性成功的最突出的表现就是 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

相关博文:【据说,神奇的NLP可以增强你的性吸引力,增加你的信心和幽会成功率】
http://bbs.sciencenet.cn/home.php?mod=space&uid=362400&do=blog&id=434774

提供几本自然语言处理书

注:因为有许多同学留言,这里更新一下,之前的一些资源换过几个地方(包括xun6, 新浪爱问,百度网盘公开课链接)都沦陷了,加上自己的电脑换了两次,很多备份都年久失修不知所宗,所以留下了几个重要的放到“资源”页面下的链接,请需要的同学直接在资源链接里找(也有很多没有),或者最好的方法就是google。
  
找了一个网络硬盘,把手上的几本自然语言处理相关书籍的电子版放了上去,有需要的读者可以去“资源”页面或者如下链接下载!如有不妥,我会做删除处理! 继续阅读

ACL Anthology 姊妹篇:ACL Anthology Network

  还是先从评论说起,计算所刘洋师兄昨天在《最有影响力的自然语言处理论文》下留言:
  “在这方面,一个比较好的资源是ACL Anthology Network。不仅能够查到论文的排名,而且能查到作者的排名。” 继续阅读