人工智能|什么是“自然语言处理”?它到底在“处理”些什么?

【51CTO.com原创稿件】 “自然语言处理” (Natural Language Processing , 简称NLP) 是近年来科技界最热门的词语之一 , 也是当下人工智能研究最热门的领域之一 。 自然语言处理推动着语言智能的持续发展和突破 , 并越来越多地应用于各个行业 。 正如国际知名学者周海中先生曾经所言:“自然语言处理是极有吸引力的研究领域 , 它具有重大的理论意义和实用价值 。 ”
那么 , NLP究竟是什么? 它到底在“处理”什么?这些问题值得人们探讨和关注 。 所谓NLP , 是计算机科学领域与人工智能领域中的一个重要方向;它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法 。 NLP主要应用于机器翻译、语音识别、知识回答、自动摘要、舆情监测、观点提取、知识库构建、文本语义对比、深度学习算法、语音识别与合成等方面 。 因此 , NLP有着十分重要的实际应用意义 , 也有着革命性的理论意义 。
实现人机间自然语言通信意味着要使计算机既能理解自然语言文本的意义 , 也能以自然语言文本来表达给定的意图、思想等;前者称为自然语言理解 , 后者称为自然语言生成 。 因此 , NLP大体包括了自然语言理解和自然语言生成两个部分 。 因为处理自然语言的关键是要让计算机“理解”自然语言,所以通常把自然语言理解视为NLP, 也称为计算语言学 。 它的终极目标是用自然语言与计算机进行通信 , 使人们可以用自己最习惯的语言来使用计算机 , 而无需再花大量的时间和精力去学习不很自然和习惯的各种计算机语言 。
NLP是人工智能中最为困难的问题之一 。 美国微软公司创始人比尔·盖茨先生曾经表示 , “语言理解是人工智能领域皇冠上的明珠” 。 前微软公司全球执行副总裁沈向洋先生也在公开演讲时说:“懂语言者得天下……下一个十年 , 人工智能的突破在自然语言的理解……人工智能对人类影响最为深刻的就是自然语言方面” 。 由于理解自然语言需要关于外在世界的广泛知识以及运用操作这些知识的能力 , 所以NLP也被视为解决人工智能完备(AI-complete)的核心问题之一 。
NLP的基本任务包括正则表达式、分词、词法分析、语音识别、文本分类、信息检索、问答系统——如对一些问题进行回答或与用户进行交互——机器翻译等;常用的模型则有马科夫模型、朴素贝叶斯、循环神经网络等 。 NLP要使用语言知识 , 如UNIX的wc程序可以用来计算文本文件中的字节数、词数或行数;当用它来计算字节数和行数时 , wc只用于进行一般的数据处理 , 但当用它来计算一个文件中词的数目时 , 就需要关于“什么是一个词”的语言知识 , 这样 , 这个wc也就成为了一个NLP系统 。
无论实现自然语言理解 , 还是自然语言生成 , 都远不如人们原来想象的那么简单 , 而是十分困难的 。 从现有的理论和技术现状看 , 通用的、高质量的NLP系统 , 仍然是较长期的努力目标 , 但是针对一定应用 , 具有相当NLP能力的实用系统已经出现 , 有些已商品化 , 甚至开始产业化 。 典型的例子有:多语种数据库和专家系统的自然语言接口、各种机器翻译系统、全文信息检索系统、自动文摘系统等 。 NLP系统的算法是基于机器学习 , 特别是统计机器学习;许多不同类的机器学习算法已应用于NLP任务 。
深度学习在NLP中的应用非常广泛 , 可以说横扫NLP的各个方面 , 从底层的分词、语言模型、句法分析等到高层的语义理解、对话管理、知识问答等方面几乎都有深度学习的模型 , 并且取得了不错的效果 。 有关研究已从传统的机器学习算法转变成更有表现力的深度学习模型 , 如卷积神经网络和回归神经网络 。 不过 , 目前的深度学习技术还不具备理解和使用自然语言所必需的概念抽象和逻辑推理能力 , 还有待今后进一步的研究 。
【人工智能|什么是“自然语言处理”?它到底在“处理”些什么?】总而言之 , 随着互联网的普及和海量信息的涌现 , 作为人工智能的核心技术 , NLP正在人们的工作、学习、生活中扮演着越来越重要的角色 , 并将在社会发展和科技进步的过程中发挥越来越重要的作用 。

    推荐阅读