分类筛选
分类筛选:

课程教学类有关本科论文范文 和自然语言处理课程教学和实践类学士学位论文范文

版权:原创标记原创 主题:课程教学范文 类别:职称论文 2024-04-22

《自然语言处理课程教学和实践》

本文是有关课程教学本科论文范文和自然语言处理和课程教学和实践类论文参考文献范文。

傅迎华,李 江,付东翔

(上海理工大学 光电信息与计算机工程学院,上海 200093)

摘 要:随着人工智能技术的不断发展,智能科学与技术本科专业课程如何在有限学时内兼顾理论知识与应用实践、如何从教学内容和形式上更好地培养学生的理论基础和应用能力,值得探索和实践.为使本科学生能更好地掌握自然语言处理系统框架结构和程序设计等相关方法,文章以上海理工大学智能科学与技术专业自然语言处理课程教学实践为例,阐述课程教学的基本目标、理论教学的内容选择及实验内容的安排和设计等基本思路和方法.

关键字:智能科学与技术;概率论;数据挖掘;Python

第一作者简介:傅迎华,女,讲师,研究方向为医学图像处理、视觉分析研究、机器学习算法分析, fuyh@usst.edu.cn.

0 引 言

自然语言处理是计算机、自动化等本科专业的核心专业课程之一,其内容是建立在线性代数、概率论、数据挖掘等课程内容基础上,具有更高一层次的知识.该课程一般在本科高年级阶段开设,需要在掌握上述前修课程基础上才能选修该门课程,是一门具有较高专业技能的基础课程.

自然语言处理同时也是一门应用相当广的课程.自然语言处理相关技术在文本分类、信息抽取、语音识别、信息检索和机器翻译等领域有着广泛应用,是一门与现代技术联系紧密的专业课程.随着信息技术的飞速发展,数据的海量出现为自然语言处理提供了大量的需求驱动,机器学习技术精度不断提高和深度学习的普及推动着自然语言处理处理技术和应用技术不断演化和推进,也增加了社会对智能信息处理人才的需求.

作为一门本科生课程,怎样在教学中将学生的认识能力与教学目标和任务有效结合,使学生能在一个学期的学习过程中,既能理解语言处理的基本方法和算法过程,又能结合实际问题进行分析,是自然语言处理教学中的重点和难点之一.笔者对教学目标定位进行梳理,对教学内容进行筛选,给出理论教学和实践教学的内容框架,使学生在学习过程中,既能对理论有一定的分析把握,又能解决和分析一些实际问题,做到“知其然并知其所以然”.

1 教学目标定位

自然语言处理是用计算机通过可计算的方法对自然语言的各级语言单位进行转换、传输、存贮、分析等加工处理的科学,是一门与语言学、计算机科学、数学、心理学、信息论、声学相联系的交叉性学科.通过课程的学习,使学生掌握自然语言处理技术(特别是基于统计的语言处理技术)的基本概念、基本原理和主要方法,了解当前语言处理技术的发展概貌,接触语言处理技术的前沿课题,具备运用基本原理和主要方法解决实际问题的能力.

根据计算机学科和智能专业培养目标,自然语言处理的教学内容和实验安排围绕以掌握智能检测和识别系统的关键技术、算法结构设计功能、系统软件组成和应用软件设计为目标展开[1-2].

2 理论教学

2.1 指导思想

自然语言处理是在本科生高年级阶段开设的为期一个学期的课程.在短短一个学期内,需要学生掌握有一定理论深度和相关实践这两方面的内容是十分困难的.在教学中,有些课程注重理论学习而排除了练习时间,这使学生缺乏理论联系实际的机会,减少了学生在学习解决自动处理语言问题带来的挑战性和成就感,使课程枯燥乏味,从而失去兴趣.此外,还有一些课程只讲授语言学编程问题而不讲自然语言处理的相关算法和原理,这也会给学生造成知其然不知其所以然的状况,不利于学生更进一步发展.

根据本科生知识层次特征和课程安排,本课程在理论教学中应精心筛选教材,避开专业理论性很强的书籍,选用容易理解且实现动手较快的入门级参考书做教材[3-4] .此外,本课程应避免过分强调算法的理论分析,注重理论与实际例子的结合,将所涉及内容进行有针对性地区分,最大程度帮助学生减少对编程的畏惧心理,用程序来分析书面语言.

2.2 基本内容

