点击下面卡片关注我呀,每天给你送来AI技术干货!

来自:复旦DISC

引言

随着自然语言处理的不断发展和机器学习的分支的完善,在自然语言处理的应用方面和心理语言学领域方面出现了很多新的方法和突破,这篇文章将介绍三篇这方面的论文,其中两篇专注于nlp的应用,另外一篇和心理语言学有关,来深入了解nlp的实际运用,计算机处理人类语言的一些障碍,还有一些未来的可研究的方向。

文章概览

Select, Extract and Generate: Neural Keyphrase Generation with Layer-wise Coverage Attention

论文地址:https://arxiv.org/pdf/2008.01739.pdf

关于关键词提取之前就有catSeqCorr,catSeqD,catSeqTG,这几种最先进的方法,但是他们的效率仍然有待改进,并且他们对Absent关键词的预测能力也不够好,本文介绍了一种基于分层覆盖的新的关键词提取方法,比以往的方法更加有效,也能够更加充分的提取文本中的关键词。

Lower Perplexity is Not Always Human-Like

论文地址:https://aclanthology.org/2021.acl-long.405.pdf

这篇论文主要是来源于之前的一篇报告中的错误结论(如标题),事实上这篇报告的结论都是基于英语为语言模型的基本语言提出的,但是对于其他语言,例如日语,这个结论就不再适用,这篇文章主要分析了不同语言句子结构,困惑度,以及预测能力之间的对比,从而论证了作者的观点,并期望语言模型能够具有更好的普遍性,不单单以英语为基准。

Controversy and Conformity: from Generalized to PersonalizedAggressiveness Detection

论文地址:https://aclanthology.org/2021.acl-long.460.pdf

攻击性检测是之前的一个自然语言处理的分支,但是过于泛化用户,默认所有用户有统一的偏好显然是不够完善的,由此产生了一些有争议的不能被很好的检测出来的文章,这时候之前的方法就失去作用了,于是就需要一个更加完善的,基于用户标记,分类的个性化攻击性检测,本文就主要介绍了这样一种方法。

论文细节

1

论文动机

目前的关键词提取技术的第一步文本输入,主要分为两种,一种是分段处理,一种是部分处理,但是这都会导致关键词的缺失,另外这些提取方法的整体效果也不是太好,作者就介绍了一种新的结构。

这种结构是基于分层覆盖(layer-wise coverage attention)的,另外之前在生成absent关键词方面的不足在运用了新的这种结构后也有所提升,作者就想要用卷积神经网络嵌入层,字符级嵌入来对输入文本进行处理,之后使用最大池化和均值池化,通过一个三层的,批标准化(batch-normalized)的maxout网络选出显著句(salient sentence),进行关键词的提取和生成。

模型

作者在本文中提出了一种分层覆盖attention机制的关键词提取方法SEG-NET(Select,Extract, and Generate Networks)。和之前的关键词提取方法相比,作者采用了一个神经的关键词提取方法,它可以最大限度的保证文章可能包括关键词的句子的完整性,并使用了新型的分层注意力机制来概括句子的特征,从而更好地提取关键词,这是之前的方法做不到的。

模型包括两个关键部分:句子选择器、关键词提取和生成器。其中关键词提取和生成器架构如下图所示。

(1)Sentence-Selector 主要包含了将输入单词映射到维向量的层,转化编码层,以及一个三层的,批标准化的maxout网络用来预测显著句。

(2)Extractor-Generator 主要由三个部分构成:Encode,Extractor和Decoder,其中present关键词由Extractor计算概率生成,Decoder用于生成absent关键词,Encoder用于处理输入单词。

实验

作者使用5个科学方面的语料库和两个网站资料的语料库进行实验,使用其中最大的KP20k作为主要语料库,其他四个科学语料库用于整合调整KP20k中的数据,使用Adam优化算法,批尺寸为80,学习率为10^-4,实验的结果如下

其中横轴表示文本的数量,可以看出文本数量越多之前的方法效果下降得越厉害,但是SEG-NET总是优于其他方法的,纵轴是F1-Score,可以看出无论是present关键词的提取还是absent关键词的生成,SEG-NET的总体效果还是比较好的。这是由于之前的方法没能很好的运用深度神经网络来处理长文本,本篇论文介绍的方法就实现了这一点,明显提高了效果。

2

论文动机

在以往的一篇报告中提到语言模型的困惑度越低,就代表这个模型越似人类(human-like)但事实上这个结论是不具有普遍性的。

对于作者的母语即日语这个结论就不能很好的适用,所以这篇论文就通过建立一系列的模型对比两种语言之间的差异,探索了语言模型的困惑度,预测能力和语言的句法之间的关系,以最近的这方面的实验为基础很好的证明了作者提出的这个猜想。

方法

本文采用的方法并不算新奇,主要是验证了作者对于之前的一篇报告提出的质疑,作者使用的模型有Transformer-large,Transformer-small,LSTM和N-gram语言模型。

作者还将这些语料库进行了BPE处理,分成小段(subword),同时用到了Eye movement data来丰富实验材料,研究了困惑度(PPL),预测能力(Psychometric predictive power)和句法对预测能力的影响之间的关系,(使用了不同的模型(约35种),比较英语和日语之间的关系,下面是预测能力的有关参数。

其中w代指分成的subword,第二张图片是surprisal的计算公式,GD即gaze duration,后两张图片的计算和预测能力相关。

实验

作者使用的语料库为英文:WikiText-103,日语:维基百科上的日语文章。eyement data使用的语料库英语为The Dundee Corpus,日语为 The BCCWJ-EyeTrack。

训练集作者分别选取了full,1/10,和1/100 训练语料库的样本数,剩下的数据用于验证集和测试集。实验的结果如下。

Data Size有LG,MG,SM三种; 参数更新有四种100k,10k,1k和100; 第一张图为英语,日语预测能力和模型困惑度之间的关系; 图二为英语和日语在不同数据量,参数更新,不同的语言模型下的对比; 图三则为语言的句法语法对于语言模型的困惑度,预测能力之间的比较。

可以看出,英语和日语之间的预测能力并不是都随着困惑度降低而提高,日语的预测能力随着困惑度的变化显得很乱。

日语的预测能力在参数更新较慢时较高,但是英语不是这样,不同模型对结果的影响并不大,训练集的数据量只会对英语产生正面的影响,另外参数更新也只对英语起作用,其中没有因素能够同时作用两种语言,验证了不同语言之间的句法不同导致的nonuniformity,和作者的猜想。

3

论文动机

在网站上搜寻资料的时候,往往会被推送一些有进攻性的内容,这对于用户是不小的负面影响,所以这些不恰当内容的的检测和过滤显得很重要,本文就重点介绍了一种个性化的检测攻击性内容的方法。

方法

作者选用的语料来自于之前的广泛检测(generalized detection)方法不能很好识别的文章,更好的提升性能,另外作者使用的是基于一致的(conformity-based),基于分类和注释的嵌入的方法来对文本进行分类,其最特殊的地方就是考虑到了不同用户之间的偏好和belief。

大致步骤就是首先让用户对所给的文本进行分类,第二步是通过第一步所产生的数据来提取用户的偏好信息,第三步是从已分类的用户中选出一部分再对新给出的文本进行分类,这里所产生的数据和第二步产生的数据可以用来训练分类器。剩余其他用户所分类产生的文本则用来当作验证集。

其中要用到的几个参数相关信息如下,其中第一个公式用于计算controversy,这个参数用于表示不同用户对于一篇文章的看法是否统一,第一个公式中的d是文章的标号,0代表负面,1代表正面评价,n代表数量,公式二c代表文章的类别,l是用户对文章的标记,d代表文章,a代表用户,第三个公式是第二个公式的加权,所以相似,另外考虑了被评价的文章和总体的比率。

实验

作者所用的数据集来自Wikipedia Talk Labels。这些文本分为3类,非常有进攻性,中性和友好的,然后文本又被分为两类0代表nonaggressive,1代表aggressive。另外,这些文本也经过了一次过滤。

最终的实验结果如下:

其中可以看出对于有争议的文本,之前的generalized检测方法效果很差,但是经过用户的标记数据的输入之后,产生的结果会好很多,随着文本数量的增加这种优势更加凸显了。最后一张图是作者所设计的不同方法之间的比较。

供稿丨莫    凡编辑丨赵    刚责编丨丁佳玙


供稿人:莫凡丨本科生三年级丨研究方向:社会计算与论辩挖掘丨邮箱:1607354435@qq.com

投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

点击上面卡片,关注我呀,每天推送AI技术干货~

整理不易,还望给个在看!

【2021ACL】NLP的应用相关推荐

  1. NLP自然语言处理工具小结

    20220331 https://zhuanlan.zhihu.com/p/79202151 BM25 https://github.com/v1shwa/document-similarity wo ...

  2. ELECTRA 超过bert预训练NLP模型

    论文:ELECTRA: Pre-training Text Encoders As Discriminators Rather Then Generators 本文目前在ICLR 2020盲审中,前几 ...

  3. NLP突破性成果 BERT 模型详细解读 bert参数微调

    https://zhuanlan.zhihu.com/p/46997268 NLP突破性成果 BERT 模型详细解读 章鱼小丸子 不懂算法的产品经理不是好的程序员 ​关注她 82 人赞了该文章 Goo ...

  4. Pytorch | BERT模型实现,提供转换脚本【横扫NLP】

    <谷歌终于开源BERT代码:3 亿参数量,机器之心全面解读>,上周推送的这篇文章,全面解读基于TensorFlow实现的BERT代码.现在,PyTorch用户的福利来了:一个名为Huggi ...

  5. 最强 NLP 预训练模型库 PyTorch-Transformers 正式开源:支持 6 个预训练框架,27 个预训练模型...

    先上开源地址: https://github.com/huggingface/pytorch-transformers#quick-tour 官网: https://huggingface.co/py ...

  6. 5 分钟入门 Google 最强NLP模型:BERT

    BERT (Bidirectional Encoder Representations from Transformers) 10月11日,Google AI Language 发布了论文 BERT: ...

  7. NLP进阶之(七)膨胀卷积神经网络

    NLP进阶之(七)膨胀卷积神经网络 1. Dilated Convolutions 膨胀卷积神经网络 1.2 动态理解 1.2.2 转置卷积动画 1.2.3 理解 2. Dilated Convolu ...

  8. PyTorch在NLP任务中使用预训练词向量

    在使用pytorch或tensorflow等神经网络框架进行nlp任务的处理时,可以通过对应的Embedding层做词向量的处理,更多的时候,使用预训练好的词向量会带来更优的性能.下面分别介绍使用ge ...

  9. 基于OpenSeq2Seq的NLP与语音识别混合精度训练

    基于OpenSeq2Seq的NLP与语音识别混合精度训练 Mixed Precision Training for NLP and Speech Recognition with OpenSeq2Se ...

  10. NLP学习 资料总结

    NLP目前应用于7个重要领域: 1.句法语义分析:对于给定的句子,进行分词.词性标记.命名实体识别和链接.句法分析.语义角色识别和多义词消歧. 2.信息抽取:从给定文本中抽取重要信息.通俗来说就是,了 ...

最新文章

  1. 同时使用多网卡提升树莓派网络利用率
  2. Android开发视频教程
  3. 35解释器模式(Interpreter Pattern)
  4. 【算法】二进制 与、或、异或运算
  5. iOS: AFNetworking手动配置(iOS7.1, AF2.2.4)
  6. 这样的AI技术实战方式,大boss都看不下去了!
  7. Teamviewer 曝重大安全漏洞,攻击者可任意控制用户或属乌龙事件!(内附安全处理建议)...
  8. smale学习之数学表达式(day1)
  9. ADSL密码查看器绿色版
  10. c语言中字符串变量怎么定义,字符串变量是什么意思
  11. 索尼录音笔怎么导出录音内容_搜狗AI走向产业改造:纵横捭阖术与录音笔的新声态...
  12. 2.使用RNN做诗歌生成
  13. 【毕业设计】大数据分析的客户细分 (聚类分析) - python k-means
  14. 【诗词】曹雪芹:红豆词
  15. K-mean(多维度)聚类算法(matlab代码)
  16. 原理c语言for循环延时1s,for循环实现C语言精确延时
  17. css3画各种三角形(transparent)
  18. 手写数字的识别分类+技术总结
  19. 威马EX5量产车如期交付,明年将以10万台冲击B级SUV市场
  20. 表情自动生成器java代码实现

热门文章

  1. python--os模块
  2. LINUX-iostat命令讲解
  3. [转]C++日志系统log4cxx使用总结
  4. 每日英语:6 Brainy Habits of the Wisest People
  5. C语言学习——bsmap-2.74_main.cpp
  6. SEO是什么?SEO的作用?SEO的推广特点?
  7. PHP多线程pthreads
  8. JavaScript 函数 对象 数组
  9. Ubuntu16.04 + ROS下串口通讯
  10. 接口Request传参的常用注解