打字猴:1.7010093e+09
1701009300
1701009301 【问题】何不用每个词出现的概率,来衡量分词的优劣?
1701009302
1701009303 【分析】
1701009304
1701009305 于是我们有了一个更标准、更连续和更自动的改进算法,即最大概率法:先统计大量真实语料中各个词出现的概率,然后把每种分词方案中各词的出现概率乘起来作为这种方案的得分。最后,选出得分最高的方案,当作分词的结果。
1701009306
1701009307 以“有意见分歧”为例,让我们看看最大概率法是如何工作的。查表可知,在大量真实语料中,“有”、“有意”、“意见”、“见”、“分歧”的出现概率分别是0.0181、0.0005、0.0010、0.0002、0.0001,因此“有/意见/分歧”的得分为1.8×10-9,但有“意/见/分歧”的得分只有1.0×10-11,正确方案完胜。
1701009308
1701009309 这里的假设是,用词造句无非是随机选词连在一块儿,是一个简单的一元过程。显然,这个假设理想得有点不合理,必然会有很多问题。考虑下面这句话:
1701009310
1701009311 这/事/的确/定/不/下来
1701009312
1701009313 但是概率算法却会把这个句子分成:
1701009314
1701009315 这/事/的/确定/不/下来
1701009316
1701009317 原因是,“的”字出现的概率太高了,它几乎总会从“的确”中挣脱出来。
1701009318
1701009319 其实,以上所有的分词算法都还有一个共同的大缺陷:它们虽然已经能很好地处理交集型歧义的问题,却完全无法解决另外一种被称为“组合型歧义”的问题。所谓组合型歧义,就是指同一个字串既可合又可分。比如说,“个人恩怨”中的“个人”就是一个词,“这个人”里的“个人”就必须拆开;“这扇门的把手”中的“把手”就是一个词,“把手抬起来”中的“把手”就必须拆开;“学生会宣传部”中的“学生会”就是一个词,“学生会主动完成作业”里的“学生会”就必须拆开。这样的例子非常多,“难过”、“马上”、“将来”、“才能”、“过人”、“研究所”和“原子能”都有此问题。究竟是合还是分,还得取决于它两侧的词语。
1701009320
1701009321 到目前为止,所有算法对划分方案的评价标准都是基于每个词的固有性质,完全不考虑相邻词语之间的影响,因而一旦涉及组合型歧义的问题,最大匹配、最少词数和概率最大等所有策略都不能实现,具体情况具体分析。
1701009322
1701009323
1701009324
1701009325
1701009326 于是,我们不得不跳出一元假设,把人类语言抽象成一个二元模型。对于任意两个词语w1和w2,统计在语料库中词语w1后面恰好是w2的概率P(w1,w2)。这样便会生成一个很大的二维表。再定义一个句子的划分方案的得分为…,其中w1,w2,……,wn依次表示分出的词,表示句子开头是w1的概率。我们同样可以利用动态规划求出得分最高的分词方案。这真是一个天才的模型,这个模型一并解决了词类标注和语音识别等各类自然语言处理问题。
1701009327
1701009328 至此,中文自动分词算是有了一个漂亮而实用的算法。
1701009329
1701009330 但是,随便拿份报纸读读,你就会发现我们之前给出的测试用例都太理想了,简直就是用来喂给计算机的。在中文分词中,还有一个比分词歧义更令人头疼的东西一一未登录词。
1701009331
1701009332 【问题】中文没有首字母大写,专名号也被取消了,这叫计算机如何辨认人名地名之类的东西?
1701009333
1701009334 【分析】
1701009335
1701009336 最近十年来,中文分词领域都在集中攻克这一难关。
1701009337
1701009338 在汉语的未定义词中,规律最强的要数中国人名了。根据统计,汉语姓氏大约有1000多个,其中“王”、“陈”、“李”、“张”和“刘”五大姓氏的覆盖率高达32%,前400个姓氏覆盖率高达99%。人名的用字也比较集中,“英”、“华”、“玉”、“秀”、“明”和“珍”六个字的覆盖率就有10.35%,最常用的400字则有90%的覆盖率。虽然这些字分布在包括文言虚词在内的各种词类里,但就用字的感情色彩来看,人名多用褒义字和中性字,少有不雅用字,因此规律性还是非常强的。根据这些信息,我们足以计算一个字符串能成为名字的概率,结合预先设置的阐值便能很好地识别出可能的人名。
1701009339
1701009340 可是,如何把人名从句子中切出来呢?换句话说,如果句子中几个连续字都是姓名常用字,人名究竟应该从哪儿取到哪儿呢?人名以姓氏为左边界,相对容易判定一些。人名的右边界则可以从下文的提示确定出来:人名后面通常会接“先生”、“同志”、“校长”、“主任”和“医生”等身份词,以及“是”、“说”、“报道”、“参加”、“访问”和“表示”等动作词。但麻烦的情况也是有的。一些高频姓氏本身也是经常单独成词的常用字,例如“于”、“马”、“黄”、“常”和“高”等。很多反映时代性的名字也是本身就成词的,例如“建国”、“建设”、“国庆”和“跃进”等。更讨厌的就是那些整个名字本身就是常用词的人了,它们会彻底打乱之前的各种模型。如果分词程序也有智能的话,它一定会把所有叫“高峰”、“汪洋”和“黄莺”的人拖出去斩了。
1701009341
1701009342 还有那些恰好与上下文组合成词的人名,例如“费孝通向人大常委会提交书面报告”和“邓颖超生前使用过的物品”等,这就是最考验分词算法的时候了。
1701009343
1701009344 中国地名的用字就分散得多了。中国地名委员会编写了《中华人民共和国地名录》,收录了从高原盆地到桥梁电站共10万多个地名,这让中国地名的识别便利了很多。
1701009345
1701009346 外文人名和地名的用字则非常集中,识别起来也并不困难。真正有些困难的就是识别机构名了,虽然机构名的后缀比较集中,但左边界的判断就有些难了。更难的就是品牌名了。如今各行各业大打创意战,品牌名可以说是无奇不有,而且经常本身就包含常用词,更是给自动分词添加了不少障碍。
1701009347
1701009348 最难识别的未登录词就是缩略语了。“高数”、“抵京”、“女单”、“发改委”和“北医三院”都是比较好认的缩略语,然而有些缩略语的含义连人都搞不清楚,又如何让计算机找出线索?你能猜到“人影办”是什么机构的简称吗?打死你都想不到,是“人工影响天气办公室”。
1701009349
[ 上一页 ]  [ :1.7010093e+09 ]  [ 下一页 ]