NLP 最早的实践是机器翻译,在电脑的神秘光环下,被认为是 模拟或挑战 人类智能活动的机器翻译自然成为媒体报道的热点。其中有这么一个广为流传的机器翻译笑话,为媒体误导之最:

说的是有记者测试机器翻译系统,想到用这么一个出自圣经的成语:

The spirit is willing, but the flesh is weak (心有余而力不足)

翻译成俄语后再翻译回英语就是:

The whiskey is alright, but the meat is rotten(威士忌没有问题,但肉却腐烂了)

这大概是媒体上流传最广的笑话了。很多年来,这个经典笑话不断被添油加醋地重复着,成为NLP的标准笑柄。

然而,自然语言技术中没有比成语更加简单的问题了。成语是NLP难点的误解全然是外行人的臆测,这种臆测由于两个因素使得很多不求甚解的人轻信了。其一是NLP系统的成语词典不够全面的时候造成的类似上述的“笑话”,似乎暴露了机器的愚蠢,殊不知这样的“错误”是系统最容易 debug 的:补全词典即可。因为成语 by definition 是可列举的(listable),补全成语的办法可以用人工,也可以从语料库中自动习得,无论何种方式,都是 tractable 的任务。语言学告诉我们,成语的特点在于其不具有语义的可分解性(no/little semantic compositianlity),必须作为整体来记忆(存贮),这就决定了它的非开放性(可列举)。其二是对于机器“理解”(实际是一种“人工智能”)的误解,以为人理解有困难的部分也必然是机器理解的难点,殊不知两种“理解”根本就不是一回事。很多成语背后有历史故事,需要历史知识才可以真正理解其含义,而机器是没有背景知识的,由此便断言,成语是NLP的瓶颈。

事实是,对于 NLP,可以说,识别了就是理解了,而识别可枚举的表达法不过是记忆而已,说到底是存储量的问题。可是确实有人天真到以为由冷冰冰的无机材料制作的“电脑”真地具有人脑那样的自主理解 能力/机制。 

引用
成语的本质是记忆,凡记忆电脑是大拿,人脑是豆腐

当然要大词库,无论何种方式 建立,只要想做就可以做,因此不是问题。

所谓自然语言“理解”(NLU),就是把 open expressions 分解成词典单位(包括成语)的关系组合(术语叫 semantic compositionality)。凡事到了词典层,理解就终结了。无论semantic representation 如何摆弄,那都是系统内部的事情(system internal),与理解的本质无关。



【后记】为写这篇短文,上网查阅这个广为流传的笑话的原始出处,结果发现了冯志伟老师有专文讲述这个故事的来历和变迁,根据冯老师的考证,这个笑话是杜撰出来的(见 《冯志伟:一个关于机器翻译的史料错误》)。本文的主旨是澄清这一误解。杜撰与否并不重要,重要的是这个笑话的娱乐性以及媒体与大众对于娱乐的追求使得一种似是而非的误解经久不衰,得以深入人心。

作者 liwei999

《NLP 历史上最大的媒体误导:成语难倒了电脑》有9条评论
  1. 文章大部分都赞同,但是最后的 “都可以说,识别了就是理 解了” 不同意。
    另外“可是确实有人天真到以为由冷冰冰的无机材料制作的“电脑”真地具有人脑那样的自主理解 能力/机制” 不正是无数研究学者梦想达到的目标么?

    [回复]

    liwei999 回复:

    梦想不是真实。
    我是不相信什么机器具有本原意义上的所谓理解和智能的。

    我以为,语言理解和人工智能只能是结果意义上的。

    [回复]

    kingsten_88 回复:

    看来你应该恶补《人工智能》的。

    [回复]

    liwei999 回复:

    谢谢建议。还是破罐破摔算啦。

  2. 大体的观点是把成语记忆成一个新的词来看待就可以了,但实际情况比这复杂很多:

    1) 程序同样是4个字,往往含义比普通的四字词语多得多。意思多了之后,翻译的时候需要转意或者根据上下文处理的情况就多了

    2) 不少成语是有典故的,所以意思和字面上的相差很多;翻译成其他语言之后,或者采用另一个对应的典故(这个其实很难)或者会出现各种不同的翻译,所以学习起来还是比较难的

    3) 最终要解决翻译问题,还是得慢慢的把看到的东西进一步进行理解,光靠越来越复杂的倒腾字符串是远远不够的

    [回复]

    liwei999 回复:

    实际情况是,机器翻译中成语不算问题。做过机器翻译的人都知道。这个没有争论的余地。我不过是“科普”而已。

    你也许要说的是另一个层次的“理解”问题。甚至可以 argue 世界上没有真正的翻译。只要翻译就会走样。这些“高层次”的翻译理论和方法上的争论,我不在行,只好撤了。

    [回复]

    kingsten_88 回复:

    为什么总要坚持把语言进行“形神”分离呢,抑或将语言的“形”视为分析任务的重中之重呢?

    [回复]

  3. 我不知各位对理解是如何定义的,但是,如何让计算机对“理解”可计算,是一个非常明显的问题,这个问题解决,无论机器翻译还是人工智能,都可建立在此之上。

    那么什么是“理解”可计算呢?
    沟通的双方拥有同样的知识结构;
    例如上面的成语问题,双方对此成语的内涵外延的概述均一致,那么双方对此成语的沟通就是无障碍的,且是可互译的。

    那么怎么构造这个可计算的“理解”呢?
    前提,关注认知科学;
    二,对”理解“的框架模型重新构建。

    第一阶段的基于规则和匹配的方式,董老师说了,已经到达极限了,再钻就是钻牛角尖了,过犹不及;第二阶段的基于统计的大规模语料,现在的量也应该足够了,大伙也研究的差不多了。
    如果想真的明确翻译和智能的脚步,该回归基于认知科学的新模型的构建了:本体库,知识簇,理解模型等等。

    其实换个思维就有新的突破,智能就是搜索,那么,其实就是换个搜索算法而已,上升一个层面,就是换一个新的实现模型,更加的有效解决现已存在的问题而已。

    [回复]

    kingsten_88 回复:

    智能包含两层意思,“智”就是知识,实际上指学习能力,“能”就是能动,实际上指表述能力。与“语言理解”相结合,就是要有足够多的结构化知识和足够强的推理能力。而现在,这两部分都还不足够。

    [回复]

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注