科学网

 找回密码
  注册

tag 标签: parsing

相关帖子

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

没有相关内容

相关日志

【新智元笔记:parsing 的鲁棒比精准更重要】
热度 3 liwei999 2016-1-24 02:18
白: 转一句拗口的翻译:“她想用这样修图的方式, 来成为我她认为我想让她成为的样子....” 谭: “她想用整容的方式,来成为她认为我想让她成为的样子.... ” 心: 那个翻译我能读懂,觉得还行,哈哈,人能容错:她想通过修图, 成为我心目中的她。 白: 我不是说一定要正确分析,而是说, 分析器怎么能不受干扰地猜出原来的意思。如果吃进一个臭子儿,后面全不work了,肯定不爽。要想前面吃进的全错一位还能起作用, 卷积的优越性就变得很明显了。差一拍,并没有消失,而只是衰减了一个度, 让它们有机会跳过一个“bad token”去结合。后面结合成功了,前面走不下去,后面的结合还可以“拉起来”。 我: 果然我的 parser 这次有点发懵了。 不过,细察也还算是 reasonable, “她”与“认为”之间掉链子了。其他的 local parses 也还能 make sense。 actor 就是逻辑主语,under(goer) 就是逻辑宾语 湖: 李老师的parser够强大的啊 我: parser 的目标不是语义求解,而是提供一个靠谱的结构基础。这样后续的理解 抽取 或其他的应用,就可以看到有限的 patterns,而不是无限的线性序列。从这个目标来看 我的中文英文的 parsers 都已经达标了 白: 我对parser的期待更弱一些,只要能把存在相关的词拉近, 其余的交给统计和语义就可以了。另一侧面看,对它的健壮性的期待其实更强了。 我: 相当同意。 只是一条 在parser提供了结构基础后 是不是要交给统计才好做应用呢? 我觉得不一定 要看任务。 如果是信息抽取 情感分析 这样的任务, 统计“或”语义。 白: “和”太强了 我: 在 parse 上编码 subtree patterns 非常有效 很难说统计方法可以做得更好。 事实上我相信统计做不了人工编码的质量。 但是做挖掘 做分类 做聚类, 那就非统计不行了。 白: 统计不排除人工编码作为监督输入, 无非就是有例外没例外的差别。 北京话什么词语后面可以儿化,上海话什么“大”读成“du”, 可能是人工编码的比较复杂的逻辑组合, 用人工编码基础上的神经网络之类可能会更好。 完全放羊的统计不一定好。 我: 另一个角度是看处理单位。处理单位大于等于段落的 统计较好,处理单位小于等于句子的 专家手工编码更直接有效。 白: 规则做加法,统计做减法,排除伪歧义。 我: 白老师的加法减法论 妙啊 白: 伟哥,你那儿几点了啊…… 我: 七点19 pm 伪歧义只是特定方法的问题,不是普遍性挑战。有一条也很赞同白老师,就是可以探索手工编码与统计的更“亲密” 的合作模式。让手工编码提供 local 的句法或语义的单元,然后让统计去接手。这里的单元指的是比 ngram 高级的语言片段的分析。这条路子是可能发挥各自的长处的,因为搞定 local 的语言片段,对于编码来说,易于反掌。 白: 滑动窗口和组块,可以在卷积的旗帜下统一起来。 我: 还有一条就是,编码提供模式,能固定的全给它固定住,譬如小词, 譬如词序,留几个空位让统计去填。 白: 这就是波粒二象性! 我: 也就是玩平衡的艺术交给统计,有句法踪迹的交给人工。 白: 好孩子(句法规范的)可以在规则的快车道上大开绿灯,坏孩子( 句法不规范但能猜到意思的)让统计来兜底。 我: 不能亲密的原因不仅仅是“宗教”的原因,还有两栖人才的缺失。我们这一行特别奇怪,真正能两边都大拿的几乎没见过。最好的情形也不过是统计的人对语言学兴趣浓厚, 或者语言学家懂一些统计原理,相对可以有一点相互欣赏的可能。 白: 就像今天早上多了那个“我”的例句 我: 加上那个没有来路的“我”以后,测试一下 parser 的鲁棒性: 基本上差距不大,掉链子的地方仍然是个别的,基本的 local parses 并不受影响 鲁棒性在实用系统中比分析的精准也许更为重要。 如果一个地儿错位了,造成满盘皆输,那样的 parser 没法用。掉链子不可怕。掉链子对于多数任务的最终影响很小。原因在,几乎所有的任务都是 subtree pattern based,没有一个任务是要求句子必须有完整的 tree, 因为句子是千变万化的,完整的 tree 不是 pattern 的对象,pattern 必然是 local 的 subtree,by definition。掉链子对最终结果的质量影响仅仅发生在,当一个面相任务的 local subtree pattern 刚好需要跨过那个掉链子的地方的时候。这种碰撞的几率不大。如果在掉链子的地方做一些 patching,然后再做 subtree pattern 的时候,又心存包容(尽量让 pattern 变得 robust)那么,这种掉链子对质量的影响就可以降低到最低点。没有一个人做出来的 parser 可以完全不掉链子,只要掉链子被控制在一定的范围内, parser 作为 NLP 任务的引擎核武器的功能,其实是不受影响的。 白: “用整容的方式”有歧义。整容作为一种方式 vs. 整容的具体方式。 我:“用整容的方式”的歧义,如果需要区分,也是在句法结构之上的某个层面。 【相关】 【新智元:中文 parsing 在希望的田野上】 【围脖:做 parsing 还是要靠语言学家,机器学习不给力】 《新智元:有了deep parsing,信息抽取就是个玩儿》 【立委科普:语法结构树之美(之二)】 【征文参赛:美梦成真】 泥沙龙笔记:从 sparse data 再论parsing乃是NLP应用的核武器 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|4713 次阅读|3 个评论
The Anti-Eliza Effect, New Concept in AI
liwei999 2016-1-21 01:04
Share on LinkedIn There is a well-known AI (Artificial Intelligence) phenomenon, called Eliza Effect, stating that people may over-interpret the machine results, reading between lines for meanings that do not originally exist. Here is the entry in Wikipedia: The ELIZA effect , in computer science , is the tendency to unconsciously assume computer behaviors are analogous to human behaviors. In its specific form, the ELIZA effect refers only to the susceptibility of people to read far more understanding than is warranted into strings of symbols — especially words — strung together by computers. ...... More generally, the ELIZA effect describes any situation where, based solely on a system's output, users perceive computer systems as having intrinsic qualities and abilities which the software controlling the (output) cannot possibly achieve or assume that reflect a greater causality than they actually do. ...... The discovery of the ELIZA effect was an important development in artificial intelligence , demonstrating the principle of using social engineering rather than explicit programming to pass a Turing test . ( https://en.wikipedia.org/wiki/ELIZA_effect ). In fact, for human intelligence, there also exists a mirror effect, what I name the Anti-Eliza effect, which relates to the tendency to unconsciously mythify human capabilities, by often over-interpreting output of human agents for meanings which do not originally exist. The Anti-Eliza effect disregards the fact that more than 90% of the human intelligent activities are actually mechanic or algorithmic bu nature, supported by access to the memory of a knowledge base. In fact, the frequently observed Eliza effect and the Anti-Eliza effect are two sides of the same coin, based most likely on similar cognitive grounds of human mind. The human intelligence in effect can hardly stand undergoing decomposition for a few rounds before it shows its true identity of possibly less than one percent of inspiration, with 99% mechanical processes. When they are blended together, they may manifest themselves inside a human body to be worshiped as a master or genius. There is no way for the Artificial Intelligence to target that one percent. It is neither possible nor necessary. Hereby let me present this new concept of the Anti-Eliza effect in AI, to be associated with the human habit and nature of self-mythification. Such human self-mythification is exemplified by reading the human intelligent output for meanings which simply do not exist and by over-exaggerating the significance of human spirituality. For example, for the same piece of work, if we are told the work is a result of a machine, we will instinctively belittle it, in order to maintain the human dignity or arrogance. If the work is believed to be a rare antique or artifact of a human artist, it will draw numerous interpretations with amazing appreciation. The Anti-Eliza effect shows itself widely in the domain of art and literature review. For the genre of abstract art, this effect is rationalized: it is actually expected for different people to read different meanings out of the same art, independent of what the original author intended for. That is considered to be part of the original value of this type of work. The ability of reading an artistic work for many meanings which were not intended for is often considered to be the necessary quality of a professional art reviewer. It not only requires courage but also is often futile to point out that the emperor has no clothes on and the work does not make sense, or has no meanings as interpreted by reviewers. The theory of aesthetics involving the abstract art has no needs to depend on reality checking at all. In my understanding, the Anti-Eliza effect is manifestation of mysticism, and mysticism is very close to some nature of human beings. This is a huge topic, that calls for further exploration in AI to see the entire picture and scope of this effect. The Anti-Eliza effect is believed to be an important basic concept in the field of AI, as significant as its mirror concept of the Eliza effect. This is by no means to deny the supremacy of human mind, nor to deny the humanity shined by that one percent of spirituality in our intelligent output. Only the most stupid people would be so self-denial, attacking human dignity. However, for either science or engineering, everything needs to be verified or proved. In the AI work, the first thing we do in practice is to peel off what can be modeled by a machine from what is truly unique to humans only. We will then make the machine mimic or model that 99% of materials or processes in human intelligent behaviors, while keeping a distance from, and maintaining a high regard for, the 1% true human wisdom. As is observed, the routine intelligent activities of mankind will be approximated and modeled more and more in AI, very much like a silkworm eating more and more parts of mulberry leaves. With each progressive territory expansion of AI, what was originally thought of as truly intelligent is quickly decomposed into an algorithm of solutions which no longer belong to the human unique wisdom. If the nature of mankind is simply a hybrid of 1% from the holy spirit and 99% from some fundamentally mechanical devices, then in the end, it is inevitable that machines will one day replace the 99% of human intelligent labor. From a different angle, any implementable AI-oriented proximation to the human intelligent activities is by nature not true intelligence. Obviously, as time goes by, more and more such proximation will be programmed into machines to replace the mediocre human performers. But there will always be something that can never be computerized, which is the true human intelligence (synonyms of this include wisdom, spirituality, inspiration, soul, etc). The difficulty now lies in that for majority of specific intelligent tasks, they are still mixed together with no clear separation between spirit and mechanical materials. We can hardly define or see clearly what that spirit (the core intelligence unique to mankind) is, unless AI accumulates its modeling successes over time to a point of diminishing return. Before that happens, we humans tend to continue our mythification of our own abilities, and classifying those abilities as uniquely human. In other words, the Anti-Eliza effect will run a long long time based on the human nature of mythification. Let us look at the history for a brief review of some fundamental abilities which have long been believed to be human intelligence. This review will help us see how this effect has evolved over time. In the pre-computing era,the arithmetic abilities were highly regarded. The few people with exceptional arithmetic performance were generally considered the most intelligent men. After calculators and computers were invented, this was the first myth to break down. No one in today's society will consider a calculator an intelligent being. Following the calculating power is the memorization capacity that has also been believed to be an incredible intelligence of the human brain for a long time. In Ancient times, people with extraordinary mental arithmetic ability and outstanding memory capacity were often worshiped as genius masters or living gods (of course, memorization involves not only the storage capacity, but also the accompanying retrieval abilities to access the storage). As a matter of fact, many intelligent machines (e.g. some expert systems) implemented in the AI history come down at the core to a customized search algorithm plus a memory of formalized domain knowledge. The modelled intelligent activities have thus been demystified from the presumed Anti-Eliza effect. For an illustration, I would like to present the case of natural language parsing to see how much human intelligence is really involved. The ability to parse a natural language in grammatical analysis is widely recognized in the NLP community and beyond as a key to the natural language understanding and the human intelligence. Fortunately, modeling this ability has been one of the major professional tasks in my entire career in the last two decades. So I believe that I have the expertise and knowledge to uncover the true picture involved in this area. As a seasoned professional, I can responsibly tell you, 99% of the human parsing capability can be modeled by a computer very well, almosy indistinguishable from a human grammarian. The human grammatical analysis of the underlying linguistic structures can be closely assimilated by a linguistic parsing algorithm based on the language knowledge of vocabulary, usage and rules. Both our English parser and Chinese parser, which I designed and led the team to have developed, are close to the level of being able to parse 99% of random text into reasonable linguistic structures. As a key human intelligence, this type of modeling performance was unimaginable, like a miracle, but there lie some easily measurable benchmarks in practice. Stepping back from parsing abilities to the metaphysical level, what I want to say here is that, much of what we originally thought of as deep intelligence cannot stand decomposition either. Every step of decomposition in the AI research progress has helped to reveal the true picture of human intelligent behaviour which is usually not what we used to believe. It has turned out to be a wonderful and eye-opening experience in the career of most AI and NLP researchers in the last few decades. Until things are decomposed in AI, there has been a natural Anti-Eliza effect that seems to control or dominate the perception of most types of human intelligent activities in the minds of not only the general population but us AI-insiders as well. Before we embark on exploring an intelligent task from the AI perspective, we often cannot help mythifying the seemingly marvelous intelligence due to the Anti-Eliza effect. But most of us end up with being able to formalize a solution that is algorithmic and implementable in computer with a memory of some form of knowledge representation. We will then realize there is really little magic in the process. Most probably, I believe, mysticism and self-mythification are just part of human nature, hence the widespread manifestation of the Anti-Eliza effect. translated by the original author Wei Li and from his original Chinese version here: 【新智元笔记:反伊莉莎效应,人工智能的新概念】 【相关】 【新智元笔记:反伊莉莎效应,人工智能的新概念】 MT 杀手皮尔斯(翻译节选) 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|3996 次阅读|0 个评论
【新智元笔记:中文 parsing 在希望的田野上】
热度 1 liwei999 2016-1-16 06:14
中文毛毛虫,还是蛮多坎坷的。看看我开发的这条毛毛虫模型(i.e. Chinese deep parser ),是不是在希望的田野上。拿 白老师的妙文 做个检验,结果是,有些链子掉了。掉链子是免不了的,关键是什么样的链子,多大程度上影响其应用,毕竟parsing 只是中间结果,根本还是为了应用。 初看过去,掉的链子有大约三分之二,是很容易修补的:就是一个力气活,还没完全到位的问题。力气活是时间的函数,这个不怕。假以时间,自然功成,这个有开发更久的英语parser 为前例,心中是有数的。还有三分之一的问题,可能真是痛点。痛点仍然可以用patching 在应用的时候绕过它去。也就是说,一个如本文展示的鲁棒parser ,其缺陷(掉链子) 一般并不影响其应用和产品开发,这 在我们多年的NLP 实践中被反复验证了 。研究这些痛点有语言学本身的意义,更多地为与学术同行分享究竟难点在哪里,而不是说,解决或不解决它对使用会有实质的影响。 接着练: 上句掉链子的地方,一个是 “是” 那里。“当代”是名词修饰语,也挂错了地儿,成了补语(buyu)。 同位语也掉了链子,“祖师爷”与“乔老爷”没接上。 这些属于力气活,明确知道是哪里的问题,假以时间,会自然而然到位的。 可是“谱系划分格局”里面的问题就可能是痛点之一:case by case ,总是可以修补,譬如 “谱系划分”可以作为词典里的合成词处理,扩大词典即可。但这种很难“预先”补全的半开放集的合成词,一旦不在词典,“划分”作为动词谓语的可能就凸显了,这个做谓语的错误的parse 路径就很难避免。 这里,“分析处理” 与“机制” 所掉的链子,是一个非常简单的错误,“机制”这类词常带动词作为修饰语,这个常见现象系统早已处理了,不过是这个词本身漏缺了本该有的lexical feature ,不足为虑。 “和...... 等价”的框式搭配也不是问题,但它在这个句子受到了前面的牵累,掉了链子。前面的问题解决了,这个搭配就自然解决了。 所以这个句子的parsing 没看到什么特别的痛点。 这个也没痛点。“分析处理”与“机制”的问题同上,是小菜。 这个句子的parsing 问题大一些。不过白老师的这个句子本身也确实 “拗口”一些。一个非专业人士的human 在脑子里要parse 这个句子,怕也有类似的困扰。所以虽然掉了一些链子,也还没有到不reasonable 的程度。领域独立的自动parsing 当然到不了专业人士的分析程度,但与非专业人士的分析能力,距离也不大了。 “正则”这个词条没在词典里面,是一个局部问题,词典不全,专业术语未及收入。 其他的问题(“机制”的掉链子)与前同,也是局部的,不足为虑。此句也没有看到什么难以跨越的痛点。 以上这些观察讨论就是想根据具体实际语料的分析,看看中文毛毛虫里面,哪些是痛点,哪些是可以一眼见底的。这样也许对各位会有启发。值得一提的是,这里展示的只是一个parsing 结果的“骷髅”,用图形方式表现其概貌。真正的parsing ,其数据结构和结果的representation 比以上图示要丰富得多。譬如每个 词和词组身上所带有的多维信息,可以在下一步为应用提供很多由于结构不足或掉链子而所需要的弥补,这些在一个简单的树形图示中是展示不了的。 如果白老师的文字反映的是中文表达及其结构的典型或偏难的水平(因为所表达的概念和思想其实是有相当深度的,句式也比较复杂),那么一个毫无特别准备的中文parser 在结构层面的分析和应对,应该说已经基本靠谱了。换句话说,中文parsing 的毛毛虫,其实没有想象的那样高不可攀。它确实比欧洲语言难缠,但也仍然是一条扁平而且并不太长的毛毛虫。其特有的难度可以比喻为这个毛毛虫是一个生了很多毛刺的虫,形体曲线不光滑,形象不美。中文从结构美学来看,的确不如欧洲语言的体型曲线,因此 中文的parser 也确实有更多的长尾问题使得它较难开发和完善。没有多年的经验积累和语言学素养有时感觉就是个迷宫。然而,宏观上来看,中文结构也没有“丑陋”到影响它的主体分析和应用的程度。 博客上我囿于知识局限(因为不懂DL 啊),放出豪言说,即便是DL(Deep Learning) ,也只能逼近人工编码的毛毛虫,要想超越,我看不到这个可能。我知道说这个话得罪了主流的99% ,全领域乃至全社会正围绕深度学习狂欢呢,这个冷水泼得太不合时宜。可是我是有意做这个挑战的。于是有人回说,不出七年,就会看到这小子自打脸。这位后生(从说话的口气猜想,也就是个不知天高地厚初出茅庐的后生)其实蛮nice ,死刑以后还给了老夫七年缓刑,正好是七年之痒的尺度,也算是仁至义尽了。反正到时候我等已经是退休年龄,死猪不怕开水烫了:世界是初生牛犊的,只有夕阳才属于我。 但其实,我的挑战不仅仅是为了刺激,也不仅仅是男人十有九吹的德性,而是因为作为攀登者, 当你已经看到山顶近在咫尺的时候,在你心里已经没有登顶的疑问了。你有一种一辈子追求终于 【美梦成真】 的兴奋需要与世界分享。这个曾长期被认为是自然语言理解(NLU )和人工智能(AI )的核心难题的大山,英语已经登顶,汉语即将登顶,这种创造者的欢乐是抑制不住的。既然你已经可以登顶,那你对无论多牛的对手说一句,你永远赶不上我,这个命题是逻辑恒真的。别说七年之痒,就是再多的时间宽限,后来者最多、最多也不过是登顶,平起平坐而已,怎么可能超越呢?除非我们说的不是同一座山。从这个角度,DL 牛不牛,已经不相干了。何况,再牛的算法在实践证明自己之前,保留一丝怀疑,与心存敬畏一样,是一种合理的心态(DL在图像和语音处理中已经证明了自己,而text NLU迄今未有突破,尚待证明)。攀登者在登山过程中绕过了那么多荆棘和悬崖,很难想象一个自动学习的算法也恰好可以绕过去。作为同一战壕的对手,我们对DL 同行抱着期许,同时也拭目以待吧。 【相关】 【白硕 - 穿越乔家大院寻找“毛毛虫”】 【新智元笔记:parsing 的鲁棒比精准更重要】 【征文参赛:美梦成真】 【立委随笔:中文之心,如在吾庐】 《语言学家是怎样炼成的》 【立委科普:语法结构树之美(之二)】 语言创造简史 【 科研笔记:开天辟地的感觉真好 】 创造着是美丽的 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|6721 次阅读|1 个评论
【新智元笔记:深度结构分析的逻辑化 】
liwei999 2016-1-6 11:54
D: 问题是parsing的目标是什么?如果和具体应用对接的话,也不一定需要parsing,或者传统意义上的句法parsing,可能是某些其他结构的提取和转化,类似翻译出一种机器可理解的语言。 我: parsing 的目标就是帮助降低应用开发的 costs,这个以前的沙龙讨论中详细论过。有了靠谱的 parser,做抽取或很多NL应用,就大大节省了成本, 因为 dirty work 都被 parser 在 domain independent 的语言学层面干掉了。有靠谱的parser,抽取简直就是玩儿。(见: 《新智元:有了deep parsing,信息抽取就是个玩儿》 )没有 parser 也可以做,但就变成一个繁难的任务。 D: 如果是这么宽的目标,有时候起的作用就很有限,只能起到辅助性作用。 我: 怎么叫宽? 抽取中多数任务可以从 parsing 中得到太大的帮助了。 D: 你说降低costs,很宽泛的目标呀。 我: 可以测量的啊,譬如,如果没有 parser,我要完成一个产品规定的情报抽取任务: (1)如果用规则去做的话,需要 n 人天 才能完成表层的 patterns (2)如果用统计的话,需要 n 多人力去做标注,然后去设计 features 和调试系统等。 如果有了 parser,简单的任务 一两天的开发,复杂的任务 一两周的开发。最复杂的任务,譬如社交媒体的舆情抽取,要几个月的时间。都是可以定量比较 costs 的节省的。 往: 文本parser后有结构信息,肯定对情报抽取意义重大。 D: 您说的这些有道理,但对于更高级的目标,比如我要把自然语言转成某种形式化语言,我看重的是形式化单位很语言单位含义的对应,句法性的标记都还只是初级阶段,且并不是必要阶段。 我: parser 把本来是千变万化的表层 patterns,变得可以从结构上见底。就是这个道理。这个 “初级阶段” 对于高效的情报抽取很关键,虽然并不是“必要”的:事实上,绕过 parser 做抽取依旧是共同体的常态,不过这里有些不得已的因素(很多人没有靠谱的 parser 可用,还有人不愿意把结构加入抽取系统怕算法或model太过复杂伺候不了,等等)。 你说的那些目标我不太了解。做得多的就是具体的情报抽取挖掘任务。一般来说,任务是这样的,产品经理根据客户需求,做了这样的 specs, 一端是 text,另一端是要抽取的情报。产品经理跟我说, text 中的其他东西我不感兴趣,但是我需要你把这些情报抽取出来(就是情报填表)给我的客户。面对的就是这样的要求,这时候你会发现,没有 deep parser 就太吃亏了。 D: 我明白,相当于您抽象了底层模版,可以限制任意模版的写法在某个合适的范围。 我: 就是乔姆斯基上世纪50年代革命时候开始提出的概念:表层结构 parse 成了底层结构,语言在结构上被逻辑化了,所以后来又叫做 logical form。在逻辑结构层面做抽取,比起在语言表层(譬如 ngram)做抽取,那个功效不是以一当十,而是以一当百或千。而且,不仅仅是规则开发量的区别,还有表层根本就无法捕捉的所谓 long distance 现象,在 parser 的支持下变得 tractable,可以涵盖了。 D: 但是这个逻辑结构具体是什么形式?我是说是哪类逻辑? 我: 就是董老师说的逻辑语义结构( 董振东: 逻辑语义及其在机译中的应用 ), 说到底就是逻辑结构树,以 argument structure 为核心的依存关系,逻辑主谓宾补+各类定状。 D: 老师有这种把自然语言转化为逻辑形式的系统吗? 我: 有啊,一直不就是在吹的这个么? D: 不是数学上的逻辑形式是吧,还只是语言学上的限定关系 我: 基本是语言学上的( 【征文参赛:美梦成真】 )。 D: 赞如此坚持,如果能进一步转化为数学形式就完美了,机器就能理解。我设计了一套系统尝试把自然语言转成数学化语言,以支持后续演算,后续多交流。 我: 自然语言中只有很小的一个子集可能 mapping 到形式逻辑的数学表达,数学教科书中的表述与日常用语的表达的不同也揭示了这一点。当年初学形式逻辑的时候很着迷,曾经幻想过把自然语言最终都表达为形式逻辑,那多干净漂亮啊。后来做了一些尝试,包括思维实验,发现基本上此路不通。 D: 按照蒙太古的理论自然语言和形式语言没有本质区别。 我: 譬如,“当且仅当” 这样的表述根本就是从逻辑反推到语言的,根本就不是自然的“人话”。研究一下语言中的“与或非”相关的表达就会发现,要理解成形式逻辑的语义表达很难。当然如果你的应用局限在数学 domain,朝这个目标做语义是有理的。本群的老革命严老师就做过这方面的工作,他的任务是把几何题的表述 parse 成内部表达,然后进入几何解题。 D: 不全是,精确搜索相关的。我猜wolframe的系统也用类似做法 我: 语言学的结构表达,就已经可以大大提高精准搜索的很多要求。这个以前也论过,说的是 parsing 是智能搜索和问答系统的核武器( 泥沙龙笔记:parsing 是引擎的核武器,再论NLP与搜索 )。 D: 身高一米六八的日本男明星,parsing出来有什么用?离结构化查询还很远。 我: 问题在哪里?你需要什么? D: 我需要这个query的结果。实际上和解数学题一样。 我: 知识图谱啊。知识图谱中把人的 entity 的图谱 normalize 就好。 ISA: 明星 Height: 1.8m D: 我觉得这个和理解数学题是一样,可以通用处理 我: query parsing 中也有一个 normalize 的过程:一米六八 --》 1.68 m。你这个问题,顺着图谱的思路,是有迹可循的:parsing + 抽取 + normalize。 D: 我要说的其实是觉得parsing太语言学了,离计算机可处理的形式太远,应该还是一种初级表达,需要往前走一步 我: parsing 的语言学化是自然的,因为它是独立于domain的纯语言的表达。计算机可处理的形式可以是 parse tree,但更经常的则是图谱(IE Template or AVM),都是结构化数据,本性上就是逻辑的。图谱可以由用户或代表用户需求的产品经理来定义,他要怎么逻辑就怎么逻辑。IE 的任务不外就是从语言学的 parse 表达 map 到用户或产品经理定义的图谱上去。语义逻辑化说的实际上就是这个过程,与你的要求没有冲突和距离。 你的要求中需要有抽取,parsing 是很好的支持,至于抽取的值如何 normalize,至少对于数量结构,这是一个 tractable 的子任务,可以单做。只要做就可以做出来:数的 normalization 和单位的 normalization,例如,单位如果是 foot 可以 normalize 到默认的 meter,如此等等,清晰的路子。 D: 我也认为这些细节怎么做都不是问题,问题是语言到底用什么形式描述可以很好地支持运算,以及这个形式是描述语法就可以了,还是可以统筹语义,最后可以训练和学习,并对接到机器接口上,这些看起来更加底层和有意义。用什么形式描述可以很好地支持运算,以及这个形式是描述语法就可以了,还是可以统筹语义,最后可以训练和学习,并对接到机器接口上,这些看起来更加底层和有意义。 铺: 谢谢李老师的分享,我们也很感兴趣这类问题。 我: 语言的抽取逻辑化,分成两大部分:如果把图谱目标形式化地定义为 AVM (Attribute Value Matrix)的话,第一个是 A 的定义,譬如 Name 、ISA、Height、Weight、Age 等等;第二个是 V 的 normalization。换句话说,要对语义结果做逻辑操作,需要逻辑化的结构关系,还需要节点值的逻辑化,这包括 时间的 normalization: 如 14:30 --》2:30pm,地点的normalization: Beijing --》 Geo的表达;数量单位的 normalization,等等。在这些任务中,V 的逻辑化都是一个个子任务,大多是 tractable 的,一个模块一个模块的开发好了。当然也可能有一个歧义的问题,但是对于搜索,歧义并不可怕,根本就不要排除歧义,就产生 nondeterministic 结果就好了。至于 A 的定义,本质就是反映 IE 情报填空的需求,parser 在这里是最核心的保障和支持。 往: 李老师的parser支持试用吗? 我: 公司没有动机去开放 parser,虽然有 API。 漆: 这种Parser应该也不会是通用的对吧 我: 是通用的 fast (near linear speed) robust domain independent precise good recall good recall because 有一些长尾未及解决或者选择不去解决。 但是长尾以外,recall 还是很好的 漆: 这个Parser是基于Offline构建的知识图谱吗? 我: 不懂你的问题。 知识图谱需要 parser, parser 不需图谱 往: parser对情报分析应当有用! 漆: 我看到有一个工作是用FreeBase来做Semantic Parsing的。 Semantic Parsing on Freebase from Question-Answer Pairs, 斯坦福大学的一个博士做的。 我: 我们用了一些 HowNet . 漆: 李老师,您做的Parser可以做到接近线性速度吗? 是否适合并行处理? 我: 线性。 适合。 用到大数据+ 云计算。 【相关】 【围脖:做 parsing 还是要靠语言学家,机器学习不给力】 《新智元:有了deep parsing,信息抽取就是个玩儿》 【ZT: 王伟 - 李老师的观点整理】 董振东: 逻辑语义及其在机译中的应用 《泥沙龙笔记:漫谈自动句法分析和树形图表达》 【立委科普:语法结构树之美】 【立委科普:语法结构树之美(之二)】 【征文参赛:美梦成真】 泥沙龙笔记:parsing 是引擎的核武器,再论NLP与搜索 泥沙龙笔记:从 sparse data 再论parsing乃是NLP应用的核武器 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|4516 次阅读|0 个评论
《新智元笔记:对于 tractable tasks, 机器学习很难胜过专家》
热度 2 liwei999 2015-12-26 19:50
我们 “语义计算” 群在讨论这个句子的句法结构: The asbestos fiber, crocidolite, is unusually resilient once it enters the lungs, with even brief exposures to it causing symptoms that show up decades later, researchers said. 我说,it looks fine in its entirety. once-clause has a main clause before it, so it is perfectly grammatical. The PP with even brief exposures to it is an adverbial of causing ...: usually PP modifies a preceding verb, but here it modifies the following ING-verb, which is ok. 然后想到不妨测试了一下我们的 parser,果然,把 PP 连错了,说是 PP 修饰 enters,而不是 causing。 除此而外,我的 parse 完全正确。这也许是一个可以原谅的错误。如果要改进,我可以让两种可能都保留。但是统计上看,也许不值得,因为一个 PP 面对前面的一个谓语动词和后面的一个非谓语动词,修饰前者的概率远远大于修饰后者。 张老师问: 是否此句在你的训练集里?如是统计方法。否则太不容易了 我说,我这是语言学程序猿做的规则系统,不是统计方法。句子不在我的 dev corpus 里面。parsing 是一个 tractable task,下点功夫总是可以做出来,其水平可以达到接近人工(语言学家),超越普通人(非语言学家)。说的是自己实践的观察和体会。靠谱的 parsing,有经验的语言学程序猿可以搞定,无需指靠机器学习。 为了说明这个观点,我测试了我的汉语 parser: 这个汉语句子的 parsing,只有一个错误,“语言学”与 “程序猿” 之间掉链子了(说明 parsing 还有改进余地,汉语parsing开发晚一些,难度也大一些,当前的状况,掉链子的事儿还偶有发生)。但整体来看基本也算靠谱了。所以,即便是比英语句法更难的汉语,也仍然属于 tractable 人工可以搞定的任务。 语言学家搞不定的是那些千头万绪的任务,譬如语音识别(speech recognition),譬如文章分类 (document classification),譬如聚类习得 (clus tering-based ontology acquisition) 。这些在很多个 features 中玩平衡的任务,人脑不够用,见木不见林。但是对于 deep parsing 和 信息抽取,解剖的是一颗颗树,条分缕析,这是语言学家的拿手好戏,都是 tractable 的任务,当然可以搞定。(甭管多大的数据,一句句分析抽取完了存入库里,到retrieve的时候还是需要“挖掘”一番,那时候为了不一叶障目,自然是需要用到统计的)。 在 条分缕析的 tractable 任务上(譬如,deep parsing),我的基本看法是:有NLP经验的语言学家立于不败之地。而机器学习,包括深度学习(deep learning,当前呼声最高的机器学习神器),也许在将来的某一天,可以逼近专家水平。值得期待。最多是逼近语言学家,但是要超越人工,我不大相信。再牛的机器学习算法也不可能在所有任务上胜过专家的手工编码,这个观点本来应该是显然的,但是学界的多数人却天然地认为深度学习总是可以超越人工系统。 parser 的直接目标不是语义求解, 而是提供一个靠谱的结构基础, 这样后续的(语用层面的)语义理解、信息抽取、舆情分析、机器翻译、自动文摘、智能秘书或其他的NLP应用, 就可以面对有限的 patterns, 而不是无限的线性序列。 从这个目标来看,我们的中文英文的 parsers 都已经达标了。 【相关】 【围脖:做 parsing 还是要靠语言学家,机器学习不给力】 手工规则系统的软肋在文章分类 《立委随笔:语言自动分析的两个路子》 再谈机器学习和手工系统:人和机器谁更聪明能干? 【 why hybrid? on machine learning vs. hand-coded rules in NLP 】 Comparison of Pros and Cons of Two NLP Approaches 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|3503 次阅读|4 个评论
《立委科普:固定成语的不固定用法及其机器对策》
热度 2 liwei999 2015-11-12 20:14
白老师提到的关于成语的打包和拆包,是一个很好的话题。 白老师的微博原话是: 纯粹已经打包的成语不构成难度。难度在打包与拆包的边界线上,比如:“让贾宝玉在芭蕾舞中托举林黛玉,纯属多此一举。”“借海瑞之尸,还右倾机会主义者之魂。”前者要把已经打包的成语拆开,后者要从已经拆开的句式还原当初的包。 涉及三个意思 1. ngram literal 不是问题,这与媒体的“成语难倒电脑”宣传和我们乍一看到 汉语 双关语俏皮话之类的精妙以为机器必然 难以“ 理解”的印象是相反的,但这一点却是最容易达成共识的。能够枚举的、连续的 ngram 这样的任何成语和习惯表达法,无论是词还是比词大的语言学单位,统统不是问题。机器理解的深度与人等同,这种理解爱怎么表达就可以怎么表达。 就是这样的一个简单的业内共识,就很难“科普”给记者或大众。几十年来这种对机器理解的误解长盛不衰,可见所谓科普,基本是对牛弹琴。机器智能和所谓NLU的语言理解,根本不涉及任何“心理”过程,它就是一个计算过程(算法),这一点民众有很深的混淆,而我们自己有时偶然也被不留心地绕进去了,从本群牛人的一些言谈也可以看出。 图灵测试的伟大在于他教导我们要绕开心理纯粹从功能表现上看机器智能。 2. 关于成语拆包,白老师的例子是,“借海瑞之尸,还右倾机会主义者之魂。” 我的回应是: 回复: 白老师说的是collocations(搭配),属于两条腿走路的问题,需要做好词典与句法的交互和接口,机制上是没有问题的,主要就是磨细活。 ...... 我的博文后来加了一段n条腿走路的比喻,其中就有两条腿的collocations, QUOTE: 第二类现象是搭配关系,譬如某个特定的动词需要搭配某个特定的名词宾语才具有某种确定的意义(打...酱油, 打...电话),这可以称作两条腿走路。 白老师以为我提到的两条腿走路是穷举式 encoding,而不是制度层面的解决方案。于是强调:“ 规律性的拆包不能靠穷举和单列”。 与白老师对话的趣味在于,白老是老马识途,可以一眼看到痛点和可能的软肋。 其实,即便不是制度性解决方案,而是 brute force 的,有解决方案还是比没有方案,面对成语拆包现象束手无策要强。当然从一个系统能不能较快地 scale up 去实用(产业要求),和从科学的角度看进展(学界的追求),都要求制度性的解决方案。 那么搭配关系和成语拆包到底有没有制度解决方案呢? 其实不仅有制度性解决,而且从我导师刘倬先生上世纪80年代设计专家词典(Expert Lexicon)机制开始,就动态实现了句法和词典的接口, 这种制度性解决共性与个性的关系, 已经有30年的传承,并被多次以不同方式实现了(包括我的博士研究),不过这种“突破”是处在主流学界的视野之外或被主流所忽视。其实我在ACL发表的关于对付英语可分离短语动词(e.g. take off clothes,take clothes off)的论文也专门谈过这种实现及其效果。 所以我的回应是: 对,规律性的拆包不能靠穷举和单列。譬如,洗澡,吃饭,打车,等,就是 V+N的规律性可分离合成动词(separable compound verb with V+N morphology structure),就可以统一处理而不是个案处理,诀窍就在词典与句法的接口上。 //@白硕SH:拆包一定是有普遍规则或原则的,不可能用穷举的方式。 在制度性解决了“洗澡吃饭”的可分离现象之后,再看 “借尸还魂”的成语拆包以还原语义的问题,就很清晰了,二者只有一步之遥,是同性质动宾扩展的问题。只要想解决,就可以解决。 如果 at this point of time,来测试我的汉语系统,“洗澡吃饭”不管怎么千变万化,系统都可以应对。而“借尸还魂”的拆包问题,目前还没到位。 这是很多系统开发过程中常见的情形,就好比虽然机制上成语从来不可能难倒电脑,但是在任何一个给定的时间点去测试一个系统,有些偏僻的成语可能就不在系统的词典里面,显得系统很无能似的。 但是专家看系统的角度不是这样的。一个系统能不能站得住,不在于一个给定点的知识量,而在于机制上有没有照顾到。知识量的问题是 incremental 的增强的问题,而机制的问题是设计的问题。很多时候,机制可以解决的现象,开发者由于成本和维护的考量,可以选择不去做,这是完全正当的。而一个相当普遍的现象,譬如汉语的可分离动宾合成词的现象,如果没有一个有效机制去系统地应对,那么这个系统肯定没有前途。 3. 最后一点是所谓固定成语的拆分问题,白老师的例子是: 比如:“让贾宝玉在芭蕾舞中托举林黛玉,纯属多此一举。”... 要把已经打包的成语拆开。 我当时反复看了这个例子多遍,也没明白问题何在。作为 native speaker 和语言学家的双重身份,心里真地觉得自己老朽不可雕也了。后来,经白老师提点才明白第二个“举”有双关,这种双关是临时而起的,不在成语的本义中,trigger 这种双关的是前面的VV型动词“托举”中的第二个语素(汉字)恰巧也是 “举”(可以认为是 unification 引起的语境双关)。(双关所涉及的被成语压抑而语境复活的字面解读以及成语的本来含义,其实也相差无几。) 这个真地没想到,当然也没认真研究过,亏得白老师信手拈来这样的绝妙 illustration。 我的微博回应是, 回复:明白了。可见作为 native speaker,第一眼也没 parse 出这种俏皮话似的语言双关。此类现象有多大普遍性,需要做个调查。 //@白硕SH:回复@立委_米拉:把“举”单用,也是一解。 这个问题的实质就是,到底此类现象有多普遍,算不算“过度思维”,值不值得去研究它,找出制度性解决方案?如果只是偶然为之的语言游戏,甚至“急智”不够的 native speakers 往往也不能 parse 这种双关的话,也许就算了。(当然闲得无聊的话,也可以去探讨机制性解决玩儿。) 好,这算是对《 对付成语电脑是大拿,非成语现象呢 》及其微博回应的回顾和总结。除了第三点是悬案,前两项已经没有疑问。空口无凭,笔记如上。 【相关】 对付成语电脑是大拿,非成语现象呢? 泥沙龙小品:搞自然语言的,不能过度思维 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|3786 次阅读|2 个评论
《泥沙龙笔记:deep,情到深处仍孤独》
liwei999 2015-10-28 03:05
我: 《 泥沙龙铿锵三人行:句法语义纠缠论 》 且喷且整理。 白: 这篇语言学的味道太浓了,不知道的还以为我是文科生呢。 我:最近看到AI和deep learning顶尖大腕坐而论道,豪气冲天。可见行业之热,大数据带来的机遇和资源。只是一条,说模式匹配(pattern matching)是毒药,我就不明白,这个结论怎么这么快就下了。你得先把 deep learning 弄到 parsing 上成功了可以匹敌模式匹配以后再下断语吧,也让咱们吃了一辈子毒药已经五毒不侵了的人服气一点不是? 再说,模式匹配可以玩的花样多去了,绝不是乔姆斯基当年批判的单层的有限状态一样的东西了(正如在DL兴起之前 敏斯基 批判单层神经网络一样),怎么就能 jump to conclusion? speech 和 image,咱服输投降,不跟你玩,text 咱还要看两年,才知道这 deep 的家伙到底能做到多deep,是不是能超过多层模式匹配的deep? 如果这一仗 deep learning 真地功德圆满,就像当年统计MT 打败了规则MT一样,我就真地洗手不干NLP,乐见其成,回家专门整理家庭录像和老古董诗词校注去了。 白: 伟哥,淡定 洪: 别介!不过你可以让你女儿做 deep learning,万一要败,也败在女儿手下。 Philip: 好主意,不然伟哥难以释怀 我: good idea, 要败,也败在女儿手下。 Xinan: 我觉得做PARSING的人没有把当前的计算能力挖掘出来。人家都GPU用上了,你们能把多核用起来吗? 白: 我可以断定,统计思路向深层NLP发展的必由之路就是RNN。RNN的deep与视觉/图像用的CNN的deep,有本质差别。用RNN学出正则表达式或者更强表达力的东东是自然而然的事情。因为它考虑了一个更根本的东西,时序。做到相当于多层有限状态机的能力,毫不奇怪。如果工程上再做一些贴近实际的适配,会更好。此外,RNN天然可硬件级并行,做出的专用硬件比通用机上软件实现的FSA,性能只会更好。 我: 白老师,这 RNN 是不是姓 DL ? 白: 是这杆大旗下的一支。但是RNN用纯学习的方法获得,尚有难关,但用编译的方法获得,我已经走通了。在编译基础上再做小规模的学习,是make sense的。 我: 那么 training 的 corpus 怎么弄呢? 干脆我来提供 training corpus 要多少给多少。 白: 哈哈。 我: 为的就是:取法乎上仅得其中。 当然也可以想见,取法乎中可得其上,这不是科幻。 因为我自己就做过 “句法自学习”的实验,确实可以通过 self-learning 自我提高的,就是 overhead 太大,反正我没本事让它实用化,虽然理论上的路子在实验中是走通了。 白: 可以认为,之前,统计和浅层是同义词,规则和深层是同义词,但是,随着RNN/LSTM这些东东的出现,这同义词都是老黄历了。所以,复旦的美女教授教导我们说,不要一提统计就断定是浅层。是吧?  黄: 现在做浅层,发不了论文,所以越来越深。 我: 统计也的确在浅层里扎了太久。主要还是以前的低枝果实太多了。 在水牛城的时候,我的搭档牛博士尝试过做统计深层,他用我提供的parsing 做基础,去做 IE 抽取,试图突破关键词技术的质量瓶颈,当时的有限的试验是:(1) 很难, keywords are often hard to beat ;(2) 但不是完全没有希望。 白: 我说的编译算统计还是规则,我自己都糊涂,输入是规则,输出是权值。 雷: rnn是胡子眉毛一把抓吗? 白: 不是。很多是“可解释的”。 我: 白老师的编译 不就是 symbolic rule learning 的一种么?提供规则模板,让统计从数据中去学具体的规则。甚至 Brill 的那套也是这个思路。当然,设计规则模板里面牵涉到的语言学,比单纯加上一些简单的 features ,要深。 白: @wei 不是,我不学规则,只是把规则实现为RNN。 雷: 是不是一个矩阵呢? 白: 差不多。 雷: 内有各种特征,这些特征上上下下的都有? 白: 隐节点和FSA的状态有的一比。输入,输出节点都是可解释的。隐节点的可解释程度不差于有限状态自动机状态的可解释程度。 我: 还是不知道你的训练集从哪里来,如何扩大你的训练集?或者只需要有限的训练集,然后加上大量的没有labelled的数据? 白: 训练是下一步的事情。准确实现规则,regex已经可以了。 我: sparse data 会成为瓶颈么?不过你的起点就是规则的话,这个问题也许不那么严重 黄: @wei 是的,现有带标数据不够,严重不够。 白: 现在想的是,稍微把毛毛虫的身材再撑胖一点,覆盖力再强大一点。但是不允许突破线性复杂度。 @黄 所以不能白手起家学习。先有点啥垫底。 我: @黄 你要多少带标数据都可以给你,你赢了,给我一点儿 credit 就可以了。 阮: 如果能够用无监督的方法,在弱可用数据上学习就好了。 我: 无监督,除了做clustering,谈何容易。 黄: 您老有多少句parsed sentence?@wei 我: 没有上限,不过是让机器跑几天,输出grammar tree 的XML而已。 认真说来,用 我们的自动标注做底子是一个出路,就看能不能通过大数据青出于蓝了,不是不可能。 其实,我们的手工系统,有时候为了照顾 recall 是对 precision 做了牺牲的,我完全可以 cut 掉那些照顾性规则,做一个接近 100% precision 的标注来,漏掉的不算。这样我的已经标注的东西可以超过人工的水平,因为人会打瞌睡,系统不会。譬如我可以自动标注70%,准确率达到 95%,剩下的 30% 再去找人做标注,或者不管它,以后系统用缺省的办法或 smoothing 啥的来对付。这应该是可行的。 黄: 您正式release吧,我们引用您。 白: 伟哥,你这是拿规则系统训练统计系统,整下来,统计还是超不过规则。 我: 所以我说,你需要青出于蓝呀。 以前想过给 LDC , 后来就算了,毕竟还是需要 costs,公司也没看到好处(他们不懂学界,只要人家用了,用得多了,这就是 marketing 啊)。 雷: 现在目下公开的中文标注文本,除了penn的ctb,还有什么? ctb中还是有不少错误的。 黄: @wei 您就辛苦些,包装包装给LDC吧。 雷: ctb也是收费的。 白: 我是深度不学习,而是深度编译。 我: 我是不深度学习(DL),而是深度分析(deep parsing)。 雷: 学习没深度。 我: 咱这帮三教九流不同背景来的,成群口相声了。 雷: @白,编译=置换? 白: 不是置换 雷: 那是什么? 白: 从句法规则映射到权值。让相应的网络在实际跑起来的时候,做的动作恰好是分析。 雷:  再把权值映射到规则? 白: 不了。 雷: 画个图? Nick: @wei 你这篇码出来就叫情到深处仍孤独。 我:yeh, deep, 情到deep仍孤独 whether deep learning or deep parsing 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|5135 次阅读|0 个评论
《泥沙龙笔记:漫谈自动句法分析和树形图表达》
liwei999 2015-10-24 10:22
我: 关键是,一个 real life robust parser 可能不能把所有句子 parse 对,但是每个完整句法树中间可以分解为n个binary的依存关系,然后可以数一数这n个关系中有多少的查准率和查全率。因为实际上在使用的过程中,极少真地用到全树matching,用的都是子树matching (subtree matching),无论是SVO搜索还是SVO支持的图谱抽取,都是如此。在子树matching的时候,为了 robustness,通常也都是打散成 binary 去分头做matching的。在打散的过程中,一般会有一个 backoff 机制(从文法关系 backoff 到 proximity),来应对句法树的断链环节。正因为此,一个注定不能完美的 parser 才可以实用。另外,parser 并不立马达成理解,而是为理解创造一个结构化的、可以有pattern来涵盖的条件。事实上,parser 一般只是做句法的结构化而不是语义的深度理解,为的是 pattern 可以显示出来,为后去的 SVO search 或者 SVO 抽取服务。通常的理解发生在抽取或其他接近领域或应用的层面,因为在那个层面,理解的目标开始清晰,效果也可以测量。 我说 parsing 的技术已经成熟,并不是说它是完美的,而是说统计上可以达到90%,对付大数据足够好了。100 个 binary 的结构关系的话,无论precision 还是 recall,现在都可以达到90%左右。而且 robust,基本不管什么 input,包括社会媒体这样 monster。 雷: @wei 是不是可以单刀直入直取svo,事后修正? 我: 昨天你说 SVO 支持的知识图谱不太管用。其实,那是因为那个 SVO 没做好。我们自己的SVO去做知识图谱的抽取挖掘,无论中文英文,都是非常靠谱的。 雷: 是,SVO的准确性是关键,否则谬之千里。99%也背不住相乘几次。 我: 不需要完美的 parser 去做抽取,抽取层面可以弥补的。因为抽取的时候,可以用词来驱动,可以把规则写得有包容性。在词驱动的时候,因为节点是确定的,那么对于 parsing 的容错性就增强了。道理很简单,任何条件的宽松都可以内部调整来平衡。node 严一点,relation (arc)就可以寛一点。如果主语不小心做成宾语了,只要这种错误是可以预见的,就可以包容。 准确性已经达标了,至少在我这儿。Stanford 的那个 parser 也基本达标了,不过 parser 这东西没法用第三方的去做应用,大学出来的尤其没法用。 Philip: 不能产品化? 我: 第三方的基本不能产品化 没有见到成功的案例,没有做产品的。从内部调控、速度优化、robust 的考量等等,parser 是一个应该自己内部开发才好产品化的东西,这个工夫省不了。 Philip: 是个算法型的软件模块? 我: 可以这么说吧,总之有很多内部协调需要做,第三方的不好使。 雷: 算法加词知识库加规则库 毛: 有没有开源的项目? 雷: 有,英文的 毛: 叫什么? 雷: 好几种,Stanford,Berkeley,CMU,等等,NYU也提供 毛: 都是用于nlp的parser? 雷: 是。还有英国的,日本的 毛: 但是没有中文的? 雷: 中文也有。哈工大的。 毛: 也是开源的? 雷: 是 毛: 知道在哪下载吗? 雷: 都是统计学派的,我找到告诉你。 我: 统计派没法与规则派比parser,因为他们没的可玩。最多一个 penntree 这样的, labeled data 不是自然的对象,句法树是隐含的东西,你只能找语言学学生去手工标注,哪里成得了规模。没有数据,怎么玩出质量来。这是其一。其二是 penntree 这些行业标准实际上叠床架屋,定标准的时候就有很大的毛病。只不过做 NLP 的多数人都不是学语言的,没法去挑它的缺陷而已。加上只此一家别无分店,看到毛病也只好用它了。别说那乔姆斯基短语结构作为基础的树形表示有很大的缺陷,PennTree 连句法树的基础 POS 都有很多毛病、设计上的缺陷。譬如,介词与主从连词不区分,都标注为 IN,要有多愚蠢才会把这两个如此不同的东西混在一起(仅仅因为有几个小词既做介词又做主从连词)?另外,还有好多小词的分类完全没必要,徒增负担,扭曲研究重心。小词是可枚举的类,都是词典强制给的分类,过分细分没有好处。其实POS关键的就是名形动副大类,其他几十个小词的分类扭曲了 benchmarking 的注意力,从而误导了 POS 的研发。 雷: 请说明一下乔姆斯基短语结构的缺陷 我: 不逻辑,不国际,叠床架屋,引导规则系统做没必要的结构层的抽象。最后是不好用。每一条都可以写一长篇来论。 雷: 这个太笼统,请再具体一些。 我: 不过要睡觉了,快天亮了都。 雷: 哦,也是太晚了。留着话题,明天再听高见。再讨教。 我: 总之是,用 Penntree 及其标准是多数人没的选,行业标准就定错了,你不自己开发自己用的话,你只有屈从。简单说,就是依存关系最简洁好用。 雷: 我近来花了不少时间在PennTree上,希望多听你的意见。 我: 短语结构的主要价值是在短语那个层面,超出短语去做句子的结构的时候,短语结构就是个添乱的东西。即便在短语层面,短语内的关系仍然是依存的关系好用,不过是说,基本短语比起单个的短语中心词,在句法树的表达上构成了更好的句法单位(句素)。 X-bar 理论流毒甚广,莫名其妙地一味追求结构的 generalization,搞出什么 IP 之类的节点来,叠床架屋,唯此为大。也不好看,不好读,不好维护,一个结构搞得那么地深,一层套一层套那么多。其中很多层根本就没有内容,只是为了一个虚无缥缈的结构的generalization (或一味追求所谓 universal grammar)而人为设置的。 乔姆斯基真地对 NLP 多是负面影响,正面的很少看到。xbar 宗旨是所谓 UG,就是从结构分析的角度追求一个极致,看能不能在结构上统一世界,不惜加上很多人为的假设。 黄: 握个手,我也极其不喜xbar 白: xbar核心是,一切结构都是向心结构,最终负载在中心词上。有的向心结构是“吸收性的”,有些是“开拓性的”。吸收性的可以任意递归,开拓性的必须有坑的支撑,基本事不过三:左一下右一下,光杆司令再一下。所以,Xbar是反中心递归的。 都是左右递归,就好办了,复杂性不会超过FSA。 洪: 信息抽取用parsing, 不懂/没用全都扔。 语言分析究源本, 力图更多意味呈。 雷: xbar 缺点,给一个比较极端的例子 我: 我还跟我女儿讲解过这点。 Dad, can you explain Chomsky's X-bar Theory to me? 更多的xbar评论在我的博文:《 乔氏X 杠杠理论以及各式树形图表达法 》: QUOTE 因为我常常提到乔姆斯基,不少朋友以为我是乔迷。其实对这位语言学超级大佬,我一贯是敬而远之,把他当菩萨小心供着,但绝不亲近。一辈子做 NLP,从来不用他的理论,最多是取其个别概念,体系上与这位开创现代语言学主流的泰山渐行渐远。虽然他有数学出身的背景,还是计算机编译理论的奠基人,它那套语言学学说对于自然语言实践不好用、不灵光,有时误导,甚至让人走火入魔。 这两篇博文基本上回应了你的要求。 动词杠杠与名词杠杠就同构了,于是离 世界大同 近了一步。 那种所谓结构的 universals 没有实际意义, 因为是在有限的 category 中。 其实就是3个categories, 名形动追求所谓结构的一致性 ,为此不得不 虚设一些东西。 雷: xbar的目的是为了赋予短语一个结构, 而短语确实是有结构的。 xbar可以覆盖短语的所有结构。 如果我们把UG放在一边,单说结构,是不是这个理论可以覆盖短语的所有结构?因为短语也是可以不断扩展的。 我:(1)这是吃饱了撑的;(2)抽象的结果反而不好用。 其实,传统语言学中的 subcat 就可以覆盖所有的argument 结构(最多是 SVOC 四元),加上 modifier 和 adverbial 的结构,再有一个 Conjoin,也就齐备了。 可以用上述的依存结构去看世界, 比用 xbar 看世界精彩简洁多了。 关键在于 non-terminal node, 这是 PSG 和 DG 的根本不同。 PSG 理论上有抽象性 由于这个 nonterminal nodes。 因此 理论上可以更容易总结句型。 对于千变万化的句子,能够容易抽象出有限的句型来,有其功。 DG 因为全部是 terminal nodes,总结句型被认为比较难,虽然反映逻辑和语义的关系更加直接了当。 而 PSG 中乔氏 Xbar 更是其走向极端。 雷: @白 上面提到xbar可以有效地表征递归结构。 DG是直截了当的。 我: 乔老爷追求语言共性(language universals)和类似数学公式的符号表达法入魔, 理解他先必须接受他的一系列 assumptions,然后雾里看花一样地看到语言的世界大同。 雷: 但是如果要画出句法树来,有PSG作为Backup呢 我: QUOTE: 他那套短语结构句法树(phrase structure tree,见上图)既不精简也不好用,离关系语义和逻辑更远,比起依从关系结构树(dependentcy tree,见下图)差远了。不少自然语言学者用了他的形式化结构树以后,在使用前还不得不转换成依从关系树。这是何苦。 不幸的是,NLP 中最有影响的的人工标注的句法树库在宾大,叫 Penn Tree Bank,用的就是短语结构树。作为实际上的业界标准,Penn Tree Bank 迫使很多 parser 研究者不得不与这个难缠的短语结构树打交道。NLP 历史上尽出这些不好用但又不得不用的资源,另一个例子就是心理学家编制的对于NLP一点也不友好的 WordNet。 依从关系树长于揭示句法的或者逻辑的关系语义(Subject,Object,Complement,Modifier,Adverbial 等等),简明易懂,但缺点是在排除了中间层的 X 杠 non-terminal 节点 (XP or XG) 以后,句型失去了节点的抽象度。 雷: 长得好看的树还是PSG的。 我: 一点都不好看, 跟个悬空楼梯似的, 老觉得随时要塌下来。 雷: 只要顺着树,能摸着VERB,就能找着SUBJ,OBJ,等等, 也就能知道AGENT,PATIENT,等等。 由VERB找SUBJ和OBJ, 由SUBJ和OBJ,发现是什么ROLE。 我: 不过关于美,没的争。 哪里要顺着PSG树去摸S和O呢? 在DG tree, 从 TOP 往下不就直接摸到了么? 顺着任何一个老子,都可以摸到儿孙的枝枝蔓蔓,各种繁衍,一目了然。 这叫老子和儿子的语言学树。 你说说在 NLP 中,有什么是 PSG tree 表达出来的好用的东西,是 DG tree 没有的? 雷: 在我看来,两者是可以互相转换的,没有本质的区别。DG比较直接,容易理解,是词性语法。但是词性语法是不考虑到全局的。 我: 第二个问题,既然等价,用的时候基本上都用 DG,为什么要借用 PSG?逻辑的解释就是 PSG 建树更容易,所以作为桥梁。实际上的NLP原因是因为没的可选,世界上只有一个 PennTree。对于建立 tree 和 WordNet 这样吃苦的事儿,没人耗得起,只好将就用了。 雷: PSG是给人用的,DG是给机器的。人在标注句子时,同他们讲DG是不行的。这个就同ontologies与给人用的专业词典一样. 我: 恰好相反,标注DG比PSG简单多了,特别容易老妪能解。(几乎)任何人都能够理解 SVO,不就是 who did what 么?但是理解XP是很难的。你根本无法跟一个懂语言不懂语言学的人讲清楚什么叫 IP。所以 PennTree 这样的东西必须请语言学硕士博士去弄。当然,语言学学出来反正也找不到工作,请他们出来做苦力也是可以的。 雷: XP的语言学版本是比较晦涩的,但大致的意思+一些符号,用来标注是可以的。 我: 晦涩如果有好处 也就罢了,无论如何看不到好处啊。做了一辈子了NLP,也没看出它的好处来。无论是在句法的课堂上谈理论,还是在 NLP 的现场,都没有看到好处。 雷: 晦涩的部分涉及到UG,但是XP留下的一些符号和结构,还是被广泛使用的,即使在NLP领域。 我: 唯一的好处就是 乔氏给大家画了一个世界大同的饼,你顺着他的思路可以一直走下去 海市蜃楼一样觉得越走越近,有一种虚幻的满足感。但是不接地气啊。 雷: 乔氏的追随者是语言学家。NLP的工作人员非常实际,有用的留下,不好用的不理睬。 我: 话说这语言学里面有一门学问叫文法。学文法简单来说就是学画树。各种各样形态各异的树,表达了语言的多姿多彩,却万变不离其宗。奇妙啊。当年上帝怕人类同语同心去造通天之塔,乱了天地纲常,遂下旨搅乱了人类语言。印欧汉藏,枝枝蔓蔓,从此语言的奥秘就深藏不露。于是催生了一批文法学家,试图见人所不能见,用树形图来解剖语言的结构。 天机不可泄漏,泄漏者非神即仙。历史上有两位功力非凡的文法神仙专门与上帝作对,各自为语言画树,一位叫 Tesnière,另一位就是大名鼎鼎的乔姆斯基。 本来我们说话写文章都是一个词一个词往外蹦,这样出来的句子数学上叫线性一维。可这线性的东西到了文法家眼里就变了,一维变两维,线性变平面,于是产生了树形结构。上图的树就是我们训练出来的文法机器人( parser) 自动生成的,虽然并非完美无缺,倒也风姿绰约。 from 【 科普小品:文法里的父子原则 】 雷: 乔氏是不管语法是不是可以计算的,是不是NP问题。乔氏在儿童心理语言上还是非常有影响的,因为UG吸引着人们。 我: 你看看里面 parser 画的树: 有两大类树,都要倒过来画的,根朝上叶朝下,依据的是两种语言学理论,代表人物就是前面提到的神仙特氏和乔氏。上面的树就是特氏的依从关系树(dependency tree),它直接把作为文法基本单位的词与词串成树形。还有一种就是乔氏短语结构树(phrase structure tree),特点是在基本单位之间加了很多中介(non-terminal nodes),然后成形。 雷: 白老师概括的好:向心的,和有坑的,两种基本结构。任它有万千,基本节点就在这两种上演绎。 我: subcat 就是从老子给儿子预备的坑结构,modfier (包括 adverbial) 就是从儿子去寻找老子的向心结构。因此 modifier 无定数,有些野生的、边缘的、花边新闻的意味,永远进不了 argument 核心。 白硕: 有个别小词怪异,比如“的”。 雷: 乔氏总是想躲着语意走,不得已不用语意。DG为了计算,就是要把语意带进来。这个是两种人:语言学家,语言工程学家。 我: 从语义上看 argument structure 是绝对的纲,纲举目张。从语用上,其实 MOD (modifier,adverbial)往往更重要,在 MOD 里面的信息都是事件的细节(何时、何地、何因、如何等)。 argument 定义了事件的性质和主要参与角色,所有的细节都是 MOD 提供。 白: 细节:〈属性名,值〉对,属性可选不是必选,属性可不出现,如果由值可唯一确定。。 雷: CTB又延伸出CPB,就是又加了argument的角色部分。 白: 比如说红就知道是颜色的值,说辣就知道是味道的值。多一个少一个,都不影响大局。在框架里,是一个指针指出去然后姥姥不疼舅舅不爱的弃儿。 我: 那是数据结构表达的方式,unification 文法里面就特别的讲究和严格。结果是不堪使用,比Xbar还糟糕,包括HPSG。你看看他们的图示,普通的教科书的页面不够画一颗简单句的树,那种叠床架屋。当然你可以用 macro 去简约,然后你不得不在脑子里去还原那巨大无比的结构。 白: 让语义去搞啊,句法弄这干什么,知道是“吸收性的”向心结构就足够了。约掉、再约掉。 我: 说的就是啊。合一文法一派本质上是 PSG 的延伸,也到了走火入魔的程度。 雷: 词法+语意 能很容易分析出句子,但要抽象或概括,就弄出树。比如,短语可以无限扩展。 我: 你要什么样的抽象和概括?理论上的,还是实际管用的?理论上的标准太虚,没的好争,理论家为此吵翻天的多了去了,写了无数文章,说我的分析法(或模型)比你的分析法高明,因为更加 general blah blah。好像有个什么三原则,来判定一个理论系统的优劣。那些都是扯皮,在我看。 雷: 这么说吧,树有点像xml的格式,人看着很烦,但机器不烦。结构本身就含着信息。 我: 人看着烦,机器就烦,因为那个机器是要维护的,而维护的是人,不是机器。如果你做出了一个机器,打包成黑箱子了,当然就没这个问题了,其实不是这样。你对比一下两棵树,看看你愿意与哪种树打交道。 如果是从实践中看概括性,举一个 PSG 概括好的例子出来,我们可以验证一下,这个概括在 DG 中是不是不能体现? 你把这个句子“这线性的东西到了文法家眼里就变了,一维变两维,线性变平面,于是产生了树形结构”拿去用你用的PSG parser 来一下。 看看结果如何,先不说质量,我们只说表达法。看看你表达出来的格式还是不是(正常)人可以读(或容忍)的格式? 白: 我的要求特简单,就是给我意合的动作指一个结合方向就足够了。向左,还是向右。把所有非终结符做个矩阵就齐活了。剩下的语义来管。 刚才有个“浦东开发和建设”的例子,从语义看,开发和建设都带坑,浦东可以往里填。句法,尤其是POS在这个地方只会添乱。 我: 不分名词动词反而做得更好。汉语名动提前区分确实添乱,可以基本不区分。POS 不是显性形式,是一种人为标注(隐性形式),不是硬的句法。标注名词,动词,与标注人,动物,标注动作,行为,本质上一样,只是对词的标注的颗粒度不同。 白: 有没有坑,什么类型,更关键 我: 汉语的逻辑动词作为词典给定的 POS 基本上不需要在 POS 模块去改变句法的词性,除非有特别的理由,这一点与西方语言做法不一样。坑和类型都是细分类,细分类比粗分类管用,特别是汉语,这一点可以有共识。粗分类本来的好处是,可以有兜底的大规则利用它,可以多快好省地做出 parser 来。这一点在欧洲语言中体现得明显一些。POS based rules 一上去,就可以干掉一半的语言现象。S --》 NP VP; NP ==》 DT (Adj)* NN 这些都是玩具一样的抽象规则,可的确可以概括不少现象。可是到了汉语,这种粗线条就不管用了。汉语磨的是细活。我论过这个 parser 开发的区别: QUOTE 其实,真正做过西文处理也做过中文处理的同行应该不难认同上述看法。我说的是“真正”,对西文处理浅尝辄止的不算(浅尝辄止的包括NLP硕士课程中的语法形式化游戏:S: NP VP; NP: Det? Adj* NN+; VP: V NP?)。如果你比较深入地implement过一个英语分析器,针对的是大批量的真实语料,你会发现:英语的深入分析所遇到的难点需要调动很多手段,需要很细致的工作,而这些手段和工作也正是中文处理所需要的。我常常这样跟朋友说英语处理和中文处理的异同:如果你做硕士作业,导师给你一周做出一个语言处理系统能够处理50%以上的语言现象,在英语是可行的,在汉语是不可行的。因为你可以下载一个免费POS Tagger,在POS基础上编制一套粗糙的语法交差。然而,如果你要面对真实语料做一个实用的语言分析系统,如果英语需要开发N个月,调动 M 个手段,那么用同样的时间和手段,中文开发也大体可以到位。形象地说就是,中文这座山是陡坡,英文的坡则比较平缓,但是两座大山的高度其实是相差无几的。如果电脑爬坡只求到达山腰,在英文是比较容易的,在汉语则很难。然而,如果电脑爬坡的目标是山高80%以上的地带,所需资源和手段相差并不大。 from http://blog.sciencenet.cn/blog-362400-523130.html 雷: PSG tree: IP IP-SBJ NP-SBJ DNP DP DT 这 NP NN 线性 DEG 的 NP NN 东西 VP VV 到 AS 了 LCP-OBJDNP NP NN 文法家 NP NN 眼 LC 里 VP ADVP AD 就 VP VV 变 AS 了 PU , IP QP-SBJ CD 一 CLP 维 VP VV 变 QP-OBJ CD 二 CLP 维 PU , IP NP-SBJ NN 线性 VP VV 变 NP-OBJ NN 平面 PU , IP ADVP AD 于是 NP-SBJ NONE *PRO* VP VV 产生 AS 了 NP-OBJ NN 树形 NN 结构 我: 哈哈,这玩意儿你不写个程序转成 DG,谁看得清啥意思啊? 不过,其实 parse 质量不错,这是哪家的,哈尔滨的? 雷: 我已经不能辨别了。要找一个第三者来说。我陷入太深。 雷氏的。 我: 结构基本没错,质量超出我的预期。 行啊,你自己的就行。因为第三方的即便是同样的质量,也难以用于开发。自己的就好办。我好奇的是你怎么用它,是不是在用的时候,先转成 DG 表达?很难想象可以直接在 PSG 上去做有效率并且好维护的操作来。譬如 SVO search 是在 DG 上 search 还是在 PSG 上直接 search? 雷: 先DG,再通过转换,生成这个 我: 那就没道理了,先DG就DG不就得了。 雷: 就是为了好看,没有别的。 我: 问题是不好看,特别难看。为了与同行做 apple to apple benchmarking 可能需要,这是唯一的理由。 雷: 同CTB。这个是口味问题。 我: 好看确实是口味问题。但是容易理解不是。你拿这个树给人看,如果没学过语言学的,她是看天书。 雷: 我挺喜欢PENN的说明的。也试图用于训练实习生。 我:而 DG,稍加讲解,一般人都能看懂。 雷: 这个也是的,trust me,不是很难理解,但是要有好的视图工具,可以把节点关闭。 我: 那倒是 雷: UIUC有一个特别漂亮的NLP demo,把树与语意用图表示得特别清楚,真是在显示上下了功夫。 我: 既然是等价,也就没的好争优劣了,萝卜青菜。 雷: 关键还是在词法和语意上,@wei 你睡不睡觉?好像你没有多久就出来了 @毛 http://www.ltp-cloud.com/ 这个是哈工大的开源NLP 我: 我是一早就醒,夜里睡不着,白天打瞌睡 一句话,老了。 【相关】 【立委科普:自然语言parsers是揭示语言奥秘的LIGO式探测仪】 【立委科普:语法结构树之美】 【立委科普:语法结构树之美(之二)】 【科普小品:文法里的父子原则】 乔氏 X 杠杠理论 以及各式树形图表达法 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|9372 次阅读|0 个评论
scene parsing with object instance inference
chauncey 2015-10-23 10:06
相关论文和资源:(cvpr13 cvpr14 ijcv15) Scene Parsing with Object Instances and Occlusion Ordering J. Tighe, M. Niethammer, and S. Lazebnik, CVPR 2014 Project webpage , IJCV article Finding Things: Image Parsing with Regions and Per-Exemplar Detectors J. Tighe and S. Lazebnik, CVPR 2013 Project webpage , IJCV article 待续
个人分类: 场景理解|6431 次阅读|0 个评论
《立委科普:关键词革新》
热度 2 liwei999 2015-10-17 10:10
上篇 《立委科普:关键词外传》 提到了关键词的三个面向, 关键词作为互联网摇钱树的秘密就在于它是这三面的粘合剂,以信息载体的身份。 本篇要论的就是关键词在这三方面所面临的挑战和机遇。 一场颠覆式改革正在大数据浪潮中酝酿。 回顾一下,从关键词最大的应用“搜索”的角度,关键词有三个接口两个层面。三个接口是:(1) 面对大数据文本,需要事先建立关键词索引(offline indexing);(2) 面对用户的信息需求,关键词query作为默认的搜索形式是在线检索服务(online retrieval)的起点;(3)面对客户广告商, 可拍卖的关键词是广告连接用户搜索场景的入口。 前二者构成了了关键词的技术层面,着眼于如何满足用户的信息需求: 这个迄今不涉及钱, 因为互联网大佬们都不约而同选择了免费服务的模式;第(3) 项是关键词的生意层面,才涉及 business model:关键词竞价拍卖,唯利是图。原理很简单, 我用免费服务吸引用户的频繁使用和眼球, 再去广告商客户那儿找钱。对于搜索产业,用户和客户是分离的。 这个模式很牛逼,支撑了搜索产业近20年! 可是,随着大数据新时代的到来,随着语言技术的进步, 关键词革新在所难免。一方面,盛名之下其实难副, 关键词作为信息载体支持现有模式,其局限越来越突出。另一方面, 比关键词高级的自然语言处理(NLP)的 深度句法分析(deep parsing)技术业已成熟,就像爱因斯坦体系注定包容并取代牛顿体系一样,深度句法 颠覆关键词乃是大势所趋,只是一个时间的问题。 先从关键词的优缺点谈起。关键词的优点是:简单(simple),鲁棒( robust),查全率好(good recall)。这些优点也决定了它的两大局限:(1) 查准率差(poor precision);(2)表达手段贫乏(not expressive),甚至无法表达,不能胜任信息载体的工作。 优点缺点 一个面向一个面向地谈, 这样可以帮助看清关键词的全貌及其发展趋向 。 先从用户的视角说,关键词的“ 简单”显而易见,因为任何信息都是 由 词汇组成的, 训练用户在词汇中提取关键词是比较自然的事儿, 所以基本人人会用。 也有开始不会用的用户,譬如不知道把非关键的停止词(stop words)除掉,或者留下了太多的关键词(关键词之间默认是“逻辑与”的关系),这样去搜索,结果往往找不到合适的信息,但是吃几次亏用户慢慢就适应了。 关键词 query 作为检索的入口,其表达的贫乏和局限,我们每个网人都有过体会,有些想找的信息用关键词匹配就是找不到。 道理很简单,思想和语言都是二维的,而关键词是一维, 严格说,连一维都不够, 因为关键词的默认就是一袋子词,连次序的维度都不在内。具体来说,关键词作为query,既不精准,也不概括,在查准率(precision)与查全率(recall)两方面都有根本的局限。不精准的原因是所查的关键词之间关系是简单的“与”,因此无法确定返回的网页链接(URLs)里是不是有自己想要的情报,还是关键词的偶然共现(如果网页文字很多,偶然共现的可能性很大,返回来的则多为噪音)。对付这类噪音,目前的办法是给关键词加上引号(quoted query)把一袋子词变成线性词串去做 exact match,这个办法增加了词序的维度,的确大大降低了噪音,但同时也往往漏掉了太多,因为语言中相关联的关键词并不是总挨在一起,事实上紧挨着的通常是极少数。作为信息载体,关键词之间的关联的最好表达还是要揭示其内在的文法关系,这一点很少异议。第二条缺陷是关键词不具有概括性,因此也影响了查全率。很多人认为关键词除了简单外,最大的优点就是查全率好,这样看来似乎与缺乏概括性有矛盾。这个疑似矛盾实际上是基于查全率的两个不同定义。查全率的形式定义几乎就是为关键词量身定制的,说的是,关键词检索理论上可以做到100%的查全率:对于被索引的网页,系统完全可以返回所有的符合关键词query条件的相关网页,一个不拉,这在技术上是可以保证的。然而这种“查全率”不能反映用户的真实需求,因为同一个概念完全可能以不同的关键词来表达。满足信息需求的查全率必须以概念而不是关键词来计算。当这个概念是语词不可枚举的时候,关键词技术则根本无法表达,用户所要的查全率无法实现。【注一】 举个例子,如果你想搜寻公司购并的情报, 现在的办法就是搜索 “公司购并”。 这个效果差太远了,因为谈论公司购并 里面恰好提到这两个词的是少数。 多数的情形都是,Dell 购并了EMC, 苹果准备购买特斯拉,腾讯要买京东之类。关键词在这里遇到两大挑战:其一关键词没有概括能力,而有很多概念在语言表达中是没有办法枚举的,譬如公司的概念,我们没法在query一一列举所有的公司名: Dell|EMC|苹果|特拉斯|腾讯|京东......,这个给公司自动标注的工作叫做 NE(Named Entity tagging),通常是语言分析系统里面的一个组件。第二,关键词的 query 不允许设定任何文法关系的条件。譬如,公司购并的情报需要”公司“类的词作为 BUY (包括“购并”、“购买”、“买”等) 的宾语(对象),没有这个动宾(VO)条件的限定,返回的文件可能是噪音,里面恰好提到 BUY 和公司,但二者并没有并购的关系。对于这二者,深度分析系统都已经把握 了,其结果表达表现为带有节点语词及其标注的句法树,其中树结构的核心就是SVO(主谓宾)。因此,关键词query的升级应该是 SVO 这类关系条件的表达。 这样的技术革新面对的最大问题就是如何培训用户使用SVO而不是简单的关键词 query。面对亿万用户,这似乎很难。然而, 用户是可以训练出来的。我们整整一代人都被关键词训练过、 洗脑过 了,才学会了怎样使用关键词的不同组合尝试找到最好的结果。同理,SVO 也会经历这个用户自适应的过程。只要搜索界面设计得巧妙和intuitive,允许两种搜索并存,尝到SVO搜索甜头的用户会逐渐影响带动其他的用户。 第二 个面向是大头,就是对大数据处理的关键词升级。从搜索引擎所面对的整个互联网而言,使用任何比简单的关键词索引更高级的语言技术,即便理论上可以实现,无论从成本还是运作上,都将是一个巨大的挑战,在可预见的将来,没有理由相信仅存的几家互联网搜索巨头会冒这个险。然而,近年来大数据架构的突破性发展,以及硬件成本的下降,至少使得我们相信,在互联网大海的一个子集(譬如社会媒体,譬如维基世界,譬如某垂直领域)施行语言处理技术的升级,是完全可行的。 从行业的总体趋势看,关键词技术不可能永远不思进取而立于不败之地。 我们看到,自然语言的深度分析技术已经进过反复验证和在 niche markets 的产品中成功应用,技术升级的条件业已成熟。 哪怕只利用深度分析的一个部分,譬如只做SVO(主谓宾) ,甚至只做 VO ,理论上也是对所有现存关键词技术驱动的应用(不仅仅是搜索)的一个颠覆。因为突然多了一个维度,在词汇之上,增加了关键的结构信息:非结构的大数据突然结构化了。面对结构的海洋, 传统的数据搜索和挖掘势必拓展。 挖掘(mining)方面目前做得很浅,就是检索(retrieval)里面的一个小东西,凑合事儿。技术上看二者的关系, parsing 是见树,挖掘才见林。 以前只有关键词索引,没有条件见林子,挖掘没有实验基地,限制了它的发展和深入。以此观之, 以前所做的不过是 baseline 而已,如今只要有大数据、大计算(parsing比起关键词索引就是大计算)、大存储,再加上新的挖掘和检索的自然拓展, 那么凡是关键词技术生存的地方都可以革命,包括以搜索(search)、分类(classification)、 聚合(clustering)为基础的各类应用(与搜索直接相关的有智能搜索和问答系统,其他的应用还包括舆情挖掘、客户情报、自动文摘、新闻推送、智能助理、机器人接口等等)。 这个总体趋向如此明晰, 条件也基本成熟,现在是考验想象力的时候, 然后就是产品老总配合语言技术创新者,脚踏实地一个应用一个应用的去做 。 最后说一下作为搜索公司客户的广告商 (金主) 。关键词的简单特性,在这里表现为 商业标的的清晰, 这是一个很大的优点 。以关键词博弈定价易于操作, 关键词最清晰,最少纠纷,谁买了就归谁,没有扯皮的事儿 。广告商只要愿意花钱,可以竞标购买任何热门的关键词,也可以预见自己广告的投放情境,一切都是透明的。 有权威人士认为关键词 商业标的的清晰 是压倒性的优点,以致任何革新如果削弱了这一点就难以成功。尽管如此 ,关键词的两大局限“精准度差”和“表达力弱”,从广告商的角度同样存在,而且很严重,因为这些局限直接影响了广告商客户的核心利益。 长远看来, 广告商不可能满足于用简单的关键词来作为广告内容连接用户的表达方式,因为它实在太简陋了。 广告商的终极目标是精准投放,关键词虽然比传统广告的被动轰炸要精准,但是无法与语言自动分析理解基础上的精准匹配相比拟。 从历史上看, 关键词对传统广告的革命就是基于精准投放这个核心价值。前搜索时代, 被动轰炸是广告商的唯一模式,突然出现关键词了,精准度大幅度提高,广告效果也容易追踪测量。现在 SVO 出现了,搜索面对的是更高阶段的精准投放,与上次广告革命非常相似。如果说 让普罗百姓很快学会SVO来代替关键词不大现实,可作为广告商,直接购买 表现力丰富得多的 SVO 不是不可以想象的事儿。 事实上,也可以对广告商客户做专业服务(professional service),不用他们操心广告高精准投放所需的SVO的具体表达形式,只要展示精准投放的实际效果即可。 当然前提是搜索内容的 indexing 也做了相同的革新, 这样才能衔接得上,商业模式的推进才有可能。 总结一下,作为现存语言技术基础的关键词面临一场技术革命,因为语言深度分析技术与大数据处理的技术双方都已经成熟。 革命不是杀头,深度分析对关键词,就是爱因斯坦对牛顿。 抽取挖掘搜索等的质量大提升需要的是两条腿走路, 一条是关键词,另一条就是SVO。 到了应用领域的语义语用层,关键词, 或者叫驱动词(driving words:严格地说, 在SVO中, 有的关键词保留成为驱动词,有的抽象为词的 feature了),依然不可或缺,但对关键词技术的颠覆式创新增加了语言结构这个关键。正如语言所老所长吕叔湘先生很多年前谈文法的关键性作用时说的,光有珍珠成不了项链,还要有珍珠串子。作为革新,信息载体应该也必须从关键词向 “驱动词+SVO” 过渡。 【注一 】 其实,即便一个概念是可以枚举的,关键词 query 也常常困难重重。可以枚举的关键词理论上只要用逻辑“或”即可表达概念的外延,从而保证查全率。但事实上,很多关键词都是多义的,并不能多对一到想要搜寻的概念上,因此产生噪音。事实上,搜索服务曾经做过所谓“同义词扩展”(synonym expansion)的尝试,但很多时候由于自然语言词汇的多义带来的噪音而得不偿失。这个困扰在革命性的 SVO query 框架内不再成为挑战,因为在 SVO 看来,关键词不再是孤立的存在,而是受到上下文的文法关系约束的驱动词。多义在句法上下文中,噪音自然减除。这是 SVO 高于关键词的一个极大优势。 【相关博文】 《立委科普:关键词外传》 2015-10-12 《泥沙龙笔记:铿锵众人行,parsing 可以颠覆关键词吗?》 2015-10-10 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|5072 次阅读|2 个评论
《泥沙龙笔记:铿锵众人行,parsing 可以颠覆关键词吗?》
热度 2 liwei999 2015-10-10 08:52
我: 汉语的躶体准成语:你不理财,财不理你。穿上小词的衣服就是:你 如果 不理财,财 就 不理你。 (如果 ... 就 ...)。也可以穿戴更多一点: 如果 你不理财 的话 , 那么 财 就 不会理你。(如果 ... 的话 / 如果 ... 那么 ... 等。)穿得越多,越没有歧义,越容易理解,当然也越容易电脑处理。可是国人觉得那样不简约,不能显示我语之性感。 现代汉语的框式结构是非常漂亮的小词结构,漂亮在它不仅给了左括号,也没忘记右括号,这样一来,边界歧义的问题就消弭了。这个框式手段,是比西方语言更高明的显性形式,应予大力推广,以彰显我语严谨的一面。框式结构更多的例子:因为 ... 所以;虽然 ... 但是;在 ... 中/上/下/间。 顾: 英语也有省略小词: no pain, no gain. 我: 语言是线性表达,因此常常有边界不清晰的问题存在。数学语言(譬如公式)也是线性的,想到的办法就是括号。汉语不知道哪个年代发明的这个框式手段,基本就是括号的意思。这个很高明。 顾: 而且似乎某些高能人群倾向于省略小词。例如华尔街投行和硅谷人士的某些交流中,如果小词太多反而被鄙视,被认为不简洁不性感,这大概是人性,不是中国独有。举一例,出自Liar's Poker, 某trader跳槽,老板以忠诚挽留,他回答,“You want loyalty, hire a cocker spaniel” 我: 有了框式结构,语言不仅清晰了,而且灵活了。灵活是因为左右括号如此明晰,以致于可以放宽括号内成分的句法条件。 Nick: 可以处理括号的都是什么自动机?我理论忘光了。 我:多层括号需要的是中心递归,就是乔姆斯基的 CFG,有限状态不能对付n层括号。上面的汉语案例大多只使用单层括号,没有用到括号的嵌套(如果...的话 与 “如果......那么”可以算有一层嵌套,左括号共用一个小词“如果”,右括号不同,可以放在两个模块层去做),不需要栈结构,不需要递归和回溯。 白: 有限状态加计数器,是毛毛虫,可以对付括号, 保证线速 。 顾: 注意这里主从句之间是逗号,不是问号。我刚才特定去书里查对了没错。 RW: long time no see 是华尔街英语的典范! 我: 成语不怕,成语都是可枚举的、有限的,就是个存贮记忆问题。 成语的极致就是编码,包括密电码,acronyms 如 IBM,ABC 就是密码式成语。 成语是NLP中不用讨论的话题。可以讨论的是,产生式“类成语”,譬如“一X就Y”(如 一抓就灵,一放就乱), 不X不Y(如,不见不散,不服不行)。这个有点讨厌,因为词典对付不了,可是又不符合一般的句法,通常用小的规则来对付。(小规则是大规则的例外。) 顾: 但某些高能人群,尤其是科学家和教授,尤其是在思辨场合下,小词就少有省略。而汉语在写数学教材时,也多用小词。因此是否用小词跟语言用途也有关,愚以为不能否认汉语追求简洁优美是弱点,也不能认为汉语不善加小词或准确表达概念和逻辑。 我: 还是有个程度吧,汉语小词常可省略,总体上就是一个爱躶奔的东方美女。 顾: 偶爱裸体美女。 我: 偶也爱躶体美女,东方的尤甚,因为亲切,可是 ...... 欧化句式侵入后,白话文运动以来,可以看到一种加小词的趋向,小词在汉语发展道路上开始产生影响了。是吃了伊甸园的智慧树的果子知羞了? 顾: long time no see据认为是汉语入侵英语之后产生的,只是大家觉得自然,英美人也用了。这个语句困扰我很久,在网上查了据说是如此,但未必是严肃考证。 我: long time no see 是最直接的展示我东方躶体美女的一个案例。 西人突然悟过来,原来语言可以如此简洁,这样地不遮不掩啊。 他们觉得可以接受,是因为赶巧这对应了一个常用的语用(pragmatic)场景,朋友见面时候的套话之一,不分中外。在有语用的帮助下,句法可以马虎一些,这也是这类新成语(熟语)形成的背后理由。 RW: 我只在老外和中国人打招呼时听他们说过,没见过他们互相之间用过。因此,我觉得他们没有接受这是一个常规用法。 顾: 另外,我觉得如果要分析理解语言,也不能拘泥于句子结构。句子之间的含义同样重要,如果过于依赖小词,可能难以将句中和句间的关联统一理解。而如果看句子之间的联系理解,英文在句间小词也很少用。 我: 用语义(隐性形式)当然好,但是不容易写一个形式化的系统去 parse 啊。用小词(显性形式)的话,那就好办多了。 白: 伟哥还是说说“我是县长”是怎么hold住的吧。问题的实质是,有限状态自动机没有lookahead 能力,如果语义跟着同步走,有很多构造(合一)会是明显浪费的。 Nick: @wei 白老师问:我是县长派来的 我: “的字结构”很讨厌。大体上就是英语的 what-clause 对应的句法形式。 但比 what-clause 还难缠,因为该死 “的” 字太 overloaded 了。 雷: 中心嵌套也可以是线性的? 白: 某些可以是, 全集不是。 比如,a^nb^n, 可以线性parse。 我: 当然可以线性,除非嵌套是无限层。 如果是无限层,栈也要溢出的,无论memory多大。 中心嵌套本质上不是 ”人话“,这个我和白老师有共识。 乔姆斯基之谬,以此为最。 雷: 问题是有些text有冷不丁的多层。 有些国内的新闻稿有。 我: 举例, 看是人话还是数学? 雷: 当然我们可以排除这些极少数。 有些翻译有。 我: 用递归回溯对付嵌套,不过是理论上的漂亮,没有多少实践的意义。 白: 记得everybody likes somebody转换成否定式很难搞。基本归到不是人话一类。 我: 不是人话,就不理睬它! 语言中要抓的现象那么多,什么时候能轮到中心嵌套? 白: “我是县长派来的”,是人话,还没揭锅呢 我: I am the one who was sent by the county mayor, 这大体是对应的英语吧。 英语的 what-clause 只能用于物,不能用于人。“ 苹果是县长送来的”, the apple is what the county mayor sent 白: 我的问题不是翻译,是有限状态木有lookahead能力,局部生成“我是县长”的问题咋避免。 我: 避免不难。 不过就是加大规则的长度而已。 有限状态的规则可以任意加长后条件(post-condition)。 至于前条件(precondition)比较麻烦, 因为前条件改变了 matching 的起点,容易乱套。 白: 短的规则还在啊。 根据哪一条,长的压制短的? 我: 对,叫 longest principle,这是所有matching的基本原则,无论是词典查询还是模式匹配。 有两个方法用后条件 (1)加长后条件,以确保 pattern 本身是要抓取的对象, 譬如第一近似就是 check 县长后面不是动词。 (2)加长后条件来排除例外:这样的规则是没有结论的规则,就是为了排除例外的。这样一来,下一条短规则就可以成功,而且没有误抓的困恼了 白: 除非你那已经不是纯FSA了。 纯FSA只看当前吃进字符做决策。 往后check就相当于LR(k)了。 我: 我的 FSA 从来不是纯的,是 FSA++。 这个昨天就说过的,我随时要求我的工程师去对这个 formalism 做很多的扩展,直到他们抱怨影响了线性速度为止。 白: 那就不奇怪了。 我: 在做 NLP 平台过程中,会有很多的各式扩展才好应对自然语言parsing的需要。很多人以为一个标准的 formalism 拿来用就好了,那哪行?也因此,编译器只能是内部自己实现(built in house),而不能使用 off-shelf 的,因为后者你根本无法扩充,也难以优化速度。 雷: LR或RR都是线性的。 白: 对。 我还以为发生奇迹了呢。 我: 不是奇迹么? 抓到老鼠就是奇迹。 白:套用一句潮话:这不科学呀。 我: 如果标准的 formalism 不能碰的话,那么有经验的设计师与一个新毕业生比,就没有任何优势了。我们说生姜老的辣,就是因为老生姜可以很容易把经验的需要转化成软件的 specs,而新手搞不清如何去定义。 白老师,”这不科学啊“ 的批评声音我常听到。 一个是来自我太太,在日常生活中,她一个本科生经常对我这个首席(科学家)呵斥,你一点不讲科学! 另一个是来自我一个短暂时期的老板,这个老板是学界主流,她看我写的 proposal,说这里面缺乏 science。 我心里说,邓小平也没有 science,他不是把一个大国也治理了。 烹小鲜而已。 白: 白猫黑猫拿到耗子都是科学的,狗拿到耗子就略微那个了点,所以澄清不是狗拿的还是很有必要的。 雷: @wei 白老师追求的是形式美。你的是工程美。 两者一直你拖我拉的往前走。 我: 狗啊猫啊,是主观定位,无所谓呀,FSA,还是 FSA++,标签而已。 我看自然语言是俯视的,成了习惯。太阳底下没有新鲜事儿,因为见到的语言现象太多了。 白: 总是要交流的呀 我: 当然,也不能乱来,前提是任何不科学的扩展,不能最后引致灾难:一个是速度的灾难。 一个是不可维护、不可持续发展的灾难。 如果这两点可以掌控,就问题不大了。 对速度我很敏感,愿意为此自我束缚手脚,只要证明某个扩展影响了线性速度的本性, 我就投降,然后选择折衷方案。 雷: 抛弃中心嵌套,cfg就是线性的。 我: cfg 的痛点还不是中心嵌套导致的速度问题,根本缺陷在单层,眉毛鼻子一把抓,不分共性与个性,这才是致命的。 白: 我天天玩工程,不过我们的工程师如果突然说他使用了某个形式化机制但其实不纯粹,我还是会跟他较真的。 狗肉好吃,不能成为挂羊头的理由。 Nick: 赞同白老师。spagetti对大工程不行。 我: 你们是主流,站着说话不腰疼。不挂羊头, 语言学家早死绝了。 我17个政府项目全部是挂羊头得到的。 Nick: 伟哥可能有绝活,不愿说。 我: 绝活有,细节不谈,谈原则。 原则就是,你要做精算师或工程师的老板,而不是相反。绝大多数语言学家没这个底气,只能打下手,做资料员。 雷: nlp的难点或苦活不在parsing,而是知识工程方面的整合 白: 上下通气 雷: 呵呵,形象 白: 米国股市里有知识工程概念股么? 顾: 这是大数据啊!Data Thinker可以。。。(此处省略一千字) Nick: 中国有? 白: 木有。 讯飞在往这方面发展,但眼下不是。 我: 挂羊头卖狗肉的故事在这里:《 在美国写基金申请的酸甜苦辣 》。Quote : 说到含金量,其实很多课题,特别是面向应用的课题,并不是什么高精尖的火箭技术(not rocket science),不可能要求一个申请预示某种突破。撰写申请的人是游说方,有责任 highlight 自己的提议里面的亮点,谈方案远景的时候少不了这个突破那个革命的说辞,多少迎合了政府主管部门好大喜功的心态,但实际上很少有多少研究项目会包含那么多闪光的思想和科学研究的革命性转变。(纯科学的研究,突破也不多吧,更何况应用型研究。)应用领域“奇迹”的发生往往植根于细节的积累(所谓 the Devil is in the details),而不是原理上的突破。而对于问题领域的细节,我是有把握的。这是我的长处,也是我提出科研方案比较让人信服的原因。有的时候,不得不有迎合“时尚”的考量,譬如领域里正流行 bootstrapping 等机器自学习的算法,虽然很不成熟,难以解决实际问题,但是基金报告列上它对申请的批准是有益的。不用担心所提议的听上去时尚的方案最后不工作,由于科研的探索性质,最终的解决方案完全可以是另一种路子。说直白了就是,挂羊头卖狗肉不是诚实的科研态度,但是羊头狗头都挂上以后再卖狗肉就没有问题。绝不可以一棵树上吊死。 我: 不挂羊头,必死无疑,生存之道决定的。 同意雷司令 parsing 问题解决后,真正的关键在挖掘(知识工程)以及最终建立预测模型。 白:NLP应用场景是很考验想象力的。 我: 非结构数据突然结构化了。面对结构的海洋,传统的数据挖掘需要拓展才好应对。 挖掘目前做得很浅,就是 retrieval 里面的一个小东西,凑合事儿。 parsing 是见树,mining 才见林。 以前没有条件见林子 mining 没有实验基地,限制了它的发展和深入。 昨天与xiaoyun还谈到这个,我们都觉得,哪怕只利用 parsing 的一个部分,譬如只做SVO(主谓宾),理论上也是对所有现存关键词技术驱动的应用的一个颠覆,因为突然多了一个维度。以前所做的不过是 baseline 而已,如今只要有大数据、大计算、大存储,再加上mining,那么凡是关键词技术生存的地方都可以革命,包括搜索、分类、聚合为基础的等等的应用。 这个总体趋向是明晰的,条件也基本成熟,现在是考验想象力的时候,然后就是脚踏实地一个应用一个应用的去做 白: 还是要想新的商业模式,革关键词的命,从商业角度未必成立。关键词是拿来卖的,你把人命革了,卖什么?总要有个替代品吧,总不会卖FSA吧。 我: 革命不是杀头,parsing 对关键词,就是爱因斯坦对牛顿。 到了语义语用层,关键词,或者叫驱动词(driving words),也是不可或缺的。 Nick: 卖regex到也不见得不可能 我: 抽取挖掘搜索,往往需要两条腿,一条是关键词,另一条就是结构。 如果 regex 可以卖了,离开直接卖 parse 就不远了。 其实我们的 power users 已经开始要求直接用简化的 parse 去满足他的信息需求了。 用户是可以训练出来的。我们整整一代人都被关键词训练过、洗脑过了。以致于当自然语言接口技术刚刚尝试的时候,不少用户抱怨说:关键词多简单,跟机器说话,要自然语言干嘛? Power users 在简单的关键词之上用 boolean query 的很多,有些 query 看上去又臭又长又难看,不也忍受了。 也见到过创业者,就是用 domain ontology 加上 boolean 作为技术基础,也满足了一个 niche market 的需求而生存的。 Nick: 这是说的哪家公司? 我: 两年前在北京调研时候遇到的,名字忘记了。他们一点也不保守,把 query 直接给我们看,我心想这是一目了然啊,很容易复制的。 可贵的是,他们先一步找到了那个市场需求,定义了那个 niche market,也找到了客户,后去就是那些 queries 的库不断更新维护而已。 我: @Nick 说,spagetti对大工程不行。Google 搜索是大工程吧,看一下里面的 spagetti: http://blog.sciencenet.cn/blog-362400-804469.html 【相关博文】 朝华午拾:在美国写基金申请的酸甜苦辣 《泥沙龙笔记:铿锵三人行》 2015-10-08 泥沙龙笔记:从 sparse data 再论parsing乃是NLP应用的核武器 泥沙龙笔记:parsing 是引擎的核武器,再论NLP与搜索 泥沙龙笔记:汉语就是一种 “裸奔” 的语言 泥沙龙笔记:漫谈语言形式 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|3661 次阅读|4 个评论
泥沙龙笔记:句法语义,粗细不同,POS 靠边
热度 2 liwei999 2015-10-5 14:24
泥沙龙笔记:汉语牛逼,国人任性!句法语义,粗细不同,POS 靠边 泥沙龙笔记: 汉语就是一种 “裸奔” 的语言 。有时连词序都顾不上了,哪个概念先出现在脑子就蹦出哪个,顾不上调整词序再说出来,全民族的“心直口快”综合征。这就是国人,这就是汉语。譬如,“鸭子爱吃”; “鸡肉猪肉不要”。宾语提前,连个介词也懒得用。经济啊,汉语。 白: 这个说明语序有冗余信息,谓词有坑,不怕宾语提前。歧义呗。 还不是要靠常识。两个坑啊,没有语义怎么行?语义呢,只能是隐性的形式,是词的分类,及其常识语义关系。 白: “鸡不吃了”。 隐形标记不是常识。 隐性标记是常识可以代入句法消歧的基础条件:“鸡我吃了,怎么着”? 白: 隐形标记可以对付90%的场景,剩下的才是真歧义,需要用真常识应对。 我鸡吃了,汤也喝了。 白: 这个没歧义,除非童话。两个坑,一个两可,一个唯一。唯一优先。 跨标点符号的,可以视同缩进 NP1+NP2+Vt 这个是真常识么? 白: 不是,还是隐形标记。 白老师把消歧的步骤列出来?鸡我吃了 vs 我鸡吃了。 “吃了我鸡”,“吃了鸡我”,都可以找到合适这么说的场景。可见语序在汉语自由到了可怕的地步。本来缺乏形态的语言是依赖语序的,可是汉语竟然如此任性!一副从心所欲不逾矩的东方汉子的气势,和尚打伞无法无天。 白: “吃了我鸡”是另外的意思,鸡是属于我的那种。 可以算,不过一般人还是不省去“的” 字。略显得有点拗口。 白: “吃了鸡我”少许有点不规范,但是从坑的角度没问题。因为动宾结构本来就是宾语优先的。 总之,啥语序都可以,没学过汉语的人是很难想象的,这与理论预期不符合。你衣橱里啥都没有,最后居然连语序这个比基尼都不要了。汉语牛啊。 白: 吃了我鸡,住了我房,还想赖账。这个是可以的。 其实汉语搞成多级的词袋模型是最贴切的了。 排除语序的因素? 我们这是为了 argue 而举例。统计上看,语序还是一个有价值的形式。 白: 语序因素都反映在本级NGRAM里。 那当然可以,ngram 是次序的. 白: 逮到填满坑的机会就往上一级抛。 我还是不懂你怎么区别 我鸡吃了 和 鸡我吃了 如果不带常识语义的话. 至少 代词常做施事这样的 heuristic 需要代入,才可吧。 白: 吃的两个坑,一个有生命,一个食物。我做食物,概率低呀。 邬: But I think we might use semantic at syntactical level 说的就是在句法里面暗度陈仓语义常识的. 白: 不是常识,食物是隐形标记,是语言学知识 邬: As in c++ template of template use and . 白: 可以认为就是subcat 这个的确是常识:吃的两个坑,一个有生命,一个食物。 生命 - 吃 - 食物 如果要把这个常识分解成 binary 也可以: 吃 - 食物 生命 - 吃 前者比后者可以有不同的优先级,代入语义后,消歧成一个。 白: 主题句是规范形式,可以纳入常规句法结构。 鸡不吃了,鸡我不吃了,都是。 黄: 这辆车吃油。 白: 鸡我不吃了还有一个同位结构,小概率歧义,是童话场景下专用。 二者的关系,也可以动态调用,常识 encode 在词典里面,让句法去调用。 白: 车吃油,是隐喻。隐喻在坑不搭配的时候才激活。 这就是我们当年引以为豪的 Expert Lexicon,非常合理,共性的归共性,个性的扔到词典垃圾箱。 白: 个性优先于共性 隐喻是破“格”。这个就是 Wilks 说的优选语义(prereference semantics)。任何常识语义都不是绝对的,不过是优选而已。 白: 回到统计,只不过分了个层。 怎么回到统计? 邬: 层是人为分的 白: 先让参与统计的伙计们相互够得着,然后就是统计。 这个在理。相互够得着不需要语义,是纯粹的句法操作。统计可以从大数据中提取常识,然后在被句法在线调用。大数据提取常识当然是线下的知识挖掘。 白: 也可以不需要句法,纯粹的语义操作。句法让统计顺手牵羊。太裸奔的语言,直接语义吧。 不需要句法纯粹语义理论上可以,实践上劳民伤财。因为句法是个轻武器,不用白不用。语义是个巨大的烂泥坑。 白: 需要的句法是不过脑子那种。 绕过句法做语义,舍近而求远。这个纯语义 Wilks 做过实验,只有理论的意义,没有实践的指导价值。 白: 用句法,前提是不那么裸奔,或者非裸奔的部分。这种当然不排除用句法。 当然难度大了,因为显性的形式没有,简单的句法不好用了。但是,统计上还是可以看到句法分布的痕迹。 白: 把几乎所有排列组合都写成规则,也是一说,不过麻烦不会比语义少。 其实,说到这里,句法语义可以统一来考量,不过就是规则的粗细而已。 邬: right 用 POS 这种隐性形式来做句法是经典的句法路子,是粗线条的句法。用 食物,生命,吃 等语义分类来做,就是细规则。粗的可以兜底,细的放在上面。都是词典给出的分类。操作是一样的。 白: POS不是真正的同分布类。 细的优先,不就是语义优先么。 POS 是 top,下面一步步走向语义的 taxonomy。WordNet 是这样 assume 的。当然,严格的语义系统不应该用 句法的POS 而应该用 逻辑的POS 做top。譬如 manage 和 management 虽然是不同的句法 POS,但是却是相同的逻辑POS(动作类)。 白: ”这本书的出版“ 类似。 POS是语言教学向语言处理进化过程中留下的阑尾。 这个我也批评过,汉语的 POS 不是 parsing 的必要过程,但是很多人认为是,这是一个迷思 misconception。 中文处理的迷思之二:词类标注是句法分析的前提 : 词类标注(Part-of-speech Tagging: POS)是汉语句法分析的前提么?没有这回事。 没有词类,怎么可能施行句法分析? 谁说没有词类?词典里给出的任何类别标注都是一种“词类”。 根据 keep ambiguity untouched 的经验法则,遵循 adaptive development 的基本原则,跳过 POS 的环节,让句法分析直接建立在词典信息的基础之上,是解决矛盾的一个有效方法。 矛盾就是:词无定类,入句而后定。 ngram 搞不定 POS,那还不如不搞它。 这个迷思糊弄了多少汉语NLP人啊,绑住了我们的手脚。 山重水复疑无路,跳过POS就是杏花村。就这么简单! 认识上的一个小跳跃,实践中的一个大进步。 就是这么一个诀窍, untold secret for long:具体来说就是,只利用词典里面的静态类别信息来做分析,无须倚赖专有的POS模块先行消歧。 【相关博文】 泥沙龙笔记:汉语就是一种 “裸奔” 的语言 2015-10-05 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|3811 次阅读|2 个评论
泥沙龙笔记:真伪结构歧义的对策(2/2)
热度 1 liwei999 2015-9-21 21:21
泥沙龙笔记:骨灰级砖家一席谈,真伪结构歧义的对策(2/2) 【立委按】 读者的反应是,这次笔记是《 立委科普 》专栏中最深奥的。看得稀里糊涂,不明觉厉。的确,没有专业背景不行,这两篇不算严格意义的科普,当然也不是科唬,而是严肃的探讨,希望对后学和同仁更有价值。 好了,咱们接着聊,第二章:为什么多层系统,尤其是 多层 FSAs ,不受伪歧义的困扰? 白: 只要证明毛毛虫以外不是人话,就只管放心玩毛毛虫好了。 头头绪绪,怎么讲好呢? 白: 伪歧义跟规则的递归形式无关,跟规则的词例化水平和压制机制有关。但是,要hold住十万百万量级的规则,CFG一开始就必须被排除在外。 对。 说到底是规则的个性与共性关系的处理,这是关键。这个不是我的发现,我的导师刘倬先生早年就一再强调这个。刘老师的系统命名为 专家词典(expert lexicon )系统,就是因为我们把个性的词典规则与共性的句法规则分开了,并且在个性与共性之间建立了一种有机的转换机制。 白老师说得对,单层的 CFG 基本是死路。眉毛胡子一把抓,甚至所谓词典主义的 CFG 流派,譬如 HPSG 也不能幸免,不出伪歧义才怪呢。如果规则量小,做一个玩具,问题不严重。如果面对真实自然语言,要应对不同抽象度的种种语言现象,单层的一锅炒的parsing,没有办法避免这种困扰。 白: HPSG 之类可以依托树做语义信息整合,但是在树本身的选择数目都在爆炸时,这种整合是不能指望的。 可以说得具体一点来阐释其中道理。分两个小节来谈,第一节谈多层系统中,单层内部的伪歧义问题。第二节谈多层之间的伪歧义问题。 白: 但是仍然困惑的是某种结构化的压制,比如“美国和中国的经济”’。 “张三和李四的媳妇” 如果这两种伪歧义都有自然的应对方式,那么伪歧义不是困扰就理所当然了。待会儿就讲解白老师的例子。我这人啰嗦,学文科的,生存下来不容易,各位包涵了。说到现在,从白老师的眼中,都是偏离主题核心了的。 白: 抽象的并列,天然优越于抽象的长短不齐。 似乎并不关乎词例, 词例化的、次范畴化的规则,都好理解。抽象的结构化压制,处于什么地位呢? 但是难得大家围坐在一起,忍不住借题发挥一下,顺带进一步阐释了上次“上海会面”上的论点:我对乔老爷既爱且恨,爱他批判单层统计派的一针见血;恨他一竿子打翻一船人,敌我不分,重理论轻事实。 白: 是因爱成恨好吧 我们实际上半条身子在统计派的船上,大家都是有限状态;半条身子在语言派船上,毕竟我们不是单层的有限状态。统计派的有限状态的典型表现 ngram 实际上是 n-word,而我们的有限状态是真正的 ngram,这个”gram“ 就是刘老师当年一再强调的 “句素”,是一个动态的句法单位,可以是词、短语或者小句,随 parsing 的阶段而定。这样的 ngram 是统计派难以企及的,因为它反映的是真正的语言学,统计学家天然不懂。 白: 世界上只有深层派和浅层派,这是复旦美女教授教导的。 我认为只要touch深层,无论什么派都会殊途同归。 先说单层内部的伪歧义。这个白老师心里应该没有疑问了,不过为了完整还是先讲它。 单层的有限状态说到底就是一个 regex (正则表达式),只不过面对的单位根据语言层次的不同而不同而已。如果是 POS tagging 这种浅层,面对的单位就是 words (or tokens)。如果是句法关系的解析层,面对的单位就是短语(可以看作是头词,它代表了整个短语,“吃掉”了前后修饰语)。 对于单层,有两种结构歧义,一种是伪歧义,占多数;一种是真歧义,占少数,但存在。单层系统里面的每一条规则都是一个 pattern,一个缩小版的局部 parser (mini-parsing),试图模式匹配句子中的一个字符子串(sub-string)。歧义的发生就是 n 个 patterns 对相同的输入文句的字符子串都成功了。 白: 然后? 这是难免的:因为描述语言现象的规则条件总是依据不同的侧面来描述,每条规则涵盖的集合可能与其他规则涵盖的集合相交。规则越多,相交面越大。每条规则的真正价值在于其与其他规则不相交的那个部分,是那个部分使得 parsing 越来越强大,涵盖的现象越来越多。至于相交的部分,结论一致的规则表现为伪歧义,这是多数情形。结论不一致的规则如果相交则是真歧义。这时候,需要一种规则的优先机制,让语言学家来定,哪条规则优于其他规则:规则成为一个有不同优先度的层级体系(hierarchy)。 白: 在线? FSA Compiler 事先编译好,是 FSA Runner 在线做选择。 白: 那要隐含规则的优先关系,不能初一十五不一样。 个性的现象优先度最高。共性的现象是默认,优先度最低。这个很自然。一般来说,语言学家大多有这个起码的悟性,什么是个性现象,什么是共性。 白: ”张三的女儿和李四的儿子的婚事“ 如果优先语感不够,那么在调试规则过程中,语言数据和bugs会提请语言工作者的注意,使得他们对规则做有意义的优先区分,所谓数据制导 (data-driven) 的开发。 白: specificity决定priotity,这是个铁律。在非单调推理中也是如此。 这个优先权机制是所有实用系统的题中应有之意。 优先级别太多太繁,人也受不了。实际情形是,根本不用太多的优先级别区分,只要三五个级别、最多八九个优先级别的区分就足够了。 白: 我还是觉得优先级初一十五不一样的时候一定会发生,而且统计会在这里派上用处。 一切是数据制导,开发和调试的过程自然做到了这种区分。而更多的是不做优先区分的歧义,恰好就落在了原来的伪歧义的区间里面。这时候,虽然有n条规则都产生了 local parses,他们之间没有优先,那就随机选取好了,因为他们之间没有 semantic 的区别价值。 换句话说,真歧义,归优先级别控制,是数据制导的、intuitive 的。伪歧义则随机选取。这一切是那么自然,以至于从业者根本就没有真正意识到这种事情可能成为理论上的困扰。 关于初一15的问题,以及白老师的具体实例,等到我们简单阐释第二节多层之间的伪歧义的应对以后,可以演示。 第二章第二节,多层之间可能的真伪歧义之区分应对。 对多层之间的真歧义,不外是围追堵截,这样的应对策略在开发过程中也是自然的、intuitive 的,数据制导,顺风顺水。围追堵截从多层上讲,可以在前,也可以在后。在前的是,先扫掉例外,再用通则。在后的是先做默认,然后再做修补(改正,patching)。道理都是一样的,就是处理好个性和共性的关系。如果系统再考究一点,还可以在个性中调用共性,这个发明曾经是刘老师 Expert Lexicon 设计中最得意的创新之一。个性里面可以包括专业知识,甚至常识(根据应用需要),共性里面就是句法模型之间的变式。 好,理论上的阐释就到此了,接下去可以看实例,接点地气。白老师,你要从哪个实例说起?我要求实例,加问题的解释。 白硕: “中国和美国的经济”。这就是我说的初一十五不一样。 这是真的结构歧义,Conjoin (联合结构)歧义 。在语言外知识没带入前,就好比西方语言中的 PP attachement 歧义。结构歧义是NLP的主要难题之一。Conjoin 歧义是典型的结构歧义,其他的还有 “的”字结构的歧义。这些歧义在句法层无解,纯粹的句法应该是允许二者的共存(输出 non-deterministic parses),理论上如此。句法的目标只是区分出这是(真)歧义(而这一点在不受伪歧义困扰的多层系统中不难),然后由语义模块来消歧。理论上,句法和语义/知识 是这么分家的。但是实践中,我们是把零散的语义和知识暗度陈仓地代入句法,以便在 parsing 中一举消歧。 白: 一个不杀当然省事。但是应该有个缺省优先的。 缺省优先由”大数据“定,原则上。统计可以提供启发(heuristics)。 白: 有次范畴就能做出缺省优先。不需要数据。 当然。次范畴就是小规则,小规则优先于大规则。语言规则中,大类的规则(POS-based rules)最粗线条,是默认规则,不涉及具体的次范畴(广义的subcat)。subcat based 的其次。sub-subcat 再其次。一路下推,可以到利用直接量(词驱动)的规则,那是最优先最具体的,包括成语和固定搭配。 白: 次范畴对齐的优先于不对齐的,就联合结构而言。但是,about 次范畴,理论上有太多的层。 那是,联合结构消歧中的次范畴不是很好用,因为这涉及词的语义类的层级体系。不管是 WordNet 还是董老师的 HowNet,里面的 taxonomy 可以很深,统统用来作为次范畴,不太现实。但理论上是这样使用的。 白: 再一个,“张三的女儿和李四的儿子的婚事”。这个也是真歧义吗? 上例的问题和难点,白老师请说明。的字结构的 scope歧义加上联合结构的歧义的叠加现象? 白: 上例是处理深度的问题,各自理解即可。歧义叠加,只有更加歧义了。可是实际相反,叠加限制了歧义。 在分层处理中,我们是这样做的: (1)Basic NP, 最基本NP层的结果是:NP【张三】 的 NP【女儿】 和 NP【李四】 的NP【儿子】 的 NP【婚事】 (2)Basic XandY, 最基本的联合结构层:在这个层次,如果条件宽,就可能发生联合错误,错把 【女儿 和 李四】 联合起来。这个条件可以是 HUMAN,二者都符合。而且在 95% 的现象中,这个条件是合适的。如果条件严的话,譬如用 RELATIVES 这个语义次范畴(HUMAN的下位概念),而不是 HUMAN 来限定的话,这个句子在这一层的错误就避免了。 那么具体开发中到底如何掌握呢,这实际上决定于设定的目标,没有一定之规。做细总是可以做到更好质量,大不了多加几层 NP 和 XandY 的模块(FSAs),但还是增加了开发和维护的负担。如果做粗一点,只要所造成的 parsing 质量上的后果能控制在应用可接受的范围,那也未尝不可,因为说到底,世界上没有完美的系统。上帝允许人类的不完美。 雷: 联合类的问题一直是nlp的难点。 白: 把这个换成“AB的中点与AC的中点的连线”?同样的结构。 另一个思路,就是多层协调中的修补。对于上述两个例子,修补的办法似乎更好。与其分多层,代入各种繁琐的语义条件来消歧,不如任他出错,然后根据pattern的平行因素加以修正。在多层系统中,这个常常是有效的策略,也符合开发的总体规划。先把系统大体弄得work了,可以对付多数现象,然后有时间和余力了,后面可以 patching。前提是,错误是 consistent 和 predictable 的。对于多层管式系统(pipeline system),错误并不可怕,只要这种错误 consistent 有迹可循,后面总可以把它们修正。 多层管式系统常常被批评存在一个 error propagation(错误放大)的难题。其实,多层系统也可以做到负负得正(矫枉过正是也)。一个好的系统设计,是后者,通过 data-driven,可以做到把错误放大控制到最低限度,并发扬负负得正来得到最终正确的结果。 白: 伟哥的诀窍其实是把握一个适中的词例化-次范畴化水平问题。太粗则伪歧义盛行,太细则边际效益大减。 上例中 “中点与AC” 可以联合,不过是一个暂时的内部错误而已,后面可以修正。总之,这些都不是根本的 challenge,想做就可以做,实际操作上,也可以选择不做。问题大了,就做;用户发飙了,就做;否则就无视。很少有歧义是做不出来的,功夫和细节而已。最终决定于值得不值得花这份力气,有没有这样的开发时间和资源。 白: 做与不做,有可能影响架构选择。补丁有好处也有后遗症。 NLP 可以做一辈子,在基本机制(优先机制,修正机制,范畴、次范畴机制,专家词典等)由平台实现提供以后,慢慢磨到最后就是 diminishing return,与爬山类似,这决定了我们何时罢手。如果85%的精度作为parsing的目标,那么系统会选择不做一些稀有的现象。有了这个 85%,已经可以满足很多应用的要求了。 有了 85% 做底, 还可以让机器变得智能起来,自动地自我提高,所谓 self-learning,这是研究课题了,但是是可以实现的。实际上在我指导的实习生实验中已经实现,不过就是不大实用而已。 白: 再看“馒头吃光了”? 这个例子更容易讲清楚,。在系统的某一层,可以有个规则 把某种 “V+光 parse 成为动补结构,这个V的限制可以调试出合适的子范畴来。 白: “光”词例化肯定是可以的。 好,这就解决了95%以上这类以“光”收尾的现象。如果遇到了反例,譬如,”黑洞吃光了“, 那么或者修正它,或者作为个体知识的规则前置。围追堵截是也。总是可以把零碎的专业知识做成规则,如果需要的话。至于这么做值得不值得,那是应用层面的决定。很多时候是不必要的。错了就错了,不过是显得系统缺乏专家的知识,so what? 即便是人,也决定于他的知识面,小学生和文盲一般不能正确 parse 理解 ”黑洞吃光“ 的动宾语义来。动宾的语义是需要语言外知识在语言内非优先的潜在结构上作用才能得出。而动补结构则不需要,那是语言内的句法知识(最多说是句法子范畴或小规则,但不涉及专业知识),是所有国人的默认理解。 白: 这一点非常重要。一个开放,一个封闭。一个外部,一个内部。 外部的事儿,就算没有专业知识,也可以大数据招呼。 今天似乎可以结束了,说到底,就是 一,平台需要提供一些基本机制来处理共性与个性的关系,从而应对歧义,这些在 FSA formalism 的教科书定义中可能不存在,或被忽略,但却是实用系统不可或缺的。 二,NLP 的确是个力气活,有无限的可能深入。当然,我们可以选择不深入,可以选择何时罢手。 至于大数据招呼,那个在前述的自学习上也必须用到。 雷: 人在语言理解中也会发生许多歧义。如果机器发生的理解歧义同人的歧义,这个反而正常了。 我们教授机器做到 85%,大数据基础的自学习可以让它自行提高到 90%,这个是部分证实了的,可惜还没有发表出来,以前说过,懒得成文。都骨灰级老革命了,谁在乎那个。 雷: 大数据太笼统了。言语理解有太多层了。比如,比喻或隐喻。 白: 他就是要抹平这些层 @雷 我说的大数据是指与大语料库对应的 grammar trees 自动形成的 forest,比 PennTree 大好几个量级。 啰里啰嗦,把大家都吓跑了,只剩咱哥仨了? 雷: 这些抹平是暂时的还是永久的? 白: 实用主义的 雷: 同意,实用主义 对。实用主义,就是小平的猫路线。 这次神侃算不算基本回答了疑惑,可以得出 ”伪歧义在多层系统中不是困扰“ 这个结论? 白: @wei 是,非常感谢 不过,我们一方面实用制导,一方面没有忘记基本面和大局。与纯粹的实用主义,头痛医头,脚痛医脚,还是不同。 雷: @wei 这些可以发表在你的博客吗?@wei 许多东西在博客里更好更有指导意义 既然讲了,就博客吧。这种积一辈子挖煤的经验之谈,正式论文中罕见,也算一件功德。 难得的是白老师还有雷司令身为主流精英,居然能一开始就高于主流,不排斥异端或少数派。 所以上次上海聚会,我就说,火药味的架掐不起来的, 因为相互的理解和欣赏多于分歧。 白: 可以再关心一下NLP的商业模式, 怎么能讲一个好故事。 我们说fsa也好分层也好,资本都是不感冒的。 雷: 是,商业模式, 如李长官以前说的,怎么2c,而不是仅仅2b 白: 只要聚焦于深层,一定会殊途同归。 但我知道也有很多统计死硬派,甚至大牛,是不尿这壶的。 白: RNN记在统计账上,但已经是深层了。 滑稽的是发现有些死硬派做了n年NLP,却真地不懂语言学,有个别大牛连常识都不懂,让人跌破眼镜。当然这个只能内部说说,不能博客的。所以往往是互相地不尿对方那一壶,与宗教之战类似。 RNN 我还需要学习,才敢发言, 不过从白老师零星的介绍来看, 很可能殊途同归。不过 FSA 这套 deep parsing 是已经稳定成熟的技术。RNN 的工业成熟度如何,我不知道。 可能都是核弹, 不过是原子弹氢弹区别而已。 白: Ngram说不定变出个什么花样来,也殊途同归。 其实 多层 FSAs 本质上就是 ngram 的花样,不过 gram 不再仅仅是词了,而是等于或大于词的句素。能以动态句素作为 ngram 的对象,是因为多层的原因,跟剥笋子一样,层层扒皮,gram 当然就是动态的了。这一点很关键,是乔姆斯基都没想到的 power。 白: 对,边扫描边归约,边抛出句素。 黄: ngram是简单的统计,这几年也有许多进展,representation learning 算是深度学习在自然语言处理的热点。 这里面最 tricky 的不是机制而是细节。魔鬼在细节,就是指的这个。FSA 是”古老“简单的机制了,细节就是玩平衡,玩模块之间的协调。玩得好的就好比中餐的大厨,可以做出满汉全席来,玩不好的还不如麦当劳、keywords。到这一步,经验因素开始起作用。没碰过n次壁,甚至几万小时的炼狱,这个火候掌握不好。 白: 句素的个头大,影响范围就大,相当于抛得就远。 可以进入远距离的滑动窗口,伟哥说的Ngram的缺点就不存在了。 黄: 很多新的模型都试图去capture long distance, sentence, paragraph的依赖关系,这里头可做的事情很多。 这类系统很难做得表面上漂亮光洁,总是在混沌中前行,要忍受不完美。这方面的忍受,数学家不如语言学家。他们天生追求简洁完美,不愿意将就。 白: dirty是必然的 ngram 的缺点是主流的缺点,不是语言多层派的缺点。恰好相反, ngram 多层以后,很容易比任何 CFG 做得细致深入,以至于,想怎么深入就怎么深入, 如果持续开发的话。 黄: 我感觉统计模型的优点之一是在某种程度上加上了semantic,比pure syntactic有很多好处 CFG 那套单层范式,无论统计模型还是传统文法加以实现,真地深入不下去,是框框决定的。两边都玩过,这种对比太强烈了。我对我的博导说过, HPSG 真地不好用,那边费那么大劲的事儿,在我这儿是小菜。说拿的是牛刀,可对象不是牛,而是鸡。不如我剪刀和匕首好宰鸡。 白: 我一个学生搞蛋白质折叠的分析。蛋白质大分子折叠的点恰好是若干局部的代表(相当于语言的head中心词)之间发生全局相互作用的地方。真是神了。 为世界和平和人类福祉计,统计模型和规则系统一定是要融合和弥补的,in some form。 这个忽视统计的教训我们也有过。如果没有统计的概念,没有大数据的制导,往往拍着脑袋而过度开发,最终是系统的臃肿不堪,甚至报废。我们语言学家是一种可能走火入魔的动物。必须要用数据制导和工程操作规范来制约我们,不能由着我们任性胡闹。 白:飞机要起飞了。关机。到北京再继续。 今天到此,特别谢谢白老师的互动和精彩的及时点评。 黄: 大胆假设,小心求证。复杂模型的威力如果有了海量带标数据没准能发挥。 这几年好些统计模型都是老树开花。 黄老师还沉浸在主流的傲慢与光荣中,呵呵。 黄: 不好意思。 当然,任何奇迹都可能发生,就如在图像和语音中发生的奇迹一样。也许 deep learning 在 parsing 方面会有突破。可以想见,很多 DL 研究者正在朝着这个目标奔跑,似乎谁跑得快,谁就可以摘除NLP皇冠上的明珠。 不过这边厢有半个多世纪的传承和几十年的积累,奇迹已经发生了。 我最乐观的预测是,统计的奇迹一旦发生,从功能上也就是多层规则派奇迹的再现。从今后扩展上,也许更具优势? 拭目以待-ing。 【相关博文】 泥沙龙笔记:骨灰级砖家一席谈,真伪结构歧义的对策(1/2) 2015-09-21 乔姆斯基批判 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|3054 次阅读|4 个评论
泥沙龙笔记:从 sparse data 再论parsing乃是NLP应用的核武器
liwei999 2015-7-28 15:14
白:parsing准确率,如果把所有未尽事宜都丢给语义语用,有点自说自话的味道,最终用户无感。 Wei:用户感不感没大关系,关键是它节省了语用层面的开发。 没有parsing,抽取是在表层进行,存在的困境是 sparse data 和 长尾问题。 表层的东西学不胜学,而有了 deep parsing 的支持,抽取规则可以以一当百,至少从规则量上看,这绝不是夸张。这是其一。 其二,deep parsing 使得领域移植性增强太多。 没有 parsing 抽取任务变了,一切须推到重来。 对于规则体系,有了 deep parsing,抽取任务随领域变了就不需要那么大的返工。parsing 吃掉了约 90% 的重复劳动(语言知识和结构本质上是跨领域的),返工的部分不到 10%。 parsing 意义之重大 正在于此。 对于机器学习,NLP应用的知识瓶颈在 (1)sparse data;(2) 任务变,训练库必须重新标注:前一个任务的标注对后续任务基本没有可重复使用的可能,因为标注是在语用层进行的。 如果有 parsing support,理论上讲,机器学习可以更好地克服 sparse data,但实践上,到目前为止,结合 structure features 和 keywords 在机器学习中一锅煮,目前还处于探索研究阶段,没有多少成熟的案例。我们以前尝试过这种探索,似乎parsing的参与有推进系统质量的潜力,但是还是很难缠,模型复杂了,features 混杂了,协调好不是一件容易的事儿。 事实上,规则体系做抽取,没有 parsing 差不多有寸步难行的感觉。因为人的大脑要在语言表层写规则,数量太大,写不过来。只有机器学习,才可以绕开parsing去学那数量巨大的抽取规则或模型,但前提是有海量标注的训练集。否则面对的是 sparse data 的严重困扰。 sparse data 远远不是单指表层的出现频率低的 ngrams (习惯用法、成语等)的累积,那种 sparse data 相对单纯,可以当做专家词典一样一条一条编写,愚公或可移山。如果训练数据量巨大,譬如机器翻译,那么这类 sparse data 对于机器学习也有迹可循。当然大多数场景,标注的训练集始终大不起来,这个知识瓶颈 is killing ML。 更重要的 sparse data 是由于缺乏结构造成的,这种 sparse data 没有parsing就几乎无计可施。表层的千变万化,一般遵循一个正态分布,长尾问题在结构化之前是没有办法有效捕捉的。而表层的变化被 parsing 规整了以后,表层的 sparse 现象就不再 sparse,在结构层面,sparse patterns 被 normalize 了。这是 parsing 之所以可以称为NLP应用之核武器的根本。 没有 parsing,结构性 sparse data 就玩不转。 乔姆斯基纵有一万个不是,一千个误导,但他老人家提出的表层结构和深层结构的思想是不朽的。parsing 就是吃掉各种表层结构,生成一个逻辑化的深层结构。在这种深层结构上做抽取或其他语义语用方面的应用型工作,事半功倍。 Deep parsing consumes variations of surface patterns, that's why it is as powerful as nuclear bombs in NLP。 别说自然语言的语句的表层多样化,咱们就是看一些简单的语言子任务,譬如 data entity 的自动标注任务,就可以知道表层的 sparse data 会多么麻烦:如 “时间”的表达法,再如“邮件地址”的表达法,等等。这些可以用正则表达式 parse 涵盖的现象,如果在表层去用 ngram 学习,那个长尾问题就是灾难。 自然语言文句之需要 parsing,与标注 data entity,正则表达式优于 ngram 学习, 其道理是相通的。 【相关】 泥沙龙笔记:parsing 是引擎的核武器,再论NLP与搜索 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|7366 次阅读|0 个评论
泥沙龙笔记: parsing vs. classification and IE
liwei999 2015-7-7 02:28
雷: @wei 下一步要说明的是deep parsing的结果比传统的IE(information extraction)的好在哪里,要有一个solid的证明。 wei: 这个问题以前已经答过了,可能没特别阐明。我在博文中说,简单的factoid问题,那些可以用 entity 来回答的问题,when where who 之类,deep parsing 就可以支持很好的问答系统了。 而复杂的问题(譬如,how 和 why)或者专门领域的问题,还是先做 IE 把可能的答案存在库里,然后支持问答系统为好。 从原理上看, parsing 的结果是独立于领域的句法树,好处是可不变应万变, 坏处是不容易整合。 IE 不同,IE 是预先定义的语用层面的template(实质就是语用树), 它比句法树要深入。 在句法树到语用树的mapping过程中,已经创造了更好的针对语用的整合条件。 一般而言,两者应该是互补的,IE 支持问答或搜索是最精准的,但不能应对事先没有抽取的信息; deep parsing 是无需事先预定的,可以作为 IE 的backoff 说到底就是从句法树到语用树,是 offline indexing 时候做, 还是 on the fly retrieval 时候做。 前者就是借力 IE, 后者就是直接依仗 SVO。 做前者需要语言学家和领域数据专家, 他们可以预见同一个抽取目标的各种表达形式。 做后者是直接面对(power)users 无需专家。 换一个角度就是,如果一类问题的表达形式很多,而且冗余度不够, 那么须上 IE 才好。 如果冗余度大,基本表达形式(SVO等, 譬如问产品发布的信息,从关键动词 release 和 launch 驱动一个 SVO:Company “launch/release” Product)很容易就搞定, 那么 deep parsing 就足足有余了。 IR 角度可以这样看 backoff model: Input:query(or question) Output: 1. if IE store has answer, then return answer with confidence 2. else if SVO can be matched (by power user) to retrieva answers, then return answer with confidence 3. else provide keyword search results 雷: @wei 是。这个是factbase的东西。比如,在做文章分类方面,比传统的方法要高明多少? 传统的文章分类是取实词,做一个巨大的矩阵,余弦处理 Wei:雷,你说的那是分类, 不是 parsing, 分类是粗线条的活计,应用很广,但回答不了啥问题。 parsing 是条分缕析,能精准回答问题。 雷: @wei 是的。我想说怎么利用parsing的结果做分类。 第一,是不是可以把分类做的更好; 第二,怎么做会更好更有用 wei: 分类还是关键词ngram最robust, 这一点无疑问, 尤其是分类对象是文章或段落的话。但对于twitter或微博的短消息,关键词分类基本失效(见: 【立委科普:基于关键词的舆情分类系统面临挑战】 ),需要 parsing。 雷: 比如,通过parsing,是不是可以获得主要的实词(文章主要的一些词)? wei: parsing 做文章分类,一方面有点牛刀宰鸡,另一方面最后还是需要借力统计 (见: 手工规则系统的软肋在文章分类 ),因为 parsing 的结果是树,不是林。如果要看到整个林子,起码要对树木做一个统计,最简单的统计是 majority vote。 雷: 如果parsing文章后(深度的那种),获取主要的实词,其他的词就可以抛弃了。 那样的话,分类的可以更加精准,而且还可以做分类的分类,多级的分类 wei: 单是为了获取实词,不必做 parsing,stop words 过滤掉就大体齐了。parsing 的好处是出了句法关系,但在文章分类中把句法关系使用得法并不容易。文章分类的本性是ngram密度(density)问题。 ngram 这名字谁起的?里面不就有 gram 嘛。 当年没起名叫 nword, ntoken or nterm, 而是 ngram,可以认为是 因为当n个词(一般也就两三个词,n=2 or n=3,再多就是 sparse data 了,没啥统计价值)成为一个有次序的串, 而不是一个bag(set), 就意味着把语法中最重要的一个因素 词序 隐含地带入了,实际是对文法的粗线条模拟。 ngram 是直接从语料来的,这就保证了它包含了一些 open-eneded strings, 而不是仅仅局限于词典。 这样看来 ngram 实际上是语法的碎片化、 最小化, 然后加上条件概率,再把碎片化的ngrams重新串起来。 先打碎,再整合,来模拟parsing的效果。 统计NLP的几乎所有的成果都是基于这个模拟文法的原理。 雷: 传统的分类中,bag of words还是主流吧 wei: bag of words 中的 words 不仅仅是词, 而是包含了 ngram 自由组合, 因此也还是模型了parsing 白: IE和deep parsing其实是有联系的。利用统计上显著的几跳, 就可以把parse tree 拼接成IE tree。只要允许ngram隔空打炮,可以间接模拟parsing。按成份的“能量”,决定它能打进多远的滑动窗口里。 雷: parsing的power应该是读出了文章的主要概念和这些概 念之间的关系。在好像是提交文章时要提交一些关键词。但是作者提交的关键词有限。 wei: 说清了 ngram 的原理, 回头再看 deep parsing 对于分类的功用。 deep parsing 不借助统计, 实际上是不适合做文章分类的。 因为 parsing 是见木不见林, 而分类要求的是林的视点。 然而,可以想见,deep parsing 以后,利用其结果再做统计,理论上可以做到更好的分类。 譬如, SVO解析以后,至少可以把他看成是一个更高级的 ngram, SV 是 bigram, VO 是 bigram, SVO 是trigram. 雷: @wei 是的。在做好deep parsing后,统计其实词和关系, 那种统计就是纯粹的描述统计了. 统计时,比如,有多少S是相同的,多少O是相同的,还有这些S和O在概念上的发布的计算. 这些都是假设“deep parsing”有了好的解析结果后。抓住主要的东西,割舍次要的,会有更好的分类? wei: 但这个 ngram 已经不是简单序列的基础上, 而是可以涵盖long distance了, 因此理论上应该更反映文章的语义类别, 利用这样的ngram,然后再用统计的方法, 理论上可以做更好的分类。 但是实际上,也有弄巧成拙的时候。 因为,parsing 总是没有 keywords 鲁棒,如果也同时用keywords垫底,系统增加了复杂度,怎样做smoothing才好,并不是一件容易的事儿。 白: 如果反过来,deep parsing还指望知识层面消歧,那就“活锁”了。如何不陷入livelock,考验智慧。 wei: 白老师,deep parsing还指望知识层面消歧 是天经地义的。 天经地义是因为句法不能预测 千变万化的语用场景。 句法如果能预测语用,那就失去了 generalization 的一面了,反而不妙。 语言学之所以有威力, 正是基于句法结构(句型) 是有限的, 而且很大程度上是 universal 的, 对各个语言都通用。 全世界语言的 argument structure, 都是 SVOC (主谓宾补) 及其变体。 而语用的树是因领域、 因产品、 甚至因用户 而有所不同的, 根本不能归一。 语言的归语言, 语用的归语用。 这种分工才最经济科学. 总结一下:deep parsing 最擅长支持信息抽取,因为抽取要求看清每一颗树。但parsing做分类就很 tricky,因为分类要求的是看林子。看林子还是统计拿手,ngram/keywords 常常就搞定,而且 robust。当然,理论上 parsing 可以使得分类更上一个台阶,实际上很难说,仍然是一个研究性课题,而不是成熟实用的技术。 【相关博文】 手工规则系统的软肋在文章分类 【立委科普:基于关键词的舆情分类系统面临挑战】 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|5086 次阅读|0 个评论
泥沙龙笔记:parsing 是引擎的核武器,再论NLP与搜索
热度 1 liwei999 2015-7-4 18:54
上次提过,先搜后 parse ,是可行的。 早在十几年前,A skJeeves 被华尔街追捧。这里面也有很多 IT 掌故 我专门写过博文( 【问答系统的前生今世】 , 【 金点子起家的 AskJeeves 】 )。 当时NLP (Natural Language Processing) 红透半边天,下一代 Google 呼之欲出的架势,尽管A skJeeves 其实 NLP 含量很低。他们不过利用了一点 NLP 浅层对付问题的分析。这才有我们做真正基于NLP的问答系统的空间。 就在A skJeeves 上市的当天,我与另一位N LP 老革命 Dr. Guo ,一边注视着股市,一边在网上谈先 search 后 parse 的可行性。此后不久我的团队就证实了其可行,并做出了问答系统的 prototype ,可以通过无线连接,做掌式 demo 给投资人现场测试。当年还没有 smart phone 呢,这个 demo 有 wow 的效果,可以想见投资人的想象被激发,因此我们顺顺当当拿到了第一轮一千万的华尔街风投(这个故事写在 《朝华午拾:创业之路》 )。 问答系统有两类 。一类是针对可以预料的问题,事先做信息抽取,然后 index 到库里去 支持问答。这类 recall 好,精度也高,但是没有 real time search 的灵活性和以不变应万变。 洪 : 文本信息抽取和理解,全靠 nlp 另一类问答系统就是对通用搜索的直接延伸。利用关键词索引先过滤,把搜罗来的相关网页,在线 parse ,深度分析后找到答案。这个路子技术上是可行的。应对所谓 factoid 问题:何时、何地、谁这样的问题是有效的。(但是复杂问题 如 how 、 why ,还是要走第一类的路线。)为什么可行?因为我们的深度 parsing 是 linear 的效率,在线 parsing 在现代的硬件条件下根本不是问题,瓶颈不在 parsing ,无论多 deep ,比起相关接口之间的延误, parsing 其实是小头。 总之,技术上可以做到立等可取。 对于常见的问题,互联网在线问答系统的 recall 较差根本就不是问题,这是因为网上的冗余信息太多。无论多不堪的 recall ,也不是问题。比如,问 2014 年诺贝尔物理奖得主是谁。这类问题,网上有上百万个答案在。如果关键词过滤了一个子集,里面有几十万答案,少了一个量级,也没问题 。假设在线 nlp 只捞到了其中的十分之一 ,又少了一个量级,那还有几万个instances,这足以满足统计的要求,来坐实 NLP 得来的答案,可以弥补精度上可能的偏差(假设精度有十个百分点的误差)。 IBM 机器在智力竞赛上 beat 人 , 听上去很神奇 , 里面会有很多细节的因应之道,但从宏观上看,一点也不神奇。因为那些个竞赛问题,大多属于 factoid 问题,人受到记忆力有限的挑战,肯定玩不过机器。 雷 : @wei 为什么说事先对材料进行 deep parsing 的搜索不灵活? 事先(pre-parsing)更好。我是主张建立一个超级句法树的。但急于成事的工程师不大愿意。在线做的好处是,内容源可以动态决定。 雷 : 假设一下,我们把谷歌拥有的材料通通进行了 deep parsing ,那么这个搜索会是什么样的? 再辅佐以人工的高级加工 nlp parsing 比关键词索引还是 costs 太大。 雷 : 是,但是现在硬件的条件下,还是可行的吧?那就是把信息转化为了 fact 的知识 是的,哪怕只是把 Google 网页里面的百分之一 parse 一遍 那也有不得了的威力。那是核武器。就是 Powerset Ron 他们当年绘制的图景。 可是 这种大规模运用 NLP 不是我们可定的,成本是一个大因素,还有就是观念和 眼光 , 那是 norvig 这样的人,或其上司才能拍板的。 雷 : 暂时局限在一个领域呢 ? Nick : 可以先小规模吗,如 wiki 等? 雷 : 破坏 google 的力量是 semantic web . 如果每个网站使用的是 semantic web , who needs google, 但是现在的问题是把一个 web2.0 的 site 转化为 web3.0 的成本 Wiki 已经可行,但市场切入点呢? W iki 其实是小菜,比起 我们目前应对的 social media , 无论是量 , 还是语言的难度。 Nick: 但 wiki 有结构 做 wiki 技术上没有任何问题。问题在产品和 businesd model. Nick: 做一个 wiki 的语法树,再叠加 wiki 的结构,已经很有用了。 雷 : wiki 到 dbpedia 还是只有很低的 percentage 吧? Ron 当年 游说你们和微软,不就是 wiki 么,其实他们的 demo ,纯粹 从技术的角度完全可以通过 due diligence 。 大家都知道知识挖掘,在大数据时代有巨大潜力,这是宏观上的认识,永远正确。微观层面,还是要有人在知识基础上做出可挣钱的产品来。微软买P owerset 的时候,肯定也是基于这种宏观认识。但没有后续的产品化,买来的技术就是个负担。 RW: Google 是靠 se 抓流量,然后 ads 赚钱 , Se 技术本身不变现 Nick: @wei powerset 我看过, not impressive at all 那是因为 , 你的角度不同。他们没有把那种结构的威力,用通俗的方式,做成投资人容易看懂的形式。我也玩过 Powerset ,它 的核心能力,其实是有展现的。不过要绕几道弯,才能发现和体会。方向上他们没错。 当然我不是为 Ron 唱赞歌,他再牛,再有名气,他的 parser 比我的还是差远了。这个世界上 yours truly 是第三 -- 如果上帝是第一,在下的下一个系统是第二的话。 当然吹这种牛是得罪人的,不妨当笑话看。 雷 : 呵呵,不用上税,无妨的 Nick: 你的不好意思不得罪人 Jobs不是说过,只有疯狂到以为自己可以改变世界的,才能在雪地里撒尿, 并 留下一些味道或痕迹。 我们是毛时代生人, 自小 有一种精英意识。天将降大任于斯人也,自己吃不饱,也要胸怀世界,解放全人类。老子天下第一的心态就是那种 legacy 。 洪 : Chris Manning 前两年就跟 database/information retrieval 的辩论说,别啥啥 fact db 和 information extraction ,直接 deep parsing 齐活。 雷 : @ 洪 我农民,东西放哪里啊 Parsing real time 的应用场景,东西放内存就可以了,用完就扔,用时再来,现炒现卖。当然那个做不了真正意义上的text mining,只见树木,难见森林。但可以应对搜索引擎对付不了的简单问题。 毛 : 哇哈,不得了。改不改变世界且不说,我的作息时间先被改变了。 雷 : 我以为做机器学习的人在在豪气冲天,原来 @wei 也是! 刘 : @ 雷 一个爱在雪地 …… 洪 : @ 雷  Chris Manning 的意思是, all information are in deep parsed text 雷 : facts 不就是来源于 deep parsed text 吗 洪 : facts are usually triples extracted from text with consensus 。 雷 : under a set of ontologies , these facts form a network , that is, linguistic factors are removed 。 洪 : db ir people dont really believe nlp is a must path for retrieval tasks 雷 : you are right. This is why wei made such big efforts here to point out the problems of those guys. 洪 : linguistic info is transparent to native human speaker , but I don't think it's transparent to computer. So, I believe in communicating with machine, or communicating with people through computer, simpler language in query or logic form should be better. Why do we want to make computer understand human language? It doesn'tmake sense at all. 洪爷说的是哪国话 ? 本来就不存在机器理解语言 , 那个 NLU 只是一个比喻。其实也不存在人工智能,那也是个比喻。 洪 : 现在大多数人可不把 ai/nlu 当比喻 所谓机器理解语言 不过是我们模拟分解了分析理解的过程达到某种表达 representations , 这种表达是达到最终任务的一个方便的桥梁,如此而已。 洪 : 按你的说法,机器人过不了 turing test 这一关 我是回应你为什么要让机器理解语言 。 回答是 , 从来就不需要它去理解。而是因为在人类从形式到内容的映射过程中,我们找到一些路径 , 沿着这个路径我们对人类的理解 , 似乎有一个说得过去的解释。 当然,那位 IR仁兄说的其实是一个具体环节, 指的是搜索框,他说好好的搜索框,给几个关键词就可以查询,既快又好又简单,为什么要把搜索框变成一个自然语言接口,像以前的AskJeeves那样,让人用自然语言提问,然后逼迫机器去理解?从他的角度,这完全不make sense,这种感觉不无道理。明明不用自然语言,多数搜索任务都可以完成得很好,没有道理硬要与机器说“人话”,增加overhead, 还有机器理解过程中的误差。关键词蛮好。互联网搜索这么多年,我们用户其实也被培养出来了,也都习惯了用尽可能少的关键词,以及怎样用关键词的不同组合,容易找到较理想的结果。自然语言接口似乎没有出场的必要。 可是,这只是问题的一个方面。问题是关键词搜索也许可以解决 80% 乃至 90% 的基本信息需求(只是基本,因为心中问题的答案还是需要人在搜索结果中去parse确定,这个过程不总是容易轻松的)。但还有相当一部分问题,我们或者难以用关键词找到线索,或者找出来的所谓相关网页需要太多的人肉阅读还不能搞定。这时候,我们可能就会想,要是有个懂人话的机器,自动解答我们的信息问题多好啊。自然语言接口终究会以某种形式重回台面,增强而不是取代关键词的接口。 洪 : 理解就是 1. 能在人与人之间当二传手; 2. 能根据自己存储的知识和具备的行动能力做出人所认可的反应 说白了 , 就是从线性的言语形式到语法树的映射。这是人类迄今最伟大的发现,或发明,或理论 , 属于最高天机。人类还没有更好的 理论 来解释这个理解过程。这个建树的过程,赶巧可以程序化来模拟,于是诞生了 NLU 毛 : 在图灵测试中,我们是把机器看成黑盒子。但是要让机器通过图灵测试,它就得理解人的语言才能作出反应。 两位大侠,能否推荐几本书看看?最好是科普类的,看着不吃力。 洪爷,不能因为在某些语言任务上,没有语言分析,也做到了,就来否定语言分析的核武器性质。 LSA根本就没有语言分析,但它用到给中学生自动评判作文方面,效果也不错。 洪 : 最近重读了几本认知方面的旧书,我倾向于认为人的内部表征是一种 imaginary 的多维图式表征, linguistic system 只是个人际交流的接口。把多维信息压到线性 。 让计算机理解小说诗歌,估计永远做不到,因为计算机没有人那么强大的 imaginary 内部表征。 @ 毛  wei 和我一起来推荐几本 nlp 方面的书,就像 PDP 一样经典 雷 : @wei 句子的语意理解后的表征方式是什么?还是 tree 吗 ? 逻辑语义 , 这是董老师的表述。外面叫 logical form , 这是从乔老爷那里借来的术语。具体表现细节没必要相同。 雷 : 那么我们把句子给理解后, tree 与 logical form 并存在记忆中? 二者等价。细分可以有:句法树;语义树;语用树。所谓信息抽取 , 就是建语用树。 句法树到语义树 , 就是乔老爷的表层结构到深层结构的逆向转换。 洪 : Chomsky 之所以不谈语义啥的,因为实在没啥科学证据。现在我们所讲的语义都不是 native 的,都是人类的数学逻辑发明,在计算机上热起来的。出口转内销 雷 : 是不是与那时的行为主义为主流有关,因为语意很难有操作定义? 这个讨论越来越高大上 , 也越来越形而上。 毛 : 是啊,再往上一点,就到哲学、认识论的层面了。 另, 跟 PDP 一样经典的是什么书? 乔老爷 57 年小册子。 毛 : 什么书名?我以前只是从编译的角度了解他在形式语言方面的理论(现在也忘了),却不知道他在自然语言方面的贡献。以前我对自然语言毫不关心,也就是这一阵听你们高论才觉得这东西挺有意思。 洪 : 有关语言学和认知科学的科普书, Steven Pinker 写的系列都不错 The Language Instinct (1994) ISBN 978-0-06-097651-4 How the Mind Works (1997) ISBN 978-0-393-31848-7 Words and Rules: The Ingredients of Language (1999) ISBN978-0-465-07269-9 The Blank Slate: The Modern Denial of Human Nature (2002) ISBN978-0-670-03151-1 The Stuff of Thought: Language as a Window into Human Nature(2007) ISBN978-0-670-06327-7 有关 NLP : Dan Jurafsky and James Martin's Speech and Language Processing. 有关基于统计方法的 NLP : Chris Manning and Hinrich Schütze's Foundations of Statistical NaturalLanguage Processing 好像这两本书国内都有影印本 白: 总结一下: wei 的中心意思, nlp 技术在他手里已经很过关了,只是苦于木有好的商业模式,再加上微软谷歌等传统势力的封杀,商业上还不能成大气候。有人建议说回国发展。 deep nlp ,性能不是问题,可以保证线性 online parse ,最坏情形回退到搜索。瓶颈在别处。 雷 : 元芳你怎么看 元芳呢 ? 谢谢白老师的总结 , 实际上就是这么回事。决定成败的不是技术,而是产品方向。技术差,可以砸了产品;技术好,不能保证产品在市场的成功。技术增加的是产品的门槛。 白 : 好的商业模式有两个特点,一个是技术壁垒,一个是侵略性。 nlp 前者不是问题,问题在后者。需要一张极富侵略性的皮。讯飞也有马失前蹄啊。 独 : 多讨论,应该能够找到好的方向。讯飞很多年都做得苦逼死了,熬到这两年才爽。现在做一个新的搜索引擎公司不现实。问答类概念已经被用滥了。出门问问也是因为问答不好做,改作智能手表,反而卖的不错。智能家居的语音交互界面,本质上是一个问答系统。 对于关键词,语法树就是颠覆。 白 : 信息服务三个阶段:门户网站,域名成为商品;搜索引擎,关键词成为商品;社交网络,粉丝成为商品。下一个成为商品的是啥? 问答只是表象,关键是要回答什么成为商品。 分析树也不直接是商品。 白老师说的极是。关键是什么是商品,可以来钱,这个确定了,作为后台的技术产品才有门槛,核武器才能发挥威力。 白 : 我们还是想想,高精准度的 deep nlp 服务,把什么作为标的商品,才能具有侵略性。 Philip: 给 @wei  的高大上技术找个商业模式 独 : 我个人算是比较擅长于设计商业模式的,但是对于 NLP 的直接应用,还是觉得太偏后端,很难找出一个前端产品,对于用户是可感知的刚需。 白 : 不在多而在狠, uber 就够狠。 【相关博文】 【立委科普:自然语言parsers是揭示语言奥秘的LIGO式探测仪】 泥沙龙笔记:创新,失败,再创新,再失败,直至看上去没失败 2015-07-05 泥沙龙笔记:从 sparse data 再论parsing乃是NLP应用的核武器 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|8824 次阅读|1 个评论
泥沙龙笔记:聊聊 NLP 工业研发的掌故
热度 3 liwei999 2015-6-27 22:17
泥沙龙笔记:把酒话桑麻,聊聊 NLP 工业研发的掌故 尼克介绍的那个讯飞语音输入 , 简直是神器,向我们的语音同行,脱帽致敬。相信语音是统计的天下。 Nuance作为源头 的 爱疯Siri 和讯飞的语音,都快登峰造极了,叹服。 两年前 Nuance 语音以上,要往 text NLP (Natural Language Processing) 发展,找过我多次,作为他们新实验室头儿的候选人。互动了很久。这要是进去,可不是就进入了统计学家和精算师们的海洋,虎口啊(笑)。精算师们的头脑里压根儿就想不到统计外还有其他。 后来他们把老革命家 Ron Kaplan 从微软 Powerset 挖 去 , 做了他们这个部门的头儿。 Ron 是 P ARC 实验室的老将。早期 FSA 算法研究的推手(之一)。他们当时的电脑硬件的限制 , 对线性和效率要求极为苛刻。他津津乐道的就是当年怎么在最苛刻的硬件条件下 , 做出名堂来。后来他想让我做他的副手,毕竟他老人家比我还老,希望找一个能带队伍打仗的。我们相谈甚欢,有很多共同语言,因为他也是规则派,线性派,也做过 deep parsing, 有很多共同的感受。 这里面涉及 NLP 的一些掌故 , 就索性在这里说说。大家都知道的是,施乐的 PARC实验室 是世界上最著名的IT发明创造的发源地。他们有本事招揽天下最优秀的科学家和天才发明家,但没本事开发产品,都是为他人做嫁衣裳。于是成就了乔布斯 , 乔布斯又成就了微软 , 如此等等 , 才有我们今天的电脑和IT大业。 这件事儿对施乐很刺激 。 于是十五六年前, PARC 决定尝试肥水不外流 。 自己 spin-off 一些 start up s, 对 PARC 的成果做技术转移和产品孵化。其中搞 NLP 这块的,就 spin off 了一家叫做 Inxight 的公司,大家应该听说过,那是工业界的 NLP leader 。 PARC 名声大啊,除了自己投资外,吸收其他投资也不难,前后圈了 10+轮风投 。 他们在 PARC FSA(有限状态自动机) 研究的基础上,推出一个 LinguistX 的平台,从浅层开始做起, Stemming, POS,NE,多语言。 FSA 特别擅长 stemming (主要是削尾) 和 morphology(词法分析), 就是对词的各种分析。 这样唠叨下去,太慢,还是要长话短说。 总之是,一开始还不错,因为搜索引擎市场里面,做多语言的都要 stemming , 他们也就有了一些客户。可是世界上有多少家做搜索引擎?以前百家齐放还好,后来天下归一就难了。 雷 : 如果可能,希望短话长说 总之是, NLP 做平台的 , 做 component technology 的,很难在市场生存发展。 Inxight 在融资 10+ 轮后,终于撑不住了。那些当年雄心勃勃要在工业界掀起 NLP 革命的 Inxight 的创始人们(四个创始人,我认识三位),也都跟我差不多,随着这个行业一同老去,还是看不到希望。(我个人算幸运的,先是赶上了世纪末的大跃进(互联网泡沫),如今又赶上了大数据,似乎见到了 NLP真正的工业曙光)。 RW: @wei component technology 很难生存,这句话到位 他们也真能,圈了那么多钱,终于无疾而终。白菜价卖给了 SAP 。 高科技的事情大多如此,一旦被巨头买下,科技创新就死,然后就是不了了之。 毛 : 不奇怪 见过很多这样的 。 这 Inxight 进了 SAP 就是如此。这里面的故事非常 telling , 因为若干年后 SAP 与我现在的公司达成战略伙伴 , 要用我们的 social 这块。开始接触的时候,我说,你们的 Inxight 呢,不是听说后来也做了 sentiment 吗,而且是 NLP leader 出身啊。进一步接触才明白,那叫一个天壤之别。将别三日,江河日下啊,廉颇老矣不能饭,不足道也。 回头再说这 PARC , Inxight 虽然不成,这个 “ 上世纪的技术 ” FSA 并没死,前仆后继者还有。C omponent technology 很难活,但是从这个源头,还是引出了另外两家步 Inxight 后尘的。一个就是 Ron 创立的 Powerset , Ron 是拿它做 parsing , 向深度进军。另一家是 BASIS , 现在还活着,在旧金山,只做 stemming ,多语言,那是向广度进军。 Powerset 其实很值得赞佩,因为他做的 parser 工业最靠谱(除了在下的外,呵呵)。但是钱要烧完了 . 总得有个产品啥,它没有。只做出了一个技术 demo , 证明 parsing 对搜索有用,比关键词高一筹 。 概念上证明了,关键词做不到的搜索, NLP parsing 是有用的。 RW: 那怎么活? @wei Nick: @wei powerset 我还较熟悉。 powerset 现在还在吗? 还在,但跟死了一样,头儿和主要技术人都走了,技术本身基本也没融入微软产品。 Parsing 对搜索的好处是精准,因为语法结构的匹配代替了没有结构的关键词查询。譬如要搜索微软都并购过哪些公司 , 关键词就很难找到好的结果。可是 Powerset 在 parsing 基础上的搜索或答问,就可以整出非常漂亮的结果 。 行内叫做 SVO search (主谓宾支持的结构化搜索)。 结果一定是漂亮的,因为把句法结构加入了,微软必须是主语,并购必须是谓语,那么出来的结果就不会不干净。 SVO 就是 parse 的主干,主谓宾 , 语言学叫 argument structure , 是 parsing 的核心结构。 当时,Powerset 钱快烧完的时候,还想不出来做什么产品,Ron 的团队着急了。嚷嚷着超越 Google,可是只有个高效的parser,没法说服人啊。于是想到,找一个什么不大不小的对象开刀合适呢,因为 parsing 是有成本的。他们口口声声,是要做下一代 Google , 取代关键词搜索。 Google 最多是牛顿, Powerset 要做爱因斯坦。 这些宏观上的忽悠 , 完全没有问题 , 因为原理没错, parsing 是 keywords 的爱因斯坦,可是工程上有成本的考量啊。结果他们想了一招,拿 wiki 开刀。 wiki 当时的那个量 , 还比较合适做 demo , Ron 于是在互联网的大海找到了这么一滴水。 Nick: @wei  这是何时的事? 六七年前吧。他们于是把 wiki parse 了一遍 , 做了一个 demo 给大家看,蛮 impressive , 于是,微软就买了。他们也算善终了 , 至少投资人没亏,小赚一笔。微软的心态,是不管三七二十一,只要宣称能取代 Google 的技术,先拿下再说 , 管他消化得了消化不了。因此 Powerset 比 Inxight 的风投结果好,至少没有贱价出售。 如果 Powerset 错过了微软这个冤大头,那就比 Inxight 还惨。 RW: 是不是最终又给微软毁了? 微软当然毁了它,比 SAP 还不如。 Nick: 貌似 powerset 还做 search 整合,把好几个搜索结果拿来从他们这过一下 前几年我做多语言deep parsing项目, 招人的时候 , 去 Powerset 挖到一位,很能干的。本来高高兴兴做 parsin g , 是从 PARC 被 Ron 带出来的 , 后来微软吃掉后 , 被分配去做 query 的分析。 query 在搜索是啥 ,不就是两三个词的组合么,一个做语言语法分析的人,现在必须抠那几个词 , 为了一些细琐的需要(应用上自然很重要),简直郁闷极了。这位其实懂很多欧洲语言 , 也有电脑素养,我挖他过来做大数据的语言分析,他自然很开心。 Ron 不乐意了,曾明着跟我说过。可他也没法,他自己勉强在微软帮助支撑了两三年,最后还是去了 Nuance , 祝他在 Nuance 可以开一个新局面。 Nick: parsing 完再搜索 vs 搜索完 parsing ,哪个效果好? 这都扯到哪里了。这些掌故说起来一大车 , 包括当年的 Whizbang !那可是名校计算机主任亲自出来领头做的 NLP 公司啊, 特别擅长网页layout的机器学习,从中做信息抽取, 最后比我的前一个公司 Cymfony 结局还惨。世纪之交高科技泡沫破灭,我们挺住了,开发了产品,他们的 3000多万的投资人却中途撤资了,最后各种技术贱卖,100万即可买到所有的源码和技术说明,先找到我们,说是最适合的买主,我们当时没精力消化这些,后来是Inxight买了。 雷 : 说起来话长,故事好听 再往前的掌故还有 Answerlogic 问答系统, 也是在上一轮 bubble 时候闹腾得特欢的 NLP 公司。钱烧完了,就完了。 RW: 这句话经典! 所以说,这 NLP 要做成,不容易。不是技术不到位,技术参差不齐,但是优秀的引擎(精准、鲁棒、高效)是已存的现实。我敢打包票。 RW: 是不是有 ahead of the market 之嫌? @wei 技术不是问题 (笨蛋不算,你要是找到一个只会忽悠的笨蛋,那是 due diligence 太差,怨不得人)。 Nick: 嗨,老套路,骂别人是为了夸自个。 可不,卖瓜王爷。不过,那也是客观事实,内举不避己,不能因为自己能就偏要说不能,最后还是要系统说话。 当然,这玩意儿要做好(精准达到接近人的分析能力,鲁棒达到可以对付社会媒体这样的monster,高效达到线性实现,real time 应用),确实不是一蹴而就能成的。这里有个n万小时定律。大体是,NLP入门需要一万小时(大约五年工龄),找到感觉需要两万小时,栽几个有意义的跟头需要三万小时,得心应手需要四万小时,等你做到五万小时(入行25年)还没被淘汰的话,就可以成精了。那是一种有如神助、如入无人之境的感觉,体会的人不多。打住。 高精的NLP技术虽然很难,但技术的确不是问题,问题在于产品 。 从 NLP引擎 mapping 到产品 或 产品的 feature s , 这里面有千百种组合,哪种组合能在市场上站住 , 到目前为止基本是盲人摸象的过程。 RW: 否则不叫风投 为了减少盲目性,产品经理和制定产品策略的老总至关重要。 高技术公司的产品老总 在宏观上了解NLP的潜力,同时深谙 市场的卖点,了解客户的需求和痛点,可以具体制定产品和产品features的specs给 NLP developers,只有这样合作才能成事。 回尼克的问题 , parsing 和搜索的关系。 parsing 完再搜一定是效果好的,因为搜不到就 backoff 到关键词。你可以肯定高于搜索,问题是成本。搜索完再根据情况调用 parsing , 也是可行的。 Nick: 我就是这个意思。我印象当年 powerset 给我看的 demo 是先搜后 parsing 。 但是这个问题 , 更准确的表述应该是 , 一个 query 来了 , 有个 routing 的 process , 这个 routing 可以包括局部搜索探路 , 也可以包括其他的策略,总之是,应该可以找到一类 query , 这类 query 最适合 用 parsing 来回应。最好是那些关键词最难回应 , 而结构最拿手的。如果这个子集能大体确定,那么 parsing 在互联网搜索上是大有可为的。其实 , 目前的搜索巨头 , 在利用 parsing 的路上走得太慢。原因我不清楚,但是明显是利用不够。话说回来,如果巨头都能那么灵活,也就没有小公司的活路了。 Jing: 用户量大了后用户的历史行为就间接人肉 parsing 了。 历史行为那是另一个侧面和角度,可以满足信息需求的一个部分。历史行为确实也等于间接利用了人工的 parsing的结果,因为人在选择点击阅读某个网页的时候是扫描理解(parse)了链接上的标题的。但那不能涵盖 parsing 所能起的全部作用。 Jing: query understanding 包括这个步骤。你前面提到的那个分去做 query 的哥们完全可以做这个呀 query understanding 是非常重要的一个环节 , 可是做的人痛苦啊,两三个词玩不出语言学的名堂来,没意思。做 text 的人面对的是整个互联网。 query 是语言中的一个分子 , 那种感觉是不一样的。 【相关博文】 泥沙龙笔记:从乔姆斯基大战谷歌Norvig说起 2015-06-20 乔姆斯基批判 2015-06-15 把酒话桑麻,再泡一壶茶,白头老机译,闲坐说研发 【置顶:立委科学网博客NLP博文一览(定期更新版)】
个人分类: 立委科普|7109 次阅读|3 个评论
【立委科普:教机器识英文】
liwei999 2010-2-10 07:10
【置顶:立委科学网博客NLP博文一览(定期更新版)】 2008-09-20 我们教机器理解语言(Natural Language Understanding),基本的一条就是通过句法分析 (parsing) 解析出句子的意义。什么是一个句子的意义呢?举个例子: John loves Mary. 上述句子有三个构句成分:约翰,玛丽,爱。认识这些词不难,一部词典就成,但这不等于能听懂这个句子,因为句子的意义不是其成分词汇意义的简单相加。同样的词汇,不同的组合,构成不同的句子,就有不同的意义,说明了句子结构分析对于语言理解具有决定性的作用。比较下列各组句子: 1a. John loves Mary. 1b. Mary is loved by John. 1c. John’s love for Mary (is amazing) 1d. Mary’s love by John (is amazing). 2a. Mary loves John. 2b. John is loved by Mary. 2c. Mary’s love for John (is amazing) 2d. John’s love by Mary (is amazing) 3a. John’s Mary is loved. 3b. the love for John’s Mary (is amazing) 4a. Mary’s John is loved. 4b. the love for Mary’s John (is amazing). 以上各组句子里面,虚词和词缀(如is,-ed,’s,the)有所不同,词序排列不同,而基本实词成分是相同的。句式各不相同,有主动态句型,有被动态句型,有用动词love,也有名词love,但是每组的句子中心意义是相同的。句法分析(parsing)的最终目的就是把语言中意义相同但说法不同的句式解码成相同的表达形式(称为逻辑形式 logical form),达成理解。以上述4组句子为例,怎么才叫理解了这些句子呢?如果解析出下列逻辑关系,就可以认为理解了。 1组:约翰是“爱”的的施予者,玛丽是“爱”的对象。 2组:玛丽是“爱”的的施予者,约翰是“爱”的对象。 3组:(约翰的)玛丽是(某人)“爱”的对象。 4组:(玛丽的)约翰是(某人)“爱”的对象。 我们自然语言工作者编制机器语法,为的就是教会机器自动分析(parse)句子,把语言不同句式的种种说法(所谓表层结构 surface structures)解码成如上例所示的能表达结构意义的逻辑关系(所谓深层结构 deep structure)。其重点就是解析动作行为(love)及其施(如约翰)受(如玛丽)关系,即,逻辑主谓宾(logical subject-verb-object SVO)的解构。上述4组句子解构后的形式表达如下: 1组:LOVE: Subj=JOHN; Obj=MARY. 2组:LOVE: Subj=MARY; Obj=JOHN. 3组:LOVE: Obj= 4组:LOVE: Obj= 除了主谓宾的主干以外,句子的意义当然还包括枝节意义,譬如实体的修饰语(e.g. the “beautiful” Mary),行为动作的时间地点条件方式等状语 (e.g. John loves Mary “dearly”),但是,逻辑主谓宾总是句子意义的核心。严格地说,句子的主干应该是“主谓宾补” (S-V-O-C) 四项,因为有些行为动作还需要第二个宾语或者宾语补足语意义才完整。 教会电脑自动理解句子意义有什么用处呢?用处大得很,用处之一是使搜索智能化,直接得到你想要的答案,而不像牵狗一样搜索的结果是成千上万个网页。比如,你有一个疑问:微软收购了哪些公司?你只要告诉带有语言智能的搜索器,Subj=Microsoft, Verb=acquire/buy, Obj=? 逻辑主谓宾武装起来的智能搜索就可以轻易搜得所有媒体报道过的微软兼并过的公司,给你列出一长列来。这是传统搜索引擎 Google, Yahoo, 和 MSN 无法做到的。 下面是笔者开发的英语自动分析机的一个运行实例。输入是英语句子,输出是逻辑主谓宾补。笔者用汉语简单加了一些注解。 这是输入: A U.N. cease-fire resolution has authorized up to 15,000 U.N. peacekeepers to help an equal number of Lebanese troops extend their authority into south Lebanon as Israel withdraws its soldiers. 这是 S-V-O-C 输出: name=”SubjPred” has authorized 动词 A U.N. cease-fire resolution 主语 name=”PredObj” has authorized 动词 up to 15,000 U.N. peacekeepers 宾语 name=”PredInf” has authorized 动词 to help 补语 name=”LSubjPred” to help 动词 up to 15,000 U.N. peacekeepers 主语 name=”PredObj” to help 动词 an equal number of Lebanese troops 宾语 name=”PredComp” to help 动词 extend 补语 name=”LSubjPred” extend 动词 an equal number of Lebanese troops 主语 name=”PredObj” extend 动词 their authority 宾语 name=”PredPrep” extend 动词 into south Lebanon 补语 name=”SubjPred” withdraws 动词 Israel 主语 name=”PredObj” withdraws 动词 its soldiers 宾语 笔者的目标就是制造一台世界上最善解人意的智能机器,大家说的鬼子话它大多听得懂。教机器学人话是既刺激好玩又具有实用价值的干活,笔者教了十几年了,乐此不疲。 Comments (2) yechq 12月 6th, 2008 at 11:18 am edit “笔者的目标就是制造一台世界上最善解人意的智能机器,大家说的鬼子话它大多听得懂。” 好大口气,目前成果如何? liwei 12月 6th, 2008 at 2:19 pm edit 原来是关门吹牛的帖子,出来见光时忘记删改了,不能当真的。 关门在老友中间吹牛基本上与夜行怕鬼吹口哨壮胆类似。呵呵。 谢谢,我去修改一下。
个人分类: 立委科普|6299 次阅读|0 个评论

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

GMT+8, 2024-6-5 05:21

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部