社会的需求和技术的进步推动历史悠久的语言学和新兴的计算机科学相结合,产生了一门交叉学科---计算语言学(computational linguistics)。计算语言学为利用计算机处理语言信息(包括语言中信息成分的发现和提取,语言数据的存储、加工和传输,语言的翻译和理解)提供理论模型、计算方法和实现技术,因此考虑问题都是站在计算机的立场上的,这同过去以人为对象的语言研究有着明显的不同。稍微学过一点英语的中国人都不难把第一次见到的下面两句英语正确地翻译成汉语。
I bought a table with three legs.(我买了一张有三条腿的桌子。)
I bought a table with three dollars.(我花三美元买了一张桌子。)
计算机要翻译这两句话,却碰到了不易处理的歧义结构问题。尽管当代计算机的存储容量极大,但也不可能一一记住所有英语句子的汉语译文。计算机不难记住数量有限的英语句子结构及其对应的汉语句子结构。一般地说,计算机系统里有了这样的知识,就可以通过句法分析和查词典实现自动翻译了。这一步算是句法理论(syntax)的成就。
上述两个句子的结构都是
名词短语+动词+名词短语+介词短语
最后的介词短语既可以修饰句中的动词,也可以修饰后一个名词短语。要计算机针对具体的句子决定取舍,可就犯难了。因此要以某种形式给计算机灌输诸如“桌子有腿,用美元可以购物”之类的知识,并要教会计算机如何运用这些知识,这属于语义学(semantics)和语义分析的研究范围。在很多情况下,计算机死记住一些静态的知识还不能消解这种结构的歧义,还要学会分析上下文和谈话的环境,从语境中获取并活用动态的知识,这又要靠语用学(pragmatics)和语境分析(context analysis) 发挥作用了。除了要分析语言,文章生成(text generation)也是一门学问。
以上理论都是建立在基于规则的语言模型上的。基于规则的理论模型用于指导语言信息处理实践历史虽久,却常常捉襟见肘。与此同时,计算机技术飞跃进步,这又推动了基于统计模型的语料库语言学(corpus linguistics)的发展。同样,基于统计的理论模型也有其自身的局限性。 有机结合两种模型,不断地实践,并吸收相关学科(如脑科学,认知科学等)的成果,人类理解语言的奥秘总会被逐步揭开,模拟这个过程的自然语言处理系统也会逐渐接近真正理解的目标。语言信息处理是数字计算机在非数值领域的最早应用,50年来,虽历经坎坷,终究取得了长足的进步,并在社会生活中发挥作用。计算语言学从定名起,也有了30多年的历史,已成为一个稳定而且活跃的学科。