关于python的论文第四篇:Python的英语搭配助手应用开发研究
摘要:英语搭配是英语学习者从中级到高级的必学内容。随着科技的发展,在写作过程中,学习者在遇到不知道某单词的搭配或者不确定其是否使用正确的时候,往往就会使用电子字典App或网页在线字典来查证。这两种查询最大的问题是学习者都需要退出文本编辑软件,如Word,随后跳转到电子字典App或者登陆在线字典网页,然后输入检索词进行查询。对于部分学习者来说,会因为频繁切换不同的界面,过于烦琐耗时而放弃查找搭配词,从而终止搭配学习。本文尝试基于Python和Tkinter开发一个应用,可以让学习者在该应用下进行英语写作,并支持一键查询单词搭配,在不打扰学习者写作创作的环境和氛围的情况(即心流体验)下,满足学习者查找搭配词的需求,进而帮助学习者提高英语写作能力。
关键词: Python; 英语搭配;应用开发;心流体验;
1 引言
英语搭配是英语中级学习阶段的必学内容,是评价语言学习者表达准确性的重要指标,一定程度上决定着学习者能否顺利进入到英语学习高级阶段。国内外学者对于英语搭配进行了大量的研究。
搭配现象最早被关注,可追溯至公元前300年,到19世纪后半叶,英语词语搭配开始引起英语语法学者的关注,同时早期搭配研究都注意到了搭配与英语学习和教学的价值[1]。
研究最为重要的方向就是定义,界定问题是一切研究的开始。很多学者对于搭配进行了界定,如Firth认为搭配就是具有惯常语伴的实际词语[1],濮建忠教授认为搭配是某一语法型式(即类联接)下的多个词语的反复共现[2],,Sinclair对于搭配的定义(两个及以上词语在较短语境里的共现)为使用计算机研究搭配提供了可操作的量化界定[1]。
1960年后,随着计算机语料库的飞速发展,有了海量数据、科学的统计方法等技术支撑,让搭配研究飞速发展,语料库语言学推动搭配研究进入基于海量数据的定量研究。传统的同义词辨析采取的是定义描述、翻译和少量例句等方法,但随着如Sketch Engine等大型语料库检索程序的出现,学习者可以通过在语料库中检索关键词,观察包含大量实例的KWIC行,直观发现同义词在搭配和语法上的差异,进一步通过统计方法计算出搭配强度量化,让学习者对搭配特点和倾向一目了然[3]。濮建忠通过研究中国英语学习者语料库中的三个单词(reach,attention,same)的典型类联接和搭配词,发现了中国学习者在词汇使用中存在的问题,以及提出英语词块教学是词汇教学的重点之一[2]。陈万霞通过分析英语学习者在作文中出现的搭配错误,以及寻找错误的成因,进而给出解决这些问题的建议[4]。高霞通过横断研究设计方案,对我国中高级英语学习者的搭配掌握程度进行了研究[5]。
通过文献的简单梳理,可以发现,搭配研究主要集中在三个方面:1)搭配的定义、类型和重要性;2)通过计算机语料库对搭配进行定量研究;3)学习者出现的搭配错误。但是,研究多集中于理论和定量分析,应用也多关注搭配错误诊断分析,为学习者在写作练习中提供搭配辅助的研究还不多见。
但是在实际的写作过程中,学习者可能会遇到不知道某单词的搭配或者不确定是否使用正确,此时就会使用字典来查证。常见的方法是查询电子字典(纸质字典因为查询耗时较长及要求相关字典,故不考虑)或者网页在线字典。但是存在的最大问题是不管哪种方式,学习者都需要从当前编辑软件退出,然后跳转到相对应的电子字典应用或者登陆在线字典网页,然后输入检索词进行查询,在应用或网页中查看单词的搭配词,在此过程中,还可能会因为出现的一些不相关的干扰信息,如广告,而分心。总之,对于学习者来说,会因为频繁切换不同的界面,过于烦琐耗时或者存在干扰信息而放弃查找搭配词,从而终止写作练习。
当一个人把注意力高度集中于一件事情时,会感到时间飞快,伴有愉悦心情等现象,称为心流。王卫等通过研究表明及时的反馈可以影响心流体验,而心流体验对于学习者学习意愿也有显着的正向影响[6]。沉浸体验,和心流体验类似,都是指因为全神贯注一件事而忽略时间的存在的感知。张嵩等研究显示有沉浸体验的用户比没有这种体验的用户在线时间长,对学习来说,沉浸体验可以让学习者学习时间更长。沉浸理论指出必须排除外界干扰,才能让学习者学习达到最佳状态[7]。因此,本文的研究内容是如何让学习者在一个应用下进行英语写作,并支持一键查询单词搭配的功能,这样可以最快地满足学习者查找搭配词的需求,同时不打扰学习者写作创作的环境和氛围,即尽力打造利于心流体验的学习环境,从而帮助学习者提高英语写作能力。
2 实现方法
该应用(Collocation Assistant)基于Python自带的GUI工具包Tkinter来实现窗口视窗设计。选用Python语言的理由在于其语法简单,跨平台、内嵌大量模块,支持众多第三方包,大大降低了编程的难度,同时Python语言最为接近人类语言,近年来受到越来越多的人员,尤其是非计算机专业但有编程需求的人士,特别是文科研究者的青睐。
该应用的目的是让学习者在一个应用(不需要频繁切换应用程序)里完成一键查询单词搭配,进而建立不打扰学习者写作的环境,因此该应用包括两个区域:文字编辑区和搭配查询结果显示区,如图1所示。
具体用户操作路径为用户在文字编辑区输入写作内容,当需要查找某单词的搭配时,用户只需在输入完该单词后,按下触发键(本应用定义为shift键),该应用就会去在线词汇搭配网站(https://www.freecollocation.com)获取该单词的相关HTML信息,然后通过正则表达式截取只与搭配相关的信息,并进行页面呈现调整,最后在该应用的查询结果显示区呈现。例如,在图1中,用户在文本区进行写作练习,想要知道comment的搭配,只需在输入comment之后,按下键盘shift键,之后右侧的查询结果框就会显示来自在线搭配网站上关于comment各种搭配信息。
图1 搭配助手应用界面
代码实现路径:
1)获取网页信息
使用Python内置库Urllib相关模块,从目标网站(https://www.freecollocation.com)获取检索词的网页。如果没有找到检索词的搭配,网页显示“Can not find检索词in the collocation dictionary”,则返回1,再做后续处理。如果找到检索词,则保存该网页信息。
2)选取相关信息
通过分析网页特征,可以看出和搭配相关的信息,都储存在多个<DIV class='item’></DIV>标签里面,每一个标签只存储一个词性,如comment,可以做名词和动词,因此该单词在网页里面的搭配词信息,就存储在两个<DIV class='item’></DIV>标签里面。搭配词的词性放在<U></U>标签里,搭配词放在<B></B>标签里,例句放在<I></I>标签里。先用Beautiful Soup对该网页进行整理,然后使用标签提取相关内容,并且存到字符串中,以便下一步呈现。
3) Tkinter窗口试图设计
为了方便用户写作和查看搭配词互不干扰或在写作时不用切换屏幕查看搭配词,窗口设计为两个滚动文本框(ScrolledText),左侧的为编辑区(Edit Pad),右侧为搭配结果显示区(Collocates)。考虑到用户看到两个文本框,不知在哪个框里输入,除了给出2个标签提示不同的区域外,还需把搭配结果显示区属性设置为不可编辑,避免用户误操作。下方设计保存(Save)和退出(Quit)两个按钮,功能分别为保存用户输入的数据和退出该应用。
4)一键绑定
以往文字编辑应用中,如果想要查找某个单词的相关信息,需要选中该单词,然后单击右键,选择相关的选项,过程较为烦琐。一键绑定是该应用的创新之处,是指当用户在编辑区输入文本的时候,如果想检索某单词的同义词时,只需要在输入该单词之后,再按下shift键,即可执行相关检索功能。这样一来,省去了大量的操作时间,让用户可以更快速地获得检索结果,获得更为及时的搭配词反馈。
实现的基本原理是把用户所有的输入信息存储为一个字符串,然后再将该字符串切分为若干个单词,再取最后一个单词,作为检索词,去在线词汇搭配网站获取该单词的网页相关信息,然后经过一系列的网页处理,最后在该应用的检索结果显示区呈现。重点是通过Scrolled Text的bind方法,将shift键和上面陈述的实现基本原理进行绑定,这样才可以实现用户只需按下shift键,该应用自动执行上述相关代码。
限于篇幅,所有核心代码不便在本文呈现,已上传至百度网盘,链接为:https://pan.baidu.com/s/17FSr1b Gcv VL4Lt C6ES_Cqg,供同行批评指正。
3 结束语
检索时间过长或频繁切换应用程序会降低检索英语搭配词的效率,进一步让学习者失去学习搭配词的兴趣。Python作为新兴起的计算机语言,因其简洁易用和包含众多的第三方包等特色,可以快速实现很多基本功能,非常适合文科背景的科研人员进行编程。同时,网上众多的在线英语搭配字典,为本研究提供数据支持。因此,本文尝试基于Python和自带的GUI工具包Tkinter,开发了一个集写作和英语单词搭配词检索为一体的应用,为学习者提供一个没有干扰的练习环境,从而提高了学习者的检索效率,进而帮助学习者提高英语写作能力。
该应用提高了检索效率,但有一个最为重要的不能忽略的问题:打包实现困难。Python由于历史原因,出现Python 2.0和Python 3.0两大分支,相互兼容性差,同时由于Python发展速度过快,基本上一年就有一个小的版本升级,再加之Mac OS系统近几年版本也在快速迭代,对于Python的支持也在不断升级,进而造成兼容性较为凸显,甚至出现了Python和Mac OS相互脱节,为开发带来麻烦,尤其是打包困难。Python可以通过第三方包pyinstaller完成打包,问题在于版本相互不兼容以及pyinstaller版本更新无法跟上Python和Mac OS升级的速度,造成打包失败,目前,该应用只能在本地运行。但是,相信随着技术的发展,兼容问题会得到解决。
参考文献
[1]李文中.语料库搭配研究学术演变论要[J]外语研究,2019,36(4):7-11.23.
[2]濮建忠.英语词汇教学中的类联接、搭配及词块[J]外语教学与研究, 2003.35(6):438-445, 481.
[3]杨节之.语料库搭配检索与英语同义词辨析[J].外语电化教学2007(4):41-46.
[4]陈万霞英语学习者作文中的搭配错误分析[J]解放军外国语学院学报,2002,25(1):60-62.
[5]高霞中国中高级EFL学习者英语搭配知识定量研究[J].外语测试与教学2020(2)-:12-19.
[6]王卫.史锐涵,李晓娜.基于心流体验的在线学习持续意愿影响因素研究[J].中国远程教育,2017(5):17-23,79.
[7]孙厌舒.沉浸理论与外语教学[J].山东外语教学2005,26(1):64-66.