设为首页收藏本站

爱吱声

 找回密码
 注册
搜索
查看: 3310|回复: 3
打印 上一主题 下一主题

[信息技术] 基于统计的语言处理规则——读吴军“数学之美”(2)

[复制链接]
  • TA的每日心情
    慵懒
    2019-4-30 09:37
  • 签到天数: 532 天

    [LV.9]渡劫

    跳转到指定楼层
    楼主
    发表于 2012-6-26 21:24:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    从人类学习语言的过程来说,本来就有两种办法:一种是本国人的办法,从小听说读写,没有人去费心学什么语法规则;另外一种是外国人的办法,学语法,背单词,语法学得头头是道,单词背了一堆,真正用起来还是不行。哪种效果好,不言而喻。
    - l" `. ^% G/ D6 q2 j- a( F9 p0 D! v- h. W8 A
    如果换个角度来看,可以说外国人的办法是基于“规则”的办法,这些“规则”就是由语言学家总结的语法;本国人的办法则是基于“统计”的办法,只不过这种”统计“在日常生活中就自动做了,自己都意识不到。“熟读唐诗三百首,不会作诗也会吟”,多接触语言素材,天长日久,自然知道怎么说是对的,怎么说是错的,怎么说更好一些。' ]4 m3 T$ O- t5 l* w9 K) H+ P# A
    ( a7 n3 n" V% s% P4 A8 [
    人的大脑当然和计算机不一样,但用语法规则的办法即使对计算机来说也是走不通的。问题的关键不在于计算机没法处理大的计算量,而在于没有那么多“语言学家”来拟定这些千变万化、日新月异的语法规则。那么用统计的方法呢?处理大数据量,向来是计算机的强项。而且统计方法的好处在于样本少了也能用,样本越多越精确。假如我们想让计算机判断“bush“到底是总统布什还是“小树丛”,当然可以靠制定诸如“布什”应当接着总统之类的规则来实现,但更好的方法应该还是靠上下文:在总统,国会,伊拉克之类的词旁边出现的”bush“,是布什的可能性当然高得多。
    0 Q9 e% E! M! G" d( h- W5 D- T% h0 c8 O1 {9 i! v' x
    计算机如何能判断一句话该怎么说?两个词之间的概率关系是可以通过语料库统计出来的,词A和词B的相对频度,就等于AB出现的频度除以B的频度。选取概率最高的方式,这就应该是所能得到的最好的结果。推而广之,一句话中各个词的关系也是可以的。但这是一种条件概率,第二个词的概率依赖于第一个词,而第三个词依赖于第一个、第二个词……问题变得非常复杂,但数学上我们可以假设任意一个词的概率只与它前面一个词相关,问题就大大简化了,而这样的假设得出的结果也是可用的。" [8 w+ n; I5 N8 u- ~3 O
    ) H2 L: r9 z9 e* k
    现实问题当然没那么简单,一个词出现的概率当然与前面的词相关。一般的,假设与前面N-1个词相关,则称为N-1阶马尔可夫假设。N=1时,就是上下文无关的假设,就像高级程序语言一样;N=2时,就像刚才提到的,是只与前面一个词相关的假设,而一般常见的是N=3。
    ( h$ h1 ]1 e4 n2 Q. B 4 P4 \2 s4 t$ }* a& {) o0 g( B
    实践证明,从N=2到N=3,效果提升明显;N=3到N=4,效果提升并不显著,资源消耗却相对增加很快。目前GOOGLE的翻译系统和语言识别系统做到了N=4。: t' F: X) O6 z6 E) h2 {9 W
    . D) P" q$ [6 {' D  ^4 m8 M0 a
    有了模型,当然需要训练,而当语料资源不足时,训练出的概率可信度会出现问题。譬如外星人在小镇上数了5分钟,一共数到6个人,就推断人类男女比例是5:1,这显然是有问题的。如果在大城市数一天,结果会可信得多。然而语言是千变万化的,相对于语言的复杂度来说,即使把互联网上所有现存的语料全都纳入进去,理论上讲数据量也是不够的。
    6 t1 H3 t; C7 p$ o" X7 E2 [
    5 o& x0 a8 X. R6 C1 l7 h因此,需要做进一步的估计和处理。原则就是“抓大放小”:高频度出现的,即使换了样本库,它应该还是高频度的,最多频度相对有点变化;但低频度出现的,完全可能和样本的选择有关,没准换些样本,就是另外的事件低频度出现了。因此,对于没有出现过的事件,也不能简单地认为概率为零,而需要给他们分配一定的概率,所分配的概率应当从出现概率较低的那些事件中来。经过这样的处理,整条频度曲线会比较平滑,而不是突然下降为零。这个还需要进行另外的计算来估计。
    : r4 x/ U0 \' K( D% C4 T* K
      i/ F! i7 O6 |7 P9 Z* q, W训练的语料和实际的应用环境也需要相配合,如果两者的领域脱节,模型效果肯定大打折扣。例如选取人民日报或者新华社的稿件作为网页搜索的素材,搜索结果并不好,因为实际网页上的文字并没有那么规范。  j, U& c+ o* w& J

    ) S8 q2 ?7 |, k& q7 g/ U
  • TA的每日心情
    奋斗
    2018-11-21 00:12
  • 签到天数: 283 天

    [LV.8]合体

    沙发
    发表于 2012-6-29 17:26:16 | 只看该作者
    google的翻译对于西方语系,比如英文对法文, 德语等语种, 处理得相当好了, 只要稍微改一下就可以了.
    % j6 N+ O& y  p$ l; R/ W0 H% M3 Z8 n. m' b/ |* u+ X
    但对中文,效果一般,只能提供些关键词,其他的还不行.
  • TA的每日心情
    慵懒
    2019-4-30 09:37
  • 签到天数: 532 天

    [LV.9]渡劫

    板凳
     楼主| 发表于 2012-6-29 20:28:15 | 只看该作者
    nj_power 发表于 2012-6-29 17:26 ( {  z: K8 r, _0 J" Z
    google的翻译对于西方语系,比如英文对法文, 德语等语种, 处理得相当好了, 只要稍微改一下就可以了.
    + y3 w6 p0 a+ m# N2 @
    ( t6 h) e8 i. u/ h& d但对中 ...

    3 y. V5 S: u1 H9 q7 t% v5 V翻译来说目前确实如此

    该用户从未签到

    地板
    发表于 2012-8-16 16:18:52 | 只看该作者
    最近二十年确实是统计学习大行其道,把基于规则的人工智能系统打得找不着北。

    手机版|小黑屋|Archiver|网站错误报告|爱吱声   

    GMT+8, 2025-10-29 15:33 , Processed in 0.039525 second(s), 21 queries , Gzip On.

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表