【一日一parsing:修饰语的组合爆炸挑战】

中文合成词、术语命名可以很长很长,如果顾及内部的修饰关系的边界,是一种典型的结构歧义的组合爆炸。排列组合算一算,N个修饰语有多少种结构歧义?

怎么整?其实,人对于这种超长短语的理解,也基本上是糊里糊涂听,对于里面潜在的歧义无感居多。那机器去做呢,两个办法,一个是凑合大局,不拘小节,出个 deterministic 的结果。另一个办法就是穷举其中的潜在歧义,也不难,问题是穷举了以后如何是好,还是糊涂。

量子区块链AI韭菜盒子店

NG=Noun Group;  AP = Adjective Phrase; NE = Named Entity;
M/m=Modifier; H = Head; O/o=Object;
N = Noun; A = Adjective; V = Verb;

what is 量子区块链?

马氏体区块链智能韭菜盒子

马氏体?or 体区块链?马氏-style?

AI牌马氏体大数据区块链智能云韭菜盒子

智能云 or 云韭菜盒子?

AI牌马氏体大数据区块链智能云全自动去中心韭菜盒子

AI牌马氏体大数据区块链智能云全自动去中心韭菜盒子声控密钥无人店

这已经超过10个修饰语了:AI牌 / 马氏体 / 大数据 / 区块链 / 智能云 / 全自动 / 去中心 / 韭菜盒子 / 声控 / 密钥 / 无人店

“声控密钥” 感觉是直接修饰 “无人店“ 也许更合理。可现在这种结构也凑合了。好在 XP 内部的纠结,对于句子中 XPs 之间的关系基本没有影响。不过,这种超长NE或NP其实也很少出现在句子里面,通常都是做标题用。

(注:以上例句是尼沙龙人工智能群老友故意拿 buzz words 调侃清华人工智能马教授的一手好菜“生造”出来的。但这些例子反映现代汉语的语言事实,并不离谱。)

O网页链接 【一日一parsing:修饰语的组合爆炸挑战】@马少平THU @立委_米拉  @算文解字 @冯志伟文化博客 @zhazhaba @李利鹏-汇真科技 @永恒的侠少 @白硕SH ​就此谈点自己的看法:
1. 正规文档无论标题还是内容,应该不会出现这种过多个不相关的(即便相关)词罗列堆砌在一起的,既不利于传播也不利于理解。当然,有些新闻媒体,或者某些政府公文的题头内容,比文中本身内容都难理解,可能是另有用意,其实并不相信撰稿人就是真水平不及,或许让人产生印象或其他?无论文章或标题,若是总摆着一副“万层茧”的姿态话,我个人意见,人不用去看,机器更犯不着去分析,即便分析那结果也难看的很,无实用价值,就当是那样的是数据传输的一串乱码。要么,文者水平太差,此文不必去读;要么文者就是想着难为人,那我为何还耐着性子去受难呢。
2. 少数几个词组合在一起,在人们容忍范围内的,还是有一定价值的,毕竟不能要求每个人都有通文晓典,行文都能如丝滑般的顺畅。这种平素不相往来的几个词临时组团赴会,初期可以先作为一个团体来看,然后再在随后的文里看看是否离队的分子,若有,再看看是谁谁频繁结伴单游,再回头看看原来这个团的豪华标签,基本上就有所清晰理解。正所谓“不怕你们聚得紧,就看你们分开时”。若通篇没有一处是分开的,而且大块头的合成词语还挺愿意抛头露面的,且不嫌穿那么长衫而行动不便,那这八成就是专有词了,专有词,何去分析拆解它?作为一个词能从文首进,从文尾出就好,也懒得分析了。
3. 至于是凑合大局还是用穷举来罩它,既然早晚都是糊涂,那单独就句分析句就是没太多必要,别累坏俺们的不经世事的幼年机器哈。
from 微博

【相关】

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

《朝华午拾》总目录

 

 

【李白100:Parsing 的休眠唤醒机制】

尼:
十几年前给两个台办主任送过美凤光盘。

李:
主语施事是侬?

 

这是一个疑问句。

迈:
这是给中纪委举报的分析图吗?

白:
为啥“主任”没当actor?under是“两个台办”,actor是“主任”多好,不用向外借context里的“尼克”了。“台办主任”难道进词典了?N+N结构难道比缺主语还优先?

李:
没进词典,“台办+主任”是rule合成的。为啥主任要做那个actor?“给” here 是个介词,是“送”的 subcat 要求的,作为 dative,不是逻辑主语,就是双宾语句式的 human 对象,光碟才是 undergoer。

白:
说错了,“两个台办”是介宾,“光碟”不变。“主任”单拎出来,做actor。

李:
why?还只是理论上的可能性?有两个台办么?文革中的确有过两个司令部,但那是非常时代。

白:
我是好奇,为啥一个无主的选择会优于一个有主的选择。难道你是推理了没有两个台办才往后走的么?

李:
没有推理,I was kidding。合成词:台办+主任,优于被 determiner 直接修饰。汉语中合成词的构成优先于句法上的chunking;不仅汉语,这是语言学一般原则:合成词处于 morphology 和 syntax 之间。

白:
也就是说,局部的优先关系已经把别的可能性扼杀了?不把其他选择往外传?

李:
这个原则上是对的。

白:
比如“听说发文件的是台办主任吓坏了”,肯定分析不对了?

李:
这个...人理解也有歧义。
不怕献丑了:

白:
不太通

李:
的确不大通。这个 parse 是说,“是台办主任吓坏了”,“听说发文件”是一个诱因。不是完全不可能,但对里面的小词 “de” 和 “是”,parsing 有点走偏了。做这些小词,分寸很难掌握,稍不留心就过火。

白:
“去了趟台办主任更神气了”如何?没有小词了。

李:
白老师不要逼人太甚 :=)
没有小词了,但你为啥不加逗号,不加标点也罢,给个 SPACE 也好。

白:
学意识流。

李:
存心难为 parser:

wrong,as expected

白:
意料之中,构词法一上,木已成舟。

李:

see 你若规矩 便是晴天!
一个小小的 space 有那么难么?为啥意识流?ADD 了么?做系统的人都知道,没有没有软肋的。

白:
对。只是好奇。因为之前交流过能带着多种可能性往下跑的事情。

李:
只是分寸火候而已。原则上,合成词前置是合理的,好处远远大于副作用。理论上可以保留哪怕微小的其他可能性,待后处理。实践中,当断不断, 终于自乱。哪些带着往下跑,哪些当断则断,也是一个火候的掌控。PP-attachment 这类我们是往下带的。太低的模块,一路带着往下跑,瓶瓶罐罐的,非常难缠。

白:
所以,先休眠再有条件唤醒,也是一策。当然这就要允许逆行。

李:
带着往下跑本质上也是一个组合爆炸问题,除非一边往下跑,一边卸包袱。
休眠唤醒是一个好主意,对于某些现象。我也试验过,用得好是有效的。

白:
段子大都是休眠唤醒模式。

李: 譬如一个 NP,内部的关系难以全部穷尽可能性,那就保留部分关系,然后到最后,可以重新进入这个 NP,根据需要决定重建关系。在这种情形下,问题已经缩小了,重建不难。甚至 PP-attachment 也可以循此道。譬如,一律让 PP 挂最近的 XP,成为 deterministic parse,到了语用和抽取的时候,再去重建其他的 parses,这时候语用的条件进来了,先前被休眠的可能 parse 就可以复活。

白:
武断和文断的区别…… 武断是效率的保证,休眠唤醒是兜底的保证。

李:
段子的休眠唤醒说明,人的大脑认知也是先入为主的,很多时候是武断的,不过是允许反悔罢了。这种反悔有类似以前的 backtracking 的地方,但是实践中并没有那么大的 costs。

白:
看是哪种实践了

李:
因为在语用层面做反悔,基本上是已经聚焦了以后的反悔。这种聚焦最经常的方式是词驱动,因此,需要反悔重建的现象大大缩小。

白:
不同商业模式下,价值取向有差异是正常的。

李:
如果大海一样全部来反悔运动,还不如一开始就全部保留。幸运的是,绝大部分应用,语用与语法是可以分清界限的。

白:
反悔是白名单驱动,武断是标配。

李:
标配就是统计可能性大的,或者是遵循普遍原则的,譬如合成词前于句法。

白:

李:
任何原则或 heuristics 都有例外,到了例外,如果有一个反悔机制最好。

白:
给一条反悔的通道,但是慎用。

李:
与此相对应,还有一个例外排除机制,就是先堵住例外,然后做标配。这个办法比反悔更费工。只有在具有类似 Expert Lexicon 的词驱动的例外机制的时候,才好用。

白:
提醒一下,词驱动是取决于双因素的,不仅要看trigger是啥,也要看休眠的是啥。另外休眠的东东即使不参与分析,也可以自己做弥漫式联想(不同进程或线程),类似认知心理学说的阈下啥啥啥。这样trigger就可以提高命中率

李:
弥漫联想再往下就是弗洛伊德了。

白:
对。
词驱动这种“相互性”我举个例子就明白了:我家门前的小河很难过。
“难过”具有长词优势,“难/过”休眠了。但是,“过”弥漫式联想,激活了“过河”,于是开始反悔。直到“难/过”翻案成功。

李:
好例。“过河”与“洗澡”一样是分离式合成词,属于动宾结构。凡是可以词典化的单位,休眠重启不难实现。因为词驱动的可能性都是有限的,而且可能性都可以预先确定。以前提的“睡过”的歧义也是如此。

白:
trigger有外因有内因。外因就是更大整体的句法、或语义、或语用产生不匹配等,内因就是当事的成分自己或静态、或动态地展现出结合的可能性。休眠情况下,静态不可能。动态,相当于休眠的成分梦游了,在梦游中邂逅了。那个“夏洛特烦恼”,也是上下文给了“夏洛”独立成词的某种强化,回过头来唤醒了“特”作为副词的已休眠选项。或许,作为副词的“特”正在梦游。

说了半天,还不是为了尼克

李:
对了,忘了尼克究竟是不是actor了,丫保持缄默,怎么讲?贿赂完三X光碟,在一边偷着乐吗?

(i)  "这是我与领导的聊天记录"
(ii)“我与领导的聊天记录得详详细细”

两个休眠唤醒策略:

其一是,“聊天记录”做合成名词,到第二句的某个阶段,把“记录”分离出来做谓语。
其二是,“NP【我与领导的聊天】VP【记录】” 先做成句子(CL:Clause),然后,在第一句解析的某个阶段,再改造这个 CL,成为 NP,主语于是成了修饰语 M:

得字结构无动词谓语可以附着,是 trigger 休眠唤醒的契机。

NP +【得详详细细】:把 NP 内头词的潜在动词性唤醒,分离出来做谓语,非常有道理。新媳妇嫁错人家了,可以抢出来再嫁,没必要嫁狗随狗。

白:
得 向左还是向右,是一个问题

李:
虚词而已,左右无所谓,反正是敲门砖,用完了就扔(X)。

 2016-1-27 15:46 |首发 科学网—《泥沙龙笔记:parsing 的休眠反悔机制》

 

【相关】

科学网—【立委科普:结构歧义的休眠唤醒演义】

科学网—【立委科普:歧义parsing的休眠唤醒机制再探】

【一日一parsing:休眠唤醒的好例子】

【NLP随笔:词法内部结构休眠,句法可以唤醒】

【李白91:休眠唤醒需要打离婚证】

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

《朝华午拾》总目录

【李白99:从大小S的整体部分关系看舆情挖掘的统计性】

白:
“这家公司从年报看业绩没什么起色。”

李:
“业绩”可以是小s 也可以是“看”的宾语,其实语义基本不变。“从N看”很像个习惯表达法,可以等于 “从N看上去”(“以N而观之”)。

白:
“这个人从眼睛看瞳孔是蓝色的。”

董:
两位,“这家公司”、“这个人”,还是“状语”吗?怕不合适吧?

李:
主语。“从N看”可以做状语。还是大s小s那套,及其变式。逻辑上就是整体与部分的情形,谓语说部分自然也在说整体。感觉 大小S的问题 有很强的逻辑意味 是逻辑在语言中的表现形式。大S是整体 小s是部分 谓语直接说的是部分,自然也就间接说了整体,这是逻辑上的不完全归纳,与三段论的演绎正好相反。归纳不如演绎严谨,容易引发种种争议,但归纳是人类认识和表达世界广泛使用的手段,表现在语言形式上就很有说法了。

这个问题我们在做舆情分析中,无数次遭遇:说 “iPhone 屏幕很好”,直接说的是“屏幕”,间接说的是 “iPhone”,算不算是说 iPhone 的好话?当然算,至少是找到了 iPhone 的一个亮点。

A:iPhone屏幕好
B:iPhone 屏幕好,但别的都不行。
A:照你说,iPhone 只剩屏幕好了?
............

A 是说 iPhone 的好话,用的逻辑是不完全归纳。B 是说 iPhone 的坏话,但也做到了与 A 并不矛盾,根据的是归纳的不完全原理。所以说 不完全归纳就是那半瓶水,乐观主义看见的是水,算是点赞;悲观主义看见的是空气,可以是吐槽。如果反过来用三段论演绎法,说的是整体而不是部分,譬如 “iPhone 就是好”,就没有这些弯弯绕了,不会留下模糊的空间。

大前提:iPhone 好
小前提:iPhone 屏幕也是 iPhone (有机部分)
结论:iPhone 屏幕好。

这跟 “文化大革命就是好” 一个道理,是点赞没商量。

回到原句:“这家公司从年报看业绩没什么起色。” 句法上的大S在逻辑语义层转为O,句法上的小s上升为S,这些都说得通,只欠O(整体)与S(部分)之间的关系了:

愿意做细活的话,这个有点特别的 “从N看”(习惯表达法)可以看成是状语或插入语,它不是语句的重心。不过,这种细活做多了,不仅费工,而且也难免弄巧成拙,譬如,万一前面出现了一个通常不出现的主语“我们”或“大家”,就找不到自己的谓语了。

“这个人从眼睛看瞳孔是蓝色的。”

“瞳孔是蓝色的。”
“这个人是蓝色的。”

这就是不完全归纳法推向极端的情形:上句因为是极限事例,听上去不 make sense,但却的的确确隐含归纳法从部分到整体的逻辑链条在内。如果改写成这样,就貌似有些道理了:

“就瞳孔而言,这个人是蓝色的。”

“瞳孔” 这个概念 在其常识性本体知识库里 在Color的字段下 其 appropriate 的属性值里面包括了“蓝色”。但是 “人” 这个概念里面 常识本体库里面的 Color 栏目 没有“蓝色”这个选项,只有“黑 白 黄 红”。说 这个人是蓝色的 违背了这个常识 所以觉得很怪:除了妖怪和童话,怎么会有蓝色的人呢?但人的某个部位的确可以是蓝色的。部分的属性推广到整体的时候 遇到了矛盾。

“希特勒特别善于演说”

是说 希特勒好 吗?还真地就是说他的好话。在舆情抽取的时候,我们记录每一个这种表述,部分好相当于给整体好投了一票,但抽取的碎片化情报只是零散的一票一票,到了对于整个数据源进行信息融合(fusion)的时候,这每一张投票就被统计出来,“舆情”就自然得出。

白:
这是诛心。说鸡蛋好是不是也给下蛋的母鸡投了一票?

李:
最后的结果非常 make sense。原来,在与希特勒相关的舆情数据里面,整体而言,点赞的不足 1% 吐槽的高达 99%,可见其不得民心。这是全貌。舆情的细线条分析 进一步揭示 即便点赞,赞他的方面(aspects)或依据(why)几乎总是其客观能力(演说才能)等,吐槽的却是他的实质:思想,行动,内心,等。

说鸡蛋好,的确是给那只老母鸡点了赞。虽然钱先生对喜欢他的《围城》的粉丝说,鸡蛋好吃,又何必认识老母鸡呢。其实钱先生不仅仅是谦虚或清高,其实就是懒。懒得搭理那些无穷无尽的崇拜者。他内心何尝不知道,鸡蛋吃得香的人,对于老母鸡是有赞的。至少,我去超市买鸡蛋,对于能下黄鸡蛋的母鸡,比只会下食之无味的白鸡蛋的母鸡,心里不是一视同仁的。anyway,我们做了多年舆情挖掘,就是这么个原理。利用的是不完全归纳,对于不完全归纳所带来的副作用和逻辑不严谨,弥补的手段就是大数据投票。并不离谱,有全貌,有细节。

在大数据下,好人不会被评坏了,坏人也不会被评好了。当然,国内水军据说可以左右大数据,另当别论:主要是数据还不够大,水军也太便宜。

白:
无罪推定的原则,逻辑上(典型的就是三段论)推不出来的,你不能安给我。统计算个数也就罢了,把标签落到人头上,贻害无穷。这与诛心何异。比如,我反对一个人的证据(比如钓鱼贴里面那种荒唐证据),对其结论并没表态(尽管结论可能很政治正确),这是一个正常的理性行为。如果因为这个给我打上政治不正确的标签,我很难接受。

李:
大数据下,任何标签都不是黑或白。

白:
可是这种粗暴做法,冠以“舆情分析”的高科技帽子,几乎每天都在发生着。

李:
说你 99% 的政治正确,1% 的政治不正确,你应该很高兴。我要是开个餐馆,或经营一家NLP咨询公司,只要有 80% 的赞誉度 就笑懵了。每次找餐馆,我从来不特别找全五星的,总是找4星以上的,一万个评论打了四星的,比一千个评论打了五星的,要好得多。

白:
评好人缺点的人、不赞成拍好人马屁的人、不赞成捧杀好人的人、不赞成用荒唐论据支持好人的人被当作跟好人不一伙的人,这样的技术是危险的。其实是在诛心,或者在实现一种诛心的逻辑。

李:
退回到人工问券调查民意的时代,手工民意测验其实更差 更不完备。因为大S作为调查对象虽然是确定的,这个 大S的方方面面 那些点赞他吐槽他的种种理由 却五花八门。这些五花八门 个体可能有诛心的风险 整体统计却化解了风险。到了民主政治 一人一票 根本就无心可诛。大数据下 只看票 不看理由。

白:
挺转和反转,就因为双方的旗手而呈现站队状态。反崔挺崔,反方挺方,本来与挺转和反转是互相独立的,在舆论场中愣是给弄成掰不开了。这个话题与政治关系不大。一个人只要不满崔,就会被当成挺转分子。

 

【相关】

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

《朝华午拾》总目录

【李白98:从对联和孔子遗言看子语言自动解析】

李:
微信群转来的,想,配个图吧。

做自动解析(parsing)走火入魔,几乎成本能了。凡是人说难度极大,或者盛赞中文奇妙的语录,都忍不住想 parse parse 试试,到底看看离形式化自动化分析距离究竟有多远:稀奇古怪的句子其实不是自动系统的关注点,但它们往往像疲劳测试一样,可以把问题推向极端,考验自动解析的鲁棒度和机械系统应对灵活多变的能力,而且好玩,有fun。

某上海大学生为了显摆,在迎新会上出了一则上联:
上海自来水来自海上。

Note:
CL(clause)= 句;NP(Noun Phrase)= 名词短语;Pred(Predicate)= 谓语;N(Noun)= 名词;V(Verb)= 动词;H(Head)= 头词
S/s(Subject)= 主语;O/o(Object)= 宾语;M/m(Modifier)= 定语;R/r(Adverbial) = 状语

顺念倒念完全一样,难度极大!但其他省的学生也不是吃干饭的,
北京大学生对曰:
香山碧云寺云碧山香。

这个不好整,形容词活用古汉语常见,现代汉语罕见,算是 sublanguage 的问题,同一个系统难以兼顾两种可能冲突的子语言现象。先凑合吧。

山东大学生对曰:
山东落花生花落东山。

山西大学生对曰:
山西悬空寺空悬西山。

安徽大学生对曰:
黄山落叶松叶落山黄。

海南大学生也不示弱,对曰:
海南护卫舰卫护南海。

白:
这倒是像照妖镜一样把每个下联的工整程度晒出来了。

金:
NLP大学生对曰:
语言学老炮老学言语。

李:

“语言学老炮”是有来历的,指的就是白老师。见最近风行的新智元的专访报道:

【老炮儿白硕开讲】区块链可替AI对抗数据寡头

我在朋友圈推送了:看得懂还是不懂 还是雾里看花 似懂非懂 反正我是一字一字看完了。白老师的科普 无条件推送。懂行的看门道 不懂行的可以欣赏文字和说法。

微信还流传着这么一个帖子,一律有惊悚的标题:孔子临终遗言出土,惊动世界,反动之极:

《子寿终录》

子寿寝前弥留少时,唤诸弟子近叩于榻侧。子声微而缓,然神烁。嘱曰:吾穷数载说列侯,终未见礼归乐清。吾身食素也,衣麻也,车陋 也,至尽路洞悉天授之欲而徒弃乃大不智也。  汝之所学,乃固王位,束苍生,或为君王绣袍之言。无奈王者耳木,赏妙乐如闻杂雀鸣,掷司寇之衔于仲尼,窃以为大辱。其断不可长也。鸿鹄伟志实毁于为奴他人而未知自主。无位则无为,徒损智也,吾识之晚矣。呜呼,鲁国者,乃吾仕途之伤心地也。汝勿复师之辙,王不成,侯为次,再次商贾,授业觅食终温饱耳,不及大盗者爽。吾之所悟,授于尔等,切记:践行者盛,空叙者萎。施一法于国,胜百思于竹。吾料后若有成大器之人君,定遵吾之法以驭民,塑吾体于庙堂以为国之魂灵。然非尊吾身,吾言,乃假仲尼名实其位耳。  拥兵者人之主也,生灵万物足下蛆;献谋者君之奴也,锦食玉衣仰人息。锋舌焉与利剑比乎?愚哉!旷古鲜见书生为王者,皆因不识干戈,空耗于文章。寥寥行者,或栖武者帐下,或卧奸雄侧室。如此,焉令天下乎?王座立于枯骨,君觞溢流紫液,新朝旧君异乎?凡王者祈万代永续,枉然矣!物之可掠,强人必效之;位之可夺,豪杰必谋之。遂周而复始,得之,失之,复得之,复失之,如市井奇货易主耳。概言之,行而优则王,神也;学而优则仕,奴耳;算而优则商,豪也;痴书不疑者,愚夫也。智者起事皆言为民,故从者众。待业就,诺遁矣。易其巧舌令从者拥主,而民以为然。故定乾坤者必善借民势。民愚国则稳,民慧世则乱。  武王人皆誉之,纣王人皆谤之。实无异也!俱视土、众为私。私者唯惧失也。凡为君者多无度,随心所欲,迎其好者,侍君如待孺子。明此理,旋君王如于股掌,挟同僚若持羽毛,腾达不日。逆而行之,君,虎也,僚,虎之爪也,汝猝死而不知其由。遇昏聩者,则有隙,断可取而代之。  治天下者知百姓须瘦之。抑民之欲,民谢王。民欲旺,则王施恩不果也。投食饿夫得仁者誉,轻物媚予侯门其奴亦嗤之。仁非钓饵乎?塞民之利途而由王予之,民永颂君王仁。  御民者,缚其魂为上,囚其身为不得已,毁其体则下之。授男子以权羁女子,君劳半也。授父以权辖子,君劳半之半也。吾所言忠者,义者,孝者,实乃不违上者也。  礼者,钳民魂、体之枷也。锁之在君,启之亦在君。古来未闻君束于礼,却见制礼者多被枷之,况于布衣呼?礼虽无形,乃锐器也,胜骁勇万千。  乐者,君之颂章也。乐清则民思君如甘露,乐浊则渔于惑众者。隘民异音,犯上者则无为。不智君王,只知戟可屠众,未识言能溃堤,其国皆亡之。故鼓舌者,必戳之。  吾即赴冥府,言无诳,汝循此诫,然坦途矣!切切。
  言毕,子逝

白:
个人认为,不加连词的复杂谓语结构,在先秦时期似乎是没有的。

李:
这个遗言太现代人了 哈。

白:
“鸿鹄伟志实毁于为奴他人而未知自主。”这哪是先秦的话。

李:
这叫挟圣人以讽世。那行文不是先秦,是我祖父那一辈人常用的文白夹杂的“时文”(见《李老夫子遗墨》)。胡佛塔馆藏的蒋中正日记里也常见。

只好也凑合了。半文半白,难得兼顾,子语言中各别的部分,需要针对性对付。这跟领域化(domain porting)道理同。

王:
临别时,与弟子说一些“吾十有五而志于学...”之类的话似乎更靠谱。人家正在延揽学究攻此项目,大家静下心来,观棋不语真君子!

李:
孔老夫子长寿的秘诀是什么?他那个年代 73岁是寿星了,才能从“耳顺”,到“从心所欲”。那个年代,夭折不计的话,平均寿命也不足40吧。最近一个世纪,人的寿命才显著增长,而且貌似没有停下来的意思。所以才有谷歌忽悠跳大神的勾当,一本正经研究长生不老。所以才有脸书的娃娃扎哥放豪言,要以他的财力资助现代医学,“根治”一切不治之症。特斯拉钢铁侠于是正式立项,推进移民火星计划。地球装不下啊。

有时候想,当年大跃进,毛主席放豪言要20年赶英30年超美,亩产万斤,这种热昏的胡话也有人信,终于三年饥荒,饿死几千万收场。但如果比起谷歌脸书特斯拉大佬们的豪言,热昏度上看,那是小巫见大巫啊。

Lin:
你说的是“说话者的热昏度”,还是“狂热群众听者的热昏度”?

李:
good point,好在西方大佬们把牛吹上天,没有太多恶性后果,反正花的是投资人和股民的银子,愿者上钩:人有多大胆,股有多大产。股民喜欢这些。假作真时真亦假,先帝再世也只能自叹弗如了。

扯远了,回到语言学 parsing 来。那句仿古文句的白话文译文是:

我的伟大理想没有实现是因为我只知道给他人做奴才

姜:
@wei 用您的这套“照妖镜”工具体系能分析出此文是否是孔子的遗言么?

李:
这事儿估计不如机器学习的分类系统。真伪问题更多是用词而不是结构。统计性 ngram 蛛丝马迹,比宏观结构的异同更重要。文本分类是 parsing 的短项,关键词学习系统的长项,不是合适的场地(见《规则系统的软肋在文章分类》)。看一个林子的颜色,不需要对每棵树每片叶子做精细的分析。

 

【相关】

《李老夫子遗墨》

孔子临终遗言出土,惊动世界,反动之极

【老炮儿白硕开讲】区块链可替AI对抗数据寡头

规则系统的软肋在文章分类

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

《朝华午拾》总目录

【李白97:大S小S句式中插入“的”所引起的交叉陷阱】

李:
大S小s 即所谓双主语句,又叫话题句、主谓谓语句,是中文文法非常著名的现象,与西方语言很不同的一种句式。例如:

她个儿高 盘儿靓 心眼儿还特好

“她”是主语 是话语研究(discourse study)中的话题(topic),谓语的内部结构里面还有个小主语,所以叫主谓谓语(主谓结构整体做谓语)。中文里面特常见,翻译成英文试试?没有对应的句型 只好转弯抹角换个说法 不是换词汇 就是换结构。

She is tall, pretty and kind.
She is tall, with a pretty face and kind heart.

硬译过去 就惨不忍睹:

* She body tall face pretty and still heart kind.

老外不是看不懂这种洋泾浜,但文法错乱难以忍受。好回到今天正题,再看一个实际例子:

“和我在超市买的速溶咖啡口味不同”

买的是咖啡,不是口味,可真要辨别清楚,不容易,或不值得。“口味不同” 貌似可以成为一个复合谓语,但这样处理,需要协调前面的 possessive NP 的情形,比较:

1. 速溶咖啡【口味不同】
2. 速溶咖啡的【口味不同】

【口味不同‘】做了谓语,例2中那个“的”字就悬在那里了。如果硬要建立 possisive 的关系,从 PSG (短语结构文法)来看,就违反了关系不得交叉的原则:

  • <(速溶咖啡)的 [ 口味 > 不同 ]

有意思的是,这类交叉关系的逻辑困境,换了 DG(依存关系文法) 表达法,就烟消云散了:

只要允许同一个儿子(“咖啡”)可以有两个老子:做“不同”的主语“大S”,做“口味”的定语 Mod,依存关系里面逻辑纠缠的问题就迎刃而解。道理就是,PSG 是在线性流上面标记,很容易陷入边界陷阱。而更加逻辑化表达的DG则是增加一个维度,head (头词)可以上升为老子(父节点),空间的伸展化解了逻辑形式的矛盾。

白:
交叉要有前提条件,就是过继。“口味”也是有价名词。同理。“王冕死了父亲”,“父亲”的坑过继给“死”,吃一吐一,还留着一个坑给王冕。操作层面算在动词账上,实质层面算在有价名词账上。

李:
以前遇到的左右两个修饰语争抢中间的 head 的伪歧义也是同理,在 PSG 里面不可化解,于是成为歧义(其实是没有意义的“伪歧义”),但到了 DG,head 沿着 Y 轴上升为老子,歧义就自然消失:mod1 H mod2

(1)  ((mod1 H) mod2)
(2)  (mod1 (H mod2))

到了 DG,就是:

(mod1 (H) mod2)

这个 (H) 实际上是升上天了,mod1 mod2 也就没得抢了。

其实 SVO 也是如此,文法书一贯的教导都是: VO 先形成 VP 做谓语,才有资格与主语 S 对谈。但 DG 其实不管,动词中心论说的就是把 V 推到皇帝的宝座,S 和 O 不过左右丞相的区分而已。

所以:((S V) O) 其实不比 (S (V O)) 逊色,反正是两个坑,谁先跳进去,其实对于逻辑和理解是无所谓的。只是到了具体语言,这个次序在句法上可能有个方便和不方便的区别。强调句法的人,可能觉得 VP 先成立 对于语言现象的概括和捕捉更加方便和精炼,但实际上这树怎么画没有想象中的那样绝对。

“和我在超市买的速溶咖啡口味不同”

“和咖啡不同” 还是 “和口味不同”?显然是口味。但是如果短语结构是那样的话,“买”的就是“口味”而不是“咖啡”了(见上图)。PSG parsing 常常遇到这种忠孝不能两全的困境。如果硬要 “买咖啡”的 VO 和谐,把“口味”从VP中踢出去,前面加的那个”和“字,就找不到北了,因为“和”所引导的比较对象是“口味”而不是“咖啡”。矛盾不矛盾?

白:
张三和李四不是同一个老师。
张三和李四不是情敌。

买的口味,肯定错了。买的咖啡、口味,传统说法是大小主语的关系。咖啡-口味能作为大小主语,就不作为定中关系。即使作为定中关系,反填也优先于定中。

李:
说的就是难以两全:

1. 和我在超市买的速溶咖啡口味不同
2. 和我在超市买的速溶咖啡的口味不同"

照顾了1 就照顾不了 2.

(我(身体好) 和 ((我的身体)好) 也是如此。身体好先行成为谓语,就把 “的” 字悬在空中了,当然我们也可以强行,把小词用 X 抹去,过河拆桥:

(我S 的X (身体好)Pred)。

白:
“孤苦伶仃的王冕父亲死了。”

谁孤苦伶仃?

“不符合规定的流程取消了。”

不符合规定,还是不符合流程?

李:
不符合规定的流程, 取消了。
不符合所规定的流程, 取消了。

白:
“的”的辖域本来就有歧义。

李:
或者就霸王硬上弓,出现“的”就X抹去,等到将来建立“所有”关系(反填逻辑语义)需要借助“的”的时候,再复活它。

白:
大小主语关系和定中关系,落到有价名词身上,填坑效果是一样的。区别只是名份的区别,没有实质意义。“的”字的介入,只是在没有实质意义的区别天平的一端加重了砝码而已,结果做出的区别仍然是没有实质意义的。

李:
“的”的句法默认就是 possessive,突然悬空了,句法上的确不好看。两害取其轻,管他“的”不“的”,见贼杀贼,抹去就抹去罢。

白:
所以伟哥建议去掉“的”在这个具体场合有他的道理。问题是,如果能判断出属于这个具体场合,也就等于解开这道题最难的部分了。感觉画树纯粹是面子工程,就该直接画图,管他交叉不交叉。

李:
实际上是把显性句法形式的定语关系,与隐性的逻辑语义所属关系,都化作隐性对待了。使定中有形式,但无PSG表达。属于不得已为之的。最终还都是图,而不是树。图比树多了个维度,摆脱了语言线性次序的束缚。

白:
画树只是为了对应栈操作。实际上栈操作可以通过“过继”机制实现有控制的交叉。也就是以树为“拐棍儿”,达成图的目标。把树神圣化、教条化,就走向反面了。

李:
PS树从来就是拐棍。用的时候,还要再转一次。

白:
所以,有没有桥,和有没有路,是两回事。没有直通的桥,还可以有借路的桥。过河拆桥,是拆的借路的桥。最终看到的和最终关心的其实是路。

李:
PSG 的交叉把边界节点算进去了,到了 DG 边界节点不算 两头相安无事。真正交叉的逻辑陷阱 不应该包括边界点 因为逻辑层是脱离了线性次序的,思维的本性就是天马行空,无拘无束。

白:
“王冕父亲死了”无论把“王冕”和“父亲”的句法标签确定为“定中”还是“大小主语”,都显得多余。它们之间逻辑上只有领属关系。

李:
当然 的确也有合理的交叉 可以跳进其他结构的内部去这种。但毕竟统计上罕见多了 而且凡是出现那种情形 人的理智和情感就多少感觉拧巴。换句话说 跳进内部 里通外国 干涉别国内政 必须要有非常强大的理由 不是儿戏。

在长期批评中文的种种文法不严谨的缺点以后,可以为中文句法表达的丰富性点个赞了。寸有所长 有些优点是缺陷的孪生子。说的是谓语的丰富性。与欧洲语言谓语必须由动词当纲不同 汉语谓语丰富多彩多了。名形动三大类 NP、AP、VP 都可以上台主演谓语的戏,PP 更不要说,介词跟情态词类似,是副动词,做谓语都天然合理。更绝的还有这“主谓谓语”。

这小护士大眼睛 盘儿靓 爱读书 一心为病人 非常漂亮暖心。

S【这小护士】Pred【NP(大眼睛) sV(盘儿靓) VP(爱读书)PP(一心为病人) AP(非常漂亮得暖心】

NP sV VP PP AP 连在一起 做并列谓语 毫无违和感。厉害了,汉语。搁在英语 就要叠床架屋了。

那个味道好
(i) That taste is good
(ii) The taste of that thing is good.

这么简单的句子也有歧义了。虽然一般人不问这里面的区别,对歧义无感,但汉语的主谓谓语句式的确提供了另一种解读的可能性。第二种解读在口语里面,“那个”后略有停顿(应该加逗号或留个空格):“那个 味道好”。

汉语中,主谓谓语居然可以嵌套,一个大S,一个中s,和一个小s:

(i)   小 s:味道好
(ii)  中 s:菜味道好
(iii) 大 S:这场宴会菜味道好,饭不怎么样。

【这场宴会S【菜s【味道s 好】】】

这个现象真地有些奇特,头小身子大,是集体领导的奇葩。凡遇到中文特别的句法,神经翻译就真地神经了:

 

【相关】

【李白之48:关系不交叉原则再探】

【李白之47:深度分析是图不是树,逻辑语义不怕句法交叉】

【李白王89:模糊语义与真假歧义,兼论PSG与DG】

【李白之29:依存关系图引入浅层短语结构的百利一弊】

《语义三巨人》

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

《朝华午拾》总目录

【李白96:想哪扯哪,不离其宗】

白:
“《舌尖3》被骂看了吃不下饭,不如来吃炭烧牛蛙吧”
看见了“如来”。

李:
不是问题 trigram 搞定的事儿 : 不如/来。

难的是,

如来请打的 不来也没问题。
要不如来 要不活佛 总之是神就行。

其实,“如来请打的”(if coming please call a taxi)并不能完全排除“如来(佛)”义,虽然语用层面可能性几为0:菩萨请打的 不来也没问题。

白:
“墙内开花墙外香,我转基因抗虫水稻获得美食用许可”

李:

此处不破别处破,唉。“食用”的是“许可” 哈。“许可”、“计划” 等以前论过,是另类,修正一下。

白:
“李书福买奔驰了”

李:

李:

这个 VG 与 这个谓语算是啥关系?形式上似乎是主谓,又好像是说因果关系:

if 看了then 吃不下饭

这类东西中文巨多,算是中文区别于欧洲语言的一个特点。突然想到试试有道翻译,结果:

哈 它不跳坑,搞不清就无视,反正给你一个顺溜的句子出来。这就是神经MT:(1)化有为无:“看了”;(2)无中生有:“我”(此处的无中生有倒是赶巧对路了)。这还不算神经最大胆的地方。更糟糕的是指鹿为马,也见过不少,以前举过一些例子。

白:
“哈佛机器人研究全景图:超越想象,完爆科幻”
机器人-研究-全景图,完美SVO
A panoramic view of harvard robotics
翻得很不错

他为什么可以不管SVO的顺序,直奔主题呢?因为离他最近的那些样本就是这么做的,没有给通用规则的坑留下施展干扰的半点机会。反过来说,基于规则/符号的方法,理应给出例句距离测度的更好估值才对。做不到是不尽职。

所有例句均取自机器人处于研究阶段且机器人尚不具备独立研究能力时期的信息来源,所以科幻场面基本不在考虑之列。包括“机器人专家”究竟是机器人领域的人类专家还是机器人本身就是专家,也是同样问题。

李:
“全景图” 也是那个“另类” 与 “计划” 一样:

机器人-研究-计划

当然,假以场景,任何例外都可以存在:

机器人研究计划后决定马上改变原计划,立刻向人类发起攻击。

白:
After the robot research project decided to change the original plan immediately, immediately launched an attack on the human.
这里果然中招

李:
可以预示的,如果不这样才奇怪了。与“研究计划”类似的,是食品和菜名:“烤土豆”。后者更有意思,VO 关系不变,但一个是【 VO】,一个是 【(被)V 的 O】。

关于符号系统和符号推理,貌似亦步亦趋直接模拟人的思维过程。感觉不仅缺乏弹性,常常也很拙。以前说过,“符号主义基本是人类自己跟自己玩。符号系统很多时候就是个自娱自乐的游戏”。不止一次遇到过这样的情形:符号命名不好,系统受到批评或遇到疑虑,后来把符号重新命名了,原来的批评者就接受了。所以说,很多时候就是一个助忆符的选择问题。复杂的符号系统特别讲究命名,虽然命名没有任何理论价值。有一个符合人类思维习惯的命名方法,复杂的符号系统才可能建成,并持续被维护。这跟复杂的程序必须用高级语言去写,没人可以维护一个复杂的汇编语言程序的道理相同,虽然理论上高级语言并没有汇编语言不能实现的能力。

关于“休眠唤醒”(【立委科普:结构歧义的休眠唤醒演义】),想到几点:

1. 唤醒就是 patching,补漏,机制上就是对结构就如nodes一样,可以局部重新来过,更新:老的关系可以切断,新的关系可以建立,因为条件不同了。

2 需要建立两套feature系统,一套明,一套暗:明的系统按部就班,可以是 deterministic,但可以随时更新;暗的那套深藏不露,平时就当没有。唤醒的时刻 就是变暗为明的时机。

 

 

【相关】

【立委科普:结构歧义的休眠唤醒演义】

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

《朝华午拾》总目录

【李白95:走在路上......】

李:
走在路上,琢磨句法的事儿。

句法任务如果要分解的话,可以这样来看:

1. 谁与谁发生关系?
2. 关系中谁主谁副?
3. 发生关系的次序。
4. 发生什么关系:进一步可分
4a)词法的;4b)句法的;4c)(逻辑)语义的;
4d)话语的(discourse:譬如 话题);4e)领域的(譬如 IE)。

自然,到了领域,其实已经超越了句法范畴,进入语用了。但语用本质上还在句法的延长线上,正如 discourse 关系解构也是句法的延伸一样。逻辑语义通常被认为是句法深度解析的终点。

白:
2可以推出3?被吃掉的就是副的。除非多爹的情况,一副多主。这时出现交叉,画括号也不都管用。没做成主做了副的邻居,会把做主的额度过继给自己的主。

李:
这四点相互关联,但也不妨适当分开,各个击破。

1+3 的任务可以定义为打括号,找分界点。有了 1+3,2 就可以推出来。反之,有了 1+2, 3 也应该可以推出来。

关于1,我们通常的(PSG式)思维定势就是,看哪类词与哪类词发生关系:

S --》 NP VP
NP --》 Det N

之类。这是预设邻居不发生关系,除非发现了关系。可以叫做【兔子不吃窝边草预设】。 其实,我们的语感和大量的语料事实告诉我们的,是与语言学家和乔姆斯基相反的一个预设:邻居总是发生关系,除非发现他们老死不相往来。日久生情是人之常理,语词也是如此:远亲不如近邻,做邻居自有做邻居的道理。摩肩擦踵坐怀不乱,是例外,不是常态。这个预设可以叫做【邻里友爱预设】。这个预设的一个强有力的证据就是,即便是所谓语序自由有丰富形态的语言如俄语、世界语,发生直接关系的语词仍然在邻里之间为多,真正的远距离勾搭很少,并不比语序固定的语言相差太多。

根据【邻里友爱预设】这个原则去做 parsing,可以第一步只找例外,也就是找分界点。譬如中文里面的 “也/都/还” 这些词就是:这些词往往是主语谓语的分界标志。它们对左邻居没有丝毫兴趣,总是像个门卫守护着右邻居。比较下面的 minimal pair:

你走好
你走就好。

可见“就”这个小词的分界作用是如此之大。对于“你走好”,可以假设 “你-走” 发生关系,“走-好” 发生关系,这个不需要规则,这是标配,形式化标注可以是下列三种之一,都大同小异:

  1. PSG1:((你 -- 走)-- 好)
  2. PSG2:(你 --(走 -- 好))
  3. DG:(你 --(走)-- 好)

重申一下【邻里友爱预设】:只要挨着,不分阴阳男女,都会发生关系,除非遇到了 “就” 这样的 outlier:“你走就好”。(你 -- 走) no problemo,*( 走 -- 就) 就不行了。(就 -- 好) 可以发生关系,但前提是 “好” 没有其他可能了:

你走就好运作了。

(你 -- 走),OK;“就” 挡道,跳过。(好 -- 运作)与(运作 -- 了) 都可以,对于 DG 无所谓。

((好 -- 运作)-- 了)
(好 -- (运作 -- 了))

“朋友买的”,的字结构 OR 语气小句?

A:朋友买的
B:朋友买的什么?

小句 desu。等价于 “(这是)朋友买的”。

A:朋友买的 ......
B: 朋友买的难道不好?

搞不清是小句还是名词性的字结构,如果是前者,等价于 “朋友买(这事儿)难道不好?”。如果是后者,说的是 “朋友买的(东西)难道不好?”。虽然说有差别,但人好像不 care,而且也的确多数时候无法区分。所谓变色龙即是如此:CL_or_NP(CL:clause)。

“烤白薯”的故事,以前说过,NP OR VP?

A:我吃了烤白薯。
B:吃了白薯啊,好羡慕。

NP desu,因为“吃”的只能是“物儿”(NP),不能是“事儿”(VP)。

A:我喜欢烤白薯。
B:  你喜欢烤白薯这事儿呢,还是喜欢烤过的白薯这物呢?

这儿的变色龙形式化就是:VP_or_NP。

白:
只在的字结构反填“买”的残坑这个环节有微妙差别,外部没差别。的 升格是一样的(自修饰)。填 的 的坑的萝卜是一样的。

李:
一个是V(事儿)一个是N(物儿),与“烤白薯”有异曲同工之不妙:“喜欢烤白薯”。究竟喜欢烤还是喜欢白薯?关键是 who cares,90% 的时候听到上面的句子,听者不觉得有歧义,也不感觉诧异,只有语言学家逻辑学家这两家,吃饱了喜欢咀文嚼字瞎琢磨,感觉不舒服。

当年玩HPSG的时候,最喜欢 unification 系统的 typed structures 中的一条,就是 unspecified。做老实人,不知道就不知道,也不care。信息 unspecified,等到合适的时机,自然就被补上了。这是信息融合(fusion)的理想世界。太理想了,以至于很难落地,现如今是昨日黄花,无人问津了。

白:
不一样的就在于是不是回填“买”的坑。回填是在第三层了。第三层确实可以不 care。

买的 回填 买,也有不同解读。“买的是次品”vs“买的不如卖的精”。关键是“买”是双宾动词,标配坑太多了。一个被省略的成分还原回来已经是够脑补的了,再进一步脑补她带不带谓词性的坑,这会伤元气的。烤白薯 毕竟真实的坑和模式在,无需脑补。

买的不如卖的精,租的比买的合算,这时是需要care的。

李:
买的(东西)不如卖的(东西)精吗?
买的(人)不如卖的(人)精吗?

买的不如卖的精明。
买的不如卖的精致。

白:
精到底是什么的简称,有标配的。非标配特征必须显性出现才激活。unspecified是保守策略。先标配,有trigger再翻盘是激进策略。难说保守策略就一定好,也难说两种策略就不能在一个系统里和平共处。

李:
unspecified 与 default fillers 可以也应该共处。

 

 

【相关】

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

《朝华午拾》总目录

【尼沙龙笔记:图灵测试是语言理解的合理表示吗?】

毛:
伟哥对 理解 的理解似乎与二师兄不同?@wei

李:
董老师是我的启蒙老师 他当年的逻辑语义学说 回答了一个语句理解的问题 觉得豁然开朗 迄今也没别的学说这样让我信服过。@董振东

毛:
愿闻其详 ?

李:
说理解了一句话 就是解构出里面的逻辑语义:谁是逻辑主语 逻辑宾语 等。董老师定义了将近 100 种逻辑语义角色,形成一个 hierarchy,最上层的逻辑语义角色不过10种。简单说 就是搞明白 谁 对谁 做了 什么  何时 何地  何原因 如何做的 等等。

毛:
那就必定是符号派了?
乡下的老太太,根本不知道主语谓语,她们不是也能理解吗?

Nick:
@毛德操 老太太不知道,但老太太的大脑知道。老太太不知道自己的大脑知道

李:
是啊 老太太知道 “她喜欢红烧肉” 与  “红烧肉她喜欢” 是一个意思,也知道与 “红烧肉喜欢她” 意思正好相反,后者是胡说。所以老太太的逻辑语义是明白的 虽然她不懂得这就叫 parsing 或逻辑语义解析。

毛:
那怎么知道老太太的大脑知道?她可能并未转化成符号并加以解析。
@wei 你讲的 理解 是否包含对于因果的认知?

李:
语句理解包含部分的因果。

毛:
“部分”,多大的部分?有多大的部分,才算是 理解 了?老太太的大脑知道,其外部表现是什么?如何判定?

郭:
“理解”,我的理解如下:我脑子里有一个我自己的“大前提”,或者叫“common sense”,就是我的“认知”。你说一句话,如果我“理解”了,我就可以把你的话作为“小前提”。然后,我可以用“我自己的逻辑”,“推导”出“我的结论”来。这里,是否“符号”并不必然。这“逻辑”,也完全可以“非 亚里士多德”,更不必“因果”。但无论如何,要能再走一步。

毛:
这其实就是图灵测试的变形,只是把它用在人与人之间(而不是机器与人之间)。你是以你自己的认知作为对照,看老太太的反应是否与这个对照者等同。所以,我认为唯一的办法就是图灵测试。

郭:
“老太太的大脑”的判定,其实无异于图灵测试。你说“我喜欢红烧肉”,她如果回答“我小时候吃不起啊”,我就认为她“理解”了。

毛:
对。你还可以问:“为什么吃不起”,如果回答“没钱”,就更说明她理解了。通过了图灵测试,就可以认为测试目标真的理解了,或者说具有了(正常)人的智能。图灵在五几年就想透了这一层。问题其实在庄子那个时候就提出来了(子非鱼),但是他没有答案,没有提出方法。

郭:
不过,图灵测试,可是批评者众啊!也是问题一大堆。

白:
图灵测试这思路不对。

毛:
愿闻其详 ?批评者众可以,但是得要提出替代方案。

白:
我喜欢Winograd Scheme的路子。用代词指代考系统。

毛:
那都涉及语法,可是许多人根本不知语法为何物。比方说我五岁的外孙女,她已经能理解不少事情了,但是她根本不知道语法。

白:
没有显性语法,普通人做得出来的。比如“张三告诉李四他很伤心,他安慰了他。” 然后问:谁很伤心?谁安慰了谁?这完全不涉及显性的语法。

毛:
问题是,你怎么知道她会运用隐性的语法?你钻不到她脑子里,只能从外部观察。

白:
都是这套路。不管有没有隐性语法,做出来算。

毛:
对,做出来算,这实质上就已经是图灵测试了。

白:
不是自然对话,是语言学家和NLP专家设计出来的考题。比较人和机器的考分。

毛:
这实质上仍是图灵测试,形式上有所不同。当然,现在机器一般而言还没有能通过图灵测试。但是观察目标物对于外部刺激所作的反应,并与对照物相比,这个原理是一样的。我们在考察一个软件模块时只看其外部表现,即API, 而不追究其内部实现,也是同样的思路。

白:
其实音乐和语法问题很类似。会唱的听众可以不识谱,但是哪里跟原曲不一致是可以听出来的。

毛:
对的。其实这就对应着符号和神经两条路线的差异。

白:
但是用什么记谱更精确,这个问题是有答案的。

李:
说一千道一万,我还是迷信SVO,即逻辑语义。

毛:
你自己已经说了,迷信。

白:
手握精确武器的人对手握原始武器的人,的确有傲视的资本。

毛:
SVO是高级的思维活动,而神经元是低级的,接近于本能的反应(所谓 下意识 的反应)。下意识的反应猫狗都有,而 SVO 只有人能做。所以脱离 SVO 谈人工智能是不现实的,只是目前的热点是在解决 下意识 活动而已。

白:
记谱法的好坏不需要迷信。

毛:
记谱方法的好坏,是符号派内部的冲突。简谱与五线谱,基本上就是首调唱名与固调唱名的分岐,我觉得都有道理。一些年轻人把人脸识别说得神乎其神,我说: 别以为你这就有多牛,你去牵条狗来,它照样也能人脸识别。

白:
比如说切分音,这个概念在不同记谱法里面可能表现形式不同,这无关大局。但假设一个记谱法里居然没办法表示切分音,这就是落后的记谱法了。

毛:
是的。这就是所谓“不完备”。这里又可看出深度学习与符号推理之间的差异。前者相当于能跟着唱,或记住了几支小调,但绝对成不了音乐家。所以,连接主义所能达到的水平,只能相当于人类中的文盲。而若想要知书达理,就得上学校去读书,学习符号与推理。

白:
当年表示不了“异或”的情况,就很像表示不了切分音的记谱法。

毛:
对对对

白:
如今表达不了robustness的符号逻辑,则是另一种尴尬。都构成被鄙视的理由。

毛:
反正戈德尔已经说了,逻辑本身就是不完备的。但是这并不意味着可以不要逻辑。

白:
表达不了灵活语序的形式语言,也是另一种尴尬。也不意味着逻辑不要创新。

毛:
那是因为有得必有失。你把语言简化了,当然就得付出代价。

白:
还原复杂的路径不止一条,也不为某种技术路线所专属。

毛:
对,应该互补。所以符号推理与深度学习都需要,而且得要能打通才好。

白:
也许真相离大家都有点远,谁不创新都是危险的。

毛:
是啊。但是创新难呐。

 

【相关】

【李白宋93:汉语语序的自由与不自由】

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

《朝华午拾》总目录

【李白梁于94:爱因斯坦是卓别林的崇拜者, 谁崇拜谁?】

梁:
“爱因斯坦是卓别林的崇拜者。” 谁崇拜谁?

李:
好句。歧义句。

爱因斯坦的崇拜者是卓别林
卓别林的崇拜者是爱因斯坦

也都歧义。

以前提过,“者” 是一个看上去像词法后缀(-er),但其实常常跳到句法层面的词素,V-者;VP-者:

违者; 违规者;违反规定者;违反中央三令五申的七项规定者

某人的崇拜者:(1)【(对)某人的崇拜】-者 == 【崇拜某人】-者;(2) 某人【(对别人)的崇拜】-者。

中文好鬼。

如果改成“对象”,就避免的这个讨厌的“者“带来的歧义:“某人的崇拜对象”。崇拜的宾语(即“对象”)必须他指,而修饰语只能是施事。

我是鲁迅的崇拜者;鲁迅的崇拜者是我。

这个没有歧义。是语言外的知识补脑进来消灭了歧义:我是小人物,鲁迅是大人物;我是当今人,鲁迅是历史人物。常识告诉我们:小人物崇拜大人物,而不是相反。时间铁律告诉我们,活人可以崇拜过世的人物,但历史人物绝不可能了解,更不可能崇拜今人。

爱因斯坦卓别林是同时代人,印象两人见过面的。好像见过两人的合影照片。相互崇拜都是可能的。外部知识不能提供区别性消歧支持。

梁:
印象很深,小时候听过“Einstein was a great admirer of Charlie Chaplin's films.“

李:
“邓公是毛公的批评者“,也同样歧义。在毛时代,邓是属下,根本不敢批评毛,只有被批的份儿(三上三下)。在邓时代,邓继大位,毛已作古不能批,只能被批。

于:
@梁焰 @wei 语句的意义由语法不一定能确定,而是语用确定,现在不已经是常识了吗?

白:
现在讨论的是语用确定落实到什么地方

于:
@白硕 语用似是考虑语境吧?语境似包含:说者、听者、时间、地点、事件、意图等等。同一语句的不同语义,依赖于语境的变化。目前语境的研究也有一些进展
语境的可计算性方面取得了一些进展

白:
希望有轻武器对接parser,不要一上来就是重武器,30年搞不完那种。

于:
@白硕 轻武器很难。据我所知,语境计算似刚刚起步,跟parser对接还得等等。不过,可以写文章了

阮:
很多领域应用中,语境相对明确,感觉可以有轻武器。

于:
@阮彤 那就得领域限定,情境也也就相应限定了。限定一定程度,理论上会有轻武器。

白:
批评者作批评对象理解,太少见了。可以做例外处理。至少要一个什么局部占优势的语境才能激活这个例外才可以。标配还是施事。有崇拜者,没有崇拜,更没有崇拜的内部(填坑)结构,自然就打住了。

李:
句法可以高高在上,暂时不烦心深层的逻辑语义。等到落地的时候再看要不要烦,到那时候,绝大多数的问题已经烟消云散。能够留在雷达上的,就是那个落地所指向的实际应用领域场景。进入场景,就是另外一个世界了,领域知识(包括领域本体图谱和领域实体图谱),业务逻辑等开始发力。

白:
现在已经有了“xx对象”这种清晰的表述,再用“xx者”这么暧昧的表述,纯属段子手了。所以“xx者”已经是标配的施事专业户了。

从轻发落的一个办法是,对一个有n个坑的动词V,“V者”只负责填一个坑而不锁定哪个坑。V的pos标记是S/nN,“者”的pos标记是N/S,二者结合并考虑反填的结果就是N/(n-1)N。在这样的句法体系里不必确定逻辑主宾语,也不必确定施受事,只对未饱和坑做加减法。等到说“谁的什么者”的时候,又可以少一个坑。所以,我们不在乎引入“者”的内部结构。这样处理,只不过为了在句法层面找一个能说明“谁和谁有关系”但不必深究“是什么关系”的合适边界。“是什么关系”语义层面自会给出“标配解”,如果必要,语用层面再给出“精确解”。虽然也是高高在上,但是句法本身就能确定的句法结构绝不留给语义。如果V是不及物动词或形容词(S/N),则一切不确定性消失,与“者”结合后形成的就是N。

有意思的是,英语有词法主动被动两个后缀,对歧义完全免疫,比中文的类后缀“者”与“对象”的对比彻底:

A is B's admirer : A admires B
A is B's admiree: B admires A

哈 网上有争论说 admiree 不如 admired:-ee 是一个接受度不够广泛的后缀,见:https://www.quora.com/Does-the-word-admiree-exist-as-opposed-to-admirer

高:
killee
lovee

李:
lovee exists in theory; loved (one), beloved are used orally.  We never know, as language is evolving, someday this suffix might be more widely adopted or might fade away......

 

 

 

【相关】

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

《朝华午拾》总目录

【李白宋93:汉语语序的自由与不自由】

白:
我觉得汉语语序没有那么强的作用。坑也不是非要凑齐了再咋地。应该有一种符号化的mechanism,很方便地刻画这种对语序的包容。大家之前都被误导了

李:
语序我觉得汉语没有那么强的作用
没有那么强的作用我觉得汉语语序
汉语我觉得语序作用没有那么强的
汉语语序作用我觉得没有那么强的
............

尝试结论一下:(1) 宏观语序没有那么强,虽然统计上一定是少数几种语序最常用,但语序灵活性在。(2)微观语序相对固定。譬如 上句中 “汉语语序” 不能说成 “语序汉语”,“我觉得” 不能说 “觉得我”,“那么强” 不能说 “强那么”等(不过 “没有那么强” 倒是可以说 “那么强没有”:这个有点赶巧了,遇到“没有”这个多用法的小词),但“主题化”句式有一定的打破语序的特殊作用:

语序 【停顿】 汉语作用没有那么强

汉语微观语序(phrase内部)不大自由,与有性数格一致关系的欧洲语言对比强烈:有一致关系的语言,就不需要语序来制约谁是修饰语谁是head了。汉语宏观语序(phrases 之间)的自由度,比我们通常以为的,要大很多。我们确实有意无意被误导很久了。

白:
分析用,“不能说”只是在结构作为一个组件参与排岐的时候才有用。其他情况基本不用。

李:
微观中 最显著的关系是 mods 与 head,语序不固定就产生歧义,必须固定。尤其是定中(比较:“木头沙发” vs “沙发木头”)

白:
填坑与盖帽,本来就是两种性质的东西。

李:
到了 副词-形容词组合:很好 vs * 好很 (但是我们有个 “好得很”);状语和动词: 认真工作 vs 工作认真,居然两可,虽然句式不同。

phrases 之间,语序很自由,但仔细看,也有说法。一般来说,宾语提前很常见,但是主语后置不可以,少数例外是“来 去”这些“自动词”:

三个人来了
来了三个人

宾语提前的自由度 大于主语后置,这多少因为前者的说法常见,被共同体约定俗成以后,只好牺牲后者的自由度:太多的自由容易乱套,所以一个元素的自由增加建立在另一个密切相关的元素自由减少的前提下。

