【语义计算:绕开句法做语义不合适】

Jiang:
请教一下各位老师,“咱为什么不用接龙报名来招机器人班?”是否合乎语法规范?如果不合乎语法规范,为什么大家理解起来还没有问题?这个现象说明了什么?说明语法是人为的,不能用来约束鲜活的语言发展事实么?

Bai:
@姜博士 合语法呀,没看出什么问题

Jiang:
@白 嗯!我担心“招”和“班”从语法上来看搭配不妥。有您印证,我就大胆地这么说了。

Bai:
“班”是“招”的逻辑主语。

Me:
嗯!
“逻辑主语”概念挺好,和“主语”有何区别?

Bai:
就是以这个动词组成典型的、正常的、统计上占优的主谓句的话,应该在其中当主语的那个角色。

Me:
严格说来 最底层还不是逻辑主语

Jiang:
喔?

Me:
[human] [为...班级] 招 [human],“班” 是目的。第一个human是逻辑主语,第二个human是逻辑宾语。

Jiang:
您的意思“招”的宾语还是“human”!

Me:
对。"班" 是 "招" 的结果或目的,宾语表示结果在汉语不鲜见。

Jiang:
“招生”可以说,也易于理解。但“招班”虽然可以说,但理解起来要拐个弯,理解成“为班招人”!

Me:
招生成班。挖土 挖坑 挖土成坑,同理。

Jiang:
感觉引入“主谓宾定补状”等语法成分有用,可以用来分析描述语言现象。但如果为之所累,或者非要顾及合乎语法与否,会影响语言学的深入发展。

Me:
没有不合语法呀。
"挖坑" 一直存在, 没有语法规定宾语一定要是逻辑宾语。再如:吃饭 吃食堂 吃亏 ...... 宾语不是逻辑宾语很常见的。

Bai:
也许是“招人成班”,一个“经办人员”为“学校”招“人”成“班”。但是,经办人员不过是学校意志的代言人,学校是班的上位整体。这个办事人不需要强调的时候就融化在学校里 甚至可以说是学校的“工具”。招这个动作,真正的决策主体是“学校”。反而,办事人员如果大言不惭地说“我招了谁谁谁”,颇有贪天之功的嫌疑了。所以,学校是大主语,班是小主语,学生是宾语,办事人员是工具。工具偶尔升格为主语,但真正主语到来时必须让位。学校在出现显性介词(如“为”)时降格为介宾,与介词一起做状语。学校与班的关系,是整体与部分的关系。

Jiangg:
嗯!这么说来,这里边的关系挺不简单的。感觉“主语”这个语法概念和“工具”这个语义项概念粒度不一样。为了说清楚其语义,可以不借助语法概念。语法概念的引入把事情弄复杂了。

Bai:
语法自己还有打不清的架,又跟语义有说不清的纠缠,所以不能驾驭的建议干脆绕道,能驾驭的,从简为妙。

Jiang:
感觉语法体系是人凭感觉硬造的,在实际的语义分析中,不应过分依赖它或在意它。

Bai:
会用的可以借力。不会用的硬要用只会添麻烦。

Gong:
我在淘宝的经验是处理语法或语义不用照搬理论,解决实际问题即可。例如了点,我会认为是一个程度副词。

Bai:
不管语法语义,要回答的就两个问题:1、谁跟谁有关系;2、是什么关系。这两个问题回答清楚了就上了三楼。至于一楼二楼怎么分,最终应用不care。但是一楼二楼分好了,上三楼就可以有“利器”。

Me:
句法存在有几个理由:

1 句法的确有一定的概括性 只是汉语句法的概括性不如欧洲语言而已。

2 概括性的表现之一就是句法角色对逻辑语义的标配(default)映射,譬如 句法主语的标配映射是施事(逻辑主语),其次是逻辑宾语,第三位的映射是工具。标配以外的所有映射 都需要特别的条件。

3 句法关系比较简单:逻辑语义非专家不能 而且不容易达成一致。简单的直接体现就是数目,句法关系不过十个;逻辑语义可以到百。差了将近一个数量级,掌控起来 难度不同。如果做语言教学,“主谓宾定状补” 的说法 虽然仍难免捉襟见肘 但的确容易解说一些, 也大体抓住了关系的概貌。

4 其实更本质的理由还是语言共性的作用:无论汉语还是欧洲语言 语言学中的 subcat patterns 中的 args 不过三,这就为句法主宾补(补足语包括间接宾语,不仅仅是所谓【补语】),做了背书。至于这些主 宾,在深层不一定标配映射到语义的逻辑主语或逻辑宾语,那是另一层面的问题 是句法语义的接口问题 不宜混为一谈。所以白老师说句法做好 可以借力。欧洲语言的句法借力是很显然的 其实汉语中也有很多借力的地方。不过确实需要一点高度 才好玩这个句法语义接口的游戏。做直升飞机上三楼 固然是好 只怕更难。

以上几点是相互联系的 是不同角度的视点和论证。我的主张是 汉语研究不宜跳过句法 但汉语句法需要更大的张力和灵活变通才好。句法的框架设计 在解决“谁与谁发生关系”中 至关重要, 在解决“发生什么关系”上, 起了一个标配和桥梁的作用。

跳过句法可行否? 这个问题可以这样理解: 如果针对特定领域 特别是特定应用, 别说跳过句法, 就是跳过语义, 都是可能的。所谓端对端就是跳过了显性的语言学。但是对于 open domain 的语言分析应用的通用引擎 哪个环节都不宜跳过。跳过了 就难以深入和坚固。
自然语言(尤其汉语)是如此复杂 。语言学的几大部分已经是最起码的分野和分工了 还想要跳过,不对路呀。模块化多层处理是深度自然语言分析和理解的正道。

