凭良心说,自然语言处理方向需要哪些数学知识?
请答主不要只是简单地说什么概率论、数理统计、线性代数,因为肯定不是这些学科的所有章节全部都需要。肯定只是需要其中的一部分。哪位高人能详细指点一下,到底需要哪些学科的哪些部分?
直接看Stanford CS 224n就好了,遇到不懂的数学随便查查。其实真的就只需要些微积分线性代数概率论(本科level),所以我觉得你没必要先去补什么数学,遇到不懂的概念google就行,一般看一下Wikipedia就够了。这种level的数学比起理论物理很trivial的,大哥你没问题^_^
课程链接:http://web.stanford.edu/class/cs224n/index.htmlThe matrix calculus you need for deep learning?explained.ai
微积分
最优化计算
概率论和数理统计
数值分析
首先大学肯定学过高数概率论,这就基本足够了。
然后在学习斯坦福224n的过程中,用到的基本就是些求导的知识,偏导要会,雅可比矩阵要了解,矩阵的一些性质了解一下,比如对角矩阵,单位矩阵之类的。
其他的其实暂时用不到多少,用到了再去学就行,用到最多的就是求导和矩阵相关知识。
自然语言处理方向的数学知识个人感觉有以下几个方面:
微积分(主要是导数、偏导数、梯度等)
概率论与数理统计(几个概率公式,理解几大概率分布,懂得极大似然估计等)
线性代数(矩阵计算、求导等,MIT线性代数了解一下)
随机过程(马尔可夫那一块内容,CRF 和 最大熵模型都用得到)
个人感觉买一本最新的自然语言综论可以大致了解一番
入门的话看Michael Collins 的公开课和讲义(B站有视频) http://www.cs.columbia.edu/~mcollins/
接著看看 Stanford CS224n ,了解一下Deep Learning 在 NLP 应用进展,CMU 好像也有对应的课程绝大部分情况下,nlp不需要任何数学知识,加减乘除都不需要,如果需要的化,带个计算器即可。。 当然如果你是做那1%的底层,可能需要些数学知识
Atitit nlp常用的类库和技术目录
1. Atitit nlp用到的技术与常见类库 1
2. Atitit python nlp类库 1
2.1. Atitit java的nlp自然语言处理类库 2
3. Other 2
3.1. Mmseg分词,ik分词器 2
3.2. 文档读取处理类 2
3.3. 索引与检索类 2
1. Atitit nlp用到的技术与常见类库
目录
1. 常用的技术 1
1.1. 语言处理基础技术 分词 相似度等 1
1.2. 新闻摘要 2
1.3. 情感倾向分析 2
1.4. 文章标签 2
1.5. 文章分类 2
1.6. 文本审核 2
1.7. 机器翻译 2
1.8. 智能写作平台 3
2. Ati常用技术 3
2.1. 分词 关键词提取 3
2.2. 摘要 关键词提取 与目录提取 3
2.3. 抽取 3
2.4. 索引与 检索 3
2.5. Zip压缩文档抽取技术 3
2.6. Office pdf系列文档读取技术 3
2.7. Eml html系列温暖的读取技术 3
2. Atitit python nlp类库
目录
1.1. snownlp 1
1.2. ·Spacy是NLTK的主要竞争对手。这两个库可用于相同的任务。 1
1.3. ·Scikit-learn为机器学习提供了一个大型库。此外还提供了用于文本预处理的工具 1
2. Ati 使用记录 2
3. ref 2
OpenNLP
2.1. Atitit java的nlp自然语言处理类库
目录
1.1. OpenNLP是一个基于Java机器学习工具包, 1
1.2. Java自然语言处理 LingPipe 1
1.3. 2.中文自然语言处理工具包 FudanNLP 1
1.3.1. 5、Stanford CoreNLP 斯坦福大学NLP 2
1.4. 1.IKAnalyzer 2
1.5. 3.FudanNLP 2
1.6. jcseg 3
3. Other
3.1. Mmseg分词,ik分词器
3.2. 文档读取处理类
mail类库,poi类库(处理officex系列),jsoup html类库。
org.apache.tools.zip_1.9.6 处理zip库
java-unrar 处理rar文档
pdfbox-1.8.16.jar
3.3. 索引与检索类
Lucence imap类库mail。Jar zip库读取库
Atitit python nlp类库
你去看呗,总不会把需要的数学知识学完后,才去学nlp吧,都是看到哪里,不会再去补充的,加油喽 ,需要的不多,慢慢补充。
搞自然语言处理你所需要的是更强的数学思维,而非这些章节的对应知识点,就你列的这些课本来就很简单,也没什么对思维有帮助的。凭良心说,就算你现在学了这些课,跑跑 demo 该个模型,也就只够现在这几年了。
宗成庆的统计自然语言处理肯定是要学的,我也是初学者,个人感受就是必须得学这本书,其他的倒是可以一边看论文一边靠网路自学。
哦还有吴恩达的深度学习,第五课也讲了一些基础知识,要学。
推荐阅读: