我:接着上篇的“毛毛虫”话题往下说专用语言。
NLP 专用语言 (属于 domain language 范畴吧) 涉及 formalism (FSA++) 的定义 (包括 syntax sugar)以及实现(language parsing, compiling and running), 这是极为重要的毛毛虫基础工作。
否则的话,往往只能做玩具系统,譬如我硕士阶段拿通用语言 BASIC 做的一对二
MT
系统,我的师兄用 COBOL 做的德汉 MT,都
是如此。 很多人不了解NLP专用语言这方面的工作,而市面上和open source又没有现成的工具,因此无从起步。规则系统的式微由此可见,连个基本的工具、语言和平台都没有,并不是每个人都有本事和耐心自制工具、创制语言的。不像学习,各种不同路子的 ML,都有很多软件包,大多是开源、不要钱的,少数也只收点 nominal fee,拿来就可用。任何先进的算法和研究,一经发表,找个研究生就可以基本复制过来,重复别人的结果。特别能够激励研究生创业,很短时间就可以拿出一个似乎可用的NLP系统。
而规则那头,只有10几年前从 PARC spin-off 出来的 Inxight 作为 NLP industry leader 当年发布过一款 LinguistX,提供了 NLP 专用语言和平台。可 Inxight 没活下来,LinguistX 自然从市面上退出了。因此NLP符号派不仅是人才断层,平台和语言也断层了。积重难返。
我前后服务的两家公司做的语言和平台,都是自己定义内部实现才做成的。很幸运吧,天不我欺,冥冥之中还是很受眷顾的。都是那么小的公司,却都恰好有内部工程师愿意啃编译这个不时髦的果子,听命于我去做平台,实现编译,不辞辛苦,老板也没用皮鞭抽着也做出来了。“毛毛虫” 就是这么摸索中实现、修改和完善的。
唐:如果用Prolog实现你的规则是否可行?
我:不可行,首先是backtracking,速度这关就过不了。我的博士项目就是在 Prolog 平台上用一个 Prolog 衍生出来的专用语言 ALE 实现的,同一个 unification 文法既做parsing也做generation,用于双向MT,看上去蛮漂亮,但就是个 toy。
董: 做硕士这样也许就可以,这是学手艺。但如果从此就是照着这么做。那不是在用自己的努力来证明别人的正确性。发表论文方便了,因为审稿人高兴看到。但是自己的创新就受限了。我们从来不会这么做。
我:
常有猎头试图来找,多数我不理,碰到听上去是个有大平台或有趣项目的,有时就谈谈。谈到中间,最常见的一个问题就是,你这么资深,是不是就不编程,主要做管理了?这不怪。据说 40 岁以上还没被淘汰的码农比熊猫多不了多少,或者是怪才,或者是缺心眼,自我煎熬。
我说,不是啊,我最讨厌的就是管理了,我最爱的就是做系统。问:hands-on?答:是的,非常的 hands on,on到痴迷的程度,夜以继日。下一个问题就是:那您用什么语言呢?我说:我这样的资深,哪里会用别人的语言。我是用自己的语言写系统。到了这里,不解释的话,一多半人都以为我是胡说。General purpose 做不了 real world 的系统啊,不用自己的,市面上又没有(其实有,也最好不要用,我们曾试图 license LinguistX,后来还是放弃了,回头看是最英明的早期决策了,offshelf 对优化和扩展是双重束缚),还怎么做呢?
我:
董老师经历历史的,这个 NLP 语言也是有一个艰难的摸索过程和传承的。开始是数据与算法合一在通用语言中,后来终于认识到这唱不了大戏。于是在我入行的时候,数据与算法分开的口号震天响。怎么分开,就是创制NLP专用语言呗。起初的尝试很原始、粗糙,就是建一个表,定义几个常用的域,然后对这个表解释执行,所有的规则只能在表的简单的syntax里面,表达力极为有限。满足不了语言学家随机组合条件宽严的需要。语言所王广义老师当时的项目就是这么一个表处理。刘老师董老师在我入行前应该也是从表处理开始,后来过渡到表达力丰富的专项语言的。于是斧头在刘老师和董老师一辈就造出来了,里面融合了很多语言学的元素,经验的积累,以及专门针对 MT 的种种操作,因为当时 NLP=MT,MT 就是 NLP. 规则是独立了,语言学算法与机制还是混在一起。
独: @wei 国内现在有资金也有年轻人,回国创业吧
我:我一直在看机会的大小,keep eyes open。现在状态不差,但也不愿贸然跳进一条小船,耗不起。如果有一个特大的平台可以发挥一辈子的积累,能够做一些真正对世界有实质影响的产品,就是乔布斯说的给宇宙 put a ding,当然会考虑。因为现实就是,技术是 under-used,没有充分发挥可以发挥的影响。昨天我跟老板也是这么说的,有点 frustrated。老板也知道,技术上很多潜力,产品暂时无法消化。所以我一直认为,产品老总是比技术大咖更要紧的角色。产品不能清晰定义需求,我一个再强的引擎,在那里是干着急白费劲。那么强大的树结构和深层分析,本来可以做很多事的,抽取很多不同的情报,制作知识图谱,或者支持开放式智能搜索 or 问答系统,现在基本是只做一件事儿。当然所用到的那一点舆情抽取挖掘,还是得益于 deep parsing 的高质量而领先于世,舆情精准度比对手高出20多个百分点。现有的引擎和平台对世界几乎没有影响,核武器委屈在一个地库里面。冷藏着。
转载本文请联系原作者获取授权,同时请注明本文来自李维科学网博客。 链接地址: https://blog.sciencenet.cn/blog-362400-971045.html
上一篇:
【科研笔记:NLP “毛毛虫” 笔记,从一维到二维】 下一篇:
《新智元笔记:机器的馅饼专砸用心者的头》