讲人话系列——企业中的文本分类

概述

新型深度模型天天刷屏刷榜,模型日新月异,做算法的不免感到焦虑。发现自己看论文的速度已经赶不上他们发论文的速度了。在此启发下,想写一写自己工作的思考,面对一个领域,我们如何进行技术选型,这个系列我会结合着自己的工作,帮助大家选择一个好的Baseline模型。可能这也是我的困惑,大家模型介绍的欢天喜地,并没有指出哪些适合做baseline,到头还得自己一个一个试,希望我的经验能帮助大家节省一点点时间。我就很满足了。技术更新太快,自己并不是专家,您看到这篇文章的时候,可能已经有点过时,择优享用吧。

问题描述

  • 今日主角:文本分类

  • 问题定义:给定一段文本,预测一个或者多个标签。

  • 问题举例

    • 搜索类目预测:query-红色连衣裙 label-女装_连衣裙

    • 智能客服意图分类:query-我的快递怎么还没到 label-物流没到

    • 新闻分类:query-哈登今日xx分 label-体育

    • 情感分类:query-我好难过啊 label-伤心

  • 技术侧划分

    • query的长度:短句、段落、文章

    • 预测label:一个、多个(同时满足)

    • label数量

技术价值:该技术非常的实用,一方面可以帮助公司节省一些人力标注成本,另一方面,可以赋能业务,让业务做一些之前无法做到的分析、运营。

模型介绍

本文不一一对比各个模型的原理,参看用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践即可。这里我一句话介绍一下模型的区别。

一句话模型总结:

  • 传统非embedding模型:baseline太低,我直接忽略。有能超过textcnn的请指教。

  • textcnn:抽取Ngram特性,适用于词语特征明显的业务,几个词就能很好的区分问题,参数量要够大,size取正常词语长度(1,2,3,4,5)即可,非常好用的短文本Baseline。

  • textrnn:抽取序列特征,正常情况下和cnn几乎没有太大差异,企业场景几乎可以忽略,性能够的话,可以无脑和textcnn做概率层面的模型融合。

  • rcnn:几乎可以忽略,企业场景几乎可以忽略提升。

  • bert:比textcnn/textrnn会有不同幅度提升,可以适应更小的训练数据,但是性能和复杂度都不太适合做baseline。能用好bert的可能也不在这篇文章的适用人群范围了。

  • [HAN]( Hierarchical Attention Networks for Document Classification):双层的attention,文本较长的可以作为baseline非常不错。

好了,模型介绍到此结束。

文本分类Trick

这里,我来说一下,具体应用场景下我们一般关注什么样的问题。以及我们有哪些解决对策。个人做的应用偏向于短文本,所以trick也会偏向短文本。

思考1:训练数据量、标签量。

  • 每个标签需要有足够丰富度,主观评估一个新case进来,要能找到大概相似的问法(不要幻想模型可以无中生有,以上模型都不具备此能力)。

  • 评估训练集准确率,不要有太多脏数据。

  • 标签是否变化,变化标签需要定时训练,增量数据来源需要有保障。

  • 每个标签下的数据量:1w条通常就够了。(这条针对对数据量没概念的同学)

  • 记住:文本分类,至少在短文本分类下,数据决定一切,99%的质的提升都来自数据的处理。

思考2:数据来源

  • 用户行为数据:如果用户的行为能抽取出高质量的标签,那这一定是个非常nice的来源,他可以是应付动态。

  • 业务标注:人工标注,需要一定的人力成本,可以提供好用的工具帮助业务快速标注。

  • 无标注抽取:通常我们有大量无标注的数据,这些数据是真实的,所以要好好利用这部分,正则、规则、模型预训练抽取都是能有非常大提升的地方。

思考3:评估与调整

  • 主观评估:做业务不是打比赛,不是一个死的东西,你需要知道你模型能干啥,textcnn来说,就是能抽取词语特性,有类似的训练集数据大多都是能出结果的。不要单瞅着一个top1准确率,要看badcase是什么原因造成的,能从数据层处理的,就在数据层处理。

  • 关注80%:企业中的文本分类都多都是类目分布不均匀的,不要太在意一些很少很少的case,先把头部的做好。

  • 模型调参:参数先要自己摸一摸,知道大致的参数规模。参数规模尽可能大就好了,这里会有个边际效应。比如textcnn filter_num我一般设置200-400,少了不够,多了无用。不管选取哪个baseline,都需要把模型给玩熟悉,他能干啥,不能干啥要知道,然后去就搞数据。

  • 关注过拟合:需要大致看下训练集和测试机的loss差异,注意不要过拟合。

关于模型优化、流程优化

技术层面的东西讲完了,留下一些自己的思考,当作和大家讨论。

作为一项基础技术,文本分类服务很多业务。人力有限的情况下,很难做一些定制化的优化。所以模型的更新一定是有较大提升的,即在性能无影响的情况下,所有场景都能比较稳步提升。当然这并不容易。但是可以尝试做出一些新东西,更贴近业务或者其他更易用的模型。

模型提升点:

  • 文本分类可以融入特征:比如加入问题的类目、品牌、甚至用户等信息,丰富文本分类的信息。这里就需要设计一下网络结果,适应这种特征的融入。

  • 更自然语言的模型:比如业务同学的观点都很抽象,是否可以通过半阅读理解的形式补充。举个例子:生鲜坏果是一个常见的客服问题。很多非生鲜的可能会被错判,业务是否能加一个选项:生鲜水果。通过这个词选项能优化部分case。这部分可以通过语义向量的引入解决。

  • 迁移学习:BERT的迁移效果非常好,各个业务如果有类似的话,迁移也是个非常不错的优化点。

  • 实体化:词语实体化一直是比较想探索的模块,词语实体化后能大大减少训练数据的复杂度,并且具有更高的泛化性和可控性。

流程提升点:数据为王的模型下,如何让打标的人更快的达标也是个技术活

  • 提供近义词:水果->苹果、梨子...能自动出来当然更好啦,这也比较容易用w2v实现。

  • 提供近似语句:模型可以预测出相似的句子来辅助标注。

  • 聚类:帮助发现一些新的类簇,很多标签可能需要新搞一个。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容

  • 前面的文章主要从理论的角度介绍了自然语言人机对话系统所可能涉及到的多个领域的经典模型和基础知识。这篇文章,甚至之后...
    我偏笑_NSNirvana阅读 13,862评论 2 64
  • 与你一起的夏天 已经结束,将来的梦想,一起许下的愿望,我永生难忘。 十年之后的八月,请相信我们一定能再见。 《我们...
    喜欢漫画的咖啡店阅读 518评论 0 1
  • 你知道吗,我爱那片青葱校园。 住在哈佛红的校园里,很多时候并不能像哈佛学生一样优秀。第一天见到班里同学们的时候,我...
    凉开水突然热了阅读 449评论 0 0
  • 最近在看巜唐诗素描》,读了王维的这首诗,挺有意思的。美丽的辛夷花,没有欣赏者,于是,独自盛开又独自凋零。一起欣赏。
    毒药_92d0阅读 699评论 1 1