本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

码报:fastText、TextCNN…一套NLP文本分类方法库供你选

时间:2017-07-29 09:55来源:118图库 作者:本港台直播 点击:
图:pixabay 原文来源 : GitHub 「机器人圈」编译:嗯~阿童木呀、多啦A亮 这个库的目的是探索用深度学习进行NLP文本分类的方法。 它具有文本分类的各种基准模型。 它还支持多标签分

图:pixabay

原文来源GitHub

「机器人圈」编译:嗯~阿童木呀、多啦A亮

这个库的目的是探索用深度学习进行NLP文本分类的方法。

它具有文本分类的各种基准模型。

它还支持多标签分类,其中多标签与句子或文档相关联。

虽然这些模型很多都很简单,可能不会让你在这项文本分类任务中游刃有余,但是这些模型中的其中一些是非常经典的,因此它们可以说是非常适合作为基准模型的。

每个模型在模型类型下都有一个测试函数。

我们还探讨了用两个seq2seq模型(带有注意的seq2seq模型,以及transformer:attention is all you need)进行文本分类。同时,这两个模型也可以用于生成序列和其他任务。如果你的任务是多标签分类,那么你就可以将问题转化为序列生成。

我们实现了一个记忆网络:循环实体网络(recurrent entity network):追踪世界的状态。它用键值对块(blocks of key-value pairs)作为记忆,并行运行,从而获得新的状态。它可以用于使用上下文(或历史)来回答建模问题。例如,你可以让模型读取一些句子(作为文本),并提出一个问题(作为查询),然后请求模型预测答案;如果你像查询一样向其提供故事,那么它就可以进行分类任务。

如果你想了解更多关于文本分类,直播,或这些模型可以应用的任务的数据集详细信息,可以点击链接进行查询,我们选择了一个:https://biendata.com/competition/zhihu/

模型:

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 Network)

9.实体网络:追踪世界的状态

其他模型:

1.BiLstm Text Relation;

2.Two CNN Text Relation;

3.BiLstm Text Relation Two RNN

性能

(多标签标签预测任务,要求预测能够达到前5,300万训练数据,满分:0.5)

10.注意:“HierAtteNetwork”是指Hierarchical Attention Network

用途:

1.模型在xxx_model.py中

2.运行python xxx_train.py来训练模型

3.运行python xxx_predict.py进行推理(测试)。

每个模型在模型下都有一个测试方法。你可以先运行测试方法来检查模型是否能正常工作。

环境:

python 2.7+tensorflow 1.1

(tensorflow 1.2也是可以应用的;大多数模型也应该在其他tensorflow版本中正常应用,因为我们使用非常少的特征来将其结合到某些版本中;如果你使用的是python 3.5,只要更改print / try catch函数的话,它也会运行得很好。)

注:

一些util函数是在data_util.py中的;典型输入如:“x1 x2 x3 x4 x5 label 323434”,其中“x1,x2”是单词,“323434”是标签;它具有一个将预训练的单词加载和分配嵌入到模型的函数,其中单词嵌入在word2vec或fastText中进行预先训练。

模型细节:

1.快速文本(fast Text)

《用于高效文本分类的技巧》(Bag of Tricks for Efficient Text Classification)论文的实现(https://arxiv.org/abs/1607.01759)

1.使用bi-gram 或者tri-gram。

2.使用NCE损失,加速我们的softmax计算(不使用原始论文中的层次softmax)结果:性能与原始论文中的一样好,速度也非常快。

查看:p5_fastTextB_model.py

2.文本卷积神经网络(Text CNN)

《卷积神经网络进行句子分类》(Convolutional Neural Networks for Sentence Classification)论文的实现

结构:降维---> conv ---> 最大池化 --->完全连接层--------> softmax

查看:p7_Text CNN_model.py

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容