首页> 中国专利> 一种基于深度语义算法的社群舆情红线检测方法

一种基于深度语义算法的社群舆情红线检测方法

摘要

本发明公开了一种基于深度语义算法的社群舆情红线检测方法,该方法包含:步骤1、确定社群中用户红线语句与正常语句;步骤2、获取中文语料训练的Bert预训练模型;步骤3、进行Bert模型输入;步骤4、完成Bert模型预训练任务;步骤5、进行模型微调;步骤6、评估模型效果。本发明提供了一种关于社群舆情红线检测的深度语义算法,针对以往只考虑词汇表面监控方法的缺陷,采用基于深度学习方法Bert预训练模型,结合下游分类任务进行微调,并进行语义匹配分类,只要是相关的红线语义,均可以进行预测结果,进行及时处理。

著录项

  • 公开/公告号CN112463961A

    专利类型发明专利

  • 公开/公告日2021-03-09

    原文格式PDF

  • 申请/专利权人 上海昌投网络科技有限公司;

    申请/专利号CN202011254066.5

  • 发明设计人 巩乐;

    申请日2020-11-11

  • 分类号G06F16/35(20190101);G06F40/295(20200101);G06F40/30(20200101);G06N3/08(20060101);

  • 代理机构31335 上海尚象专利代理有限公司;

  • 代理人徐炫

  • 地址 200120 上海市浦东新区中国(上海)自由贸易试验区龙东大道3158弄6号1幢701室、702室、703室

  • 入库时间 2023-06-19 10:08:35

说明书

技术领域

本发明涉及一种监控社群红线的自然语言理解与处理技术领域的关于社群舆情红线检测的深度语义算法,具体地,涉及一种基于深度语义算法的社群舆情红线检测方法。

背景技术

社群主要就是依托这几年快速发展起来的移动社交平台,产生的一种新的在线化社交方式。简单说社群就是这种新的移动社交平台所提供的一种新的社交方式。因此讲,社群本身并没有特别属性,就是一种社交方式。当然是一种在线化的社交方式,它能带来更有效率的社交。但是任何的社会活动、营销活动都是基于社交产生的。因此,这种新的社交方式就为新的社会活动、营销活动创造了新的价值。

当前,这种新的社群社交方式最具代表特征的就是微信,特别是微信朋友圈、微信群搭建的社交功能。但是并不限于微信,现在还有其他很多具备社交属性的社群新工具,也具备较强的社群属性,譬如钉钉、小红书、抖音、快手、大众点评、知乎、豆掰、领英、B站等等。

目前这种在线化的社群社交方式,基本成为了中国社会主流社交方式。表现是:用户数量多、占用时间长。现在越来越多人的主要社交活动基本都转移到移动社交平台上来了。营销的角度看社群,主要有三个方面的价值:链接、传播、卖货。而社群营销中群主(管理员)是直接用户的人员,其言论内容关系公司和用户的信任,对社群的管理人员进行红线风控很有必要。

目前社群红线监控采取的是词汇表面意思,进行召回,如果该语句出现红线词典中的词汇,就进行检索常规方法,如分词,倒排索引,搜索到了相关语料后,需要进行相关度排序,使用比如tfidf,bm25之类很传统的信息抽取方法从而识别,效果不好,而且红线词典需要大量人工进行收集,而且要不断维护。

基于传统特征提取方法有:1.Bag-of-words:最原始的特征集,一个单词 /分词就是一个特征。往往会导致一个数据集有上万个特征,有一些的简单指标可以筛选掉一些对分类没帮助的词语,如去停用词、计算互信息熵等。但总的来说,特征维度都很大,每个特征的信息量太小;2.统计特征:TF-IDF 方法。主要是用词汇的统计特征来作为特征集,每个特征都有其物理意义,看起来会比bag-of-word好,实际效果差不多;3.N-gram:一种考虑词汇顺序的模型,也就是N阶Markov链,每个样本转移成转移概率矩阵,有不错的效果。再采用机器学习方法如朴素贝叶斯、SVM、Logistic回归等方法,但效果一般,模型泛化能力差。

发明内容

