项目记录 基于多模型实现网络评论的情感分类(以性别歧视为例)

前言

这是北京大学自然语言处理的经验性方法第二次作业,由于选课人数非常少,因此老师十分负责,在此默默感谢老师的付出,可惜我太菜了,大概是没法加入您的实验室,只能以这种方式感谢老师的付出吧~希望我也能像那些历史上的伟人一样,做出一些能让老师您骄傲的东西。

摘要

该任务为SemEval-2023 Task 10: Explainable Detection of Online Sexism,本文主要介绍了利用sexism2022数据集进行多模型测试,并最终选取表现最好的模型为最终模型。测试的模型包括Loglinear, Bert+FC,,进行预测。并尝试能否通过组合以上模型的结果,使得准确率更高。GitHub

我的工作只是搭建了一个平台用于测试,但是目前受限于作业,我只实现了支持以上两种模型的训练函数,以及配套的验证函数,至于更加通用的平台,可能得等到以后如果我有幸能够研究这个领域才会去扩充啦~或许等我考研上岸闲来无事去扩充也有可能呢?

Method(方法)

任务描述

对于该任务,其本质是对语句进行情感分类,任务中的具体细度只是二分类到多分类的区别。下面以二分类为例,对于训练集 Ω = { ( x 1 , y 1 ) , . . . , ( x n , y n ) } \Omega = \{(x_1, y_1), ..., (x_n, y_n)\} Ω={(x1,y1),...,(xn,yn)}我们的目的是为了寻找一个分类器,使得对于每一个输入 x i x_i xi都能给出一个输出 y i ^ \hat{y_i} yi^,并使得这个输出的准确率尽可能高。 m o d e l ( x ) = arg ⁡ max ⁡ m o d e l ( . ) ∈ V P ( m o d e l ( x i ) = y i ) (1) model(x) = \mathop{\arg\max}\limits_{model(.)\in V}P(model(x_i)=y_i)\tag{1} model(x)=model(.)VargmaxP(model(xi)=yi)(1)
其中 V V V表示全部的模型空间,当然我们很难取便全部的模型,因此这里只看作在某类模型的参数空间。P表示对任意输入,输出标签与真实标签相等的概率。

对于输入的文本 t i t_i ti,我们通过特征函数 f ( t ) f(t) f(t)将其编码为特征,再使用分类函数 C ( f ) C(f) C(f)将特征转变为不同标签的概率,最终答案则是取概率最高的标签 y i ^ = arg ⁡ max ⁡ y i ^ ∈ θ P ( C ( f ( t i ) ) = y i ^ ) (2) \hat{y_i} = \mathop{\arg\max}\limits_{\hat{y_i}\in \theta}P(C(f(t_i))=\hat{y_i})\tag{2} yi^=yi^θargmaxP(C(f(ti))=yi^)(2)
其中 θ \theta θ是标签的集合。

于是我们的目的就可以化简为一下两项:

  • 寻找合理的特征函数 f ( t ) f(t) f(t)使得能够将语句中关键特征保留
  • 对已经编码的特征进行尽可能精确地分类函数 C C C

下文中对每个模型的介绍都将从这两部分介绍,并分析出现的问题,之后将会进行模型间的对比,以及尝试提出新的改进方式。

LogLinear模型

模型假设

假设一句话的意思只和这句话中的词的意思有关,且词出现的先后顺序对这句话的意思没有影响。

特征函数

我们先构建字典,其方式是选取训练集中出现的每个词放入字典,然后根据字典中出现的词的频率排序,选取前80%的词作为特征,特征总共 r r r维,第k维即为该句子中有几个词 w k w_k wk。该方法也称为One-Hot。

分类器

这里无非是对每个词进行加权,从而获得结果而已。

Bert+FC模型

模型假设

假设一句话的意思是由其更深层的抽象特征决定的。而BertBlock就是用来提取该特征的。

特征函数

利用Bert的tokenizer来对句子进行编码,然后再进入BertBlock中提取特征。其维数为768维。

分类器

这里无非是对每个特征进行加权,从而获得结果而已。

后记

可能写的比较仓促吧,具体的实验过程以及遇到的问题可以参看github里面的pdf文件,那个是我的作业报告。如果由写的不好的地方,也希望各位大佬批评指正~在此感谢我的老师。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值