660 likes | 739 Views
第七章 信息组织中的自然语言. 第二节 自然语言标引. 本节内容. 一、汉语分词及其障碍概述 二 、 汉语分词方法 三 、 汉语分词系统演示 四 、 自然语言 标引 五 、 单汉字索引与全文索引. 一、汉语自动分词. (一)汉语的语言特点 (二)汉语切分中的难点 (三)汉语自动分词的困难. (一 ) 汉语的语言特点. 汉语属于黏着性语言,较之于属于屈折型语言的西语系(如英语、法语、德语等)语言,词与词之间缺乏任何形式上的标志 汉语特有的书写形式、灵活多变的构词方式以及不同的分词形式代表着不同含义 克服制约中文信息处理发展的最大瓶颈
E N D
第七章 信息组织中的自然语言 第二节 自然语言标引
本节内容 一、汉语分词及其障碍概述 二、汉语分词方法 三、汉语分词系统演示 四、自然语言标引 五、单汉字索引与全文索引
一、汉语自动分词 (一)汉语的语言特点 (二)汉语切分中的难点 (三)汉语自动分词的困难
(一)汉语的语言特点 • 汉语属于黏着性语言,较之于属于屈折型语言的西语系(如英语、法语、德语等)语言,词与词之间缺乏任何形式上的标志 • 汉语特有的书写形式、灵活多变的构词方式以及不同的分词形式代表着不同含义 • 克服制约中文信息处理发展的最大瓶颈 • “英语文本的信息处理天然地就在词平面上。而汉语文本起步是在字平面上,落后英文一个层次。这一个层次的差异是本质上的、全局性的,如果解决不好,中文信息处理将在整体上永远困顿于低水平,无法向高级形态发展”。
(二)汉语切分中的难点 • 汉字之间存在着不同的组词方式 • 如“发展中国家兔的饲养”一句,现有的汉语词就可能导致有两组语词分隔结果:发展中国家/兔/的/饲养,发展/中国/家兔/的/饲养。 • 从标引的角度分析,交集型的标引词汇难以处理 • 如,“并行程序设计语言”,其标引词应为,并行程序设计/程序设计语言,而不应从任一处简单分开。 • 汉语虚词众多,而且绝大多数汉字当与不同的汉字组词时,其词可能为关键词,也可能为非用词 • 如,“非”与“家”、“常”、“洲”分别组成不同意义的词“是非”、“非常”(非用词)和“非用词”(关键词)。 • 新词的频繁出现也给汉语分词增添了难度
(三)汉语自动分词的困难 分词歧义 未登录词识别
分词歧义的类型 • 交集型歧义 如果AB和BC都是词典中的词,那么如果待切分字串中包含 “ABC”这个子串,就必然会造成两种可能的切分:“AB/C/”和 “A/BC/”。这种类型的歧义就是交集型歧义。比如“网球场”就 可能造成交集型歧义(网球/场/:网/球场/)。 • 组合型歧义 如果AB和A、B都是词典中的词,那么如果待切分字串中包含 “AB”这个子串,就必然会造成两种可能的切分:“AB/”和 “A/ B/ ”。这种类型的歧义就是组合型歧义。比如“个人”就可能造成组合型歧义((我)个人/ :(三)个/人/)。
链长歧义字段 1 2 3 4 5 6 7 8 总计 Token次数 47 402 28 790 1 217 608 29 19 2 1 78 248 比例% 50.58 47.02 1.56 0.78 0.04 0.02 0.00 0.00 100 Type种数 12 686 10 131 743 324 22 5 2 1 23 914 比例% 53.05 42.36 3.11 1.35 0.09 0.02 0.01 0.01 100 汉语真实文本中的分词歧义情况 • 交集型歧义字段在语料中的分布情况(刘开瑛2000, p65) 语料规模:500万字新闻语料
汉语真实文本中的分词歧义情况(续) • 真歧义 • 确实能在真实语料中发现多种切分形式比如“应用于”、“地面积”。 • 伪歧义 • 虽然有多种切分可能性,但在真实语料中往往取其中一种切分形式;比如“挨批评”、“市政府”。
汉语真实文本中的分词歧义情况(续) • 材料一:孙茂松 等 1999 • 一个1亿字真实汉语语料库中抽取出的前4,619个高频交集型歧义切分覆盖了该语料库中全部交集型歧义切分的59.20%,其中4,279个属伪歧义(占92.63%,如“和软件”、“ 充分发挥”、“情不自禁地”),覆盖率高达53.35%。 • 材料二:刘开瑛 2000,第4章 • 78248个交集型歧义字段中,伪歧义:94%;真歧义:6% 多切分 12% 单切分 88%。
汉语真实文本中的分词歧义情况(续) • 分词歧义的四个层级(何克抗 等 1991, 50 883字语料) • 词法歧义 :84.1% (“用方块图形式加以描述”) • 句法歧义 :10.8% (“他一阵风似的跑了”) • 语义歧义 :3.4% (“学生会写文章”) • 语用歧义 :1.7% (“美国会采取措施制裁伊拉克”) 基于句法和语义处理技术的歧义分析精度的上限(“语义级理想切分精度”1/6250) 所谓切分精度,即指错误率
切分歧义的解决策略 • 汉语文本中含有许多歧义切分字段,典型的歧义有交集型歧义(约占全部歧义的85%以上)和组合型歧义。只有向分词系统提供进一步的语法、语义知识才有可能作出正确的决策 • 排除歧义常常用词频、词长、词间关系等信息 • 比如“真正在”中,“真”作为单字词的频率大大低于“在”作为单字词的频率,即“在”常常单独使用而“真”作为单字词使用的可能性较小,所以应切成“真正/在”。 • 有时切分歧义发生在一小段文字中,但为了排除歧义,需要看较长的一段文字 • 如“学生会”既可能是一个名词,指一种学生组织,也可能是“学生/会”,其中“会”为“可能”或“能够”的意思。在“学生会主席”中只能是前者,在“学生会去”中只能是后者,在“学生会组织义演活动”中歧义仍然排除不了,则需要看更多的语境信息。
未登录词(unknown word) • 中外的人名,地名 • “雪村”,“老张”,“莎士比亚”,“叙利亚” 。 • 中外组织机构单位名称和商品品牌名 • “希望电脑”,“国际乒联”,“非常可乐”。 • 专业领域的大量术语 • “线性回归”,“韦特比算法”。 • 新词语,缩略语 • “卡拉OK”,“E时代”,“打假”。 • 汉语重叠形式、离合词的分析 • 看看 家家 打听打听 高高兴兴 乐呵呵 看一看 看了看 黑不溜逑 古里古怪 • 游了一会儿泳 发理了没有 担什么心
未登录词识别 • 未登录词即未包括在分词词表中但必须切分出来的词,包括各类专名(人名、地名、企业字号、商标号等)和某些术语、缩略词、新词等等 • “于大海发明爱尔肤护肤液”需要切分成“于大海/发明/爱尔肤/护肤液”,并需要识别出“于大海”是人名,“爱尔肤”是商标名,“护肤液”是术语名词。 • 专名中还包括外族、外国名的汉译名 • 如“斯普林菲尔德是伊里诺州首府”,“丹增嘉措70多岁了”,其中的美国地名、藏族人名都需识别。 • 未登录词的识别对于各种汉语处理系统不仅有直接的实用意义,而且起到基础性的作用。因为各种汉语处理系统都需要使用词频等信息,如果自动分词中对未登录词识别不对,统计到的信息就会有很大误差 • 比如,一个分词系统若不做中外人名识别,分词后进行词频统计,可能会发现“张”、“王”、“李”、“刘”、“尔”、“斯”的频率比“却”、“如”、“你”的频率还要高,用这样的统计结果做汉语处理,其效果肯定有问题。 • 又比如校对系统,如果系统不具备生词识别能力,就无法判断句子中大部分词的使用是否合理,也就不能检查真正的错误所在。
识别未登录词的策略 • 尽可能多地收集词汇,以降低碰到未登录词的机会 • 通过构词规则和上下文特征规则来识别 • 通过统计的方法来猜测经过一般的分词过程后剩下的“连续单字词碎片”是人名、地名等的可能性,从而识别出未登录词
二、汉语分词方法 (一)基于字符串匹配的分词方法 (二)基于理解的分词方法 (三)基于统计的分词方法
(一)基于字符串匹配的分词方法 • 这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词) • 分类: • 按照扫描方向的不同:正向匹配和逆向匹配 • 按照不同长度优先匹配的情况:最大匹配和最小匹配; • 按照是否与词性标注过程相结合:单纯分词方法和分词与标注结合的一体化方法。 • 常用的几种机械分词方法如下: • 正向最大匹配(MM); • 逆向最大匹配 (RMM); • 最少切分(使每一句中切出的词数最小); • 双向匹配法(MM+RMM)。
机械分词方法一般模型 • 对于机械分词方法,可以建立一个一般的模型,形式地表示为: • ASM(d,a,m),即Automatic Segmentation Model。其中, d:匹配方向,+1表示正向,-1表示逆向; a:每次匹配失败后增加/减少字串长度(字符数),+1为增字,─1为减字; m:最大/最小匹配标识,+1为最大匹配,─1为最小匹配。 • 例如: • ASM(+, -, +)就是正向减字最大匹配(即MM方法)。 • ASM(-, -, +)就是逆向减字最大匹配法(即RMM方法)。 • 对于现代汉语来说,只有m=+1是实用的方法。
实用的机械分词系统采用的改进方法 • 由于分词是一个智能决策过程,机械分词方法无法解决分词阶段的两大基本问题:歧义切分问题和未登录词识别问题。实际使用的分词系统,都是把机械分词作为一种初分手段,还需通过利用各种其他的语言信息来进一步提高切分的准确率 • 一种方法是改进扫描方式,称为特征扫描或标识切分,优先在待分析字符串中识别和切分出一些带有明显特征的词,以这些词作为断点,可将原字符串分为较小的串再来进机械分词,从而减少匹配的错误率 • 另一种方法是将分词和词类标注结合起来,利用丰富的词类信息对分词决策提供帮助,并且在标注过程中又反过来对分词结果进行检验、调整,从而极大地提高切分的准确率
词语 … 计算语言学 课程 课时 … 最大匹配法分词示例 S1="计算语言学课程是三个课时" 设定最大词长MaxLen = 5 S2= " " 分词词表
最大匹配法分词示例(续) (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="三个课时"; (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作为分词结果,分词过程结束。
no 查词典 yes 最大匹配法切词过程演示 输入字串: 时 间 就 是 生 命 就 是 生 命 时 间 就 是 TmpWord: 输出词串: 生命/ 是/ 就/ 时间/
最大匹配法分词存在的问题 • 最大词长的确定A.词长过短,长词就会被切错(“中华人民共和国”)B.词长过长,效率就比较低(算法的时间复杂度太高) • 掩盖了分词歧义A.“有意见分歧”(正向最大匹配和逆向最大匹配结果不同) 有意/ 见/ 分歧/ 有/ 意见/ 分歧/B.“结合成分子时”(正向最大匹配和逆向最大匹配结果相同) 结合/ 成分/ 子时/
歧义词表 … 才能 个人 能发现部分交集型歧义无法发现组合型歧义 家人 马上 IF W = "个人", WLeft = 数词THEN W = "个/人/" ENDIF 研究所 … 最大匹配法解决分词歧义的能力 对最大匹配法进行扩展:增加歧义词表,规则等知识库
最大匹配法解决分词歧义的能力(续) • 对于某些交集型歧义,可以通过增加回溯机制来改进最大匹配法的分词结果 • 例如:“学历史知识” 顺向扫描的结果是:“学历/ 史/ 知识/”,通过查词典知道“史”不在词典中,于是进行回溯,将“学历”的尾字“历”取出与后面的“史”组成“历史”,再查词典,看“学”,“历史”是否在词典中,如果在,就将分词结果调整为:“学/ 历史/ 知识/” 。
最大概率法分词 基本思想是: (1)一个待切分的汉字串可能包含多种分词结果 (2)将其中概率最大的那个作为该字串的分词结果 路径1: 0-1-3-5 路径2: 0-2-3-5 该走哪条路呢?
最大概率法分词 • S: 有意见分歧 • W1: 有/ 意见/ 分歧/ • W2: 有意/ 见/ 分歧/ Max(P(W1|S), P(W2|S)) ? 独立性假设,一元语法
词语 概率 … … 有 0.0180 有意 0.0005 意见 0.0010 见 0.0002 分歧 0.0001 … … 最大概率法分词 P(W1) = P(有) * P(意见) * P(分歧) = 1.8 × 10-9 P(W2) = P(有意) * P(见) * P(分歧) = 1×10-11 P(W1) > P(W2)
提高计算效率 如何尽快找到概率最大的词串(路径)? 到达候选词wi时的累计概率 公式1
提高计算效率(续) • 左邻词假定对字串从左到右进行扫描,可以得到 , , … , , , … 等若干候选词,如果 的尾字跟 的首字邻接,就称 为 的左邻词。比如上面例中,候选词“有”就是候选词“意见”的左邻词,“意见”和“见”都是“分歧”的左邻词。字串最左边的词没有左邻词。 • 最佳左邻词如果某个候选词 有若干个左邻词 , , … 等等,其中累计概率最大的候选词称为 的最佳左邻词。比如候选词“意见”只有一个左邻词“有”,因此,“有”同时也就是“意见”的最佳左邻词;候选词“分歧”有两个左邻词“意见”和“见”,其中“意见”的累计概率大于“见”累计概率,因此“意见”是“分歧”的最佳左邻词。
最大概率分词算法 (1) 对一个待分词的字串 S,按照从左到右的顺序取出全部候选词w1, w2 , … ,wi, … , wn ; (2) 到词典中查出每个候选词的概率值P(wi) ,并记录每个候选词的全部左邻词; (3) 按照公式1计算每个候选词的累计概率,同时比较得到每个候选词的最佳左邻词; (4) 如果当前词wn是字串S的尾词,且累计概率P'(wn)最大,则wn就是S的终点词; (5) 从wn开始,按照从右到左顺序,依次将每个词的最佳左邻词输出,即为S的分词结果。
结 结合 成 合 合成 成分 子 子时 分子 成 成分 分子 分 分 时 子时 子 时 子时 子 分子 分 时 时 子时 子 时 最大概率法切分过程演示 S
最大概率分词算法示例 (1)对“有意见分歧”,从左到右进行一遍扫描,得到全部候选词: “有”,“有意”,“意见”,“见”,“分歧”; (2)对每个候选词,记录下它的概率值,并将累计概率赋初值为0; (3)顺次计算各个候选词的累计概率值,同时记录每个候选词的 最佳左邻词: P'(有)=P(有), P'(有意) = P(有意), P'(意见)=P'(有) × P(意见),(“意见”的最佳左邻词为“有”) P'(见)=P'(有意) × P(见),(“见”的最佳左邻词为“有意”) P'(意见)>P'(见) (4)“分歧”是尾词,“意见”是“分歧”的最佳左邻词,分词过程结束, 输出结果:有/ 意见/ 分歧/。
最大概率法分词的问题 • 并不能解决所有的交集型歧义问题 “这事的确定不下来”W1= 这/ 事/ 的确/ 定/ 不/ 下来/W2= 这/ 事/ 的/ 确定/ 不/ 下来/ • 无法解决组合型歧义问题“做完作业才能看电视”W1= 做/ 完/ 作业/ 才能/ 看/ 电视/W2= 做/ 完/ 作业/ 才/ 能/ 看/ 电视/ P(W1)<P(W2) P(W1)>P(W2)
(二)基于理解的分词方法 • 通常的分析系统,都力图在分词阶段消除所有歧义切分现象。而有些系统则在后续过程中来处理歧义切分问题,其分词过程只是整个语言理解过程的一小部分 • 其基本思想: • 就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。 • 它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。 • 这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段
(三)基于统计的分词方法 • 从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此字与字相邻共现的频率或概率能够较好地反映成词的可信度。可以对语料中相邻共现的各个字的组合的频度进行统计,计算它们的同现信息。同现信息体现了汉字之间结合关系的紧密程度。当紧密程度高于某一个阈值时,便可认为此字组可能构成了一个词 • 这种方法只需对语料中的字组频度进行统计,不需要切分词典,因而又叫做无词典分词法或统计取词方法 • 但这种方法也有一定的局限性,会经常抽出一些共现频度高、但并不是词的常用字组,例如“这一”、“之一”、“有的”、“我的”、“许多的”等,并且对常用词的识别精度差,时空开销大 • 实际应用的统计分词系统都要使用一部基本的分词词典(常用词词典)进行串匹配分词,同时使用统计方法识别一些新的词,即将串频统计和串匹配结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点
三、汉语分词系统演示 • CEIRS汉语切分系统(http://www.in2in.com) • ICTCLAS切词标注系统
汉语自动分词的现状 • 基本实现了从实验室走向大规模真实文本的应用 • 1995年12月,国家科委组织了863智能机专题自动分词评测, 国内有几个系统参加。开放测试条件下的评测结果是: • 分词精度最高为89.4%; • 交集型切分歧义处理的正确率最高为78.0%,覆盖型切分歧义处理的正确率最高为59.0%; • 而未登录词识别的正确率,人名最高为58.0%,地名最高为65.0%(刘开瑛1997)。
四、自然语言标引 • 自然语言标引是指采用原文中的信息作为标引源,从中选取能够有效表征信息内容的特征词的过程 • 自然语言标引分为: • 人工标引方式包括自由标引和自由词补充标引,这是基于词表的主题标引法向自然语言标引回归的初期阶段上的标引方式。 • 计算机自动标引,是由Luhn先生在1957年率先提出的。 1956、1958年Luhn先后撰文提出自动抽词引的基本思想:一篇文章中一个词再现的频率是这个词重要性的有效测试。一个句子中具有给定重要测试的词的相关状态,成为该句子重要性的有效测试。按照词的出现频率,以一定的标准排除高频词与低频词,剩下的就是最能代表文献内容的词。
自然语言标引方式 • 自由标引 • 自动标引 • 西文自动标引 • 中文自动标引 自动抽词标引 自动赋词标引 自动赋分类号标引 • 单汉字索引与全文索引
自由标引 • 自由标引即人工关键词标引。是指将那些出现在文献的标题(篇名、章节名)以及摘要、正文中,对表征文献主题内容具有实质意义的语词,亦即对揭示和描述文献主题内容来说是重要的、带关键性的(可以作为检索入口的)那些语词抽取,抽取时不加规范或只做少量规范化处理 • “自由标引主要适用于报纸文献、期刊文献的大型篇名数据库等的标引
自由标引的优点 • 由于不使用词表控制,标引速度要比使用词表的主题标引快许多倍,这还意味着标引成本的降低 • 可用与文献主题专指度一致的词进行标引,保证较高的检准率 • 标引过程是标引人员进行主题分析的过程,如果标引人员具有一定的业务水平,则其标引质量可大大高于自动抽词标引
自动标引 • 所谓自动标引,是指利用计算机从各种文献中自动提取相关标识引导的过程 • “狭义”的自动标引包括主题标引的自动抽词标引和自动赋词标引两种方式。 • “广义”的自动标引还指在主题自动标引基础上的自动赋分类号标引。
西文自动标引 • 文本的词汇分析 • 非用词的去除 • 词干提取 • 索引项的选择
西 文 自 动 标 引 算 法 流 程
中文自动标引 • 自动抽词标引 • 自动赋词标引 • 自动赋分类号标引