【李白之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博文一览】

《朝华午拾》总目录

【李白66:“青春期父母指南”的语义计算】

李:
朋友圈看到一本书书名是:【青春期父母指南】(副标题:如何和谜一般的青春期孩子相处呢?)定语青春期不是指向父母的,而是指向父母的儿女。

有意思的是,定语“青春期”不是指向“父母”的,而是指向父母的孩子。书名的结构是 NP:N1+N2+N3:N1 is neither semantic Mod of N2 nor of N3, but of something only implied yet not mentioned in text.  Grammatically we might still label N1 as Mod of N2, not of N3, N2 is grammatical Mod of N3, and semantic Obj of N3.

当然也不能完全排除这个指南是给处于青春期的父母(teenager moms or dads)

白:
青春期有坑,父母有坑,指南有坑。没有“的”的填坑关系和修饰关系互斥。父母填青春期的坑,是一解。青春期自己升格(处于青春期的某某human子类型),再填父母的坑,是另一解。

李:
后一条路不好掌控。凭什么升格,什么时候不升格?

白:
后面没有相谐的被修饰语,又有人需要这个被修饰语。升格也是有准入条件和优先顺序的。“是什么”是语言学,“选什么”是NLP。讨论语言学和讨论NLP,不是一股劲儿。当父母填青春期的坑的时候,父母自身的坑也只能借助升格来处理。不在这里升格,就在那里升格。要么父母处于青春期,谁的父母没交代;要么父母的孩子处于青春期,孩子是谁没交代。那个没交代的对象就是升格升出来的。

李:
没交代是常态。记得当年学句法课,教授花了很长时间讲解 complement 与 adjunct 的区别,说前者是需要交代结构(及其语义)才算完整,后者是可有可无(可多可少)的附加语。但其实在语言中,需要交代的常常不交代 不出现;可有可无的 往往具有语义的重要性。这道线很难划。语言不是按照逻辑设计的。

白:
语言也不是按照树设计的。多爹、非树是常态。

李:
几乎所有的及物动词都能省略宾语。省了以后,那个没出现的宾语,或者需要根据常识去理解,或者是根据上下文去理解,或者你知我知地通过心灵感应去理解,或者误解。也或者根本就不去(充分)理解:糊涂说 糊涂听 也一样交流。人类交流中 unspecified 的信息太普遍了 大家熟视无睹了。貌似交流也没受到阻碍。

白:
允许名词有坑,这都不是事儿。像上面例子,好像就逼着听话人选择哪个是没交代的。而不能是两个都没交代。

李:
青春期的坑是【human】,父母是【human】,这就算对上了。交代了。至于【父母】的坑,标题上下文里没见着,只好拉倒,stay unspecified。没有升格的理由。

白:
你这是从左到右思想作怪。那我问:“多动症父母指南”呢?

李:
从右到左试试?

“父母”的坑是【human】,左边的“青春期”不是【human】,但是青春期的坑里有一个尚未出现的【human】。如果要让正解出现,不仅需要从右向左,而且还要从别人的坑里面挖出一个根本没见影子的萝卜来。就算挖出来了,填进去的是谁还是一笔糊涂账,最多只能以常识默认推测之。

白:
把“青春期”处理成N+,不存在挖别人坑里萝卜的问题,但前面一些不严谨的表述需要修改。

对前面一些表述的修改:1、“青春期”是修饰语,无坑。2、“父母”取N输出,不在乎/N坑是否饱和,不是“升格”,而是正常的萝卜输出。图上两个方案,(2)的饱和度更高

 

【相关】

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

中文处理

Parsing

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

《朝华午拾》总目录

【研发随感:情感分析的沟沟坎坎(catches)】

A sentiment analysis catch:冤枉:1 [human]-A 冤枉 [human]-B 2. [human] 冤枉

冤枉:1 [human]-A 冤枉 [human]-B 2. [human] 冤枉

in (1), human-A is adversary and human-B is victim; in (2), human is a victim
in sentiment analysis, if the adversary is the topic, it is always a negative mention.  The catch is about the victim: if the topic is an event, or unknown, then sentences mentioning victims or actions or states involving victims are negative in tone; but if the topic is the victim, it is difficult to classify.  By human nature, when unfortunate events happen to victims, the natural sentiment is sympathy.
Sympathy is not negative at least; and it cannot be classified as positive either. It does not seem to be neutral. So it is tricky in the two-way or three-way sentiment classification.And in

And in text, we have tons and tons of expressions involving victims or victim-events, making sentiment classification difficult to conform to a traditional standard. For another example, John was ill.

For another example, "John was ill".  Most people would classify John as being mentioned negatively here, which sounds right, after all, unhealthiness is not a desirable state.  But on second thought, we would find it inappropriate to have such a sentiment analysis: John did not want to be ill; it was very unfortunate that he fell ill, and it was not his fault to be ill so how can we conclude him simply to be a negative mention?

情感分析在不幸事件和受害人角色方面,该怎样确定一个合适的标准呢?大拇指或中指显得不够了。请各位语义计算的老师指教。1. 指责的对象(中指);2 赞扬的对象(大拇指);3 (理应)同情的对象算什么呢?当然我们可以考虑增加一个标签。这个标签是 Victim 【受害者】】还是 Sympathy【同情】?前者是描述事实;后者带有情感。但是不是对于每个提及受害者的文句,里面都必然有同情意味呢?如果不是,Sympathy 的标签就有点强加的味道,不符合语言理解和情感分析的本义。

对于好人好事和坏人坏事的情感分析 并不对称。做好事的人是 benefactor 【做好事者】自然是正面的,这件好事惠及的人是 beneficiary 【受益者】,也无疑是正面的
相对应的做坏事的人 自然是负面的。但坏事伤及的对象 如上所述 却不能总是不分青红皂白划归负面。虽然很多情感系统的确这么做 但会出现与事理不合 让人难以接受的场景或啼笑皆非的舆情分析结论。

倒霉的确带有负面语气 但倒霉的人通常是无辜的弱者 应该引起同情 而同情心是人类正面的情感。就这么点事儿 要说也没那么复杂 但在情感系统落地为应用的时候 常常闹出笑话。

索性再分享一些情感分析的坑。这些个沟沟坎坎,搞 thumbs-up-down 分类的人通常无感,也无能区分,却是细线条真实情感分析和应用绕不过去的。表达需求的说法,如何做情感分析呢?“小姑娘需要一台 iPhone7”,正面还是负面?对于品牌 iPhone7,这是一个很正面的事儿。品牌被人需求,这说明它受欢迎。但是对于“小姑娘”,这是负面的情形:她有这个需求表明她的愿望还没有得到满足。如果我们把主语从【human】改成品牌,需求的 statement 常常是:

“iPhone7 需要加长续航时间。”

这是很负面的表述:iPhone7 有很大缺点,续航时间不足。这是两种最常见的需求表述。对于细线条情感分析意义重大,涉及非常有用的市场和客户情报的挖掘。

顺着这个思路往前走一步,可以从直接表达情感的语句,进入表面上的陈述句,但背后却隐藏了正面负面的情报。譬如 购买,驾驶,使用等表述。得,打住,今儿个就分享到这儿。

 

【相关】

舆情挖掘

中文处理

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博文一览】

《朝华午拾》总目录