【语义计算沙龙:语序自由度之辩】

刘:
WMT2016上有一篇文章,讨论了语言的语序自由度,结论很有趣,见附图。根据这篇论文统计,汉语和英语之间语序关系是最稳定的(注意:语序关系稳定与语序一致不是一回事),比其他语言稳定度都高出许多。日语虽然是粘着语,但跟英语的语序关系也是相当稳定的。相反,德语虽然跟英语亲缘关系很近,但其相对语序的自由(不稳定)程度相当高。

916632021314869711
论文链接 http://www.statmt.org/wmt16/pdf/W16-2213.pdf

我:
这个研究是说,如果这些语言要与英语做自动翻译,语序需要调整多少?
英语相对语序很固定,加上是最流行的语言,拿它做底来比较,对于各语言的相对语序自由度应该是不离谱的。但是,从(平行)大数据来的这些计算,与这些语言的语言学意义上的语序自由度,有差别:
譬如 Esperanto 的语序自由度应该很大,怎么排列,意思都不变,但是由于很多人可能思想是用英语的,写出来的时候下意识在头脑里面翻译成了世界语,结果跟机器翻译一样,人的懒惰使得表达出来的语序照着英语的样子相对固定起来,并没有充分利用语言本身本来有的那么大自由度。

汉语的语序自由度,语感上,比图示出来的,要大。但是,做这项研究的双英对照数据也许大多是正规文体(譬如新闻),而不是自由度更大的口语,因此出现这样的结论也不奇怪。虽然汉语是所谓孤立语,英语接近汉语,但没有那么“孤立”,汉语的语序自由度比英语要大。做英汉MT的 generation 的时候,需要调整词序的时候并不很多,多数情况,保留原词序,基本就凑合了,这是利用了汉语语序有弹性,相对自由度大的特点。汉英MT没亲手做过(除了博士项目在Prolog平台上做过的一个英汉双向MT的玩具),感觉上应该比英汉MT,需要做调序的时候更多。调序多容易乱套,特别是结构分析不到位的时候更容易出乱子,是 MT 的痛点之一。尽量少调序,警惕调序过度弄巧成拙,是实践中常常采取的策略。包括英语的定语从句,多数时候不调序比调序好,用的技巧就是把定语从句当成一个插入语似的,前面加个逗号或括号,适当把 which 翻译成“它”等等。

刘:
你说的有道理,这个研究是以英语为基准的,虽然严格说不是很合理,但还是靠谱的,英文英语语序是比较固定的。我们说汉语语序自由,我觉得是错觉。汉语语序是很不自由的。实际上,对一个语言来说,形态的复杂程度和语序的自由程度是成正比的。形态越复杂的语言,语序越自由。汉语没有形态,只能用语序来表示句法关系。因此是严格语序语言。不可能说一种语言既没有形态,又语序自由,那么这种语言基本上没法表达意义了。

白:
这个,需要分开说。一是subcat算不算形态,因为不是显性的标记,很可能不算。二是subcat是否提供了冗余信息使得一定范围内的语序变化不影响语义的表达,这是肯定的。

Jiang:
嗯!subcat这里指的是什么?

白:
比如“司机、厨师、出纳……”都携带human这个subcat,但是human并不是一个显示的形式标记。

我:
虽然大而言之形态丰富的语言语序自由度就大、形态贫乏的语言语序相对固定是对的,但汉语并不是持孤立语语序固定论者说的那样语序死板,其语序的自由度超出我们一般人的想象:拿最典型的 SVO patterns 的变式来看,SVO 三个元素,排列的极限是6种词序的组合。Esperanto 形态并不丰富,只有一个宾格 -n 的形态(比较 俄语有6个格变):主格是零形式(零词尾也是形式),它可以采用六种变式的任意一个,而不改变 SVO 的句法语义:

1. SVO Mi manĝas fiŝon (I eat fish)
2. SOV: Mi fiŝon manĝas
3. VOS: Manĝas fiŝon mi
4. VSO: Manĝas mi fiŝon
5. OVS: Fiŝon manĝas mi.
6. OSV: Fiŝon mi manĝas.

比较一下形态贫乏的英语(名词没有格变,但是代词有)和缺乏形态的汉语(名词代词都没有格变)的SVO自由度,很有意思:

1. SVO 是默认的语序,没有问题:
I eat fish
我吃鱼

2. SOV:
* I fish eat (英语不允许这个语序)
我鱼吃 【了】(汉语基本上是允许的,尤其是后面有时态小词的时候,听起来很自然)
虽然英语有代词的格变(小词直接量:”I” vs “me”), 而汉语没有格变,英语在这个变式上的语序反而不如汉语。可见形态的丰富性指标不是语序自由度的必然对应。

3. VOS:
* Eat fish I (英语不允许这个语序)
?吃鱼我(汉语似乎处于灰色地带,不像英语那样绝对不行,设想飞机空姐问餐:“吃鱼还是吃肉?”你可以回答:“吃鱼,我”)

4. VSO:
* Eat I fish (不允许)
* 吃我鱼 (作为 VSO 是不允许的,但可以存在,表示另外一种句法语义:吃我的鱼)
做VSO不合法,但有些灰色的意思,至少不像英语那样绝对不允许。

5. OVS:
* Fish eat I (不允许,尽管 I 有主格标记)
* 鱼吃我 (句子是合法的,但句法语义正好相反了 , 是 SVO 不是 OVS。句子本身合法,但做OVS非法。)

6 OSV:
fish I eat (合法,除了表达 OSV 的逻辑语义 这个语序,还表达定语从句的关系)
鱼我吃(合法,常听到,鱼是所谓 Topic 我是 S,逻辑语义不变)

总结一下,汉语在 6 个语序中,有 3 个是合法的,1 个灰色地带,2 个非法。英语呢,只有两个合法,其余皆非法。可见汉语的语序自由度在最常见的SVO句式中,比英语要大。

白:
不考虑加不加零碎的语序研究都是那啥。“鱼吃我”不行,“鱼吃得我直恶心”就行

我:
不管那啥,这个 illustration 说明,语序自由度不是与形态丰富性线性相关。也说明了,汉语往往比我们想象的,比很多人(包括语言学家)想象的具有更大的自由度和弹性。白老师的例子也是后者的一个例示。其实,如果加上其他因素和tokens,这种弹性和自由,简直有点让人瞠目结舌。汉语不仅是裸奔的语言,也是有相当程度随心所欲语序的语言。超出想象的语序弹性其实是裸奔的表现之一,思维里什么概念先出现,就直接蹦出来。而且汉语不仅没有(严格意义的)形态,小词这种形式也常常省略,是一种不研究它会觉得不可思议的语言。它依赖隐性形式比依赖显性形式更多,来达到交流。这对 NLP 和 parsing 自然很不利,但是对人并不构成大负担。

刘:
首先,语序变化以后意义发生变化,不说明语序自由,相反,正说明语序不自由。语序传达了意义。其次,语序变化以后要加词才能成立(鱼我吃了)也正好说明语序不自由。再者,这种简单的句子不说明汉语普遍语序自由。在绝大部分清晰下,汉语都是svo结构,个别情况下需要特别强调o的时候,可以把o放到最前面。语序自由的前提,是通过词尾变化明确了词在句子中的功能,这样的话,主谓宾不管怎么交换顺序,都不会搞混,所以语序自由。没有形态变化,不可能真正语序自由。
“小王打小张”,语序就不能随便调整。
“我爱思考”,“我思考爱”,意思完全不一样

我:
这要看你怎么定义语序自由了。你给的定义是针对格变语言做的,有宾格的语言,等于是把句法关系浓缩了标给了充当角色的词,它跑到哪里都是宾语是题中应有之意。但语序自由的更标准和开放的定义不是这样的,如果 SVO 是基本的语序,凡是与它相左的语序的可能性,就是语序自由,研究的是其自由度。这种可能性的存在就证实了我们在理解语言的时候,或者机器在做 parse 的时候,必须要照顾这种 linear order 的不同,否则就 parse 不了,就抓不住语序自由的表达。不能因为一种相左的语序,由于词选的不同,某个可能语序不能实现,来否定那种语序自由的可能性和现实性。

