一种使用机器学习提升技术支持效率的系统的制作方法

文档序号:15272063发布日期:2018-08-28 22:33阅读:170来源:国知局

本发明属于软件设计技术领域,设计一种使用机器学习来提升技术支持效率的系统。



背景技术:

当客服无法解决用户的问题时,会求助于技术支持人员来帮助处理。现有的公司,会把这些工作放在一个技术支持系统中(比如:jira系统),由客服和技术支持人员来协调处理。这一般需要客服有经验,或者能够去自行查找faq系统,根据faq的提示去找相关人员,或是找一些对技术有了解的技术人员来帮助客服正确的去找到正确的技术人员。

这就对客服或者协助帮忙的技术人员的经验水平提出了很高的要求。虽然有系统作为载体,但由于问题种类很多,情况复杂,协助有困难,人工查找有时会很慢,对于紧急问题或者大量爆发时问题,忙不过来,处理效率低下。



技术实现要素:

为解决上述问题,本发明公开了一种使用机器学习提升技术支持效率的系统。

为了达到上述目的,本发明提供如下技术方案:

一种使用机器学习提升技术支持效率的系统,包括:数据预处理模块,分类模块、相似度计算模块、专家系统判断模块、分配模块;

所述数据预处理模块包括数据提取单元、新词分配单元和分词单元;

所述数据提取单元用于采集历史数据,并过滤历史数据中的无效数据;

所述新词分配单元用于在用户问题数据中寻找新词;

分词单元用于对用户的信息进行分词;

所述分类模块包括第一向量化单元和分类器;

所述第一向量化单元用于对用户的问题进行向量化,将不同长度的语句,转换成统一维度的向量;

所述分类器首先基于用户问题和技术人员进行分类,对准确度不满足要求的进行二次分类;二次分类根据前述一次分类的结果,将实际分类结果y与历史数据中确定的类别y的对应关系,使用有向图(networkxg)进行记录,y指向y;再使用社区发现算法计算哪些分类的关系比较近,根据结果,将y中相应部分标记新的分组g;

所述相似度计算模块包括第二向量化单元、lda单元和相似度计算单元;

所述第二向量化单元使用与第一向量化单元不同的方法将用户的问题转化成统一维度向量;

所述lda单元将第二向量化单元的输出统一维度向量,放入lda主题模型中进行机器学习;

所述相似度计算单元使用genismsimilariry计算,采用余弦相似性标准计算新问题与历史问题的相似度;

专家系统判断模块包括关键词匹配单元、业务系统查询单元和规则判断单元;

关键词匹配单元用于对用户信息再次进行有效提取,首先使用正则办法,提取连续的数字,,然后使用nlp提取人名,接着由业务专家根据分类器模块提到的y与g的对应关系,分析出来的一些有分类价值的词,进行提取;使用nlp从历史数据提取谓词,判断出主体;

业务系统查询单元根据关键词匹配出来的结果,进行业务确认;

规则判断单元用于将获取得到的更多的分类信息,生成一个多维数据,进行规则判断;

分配模块用于根据相似度计算模块的计算结果,专家系统判断模块以及分类器的结果,抉择合理分类。

进一步的,分配模块判断过程包括:

x为待分配的用户信息,当x被最终分配后,将k记作此次分配的可能性数值,并通过以下步骤进行判断:

1,如果相似度计算模块计算的similarity值中有最大值c,且c>0.9,则x被分配给相似度计算模块给出的分类,且k=c;终止判断过程;

2,如果分类模块给出x的分类为g,且专家系统判断模块中有规则匹配到,则x被分配给此规则给出的分类,且k=e;终止判断过程,e为此规则对应的准确率;

如果分类模块给出x的分类为y的可能性为b,且b>0.4:

此时专家系统判断模块若无规则匹配,则x被分配给y,k=b;终止判断过程;

此时专家系统判断模块若有规则匹配,规则准确率是e且e>=0.5,则k=max(b,e),即将x分配给分类模块和专家系统判断模块分类结果中的高者,终止判断过程;

3,如果以上几种情况均不符合,则x的被分配到默认的分类中,且k=0。

进一步的,还包括分析判断模块,分析判断模块用于采用人工判断或自动判断方法在用户问题上打上标签。

进一步的,所述自动判断方法包括以下步骤:

a,如果“可能性数值”=0,则需要打上“分错”标签

b,如果该问题得到及时处理,属于正常

如果立即进行二次分配,则认为有“嫌疑”

c,如果有“嫌疑”且“可能性数值”<=0.4则需要打“分错”标签

d,如果有“嫌疑”但“可能性数值”>0.4则需要打“可能分错”标签,可能分错的会经由人工再进行详细判断。

进一步的,所述无效数据包括已经废弃的分类数据和欠缺关键字词的数据。

进一步的,所述新词分配模块采用信息熵方法寻找新词。

进一步的,所述关键词匹配单元中由业务专家分析出来的一些有分类价值的词的过程包括:将相同g的n个用例,先分词形成一个n*m维的矩阵,然后使用pca方法,将矩阵维度下降到i,业务专家再从业务理解角度挑选i维度中部分词,作为有分类价值的词。

与现有技术相比,本发明具有如下优点和有益效果:

本发明使用专家系统判断模块结合分类器、使用监督机器学习,让机器学习和业务专家规则很好融合,确保准确率;新词模块能确保在不同的垂直领域也能工作良好;能够有效管理准确率,相似算法以及分类器的准确度都能描述成0-1之间,便于管理。此外,行为分析通过系统判断“分错”,实现分类器监督机器学习方式也能少人工参与有普遍使用性。本发明形成一个良性循环,能够逐渐提升准确率,提升效率,极大降低了客服对经验的要求。

附图说明

图1为本发明系统架构图。

图2为系统处理技术支持整体流程图。

图3为实际使用本发明系统的统计数据。

图4为一个用户问题示例。

图5为系统对问题重新分类的过程记录,其中“77777”为系统机器人。

具体实施方式

以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。

本发明提供的使用机器学习提升技术支持效率的系统,如图1、图2所示,包括数据预处理模块,分类模块、相似度计算模块、专家系统判断模块、分配模块、行为分析模块。

其中,数据预处理模块包括数据提取单元、新词提取单元、分词单元。

数据提取单元通过采集历史的案例中数据产生供机器学习的数据。从历史的案例中,很容易提取出用户的问题以及问题的详细说明,以及提取出技术支持人员是谁,他们属于哪个分类的(一般的系统设计,都会有分类,然后每个分类都会分配几个技术支持人员来负责,比如,jira系统)。在本模块中,需要将已经废弃的分类数据和描述太少、缺乏关键词的数据过滤掉,这样才能够保证数据都是有效的。

新词提取单元用于在数据提取单元获取的历史数据中寻找新词,由于很多情况下,用户的语言会超出一般词典范围,另外由于所处垂直领域会有一些专业词汇。这个模块需要找到这些新词。寻找新词有很多算法,本发明选择使用“信息熵”的技术来找新词。“信息熵”算法可以实现“无监督新词识别”。基本原理是:如果一个片段左右的搭配很丰富,且片段内部成分搭配很固定,则认为这是一个词。本模块需要设置“最低信息熵”,该值需要根据实际效果来调整。通过新词分配模块,扩充了词典内的词语数量。

分词单元用于根据完善后的词典对历史数据中的用户的信息进行分词。分词的技术很成熟,属于nlp(自然语言处理)范围内。开源中有很多现成的分词库。此模块需要将上一步“新词提取”的结果放进去完成开源词库并进行分词。本发明中采用中文分词库“jieba”开源技术。本模块将用户的信息分割成一系列关键词,为下一步向量化打下基础。

分类模块包括第一向量化单元和分类器。

向量化单元用于对用户的问题进行向量化,将不同长度的语句,转换成统一维度的向量,便于进行机器学习。本模块使用“tf-idf”技术,tf意思是词频,idf是逆向文件频率的意思,这是一种用于信息检索与数据挖掘的常见的加权技术。

