/MachineComprehension

Machine comprehension for recent papers using pytorch

Primary LanguagePython

MachineComprehension

Introduction

Pytorch implementation of machine comprehension papers for SQuAD v1.1

BIDAF (Minjoon Seo et al.,2016) https://arxiv.org/abs/1611.01603
QANet (Adams Wei Yu et al.,2018) https://arxiv.org/abs/1804.09541
Ensemble model for BIDAF and QANet

Structure

  • preproc.py: dataset preprocessing and build training features
  • config.py: determine which model to train and hype-parameters setting
  • evaluate.py: evaluate script
  • main.py: program entry
  • models/qanet.py: QANet model
  • models/bidaf.py: BIDAF model
  • models/ensemble.py QANet and BIDAF ensemble

Result

Result on dev dataset

QANet BIDAF Ensemble
F1 76.3 74.1 77.6
EM 67.5 63.3 68

Difference with papers

  • Context length is set to 300 due to limit of memory
  • Char embedding doesn't be connected with convolution layer
  • Difference hype parameters setting

Todo

  • Achieve the result in paper
  • Reduce memory cost
  • Complete R-net model
  • Do the ensemble