搜档网
当前位置:搜档网 › 汉语句法树库检索系统的设计与实现

汉语句法树库检索系统的设计与实现

3 2006206229收到,2006209201改回

33 基金项目:国家自然科学基金(60473139)项目;山西省自然科学基金(20051034)项目资助。

333魏善德,男,1984年生,在读硕士,研究方向:中文信息处理;郑家恒,女,1948年生,教授,博士生导师,研究方向:中文信息处

理。

文章编号:100325850(2006)1120012203

汉语句法树库检索系统的设计与实现

D esign and Rea l iza tion of the Ch i nese Syn tax Treebank Retr ieva l System

魏善德 郑家恒

(山西大学计算机与信息技术学院 太原 030006)

【摘 要】句法树库是一项重要资源,它能为汉语语言研究和信息处理提供一个有利的数据平台。汉语句法树库检索的实现用到了流操作和GD I +图形操作。汉语句法库检索系统是基于句法树库的应用系统,提供了对句法树库的检索和统计,并且能够根据树库中的合法语句画出该语句的树状结构图,进而使用户对语句的句法结构有一个形象、直观的了解。

【关键词】句法树库,短语功能,短语结构

中图分类号:T P 311.52

文献标识码:A

ABSTRACT T he Syntax T reebank is a k ind of i m po rtant resources ,w h ich can p rovide an advantageous data p latfo r m fo r language research and info r m ati on p rocessing of Ch inese .T he realizati on of Ch inese Syntax T reebank retrieval system w ill uses techno logies of Stream and GD I +.T he Ch inese Syntax T reebank retrieval system is an app licati on system based on Syntax T reebank ,w h ich offers search and statistics to the Syntax T reebank ,and can draw the dendrifo r m structure chart fo llow ing the legiti m ate sentence of the T reebank ,and then enable the user to have a vivid ,intuiti onist understanding of the sentence structure .KEYWOR D S Syntax T reebank ,ph rase structure ,ph rase functi on

句法标注作为分词、词性标注和语义标注的中间环节,有着承上启下的重要作用。一个好的句法树库将为下一步的语义标注工作打下良好基础。句法树库蕴涵丰富的句法信息,它为研究者提供带有句法标记的汉语真实文本素材,使之能够从中获得有关句法的各种信息。句法树库还可以进行数据统计、例句抽取等工作,为汉语语言学、计算语言学等领域的研究提供便利条件。

目前,人们对汉语句法树库的研究侧重于句法的分析,对已有的句法树库的利用研究报道不多。本文阐述的汉语句法树库检索系统是基于句法树库的应用系统。检索功能使得研究者可以从短语功能或结构入手,考察某一特定类型短语的内部构造模式。统计功能可以提供有关各短语功能或短语结构的出现次数和频率。句法树显示模块可以为汉语语言学习者提供语句的句法树,能够使学习者对语句的句法结构有一个形象、直观的了解。

1 系统的设计

汉语句法树库检索系统是一个基于句法树库而设计的系统,它包括检索、统计、句法树显示三个模块。本系统使用的句法树库为国家语言应用研究所提供。本

系统设计为三个功

能模块:

●检索模块:根据用户给定的检索条件从树库中检索出符合条件的所有语句。

●统计模块:对

指定的句法树库进行短语统计及错误统计。

●句法树显示模块:根据用户选择的语句,画出该语句的树状图即句法树。

本系统的系统层次如图1所示。

2 检索功能的实现

检索模块提供对句法树库所在目录的选择功能。在选择了检索目录后,用户就可以根据需要选择短语功能检索、短语结构检索和词语检索三种方式中的任何一种进行检索。三种检索方式所调用的检索函数是同一个函数的,只需将需要检索的短语标记或词语当作字符串参数传递给检索函数即可。

检索算法的步骤如下:

?21?(总694)

汉语句法树库检索系统的设计与实现2006年 