白:
喜欢死我了

李:
哈 这个以前议过(【李白82:汉语重叠式再议】):“我稀罕死她:是我喜欢她
她稀罕死我:既可以是 她喜欢我,也可以是 我喜欢她。汉语鬼不鬼?”

S 喜欢死 O:(1) S 喜欢死 O;(2)O 喜欢死 S == O 让 S 喜欢死(O) 【使动解读】

我喜欢死iPhone X 了
iPhone X 喜欢死我了。

歧义:他恨死我了。
不歧义(常识带入):这破玩意儿恨死我了

宋:
汉语的语序,还是有硬约束的。“张三打李四”,一定是张三动手,李四挨打,这个语序不能乱。一般来说,施动受三个短语组成小句,无约束的全排列有6种,能使用的只有3种:施动受,施受动,受施动。当施受无法根据同动词的语义关系来区分时,后两种也不能用。

白:
施受动到底是句法关系还是语义关系?语义关系句法是可以不管的。

宋:
施受动是语义概念,但在汉语句中受语序限制,应该是语义的形式规则。句法分析可以不管,但语义分析要管。我想,用语义适配性解决不了“张三打李四”的语义分析问题,还要使用这种语义的形式规则。

李:
施动受(SVO)是逻辑语义。逻辑语义解析是分析的根本目标。归在哪个模块 分几步走 那是系统内部的事情 但目标不变。

以前说过 常识永远是软约束 而显性形式(关于“显性形式”,见【立委科普:漫谈语言形式】)可以是硬约束 软的不能代替硬的。当一种形式让我们理解了反常识的时候 我们意识到了硬约束。乔姆斯基的绿色思想(“Colorless green ideas sleep furiously”), 精妙不过如此。

硬约束举例:

1 语序: 白米饭吃了我
2 小词 “被” 和 “把”:我被白米饭吃了。白米饭把我吃了。
3 直接解说(包括用小词也用实词):白米饭对我不是吃的对象,反过来我成了白米饭食用的对象。

白:
白米饭把我吃胖

李:
“吃胖” 那种句式(vt 加 结果补语a 构成) 不是硬约束的反例,反而是硬约束的论据。这类词法变式 有严格的规则可循。不仅仅是汉语,很多语言都有一套类似的词法,自动变使动 等等。

有了结果补语,合成词词法从自动变为使动,模式的语序也相应变动,逻辑语义在这个变式中是确定的,因此其中语序仍然是硬约束。如果我们说“我把白米饭吃胖了”,虽然反常识,但语义是确定的。

直接量(小词)、语序 这些显性形式 是硬约束的基本材料,在硬约束实现到pattern的时候 是它们的组合在 enforce 硬约束。

NP1 把 NP2 Vt 了
NP2 把 NP1 Vt+Buyu

其所以后者可以转变自前者,乃是 pattern 里面所规定的语序与小词的硬约束在起作用。无论 “把” 在一种 pattern 里面引入的是受还是施 它都是硬约束能够实行的一个硬件。否则 施受和语句理解就无从谈起。如果常识语义这种软约束可以一统天下 决定我们的理解过程 如果语言学显性形式这些硬约束可以排除在理解之外,人类就不存在新的思想 不存在童话和小说 也不存在知识的更新和应付动态世界的可能。

事实上 常识是最没有信息量的知识 我们的语言交流 其关注点总是集中在非常识和反常识的部分 那才是我们的真正的信息营养。俗话说 狗咬人不是新闻(不具有太多的情报性) 人咬狗才是。

白:
歧义丰富的情况和歧义贫乏的情况,常识的作用是不一样的。歧义丰富时,常识帮助消岐。歧义贫乏时,常识无感,反常识帮助建立修辞性理解。

李:
但是 硬材料不一定是硬约束 只是硬约束可以利用的元素,硬约束离不开 pattern,pattern 才是实行硬约束的执行者,也是协调软约束的场地。是 pattern 告诉我们有个著名的软约束协调的问题 譬如 pp attachment:vt np pp,pattern 是重中之重。FSA++ 就是 pattern 描述和实行的利器和理想的形式平台 formalism,因为它最直接 直观 抓住 pattern 的描述。

白:
举个例子啊这两筐、这筐、两筐,都OK。两这筐不ok,可分析用,也不care。这pattern长啥样,挺关键的。

李:
白老师是要说 语序没大关系 不需要作为硬条件么?问题是,有的时候,它的确就是硬条件,不 care 的前提是它不留歧义的余地或隐患(其他条件足够补偿这个条件的缺失)。但这事儿很难说,至少是睡不好觉。睡不好觉是因为我们不知道它留下隐患的几率有多大。任何一个条件理论上都可以抽掉,在有些 cases 并不影响解析,但其他的一直想不到的 cases 呢?总之,如果觉得某个 pattern 的词序是硬性的(譬如 SVO 不能倒过来 OVS),那么最好还是强制实施。“两这筐” 这种要不要强制排除,存疑。毛姑姑,作为分析不强制问题不大。(当然,作为生成,则必须强制,否则不是人话。)

一般而言,我们在NLP中玩条件平衡术,松一点或紧一点,带入词序或不带入词序,主要是因为自然语言的组词成句的排列,在“法”的平面是非常稀疏的,人类已经或可能说出来的序列比起全排列只是一个极小的子集。因此,作为分析的 parsing patterns 不必要把“合法”的约束,予以全面的强制,只要针对可能的歧义做出区别即可。

完全不需要语序制约的语言理论上存在,因为语序不过就是一种显性形式,总是可以以其他的显性形式代替来表达逻辑语义。可以假想一种语言有足够丰富的格标记(通常用后缀或前缀这种显性形式:介词可以看成是前缀,常用来表示格),董老师定义了近100个逻辑语义,算是非常细了,那么我们假想一种语言有相应的 100 个格标记可以使用,一一对应,没有歧义。再假想这种语言还有足够丰富的一致关系(agreement)标记来表达哪个词与哪个词发生逻辑语义的关系。

可以假想一种语言有足够丰富的格标记(通常用后缀或前缀这种显性形式:介词可以看成是前缀,常用来表示格),董老师定义了近100个逻辑语义,算是非常细了,那么我们假想一种语言有相应的 100 个格标记可以使用,一一对应,没有歧义。再假想这种语言还有足够丰富的一致关系(agreement)来表达哪个词与哪个词发生逻辑语义的关系。

有了这两样东西(小词或语缀常常是表达这些东西的显性形式),语序这种形式就可以完全排除了。因此,任何排列组合都不影响解析。可惜,实际中没有这种自然语言:即便声称自由语序的语言如俄语和世界语,也不是可以完全排除语序条件而达到解析的。

 

【相关】

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

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

【立委科普:漫谈语言形式】

【尼沙龙笔记:图灵测试是语言理解的合理表示吗?】

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

《朝华午拾》总目录

【李白92:自然语言漏得筛子似的,未必要补漏】

李:
火车上要注意安全,贵重物品随身带,行李箱放在能看到的地儿哈!贼春节不放假

乍看 以为贼是修饰语 一愣 还有骂春节的呢。要是改成小偷就好了:“小偷春节不放假”

严格说 放假是个复合概念 它挖了两个坑: 【谁1】 给 【谁2】 放假,就是
【谁1】 放 【谁2】 的假。小偷是谁1 还是 谁2 呢?好像既是谁1也是谁2 小偷通常是单干 不成组织 自己给自己放假。如果是盗窃团伙 也许应该是谁2,需要头儿批准才能放假回家过个年。

梁:
“红杉树最便宜的是多少钱一包? “ 新春快乐!!!

白:
咋不说中南海呢……

“睡觉我喜欢开着空调”“牛肉我喜欢三分熟的”两例中,“睡觉”和“牛肉”的句法功能相同吗?

宋:
什么是句法功能?主谓宾定状补吗?

白:
@宋柔 如果是,该怎么定?

李:
句法不如逻辑语义容易有标准答案,因为句法是形式归纳,而形式归纳有不同的形式角度,所以句法学家特别爱吵架 历史上甚至著名的语言学家之间也针锋相对,充满了不毛之争。逻辑语义则较少争议:人类趋向于有一把共同的尺子。

从词序的形式角度,从discourse的话题的表达,二者是相同的功能。从逻辑语义角度,则差别很大。

这个句首的 Topic 与 句末的“的字结构” 是回指的关系,因为 的字结构里面的 AP 与 NP 有逻辑修饰关系。

白:
相同之处都是把被修饰语前移为话题,不同之处是一个体词一个谓词。只画树,难以体现话题跟谁关联。

“那些字帖我只临了王羲之的。” “王羲之的”并不修饰“那些字帖”而只修饰“字帖”。

树藏起来了很多东西,不能作为讨论的基础。

李:
句首谓词比较讨厌,可以说是话题,但具体逻辑语义可以表示条件、时间、伴随情况等。

睡觉的时候,我喜欢开着空调。
睡觉的话,我喜欢开着空调。

白:
关键是,谁睡觉?至于睡觉和开着空调什么关系,在句法层面才真的不重要。二者搭上扣(有关系)即可。但是谁睡觉,过这村就没这店了。

李:
不重要。
甚至谁开空调 也不重要。非谓语动词省掉主语是有道理的:我喜欢(我 or 别人为我 or 机器自动)开着空调。

白:
“着”表遗留状态,谁造成状态确实不重要。“门开着”天生就是自足的,不需要额外萝卜。睡觉不同。“墙上挂着画”谁挂的也无关紧要。

李:
一般认为 主语可以顺着梯子下:“我喜欢游泳”。

白:
穿透

李:
谁游泳?尽管是个很无聊的 “理解” 问题,大家通常认为是 “我”:我喜欢我洗澡(其实加了“我”逻辑语义是全了,听上去反而别扭,或增加了言外之意:我喜欢自己洗澡,不喜欢人家给我洗澡)。

可是:“我喜欢下雪”。谁下雪?老天、上帝,反正不是“我”。

白:
下雪❄已经针插不进水泼不进了。来个老天也只能是状语。

李:
我喜欢反右。谁反右?其实是组织 群众 最终是领袖。
md 我其实恨透了反右。自己就是个右派 只不过生不逢时 没下地狱。

白:
“我恨透了做家务”,好象不是恨别人做家务唉。

李:
如果省掉 “做”呢?“我喜欢家务。”

白:
没有做,就没有穿透的问题。

李:
这个“做”都无关痛痒 更崩提“谁做”了。总之 语言不像逻辑那样完整 自有其道理。逻辑不必分轻重主次 讲究的就是完备 自洽。而语言漏得筛子一样 却有效传达了语用的需求。

白:
各坑有各坑的权重。算术往往比逻辑聪明。应该有相应robust的逻辑联结词,没有是逻辑不尽责。比如我上次说的,超过三分之二的布尔变量取值为真。还应该有不拘泥于语序的符号连接运算。这些都需要改造逻辑、改造形式语言理论。可以有不刻板的逻辑。可以有允许灵活语序和自由省略的形式语言。

李:
自然语言最大特点还不是歧义 而是不逻辑 常省略 含糊其辞。交流的常态就是说者糊里糊涂说 听者糊里糊涂听,奇的是二者还不觉得糊涂 可以一样谈得热火朝天 酒逢知己。

梁:
对,使用语言,是为了有效传达信息。你已经知道的,我就不说了。什么不知道,你问我呀,等会我补上就行了。

李:
除了语言学家和段子手 没人在乎细节 不 care 语义模糊。正常交流中 90% 的含混之处 双方都不感知,只有少数的细节感兴趣了,于是发现含混,要求澄清。

于:
@wei 日常谈话语义并不模糊。@wei 省略并不意味含混

李:
省略和歧义都是含混的缘由。省略了,就有个默认标配。而标配在共同体宏观上有一个约定的填补 但在个体之间未必一致。省略在语言学上叫零形式,因为形式为零 理论上无法不导致含混,至少是留下了争论的余地。段子当中很多这种例子,捧哏的突然不捧了 处处别扭,把所有的标配推翻。

白:
一般是抬杠的余地。对标配不合作,总是可能的。

李:
是啊 显性形式就堵塞了这个漏洞 没有含糊的余地。法律文书很讲究这个,结果读起来就不像人话。

日常对话:

a 打败了 打败了
b 好哇 好哇 真太开心了

a 你开心啥?
b 不是打败了吗?

a 是啊 你们队打败了
b 好哇。对了,打败了谁家?

a 我们队打败了
b 好哇 一样值得庆贺

a 你们队败了 我们队打败了你们队 快快 喝一杯
b ……

于:
@wei 省略是因为对方知道。如果把所有信息补齐,就太啰嗦了,对话根本进行不下。

李:
子非鱼啊。你怎么知道对方知道 即便你以为对方知道?

于:
@wei 如果对方不知道,大多对话就结束了。 当然教育除外

李:
上面的多轮对话 互相并不知道 也一样没结束

白:
有sentiment,一样可以做出猜测,只不过猜测一直在动态修改。
胜败,与喝彩,的传导路径。谁是哪一头的,可以顺着这个传导路径慢慢明晰。

【相关】

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

《朝华午拾》总目录

【李白91:休眠唤醒需要打离婚证】

李:
以前说过,local n元组搞定分词,通常认为n等于5足够(5-gram 平天下,见【李白71:“上交所有不义之财!”】 )。今天有个例子,可以看看 bigram trigram and 10+ gram 的各自说法:

这所以自由 时尚 叛逆和反潮流著称的学校 连塔也不得雍容。

Bigrams: 这所 所以 ……
trigram: 这所以 ……
10+ gram: 以 …………著称;这所…………学校

毛估估一下这场分词拔河赛的力量对比:“这所” 和 “所以” 单算的话,大概势均力敌,感觉 “所以” 稍微更强一点。 到了trigram “这所以” 形势基本明朗了。 【这所/以】 (or 【【这/所】/以 】)远远强过 【这/所以】,虽然小概率反例会永远存在。 到了 10+ gram,由于框式结构的搭配要求, “以 ……著称”(介词动词搭配)和“这所……学校”(量词名词搭配), 【这所/以】的分词及其解析,占绝对优势 可以板上钉钉了。

可是谁等得起 10+ 呢?或者我们找到一个投机取巧的算法 把搭配距离缩短,或者咱就将就在 ngram (n 小于等于5)里面玩分词。原句(from yours truely today)以及插图(courtesy of yours truely too)是:

“一直觉得作为地标 这塔缺了点啥 想来是太过苗条。这所以自由 时尚 叛逆和反潮流著称的学校 连塔也不得雍容。”

白:
还有“所……学校”之间的chemistry。强化所/以分离

李:
都是远距离。所以得有个合理的距离缩短机制:

白:
距离拉近时和平分手即可。

李:
和平分手很难 有一屁股屎要擦:(i)“所以” 先成了连词后,要保证里面的两个词素 仍然看得见 这是其一。(ii)尝试分手的时候 要一分为二,数据结构 凭空要多出一个 token 出来。(iii)一分为二 各就各位以后,要重新查词典 得到各自全新的特征。(iv)然后才是参与到 parsing 去,该搭配搭配。哪里那么容易分手啊,离婚证也不好领。如此“休眠唤醒”(???),对平台很有要求的。

一个方案是,所有的多字词在一开始就把每个字当成 token 进入数据结构,然后把初步的词典为基础的分词当成是合成词的“绑架性”黑箱组词(组字成词,而不是切词),组词以后,由于黑箱原理,立马屏蔽下层的词素 使不见天日,让其休眠,以防添乱。这样的话 休眠唤醒一分为二的时候 就不需要从根基上动土。但这种处理 在单字层做了太多的虚功。不是完全不可行,但也没见人真地践行到 real life 系统去。

白:
退一张北京到上海的票,可以卖北京到济南和济南到上海两张票。12306都能搞定的数据结构,很难么?“所/以”这一近距离无优势而有远距离呼应可能性的分词方案,相当于分别挂两个订单,如果这两个都找到买主,我就退票。

所不是量词的情形也有可能:“他所以为荣的那点本事,早就过气了。”

所有认准一条标配的道儿,但不准备走到黑的,都可以挂出反悔订单,外面时机成熟了,立刻造反。

组合订单(多笔交易要么同时成交要么同时撤销)必然引入同步,同步必然损失效率。所以一定是trigger驱动,而不是挂单驱动。无 trigger则无时间开销,至于空间开销,那是毛毛雨。

李:
trigger word driven?以前我主张的休眠唤醒之术,就是trigger词驱动(见【歧义parsing的休眠唤醒机制再探】的“难过”)。

不过,关于时间空间开销 其实好像都不是事儿。fact of life is 比起图像 比起语音,比起当今有如军备竞赛一样地使用计算资源的那些 monsters,动辄成百上千的GPUs集群,目前的 NLU 太小儿科了 简直像过家家。 给个 high end pc,就乐颠颠地研发或耍弄 deep parsing。老朋友那天跟我说,现在的问题是 给你100万倍的计算资源 你能做什么?我懵了 打死我 我也用不了这多资源。只会螺丝壳里做道场 玩具一般。还梦想着建通天之塔 探究人类语言最微妙的奥秘。

郭:
机器翻译,用的计算资源也不少。

李:
那天说了 神经mt与语音转写同理 已经不是 nlu 了:都是鹦鹉学舌 离开理解越来越远。看看这篇分析:

The Shallowness of Google Translate

It’s pretty lengthy. Pointing the fact of no understanding in deep learning.  We all know it is true.  What we did not know was how far a system can go without understanding or parsing on an end to end deep neural network modal.  All criticisms here are valid but still MT has never been this impressive and useful in practice unless you make the wrong choice to use it for translating literary works or for translating domain documents where it has no human translation data to learn from.

他说 机器不过是处理了符号序列 它根本就没有丝毫 reading 的真实能力。reading、 parsing 和 comprehending 及 understanding 在英语都是一个意思。是 Elisa 效应让我们以为它理解了 就跟领导在家老跟宠物牛顿说话 坚信牛顿能听懂 也能表达 尤其是肚子饿的时候 牛顿表达能力惊人的丰富。牛顿的表达能力 虽然只是 meow 的不同变体 领导声称可以解码。

“传统” AI 和 NLU 就是理解了吗?也难说 因为符号体系内部也是人类自己跟自己玩。好的符号体系更像是好的助记符 摆弄出貌似逻辑的推理链条来 具有算法过程的透明性 如此而已。但起码 这看上去还在模仿人类的理解和思维。

理解的根基是举一反三 高度概括 以有限对无限 所以不需要大数据 大计算 大记忆。建立在三大基础上的深度 其实是靠蛮力。不是举一反三 而是举一百甚至上千 也未见得就能返一。

 

【相关】

【李白71:“上交所有不义之财!”】 

【立委科普:结构歧义的休眠唤醒演义】

【立委科普:歧义parsing的休眠唤醒机制再探】

【一日一parsing:休眠唤醒的好例子】

The Shallowness of Google Translate

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

《朝华午拾》总目录

【李白宋郭90:句法与逻辑和语用的纠缠】

宋:
@wei 张三是打李四的凶手。其中,张三一打,是一凶手,两个依存关系交叉,你是怎样处理的?

白:
凶手有个X坑,动名皆宜。

宋:
@白硕 这个坑的语义是什么?

白:
使其成为凶手的事件

李:
“张三是打李四的凶手”的问题,这是句法与逻辑的纠缠,不在一个层次。“是” (表示上下位关系,taxonomy)与“的”(表示所属或限定的关系)在逻辑上没有节点地位,只有关系意义,纯粹是一个句法形式,是一个小词。因此,逻辑上的关系没有依存交叉,逻辑上,“张三” 与 “凶手” 发生 ISA (上下位)关系,“张三” 与 “打” 发生逻辑主语关系。这不是交叉 而是同一个起点。见下图:

【SV: 张三,打】
【VO:打,李四】
【限定:打(李四),凶手】
【ISA:张三,凶手】

这四个 binary 的逻辑依存关系没有交叉。反映了本句的逻辑语义,“是”,“的”,都是小词,没有作为节点的逻辑地位。

Me:
至于句法的依存结构,那是另一个平面的事体:

白老师所说的“凶手”挖了个【刑事案件】的坑,用得好的话,可以帮助句法消歧:因为 “打李四的凶手” 有一个句法歧义在:“打”的是“李四”,还是“凶手”?从“打人” 的本体知识,可以得知打人属于刑事案件(寻衅滋事),正好填“凶手”的坑,比“李四”更加合适。但其实要真用上这个知识,无论是经过常识推理,还是利用大数据的语义相偕的统计,里面还有不少沟沟坎坎,并不是那么容易。其他的消歧的 heuristics 也有,似乎更好用。

“打李四的二儿子的凶手”,“打” “李四”,“打” “二儿子”,还是“打” “凶手”?

白:
匹配这种X的原则:1、S优先;2、如果是N,表“事件”的类别名词优先。二儿子二者都不是,优先级最低。“打李四的黑社会团伙的凶手”有歧义了。凶手属于团伙、团伙属于李四的可能性存在。这种解释下,“凶手”的坑仍未填上,且处在“挨打”境地。关键是,“黑社会”、“团伙”、“凶手”负sentiment一致,搞成一伙很顺,偏要黑吃黑很拧巴。坑填上了,sentiment却拧巴,这不好接受。

李:
在 “打 【human-1】的............【human-m】的【human-n】”的模式里面,“打” 最不可能的宾语是 【human-n】,虽然理论上不能排除。排除其他知识,“打” 最可能的O 是 【human-1】,打嘛,打不了那么远。动宾有某种就近原则的 heuristic 在。但是,如果 【human-1】的【human-2】里面,【human-2】有个很大的坑,需要一个【human】所有者,麻烦就来了:“二儿子” 恰好是 这么一个 【human-2】,他一定有个“老子” 的坑。除了孙猴子,没有老子的儿子是不存在的。于是,“二儿子” 要抢“李四”这个可能的老子,“打” 也根据就近原则想“打”这个“李四”。

白:
各种heuristics角力的最佳模型还是神经。

李:
打不赢还是打得赢,天知道。也许“神经”知道,谁知道呢。不知道神经什么时候能够把这些个鸡零狗碎的 heuristics 都考虑进去,省得专家费这个脑子。关键是,费尽了脑力,还是“测不准”。

白:
“打李四的二儿子的犯罪事实”:李四占位置优势,二儿子占大坑优势,犯罪事实位置最远,论坑反而要“打”当萝卜,填“打”的坑不占任何优势。这就是角力。任何一种heuristics只是从一个侧面做贡献而已。但自身暴露的弱点也会埋下祸根。是没爹更坏,还是没“爹”更坏?

李:
因素一多,人肯定干不过机器。但前提是不是有一个巨大的标准答案在(带标),数据不稀疏,然后一锅炒去看角力。

白:
“的”字的嵌套顺序也很有意思。

李:
“的” 不知道什么时候开始进入,继而被滥用的。古汉语的 “之” 可没有现代的 “的” 这么被滥用。有了 “的” 汉语裸奔性得到极度夸张。修饰语之间的内在次序约束被打破,想到啥(修饰语)说啥 根本不过脑子 直接就蹦出来。蹦出来后加上个 “的” 就齐了,显得符合语法。没有 “的” 的话,一个 NP 的前修饰语 怎么摆弄 很有讲究 各种约束。超过两个 的 以上的 NP 没有好东西。语文老师应该一律打回去重做。

白:
比如“张三打李四的二儿子的女朋友的犯罪事实”。又出来一个“女朋友”是张三的,还是二儿子的,的问题。其实就是一个“当量”问题,一个坑顶几个位置。一个首选位置顶几个次选位置。等等。一个反过来抢萝卜的猪队友相当于扣掉几个位置。如此等等。这个“当量”也就是神经里的权值。

李:
想到另外一个语义计算的问题:在句子 “我穿中号鞋大吗” 里面,这个“大”是怎么个说法?“大” 前有四个先行者:1. “我” 2. “穿” 3. “中号鞋” 4. 整句:“我穿中号鞋”。“大” 貌似针对的是 “中号鞋”,这样的话,那就是后置定语或后置补足语了,但感觉总有一点不对劲。比较:

(1) 中号鞋大吗
(2)中号鞋穿起来大吗
(3)中号鞋我穿起来大吗
(4)中号鞋对于我大吗
(5)中号鞋对于我的脚大吗

感觉, (5) 具有理解客观性形容词“大”所需要的完整信息:【对象:我】,还有 【小对象:脚】(二者是整体与部分的关系,这也是情感分析(sentiment analysis)中针对主观形容词(如“好”、“坏”)的大小对象的常见形态:“iPhone X 的屏幕很好”,其中【对象:iPhone X】,【小对象:屏幕】)。

“鞋” 可以从本体知识里面引申出【小对象:脚】出来,所以 3和4 在引申以后具有完整的信息。(1) 最差,需要对话双方有相当的默契和 shared 背景和上下文,才可以相互理解,否则就是无厘头,缺省了关键信息。(2) 缺乏大对象(主体),理解也不完整,反问或追问的话,应该问:谁穿“大”呢?“大”对谁而言呢?

郭:
@wei “我穿中号鞋大吗?” 觉得你的问题问偏了。

首先,这句dependency parsing应该没问题。那么,问题其实在语用。就是说,你丢给我这句话,我怎么接?

先回想下你自己的逻辑:
1. 中文可用两极对照来指代属性:“大小”就是指“size”
2. 两极中的一极是default:“大小”里的“大”就是这个default.

按此,这样三句,其实等价:

“我穿中号鞋 大 吗?”
“我穿中号鞋 小 吗?”
“我穿中号鞋 尺寸对 吗?”

这样,我已经有理由做一步 reduction,理解你其实要我帮忙回答:

“我穿中号鞋?”

或者更简单地:

“我 穿 什么尺寸 ?”

这就好办了!

李:
不错,不错。

 

【相关】

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

《朝华午拾》总目录

【NLP随笔:词法内部结构休眠,句法可以唤醒】

下班路上有一个关涉词法句法的灵感,有点意思,随笔记下,省得忘了。

开问:对于词典列举了的词条,还要不要记录内部词法呢?

当然,既然列举了,词法应该不重要了,一切都是绑架。(如果要记录词法,所记录的词法也是绑架。)词条就是一团泥巴,爱怎么捏都行,一切看方便和需要。尽管绑架不需要讲道理,自然也就不必讲词法,但是反观人对词条的语言学认知,其实还是在无法有法之间的灰色,并不真地就是一团漆黑,进了词典就都是黑箱子了,其实也有灰箱子,甚至相当白的箱子在内。

举个例子来说明这种灰色的法与非法状态。

“细心” 是一个2词素的词条 在所有的现代汉语词典里面 通常贴个形容词A的标签。因为它非常典型地起一个形容词的句法作用,与其他形容词同义词“认真”、“仔细”、“刻苦”类似:

(1)做定语:细心人。(认真人。仔细人。刻苦人。)
(2)做状语:细心做事儿。(认真做事儿。仔细做事儿。刻苦做事儿。)
(3)做谓语:她很细心。(她很认真。她很仔细。她很刻苦。)

语义上,“细心”挖了一个【human】的坑,“她”正好跳进去。无论句法上做定语状语还是谓语,逻辑语义上,“细心”都应该挂上这个【human】。

句法语义之下是词法,如果从词法内部看,这几个词条是不同的,而这一点对于人其实并不是黑箱子,而是有相当透明度的,可以轻易认定:

“细心”在词法内部是一个名词性结构N(而不是对外的形容词A),词法关系是“细”修饰“心”:细的心。

“认真”稍微模糊一些,但一般人感觉还是词法内部的动宾结构V(而不是对外的形容词A),词法关系是:“认”【这个、一个】“真”。

“仔细”的词法关系应该是并列,而被并列的两词素都是形容词A,倒是与句法A赶巧一致了,说的是“又仔又细”、“且仔且细”。

“刻苦”不太敢肯定,词源上看,“刻”是动词,“苦”是形容词,也可以做名词。内部词法结构是动宾,还是并列,存疑,先挂起来。

总之,同是句法形容词的几个同义词,内部词法结构可以完全不同。回到开题的问题,这种对于人(起码是语言学家)可以看见的词法结构,需要不需要在词典里面标记呢?

乍一看,似乎不需要,因为一般来说词法的目的是支持句法,句法的目的是支持(逻辑)语义,总之是通过形式的表象,解码语义的内涵,这就是 deep parsing 和 NLU 的真义。既然句法词类(A)、句法角色(定、状、谓)、逻辑语义(修饰【human】)都可以清晰地解析出来,回头再去深究词法内部的小九九,貌似无益。就让它深眠在语言结构的层级体系(hierarchy)的最底层,永远不见天日。

但是,既然不是黑箱子,人就不会永远放过,偶见天日还是有的,特别是在段子或俏皮话里面:

A:你怎么形容她?
B:两只巧手,一颗细心。

see,在人脑的语言认知过程中休眠在词法内部的N,居然冲破了句法A的标配属性浮现出来,成为堂堂正正的句法N,与量词结构搭配构成名词短语,听上去一点也不拗口。为什么那么自然,因为休眠唤醒了,因为他原本就是名词。

看来,休眠唤醒的确是人类认知语言的一个机制。如果我们想要模型休眠唤醒这个机制,那么词法内部的结构作为休眠的种子,就应该先在词典里面埋下来,它才可能被唤醒,发芽成语。

结论:词法内部结构,还是记录下来为好,如果真要做深度自然语言理解的话。

 

【相关】

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

《朝华午拾》总目录

