SCI论文(www.lunwensci.com):
摘要:基于计算机编程语言Python的NLTK工具包自带或可加载海量经过标注的英文文本语料,在词汇短语和句子语篇层面可对文本材料进行包括词频和词汇多样性等各类信息特征的抽取,为当前我国大学阶段英语教学资源挖掘和利用提供了丰富资源和操作便利。
关键词:Python;自然语言处理工具包;词频;词汇丰富度
本文引用格式:李俊飞.基于Python自然语言处理工具包的高校英语教学资源挖掘与利用[J].教育现代化,2019,6(92):136-137.
根据《国家中长期教育改革和发展规划纲要(2010-2020年)》对于当代教育的重要阐述,教育装备和教育内容现代化在人工智能时代的教育改革背景下尤其值得高校英语教师多多反思。我国高校的外语教学虽然利用了一些多媒体教学方式和资源,但在具体教学内容和软装备方面仍有进一步提升和完善的空间。近年来,利用语料库作为外语教学的辅助手段越来越显示出先进高效的特点,而利用计算机编程语言Python来对外语文本进行信息处理并服务于外语课堂教学的做法仍尚未形成风气。本文试从词汇短语和句法语篇等角度出发,描述了NLTK(Natural language Toolkit)工具包在教学资源挖掘和利用的基本操作方法。
一NLTK工具包与英语教学资源属性的相关性
NLTK自然语言工具包诞生于美国宾夕法尼亚大学,作为自然语言处理研究和教学工具而生,其收集的海量公开数据集和模型都配备了简单易用的接口,包含分词、词性标注、命名实体识别、句法分析等功能。
首先NLTK内置海量语料库,包括诸如小说、新闻、聊天记录、电影评论等各类文体的文本资料。值得一提的是,NLTK包含古腾堡项目电子文本档案中的一部分,作为严肃正统的文学作品合集对于英语专业本科生来说意义重大;另外,NLTK还拥有大量网络文本材料,大量的聊天文本可为英语专业和大学英语课堂教学提供充足的口语训练素材。此外,还可以加载布朗语料库、路透社语料库等,或载入自己的语料库。
此外,NLTK定义了使用Python进行自然语言处理编程的基础工具,包括词性标注、文法分析、文本分类等任务的标准接口和实现方式,配合Python自带的强大标准库,为处理复杂文本提供坚实后盾。
二NLTK工具包助力英语教学资源的挖掘利用
首先,在文学作品鉴赏类的英语课堂教学中,NLTK除了可以直接提供大量文学作品文档,还自带众多文本处理工具,具体操作过程相比其他编程软件要简单得多。在官网下载Python的合适版本后,安装过程中需要注意勾选Add python to PATH这一项,最好也同时完成环境变量的设置。
此时首先加载NLTK,具体操作为:①Win键+R打开“运行”,键入cmd进入命令行窗口;②输入python进入形如>>>的交互式界面,同时显示Python的安装版本;③键入import nltk后,再键入nltk.download(),稍后就会弹出NLTK Downloader的消息框,假如弹出Error connecting to server的错误,可以点击右下的refresh恢复;④单击选中book这一行,然后点击左下的download,等待下载完毕,关闭消息框。
这时可以通过键入from nltk.book import*来查看nltk.book里的内容目录,即text1:Moby Dick by Herman Melville 1851等文本。运用Python内置的各类函数命令,可以对这些文字材料进行信息处理和获取。[1]
(一)词汇短语层面
在词汇层面,通过使用set()等函数表达式了解某个文本在词汇方面的基本信息。假如在学习赫尔曼·梅尔维尔的小说《白鲸》的时候,词汇使用的某些特点可以通过函数sorted(set(text1))来观察。该表达式实际上对小说所用的所有词汇(类符)按照字母顺序进行了一个排序,并构成一个词汇集合。使用len命令可以获得集合中项目的个数,这就是小说所使用的“词类型”总数(多少个不同词汇),也就是词汇量的大小。需要注意的是,用len统计出来的所谓词汇量其实还包括标点符号,在精确统计中则需要删除标点类型数。除此之外,还可以运用文本词汇的丰富程度做出统计。
另外,NLTK工具包里面的一些语料库都对文本词汇进行了词性标注,这样使用者可以快速定位某个词类的所有词或某个特定词语的具体上下文。作为建立英语水平测试试题库的预备工作,Python的该项功能有助于英语教师把基于和通过NLTK加载的所有标注语料库作为试题库语言资料源,把想要考察的词汇连同其上下文抽取出来,经过修改后成为制作选择题或填空题等试题备用材料。如果要抽取庞大的试题库备用选材,也可以考虑使用Python建立字典。此时文本被视为词链表,除了对每个词进行词性标注外,还可以把该词所在的句子作为例句与词条相关联。由于大学阶段需要考察的英语词汇一般不会是高频词或罕用词,故而首先应对文本的词频进行统计,把高频词和hapax legomena等罕用词过滤掉,同时需要利用Python进行词形归并等操作把词汇按照词族进行分类。
在词组层面,NLTK工具包还提供了特定词序列的查找功能。如需要抽取动词后接不定时的用法实例,可以通过如下操作实现(以调用布朗语料库为例):>>>from nltk.corpus import brown回车,>>>def process(sentence):回车缩进,for(w1,t1),(w2,t2),(w3,t3)in nltk.trigrams(sentence):回车两次缩进,if(t1.startswith('V')and t2=='TO'and t3.startswith('V')):
回车并三次缩进,print(w1,w2,w3),然后>>>for tagged_sent in brown.tagged_sents():回车并缩进,process(tagged_sent)回车缩进回车。最后展示的结果是一系列如expected to become等这类由三个词语构成的“动词+不定式”短语。同样,可以对该表达式进行相应修改,找到其他类型的短语结构,如由“动词+动名词”的两词短语。
(二)句法语篇层面
在句法层面,NLTK工具包本身也包含有强大的文本句子结构的分析和处理功能。基于成分结构的语法可以帮助我们将句子分解成各种成分,然后进一步将这些成分分解成更细的细分项,并且重复这个过程直至将各种成分分解成独立的标识或单词。这些语法具有各种产生式规则,一般而言,一个与上下文语境无关的语法或短语结构语法就足以完成上述操作。首先需要构建一个成分结构分析器以辅助生成分析树,方法不一,这里可使用NLTK和StanfordParser来生成分析树。在设置Java路径后,则可以运行代码解析句子,并生成可视化的分析树。[2]
句法层面的成分结构分析器有利于英语教师把海量文本中所包含的多种句子结构进行分类,以备在课堂教学或试卷出题时使用。针对英语试题库建设,在选用阅读理解材料时可能需要考虑文本中句子结构的类型丰富度,这在部分上对应于阅读材料的难度,也有利于教师有选择性地对学生进行阅读理解的测试。
在语篇类型方面,NLTK可以加载经过文本分类的数据包,例如布朗语料库,包含500个文本集合,大致分为15个不同类别的资料。教师可以根据需要选用不用类别的语篇,并结合句子成分类型量的统计信息,选择不同难度系数和不同话题的文本用于课堂教学或试题编纂。[3]语篇层面最首要考虑的包括词汇密度的计算,词汇密度越大,表明实词越多,语篇所含信息量也越大。而计算词汇密度时需要考虑两种情形,一是重复计算语篇中的实词,二是重复出现的实词合并后计算实词类符的占比。读取语篇文本并对其进行降噪处理,然后就可以编写代码计算词汇密度。此外还需要考虑语篇词汇的复杂性,即语篇内低频词的占比或覆盖率。[4]
三结论和思考
大学阶段的英语教学和研究越来越依赖大量文本构建的语料库,而当前国内语料库语言学领域的工具类软件一般倾向于Wordsmith、Range、AntConc等。这些软件在功能上互为补充,但都有一个共性:受限于软件自身设计,不能更为灵活地进行定制设计。在必要时,研究者可能要学习不同软件的技术操作。而基于Python的自然语言工具包能够囊括以上诸多功能,使用一种相对接近自然语言的编程语言把文本处理的各个层面整合起来,并逐步与大数据、人工智能领域相结合,相比零散的处理软件,更有利于语料库研究向系统化、智能化方向发展。
参考文献
[1]Bird,Steven等.Python自然语言处理[M].人民邮电出版社,2014:4.
[2]迪潘简·撒卡尔.Python文本分析[M].机械工业出版社,2019:118.
[3]克里希那·巴夫萨等.自然语言处理Python进阶[M].机械工业出版社,2019:5.
[4]管新潮.语料库与Python应用[M].上海交通大学出版社,2018:136-139.
[5]刘玮.新媒体视域下高校英语教学改革与实践[J].教育现代化,2018,5(13):100-101.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网! 文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jiaoyulunwen/30899.html