APP下载

基于Web的动态语料库构建*——以中国政治新闻语料库建库为例

2013-05-28韩朝阳

中国教育技术装备 2013年23期
关键词:具体内容语料语料库

◆韩朝阳

作者:韩朝阳,硕士,上海杉达学院嘉善校区副教授,研究方向为语料库语言学、计算机辅助外语教学(314100)。

网络能为语料库的构建提供丰富实时的语料。由于不同网站的结构不尽相同,网页内容又呈现结构化和半结构化特征,这使得如何从网络汲取语料成为基于网络构建语料库的首要问题。同时,如何对汲取后的语料进行整合和组织,也是基于网络构建语料库不容忽视的问题。以基于网络构建动态中国政治新闻语料库为例,从网站结构分析、网页下载以语料汲取的技术实现、语料的XML结构化重组等方面,阐述如何在软件的辅助下从中国日报网站自动汲取语料并构建语料库的实现过程。

政治新闻语料库不仅要具有时效性,而且要具有真实性和权威性。其时效性就是指在构建语料库时要及时采集那些实时新闻报道语料;真实性和权威性则要求采集的新闻语料一定要出自权威机构。

随着现代信息技术的发展和普及,网络(Web)已成为目前容量最大、速度最快的信息传播平台。网络语料的时效性是传统媒介(如报纸、期刊等)无法比拟的,网络无疑应为政治新闻语料的主要采集地[1]。就政治新闻的权威性来讲,目前,大家比较认可的发布中国政治新闻英文报道的权威网站主要有新华网(English.news.cn)、人民网(English.peolopledaily.com.cn)和中国日报网(Chinadaily.com.cn)等[2]。

通过对这三家网站的分析比较,笔者发现:1)就新闻的英文报道本身的来源看,这三家网站经常互相引用,从而可只关注一个网站也能在一定程度上满足语料采集抽样的平衡性;2)目前只有中国日报网有一个专门报道中国政治新闻的频道(china/politics),且每篇新闻报道的HTML页面中还包含该篇报道的摘要、关键字等信息,而这些信息可为采集的语料提供更为丰富的标注内容。因此,笔者认为,对于中国政治新闻语料库的创建,可以基于中国日报网的中国政治新闻频道来采集语料。

本文将从中国日报网政治新闻频道的结构分析、网页下载、语料汲取、语料XML结构化重组等方面,详细介绍如何基于该网站设计开发一个能够实现自动构建动态实时中国政治新闻语料库的计算机软件。

1 中国日报政治新闻频道结构特征分析

中国日报的中国政治新闻频道(以下简称政治新闻频道)采用“列项页(list page)”和“具体内容页(content page)”的二层结构模式进行新闻内容的导航。列项页中列出每篇新闻的标题,通过鼠标单击其中的一个标题项,即可进入包含该篇新闻详细报道的具体内容页。该结构模式也是目前其他新闻类频道最常用的模式之一。有些学者又把“列项页”称为“多记录页”,“具体内容页”称为“单记录页”[3]。

政治新闻频道采用“先进先出”的队列原则,即该频道始终只提供200个“列项页”,除第1页的URL地址为“http://www.chinadaily.com.cn/china/governmentandpolicy.html”外,其他页面分别按照页码进行有规则编排,如第2页的URL(Uniform Resource Locator,指网页的链接地址)为“http://www.chinadaily.com.cn/china/governmentandpolicy_2.html”,第3页的URL为http://www.chinadaily.com.cn/china/governmentandpolicy_3.html。同理,第200页的URL为“http://www.chinadaily.com.cn/china/governmentandpolicy_200.html”。以此为规律,可设计软件实现自动生成每个“列项页”的URL,并循环下载所有政治新闻频道的“列项页”[1]。

虽然不同网站“列项页”的内部结构不尽相同,但一般情况下,同一个网站特别是同一频道下的所有“列项页”的结构相同[4]。同样,政治新闻频道的200个“列项页”的内部结构框架也是相同的,如每个页面都只有12条列项(标题),每个列项的html标签(tag)也相同等。因此,可设计软件实现自动解析每个“列项页”的内容,从而批量获得各个“列项页”的所有政治新闻报道的标题以及与这些标题对应的“具体内容页”URL。

