打造NLP文本分类深度学习方法库
2017-09-29编译徐子淇李煜
□编译/徐子淇、李煜
打造NLP文本分类深度学习方法库
□编译/徐子淇、李煜

这个库的目的是探索用深度学习进行NLP文本分类的方法。它具有文本分类的各种基准模型。它还支持多标签分类,其中多标签与句子或文档相关联。
虽然这些模型大都看似简单,可能不会让你游刃有余地进行这项文本分类任务。但是其中还是有一些非常经典的模型,可以说是非常适合作为基准模型的。
每个模型在模型类型下都有一个测试函数。
我们探讨了用两个seq2seq模型(带有注意的seq2seq模型,以及transformer:attention is all you need)进行文本分类。同时,这两个模型也可以用于生成序列和其他任务。如果你的任务是多标签分类,那么你就可以将问题转化为序列生成。
我们实现了一个记忆网络:循环实体网络(recurrent entity network),追踪世界的状态。它用键值对块(blocks of key-value pairs)作为记忆,并行运行,从而获得新的状态。它可以用于使用上下文(或历史)来回答建模问题。例如,你可以让模型读取一些句子(作为文本),并提出一个问题(作为查询),然后请求模型预测答案;如果你像查询一样向其提供一些素材资源,那么它就可以进行分类任务。Network)

模型
1. fastText
2. TextCNN
3. TextRNN
4. RCNN
5. 分层注意网络(Hierarchical Attention Network)
6. 具有注意的seq2seq模型(seq2seq with attention)
7. Transformer("Attend Is All You Need")
8. 动态记忆网络(Dynamic Memory
9. 实体网络:追踪世界的状态
其他模型
1. BiLstm Text Relation
2. Two CNN Text Relation
3. BiLstm Text Relation Two RNN
性能
(多标签预测任务,要求预测能够达到前5名,300万训练数据,满分:0.5)
注意:“HierAtteNetwork”是指Hierarchical Attention Network


用途
1. 模型在xxx_model.py中
2. 运行python xxx_train.py来训练模型
3. 运行python xxx_predict.py进行推理(测试)
每个模型在模型下都有一个测试方法。你可以先运行测试方法检查模型是否能正常工作。……