退一步说,你的语序自由是 narrow definition, 我们也可以从广义来看语序自由,因为这种广义是客观的存在,这种存在你不对付它就不能理解它。就说 “小王打小张”,SVO 似乎不能变化。但是 “小张小王打不过” 就是 OSV,不能因为这个变式有一个补语的触发因素,来否定语序的确改变了。pattern 必须变换才能应对这种词序的改变。

最后,汉语与英语的对比,更说明了汉语的语序自由度大于英语,否则不能解释为什么汉语缺乏形态,反而比形态虽然贫乏但是比汉语多一些形态的英语,表现出更多的语序自由。“鱼我吃了” 和 “我鱼吃了” 是一个 minimal pair,它所标示的语序自由的可能性,是如此显然。人在语序自由的时候仍然可以做句法语义的理解,说明了形态虽然是促进自由的一个重要因素,但不会是唯一的因素。隐性形式乃至常识也可以帮助语序变得自由。

“打小张小王不给力。”(这是VOS。。。)
“打老张小王还行。”

刘:
这两个句子里面“打”都是小句谓语,不是主句谓语。主句谓语是“给力”和“还行”。例子不成立。

我:
影响语序自由的,形态肯定是重要因素,其他的语言形式也有作用。小句也不好 主句也好,SVO 的逻辑语义在那里,谁打谁?我们在说SVO语序自由这个概念的时候,出发点是思维里的逻辑语义,就是谁打谁,然后考察这个谁1 和 谁2,在语言的 surface form 里面是怎样表达的,它们之间的次序是怎样的。。

刘:
这就强拧了。这么说the apple he ate is red. 也是osv了?apple he ate的逻辑关系在哪里。这么说英语也可以osv了?

我:
不错,那就是地地道道的 OSV:谁吃什么,现在这个【什么】 跑到 【谁】 和 “ate” 的前面去了,底层的逻辑语义不变,表层次序不同了。

说英语是 svo 语言,这种说法只是一种标签,并不代表英语只允许这个词序。英语的SVO 6 种语序中,前面说了,有两种合法常见,其他四种基本不合法。

刘:
如果你对语序自由是这样定义的话,那英语也是语序自由了。

我:
不是的。只能说语序自由度。英语的语序自由度还是不如汉语。汉语的语序自由度不如世界语,也不如俄语。世界语的语序自由度不亚于俄语,虽然俄语的形态比世界语丰富。

刘:
那我们不必争论了,我们对语序自由这个概念的定义不一样。

我:
不错,这是定义的问题。我的定义是广义一些。你的定义窄。

刘:
按照你的定义:Eating the apple he smiled. 英语还可以VOS

白:
beat him as much as I can
总而言之S是从相反方向填它的坑

禹:
俄语的我吃鱼这么多种语序也可以?当真现实就是这么用吗?

易:
@禹 俄语的语序确实很灵活,尤其在口语体中,但意思不会变,因为名词有六个格,施受关系基本不会乱。

白:
日语里面有个名句:きしやのきしやはきしやにきしやできしやえきしやした
除了动词,其他成分的位置也是各种挪来挪去

刘:
@白硕 这个日语句子什么意思啊?

白:
贵社的记者坐火车朝着贵社打道回府了
考验日语输入法的经典例子,流传了将近百年
据说是电报引入日本不久的事情
这么个拼音电文,没人知道啥意思
跟赵元任发明一音节文,有得一拼
格标记本来就是给语序重定向的,所以不在乎原来语序也是情理之中。
如果汉语的“把”“被”“给”“用”“往”一起招呼,也可以不在乎语序的。
被张三 把李四 在胡同里 打了个半死……

我:
广义说 介词也是格 也是形态,格通常是词尾形式,介词的本质却是一样的。
“被” 是主格,“给” 是与格,“用” 是工具格。

禹:
俄语格的问题,有没有需要三四阶语法模型才能确定的还是基本上就是看之前的动词或名词的类别

我:
格就是parsing依赖的形式条件之一。形态丰富一些的语言 parsing 难度降低
不需要过多依赖上下文条件。

 

【相关】

【语义计算:汉语语序自由再辩】

泥沙龙笔记:汉语就是一种“裸奔” 的语言

泥沙龙笔记:漫谈语言形式

关于 parsing

【关于中文NLP】

【置顶:立委NLP博文一览】

《朝华午拾》总目录

 

发布者

liweinlp

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

发表评论