0

0

2021 CCF BDCI 千言-问题匹配鲁棒性评测-baseline

P粉084495128

P粉084495128

发布时间:2025-07-25 10:32:27

|

343人浏览过

|

来源于php中文网

原创

本文介绍2021 CCF BDCI千言-问题匹配鲁棒性评测。赛题关注问题匹配模型在真实场景的鲁棒性,基于多个数据集从多维度评估。基线评测显示ERNIE-Gram模型效果佳,还提及R-Drop策略。文中还讲述了项目建立中训练集和测试集的合并过程,以及训练、预测的相关操作,最终得分79.788。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

2021 ccf bdci 千言-问题匹配鲁棒性评测-baseline - php中文网

〇、简介

1.比赛地址

2021 CCF BDCI 千言-问题匹配鲁棒性评测

2.赛题背景

问题匹配(Question Matching)任务旨在判断两个自然问句之间的语义是否等价,是自然语言处理领域一个重要研究方向。问题匹配同时也具有很高的商业价值,在信息检索、智能客服等领域发挥重要作用。

近年来,神经网络模型虽然在一些标准的问题匹配评测集合上已经取得与人类相仿甚至超越人类的准确性,但在处理真实应用场景问题时,性能大幅下降,在简单(人类很容易判断)的问题上无法做出正确判断(如下图),影响产品体验的同时也会造成相应的经济损失。

问题1 问题2 标签(Label) Model
婴儿吃什么蔬菜好 婴儿吃什么绿色蔬菜好 0 1
关于牢房的电视剧 关于监狱的电视剧 1 0
心率过快有什么问题 心率过慢有什么问题 0 1
黑色裤子配什么上衣 黑色上衣配什么裤子 0 1

当前大多数问题匹配任务采用单一指标,在同分布的测试集上评测模型的好坏,这种评测方式可能夸大了模型能力,并且缺乏对模型鲁棒性的细粒度优劣势评估。本次评测关注问题匹配模型在真实应用场景中的鲁棒性,从词汇理解、句法结构、错别字、口语化、对话理解五个维度检测模型的能力,从而发现模型的不足之处,推动语义匹配技术的发展。本次竞赛主要基于千言数据集,采用的数据集包括哈尔滨工业大学(深圳)的LCQMC和BQ数据集、OPPO的小布对话短文本数据集以及百度的DuQM数据集,期望从多维度、多领域出发,全面评价模型的鲁棒性,进一步提升问题匹配技术的研究水平。本次竞赛将在第九届“CCF大数据与计算智能大赛”举办技术交流论坛和颁奖仪式,诚邀学术界和工业界的研究者和开发者参加本次竞赛!

3.基线评测效果

本项目分别基于ERNIE-1.0、Bert-base-chinese、ERNIE-Gram 3 个中文预训练模型训练了单塔 Point-wise 的匹配模型, 基于 ERNIE-Gram 的模型效果显著优于其它 2 个预训练模型。

此外,在 ERNIE-Gram 模型基础上我们也对最新的正则化策略 R-Drop 进行了相关评测, R-Drop 策略的核心思想是针对同 1 个训练样本过多次前向网络得到的输出加上正则化的 Loss 约束。

我们开源了效果最好的 2 个策略对应模型的 checkpoint 作为本次比赛的基线方案: 基于 ERNIE-Gram 预训练模型 R-Drop 系数分别为 0.0 和 0.1 的 2 个模型, 用户可以下载相应的模型来复现我们的评测结果。

模型 rdrop_coef dev acc test-A acc test-B acc
ernie-1.0-base 0.0 86.96 76.20 77.50
bert-base-chinese 0.0 86.93 76.90 77.60
ernie-gram-zh 0.0 87.66 80.80 81.20
ernie-gram-zh 0.1 87.91 80.20 80.80
ernie-gram-zh 0.2 87.47 80.10 81.00

4.最终结果

最终得分: 79.788,可能和batch size等等设置有关,如下图。

Video Summarization
Video Summarization

一款可以自动将长视频制作成短片的桌面软件

下载

2021 CCF BDCI 千言-问题匹配鲁棒性评测-baseline - php中文网        

一、建立项目

所有解压缩只进行一起,以后注释掉即可

1.解压缩基线

In [1]
%cd ~
       
/home/aistudio
       
In [2]
# !git clone https://gitee.com/paddlepaddle/PaddleNLP.git --depth=1
   

2.解压缩训练集

In [3]
# !unzip -qoa data/data104940/train.zip
   
In [4]
!head train/BQ/train
       
用微信都6年,微信没有微粒贷功能	4。  号码来微粒贷	0
微信消费算吗	还有多少钱没还	0
交易密码忘记了找回密码绑定的手机卡也掉了	怎么最近安全老是要改密码呢好麻烦	0
你好 我昨天晚上申请的没有打电话给我 今天之内一定会打吗?	什么时候可以到账	0
“微粒贷开通"	你好,我的微粒贷怎么没有开通呢	0
为什么借款后一直没有给我回拨电话	怎么申请借款后没有打电话过来呢!	1
为什么我每次都提前还款了最后却不给我贷款了	30号我一次性还清可以不	0
请问一天是否都是限定只能转入或转出都是五万。	微众多少可以赎回短期理财	0
微粒zi询电话号码多少	你们的人工客服电话是多少	1
已经在银行换了新预留号码。	我现在换了电话号码,这个需要更换吗	1
       
In [5]
!head train/LCQMC/train
       
喜欢打篮球的男生喜欢什么样的女生	爱打篮球的男生喜欢什么样的女生	1
我手机丢了,我想换个手机	我想买个新手机,求推荐	1
大家觉得她好看吗	大家觉得跑男好看吗?	0
求秋色之空漫画全集	求秋色之空全集漫画	1
晚上睡觉带着耳机听音乐有什么害处吗?	孕妇可以戴耳机听音乐吗?	0
学日语软件手机上的	手机学日语的软件	1
打印机和电脑怎样连接,该如何设置	如何把带无线的电脑连接到打印机上	0
侠盗飞车罪恶都市怎样改车	侠盗飞车罪恶都市怎么改车	1
什么花一年四季都开	什么花一年四季都是开的	1
看图猜一电影名	看图猜电影!	1
       
In [6]
!head train/OPPO/train
       
充电提示音	开启充电提示音	0
那叫你帮我找在这里香肠派对吗	那麻烦帮我定下位好吗	0
导航去大理	导航去观音桥	0
oppo手环怎么连接手机	如何连接oppo 手环	1
我也没感觉	我也没感触	1
咱们游戏里那个问道是那个版本啊	我不知道那是什么啊我是一个小学生诶	0
你应该就是不男不女的	那你就是不男不女	1
梦泪在哪直播	虎牙直播	0
小布下载万能钥匙	小布打开万能钥匙	0
手机密码忘	查找手机密码忘记了	0
       

3.查看testA

In [7]
!head data/data104941/test_A
       
今天会不会下大雨哦	今天的天气很好哦
怎么退出微博会员续费	怎么退出微博会员
企业帐户怎么开通	企业账户怎么开通
农历多少今天	还有多少天到冬天
你今年应该过第多少个生日了呢	那你今年多大了
明天有雨吗明天	你明天,明天走一天
十字路口用英文怎么说	十字路口英文
梦见死去的亲人还有猫	梦见去世的亲人还有猫
2020广东放假	2020浙江放假
敦煌莫高窟的历史	敦煌莫高窟的文物
       

4.训练集合并

注意事项:

  • 仅执行一次
  • 没有表头
  • 遇到读不进来得设置error_bad_lines=False
  • 分隔符设置 sep='\t'
In [8]
%cd  ~
       
/home/aistudio
       
In [9]
import pandas as pd
   
In [10]
# 读取3个数据集的训练集LCQMC_train = pd.read_csv('train/LCQMC/train', sep = '\t',   header=None)
OPPO_train = pd.read_csv('train/OPPO/train', sep = '\t',  header=None)
BQ_train = pd.read_csv('train/BQ/train', sep="\t", header=None,  error_bad_lines=False)
       
b'Skipping line 20746: expected 3 fields, saw 4\nSkipping line 54107: expected 3 fields, saw 4\nSkipping line 65083: expected 3 fields, saw 4\nSkipping line 69869: expected 3 fields, saw 4\n'
       
In [11]
LCQMC_train=LCQMC_train.dropna()
LCQMC_train.head()
       
                    0                1  2
0    喜欢打篮球的男生喜欢什么样的女生  爱打篮球的男生喜欢什么样的女生  1
1        我手机丢了,我想换个手机      我想买个新手机,求推荐  1
2            大家觉得她好看吗       大家觉得跑男好看吗?  0
3           求秋色之空漫画全集        求秋色之空全集漫画  1
4  晚上睡觉带着耳机听音乐有什么害处吗?     孕妇可以戴耳机听音乐吗?  0
               
In [12]
OPPO_train=OPPO_train.dropna()
OPPO_train.head()
       
                0            1  2
0           充电提示音      开启充电提示音  0
1  那叫你帮我找在这里香肠派对吗   那麻烦帮我定下位好吗  0
2           导航去大理       导航去观音桥  0
3    oppo手环怎么连接手机  如何连接oppo 手环  1
4           我也没感觉        我也没感触  1
               
In [13]
BQ_train.head()
       
                               0                 1    2
0               用微信都6年,微信没有微粒贷功能        4。  号码来微粒贷  0.0
1                         微信消费算吗           还有多少钱没还  0.0
2           交易密码忘记了找回密码绑定的手机卡也掉了  怎么最近安全老是要改密码呢好麻烦  0.0
3  你好 我昨天晚上申请的没有打电话给我 今天之内一定会打吗?          什么时候可以到账  0.0
4                        “微粒贷开通"   你好,我的微粒贷怎么没有开通呢  0.0
               
In [14]
BQ_train=BQ_train.dropna()
BQ_train[2]=BQ_train[2].astype(int)
   
In [15]
BQ_train.head(10)
       
                               0                  1  2
0               用微信都6年,微信没有微粒贷功能         4。  号码来微粒贷  0
1                         微信消费算吗            还有多少钱没还  0
2           交易密码忘记了找回密码绑定的手机卡也掉了   怎么最近安全老是要改密码呢好麻烦  0
3  你好 我昨天晚上申请的没有打电话给我 今天之内一定会打吗?           什么时候可以到账  0
4                        “微粒贷开通"    你好,我的微粒贷怎么没有开通呢  0
5               为什么借款后一直没有给我回拨电话   怎么申请借款后没有打电话过来呢!  1
6          为什么我每次都提前还款了最后却不给我贷款了       30号我一次性还清可以不  0
7         请问一天是否都是限定只能转入或转出都是五万。       微众多少可以赎回短期理财  0
8                     微粒zi询电话号码多少       你们的人工客服电话是多少  1
9                  已经在银行换了新预留号码。  我现在换了电话号码,这个需要更换吗  1
               
In [16]
# 合并3个数据集的训练集df_tmp = LCQMC_train.append(OPPO_train)
all_train = df_tmp.append(BQ_train)
   
In [17]
all_train.info
       
               
In [18]
all_train_2=all_train
all_train_2[0]=all_train_2[1]
all_train_2[1]=all_train[0]
all_train_2.head()
       
                 0                1  2
0  爱打篮球的男生喜欢什么样的女生  爱打篮球的男生喜欢什么样的女生  1
1      我想买个新手机,求推荐      我想买个新手机,求推荐  1
2       大家觉得跑男好看吗?       大家觉得跑男好看吗?  0
3        求秋色之空全集漫画        求秋色之空全集漫画  1
4     孕妇可以戴耳机听音乐吗?     孕妇可以戴耳机听音乐吗?  0
               
In [19]
all_train=all_train.append(all_train_2)
   
In [20]
# 另存all_train.to_csv('all_train.csv', sep = '\t', index=None, header=None)
   
In [21]
!head all_train.csv
       
爱打篮球的男生喜欢什么样的女生	爱打篮球的男生喜欢什么样的女生	1
我想买个新手机,求推荐	我想买个新手机,求推荐	1
大家觉得跑男好看吗?	大家觉得跑男好看吗?	0
求秋色之空全集漫画	求秋色之空全集漫画	1
孕妇可以戴耳机听音乐吗?	孕妇可以戴耳机听音乐吗?	0
手机学日语的软件	手机学日语的软件	1
如何把带无线的电脑连接到打印机上	如何把带无线的电脑连接到打印机上	0
侠盗飞车罪恶都市怎么改车	侠盗飞车罪恶都市怎么改车	1
什么花一年四季都是开的	什么花一年四季都是开的	1
看图猜电影!	看图猜电影!	1
       