【李白王89:模糊语义与真假歧义,兼论PSG与DG】

李:
里面关涉所有的词法现象,包括 open compounding (合成词),重叠(reduplication)etc,morphology is a mini-syntax

白:
这是西方语言学者的思维惯性所致,把形态变化外化了

李:
但 词法 与 lexicon 还是不相称的吧,前者是规律 后者是库。前者是“法”后者是“典”。

在语言学教科书里面,词法是一个动态模块,词典是一个静态模块(资源)。当然到了专家词典,那是NLP里面的创新,超越了传统的语言学界定。

白:
法+典
比如外界常说,汉语的morphology不发达,狭义理解形态变化不发达是对的,词法不发达就说不通了。至少我们构词法、离合词都算是发达的

李:
这里面其实还是有一些说法的。开放合成词 open compounding 是超出词典的构词法,占据了汉语构词法的大部。语言学上 通常认为这个东西处在词法句法的中间地带,不像词的词尾形态变化(inflection)和 语缀派生词(derivation)那样包裹在词法内部。因此,说汉语morphology贫乏也不无道理。如果从汉语的语言历史来看,就更是如此。

其实 无论从理论概念上 还是实践中,把词典绑架不了的所谓合成词这种中间地带的现象 看成是句法的初级阶段,而不是看成是词法,是合适的。(至于词典可以枚举的合成词,无论是黑箱子还是半透明,那都不是事儿,反正是围在词典的围墙内【离合词除外,需要有特殊的与句法接口的机制】)
理由如下:

1. open compounding 与句法的组合规律 总体上有一体性

2. 语素(lets say,bar 0)组合成合成词(bar 1),合成词组合成(初级)词组(group, bar 2),词组组合成(基本)短语(base XP,bar 3),基本短语组合成嵌套短语(bar 3.x),嵌套短语组合成谓语(VP, bar 4),谓语与主语组合成子句(clause,bar 5)

这一切其实都是一个句法单位(我的导师刘先生称之为动态句素,非常精辟)越来越大的过程。

在 bar 1 与 bar>1 中切一刀,前者叫 morphology 后者叫 syntax,其实有相当的任意性。主要依据是发现 open compounding 与词典枚举的 compounds 在句法进一步组合过程中,基本上可以同等对待,而且词典枚举不枚举也是有相当的任意性的。

这其实就是 structural configuration(x-bar concept) 利用离散值在逼近嵌套(或递归)句法组合的过程中的归类角度而已。

上面的离散值分为 5 个 bars,比通常的 x-bar theory 细一点,换一个角度去抽象或 generalize, 也可以分为3层:词,短语,分句。也可以分为四层:词,词组,短语,分句。总之,既然这些分类具有任意性,而层层组合又具有一体性,那么把合成词组合排在句法里面垫底,是合理的。

今天还想到一个与此相关的句法界的老问题:说的是 有一种结构歧义 普遍存在 但一般也不影响交流 说者是模模糊糊说 听者是模模糊糊听 只是遇到较真的人 或者说段子抠字眼的人 才会把歧义凸显出来说事儿,多数人不较这个真。

说的是修饰语所修饰的句素的范围歧义:mod1 mod2 H,到底是 [mod1 [mod2 H]] 还是 [[mod1 mod2] H]? 逻辑语义上,这是结构歧义无疑,对应了不同的解读和至少是细微的语义差别,但实际交流中,who cares

有意思的是,by default 乔姆斯基短语结构分析法基本是第一种结构分析,mod1 不是修饰 H,而是修饰 【mod2 H】这个group;与此对照,by default,依存文法采用的是中心词分析法,说的是第二种解读,mod1 修饰的是 H,mod 2 也修饰的是 H

对于这种普遍存在的结构歧义,两种解读都可以找到各自的语言事实依据(XOR),也都有更多的语言事实支持这种“真歧义”,但这个真歧义多数人不介意而已。

提出这一点是想说:1. 这种歧义在多数交流和落地场合 可以打马虎眼 不必认真对待;2. DG 和 PSG 默认出来的结构在这个普遍现象中是相左的,不等价,两个表达法互相转换的时候,需要注意这一点。

wang:
学习了

白:
靠H代表,才能统一。

李:
h 的代表性与人民代表类似。说是代表了人民吧,好像也不对,人民对他通常无感,他对人民也不负责,说不能代表吧 法理上的确是代表。还是语言共同体聪明:糊里糊涂说 糊里糊涂听。邓小平理论就是 不争论。语言与逻辑的分野 在这里表现最充分。语言使用中从来没有感觉出那么多的逻辑歧义。交流绝大多数时候真滴就是一笔糊涂账 大家还都基本认账 只有偶然遇到什么特殊情形 才较真起来。特殊情形包括 说段子。也包括 打官司。因此法律合同与口语相差甚远 那是把所有人当贼防 不得不采取的表达方式。

王:
说得好!

白:
说something是可以糊涂的,没问题,太正确了。说which one是可以糊涂的,有点难。mod1是形容词-副词兼类,mod2是只能作定语的成分时,存在副词优先的现象。

“好漂亮的花”不是【好 【漂亮的 花】】而是【【【好 漂亮】的】花】

王:
H就是公司的法人代表。一个公司总得有个头H(Head),来代表公司。通常情况下,基本上H就代表公司出来说话,在该出面的时候,能承接的很好,能保证以企业级为单位的事务运转,简洁而高效。--这个时候H就是代表很好。但他完全代表公司的全部数据面吗?不可能,也不需要,只要能有这个H牵头,且能保证各层结构有序运转就好。员工大众需要有这样个代表,企业上头管理部门,也需要这样一个代表,而这种衔接,就是最经济的。语言学,想必也类似。

在H完全代表不了的,情况下,可能再需要配一个或几个副手,一起代表就基本能把问题解决了。H有时信息不自足的情况下的一种选择。比如,介宾情况。介也许就是介绍主人 的介绍人吧。

@白硕 照白老师这样一说,感觉还是该分开的情况还是得分开,细节工作看来还省略不了。只有那些不必分开或不值得费功的情况,特别“左右搭接两相宜“的才不必细致分开。

李:
顺着前两天的思路,一个观察:有的歧义不重要,介于真歧义伪歧义之间。逻辑上的真歧义,语用上的伪歧义(因为人普遍不 care,因此也没必要要求电脑去 care,怎么着都可以)。譬如:“昨天-发布-了”,在 PSG 中,下列的结构歧义:

((昨天发布)了) vs (昨天(发布 了))

到了 DG 就没有歧义了(昨天(发布)了),反倒省心。

 

【相关】

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

《朝华午拾》总目录

【NLP答问2:实体语义和逻辑语义】

新人:
就是觉得自己的问题有些太外行了,不太好意思随便问

答:
外行内行,都是一个过程,只要有兴趣就好。《李白对话》 天马行空,属老人促膝恳谈; 也可以来一些答问对话,为缩小代沟做点实事。

嗨,上篇《NLP答问》刚贴到微博不到两小时,就2.4万阅读量了哈。可见答问的话题还是很符合公众兴趣点,人工智能教授马少平老师等有推荐和评论:https://weibo.com/2316531634/profile?topnav=1&wvr=6&is_all=1

你们说得都对//@南大周志华:目标代码吧,不是数据结构 //@马少平THU:用计算机实现不这样还能怎样?//@第五逻辑:所有的场景应用都是转化为计算机可执行的一种数据结构,这就是现阶段所谓的AI
@立委_米拉【NLP答问:关于parsing 和自然语言理解】 
立委_米拉
7分钟前 来自 微博 weibo.com
不争论 不争论。小平连大是大非姓社姓资都不争论,咱数据结构和目标代码有啥争论的。重要的是面对冰冷的现实,“这就是现阶段所谓的AI”,与自主机器人或机器智能没有一毛钱的关系,都是人类自己跟自己玩,机器不过就是玩具(或者也是吹牛的道具)而已。没霍金之流吹得那么高大上。

新人:
目标代码和数据结构不是一体的吗?

答:
CS的标准说法是: 程序(目标代码)= 数据结构+算法

我们在讨论的时候,侧重点是“理解”的表达形式(representations),就是结构树(tree),或图谱(graph),强调的是数据结构的一面。“理解”作为(智能性)动词,当然有算法的一面。所以周教授说是目标代码,才全面。

新人:
这样啊,受教了

答:
数据本身不一定是可执行的代码。结构树不过是“理解”的一种内部表达,无论是达成这个理解的过程(parsing),还是利用这个理解去落地到应用(semantic grounding to applications),都有一个NL算法的事儿。

前者(parsing)在我这里就是 cascaded FSA++ 的实现算法,后者(落地到信息抽取和数据挖掘场景)就是一个 subtree matching 的算法。这是就关涉算法的机制(formalism)而言,其实利用这个算法机制对系统各个模块以及模块中问题的处理过程,也还有个语言学算法的思路在内,不仅仅是在多层系统里面先做什么后做什么,还有各种数据流接口的设计等,如何防止错误放大,如何协调共性和个性,都与算法有关。

新人:
结构树是“理解”的一种内部表达,这个内部表达中已经包含语义的部分了吗?还是说语义包含在另一种内部表达的形式里,多种结构组成了“理解”的形式?

答:
结构本身就是最重要的语义部分。这是语言学的常识,也是多数计算语言学家的共识:学界术语叫 semantic labeling,在中国的NLP界,由于董振东前辈30年前的创新研究,这个语义被命名和普遍接受为“逻辑语义”。理解了一句话,最关键的就是要搞清楚一句话里面的那些语词概念的逻辑语义角色:【谁】(逻辑主语,施事)【对谁】(对象补足语)【做了】(谓语)【什么】(逻辑宾语,受事),【何时】(时间状语),【何地】(地点状语),【如何】(方式状语),【为什么】(原因状语)等等。

深度解析(deep parsing)所建立的结构树或图,就是要填写这些逻辑语义角色,填写好了也就是达成了语言理解的核心。

新人:
实体语义对于理解一个句子不重要吗?好像绕回了之前说的WSD那篇…(【NLP 迷思之四:词义消歧(WSD)是NLP应用的瓶颈】

答:
什么叫实体语义?实体对应的是NE或NP,在句子中就是一个元素。在知识图谱里面,表达成一个画像(profile),uniquely 对应了真实世界的一个实体。

实体语义的重要是在领域落地的时候,而在领域独立的语句分析阶段,只要知道类别就好了,实体的语义或歧义(如果有歧义的话)可以先绕过去的。譬如,“约翰”这个实体,知道他是一个人名(NE)就够了,至于他究竟指的现实世界哪个实体,对于理解一个里面提到“约翰”的那个句子,并不重要。

但是如果要建立领域的知识图谱,实体语义就重要了,否则描述这个约翰的事件,张冠李戴到另一个约翰头上,语义落地的偏差就会把领域知识图谱(事件场景以及个人画像的语义网络)搞砸。

我这篇【NLP 迷思之四:词义消歧(WSD)是NLP应用的瓶颈】)文的本义是说:WSD 一般来说不是 parsing 的瓶颈,而是可以推后到落地的时候去做区分。

新人:
是,想了下,只有在具体场景下,才能讨论实体语义。

答:
换句话说,语言学意义的理解首先看到的是结构和角色(“项链”),然后才是角色里面的每颗“珍珠”。所以说 deep parsing 是自然语言理解的皇冠和核心,是自然语言落地的核武器。

新人:
感觉清晰了很多。终于不纠结实体了…

答:
关键是,实体的歧义通常不影响结构和角色定位(即逻辑语义),而一个语句与其他语句的语义区分,主要就是结构和角色定位。这里面细究的话,逻辑语义结构里面有核心和边缘的区分。核心就是所谓 argument structure,这是以谓词为核心挖的几个“坑”,需要实体参与者(萝卜)来填坑的的结构,表达的是语义主干:【who】 DID 【what】 【to whom】这类。边缘的语义主要是可有可无的状语,可分为一二十种,表达的是语义的细节:时间,地点,条件,原因,让步,结果,程度,等等。

新人:
昨天插入语的那个badcase,是不是属于边缘的语义的部分?

答:
插入语当然是边缘语义,非常的边缘,提供某种语气。

新人:
感谢您愿意回答我这些基础的问题。我得赶紧补补课

答:
不必拘束。在你这个年龄段,保持好奇心和兴趣最重要,不要怕吃苦,一头扎进去几年,才能真正体味。我有个n万小时定律(《聊聊 NLP 工业研发的掌故》),虽然夸张了一点,但说的就是必须要有足够历练,才能一览众山小。

 

【相关】

【NLP答问:关于parsing 和自然语言理解】

NLP 迷思之四:词义消歧(WSD)是NLP应用的瓶颈】

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

《朝华午拾》总目录

谷歌SyntaxNet是“世界上最精确的解析器”吗?

【立委按】老友郭兄盛赞自动有道翻译,说强过我常用的谷歌神经翻译。于是小试一次,翻译一下我自己的英语博客,除微量技术性编辑外,基本保留原译。以飨同仁。

我们都知道,自然语言解析相当复杂,在自然语言理解(NLU)及其应用中起着重要作用。我们也知道,一个突破到90%以上,解析的准确性接近于人类的表现,这确实是一个值得骄傲的成就。然而,按照常识,我们都知道,如果没有任何附加的范围或条件,你必须有最大的勇气来宣称“最”,除非得到了吉尼斯等权威机构的认可。对于谷歌宣称的“世界上最精确的解析器”,我们只需要引用一个系统来证明它是不真实的或具有误导性的。我们碰巧建了一个。

很长一段时间以来,我们知道我们的英语解析器在数据质量方面接近人类的性能,并且在支持真实生活产品方面是健壮的、快速的和扩展到大数据的。对于我们采取的方法,即语法工程的方法,这是主流统计分析以外的另一种“学派”,这是基于架构师的设计和他几十年的语言专业知识的自然结果。事实上,我们的解析器在5年前就达到了接近人类的性能,在收益递减的时候,我们决定不再大量投资于它的进一步开发。相反,我们的关注点转移到它的应用上,支持开放领域的问题回答和对我们的产品以及多语言空间的细致深入的情感分析。

几周前谷歌发布了SyntaxNet,我受到了来自我的许多同事,包括我的老板和我们的营销主管的各种渠道的消息轰炸。所有这些都提请我对“NLU最新突破”的关注,似乎暗示我们应该更加努力地工作,努力赶上这个巨人。

在我自己看来,我也从来没有怀疑过,另一学派在深度解析上还有很长的路要走,才能赶上我们。但我们处于信息时代,这就是互联网的力量: 来自一个巨人,真实的或具有误导性的新闻,均会立即传遍全世界。所以我觉得有必要做一些研究, 不仅要揭示这个领域的真实情况, 但更重要的是, 还试图教育公众和来到这个领域的年轻学者,一直存在也将永远存在两个学派,在NLU和AI(人工智能)领域。这两个学派实际上有各自的优点和缺点,它们可以是互补的,也可以是混合的,但是一个不能完全忽视或替代另一个。另外,如果只有一个方法,一个选择,一个声音,特别是NLU的核心,比如解析 (以及信息提取和情绪分析等),那么这个世界会变得多么无聊,特别是当大众“所青睐的方法”的表现还远不如被遗忘的那个方法的时候。

因此,我指示一位不参与解析器开发的语言学家尽可能客观地对这两个系统进行基准测试,并对其各自的性能进行一个苹果到苹果的比较。幸运的是,谷歌SyntaxNet输出语法依存关系,而我们的也主要是依存解析器。尽管在细节和命名惯例上存在差异,但在语言判断的基础上,结果并不难对比和比较。为了使事情变得简单和公平,我们将一个输入语句的解析树分解成二元依存关系,并让testor语言学家判断; 一旦有疑问,他会向另一位高级语言学家请教,或者被认为是在灰色地带,而那是很罕见的。

不像其他的NLP任务,例如情绪分析,在那里有相当大的灰色区域空间或标注者之间的分歧,解析结果其实很容易在语言学家之间达成共识。尽管两个系统(输出示例如下所示)所体现的格式不同,但在两个系统的句子树输出中对每个依存项进行直接比较并不困难。(对我们来说更严格的是,在我们的测试结果中使用的一种被称为“下一个链接”的修补关系在测试中并不算合法的句法关系。)

SyntaxNet输出:

Netbase 输出:

基准测试分两个阶段进行。

第1阶段,我们在新闻领域选择了英语形式的文本,这是SyntaxNet的强项,因为它被认为比其他类型的新闻有更多的训练数据。在新闻分析中公布的94%的准确率确实令人印象深刻。在我们的示例中,新闻并不是我们的开发主体的主要来源, 因为我们的目标是开发一个领域独立的解析器来支持各种类型的英语文本对于真实文本的解析,譬如从社交媒体(非正式文本)做情感分析, 以及用科技论文(正式文本)解析 来回答“如何”的问题。

我们随机选择了最近的三篇新闻文章,其中有以下链接。

(1) http://www.cnn.com/2016/06/09/politics/president-barack-obama-endorses-hillary-clinton-in-video/
(2) Part of news from: http://www.wsj.com/articles/nintendo-gives-gamers-look-at-new-zelda-1465936033
(3) Part of news from: http://www.cnn.com/2016/06/15/us/alligator-attacks-child-disney-florida/

以下是分析上述新闻类型的基准测试结果:

(1)谷歌SyntaxNet: F-score= 0.94。
(P为精度,R为召回,F为精度召回综合指标)

P = tp/(tp+fp) = 1737/(1737+104) = 1737/1841 = 0.94。
R = tp/(tp+tn) = 1737/(1737+96) = 1737/1833 = 0.95。
F = 2 *((P * R)/(P + R)]= 2 *((0.94 * 0.95)/(0.94 + 0.95)]= 2 *(0.893/1.89)= 0.94

(2)Netbase解析器: F-score = 0.95。

P = tp/(tp+fp) = 1714/(1714+66) = 1714/1780 = 0.96。
R = tp/(tp+tn) = 1714/(1714+119) = 1714/1833 = 0.94。
F = 2 *((P * R)/(P + R)]= 2 *((0.96 * 0.94)/(0.96 + 0.94)]= 2 *(0.9024/1.9)= 0.95

因此,Netbase 解析器在精度上比谷歌SyntaxNet好了约2个百分点,但在召回中低了1个百分点。总的来说,Netbase比谷歌在F-score的精确-召回综合指标中略好。由于这两个解析器都接近于进一步开发的收益递减点,其实没有太多的空间来进行进一步的竞争。

第二阶段,我们选择非正式文本,从社交媒体Twitter来测试一个解析器的鲁棒性看处理“退化文本”: 很自然,退化的文本总是导致退化的性能 (对人类和机器), 但一个健壮的解析器应该能够处理它,数据质量只有有限的退化。如果一个解析器只能在一个类型或一个领域中表现良好,并且性能在其他类型中显著下降,那么这个解析器就没有多大用处,因为大多数类型或领域没有像资源丰富的新闻类型那样有大量标记的数据。有了这种知识瓶颈,解析器就会受到严重的挑战,并限制其支持NLU应用的潜力。毕竟,解析不是目的,而是将非结构化文本转换为结构的一个手段,以支持不同领域中各种应用程序的语义支持。

我们从推特上随机选择100条推文进行测试,如下图所示。

1.Input: RT @ KealaLanae : ima leave ths here. https : //t.co/FI4QrSQeLh2.Input: @ WWE_TheShield12 I do what I want jk I ca n't kill you .10.Input: RT @ blushybieber : Follow everyone who retweets this , 4 mins

20.Input: RT @ LedoPizza : Proudly Founded in Maryland. @ Budweiser might have America on their cans but we think Maryland Pizza sounds better

30.Input: I have come to enjoy Futbol over Football

40.Input: @ GameBurst That 's not meant to be rude. Hard to clarify the joke in tweet form .

50.Input: RT @ undeniableyella : I find it interesting , people only talk to me when they need something ...

60.Input: Petshotel Pet Care Specialist Jobs in Atlanta , GA # Atlanta # GA # jobs # jobsearch https : //t.co/pOJtjn1RUI

70.Input: FOUR ! BUTTLER nailed it past the sweeper cover fence to end the over ! # ENG - 91/6 -LRB- 20 overs -RRB- . # ENGvSL https : //t.co/Pp8pYHfQI8

79..Input: RT @ LenshayB : I need to stop spending money like I 'm rich but I really have that mentality when it comes to spending money on my daughter

89.Input: RT MarketCurrents : Valuation concerns perk up again on Blue Buffalo https : //t.co/5lUvNnwsjA , https : //t.co/Q0pEHTMLie

99.Input: Unlimited Cellular Snap-On Case for Apple iPhone 4/4S -LRB- Transparent Design , Blue/ https : //t.co/7m962bYWVQ https : //t.co/N4tyjLdwYp

100.Input: RT @ Boogie2988 : And some people say , Ethan 's heart grew three sizes that day. Glad to see some of this drama finally going away. https : //t.co/4aDE63Zm85

以下是社交媒体推特的基准测试结果:

(1)谷歌SyntaxNet: F-score = 0.65。

P = tp/(tp+fp) = 842/(842+557) = 842/1399 = 0.60。
R = tp/(tp+tn) = 842/(842+364) = 842/1206 = 0.70。
F = 2 *((P * R)/(P + R)]= 2 *((0.6 * 0.7)/(0.6 + 0.7)]= 2 *(0.42/1.3)= 0.65

Netbase解析器: F-score = 0.80。

P = tp/(tp+fp) = 866/(866+112) = 866/978 = 0.89。
R = tp/(tp+tn) = 866/(866+340) = 866/1206 = 0.72。
F = 2 *((P * R)/(P + R)]= 2 *((0.89 * 0.72)/(0.89 + 0.72)]= 2 *(0.64/1.61)= 0.80

对于这些基准测试结果,我们将它留给下一个博客来进行有趣的观察和更详细的说明、分析和讨论。

总而言之,我们的作为真实产品基础的解析器在正式的新闻文本以较小的领先 (不到两个百分点,两个系统其实都已经接近专家的性能),在非正式文本中以15个百分点的巨大优势,均超过了谷歌的研究性系统SyntaxtNet。因此,可以肯定的是,谷歌的SytaxNet绝不是“世界上最精确的解析器”,事实上,在适应现实生活中的各种类型的现实世界英语文本时,它还有很长的路要走,才能接近Netbase解析器。

有道翻译 http://fanyi.youdao.com/  自动翻译自我的领英博客:
https://www.linkedin.com/pulse/untrue-google-syntaxnet-worlds-most-accurate-parser-wei-li/

 

[Related]

Announcing SyntaxNet: The World’s Most Accurate Parser Goes Open

Is Google SyntaxNet Really the World’s Most Accurate Parser?

K. Church: "A Pendulum Swung Too Far", Linguistics issues in Language Technology, 2011; 6(5)

Pros and Cons of Two Approaches: Machine Learning vs Grammar Engineering

Pride and Prejudice of NLP Main Stream

On Hand-crafted Myth and Knowledge Bottleneck

Domain portability myth in natural language processing

Introduction of Netbase NLP Core Engine

Overview of Natural Language Processing

Dr. Wei Li's English Blog on NLP

 

【李白王董84:再谈POS迷思,兼论 PennTree 的误导】

王:
动词名化确实不好处理的难办事,以前做词性标注,准确辛率不高,就栽在这,n,v,vN上了,还有区别词b。当然现在语法理论,一个小小助词“的“就有管住核心谓词的能力,使之由V变N。

白:
A、“粉红凤凰”,B、“红绿色盲”,C、“真假和尚”。
A、粉修饰红,粉红修饰凤凰。
B、红绿并列,但并不是用本意的叠加修饰“色盲”,而是用不能区分这两种颜色来定义色盲的具体类型。
C、真假并列,通过分配律把共享中心词“和尚”送给二词修饰,表示“真和尚、假和尚”。
修饰成分间的关系很不简单呢。

李:
我对 b 的第一解读是 c 的并列
看了讲解才悟出来 也许还有 nuance
感觉差异已经细微 微妙到很少需要在意区分的程度了

@wei wang 中文中的所谓动词名物化 nominalization
很大程度上是一个伪问题 一个语言学迷思
强加到 POS 模块 作为其难点 更是一个自找的麻烦
工作 学习 睡眠 吃饭 下雨 打雷
这些词 类别很清晰

王:
@wei,对此我也迷惑

李:
(逻辑)动词 万变不离其宗 没有 POS 区分的必要性

Wang:
这点我同意李老师。所以,我说现代语法理论,是否需要调整一下?只是不敢妄论。
如果都能走对,倒无妨,就怕转得有对有不对,就确实是问题了

李:
在 POS 先于句法的通常架构里
把句法的不同用场 强加到 POS 标签去 是真实世界的天下本无事 x人自扰之。
真有好好的路 硬是自己挖个坑 然后就自己跳进去 然后抱怨路不平。

王:
当然,我现在已经跨越POS这个,不使用POS而直接走句法了。不过对别人而言,这词性标注依然存在。即便标注,我也认为动词体征的,就一直动词体征走向去,比较好。

李:
汉语语法学界上世纪50年代的词类大争论,大争论当年没争出结果来,是时代的局限。

王:
我的看法是,也不去争论。

李:
词无定类(“词无定类 入句而后定”)走向一个极端,无法服人,但其思想有闪光之处。

王:
而是拿到系统中去跑,能跑得好的,自然就是好的,至少这正是我们所需要的

白:
结构强制在技术上一点不复杂,问题是算句法还是算词法,但这都不是技术问题,是旗号问题。旗号与我何干?

王:
至于语言学方面,那是另外的一回事

李:
对于具有 consistent ambiguity 的词,
本体上就是无定类,但是一说“词无定类”就扩大化了,以为所有词都是必须要句法,要上下文,这就陷入了鸡和蛋的死循环,当然不能服人。
这个迷思从哲学上不难看穿。可是实践中却坑了人太多 太久 而且还继续在坑人。

王:
@白硕 说的是,确实不是技术问题

李:
如果一个东西 在有些场景下看着是 红色 有的场景下看着是 黑色
自然的结论就是给个 X 的本体标签,让 X 统辖 红 黑 两个标签,至少这个信息的外延是清晰的,是红黑的区域,不是蓝 不是绿 不是紫 等等,这才符合事实 恰如其分。

王:
这是否分两种情况?
1)本来是多义词,兼有多种词性的;2)已经定了就一种(比如纯动词),走着走着,变了,

李:
不说多义词。多义词(细微差别不算)那是两个词,凑巧长得一样了,其归属自然也可能不同。

王:

李:
只说 2)
2) 没有 POS 半毛钱的关系。
汉语中的 POS 任务中 纠缠了几十年,原来一开始就把任务定义错了。

王:
请问,那么怎么“ X 统辖 红 黑 两个标签”

李:
对于我们讨论的动词名物化,这个 X 就是 V,可以读成逻辑动词。这个 V 是词典给的,没有歧义,何用区分?

王:

李:
到了结构里面做了主语或者宾语,它没有改变 V 的本性:词义没变,归属自然也没变。所改变的是句法 role。

王:
同意

白:
没有X统辖那么简单。以“出版”为例,被赋予了动词特有的零碎,比如加“不”,仍然可以再通过“的”强制为名词;但是反过来,已经被名词特有的零碎强制过的,不可能再被强制回动词。
本性是动词,强制为名词,然后就凝固了,不接受变回动词的再次强制。

李:
没问题啊。
这些个细节 与标签没大关系,标签还是 X。只要词义不变,标签就没有道理变,这是本体 taxonomy 决定的。词义变了,标签有可能变。在同一个词义下给不同的POS标签,对于汉语这样缺乏形态的语言,是不合理的。

王:
我的看法是,不去改变词性
这本书的出版,----出版依然是动词,---可以看作是一个成句中谓词
这个成句,是一个小句(子句),可以做主语,或宾语,这样,句法上也顺上了,而且,词性也没去改变

李:
换句话说,汉语这样的语言,POS 应该用的是逻辑类

白:
问题是啥叫词义变。“真孙子”里面的“孙子”,我感觉词义变了。

李:
世界上所有的语言的词汇,都有逻辑类。这是语言共性。但是形态语言 在逻辑类之上,经常使用形态变换,把逻辑类穿上不同的衣裳。穿得好的话,可以脱离场景做句法。例如 俄语,morphology 很大,句法就简单了。极端来说,别说 POS 标签,就是本质上是上下文结构决定的 role,也可以脱离上下文 在词上反映:宾格就是宾语 role。

王:
同意@wei 在同一个词义下给不同的POS标签,对于汉语这样缺乏形态的语言,是不合理的。

白:
填坑使用的不应该是逻辑类,应该是角色。比如“这本书的出版怎么没通知我”当中,“这本书的出版”填坑时就是N。“这本书出版怎么没通知我”当中,“这本书出版”填坑时就是S。

王:
这本书的出版----看作一个小句 ,小句也相当于名词作用。出版--作为一个事件出现
事件--->没通知我。

李:
填坑不外两点:
1. 句法上要的是什么形式(包括标签或子类,或直接量),这是输入条件;2. 语义上是什么 role,这是输出角色,是“理解”的形式化。不能混淆输入和输出。输入条件用逻辑类,没有问题。句法的工作,起点就是词典信息。逻辑类是词典信息的重要方面,是词典本体信息体系里面层级最高的那几个标签。

白:
但,“通知”的内容那个坑,就必须是个X,混儿。见人说人话见鬼说鬼话。

李:
“出版”的坑:
(1)第一个坑
输入条件:publication (本体链条属于逻辑名词)
输出角色:【受事】