教学内容的安排应遵循循序渐进、由易到难的过程.课程内容主要包含三个基本块:第一部分主要介绍语言处理及如何使用小的Python程序分析感兴趣的文本信息,再通过结构化程序设计巩固编程要点;第二部分讲述语言处理的基本原理及方法(如标注、分类和信息提取等),探索句子解析、句法结构识别和句意表达构建;第三部分简单讲述如何管理语言数据.

目前,Python在国内高校还不是一种很普及的程序设计语言,但课程中选用Python作为程序开发语言的原因主要基于以下几点:①Python可以免费下载,并能在各种平台上安装运行,且自带的函数非常适合于处理语言数据;②Python具有强大的字符串处理功能,文法和语义易懂;③自然语言工具箱(NLTK)使用Python进行NLP编程实现,它提供了与自然语言处理相关的数据表示基类、词性标注、文法分析和文本分类等任务的标准接口及标准实现,可以组合起来解决复杂问题;④Python在国际上工业、科研、教育领域应用广泛,软件的生产效率、质量和可维护性好.自然语言处理课程理论教学课时分配见表1.

理论教学主要包含Python程序设计和NLTK、自然语言处理的基本原理及方法两大内容.

1)Python程序设计和NLTK.

Python是一门强大的程序语言,学生可以在比较短的时间内完成一些高级的任务.目前,Python语言的发展主要包含Python2.X和Python3.X,这两个版本各有特点[5-6].Python 3.X引入了一些与Python 2.X不兼容的关键字和特性,在Python 2.X中,可以通过内置的__future__模块导入这些新内容.在Python 2.X环境下写的代码为方便在Python 3.X中运行,可以使用__future__模块.目前,Python最新版本分别为Python2.7和Python3.5.自然语言工具箱NLTK的代码示例适用的是Python2.X版本,因此本课程教学采用的是最新的Python2.7版本.

Python在自然语言处理中的广泛应用依赖于其强大的串处理功能[7].本课程的Python程序设计主要包括Python基础知识、列表和元组、适用字符串、字典、条件、循环和其他语句:Python基础知识包括安装Python、数字和表达式、变量、语句、函数、模块和字符串等;列表和元组包括序列的通用操作如分块和乘法及最大最小值等,列表的list函数和列表方法,元组的tuple函数和基本元组操作等;适用字符串包括字符串基本操作和字符串方法等;字典包括创建和使用字典等;条件、循环和其他语句包括基本赋值方式、语句块、条件语句、基本循环操作和列表推导式等.

NLTK提供直观的框架和大量模块,使用户获取自然语言知识而不陷入与标注语言类似的繁琐事务中,还提供一种结构,使新的软件模块易于添加,可以独立使用与工具包其他部分无关的组件.

2)自然语言处理的基本原理及方法.

这一部分主要包括句法语义分析、文本分析和模式识别的基本方法.

句法语义分析主要用于对给定的句子进行分词、词性标记、命名实体识别和链接、句法分析、语义角色识别和多义词消歧.在统计自然语言处理领域,词性标注、句法分析、语义识别和多义词消歧等通过大量样本和监督分类方法来实现.句法分析树是一种常用的分析方法,通过算法实现将一句话按照句法逻辑组织成一棵树.句法分析通过大量的训练数据,把树库中的句法规则提取出来生成符合自然语言的结构形式,从而进行合并、归纳等处理.

文本分析包括文本信息提取和文本挖掘.图1描述了一个信息提取系统的简单流程.首先,使用句子分割器将该文档的原始文本分割成句,使用分词器将每个句子进一步细分为词.然后,对每个句子进行词性标注,在下一步命名实体识别中将证明这是非常有益的.在这一步,我们寻找每个句子中提到的潜在的有趣的实体.最后,我们使用关系识别搜索文本中不同实体间的可能关系.文本挖掘包括文本聚类、分类、情感分析以及对挖掘的信息和知识的可视化、交互式的表达界面.文本挖掘涉及目前一些主流的机器学习方法.

模式识别是自然语言处理的一个核心部分.自然语言处理通常会应用一些重要的机器学习核心技术,如决策树、朴素贝叶斯分类器、最大熵分类器、K近邻分类器、感知器算法和SVM分类器等.在本科生培养方案中,决策树方法在先修课程数据挖掘中已详细介绍,包括分类器的评价方法.本课程将着重介绍贝叶斯分类器、K近邻分类器和SVM分类器的基本原理及其分析方法,使学生能理解不同机器学习方法的区别和应用范围,以便学生在以后实践中能根据实际应用选择合适的处理方法.

3 实验教学

实验教学是理论教学内容的实践,让学生认识和动手实践理论的内容.课程实践内容主要包括Python程序语言设计和用NLTK实现句法分析和文本分类,实验教学内容安排见表2.

实验教学内容围绕怎样利用自然语言工具箱NLTK进行文本分析、特征提取和文本分类等,主要包括:语料库的调用和创建自己的语料库,文本抽取和特征过滤,创建字典以及用最近邻、朴素贝叶斯、决策树和SVM等分类方法对文本进行分类.

NLTK提供了交互式图形用户界面,无需用户任何数据就能执行有趣的任务,减轻了学生的编程压力,使学生在学习理论的同时可以通过交互式重现示例,还可以通过Python会话控制台,尝试修改算法和理论、探索经验性问题和理论性问题.与自然语言处理任务相关的NLTK模块主要有语料库模块、字符串处理模块、搭配模块、词性标注模块、分类模块、分块模块、解析模块、语义解释模块、指标测评模块、概率与估计模块和应用模块等.课程中的章节和实践练习与NLTK紧密结合,为学生提供一个实用的自然语言处理入门指南[8] .

4 结 语

如何提升自然语言处理的教学效果,使学生能够掌握基本数据分析工具,并能应用这些工具分析和解决具体的应用问题;如何使课程教学内容与当前自然语言处理技术的发展与应用水平保持一致,主流技术能体现在课程教学中,教学内容不落伍等.针对这些问题,上海理工大学智能科学与技术本科专业的自然语言处理教学和实践,与人工智能技术发展、大学生创新实践等紧密联系,从教学内容、理论与实验内容的安排上进行了分析和探索.

通过该课程的学习,学生掌握自然语言处理基本过程、原理和框架结构,能使用和编写简单程序分析和处理语言数据、理解NLP与语言学的关键概念是怎样用来描述和分析语言、了解数据结构和算法在NLP种的应用以及语言数据如何存储为标准格式等,很好地提升了学生的专业能力[9].智能专业学生近两年多次在大学生创新项目(如基于深度学习的文字转换图像技术和各种智能设计比赛)获得佳绩,2017年摘取了“华为杯”中国大学生智能设计竞赛的全国二等奖和华为专项奖.

实践证明,该课程的教学与实践培养了本科学生自然语言处理系统设计和开发的能力,为以后综合运用知识解决实际问题奠定了基础,符合并达到了应用型智能科学与技术专业人才的培养目标.

参考文献:

[1] 张昊, 李擎. 谈智能科学与技术专业及相关学科的发展[J]. 计算机教育, 2013(19): 16-18.

[2] 孙红, 蒋念平, 陈玮,等. 智能科学与技术专业理论教学与工程实践的融合[J]. 计算机教育, 2012(18): 17-21.

[3] Bird S, Ewan K, Loper E.Python自然语言处理[M]. 陈涛, 张旭, 崔杨, 等, 译. 北京: 人民邮电出版社, 2014.

[4] Bird S, Ewan K, Loper E. Natural Language Processing with Python[M]. 南京: 东南大学出版社, 2010.

[5] Lutz M .Learning Python[M]. 南京: 东南大学出版社, 2014.

[6] Lutz M .Python编程[M]. 邹晓, 瞿乔, 任发科, 等, 译. 北京: 中国电力出版社, 2015.

[7] Hetland M L. Python基础教程[M].司维, 曾军崴, 谭颖华, 译. 北京: 人民邮电出版社, 2014.

[8] 王万森. 适应智能化应用发展趋势, 培养创新型智能科技人才[J]. 计算机教育, 2013(19): 1.

[9] 张俊, 陈飞, 冯士刚. 大连海事大学“智能科学与技术”本科专业建设实践[J]. 计算机教育, 2012(18): 22-27.

(编辑:史志伟)

课程教学论文参考资料:

课程教学杂志

教育教学论坛杂志

外语教学期刊

教学论文范文

课程论文的标准格式

教育教学论坛期刊

上文总结,此文为关于对写作自然语言处理和课程教学和实践论文范文与课题研究的大学硕士、课程教学本科毕业论文课程教学论文开题报告范文和相关文献综述及职称论文参考文献资料有帮助。

和你相关的