首页> 中国专利> 一种针对政府服务热线领域的工单自动分类方法

一种针对政府服务热线领域的工单自动分类方法

摘要

本发明公开了一种针对政府服务热线领域的工单自动分类方法,包括以下步骤:步骤(1):数据清洗和预处理;步骤(2):计算历史全量工单;步骤(3):训练词向量模型;步骤(4):对热频词进行聚类;步骤(5):干预聚类结果;步骤(6):工单打标签分类;步骤(7):模型增量训练。利用本发明提出的工单自动分类方法,会根据工单的内容,对每条工单打上多个标签。同时,还可以根据所打上的标签,对工单进行分类。一方面,可以帮助政府工作人员,了解某段时间或某个地区的市民关注热点。另一方面,在得到每条工单的分类标签后,还可以在此基础上进行更深入的数据挖掘。

著录项

  • 公开/公告号CN112632965A

    专利类型发明专利

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

    原文格式PDF

  • 申请/专利权人 上海德拓信息技术股份有限公司;

    申请/专利号CN202011563677.8

  • 发明设计人 王康伟;谢赟;吴新野;雒方祎;

    申请日2020-12-25

  • 分类号G06F40/216(20200101);G06F40/242(20200101);G06F40/284(20200101);G06F16/35(20190101);G06N20/00(20190101);G06Q50/26(20120101);

  • 代理机构31387 上海中外企专利代理事务所(特殊普通合伙);

  • 代理人孙益青

  • 地址 200233 上海市徐汇区虹漕路448号1幢9楼

  • 入库时间 2023-06-19 10:32:14

说明书

技术领域

本发明主要涉及机器学习和自然语言处理等技术领域,特别地针对政府服务热线领域,提供了一种针对政府服务热线领域的工单自动分类方法。

背景技术

近年来,随着大数据技术和人工智能的快速发展,机器学习和自然语言处理技术已经被广泛应用于各个领域。政府服务热线领域的工单,包含群众向政府进行咨询、投诉、建议、举报等诸多方面问题,由于其涵盖方面广泛,很难通过人工对工单进行分类,给政府开展更深层次的工作带来了较大的困难。

发明内容

本发明的目的在于提供一种针对政府服务热线领域的工单自动分类方法,主要使用TF-IDF(term frequency–inverse document frequency)、Word2vec、等自然语言处理和机器学习方面的技术方法对大量工单进行训练后,计算得到一个近似词分类字典表。在对算法计算出的近似词分类字典表进行人工干预后,使用该字典表给工单进行打标签,根据打标结果对工单进行分类。

为实现上述目的,本发明提供如下技术方案:一种针对政府服务热线领域的工单自动分类方法包括以下步骤:步骤(1):数据清洗和预处理,对政府服务热线领域的工单,主要是工单反映内容,进行数据清洗和预处理;

步骤(2):计算历史全量工单热频词;使用TF-IDF计算热频词;

步骤(3):训练词向量模型,使用Word2vec对全量工单进行训练,得到词向量模型;

步骤(4):对热频词进行聚类,根据热频词和其相应的词向量,使用对其进行聚类;

步骤(5):干预聚类结果,工作人员对算法得到的聚类结果进行调整,得到用来给工单进行打标分类的近似词分类字典表;

步骤(6):工单打标签分类,利用步骤(5)得到的近似词分类字典表,根据工单反映内容进行映射,给工单打标签和分类;

步骤(7):模型增量训练,对增量数据,增量训练模型,并以增量的方式将新增热频词添加到近似词分类字典表中。

优选的,所述的步骤(1)中对政府服务热线领域的大量工单进行数据的清洗及预处理,清洗后的工单总量为N,该步主要为停用词过滤和工单反映内容的正则过滤,停用词库包含网上开源的中文停用词库,具体业务场景下建立的停用词库两部分;对于工单反映内容的正则过滤,通过正则,把特定形式的词或短句过滤。

优选的,所述的步骤(2)主要是使用TF-IDF,对历史全量工单计算热频词,详细步骤如下:

步骤(2.1):首先,设定计算热频词相关参数,包括热频词最大数、热频词的词性列表,以及使用TF-IDF计算热频词时的最小词频参数,热频词的最大数可以根据输入的工单量给出,并根据最后算法的聚类结果进行调整;热频词的词性,根据业务场景来设定,设定热频词词性包含:名词、专用词、团体机构词、名词性惯用语、动词、简称略词;

步骤(2.2):使用TF-IDF计算热频词;利用结巴分词对每条工单进行分词,并仅保留步骤(2.1)中词性的词,过滤掉长度小于2的词;利用python的机器学习包,计算出每个词在每条工单中的tf-idf得分;将每个词在所有工单中的得分进行求和,并除以工单总量N,得到各个热频词的得分;在对较大量的工单计算热频词时,根据工单的日期,对工单进行划分,分别计算热频词,将各个月的热频词进行合并得分求平均,最后根据所有热频词的得分,保留前个热频词。

优选的,所述的步骤(3)使用历史工单训练word2vec模型,得到词向量模型,详细步骤如下:

步骤(3.1):对步骤(1)清洗后的工单,进行分词,作为word2vec模型的输入;

步骤(3.2):训练word2vec模型,得到词向量模型;

步骤(3.3):将步骤(2)中最后得到的个热频词,转化成集合后和步骤(3.2)中的word2vec词向量模型中包含的词集合取交集,得到的词既是热频词,同时也拥有词向量。

优选的,所述的步骤(4)中主要是对前面三步得到的热频词,进行聚类,并利用手肘法找到最佳聚类簇个数。

进一步优选,所述的步骤4其详细步骤如下:

步骤(4.1):设置聚类起止簇数min↓clusters、max↓clusters和步长step,利用对热频词进行聚类,记录每次聚类的SSE,通过计算词与所属簇中心的余弦相似度,找到每个簇最能代表这个簇的词,作为簇的名称;

步骤(4.2):根据每次聚类的SSE,绘制出SSE关于聚类簇数的散点图,并利用手肘法,找到拐点;

步骤(4.3):工作人员观察拐点附近的聚类结果,得到的一个相对理想的热频词聚类结果;

优选的所述的步骤(5)主要是对聚类结果进行干预,得到近似词分类字典表;

进一步优选,所述的步骤(5)的详细步骤如下:

步骤(5.1):工作人员对不具备标识、分类能力的词,从聚类结果中剔除;

步骤(5.2):将聚类结果中的词所属类进行调整,得到近似词分类字典表。

进一步优选,所述的步骤(5.2)将聚类结果中的词所属类进行调整包括以下三种情况:(1)将相近的某一类词和另一类词进行合并;(2)对包含词比较杂乱的类拆分出多个分类;(3)根据每个类所包含的词,调整各个类的名称。

优选的,所述的步骤(6)主要是利用步骤(5)得到的近似词分类字典表,对工单进行打标签分类,其详细步骤如下:

步骤(6.1):设置每条工单最多打标签个数label

步骤(6.2):对待打标签的工单,对工单反映内容利用结巴分词进行分词;

步骤(6.3):初始化每条工单在近似词分类字典表中各个类的得分为0;将每条工单分词后的每个词,与近似词分类字典表中各个类的热频词进行匹配;匹配成功因此加上匹配上的热频词的得分;匹配结束计算出每条工单在近似词分类字典表各个类中的得分;对每条工单,取得分较高的前label

步骤(6.4):根据每条工单打上的标签,对工单进行分类,根据工单打标结果,设定比较合理的前TopN个标签对工单进行分类。

优选的,所述的步骤(7)主要是通过增量训练,从增量工单中找出新增热频词,将其添加到现有的近似词分类字典表里面。

进一步优选,所述的步骤(7)详细步骤如下:

步骤(7.1):计算增量数据的热频词,利用步骤(2.2)中的方式,对增量工单计算热频词,在得到增量工单的热频词后,去掉存在于历史热频词表中的词,剩下的则为新增热频词;根据新增热频词的数量和质量,调整最大热频词数量参数,得到一个新增热频词表;

步骤(7.2):工作人员干预新增热频词,保留具有标识、分类能力的热频词;

步骤(7.3):增量训练word2vec词向量模型;首先,对增量工单进行数据清洗并进行分词;然后对原先的word2vec模型,使用清洗并分词后的增量数据进行增量训练;最后,对步骤(7.2)中得到的新增热频词与更新后的word2vec模型的词汇集取交集,得到新增热频词,同时拥有词向量;

步骤(7.4):增量聚类,将步骤(7.3)中新增的热频词添加到原有近似词分类字典表里;

步骤(7.5):工作人员干预增量聚类结果;对增量聚类结果进行审核和干预,给新的工单进行打标签分类。

进一步优选,所述的步骤(7.4)具体过程主要分为以下三步:第一步、对原有近似词分类字典表中的每一簇或类,计算簇中心,对各个簇所包含的热频词的词向量分别求平均值;

第二步、计算簇的相似度阈值,对于原近似词分类字典表中包含热频词数量大于1的簇,计算簇中词的余弦相似度矩阵或方阵,剔除对角线元素后,对剩下的元素求平均值,该平均值为各个簇的相似度阈值,对于只包含一个热频词的簇,其相似度阈值可以用所有包含热频词个数大于1的簇的相似度阈值的平均值进行表示;

第三步,将新增热频词,通过循环的方式逐一加到某个簇中;首先,初始化聚类结果为一个空字典,将原近似词分类字典表中各个簇包含的词进行绑定,作为一个整体,加入到聚类结果中;然后,遍历每个新增的热频词,计算新增热频词与聚类结果中各个簇中心的余弦相似度,保留相似度大于相应簇相似度阈值的簇;并将该新增词添加到这样的簇中与之相似度最大的簇;当不存在这样的簇,则该新增热频词独自成为一个簇;并使用第一步和第二步中的方式,更新新增热频词所在簇的簇中心和相似度阈值;遍历结束后将所有新增热频词归到某一个簇中。

与现有技术相比,本发明的有益效果是:利用本发明提出的工单自动分类方法,会根据工单的内容,对每条工单打上多个标签。这些标签本身就可以用来高度概括工单反映的实际内容。同时,还可以根据所打上的标签,对工单进行分类。一方面,可以帮助政府工作人员,了解某段时间或某个地区的市民关注热点。另一方面,在得到每条工单的分类标签后,还可以在此基础上进行更深入的数据挖掘。通过对历史各种标签的工单处置部门的统计分析,对新工单,根据其分类标签,进行处置部门的推荐。

附图说明

图1是本发明工单自动分类计算流程图

图2是本发明热频词K-Means聚类流程图

图3是本发明增量训练更新近似词分类字典表流程图

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-3,本发明提供一种技术方案:一种针对政府服务热线领域的工单自动分类方法,包括以下步骤:

步骤(1):数据清洗和预处理,对政府服务热线领域的工单,主要是工单反映内容,进行数据清洗和预处理;对政府服务热线领域的大量工单进行数据的清洗及预处理,清洗后的工单总量为N,该步主要为停用词过滤和工单反映内容的正则过滤。通过停用词过滤,可以有效减少后续人工对算法结果的干预工作,停用词库包含两部分,第一部分是网上开源的中文停用词库。第二部分是具体业务场景下建立的停用词库。根据具体业务场景建立停用词库,将工单中经常出现,但是又不具备标识、分类能力的词,添加到停用词库中。对于工单反映内容的正则过滤,其主要是通过正则,把特定形式的词或短句给过滤掉。比如使用正则,对工单反映内容只保留中文和英文、去除时间日期等。

步骤(2):计算历史全量工单热频词,该步主要是使用TF-IDF,对历史全量工单计算热频词。详细过程为:首先,设定计算热频词相关参数。包括热频词最大数、热频词的词性列表,以及使用TF-IDF计算热频词时的最小词频等参数。热频词的最大数可以根据输入的工单量大致给出,并可以根据最后算法的聚类结果进行调整。热频词的词性,可以根据业务场景来设定。通常,可以设定热频词词性为:名词、专用词、团体机构词、名词性惯用语、动词、简称略词等。

使用TF-IDF计算热频词。首先,利用结巴分词,对每条工单进行分词,并仅保留词性的词。同时,过滤掉长度小于2的词。然后是利用python的机器学习包,计算出每个词在每条工单中的tf-idf得分。接着,将每个词在所有工单中的得分进行求和,并除以工单总量N,得到各个热频词的得分。应注意的是,在对较大量的工单计算热频词时,可能会导致内存溢出和计算时间过慢等问题。这时,可以根据工单的日期,如按月对工单进行划分,分别计算热频词,将各个月的热频词进行合并,并对各个月的热频词得分求平均即可。最后,根据所有热频词的得分,保留前个热频词。

步骤(3):训练词向量模型,使用Word2vec对全量工单进行训练,得到词向量模型;使用历史工单训练word2vec模型,得到词向量模型。其详细的过程为:步骤(3.1):对步骤(1)清洗后的工单,进行分词,作为word2vec模型的输入。

步骤(3.2):训练word2vec模型,得到词向量模型。

步骤(3.3):将步骤(2)中最后得到的个热频词,转化成集合后和步骤(3.2)中的word2vec词向量模型中包含的词集合取交集,得到的词既是热频词,同时也拥有词向量。

步骤(4):对热频词进行聚类。根据热频词和其相应的词向量,使用对其进行聚类;该步主要是对前面三步得到的热频词,使用进行聚类,并利用手肘法找到最佳聚类簇个数,其详细过程为:步骤(4.1):设置聚类起止簇数min↓clusters、max↓clusters和步长step。对每次循环,利用对热频词进行聚类,并记录每次聚类的SSE(Sum of Squares for Error)。同时,通过计算词与所属簇中心的余弦相似度,找到每个簇最能代表这个簇的词,作为簇的名称。

步骤(4.2):根据每次聚类的SSE,绘制出SSE关于聚类簇数的散点图。并利用手肘法,找到拐点,认为在拐点附近的聚类结果是比较好的。

步骤(4.3):人工观察拐点附近的聚类结果,找到算法得到的一个相对理想的热频词聚类结果。

步骤(5):人工干预聚类结果。人工对算法得到的聚类结果进行调整,以得到一个较为干净,可以用来给工单进行打标分类的近似词分类字典表;该步主要是人工对聚类结果进行干预,以得到一个相对干净的,可以用来给工单打标签分类的近似词分类字典表。其详细过程为:步骤(5.1):人工对聚类结果中的词进行剔除。算法给出的热频词,无法保证其全部都是具有标识、分类能力的词,需要对不具备标识、分类能力的词,从聚类结果中剔除。

步骤(5.2):将聚类结果中的词所属类进行调整。包括:(1)将相近的某一类词和另一类词进行合并。(2)对包含词比较杂乱的类进行拆分,得到多个更合理的分类。(3)根据每个类所包含的词,调整各个类的名称。经过步骤(5),会得到一个干净合理的近似词分类字典表,该字典表的每类词包含的都是较为相近的词。

步骤(6):工单打标签分类,利用步骤(5)得到的近似词分类字典表,根据工单反映内容进行映射,给工单打标签和分类;该步主要是利用步骤(5)得到的近似词分类字典表,对工单进行打标签分类。步骤(6)的详细过程为:步骤(6.1):设置每条工单最多打标签个数label

步骤(6.2):对待打标签的工单,对工单反映内容利用结巴分词进行分词。

