热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

论文解读:SentiPrompt:SentimentKnowledgeEnhancedPromptTuningforAspectBasedSentimentAnalysis

论文解读:SentiPrompt:SentimentKnowledgeEnhancedPrompt-TuningforAspect-BasedSentimentAna
论文解读:SentiPrompt: Sentiment Knowledge Enhanced Prompt-Tuning for Aspect-Based Sentiment Analysis

简要信息:

序号属性
1模型名称SentiPrompt
2所属领域自然语言处理;情感分析
3研究内容预训练语言模型;Prompt框架
4核心内容Prompt-based Fine-tuning
5GitHub源码https://github.com/MrZixi/SentiPrompt
6论文PDFhttps://arxiv.org/pdf/2109.08306.pdf

核心要点:

  • 首次将prompt用于方面级情感分析任务(ABSA);
  • 提出SentiPrompt-tuning,给定已知的aspect和opinion,构建continous template预测对应的sentiment polarity类别;
  • 使用BART预测aspect和opinion在句子中的索引;



一、任务背景

  方面级情感分析(Aspect-based Sentiment Analysis, ABSA)任务是一种较为细粒度的情感分析任务,其旨在需要抽取aspect、对比polarities以及寻找opinion;整个任务目的寻找每个成分的情感取向及原因,并判断整个情感取向。

  例如如图所示:
在这里插入图片描述
给定一个句子,先前的方法则通过若干sub-task解决ABSA任务:

  • Aspect Term Extraction & Sentiment Classification:抽取相应的aspect(例如owners、beer selection等“主人公”)以及他们的情感取向(分类任务,例如positive);

Aspect Term Extraction and Sentiment Classification (AESC) requires extracting the aspect terms and classifying the sentiment polarities about them


  • Pair Extraction:抽取aspect的同时,抽取相应的观点描述(例如great fun、worth staying for)

Pair Extraction (Pair) extracts the aspect terms as well as the corresponding opinion terms simultaneously


  • Sentiment Triplet Extraction (Triplet):同时抽取aspect、sentiment以及opinion,例如(owners, great fun, positive)

  因此本质上ABSA是一个信息抽取的任务,即给定一个文本,其需要抽取的aspect(aaa)和opinion(ooo)属于文本中的某个区间span text,抽取的sentiment polarity(sss)则是最终的感情取向(positive、negative和neutral)

二、动机


  • 先前工作解决ABSA的sub-task采用pipeline方法,非端到端的方法容易造成误差传播问题。后来端到端的神经网络用于解决ABSA任务,因此可以联合抽取aspect、opinon和polarities。
  • 现如今常用预训练语言模型,但其pre-training的目标与fine-tuning存在差异,限制了先验知识的利用潜能;
  • Prompt-tuning提出很好的解决了pre-training和fine-tuning之间的gap,其根据设计的prompt实现下游任务的预测。目前人工构建的prompt成本较高;

三、方法


3.1 任务描述

  给定一个文本 X=[x1,x2,⋯,xn]X=[x_1, x_2, \cdots, x_n]X=[x1,x2,,xn],三个sub-task的输出分别表示为:
在这里插入图片描述
本文提出模型如下图:
在这里插入图片描述
其主要包括两个部分:

  • SentiPrompt tuning:在给定输入句子以及aspect以及opinion的前提下,设计continuous template实现对sentiment polarity的分类预测;
  • Generation:用来生成aspect和opinion的在句子中的索引;

3.2 SentiPrompt Tuning

Sentiment Knowledge Enhanced Prompt Construction

  给定一个文本“Good Sushi High Price”,采用continous方法构建template TTT,其包含pseudo token PkP_kPk(什么是pseudo token?可参考P-tuning)以及随机挑选的groud truth aspect(记作 AAA,例如Sushi、Price)和opinion(记作 OOO,例如Good、High):
在这里插入图片描述
  当已知aspect以及opinon组成的pair时(例如已知一个groud truth(Sushi,Good)),则直接在上面构建的template后缀添加额外的template,表示预测这个pair的sentiment polarity:
在这里插入图片描述
因此两者结合可以表示为:
在这里插入图片描述
例如template可以设计为:
在这里插入图片描述

第一个[MASK]位置的label word为 {“yes”, “no”},第二个[MASK]位置的label word为 {POS, NEG, NEU}。

  下图中给出了示例“Good Sushi High Price”对应的template:
在这里插入图片描述
任务目标则为传统的交叉信息熵:
在这里插入图片描述

Prompt Encoder
  该部分直接利用P-tuning,对所有普通的token以及pseudo token先使用BART的embedding进行初始化:
在这里插入图片描述
其次将所有pseudo token喂入LSTM和MLP后得到隐状态向量:
在这里插入图片描述
最后将所有pseudo token替换掉原始的BART embedding,而aspect、opinion 以及[MASK] token保持原来的embedding,最终得到新的embedding:
在这里插入图片描述
  将新的embedding喂入BART模型中,根据Masked Language Model,可以预测每个[MASK]位置的词。

3.3 Generation Framework for ABSA

  BART模型主要分为Encoder和Decoder。Encoder部分为原始的非自回归Transformer模块,用于对句子进行表征,Decoder为自回归模块,本文扩展BART并应用到ABSA任务熵,具体设计如下:
Encoder
  Encoder用于表征输入句子,并获得隐状态向量:
在这里插入图片描述

Decoder
  在第 ttt 时刻,输入Encoder的隐状态向量 HeH^eHe,以及前 t−1t-1t1 个已经生成的结果(token word),输出当前时刻预测的token索引。
  因为自回归模型是将上一次的输出作为下一次的输入,而BART输出的是索引,输入的是token,因此需要进行index convert:
在这里插入图片描述

因为输出的label中,除了原始句子中的token外,还有额外的polarity class:POS、NEG和NEU,因此如果生成的索引属于原始句子,则取句子中的token,否则取polarity class。

  因此BART的decoder自回归模型输出可表示为:
在这里插入图片描述
  最后在训练时,SentPrompt-tuning和Generation两个部分的目标进行加权求和:
在这里插入图片描述


推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • AstridDAO 专访:波卡稳定币黑马 BAI
    加入Pol ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • Thisworkcameoutofthediscussioninhttps://github.com/typesafehub/config/issues/272 ... [详细]
author-avatar
手机用户2502941531
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有