【李白79:中文深度解析的地基是词法分析器】

白:
“我电话费用不完”谁家分词系统强?

李:
这不仅仅是“分词”问题,而是词法分析(morphology analysis)问题,对比:


Note: M=Modifier, S=Subject, H = Head;
N=Noun, NP=Noun Phrase, AP=Adjective Phrase, CL = CLause

这里,“不”(还有“得”)是现代汉语的中缀(infix),派生词构词法如下:

用完 –》 用得完
用完 –》 用不完

而三元组“用不菲”却不成词:

“用不菲的价格购得”。


Note:M=Modifier, R=Adverbial, X=Functional, H = Head;
N=Noun, NP=Noun Phrase, AP=Adjective Phrase, VG=Verb Group, PP = Prepositional Phrase

白:
不菲 应该成词吧,不完 不该成词。

李:
对。但是 “用不完”成词,是派生词。上述词法分析除了派生(derive)了这个词,而且得到了这个派生词的分析结果:

(i)原词:“用完”
(ii)原词词典“绑架”的词法结构:述补
(iii)词法特征:【否定】【结果(述补结构)】【可能(情态)】

这不是切词,这是以派生的方式做词法分析,对比同为情态的等价表达“不能用完”:

(i)头词(Head):“用完”
(ii)句法短语:VG(动词组)
(iii)词法特征:【否定】【可能(情态)】

特别有意思的是,“用不完”的构成不是 “用” 与 “不完” 的拼接(concatenation),而是 “用完” 与 中缀“不”的派生式构建。这不是语言学上的合成构词法(compounding),而是派生构词法(derivation)。由于汉语被普遍地粗线条指认为缺乏构词法手段的所谓孤立语,大众一股脑把所有的构词都叫作 compounding(也叫“小句法”),但是现代汉语其实不是这么单纯。欧洲语言的构词手段大多在现代汉语也有体现,包括 类词尾(quasi-inflection)如表达完成体的“了”,也包括利用类缀(quasi-affix 如前缀。中缀、后缀)的派生(derivation),以及大量使用的重叠(duplication)构词手段(如:高兴–》高高兴兴)。我的博士论文对这些现代汉语的词法(morphology)现象及其计算机处理,有详尽论述,语言学味道浓一些(见:Ph.D. Thesis: THE MORPHO-SYNTACTIC INTERFACE IN A CHINESE PHRASE STRUCTURE GRAMMAR)。

现在已经清楚,为了中文自动分析,所谓中文分词,不仅仅是把要词“切分”出来, 而是应该输出白老师所说的微结构及其词法特征(时、体、态等)和句法特征(如类别、子类等) ,除此之外 还要通过“词典绑架”输出语义特征(叫 lexical semantic features)及其背后的本体知识层级体系(类似于董老师的HowNet,内含常识)。这样的词法分析器(lexical analyser)才算是完成了词法任务,为下一步的句法分析和语义分析打下基础,从而为汉语的深度理解开辟了道路。

所谓实体识别 (NER),属于合成词范畴,也是题中应有之义。还有 Data Entity 的合成,譬如各种度量表达法(长度、体积等)也是合成词。当然也要包括与句法纠缠的离合词(“洗澡”)的识别和绑定。

中文深度解析(deep parsing)的大楼不是凭空可以建造起来的,词法阶段就要夯实。

白:
“用不完”搞成词没啥意义

李:
这个没的争的。根本不是什么“搞成”词的问题,而是词法分析的问题。说到底,这个中缀的词法意义必须抠出来,因为它是 open-ended,绑架不全。最终系统要知道 “不能用完” 与 “用不完” 不过是用不同的词法句法形式,表达相同或相近的语义。否则何谈语言理解(NLU)?

白:
“用不完”在句法层次一样处理。放到构词法层次,难不成就是为了凑一个长词优先?

李:
句法与词法本来就是一伙的,从万米高空俯瞰,都是形式分析。句法如果能分析出词法分析同样的结果,亦无不可。以结果论英雄。但语言学上,它就是一个派生词,这个没有多少疑问。其实,“凑成一个长词优先”不仅是词法的“凑”,背后有其所以为词的原因在。词法句法在中文纠缠,并不说明二者没有顺序。顺序的一个体现就是长词优先。

白:
好的分词系统,即使“用不完”分成三个词,总体得分还是占优的才对。

李:
如果较真的话,中缀现象在通常的句法里面还真不好处理妥善。我们可以用近似、逼近的句法去处理中缀,但派生词的处理在词法是一个常规的过程,是词法里面避不开的一类。

白:
“我电话费用也用不完”

李:
这与沙滩望远镜看女孩有点异曲同工(自注:这是NLP领域最著名的代表结构歧义的例句:I saw a girl with telescope.  句末介词短语做 girl 定语,与做 saw 的状语,二者都说得通,是为“真歧义”)。这种人为的真歧义(1. 我电话费,用也用不完; 2. 我电话费用, 也用不完),系统怎么做都不能算错。理想的情况是输出两个结果,但人脑理解貌似也是先绑定一个结果(不同的人可能绑定不同的路径),有时间咀嚼的话,再想到另一个结果。人际交流和理解中,多数人不拘小节,根本不在乎这种歧义区分,除非是遇到较真的人,或在段子里。问题是,就算一个高明的系统可以区分这种较少出现的“真歧义”与大量存在的“伪歧义”,下一步接不上还不是白费。还不如就绑定一个。

