《镜子大全》《朝华午拾》分享 http://blog.sciencenet.cn/u/liwei999 曾任红小兵,插队修地球,1991年去国离乡,不知行止。

博文

《新智元笔记:再谈语言学手工编程与机器学习的自动编程》 精选

已有 4358 次阅读 2016-2-26 01:03 |个人分类:立委科普|系统分类:教学心得|关键词:规则系统,机器学习| 机器学习, 规则系统

宋:
   
We believe the contents of your iPhone are none of our business.
       我们确信你手机里存了什么,跟我们没有半毛钱的关系。
       我们确信,你手机里存了什么跟我们没有半毛钱的关系。
标点的问题。@wei 能不能再看一下英文的结果?

我: 可以。



宋: 英语的分析很好,汉语还有点问题,关键是英语的NP(Subj)到了汉语译文中成了主谓结构。

我: 这句英语比较简单。今天CNN头条的一个新闻,随机测试两句较长一些的句子,看里面的结构parse成什么:


英语开发时间长,早就成熟了,好久不动它了,没多少油水可榨了。基本达到人的分析水平了。
张: 威武

我: 常有人问我看过这个parser,那个parser 没有,我老实说一般都懒得看。都琢磨了一辈子了,曾经沧海难为水。关键是,在用 parser 做事儿的时候,就会发现,凡是 offshelf 的,都不好用。不仅仅是树的问题,树上只看到了 arcs,看不到的是 nodes。没有对nodes的语义接口和掌控,句法树也就是一道风景,也做不了事儿。


我: @白硕 谈辖域,离不开并列结构和省略现象。并列结构被公认是 parsing 的拦路虎,痛点之一。它打破了依存关系的日常秩序,是个难缠的东西。

梁: 白老师说的“辖域”是指什么呢,能具体点儿吗?在这句话里: “这顿饭的吃与不吃,都左右不了选举的结局。”


梁: 挺好的,很多细节都处理得好。只是大结构没有抓住,中心词应是“改变”,A 改变不了B.核心动词应是“左右不了”。

我:  加上了,这下你该满意了?


白: “吃饭”搭配呢?
我: 白老师真心眼毒。搭配与并列还没协调好,你容我喘口气儿

我: binggo!原来只是一个很小的词典问题。

哈哈,“仰天大笑闭门编,我辈岂止码农民”。工具顺手了,调系统就是个玩儿。与大学生玩游戏上瘾类似,调试系统很 addictive 的。据说机器学习可以代替语言学码农,剥夺我们的乐趣,第一我们语言码农是不会答应的,第二它也代替不了。能代替的都是低级劳动,高级劳动的自动编码还有日子吧,或者根本就是科学幻想。

梁: 不是说机器学习是根据输入输出学习规则吗? 也就是学习自动编码,对吧?
我: 机器学习的本质是自动编程,属于自动编程的一个分支。但在AI和NLP历史上,它被视为理所当然高于领域码农的高级算法。这个观点本身没有问题,这是高一阶的算法,自然是高级的。但是这一切成立的基础是,领域算法和formalism已经清晰,可模拟。领域指的是语言学,of course。但实际情形完全不是这样,这个 assumption 只在浅层、单一语言学现象上,是成立的。
白: 自动编程和基于示例的编程不是一个概念。自动编程是以spec为输入,以相应程序为输出。基于示例编程是以输入输出pairs为输入,以相应程序为输出。
我: 白老师说的不错,(有监督)机器学习的根基是示例,语言处理本身是黑箱子,一切被认为完全可以用输入输出完善表达。在错综复杂的自然语言问题领域,这个思路有问题。譬如,并列现象与依存现象的错综复杂的纠缠,本来是需要精细周到的语言学算法去应对的(参见:【立委科普:语言学算法是 deep NLP 绕不过去的坎儿】 )。但是现在被认为是,只要请语言学家标注出一大批树,这些领域算法,就可以绕过去,然后机器自动学习出一种合适的处置来。我始终不信服。无法信服。里面饶了那么多弯儿呢,怎么可能全部自动学出来?语言学家也是专门家,他们就那么容易被机器复制、取代?
梁:  “自动编程是以spec为输入,以相应程序为输出” 是 Specification ?
我: specs 本身的定义,其实不排除用案例,或 labeled data。我们产品经理找我提供NLP支持的时候,他给我的 specs 就是以案例为主:说只要是这样的 input,你给我抽取出这样的 insights,就ok了。软件中的不少 specs 是难以精确逻辑定义的,只好辅以 labeled data,这就与NLP中的机器学习面对的“specs”同质了。

我: 重要的话说n遍,QUOTE: 手工编制(hand-crafted)怎么了,怎么到了NLP领域,突然就成了带有原罪的贬义词了呢。这是因为在NLP领域,代表主流的精算师们由于他们在NLP某些任务上的非凡成功,使得他们居功自傲,把成功无限推广和夸大,给这个community 施行了集体催眠术,让人相信机器学习是万能的。换句话说,批判手工编制的劣根性,其隐含的前提是机器学习是万能的,有效的,首选的。而实际情况是,面对自然语言的复杂性,机器学习只是划过了语言学的冰山一角,远远没有到主流们自觉和不自觉吹嘘的如入无人之地的万能境界。催眠的结果是不独不少语言学家以及NLP相关利益方(stake holders,如投资人和用户)被他们洗脑了,连他们自己也逐渐相信了自己编制的神话。

古有鲁班,现有码师(coding master)。这些码工谁不靠手工编制代码作为立足之本呢?没听说一位明星工程师因为编制代码的手工性质而被贬损。同是软件工程,为什么计算语言学家手工编制NLP代码与其他工程师手工编制软件代码遭遇如此不同的对待。难道NLP应用比其他应用简单?恰恰相反,自然语言的很多应用比起大多数应用更加复杂和艰难。解释这种不同遭遇的唯一理由就是,作为大环境的软件领域没有NLP主流的小环境里面那么多的傲慢和偏见。软件领域的大牛们还没有狂妄到以为可以靠自动编程取代手工编程。他们在手工编程的基础建设(编程语言、架构和开发环境)上下功夫,而不是把希望寄托在自动编程的万能上。也许在未来的某一天,一些简单的应用可以用代码自动化来实现,但是复杂任务的全自动化从目前来看是遥遥无期的。不管从什么标准来看,非浅层的自然语言分析和理解都是复杂任务的一种。因此,机器学习作为自动编程的一个体现是几乎不可能取代手工代码的。规则系统的NLP应用价值会长期存在。

自动是一个动听的词汇。如果一切人工智能都是自动学习的,前景该有多么美妙。机器学习因为与自动连接在一起,显得那么高高在上,让人仰视。它承载着人类对未来世界的幻想。这一切理应激励自动学习专家不断创新,而绝不该成为其傲慢和偏见的理由

(摘自: 【科普随笔:NLP主流最大的偏见,规则系统的手工性】)






http://blog.sciencenet.cn/blog-362400-958663.html

上一篇:【李白对话录:从“把手”谈起】
下一篇:【李白对话录:RNN 与语言学算法】

9 陆泽橼 黄永义 陈辉 李颖业 李楠 庄世宇 徐令予 shenlu yunmu

该博文允许注册用户评论 请点击登录 评论 (6 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-10-21 01:22

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部