分类器用于对用户问题进行分类。由于数据提取模块已经得到了用户问题的正确处理技术人员。因此分类器已经拥有了输入x与输出y,其中x为用户问题,y是对应的分类以及技术处理人员。分类器优选使用“svm”支持向量机技术,核选择linear线性分类器。当然,也可以使用dl深度学习方案来做。svm的计算量相对深度学习来说更少些。

分类器首先基于用户问题和技术人员进行分类,这一步的机器学习准确率一般会比较低,由于使用的新词发现,分词,向量化算法,都没有进行深度的优化,同时,客观上也会有用户问题技术人员和客服搞错的情况发生,有些分类比较难分,所以一定程度上也会降低准确率。

根据历史数据中已有的各问题相应的技术人员结果,对比分类器结果,得到准确率。

其次针对上述初步分类结果进一步分析,使用分类报告(metrics.classisifcation_report),查看各y分类的准确率,召回率以及f1值。将其中>80%准确率的分类单独出来。这部分已经初步达到了要求。剩余的分类需要做下二次分类:

根据前述一次分类的结果,将y与y的对应关系,使用有向图(networkxg)进行记录,y指向y。再使用“社区发现算法”比如(networkx.k_clique_communities)计算哪些分类的关系比较近。根据结果,将y中相应部分(例如y1、y2)进行标记分组g。重新做下分类报告,确保按g分类的结果准确率能到80%以上。

通过二次分类后准确率较一次分类提高较多,部分能够达到90%以上。其中y与g的对应关系交给规则判断模块参考,需要业务方进行解释。

相似度计算模块和专家系统判断模块针对数据预处理模块中的数据进行处理,通过找相似以及依赖下业务系统的精准知识来帮助判断,与分类得到的准确率综合比较,进行检测,提升准确率。

相似度计算模块包括第二向量化单元、lda单元、相似度计算单元。

第二向量化单元先使用doc2bow技术将用户的问题生成字典,然后过滤掉极低频的杂质词,再使用“tf-idf”技术转化成统一维度向量。本单元需要用和前述向量化模块不一样的方式将用户问题转化成向量。

lda单元将第二向量化单元的输出统一维度向量,放入lda主题模型中进行机器学习。lda也是非监督机器学习技术。虽然用户问题种类多复杂,但通过主题模型学习,能够抽象出有限的主题,有助于分析问题原因。

相似度计算单元使用genismsimilariry计算,采用余弦相似性标准,计算新问题与历史问题的相似度。在lda的模型基础上,所有新的用户问题,都可以通过二次向量化+lda分析判断与历史上哪些问题最接近。

专家系统判断模块包括关键词匹配单元、业务系统查询单元和规则判断单元。

关键词匹配单元用于对用户信息(历史数据)再次进行有效提取。本单元首先使用正则办法,提取连续的数字,这部分数字将用来判断是否是(订单号,会员号,手机号)等业务号码,然后使用nlp中的“词类标注”技术,提取人名(人名可能是业务相关人),接着由业务专家根据分类器模块提到的y与g的对应关系,分析出来的一些有分类价值的词,进行提取。

分类价值的意义是能用于甄别相同g的y类型相互差别。具体算法是:

将相同g的n个用例,先分词形成一个(n*m维)的矩阵,然后使用pca(主成成分析)方法,将矩阵维度下降到i(i远小于m维),业务专家再从业务理解角度挑选i维度中部分词,作为有分类价值的词。

最后,同样使用nlp中的“词类标注”技术,从历史数据提取“谓词”,判断出“主体”。

业务系统查询单元根据关键词匹配出来的结果,进行业务确认,确保提取的准确性。比如,根据订单号查询订单系统,判断订单号是否真实。确认正确的关键词同时,将相关的附带信息也进行提取出来,涉及很多业务系统,获取更多的有用分类信息。比如,订单是属于什么分类,创建时间,当前状态等等。

