导图社区 自然语言处理NLP
本思维导图是一份全面且详细的自然语言处理知识汇总,涵盖了从绪论到自然语言处理应用及系统评价等多个方面,是全网最全面、最详细且制作耗时最长的自然语言处理知识图谱。内容参考了多篇文献、网课、网上文章、参考资料以及中国科学院大学《自然语言处理》教学课件,前期经过大量文献调研和资料汇总,可作为自学资料和中国科学院大学《自然语言处理》考试复习资料。同时,大量的资料汇总使得知识体系更加全面和深入。对于想要自学自然语言处理的人来说,这份思维导图提供了清晰的知识框架和详细的内容,有助于系统地学习和掌握该领域的知识。相关引用、转载和借鉴需明确标明思维导图出处,如需转载、联系和借鉴,请联系邮箱:neuyh2023@163.com,以保护创作者的知识产权和劳动成果。 内容大纲如下: 1、绪论 2、语言学基础知识 3、传统自然语言处理分析 4、语料库与语言知识库及加工处理技术 5、深度学习基础模型 6、语言模型与词向量 7、预训练语言模型 8、大语言模型 9、自然语言处理基础任务建模 10、自然语言处理应用 11、自然语言处理系统评价
编辑于2025-01-11 01:03:28《半导体工艺与制造技术》第四章 氧化,氧化过程是在半导体表面生成一层氧化膜的过程,这层氧化膜在半导体器件的制造中具有重要作用,如作为绝缘层、掩蔽层、钝化层等。
“半导体工艺与制造技术 - 扩散”从掺杂概述切入,介绍杂质相关基础。进而详细阐述扩散工艺,含工艺分类、流程等。接着深入讲解杂质扩散机制与效应、扩散系统与扩散方程。还涉及扩散杂质的分布、影响其分布的其他因素、分析表征以及杂质分布的数值模拟 ,全面且系统地呈现了半导体扩散工艺的知识体系。
围绕半导体工艺与制造技术展开,涵盖多方面内容。开篇介绍半导体产业政策、发展现状、基础概念及产业链。接着阐述基本材料知识,如相图、晶体结构和缺陷类型 。然后讲解晶圆制备,包括直拉法、布里奇曼法等生长方法,以及掺杂、制备流程、规格和清洗工艺,全面呈现了半导体制造从基础理论到关键制备环节的要点。
社区模板帮助中心,点此进入>>
《半导体工艺与制造技术》第四章 氧化,氧化过程是在半导体表面生成一层氧化膜的过程,这层氧化膜在半导体器件的制造中具有重要作用,如作为绝缘层、掩蔽层、钝化层等。
“半导体工艺与制造技术 - 扩散”从掺杂概述切入,介绍杂质相关基础。进而详细阐述扩散工艺,含工艺分类、流程等。接着深入讲解杂质扩散机制与效应、扩散系统与扩散方程。还涉及扩散杂质的分布、影响其分布的其他因素、分析表征以及杂质分布的数值模拟 ,全面且系统地呈现了半导体扩散工艺的知识体系。
围绕半导体工艺与制造技术展开,涵盖多方面内容。开篇介绍半导体产业政策、发展现状、基础概念及产业链。接着阐述基本材料知识,如相图、晶体结构和缺陷类型 。然后讲解晶圆制备,包括直拉法、布里奇曼法等生长方法,以及掺杂、制备流程、规格和清洗工艺,全面呈现了半导体制造从基础理论到关键制备环节的要点。
自然语言处理NLP
1、绪论
1.1 自然语言处理概述与基本概念
NLP概念
如何让计算机理解和处理人类自然语言,使机器与人能够进行有效通讯的一个研究领域,自然语言处理以计算机为工具,采用各种与数学或信息科学相关的技术,实现对自然语言信息的分析与理解。
计算语言学,则是站在语言学的角度,利用计算性思维探索语言学理论。自然语言处理架起了计算机科学与语言学之间的桥梁,
特点
一是运算智能,即快速计算和记忆存储能力。
二是感知智能,即视觉、听觉、触觉等感知能力。
三是认知智能。通俗讲是“能理解会思考”。
1.2 自然语言处理发展历史
1940s-1960S 中期之前:萌芽期
源自机器翻译
1960S 中期到1970S 中后期:步履维艰
1966年美国科学院发表ALPAC报告
1970S 中后期到1980S 后期:复苏
以人-机对话的方式理解自然语言
1960年代,以关键字匹配为主流技术
1970年代,以句法-语义分析为主流技术
1980S 后期至今:蓬勃发展
大规模真实文本处理的新时期
1.3 自然语言处理研究领域
按照应用目标划分,广义上包括
各研究方向之间的关系
1.4 NLP的基本问题与主要挑战
基本问题
形态学(Morphology) 问题
研究词(word) 由有意义的基本单位-词素(morphemes)的构成问题。
语法学(Syntax) 问题
研究句子结构成分之间的相互关系和组成句子序列的规则。
语义学(Semantics) 问题
研究如何从一个语句中词的意义,以及这些词在该语句中句法结构中的作用来推导出该语句的意义。
语用学(Pragmatics) 问题
研究在不同上下文中语句的应用,以及上下文对语句理解所产生的影响。
语音学(Phonetics) 问题
研究语音特性、语音描述、分类及转写方法等。
困难与挑战
大量存在的歧义(ambiguity)现象
结构歧义
语义歧义
语音歧义
多音字及韵律等歧义
大量存在的未知语言现象
1.5 NLP的基本研究方法
理性主义与经验主义
区别一:对语言知识来源的不同认识
理性主义认为:人的很大一部分语言知识是与生俱来的,由遗传决定的。
经验主义认为:人的语言知识是通过感观输入,经过一些简单的联想(association)与通用化(泛化)(generalization)的操作而得到的。
区别二:研究对象的差异
理性主义方法:研究人的语言知识结构(语言能力,language competence),实际的语言数据(语言行为,language performance)只提供了这种内在知识的间接证据。
经验主义方法:直接研究这些实际的语言数据。
区别三:运用不同的理论
理性主义:通常基于Chomsky 的语言原则(principles),通过语言所必须遵守的一系列原则来描述语言。
经验主义:通常是基于Shannon 的信息论。
区别四:采用不同的处理方法
理性主义:通常通过一些特殊的语句或语言现象的研究来得到对人的语言能力的认识,而这些语句和语言现象在实际的应用中并不常见。
经验主义:偏重于对大规模语言数据中人们所实际使用的普通语句的统计。
理性主义的问题求解方法:基于规则的分析方法,建立符号处理系统
知识库 + 推理系统= NLP 系统
理论基础:Chomsky 的文法理论
经验主义的问题求解方法:基于大规模真实语料(语言数据)的计算方法
语料库 + 统计模型 = NLP 系统
理论基础:统计学、信息论、机器学习
1.6 NLP的研究现状及展望
发展现状
2016年Google的AlphaGo出现之后,深度学习活了起来,各种深度学习模型在自然语言处理领域得到应用。
2018年BERT等预训练模型兴起,自然语言处理的效果得到很大提升。
2023年春节ChatGPT 在全世界引起轰动(2022年11月30日美国OpenAI 公司发布 )
2024年春节Sora的出现。
展望
一些没有大型算力和数据支持的应用任务需求,可能就需要利用传统的规则与统计模型进行处理。
在紧追大语言模型的同时,也要对几十年发展且比较成熟的自然语言处理技术要有所了解和掌握。
1.7 自然语言处理与大模型的区别与联系
自然语言处理(NLP):是一门涉及语言学、计算机科学、数学等多学科的领域,旨在让计算机能够理解、处理和生成人类自然语言。NLP 的目标是使计算机能够像人类一样有效地处理自然语言,从而实现人机之间更自然、更高效的交互,以及对大量文本数据的自动化处理和分析,以提取有价值的信息和知识。
它包含了众多具体的任务和技术,如上述提到的文本分类、命名实体识别、词性标注、句法分析、语义分析、机器翻译、文本生成、语音识别、语音合成等。这些任务可以通过各种算法和模型来实现,包括传统的统计模型(如隐马尔可夫模型、条件随机场等)和现代的深度学习模型(如循环神经网络、卷积神经网络、Transformer 等)。例如,在文本分类任务中,可能需要人工设计词袋模型、TF-IDF 等特征表示方法,然后使用支持向量机、朴素贝叶斯等分类算法进行训练和预测。
大模型:通常指的是具有大量参数(数十亿甚至数万亿参数)的深度学习模型,这些模型在大规模的数据上进行训练。大模型是实现自然语言处理任务的一种手段或工具,它可以应用于自然语言处理的多个方面,但不仅仅局限于自然语言处理。例如,在计算机视觉领域也有大模型,用于图像识别、生成等任务。
由于参数众多,大模型能够自动学习到丰富的语言知识和模式,包括语法、语义、常识等,并且能够处理复杂的语言结构和上下文信息。例如,GPT(Generative Pretrained Transformer)系列模型可以生成连贯、流畅且具有一定逻辑性的文本,在多种自然语言处理任务上表现出色,甚至在一些情况下无需针对特定任务进行大量的微调就能取得较好的效果。 大模型通常采用预训练 - 微调的范式。先在大规模的无监督文本数据上进行预训练,学习语言的通用表示,然后在具体的下游任务(如文本分类、问答等)上进行微调,以适应特定任务的需求。这种方式可以利用大规模数据的优势,使模型具有更好的通用性和迁移能力。
2、语言学基础知识
一、语言学基础知识
(一)语音
1. 语音的划分
音流可分解为句子,句子可分节拍群,节拍群含音节,音节又可分声母、韵母,韵母可再分音素,音素分元音和辅音。
2. 语音的符号
通行的有汉语拼音方案和国际音标,汉语拼音方案有字母表、声母表、韵母表、声调符号、隔音符号等,具有符号数量少等优点。
3. 语调和语气
语调指说话腔调,体现说话人态度口气;语气通过声音气息表达情感,二者在表现形式和功能上有区别。
4. 声母和韵母
列举了易混淆的声母和韵母。
(二)文字
1. 汉字的特点
汉字是形音义统一体,是表意文字,突破时空限制,扩大交际范围。
2. 汉字的结构
分为独体字和合体字,合体字部件组合方式有 7 种。
3. 汉字的简化与整理
经历多次汉字简化工作,有不同时期的简化方案和字表,涉及字量的变化。
4. 字量、字音、字序
介绍汉字总字量、常用字、通用字情况,汉语字音确定依据北京话系统,有多音字、同音字现象,字序有部首法、笔画法、四角法、音序法等。
5. 汉字的前途
曾有汉字拉丁化运动,新中国成立后推行文字改革,信息化时代汉字研究取得诸多成绩,汉字与拼音文字各有优缺点。
(三)词汇
1. 什么是词
词是最小独立运用、有意义的语言单位,分实词和虚词,实词意义实在,虚词意义抽象,在句中表示语法意义。
2. 语素和词
语素是最小音义结合体,可分自由语素和粘着语素,按音节可分单音节、双音节和多音节语素,词由语素构成,二者关系有多种情况。
3. 构词法
英语构词法有派生法(含前缀、后缀)、合成法(合成多种词性词)、转化法(词性转化)、缩略法(裁剪或首字母提取);汉语构词法中语素是构词单位,分单纯词(单音节、多音节)、合成词(重叠词、派生词)、复合词(联合式、偏正式等多种类型)。
4. 词语与语素义
词义是词的内容,词有感情色彩、语体色彩等附属色彩,语素义存在于合成词或固定结构中,成词语素有不同意义情况。
5. 多义词与同音词
多义词同一词在不同上下文有不同意义,同音词声母、韵母、声调相同但意义不同。
6. 同义词、反义词、上下位词、术语、熟语
提及相关概念及词典。
7. 词类的划分
现代汉语词可划分为 15 类,包括名词、动词等多种词性。
(四)语法
1. 语法的性质及作用
语法是组词造句规则,从实践中总结提炼,可指导语言实践,但不能死搬教条。
2. 句子
从表达、语法、结构、内容目的等角度对句子进行分类,句子成分结构包括主谓、述宾、述补、定状等结构。
3. 语气
语气主要取决于语调,有陈述、疑问、祈使、感叹四种语气。
4. 虚词
虚词数量少但作用重要,包括副词、介词等,个性强,常用且易出错的有多种,其作用是组合语言单位、帮助构成句子结构。
二、数学基础知识
(一)概率论基础
1. 概率
概率是事件到实数域的函数,满足一定公理。
2. 最大似然估计
用相对频率估计概率的方法。
3. 条件概率
给定另一事件时某事件发生的概率。
4. 全概率公式
用于计算复杂事件概率。
5. 贝叶斯法则
已知结果求原因的概率公式。
6. 期望和方差
期望是随机变量取值的概率平均,方差描述随机变量值偏离期望值的程度。
(二)信息论基础
1. 熵
信息论重要概念,衡量随机变量不确定性,有不同计算方式和单位,不同语言或字符集熵值不同,汉字和汉语词也有测定的熵值。 熵又称为自信息(self-information),表示信源 X 每发一个符号(不论发什么符号)所提供的平均信息量。熵也可以被视为描述一个随机变量的不确定性的数量。一个随机变量的熵越大,它的不确定性越大。那么,正确估计其值的可能性就越小。越不确定的随机变量越需要大的信息量用以确定其值。
H(X) 也可以写为H(p)。通常以2为底熵的单位为二进制位比特(bit,binary unit的缩写)。以e为底单位为奈特( nat, natrue unit的缩写),以10为底,单位为哈特( hart, hartley的缩写)
小x是大X的具体实例,通过概率分布建立联系
2. 联合熵、条件熵和交叉熵
联合熵描述一对随机变量平均所需信息量,条件熵是给定一随机变量时另一随机变量的熵,有连锁规则,交叉熵是衡量两个概率分布之间差异的一种度量方式。
3. 困惑度
与语言模型预测能力相关,是对语言模型的度量,寻找困惑度最小的模型是语言模型设计任务。
值得指出的是,困惑度既是文本的函数,又是模型的函数。在文本和词典相同的情况下,比较两个语言模型才有意义。较小规模的词典由于通常不包括低频词,所得的PP值就小,即使词典相同,不同的文本也会导致比较上的差错。
4. 互信息
衡量两个随机变量相互依赖程度,在汉语断词等方面有应用,与双字耦合度有区别和联系。
互信息I (X; Y) 是在知道了Y 的值以后X 的不确定性的减少量。即,Y 的值透露了多少关于X 的信息量。互信息值越大,表示两个汉字之间的结合越紧密,越可能成词。反之,断开的可能性越大。
5. 噪声信道模型
目标是优化信号传输的噪声信道中信号传输的吞吐量和准确率,其基本假设是一个信道的输出以一定的概率依赖于输入。涉及编码、解码、信道容量等概念,在自然语言处理中如翻译场景有应用,需解决语言模型概率、翻译概率和搜索算法等关键问题。
信道容量(capacity):其基本思想是用降低传输速率来换取高保真通讯的可能性。其定义可以根据互信息给出
根据这个定义,如果我们能够设计一个输入编码X,其概率分布为p(X),使其输入与输出之间的互信息达到最大值,那么,我们的设计就达到了信道的最大传输容量。
3、传统自然语言处理分析
1. 自然语言处理分析概述
介绍自然语言处理中的多种分析方法,包括形式文法、句法分析、词法分析、语义分析、语言模型和隐马尔可夫模型等,旨在全面阐述自然语言处理的相关理论与技术,为该领域的学习与研究提供系统性参考。
2. 形式文法与句法分析
2.1 形式文法 - 乔姆斯基文法体系
2.1.1 语言刻画方法
穷举法:适用于句子数目有限的语言,通过穷尽列举成立句子来刻画语言。
语法描述:制定有限规则生成无限合格句子,这些规则构成文法,是有效刻画语言手段之一。
语言识别程序自动机:设计装置检验输入符号串,判断其是否为语言中成立句子。
2.1.2 短语结构语法理论
定义:基于产生式对语言语法进行形式化描述,四元组定义包括终结符集合、非终结符集合、有穷产生式集和起始符。G=(Vt,Vn,P,S),Vt:终结符集合,Vn:非终结符的集合,P:有穷产生式集,S:非终结符表Vn的一个元素,称为起始符。
符号集V=Vt∪Vn,Vt∩Vn=φ(φ表示空集)
2.1.3 约束的短语结构语法 - 乔姆斯基语法体系
语法分类:0 型语法(无约束短语结构语法)、1 型语法(上下文有关语法)、2 型语法(上下文无关语法)、3 型语法(正则语法),型号越高生成语言能力越弱但更易计算机自动分析。
2.1.4 句法分析树
概念:分析句子成分关系的推导过程以树形图表示,起始符在根,终结符在叶。
2.2 句法分析方法
2.2.1 基于短语结构的句法分析
2.2.1.1 自顶向下回溯算法
思想:从起始符向被分析句子推导,语法树自上而下建立,推导遇错回溯尝试其他路径。
2.2.1.2 自底向上并行算法
思想:从句子句首取词前移,用语法规则归约构造推导树,存在移进 - 归约冲突需解决。
2.2.2 递归转移网络(Recursive Transition NetWorks,RTN)与扩充转移网络(Augmented Transition NetWorks,ATN)
2.2.2.1 有限状态转移网络(Transition NetWorks,TN)
构成:由状态和弧组成,标注终结符,起始状态经一系列转移到达结束状态则句子被接受,可用于生成和识别正则语言。如果一个语言(这里语言是指一个字符串集合)能够被一个有限状态自动机接受,那么这个语言就是正则语言。
TN的工作过程为:输入某一个句子(句子定义为终结符连接成的串),从起始状态出发,按有限状态转移网络中箭头所指方向,依次扫描输入词,观察所输入词与相应状态弧上的标记是否匹配,匹配的话即通过该弧,进入下一个状态。如果扫描到句子的终点,有限状态转移网络也进入了结束状态,就说这个句子被这个转移网络所接受(或识别)。
2.2.2.2 递归转移网络 RTN
扩展:弧标注可为非终结符,具有递归定义,等价于上下文无关语法,增强后为扩充转移网络。
2.2.2.3 扩充转移网络 ATN
扩充内容:增加寄存器存储中间结果,弧可附加测试和操作,对 RTN 在功能上进行扩充,ATN的每个寄存器由两部分构成:句法特征寄存器和句法功能寄存器。 特征寄存器中,包含着许多维的特征,每一维特征都由一个特征名和一组特征值以及一个缺省值来表示。功能寄存器则反映了句法成分之间的关系和功能。 分析树的每个结点都有一个寄存器,寄存器的上半部分是特征寄存器,下半部分是功能寄存器。
2.2.3 词汇功能语法 LFG
描述:包括直接成分结构(C - structure)和功能结构(F - structure),采用带功能方程式的上下文无关语法规则和词汇规则,通过特定步骤分析句子。
ATN语法的条件和操作要求语法的使用是有方向的,因为只有在寄存器被设置过之后才可被访问。而词汇功能语法(LFG)试图通过互不矛盾的多层描述来消除这种有序性限制。
2.2.4 依存句法分析
2.2.4.1 依存句法理论
定义:用词与词之间的依存关系来描述语言结构的框架被称为依存语法,又称从属关系语法。
思想:动词为句子中心,其他成分与之有依存关系,依存关系有方向,通过五条公理保证分析结果为树结构,一切结构句法现象可以概括为关联(connexion)、组合(jonction)和转位(tanslation)这三大核心。
五条公理:单一父结点(single headed)、连通(connective)、无环(acyclic)、可投射(projective)、中心成分左右两面的其它成分相互不发生关系。
2.2.4.2 依存句法分析
工作内容:包括依存句法结构描述、分析算法设计与实现、文法规则或参数学习。
分析算法
生成式的分析方法(Generative parsing)
采用联合概率模型生成一系列依存句法树并赋予其概率分值,然后采用相关算法找到概率打分最高的分析结果作为最后输出。
判别式的分析方法(Discriminative parsing)
判别式句法分析方法采用条件概率模型,避开了联合概率模型所要求的独立性假设。
决策式的分析方法(Deterministic parsing)
决策时有三种转换操作(transition)可供选择:Left-reduce,Right-reduce和Shift。分析器根据规则判断当前栈顶符号(token)与下一个输入符号(token)是否存在依存关系,如果存在,则将这一依存关系添加到集合A中,然后归约(Reduce)处于从属地位的符号,否则,移进Shift。
基于约束满足的分析方法(Constraint satisfaction parsing)
基于约束满足的依存句法分析方法采用约束依存语法(Constraint Dependency Grammar, CDG),该方法将依存句法分析过程看作可以用约束满足问题(Constraint satisfaction problem, CSP)来描述的有限构造问题(finite configuration problem)。
2.2.5 格语法
理论来源:为弥补转换生成语法不足,菲尔墨提出格语法,认为句法语义关系用施事、受事等概念表示,经变换在表层结构成主语或宾语。一般地,在实际应用中,主要概念可理解为动词,辅助概念理解为施事格、受事格、处所格、工具格等语义深层格。
2.2.6 概率上下文无关文法
计算分析树概率的基本假设
位置不变性:子树的概率与其管辖的词在整个句子中所处的位置无关
上下文无关性:子树的概率与子树管辖范围以外的词无关
祖先无关性:子树的概率与推导出该子树的祖先结点无关
3. 词法、语义分析与语言模型
3.1 词法分析方法
3.1.1 词法分析概述
任务:分析自然语言词的结构和类别,词性是连接词汇到句法的桥梁,不同语言词法分析任务有差异。
3.1.2 英语的形态分析
3.1.2.1 基本任务
包括单词识别和形态还原,识别特殊形式单词有特定规则,形态还原针对有规律和不规则变化单词及合成词等。
3.1.2.2 形态分析的一般方法
先查词典,按规则还原处理,若失败则进入未登录词处理模块。
3.2 语义分析理论
3.2.1 语义计算任务与困难
任务:解释自然语言句子各部分意义,面临歧义、理解差异和理论方法不成熟等困难。
3.2.2 语义理论简介
多种理论:词的指称、心理图像、说话者意图、过程语义、词汇分解学派、条件真理模型、情景语义学、模态逻辑等,各有优劣。
3.2.3 语义网络
概念:通过有向图表达知识和语义,节点表示概念,边表示关系,可表示事件语义,基于其可进行推理分析,存在词义内涵和外延表示区分问题。
3.3 语言模型
3.3.1 基本概念
计算文字概率:大规模语料库为统计处理提供可能,计算语句概率有多种方式,语言模型中 n - gram 通过映射历史到等价类减少参数,包括 uni - gram、bi - gram、tri - gram 等,可应用于音字转换和汉语分词等问题。
3.3.2 参数估计(获得n 元语法模型)
训练语料和最大似然估计:用训练语料建立模型确定参数,最大似然估计用相对频率计算概率,但存在数据匮乏导致零概率问题。
3.3.3 数据平滑
解决零概率问题:调整最大似然估计概率值,使零概率增值,使非零概率下调,“劫富济贫”,方法有加 1 法、减值法(Good - Turing 估计、Back - off 方法、绝对减值法、线性减值法)、删除插值法等。
4. 隐马尔可夫模型
4.1 马尔柯夫模型
模型描述
系统状态转移:状态转移概率取决于前一时刻状态,满足特定假设构成马尔柯夫链和马尔柯夫模型,状态转移概率需满足一定条件,模型可视为随机有限状态自动机,状态序列概率可计算。
假设1:如果在特定情况下,系统在时间 t 的状态只与其在时间t-1 的状态相关,则该系统构成一个离散的一阶马尔柯夫链 马尔柯夫链可以表示成状态图(转移弧上有概率的非确定的有限状态自动机) 每个节点上所有发出弧的概率之和等于1
假设2:如果只考虑公式独立于时间t 的随机过程,即所谓的不动性假设,状态与时间无关
4.2 隐马尔柯夫模型(Hidden Markov Model, HMM)
4.2.1 模型定义
双重随机过程:状态转换不可观察,可观察事件是隐蔽状态转换的随机函数,由状态数N、输出符号数M、状态转移概率矩阵A、观察符号概率分布矩阵B和初始状态概率分布Π构成。
4.2.2 HMM 中的三个问题
计算观察序列概率:给定模型和观察序列,快速计算其概率(前向算法或后向算法)。
选择最优状态序列:给定模型和观察序列,选择 “最优” 状态序列解释观察序列(Viterbi 算法)。
模型参数估计:给定观察序列,用最大似然估计求模型参数(Baum - Welch 算法)。
4.2.3 前向算法
计算观察序列概率:定义前向变量,通过动态规划计算;算法步骤:初始化、循环计算并输出结果,时间复杂性为 O (N²T)。
4.2.4 后向算法
计算观察序列概率:定义后向变量,用动态规划计算,算法初始化、循环计算并输出结果,时间复杂性为 O (N²T)。
4.2.5 Viterbi 搜索算法
如何发现“最优”状态序列能够“最好地解释”观察序列问题:每一个状态单独最优不一定使整体的状态序列最优,可能两个最优的状态 qt和 qt+1之间的转移概率为0
寻找最优状态序列:定义 Viterbi 变量,通过动态搜索找到概率最大的状态序列,算法步骤:初始化、递推计算、结束并回溯得到路径,时间复杂性为 O (N²T)。
4.2.6 参数学习
估计模型参数:用前向后向算法(Baum - Welch 算法),基于期望值最大化算法(Expectation-Maximization, EM),随机初始化模型参数,通过 E - 步和 M - 步迭代计算期望值并重新估计参数直至收敛,使用中需注意小数溢出问题。
4.2.7 应用举例
汉语分词与词性标注:用 HMM 解决,汉语的自动分词与词性标注问题,汉字串为输入,单词串为观察序列,词性序列为状态序列,需估计模型参数,计算给定句子输出序列概率,选择最优状态序列,可通过对训练语料统计得到相关矩阵,用 Viterbi 算法得到词性串。
模型实现中需要注意的问题:小数溢出
4、语料库与语言知识库及加工处理技术
1. 语料库与语言知识库概述
语料库是存放语言材料的仓库,在自然语言处理中是重要资源,NLP 中的知识库包含多种类型。语料库语言学是基于语料库对语言进行研究,有多种解释,已成为语言研究主流,其研究内容涵盖建设、加工管理和使用等方面。
2. 语料库相关内容
2.1 基本概念
定义与相关概念
语料库是存放语言材料的仓库,在自然语言处理中是重要资源,NLP 中的知识库包含词汇语义库、语言数据库或知识库、词法句法规则库、常识库等。语料库语言学是根据篇章材料对语言进行研究,有多种解释,已成为语言研究主流,其研究内容包括语料库的建设与编纂、加工和管理技术、使用等。
2.2 语料库技术的发展
发展阶段
20 世纪 50 年代中期之前,语料库在语言研究多领域广泛使用; 1957 - 20 世纪 80 年代初期,因 Chomsky 的批判进入沉寂; 20 世纪 80 年代后复苏发展,二代语料库建成,相关研究项目增多,复苏原因包括计算机发展及对批判的反思。
2.3 国内语料库研究状况
主要成果
国内众多机构参与语料库建设,如武汉大学、北航、北师大等早期建立了不同类型语料库,国家语言文字工作委员会、清华大学、北京大学等也在语料库建设方面取得显著成果,还有许多大学和研究机构对汉语及少数民族语言语料库建设有重要贡献。
2.4 语料库的类型
多种分类方式
按内容构成和目的可分为异质、同质、系统、专用等类型;按语言种类可分单语、双语或多语,还有生语料和熟语料之分;平衡语料库考虑代表性和平衡性,平行语料库有同一种语言内平行和不同语言间平行两种含义,还有共时与历时语料库之分。
2.5 语料库建设中的问题
建设要点与问题
设计需考虑静态与动态、代表性和平衡性、规模等,汉语语料库开发存在规范不统一、产权保护缺失等问题,语料库建设还涉及管理与维护工作。
2.6 典型语料库介绍
各类语料库特点
布朗语料库是首个系统性采集样本的标准语料库;LLC 口语语料库用于英语口语研究;朗文语料库设计有特定原则;宾州大学树库及其扩展提供丰富标注信息;北京大学语料库、台湾中研院平衡语料库、布拉格依存树库等各具特色;中国中文语言资源联盟共享多种资源;LC - STAR 项目用于口语翻译研究。
2.7 词汇知识库
美国普林斯顿大学WordNet
知网(HowNet)
概念层次网络(HNC)-中科院声学所
内涵逻辑-上海交大
3. 汉语自动分词与词性标注
3.1 汉语自动分词概要
重要性与问题
自动分词是汉语句子分析基础,在词频统计、词典编纂、文章风格研究等多方面有广泛应用,但存在分词规范不明确(如单字词与词素、词与短语界限不清)、歧义切分(包括交集型和组合型歧义)、未登录词识别(如人名、地名、组织机构名、新出现词汇术语等)等问题,分词有基本原则(如语义和语类合并原则)和辅助原则(如切分和合并原则相关的多种情况)。
3.2 汉语自动分词基本算法
多种算法及特点
包括最大匹配法(正向、逆向、双向),如正向最大匹配算法通过指针移动和词典匹配切分句子,有程序简单但歧义消解能力差等特点。
正向最大匹配算法(Forward MM, FMM)
逆向最大匹配算法(Backward MM, BMM)
双向最大匹配算法(Bi-directional MM)
最少分词法(最短路径法)通过构建切分有向无环图求最短路径分词,符合汉语规律但对歧义字段区分困难,如果最短路径不止一条时,系统往往不能确定最优解。
基于统计模型(HMM、n - gram、分词与词性标注一体化、基于字标注)等,还有全切分、串频统计和词形匹配结合、规则与统计结合、多重扫描法等,需要大规模标注(或预处理) 语料库的支持,模型实现复杂、计算量较大。
由字构词的(基于字标注)分词方法(Character-based tagging ),将分词过程看作是字的分类问题。该方法认为,每个字在构造一个特定的词语时都占据着一个确定的构词位置(即词位),能够平衡地看待词表词和未登录词的识别问题。
工具
支持向量机(SVM)
支持向量机是一种监督式学习的分类算法。它的基本思想是在特征空间中寻找一个最优的超平面,将不同类别的样本尽可能地分开。这个超平面要使得两类样本中距离它最近的样本点(称为支持向量)到超平面的距离最大化。
在基于字标注的分词任务中,对于每个字,会提取一系列特征。字本身的特征(如是否是数字、是否是汉字等)、上下文特征(前后几个字的信息)等。这些特征构成了 SVM 的输入。
条件随机场(CRF)
条件随机场是一种概率图模型,用于标注或分析序列数据。它在给定输入序列的条件下,计算输出序列的条件概率分布。与其他模型不同的是,CRF 考虑了相邻输出标签之间的依赖关系。
3.3 未登录词识别
类型与识别方法
未登录词包括命名实体(人名、地名、组织机构名等)和其他新词(专业术语、新普通词汇等)。中文姓名识别可通过姓名库匹配,以姓氏为触发信息,计算概率估值和阈值,结合修饰规则(左界规则、右界规则)筛选,机构名称识别可依据其构成(词法和句法角度)和类型,通过找到机构称呼词并检查修饰名词合法性来识别,也可利用统计模型。
3.4 词性标注面临的问题
兼类现象及问题
词性标注主要任务是消除兼类歧义,汉语中存在形同音不同、同形同音意义不同、典型兼类词及多种情况组合等词性兼类现象,不同语言词性划分有约定俗成的标准,标注集确定有相应原则(如标准性、兼容性、可扩展性等)。
3.5 词性标注集
标注集原则与示例
确定原则包括标准性、兼容性、可扩展性等,UPenn Treebank 标注集有其确定原则(如可恢复性、一致性、不明确性)和具体分类(如 NN 名词、NR 专业名词等)。
3.6 词性标注方法
多种标注方法
有基于规则(如 TAGGIT 系统有 86 种词性和 3300 规则,包括并列、同境、区别词、唯名形容词鉴别规则及词缀规则等)、基于统计模型(如基于 n - gram 的语言模型有 LOB 语料库的 CLAWS 系统和改进后的 VOLSUNGA 系统,基于 HMM 的词性标注方法涉及状态集、输出符号、概率等)、规则与统计结合(规则消歧与统计概率引导或统计赋初值规则消歧)、基于有限状态变换机、基于神经网络等方法,基于规则的方法包括编写或自动学习歧义消除规则,基于统计模型的方法利用语言模型或 HMM,还有基于错误驱动的机器学习方法。
3.7 分词与词性标注结果评测
评测方式与指标
测试包括封闭 / 开放、专项 / 总体测试,评测指标有正确率(正确结果占系统输出结果比例)、召回率(正确结果占标准答案总数比例)、F - 测度值(正确率与召回率综合值),不同测试有不同成绩表现,一体化分词与词性标注时词性标注可用召回率衡量,否则一般不用。
4. 词义消歧与标注技术
词义消歧
问题与方法
词义消歧问题普遍,如英语和汉语中许多词有多种含义。基本方法包括早期基于规则、统计机器学习(有监督、无监督)和基于词典信息等。有监督方法如基于互信息(通过双语对齐平行语料库和 Flip - Flop 算法解决语义指示器分类问题)和贝叶斯分类器(利用贝叶斯公式计算多义词在上下文中的语义),基于词典的方法有基于语义定义(根据词典词条定义判断语义)、基于义类辞典(通过上下文语义类判断词义)、基于双语词典(建立搭配关系并统计翻译同现次数确定词义)、Yarowsky 消歧算法(考虑文本和搭配约束,基于自举学习技术)等,无监督方法如上下文分组辨识(在无标注语料上估计上下文词概率,但存在同义词上下文差异大的问题),词义辨识可利用无监督机器学习实现。
5、深度学习基础模型
1. 深度学习基础模型概述
自然语言处理任务多样,技术范式不断演进,经历了从概率统计到神经网络模型,再到预训练与精调、提示范式以及大模型的发展历程。深度学习是机器学习分支,通过构建人工神经网络模拟人脑学习,其发展有多个重要脉络和突破,涉及众多模型结构,在自然语言处理中发挥关键作用,不同范式各有特点和优势,推动了自然语言处理技术发展。
深度学习是神经网络的一个重要分支和发展阶段。神经网络是一种模仿生物神经网络结构和功能的计算模型,由大量的人工神经元相互连接而成,能够对输入数据进行处理和学习。
而深度学习是指具有多个隐藏层(通常超过三层)的神经网络,这些深层结构使得模型能够自动学习到数据的更复杂特征和表示,从而在许多任务上取得了显著的性能提升。
2. 深度学习的四个主要脉络
一、卷积网络
起源与发展
感知机(1958)→BP 算法 / MLP(1986)→LeNet(1998)→AlexNet(2012)→VGGNet(2014)→ResNet(2016)→Capsule Nets(2017)等
核心特点
局部连接、权值共享,适合处理具有网格结构的数据
主要应用
计算机视觉(图像分类、目标检测、图像分割等)、视频分析(行为识别、内容理解等)
二、序列深度模型
起源与发展
Hopfield Network(1982)→RNN(1997)→LSTM/GRU(1997/2014)→Word2Vec(2013)→Seq2Seq(2014)等
核心特点
具有记忆功能,能处理序列数据,捕捉上下文和长期依赖关系
主要应用
自然语言处理(语言模型、机器翻译、文本生成、情感分析等)、语音处理(语音识别、语音合成等)
三、无监督学习
起源与发展
Deep Belief Nets(2006)→AutoEncoder(1989/2004)→Denoising Autoencoder(2013)→GAN(2014)→VAE(2013)等
核心特点
无需标注数据,可学习数据的内在结构和特征
主要应用
数据预处理(降维、特征提取)、数据生成(图像、音频等生成)
四、增强学习
起源与发展
早期研究(20 世纪 50 年代)→Deep Q-learning(2013)→Double DQN/Dueling DQN(2015)→AlphaGo(2016)→AlphaZero(2017)等
核心特点
智能体与环境交互,通过奖励机制学习最优策略
主要应用
游戏(棋类、电子游戏等)、机器人控制(路径规划、抓取等)、自动驾驶等
3. 自然语言处理技术
第一范式:概率统计,基于统计学原理,通过对大量文本数据的统计分析来处理自然语言任务,如在信息抽取中依据词汇或短语在特定语境下出现的概率确定关键信息,在文本分类中根据词语在不同类别文本中的出现频率构建分类模型。
第一范式是特征工程
第二范式:神经网络模型,利用神经网络结构和学习能力自动提取文本特征,像在机器阅读理解中学习文本语义和上下文信息以准确回答问题,在情感分类中捕捉文本蕴含的情感倾向进行分类。
第二范式引入了机器学习网络
第三范式:预训练,精调范式,先在大规模语料上预训练得到通用语言模型,再针对具体任务微调,例如智能对话系统中预训练模型学习语言知识和表达方式后经微调适应特定领域对话需求,文本匹配任务中预训练模型的语义表示经微调提高匹配准确性。
迁移学习策略的思想
研究重点转向了目标工程,设计在预训练和微调阶段使用的训练目标
第四范式:预训练,提示,预测范式--prompt挖掘工程 (Pre-train, Prompt, Predict),基于预训练模型,通过设计提示模板引导模型生成符合任务要求的输出,比如问答系统中设计包含问题的提示模板让模型生成答案,自动文摘任务中利用提示引导模型生成概括文本主旨的摘要。
Prompt(提示)范式通过设计合适的提示模板(Prompt Template),将下游任务转化为类似于预训练任务的形式,从而利用预训练模型的能力来解决问题,在一定程度上增加了模型的可解释性。
MLM(Masked Language Model,掩码语言模型)
掩码机制
在输入文本中随机选择一些单词或字符,将它们用特殊的掩码标记(如 [MASK])替换。例如,对于句子 “我喜欢吃苹果”,可能会将 “苹果” 掩码,变成 “我喜欢吃 [MASK]”。
模型训练目标
预训练模型(如 BERT)的任务是根据上下文信息来预测被掩码的单词或字符。模型需要学习到文本的语义和语法知识,以便能够准确地恢复被掩码的内容。
第五范式:大模型(如 Chat GPT),具有庞大参数规模和强大语言生成能力,可处理多种自然语言任务且智能水平较高,能广泛应用于复杂问答、长篇文本生成、多轮智能对话、高质量机器翻译等,为用户提供自然流畅的交互体验。
第五范式统一预训练模型为生成式
自回归常用于生成式模型中,例如在语言模型中,根据前面的词依次预测下一个词,逐步生成文本; 自编码则常用于数据的特征提取和表示学习,通过编码和解码过程来学习数据的压缩表示和重构能力。
4. 全连接前馈神经网络(DNN)
2.1 人工神经元模型
模型构成与激活函数
生物神经元通过树突接收信号,经细胞体处理后由轴突传出。人工神经元模型受其启发,由输入、权重、偏置、求和函数及激活函数组成,输入信号加权求和后经激活函数处理得到输出。激活函数为增强网络表达能力引入,需满足连续可导、非线性、导函数简单且值域合适等条件,常用的有 Sigmoid、Tanh、ReLU、LeakyReLU、ELU 和 SoftPlus 等,各有特性及导数公式。
神经网络如果没有激活函数,那么不管有多少层,它本质上都只是一个线性变换。而在现实世界中,很多数据之间的关系是非线性的。以图像识别为例,图像中的物体边界、纹理等特征很难用线性函数来描述。引入激活函数(如 ReLU 函数)后,神经元的输出就不再是简单的线性组合。这样就可以更好地拟合复杂的数据分布,使神经网络能够学习到输入数据和输出数据之间的非线性关系。
激活函数性质
连续并可导(允许少数点上不可导)的非线性函数。
可导的激活函数可以直接利用数值优化的方法来学习网络参数。
激活函数及其导函数要尽可能的简单
有利于提高网络计算效率。
激活函数的导函数的值域要在一个合适的区间内
不能太大也不能太小,否则会影响训练的效率和稳定性。
激活函数增加神经网络的非线性能力,增强网络的表达能力
2.2 前馈神经网络 DNN
2.2.1 模型结构与参数
前馈神经网络中神经元分属不同层,信号单向传播,无反馈,可用有向无环图表示。其结构包括输入层、隐藏层和输出层,各层神经元数量及连接方式影响模型功能。
模型参数包含层间连线权重和各层偏置,输入输出间通过多层加权求和及激活函数传递信息,其函数关系明确,是理解模型工作原理的关键。
2.2.2 模型训练与学习
神经网络通过有监督训练学习参数,训练集数据用于指导学习。常用损失函数有多种,如 0 - 1 损失、平方损失、绝对值损失、对数损失、交叉熵损失、Hinge 损失和指数损失等,通过定义损失函数可衡量模型输出与标准输出的差距,进而转化为求极值问题以优化目标函数。
神经网络一般用迭代调参方式进行参数学习
梯度下降法是常用调参方法,包括普通梯度下降、随机梯度下降和 mini - batch 梯度下降,通过迭代调整参数使损失函数最小化,但需注意学习率和参数初值的设置。
常用的损失函数
0-1损失
平方损失函数
绝对值损失函数
对数损失函数
交叉熵(负对数似然函数)
Hinge损失
指数损失
梯度下降法
常见问题
参数初值
参数初值设置将影响参数学习效果 避免各参数初值设为相同值,参数 初值设置尽量随机。
学习率
学习率 η设置时要注意不能过大或过小
有监督学习,采用梯度下降法调参
反向传播算法(Back Propagation,BP)是训练神经网络的关键,核心思想是将输出误差反向传播以修正各层单元连接权值,算法步骤包括定义损失函数、计算各层误差及参数偏导数并更新参数,同时需关注梯度消失问题及解决方法,如选择合适激活函数、采用复杂门结构或残差结构,以及解决过拟合问题的方法。
核心思想
将输出误差以某种形式反传给各层所有的单元,各层按本层误差修正各单元连接权值。
学习过程
前馈神经网络的训练过程可以分为以下三步
(1)先前馈计算每一层的状态和激活值,直到最后一层;
(2)反向传播计算每一层的误差;
(3)计算每一层参数的偏导数,并更新参数。
解决梯度梯度消失问题方法
选择合适的激活函数
用复杂的门结构代替激活函数
残差结构
解决过拟合问题方法
Dropout
损失函数加入适当的正则项
2.2.3 分类问题示例
以花的分类任务为例,构建包含一个隐含层的 DNN 模型,根据花的特征确定输入层、隐含层和输出层神经元数量,明确模型输入、输出及参数表示。模型运算关系包括隐含层和输出层的计算方式,采用 Softmax 作为输出层激活函数进行分类。模型学习过程需定义整体损失函数(如交叉熵损失),用梯度下降法和 BP 算法训练参数,经训练得到神经网络权值和阈值,用于对新数据进行预测,预测结果以概率形式呈现,展示了 DNN 在分类任务中的应用流程。
2.2.4 十大深度学习框架
深度学习框架是一种软件平台,它提供了一系列的工具、库和接口,方便开发者快速构建、训练和部署深度学习模型。框架封装了许多底层的复杂操作,如张量计算、自动求导等。
TensorFlow
由 Google 开发,被广泛应用于各种深度学习任务。它具有高度的灵活性和可扩展性,支持在多种硬件平台(如 CPU、GPU)上运行。可以使用静态图或动态图构建模型,其可视化工具能够帮助开发者更好地理解模型结构和训练过程。
PyTorch
Facebook 开发的深度学习框架,以其简洁易用的动态计算图而受到欢迎。在学术研究和快速实验中应用广泛,能够方便地进行模型调试和修改。与 Python 语言的结合紧密,代码编写风格更加符合 Python 的习惯。
深度学习模型、策略、架构之间的区别
1. 深度学习模型
是核心的计算结构,专注于如何通过神经元的组合和层次结构来处理数据完成任务。它是一个相对独立的实体,描述了数据的处理流程和预测方式。
2. 深度学习策略
是围绕模型训练和优化的方法集合,不涉及模型的具体架构,而是关注如何更好地训练模型,使其更快地收敛到较好的性能状态并且具有良好的泛化能力。
3. 深度学习框架
主要是提供软件层面的支持,是一种工具性的平台。它不直接决定模型的架构和训练策略,但为模型的构建、训练和部署提供了高效的实现方式。
5. 卷积神经网络(CNN)
3.1 概述
问题引入与解决方法
在处理图像等数据时,全连接前馈神经网络因连接边过多导致权重矩阵参数庞大,训练效率低下。例如,对于一定尺寸图像和隐藏层神经元数量,全连接方式参数数量巨大。卷积神经网络通过局部连接、权重共享和池化操作解决此问题,旨在减少参数数量,提高训练效率,同时保持模型性能,其结构特点使网络具有一定的平移、缩放和扭曲不变性。
3.2 卷积神经网络结构
3.2.1 网络层结构与连接方式
卷积神经网络结构包括卷积层、池化层和全连接层。卷积层通过卷积核(想要提取几个输出的特征图谱就选取几个卷积核)与输入图像进行卷积运算,实现局部连接和权重共享,有效减少参数数量。例如,与全连接层对比,在相同图像和隐藏层神经元数量下,卷积连接可大幅降低参数个数。池化层采用 Max Pooling 或 Mean Pooling 等方法对卷积层输出进行采样,缩小网络规模,减少参数量,同时不改变图像分类特征。全连接层将池化层输出单元 “平化” 后连接,实现分类或回归等任务。 网络训练时,卷积层和池化层作为整体,各层参数包括卷积层滤波器值和偏置、卷积层到池化层权重和偏置以及全连接层权重和偏置,其函数关系由多层卷积、采样和全连接操作构成。
卷积层
1
池化层
全连接层
CNN网络结构
三个结构特征
1 局部连接
2 权重共享
3 空间或时间上的次采样
3.2.2 多通道卷积与网络特性
第二卷积层采用多通道卷积连接,可处理多通道输入数据,进一步提取特征。网络结构上,CNN 具有局部连接、权重共享和空间或时间上的次采样特性,这些特性使其在处理数据时具有一定优势,能够更好地捕捉数据特征,适应不同任务需求,如在图像和自然语言处理中的应用。
3.3 卷积神经网络学习
参数学习与超参数调整
卷积神经网络学习过程中,卷积层和池化层作为整体进行训练。训练涉及多个超参数,如迭代轮数、学习率、batch 大小、卷积核大小、卷积步长、特征图个数和池化大小等,同时需学习卷积核的权值和偏置以及全连接的权值。通过调整这些超参数和学习参数,使网络能够对输入数据进行准确分类或处理,以适应不同任务需求,提高模型性能。
MLP多层感知机(Multi - Layer Perceptron)
3.4 卷积神经网络应用
在 NLP 中的应用场景
在自然语言处理中,CNN 可用于各种分类任务,如文本分析、情感分析和实体关系抽取等,还可用于其他任务的特征提取。例如,在情感分类任务中,通过卷积层和池化层提取句子特征,判断句子情感倾向;在图片标题生成任务中,结合 CNN 和 RNN,CNN 提取图片特征,RNN 生成标题文字,展示了 CNN 在多模态(模态是指信息的来源或形式)任务中的应用潜力。
6. 图卷积神经网络(GNN)
4.1 概述
在 NLP 中的应用与类型
图卷积神经网络在自然语言处理中有广泛应用,可处理具有图结构的数据,如文本中的语义关系。基于谱域和空间的图卷积神经网络是两种主要类型,前者在谱域定义卷积,面临卷积滤波器定义挑战;后者在顶点域定义卷积,将其视为目标顶点邻域顶点的加权平均函数,但不同节点邻域大小差异大,给模型设计带来挑战。
4.2 基于空间的 GNN
4.2.1 模型目标与结构
GNN 的目标包括节点分类、聚类、链接预测和推荐等,输入为图结构数据,输出为带有原图特征信息的节点表示集。模型结构上,与 CNN 类似有隐藏层,通过卷积操作聚合邻域信息。其卷积步骤包括聚集(Aggregation)和转换(Transformation),聚集操作将邻接节点信息聚合,转换操作通过权重矩阵和偏置对聚集信息进行变换,如采用平均邻居嵌入等方式,参数共享策略减少参数数量,提高模型效率。
4.2.2 模型训练与有向图处理
模型训练时,在最后一层得到节点表示后,根据任务代入损失函数,用梯度下降法训练参数。对于有向图,GNN 的卷积步骤有所不同,聚集操作需分别考虑入邻居和出邻居信息,转换操作综合邻居信息、节点自身信息和偏置得到节点表示,使其能处理有向图结构数据,适应更复杂的实际应用场景。
4.3 GNN 变形
4.3.1 基于传播步骤的变形
根据结点聚集和层级连接方法不同,GNN 有多种变形形式。如基于卷积聚集器的 ChebNet、GCN 等,基于注意力机制的 Graph Attention Networks,基于门控循环单元(GRU)或长短期记忆网络(LSTM)的 Gated Graph Neural Networks、Tree LSTM 等,这些变形在不同场景下对 GNN 进行改进和扩展,提高其处理图结构数据的能力。
4.3.2 基于连接方式的变形
基于连接方式的 GNN 变形包括 Deep Graph Convolutional Networks(DGCN)的不同连接形式,如残差连接(ResCN)和密集连接(DenseGCN),通过改变连接方式影响信息传递和模型性能,在处理复杂图结构数据时具有不同优势,可根据具体任务需求选择合适的变形形式。
7. 循环神经网络(RNN)
5.1 概述
问题引入与核心思想
前馈神经网络(DNN)和卷积神经网络(CNN)在处理自然语言时存在局限,其输入输出定长,处理变长问题效率低,且无法有效处理时序相关序列问题,而自然语言处理中语句长度不固定且具有时序性。循环神经网络(RNN)通过将处理问题在时序上分解为相同 “单元”,单元神经网络可展开并传递上一时刻结果,实现对变长序列和时序相关问题的处理,核心思想是在时序上共享参数,处理序列中的长期依赖关系。
5.2 循环神经网络结构
5.2.1 RNN 单元与网络结构
RNN 单元结构包含输入、隐藏层和输出,输入来自上时刻隐藏层和外部输入,经加权求和与激活函数处理后得到隐藏层状态,并通过全连接层输出。网络结构按时间轴展开,RNN 单元依次连接,形成时序结构,输入输出结构多样,包括一对一、一对多、多对一和多对多等形式,适用于不同任务场景,如图像分类、图文标注、情感分类、机器翻译和序列标注等。
5.3 循环神经网络训练
5.3.1 参数学习与 BPTT 算法
RNN 通过有监督训练学习参数,训练集数据用于指导参数调整。BPTT(Backpropagation through time)反向传播算法是 RNN 训练的关键,它基于梯度下降法,将误差从输出层反向传播到各时刻的隐藏层,计算参数梯度并更新参数。但 RNN 训练存在梯度消失 / 爆炸问题,由于链式法则,距当前节点远的节点对当前节点影响小,导致难以建模长时间依赖,训练困难,解决方法包括合理设置学习率、采用梯度截断等技术。
5.4 循环神经网络改进及变形(内部单元)
5.4.1 LSTM 与 GRU
长短时记忆神经网络(LSTM)通过设计 “门” 结构解决长期依赖问题,其单元接受输入和上一时刻隐藏层状态,维持细胞状态以保留远处结点信息,“门” 结构包括遗忘门、输入门、输出门,分别控制细胞状态的遗忘、新信息输入和隐藏层输出。门控循环单元(GRU)简化了 LSTM,将输入门和遗忘门合并为更新门,决定隐状态保留放弃部分,同时有重置门控制新信息计算,在一定程度上减少计算量,提高效率,适用于不同场景需求。
LSTM
GRU
5.4.2 网络结构改进
RNN 改进的网络结构包括 Elman Network、Jordan Network、Deep RNN 和 Bidirectional RNNs 等。Elman Network 和 Jordan Network 在隐藏层连接方式上有所不同;Deep RNN 采用多个隐层传递序列信息,增强模型表达能力;Bidirectional RNNs 在每个时刻有正向和反向输入隐层,可获取词的上文和下文信息,适用于需要上下文信息的任务,如机器翻译等。
5.5 循环神经网络应用
在序列问题中的应用
RNN 及其改进模型(如 LSTM)在多种序列问题中有广泛应用。在词性标注(POS Tagging)任务中,输入输出为等长向量序列;在图片标题生成(Caption generation)任务中,输入为一个向量,输出为向量序列;在情感分析(Sentiment Analysis)任务中,输入为向量序列,输出为一个向量;在机器翻译(machine learning)任务中,输入输出均为向量序列,但长度不同,通过序列到序列学习实现。这些应用展示了 RNN 在不同自然语言处理任务中的灵活性和有效性。
6、语言模型与词向量
1. 语言模型与词向量概述
语言模型是自然语言处理的基础,包括统计语言模型和神经语言模型,词向量是其重要组成部分。统计语言模型通过概率计算判断语句合理性,神经语言模型则利用神经网络学习语言模型参数。词向量用于将词表示为计算机可处理的形式,其发展经历了多个阶段,浅层词向量模型有多种,各有特点和应用场景,对自然语言处理任务至关重要。
2. 统计语言模型
2.1 语言模型基本概念
问题引入与基本思想
以语音识别问题引入,阐述传统规则法判断语句合理性的复杂性,引出语言模型用数学方法描述语言规律,通过句子概率刻画语句合理性,是统计自然语言处理的基础模型。语言模型基本思想是用概率判断语句合理性,句子概率定义为各词条件概率的乘积,其中词的概率受其历史影响,但原始定义存在参数过多问题,马尔可夫方法通过假设简化,n - gram 模型由此定义,不同阶数的 n - gram 模型对历史信息保留程度不同,实际应用中需权衡模型复杂度与性能,选择合适的 n 值。
2.2 语言模型参数估计
任务与方法
语言模型参数学习任务是获得词的条件概率,采用最大似然估计方法,利用训练语料进行学习。训练语料应与应用领域一致且足够大,并进行预处理。以具体训练语料为例,详细讲解了不同 n - gram 模型(如 2 元文法、3 元文法)参数的最大似然估计计算过程,通过对语料中词的出现次数统计,计算各词的条件概率,从而得到语言模型参数,但数据匮乏可能导致零概率问题。
2.3 参数的数据平滑
基本思想与方法
数据平滑旨在调整最大似然估计概率值,消除零概率,提高模型正确率,基本目标是降低测试样本的语言模型困惑度,同时满足概率之和为 1 的约束。数据平滑方法有加 1 法、减值法(包括 Good - Turing、Back - off、绝对减值、线性减值)和删除插值法等。以加 1 法为例,详细说明了其在处理零概率问题时的应用,通过在分子分母分别加 1,调整了概率值,使模型更稳健,还展示了对具体句子概率计算在数据平滑前后的变化。
2.4 语言模型性能评价
评价方法
语言模型性能评价主要有实用方法和理论方法。实用方法通过查看模型在实际应用中的表现评价,直观但缺乏针对性和客观性;理论方法用困惑度衡量,困惑度低的模型较好。详细解释了困惑度的定义,包括其与句子概率、交叉熵的关系,以及如何通过计算测试语料的困惑度来评价模型性能,为选择和优化语言模型提供了依据。
2.5 语言模型应用
应用场景与示例
语言模型广泛应用于自然语言处理任务,如计算句子概率、预测下一词等。以拼音转汉字和联想输入法为例,展示了如何使用 n - gram 模型计算概率,选择可能性最大的字串或预测下一个词,还介绍了语言模型变种,如前向 - 后向语言模型、K - Skipping N - gram Model、Class - based N - gram Mode、指数语言模型、Topic - based N - gram Mode 和 Cache - based N - gram Model 等,它们分别从不同角度改进或扩展了传统语言模型,适应不同应用需求。
3. 神经语言模型
3.1 神经语言模型概述
模型任务与概念
神经语言模型的任务是用神经网络学习语言模型参数,输入句子,输出句子概率。介绍了其与统计语言模型的关系,以及如何通过神经网络实现语言模型参数学习,包括使用 DNN(如 NNLM 模型)和 RNN(如 RNNLM 模型)学习参数的不同方式,引出后续对具体模型的详细讲解。
3.2 DNN 语言模型(NNLM)
3.2.1 模型结构与学习
详细讲解 NNLM 模型结构,包括输入层(词的表示及处理)、隐藏层(计算方式)和输出层(计算词的概率),以 2 - gram 和 n - gram 为例,阐述模型参数及各层计算关系。模型学习采用自监督方式,语料为文本,定义了目标函数(log 损失函数),通过随机梯度下降法(BP 算法)优化训练目标,学习模型参数(包括神经网络参数和词向量),同时以实例说明参数训练过程。
3.2.2 模型预测与特点
以具体句子为例,展示 NNLM 模型预测过程,每求一个词的概率需用一遍神经网络。分析了 NNLM 模型的特点,如模型复杂度较高,在运算速度和效果上与其他模型存在差异,且引出了关于神经网络语言模型是否需要数据平滑的思考,为后续对比不同模型做铺垫。
3.3 RNN 语言模型(RNNLM)
3.3.1 模型结构与学习
阐述 RNNLM 模型结构,结合 RNN 单元结构,说明输入层(词向量输入)、隐藏层(考虑历史信息的计算)和输出层(计算词的概率)的计算方式及参数关系。模型学习同样采用自监督方式,定义目标函数,通过 BPTT(随时间反向传播)算法和随机梯度下降法进行参数训练,以实例展示学习过程,体现 RNNLM 模型在处理序列信息上的优势。
3.3.2 模型预测与优点
详细说明 RNNLM 模型预测过程,随着模型读入词,隐藏层更新,包含丰富上文信息,效果更好。强调 RNNLM 模型的优点,如可保留词的全部历史信息,无需简化为 n - gram,引入词向量后无需数据平滑,在神经网络语言模型中应用广泛,对比 NNLM 模型,突出其在处理长序列和上下文信息方面的优势。
3.4 RNN 语言模型变形
不同类型变形模型
介绍 RNN 语言模型的多种变形,包括正向语言模型、反向语言模型、双向语言模型、单向多层 RNN 语言模型和双向多层 RNN 语言模型。详细阐述各变形模型的结构和计算方式,如双向语言模型每个时刻有正向和反向隐层,可获取词的上文和下文信息;多层 RNN 语言模型通过多个隐层传递序列信息,增强模型表达能力,展示了 RNN 语言模型在不同结构设计下的灵活性和适应性。
4. 语言模型(按模型结构划分)
传统神经语言模型
Predictive 的模型
利用神经网络预测下一词概率:NNLM 模型
借助循环神经网络预测词序列:RNNLM 模型
通过构建目标函数学习词向量:C&W 模型
根据 context 预测中间词:CBOW
根据中间词预测 context:Skip-gram
Count-based 模型
共现矩阵重构:Glove
预训练语言模型
基于 LSTM 模型
浅层词表示
TagLM(增强序列标注任务)
深层词表示
ELMo(不同的任务可以自适应调整参数)
CoVe(基于机器翻译数据训练)
基于 Transformer Decoder 模型
GPT(适合生成文章的模型)
GPT-2、GPT-3
DialogGPT(支持人机对话的模型)
基于 Transformer Encoder 模型
基于掩码语言模型
BERT(MLM 获取双向表征)
RoBERTa(稳健性更好的模型)
Span BERT(预测 Span 块)
ALBERT(精简版的 BERT 模型)
UniLM(使用了三种语言模型的任务)
MiniLM 模型(带有通用蒸馏方案的模型)
ENRIN、KBERT(融入知识的预训练模型)
基于排列语言模型
XLNet(双向的上下文表征 - 适用于更长文本)
基于 Transformer 模型
MASS(统一的 seq2seq 训练框架)
BART(基于 Seq2Seq 构造不同的噪音输入)
T5(每个 NLP 问题都视为 "text-to-text" 问题)
m-BART(多语言的生成预训练语言模型)
Bang(基于非自回归的预训练语言模型)
5. 词向量(浅层)
4.1 词表示概述
词表示方法与发展
词表示是自然语言处理的第一步,将词数字化为计算机可处理形式,包括原子符号、向量表示等方法,其中向量表示分为离散表示(如 One - hot 表示)和分布式表示(基于分布式假设,用上下文词表示目标词)。介绍了词向量的发展历程,从早期的简单表示到预训练语言模型和大模型时代,以及不同类型词向量模型的演进,为理解经典词向量模型做铺垫。
词表示
向量表示
分布式词表示(用一个词附近的其他词来表示该词)
基于预测
NNLM
CBOW 模型
Skip-gram 模型
Word2Vec模型,用于自然语言处理的词向量模型,其主要目标是将单词转换为向量表示
C&W 模型
LBL
基于计算
词 - 文档
LSA
PLSA
词 - 词
Brown-Clustering
HAL
Glove
离散表示
One-hot
词袋模型
TF-IDF
原子符号
4.2 经典词向量(浅层)表示模型
多种模型介绍
详细介绍五种经典浅层词向量表示模型:NNLM 模型词向量通过语言模型学习同时得到词向量,输入层对词的 one - hot 表示处理成稠密向量,经隐藏层和输出层计算;RNNLM 模型词向量类似 NNLM,但基于 RNN 结构;C&W 模型词向量以直接对 n 元短语打分方式学习,目标函数是求目标词与上下文联合打分,与其他模型预测方式不同;CBOW 模型通过上下文词向量平均值预测目标词概率,简化了 NNLM 模型;Skip - gram 模型用目标词向量预测上下文词概率,输入层为目标词向量。对比各模型的目标词与上下文位置关系、输入输出、目标词与上下文词关系及模型复杂度、参数个数和时间复杂度等方面的差异,分析各模型特点。
4.3 词向量特性及应用
语言学特性与应用范围
词向量具有语义相似词向量空间距离相近、相似关系词对词向量之差也相似等语言学特性,可用于同义词检测、单词类比、语义相似度度量等任务。词向量应用范围广泛,可作为静态特征(如文本分类、命名实体识别)或动态初值(如卷积神经网络文本分类、词性标注)输入模型,不同应用方式对系统性能有影响,展示了词向量在自然语言处理中的重要作用和价值。
7、预训练语言模型
1. 预训练语言模型概述
预训练语言模型发展迅速,从早期模型发展到如今的大模型,在自然语言处理中占据重要地位。按模型结构可分为多种类型,不同模型结构各有特点和应用场景。Bert 和 GPT 预训练语言模型图谱展示了模型的发展脉络和相互关系,众多模型的出现推动了自然语言处理技术的不断进步。
按模型结构划分,包括根据中间词预测 context 的 Skip - gram 模型、根据 context 预测中间词的 CBOW 模型、传统神经语言模型、Count - based 模型、共现矩阵重构的 Glove 模型等。浅层词表示有 TagLM 等,基于 LSTM 模型的有 ELMo,深层词表示有 CoVe、GPT 系列、BERT 系列、XLNet 等,还有基于 Transformer 不同结构的各类模型。
预训练语言模型
基于 LSTM 模型
浅层词表示
TagLM(增强序列标注任务)
深层词表示
ELMo(不同的任务可以自适应调整参数)
CoVe(基于机器翻译数据训练)
基于 Transformer Decoder 模型
GPT(适合生成文章的模型)
GPT-2、GPT-3
DialogGPT(支持人机对话的模型)
基于 Transformer Encoder 模型
基于掩码语言模型
BERT(MLM 获取双向表征)
RoBERTa(稳健性更好的模型)
Span BERT(预测 Span 块)
ALBERT(精简版的 BERT 模型)
UniLM(使用了三种语言模型的任务)
MiniLM 模型(带有通用蒸馏方案的模型)
ENRIN、KBERT(融入知识的预训练模型)
基于排列语言模型
XLNet(双向的上下文表征 - 适用于更长文本)
基于 Transformer 模型
MASS(统一的 seq2seq 训练框架)
BART(基于 Seq2Seq 构造不同的噪音输入)
Seq2Seq 是一种深度学习架构,主要用于处理序列到序列的任务
T5(每个 NLP 问题都视为 "text-to-text" 问题)
m-BART(多语言的生成预训练语言模型)
Bang(基于非自回归的预训练语言模型)
2. 注意力编码机制
2.1 注意力机制概述
定义与示例
注意力机制是加权求和机制 / 模块,通过对输入集合计算权重并加权求和得到输出,如在给定数字集合中求特定数字权重并求和,在图卷积网邻接节点聚集时也有应用,实现从等权求和到加权求和的转变。
作用
可在任意节点间建立关联关系,跨越网络形成连接,对已有加权求和链接不再重复操作,在信息处理中起到聚焦关键信息的作用。
发展历史
2014 - 2015 年出现如 Attention in Neural Machine Translation 等早期研究,2017 年 Transformer - Attention 进一步扩充了注意力编码机制,推动其发展。
2.2 传统注意力机制
2.2.1 模块结构
输入输出与参数运算
输入为查询向量 Q 和键值集合 K、V,通过注意力打分函数f(Q,K)(包括点积、一般、连接、加性等模型)计算权重,经 softmax 归一化后,用加权求和得到输出 Att - V,确定 K 对 Q 的权重是关键步骤。
计算最后值的方式
普通模式下,Att - V 为权重与 K 直接相乘求和;键值对模式下,Att - V 为权重与 V 相乘求和。
2.2.2 模块训练
将模块置于整体模型中,无需额外训练数据,其权重可在模型训练过程中由模块参数学习得到。
2.2.3 模块评价
在各类任务中检验,依据任务指标提升情况评估模块效果,如在机器翻译任务中观察翻译准确性等指标变化。
2.2.4 模块应用
机器翻译应用
在机器翻译的编解码架构中,传统方法对不同输出单词中间语义表示相同,引入注意力模块后,可根据源语各词对目标词的不同影响程度调整,如在翻译 “杰瑞” 时区分 “Tom”“Chase” 等词的影响权重,提升翻译质量,具体通过双向 LSTM 编码器和带注意力的解码器实现,可视化展示了双语对齐效果,实验表明在句子限长 30 和 50 时加注意力模型效果更好且鲁棒性较强。
图卷积应用
在图卷积网络中,从等权聚集转变为加权聚集,通过注意力机制改进节点特征聚合方式,提升图卷积网络性能。
注意力类型
软注意力 Soft Attention
对输入句子每个单词给出概率分布,综合考虑各单词对当前任务的影响程度。
硬注意力 Hard Attention
从输入句子中直接确定特定单词与目标句子单词对齐,其余单词对齐概率设为 0,聚焦于关键单词。
全局注意力 Global Attention
在解码端计算注意力时考虑编码器端所有词,全面捕捉源语信息。
局部注意力 Local Attention
是软、硬注意力的混合或折衷,先预估对齐位置,在其附近窗口范围取概率分布,平衡计算效率和信息获取。
自注意力 Self - Attention
在单个序列内各元素间相互计算注意力,融合上下文信息,捕捉长距离依赖关系。
交叉注意力 Cross Attention
解码器生成输出时,对编码器输出信息进行关注利用,辅助解码器生成,融合不同信息源。
多头注意力 Multi - Head Attention
将输入通过多个不同参数的注意力头分别计算,再整合结果,从多视角捕捉信息以丰富表示。
2.2.5 优势与问题
优势在于能让任务处理系统聚焦相关显著输入信息并按重要性处理,提高输出质量;可推理复杂映射关系,对先验认知少的问题有效;解决长距离依赖问题提升性能。存在对 RNN 的注意力偏置问题,可通过 Coverage 机制缓解。
2.3 数据表示与注意力机制
数据表示的重要性与注意力机制概念
良好的数据表示对机器学习任务至关重要,不同表示方式影响任务处理难度。注意力机制可通过建立序列元素关联关系形成序列表示或融合表示,包括通过计算元素间关联关系对序列编码形成单一向量(如句向量编码,Q 可为确定值或隐变量),以及将两个序列编码成融合表示序列(如匹配任务和阅读理解任务中的融合层表示),还可进行相同序列自注意力编码以获取词的上下文信息,提升模型对序列内部关系的理解和处理能力。
编码为单一向量:通过建⽴序列K各元素与Q之间的关联关系形成单⼀向量表示(按元素之间关系对序列进⾏编码)
编码为一个序列 (不同序列融合编码):将⼆个序列编码成⼆者的融合的表示序列(如,匹配任务和阅读理解任务常⽤的融合层表示)
编码为一个序列 (相同序列自注意力编码):自注意力机制
2.4 注意力机制的类型与应用
自注意力与多头注意力机制
自注意力机制在序列内部做 Attention 计算,寻找词与词之间的关联关系,能更好地编码词的上下文信息,如在处理句子中代词指代不明问题时,可利用前后文信息更准确地编码。多头注意力机制通过多次计算并拼接结果,从不同表示子空间学习相关信息,增强模型对序列信息的理解,如在文本理解中,不同头可关注不同层面信息,提高模型性能。
3. 动态词向量算法(ELMo)Embeddings from Language Models
3.1 ELMo 模型原理
模型结构与训练方式
ELMo 通过双向双层 RNN 结构(前向和后向语言模型)学习深层上下文词表示知识,模型结构包含 LSTM 层,对每个词计算多层表示,通过大规模未标注数据预训练双向语言模型,然后固定网络参数得到 ELMo 词向量表示,可根据下游任务需求进行调整,增强各类 NLP 任务。
3.2 ELMo 在下游任务中的应用与效果
任务对接与微调
ELMo 与下游任务对接时,将其向量与下游任务的输入连接形成增强表示,在问答、文本蕴涵、语义角色标注、共指消解、命名实体抽取、情感分析等六类自然语言理解任务中,加入 ELMo 可超越当时 SOTA 结果,展示了其在提升模型性能方面的有效性。
4. 典型预训练语言模型
4.2 BERT (Bidirectional Encoder Representations from Transformers)模型
4.2.1 模型结构与训练
BERT 使用堆叠的双向 Transformer Encoder,输入表示包括 Token、Segment 和 Position Embeddings,通过 [CLS] 和 [SEP] 标记处理句子或句对。训练包括通用领域语言结构知识学习(采用 Masked Language Model 解决深层双向预测问题)和句子顺序关系学习(通过二分类模型判断句子顺序),优化目标是 Masked Language Model loss 和 Next Sentence Prediction loss 之和。
4.2.2 与下游任务对接及效果
根据下游任务不同有多种链接方式,在句子关系判断及分类、抽取式任务、序列标注任务、文本生成任务等 11 项自然语言处理任务中刷新榜单,其主要贡献包括预训练有效性、网络深度优势、双向语言模型改进以及包含多种知识等,对自然语言处理领域产生了重要影响。
4.2.3 BERT 主要贡献
预训练的有效性
改变游戏规则,海量无监督数据预训练的 BERT 语言表示 + 少量训练数据微调的简单网络模型效果好
网络深度
基于 DNN 语言模型获取词向量表示已成功,BERT 预训练网络基于 Transformer 的 Encoder,可做很深
双向语言模型
之前 ELMo 和 GPT 有局限,GPT 使用 Transformer 的 Decoder 结构,只考虑上文信息,ELMo 从左往右和从右往左语言模型独立训练,本质仍是单向且多层 LSTM 难训练
预训练模型包含多种知识
BERT 包含上下文知识和句子顺序关系知识
4.3 RoBERTa (A Robustly Optimized BERT Pretraining Approach)模型
4.3.1 模型改进措施
RoBERTa 是对 BERT 模型的调优。在模型细节层面改进优化函数;训练策略上改用动态掩码(将预训练数据复制多份,每份采用不同掩码方式),去除 NSP(改为输入连续句子),采用更大 batch size;数据层面使用更大数据集并采用 BPE(Byte-Pair Encoding) 处理文本。这些改进措施使模型性能得到提升。
4.3.2 实验效果展示
在 GLUE、SQuAD、RACE 等数据集上的实验结果表明,RoBERTa 在多项任务中表现优异,如在 MNLI、QNLI、QQP、RTE、SST、MRPC、CoLA、STS 等任务中取得较高准确率,在 SQuAD 和 RACE 任务中也有出色表现,因其出色性能在很多应用中被广泛使用。
4.4 BART (Bidirectional and Auto - Regressive Transformers)模型
4.1.1 提出背景和动机
BERT 和 GPT都是单独堆叠Transformer的Encoder和Decoder (BERT和只使⽤ Encoder, GPT.只使⽤Decoder)这种单纯的使⽤其中某⼀部分, 就会造成两个鸿沟
BERT: 具备双向语⾔理解能⼒的却不具备做⽣成任务的能⼒.
GPT: 拥有⾃回归特性的却不能更好的从双向理解语⾔.
4.4.2 模型结构与训练
BART 采用标准 Transformer 结构,吸纳 BERT 和 GPT 优点,通过多种噪声干扰原文(如 Token Masking、Token Deletion、Text Infilling、Sentence Permutation、Document Rotation 等方式),再将残缺文本复原进行预训练,训练目标是使解码端输出与加噪前原文的交叉熵损失最小。
前馈神经网络(Feed - Forward Neural Network,FFN)
Cross Attention(交叉注意力)是一种在深度学习模型,特别是基于 Transformer 架构的模型中常用的注意力机制。
4.2.3 五种添加噪声的方式
Token Masking
与 BERT 的 [Mask] 策略相同
Token Deletion
随机删除某些 Token,模型需决定遗漏位置
Text Infilling
连续 Token 替换为 [MASK] 或随机插入 MASK Token,模型不知 [Mask] 对应 Token 及有效性,增强学习能力
Sentence Permutation
打乱文档中句子顺序
Document Rotation
随机选 Token 作为起始 Token,对文档轮换,训练模型识别开始 Token
4.4.4 与下游任务对接及应用效果
对于不同任务有不同使用方法,在序列分类任务中利用 Decoder 最后输出,Token 分类任务中利用 Decoder 最后一层输出,序列生成任务直接微调,机器翻译任务需训练新 Encoder 对齐语义空间。在多个数据集上的实验结果显示,BART 在不同任务中表现良好,如在 SQuAD、MNLI、ELI5、XSum、ConvAI2、CNN/DM 等任务中取得较好指标,且能在不牺牲性能的情况下扩展到生成任务,参数量增长较少。
4.5 T5 模型
4.5.1 模型设计理念与结构
T5 为 NLP 提供通用框架,将所有任务转化为 Text - to - Text 形式,采用 Transformer 的 encoder - decoder 结构。通过大量实验选择模型结构和训练方法,如对比不同架构、确定输入输出格式(添加任务相关前缀)、选择训练数据(从 Common Crawl 清理出 C4 数据集)和训练目标(采用类似 BERT 的 masked language modeling 目标函数,经多方面实验确定破坏策略和比例)。
4.5.2 训练与应用效果
在下游任务上单独 fine - tune 结果显示,T5 预训练模型对各下游任务性能有较大提升,如在 GLUE、CNN/DM、SQuAD、SGLUE、EnDe、EnFr、EnRo 等任务中表现出色,证明了其模型设计和训练方法的有效性。
5. 预训练语言模型应用
5.1 应用方式
5.1.1 直接接入下游任务
将任务数据匹配预训练数据格式,直接利用预训练模型得到结果,如在文本分类任务中,可直接输入文本,模型根据预训练知识输出分类结果。
5.1.2 Adapter 方式
pretrain 时不使用 adapter,fine - tuning 时添加 adapter 层。其优势在于推理阶段每个任务可共享基础模型参数,仅少量任务相关参数,减少线上显存占用,提高资源利用效率。
5.1.3 Weighted Feature 方式
把不同层的输出加权求和得到 embedding,权重参数在下游任务中训练得到。通过横向抽取各层输出并训练任务特定参数,使模型能更好地适应不同任务需求。
5.1.4 Prompt 方式
包括 few - shot(利用少量示例帮助模型理解任务)和 zero - shot(仅根据任务描述生成响应)。通过构造提示中的掩码分类预测任务,将文本分类任务转换为掩码预测,提高模型对任务的理解和处理能力。
5.2 应用任务类型
5.2.1 文本分类任务
文本分类任务涵盖多分类(如新闻分类为娱乐、体育、财经等类别)、多标签(样本可能有多个标签)和层次分类(标签具有层次关系)。在情感分析、金融数据分类、医疗数据分类、法律数据分类等场景有重要应用,如判断文本情感倾向、对金融新闻分类、对药物反应分类等。常用方法包括微调(基于 [CLS] output embedding 后接线性层分类)、提示学习(将任务转换为掩码预测)和检索(通过与标签或训练数据向量相似度检索分类)。
5.2.2 文本生成任务
理论上许多 NLP 任务可转化为文本生成任务,如文本情感分类可转化为生成情感倾向判断。文本生成模型架构主要有 Encoder - Decoder 结构(如 GPT、UniLM)。应用场景包括自动对话生成(如客服聊天机器人)、新闻摘要生成、内容创作与续写(如故事、诗歌创作)、机器翻译和代码生成等,广泛应用于多个领域,为人们的生活和工作带来便利。
5.3 预训练模型在应用中的优势与挑战
优势
预训练模型在实际应用中具有显著优势。通过在大规模语料上预训练,学习到通用语言知识和语义表示,在下游任务中只需少量微调即可快速适应,节省训练时间和数据资源。例如在情感分析任务中,预训练模型可快速捕捉文本情感倾向;在机器翻译中,能利用预训练知识提高翻译准确性和流畅性。
挑战
大规模模型在推理效率方面面临挑战,计算资源需求大,推理速度可能较慢,影响实时应用。资源消耗高,包括大量的计算资源(如 GPU、TPU 等)和存储资源,训练和部署成本高昂。隐私与偏见问题也不容忽视,模型可能学习到数据中的隐私信息,且可能存在对某些群体的偏见,影响公平性和可靠性。针对这些挑战,可能的优化策略包括模型压缩(如量化、剪枝等)以减少资源消耗,改进训练算法提高推理效率,以及在数据预处理和模型训练过程中注意公平性问题,减少偏见影响;替代方案可以是探索更高效的模型架构或开发轻量级模型,以平衡性能和资源消耗。
8、大语言模型
1. 概述
1. 发展历程
1.1 人工智能发展概况
阐述智能的定义,介绍人工智能的概念,包括专用人工智能、通用人工智能和超级人工智能的特点,以及语言在智能中的重要性,回顾自然语言处理的发展历程。
1.2 大规模语言模型
介绍 ChatGPT 家族模型的参数、学习目标、主要区别、数据集、模型结构和训练参数等,展示 ChatGPT 的效果,梳理近三年大模型的快速发展,分析 ChatGPT 的成功之处、理论创新、关键能力和关键技术。
1.3 大规模多模态模型
介绍图像多模态与语言协同的智能,包括 DALL・E 3 的技术和应用,以及视频多模态与语言协同的智能,如 Sora 的特点、技术原理和生成能力。
2. 发展阶段
统计语言模型阶段(20 世纪中叶 - 2012 年左右)
主要特点
基于统计学原理,通过分析词序列的出现频率来预测下一个词,受限于固定上下文长度,难以捕捉长距离依赖关系,且面临数据稀疏问题。
代表模型
N-gram 模型、隐马尔可夫模型(HMM)等。N-gram 模型基于马尔可夫假设,认为一个词出现的概率仅与其前面的 n-1 个词有关,简单易用但存在局限性;HMM 则通过引入隐藏状态来捕捉序列数据中的潜在结构。
经验主义
神经网络语言模型阶段(2013 年 - 2018 年左右)
主要特点
随着深度学习技术的发展,神经网络开始被应用于语言建模任务中,能够更好地处理数据稀疏问题,并且有助于捕捉长距离依赖关系,但早期的神经网络模型在长文本建模能力上存在局限性,且不易并行训练。
代表模型
NNLM(神经概率语言模型)、循环神经网络(RNN)及其变体LSTM(长短期记忆网络)、GRU(门控循环单元)等。NNLM 由 Bengio 等人提出,通过嵌入层将单词映射到连续的向量空间中,并通过多个隐藏层来学习语言的内部结构;RNN 通过引入循环连接来处理序列数据中的长期依赖关系,LSTM 和 GRU 是 RNN 的改进版本,通过引入门控机制来解决梯度消失或梯度爆炸问题。
预训练语言模型阶段(2018 年 - 2022 年左右)
主要特点
通过在大规模无标注数据上进行预训练,学习上下文感知的单词表示,确立了 “预训练 - 微调” 范式,改进了长文本建模能力,但仍存在优化空间,特别是在并行训练和硬件友好性方面。
代表模型
ELMo、BERT 、BART和 GPT-1 等。ELMo 是一种基于深度学习的语言模型,它通过对大量文本进行预训练,学习到了单词的上下文表示;BERT 由 Google 提出,在预训练阶段采用了遮蔽语言模型(Masked Language Model)和下一句预测(Next Sentence Prediction)两个任务来训练模型,提高了模型的语言表示能力;BART 是由 Facebook 提出的一种基于 Transformer 的序列到序列预训练模型。它结合了 BERT 的双向编码能力和 GPT 的自回归解码能力,在预训练阶段采用了去噪自编码任务,这使得 BART 在文本生成任务(如摘要生成、机器翻译、对话生成、文本填充等)上具有出色的表现,能够生成连贯和上下文合适的文本;GPT-1 由 OpenAI 开发,在预训练阶段采用了自回归语言建模任务来训练模型。
大型语言模型阶段(2023 年至今)
主要特点
通过 “扩展法则” 进一步提升模型性能,模型参数规模和数据规模大幅增加,表现出了涌现能力,如上下文学习能力、指令遵循能力、逐步推理能力等,同时更加注重与人类的价值观对齐,从专用任务转向通用任务。
代表模型
GPT-3、GPT-4、PaLM、LLaMA 等。GPT-3 具有 1750 亿参数,能够通过 “上下文学习” 的方式来利用少样本数据解决下游任务;GPT-4 在理解复杂文本、生成高质量内容方面的能力有了质的飞跃;PaLM 拥有 540B 参数;LLaMA 是由 Meta 发布的一系列大型语言模型,在性能和效率方面表现出色。
连接主义
3. 大模型构成与基本概念
2.1 基本概念
解释大规模语言模型LLM(Large-Scale Language Model)、语言模型(Language Model)、有监督学习(Supervised Learning)、自监督学习和模型范式与生成式模型的定义,对比大模型和小模型的区别。
2.2 大模型构成
介绍大模型的单编码器架构和基于单编码器架构的优化,包括快速显存访问注意力机制和旋转位置编码,阐述以语言模型为优化目标的自监督训练,以及大规模语言模型的分布式训练方法,包括数据并行和模型并行。
2.3 优化训练
4. 主要问题与挑战
3.1 大模型的挑战
3.1.1 幻觉问题
介绍大模型幻觉问题的定义和分类,包括事实性幻觉和忠实性幻觉,举例说明幻觉问题的表现,提出解决幻觉问题的方法,如数据去偏与过滤、知识检索增强、解码过程增强。
3.1.2 资源消耗高
指出大模型训练、推理、微调、部署成本高的问题,介绍解决资源消耗高问题的方法,包括能力扩展预测、参数高效微调、模型量化、模型剪枝、模型蒸馏。
3.1.3 知识更新难
说明大模型知识更新难的原因,介绍解决知识更新难问题的方法,如模型编辑、检索增强。
3.1.4 安全性问题
分析大模型系统中输入、模型、工具、输出模块存在的安全性问题,提出解决安全性问题的方法,包括防御性提示、人类对齐、检测修改。
5. 典型应用领域
4.1 大模型领域应用
介绍大模型在医疗、法律、金融、政务等领域的应用,包括 HuatuoGPT - II、DISC - LawLLM、DISC - FinLLM、明德智能政务等模型的应用方式和示例。
6. 发展与展望
5.1 大模型未来展望
探讨 AI 研究的下一步方向,包括 GPT 模型体系的作用、对产业的影响、未来职业结构变化、中国的机会和可能存在的问题,提出关于大模型参数量与性能关系以及人类知识与大模型推理能力结合的思考题。
2. 模型原理与构架
1. 模型原理
1.1 语言模型原理
1.1.1 什么是语言模型 - 基本概念
介绍语言模型的定义,即语句出现概率是语句中各单词依次出现的联合概率,可通过链式法则分解,常采用近似方法,如 N - gram 模型。
1.1.2 什么是语言模型 - 关键角色
阐述语言模型在自然语言处理中的关键角色,应用于文本生成、语音识别、机器翻译、拼写纠正、情感分析等多个方面。
1.1.3 什么是语言模型 - 分类
讲解语言模型的分类,包括统计语言模型(如 N - gram 模型、隐马尔可夫模型)、神经语言模型(以词向量表示单词,用神经网络处理语言数据)和预训练语言模型(如 GPT 和 BERT,在多种语言任务上性能出色)。
1.2 统计语言模型
介绍 N - gram 模型的概念,即利用前面 n - 1 个词预测第 n 个词的出现概率;阐述隐马尔可夫模型用于描述隐含未知参数的概率模型,适用于状态不直接可见但观测序列可见的情况。
1.3 神经语言模型
1.3.1 词向量
讲述词向量的概念,其发展历程包括 One - Hot 编码、分布式表示和使用神经语言模型生成词向量,词向量(NNML,Word2Vec,ELMO)的发展使计算机能更好地理解和处理自然语言。
1.3.2 神经网络语言模型 (NNLM)
介绍神经网络语言模型 NNLM,它输入句子中某个单词前面的 t - 1 个单词来预测该单词,单词的词向量是其副产物,具有捕捉深层语义关系、生成词向量和泛化能力等优点,但也存在计算成本高、固定窗口大小等缺点,为深度学习技术在 NLP 领域的应用奠定了基础。
1.3.3 Word2Vec 模型
阐述 Word2Vec 模型是由神经概率语言模型演进而来,有 CBOW 和 Skip - gram 两种实现方式,对神经概率语言模型做了重要改进,在 NLP 领域得到广泛应用。
1.4 预训练语言模型
介绍随着深度学习发展出现的能够捕捉词在不同上下文中多重含义的模型,如 ELMo、BERT 和 GPT,它们完全抛弃 RNN 结构,使用 Transformer 作为特征提取器,成为预训练语言模型,在各项任务中表现出色。
2. 模型架构
2.1 模型基本结构
介绍 Transformer 模型,包括仅编码器、编码器 - 解码器和仅解码器三种结构,分别用于不同类型的任务,如分类、文本生成等,Transformer 基于自注意力机制,最初用于机器翻译任务,其编码器和解码器有不同的功能和结构。
2.2 自注意力机制
计算输入中不同元素之间的相关性,通过生成注意力分数来提取相关特征,是 Transformer 中最重要的算法,能让模型关注输入序列的不同部分,多头注意力则是由多个 Self - Attention 组合形成,可捕捉不同类型的相关性。
2.3 Transformer 编码器
输入由词向量和位置向量组成,词向量用 n 维向量表示词,位置向量表征词的位置信息,编码器包含多头自注意力层和前馈全连接层,通过一系列编码层处理输入序列,得到其表示,可用于文本分类、命名实体识别等任务,主要模型有 BERT、RoBERTa 等。
2.4 BERT 模型(仅编码器架构)
2.4.1 模型结构
由多层 Transformer Encoder 堆叠而成,输入层由字嵌入、段嵌入和位置嵌入相加而成,学习范式包括预训练和微调训练,预训练任务有 MLM(Mask Language Model)和 NSP(Next Sentence Prediction),微调过程将下游任务文本按格式输入模型,取输出作为预测结果,实验结果表明 BERT 在下游自然语言理解任务上效果显著超过之前模型。
2.4.2 BERT 变体模型
介绍 BERT 发布后的变体模型,如 RoBERTa 通过增大 batch size、增加训练数据、去掉 NSP 任务和采用动态掩码等改进,ERNIE 将掩蔽粒度扩展到短语和实体,spanBERT 每次掩蔽一个随机片段并预测中间掩蔽值。
2.4.3 BERT 影响
阐述 BERT 在 NLP 任务中取得显著性能提升,激发了更多研究兴趣和创新,应用于商业中提高用户体验,但也存在需要大量计算资源和时间、处理长文本困难、语义理解能力有限、不适合文本生成任务等局限性。
2.5 编码器 - 解码器模型架构
适用于翻译、文本摘要、长文本生成等任务,编码器将输入序列转换为内部表示,解码器从该表示构建输出序列,结构与编码器类似且包含注意力机制,以有效利用编码器信息,BART 是标准的序列到序列编码器 - 解码器模型,在特定任务微调时有不同处理方式,T5、华为盘古NLP 基于 Transformer 架构,采用编码器 - 解码器架构和统一的文本到文本框架,预训练任务为 “填空” 任务,下游任务包括文本分类、机器翻译、文本摘要、智能问答等。
2.6 仅解码器模型架构
由一个或多个解码器层组成,包含自注意力机制和前馈神经网络,采用掩蔽自注意力机制避免未来信息泄露,适用于文本生成任务,如 ChatGPT,GPT - 2 是基于 Transformer 架构的自回归模型,使用多层解码器堆叠构建,预训练过程为无监督学习,通过预测下一个单词进行语言模型训练,下游任务需根据其网络结构进行适当修改。
基于 Transformer 的模型的编码架构
3. 训练数据预处理
3.1 模型基本要素
预训练语言模型的基本要素包括数据、模型结构和算力,数据是训练材料,通常来自多种文本来源,模型基本采用 Transformer 架构,训练需要大量算力,三者相互依赖,数据是基础,算力支撑模型训练和推理。
3.2 数据构成类型
大型语言模型预训练数据来源广泛,包括网页内容(提供广泛话题覆盖)、书籍(有丰富语言结构和叙事风格)、学术论文(丰富专业知识)、开放许可数据集(提供背景知识)、政府和法律文档(提供官方用语样例)、Github(提供代码知识)等。
3.3 数据预处理
3.3.1 数据处理的一般流程
原始数据需经过筛选排除,包括敏感词过滤、文本去重和质量评估等阶段,以获得高质量的最终数据,去除重复、敏感和质量低的文本数据。
3.3.2 第一阶段 -- 文本质量打分
利用语言模型对文本打分,评估文本连贯性、逻辑性和格式正确性,常用指标是困惑度(PPL),PPL 值越低文本质量越高,通过选择模型、文本打分和筛选,可根据阈值判断文本质量。
3.3.3 第二阶段 -- 基于规则的过滤
基于人为制定的规则过滤数据,先建立敏感词库,包含涉黄、暴力等敏感词汇,不断更新完善,再根据阈值和策略对文档或句子粒度的文本进行敏感词过滤,同时可处理繁体字和乱码等问题。
3.3.4 第三阶段 -- 文本去重
通过分词、特征化和选择哈希函数,将文本转换为特征表示,采用局部敏感哈希算法检测重复片段,根据阈值或相似度得分筛选并处理重复文本样本,如删除、保留或合并,哈希函数选择要保证确定性,哈希表需共同维护和更新。
3.3.5 第四阶段 -- 文本质量评估
采用人工抽样评估文本质量,选择合适抽样方法(如随机、分层或系统抽样),制定样本标注标准(包括正确性、清晰度等),根据评估结果采取质量改进措施。
3. 微调算法
1. 提出背景
1.1 AI 模型大小发展趋势
展示 AI 模型大小随时间的增长趋势,模型参数数量不断增加,对计算资源的需求也日益增长。
1.2 预训练语言模型发展历程
梳理预训练语言模型的发展,从早期模型到 GPT - 4 等大规模模型的演进,模型性能和规模不断提升。
1.3 自然语言处理范式变迁
介绍自然语言处理范式从基于小规模专家知识到深度学习算法,再到预训练 + 精调范式的转变,预训练 + 精调成为主流范式,但存在存储和计算代价高的缺点。
2. 微调算法及变种
2.1 Prompt tuning 及变体
2.1.1 Prompt tuning
利用自然语言模板将下游任务转化为完形填空任务,通过在输入前添加提示,让模型预测缺失部分,可分为离散提示和连续提示(soft prompt),连续提示只需存储小的任务特定提示,推理更高效,在大规模模型上性能与全量微调相当,但收敛速度慢、性能不稳定、Few - shot 场景下表现不佳且模型有效输入长度变少。
2.1.2 P - tuning V1
将 Prompt 转换为可学习的 Embedding 层,解决大模型 Prompt 构造方式对下游任务效果的影响问题,通过特定的编码方式和优化策略,在一些任务上提升了模型性能,GPT 和 BERT 效果相比直接 finetune 有所提升,GPT 效果超过 BERT。
2.1.3 P - tuning V2
针对 P - tuning 和 Prompt Tuning 的问题进行改进,在每一层加入 Prompts tokens,增加可学习参数,将 Prompt 加入更深层结构,还移除重参数化编码器、针对任务采用不同提示长度、引入多任务学习、回归传统分类标签范式,在较小规模任务中与微调性能匹配,在复杂任务中表现优于微调。
2.2 Prefix tuning
在模型输入前添加连续的任务特定向量序列(前缀)Prefix,固定预训练模型参数,仅更新前缀参数,适用于自回归模型和编码器 - 解码器模型,在一定阈值内,前缀长度增加性能提升,超过阈值易过拟合,Prefix - tuning 效果优于 Infix - tuning,随机初始化在低资源场景影响大,使用真实单词初始化可提高生成速度。
2.3 Adapter tuning 及变体
2.3.1 Adapter tuning
在预训练模型内部网络层间添加 Adapter 结构,固定原模型参数,仅微调 Adapter 和 Layer Norm 层,保证训练高效性,参数数量少且初始化近乎相同,通过特定的结构设计和前馈子层操作实现,在一些任务上能达到与全量微调相近的性能,但增加了模型参数量,降低推理性能。
2.3.2 AdapterFusion
Adapter 的变体,通过将学习过程分为知识提取和组合两阶段,在不同任务下引入各自 Adapter 模块学习特定任务信息,再用新参数组合知识,解决了灾难性遗忘等问题,但模型整体参数量增加,推理速度降低。
2.3.3 AdapterDrop
从较低 Transformer 层中删除 Adapter 可提高多任务推理速度,包括 Specialized AdapterDrop(训练和推理时固定剪掉前 n 层)和 Robust AdapterDrop(训练时随机选取 n 大小,推理时适应多个 n),可应用于 AdapterFusion 进一步提高效率。
2.3.4 IA3
对模型激活层进行抑制或放大,通过点乘向量加权部分参数,大幅减少可训练参数数量,使微调更高效,性能与全量微调相当且不增加推理延迟,是准确率超过全量微调模型的方法,综合性能最优。
2.4 LoRA 及变体
2.4.1 LoRA
通过低秩分解模拟参数改变量,增加旁路矩阵实现轻量级微调,在只训练极少量参数前提下,性能与全量微调匹配甚至在某些任务上更优,灵活、高效且无推理延迟,但需预先指定矩阵秩 r,忽略了权重矩阵重要性在不同模块和层的差异。
2.4.2 DyLoRA
解决 LoRA 块大小固定和优化秩繁琐的问题,可同时学习不同秩的 LoRA,避免重复训练搜索最优秩,动态属性使其在不同秩下表现不同,在一些任务上取得较好性能。
2.4.3 AdaLoRA
通过奇异值分解权重矩阵,根据新的重要性度量动态调整奇异值大小,更好适应任务和数据特点,减少参数调整和计算资源消耗。
2.4.4 LoRA - FA
在不增加计算开销的情况下,大幅减少 LoRA 的激活内存,微调阶段冻结部分权重,只更新矩阵 B 的权重,进一步减小训练参数规模,仍能实现接近全参数微调的结果。
2.4.5 S - LoRA
针对从同一基础模型用 LoRA 微调的多个 adapter 结果,提出高效部署方案,通过扩展 Batching 策略、PageAttention 内存管理策略和并行策略,实现单个 GPU 服务上千个 LoRA adapter 的效果,解决动态加载和卸载 Adapter 带来的内存问题。
3. 面向模型量化的微调算法
3.1 量化 (Quantization)
将输入数据从高精度转换为低精度表示,如将 32 位浮点数转换为 8 位整数,可减少数据存储空间和计算量,但可能出现异常值导致量化位置利用不充分,分块独立量化可解决此问题,还介绍了简单的 4 - bit 量化示例。
3.2 Q - LoRA
使用高精度技术将预训练模型量化为 4 - bit,添加低秩适配器权重(LoRA)并通过量化权重反向传播梯度调优,采用 4 - bit NormalFloat(NF4)、双量化和分页优化器等技术,显著降低训练大模型所需显存资源,但模型评估广度不够,对 Guanaco 评估不全面。
3.3 Q - LoRA 变体
3.3.1 LoftQ
在量化 LLM 的同时为低秩矩阵寻找合适初始化,进行 LoRA 微调,减轻量化模型与全精度模型差异,提高下游任务泛化能力,在不同数据集上超过 QLoRA 表现,在 XSum 数据集上超过全精度条件下 LoRA 表现。
3.3.2 QA - LoRA
解决微调阶段 LoRA 参数与量化模型参数融合时的问题,在微调过程中量化 LLM 权重,微调后自然集成到量化模型中,通过最小值 - 最大值量化及分组操作等方法,在不同大小 LLM 上始终优于带 PTQ 的 QLoRA,与不带 PTQ 的 QLoRA 水平相当且效率更高。
4. 小结
4.1 增量微调 (Delta Tuning)
4.1.1 定义与分类
参数高效方法,仅微调模型一小部分参数,分为增量式(引入额外可训练模块或参数,如 Adapter - Tuning、Prefix Tuning、Prompt Tuning 等,优势是不修改模型结构,在大模型上效果好,但优化效率低、收敛慢、在中小模型上表现不佳)、指定式(指定原始模型中某些参数可训练,如基于启发式指定或训练监督,部分方法微调少量参数可达较高性能)和重参数化(将优化过程重参数化,如 LoRA 基于预训练模型适配低秩假设提出优化方法)三类。
4.1.2 比较分析
性能上 Delta Tuning 方法与全参数 Fine - tuning 有差距但潜力大,PF、LR、AP 性能相近,更多可调参数不一定带来更好性能;收敛速度排序为 FT > AP ≈ LR > PF,PF 收敛困难,收敛速度与可微调参数量无直接联系,对结构更敏感;效率上 Delta Tuning 可减少参数梯度计算,节省 GPU 显存,在不同 batch size 下最多可节省 3/4 或至少 1/3 的 GPU 显存。
4.1.3 应用
包括快速训练与存储空间节省(训练速度提升,Delta 参数节省存储,方便知识迁移)、多任务学习(保持语言能力,有望解决灾难性遗忘问题)和中心化模型服务与并行计算(降低通信成本,支持多任务训练,部分算法可并行计算)。
5. 微调算法比较分析
4. 提示学习
1. 引言
1.1 语言模型的生成范式
介绍语言模型的生成范式,通过不同示例展示模型如何根据提示进行文本补全、指令执行等任务,不同任务需不同提示词,相同任务不同提示词效果也不同,提示工程旨在设计合适提示词prompt引导模型输出,是实现提示学习的方法之一,提示学习还包括语言模型选择、自动化提示工程、多重提示学习等。
1.2 提示词原则
1.2.1 提示词的元素
包含用户意图、任务、指令、上下文、输出提示符、例子等,角色可使输出符合风格,指令规定任务,输出提示符限定输出格式,通常指令放上下文后,高质量提示词常含这些元素,但顺序和组合可灵活变化。
1.2.2 提示词原则
编写清晰具体指令,包括用分隔符避免混淆、寻求结构化输出、要求模型检查条件、提供少量示例;给模型时间思考,指定任务步骤或让模型先自主思考再下结论,还给出其他设计建议,如简洁明了、具体明确、避免歧义、语法正确、提供背景、适当限定、使用关键词等。
2. 提示词技术
2.1 Prompt 进阶技术
传统提示词设计直接,进阶技术旨在将下游任务转换为与预训练任务类似的填空或续写任务,实现任务对齐提升模型表现,包括上下文学习、思维链及其变种、利用外部工具等,可根据任务和资源选用不同技术,模型能力不足时可能无法正确处理提示词和外部工具。
2.2 上下文学习
特定提示工程方法,任务演示作提示一部分给模型,包括 Few - Shot(推理时用任务描述和示例,不更新权重)、One - Shot(类似 Few - Shot 但只给一个示例)、Zero - Shot(只给任务描述),可提升模型表现。
2.3 思维链
改进提示策略,用于提高模型在复杂推理任务中的性能,通过生成中间推理步骤,结合 few - shot 学习优势,避免训练微调的高成本和 few - shot 的缺点,对小模型作用不大,模型参数达 10B 才有效果,100B 时效果明显,对复杂问题性能提升更大。
2.4 Self - Consistency
通过探索多种思路增强模型推理能力,利用 CoT 生成多个答案,选择出现最多的作为输出,解决不同人思考方式不同的问题,提高模型处理复杂问题的能力。
2.5 Tree - of - Thought
人们解决问题会在搜索空间尝试多种方法,CoT 未尝试多种解决方法且不能推翻过去推理,ToT 使用 LLM 生成多个计算结果、提纲等并评估,保留最佳结果,适用于 24 点游戏、创造性写作、填字游戏等任务。
2.6 Self - Refine
通过迭代反馈和优化改进初始输出,步骤为生成初始输出、反馈回模型获反馈、根据反馈优化输出,重复迭代,在对话和代码生成任务中有示例展示其应用。
2.7 PAL
使用程序作为中间推理步骤辅助 LLM,将复杂问题分解推理,处理复杂算数运算时性能更好,把解决方案步骤变为编程代码运行获更准确答案,有相应输入输出示例。
2.8 利用外部工具
减轻大语言模型固有局限性,提升薄弱能力、赋予新能力,分为依赖人类监督和提示方法两类,通过外部工具可实现与环境互动,如搜索引擎、检索工具、python 解释器等,微调利用外部工具方式表现优但成本高,需权衡可控性与通用性。
2.9 ReAct
在大语言模型中结合推理和动作,通过显式推理加动作让 LLM Agent 自主找到答案,适用于需要与环境互动的任务,多任务训练扩大规模并结合强化学习等范例可释放更大潜力。
2.10 ART
通过选择任务库中相关任务分解生成新任务自动多步分解,在大语言模型生成时选择使用工具库工具,人类可编辑分解提高性能,包括自动推理和工具使用、多步推理表示为程序的轻量级语法、可解释的推理框架等贡献,在少样本提示和自动生成未见任务的 CoT 上有改进,结合人类反馈超手工制作 CoT 提示性能。
3. 提示词应用
3.1 提示词应用
Few - shot 让模型通过上下文学习任务完成方法和输出格式,提升已有任务能力和学习新任务解决方法;ToT 和 Self - Refine 多次生成并回顾改善输出;外部工具提高输出质量,扩大模型能力边界;ART 通过自动推理和工具使用实现任务自动多步分解和工具选择使用,人类可编辑提高性能。
3.2 Prompt 应用 - 生成数据
Alpaca 是用 52k 指令数据微调 LLaMA 7B 得到的预训练模型,单轮指令执行效果上回复质量与 openai 的 text - davinci - 003 相当,生成数据过程包括定义指令集合、指令生成、分类任务识别、输入或输出优先策略等步骤。
3.3 Prompt 应用 - LLM Agent
单智能体 AutoGPT 实现完全自主系统,集成外部工具和内存管理,用户输入目标后自动执行任务;多智能体如斯坦福小镇仿真人类行为,ChatDev 由多智能体协作运营虚拟软件公司,根据用户任务需求生产完整软件。
4. 提示词风险
4.1 提示词泄露
AI 应用构建常包裹语言模型并注入观点或目标,提示词质量决定应用表现,存在提示词泄露风险,如 PDF 分析类 AI 应用输入特定指令可获取 prompt,ChatGPT 存在 “祖母漏洞” 等,可通过攻击性检测、添加防御性描述、使用分隔符划定有效输入区等策略防御。
5. 检索式生成(RAG)
1. 引言
1.1 大模型更新参数知识
介绍大模型更新知识的方式,如预训练和微调,指出微调存在需专业人员、高质量标注数据、大量训练资源及无法精准溯源等缺点,引出检索式生成(RAG),它结合了参数化和非参数化知识,能克服大模型部分问题。
1.2 检索式生成(RAG)
RAG 通过检索器从知识库中查找相关文档,与用户问题一起输入生成式语言模型,生成明确答案,其核心组件包括检索器、生成式语言模型和知识库。
2. 检索器 Retriever
2.1 检索器的类型
主流检索器分为基于统计模型(如 BM25)和基于深度学习模型(如 DPR)两类,BM25 是当前主流文本匹配算法,可视为 TF - IDF 优化,DPR 是最早使用嵌入向量实现文档检索的模型,用于开放领域问答任务。
2.2 检索器 Retriever - BM25(稀疏检索)
BM25 算法计算 query 与文档集合相似度得分,基于 TF - IDF 并优化词频、逆文档频率及字段长度归一化,有可调节参数,处理流程包括预处理文档、计算 IDF 和 BM25 分数、排序返回文档,适用于搜索引擎、推荐系统等,优点是计算简单、部署容易、处理数据快、适合关键词提取,缺点是对复杂问题检索效果差、缺乏语义理解、无上下文关系建模、关键词不匹配时可能检索失败。
2.3 检索器 Retriever - DPR(向量检索)
DPR 利用深度学习模型生成问题和文档的高维向量表示,通过最大内积搜索检索相关文档,基于双编码器架构,包括查询编码器和文档编码器,能进行语义匹配,考虑上下文关系,检索高效准确,适用于大模型问答系统、AI 搜索等,但受编码器模型性能影响、需训练、内存占用大,工业落地需搭配向量压缩算法。
3. 检索式生成(RAG)的技术与方法
3.1 检索式生成与大语言模型
对比大语言模型和检索式生成大语言模型,指出大语言模型存在事实不准确、难以查证、信息输出难控、知识更新成本高、参数多等问题,检索式生成模型可减少事实错误、精准溯源、控制信息输出、具有可塑性和拓展性、高效利用参数。
3.2 检索式生成语言模型的方法架构
分为输入增强、中间融合和插值输出三种类型。输入增强将检索文本集成到大模型上下文,简单易用但消耗资源且需模型有长文本能力;中间融合通过新注意力机制整合检索结果,需改造模型架构和预训练;插值输出在语言模型 token 分布中插入检索文本 token,需构造更大索引。工业界主流方法是输入增强,因其可直接与大语言模型搭配且无需改造模型结构。
3.3 检索式生成语言模型的训练
包括独立训练(只训练检索器或语言模型,两者无互动)、序列训练(分两步先后训练检索器和语言模型)和联合训练(同时训练两者,性能最优但难度和资源开支大)。单一训练和序列训练易于部署、消耗资源少、训练难度低,是工业界常用首选;联合训练虽性能好,但训练成本高,学术领域正在探索改进方法。此外,还有上下文学习(In - Context Learning,ICL)方法,无需训练,利用大模型上下文理解能力,通过提示词和示例引导模型推理,如 IC - RALM 通过上下文学习实现检索式生成。
4. 现状和发展趋势
4.1 检索式生成的现状和发展趋势
指出检索增强型语言模型存在局限性,如在推理任务上边际收益小,检索器和语言模型缺乏互动影响文本生成质量,且缺乏基础架构开发,在训练和推理时面临计算开销大、资源需求多等问题。
4.2 重新思考如何发展更好的生成式检索技术
包括发展更好的检索器(不限于关键词和语义匹配)、改进数据库(如质量过滤、平衡不同领域数据量)、增强检索器和语言模型互通(如 GRIT 架构)、让检索参与大语言模型预训练、预训练后适配(如使用 instruction following 和 RLHF 技术)、对检索结果重排(如微调 BERT 模型或大语言模型 Zero - Shot 评估后重排)等方向。
5. 总结
基于 LLM 的检索式生成模型核心组件包括检索器、生成式语言模型和知识库, 主流检索器算法有 BM25 和 DPR, 检索式生成方法架构有输入增强、中间融合和插值输出三种, 训练方式有独立训练、序列训练和联合训练。
6. 知识增强
1. 概述
1.1 知识的概念
介绍知识的定义、本质、基本属性、分类(从内容和形式角度),知识是人类对客观世界认知总结,具有客观性、系统性、可传递性等属性,包括事实性、程序性、概念性知识,以及显性和隐性知识,对比知识与信息的区别,探讨大模型时代知识增强的有效性。
1.2 自然语言处理中的知识
阐述自然语言处理中知识的多种表现形式,如语言模型学习表达和表达内容,知识源包括结构化(如知识图谱、字典)和非结构化(如文本数据、大语言模型)数据,介绍将知识嵌入大模型的步骤(语言与知识对接、知识表示、融合至语言模型)。
2. 自然语言理解中的知识增强
2.1 自然语言理解任务的分类
包括文本分类、问答系统、文本推理、蕴含关系判断、事实验证、槽位填充、知识图谱补全、实体链接、指代消解、下一句预测等任务,各任务有其特点和示例。
2.2 知识丰富的 NLU 的任务与基准
指出 NLU 需集成通用领域、专业领域和常识性知识,介绍将知识集成到语言模型中的方法(知识对接、表示、融合),并详细说明问答任务(开放域和常识性问答)、基于知识图谱的任务(实体链接、槽填充 / 链接预测、基于知识库的问答)和其他任务(事实验证、对话生成、常识任务)的相关数据集和示例。
2.3 知识来源与知识库
2.3.1 通用开放领域知识
来源于百科全书等,适用于多种任务,但存在覆盖范围大但深度不足、更新滞后等问题。
2.3.2 领域特定知识
来源于医疗、法律、科技等领域的专业资料,支持特定领域任务,但面临数据稀缺、知识组织复杂等挑战。
2.3.3 常识性知识
来源于知识图谱和大规模预训练模型,用于推理和上下文理解,但隐式常识难解释、特定场景常识可能缺失。
2.4 通用的知识库
介绍维基百科、维基数据、Freebase、DBpedia、YAGO 等知识库,涵盖结构化知识图谱、非结构化文档、半结构化词典等形式,提供广泛知识,在不同领域有应用优势。
2.5 领域知识库
以 UMLS 为例,整合医疗术语,提供语义网络和概念唯一标识符,适用于医学文本挖掘等;AMiner 专注学术领域,提供学术实体知识网络,支持数据挖掘和学术影响力分析。
2.6 常识知识
介绍 Common Sense、ConceptNet 等常识知识库,以及 ATOMIC、ASER、ARC 等特定方面的常识知识库,可通过知识图谱嵌入技术转化为向量表示,应用于常识推理等场景。
2.7 将知识与深度学习模型结合
通过知识特征化、知识表示和知识锚定等方法将知识库知识与文本信息结合,提升自然语言理解能力,具体包括 DPR(密集段落检索)、RETRO(从万亿级文本中检索)、WebGPT(结合浏览器和人类反馈辅助问答)、REINA(利用训练数据知识)、Kformer(在 Transformer 前馈层注入知识)等技术手段,各有其实现方式和应用特点。
3. 自然语言生成中的知识增强
3.1 自然语言生成
介绍文本生成任务的核心是条件概率建模,具有高效性、多领域适用性、灵活性与扩展性,常见任务包括对话系统、文本摘要、机器翻译、改写等。
3.2 自然语言生成中的知识必要性
以夏威夷归属问题为例,说明在自然语言生成中,维基百科、维基词典、维基数据等外部知识库可填补问题与答案间的 “知识差距”;在创造性生成(如故事生成)中,模型需利用知识推理保证情节逻辑;在解释生成任务中,模型借助知识图谱为陈述生成合理解释;在响应生成(如对话)中,通过语义图构建和知识推理生成符合上下文的回答。
3.3 自然语言生成中的知识增强
3.3.1 JointGT
首个将知识图谱和文本表示联合训练的方法,使用大量 KG - text pairs 进行预训练,通过三种创新预训练任务(图增强文本重建、文本增强图重建、图 - 文本嵌入对齐)提升文本生成能力。
3.3.2 REALM
在语言模型训练中结合检索机制,基于 BERT 架构,引入外部知识检索模块,可动态检索知识片段融入上下文,提升模型在多种任务中的表现,如开放域问答等。
3.3.3 知识图谱辅助微调
基于常识知识图谱,通过多跳推理生成连贯文本,如 Alpha - NLG 可根据部分信息生成解释,利用知识图谱确保逻辑一致性,通过输出分布控制门控机制结合概念分布和自由生成文本,还可从多种知识图谱视角生成多样化内容,提升解释性和生成质量,具体步骤包括知识子图定位、图神经网络编码、概念选择和解码器生成。
3.3.4 检索增强
RAG 是首个引入检索机制的生成模型框架,由检索器(含查询编码器和文档索引)和生成器组成,通过潜变量边际化提升生成质量,支持端到端训练和推理,包括 Sequence - Level(对整个序列边际化,适用于短输出序列任务)和 Token - Level(对每个词边际化,适合长文本或复杂推理任务)两种处理粒度。
3.4 自然语言中的常识增强
指出语言模型在常识推理方面存在不足,常识推理能力是实现人类水平人工智能的关键,常识知识可提升智能系统理解力和实现人类水平互动,但仍面临场景理解、知识缺失、语境推理等问题,可通过整合结构化常识知识库(如 ConceptNet)和神经语言模型(如 BERT)来增强自然语言理解和推理能力,KagNet 通过结合两者弥补数据驱动模型对隐性知识的不足,提升推理效率,同时对比了 ConceptNet(结构化、二元性、有限性、有噪声与不完整性)和非结构化常识知识库(如 GenericsKB,自然语言描述、覆盖面广、适用于开放性问答)的特点,强调整合两者的必要性,开放式问答对常识推理存在多跳结构、巨大搜索空间和高密度实体链接等挑战,DrFact 模型通过问题编码、多跳事实跟踪、事实到概念映射等操作应对挑战,其中可微分事实跟踪操作可筛选生成下一跳事实集合。
4. 总结与趋势
4.1 增强知识的目的
包括实现常识推理以达到人类水平人工智能,以及在信息抽取(命名实体识别等)和问答任务(开放域、常识性、基于知识库的问答)中的应用。
4.2 知识获取来源
包括结构化知识图谱(如 WikiData 等)、非结构化知识(如 Wikipedia 等)和常识知识(如 OMCS、ConceptNet),各有其特点和适用场景。
4.3 趋势
4.3.1 更大的检索语料库
在更大语料库中部分任务性能有提升,但也存在噪声信息和高计算成本问题,如 NQ 任务性能可能下降,TriviaQA 和 HotPotQA 在某些语料库下性能提升。
4.3.2 异构知识来源
不同来源知识可相互补充验证,如 Miami Beach 的相关知识在不同知识库中的体现,异构知识整合可提升模型在多模态、跨领域任务中的表现。
4.3.3 利用知识减少自然语言生成中的幻觉现象
如在对话系统中 BART - large 生成回答易出现幻觉,而 RAG - Token 和 FiD - RAG DPR 等方法可通过引用正确信息减少幻觉。
4.3.4 利用知识提升效率
通过去除无关信息、增强相关信息关联性和知识驱动动态优化,可减少模型处理负担、提高生成答案准确性和响应速度。
4.3.5 利用知识提高生成内容的多样性
如中英翻译中词汇多义性和故事生成中不同结局的可能性,利用知识图谱可实现生成内容的多样化。
5. 未来展望
包括知识的自治学习与更新(自主知识发现、知识衰减与版本管理)、知识的解释性与可追溯性(推理链条透明化、可视化支持)、知识增强与个性化应用的融合(多语言与多文化适应、领域适应性)、从知识增强到知识生成(知识推测与补全、跨模态知识生成)、知识增强的社会化与协作性(群体智能协作、伦理与公平性)以及突破计算瓶颈(新型硬件支持、端到端知识增强)等方面的发展方向。
7. 智能体
1. 概述
1.1 自主智能体
介绍自主智能体的概念,能自动感知环境、自主行动并通过反馈学习,举例说明其在不同场景下的典型实例,如 DeepMind Lab 中的智能体和 Embodied QA 中的智能体。
1.2 大语言模型驱动下的自主智能体
展示大语言模型驱动的自主智能体发展历程,包括多种类型的智能体及其出现时间,分析大语言模型与智能体之间的差距,提出基于大语言模型的自主智能体统一框架,涵盖画像、记忆、规划、动作等模块。
2. 智能体的画像构建
2.1 画像模块
2.1.1 手工方法
通过手工指定职业、喜好等信息构建智能体画像,灵活性高但适用于少量智能体,耗费人力且难以大规模使用。
2.1.2 GPT 生成方法
利用 GPT 生成智能体画像,效率高、适合大量智能体,但灵活性略差,依赖 GPT 且画像生成的 Prompt 设计很关键。
2.1.3 数据集对齐方法
从数据集中拷贝信息构建画像,更加真实,方便对比和评估,效率高,但不够灵活。
3. 智能体的记忆机制
3.1 结构记忆模块
介绍人类记忆机制中的 ACT - R 模型,阐述智能体记忆结构包括短期记忆(通过 In - Context Learning 实现,如对话历史、游戏探索经历等)和长期记忆(需检索并与短期记忆合并)。
3.2 操作记忆模块
3.2.1 记忆写入
智能体可将观测内容以自然语言格式文本、自然语言格式文本 + Symbolic 符号信息或多种形式写入记忆,对于相似记忆可合并并总结,遇到记忆溢出可采用先进先出策略。
3.2.2 记忆读取与反思机制
记忆读取根据近期性、相关性和重要性等因素进行,记忆反思包括自我总结、自我验证和共情能力等高级智能行为,可提升智能体性能。
4. 智能体的规划机制
4.1 规划
规划是实现目标的思考过程,包括日常活动、完成任务、回答问题、游戏等多种场景下的规划,可分为无需反馈和带有反馈的规划。
4.2 无需反馈的规划
4.2.1 思维链(CoT)
通过逐步推理展示解决问题的过程,提升模型推理能力,如在算术问题中的应用。
4.2.2 自洽思维链(CoT - SC)
通过采样多种推理路径并聚合最终答案,提高答案准确性和一致性,解决复杂问题时表现更优。
4.2.3 思维树(ToT)
将问题分解为多个子问题,分别探索不同思路,通过评估和投票选择最佳方案,适用于复杂任务。
4.2.4 思维算法(AoT)
将搜索过程与标记集成,指导子树探索,从失败中学习,增强模型解决问题的能力。
4.2.5 思维图(GoT)
通过问题分割、结果检查和合并等操作,实现多步推理和结果整合,提高推理效率。
4.3 带有反馈的规划
4.3.1 ReAct
在语言模型中结合推理和行动,通过显式推理确定行动步骤,如在 HotPot QA 任务中,可根据推理结果选择搜索或完成任务,提高答案准确性。
4.3.2 Describe - Plan - Select
语言模型作为解释器和规划器,根据任务描述生成计划,评估计划执行结果,根据反馈调整计划,适用于开放世界多任务智能体。
5. 智能体的动作空间设计
5.1 基于智能体自我知识的行动
智能体基于规划、对话、常识理解等自我知识进行行动,在不同场景下发挥作用,如在 Minecraft 游戏中完成任务。
5.2 基于外部工具的行动
智能体可调用外部工具,如通过 Toolformer 确定调用接口位置、采样接口调用示例、执行并过滤结果,以获取更多信息,提升任务完成能力。
5.3 智能体能力获取
智能体能力获取方式包括参数学习、提示工程和机制工程(如试错、群智等),不同方式在不同时代对智能体能力提升有重要作用,如在机器学习时代、大模型时代和智能体时代的发展变化。
6. 智能体设计应用
6.1 RecAgent - AI 中两种不同的学习范式
6.1.1 基于真实数据的研究
优点是数据可靠、符合客观规律、模式固定、易于获取且数据集公开,但存在涉及人类隐私、商业机密、代价高和道德问题等缺点。
6.1.2 基于模拟的研究
可通过模拟生成数据,为智能体设计提供更多机会,如在推荐系统、社会网络、人类决策预测等领域的应用,同时可研究用户背景、特殊事件、社会信息等对推荐的影响,以及在政策模拟、经济行为、法庭模拟等方面的应用。
6.2 智能体设计
包括属性模块(如姓名、性别、年龄、特质、职业、兴趣等)、记忆模块(感受记忆、短期记忆、长期记忆,涉及信息压缩、赋予重要性分数、记忆增强、传递、反思、遗忘等操作)和动作模块(模拟推荐、聊天、社交平台搜索等行为,通过 Prompt 引导智能体行动),基于轮次执行,可进行系统干预,如真实人类参与改变智能体属性或环境。
6.3 举例
以用户在推荐系统中的行为为例,说明智能体如何进入推荐网页、观看电影、产生感受、进行信息传播、实验行为生成等,展示 RecAgent 在推荐模型评估、研究用户行为和设计推荐策略等方面的潜在应用。
9、自然语言处理基础任务建模
一、 NLP 基础任务概述
自然语言处理包含多种基础任务,如文本分类、文本匹配、序列标注和序列生成等。这些任务在智能化语言处理系统中发挥着重要作用,各有其特点和应用场景,且都面临着一些挑战,如文本分类中模型的泛化能力,文本匹配中对语义理解的要求,序列标注中如何利用上下文信息,序列生成中生成文本的质量和可控性等。随着技术发展,相关模型和方法不断演进,以提高任务处理的准确性和效率。
二、 文本分类
分类任务概述
任务定义与分类方法
文本分类是利用计算机对文档按标准自动归类,输出为类别标签。分类方法包括概率统计时代的特征工程 + 算法(如 Naive Bayes、SVM、LR、KNN 等)和深度学习时代的自动获取特征(如基于词袋、卷积神经网络、循环神经网络、基于 attention 机制、基于图卷积神经网络等),端到端分类。篇章级分类常采用层次化方法,先获取句子编码,再进一步得到篇章表示,也可将多种方法结合形成混合模型。
序列结构文本分类
分类框架与文本表示方法
序列结构文本分类框架(文本整体分类)需解决如何生成高质量文本表示的关键问题。方法包括简单对文本序列词嵌入平均 / 加总(如神经词袋模型,但会丢失词序信息)、FastText(将每个词向量相加取平均,输出层根据类别数量选择 softmax 或 hierarchical softmax)、通过卷积神经网络抽取 n - gram 特征信息、循环神经网络(将文本序列视为时间序列,不断更新得到包含顺序信息的表示,如基于 RNN 的句表示可结合多种方式形成,还可结合 RNN 与 CNN 优势生成上下文窗口信息的卷积网络)、LSTM/CNN - GRU(篇章级混合模型,用 CNN/LSTM 形成句子级向量表示,再由句向量用双向 RNN 形成带上下文信息的句子表示,进而形成篇章级向量表示用于分类)、HAN(篇章级 Attention 模型,从句子级和文档级引入 Attention 机制,可识别分类决策的重要单词和句子)。对于有侧重点情况(如实体间关系抽取),需加入侧重点信息增强模型性能,如 CNN 关系抽取在输入时加入 Lexical Level 及 position 特征,将相关特征融入句表示进行分类。
图结构文本分类
图卷积分类步骤与示例
图卷积神经网络文本分类通过构建原文本与附加信息的关系图来提取有效特征表示。步骤包括 Graph 构建(根据附加信息如词的近义、共现、先验知识等构建不同图结构)、文本 Graph 节点特征表示(可采用一般词向量、ELMO 词嵌入、Bi - LSTM 词向量嵌入、词袋词频等方法)、图卷积算法(根据任务构建不同算法,如一般图卷积、加入注意力机制的图卷积等)。以对描述水的文本分类为例,展示了从文本到构建图、选择节点表示方法,再到应用图卷积算法进行分类的全过程。
三、 文本匹配
任务概述与相关任务
任务定义与匹配方法
文本匹配研究两段文本间关系,广义上包含多种任务,如复述识别(判断两段文本语义是否相同,可建模为二分类问题)、文本蕴含识别(判断前提文本与假说文本关系,可建模为多分类问题)、问答(根据问题在段落或文档中查找答案,可建模为分类或排位问题)、对话(需考虑历史轮对话,建模为分类或排位问题)、信息检索(计算相似度和排序,建模为排位问题)。其匹配方法包括统计方法(基于特征工程 + 算法,如 PRanking、margin、SVM、LR 等,焦点在于人工提取特征和设置学习算法)和深度学习方法(自动提取词语关系特征,结合短语匹配结构信息和文本匹配层次化特性,包括基于单语义文档表达的孪生网络方法和基于多语义文档表达的交互聚合方法)。
孪生网络方法
基于 CNN 和 RNN 的模型
孪生网络方法主要思路是将单个文本表达成稠密向量后计算向量间相似度作为匹配度。例如 ARC - I(基于 CNN),通过对句子 A 和 B 进行 padding、卷积 + 池化运算、拼接向量,再用多层感知机计算匹配度,其特点是将句子编码成句向量后分类,未体现句子间交互操作; CDNN(基于 CNN)引入相似矩阵,计算过程包括分别做卷积 + 池化得到句向量、计算相似度、计算其他特征、拼接后输入多层感知机得到匹配度; InferSent(基于 RNN)则是将 A、B 分别通过 BiLSTM - Max 表示成句向量,再将句向量交互运算后输入多层感知机计算匹配度。
交互聚合方法
基于 RNN 和 Attention 的模型
交互聚合方法需建立多语义表达,让两段文本尽早交互,挖掘交互模式特征以综合得到匹配度。例如 ESIM(基于 RNN 和 Attention),把句子 X/Y 表达成词向量序列,经 BiLSTM 编码后相互计算 Attention 得到交互矩阵,再将权重化词表示与 Attention 值交互计算,经第二层 BiLSTM、Max - Pooling 和 Aver - Pooling 串联结果后输入多层感知机得到匹配度,其优势在于 Attention 机制能更好地建模句子关系;BiMPM(基于 RNN)采用双向多角度匹配和 matching - aggregation 结构,计算两个句子间单元相似度,最后经全连接层与 softamx 层得到结果,包含 Word Representation Layer、Context Representation Layer、Matching Layer、Aggregation Layer、Prediction Layer 五部分;R - NET 模型在机器阅读理解任务中,通过 Output Layer、Self - Matching Layer、Matching Layer、Question Attention、GRU Layer 等层实现交互耦合表示,根据文章和问题计算答案。
四、 序列标注
问题概述与示例
任务定义与应用场景
序列标注问题是将输入语言序列转化为标注序列,许多自然语言处理问题如实体识别、词性标注、分词、短语识别、依存分析、语义角色标注、信息抽取等均可转化为序列标注问题,是分类问题的推广。 例如在实体识别中,需从给定序列中识别出人名、组织机构名、军事术语等目标片段;词性标注则是给输入序列中的词标上词性标签。其建模通过定义标注序列标签含义来解决问题,如命名实体识别中对人名、组织机构名等采用特定的标注方式(如 B - 词首、I - 词中、E - 词尾、O - 单个词等)。
隐马尔科夫模型(HMM)
马尔科夫模型基础
马尔科夫模型由状态集合、状态转移概率矩阵和初始状态向量组成,用于描述系统状态随时间(空间)推移的转移过程,系统在 t 时间的状态只与 t - 1 时间的状态相关,构成离散的一阶马尔可夫链。其模型输出为状态序列的概率值,可通过状态转移概率矩阵计算,如预测天气变化的例子中,根据给定的天气状态集合、初始状态和转移概率矩阵,计算特定天气序列出现的概率。
隐马尔科夫模型原理与应用
隐马尔科夫模型(HMM)是双重随机过程,状态转换过程不可观察,通过可见的观察序列揭示内在状态规律。它由隐藏状态集合、观察值集合、状态转移概率矩阵、观察概率矩阵和初始状态概率分布组成,具有马尔可夫性、不动性和输出独立性假设。HMM 的应用包括评估问题(计算给定观察序列的概率,如通过前向算法利用动态规划降低计算复杂度,计算连续多天海藻湿度观察结果对应的天气序列概率)和解码问题(选择最能解释观察序列的状态序列,如用 Viterbi 搜索算法找到最可能的天气序列)。此外,HMM 在统计自然语言处理中有广泛应用,如分词(可视为评估或解码问题)、词性标注(相当于解码问题)等,但 HMM 等生成式模型存在需列举所有观察序列可能值困难、输出独立性假设不能考虑上下文特征等问题,为此引入最大熵模型和条件随机场等改进方法。
神经网络序列标注模型
双向 RNN + softmax 模型
神经网络序列标注模型架构包括输入层(将离散特征转变为低维稠密向量并组合)、表示层(由神经网络模型生成特征表示)和标签解码(由预测标签模型生成预测标签)。双向 RNN + softmax 模型结构中,正向隐藏层和反向隐藏层分别计算,输出层通过 softmax 得到标签分布,模型学习采用有监督方式,定义交叉熵损失函数,用 BPTT 算法训练参数(如在人名标注任务中,根据训练数据和标签集训练模型),但该模型存在输出独立的问题,可能导致标注结果不准确。
双向 RNN + CRF 模型
针对 BiRNN + softmax 模型输出独立的问题,双向 RNN + CRF 模型通过建立输出之间的关系进行改进。模型结构中加入 CRF 层,学习标签间的转移概率,优化目标是使生成序列的概率最大,采用交叉熵损失函数,用 BPTT 算法训练参数。实验结果表明,BI - LSTM 与 CRF 结合的方法在多项任务上表现较好,如在 POS、CoNLL2000、CoNLL2003 等任务中的标注性能优于其他模型。
五、 序列生成
1. 任务概述与基本概念
任务定义与分类
序列生成问题在 NLP 中应用广泛,如机器翻译、自动文摘、机器阅读理解、对话生成等。其任务是根据输入生成特定序列,可分为自回归序列生成(用历史序列信息预测下一个值)和条件序列生成(根据输入内容生成序列),还有可控序列生成(根据输入生成符合特定属性的序列)。主流的 Seq2Seq 模型基于 Encoder - Decoder 框架实现,按输出生成方式可分为纯生成式模型(Decoder 根据编码端和先前输出生成词表 token 概率分布)、选择式模型(Decoder 从输入端选择 token 作为输出)和选择 - 生成式模型(结合前两种方式,可处理输出端 OOV 问题)。
2. 序列生成模型分类
1. 深度学习法建模
学习算法——监督模式
监督模式与训练策略的关系
监督模式可以说是一种模型训练的策略或范式。它规定了模型在训练过程中如何利用数据来学习,即通过给定输入数据和对应的标注信息,让模型学习输入与标注之间的映射关系,从而使模型能够在面对新的输入时做出准确的预测或决策。
有监督训练
定义
在有监督训练中,模型的训练数据是带有标注信息的。例如,在图像分类任务中,每张图像都被明确标注了它所属的类别(如猫、狗、汽车等);在文本情感分析任务中,每段文本都被标注了是正面情感、负面情感还是中性情感。
训练过程
模型通过学习输入数据(如图片、文本等)和对应的标注信息之间的映射关系来进行训练。模型的目标是最小化预测结果与标注信息之间的差异,例如使用交叉熵损失函数等。通过不断调整模型参数,使得模型在给定输入时能够尽可能准确地预测出对应的标注信息。
优点
由于有明确的学习目标(即标注信息),模型能够较快地学习到特定任务的相关知识和模式,在有足够标注数据的情况下,通常可以达到较好的性能。
缺点
标注数据的获取往往需要耗费大量的人力、物力和时间,尤其是对于一些复杂的任务,标注数据可能非常有限,这会限制模型的性能和泛化能力。
无监督训练
定义
无监督训练的数据是没有任何标注信息的。模型需要从原始数据中自动发现数据的内在结构、模式或规律。例如,在聚类任务中,模型需要将相似的数据点自动聚成不同的类别,但这些类别是没有预先定义的;在降维任务中,模型需要将高维数据映射到低维空间,同时尽可能保留数据的重要信息和结构。
训练过程
通常基于一些假设和目标函数来进行训练。例如,在聚类任务中,可能使用基于距离的度量来衡量数据点之间的相似性,并通过优化目标函数(如最小化类内距离、最大化类间距离等)来确定聚类结果;在自编码器(一种常见的无监督学习模型)中,通过最小化输入数据和重构数据之间的差异来学习数据的压缩表示和特征。
优点
不需要标注数据,能够利用大量的无标注数据来学习数据的潜在特征和模式,这些特征可能对后续的各种任务都有帮助,并且可以发现一些未知的、有价值的信息和结构。
缺点
由于没有明确的学习目标,模型的训练过程可能比较困难,需要设计合适的目标函数和算法,并且模型学习到的信息可能比较抽象和难以解释,不一定能够直接应用于特定的有监督任务。
自监督训练
定义
自监督训练可以看作是无监督训练的一种特殊形式,它通过利用数据本身的结构或特征来自动生成监督信号,从而让模型进行学习。例如,在图像领域,可以将一张图片的一部分遮挡住,然后让模型根据未遮挡的部分来预测被遮挡的部分,这里未遮挡部分就是输入,被遮挡部分的真实值可以从原始图片中获取,从而形成了一个自监督的学习任务;在自然语言处理中,可以将句子中的某个单词或短语屏蔽掉,让模型根据上下文来预测被屏蔽的内容。
训练过程
与有监督训练类似,模型通过最小化预测结果与自动生成的监督信号之间的差异来进行训练。但这里的监督信号是从数据本身产生的,不需要人工标注。
优点
兼具了有监督训练和无监督训练的一些优点。一方面,它不需要人工标注大量的数据,能够利用大量的无标注数据进行训练;另一方面,由于有了明确的自监督学习任务和监督信号,模型的训练过程相对无监督训练更容易,并且能够学习到与具体任务相关的有用特征和知识,这些特征可以通过迁移学习等方式应用于其他相关任务,提高模型在这些任务上的性能。
缺点
自监督任务的设计需要对数据和任务有深入的理解,设计不当可能导致模型学习到的特征不够有用或存在偏差。并且,虽然不需要人工标注,但可能需要对数据进行一些预处理或构造特定的任务形式,这也需要一定的工作量和技巧。
半监督学习
定义
半监督学习是介于有监督学习和无监督学习之间的一种学习方式。它同时使用有标注数据和无标注数据进行训练。通常情况下,有标注数据量相对较少,而无标注数据量较大。
训练过程
模型首先利用无标注数据进行初步的学习,例如通过聚类等无监督方法对数据进行分组,挖掘数据的潜在结构和模式;然后,结合有标注数据,对模型进行进一步的微调,使模型能够更好地适应具体的任务和标注信息。
优点
可以有效地利用大量的无标注数据来辅助有标注数据进行学习,在一定程度上缓解了有监督学习中标注数据不足的问题,同时又比无监督学习更有针对性,能够利用少量标注数据引导模型学习到更符合任务需求的知识和模式。
缺点
如何有效地结合有标注数据和无标注数据是一个挑战,需要设计合适的算法和策略,否则可能无法充分发挥两种数据的优势,甚至可能导致模型性能下降。
2. 模型结构
2.1 纯生成式模型
基本 RNN 架构
RNN + 注意力架构
Transformer 架构
词表问题 解码问题 训练问题
2.2 子主选择生成式模型
指针网 (Pointer network)
2.3 选择 - 生成式模型
PG - Ne
3. 训练策略
3.1 自编码
3.2 对抗生成
模型策略(扩展与全局总结)
一、卷积神经网络(CNN)策略
局部连接与权值共享
CNN 的核心特点之一,通过局部感受野来提取局部特征,并且在不同位置共享权重,大大减少了模型的参数数量,同时对平移具有一定的不变性。例如在图像分类中,卷积层可以自动学习到图像的边缘、纹理等局部特征,随着网络层数的增加,能够组合这些局部特征形成更复杂的抽象特征,从而实现对图像的准确分类。
池化操作
通常有最大池化、平均池化等方式,用于对卷积层输出的特征图进行下采样,减少数据维度,同时保留主要特征,并且具有一定的平移和旋转不变性,有助于提高模型的泛化能力和计算效率。
二、循环神经网络(RNN)及其变体策略
门控机制(如 LSTM 和 GRU)
LSTM(长短期记忆网络)
引入了输入门、遗忘门和输出门,通过这些门来控制信息的流动和记忆的更新。输入门决定哪些新信息可以进入细胞状态,遗忘门决定哪些旧信息可以从细胞状态中遗忘,输出门则控制细胞状态中的哪些信息可以输出到下一个隐藏状态。这样可以有效地解决 RNN 在处理长序列时的梯度消失和梯度爆炸问题,更好地捕捉长距离的依赖关系。例如在语言模型中,能够根据前面的句子内容准确预测后面的单词,或者在语音识别中,处理连续的语音信号序列。
GRU(门控循环单元)
将 LSTM 中的输入门和遗忘门合并为更新门,同时还有一个重置门,简化了模型结构,但仍然能够有效地捕捉序列信息和长期依赖。在一些对计算资源要求较高的场景下,GRU 可以在保证性能的同时提高计算效率。
双向 RNN
在处理序列数据时,不仅考虑从前到后的信息传递,还考虑从后到前的信息传递,然后将两个方向的隐藏状态进行组合,作为最终的输出。这样可以更好地利用序列的上下文信息,提高模型的性能。例如在命名实体识别任务中,双向 RNN 可以根据前后文更准确地识别出实体的边界和类型。
自回归
常用于生成式模型中,例如在语言模型中,根据前面的词依次预测下一个词,逐步生成文本。在循环神经网络中,自回归可以通过隐藏状态的传递和更新来实现,每次输出一个词后,将其作为下一次输入的一部分,继续预测下一个词,从而生成完整的文本序列。
三、注意力机制(Attention Mechanism)策略
自注意力(Self-Attention)
在 Transformer 模型中广泛应用,它允许模型在处理序列数据时,为每个位置的元素分配不同的注意力权重,根据输入序列中各个元素之间的相关性来动态地计算表示。例如在机器翻译中,源语言句子中的每个单词可以根据与其他单词的相关性来调整其在翻译过程中的重要性,从而生成更准确的目标语言句子。
多头注意力(Multi-Head Attention)
将自注意力机制分成多个头,每个头学习不同的注意力模式,然后将这些头的输出进行拼接或加权平均,进一步丰富了模型对输入信息的表示能力,能够捕捉到更丰富的特征和关系。在自然语言处理、计算机视觉等领域都有很好的效果,例如在文本分类中,可以更好地捕捉句子中不同词语之间的复杂关系,提高分类准确性。
四、生成对抗网络(GAN)策略
对抗训练
由生成器和判别器组成,生成器的目标是生成尽可能逼真的数据以欺骗判别器,判别器则试图区分真实数据和生成器生成的数据。通过两者的不断对抗训练,生成器逐渐提高生成数据的质量,判别器也不断提高判别能力,最终达到一个动态平衡,生成器可以生成高质量的、接近真实分布的数据。例如在图像生成中,可以生成逼真的人脸图像、风景图像等;在文本生成中,生成自然流畅的文本内容。
条件生成
在生成对抗网络的基础上,引入条件信息,如类别标签、文本描述等,使生成器能够根据给定的条件生成特定类型或符合特定要求的数据。例如根据给定的文本描述生成相应的图像,或者根据给定的主题生成相关的文本内容。
五、自编码策略
基本自编码器
由编码器和解码器组成,编码器将输入数据映射到低维的潜在空间表示,解码器再将潜在空间表示重构回原始数据空间。通过最小化重构误差来训练模型,使得编码器能够学习到数据的压缩表示,解码器能够根据压缩表示尽可能准确地恢复原始数据。自编码器可用于数据降维、特征提取、数据去噪等任务。例如在图像数据中,自编码器可以学习到图像的低维特征表示,同时能够根据这些特征重建出原始图像,可用于图像压缩或作为其他任务的预处理步骤。
变分自编码器(VAE)
在基本自编码器的基础上,对潜在空间的分布进行约束,通常假设潜在变量服从高斯分布。通过引入重构损失和潜在空间的正则化项(KL 散度)来训练模型,使得模型不仅能够重构数据,还能够学习到数据的概率分布。VAE 可以用于生成新的数据样本,通过从潜在空间的分布中采样,然后通过解码器生成新的数据。例如在图像生成中,VAE 可以生成与训练数据相似但不同的新图像。
六、迁移学习策略
模型微调(Fine-tuning)
将在大规模数据集上预训练好的模型(如在 ImageNet 上预训练的图像分类模型,或在大规模文本语料上预训练的语言模型),应用到特定的任务或数据集上时,通过使用新任务的少量标注数据对模型的部分或全部参数进行微调,使模型能够适应新的任务和数据分布。这样可以大大减少对新任务标注数据的需求,同时利用预训练模型学到的通用知识和特征,提高模型在新任务上的性能和收敛速度。例如将预训练的 BERT 模型用于特定领域的文本分类任务,通过微调可以快速获得较好的分类效果。
特征提取
将预训练模型作为特征提取器,固定模型的大部分参数,只使用模型的中间层输出作为新任务的输入特征,然后在这些特征的基础上训练一个简单的分类器或其他模型来完成特定任务。这种方式在数据量较少或计算资源有限的情况下比较适用,可以利用预训练模型强大的特征提取能力,同时避免过拟合。例如在图像识别中,使用预训练的 CNN 模型提取图像的特征,然后用这些特征训练一个线性分类器进行图像分类。
七、集成学习策略
模型集成
将多个深度学习模型(可以是相同结构但不同初始化或训练过程的模型,也可以是不同结构的模型)的输出进行组合,如平均、投票等方式,得到最终的预测结果。通过集成多个模型,可以降低单个模型的方差和偏差,提高模型的稳定性和准确性。例如在图像分类竞赛中,将多个卷积神经网络模型的预测结果进行集成,往往可以获得比单个模型更好的成绩。
知识蒸馏
将一个复杂的大型模型(教师模型)的知识迁移到一个简单的小型模型(学生模型)中。教师模型通常是在大规模数据上训练得到的高性能模型,学生模型通过学习教师模型的输出分布或中间特征表示等,在保持一定性能的前提下,降低模型的复杂度和计算成本,便于在资源受限的设备上部署和应用。例如将一个大型的语言模型蒸馏成一个小型的模型,用于移动设备上的自然语言处理任务。
4. 序列生成模型评价指标
5. 序列生成模型存在问题
3. 纯生成式模型
基本 RNN 架构与问题
基本 RNN 架构在序列生成中,根据输入序列通过 Encoder 和 Decoder 生成输出序列,函数关系明确,参数包括 Encoder 和 Decoder 的网络参数。模型学习采用有监督方式,通过交叉熵损失函数和 BPTT 算法训练参数。但存在问题,如在翻译任务中,对不同输出的中间语义表示相同,未体现输入对不同输出词的影响差异。
Encoder-Decoder 框架
Encoder-Decoder 框架RNN
RNN + Attention 架构与改进
RNN + Attention 架构通过引入注意力机制解决上述问题,使 Decoder 在生成时能关注输入序列不同部分。模型结构中,Attention 计算方式多样,如通过不同函数计算 Query 与 Key 的关系,经 softmax 归一化得到权重,再计算加权和得到上下文向量。BiLSTM + Attention 模型中,编码器采用双向 RNN,解码器采用单向 RNN,通过注意力机制计算上下文向量参与解码。模型学习优化目标是最大化生成序列的概率,实验结果显示加 Attention 模型在句子翻译中效果优于不加的,且鲁棒性较好,同时展示了注意力机制的双语对齐可视化效果。此外,还介绍了解码策略改进方法,如使用二次解码策略(推敲网络)、引入包含未来信息的状态表示、使用价值网络评估解码未来代价、利用句法信息增强解码能力、采用非回归解码方法加快解码速度等。
Transformer 架构与应用
Transformer 架构全部采用 Attention 机制,克服了 RNN 无法并行计算的缺点,可高度并行训练,具有捕捉长距离依赖的能力。模型结构中,编码端和解码端均有多层 Attention 堆叠,包含不同子层,如编码端有 Multi - head attention 和 Feed Forward Network,解码端有 Multi - head attention、cross - attention 和 Feed Forward Network,且在解码端通过特定方式计算输出。训练时采用并行方式,预测时编码端并行、解码端串行,利用 Teacher Forcing 策略,通过交叉熵损失函数训练,同时介绍了训练中的掩码技术(Padding Mask 处理非定长序列问题,Sequence Mask 防止标签泄露)。在应用中,以翻译任务为例说明了预测过程,从输入句子到编码、解码,逐步生成输出句子。
4. 生成式模型基本问题
i. 解码问题
ii. 词表问题
iii. 训练问题
六、 选择式模型
指针网络 (Pointer network)模型结构与应用
模型结构与特点
纯生成模型存在输出词表固定、无法处理动态变化问题,选择式模型(如指针网络)则用于解决此类问题,其输出是输入的子集。指针网络模型结构中,输入序列经编码后,解码端通过计算与编码端隐状态的关系得到概率分布,选择概率最大元素输出,同时作为下一个输入产生下一个隐状态,重复此过程直至输出结束符号。参数包括 RNN 参数和 Attention 参数,模型学习优化目标是使目标词对应概率最大,预测时从概率分布中选择最大概率的词。
应用场景与实例
指针网络在 NLP 领域有广泛应用,如文本摘要、阅读理解等从输入序列选输出序列的任务,也适合解决 OOV 问题。以机器阅读理解任务中的 R - NET 模型为例,其输出为指针网形式(起点和终点),通过交互耦合表示(匹配),结合文章和问题计算答案。
七、 选择 - 生成式模型
指针生成器网络PG - Ne原理与结构
模型改进思路与结构组成
指针网络输出必须是输入序列中的词元,无法处理输出需产生输入词元以外词的情况,指针生成器网络将编码 - 解码 + 注意力模型和指针网结合进行改进。其模型结构包括编码 - 解码 + 注意力部分(通过双向 LSTM 单元计算输出端词表概率分布)、指针网部分(计算输入端词的概率分布),在时刻 t 通过计算生成概率门控 p_gen,融合生成网和指针网的词概率分布得到最终概率分布,使输出既可从输入端标识词典产生,也可从输出端标识词典产生,可处理 OOV 问题并生成高质量摘要。
八、 训练策略
自编码模型原理与类型
自编码概念与模型结构
自编码作为神经网络结构用于无监督学习,通过编码器和解码器求解输入空间和特征空间的映射,使输入和输出相同,编码器输出的隐含层特征可视为输入数据的表征。自编码器类型包括普通自编码器(可用于降维)、Deep Auto - encoder(深度自编码器,可加深网络结构)、变分自编码模型(VAE,从正态分布采样,解决普通自编码器问题)、De - noising auto - encoder(去噪自编码器,通过添加噪声增强鲁棒性)。
生成对抗网络(GAN)原理与训练过程
GAN 基本思想与组成
生成对抗网络(GAN)由生成器(根据输入产生输出)和判别器(判别数据是生成器产生还是真实数据)组成,基本思想是通过两者对抗逐步进化。GAN 训练过程包括生成器产生数据、对数据标注、训练判别器、训练生成器(固定判别器,调整生成器参数使输出被判别为 “真实”),并不断重复这些步骤。
九、 序列生成模型评价指标与问题
评价指标定义与计算方法
正确率与召回率
序列生成模型评价指标包括正确率(precision,测试结果中正确切分个数占系统所有输出结果的比例)和召回率(Recall ratio,测试结果中正确结果个数占标准答案总数的比例),用于衡量模型生成结果的准确性。
BLEU 与 ROUGE
BLEU 衡量模型生成序列与参考序列之间 N 元词组的重合度,通过计算不同长度 N 元组合的精度并几何加权平均得到,引入长度惩罚因子解决生成序列过短导致精度虚高问题,取值范围是 [0, 1],值越大生成质量越好,但只计算精度不关心召回率。ROUGE 最早应用于文本摘要领域,计算召回率,通过计算候选序列与参考序列中 n 元组的匹配情况来衡量。
9.2 模型存在问题与解决方法
曝光偏差问题
序列生成模型存在曝光偏差问题,自回归生成模型训练时使用真实数据前缀,而预测时使用模型生成的前缀,导致模型生成分布与真实数据分布不一致,错误会传播。解决方法如 Scheduled Sampling,在训练过程中混合使用真实数据和模型生成数据,控制替换率,随着训练次数增加逐渐减小使用真实数据的概率。
训练 - 评价目标不一致问题
序列生成模型训练采用最大似然估计,而评价使用如 BLEU、ROUGE 等任务相关指标,导致训练目标和评价方法不一致,且这些评价指标不可微,无法直接用梯度方法优化。解决思路是将自回归序列生成看作马尔可夫决策过程,采用强化学习策略训练模型,学习一个策略使期望回报最大,可融入 BLEU、ROUGE 等评价指标。
10、自然语言处理应用
1. 信息抽取
1. 信息抽取概述
1.1 定义与任务
信息抽取是从自然语言文本中抽取指定类型的实体、关系、事件等事实信息并形成结构化数据输出的技术,是知识抽取等任务的基础,主要包括实体识别、关系抽取、事件抽取等子任务。
1.2 发展历史
信息抽取技术的研究可追溯到 20 世纪 60 年代中期,经历了从早期项目到因 MUC 会议召开而蓬勃发展的过程,其语料从限定领域文本逐渐扩展到 Web 页面等,类别从有限类别发展到开放类别,与真实世界的关联也不断增强,相关评测会议推动了其发展并促使其成为自然语言处理的重要分支。
1.3 任务分类
根据实体、关系、事件的复杂程度和抽取范围,信息抽取任务可分为多种类型,如传统命名实体识别、复杂命名实体识别(包括嵌套实体和非连续实体)、关系抽取(有监督、远程监督、开放域等)、事件抽取(句子级和文档级)以及联合抽取等,不同类型的任务具有不同的特点和难点。
2. 命名实体识别
2.1 传统命名实体识别
2.1.1 任务特点
限定识别七类命名实体(人名、机构名、地名、时间、日期、货币和百分比),目标文本为封闭文本语料,实体由句子中连续的片段构成,任务可分为发现命名实体(实体边界识别)和分类命名实体(确定实体类别)两个子任务。
2.1.2 识别方法
包括规则方法(人工编制规则,如匹配 Email 地址、日期等)、基于统计方法(看作序列标注问题,利用特征工程和算法,主要模型有 MEMM、HMM、CRF 等)和基于神经网络方法(同样看作序列标注问题,利用神经网络自动提取特征,主要模型有 CNN + RNN、RNN + CRF、BERT 等)。
2.2 复杂命名实体识别
2.2.1 嵌套实体
实体之间存在嵌套结构,常用数据集有 NNE、ACE04、ACE05、GENIA 等,识别方法包括基于序列转换(堆叠平面 NER 层识别不同层实体)、基于 span 分类(枚举所有可能的实体 span 并分类)、基于任务转换(如转换成阅读理解或依存树解析任务)等。
2.2.2 非连续实体
实体由非连续的片段组成,识别方法有基于序列标注、基于超图、基于转换(将其转成生成任务,用指针网络生成非连续实体)、基于 span 分类等,基于任务转换的方法是将非连续实体识别转成生成任务,通过指针网络生成所有的非连续实体。
2.3 统一命名实体识别
基于生成式框架将简单、扁平实体抽取、嵌套实体抽取和不连续实体抽取统一到同一框架实现,使用指针网络将标注任务转化为序列生成任务,模型输出包括实体片段的起始和结束位置以及标签,提出了三种基于索引指针的实体表示方法(Span、BPE、Word 粒度),实验结果表明在不同类型实体识别上具有一定性能表现。
3. 关系抽取
3.1 有监督关系分类
3.1.1 任务定义
在命名实体识别后进行,给定文本和其中的实体,判断实体间的关系,关系分类实例展示了如何根据输入句子判断实体间的关系,如判断 “people” 和 “downtown” 之间的关系为 “Entity - Destination”。
3.1.2 分类方法
包括基于规则的方法(利用词汇、句法、语义等特征构建规则,如上下位关系规则,曾在 MUC - 7 中取得较好成绩)和基于深度学习的方法(如 BiLSTM + Attention 模型,通过 RNN 和 Attention 进行关系分类,输入使用实体指示符突出实体位置;用 BERT 进行关系分类,将 BERT 抽取的特征与两个实体相对应的 embedding 等三个特征拼接,接全连接层和 softmax 层输出关系分类)。
3.2 远程监督关系抽取
通过文本与知识库对齐获取训练数据,存在假正例和假负例噪声问题。基于深度学习的方法包括隐式处理噪声(如软加权)、显式处理噪声(检测并处理噪声样本)和外部信息辅助(结合图谱补全或其他信息)。具体模型有 CNN+ATT(利用 CNN 编码和句子级注意力机制)、GPT+ATT(用 GPT 编码和注意力机制)以及基于深度强化学习(生成假正例指示器重建数据集)。
3.3 实体关系联合抽取
分为流水线式抽取(先进行实体识别,再抽取实体间关系,存在错误传播、冗余和未利用子任务间关系等问题)和联合式抽取(端到端同时进行实体和关系抽取,包括基于新标注策略将关系抽取转化为序列标注问题、基于统一表示建模为实体和关系建立统一表示并基于 Transformer 编码等方法)。
3.4 开放域关系抽取
实体间关系分类不明确,通过关系指示词描述关系,任务是从文本中抽取出所有可能的关系三元组,方法包括基于学习(借助模板、启发式规则)、基于规则(人工制定规则、词性序列模板、依存解析树模板)、基于句子(将复杂句转换为简单句再用基于模板的方法)和基于深度学习(如使用开源系统抽取训练集,再用抽取式或生成式模型进行三元组抽取,具体模型有 CopyAttention 系统将三元组抽取转化为序列生成任务、Multi2OIE 系统采用 BERT + Multihead 架构先预测关系再抽取实体),难点包括缺乏标注数据、依赖外部工具、实体识别精度和召回率低、泛化性差以及处理长难句能力不足等。
3.5 关系抽取资源列表
介绍了一些关系抽取相关的资源,如数据集、工具等,这些资源有助于研究者进行关系抽取的研究和实践,例如某些数据集可用于模型训练和测试,特定工具可辅助进行关系抽取任务。
4. 事件抽取
4.1 概述
事件是特定时间和地域内由角色参与动作组成的事情或状态改变,事件抽取是从文本中抽取出事件信息并以结构化形式呈现,相关概念包括事件描述、触发词、元素、角色和类别,任务包括触发词识别、类型分类、元素识别、角色分类等,可分为 Pipeline Approach(依次求解子任务,简化但有级联错误)和 Joint Approach(同时提取所有信息,能产生双向信息流交互,但模型复杂且泛化性能差),主要挑战包括特征表示缺乏深层次语义信息、抽取范围扩大后面临长距离依赖和多事件挑战、抽取领域扩展到开放域考验模型对未知事件类型的抽取能力以及数据标注困难等。
4.2 句子级事件抽取
输入句子输出事件的触发词、类型、元素和角色等信息,方法包括基于模式匹配(通过模式获取和匹配抽取事件,在特定领域表现好但可移植性差、召回率低且需大量人力标注)、基于概率统计(利用特征工程和分类器,如 SVM 等,减轻模式设计工作但特征工程耗时且在学习复杂关系上有局限)和基于深度学习(可捕获复杂关系,避免大量特征工程,但依赖高质量标注数据和众多参数设置)。
4.3 文档级事件抽取
为获取更全面跨句事件信息而产生,面临事件元素分散和多事件等挑战,模型有 DCFEE(进行句子级序列标注,基于事件中心句用周围句元素补充)、BartGenn(为事件类型编写模板,生成模板中占位符位置的事件元素)、PAIE(利用提示调优抽取目标,引入基于提示的 span 选择器选择论元开始 / 结束标记)、HyRA(从输入和标签分布视角探究检索设置,通过采样伪样例提高事件语义理解和文本生成能力)等。
4.4 事件抽取发展趋势
事件抽取从句子级向篇章级发展,面临更多复杂场景和问题,未来研究方向包括小样本、多语言、模型领域迁移事件抽取以及基于事件抽取的事理图谱研究等。
5. 联合抽取
5.1 DyGIE
基于动态片段图的联合抽取模型,用统一框架实现命名实体识别和关系抽取,通过构造 span 图辅助信息传播,建立多任务交互(共指解析为辅助任务),方法包括枚举 span 计算向量表示、构建动态 span 图整合全局信息、拼接 span 表示预测实体类型、关系类型和共指链接。
5.2 OneIE
基于全局特征的联合抽取模型,构建端到端神经 IE 框架,显式建模跨子任务和跨实例依赖关系,将结果预测为统一图,方法包括编码(用 BERT)、识别(用 FFN + CRF 识别实体提及和事件触发词)、分类(针对任务设计 FFN 计算节点表示并分类)和利用 Beam Search 进行局部解码。
6. 大模型时代下的信息抽取
6.1 基于 LLM 的信息抽取范式
大模型时代信息抽取范式发生转变,提示工程成为关键。通过精心设计 prompt,将信息抽取任务转化为适合大模型处理的形式,实现任务定制。例如,为不同的抽取任务构建特定的任务描述和示例,引导大模型理解并执行信息抽取操作。
6.2 具体模型及方法
GPT - NER
将序列标注任务转化为生成任务。通过构建包含任务描述和少样本样例的 Prompt,提供给 LLM,然后将输出序列转化为实体标签序列,利用特殊标记符号标识实体。
GPT - RE
致力于弥合 LLM 和完全监督基线之间的差距。采用实体感知检索,附加实体对提示到句子中并获取微调 RE 模型的表示;同时进行黄金标签诱导推理,在样例中纳入推理步骤解释分类标签,从而提升关系抽取的准确性。
ChatIE
基于 ChatGPT 将 Zero - shot IE 任务分解为两个阶段,以多轮对话形式进行。先找出句子中可能存在的元素类型,再对各元素类型进行链式信息提取,在多个数据集上的实验表明多轮对话效果优于单轮 prompt,且在部分数据集上表现出色。
Filter - Ranker
基于大小模型协同工作。前置实验发现 LLM 擅长处理难样本,SLM 擅长简单样本。对于简单样本,直接用小模型抽取和输入;对于难样本,小模型输出 Top - N 预测结果以多选题形式交给大模型重排序后输出最终结果。
InstructUIE
基于 Instruction tuning 技术构建统一信息抽取框架。为 NER、RE、EE 任务分别编写指令模板,将任务形式化为 seq2seq,混合训练数据微调 LLM,后接不同任务测试。在多个数据集上取得了与 BERT 监督学习可比的效果,zero - shot 能力达到 SOTA。
6.3 小结与展望
大模型的能力促使信息抽取模型向通用抽取模型发展,应用范围不断拓展,从限定域到开放域、单模态到多模态、简单抽取到复杂抽取(如表格、推理相关)。在 PLM 时代,检索增强有用,可通过数据增广解决样本少的问题;LLM 时代则可基于大模型 API 设计更优 prompt 实现高效定制。 展望未来,信息抽取在智能信息处理系统中的地位重要,若用户需求为信息抽取,技术优化潜力大;若用户需求需利用信息抽取,虽可能被大模型端到端取代,但仍需考虑干预、寻证、推理等因素。
2. 问答系统
1. 问答系统概述
1.1 人工智能起源与问答系统定义
图灵测试是问答系统最早构想,问答系统成为衡量机器智能的标准。它是人与计算机交互过程,通过自然语言查询从资源中检索信息生成答案。
1.2 QA 系统发展历程
经历计算语言学、AI、基于问题答案对时期,从限定领域向开放领域发展,处理数据从结构化到非结构化,研究范围不断扩大。
1.3 问答系统处理框架与问题解决方法变化
处理框架包括问题理解、资源分析、答案形成,不同发展阶段对这三个问题的解决方法随数据资源变化而不同,形成不同类型问答系统。
2. 专家系统(60 年代 - 80 年代)
2.1 特点与局限性
基于结构化领域知识数据,问题限定领域,通过将问题转化为 SQL 查询从数据库获取答案,但一般只能用于限定领域。
2.2 实例
如 BASEBALL 和 LUNAR 系统,分别在棒球比赛和月球岩石数据分析领域成功,但早期系统需大量人力、领域有限且依赖计算语言学技术。
3. 检索式问答系统(1990 - )
3.1 系统处理框架
3.1.1 问题分析
检测问题类型(如事实型、定义型、复杂型)、答案类型、关注点、关系等,将问题改写为查询输入搜索引擎,包括问题分类(多种分类方法及实现方式)和关键词提取(根据问题分类用序列标注法抽取检索关键词)。
3.1.2 文档与段落检索
通过文档切分(如按句子、段落或子话题分割)检索相关文档,再用特征匹配(词个数、余弦相似度、深度学习匹配)检索句段。
3.1.3 答案抽取
在相关片段中抽取备选答案并排序,实现方法有基于抽取模式匹配、多特征统计机器学习、深度学习等。
3.2 系统实现方式
3.2.1 流水线方式
分文档检索和文档理解两部分,如 DrQA 用 TF - IDF 检索维基百科文档,Document Reader 将答案抽取转化为阅读理解问题;Evidence Aggregation for Answer Re - Ranking in Open - Domain Question Answering 研究问题 - 答案分析及解决方法(包括 strength - based re - ranker 和 coverage - based re - ranker 及融合打分),并指出进一步探索方向。
3.2.2 端到端方式
包括 Retriever - Reader 联合学习(如 ORQA 是第一个端到端检索式 QA 模型,解决训练数据和检索挑战,存在技术挑战及相应解决思路,如逆向填空预训练任务 ICT)和基于预训练的 Retriever - Free 方法(探讨能否用预训练语言模型代替文档存储知识,如 GPT - 2、T5、ChatGPT 和 GPT - 4 等模型在问答任务中的表现及特点)。
4. 社区问答系统
4.1 任务定义与典型系统
根据用户问题在社区找答案,中文有知乎等,英文有 Yahoo! Answers 等,问题包含标题、描述,答案多个且有主观类型,包含丰富元数据但文本长、噪声多、质量差距大。
4.2 处理框架与特点
包括问题分析、信息检索(找相似问题返回答案或列表)、答案抽取(判断答案质量,传统及最新解决方法),特点是有大量主观问题、答案多且无标准答案,能解决个性化等问题,用户能提供高质量答案且知识不断积累,但目前研究较少。
5. 知识库问答系统
5.1 任务与解决方法
给定自然语言问题,通过语义理解和解析利用知识库查询、推理得出答案,解决方法包括语义解析(将自然语言转化为逻辑形式查询知识库)、信息抽取(提取实体获取子图,根据问题特征筛选答案)、向量建模(对问题和候选答案编码,通过得分筛选答案,有优缺点),最新研究方向是融合文本和知识图谱的问答(通过实体链接关联问题和知识库,图表示学习预测答案)。
5.2 优势与局限性
优势是答案准确,能回答常识或简单问题,支持多步推理;局限性是能回答问题有限,涉及实体和关系常见,无法实时更新。
3. 对话系统
1. 对话系统概述
1.1 智能对话时代与发展历程
展示智能对话时代的多种对话系统,介绍其发展经历的早期、独立发展、融合、基于 LLM 阶段,各阶段有不同特点和代表性技术。
1.2 对话基本特点与类型
对话有参与者、无领域约束、多轮互动等特点,分为任务型会话(目标明确、轮次少)和开放域 / 闲聊式会话(不限话题、吸引用户)。
2. 任务型对话系统
2.1 系统概述
2.1.1 框架结构
包括语音识别、自然语言理解(意图识别和槽位填充)、对话管理(状态追踪和策略优化)、自然语言生成、语音合成等模块,各模块协同工作处理用户请求。
2.1.2 一轮对话流程示例
以订机票为例,展示用户请求在各模块间的处理流程,如自然语言理解模块解析用户意图和槽位,对话管理模块跟踪状态并决定对话动作,自然语言生成模块生成系统回复。
2.1.3 对话系统分类
分为模块化 / 管道模型(各部分独立建模、流水线工作,可解释性强、易于落地)和端对端模型(各部统一建模、端到端工作)。
2.2 经典模型
2.2.1 模块化 / 管道模型
自然语言理解模块(NLU)
将用户意图转化为明确指令,包括意图识别(分类问题)和槽位填充(序列标注或生成问题),可通过 Pipline 或联合学习实现,如 AGIF 利用图卷积进行意图识别和槽填充联合学习。
对话状态追踪模块(DST)
跟踪对话状态,基于规则、统计或深度学习方法实现,深度学习方法包括分类和生成式,如 TRADE 通过解码端判断槽值对,基于大模型的方法包括基于提示(构造提示让大模型预测槽值对)和基于微调(使用状态信息数据集微调大模型)。
对话策略模块(Policy)
根据对话状态产生系统对话行为,建模方法有监督学习、强化学习及两者结合,如基于强化学习考虑多种因素设计奖励,基于弱监督学习通过规则或在弱标注数据上训练,使用用户模拟器模拟用户交互。
自然语言生成模块(NLG)
将对话动作映射为自然语言语句,主要步骤包括文本规划、句子规划和表层规划,如 Simplifying Task - oriented Dialogue Systems 用上一轮信息编码生成当前轮状态并检索知识库生成回复,基于对话动作图的方法分两步,先预测对话动作再生成具体回复。
2.2.2 端对端模型
SimpleTOD 模型
将 NLU、DSP、Policy、NLG 模块统一,输入为对话历史,输出为系统回复,按自回归语言模型训练,推断时逐步生成回复。
PPTOD 模型
通过对话多任务预训练方式统一四类子任务(DST、POL、NLU、NLG),将训练数据做 “区别提示前缀” 进行多任务学习。
2.2.3 基于大模型方式
使用 LLM 完成任务式对话,包括上下文表征、prompt 构造、大模型对话状态跟踪、大模型生成等模块,在 few - shot、zero - shot 场景下可完成多种任务,通过具体示例展示各步骤流程及效果。
2.3 评价指标和数据集
评价指标包括客观指标(对话成功率、平均对话轮次、BLEU/ROUGE 等)和主观指标(用户满意度、相关性、流畅度、多样性等),介绍常用数据集及其特点,如 DSTC、MultiWOZ 等。
3. 闲聊型对话系统
3.1 定义与特点
旨在吸引用户进行不限话题的对话,提供精神支撑,机器需理解用户意思并生成连贯回复。
3.2 典型框架
3.2.1 基于检索的系统
构建对话语料库,用户输入视为查询,检索候选回复并排序输出,优点是语言连贯性好,缺点是受候选集限制,难以保证深层语义相关性。
3.2.2 基于生成的系统
用大规模对话语料训练端到端模型,学习输入与回复对应模式,预测时生成回复话语,优点是成本低、覆盖话题广,缺点是生成回复质量不可控。
3.2.3 检索生成式融合的系统
先检索候选答案,再用生成模型重排序或生成结果,综合了检索和生成的优点。
3.3 开放域对话评价指标与存在问题
评价指标
人工评价指标
如流畅度、相关性等,常采用众包方式评估。
自动评价指标
检索式对话系统常用 hits@1、Rouge、F1、accuracy 等;生成式对话系统常用 Bleu、Distinct 等。
存在问题
回复无意义
如回答简单、缺乏实质内容或逻辑混乱。
回复多样性低
回复内容单一、缺乏变化。
回复一致性低
在多轮对话中前后回答矛盾或不一致。
回复持久性短
难以维持有意义的对话,话题容易中断。
3.4 模型建模与改进方向
针对上述问题,提出多种改进方向和模型建模方法:
回复无意义(安全回复)
模型结构改进
如使用条件变分自编码器(CVAE)学习话语级别的多样性,通过引入隐变量增加回复的多样性和合理性;修改目标函数,从最大似然估计(MLE)转向强化学习,惩罚通用回复,鼓励生成更有针对性的回答。
数据增强
通过增加有效样本、减少噪声样本、调整数据分布等方式,如重组训练样本、为样本分配权重等,优化对话生成模型。
回复多样性低
引入主题
使用潜在狄利克雷分配(LDA)为每个帖子生成主题词,在回复生成过程中引导模型关注不同主题,增加回复的多样性。
引入主题及情感
结合主题和情感信息,如利用知识图谱和情感词典,在生成回复时考虑上下文的情感因素,使回复更贴合语境且富有变化。
引入知识
在训练和测试阶段,利用后验知识选择和整合信息,生成更有信息量的回复,例如根据输入对话上文和回复编码,选择合适的知识融入回答。
回复一致性低
隐式个性化
通过向量表示用户个性化特征,如在模型中引入说话者级别的向量表示,或建模说话者与听话者之间的交互表示,使模型根据不同对象调整回复,保持一致性。
显式个性化
显式引入外部结构化或非结构化信息,如用户的年龄、性别、兴趣等,根据用户特征生成符合其个性的回复。
回复持久性短(上下文理解)
Sequential Matching Network(SMN)
通过在词级别和片段级别匹配候选回复与上下文,利用卷积和递归神经网络提取和累积匹配信息,计算最终匹配分数,从而更好地理解上下文,生成更连贯、持久的回复。
3.5 推荐文献与研究方向
推荐文献
知名实验室:如剑桥大学(俞舟)、微软亚洲研究院、清华黄民列、北大严睿、哈工大 SCIR 等。
综述型文献:涵盖对话系统的教学、潜在动作学习、智能开放域对话系统挑战、任务型对话进展与挑战等方面。
会议及研讨会论文:如 ACL、EMNLP、AAAI、NAACL、ICLR、SIGDIAL 等会议,以及 2nd/3rd Conversation AI、1st/2nd NLP4ConvAI 等研讨会的相关论文。
研究方向
数据增强与样本优化:进一步探索有效的数据处理方法,提高模型性能。
知识融合与管理:更合理地引入和利用外部知识,提升对话系统的智能性。
个性化与一致性改进:深化对用户个性化的理解和建模,确保回复的一致性。
多模态融合:结合文本、语音、图像等多模态信息,拓展对话系统的应用场景。
可解释性研究:提高对话系统决策过程和回复生成的可解释性,增强用户信任。
4. 机器翻译
1. 机器翻译概述
1.1 任务与发展历史
机器翻译是利用计算机将源语言翻译成目标语言的技术,其发展历经规则法、概率统计法到深度学习法,各阶段有不同的里程碑和代表性研究成果。
1.2 翻译方法分类
包括基于规则、基于概率统计和基于神经网络的翻译方法,基于规则需人工编写规则,基于概率统计用概率方法处理不同翻译粒度,基于神经网络采用端到端架构,如 GNMT、ConvS2S、Transformer 等模型。
2. 神经机器翻译模型
2.1 基本框架与模型
神经机器翻译采用 “编码 - 解码” 框架,模型有基于 RNN(如 Google - NMT、GNMT)、基于 CNN(如 ConvS2S)和基于自注意力机制(如 Transformer)的,介绍各模型结构、特点及实验结果,如 Seq2Seq 模型、RNN + Attention 模型、GNMT、ConvS2S、Transformer 等。
2.2 相关技术
如 encoder - decoder + attention 框架、罕见词处理、解码策略(如 beam search + coverage penalty)、训练方法(如 reinforcement learning)等,以 GNMT 为例介绍其在模型架构各方面的技术应用。
3. 神经机器翻译系统优化
3.1 解码策略改进
3.1.1 推敲网络(Deliberation Network)
通过双轮解码模拟人类书写过程,先解码基础序列再斟酌形成最终序列,介绍其模型结构、学习方法及实验结果,表明可提升翻译质量且能与其他模型结合。
3.1.2 非自回归解码
针对自回归模型效率低问题,非自回归模型希望一次解码出整个目标句子,有基于 latent variable 和基于 Iterative Refinement 两种方案,详细介绍模型结构、学习过程、解码方法及实验结果,展示不同模型性能差异。
4. 低资源神经机器翻译
4.1 资源受限问题与挑战
神经机器翻译性能依赖平行语料,低资源语对面临单语语料利用和第三方语桥接挑战,零资源语对面临无平行语料时如何利用单语语料翻译的挑战。
4.2 解决方法
包括构造伪平行句对(如 Back - Translation)、对偶学习、半监督学习、数据挖掘构造双语句对等,介绍各方法原理、操作方式及实验效果,如 Back - Translation 通过不同采样方法影响最终翻译效果。
5. 多语预训练语言模型
5.1 XLM 模型
动机是让模型掌握跨语言信息,结构上采用多层 Transformer 及 GELU 激活层,预训练含 CLM、MLM、TLM 三个任务,使用特定数据集,实验展示其在跨语言文本分类和无监督机器翻译任务上的效果提升。
5.2 mBART 模型
基于标准 Seq2Seq Transformer 架构,在多语言数据上预训练,介绍其模型结构、学习目标、训练数据、预训练及微调策略,实验表明在不同资源条件下的翻译效果及对未预训练语言的泛化能力。
5. 情感分析
1. 情感分析技术概述
1.1 人工智能发展与情感分析
人工智能发展历经计算智能、感知智能,正迈向认知智能,情感分析旨在让机器理解人类情感,如《西部世界》中机器人追求情感与自我意识。
1.2 自然语言情感分析定义
对文本蕴含心理状态分析、归纳和推理,理解人类观点、情绪、意图等,网络媒体文本是分析人类情感的重要依据。
1.3 情感分析应用场景
广泛应用于电影评价、产品反馈、民意调查、政治观点分析、预测等领域,如商品评论的情感分析、Twitter 消费者信心调查、股市预测、舆情监控等。
1.4 情感分析内容体系
涵盖情感极性分类(粗粒度判断文本整体情感倾向,如褒贬、情绪分类)、属性级情感分类(判断评价对象及其属性的情感倾向)、具有情感意识的 NLP(如情感推理、故事生成、对话等应用),涉及信息抽取等技术,研究对象包括产品评论、新闻等多种文本类型。
2. 情感极性分类
2.1 任务定义
判断文本整体情感极性,包括情感倾向性分类(褒、贬、中立)和情绪分类(喜、怒、悲、恐、惊等)。
2.2 分类框架
可视为文本分类任务,传统方法结合情感符号及相关语言特征,深度学习方法借助语言学特征和情感资源提升精准性。
2.3 分类评价标准
二分类有 TP、FN、FP、TN 等指标,可计算准确率、精确率、召回率;多分类有准确率、宏平均(对各类别统计指标值算数平均)、微平均(赋予每个样本决策相同权重计算),宏平均适合衡量分类器对小类判别有效性,微平均适合衡量对大类判别有效性。
2.4 数据集性能比较
情感分类研究进入瓶颈期,基于深度学习的方法在 IMDB、SST - 2、SST - 5 和 Semeval 等数据集上性能提升趋缓,面临如何进一步提升的挑战。
2.5 基于深度学习的方法
2.5.1 情感词典
SENTIWORDNET
借助 Wordnet,为同义词集分配正负中立分数,主观性分数与词义相关。
Semantic Orientation CALculator(SO - CAL)
对重要词性和强调成分进行 - 5 至 5 的极性标注。
SCL - OOP
探索情感组合,如识别正负情感最强的词或短语,分析短语情感强度。
SCL - NMD
研究否定词、情态词和程度副词对情感的影响。
NRC2
对每个词标注情绪标签(0/1)。
NRC - EIL
标注每个词的情绪强度。
NRC - VAD
从效价、唤醒度、支配性三个维度对单词评分(0 - 1)。
2.5.2 情感词表示学习
针对情感词的表示学习方法
在 C&W 模型基础上引入情感信息,预测情感倾向得分,使模型预测情感分布接近实际分布。
利用情感词典的正则化约束方法
通过正则化项对情感词、否定词和强度词在句子级情感分类中的作用进行约束。
2.5.3 长文本特性处理
Leap - LSTM for long text
解决 RNN 处理长文本时梯度消失和长距离依赖问题,预测输入单词保留或跳过概率,跳过无关单词。
Pointer LSTM
由指针网络(SSmall BiLSTM)选择重要词输入 Main BiLSTM,对重要词编码后进行分类。
2.5.4 语言学约束
RNTN
利用斯坦福情感树库,引入递归神经张量网络学习节点向量表示,准确捕获否定词影响范围,提升细粒度情绪预测精度。
基于预训练技术 SentiBERT
采用 Bert 编码器 + 基于注意力机制的语义融合 + 短语级情感预测框架,预训练任务包括 MLM 和预测短语节点情感标签。
2.6 小结
从基于规则到预训练语言模型,情感极性分类围绕寻找情感特征组合、处理长文档、学习情感表示、建立优质情感词典展开,当前大规模预训练语言模型与情感词典结合是 SOTA,但未来发展方向仍需探索。
3. 属性级情感分类
3.1 任务定义
判断评价对象及其属性的情感倾向,基于属性的情感分析(ABSA)包括 Aspect - Extraction(识别 Aspect)和 ABSA(确定 Aspect 情感方向)两个任务,关注常规型观点(对目标实体的情绪 / 意见表达),通过五元组(观点评价的目标实体、实体属性、情感、观点持有者、观点发布时间)形式化定义任务,情感可为正向、负向、中立或 1 - 5 打分。
3.2 任务类型与方法
属性抽取(AE)
从句子中识别 Aspect Term,看作序列标注问题,采用 Seq2Seq 框架、GRU 门控单元和位置感知注意力机制,如使用 BIO 标注体系。
属性级情感分类(ALSC)
给定句子和属性,输出属性对应的情感标签,采用基于注意力的 LSTM 模型,通过两种属性向量拼接方式关注句子不同部分。
属性导向的观点抽取(AOE)
针对给定实体属性提取相应观点表达,将其视为序列标注任务,使用 encoder - decoder 框架,Encoder 端用三个 LSTM 传递信息,Decoder 端每个位置独立描述为三分类问题。
属性抽取与分类(AESC)
先抽取属性再分类,基础模型用 Transformers(BERT)双向编码器表示,抽取阶段预测属性位置,分类阶段用属性 span 位置预测。
属性观点联合抽取(Pair)
抽取成对的(属性,观点),基于跨度的多任务框架包括学习单词级表示、提取 AT/OT、计算跨度对应关系,损失函数包括术语评分器和关系评分器损失。
三元组联合抽取
在一个模型中处理 ABSA 所有子任务,BERT 作为骨干网络,用基于 span 的模型检测句子中 AT/OT 开始 / 结束位置,两个 BERT 共享参数分别处理 AE、OE 和 SC,统一输入输出标准,计算目标 position index 和 class index 概率。
3.3 小结
ABSA 任务形式主要为抽取和分类,未来方向包括复杂属性多元组抽取、联合学习抽取和分类、引入外部知识、改进表示学习等。
4. 具有情感意识的 NLP
4.1 未来方向
包括 Aspect - based SA(复杂属性多元组抽取等)、Multimodal SA(多模态融合)、Contextual SA(考虑上下文)、Domain Adaptation(跨领域)、Sarcasm Analysis(讽刺分析)、Sentiment - aware NLG(情感感知生成)、Bias in SA(处理偏差)等,如在多模态情境下融合信息、跨领域情感分析、检测讽刺文本、生成情感感知故事和对话、解决情感分析中的偏差问题等。
4.2 生成任务
Emotion - aware Story Generation
引入主角情感弧生成故事,将情感弧作为可控属性,通过分类器推断主角情绪,用语义增强的情感匹配鼓励模型遵循情感弧,利用常识知识模型推断主角情感。
Emotion - aware Dialog Generation
考虑情绪因素的端到端框架,包含情绪类别表征、内部情绪记忆、外部情绪记忆三种机制,在大规模对话数据中生成带有情绪的回复。
Empathetic Chatbot with Emotion Causes
聊天机器人需了解用户情绪原因,通过检测情绪类别、识别原因,基于对话历史等产生共情回复,指导用户自我披露,收集信息。
4.3 推理任务
好的情绪分析算法应推理情绪原因及其重要性,如分析顾客对洗涤剂喜欢或旅客对航班厌恶的原因,处理多个目标引起的竞争决策等,ROCStories 数据集根据心理学理论定义主人公心理状态标签用于常识故事推理。
4.4 小结
情感分析从主观性句子分析发展而来,当前以基于属性的复杂情感分析为主,预训练语言模型助力情感分类接近人类水平,但 AI 在情感理解和共情方面仍有很长的路要走,未来需针对不同任务适配合适模型。
11、自然语言处理系统评价
1. 自然语言处理系统评价概述
自然语言处理包含多种任务,其系统评价对于衡量系统性能至关重要。与其他领域任务相比,NLP 任务输出形式和评价维度差异大。评价旨在判断模型输出的准确性和质量,核心问题涉及衡量系统输出准确度、生成文本质量、评价结果一致性等。评价指标随时间演变,从早期基于规则到深度学习时代引入语义理解,再到大模型时代的新趋势。
2. 典型评价指标(基于参考答案的评价方法)
2.1 F1 Score
概念与计算方法
F1 Score 综合精确率和召回率,用于评估分类模型性能,值介于 0 - 1,越大越好。精确率是预测为正类样本中实际为正类的比例,召回率是实际为正类样本中被正确预测为正类的比例。对于二分类任务,通过特定公式计算;多分类任务可通过宏平均、微平均、加权平均等方法计算。
2.2 BLEU
指标定义与应用范围
BLEU (Bilingual Evaluation Understudy)用于评估生成文本与参考文本相似度,值在 0 - 1(或乘 100),分数越高越好,常用于机器翻译、文本摘要等任务。计算前需了解 N - gram 概念,其计算公式包含长度惩罚(BP)和 n - gram 精确率,计算步骤包括分词、n - gram 匹配、计算精确率、BP 及 BLEU 值,通过示例展示计算过程,同时解释了计算 BP 的原因及 BLEU 评价机器翻译系统的原理。
2.3 ROUGE
指标特点与计算方式
ROUGE(Recall-Oriented Understudy for GistingEvaluation) 用于评估生成文本与参考文本相似程度,更关注召回率,适用于摘要生成等任务。计算方式包括 ROUGE - N(基于 n - gram 计算共有比例)和 ROUGE - L(基于最长公共子序列衡量语序相似性),通过示例详细说明计算过程。
3. 评价方法
3.1 基于参考答案的评价方法及其问题
F1 Score、BLEU、ROUGE 的共性与 BLEU 的问题
F1 Score、BLEU、ROUGE 都是基于参考答案的评价方法。BLEU 存在诸多问题,如缺乏语义理解(基于 n - gram 精确匹配,无法捕捉语义相似性)、过于依赖参考答案(答案少或不多样会低估模型表现)、不区分重要性(对每个 n - gram 权重相同)、对多样性和创新有惩罚(不利于创造性内容输出)、缺乏对语义和人类偏好的反映(不能体现流畅性等主观指标),这些问题源于其基础的字符串匹配计算方式。
3.2 改进方法与局限性
引入语义信息的改进措施
为改进 BLEU,引入语义信息的方法有 BERTScore(计算嵌入向量余弦相似度)、BLEURT(基于 BERT 输出向量连接线性层打分并微调)、COMET(输入更多信息,使用预训练模型不同层表示并微调),但这些方法仍依赖参考答案评价,难以评估复杂目标和开放领域任务的多样性、创造性。
3.3 不基于参考答案的评价方法
计算困惑度与 self - BLEU
不基于参考答案的评价方法包括计算生成文本困惑度(评估流畅性,越低越流畅,但不能直接评估语义准确性和任务相关性)和计算 self - BLEU(评估多样性,越低多样性越高,也不能直接评估语义准确性和任务相关性),此类方法在开放式任务评价中面临挑战。
3.4 人工评价方法
适用场景与评价维度
人工评价适用于高准确度需求或开放式任务难以量化时,评价维度包括流畅性、连贯性、信息性、事实性、风格适配性等。其优点是贴近真实体验、多维度细粒度评价、可定制化;缺点是费时费力、成本高、主观性强。为缓解缺点,可利用自动化工具缩小范围、增加评估者人数、制定详细标准和模板。
4. 基于大模型的自动评价
4.1 大模型评价的优势
4.1.1 语义理解与多样性容忍
大模型(如 ChatGPT)具有强大的语义理解能力,其训练数据多样化且规模庞大,无需领域内数据微调即可评估生成答案的合理性与语义符合性。在开放式任务中,对生成多样性的容忍度更高,不会因答案形式与参考文本不同而低估质量,能从流畅性、连贯性、事实性、风格等多个角度进行综合评价。
4.1.2 丰富知识与灵活评价
大模型拥有丰富的世界知识,可基于背景信息评估生成内容,检测事实性错误。支持灵活的评价方式,能根据任务需求定制化评价,还具有可交互性,可解释得分低的原因并提出改进建议,适用于摘要、对话、机器翻译等多种任务,针对不同任务有不同评价维度。
4.2 大模型在 AlpacaFarm 中的应用及与 RLHF 的关系
模拟人类标注与 RLHF
在 AlpacaFarm 中,大模型可模拟人类进行标注打分,相较于人工评价更便宜、耗时少且一致性高。RLHF(基于人类反馈的强化学习)常用于训练大模型使其生成结果更符合人类偏好,需要人类打分或文本排序数据,大模型打分在一定程度上可替代人类打分,使用大模型模拟评分标注和人类评分标注的数据训练结果相近。
4.3 大模型自动评价的局限性
缺乏客观性与存在偏好
大模型自动评价缺乏客观性,评估结果主观性强,难以制定统一标准,且支持定制化评价标准导致每次评价基准可能不同。同时,大模型存在自我偏好,对自身生成的文本评价更好,存在排序偏差,在实验中表现出偏好包含列表、文本更长的输出等特点。
4.4 如何使用大模型进行自动评价
设计合理 prompt
使用大模型自动评估需设计合理 prompt,包括描述评价任务和角度、针对不同角度设计分数及评判标准、确定输出格式等,以确保评价的有效性和准确性,充分发挥大模型在自然语言处理系统评价中的作用,同时也需关注其局限性并探索缓解方法,以及考虑与典型自动评价指标相结合的可能性。