纯文科生学习计算机语言学难度大吗?
16 个回答
难度是有的,你要做好心理准备。
计算语言学是一门交叉学科。计算语言学研究需要多个学科的知识。
语言学 (自然语言是处理对象)
计算机科学(计算语言学的研究工具)
数学(自然语言的建模工具)
(直接抄我们老师的slides了= =)
计算语言学的研究方法主要分为三大类:规则驱动的方法(符号主义)、数据驱动的方法(统计方法)以及二者融合的方法。
规则驱动的方法(符号主义):
1. 研究人员(例如语言学家)对语言的规律进行总结,形成规则形态的知识库。
2. 研制语言处理算法,利用这些规则对 自然语言进行处理。
3. 研究人员根据处理结果,调整规则, 改进处理效果。
数据驱动的方法(统计方法):
1. 建立可以反映语言使用情况的语料库。
2. 研究人员对自然语言进行统计建模。
3. 利用统计技术或机器学习技术,利用语料库训练语言模型。
4. 利用得到的模型设计算法对语言进行处理。
5. 根据处理效果改进模型,提高处理性能。
然而有句话叫做All grammar leak (Sapir 1921)。对于自然语言而言,很难写出一部完备的规则集,语言规则有很强的灵活性。所以近十几年,越来越多的研究者开始抛弃规则方法,转向统计方法进行研究。
从学术会议看计算语言学的研究方法:
1. 90年代统计方法开始复苏
2. 机器学习以及统计技术目前是主流研究方法
所以说,语言学是重要的,毕竟搞词法分析、语法分析、各种消岐等自然语言处理的基础领域都需要语言学的相关知识,我们所里也有两位专门搞语言学的老师。但除了语言学之外,数学基础和编程能力都是不可或缺的,尤其是数学。(其他答主都以计算机编程为主,我这里就略了)
计算语言学研究主要需要的数学知识如下:
1. 微积分和线性代数(然而只是工具)
2. 概率统计(我想说这个最重要,尽管相关的公式并不难学,但是这是所有统计方法的出发点,顺便膜拜Bayes)
3. 信息论(有时候会用到)
4. 机器学习方法(这个才是最实用的)
5. 随机过程、凸优化、图论、泛函分析(其实都不是必要的)
6. 其他(就是我忘了的)
最后,根据预言= =,经验主义(基于统计的方法, 感谢@KevinXU指正)在2010年左右就应该势颓,而理性主义(基于规则的方法)开始复苏。然而事实上是,深度学习方法令经验主义梅开二度,延迟了统计方法没落的时间。但是可以预见到的是,未来将会有越来越多的研究者将采用统计和规则相结合的方法进行研究,以达到更好的效果。