CN112835798A - 聚类学习方法、测试步骤聚类方法及相关装置 - Google Patents
聚类学习方法、测试步骤聚类方法及相关装置 Download PDFInfo
- Publication number
- CN112835798A CN112835798A CN202110152871.5A CN202110152871A CN112835798A CN 112835798 A CN112835798 A CN 112835798A CN 202110152871 A CN202110152871 A CN 202110152871A CN 112835798 A CN112835798 A CN 112835798A
- Authority
- CN
- China
- Prior art keywords
- word
- target
- vector
- clustering
- cluster
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 378
- 238000000034 method Methods 0.000 title claims abstract description 92
- 239000013598 vector Substances 0.000 claims description 172
- 238000012549 training Methods 0.000 claims description 150
- 238000012545 processing Methods 0.000 claims description 90
- 235000012571 Ficus glomerata Nutrition 0.000 claims description 50
- 244000153665 Ficus glomerata Species 0.000 claims description 50
- 238000004422 calculation algorithm Methods 0.000 claims description 34
- 230000011218 segmentation Effects 0.000 claims description 24
- 238000005259 measurement Methods 0.000 claims description 16
- 238000005457 optimization Methods 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 5
- 238000013522 software testing Methods 0.000 abstract description 2
- 238000003064 k means clustering Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000011524 similarity measure Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例涉及软件测试技术领域,提供一种聚类学习方法、测试步骤聚类方法及相关装置,在进行聚类学习时,先将训练文本输入预先构建的处理模型,获得训练文本中每两个测试步骤之间的第一相似性度量值,再根据每个第一相似性度量值对训练文本进行聚类生成聚类树,之后根据聚类树对处理模型进行参数更新,直至聚类树达到设定条件,得到训练后的处理模型和最终聚类树,最终聚类树的一个聚类簇对应一组预设的操作序列,即同一聚类簇内的所有测试步骤均对应一组预设的操作序列,从而可以减少冗余操作序列,降低了编码工作量。
Description
技术领域
本申请实施例涉及软件测试技术领域,具体而言,涉及一种聚类学习方法、测试步骤聚类方法及相关装置。
背景技术
自动化测试脚本由操作行为、测试数据和预期断言三部分组成,测试步骤即为自动化测试脚本中的操作行为,每个测试步骤需与一组操作序列对应。测试步骤的文本短语描述的格式形如:主语(用户)行为谓语(点击)宾语(确认),由于不同人表达相同含义时所使用的中文描述方式可能不同,所以可能会出现多个描述不同但对应的操作序列完全相同的情形,从而导致操作序列冗余,增加编码工作量。
发明内容
本申请实施例的目的在于提供一种聚类学习方法、测试步骤聚类方法及相关装置,用以减少冗余操作序列,降低编码工作量。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种聚类学习方法,所述方法包括:
获取训练文本,所述训练文本包括多个测试用例,所述测试用例包括多个测试步骤;
将所述训练文本输入预先构建的处理模型,获得每两个所述测试步骤之间的第一相似性度量值;
根据每个所述第一相似性度量值对所述训练文本进行聚类,生成聚类树,其中,所述聚类树包括多个聚类簇,一个所述聚类簇包括多个所述测试步骤;
根据所述聚类树对所述处理模型进行参数更新,直至所述聚类树达到设定条件,得到训练后的处理模型和最终聚类树,其中,所述最终聚类树的一个聚类簇对应一组预设的操作序列。
第二方面,本申请实施例还提供了一种测试步骤聚类方法,所述方法包括:
获取待处理文本,所述待处理文本包括多个待处理测试步骤;
将所述待处理文本输入利用上述的聚类学习方法训练后的处理模型,得到每两个所述待处理测试步骤之间的第二相似性度量值;
根据每个所述第二相似性度量值对所述待处理文本进行聚类,生成待处理聚类树,其中,所述待处理聚类树包括多个待处理聚类簇,一个所述待处理聚类簇包括多个所述待处理测试步骤;
将所述待处理聚类树与最终聚类树进行比对,得到每个所述待处理聚类簇对应的操作序列,其中,所述最终聚类树是利用上述的聚类学习方法生成的。
第三方面,本申请实施例还提供了一种聚类学习装置,所述装置包括:
第一获取模块,用于获取训练文本,所述训练文本包括多个测试用例,所述测试用例包括多个测试步骤;
第一处理模块,用于将所述训练文本输入预先构建的处理模型,获得每两个所述测试步骤之间的第一相似性度量值;
第一聚类模块,用于根据每个所述第一相似性度量值对所述训练文本进行聚类,生成聚类树,其中,所述聚类树包括多个聚类簇,一个所述聚类簇包括多个所述测试步骤;
执行模块,用于根据所述聚类树对所述处理模型进行参数更新,直至所述聚类树达到设定条件,得到训练后的处理模型和最终聚类树,其中,所述最终聚类树的一个聚类簇对应一组预设的操作序列。
第四方面,本申请实施例还提供了一种测试步骤聚类装置,所述装置包括:
第二获取模块,用于获取待处理文本,所述待处理文本包括多个待处理测试步骤;
第二处理模块,用于将所述待处理文本输入利用上述的聚类学习方法训练后的处理模型,得到每两个所述待处理测试步骤之间的第二相似性度量值;
第二聚类模块,用于根据每个所述第二相似性度量值对所述待处理文本进行聚类,生成待处理聚类树,其中,所述待处理聚类树包括多个待处理聚类簇,一个所述待处理聚类簇包括多个所述待处理测试步骤;
比对模块,用于将所述待处理聚类树与最终聚类树进行比对,得到每个所述待处理聚类簇对应的操作序列,其中,所述最终聚类树是利用上述的聚类学习方法生成的。
第五方面,本申请实施例还提供了一种电子设备,所述电子设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的聚类学习方法或者测试步骤聚类方法。
第六方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的聚类学习方法或者测试步骤聚类方法。
相对现有技术,本申请实施例提供的一种聚类学习方法、测试步骤聚类方法及相关装置,在进行聚类学习时,先将训练文本输入预先构建的处理模型,获得训练文本中每两个测试步骤之间的第一相似性度量值,再根据每个第一相似性度量值对训练文本进行聚类生成聚类树,之后根据聚类树对处理模型进行参数更新,直至聚类树达到设定条件,得到训练后的处理模型和最终聚类树,最终聚类树的一个聚类簇对应一组预设的操作序列,即同一聚类簇内的所有测试步骤均对应一组预设的操作序列,从而可以减少冗余操作序列,降低了编码工作量。
附图说明
图1示出了本申请实施例提供的聚类学习方法的流程示意图。
图2为图1所示的聚类学习方法中步骤S102的流程示意图。
图3为图2所示的步骤S102中子步骤S1023的一种流程示意图。
图4为图2所示的步骤S102中子步骤S1023的另一种流程示意图。
图5为图2所示的步骤S102中子步骤S1024的流程示意图。
图6为图1所示的聚类学习方法中步骤S103的流程示意图。
图7示出了本申请实施例提供的测试步骤聚类方法的流程示意图。
图8示出了本申请实施例提供的聚类学习装置的方框示意图。
图9示出了本申请实施例提供的测试步骤聚类装置的方框示意图。
图10示出了本申请实施例提供的电子设备的方框示意图。
图标:10-电子设备;11-处理器;12-存储器;13-总线;100-聚类学习装置;110-第一获取模块;120-第一处理模块;130-第一聚类模块;140-执行模块;200-测试步骤聚类装置;210-第二获取模块;220-第二处理模块;230-第二聚类模块;240-比对模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。
自动化测试脚本包括操作行为、测试数据和预期断言,测试步骤即为自动化测试脚本中的操作行为,每个测试步骤需与一组操作序列对应,由于不同人表达相同含义时所使用的中文描述方式可能不同,所以可能会出现多个描述不同但对应的操作序列完全相同的情形,导致操作序列冗余,增加了编码工作量。因此,需要对测试步骤进行处理以减少冗余操作序列的产生,从而减少不必要的编码工作,提升整体自动化建设效率。
基于此,现有技术中通常采用以下两种方式对测试步骤进行处理:一是,使用文本的机械相似性进行聚类处理,即,采用局部敏感哈希算法进行两两短句的对比,以字符为单位计算相似性,若相似性达到设定阈值,则将这两个短句聚为一个测试步骤;二是,对测试步骤进行分词、数据清洗后进行去重处理,得到处理后的测试步骤列表。但是,这两种方式都只能处理少量的测试步骤,无法用于大量测试步骤的处理。
基于此,本申请实施例提出一种聚类学习方法、测试步骤聚类方法及相关装置,通过聚类学习得到训练后的处理模型和最终聚类树,最终聚类树的一个聚类簇对应一组预设的操作序列,这样在应用中就能利用训练后的处理模型和最终聚类树对原本的测试步骤实现聚类,从而可以减少冗余操作序列,降低了编码工作量。下面进行详细介绍。
请参照图1,图1示出了本申请实施例提供的聚类学习方法的流程示意图,该聚类学习方法可以包括以下步骤:
S101,获取训练文本,训练文本包括多个测试用例,测试用例包括多个测试步骤。
训练文本可以是根据测试人员收集到的所有***用例生成的。***用例是一个项目下某个功能(例如,下单)的需求文档,***用例可以包括目标***、主执行者、辅助执行者、路径步骤等内容。其中,目标***是指实现这个功能的一项具体业务***,例如,直播***等。主执行者是指主要执行这个功能的对象,例如,用户、定时器等。
获得***用例后,可以将***用例解析为测试用例。通常,一个***用例可以解析为多个测试用例,一个测试用例可以有多个测试步骤。由于一个***用例与一个主执行者和一个目标***关联,因此,该***用例下的所有测试用例均与对应的主执行者和目标***关联,各个测试用例中的测试步骤也均与对应的主执行者和目标***关联。
S102,将训练文本输入预先构建的处理模型,获得每两个测试步骤之间的第一相似性度量值。
获得训练文本后,将训练文本输入预先构建的处理模型,处理模型对训练样本进行处理后,可以输出训练样本中测试步骤两两之间的第一相似性度量值。第一相似性度量值用于表征两两测试步骤之间相似性,相似性度量指标可以是欧拉距离、余弦相似度、RWMD(relaxed word mover’s distance,宽松词移距离)、WCD(word centroid distance,词心距离)等。
S103,根据每个第一相似性度量值对训练文本进行聚类,生成聚类树,其中,聚类树包括多个聚类簇,一个聚类簇包括多个测试步骤。
获得训练样本中每两个测试步骤之间的第一相似性度量值之后,可以根据得到的第一相似性度量值对训练文本中的各个测试步骤进行聚类,从而生成聚类树。聚类所采用的算法可以是自下而上的层次聚类算法、k均值聚类算法(k-means clusteringalgorithm)等。聚类树可以包括多个聚类簇,一个聚类簇可以包括多个测试步骤,同一聚类簇内的各个测试步骤的表达的含义相同。
S104,根据聚类树对处理模型进行参数更新,直至聚类树达到设定条件,得到训练后的处理模型和最终聚类树,其中,最终聚类树的一个聚类簇对应一组预设的操作序列。
生成聚类树之后,可以对聚类树进行测试核对,得到该聚类树的聚类正确率。如果聚类正确率未达到预期值,则对处理模型进行参数更新,以此迭代,直至得到的聚类正确率达到预期值,停止参数更新,得到训练后的处理模型和最终聚类树。最终聚类树即为最后一次迭代生成的聚类树,最终聚类树的聚类正确率达到预期值。由于每个第一相似性度量值均与主执行者、目标***和测试步骤有关,因此,更新的参数可以包括主执行者的权重、目标***的权重和测试步骤的权重。
同时,对于最终聚类树,可以设置最终聚类树的一个聚类簇对应一组预设的操作序列,即,同一聚类簇内的所有测试步骤均对应一组预设的操作序列,从而减少了冗余操作序列,降低了编码工作量。
下面对步骤S102进行详细介绍。
处理模型包括预处理模块、词嵌入模块、矢量化模块和相似性度量模块,请参照图2,步骤S102可以包括以下子步骤:
S1021,利用预处理模块对训练文本进行分词及过滤处理得到分词结果,分词结果包括训练文本中的每个词。
由于训练样本包括多个测试用例,测试用例包括多个测试步骤,测试步骤是一个一个的句子,而在中文里,句子是由一个个字串在一起形成的,字与字之间没有空格,因此,首先需要对训练样本进行分词处理,可以采用Jieba(结巴)库对训练样本进行分词处理,Jieba是一种分词算法,Jieba库是一个包含了通用测试用例单个词的小型词库,在处理完成后,每一个测试用例就变成了一组词的有序列表。对训练文本进行分词处理后,可以得到包括训练文本中所有词的通用语料库,用m表示通用语料库中所有词的数量,则通用语料库中的所有词就是{wi:1≤i≤m}。
同时,为了避免小频词和不规则的表述引起的偏差,可以在分词处理后进行过滤处理,例如,将在通用语料库中只出现了一次的所有单词过滤掉、将一般的停止词即频繁出现但没有任何意义的词过滤掉等,最终得到分词结果。
S1022,将分词结果输入词嵌入模块得到词嵌入结果,词嵌入结果包括训练文本中每个词的词嵌入。
词嵌入是指高维实数向量,可以通过词嵌入来表示词,训练得好的词嵌入能够在向量空间中保留词的语义和语法含义。因此,在得到分词结果后,可以根据分词结果对词嵌入模块进行训练,并基于训练后的词嵌入模块得到词嵌入结果,词嵌入结果包括训练文本中每个词的词嵌入。
词嵌入模块可以是神经网络语言模型,例如,skip-gram神经网络模型。同时,将分词结果中的相邻词组对都用作词嵌入模块的输入,相邻词组对是指在句子或者短语中的位置处于设定窗口内的词组。例如,w=w0w1...wlen(w)-1表示句子或者短语,c表示预先定义的窗口大小参数,则将分词结果中所有满足{(wt,wt+1):-c≤j≤c,0≤t,t+j≤len(w)}的词组对都用作输入。
由于词嵌入模块的输入是分词结果中的相邻词组对,而测试步骤相对都比较短,并且每个测试用例中的测试步骤都是有序排列的,因此,为了获得分词结果中的相邻词组对,可以将训练文本中的每个测试步骤按照顺序串连起来以形成一个长句子,之后再根据该长句子得到相邻词组对。
同时,对词嵌入模块进行训练时,可以采用预训练的Word2vec模型的权重对词嵌入模块进行参数初始化,例如,将预训练的Word2vec模型的权重值作为skip-gram神经网络模型的权重初始值,这样可以提高训练效率。
为了进一步提高训练效率,可以设置词嵌入模块的训练截止条件为:词对似然值likelihood(i,j)=sigmoid(vi Tvj)=1/(1+exp(-vi Tvj))最大化,其中,vi和vj分别表示分词结果中任意两个词wi和wj的词嵌入。词对似然值越高意味着得到的词嵌入越好。
S1023,将词嵌入结果输入矢量化模块,得到每个测试步骤的空间矢量化表示。
得到词嵌入结果后,可以将词嵌入结果输入矢量化模块,矢量化模块基于词嵌入结果得到每个测试步骤的空间矢量化表示。具体内容请参照后文对子步骤S1023的详细介绍。
S1024,将每个测试步骤的空间矢量化表示输入相似性度量模块,得到每两个测试步骤之间的第一相似性度量值。
将每个测试步骤矢量化之后,就可以对测试步骤进行正常的相似性度量了,即,计算测试步骤两两之间的第一相似性度量值。相似性度量指标可以选择欧拉距离(Euc)或者余弦相似度(cos),欧拉距离和余弦相似度都是常见的计算方式,在此不再赘述。
由于计算得到的第一相似性度量值后续要用于测试步骤的聚类,因此,就聚类的精度来说,选择欧拉距离进行相似性度量会优于余弦相似度,通常是5到10倍。主要原因在于:余弦相似度度量的是两个向量的角度差异,这可能只反映了非常小的一部分向量信息,同时,余弦相似度的取值范围非常小,为[-1,1];相反,欧拉距离能够综合度量两个向量在各个维度的所有差异。
另外,相似性度量指标还可以选择RWMD和WCD,RWMD的主要理念是衡量将一个句子转换成另一个句子所需的最小努力。转换句子是通过策划字词级别的转换来完成的,而将一个字词转换成另外一个字词所需的努力可以用两个字词的词嵌入的欧拉距离来衡量,称之为词移距离。这种词移距离的直接计算是非常耗费硬件和时间成本的,但是,只计算词移距离的严谨下限则是快速且高效的,因此,相似性度量指标可以选择词移距离的宽松下限,即,RWMD和WCD。具体内容请参照后文对子步骤S1024的详细介绍。
下面对子步骤S1023进行详细介绍。
作为一种实施方式,矢量化模块得到的每个测试步骤的空间矢量化表示,可以是基于TF-IDF(term frequency–inverse document frequency,词频-逆文本频率)的矢量化。TF-IDF是一种统计方法,用于评估一个字词对于一个文件集或者一个语料库中的其中一份文件的重要程度。
基于TF-IDF的矢量化主要考虑两个领域:主执行者和目标***。由于训练文本中的一个测试用例对应一个主执行者和一个目标***,因此,主执行者领域表示主执行者不同且目标***相同的所有测试用例,目标***领域表示目标***不同且主执行者相同的所有测试用例。
请参照图3,子步骤S1023可以包括以下子步骤:
S10231,计算训练文本的第一领域向量,其中,第一领域向量包括训练文本中的每个词在主执行者领域的向量,主执行者领域表示主执行者不同且目标***相同。
主执行者领域是测试用例级别的领域,故基于训练文本中的测试用例计算第一领域向量。计算训练文本的第一领域向量的方式,可以包括以下步骤:
1、获取训练文本中的任意一个目标词。目标词可以用wi表示。
2、计算目标词在主执行者领域的第一词频,其中,第一词频为目标词在其对应的目标***的所有测试用例中出现的频率。
第一词频可以用tfi,ME表示,tfi,ME是wi在其对应的目标***(例如,一个直播APP)的所有测试用例中出现的频率,即,该直播APP的所有测试用例中出现wi的测试用例数量与该直播APP的所有测试用例的比值。
例如,上述的直播APP的主执行者为用户,则ni,ME是主执行者是用户的所有测试用例中出现的频率,Ncase主执行者是用户的所有测试用例的数量。
4、求第一词频和第一逆文本频率的乘积,得到目标词在主执行者领域的向量。
tfidfi,ME表示wi在主执行者领域的向量,tfidfi,ME=tfi,ME×idfi,ME。TF度量的是本地的词频,IDF度量的是词在全局的重要程度,由于在训练文本的整个语料库中出现越少的词通常更有价值,因此,tfidfi,ME表征的是目标词在主执行者领域调整后的权重。
5、遍历训练文本中的每个词,得到训练文本中的每个词在主执行者领域的向量,构成第一领域向量。
可以按照训练文本中各个词的顺序,从第一个词开始依次计算训练文本中的每个词在主执行者领域的向量,即,在执行完上述第4步后,可以判断目标词是否为最后一个词,若是,则停止执行;若否,则返回上述第1步,直至得到训练文本中的每个词在主执行者领域的向量。第一领域向量可以用[tf1df1,ME,tf2df2,ME,...,tfmdfm,ME]T表示。
S10232,计算训练文本的第二领域向量,其中,第二领域向量包括训练文本中的每个词在目标***领域的向量,目标***领域表示目标***不同且主执行者相同。
目标***领域是测试步骤级别的领域,故基于训练文本中的测试步骤计算第二领域向量。计算训练文本的第二领域向量的方式,可以包括以下步骤:
1、获取训练文本中的任意一个目标词。目标词可以用wi表示。
2、计算目标词在目标***领域的第二词频,其中,第二词频为目标词在其所在的测试用例的所有测试步骤中出现的频率。
第二词频可以用tfi,TS表示,tfi,TS是wi在其所在的测试用例(例如,A)的所有测试步骤中出现的频率,即,wi在A的所有测试步骤中出现的次数和A的所有测试步骤的总词数的比值。
4、求第二词频和第二逆文本频率的乘积,得到目标词在目标***领域的向量。
tfidfi,TS表示wi在主执行者领域的向量,tfidfi,TS=tfi,TS×idfi,TS。tfidfi,TS表征的是目标词在目标***领域调整后的权重。
5、遍历训练文本中的每个词,得到训练文本中的每个词在目标***领域的向量,构成第二领域向量。
可以按照训练文本中各个词的顺序,从第一个词开始依次计算训练文本中的每个词在目标***领域的向量,即,在执行完上述第4步后,可以判断目标词是否为最后一个词,若是,则停止执行;若否,则返回上述第1步,直至得到训练文本中的每个词在目标***领域的向量。第二领域向量可以用[tf1df1,TS,tf2df2,TS,...,tfmdfm,TS]T表示。
S10233,获取训练文本中的任意一个目标测试步骤。
S10234,基于第一领域向量,确定目标测试步骤在主执行者领域的第一向量。
第一向量可以包括目标测试步骤中的每个词在主执行者领域的向量,因此,可以从第一领域向量中获得目标测试步骤中的每个词在主执行者领域的向量,得到第一向量。
例如,目标测试步骤包括wa、wb、wc三个词,则从第一领域向量[tf1df1,ME,tf2df2,ME,...,tfmdfm,ME]T中分别获取wa、wb、wc对应的tfadfa,ME、tfbdfb,ME、tfcdfc,ME,得到第一向量[tfadfa,ME,tfbdfb,ME,tfcdfc,ME]T。
S10235,基于第二领域向量,确定目标测试步骤在目标***领域的第二向量。
第二向量可以包括目标测试步骤中的每个词在目标***领域的向量,因此,可以从第二领域向量中获得目标测试步骤中的每个词在目标***领域的向量,得到第二向量。
例如,目标测试步骤包括wa、wb、wc三个词,则从第二领域向量[tf1df1,TS,tf2df2,TS,...,tfmdfm,TS]T中分别获取wa、wb、wc对应的tfadfa,TS、tfbdfb,TS、tfcdfc,TS,得到第二向量[tfadfa,TS,tfbdfb,TS,tfcdfc,TS]T。
S10236,根据第一向量和第二向量,得到目标测试步骤的空间矢量化表示。
S10237,遍历训练文本中的每个测试步骤,得到每个测试步骤的空间矢量化表示。
可以按照训练文本中各个测试步骤的顺序,从第一个测试步骤开始依次计算训练文本中的每个测试步骤的空间矢量化表示,即,在执行完上述子步骤S10237后,可以判断目标测试步骤是否为最后一个步骤,若是,则停止执行;若否,则返回上述子步骤S10233,直至得到训练文本中每个测试步骤的空间矢量化表示。
同时,由于训练文本中主执行者领域和目标***领域的词都是少量的,所以得到的空间矢量化表示是相对稀疏的,可以应用PCA(Principal Component Analysis,主成分分析技术)对空间矢量化表示进行降维。
作为另一种实施方式,矢量化模块得到的每个测试步骤的空间矢量化表示,还可以是词嵌入+IDF矢量化。由于IDF是一个很好的体现字词重要程度的指标,因此,可以将IDF和词嵌入结合,通过计算IDF和词嵌入的加权综合来得到空间矢量化表示。在这种情况下,IDF需要成为针对上下文的通用字词重要程度的通用度量标准,而不是针对主执行者或者目标***领域的,即,对于主执行者或者目标***领域的都有效。
请参照图4,子步骤S1023可以包括以下子步骤:
S1023a,基于训练文本,构建主执行者领域字词集和目标***领域字词集,其中,主执行者领域表示主执行者不同且目标***相同,目标***领域表示目标***不同且主执行者相同。
主执行者领域字词集和目标***领域字词集,是包括训练文本中所有词的通用语料库的子集。主执行者领域字词集可以用S1表示,目标***领域字词集可以用S2表示。
S1023b,获取训练文本中的任意一个目标测试步骤。
S1023c,根据目标测试步骤中每个第一词的词嵌入,计算目标测试步骤在主执行者领域的第一向量,其中,第一词属于主执行者领域字词集。
在本实施例中,根据目标测试步骤中每个第一词的词嵌入,计算目标测试步骤在主执行者领域的第一向量的方式,可以包括:
S1023d,根据目标测试步骤中每个第二词的词嵌入,计算目标测试步骤在目标***领域的第二向量,其中,第二词属于目标***领域字词集。
在本实施例中,根据目标测试步骤中每个第二词的词嵌入,计算目标测试步骤在目标***领域的第二向量的方式,可以包括:
S1023e,根据第一向量和第二向量,得到目标测试步骤的空间矢量化表示。
S1023f,遍历训练文本中的每个测试步骤,得到每个测试步骤的空间矢量化表示。
子步骤S1023e~S1023f与上述的子步骤S10236~S10237类似,在此不再赘述。
下面对子步骤S1024进行详细介绍。
请参照图5,子步骤S1024可以包括以下子步骤:
S10241,获取训练文本中的任意两个第一测试步骤和第二测试步骤。
S10242,计算主执行者领域第一测试步骤和第二测试步骤之间的第一距离。
在本实施例中,计算主执行者领域第一测试步骤和第二测试步骤之间的第一距离的方式,可以包括:
计算主执行者领域第一测试步骤和第二测试步骤之间的第一宽松词移距离;计算主执行者领域第一测试步骤和第二测试步骤之间的第一词心距离;将第一宽松词移距离和第一词心距离中的最大值作为第一距离。
第一宽松词移距离可以通过以下公式进行计算:
RWMD(x,x')=max(l1(x,x'),l2(x,x')),where
其中,RWMD(x,x')为第一宽松词移距离,x为第一测试步骤,x'为第二测试步骤,wi为第一测试步骤中的任一词,wj为第二测试步骤中的任一词,||·||2表示L2范式;tfi是wi在主执行者领域字词集中出现的频率;tfj是wj在主执行者领域字词集中出现的频率;argminj||vi-vj||2表示vi-vj的L2范式取最小值时的j值;i=argmini||vi-vj||2表示vi-vj的L2范式取最小值时的i值。
第一词心距离可以通过以下公式进行计算:
其中,WCD(x,x')为第二词心距离,x为第一测试步骤,x'为第二测试步骤,wi为第一测试步骤中的任一词,wj为第二测试步骤中的任一词,||·||2表示L2范式;tfi是wi在主执行者领域字词集中出现的频率;tfj是wj在主执行者领域字词集中出现的频率。
将第一宽松词移距离和第一词心距离中的最大值作为第一距离,即,d(x,x')=max(WCD(x,x'),RWMD(x,x')),d(x,x')表示第一距离。
S10243,计算目标***领域第一测试步骤和第二测试步骤之间的第二距离。
在本实施例中,计算目标***领域第一测试步骤和第二测试步骤之间的第二距离的方式,可以包括:
计算目标***领域第一测试步骤和第二测试步骤之间的第二宽松词移距离;计算目标***领域第一测试步骤和第二测试步骤之间的第二词心距离;将第二宽松词移距离和第二词心距离之间的最大值作为第二距离。
需要说明的是,第二距离的具体计算方式与子步骤S10242中第一距离的计算方式类似,只是在计算第二距离时,tfi是wi在目标***领域字词集中出现的频率,tfj是wj在目标***领域字词集中出现的频率,在此不再赘述。
S10244,对第一距离和第二距离进行加权求和,得到第一测试步骤和第二测试步骤之间的第一相似性度量值。
可以利用公式d=wMEd1+d2对第一距离和第二距离进行加权求和,得到第一相似性度量值,其中,wME为主执行者领域的权重,d为第一相似性度量值,d1为第一距离,d2为第二距离。
S10245,遍历训练文本中的每两个测试步骤,直至得到每两个测试步骤之间的第一相似性度量值。
可以理解为,上述子步骤S10241~S10244是一个循环的过程,直至得到每两个测试步骤之间的第一相似性度量值。
下面对步骤S103进行详细介绍。
请参照图6,步骤S103可以包括以下子步骤:
S1031,根据每个第一相似性度量值,采用自下而上的层次聚类算法对训练文本进行聚类,得到初始聚类树。
自下而上的层次聚类算法是由单一样本聚类开始,迭代地将两个最接近的聚类合并到一起,直至剩下唯一的一个聚类为止,所有的合并历史都会被记录下来。因此,可以构造出一棵带有合并顺序标记且能够表示这个自下而上层次聚类过程的二叉树,利用这个特点,自下而上的层次聚类算法的聚类结果易于调整,例如,***、合并、个体归属调整等,其中,***是指用两个子聚类替换掉原来的聚类,合并是指用父聚类替换掉两个子聚类,个体归属调整是指把一棵子树移至另一棵子树。
采用自下而上的层次聚类算法,将两个最接近的聚类合并到一起的标准是选择两个平均距离最小的聚类,并将这两个聚类合并为一个。其中,两个聚类的平均距离是指这两个聚类中提取出来的所有样本中两两样本之间的平均距离,如下式所示:
其中,davg(clsA,clsB)为两个聚类clsA和clsB的平均距离,d(ei,ej)为两个样本ei和ej之间的距离,ei为聚类clsA中的任意一个样本,ej为聚类clsB中的任意一个样本,clsA||clsB|为两个聚类clsA和clsB中样本个数的排列组合。
在本实施例中,由于通过步骤S102已经计算出训练文本中测试步骤两两之间的第一相似性度量值,因此,可以根据训练文本中测试步骤两两之间的第一相似性度量值,采用自下而上的层次聚类算法,利用上述公式对训练文本进行聚类,上述公式中的文本即为测试步骤、距离即为第一相似性度量值。
S1032,采用K均值聚类算法对初始聚类树进行后置优化处理,得到聚类树。
采用自下而上的层次聚类算法对训练文本进行聚类可以得到初始聚类树,但是自下而上的层次聚类算法存在以下缺点:合并标准仅仅考虑了整体最优,没有考虑单个样本的最优,故反而影响了聚类的精度。例如,有一个很大的聚类和一个很小但特殊的聚类,大的聚类倾向于把这个很小但特殊的聚类直接吃掉,由于很大的聚类中包含了多个不同的样本,所以计算平均距离时,这个很大的聚类跟这个很小但特殊的聚类之间的平均距离,比这个很大的聚类跟其他特殊但不小的聚类之间的平均距离更小,而且,在这个很大的聚类吃掉这个很小但特殊的聚类之后,由于二者之间巨大的大小差异,这个很小但特殊的聚类对于这个很大的聚类的平均特征来说几乎没有产生任何的影响,仿佛就从未出现过一样。
为了减轻这种缺陷,可以使用K均值聚类算法对初始聚类树进行后置优化处理。K均值聚类算法一种很常用且成熟的聚类算法,其聚类过程大致如下:首先,从待聚类的数据集中随机选择样本生成k个初始均值;然后,在每一次迭代中,执行以下两个步骤:1、将每个样本分配给最接近的聚类;2、基于分配后的聚类计算每个聚类的均值;直到算法达到收敛后停止执行,即,所有的聚类归属不再有变化时停止执行。
在本实施例中,可以将自下而上的层次聚类算法得到的初始聚类树作为K均值聚类算法的初始聚类归属状态,之后K均值聚类算法一直进行迭代直至算法达到收敛后停止执行。并且,在迭代过程中,如果有些聚类中不存在任何样本,则将这些空聚类移除。
一方面,K均值聚类算法严格保证了每个样本都会被分配到最接近的聚类,否则最终将不能收敛,因此,K均值聚类算法带来了样本最优。而移除空聚类可以减少聚类的数量。另一方面,自下而上的层次聚类算法是一种初始化的技术,为K均值聚类算法提供了一个很好的起点,跟随机选择均值的初始化相比,自下而上的层次聚类算法确保了K均值聚类算法不会收敛到某些不合理的局部最优点。
同时,由于K均值聚类算法的后置优化处理破坏了初始聚类树的树状结构,因此,需要将K均值聚类算法在后置优化处理后的聚类结果重构为树状结构,从而得到聚类树。重构树状结构的过程可以是:
首先,在每一个聚类内部运行局部的自下而上的聚类,使得每个聚类都产生一棵自下而上的层次聚类二叉树,得到每一个聚类的局部层次树;
其次,运行全局的自下而上的聚类,在运行全局的聚类时,其中的每一个聚类都被视为一个单一的点,聚类的距离就是所有聚类样本之间的平均距离,最终把所有的聚类合并成单一的一个聚类,得到全局层次树;
最后,将每一个聚类的局部层次树串接到全局层次树中,需要注意的是,由于局部层次树只有叶子节点是聚类,而全局层次树的叶子节点和根节点都是聚类,因此,在串接时,直接将局部层次树串接到全局层次树的相应的叶子节点即可,最终形成的聚类树中,叶子节点就是单个样本,例如,本实施例中的测试步骤。
请参照图7,图7示出了本申请实施例提供的测试步骤聚类方法的流程示意图,该测试步骤聚类方法可以包括以下步骤:
S201,获取待处理文本,待处理文本包括多个待处理测试步骤。
待处理文本可以是任意一个需要进行聚类处理的测试文本,待处理文本可以包括多个待处理测试步骤,一个待处理测试步骤可以对应一个主执行者(例如,用户)和目标***(例如,直播APP)。
S202,将待处理文本输入利用上述的聚类学习方法训练后的处理模型,得到每两个待处理测试步骤之间的第二相似性度量值。
获得待处理文本后,将待处理文本输入利用上述的聚类学习方法训练后的处理模型,训练后的处理模型对待处理文本进行处理后,可以输出待处理文本中待处理测试步骤两两之间的第二相似性度量值。
训练后的处理模型对待处理文本进行处理的过程可以是:首先,利用预处理模块对待处理文本进行分词及过滤处理,得到待处理文本中的每个词;然后,将待处理文本中的每个词输入词嵌入模块,得到待处理文本中每个词的词嵌入;再将待处理文本中每个词的词嵌入输入矢量化模块,得到每个待处理测试步骤的空间矢量化表示;最后,将每个待处理测试步骤的空间矢量化表示输入相似性度量模块,得到每两个待处理测试步骤之间的第二相似性度量值。
作为一种实施方式,将待处理文本中每个词的词嵌入输入矢量化模块,得到每个待处理测试步骤的空间矢量化表示时,可以是基于TF-IDF的矢量化,以任意一个待处理测试步骤为例,其处理过程如下:
首先,基于第一领域向量,即,子步骤S10231中得到的主执行者领域的向量[tf1df1,ME,tf2df2,ME,...,tfmdfm,ME]T,得到该待处理测试步骤中的每个词在主执行者领域的向量,构成该待处理测试步骤在主执行者领域的向量;
然后,基于第二领域向量,即,子步骤S10232中得到的目标***领域的向量[tf1df1,TS,tf2df2,TS,...,tfmdfm,TS]T,得到该待处理测试步骤中的每个词在目标***领域的向量,构成该待处理测试步骤在目标***领域的向量;
作为另一种实施方式,将待处理文本中每个词的词嵌入输入矢量化模块,得到每个待处理测试步骤的空间矢量化表示时,可以是词嵌入+IDF矢量化,以任意一个待处理测试步骤为例,其处理过程如下:
首先,从该待处理测试步骤中确定出每个主执行者领域的词,该主执行者领域的词属于主执行者领域字词集,该主执行者领域字词集是子步骤S1023a得到的;以及,从该待处理测试步骤中确定出每个目标***领域的词,该目标***领域的词属于目标***领域字词集,该目标***领域字词集是子步骤S1023a得到的;
然后,根据该待处理测试步骤中每个主执行者领域的词的词嵌入,计算该待处理测试步骤在主执行者领域的向量;以及,根据该待处理测试步骤中每个目标***领域的词的词嵌入,计算该待处理测试步骤在目标***领域的向量;
S203,根据每个第二相似性度量值对待处理文本进行聚类,生成待处理聚类树,其中,待处理聚类树包括多个待处理聚类簇,一个待处理聚类簇包括多个待处理测试步骤。
步骤S202~S203的具体处理过程,与上述步骤S102~S103的处理过程类似,在此不再赘述。
S204,将待处理聚类树与最终聚类树进行比对,得到每个待处理聚类簇对应的操作序列,其中,最终聚类树是利用上述的聚类学习方法生成的。
由于利用上述的聚类学习方法生成的最终聚类树的一个聚类簇对应一组预设的操作序列,即,同一聚类簇内的所有测试步骤均对应一组预设的操作序列,因此,将待处理聚类数与最终聚类数进行比对,就能得到每个待处理聚类簇对应的操作序列。
与现有技术相比,本申请实施例具有以下有益效果:
首先,通过聚类学习得到的最终聚类树的一个聚类簇对应一组预设的操作序列,即同一聚类簇内的所有测试步骤均对应一组预设的操作序列,这样在应用中就能利用训练后的处理模型和最终聚类树对原本的测试步骤实现聚类,从而可以减少冗余操作序列,降低了编码工作量;
其次,对词嵌入模块进行训练时,可以采用预训练的Word2vec模型的权重对词嵌入模块进行参数初始化,从而可以提高训练效率。
请参照图8,图8示出了本申请实施例提供的聚类学习装置100的方框示意图。聚类学习装置100包括第一获取模块110、第一处理模块120、第一聚类模块130及执行模块140。
第一获取模块110,用于获取训练文本,训练文本包括多个测试用例,测试用例包括多个测试步骤。
第一处理模块120,用于将训练文本输入预先构建的处理模型,获得每两个测试步骤之间的第一相似性度量值。
第一聚类模块130,用于根据每个第一相似性度量值对训练文本进行聚类,生成聚类树,其中,聚类树包括多个聚类簇,一个聚类簇包括多个测试步骤。
执行模块140,用于根据聚类树对处理模型进行参数更新,直至聚类树达到设定条件,得到训练后的处理模型和最终聚类树,其中,最终聚类树的一个聚类簇对应一组预设的操作序列。
可选地,处理模型包括预处理模块、词嵌入模块、矢量化模块和相似性度量模块,第一处理模块120具体用于:
利用预处理模块对训练文本进行分词及过滤处理得到分词结果,分词结果包括训练文本中的每个词;将分词结果输入词嵌入模块得到词嵌入结果,词嵌入结果包括训练文本中每个词的词嵌入;将词嵌入结果输入矢量化模块,得到每个测试步骤的空间矢量化表示;将每个测试步骤的空间矢量化表示输入相似性度量模块,得到每两个测试步骤之间的第一相似性度量值。
可选地,第一处理模块120执行将词嵌入结果输入矢量化模块,得到每个测试步骤的空间矢量化表示的方式,包括:
计算训练文本的第一领域向量,其中,第一领域向量包括训练文本中的每个词在主执行者领域的向量,主执行者领域表示主执行者不同且目标***相同;计算训练文本的第二领域向量,其中,第二领域向量包括训练文本中的每个词在目标***领域的向量,目标***领域表示目标***不同且主执行者相同;获取训练文本中的任意一个目标测试步骤;基于第一领域向量,确定目标测试步骤在主执行者领域的第一向量;基于第二领域向量,确定目标测试步骤在目标***领域的第二向量;根据第一向量和第二向量,得到目标测试步骤的空间矢量化表示。
可选地,第一处理模块120执行计算训练文本的第一领域向量的方式,包括:
获取训练文本中的任意一个目标词;计算目标词在主执行者领域的第一词频,其中,第一词频为目标词在其对应的目标***的所有测试用例中出现的频率;利用公式计算目标词在主执行者领域的第一逆文本频率,其中,ni,ME为目标词在其对应的主执行者的所有测试用例中出现的频率,Ncase为目标词对应的主执行者的所有测试用例的数量;求第一词频和第一逆文本频率的乘积,得到目标词在主执行者领域的向量;遍历训练文本中的每个词,得到训练文本中的每个词在主执行者领域的向量,构成第一领域向量。
可选地,第一处理模块120执行计算训练文本的第二领域向量的方式,包括:
获取训练文本中的任意一个目标词;计算目标词在目标***领域的第二词频,其中,第二词频为目标词在其所在的测试用例的所有测试步骤中出现的频率;利用公式计算目标词在目标***领域的第二逆文本频率,其中,ni,TS为目标词在其对应的目标***的所有测试步骤中出现的频率,Ncase为目标词对应的目标***的所有测试步骤的数量;求第二词频和第二逆文本频率的乘积,得到目标词在目标***领域的向量;遍历训练文本中的每个词,得到训练文本中的每个词在目标***领域的向量,构成第二领域向量。
可选地,第一处理模块120执行基于第一领域向量,确定目标测试步骤在主执行者领域的第一向量的方式,包括:从第一领域向量中获得目标测试步骤中的每个词在主执行者领域的向量,得到第一向量。
可选地,第一处理模块120执行基于第二领域向量,确定目标测试步骤在目标***领域的第二向量的方式,包括:从第二领域向量中获得目标测试步骤中的每个词在目标***领域的向量,得到第二向量。
可选地,第一处理模块120执行根据第一向量和第二向量,得到目标测试步骤的空间矢量化表示的方式,包括:利用公式对第一向量和第二向量进行加权归一化级联,得到目标测试步骤的空间矢量化表示,其中,wME为主执行者领域的权重,v1为第一向量,v2为第二向量,为异或运算。
可选地,第一处理模块120执行将词嵌入结果输入矢量化模块,得到每个测试步骤的空间矢量化表示的方式,包括:
基于训练文本,构建主执行者领域字词集和目标***领域字词集,其中,主执行者领域表示主执行者不同且目标***相同,目标***领域表示目标***不同且主执行者相同;获取训练文本中的任意一个目标测试步骤;根据目标测试步骤中每个第一词的词嵌入,计算目标测试步骤在主执行者领域的第一向量,其中,第一词属于主执行者领域字词集;根据目标测试步骤中每个第二词的词嵌入,计算目标测试步骤在目标***领域的第二向量,其中,第二词属于目标***领域字词集;根据第一向量和第二向量,得到目标测试步骤的空间矢量化表示;遍历训练文本中的每个测试步骤,得到每个测试步骤的空间矢量化表示。
可选地,根据目标测试步骤中每个第一词的词嵌入,计算目标测试步骤在主执行者领域的第一向量的方式,包括:
利用公式计算每个第一词的逆文本频率,其中,ni为每个第一词在训练文本中出现的频率,N为训练文本中所有词的数量;利用公式计算目标测试步骤在主执行者领域的第一向量,其中,v1为第一向量,wi为第i个第一词,S1为主执行者领域字词集,idfi为wi的逆文本频率,vi为wi的词嵌入。
可选地,第一处理模块120执行根据目标测试步骤中每个第二词的词嵌入,计算目标测试步骤在目标***领域的第二向量的方式,包括:
利用公式计算每个第二词的逆文本频率,其中,nj为每个第二词在训练文本中出现的频率,N为训练文本中所有词的数量;利用公式计算目标测试步骤在目标***领域的第二向量,其中,v2为第二向量,wj为第i个第二词,S2为目标***领域字词集,idfj为wj的逆文本频率,vj为wj的词嵌入。
可选地,第一处理模块120执行将每个测试步骤的空间矢量化表示输入相似性度量模块,得到每两个测试步骤之间的第一相似性度量值的方式,包括:
获取训练文本中的任意两个第一测试步骤和第二测试步骤;计算主执行者领域第一测试步骤和第二测试步骤之间的第一距离;计算目标***领域第一测试步骤和第二测试步骤之间的第二距离;对第一距离和第二距离进行加权求和,得到第一测试步骤和第二测试步骤之间的第一相似性度量值。
可选地,第一处理模块120执行计算主执行者领域第一测试步骤和第二测试步骤之间的第一距离的方式,包括:计算主执行者领域第一测试步骤和第二测试步骤之间的第一宽松词移距离;计算主执行者领域第一测试步骤和第二测试步骤之间的第一词心距离;将第一宽松词移距离和第一词心距离中的最大值作为第一距离。
可选地,第一处理模块120执行计算目标***领域第一测试步骤和第二测试步骤之间的第二距离的方式,包括:计算目标***领域第一测试步骤和第二测试步骤之间的第二宽松词移距离;计算目标***领域第一测试步骤和第二测试步骤之间的第二词心距离;将第二宽松词移距离和第二词心距离之间的最大值作为第二距离。
可选地,第一聚类模块130具体用于:根据每个第一相似性度量值,采用自下而上的层次聚类算法对训练文本进行聚类,得到初始聚类树;采用K均值聚类算法对初始聚类树进行后置优化处理,得到聚类树。
请参照图9,图9示出了本申请实施例提供的测试步骤聚类装置200的方框示意图。测试步骤聚类装置200包括第二获取模块210、第二处理模块220、第二聚类模块230及比对模块240。
第二获取模块210,用于获取待处理文本,待处理文本包括多个待处理测试步骤。
第二处理模块220,用于将待处理文本输入利用上述的聚类学习方法训练后的处理模型,得到每两个待处理测试步骤之间的第二相似性度量值。
第二聚类模块230,用于根据每个第二相似性度量值对待处理文本进行聚类,生成待处理聚类树,其中,待处理聚类树包括多个待处理聚类簇,一个待处理聚类簇包括多个待处理测试步骤。
比对模块240,用于将待处理聚类树与最终聚类树进行比对,得到每个待处理聚类簇对应的操作序列,其中,最终聚类树是利用上述的聚类学习方法生成的。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的聚类学习装置100和测试步骤聚类装置200的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
请参照图10,图10示出了本申请实施例提供的电子设备10的方框示意图。电子设备10包括处理器11、存储器12及总线13,处理器11和存储器12通过总线13连接。
存储器12用于存储程序,例如聚类学习装置100、或者测试步骤聚类装置200、或者聚类学习装置100和测试步骤聚类装置200,处理器11在接收到执行指令后,执行所述程序以实现发明上述实施例揭示的聚类学习方法或者测试步骤聚类方法。
电子设备10可以是通用计算机或特殊用途的计算机,两者都可以用于实现本申请实施例的聚类学***台上以分布式方式实现本申请实施例描述的功能,以均衡处理负载。
存储器12可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器11可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器11执行时实现上述实施例揭示的聚类学习方法或者测试步骤聚类方法。
综上所述,本申请实施例提供的一种在进行聚类学习时,先将训练文本输入预先构建的处理模型,获得训练文本中每两个测试步骤之间的第一相似性度量值,再根据每个第一相似性度量值对训练文本进行聚类生成聚类树,之后根据聚类树对处理模型进行参数更新,直至聚类树达到设定条件,得到训练后的处理模型和最终聚类树,最终聚类树的一个聚类簇对应一组预设的操作序列,即同一聚类簇内的所有测试步骤均对应一组预设的操作序列,这样在应用中就能利用训练后的处理模型和最终聚类树对原本的测试步骤实现聚类,从而可以减少冗余操作序列,降低了编码工作量。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
1.一种聚类学习方法,其特征在于,所述方法包括:
获取训练文本,所述训练文本包括多个测试用例,所述测试用例包括多个测试步骤;
将所述训练文本输入预先构建的处理模型,获得每两个所述测试步骤之间的第一相似性度量值;
根据每个所述第一相似性度量值对所述训练文本进行聚类,生成聚类树,其中,所述聚类树包括多个聚类簇,一个所述聚类簇包括多个所述测试步骤;
根据所述聚类树对所述处理模型进行参数更新,直至所述聚类树达到设定条件,得到训练后的处理模型和最终聚类树,其中,所述最终聚类树的一个聚类簇对应一组预设的操作序列。
2.如权利要求1所述的方法,其特征在于,所述处理模型包括预处理模块、词嵌入模块、矢量化模块和相似性度量模块;
所述将所述训练文本输入预先构建的处理模型,获得每两个所述测试步骤之间的第一相似性度量值的步骤,包括:
利用所述预处理模块对所述训练文本进行分词及过滤处理得到分词结果,所述分词结果包括所述训练文本中的每个词;
将所述分词结果输入所述词嵌入模块得到词嵌入结果,所述词嵌入结果包括所述训练文本中每个词的词嵌入;
将所述词嵌入结果输入所述矢量化模块,得到每个所述测试步骤的空间矢量化表示;
将每个所述测试步骤的空间矢量化表示输入所述相似性度量模块,得到每两个所述测试步骤之间的第一相似性度量值。
3.如权利要求2所述的方法,其特征在于,一个所述测试用例对应一个主执行者和一个目标***;
所述将所述词嵌入结果输入所述矢量化模块,得到每个所述测试步骤的空间矢量化表示的步骤,包括:
计算所述训练文本的第一领域向量,其中,所述第一领域向量包括所述训练文本中的每个词在主执行者领域的向量,所述主执行者领域表示所述主执行者不同且所述目标***相同;
计算所述训练文本的第二领域向量,其中,所述第二领域向量包括所述训练文本中的每个词在目标***领域的向量,所述目标***领域表示所述目标***不同且所述主执行者相同;
获取所述训练文本中的任意一个目标测试步骤;
基于所述第一领域向量,确定所述目标测试步骤在所述主执行者领域的第一向量;
基于所述第二领域向量,确定所述目标测试步骤在所述目标***领域的第二向量;
根据所述第一向量和所述第二向量,得到所述目标测试步骤的空间矢量化表示;
遍历所述训练文本中的每个所述测试步骤,得到每个所述测试步骤的空间矢量化表示。
4.如权利要求3所述的方法,其特征在于,所述计算所述训练文本的第一领域向量的步骤,包括:
获取所述训练文本中的任意一个目标词;
计算所述目标词在所述主执行者领域的第一词频,其中,所述第一词频为所述目标词在其对应的目标***的所有测试用例中出现的频率;
求所述第一词频和所述第一逆文本频率的乘积,得到所述目标词在所述主执行者领域的向量;
遍历所述训练文本中的每个词,得到所述训练文本中的每个词在所述主执行者领域的向量,构成所述第一领域向量。
5.如权利要求3所述的方法,其特征在于,所述计算所述训练文本的第二领域向量的步骤,包括:
获取所述训练文本中的任意一个目标词;
计算所述目标词在所述目标***领域的第二词频,其中,所述第二词频为所述目标词在其所在的测试用例的所有测试步骤中出现的频率;
求所述第二词频和所述第二逆文本频率的乘积,得到所述目标词在所述目标***领域的向量;
遍历所述训练文本中的每个词,得到所述训练文本中的每个词在所述目标***领域的向量,构成所述第二领域向量。
6.如权利要求3所述的方法,其特征在于,所述基于所述第一领域向量,确定所述目标测试步骤在所述主执行者领域的第一向量的步骤,包括:
从所述第一领域向量中获得所述目标测试步骤中的每个词在所述主执行者领域的向量,得到所述第一向量;
所述基于所述第二领域向量,确定所述目标测试步骤在所述目标***领域的第二向量的步骤,包括:
从所述第二领域向量中获得所述目标测试步骤中的每个词在所述目标***领域的向量,得到所述第二向量。
7.如权利要求2所述的方法,其特征在于,一个所述测试用例对应一个主执行者和一个目标***;
所述将所述词嵌入结果输入所述矢量化模块,得到每个所述测试步骤的空间矢量化表示的步骤,包括:
基于所述训练文本,构建主执行者领域字词集和目标***领域字词集,其中,所述主执行者领域表示所述主执行者不同且所述目标***相同,所述目标***领域表示所述目标***不同且所述主执行者相同;
获取所述训练文本中的任意一个目标测试步骤;
根据所述目标测试步骤中每个第一词的词嵌入,计算所述目标测试步骤在所述主执行者领域的第一向量,其中,所述第一词属于所述主执行者领域字词集;
根据所述目标测试步骤中每个第二词的词嵌入,计算所述目标测试步骤在所述目标***领域的第二向量,其中,所述第二词属于所述目标***领域字词集;
根据所述第一向量和所述第二向量,得到所述目标测试步骤的空间矢量化表示;
遍历所述训练文本中的每个所述测试步骤,得到每个所述测试步骤的空间矢量化表示。
11.如权利要求3或7所述的方法,其特征在于,所述将每个所述测试步骤的空间矢量化表示输入所述相似性度量模块,得到每两个所述测试步骤之间的第一相似性度量值的步骤,包括:
获取所述训练文本中的任意两个第一测试步骤和第二测试步骤;
计算所述主执行者领域所述第一测试步骤和所述第二测试步骤之间的第一距离;
计算所述目标***领域所述第一测试步骤和所述第二测试步骤之间的第二距离;
对所述第一距离和所述第二距离进行加权求和,得到所述第一测试步骤和所述第二测试步骤之间的第一相似性度量值;
遍历所述训练文本中的每两个所述测试步骤,直至得到每两个所述测试步骤之间的第一相似性度量值。
12.如权利要求11所述的方法,其特征在于,所述计算所述主执行者领域所述第一测试步骤和所述第二测试步骤之间的第一距离的步骤,包括:
计算所述主执行者领域所述第一测试步骤和所述第二测试步骤之间的第一宽松词移距离;
计算所述主执行者领域所述第一测试步骤和所述第二测试步骤之间的第一词心距离;
将所述第一宽松词移距离和所述第一词心距离中的最大值作为所述第一距离。
13.如权利要求11所述的方法,其特征在于,所述计算所述目标***领域所述第一测试步骤和所述第二测试步骤之间的第二距离的步骤,包括:
计算所述目标***领域所述第一测试步骤和所述第二测试步骤之间的第二宽松词移距离;
计算所述目标***领域所述第一测试步骤和所述第二测试步骤之间的第二词心距离;
将所述第二宽松词移距离和所述第二词心距离之间的最大值作为所述第二距离。
14.如权利要求1所述的方法,其特征在于,所述根据每个所述第一相似性度量值对所述训练文本进行聚类,生成聚类树的步骤,包括:
根据每个所述第一相似性度量值,采用自下而上的层次聚类算法对所述训练文本进行聚类,得到初始聚类树;
采用K均值聚类算法对所述初始聚类树进行后置优化处理,得到所述聚类树。
15.一种测试步骤聚类方法,其特征在于,所述方法包括:
获取待处理文本,所述待处理文本包括多个待处理测试步骤;
将所述待处理文本输入利用权利要求1-14任一项所述的聚类学习方法训练后的处理模型,得到每两个所述待处理测试步骤之间的第二相似性度量值;
根据每个所述第二相似性度量值对所述待处理文本进行聚类,生成待处理聚类树,其中,所述待处理聚类树包括多个待处理聚类簇,一个所述待处理聚类簇包括多个所述待处理测试步骤;
将所述待处理聚类树与最终聚类树进行比对,得到每个所述待处理聚类簇对应的操作序列,其中,所述最终聚类树是利用权利要求1-14任一项所述的聚类学习方法生成的。
16.一种聚类学习装置,其特征在于,所述装置包括:
第一获取模块,用于获取训练文本,所述训练文本包括多个测试用例,所述测试用例包括多个测试步骤;
第一处理模块,用于将所述训练文本输入预先构建的处理模型,获得每两个所述测试步骤之间的第一相似性度量值;
第一聚类模块,用于根据每个所述第一相似性度量值对所述训练文本进行聚类,生成聚类树,其中,所述聚类树包括多个聚类簇,一个所述聚类簇包括多个所述测试步骤;
执行模块,用于根据所述聚类树对所述处理模型进行参数更新,直至所述聚类树达到设定条件,得到训练后的处理模型和最终聚类树,其中,所述最终聚类树的一个聚类簇对应一组预设的操作序列。
17.一种测试步骤聚类装置,其特征在于,所述装置包括:
第二获取模块,用于获取待处理文本,所述待处理文本包括多个待处理测试步骤;
第二处理模块,用于将所述待处理文本输入利用权利要求1-14任一项所述的聚类学习方法训练后的处理模型,得到每两个所述待处理测试步骤之间的第二相似性度量值;
第二聚类模块,用于根据每个所述第二相似性度量值对所述待处理文本进行聚类,生成待处理聚类树,其中,所述待处理聚类树包括多个待处理聚类簇,一个所述待处理聚类簇包括多个所述待处理测试步骤;
比对模块,用于将所述待处理聚类树与最终聚类树进行比对,得到每个所述待处理聚类簇对应的操作序列,其中,所述最终聚类树是利用权利要求1-14任一项所述的聚类学习方法生成的。
18.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-14任一项所述的聚类学习方法,或者,如权利要求15所述的测试步骤聚类方法。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-14任一项所述的聚类学习方法,或者,如权利要求15所述的测试步骤聚类方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110152871.5A CN112835798B (zh) | 2021-02-03 | 2021-02-03 | 聚类学习方法、测试步骤聚类方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110152871.5A CN112835798B (zh) | 2021-02-03 | 2021-02-03 | 聚类学习方法、测试步骤聚类方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112835798A true CN112835798A (zh) | 2021-05-25 |
CN112835798B CN112835798B (zh) | 2024-02-20 |
Family
ID=75931992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110152871.5A Active CN112835798B (zh) | 2021-02-03 | 2021-02-03 | 聚类学习方法、测试步骤聚类方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112835798B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117476165A (zh) * | 2023-12-26 | 2024-01-30 | 贵州维康子帆药业股份有限公司 | 一种中成药药物药材智能管理方法及*** |
CN117808126A (zh) * | 2024-02-29 | 2024-04-02 | 浪潮电子信息产业股份有限公司 | 机器学习方法、装置、设备、联邦学习***及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874199A (zh) * | 2017-02-10 | 2017-06-20 | 腾讯科技(深圳)有限公司 | 测试用例处理方法和装置 |
CN107992596A (zh) * | 2017-12-12 | 2018-05-04 | 百度在线网络技术(北京)有限公司 | 一种文本聚类方法、装置、服务器和存储介质 |
CN109543036A (zh) * | 2018-11-20 | 2019-03-29 | 四川长虹电器股份有限公司 | 基于语义相似度的文本聚类方法 |
CN109739978A (zh) * | 2018-12-11 | 2019-05-10 | 中科恒运股份有限公司 | 一种文本聚类方法、文本聚类装置及终端设备 |
CN109933515A (zh) * | 2017-12-18 | 2019-06-25 | 大唐移动通信设备有限公司 | 一种回归测试用例集的优化方法和自动优化装置 |
WO2019174422A1 (zh) * | 2018-03-16 | 2019-09-19 | 北京国双科技有限公司 | 实体关联关系的分析方法及相关装置 |
CN111680161A (zh) * | 2020-07-07 | 2020-09-18 | 腾讯科技(深圳)有限公司 | 一种文本处理方法、设备以及计算机可读存储介质 |
CN112256874A (zh) * | 2020-10-21 | 2021-01-22 | 平安科技(深圳)有限公司 | 模型训练方法、文本分类方法、装置、计算机设备和介质 |
-
2021
- 2021-02-03 CN CN202110152871.5A patent/CN112835798B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874199A (zh) * | 2017-02-10 | 2017-06-20 | 腾讯科技(深圳)有限公司 | 测试用例处理方法和装置 |
CN107992596A (zh) * | 2017-12-12 | 2018-05-04 | 百度在线网络技术(北京)有限公司 | 一种文本聚类方法、装置、服务器和存储介质 |
CN109933515A (zh) * | 2017-12-18 | 2019-06-25 | 大唐移动通信设备有限公司 | 一种回归测试用例集的优化方法和自动优化装置 |
WO2019174422A1 (zh) * | 2018-03-16 | 2019-09-19 | 北京国双科技有限公司 | 实体关联关系的分析方法及相关装置 |
CN109543036A (zh) * | 2018-11-20 | 2019-03-29 | 四川长虹电器股份有限公司 | 基于语义相似度的文本聚类方法 |
CN109739978A (zh) * | 2018-12-11 | 2019-05-10 | 中科恒运股份有限公司 | 一种文本聚类方法、文本聚类装置及终端设备 |
CN111680161A (zh) * | 2020-07-07 | 2020-09-18 | 腾讯科技(深圳)有限公司 | 一种文本处理方法、设备以及计算机可读存储介质 |
CN112256874A (zh) * | 2020-10-21 | 2021-01-22 | 平安科技(深圳)有限公司 | 模型训练方法、文本分类方法、装置、计算机设备和介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117476165A (zh) * | 2023-12-26 | 2024-01-30 | 贵州维康子帆药业股份有限公司 | 一种中成药药物药材智能管理方法及*** |
CN117476165B (zh) * | 2023-12-26 | 2024-03-12 | 贵州维康子帆药业股份有限公司 | 一种中成药药物药材智能管理方法及*** |
CN117808126A (zh) * | 2024-02-29 | 2024-04-02 | 浪潮电子信息产业股份有限公司 | 机器学习方法、装置、设备、联邦学习***及存储介质 |
CN117808126B (zh) * | 2024-02-29 | 2024-05-28 | 浪潮电子信息产业股份有限公司 | 机器学习方法、装置、设备、联邦学习***及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112835798B (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113011533B (zh) | 文本分类方法、装置、计算机设备和存储介质 | |
JP7169369B2 (ja) | 機械学習アルゴリズムのためのデータを生成する方法、システム | |
WO2020211720A1 (zh) | 数据处理方法和代词消解神经网络训练方法 | |
CN111368535A (zh) | 一种敏感词识别方法、装置及设备 | |
CN111985228B (zh) | 文本关键词提取方法、装置、计算机设备和存储介质 | |
KR20180062321A (ko) | 딥러닝-기반 키워드에 연관된 단어를 도출하는 방법과 컴퓨터프로그램 | |
CN111611807B (zh) | 一种基于神经网络的关键词提取方法、装置及电子设备 | |
US20200285984A1 (en) | System and method for generating a predictive model | |
CN110704640A (zh) | 一种知识图谱的表示学习方法及装置 | |
JP2005158010A (ja) | 分類評価装置・方法及びプログラム | |
CN113220886A (zh) | 文本分类方法、文本分类模型训练方法及相关设备 | |
CN112835798B (zh) | 聚类学习方法、测试步骤聚类方法及相关装置 | |
WO2014073206A1 (ja) | 情報処理装置、及び、情報処理方法 | |
Estevez-Velarde et al. | AutoML strategy based on grammatical evolution: A case study about knowledge discovery from text | |
CN111160000A (zh) | 作文自动评分方法、装置终端设备及存储介质 | |
CN109033084B (zh) | 一种语义层次树构建方法以及装置 | |
Abdollahpour et al. | Image classification using ontology based improved visual words | |
CN110991193A (zh) | 一种基于OpenKiWi的翻译矩阵模型选择*** | |
Jeyakarthic et al. | Optimal bidirectional long short term memory based sentiment analysis with sarcasm detection and classification on twitter data | |
CN116932686B (zh) | 主题挖掘方法、装置、电子设备及存储介质 | |
Rahman et al. | A deep learning framework for non-functional requirement classification | |
CN112445914A (zh) | 文本分类方法、装置、计算机设备和介质 | |
CN109977194B (zh) | 基于无监督学习的文本相似度计算方法、***、设备及介质 | |
US11514233B2 (en) | Automated nonparametric content analysis for information management and retrieval | |
CN115329173A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |