CDQA-简介与资料

  • 算是自己看得机器阅读理解的第一个小项目,断断续续看完了,还是有点收获的,所以把自己学的时候的一些资料放上来,其实github上都有,自己只是总结下.
  • CDQA: closed-domain QA,闭域的QA系统.

项目官方资料

  1. 项目github官方:

    https://github.com/cdqa-suite/cdQA

  2. CDQA——suit

    https://github.com/cdqa-suite

  3. 项目主页:

    https://cdqa-suite.github.io/cdQA-website/

  4. 项目介绍文章:

    https://towardsdatascience.com/how-to-create-your-own-question-answering-system-easily-with-python-2ef8abc8eb5

  5. 项目视频介绍+PPT

    https://blog.feedly.com/nlp-breakfast-9-closed-domain-question-answering/

项目特色

  • 我们的目标是使内部搜索体验更快、更自然,这得益于使用深度学习技术的自然语言处理的最新进展。cdQA的任务是允许任何人用自然语言提问并得到答案,而不必阅读与该问题相关的内部文档。
  • 单纯这么说你可能不懂,上一个图你就懂了:

项目工作流程图

在这里插入图片描述

  • 具体上面给的资料中,那篇介绍文章有提到,这里粗略说一下:
  • 输入一个问题,系统通过retriever从所有文档里找到top n个文档档,把他们转化成对应格式后,传入bert_qa模型,每一篇文档都有一个结果,那怎么评价,代码通过一定的比例加权计算公式,求得最后的评价结果.

CDQA-suit

  1. cdQA: an easy-to-use python package to implement a QA pipeline
  2. cdQA-annotator: a tool built to facilitate the annotation of question-answering datasets for model evaluation and fine-tuning
  • cdqa注释器:为方便注释用于模型评估和微调的问答数据集而构建的工具
  1. cdQA-ui: a user-interface that can be coupled to any website and can be connected to the back-end system.
  • cdQA-ui:可以耦合到任何网站并可以连接到后端系统的用户界面。
  • 自己只看了对应的第一个CDQA,后面的暂时没有看,这里只是想让读者对整个项目有一个具体了解.

碎语

  1. 代码整体设计(不考虑可视化ui和那些),单纯只是CDQA来说,其实不算难,但是里面的工程化操作对人很有启发,自己也稍微写了写文章总结了下,总之稳赚不亏…
  2. 本人暂时没有去train自己的数据集(因为我没有…)

安装

  • 首先这是一个大坑…
  • 当你sudo pip install cdqa的时候,他会自动去下载依赖,但是pandas ==0.25.0我一直报错,因为我的python版本不支持,开玩笑,我python绝对不能动,所以我上了docker,但是很多境外源timeout,搞的我烦了,就直接git clone源码下来了,用那个装那个.

快速启动:preditc.py

  • 放到你cloen下源码文件夹下
import pandas as pd
from ast import literal_eval
from cdqa.pipeline import QAPipeline

# 这个是你的查找库
df = pd.read_csv('./path-to-directory/bnpp_newsroom-v1.1.csv', converters={'paragraphs': literal_eval})

# 这个是你的模型
cdqa_pipeline = QAPipeline(reader='bert_qa.joblib')

# 指明内存
cdqa_pipeline = cdqa_pipeline.to('cpu')

# 设置好retriever
cdqa_pipeline.fit_retriever(df=df)

# 保存模型
# cdqa_pipeline.dump_reader('test.joblib')

# 预测结果
print(cdqa_pipeline.predict(query="What's your name?"))

End

  • 本篇完
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值