【开源公告】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)任务的支持,同时集成了非常多的文本分类模型。层次多标签分类的神经网络模型目前业界还主要针对特定的模型结构,并没有集成到一起的比较好用的工具。与业界层次多标签分类工具对比情况如下表所示。

640?wx_fmt=png

架构设计

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

640?wx_fmt=png

评测效果

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

0. Dataset

640?wx_fmt=png

  • RCV1: Lewis et al., 2004

  • Yelp: https://www.yelp.com/dataset/challenge

1. Compare with SOTA

640?wx_fmt=png

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

  • HMCN (Wehrmann et al., 2018)

2. Different text encoders

640?wx_fmt=png

  • 基于NeuralClassifier不同text encoders的结果

  • 除了encoder层,其他层均一致:使用word输入、预训练embedding、Hierarchical Multi-label Loss

3. Hierarchical vs Flat

640?wx_fmt=png

  • 基于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

640?wx_fmt=png

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

640?wx_fmt=jpeg

这篇关于【开源公告】NeuralNLP-NeuralClassifier - 深度学习文本分类工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/839743

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss