首页 >射击游戏

一个算法小白快速入门自然语言处理只需经历这五步

2019-11-10 02:59:04 | 来源: 射击游戏

一、独立实现一个小型的自然语言处理项目。

要找一个适合的的自然语言处理相关的开源项目。这个项目可以是与自己工作相关的,也可以是自己感兴趣的。项目不要太大,以小型的算法模块为佳,这样便于独立实现。像文本领域的文本分类、分词等项目就是比较适合的项目。 运行程序得到项目所宣称的结果。然后看懂程序,这期间一般需要浏览程序实现所参考的文献。最后,自己尝试独立实现该算法,得到与示例程序相同的结果。再进一步的,可以调试参数,了解各参数对效果的影响,看是否能得到性能更好的参数组合。

一个算法小白快速入门自然语言处理只需经历这五步

这1阶段主要是学习快速上手一个项目,从而对自然语言处理的项目有比较感性的认识——大体了解自然语言处理算法的原理、实现流程等。

当我们对自然语言处理项目有了一定的认识以后,接下来就要深入进去。任何自然语言处理运用都包括算法和所要解决的问题两方面,要想深入进去就需要从这两方面进行着手。

2、对问题进行深入认识

对问题的深入认识通常来源于两个方面,1是阅读当前领域的文献,尤其是综述性的文献,理解当前领域所面临的主要问题、已有的解决方案有哪些、有待解决的问题有哪些。这里值得一提的是,博士生论文的相关文献介绍部份通常会对本问题做比较详细的介绍,也是比较好的综述类材料。

除从文献中获得对问题的认识外,另一种对问题进行深入认识的直观方法就是对算法得出的结果进行bad case分析,总结提炼出一些共性的问题。对bad case进行分析还有一个好处,可以帮助我们了解哪些问题是主要问题,哪些问题是次要问题,从而可以帮助我们建立问题优先级。如果有具体任务的真实数据,一定要在真实数据上进行测试。这是因为,即使是相同的算法,在不同的数据集上,所得到的结果也可能相差很大。

3、对算法进行深入理解

除具体的问题分析,对算法的理解是学习人工智能必须要过的关。经过这么多年的发展,机器学习、模式识别的算法已经多如牛毛。幸运的是,这方面已有不少好的书籍可供参考。这里推荐华为李航的蓝宝书《统计学习方法》和周志华的西瓜书《机器学习》,这两本都是国内顶级的机器学习专家撰写的书籍,思路清晰,行文流畅,样例丰富。

一个算法小白快速入门自然语言处理只需经历这五步

如果觉得教科书稍感乏味,那我推荐吴军的《数学之美》,这是一本入门级的科普读物,作者以生动有趣的方式,深入浅出的讲授了很多人工智能领域的算法,相信你一定会有兴趣。

国外的书籍《pattern Recognition and Machine Learning》主要从概率的角度解释机器学习的各种算法,也是不可多得的入门教材。如果要了解最新的深度学习的相关算法,可以浏览被誉为深度学习三架马车之一Bengio所著的《Deep Learning》。 在学习教材时,对应用工程师来说,重要的是理解算法的原理,从而掌握什么数据情况下适合什么样的数据,和参数的意义是什么。

四、深入到领域前沿

自然语言处理领域一直处在快速的发展变化当中,不管是综述类文章还是书籍,都不能反映当前领域的最新进展。如果要进一步的了解领域前沿,那就需要关注国际顶级会议上的最新论文了。下面是各个领域的一些顶级会议。这里值得一提的是,和其他人工智能领域类似,自然语言处理领域最主要的学术交流方式就会议论文,这和其他领域比如数学、化学、物理等传统领域都不太一样,这些领域通常都以期刊论文作为最主要的交流方式。 但是期刊论文审稿周期太长,好的期刊,通常都要两三年的时间才能发表,这完全满足不了日新月异的人工智能领域的发展需求,因此,大家都会倾向于在审稿周期更短的会议上尽快发表自己的论文。 这里列举了国际和国内文本领域的一些会议,和官网,大家可以自行查看。

一个算法小白快速入门自然语言处理只需经历这五步

国际上的文本领域会议:

ACL: 加拿大温哥华 7.30-8.4

EMNLp: 丹麦哥本哈根 9.7-9.11

COLING:没找到2017年的

国内会议:

CCKS :成都 8月26-8月29

SMp:北京 9.14-9.17

CCL :南京 10.13-10.15

NLpCC :大连 11.8-11.12

NCMMSC :连云港 11.11 - 11.13

5、固然,工欲善其事,必先利其器。我们要做好自然语言处理的项目,还需要熟练掌握最少一门工具。

当前,深度学习相关的工具已比较多了,比如:tensorflow、mxnet、caffe、theano、cntk等。这里向大家推荐tensorflow,自从google推出之后,tensorflow几乎成为最流行的深度学习工具。究其缘由,除google的大力宣传之外,tensorflow秉承了google开源项目的一向风格,社区气力比较活跃,目前github上有相当多数量的以tensorflow为工具的项目,这对于开发者来说是相当大的资源。

以上就是对于没有自然语言处理项目经验的人来讲,如何学习自然语言处理的一些经验,希望对大家能有所帮助。

万艾可伟哥一盒4片装 - 伟哥万艾可官方商城

安阳哪里有卖西地那非

印度祌油是做什么用的

猜你喜欢