NLP之引言
转到了NLP组,算是到了一个新的领域,其实很久之前就想接触NLP了,觉得无头绪,无从下手,很多都是碎片化,过时等资料。看了《ChatGPT对自然语言处理带来什么冲击》,其中以书本为锚点,介绍了NLP的发展史
1自然语言发展史
阶段 | 书籍 | 出版年 |
---|---|---|
第一代统计学习 | 宗成庆老师蓝皮的《统计自然语言处理》(第2版) | 2008 |
第一代统计学习 | 《Speech and Language Processing》,中译版《自然语言处理综论》(第2版) | 英文原书出版于2009年 |
第一代统计学习 | 《Natural Language Procesing with Python》,封面游了三条鲸鱼,中译版《Python自然语言处理》 | 2014年出版 |
第二代深度学习词向量 | 《Neural Network Methods for Natural Language Proces》,中译版《基于深度学习的自然语言处理》 | 2018年出版 |
第二代深度学习词向量 | 《Natural Language Procesing in Action》,中译《自然语言处理实战》 | 2020年出版 |
第三代深度学习大模型 | 《自然语言处理:基于预训练模型的方法》 | 2021年出版 |
1.1第一代统计学习
20世纪90年代开始,统计学习方法的愈发成熟,使得以语料库为核心的统计学习方法在自然语言处理领域得以大规模应用,由于大规模的语料库中包含了大量关于语言的知识,使得基于语料库的统计自然语言处理方法能够更加客观、准确和细致地捕获语言规律。在这一时期,词法分析、句法分析、信息抽取、机器翻译和自动问答等领域的研究均取得了一定程度的成功 。尽管基于统计学习的自然语言处理取得了一定程度的成功,但它也有明显的局限性,也就是需要事先利用经验性规则将原始的自然语言输入转化为机器能够处理的向量形式。这一转化过程(也称为特征提取)需要细致的人工操作和一定的专业知识,因此也被称为特征工程
1.2第二代深度学习和词向量
2010年之后,随着基于深度神经网络的表示学习方法(也称深度学习)的兴起,该方法直接端到端地学习各种自然语言处理任务,不再依赖人工设计的特征。所谓表示学习,是指机器能根据输入自动地发现可以用于识别或分类等任务的表示特征。除了可以自动地发现有效特征,表示学习方法的另一个好处是打通了不同任务之间的壁垒。传统统计学习方法需要针对不同的任务设计不同的特征,这些特征往往是无法通用的。而表示学习能够将不同任务在相同的向量空间内进行表示,从而具备跨任务迁移的能力。除了可以跨任务,还可以实现跨语言甚至跨模态的迁移。综合利用多项任务、多种语言和多个模态的数据。
长期以来,自然语言生成的研究几乎处于停滞状态,除了使用模板生成一些简单的语句,并没有什么太有效的解决办法。随着基于深度学习的序列到序列生成框架的提出,这种逐词的文本生成方法全面提升了生成技术的灵活性和实用性,完全革新了机器翻译、文本摘要和人机对话等任务的技术范式
由于自然语言处理这一认知类任务所具有的“主观性”特点,以及其所面对的任务和领域众多,使得标注大规模语料库的时间过长,人力成本过于高昂,因此自然语言处理的标注数据往往不够充足,很难满足深度学习模型训练的需要
早期的静态词向量预训练模型,以及后来的动态词向量预训练模型,特别是2018年以来,以BERT、GPT为代表的超大规模预训练语言模型恰好弥补了自然语言处理标注数据不足的缺点,帮助自然语言处理取得了一系列的突破,使得包括阅读理解在内的所有自然语言处理任务的性能都得到了大幅提高,在有些数据集上达到或甚至超过了人类水平。
1.3第三代大模型预训练加微调
所谓模型预训练(Pre-train),即首先在一个原任务上预先训练一个初始模型,然后在下游任务(也称目标任务)上继续对该模型进行精调(Fine-tune),从而达到提高下游任务准确率的目的。在本质上,这也是迁移学习(Transfer Learning)思想的一种应用。
其实,文本自身的顺序性就是一种天然的标注数据,通过若干连续出现的词语预测下一个词语(又称语言模型)就可以构成一项原任务。由于图书、网页等文本数据规模近乎无限,所以,可以非常容易地获得超大规模的预训练数据。有人将这种不需要人工标注数据的预训练学习方法称为无监督学习(Unsupervised Learning),其实这并不准确,因为学习的过程仍然是有监督的(Supervised),更准确的叫法应该是自监督学习(Self-supervised Learning)。
如OpenAI推出的GPT-3,是一个具有1,750亿个参数的巨大规模,无须接受任何特定任务的训练,便可以通过小样本学习完成十余种文本生成任务,如问答、风格迁移、网页生成和自动编曲等。目前,预训练模型已经成为自然语言处理的新范式。
2绪论
自然语言处理所面临的8个难点,即语言的抽象性、组合性、歧义性、进化性、非规范性、主观性、知识性及难移植性。正是由于这些难点的存在,导致自然语言处理任务纷繁复杂,并产生了多种划分方式
类型 | 内容 |
---|---|
任务层级 | 资源建设、基础任务、应用任务及应用系统四个层级 |
任务类型 | 回归、分类、匹配、解析及生成五大问题 |
研究对象 | 形式、语义、推理及语用分析四个等级 |
历史 | 理性主义和经验主义两大发展阶段;其中,经验主义又被分成了基于统计模型、深度学习模型及最新的预训练模型三个阶段 |
3自然语言处理的难点
难点 | 描述 |
---|---|
抽象性 | 语言是由抽象符号构成的,每个符号背后都对应着现实世界或人们头脑中的复杂概念,如“车”表示各种交通工具——汽车、火车、自行车等,它们都具有共同的属性,有轮子、能载人或物等。 |
组合性 | 即便是常用的单词,英文和中文也不过各几十万个。然而,这些有限的符号却可以组合成无限的语义,即使是相同的词汇,由于顺序不同,组合的语义也是不相同的,因此无法使用穷举的方法实现对自然语言的理解 |
歧义性 | 由于语言的形式和语义之间存在多对多的对应关系导致的,如:“苹果”一词,既可以指水果,也可以指一家公司或手机、电脑等电子设备 |
进化性 | 语言具有明显的进化性,也称创造性。这主要体现在两方面:一方面是新词汇层出不穷,如“超女”“非典”“新冠”等;另一方面则体现在旧词汇被赋予新的含义,如“腐败”“杯具”等。除了词汇,语言的语法等也在不断变化,新的用法层出不穷 |
非规范性 | 互联网上,尤其是在用户产生的内容中,经常有一些有意或无意造成的非规范文本,为自然语言处理带来了不小的挑战,如音近词(“为什么”→“为森么”,“怎么了”→“肿么了”)、单词的简写或变形(please→pls、cool→coooooooool)、新造词(“喜大普奔”“不明觉厉”)和错别字等 |
主观性 | 和感知智能问题不同,属于认知智能的自然语言处理问题往往具有一定的主观性,这不但提高了数据标注的难度,还为准确评价系统的表现带来了一定的困难。如在分词这一最基本的中文自然语言处理任务中,关于什么是“词”的定义都尚不明确,比如“打篮球”是一个词还是两个词呢?所以,在标注自然语言处理任务的数据时,往往需要对标注人员进行一定的培训,使得很难通过众包的方式招募大量的标注人员,导致自然语言处理任务的标注数据规模往往比图像识别、语音识别的标注数据规模要小得多。此外,由于不同的分词系统往往标准都不尽相同,所以通过准确率等客观指标对比不同的分词系统本身就是不客观的。难以评价的问题在人机对话等任务中体现得更为明显,由于对话回复的主观性,很难有一个所谓的标准回复,所以如何自动评价人机对话系统仍然是一个开放的问题。 |
知识性 | 理解语言通常需要背景知识以及基于这些知识的推理能力。例如,针对句子“张三打了李四,然后倒了”,问其中的“他”指代的是“张三”还是“李四”?只有具备了“被打的人更容易倒”这一知识,才能推出“他”很可能指代的是“李四”。 |
难移植性 | 自然语言处理涉及的任务和领域众多,并且它们之间的差异较大,造成了难移植性的问题。如分为分词、词性标注、句法分析和语义分析等基础任务,以及信息抽取、问答系统和对话系统等应用任务,由于这些任务的目标和数据各不相同,很难使用统一的技术或模型加以解决,因此不得不针对不同的任务设计不同的算法或训练不同的模型。 |
4自然语言处理任务体系
4.1任务层级
- 语言学知识库,一般包括词典、规则库等。词典(Dictionary)也称辞典(Thesaurus),除了可以为词语提供音韵、句法或者语义解释以及示例等信息,还可以提供词语之间的关系信息,如上下位、同义反义关系等。
- 语料库资源指的是面向某一自然语言处理任务所标注的数据。无论是语言学资源,还是语料库资源的建设,都是上层各种自然语言处理技术的基础,需要花费大量的人力和物力构建。
4.2任务类别
按任务类别分,即虽然诸如机器翻译,对话系统等任务从表面上看各不相同,但是都可以归为文本分类、结构预测或序列到序列等问题
类别 | 描述 |
---|---|
回归问题 | 将输入文本映射为一个连续的数值,如对作文的打分,对案件刑期或罚款金额的预测,垃圾邮件过滤,新闻分类,文本情感分类任务等 |
分类问题 | 又称为文本分类,即判断一个输入的文本所属的类别,如:在垃圾邮件识别任务中,可以将一封邮件分为正常和垃圾两类;在情感分析中,可以将用户的情感分为褒义、贬义或中性三类 |
匹配问题 | 判断两个输入文本之间的关系,如:它们之间是复述或非复述两类关系;或者蕴含、矛盾和无关三类关系。另外,识别两个输入文本之间的相似性(0到1的数值)也属于匹配问题,还有问答系统,自然语言推理。 |
解析问题 | 特指对文本中的词语进行标注或识别词语之间的关系,典型的解析问题包括词性标注、句法分析等,另外还有很多问题,如分词、命名实体识别等也可以转化为解析问题 |
生成问题 | 特指根据输入(可以是文本,也可以是图片、表格等其他类型数据)生成一段自然语言,如机器翻译、文本摘要、图像描述生成,看数说话,语音识别,看图说话,读图谱说话,智能评语生成,填词作曲,讲故事,为你写诗,续写等都是典型的文本生成类任务 |
-
- 文本分类:除了直接使用文本分类技术解决实际问题,还有很多自然语言处理问题可以转换为文本分类问题,如文本匹配(Text Matching),即判断两段输入文本之间的匹配关系,包括复述关系(Paraphrasing:判断两个表述不同的文本语义是否相同)、蕴含关系(Entailment:根据一个前提文本,推断与假设文本之间的蕴含或矛盾关系)等。一种转换的方法是将两段文本直接拼接起来,然后按复述或非复述、蕴含或矛盾等关系分类。
-
- 结构预测问题中,输出类别之间具有较强的相互关联性。例如,在词性标注任务中,一句话中不同词的词性之间往往相互影响,如副词之后往往出现动词或形容词,形容词之后往往跟着名词等。结构预测任务通常是自然语言处理独有的:
典型的结构预测问题 | 描述 |
---|---|
序列标注 | 序列标注(Sequence Labeling),指的是为输入文本序列中的每个词标注相应的标签,如词性标注是为每个词标注一个词性标签,包括名词、动词和形容词等。序列标注问题可以简单地看成多个独立的文本分类问题,即针对每个词提取特征,然后进行标签分类,并不考虑输出标签之间的关系。其中,输入词和输出标签数目相同且一一对应。条件随机场(Conditional Random Field,CRF)模型是一种被广泛应用的序列标注模型,循环神经网络也是。典型任务:中文分词、词性标注、命名实体识别、语义角色标注 。 |
序列分割 | 除了序列标注问题,还有很多自然语言处理问题可以被建模为序列分割问题,如分词问题,就是将字符序列切分成若干连续的子序列;命名实体识别问题,也是在文本序列中切分出子序列,并为每个子序列赋予一个实体的类别,如人名、地名和机构名等。不过为了简化,往往将它们转换为序列标注任务统一加以解决。如命名实体识别,序列标注的输出标签可以为一个实体的开始(B-XXX)、中间(I-XXX)或者非实体(O)等,其中B代表开始(Begin)、I代表中间(Inside),O代表其他(Other),XXX代表实体的类型 |
图结构生成 | 其输入是自然语言,输出结果是一个以图表示的结构。图中的节点既可以来自原始输入,也可以是新生成的;边连接了两个节点,并可以在其上标注句法关系类别。图结构生成算法主要包括两大类:基于图的算法和基于转移的算法 |
序列标注例子:
-
- 很多自然语言处理问题可以归为序列到序列(Sequence-to-Sequence,Seq2seq)问题。
- 机器翻译问题就是典型的代表,其中,输入为源语言句子,输出为目标语言句子。将其推广到序列到序列问题,输入就是一个由若干词组成的序列,输出则是一个新的序列,其中,输入和输出的序列不要求等长,同时也不要求词表一致。使用传统的机器学习技术解决序列到序列问题是比较困难的,而基于深度学习模型,可以直接将输入序列表示为一个向量,然后,通过该向量生成输出序列。其中,对输入序列进行表示的过程又叫作编码,相应的模型则被称为编码器(En-coder);生成输出序列的过程又叫作解码,相应的模型则被称为解码器(Decoder)。因此,序列到序列模型也被称为编码器--解码器(Encoder-Decoder)模型。
- 对话系统中,用户话语可被视为输入序列,机器的回复则可被视为输出序列,
- 文本分类问题也可以被建模为序列到序列问题。首先,使用编码器对输入文本进行表示,然后,解码器只输出一个“词”,即文本所属的类别。
- 结构预测问题也类似,首先,也需要使用编码器对输入文本进行表示,然后,在处理序列标注问题时,使用解码器生成输出标签序列(需要保证输出序列与输入序列长度相同)
- 处理序列分割问题时,直接输出结果序列
- 处理图结构生成问题时,需要将图表示的结果进行序列化,即通过一定的遍历顺序,将图中的节点和边转换为一个序列,然后再执行解码操作。不过,由于输入和输出有较强的对应关系,而序列到序列模型很难保证这种对应关系,所以结构预测问题较少直接使用序列到序列模型加以解决。
4.2.1词表示
其中单词的向量表示历经如下几种:
文本的表示 | |
---|---|
独热 | 该向量中,词表中第i个词在第i维上被设置为1,其余维均为0。这种表示被称为词的独热表示或独热编码(One-hot Encoding) |
词袋 | 假设文本中的词语是没有顺序的集合,将文本中的全部词所对应的向量表示(既可以是独热表示,也可以是分布式表示或词向量)相加,即构成了文本的向量表示 |
分布式表示 | 基于词存在的上下文进行统计得到共现矩阵(共同出现),然后进行PPMI计算或者SVD计算,得到的矩阵中每一行表示每个词的向量 |
词嵌入(词向量) | 基于深度学习进行特定任务的训练,然后获取前面代表词的向量 |
自然语言处理的三大任务为:语言模型;基础任务;应用任务;其中语言模型(Language Model,LM)(也称统计语言模型)是描述自然语言概率分布的模型,是一个非常基础和重要的自然语言处理任务。利用语言模型,可以计算一个词序列或一句话的概率,也可以在给定上文的条件下对接下来可能出现的词进行概率分布的估计。同时,语言模型是一项天然的预训练任务,在基于预训练模型的自然语言处理方法中起到非常重要的作用,因此这种预训练模型有时也被称为预训练语言模型。
4.2.2基础任务
基础任务 | 描述 |
---|---|
中文分词 | 词(Word)是最小的能独立使用的音义结合体,是能够独立运用并能够表达语义或语用内容的最基本单元。在以英语为代表的印欧语系(Indo-European lan-guages)中,词之间通常用分隔符(空格等)区分。但是在以汉语为代表的汉藏语系(Sino-Tibetan languages),以及以阿拉伯语为代表的闪-含语系(Semito-Hamitic languages)中,却不包含明显的词之间的分隔符。因此,为了进行后续的自然语言处理,通常需要首先对不含分隔符的语言进行分词(Word Segmentation)操作 |
子词切分 | 以英语为代表的印欧语系的语言,词语之间通常已有分隔符(空格等)进行切分,无须再进行额外的分词处理。然而,由于这些语言往往具有复杂的词形变化,如果仅以天然的分隔符进行切分,不但会造成一定的数据稀疏问题,还会导致由于词表过大而降低处理速度。如“computer” “computers” “computing”等,虽然它们语义相近,但是被认为是截然不同的单词。传统的处理方法是根据语言学规则,引入词形还原(Lemmatization)或者词干提取(Stemming)等任务,提取出单词的词根,词形还原或词干提取虽然在一定程度上解决了数据稀疏问题,但是需要人工撰写大量的规则,这种基于规则的方法既不容易扩展到新的领域,也不容易扩展到新的语言上。因此,基于统计的无监督子词(Subword)切分任务应运而生,并在现代的预训练模型中使用 |
词性标注 | 词性是词语在句子中扮演的语法角色,也被称为词类(Part-Of-Speech,POS)。 词性标注(POS Tagging)任务是指给定一个句子,输出句子中每个词相应的词性 |
句法分析 | 句法分析(Syntactic Parsing)的主要目标是给定一个句子,分析句子的句法成分信息,例如主谓宾定状补等成分。最终的目标是将词序列表示的句子转换成树状结构,从而有助于更准确地理解句子的含义,并辅助下游自然语言处理任务。典型的句法结构表示方法包含两种——短语结构句法表示和依存结构句法表示 |
语义分析 | 自然语言处理的核心任务即是让计算机“理解”自然语言所蕴含的意义,即语义(Semantic)。由于语言的语义组合性和进化性,无法像词语一样使用词典定义句子、段落或篇章的语义,因此很难用统一的形式对句子等语言单元的语义进行表示。众多的语言学流派提出了各自不同的语义表示形式,如语义角色标注(Semantic Role Labeling,SRL)、语义依存分析(Semantic Dependency Parsing,SDP)等 |
4.2.3应用任务
信息抽取、情感分析、问答系统、机器翻译和对话系统等自然语言处理应用任务以产品的形式为终端用户提供服务,是自然语言处理研究应用落地的主要技术
4.2.3.1信息抽取
信息抽取(Information Extraction,IE)是从非结构化的文本中自动提取结构化信息的过程,这种结构化的信息方便计算机进行后续的处理。另外,抽取的结果还可以作为新的知识加入知识库中。
信息抽取的子任务 | 描述 |
---|---|
命名实体识别 | (Named Entity Recognition,NER)是在文本中抽取每个提及的命名实体并标注其类型,一般包括人名、地名和机构名等,也包括专有名称等,如书名、电影名和药物名等 |
关系抽取 | (Relation Extraction)用于识别和分类文本中提及的实体之间的语义关系,如夫妻、子女、工作单位和地理空间上的位置关系等二元关系 |
事件抽取 | Event Extraction)的任务是从文本中识别人们感兴趣的事件以及事件所涉及的时间、地点和人物等关键元素。其中,事件往往使用文本中提及的具体触发词(Trigger)定义。可见,事件抽取与语义角色标注任务较为类似,其中触发词对应语义角色标注中的谓词,而事件元素则可认为是语义角色标注中的论元 |
时间表达式(Temporal Expression)识别 | 事件的发生时间往往比较关键,因此时间表达式识别也被认为是重要的信息抽取子任务,一般包括两种类型的时间:绝对时间(日期、星期、月份和节假日等)和相对时间(如明天、两年前等)。使用时间表达归一化(Temporal Expression Normalization)将这些时间表达式映射到特定的日期或一天中的时间。 |
在文本中找到提及的命名实体后,往往还需要将这些命名实体链接到知识库或知识图谱中的具体实体,这一过程被称作实体链接(Entity Linking)。如“华盛顿”既可以指美国首任总统,也可以指美国首都,需要根据上下文进行判断,这一过程类似于词义消歧任务
4.2.3.2情感分析
情感(Sentiment)是人类重要的心理认知能力,使用计算机自动感知和处理人类情感已经成为人工智能领域重要的研究内容之一。自然语言处理中的情感分析主要研究人类通过文字表达的情感,因此也称为文本情感分析。但是,情感又是一个相对比较笼统的概念,既包括个体对外界事物的态度、观点或倾向性,如正面、负面等;又可以指人自身的情绪(Emotion),如喜、怒、哀和惧等。随着互联网的迅速发展,产生了各种各样的用户生成内容(User Generated Content,UGC),其中很多内容包含着人们的喜怒哀惧等情感,对这些情感的准确分析有助于了解人们对某款产品的喜好,随时掌握舆情的发展
情感分析子任务 | 描述 |
---|---|
情感分类 | 识别文本中蕴含的情感类型或者情感强度,其中,文本既可以是句子,也可以是篇章 |
情感信息抽取 | 抽取文本中的情感元素,如评价词语、评价对象和评价搭配 |
4.2.3.3问答系统
问答系统(Question Answering,QA)是指系统接受用户以自然语言形式描述的问题,并从异构数据中通过检索、匹配和推理等技术获得答案的自然语言处理系统
数据来源的不同分类 | 描述 |
---|---|
检索式问答系统 | 答案来源于固定的文本语料库或互联网,系统通过查找相关文档并抽取答案完成问答 |
知识库问答系统 | 回答问题所需的知识以数据库等结构化形式存储,问答系统首先将问题解析为结构化的查询语句,通过查询相关知识点,并结合知识推理获取答案 |
常问问题集问答系统 | 通过对历史积累的常问问题集进行检索,回答用户提出的类似问题 |
阅读理解式问答系统 | 通过抽取给定文档中的文本片段或生成一段答案来回答用户提出的问题 |
4.2.3.4机器翻译
机器翻译(Machine Translation,MT)是指利用计算机实现从一种自然语言(源语言)到另外一种自然语言(目标语言)的自动翻译。据统计,目前世界上存在约7,000种语言,其中,超过300种语言拥有100万个以上的使用者。
机器翻译方法一般以句子为基本输入单位,研究从源语言句子到目标语言句子的映射函数。机器翻译自诞生以来,主要围绕理性主义和经验主义两种方法进行研究。所谓“理性主义”,是指基于规则的方法;而“经验主义”是指数据驱动的统计方法,在机器翻译领域表现为基于语料库(翻译实例库)的研究方法。近年来兴起的基于深度学习的机器翻译方法利用深度神经网络学习源语言句子到目标语言句子的隐式翻译规则,即所有的翻译规则都被编码在神经网络的模型参数中。该方法又被称为神经机器翻译(Neural Machine Translation,NMT)
4.2.3.5对话系统
对话系统(Dialogue System)是指以自然语言为载体,用户与计算机通过多轮交互的方式实现特定目标的智能系统。其中,特定目标包括:完成特定任务、获取信息或推荐、获得情感抚慰和社交陪伴等。
对话系统分类 | 描述 |
---|---|
任务型对话系统 | (Task-Oriented Dialogue)主要用于垂直领域的自动业务助理等,具有明确的任务目标,如完成机票预订、天气查询等特定的任务 |
开放域对话系统 | (Open-Domain Dialogue)以社交为目标的对话系统,通常以闲聊、情感陪护等为目标,因此也被称为聊天系统或聊天机器人(Chatbot),在领域和话题上具有很强的开放性 |
其中任务型对话系统一般由顺序执行的三个模块构成,即自然语言理解、对话管理和自然语言生成。以例子:“帮我订一张明天去北京的机票”为例
任务型对话系统的模块 | 描述 |
---|---|
自然语言理解 | (Natural Language Understanding,NLU)分析用户话语的语义,通常的表示形式为该话语的领域、意图以及相应的槽值 |
对话管理模块 | (Dialogue Management,DM) 包括对话状态跟踪(Dialogue State Tracking,DST)和对话策略优化(Dialogue Policy Optimization,DPO)两个子模块。对话状态一般表示为语义槽和值的列表。例如,通过对以上用户话语自然语言理解的结果进行对话状态跟踪,得到当前的对话状态(通常为语义槽及其对应的值构成的列表):[到达地=北京;出发时间=明天;出发地=NULL;数量=1]。获得当前对话状态后,进行策略优化,即选择下一步采用什么样的策略,也叫作动作。动作有很多种,如此时可以询问出发地,也可以询问舱位类型等。 |
自然语言生成 | (Natural Language Generation,NLG)该模块工作相对比较简单,通常通过写模板即可实现。比如要询问出发地,就直接问“请问您从哪里出发?”,然后经过语音合成(Text-to-Speech,TTS)反馈给用户 |
例子:“帮我订一张明天去北京的机票”的NLU结果
4.2.3.6知识图谱
知识图谱(Knowledge Graph)是关于某个主题的知识(Knowledge )的结构化表示所组成的关系网络,它由节点和(连接不同节点的)边构成,本质上是一种语义网(Semantic Web)。知识图谱中的每个节点代表该主题内一个实体(entity)或概念(class),边代表相连实体或概念间的语义关系(relation)。如一文打尽知识图谱所述,基本组成形式为<实体,关系,实体>的三元组
4.2.3.7机器阅读理解
机器阅读理解(Machine Reading Comprehension,MRC)是一项通过让机器回答基于给定上下文的问题来测试机器理解自然语言的程度的任务,它有可能彻底改变人类和机器之间的互动方式。具有MRC技术的搜索引擎可以直接以自然语言返回用户提出的问题的正确答案,而不是返回一系列相关的web页面,其主要分为:完形填空,多项选择;答案抽取,自由问答四种子任务
4.2.3.8文本生成
4.2.3.9摘要生成
4.2.3.10文本纠错
如自然语言处理任务系列(二)——文本纠错所述常见的文本错误类型:
错误类型 | 例子 |
---|---|
同音字或发音相近 | 【眼睛,眼镜】【胡建,福建】 |
相似字或形近字 | 【高粱,高梁】【已经,己经】 |
字或词序颠倒 | 【出生,生出】 |
拼音全拼或者缩写 | 【Shanghai,上海】【SZ,深圳】 |
多字 | 【风调雨顺、风俗调雨顺】 |
少字 | 【黑龙江省哈滨市、黑龙江省哈尔滨市】 |
4.2.3.11图像描述
Image Caption,就是从图片中自动生成一段描述性文字,有点类似于“看图说话”。
4.3研究对象与层次
自然语言处理主要涉及“名”“实”“知”“境”之间的关系,如图1-2所示。其中“名”指的是语言符号;“实”表示客观世界中存在的事实或人的主观世界中的概念;“知”是指知识,包括常识知识、世界知识和领域知识等;“境”则是指语言所处的环境。
自然语言处理的研究由浅入深,可以分为形式、语义、推理和语用四个层次。
层次 | 描述 |
---|---|
形式 | 要研究语言符号层面的处理,研究的是“名”与“名”之间的关系,如通过编辑距离等计算文本之间的相似度 |
语义 | 主要研究语言符号和其背后所要表达的含义之间的关系,即“名”和“实”之间的关系,如“手机余额不足”和“电话欠费了”两个句子的表达方式完全不同,但是背后阐述的事实是相同的。语义问题也是自然语言处理领域目前主要关注的问题 |
推理 | 在语义研究的基础之上,进一步引入知识的运用,因此涉及“名”“实”和“知”之间关系,这一点正体现了自然语言的知识性 |
语用 | 最为复杂,由于引入了语言所处的环境因素,通常表达的是“言外之意”和“弦外之音”,同时涉及了“名”“实”“知”“境”四个方面。例如,同样的一句话“你真讨厌”,从字面意义上明显是贬义,而如果是情侣之间的对话,则含义可能就不一样了。另外,语气、语调以及说话人的表情和动作也会影响其要表达的含义 |
5评价指标
5.1准确率
可以用于文本分类
或者词性标注等序列标注问题
但是:在将分词、命名实体识别等序列分割问题转化为序列标注问题后,就不应该使用准确率进行评价。以命名实体识别为例,如果采用按词计算的准确率,则很多非命名实体(相应词对应的类别为O)也被计入准确率的计算之中。另外,如果错标了部分词,那么命名实体识别结果就是错误的,但是按照词准确率计算的话,仍然有部分词被认为分类正确了。
5.2F值
是精确率(Precision)和召回率(Recall)的加权调和平均,可以评价序列分割问题
当beta=1时
在命名实体识别问题中,精确率和召回率的定义分别为
BLEU值是最常用的机器翻译自动评价指标,其计算方法是统计机器译文与参考译文(可以不止一个)中 N-gram 匹配的数目占机器译文中所有 N-gram 总数的比率,即N-gram的精确率。其中N的取值不易过大,也不易过小。过大的N会导致机器译文与参考译文中共现的N-gram过少,而过小的N会无法衡量机器译文中词语的顺序信息,所以一般N最大取4。另外,由于此评价方法仅考虑了精确率,而忽视了召回率,所以其倾向于较短的翻译。因此,BLEU值引入了一个长度惩罚因子,鼓励机器译文中单词数目尽量接近参考译文中的数目。最终,BLEU值的区间是0~1,得分越高表明机器翻译系统的译文质量越好。
人机对话系统时,往往采用人工评价的方式,即通过人与系统进行多轮对话后,最终给出一个总的或多个维度(流畅度、相关度和准确性等)的主观分数。由于评分的主观性,人工评价的一致性往往又比较低,也就是说不同人打分可能差异比较大,为了消除这种差异性,又需要多人进行评价并最终取一个平均分数
参考资料:
《自然语言处理:基于预训练模型的方法》