AllenNLP是一个相对成熟的基于深度学习的NLP工具包,它 构建于 PyTorch 之上,它的设计遵循以下原则: (1)超模块化和轻量化。你可以使用自己喜欢的组件与 PyTorch 无缝连接。 (2)经过广泛测试,易于扩展。测试覆盖率超过 90%,示例模型为你提供了很好的模板。 (3)真正的填充和覆盖,让你可以毫无痛苦地轻松实现正确的模型。
(4)易于实验。可以通过符合 json 规范的全面记录重现实验过程。
AllenNLP的Github代码上可以看到其代码的主要核心
从其Demo上可以看出目前其包含的几个大类如下:Machine Comprehension:机器阅读,Semantic Role Labeling:语义标注,Coreference Resolution:指代消解,Textual Entailment:文本蕴涵,Named Entity Recognition:命名实体识别,Constituency Parsing:成分句法分析
2、代码重构分析
下载代码,在python3.6环境下新建全新工程进行导入。更改torch版本到0.3.0以上,其中还需要一包的支持,如pyhocon, overrides等。然后运行run.py,即可成功,如下所示: