[摘要]首先,在基于语料库统计和人工内省的语言知识基础上制定抓取底表,使用抓取工具Wget从网络上抓取含有英汉对照语言对的网页。其次,通过程序从抓取两页中提取英汉对照语言对,对获取的英汉对照语言对进行后续整理,如去重、格式转换等。最后,把英汉对照语言对存入到数据库中。
[关键词]英汉对照语言对 Wget 底表 MySQL数据库
[分类号]TP391
1 引言
英汉对照语言对的获取无论是对跨语言检索研究的开展,还是对辅助机器翻译和机器翻译系统的开发,都具有十分重要的意义:有助于跨语言检索自动衍生英汉双语词表和潜语义自动标注;可以为辅助机器翻译和机器翻译系统的开发提供基本的语法、语义和语用素材;同时也有助于英汉双语相关知识库的构建。由于受资金、技术以及人力等现实条件的限制,目前能被使用的英汉对照语言对不是规模太小就是对齐质量不能令人满意。以丰富的用户体验和互联网作为平台特征的Web2.0的迅速发展使得互联网上充斥着各种各样的信息资源,其中分布广泛和数量庞大的英汉对照语言对资源就是其中的一种。
随着文本挖掘和网页抓取技术的迅速发展,基于网络的英汉对照语言对自动获取越来越受到研究者的关注。叶莎妮等利用URL命名相似性获取双语候选网页自动发现命名规律,从而获取更多可靠的双语候选网页,同时侧重双语句对之间的互翻译性,有效地提高了双语平行句对抽取的召回率和准确率。该研究仅仅获取了句子对,对于词汇对、短语和段落对则没有涉及,同时也没有对句子对进行去重。吴琳等利用欧洲专利局的URL命名特点获取专利英文著录信息的详细网页实现网页的批量下载,采用正则匹配表达式提取出网页上的专利英文著录信息,与中文著录数据合并后存入数据库中。该文主要是获取专利领域的英汉对照语言对,对于其他领域和通用的英汉对照语言对则没有涉及。程岚岚提出了一种使用正则表达式的术语对抽取方法,在获取网页源文件的基础上,依据已定义的正则表达式从中抽取出正确的术语对。该方法的可移植性相对比较差,没有获取较复杂的短语对和句子对。张永臣等。基于从网络中获取的非平行英汉语料,提出了利用词间关系矩阵法从特定领域非平行语料中抽取双语词典的方法。由于种子词对英汉对照词汇对的抽取影响较大,获取的英汉对照词汇对质量并不高。
在前人研究的基础上,本文基于网络抓取工具,从拥有海量信息的网络上抓取了大量的网页,然后基于抽取程序,结合人工的语言学内省,初步构建了一个大规模的英汉对照词汇对、短语对、句子对和段落对数据库,其中句子对和段落对数据库可以初步构成一个英汉对照语言对语料库。
2 英汉对照语言对获取的基本流程
根据获取英汉对照语言对实验数据总结的经验,一个完整的获取英汉对照语言对的流程大致包括:
?确定抓取的网站。根据具体的研究需要和网络资源随机调查,初步确定所抓取网站。
?制定抓取词汇底表。基于大规模语料库的统计数据结合通过人工内省的方法增加相应的词汇知识,确定具体的抓取词汇底表。
?利用网络抓取工具自动获取含有英汉对照语言对资源的网页。在自动抓取的过程中,根据具体的抓取需要适当添加一些人工干预。
?英汉对照语言对的提取、去重和入库。从大规模网页中提取英汉对照语言对,在去重的基础上把英汉对照语言对自动存储到数据库中。
上面的基本流程如图1所示。
3 获取英汉对照语言对网站的确定
在确定抓取英汉对照语言对网站的过程中,主要考虑两个方面的问题:
3.1 抓取网站确定的标准
在确定抓取网站的标准上面,本文主要考虑三个方面,即网站数据的丰富性、优质性和共享性。
3.1.1 网站数据的丰富性网站数据是否丰富是确定抓取网站的一个基本指标。所谓网站数据的丰富性是指该网站上存在一定量的英汉对照语言对,并且语言对中一定要有短语对、句子对或段落对。笔者在确定网站资源丰富与否的过程中,结合大量的抓取实验,针对不同的语言对制定了一个初步的量化标准,具体如表1所示。
本文抓取过程中选定的网站基本上是根据表1中的量化指标确定的,但有时会根据语言对的具体数量作出一定调整,但不会与表1中的量化指标出人太大。
3.1.2 网站数据的优质性 网站数据是否优质是确定抓取网站的一个关键问题。所谓网站数据的优质性是指网站上的英汉对照语言对是否符合标准汉英/英汉语言学的表达。根据翻译学对语言翻译质量信、达、雅的衡量标准,网站数据的优质性大致可以分成“一般、较好、很好”三个层次。在具体确定网站数据的优质性层次上,根据随机从网站上获取数据的质量,结合汉语和英语语言学家的内省最终确定该网站数据的优质层次。
3.1.3 网站数据的共享性 网站数据的共享与否是确定抓取一个网站的基本保障。所谓网站的共享性就是该网站上的英汉对照语言对是否对外开放并与用户共享。根据抓取实验,绝大多数网络上的英汉对照语言对数据都是共享的,并采取与用户互动的模式促进这种共享性。在法律允许的前提下,基于纯学术的研究目的,根据网站的共享程度,本文利用不同的技术对这些共享的数据进行了各个层面不同程度的抓取。
3.2 抓取网站的确定和基本属性分析
在抓取网站标准的衡量下,本文初步确定了以下的抓取网站:沪江论坛、普特听力论坛、百度词典、谷词、句酷在线翻译、译典通、金山在线词典、海词、可可听力网和酷悠网。下面对这些网站的基本信息和英汉对照语言对的资源分布情况进行一个简单的分析。
3.2.1 抓取网站的基本信息抓取网站的基本信息如网址、网站类型等,如表2所示。
从表中可以看出,英汉对照语言对资源主要来源于外语学习网站,如各种论坛和门户,少量来自搜索引擎和门户自带的辅助工具。
3.2.2 抓取网站英汉对照语言对的资源分布情况依据确定抓取网站的标准,结合随机抽取出的抓取网页,本部分就抓取网站的语青对资源分布的情况进行一个简单的分析。数据丰富性有“不丰富、丰富、很丰富”三个级别,分别用“+、++、+++”表示;数据优质性分“一般、优质、很优质”三个级别,分别用“●、●●、●●●”表示;数据共享性分“共享性差。共享性一般、共享性好”三个级别,分别用“★、★★、★★★”表示。具体的分布情况如表3所示。
根据表3可知,近半数以上网站上的资源都是很丰富的;网站上数据的优质性一般;网络的共享性总体上非常好;绝大多数网站上都可以获取到词汇、短语和句子三个级别的语言对。
4 抓取底表的制定
抓取底表也就是抓取网页过程中的种子数据,在网页抓取的过程非常关键,在一定程度上将会决定网页抓取的速度、多少和质量。本文从纯学术研究的角度出发,结合语言研究中数据统计量的需要,基于语料 库和人工内省的方法在多次抓取实验的基础上制定了抓取底表。
4.1 抓取底表制定的流程
抓取底表制定的流程主要有基于语料库统计词表、结合人工内省完善统计词表和在抓取实验的基础上改进词表三个主要部分组成。
4.1.1 基于语料库统计词表 考虑到词表规模一定要能够尽可能多地涵盖各个领域,本文在统计词频的过程中使用了BNC(British National Corpus)语料库,因为该语料库是一个平衡语料库,并且规模达到了一亿词次,基本上能满足词频统计的需要。语料库样例如下:“ATO>The NNl>need PRP>fflr NN2>vohm―teers PRP>from NN2>churches,AVO>particularlyPRP>in NPO>Indun CJC>and NPO>Scotland PRP>in ATO>the NNl>day-time,VBZ>is ATO>an AVO>cveEAJO>constant PN>one,”。统汁的过程为:①从BNC语料库中用程序去掉每个词的词性标记和其他标记并转存到其他文本中;②根据英语的规则变换和不规则变换的特点,编写英语词汇形态变换程序以便于后续的词频统计;③用哈希表实现英语词频统计,具体使用c++完成程序设计。
4.1.2 基于人工内省和抓取实验制定抓取底表 在基于BNC语料库统计词汇表的基础上,结合人工内省的词汇表和抓取实验的具体表现,最终制定抓取底表。具体过程为:①用程序比对统计方法获取的词汇表和人工内省确定的词汇表,进而合并两个词汇表;②通过人工核对合并后的词汇表并增加其他的词汇,尽可能地扩大词汇表的规模;③在一定词汇量基础上通过逐步增加词汇的方法来进行抓取实验,观察当词汇达到何种数量的时候抓取实验是最理想的,即网页抓取速度快、数量多和质量高。本文通过上面的三个阶段,制定了一个含有47 218个英语词汇的抓取底表,具体样例如表4所示。
5 基于网络抓取工具抓取网页
5.1 具体的抓取工具
出于网页抓取要稳定性、跨平台性的考虑,本文主要使用的抓取工具是Wget’。Wget是一个在网络上进行下载的简单而强大的自由软件,其本身也是GNU计划的一部分。它的名字是World Wide Web和Get的结合,同时也隐含了软件的主要功能。目前它支持通过HTTP、HTTPS以及FTP三个最常见的TCP/IP协议下载。该抓取工具有下述优点:支持递归下载;恰当的转换页面中的链接;生成可在本地浏览的页面镜像;支持代理服务器。本文主要是使用该工具来获取网站服务器数据库中的英汉对照语言对资源,与其常规的从FTP和HTTP上直接下载文件有所区别。
5.2 抓取过程以及结果
?把抓取底表中的词汇与要抓取网站的网址绑定一起来形成抓取列表,构成一个个的抓取文件。具体的抓取文件生成程序和抓取文件样例分别如图2和图3所示。
?根据具体抓取数据的特性,设置抓取软件Wget的各种参数,从而满足特定的抓取需要。采集参数配置如图4所示。
?运行抓取工具Wset,并根据各个网站的共享程度作适当的调整,同时设置好存储位置以存放抓取结果。具体的抓取页面如图5所示。
在相对精确和适当的抓取底表基础上,结合高效的抓取工具Wget,本文较成功地完成了对网站含有英汉对照语言对网页的抓取。总体抓取了含词语对、短语对、句子对和段落对共1 567 891个网页。
6 网页中英汉对照语言对的提取、去重和入库
6.1 英汉对照语言对的提取
一方面,根据不同网页的标记语言特征和语言对在该网页中的分布特点,总结提取语言对的规则;另一方面,在总结的语言对提取规则的基础上,基于c++中的字符串类CString,通过设计程序把语言对字符串提取出来并临时存储到文本文件中。
6.2 英汉对照语言对的去重
由于抓取网页中存在着大量的重复页面并且有些网页的字符编码不一致,所以对于提取出来的语言对字符串必须进行去重处理和编码转换。去重的具体算法如下:从英汉对照语言对中取一个语言对ps,与所有语言对PS(s0,s1,…,sp-1)中的语言对逐个进行相似度计算,如果存在某一个句子psj与psj相似度超过设定的阈值,则psi不能作为一个新的语言对加入到Ps中,否则将psi添加到Ps中。算法的流程如下:①m=0;②计算psi和psm的相似度,如果判定相似则退出循环并输出,否则转到③;③m=m+1,如果m小于P则转到②,否则转到④;④将psi加入Ps中,p=P+1并退出。
根据英汉对照语言对重复的具体情况,英汉对照词汇对、短语对、句子对和段落对去重的阈值分别设置为1.00、0.90、0.85、0.80。为了解决编码不一致性的问题,去重后的语言对统一以UTF-8编码的方式存储。经过去重和编码转换,本文共获取了856 480对英汉对照词汇对、76 7892对英汉对照短语对、687 654对英汉对照句子对、56 786对英汉对照段落对。
6.3 英汉对照语言对的入库
考虑到语言对的数据规模比较大以及后续加工的需要,本文选择了MySQL数据库来存储语言对。之所以要选择MySQL数据库,是因为其有下面几个特点:可以运行在不同的操作系统系上,可移植性强;有安全权限和加密口令,安全性能好;支持上千万条记录的存储,数据存储量大。语言对在MySQL数据库中的存储样例如图6和图7所示。
7 结 语
本文针对特定的网站,在规模适当的抓取底表基础上,使用抓取工具获取了一定规模的网页。在抓取网页的基础上,本文从网页中获取了一定规模的英汉对照词汇对、短语对、句子对和段落对等语言对,初步构建了涵盖语义、语法和语用三个平面的英汉对照语言对资源。下一步将扩大网页抓取的范围,增加英汉对照语言对的规模,同时开发辅助校对工具对抓取的英汉对照语言对资源进行人工校对,进而提高语言对资源的质量。