`
zangwenyang
  • 浏览: 124758 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于基于规则方法的反思【连载4】-思考

 
阅读更多
【问5】All and only假设是错的吗?
【答】是错的,而且是最核心的方向性错误。基于规则方法未来要复兴,必须对All and only假设进行彻底的清算和否定。
    为了更好地阐述笔者的观点,我们把“all and only”假设用计算机领域的术语复述一遍,如果有谁认为这不是乔姆斯基的原意,或者不是二十几年来基于规则方法主流技术路线的实际,欢迎商榷。另外,这里所说的“规则”仍然是狭义理解的规则,即使用符号化句法范畴表示的、基于符号模式匹配的重写规则。从外部判断是否使用了狭义理解的基于规则方法,可以有两个硬性的判据:一是能否识别超过10以上的任意层递归嵌套,二是能否识别距离大于10个词的不确定距离的成分间关联。
    “All and only”假设包含下面三层意思:
    第一,用于语言理解和用于语言生成,是同一套规则。
    第二,句法范畴(包括次范畴)的设定,依据的是语言生成时的“组句能力”,亦即其实例在同样语境中相互替换的能力。
    第三,目标语言的所有合法语言片段(包括句子),这套规则都能识别;这套规则生成出来的,都是目标语言的合法语言片段(包括句子)。
    对一门真实的自然语言,这样一套假设,无形之中把确定语言边界的任务交给了规则。而笔者认为,规则不足以确定真实的自然语言的边界。语言生成是一个带有很强社会传播色彩的活动,一种说法、一种搭配不会无缘无故产生。语言所描述的实体和事件本身的特性是决定因素之一,社会群体中另外一些人如何说也是决定因素之一。前者可以用次范畴进行细化的定义和区分,后者只能实时获取、感知,并且遵循一定的统计规律和涌现特征,也就是说,此前一直被认为“不能说”的某个说法,突然之间被认为“能说”了。涌现特征比较集中地体现在搭配的涌现和专名的涌现。
    搭配涌现的典型例子就是“犀利哥”。“犀利哥”这种搭配,不是因为“犀利”和“哥”各自负载了什么次范畴信息,而是因为一张真实存在的照片而突然涌现。换了与“哥”在语义上非常接近的“弟”“姐”,与“犀利”的搭配总是不自然的。一个语言生成系统,可以放心地生成“犀利哥”这样的搭配,但是不可以随意生成“犀利弟”“犀利姐”这样没有群体统计基础的搭配。反过来,也不能因为在这样的例子里“哥”、“弟”、“姐”的组句能力有差异,就强行赋予它们不同的句法范畴或次范畴,否则的话规则体系会很臃肿和ad hoc。
    专名涌现的典型例子就是“热得快”。众所周知,这是一种插入式电热水器的牌子。在这个牌子诞生之前,“热得快”只是一个普通的具有形容词词性的短语,并不具有专名的属性。问题是,专名的诞生,完全是一个社会现象。语言学家不仅无法预测某个普通短语何时会转为专名,甚至也无法断言某个普通的短语永远不会成为专名。连“方言”都可以成为王朔小说里的主人公名字,连“老百姓”都可以成为药房的名字。从语言生成的角度看,无缘无故地把一个普通短语当专名用是没道理的。从语言理解的角度看,没有一种把一个普通短语当专名理解的兜底手段是说不过去的,这种兜底手段就是所谓的“结构强制”。但是,如果滥用结构强制,从规则上允许所有普通短语随意当专名,也是要乱套的。
    有了上面的分析,我们可以肯定地说,规则只能确定语言的理想边界,统计则确定语言的现实边界。理想边界给现实边界留足空间,用于理解,不至于在新的语言现象出来时无所适从;现实边界不仅受理想边界的约束,还要受社会群体语言使用状况的约束,用于生成,说出来的语言片段都是既有规则基础又有社会统计基础的。
    笔者的建议是:放弃all and only假设,将语言的理想边界与语言的现实边界相区别,相应地将理解用的语言学知识和生成用的语言学知识相区别,前者以规则为主,辅之以统计数据触发的兜底的结构强制手段;后者在进入搭配和专名生成的环节后,以基于真实语料的统计模型为主,辅之以一般性的规则。
    当然,这样的区分并不是要对面向理解的规则体系“放水”。不严格以组句能力的共性为标准(即语言学上的“分布标准”)来划分句法范畴包括次范畴,并不意味着放松对规则精准性的要求。笔者建议的精准性要求尺度是:以不产生结构性“伪歧义”作为底线。就是说,不能因规则尺度宽松而导致说本族语的人们认为本来没有结构歧义的句子被判别为有歧义。见下图:



思考:
这篇文章我其实不同意白老师的观点。
我相信能理解的东西一定能表达出来....  人是这样,机器也是这样。
具体到专名识别问题上,其实经过统计发现“热得快”有名词的用法,就可以升级为一条规则,放到理解的体系中去,自然也就放到了生成的体系中去了
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics