自然语言处理( Natural Language Processing, NLP)是人工智能领域的重要研究方向, 融合了语言学、计算机科学、机器学习、数学、认知心理学等多个学科领域的知识,是一门集计算机科学、人工智能和语言学于一体的交叉学科,它包含自然语言理解和自然语言生成两个主要方面, 研究内容包括字、词、短语、句子、段落和篇章等多种层次,是机器语言和人类语言之间沟通的桥梁。它旨在使机器理解、解释并生成人类语言,实现人机之间有效沟通,使计算机能够执行语言翻译、情感分析、文本摘要等任务。
发展历史
自然语言处理的历史可以追溯到20世纪50年代,随着计算机科学的发展而逐渐形成。
早期研究
早期自然语言处理研究(1950s-1980s):
最早的自然语言理解方面的研究工作是
机器翻译。1949年,美国人威弗首先提出了机器翻译设计方案。1954年的乔治城-IBM实验涉及全部自动翻译超过60句俄文成为英文。研究人员声称三到五年之内即可解决机器翻译的问题,不过实际进展远低于预期,1966年的ALPAC报告发现十年研究未达预期目标,机器翻译的研究经费遭到大幅削减。
1960年代发展特别成功的自然语言处理系统包括SHRDLU——一种自然语言系统,以及1964-1966年约瑟夫·维森鲍姆设计的ELIZA——一个几乎未运用人类思想和感情的消息,有时候却能呈现令人讶异的类似人之间的交互。“病人”提出的问题超出ELIZA 极小的知识范围之时,可能会得到空泛的回答。例如问题是“我的头痛”,回答是“为什么说你头痛?”
早期的自然语言系统是基于规则来建立词汇、句法语义分析、问答、聊天和机器翻译系统。它的优点是规则可以利用人类的内省知识,不依赖数据,可以快速起步;问题是覆盖面不足,像个玩具系统,规则管理和可扩展一直没有解决。
统计自然语言处理
统计自然语言处理(1990s-2000s):随着互联网的兴起,大量文本数据的出现推动了统计学习方法在自然语言处理中的应用。基于统计的机器学习(ML)开始流行,很多自然语言处理开始用机器学习算法,例如决策树,是硬性的、“如果-则”规则组成的系统,类似当时既有的人工定的规则。统计自然语言处理的主要思路是利用带标注的数据,基于人工定义的特征建立机器学习系统,并利用数据经过学习确定机器学习系统的参数。运行时利用这些学习得到的参数,对输入数据进行解码,得到输出。机器翻译、搜索引擎都是利用统计方法获得了成功。
神经网络自然语言处理
神经网络自然语言处理(2010s至2024年):
深度学习开始在语音和图像发挥威力。近来的研究更加聚焦于非监督式学习和半监督学习的算法。这种算法,能够从没有人工注解理想答案的资料里学习。
2011年以来,深度学习技巧纷纷出炉 在自然语言处理方面获得最尖端的成果,例如语言模型、语法分析等等。2016年,AlphaGo打败李世石;2017年Transformer模型诞生;2018年BERT模型推出,提出了预训练的方法。
自2014年以来,人们尝试直接通过深度学习建模,进行端对端的训练。目前已在机器翻译、问答、阅读理解等领域取得了进展,出现了深度学习的热潮。
2022年底,随着ChatGPT等大语言模型的推出,自然语言处理的重点从自然语言理解转向了自然语言生成。
基本技术
文本预处理
在自然语言处理中,文本预处理是一个重要的步骤,包括文本清洗(去除HTML标签、特殊字符等)、分词(将文本划分为独立的词汇单元)、
词性标注(确定每个词汇的词性)等。
词嵌入
词嵌入是将词汇转换为计算机可理解的向量表示的过程。常见的
词嵌入技术包括
Word2Vec、
GloVe等。这些技术可以捕捉词汇之间的语义关系,使计算机能够理解词汇的深层含义。
句法分析
句法分析是对用户输入的自然语言进行词汇短语的分析,目的是识别句子的句法结构,以实现自动句法分析的过程,包括短语结构分析(将句子划分为短语结构)和依存关系分析(确定词汇之间的依存关系)。
语义分析
自然语言处理技术的核心为
语义分析。语义分析是理解句子或文本深层含义的过程,这包括实体识别(识别文本中的实体,如人名、地名等)、关系抽取(提取实体之间的关系)、
情感分析(判断文本的情感倾向)等。
语义分析涉及单词、词组、句子、段落所包含的意义,目的是用句子的语义结构来表示语言的结构。
文本生成
文本生成是指接收结构化表示的语义,以输出符合语法的、流畅的、与输入语义一致的自然语言文本,这自然语言处理中的另一个重要任务,它可以根据给定的输入(如关键词、句子结构等)生成新的文本。这可以用于各种应用,如机器翻译、文本摘要、
对话系统等。
早期基于规则的自然语言生成技术,在每个子任务上均采用了不同的语言学规则或领域知识,实现了从输入语义到输出文本的转换。
主要方法
自然语言处理技术的发展主要依赖于多种方法和技术,这些技术帮助计算机更好地理解和处理自然语言。
统计学方法
早期自然语言处理研究中常用的方法,通过统计文本中词汇和语法结构的出现频率,来推断文本的含义和上下文关系。这种方法在文本分类、情感分析等领域有广泛应用。
规则引擎方法
基于语言学规则的自然语言处理方法,通过预定义的规则集合来解析和生成自然语言。这种方法在句法分析、命名实体识别等任务中表现良好,但需要大量的语言学知识和规则设计。
机器学习方法
随着机器学习技术的发展,自然语言处理开始广泛采用基于机器学习的方法。这些方法通过训练模型来学习文本中的模式和规律,从而实现对自然语言的理解和处理。常见的机器学习方法包括支持向量机(SVM)、朴素贝叶斯(Naive Bayes)、决策树等。
深度学习方法
近年来,深度学习技术在自然语言处理领域取得了巨大的成功。深度学习方法通过构建深度神经网络模型,能够自动学习文本中的深层特征表示,从而实现对自然语言更精确的理解和处理。常见的深度学习方法包括循环神经网络(RNN)、长短时记忆网络(LSTM)、Transformer等。
应用
自然语言处理技术在许多领域都有广泛的应用
机器翻译
机器翻译研究在过去五十多年的曲折发展经历中,无论是它给人们带来的希望还是失望都必须客观地看到,机器翻译作为一个科学问题在被学术界不断深入研究。通过自然语言处理技术,计算机可以自动将一种语言的文本转换为另一种语言的文本。
信息检索
信息检索也称情报检索,就是利用计算机系统从文本中提取出结构化信息,如实体、关系、事件等,从大量文档中找到符合用户需要的相关信息。
问答系统
通过理解用户的问题并搜索相关的文本资源,计算机可以利用自动推理等手段,在有关知识资源中自动求解答案并做出相应的回答。问答技术有时与语音技术和多模态输入/输出技术,以及人机交互技术等相结合,构成人机对话系统。
信息抽取
从指定文档中或者海量文中抽取出提取出用户感兴趣的信息,如实体、关系、事件等,以便进行进一步的分析和处理。
文档分类
文档分类也叫文本自动分类或信息分类,其目的就是利用计算机系统对大量的文档按照一定的分类标准(例如,根据文本的内容和特征或者根据主题划分等)实现自动归类。
情感分析
通过分析文本中的情感词汇和句子结构,计算机可以判断文本的情感倾向,如积极、消极或中性。主要应用于图书管理、情报获取、网络内容监控等。
领域影响
自然语言作为人类社会信息的载体,自然语言处理不只是计算机科学的专属。在其他领域,同样存在着海量的文本,自然语言处理也成为了重要支持技术:
在社会科学领域,关系网络挖掘、社交媒体计算、人文计算等,国内一些著名的大学实验室,如清华的自然语言处理与社会人文计算实验室、哈工大的社会计算与信息检索研究中心均冠有社会计算的关键词。
在金融领域,单A股就有300多家上市公司,这些公司每年都有年报、半年报、一季报、三季报等等,加上瞬息万变的金融新闻,金融界的文本数量是海量的。
在法律领域,中国裁判文书网上就有几千万公开的裁判文书,此外还有丰富的流程数据、文献数据、法律条文等,且文本相对规范。
在医疗健康领域,除了影像信息,还有大量的体检数据、临床数据、诊断报告等,同样也是自然语言处理大展身手的地方。
在教育领域,智能阅卷、机器阅读理解等都可以运用自然语言处理技术。
相关研究与发展
挑战与趋势
(1)挑战
尽管自然语言处理技术已经取得了显著的进展,但仍面临许多挑战,如:
语义理解的深度:目前的自然语言处理系统主要停留在语法和表层语义的理解上,对于深层语义的理解仍有待提高。
多语言处理:随着全球化的加速,多语言处理成为自然语言处理技术的重要发展方向之一。如何有效地处理不同语言之间的转换和理解是一个挑战。
知识图谱的构建:知识图谱是自然语言处理技术的重要基础之一,它可以为计算机提供丰富的背景知识和语义信息。然而,如何构建高质量的知识图谱仍是一个待解决的问题。
消歧和模糊性:词语和句子在不同情况下的运用往往具备多个含义,很容易产生模糊的概念或者是不同的想法,例如高山流水这个词具备多重含义,既可以表示自然环境,也能表达两者间的关系,甚至是形容乐曲的美妙,所以自然语言处理需要根据前后的内容进行界定,从中消除歧义和模糊性,表达出真正的意义。
(2)发展趋势
随着技术的不断进步和应用场景的不断扩展,自然语言处理技术将呈现以下发展趋势:
跨语言处理:随着全球化的加速,跨语言处理成为自然语言处理技术的重要发展方向之一。未来的自然语言处理系统将能够处理多种语言,并实现跨语言的文本转换、情感分析等功能。
多模态处理:除了文本数据外,未来的自然语言处理系统还将能够处理图像、视频、语音等多种模态的数据。这将使自然语言处理技术能够更全面地理解和处理人类的语言和行为。
个性化与智能化:随着人工智能技术的发展,未来的自然语言处理系统将更加个性化和智能化。它们将能够根据用户的个性化需求和行为习惯,提供更加准确和智能的服务。例如,在智能客服系统中,自然语言处理技术可以根据用户的提问和反馈,自动调整回答策略和服务方式,提高用户满意度和忠诚度。
研究热点
(1)基于Transformer模型的自然语言处理
深度学习是人工智能的深层次理论,自然语言处理则是深度学习的一个重要发展方向。在自然语言处理的发展历史中,Transformer模型是该领域的一项突破,自然语言处理正处于黄金时代,而Transformer模型是这一切的起点。像GPT、BERT和T5等大语言模型都基于它而实现。Transformer的出现引发了自然语言处理领域的一次革命,它的自注意力机制使得自然语言处理任务具有更高的效率和准确性,并且能够处理任意长度的序列(字符序列,即文本),它的并行处理能力使得在处理大规模教据时更加高效。
(2)基于图神经网络的文本分类方法
文本分类是自然语言处理领域中的重要任务,该任务通过对给定的输入文本进行分析和理解,将文本分配至预定义的类别之一。文本分类的主要流程可以分为文本预处理、特征提取、文本表示和分类器选择等。其中最重要的步骤为特征提取,目的是将文本数据表示成能够捕捉其语义和语法信息的特征。
文本分类常见的应用场景有新闻分类、情感分析、舆情分析、主题分类、垃圾邮件识别和问答系统等。
传统的文本分类方法主要分为两大类,一类是基于机器学习的方法,另一类是基于深度学习的方法。机器学习常用的分类器有支持向量机(support vector machine,SVM)、朴素贝叶斯(naive Bayes,NB)、K近邻算法(k-nearest neighbor algorithm,KNN)、决策树算法(decision tree algorithm,DT)和随机森林算法(random forest algorithm,RF)等。在机器学习中,文本分类方法流程可分为人工特征工程和应用浅层分类模型。机器学习需要人工设计和提取特征,可能会忽略一些难以捕捉的数据。特征工程是文本分类中的关键步骤,特征工程分为文本预处理、特征提取和文本表示,通过特征工程后就可以进行分类器训练。常见的传统特征提取方法有词袋模型(bag of words model,BOW)、N元模型(n-grams)和词频-逆文档频率(term frequencyinverse document frequency,TF-IDF)方法。
然而,基于机器学习的文本分类方法存在维度爆炸和数据稀疏等问题。与机器学习相比,深度学习模型结构更为复杂,且不用人工进行特征标注,可以直接对文本内容进行学习和建模。在基于深度学习的文本分类方法中,常用的模型包括卷积神经网络(convolutional neural network,CNN)、循环神经网络(recurrent neural network,RNN)、长短期记忆网络(long short-term memory network,LSTM)以及相关的注意力机制等。然而,机器学习和传统的神经网络只能处理欧氏空间的数据。传统神经网络通常将图像和视频这类欧氏数据作为输入,利用欧氏数据的平移不变性来捕捉数据的局部特征信息。图数据作为一种非欧数据,可以自然地表达生活中的数据结构。与图像与视频不同,图数据中每个节点的局部结构是不同的,缺乏平移不变性使得其无法在图数据上定义卷积核。
针对这一问题,文献提出了基于图卷积神经网络(graph convolutional neuralnetwork,GCN)的文本分类方法,在图上对局部结构进行建模,提取节点依赖关系,更好地捕捉文本信息,成功地将卷积神经网络应用到了图结构上。
未来展望
长期以来, 自然语言处理任务主要采用监督学习范式, 即针对特定任务, 给定监督数据, 设计统计学习模型, 通过最小化损失函数来学习模型参数, 并在新数据上进行模型推断。随着深度神经网络的兴起, 传统的统计机器学习模型逐渐被神经网络模型所替代, 但仍然遵循监督学习的范式。
2020 年 5 月Open AI 发布的首个千亿参数 GPT-3 (generative pre-trained transformer 3) 模型初步展示了生成式模型的强大功能, 其具备流畅的文本生成能力, 能够撰写新闻稿, 模仿人类叙事, 创作诗歌, 初步验证了通过海量数据和大量参数训练出来的大模型能够迁移到其他类型的任务。然而, 直到 ChatGPT 的出现, 学术界才意识到大模型对于传统自然语言处理任务范式的潜在颠覆性。
ChatGPT 等大型语言模型, 对文本分类、结构分析、语义分析、信息提取、知识图谱、情感计算、文本生成、自动文摘、机器翻译、对话系统、信息检索和自动问答各种核心的自然语言理解和生成任务均产生了巨大的冲击和影响。ChatGPT 在大规模预训练过程中习得广泛的语言和世界知识, 处理自然语言任务时不仅能在少样本, 零样本场景下接近乃至达到传统监督学习方法的性能指标, 且具有较强的领域泛化性。这将激励, 促进研究者们打破固有思维方式的樊篱, 学习、借鉴 ChatGPT 等大模型的特点和优势, 对自然语言处理的主流研究范式进行变革, 进一步提升自然语言核心任务的能力, 例如以生成式框架完成各种开放域自然语言处理任务并减少级联损失, 通过多任务学习促进知识共享, 通过扩展上下文窗口提升理解能力, 通过指令遵循和上下文学习从大模型有效提取信息, 通过思维链提升问题拆解和推理能力,通过基于人类反馈的强化学习实现和人类意图对齐等。
长期以来, 自然语言处理分为自然语言理解和自然语言生成两个领域, 每个领域各有多种核心任务, 每种任务又可根据任务形式、目标、数据等进一步细分, 今后在各种应用任务的主流架构和范式逐渐统一的情况下, 有望进一步得到整合, 以增强自然语言处理模型的通用性, 减少重复性工作。另一方面, 基于大模型的强大基座能力, 针对具体任务进行按需适配、数据增强、个性化、拟人交互, 可进一步拓展自然语言处理的应用场景, 为各行各业提供更好的服务。