“v 也 v 不完” 这种重叠手段与派生手段纠缠的汉语现象,不是应该把 “用不完” 置于句法的充分理由。首先,这种纠缠现象非常局限,基本上还在词法范畴内部,不像离合词“洗澡”,已经明显溢出到句法了,经常是“远距离”离合,那才真地需要词法(包括词典)与句法有一个灵活的接口。

白:
“电话费用不用得完成任务了再说。”

允许“用也用不完”成词,那就得允许“用不用得完”也成词吧?其后果是,即使“完成任务”算一个词也压不住了。

李:
压不住就不压呗。弯不过三。压不住的,基本上是长尾的尾端。

白:
这不是自然的压不住,是人为的压不住。不把那东东搞进词法就没这事儿。不是天灾,是人祸。拿解释天灾的逻辑解释人祸,欠妥。

李:
关于词法、句法,对于多层系统,就是一个连续体,有顺序,但没有一个黑白分界线,这与教科书里面的词典、词法、句法、语义等组件的各自完全独立不是一回事儿。
譬如说 1层到10层是黑色的词法,20层到40层是黑色的句法,但11层到19层呢,那就是灰色地带。可以说是词法后期,也可以说是句法前期,安排什么现象到灰色地带,是根据现象的特性来决定。因此争论某某是扔进词法还是句法这样的问题,前提的假设就是两个前后模块,而不是离散又连续的多层系统。

撇开抽象的模块分界,真正有意义的问题是,“凑成一个长词”(并参加分词大餐)是好处大于坏处还是相反?其实,答案是相当清楚的,利大于弊太多。与其指望一个“聪明”的分词程序来应对 “v -也(都)-v-不-完”这个五元组,不如把“长词”做出来心里踏实:这样再“笨”的分词程序也不至于出乱子。五元组分散开来进入分词所可能造成的副作用,较之合成了五元组长词(并同时做了词法分析)可能引起的后续的切分问题,前者比后者严重得多,也频繁得多,根本不是一个数量级上的问题严重程度和频繁程度。因此,恕我直言,白老师的“人祸vs天灾论”或者是唯心的,或者是误导的。

白:
关键是长词是什么时候做出来的,我很赞赏前面说的灰色地带的说法。长词是句法分析介入以后做出来的。做出来以后就可以反悔分词方案。这样分词和句法两方面就都是可控的。走的路线类似分词1-句法1-分词2-句法2………这种。

李:
有道理。不过白老师举例来说的人祸论实在不能让人心服。事实上,分词系统免不了要用 heuristics,对于每一个heuristic,无论如何表达,也无论如何安排先后次序及权重永远可以找出反例来,这是 heuristic 的本性。但我们最好不用(罕见的)反例来结论某种安排是人祸。如果不那样安排,这个人祸是避免了,另外一个更大的人祸很可能就在身边,因为所谓“没有了人祸的更高明的方案”其实并不能保证周全。这不是说方案与方案之间没有优劣,而是说,门户之见很容易让我们看到别人方案的缺点,忽视了自己方案的副作用。

白:
可以有一些另外的表述,比如结构冻结,比如分词永远在进行时,都能让人更好地理解所说方案的建设性。人贵在举一反三。如果从反例中只能看到个别、长尾、噪音乃至门户之见,那很可能就忽略了真正有意义有价值的问题。

李:
对,道理是这样的。不过,直觉还是很担心五元组进入分词程序的。晚上睡不好觉。汉语是二字词为主,五元散列的情况让人心慌,老觉得会当成外国人名给打入了另册。如果v是二字词,则另当别论,可以句法处之:“反正学习也学习不完”。换句话说,不是不知道这个现象可能需要句法:即便五元组参加了分词,同样的组合在句法还是要重复一遍,否则上面的7字组就不能做统一的分析和处置。这算是支持句法处置的一个可以接受的 argument,但是,词法结构规则在句法重复,听上去不经济,实践中个人认为并不是问题。多层系统的框架下,重复的不止这一项,否则也解不了乔老爷的递归魔咒。

刚开始入行的时候,老想着 generalizations(语言系学生的通病,被教授洗脑了,一直以 generalization 为语言学家天职),总是避免规则的冗余和重复。后来有几次看到了机器学习出来的符号规则,重复冗余简单到无语,反而受了启发。如今对重复冗余的耐受强多了:只要简单,何妨啰嗦,完全抛弃了铁路警察各管一段的理念。现在是词法做了句法做,句法做了到语义也不妨再做,螺旋式上升,相互照应,只要为了一个共同的目标就好。

 

【相关】

Ph.D. Thesis: THE MORPHO-SYNTACTIC INTERFACE IN A CHINESE PHRASE STRUCTURE GRAMMAR

【语义计算:李白对话录系列】

《朝华午拾》总目录

发布者

liweinlp

立委博士,自然语言处理(NLP)资深架构师,Principle Scientist, jd-valley, Netbase前首席科学家,期间指挥团队研发了18种语言的理解和应用系统。特别是汉语和英语,具有世界一流的分析(parsing)精度,并且做到鲁棒、线速,scale up to 大数据,语义落地到数据挖掘和问答产品。Cymfony前研发副总,曾荣获第一届问答系统第一名(TREC-8 QA Track),并赢得17个美国国防部的信息抽取项目(PI for 17 SBIRs)。立委NLP工作的应用方向包括大数据舆情挖掘、客户情报、信息抽取、知识图谱、问答系统、智能助理、语义搜索等等。

发表评论