笔者是一名刚刚打开自然语言处理潘多拉魔盒的探路青年,在此写下一些学习笔记,作为总结。


自然语言处理、语音识别、计算机视觉,是当下人工智能领域最为火热的三个领域。自然语言处理为的是让计算机理解和处理人类的语言,图灵测试中对机器智能的判断标准就是语言,语言是人类智慧的最高体现。

我喜欢探索人类在对话中,知识的传递和积累,如何产生令人激动地aha时刻。引用一位本领域的学者:


我的研究计划侧重于更好地理解对话的社会和实用性质,并利用这种理解建立可提高人与人之间以及人与计算机之间对话效率的计算系统。为了实现这些目标,我从计算语篇分析和文本挖掘,会话代理和计算机支持的协作学习中调用方法。

利用自动监控自然语言沟通的技术,最后阶段是构建能够带来真实世界效益的干预措施。

Carolyn Penstein Rose

学习基础


这个学科入门,一方面需要语言学的知识,另一方面是计算机建模的能力。年初开始接触自然语言处理,导师给我发了数篇文章和数学资料,要我仔细看看,把英语、编程、数学、研究方法的知识补起来。这是一个庞大的工程,我认为学习的本质,是将知识在脑海中形成一张纵横交错的大网。图结构并不能有效地存储人类知识,(对计算机而言知识图谱或许更好)。树形结构是人所倾向的。

形成知识结构,包括学习的最好方法就是输出,输出包括:做题、解决问题、讲授和表达、写作。

只要是将知识从大脑中得以显化,都是好的学习方式,因为这样会加深大脑中神经元的连接。

数学基础


在面对海量的数据时,如何让计算机有效地提取主题、理解用户的兴趣变化、情绪变化,就得用到机器学习的方法。使用无监督学习或者半监督学习,对照特征库,挖掘用户的特征,并对其进行建模。


机器学习是指可以自主进化,不断增强的计算机算法。算法是自动化解决问题的步骤设计。人类脑袋中140亿个神经元的树突和轴突,连接起来的大脑,正是一种启发极强的计算系统,神经元的运作本质上就是计算。未来计算机会成为人类的左膀右臂。


这些都要建立在数学建模的基础上,其中大部分得用到概率论和数理统计方法,诸如参数估计gama、beta函数、马尔科夫链、贝叶斯回归分析等,通过大量的数据集训练数学模型,使它的智能达到理想的程度。学好概率论的关键,则是打好高等数学的基础,一元微积分、多元微积分、无穷级数等,否则一头雾水。

参考书目

学习网站

我爱自然语言处理

www.52nlp.com <http://www.52nlp.com/>

数学基础


在考研时,我看的是同济版高等数学、浙大版概率数理统计、同济版线性代数,配合文都的参考书和课程,总觉得他们偏向于做题,有些抽象,自学起来非常费力(可能笔者理解能力有限),汤家凤老师也提到过这个问题。如果是计算机领域的数学,笔者认为最好能使用MATLAB进行模拟,结合实际中的案例。数学做题和应用是非常重要的,如王阳明所讲的知行合一,或晚清湖湘文化提倡的经世致用,知识要与实践相结合才能体现出他的价值。以下书籍以国外教材为主,建议购买国内影印的原版,还原度更高,和以后读英文文献有帮助,避免了许多错误。

《概率论与数理统计》 陈希儒

此书我通过知乎、lda数学八卦了解到,语言通俗易懂,配合中科大的国家精品课程学习效果更佳,做做后面的习题,有助于消化理解,灵活运用。




《概率导论》Dimitri P bertsekas


从直观、自然的角度阐述概率,是理工科学生入门的不二选择。本书编排和国内的书籍不同,先从样本空间入手,穿插贯序模型,配图丰富,讲解生动,比国内一出来就给个空间和公式轻松许多。



《托马斯大学微积分》joel hass

这本书是托马斯微积分的大学版,配图丰富,讲解生动,比国内苏联文风的写作方式亲切不少。单从配图都能感觉到此书的excited!



《线性代数及其应用》或《线性代数引理》


本书结合应用数学软件,强调了计算机对科学和T程学中线性代数的发展和实践的影响登录Davidc.Lay教授的网页,可以链接到琳琅满目的学习指导、数据库、应用实例等材料,无论是学生还是研究人员,阅读这本教材后,一定会被线性代数的理论和应用材料所吸引,并从中找到学习线性代数的乐趣,体会到线性代数教学改革的世界潮流和方向。



主题模型

2005-Parameterestimationfortextanalysis-LDA.pdf

LDA&Gibbs-Sampling-yangliuy.pdf

lda数学八卦.pdf


主题模型、情感识别领域,依旧是统计自然语言处理的天下,统计的方法简洁、算法鲁棒性强。基于深层次语义网络的技术在人机对话适用,笔者看了网上的介绍,建议阅读中文的《lda数学八卦》和国外的《参数估计的文本分析》,也可以看看2002年斯坦福大学吴恩达(NG)发的潜在狄利克雷主题分布的论文,这是整个lda的鼻祖。

编程基础


对于计算机专业学生,这个是立足之本,笔者本科时学过C和C++,懂一些皮毛的php,面向对象的编程是由面向过程的编程语言发展过来的,前者一般用在底层的硬件上,如驱动程序、单片机等他,后者在大数据、服务后台的重用性、代码维护性方面由于前者。

导师建议我学习java作为语言,大部分语言的语法都相关。


学姐向我推荐了毕向东的java课程,我看了两个星期,总觉得实际操作太少了,没有一本书在手,心里面没有底。在学习视频课程的同时,我买了《java编程思想》,并且请老师推荐了几个开源项目。

目前从基础的分词项目着手,elips作为编辑器,中文的分词项目以中科院的分词系统为优。

后记

从猿类到人类,文化中两个关键特征,显然是人类所独有。这两个特征一个是宗教,另一个是讲故事。这两种特征需要语言进行传递。

《人类的演化》 罗宾-邓巴上海文艺出版社

 

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信