浅谈入门自然语言处理

大多数人学习一门新技术的做法是:从网上搜索一堆入门文章,收集从初级到高级的书单,下载各种各样的视频,生怕自己错过什么宝贵的资料,直到电脑硬盘都塞满了,就没有然后了。万事总有个开头,学习一门新技术,资料不在多,而在认真看完一本书,坚持看完一部完整的视频。

本文从两点来总结自己在入门自然语言处理的经验:

一:入门需要什么基础

二: 需要学习什么知识

1

一:入门需要什么基础

这是初学者都比较关注的问题,也是比较重要的问题。自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。入门自然语言处理首先需要的基础就是数学基础,包括高等数学、线性代数、概率与数理统计等。另外需要编程基础,不管是什么语言的基础,语言是相通的,是解决问题的工具。如果你有两个基础,你就拥有了开启自然语言处理的大门钥匙了。

2

二:需要学习什么知识

1、Python基础

2、机器学习

3、深度学习

4、自然语言处理的理论基础

Python基础

如果你有其他编程基础,一个星期就能把Python相关的语法基础学会了,也不用花很多时间去更深入,以后要什么就学什么。另外,关于Python版本问题,建议学习Python3,因为Python2就会停止维护了,还有Python2的编码问题是一个难点,很多初学者都很难搞定这个问题。教程推荐:廖雪峰的Python3教程,书籍推荐:无,任何一本不厚的教程书。

机器学习

在深度学习之前,基于统计的自然语言处理是主流,借助机器学习的方法对自然语言进行处理。深度学习是机器学习的一个分支,在学习深度学习之前,应该学习机器学习,推荐吴恩达的机器学习视频、台大林轩田的机器学习基石视频,两者选一。

书籍推荐李航的《统计学习方法》和周志华的《机器学习》,李航的统计学习方法比较薄,但是口碑却不错,周志华的机器学习这本书有点厚,可以作为参考书进行查阅下。建议是先看视频,然后才看书。在学习机器学习理论的过程中,可以学习下Python的机器学习包sklearn,官网的教程和文档都是很详细的。理论和实践一定结合起来,这样学起来可以更加的深入。

深度学习

深度学习比较常用神经网络是多层感知机、卷积神经网络、循环神经网络。把这三个神经网络的理论搞懂。推荐吴恩达的深度学习视频。然后选择一个深度学习框架进行实践下。深度学习框架比较长用的有Tensorflow、Keras和Pytorch,Tensorflow比较是非常好的框架,但是却是非常的底层,文档乱,调试难,学习成本高,但是是因为谷歌的框架,用的人比较多。Keras官网教程和文档都比较齐全,简单易上手,搭建模型快速,对于科研狗来说是一个不错的选择。Pytorch社区强大,文档也齐全,简洁易懂的代码,快速实现神经网络。建议先入手Keras或者Pytorch,然后在Tensorflow,毕竟现在很多公司都在用Tensorflow,这些框架都不推荐书籍了,直接看官网教程和API和其他人写的网络博客,特别是Tensorflow版本更新比较快,没必要买书

自然语言处理的理论基础

推荐的书籍为宗成庆的《统计自然语言处理》第二版,本书全面介绍了统计自然语言处理的基本概念、理论方法和最新研究进展,内容包括形式语言与自动机及其在自然语言处理中的应用、语言模型、隐马尔可夫模型、语料库技术、汉语自动分词与词性标注、句法分析、词义消歧、统计机器翻译、语音翻译、文本分类、信息检索与问答系统、自动文摘和信息抽取、口语信息处理与人机对话系统等,既有对基础知识和理论模型的介绍,也有对相关问题的研究背景、实现方法和技术现状的详细阐述。这本书有点厚,可以先粗略阅读下,整本书认真读下来还是要花很多时间的。

等有理论基础的时候,选个简单的方向,如文本分类和情感分析。用深度学习的方法对文本分类和情感分析进行实践,可以在Github上找到很多相关的开源代码。自然语言处理有很多研究方向,可以选一个自己感兴趣的方向进行研究,开始主要看这两年相关方向的综述论文,然后看一些经典的论文和最新论文

总结:认真看完一本书,坚持看完一部完整的视频,学完上面的东西,你就已经完全入门了。学技术是靠积累的,贵在坚持。

公众号:自然语言处理与深度学习技术

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180616G0RCTT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券