• 第二章:自然语言处理———从规则到统计


    任何语言,都可以被认为是一种编码方式,而语言的语法规则是编码解码的算法。我们把我们要表达的意思,通过一句话(一种编码)传送出去,听到这句话的人(接到编码信息),理解这句话(解码),从而理解对方要表达的意思。这是一个比较有趣又生动的过程。

    自然语言处理可以说是从1950年开始的,至今有60多年的历史。但是在早期的20多年里,由于科学家们都陷入了一个误区(要让机器完成翻译或者语音识别这样只有人类才能完成的事情,必须要机器理解自然语言,而做到这一点就必须让计算机有类似我们人类这样的智能)。今天,稍微内行一点的人,都知道自然语言处理靠的全都是数学,更准确地说是统计学。

    大家都知道,要学好一门外语,都要学它的语法规则,词性,构词法等,其实这些都是基于规则的自然语言处理过程。

    那时有一个语法分析工具Parser(非现在的standford parser),能对一句话,构造一颗语法分析树,标出主谓宾,以及词语间的修饰关系。但是早期,在面对稍微长一点的句子时,就比较难办了。首先,要通过文法规则覆盖哪怕20%的真实语句,文法规则的数量至少是几万条;其次,就算能写出涵盖所有自然语言现象的语法规则集合,用计算机解析它也是相当困难的,因为自然语言不像编程语言,自然语言有上下文相关性。

    可见,基于规则的句法分析是行不通的。因为上下文相关性,我们需要联系上下文来判断某一单词的意思。在1970年之前,自然语言处理的努力是相当失败的。直到1970年以后,统计语言学的出现,打破了这一局面。推动这个转变的关键任务是佛里德里克·贾里尼克和他的IBM华生实验室。而在2005年,Google基于统计的翻译系统全面超过基于规则方法的SysTran翻译系统,基于规则方法固守的最后一个堡垒被拔掉了。

    今天,几乎不会有科学家宣称自己是传统的基于规则方法的捍卫者了。而建立在数学模型上的基于统计的自然语言方法已经成为主流。

  • 相关阅读:
    初识python
    如何通过发新浪微博关闭电脑
    如何给word 文章的每段段尾添加 脚注
    三种可视化格式模型:普通文档流、相对定位与绝对定位、浮动
    Python基础知识:函数
    比较两个数的大小,自定义比较两个整数的大小的方法
    编程输出九九乘法表
    [2012-06-21]结合find的awk
    [2012-05-31]awk去重复项
    [2012-05-31]awk记录分割符RS
  • 原文地址:https://www.cnblogs.com/KingKou/p/3810830.html
Copyright © 2020-2023  润新知