专栏名称: 掌上百科知识外语学习园地
掌上百科https://pdawiki.com的公众号
目录
相关文章推荐
CHINADAILY  ·  跑鞋,是越贵越好吗? ·  昨天  
主编温静  ·  人事 | ... ·  2 天前  
主编温静  ·  最新!多家电视台发布声明 ·  3 天前  
51好读  ›  专栏  ›  掌上百科知识外语学习园地

震惊!上外学子因缺少研究工具 竟耗费数月自行开发!结果...

掌上百科知识外语学习园地  · 公众号  ·  · 2019-03-31 23:09

正文

历经两百六十个昼夜交替,

历经两千小时的开发设计,

历经数千余页的文献查阅,

历经十万余行的代码修改。


自2018年7月1日敲下Wordless的第一行代码起,

没有前人开源代码的参考,

没有老师同学的协助开发,

没有科研基金的财力支持,(区区硕士也不可能有)

只有无边无尽的自我怀疑。

今天,我终于能够正式宣布Wordless 1.0.0的发布。除去所有空行和注释行,Wordless的第一个正式版共计由26195行Python代码编写而成。


Wordless是一款可用于语言学、文学、翻译学及其他语言相关领域研究的多语种整合型语料处理与分析工具。

Wordless功能强大,目的是全面覆盖语言相关研究领域的各类需求。

Wordless界面友好,致力于时时刻刻都为用户提供最优的使用体验。

Wordless化繁为简,尽其所能为用户优化了语料处理与分析的流程。

Wordless开拓创新,用户轻击几下鼠标即可体验到最新的前沿科技。


Wordless主窗体的下方为文件区,用户在此可打开任意数量的文件,Wordless可自动检测文件的语言、文本类型(是否已分词/标注)和编码。

语言 :可选108种,可自动检测其中98种,针对其中75种提供了程度不等的特别支持。

文本类型 :支持6种,可自动检测其中4种。

文件编码 :支持104种,可自动检测其中38种。


在文件类型方面,Wordless不仅支持txt纯文本文件,还支持Word文档(.doc/.docx)、Excel表格(.xlsx)、CSV文件(.csv)、HTML文件(.htm/.html)。另外Wordless特别提供了对TMX翻译记忆库文件的支持,Wordless可自动提取并拆分源语和目的语文本并分别检测其语种。此外,Wordless还支持LRC歌词文件 Wordless可自动分析提取并根据时间标签生成正确的歌词文本。


自动检测语言及文本类型使用户在大批量导入文件时不必再一个个手动选择,自动检测文件编码则使用户无需再烦恼由于文本来源不同而导致的各类编码问题。用户可以通过菜单进入设置面板禁止自动检测并设置默认值以提高文件打开的速度。为了效率起见,检测时默认只扫描每个文件的前100行,用户同样可在设置面板中进行修改以提高检测的准确率。


Wordless主窗体的上方为工作区,共分为7大模块:


1. Overview

在Overview模块中,用户可对各文本的整体情况有所了解。用户可一键计算每个文本的段落数、句子数、形符数、类符数、字符数(1个字母/汉字/假名等为1个字符)、类符形符比、标准化类符形符比、平均段落长(以句为单位)、平均段落长(以形符为单位)、平均句长(以形符为单位)、平均形符长(以字符为单位)以及1, 2, 3, ..., n个字符长的形符数。


Wordless会自动根据每个文件的语言设置使用内置的分句器、分词器来对文本进行分句和分词,用户只需确保每个文件的语言设置正确无误,无需关心分词的实现细节。用户也可导入已分词的文本(词之间用空格分隔)并将文本类型(Text Type)设置为已分词(Tokenized),Wordless会自动跳过分词阶段而不会破坏已有的分词。


2. Concordancer

在Concordancer模块中,用户可一键搜索任意词在各个文本中给定跨距内的上下文(默认为左10个词至右10个词),同时Wordless会给出每个查找到的节点词位于哪个文件中的第几段、第几句话、第几个词。用户可在右边的设置区域内选择是否将标点视为独立的token,也可修改跨距范围,或修改跨距单位为字符而不是单词(便于对汉语/日语等进行单字查找)。


结果生成后,用户可按文件、token在文本中的位置以及跨距内任意个单词以任意顺序任意组合对结果进行排序,或直接在结果中进行搜索。

此外用户还可一键生成散点图,其结果可按文件或搜索项进行排序。


3. Wordlist

在Wordlist模块中,用户可按文件生成词表,统计每个词在各个文本中的绝对/相对频数,还可应用不同的算法来计算每个词的dispersion(分布)和adjusted frequency(校准频率,可用于词典学和教学法研究等)。在结果生成后,用户可按任一统计量来对结果作进一步筛选或直接在结果中进行搜索。


Wordless目前支持7种dispersion计算方法以及5种adjusted frequency计算方法。

此外,用户还可一键生成折线图以可视化的形式对多个文件进行对比,或生成词云图查看单个文件内的单词频数情况。


4. N-grams

在N-grams模块中,用户的关注对象不再是单个单词,而是两个或两个以上连续(n-gram)或不连续(skip-gram)的单词。用户可一键统计任意长度至任意长度所有n元组的绝对/相对频数,计算每个n元组的dispersion和adjusted frequency,或生成折线图/词云图来对数据进行可视化分析。


5. Collocation

在Collocation模块中,用户可一键搜索某词在各文本中给定跨距内(默认为左5个词至右5个词)的所有潜在搭配词,并对每一组搭配作显著性检验,计算其统计量、p值(p-value)、贝叶斯因子(bayes factor)以及效应量(effect size)。同样,用户可对结果进行筛选、或在结果中进行搜索,也可生成折线图或词云图来对数据作可视化分析。


Wordless目前针对Collocation模块提供了5种显著性检验方法、1种贝叶斯因子计算方法以及13种效应量计算方法。


6. Colligation

Colligation模块和Collocation模块相类似,只是用户的关注对象从某个单词的潜在搭配词变为了潜在搭配词的词性,Wordless会自动根据每个文件的语言设置对尚未作词性标注的文件进行批量标注,然后对每一组潜在的搭配作显著性检验并计算其统计量、p值、贝叶斯因子及效应量。

此外,用户还可在设置面板中选择将所有语种的标签映射至Universal POS tags,便于不同语种间的词性比较。用户可直接使用Wordless中预置的映射表,也可对其进行修改,或根据自身研究需求将任意语种的任意词性标签映射至其他任意标签。


7. Keywords

在Keywords模块中,用户可一键搜索各观察文本在给定参考文本情况下的潜在关键词(keywords, 在观察文本中的频数显著大于或小于其在参考文本中频数的词),并对每一个潜在关键词作显著性检验,计算其统计量、p值、贝叶斯因子及效应量。


Wordless目前针对Keywords模块提供了5种显著性检验方法、2种贝叶斯因子计算方法以及5种效应量计算方法。


同样,用户可对结果进行筛选,或在结果中进行搜索,还可一键生成折线图或词云图来对数据作可视化分析。


以上是Wordless中7大模块的主要使用方法,不过为了使Wordless的功能更强大、更灵活、更具可扩展性、覆盖更多的研究需求,我还在许多细节之处进行了一些优化。


1. 一键导出/保存

在Wordless中,用户可一键导出Wordless中生成的所有表格,Wordless目前提供Excel格式(.xlsx)和CSV纯文本格式(.csv),后者便于用户使用R等统计工具对导出的数据作进一步分词和处理。用户还可对Wordless中生成的图表进行拖拽、缩放,修改图表标题、坐标轴标签或进行其他修改,完毕后用户可直接将图表保存至电脑上的任意位置。


2. Token Settings

在“Token Settings”(Concordancer模块除外)中,用户可修改token的定义范围,用户可自由选择过滤/保留全小写单词、首字母大写词(用于专有名词的研究等)、全大写词(用于研究小说中作者故意大写而具有特殊含义的词等)、含数字的词(用于数字词研究等)以及标点(用于标点符号的专门研究等)。


此外,用户还可选择对文本中的每个词作词形还原(took → take),或使用Wordless内置的停止词表来过滤停止词(a/the/at 等极其常见但在研究结果中无法提供有效信息的词),用户也可在设置面板中导出内置的停止词表加以修改后再次导入或直接创建契合自己研究需求的词表,从而实现了过滤文本中任意词的功能。


如果用户提供的文本带有标签,用户在此还可选择过滤数据中的所有词性标签或非词性标签或所有标签。此外用户还可选择只使用文本中的标签数据,在Overview模块中即可查看所有标签的整体统计数据,在Wordlist和N-grams模块中即可生成标签的词表以及n元组,在Collocation/Colligation模块中即可搜索标签间潜在的搭配关系,在Keywords模块中即可查找潜在的“关键词性”。


3. Search Settings

在“Search Settings”中(Overview模块除外),用户在搜索时可选择是否忽略大小写、匹配完整单词(若否,搜索happy会匹配出unhappy)、匹配所有屈折变化形式(搜索take或took可一次性匹配出take/took/taken/taking/takes等)、使用正则表达式(一种已有标准的文本检索语言)、匹配时忽略标签或只匹配标签部分。搜索项可以是单个词,也可以是由空格分隔的任意个单词,用户也可开启multi-search mode,即可一次输入多个搜索项。


在Concordancer、N-grams、Collocation、Colligation模块中,用户还可在“Context Settings”中进一步限定搜索项在给定跨距内的上下文必须出现某个词或不得出现某个词。在对上下文进行限制匹配时,搜索项同样既可以是单个词,也可以是多个单词,在多个单词的情况下计算跨距时以首个单词的位置为准。


在对上下文环境进行匹配或在结果中进行后期搜索时,上述所有选项也同样适用。


4. Table Settings

在“Table Settings”中,用户可选择表格中是否显示百分比数据、是否显示累计数据以及是否显示各文件的单独统计数据(若否则只显示Total列)。若用户选择显示累计数据,Wordless会自动将累加后有意义的统计量进行累加显示,并保留其他统计量为其原始值。


5. Filter Results

在大多数模块中(Overview模块除外),用户可在结果生成后对其作进一步过滤,过滤条件可以是任一统计量,也可以是token(s)的字符长度,用户可设置任一项的上下限并任何组合以满足自身的研究需求。


6. Preview

Wordless为部分语言提供了不止一种分句器/分词器/分词还原器/词性标注器/词形还原器,用户在设置面板中可针对各语种自由切换并在下方进行预览。用户也可直接将待处理文本粘贴至左边的输入框中,稍等片刻即可提取右边预览框中显示的结果。


Wordless还为汉语/日语提供了专门的“单字分词器”,在汉语环境下,Wordless会将每个汉字都切分为一个独立的token,而遇到英语或其他语种的单词时会自动按英语或其他语种进行分词,而不是盲目得切分为一个个字母。在日语环境下,汉字依旧会被视为一个个独立的token,而平假名/片假名会自动改用日语分词器进行切分,英文及其他语种也会改用对应语种的分词器进行切分,这是因为假名和英文字母均不同于汉字,前者表音,后者表意,因此将假名和英文字母单个拆分一般没有研究意义。


7. Dispersion/adjusted frequency/显著性检验/效应量

Wordless为dispersion和adjusted frequency计算方法以及部分显著性检验方法和效应量计算方法提供了更详细的细节支持,用户可在设置面板中进行修改。比如,用户可修改在计算dispersion和adjusted frequency时将每个文本分割成的子文本数(默认为5),设置z-score为双尾/单尾检验,设置双样本t检验使用绝对/相对频数、是否具有齐方差性(若否,改用Welch's t检验),设置卡方检验时是否应用亚茨连续性校正,设置费希尔精确检验为双尾/左单尾/右单尾或设置曼惠特尼U检验使用绝对/相对频数、作双尾/左单尾/右单尾检验以及是否应用连续性校正等。







请到「今天看啥」查看全文