900 likes | 1.07k Views
我家门前的小河很难过 ……. 来自张店区的大学生 不看重大城市的户口本。. 张店区 大学生 不 看 重大 城市 的 户口本 张店区 大学生 不 看重 大 城市 的 户口本. 你认为学生会听老师的吗. 你 认为 学生会 听 老师 的 吗 你 认为 学生 会 听 老师 的 吗. 语言信息处理 — 词处理 (二). For 对外汉语专业本科生 2010 年 5 月. 本章提纲. 词法分析概述 英语词汇处理 汉语词汇处理 — 自动分词 汉语词汇处理 — 未登录词识别
E N D
我家门前的小河很难过 …… 来自张店区的大学生不看重大城市的户口本。 • 张店区 大学生 不 看 重大 城市 的 户口本 • 张店区 大学生 不 看重 大 城市 的 户口本 你认为学生会听老师的吗 • 你 认为 学生会 听 老师 的 吗 • 你 认为 学生 会 听 老师 的 吗
语言信息处理—词处理(二) For 对外汉语专业本科生 2010年5月
本章提纲 • 词法分析概述 • 英语词汇处理 • 汉语词汇处理—自动分词 • 汉语词汇处理—未登录词识别 • 汉语词汇处理—词性标注
词法分析概述 • 词法分析在自然语言处理中的重要性 • 词是组成句子的基础单位,只有在对词进行分析的基础上,才谈得上进一步做其他的处理。 • 计算机有关自然语言的知识很大一部分是以机器词典(给出词的各项信息,包括句法、语义、语用等信息)的形式储存的。自然语言信息处理系统只有在词的基础上进行,才可能利用这些知识。 • 词法分析的首要任务是把输入的“字符串”变为“词串”。
词法分析是一个提高确定性的过程 • 汉字简繁转换系统。简繁转换中存在不对称性和不确定性,在词的基础上进行转换,确定性可大大增加。 • 文本校对系统。只有在词的基础上,才可能发现错字。 • 利用语料库研究词语的用法。
词法分析的阶段 • 词法分析第一阶段:将自然语言的字符串变成词串 • 将句子中的词离析出来; • 进一步对词的内部构造形式进行分析,即分析出组成词的语素成分 • 词法分析第二阶段:按照某种标准,给句子中的词加上句法范畴标记,乃至语义范畴标志。 • 这三个翻译都没有翻译正确 • 中国队大胜/败美国队 • 对外经贸大学两个灯只亮一个,不过就是亮两个也不亮
数—量—名 数—介—名 副—量—名 副—介—名 • 词法分析:字串----词串----词性标注串----义项标注串。 • 理论方面,什么样的语言单位算是词?一个词的义项如何确定?…… • 实践方面,如何快速地将词识别出来?如何排除词串划分的歧义?如何排除词性标记串的歧义?…… 一把斧子
英语词汇处理 • 英语书写形式中,词的界限非常清楚 • 真实文本中词出现的复杂性 • 单词与标点符号之间没有用空格分开; • 有些词之间不是以空格分开; • 缩略词中含有的“.”(如U.S)可能跟句末的.混淆。 • 英语这种所谓屈折型语言,词在具体使用时会产生各种词形变化。 develop develops developed developing development • 英语中还有大量通过添加词缀方式构成的新词 compute computer computerize computerization recomputerize noncomputerized
英语词汇处理包括两个过程: • Tokenization:把字符串变为词串 I’m a student -> I ’m a student • Lemmatization:对词进行内部结构和形式分析 took -> take + ed (past tense)
Tokenization--识别出英语文本中的“词” • 特殊字符及其描述 • 数字:分数、百分数、小数、整数、日期 • 缩略 • 字母—点号—字母—点号组成的序列:U.S, i.e • 字母开头,点号结束:Mr.,prof. • 包含非字母字符:AT&T • 带杠的词串:three-years-old • 带撇号的词串:I’m, can’t • 带空格的词串:and so on
特殊字符的描述、处理 上述1、2两种类型的字符串很难全部收入词典,因此需用规则的方法来描述清楚其内部的结构模式,通常可以用正则表达式来表示。 • 识别分数、日期的正则式:[0-9]+(/[0-9]+)+ e.g. 12/21 4/13/2010 • 识别百分数的正则式:(+|-)?[0-9]+.?[0-9]*% e.g. - 5.9% 91% • 识别十进制数字的正则式:([0-9]+,?)+((.[0-9]+)|([0-9]+))* e.g. 12,345 • 识别“i.e.”这类缩略形式的正则式:[A-Za-z].([A-Za-z0-9].)+ • 识别“Mr.”这类缩略形式的正则式:[A-Za-z]+.
正则表达式: • [ ] 表示所含字符或数字只能出现1个 • ( ) 表示所含字符或数字作为一个整体式一组 • + 表示它左边的字符或数字至少出现1次 • * 表示它左边的字符或数字出现0次或无限次 • ? 表示它左边的字符或数字只出现一次 • | 表示“或”,即它左右的符号串二选一 思考: 利用正则表达式进行身份证、IP地址、大小写英文单词、邮政 编码等的验证。
Tokenization的一般步骤 • 对一个待分析的字符串(S),从左到右进行扫描,读入当前字符(char)到候选词数组(W[ i ]),并将指针(pointer)前移,i=i+1; • 看char是否为词分隔符(事先可以预定义空格以及一般标点均为词分隔符); • 如果char是词分隔符,并且W不是空格,将W中从起始位置到i-1位置的字符作为一个词汇单位输出,同时将S中的W部分删去,然后清空W,转入(1),如果char是词分隔符,且W是空格,将S中的W部分删去,清空W,转入(1); • 如果不是词分隔符,看指针是否已经指到字符流尾部; • 如果指针已经指到字符流尾部,将当前W从起始位置到i-1位置的字符作为一个词汇单位输出,结束。 • 如果不是字符流尾部,转入(1);
M r W . u W u w a w a s s i i l l l l . . # # 字符流尾部标记 S Pointer Char = “.” i=2, W=“Mr.”输出: Mr, 这时S的格局为: …… 要得到“Mr.”,需要构造一个词典,收录这一类词 最后输出:Mr Wu was ill 真实文本中还有http://icl.pku.edu.cn/ , doubtfire@263.net之类的串需要识别!!! Tokenization示例
Lemmatization--对识别出的词进行词形分析 • Lemmatization是对W中的每个词(wi)的形式进行分析,使得每一个wi都能跟词典中的词条对应起来。这样就能为下一步的分析获得词典中的信息,同时也尽可能为下一步的句法分析提供一些初步的词法属性。 • 英语构词模式: {前缀}+ {词根} + {后缀} + [词尾] • 构词示例 boys(复数词尾) happiness(名词后缀) impossible(前缀) strongest(形容词最高级词尾) housewarmings(复合词+复数词尾)
构词分析需要的知识库 • 词典(Dict) • 前缀表(PrefixList) • 后缀表(SuffixList) • 有关屈折词尾变形的规则(Rules) 比如可以构造下面这样的规则: s -> // 词尾字符"s"替换为空 ies -> i // 词尾字符串"ies"替换为i i -> y // 替换词尾"i"为"y" boys boy tries try
Lemmatization算法的一般过程 (1)初始化:待分析的词形=W,d=W的字符数,i=1,设输出串R=""; (2)到Dict中查找W,如果找到,R=W,转入(8); (3)如果i<= (d/2),执行(4)到(7)步,否则转入(8); (4)从W中取出i个尾字字符,W成为两部分W1 + W2(W2为取出的尾字符串); (5)到SuffixList中查找W2,如果查到,调用规则,对W1进行处理,得到W1'; (6)到Dict中查找W1',如果找到,R=W1' + " " + W2,转入(8); (7)如果没有找到,i=i+1,转入(3); (8)输出R,结束; Lemmatization示例 待分析的词形 W=“boys” , d= 4, i=1, R=“” W不在词典中,从W中取出1个尾字符, “boy” + “s” W2=“s”,W1’=“boy” 输出:“boy” + “s”
Lemmatization容易碰到的问题 • 不规则词形变化: child - children (是否会产生对best、only的错误切分?) • 歧义问题: • 1)是词缀 还是 词根中的字符,有时不易判断 比如:分析副词词尾“ly”的规则: • (1)将串尾字符“y”去掉; • (2)如果剩下的字符串以“ll”结尾,将“ll”变为“le”wholly whol whole fully ful fule (解决方法:把fully收入词典,并注明fully的形容词形式为full)only,inform,…… • 2)不同的词根原形,相同的词形变化 best <- good / well? 在词形分析中,对于有共性的词构造模式,一般可以通过规则来描述,而对于特殊的构词模式,就通过在词典中列举的方式来加以解决。
汉语词汇处理—分词 • 汉语实行分句连写。 • 汉语的形态不丰富,书面汉语的词法分析主要任务不是分析单词的形态变化,而是进行单词的正确切分。 • 汉语词汇识别的两个视角 • 分句为词 (word segmentation) • 合字为词 • 就汉语信息处理界长期以来的研究来说,绝大多数识别“词”的研究,是采取的所谓“分词”的视角进行的。 汉语分词 Chinese word segmenting 从工程观点出发,按照特定的规范,对汉语按分词单位进行划分的过程。 分词单位 word segmentation unit 汉语信息处理使用的、具有确定的语义和(或)语法功能的基本单位。
在人机接口、问答系统、汉外翻译等应用中,对输入文本进行句法分析是一项必不可少的处理任务。而句法分析所依据的知识不外乎机器词典和句法规则,句法研究的是组词成句的规律,只有在对句子进行词语切分的基础上才能进行句法分析。在人机接口、问答系统、汉外翻译等应用中,对输入文本进行句法分析是一项必不可少的处理任务。而句法分析所依据的知识不外乎机器词典和句法规则,句法研究的是组词成句的规律,只有在对句子进行词语切分的基础上才能进行句法分析。 自动分词的重要性 • 自动分词是现代汉语句法分析器的一项基础性工作。 • 词语的计量分析已广泛应用于词频统计、新词辨识、计算机辅助词典编纂、词语搭配研究和文章或作者的风格学研究等众多领域。 • “以词定字”、“以词定音”方法是解决错别字辨识、同音字辨识、多音字的字音辨识和简繁体转换等主要手段。 词典编纂中对例句选取不应由编辑者生造,而应在大规模真实语料中选取。要选择的语料应该首先进行分词和标注才可以。 汉语文本自动校对系统实现侦错—纠错功能的重要技术、汉字编码拼音输入法和汉语拼音识别、汉语文本—语音转换课题等应用的重要技术。
汉语文献处理自动化中只有以词为文本特征,词性、词义和句法结构等更深层的语言知识才有用武之地。汉语文献处理自动化中只有以词为文本特征,词性、词义和句法结构等更深层的语言知识才有用武之地。 • 自动标引:用机器抽取或赋予索引词。 • 自动摘要: • 自动分类:即利用计算机对一批实体或对象进行分类。自动分类主要应用于文献聚类和关键词聚类等研究领域中。 • 信息检索:目前国内流行的全文检索系统一般都是按词检索的,它内嵌汉语自动分词系统。 和服| 务| 于三日后裁制完毕,并呈送将军府中。 王府饭店的设施 | 和| 服务| 是一流的。
自动分词面临的问题 • 分词单位的确认 • 切分歧义 • 未登录词 • 理解与分词的先后
自动分词面临的问题—分词单位的确认 • 分词单位的确认---- 分词规范的难点 • 汉语词的概念尚待研究 • “词是什么”(词的抽象定义) • “什么是词”(词的具体界定) • “韵律词”、“词汇词”、“语法词”、“形式词”、“理论词” • 词的确定 • 词与语素的划界 • 提问法、剩余法、扩展法、紧缩法、换位法、语体分析法 • 词与词组的划界。 • 同形替代法及隔开法 • 群众的语感与语言学的标准
对“词”的认识,群众的语感与语言学的标准有较大差异。对一篇约300字的自编短文,请258名文理科大学生手工切词,对于其中45个双音节和三音节结构,切分结果同专家相同的部分很小。如(括号中表示选择切分开的人数所占百分比):对“词”的认识,群众的语感与语言学的标准有较大差异。对一篇约300字的自编短文,请258名文理科大学生手工切词,对于其中45个双音节和三音节结构,切分结果同专家相同的部分很小。如(括号中表示选择切分开的人数所占百分比): 名名结构:花草(7)、湖边(6)、湖水(3)、湖面(2)、房顶(2) 形名结构:蓝天(4)、白云(3)、小鸟(2)、小湖(3) 动补结构:走向(16)、翻过(10)、变成(3) 动宾结构:担水(6)、不知名(10) 数量结构:一道(6)、一段(10)、一层(6)
分词规范 • 信息处理用现代汉语分词规范(GB13715-1990)(1988年开始研制) 本规范以信息处理用为目的,根据现代汉语的特点及规律,规定现代汉语的分词原则。提出用“分词单位”来指称,分词单位是汉语信息处理使用的、具有确定的语义或语法功能的基本单位。它包括本规范的规则限定的词或词组。分词原则:结合紧密、使用频繁。 • 刘源 等(1994)《信息处理用现代汉语分词规范及自动分词方法》,清华大学出版社、广西科学技术出版社,1994年版。 • 黄居仁、陈克健 等(1997)《信息处理用中文分词规范设计理念及规范内容》,载《语言文字应用》1997年第1期。 • 《信息处理用汉语分词规范》 GB/T13715-92,中国标准出版社,1993 • 《资讯处理用中文分词规范》 台湾中研院 • 《人民日报》语料库词语切分规范 北大计算语言学所
具体的分词标准实例 • 二字或三字词,以及结合紧密、使用稳定的 发展 可爱 红旗 对不起 自行车 青霉素 • 四字成语一律为分词单位:胸有成竹 欣欣向荣 • 四字词或结合紧密、使用稳定的四字词组 社会主义 春夏秋冬 由此可见 • 五字和五字以上的谚语、格言等,分开后如不违背原有组合的意义,应予切分: 时间/就/是/生命/ 失败/是/成功/之/母 • 结合紧密、使用稳定的词组则不予切分:不管三七二十一 • 惯用语和有转义的词或词组,在转义的语言环境下,一律为分词单位: 妇女能顶/半边天/ 他真小气,象个/铁公鸡/
具体的分词标准实例 • 略语一律为分词单位 科技 奥运会 工农业 • 分词单位加形成儿化音的“儿” 花儿 悄悄儿 玩儿 • 阿拉伯数字等,仍保留原有形式 1234 7890 • 现代汉语中其它语言的汉字音译外来词,不予切分 巧克力 吉普 • 不同的语言环境中的同形异构现象,按照具体语言环境的语义进行切分: 把/手/抬起来 这个/把手/是木制的
分词规范问题 • 目前计算机在对汉语进行分词时主要依靠分词系统中的词表:基础词表(或叫通用词表和附加词表。要给出这样的词表并不容易。 • 汉语的语素与词、合成词与短语之间的界限不分明,许多词在实际使用中可分可合。 放假、吃苦、帮忙、发财、相信、看见----------放了假、吃点苦、帮个忙、发了大财、相不相信、看没看见等。 • 汉语中有些语素构词能力超强 如“者”,一般的构词是劳动者、建设者、作者、读者等,但是又可以说坚强勇敢者、持有两国护照者、经历苦难而最终获得幸福者、第一个走进塔克拉玛干大沙漠者。 • 收词原则“结合紧密、使用稳定”只是一个抽象的标准。 要认定一个字串是否可以当作一个词,需要在真实文本语料中加以考察,而且有些结合紧密、使用稳定的字串也未必就是词,如这是、每一、再不、不多、不在、这就是、对不起、也就、看不起、日月星辰、春夏秋冬等。
自动分词面临的问题—切分歧义 • 交集型与组合型歧义 • 交集型歧义 如果AB和BC都是词典中的词,那么如果待切分字串中包含“ABC”这个子串,就必然会造成两种可能的切分:“AB/ C/” 和 “A/ BC/ ”。这种类型的歧义就是交集型歧义。 • 组合型歧义 如果AB和A、B都是词典中的词,那么如果待切分字串中包含“AB”这个子串,就必然会造成两种可能的切分:“AB/” 和“A/ B/ ”。这种类型的歧义就是组合型歧义 • 混合型歧义
交集型与组合型歧义示例 • 美国会通过对台售武法案。 • 总统有意见他----我对他有意见 • 中国产品质量 • 乒乓球拍卖完了。 • 网球场 • 龙强大酒店 • 工作压力大,餐餐饮酒上了瘾。 • 将军用毛毯盖在他身上。 • 中国人为了实现自己的梦想…… • 部分居民生活水平 • 中国产品质量 • 为人民工作 他站 | 起| 身| 来。 他明天 | 起身| 去北京。 三个人一块来上课。 我个人不同意这种做法。 研究生会同意举行这个活动吗? 门把手弄坏了。 他从马上下来 我马上就来 她们一起去 出了一起交通事故 学生会组织召开了联欢会 上课时学生会主动提问吗 这样的人才能经受住考验 在海湾大学生活像白纸
真歧义与伪歧义 • 真歧义 确实能在真实语料中发现多种切分形式 这几块地面积还真不小 地面积了厚厚的雪 • 伪歧义 虽然有多种切分可能性,也就是说理论上有很多歧义,但在真实语料中往往取其中一种切分形式。 挨批评、市政府 歧义切分算法的“组合爆炸” 公路局正在治理解放大道路面积水问题 南京市长江大桥
汉语真实文本中的分词歧义情况 • 梁南元(1987) 一个含有48,092字的自然科学、社会科学样本中,交集型切分歧义有518个,多义组合型切分歧义有42个。中文文本中切分歧义的出现频度约为1.2次/100字,交集型切分歧义与多义组合型切分歧义的出现比例约为12∶1。 • 材料一:孙茂松 等 1999 一个1亿字真实汉语语料库中抽取出的前4,619个高频交集型歧义切分覆盖了该语料库中全部交集型歧义切分的59.20%,其中4279个属伪歧义(占92.63%,如“和软件”、“充分发挥”、“情不自禁地”),覆盖率高达53.35%。 • 材料二:刘开瑛 2000,第4章 8248个交集型歧义字段中 伪歧义:94%;真歧义:6% 多切分:12%;单切分:88%
分词歧义的四个层级(何克抗 等 1991, 50883字语料) 词法歧义 :84.1% (“用方块图形式加以描述”) 句法歧义 :10.8% (“他一阵风似的跑了”) 语义歧义 :3.4% (“学生会写文章”) 语用歧义 :1.7% (“美国会采取措施制裁伊拉克”) • 基于句法和语义处理技术的歧义分析精度的上限(“语义级理想切分精度” 1/6250)
自动分词面临的问题—未登录词 • 虽然一般的词典都能覆盖大多数的词语,但有相当一部分的词语不可能穷尽地收入系统词典中,这些词语称为未登录词或新词。未登录词包括中外人名、中国地名、机构组织名、事件名、货币名、缩略语、派生词、各种专业术语以及在不断发展和约定俗成的一些新词语。 • 专有名词:中文人名、地名、机构名称、外国译名、时间词 “联合国教科文组织”是1个词吗? • 新出现的词汇、术语、个别俗语等 • 重叠词:“高高兴兴”、“研究研究” • 派生词:“一次性用品” • 与领域相关的术语:“互联网”
汉语自动分词的基本原则与辅助原则 • 基本原则 • 1、语义上无法由组合成分直接相加而得到的字串应该合并为一个分词单位。(合并原则) 如:不管三七二十一(成语),或多或少(副词片语),十三点(定量结构),六月(定名结构),谈谈(重叠结构,表示尝试),辛辛苦苦(重叠结构,加强程度),进出口(合并结构) • 2、语类无法由组合成分直接得到的字串应该合并为一个分词单位。(合并原则) • i) 字串的语法功能不符合组合规律,如:好吃,好喝,好听,好看等 • ii) 字串的内部结构不符合语法规律,如:游水等
辅助原则 操作性原则,富于弹性,不是绝对的。 • 1、有明显分隔符标记的应该切分之(切分原则)分隔标记指标点符号或一个词。 上、下课→ 上/ 下课 洗了个澡→ 洗/ 了/ 个/ 澡 • 2、附着性语(词)素和前后词合并为一个分词单位(合并原则) “吝”是一个附着语素,“不吝”、“吝于”等合并成一个词; “员”:检查员、邮递员、技术员等; “化”:现代化、合理化、多变化、民营化等。 • 3、使用频率高或共现率高的字串尽量合并为一个分词单位(合并原则) “进出”、“收放”(动词并列); “大笑”、“改称”(动词偏正); “关门”、“洗衣”、“卸货”(动宾) ; “春夏秋冬”、“轻重缓急”、“男女”(并列); “象牙”(名词偏正);“暂不”、“毫不”、“不再”、“早已”(副词并列)等
4、双音节加单音节的偏正式名词尽量合并为一个分词单位(合并原则)4、双音节加单音节的偏正式名词尽量合并为一个分词单位(合并原则) “线、权、车、点”等所构成的偏正式名词: “国际线、分数线、贫困线”、“领导权、发言权”、“垃圾车、交通车、午餐车”、“立足点、共同点、着眼点”等。 • 5、双音节结构的偏正式动词应尽量合并为一个分词单位(合并原则)。 本原则只适合少数偏正式动词,如:“紧追其后”、“组建完成”等,不适合动宾及主谓式复合动词。
6. 内部结构复杂、合并起来过于冗长的词尽量切分(切分原则) • 词组带接尾词 太空/ 计划/ 室、塑料/ 制品/ 业 ii) 动词带双音节结果补语 看/ 清楚、讨论/ 完毕 iii) 复杂结构 自来水/ 公司、中文/ 分词/ 规范/ 研究/ 计划 iv) 正反问句 喜欢/ 不/ 喜欢、参加/ 不/ 参加 v) 动宾结构、述补结构的动词带词缀时: 写信/给、取出/ 给、穿衣/ 去 vi) 词组或句子的专名,多见于书面语,戏剧名、歌曲名等: 鲸鱼/ 的/ 生/ 与/ 死、那/ 一/年/ 我们/ 都/ 很/ 酷 vii) 专名带普通名词: 胡/ 先生、京沪/ 铁路
汉语自动分词基本方法 • 有词典切分/ 无词典切分 • 主观分词法和客观分词法 • 主观分词法又称为“底表法”。是由人事先制定一个大规模的分词底表,然后机器按照底表来进行自动分词。主观圈定的底表中的词,机器可识,底表中没有的词,机器将拒识或者误识。 • 根据处理方法的不同,“底表法”又可以分为: • 简单的模式匹配:正向最大匹配、逆向最大匹配法、双向匹配法 • 基于规则与基于统计 • 基于规则分析方法 • 最少分词算法 • 基于统计的方法 • 统计语言模型分词、串频统计和词形匹配相结合的汉语自动分词、无词典分词
汉语自动分词基本方法--最大匹配法(Maximum Matching, MM法) • 最大匹配法属于有词典切分,机械切分过程很简单。首先准备一个词表,顺序扫描待分配的句子,将句子中候选词按照从大到小的顺序依次跟词表中的词进行匹配,匹配成功即作为一个词输出,这样就使每次输出的词是长度最大的。显然,用这种方法分词,分词词表中可以不收录单字词,如果一个句子中多字候选词跟词表中所有的词都匹配不上,自然就只能把单字词作为分词结果输出了。 • 最大匹配法又分为正向最大匹配算法(Forward MM,FMM)、逆向最大匹配算法(Backward MM,BMM)、双向最大匹配算法(Bi-directional MM)。
最大匹配法--基本思想 • 1.设自动分词词典中最长词条所含汉字个数为I; • 2.取被处理材料当前字符串序数中的I个字作为匹配字段,查找分词词典。若词典中有这样的一个I字词,则匹配成功,匹配字段作为一个词被切分出来,转6; • 3.如果词典中找不到这样的一个I字词,则匹配失败; • 4.匹配字段去掉最后一个汉字,I--; • 5.重复2-4,直至切分成功为止; • 6.I重新赋初值,转2,直到切分出所有词为止
最大匹配法—算法描述 句子: S=c1c2…cn 假设词:wi =c1c2…cm 为词典中最长词的字数. 0)令i=0,当前指针pi 指向输入字串的初始位置,执行下面的操作: 1)计算当前指针pi到字串末端的字数(即未被切分字串的长度)n,if n=1,转3)。否则,令m=词典中最长单词的字数, if n < m, 令m = n; 2)从当前pi 起取m个汉字作为词wi ,作如下判断: a) 如果wi 确实是词典中的词,则在wi 后添加一个切分标志,转c); b) 如果wi 不是词典中的词且wi的长度大于1,将wi 从右端去掉一个字,转2)中的i) 步;否则(即wi的长度等于1),则在wi后添加一个切分标志,将wi作为单字词添加到词典中,执行c); c) 根据wi 的长度修改指针pi的位置,如果pi 指向字串末端,转3),否则, i=i+1,返回1); 3)输出切分结果,结束分词程序。
最大匹配法—切分实例 假设有下面的分词词表,最大词长MaxLen=5,即一个词不超过5个汉字。对例句S1=“计算语言学课程是三个课时”进行分词处理的详细过程如下: (1)S2="";S1不为空,从S1左边取出候选子串W="计算语言学"; (2)查词表,“计算语言学”在词表中,将W加入到S2中,S2=“计算语言学/ ”, 并将W从S1中去掉,此时S1="课程是三个课时"; (3)S1不为空,于是从S1左边取出候选子串W="课程是三个"; (4)查词表,W不在词表中,将W最右边一个字去掉,得到W="课程是三"; (5)查词表,W不在词表中,将W最右边一个字去掉,得到W="课程是"; (6)查词表,W不在词表中,将W最右边一个字去掉,得到W="课程" (7)查词表,W在词表中,将W加入到S2中,S2=“计算语言学/ 课程/ ”,并 将W从S1中去掉,此时S1="是三个课时"; (8)S1不为空,于是从S1左边取出候选子串W="是三个课时"; (9)查词表,W不在词表中,将W最右边一个字去掉,得到W=“是三个课”; (10)查词表,W不在词表中,将W最右边一个字去掉,得到W="是三个"; (11)查词表,W不在词表中,将W最右边一个字去掉,得到W="是三" (12)查词表,W不在词表中,将W最右边一个字去掉,得到W=“是”,这时W是单字,将W加入到S2中,S2=“计算语言学/ 课程/ 是/ ”,并将W从S1中去掉,此时S1="三个课时";
(13)S1不为空,从S1左边取出候选子串W="三个课时";(13)S1不为空,从S1左边取出候选子串W="三个课时"; (14)查词表,W不在词表中,将W最右边一个字去掉,得到W="三个课"; (15)查词表,W不在词表中,将W最右边一个字去掉,得到W="三个"; (16)查词表,W不在词表中,将W最右边一个字去掉,得到W=“三”,这时W是单字,将W加入到S2中,S2=“计算语言学/ 课程/ 是/ 三/ ”,并将W从S1中去掉,此时S1="个课时"; (17)S1不为空,从S1左边取出候选子串W="个课时"; (18)查词表,W不在词表中,将W最右边一个字去掉,得到W="个课"; (19)查词表,W不在词表中,将W最右边一个字去掉,得到W=“个”,这时W是单字,将W加入到S2中,S2=“计算语言学/ 课程/ 是/ 三/ 个/ ",并将W从S1中去掉,此时S1="课时"; (20)S1不为空,从S1左边取出候选子串W="课时"; (21)查词表,W在词表中,将W加入到S2中,S2=“计算语言学/ 课程/ 是/ 三/ 个/ 课时/ ",并将W从S1中去掉,此时S1=""。 (22)S1为空,输出S2作为分词结果,分词过程结束。 以上过程是从左向右扫描的结果,叫作正向最大匹配法;反过来,从右向左 扫描来选取候选词,成为逆向最大匹配。
最大匹配法的优缺点 • 优点: • 程序简单易行,开发周期短; • 仅需要很少的语言资源(词表),不需要任何词法、句法、语义资源; • 弱点: • 1.最大词长的确定 (1)词长过短,长词就会被切错(“中华人民共和国”) (2)词长过长,无谓匹配次数过多,效率就比较低 • 2.切分歧义消解的能力差;掩盖了分词歧义 正向扫描和逆向扫描同时使用,能发现一部分交集型切分歧义。如: “有意见分歧” (正向最大匹配和逆向最大匹配结果不同) 正向扫描:有意/ 见/ 分歧/ 逆向扫描:有/ 意见/ 分歧/ 但仍有一部分交集型歧义无法发现,如: “结合成分子时” (正向最大匹配和逆向最大匹配结果相同) 结合/ 成分/ 子时/
而对于组合型歧义,用最大匹配法则肯定无法发现,因为最大匹配法始终会且分出AB作为一个词。而对于组合型歧义,用最大匹配法则肯定无法发现,因为最大匹配法始终会且分出AB作为一个词。 • 解决办法:可以将一些容易造成组合型歧义的分词单位建成一个歧义词表,用最大匹配法分词后,看分出的词是否属于这个词表。如果属于,再调用一些规则来帮助判定切分结果是否正确。 • 3.切分正确率不高,一般在95%左右。 • 往往不单独使用,而是与其它方法配合使用
逆向最大匹配分词(Backward Maximum Matching method, BMM法) • 分词过程与FMM方法相同,不过是从句子(或文章)末尾开始处理,每次匹配不成功时去掉的是前面的一个汉字。 “市场/中/国有/企业/才能/发展/ ” • 实验表明:逆向最大匹配法比最大匹配法更有效,错误切分率为1/245 • 双向匹配法(Bi-direction Matching method, BM法) 比较FMM 法与BMM 法的切分结果,从而决定正确的切分 可以识别出分词中的交叉歧义