SogouMachineReadingComprehension(SMRC)是搜狗开源的机器阅读理解工具包,旨在帮助NLP从业人员快速实现已有的机器理解模型,从而更高效地开发新模型。
工具包架构
搜狗将机器阅读理解任务的流水线分解为4个步骤:数据集读取、预处理、模型构建、训练和评估,对每步都进行了抽象和模块化,以简洁的接口呈现。
在搜狗开源的SMRC工具包中,以上每个步骤都可以单独拿来使用,嵌入开发者自己的流程中,保证了整套工具的易用性和可扩展性。
同时,SMRC对已发表的多种机器阅读理解数据集、模型进行了整合或复现。
代码主要分为以下几个模块:
1.数据集读取模块(dataset_reader)
该模块集成了对SQuAD1.0/2.0、CoQA以及中文数据集CMRC的读取和预处理功能。
2.数据预处理(data、utils)
data部分包含词表构建模块和负责特征变换和数据流的batch生成器。utils用于提取语言学特征。
3.模型构建(nn、models)
nn(神经网络)由机器阅读理解中的常用组件组成,可以快速构建和训练原型模型,避免部分重复工作。model中集成了常见的机器理解模型,如BiDAF、DrQA、FusionNet、QANet等等。
4.模型训练与评估(examples)
这一部分是运行不同模型的示例。
评论