发明内容
基于此,有必要针对上述技术问题,提供一种能够准确识别重复工单的重复工单检测方法、装置、服务器和介质。
一种重复工单检测方法,所述方法包括:
获取当前工单,所述当前工单中携带了缺陷描述;
对所述当前工单的缺陷描述进行筛选,得到多个当前关键词;
获取历史数据,所述历史数据中包括多个历史工单对应的历史关键词;
将当前工单与历史工单进行匹配,若在所述当前关键词和历史关键词中存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则将当前工单记录为重复工单。
在其中一个实施例中,所述历史数据还包括历史工单标识,所述历史工单标识与多个历史关键词对应;所述方法还包括:
根据历史工单标识获取多个历史工单的历史关键词;
将当前关键词与多个历史工单标识对应的历史关键词逐一进行比较;
若在所述当前关键词和历史关键词中存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则将当前工单记录为所述历史工单标识对应的重复工单。
在其中一个实施例中,所述历史数据还包括历史工单标识,所述方法还包括:
利用所述历史数据建立第一记录表,所述第一记录表中包括历史工单标识与对应的多个历史关键词;
利用多个历史关键词与历史工单标识建立关键词索引;
通过所述关键词索引在所述第一记录表中查询与当前关键词对应的历史工单标识;
若历史工单标识被查询到的次数大于或等于阈值,则将当前工单记录为所述历史工单标识对应的重复工单。
在其中一个实施例中,所述方法还包括:
若查询到多个历史工单标识,则分别统计每个历史工单标识被查询到的次数;
若多个历史工单标识被查询到的次数均大于或等于阈值,则将当前工单分别记录为与多个历史工单标识对应的重复工单。
在其中一个实施例中,所述将当前工单与历史工单进行匹配的步骤,包括:
获取多个历史关键词对应的哈希值;
计算多个当前关键词对应的哈希值;
将每个当前关键词对应的哈希值分别与多个历史关键词对应的哈希值进行比较。
一种重复工单检测装置,所述装置包括:
获取模块,用于获取当前工单,所述当前工单中携带了缺陷描述;
筛选模块,用于对所述当前工单的缺陷描述进行筛选,得到多个当前关键词;
匹配模块,用于获取历史数据,所述历史数据中包括多个历史工单对应的历史关键词;将当前工单与历史工单进行匹配,若在所述当前关键词和历史关键词中存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则将当前工单记录为重复工单。
在其中一个实施例中,所述历史数据还包括历史工单标识,所述历史工单标识与多个历史关键词对应;所述匹配模块还用于根据历史工单标识获取多个历史工单的历史关键词;将当前关键词与多个历史工单标识对应的历史关键词逐一进行比较;若在所述当前关键词和历史关键词中存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则将当前工单记录为所述历史工单标识对应的重复工单。
在其中一个实施例中,所述历史数据还包括历史工单标识,所述匹配模块还用于利用所述历史数据建立第一记录表,所述第一记录表中包括历史工单标识与对应的多个历史关键词;利用多个历史关键词与历史工单标识建立关键词索引;通过所述关键词索引在所述第一记录表中查询与当前关键词对应的历史工单标识;若历史工单标识被查询到的次数大于或等于阈值,则将当前工单记录为所述历史工单标识对应的重复工单。
一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述方法的步骤。
上述重复工单检测方法、装置、服务器和介质,通过对当前工单的缺陷描述进行筛选,得到多个当前关键词。将当前工单与历史工单进行匹配,如果在所述当前关键词和历史关键词中存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则将当前工单记录为重复工单。通过当前关键词与历史关键词匹配,由此能够准确识别出当前工单是否为重复工单。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中所提供的重复工单检测方法可以应用于如图1所示的应用环境中。其中,多个测试终端102通过网络分别与服务器104进行连接。多个测试终端102分别对同一版本的软件进行测试,在测试结束后,根据测试过程中发现的该版本软件的缺陷生成工单。测试终端102将工单上传至服务器104。服务器104接收到工单后,检测器是否为重复工单。当前需要进行检测的工单也可以称为当前工单。服务器104读取当前工单的文本,文本中包括了软件版本测试的缺陷描述。服务器104对当前工单的缺陷描述进行筛选,得到多个当前关键词。服务器104将当前工单与历史工单进行匹配,如果在当前关键词和历史关键词中存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则将当前工单记录为重复工单。由此准确识别出当前工单是否为重复工单。
在一个实施例中,如图2所示,提供了一种重复工单检测方法,以该方法应用于图1中的服务器为例进行说明,具体包括以下步骤:
步骤202,获取当前工单,当前工单中携带了缺陷描述。
步骤204,对当前工单的缺陷描述进行筛选,得到多个当前关键词。
测试人员通过测试终端对同一版本的软件进行测试,在测试结束后,根据测试过程中发现的该版本软件的缺陷生成工单。测试终端将工单上传至服务器。多个测试终端可以向服务器先后上传多个工单。服务器接收到工单后,对工单进行检测,以便识别其是否为重复工单。服务器可以钩子机制实时接收测试终端上传的工单。一旦接收到工单,即触发对工单的检测。当前需要进行检测的工单也可以称为当前工单。
服务器读取当前工单的文本,文本中包括了软件版本测试的缺陷描述。服务器将读取到的文本拆分为多个句子。对每个句子进行分词,得到多个词,利用多个词生成相应的分词集合。分词集合中包括软件测试中常用的技术术语。服务器对文本进行语意分析,根据词与词之间的联系以及分词集合中软件测试中常用的技术术语,筛选出当前工单中的缺陷描述所对应的多个关键词,例如,页面加载错误、崩溃以及黑屏等。服务器可以采用多种方式对文本进行分词,以及对文本进行语意分析,例如,采用TextRank算法(一种用于为文本生成关键字和摘要的算法)等。
为了提高分词效率,服务器还可以进行分词之前,对每个句子进行过滤。具体的,服务器可以识别每个句子中的停用词,例如,“的”、“在”等,将句子中的停用词过滤掉。服务器对过滤后的句子进行分词。
步骤206,获取历史数据,历史数据中包括多个历史工单对应的历史关键词。
步骤208,将当前工单与历史工单进行匹配,若在当前关键词和历史关键词中存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则将当前工单记录为重复工单。
服务器可以按照上述方式将接收到的每个工单进行筛选,得到对应的关键词。对于一个软件版本的第一个工单时,由于没有可以相比较的工单,服务器将其工单对应的关键词记录为待修改的缺陷。服务器将第一个工单对应的工单标识和对应的关键词进行存储。当接收到第二个工单时,服务器按照上述方式对第二个工单进行筛选,将第二个工单的关键词与第一个工单的关键词进行比较。此时,第一个工单可以称为历史工单,第一个工单的工单标识可以称为历史工单标识,第一个工单的关键词可以称为历史关键词。当服务器接收到第三个工单时,第一个工单和第二个工单都可以称为历史工单,第一个工单和第二个工单的工单标识都可以称为历史工单标识,第一个工单和第二个工单的关键词都可以称为历史关键词。以此类推,服务器可以存储多个历史工单的历史工单标识和历史关键词。
当前工单的关键词也可以称为当前关键词。当前关键词可以有多个。服务器对当前工单与历史工单进行匹配。其中,服务器可以将当前工单的关键字与每个历史工单的历史关键字进行比较,实现当前工单与历史工单的匹配。服务器还可以建立关键字索引,通过关键字索引实现当前工单与历史工单的匹配。在匹配过程中,如果存在与当前关键字相同的历史关键字,则把这两个关键词称为相匹配的关键词。如果相匹配的关键词的数量大于或等于阈值,则服务器获取历史工单标识,将当前工单记录为历史工单标识对应的重复工单。
本实施例中,通过对当前工单的缺陷描述进行筛选,得到多个当前关键词。将当前工单与历史工单进行匹配,如果在当前关键词和历史关键词中存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则将当前工单记录为重复工单。通过当前关键词与历史关键词匹配,由此能够准确识别出当前工单是否为重复工单,进而能够为开发人员减少不必要的工作。
在一个实施例中,历史数据还包括历史工单标识,历史工单标识与多个历史关键词对应;该方法还包括:根据历史工单标识获取多个历史工单的历史关键词;将当前关键词与多个历史工单标识对应的历史关键词逐一进行比较;若在当前关键词和历史关键词中存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则将当前工单记录为历史工单标识对应的重复工单。
本实施例中,服务器根据历史工单标识获取多个历史工单对应的历史关键词。服务器将当前工单的多个当前关键词与每一个历史工单的历史关键词进行比较。如果当前关键词与历史关键词相同,则可以把这两个关键词称为相匹配的关键词。如果当前工单的当前关键词与某个历史工单的历史关键词相比较后发现存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则表示当前工单与该历史工单为重复工单。服务器可以将当前工单记录为该历史工单标识对应的重复工单。
服务器将当前工单的当前关键词与多个历史工单的历史关键词进行比对时,当前工单与不同历史工单中存在的相匹配的关键词可以是不同的。如果当前工单与不同历史工单中存在相匹配的关键词的数量均大于或等于阈值,则服务器可以将当前工单分别按照历史工单标识记录为多个历史工单的重复工单。
例如,当前工单的当前关键词包括:A、B、C和D。一个历史工单的历史关键词包括:B、C、D和E,历史工单标识为0123。另一个历史工单的历史关键词包括:A、C、D和E,历史工单标识为0125。服务器将当前工单的当前关键词与0123这一历史工单的历史关键词进行比较,发现存在相匹配的关键词B、C和D,并且相匹配的关键词的数量等于阈值3。服务器将当前工单记录为0123的重复工单。服务器将当前工单的当前关键词与0125这一历史工单的历史关键词进行比较,发现存在相匹配的关键词A、C和D,并且相匹配的关键词的数量等于阈值3。服务器将当前工单记录为0125的重复工单。
通过将当前工单的当前关键词与每一个历史工单的历史关键词进行比对,能够检测出当前工单是否与某一历史工单重复,从而准确识别当前工单是否为重复工单。
在一个实施例中,该方法还包括:利用历史数据建立第一记录表,第一记录表中包括历史工单标识与对应的多个历史关键词;利用多个历史关键词与历史工单标识建立关键词索引;通过关键词索引在第一记录表中查询与当前关键词对应的历史工单标识;若历史工单标识被查询到的次数大于或等于阈值,则将当前工单记录为历史工单标识对应的重复工单。
本实施例中,服务器可以利用历史数据中的历史工单标识与对应的历史关键词建立第一记录表。第一记录表中可以包括多个历史工单标识,每个历史工单标识可以对应多个历史关键词。可以理解的,第一记录表中历史工单标识和历史关键词可以持续更新。
服务器可以利用历史关键词与历史工单标识建立关键词索引。服务器获取当前工单的当前关键词,如果存在与当前关键词相同的历史关键词,则可以通过关键词索引在第一记录表中查询到对应的历史工单标识。服务器将当前工单的多个当前关键词逐个通过关键词索引进行查询。服务器将查询到的历史工单标识进行记录,并统计历史工单标识被查询到的次数。若某个历史工单标识被多次查询到,则表示该历史工单标识对应的历史关键词中存在多个与当前关键词相匹配的关键词。若该工单标识被查询到的次数大于或等于阈值,表示相匹配的关键词的数量大于或等于阈值,则当前工单与该历史工单为重复工单。服务器可以将当前工单记录为该历史工单标识对应的重复工单。
在其中一个实施例中,该还包括:若查询到多个历史工单标识,则分别统计每个历史工单标识被查询到的次数;若多个历史工单标识被查询到的次数均大于或等于阈值,则将当前工单分别记录为与多个历史工单标识对应的重复工单。
不同的当前关键词,可以查询到不同的历史工单标识。如果查询与不同的当前关键词对应的历史工单标识为多个,则服务器分别统计每个历史工单标识被查询到的次数。对于被查询到的次数大于或等于阈值的历史保单标识,服务器将当前工单记录为该历史工单标识对应的重复工单。由此可以得到当前工单对应的多个重复工单。
例如,当前工单的当前关键词包括:A、B、C和D。第一记录表中的历史工单标识包括0123和0125,其中0123对应的历史关键词包括:B、C、D和E,0125对应的历史关键词包括:A、C、D和E。通过关键词索引,在第一记录表中查询到0123的次数为3,被查询到的次数等于阈值。查询到0125的次数为3,被查询到的次数等于阈值。服务器可以将当前工单记录为0123的重复工单以及0125的重复工单。
通过建立关键词索引,可以快速查询到与当前关键词对应的历史工单标识。从而能够有效提高当前工单与历史工单的匹配效率,从而进一步提高当前工单是否为重复工单的检测效率。
在一个实施例中,将当前工单与历史工单进行匹配的步骤,包括:获取多个历史关键词对应的哈希值;计算多个当前关键词对应的哈希值;将每个当前关键词对应的哈希值分别与多个历史关键词对应的哈希值进行比较。
本实施例中,为了进一步提高当前工单与历史工单的匹配效率,还可以将当前关键词的哈希值与历史关键词的哈希值进行比较。具体的,服务器可以预先计算每个历史工单对应的历史关键词的哈希值。服务器在筛选出当前工的当前关键字后,计算每个当前关键字的哈希值。
服务器可以参照上述方式,将当前关键字的哈希值与每一个历史工单的历史关键字的哈希值进行比较。如果在与某个历史工单进行比较时发现存在相同的哈希值,则表示该历史工单中存在与当前关键词相同的历史关键词。可以把相同的哈希值称为相匹配的哈希值。如果相匹配的哈希值的数量大于或等于阈值,则表示当前工单与该历史工单为重复工单。服务器可以将当前工单记录为该历史工单标识对应的重复工单。服务器还可以利用上述方式得到当前工单对应的多个重复工单。
进一步的,服务器还可以利用历史工单标识、历史关键字和对应的哈希值建立第二记录表。服务器利用历史关键字对应的哈希值和历史工单标识建立哈希值索引。服务器获取当前关键词的哈希值,如果存在与当前关键词的哈希值相同的历史关键词的哈希值,则可以通过关键词索引在第二记录表中查询到对应的历史工单标识。服务器将当前工单的多个当前关键词的哈希值逐个通过哈希值索引进行查询。服务器将查询到的历史工单标识进行记录,并统计历史工单标识被查询到的次数。若某个历史工单标识被多次查询到,则表示该历史工单存在相匹配的哈希值。若该工单标识被查询到的次数大于或等于阈值,表示相匹配的哈希值的数量大于或等于阈值,则当前工单与该历史工单为重复工单。服务器可以将当前工单记录为该历史工单标识对应的重复工单。服务器还可以利用上述方式得到当前工单对应的多个重复工单。
通过计算当前关键字的哈希值以及历史关键字的哈希值,利用哈希值比较的方式能够进一步提高当前工单与历史工单的匹配效率,从而提高当前工单是否为重复工单的检测效率。
在一个实施例中,如图3所示,提供了一种重复工单检测装置,包括:获取模块302、筛选模块304和匹配模块306,其中:
获取模块302,用于获取当前工单,当前工单中携带了缺陷描述。
筛选模块304,用于对当前工单的缺陷描述进行筛选,得到多个当前关键词。
匹配模块306,用于获取历史数据,历史数据中包括多个历史工单对应的历史关键词;将当前工单与历史工单进行匹配,若在当前关键词和历史关键词中存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则将当前工单记录为重复工单。
在一个实施例中,历史数据还包括历史工单标识,历史工单标识与多个历史关键词对应;匹配模块306还用于根据历史工单标识获取多个历史工单的历史关键词;将当前关键词与多个历史工单标识对应的历史关键词逐一进行比较;若在当前关键词和历史关键词中存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则将当前工单记录为历史工单标识对应的重复工单。
在一个实施例中,历史数据还包括历史工单标识,匹配模块306还用于利用历史数据建立第一记录表,第一记录表中包括历史工单标识与对应的多个历史关键词;利用多个历史关键词与历史工单标识建立关键词索引;通过关键词索引在第一记录表中查询与当前关键词对应的历史工单标识;若历史工单标识被查询到的次数大于或等于阈值,则将当前工单记录为历史工单标识对应的重复工单。
在一个实施例中,匹配模块306还用于若查询到多个历史工单标识,则分别统计每个历史工单标识被查询到的次数;若多个历史工单标识被查询到的次数均大于或等于阈值,则将当前工单分别记录为与多个历史工单标识对应的重复工单。
在一个实施例中,匹配模块306还用于获取多个历史关键词对应的哈希值;计算多个当前关键词对应的哈希值;将每个当前关键词对应的哈希值分别与多个历史关键词对应的哈希值进行比较。
在一个实施例中,提供了一种服务器,如图4所示,该服务器包括通过***总线连接的处理器、存储器、存储在存储器上并可在处理器上运行的计算机程序以及网络接口等。其中,处理器用于提供计算和控制能力。存储器为计算机程序的运行提供环境。存储器包括内存储器和非易失性存储介质。网络接口用于据以与外部的查勘终端或理赔终端通过网络连接通信。处理器执行计算机程序时实现以下步骤:
获取当前工单,当前工单中携带了缺陷描述;
对当前工单的缺陷描述进行筛选,得到多个当前关键词;
获取历史数据,历史数据中包括多个历史工单对应的历史关键词;
将当前工单与历史工单进行匹配,若在当前关键词和历史关键词中存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则将当前工单记录为重复工单。
该服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据历史工单标识获取多个历史工单的历史关键词;
将当前关键词与多个历史工单标识对应的历史关键词逐一进行比较;
若在当前关键词和历史关键词中存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则将当前工单记录为历史工单标识对应的重复工单。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
利用历史数据建立第一记录表,第一记录表中包括历史工单标识与对应的多个历史关键词;
利用多个历史关键词与历史工单标识建立关键词索引;
通过关键词索引在第一记录表中查询与当前关键词对应的历史工单标识;
若历史工单标识被查询到的次数大于或等于阈值,则将当前工单记录为历史工单标识对应的重复工单。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若查询到多个历史工单标识,则分别统计每个历史工单标识被查询到的次数;
若多个历史工单标识被查询到的次数均大于或等于阈值,则将当前工单分别记录为与多个历史工单标识对应的重复工单。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取多个历史关键词对应的哈希值;
计算多个当前关键词对应的哈希值;
将每个当前关键词对应的哈希值分别与多个历史关键词对应的哈希值进行比较。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取当前工单,当前工单中携带了缺陷描述;
对当前工单的缺陷描述进行筛选,得到多个当前关键词;
获取历史数据,历史数据中包括多个历史工单对应的历史关键词;
将当前工单与历史工单进行匹配,若在当前关键词和历史关键词中存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则将当前工单记录为重复工单。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据历史工单标识获取多个历史工单的历史关键词;
将当前关键词与多个历史工单标识对应的历史关键词逐一进行比较;
若在当前关键词和历史关键词中存在相匹配的关键词,并且相匹配的关键词的数量大于或等于阈值,则将当前工单记录为历史工单标识对应的重复工单。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
利用历史数据建立第一记录表,第一记录表中包括历史工单标识与对应的多个历史关键词;
利用多个历史关键词与历史工单标识建立关键词索引;
通过关键词索引在第一记录表中查询与当前关键词对应的历史工单标识;
若历史工单标识被查询到的次数大于或等于阈值,则将当前工单记录为历史工单标识对应的重复工单。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若查询到多个历史工单标识,则分别统计每个历史工单标识被查询到的次数;
若多个历史工单标识被查询到的次数均大于或等于阈值,则将当前工单分别记录为与多个历史工单标识对应的重复工单。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取多个历史关键词对应的哈希值;
计算多个当前关键词对应的哈希值;
将每个当前关键词对应的哈希值分别与多个历史关键词对应的哈希值进行比较。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。