微软联合创始人保罗·艾伦建立的艾伦人工智能研究院(AI2)今天发布了一个PyTorch上的开源自然语言处理(NLP)研究库:AllenNLP。
这个库提供灵活的数据API,能实现智能的batching和padding,对文本处理中的常见操作进行高层抽象,还提供了一个模块化、可扩展的实验框架。
AllenNLP包含3个模型:机器理解、语义角色标注和文本蕴含。
其中,机器阅读理解(MC)模型能够从一段文本中选择一段,来回答自然语言问题。AllenNLP中的MC模型是Seo et al, 2017论文提出的BiDAF(双向注意流)的实现。AllenNLP的BiDAF模型在SQuAD数据集上测试的EM成绩是68.7,略好于原始BiDAF模型的67.7分,训练速度也是原来的10倍。
语义角色标注(SRL)模型能从一个句子中还原出它的潜在谓词参数结构,还能为回答“谁”对“谁”做了“什么”这类关于句子含义的基本问题而建立表示。AllenNLP的SRL模型是He et al, 2017论文提出的deep BiLSTM的实现,性能与原文的模型相当,在CoNLL 2012上的F1得分为78.9。
当处理一对句子的时候,文本蕴含(TE)模型能预测第一个句子中的事实是否隐含了第二个句子中的事实。AllenNLP的TE模型是Parikh et al, 2017论文中可分解注意模型的实现,在SNLI数据集上达到了84.7的准确率,接近原始模型86.3%的成绩。
AllenNLP由AI2与华盛顿大学等高校的研究者合作开发和维护。
关于这个库的更多信息,以及文中提到的3个模型,见以下链接:
AllenNLP主页:http://allennlp.org/
论文:http://allennlp.org/papers/AllenNLP_white_paper.pdf
GitHub地址:https://github.com/allenai/allennlp
Demo:http://demo.allennlp.org/
安装指南:http://allennlp.org/tutorials/installation
机器阅读理解模型 - BiDAF (Seo et al, 2017): https://www.semanticscholar.org/paper/Bidirectional-Attention-Flow-for-Machine-Comprehen-Seo-Kembhavi/007ab5528b3bd310a80d553cccad4b78dc496b02
语义角色标注模型 - deep BiLSTM model (He et al, 2017): https://homes.cs.washington.edu/~luheng/files/acl2017_hllz.pdf
文本蕴含模型 - 可分解注意模型(Parikh et al, 2017): https://www.semanticscholar.org/paper/A-Decomposable-Attention-Model-for-Natural-Languag-Parikh-T%C3%A4ckstr%C3%B6m/07a9478e87a8304fc3267fa16e83e9f3bbd98b27