语言学的几大块是语言学多年研究传承的结晶 不宜轻言跳跃或抛弃,包括
Lexicon / Morphology  / Syntax  / Semantics / Discourse / Pragmatics,这几大块处于语言研究的不同层面。不能因为它们的接口复杂(尤其是汉语的词典与句法接口,句法和语义的接口),就否定或忽略了它们的层面不同。不少人希望破除繁琐哲学 要一锅烩,深度神经的端对端算是一个成功案例,但局限似乎在对带标大数据的要求上 还有就是连带的领域移植性问题。对于通用的语言分析理解 迄今没见成功案例 也不大可能。董老师说法 上帝不可欺。

Dong:
当年在农村插队落户,老农的一句话,我记了一辈子:种庄稼,你糊弄它一时,它糊弄你一年。科学研究,你糊弄它一时,它可就糊弄你一辈子。李维说的对,别以为有了语义,就可以绕过句法。语义离了句法,还如何处理语言呢?

Guo:
@wei 跟你抬个杠。

今天,深度神经不一定是端到端,机器学习不一定要带标大数据,语言处理多不是领域专用。

今天已知的“神经翻译”,第一步是word2vec,就是把“word”(不拘泥于词典词)转换成“vector”。这一步大家常用unsupervised方法独立做,没什么“端到端”,“带标大数据”,“领域专用”。

“神经翻译”常见的第二步,是seq2vec,就是把一个源语言"sentence"从一个“sequence of word vectors”转换成单一vector。这一步,也可以单独做,不用端到端带标大数据。

“神经翻译”常见的第三步,是vec2seq。这里需要端到端带标数据,但比想象中的“大”要小很多。

上面这两个vectors,如果要说成是对词和句的“深度理解”,免不了无尽的争执。但在神经计算的圈子里,他们的“通用性”性是显而易见的。同样一个句子的vector,人们不仅用它来生成不同语言的翻译或者产生对话,还有人用它来生成一幅画或者一段音乐。那个word vector,就更是无所不在了。

Me:
好问。

第一步 第二步 是一种 representation 的转换, 还是一个相对独立的知识训练?第一步对应的是什么知识?第二步又是什么知识?如果是对应某种知识, 那么 unsupervised 的训练如何反映这种知识或目标?

貌似第一步是 lexical semantics and ontology, 这个容易达成共识,无监督学习应该是可行的。第二步是 句法的模拟或逼近,理论上讲是难以无监督学会的。

Guo:
第三步vec2seq其实也是可以独立的。这就是为什么翻译出来的句子总是很顺的原因。

Me:
很顺的另一个说法是狗胆包天。哈
上次把肯定翻译成否定, 人是万万不敢的 除非自找炒鱿鱼。很顺的秘诀来源于大数据的特性,用词不当和语法错,连带棱角和独特性的语言表达,都被过滤掉了, 飘在上面的语言表达比人类表达的平均水平要 “高”。

Dong:
@Guo 学了不少东西。我一直纳闷的是,NMT有时会漏译、过度翻译等,那是怎样造成的呢?研发者知道原因,并知道如何去改进它吗?举个例子:

(英文)There was a very serious accident on the Beijing-Tangjin highway on Tuesday morning, resulting in a brutal jam. Victims say the traffic started to slow down around 4 o'clock Monday morning.

(谷歌):北京 - 唐津高速公路上星期二上午发生了严重事故,造成了残酷的果酱。受害人说,交通开始在周一上午4点左右减速。
(百度):在北京唐津高速公路上星期二上午非常严重的事故,造成一个残酷的果酱。受害者说星期一早上四点左右交通开始减速。

他们研发者发现后知道将来应该如何修改、提高呢?

Guo:
@董 翻译中的遗漏或者添油加醋,都是已知的问题,主要就是因为,那个中间的vector表达,没有在任何地方有显式的成分表达。

简单讲,这有点像口译,你先说一句话,别人听懂了,然后他把那句话用她自己的理解转述出来。如果不做笔记,口译的人是很难保证不增加或者减少内容的。但是他一定能说得很顺。

现在已提出些补救的办法。例如在谷歌的神经翻译中,就有一个所谓的,关注模型,希望输入的句子对输出的句子,能有一些比较直接的影响。但很显然,这个效果还是没能让人满意。

Dong:
没有在任何地方有显式的成分表达。"显式"是什么样的?那么为何不让它具有这个“显式”表达呢?是疏忽,环视技术上有障碍?@Guo 这是不是跟口译的情形还有点不同。口译是理解原文意思后的翻译复述,有着难免的变通。而NMT实际上是完全不是自觉的。大概有点像图像识别、语音识别,它在技术上完成了比较后,挑选了最“像”的结果。

Guo:
@董 现在常见的深度神经,无论是机器翻译,图像识别,语音识别,还是其他的应用,基本上都是先将输入转化为一个相对通用的一个中间表达(一般就是4096个数值),然后用这个中间表达,来完成具体的不同的任务。

这个中间表达,对不少深度神经的从业者而言,就是对原文的“深度理解”。当然,机器到底“理解”了什么,我们还说不清楚,但也不是一无所知。

 

【相关】

中文处理

Parsing

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

《朝华午拾》总目录

发布者

立委

立委博士,问问副总裁,聚焦大模型及其应用。Netbase前首席科学家10年,期间指挥研发了18种语言的理解和应用系统,鲁棒、线速,scale up to 社会媒体大数据,语义落地到舆情挖掘产品,成为美国NLP工业落地的领跑者。Cymfony前研发副总八年,曾荣获第一届问答系统第一名(TREC-8 QA Track),并赢得17个小企业创新研究的信息抽取项目(PI for 17 SBIRs)。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据