当前位置:   article > 正文

NLP项目测试和验证_nlp测试方案

nlp测试方案

前言

软件测试定义
在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
软件测试目的
检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
软件测试方法
静态测试和动态测试、功能测试、性能测试、黑盒测试和白盒测试等…
场景
在进行文本分类、信息抽取等NLP任务时,要对各项指标进行测试
流程
功能测试 --> 性能测试 --> 数据测试 --> 批量人工检验标签

功能测试

单条数据测试(如:使用标准句);非全量数据执行测试

if __name__ == '__main__':
    print()
  • 1
  • 2

性能测试

  • 空间测试
    https://blog.csdn.net/Yellow_python/article/details/94435972
  • 时间测试
    https://blog.csdn.net/Yellow_python/article/details/82710017

数据测试

数据量

SELECT t.table_name,t.num_rows FROM user_tables t
  • 1

抽取率(非空占比)

SELECT
t1.f1 amount,
t1.f1/t2.f1 proportion
FROM
(SELECT COUNT(*)f1 FROM {table} WHERE {field} IS NOT NULL)t1,
(SELECT COUNT(*)f1 FROM {table})t2
;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

分析(某字段各项占比)

SELECT
t1.f2 fullname,
t1.f1 amount,
t1.f1/t2.f1 proportion
FROM
(SELECT COUNT(*)f1,{field} f2 FROM {table} GROUP BY {field})t1,
(SELECT COUNT(*)f1 FROM {table})t2
ORDER BY amount DESC
;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

取样

顺序采样

-- 前n行
SELECT * FROM {table} WHERE ROWNUM<=5;
-- 第m~n行
SELECT * FROM (SELECT ROWNUM a,t.* FROM {table} t WHERE ROWNUM<=5)WHERE a>=3;
-- 尾行
SELECT * FROM (SELECT ROWNUM a,t.* FROM {table} t)WHERE a=(SELECT COUNT(*) FROM {table});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

随机采样

SELECT * FROM {table} SAMPLE(1) WHERE ROWNUM<=10;
  • 1

数据标注界面设计

文本分类

ID文本算法结果是否正确正确结果备注评标人
1全球疫情升级!多国确诊病例攀升,美股道指暴跌超千点财经F疫情小基基
2世界卫生组织与世界旅游组织呼吁:团结是预防病毒扩散唯一途径疫情T小基基
9527淘宝经济暖报:回暖从舌尖开始财经T小贤贤

命名实体识别

ID全文上下文实体是否正确备注评标人
1买小米机,送了袋小米和苹果小米小米T
送了袋小米和苹果小米F不是手机
送了袋小米和苹果苹果F不是手机
2买华为送苹果机买华为送苹果苹果T
9527三星电池炸了三星电池炸了三星T

长文本

全文关键句算法结果是否正确备注评标人
买小米机,送了袋小米和苹果小米手机T
送了袋小米和苹果不是手机
送了袋小米和苹果不是手机
上一篇                                                                                                        下一篇

踩过的坑

  • 多进程写入数据库后,会乱序。因此读出的时候,要保证原子性及有序性
  • 数据量(随时间)不断增长,写SQL时要加上(时间)条件,从而可把控结果总数
  • 数据标注人员不宜过多,越多人越难统一标准
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号