数据挖掘、机器学习、自然语言处理这三者是什么关系?这几个怎么入门啊?国内到底是阿里还是百度大数据最好

本人菜鸟一枚,本科学机器学习、数据挖掘、自然语言处理零基础,目前正在学统计学习方法,由于英语比较差,吴恩达的课听不下去,所以有点无从下手,希望有经验的大牛们给指点迷津,指导下这些怎么学习。ps:本人对算法和数据分析比较感兴趣,机器学习、数据挖掘、自然语言处理哪一个更适合?这三个哪一个更有发展潜力?
已邀请:

安之若素

赞同来自: 宝宝

作为自然语言处理(NLP)方向的研究生,我来回答一下题主关于自然语言处理如何入门的问题吧,最后再YY一下自然语言处理的前途~

有点话我想说在前头:
不管学什么东西,都要跟大牛去学,真正的大牛可以把一件事解释的清清楚楚。
If you can't explain it simply, you don't understand it well enough.
跟大牛学东西,你不会觉得难,一切都觉得很自然,顺利成章的就掌握了整套的知识。
不过很遗憾,大牛毕竟是少数,愿意教别人的大牛更少,所以如果遇到,就不要强求语言了吧~

开始进入正题,我将介绍如何从零基础入门到基本达到NLP前沿:

----------NLP零基础入门----------

首推资料以及唯一的资料:

Columbia University, Micheal Collins教授的自然语言课程
链接>> Michael Collins

Michael Collins,绝对的大牛,我心目中的偶像,这门课是我见过讲NLP最最最清楚的!尤其是他的讲义!
Collins的讲义,没有跳步,每一步逻辑都无比自然,所有的缩写在第一次出现时都有全拼,公式角标是我见过的最顺眼的(不像有的论文公式角标反人类啊),而且公式角标完全正确(太多论文的公式角标有这样那样的错标,这种时候真是坑死人了,读个论文跟破译密码似的),而且几乎不涉及矩阵表示……(初学者可能不习惯矩阵表示吧)。

最关键的是,Collins的语言措辞真是超级顺畅,没有长难句,没有装逼句,没有语法错误以及偏难怪的表示(学术圈大都是死理工科宅,语文能这么好真实太难得了)。《数学之美》的作者吴军博士在书中评价Collins的博士论文语言如小说般流畅,其写作功底可见一般。

举两个例子,如果有时间,不妨亲自体验下,静下心来读一读,我相信即使是零基础的人也是能感受到大师的魅力的。

1.语言模型(Language Model)
http://www.cs.columbia.edu/~mc ... 3.pdf

2.隐马尔可夫模型与序列标注问题(Tagging Problems and Hidden Markov Models)
http://www.cs.columbia.edu/~mc ... 3.pdf


现在Michael Collins在coursera上也开了公开课,视频免费看
链接>> Coursera
比看讲义更清晰,虽然没有字幕,但是不妨一试,因为讲的真的好清楚。
其在句法分析与机器翻译部分的讲解是绝对的经典。

如果能把Collins的课跟下来,讲义看下来,那么你已经掌握了NLP的主要技术与现状了。
应该可以看懂部分论文了,你已经入门了。

----------NLP进阶----------

Collins的NLP课程虽然讲的清晰,不过有些比较重要的前沿的内容没有涉及(应该是为了突出重点做了取舍),比如语言模型的KN平滑算法等。
此外,Collins的课程更注重于NLP所依赖的基础算法,而对于这些算法的某些重要应用并没涉及,比如虽然讲了序列标注的算法隐马尔可夫模型,条件随机场模型,最大熵模型,但是并没有讲如何用这些算法来做命名实体识别、语义标注等。

Stanford NLP组在coursera的这个课程很好的对Collins的课进行了补充。

本课程偏算法的应用,算法的实现过的很快,不过上完Collins的课后再上感觉刚刚好~
(这两门课是Coursera上仅有的两门NLP课,不得不佩服Coursera上的课都是精品啊!)

----------进阶前沿----------

上完以上两个课后,NLP的主要技术与实现细节就应该都清楚了, 离前沿已经很近了,读论文已经没问题了。
想要继续进阶前沿,就要读论文了。

NLP比起其它领域的一个最大的好处,此时就显现出来了,NLP领域的所有国际会议期刊论文都是可以免费下载的!而且有专人整理维护,每篇论文的bibtex也是相当清晰详细。

关于NLP都有哪些研究方向,哪些比较热门,可以参考:当前国内外在自然语言处理领域的研究热点&难点? - White Pillow 的回答

NLP是会议主导,最前沿的工作都会优先发表在会议上。关于哪个会议档次比较高,可以参考谷歌给出的会议排名:
Top conference页面
也可以参考各个会议的录稿率(一般来说越低表示会议档次越高):
Conference acceptance rates
基本上大家公认的NLP最顶级的会议为ACL,可以优先看ACL的论文。

-------------------------

最后简单谈一下这三者哪个更有发展潜力……作为一个NLP领域的研究生,当然要说NLP领域有潜力啦!

这里YY几个未来可能会热门的NLP的应用:

语法纠错
目前文档编辑器(比如Word)只能做单词拼写错误识别,语法级别的错误还无能为力。现在学术领域最好的语法纠错系统的正确率已经可以接近50%了,部分细分错误可以做到80%以上,转化成产品的话很有吸引力吧~无论是增强文档编辑器的功能还是作为教学软件更正英语学习者的写作错误。

结构化信息抽取
输入一篇文章,输出的是产品名、售价,或者活动名、时间、地点等结构化的信息。NLP相关的研究很多,不过产品目前看并不多,我也不是研究这个的,不知瓶颈在哪儿。不过想象未来互联网信息大量的结构化、语义化,那时的搜索效率绝对比现在翻番啊~

语义理解
这个目前做的并不好,但已经有siri等一票语音助手了,也有watson这种逆天的专家系统了。继续研究下去,虽然离人工智能还相去甚远,但是离真正好用的智能助手估计也不远了。那时生活方式会再次改变。即使做不到这么玄乎,大大改进搜索体验是肯定能做到的~搜索引擎公司在这方面的投入肯定会是巨大的。

机器翻译
这个不多说了,目前一直在缓慢进步中~我们已经能从中获益,看越南网页,看阿拉伯网页,猜个大概意思没问题了。此外,口语级别的简单句的翻译目前的效果已经很好了,潜在的商业价值也是巨大的。

不过……在可预见的近几年,对于各大公司发展更有帮助的估计还是机器学习与数据挖掘,以上我YY的那些目前大都还在实验室里……目前能给公司带来实际价值的更多还是推荐系统、顾客喜好分析、股票走势预测等机器学习与数据挖掘应用~

min

赞同来自: candy

第一个和第三个问题我不懂,坐等大牛回答。我只结合自己的情况说一下第二个问题。

NG的课程我以前看过一部分,讲的风格我觉得在干货之前都比较好懂(笑)。但是天朝的学子接受起来可能有困难。台湾大学的林轩田老师的machine learning至少在本科生教育上做的很好。他们有个team经常去各种比赛上刷奖。我目前在修他的机器学习课程,觉得质量不错。现在coursera上也有同步课程。

传送门:Coursera.org

个人觉得机器学习的很多方法都是从统计学上借鉴过来的,所以现在在补统计学的知识。同时作为一个理论性比较强的领域,线性代数和高等数学的知识起码是要具备的(至少人家用矩阵写个公式再做梯度下降你要看明白是在干嘛)。

我在大陆的mentor是做机器翻译的。我说我感觉这个领域现在是步履维艰,结果被我mentor教育了。现在微博数据好像挺好用的,数据抓过来跑一跑能出点票房预测什么的(其实非常吊了,反正我不会QAQ)。记得有本Python自然语言处理,NLTK还自带语料库,用来入门不错。起码要熟悉正则语言,再学个脚本语言。虽然Python已经很好用了,你要不要考虑下linux shell。以后混不下去了可以去给运维打下手。这东西又不是C语言,入门又没什么用,所以没什么30天精通NLP之类。而且自己研究NLP也面临着许多问题。首先你自己没有可研究的问题,没有动力。其次,研究资料也不算好找(虽然好像有免费的)。去年mentor给了我个5M的树库,还嘱咐我说是有版权的,不能给别人。

gus

赞同来自:

一点小建议:作为一个业内人士,首先我的建议就是放弃“我的英语比较差”这个想法。作为母语非英语的所有人都不是天生英语就比较好的。程序员还好,题主所说的3门学问,如果不能熟练的阅读英文材料,将寸步难行。如果有强烈的兴趣甚至要考虑出国读书。

下面就题主问的三项来解答:“机器学习、数据挖掘、自然语言”

首先要认识到这三项并不是独立的选项,机器学习需要数据挖掘和自然语处理的支撑,自然语处理需要数据挖掘的支撑,数据挖掘需要大数据的支撑。最终所有的根源都要落实在大数据上,而这一切的顶点就是人工智能。从这个层面上来看数据挖掘是比较基础的部分,目前也有比较成熟的解决方案,只要你有数据不愁找不到工具。各种数据库(mongodb,Hive,Pig,HBase,RedShift),分布式系统(Hadoop, Spark),编程语言(Python和R)都是为其开发的或者擅长处理大数据。所谓学习数据挖掘已经逐渐变成熟练掌握这些工具的过程了。当然如果有兴趣,也可以参与各种分布式系统的开发,不过基本上你能想到的所有好用的算法,前人都已经写好了集成进去了。

自然语处理,在这个世界上除了谷歌,苹果,微软,IBM还没有其他能够挑战此领域并且获得受人瞩目的成就的公司。因为现在自然语处理就是方法很落后,手段很暴力。基本上常用的技术在10几20年前就出现了,只不过那时候没有谁拥有上万台计算机来处理自然语,现在倒是有了。可离实用还有很长的路要走(可以看一下IBM的沃特森,基本上也就代表现阶段最强的自然语处理的水平了)。

最后就是机器学习了,这一点除了我之外已经有很多人强调过了——“机器学习只是被过度神话了!”。说白了现在的机器学习技术就是“战五渣”,谁上谁后悔。目前除了以“深度学习”为代表的人工神经网络之外其他的大部分常用的学习方法都是统计学习。不仅要喂足了料,还要精心调教,还不一定出货,出了也基本上不准。如果恰好结果符合预期,只能说“运气真好”。不过也正是因为这样,机器学习才作为一项前沿学科,很多科学家去研究,据我目测,这一波深度学习热应该已经过去了吧。按这个节奏,不知道10年之后又会有什么技术点燃机器学习的热情也说不定。

要回复问题请先登录注册