科学网

 找回密码
  注册

tag 标签: 语用

相关帖子

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

没有相关内容

相关日志

[请教] 语法、语义、语用和“集合论”与“数学基础”的未来发展
热度 1 zlyang 2017-2-19 13:12
语法、语义、语用 和“集合论”与“数学基础”的未来发展 想搜集资料。 感谢各位专家给推荐些权威的中英文资料? 从先秦,古希腊等古代, 到魏晋、中世纪, 再到当代。 想思考: 语言的本质,与逻辑学、数学基础、集合论的关系。 当代数学的实质。 相关链接: Settheory.EncyclopediaofMathematics. http://www.encyclopediaofmath.org/index.php?title=Set_theoryoldid=35219 Axiomaticsettheory.V.N.GrishinA.G.Dragalin(originator),EncyclopediaofMathematics. http://www.encyclopediaofmath.org/index.php?title=Axiomatic_set_theoryoldid=12265 Intuitionisticlogic.A.G.Dragalin(originator),EncyclopediaofMathematics. http://www.encyclopediaofmath.org/index.php?title=Intuitionistic_logicoldid=16256 Algebraoflogic.EncyclopediaofMathematics. http://www.encyclopediaofmath.org/index.php?title=Algebra_of_logicoldid=35076 语法、语义、语用三个平面的区别与联系 http://www.gtschool.cn/a/dwfxzl/2013/0413/4538.html 2016-04-22,魏晋南北朝时期的语言哲学思想 http://biyelunwen.yjbys.com/fanwen/zhexue/617598.html 结合王弼的《老子指略》来看,“意”的超越性与“道”的超越性有相似之处,都是终极而超越的,具有“无形无名”的特点,既超越形象亦超绝语言。反过来说,形象与语言皆由于其有限性,而无法表诠终极、无限、全体之道的,正所谓“名之不能当,称之不能既”。语言 之所以存在局限性,王弼的理由是“名必有所分,称必有所由。”名言皆有所指,然由于其所指皆为有限、具体的事物,对于无所不指之道是无能为力的。不仅于此,称谓皆有所诠,然由于其所诠皆为事物某个或某些方面的属性,对于事物的真正本质是无法穷尽的。 同类链接: 2010-01-20, 21世纪数学的3个最重要研究方向 http://bbs.sciencenet.cn/thread-78027-1-1.html 2010-01-20, 超级数学与21世纪 http://bbs.sciencenet.cn/thread-78026-1-1.html 2010-03-29, 什 么是“完全的数学证明”? http://bbs.sciencenet.cn/thread-83926-1-1.html 2012-03-26, AAAS:科学、数学、技术的性质 http://bbs.sciencenet.cn/thread-547503-1-1.html 感谢您的指教! 感谢您指正以上任何错误!
3181 次阅读|2 个评论
【李白对话录之五:NLP 的 Components 及其关系】
liwei999 2016-9-29 09:59
白: “交杯酒”,似乎“交杯”修饰的不是“酒”。“散伙饭”比“交杯酒”好点,可能“饭”单指饭局比“酒”单指敬酒频率要高些。 李: 这不就是一个黑箱子吗,里面啥关系对语义计算有什么用呢?如果有用,那就在词典绑架性标出,如果没用,就不管它。“交杯酒” 与 “酒” 的不同,是前者有个坑 【with+human】:“与张三的交杯酒刚喝过,李四就跟他掰了。” 后者似乎也可以,但那个似乎随机性很强或者后者指的是前者的时候:“与张三的酒刚喝过。。。” 白: 考虑创造新说法的安全性和可接受性,这问题不能绑架了之。见面礼,也属此类。现在流行的“谢师宴”,若干年前肯定是不说的。如何“安全地泛化”,对于语言生成来说是新课题。 李: 如果说的是语言生成,譬如在机器翻译应用,那么,一个系统有选择的余地。不必要翻译成一个短小紧凑的 【合成词】 的表达方式。可以用比较散漫的句法表达方式,这样相对保险,也规避了 word formation 的泛化的问题,因为句法的本性就是泛化和随机,构词法则不然。“谢师宴” 可以表达成 “感谢恩师的宴会”。 白: 人机对话不同 需要惊喜 李: 白老师看的是未来,锦上添花的东西。现如今雪中送炭还远没解决。 如果是 parsing,这种泛化的合成词的确词典收不胜收。汉语的造词能力特强,需要专门的 compounding 的模块去识别。 白: 单字形容词重叠+的,应该是系统性的现象。词典化怎么看都不像正路子。 李: 应该是两手吧。常用的 aa 重叠,尤其是双字的合成词,常规词典有收。系统的 rule 也必须有,娄底,保证recall。何况 “美” 与 “美美” 不是 1+1 的关系。可以被 “美美” 所状的谓词,单个的 “美” 根本不可能,无论睡觉、吃饭。同理,“好好” 与 “好” 也差别很大。可是 “幸幸福福” 与 “幸福” 就完全是规律化、系统性的现象了。即便用法有别,也是系统性地有别。这与 “好好、“美美” 不同。 白: 美美,是当事人感觉美。好好,是提要求/愿望的人觉得满足要求。轻轻,是行动人的身体或者行动人操控的物品宛若很轻。这一切基本与谓词无关。 李: “美美睡上一觉”;“睡一个美美的觉。” 说与谓词无关,谓词不同意吧。 如果无关,辛勤与工作也无关。辛勤也是说人,工作也是说人,当“辛勤”修饰(状语)“工作”的时候,两个人是一个人。 如果说句法上的修饰关系,到了逻辑语义层不应该有所反映的话,那么逻辑语义表达中就不存在定语从句的路径。那么,“我说的话” 与 “我说话” 的语义区别咋办呢? 目前我们的处理是:“我说的话” 有一个小句“我说话”,这个小句有一个修饰的路径(Mod-S)指向“话”。 白: 逻辑语义是一个“结构体”,标配是负载最外层结构的词对外。需要其他词对外时,就需要定语从句来改变。所以定语从句不改变结构内逻辑语义关系,只是指派了不同词语来“代表”结构对外而已。S-mod是一个句法关系,不是逻辑语义关系。 李: 我对逻辑语义的理解是宽式的,涵盖一切由语句表达的涉及概念之间关系的语义,表达的是人对语句的理解。有了逻辑语义,再加上节点上的概念(从语词到概念的映射,理论上要经过 WSD),就可以说人理解语言了。如果是机器达到了上面两项,那就是机器的自然语言理解了。从这个角度看,定语从句不仅仅是表层的句法关系,它也是深层的语义关系(在 argument structure 以外的另一个维度)。 白: “吃饭”,和“吃的饭”,吃与饭的逻辑语义关系不变,只是这个结构体的对外代言人,一个落在“吃”,一个落在“饭”。 李: 没错,吃饭 与 吃的饭 在 arg structure 维度,逻辑语义完全一致。也因此我们的 deep parse tree 上,下面的小句是等同的。跳出这个SVO结构体以外的维度,或者说,这个 SVO 与其他 SVO 发生关联的时候,这种关联也是语言理解的必需,也是语义。至于这个语义及其形式化的表达,叫不叫逻辑语义,那是命名的问题。但它的确是理解的必需,也的确是语义,也不能说不逻辑。对于 “我喜欢吃饭”,这个“吃饭” 的 arg structure 就直接做了 “喜欢” 的对象,到了 “我喜欢我吃的饭”,这个 arg structure 就只能降一级,然后通过 “饭” 来做喜欢的对象。逻辑上,arg structure 只是一个最基本的事件语义元件。 白: 结构体能做萝卜的成分有多个,包括最外层谓词本身。这并没超出逻辑语义范围。真正超出的是语用,比如定语从句有“造成既成事实”因而“强加于人”的感觉。 李: 由于这些元件的叠加所产生的语义,在语言表达中有很多方式,而且语言的节省(或偷懒)原则,使得这些元件的坑里面的萝卜往往省略,造成了语言向逻辑映射的困难,构成了 deep parsing 的挑战。说定语从句是句法形式,表达的是语用,而不是语义。这种说法,可成一家之言。可是,语义和语用本来的界限就有相当的灰色地带,哪些东西可以从语用的边界拉到语义这边,哪些东西可以在语义中挂起来,留待语用去解,都是一个公婆各有理的 practice,实践中就是系统内部(system internal)的协调。 白: “惯于充当世界警察的美国”,就有把“美国惯于充当世界警察”当作既成事实强加给受众的意思。 李: 我个人的原则是,凡是 domain independent 的,都应该在语义里面表达和求解。凡是关涉 domain 的,或应用的,那就先挂起来,留到语用去解。这是把语用(pragmatics)与应用(apps)紧密联系了。定语从句是独立于 domain 的,不管哪个 domain 哪个应用,定语从句所表达的那点意思,都是一样的。当然会遇到有些语义计算的现象,它似乎有某种 domain 独立性,但又不完全。这时候的定夺就有任意性。主张在语义阶段求解的,加重的是语义 component 的负担,节省的是那些对此现象有要求的 domains 的 work,浪费表现在对于那些对此工作没有要求的 domains,那个语义工作就是白费功夫了。 白: 你这语用不是pragmatics,而是language usage。pragmatics一定是领域无关的。但pragmatics同样独立于逻辑语义结构 李: 前者我不确定,也许 community 对 pragmatics 的理解是你所说的,那样的话,“我的语义定义”里面是包含了这部分的。后者好像不对, language usage 一般指的是纯粹语言学的句法、词法、习惯用法等表层的现象。language usage 不是一个语言学的相对独立完整的 component。 白: 或者application,反正不是pragmatics的意思。这误会不是一天两天了,之前听你说语用我就感觉对不上茬儿。 李: 哈哈。 用的不是同一套话语体系,交流的时候要是不相互了解的话,的确很别扭。 举个具体的案例。 费尔默 上个世纪70年代(?)提出格语法(Case Grannar,深层格)的时候,我的理解,这是语义。实际上就是逻辑语义。当他不断把这条路线往下进行的时候,终于越来越趋近语用,最后成就的 FrameNet 在我的理解体系里面是属于 “语义” 向 “语用” 过度的结果(因此我一直批评它说在NLP中不尴不尬),但仍然基本上是领域独立的,可以划在语义的大范畴里面。可是,到了 MUC 创立了 IE 的时候,这就不再是领域独立了,于是就完完全全成了语用。信息抽取领域定义的那些关于事件和关系( 知识图谱的发源 )的 Templates, 与费尔默定义的 FrameNet,从形式上看,是一体的。不过在 FrameNet 里面,成千的 Frames 组织成了一个基本独立于领域的 hierarchy ,到了 IE 就完全放弃了自上而下的这种继承,一切都是零敲碎打,随着领域 随着应用随时拼凑起来的 Templates,直接服务于产品。 白: 指代消解,言外之意推导等,这些才是“语用学”环节要解决的问题。 你在美国,只要不用pragmatics指你说的语用,啥事没有,但对国内的人就不同了。你说的语用,在国内叫知识表示。 李: 指代在我的“科普”体系里面,是另一个 component,属于 Discourse,那是另一个维度,是篇章的维度。知识表示 (knowledge representation)有两大类吧,一类就是 ontology,有普世的,譬如 董老师 的 HowNet,也有领域的,譬如,医学领域的 ontology(本体)。另一类知识表示是动态的、流动的,就是现在红透半边天的知识图谱,其基础就是 IE,加上 篇章的、跨文本的一些工作支持的融合(fusion),包括merging,deconflicitng 等 mining。 白: 句内也有指代,无需篇章。 李: 句内也有指代,所以才有以句子为最大单位的句法的与之交互。交互的结果就是乔老爷的所谓 Binding Theory 或 Principles,但是指代在借助句法做了句内的指代以后,自然的下一步是走向篇章。事实上 乔老爷的 binding 原则之一,就是把句法搞不定的,推向篇章。那个原则是,本句的某个 NP 不可能是这个指代词 (“自己”、“他”)的所指。根据这一原则,句法的作用只是否定了一种可能,留下的是其他的可能,让篇章去寻。 我的相关科普在:【 立委科普:NLP 联络图 】(英文在: OVERVIEW OF NATURAL LANGUAGE PROCESSING )。里面把与 NLP 有关的语言学 components 按照我自己的理解,梳理了一遍。 【相关】 【李白对话录系列】 《 知识图谱的先行:从 Julian Hill 说起 》 《语义三巨人》 【立委科普:自然语言系统架构简说】 【 立委科普:NLP 联络图 】 OVERVIEW OF NATURAL LANGUAGE PROCESSING
个人分类: 立委科普|4289 次阅读|0 个评论
【立委科普:deep parsing 小讲座】
liwei999 2016-5-26 23:59
就上面的parsing实例开一个小讲座吧。群里的学生辈的提问,老师辈的指正。 上图中显然把 “还” 分析错了,道理也明显,因为“还”这个词是特别常用的小词,副词性质,但在此句是用作动词,意思是“归还”。这样的错误就需要系统做细功夫去应对,因为稍不留神,你解决了这个 case,你引起更大的问题,毕竟在绝大多数场合还是个小词嘛。怎么个细活:可以考虑 “还” 与“信用卡” 的 动宾搭配,等于是把“洗澡”类的搭配延伸一下就可以了。 上图第二句的分析,就是我以前说过的结构歧义的应对。你看整个句法树,有三个 O (宾语) 的路径。其中两个是正确的【到-上海】; 【买-上海的飞机票】。第三个 O 【到-上海的飞机票】 是不对的。可以说,“到上海”和“买飞机票”,但不可以说“到飞机票”。这类结构歧义在汉语特别普遍,因为汉语没有宾格,加上汉语的小词 “的”的辖域是一个很大困扰。 在实践中,我们的策略就是句法分析尽量保存歧义(keep ambiguity),把可能的途径全部标示出来或休眠起来,这样就为下一步的语义模块(我叫语义中间件)或者下一步直接做语用层面信息抽取的模块,打下了修正和利用的基础。下面的问题就是,休眠了或保留了多种结构歧义,但是到用的时候(语义落地为产品的时候),唤不醒或辨不清真想要的正确路径怎么办? 这话说起来长了,但简单的回答是,在句法阶段,我们的 parser 核心引擎是独立于 domain 和应用场景的,同一个 parser 可以为各种中文应用服务(舆情,问答系统,自动文摘,智能 bots,等等)。因此,要识别保留或休眠尽可能多的结构歧义路径,不要勉强去排歧。但是到了具体语义落地为产品的阶段和模块,我们就进入了应用的语用考量,换句话说,我们的语义目标聚焦了,或者我们的 domain 固定了。这时候,排歧的条件就比漫无目标的大海一样的句法阶段好太多了。譬如我做舆情,我就聚焦到舆情相关的歧义上,而整个语义大海的其他部分就隐去了,这时候,我因为所有的路径都还在,我就可以根据聚焦以后的词驱动规则去做合适的选择。 理论上讲,词驱动的细线条排歧也可以糅合到句法阶段去做,但是那样的话,你面对自然语言大海,你的核心引擎,就会太庞大了,即便你有能力和资源一点点去做词驱动。这样也是不合适的,因为你很可能做了很多无用功,而且很难维护。事实上也不现实:聚焦与不聚焦大不一样。到了应用场景,问题都是聚焦的。有经验的NLP系统架构师不会那么做。 当然,如果某个语义排歧对于很多应用都可以预见有好处,那么也可以在句法模块以后,进入产品应用之前,做一个语义中间件去做这个工作:句法 --》 语义 --》 语用(语义落地)----》支持产品应用,句法模块是核心,是核武器,但是不要叠床架屋,陷入语义泥潭。条件创造好,后去还有语义中间件可以做一些工作,最后在语义落地的语用层面,因为语义聚焦了,有些难题也可能自然消解和简化了。 这才是NLP做产品的正道、王道。 再进一步说一点,为什么同样一个歧义的难题,后面做,比前面做要合理和合适?道理就在,自然语言太复杂,我们需要分而治之,一步一步从浅层做到深层。在句法规则做线性的模式匹配的阶段,我们的上下文视野是有局限的,局限于线性序列的羁绊。过了句法阶段以后,我们就有树结构了,这时候,我们的上下文条件就清晰了。你想啊,一维转二维了,通过一个 graph(术语叫 dag)来看结构中的上下文,与通过一个线性序列来看上下文,前者比后者的排歧条件好太多了。线性的结构化是NLP的一个质的飞跃。结构图中的 patterns (就是 sub-trees)可以从任一个合适的角度去概括。 其实你们也已经能看到,我现在的这个 deep parser 不是完美的,你总可以发现这里那里的错误,这是所有的 real life 系统免不了的。但是,所有这些错误,都不会总体影响句法分析的进行。错误被局限在局部范围内,这就是我一再强调的,要自底而上层层推进。这样的系统才鲁棒,才能落地为产品。 【外一则】 说说做 deep parsing 的体会吧。 中文的确缠人一些,多数欧洲语言的deep,难度也没那么大。做细了当然要功夫,但总体难度不比 chunking 大,对于俄语和德语,就更容易。 这就跟谈恋爱结婚一样,两个 XPs 看对眼了,眉来眼去觉得条件合适了,就结合了。动名形这些大词有 subcat 的细类,决定与谁谈恋爱。至于 Modifier 和 Adveribial,就直接去傍大款,找靠山。找到了,就投身做小了。不像subcat的明媒正娶,做小的可以有n个,小三啊小四啊。 最后大家差不多都配对了,那就合成了一个共产主义大家庭,分析树就形成了。共产不共妻,虽然在一颗大树下,里面的小两口还是有向直接联系的,不与他人共享或混杂。大家庭里面的核心仍然是小两口为主的 argument structures。 可叹的是这种结构秩序与人类或commnity大家庭一个德性,就是处处不平等。(生来人人平等之所以成为口号和我们世世代代的理想,乃是因为人类社会从来也是不平等的。) 主语谓语小两口,谓语做主。动词宾语小两口,男尊女卑,动词决策。至于小三小四的时间地点程度原因结果等等条件状语,甭管她们多么体贴,多么面面俱到,根本就是二等三等公民。到了修饰语的小五小六们就更惨了,那是大家庭的佣人,与奴隶无异,根本就上不了台面,只能伺候着主语宾语这些小主子,远远望着老爷。 语言成分的 hierarchy 啊。 【后记:新智元语义计算群的相关讨论笔记】 白: 伟哥的两个例子做些补充:一是兼语动词的提示作用:“提醒sb做sth”是一个比较成套路的用法,尽管不是“提醒”的唯一用法,但是会给“还”的动词义项加分;二是“明天到上海的飞机票”从填坑角度出现错配,因为飞机和人到上海才是关键,票到不到上海(物理上)并不是最主要的问题,客票电子化以后,不出票、不打印票、事后打印票的情形大量存在,语言处理上理解为“明天到上海的飞机+票”才更符合填坑的规范,知识处理上“明天”和“去上海”都来填“飞机票”的坑才是正解。 宋: 明天到纽约的飞机票呢? 明天起飞,后天到,也可以说明天到纽约的飞机票. 再加上时差,就更糊涂了。得允许糊涂。 白: 哈 首先是,时间词和介词短语可以并列修饰“飞机”,但不是修饰“飞机票”?再说,里面可能有隐含动词,比如“起飞”?细究起来,买的是“航班服务”,票是享受航班服务的凭证,但是已经虚化了(没有相应物理实体)。航班服务有许多选项,出发地、目的地、起飞时间、航空公司、服务等级(舱位)、乘机人之类。那个是知识层面的事情。语言层面究竟做什么,除非之间把“飞机票”就当作“航班服务”,买凭证是面子,买服务是里子。“明天”是服务开始的时间,与“去上海”并列,共享那个“的”。“飞机票”和“去上海”不是填坑的关系。“去上海的航班”,是说以去上海为内容的航班,航班本身不填坑,反而是去上海要填航班的坑。 宋: 明天和到上海可能是并列关系,也可能是状中关系。并列关系时说的是起飞时间,状中关系说的是到达。有歧义。正式的通知需要更精确的表达方式。 白: 正式无歧义的表示是“明天飞往上海的航班”。考虑到时差,甚至可能是“昨天到夏威夷”。“往”的参照点是未然,“到”的参照点是已然。“去上海”也比“到上海”准确。伟哥原文是“去”,我中间跟“到”混用了。“明天去上海”作为定语从句可以成立了,但不是提取结构,不发生向从句内部的填坑。不是提取结构,就只能是总括结构,被修饰成分以修饰成分为内容。也就是说,被定语从句修饰的“飞机票”是属于那个非标配的小集合的。 宋: 考虑到时区的差别,说话人与听话人是否在同一个时区,说话人是以自己所在的时区为参照还是以听话人所在时区为参照也是影响意义的因素。 白: 伟哥分析树原文是“到”,后面也有与“去”混用。套近乎的话,就应该说“来”而不是“去”。“往”和“到”是相对于过程的,“来”和“去”是相对于说话人的。把听话人的参照点赋予说话人,是一种套近乎,就跟“咱”类似。 宋: 可计算吗? 白: 也不排除狗比狐狸算得更深 宋: 这个例子能否说明下棋程序有空子可钻? 白: 空城计也是,诸葛亮知道司马懿知道诸葛亮谨慎,所以反常理而行之。如果狗知道狐狸知道狗信守承诺,而且狗知道狐狸在关键时刻不信守承诺,就可以将计就计。然后还可以作无辜状。 我: 白老师在绕口令呢? QUOTE 如果狗知道狐狸知道狗信守承诺,而且狗知道狐狸在关键时刻不信守承诺,就可以将计就计 宋: 知道应改成认为。 白:或者认定。计谋的逻辑。 宋:对,认定。 我: 不尽如人意,也懒得调了(有一个patching没到位,掉链子了)。这话非白老师宋老师这样的大知识分子不能说的。也是乔姆斯基毛毛虫的毛边了,不值当花气力了。 白: 有主观性。对有主观性的认知作主观性的表达,反而更客观。 还有“回”。伟哥在美国出生的孩子第一次来中国,也叫“回”,是吧? 我: 甜甜从来都是把中国当成外国 但她知道这是对她最重要的外国 QUOTE 甜甜自记事起,就住在这里,水牛城自然是她心目中不可替代的唯一故乡。记得四年前第一次带甜甜回北京探亲,第一天的晚上住在姥姥家,一切对她是那么陌生,没有她已经习惯的美国卡通电视,她满脸委屈地吵着闹着要回家(“I want to go home!”)--当然是回水牛城的家。我告诉她这就是家呀,是妈妈的家,她怎么也无法认同。 from 《朝华午拾:乡愁是一张无形的网》 【相关】 【立委科普:美梦成真的通俗版解说】 【立委科普:语法结构树之美】 【立委科普:语法结构树之美(之二)】 《新智元笔记:NLP 系统的分层挑战》 《泥沙龙笔记:连续、离散,模块化和接口》 《泥沙龙笔记:parsing 的休眠反悔机制》 【立委科普:歧义parsing的休眠唤醒机制初探】 【泥沙龙笔记:NLP hard 的歧义突破】 【立委科普:结构歧义的休眠唤醒演义】 【新智元笔记:李白对话录 - 从“把手”谈起】 《新智元笔记:跨层次结构歧义的识别表达痛点》 【置顶:立委科学网博客NLP博文一览(定期更新版)】 《朝华午拾》总目录
个人分类: 立委科普|2866 次阅读|0 个评论
《新智元笔记:与汉语离合词有关的结构关系》
liwei999 2016-2-13 15:45
我: 离合词和倒装反问句搅合在一起的句例: 今天下班路上还在琢磨,有时候汉语的小词就完全改变了句子的意义:看下面的 minimal pair:他什么书不读,倒装反问,是说的他无书不读,他读各种书,他博学;而他什么书“都”不读,同样的结构,只是加进一个小词“都”(或“也”)就全反了,说的是他一本书也不读,不读任何书,不学无术。你说汉语机巧不?不过,只要 parsing 靠谱周全,不拉下小词,求解这些语义就不难。 白: 读所有的书,“所有”指向“书”;打所有的仗,“所有”指向“打仗”。 “书卖了”兼述书的下落,“书买了”只是在“to do list”里勾销了“买书”一项而已。 我: 这个无所谓吧,只要提供的接口有一个约定就行了。当一个分离的离合词合并的时候,原宾语节点被抹去,融汇进合成词了。原有的宾语的定语,只能跟着过门了,算是陪嫁。为了区别这个动词的原状语和带过来的定语,一个是 Adv(状语),一个是 Mod(定语),不改变各自关系的原名称。Mod 本身意味着句法关系是指向合成词内部的名词性语素的,而不是指向这个合成词的。就是一个约定,一种表达法的约定的protocol,至于语义在用的时候怎么落地,那须在此约定的基础上做语用层面的重新解释和安置而已。至于“读书”与“打仗”的区别,没必要在句法层面表达。因为这是词驱动的语义细微差别,那就在词驱动的时候做不同的解释或解读好了。“打仗”被汉语句法生生分开了,其实语义上是一个概念。“读书”不同,“读书”语义上是一个组合的概念。 白: 不是的,“下的什么臭棋”的“臭”,形容的不是“棋(子)”而是“下棋(水平)”。这个定语指向“棋”还是“下棋”,应该做出区分。 我: 当然可以或应该做出区分,关键是这种区分是词驱动的。句法已经为这种区分做好了支持。不过是一个词驱动的 remapping 而已,爱怎么区分就可以怎么区分,譬如: 下棋:Mod -- Adv(下棋) 读书: Mod -- Mod (书) 这就区分了。对于下棋,其带过来的 Mod remap 到 Adv,去与整个动词连接。 所有这些表达,都是内部协调,语义语用的接口,大多是为了人好看。 对于机器,只要机制提供了,爱怎么转接怎么转接。总之,难点不在这里。难点还是在句法。句法是个纲,纲举目张。后去就是各种 remapping。很多时候不过是人的一种喜好。譬如在一种语用场合,IE 定义的时候把 hire 的“施事”叫做 “雇主”,“受事”叫做“雇员”。不过是换一个名字而已,可是,不换这个名字,知识图谱的使用者就觉得不舒服。好,那就给你 remapping,句法到IE语用,不就是 remapping 的游戏吗,就是一个玩儿: hire: S -- 雇主 hire: O -- 雇员 Bingo! IE(Information Extraction)在这条规则里面完成了。纯粹就是玩儿,哄人高兴。苦活累活脏话都在parser里面,到了语用,就聚焦了,简化了。以前说parser是IE和语义IR(Information Retrieval) 应用(下一代搜索引擎)的核武器,很多人将信将疑,以为立某自吹自擂,故意要张扬自己擅长的parser,可天地良心,parser做好了,IE就是薄薄的一层remapping,这是相当显然的事实。只不过IE出来的还是碎片,这些碎片需要融合(Information Fusion)才能真正支持大数据的应用。后一步属于 mining 的层面,的确还有工作。很多还是没怎么深入研究过的地带。前一步抽取基本上就是一层皮。 【相关】 【新智元笔记:汉语分离词的自动分析】 【新智元笔记:搭配面面观】 【新智元笔记:搭配二论】 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|5546 次阅读|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博文一览(定期更新版)】
个人分类: 立委科普|3980 次阅读|0 个评论
《新智元:通用的机器人都是闹着玩的,有用的都是 domain 的》
热度 1 liwei999 2016-2-2 08:11
湖: 让机器抓狂: 1.“他看到两个人”,到底是张三和李四还是李四和王五? 2.“金星”、“晨星”、“启明星”、“长庚星”竟是同指 3.“植物是靠它的根从土壤中吸收水分”、“他说的话里有很大的水分”,同是水分,机器怎么分呢? 这些最基础的命名就具有不确定性 从这可以推测出语言靠经验主义,没有经验,难以判断 白: 对影还可以成三人呢。缺省排除自己,例外包含自己同指还有个在不在知识库里的问题,不在的话,可以默认不同指。两个水分,在词典里可以处理成两个义项……当然急智的比喻总该给留下空间。 湖: 白老师说的知识库就是经验了,词典也是。 我: 机器抓狂,是指在语义“落地 的时候抓狂。在此前有什么抓狂的?多数情况,语义和知识的介入都是有限的,对于结构的 parsing 这些 WSD 的问题绝大多数都是可以绕过去的,没啥抓狂的。( 【 NLP 迷思之四:词义消歧(WSD)是NLP应用的瓶颈 】 )一旦到了落地的时候,那就是应用现场了。对于应用现场,很难说抓狂不抓狂,因为每个现场的要求是不同的,有的现场根本就不需要每个歧义都区分。当年批判 WSD 是 NLP 的基础的时候,就是秉持这个道理的。WSD 最好尽可能推后到语用层面做,此前 keep ambiguity untouched(也就是休眠多义)最佳。 湖: 当我们想让机器像人一样时,就不能休眠了。对某些工程应用,可以粗粒度处理。 我: 机器不会像人一样。“机器人”概念上是个骗人的东西。就如 AI 是 misnomer 一样。所谓机器人,其意义和价值都是在应用现场和domain,通用的机器人是不存在的。 湖: 同意您的观点,很多要留给语境,留给世界自身。 我: 很多通用的问题到了现场就不是挑战了:有的问题自动消弭,有的问题大大减弱,因为有了domain、有了局限的 world。很多时候 wsd 从人的理解看可以无比复杂,到底是张三还是李四啊?但是对于机器 就是一个 classification,胡乱猜的概率是 50%,如果是两个词义的话。然后到了现场,不管加上怎样的约束,包括频度的统计,一下子精度就改进了。总之是,能留到最后的就留到最后,能语用做的,不要语法去做。 湖: 两个人,怎么与张三李四关联,统计纯粹猜了。就如同在案发现场,证人说看见了两人,这两是谁,就连福尔摩斯也不一定能断出。语言天生就给了这种不确定性。 白: 所有的自然语言,都是“主述”。无定。就内部申请俩ID就得了。 我: 既然福尔摩斯都不知道,这个问题就不是问题了,还提它做甚。所谓语用现场的语义落地,指的是可以落地和应该落地的东西。本来就不能落地的或不必落地的,没有讨论的意义。 湖: 我观点是语言天生不确定,不确定变确定是世界给予的,不是语言符号系统自身。 白: 不确定,也是相对的。一只老虎......这只老虎 ...... 这只,就比一只,少了些不确定性。或者说,除了坐标原点有不确定性,其他还是确定的。星期二,也是一样。给定了周日,就可以通过偏移量算出来。 我: 举个例说明语用现场的语义落地:当 Siri 针对某个应用开发的时候,那就是。如果针对的是 Clock 这个 app,那就把世界缩小成询问时间的世界。 一切 input 都要落地到 Clock 这个 app 中可以执行的某个操作上,如果落地时候不能越过某个 thresholds 就认为越界了。 湖: 领域严格限定,自然好处理,就类同于编程语言了。 我: 说的就是这个。通用的机器人不存在。不要做无用功。通用的都是闹着玩的(如微软小冰,貌似通用,就是一个为了娱乐,娱乐也可看作广义的 domain),有用的都是 domain 的。 【相关】 【立委科普:歧义parsing的休眠唤醒机制再探】 《泥沙龙笔记:parsing 的休眠反悔机制》 【 NLP 迷思之四:词义消歧(WSD)是NLP应用的瓶颈 】 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|4278 次阅读|1 个评论

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

GMT+8, 2024-5-24 03:49

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部