SMRC - 机器阅读理解工具包


Apache-2.0
跨平台
Python

软件简介

Sogou Machine Reading Comprehension (SMRC) 是搜狗开源的机器阅读理解工具包,旨在帮助 NLP
从业人员快速实现已有的机器理解模型,从而更高效地开发新模型。

工具包架构

搜狗将机器阅读理解任务的流水线分解为4个步骤: 数据集读取、预处理、模型构建、训练和评估 ,对每步都进行了抽象和模块化,以简洁的接口呈现。

在搜狗开源的 SMRC 工具包中,以上每个步骤都可以单独拿来使用,嵌入开发者自己的流程中,保证了整套工具的易用性和可扩展性。

同时,SMRC 对已发表的多种机器阅读理解数据集、模型进行了整合或复现。

代码主要分为以下几个模块:

1.数据集读取模块(dataset_reader)

该模块集成了对 SQuAD 1.0/2.0、CoQA 以及中文数据集 CMRC 的读取和预处理功能。

2.数据预处理(data、utils)

data 部分包含词表构建模块和负责特征变换和数据流的 batch 生成器。utils 用于提取语言学特征。

3.模型构建(nn、models)

nn(神经网络)由机器阅读理解中的常用组件组成,可以快速构建和训练原型模型,避免部分重复工作。model 中集成了常见的机器理解模型,如
BiDAF、DrQA、FusionNet、QANet 等等。

4.模型训练与评估(examples)

这一部分是运行不同模型的示例。