搜狗开源机器阅读理解工具箱

2019 年 5 月 16 日 专知

【导读】机器阅读理解,是自然语言处理领域最具挑战的任务之一。每一个在阅读理解领域有突破的模型,都能够引领NLP发展一段时间。奈何,随着NLP的发展,阅读理解模型越来越复杂,小编常常看着眼花缭乱的模型结构图,望而却步。还好,搜狗在近期开源了其团队的机器阅读理解工具箱,工具向内实现了多种阅读理解的算法和模型,甚至有的模型的结果比模型作者训得都好,小编整理报道,希望对做阅读理解的同学有帮助。


Github地址:

https://github.com/sogou/SMRCToolkit

作者:

sougou


【工具箱结构】

工具箱内的工具,主要分为四个部分:数据集阅读器、数据处理、模型构建以及模型训练:

工具箱的文件夹结构如下:

  1. data

    • vocabulary.py: 字典构建

    • batch_generator.py: 将单词和标签映射到索引上,padding变长的特征,将所有特性转换为张量,然后对它们进行批处理

  2. dataset_reader

    • squad.py:  SQuAD 1.0数据集的读取器

    • squadv2.py : SQuAD 2.0数据集的读取器

    • coqa.py : CoQA数据集的读取器

    • cmrc.py : CMRC数据集的读取器

  3. examples

    • 用于运行不同模型的示例,需指定数据路径

  4. model

    • 基类和模型的子类,其中任何模型都应该继承基类

    • 内置模型,包括:BiDAF, DrQA, FusionNet等

  5. nn

    • similarity_function.py: 相似度计算函数

    • attention.py: 注意力方法,包括单注意力,双重注意力,三重注意力

    • ops: 常规操作库

    • recurrent:  LSTM 和 GRU的一些封装

    • layers: 常用神经网络层

  6. utils

    • tokenizer.py: tokenizer,可用于英文和中文

    • feature_extractor: 语法特征提取器,提取如POS等

  7. libraries

    • BERT等外部模型,放在这里


【实现算法与性能】

F1/EM score on SQuAD 1.0 dev set

Model toolkit implementation original paper
BiDAF 77.3/67.7 77.3/67.7
BiDAF+ELMo 81.0/72.1 -
IARNN-Word 73.9/65.2 -
IARNN-hidden 72.2/64.3 -
DrQA 78.9/69.4 78.8/69.5
DrQA+ELMO 83.1/74.4 -
R-Net 79.3/70.8 79.5/71.1
BiDAF++ 78.6/69.2 -/-
FusionNet 81.0/72.0 82.5/74.1
QANet 80.8/71.8 82.7/73.6
BERT-Base 88.3/80.6 88.5/80.8


F1/EM score on SQuAD 2.0 dev set

Model toolkit implementation original paper
BiDAF 62.7/59.7 62.6/59.8
BiDAF++ 64.3/61.8 64.8/61.9
BiDAF++ + ELMo 67.6/64.8 67.6/65.1
BERT-Base 75.9/73.0 75.1/72.0


F1 score on CoQA dev set

Model toolkit implementation original paper
BiDAF++ 71.7 69.2
BiDAF++ + ELMo 74.5 69.2
BERT-Base 78.6 -
BERT-Base+Answer Verification 79.5 -


【安装方法】

你只需要将该代码库拉下来,然后pip install 即可:

$ git clone https://github.com/sogou/SMRCToolkit.git
$ cd SMRCToolkit
$ pip install [-e] .

快下下来试试吧。



-END-

专 · 知

专知,专业可信的人工智能知识分发,让认知协作更快更好!欢迎登录www.zhuanzhi.ai,注册登录专知,获取更多AI知识资料!

欢迎微信扫一扫加入专知人工智能知识星球群,获取最新AI专业干货知识教程视频资料和与专家交流咨询!

请加专知小助手微信(扫一扫如下二维码添加),加入专知人工智能主题群,咨询技术商务合作~

专知《深度学习:算法到实战》课程全部完成!540+位同学在学习,现在报名,限时优惠!网易云课堂人工智能畅销榜首位!

点击“阅读原文”,了解报名专知《深度学习:算法到实战》课程

登录查看更多
19

相关内容

包括微软、CMU、Stanford在内的顶级人工智能专家和学者们正在研究更复杂的任务:让机器像人类一样阅读文本,进而根据对该文本的理解来回答问题。这种阅读理解就像是让计算机来做我们高考英语的阅读理解题。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
注意力机制模型最新综述
专知会员服务
260+阅读 · 2019年10月20日
基于PyTorch/TorchText的自然语言处理库
专知
27+阅读 · 2019年4月22日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
lazynlp:构建大规模语料库的"懒人"工具箱
NLP - 基于 BERT 的中文命名实体识别(NER)
AINLP
466+阅读 · 2019年2月10日
NLP - 15 分钟搭建中文文本分类模型
AINLP
79+阅读 · 2019年1月29日
深度文本匹配开源工具(MatchZoo)
中国科学院网络数据重点实验室
7+阅读 · 2017年12月5日
开源|基于tensorflow使用CNN-RNN进行中文文本分类!
全球人工智能
11+阅读 · 2017年11月12日
Meta-Learning to Cluster
Arxiv
17+阅读 · 2019年10月30日
Arxiv
3+阅读 · 2019年9月5日
Knowledge Based Machine Reading Comprehension
Arxiv
4+阅读 · 2018年9月12日
Arxiv
21+阅读 · 2018年8月30日
CoQA: A Conversational Question Answering Challenge
Arxiv
7+阅读 · 2018年8月21日
Arxiv
10+阅读 · 2018年4月19日
Arxiv
26+阅读 · 2018年2月27日
VIP会员
相关资讯
基于PyTorch/TorchText的自然语言处理库
专知
27+阅读 · 2019年4月22日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
lazynlp:构建大规模语料库的"懒人"工具箱
NLP - 基于 BERT 的中文命名实体识别(NER)
AINLP
466+阅读 · 2019年2月10日
NLP - 15 分钟搭建中文文本分类模型
AINLP
79+阅读 · 2019年1月29日
深度文本匹配开源工具(MatchZoo)
中国科学院网络数据重点实验室
7+阅读 · 2017年12月5日
开源|基于tensorflow使用CNN-RNN进行中文文本分类!
全球人工智能
11+阅读 · 2017年11月12日
相关论文
Meta-Learning to Cluster
Arxiv
17+阅读 · 2019年10月30日
Arxiv
3+阅读 · 2019年9月5日
Knowledge Based Machine Reading Comprehension
Arxiv
4+阅读 · 2018年9月12日
Arxiv
21+阅读 · 2018年8月30日
CoQA: A Conversational Question Answering Challenge
Arxiv
7+阅读 · 2018年8月21日
Arxiv
10+阅读 · 2018年4月19日
Arxiv
26+阅读 · 2018年2月27日
Top
微信扫码咨询专知VIP会员