规则判断单元用于将获取得到的更多的分类信息,生成一个多维数据,进行规则判断。规则应由业务专家预先创建,使用简单的匹配语言就能完成筛选

比如:如果a词andb词那么分给y1,准确率设置为100%

如果a词andc词那么分给y2,准确率设置为50%

准确率是业务专家认为规则正确的可能性,取值在0-100%之间,为经验数据,依赖专家自身经验。当添加一个规则时,就需要设置准确率。

分配模块用于根据相似度计算模块similarity的计算结果,专家系统判断模块以及分类器的结果,进行抉择哪个分类是合理,输出一个“可能性数值:分配成功的可能性”,并将待分配的用户信息分配到相应的类别中。

具体方法为:

分类器模块得到两种结果

x为待分配的用户信息,y和g都是分类集合。

1:x被分配到分类结果g中的可能性为a

2:x被分配到分类结果y中的可能性为b

相似度计算得到一种结果

3:相似度计算模块计算得出和x最相似的相似度为c

规则模块判断得到两种结果

4:没有规则匹配到,为d。d=0

5:有规则匹配到的可能性为e

其中,a、b、c、e都在0-1之间

结果的可能性数值设为k,那么可能性数值的规则是:

如果c>0.9,则k=c

如果a存在且e存在,则k=e

如果b存在且b>0.4且d=0则k=b

如果be都存在且e>=0.5且b>0.4则k=max(b,e)

说明:以上0.9,0.4,0.5等数值需要根据需要进一步调整。这里是推荐值。

如果上述情况都没有达到,则分配失败,k=0y为默认的,不进行改动

通过专家系统判断,可以确保准确率,减少错发的可能。通过优化很容易达到90%的水平。

分配模块用于根据上述结果,分配到最终得到的可能性数值对应的分类,找到相关的技术人员,发送提醒通知其尽快处理。专家系统中输出k=0的问题交由默认的专家进行处理,这表示该问题超出历史问题范围,很可能是全新的情况。同时,将推荐分配的结果中的“可能性数值”,在此问题上打上标识,帮助行为分析模块进行后续处理。

由于分类器用的svm属于监督机器学习技术,需要行为分析模块判断哪些问题的所属是正确的。因为准确率小于100%所以一定有部分的分配是错误。这部分的工作可以交给审核人员来人工判断,打标签。比如,“分错”标签。标注上正确的分类,让“数据提取”模块能够获得正确的数据。

作为优选,这部分也可以自动化的,只要寻找下系统上的技术人员执行规律,比如,若没有分错,则会及时处理。若分错,则会立即进行二次分配,且标注原因。同时参考下“可能性数值”,如果这个值比较低(设置阈值判断),增加了是“分错”的可能。

本发明进一步提供了分析判断方法,用于确保正确打“分错”标签。

具体的方法是:

设置分数线比如为0.4(取0-1间的数据)

a,如果“可能性数值”=0,则需要打上“分错”标签

b,如果该问题得到及时处理(例如分配至处理的时间小于某一阈值),属于正常。

如果立即进行二次分配,则认为有“嫌疑”

c,如果有“嫌疑”且“可能性数值”<=0.4则需要打“分错”标签

d,如果有“嫌疑”但“可能性数值”>0.4则需要打“可能分错”标签,可能分错的会经由人工再进行详细判断。

bcd三种情况的几率一般是b>>c>>d,极少量的d出现一般是可以容忍的,可以忽略。如果d的量大那么,需要报警,需要人工干预,分析是执行问题引起还是准确率下降导致。业务专家对问题原因进行分析后,可进一步调整前述相似度计算模块中的学习模型,并重新训练模型以进一步提升准确率。

图4为一个用户问题示例,图5为系统对问题重新分类的过程记录,其中“77777”为系统机器人。图3为实际使用本发明系统的统计数据,从中可见,经由系统分类的用户问题准确度很高,很少再出现分类错误,也大幅减少了因此导致的重新分配。

本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1