(计算机软件与理论专业论文)汉语语句的计算机分析.pdf_第1页
(计算机软件与理论专业论文)汉语语句的计算机分析.pdf_第2页
(计算机软件与理论专业论文)汉语语句的计算机分析.pdf_第3页
(计算机软件与理论专业论文)汉语语句的计算机分析.pdf_第4页
(计算机软件与理论专业论文)汉语语句的计算机分析.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机软件与理论专业论文)汉语语句的计算机分析.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

a b s t r a c t m a j o r i t y t i t l e : a u t h o r : t u t o r : a b s t r a c t c o m p u t e r s c i e n c ea n dt h e o r y a n a l y z e c h i n e s es e n t e n c ei nc o m p u t e r w ux u e m i n y a n g g u o w e i t h i st 1 1 e s i s m a i n l y d i s c u s s e dt h e d e s i g n i n gt h o u g h ta n d i t s r e a l i z i n g m e t h o do fc h i n e s es e n t e n c e a n a l y s e i n c o m p u t e r i t i n c l u d es i x c h a p t e r s : c h a p t e rl b r i e f st h ep r o s p e c ta n dc u r r e n ts i t u a t i o no fc h i n e s e s e n t e n c e a n a l y s e s c h a p t e r 2 d i s c u s s e st h ef u n c t i o na n d s t r u c t u r eo fc h i n e s es e n t e n c e s a n a l y s e ss y s t e m c h a p t e r 3 d e t a i l e d l y i n t r o d u c e st h ef u n c t i o na n dp r i n c i p l eo fas u b p r o g r a m t h a ts p l i t sas e n t e n c ei n t ow o r d s i te m p h a s i z e st h em e t h o d st oh a n d l e c o m p l e xs e n t e n c e s ,t h e n ,w ed i s c u s sh o w t oi u d g et h ea t t r i b u t e o fw o r d st h a ta r es p l i tf r o mt h es e n t e n c e c h a p t e r4a n dc h a p t e r5 d i s c u s st h em o s ti m p o r t a n ta n dd i 硪c u l tp a r t so fo u rp r o g r a m :t h e t h e o r yt oa n a l y s i st h ec o m p o n e n to fo r i g i n a ls e n t e n c e i nc h a p t e r 4 , w ed i s c u s sh o wt od i v i d eas e n t e n c ei n t os e v e r a l c o m p o n e n t s u c h a s s u b j e c t ,p r e d i c a t e ,o b j e c t ,a n ds oo n i n c h a p t e r5 ,w em a i n l y d i s c u s sh o wt o a n a l y z ec l a u s e s e n t e n c e si n c h a p t e r6b r i e f st h e c h a r a c t e ro ft h e p r o g r a m f i n a l l y , i nc l o s i n gc o m m e n t s ,w e c o n c l u d et h ep r e v i o u sd i s c u s s i o n ,p o i n t so u tt h ed r a wb a c ko fo u r p r o g r a ma n d s u b m i t ss e v e f a 】p o s s i b l es o l u t i o n s k e y w o r d s :w o r ds e g m e n t a t i o n | w o r da t t r i b u t e | s e n t e n c e a n a l y s i s d i s c o u r s em a r k e r 摘要 学科专 论文题 硕士生 导师: 摘要 本论文主要是研究利用计算机分析汉语语句。在论文中,详 细介绍了汉语语句分析系统的算法思路和具体实现。,本文一共包 括六章。 第一章主要是介绍目前国内汉语语句计算机分析的发展和现 状。第二章介绍了本汉语语句分析系统的主要算法和功能,并给 出了整个系统的结构框架图。第三章主要讨论了怎样把一个句子 分解成一个词语的序列,并在词类搭配的基础上,判断词语的词 性。第四章和第五章是本论文的重点所在,主要讨论了对汉语句 子的处理算法和具体实现。在第四章中,主要阐述利用谓语中心 法判断简单句的各个成分。第五章更进一步讨论利用关联词语对 各种复旬进行处理的算法和实现。第六章主要介绍了编辑器软件 的特点和人机交互功能。最后,我们在结束语中,对前面各章的 论点进行了一个总结,对存在的不足之处,提出了可能的解决方 案。1 关键词:汉语分词词性汉语语句分析关联词语 析分“v算 、f 件的 授 软句 教机语敏纬算语雪国计汉吴杨 业目: 前言 第一章前言 目前,计算机语言学的研究正在不断深入进行,许多新科技, 新发展也是建立在计算机语言学的基础上面的,如i b m 的语音识 别系统,市面上流行的英、汉、日、法四国语言互译系统,尽管 都有其不尽如人意之处,但相对于以前,已经取得了很大的进展。 电脑是否会取代人脑,计算机是否会威胁人类的生存,目前 尚存争议。但自计算机问世以来,人类一直致力于让计算机更加 人性化,更加能和人类相沟通,这是不争的事实。 人类和计算机的交流从机器语言、汇编语言、到目前的高级 语言,从命令行界面到目前盛行的图形界面,经历了翻天覆地的 变化。但要计算机能理解人类的自然语言,尽管无数先行者付出 了许多心血,这一理想的实现还尚需时日。 在中国,无数前辈,包括计算机行业和语言学行业,为了让 计算机能理解处理汉语,进行了不懈地努力。他( 她) 们使我们 悠久的民族文化和现代的高科技结合在一起,为弘扬民族文化作 出了不可磨灭的贡献。 不可否认,在汉语的计算机理解方面,和其它的西方语言相 比,我们的起步比较晚,人力,物力方面也相对不足。但是,时 不我待,我们必须迎头赶上,方能使我们不再在这方面留下遗憾。 本项目致力于让计算机能对汉语语句进行初步的划分和理 解,以期在汉语的计算机分析方面取得一定的阶段性成果。经过 一段时间的努力,本项日能够让计算机比较正确地分析汉语句子, 并能够有效地进行一定的人机交流。我们希望这些成果能在汉语 的计算机理解方面得到应用。 系统功能介绍 第二章系统功能介绍 计算机自问世以来,其应用逐渐深入渗透至人类生活的各个 方面。现在,计算机已经不再是实验室里面的贵族,转而成为寻 常人们手里的一个工具。 随着研究的深入,在计算机语言学方面已经取得了丰硕的成 果。但是,不管怎么说,要让计算机能真正与人交流,能听懂人 类的语言,还有很长的路要走。 2 1 汉语语句分析的机理 计算机能够和人交流,最显著的特征就是让计算机能昕懂人 类的语言,认识人类的文字。相比之下,让计算机能够理解人类 的文字是最基本的一个步骤。如果计算机能够理解人类的书面语 言了,加上语音识别功能,计算机就能很容易的听懂人类的语言。 目前,我们所作的工作就是让计算机能够正确地理解完整的 句子。我们这里所说的理解是指对于一个输入计算机的句子,计 算机能够象人一样在结构上对句子进行划分,提取出句子的主、 谓、宾,定、壮、补等结构成分。 对于计算机来说,我们输入的一个句子只是一串连续的字符 流,不具有任何语形乃至语义上的特征,就更谈不上对句子进行 理解了。因此,我们要模拟人类大脑对句子的分析过程,把字符 串分解成一个词语的序列,然后再更进一步理解整个句子。但是 人脑能够正确理解句子是建立人的丰富的知识经验的基础上,要 让计算机也能够正确理解句子,一个办法就是为计算机建立一个 完备的知识库,然后,在这个基础上,再训练汁算机理解句子。 :l 足,为汁算机建屯知识库不是一个简单的工作,在知识库的建 就以及知识库的完备方而,也还存在着许多争议。 4 系统功能介绍 因此,我们不准备为计算机建立一个“完备”的知识库。限 于我们的人力,物力等实际情况,我们准备做的是一个更基础, 更初步的工作。我们希望利用汉语本身的一些基本的,普遍的规 律,从句子的形式方面入手,使计算机能够在不借助一个庞大知 识库的帮助下,比较正确的理解分析句子。 2 2 汉语语句分析系统的功能介绍 我们的项目也包括两个主要的功能,汉语词语的分析和汉语 句子的分析,简单的说就是分词和分句。在这两个基本功能之上, 我们还必须为使用者提供一个友好的操作界面,为了有利于后继 的研究工作,还要求我们能把前面的结果存储在数据库中,便于 后面的研究使用。 2 2 1 分词功能 分词功能包括两个方面,第一,要能正确的把一串连续 的字符切分成一个一个的词,第二,要能正确的判断每一个 词的词性,以便于后面分句功能的实现。 一词形切分功能 要让计算机能正确理解一个完整的句子,首先必须将整旬的 汉语分割成单个的词。我们的分词算法主要采用了目前通用的最 长匹配算法,即最长词优先匹配。同时对于存在连续交集的块, 如“原子结合成分子”,我们采用了前结合和后结合相比较的方法, 并为一些特殊词汇( 如“地”) 专门编写了代码。对一部分非连续 词如“在上”作了预处理,克服了词库中间没有非连续词的 情况。使用者可以在屏幕上面实时的看见分词的结果,也可以对 分词结果进行人工干预,系统将根据人的干预校正错误。通过大 射的文章测试该软件分词准确率达到了9 6 以上。 断词性功能 将蝼旬汉语分割为单词,还必须判断各个词的词性,才能让 系统功能介绍 计算机更好的理解句子。但是,汉语的词性非常灵活,一个词往 往可以既作动词,又作名词,如“污染大气”和“大气污染”中 的“污染”,而形容词则往往具有副词的词性。所以,这无疑增大 了判断的难度。由于目前还无法让计算机“掌握”语言常识,我 们采取了词类搭配的算法,即输入一些词类搭配的语法规则,让 机器可以根据这类规则并结合该词所处的上下文判断词性。同时, 我们还尽可能地利用一些特殊词汇来絮助判断,如在“了”前面 通常为动词,在“的”后面的通常为名词。测试表明,该软件判 断词性的准确度约为8 0 。 2 2 2 分句功能 汉语由于其书写的灵活性,句子的主要成分( 主语、谓语和 宾语) 没有固定位置。然而,为了正确理解并翻译句子,必须找 出各个成分。在比较了各种方案后,我们采用了谓语分析法,即 认为谓语是句子的中心结构,并在此基础上分析出其他成分。实 现方法是,在已经分词并判断词性的基础上,首先找出一些固定 搭配,如“在的时候”,然后判断谓语动词,最后寻找主语、 宾语以及其他成分。为了提高准确性,我们让程序对原旬进行多 遍扫描,不断收集各种成分。这一部分由于难度高,相关的研究 很不成熟,经过我们的努力,取得了一定的成果,但是准确性和 前面的分词相比相对较低。 系统还对一些典型的复旬进行了专门的处理。对有关联词语 和一些固定搭配引导的复杂句,系统可以准确地判断复句类型, 然后根据复句的一些特点进行特殊处理。 2 2 3 人机交流功能 在分词、分句过程中,系统难免会出现这样那样的错误。 人的干预就足必需的了。我们认为人对系统的干预优先级别 是墩商的。于预存在于两个阶段,一、对分词结果的于预。 二、对分句结果的干预。我们设计j 友好的界面。比如,对 分旬结果的干预,使用者字可以把一个词从谓语位嚣轻易地 拖放到宾语位置。 6 系统功能介绍 2 3 系统架构图 编辑器界面 u丁丁介u 分词模块 玉 分句模块 词词简复 形形 盥 杂 划划句旬 分分划划 功功分分 能能 彳_彳了 i l 拿翼j l固定搭配l l数据库| 、 l 、 j , vv 数据库存储模块 图2 1系统架构图 从上面图中可以看出: 系统的分词模块通过对分词字典进行查询,完成划分词 语的功能。在分句阶段,利用固定搭配数据库,在单句划分 的基础j :,完成划分复旬的功能。 友好的编辑界面可以允许用户对分词、分旬结果进行人 t 干预。系统可以根据人丁干预更正错误。 分词、分句结束,用,1 可以把结果保存在数搀:库文件【1 1 , 便于后面进行全文理解分析。 词语分析功能 第三章词语分析功能 就汉语自动分词机制而言,当前流行的分词算法不外乎 以下两类:1 。基于统计规律的机械分词方法。2 。基于知识 规则的分词方法,如专家系统等。但是囿于目前的研究水平, 两种方法各有所长,但是都存在一定的切分错误,不能完全 离开人工干预。 3 1 分词功能及实现 3 i 1 机械分词方法综述 机械分词的优点是易于实现,缺点是精度不是很高。知识分 词精度比较高,但是在计算机上面难于实现。知识分词难于实现 的原因在于:人们对汉语构词成句的规律在计算机形式化方面还 很落后,各个学派在汉语方面的认识也不统一,这方面的很多研 究还是处于探索的层面上。另外,顾名思义,知识分词方法必然 将利用大量的知识,知识的数量和完备程度会直接影响到分词的 精度,而对这么大量的知识如何进行有效的组织也比较困难。目 前,这两种方法的研究趋势是齐头并进,各逞擅场。 我认为,尽管就汉语分词研究的最终趋势上看,知识分词是 最终的解决方案。但就1 7 1 前来看,机械分词仍然以其易于实现, 切分速度快等优点应用较多。即使在知识分词为主的算法里面, 机械分词也常常作为一个必不可少的预处理过程而存在。因此, 在我的项目里面,我决定仍然采用机械分词算法。 下面,我将日前比较常用的几种机械分词方法进行逐一简要 介绍: 机械分词一般足綦于字符串匹配的原理进行的:所消机械分 训算法,指的主要就是汉字字符串匹配的进行方式以及字词的切 词语分折功能 分和组合策略。 最大匹配法 亦称m m 法:其基本思想是这样的,假设自动分词词典中的 最长词条是i 个字,则取被处理材料当前字符串序列中的前i 个 字作为匹配字段,查找词典,若词典中存在这样的一个i 字词, 则匹配成功,匹配字段被作为一个词切分出来;如果在词典中找 不到这样一个i 字词,则匹配失败,匹配字段去掉最后一个字, 剩下的字段重新进行匹配,如此进行下去,直到匹配成功,也就 是完成一轮匹配,切分出一个词为止。 这种分词方法,在由北京航空学院等十多个单位协同进行的 我国第一次大规模现代汉语词频统计工作中,实现了我国第一个 自动分词系统c d w s ,取得的成果相当可观。 逆向最大匹配法 亦称o m m 法,或r m m ,i m m 法;其基本原理和m m 法相 同,不同的是分词切分方向;它从被处理材料的末端开始匹配, 每次取最末端的i 个字作为匹配字段,匹配失败则去掉最前面的 一个字。o m m 法要求配置逆序分词词典。 逐词遍历匹配法 它把词典中的词按照由长到短递减的顺序逐个搜索匹配整个 代处理材料,直到把所有的词都切分出来为止。 设立切分标志法 这种方法首先要收集那些标点符号( 称为自然切分标志) 以 外的众多非自然切分标志,例如,只充当词首宇或词尾字的字, 对这些非自然切分标志进行搜索,根据这些标志,把句子切分为 若干较短的字段,然后再使用m m 或者o m m 等方法进行进一步 的切分。准确的说,这种方法并不是一种真正意义上的分词方法, 只不过是自动分词的一种前处理方式而已。而且,这种前处理并 没有提高分词精确度,却要额外消耗时间扫描切分标志,增加分 词的时间复杂度。 正向最佳匹配法和逆i 柚蛙佳匹配法 最佳匹配法的出发点,魁在词典中按词频的火小排列词条 以求缩短对分词词典的搜索时间,达到最佳效果,从而降低分词 的时间复杂度,以加快分词速度。实际上,这是对分词词典预先 进行的一种加工,也不是纯粹意义一l 的一种分词方法。 双向最大匹配法 亦称d d m 法,属于最大匹配算法的一种增强算法。这种算 法有它的优点:可以兼顾汉语句法规律的多样性( 即以正向优先 为主,逆向优先仍然存在的情况) ,但是需要一种评估机制来评估 两种方向的优劣,比如在我们的系统中,采用了结合度来对不同 的分词结果进行分析。但是,正向匹配和逆向匹配都固有的缺点 不能有效处理歧义字段。因此,要提高双向分词的正确率, 除了建立对两个方向进行评估的有效机制外,更为根本的是要对 正向匹配和反向匹配本身进行改进,以提高其准确性。 3 1 2 本系统采用的改进双向匹配法 在本项目之中,我采用了改进后的双向匹配方法。其基本思 想概括如下: 1 改进的正向扫描 正向扫描+ 增字最大匹配+ 跳跃匹配+ ( 为避免遗漏,在分旬 阶段还将有跳跃匹配) + 歧义检查( 从词尾逆向进行) 并且利用 归右原则和左向结合消除以上歧义。 2 传统正向扫描( 应用传统的正向最大匹配分词) 3 逆向扫描( 应用逆向最大匹配分词) 。 4 根据结合度的比较决定使用正向匹配还是逆向匹配。 说明: 正向扫描:利用一部正向增字词典,对句子进行扫描。 增字最大匹配:保留中间结果,供后面进行歧义检查以 及消歧 跳跃匹配:本意是对一些非连续词( 如“在上”) 进行切分,但日j 于系统所提供的词典之中没有此种非连续词, 我们自己建立了一个非连续词的数据库。由于担心数据库里 而嘲定搭配收集0 i 全,到后厩分句部分,我们还将从词性搭 配一 :面对这利t 非连续词进行分析处理。 歧义检查:发现交集型歧义字段 归右原则:消除交集型歧义,在连续型交集的情况- 卜, ( ) 词语分析功能 还要利用左部结合原则。 逆向扫描:使用逆向最大匹配法再进行一遍分词 结合度:利用词的出现频度不同,对不同的词进行了标 注。系统将利用每种划分的结合度和来判断是采用正向还是 逆向的分词结果。 3 1 3 分词流程简介 为了将词和词性相结合,我们自行定义了一个类: c l a s s u n i t :p u b l i cc o b j e c t c s t r i n g s h o n w o r d ; a t t r 4 ; 字符串类w o r d 表示词本身,四个1 6 位长的整数a t t r 表示其 可能的词性( 为了方便计算机处理,我们用整数代替词性,如l 代表名词,2 代表时间名词) 。根据该数据结构我们建立了一个基 本词库,其包含了接近5 万个常用词汇,并且以词为关键字进行 了排序。我们还建立了一个特殊词库,用以记载人名、地名和其 它一些特殊的或者专有词。这两个词库都在程序启动时自行调入 内存。 为了加快词的处理速度,程序为基本词库按字建立了索引。 对于一个词语的搜索过程如下: 1 在基本词库的索引表中应用二分查找法查找词 语的首字。从首字索引表中可以知道词库中第 一入口项的位置。 2 从第一入口项的位置开始,逐词匹配,找出最 长的词。 卜| 而是系统进行分词的基本流程图 词语分析功能 分词结果输出 图3 1分词流程图 3 1 4 词语查找算法分析 我们可以看出,系统一共对四个数据源进行了查询, 1 前面句子中间出现的特殊词汇,它们是i 临时保存在数 组中的,由于数量不大,可以顺序查找。 2 对基本词库进行的查找,如上所述,是先对首字二分 查找,再顺序查找。 3 对以前存储的特殊词库的查找,这个词库我们是一数 据库文件的形式保存的,并且数量不大,所有我们也 是使用的直接查找。 4 对姓氏库的查找,这个文件我们是一文本形式加以保 存的,只有一百多个项目,也可以直接查找。 从上面的分析我们可以发现,主要是第二部分的搜索占据了 主要的时间。要提高系统的分词搜索速度,主要应该降低第二部 分的时问复杂度。为此,我们可以考虑建立首字散列表,使用哈 希运算定位首字,然后对词语的每个字进行二分查找,这样,可 以大大降低搜索时间。我们考虑将在以后的版本中采用这种思路 和算法。 3 1 5 系统词库安排 在上面的流程图中:p r ea o a r s e 过程主要用于查找在前面的句 子中间出现的一些特殊的词汇。p a r s e 过程主要是根据通用词库进 行分词。s u rp a r s e 主要是根据特殊词库进行分词。f i n d n a m e _ p r o c 是完成对一些姓名的处理。在本项目中,所谓特殊词汇主要是指 在系统词库中没有的单词。丽这种特殊词汇又分为两种: 1 特殊词库( s wb a s e ) 里面收集的特殊词汇, 2 特殊词库里面没有收集,系统不能正确辨认,但是在本篇 文章巾由于多次出现而被用户指定的词汇,这部分词汇也 可以被用户添加进入特殊词库。 h 1 此可见,系统巾存在两个词库:通用词库和特殊词库。换 言之,系统巾存在三利,词汇:通厅j 词库词汇、特殊词库词汇、朋 、指定词汇。因此,必须按优先级顺序安排分词的顺序。 仡一篇文啦- h 可能会有一些词汇是这篇文章所特有的,在 词语分析功能 通用词库和特殊词章里面都没有这类词汇的存在,这时候,程序 在划分的时候,必然会由于在词库中找不到相应的词而出现划分 错误,这种锚浸包括:l 。出现系统不能辨认的未知成分。2 。该 特殊词的某部分或某几部分被其相邻词语“吞并”,产生错误。因 此,这里涉及到一个人工干预的问题。我们认为人工干预产生的 词汇优先级最高,因此我们首先处理这部分词语。这部分词语存 储在一个数组里面在程序结束时,用户可以选择把某些使用频 率较高的添加入通用词库,剩余的将被系统添加入特殊词库。接 着根据通用词库处理句予,在这遍处理之后,可能仍然会有一些 部分没有被划分出来( 即仍然是单个的字的序列) ,这时,系统会 根据特殊词库再划分一遍。至此,自动分词阶段结束。如果是单 旬分词模式,系统培分词结果提供给用户浏览,以便用户进行评 估,如果发现有错误,可以进行干预,这时候可能会产生特殊词 汇。如果是连续分句模式,程序将自动对下一句进行处理。 3 1 6 分词模块详细介绍 下面,我们将依次给出四个分词模块的算法思路( 或流程图) 并加以简单介绍。 一p r e _ p a r s e r 过程: 该过程主要是根据用户指定的特殊词语进行预处理。在一篇 文章中,可能有一些特殊词汇是通用词库里面所没有的,比如一 些人名,地名,和一些专有名词( 如三氧化二铝) ,这些词汇在后 面出现的几率很高这些将由用户指定,程序把这些特殊词汇储 存在一个数组中。然后作为后面的句子分词的依据。 二p a r s e 过程: 这是程序中分词模块中间最为重要的一部分。这一部分的算 法对于分词的精度育直接的影响。 我们对最弋匹配法( v i m 法) ,逆向蹑大匹配法( r m m ) 和 叔向最大匹配法( d m m ) 的优劣发现三种分词方法在不同的场 合,各彳丁优劣、同一利t 分词方法对4 ;同的文章,j 分词精度也有 所q i 刚。 对于般的语勺,j | j 最大匹配法( m m 法) 就可以正确的进 词语分析功能 行分词。我给出对普通字段的分词算法。 一般语句分词算法s p l i t l 待处理的汉字串 i 又 y e s 少 k o i 取出第一个字串 上 查找索引表 上 查找词库 使用最大匹配法匹配原字串 移动字串指针 r 结束 图3 2 普通字段处理方法原理流程图 词语分析功能 经过分析发现,汉语分词的切分错误基本上可以分为两类: 即交集型字段和组合型字段错误切分。对于交集型字段,存在交 集归前和交集归后的情况,在现代书面汉语中,根据统计规律, 交集字段归后的概率要大一些,因此,造成了般情况下r m m 方法比m m 方法的精度要稍微高一些。归根结底,三种方法没有 绝对的优劣,都是对汉语规律的不完全概括加上一些特殊的校正 而已。因此,我们可以对这些分词方法略做修改,就能进一步提 高机械分词的精度。要提高分词的精度,我们可以在机械分词本 身和引入适当的语义校正两方面着手。在本项目的分词模块中, 我们主要使用机械分词方法对汉语语句进行划分,然后引入适当 的语义分析、语法规则进行一些校正和调整,以得到更好的准确 一| 生。 下面,我们对汉语分词中间经常出现的两类错误:交集型字 段划分错误和组合型字段划分错误进行进一步细分,可以把它们 再细分为四类,即词法歧义字段,句法歧义字段,语义歧义字段 和语用歧义字段,参阅相关的统计数据可以看出,词法和句法歧 义字段占了全部歧义字段的9 4 。9 左右,其中词法歧义字段更 是占了全部歧义字段的8 4 。1 。因此,我们对相关资料提供的 大量例句分析发现,8 0 以上的例句不需要任何“知识”,仅仅使 用交集字段归右原则就可以正确划分。例如,“研究生物的习性可 以使我们更好地了解人类的起源。”,其中“研究生”和“生物” 都是一个完整正确的词语,这就涉及到一个交集字段归前还是归 后的问题,可以看出,这明显是一个交集字段归后的例句。大多 数情况是交集归后,交集归前的情况相对要少得多,但我们仍然 可以举出一些特例,例如:“是否爱护动物体现了一个人是否具有 善良的心灵。”这里,“动物”和“体现”是一个典型的交集归前 的例子。 现在,我们给出判断交集字段的算法: n a s 为a 分出的谪:l 为句予长发,我们预计第二个词 为“m a n ,其中卜m 、j n 7 , m i 1 ,j 。,? w h # e l n ij ) w h d e f mf l mu ,l 组成一个渤 b r e a k : 6 词语分析功能 , i f ( m t = 圳 , 此霹a ma j 为交集字段:它既司以和a ia m 结台成为词 a i a j , 也可以和q 矾结合成为词d m a n ; ) 我们上面讨论过对这种简单的交集字段采用m m 法和r m i v l 法处理的利弊,采用何种方法可以得到正确的结果取决于具体的 待处理语料,所以后面我们将谈到使用一种叫“结合度”的机制 来评估具体该采用和何种分词方法。 但是,我们不得不考虑一种复杂的交集型字段连续交集 型字段。如果我们仅仅简单使用“归右原则”,往往会出现错误。 因为逆向最大匹配法实际上是主要体现“归右原则”,这也是普通 r m i v l 分词方法在切分连续交集字段时容易出现错误的原因。同 理,i v i m 法体现的是“归左原则”,在这么长的一个连续交集字 段里面,比如有可能同时存在两种原则的使用,并且,我们还不 能单纯的把这种连续交集字段割裂开来处理,我们必须看到它们 之间是有联系的。下面,我们详细讨论这种情况。 我们分析一个特例,如“当原子结合成分子时,”,使用i v i i v l 法和r m m 法,都得到如下结果“当原子结合成分子时”,而 “结合,合成,成分,分子,子时”是一个多重连续交集字段。 这种情况下,m m 法和r m m 法对这种字段的划分错误率是很高 的。 在我们这个项目的前一个版本里面,由于只是单纯的对句子 使用m m 法和r m m 法分词后,进行比较评估得j 结果,所以不 能有效地避免这种类型的错误,所以,我们必须要对分词算法进 行一定的改进,使锋法能对多重连续交集字段也能适用。 i = 4 此,经过多次实践,我们对m m 法作一些改进,使其具南 普通m m 法( 交集字段归左) 和r m m 法( 交集字段归右) 的特 点,我们称之为增强的m m 法,即e m m ( e n h a n c e d m a xm a t c h ) 法。 我们加上几点限制,可以在很大程度上解决上面谈到的连续 交集字段问题。 在分词开始的时候,先把一些固定的非连续词切分出来。比 如“当。时”,“在。上”等,这样,可以避免把一 些表示时间、方位的单字词和它相邻的字相合并。 在“归右甄鼬“的基础上拥入一个优先级眈较低的“左结 强鼬”主要再于处理连续交集字段,比如我? 7 假定a i a 2 是以连续交集字段( 郎a i a i + 1 , 1 - l ? 2 n l 都构戒谪,a 1 ( 浮1 2 ,n ) ,即可以是单个汉字也可以是汉字串。) 我t y k 将a ia i + l a i + 2 勿r a j ? a i + l a i + 2 然后,当m 3 出现时我们根据 “归在踉戳”场战a i , a i + l m + 2 n l 37 然后根撬“左接躁疵“把字 符串j j s j # a i a i + 1 j a i + 2 a i + 3 j 例如上面的例句:“当原子结合成分子时”,首先把非连续词 “当时”切分出来,由于我们的通用词库中间没有非连续词 可供查询,因此我们建立了一个数据库表格专门存储此类非连续 词。然后,剩下“原子结合成分子”,我们首先把原子分出来,然 后处理“结合成分子”,先处理“结合成分”,分成“结合成分”, 然后处理“成分子”,得到“成分子”。至此,上句已经被正确 划分为“当原子结合成分子时”。 我们再分析一个连续交集字段的例子“教职员工作息制 度”,其中“教职员 工作息”是一个连续交集字段,按照 i 二面的算法,我们可以很容易的切分出“教职员工作息”。 瑚此,我们对于交集字段的划分已经可以采用三种方法,m m 法,r m m 法,e m m 法。我们从实践经验和理论分析认为,对于 连续交集字段,e m m 法由于考虑到两个交集之问的关系,要比 m m 法和r m m 法分侧效果略好一些。而对_ i 二连续交集字段,e m m 澎、和r m m 法的分词结果是一样的,mm m 泫、准确率要比前两肯 低一些。所以,我们应该找到一种手段,可以柱具体语料情况下, 对分词结果进行评估,决定应该采用何种分词方法。所以,我们 提出了结合度的观念。 由于汉语表达的灵活性,无论是正向最大匹配,逆向最大匹 配还是我们提出的增强的正向最大匹配都存在着一定的局限性。 为了提高分词的精确度,我们认为,在交段存在的地方必须同时 运用这三种匹配方法,然后将结果进行比较,选择较优的一种。 这样固然会提高程序的时间复杂度,但由于硬件性能的不断提高 以及后续程序( 判断词性和分句程序) 对准确性的要求,采用上 述方法还是很有必要的。为了实现对三种匹配结果进行比较,程 序引入了“结合度”的概念,一共有1 6 个级别。一般说来,词的 使用频度越高,其结合度越高,而长词的结合度也往往高于短词。 由于时间的限制,我们不可能对通用词库中的5 万个词逐一表注, 只能通过一定的算法自动生成,然后在实践中不断地修改完善。 对于单字词,如“我”、“蹦”等,其结合度为0 :双字词为4 ;三 字词为8 ;四字词或更高的为1 2 。 例如对句子“研究生物理论课”,其过程为“研究生”_ “生 物,_ “物理”_ + “理论”。当找到交集字段t 后,首先,用 正向最大匹配法将其分为词集a a 。,再把每个词a i 的结合度 加总,得到数值x ,然后再用逆向最大匹配法分出词集b n b 。, 把b 的结合度加总,得到数值y ,最后使用e m m 法分出词集 c 1 c n ,把c ,的结合度加总,得到数值z ,然后比较x ,y , z ,选用结合度和最大的一种分词方法。如果x = y = z ,由于交段 归后的正确性要高,并且考虑到连续交集之间的联系,按 e m m r m m m m 的优先度选用分词结果。 我 f 1 的测试表明,这种多分词法同时进行然后比较结果的方 法,可以解决大多数交集字段,特别是连续交集字段的正确分词, 大大地提高了分词准确性。例如,对句子“教职员工作考核”,正 向最大匹配的结果是“教职员工作考核”,结合度分别为】o 、 0 、4 ,x = 1 0 + 0 + 4 = 1 4 :逆向最大匹配的结果是“教职员工作考 核”,结合度分别为8 、4 、4 ,y = 8 + 4 + 4 = 1 6 ,e m m 法的结果是“教 职员工作考核”,x y ,选取正向匹 配,从而得到正确的结果。 ( 2 1 后缀词和量词 后缀词本身没有意义,通常跟在名词后面共同组成一个新的 名词,当然,也有一些后缀词跟在形容词后面,常见这类词有“所”, “者”,“长”。和助词一样,后缀词也能和前面或后面的字构成一 个词,从而导致分析错误。例如,在句子“生物所有一台设备” 中,“所”是一个后缀词,正确分法应该是“生物所有一台 设备”。然而,根据最大匹配法,则得出了“生物所有一台 设备”的错误结果。量词也存在这个问题,例如,“一个人”应分 为“一个人”而不是“一个人”。值得指出的是,造成这类 错误是多义组合字段( 在字段s = a h a , b 1 b 中,若a 1 a ,、b 1 b 和s 三者都构成词,则字段s 称为多义组合字段,如上例中的 “所”、“有”和“所有”三者都可成为词) ,而对于这类字段各种 最大匹配的处理能力是一样的,结果都是把s 作为一个词划分出 米。因此,为了解决这类问题,必须引入新的锌法:当分出一个 华,词后,程序查看它是否有后缀词或谢词词性,若有就进行特 殊处理,否则则检金它能否与后面的字串组成更长的刊。对于:疑 词语分析功能 词,其处理是查看前面是否为数词或代词,如果是则让它单独成 词,例如“一个人”,由于“一”是数词,所以分为“一个人”, 而“反对个人主义”,“反对”是动词,则分为“反对个人主 义”。对于后缀词。处理方法是查看前面的词是否具有名词( 少数 后缀词接在形容词后面,这时相应地检查前面的是否为形容词) 含义,如果是也让它单独成词。例如前面提到的“生物所有一台 设备”,因为“生物”是名词,所以分为“生物所有一台 设备”。 由于汉语的复杂性和灵活性,上述方法只是解决了部分问题。 有些句子只有在计算机掌握了一定的“知识”后才能解决,如将 “研究所有例旬”错分为“研究所有例句”,语法上说却是 完全正确的。还有一些句子本身就有“二意性”,如“研究所有轿 车”,无论是分为“研究所有轿车”还是分为“研究所有 轿车”都正确。这时只有通过上下文和与用户交互来解决。 三s u r _ p a r s e 过程 如前所述,这一部分是在系统根据基本词库进行分词后,对 于剩下的部分,我们可以在根据特殊词库进行分词。特殊词库是 以前用户指定的一些不在基本词库内,出现频率比较低的一些词 语。这是对前两部分分词的一种补充。 四人名自动识别过程f i n d n a m e _ p r o c 由于人名的随意性,计算机不可能通过收集所有名字然后匹 配的方式来识别人名。现在的一些分词软件在处理人名上效果很 差。针对这种情况,我们希望本程序具有一定的“智能”性:能 够自动识别一些不能在词库中查找到的人名。 为了实现这一目标,必须找出一种合适的算法。为此,我们 让分词程序处理了一些人名出现频率较高的文章。统计结果表明, 人名( 包括姓氏) 往往被分成了单个的字,如“李白成”被分成 丁“李自成”,“张献忠”被分成了“张献忠”。根据这种 规律,我们设汁r 一种自动识别方法。 在汉语中人名集合可以蜕足无穷大的,仇姓氏集合却是有 限的。网此,可以通过分析姓氏字来推测人名,从而达到一定的 动识别性。我们建啻= 丁姓氏库“s i g l e s u r n a m e t x t ”,用以存放单 ,的姓,“c o u p l e s u m a m et x t ”用于存放复姓。在m a i np r o c l 过 程完成后,扫描分词结果,当在一个子句中遇到连续两个或以上 的单字词a l a :时,查看第一个单字词a 。是否为姓氏,如果不是, 则以a 2 为起点开始新的扫描;否则,程序就认为这儿出现了一个 人名,并把a 2 归进来。由于大多数姓名包含三个字,程序继续扫 描后面的词a ,如果a ,也是一个单字词而且不是动词,则认为 a l a 2 a 3 表示一个人名,否则认为a l a 2 表示一个人名。例如, m a i np r o c l 处理完句子“李自成攻占了北京城。”后输出“李自 成攻占了北京城。”,m a i np r o c 2 发现“李”和“自” 为单字词,满足条件,于是处理“李”字,这是一个姓氏,再将 “自”字归入。然后检查后续词“成”,由于这是一个单字词并且 不是动词,也将它归入,至此,程序已自动识别出“李白成”是 个人名。 在汉语中,除了用姓名来完整地表示人名外,还常用“小”、 “老”等前缀词加姓氏表示,如“小王”、“老李”。针对这种情况, 程序在识别了一个姓氏词a ,后,若后面的不是表示名字,则检查 前面的词a o ,如果a o 属于上述前缀词,则将a o a l 归在一起。 当然,汉语中还有两个字的姓氏,如“欧阳”、“诸葛”、“东 方”等等。为此,我们可以对存储复姓的文件进行查询。识别双 字姓人名的方法与单字姓大体相同,这里就不再论述了。 上述方法只是解决了一部分人名识别问题。而在现实生活中, 由于人们名字的随意性,有些是非常难以识别的。如“李红军” 和“白费力”,m a i np r o c l 的输出结果都是姓氏词+ 双字词( “李红 军”和“白费力”) ,但是前者是人名,后者却是一个形容词。 另一个例子是“刘其和博士”,这个“和”字究竟是人名的一部分 还是起连词作用? 这类问题目前只能是通过交互方式,让用户进 行判断。 3 1 7 对错误分词的分析 经过上面的四步分词以后,我们认为分词已经结束。这时候, 分词的错误体现在两个方面: 1 句子中有单字出现,而这些单字在旬了巾不是一个独立的 词语,而是其它词语的一部分。 这种情况的主要原因可能足分词字典【f l 州的词汇量不够,我 们可以把一些未登录词语添加进宁典,可以有效地解决人 ! | j 分 d 题。 2 词语的划分错误。, 这是一个比较复杂的问题,是各种因素综合造成的。除了第 一种情况可以造成这种情况外,分词算法( v i m 法,r m m 法, e m m 法) 的不完善,结合度的设置不当都可能对分词结果造成 直接影响。 因此,人工干预是必须的,对一些词语的结合度,我们也必 须仔细考虑,给出一个合适的数值。 3 2 词性的判断 在分词结束后,有必要判断各个词的词性,这既是对分词软 件的基本要求,也是下一步分析句子成分的基础。在计算机中, 自动判断词性主要依据汉语词性的分类搭配特点。 3 2 1 现代汉语词性的特点 通过跟英语的对比,可以看出汉语词的f 列特点 1 缺乏区分词性的后缀 在英语中:q u i c k 是形容词,q u i o k l y 是副词, q u ic k n e s s 是名词,q u i c k e n 是动词。 在对应的汉语中只有一个“快”。 现代汉语虽有个别相当于后缀的字,如名词的后缀“子”、但 是这种现象缺乏普遍性,不足以成为区分词性的一种依据。 2 缺乏严格的形态变化 英语可以用形态变化来定义词性:有数( n u m b e r ) 的形态 变化者就是名词,有级( d e g r e e ) 的形态变化者就是形 容词,有时态( l e n s e ) 的形态变化者就足动词。 汉语不能这样划分词性。即使有个能表示复数的“们 也只限于表示“人”的名词,化足很少说“蔓个学生们”。 实词侧性跟语形成分不足一一对应 这一部分牵涉到划分句子成分的问题,小文将在f 一章t ,详 细论述。 3 2 2 现代汉语词语分类体系 现代汉语的词分为以下1 8 个基本词性,每个词性名称后面括 号中的数字是用于本软件系统的该词性的代码,冒号后的具体的 词是该词性的实例。 外头 名词( 1 ) 如: 时间词( 2 ) 如: 处所词( 3 ) 如: 方位词( 4 1 如: 数词( 5 ) 如: 量词( 6 ) 如: 区别词( 7 ) 如: 代词( 8 ) 如: 动词( 9 ) 如: 形容词( 1 0 ) 如: 状态词( 1 1 ) 如: 副词( 1 2 ) 如: 介词( 1 3 ) 如: 连词( 1 4 ) 如: 助词( 1 5 1 如: 语气词( 1 6 ) 女1 1 : 拟声词( 1 7 ) 如: 叹词f 1 8 ) p n : 牛、书、水、 明天、元旦、 空中、低处、 上、下、前、 教授、国家、心胸、北京 唐朝、现在、春天 郊外 后、东、西、南、北、里面、 一、第一、千、零、许多、百万 个、群、公斤、杯、片、种、些 男、女、公共、微型、初级 你、我们、这、那么、哪儿、谁 走、休息、同意、能够、出去、是、调查 好、红、大、温柔、美丽、突然 雪白、金黄、泪汪汪、满满当当、灰不溜秋 不、很、都、刚刚、难道、忽然 把、被、对于、关于、以、按照 和、与、或、虽然、但是、不但、而且 了、着、过、的、所、似的 吗、呢、吧、嘛、啦、呗 呜、啪、町呤当啷、哗啦 唉、喔、哎哟、嗯、啊 这些基本词性可以合并为较大的词性。名词、时间词、处所 词、方位词、数词、量词统称为体词,动词、形容词、状态词统 称为调词。代词的一部分属于体词,另一部分属于溻词。体词、 i f j 词、区别词和副词又合称为实词。介词、连词、助词、语气词 介称为虚词。实词与虚词是汉语的两人词性。此外还有拟声词与 暇训,它们被列在这两火词性之外。此外,从计算机处理实际文 本的需要 _ 发和提高计算机处理效率的角度考虑,我们又引入丫 北人的七五攻关成果“现代汉语词语语法信息库”中的7 类语言 2 4 塑! ! 坌塑些堡 成分: 前接成分( 1 9 ) :阿,老,非,超,单 后接成分( 2 0 ) :儿,予,性,员,器 语素( 2 1 ) :民,衣,失,遥,郝 非语素字( 2 2 ) :鸳,枇,蚣 成语( 2 3 ) :按部就班,八拜之交 习用语( 2 4 ) :总而言之,由此可见 简称略语( 2 5 ) :三好,全总 前4 类是比“词”更小的单位,不成词。在构词法中前接成分 与后接成分又叫前缀与后缀。后3 类是比“词”更大的单位。 1 名词 2 时间词 体3 、处所词 基实4 方位词 词5 数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论