对于产生性语言现象,规则部分(无论是人编写的规则,还是机器学出来的规则,无论是人能够看懂的显性规则 symbolic rules 还是一个黑箱子一样语言概率模型)也应该是 hierarchical 的,里面有个性的规则和共性的规则,以及二者之间的协调。这些都是对人的语言“创造性”的模拟。
语言的NLP层级模型大体是这样的:(1)*底层也是*优先的模块是词典,ngram这样的成语可以看成是n条腿走路,*牢靠,也*不讲道理(成语不需要讲道理,是词典强加的语义);(2)第二类现象是搭配关系,譬如某个特定的动词需要搭配某个特定的名词宾语才具有某种确定的意义(打...酱油, 打...电话),这可以称作两条腿走路: 这个搭配关系需要词典与句法的互动才能实现,因为所搭配的两条腿并不总是挨着的:打酱油,打了酱油,酱油打了么,没有酱油可打;(3)第三类是词驱动的现象,需要个性规则来对付(所谓“专家词典”的机制),我把它叫作一条腿走路,譬如个性的动宾规则:开...【人】, e.g. 我真想开了他,太操蛋了;开了张三,可以给李四腾出位子。注意,其中驱动的腿(电脑术语叫直接量,语言学里的显性形式)在这里是动词“开”,而【人】只是一个 feature,而不是特定的词(直接量)。这样的规则比两条腿或多条腿现象具有概括性,已经可以精细地捕捉相当一批产生式的语言现象,但是毕竟不是作为缺省的共性规则那么具有概括性和抽象度;(4)*后是完全建立在隐性形式 features 基础上的共性规则,可以叫做不用腿走路,譬如,及物动词 Vt +名词短语 NP 构成动宾 VP 的规则。有了这样的层级体系,就可以对付语言中个性与共性交错的种种现象。
总之,我们科普NLP的时候,在强调海量词典可以较**地应对双关语和其他看上去非常微妙的语言现象的同时,不要给人一种印象,机器不能对付产生式的现象。恰恰相反,迄今一切的 deep NLP 的活动,都是侧重于对付产生式现象(因为做词典相对容易,基本是一个纯体力活,做一条就是少一条,愚公也可以移山),包括句法结构和语义理解(via semantic de-compositionality)。说人因为联想具有了创造性,而机器只会死记,隔断了联想,因此不具有创造性,是小看了NLP和AI。词典方面的记忆,人脑是豆腐,电脑完胜人脑。所有的媒体误解,说电脑不能对付的所谓的成语微妙,全部是作为外行的记者和民众想象出来的,成语从来就不是问题。对于不能词典化的产生式语言现象,NLP 也在逼近人的智能,至少在句法结构的分析上,这种逼近几乎可以达到人的水平。而句法结构分析的 state-of-the-art 已经到了这样语义理解程度,虽然结构消歧仍然是困扰(encoding 零星的世界知识或常识可以帮助解决一部分歧义问题,不过工作很琐碎,也很难完备,因此不能保证全方位的 scale up),但是识别歧义却完全没有问题。如果双关语的多义标注(术语叫 non-deterministic results)可以在应用现场被巧妙运用,那么同理,这些歧义识别而来的语义结果也可以得到应用,并不一定要机器来代替人去做*佳的选择。拿“意思”来说,并不因为我们在词典收入了 8 个 ngrams (什么意思,没什么意思,意思意思,不够意思,小意思,真有意思,没有别的意思 和 不好意思),并且把他们当成了黑箱子,绑架了我们想要给的指定语义表达(无论这种表达是什么,那是系统内部的规定,譬如在 Siri 一类的应用中,这种表达就是表现为等价的替代表达法,在其他的系统中,可以有其他的语义表达及语义表达结构的 encoding),我们就不对 “意思” 本身做合适的处理。这种处理表现在给“意思”这个词条encode 相应的词典信息,然后由系统在规则中调用它来对付产生式的现象。而那8个条目及其微妙不过是作为产生式现象的例外而已,根据词典查询的 longest principle,这些例外条目与“意思”自然切割,因此摆脱了人类的“联想过度”的恶习。一句话,NLP 系统可以轻易克服人类的过度联想,同时可以模拟人类的有效联想。前者可以做到**,后者是逼近的。
【相关】
泥沙龙笔记:在知识处理中,很多时候,人不如机 2015-11-05
NLP 历史上*大的媒体误导:成语难倒了电脑
贴身小蜜的面纱和人工智能的奥秘 2015-11-04
《立委科普:机器可以揭开双关语神秘的面纱》 2015-11-03
【置顶:立委百检网博客NLP博文一览(定期更新版)】
微博相关评论留存:
立委_米拉:回复@白硕SH:明白了。可见作为 native speaker,**眼也没 parse 出这种俏皮话似的语言双关。此类现象有多大普遍性,需要做个调查。 11月8日 02:09白硕SH:回复@立委_米拉:把“举”单用,也是一解。 11月7日 22:04立委_米拉:回复@白硕SH: 白老师说的是collocations,属于两条腿走路的问题,需要做好词典与句法的交互和接口,机制上是没有问题的,主要就是磨细活。借...(之)尸,还...(之)魂. 白老师举的**句的问题没看懂:“纯属多此一举” 整个儿就是一成语,此句还有其他的问题么? 11月7日 20:57白硕SH:纯粹已经打包的成语不构成难度。难度在打包与拆包的边界线上,比如:“让贾宝玉在芭蕾舞中托举林黛玉,纯属多此一举。”“借海瑞之尸,还右倾机会主义者之魂。”前者要把已经打包的成语拆开,后者要从已经拆开的句式还原当初的包。白硕SH:拆包一定是有普遍规则或原则的,不可能用穷举的方式。 11月7日 22:58立委_米拉:我的博文后来加了一段n条腿走路的比喻,其中就有两条腿的collocations, QUOTE: 第二类现象是搭配关系,譬如某个特定的动词需要搭配某个特定的名词宾语才具有某种确定的意义(打...酱油, 打...电话),这可以称作两条腿走路。 11月7日 21:01对,规律性的拆包不能靠穷举和单列。譬如,洗澡,吃饭,打车,等,就是 V+N的规律性可分离合成动词(separable compound verb with V+N morphology structure),就可以统一处理而不是个案处理,诀窍就在词典与句法的接口上。 从 “洗澡、吃饭” 的处理机制到成语 “借尸还魂” 的拆包,只有一步之遥。 //@白硕SH:拆包一定是有普遍规则或原则的,不可能用穷举的方式。
‘ “在句法结构的分析上,这种逼近几乎可以达到人的水平。” 可能也就计算机学界人士敢这么说,语言学界和认知学界人士可不敢这么说。’ 语言学家不敢说这话,事实上计算机家包括深度学习大牛目前也不敢说这话的。可是经历过的、见证了的计算语言学杂家可以这么说。智叟不行,愚公可以。