①判断句法树库目录sPath是否存在,如果不存在执行12,否则执行2;②算法初始化i=0,found= false,将需要查找的字符串赋值给ttf;③根据sPath 查找出sPath目录下的所有文本文件名称,放入数组sF iles中;④读取数组sF iles的元素,判断数组是否结束,如结束,执行11,否则将数组元素赋值给sF ile,执行5;⑤根据sF ile,建立Stream R eader对象sr;⑥按行读取文件sr.readline(),赋值给line;⑦如果line= nu ll,执行10;⑧如果line.indexof(ttf)==-1,执行6。⑨在rich tex tbox1中追加line,i++,found=true,执行6;βκsr.clo se(),执行4;βλ如果found=false,提示查无结果,执行13;βμ提示路径不正确;βν结束。

3 统计功能的实现

3.1 短语功能和短语结构统计的实现

在现代汉语中,对短语分类一般采用两种标准即:短语结构分类和短语功能分类,所以有必要对各种短语结构和短语功能在句法树库中出现的次数和频率进行统计。统计算法的步骤如下:

①判断句法树库目录sPath是否存在,如果不存在,执行16;②算法初始化,声明两个整形数组num1、num2,分别用于记录各短语功能和短语结构出现的次数。③根据sPath查找出sPath目录下的所有文本文件名称,放入数组sF iles中;④读取数组sF iles的元素,判断数组是否结束,如结束,执行15,否则将数组元素赋值给sF ile,执行5;⑤根据sF ile,建立Stream2 R eader对象sr;⑥按行读取文件sr.readline(),赋值给line;⑦如果line=nu ll,执行14,否则执行8;⑧i= 0;⑨如果i

3.2 统计短语标记错误功能的实现

短语标记的错误统计的算法与短语统计的算法相似,只需将算法中的βλ、βμ中的查找短语标记改为查看短语标记是否存在。如果不存在,则输出错位标记所在的文件名、错误行数和错误的标记。

4 句法树显示功能的实现

句法树显示模块根据句法树库中已经进行分词、词性标记和短语标记的语句画出语句的句法树。其难点是词语和短语功能标记的定位问题,以及短语间的层次划分问题。

标准的句法树库例句如下:

①[BH[Z W肖邦 nh[ZZ[ZC愤慨 a地 u]D P [ZZ断然 d[SB加以 v拒绝 v]V P]V P]V P]SP 。 w]DJ

②[BH[Z W[D Z高丽 n s王朝 n]N P[ZZ大力 d[SB加强 v[D Z中央 n权力 n]N P]V P]V P] SP。 w]DJ

仔细分析上述例句会发现这样的规律:

●在语句中利用”[”与”]”来划分短语之间的层次,属于同一层次的短语用相应的”[”与”]”来标记。

●词语及其词性标记之间用” ”来连接,词语与其它的词语、短语标记之间用空格来分开。

●在”[”后出现的是这一层次的短语结构标记,在”]”后出现的是这一层次的短语功能标记。

算法的主要思想:利用”[”和”]”来确定短语之间的层次。词语及其词性往往出现在句法树的最底层,而且句法树中的词语从左到右按在语句中出现的顺序排列。利用词语之间的相对位置来确定短语标记的相对位置,然后根据层次关系画出词语与短语标记、短语标记与短语标记之间的连线。

句法树显示模块的主要函数如下:

●p ub lic boo l check(string tex tToCheck);该函数用于检查语句是否合法;

●pub lic string w i peoff(string tex tToC lear);该函数用于去除符号"["后面的短语结构标记,因为画句法树不需要短语结构标记;

●p ub lic string in sert(string tex tTo In sert);该函数用于在符号"]"的后面加入一个空格,从而便于将语句分成一系列的字符串,这些字符串只包含”[”、”]”、词语及其词性和短语功能标记,并且按在语句中出现的顺序存放在一个数组中;

●p ub lic vo id locati on(string[]str,Po in tF[]p t, in t n);该函数用于词语和短语标记的定位;

●p ub lic vo id draw(string[]str,Po in tF[]p t,in t n);该函数用于画出词语、短语标记及其它们之间的连线,使之成为一棵完整的句法树。

5 实验结果及分析

5.1 检索模块的实验结果及分析

检索模块能够实现根据用户选择的检索方式和指定的检索条件对句法树库进行检索,返回符合条件的语句,并在检索结果中使检索字符串高亮显示。

在此,以词语检索方式来测试系统。将下列语句分别复制到第一个句法树库文件的第一句和最后一个句

?

3

1

?

 第19卷 第11期电脑开发与应用(总695)

表1 短语功能的统计结果

短语功能标记个数出现比例

名词短语np26709331385%

数词短语mp3501041%

量词短语qp172821160%

动词短语vp25478311847%

形容词短语ap261031262%

副词短语dp10001125%

时间短语tp2401030%

区别词短语fp201003%

介词短语pp252631157%

连词短语cp201003%

叹词短语ep00%

拟声词短语op00%

主谓短语sp131********%单句dj 762691532%

复句fj00%非法功能1501019%

表2 短语结构的统计结果

短语结构结构个数出现比例

补充结构BC113211415%

标号结构BH9816121270%

重叠结构CD3301041%

定中结构D Z185********%

方位结构FW104211302%

复指结构FZ19201240%

介宾结构JB249831122%

兼语结构JY33801422%

并连结构L C14801185%

联合结构(并列)L H145211814%

连谓结构(连动)LW91211140%

派生结构(附加)PS38201477%述宾结构SB12201151251%

数量结构SL168821110%

助词结构ZC9172111465%

主谓结构Z W10647131308%

状中结构ZZ9811121263%

缺省结构XX1001012%

非法结构1501019%

法树库文件的最后一句:

[BH[Z W[D Z[ZC[D Z法兰克 n s王国 n]N P 的 u]N P版图 n]N P[ZZ一再 d扩大 v]V P]SP 。 w]DJ。

当输入“王国”进行检索时,能够检索出分别位于最前端和最后端的这两条语句。

实验结果表明:检索模块提供的三种检索方式都能够实现对句法树库的完全检索。

5.2 统计模块的实验结果及分析

在本系统使用的近10000语句的句法树库中,词语总数为923338,短语总数为80002。短语功能和结构的统计结果如表1和表2所示。

实验结果表明:各种短语结构、短语功能标记出现的频率有着很大的差距。而且,虽然短语标记存在着错误,但正确性却很高。

5.3 句法树显示模块的实验结果及分析

句法树显示模块的功能是画出已经进行分词、词性标注和短语标记的语句的句法树。

例如:[BH[Z W肖邦 nh[ZZ[ZC愤慨 a地 u] D P[ZZ断然 d[SB加以 v拒绝 v]V P]V P]V P] SP。 w]DJ

其句法树如图2所示。

实验结果表

明:句法树显示模

块不但能够画出合

法语句的句法树,

而且还具有一定的

容错性,能够检查

出如下类型的错

误:

●语句中的”[”

与”]”的数目不等

或次序有错误即短

语的层次划分不正确;

●在”[”后出现的不是这一层次的短语结构标记,在”]”后出现的不是这一层次的短语功能标记。

当出现以上类型的错误时,系统能够提示用户语句不合法。

6 结束语

本文在汉语句法树库检索系统实现的基础上,分别从检索模块、统计模块和句法树显示模块三个方面对该系统的设计与实现进行了阐述,并对实验的结果进行了分析。希望本文对从事中文信息处理的研究人员在句法树库研究方面有参考价值。

参考文献

[1]唐 耀.C#程序设计实用教程[M].北京:中国水利出

版社,20051

[2]《电脑编程技巧与维护》杂志社.C#编程技巧典型案

例解析[M].北京:中国电力出版社,20051

[3]刘开瑛,郭炳炎.自然语言处理[M].北京:科学出版

社,19911

?

4

1

?(总696)汉语句法树库检索系统的设计与实现2006年 

相关主题