北京大学自然语言处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语言信息工程系与自然语言处理
自然语言处理做什么?
首先,让我们从那些比较实用的方面来看看什么是自然语言处理。一般来说,所有那些和语言相关的数据,以及处理它的计算机程序,都是我们研究的内容。现在,个人计算机和网络已经进入我们日常的生活,我们用它们做文书处理,收发电子邮件,看新闻,搜索资料,…,所有这些,我们看到的、输入的和存贮的都用到了至少一种自然语言,比如说,中文或者是英文。
自然语言处理技术,简单来说就是实现那些与语言处理相关的特定任务的程序,举例来说,它们可能是:
支持文本处理:例如,智能文字输入,查找拼写错误,寻找与改正病句等;
写作支持:帮助作者寻找合适的语言表达方法,甚至文体风格,至少也能帮助用户使用最正确的术语表达形式;
辅助翻译:从一种语言翻译为另一种语言,或多种语言,未来的目标是全自动化高正确率的翻译,虽然达到这个目标的路很艰辛;
改进信息组织与管理:文献主题标引、关键词标引,文本分类、聚类,自动文摘,模板式信息提取等等。由此,我们可以更有效地利用信息和知识;
信息检索,除了研制更强大更准确的搜索引擎之外,也有相当多的研究关注如何检索到更深层次的东西,例如试图分析与理解被检索文档的语义内容等;
辅助语言学习,如果现在我们还不用计算机以及有效的语言学方法来帮助我们学习语言,无论是母语还是外语,那是不可思议的。事实上,自然语言处理在语言教学领域已经开始大展身手了…
所有这些问题我们要能有完美的解决,显然不只是应用计算机科学与技术的技艺。更进一步说,我们要透彻理解和把握自然语言的自身特性。自然语言处理横跨计算机科学和语言学,相应的数学和逻辑基础也很重要。
从抽象化的理论层面看自然语言处理,则更加微妙。计算机只是操纵符号运算的自动机器。语言是符号的集合和系统,尽管自然语言包含了极其复杂的符号以及运用的规则。自然语言处理技术扩展了传统语言学研究的视野和方法,让
传统语言学研究达到了过去手工处理阶段所不可企及的境界。人类的思维依赖于语言,我们研究自然语言的自动化处理技巧,自然也促进了人工智能领域的进步。
很多人都有这样的疑问,计算机不过是处理符号的机器,语言却和我们的大脑思维密不可分,我们宣称用计算机处理语言,究竟能走多远呢?计算机最终有一天能够自己思想吗,又或是发现我们人类的思维也不过就和机器一样是在操纵那些符号呢?
探究这些问题也是我们研究自然语言处理技术的乐趣的一部份,至少我们可以在努力探寻人类交流信息问题的时候,可以改进机器交换信息的有效性,最直接的效果就是改进了位于信息层次之上的知识的管理和把握。例如,现在流行的语义计算和信息代理的研究等等。
语言信息工程系的学生究竟要学什么?
如上所述,自然语言处理技术并不是孤立的学科,学生们需要掌握计算机科学和语言学,而且还要学习把两者结合起来运用的技巧以解决自然语言处理问题。北大软件与微电子学院语言技术系语言信息处理专业的课程可以分为以下几个部分,还有相关的实践课程:
z计算机科学以及高级程序设计技术;
z语言学的理论与实践基础;
z语言学的计算方法;
计算机科学和语言学组成了学科基础,对解决语言学问题的各种算法的研究则形成了计算语言学研究领域。在实践中,自然语言处理技术工程师应该不但能开发普通应用软件,还能熟练应用形式化的语言知识库以及相应的语言工程工具辅助他们的工作。语言技术系毕业的学生应能追踪计算机科学与语言学的进展,因为这些都是我们研究的目标。当然了,他们也应该能够在实际工作中综合运用所有这些知识。
计算机科学与编程实践:介绍计算机软件系统开发的核心知识,课程侧重于和语言工程相关的领域,例如人工智能,机器学习等。这些课程可能由本系自行开设,学生也可在学院范围内自行选课。学生必须切实掌握现代大型软件工程开发的技术与技巧,并培养实际工作的能力。来自于语言学背景的学生还必须在导师的指导下,选修更多的计算机基础类课程,完成知识领域结构的调整。
语言学的理论与实践基础:术语学,语言学的科学方法与工具,词法与句法,语法和语义研究,语言形式化描述的数学基础,形式化语言等等。所有这些有些独立开课,有些则贯穿于其它技术课程中,作为基础知识讲授。来自于计算机科学背景的学生要在语言学领域选修更多的课程以强化对于自然语言进行分析和处理的能力。
语言学的计算方法:计算机建模的科学理论,自然语言处理系统,自动语法分析,语音识别与合成,语料库语言学,文本理解,语义分析,机器翻译与机器辅助翻译,信息检索与信息提取等等。
学生应该有怎样的知识积累?
首先,希望学习自然语言处理技术的学生对自然语言本身与计算机技术都应该有研究热情。数学基础也重要,特别是数理逻辑,以及概率和统计方法等,当然,随着课程学习,这些基本功总是可以掌握的。
自然语言处理技术最困难的方面就在于我们对于自然语言的本质还没有很
好的理解,在开发许多实际工程系统的时候,计算语言学专家需要自己收集关于语言的必要信息和知识,并构建知识库。缺乏完善的理论体系,也给软件系统开发带来了很大的困扰,学生需要综合运用所学到的领域知识,深入研究问题,再加以突破的能力和勇气。
自然语言处理技术的学习强调理论和实践的结合,无论你学了什么样的理论,最终还是要在一个可以工作的程序中表现出来。软件工程的能力对于自然语言处理软件的开发是非常重要的,特别是在开发那些大型的系统,而不是单纯的实验原型的时候。
创新能力也应该特别强调,因为我们在一片待开垦的沃土上耕耘。很多人都认为,自然语言处理能力是突破人工智能发展的瓶颈以及互联网未来发展的最大助力引擎之一。引入其它学科的研究成果来解决语言学问题以及把自然语言处理技术的成果用到其它领域协助别的研究领域的进步都是很重要的。学习、研究和创新是自然语言处理专家工作的永恒主题。
语言学研究的本质还要求我们在工作中要有韧性。需要输入机器的语言数据总是海量的,而要解决的问题总以千变万化的形态出现而造成处理的困扰。通常一种自然语言总有10万以上的词汇,为了做句子分析,这些词汇的语法和语义属性都会用到,也就必须整理后输入计算机,难度可想而知。研究自然语言处理的工程师大概就是径赛运动员中的马拉松选手了。