1. 背景
情感分析是 NLP 的一个主要分支,在学术界和工业界都得到了广泛的研究。在语义分析会议中,有一个单独的情感分析任务分支,其中最困难的任务被称为 ABSA:基于方面的情感分析。例如,对于以下句子,
新版本英雄皮肤很不错,但是游戏经常断线
为了能够识别此类情绪标签结果:
其中,[hero, game]为实体(),[, ]为方面(),ABSA的任务是识别句子中关于某些实体的某些方面的积极情绪和消极情绪。
从结果来看,目前还没有技术可以在无监督的情况下解决这个任务。既然需要监督学习,那么标注就必不可少。借助现有的工具来提升标注效率,具有十分重要的工程意义。
本文主要介绍如何使用 BRAT 为 ABSA 问题标注语料。如何使用这些标注构建模型来解决 ABSA 问题将在后续文章中介绍。本系列的所有工作都是企鹅新闻团队辛勤工作的成果。
()。
2. BRAT 简介
BRAT 是一款基于 Web 的文本标注工具,主要用于对文本进行结构化标注。BRAT 生成的标注结果可以将非结构化的原始文本结构化,方便计算机处理。通过该工具可以轻松获得各类 NLP 任务所需的标注语料。以下是使用该工具对命名实体识别任务进行标注的示例:
步骤1:安装BRAT
brat的安装非常简单,只需要一个类Unix系统和一个支持web的CGI环境即可,具体安装过程官网上写的很清楚,需要注意的是需要合理设置web下各个路径的权限,并且支持
步骤2:注释配置
brat通过配置文件来确定语料库的标注可以满足哪些任务,包括四个文件
一般只需要修改.conf即可,用于配置注解的数据结构,典型配置如下:
[]
英雄
技能
[]
联盟 Arg1:英雄,Arg2:英雄
具有 Arg1:英雄、Arg2:技能
[]
:英雄,:英雄
[]
攻击力Arg:,值:1|2|3|4|5
每个文件需要包含四种类型的模块: 、 、 、 。每个模块都可以定义为空,其中
用于定义注释的实体名称。格式为每行一个实体类型,如:人名、地名、英雄名、技能名等。
用于定义实体之间的关系。格式是每行定义一个关系。第一列是关系类型,后面是以逗号分隔的 ArgN:实体名称,用于表示关系中的各个利益相关者。例如示例中,英雄之间存在联盟关系。
用于定义事件。每行定义一种事件类型。第一列是事件名称,后面是以逗号分隔的实体名称,用于表示事件的参与者。例如示例中的 1v1 事件需要多个英雄参与。
用于定义属性,每行一个属性,第一列为属性名称,后面依次为Arg:、Value:属性值,以逗号分隔。注意可以有多个属性值。例如示例中定义了实体类型可以具有攻击力,取值范围为1~3
特别注意:brat本身不支持中文,如果在配置文件中定义中文会报错,解决办法是修改.//src/.py文件第163行,增加中文支持:
n=re.sub(u'[^a-zA-Z\u4e00-\u9fa5,0-9_-]', '_', n)
步骤 3:导入数据
brat 将需要标注的数据放在 data 目录下,每个子文件就是一个项目,可以看到默认有两个目录,里面有各种教程和示例项目,你可以定义自己的项目,比如 data//bee/。每个项目至少需要包含一个 txt 文件和一个 ann 文件,其中 ann 是标注结果写入的文件,txt 是标注数据文件。另外自定义的配置文件也必须放在项目目录下,否则系统会使用默认配置
步骤 4:标记数据
接下来就可以对语料进行标注了,第一步安装完成后,应该可以在配置的地址访问brat主页,默认会提示选择项目路径,比如
你可以根据你的项目路径定位到需要标注的文本文件,打开后默认加载之前的标注结果,此时你就可以对文本进行标注了(注意必须先登录)
注释方法非常简单直观,首先选中需要注释的文本,然后会弹出该文本的注释类型:
在这里您可以选择实体类型、事件类型和属性。
对于两个注释部分,您可以从一端拖动到另一端来注释关系:
3.ABSA注释结构
以上就是使用 BRAT 进行标注的方法,对于 ABSA 问题,需要对每一段文本进行标注,特别地,对于文本中 ABSA 问题的 slot 2,需要对文本的意见段进行标注,我们使用 BRAT 解决这个标注的方案是:
将实体定义为对
定义一个实体,其属性值范围为[正面,负面,中性]
因此.conf中的内容如下:
[]
角色、操作
角色,视觉
[]
[]
[]
:,值:积极|消极|中性
为了直观,我还特意定义了可视化的配置.conf(这部分规则这里就不详述了,感兴趣的可以参考官网):
[]
[]
:黑色的,:,
:
:黑色,:-5
角色、操作感:#
情感
最终注释效果如下:
这样就可以针对ABSA任务对每个进行标注了,最终的标注结果格式如下:
T2角色,操作手感2332艾瑞克,手感非常好
A2 情绪 T2 积极
T3角色,操作感3644操作通用墙
A3 情感 T3 中性
T4角色,操作感4454 操作好可以用Rondo
A4 情感 T4 中性
T5角色,操作的本质是准确
A5 情绪 T5 负面
T1角色,外观类似猛龙时期,发型很酷。
A1 情绪 T1 积极
以上就是使用标注工具BRAT标注ABSA题目的全过程,目前brat官网上还没有情绪任务的标注示例,所以提供此文,帮助有需要的人减少学习成本。
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。