5.合并测试集

仅执行一次

In [22]
# 读取3个数据集的测试集LCQMC_dev = pd.read_csv('train/LCQMC/dev', sep = '\t', header=None)
OPPO_dev = pd.read_csv('train/OPPO/dev', sep = '\t', header=None)
BQ_dev = pd.read_csv('train/BQ/dev', sep="\t", header=None, error_bad_lines=False)
   
In [23]
# 合并3个数据集的测试集df_tmp = LCQMC_dev.append(OPPO_dev)
all_dev = df_tmp.append(BQ_dev)
all_dev.dropna()
       
                   0               1  2
0        开初婚未育证明怎么弄?    初婚未育情况证明怎么开?  1
1        谁知道她是网络美女吗?  爱情这杯酒谁喝都会醉是什么歌  0
2        人和畜生的区别是什么?     人与畜生的区别是什么!  1
3         男孩喝女孩的尿的故事   怎样才知道是生男孩还是女孩  0
4     这种图片是用什么软件制作的?  这种图片制作是用什么软件呢?  1
...              ...             ... ..
9995   您好,我还款了怎么还没扣款        今天一直没有扣款  1
9996         有联系方式吗?         电话号码是多少  1
9997      昨天打的电话我没接到  我开通却总是接不到你们的电话  1
9998       0.05%是日利率     如何借款,利息如何计算  0
9999       不使用可以关闭吗?   额度申请成功后会短信通知吗  0

[28802 rows x 3 columns]
               
In [24]
all_dev.info
       
               
In [25]
all_dev_2=all_dev
all_dev_2[0]=all_dev_2[1]
all_dev_2[1]=all_dev[0]
all_dev_2.head()
       
                0               1  2
0    初婚未育情况证明怎么开?    初婚未育情况证明怎么开?  1
1  爱情这杯酒谁喝都会醉是什么歌  爱情这杯酒谁喝都会醉是什么歌  0
2     人与畜生的区别是什么!     人与畜生的区别是什么!  1
3   怎样才知道是生男孩还是女孩   怎样才知道是生男孩还是女孩  0
4  这种图片制作是用什么软件呢?  这种图片制作是用什么软件呢?  1
               
In [26]
all_dev=all_dev.append(all_dev_2)
   
In [27]
# 另存all_dev.to_csv('all_dev.csv', sep = '\t', index=None, header=None)
   
In [28]
! tail all_dev.csv
       
怎么成为微粒贷 怎么开通微粒贷	怎么成为微粒贷 怎么开通微粒贷	1
我如果今天借4000什么时候到还款日,还多少钱	我如果今天借4000什么时候到还款日,还多少钱	0
借一万,有没有多久开始计算利息	借一万,有没有多久开始计算利息	1
财付通怎么绑定银行卡	财付通怎么绑定银行卡	1
电话确认需要等待多久?	电话确认需要等待多久?	1
今天一直没有扣款	今天一直没有扣款	1
电话号码是多少	电话号码是多少	1
我开通却总是接不到你们的电话	我开通却总是接不到你们的电话	1
如何借款,利息如何计算	如何借款,利息如何计算	0
额度申请成功后会短信通知吗	额度申请成功后会短信通知吗	0
       

二、训练

1.更新paddlenlp至2.0.8版本

注意:一定要更新,不更新会出问题。

In [ ]
!pip install -U paddlenlp
   

2.修改train相关参数

据悉这个效果好,精度高,我来试试

45行
parser.add_argument("--epochs", default=30, type=int, help="Total number of training epochs to perform.")
47行
parser.add_argument('--save_step', default=500, type=int, help="Step interval for saving checkpoint.")
202行            if global_step % args.eval_step == 0 and rank == 0 and global_step>5000:
   

3.开始训练

In [30]
%cd ~/PaddleNLP/examples/text_matching/question_matching
       
/home/aistudio/PaddleNLP/examples/text_matching/question_matching
       
In [ ]
!python -u -m paddle.distributed.launch --gpus "0" train.py \
       --train_set /home/aistudio/all_train.csv \
       --dev_set /home/aistudio/all_dev.csv \
       --device gpu \
       --eval_step 1000 \
       --save_dir ./checkpoints \
       --train_batch_size 50 \
       --rdrop_coef 0.0 \
       --seed 1024 \
       --epochs 1
   