步骤(6.3):初始化每条工单在近似词分类字典表中各个类的得分为0。将每条工单分词后的每个词,与近似词分类字典表中各个类的热频词进行匹配。如果匹配上,则相应类的得分则加上匹配上的热频词的得分。待匹配结束,则可以计算出每条工单在近似词分类字典表各个类中的得分。对每条工单,根据其在各个类中的得分,取得分较高的前label

步骤(6.4):根据每条工单打上的标签,对工单进行分类。根据工单打标结果,按第一个标签统计各种标签值的数量、按前两个标签统计各个标签值的数量,以及按前三个标签统计各个标签值的数量。据此,设定比较合理的前TopN个标签对工单进行分类,N一般取1或2。

步骤(7):模型增量训练。对增量数据,增量训练模型,并以增量的方式将新增热频词添加到近似词分类字典表中;该步主要是通过增量训练,从增量工单中,找出具有标识、分类能力的新增热频词,将其添加到现有的近似词分类字典表里面。其详细过程为:步骤(7.1):计算增量数据的热频词。仍然利用步骤(2.2)中的方式,对增量工单计算热频词。应当注意,设定的最大热频词数量不应过少,因为对增量工单计算得到的热频词,大部分和历史热频词重复。在得到增量工单的热频词后,去掉存在于历史热频词表中的词,剩下的则为新增热频词。根据新增热频词的数量和质量,可以多次调整最大热频词数量参数,以得到一个比较满意的新增热频词表(包含热频词和得分)。

步骤(7.2):人工干预新增热频词。在上一步得到的新增热频词,并不一定都具有标识、分类能力。应当人工对其进行干预,保留具有标识、分类能力的热频词。

步骤(7.3):增量训练word2vec词向量模型。首先,对增量工单进行数据清洗并进行分词。然后对原先的word2vec模型,使用清洗并分词后的增量数据进行增量训练。最后,对步骤(7.2)中得到的新增热频词与更新后的word2vec模型的词汇集取交集。得到的词,既是新增热频词,同时拥有词向量。

步骤(7.4):增量聚类。在不改变原有近似词分类字典表中类的名称和词的所属类别情况下,将步骤(7.3)中新增的热频词添加到原有近似词分类字典表里。主要分为以下三步:第一步,对原有近似词分类字典表中的每一簇(类),计算簇中心。即对各个簇所包含的热频词的词向量分别求平均值。第二步,计算簇的相似度阈值。对各个簇,某新增热频词只有与该簇中心的相似度大于该簇的相似度阈值,才能将该词与这个簇聚成一类。对于原近似词分类字典表中包含热频词数量大于1的簇,分别计算簇中词的余弦相似度矩阵(方阵),剔除对角线元素后,对剩下的元素求平均值,则可认为该平均值为各个簇的相似度阈值。而对于只包含一个热频词的簇,其相似度阈值可以用所有包含热频词个数大于1的簇的相似度阈值的平均值进行表示。第三步,将新增热频词,通过循环的方式逐一加到某个簇中。首先,初始化聚类结果为一个空字典。并将原近似词分类字典表中各个簇包含的词进行绑定,作为一个整体,加入到聚类结果中。簇的名称和原簇名保持一致,簇中心用第一步中计算的簇中心进行表示。然后,遍历每个新增的热频词,计算新增热频词与聚类结果中各个簇中心的余弦相似度,保留相似度大于相应簇相似度阈值的簇。并将该新增词添加到这样的簇中与之相似度最大的簇。如果不存在这样的簇,则该新增热频词独自成为一个簇。并使用第一步和第二步中的方式,更新新增热频词所在簇的簇中心和相似度阈值。遍历结束,会将所有新增热频词都归到某一个簇中。

步骤(7.5):人工干预增量聚类结果。为了保证增量聚类的效果,仍需对增量聚类结果进行一定的人工审核和干预。在进行人工干预后,则可以替换原近似词分类字典表,给新的工单进行打标签分类。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号