同理,根据“具体内容页”的URL,可设计软件实现自动获得每个“具体内容页”。由于多数大型网站在上传文本数据(如新闻报道的内容)时一般都采用确定内容格式的上载工具,所以这些同一类数据内容在浏览器中展示时也会采用相同的HTML结构格式。通过观察分析,发现政治新闻频道的“具体内容页”也没有例外,它们同样采用相同的HTML结构格式来展示新闻内容。因此,可设计软件实现自动解析“具体内容页”的内容,并汲取到目标语料。

通过以上的观察和分析,笔者认为通过设计开发软件来对政治新闻频道提供的语料进行自动汲取具有一定的可行性。下面是设计的通过软件实现自动汲取语料并构建中国政治新闻语料库的主要流程步骤:

步骤1:下载“列项页”;

步骤2:汲取“列项页”中的信息,创建“具体内容页”的URL列表;

步骤3:开始循环下载URL列表中每个列表项对应的“具体内容页;

步骤4:汲取“具体内容页”中的有用语料信息;

步骤5:按照统一的XML结构重新组合这些语料信息;

步骤6:把包含语料信息的XML文件保存到相应的位置;

步骤7:判断URL列表是否循环完毕,若没有执行完毕就继续从步骤3开始,否则结束本次操作。

2 网页下载

网页下载是指软件根据给定的URL,自动从网络上把与该URL对应的网页内容以数据流的形式下载到本地计算机,然后以文本形式重新编码并输出,其机理为:1)软件通过网络向给定URL所在的服务器发出下载请求并与该服务器建立数据通道;2)服务器对下载请求验证审核后,通过数据通道向软件提供URL对应网页内容的数据流;3)软件接收数据流后,对数据流以文本的形式进行重新编码并输出[1]。

在网页自动下载模块开发过程中,通过使用C#程序开发语言,编程并调用微软.net平台提供的HttpWebRequest[5]和HttpWebResponse[6]两个类中的Create方法和GetResponse方法,实现软件自动向中国日报网站服务器发出下载请求、建立数据通道以及接收数据流等功能,从而实现软件自动从中国日报网站下载相应的网页。

