科学网

 找回密码
  注册

tag 标签: 句法

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

【语义计算沙龙:语序自由度之辩】
热度 1 liwei999 2016-8-18 00:10
刘: WMT2016上有一篇文章,讨论了语言的语序自由度,结论很有趣,见附图。根据这篇论文统计,汉语和英语之间语序关系是最稳定的(注意:语序关系稳定与语序一致不是一回事),比其他语言稳定度都高出许多。日语虽然是粘着语,但跟英语的语序关系也是相当稳定的。相反,德语虽然跟英语亲缘关系很近,但其相对语序的自由(不稳定)程度相当高。 论文链接 http://www.statmt.org/wmt16/pdf/W16-2213.pdf 我: 这个研究是说,如果这些语言要与英语做自动翻译,语序需要调整多少? 英语相对语序很固定,加上是最流行的语言,拿它做底来比较,对于各语言的相对语序自由度应该是不离谱的。但是,从(平行)大数据来的这些计算,与这些语言的语言学意义上的语序自由度,有差别: 譬如 Esperanto 的语序自由度应该很大,怎么排列,意思都不变,但是由于很多人可能思想是用英语的,写出来的时候下意识在头脑里面翻译成了世界语,结果跟机器翻译一样,人的懒惰使得表达出来的语序照着英语的样子相对固定起来,并没有充分利用语言本身本来有的那么大自由度。 汉语的语序自由度,语感上,比图示出来的,要大。但是,做这项研究的双英对照数据也许大多是正规文体(譬如新闻),而不是自由度更大的口语,因此出现这样的结论也不奇怪。虽然汉语是所谓孤立语,英语接近汉语,但没有那么“孤立”,汉语的语序自由度比英语要大。做英汉MT的 generation 的时候,需要调整词序的时候并不很多,多数情况,保留原词序,基本就凑合了,这是利用了汉语语序有弹性,相对自由度大的特点。汉英MT没亲手做过(除了博士项目在Prolog平台上做过的一个英汉双向MT的玩具),感觉上应该比英汉MT,需要做调序的时候更多。调序多容易乱套,特别是结构分析不到位的时候更容易出乱子,是 MT 的痛点之一。尽量少调序,警惕调序过度弄巧成拙,是实践中常常采取的策略。包括英语的定语从句,多数时候不调序比调序好,用的技巧就是把定语从句当成一个插入语似的,前面加个逗号或括号,适当把 which 翻译成“它”等等。 刘: 你说的有道理,这个研究是以英语为基准的,虽然严格说不是很合理,但还是靠谱的,英文英语语序是比较固定的。我们说汉语语序自由,我觉得是错觉。汉语语序是很不自由的。实际上,对一个语言来说,形态的复杂程度和语序的自由程度是成正比的。形态越复杂的语言,语序越自由。汉语没有形态,只能用语序来表示句法关系。因此是严格语序语言。不可能说一种语言既没有形态,又语序自由,那么这种语言基本上没法表达意义了。 白: 这个,需要分开说。一是subcat算不算形态,因为不是显性的标记,很可能不算。二是subcat是否提供了冗余信息使得一定范围内的语序变化不影响语义的表达,这是肯定的。 Jiang: 嗯!subcat这里指的是什么? 白: 比如“司机、厨师、出纳……”都携带human这个subcat,但是human并不是一个显示的形式标记。 我: 虽然大而言之形态丰富的语言语序自由度就大、形态贫乏的语言语序相对固定是对的,但汉语并不是持孤立语语序固定论者说的那样语序死板,其语序的自由度超出我们一般人的想象:拿最典型的 SVO patterns 的变式来看,SVO 三个元素,排列的极限是6种词序的组合。Esperanto 形态并不丰富,只有一个宾格 -n 的形态(比较 俄语有6个格变):主格是零形式(零词尾也是形式),它可以采用六种变式的任意一个,而不改变 SVO 的句法语义: SVO Mi manĝas fiŝon (I eat fish) SOV: Mi fiŝon manĝas VOS: Manĝas fiŝon mi VSO: Manĝas mi fiŝon OVS: Fiŝon manĝas mi. OSV: Fiŝon mi manĝas. 比较一下形态贫乏的英语(名词没有格变,但是代词有)和缺乏形态的汉语(名词代词都没有格变)的SVO自由度,很有意思: 1. SVO 是默认的语序,没有问题: I eat fish 我吃鱼 2. SOV: * I fish eat (英语不允许这个语序) 我鱼吃 【了】(汉语基本上是允许的,尤其是后面有时态小词的时候,听起来很自然) 虽然英语有代词的格变(小词直接量:I vs me), 而汉语没有格变,英语在这个变式上的语序反而不如汉语。可见形态的丰富性指标不是语序自由度的必然对应。 3. VOS: * Eat fish I (英语不允许这个语序) ?吃鱼我(汉语似乎处于灰色地带,不像英语那样绝对不行,设想飞机空姐问餐:“吃鱼还是吃肉?”你可以回答:“吃鱼,我”) 4. VSO: * Eat I fish (不允许) * 吃我鱼 (作为 VSO 是不允许的,但可以存在,表示另外一种句法语义:吃我的鱼) 做VSO不合法,但有些灰色的意思,至少不像英语那样绝对不允许。 5. OVS: * Fish eat I (不允许,尽管 I 有主格标记) * 鱼吃我 (句子是合法的,但句法语义正好相反了 , 是 SVO 不是 OVS。句子本身合法,但做OVS非法。) 6 OSV: fish I eat (合法,除了表达 OSV 的逻辑语义 这个语序,还表达定语从句的关系) 鱼我吃(合法,常听到,鱼是所谓 Topic 我是 S,逻辑语义不变) 总结一下,汉语在 6 个语序中,有 3 个是合法的,1 个灰色地带,2 个非法。英语呢,只有两个合法,其余皆非法。可见汉语的语序自由度在最常见的SVO句式中,比英语要大。 白: 不考虑加不加零碎的语序研究都是那啥。“鱼吃我”不行,“鱼吃得我直恶心”就行 我: 不管那啥,这个 illustration 说明,语序自由度不是与形态丰富性线性相关。也说明了,汉语往往比我们想象的,比很多人(包括语言学家)想象的具有更大的自由度和弹性。白老师的例子也是后者的一个例示。其实,如果加上其他因素和tokens,这种弹性和自由,简直有点让人瞠目结舌。 汉语不仅是裸奔的语言 ,也是有相当程度随心所欲语序的语言。超出想象的语序弹性其实是裸奔的表现之一,思维里什么概念先出现,就直接蹦出来。而且汉语不仅没有(严格意义的)形态,小词这种形式也常常省略,是一种不研究它会觉得不可思议的语言。 它依赖隐性形式比依赖显性形式更多 ,来达到交流。这对 NLP 和 parsing 自然很不利,但是对人并不构成大负担。 刘: 首先,语序变化以后意义发生变化,不说明语序自由,相反,正说明语序不自由。语序传达了意义。其次,语序变化以后要加词才能成立(鱼我吃了)也正好说明语序不自由。再者,这种简单的句子不说明汉语普遍语序自由。在绝大部分清晰下,汉语都是svo结构,个别情况下需要特别强调o的时候,可以把o放到最前面。语序自由的前提,是通过词尾变化明确了词在句子中的功能,这样的话,主谓宾不管怎么交换顺序,都不会搞混,所以语序自由。没有形态变化,不可能真正语序自由。 “小王打小张”,语序就不能随便调整。 “我爱思考”,“我思考爱”,意思完全不一样 我: 这要看你怎么定义语序自由了。你给的定义是针对格变语言做的,有宾格的语言,等于是把句法关系浓缩了标给了充当角色的词,它跑到哪里都是宾语是题中应有之意。但语序自由的更标准和开放的定义不是这样的,如果 SVO 是基本的语序,凡是与它相左的语序的可能性,就是语序自由,研究的是其自由度。这种可能性的存在就证实了我们在理解语言的时候,或者机器在做 parse 的时候,必须要照顾这种 linear order 的不同,否则就 parse 不了,就抓不住语序自由的表达。不能因为一种相左的语序,由于词选的不同,某个可能语序不能实现,来否定那种语序自由的可能性和现实性。 退一步说,你的语序自由是 narrow definition, 我们也可以从广义来看语序自由,因为这种广义是客观的存在,这种存在你不对付它就不能理解它。就说 “小王打小张”,SVO 似乎不能变化。但是 “小张小王打不过” 就是 OSV,不能因为这个变式有一个补语的触发因素,来否定语序的确改变了。pattern 必须变换才能应对这种词序的改变。 最后,汉语与英语的对比,更说明了汉语的语序自由度大于英语,否则不能解释为什么汉语缺乏形态,反而比形态虽然贫乏但是比汉语多一些形态的英语,表现出更多的语序自由。“鱼我吃了” 和 “我鱼吃了” 是一个 minimal pair,它所标示的语序自由的可能性,是如此显然。人在语序自由的时候仍然可以做句法语义的理解,说明了形态虽然是促进自由的一个重要因素,但不会是唯一的因素。 隐性形式 乃至常识也可以帮助语序变得自由。 “打小张小王不给力。”(这是VOS。。。) “打老张小王还行。” 刘: 这两个句子里面“打”都是小句谓语,不是主句谓语。主句谓语是“给力”和“还行”。例子不成立。 我: 影响语序自由的,形态肯定是重要因素,其他的语言形式也有作用。小句也不好 主句也好,SVO 的逻辑语义在那里,谁打谁?我们在说SVO语序自由这个概念的时候,出发点是思维里的逻辑语义,就是谁打谁,然后考察这个谁1 和 谁2,在语言的 surface form 里面是怎样表达的,它们之间的次序是怎样的。。 刘: 这就强拧了。这么说the apple he ate is red. 也是osv了?apple he ate的逻辑关系在哪里。这么说英语也可以osv了? 我: 不错,那就是地地道道的 OSV:谁吃什么,现在这个【什么】 跑到 【谁】 和 “ate” 的前面去了,底层的逻辑语义不变,表层次序不同了。 说英语是 svo 语言,这种说法只是一种标签,并不代表英语只允许这个词序。英语的SVO 6 种 语序中, 前面说了,有两种合法常见 。 刘: 如果你对语序自由是这样定义的话,那英语也是语序自由了。 我: 不是的。只能说语序自由度。英语的语序自由度还是不如汉语。汉语的语序自由度不如世界语,也不如俄语。世界语的语序自由度不亚于俄语,虽然俄语的形态比世界语丰富。 刘: 那我们不必争论了,我们对语序自由这个概念的定义不一样。 我: 不错,这是定义的问题。我的定义是广义一些。你的定义窄。 刘: 按照你的定义:Eating the apple he smiled. 英语还可以VOS 白: beat him as much as I can 总而言之S是从相反方向填它的坑 禹: 俄语的我吃鱼这么多种语序也可以?当真现实就是这么用吗? 易: @禹 俄语的语序确实很灵活,尤其在口语体中,但意思不会变,因为名词有六个格,施受关系基本不会乱。 白: 日语里面有个名句:きしやのきしやはきしやにきしやできしやえきしやした 除了动词,其他成分的位置也是各种挪来挪去 刘: @白硕 这个日语句子什么意思啊? 白: 贵社的记者坐火车朝着贵社打道回府了 考验日语输入法的经典例子,流传了将近百年 据说是电报引入日本不久的事情 这么个拼音电文,没人知道啥意思 跟赵元任发明一音节文,有得一拼 格标记本来就是给语序重定向的,所以不在乎原来语序也是情理之中。 如果汉语的“把”“被”“给”“用”“往”一起招呼,也可以不在乎语序的。 被张三 把李四 在胡同里 打了个半死…… 我: 广义说 介词也是格 也是形态,格通常是词尾形式,介词的本质却是一样的。 “被” 是主格,“给” 是与格,“用” 是工具格。 禹: 俄语格的问题,有没有需要三四阶语法模型才能确定的还是基本上就是看之前的动词或名词的类别 我: 格就是parsing依赖的形式条件之一。形态丰富一些的语言 parsing 难度降低 不需要过多依赖上下文条件。 【相关】 泥沙龙笔记:汉语就是一种“裸奔” 的语言 泥沙龙笔记:漫谈语言形式 【 关于 parsing 】 【关于中文NLP】 【置顶:立委NLP博文一览】 《朝华午拾》总目录
个人分类: 立委科普|4621 次阅读|1 个评论
【关于 parsing】
liwei999 2016-6-30 15:46
泥沙龙笔记:骨灰级砖家一席谈,真伪结构歧义的对策(1/2) 泥沙龙笔记:骨灰级砖家一席谈,真伪结构歧义的对策(2/2) 【语义计算沙龙:巨头谷歌昨天称句法分析极难,但他们最强】 【 语义计算沙龙 :parsing 的鲁棒比精准更重要】 《 语义计算沙龙 :基本短语是浅层和深层parsing的重要接口》 【做 parsing 还是要靠语言学家,机器学习不给力】 《泥沙龙笔记:狗血的语言学》 【deep parsing 小品:天涯若比邻的远距离关系】 《有了deep parsing,信息抽取就是个玩儿》 【 语义计算沙龙 :关于汉语介词的兼语句型,兼论POS】 泥沙龙笔记:在知识处理中,很多时候,人不如机 《立委科普:机器可以揭开双关语神秘的面纱》 《泥沙龙笔记:漫谈自动句法分析和树形图表达》 泥沙龙笔记:语言处理没有文法就不好玩了 泥沙龙笔记:parsing 是引擎的核武器,再论NLP与搜索 泥沙龙笔记:从 sparse data 再论parsing乃是NLP应用的核武器 【立委科普:NLP核武器的奥秘】 【立委科普:语法结构树之美】 【立委科普:语法结构树之美(之二)】 【立委科普:自然语言理解当然是文法为主,常识为辅】 【 语义计算沙龙 :从《知网》抽取逻辑动宾的关系】 【立委科普:教机器识英文】 【立委科普:及物、不及物 与 动词 subcat 及句型】 泥沙龙笔记:再聊乔老爷的递归陷阱 【泥沙龙笔记:人脑就是豆腐,别扯什么递归了】 泥沙龙笔记:儿童语言没有文法的问题 《自然语言是递归的么?》 【 从 colorless green ideas sleep furiously 说开去 】 Parsing nonsense with a sense of humor 【科普小品:文法里的父子原则】 Parent-child Principle in Dependency Grammar 乔氏 X 杠杠理论 以及各式树形图表达法 【泥沙龙笔记:依存语言学的怪圈】 【没有语言结构可以解析语义么?浅论 LSA】 【没有语言结构可以解析语义么?(之二)】 自然语言中,约定俗成大于文法教条和逻辑 泥沙龙笔记:三论世界语 泥沙龙笔记:再聊世界语及其文化 泥沙龙笔记:聊一聊世界语及老柴老乔以及老马老恩 《泥沙龙笔记:NLP component technology 的市场问题》 【泥沙龙笔记:没有结构树,万古如长夜】 Deep parsing:每日一析 Deep parsing 每日一析:内情曝光 vs 假货曝光 Deep parsing 每日一析 半垃圾进 半垃圾出 【研发随笔:植树为林自成景(10/n)】 【deep parsing:植树为林自成景(20/n)】 【deep parsing:植树为林自成景(30/n)】 【 语义计算沙龙 :植树为林自成景(40/n)】 【deep parsing 吃文化:植树为林自成景(60/n)】 【deep parsing (70/n):离合词与定语从句的纠缠】 【deep parsing (80/n):植树成林自成景】 【deep parsing (90/n):“雨是好雨,但风不正经”】 【deep parsing (100/n):其实 NLP 也没那么容易气死】 【 关于 NLP 以及杂谈 】 【 关于NLP体系和设计哲学 】 【 关于NLP方法论以及两条路线之争 】 【 关于 parsing 】 【关于中文NLP】 【关于信息抽取】 【关于舆情挖掘】 【关于大数 据挖掘】 【关于NLP应用】 【关于人工智能】 【关于我与NLP】 【关于NLP掌故】 《朝华午拾》总目录 【关于立委NLP的《关于系列》】 【置顶:立委NLP博文一览(定期更新版)】 【 立委NLP频道 】
个人分类: 立委科普|2168 次阅读|0 个评论
【deep parsing (70/n):离合词与定语从句的纠缠】
liwei999 2016-6-7 03:39
一觉醒来,白老师主持的【语义计算群】已经给我的中文深度分析器(deep parser)布置好了一批作业: “他洗脏衣服用了一小时”“他洗干净衣服用了一小时” 他洗白衣服用了一小时。 他画花蛤蟆用了一个小时 她涂红嘴唇用了一个小时 (白:“画画蛤蟆“”涂红嘴唇“对内有歧义,对外无所谓。一般来说,涂红嘴唇不是把红嘴唇涂成别的颜色。 也就是说,从纯句法角度,述补结构和不带的的定中结构争抢形容词时,哪一方都没有绝对的优先级,可以认为是同层的。具体选择哪一个结构,与述语动词的“标配出口”有关。 对于“洗”,“干净”和“白”都是标配出口,而“脏”不是。 中间的形容词到底与动词结合还是与名词结合,固然同动词的性质有关,也与句型有关。 看伟哥的分析器咋处理。) “接待好领导是我的本职工作” “接待坏领导呢?” 晾干毛巾用了一个小时。这根绳子晾干毛巾。这根绳子用来晾干毛巾。 她吃好餐馆了。 她吃好饭 很多年前,我出过一个醉酒男子打人的警。 开过一个阑尾炎的刀 拉了一个角度刁钻的弧圈 雷: @wei 为什么会这样 我: 不对吗? 白: 洗干净,绑架了 我: 形容词的三角恋爱的确不好谈:也许以后还是输出两条路径留待语义落地语用的时候选择较妥,现如今修饰语压了补语一头。 白: 花当动词了,花钱,花时间 我: 恩 这个对了: 我: 下面错了,而且是一串bugs: (1)出警 : 这个VN离合动词罕见一些 (2)醉酒 应该当修饰语 (3)打人 已经 saturated 不能带逻辑宾语 O 了 我看看怎么 debug 一哈,应该不难,(1) 也许难一些? 白: 有逻辑主语空着 我: 其他都是小菜,离合动词与定语从句的纠缠稍微难一些,需要谨慎: (1a)很多年前,我开过一个醉酒男子打人的刀; (1b) 很多年前,我出过一个醉酒男子打人的警。 为啥前一句(1a)不成句,后一句(1b)就成句呢? 白: 出警有“事由”的坑。开刀有“病名”的坑。事由可以是谓词性成分,病名一定是体词性成分。 我: 说得有理,可是,这个纠缠真够复杂的。 宋: 肚子疼的病原因很复杂。 我: 如履薄冰地似乎搞定了 unit test,希望没有副作用。 “出警”有主谓的坑,可“出” 并没有。先得远距离勾搭上,然后坑才合理。当然,我其实也没管它合理不合理,就大体齐先让勾搭上,几万句里面没找着反例:虽然不是很踏实,也不是很担心。换句话说,我赌的是此类句子不会出现:“很多年前,我开过一个醉酒男子打人的刀”。万一出现了,我赌的是句法压了语义一头,我的分析仍是对的,不是吗? 宋: 我开过阑尾发炎的刀。 我: 宋老师不仅眼毒,思维也“毒”啊,总可以找到反例。 我: 拉弧圈 = 拉弧圈球? 【相关】 【立委科普:美梦成真的通俗版解说】 【立委随笔:中文之心,如在吾庐】 【新智元:parsing 在希望的田野上】 【 坚持四项基本原则,开发鲁棒性NLP系统 】 【立委科普:语法结构树之美】 【立委科普:语法结构树之美(之二)】 【置顶:立委科学网博客NLP博文一览(定期更新版)】 《朝华午拾》总目录
个人分类: 立委科普|5332 次阅读|0 个评论
【泥沙龙笔记:语义可以绕过句法吗】
liwei999 2016-6-3 08:01
雷晓军: 可以直接语意吗?绕过句法。 我: 直接语义绕过句法是绝对错误的 雷: 愿闻其详 我: 这个以前谈过多次,也有历史案例(Wilks),董老师也一再教导,那是死路。但是对于pure research,是个可以探索的方向。 这里有其详:《 泥沙龙李白对话录:关于纯语义系统 》; 【 没有语言结构可以解析语义么?(之二) 】。 我的 NLP University 跟洪诗人的打油八宝盆似的,只要事关 NLP,里面啥都有 -- 除了深度神经算法。 雷: @wei 是没有走通,还是死路? 我: 从 scale up 和 real life 而言,没有走通,出不了实验室,因此是死路。更关键的是,句法tractable,更靠谱,多数情况下已经可以支持应用,不用白不用。句法多漂亮清晰 tractable 啊,语义多 dirty 混乱不讲道理不可收拾啊。舍此而求彼,殆也。舍近求远,是本末倒置。 雷: 动词的坑框架不是很清晰吗? 我: 动词的坑框架大多属于句法 subcat 的范畴。即便可以暗度陈仓地走私语义和常识进来,也不改句法制导的总体路线。 雷: 什么是语义?什么是句法? 我: 纯语义的模板是概念层的 “subcat”,基本上就是一个常识系统,HowNet 那一类。 雷: case theory是句法? 我: 对 费尔默的格语法是句法里面的语义派。 白: 没有明显形式标记的case不算 我: 不是纯语义。 雷: 什么是纯语义? 白: 我关心搭配,尤其是多对多的搭配算不算句法 雷: 对呀,搭配是语义搭配吧? 我: 譬如为了parse “我吃鸡” 或 “鸡我吃”,你不做 xp,也不做 主谓宾,你只用 Animal EAT Food 这样的语义模板,这就叫绕过了句法的纯语义路线。 雷: 主谓宾是什么?要主谓宾有什么用? 我: 主谓宾是句法关系啊。逻辑主谓宾是深度句法关系,反映深层结构,董老师叫做逻辑语义。 纯语义系统有两个组成部分:对应于词汇的概念本体(ontology),对应于句法的语义常识模板。 雷: 语义中有agent,object等不就可以了吗?为什么要主谓宾?我越来越糊涂了 我: 乔姆斯基你是怎么学的啊?乔姆斯基 50 年代不就说了吗,光深层结构不行,因为看不见,需要表层结构作为桥梁走到深层结构,这是 parsing。如果生成(generation),就需要深层结构走到表层结构。这个原理是亘古不变的。 雷司令是装糊涂。 雷: 乔姆斯基不讲语义的,只是偷用语义。 我: 乔姆斯基强调句法与语义分开,并不是说乔姆斯基不讲语义。不讲语义做什么语言呢?语言成为完全的积木。 雷: 乔姆斯基真的不讲语义,他只关心句法,而且认为句法就够了 我: 即便是积木,怎样搭建成一个目标建筑,那也是语义啊。 雷: 句法是innate的 我: 句法不能吃饭,只有落地为语义才能。 白: 如果想得到去伪歧义的句法分析结果,就要明里暗里使用各种盘外招。伟哥在分析器里内嵌了一部分盘外招,留了一部分盘外招给语义中间件。我认为两种盘外招可以统一于大数据。 我: 说的极是。 不过,“ 我认为两种盘外招可以统一于大数据 ”,这个还需要看看。能不能高效地走通大数据的这条路,我有些怀疑。 雷: 他的学生Jerry Fodor更极端,人脑中就有句法的modularity,语义的加入是NLP的事情,是为了工程,同语言无关 我: 乔姆斯基的确想让句法自制,但是那是句法系统内部的事儿。最后的结果仍然是句法导向语义的接口。 雷: 语言学中语义学不是显学吧? 我: 我觉得你被quasi-Chomsky洗脑了。什么是语义:不外两个落脚点,一个是本体,一个是逻辑语义。 雷: 我在的学校乔姆斯基的学生云集,都是被Jerry Foder弄来的。 本体和逻辑语义都是计算机的人在弄吧 我: 不是,费尔默是语义巨人( 《语义三巨人》 ),逻辑语义就源于他的格语法(Case Grammar)。 至于本体,其实就是词典,概念词典。 雷: 他只是龟缩在西部,东部的人不认 我: 那是因为乔姆斯基光芒太甚,费尔默没法跟乔对抗。但是对 NLP 的影响,其实 费尔默 比 乔老爷可能更大,特别是后期的 NLP 规则派,董老师啊 日本长尾真啊,都是受到费尔默的深刻影响的 NLP 代表人物。当然到了统计学习派,什么乔姆斯基 费尔默 都不尿他们了 董:据已故汉语语法学家林杏光先生的著作称,汉语语言学家提出并对于所谓的“格关系”的研究,要比Fillmore的“Case for Case”早四分之一个世纪。所谓的“格”的领悟是操汉语的人们的天生的智慧。例如:吃饺子、吃馆子中”吃“的意义不变,而宾语的语义不同,这样就有了受事宾语、处所宾语等的分别。 雷: 费尔默的动词坑框架不是被伟哥批评为不接地气吗 我: 费尔默有两段学术生涯。第一段是格语法,董老师发展为逻辑语义。这一个理论和实践是接地气的,关键的。 白: 句法也有坑的 雷: 句法的坑不同于格吗? 白: 句法的坑,你可以想象成某种“正式语序”下的直接成分。而真实语言中,除了正式语序之外,还有若干“变种语序”。 我: 费尔默后期的 FrameNet 虽然是格语法的自然延伸,朝着语义语用的方向进一步深入,但是不接地气,因为没有必要这样来连接语义和语用,直接从格语法进入语用要方便得多。FrameNet 是有道理的东西,但是没有什么实用价值。 白: 建立变种语序与正式语序之间的关联,就是“填坑”, 句法意义上的 雷: 这个要建立在词法上? 我: 白老师说,没有明显形式标记的case不算,,这个实际场景是这样的: 形式标记的 case (就是我说的语言形式,见 《 泥沙龙笔记: 漫谈语言形式 》) 是输入,逻辑语义是输出。这个输入条件可以是显性的语言形式,包括词法的格标记、词序,也可以是隐性的语言形式,包括 POS,包括 ontology,所谓 subcat 就是这样一个编码在词典里面的输入与输出的潜在对应关系。然后句法分析器根据它来实现输入对输出的映射。也就是实现从表层结构的语言形式对深层结构的逻辑语义的求解。deep parsing 说到底就是这么个事儿。 subcat 总是词(老爷)驱动的,里面规定了在哪里(词序)找什么样的(节点条件)放到什么 arg (逻辑语义)去。 洪: 伟爷天天摆龙门, 语法语义跨越坑。 Deep Parser有锋刃, 庖丁解牛想找新。 【相关】 《 泥沙龙李白对话录:关于纯语义系统 【 没有语言结构可以解析语义么?(之二) 】 NLP University 泥沙龙笔记: 漫谈语言形式 《语义三巨人》 【立委科普:本体知识系统的发展历程】 《泥沙龙铿锵三人行:句法语义纠缠论》 【没有语言结构可以解析语义么?浅论 LSA】 【置顶:立委科学网博客NLP博文一览(定期更新版)】 《朝华午拾》总目录
个人分类: 立委科普|3518 次阅读|0 个评论
【deep parsing 小品:天涯若比邻的远距离关系】
liwei999 2016-5-31 22:40
notes 一哈: 1. “这个” 应该跟“房间”,而不是“(房间)衣服” , 可是“个”是万能量词,这个区分来自什么知识? 2. Next 应该是 O between “穿” and first NP “....衣服”, 这个不难,是搭配,语义中间件可以搞定,利用 Next 桥梁。 3. 定语“穿” 目前逻辑语义的既是 S 又是 O 的结果在搞定 2 时候可以修正成 S: 人 S - 穿 - 衣服 O(主谓宾)。 4. 这句里面,进来“ 与 ”房间“ 的远距离关系是最难对付的, 这是白老师出此题的精到的所在。 最妙的是,即便挨着,我们一般也不说“进来房间”(是可以说,但有些勉强),而是句法词法搅合地说“进房间来”, 何况这个 arg “房间”隐藏在第一个 NP 的内部做定语 Mod 或 话题 Topic。 这几乎是考验NLU的句法极致了。赞一下白老师此句。 4 暂时不指望做了。其余的都是脉路清晰可见可达,一步之遥而已。 远距离的 4 的关系,如果一定想做,我们可以看看在线性语句转化为平面树图以后,语义中间件里面,其距离到底有多远? 第一步:“房间”通过 Mod 到达 “衣服” 第二步:通过 Next 到达 “不允许” 第三步: 通过 OPred (动词性宾语成分)到达 “进来” 可见,即便如此复杂深奥的远距离关系,到了句法以后,相互距离不过是三步之遥: 句法的 trigram 而已。 可见句法之结构化的厉害。 数一数这个远距离在线性中的距离: 房间 -- 1 衣服 -- 2 穿 -- 3 得 -- 4 过于 --5 暴露 -- 6 的 -- 7 人 -- 8 不 -- 9 允许 --10 进来 换句话说,线性序列的 10-gram 一结构化就成了 3-gram。 古话说:海内存知己,天涯若比邻,信然。 因此 4 虽然从句法语义上看,差不多是最典型繁难的远距离自然语言理解的挑战的一个实例了,但实际上在句法核武器上了以后,还是有路径有希望的。 不过是暂时放放,不强求立马去做而已。非不能也,是不为也,是语言学家的 fascinating 的例子,但不是NLU实用上最当紧的任务。 白老师出得如此绝妙好句,也是醉了。声称 NLU 的人有福了,or 有的做了。 【相关】 【新智元笔记:搭配面面观】 【新智元笔记:搭配二论】 《泥沙龙笔记:漫谈自动句法分析和树形图表达》 泥沙龙笔记:parsing 是引擎的核武器,再论NLP与搜索 【立委科普:语法结构树之美】 【立委科普:语法结构树之美(之二)】 【立委科普:deep parsing 小讲座】 【科研笔记:NLP “毛毛虫” 笔记,从一维到二维】 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|4097 次阅读|0 个评论
【李白对话录:谁无知呢?】
热度 1 liwei999 2016-5-7 01:48
李: 文章无知,还是行为无知,还是行为的施事无知?人的理解从小句行为最后落实到小句里面的主语。 貌似涉及某种 reasoning,由行为延伸到施事。 白: 文章无知,是说文章体现了作者的无知 李: 是啊,“转文章无知”也是说的转文章的人无知。这个角色的转移有迹可循。 就是说,如果依存句法上的两个nodes语义不搭,那么可以深入到显性的或隐性的施事去找搭配。这是从 whole 到 part,合理合法,尤其是如果这个 part 是施事的话。 一个小句本来是由谓词代表的,从依存句法上看,所谓谓词中心论。但是从逻辑上看,施事和谓语实际上在小句的地位并非老子儿子的隶属关系,而是可以平起平坐的,这也是相当普遍接受的观点。因此,一旦小句谓语与其dependent不搭,平移到其施事是逻辑的自然。 关于主语谓语平起平坐论,这在结构主义的语法学界是老生常谈了。甚至在动词中心论的框架里,施事主语也处于一个特殊的地位,学名叫 external arg,不能混同于小字辈的宾语补语等 internal args,道理也蛮显然:internal args 是针对谓“词”的,而主语的对手则是谓“语”,不在一个层次,尽管依存树形图为省事,模糊了这种地位之别,在这一点上,反映出来的语义关系,的确不如乔姆斯基的 X bar 假说及其图示(当然 X bar 叠床架屋,似乎走火入魔到了另一个极端。见 乔氏 X 杠杠理论 以及各式树形图表达法 )。 昨天说过,人的自我中心在语言中表现极为明显,词汇中有约一半与人有关,大千世界加在一起分享另一半的词汇。细一点说,词汇中大约三分之一以上是专门与【人】有关的,不能用于非人,譬如“勤奋”、“支持”,否则就是不搭。另有三分之一的词汇,是【人】与非人都可以关联,譬如“好坏”、“支撑”。剩下的不到三分之一才专属于描述大千世界,不能用于【人】,譬如“凛冽”、“【狗】吠”。没做具体统计,毛姑姑,但应该是不离谱的,因为我整天就在词汇和语法的海洋里翻滚。 这个“无知”就是一个指向【人】的形容词。动作或小句本身不是【人】,但动作的施事常常是【人】,于是“无知”就这样自然而然在我们心目中转移了指向。 我们可以在句法后的语义模块模型这个语义平移,不过是增补一条“有向直接联系”(dag)罢了,易如反掌。但是对于句子中没有显式出现的施事(“文章”的隐式作者),自然语言理解要想模型人的这种平移,就要费一点周折。 白: “张三炒股票很疯狂,张三炒的股票很疯狂。” 同样语义不搭,寻找修辞性解释和寻找隐式候选解释的机会可能同时出现。 大数据往往支持修辞性解释 李: 寻找隐式候选解释是平移,语义约束不变。寻找修辞性解释更常发生,语义约束层层放宽。直到宽得自己都不确定是不是真地理解了,即便看成是修辞用法。 理解不理解修辞用法,与一个人的背景知识面有关。孤陋寡闻者不可理解的语义不搭,在经历丰富的人看来不是问题。 大数据也不是盲目支持修辞性解释。这种解释一定是呈某种正态分布,这是大数据的本性决定的。正态分布的峰值区间是正解或本解,是搭配圆满的语义,不是修辞性的解释。然后随着语义约束的步步放宽,语义不搭的直感越甚,各种修辞性的解释也随之而来,直到不知所云,跌入分布区间的边缘。 换句话说,语义不搭的程度在大数据上可以反映出来,大数据背后的语言共同体对于从本义延伸至修辞性意义的理解程度也随着社会阶层、知识经验的不同而分布不同,白老师这样的理解力应该是分布区间的尽头,普罗百姓撑不了太久,遇到不搭很可能一脸茫然。在这个时候,如果恰好有由此及彼的可能性,哪怕所及之物是隐含的(譬如明说的是“文章”,隐含的是文章的作者),理解者可能豁然开朗,把语义搭配投射到隐含者身上,不去深想那可能太深奥的修辞用法了。 白: 股票疯狂,说的是股票的整体走势离谱,而不是炒这只股票的人疯狂(实际上,单个个体散户的偶发疯狂根本奈何不了一个体量很大的股票。)在粗通股票的人群中,都知道股票疯狂的这个意思,这一点也可以从大数据中股票与疯狂的搭配统计中得到印证。并不需要高深的理解力。任何修辞用法,都有直接的或推断的流通度作为支撑基础,否则直接短命死掉。直接的流通度,就是AB虽不搭配,但AB在大数据中具有统计意义显著的共现。推断的流通度,就是AB既不搭配,在大数据中的共现频度在统计上也并不显著,但是,对于在某种向量投射下(比如word2vec)与A距离较近的C和与B距离较近的D,CD的共现频度在统计上显著,那么AB会被“推断”为与CD具有相当可比性的修辞现象。 李: 这种情形不能算是严格意义的“修辞”。可能是历时的词源意义的修辞,不是现时的修辞。大数据支持的是本义,不是修辞,不是引申。否则就没有什么优选语义的概念了。优选的隐含意义就是数据量。 白: 非词典义,非subcat规则义,剩下就是叫法问题。没有大数据时,优选语义就是画饼。 李: 我们不管怎么有人人平等的道德情怀,也不得不承认人与人的理解力之差别往往超过我们当初的想象。这就好比,人与人的工作能力和创造能力的不同一样。做过招聘经理的人都体会过人与人的差别之大。据说斯大林相信林彪一人值三个师,虽然是传言,但人与人的差别,与贫富悬殊的鸿沟几乎可以一比。 意识流,扯远了,打住。 回到正题:谁无知呢?首先是普罗,然后是精英中的专才,最后是精英中的通才。最不无知的是立委的老友镜子(mirror),有 【 镜子大全 】 为证。 声明一句(不是为了政治正确):以上闲扯绝对不是维护贫富悬殊的社会不公。只是指出了一点现代社会文明以后,为什么反人类反道德的贫富悬殊反而越来越大的成因之一。 凡事有多种角度,不能单从人的能力或贡献的角度看贫富差距,因为从那个角度,存在的都是合理的,无需改变。作为社会主义的信仰者,可以提供另一个角度。 地球是有限的,资源是有限的,这是一。人人平等是天定的,无需论证,这是二。在有限的资源上居住着人人平等的人类,这就必然得出下列结论:贫富鸿沟越来越大是罪恶的,必须通过税收(或革命)阻止这种趋向。 因为一切的聪明才智和创造力都是在耗费资源的基础上才得以施展或实现。而这个资源是公共的、全民的。因此不仅你我的成果必须共享,而且你我个人的收入都不能无限离谱。 一个“完全无用”的人,无论是残疾也好,还是健康但无能也好,只要他生存在这个世界,就必须保障他的社会福利,必须让他共享社会繁荣的成果。这里没有任何施舍。这是他生在这个世界作为一个平等人类一份子所应得的资源被社会或他人利用以后的合理报偿。 因此,我支持桑德斯。不过为了打败川普,我投票克林顿。只有社会主义庶几可救美国。只有真正的社会主义才能救中国,抑制住中国贫富大分裂的势头。如果共同富裕不现实,至少不能让贫富差距越来越大。不是说要消除贫富差别,是要设置一个比例,不能任这种趋势非理性非道德地无限鸿沟下去。社会主义设置了最低工资,这是一大进步。等到社会开始立法设置最高工资的时候,这个进步才完整。西方的做法是不设置限制,然后利用税收政策倾斜,诱使富翁成为“慈善家”。搞得每个富翁都像个菩萨一样被人尊崇,慈善的多少也没有制度的保障。第一,他们根本就不是慈善家,这些善款本来就应该是社会的。第二慈善的指向和规模带有太大的任意性,这实质是对社会财富的不负责任。 【相关】 乔氏 X 杠杠理论 以及各式树形图表达法 【科普小品:文法里的父子原则】 【新智元笔记:中文自动分析杂谈】 【置顶:立委科学网博客NLP博文一览(定期更新版)】 《朝华午拾》总目录
个人分类: 立委科普|4675 次阅读|1 个评论
【新智元笔记:语法糖霜论不值得认真对待】
热度 1 liwei999 2016-5-2 06:14
董: 让我们记住 Benjio 的这段话:“【 Yoshua 】深度学习指向与乔姆斯基完全相反。深度学习几乎完全依赖通过数据进行的学习。当然,我们设计了神经网络的构架,但在大部分时候,它都依赖于数据、大量的数据。至于乔姆斯基,则是聚焦于固有语法和对逻辑的使用,而深度学习则关注意义。我们发现,语法只是像蛋糕上的糖霜一样的表层的东西。相反,真正重要的东西是我们的意图:我们对词的选择决定了我们要表达什么意义,而与词相联系的意义是可以被学习的。这些思想都与乔姆斯基学派的观点针锋相对。“ 看看 5 年以后还有什么话? 我查了查,上面Benjio的那段话的出处: Machines that dream Understanding intelligence: An interview with Yoshua Bengio. By David BeyerApril 19, 2016 引文原文如下:YB: It suggests the complete opposite. Deep learning relies almost completely on learning through data. We, of course, design the neural net’s architecture, but for the most part, it relies on data and a lot of it. And whereas Chomsky focused on an innate grammar and the use of logic, deep learning looks to meaning. Grammar, it turns out, is the icing on the cake. Instead, what really matters is our intention: it’s mostly the choice of words that determines what we mean, and the associated meaning can be learned. These ideas run counter to the Chomskyan school. 把原文的最后一句送进流行机译系统,看看什么结果:These ideas run counter to the Chomskyan school. Google的:这些想法背道而驰乔姆斯基学校。 Baidu的:这些想法背道而驰的乔姆斯基学派。 看起来,就是缺了那些“糖霜”! 白 : 他们对数据和学习的偏爱,掩盖了一个重要的因素:想要学到的东西长什么样。这个“长什么样”决定了学习的上限,再多数据也突不破这个上限。 多层,循环,记忆,都是“长什么样”的创新。 从某种意义上,都是在向 Chomsky 靠拢 董 : 还记得 SMT 刚兴起时,有两条宣称: 1. 不需要语言学家的知识; 2. 依靠标注的数据,主要是对齐的数据。随着数据的增加,翻译的能力将提高。那时是有监督的数据,这把该是无监督的数据了。这就连语言的句法也知识 糖霜”了。这回大概是真正的智能了。难怪李彦宏宣称人工翻译很快将被机器取代了。太狂了,就不是科学了。 白 : 他们把数据的作用夸大了,把模型长什么样的作用低估了。 马 : 公司的喜欢说大话炒作,媒体人又喜欢跟着他们吵 我 : 那段话不仅仅是大话, 而是让人怀疑他知道不知道自己在说啥。 智人说梦罢, 不值得认真对待, 我不管他 or 她是谁。 另一方面,在一个非常狭窄的领域,一个非常粗线条的“语义落地”的应用,也许“ 毛毛虫”长成啥样 的制约可以让位。 这时候,大量的数据,从数据中学习一个黑箱子出来,是可能达到可用甚至超过人工水平的“落地”应用的。 只有细线条的语义落地,对语言的机制和结构有较强的依赖,这时候白老师说的再多的数据也突不破这个上限才真正是盲目迷信学习者的紧箍咒。 就举这个我最近五年一直在做的 sentiment analysis 为例。 如果领域是 movie reviews ,语义落地的目标定为褒贬分类, 可以利用 movie review 中读者打星作为客观度量, 学出一个系统来与人工标注的打星看其吻合度。 褒分类定义为四星五星,贬分类定义为一星或二星。实践证明这是一个适合机器学习的任务,如果打了星的训练数据足够多的话,其结果不亚于人工。可以做双盲试验。可是要是语义落地都是如此粗线条的“语义”目标的话,我们语言学家就不要吃饭了。 一旦语义落地的实际需要是细线条的,语言长成啥样的乔姆斯基或 quasi-Chomsky 的毛毛虫的机制开始发力:顺之者昌,逆之者 stuck。 对于 sentiment 细线条,社会媒体舆情挖掘类应用大体是 这样的语义落地需求 : ( 1 ) 分类不够,还必须把类与 topic 相关联。 movie review 讨巧的地方是, topic 是外定的,在标题或 meta data 里;而社会媒体的大多数 topic 是在文本里的; ( 2 ) 不能是 movie review 这样的狭窄领域,而是领域独立 ; ( 3 )不能是 movie review 这样的成段落的文本,而是以绝大多数短消息为主的社会媒体; ( 4 ) 不能是简单的褒贬情绪分类,必须找到情绪背后的种种理由。 多方面的来源(种种独立的benchmarking,加上我们自己的实验探索)表明,面对这样一个任务,即便单就(1)(2)(3)而言,目前的机器学习 sentiment 死定了,突破不了大约 60% 的“与 topic 关联的褒贬”精准度瓶颈(且不说(4)细线条的情绪背后的原因等的抽取挖掘)。而语言学的路子可以轻易达到 80%+ ,这就是语义落地时的差别度量,至少 20% 精准度差距。 现在的问题变成,在实际应用中,到底多大比例的语义落地需求是粗线条就可以满足,多大比例的应用必须对“语义”有比较深入的分析? 当年 Autonomy 那家公司做得蛮成功,其中主打的 text analytics 应该就是依赖粗线条的语义,分类聚类(classfication or clustering)之类,被倒霉的 HP 并购后,现在也不大听说了。否则还可以关注一下他们在粗线条落地的语用上到底能走多远,感觉上他们已经几乎做到极限了,充分采集了“ 低枝果实 ”。 MT 当然不属于粗线条的语义落地,好在有几乎无限的人工翻译积累作为带标大数据(labeled big data),所以一路高歌猛进到今天的百度 MT 、谷歌 MT 之类的普及程度。但是现在已经很清楚, it is stuck, 如果不在语言结构上下功夫的话。我是相信白老师和董老师的铁口的,本质上看,再多的数据也救不了它 除非做某种改弦易辙。 戴 : 如果结构化的方法也无法抽象出语义是如何结构化的话,最好的语法结构分析也是徒劳的。纯粹的机器学习方式至少可以绕过去这一步直接面向目标来处理。对于意图来说,并不是一定要理解意图是怎么构成的或者如何构成,直接针对意图使用的目的,比如返回合适的结果也是可以的 我 : “如果结构化的方法也无法抽象出语义是如何结构化的话”?? 太绕。说的是什么状况? 说到底不就是:通过结构还是绕过结构达到目标么? 戴 : 简单地说就是你语法结构如何走向语义这一步,现在不都卡在这里吗。而且也没有充分的理由说明必须由语法结构走向语义,这只是语言学上的思维而已 我 : 不能抽象谈语义:至少要分粗线条或细线条。现在的 argument 就是,绕过结构到达细线条的语义,基本走不通。 这个语义就是落地的语义,语用阶段的语义。 戴 : 问题是细线条的语义是什么?如果都不知道是什么,怎么说不能达到呢 我:我不是举例说明了粗细的区别了吗,还可以举更多的例。 戴 : 以什么样的形式呈现?需要结构化吗 我 : 估计是背景相差大,好像我们不在一个频道,因此对话很困难。 白 : 老乔所说的 logic form 也不是狭义的逻辑,只是填坑的结构而已。连填坑的结构都不要,还好意思说是扔下逻辑直奔语义。 董 : 如果有人写一篇论文,批评“语法 = 糖霜论“的,我不知道如果投稿给 ACL 或 COLING ,会通得过审阅吗?记得在我国的计算语言学研究中,也曾有过为多数人不太赞同的”学派“,但几乎没有一届国内的学术大会会完全枪毙那些论文的。学术研究要允许真正的百花齐放,不可以” squeeze out “( Church 语)。这就是为什么我不赞成现在 NLP 界的风气。 白 : 江湖归江湖,落地归落地 【相关】 《立委随笔:语言自动分析的两个路子》 泥沙龙笔记:parsing 是引擎的核武器,再论NLP与搜索 泥沙龙笔记:从 sparse data 再论parsing乃是NLP应用的核武器 【白硕 - 穿越乔家大院寻找“毛毛虫”】 【科研笔记:NLP “毛毛虫” 笔记,从一维到二维】 一切声称用机器学习做社会媒体舆情挖掘的系统,都值得怀疑 【立委科普:基于关键词的舆情分类系统面临挑战】 一袋子词的主流方法面对社交媒体捉襟见肘,结构分析是必由之路 【立委科普:自动民调】 【立委科普:舆情挖掘的背后】 Coarse-grained vs. fine-grained sentiment extraction 【立委科普:自然语言parsers是揭示语言奥秘的LIGO式探测仪】 【新智元笔记:李白对话录 - RNN 与语言学算法】 【立委科普:语言学算法是 deep NLP 绕不过去的坎儿】 【泥沙龙笔记:NLP hard 的歧义突破】 【立委科普:结构歧义的休眠唤醒演义】 【NLP主流的反思:Church - 钟摆摆得太远(1):历史回顾】 【Church - 钟摆摆得太远(5):现状与结论】 没有语言学的 CL 走不远 【置顶:立委科学网博客NLP博文一览(定期更新版)】 《朝华午拾》总目录
个人分类: 立委科普|4821 次阅读|1 个评论
【泥沙龙笔记:人脑就是豆腐,别扯什么递归了】
热度 1 liwei999 2016-3-8 02:25
我:“ 要不是因为 ”的用法 有点意思:要不是=如果不是,是个条件状语从句的主从连词(否定式) ;“ 因为”也是状语从句的主从连词,说的是原因 。 这两个 主从 连词常常连在一起用,把句式弄得复杂了 。英语的大体对等物是, 要是因为 = if it is because /for ...; 要不是因为 = if not because /for ... 有趣的是,理论上应该有两个从句 embedding,然后才是主句: S2],那么 S3 确实偶尔也有这种例子,虽然少见: 但是更多的时候,因为人的头脑的递归机制严重局限,短期记忆限制难以处理embedding,因此前面两个连词共享一个子句,就是说 S1 和 S2 合一了: 这样一来,第二个连词“因为”就成了聋子的耳朵,纯粹是摆设,因为上面这句与下句显然是语义等价的: 也就是说,(外)条件 盖过了 (内)原因,看上去似乎是原因后面的结果被省略了,人的内部理解机制可能隐约有标配补偿? 白: 条件和因果,根本不是外和内的关系,而是事先和事后的关系。“因为”在这里并不是一对括号的一端,而只是对“事后”这一特征的提示而已。也就是说,“要不是因为”不仅在表达条件的前件,也同时在表达前件“已然”满足,所以条件的后件就是“顺理成章”的事儿了。 进一步说,就连“要不是”也隐约有“事后”的意思,所以“因为”可省。 但“如果你不来,我(就)不走”就没有“事后”的意思。 所以,不可能出现“如果因为你不来,我不走”这样的与伟哥例句平行的表述。 在前件“已然”从而后件“顺理成章”的场景下,条件和因果是重叠的,有一已足。所以,“因为”门开半扇只是在强调事后而已,与连词的呼应和递归已无半毛钱关系。 “要不是A,早就B”的逻辑表达是“A蕴含非B”且“A已然”。 “因为A,所以非B”的意思同样是“A蕴含非B”且“A已然”。 这种逻辑语义上的重叠架空了“因为”,使之只沦为一个强调“已然”的符号而已。 毛泽东“为人民服务”里面使用了逻辑连词的嵌套。“因为我们是为人民服务的,所以我们如果有缺点,就不怕别人批评指出。”这里没有半扇门的问题。 很清楚地表明“为人民服务”是“已然”。 我: 毛的这句很有意思,正好相反:是因果嵌套了条件,而不是条件嵌套了因果。 的确当条件嵌套因果的时候,因和果都是是已然的条件,因为未然的因果与 “要不是”有逻辑冲突。 无论如何,条件子句与原因子句合一的例子也进一步说明了,人类语言面对递归是多么地局限、局促、无能,只小小绕了两层s,人就不答应了,能省则省。 谁以后再跟着乔老爷后面瞎嚷自然语言是递归的,我就急,说他是大白天睁眼说瞎话。 事实就是,人脑太小,根本递归不起来,玩不转 center-embedding。 人脑就是豆腐,别扯什么递归了。 洪: 有道是: 仿脑类脑处处兴, C/GPU堆不停。 古人闻之也亢奋, 豆腐脑汁早发明。 乔爷的理论是给聪明人整的,一般人脑后天都被调参数调成豆腐脑,@wei 你知道的!乔爷说:士不可以不弘毅,任重而道远。递归模型,必须的!人发明计算机,本意就是替人做计算,特别是做递归。 我: 都是调参的错了?狼孩没调过参,也不见他的天生的强大的递归帮了他什么。如果说一个机制是本质的、强大的,有很大的潜力,但是这个机制跟陌陌约炮也差不多,见光就死,那么我们是赞叹造物主的伟大呢,还是怀疑这个机制根本就是银样镴枪头,子虚乌有更实事求是呢? 白: 我同意伟哥的结论,人脑就是块豆腐,短时记忆早决定了嵌套不过三,但是这个例子并不是论证结论的合适例子。 conj1 block1 conj2 block2 conj3 block3 conj3/,七个了,已经到了常委人数。 再多,国家都管不好了,何况parse. 结合“已然”特征,“要不是”的英语翻译可能不是简单的“if not”而是还要辅以时态的变化。 反事实条件,需要使用虚拟语态 。 在反事实条件的大语境下,“因为”就可以译成一个无关紧要的插入语“'cauz……” 洪: 按实际实现执行来说,人脑和电脑其实五十步笑百步,彼此彼此。算fibonacci数,若直接按递归来,机器也overflow。你总不能说递归不适合电脑吧。 hanoi tower问题,人不懂递归概念,如何解? 豆腐脑指人年轻, 及至老来豆渣成。 油翁依旧递归信, 不过只会调两层。 我: 调两层还递归个球啊 哈 洪: 要不咱怎敢自谦已成“豆腐渣” 白: 一个推论就是,在不超过常委人数那么多个连续token中,一定有两个互为填坑关系。因此,参考常委人数设定滑动窗口,通过词典的语义的统计的十八般兵器找到正确的填坑配对,这事儿就可以做下去,也没递归什么事儿了。 而窗口每滑动一次,一定只有不超过滑动窗口长度个旧配对候选出去、新配对候选进来。真实情况往往是滑动窗口长度的一半。所以这个过程一定是线速的。一切非线速的递归,都是耍流氓。 我: 大赞: 一切非线速的递归 都是耍流氓。2016 三八警句。 至于递归理论促进了电脑科学、电脑语言及其算法的发展,可以另当别论。毕竟机器与人、电脑与人脑、电脑语言与自然语言是形似而本质不同的两套体系。混同这两个 monsters,是小报记者、愚民、IT大佬和部分人工智能“学者”共同运作或忽悠的结果,离真实的世界和真理太远。不得不说, 在这个人脑电脑本质不同的AI大是大非的问题上,乔老爷还是坚定的、清醒的,不像他的自然语言递归论那样糊涂。 洪:乔爷时抓两头,一头全球现实政治,另一头human mind/language,中间鸡飞狗跳的事,他老人家都交给徒子徒孙们去左右手互搏去了。 乔爷以前两头忙, media控制mind思想。 如今兵来仍将挡, 环球政经令神伤。 后院曾固若金汤, 如今起火惹黑枪。 我听身边一声响, 乔迷反正伟哥放。 【相关博文】 乔姆斯基批判 Chomsky’s Negative Impact 泥沙龙笔记:再聊乔老爷的递归陷阱 《自然语言是递归的么?》 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|5034 次阅读|1 个评论
【李白对话录:从“把手”谈起】
liwei999 2016-2-25 01:32
【立委按:以前提到过汉语切词中的 hidden ambiguity 一类词是个讨厌的东西,举的例子是“难过”:1 难过:“这个小孩很难过”,表示情绪的形容词(sad);2. 难/过:“这条小河很难过”,这是形容词动词的组合(difficult to cross)。提出并实现了的应对方法是所谓休眠唤醒,即,在句法阶段不做歧义区分,等到了parsing完成以后,进入语用语义阶段的时候,如果需要再用词驱动的方式唤醒歧义区分。这个对“难过”没有问题,因为两个意义的句法功能相差不大,或者是做谓语,或者做定语。可是如果面对的hidden歧义对应两个不同的句法功能,休眠唤醒的实现就要费思量了。】 李: 见到一个讨厌的 hidden ambiguity “把手” vs “把/手”, 休眠了,怎么唤醒它? 它整个儿是名词;如果拆开,就是介词短语,以状语的形式填宾语的坑。NP 与 PP 句法上功能不同,因此休眠封装要费一点思量。 当然 把 NP 和 PP 混在一起的案例也不是没有,譬如时间词,就是名词的样子,常做状语,等价于PP,不得已了,才做主语宾语。 因此,句法上可以考虑把对 “把手”的处理,当成时间词的处理一样。这样可以保证,在多数句法结构中,它可以在封装的情形下,占到一个合适的句法节点的位置上,或者是状语,或者是主语宾语。等节点位置占据好了,然后可以唤醒它去填坑,这个用词驱动不难。现在是这么个思路。 白: 有点ad hoc…… 李: 给个不 ad hoc 的法子。总不能打一开始就分叉,一路走下去吧。打一开始分叉,如果是单层的parsing,自然不是问题。如果有好多层的parsing,这么拖着拽着下来,还不累死? 本质上说,任何词驱动都是 ad hoc,理想的世界里没有词驱动。 譬如,世界语的parsing,需要用到词驱动的时候,比起任何自然语言,都少得多,已经很接近理想世界了。 世界上出了两个老柴(柴门霍夫和柴可夫斯基),在我看来,与世界上出了牛顿爱因斯坦一样,是上帝对苍生的垂怜。 白: 把字结构/被字结构做不做状语其实无关紧要,与普通名词只是填坑是否指名道姓的区别而已。就一个标签的事儿。而且,前置修饰成分只要有一个隔着锅台上炕,普通名词立马做实。指名道姓的坑如果被其他成分强占,普通名词也立马做实。 李: 把字结构被字结构本身做不做状语的确无关紧要,它最终是要做主语宾语的,即便做状语,也是拿状语当敲门砖。 白: 我就是这个意思 李: 如果有不做状语一步到位就去做主语宾语自然更好。问题是,它做了状语,就为其他成分的就位创造了条件。因为它长得太像状语了,不做状语,在那里挡路,每条规则经过它的时候,都要特别照顾它一下,这不是个法子。 白: 太拘泥语序了就容易这样。 李: 一步到位是部分可行的,subcat 就是干这个的。 白: 坑的filler直接找provider,就不需要那么拘泥语序。 李: 不过我们现在说的不是把字句,而是疑似把字句的 “把手”。即便数据结构上,可以从词典就把它标注为与 PP 同形,这样 subcat 的 filler 找 provider 就同样找到它,也还有一个如何协调它的另一个 NP 可能的问题。 白: 就是封住他,碰到宾语被强占或者被定语修饰,再解锁。先当两个词: 门把手夹了 门把手坏了 哈,涉及N+N来捣乱 李: 门PP坏了 白: 不及物动词,相当于宾语被强占,再解锁。 李: 这个 PP 肯定连上 “坏了”做状语。何时唤醒它? 门在这里坏了 门由此坏了 没有唤醒的理由。 白: 我这里处理把字结构,就是有特殊subcat的名词,和一般状语不同。 李: 门把手 可以做合成词,不论。 门的把手坏了 门的 PP 坏了 白: 抽屉把手 李: 这也是合成词,凡是合成词能解决的,一律无视。 抽屉的PP坏了 这个可以考虑唤醒。 白: 它受定语修饰就解锁,无定语,坚持到碰见谓语,看宾语坑是否free。强占或不及物,都不是free,应解锁。 这个被定语强制得太明显了?左侧唤醒应该不是问题。 李: 原则上有些道理,实践中操作还是有难度。 白: 右侧唤醒,你看我列出的条件 绿色把手,不加的,也可以唤醒。左侧都是“吸收”类型的操作,右侧才是“填坑”类型的操作。 李: 绿色PP? 白: 不通啊 李: 孤立看不通,到句子里通的时候居多: 绿色PP而改变:绿色由此而改变 白: 把字结构不当作PP,死不了人的。 李: 给把字结构另起一个名字,那也可以,就是俄语的一个格变而已:accusative 可是,这样做的前提是assume,Parser 可以完善处理 subcat 的填坑。如果 subcat 稍有差池,它就是一个拦路虎,造成 parser 丧失鲁棒性。 换句话说,把字结构本来是要被吸收掉的,吸收不掉的时候,不能让整个系统给它做变通。 如果 “把+手“ 这样处置,吸收不掉,基本上就是该唤醒它的另外的角色了。 白: 可以给parser做个宏定义开关,控制唤醒功能启用与否。 李: 更大的问题不在这个个案,而是 BA-Phrase 与 一般 PP 独立的话,增加了系统面对的不同种的 objects。挺乱的。 白: 对那些subcat控制不了的应用,不建议启用。我的处理是把字结构当名词,但有个特征注明填坑优选位置,唤醒时这个特征复位,变成普通名词。 李: 回问白老师一个问题:为什么您现在热衷于休眠唤醒的思路? 不是说统计界对 non-deterministic parsing 一直很热衷,不以为是问题么?曾经在研究界闹腾过相当一阵子的路数,只是到底可行否,接不接地气,我就不清楚了。 白: 我不喜欢不确定性无差别地到处乱飞。 李: 这里面有一个根本的架构负担。如果是教科书上的 chart parsing,一锅端,一层做parsing,non-deterministic 是自然的分叉,不过是加重了组合爆炸和伪歧义,效率暂且不论,算法上是天然可以的。 如果parsing要走语言分层多层处置的道路,这个所谓带着分叉去做,是不堪负荷的。这个不堪负荷,主要还不是计算的开销, 主要的是人对模块的维护负担。人在调试后面模块的时候,如果不想堕入迷宫,最好还是少分叉,多休眠。 白: “意识到”的是主线, “下意识”的是休眠。机制必须不同。哪怕梦游,也不能跟主线同等待遇。 关键是,chart里面还夹带大量伪歧义,都跟着走。 【相关博文】 【李白对话录系列】 《新智元笔记:NLP 系统的分层挑战》 《泥沙龙笔记:连续、离散,模块化和接口》 《泥沙龙笔记:parsing 的休眠反悔机制》 【立委科普:歧义parsing的休眠唤醒机制初探】 《新智元笔记:跨层次结构歧义的识别表达痛点》 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|4302 次阅读|0 个评论
【新智元笔记:搭配二论】
liwei999 2016-2-5 07:28
【立委按】微信群拉近了天涯海角的华裔专家的距离。这类富于智慧的专业讨论及其碰撞出的火花是教科书上看不到的,一般的大学或研究所的讲堂里也难遇到。大概类似于早年高级知识分子的沙龙,唇枪舌战,佐以幽默机锋。但不同的是,这些有意思的笔记几乎瞬时记录在案,以飨天下。如果你感觉受益了,请先感谢张小龙,再感谢群主白老师。都是神仙。 宋: 分布还是有意义的,比如“戴帽子”和“穿帽子”就是一种词对词的分布。 白: 这个可以被统计完败。 宋: 对,分布式可以统计的,但受到语料库内容的局限。比如拔火罐的情景对话,语料库中可能没有,结果“紫”就是区别词。 白: “这二十板子打得我手都肿了”。“这二十板子打得我手都酸了”。 我和打的关系,因为一个字而不同。 宋: 这种知识,怎样加到知识库中呢? 白: 肿,是伤病的一种;酸,是乏累的一种。施动导致乏累,受动导致伤病。这是知识图谱的思路。 宋: 句法语义分析,只能说打的结果我手肿或我手酸,至于我打还是我被打,不知道,这是常识范畴,是不是很难加紧知识库呢? 白: 也可以硬选一个概率大的,其他休眠。等常识有了相反线索再唤醒。 宋: “这穴位一捏,我的手立刻酸了”。 白: 嗯。这就需要唤醒了,捏穴位,被捏者有酸麻痛胀气感。但这不是词典级别的休眠唤醒,是语义角色指派(填坑)环节的休眠唤醒。 宋: “捏了一上午穴位,手都酸了”。 白: 时间又起作用了,再翻盘。 宋: “捏了半小时的穴位,我的手才感觉酸”。 白: 休眠唤醒本身的对象有个级别问题,休眠唤醒所依据的知识,也有个级别问题。 宋老师最后这个例子,歧义了。 宋: 是歧义。但是否有歧义,也是靠关于捏学位的知识来判定的。捏两秒钟酸是患者酸,捏两小时酸是医生酸,捏20分钟酸有歧义。 白: 以前面“板子”的例子为例,句法究竟要不要确定“我”是打的还是被打的?确定“这二十板子”是句法上的主语,最好交差。句法是不是到此为止? 宋: 我觉得是这样。从上面的例子看,我对于涉及常识的问题有点悲观,觉得碰不起。或者,要积累太多太多的知识才行。 但是,人是怎么获得和存储这些常识的呢?为什么人可以有这些常识从而能判断,机器就不行呢? 我:拿立氏parser分析一下看: 白: 伟哥更狠,上层无主语,下层俩主语(包括Topic)。 原因,居然是,他用了远距离相关。 “打板子”弄一起了。 我: 搭配啊。 这个分析形式上是合理的,隐含的坑没填。“我手疼”和“我手酸”是一样的,没有啥疑义,因为表达是显性的。问题出在,这个“我”怎样去填写上一层的坑。 白: 实际上,这两句微调一下,就是:“打这二十板子do得我手都肿/酸了。” 引入虚动词do表陈述,实动词和它的固定搭配一起表指称。 我在N多年前(N大于10起码)发表的文章《论语义重心偏移》就是这个路子。 我: 两个“打” unify,虽然汉语句法上必须重复(reduplication)。不过前面的合成词“打板子”与“打”,没能unify 虽然应该unify:问题出在,词典中合成词的搭配,默认是黑箱子。可这个黑箱子不够黑,其实是蛮透明的。 白: 这样交差,面子上最好看。 上层的坑,候选就在下层,可是咫尺天涯 我: 距离不远,如果有可靠的痕迹(常识不算),可以填坑。 白: 保持一种能交差的模糊还是确定一种能翻盘的推测,都可以,不同的技术路线。把去模糊或者翻盘的任务留给下道工序。 宋: 二十板子打得我手都酸/肿了。弄清楚二十板子是打的动量,我手酸肿是结果,就够了。为什么非要弄明白打的施事和受事呢?这个信息也许上下文中有明示,为什么非要从这一句话中凭常识去理解呢?我觉得这还是英语的影响,只要有及物动词,就非得有个施事有个受事,其实听的人可能不关心,至少在听这个句子的那一刻并不关心。英语是摆出了架子,论元结构,每个句子基本论元都要填全。汉语语法简单,语义也简单,关心的事情都不想说明白,不关心的事情绝对不说。汉语的语义分析句法分析,不能用英语的那一套。 我: 宋老师是在question为什么要补全,任它模糊不行么?补全了,究竟什么时候、哪些用场要用到?我有同样的疑惑。不过这不像宋老师的问题,因为宋老师就是做补全工作的。 宋:我现在没说补全。 如果说补全,用堆栈结构,也是有限地补全,不一定包括基本论元。 白: 坑是在建立词典的时候就挖好的。有些语义的坑甚至与语种无关。理解就是坑驱动的并且以填坑为目标的。想要弄明白没错,常识也不是弄明白所唯一依靠的手段。了解没有填满的坑和没完句的标点句一样是有“张力”的,就够了。应用与哪些张力接轨,是应用的事。 “二十板子”那个,甚至可以说形式上都全了。但是张力依旧在。你可以明确地不理睬张力,但是这和没感到张力是有区别的。 宋: 我觉得要在话语内和话语外之间划一条界限。计算语言学先把话语内的事情解决,人工智能可能关心话语外。先搞字面理解。字面外的东西另说。 白: 这个可以有。 宋: 这就要建立一个适合汉语的字面理解的语义体系。 白: 但是接口的表达能力强,还是不一样。比如,“乒乓球是谁也打不过”,“足球是谁也打不过”。没有常识,你不知道谁强。但是,知道某两个成分一定分别填某两个坑,也够了。 宋: 两个问题所用的策略和资源可能不一样。先弄清楚字面的语义有哪几个要素,是用什么语言形式表现的,有什么规律性的东西可以让计算机抓住的。 我:“爱是一种珍贵的感情”。谁爱?爱谁?坑从词典里就有了。填不填呢?这是一个极端的例子,答案是:不需要填,或者按照标配去填。其实甚至按照标配填都不合适,因为在讨论爱这个概念的时候,人甚至不想被标配束缚。标配是人,可是我们的信教朋友讨论爱的时候,默认却是上帝。 白: 一种,已经指称化了,与陈述可以无关。无关就不需要填。只有陈述的坑才有张力,指称的没有。标配都不需要。去南极太危险了。谁去南极,不需要关心。不产生张力。 我: 是不是在填坑前,先掉一个程序确定谁有张力,谁没有张力,然后再去填?这个张力的标准也不是想象的那么容易识别,或容易有共识。 白: 在分析过程中就能确定吧。 我: 在一个充分开发的系统,填上了的就是有张力的,填不上的就是缺乏张力的? 白: 有些是跨句的。比如:“我知道谁是凶手”。“凶手”抛出一个“案件”的坑。但是句法上,这句话自足。如果系统认为“凶手”不需要关联“案件”,那也没什么,大不了信息抽取的时候再通过其他渠道重新发明轮子呗。 宋: 说英语大人也没那么较真儿。不关心失是受事的时候就用一个有行为意义的名次。表达成汉语,形式一样。人家已经不关心了,我们还在挖掘。 白: 也不是不关心,坑还是坑。比如the removal of sth,sth就是个填坑的。 宋: 英语通过词性标志明白地表示我关不关心,汉语没有这种标志。那就是在话语中直接表现出这种关心了。 白: The retirement of somebody,动词降格为名词,但动词的坑,通过名词的领属格,继续存在下去。 宋: 字面上有的,是我的职责,没能解决是我的失职或能力不足。字面上发没说的,请人工智能大哥解决。 白: “谁也打不过”,两种填坑方案,一个最强一个最弱。谁强谁弱,人工智能大哥可以告诉你。但是告诉你了还填不对,就是NLP的能力问题了。 宋: 隐喻之类的,是二者之间。 白: 隐喻另说吧。 宋: 这是句式语义,字面问题。“这个人连班长都不认识”。 白: 这个也可以假装没有歧义,咬死了“这个人”是主语,“班长”是宾语,也可以交差。只不过把填坑的任务转嫁了而已。 parser是“能做多少做多少”,还是“能做多少做多少”?还是“面子上能做多少做多少,实质上能做多少做多少”? 确实有个取舍。 我: 这些个特别句式或特别的说法,它的歧义是容易识别的、它的标配语义是清晰的、它的排歧是困难的。 费了半天劲,还是很难排除歧义,不如止于识别,或者止于标配(以后可以翻盘)。 宋: “这个难民连奥巴马都不认识”。这种话的理解,确实需要知识。但在计算语言学中,可以先悬起来,问大哥:奥巴马不认识一个难民是常规还是一个难民不认识奥巴马是常规?大哥告诉他前者是常规,于是小弟得出答案:这个难民不认识奥巴马。如果大哥不告诉小弟,小弟只能把结果模式和需要的知识都摆出来,收不了口。 宋: 没错。“拿多少钱干多少活儿”。 “有多少能力干多少活儿”。 白: 止于识别并保留明确的翻盘接口。 止于标配。 我的选择。 没有外部信息,就按先来后到了。 宋: 字面上的东西,计算语言学责无旁贷。堆栈模型就是字面上的。 白: 要翻盘,从队列里按顺序翻就是了。 宋: 难民的例子说错了。奥巴马不认识难民是常规,于是小弟知道是难民不认识奥巴马。 白: 知名度低的不认识知名度高的信息量大。 实力最弱的打不过实力最强的是标配。 填的时候,不是“两可”而是填这种系统调用附带逻辑约束。这样外部知识应用就有方向了。 宋: 标配就是缺省值,对吗? 白: 是。 我: 这些算标配了。 标配的翻盘可以在识别了这种歧义的句式的时候,设置一个 tag,后去的模块可以考虑基于 tag 所指,看有没有其他的依据去翻盘。 白: 不仅值缺省,标签也缺省。我是这个意思,见图: 我: 看成了 臭巴马。哈。 白: 嗯,字臭么。 知名度的值或序,外部给。但是除了这个,NLP都可以确定。 我: honestly 这样做系统,容易限于烦琐哲学。另一个风险是,容易引起很难判断的“语言外知识 vs 语言内句式的标配语义”的较劲。Case by case 可以说得头头是道,但也极易捉襟见肘,或聪明反被聪明误。毛主席说:知识越多越反动。 白: 贫下中农说,背着抱着一边儿沉。 我: 一个系统负载太多的碎片化知识,会陷系统于不鲁棒不好维护的境地。Stay simple,stay foolish,stay knowledgeless,as much as possible。 白: 加起来总是繁琐的。 我: taxonomy 这样的本体知识 hierarchy 用起来副作用较少,因为可以用这些 taxonomy 做细化的规则,下面的粗线条的标配并不变。但是一旦开始用常识或世界知识,这些非元知识的系统,危险大大增加,很容易弄巧成拙。 白: 角度不同。一个既要做parser又要做应用的开发总负责人会做合理分工的。这不是世界知识,只是一个接口,甚至你可以不命名。只用内部编号。总之,填坑的方案取决于一个量的外部排序。 我: 知名度当然是世界知识,不是本体知识。奥巴马知名度高,是一个非常实在的世界知识。 白: 可以不叫知名度,这行吧。叫external-quantity123,到时候给映射上就OK。 我: 叫什么都不改变知识的性质,这些知识是与 entity 关联的图谱性的东西,而不是不随世界而变化的本体知识。 奥巴马与一介平民的比较还好,换成两个其他人名,几乎没有可操作性。 白: 不可比,就不代入人名,死不了啊。实际上,语义场理论里,序结构是个基本的结构,这个完全是可控的。拿不可比的序关系说“连....都...”句式,那是语病。那种情况下不可操作是天经地义的。如果是人机对话,机器遇到人说了不可比的情况,可以生成问句,进一步追问二者在相关外部量上的排序。比如“不认识”可以驱动对知名度排序的追问。“打不过”可以驱动对实力排序的追问。parser只要能表示“孰高”就OK。 我: exactly,如果是人机对话的语用场景,问题根本就不存在。上帝的归上帝,人的归人,机器的归机器。机器只需识别歧义,which is tractable and easy in most such cases,消灭歧义归人。用些小的技巧就可以实现,一点都不困难。我专门为此写过两篇笔记。很多看似极为艰深的语言歧义,到了人机交互现场,简直就不是事儿。 白: 还要让人的体验好啊……不是为了消灭歧义而消灭歧义。 要让人知道机器除了问人的那一点不知道,该知道的都知道了。 我: 《 立委科普:机器可以揭开双关语神秘的面纱 》and 《 贴身小蜜的面纱和人工智能的奥秘 》 QUOTE:“世界上怕就怕认真二字,昨晚对‘双关语’认真了一回,发现微妙的外表下面,是简单的实现可能,绝大多数双关不过是一词多义而已,识别它没有难处。 自动消歧自然是难,但是有消歧的必要么?双关之所以叫双关,就是否定消歧的必要性。” 白: 双关不在结果而在过程。 我: 要点是,一个词的多义,或者一个句式的多义,识别它非常容易。 白: 过程是休眠唤醒,最后都留下。中间一个休眠了。没这个过程,是索然无味的。“对付”人机对话太容易了,做好不容易,要有点追求么。 我: 不说人机对话,感觉上,需要核心引擎用细琐的知识排歧的语用产品,不为多数。 信息抽取是一个重要的语用场景,过去17年就做它了。虽然理论上说,所讨论的那些排歧和填坑,可以帮助抽取和抽取的信息融合(info fusion)。但实践中,在信息抽取(或知识图谱)的任务确定以后,信息融合所需要依仗的支持,在大数据的信息冗余的自然帮助下,很少要用到核心引擎的细颗粒度的排歧和填坑。这个体验是经验性的,可以信或不信,但这是真实的感受:独立于 domain 的细琐的语义求解对最终的知识图谱任务,没多大帮助。细颗粒度语义有科学意义,实用意义不大,况且很难实现。一个 light weight 的 deep parser 就够人忙的了,还要加载细琐语义,这是要压垮系统的节奏。 白: 排岐并不是唯一目的。设想尼克问你:你咋连冰冰都不认识?你回答:冰冰谁啊?这不是在排岐,但却使用了你自己的知名度排序,把冰冰知名度说的一钱不值…… 我: 多数语义最好与语用一起做,而不是超前,虽然理论上超前的语义可以对所有语用有益。 其实这个道理与为什么大多数知识图谱项目并没有采纳 FrameNet 作为中间件是一致的。 理论上,FrameNet 的存在就是为语义和语用架设一座桥梁。 但实际上,稍微尝试一下就会发现,与其先瞄准 FrameNet 然后再从 FrameNet map 到语用的domain 定义的目标, 不如直接从句法结构去做domain语用。 后者不仅省力省工,而且更加容易掌控和debug。总之根本就没有可比性。 白: 即便董老师做Hownet,傻子也看得出来他的语用是机器翻译。世界上没有超前的语义,只有超前的语用。语义和语用不匹配是自己没把握好 我: 同意。 可以总结一下我的经验和立场了: (1)WSD 这一层的词义 ambiguity,原则上 keep it untouched。很多词义的区别属于nuances,并不影响本体知识的 taxonomy的features,如果遇到两个词义相差大,那么就两条路径的 taxonomy 全给,系统用到哪条算哪条。以此来维护先句法后语义的大原则。 (2)对于句素之间的关系语义的歧义,PP-attachment 之类,两个策略都可以。deterministic 的策略就是先休眠其他可能,然后在需要的时候在后续的模块做reparsing去重建 non-determinitic parses 唤醒并重选。第二个策略,就是注重 identify 这种歧义,但不去排除它,而是都给连上(当然可以有个排序)。句素间连上多种parses,没有什么负担。一个Node 既连成了主语,又连成了宾语,虽然是违背了依存关系的原则,但却凸显了歧义。后去的模块只要在歧义中选优(排歧),或者语用中都尝试一下即可(不排歧,用语用知识弥补歧义路径的不足)。 (3)对于句素下的歧义,譬如短语内的歧义,最好是休眠,不能带着瓶瓶罐罐去做deep parsing。 这算是语重心长的经验之谈。值100文。 【相关】 【新智元笔记:搭配面面观】 【新智元笔记:汉语分离词的自动分析】 《 立委科普:机器可以揭开双关语神秘的面纱 》 《 贴身小蜜的面纱和人工智能的奥秘 》 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|3953 次阅读|0 个评论
【沙龙笔记:汉语构词和句法都要用到reduplication机制】
热度 1 liwei999 2016-1-30 06:44
洪: 过去有人打着红旗反红旗, 谷歌发明Go语言灭Go游戏。 这些比林彪还林彪的神马玩意, 想让骄傲的人类再也骄傲不起! @wei 能否给我这四句油诗做个parsing,看看还算人话么? 我: 好。我现在不在机器旁。 @洪涛Tao 你的油诗的 parses below: “林彪”活用为形容词使得 parsing 掉了链子 除此而外,其他的 parse links 还都说得过去。洪爷的诗是老妪能解啊。 至少从结构上看,基本是人话,比乔老爷的递归例举强多了。 洪: 好,神马 对应到 什么了。挺与时俱进! 白: 就是个词典。 洪:  窃以为你的parsing结果要通俗化,可以上面加一个deep learning做的mapping。借鉴alphago的做法。 我: mapping 做啥用? 为啥一切都往 DL 上靠? parsing 就是提供一个结构基础,后去可以比较容易根据结构pattern(subtree)去抽取信息而已,或根据结构去精准检索,改善搜索引擎。理论上这些结构也可以大大提高统计模型,把关键词语言模型提升为结构语言模型,但实际上能够在结构和关键词之间玩好平衡的统计模型好手,也不多见。问题出在,扔掉关键词,完全利用结构 features 做模型,模型可能不够鲁棒,对 sparse data 也较难应对。如果既要结构也要关键词,那么 evidence overlapping 的处置是一个挑战。 我: 比NP还AP可以。比 X 还 X 目前还没进入系统。 但是并不困难,因为 unification 和 reduplication 的机制在,就是缺了一条 rule 去 cover 汉语口语中这个 pattern,比林彪还林彪,比乔老爷还乔老爷,比英雄还英雄。这种口语pattern充当谓语性AP。 我: 刚刚 加上了口语中的 reduplication rule 比x还x: 所谓愚公移山,大多指的是这一类。好像做不胜做,但毕竟还是有限的句式。做一个少一个吧。至于名词转成了谓语后,意义上是怎么通过联想而改变的,那就是另一个层次的问题了。 与林彪能联想上的是什么?(1)神机妙算?(2)阴谋诡计?(3)克己复礼? 不同人、不同的场景,有不同的理解。 譬如,与乔老爷对应的谓语呢?固执己见?登峰造极?极左? 持不同政见?如果乔老爷是指的国内的某个大财主,联想到的谓语可能是另外的意义了(贪得无厌?) 这一切都远远超出了结构分析的scope。 白:那名词以什么著称,就在那方向上更甚。 这个由语境决定了。 语义也只是留出替换接口。 看看那段时间的语料,以那名词为主语的,什么做谓语频次最高。如果谓语比较具体而分散,往上抽象几层看看抽象事件/关系的类别。 我: 跟 “的子结构”与what-clause类似,其语义所指是不确定的。系统没必要替人去求解。何况各人的理解都可能不同。 【相关】 《新智元:填空“的子结构”、“所字结构”和“者字结构“》 《泥沙龙笔记:parsing 的休眠反悔机制》 【新智元:中文 parsing 在希望的田野上】 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|4636 次阅读|1 个评论
【新智元笔记:中文处理中的POS、搭配和句法】
热度 1 liwei999 2015-12-1 23:02
白: 今天再砸一块砖:大家说说看,词类标记(POS)有用吗?什么地方有用? 我: 有用,但对于中文parsing不是必要的,词典里的分类是必需的,pos tagging 模块不是。词典里的分类标注可以是 pos 或 pos related 的大类,也可以是更细化的语义类别: 人 家具 电器 等,后者对汉语分析更有用。 白:有些语言有形态变化,形态对POS是敏感的。汉语呢?形态不发达是不是POS就失去了一大依托?另外一大依托来源于“分布”,也就是说用POS写CFG规则,恰好同词类的相互替换都满足同样的规则,可进入同样的句法结构。这个就有点扯了。大部分伪歧义都这么来的。 我: 对,就是扯,成了鸡-蛋的问题了,需要句法 context 来定 POS,然后需要 POS 来简化句法。 聚类总是有用的,它是隐性形式,没有聚类,就没有规则的抽象度。一切靠直接量(显性形式),规则会组合爆炸,除了特别狭窄的领域和用场,是不可能 work 的。功能词可以靠直接量,实词是开放集,一般不能靠直接量,而是要靠聚类标注这种隐性形式(implicit form)。但这并不是说 POS 作为一个模块是必要的,因为聚类可以直接来自词典的标注,歧义的就标注歧义好了(keep ambiguity untouched),反正到了句法阶段,有上下文。 如果细说,词典里面标注的 POS 应该是逻辑POS,而不必是句法 POS。举例来说,工作、学习这些词就是逻辑动词,没有歧义,标在词典就好了,可是以前的POS大都是从句法来考量,于是认为这些词POS有动词和名词的歧义,需要增加一个POS模块在上下文中去消歧,然后再送给句法模块,其结果就产生了鸡和蛋的相互依赖问题,反而捉襟见肘扯不清,容易导致错误放大(error propagation,前面 POS 消歧错了引致句法parse错,所谓POS消歧很多时候是强人所难,因为 POS 在浅层,上下文条件通常不如 parsing 的时候成熟,硬逼迫 POS 去消歧,而不是 keep it as is,其结果是句法擦不完的屁股 ) 。 这些逻辑POS(如逻辑名词、逻辑动词、逻辑形容词)是语义(lexical semantics)分类的最上层,沿着taxonomy (借助类似知网、WordNet等 hierarchy),可以一路往下走,大概走到1000左右的类别数,就可以收了,因为再多,无论人用还是机器用,都有点受不了了,而且过细的分类,对分析理解也没多大用处。 WordNet 的 synsets 数目与词条量相当,都是万这个级别,HowNet 也类似,在万这个级别上。这些语义大师们追求的是自身语义概念系统的自足,不约而同的一路细化到底。 白: 小类多了也麻烦,不敏感的地方好好的一个规则非要分裂成好多个。 我: 但是实际上对 NLP,只有飘在上面的 1/3 或 1/4 的前 1000 个才真正有价值。 白: 这应该可以量化,究竟到哪里就不那么敏感了。 我: 另外,有些词 WordNet 标注有 5 个义项,对应 5 个 synsets,可是砍掉过细分类后,会发现,其实只有两个大的义项区别。譬如,头两个标注的义项其实差别只在 nuance,另三个也是大同小异。对于这种“人为制造”出来的过多歧义,是不用理它的,除非应用场景需要做这种区分(譬如恰好要机器翻译到一个没有亲属关系的目标语言,其翻译对等物不同;而在亲属关系近的语言之间做机器翻译,往往粗线条的义项区分就足矣了)。对于分析,这种细分是没有价值的,只会添乱。 白: 比如,打电话的打,和打酱油的打,对搭配敏感,对句式不敏感。搭配属于波动性,句式属于粒子性。但是义项把他们搅和在一块了。因为搭配敏感性造成的差异,应该从句法规则中剔除。 我: 那是,这就是个性与共性的关系,表现在个性语义搭配与共性动宾关系。说到底就是搭配词典与抽象句法的接口。完全可以既分开又连接。分开的时候只考虑句法,连接的时候解决语义。this is a solved problem for long,在实践中有好几种很漂亮的解决途径。 白: 搭配是个统计现象,不决定合语法性。 我: 关于 POS,以前详细论过,与白老师和王伟等都有相当共识,应该是站得住脚的:见【 中文处理的迷思之二:词类标注是句法分析的前提 】 还有这篇讨论记录也很相关: 泥沙龙笔记:句法语义,粗细不同,POS 靠边 。 搭配是强盗逻辑,可以从大数据的用法统计上找到依据,本质上还是属于词典的特性。属于成语或半成语的固定搭配、黑箱子或半透明的语义组合,不具有纯粹的 semantic compositionality。人是在语言应用过程中死记的,机器当然应该词典化。为什么说“打酱油”不说“击酱油”,没有道理,就是词典绑架。虽然语义是词典绑架的,句法却不是,它完全符合句法的自由特性,可以遵从所有的动宾相关 patterns 的变换:打了酱油;酱油打了;把酱油打了;酱油不值得打;酱油没法去打;无酱油可打 。。。。。。只有在需要语义区分的时候,才需要做这种词典绑架与自由结构的连接(接口)。 白: 打了电话;电话打了;把电话打了;电话不值得打;电话没法去打;无电话可打。。。。。。 我: exactly,所以句法该怎么做还是怎么做,该怎么抽象还是怎么抽象,不能被搭配绑架。 马: “把酱油打了”我理解就是酱油瓶子打碎了 白: 不是啊,让人路过的时候捎带脚做个打酱油的事情,也这么说的。 马: 在这个语境下确实这个意思。 我: 顺带把酱油也打了。 马: 有“顺带”就没有问题了 白: 命令式也没有问题 我: 当然,把字结构的确与 动补合成词(e.g.打碎) 用在一起的概率,高于与 单音节动词的。与此议题相关的隔壁沙龙的讨论反映在 : 《立委科普:固定成语的不固定用法及其机器对策》: http://blog.sciencenet.cn/blog-362400-934716.html 白: 搭配是和句式正交的一种东西,体现波粒二象性。 湖: 1句法:打酱油,把酱油打了; 2语义:打酱油,打电话 3语用:把酱油打了,一指打酱油,一指把酱油瓶打了。 各位老师把语法、语义、语用都说全了 研究容易在三个层面间串 我: 语用不好串,可以搁置(通常语用相关的东西处于信息抽取模块里面,信息抽取放在 parsing 模块后面做比较合理,可以以一当百,以不变应万变,大幅度增强系统的移植性,以前反复论过这种 parser+IE 的系统架构的优越性),先把句法语义接口做好,其实是句法和搭配词典的接口。 困了,撤了。明早起来看各位的讨论。 白: 伟哥好把式 wang: 看了今天的讨论,收益匪浅!真是一个很好的学习机会!谈的都是干货,抓的都是硬骨头。 【相关】 《立委科普:固定成语的不固定用法及其机器对策》 【 中文处理的迷思之二:词类标注是句法分析的前提 】 《泥沙龙铿锵三人行:句法语义纠缠论》 泥沙龙笔记:汉语牛逼,国人任性!句法语义,粗细不同,POS 靠边 泥沙龙笔记:漫谈语言形式 泥沙龙笔记:骨灰级砖家一席谈,真伪结构歧义的对策(1/2) 泥沙龙笔记:骨灰级砖家一席谈,真伪结构歧义的对策(2/2) 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|4568 次阅读|4 个评论
【立委科普:NLP 中的一袋子词是什么】
liwei999 2015-11-27 10:09
curtesy of http://www.python-course.eu/text_classification_python.php 很久以来,主流 NLP (Natural Language Processing)就在这样的一袋子词里面做文章,有时候也确实做出了蛮漂亮的文章,都是用的基于统计的机器学习。这一袋子词何时有用,何时失效,有什么神奇和奥妙,又有什么陷阱和软肋?这些以前写过系列博文(见篇末【相关博文】)不同角度论过。这是革命的根本问题,涉及两条路线的是是非非,甚至会遭遇类似宗教战争一样的偏执,但为后学计,怎样论也不嫌多,兼听则明。 NLP中为什么叫一袋子词(bag of words,BOW)?机器学习的 袋子里装的什么词? NLP的对象是自然语言文本(speech 不论),具体说来,根据任务的不同,这个对象是语料库(corpus)、文章(document)或帖子(post),都是有上下文(discourse)的text,作为NLP系统的输入。对于输入的text,首先是断词(tokenization)。断词以后,有两条路可走,一条路是一句一句去做句法结构分析(parsing),另一条路就是这一袋子词的分析,又叫基于关键词(keywords)的分析。所以,一袋子词是相对于语言结构(linguistic structure)而言的。换句话说,一袋子词就是要绕过句法,把输入文字打散成词,然后通过统计模型,来完成指定的语言处理任务。 第一个问题就是,为什么一袋子词也叫做关键词?这是因为这个袋子里面的词并不是输入文本的全部词的集合,通常的做法是要剔除一些对于统计模型没有意义的词,所谓停止词(stop words),就是那些使用频率特别高的功能词之类,譬如连词,介词,冠词,感叹词等。剔除了停止词后的词,一般叫做关键词。 接下来的问题是,排除了停止词,信息不是损失了么?是的,信息损失了。作为功能词的停止词,对于自然语言句法很重要,它们往往是语言文句的重要连接组织(connecting tissues),是显性的语言形式(explicit linguistic form),与词序(word order)一起帮助构成合乎文法的语言结构,对于分析理解语言相当关键。然而,由于一袋子词的方法的立足点就是要绕过语言结构,因此它无法利用功能词的结构信息,结构是没用的。不仅如此,对于这类方法,高频的功能词不仅没用,还有干扰作用,影响统计模型的功效。只有忍痛割爱了。 第三个问题是,语言文句是通过词及其句法结构表达意义的,排除了结构,只用词,怎么能做语言的自动处理呢?两条腿走路,现在成了一条腿,怎么能走稳? 好问题,也是核心问题,要细谈可以给你谈三天。 简单的回答是,是的,一条腿走路确实走不稳,遇到上坡或爬山,也许寸步难行。但是并非所有的NLP任务都是爬山那么难,一条腿用得好,也可以走很远的路。而且一条腿也有一条腿的好处。好处之一是简单,只要一个断词一个过滤,就出来一条腿了,而建造第二条结构的腿则须花苦功夫(即 parser,事实上,对于不少统计专家,即便花了力气也很难造出一个靠谱的 parser 来,因为语言学并非他们所长,自己写语言文法对他们比登天还难,退而求其次,理论上可以用万能的机器学习去学习人的文法知识,但反映这些知识的句法树训练库又远远不足,很难奏效)。第二个好处是,反正只有一条腿,也就不用协调两条腿走路了,研究探索发现,在统计模型内部,即便有了 parser,加入了结构,要想协调好词和结构达到最佳效果,殊为不易。 需要强调的是,一袋子词模型(关键词模型)是简单的,因为简单,也带来了一系列额外的好处:鲁棒、highly scalable、移植性强。既然撇开了结构,文本之间的区别只剩下用词的不同,系统自然鲁棒起来,较易容忍输入文本的错误和混杂。第二,模型单纯,有快速实现的算法,容易 scale up 到大数据上。好处之三是移植性强,表现在,如果任务合适,移植到特定领域或其他的语言,算法甚至 feature design 都可以基本保持不变,只需要变换训练集重新训练即可达到类似的效果。必须承认,这些都是实实在在的好处,前提是这套方法对于某项NLP任务是合适和有效的。 那么什么是一袋子词比较拿手的NLP任务呢?公认有效的任务有至少有两大类,一类是 document classification(文件分类),另一类是 (corpus-based) word clustering(词的聚类)。前者基于有监督的机器学习(supervised machine learning),分类预先定义好,并反映在大量的标注了类别的数据里(训练集),用得合适具有广泛的应用;后者是无监督的机器学习(unsupervised machine learning),因为无监督,效果和用场都有限制,但是作为词典习得(lexicon acquisition)或作为半自动的人机合作,仍然具有相当的价值。考察这两类任务,容易发现他们的共同特点就是处理对象的单位较大,前者是文件,后者更大,是针对整个语料库。处理对象大意味着口袋大,里面装的词多。这时候,用词的频率分布,所谓关键词密度(keyword density),就为解决任务提供了统计上靠谱的保障。这里的道理就在,无论是文章,还是语料库(文章集),作为语言表达的载体,它们的用词都有一种自然的语义相谐性(semantic coherence),绝不是词汇的随机集合。充分利用这些语义相谐的统计性,可以为粗线条的NLP任务分类或聚合,提供隐含的语义支持。如果把语言现象比作森林(文章或语料库)和树木(文句或帖子),可以说,关键词模型擅长从森林看趋势,而不擅长对每棵树条分缕析。 有了上述对一袋子词作用原理的理解,就为回答和理解下列问题做好了准备。什么是一袋子词手段的软肋,关键词模型何时失效?答案有两方面,这两点也是相互关联的。一是当处理单位很小的时候,譬如短消息或句子,袋子里没多少词,可数的几粒米做不成餐,巧妇难为无米之炊。二是当语言现象需要深入的语义分析的时候,所谓细线条的任务,譬如抽取舆情背后的理由,具体事件或关系等。因此我们说,短消息占压倒多数的社交媒体是关键词模型的命门。社交媒体本身尽管是大数据,但它是由一条条消息(posts)组成的,而在移动互联网时代,社交媒体的短消息趋向越来越明显,反映舆情和新闻事件最快最主要的短消息平台Twitter 和微博等应运而生。其中的每一条短消息都是相对独立的处理单位,表达的是网民的碎片化舆情或事件关系的报道。这些短消息平均十几个词长,除去停止词后,根本就没有具有统计意义的足够量的数据点,要做舆情分类或数据挖掘自然捉襟见肘,不足采信。结论就是机器学习面对社交媒体无所依托,难有作为。 最后需要为关键词模型及其倡导和实践者说句公道话。一袋子词里面没有句法结构,这是一个重大缺失,搞关键词模型的机器学习学者不是不清楚,也不是无作为。作为之一就是用所谓 ngram 来模拟句法,事实上 ngrams 分布被广泛应用于关键词模型。只有当 n=1 的时候,才能说该模型彻底放弃了句法,把语言现象完全看成是一袋子词的集合,这通常被认为是关键词模型的baseline,后备(backoff)或缺省(default)模型。很多模型是 bigram (n=2)和 trigram (n=3)的,不过 n3 的模型也极少见,因为 n 越大,数据就越稀疏,对于有限的训练集,已经没有统计意义了。ngram 到底是什么东西,为什么说它是对句法结构的逼近?(批评者可以说它是对句法的拙劣模拟,但无论如何总比完全不理句法好,ngram 至少承认了句法在语义求解中难以舍弃的功用。) ngam 中的“gram”指的就是词,这些词本来是完全打散装进袋子的,ngram (n1) 加入以后,训练集中的n词的序列也被作为复合单位加进了统计模型,因此袋子里面就不仅仅是一个个的词了,也包含了潜在的词组,而这些词组里面可能隐含的句法结构关系也就被隐性代入了模型。这就是为什么关键词模型在过去的30年间能够走得那么远的主要原因,因为语言的句法结构被间接地表达了。譬如在 bigram 模型里,短消息 I love iPhone 里面的两个 bigrams 序列片段 和 ,前者反映了主谓结构关系,后者反映了动宾结构关系。很显然,这种用相邻词的组合来近似表达可能的句法关系,有先天的严重局限,它无法反映嵌套结构(embedded structures),更无法捕捉长距离的句法关系(embedded or long-distance relationships)。因此,对于 NLP 中的细线条的任务,ngram 模型无法匹敌以 parsing 为支持的系统。 【相关博文】 一袋子词的主流方法面对社交媒体捉襟见肘,结构分析是必由之路 2015-11-24 一切声称用机器学习做社会媒体舆情挖掘的系统,都值得怀疑 2015-11-21 【立委科普:基于关键词的舆情分类系统面临挑战】 《泥沙龙笔记:再聊关键词和SVO》 泥沙龙小品:关键词必须革命,没商量的 《立委科普:关键词革新》 《立委科普:关键词外传》 《泥沙龙笔记:铿锵众人行,parsing 可以颠覆关键词吗?》 泥沙龙笔记: parsing vs. classification and IE 泥沙龙笔记:parsing 是引擎的核武器,再论NLP与搜索 没有语言学的 CL 走不远 Comparison of Pros and Cons of Two NLP Approaches 提上来:手工规则系统的软肋在文章分类 【科普笔记:没有语言结构可以解析语义么?(之二)】 【研发笔记:没有语言结构可以解析语义么?浅论 LSA】 【立委科普:语法结构树之美】 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|7452 次阅读|0 个评论
《泥沙龙铿锵三人行:句法语义纠缠论》
liwei999 2015-10-27 08:19
白: @wei 微博上的讨论很有代表性。 我: 看到了,这个错误放大(error propagation)的问题,我以前也讨论过。很多人是杞人之忧,包括雷司令。 @雷 你上次说到,parsing 需要准确才好做知识图谱。还说差之毫厘失之千里,其实完全不是这样子的。估计你是深陷在你的 parser 里面,还没有真正放开手做知识图谱的工作。 说句实话,所有的抽取工作,对于 twitter 和微博这样的短消息的细线条的舆情抽取是最难的,知识图谱这样的工作比起前者简直就是 piece of cake. 我们跟舆情奋斗了这么几年,比较了一下里面的复杂度和tricky的地方,也比较了里面实现的规则,可以说,最难的果子已经吃过了,剩下的大量的知识图谱类的抽取挖掘关系,在 parsing 的基础上,就是一个单纯的工作量的问题,没有门槛,没有难度。 信息抽取中的两大类,一类是客观事实类抽取(关系和事件),针对的是客观语言(objective language),这就是知识图谱的主要内容。另一类是舆情抽取,针对的是主观语言 (subjective language),情绪和评价类。后者的难度高出前者太多。 客观事实类抽取包括:专名 NE, 这是做基础的工作。下面就是在这些NE之间找关系(relationships),找事件(events)。为了抽取出来的东西可以整合(fusion),为挖掘服务,里面还有一些 CO (coreference)的工作。 雷:  知道Watson是怎么抽取相当于100万书籍的知识吗? 我: 上次我就说,如果主语宾语弄错了,那么按照错误放大的说法,抽取是不是就一定做不了呢?答案是否定的。parsing 错了,也可以支持抽取。只要错误是可以预见的,错误不是全方位的。 推向极端就是 @白硕 老师的“意合”系统。你看,根据词和词的 semantic coherence 的某种模板,甚至没有 parsing 都可以做。 何况有了 parsing,不过是 parsing 偶然断链,或错置呢? 有很多弥补 parsing 错误的手段可以在接近产品的层面施展,包括 domain knowledge 和 ontology。 雷:  我做过英文文献的药物副作用的抽取。严格的svo,结果不错。但我的感觉是,如果parsing再准确一些,结果会更好,而且事后的处理要少很多。这个仅仅是我的感觉。 我: 再准确也不能完美,主要还是思路要转变。 提高准确性是一个 incremental 的过程,而且一定会遇到 diminishing return 的两难。关键是在做抽取的时候,要知道,利用 node 的信息,可以弥补 arc 信息的不足。node 就是词,arc 就是句法。句法不够,词来补,因为词本身就是语义的最基本的载体,里面可以玩出很多名堂来,包括 ontology。 雷: NLP像地基,如果结实,可以起高楼。后续的修补要少,后面的工作就是建立FACTS,问题是战线要拉多长。 白: 意合法从来不拒绝partial parse tree,句法有什么拿什么,没有也憋不死。 我: Parsing 当然是地基,地基好了一定省力,这都没错。这么多年鼓吹 deep parsing 就是基于同样的理念,因为业界的 parsing 太 shallow, 没有地基。中文NLP 玩了那么多年的业界,谈起 NLP,默认就是切词,或者在切词上做一点啥,譬如 base NP。 雷: 事后修补也是对的,这个在认知心理学中也有证明。但是,这种事后修补在认知中不是大量的。工程的探索和应用是一个方向,认知上探索也是一个方向。 我: 白老师,严格的说,不是句法与语义配合到怎样的比例才做好系统。我们实际上是说,显性形式和隐性形式怎样搭配,才能出一个高效的NLP系统来。可以简单地用句法手段来代表显性形式,语义手段来代表隐性形式,但是说句法语义容易歧义,不容易讨论清楚问题。所以上次,白老师提到 POS 有时候有害,不如语义分类好用。其实白老师说的不过是粗线条的隐性形式POS(一共就给词做10多个POS分类)和细线条的隐性形式(成百上千的语义分类),后者对于汉语分析的重要性。这个没有任何疑问,因为说的都是一家:隐性形式,都是语言里面看不见的形式,都是人必须在词典了给出的 tags,或者需要专门模块去给的 tags。所以我说,再纯粹的语义系统,只要是为工程用,就绝不可能放着显性形式不用,而去舍近求远地依靠隐性形式的语义。只有理论研究,可以放弃显性形式,因为放弃了显性形式,可以从理论上做出一个 universal parser,它可以 parse 人类任何的语言。显性形式(词序,小词,词尾和其他语缀)是 language dependent 的,只有剔除它,才可以做纯粹语义 的系统。 雷: 同意,不能放着有用的信息不要。我觉得模拟人的认知可能最是捷径。 白: 前提是,句法不能挡路,不能说你分析不出来了还不让语义按自己的逻辑往前走。 我: 还有,纯粹语义系统肯定不如显性形式可靠。在显性形式可以决定的时候,没有语义(隐性形式)出场的必要,它只会添乱。乔姆斯基的 Green ideas 的伟大实验就是要证明,显性形式能够做决策的地方,语义和常识都失效了。汉语中,“铅笔吃了我”,“铅笔把我吃了”,就是又一例证。绝对不会因为有了隐性的语义格框:动物-吃-食物,就可以用来解决 “铅笔吃了我” 这样句子的语义,这时候是(显性)形式的句法所决定。这样的句子就是显性形式词序或小词“把”在主导,没有语义(隐性形式)出场的空间。再举一个有力的例子,在有显性形式的格标记的语言,宾格基本对应的就是宾语。没有一个 parser 会不利用显性形式格标记,来做分析的。因为它明明告诉了“我已经标注好了,注定要做宾语”,你有什么道理要按照 这样的语义框格去找宾语呢? 白: 注定的话也不要说绝了。在幽默或修辞的场合,会来翻旧账的。 我: 意思你明白的。 雷: 语意是一个没有学过语言学的人可以说上一些东西的,但他很难说语法的东西 白: 你说的那不叫语义学,叫学语义。 小词本身也携带语义信息、结构信息,比如“的”。为什么我说从语义角色指派的逻辑上看“这本书的出版”和“这本书的封面”有很多共同之处甚至本质上相同,就是因为它的回环结构。 雷: “这本书的出版”和“这本书的封面”的相似度又有什么计算方法吗? 白: “出版”有两个坑,“封面”有一个坑。“的”是提取坑,不管一个两个,不管动词名词形容词。 雷: 出版与封面在wordnet上有什么近似度吗? 我: 你那个“的”是提取坑,我搞不明白 出版是逻辑动词,封面是逻辑名词,迥异。 雷: 封面是没有坑的,有属性,封面是一个class,坑是method提供的。 白: 有坑,part-of,是什么的封面 我: 这是一个 single-arg 的坑,partof 和 wholeof 互为坑。语义面上的,不是传统句法subcat上的坑。 白: 对,一价和二价的差别,如果规定从右边的变元提取,就没差别。右边饱和了,就往左挪。及物动词填掉一个宾语,就成了不及物动词。与此类似。 我: 具体谈一下这两例。结论是? “的”作为显性形式的小词,其提取作用,与英语小词 of 和 's 类似: translate A into B -- translation OF A into B A's translation into B a book's translation into B a book's title 白: “的”的定义,就是f(x1,x2,……,xn)的xn,你给我一个f,我就给你一个xn 雷: 以面向对象的模型类比,class,method,和attribute,书是class,封面也是class,但封面又是书的一个attribute。 我: 一般的关系分析并不深入到“partof”这个级别。一般遇到 “的” 或者英语的 's/of ,就是粗线条分析到 Possessive 这一个包罗万象的关系为止。这本书的封面,粗线条就是,“封面”属于“这本书”。而“这本书的出版”则不用,所有的分析都指向动词的 subcat。 白: 粗线条对于汉语不行。汉语有显式的句式与part-of有关。 我: “这本书的出版”,只是利用了小词“的”,把动词名词化,与动词直接加宾语,分析同: 出版加宾语,通常在右边,这是一条。 变式就是:可以名词化,用 “的” ,宾语前置。 白: 比如 “老李把脚冻肿了”,缺省是老李的脚,不是别人的脚。 我: 那是,不过这个分析真地太细。 雷: 老李的脚是一个NP 白: 老李的脚,老李的讲演,老李的意见 我: 缺省是老李的脚是常识,否则就会显性的把别人的脚表达出来。英语 “撞了我的头” 常常是: hit me on the head,这个 the 缺省的就是 me。翻译成汉语就用显示的 possessive。 雷: 老李的人的概念,提供属性与构成结构 白: the有anaphor的功能。 我: the 不过是显性地标注了 anaphor ,汉语没有 the,默认的还是 the,而不是 a。凡是一个名词表示非限定的含义的时候,其汉语的用法和条件相对来说,比较可以找得出来。而默认的 the 的含义,不太容易找出条件来,所以默认是个好东西,不需要去定义外延,外延靠别的东西去定义。 雷: 昨天不是有一个language universal的帖子吗?相近原理。 白: 看看汉语讲故事怎么讲:从前有座(a)山,(the)山里有个(a)庙,(the)庙里有个和尚讲故事。 我: 对,我们其实有 a,但常常没有 the,于是 the 是默认。量词是 a,某 也是 a, 我们甚至直接用“有”来表示 a (“有人”昨天来讲课了; “有部件”坏了--》一个部件坏了), 当然还有”一“,也可以用做 a,所以汉语表示 a 的形式手段还蛮丰富,因此就不需要 the。. the 是默认,实在还是不清晰,就用 ”这“、”那“ 等指示小词来强调一下限定的语义。 白: 都是不带形式标记的anaphor 雷: 细致的坑是ontologies的。parsing中动词和形容词有坑就可以了 我: 传统的 subcat 的坑是粗线条的,里面映射的可以是细线条的语义约束的坑。语义模板与 subcat 的关系。 白: anaphor 的 trigger 必须带坑。本身共指,或者 part-of 共指。记得 Winograd 讲过一个例子,一个小孩得到了一个礼物。当他打开(the)盒子,发现……。盒子就是装礼物的盒子,用the勾连起来。 我: 恩 白: 咱汉语里都是隐形的,于是“盒子”作为 “坑的 provider”,必须写到词典里。封面,也一样。 我: 恩,封面的优先主人是谁的信息在词典里,针对的是出版物。 白: 出版的受事坑,恰好也是。所以用的,一提取一个准儿。 县长派来的,比这复杂,因为派和来各自提供的坑,被一个“的”给提取了。或者说,派和来,经过了一次内部整合,统一一个坑对外,被“的”给提取了。 派是兼语动词(三个坑),来是不及物动词(一个坑)。 但是“派”最左的坑被“县长”填充,饱和了。“派”的另一个“事件”类型的坑,只能接受“来”。于是剩下的那个类型为human的坑,与“来”提供的类型为animate的坑,统一对外了。 我: 很有道理。填坑最好的是只有唯一的候选人,没其他可选。最麻烦的是要动用语义优先。 语义优先可以作为知识,预先学出来或标出来,或半自动,先学后标(postediting)。可是在使用现场需要层层松绑,想想就头大。 遇到结构歧义(不是伪歧义),还不是松绑的问题,而是对比的问题,要看三角恋的三方,哪一对最有 chemistry。 松绑只是对条件按照 taxonomy 去有步骤放宽,而对比不是,对比需要动态的看随机配对的力量对比。不是不可做,是 overhead 太大。 如果不考虑 overhead 和实用,力量对比的评判比层层松绑更容易,因为前者是二值的,总有一个吸引力更强,后者是趋于离散的。 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|4810 次阅读|0 个评论
《李白对话录:关于纯语义系统》
liwei999 2015-10-23 06:35
李: 白老师的格框语义算法,算是怎样的一个项目啊?探索研究,还是软件工程?似乎是后者。我觉得好难啊。这个感觉与当年(20多年前)董振东老师开始酝酿 HowNet 跟我谈他的构思的时候,感觉很类似。一个是觉得太难,另外觉得特崇拜。因为自己是门都进不去的。董老师居然几十年来持之以恒,发展至今。真是令人心服。 1988左右在高立公司做MT开发的时候,与董老师有半年多时间在一起,有很多交流。 白: 我很不情愿被拿来跟董老师比。董老师是在做事业,我是在玩游戏。 李: 感觉是类似的,语义是个坑,敢跳进去的都值得佩服,无论是玩票还是专业 。 绕开句法的纯语义方法比句法为主语义为辅的方法,大体说来,复杂度高出一个量级,不是不可能,而是很困难。 白: 我不会去学术界抢他们饭碗的,工程、互联网打法和资本市场,我相对更熟悉。 李: 学术界的语义,不提也罢。严格说,董老师的语义路线其实也不在主流圈内,他就是凭着信念和自信去构筑一个知识框架,附加一些工具。工程上第三方用起来并不容易。 Fillmore 的 FrameNet 算是学界的一个标杆,可那是一条得不偿失的路线,地位在语用和语义之间,不如语义格框简明,又不能直接达到语用,两边不靠,地位很尴尬,我以前专门评过,虽然理论上他是一个了不起的反乔姆斯基的语言学大家,一面旗帜。语义路线的评论在《 语义三巨人 》。 quote:“坚持语义和知识为基础的语言处理路线,是一条繁难艰辛的道路。我感觉,语义是个大泥坑,我等凡夫俗子一旦陷进去大多出不来,而能够驾驭它的人均非等闲人物。” 也因此更看好非学界的语义,如果语义可以突破的话。 白: 不落地的知识只是玩具 李: 对,这些语义大师都不大接地气:做了很多细致的工作,但是忽视了工程可行性和简易性。他们的个头都太大。cyc 为最。 白: 知识落地,与商业模式极其相关。 李: 还有一条,最好不要强调语义的推理功能,因为强调了推理,就过分偏向形式逻辑,其结果是追求系统的理论完备, 最终是更加脱离实际和现场。 白: 董老师没有明说出来的应用场景是机器翻译,但机器学习正是大踏步甩开语义方法的节奏。没踩上点儿。 李: 董老师本来是接受前人的教训,但后来我觉得他也还是吃了完备性的亏。 语义自底而上建筑,从数据来,不追求完备,也许更可行,更接地气。 白: 推理不一定是演绎推理,演绎推理也不一定非要达到证明四色定理的程度不可。 根据应用场景来剪裁知识和推理,可以和语言松耦合。 找到合适的毛毛虫,洞穿由不可计算性和NP完全性组成的传统壁垒。 李: 句法(包括词法)是一个便宜直接的手段,有意绕开是舍近求远,工程上不合算。即便像汉语这种几乎没有词法,句法显性形式也使用有限的裸奔式语言,这些形式还是可以在语言理解过程中,省去很多语义匹配的麻烦,更不用说其他的语言了。句法的形式手段如果用features来表达的话,从量上看是在百位数上,不到千,常用的 features (包括POS和一些词法范畴)不过几十个,用起来非常 tractable。而语义的 feature set 却大了至少一个数量级,里面的 hierarchy (taxonomy 以及其他关系)也复杂得多(看看 HowNet 和 WordNet 即知),玩起来自然繁难很多。 即便只选择使用里面的一个高频子集,也在千位数的数量级上,非高手不好玩。还有一条,语义限制条件更多地具有模糊特性,这就是为什么语义系统特别强调“优先”语义的概念,任何语义都不是绝对的,都可以一层层松绑,这就给绕开句法做语义的系统更增加了难度。因此我一直认为,“纯”语义系统只具有理论意义,没有太多工程价值。 一般人都是句法为主,语义为辅,语义只是为弥补句法的缺陷。遇到高手,也许可以考虑语义为主,不排除使用显性句法(包括词法)形式。虽然这一路还是有点主次颠倒、舍近求远的意味,但是在大数据支持下,自底而上做语义为主,庶几可以闯出一条路来,也未可知。 白: 对裸奔保持一种鲁棒性,对句法上合理的结合寄予足够现实的优先考虑,二者是统一的。比如“我是县长派来的”分析到“县长”,不向左寻求结合而向右,就体现了句法的作用。向右结合意味着“等待”,意味着“记忆”,如果不用栈,至少也要有类似的机制。当然不是中递归。“把”就基本上铁定右结合的。除非不是介词把而是名词动词把。 李: “纯”语义系统的学术价值在于,理论上语义系统可以是独立于语言的,一套系统可以对付所有的语言。句法词法之类离不开具体的语言,所以,绕开了句法词法,仅仅从词汇概念出发来构筑语义理解系统,就可以从语言的依赖性上解放出来。另一个意义也是理论上的,如果像汉语这样的常常“裸奔”的意合语言该用小词形式的时候常常不用,那么就需要不借助小词的纯语义系统来对付,而这个纯语义系统应该可以两边通吃,无论句子用了小词没有。这个意义没有实际价值,因为两边通吃的前提是假设纯语义系统能够搞定不用小词的裸奔语句,就像句法系统对付小词丰富的语句一样。这个假设在可预见的将来不会成立,因为少了形式的这条腿,纯语义系统很难达到句法加语义系统的分析质量。 但是,无论多么纯的语义,绕不开的是词汇。如果词汇对概念是一一对应的,理论上可以做出一个 100% 纯粹的语义系统。否则,只要使用词汇手段,语义系统就开始不那么纯粹了。 白: 概念也有人为性。比如格的同一性和命名。“把这把刀切肉了”,不知道算宾格还是工具格。 李: “切肉”作为动宾类合成动词,不再有宾语的槽了。因此这个 把子结构(介词短语) 只能做一般的状语用。在一般的状语中,工具是一种可能的语义关系。 白: 把这把刀切刚买的骨头了. 李: 您的例子已经开始有些怪异了,我听上去觉得不大像 “人话”,也许是我不懂语境。 白: 从人话到不是人话,是个连续统。 “刀刃怎么崩了?” “哦,我把这把刀切刚买的骨头了。” 李: 当然,不过总得切一刀,或者做成层层后退的 backoff 系统,否则一个模型怎么去逼近一个真实语言的外延。 【相关】 【李白对话录系列】 泥沙龙笔记:语言处理没有文法就不好玩了 《科研笔记:自然语言处理领域中的语义路线及其代表人物》 Notes on Building and Using Lexical Semantic Knowledge Bases 【立委科普:自然语言理解当然是文法为主,常识为辅】 【科普笔记:没有语言结构可以解析语义么?(之二)】 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|4972 次阅读|0 个评论
《语义三巨人》
热度 3 liwei999 2014-8-10 13:33
《科研笔记:自然语言处理领域中的语义路线及其代表人物》 如所周知,统计型自然语言处理(Statistical NLP)作为主流盛行了20多年,此前盛行的是以语法分析为基础的规则系统。即便如此,为了模拟人的语言理解过程以及力求语言处理的更高质量,追求以知识系统为支持的语义路线的尝试,从来没有停止过。本篇笔记拟对此做一个简要回顾和比较,并记录自己的心得和不同意见。 就NLP的机器翻译应用而言,在相当长的时期内,统计型机器翻译由于其数据多开发快,善于在浅层模拟人工翻译(特别是成语和习惯用法的翻译)会一直是主流。即便是机器翻译的规则系统,也还是语法为主的路子比语义和知识为主的路子更加切实可行。这不排除在未来,当统计机器翻译和语法为基础的规则机器翻译的改进余地越来越小的时候,人们会重新探索知识路线以求突破。 坚持语义和知识为基础的语言处理路线,是一条繁难艰辛的道路。我感觉,语义是个大泥坑,我等凡夫俗子一旦陷进去大多出不来,而能够驾驭它的人均非等闲人物。 Dr. Douglas Lenat Prof. Charles J. Fillmore Prof. Dong Zhen Dong 语义三巨人 在计算语义界,有三位长期坚持超领域语义的顶天立地的大学者(如果要算第四位,也许应该包括英国的人工智能大师Wilks教授,他早年做过基于语义模板的纯语义机器翻译实验。再往前追溯,人工智能领域早期也有不少先驱者,不过都是在极为狭窄的领域尝试一些玩具知识系统)。这 三位学者前辈 是,坚持常识推理的 cyc 的 Lenat 教授,格语法( Case Grammar )和框网( FrameNet )的开创者 Fillmore 教授和《 知网(HowNet) 》的发明人中国机器翻译前辈董振东教授。他们对自己思想和信念的坚持、执着、反潮流和勇于实践,令人景仰。 这些智者的成果都有某种超时代的特征,其意义需要时间去消化或重新认识。可以预见,将来某个时候,当机器翻译和自然语言理解的应用项目穷尽了浅层可用的低枝果实之后,知识系统将会被进一步发掘、利用和欣赏。但目前多数项目还没有到山穷水尽的时候,急功近利是绝大多数项目和产品的固有特征,而且多数主事者也往往缺乏远见。绝大多数语言处理业者遇到语义和知识都是绕着走。 三位语义巨人中探索知识最深入和纯粹的是 Lenat 教授,他带领团队手工开发的 cyc 知识系统,试图从常识的形式化入手,利用常识推理帮助解决语言理解等人工智能 核心 问题。可惜这套庞大的系统太过复杂和逻辑,在实际应用上有点像大炮打蚊子,使不上劲。 Fillmore 教授是享誉世界的语义学家,他的格语法理论影响了一代自然语言学者,包括中国和日本自然语言处理领域的领军人物董振东教授和长尾真教授。事实上,董教授语义思想的核心概念“逻辑语义”就来源于 Fillmore 的深层格 (Deep Case)。然而,Fillmore 本人的语义发展与董教授的创新发展走上了语义颗粒度不同的两条道路,前者的成果为 FrameNet,后者的结晶是《知网(HowNet)》。 可以从构建NLP应用系统的角度来看 FrameNet 和 HowNet 的不同语义层次,即,从分析器(parser)和应用(applications,包括机器翻译,信息抽取等)的分工合作的关系来看。 语言的分析无论多深入,都不是应用,只是(理论上)缩短了到达应用的距离。就以机器翻译的应用为例,翻译转换可以发生在浅层(极端的例子是所谓词对词翻译系统)、在关键成分不到四个(主谓宾补)和附加成分不到一打(主要的定状语子类)的句法层、在《知网》的90个逻辑语义的层面或者在 FrameNet 的成百上千的 frames 的层面。多数统计型机器翻译都是在浅层进行,通过海量双语训练集,记忆住千千万万大大小小的翻译单位(个体转换规则)。这条路子可行是因为机器擅长记忆。手工编制的翻译系统就很难在浅层进行,因为浅层转换的千变万化超出了人工编制和调控的可能。但是,翻译系统应该深入分析到哪一步实施转换比较合适,是大可讨论的。 我个人觉得,FrameNet 过细(成千上万的 Frames 组成一个 hierarchy,即便只取上层的常用的 Frames, 也有几百个),不仅很难达到,而且实用上没有太多的好处。FrameNet 的提出,是格语法框架的自然延伸、扩展和细化,语义理论上有其位置和意义。但是在实用上,FrameNet 的地位很尴尬,他既不像句法层 argument structure 那样简洁和好把握,也不可能达到语用层的信息抽取模板(IE Template)那样可以直接支持应用(因为信息抽取是依赖领域的,而 FrameNet 原则上是不依赖领域的,或者最多是在语言学与领域之间起某种中介桥梁的作用)。这样一来,从实用角度,与其分析到 FrameNet (这个太繁难了) 再行翻译转换或信息抽取,不如直接从 argument structure 进行(这个靠谱多了,very tractable),虽然理论上前者的转换或抽取应该更加简单直接一些,但是由于 FrameNet 分析工作难度太大,终归得不偿失。换句话说,FrameNet 从使用角度看,语义做得过了(over-done),用起来不方便,没有多少实际利益。 退一步回到句法为基础的 argument structure 如何呢? Argument structure 立足于句法结构,主要论元最多不超过三个(up to 3 arguments):逻辑主语,逻辑宾语,逻辑补语,加上谓词 governor,构成一个四元组,非常简洁,与各语言的词典句型信息 subcat 相呼应,易于掌握和实现。再加上10来个带有逻辑语义分类的状语(时间、地点、条件、让步、结果等)和定语(颜色,材料,来源等)。这样的中间表达作为语言分析(parsing)的目标,作为应用的基础,已经可以应对绝大多数应用场合。Argument structure 中的逻辑宾语和逻辑主语有其独特的概括能力,对于利用句法关系的语义限制排歧多义词和做知识挖掘具有特别的价值。 HowNet 不满足于此,它的体系是对句法为主的 argument structure 进一步细化,譬如逻辑宾语细化到 “patient”、“content”、“target”、“PatientProduct”、“ContentProduct”和“possession” 等子类。最终达到具有90多个逻辑语义角色的相对纯粹的语义表达。HowNet 就是这样一个概念知识体系,逻辑语义是连接这些概念的主要工具。 从主谓宾定状补这样简练的句法关系,深入到逻辑语义的角色,再进一步把逻辑语义细化,常常的表现就是信息表达的浓缩和冗余。HowNet 这样精细的逻辑语义,不仅反映了一个依存概念到主导概念的逻辑结构关系,而且反映了主导概念的子类信息(hence 冗余了)。例如,对于宾语的细化 “patient”、“content”、“target”、“PatientProduct”、“ContentProduct”,“possession” 等,显然是蕴涵了主导概念(谓词)的子类信息,而这些子类信息本来是已经附着在谓词上的。譬如作为 possession 的宾语,其谓词只能是 have、possess、own 这个小子类。信息表达的冗余意味着即便没有深入到细化的逻辑语义,系统并没有本质上的损伤,因为如果需要的话,细化信息依然可以通过句法关系节点的限制条件即时得到查询。 对于逻辑主语逻辑宾语等进一步细化的必要和利弊,我个人觉得是可以讨论的。首先是任何细化都是有开发和处理的代价的。更重要的是,其必要性究竟如何?从追求纯粹语义和逻辑、追求纯净的独立于具体自然语言的元语言表达的角度,我们总可以找到证据,证明细化是必要的。但是,在应用现场,我们也可能发现,对于绝大多数应用,细化并无必要。就拿机器翻译来说,同一语系之间的结构转换在逻辑主语宾语的 argument structure 的对应上有明显的一致性。即便是不同语系,这种对应也是主流,而不对应的可以作为例外,由词驱动(word-driven)的个性转换来应对。以上讨论,有很多例证,写得匆忙,暂时不例举了。 【相关】 【立委科普:机器翻译】 Notes on Bulding and Using Lexical Semantic Knowledge Bases 围脖:一个人对抗一个世界,理性主义大师Lenat 教授 .. 《泥沙龙笔记:再谈 cyc》 2015-12-22 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|13331 次阅读|3 个评论
《科普随笔:“他走得风一样地快” 的详细语法结构分析》
liwei999 2011-10-19 14:21
《科普随笔:“他走得风一样地快” 的详细语法结构分析》
《立委随笔:“他走得风一样地快” 的详细语法结构分析》 (1564 bytes) Posted by: 立委 Date: June 07, 2008 05:18AM 有老友问如何分析句子“他走得风一样地快”。镜兄回答: 引用: “走/得快”是一个区分,不应该是“走/得/快”。 (157425) Posted by: mirror Date: May 30, 2008 07:51PM “他走得风一样地快”的分析是:“他走/得{风一样地}快”的结构。 镜子的分析很到位,层次清晰。句法分析是立委大学和研究生阶段最常做的一种练习了,差不多如数家珍了。 这个句子虽然短,结构还挺复杂,而且涉及现代汉语一些主要短语。更具体的层次分析法是: 首先在主语谓语中间切一刀:他|走得风一样地快 他:由代词构成的名词短语(NP)做主语。 走得风一样地快:是动词短语(VP)做谓语。 其中,得字短语(又叫得字结构)做动词“走”的补语。所以,第二刀切在“得”字前: 走|得风一样地快 得字短语通常做补语表示程度,其构成是:得+XP, XP 指几乎任何短语,由“得”字统率。在此句中,是形容词短语(AP)风一样地快。 形容词短语(AP)风一样地快内部的一刀应该切在做壮语的“地字短语”(又称地字结构)和主形容词“快”之间: 风一样地|快 地字短语通常做壮语表示性状,修饰动词或者形容词,其构成是:XP+地, XP 指几乎任何短语,由“地”字统率。在此句中,是后置词短语(PP: postpositional phrase)风一样。 后置词短语(英语也有少数后置词,譬如ago)与前置词(又称介词)短语句法功能类似,句法上由后置词统率,常常充当状语。现代汉语的一个常用结构是前置词和后置词配合使用,构成所谓框式结构:Prep+NP+Postp, 比如:象...一样(象风一样);在...内(在脚池内)。这样的框式结构常常省略前置词而意思不变,象风一样--风一样;在脚池内--脚池内,就是所谓后置词短语了。 总的结构层次如下: | |地]|快]]] 以上的句法结构分析是比较流行的层次分析方法的结果,当然还有别的分析法。 汉语句法树之美,不下于北美亚洲小姐 作者: 立委 日期: 10/31/2011 16:24:08 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|6853 次阅读|0 个评论
【立委科普:语法结构树之美】
热度 2 liwei999 2011-6-4 20:04
【立委科普:语法结构树之美】
我们知道,语句呈现的是线性的字符串,而语句 结构却是二维的。我们之所以能够理解语句的意思,是因为我们的大脑语言处理中枢能够把线性语句解构(decode)成二维的结构:语法学家常常用类似下列的上下颠倒的树形图来表达解构的结果(所谓 parsing)。 上面这个树形图叫作依从关系树形图(dependency tree,常常用来表达词或词组之间的逻辑语义关系,与此对应的还有一种句法树,叫短语结构树 phrase structure tree,更适合表达语句单位之间的边界与层次关系)。直观地说,所谓理解了一句话,其实就是明白了两种意义:(1)节点的意义(词汇意义);(2)节点之间的关系意义(逻辑语义)。譬如上面这个例子,在我们的自动语句分析中有大小六个节点:【Tonight】 【I】 【am going to enjoy】 【the 【song】 Hero】 【again】,分解为爷爷到孙儿三个层次,其中的逻辑语义是:有一个将来时态的行为【am going to enjoy】,结构上是老爷爷,他有两个亲生儿子,两个远房侄子。长子是其逻辑主语(Actor) 【I】,此子是其逻辑宾语(Undergoer)【the song Hero】,父子三人是语句的主干(主谓宾,叫做 argument structure),构成语句意义的核心。 两个远房侄子,一个是表达时间的状语(adverbial)【Tonight】,另一个表达频次的状语(adverbial)【again】。最后,还有一个孙子辈的节点【song】,他是次子的修饰语(modifier,是同位语修饰语),说明【Hero】的类别。 从句法关系角度来看,依从关系遵从一个原则:老子可以有n(n=0)个儿子(图上用下箭头表示),而儿子只能有一个老子:如果有一个以上的老子,证明有结构歧义,说明语义没有最终确定,语言解构(decoding)没有最终完成。虽然一个老子可以有任意多的下辈传人,其亲生儿子是有数量限制的,一般最多不超过三个,大儿子是主语,次子是宾语,小儿子是补足语。比如在句子 “I gave a book to her” 中,动词 gave 就有三个亲儿子:主语 【I】, 宾语【a book】,补足语 【to her】. 很多动词爷爷只有两个儿子(主语和宾语,譬如 John loves Mary),有的只有一个儿子(主语,譬如 John left)。至于远房侄子,从结构上是可有可无的,在数量上也是没有限量的。他们的存在随机性很强,表达的是伴随一个行为的边缘意义,譬如时间、地点、原因、结果、条件等等。 自然语言理解(Natural Language Understanding)的关键就是要模拟人的理解机制,研制一套解构系统(parser),输入的是语句,输出的是语法结构树。在这样的结构树的基础上,很多语言应用的奇迹可以出现,譬如机器翻译,信息抽取,自动文摘,智能搜索,等等。 在结束本文前,再提供一些比较复杂一些的语句实例。我把今天上网看到的一段英文输入给我们研制的parser,其输出的语法结构树如下(未经任何人工编辑,分析难免有小错)。 说明:细心的读者会发现下列结构树中,有的儿子有两个老子,有的短语之间互为父子,这些都违反了依存关系的原则。其实不然。依存关系的原则针对的是句法关系,而句法后面的逻辑关系有时候与句法关系一致,有时候不一致。不一致的时候就会出现两个老子,一个是与句法关系一致的老子,一个是没有相应的显性句法关系的老子。最典型的情形是所谓的隐性(逻辑)主语或宾语。 譬如第一个图示中的右边那棵结构树中,代词「I」就有两个老子:其句法老子是谓语动词「have learned」,它还有一个非谓语动词(ING形式)的隐性的逻辑老子「(From) reading」,也做它的逻辑主语 (who was reading? I)。再如第二个图示中的语法结构树中,定语从句的代表动词「were demonstrating」的句法老子是其所修饰的名词短语「students」,但逻辑上该名词短语却是定语从句动词「were demonstrating」的主语(actor)。有些纯粹的句法分析器(parser)只输出句法关系树,而我们研制的parser更进一步,深入到真正的逻辑语义层次。这样的深层分析为自然语言理解提供了更为坚实的基础,因为显性和隐性的关系全部解构,语义更为完整。 我们每天面对的就是这些树木构成的语言丛林。在我的眼中,它们形态各异,婀娜多姿,变化多端而不离其宗(“语法”)。如果爱因斯坦在时空万物中看到了造物主的美,如果门捷列夫在千姿百态的物质后面看到了元素表的简洁,语言学家则是在千变万化的语言现象中看到了逻辑结构之美。这种美的体验伴随着我们的汗水,鼓励我们为铲平语言壁垒而愚公移山,造福人类。 后记:When I showed the above trees to my daughter today, she was amazed, pretty! She asked, is this what you made the machine to do in diagramming sentences? Yes. Wow, incredible. I don't think I can diagram the sentences as nice as these. Can some day the machine be smarter than you the creator? Is the machine learning by itself? I said, it is not self-learning at this point and the self-learning system is too research oriented to put into a real life system now. But I do observe from time to time that the machine we made for parsing sometimes generate results of very complicated sentences way beyond our expectation, better than most human learners at times. This is because I encode the linguistics knowledge piece by piece, and machine is super good at memory. Once taught, it remembers every piece of knowledge we programmed into the system. Over the years of the development cycle, the accumulation of the knowledge is incredibly powerful. We humans are easy to forget things and knowledge, but machine has no such problems. In this sense, it is not impossible that a machine can beat his creator in practical performance of a given task. 回答: I don't think tree is the way my mind thinks 1窃以为,句法树迄今仍是大脑黑箱作业的最好的模拟和理论 2 does not really matter 作者: 立委 (*) 日期: 06/03/2011 04:30:20 As long as subtree matching is a handy and generalized way of info extraction. Tree is not the goal but a means to an end. The practical end is to extract knowledge or facts or sentiments from language. In practice, our goal is not to simulate the human comprehension per se , the practical goal is: Quote 在这样的结构树的基础上,很多语言应用的奇迹可以出现,譬如机器翻译,信息抽取,自动文摘,智能搜索,等等。 【相关博文】 《泥沙龙笔记:漫谈自动句法分析和树形图表达》 【 科普小品:文法里的父子原则 】 【立委科普:语法结构树之美(之二)】 《新智元:有了deep parsing,信息抽取就是个玩儿》 泥沙龙笔记:parsing 是引擎的核武器,再论NLP与搜索 乔氏 X 杠杠理论 以及各式树形图表达法 【 立委随笔:创造着是美丽的 】 【 科研笔记:开天辟地的感觉真好 】 【立委科普:美梦成真的通俗版解说】 【征文参赛:美梦成真】 【立委科普:自然语言parsers是揭示语言奥秘的LIGO式探测仪】 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|10977 次阅读|3 个评论
小议"来自于"和"涉及到"
fairyslave 2010-3-8 12:44
来自于和涉及到在人们的语言生活中大量存在,检索中国期刊全文数据库1999-2007年数据可以发现:文章内容中有来自于和涉及到的分别是358739和661417篇。其中,标题中有来自于的196篇,有涉及到的29篇。如果从百度网站查一下,相关记录更是高达几千万。这两种语言组合是否规范呢?我们从语义和句法的角度分析一下。动词来和介词自组成一个动词结构来自,自在这里作从、由讲,来自表示从来。经常有作者在来自后面加个于,例如:新发传染病:来自于美国NIAID的一项为期10年的前瞻性研究,收获来自于对事业的坚守记北京大学基础医学院童坦君院士,来自于天然产物的癌症抑制剂研究进展等。这里,于也是一个介词,而且和自同义,作自、从讲。《现代汉语》 在谈及介词于的用法时列举了一种误用现象:麦吉尔大学素有象牙塔之称,在全国大学评比中曾连续两年名列第一,吸引了来自于100多个国家的外国留学生。来自于100多个国家应该改为来自100多个国家,自和于两个介词不应该连用,于字多余。上面几个使用来自于的标题去掉于后意思不变,可见,同义介词连用,存在重复累赘。在《现代汉语词典》 中,动词涉及的释义为牵涉到,关联到,本身就包含有到的意思,但是,很多人在使用涉及时,喜欢在后面加到,例如:网络环境下图书馆业务涉及到的著作权问题,在硬化萎缩苔癣的发病机制中涉及到氧化应激,谈建筑给排水设计中涉及到的若干问题等。在这些人的语感里,对及的成分意义不敏感,认为及是词法层面的一个构成成分,不再参与句法层面的运作。其实,汉语复合词形成的一个重要途径是由句法结构(短语)凝固产生,一个短语可以在频繁的使用中获得词的功能,例如,涉及就被《现代汉语词典》收录,由短语降级为复合词,但它又没有抛弃短语的特性,在结构和意义上都清晰地表达为牵涉到,关联到。从韵律句法学的角度,认为来自组合年深日久,在人们的语感中已逐渐融合为一个词,介词自的介引功能较之独立介词于已经弱化很多。于是,出于补足来自后基本不能跟单音节名词的缺点和增强介词的介引功能的需要以及语言运用中求新的特点,有着与介词自相似功能的于就出现在了来自之后。还有一个说法,就是介词的双音组合,例如:自从、及至,它们都是同义复用的并列结构,从上古出现沿用至今,表示引进时间或处所。那么,以此类推,来自于和涉及到中的自于、及到也可视为介词的双音组合。不难发现,人们在强调语感韵律时,存在一些想当然:来自不是词,被当作词来使用;涉及是一个有短语特性的词汇化程度不高的词,被当作一个词汇化程度很高的词来使用。这就是误用的根源。参考文献: 1黄伯荣,廖序东.现代汉语(增订三版).北京:高等教育出版社,2002. 2中国社会科学院语言研究所词典编辑室编.现代汉语词典(第5版).北京:商务印书馆,2007.
个人分类: 编辑心得|3468 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-2 16:55

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部