(2)第二个坑:
输入条件:human_or_organization
输出角色:【施事】

这才是 “出版” 的真实面貌。至于语言应用中,上述类似 HowNet 定义出来的 subcat pattern, 应该如何松绑输入条件 来应对鲁棒与活用,那是另一层面的勾当。

王:
就是说,不能因为一个“的”字,把本来清晰骨架,垫走了样。

李:
“通知”的坑:

(1)
输入条件:thing_or_event

(这就是白老师所谓变色龙,其实本体链条上,不过是在逻辑n与逻辑v上,再抽象一个统辖的 n_or_v,thing 就是逻辑名词的通俗表述,event 就是逻辑动词的通俗表述)

输出角色:【content】

(2)第二个坑是施事【谁】
输入条件:human (具体语言还有格、词序、介词类的条件制约)
输出角色:【施事】

(3)第三个坑是对象【向谁】
输入条件:human (具体语言还有介词、格、词序类的条件制约)
输出角色:【对象】

回来总结一下:坑里面使用逻辑类或者逻辑类下辖的子类 甚至 直接量(等价于具体词义搭配)是天经地义的。至于这些条件的松绑,所谓 preference semantics 那是语言应用中的窍门。为了鲁棒必须松绑,松绑会一步步从具体逻辑子类,向高层的逻辑类去。

王:
同意李老师

李:
HowNet 是独立于语言设计的,它的最上层 top 节点 其实就是逻辑类,event 就是 v
thing 就是 n。其实还应该再往上走一步,thing_or_event,但反正有 OR 算符,所以走不走也无所谓了。

白:
可以看成一个lattice,and就低不就高,or就高不就低。

李:
HowNet 其实是两个东西在里面。第一个是本体,董老师对人类认知和常识体系的总结和设计。第二个是语言落地(汉语,英语,......)。这第二步是通过给汉语词汇标注 HowNet 本体标签的方式实现的。这时候的本体已经落地到具体语言了。

白:
修饰语隐含的被修饰语和真实的被修饰语做or

李:
PennTree 在英语NLP中已经很多缺陷,时代的局限,误导了很多人。

白:
总感觉HowNet不完全满足这个架构

李:
PennTree 的那一套标准用到汉语更是误导,不如直接用 HowNet 来作为标准。

白:
想都不要想,肯定不会用PennTree

李:
至于选取 HowNet 顶层或者中上层的哪些标签作为中文 POS 的任务,可以再议。POS 选得细了,就几乎等价于 WSD 任务了(事实上,白老师很多时候在讨论中就是把二者看成同一回事儿,道理很显然,WSD 说的是词义区分,词义的taxonomy 链条就是逻辑词类)。

王:
现在很多评测都是以宾州树库来做基准的。我也想过,就算那个F值即便很高,那么真实应用就是那么高的吗。

李:
HowNet 在语义领域可以独树一帜,能够站得住,相信也能够经受时间,其中原因之一,是由于董老师是中国人,讲的是“裸奔”的汉语。裸奔的汉语与逻辑最贴近,有自然的亲密关系。这对排除语言的干扰,从逻辑的高度审视语义,有天然的好处。如果要讲中国人对世界文明作出自己的独特贡献,HowNet 可以是一个代表。

王:
李老师对其他语义词典是如何评价?

李:
哪些?

王:
比如wordnet ,同义词词林

李:
早就不用 WordNet 了,麻烦比好处多。擦不完的屁股,以至于用了两年后,不得不全部推翻,宁肯自己零敲碎打,不完备,增量积累做语义标签,也不愿意陷入 WordNet 泥坑。

王:
主要是想说直接是树状,而非网状的这类

白:
标签体系必须是DAG

王:
分类体系做得不好,还是后期建设不好,比如冲突出现?

李:
其实 WordNet 是可以改造得好一点的 好用一点的,但只听说有人说改造,但没见到有人愿意坐冷板凳去真地改造它。

白:
标签体系的数学基础,一是type theory,一是lattice。lattice解决单类型的上下位问题,type解决复合类型的构造问题。

王:
上下位好理解,这复合类型就不好理解了,请白老师讲解

白:
@wei wang 带坑呗

王:
明白了,我还以为复合类型,穿插把不同上下位的分支。又结成了网

白:
上下位是为不带坑的type准备的,带坑的都是复合type。

王:
@白硕 带坑是一个词带n个坑,这几个坑是另外的词

白:
@wei wang 对的

王:
是否有的词,本身就自己萝卜和都带了,这样的词如何分类?比如一些成语

白:
标签也分层。微结构,比如“扫地”,合起来是一个坑,微结构又可析出一个萝卜一个坑。

李:
subcat 既是子类(atomic 的标签),也蕴含了潜在的结构pattern,说 vt 其实是说有这类动词子类 挖了个宾语的坑。

白:
地不扫,何以扫天下

王:
@白硕 那看成一个整体,仍在统一分类体系,

李:
HowNet 开始用的时候也有问题(有些问题与 WordNet 类似,没那么严重),给董老师反映过。问题的根源在 董老师需要一个逻辑完备自足的义元体系,为了这个自足和完备,标注的时候就务求细而全。

HowNet 中的一个个单字的标签特别丰富,特别细,把这个字(词素)各种可能语义都反映了,甚至包括只存在于 idiom或合成词 中的词义。这其实给使用带来很多噪音。我一开始是试图 删减。后来发现对于单字的标签,删不胜删,最后决定索性单字的标签不用。要用的自己临时增量式加入,宁肯 under labeling,不能 over

王:
@wei “后来发现对于单字的标签,删不胜删,最后决定索性单字的标签不用。”
单字,是义原的核心,就是不用单字最基本的,而直接使用信息能独立的,更有代表性?更便于处理?

李:
不好用啊。很多汉字 看上去不过一两个词义,结果里面标了五六个词义,仔细想 确实都存在。但是用起来就是眉毛胡子一把抓了。

王:
嗯,我觉得建造体系可以这样建,想怎么用就是应用来选了

李:
如果这五六个词义的确都是自由语素的词义,虽然统计上出现频率不同,但逻辑上这样标注没有问题。但有些词义从来不作为自由语素的语义出现,只存在于合成词中,那就没有理由标注了。这个问题,董老师后期版本有了 config,可以筛选。做了弥补。这个问题在 WordNet 中更严重。

王:
嗯,谢谢李老师,白老师的解答。时间不早,明天上班,我先拜拜。

李:
晚安 @wei wang

王:
晚安!真的我还没聊够的感觉,特别是,语义分到什么类别,很关键,对系统有很大影响,也深有体会

白:
据我的经验,先别说具体类别,先说长什么样,更容易把握。数学上什么样,计算机里什么样。实体、属性、关系、值,这是一个层面。事件是另一个层面。时间空间因果模态,又是一个层面。知网中很先知先觉地引入了“变关系、变属性、变状态”等事件子范畴,相当高明。真的很赞.

董:
讲一个真实的故事。1988年由日本发起的五国机器翻译项目正在进行。在一次饭桌上,日方的项目负责人内田裕士谈起该项目的语义研究落实问题是说:"这个项目的语义研究,是不是请中方负责,具有中华文化背景的人对于语义有更高的敏感性。"
只是觉得只要由中方来负责,总归是好事情。我就表示同意了。可是对他的那句有关“中华文化背景”的断语,还真没有完全理解,但饭桌上也不适合讨论下去。后来时隔近20年,内田先生来北京,那次我们只是几个人一起吃饭。我问他:“你还记得20多年前,我们在讨论MMT的语义研究时,你说过一句话。你说'具有中华文化背景的人更适合做语义研究吗?我一直想问你你为什么会这么说呢?'”
他说的很简单:"因为是你们有汉字"。那时候我已基本完成了HowNet的研究和开发。HowNet正是以汉字为理念依据的。前两天我跟李维讨论。说到洋人不懂汉语,跟他们讲深了他们不理解。

白:
这些要是落在知识图谱里,不得了。

 

【相关】

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

《朝华午拾》总目录

【李白宋83:点评 “人工智能的诗与远方”】

Me:

NLP:人工智能的诗与远方
好像是白老师的最新指示。刚在微博看到。金句连珠,隆重推荐。行文如流水,简洁 干净 深刻。

无论使用什么样的句法分析技术,有一点必须明确,就是句法本身是不自足的。细粒度描述的句法不具备鲁棒性和可行性,而粗粒度描述的句法往往必然带有伪歧义。

“粗粒度描述的句法往往必然带有伪歧义”没疑问,为什么“细粒度描述的句法不具备鲁棒性和可行性”?是的,细粒度描述的句法不具备完备性,但鲁棒性与细不细的关系何在呢,可行性就更可以商榷了。

细颗粒的极致就是“词专家”,没有看到不鲁棒或不可行的问题,就是琐碎,劳动量大,概括性弱。

“句法本身是不自足的”,是反乔姆斯基的论点,反得好。但与鲁棒和可行不是一类概念。白老师自己给的简要定义是:鲁棒性(对灵活语序和修辞性失配的适应性)。

鲁棒与规则层级体系(hierarchy)关系大,与规则本身的颗粒度关系小。语序说到底是(显性)形式条件,语义适配(语义相谐)也是(隐性)形式条件, 所有的形式条件都有弹性(优选语义),可松可紧,这就是层级安排因而鲁棒的根本原因:紧的条件精确但不鲁棒,松的条件鲁棒但不精确,配合得好,就可以又鲁棒又精确,或者至少维持在一个兼顾鲁棒和精准的准入门槛之上。

白老师的《NLP:人工智能的诗与远方》值得咀嚼。标题好文科、浪漫。但这是一篇严肃的高阶科普。一如既往,白老师的文字,举重若轻,高屋建瓴。

wang:
在我看来,李老师最后这一段描述,和白老师对句法所描述的,是一致的,并不矛盾。只是选的视角不一样罢了。完全同意李老师的弹性适应,这一点我也是这样做到

白:
1、琐碎到不合算就是不可行;2、一头扎进细粒度,一定会失去对灵活语序和修辞性失配的宏观把握;3、分层就是在粒度方面保持弹性的good approach之一。顺便说一句,这个是节选版本,原稿比这干货多得多。

李:
原稿在哪?

wang:
期待白老师,合适时机放出

李:
1. 琐碎到不合算其实很少存在:
如果是狭窄domain(譬如天气预报),琐碎是可行的,也就谈不上合算不合算。

白:
狭窄 domain甚至不需要deep parsing

李:
如果是 open domain,几乎没有琐碎单打一的。总是在一个大的框架下(better,层级体系的设计中),利用琐碎(细颗粒度)做增量修补。

白:
这就是分层了

李:
换句话说,琐碎不可行,最多是一个吃饱了不饿的真理。这也就回答了第2个问题:一头扎进去,单打一,做系统没人这么做。

白:
不是人人如伟哥般真理在握的。从外面搬来开源系统就想比划的不知道有多少,伟哥这是高处不胜寒。

李:
“3、分层就是在粒度方面保持弹性的good approach之一”, I cannot agree more

期待看原稿:这篇稿子太过简洁,很多地方真地是点到即止。

好,再精读一遍,摘录一些当面请教白老师,摘录可classify 为:1. 可圈可点;2. 可商榷;3. 没看懂

鉴于自然语言丰富地表现了人类的认知、情感和意志,潜在地使用了大量常识和大数据,自身在算法和模型上也多采用各种启发式线索,目前一般均把自然语言处理作为人工智能的一个分支

“算法和模型上也多采用各种启发式线索”:heuristics?

白:

李:
这个总结直感上很精到:无论什么模型,规则也好,统计也好,联结也好,其实都是反映 heuristics,英语没问题,汉语读者大概搞不清“启发式线索”的不在少数,这个术语以前论过,从来就没有好的译法。

白:
启发式这个翻译,在中国大陆的大学里正式的人工智能课程里应该是比较通行了的。

李:
第一张图,机器翻译和人机接口作为NLP的现实代表,很合适。但什么叫“纯人机对话”?

白:
就是没有任何grounding的人机对话。

李:
哦,以前是玩具 bot,现在是聊天机器人,将来可以落地(grounding)到老人陪护或心理疏导。

落地艰难:非良定义

什么样叫非良定义?点解?
不能完备定义,只能例举,或就事论事?

白:
说不清标准,说得清答案。ill-defined
知道输入对应什么输出,但不知道依据什么得到输出。

李:
我其实想问:这里想说明什么?是说NLP落地很难,主要是因为目标不明确吗?

白:
非良定义和落地艰难是并列关系不是因果关系。

李:
这句赞 赞:对于各种自然语言来说,大体上占到2型的很少但很不规则的一部分,但部分现象呈现上下文相关性,会在局部对2型有所突破。这就是笔者所说的“毛毛虫”现象。

其实2以降“很少”到几乎可以忽略(或绕道而行)。“突破”一般不必是着力点。

0型语言是翻译为“递归语言”吗?文法上,0 型是短语结构文法。这个其实也很 confusing,因为层级体系是蕴含关系的:3 也属于2,1和0,但窄义或另义的 PSG或短语结构图,是相对于 DG 而言,PS 是 constituency 的同义词,讲的是“兔子吃窝边草”的路数,而不是 DG 的兔子不必吃窝边草的逻辑跳跃的路数。

白:
PSG的原始定义就是0型。窝边草是对的,但窝边草怎么来的有玄机。把一堆窝边草重写为另一堆草,这就是0型。

李:
从语言类型学角度,一般而言,PSG 适用语序相对固定的语言,英语、汉语等;DG 适用自由语序的语言(如 俄语)。0 型 从复杂度角度,不是没有章法么?爱怎么整都行。因此,最有章法的正则自然也属于0型,有限制的一定落在没有限制之内。

白:
只是对重写有不同的限制,依据都是窝边草

李:
但学习这个层级体系的不少人,可能本能地把层与层隔绝在互不包含的院墙里(也许只是文科生容易这样陷入?)

白:
这篇文章不是讲给没学过类型分层体系的人的。计算机专业学过形式语言与自动机或编译原理的都应该不陌生。

李:
不懂:“实际上,鉴于欧氏空间具有良好和丰富的数学工具可用,语言/文本的向量化努力是跨越统计和联结两大阵营的”。

不过,这不是行文的问题,应该是受体的知识缺陷,可能讲解了还是不懂。

白:
欧氏空间这段,详解被删了。统计的典型是LSI,联结的典型是词嵌入。

李:
word embedding 最近体验了一点,是有点神奇。

可圈可点:这段时期之所以NLP既远离“人工智能”的招牌,也远离“计算语言学”招牌,是因为人工智能招牌在当时并无正面贡献,而语言学家在经验主义范式下不得施展甚至每每成为负担。

这是对历史的精确描述。AI 曾经像个丑小鸭(或瘟神),人人避之不及。计算语言学名不副实或有名无实,久矣。

白:
原来这杆旗下的人还要继续混日子啊

李:
后面一段是革命乐观主义和浪漫主义,蛮鼓舞人心的:

深度学习技术以摧枯拉朽之势横扫语音、图像识别和浅层自然语言处理各类任务,知识图谱技术为语义知识处理走向各行各业做好技术栈和工具箱的铺垫,人工智能招牌强势的王者归来已经在所难免,自然语言处理技术也自然地成为了这王者头上的王冠。这是因为,语音和图像识别大局已定。自然语言处理已经成为一种应用赋能技术,随着实体知识库的构建、知识抽取和自动写作在特定领域的实用化和对话机器人从对接语料到对接知识图谱的换代,正通过新一代人工智能创新创业团队,全面渗透到人工智能应用的各个角落。

其中强调两个支柱:(i)深度学习的算法;(ii)知识图谱的表示。
其实有点格格不入:前者是经验主义的极致,后者是理性主义的表现;前者显得高大上,后者显得平庸但实在。

白:
所以波粒二象性啊

李:
by the way, “对话机器人从对接语料到对接知识图谱的换代”这是在下目前的重点课题或挑战。

知识图谱的概念被谷歌炒热以后,其实稍微拔高一点看,没有多少“新意”。不过就是“结构化”的具象而已,结构的图示(visualization)化、大众化而已。图谱早就植根在乔姆斯基符号体系以及其他种种语义流派的传统里,通过MUC的信息抽取的语用落地,导致谷歌利用搜索把它活生生展示给亿万受众,激发了大家的想象。

白:
而且只是一小部分。被删掉的部分讲了哪些地方是“一小部分”不能涵盖的。

李:
对的,被炒热的知识图谱就是结构化中的一小部分。也是最简单的一部分。知识图谱是很平民化的东西,讲到底就是一个烧钱烧资源的知识工程。典型代表就是一个多少亿的三元组,还不如 tree bank,从数据结构看。更不如各种规则 formalism,最简单的产生式规则也有 if then。

白:
挑战性的东西不少,看不到就没办法了。不能光看表达力,还要看技术栈、工具箱。后者丰富前者贫乏,仍可以做大事情;前者丰富后者贫乏,只能做玩具。

李:
是 是:“后者丰富前者贫乏,仍可以做大事情;前者丰富后者贫乏,只能做玩具。”

自然语言处理从浅层到深层面临范式转换,还处在对接情感计算与常识计算的战略性要地的关键位置。谁能拔得头筹,谁就能在当下的人工智能“军备竞赛”中处于有利地位。

深层解析需要常识计算我们在本群讨论中见过无数例证了。需要情感计算也见过一些。

基于统计的范式繁荣了近二十年,终于在2010年前后被同为“经验主义”学派的基于联结的范式所全面取代。这是深度学习算法显现的巨大威力,也是数据和算力积累到临界点的一次综合性的爆发。

据说,有一代人有失落感,他们当年横扫千军如卷席,各种算法花样翻新,从朴素贝叶斯,HMM,CRF,MaxEnt,。。。各种参数设计身怀绝技,突然九九归一,以前的绝技似乎不再闪光。这种失落不亚于语言学家面对统计学家长驱直入而带来的边缘化的失落感。历史循环还是报应?真是 30 年河东,20 年河西。

白:
没那么不堪吧,有啥用啥,干嘛一定站队。

李:
目前,基于联结的范式风头正盛,但“深度”自然语言处理的需求压力之下,“理性主义”学派以某种方式再度回归,实现“波粒二象性”的有机结合,也是可期待的。

这个有机结合,NLP老司机呼吁较多,新一代的联结主义者似乎无暇他顾。当然,无暇不仅仅是“攻城掠地忙”(毛委员打土豪那阵,农民革命就曾“分田分地忙”),也因为这种“有机”结合,真心不容易。

看今后10年吧。

词法分析领域绝非基于词典的分词这么简单,这个领域还有大量有待攻克的难关,有些难题已经与句法分析搅在一起,非统筹考虑是无法单独推进的

这个观察到位,但真认识到的人不多。特别是汉语,在进入句子结构之前,基本分词之后,还有一个广阔的地带。其中不乏难题。有些是致命的。领域化在这个方面也有很大的挑战。譬如,看电商的标题,那种 sub language 简直就不是汉语。

白:
这一节删掉甚多。提到了词性标注、命名实体识别、形态还原、构词法。形态还原中特别提到了离合词。

李:
的确删太多了。

还有一个可以探讨的事儿:觉得 DG 和 CFG不好相提并论。DG 本身不是算法,只是表达法。

白:
都不是算法

李:
CFG 比较直接地蕴含了算法,譬如 chart parsing,DG 不蕴含任何方法,也许隐隐蕴含了自由语序的匹配方式。从表达法(representations)角度,DG与PSG并列,是两套表达体系。声称 DG parsing 的人,其实用的 formalism 与做 PSG parsing 的人无异,逃不过乔姆斯基的佛掌。anyway,只是感觉大家在讨论中这方面有时候似乎容易概念混淆。从表达法来看,也没有单单的 CFG,CFG 属于 PSG,所以表达法只有 PSG 与 DG 之别。

Nick:
白老师这篇要认真学习

李:
@Nick 咱有样学样啊。。。

最后要说明,即使语言的结构表示模型是基于理性主义(符号或规则)路线的,但语言解析过程本身仍可以采用基于统计的或基于联结的方法。比如PCFG就是基于规则的结构表示与基于统计的过程控制的有机结合。

PCFG 是有机结合的先行,但不算成功,文章似乎不少,但没见多少实效。今后几年看白老师的了。

词典化(免规则)、单子性(免复杂层次)、局域化(免跨成分关联)和鲁棒性(对灵活语序和修辞性失配的适应性),是自然语言句法分析技术未来的发展趋势。

“局域化(免跨成分关联)”不大明白,其他几方面可说是有相当共识,所见略同。

知识图谱的技术栈里算力充足工具齐全”:这个需要检阅一番。

白:
PCFG不见实效的关键原因,一是CFG先天不足,二是标注成本过高。如果不能变为非监督或弱监督,必死。

李:
对,P 要到位就要超大数据,否则怎么个概率法?可是结构标注根本就不是人做的的活儿(PennTree 这么多年成长也很有限,增长部分大概是语言学研究生的苦力)。

quote 此外,人类的语义解析过程充满了所谓“脑补”。可见,借助知识图谱,智能化地完成这类需要“脑补”的语义理解过程,是语义分析技术走向实用和深化的必然要求。

这段话群里的人 可能会理解,但对于大众,无异天书,必须要有相当的 illustrations,脑补的是常识,专业知识?是常识中的默认选项,etc. etc.

白:
这里也删去几百字。

李:
知识图谱的好处是为结构化张目。很久以来,没人尿结构化这壶,一草包词 多厉害啊,鲁棒到极致。用于搜索,不仅鲁棒,还特擅长长尾,tf-idf,越长尾 关键词越灵 要什么结构劳什子。连词序都可以舍弃,何况结构?

到了 ngram,词序带入考量了,算是对语言结构的一个看上去拙劣粗鄙 但实践中颇有效的模拟近似,因此也不用着急蹚结构这个浑水了,来个 bigram or trigram model,还有个 viterbi 的高效算法。

现在好了,趁着图谱热,结构化的旗帜高高飘扬。终于可以理直气壮、名正言顺地大谈结构化乃是自然语言理解的正道,乃是人类智能的基石。为这一点,要感谢谷歌。就好比我们应该感谢苹果,通过 Siri 把自然语言接口送到千家万户,教育培养了用户。

下面这些都是字字真理:
自然语言处理能力以平台化方式提供服务,是广大自然语言处理技术提供者求之不得的事情,但目前还受到一些因素的限制。现实中,更多的自然语言处理技术是融合于一个更大的行业应用场景中,作为其中一项核心技术来发挥自己的作用的。

NLP平台化迄今没有大规模成功案例。趋势上是必由之路,但今后何时真地可以平台化广泛赋能,真地是一个未知数,我们从业人员都在努力 。。。。

除了法律、医疗、教育等先行行业之外,金融证券行业对自然语言处理技术业有很迫切的落地需求,但往往必须结合专业领域知识和私有数据才能构建有价值的场景

就是。

熬了一夜,精读了白老师最高指示。
两个等待:一是等着看原文(非删节版);二是等着看白老师的系统。

宋:
读白硕的文章,的确高屋建瓴,分析得透彻。我觉得还应该补充一点(也许是简本删掉了的),就是语言学研究的必要性。具体来说,就是语素、词、词组、小句、句子(小句复合体)的定义,以及相关属性(如词性)及关系的定义。对于英语等西方语言,似乎一切都很清楚,不言自明,无需当回事儿去研究,但是论及到汉语一切就都糊涂了。不能适用于汉语的语言学概念的归纳,都是偏置的。基本对象及其属性、关系的概念不清楚,相应的模型和计算就不可能完全适用。

白老师的全本中会讲离合词,这个概念就是其他多数语言中没有的。但是,如何从人类语言的高度看待离合词,期待看白老师的全本。

白:
@宋柔 我感觉语言学并没闲着,只是节奏慢了点,在NLP这边是没人理睬,而不是挑出很多毛病。挑拣的才是买主。挑拣才能让语言学加速。

宋:
语言学方面的问题是没有照着机械化的可操作的要求去做研究。

白:
@宋柔 光算法层面的机械化,语言学家或可手工模仿;扯进大数据,连手工模仿都不可能了。

宋:
基本概念的定义,比如词的定义,应当适用于大数据中的所有样本,语言学应当做这件事。

白:
只要承认运用中可拆解,词的定义不难。@宋柔

宋:
不仅是运用中拆解的问题,还有一个粘着性的问题。

白:
粘着性倒是真的可以大数据说话

宋:
你说的有道理。语言学的基本概念的定义。真的不能是静态的,需要在大数据的环境中定义。基本原则是这样。定义的结果,哪个是词哪个不是,要看参照哪一堆文本。

白:
“以国防部长的身份”当中的“以”,可以是介词,也可以是名词的拆解物(“以色列”的简称)。这个拆解物当名词用。

宋:
即使数据集定了,也还有模糊性、两可性。那又是另一个问题,即符号的歧义问题。

白:
承认可拆解的另一面就是承认微结构。宋老师说的粘着性,可以从词根与词缀结合的微结构角度来考虑。

宋:
微结构的节点应当有波粒二象性,既是词,又不是词。

白:
拆解出来当词用,封在里面就是词素。

宋:
微结构可能会有相当大的跨度:这个澡啊,从来没洗得这样舒服过。语言学理论必须把这些现象包容进去。

白:
必须的

宋:
这样的澡我从小到大,再到老,还没洗过。

李:
离合词是可以解决到很完美的不再是问题的问题,关键就在词典与句法的接口上。大规模验证过的。

【相关】

白硕:知识图谱,就是场景的骨架和灵魂

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

《朝华午拾》总目录

【李白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

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

《朝华午拾》总目录

【李白77:基本短语是浅层和深层parsing的重要接口】

白:
句法的作用,第一是把远距离相关的成分拉到一个滑动窗口里来,第二才是在同一个滑动窗口里有多选的话,考虑语序因素来进一步缩小范围。

李:
说得好。第一个作用一多半是由 phrase chunking 完成的,这被认为是 shallow parsing,相当靠谱的一种操作。

白:
问题出在,如果在phrase chunking过程中出现多种可能性,混乱到chunk的边界都有分歧,这时候带着不确定性跑会很累。又回到休眠反悔的话题。边界不一致倒也罢了,中心词都不一致,更不好对付。

李:
问题不严重。关键是 chunking 基本上针对 basic XP (baseNP etc),只要具有前后条件查询的机制,搞定 boundary 一般没有问题。对于所谓 right-branching 递归,譬如 PP 的后修饰,等,shallow parsing 一般把这个问题推后,不去牵扯。

白:
形容词副词介词限定词这些都不担心,担心的是从句。从句递归以后,边界和中心词混乱的概率明显增加。

李:
shallow parsing 绝对不要管从句,连稍微复杂一点的多层 phrase 都被排除在外。这样一来,虽然理论上,窗口聚焦的任务不可能完成,但实践中,其实问题也不大,因为特别复杂和嵌套的句子,并不是语言事实的大多数,这是其一。其二,窗口的大小除了 chunking 把前后的修饰成分吃掉以外,系统还可以选择性跳过挡道的东西。事实上,deep parsing 其所以可以在 shallow parsing 的基础上进行,正是这个理由,不过做的时候小心一点罢了。这样来看,chunking 的核心就是搞定 boundary 和 确定 head。这两个都不难。一旦搞定这两点,结构的基础就打牢了。至于结构歧义,它被自然地推后了。

白:
另外就是NN结构,经常是伪歧义,所以N+N这种,最好是白名单管理,条件不满足是断开的,有罪推定。而A+N,就应该是无罪推定。条件不满足就应结合。

李:
N+N 统计上看,就是合成词为主。A+N 就是合成词以后的短语层内部修饰,大体如此。

歧义分两种。短语内部的结构歧义可以休眠唤醒,不影响分析向深度进行。因为短语对于句法已经包裹得严严实实,里面藏一些搞不清的关系,属于人民内部矛盾。

白:
嗯,比如“两个英雄的母亲”你管他几个母亲几个英雄呢,反正对外的全权代表就是“母亲”。剩下的慢慢来。

李:
清官难断家务事,句子层的语法关系,一般没必要进入短语内部去参合(当然可以找到例证,短语内外的关系是有相关性的,别说短语,甚至句法的东西也有需要进入词法内部去协调的,但是统计上可以忽略这种 interaction)。

白:
远距离相关,要拉近的就是“母亲”,“英雄”无所谓。

梁:
人民内部矛盾,家里家外有别。

李:
第二个结构歧义是basic短语之间的,这个问题比较大。典型的譬如 pp-attachment,汉语中的“的”所涵盖的 scope 问题。deep parsing 的主要难点就是与这些短语之间的歧义战斗。但是可以设想一个简单的 deep parser 绕过这些问题,遵循休眠政策,就是一切关联一律就近原则。这样 parse 出来的句法树,不能直接对应逻辑语义和理解,但是作为一个结构基础,还是能起很大作用。

白:
这个是权宜之计,只不过有休眠兜底,不怕。

李:
原因是,理论上,这样一颗全树贯穿了所有节点,从任一个节点到任意的另一个句素节点,都有路径可达,不过是直接还是间接而已,道路是畅通的。譬如 PP-attachment,如果从VG未达想要check的PP,不过就是通过NP间接达到PP,一样可以找到你想要找到的某种PP。如果语用或产品是建立在这样 pseudo-deep-parsing 的基础上,完全可以考虑把 domain 的知识,ontology,heuristics 等等带进来,去求解想要的信息目标,这比关键词不知道要强多少倍。

白:
可以“句法制导”地去做。

