首页 / 工单分配方法及装置

工单分配方法及装置实质审查 发明

技术领域

[0001] 本申请涉及计算机技术领域,具体涉及一种工单分配方法及装置。

相关背景技术

[0002] 目前,智能派单系统是通过分析每个工程师的手里工单处理情况计算该工程师的分值,然后结合该分值和工单对应的类别去对工程师进行自动派单。
[0003] 现有技术实现方法中,工单分配后经常需要工程师进行二次转发,导致工单的分配效率较低。

具体实施方式

[0043] 为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0044] 图1为本申请实施例提供的工单分配方法的流程示意图之一。参照图1,本申请实施例提供一种工单分配方法,可以包括:步骤100、步骤101、步骤102和步骤103。
[0045] 步骤100、对目标工单的字段进行分析和向量化,得到所述目标工单对应的至少一个故障编码。
[0046] 目标工单可以是实时的故障工单,需要将目标工单推送至合适的处理人去处理该目标工单。
[0047] 其中,至少一个故障编码可以包括故障描述向量编码、故障类型编码和普通字段编码中的一个或者多个。下面对这三种故障编码进行说明:
[0048] 一、故障描述向量编码。
[0049] 图2为本申请实施例提供的提取故障描述向量编码的流程示意图,如图2所示,提取故障描述向量编码包括步骤200、步骤201、步骤202、步骤203和步骤204。
[0050] 步骤200、从所述目标工单的第一字段中获取至少一句故障描述语句,对所述至少一句故障描述语句进行预处理和分词,得到每个故障描述语句对应的各个词语。
[0051] 其中,第一字段可以为一个字段,也可以为多个字段,第一字段中包含故障描述语句,例如第一字段可以为工单描述字段。
[0052] 可选地,为了将故障描述语句向量化,需要经过数据预处理、分词和预训练模型编码三个步骤。
[0053] 其中,数据预处理的流程包括数据清洗和数据变换。
[0054] 数据清洗是对数据的无效值、缺失值和隐私值等进行处理,包括在收集数据之后,对数据中的敏感信息、缺失值、无效值等进行的处理。是将原始数据转化为无噪声的标准数据。
[0055] 例如,对于从网页上获取的文本数据通常包含了大量的超文本标记语言html标签及符号,通过适当的第三方模块或正则表达式,清洗出标准的文本数据。
[0056] 此外,数据清洗还可以包括空缺值处理、无效字符移除和停用词移除。
[0057] 空缺值处理可根据情况可选择删除或以默认值填充的方式对存在空缺值的数据进行处理。无效字符移除是根据情况对数据中的无意义的值进行去除。本指标针对文本数据,如无用字符(如换行符、空格等)。停用词移除是根据下游任务对停用字符的敏感性创建停用词表,并进行移除,即“呢、的、于是、如此”等对下游任务几乎无影响的词组。
[0058] 数据变换是对数据进行规范化或者归一化处理,通过数据的转换,形成适合数据的描述形式。数据变换可以包括编码转换和繁体字转换。
[0059] 编码转换是指根据具体的任务,将字符编码转换至适合的格式,其中UTF‑8编码和GBK编码能较好的支持中文。
[0060] 繁体字转换是对于文本中同时包含繁体字和简体字的的中文数据,将繁体字统一转换成简体字。
[0061] 在获取预处理后的文本,可以使用jieba分词对预处理后的故障描述语句进行文本分词,得到每个故障描述语句对应的各个词语。
[0062] jieba分词器支持精确模式、全模式和搜索引擎模式三种分词模式:
[0063] 精确模式试图将句子最精确地切开,适合文本分析;全模式把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;搜索引擎模式在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
[0064] 由于本方案用于计算两段文本的向量相似度,因此,优选地,选择精确模式进行分词的效果较好。
[0065] 步骤201、基于预训练模型对所述各个词语进行编码,提取所述各个词语的词向量。
[0066] 可选地,调用预训练语言模型或词嵌入对分词提取词向量。预训练语言模型或词嵌入方法可以直接在大规模无标注语料上进行训练。
[0067] 词嵌入的质量依赖于上下文窗口大小的选择。通常大的上下文窗口学到的词嵌入更反映主题信息,而小的上下文窗口学到的词嵌入更反映词的功能和上下文语义信息。窗口的大小可根据情况进行选择,在此不做具体限定。
[0068] 步骤202、基于平均法和每个故障描述语句对应的各个词向量,得到每个故障描述语句的第一向量,基于最大值法和每个故障描述语句对应的各个词向量,得到每个故障描述语句的第二向量。
[0069] 在得到每个单词对应的词向量后,最终句子向量由平均法获得的第一种句子的句向量和由最大值法获得的第二种句子向量的拼接得到。
[0070] 第一向量=(词1向量+词2向量+...+词n向量)/n。
[0071] 第二向量=(词1向量最大值+词2向量最大值+...+词n向量最大值)/n。
[0072] 其中,n是向量的维度。
[0073] 步骤203、将所述每个故障描述语句的所述第一向量和所述第二向量进行拼接,得到所述每个故障描述语句的最终向量。
[0074] 最终向量=concat(第一向量,第二向量)。
[0075] 第一向量和第二向量,得到所述每个故障描述语句的最终向量。
[0076] 步骤204、基于所述每个故障描述语句的最终向量,得到所述目标工单的所述故障描述向量编码。
[0077] 可选地,每个故障描述语句均可确定一个第一向量和一个第二向量,并根据第一向量和第二向量确定最终向量。将目标工单的多个故障描述语句的最终向量求平均,得到目标工单的所述故障描述向量编码。
[0078] 二、故障类型编码。
[0079] 对所述目标工单的第一字段进行事件抽取,识别所述目标工单中的事件触发词和描述事件结构的元素;基于所述触发词代表的故障类型和子故障类型以及所述描述事件结构的元素对应的元素标签,确定所述目标工单对应的故障类型;对所述目标工单对应的故障类型进行编码,得到所述目标工单对应的故障类型编码。
[0080] 工单的故障类型识别通过自然语言处理(Natural Language Processing,NLP)中的事件抽取任务实现。事件抽取是把含有事件信息的非结构化文本以结构化的形式呈现出来,由事件触发词和描述事件结构的元素构成。事件触发词是能够触动事件发生的词,是决定事件类型最重要的特征词,决定了事件类别。元素用于填充事件模版,两者完整的描述了事件本身。
[0081] 基于事件抽取的故障类型识别可以由下面两个步骤主要组成:
[0082] 1、事件检测:根据上下文识别出触发词以及代表的故障类型和子故障类型。
[0083] 2、事件元素识别:事件元素是指事件的参与者,本申请实施例中的参与者可以是智能派单系统的用户。根据所属的事件模版,抽取相应的元素,并为其标上正确的元素标签。
[0084] 整个故障类型识别的实现流程同实体识别(NER,Named Entity Recognition)的流程一致,包括了BIO形式的数据标注,数据预处理,模型训练和推理部署。
[0085] 确定所述目标工单对应的故障类型后,需要对所述目标工单对应的故障类型进行编码,可选地,可以进行离散型字段的编码。
[0086] 假设现有故障类型分为光猫问题、网络问题、资费问题,那么一张网络问题的工单对应的故障类型向量为[0,1,0]。
[0087] 三、普通字段编码。
[0088] 除了故障描述字段以外,工单类型、工单的紧急度信息、客户等级都会被用于计算总的工单相似度。
[0089] 具体通过工单编码器,将上述字段转化成独热One‑Hot编码向量,最终合并故障描述向量编码形成工单向量编码。
[0090] 字段的编码包括离散型字段的编码和连续型字段的编码,离散型字段的编码与上述故障类型编码的过程相似,在此不再赘述。
[0091] 连续型字段:以客户等级为例,通过客户的ARPU值计算得出,假设一张工单对应的客户ARPU值为50,那么客户等级字段对应的向量为[50]。
[0092] 步骤101、将所述至少一个故障编码进行合并,得到所述目标工单对应的工单向量编码。
[0093] 可选地,假设一张工单的故障编码向量为[1,2,3,4,5],且故障类型为网络问题,客户ARPU值为50,那么该工单最终的向量编码可以表示为:[1,2,3,4,5,0,1,0,50]。
[0094] 步骤102、将所述目标工单对应的工单向量编码和多个历史工单对应的工单向量编码进行匹配,从所述多个历史工单中确定至少一个历史工单。
[0095] 在接收到新的故障工单也就是目标工单之后,需要实时对该工单进行与历史工单相同的向量化方法,提取出实时工单中故障描述字段的句子向量和通过工单编码器提取合并成最终的工单编码。使用基于事件抽取的方法对故障描述文本中的故障类型进行识别,仅筛选历史工单库中相同的故障类型工单进行下一步匹配。
[0096] 可以理解的是,目标工单和历史工单是采用相同的方法进行向量化的,提取出目标工单中故障描述字段的句子向量和通过工单编码器提取合并成最终的工单编码。使用基于事件抽取的方法对故障描述文本中的故障类型进行识别,仅筛选历史工单库中相同的故障类型工单进行下一步匹配。
[0097] 图3为本申请实施例提供的孪生网络的结构示意图,整体的工单相似度通过共享参数的孪生网络进行计算,如图3所示,其中Input1和Input2分别为历史工单和目标工单,Loss为损失值,根据损失值可以确定相似度。Network1和Network2为两个神经网络,且Network1和Network2的网络参数相同。
[0098] 在计算句子语义相似度的时候,都是以句子对的形式输入到网络中,孪生网络就是定义两个网络结构分别来表征句子对中的句子,度量两个句子之间的空间相似度。两个网络结构相同且共享参数。
[0099] 可选地,基于共享参数的孪生网络,确定所述目标工单对应的工单向量编码与多个历史工单对应的工单向量编码的相似度;
[0100] 从所述多个历史工单中确认相似度最高的至少一个历史工单。
[0101] 例如,确定相似度最大的三个历史工单。
[0102] 步骤103、基于所述至少一个历史工单对应的处理人,确定所述目标工单对应的处理人,并基于所述目标工单对应的处理人对所述目标工单的信息进行推送。
[0103] 对目标工单的信息进行推送可以是将目标工单的信息发送至与处理人对应的终端,或者是将目标工单的信息与对应的处理人的账号进行关联,以供处理人在登录系统账号的情况下可以查看到该目标工单信息。
[0104] 可选地,对于最终得出相似度最高的三个历史工单,优先将实时工单派发给相似度最高的历史工单的处理人。在相似度最高的历史工单的处理人无法处理的情况下,再将工单派发给相似度第二高的历史工单的处理人。
[0105] 可选地,对于紧急度极高的工单,会提供优先处理,例如根据故障类型,直接分配距离最近且擅长处理该故障类型的装维人员处理,减少用户投诉的可能性。
[0106] 相关技术中,没有考虑工单对故障信息的描述与处理人是否匹配,而是单纯地通过故障类型去匹配,无法将处理人擅长处理的故障类型派发到他们手上,会存在部分工单需要进行二次转发。因此,不能仅依靠工单类型来定位处理工单的处理人,需要对工单的内容进行快速识别,做出精准定位,才能准确派发到最合适的工程师手里。
[0107] 本申请实施例提供的工单匹配方法,通过引入自然语言处理技术对工单中的文本信息进行建模学习,提取工单描述的事件类型,并分析故障现象、发生区域、形成最终处理人之间的关系,减少因为匹配不准确而导致运维人员在首次派发后,可能存在的二次派发或者多次转发等现象,从而实现减少工单的转发次数、提高派单的效率以及实现工单匹配后的实时响应。
[0108] 在一些实施例中,在步骤102之前,所述方法还包括:
[0109] 基于所述目标工单对应的故障类型以及筛选前的历史工单对应的故障类型,对所述筛选前的历史工单进行筛选,得到所述多个历史工单。
[0110] 图4是本申请实施例提供的工单分配方法的流程示意图之二,如图4所示,历史工单库中的历史工单和实时故障工单经过相同的预处理以及NLP句子向量提取,再经过故障描述向量编码器和普通字段字段编码器,得到故障描述向量编码和普通字段编码,其中普通字段编码可以包括紧急度编码、客户等级编码和工单类型编码。将故障描述向量编码和普通字段编码进行组合,得到历史工单的工单向量编码以及实时故障工单的工单向量编码。
[0111] 可以离线对系统内存量的历史工单进行信息提取,将有用的字段转化成NLP算法按模型计算所需的向量,结合工单ID、运维人员ID、工单类型、运维人员工作年限、工单紧急程度等字段统一存入数据库备用,得到历史工单库。在前端实时接收到新的工单后,新的工单将被使用同样的方法转化为向量(需保证历史工单和实时工单的向量化方法一致),并结合其他影响因子的编码向量共同计算出工单与工单之间的匹配度,计算出的结果通过降序排序。最终该实时工单将派发至得分最高的历史工单对应的处理人。
[0112] 通过故障类型抽取获取实时故障工单的故障类型,并根据该故障类型对历史工单进行初步筛选,可以选择相同或者相似故障类型的历史工单,再将实时故障工单的工单向量编码与初步筛选后的历史工单的工单向量编码进行相似度的计算。
[0113] 在向量对比环节,通过匹配相同的故障类型对历史工单进行初步筛选,随后使用参数共享的孪生网络算法跟系统内相同故障类型的历史工单向量编码做相似度比对,计算出相似度最高的历史工单。
[0114] 本申请实施例提供的工单分配方法,在相似度对比之前,通过故障类型进行初步筛选,可以减少计算量,提高运算效率。
[0115] 下面对本申请实施例提供的工单分配装置进行描述,下文描述的工单分配装置与上文描述的工单分配方法可相互对应参照。
[0116] 图5是本申请实施例提供的工单分配装置的结构示意图,如图5所示,工单分配装置500包括:
[0117] 故障编码模块510,用于:对目标工单的字段进行分析和向量化,得到所述目标工单对应的至少一个故障编码;
[0118] 编码合并模块520,用于:将所述至少一个故障编码进行合并,得到所述目标工单对应的工单向量编码;
[0119] 匹配模块530,用于:将所述目标工单对应的工单向量编码和多个历史工单对应的工单向量编码进行匹配,从所述多个历史工单中确定至少一个历史工单;
[0120] 推送模块540,用于:基于所述至少一个历史工单对应的处理人,确定所述目标工单对应的处理人,并基于所述目标工单对应的处理人对所述目标工单的信息进行推送。
[0121] 可选地,所述至少一个故障编码包括故障描述向量编码;
[0122] 所述故障编码模块510,用于:
[0123] 从所述目标工单的第一字段中获取至少一句故障描述语句,对所述至少一句故障描述语句进行预处理和分词,得到每个故障描述语句对应的各个词语;
[0124] 基于预训练模型对所述各个词语进行编码,提取所述各个词语的词向量;
[0125] 基于平均法和每个故障描述语句对应的各个词向量,得到每个故障描述语句的第一向量,基于最大值法和每个故障描述语句对应的各个词向量,得到每个故障描述语句的第二向量;
[0126] 将所述每个故障描述语句的所述第一向量和所述第二向量进行拼接,得到所述每个故障描述语句的最终向量;
[0127] 基于所述每个故障描述语句的最终向量,得到所述目标工单的所述故障描述向量编码。
[0128] 可选地,所述至少一个故障编码包括故障类型编码;
[0129] 推送模块540,用于:
[0130] 对所述目标工单的第一字段进行事件抽取,识别所述目标工单中的事件触发词和描述事件结构的元素;
[0131] 基于所述触发词代表的故障类型和子故障类型以及所述描述事件结构的元素对应的元素标签,确定所述目标工单对应的故障类型;
[0132] 对所述目标工单对应的故障类型进行编码,得到所述目标工单对应的故障类型编码。
[0133] 可选地,在所述将所述目标工单对应的工单向量编码和多个历史工单对应的工单向量编码进行匹配,从所述多个历史工单中确定至少一个历史工单之前,所述方法还包括:
[0134] 基于所述目标工单对应的故障类型以及筛选前的历史工单对应的故障类型,对所述筛选前的历史工单进行筛选,得到所述多个历史工单。
[0135] 可选地,所述将所述目标工单对应的工单向量编码和多个历史工单对应的工单向量编码进行匹配,从所述多个历史工单中确定至少一个历史工单,包括:
[0136] 基于共享参数的孪生网络,确定所述目标工单对应的工单向量编码与多个历史工单对应的工单向量编码的相似度;
[0137] 从所述多个历史工单中确认相似度最高的至少一个历史工单。
[0138] 在此需要说明的是,本发明实施例提供的上述装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
[0139] 图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communication Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的计算机程序,以执行工单匹配方法的步骤,例如包括:
[0140] 对目标工单的字段进行分析和向量化,得到所述目标工单对应的至少一个故障编码;
[0141] 将所述至少一个故障编码进行合并,得到所述目标工单对应的工单向量编码;
[0142] 将所述目标工单对应的工单向量编码和多个历史工单对应的工单向量编码进行匹配,从所述多个历史工单中确定至少一个历史工单;
[0143] 基于所述至少一个历史工单对应的处理人,确定所述目标工单对应的处理人,并基于所述目标工单对应的处理人对所述目标工单的信息进行推送。
[0144] 此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0145] 另一方面,本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的工单分配方法的步骤,例如包括:
[0146] 对目标工单的字段进行分析和向量化,得到所述目标工单对应的至少一个故障编码;
[0147] 将所述至少一个故障编码进行合并,得到所述目标工单对应的工单向量编码;
[0148] 将所述目标工单对应的工单向量编码和多个历史工单对应的工单向量编码进行匹配,从所述多个历史工单中确定至少一个历史工单;
[0149] 基于所述至少一个历史工单对应的处理人,确定所述目标工单对应的处理人,并基于所述目标工单对应的处理人对所述目标工单的信息进行推送。
[0150] 另一方面,本申请实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行上述各实施例提供的方法的步骤,例如包括:
[0151] 对目标工单的字段进行分析和向量化,得到所述目标工单对应的至少一个故障编码;
[0152] 将所述至少一个故障编码进行合并,得到所述目标工单对应的工单向量编码;
[0153] 将所述目标工单对应的工单向量编码和多个历史工单对应的工单向量编码进行匹配,从所述多个历史工单中确定至少一个历史工单;
[0154] 基于所述至少一个历史工单对应的处理人,确定所述目标工单对应的处理人,并基于所述目标工单对应的处理人对所述目标工单的信息进行推送。
[0155] 所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
[0156] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0157] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0158] 最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页 第1页 第2页 第3页
相关技术
单分配相关技术
工单相关技术
刘亮发明人的其他相关专利技术