SMRC機(jī)器閱讀理解工具包
Sogou Machine Reading Comprehension (SMRC) 是搜狗開源的機(jī)器閱讀理解工具包,旨在幫助 NLP 從業(yè)人員快速實現(xiàn)已有的機(jī)器理解模型,從而更高效地開發(fā)新模型。
工具包架構(gòu)
搜狗將機(jī)器閱讀理解任務(wù)的流水線分解為4個步驟:數(shù)據(jù)集讀取、預(yù)處理、模型構(gòu)建、訓(xùn)練和評估,對每步都進(jìn)行了抽象和模塊化,以簡潔的接口呈現(xiàn)。
在搜狗開源的 SMRC 工具包中,以上每個步驟都可以單獨拿來使用,嵌入開發(fā)者自己的流程中,保證了整套工具的易用性和可擴(kuò)展性。
同時,SMRC 對已發(fā)表的多種機(jī)器閱讀理解數(shù)據(jù)集、模型進(jìn)行了整合或復(fù)現(xiàn)。
代碼主要分為以下幾個模塊:
1.數(shù)據(jù)集讀取模塊(dataset_reader)
該模塊集成了對 SQuAD 1.0/2.0、CoQA 以及中文數(shù)據(jù)集 CMRC 的讀取和預(yù)處理功能。
2.數(shù)據(jù)預(yù)處理(data、utils)
data 部分包含詞表構(gòu)建模塊和負(fù)責(zé)特征變換和數(shù)據(jù)流的 batch 生成器。utils 用于提取語言學(xué)特征。
3.模型構(gòu)建(nn、models)
nn(神經(jīng)網(wǎng)絡(luò))由機(jī)器閱讀理解中的常用組件組成,可以快速構(gòu)建和訓(xùn)練原型模型,避免部分重復(fù)工作。model 中集成了常見的機(jī)器理解模型,如 BiDAF、DrQA、FusionNet、QANet 等等。
4.模型訓(xùn)練與評估(examples)
這一部分是運行不同模型的示例。
