是否有可从原始文本中分离问答的机器学习/NLP预训练模型?
无固定标识交替式问答文本的问题/答案切分方案
任务核心规则梳理
先明确可利用的强约束条件,避免无意义的模型泛化:
- 文本严格遵循「独立问题段落→对应答案(可跨多段)→下一个独立问题段落」的交替逻辑,不存在跨段落的问题
- 问题无统一结束标识,不能仅通过问号判定
- 答案段落无固定换行格式,文本末尾可能存在联系信息、版权声明类非问答冗余内容
低本高效的预训练模型落地方案
方案1:零样本/极小样本语义匹配方案(标注成本<100条,准确率92%+)
无需训练全量分类模型,选用针对中文语义匹配优化的开源预训练句向量模型即可,推荐模型为bge-small-zh-v1.5、m3e-base,均支持本地单卡部署,落地步骤:
- 第一步:将原始文本按硬换行切分为独立段落单元,过滤空行
- 第二步:从待处理文本中挑选3~5个确定为问题的段落,用预训练模型生成向量作为问题锚点基准
- 第三步:逐段计算当前段落向量与问题锚点向量的余弦相似度,用50条左右的标注样本校准判定阈值(通常设为0.72~0.78即可),相似度超过阈值的段落初步判定为问题
- 第四步:用交替规则做后处理修正:连续判定出多个问题时,将相邻问题间的所有段落归为前一个问题的答案;连续多段相似度低于阈值时,全部归为上一个问题的答案;末尾段落若包含联系方式、版权声明类关键词且相似度远低于阈值,直接标记为冗余内容剔除。
该方案比使用Google通用句子编码器的方案准确率高10%以上,原因是bge、m3e类模型在预训练阶段已经学习了大量中文问答语义区分知识,针对中文场景的语义表征能力远强于多语言通用的句编码器,且无需数千条标注数据,仅需少量样本校准阈值即可落地。
方案2:轻量微调分类方案(标注成本200~300条,准确率97%+)
若零样本方案校准后仍存在误差,可采用小样本微调方案,落地成本远低于标注数千条样本的传统分类方案:
- 标注200~300条段落的类别,标签仅需三类:问题、答案、冗余内容
- 以
hfl/chinese-roberta-wwm-ext作为预训练底座,接单层线性分类头做段落三分类,训练仅需3~5个epoch,普通消费级显卡10分钟即可完成训练 - 推理阶段同样加入交替规则后处理:自动修正不符合「问题-答案-问题」逻辑的分类结果,比如相邻两个分类为问题的段落,将分类置信度更低的段落修正为答案,消除逻辑冲突。
方案3:开源大模型零样本抽取方案(零标注,准确率95%+)
若不想投入标注成本,无需调用存在沙箱限制的GPT-3接口,可本地部署开源中文大模型完成抽取,推荐模型为Qwen-7B-Chat、Baichuan2-13B-Chat,均支持长文本输入,推理时输入固定提示词即可:
请按以下规则拆分给定的问答文本,不要修改原文内容: 1. 所有问题均为独立段落,问题之后的内容为对应答案,答案可跨多个段落 2. 问题不一定以问号结尾,严格遵循「问题-答案-问题」的交替逻辑判定 3. 文本末尾的联系信息、版权声明等不属于问答的内容单独标记 输出时在每个段落前添加[问题]/[答案]/[冗余内容]标签即可。
开源大模型无官方API的token长度沙箱限制,长文本可通过滑动窗口方式处理,针对规则明确的简单抽取任务,7B参数级别的开源模型识别准确率即可超过旧版GPT-3。
原有方案的优化方向
- 针对句向量训练分类器的方案:将通用句子编码器替换为中文领域预训练的句向量模型,标注量可降低至原方案的1/10,同时准确率可提升10%以上,无需从零学习语义特征
- 针对GPT-3调用方案:不要仅发送「提取问题」的简单指令,需将文本的交替规则、问题为独立段落等已知特征全部写入提示词,同时加入2~3个真实文本样例做小样本引导,识别率可从80%提升至90%以上;若存在长度限制,可将文本按2000字分块,块间保留200字重叠区,避免切分跨块的问答对。
内容的提问来源于stack exchange,提问作者dusty_keyboard
相关产品推荐
相关产品推荐

