|||
有脚客介绍人工智能(AI)现状 ( http://rl.rockiestech.com/node/636 ),认为由于机器学习(ML)技术的长足进步,人工智能正进入繁荣期,并且开始成功用于自然语言处理(NLP). 除了调子过分乐观了一些,这是个不错的介绍。下面的随笔是根据我自己的经验和体会而来。 AI, ML and NLP NLP 中过分强调 AI 曾经是斜途,其实现在我认为也还是斜途, 我很久以前就有过这个看法,现在觉得并没过时: 机器翻译的另一极是建立在充分理解基础上, 毋须转换的自动翻译, 这是从实质 考察人的翻译活动, 可以发现, 人是靠丰富的知识在理解的基础上从事翻译的。 总之, 虽然机器翻译的最终出路在于人工智能的理论和技术的突破, 但在条件不 AI 里面调子最高的一派是 Doug Lenat,他的 cyc 项目进行了多年,获得了政府和许多 high profile sponsors 的多年资助,一直无法实用,尽管他自己10年前就宣扬已经接近应用前夜了。对于 Doug Lenat,我打心底钦佩,这种基于常识推理的 AI 需要苦功夫,是对人的智能(一个侧面)的逼真模拟。 多数学者对此不以为然,对这种 “纯粹AI” 不看好,大家大都转向以统计为基础的机器学习 (ML)。基本上是把人的智能看成黑箱,不再试图从本质上模拟人脑的过程,包括逻辑推理,而是把每一个具体的智能活动定义为一个任务,一个从输入转换成所求的输出的任务,而这是可以客观度量的。只要机器能够训练成尽可能逼近所需的输出,人的智能就局部实现了。 ML 和 NLP 如今,NLP(包括机器翻译MT)也基本上已经被搞机器学习的人统治了,传统的规则方法只能打边鼓。他们也确实弄出一些名堂来,尤其是语音处理,分类(classification),和知识习得(knowledge acquisition) 方面。 目前的情况是,有指导的学习(supervised learning) 比较成熟,但遭遇知识瓶颈,就是需要大数据量的 labeled data 的问题。如果问题单纯,features 选取容易,又有海量数据,学习的结果真地可以很接近人工水平。我们曾经做过一项研究(碰巧的是,IBM 也大体同时做了这项研究,不如我们深入,但大同小异,结果也类似),找到了一个很好的应用领域做大小写恢复工作(Case Restoration),效果奇好。过去很多档案文字的电子版本是全大写的,网络上现在还有很多文件也是不分大小写的(譬如很多语音识别出来的材料,标题,还有论坛和电子邮件的非正式文字,等等),这就给自然语言处理和信息抽取造成困难,因为多数语言处理系统 assume 的 input 是正常大小写夹杂的文字,一旦输入文件没有大小写的区别,一切就乱套了。连最基础的词类区分(POS: Part-of-Speech tagging)和专名识别(NE: named entity tagging)都寸步难行(因为最重要的一个识别专名边界的clue就是大写)。为了解决这个问题,以前的研究者就设计两套系统,比如BBN就把大小写的features统统弃置重新训练一套NE系统来对付没有大小写的input, 除了 overhead, 系统性能也下降很多。我们想,如果我们先把大小写恢复,然后再做 NLP 不就成了。这个恢复大小写的任务相对比较单纯,训练文本几乎是无限的,因为网上文字大多是区分大小写的。我们利用这些现成的 "labeled" data, 用最简单的HMM算法,学出了一个高效能的系统,解决了这个问题,结果超出预料地好。(Niu, C., W. Li, J. Ding, and R. Rohini. 2004. Orthographic Case Restoration Using Supervised Learning Without Manual Annotation. International Journal of Artificial Intelligence Tools, Vol. 13, No. 1, 2004.) 不过,这样讨巧的事并不多 (一个类似可以讨巧的是某些classification的任务:比如想训练一个给评语分类的系统,就可以上网找到很多客户回馈的记录,这些记录除了文字外,常常还有星号标识,以1个星号表示很差,5星表示很好)。多数任务会遇到 lebeling data 的瓶颈。统计界的共识之一就是,data, data and data. 很多时候,算法的优劣是其次的,主要还是要足够多的 data 和合适的 feature design. 数据量大了,学习的效果自然就好了。所以,labeled data 是 supervised learning 的真正知识瓶颈。我就见过这样的系统,本来是指望随时重新训练以适应新情况的,结果 data 跟不上,成了一个只训练一次的死系统,任何后续的改进都不是经过增加数据重新训练,而是在系统外部打各种补丁。机器学习的优势就失去了。 无须指导的学习(Unsupervised learning) 因此引起学者的兴趣,成为热点,因为所需的训练材料无须标注。在网络世界,有的是 raw data. 对某个对象进行 clustering 就可以用 unsupervised leaning, 出了很多有意思的结果。Clustering 有别于 classification, 前者没有预定一个目标,而是根据features,只要长得象的就归在一起,后者是有预定的 tag set 作为分类的目标。只要设计者心中有个大致的目标,features 选取得当,可以控制 clustering 的结果的粗细,然后去现实世界或使用者中印证clustering的合理性和含义。反正是 unsupervised learning, 不妨多来几次,选取最好的结果作为方向,这样就可以把 clustering 转化成具有广泛应用的 classification. (在人类智能活动中,分类是最常用的技能,也是应用最广泛,相对单纯,比较易于机器学习和模拟成功的任务。大千世界,林林总总,为了把握它,人类第一个要做的就是分类。分类以后,才好缩小范围,集中到某个子领域,钻进去仔细分析。) 正如自如所述,目前很多研究者对所谓 weakly supervised learning 情有独衷,觉得这是一个具有突破性的研究方向。传统的 supervised learning 有知识瓶颈而为人诟病,完全没有指导的学习效率不高,因此尝试利用有限 labeled data 作为种子(seeds), 怎样引导学习程序一步一步向指定方向去,这是一个充满魅力的路子。这方面的成果令人鼓舞,但总体还在探索阶段,只有少部分课题已经接近临床实用,譬如分类和词典习得(lexicon acqusition). 机器学习的缺点和局限等有时间再接着谈。先说一点,任务一复杂,ML 就麻烦。遇到复杂的难以分解的任务,基本是没戏,譬如 自然语言的深度结构分析(deep parsing)。而任务相对单纯的浅层分析(shallow parsing),ML 的效果就很好,可以媲美人工系统。
上对人的翻译过程的模拟。这时候, 源语分析才是真正的自然语言理解, 机器翻译才
真正属于人工智能。然而, 这里遇到两个难题: 一是知识处理问题; 二是所谓元语言
问题。
这些知识既包括语言知识, 也包括世界知识(常识、专业知识等)。如何组织这些包罗
万象的百科全书一样的知识, 以便适应机器处理和运用的需要, 是人工智能所面临的
根本性课题。
……
成熟的时候过份强调机器翻译的人工智能性质, 一味追求基于知识和理解的自动翻译,
对于应用型机器翻译系统的研制, 往往没有益处。
摘自【立委科普:机器翻译】: http://www.starlakeporch.net/bbs/read.php?45,18361
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-21 22:16
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社
easy way, hard way (152881)
Posted by: liwei999
Date: May 13, 2008 08:23PM
世界上很多事,there is an easy way and there is a hard way. 如果在 easy way 还没有穷尽的时候,还有很大余地的时候,去走吧 hard way, 不但不 cost-effective. 而且往往失败。Traditoonal AI 和 cyc 就是走 hard way 的,精神可嘉,作为研究探索也很可贵,但到处宣扬可以应用,就走偏了,有骗钱的嫌疑。
有空举一些例子说明,什么叫easy way, hard way.
对于NLP, 原则是可以辞典解决的,不用规则解决;可以浅层解决的,不深层解决;可以句法解决的,不用语义解决;可以句子内解决,不跨句解决; 可以语言学内解决的,不要运用知识推理; 可以在专业领域解决,不要用常识推理。
我的看法是一以贯之的:
“除了上述的两极, 人们根据转换所处的层次, 把机器翻译系统大致分为三代:
第I代是词对词的线性翻译, 其核心是一部双语词典, 加上简单的形态加工(削尾
和加尾)。I代系统不能重新安排词序, 不能识别结构同形, 更谈不上多义词区分。
第II代系统强调句法分析, 因此能够求解出句子的表层结构及元素间的句法关系
(分析结果通常表现为带有节点信息的结构树), 从而可以根据源语和目标语的对比差异进行句法结构的转换和词序调整, 这就从线性翻译飞跃到有结构层次的平面翻译。
然而, 在没有语义的参与下, 虽然可以识别句法结构的同形, 但却不能从中作出合适的选择; 多义词区分问题也基本上无法解决。
第III代系统以语义分析为主, 着重揭示语句的深层结构及元素间的逻辑关系,可
以解决大部分结构同形和多义词区分问题。
目前, 多数机器翻译系统处于II代,或II代和III代之间。纯粹以语义分析为核心
的III代系统只做过小规模的实验(Wilks, 1971), 但也取得了令人瞩目的成就。从工程和实用考虑, 大型商品化机译系统的研制, 采用句法分析与语义分析相结合的方法,是比较切合目前的研究水平和实际需要的。“
摘自【立委科普:机器翻译】:
http://www.starlakeporch.net/bbs/read.php?45,18361
ding!
谢小孟鼓励。
以前断续写过一些随笔。 (899 bytes)
Posted by: 立委
Date: September 22, 2008 12:18AM
不外是两个路子,基于语法规则的路子,基于统计的机器学习(ML)路子,或者是二者的某种结合。不过,语法的路子并不大用乔姆斯基的转换生成语法。除了教授在实验室做玩具系统外,应用系统中最多用最熟练的是基于模式匹配的有限状态自动机(FSA)的formalism,而不是常提到的上下文自由语法。
自然语言理解(NLU)的核心是自动句法分析(parsing). 这个领域的发展使得 parsing 这样一个繁复的的任务逐渐细化成由浅及深的很多子任务,从词类识别(Part-of-speech tagging),基本短语抱团(phrase chunking), 到句法主谓宾关系(SVO parsing), 语义角色标注(Role Labeling)等等。这就为系统的模块化创造了条件,有利于软件系统的开发和维护。通常的做法是为每个子任务编制模式匹配规则,构成一个一环套一环的系列(pipeline structure), 前一个模块的输出就是下一个模块的输入, 搭积木一样构筑语言理解的大厦(via some form of cascaded FSAs)。
随着硬件的飞速发展,parsing 已经可以处理海量数据(terabyte 量级),应用型开发不再是梦想了。