海海艺思创

首页/ AI写作教程/ SetFitABSA 方面情感分析:读者反馈如何按对象标注与复核

AI写作教程

SetFitABSA 方面情感分析:读者反馈如何按对象标注与复核

一条反馈同时肯定示例、批评步骤和抱怨工具时,不宜只保留一个整句情感标签。本文提供对象级标注模板、训练预测流程示意、混合情感检查样本及复核记录表。资料包仅确认官方博客索引收录相关文章,未提供正文、当前接口或中文支持说明,因此不提供未经核对的安…

SetFitABSA 方面情感分析:读者反馈如何按对象标注与复核

评价对象与接入边界

例如:示例很清楚,但步骤跳得太快,工具还经常卡住。这是一条原创构造样本,不是用户原始反馈,也不是模型输出。编辑需要分别保留示例的正面评价、步骤的负面评价和工具的负面评价,而不是把整句话压成一个标签。

本题要解决的是评价对象提取与对象对应的情感判断,不是把文章分到某个栏目,也不是发现反馈主题。对象原文与业务归类也应分开:工具是文本中出现的对象,工具体验是团队定义的归类。

反馈编号对象原文业务归类情感判断依据
demo-01示例示例质量positive很清楚
demo-01步骤步骤完整性negative跳得太快
demo-01工具工具体验negative经常卡住

资料来源为 Hugging Face Blog 索引,其中收录了发布于 2023 年 12 月 6 日的 SetFitABSA: Few-Shot Aspect Based Sentiment Analysis using SetFit。该索引可以定位文章,但不足以确认当前安装方式、训练字段、类名、参数、候选对象处理方式或语言支持。以下数据字段属于本文设计的业务模板,不是官方数据格式。

  1. 从官方博客索引按完整文章名定位原文,再查阅与拟安装版本对应的官方说明,登记库版本、依赖、模型版本和示例适用条件。
  2. 分别核对对象提取环节和情感分类环节的语言要求。不要因为某个编码模型支持中文,就推断整条流程已经支持中文对象提取。
  3. 核对训练输入是否要求对象跨度、出现次数或其他定位字段,以及标签值和无对象样本的表达方式。没有核对完成前,先做人工标注,不启动自动接入。
  4. 准备已授权、已脱敏的反馈副本,移除姓名、联系方式、账号和私人链接;保留否定词、转折词及问题上下文。
  5. 固定脱敏文本版本后再标注位置。后续文本变化时重新计算位置,不继续使用旧偏移。

建议用一张接入登记表记录版本、对象提取语言依据、情感模型语言依据、输入字段映射、标签映射及核对人。当前这些实现信息尚未由资料包确认,应标记为待核对,而不是填写推测值。

对象定义与少样本标注

下面是一套建议起步规则,不代表官方预设标签。先标原文中的对象,再记录它对应的情感与依据,最后做业务归类。初期只接收显式对象;没有明确对象、反讽或同一对象褒贬难以归并的反馈,保留到人工队列。

字段或标签定义标注边界
示例质量对示例、案例的评价不包含操作步骤是否遗漏
步骤完整性对操作顺序、衔接和步骤说明的评价不把工具运行故障归到此类
工具体验对工具交互、响应或使用过程的评价只归类反馈表达,不据此认定故障责任
positive明确肯定该对象如清楚、好用;结合完整语境判断
negative明确批评该对象如遗漏、卡住;检查否定范围
neutral只陈述对象信息,没有明确褒贬不作为拿不准时的兜底标签
review_status人工处理状态待复核、已确认或暂不纳入;不是情感标签

建议主表一条反馈一行,对象表一处对象一行。主表保留 feedback_id、group_id、text_version、text、split;对象表保留对象位置、情感和标注人。以下 JSON 展示训练候选记录的业务结构,不可不经转换直接传给模型。

{
  "feedback_id": "train-demo-01",
  "group_id": "thread-demo-01",
  "text_version": "v1",
  "text": "示例清楚,步骤遗漏。",
  "split": "train",
  "aspects": [
    {"term": "示例", "start": 0, "end": 2, "category": "示例质量", "sentiment": "positive"},
    {"term": "步骤", "start": 5, "end": 7, "category": "步骤完整性", "sentiment": "negative"}
  ],
  "review_status": "待复核"
}

这里的位置按 Python 字符串索引定义,从零开始,包含 start、不包含 end;逐项检查 text[start:end] 是否等于 term。相同词出现多次时,必须分别定位,不能只用第一次匹配。该定位规则是本文业务约定,转成官方输入时仍需核对单位与格式。

  1. 先用一小批样本统一规则,覆盖各类对象的正面、负面和中性表达,不把“少样本”理解为固定条数即可达到可用效果。
  2. 由两名标注者独立判断一部分样本,对照对象边界和情感分歧,修订规则后再扩充标注。
  3. 按原始反馈或会话组划分训练、验证和测试集。同一反馈拆出的对象行,以及重复或近重复反馈,应留在同一划分中。
  4. 保留独立测试集,不用它选择参数。数据不足时如实记录缺少哪些对象或标签,不用复制样本补齐评测数量。

训练与预测流程

在当前证据条件下,能提供的是流程示意,不能把未经核对的函数名包装成可运行代码。下面每个处理节点都是职责说明,不对应已确认的官方 API;实际实现须在完成版本和语言核对后补齐。

已确认标注 + 固定数据划分
    -> 检查对象位置、标签和重复组
    -> 转换为已核对版本要求的训练格式
    -> 按该版本说明训练所需组件
    -> 用验证集选择配置并保存模型与配置版本

独立测试文本
    -> 预测评价对象及对应情感
    -> 保留原始返回并转换为业务明细
    -> 与人工标准答案按对象逐项对照
    -> 导出待复核记录

训练输入示例可以使用上一节的构造记录来说明字段映射,但不能仅靠这一条记录训练可用模型。预测验收示例可使用“案例有帮助,但工具不好用”:人工目标是案例对应 positive、工具对应 negative。这里展示的是期望判断,不是已经生成的预测结果。

预测时只输入待分析文本及接口明确要求的信息,不把测试答案一并交给模型。若先由人工给定对象、再只预测情感,应单独标为“给定对象的情感评估”,不能将其结果当作自动提取对象的端到端表现。

建议分别记录对象提取的精确率、召回率,以及对象位置和情感同时正确的匹配情况;情感分类可另看给定正确对象时各标签的表现。统计前固定匹配规则,例如要求起止位置完全一致,并同时公布样本数。没有运行记录时,不填写准确率、耗时或效果提升数字。

混合情感检查样本

下表是原创构造的混合情感检查集,只用于启动人工验收设计,不替代独立收集的业务测试集,也不能据此宣称模型表现。若用于调参,应将其视为开发检查集,另留未接触的最终测试集。

编号构造反馈人工期望重点
check-01示例清楚,但步骤不完整。示例 positive;步骤 negative转折不改变前半句评价
check-02步骤并不清楚,工具倒是很好用。步骤 negative;工具 positive否定范围与多对象归属
check-03案例不是没帮助,工具却总卡住。案例 positive;工具 negative双重否定,必要时人工仲裁
check-04示例有三段,步骤太简略。示例 neutral;步骤 negative事实陈述不自动归为正面
check-05示例很清楚,后面的示例却看不懂。前一处示例 positive;后一处示例 negative同名对象不同位置
check-06示例直观又不够全面。同一对象褒贬并存,进入人工复核不强塞为中性或整句正面
check-07看完还是不会操作。无显式对象,保留整条并转人工不得凭空补成步骤对象

对每条反馈先数清应有对象,再检查对象对应的情感。模型没有返回对象时,也要留下反馈级记录;空返回不等于没有问题。业务统计应注明按对象提及次数还是按反馈条数计数,不能把拆出的多行误当作多位读者。

常见故障与修正

常见故障应排查的原因修正动作
三个对象得到同一种情感可能使用了整句分类结果,或转换时复制标签检查原始返回与业务转换,逐个核对对象和情感的关联
中文对象大量漏掉语言支持、对象提取组件或文本处理方式可能不匹配核对各组件中文支持依据并查看中间结果;未确认前停留在人工流程
对象位置对不上原文脱敏后文本变化,或字符、字节、词元位置混用固定文本版本,统一定位单位并重新验证子串
把“不好用”判成正面可能丢掉否定词,或标注样本未覆盖否定表达恢复完整上下文,复查标签并补充独立的否定训练样本
测试表现异常漂亮可能按对象行随机划分,导致同一反馈进入两组按反馈及近重复组重划分,再重新训练和评估
导出表没有无对象反馈只遍历对象数组,空数组被静默忽略保留反馈主表,并为无对象返回设置待复核状态

复核记录与发布验收

建议分别导出反馈主表、预测对象明细和人工复核表,关联 feedback_id、文本版本及运行编号。原始预测只读保存,人工结论另列,避免一次改判覆盖问题依据。

复核字段填写内容
feedback_id、text_version、run_id关联输入文本与本次运行
model_version、raw_result_ref模型版本与受控归档中的原始返回位置
predicted_span、predicted_sentiment保留预测位置和情感;漏提取时明确标记
reviewed_span、reviewed_sentiment人工确认的位置和情感;无法确定时标记待仲裁
error_type、reason遗漏、误提取、情感错误或标注歧义,以及原文依据
reviewer、reviewed_at、status复核人、实际复核时间与处理状态

多人意见不一致时,可参考多人独立标注与仲裁记录方法保留各自判断,再形成最终结论。复核表是待填写模板,不表示已经完成复核。

  • 发布前确认:实际接入版本、输入字段、输出结构和各组件语言支持均有核对记录;否则仅交付数据准备原型。
  • 发布前确认:脱敏副本已复查,访问权限受控,对象跨度能回到同一文本版本。
  • 发布前确认:同一反馈及近重复组未跨训练、验证和测试集,测试答案未进入预测输入。
  • 发布前确认:否定、转折、多对象、同名对象和无显式对象样本均已逐项检查,遗漏没有被静默删除。
  • 发布前确认:对象提取与情感判断分开评估,统计口径及样本数完整;构造样本未冒充业务结果。
  • 发布前确认:预测原文、人工改判和理由均可追溯,待仲裁项不进入已确认问题统计。
  • 发布前确认:结果只作为编辑复核线索,不自动触发文章发布、下架或对读者的判断。

下一步应先补齐官方文章正文及对应版本的接口、语言支持资料,再实现字段转换和训练调用。在此之前,先完成对象定义、脱敏标注与独立测试集,能够避免后续接入时反复改动数据口径。

下一步

把这篇的方法练一遍

提示词和步骤可以带到创作里直接试做一版。

去创作 看同栏目更多