本发明的目的是提供一种社群舆情红线检测的深度语义算法,针对以往只考虑词汇表面监控方法的缺陷,采用基于深度学习方法Bert预训练模型,结合下游分类任务进行微调,并进行语义匹配分类,只要是相关的红线语义,均可以进行预测结果,进行及时处理。

本发明提供了一种基于深度语义算法的社群舆情红线检测方法,其中,所述的方法包含:步骤1、确定社群中用户红线语句与正常语句;步骤2、获取中文语料训练的Bert预训练模型;步骤3、进行Bert模型输入;步骤4、完成Bert模型预训练任务;步骤5、进行模型微调;步骤6、评估模型效果。

上述的基于深度语义算法的社群舆情红线检测方法,其中,所述的步骤 1是确定社群中用户红线的若干类语句,相互之间保持互斥性,同时增加一类正常语句。

上述的基于深度语义算法的社群舆情红线检测方法,其中,所述的步骤 4包含两个预训练任务,第一个是做语言模型,第二个是做下一个句子预测。

上述的基于深度语义算法的社群舆情红线检测方法,其中,所述的做语言模型,是采用深度的双向模型,随机mask掉15%的token,最终的损失函数只计算被mask掉的token;随机mask的时候10%的单词会被替代成其他单词,10%的单词不替换,剩下80%被替换为[MASK]。

上述的基于深度语义算法的社群舆情红线检测方法,其中,所述的做下一个句子预测,是为了让模型理解两个句子之间的联系;训练的输入是句子A和B,B有一半的几率是A的下一句,输入这两个句子,通过模型预测B 是不是A的下一句。

上述的基于深度语义算法的社群舆情红线检测方法,其中,所述的步骤 5中的模型微调是结合Bert下游的具体分类任务,进行微调训练,获取效果比较好的分类模型。

上述的基于深度语义算法的社群舆情红线检测方法,其中,所述的Bert 下游的具体分类任务包含:句子对分类任务,单个句子分类任务,阅读理解和命名实体识别任务。

上述的基于深度语义算法的社群舆情红线检测方法,其中,所述的模型微调是根据[CLS]标志生成一组特征向量,并通过一层全连接进行微调,损失函数根据任务类型自行设计。

上述的基于深度语义算法的社群舆情红线检测方法,其中,所述的模型微调,损失函数采用多分类的softmax,优化参数训练模型;对于分类任务, Bert直接取[CLS]token的最终隐含层状态C∈R

上述的基于深度语义算法的社群舆情红线检测方法,其中,所述的步骤 6是将训练好的红线Bert模型预测真实场景的用户说话语句,得到红线结果获得混淆矩阵,评估模型效果。

本发明提供的基于深度语义算法的社群舆情红线检测方法具有以下优点:

本发明通过分析社群的群主每日聊天信息,包含群聊和私聊,分析群主言论触及公司的红线类别,红线类别包含不文明用户、过度营销、过度承诺、个人利益和公司品牌形象,以便社群群主提供好的社群服务。

使用本发明提供的方法具有的优点还包括:

1.只要收集相关语义的语句,获取比较容易,如从历史聊天库,而且不用整理和维护红线词汇词典。

2.模型预测准确高,召回率高,对比传统机器学习方法提高20%,泛化能力强。

附图说明

图1为本发明的基于深度语义算法的社群舆情红线检测方法的Bert模型输入示意图。

图2为本发明的基于深度语义算法的社群舆情红线检测方法的 Transfomer结构的示意图。

图3为本发明的基于深度语义算法的社群舆情红线检测方法的Bert下游任务结构的示意图。

具体实施方式

以下结合附图对本发明的具体实施方式作进一步地说明。

本发明提供了一种基于深度语义算法的社群舆情红线检测方法,该方法包含:步骤1、确定社群中用户红线语句与正常语句;步骤2、获取中文语料训练的Bert预训练模型;步骤3、进行Bert模型输入;步骤4、完成Bert模型预训练任务;步骤5、进行模型微调;步骤6、评估模型效果。

Bert(Bidirectional Encoder Representations from Transformers)是一个预训练的模型,Bert的本质上是通过在海量的语料的基础上运行自监督学习方法为单词学习一个好的特征表示,所谓自监督学习是指在没有人工标注的数据上运行的监督学习。在以后特定的NLP(Natural Language Processing,自然语言处理)任务中,可以直接使用Bert的特征表示作为该任务的词嵌入特征。所以Bert提供的是一个供其它任务迁移学习的模型,该模型可以根据任务微调或者固定之后作为特征提取器。

步骤1是确定社群中用户红线的若干类语句,如不文明用语、过度营销、过度承诺、个人利益、品牌形象等;相互之间保持互斥性,同时增加一类正常语句。正常语句就是去除红线语句,其余语句归为正常语句。

步骤2中获取的中文语料训练的Bert预训练模型,以 chinese-bert-wwm-ext.Bert为例。

chinese-bert-wwm-ext.Bert的全称为Bidirectional EncoderRepresentations from Transformers,即双向Transformer的Encoder。模型的优势在于:使用双向的Transformer搭建深度预训练模型在预训练过程中使用Masked LM捕获词语级别的表示。

在预训练过程中使用Next Sentence Prediction捕获句子级别的表示.Bert 在每层都对Transformer进行双向地连接,直接以作为目标函数训练语言模型 (LM,LanguageModel)提出了两种不同大小的Bert模型,分别为Bert-base 和Bert-large,模型采用不同的参数设置:

Bert-base:L=12,H=768,A=12,总参数量为110M。

Bert-large:L=24,H=1024,A=16,总参数量为340M。

步骤3、进行Bert模型输入;参见图1所示。

图1中的Token Embeddings是词向量,第一个单词是标志,在分类任务中,这个位置的隐含状态作为序列表示的聚合向量;还有一个标记,用于句子预测的任务。SegmentEmbeddings用来区别两种句子,因为预训练不光做 LM还要做以两个句子为输入的分类任务。Position Embeddings字符位置向量。

其中,Transfomer结构如图2所示。

步骤4包含两个预训练任务,第一个是做语言模型,第二个是做下一个句子预测。

做语言模型,是采用深度的双向模型。

从直觉上,深度的双向模型会优于浅层单向拼接模型。但是深度的双向模型不能简单地去做LM,因为在双向的条件下,每个词会间接地看到它本身。

因此,选择随机mask掉15%的token,而不是cbow把每一个词都预测一遍,最终的损失函数只计算被mask掉的token;如果一直用标记[MASK] 代替(在实际预测时是碰不到这个标记的)会影响模型,所以随机mask的时候10%的单词会被替代成其他单词,10%的单词不替换,剩下80%被替换为[MASK]。因为序列长度太大(512)会影响训练速度,所以90%的steps 都用seq_len=128训练,余下的10%步数训练512长度的输入。

也就是说,为了训练双向特征,采用了Masked Language Model的预训练方法,随机mask句子中的部分token,然后训练模型来预测被去掉的token。

因为涉及到QA和NLI之类的任务,增加了第二个预训练任务,做下一个句子预测,目的是为了让模型理解两个句子之间的联系;训练的输入是句子A和B,B有一半的几率是A的下一句,输入这两个句子,通过模型预测 B是不是A的下一句。预训练的时候可以达到97-98%的准确度。

步骤5中的模型微调是结合Bert下游的具体分类任务,进行微调训练,获取效果比较好的分类模型。

Bert下游的具体分类任务包含:句子对分类任务,单个句子分类任务,阅读理解和命名实体识别任务。下游任务结构参见图3所示。

模型微调是根据[CLS]标志生成一组特征向量,并通过一层全连接进行微调,损失函数根据任务类型自行设计。

优选地,损失函数采用多分类的softmax,优化参数训练模型;对于序列的分类任务上,Bert直接取[CLS]token的最终隐含层状态C∈R

优选地,有一些推荐的超参数设定:

Batch size:70

Learning rate(Adam):5e-5,3e-5,2e-5

Number of epochs:3,4

最后,越大的数据集越不会对超参数的设定敏感。

另外,因为Fine-tuning是很快的,所以可以尝试更多的超参数设定,以在验证集上获得更好的效果。

步骤6是将训练好的红线Bert模型预测真实场景的用户说话语句,得到红线结果获得混淆矩阵,评估模型效果。

下面结合实施例对本发明提供的基于深度语义算法的社群舆情红线检测方法做更进一步描述。

实施例1

一种基于深度语义算法的社群舆情红线检测方法,其包含:

步骤1.确定好社群中用户红线为5类(如不文明用语、过度营销、过度承诺、个人利益、品牌形象等),保持好互斥性,同时增加正常语句一类,共 6类。

具体包含:

一、语句确定

1.1不文明用语

1.1不文明用语不文明包含2个方面,说脏话,强嘲讽。

1.1.1严禁以任何形式使用不文明,粗鄙的语言与客户争吵,含通讯工具、直面交流、系统操作等方式。

1.1.2严禁以侮辱、讽刺性词语,恶意备注/标记学员信息。

1.2过度营销:伤害用户利益,违背公司价值观的销售行为。

1.2.1严禁推荐超过学员经济负担能力的购课方式。

1.2.2严禁主动引导学员花呗或信用卡套现。

1.2.3严禁任何业绩作假行为。

1.2.4严禁教员之间不正当竞争。

1.3过度承诺

1.3.1严禁使用“一定,肯定,保证,承诺”等类似字样向学员承诺,保证收益。

1.4个人利益:利用学员和公司资源,牟取个人利益的行为。

1.4.1严禁与竞品合作,私拉小群,引流到自己或他人公号、微博、知识星球、APP等平台。

1.4.2严禁公开或私下推荐非官方渠道的产品,包括但不限于券商,理财产品,保险服务等。

1.4.3严禁向非本司员工发送内部资料,包括但不限于运营手册和管理制度等。

1.4.4严禁向学员贩卖或赠送长投学堂盗版课程资源,内容包含课程 PPT和音频资料等。

1.5品牌形象

1.5.1严禁诋毁,贬低公司课程。

1.5.2严禁诋毁,攻击,恶意抹黑公司形象。

1.5.3严禁以任何形式对外传播“与公司现有产品和业务严重不符”的信息。

1.5.4严禁在社群内散播未经核实的新闻信息以及不适合的蹭热度内容。

1.6正常语句

去除上述5类红线,其余语句归为正常语句。

二、收集相关红线语句和正常语句的模型语料,最后整理为2列,分别是文本字符串和对应红线标签。如下表1所示。

表1.红线标注语句样本量分布表。

步骤2、获取公开的中文预训练Bert模型。

优选地,采用科大讯飞训练的中文预训练模型chinese-bert-wwm-ext。

步骤3、进行Bert模型输入。

步骤4、完成Bert模型预训练任务。

步骤5、进行模型微调。

基于Bert训练分类模型,对收集的红线语料微调红线Bert模型,BERT 的微调方法是根据[CLS]标志生成一组特征向量,并通过一层全连接进行微调。损失函数根据任务类型自行设计,例如多分类的softmax,优化参数训练模型,Batch size=70,Learning rate(Adam)=3e-5,epochs=4,GPU为 RTX6000(显存24G),评估模型效果,存储效果比较好的模型。

步骤6、评估模型效果。

将训练好的红线Bert模型预测真实场景的用户说话语句,得到红线结果获得混淆矩阵,评估模型效果。

最后通过Flask高并发部署,QPS满足700+,满足需求使用。

上线接口和说明如下表2和表3所示。

表2.上线接口和说明。

Body:

示例:{'sent_id':'xsafs1001','sent':”,'sent_role':0}

表3.返回参数。

示例:

{'data':['{"proba":0.9991,"label":"不文明用语","kw":"SB"}'],

'sent_id':'xsafs1001'}

}

本发明提供的基于深度语义算法的社群舆情红线检测方法,是一种关于社群舆情红线检测的深度语义算法,其采用的算法为自然语言语义表示,重点在于利用广义语义表示和下游任务结合的红线预测模型算法,属于监控社群红线的自然语言理解与处理技术领域。该深度语义算法基于广大文本语料预训练,提取获取语义表示特征,结合下游具体分类任务,进行微调训练,获取效果比较好的分类模型,强调语义表示,模型泛化能力提高。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号