李:
而且,到了这个地步,也可以根据情形,重新做局部 re-parsing,这个 re-parser 可以设计成特地为了休眠唤醒而制作的。

白:
休眠的数据结构设计好了,re-parsing可以很有章法。

李:
它有两个以前没有的有利条件:(1)量上,聚焦了。面对的不是大海,而是其中一个子集。面对的甚至不是全句,而是句子的某个部分。(2)语义限制条件可以放开手用,除了 domain 知识可以引入外,其他语义条件也可以用,因为这里求的是精准,而recall已经有娄底的了。

白:
最近也可以换成其他条件,比如统计上最般配之类。

李:
对,这个很有意思,不过实现起来有一定难度。理论上没有问题。最般配是有大数据基础的。怎么用好,看功力了(更多的是工程的功力)。

剑桥有一个老学者,以前很熟,他做过类似 Preference Semantics 的 Subact 语义条件的统计工作。有非常有意义的结果,可惜那个方向的结果,距离工程上应用还有一些实现上的挑战。但是,这些都是具体的细节问题,宏观上,这一路一定会大幅度提高 deep parsing 和 理解的能力。没有疑问。

传统 parser 的一个致命的问题是内外不分,CFG 的 chart parser 是从词到短语到从句到所有的句法结构,一锅端。这个大大地限制了其 parsing 的深度、广度、鲁棒和效率。

白:
基本三条路:全息,带着所有选择跑;回溯,带着一个选择,备着所有其他选择;休眠,带着一个选择或一组一致对外的选择在主战场上分析,其他选择也不闲着,在另一个战场上以一定概率梦游。我看好休眠。

李:
phrase 这一刀很关键。实际上,phrase 是一个极其重要的层面。phrase 可以看成是有三妻五妾的大红灯笼的乔家大院。甭管内部争风吃醋你死我活。大院只有一个院子主人对外,就是老爷。其他的妻妾佣人宠物财物统统不作数。国家大事只在老爷之间进行。小家内部的矛盾可以无视,只在需要的时候用到。

白:
个别老爷之间有些扯不清楚,先用某种规则糊弄鬼子。

李:
休眠和梦游(唤醒)一般不在一个时间区间,所以一般没有瓶瓶罐罐的牵累。

白:
不清不楚的只能通过梦游获得扶正的机会。大院的边界是武断的,而这武断如果有大数据支持,就更胆儿肥了些。

李:
base-phrase 的边界不是挑战,不用大数据。倒是院子之间的关系, PP-attachement,等,大数据可以派上用场。

白:
我说的就是后一种。

李:
那个我验证过,绝对可以用上,也非常有效。就是在线实现非我所能。本质是 offline knowledge,real time use, 还不能 pre-computing,需要工程好手,也许有戏。

首发科学网 《新智元笔记:基本短语是浅层和深层parsing的重要接口
 

 

【相关】

《泥沙龙笔记:parsing 的休眠反悔机制》 

《泥沙龙笔记:连续、离散,模块化和接口》 

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

《朝华午拾》总目录

【李白76:跨层次结构歧义的识别表达痛点】

李:
一个困扰我的问题是跨层次结构歧义的表达:“他要整个高大上的节目献给全国人民”:

“整个”分析成定语。但口语中,它还有动词谓语的可能:“整个”=“整出(创制)一个”。上面示意了一下,为表达识别出来的歧义,这里需要打破 base XP 的框框。第二条依存关系路径是:“要”是谓语“整个”的儿子(情态),“节目”也是“整个”的儿子,是其宾语(O)。值得注意的是,这个歧义表达要求短语内部的定语跳出来做句子的谓语。

白:
其实,有了从句,树已经成了DAG。既做得初一,索性做十五,大面积地画DAG好了。

李:
如上图所示,加上这两条路径,基本就算在同一颗树里面表达了两个 parses 的路径。昨天一直在想这事,感觉与白老师初一十五一样,可以做。不就是需要一个表达手段么?也不影响 formalism 本体。

白:
还是有点两张皮,不是个一贯的东东。

李:
层次纠缠的结构歧义的表达,如果不生成多颗全树,而是表达在一颗树里面,的确不是一个一贯的东西,是两张皮。但是好处也是明显的,经济实惠,共享了句中大部分与歧义无关的依存关系。句法识别这样的结构歧义原则上不难。有“整个”这个词去drive的话,总是可以识别的。

白: O前是表示生产、制作、呈现意义的动词,O后是双宾动词的情况,可以激活“整个”的分解语义。

李:
先不说排歧,因为排歧很多时候人也有难处。咱们先讨论清楚结构歧义的表达。识别完了,怎么表达?需要一点斟酌。因为只有表达合适了,后去才可以用(无论是后去的排歧,或者不排歧提供给人去互动或干预)。关键是,这个表达要好用。后去觉得不好用,那就白表达了。因为大多数其他的依存关系是可以共用的,所以结构歧义,是可以在同一颗依存树里面表达的。

结构歧义在不牵涉 base XP 层次纠缠的案例中,我们已经常用。PP-attachment 就可以把PP既连接到前面的NP也连接到前面的VG谓语。因为所谓的base NP, 这个base是把后面的PP定语排除在边界之外。这样一来,表达起来完全没有层次(xbar)的纠缠问题。还有我以前显示的一个NP既接成VG的S,也连接为O,这些都好办。汉语的兼语也可以表达为前面VG的宾语(O)和后面VG的主语(S)。

在多年的实践中,发现在依存表达中,加入 base XP 的短语结构,会带来很多很多便利。结果就人为地在本来应该没有非终结节点的纯粹的以词为基础的依存树里面,强加了这个 XP 的表达。这样一来,就出现了结构歧义的层次纠缠问题。如果当时决定从base XP更进一步,允许XP的短语结构有嵌套,那么PP-attachement中的PP就可能成为一个扩展的NP里面的成分。这时候,PP再拿出来做谓语的状语,就同样面临层次纠缠问题。这表明,这一切都是人为的。是我们为了方便做了权衡的一种表达方法。关于这种baseXP 短语结构与依存关系的 hybrid 的好处,新来的朋友参见:《新智元笔记:基本短语是浅层和深层parsing的重要接口》。在多数时候,它的确是方便的,短语这一刀给我们带来了极大的便利,但在层次纠缠的结构歧义表达时候也给我们带来一些不便。不便之处,花点功夫可以克服。人为的东西都是可以人为克服的。

对于结构歧义在同一颗依存关系树上的表达,后续的应用,需要专门为这种表达写一个歧义检索程序,用起来就没有问题了。这个检索算法,我昨天想了一下,也不难。你从任一个节点出发,一路遍历它的子子孙孙。如果其结果是树上的所有节点都访问到了,那么这个节点就是天王老爷。如果有多个天王老爷,就说明有结构歧义。就这么简单。因为依存关系的结构原则是,有且仅有一个天王老爷。多了,就是歧义。在我们的“整个”的那句案例中,从“要”出发可以遍历。从“整个”出发,也可以遍历。其他的所有节点都不具有这个遍历终结节点的可能。白老师,这样有问题么?

这个方案纯粹是一个所谓 side effect 的工程,不牵扯 formalism 本体。只要想做,找一个不笨的工程师就可以做:歧义结构的依存关系表达,以及歧义结构的依存关系检索。至于检索后的应用,那是下一个系统(IE或其他语用模块)的问题,不是句法的问题了。句法合适地识别了歧义,又提供了检索接口,可以说是仁至义尽了。

这一讲的题目可以叫做NLP中“跨层次结构歧义的识别表达痛点”。

其实,也不算太痛。就是messy一点,做总是可以做的。Note:这里讨论的问题与传统 parser 生成了许多个伪 parses,鱼目混珠、沙多珠少的情形不一样,这里说的是具有相当确定性的结构歧义。不是伪 parses 成堆的传统 parser 里的那些 false alarms。这些歧义的识别大多是细颗粒度或词驱动的句法都可以预示和搞定的任务。如果上述方案实施了,就引导句法开发者多在识别上下功夫,而不要浪费资源做那些搞不定的排歧任务。前者是 tractable 的任务。

前几天提到的“一张嘴”的词启动歧义识别也是如此:

后一个 parsing 由于词驱动的 hidden ambiguity 没有表达,现在是错的。 但是如果照上面的方案解决了歧义识别表达的问题,就可以把另一个可能挖出来。

刘:
我是一只特立独行的猪,这个结果会是咋样呢?

李:

“结果”取了副词的用法,也说得过去,但错过了其名词的用法,虽然总体语义无大碍。

这个也有一个错,“树”应该做定语的,可是分析成“看”的宾语了,大局没错。

这些漏掉的歧义结构,从道理上都可以识别,如果歧义表达和检索按照今天说的方案那样到位的话。不过做起来还是有些繁难,以后再说吧。要点就是,对于一个已经基本对于 false parses 免疫了的细颗粒 parser 而言,与其追求不大切合实际的结构排歧,不如把下一步的重点放在歧义识别、表达和检索上。

首发科学网 《新智元笔记:跨层次结构歧义的识别表达痛点

【相关】

Chomsky’s Negative Impact

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

《朝华午拾》总目录

 

【李白洪毛75:乔姆斯基批判】

【原立委按:微信泥沙龙,谈笑鸿儒,高朋满座,信马由缰,言无所忌,摘之与同仁分享。】

李:
今儿个咱要吐槽乔老爷,不吐不快。

开题:乔姆斯基,对领域的误导,或负面影响,与他对语言学的革命性贡献,一样大。

他的hierarchy,是天才绝顶的理论,是不可泄露的天机,从而奠定了形式语言的基础,用来创造、解释,或编译计算机语言,是完美的指导。可是,完美往上走一步,就成谬误。乔姆斯基拿这套理论,硬往自然语言套,导致整个领域,在所谓自然语言是free,还是sensitive,还是 mildly sensitive等不靠谱的争论中,陷入泥潭。太多的人被引入歧途,理所当然地认定,因为自然语言复杂,因此需要 powerful的文法。这个 “powerful”,是世界上用的最误导的词。

工程师发现,有限状态好用,但经不起理论家的批判:你那玩意儿太低级,不够 powerful,只能拿来凑合事儿。实际上,做过大工程的人都明白,对象的复杂,并不是使用复杂机制的理由,有本事使用简单机制对付复杂的对象,才是高手。

乔姆斯基最大的误导就是,用所谓自然语言的center递归性,一杆子打死有限状态,他所举的center递归的英语实例,牵强和罕见到了几乎可笑的地步,绝非自然语言的本性。结果一代人还是信服他了,彻底地被洗脑,理所当然以为必须超越有限状态才可以做自然语言深度分析。

为了所谓语言的递归性,人脑,或电脑,必须有个堆栈的结构才好,这离语言事实太远,也违背了人脑短期记忆的限制。世界上哪里有人说话,只管开门而不关门,只加左括号不加右括号,一直悬着吊着的?最多三重门吧,一般人就受不了了。就算你是超人,你受得了,你的受众也受不了,无法 parse 啊。说话不是为了交流,难道是故意难为人,为了人不懂你而说话?不 make sense 嘛。

既然如此,为什么要把不超过三层的center循环,硬要归结成似乎是无限层的递归?

毛:
递归成了他的宗教。

李:
不错。乔老爷的递归误导语言学,坑了NLP太久。我对他的语言学不感冒,对他对NLP的误导,更感觉痛心。一个如此聪明强大的人,他一旦误导就可以耽误一代人。被耽误的这一代是我的前辈一代(上个世纪70年代80年代),他们在自然语言理解上的工作几乎一律为玩具系统,在实际应用上无所作为,从而直接导致了下一代人的反叛。老一代被打得稀里哗啦,逐渐退出主流舞台。

在过去30年中,统计NLP的所有成就,都是对乔姆斯基的实际批判,因为几乎所有这些模型,都是建立在ngram的有限状态模式的基础之上。

洪:
从乔姆斯基的所作所为,就能分出构造机器智能和解构人类智能难度上的差异。他五十年代略施小计就把形式语言夯成了计算机的Cornerstone,可是穷毕生精力,总是在重构其语言学理论。

毛:
如果没有乔老的那些理论,人们能做出计算机语言编译吗?)

洪:
语法mapping到语义,总是要做的,不必须用形式语言,就像现在做nlp的人也不必须懂语言学。还是 David Marr,David Rumelhart 等立意高远,总想找到人机等不同智能实现上的共通计算机制。

刘:
Marr 也是人神级别的

毛:
跟上面问题类似的是:如果没有图灵和冯诺依曼的理论,人们会造出计算机么?

洪:
Babbage的分析机可行,Ada的程序/算法也早可行。其实,问题不在于出冯诺依曼还是马诺依曼,问题在于,不管他们的理论表面上如何不同,可能都受同样的约束,能力上可都能都等价。而Chomsky 研究的是这些约束能力。

毛:
那图灵不是更加么?

洪:
Turing 从机器一侧,Chomsky从人一侧。)

李:
洪爷说的是事实,过去三十年不懂语言学做NLP的占压倒多数。但那不是健康状态。不过,语言学里面也很混杂,进来的人很容易迷糊。但是,语言学里面确实有一些指导性的东西,了解与不了解大不一样。比如索绪尔,就值得琢磨。索绪尔说的大多是原则性的,有哲学的意味,是传统的非科学性的语言学,特别具有宏观指导意义,可以提醒自己不至于陷入细节的纠缠,而忘记了方向。他谈的是共性与个性的关系,语言和言语,规则与习惯,共时与现时,都很洞察、到位。

白:
我觉得线速、柔性很关键,多层次递归和远距离相关必须搞定。方法不限,八仙过海。

李:
那些已经搞定了,伪歧义也不是问题,都搞定了。有一种叫做cascaded FSA的方法,与软件工程的做法极其类似,就能搞定这些。前提是指挥者架构者不能失去全局,要胸怀索绪尔,而不是乔姆斯基。架构和interfaces设计好,下面就是模块的开发,匠人的干活,可以做到很深,接近逻辑表达,比典型的chomsky CFG文法深透。传统规则系统受乔姆斯基CFG影响太大,很不好用,而且也无线性算法,所陷入的困境与当年神经网络以及一切单层的统计系统类似。正如多层的深度学习被认为是AI的突破一样,有限状态一多层,一 cascade,以前天大的困难,递归啊远距离啊伪歧义啊,就消解于无形。

白:
数学上的函数复合。

李:
就这么一个简单的道理,结果至今批判规则系统的人,还在打稻草人,以为规则系统都是CFG那么愚蠢和单层。

乔姆斯基对nlp的误导,还在于它的短语结构的表达法。那个phrase structure破树,叠床架屋,为了追求所谓语言共性,太多的assumptions,既不经济也不好用,却长期成为 community standards,误导了不知多少人。起码误导了 PennTree,通过它误导了整个领域。,

白:
某种意义上,nlp是应用驱动的。与应用匹配,Ngram也不算误导。与应用不匹配,HPSG也算误导。抽象的误导不误导,让语言学家掐去吧。一个topic问题,扯了这么多年。)

李:
语言学家打烂仗的事儿多了,说起来这与乔老爷也有很大关系。有个 self,相关的所谓 Binding Theory也是论文无数,大多垃圾,这与老乔的负面影响直接相关。为追求 universal grammar,和脱离语义的generalizations,走火入魔,大多是无谓的口水战争,既不能推进科学,也不能推进应用,唯一的好处是帮助了很多语言学博士的选题,培养出一茬接一茬的语言学博士。可是,毕业了还是找不到工作。老乔由于其超凡的智力和名气,帮助提升了语言学的地位,但他没有能力影响市场,结果是全世界语言学家过剩,懂得茴字五种写法的落魄腐儒,如过江之鲫,谁能给他们就业机会?

这里面的要害在,所有的语言分析,不可能为分析而分析,都是为了求解语义的某种需要,可老乔强调的语法纯粹性,要脱离语义才好研究终极的机制,这个argument有历史的革命意义,有某种学术价值,但非常容易形而上学和片面化,结果是语言学家脱离了目的,脱离了需要,在争论一种分析,或一个模型与另一种的优劣。其实这些相争的方案,只要系统内部相谐,都大同小异,根本就没什么本质区别,而且没有客观的可量度的评判标准,那还不打成一锅粥。

刘:
摆脱语义,直接进入语用?

李:
哪里,乔老爷是要直接进入共产主义,要世界大同。他对语义不感兴趣,更甭提语用。语义在他属于逻辑,不属于严格意义的语言学。句法语义是分割开来的两个范畴,句法必须自制。

白:
句法自制是错误的。

李:
对传统语言学完全不分家的那种分析,老乔有革命意义,也确实推进了结构研究,但凡事都是过犹不及。句法自制推向极端,就是本末倒置,失去方向。

我做博士的时候,在一个小组会上,举一些汉语的例子,作为证据反对一刀切的句法自制,说老乔有偏差,看到的语言事实不够,结果被我导师劈头盖脸批了一通,言下之意,不知天高地厚。我当然口服心不服。问题是,我一辈子只思考一个问题,只要醒着,头脑里除了语言,就是文法,除了词汇,就是结构,突然有一天觉得自己通达了,看穿了语言学上帝,乔姆斯基。原来,智商高,不见得离真理近,智者乔老爷,也不例外。有人说老乔外语不大行,看到的现象大多局限于英语,偏见难免。的确,懂汉语的人很难完全信服什么句法自制:句法形式的约束和语义的约束很难截然分开,否则连“我鸡吃了”和“鸡我吃了”都搞不定。

说起外语,到了我们的年代,俄语退居其后了,所以我本科的二外选的是法语,到研究生才选了俄语做三外,不过全还给老师了。虽然语言是还给老师,体悟到的语言学却长存,所以也不冤。到 30 年后的今天主持 multilingual program,带着参考书,我还一样可以指导法语和俄语的 NLP 研发,语言的不同,换汤不换药也。

洪:
老乔不是上帝,他只是让咱看到来自造物主的理性之光。

李:
形式语言理论,非人力可为,绝对属于天机,单凭这,乔就是人神。吐槽乔老爷,一次抱怨完,明儿依旧是偶像。

不管我怎么批判乔姆斯基,我还是服他到不行:他老人家的威望可以把 Universal Grammar 这种乍听很荒唐的观念,转化成一个让人仰视的语言哲学理念。UG 的真理之光由此不被遮蔽。当然最厉害的还是他的 hierarchy 形式语言理论,那几乎不可能是人的理论,那是上帝之光,尽管乔老爷在描述的时候,不免机械主义,hence 造成了极大的误导。

话说回来,没有自然语言的数学化研究和启示,他老人家也提不出形式语言理论来。至少从形式上,他能把人类语言和电脑语言统一起来,达到一种人力难以企及的高度。如果没有乔姆斯基,电脑理呆们打死也不会对词法分析,句法分析,语义求解,parsing 等感兴趣,并如数家珍地谈论这些语言学的概念。这是其一。

其二,正因为乔老爷自己也知道他的形式语言理论的抽象过头了,难以回到自然语言的地面,才有他穷其一生在自然语言的语言学方面的继续革命,革自己的命,花样翻新,试图找到一个终极的普遍文法的自然语言解构。这次他就没有那么幸运了,虽然在学界依然所向披靡,无人能敌,但却与电脑科学渐行渐远,被连接语言学和电脑应用的计算语言学领域所抛弃。也许不该说抛弃,但是自然语言领域大多把他当菩萨供起来,敬神鬼而远之,没多少人愿意跟他走。

首发科学网 【泥沙龙笔记:乔姆斯基批判

【相关】

Chomsky’s Negative Impact

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

《朝华午拾》总目录

 

【李白73:汉语parsing的合成词痛点】

李:
半夜醒来,一看有好例子,白老师给的三个作业,精神头就来了。这些结果是在没有利用量词搭配的情况下的parsing,不久会加上搭配的。

最后这句笑话闹大了。
有意思的是,加了一个新词 “停落” 没做其他任何改变,就成这样了:

白:
这个很powerful

李:
量词搭配没利用,但 “颗”和“树”还是连上了,“候鸟”和“停落”的主谓也连上了。定语从句也对了,但逻辑关系却错了:“大树”不应该是“经常停落”的逻辑宾语。

finally:
那个图是程序自动生成的,还是用手现画的啊?

白:
显然自动的

李:
开玩笑,这是NLP群,要是手画那还了得。
Wait, 再一想 其实也不错: 候鸟停落大树。 “停落”的确是及物的,“大树”是表示地点的逻辑宾语。那就全对了?白老师。 这就是我说的 parser 开发,越到后来越多让创造者惊喜的地方。用句白老师的话说,“我窃喜”。

白:
O的标签是句法的,映射到语义,有若干种逻辑角色,取决于动词的实例。比如“贴”、“盖”、“钉”,都有条件携带一个表示处所的坑,叫啥随便。

李:
那是,O 具体要映射到哪一个更细更合理的逻辑语义,决定于什么动词。只要 O 对了,这个映射在后一步极为简单。就是一个简单的映射词表或词驱动规则:停落:O(物体) --》地点。事实上,抽取(IE)的完成就是类似上面的映射。所以我说,parsing 靠谱了,IE 就是个玩儿。

白:
所以基本满分了

李:
暴露了一个问题:OOV(生词问题):“停落”不在词典的时候,表现不好。汉语构词法太灵活。本来某个合成词的规则应该把 停+落 合成的,可是这是一个痛点,火候不好掌握。

这一讲可以叫汉语parsing的“合成词痛点”。

这方面我们在系统也做了一些工作,但很不全,而且动力不足: OOV 是长尾,silent majority,花了功夫,可测试集里面见效不会大。如果统计把汉字词素的语义距离都弄出来了(这对统计不难),然后凡是落单的bigram汉字都合成为一个双音节合成词(汉语文法界有很多讨论现代汉语双音化构词趋势的文章)。这个法子可以对付一多半“合成词痛点”,估计。

白:
你看看“证券资金交收处理办法”能有几个收进合成词。

李:
还是OOV问题:“交收”不认识

白: 这个不懂业务是很难做对的。“交收”是一个业务术语,既包括交券也包括交钱,就是说“证券资金”是联合结构。类似这种,在我们的业务文件中不知道有多少,交给句法做没道理,不交给句法,句法在这里的接口又是什么?

李:
加了合成词“交收”以后的parse如下:

记得中学时代入迷冰心的文字。她最善于“生造”合成词。虽然生造,汉字被她用得行云流水一般。不克服合成词痛点,是没法 parse 冰心的。就是语义距离计算为主,“交”与“收”应该在距离阈值之内。

白: 生造的接续感觉,用机器学习似乎可行。规则看样子搞不定。

我:
oov合成词痛点 更多表现在领域化过程中 普通词汇以及普通合成词油水不大。生词习得(lexicon acquisition) 是领域化基石和重要一环。

首发科学网 《新智元笔记:汉语parsing的合成词痛点》

【相关】

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

《朝华午拾》总目录

【李白宋毛72:NLP的测不准与追求完美】

李:
这两天琢磨中文词的扩展中的交叉现象,很有意思:

1. 选择疑问句谓词(P)模式 【P 不 P】: 学不学; 能不能;好不好
2. 动补(V-Buyu)词的可能态模式 【V 得 B】:学得会;可能态否定式【V 不 B】:学不会

12交叉: 学不学得会 ?
回答是:学得会 / 学不会 (或者:能学会 / 不能学会)

上述两个扩展模式也可以倒过来交叉,于是我们有 21 交叉:

学好
--> 学得好; 学不好
--> 学得好不好?

回答是:
学得好,学得不好,而不是 学得好, 学不好

后一种交叉,实际上用的 更多的不是“得”而是“的”:

学的好不好?

谓语重心落在“好”上,而不是“学”上。这与前一种交叉不同。很有意思的现象。

白:
得字后面的补语,有定性定量之分。“接不接得住”可以,“接得住不住”不行;“打不打得倒”可以,“打得倒不倒”不行。所以“住”、“倒”是专司“定性”的,是一个二值的状态,没有程度之分。另一方面,“扎不扎得紧/扎得紧不紧”“拴不栓得牢/拴得牢不牢”都能说,但补语“紧、牢”对应的是一个连续度量,但又有一个预期的极化状态阈值。所以,面临可能补语与程度补语的句式竞争时,可能补语占优势。第三种情况是“长不长得高/长得高不高”,补语“高”并不见得一定是预期的极化状态,“高不高”只是一种关于程度的中性的疑问,这时,程度补语就反过来压制了可能补语。第一种,纯定性,只能是可能补语;第二种,强定性弱定量,可以是程度补语但是与可能补语紧耦合;第三种,弱定性强定量,程度补语与可能补语松耦合。

长不长得高,和长得高不高,完全两回事。

李:
长没长高
== 长高了没长高
== 长高了没有

但是: * 长没长得高

白:
长高,相对于自己;长得高,相对于平均水准。程度补语。

可能补语的“长得高”,对成年人是梦想,对小孩是废话,除非侏儒症。所以可能补语义微弱。否定形式“长不高”则信息量大。对小孩,形同诅咒。或者,是成人身份的一种变相认同。

“没”是现时的未然,程度补语无论肯定否定,都是现实的已然,语义上也不相谐。可能补语与“没”结合,参照时点一定移到了过去,如:“谈没谈得拢”。现时已经出结果了,只有过去某时点上这还属“潜在”。

所以,“学得好不好”本来是关于程度补语的疑问,到了“学没学得好”,就变成了关于可能补语的疑问了。

李:
分析得好 细致入理。

谈没谈得拢 只有天知道
谈不谈得拢 就看你本事了。

上次白老师说分词 (大意):分词不仅是切 还要粘。至理名言。
句子就跟西瓜似的 可以拿着刀?来切;但字就跟珍珠似的 也可以拿串子来粘它、串它(concatenation)。结果都是 词,我们建筑语言大厦的砖瓦。这砖瓦必须有来路出身 有档案背景,因此目标也算是明确,即,所谓词应该是“词典的词”。词典就是档案 背景全部可在其中绑架,才能支持语言理解。

最有意思的是离合词,因为离合词不仅要串,而且还要跳着串。“谈不谈得拢”, 这个 5-gram,需要分词分出 “谈拢” 来 才算分词到家。

谈不谈得拢 == 谈得拢谈不拢 == 能谈拢不能谈拢 == 能谈拢 还是 不能谈拢

说到底 都是围绕着动补词 “谈拢”。 其他的小词(function words)或重叠(reduplication)手段,不过是给这个核心谓词语义添加语法意义而已: 诸如 疑问(选择问句)、时体、情态。

宋:
年满18岁,具有本地户籍,在本地居住满十年者

汉语的现象说明,词不一定是单向连续的短字符串,不一定边界清楚。非词语素和词的界限并不是绝对的。

李:
这个quasi-后缀“者”, 以前论过,它要求的是 VP,而不是 V。严格说不是 VP,而是 谓语 Pred。如果主语 NP 后面接谓语 VP 的话,那么总可以把主语去掉,加上这个“后缀”,来构成一个带有定语从句的 NP:VP者 == VP的人,这个 “的” 带的是定语从句 VP 。

当然实际语料的分布中,会发现 80%(?) 以上的“者”之前的 VP 其实就是一个 V ,所以把它当成英语的 -er (-or)一样看成是词的后缀,可能会带来一些便利,但必须留个 VP 的后门,来对付 定语从句的 VP 很长很复杂的状况。

宋:
手工业者

李:
“手工业者” 算是 另一个用法 看扩展性决定是细线条的规则 还是直接枚举入词典。

白:
者---N/S
关键是辖域、分配律。

李:
“者” 翻译成英语应该是 whoever+VP,不是简单成为 V-er 就可以顾全的。Whoever 是主语的形式,放在谓语前,与中文的结构关系类同,“者” 不过是放在谓语后而已:

年满18岁,具有本地户籍,在本地居住满十年者有资格报名。
--》
Whoever VP(年满18岁,具有本地户籍,在本地居住满十年) is qualified to sign on

白:
“子女不服管教者,配偶不在本地者”

不是主语,是领项,反填至N/N的残坑。

李:
fun,then,those who/whose

汉语的大主语(或 Topic 或“领项”)是一个中文里蛮独特的句法语用混杂的现象,对应英语的结构,错综复杂一些。

白:
其实从填坑角度看就是一个纯句法现象:一坨,有个坑,萝卜可填。至于这个坑怎么来的,最初长在谁身上,不重要。其实就是一个纯结构现象,无关语用。只要摆对解读结构的正确姿势,它就自然浮现。

李:
“子女不服管教”,这话听上去感觉不完整 虽然主谓齐全 因为有个坑没填萝卜:“【谁(的)】 子女不服管教?”

“心脏病不好治。”这话听上去感觉是完整的,虽然也可以问,【谁的】心脏病不好治?

白:
有隐含的logical quantifier

李:
“心脏病” 有坑没坑?还是说 这坑有强弱之别?
“子女”对 【human】 的坑,强过 “心脏病” 对 【human】 的坑,后者信息量也更大,更需要满足。

宋:
老王的子女不服管教。老王的子女不服管教者被老王打了一顿。

李:
这里,“老王的子女”是全集,“【其中】不服管教者”应该是个子集。

“子女都是不服管教的。” 这话就显得完整了: 因为全称小词“都”虽然 mod 的是 VP,但却作用于 NP“子女”,使得其坑显得没有必要填了,因为隐含的坑就是 “【所有人的】子女”,与 “心脏病” 同:“心脏病”的坑隐含的默认萝卜也是“所有人”。

老年人的心脏病不好治。
心脏病其实不难治,但老年人的心脏病除外。

上句的第一个分句,默认萝卜是 for all human;第二个分句 做了显式的限定,修改了默认值。

回到原问题:到底坑有没有必要区分强弱?

作为对照:及物动词肯定是有强弱的。有的必须要宾语(“善于”,“赢得”),有的最好有宾语(“喜欢”,“看见”),有的可有可无(“呼吸”,“诊断”),没有的话,大众心理就补足了一个默认值,从本体(ontology)来的默认: “呼吸【空气】”,“诊断【疾病】”。

白:
“心脏病不好治。心脏病不会治。心脏病不去治。” 谓语不同,对“心脏病”的坑有影响。第三个例子,最不完整。

李:
心脏病不去治,【你】不想活了? == 【你】心脏病不去治,不想活了?
心脏病不去治,【你】治啥?== 【你】心脏病不去治,治啥?

第一个【你】应该是病人,第二个【你】可以是医生。第一个【你】直接填“心脏病”的坑。第二个【你】作为医生,与“心脏病”的坑没一毛钱关系。

白:
是。对举可以削弱“萝卜的坑”。本来有一毛钱的入账,又有了两毛钱的债务。结果欠了一毛钱。成了别人家的坑

李:
最近想,退一步才好进两步,可谓真理。一辈子能够退一步的时机不多,总是忙忙碌碌,随波逐流,人在江湖,身不由己。如果因缘巧合遇到了退一步的机会,那么一定要惜缘。追求完美,不留遗憾,其实是常态生活的奢侈,但也可以是退一步的境界和机会。

为什么退一步反而可以追求完美不留遗憾呢?因为在高歌猛进的人生中,没有时间喘息和反思,难有机会从根子上改造,肩负的是历史的负担。只有在退一步的时机,才有可能重起炉灶,把历史负担当成经验教训的积淀。虽然慢了一拍,但磨刀不误砍柴工,最终可以更加完满。历史上,苹果公司的操作系统就在乔布斯的指挥下重起炉灶大放异彩。可怜的微软就总没有这样的机会,补丁摞补丁过了一辈子。

胡乱感叹一哈。

量子力学有个测不准哲学,其实对于语言学很适用。语言作为交流的工具,宏观上的可理解性是没有问题的。但是,测不准原理表明:从本质上来讲语言学不能做出超越统计学范围的预测。语言理解系统无论怎样逼近,永远也不可能在微观上 capture everything。那天白老师给了一个很妙的例句,是:“马可波罗的海上旅行”,让通常认为非常坚固的 4-gram 词 “波罗的海” 被另一个 4-gram “马可波罗” 遮盖了。可以设想一个分词系统的第一版本是 assume 4-gram 词以上就是正确的(实践中,匹配上 tri-gram词就相当靠谱了,这可算是一个分词的经验公式 heuristic),可以 identify 词及其概念。但对于上例,这个系统从最左向右匹配,赶巧就对了;若从右向左走,就错了。

毛:
有道理。这个例子确实巧妙。

李:
咱们进一步扩大疆界来逼近真实,就算搞定了 6-gram “马可波罗/的/海" (Note: 前一篇李白对话【李白71:“上交所有不义之财!”】中说过,其实搞定 5-gram 就可以认为是搞定了汉语分词,因为 5-gram 几乎是 local context 的极限了),咱们这就突破这个极限看看......。我要说的是,我们总可以找到一个context,使得以前的任何分词(及其分析)无效。

“我的朋友生了个双胞胎,绰号很奇葩,先生出来的叫千里马,后出来的叫波罗的海。我告诉他绰号也是有讲究的,有的可有的断断不可。千里马可波罗的海不可!(Note: 千里马/可/波罗的海/不可)。”

“朋友问为什么,我说因为有个测不准原理。千里马本体毕竟是动物,与人不远,可用。波罗的海本体自然物体,无法联想到人,故不可用。”

“马可波罗”乍看何其强大,甚至大过“波罗的海”(毕竟里面藏了一个万能小词“的”,是它的硬伤),也逃不过测不准的限制。最后大胆假设一下,立委牌中文深度分析器(deep parser)神奇地利用 long distance 句法或 休眠唤醒机制 帮助突破 local context,搞定了“千里马/可/波罗的海/不可” 的分析理解,so what?总还是会有“测不准”在,譬如:

“我舰/日航千里/马可波罗/的/海/不可/阻挡。(或曰:固有波罗的海,哪里有什么马可波罗的海?曰:先生一叶障目,知其一不知其二。马可波罗的海,乃印度洋别称也。)”

牵强?然而场景合理,语句合法,概率不是0。

想一想测不准,咱们搞AI,搞NLP的,怪丧气的:系统完美,只在梦中。但反过来想,其实是对完美主义者的有益警示:追求系统的完美和静态高指标从来不(应该)是核心目标,领域化能力和动态指标才是系统打遍天下的硬通货。不要想完美的事儿,只是要问:给你领域大数据,你多快可以让系统进入角色,让它上线转起来服务业务,然后对于 bug reports 的反应和修复速度有多快,系统在使用中日臻完善,虽然永远不会完备。

所谓追求完美不留遗憾,正解应该是对于架构和formalism的近乎受虐的追求,为的是到用的时候,到领域化的时候,到修复 bugs 的时候,可以庖丁解牛游刃有余。

毛:
你这个事情的性质不属于测不准,而属于词法/句法的不完备。测不准是对每个粒子而言的,每个粒子的位置和速度都有测不准的问题。而你讲的这个情况,是说不管什么样的词法/句法都有对付不了的特例,这就是不完备的问题。

李:
资源的不完备(不可能完备),在我就是系统的测不准,貌似也就是原观测对象的不确定性。

白:
@毛 是进出不同层次没有违和感导致的。一个字当作一个字,和一个字当作语言中的词的部件,是处在不同层次的。人偏偏要搅和在一起玩。这样会闹出悖论的,不过,NLPer似乎并不关心。

【相关】

【李白71:“上交所有不义之财!”】

【立委科普:歧义parsing的休眠唤醒机制再探】

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

《朝华午拾》总目录

【李白70:计算语言学界最“浪漫”的事儿】

白:

根据什么知道“他人”不是三个动词共享的逻辑宾语?----相谐性!

李:
【human】vs【physical-object】?丢失【physical-object】vs 丢失【human】?
丢失“孩子”呢?假如是直接量相谐的统计对比,“丢失-设备”与“丢失-他人”,前者完胜。
如果是上升到类别上去做对比,丢失-【physical】与丢失【human】就有可能会势均力敌,假如 “丢失-孩子” 的说法在语料里面特别高频的话。

直接量对比最好,可是总有数据稀疏不足为据的担心。类别对比克服了稀疏数据,也可能走偏。“申领”类似,似乎也可能申领【human】? “ 损坏”好像比较单纯,很难“损坏人类”(人类够皮实的?)。到了“转借”问题复杂了,是个双宾词,大数据里面,跟 【human】与跟【physical】的都很多。当然,现场已经让【human】(“他人”)占了坑,只剩下【physical】的可能,如果要把这一套符号逻辑加入大数据相谐的统计里面去,貌似也不是很好整,虽然琢磨起来总是头头是道的。

白:
三个动词共享的话,备选坑的subcat取最小公共上位。
损坏的坑不是human,甚至不是animate,看来只能是physical
大家都从它。

李:
最小公共上位,实现起来又多了一层,而且预设了 并列结构的正确识别。看看这个问题的完满解决牵涉了多少不同层面的预设:

(1)预设并列结构识别
(2)预设最小公共上位
(3)预设排除已经占据的坑的类别

这里面的每个预设,说起来都很合理,但揉进一个算法里面就感觉有相当挑战。这只是就这一个案例的应对思路所做的抽象。遇到其他案例,也会出现其他听上去合理的应对。然后把这些合理应对整合起来成为一套相谐性checking的算法,感觉上不是一点点的挑战。

白:
显然这时候就看出来中间件分离的好处。相谐性检查也好,求最小公共上位也好,都是matcher向中间件请求,中间件回应matcher的关系,中间件并不介入matcher自身的逻辑,不介入待分析文本的结构性判断。

梁:
两个词的相谐性,可以计算出来么?或统计出来吗?

白:

李:
处得久了 粘在一起 chemistry 就确定了。大数据可以。就是如何实施的 know how 了。

白:
“避免了一个十亿人口数量级的核大国彻底倒向美国和日本成为死敌”
和谁成为死敌?谁和谁成为死敌?

1、十亿人口的核大国和日本
2、美国和日本
3、十亿人口的核大国和缺省主语
4、十亿人口的核大国和美国

李:
我昨天下午也搞定了一个痛点: 就是 “学习材料” 类。完满解决这个问题 其实有几个坎儿。凑合事儿也可以,但总觉得对于这么普遍的现象,还是形成一个一致的比较完美的解决才好,类比以前对于离合词“洗澡”的解决方案那样。

说个有趣的汉语缩略现象:

南美北美 --> 南北美
上位下位 --》 上下位
进口出口 --》进出口
AxBx --> ABx

some more examples: 红白喜事,冷热风,高低端,东南向,南北向,软硬件,中青年,中老年,黑白道,大小布什 ......

这些个玩意儿说是一个开放集(合成词)吧,也没有那么地开放;说封闭吧,词典也很难全部枚举。它对切词和parsing都构成一些挑战。这是词素省略构成合成词的汉语语言现象,还原以后是 conjoin 的关系 (Ax conj Bx),至于 ABx --> AxBx 的逻辑语义,还真说不定,因词而异,可以是:(1) and:南北美 --> 南美 and 北美;大小布什 -->大布什 and 小布什;(2)or:冷热风 --> 冷风 or 热风;正负能量 --> 正能量 or 负能量;(3)range:中青年 --> from 中年 to 青年,中老年 --> from 中年 to 老年;(4)and/or: 进出口 --> 进口 and/or 出口;(5)一锅粥(and/or/ranging): 高低端 --> 高端 and/or 低端 or from 高端 to 低端。

白:
小微银行;三五度

李:
逻辑语义解析先放一边(很可能说话的人自己就一笔糊涂账,不要勉强听话人或机器去解析 and、or 还是 ranging),就说切词和parsing的挑战怎么应对就好。冷热风 在传统切词中是个拉锯战:【冷热】风 vs 冷【热风】;“南北美”:【南北】美 vs 南【北美】。

看官说了,还是 南【北美】 似乎对路。可那个撂单的“南”怎么整呢?

白:
词不都是切出来的,也可以是捏出来的

李:
【国骂】,切词切词,只让我切,不让我补,这不是憋死我吗?不具体说雕虫小技了,要达到的目标是:Input:南北美;output:【南美 conj 北美】。

问,难道切词或 parser 还能补语言材料?当然能。不能的话,bank 怎么成的 bank1 (as in bank of a river)和 bank2(as in a com李rcial bank)?举个更明显所谓 coreference 的例子:John Smith gave a talk yesterday. Prof Smith (== John Smith), or John (== John Smith)as most people call him, is an old linguist with new tricks.

白:
高低杠、南北朝、推拉门、父母官……

李:
This last example below demonstrates the need for recovering the missing language material:

A: Recently the interest rate remains low.
B: How low is the rate (== interest rate)?  // 不补的话,就不是利率了,而是速率。

所以 parsing 中适当补充语言材料,重构人类偷懒省去的成分,也是题中应有之义,虽然迄今绝大多数系统都不做,也不会做,或没有机制或相应的数据结构做。

白:
不该补的也要那个。反方向的还不普遍?比如“海内外”

李:
听上去好像我的系统做了似的。必须说句老实话,目前还没做。虽然没做,这些个东西老在心里绕。绕老绕去问题清晰了,candidate 策略s 也有了,就是等一个时间点,去 implement。做实用系统有一个毛病,千头万绪,大多是跟林彪似的,急用先做。不急用的,甭管心里绕了多少回,往往是一等再等,几十年等一回,那一回有时候似乎永远不来似的,有时都就等到白头了。其中一个办法描述如下:假如 “南北韩” 不在词典里,但“南韩”和“北韩”都在,“南北”也许在,也许不在,不管他。切词的结果不外是:南/北韩 or 南北/韩。“揉”词的算法可以放在切词之后。最简单的算法就是再查两次词典,如成功,就把切词结果加以改造,爱怎么揉怎么揉。

(1) Input: A/Bx
Is Ax in lexicon? If yes, then
output: Ax conj Bx

(2) Input: AB/x
Are Ax and Bx both in the lexicon? If yes, then
output: Ax conj Bx

(3) Input: 海内/外:
Is 海外 in the lexicon? If yes, then
output: 海内 conj 海外

张:
李白对话将载入计算语言学历史

李:
前些时候,还真有个出版商寻求合作,要出版个啥 NLP 系列。旁门左道,从来没想要出书的,甚至写了也不管有没有读者。总之没拿读者当上帝。自媒体时代,写已经不仅仅为了读,写主要是为了写,日记疑似。与其读者做上帝,不如自己做上帝。反正也不指读者养活自己,完全是共产主义义务劳动,而且是高级劳动。此所谓,说给世界听,可并不在乎世界听不听。后来想起《对话录》,我说,也许你应该去找白老师。如果白老师愿意,倒是可以选辑修订成册。里面不乏精品,譬如最近的这篇:【李白69:“蛋要是能炒饭,要厨师干啥用?”】。

张:
计算语言学界最浪漫的事就是不忙的时候(坐在摇椅上)看李白悠悠地“怼”,慢慢地“坑”

白:
如果前缀两个字,就比较容易接受:大江南北、长城内外

李:
“大江南北、长城内外” 不同,“大江南” 、“大江北” 不在词典,而是句法组合。“大江-南” 是句法,“大江-南北” 也是句法,没有必然的必要性去补足构词材料。

白:
但是相比共享后缀,语义并无结构上的特别之处。所以补足只是针对同类现象的部分解决方案。按构词规则捏出一个有微结构的合成词才是根本。

“欧洲一体化已死,何须中国分裂?”  有个“它”或者“之”,关系会更明确。

李:
那就有点不伦不类了。“欧洲一体化已死 何须中国分裂之”,听上去成诗句了,好比
“花开花落两由之”。

白:
多好。如果像我引用的那样,就比较麻烦,总得有些关于统一和分裂相对关系的铺垫才能正确理解“中国”在其中的使动角色。

李:
想起个故事 在我知道胡适之是胡适之前,我写了句 “胡适之名句”,那还是高中的时候。高中同班一个公认的秀才,老夫子,读书巨多,平时颇孤傲,会背诵古文观止。 他马上对我刮目相看,他没料到我居然知道胡适乃是胡适之。别小看一个之,知道不知道它当年被认为是有学问与孤陋寡闻的重要区别。天地良心 我的确不知道胡适还有个之。后来知道了,不禁哑笑,哈,被学问了。秀才最后成了一辈子最铁的朋友,现在也在米国,做大学教授 系主任多年。

白:
英语“xxx specific”怎么翻译才地道?直译为“yyy特定的”读起来很不爽。比如“language specific”我宁愿麻烦点翻译成“针对特定语言的”。见到“语言特定的”这样的翻译,总感觉不舒服。但是,汉语处理已经必须处理这种因为直译导致的语言现象了。因为我们左右不了人家的翻译质量。

昨天徒步时看到的“旅游厕所”让我对降格又深入了一步。简单地看,这是动词“旅游”降格做定语修饰“厕所”。但是,1、“厕所”无法反填“旅游”的坑,这和“打火机”不同。2、“厕所”并不是与“旅游”的坑完全隔绝,它是给旅游者上的厕所。构词的微结构里面虽然没有直接出现“上”,但是这个“上”却是连接“旅游”和“厕所”的枢轴。跟前些天讨论的“孟姜女哭倒长城”里面那个没出现的“修”,有的一比。述语动词“哭”和结果补语“倒”没有相谐的共享坑,但是深层次通过“修”和“丈夫”的坑,延展开来实现了共享。

王:
我感觉是“旅游(用)厕所“,这样绑定是否可行。“上“有点窄,但“用”面大,覆盖广,只要没有反例就好。类似英语动词+ing。traveling toilet。学英语时,v+ing,分词和动名词,用来旅游的厕所 or 旅行着的厕所(移动厕所)。不知对构造新词是否有帮助。

白:
直觉“旅游”和“厕所”也是通过“上”实现了回填。等下我画个图验证一下。“用”也还是意犹未尽,不是严格用填坑关系串起来的,是一个虚动词,“上”是一个实例。

梁:
我有点忘了,“孟姜女哭倒长城”是孟姜女晕倒了,还是长城倒下了?好像两种理解都可以。

白:
长城倒了。
旅游[的](上、用……)[的]厕所

双线是“旅游”成为“厕所”定语的路径。简化一下:

把phi_1、phi_2缩并到“旅游”,形成虚拟节点“旅游'[S/N]”的话,上图就进一步简化为:

回填结构昭然若揭。phi_1是“旅游者”,phi_2是“上、用……”。

王:
第一个图好理解,简化后自己有点跟不上了,呵呵!当然白老师心中是门清的,只要可操作就是好的。

李:
为了一个定语 弄出两个无中生有的节点 才把这根线搭上,够绕的。某人 v 了厕所
此人 旅游,因此 旅游厕所就是为某些旅游的人所v的厕所。萝卜坑貌似搭上了,不过绕了这么一大圈搭上了又有啥好处呢?

白:
1,如果对不能反填置之不理,这一步大可不必。2,深层语义结构本来如此,顺藤摸瓜找到相谐的反填路径,看起来是句法任务,实际已经是语义任务。所以parser只做到降格就可以收工了。

李:
对于 “v (的)n”,知道 v 是 n 的修饰语 是根本,v 的坑 对于语言理解不重要,或无关系,因为语言中的谓词,填不上坑或不值得填坑的,是常态 是多数。需要填坑的(处于clause里面的)谓语动词是少数,多数是非谓语动词。即便谓语动词 一来也常省略萝卜
二来可填的坑 句法痕迹也比较明显直白,不会那么绕,少数远距离例外。

白:
对句法不重要,对语言理解不能说不重要。无中生有只是假装,其实联想到的实例都是有的。旅游厕所真的就是那个意思啊…… 难不成碰到了那个意思还要过河拆桥,告诉别人不存在这个桥。

王:
我觉得白老师对新词的剖解挺好,词生有根,把根找到是件有意义事情。当然在有些处理新词场合,可能不需要处于隐形的中介出场。一旦需要时,能有套路可找到,那么这价值就体现了。这也是机器搜刮了词典中的多种关联后得到吧。不排除有些情况可能找不到,也有可能找出了多个。这可能更大视野来考虑相协。

白:
刚才用“坑论”试了一票英语例句,巨爽。

李:
Man 填了万能词 is 又填 fat 中间还来个 +N  看上去有点复杂 (N+ 是定语,+N 应该是后补同位语)。/N 在身边没找到萝卜 就进休息室了 +N 守株待兔 等待左边来客,这一套蛮绕。

白:
@wei 别看man填了那么多坑,除了一个花了额度,其他都是免费的,而且都说得清来由。这个免费额度的机制,看来真的是universal 。

“自从有了智能移动电话,我的智能、移动和电话都在减少......” 这段子,又涉及微结构了。

宋:
“制裁没起作用,朝鲜又爆炸了氢弹。”其中,“制裁”的受事是“朝鲜”。机器没有相关的背景知识,能发现这种论元关系吗?

李:
“制裁没起作用 美国只有先发制人一途了。”

白:
“制裁没起作用,中国躺枪。”

李:
对于 hidden 论元 既然说者都不愿显性表达出来,为什么要挖出来?在哪些应用场景 需要挖出 hidden roles 哪些场景不需要?机器翻译基本不需要,信息抽取和大数据挖掘的应用也基本不需要,explicit 论元都成山成海冗余无度呢。自动文摘的场景不需要。阅读理解的场景似乎是需要的,但这也看哪一种level 的阅读理解,四级阅读与六级阅读 要求不同。总之 感觉多数场景不需要。实用主义来看 做了也白做 何况做也难做好。

白:
这根本不是个别词的问题,而是场景的问题。在先行的大场景中各自什么角色,决定了填“制裁”坑的萝卜是谁。向后找萝卜,方向反了。

“耳朵聋了,莫扎特的音乐照样演奏。”
“耳朵聋了,贝多芬的音乐照样演奏。”

吕:
这个需要接入外界知识了

白:
第二句有歧义,第一句没有。原因,就是大家知道莫扎特和贝多芬谁耳朵聋了。可以把“贝多芬耳朵聋了”看成一个先行场景,“联立地”决定后续空白坑的填充。重要的事情说三遍,只要语言不要常识不要常识不要常识。Simultaneous anaphor

 

【相关】

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

《朝华午拾》总目录

【李白69:“蛋要是能炒饭,要厨师干啥用?”】

李:
“炒饭” 默认是合成名词,但也可能是动宾结构的 VP,与 “烤红薯”、“学习材料”,甚至“已成事实” 类似,汉语中极为普遍的现象。今天想,从“炒饭”到“蛋炒饭”、“酱油炒饭”,后者的名词性增强,动词性的可能减弱, 但其实也不是不可能翻案:

A: 我很笨,我不会炒饭,我炒饭不好吃。
B: 你蛋炒饭呀,酱油炒饭呀。你如果蛋炒饭,就不会不好吃了。

“蛋炒饭” 里面的微结构是 clause 不是 VP,“蛋” 是【instrument】or【material(ingredient)】做主语。这不影响它可以从词法(morphology)上带有clause微结构的合成词转化成句法(syntax)中的VP,理所当然地再要一个主语:

“蛋能炒饭,肉也能炒饭,菜也能炒饭,没有不能炒饭的。”

白:
S降格为N+,需要统计支持,需要字数等条件。

“蛋要是能炒饭,要厨师干啥用?”

S自带的S+,先跟S搞定,回头S再降格。微结构分原始结构和定型结构。原始结构没有降格处理,定型结构加上了降格处理。即使降格,仍然存在填坑关系,但是呈环状,降格--修饰--填坑关系呈环状。颠覆,不仅仅是打开微结构,而且要“去降格化”,全面复辟到原始结构。

李:
白老师高大上的思路,隐隐约约似乎看到了端倪,但不敢说真 follow 了。主要是白氏术语多,但没有术语工具书或密电码,譬如: S, S+, 降格,原始结构,定型结构,填坑关系,呈环状,去降格化 ......

“蛋要是不能炒饭,啥子能呢?”
“蛋不仅能炒饭,蛋黄还能做月饼,蛋清还能美颜,连蛋壳都能做工艺品。”

蛋能着呢,一身是宝。相比之下,厨师最多就是做个饭,厨师不会美颜,也做不了工艺品。蛋与厨师,谁高谁下,不是一目了然吗?这是大学生辩论乙方的辩路。白老师代表甲方,立论是:“蛋要是能炒饭,要厨师干啥用?”

白:
按构词规则捏出一个有微结构的合成词才是根本。

李:
秀一下 捏出啥样子较好。

白:
上午徒步……方便时画几个图上来。

白天徒步时,多处看到“旅游厕所”的牌子。“旅游厕所”的微结构是啥?与“蛋炒饭”不同,“旅游厕所”并不存在翻盘的可能。

旅游只有一个标配坑,而且subcat是human类型。厕所无法填入。

李:
蛋炒饭的图示,pos 是 N,词法内部微结构就是个【主谓宾】。白老师图示的微结构没看出做主语的痕迹,不知道为什么。是因为主语要查chemistry,蛋不是 human 不够格吗?那个 with 降格 没看懂。

白:
说的对,蛋不是核心成分,是外围成分。用一个虚拟介词拉到动词势力范围来,不够格作主语。

李:
去降格化 回到了这个合成名词的动词 subcat 的潜在能力,it is a candidate 2-arg verb:/2N, 这就为翻盘成为 VP 谓语造就了可能。 翻盘还留有一个 human 主语的坑给句法。

白:
但 蛋还是不够萝卜资格。谁炒?所以那个段子,蛋要是能炒饭,要厨师干啥,之所以好笑,就在于,把蛋和厨师相提并论,

李:
“蛋” 在 “蛋炒饭” 里不够格,在 “蛋能炒饭” 里够吗?

白 :
也不能,是穿透的,能用蛋炒饭 的意思。
不够格的和够格的相提并论,核心成分让步,只能是修辞,不能是其他非核心成分。

李:
这是句法主语与逻辑语义错位造成的幽默。的的确确是句法主语 ,符合主语的一切分布,甚至可以放在(状语)从句的分布模式里:如果 S Pred,S 如果 Pred:

“如果蛋能炒饭”
“蛋如果能炒饭”

【工具】和【材料】 做句法主语在汉语是天经地义,仅次于【施事】做主语,比【受事】做主语还常见。其实英语亦然。

白:
问题是我这没有形式主语标签,句法主语标签毫无意义。我不想沾它,而且不沾也不影响。

李:
句法主语的独立性 总之是有依据的。什么叫 “核心成分让步,只能是修辞,不能是其他非核心成分”?

白:
就是那个角色不是human了,至少也是拟人化的。这才可以当作修辞用法。

李:
哦 那是修辞 ,修辞很常见的。

白:
蛋不是修辞用法,不在此列。

李:
“蛋” 从主语坑让一步,自己降格为PP,作状语?

“蛋炒饭” 里面, 既然在 v 前有 n,鲁棒的系统默认不降格的,因为选无可选 滥竽充数了。人的语言理解过程感觉也是这样的。

白:
鲁棒的系统应该在语义层面无计可施时,把它加回核心角色,不降格,修辞用法。句法层面作状语,并没走远。

李:
不降格, 到不得已时再让位(主语的交椅),而不是先降格 留个坑,等还不见影子的萝卜。

白:
怕甚?无非是句法功劳少点,语义功劳多点而已。

李:
不太合节省原则。句法存在的认知基础,就是给语义省力。

白:
又没到位,没看出省力了

李:
默认涵盖了多数情形 不费力 不用常识。不得已再用。遇到 n v n 就默认svo,当然省力了。

“鸡蛋拌番茄”,“鸡蛋” 也是降格?

白:
当然。翻译成英文,不也得降格么

李:
鸡蛋用番茄,鸭蛋用土豆 ...
(as for eggs please use tomato ...)
谁用?也是降格。

白:
谁会用谁用。反正鸡蛋鸭蛋不会,除非修辞。但修辞也不是as for的意思。

李:
哈 鸡蛋“能”用 鸡蛋不“会”用。就如乔老爷批判人工智能说 “潜艇不会游泳”。

图中 N+ 怎么回事?S+ 是N因为不够格而降格为状语,哦 N+ 是做了定语,动词委屈降格做了定语。父子翻转。

白:
N+是动词不经由定语从句,直接做了定语。

李:
经不经 【定从】 关系不大,为什么又“去降格化”?
其实微结构所谓降格都是做给人看的,讲究一个事出有因,但既然在词典里面 其实不必讲这个合成词内部的故事。就是绑架 洗脑即可。关键在微结构的V的潜在翻盘性。

白:
去降格是源头,降格是过程,N是结果。要想翻盘,就要回到源头,而不是回到过程

李:
那你那图示次序反了,源头弄在中间了。降格那一节 不提也罢。降不降 都是 N 了, 词典规定的默认。汉语词法句法道理相通,但词典词法不必讲理。 句法不讲理就不行。

白:
我没有次序含义,就是一个个罗列出来。
词法捏出未登录的合成词,还是有法可依的。

李:
对 对于open词法 需要捏,open morphology 必须有法 讲理。

降格者何时升格?修辞何时实现?修辞实现用标记吗?
green ideas 能 sleep 吗?“小红帽发了一顿牢骚” 怎么弄?还有很多很多灰色地带,资格不好认定的地带。要 【human】 的,【org】 不行吗,【animal】 不行吗?

白:
顺杆儿爬,顺杆儿滑。

李:
不过那个降格而捏的图示 真 implement 还有一些沟沟坎坎。 不过是给了个捏的道理罢了。道路依然不明。

白:
句法上承认不相谐的依存关系,语义上就只有修辞一条退路。但句法上到底承认不承认,有很多策略选择。

李:
但的确有灰色地带 介于修辞和正解之间的。坑与萝卜的 chemistry 是一个 spectrum,不是一个死条件,跟找对象一个德行。凑合事儿的也有过了一辈子的 还不少。

白:
这里问题不是给什么句法标签,而是最终是否碰的上。碰的上就不怕。

李:
碰不上就升格凑合?然后做个标注 这是凑合的修辞萝卜?

白:
不管在二楼碰上还是在三楼碰上都没关系。“蛋炒饭”的例子,“蛋”升格不就成了修辞萝卜了么?这是需要外力的,比如与厨师相提并论。没有外力,升格的可能性微乎其微。当然,形式的不算。既然升格,就是冲着逻辑的核心角色来的。“蛋”的工具主语的解释和修辞解释的不同就说明了问题。

李:
工具解释是临时职称,修辞解释是代理主任。临时是没办法 先凑合。乔老爷的名句 都不应该升格。因为没有纯句法以外的外力。“绿色思想今夜无眠”。“绿色思想”只能看成是“今夜无眠”的某种状语?

白:
还有另一种可能性,就是“绿色思想”看成专名。比如酒吧的招牌。酒吧再无眠,就是修辞了。同样拟人,以酒吧拟人就比以抽象事物拟人更靠谱点。

李:
是啊 这是spectrum, 讲的是本体资格距离。 其实还是三角恋力量对比的策略最实用,二元匹配不好对付灰色 三角就容易了。脚踩两只船 不得长久。最后当事人必须选择 是“他” 还是 “他”?凭着感觉就行了 选择通常不难。没有比较的选择就太难了。

王:
蛋炒饭,蛋能炒饭,真是够研究的。看了李白老师关于“蛋炒饭”这菜名讨论,感觉有些菜名无不用其奇,不考虑NLPer的辛苦,NLP很多性能不高,就坏在这“菜”上了,只要能解决就好,本来NLP大山就多,可这零碎的泥坑也不少。

白:
“蛋炒饭”其实是两个问题。一个是通用能产的构词法问题,一个是特定语境下的反悔问题。通用能产的构词法,就算没有,也可以通过“词典硬性定义+原始微结构”给反悔留出线索。通用能产的构词法怎么才能有?各种在句法层面使用的不太多的“降格”手段,在构词法层面可以有。这是关于“蛋炒饭”讨论的核心。

【相关】

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

《朝华午拾》总目录

【李白之68:NLP扯着扯着还是扯到萝卜填坑】

李:
发现 “引进” 与 “引入” 可能方向不同 虽然应该是同义词。读【李白之29】(“依存关系图引入短语结构的百利一弊” ),突然觉得不对劲 这不是我的原意。原来想说的是,“依存关系图引进短语结构的百利一弊”,或者,“短语结构引入依存关系图的百利一弊”。a 引进 b,语义主体是 a 而 b 是逻辑修饰成分;b 引入 a,a is semantic head while b is modifying element。不知道这个语感对不对 是不是语言共同体的 还是语言学家的走火入魔?

另 并列排比的力量很大 汉语为最 英语也有:

“One in the morning and one afternoon”

力量大到了可以生生把 one afternoon 拆散,棒打鸳鸯 可 NLP 界对这种现象研究和应对却远远不够。排比句式的自动处理及其与parsing 的无缝连接 可以做一些博士课题 排比是并列的延伸,而并列现象早就公认为是nlp的拦路虎之一。

白:
何以见得?程序员会首先说,编译通不过

李:
万一编译器鲁棒通过了呢。

两个什么?论最近原则 是两个西红柿。但还有一个更大的力量,就是前面说过的排比的力量:一个x ……两个【 】。

白:
通过的那种编译不叫鲁棒叫自作多情。如果论排比,那“一个啥啥”前面也得加“如果啥啥”。

李:
排比的力量真地很大 感觉强过距离 虽然这几句不 make sense.

白:
“孩子”是称呼对方还是指称对方子女,这是个问题:

白:
“拍的一手好照”……第一次见到这个说法。

李:
洗的一把好澡
吃的一桌好饭
拍的一屁股好马
吃的哪门子醋
吃的一坛好醋 双关 嘲讽

白:
你那些统计频率够高,这个不行

李:
露一手
拍一手好照片
踢一脚好球
踢的一脚好球
想一脑门心思?

“脑门” 与 “心思” 搭配,“一手” 却与 “照片” 并不怎么搭,“一手” 与 “拍” 似乎搭。

白:

如果“所”负载“他所说”,那么“他所说的”就是“所”填“的”坑。交叉了不说,感觉有点怪。
“所”是个纯粹的逻辑宾语提取算子,“的”则广谱一些,既能提取逻辑宾语,也能提取逻辑主语,而且接名词能构成定语,不接名词自己就升格而名词化。

李:
小词负载结构 也负载语义吗?我想请问的是 白老师系统如何区别 “所” 提取宾语的标配,与 “的” 既可提取宾语 也可以提取主语?这个区别如何在语义上实现?体现
在 pattern rules 里面的话,这个区分很容易实现。

白:
词负载语义结构,使用的是subcat类型演算。也就是说,“所”和“的”的提取对象,在cat层面不做区分,在subcat层面做区分。“的”提取“剩下的那个不饱和坑”所携带的subcat,“所”提取“代表逻辑宾语的那个不饱和坑”所携带的subcat。如果两个以上坑不饱和,如“卖的”,则取两个坑的subcat的最小公共上位(上确界):sup(human,human,object)=object。等待一旦其他成分做出更加specific的限定,比如“买的不如卖的精”或者“卖的都是假货”,再图改变。

李:
那是 unification 的本来意义:unspecified until more specific

两个小词提取(代表)的不同,在 subcat 演算上实现。这个 subcat
是谁的 subcat,又是怎么做 subcat 演算的?对于实词,cat 决定句法(萝卜与坑 以及 mods),subcat 决定语义(semantic lebaling 解析逻辑语义),我们可以想见。
对于小词呢?

白:
小词要具体分析

李:
从哪里看出来 “所” 指的是宾语。

我的所爱在高山。
我所爱的在高山
我所爱在高山
我所爱的人在高山。
我所爱的东西在高山。
我爱的在高山。
爱我的在高山
*所爱我在高山

白:
上面讲的“所”和“的”,我们用的词是“提取”,意思就是说它的subcat是copy来的,在copy之前,它是一个指针变量。说清楚了,谁填你的坑,你提取谁的哪个坑所要求的subcat

李:
“爱我” 只剩下一个萝卜 所以 “爱我的” 就是那个萝卜(代表)。为什么 “所爱我” 不成立?“所我爱” 其实也不成立,只有 “我所爱” 才成立,这个体现在哪里?

白:
我不管什么不成立啊,又不做生成只做理解。做生成也不这么做

李:
哈 这总是少了一个 leverage。赶巧了 词序不对的序列 不会出现 因此把词序 leverage 从 parsing 中扔开 貌似多数时候可行。但总是会遇到某种时候,词序的条件恰好就起到了帮助 parsing 的作用。

白:
subcat完全相同才会考虑次序,这时逻辑宾语右侧填坑优先。但是“所”提取逻辑宾语是硬性的,比只是“优先”来得更加强大。所以有了“所”,就轮不上这些右侧优先了。

李:
这种优先度的调整 听上去是宏观算法的考量,而句型subcat里面所规定的词序(如果词典规定的话)则是微观的。后者比前者更加精准。

白:
前者更加robust。我之所以放弃pattern,就是因为它管了不该管的事儿。

李:
动词句型的subcat,管得恰到好处呀,句型里面说在左边,那就一定在左边。

白:
好好说话是生成该管的事儿。而在各种糟糕语序下尽可能猜测对方意思是分析的事儿。

李:
句型里面的词序规定,与对小词的规定,以及对实词的规定(强搭配规定实词本身,弱搭配规定实词的本体)。所有这些规定都是一以贯之的。不管是分析还是生成,一个句型长什么样子 是植根在句型 subcat 的词典里面的。这是词典内语言知识。至于这个知识用于分析,可以适当放宽而鲁棒,或者用于生成,适当收紧而顺溜,那是知识的实用层面的考量,而不是知识本性发生了变化。

譬如 “邮寄” 带三个坑,其句型就是:

1. [human] 邮寄 [human] [object]
2. [human] 把 [object] 邮寄 (给) [human]

白:
理想的词负载结构,是可以100%把句型语序再现出来的。使用刚性方式(override)还是柔性方式(优先级),只不过是实施当中的工程选择,与理论无关。如果我愿意,也可以都采用刚性方式。但是我不愿意。比如及物动词六种组合语序,双宾动词24种组合语序,其中有多少种是合法的,我不需要关心。也不会用罗列的方式去挑出合法的组合。

李:
不同策略的选择 如果信息无损 当然无所谓。说的就是,在采用优先级柔性方式对付词序的时候,至少在词典化的句型信息方面,条件是受损的,词序这个显性形式没有得到充分利用。弥补它的手段包括中间件的查询。但是中间件的查询,其本性是隐性形式的使用,而词序是显性形式。

白:
没看出来受损。

李:
受损在:本来是由谓词本身来决定萝卜的词序,作为条件之一来填坑,现在却交给了谓词以外的东西。交给了算法中的优先级 and/or 中间件的查询。这个损失蛮显然的,对于所有把谓词本身与其句型的词序规定分开的算法。

白:
搞混了吧,这是谓词自带的,不是交给了算法。

李:
谓词自带词序??

白:
第一个坑、第二个坑谓词自己是有指针的,自带优先序。

李:
NP1 eat NP2:NP1 NP2的词序是词典决定还是......?至少 S/2N 貌似没反映词序。这个2N 里面没看出词序信息。

白:
说的就是第一个坑优先左侧结合,第二个以后的坑优先右侧结合。句法不管而已,subcat管。但是句法和subcat是时时刻刻互通的啊。不相谐时看后续选择。

李:
第一个坑优先左侧结合,这个东西,是对于所有 2-arg 的谓词有效,还是可以对于不同谓词有不同?如果是前者,就不能说是词典信息决定词序。

for another example:

1. translation of NP1 by NP2
2. translation by NP2 of NP1

这类词序原则上都是谓词 translation 在词典就决定好的,到了具体句子坐实其中之一而已。

白:
比如“饭我吃了”,1、吃是S/2N。2、“我”最先从左侧遇到“吃”。3、“我”与其中一个坑相谐。4、锁定human,留下food。

“我饭吃了”:1、同上。2、“饭”最先从左侧遇到“吃”。3、查相谐性,发现是第二个坑subcat相谐。4、锁定food,留下human。

至于查相谐是否必须从左到右遍历,这纯粹是一个算法问题。数据库还允许做索引呢,我为什么一定要遍历?“饭”都有了,跟“吃”的第二个坑匹配为什么必须先查第一个坑。

李:
句型规定词序的做法有下列特点:
1 在词序占压倒优势的句型里面,根本不用查语义和谐。就是词序绑架。
2. 在词序不能决定语义的时候,可以明确提出是哪两对发生冲突:然后让语义在这两对中去比较力量来求解(消歧)。白老师的上述做法貌似在情形1的时候,不必要地查询了中间件,多做了功来锁定。

白:
总而言之,在部分分析树上匹配目标句型,是我N年前使用的方法,现在已经放弃了。放弃的道理是在分析环节追求更好的鲁棒性。在生成环节,有另外的做法。

李:
在情形2的时候,不知道是不是也是查询中间件的力量对比(牵涉两个可能的二元关系),还是只查询一个关系?

白:
没有。一步到位。 说的就是没有使用遍历的方法。只有一个匹配结果就是第二个坑,第一个不用出现都。

李:
遍历也不是“遍”历,n个元素并没有理论上的所有词序排列,而是句型决定了哪些词序排列是可能的,哪些排列根本就不可能。而这些决定都是那个词的知识。

白:
白名单制。
有点对不上频道,我说的遍历是查询时对坑的遍历,不是对可能语序的遍历。我的结论就是,不需要遍历。

李:
这二者在句型实现或坐实中是相交的。譬如两个坑加一个谓词,句型的所有排列是:

1. 谓词【1】【2】
2. 谓词【2】【1】
3. 【1】谓词【2】
4. 【1】【2】谓词
5. 【2】谓词【1】
6. 【2】【1】谓词

当然对于一个特定的谓词,其句型就是这里面的一个子集。

白:
3!

李:
对。如果牵涉小词,上述句型还要扩展。

白:
我现在是一个句型都不写。

李:
然后加上省略,也要扩展:

7. 谓词【1】
8. 谓词【2】
9. 【1】谓词
10. 【2】谓词

白:
嗯,你这充分说明了我不写句型的优越性。

李:
看上去很多,但第一很清晰,第二具体到谓词,只是一个子集,有些排列被句型一开始就抹去,第三,每一个这种句型排列都可以确定性地决定,是歧义还是不歧义,从而决定是不是要求助或留给后面的语义模块。所谓文法,主体也就是这些句型。没了句型,文法也就差不多消失了。

白:
专制的文法消失了,民主的文法还在。中心化的文法消失了,去中心化的文法还在。拉郎配的文法消失了,自由恋爱的文法还在。

李:
很多年前我们的英文文法大体稳定在 600 条规则左右,其中大约有 400 条就是这些句型排列。400 条还在可以掌控的尺度之内。为什么 400 条就可以包揽呢?这是因为上帝造语言有个仁慈的设计:args 不过三。以前说过这个。args要是过了三,排列就至少是5!,必然引起句型爆炸。自然语言的谓词绝大多是是 2 args or 1 arg,只有少量的 3 args or 0 arg。决定了机器人通天塔并非不可能建造。如果当年设计语言的上帝忘了人脑的有限,弄出不少 4-args or 5-args,就傻眼了。一个事件往往关涉很多成分。但人在描述这个事件的时候,总是碎片化描述,每个句子遵循 args不过三去描述,然后利用冗余和合一,最后在篇章中才拼凑出完整的语义图谱出来。这就是自然语言简约有效、与人类脑容量相匹配的奥秘之一。

白:
这就是老话说的,一碗豆腐豆腐一碗,本来不需要区分的,语序一成刚需,得,不区分也得区分了。

一碗豆腐和豆腐一碗,语义上没差别,差别在语用上。数量词后置,是“报账”场景专用,可以让人联想到饭馆里跑堂的。如果将来都用移动终端触摸点菜,“二者的语用差别”就会成为历史。跟自称“奴婢、在下”一样,只能在文艺作品里看到听到了。用于分析的句法,不适合画“毛毛虫”的边界,画出毛毛虫的“包络”就很好了。

 

【相关】

【立委科普:及物、不及物与动词subcat 及句型】

【李白董之51:说不完的subcat和逻辑语义】

【Parsing 的命根子是subcat,逻辑的和语言的】

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

《朝华午拾》总目录

【李白67:带结构变量的词驱动模式注定是有限的】

白:
(1)小林差点哭了。(2)小林差点没哭。(3)谁说小林哭了?(4)谁说小林没哭?(5)没有人说小林哭。(6)没有人说小林没哭。

小林哭了?没哭?小学一年级暑假作业

李:
从词驱动模式而言 这些都是小菜 谈不上挑战。其实小学生语文出此题 背后也是因为这些模式很简单 小学生下意识记住了模式:

差点 没 v == 差点 v 了
谁 说 S v 了 == 谁 说 S 没 v
谁 说 == 没有人说
没有人说 s v == s (应该)没 v

差点 v 了 == 》 【Did not v but almost did】没有人说 s v(negative)== 大家都说 s v 了

没有人说 s v(negative)== 大家都说 s v 了
==》s (应该是)v 了 【舆论推测】

That's all. These types of oral Chinese patterns look tricky but they are short and finite. Very easy to memorize and highly tractable.   However, they are a challenge to key word systems.   Not very sure if they are a challenge to an end to end deep learning system ......

类似的现象还有:究竟好还是不好?

谁说iPod好。               【不好】
谁说iPod不好?           【好】
谁不说iPod好。           【好】
谁不说iPod不好?       【不好】
没有谁说iPod好。       【不好】
没有谁说iPod不好。   【好】
没有谁不说iPod好。   【好】
梁:

@wei 我也挺喜欢这种短语pattern, 中间夹着 Vp 或 a 之类。

李:
词驱动patterns是在“成语”的延长线上,加一些小结构的变量而已。这类现象适合词驱动的专家词典。小菜。而经典的关键词系统 一看就傻了,stop words 一去除,就是一包烂词 一锅糊粥,a bag of shitty words for BOW systems,但估计拦不倒神经系统?

Identifying and parsing these patterns are a piece of cake. The corresponding semantic representation is a little tricky, but as we all know, the semantic representation is output and is only a system internal toy for NLPers.  As long as we identify the pattern, however, we choose to represent it depends on the design of semantic compositionality and on the system internal coordination of such representation design and its semantic grounding to NLP applications.  The input matching pattern is key.  The output representation is whatever is good for the purpose.

有谁可以确定性地回答这个问题?对于这类简单的 patterns(虽然涉及到一点语言结构 但没有long distance挑战),现如今的深度神经是不是通过隐藏层、word embedding 等,可以轻易捕捉呢?能够捕捉,对于一个强大的神经 是预期中的。倘若很难捕捉 那就很尴尬了。

白:
用没有variable的词典定义绑架,剩下用什么方法都没有太多悬念。真正成问题的,一是“已定义”相对于“未定义”的高原效应问题,一是从“无变元”到“有变元”带来的泛化问题。

李:
什么叫 “没有 variable 的词典定义绑架”?那不就是成语或合成词或ngram黑箱子吗?
高原效应是什么效应?

白:
plateau:已定义效果特好,未定义效果骤降。词典定义,不必然连续。可以不连续

李:
无变元 到 有变元 是儿童学习语言的过程,道理上也是机器通过线性数据训练平面结构的过程,不管这种结构是symbolically显性表达还是某种方式隐藏地表达。

可以不连续的词典定义 白老师举例说明一下?已定义 我的理解是大脑或系统已经形成模式了,未定义 是尚未形成模式 还没学会。如果是带变量的词驱动模式 注定是有限的。小小的人类大脑都可以学会,就断断不构成数据科学家及其电脑的挑战。做一条 少一条,“而山不加增 何苦而不平”?何况数据驱动的学习或制作,总是从常见模式开始,罕见的长尾最后对付。

总而言之 言而总之,不是挑战,更像是玩儿。谈笑间灰飞烟灭的语言学游戏罢。所有这一切的信心来源于两点:一是人脑容量小得可笑,二是结构让无限变成有限。从结构看语言 NLP想不乐观都找不到理由。

很多所谓的 #自然语言太难了#,都经不起琢磨。多数所谓 NLP 难点,仔细一瞧,或者是 piece of cake, 或者是 人类自己根本就没有标准或答案的。后者是强“机”所难。

白:
静态和动态看到不同问题。捆绑定义,最没技术含量,最有所谓惊艳表现。根本就是给外行说的。问题都在捆绑定义之外。

李:
就这类问题来说,本身就很简单,老妪能解,要什么含量呢?要的就是work :if the work works then it is all fine.  我们以前常举的例子是:

The iPhone has never been good.
The iPhone has never been this good.

白:
动态看,从未定义到已定义的过程,从无变元到有变元的过程如何自动化,如何偷懒,才是真正有意义的。这里谁都能work的事儿,不说也罢。

李:
对于有限的对象 这个自动化过程没有多少实践意义。

白:
实践意义要实践的人最终判定。给实践添砖加瓦的人还是虚心点好。

李:
如果证明了所列举的现象是无限的,才有自动化的说法。至少我们现在谈论的现象 它不是无限的,而是相当有限的模式。不过是说个大白话而已,这里没有虚心的理由。当然肯定还有其他现象 性质不同,到时候碰壁了再虚心不迟。

抽象地说,一切学习,归根结底是泛化的自动化问题,因此研究这个问题才是高大上 才有真正的突破。但具体到现象 就不总是这种高级泛化的问题。也有低级泛化,譬如带变量的模式。技术含量属于不高不低,这个变量牵涉到词典与句法的接口,不是随便一个NLP新手就可以搞定的。因此有技术门槛,但的确也不是火箭技术,所以也可以说没太多的技术含量。

白:
就像某翻译系统,play piano 能翻译成弹钢琴,play mandolin 就不会翻成弹曼陀林。这里弹拨、键盘、吹管、拉弦乐器的标记体系是自动化的关键,一个一个组合去捆绑是傻瓜做法。乐器虽不是无限的,但多到一定程度就值得自动化。柳琴、琵琶、月琴、中阮、大阮、古筝、古琴,冬不拉、热瓦普、琉特、齐特、吉他、竖琴 ......

李:
subcat总是要做的。从 piano 泛化到包括长尾的曼陀林,的确是一个有意义的课题。word embedding 也好, HowNet 加 大数据 也好,都是要捕捉或搞定 nodes 的边界条件。自然语言说穿了不外是图谱中的 arcs 和 node。两路泛化 现在看来,arcs 的泛化更容易搞定,nodes 泥淖一点。当然二者还有一些互补和 overlapping,戏不够 词来凑。

白:
隐形标记体系,针对封闭的词典。不寄希望于个体词汇的低概率统计分布兑现。这就是我说的subcat embedding,

李:
subcat 为基础的泛化,当然是更高级的泛化。它与 word 为基础的泛化 构成一个 hierarchy,就好比词驱动结构与抽象文法结构构成 hierarchy 类似。前者是做工 nodes,后者是做工 arcs。这样来看自然语言可能就比较清晰了。当然 深究下去 这两个泛化还有很多交错和结合的变种。但万变不离其宗 词汇与结构总是语言的基石。subcat 泛化 比较tricky。也许 HowNet 结合大数据也是一途:拿 hownet 做 subcat 的种子。

 

【相关】

科研笔记:究竟好还是不好

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

中文处理

Parsing

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

《朝华午拾》总目录

【李白邢65:“着”字VP的处置】

【立委按】 世界上很多事物都有不同的角度,对于一个现象的处理也有不同的考量。到了NLP,这就成了不同策略的优劣之争。对于老革命,战略和战术辩论的好处是各自说明白背后的理由,多数时候并不指望谁说服谁,更非争个高下。对于看客,行内人自可各自体会,根据自己的理解择优而行。对于行外人,看热闹之余可能得到的一个启示就是,世界往往就是,公说公有理,婆说婆有理。

白:
开着窗户睡觉,开着窗户是状语吗?
“砍了一刀没死”,砍了一刀是状语吗?

邢:
我理解您的分析方法中,是不是没有主语、谓语的概念,而是以动词为核心为其填坑,填坑的萝卜与其在句子中的位置关系不是很大,而与其在语义上的搭配关系更大。

白:
@邢 是的

邢:
还有“掌声欢迎”中的“掌声”是状语修饰欢迎,那“鼓掌欢迎”是否也可以理解为“鼓掌”修饰“欢迎”呢?

白:
“掌声欢迎”是“(用)掌声欢迎”,有一个隐含介词。所以可以把掌声这个N降格为S+,做状语。“鼓掌欢迎”句法上是两个S的合并,至于语义上是什么,留给语义去处理。合并不是修饰,句法上“鼓掌”不是状语。

邢:
如何实现“降格”这个操作呢?是否也需要大语料的统计做支持

白:
不需要

邢:
那如何区分“同学欢迎”和“掌声欢迎”呢?

白:
欢迎的标配坑有human,没有sound。检查subcat相谐性可以区分。

邢:
subcat确实非常重要,谢谢您!

白:
鼓掌欢迎,列队欢迎都是合并。夹道欢迎,其中的“夹道”已经成了专用副词了,不在其列。

邢:
我理解合并是有前提的,首先合并词都是动词,同时合并词共享某个坑

白:

述补、并列、连动、兼语、某些缩合复句,都是合并关系。

邢:
很受教,谢谢您!

白:
名词和名词也可以合并

邢:
是的,至少并列结构的词语都可以合并,无论属于何种词类。

李:
为什么不说省略了“用”呢:
(用)鼓掌欢迎
(用)列队欢迎
动词也好 名词也好 都是用某种方式,核心还是 欢迎。
“鼓掌欢迎” 与 “掌声欢迎” ,看不出实质区别来。 都有大数据相谐的证据。其实已经接近合成词了。

白:
在句法层面定核心,和在语义层面定核心,是两件事情。
开着窗户睡觉,也是有核心的,但是在句法层面就定,太早了

李:
不早,至少对于这句,句法痕迹还是很明显的。

白:
早不早,这是体系问题。

李:
带“着”的动词做伴随情况的状语,修饰紧跟其后的核心动词。这是一个合适的句法和语义一致的路线。

白:
没必要

李:
英语的 ing 作为伴随情况状语也是如此:He came here running,有某种语言共通性

白:
知道他俩有关系,句法上就够了。

李:
“[笑着]走进来”
“[哭著]说”
“[带着哭腔]恳求他”

这个形式痕迹不用白不用,看不出来推后的理由。需要或必须推后给语义的,是句法上缺乏形式痕迹。句法有形式的,自然是早做强过晚做。

白:
不一样,谁带,谁恳求,这里面首先有坑的共享问题。修饰语出现坑的共享,这是给修饰语找麻烦。

李:
修饰语是第一位的,坑是第二位的。修饰语里面的坑不坑 其实无关大局。从理解和语用看,语义重点不再是补全修饰语里面的萝卜(真要补也可以补,但语用和落地需要它的情形不多)。

白:
放下筷子骂娘
拿起筷子吃肉
开着窗户睡觉
穿了衣服出门

这些都是平行的。光处理“着”,只是图一时痛快。

李:
核心突出了,哪怕只是部分现象,总是好的。

白:
不同性质

李:
其他的句子其实核心开始模糊了,但带“着”的句子,核心基本是明确无误的。

白:
共享坑在机制上要更根本,有没有核心,在其次。共同的机制先放在一起处理,到里面再分道扬镳。不存在不处理或者处理错的问题。

李:
直感上,合并这把伞太大了,罩着太多的不同结构。

白:
这才好,说明共享坑足够根本。

李:
在后一个语义模块的解析策略不太明确的时候,很难判断这样处理的 pros and cons。区分或理解这些不同结构对于多数落地,是绕不过去的。而填坑对于落地有时候反而可以绕过去。

白:
语义上具有向心性,和句法上的修饰关系,是两个概念

李:
譬如说 MT,“着”字动词做状语 可以平移到英语,不填坑也可以平移。

白:
MT能绕的不止这些
那都不是事儿

李:
这种语义落地场景就表明 坑里没有萝卜也可以的。可是核心的识别 却是不可或缺的。

白:
不是没有,是两种语言的共享坑机制一致,这不是问题的重点。

李:
一般原则还是,句法管形式,形式不充分的留给语义。为什么介词短语做状语呢?因为有介词这个形式。同理,为什么“着字VP”可以做状语呢?因为有“着”这个形式。
这并不是说,没有介词没有“着”的就不可以做状语。而是说有了这些形式,可以放松对语义相谐的要求,不需要“意合”,也不需要大数据 ,就是根据形态(包括小词)基本就可以确定。

白:
后者可以不叫状语,叫连谓结构

李:
“好”的句法,应该把这些形式用到极限。这就好比有格变的语言,要尽量通过词尾格变确定句法关系。只有在格变有歧义的时候,句法确定歧义的边界,然后才把负担留给语义模块去选择。放着形式不用,先用大数据、常识或其他的模糊条件,是舍近求远。

白:
坑也是形式

李:
对,subcat 属于隐性形式。

白:
了和着在形式上也有诸多平行性。一个地方不平行,完全可以揣在兜里,到属于它的角落,掏出来该干啥干啥。那些有平行性的,大家共用高速公路。另外,进入这个车道的“着”,状语的标签已经是鸡肋,在这个形式下可以直接定位到“背景-前景”语义关系

带上水路上喝,带着水路上喝,带了水路上喝。

真的只有第二个才有形式么?每一个都带有形式,都带有时间标签。一旦确定相应的标签,回头再看“状语”这个大而无当的筐,算个啥?

带上干粮饿了吃,带着干粮饿了吃,带了干粮饿了吃。

“墙上挂着画显得很有雅兴。” “墙上挂着画还是仿制品。” “墙上挂着画居然上下颠倒了。”

这三个例子里,“墙上挂着画”都不能说是状语。“这种场合戴着帽子不够严肃。”当中的“戴着帽子”也不是状语。

李:
这些特地选出来的例句 的确具有强烈的平行性。但这只是语言事实的一部分。当我们说 “着VP”可以做状语 指的是另一批现象。“笑着说” 与 “笑了说” 并不平行,前者是【伴随状语】(adverbial of attendant circumstance),后者是【接续】,在“笑了”与“说”之间其实有个停顿或标点。再看,“带着干粮饿了吃” 与 “带了干粮饿了吃” 的确平行。但 “带着干粮去上访” 与 “带了干粮去上访” 就不必然平行。总之,的确有相当部分的“着VP”是做伴随状语(也可以说是做核心动词的背景 都是一个意思)。而这部分现象是可以在句法阶段搞定的。 处理的重要形式依据是 “着”,但也可能需要再附加一些制约做微调。事实上,我们系统有几条带“着”做状语的规则在句法有时日了,经过长时期的考验,发现很管用, 出状况的时候很少。几乎与 PP 做状语的规则一样好用。

汉语的痛点之一就是 动词成串 难分主次 搞不清核心。这与欧洲语言对比强烈 :欧洲语言有 finite (谓语动词)和非谓动词(不定式、分词之类)的形式区分。谓语中心很容易确定 句子骨架一目了然。既然是汉语的痛点,分而治之就是解决繁难痛点的一个不错的策略:各个击破。 自然语言另一个比较普遍的痛点是并列结构,我们起初总想毕其功于一役,但总搞不定。后来探索出来的有效策略也还是分而治之各个击破。

白:
伴随关系(前景-背景关系)是时间关系的一种。接续关系是另一种。目的关系,可以看成未然的或可触发的接续关系。平行上路,平行落地。人家自己完全井然有序,用不着这个状语标签分了一块去再横插一杠子。充其量只能说,在这一批从时间内在结构角度而言从句法到语义都充满了平行性的关系当中,伴随关系“碰巧”具有了向心性。但是在这么本质的语义关系都揭示出来的情况下,坑哧吭哧跑过来宣布谁谁是状语,不觉得蛇足么。就好像从集体婚礼中拽出一对儿,然后宣布,这俩是山东人,差不多。

笑着说,笑的区间包含说的区间;笑了说,笑的始点位于说的区间左边(笑的终点不确定)。怎么不平行?

语义计算里面,时间结构是重要的一块。有些动作的时间结构不是区间而是点状的,对其不能用“着”,比如“死”“开除”,这也是一种形式上的旁证。点状的时间结构不能包含区间状的时间结构,正如0不能做分母。

 

【相关】

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

中文处理

Parsing

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

《朝华午拾》总目录