自然语言生成(自然语言生成评价问题与挑战)

本篇文章给大家谈谈自然语言生成,以及自然语言生成评价问题与挑战对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

自然语言处理基础知识

NLP 是什么?

NLP 是计算机科学领域与 人工智能 领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的学科。NLP 由两个主要的技术领域构成:自然语言理解和自然语言生成。

自然语言理解方向,主要目标是帮助机器更好理解人的语言,包括基础的词法、句法等语义理解,以及需求、篇章、情感层面的高层理解。

自然语言生成方向,主要目标是帮助机器生成人能够理解的语言,比如文本生成、自动文摘等。

NLP 技术基于大数据、知识图谱、 机器学习 、语言学等技术和资源,并可以形成机器翻译、深度问答、对话系统的具体应用系统,进而服务于各类实际业务和产品。

NLP在金融方面

金融行业因其与数据的高度相关性,成为人工智能最先应用的行业之一,而NLP与知差戚识图谱作为人工智能技术的重要研究方向与组成部分,正在快速进入金融领域,并日益成为智能金融的基石。舆情分析舆情主要指民众对社会各种具体事物的情绪、意见、价值判断和愿望等。

事件(Event ):在特定时间、特定地点发生的事情。主题(Topic):也称为话题,指一个种子事件或活动以及与它直接相关的事件和活动。专题(Subject):涵盖多个类似的具体事件或根本不涉及任何具体事件。需要说明的是,国内新闻网站新浪、搜狐等所定义的“专题”概念大多数等同于我们的“主题”概念。热点:也可称为热点主题。热点和主题的概念比较接近,但有所区别。

1. 词干提取

什么是词干提取?词干提取是将词语去除变化或衍生形式,转换为词干或原型形式的过程。词干提取的目标是将相关词语还原为同样的词干,哪怕词干并非词典的词目。

2. 词形还原

什么是词形还原? 词形还原是将一组词语还原为词源或词典的词目形式的过程。还原过程考虑到了POS问题,即词语在句中的语义,词语对相邻语句的语义等。

3. 词向量化什么是词向量化?词向量化是用一组实数构成的向量代表自然语言的叫法。这种技术非常实用,因为电脑无法处理自然语言。词向量化可以捕捉到自然语言和实数间的本质关系。通过词向量化,一个词语或者一段短语可以用一个定维的向量表示,例如向量的长度可以为100。

4. 词性标注

什么是词性标注?简单来说,词性标注是对句子中的词语标纤核注为名字、动词、形虚竖陵容词、副词等的过程。

5. 命名实体消歧

什么是命名实体消岐?命名实体消岐是对句子中的提到的实体识别的过程。例如,对句子“Apple earned a revenue of 200 Billion USD in 2016”,命名实体消岐会推断出句子中的Apple是苹果公司而不是指一种水果。一般来说,命名实体要求有一个实体知识库,能够将句子中提到的实体和知识库联系起来。

6. 命名实体识别

体识别是识别一个句子中有特定意义的实体并将其区分为人名,机构名,日期,地名,时间等类别的任务。   

7. 情感分析

什么是情感分析?情感分析是一种广泛的主观分析,它使用自然语言处理技术来识别客户评论的语义情感,语句表达的情绪正负面以及通过语音分析或书面文字判断其表达的情感等等。

8. 语义文本相似度

什么是语义文本相似度分析?语义文本相似度分析是对两段文本的意义和本质之间的相似度进行分析的过程。注意,相似性与相关性是不同的。

9.语言识别

什么是语言识别?语言识别指的是将不同语言的文本区分出来。其利用语言的统计和语法属性来执行此任务。语言识别也可以被认为是文本分类的特殊情况。

10. 文本摘要

什么是文本摘要?文本摘要是通过识别文本的重点并使用这些要点创建摘要来缩短文本的过程。文本摘要的目的是在不改变文本含义的前提下最大限度地缩短文本。

11.评论观点抽取

自动分析评论关注点和评论观点,并输出评论观点标签及评论观点极性。目前支持 13 类产品用户评论的观点抽取,包括美食、酒店、汽车、景点等,可帮助商家进行产品分析,辅助用户进行消费决策。

11.DNN 语言模型

语言模型是通过计算给定词组成的句子的概率,从而判断所组成的句子是否符合客观语言表达习惯。在机器翻译、拼写纠错、语音识别、问答系统、词性标注、句法分析和信息检索等系统中都有广泛应用。

12.依存句法分析

利用句子中词与词之间的依存关系来表示词语的句法结构信息 (如主谓、动宾、定中等结构关系),并用树状结构来表示整句的的结构 (如主谓宾、定状补等)。

1、NLTK

一种流行的自然语言处理库、自带语料库、具有分类,分词等很多功能,国外使用者居多,类似中文的 jieba 处理库

2、文本处理流程

大致将文本处理流程分为以下几个步骤:

Normalization

Tokenization

Stop words

Part-of-speech Tagging

Named Entity Recognition

Stemming and Lemmatization

下面是各个流程的具体介绍

Normalization

第一步通常要做就是Normalization。在英文中,所有句子第一个单词的首字母一般是大写,有的单词也会全部字母都大写用于表示强调和区分风格,这样更易于人类理解表达的意思。

Tokenization

Token是"符号"的高级表达, 一般值具有某种意义,无法再拆分的符号。在英文自然语言处理中,Tokens通常是单独的词,因此Tokenization就是将每个句子拆分为一系列的词。

Stop Word

Stop Word 是无含义的词,例如’is’/‘our’/‘the’/‘in’/'at’等。它们不会给句子增加太多含义,单停止词是频率非常多的词。 为了减少我们要处理的词汇量,从而降低后续程序的复杂度,需要清除停止词。

Named Entity

Named Entity 一般是名词短语,又来指代某些特定对象、人、或地点 可以使用 ne_chunk()方法标注文本中的命名实体。在进行这一步前,必须先进行 Tokenization 并进行 PoS Tagging。

Stemming and Lemmatization

为了进一步简化文本数据,我们可以将词的不同变化和变形标准化。Stemming 提取是将词还原成词干或词根的过程。

3、Word2vec

Word2vec是一种有效创建词嵌入的方法,它自2013年以来就一直存在。但除了作为词嵌入的方法之外,它的一些概念已经被证明可以有效地创建推荐引擎和理解时序数据。在商业的、非语言的任务中。

### 四、NLP前沿研究方向与算法

1、MultiBERT

2、XLNet

3、bert 模型

BERT的全称是Bidirectional Encoder Representation from Transformers,即双向Transformer的Encoder,因为decoder是不能获要预测的信息的。模型的主要创新点都在pre-train方法上,即用了Masked LM和Next Sentence Prediction两种方法分别捕捉词语和句子级别的representation。

BERT提出之后,作为一个Word2Vec的替代者,其在NLP领域的11个方向大幅刷新了精度,可以说是近年来自残差网络最优突破性的一项技术了。BERT的主要特点以下几点:

使用了Transformer作为算法的主要框架,Trabsformer能更彻底的捕捉语句中的双向关系;

使用了Mask Language Model(MLM)和 Next Sentence Prediction(NSP) 的多任务训练目标;

使用更强大的机器训练更大规模的数据,使BERT的结果达到了全新的高度,并且Google开源了BERT模型,用户可以直接使用BERT作为Word2Vec的转换矩阵并高效的将其应用到自己的任务中。

BERT的本质上是通过在海量的语料的基础上运行自监督学习方法为单词学习一个好的特征表示,所谓自监督学习是指在没有人工标注的数据上运行的监督学习。在以后特定的NLP任务中,我们可以直接使用BERT的特征表示作为该任务的词嵌入特征。所以BERT提供的是一个供其它任务迁移学习的模型,该模型可以根据任务微调或者固定之后作为特征提取器。

模型结构: 由于模型的构成元素Transformer已经解析过,就不多说了,BERT模型的结构如下图最左:

对比OpenAI GPT(Generative pre-trained transformer),BERT是双向的Transformer block连接;就像单向rnn和双向rnn的区别,直觉上来讲效果会好一些。

优点: BERT是截至2018年10月的最新state of the art模型,通过预训练和精调横扫了11项NLP任务,这首先就是最大的优点了。而且它还用的是Transformer,也就是相对rnn更加高效、能捕捉更长距离的依赖。对比起之前的预训练模型,它捕捉到的是真正意义上的bidirectional context信息。

缺点: MLM预训练时的mask问题

[MASK]标记在实际预测中不会出现,训练时用过多[MASK]影响模型表现

每个batch只有15%的token被预测,所以BERT收敛得比left-to-right模型要慢(它们会预测每个token)

BERT火得一塌糊涂不是没有原因的:

使用Transformer的结构将已经走向瓶颈期的Word2Vec带向了一个新的方向,并再一次炒火了《Attention is All you Need》这篇论文;

11个NLP任务的精度大幅提升足以震惊整个深度学习领域;

无私的开源了多种语言的源码和模型,具有非常高的商业价值。

迁移学习又一次胜利,而且这次是在NLP领域的大胜,狂胜。

BERT算法还有很大的优化空间,例如我们在Transformer中讲的如何让模型有捕捉Token序列关系的能力,而不是简单依靠位置嵌入。BERT的训练在目前的计算资源下很难完成,论文中说的训练需要在64块TPU芯片上训练4天完成,而一块TPU的速度约是目前主流GPU的7-8倍。

[img]

gpt4参数量

GPT-4的参数量是在1万亿级别。

GPT-1发布于2018年6月,参数量达1.17亿,预训练数据量约5GB。GPT-1包含预训练和微调两个阶段,考虑到自然语言处理任务中有标签的语料少,GPT-1先在大量的无标签数据上训练语言模型,然后在下游具体任务。

如分类、常识推理、自然语言推理等的有标签数据集上进行微调。在无监督察迅训练中,GPT-1采用Transformer的架构,即标准的语言模型的目标函数,通过前面的词预测后面的词。在有监督训练中,采用标准的分类目标函数。

仅需对第一阶段预训练的语言模型做出很小的结构改变,即可应用于各种下游任务。GPT-1使用了BooksCorpus数据集来训练语言模型,其中有7000余本未出版的书籍。

GPT-4的主要功能

1、自然语言生成:GPT-4可以生成高质量的自然语言文本,包括埋银文章、新闻、小说、对话等。它可以根据输入的主题、关键词和语境,自动产生符合语法和语义规则的文本,达到人类写作水平。

2、自然语言理解:GPT-4可以理解和解析自然语言文本,包括句子结构、语义关系、情感倾向等。它可以识别并提取文本中的关键信息,如实体、事件、时间等,从而实现自动化的信息处理和分析。

3、自然语言对话:GPT-4可以弯没宴进行自然语言对话,包括问答、聊天、客服等。它可以根据用户的输入,自动产生符合语境和上下文的回复,实现自然流畅的交互体验。

自然语言生成概述

近些时间以来,工作内容总围绕着自然语言生成(NLG)方向展开。近些时间,在NLP(自然语言处理)大热的当下,NLG这个方向也渐渐受到关注与发展。其实,自然语言生成(NLG)和自然语言理解(NLU)都是自然语言处理的分支,我们通常所说的自然语言处理主要是关注自然语言理解这块儿,从表面看NLG和NLU是一对逆过程,NLU主要关注点在于以人类语言(自然语言)作为输入,处理后输出机器可读的语义表示;而NLG则是将语义信息以人类可读的自然语言形式进行表达,选择并执行一定的语法和语义规则生成自然语言文本。但实际上,二者的侧重点不同,NLU实际上是使文本的结构和语义逐步清晰的过程,而NLG的研究重点是确定哪些内容是满足用户需要必须生成的,哪些内容是冗余的。【1】虽然侧重点不同,但是二者在NLP这一领域内存在着诸多共同点:1、二者均以语言模型研究为基础;2、二者需要使用语法规则;3、二者都需要解决指代、省略等语用问题等。二者在实际使用中,很多时候相互依赖、相互依存,存在于同一系统的不同阶段,发挥着不同的作用。

就像我们研究NLU(我们期望机器能够理解我们人类的语言)一样,我们也期望机器能像人类一样,能够生成高质量的人类可读的文本(语音)信息,NLG是实现这一目的的关键技术。根据文本的长短,NLG可分为句子生成和篇章生成。比如,在聊天机器陪侍旁人、Image caption中,我们多根据上下文生成句子;而写稿机器人、文案创作等场景中,我们就以篇幅形式的段落文本生成为主要形式。

根据输入信息的不同,NLG又可分为:数据到文本的生成、文本到文本的生成、意义到文本的生成、图像到文本的生成等。如果了解encoder-decoder框架,其实这里也可以这样理解,我们把不同形式的输入编码成某种意义,这样就把不同的输入的编码过程作为上游任务,或者称为语义信息的提取;而后续就作为下游任务,统一为意义到文本的生成。在实际应用中,诸如翻译、摘要等都属于文本到文本的生成,而这一方面的研究又最为突出;图像到文本的生成主要应用于图片描述;数据到文谈亩本的生成应用也颇广,比如新闻生成、文案生成等等。每项技术都极具应用价值并充满挑战,近些年在NLP以及AI领域均有相当多的前沿研究,而且部分研究已经应用到工业应用之中。

NLG技术在系统的研究及使用中积累了诸多经验,经验证及总结,下面对其架构及方法作一概括。

NLG 系统的主要架构可分为流线型(pipeline)和一体化型(integrated)两种,流线型的NLG系统由几个不同的模块组成,各个模块之间不透明、相互独立,交互仅限于输入输出;而一体化的NLG系统各模块之间是相互作用、共同工作的,更符合人脑的思维过程,但是实现较为困难。所以,在实际应用中较为常用的是流线型NLG系统。

如上图所示,典型的三阶段式的NLG系统被划分为文本规划、句子规划、句法实现3个模块。其中,文本规划决定文本要说什么(what);句法实现决定怎么说(how);句子规划则负责让句子更加连贯。

虽然NLG已应用于许多实践当中,但目前对NLG的研究进展远不如NLU。所以,在NLG技术发展的历史过程中,主要包括基于模板的NLG和基于深度学习的NLG方法。

1、基于模板的NLG

NLG模板由句子模板和词汇模板组成。句子模板包括若干个含有变量的句子,词汇模板则是句子模板中变量对应的所有可能的值。为方便理解,下面引用文献【1】中的一个例子:

center询问天气场景中的句子模板/center

center询问天气场景中的词汇模板/center

实际工作中,基于模板的NLG技术在项目初期使用较多,由于其可控性,对于语言较为芦橡严谨的很多领域中使用极为普遍。

2、基于深度学习的NLG

伴随深度学习的热潮,以及机器翻译相关研究的快速发展,基于深度学习的NLG技术也有了较为突出的进展。尤其是encoder-decoder框架的流行,使得该框架下的seq2seq技术也得到了快速发展,尤其是18年末Bert的提出,将NLP研究推上了一个新的高度。基于深度学习的NLG任务也是使用seq2seq体系结构,我们这里主要聊一下data2text这种生成任务,根据输入信息的区别,其过程分为训练阶段和生成阶段。

(1) Training阶段。在训练阶段,encoder和decoder都需要输入信息。encoder端的输入为结构化或者半结构化的数据信息,decoder端的输入为encoder端输入信息所对应的文本信息,也可简单的理解为序列标签信息,直观地可以看出,training阶段是有监督的学习。encoder负责将输入编码成一条语义向量C,然后语义向量C作为decoder的初始状态参与decoder进行解码预估。

(2)Generation阶段。在生成阶段,decoder端不再需要外部输入信息,其网络结构需稍作改造,后一位的输入为前一时间步的输出,也就是构建RNNLM(RNN语言模型)。

基于上述的描述,这里对基于深度学习的data2text生成做一个简要的总结。

了解了上一部分的NLG体系结构,下面对NLG相关任务进行探讨。通常,通过将输入数据分解成若干个子问题来解决将输入数据转换成输出文本的NLG问题。通过对多数NLG系统总结,我们可以大致把NLG的任务分为:

(1)确定内容:决定即将构建的文本中应该包含哪些信息;作为生成过程的第一步,NLG系统需要决定哪些信息应该包含在正在构建的文本中,哪些不应该包含在其中。该部分最大的进步应该算是对齐机制的提出,解决了如何自动学习数据和文本之间的对齐关系的问题。

(2)文本结构:确定文本中呈现信息的顺序;在确定了要传递什么消息之后,NLG系统需要决定它们向读者呈现的顺序。

(3)句子聚合:决定在单个句子中呈现哪些信息;并非文本计划中的每一信息都需要用一个单独的句子来表达;通过将多条消息组合成一个句子,使得生成的文本变得更流畅、更具可读性。尽管也有一些情况认为应避免聚合,总的来说,聚合很难定义,也很难实现,我们可以用各种方式解释,比如从冗余消除到语言结构组合。这里对上述语言进行“聚合”一下,就是如何用言简意赅的话语准确表达想要表达的语言信息。

(4)词汇化:找到正确单词或短语来表达信息;即用什么词或短语来表达消息的构建块。通常情况下,上下文约束在这里也扮演着重要的角色,所以这一点在中文NLG任务中尤为突出。

(5)引用表达式生成:选择单词和短语以标识域对象;这种特征表明与词汇化有着密切的相似性,但本质上的区别在于,引用表达式生成是一项“识别任务,系统需要传递足够的信息来区分一个域实体和其他域实体”。这一个task好抽象,白话解释一下,词汇化阶段主要是选用合适的词或短语表达上下文相关的语义信息,而引用表达式生成阶段的任务首先是识别要表达的对象,然后用合适的词或短语表示它。

(6)语言实现:将所有单词和短语组合成格式良好的句子。这项任务涉及到对句子的成分进行排序,以及生成正确的形态形式,通常还需要插入功能词(如助动词和介词)和标点符号等。上部分提到的NLG方法准确的说应该就是这里的语言实现方法。再来个模板表达的例子,

下面引用一段话来总结一下上述几个任务之间的逻辑关系。这些任务可以从“早期”决策过程(向读者传达哪些信息?)到“后期”(在特定句子中使用哪些单词,以及如何将它们按正确的顺序排列?)的决策过程的角度来考虑。在这里,我们通过区分更倾向于数据的选择(例如说什么)和具有越来越语言性的选择(例如,词汇化或实现)来指代“早期”和“后期”任务【3】。

对于最终生成结果的评价细分为线下评价和线上评价。

线下评价是为了对文本本身的质量作出量化。如何对生成的文本进行评价也是文本生成研究中重要的一环。Gkatzia[5]总结2005年到2014年间的常用的针对文本生成的评价方法,将其分为内在评价和外在评价方法。其中内在评价关注文本的正确性、流畅度和易理解性。常见的内在评价方法又可分为两类:第一种是借鉴翻译、摘要中基于数据的方式,采用BLEU、NIST和ROUGE等方法从数据角度进行自动化评价,通过计算生成文本和训练文本间的相似度来衡量生成质量;第二中是专家模式。通过人工评价,从有用性等对文本进行打分。外在评价则关注生成文本在实际应用中的可用性,这方面我们主要是在前面内在评价方式中设定相应阈值,以获取较好效果的文本,必要时再做人工review。

线上评价则是业务导向,我们的直接指标便是点击率或者APP进入率,根据对这些指标判断是否达到预期点击率的提升或者实际的营销效果。

本文对自然语言生成作了概要性的描述,由于该领域在实际应用中并不成熟,相关研究及实现与自然语言理解方向相差甚远,但是近些时候随着NLP整体发展的进步,以及诸多工业界的现实需求,NLG的相关研究及工程实现也受到了诸多关注。

由于理解及知识的偏差,文中或多或少存在不当之处,欢迎批评指正,也希望能与更多在此方向研究或有实践经验的牛人共同探讨学习。

【1】自然语言处理实践:聊天机器人技术原理与应用

【2】Survey of the state of the art in nature language generation——core tasks, applications and evaluation

【3】Learning Neural Templates for Text Generation,Wiseman, Shieber, Rush; EMNLP 2018

【4】万小军,冯岩松,孙薇薇. 文本自动生成研究进展与趋势. CCF 中文信息技术专业委员会

【5】 Gkatzia D, Mahamood S. A Snapshot of NLG Evaluation Practices 2005-2014[C]//Proceedings of ENLG. 2015.

【6】 Reiter E. An architecture for data-to-text systems[C]//Proceedings of the Eleventh European Workshop on Natural Language Generation. Association for Computational Linguistics, 2007: 97-104.

认知智能2.0有哪些任务

认知智能2.0是指一种人工智能的技术,主要用于解决自然语言处理(Natural Language Processing,NLP)中的一些问题。以下是认知智能2.0的一些主要任务:

1. 自然语言理解(Natural Language Understanding,NLU):将人类自然语言输入转化为机器可以理解的语义信息。这项任务包括词法分析、句法分析、语义分析和指代消解等。

2. 自然语言生成(Natural Language Generation,NLG):将机器生成的语义信息转化为自然语言输出,使人类可以理解。这项任务包括文本配返前生成、摘要生成、翻译等。

3. 对话系统(Dialogue Systems,DS):使机器能够与人类进行自然交互,包括一个或多个对话系统的设计、开发和部署。此外,还需要进行意图识别、意图分类等相关任务。

4. 知识抽取(Knowledge Extraction,KE):从非结构化数据中提取出结构化的知识信息。这项任务包括实体提取、关系提取、事件提取等世稿。

5. 知识图谱(Knowledge Graph,KG):将机器理解的语义信息表现为结构化知识图谱,使得信息培清之间有明确的联系。这项任务包括知识表示、知识推理、知识融合、知识应用等。

总的来说,认知智能2.0主要解决的是自然语言处理的问题,能够为各种应用场景提供更准确、更高效、更人性化的服务,例如智能客服、智能问答、智能交互等。

如何自然形成人类自然语言?怎么才能形成自然语言?为什么自然语言能够产生

个人以为,人类自然语言的形成是一个漫长的进化过程,首先是笑裤鸣叫,慢慢由鸣叫演化成不同声调的鸣叫,渐渐将鸣叫语意化最终发展成自然谨腔语言。祥升衫

人工智能的应用领域有哪些?

人工智能主要应用备盯领域包括:1、农业方面。2、通信方卜塌面。型滚圆3、医疗方面。4、社会治安方面。5、交通领域方面。6、服务业方面。7、金融行业方面。

关于自然语言生成和自然语言生成评价问题与挑战的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表