学习
实践
活动
工具
TVP
写文章
专栏首页腾讯开源的专栏【开源公告】NeuralNLP-NeuralClassifier - 深度学习文本分类工具

【开源公告】NeuralNLP-NeuralClassifier - 深度学习文本分类工具

NeuralNLP是腾讯广告(Tencent Marketing Solution,TMS)(https://e.qq.com/)数据算法团队搭建的一个基于PyTorch的深度学习NLP公共实验平台,主要涵盖文本分类、序列标注、语义匹配、BERT微调和文本生成等,目前已经广泛应用于腾讯广告业务文本相关的需求场景中,如广告定向、相关性计算、LookAlike、动态创意、点击率/转化率预估等。

NeuralClassifier是NeuralNLP的一个子项目,是一款基于PyTorch开发的深度学习文本分类工具。NeuralClassifier旨在通过良好的架构设计,集成业界主流的文本分类模型和各种优化机制,支持尽可能广泛的文本分类任务,如多标签分类,层次分类等,并方便用户在工具基础上自定义模型和进行更灵活的扩展。

NeuralClassifier的功能汇总如下:

  • 支持大部分的分类任务:二分类、多分类、多标签分类、层次分类
  • 支持众多模型:主流模型如FastText、TextCNN、TextRNN(Bi-GRU/LSTM)等,还支持最新的state-of-the-art模型,如VDCNN、DPCNN、Region Embedding、AttentiveConvNet、DRNN、Transformer等,并方便支持用户自定义模型结构
  • 支持主流机制,如Attention、Pre-trained embedding等
  • 支持数据输入的多线程加速读取、变长和定长输入、词和字符级输入、自定义输入等
  • 支持多种损失函数,如Softmax/Sigmoid交叉熵、Focal Loss等

与业界工具对比

NeuralClassifier的一个特色是提供了对于层次多标签分类(Hierarchical Multi-label Classification, HMC)任务的支持,同时集成了非常多的文本分类模型。层次多标签分类的神经网络模型目前业界还主要针对特定的模型结构,并没有集成到一起的比较好用的工具。与业界层次多标签分类工具对比情况如下表所示。

架构设计

NeuralClassifier采用分层的架构设计,从下到上依次为:input layer、embedding layer、encoder layer、output layer。input层负责读取文本输入并做格式处理,embedding层对文本进行embedding处理,并在encoder层进行编码表示。output层负责对encoder层输出的信息做基于目标分类任务的转换,如二分类、多分类、层次分类等。用户可以通过一个配置文件方便的配置不同层的各种模型和Features。

评测效果

我们选取了业界主流的两个层次多标签分类数据集:RCV1和Yelp,并在其上对比了和SOTA的效果,结果表明根据NeuralClassifier提供的丰富模型和Features,可以取得和SOTA相当的效果。此外,我们还对比了NeuralClassifier提供的不同的文本分类模型(Text encoder)的效果,以及层次分类和普通单层分类的效果。

0. Dataset

  • RCV1: Lewis et al., 2004
  • Yelp: https://www.yelp.com/dataset/challenge

1. Compare with SOTA

  • HR-DGCNN (Peng et al., 2018)
  • HMCN (Wehrmann et al., 2018)

2. Different text encoders

  • 基于NeuralClassifier不同text encoders的结果
  • 除了encoder层,其他层均一致:使用word输入、预训练embedding、Hierarchical Multi-label Loss

3. Hierarchical vs Flat

  • 基于NeuralClassifier的层次和单层分类的对比结果
  • 除了encoder和output层,其他层均一致:使用word输入、预训练embedding

真情期待开源贡献

我们期望NeuralClassifier工具能够帮助业界的同仁快速的搭建深度学习文本分类应用,也希望我们实现的功能,尤其是对于多标签分类和层次分类,能够有助于业界相关领域的应用。深度学习的自然语言处理技术发展非常迅速,神经网络的模型和实现方式也很灵活,NeuralClassifier期待大家共同完善。

NeuralClassifier详细的介绍也可以参考我们发表在ACL2019的System demonstration paper: NeuralClassifier: An Open-source Neural Hierarchical Multi-label Text Classification Toolkit.

NeuralClassifier 正式开源

Github 开源地址: https://github.com/Tencent/NeuralNLP-NeuralClassifier

(点击文末阅读原文直接访问)

请给 NeuralClassifier一个 Star !

欢迎提出你的 issue 和 PR!

NeuralClassifier 国内镜像地址:

https://git.code.tencent.com/Tencent_Open_Source/NeuralNLP-NeuralClassifier

腾讯工蜂源码系统为开源开发者提供完整、最新的腾讯开源项目国内镜像

文章分享自微信公众号:
腾讯开源

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

原始发表时间:2019-07-09
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • Facebook 开源文本分类工具,不用深度学习也可以又快又准

    【新智元导读】作为最大的社交网站,每天Facebook上,用户分享的信息超过几十亿。为了利用这些数据,Facebook使用了各种各样的工具来对文本进行分类。传统...

    新智元
  • 开源公告|分布式深度学习训练工具PatrickStar正式开源

    PatrickStar是一款分布式深度学习训练工具,它的设计目标是支持以GPT、Bert为代表的超大预训练模型训练。在性能表现上远超目前业界DeepSpeed效...

    腾讯开源
  • 深度学习多分类案例:新闻文本分类

    之前介绍过一个单分类的问题。当每个数据点可以划分到多个类别、多个标签下,这就是属于多分类问题了。

    皮大大
  • 基于深度学习的文本分类应用!

    在基于机器学习的文本分类中,我们介绍了几种常见的文本表示方法:One-hot、Bags of Words、N-gram、TF-IDF。这些方法存在两个共同的问题...

    Datawhale
  • 开源公告|微信云端深度学习推理框架WeChat TFCC开源啦!

    导言 WeChat TFCC是微信技术架构部后台团队研发的服务端深度学习通用推理框架,也是腾讯深度学习与加速Oteam云帆的开源协同成果,具有高性能、易用、通...

    腾讯开源
  • 开源公告|微信深度学习云端推理框架WeChat TFCC开源了

    导言 WeChat TFCC是微信技术架构部后台团队研发的服务端深度学习通用推理框架,也是腾讯深度学习与加速Oteam云帆的开源协同成果,具有高性能、易用、通...

    腾讯开源
  • 中科院发布:深度文本匹配开源工具

    -免费加入AI技术专家社群>> 中国科学院计算技术研究所网络数据科学与技术重点实验室近日发布了深度文本匹配开源项目MatchZoo。MatchZoo是一个Pyt...

    企鹅号小编
  • 深度学习|中文文本的分类(建模篇)

    罗罗攀
  • 深度学习|中文文本的分类(处理篇)

    之前我们通过朴素贝叶斯方法,做过英文文档的分类(传送门)。那使用中文文本,如何使用深度学习方法来进行分类了?这就是本文所讲的。首先我们来看看中文文本和英文文本的...

    罗罗攀
  • 深度学习在文本分类中的应用

    近期阅读了一些深度学习在文本分类中的应用相关论文(论文笔记:http://t.cn/RHea2Rs ),同时也参加了 CCF 大数据与计算智能大赛(BDCI)2...

    AI研习社
  • 深度学习在文本分类中的应用

    近期阅读了一些深度学习在文本分类中的应用相关论文(论文笔记),同时也参加了CCF 大数据与计算智能大赛(BDCI)2017的一个文本分类问题的比赛:让AI当法...

    llhthinker
  • 【开源公告】腾讯 AI Lab 正式开源PocketFlow,让深度学习放入手机!

    11月1日,腾讯AI Lab在南京举办的腾讯全球合作伙伴论坛上宣布正式开源“PocketFlow”项目, 该项目是一个自动化深度学习模型压缩与加速框架,整合多种...

    腾讯开源
  • 文本分类简介利用传统机器学习和深度学习进行文本分类参考资料

    自己由于最近参加了一个比赛“达观杯”文本智能处理挑战赛,上一周主要在做这一个比赛,看了一写论文和资料,github上搜刮下。。感觉一下子接触的知识很多,自己乘热...

    致Great
  • 基于深度学习和经典方法的文本分类

    文本分类应该是自然语言处理中最普遍的一个应用,例如文章自动分类、邮件自动分类、垃圾邮件识别、用户情感分类等等,在生活中有很多例子,这篇文章主要从传统和深度学习两...

    段石石
  • 深度学习解决文本分类问题的最佳实践

    文本分类(Text classification)描述了一类常见的问题,比如预测推文(Tweets)和电影评论的情感,以及从电子邮件中区分出垃圾邮件。

    StoneDemo
  • 21个深度学习开源数据集分类汇总

    本文收集整理了21个国内外经典的开源数据,包含了目标检测、图像分割、图像分类、人脸、自动驾驶、姿态估计、目标跟踪等方向。

    3D视觉工坊

扫码关注腾讯云开发者

领取腾讯云代金券