一种新型词频统计方法及其在对外汉语教学中的应用
- 格式:pdf
- 大小:173.67 KB
- 文档页数:7
108
2010・1
摘要:在对外汉语教学活动当中,我们需要用到各种形式的词频统计结果。为满足这种需求,本文
在现有词频统计方法的基础上提出了一种快速准确的词频统计方法。我们在词频统计过程中首先引入了可
替换的标准词典,另外还专门建立了专有词汇词典,这样不仅可以减少冗余词的出现,提高统计的速度,
而且可以更换词典,使统计更加灵活。我们的教学实践证明,该词频统计软件的结果对于对外汉语教学和
教材编写都起到了很好的指导作用。
关键词:对外汉语教学词频统计分词最大匹配法
1.引言
汉语国际推广活动的深入发展对对外汉语教材编写和教师教学提出了越来越高的要求。
这种国际形势要求对外汉语教师使用更加客观、科学的手段来量化教学元素。比如在对外
汉语报刊课教学中如何更加科学、系统地进行词语教学;在教材编写过程中,如何科学地
安排不同级别词语的出现频率和顺序;在中介语语料库的建设过程中,如何选取语料,这
些都需要用到词频统计的方法。
近年来,语言学界、人工智能领域和情报检索界的学者们,在汉语自动分词方面进行
了大量的研究,找到了许多解决汉语分词的方法,归纳起来大概有:最大匹配法、逆向最大
匹配法、逐词遍历法、设立切分标志法、最佳匹配法、有穷多层次列举法、二次扫描法、高
频优先分词法、基于期望的分词法、联想——回溯法、双向扫描法、邻接约束法、扩充转移
网络分词法、语境相关法、全自动词典切词法、基于规则的分词法、多遍扫描联想法、部件
词典法、链接表法、最少分词词频选择法、专家系统分词法、基于神经网络的分词方法等。
一个最基础的词频统计算法主要包括以下几个部分:
(1)将被统计文本读入计算机内存,转化成字符串。计算机对于串变量的存储,主要
有两种方法:数组表示和指针表示。
(2)汉字的识别与词语匹配。字符的识别是词频统计的前提条件,按照GB2312-80《信息交换用汉字编码字符集—基本集》
GB2312码是中华人民共和国国家汉字信息交换用编码,全称《信息交换用汉字编码字符集—基本
集》,标准号为GB2312—80,由国家标准总局发布,1981年5月1日实施,通行于大陆,新加坡等地也使
用此编码,此编码又称为国标码。一种新型词频统计方法及其在对外汉语教学中的应用
杨泉冯志伟
区位1—9区
16—55区
56—87区表1:GB2312—80区位及其含义
区位代表的含义
外文字母及其它图形字符
第一级汉字
第二级汉字数量
682个
3755个
3008个109
词语匹配是词频统计的另一个重要操作,算法的基本思想是:从主串中的第一个字符
起和模式中的字符比较,若相等,则匹配成功,否则继续,依此类推,直至结束。
(3)根据不同的需求,输出打印统计结果。
本文结合教学活动中的实际需求,在现有词频统计方法的基础上提出了一种快速准确
的词频统计方法。我们在词频统计过程中首先引入了可替换的标准词典,这样不仅可以减
少冗余词的出现,而且可以提高统计的速度。我们在标准词典当中适当增加规则,结合新
的可回溯算法大大提高了统计的精确度。该词频统计软件的标准词典可以更换,这样可以
满足不同的统计需求。另外我们还专门建立了专有词汇词典,专有词汇词典的加入可以辅
助我们更加准确地统计文章中的专有词汇。我们的教学实践证明,该词频统计软件的结果
对于对外汉语教学和教材编写都起到了很好的指导作用。
2.基于可更换词典的词频统计
为了满足对外汉语教学活动中的各种不同需求,我们提出了一种新的词频统计方法。
在该方法中我们首先引入了词典匹配的方法,我们可以以《现代汉语词典》为基础,在被
统计文本中仅统计词典中出现的词,这样可以提高统计的速度,并且可以扩大被统计文件
的规模。该方法的另外一个优点是可以灵活地更换词典,这在教学活动中尤其重要。例如我们可以将词典换为《汉语水平词汇与汉字等级大纲》
《汉语水平词汇与汉字等级大纲》,北京语言学院出版社1992年版,以下简称《大纲》。一种新型词频统计方法及其在对外汉语教学中的应用
110
2010・1
while(
i<=n)
{
if(
isLtnChar(
p[
i])
&&isLtnChar(
p[
i+1])
&&isLtnChar(
p[
i+2])
&&isLtnChar
(
p[
i+3]))
{
if(
该四字为词)
{
i=i+4;continue;}
elseif(
前三个字为词)
{
i=i+3;continue;}
elseif(
前两个字为词)
{
i=i+2;continue;}
elseif(
第一个字为词)
{
i=i+1;continue;}
}
elseif(
isLtnChar(
p[
i])
&&isLtnChar(
p[
i+1])
&&isLtnChar(
p[
i+2]))
{
if(
该三字为词)
{
i=i+4;continue;}
elseif(
前两个字为词)
{
i=i+2;continue;}
elseif(
第一个字为词)
{
i=i+1;continue;}
}
elseif(
isLtnChar(
p[
i])
&&isLtnChar(
p[
i+1]))
{
if(
该两字为词)
{
i=i+2;continue;}
elseif(
第一个字为词)
{
i=i+1;continue;}
}
elseif(
isLtnChar(
p[
i]))
{
if(
该字为词)
{
i=i+1;}
Else{
i=i+1;}
}
说明:第一步中我们把词典首先按照词的字数进行分类,在匹配时不同个数的词分配
到不同的词典中进行匹配,这样可以降低匹配的复杂度,从而加快匹配的速度。
第二步中我们要把被统计文本读入到内存当中,受内存容量的限制,被统计文件的大
小有一定要求,因此我们在读取时可以每次读取部分内容到内存,依次进行,这样不会影
响统计的结果,并且我们还可以把文件分为几个小文件分别进行统计,最后再汇总即可。
第三步中判断下一个字符是否为汉字时有几种情况:如果一个汉字后面的字符是标点符号或英文字符,那么该字肯定不能和其后面的任何字符组合成词。但如果一个汉字后面111
的字符是空格,那么它还有可能和后面的汉字构成词语,因此我们在处理时遇到空格应该
直接忽略。
在匹配过程中我们使用了最大成词匹配的思想,比如一个四字的成语,它可能被分成
两个词,每个词分别含有两个字,如果我们按照从前到后、由少到多的顺序往往得不到该
四字的词,而是得到两个二字词。因此,我们采取一次提取四个字的办法,一旦这四个字
被证明是词,那么即使内部能够出现两个字或三个字的词,我们也不再进行处理,而只把
这四个字做为一个词来处理。
显然该算法遇到四个字以上的词是无法统计的,为了提高统计效率我们可以专门收集
四字以上的词做成专有词汇词典进行统计。
下面我们以“用带词典的词频统计方法,能达到事半功倍的效果”一句为例来说明该
方法的统计过程。我们首先把这句话转化成字符串S,然后逐步开始判断。
1)前四个字符都是汉字,但是“用带词典”在词典中无匹配;
2)前三个字符“用带词”也无匹配;
3)前两个字符“用带”无匹配;
4)第一个字符“用”是词,其频数加一,当前位置后移一位;
5)取“带词典的”四字得到词“带”,其频数加一,当前位置后移一位;
6)取“词典的词”四字得到词“词典”,其频数加一,当前位置后移两位;
7)取“的词频统”四字得到词“的”,其频数加一,当前位置后移一位;
8)取“词频统计”四字得到词“词频”,其频数加一,当前位置后移两位;
9)取“统计方法”四字得到词“统计”,其频数加一,当前位置后移两位;
10)取“方法”二字得到词“方法”,其频数加一。由于“方法”后面有标点符号,在
判断完该词后,把当前位置移到标点以后。
11)对后面的字符串进行同样的操作可以得到“能”,“达到”,“事半功倍”,“的”,“效
果”等词。
以上算法的复杂度并不高,这个统计过程如果所有的字都不能组合成词,每个字作为
字首都要进行四次匹配,假设文本长度为n,则总的匹配次数为4n次,但在实际当中字与
字组词之后可以大大减少匹配次数。
3.基于规则的可回溯词频统计算法
上述算法能够快速处理大量的数据,得出想要的结果,但是我们发现,它仅能给出可
能出现的词的组合,与真实的词频数难免会有一些小的误差。当我们用这些词频统计结果
去做一个词表时,这些小的误差对词表不会有太大的影响词;但是如果在教学活动中,我
们要统计一本教材或一篇文章中有多少大纲词汇或超纲词汇,这时对词频统计的精度就会
有非常高的要求。但是众所周知,现代汉语的书写形式跟西文的书写形式不同,词和词之
间没有显性的分隔标记,只有句与句之间有显性的标点符号作为分隔标记,这种字字相连
的书写形式给词频统计带来了很大的麻烦。因此对汉语文本进行词频统计,首先就要对一
个句子中的词语进行准确地切分,这就是分词。为了更加准确地统计词语出现频率,我们一种新型词频统计方法及其在对外汉语教学中的应用