三、预测

1.A TEST

修改PaddleNLP/examples/text_matching/ernie_matching/predict_pointwise.py,让结果输出到 ccf_qianyan_qm_result_A.csv

    with open('ccf_qianyan_qm_result_A.csv','w') as f:        for idx, y_pred in enumerate(y_preds):
            text_pair = valid_ds[idx]
            text_pair["pred_label"] = y_pred            print(text_pair)
            f.writelines(str(y_pred)+'\n')
   
In [ ]
%cd ~/PaddleNLP/examples/text_matching/question_matching
   
In [ ]
!python -u \
    predict.py \
    --device \
    --params_path "./checkpoints/model_10000/model_state.pdparams" \
    --batch_size 128 \
    --input_file "${test_set}" \
    --result_file "predict_result"
   

2.查看

In [ ]
!head ccf_qianyan_qm_result_A.csv
   

3. 下载并提交即可

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

10

2026.01.27

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

109

2026.01.26

edge浏览器怎样设置主页 edge浏览器自定义设置教程
edge浏览器怎样设置主页 edge浏览器自定义设置教程

在Edge浏览器中设置主页,请依次点击右上角“...”图标 > 设置 > 开始、主页和新建标签页。在“Microsoft Edge 启动时”选择“打开以下页面”,点击“添加新页面”并输入网址。若要使用主页按钮,需在“外观”设置中开启“显示主页按钮”并设定网址。

16

2026.01.26

苹果官方查询网站 苹果手机正品激活查询入口
苹果官方查询网站 苹果手机正品激活查询入口

苹果官方查询网站主要通过 checkcoverage.apple.com/cn/zh/ 进行,可用于查询序列号(SN)对应的保修状态、激活日期及技术支持服务。此外,查找丢失设备请使用 iCloud.com/find,购买信息与物流可访问 Apple (中国大陆) 订单状态页面。

136

2026.01.26

npd人格什么意思 npd人格有什么特征
npd人格什么意思 npd人格有什么特征

NPD(Narcissistic Personality Disorder)即自恋型人格障碍,是一种心理健康问题,特点是极度夸大自我重要性、需要过度赞美与关注,同时极度缺乏共情能力,背后常掩藏着低自尊和不安全感,影响人际关系、工作和生活,通常在青少年时期开始显现,需由专业人士诊断。

7

2026.01.26

windows安全中心怎么关闭 windows安全中心怎么执行操作
windows安全中心怎么关闭 windows安全中心怎么执行操作

关闭Windows安全中心(Windows Defender)可通过系统设置暂时关闭,或使用组策略/注册表永久关闭。最简单的方法是:进入设置 > 隐私和安全性 > Windows安全中心 > 病毒和威胁防护 > 管理设置,将实时保护等选项关闭。

6

2026.01.26

2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】
2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】

铁路12306提供起售时间查询、起售提醒、购票预填、候补购票及误购限时免费退票五项服务,并强调官方渠道唯一性与信息安全。

122

2026.01.26

个人所得税税率表2026 个人所得税率最新税率表
个人所得税税率表2026 个人所得税率最新税率表

以工资薪金所得为例,应纳税额 = 应纳税所得额 × 税率 - 速算扣除数。应纳税所得额 = 月度收入 - 5000 元 - 专项扣除 - 专项附加扣除 - 依法确定的其他扣除。假设某员工月工资 10000 元,专项扣除 1000 元,专项附加扣除 2000 元,当月应纳税所得额为 10000 - 5000 - 1000 - 2000 = 2000 元,对应税率为 3%,速算扣除数为 0,则当月应纳税额为 2000×3% = 60 元。

35

2026.01.26

oppo云服务官网登录入口 oppo云服务登录手机版
oppo云服务官网登录入口 oppo云服务登录手机版

oppo云服务https://cloud.oppo.com/可以在云端安全存储您的照片、视频、联系人、便签等重要数据。当您的手机数据意外丢失或者需要更换手机时,可以随时将这些存储在云端的数据快速恢复到手机中。

121

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.3万人学习

Django 教程
Django 教程

共28课时 | 3.6万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号