在中国政治新闻语料库构建过程中,主要有两个地方需要调用网页自动下载模块,分别是下载指定的“列项页”和下载指定的“具体内容页”。以下载政治新闻频道的第一个列项页为例,在建库过程中,只需向网页下载软件模块提供表示第一个列项页的URL字符串(http://www.chinadaily.com.cn/china/governmentandpolicy.htm),网页下载软件模块就会自动向中国日报网站的服务器发出请求并下载到该页面的HTML文本[1]。

3 网页内容解析

由网页下载软件模块下载的“列项页”HTML文本和“具体内容页”的HTML文本不仅包含需要提取的信息,同时包含HTML标签以及其他信息(如广告等)。这就要求开发能够解析这两种HTML文本的软件模块来自动汲取需要的内容。HTML文本是有一定结构的文本,找出它们内部的结构特征,就可编写软件,利用正则表达式自动提取出需要的文本内容[1]。

图1 HTML文本中一条新闻标题及其相关信息表示方法

图2

以图1所示“列项页”的部分HTML文本为例(2013年7月3日 20:08下载),很容易观察到需要提取的每一条新闻的标题以及其相关信息都是以“

  • ”结尾。由于该结构在“列项页”HTML文本的其他地方没有出现过,因此可作为每一条新闻标题的结构特征。根据此特征,网页解析软件可利用正则表达式“
  • s+”把所有的新闻标题及相关信息在HTML文本中自动匹配出来并进行循环提取。

    以图1所示为例,通过解析软件,可以得到该条新闻相关信息:

    1)标题是“Chinese VP meets with Ugandan PM”;

    2)对应“具体内容页”的URL是“2013-07/03/content_16711033.htm”;

    3)发布时间是“2013-07-03 00:13”;

    4)内容摘要是“Chinese Vice President Li Yuanchao met with Uganda's Prime Minister Amama Mbabazi on Tuesday”。

    将这些信息以XML节点的形式重组、整理(如图2所示)并添加到一个存储新闻列表的XML文件(以下称为新闻列表XML)中,解析软件则完成从当前“列项页”HTML文本中解析和提取一个新闻标题及相关内容的操作。通过循环,解析软件即可完成当前整个“列项页”HTML文本中所有新闻标题及相关内容的解析和提取。

    图2中节点“f”的“id”属性值“201307030013_16711033”是由发布时间字符串“2013-07-03 00:13”和URL中的“16711033”组合而成,这样可以确保该新闻编号的唯一性;

    “download”属性标记该新闻的“具体内容页”是否已经下载过,若已经下载,该属性值将设为“y”;“token”属性用来表示该篇新闻所包含的总单词数。软件完成“列项页”HTML内容的下载、解析和提取后,就会自动基于新闻列表XML文件自动创建将要下载的“具体内容页”URL列表,并准备开始下载这些URL对应的“具体内容页”。解析“具体内容页”的方法与“列项页”HTML文本内容的方法基本一致,只是某些具体的操作如软件调用的正则表达式、解析提取的内容项等不同,因此关于“具体内容页”HTML文本内容的解析本文就不再赘述[1]。

    4 用XML形式重新组合语料信息

    网页下载软件模块根据新闻列表XML文件提供的“具体内容页”URL下载列表,逐一循环下载所有包含政治新闻内容的“具体内容页”。当对其中一篇的HTML文本进行解析和提取完成后,并自动把提取结果和新闻列表XML文件中与该新闻对应节点的内容进行整合,整合后的一篇以XML结构的政治新闻语料将以该新闻的编号作为文件名保存在计算机相应的位置。

    以XML形式表示的一篇政治新闻语料包括头信息和正文两大部分。头信息是指这篇政治新闻语料的一些基本属性,如编号、发布日期、作者、关键词、摘要、单词总数等。在政治新闻XML文件中,头信息保存在“head”节点中。正文是指新闻语料的具体内容,它记录在XML文档的“content”节点中。同时,正文信息的每个段落内容都用节点“p”来标注。若以日期作为语料库的存储架构,那么本篇政治新闻的XML文件,将会以“201307030013_16711033.xml”作为文件名被保存到计算机磁盘的“20137”文件夹中,文件夹路径字符串中的2013表示2013年,07表示7月。

    5 结语

    设计开发软件实现对政治新闻频道实时监控、下载、解析、语料的重组、保存等自动操作即可构建动态的实时政治新闻语料库。本文介绍了如何基于中国日报网站使用软件自动构建动态政治新闻语料库的方法和步骤,为网络新闻语料库的开发与自动构建提供了一条新的途径。利用网络建开放的、动态的、时空上继承而连续的新型语料库是语料库语言学发展的一个趋势。面对纷繁复杂的网络语料,如何实时监控、汲取、挖掘网络语料是语料库构建首要面对和解决的问题,希望本文能对该问题的探索解决起到一定的启示[1]。

    [1]韩朝阳.网络数据挖掘在平行语料库中的应用研究[D].河南:河南师范大学,2012.

    [2]黄志辉.中国英语新闻网站研究[D].南昌:南昌大学,2006.

    [3]王晓东,王靖.基于Ontology的Web语料的挖掘[J].河南师范大学学报:自然科学版,2006(4):43-45.

    [4]李键,徐超,谭守标.一种Web数据挖掘系统的设计和研究[J].计算机技术与发展,2009(2):70-73.

    [5]HttpWebRequest Class[EB/OL].http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest(v=VS.100).aspx.

    [6]HttpWebResponse[EB/OL].http://msdn.microsoft.com/zh-cn/library/system.net.httpwebresponse.aspx.

  • 猜你喜欢

    具体内容语料语料库
    送妈妈一沓“女王券”
    《语料库翻译文体学》评介
    艺术品被盗
    基于语料调查的“连……都(也)……”出现的语义背景分析
    华语电影作为真实语料在翻译教学中的应用
    基于JAVAEE的维吾尔中介语语料库开发与实现
    问题1:创伤性颅脑损伤Glasgow昏迷评分(GCS)的具体内容包括哪些方面?
    城市建设多规融合项目的具体内容
    《苗防备览》中的湘西语料
    国内外语用学实证研究比较:语料类型与收集方法