CN114896392A - 工单数据的聚类方法、装置、电子设备及存储介质 - Google Patents
工单数据的聚类方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114896392A CN114896392A CN202210392110.1A CN202210392110A CN114896392A CN 114896392 A CN114896392 A CN 114896392A CN 202210392110 A CN202210392110 A CN 202210392110A CN 114896392 A CN114896392 A CN 114896392A
- Authority
- CN
- China
- Prior art keywords
- clustering
- work order
- order data
- sample
- sublayer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/231—Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种工单数据的聚类方法、装置、电子设备及存储介质,所述方法包括:获取工单数据;将所述工单数据输入至分层聚类模型中,得到所述工单数据的聚类结果;其中,所述分层聚类模型包括分类层、第一聚类层和第二聚类层;所述第二聚类层包括SimCSE子层和DEC聚类子层,其中所述SimCSE子层是基于工单样本和所述工单样本的文本向量进行有监督的训练得到的;所述DEC聚类子层是基于所述工单样本的文本向量和文本向量对应的工单数据的聚类结果进行训练得到的。本发明提高了大数据量的工单数据的聚类速度以及聚类效果。
Description
技术领域
本发明涉及机器学习以及自然语言处理技术领域,尤其涉及一种工单数据的聚类方法、装置、电子设备及存储介质。
背景技术
工单系统每日会从各个地市汇总大量各种类型的工单,如投诉工单,故障工单等。大量工单之间存在重复的,相似的工单需要合并归类,而引入机器学习的能力可以智能化的对工单进行处理。通过自然语言处理算法可以更好的理解工单之间语义信息;通过聚类算法可以归并相似工单,能极大的减小客服人员工作量,提高效率。经过机器学习算法处理后的工单可以沉淀入知识库中,通过运维机器人类的问答系统进行相似工单查找,解决方案推荐的功能。
面对工单聚类场景,现有的技术方案并不能很好的适合。在进行工单数据人工标注与数据分析时,发现工单数据呈现以下特点:
1、同属一类的工单数据文字描述方式可能相差较大。因为工单来源于各个地市的客服人员,其语言组织能力与方式有时会差别较大;个别类别的定义范围较其他类别更广,可容纳的描述方式自然也会更多。
2、多层级的类别标注。工单在系统中存在多层级的类别,且同属一个大类别的工单下属可以分为许多小类别。
面对大规模数据量工单,当聚类簇较大时,会导致聚类算法性能严重下降,耗时严重。聚类结果准确率也会受文本向量化方式与传统聚类算法本身性能的影响,难以得到优秀的聚类结果。在当文档间拥有共现词较多时,算法匹配相似度较高。
因此,如何提高工单的聚类速度以及聚类效果,是本课题亟需解决的技术问题。
发明内容
本发明提供一种工单深度聚类方法、装置、电子设备及存储介质,用以解决现有技术中聚类速度慢、效果差的缺陷,实现提高工单的聚类速度以及聚类效果。
本发明提供一种工单数据的聚类方法,包括:
获取工单数据;
将所述工单数据输入至分层聚类模型中,得到所述工单数据的聚类结果;
其中,所述分层聚类模型包括分类层、第一聚类层和第二聚类层;
所述第二聚类层包括SimCSE子层和DEC聚类子层,其中所述SimCSE子层是基于工单样本和所述工单样本的文本向量进行有监督的训练得到的;
所述DEC聚类子层是基于所述工单样本的文本向量和文本向量对应的工单数据的聚类结果进行训练得到的。
根据本发明提供的一种工单数据的聚类方法,所述将所述工单数据输入至分层聚类模型中,得到所述工单数据的聚类结果,具体包括:
将所述工单数据输入至分类层,得到所述工单数据的分类结果;
将所述分类结果输入至第一聚类层,得到所述工单数据的初步聚类结果;
将所述初步聚类结果输入至第二聚类层,得到所述工单数据的最终聚类结果。
根据本发明提供的一种工单数据的聚类方法,所述将所述初步聚类结果输入至第二聚类层,得到所述工单数据的最终聚类结果,具体包括:
将所述初步聚类结果对应的工单数据输入至训练好的SimCSE子层中,获取所述工单数据的文本向量;
将所述文本向量输入训练好的DEC聚类子层中,得到所述工单数据的最终聚类结果。
根据本发明提供的一种工单数据的聚类方法,将所述工单数据输入至分类层之前,还包括:
遍历领域字典,得到所述领域字典的关键词,并基于所述关键词建立统计规则;
基于所述关键词和统计规则,得到对所述工单数据进行分类的预设规则。
根据本发明提供的一种工单数据的聚类方法,所述将所述工单数据输入至分类层,得到所述工单数据的分类结果,具体包括:
将所述工单数据输入至分类层,基于所述预设规则进行判断,基于所述判断结果得到所述工单数据的分类结果;
若所述工单数据满足预设规则,则将所述工单数据归类为与所述预设规则对应的目标类别;
若所述工单数据不满足预设规则,且不包含关键词,则将所述工单数据作为其他类别。
根据本发明提供的一种工单数据的聚类方法,所述将所述分类结果输入至第一聚类层,得到所述工单数据的初步聚类结果,具体包括:
将所述分类结果输入至第一聚类层,基于哈希函数将所述分类结果对应的工单数据转换为SimHash签名;
获取所述SimHash签名之间的汉明距离,将所述汉明距离满足预设阈值的SimHash签名聚类为一族,得到所述工单数据的初步聚类结果。
根据本发明提供的一种工单数据的聚类方法,所述SimCSE子层的训练方法包括:
获取工单样本;
建立待训练的SimCSE子层;
将所述工单样本输入至SimCSE子层中,基于损失函数获取所述文本向量与所述工单样本之间的第一损失值,利用所述第一损失值对SimCSE子层反复进行参数调整,直至所述第一损失值小于第一预设阈值,停止训练。
根据本发明提供的一种工单数据的聚类方法,所述DEC聚类子层的训练方法包括:
建立待训练的DEC聚类子层,将所述工单样本的文本向量输入至DEC聚类子层,得到所述工单样本的聚类结果;
基于所述损失函数获取所述聚类结果与所述文本向量之间的第二损失值,利用所述第二损失值对DEC聚类子层进行参数调整,直至所述第二损失值小于第二预设阈值。
根据本发明提供的一种工单数据的聚类方法,所述将所述工单样本输入至SimCSE子层中,获取所述工单样本的文本向量,具体包括:
将所述工单样本进行微调训练,获取所述工单样本的正例样本;
将所述正例样本基于BM25算法,生成与所述正例样本语义匹配的负例样本;
将所述正例样本和负例样本输入至SimCSE子层中,分别获取所述正例样本和负例样本的文本向量。
根据本发明提供的一种工单数据的聚类方法,将所述正例样本和负例样本输入至SimCSE子层中,分别获取所述正例样本和负例样本的文本向量之前,所述方法还包括:
获取中文文本STS数据集;
将所述中文文本STS数据集输入至SimCSE子层中进行预训练,得到SimCSE预训练子层;
所述将所述正例样本和负例样本输入至SimCSE子层中,分别获取所述正例样本和负例样本的文本向量,具体包括:
将所述正例样本和负例样本输入至所述SimCSE预训练子层中,分别获取所述正例样本和负例样本的文本向量。
根据本发明提供的一种工单数据的聚类方法,将所述工单样本进行微调训练,获取所述工单样本的正例样本之前,所述方法还包括:
对所述工单样本进行近义词替换以及词序调整,获取语料增强样本;
所述将所述工单样本进行微调训练,获取所述工单样本的正例样本,具体包括:
将所述语料增强样本进行微调训练,获取所述语料增强样本的正例样本。
根据本发明提供的一种工单数据的聚类方法,所述DEC聚类子层包括自动编码层以及聚类层;
所述将所述文本向量输入至DEC聚类子层,得到所述工单样本的聚类结果,具体包括:
将所述文本向量输入至自动编码层,获取所述文本向量的特征向量;
将所述特征向量输入至聚类层,得到所述特征向量对应工单样本的聚类结果。
根据本发明提供的一种工单数据的聚类方法,还包括:设置距离阈值,并基于所述距离阈值调整聚类个数;其中所述聚类结果与所述聚类个数相对应。
本发明还提供一种工单数据的聚类装置,包括:
获取模块,用于获取工单数据;
聚类模块,用于将所述工单数据输入至分层聚类模型中,得到所述工单数据的聚类结果;
其中,所述分层聚类模型包括分类层、第一聚类层和第二聚类层;
所述第二聚类层包括SimCSE子层和DEC聚类子层,其中所述SimCSE子层是基于工单样本和所述工单样本的文本向量进行有监督的训练得到的;
所述DEC聚类子层是基于所述文本向量和文本向量对应的工单数据的聚类结果进行训练得到的。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述工单数据的聚类方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述工单数据的聚类方法的步骤。
本发明提供的工单深度聚类方法、装置、电子设备及存储介质,通过获取需要进行聚类的工单数据,并将工单数据输入至分层聚类模型中,通过对工单数据进行多层的分类以及聚类,并且基于训练完成的SimCSE子层和DEC聚类子层对工单数据进行聚类,提高了大数据量的工单数据的聚类速度。并且,通过SimCSE子层能够得到工单数据高质量的文本向量,进而通过DEC聚类子层得到工单数据的聚类结果,从而提高了工单数据的聚类效果。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的工单数据的聚类方法的流程示意图之一;
图2是本发明提供的工单数据的聚类方法的流程示意图之二;
图3是本发明提供的工单数据的聚类方法的流程示意图之三;
图4是本发明提供的工单数据的聚类方法的流程示意图之四;
图5是本发明提供的工单数据的聚类方法的流程示意图之五;
图6是本发明提供的工单数据的聚类方法的流程示意图之六;
图7是本发明提供的工单数据的聚类方法的流程示意图之七;
图8是本发明提供的工单数据的聚类方法的流程示意图之八;
图9是本发明提供的工单数据的聚类方法的流程示意图之九;
图10是本发明提供的工单数据的聚类方法的流程示意图之十;
图11是本发明提供的工单数据的聚类装置的结构示意图;
图12是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图10描述本发明的工单数据的聚类方法。
参照图1,本发明提供一种工单数据的聚类方法,包括以下步骤:
步骤110、获取工单数据。
具体地,本实例中的工单数据为工单系统从各个渠道汇总的大量类型的工单,如投诉工单、故障工单等。
步骤120、将所述工单数据输入至分层聚类模型中,得到所述工单数据的聚类结果;
其中,所述分层聚类模型包括分类层、第一聚类层和第二聚类层。
可以理解为,本实施例中将需要进行归类的工单数据输入到已经搭建好的分层聚类模型中,从而得到工单数据的聚类结果。
分层聚类模型包括多层结构,通过分类层、第一聚类层和第二聚类层可将输入的工单数据进行多次的分类和聚类。
所述第二聚类层包括SimCSE子层和DEC聚类子层,其中所述SimCSE子层是基于工单样本和所述工单样本的文本向量进行有监督的训练得到的;
所述DEC聚类子层是基于所述工单样本的文本向量和文本向量对应的工单数据的聚类结果进行训练得到的。
具体地,本实施例是将第一聚类层进行聚类后的工单数据进行第二次聚类。经过第一次聚类后的工单数据输入至第二聚类层,分别进过SimCSE子层进行向量转换,再通过DEC聚类子层对工单数据进行精细的聚类,从而得到最终的工单数据的聚类结果。
本发明提供的工单深度聚类方法,通过获取需要进行聚类的工单数据,并将工单数据输入至分层聚类模型中,通过对工单数据进行多层的分类以及聚类,并且基于训练完成的SimCSE子层和DEC聚类子层对工单数据进行聚类,提高了大数据量的工单数据的聚类速度。并且,通过SimCSE子层能够得到工单数据高质量的文本向量,进而通过DEC聚类子层得到工单数据的聚类结果,从而提高了工单数据的聚类效果。
基于以上实施例,参照图2,所述将所述工单数据输入至分层聚类模型中,得到所述工单数据的聚类结果,具体包括以下步骤:
步骤210、将所述工单数据输入至分类层,得到所述工单数据的分类结果;
步骤220、将所述分类结果输入至第一聚类层,得到所述工单数据的初步聚类结果;
步骤230、将所述初步聚类结果输入至第二聚类层,得到所述工单数据的最终聚类结果。
具体地,本实施例对工单数据进行分类和聚类的过程如下:
首先将工单数据通过分类层,进行一级分层,将工单数据划分为多个类别,如类别a、类别b以及类别c等。其中,一级分层是根据正则表达式和积累的领域字典进行的粗略分层。
其次,将分类层输出的结果输入至第一聚类层,基于SimHash方法快速进行基于词的粗聚。通过某个哈希函数将工单数据转换为SimHash签名(fingerprint),计算SimHash签名之间的汉明距离小于N的数据即为一族。经验值N=3,但面对真实的工单数据超参数N一般选择更大的值,以保证经过第二层的数据不会聚成太多的簇。
最后,将第一聚类层的输出结果输入至第二聚类层,先后对工单数据进行文本向量生成以及精细聚类,从而得到工单数据最终的聚类结果。
基于以上实施例,参照图3,所述将所述初步聚类结果输入至第二聚类层,得到所述工单数据的最终聚类结果,具体包括以下步骤:
步骤310、将所述初步聚类结果对应的工单数据输入至训练好的SimCSE子层中,获取所述工单数据的文本向量;
步骤320、将所述文本向量输入训练好的DEC聚类子层中,得到所述工单数据的最终聚类结果。
本实施例中,第二聚类层可分为两层结构,分别为SimCSE子层以及DEC聚类子层,SimCSE子层以及DEC聚类子层均为神经网络模型,是通过对大量的样本集进行训练得到的。通过训练好的SimCSE模型以及DEC聚类模型获取工单数据的文本向量以及聚类结果,从而提高聚类的精确度以及效率。
基于以上实施例,将所述工单数据输入至分类层之前,还包括:
遍历领域字典,得到所述领域字典的关键词,并基于所述关键词建立统计规则;
基于所述关键词和统计规则,得到对所述工单数据进行分类的预设规则。
具体地,在对工单数据进行第一次分类之前,需要获取分类层的分类规则。其中分类规则是通过获取领域字典的关键词,并根据关键词建立统计规则,需要对这些字典中的关键词设定优先级,以应对某些工单包含不止一个关键词。设立基于关键词的统计规则,如同时包含某一类别不止N个词,才会被归为该类别。
基于以上实施例,所述将所述工单数据输入至分类层,得到所述工单数据的分类结果,具体包括:
将所述工单数据输入至分类层,基于所述预设规则进行判断,基于所述判断结果得到所述工单数据的分类结果;
若所述工单数据满足预设规则,则将所述工单数据归类为与所述预设规则对应的目标类别;
若所述工单数据不满足预设规则,且不包含关键词,则将所述工单数据作为其他类别。
具体地,本实施例通过预设规则,对工单数据进行进一步地筛选和分类,比如可以表现为:设立一个“其他类”,该类别工单既不包含字典中的关键词也不能被规则所匹配中。即第一类别为包含关键词的类别,其他类别为不包含关键词且不满足预设规则的“其他类”。
基于以上实施例,所述将所述分类结果输入至第一聚类层,得到所述工单数据的初步聚类结果,具体包括:
将所述分类结果输入至第一聚类层,基于哈希函数将所述分类结果对应的工单数据转换为SimHash签名;
获取所述SimHash签名之间的汉明距离,将所述汉明距离满足预设阈值的SimHash签名聚类为一族,得到所述工单数据的初步聚类结果。
具体地,本实施例是基于SimHash算法对工单数据进行粗聚类。本实例中通过SimHash算法对分类后的工单数据进行大规模的去重,通过哈希函数将工单数据转换为SimHash签名(fingerprint),计算SimHash签名间的汉明距离,把汉明距离小于预设阈值N的工单数据作为一族,其中预设阈值N可根据实际情况设置不同数值。经验值N=3,但面对真实的工单数据超参数N一般选择更大的值,以保证经过第二层的工单数据不会聚成太多的簇。
基于以上实施例,参照图4,所述SimCSE子层的训练方法包括:
步骤410、获取工单样本;
步骤420、建立待训练的SimCSE子层;
步骤430、将所述工单样本输入至SimCSE子层中,基于损失函数获取所述文本向量与所述工单样本之间的第一损失值,利用所述第一损失值对SimCSE子层反复进行参数调整,直至所述第一损失值小于第一预设阈值,停止训练。
具体地,本实施例中的工单样本即为SimCSE子层模型的训练样本集,将大量的工单样本输入至建立的SimCSE子层模型中进行训练,并利用损失函数不断进行调参处理,直至第一损失值小于预设阈值,即模型收敛时停止训练,训练好的模型将应用于工单数据转化为文本向量的过程。
基于以上实施例,参照图5,所述DEC聚类子层的训练方法包括以下步骤:
步骤510、建立待训练的DEC聚类子层,将所述工单样本的文本向量输入至DEC聚类子层,得到所述工单样本的聚类结果;
步骤520、基于所述损失函数获取所述聚类结果与所述文本向量之间的第二损失值,利用所述第二损失值对DEC聚类子层进行参数调整,直至所述第二损失值小于第二预设阈值。
具体地,本实施例为DEC聚类子层模型的训练过程。通过大量的文本向量作为训练样本集,输入已建立的DEC聚类子层模型中,利用损失函数不断调整第二损失值,直至第二损失值小于第二预设阈值,即模型收敛停止训练。
基于以上实施例,所述将所述工单样本输入至SimCSE子层中,获取所述工单样本的文本向量,具体包括:
将所述工单样本进行微调训练,获取所述工单样本的正例样本;
将所述正例样本基于BM25算法,生成与所述正例样本语义匹配的负例样本;
将所述正例样本和负例样本输入至SimCSE子层中,分别获取所述正例样本和负例样本的文本向量。
具体地,本实施例的SimCSE子层基于孪生网络架构实现,参照图6,孪生网络结构拥有左右两个输入通道,两个输入通道共享同一个BERT模型。损失函数可以是余弦相似度cosine或欧式距离L2等。图中,Sentence B和Sentence B分别为两个相关的语句,作为BERT的输入,经过相同的BERT层以及pooling(池化)转化为U和V两个文本向量,再根据损失函数(cosine Similarity)输出。
本实施例的训练样本分为正例样本与负例样本,其中正例样本从同一类别的数据集中选取,并且通过BM25算法,筛选出不同类别中与正例语义最接近的工单数据做为负例样本。对比学习的目的是减少同类距离,增大不同类之间的距离,借此获得一个文本更好的表示向量。这样设计负例样本,意图增强模型对相似而不同类别的文本有更好的向量表征。
参照图7,有监督的SimCSE算法图中,实线箭头代表同属一类的正例样本,虚线箭头代表不同类的负例样本。
具体地,实现箭头代表的同属一类的正例样本,如“Two dogs are running”、“There are animals outdoors”、“The pets are sitting on a couch”。虚线箭头代表的不同类的负例样本,如“A man surfing on the sea”、“A kid is on a skateboard”、“There is a man”、“The man wears a business suit”、“The man wears a businesssuit”、“A kid is on a skateboart”、“A kid is skateboarding”、“A kit is insidethe house”。
基于以上实施例,将所述正例样本和负例样本输入至SimCSE子层中,分别获取所述正例样本和负例样本的文本向量之前,所述方法还包括:
获取中文文本STS数据集;
将所述中文文本STS数据集输入至SimCSE子层中进行预训练,得到SimCSE预训练子层;
所述将所述正例样本和负例样本输入至SimCSE子层中,分别获取所述正例样本和负例样本的文本向量,具体包括:
将所述正例样本和负例样本输入至所述SimCSE预训练子层中,分别获取所述正例样本和负例样本的文本向量。
具体地,本实施例首先使用开源的大规模中文文本STS数据集进行SimCSE的模型预训练工作从而得到SimCSE预训练子层模型,目的是为了初始的SimCSE模型可以学习到中文文本的先验知识。需要注意的是,这里损失函数DEC聚类子层的距离衡量方法一致。
基于以上实施例,将所述工单样本进行微调训练,获取所述工单样本的正例样本之前,所述方法还包括:
对所述工单样本进行近义词替换以及词序调整,获取语料增强样本;
所述将所述工单样本进行微调训练,获取所述工单样本的正例样本,具体包括:
将所述语料增强样本进行微调训练,获取所述语料增强样本的正例样本。
具体地,本实施例将分词后的工单采用近义词替换,词序调整的方式进行工单样本的语料增强,并且对语料增强的样本进行微调处理,在训练SimCSE微调模型的过程中,冻结BERT的初始若干层,试图最大程度的保留预训练阶段的中文先验知识。
基于以上实施例,所述DEC聚类子层包括自动编码层以及聚类层;
所述将所述文本向量输入至DEC聚类子层,得到所述工单样本的聚类结果,具体包括:
将所述文本向量输入至自动编码层,获取所述文本向量的特征向量;
将所述特征向量输入至聚类层,得到所述特征向量对应工单样本的聚类结果。
具体地,参照图8,本实施例的DEC聚类子层模型分为两阶段训练。第一阶段训练AutoEncoder(AE)作为初始特征表征,input(输入)采用SimCSE子层模型的输出文本向量。AE网络结构的中间层feature向量便是我们第二阶段所需聚类算法的输入向量,而中间层的feature还可通过解码器(decoder)进行处理和重建。采用AE网络算法的好处是可以使得feature向量相比input向量有降维和去噪的功能。
第二阶段利用训练好的Encoder模型与聚类中心的分配(cluster assignment)一起做训练微调,这样同时优化encoder以及聚类中心的分配,使得两个任务可以互相促进互相学习。
基于以上实施例,设置距离阈值,并基于所述距离阈值调整聚类个数;其中所述聚类结果与所述聚类个数相对应。
具体地,本实施例基于层次聚类算法AgglomerativeClustering,通过设置距离阈值(distance_threshold)参数来控制聚类个数,其中参数distance_threshold一般选在0.8~0.9。需要说明的是,本实施例中计算distance的方式需要和上文中的SimCSE保持一致。
参照图9,本发明提供的工单数据的聚类方法包括以下步骤:
步骤910、构建标注工单聚类所需数据,分析数据并构建专家规则与领域字典;
步骤920、工单数据预处理;
步骤930、使用标注的工单数据,训练基于孪生网络的SimCSE算法算法pipeline;
步骤940、将得到的文本向量输入到深度聚类算法DEC中,训练深度聚类模型;
步骤950、分层的工单聚类。
参照图10,以下对本发明提供的工单数据的聚类方法进行完整描述。
本发明提供的工单数据的聚类方法包括整体包括:SimCSE模型、DEC深度聚类以及三层工单聚类架构。
首先,SimCSE模型的获取步骤为:
将大规模的中文STS数据集输入至SimCSE模型中进行预训练,得到预训练模型;
将标注的工单数据进行语料增强以及设计训练样本;
将训练样本输入至预训练模型中,并进行微调,输出微调模型SimCSE模型。
其次,DEC深度聚类模型基于自动编码模型、编码层次聚类;
最后,搭建三层工单聚类架构,其中包括分类层、第一聚类层以及第二聚类层;其中第一分类层是根据规则和字典进行搭建以及分层的;第一聚类层是基于SimHash算法进行搭建的;第二聚类层是将获取的SimCSE模型和DEC深度聚类模型进行综合共同搭建的。
工单数据的分层聚类具体流程为:
将工单基于规则和字典分层,进行一级分层,分为类别a、类别b以及类别c等;
将类别a基于SimHash进行粗聚,进行二级分层,分为类别a-a、类别a-b以及类别a-c等;
将类别a-a基于DEC进行细聚,进行三级分层,分为类别a-a-a、类别a-a-b以及类别a-a-c等。
下面对本发明提供的工单数据的聚类装置进行描述,下文描述的工单数据的聚类装置与上文描述的工单数据的聚类方法可相互对应参照。
参照图11,本发明提供的工单数据的聚类装置,包括:
获取模块111,用于获取工单数据;
聚类模块112,用于将所述工单数据输入至分层聚类模型中,得到所述工单数据的聚类结果;
其中,所述分层聚类模型包括分类层、第一聚类层和第二聚类层;
所述第二聚类层包括SimCSE子层和DEC聚类子层,其中所述SimCSE子层是基于工单样本和所述工单样本的文本向量进行有监督的训练得到的;
所述DEC聚类子层是基于所述文本向量和文本向量对应的工单数据的聚类结果进行训练得到的。
基于以上实施例,聚类模块具体用于:
将所述工单数据输入至分类层,得到所述工单数据的分类结果;
将所述分类结果输入至第一聚类层,得到所述工单数据的初步聚类结果;
将所述初步聚类结果输入至第二聚类层,得到所述工单数据的最终聚类结果。
基于以上实施例,聚类模块具体用于:
将所述初步聚类结果对应的工单数据输入至训练好的SimCSE子层中,获取所述工单数据的文本向量;
将所述文本向量输入训练好的DEC聚类子层中,得到所述工单数据的最终聚类结果。
基于以上实施例,还包括:
关键词及统计规则获取模块,用于遍历领域字典,得到所述领域字典的关键词,并基于所述关键词建立统计规则;
预设规则获取模块,用于基于所述关键词和统计规则,得到对所述工单数据进行分类的预设规则。
基于以上实施例,聚类模块具体用于:
将所述工单数据输入至分类层,基于所述预设规则进行判断,基于所述判断结果得到所述工单数据的分类结果;
若所述工单数据满足预设规则,则将所述工单数据归类为与所述预设规则对应的目标类别;
若所述工单数据不满足预设规则,且不包含关键词,则将所述工单数据作为其他类别。
基于以上实施例,聚类模块具体用于:
将所述分类结果输入至第一聚类层,基于哈希函数将所述分类结果对应的工单数据转换为SimHash签名;
获取所述SimHash签名之间的汉明距离,将所述汉明距离满足预设阈值的SimHash签名聚类为一族,得到所述工单数据的初步聚类结果。
基于以上实施例,聚类模块具体用于:
获取工单样本;
建立待训练的SimCSE子层;
将所述工单样本输入至SimCSE子层中,基于损失函数获取所述文本向量与所述工单样本之间的第一损失值,利用所述第一损失值对SimCSE子层反复进行参数调整,直至所述第一损失值小于第一预设阈值,停止训练。
基于以上实施例,聚类模块具体用于:
建立待训练的DEC聚类子层,将所述工单样本的文本向量输入至DEC聚类子层,得到所述工单样本的聚类结果;
基于所述损失函数获取所述聚类结果与所述文本向量之间的第二损失值,利用所述第二损失值对DEC聚类子层进行参数调整,直至所述第二损失值小于第二预设阈值。
基于以上实施例,聚类模块具体用于:
将所述工单样本进行微调训练,获取所述工单样本的正例样本;
将所述正例样本基于BM25算法,生成与所述正例样本语义匹配的负例样本;
将所述正例样本和负例样本输入至SimCSE子层中,分别获取所述正例样本和负例样本的文本向量。
基于以上实施例,还包括:
中文文本STS数据集获取模块,用于获取中文文本STS数据集;
预训练模块,用于将所述中文文本STS数据集输入至SimCSE子层中进行预训练,得到SimCSE预训练子层;
文本向量获取模块,用于将所述正例样本和负例样本输入至所述SimCSE预训练子层中,分别获取所述正例样本和负例样本的文本向量。
基于以上实施例,还包括:
语料增强模块,用于对所述工单样本进行近义词替换以及词序调整,获取语料增强样本;
正例样本获取模块,用于将所述语料增强样本进行微调训练,获取所述语料增强样本的正例样本。
基于以上实施例,所述DEC聚类子层包括自动编码层以及聚类层;
聚类模块具体用于:
将所述文本向量输入至自动编码层,获取所述文本向量的特征向量;
将所述特征向量输入至聚类层,得到所述特征向量对应工单样本的聚类结果。
基于以上实施例,还包括:
距离设置模块,用于设置距离阈值,并基于所述距离阈值调整聚类个数;其中所述聚类结果与所述聚类个数相对应。
图12示例了一种电子设备的实体结构示意图,如图12所示,该电子设备可以包括:处理器(processor)1210、通信接口(Communications Interface)1220、存储器(memory)1230和通信总线1240,其中,处理器1210,通信接口1220,存储器1230通过通信总线1240完成相互间的通信。处理器1210可以调用存储器1230中的逻辑指令,以执行工单数据的聚类方法,该方法包括:
获取工单数据;
将所述工单数据输入至分层聚类模型中,得到所述工单数据的聚类结果;
其中,所述分层聚类模型包括分类层、第一聚类层和第二聚类层;
所述第二聚类层包括SimCSE子层和DEC聚类子层,其中所述SimCSE子层是基于工单样本和所述工单样本的文本向量进行有监督的训练得到的;
所述DEC聚类子层是基于所述工单样本的文本向量和文本向量对应的工单数据的聚类结果进行训练得到的。
此外,上述的存储器1230中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的工单数据的聚类方法,该方法包括:
获取工单数据;
将所述工单数据输入至分层聚类模型中,得到所述工单数据的聚类结果;
其中,所述分层聚类模型包括分类层、第一聚类层和第二聚类层;
所述第二聚类层包括SimCSE子层和DEC聚类子层,其中所述SimCSE子层是基于工单样本和所述工单样本的文本向量进行有监督的训练得到的;
所述DEC聚类子层是基于所述工单样本的文本向量和文本向量对应的工单数据的聚类结果进行训练得到的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的工单数据的聚类方法,该方法包括:
获取工单数据;
将所述工单数据输入至分层聚类模型中,得到所述工单数据的聚类结果;
其中,所述分层聚类模型包括分类层、第一聚类层和第二聚类层;
所述第二聚类层包括SimCSE子层和DEC聚类子层,其中所述SimCSE子层是基于工单样本和所述工单样本的文本向量进行有监督的训练得到的;
所述DEC聚类子层是基于所述工单样本的文本向量和文本向量对应的工单数据的聚类结果进行训练得到的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (16)
1.一种工单数据的聚类方法,其特征在于,包括:
获取工单数据;
将所述工单数据输入至分层聚类模型中,得到所述工单数据的聚类结果;
其中,所述分层聚类模型包括分类层、第一聚类层和第二聚类层;
所述第二聚类层包括SimCSE子层和DEC聚类子层,其中所述SimCSE子层是基于工单样本和所述工单样本的文本向量进行有监督的训练得到的;
所述DEC聚类子层是基于所述工单样本的文本向量和文本向量对应的工单数据的聚类结果进行训练得到的。
2.根据权利要求1所述的工单数据的聚类方法,其特征在于,所述将所述工单数据输入至分层聚类模型中,得到所述工单数据的聚类结果,具体包括:
将所述工单数据输入至分类层,得到所述工单数据的分类结果;
将所述分类结果输入至第一聚类层,得到所述工单数据的初步聚类结果;
将所述初步聚类结果输入至第二聚类层,得到所述工单数据的最终聚类结果。
3.根据权利要求2所述的工单数据的聚类方法,其特征在于,所述将所述初步聚类结果输入至第二聚类层,得到所述工单数据的最终聚类结果,具体包括:
将所述初步聚类结果对应的工单数据输入至训练好的SimCSE子层中,获取所述工单数据的文本向量;
将所述文本向量输入训练好的DEC聚类子层中,得到所述工单数据的最终聚类结果。
4.根据权利要求2所述的工单数据的聚类方法,其特征在于,将所述工单数据输入至分类层之前,还包括:
遍历领域字典,得到所述领域字典的关键词,并基于所述关键词建立统计规则;
基于所述关键词和统计规则,得到对所述工单数据进行分类的预设规则。
5.根据权利要求4所述的工单数据的聚类方法,其特征在于,所述将所述工单数据输入至分类层,得到所述工单数据的分类结果,具体包括:
将所述工单数据输入至分类层,基于所述预设规则进行判断,基于所述判断结果得到所述工单数据的分类结果;
若所述工单数据满足预设规则,则将所述工单数据归类为与所述预设规则对应的目标类别;
若所述工单数据不满足预设规则,且不包含关键词,则将所述工单数据作为其他类别。
6.根据权利要求3所述的工单数据的聚类方法,其特征在于,所述将所述分类结果输入至第一聚类层,得到所述工单数据的初步聚类结果,具体包括:
将所述分类结果输入至第一聚类层,基于哈希函数将所述分类结果对应的工单数据转换为SimHash签名;
获取所述SimHash签名之间的汉明距离,将所述汉明距离满足预设阈值的SimHash签名聚类为一族,得到所述工单数据的初步聚类结果。
7.根据权利要求1所述的工单数据的聚类方法,其特征在于,所述SimCSE子层的训练方法包括:
获取工单样本;
建立待训练的SimCSE子层;
将所述工单样本输入至SimCSE子层中,基于损失函数获取所述文本向量与所述工单样本之间的第一损失值,利用所述第一损失值对SimCSE子层反复进行参数调整,直至所述第一损失值小于第一预设阈值,停止训练。
8.根据权利要求7所述的工单数据的聚类方法,其特征在于,所述DEC聚类子层的训练方法包括:
建立待训练的DEC聚类子层,将所述工单样本的文本向量输入至DEC聚类子层,得到所述工单样本的聚类结果;
基于所述损失函数获取所述聚类结果与所述文本向量之间的第二损失值,利用所述第二损失值对DEC聚类子层进行参数调整,直至所述第二损失值小于第二预设阈值。
9.根据权利要求7所述的工单数据的聚类方法,其特征在于,所述将所述工单样本输入至SimCSE子层中,获取所述工单样本的文本向量,具体包括:
将所述工单样本进行微调训练,获取所述工单样本的正例样本;
将所述正例样本基于BM25算法,生成与所述正例样本语义匹配的负例样本;
将所述正例样本和负例样本输入至SimCSE子层中,分别获取所述正例样本和负例样本的文本向量。
10.根据权利要求9所述的工单数据的聚类方法,其特征在于,将所述正例样本和负例样本输入至SimCSE子层中,分别获取所述正例样本和负例样本的文本向量之前,所述方法还包括:
获取中文文本STS数据集;
将所述中文文本STS数据集输入至SimCSE子层中进行预训练,得到SimCSE预训练子层;
所述将所述正例样本和负例样本输入至SimCSE子层中,分别获取所述正例样本和负例样本的文本向量,具体包括:
将所述正例样本和负例样本输入至所述SimCSE预训练子层中,分别获取所述正例样本和负例样本的文本向量。
11.根据权利要求9所述的工单数据的聚类方法,其特征在于,将所述工单样本进行微调训练,获取所述工单样本的正例样本之前,所述方法还包括:
对所述工单样本进行近义词替换以及词序调整,获取语料增强样本;
所述将所述工单样本进行微调训练,获取所述工单样本的正例样本,具体包括:
将所述语料增强样本进行微调训练,获取所述语料增强样本的正例样本。
12.根据权利要求8所述的工单数据的聚类方法,其特征在于,所述DEC聚类子层包括自动编码层以及聚类层;
所述将所述文本向量输入至DEC聚类子层,得到所述工单样本的聚类结果,具体包括:
将所述文本向量输入至自动编码层,获取所述文本向量的特征向量;
将所述特征向量输入至聚类层,得到所述特征向量对应工单样本的聚类结果。
13.根据权利要求8所述的工单数据的聚类方法,其特征在于,还包括:
设置距离阈值,并基于所述距离阈值调整聚类个数;其中所述聚类结果与所述聚类个数相对应。
14.一种工单数据的聚类装置,其特征在于,包括:
获取模块,用于获取工单数据;
聚类模块,用于将所述工单数据输入至分层聚类模型中,得到所述工单数据的聚类结果;
其中,所述分层聚类模型包括分类层、第一聚类层和第二聚类层;
所述第二聚类层包括SimCSE子层和DEC聚类子层,其中所述SimCSE子层是基于工单样本和所述工单样本的文本向量进行有监督的训练得到的;
所述DEC聚类子层是基于所述文本向量和文本向量对应的工单数据的聚类结果进行训练得到的。
15.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至13任一项所述工单数据的聚类方法的步骤。
16.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至13任一项所述工单数据的聚类方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210392110.1A CN114896392A (zh) | 2022-04-14 | 2022-04-14 | 工单数据的聚类方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210392110.1A CN114896392A (zh) | 2022-04-14 | 2022-04-14 | 工单数据的聚类方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114896392A true CN114896392A (zh) | 2022-08-12 |
Family
ID=82718539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210392110.1A Pending CN114896392A (zh) | 2022-04-14 | 2022-04-14 | 工单数据的聚类方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114896392A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383334A (zh) * | 2023-06-05 | 2023-07-04 | 长沙丹渥智能科技有限公司 | 研报去重方法、装置、计算机设备及介质 |
CN116719946A (zh) * | 2023-08-10 | 2023-09-08 | 中国电信股份有限公司 | 工单推荐方法、工单推荐装置、存储介质及电子设备 |
-
2022
- 2022-04-14 CN CN202210392110.1A patent/CN114896392A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383334A (zh) * | 2023-06-05 | 2023-07-04 | 长沙丹渥智能科技有限公司 | 研报去重方法、装置、计算机设备及介质 |
CN116383334B (zh) * | 2023-06-05 | 2023-08-08 | 长沙丹渥智能科技有限公司 | 研报去重方法、装置、计算机设备及介质 |
CN116719946A (zh) * | 2023-08-10 | 2023-09-08 | 中国电信股份有限公司 | 工单推荐方法、工单推荐装置、存储介质及电子设备 |
CN116719946B (zh) * | 2023-08-10 | 2023-11-28 | 中国电信股份有限公司 | 工单推荐方法、工单推荐装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111143576A (zh) | 一种面向事件的动态知识图谱构建方法和装置 | |
CN114896392A (zh) | 工单数据的聚类方法、装置、电子设备及存储介质 | |
CN108170848B (zh) | 一种面向中国移动智能客服的对话场景分类方法 | |
CN111125334A (zh) | 一种基于预训练的搜索问答系统 | |
CN111767397A (zh) | 一种电力系统二次设备故障短文本数据分类方法 | |
CN108416032A (zh) | 一种文本分类方法、装置及存储介质 | |
CN110955776A (zh) | 一种政务文本分类模型的构建方法 | |
CN113204674B (zh) | 基于局部-整体图推理网络的视频-段落检索方法及系统 | |
CN111985228A (zh) | 文本关键词提取方法、装置、计算机设备和存储介质 | |
CN112418320B (zh) | 一种企业关联关系识别方法、装置及存储介质 | |
CN108549718A (zh) | 一种通用主题嵌入模型联合训练方法 | |
CN116467443A (zh) | 基于主题识别的网络舆情文本分类方法 | |
Abdollahpour et al. | Image classification using ontology based improved visual words | |
CN111581379B (zh) | 一种基于作文扣题度的自动作文评分计算方法 | |
CN117033961A (zh) | 一种上下文语境感知的多模态图文分类方法 | |
CN115600602B (zh) | 一种长文本的关键要素抽取方法、系统及终端设备 | |
CN112364160A (zh) | 一种结合ALBERT和BiGRU的专利文本分类方法 | |
CN112463974A (zh) | 知识图谱建立的方法和装置 | |
Yang et al. | Multi-intent text classification using dual channel convolutional neural network | |
CN113987126A (zh) | 基于知识图谱的检索方法及装置 | |
CN114969511A (zh) | 基于分片的内容推荐方法、设备及介质 | |
CN114490925A (zh) | 公共事件下的情绪挖掘方法及设备 | |
Kim | Research on Text Classification Based on Deep Neural Network | |
CN113836892A (zh) | 样本量数据提取方法、装置、电子设备及存储介质 | |
CN113642674A (zh) | 一种基于图卷积神经网络的多轮对话分类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |