CN112100382B - 聚类方法及装置、计算机可读存储介质、处理器 - Google Patents
聚类方法及装置、计算机可读存储介质、处理器 Download PDFInfo
- Publication number
- CN112100382B CN112100382B CN202011063022.4A CN202011063022A CN112100382B CN 112100382 B CN112100382 B CN 112100382B CN 202011063022 A CN202011063022 A CN 202011063022A CN 112100382 B CN112100382 B CN 112100382B
- Authority
- CN
- China
- Prior art keywords
- sentences
- interval
- similarity
- subclasses
- sentence
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 239000013598 vector Substances 0.000 claims description 81
- 238000012216 screening Methods 0.000 claims description 60
- 238000004364 calculation method Methods 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 39
- 238000010606 normalization Methods 0.000 claims description 15
- 238000012549 training Methods 0.000 claims description 14
- 230000002776 aggregation Effects 0.000 claims description 13
- 238000004220 aggregation Methods 0.000 claims description 13
- 238000013527 convolutional neural network Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 7
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 142
- 206010012601 diabetes mellitus Diseases 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000002372 labelling Methods 0.000 description 8
- 208000001072 type 2 diabetes mellitus Diseases 0.000 description 6
- 206010067584 Type 1 diabetes mellitus Diseases 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 239000000654 additive Substances 0.000 description 3
- 230000000996 additive effect Effects 0.000 description 3
- 238000003064 k means clustering Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 235000005911 diet Nutrition 0.000 description 2
- 230000037213 diet Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 208000008960 Diabetic foot Diseases 0.000 description 1
- 208000017442 Retinal disease Diseases 0.000 description 1
- 206010038923 Retinopathy Diseases 0.000 description 1
- 241001062472 Stokellia anisodon Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000002496 gastric effect Effects 0.000 description 1
- 230000002641 glycemic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 201000001119 neuropathy Diseases 0.000 description 1
- 230000007823 neuropathy Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 208000033808 peripheral neuropathy Diseases 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- 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/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Probability & Statistics with Applications (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种聚类方法及装置、计算机可读存储介质、处理器。其中,该方法包括:获取问题数据;确定问题数据中的任意两个句子之间的关键词相似度;确定问题数据中的任意两个句子之间的语义相似度;依据关键词相似度和语义相似度对问题数据中的句子进行聚类,并输出聚类结果。本申请解决了特定领域中句子与句子之间的无监督相似度聚类,聚类结果的精确度较低和稳定性差的技术问题。
Description
技术领域
本申请涉及自然语言处理领域,具体而言,涉及一种聚类方法及装置、计算机可读存储介质、处理器。
背景技术
对于深度学习的自然语言处理领域,一个模型的精确度和数据量的大小、数据标注的准确性呈正相关。而目前数据的标注往往需要大量的人力人工标注,不仅耗时而且工作量巨大。尤其对于特定领域,对于标注人员需要特定领域的专业知识背景,才能做到高质量的标注。
在特定领域中,句子与句子之间的无监督相似度聚类,无论是基于语义还是词频-逆向文本频率指数(term frequency-inverse document frequency,tfidf)计算相似度,都无法满足真实的应用需求。因为在特定知识领域,无论是基于语义的词向量还是词频-逆向文本频率指数,它们对于特定术语词组的辨识度较为模糊,而这些特定术语往往决定聚类的好坏。比如对于糖尿病知识领域,句子“1型糖尿病怎么治疗”和“2型糖尿病怎么治疗”比较容易聚类在一起,但“1型”和“2型”的差别较大,这样的聚类结果无疑给标注人员带来很大的工作难度。
而对于聚类算法,K-means聚类算法(k-means clustering algorithm)在中文文本聚类算法中使用广泛,但对于非均质的数据,聚类结果的精确度较低和稳定性差,同时不合理的k值也会使结果缺乏解释性。而比较句子与句子之间的相似度,将大于某个相似度阈值(比如0.85)的文本直接聚类,尽管没有K-means的非均质和设置k值的局限,但该做法会出现大部分文本被排除在外,而只有小部分句子可以聚类的情况,同时会聚出句子扎堆的大类,因此直接通过阈值筛选的方式也不是一种很好的聚类方式。
针对特定领域中句子与句子之间的无监督相似度聚类,聚类结果的精确度较低和稳定性差的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种聚类方法及装置、计算机可读存储介质、处理器,以至少解决特定领域中句子与句子之间的无监督相似度聚类,聚类结果的精确度较低和稳定性差的技术问题。
根据本申请实施例的一个方面,提供了一种聚类方法,包括:获取问题数据;确定问题数据中的任意两个句子之间的关键词相似度;确定问题数据中的任意两个句子之间的语义相似度;依据关键词相似度和语义相似度对问题数据中的句子进行聚类,并输出聚类结果。
可选地,确定问题数据中的任意两个句子之间的关键词相似度,包括:获取预设关键词,从问题数据的句子中提取与预设关键词相同的关键词,得到每个句子的关键词数据集;依据每个句子的关键词数据集计算问题数据中的任意两个句子之间的相似度系数;将相似度系数作为关键词相似度。
可选地,依据关键词相似度和语义相似度对问题数据中的句子进行聚类,包括:依据关键词相似度对问题数据中的句子做粗分支聚类,得到问题数据中的句子的粗分支聚类结果;依据语义相似度对粗分支聚类结果中的每个粗分支做细分支聚类,得到问题数据中的句子的细分支聚类结果。
可选地,确定问题数据中的任意两个句子之间的语义相似度,包括:利用第一模型计算任意两个句子之间语义相似度,得到任意两个句子之间的第一语义相似度,第一模型通过词向量计算两个句子之间的语义相似度;和/或利用第二模型计算任意两个句子之间语义相似度,得到任意两个句子之间的第二语义相似度,第二模型通过句子向量计算两个句子之间的语义相似度。
可选地,利用第一模型计算任意两个句子之间语义相似度,包括:将问题数据中的每个句子切分为字符的集合,字符为组成句子的最小单元;从第一模型中提取每个句子包括的字符对应的词向量;对每个句子包括的字符对应的词向量进行加权平均计算,得到每个句子对应的词向量;依据每个句子对应的词向量分别计算任意两个句子之间的余弦相似度,得到任意两个句子之间的第一语义相似度。
可选地,利用第二模型计算任意两个句子之间语义相似度,包括:利用第二模型分别对任意两个句子进行编码,得到任意两个句子中第一句子对应的向量和任意两个句子中第二句子对应的向量;将第一句子对应的向量和第二句子对应的向量进行矩阵内积计算,得到任意两个句子之间的第二语义相似度。
可选地,第二模型为加和边界归一化指数函数模型,利用第二模型分别对任意两个句子进行编码之前,上述方法还包括:利用门控循环单元替换加和边界归一化指数函数模型中的卷积神经网络;利用预设问答数据集对加和边界归一化指数函数模型进行训练,直至加和边界归一化指数函数模型收敛。
可选地,依据关键词相似度对问题数据中的句子做粗分支聚类之前,上述方法还包括:依据关键词相似度从问题数据的句子中筛选出进行粗分支聚类的第一目标句子组成的第一配对集合。
可选地,依据关键词相似度从问题数据的句子中筛选出进行粗分支聚类的第一目标句子组成的第一配对集合,包括:从关键词相似度的取值范围中选取大于第一相似度阈值的取值范围,作为第一目标取值范围;按照第一间隔区间阈值将第一目标取值范围平均划分为多个第一间隔区间;分别确定落入多个第一间隔区间内的关键词相似度对应的两两句子;对于各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入关键词相似度最高的第一间隔区间内的两两句子、和对于各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入关键词相似度最高的第一间隔区间内的两两句子,分别与其所在的第一间隔区间内不与其他第一间隔区间内两两句子有关联的两两句子共同作为第一目标句子进行配对;得到第一配对集合;各第一间隔区间内不与其他第一间隔区间内两两句子有关联的两两句子为第一间隔区间内任一两两句子中的第一句子或第二句子均不作为其他第一间隔区间内任一两两句子的第一句子或第二句子的两两句子;各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子为各第一间隔区间内的两两句子中的第一句子或第二句子作为其他第一间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
可选地,依据关键词相似度从问题数据的句子中筛选出进行粗分支聚类的第一目标句子组成的第一配对集合,还包括:S1,从关键词相似度的取值范围中选取大于第二相似度阈值的取值范围,作为第二目标取值范围;S2,将第二目标取值范围划分为第一区间和第二区间,第一区间的起始值为第二目标取值范围的起始值,第一区间的取值范围与第一阈值相同;S3,分别确定落入第一区间和第二区间内的关键词相似度对应的两两句子;S4,将第一区间内不与第二区间内两两句子有关联的两两句子作为第一目标句子进行配对,第一区间内不与第二区间内两两句子有关联的两两句子为第一区间内任一两两句子中的第一句子或第二句子均不作为第二区间内任一两两句子的第一句子或第二句子的两两句子;S5,判断第二区间的取值范围与是否小于或等于第一阈值,如果判断结果为否,将第二区间作为第二目标取值范围,并重复执行S2至S4;如果判断结果为是,将第二区间内的所有两两句子作为第一目标句子进行配对;S6,得到第一配对集合。
可选地,依据关键词相似度对问题数据中的句子做粗分支聚类,包括:遍历第一配对集合,比较落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子;相同关键词相似度区域范围为各第一间隔区间,或各第一区间和S5中判断结果为是时的第二区间;如果落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子存在一个相同的句子,将两个关键词相似度对应的两个两两句子中的三个句子作为第一子类;比较任意两个第一子类,如果任意两个第一子类中存在至少一个相同的句子,将任意两个第一子类划分为第二子类;比较任意两个第二子类,如果任意两个第二子类中存在至少一个相同的句子,将任意两个第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,粗分支聚类结束;将不存在相同的句子的所有第N子类作为粗分支聚类结果中的粗分支,其中,N为正整数。
可选地,依据关键词相似度对问题数据中的句子做粗分支聚类,包括:遍历第一配对集合;对落入相同关键词相似度区域范围的句子构建索引,索引包括键和值,其中,键为句子的标识,值为与句子配对的所有句子的标识组成的列表,两个句子配对是指两个句子的关键词相似度落入相同关键词相似度区域范围;遍历键对应的值;遍历值作为键对应的值,直至全部值遍历完成,其中,遍历值作为键对应的值时仅遍历未被访问过的值。
可选地,依据关键词相似度和语义相似度对问题数据中的句子进行聚类具体为:依据关键词相似度对问题数据中的句子做粗分支聚类,得到问题数据中的句子的粗分支聚类结果;将粗分支聚类结果中粗分支包含的句子的数目小于或等于第一预设阈值的粗分支作为该部分的最终聚类将结果;依据语义相似度对粗分支聚类结果中粗分支包含的句子的数目大于第一预设阈值的粗分支做细分支聚类,得到相应部分的细分支聚类结果。
可选地,依据语义相似度对粗分支聚类结果中粗分支包含的句子的数目大于第一预设阈值的粗分支做细分支聚类,得到相应部分的细分支聚类结果,包括:依据语义相似度对粗分支聚类结果中的每个粗分支做细分支聚类,语义相似度包括第一语义相似度和/或第二语义相似度。
可选地,依据所述语义相似度对所述粗分支聚类结果中所述粗分支包含的句子的数目大于所述第一预设阈值的粗分支做细分支聚类,得到相应部分的细分支聚类结果,还包括:依据第一语义相似度从粗分支包含的句子中筛选出进行细分支聚类的第二目标句子组成的第二配对集合。
可选地,依据第一语义相似度从粗分支包含的句子中筛选出进行细分支聚类的第二目标句子组成的第二配对集合,包括:从第一语义相似度的取值范围中选取大于第三相似度阈值的取值范围,作为第三目标取值范围;按照第二间隔区间阈值将第三目标取值范围平均划分为多个第二间隔区间;分别确定落入多个第二间隔区间内的第一语义相似度对应的两两句子;对于各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入第一语义相似度最高的第二间隔区间内的两两句子、和对于各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入第一语义相似度最高的第二间隔区间内的两两句子,分别与其所在的第二间隔区间内不与其他第二间隔区间内两两句子有关联的两两句子共同作为第二目标句子进行配对;得到第二配对集合;各第二间隔区间内不与其他第二间隔区间内两两句子有关联的两两句子为第二间隔区间内任一两两句子中的第一句子或第二句子均不作为其他第二间隔区间内任一两两句子的第一句子或第二句子的两两句子;各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子为各第二间隔区间内的两两句子中的第一句子或第二句子作为其他第二间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
可选地,依据第一语义相似度从粗分支包含的句子中筛选出进行细分支聚类的第二目标句子组成的第二配对集合,还包括:S10,从第一语义相似度的取值范围中选取大于第四相似度阈值的取值范围,作为第四目标取值范围;S20,将第四目标取值范围划分为第三区间和第四区间,第三区间的起始值为第四目标取值范围的起始值,第三区间的取值范围与第二阈值相同;S30,分别确定落入第三区间和第四区间内的第一语义相似度对应的两两句子;S40,将第三区间内不与第四区间内两两句子有关联的两两句子作为第二目标句子进行配对,第三区间内不与第四区间内两两句子有关联的两两句子为第三区间内任一两两句子中的第一句子或第二句子均不作为第四区间内任一两两句子的第一句子或第二句子;S50,判断第四区间的取值范围是否小于或等于第二阈值,如果判断结果为否,将第四区间作为第四目标取值范围,并重复执行S20至S40;如果判断结果为是,将第四区间内的所有两两句子作为第二目标句子进行配对;S60,得到第二配对集合。
可选地,依据语义相似度对粗分支聚类结果中的每个粗分支做细分支聚类,包括:遍历第二配对集合,比较落入相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子;相同第一语义相似度区域范围为各第二间隔区间,或各第三区间和S50中判断结果为是时的第四区间;如果落入相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子存在一个相同的句子,将两个第一语义相似度对应的两个两两句子中的三个句子作为第一子类;比较任意两个第一子类,如果任意两个第一子类中存在至少一个相同的句子,将任意两个第一子类划分为第二子类;比较任意两个第二子类,如果任意两个第二子类中存在至少一个相同的句子,将任意两个第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,细分支聚类结束;将不存在相同的句子的所有第N子类作为第一细分支聚类结果中的细分支,其中,N为正整数。
可选地,依据语义相似度对粗分支聚类结果中的每个粗分支做细分支聚类,包括遍历第二配对集合,包括:对落入相同第一语义相似度区域范围的句子构建索引,索引包括键和值,其中,键为所述句子的标识,值为与所述句子配对的所有句子的标识组成的列表,两个句子配对是指两个句子的第一语义相似度落入相同第一语义相似度区域范围;遍历键对应的值;遍历值作为键对应的值,直至全部值遍历完成,其中,遍历值作为键对应的值时仅遍历未被访问过的值。
可选地,得到第一细分支聚类结果之后,上述方法还包括:将第一细分支聚类结果中细分支包含的句子的数目小于或等于第二预设阈值细分支作为该部分的最终聚类结果;依据第二语义相似度对第一细分支聚类结果中的细分支包含的句子的数目大于第二预设阈值的细分支做第二次细分支聚类。
可选地,依据第二语义相似度对第一细分支聚类结果中细分支包含的句子的数目大于第二预设阈值的细分支做第二次细分支聚类之前,上述方法还包括:依据第二语义相似度从第一细分支聚类结果中细分支包含的句子的数目大于第二预设阈值的细分支包含的句子中筛选出进行细分支聚类的第三目标句子组成的第三配对集合。
可选地,依据第二语义相似度从第一细分支聚类结果中细分支包含的句子的数目大于第二预设阈值的细分支包含的句子中筛选出进行细分支聚类的第三目标句子组成的第三配对集合,包括:从第二语义相似度的取值范围中选取大于第五相似度阈值的取值范围,作为第五目标取值范围;按照第三间隔区间阈值将第五目标取值范围平均划分为多个第三间隔区间;分别确定落入多个第三间隔区间内的第二语义相似度对应的两两句子;对于各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入第二语义相似度最高的第三间隔区间内的两两句子、和对于各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入第二语义相似度最高的第三间隔区间内的两两句子,分别与其所在的第三间隔区间内不与其他第三间隔区间内两两句子有关联的两两句子共同作为第三目标句子进行配对;得到第三配对集合;各第三间隔区间内不与其他第三间隔区间内两两句子有关联的两两句子为第三间隔区间内任一两两句子中的第一句子或第二句子均不作为其他第三间隔区间内任一两两句子的第一句子或第二句子的两两句子;各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子为各第三间隔区间内的两两句子中的第一句子或第二句子作为其他第三间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
可选地,依据第二语义相似度从第一细分支聚类结果中所述细分支包含的句子的数目大于所述第二预设阈值的细分支包含的句子中筛选出进行细分支聚类的第三目标句子组成的第三配对集合,还包括:S100,从第二语义相似度的取值范围中选取大于第六相似度阈值的取值范围,作为第六目标取值范围;S200,将第六目标取值范围划分为第五区间和第六区间,第五区间的起始值为第六目标取值范围的起始值,第五区间的取值范围与第三阈值相同;S300,分别确定落入第五区间和第六区间内的第二语义相似度对应的两两句子;S400,将第五区间内不与第六区间内两两句子有关联的两两句子作为第三目标句子进行配对,第五区间内不与第六区间内两两句子有关联的两两句子为第五区间内任一两两句子中的第一句子或第二句子均不作为第六区间内任一两两句子的第一句子或第二句子的两两句子;S500,判断第六区间的取值范围是否小于或等于第三阈值,如果判断结果为否,将第六区间作为第六目标取值范围,并重复执行S200至S400;如果判断结果为是,将第六区间内的所有两两句子作为第三目标句子进行配对;S600,得到第三配对集合。
可选地,依据第二语义相似度对第一细分支聚类结果中细分支包含的句子的数目大于第二预设阈值的细分支做第二次细分支聚类,包括:遍历第三配对集合,比较落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子;相同第二语义相似度区域范围为各第三间隔区间,或各第五区间和S500中判断结果为是时的第六区间;如果落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子存在一个相同的句子,将两个第二语义相似度对应的两个两两句子中的三个句子作为第一子类;比较任意两个第一子类,如果任意两个第一子类中存在至少一个相同的句子,将任意两个第一子类划分为第二子类;比较任意两个第二子类,如果任意两个第二子类中存在至少一个相同的句子,将任意两个第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,第二次细分支聚类结束;将不存在相同的句子的所有第N子类作为第二细分支聚类结果中的细分支,其中,N为正整数;如果第二次细分支聚类结果中的细分支包含的句子的数目小于第二预设阈值,输出第二次细分支聚类结果。
可选的,依据第二语义相似度对第一细分支聚类结果中细分支包含的句子的数目大于第二预设阈值的细分支做第二次细分支聚类,包括:遍历第三配对集合,对落入相同第二语义相似度区域范围的句子构建索引,索引包括键和值,其中,键为句子的标识,值为与句子配对的所有句子的标识组成的列表,两个句子配对是指两个句子的第二语义相似度落入相同第二语义相似度区域范围;遍历键对应的值;遍历值作为键对应的值,直至全部值遍历完成,其中,遍历值作为键对应的值时仅遍历未被访问过的值。
根据本申请实施例的另一方面,本申请实施例还提供了一种聚类装置,包括:第一获取模块,用于获取问题数据;第一确定模块,用于确定问题数据中的任意两个句子之间的关键词相似度;第二确定模块,用于确定问题数据中的任意两个句子之间的语义相似度;聚类模块,用于依据关键词相似度和语义相似度对问题数据中的句子进行聚类,并输出聚类结果。
可选地,第一确定模块包括:获取单元,用于获取预设关键词;提取单元,用于从问题数据的句子中提取与预设关键词相同的关键词,得到每个句子的关键词数据集;第一计算单元,用于依据每个句子的关键词数据集计算问题数据中的任意两个句子之间的相似度系数;设置单元,用于将相似度系数作为关键词相似度。
可选地,聚类模块包括:第一聚类单元,用于依据关键词相似度对问题数据中的句子做粗分支聚类,得到问题数据中的句子的粗分支聚类结果;第二聚类单元,依据语义相似度对粗分支聚类结果中的每个粗分支做细分支聚类,得到问题数据中的句子的细分支聚类结果。
可选地,第二确定模块包括:第二计算单元,用于第一模型计算任意两个句子之间语义相似度,得到任意两个句子之间的第一语义相似度,第一模型通过词向量计算两个句子之间的语义相似度;和/或第三计算单元,用于第二模型计算任意两个句子之间语义相似度,得到任意两个句子之间的第二语义相似度,第二模型通过句子向量计算两个句子之间的语义相似度。
可选地,第二计算单元包括:分割子单元,用于将问题数据中的每个句子切分为字符的集合,字符为组成句子的最小单元;提取子单元,用于从第一模型中提取每个句子包括的字符对应的词向量;第一计算子单元,用于对每个句子包括的字符对应的词向量进行加权平均计算,得到每个句子对应的词向量;第二计算子单元,用于依据每个句子对应的词向量分别计算任意两个句子之间的余弦相似度,得到任意两个句子之间的第一语义相似度。
可选地,第三计算单元包括:编码子单元,用于利用第二模型分别对任意两个句子进行编码,得到任意两个句子中第一句子对应的向量和任意两个句子中第二句子对应的向量;第三计算子单元,用于将第一句子对应的向量和第二句子对应的向量进行矩阵内积计算,得到任意两个句子之间的第二语义相似度。
可选地,第二模型为加和边界归一化指数函数模型,第三计算单元还包括:训练子单元,用于利用门控循环单元替换加和边界归一化指数函数模型中的卷积神经网络;利用预设问答数据集对加和边界归一化指数函数模型进行训练,直至加和边界归一化指数函数模型收敛。
可选地,上述装置还包括:第一筛选模块,用于依据关键词相似度从问题数据的句子中筛选出进行粗分支聚类的第一目标句子组成的第一配对集合。
可选地,第一筛选模块用于执行以下步骤:从关键词相似度的取值范围中选取大于第一相似度阈值的取值范围,作为第一目标取值范围;按照第一间隔区间阈值将第一目标取值范围平均划分为多个第一间隔区间;分别确定落入多个第一间隔区间内的关键词相似度对应的两两句子;对于各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入关键词相似度最高的第一间隔区间内的两两句子、和对于各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入关键词相似度最高的第一间隔区间内的两两句子,分别与其所在的第一间隔区间内不与其他第一间隔区间内两两句子有关联的两两句子共同作为第一目标句子进行配对;得到第一配对集合;各第一间隔区间内不与其他第一间隔区间内两两句子有关联的两两句子为第一间隔区间内任一两两句子中的第一句子或第二句子均不作为其他第一间隔区间内任一两两句子的第一句子或第二句子的两两句子;各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子为各第一间隔区间内的两两句子中的第一句子或第二句子作为其他第一间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
可选地,第一筛选模块还用于执行以下步骤:S1,从关键词相似度的取值范围中选取大于第二相似度阈值的取值范围,作为第二目标取值范围;S2,将第二目标取值范围划分为第一区间和第二区间,第一区间的起始值为第二目标取值范围的起始值,第一区间的取值范围与第一阈值相同;S3,分别确定落入第一区间和第二区间内的关键词相似度对应的两两句子;S4,将第一区间内不与第二区间内两两句子有关联的两两句子作为第一目标句子进行配对,第一区间内不与第二区间内两两句子有关联的两两句子为第一区间内任一两两句子中的第一句子或第二句子均不作为第二区间内任一两两句子的第一句子或第二句子的两两句子;S5,判断第二区间的取值范围与是否小于或等于第一阈值,如果判断结果为否,将第二区间作为第二目标取值范围,并重复执行S2至S4;如果判断结果为是,将第二区间内的所有两两句子作为第一目标句子进行配对;S6,得到第一配对集合。
可选地,第一聚类单元用于执行以下步骤:遍历第一配对集合,比较落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子;相同关键词相似度区域范围为各第一间隔区间,或各第一区间和S5中判断结果为是时的第二区间;如果落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子存在一个相同的句子,将两个关键词相似度对应的两个两两句子中的三个句子作为第一子类;比较任意两个第一子类,如果任意两个第一子类中存在至少一个相同的句子,将任意两个第一子类划分为第二子类;比较任意两个第二子类,如果任意两个第二子类中存在至少一个相同的句子,将任意两个第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,粗分支聚类结束;将不存在相同的句子的所有第N子类作为粗分支聚类结果中的粗分支,其中,N为正整数。
可选地,第一聚类单元还用于执行以下步骤:遍历第一配对集合,对落入相同关键词相似度区域范围的句子构建索引,索引包括键和值,其中,键为句子的标识,值为与句子配对的所有句子的标识组成的列表,两个句子配对是指两个句子的关键词相似度落入相同关键词相似度区域范围;遍历键对应的值;遍历值作为键对应的值,直至全部值遍历完成,其中,遍历值作为键对应的值时仅遍历未被访问过的值。
可选地,第一聚类单元,还用于依据关键词相似度对问题数据中的句子做粗分支聚类,得到问题数据中的句子的粗分支聚类结果;第一判断单元,判断粗分支包含的句子的数目是否小于等于第一预设阈值;将粗分支聚类结果中粗分支包含的句子的数目小于或等于第一预设阈值的粗分支作为该部分的最终聚类结果;第二聚类单元,还用于依据语义相似度对粗分支聚类结果中粗分支包含的句子的数目大于第一预设阈值的粗分支做细分支聚类,得到相应部分的细分支聚类结果。
可选地,第二聚类单元用于依据语义相似度对粗分支聚类结果中的每个粗分支做细分支聚类,语义相似度包括第一语义相似度和/或第二语义相似度。
可选地,上述装置还包括:第二筛选模块,用于依据第一语义相似度从粗分支包含的句子中筛选出进行细分支聚类的第二目标句子组成的第二配对集合。
可选地,第二筛选模块用于执行以下步骤:从第一语义相似度的取值范围中选取大于第三相似度阈值的取值范围,作为第三目标取值范围;按照第二间隔区间阈值将第三目标取值范围平均划分为多个第二间隔区间;分别确定落入多个第二间隔区间内的第一语义相似度对应的两两句子;对于各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入第一语义相似度最高的第二间隔区间内的两两句子、和对于各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入第一语义相似度最高的第二间隔区间内的两两句子,分别与其所在的第二间隔区间内不与其他第二间隔区间内两两句子有关联的两两句子共同作为第二目标句子进行配对;得到第二配对集合;各第二间隔区间内不与其他第二间隔区间内两两句子有关联的两两句子为第二间隔区间内任一两两句子中的第一句子或第二句子均不作为其他第二间隔区间内任一两两句子的第一句子或第二句子的两两句子;各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子为各第二间隔区间内的两两句子中的第一句子或第二句子作为其他第二间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
可选地,第二筛选模块还用于执行以下步骤:S10,从第一语义相似度的取值范围中选取大于第四相似度阈值的取值范围,作为第四目标取值范围;S20,将第四目标取值范围划分为第三区间和第四区间,第三区间的起始值为第四目标取值范围的起始值,第三区间的取值范围与第二阈值相同;S30,分别确定落入第三区间和第四区间内的第一语义相似度对应的两两句子;S40,将第三区间内不与第四区间内两两句子有关联的两两句子作为第二目标句子进行配对,第三区间内不与第四区间内两两句子有关联的两两句子为第三区间内任一两两句子中的第一句子或第二句子均不作为第四区间内任一两两句子的第一句子或第二句子;S50,判断第四区间的取值范围是否小于或等于第二阈值,如果判断结果为否,将第四区间作为第四目标取值范围,并重复执行S20至S40;如果判断结果为是,将第四区间内的所有两两句子作为第二目标句子进行配对;S60,得到第二配对集合。
可选地,第二聚类单元还用于执行以下步骤:遍历第二配对集合,比较落入相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子;相同第一语义相似度区域范围为各第二间隔区间,或各第三区间和S50中判断结果为是时的第四区间;如果相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子存在一个相同的句子,将两个第一语义相似度对应的两个两两句子中的三个句子作为第一子类;比较任意两个第一子类,如果任意两个第一子类中存在至少一个相同的句子,将任意两个第一子类划分为第二子类;比较任意两个第二子类,如果任意两个第二子类中存在至少一个相同的句子,将任意两个第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,细分支聚类结束;将不存在相同的句子的所有第N子类作为第一细分支聚类结果中的细分支,其中,N为正整数。
可选的,第二聚类单元还用于执行以下步骤,遍历第二配对集合,对落入相同第一语义相似度区域范围的句子构建索引,索引包括键和值,其中,键为句子的标识,值为与句子配对的所有句子的标识组成的列表,两个句子配对是指两个句子的第一语义相似度落入相同第一语义相似度区域范围;遍历所述键对应的值;遍历值作为键对应的值,直至全部值遍历完成,其中,遍历值作为键对应的值时仅遍历未被访问过的值。
可选地,上述第二聚类单元还用于执行以下步骤:第二判断单元,用于判断第一细分支聚类结果中的细分支包含的句子的数目是否小于等于第二预设阈值;将第一细分支聚类结果中的细分支包含的句子的数目小于等于第二预设阈值的细分支作为该部分的最终聚类结果;依据第二语义相似度对第一细分支聚类结果中细分支包含的句子的数目大于第二预设阈值的细分支做第二次细分支聚类。
可选地,装置还包括:第三筛选模块,用于依据第二语义相似度从第一细分支聚类结果中细分支包含的句子的数目大于第二预设阈值的细分支包含的句子中筛选出进行细分支聚类的第三目标句子组成的第三配对集合。
可选地,第三筛选模块用于执行以下步骤:从第二语义相似度的取值范围中选取大于第五相似度阈值的取值范围,作为第五目标取值范围;按照第三间隔区间阈值将第五目标取值范围平均划分为多个第三间隔区间;分别确定落入多个第三间隔区间内的第二语义相似度对应的两两句子;对于各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入第二语义相似度最高的第三间隔区间内的两两句子、和对于各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入第二语义相似度最高的第三间隔区间内的两两句子,分别与其所在的第三间隔区间内不与其他第三间隔区间内两两句子有关联的两两句子共同作为第三目标句子进行配对;得到第三配对集合;各第三间隔区间内不与其他第三间隔区间内两两句子有关联的两两句子为第三间隔区间内任一两两句子中的第一句子或第二句子均不作为其他第三间隔区间内任一两两句子的第一句子或第二句子的两两句子;各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子为各第三间隔区间内的两两句子中的第一句子或第二句子作为其他第三间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
可选地,第三筛选模块还用于执行以下步骤:S100,从第二语义相似度的取值范围中选取大于第六相似度阈值的取值范围,作为第六目标取值范围;S200,将第六目标取值范围划分为第五区间和第六区间,第五区间的起始值为第六目标取值范围的起始值,第五区间的取值范围与第三阈值相同;S300,分别确定落入第五区间和第六区间内的第二语义相似度对应的两两句子;S400,将第五区间内不与第六区间内两两句子有关联的两两句子作为第三目标句子进行配对,第五区间内不与第六区间内两两句子有关联的两两句子为第五区间内任一两两句子中的第一句子或第二句子均不作为第六区间内任一两两句子的第一句子或第二句子的两两句子;S500,判断第六区间的取值范围是否小于或等于第三阈值,如果判断结果为否,将第六区间作为第六目标取值范围,并重复执行S200至S400;如果判断结果为是,将第六区间内的所有两两句子作为第三目标句子进行配对;S600,得到第三配对集合。
可选地,第二聚类单元还用于执行以下步骤:遍历第三配对集合,比较落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子;相同第二语义相似度区域范围为各第三间隔区间,或各第五区间和S500中判断结果为是时的第六区间;如果落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子存在一个相同的句子,将两个第二语义相似度对应的两个两两句子中的三个句子作为第一子类;比较任意两个第一子类,如果任意两个第一子类中存在至少一个相同的句子,将任意两个第一子类划分为第二子类;比较任意两个第二子类,如果任意两个第二子类中存在至少一个相同的句子,将任意两个第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,第二次细分支聚类结束;将不存在相同的句子的所有第N子类作为第二细分支聚类结果中的细分支,其中,N为正整数;如果第二次细分支聚类结果中的细分支包含的句子的数目小于第二预设阈值,输出第二细分支聚类结果。
可选的,上述第二聚类单元还用于执行以下步骤获得第二次细分支聚类结果:遍历第三配对集合,对落入相同第二语义相似度区域范围的句子构建索引,索引包括键和值,其中,键为句子的标识,值为与句子配对的所有句子的标识组成的列表,两个句子配对是指两个句子的第二语义相似度落入相同第二语义相似度区域范围;遍历键对应的值;遍历值作为键对应的值,直至全部值遍历完成,其中,遍历值作为键对应的值时仅遍历未被访问过的值。
根据本申请实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行权利以上的聚类方法。
根据本申请实施例的再一方面,还提供了一种处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行以上的聚类方法。
在本申请实施例中,采用获取问题数据;确定问题数据中的任意两个句子之间的关键词相似度;确定问题数据中的任意两个句子之间的语义相似度;依据关键词相似度和语义相似度对问题数据中的句子进行聚类,并输出聚类结果的方式,从而实现整个聚类流程,从而实现了大大提升了特定领域文本的聚类效果的技术效果,进而解决了特定领域中句子与句子之间的无监督相似度聚类,聚类结果的精确度较低和稳定性差的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种聚类方法的流程图;
图2a是根据本申请实施例的一种筛选进行粗分支聚类的句子的配对集合的示意图;
图2b是根据本申请实施例的一种聚类函数算法的示意图;
图3是根据本申请实施例的另一种聚类方法的流程图;
图4a是利用关键词相似度进行梯度阈值区间的层次聚类(粗分支聚类)的示意图;
图4b是利用语义相似度进行梯度阈值区间的层次聚类(细分支聚类)的示意图;
图5是根据本申请实施例的一种聚类装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例,提供了一种聚类方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
聚类:将物理或抽象对象的集合分成由类似的对象组成的多个类别的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。
k-means聚类算法:也称为k均值聚类算法,是一种迭代求解的聚类分析算法,其步骤是,预将数据分为k组,随机选取k个对象作为初始聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。
Jaccard系数:又称为杰卡德相似度系数,用于比较有限样本集之间的相似性与差异性,Jaccard系数值越大,样本相似度越高。
图1是根据本申请实施例的一种聚类方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取问题数据。
需要说明的是,本申请实施例提供的聚类方法的适用特定/专业技术领域(与开放领域相对),例如:饮食类、运动类、二手车租赁、计算机……,范围较窄,经常出现专业名词。例如:I型糖尿病、II型糖尿病用开放领域很可能聚类在一起,但在专业领域,差别非常明显。
上述问题数据涉及医疗信息,例如,“II型糖尿病会遗传吗?”,“可能会遗传,如果父母中有一方有糖尿病,子女发生糖尿病的可能性约为40%;如果父母双方都有糖尿病,那么子女发生糖尿病的可能性会增加至70%。另外,父母发生糖尿病的年龄越早,子女得糖尿病的可能性越大”。
步骤S104,确定问题数据中的任意两个句子之间的关键词相似度。
步骤S106,确定问题数据中的任意两个句子之间的语义相似度。
步骤S108,依据关键词相似度和语义相似度对问题数据中的句子进行聚类,并输出聚类结果。
通过上述步骤,通过关键词确定句子之间的关键词相似度、然后利用bert、AM-softmax确定句子之间的语义相似度,从而实现整个聚类流程,从而实现了大大提升了特定领域文本的聚类效果的技术效果,使得聚类结果精确性高、稳定性好。
根据本申请的一个可选的实施例,步骤S104通过以下方法实现:获取预设关键词;从问题数据的句子中提取与预设关键词相同的关键词,得到每个句子的关键词数据集;依据每个句子的关键词数据集计算问题数据中的任意两个句子之间的相似度系数;将相似度系数作为关键词相似度。
由于采用的是特定领域的问答数据集,具有专业的背景知识对于特定领域来说是非常重要的。在一个优选的实施方式中,由特定领域的专家根据其专业知识和工作经验提供关键词,从而获得关键词集合(库)。对照关键词集合(库)将每句文本中的关键词提取出来,得到每个句子的关键词数据集。具体实施时,可将专家提供的关键词存储在预设的数据库(即关键词集合(库))中。通过这种方式获取关键词可以实现提高特定领域专有术语的辨识度的技术效果,使其在聚类中起到更重要的作用。
例如,涉及医疗信息的以下关键词:“I型”、“II型”、“糖尿病”、“糖尿病足”、“血糖指数”、“视网膜病变”、“成年发病型”、“胃肠神经病”等。
在本步骤中,依据预设的关键词从待聚类的句子中提取出关键词,然后依据提取的关键词对任意两个句子进行jaccard相似度系数计算,再将jaccard系数低于0.5(即上文中的第一预设阈值,该预设阈值可以根据需要更改,比如0.55、0.4、0.6、0.7……)的结果去除,得到两两句子之间的相似度得分。jaccard系数主要用于比较样本集之间的相似性与差异性,jaccard系数值越大,两两样本之间的相似度越高,其公式为:
本实施例提供的上述关键词相似度计算方法,以问答数据的“问题”数据为待聚类数据,利用专家提供关键词组计算两两句子之间的相似度,最终输出两两句子之间的相似度得分。
在本申请的另一个可选的实施例中,在提取“问题”数据的关键词之后,给关键词赋予权值再进行关键词相似度计算。
在本申请的一个可选的实施例中,除了关键词的统计方式方法外,还可以统计词频-逆向文本频率指数(term frequency-inverse document frequency,tf-idf),再计算两两句子间的相似度。
关键词相似度计算,除了上文采用的jaccard相似度,在其他实施例中,关键词相似度计算也可以使用其他相似度计算方式,包括曼哈顿距离(Manhattan Distance)、皮尔逊相关系数(Pearson correlation coefficient),戴斯相似性系数(Dice similaritycoefficient)等。
在本申请的一个可选的实施例中,步骤S108通过以下方法实现:依据关键词相似度对问题数据中的句子做粗分支聚类,得到问题数据中的句子的粗分支聚类结果;依据语义相似度对粗分支聚类结果中的每个粗分支做细分支聚类,得到问题数据中的句子的细分支聚类结果。
在本申请的一些可选的实施例中,步骤S106可以通过以下方法实现:利用第一模型计算任意两个句子之间语义相似度,得到任意两个句子之间的第一语义相似度,第一模型通过词向量计算两个句子之间的语义相似度;利用第二模型计算任意两个句子之间语义相似度,得到任意两个句子之间的第二语义相似度,第二模型通过句子向量计算两个句子之间的语义相似度。
如果单纯使用关键词相似度,会受限于关键词的数量,在后续步骤中做聚类时结果好坏不可控,因此需要再次利用问答数据的“问题”计算两两句子之间的语义相似度,输出两种语义相似度得分用于下一步分析,分别是采用bert模型(上述第一模型)通过词向量计算两个句子之间的语义相似度和AM-softmax模型(上述第二模型)通过句子向量计算两个句子之间的语义相似度。
bert(Bidirectional Encoder Representations from Transformers),即基于双向转换的编码表达模型,通过字符级别词向量计算两个句子之间的语义相似度。
AM-softmax(Additive Margin Softmax),也称为加和边界归一化指数函数,通过句子向量计算两个句子之间的语义相似度。
根据本申请的一个可选的实施例,利用第一模型计算任意两个句子之间语义相似度,包括以下步骤:将问题数据中的每个句子切分为字符的集合,字符为组成句子的最小单元;从第一模型中提取每个句子包括的字符对应的词向量;对每个句子包括的字符对应的词向量进行加权平均计算,得到每个句子对应的词向量;依据每个句子对应的词向量分别计算任意两个句子之间的余弦相似度,得到任意两个句子之间的第一语义相似度。
利用bert模型计算句子的语义相似度,先对问答数据的“问题”数据集进行字符切割,将每个句子都切分为字的合集,并计算得到其bert词向量。例如“如何锻炼”,切分为“如”、“何”、“锻”、“炼”4个字的合集;再从bert预训练中文模型中直接提取这4个字符的词向量,对其进行加权平均得到该句子的bert词向量。所有句子分别进行这个过程,得到每个句子的bert词向量。然后用句子的bert词向量计算两两之间的余弦相似度(CosineSimilarity),作为后续聚类步骤的输入。
根据本申请的一个可选的实施例,语义相似度计算,除了余弦相似度,可替代余弦相似度的有:欧式距离(Euclidean Distance)、曼哈顿距离(Manhattan Distance)、皮尔逊相关系数(Pearson correlation coefficient)。
bert模型是基于双向转换编码器的大规模预训练语言模型,该模型不需要再进行训练,可直接使用提取字符词向量。
在本申请的另一个可选的实施例中,利用第二模型计算任意两个句子之间语义相似度,包括以下步骤:利用第二模型分别对任意两个句子进行编码,得到任意两个句子中第一句子对应的向量和任意两个句子中第二句子对应的向量;将第一句子对应的向量和第二句子对应的向量进行矩阵内积计算,得到任意两个句子之间的第二语义相似度。
根据本申请的一个可选的实施例,第二模型为加和边界归一化指数函数模型,利用第二模型分别对任意两个句子进行编码之前,上述方法还包括:利用门控循环单元替换加和边界归一化指数函数模型中的卷积神经网络;利用预设问答数据集对加和边界归一化指数函数模型进行训练,直至加和边界归一化指数函数模型收敛。
AM-softmax模型常用于人脸识别领域,目前普遍以人脸图像的数据作为训练数据集训练模型,用来识别人脸之间的相似度。但在自然语言处理领域的句子相似度场景中应用较少。为了使得AM-softmax模型在语义聚类中有更好的效果,我们通过RNN(循环神经网络,Recurrent Neural Network)的变体GRU(门控循环单元,Gated Recurrent Unit)替换模型中的CNN(卷积神经网络,Convolutional Neural Networks),使之能在文本数据上可训练。
在一个具体实施例中,首先采用paralex数据集(语义驱动的开源问答数据集)翻译成中文,得到120万的短文本数据,训练AM-softmax模型,模型的训练第20个epoch(轮)左右收敛可达到最优,用该模型来编码我们的目标文本数据,使每个句子得到固定长度的向量。例如,句子A和句子B分别经过AM-softmax模型的编码,得到向量VA=(a1,a2...ai...an)i∈{1,...,n};VB=(b1,b2...bi...bn),i∈{1,...,n},其中n为向量长度;由公式将句子A和B的向量进行矩阵内积,可以得到两个句子间的相似度。
需要说明的是,除了bert模型和AM-softmax模型外,在其他实施方式中,可采用词向量模型(word to vector,word2vec)、词表示的全局向量模型(Glove,Global Vectorsfor Word Representation)进行语义相似度计算。
根据本申请的一个可选的实施例,依据关键词相似度对问题数据中的句子做粗分支聚类之前,还需要依据关键词相似度从问题数据的句子中筛选出进行粗分支聚类的第一目标句子组成的第一配对集合。
根据本申请的一个可选的实施例,依据关键词相似度从问题数据的句子中筛选出进行粗分支聚类的第一目标句子组成的第一配对集合,通过以下方法实现:从关键词相似度的取值范围中选取大于第一相似度阈值的取值范围,作为第一目标取值范围;按照第一间隔区间阈值将第一目标取值范围平均划分为多个第一间隔区间;分别确定落入多个第一间隔区间内的关键词相似度对应的两两句子;对于各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入关键词相似度最高的第一间隔区间内的两两句子、和对于各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入关键词相似度最高的第一间隔区间内的两两句子,分别与其所在的第一间隔区间内不与其他第一间隔区间内两两句子有关联的两两句子共同作为第一目标句子进行配对;得到第一配对集合;各第一间隔区间内不与其他第一间隔区间内两两句子有关联的两两句子为第一间隔区间内任一两两句子中的第一句子或第二句子均不作为其他第一间隔区间内任一两两句子的第一句子或第二句子的两两句子;各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子为各第一间隔区间内的两两句子中的第一句子或第二句子作为其他第一间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
在本步骤中,从问题数据的句子中筛选出能进行粗分支聚类的句子的配对集合。图2a是根据本申请实施例的一种筛选进行粗分支聚类的句子的配对集合的示意图,如图2a所示:
共a、b、c、d、e、f、g5个句子,其中,a和b的关键词相似度为0.9,a和c的关键词相似度为0.95,c和d的关键词相似度为0.7,d和e的关键词相似度为0.8,e和f的关键词相似度为0.66,f和g的关键词相似度为0.95。
首先,从关键词相似度的取值范围中选取第一目标取值范围(即图2a中的0.6-1,需要说明的是,第一目标取值范围不固定,也可以是其他取值范围,例如,0.4-1,),然后按照第一间隔区间阈值(0.1)将第一目标取值范围平均划分为多个第一间隔区间(图2a中的0.6-0.7,0.7-0.8,…,0.9-1)。
然后,确定每个第一间隔区间内的关键词相似度对应的两两句子,如图2a所示,e和f的关键词相似度为0.66,落入第一间隔区间(0.6-0.7),c和d的关键词相似度为0.7,落入第一间隔区间(0.7-0.8),d和e的关键词相似度为0.8,落入第一间隔区间(0.8-0.9),a和b、a和c以及f和g落入第一间隔区间(0.9-1)。
如果在多个第一间隔区间内存在与两两句子中的第一句子或第二句子的关键词相似度大于两两句子的关键词相似度的句子,将该句子和两两句子中的第一句子或第二句子作为第一目标句子进行配对。e和f的关键词相似度为0.66,落入第一间隔区间(0.6-0.7),但是f和g落入第一间隔区间(0.9-1),即存在句子g与句子f的关键词相似度大于e和f的关键词相似度,此时,只需要保留g和f配对即可。
如果在多个第一间隔区间内不存在与两两句子中的第一句子或第二句子的关键词相似度大于两两句子的关键词相似度的句子,将两两句子作为第一目标句子进行配对d和e的关键词相似度为0.8,在其他第一间隔区间内,不存在其他句子与d或者e的关键词相似度大于d和e的关键词相似度,此时,保留d和e进行配对。
在本申请的另一个可选的实施例中,依据关键词相似度从问题数据的句子中筛选出进行粗分支聚类的第一目标句子组成的第一配对集合,还可以通过以下方法实现:
S1,从关键词相似度的取值范围中选取大于第二相似度阈值的取值范围,作为第二目标取值范围;
S2,将第二目标取值范围划分为第一区间和第二区间,第一区间的起始值为第二目标取值范围的起始值,第一区间的取值范围与第一阈值相同;
S3,分别确定落入第一区间和第二区间内的关键词相似度对应的两两句子;
S4,将第一区间内不与第二区间内两两句子有关联的两两句子作为第一目标句子进行配对,第一区间内不与第二区间内两两句子有关联的两两句子为第一区间内任一两两句子中的第一句子或第二句子均不作为第二区间内任一两两句子的第一句子或第二句子的两两句子;
需要说明的是,在本步骤中,存在关联关系是指两个句子之间的关键词相似度落入第一区间或第二区间,例如,句子B和句子C的关键词相似度落入第一区间,句子A和句子B的关键词相似度落入第二区间,那么,句子B和句子C之间存在关联关系,句子A和句子B之间也存在关联关系。
S5,判断第二区间的取值范围与是否小于或等于第二间隔区间阈值,如果判断结果为否,将第二区间作为第二目标取值范围,并重复执行S2至S4;如果判断结果为是,将第二区间内的所有两两句子作为第一目标句子进行配对;
S6,得到第一配对集合。
本实施例提供的方法和图2a所示的方法的区别在于,按照第一间隔区间阈值(0.1)将第一目标取值范围平均划分为两个区间(0.6-0.7和0.7-1)。
然后分别确定第一区间和第二区间内的关键词相似度对应的两两句子,以图2a所示的句子为例,e和f落入第一区间(0.6-0.7),其他句子对均落入第二区间(0.7-1),在第二区间中存在f和g的关键词相似度大于e和f的关键词相似度(即存在与e和f有关联关系的句子),此时,不能保留e和f进行配对,还需要继续对第二区间进行划分。
然后将第二区间(0.7-1)划分为新的第一区间(0.7-0.8)和新的第二区间(0.8-1),c和d落入新的第一区间,其他句子对落入新的第二区间,在新的第二区间存在d和e的关键词相似度大于c和d的关键词相似度,以及a和c的关键词相似度大于c和d的关键词相似度(即存在与c和d有关联关系的句子),此时,不能保留c和d进行配对,还需要对新的第二区间新的第二目标取值范围进行划分,即重复执行S2至S4的步骤。
以此类推,将新的第二区间划分为第三个第一区间(0.8-0.9)和第三个第二区间(0.9-1.0),d和e落入第三个第一区间,其他句子对落入第三个第二区间,在第三个第二区间不存与d和e有关联关系的句子,此时可以保留落入第三个第一区间的d和e进行配对。
另外,此时第三个第一区间和第三个第二区间的取值范围(0.1)均和第一间隔区间阈值(0.1)相同,说明区间已经划分结束,将落入第三个第二区间的句子对进行配对(需要说明的是,判断区间是否划分结束的条件并不一定是最后一个第二区间,本实施例中是第三个第二区间的取值范围和第一间隔区间阈值相同,在实际判断时,每次划分完第一区间和第二区间后,判断第二区间是否小于或等于第一间隔区间阈值,如果判断结果为是,说明区间已经划分完成)。
本实施例提供的方法相对于图2a所示的实施例提供的方法可以减小运算量,由于图2a所示的方法在从每个第一间隔区间中筛选目标句子时均需要与其他第一间隔区间内的句子进行比较,而本实施例提供的方法中,在从第一区间中筛选目标句子时只需要与第二区间内的句子进行比较,在从新的第一区间中筛选目标句子时只需要与新的第二区间内的句子进行比较,可以大大减少计算量,有效地提高了运算效率,提高筛选目标句子的速度。
根据本申请的一个可选的实施例,依据关键词相似度对问题数据中的句子做粗分支聚类,通过以下方法实现:遍历第一配对集合,比较落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子;相同关键词相似度区域范围为各第一间隔区间,或各第一区间和步骤S5中判断结果为是时的第二区间;如果落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子存在一个相同的句子,将两个关键词相似度对应的两个两两句子中的三个句子作为第一子类;比较任意两个第一子类,如果任意两个第一子类中存在至少一个相同的句子,将任意两个第一子类划分为第二子类;比较任意两个第二子类,如果任意两个第二子类中存在至少一个相同的句子,将任意两个第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,粗分支聚类结束;将不存在相同的句子的所有第N子类作为粗分支聚类结果中的粗分支,其中,N为正整数。
在本步骤中,比较任意两个关键词相似度在第一间隔区间内的两两句子,若任意两个关键词相似度在第一间隔区间内的两两句子存在一个相同的句子,则将该两个两两句子共三个句子归为第一小类,遍历所有在所述第一间隔区间内的两两句子与两两句子的关系,获得所有具有相同句子的两个两两句子分别归为第一小类,将所有第一小类中,具有至少一个句子相同的第一小类归为第二小类,获得所有的第二小类,将所有第二小类中,具有至少一个句子相同的句子归为第三小类,以此类推,直到任意两个第N小类中均没有相同的句子,聚类结束,第N小类为粗分支,N为正整数。
图2b是根据本申请实施例的一种聚类函数算法的示意图,如图2b所示,
在相同关键词相似度区域范围内(如图2a中的相似度区间0.6-0.7内、0.7-0.8内或其他相似度系数的区域区间内),能串上的句子聚在一起(即两两相似度系数均在该区间内的句子与句子聚为一类,如图2b,图2-1为文本集合,即所有要聚类的句子;图2-2为在相似度系数在某个区间的所有两两句子(例如相似度系数都在0.4-0.5范围内的),遍历所有相似度系数在该区间的两两句子,聚类的结果如图2-5,所有能串在一起的句子聚为一类,如图2-2所示,a1和a2,a3和a2,a4和a1的相似度系数均在该区间范围内,两两句子对a1和a2,a3和a2的相似度系数位于同一个间隔区间内,由于这两个两两句子对存在相同的句子a2,将a1,a2和a3归为第一小类。两两句子对a1和a2,a4和a1的相似度系数位于同一个间隔区间内,由于这两个两两句子对存在相同的句子a1,将a1,a2和a4也归为第一子类。然后比较这两个第一子类,发现这两个第一子类中存在相同的句子a1和a2,将这两个第一子类归为一类(a1,a2,a3,a4)。
在本申请的一个可选的实施例中,依据关键词相似度对问题数据中的句子做粗分支聚类,通过以下步骤实现:遍历第一配对集合,对落入相同关键词相似度区域范围的关键词相似度对应的句子构建索引,索引包括键和值,其中,键为句子的标识,值为与句子配对的所有句子的标识组成的列表,两个句子配对是指两个句子的关键词相似度落入相同关键词相似度区域范围;遍历键对应的值;遍历值作为键对应的值,直至全部值遍历完成,其中,遍历值作为键对应的值时仅遍历未被访问过的值。
在本步骤中,首先定义基础的聚类函数,将其表示为“聚类函数G”,该函数用于基本的聚类。
有文本(这里的文本是指问题数据集中的句子)id集合A={a1,...,an},n是文本总数量,文本id配对集合X,其中{ai,aj}表示文本ai和文本aj的id配对,因此X表示用于聚类的两两配对文本id的集合。
以X作为输入运行基本聚类函数G,得到聚类集合Y。Y=G(X)={y1,y2,...yk},k∈{1,...,m};其中m表示子类个数,yk表示文本id聚类的一个子类(子集合),
如果需要根据相似度阈值f过滤掉相似度低于f的配对集合,可表示为:
YA,S>f=G(XA,S>f)={y(A,S>f),1,y(A,S>f),2,...,y(A,S>f),k,...,y(A,S>f),m},k∈{1,...,m},其中m表示子类个数;y(A,S>f),k表示将文本集合A,过滤掉低于相似度f的配对集后,运行基本聚类函数G得到的第k个子类(子集合)。
图2b的全部内容(图2-1、图2-2、图2-3、图2-4和图2-5)为本发明的一个优选实施例,即在图2-3和2-4,根据键-值,不断访问未访问的值,直到没有相关的值为止,如图2-4所示,访问过的key将变成灰色,不能再访问,最终获得图2-5的聚类结果。采用“根据键-值,不断访问未访问的值”的方法取得的有益效果为可以极大的减少计算量,有效地提交运算效率。
在本步骤中,筛选出符合相似度阈值的两两文本对id的集合X,遍历并对每个文本id构建索引,键是自身文本id,值是与其配对的文本id列表,以哈希的“键-值”的形式存储。因此每个文本id既是键,同时也是其他文本id的值列表单元之一。通过进入键,从键里进入未访问的值的单元(也是文本id),再进入该单元作为键所在的值,不断的递归,直到所有值的单元都被访问了一次,但不能二次访问,返回所有被访问的值单元,就是一个聚合的子类yk。继续遍历下一个哈希的键,所有值仅需要遍历一次,就能得到所有的子类Y。时间复杂度为O(n)。
根据本申请的一个可选的实施例,依据关键词相似度和语义相似度对问题数据中的句子进行聚类具体为:依据关键词相似度对问题数据中的句子做粗分支聚类,得到问题数据中的句子的粗分支聚类结果;将粗分支聚类结果中粗分支包含的句子的数目小于或等于第一预设阈值的粗分支作为该部分的最终聚类将结果;依据语义相似度对粗分支聚类结果中粗分支包含的句子的数目大于第一预设阈值的粗分支做细分支聚类,得到相应部分的细分支聚类结果。
本实施例中,限定粗分支类句子的个数(子类小类句子限定数r=10),若粗分支的句子数目小于等于10,那么该粗分支的聚类结束,该粗分支聚类结果即为该分支下的最终的聚类结果。若粗分支的句子数目大于10,还需要依据语义相似度对相应的粗分支聚类结果中粗分支包含的句子的数目大于第一预设阈值的粗分支,做细分支聚类,得到相应部分的细分支聚类结果。
根据本申请的一个可选的实施例,依据语义相似度对粗分支聚类结果中粗分支包含的句子的数目大于第一预设阈值的粗分支做细分支聚类,得到相应部分的细分支聚类结果,包括:依据语义相似度对粗分支聚类结果中的每个粗分支做细分支聚类,语义相似度包括第一语义相似度和/或第二语义相似度。
在本步骤中,做细分支聚类时,可以仅利用第一语义相似度做细分支聚类,也可以仅利用第二语义相似度做细分支聚类,还可以利用第一语义相似度和第二语义相似度共同做细分支聚类,利用第一语义相似度和第二语义相似度共同做细分支聚类时,可互为先后顺序做细分支聚类。下文中进行详细说明。
根据本申请的一个可选的实施例,依据语义相似度对粗分支聚类结果中粗分支包含的句子的数目大于第一预设阈值的粗分支做细分支聚类,得到相应部分的细分支聚类结果,包括:依据第一语义相似度从粗分支包含的句子中筛选出进行细分支聚类的第二目标句子组成的第二配对集合。
根据本申请的一个可选的实施例,依据第一语义相似度从粗分支包含的句子中筛选出进行细分支聚类的第二目标句子组成的第二配对集合,包括:从第一语义相似度的取值范围中选取大于第三相似度阈值的取值范围,作为第三目标取值范围;按照第二间隔区间阈值将第三目标取值范围平均划分为多个第二间隔区间;分别确定落入多个第二间隔区间内的第一语义相似度对应的两两句子;对于各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入第一语义相似度最高的第二间隔区间内的两两句子、和对于各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入第一语义相似度最高的第二间隔区间内的两两句子,分别与其所在的第二间隔区间内不与其他第二间隔区间内两两句子有关联的两两句子共同作为第二目标句子进行配对;得到第二配对集合;各第二间隔区间内不与其他第二间隔区间内两两句子有关联的两两句子为第二间隔区间内任一两两句子中的第一句子或第二句子均不作为其他第二间隔区间内任一两两句子的第一句子或第二句子的两两句子;各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子为各第二间隔区间内的两两句子中的第一句子或第二句子作为其他第二间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
可选地,依据第一语义相似度从粗分支包含的句子中筛选出进行细分支聚类的第二目标句子组成的第二配对集合,还包括:S10,从第一语义相似度的取值范围中选取大于第四相似度阈值的取值范围,作为第四目标取值范围;S20,将第四目标取值范围划分为第三区间和第四区间,第三区间的起始值为第四目标取值范围的起始值,第三区间的取值范围与第二阈值相同;S30,分别确定落入第三区间和第四区间内的第一语义相似度对应的两两句子;S40,将第三区间内不与第四区间内两两句子有关联的两两句子作为第二目标句子进行配对,第三区间内不与第四区间内两两句子有关联的两两句子为第三区间内任一两两句子中的第一句子或第二句子均不作为第四区间内任一两两句子的第一句子或第二句子;S50,判断第四区间的取值范围是否小于或等于第二阈值,如果判断结果为否,将第四区间作为新的第四目标取值范围,并重复执行S20至S40;如果判断结果为是,将第四区间内的所有两两句子作为第二目标句子进行配对;S60,得到第二配对集合。
可选地,依据语义相似度对粗分支聚类结果中的每个粗分支做细分支聚类,包括:遍历第二配对集合,比较落入相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子;相同第一语义相似度区域范围为各第二间隔区间,或各第三区间和步骤S50中判断结果为是时的第四区间;如果落入相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子存在一个相同的句子,将两个第一语义相似度对应的两个两两句子中的三个句子作为第一子类;比较任意两个第一子类,如果任意两个第一子类中存在至少一个相同的句子,将任意两个第一子类划分为第二子类;比较任意两个第二子类,如果任意两个第二子类中存在至少一个相同的句子,将任意两个第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,细分支聚类结束;将不存在相同的句子的所有第N子类作为第一细分支聚类结果中的细分支,其中,N为正整数。
可选的,依据语义相似度对粗分支聚类结果中的每个粗分支做细分支聚类,包括:遍历所述第二配对集合,对落入相同第一语义相似度区域范围的句子构建索引,索引包括键和值,其中,键为所述句子的标识,值为与句子配对的所有句子的标识组成的列表,两个句子配对是指两个句子的第一语义相似度落入相同第一语义相似度区域范围;遍历所述键对应的值;遍历值作为键对应的值,直至全部值遍历完成,其中,遍历值作为键对应的值时仅遍历未被访问过的值。
首先采用bert模型的相似度得分对粗分支聚类结果中的粗分支做梯度阈值聚类。需要说明的是,该细分支聚类过程,和上述粗分支聚类的过程类似,可以参见图2a和图2b所示实施例的实施方式。
在本申请的另一个可选的实施例中,得到第一细分支聚类结果之后,将第一细分支聚类结果中细分支包含的句子的数目小于或等于第二预设阈值细分支作为该部分的最终聚类结果;依据第二语义相似度对第一细分支聚类结果中的细分支包含的句子的数目大于第二预设阈值的细分支做第二次细分支聚类。
比如,第二预设阈值为20,上述第一细分支聚类结果中某细分支的问题数目超过20个,改用AM-softmax模型的相似度得分做梯度阈值聚类;如果细分支的问题数目小于20个,则聚类结束,输出分类结果。(需要说明的是,第二预设阈值(细分支数目临界值)可以在2-200个范围内取值,本实施例中对糖尿病有关的问答数据做聚类的取值为20具有更好的效果)。
根据本申请的一个可选的实施例,依据第二语义相似度对第一次细分支聚类结果中细分支包含的句子的数目大于第二预设阈值的细分支做第二次细分支聚类之前,还需要依据第二语义相似度从第一细分支聚类结果中细分支包含的句子的数目大于第二预设阈值的细分支包含的句子中筛选出进行第二次细分支聚类的第三目标句子组成的第三配对集合。
根据本申请的一个可选的实施例,依据第二语义相似度从第一细分支聚类结果中细分支包含的句子的数目大于第二预设阈值的细分支包含的句子中筛选出进行细分支聚类的第三目标句子组成的第三配对集合,包括:从第二语义相似度的取值范围中选取大于第五相似度阈值的取值范围,作为第五目标取值范围;按照第三间隔区间阈值将第五目标取值范围平均划分为多个第三间隔区间;分别确定落入多个第三间隔区间内的第二语义相似度对应的两两句子;对于各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入第二语义相似度最高的第三间隔区间内的两两句子、和对于各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入第二语义相似度最高的第三间隔区间内的两两句子,分别与其所在的第三间隔区间内不与其他第三间隔区间内两两句子有关联的两两句子共同作为第三目标句子进行配对;得到第三配对集合;各第三间隔区间内不与其他第三间隔区间内两两句子有关联的两两句子为第三间隔区间内任一两两句子中的第一句子或第二句子均不作为其他第三间隔区间内任一两两句子的第一句子或第二句子的两两句子;各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子为各第三间隔区间内的两两句子中的第一句子或第二句子作为其他第三间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
根据本申请的另一个可选的实施例,依据第二语义相似度从第一细分支聚类结果中所述细分支包含的句子的数目大于所述第二预设阈值的细分支包含的句子中筛选出进行细分支聚类的第三目标句子组成的第三配对集合,还包括:S100,从第二语义相似度的取值范围中选取大于第六相似度阈值的取值范围,作为第六目标取值范围;S200,将第六目标取值范围划分为第五区间和第六区间,第五区间的起始值为第六目标取值范围的起始值,第六区间的取值范围与第三阈值相同;S300,分别确定落入第五区间和第六区间内的第二语义相似度对应的两两句子;S400,将第五区间内不与第六区间内两两句子有关联的两两句子作为第三目标句子进行配对,第五区间内不与第六区间内两两句子有关联的两两句子为第五区间内任一两两句子中的第一句子或第二句子均不作为第六区间内任一两两句子的第一句子或第二句子的两两句子;S500,判断第六区间的取值范围是否小于或等于第三阈值,如果判断结果为否,将第六区间作为第六目标取值范围,并重复执行S200至S400;如果判断结果为是,将第六区间内的所有两两句子作为第三目标句子进行配对;S600,得到第三配对集合。
在本申请的一些可选的实施例中,依据第二语义相似度对第一细分支聚类结果中细分支包含的句子的数目大于第二预设阈值的细分支做第二次细分支聚类,包括:遍历第三配对集合,比较落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子;相同第二语义相似度区域范围为各第三间隔区间,或各第五区间和步骤S500中判断结果为是时的第六区间;如果落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子存在一个相同的句子,将两个第二语义相似度对应的两个两两句子中的三个句子作为第一子类;比较任意两个第一子类,如果任意两个第一子类中存在至少一个相同的句子,将任意两个第一子类划分为第二子类;比较任意两个第二子类,如果任意两个第二子类中存在至少一个相同的句子,将任意两个第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,第二次细分支聚类结束;将不存在相同的句子的所有第N子类作为第二细分支聚类结果中的细分支,其中,N为正整数;如果第二细分支聚类结果中的细分支包含的句子的数目小于第二预设阈值,输出第二次细分支聚类结果。
根据本申请的一个可选的实施例,依据第二语义相似度对第一细分支聚类结果中细分支包含的句子的数目大于第二预设阈值的细分支做第二次细分支聚类,包括:遍历第三配对集合,对落入相同第二语义相似度区域范围的句子构建索引,索引包括键和值,其中,键为句子的标识,值为与句子配对的所有句子的标识组成的列表,两个句子配对是指两个句子的第二语义相似度落入相同第二语义相似度区域范围;遍历键对应的值;遍历值作为键对应的值,直至全部值遍历完成,其中,遍历值作为键对应的值时仅遍历未被访问过的值。
需要说明的是,该细分支聚类过程,同样和上述粗分支聚类的过程类似,可以参见图2a和图2b所示实施例的实施方式。
需要说明的是,本实施例中,第二次细分支聚类结果为该部分最终的聚类结果。粗分支聚类结果中粗分支包含的句子的数目小于等于第一预设阈值的粗分支、第一次细分支结果中细分支包含的句子的数目小于等于所述第二预设阈值的细分支和第二次细分支聚类结果共同组成聚类结果。
在其他实施方式中,还可以对第二次细分支聚类结果中第二次细分支包含的句子的数目大于第三预设阈值的第二次细分支再次使用第一语义相似度或第二语义相似度或采用其他的算法获得的第三语义相似度或其他语义相似度进行第三次、第四次或第N次聚类分析,直到最终的聚类结果符合所需的场景。
细分支聚类采用bert模型和AM-softmax模型的顺序可以互换。在实际使用中,先用bert模型再用AM-softmax模型具有更好的效果。先bert模型再用AM-softmax模型的原因是,目前训练AM-softmax模型的数据是由120万的英文数据翻译成的中文数据,但是翻译时可能造成信息损失。
由粗分支到细分支聚类完的结果就是颗粒度较细的短文本层次聚类最终结果,用于辅助标注。
上述聚类方法利用层次聚类的思路,结合相似度阈值的方式,进行梯度的阈值区间的层次聚类,即避免了K-means局限,同时解决了通过阈值筛选的方式带来的文本扎堆聚类以及大部分文本排除在外的问题。文本之间的相似度是一个相对值,在特定的领域数据集中,每一个文本与该数据集的其他文本存在最高的相对相似度,在忽略相似度阈值的前提下,将与该句子和其最高相似度的文本进行归类,可以得到不同相似度区间下的文本间最相近的层次聚类结果。
本申请实施例提供的上述方法,以糖尿病问答数据为例,1400问题,能够聚成223类,可以得到较好的分类效果,进而减轻了标注人员的压力
图3是根据本申请实施例的另一种聚类方法的流程图,如图3所示,包括以下步骤:
步骤S1,数据输入,获取问答数据中的“问题”数据,然后从获取的“问题”数据中提取关键词;
步骤S2,关键词相似度计算;
步骤S3,语义相似度计算,利用bert模型,AM-softmax模型计算语义相似度;
步骤S4,聚类,利用梯度的阈值区间的层次聚类方法进行聚类;
步骤S5,结果导出,导出聚类结果。
需要说明的是图3所示实施例的优选实施方式可以参见图1所示实施例的相关描述,此处不再赘述。
下面以一个具体的实施例对图3所示的聚类方法进行详细说明:
图4a是利用关键词相似度进行梯度阈值区间的层次聚类(粗分支聚类)的示意图,图4b是利用语义相似度进行梯度阈值区间的层次聚类(细分支聚类)的示意图,如图4a和图4b所示,包括以下步骤:
步骤1,相似度的范围在0-1之间,设定相似度梯度变化值k=0.1;子类小类句子限定数r=10;相似度阈值f=0.4,运行步骤2;
步骤2,获取关键词组计算的两两句子的相似度数据作为输入Sim(ai,aj)表示关键词组计算的句子ai,aj的相似值,运行步骤3;
步骤3,运行基本聚类函数得到Y={y1,y2,...,yk,...,ym}=G(X),k∈{1,...,m},获得若干子类的合集y1,y2,...,yk,...,ym,其中每个子类都满足且两两子类都是互斥的。每个子类都分别进行步骤4;
步骤4,子类梯度阈值递归聚类,以子类yk为例,通过阈值f,如果f>=1或者子类的句子数目<r,则不行以下步骤,返回结果(即聚类结束),
步骤4.1如果句子i与句子j之间的相似度大于f,则将句子i和句子j,归类于子类否则运行步骤4.2;
步骤4.1.1,子类内部运行基本聚类函数形成m个子类: 同时令f:=f+k,其中“=”左边的“f”为下一轮聚类的阈值;
步骤4.1.2,子类分别不断递归运行步骤4,如果f>=1或者子类的句子数目<r,则返回所有子类结果;
步骤4.1.3运行步骤5;
步骤4.2,如果句子i和句子j不满足步骤4.1的条件,则将句子i和句子j,归类于子类
步骤4.2.1,子类内部运行基本聚类函数形成形成n个子类 同时令f:=f+k,其中“=”左边的“f”为下一轮聚类的阈值;
步骤4.2.2,子类分别递归运行步骤4,如果f>=1或者子类的句子数目<r,则返回所有子类结果;
步骤4.2.3,运行步骤5;
步骤5,获取两两句子之间的语义相似度;
步骤5.1,遍历所有子类,依然有n个子类的内部句子数目>R,这些子类分别运行步骤5.2,获得所有子类结果;
步骤5.2,获取子类的bert char2vec或者AM-softmax两两句子相似度计算结果,并归一化为[0,1]的区间内,归一化公式为:其中[a,b]是归一化的区间;
步骤6,运行基本聚类函数,具体算法同步骤3,如果运行遇到步骤4.1.3或者步骤4.2.3,则跳过,直接返回聚类结果;步骤7,子类梯度阈值递归聚类,具体算法和过程同步骤4;
步骤7.1,具体同步骤4.1;
步骤7.1.1,具体同步骤4.1.1,子类内部运行基本聚类函数形成m个子类;
步骤7.1.2,具体同步骤4.1.2,子类分别不断递归运行,如果f≥1或者子类的句子数目<r,则返回子类结果;
步骤7.2,具体同步骤4.2;
直到所有递归结束,返回的是相似度阈值梯度递增的层次聚类结果。
本申请实施例提供的上述聚类算法可以实现以下技术效果:
采用关键词进行jaccard相似度聚类,大大提升了特定领域文本的聚类效果,同时利用bert模型字符级别词向量和外部数据训练AM-softmax模型的辅助聚类,利用了各自的优势,使聚类效果更好;
采用了梯度阈值区间的层次聚类算法,避免了直接用阈值筛选的方式带来的一系列问题,将文本和其最高相似度的文本进行归类,获得聚类的颗粒度更细;
综合关键词、bert、AM-softmax的整个聚类流程,在很好的利用专业领域的知识的同时大大减轻了标注压力,可为企业大大降低人力成本。
图5是根据本申请实施例的一种聚类装置的结构框图,如图5所示,该装置包括:
第一获取模块50,用于获取问题数据。
本申请实施例提供的聚类方法的适用特定/专业技术领域(与开放领域相对),例如:饮食类、运动类、二手车租赁、计算机……,范围较窄,经常出现专业名词。例如:I型糖尿病、II型糖尿病用开放领域很可能聚类在一起,但在专业领域,差别非常明显。
上述问题数据涉及医疗信息,例如,“II型糖尿病会遗传吗?”,“可能会遗传,如果父母中有一方有糖尿病,子女发生糖尿病的可能性约为40%;如果父母双方都有糖尿病,那么子女发生糖尿病的可能性会增加至70%。另外,父母发生糖尿病的年龄越早,子女得糖尿病的可能性越大”。
第一确定模块52,用于确定问题数据中的任意两个句子之间的关键词相似度。
第二确定模块54,用于确定问题数据中的任意两个句子之间的语义相似度。
聚类模块56,用于依据关键词相似度和语义相似度对问题数据中的句子进行聚类,并输出聚类结果。
需要说明的是,图5所示实施例的优选实施方式可以参见图1所示实施例的相关描述,此处不再赘述。
根据本申请的一个可选得实施例,第一确定模块52包括:获取单元,用于获取预设关键词;提取单元,用于从问题数据的句子中提取与预设关键词相同的关键词,得到每个句子的关键词数据集;第一计算单元,用于依据每个句子的关键词数据集计算问题数据中的任意两个句子之间的相似度系数;设置单元,用于将相似度系数作为关键词相似度。
在本申请的一些可选的实施例中,聚类模块56包括:第一聚类单元,用于依据关键词相似度对问题数据中的句子做粗分支聚类,得到问题数据中的句子的粗分支聚类结果;第二聚类单元,用于依据所述语义相似度对所述粗分支聚类结果中的每个粗分支做细分支聚类,得到所述问题数据中的句子的细分支聚类结果。
在本申请的一个可选的实施例中,第二确定模块54包括:第二计算单元,用于第一模型计算任意两个句子之间语义相似度,得到任意两个句子之间的第一语义相似度,第一模型通过词向量计算两个句子之间的语义相似度;和/或第三计算单元,用于第二模型计算任意两个句子之间语义相似度,得到任意两个句子之间的第二语义相似度,第二模型通过句子向量计算两个句子之间的语义相似度。
根据本申请的一个可选的实施例,第二计算单元包括:分割子单元,用于将问题数据中的每个句子切分为字符的集合,字符为组成句子的最小单元;提取子单元,用于从第一模型中提取每个句子包括的字符对应的词向量;第一计算子单元,用于对每个句子包括的字符对应的词向量进行加权平均计算,得到每个句子对应的词向量;第二计算子单元,用于依据每个句子对应的词向量分别计算任意两个句子之间的余弦相似度,得到任意两个句子之间的第一语义相似度。
根据本申请的一个可选的实施例,第三计算单元包括:编码子单元,用于利用第二模型分别对任意两个句子进行编码,得到任意两个句子中第一句子对应的向量和任意两个句子中第二句子对应的向量;第三计算子单元,用于将第一句子对应的向量和第二句子对应的向量进行矩阵内积计算,得到任意两个句子之间的第二语义相似度。
在本申请的另一个可选的实施例中,第二模型为加和边界归一化指数函数模型,第三计算单元还包括:训练子单元,用于利用门控循环单元替换加和边界归一化指数函数模型中的卷积神经网络;利用预设问答数据集对加和边界归一化指数函数模型进行训练,直至加和边界归一化指数函数模型收敛。
根据本申请的一个可选的实施例,上述装置还包括:第一筛选模块,用于依据关键词相似度从问题数据的句子中筛选出进行粗分支聚类的第一目标句子组成的第一配对集合。
根据本申请的一个可选的实施例,第一筛选模块用于执行以下步骤:从关键词相似度的取值范围中选取大于第一相似度阈值的取值范围,作为第一目标取值范围;按照第一间隔区间阈值将第一目标取值范围平均划分为多个第一间隔区间;分别确定落入多个第一间隔区间内的关键词相似度对应的两两句子;对于各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入关键词相似度最高的第一间隔区间内的两两句子、和对于各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入关键词相似度最高的第一间隔区间内的两两句子,分别与其所在的第一间隔区间内不与其他第一间隔区间内两两句子有关联的两两句子共同作为第一目标句子进行配对;得到第一配对集合;各第一间隔区间内不与其他第一间隔区间内两两句子有关联的两两句子为第一间隔区间内任一两两句子中的第一句子或第二句子均不作为其他第一间隔区间内任一两两句子的第一句子或第二句子的两两句子;各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子为各第一间隔区间内的两两句子中的第一句子或第二句子作为其他第一间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
可选地,第一筛选模块还用于执行以下步骤:S1,从关键词相似度的取值范围中选取大于第二相似度阈值的取值范围,作为第二目标取值范围;S2,将第二目标取值范围划分为第一区间和第二区间,第一区间的起始值为第二目标取值范围的起始值,第一区间的取值范围与第一阈值相同;S3,分别确定落入第一区间和第二区间内的关键词相似度对应的两两句子;S4,将第一区间内不与第二区间内两两句子有关联的两两句子作为第一目标句子进行配对,第一区间内不与第二区间内两两句子有关联的两两句子为第一区间内任一两两句子中的第一句子或第二句子均不作为第二区间内任一两两句子的第一句子或第二句子的两两句子;S5,判断第二区间的取值范围与是否小于或等于第一阈值,如果判断结果为否,将第二区间作为第二目标取值范围,并重复执行S2至S4;如果判断结果为是,将第二区间内的所有两两句子作为第一目标句子进行配对;S6,得到第一配对集合。
根据本申请的另一个可选的实施例,第一聚类单元还用于执行以下步骤:遍历第一配对集合,比较落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子;相同关键词相似度区域范围为各第一间隔区间,或各第一区间和步骤S5中判断结果为是时的第二区间;如果落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子存在一个相同的句子,将两个关键词相似度对应的两个两两句子中的三个句子作为第一子类;比较任意两个第一子类,如果任意两个第一子类中存在至少一个相同的句子,将任意两个第一子类划分为第二子类;比较任意两个第二子类,如果任意两个第二子类中存在至少一个相同的句子,将任意两个第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,粗分支聚类结束;将不存在相同的句子的所有第N子类作为粗分支聚类结果中的粗分支,其中,N为正整数。
在本申请的一些可选的实施例中,第一聚类单元还用于执行以下步骤:遍历第一配对集合,对落入相同关键词相似度区域范围的关键词相似度对应的句子构建索引,索引包括键和值,其中,键为句子的标识,值为与句子配对的所有句子的标识组成的列表,两个句子配对是指两个句子的关键词相似度落入相同关键词相似度区域范围内的任意一个第一间隔区间;遍历键对应的值;遍历值作为键对应的值,直至全部值遍历完成,其中,遍历值作为键对应的值时仅遍历未被访问过的值。
在本申请的一些可选的实施例中,第一聚类单元,还用于依据关键词相似度对问题数据中的句子做粗分支聚类,得到问题数据中的句子的粗分支聚类结果;将粗分支聚类结果中粗分支包含的句子的数目小于或等于第一预设阈值的粗分支作为该部分的最终聚类结果;第二聚类单元,还用于依据语义相似度对粗分支聚类结果中粗分支包含的句子的数目大于第一预设阈值的粗分支做细分支聚类,得到相应部分的细分支聚类结果。
根据本申请的一个可选的实施例,第二聚类单元用于依据语义相似度对粗分支聚类结果中的每个粗分支做细分支聚类,语义相似度包括第一语义相似度和/或第二语义相似度。
在本申请的一个可选的实施例中,上述装置还包括:第二筛选模块,用于依据第一语义相似度从粗分支包含的句子中筛选出进行细分支聚类的第二目标句子组成的第二配对集合。
根据本申请的一个可选的实施例,第二筛选模块用于执行以下步骤:从第一语义相似度的取值范围中选取大于第三相似度阈值的取值范围,作为第三目标取值范围;按照第二间隔区间阈值将第二目标取值范围平均划分为多个第二间隔区间;分别确定落入多个第二间隔区间内的第一语义相似度对应的两两句子;对于各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入第一语义相似度最高的第二间隔区间内的两两句子、和对于各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入第一语义相似度最高的第二间隔区间内的两两句子,分别与其所在的第二间隔区间内不与其他第二间隔区间内两两句子有关联的两两句子共同作为第二目标句子进行配对;得到第二配对集合;各第二间隔区间内不与其他第二间隔区间内两两句子有关联的两两句子为第二间隔区间内任一两两句子中的第一句子或第二句子均不作为其他第二间隔区间内任一两两句子的第一句子或第二句子的两两句子;各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子为各第二间隔区间内的两两句子中的第一句子或第二句子作为其他第二间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
根据本申请的一个可选的实施例,第二筛选模块还用于执行以下步骤:S10,从第一语义相似度的取值范围中选取大于第四相似度阈值的取值范围,作为第四目标取值范围;S20,将第四目标取值范围划分为第三区间和第四区间,第三区间的起始值为第四目标取值范围的起始值,第三区间的取值范围与第二阈值相同;S30,分别确定落入第三区间和第四区间内的第一语义相似度对应的两两句子;S40,将第三区间内不与第四区间内两两句子有关联的两两句子作为第二目标句子进行配对,第三区间内不与第四区间内两两句子有关联的两两句子为第三区间内任一两两句子中的第一句子或第二句子均不作为第四区间内任一两两句子的第一句子或第二句子;S50,判断第四区间的取值范围是否小于或等于第二阈值,如果判断结果为否,将第四区间作为新的第四目标取值范围,并重复执行S20至S40;如果判断结果为是,将第四区间内的所有两两句子作为第二目标句子进行配对;得到第二配对集合。
根据本申请的一个可选的实施例,第二聚类单元还用于执行以下步骤:遍历第二配对集合,比较落入相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子;相同第一语义相似度区域范围为各第二间隔区间,或各第三区间和步骤S50中判断结果为是时的第四区间;如果落入相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子存在一个相同的句子,将两个第一语义相似度对应的两个两两句子中的三个句子作为第一子类;比较任意两个第一子类,如果任意两个第一子类中存在至少一个相同的句子,将任意两个第一子类划分为第二子类;比较任意两个第二子类,如果任意两个第二子类中存在至少一个相同的句子,将任意两个第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,细分支聚类结束;将不存在相同的句子的所有第N子类作为第一细分支聚类结果中的细分支,其中,N为正整数。
根据本申请另一个可选的实施例,第二聚类单元还用于执行以下步骤:遍历第二配对集合,对落入相同第一语义相似度区域范围的句子构建索引,索引包括键和值,其中,键为所述句子的标识,值为与句子配对的所有句子的标识组成的列表,两个句子配对是指两个句子的第一语义相似度落入相同第一语义相似度区域范围;遍历所述键对应的值;遍历值作为键对应的值,直至全部值遍历完成,其中,遍历值作为键对应的值时仅遍历未被访问过的值。
根据本申请的另一个可选的实施例,上述第二聚类单元还用于执行以下步骤:将第一细分支聚类结果中的细分支包含的句子的数目小于等于第二预设阈值的细分支作为该部分的最终聚类结果;依据第二语义相似度对第一细分支聚类结果中细分支包含的句子的数目大于第二预设阈值的细分支做第二次细分支聚类。
根据本申请的一个可选饿实施例,上述装置还包括:第三筛选模块,用于依据第二语义相似度从第一细分支聚类结果中所述细分支包含的句子的数目大于所述第二预设阈值的细分支包含的句子中筛选出进行细分支聚类的第三目标句子组成的第三配对集合。
根据本申请的另一个可选的实施例,第三筛选模块用于执行以下步骤:从第二语义相似度的取值范围中选取大于第五相似度阈值的取值范围,作为第五目标取值范围;按照第三间隔区间阈值将第五目标取值范围平均划分为多个第三间隔区间;分别确定落入多个第三间隔区间内的第二语义相似度对应的两两句子;对于各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入第二语义相似度最高的第三间隔区间内的两两句子、和对于各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入第二语义相似度最高的第三间隔区间内的两两句子,分别与其所在的第三间隔区间内不与其他第三间隔区间内两两句子有关联的两两句子共同作为第三目标句子进行配对;得到第三配对集合;各第三间隔区间内不与其他第三间隔区间内两两句子有关联的两两句子为第三间隔区间内任一两两句子中的第一句子或第二句子均不作为其他第三间隔区间内任一两两句子的第一句子或第二句子的两两句子;各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子为各第三间隔区间内的两两句子中的第一句子或第二句子作为其他第三间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
可选地,第三筛选模块还用于执行以下步骤:S100,从第二语义相似度的取值范围中选取大于第六相似度阈值的取值范围,作为第六目标取值范围;S200,将第六目标取值范围划分为第五区间和第六区间,第五区间的起始值为第六目标取值范围的起始值,第五区间的取值范围与第三阈值相同;S300,分别确定落入第五区间和第六区间内的第二语义相似度对应的两两句子;S400,将第五区间内不与第六区间内两两句子有关联的两两句子作为第三目标句子进行配对,第五区间内不与第六区间内两两句子有关联的两两句子为第五区间内任一两两句子中的第一句子或第二句子均不作为第六区间内任一两两句子的第一句子或第二句子的两两句子;S500,判断第六区间的取值范围是否小于或等于第三阈值,如果判断结果为否,将第六区间作为新的第六目标取值范围,并重复执行S200至S400;如果判断结果为是,将第六区间内的所有两两句子作为第三目标句子进行配对;S600,得到第三配对集合。
在本申请的一些可选的实施例中,第二聚类单元还用于执行以下步骤:遍历第三配对集合,比较落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子;相同第二语义相似度区域范围为各第三间隔区间,或各第五区间和步骤S500中判断结果为是时的第六区间;如果落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子存在一个相同的句子,将两个第二语义相似度对应的两个两两句子中的三个句子作为第一子类;比较任意两个第一子类,如果任意两个第一子类中存在至少一个相同的句子,将任意两个第一子类划分为第二子类;比较任意两个第二子类,如果任意两个第二子类中存在至少一个相同的句子,将任意两个第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,第二次细分支聚类结束;将不存在相同的句子的所有第N子类作为第二细分支聚类结果中的细分支,其中,N为正整数;如果第二细分支聚类结果中的细分支包含的句子的数目小于第二预设阈值,输出第二次细分支聚类结果。
本申请的一些可选的实施方式中,第二聚类单元还用于执行以下步骤获得第二次细分支聚类结果:遍历第三配对集合,对落入相同第二语义相似度区域范围的句子构建索引,索引包括键和值,其中,键为所述句子的标识,值为与所述句子配对的所有句子的标识组成的列表,两个句子配对是指两个句子的第二语义相似度落入相同第二语义相似度区域范围;遍历键对应的值;遍历值作为键对应的值,直至全部值遍历完成,其中,遍历值作为键对应的值时仅遍历未被访问过的值。
本申请实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行权利以上的聚类方法。
该计算机存储介质用于存储执行以下功能的程序:获取问题数据;确定问题数据中的任意两个句子之间的关键词相似度;确定问题数据中的任意两个句子之间的语义相似度;依据关键词相似度和语义相似度对问题数据中的句子进行聚类,并输出聚类结果。
本申请实施例还提供了一种处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行以上的聚类方法。
处理器用于运行执行以下功能的程序:获取问题数据;确定问题数据中的任意两个句子之间的关键词相似度;确定问题数据中的任意两个句子之间的语义相似度;依据关键词相似度和语义相似度对问题数据中的句子进行聚类,并输出聚类结果
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,ReSZTYd-Only Memory)、随机存取存储器(RSZTYM,RSZTYndom SZTYccess Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (52)
1.一种聚类方法,其特征在于,包括:
获取问题数据;
确定所述问题数据中的任意两个句子之间的关键词相似度;
确定所述问题数据中的任意两个句子之间的语义相似度;
依据所述关键词相似度和所述语义相似度对所述问题数据中的句子进行聚类,并输出聚类结果;
依据所述关键词相似度和所述语义相似度对所述问题数据中的句子进行聚类,包括:依据所述关键词相似度对所述问题数据中的句子做粗分支聚类,得到所述问题数据中的句子的粗分支聚类结果;依据所述语义相似度对所述粗分支聚类结果中的每个粗分支做细分支聚类,得到所述问题数据中的句子的细分支聚类结果;
依据所述关键词相似度对所述问题数据中的句子做粗分支聚类之前,所述方法还包括:依据所述关键词相似度从所述问题数据的句子中筛选出进行粗分支聚类的第一目标句子组成的第一配对集合,包括:从所述关键词相似度的取值范围中选取大于第一相似度阈值的取值范围,作为第一目标取值范围;按照第一间隔区间阈值将所述第一目标取值范围平均划分为多个第一间隔区间;分别确定落入所述多个第一间隔区间内的所述关键词相似度对应的两两句子;对于各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入所述关键词相似度最高的第一间隔区间内的两两句子、和对于所述各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入所述关键词相似度最高的第一间隔区间内的两两句子,分别与其所在的第一间隔区间内不与其他第一间隔区间内两两句子有关联的两两句子共同作为所述第一目标句子进行配对;得到所述第一配对集合;所述各第一间隔区间内不与其他第一间隔区间内两两句子有关联的两两句子为所述第一间隔区间内任一两两句子中的第一句子或第二句子均不作为其他所述第一间隔区间内任一两两句子的第一句子或第二句子的两两句子;所述各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子为所述各第一间隔区间内的两两句子中的第一句子或第二句子作为其他所述第一间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
2.根据权利要求1所述的方法,其特征在于,确定所述问题数据中的任意两个句子之间的关键词相似度,包括:
获取预设关键词;
从所述问题数据的句子中提取与所述预设关键词相同的关键词,得到每个句子的关键词数据集;
依据所述每个句子的关键词数据集计算所述问题数据中的任意两个句子之间的相似度系数;
将所述相似度系数作为所述关键词相似度。
3.根据权利要求1所述的方法,其特征在于,确定所述问题数据中的任意两个句子之间的语义相似度,包括:
利用第一模型计算所述任意两个句子之间语义相似度,得到所述任意两个句子之间的第一语义相似度,所述第一模型通过词向量计算两个句子之间的语义相似度;和/或
利用第二模型计算所述任意两个句子之间语义相似度,得到所述任意两个句子之间的第二语义相似度,所述第二模型通过句子向量计算两个句子之间的语义相似度。
4.根据权利要求3所述的方法,其特征在于,利用第一模型计算所述任意两个句子之间语义相似度,包括:
将所述问题数据中的每个句子切分为字符的集合,所述字符为组成所述句子的最小单元;
从所述第一模型中提取每个句子包括的字符对应的词向量;
对所述每个句子包括的字符对应的词向量进行加权平均计算,得到所述每个句子对应的词向量;
依据所述每个句子对应的词向量分别计算所述任意两个句子之间的余弦相似度,得到所述任意两个句子之间的第一语义相似度。
5.根据权利要求3所述的方法,其特征在于,利用第二模型计算所述任意两个句子之间语义相似度,包括:
利用所述第二模型分别对所述任意两个句子进行编码,得到所述任意两个句子中第一句子对应的向量和所述任意两个句子中第二句子对应的向量;
将所述第一句子对应的向量和所述第二句子对应的向量进行矩阵内积计算,得到所述任意两个句子之间的第二语义相似度。
6.根据权利要求5所述的方法,其特征在于,所述第二模型为加和边界归一化指数函数模型,利用所述第二模型分别对所述任意两个句子进行编码之前,所述方法还包括:
利用门控循环单元替换所述加和边界归一化指数函数模型中的卷积神经网络;
利用预设问答数据集对所述加和边界归一化指数函数模型进行训练,直至所述加和边界归一化指数函数模型收敛。
7.根据权利要求5所述的方法,其特征在于,依据所述关键词相似度从所述问题数据的句子中筛选出进行粗分支聚类的第一目标句子组成的第一配对集合,还包括:
S1,从所述关键词相似度的取值范围中选取大于第二相似度阈值的取值范围,作为第二目标取值范围;
S2,将所述第二目标取值范围划分为第一区间和第二区间,所述第一区间的起始值为所述第二目标取值范围的起始值,所述第一区间的取值范围与第一阈值相同;
S3,分别确定落入所述第一区间和所述第二区间内的所述关键词相似度对应的两两句子;
S4,将所述第一区间内不与所述第二区间内两两句子有关联的两两句子作为第一目标句子进行配对,所述第一区间内不与所述第二区间内两两句子有关联的两两句子为所述第一区间内任一两两句子中的第一句子或第二句子均不作为所述第二区间内任一两两句子的第一句子或第二句子的两两句子;
S5,判断所述第二区间的取值范围与是否小于或等于所述第一阈值,如果判断结果为否,将所述第二区间作为所述第二目标取值范围,并重复执行S2至S4;如果判断结果为是,将所述第二区间内的所有两两句子作为所述第一目标句子进行配对;
S6,得到所述第一配对集合。
8.根据权利要求1所述的方法,其特征在于,依据所述关键词相似度对所述问题数据中的句子做粗分支聚类,包括:
遍历所述第一配对集合,比较落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子;所述相同关键词相似度区域范围为权利要求1中各所述第一间隔区间;
如果落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子存在一个相同的句子,将所述两个关键词相似度对应的两个两两句子中的三个句子作为第一子类;
比较任意两个所述第一子类,如果任意两个所述第一子类中存在至少一个相同的句子,将任意两个所述第一子类划分为第二子类;
比较任意两个所述第二子类,如果任意两个所述第二子类中存在至少一个相同的句子,将任意两个所述第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,粗分支聚类结束;
将不存在相同的句子的所有第N子类作为所述粗分支聚类结果中的粗分支,其中,N为正整数。
9.根据权利要求7所述的方法,其特征在于,依据所述关键词相似度对所述问题数据中的句子做粗分支聚类,包括:
遍历所述第一配对集合,比较落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子;所述相同关键词相似度区域范围为权利要求7中各所述第一区间和所述S5中判断结果为是时的第二区间;
如果落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子存在一个相同的句子,将所述两个关键词相似度对应的两个两两句子中的三个句子作为第一子类;
比较任意两个所述第一子类,如果任意两个所述第一子类中存在至少一个相同的句子,将任意两个所述第一子类划分为第二子类;
比较任意两个所述第二子类,如果任意两个所述第二子类中存在至少一个相同的句子,将任意两个所述第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,粗分支聚类结束;
将不存在相同的句子的所有第N子类作为所述粗分支聚类结果中的粗分支,其中,N为正整数。
10.根据权利要求1或7所述的方法,其特征在于,依据所述关键词相似度对所述问题数据中的句子做粗分支聚类,包括:
遍历所述第一配对集合,对落入相同关键词相似度区域范围的句子构建索引,所述索引包括键和值,其中,所述键为所述句子的标识,所述值为与所述句子配对的所有句子的标识组成的列表,两个句子配对是指所述两个句子的关键词相似度落入相同关键词相似度区域范围;
遍历所述键对应的值;
遍历所述值作为键对应的值,直至全部值遍历完成,其中,遍历所述值作为键对应的值时仅遍历未被访问过的值。
11.根据权利要求1所述的方法,其特征在于,所述依据所述关键词相似度和所述语义相似度对所述问题数据中的句子进行聚类具体为:
依据所述关键词相似度对所述问题数据中的句子做粗分支聚类,得到所述问题数据中的句子的粗分支聚类结果;
将所述粗分支聚类结果中所述粗分支包含的句子的数目小于或等于第一预设阈值的粗分支作为所述问题数据中的句子的最终聚类结果;
依据所述语义相似度对所述粗分支聚类结果中所述粗分支包含的句子的数目大于所述第一预设阈值的粗分支做细分支聚类,得到所述问题数据中的句子的细分支聚类结果。
12.根据权利要求11所述的方法,其特征在于,依据所述语义相似度对所述粗分支聚类结果中所述粗分支包含的句子的数目大于所述第一预设阈值的粗分支做细分支聚类,得到所述问题数据中的句子的细分支聚类结果,包括:
依据所述语义相似度对所述粗分支聚类结果中的每个粗分支做细分支聚类,所述语义相似度包括第一语义相似度和/或第二语义相似度。
13.根据权利要求12所述的方法,其特征在于,依据所述语义相似度对所述粗分支聚类结果中所述粗分支包含的句子的数目大于所述第一预设阈值的粗分支做细分支聚类,得到所述问题数据中的句子的细分支聚类结果,还包括:
依据所述第一语义相似度从所述粗分支包含的句子中筛选出进行细分支聚类的第二目标句子组成的第二配对集合。
14.根据权利要求13所述的方法,其特征在于,依据所述第一语义相似度从所述粗分支包含的句子中筛选出进行细分支聚类的第二目标句子组成的第二配对集合,包括:
从所述第一语义相似度的取值范围中选取大于第三相似度阈值的取值范围,作为第三目标取值范围;
按照第二间隔区间阈值将所述第三目标取值范围平均划分为多个第二间隔区间;
分别确定落入所述多个第二间隔区间内的所述第一语义相似度对应的两两句子;
对于各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入所述第一语义相似度最高的第二间隔区间内的两两句子、和对于所述各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入所述第一语义相似度最高的第二间隔区间内的两两句子,分别与其所在的第二间隔区间内不与其他第二间隔区间内两两句子有关联的两两句子共同作为所述第二目标句子进行配对;
得到所述第二配对集合;
所述各第二间隔区间内不与其他第二间隔区间内两两句子有关联的两两句子为所述第二间隔区间内任一两两句子中的第一句子或第二句子均不作为其他所述第二间隔区间内任一两两句子的第一句子或第二句子的两两句子;
所述各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子为所述各第二间隔区间内的两两句子中的第一句子或第二句子作为其他所述第二间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
15.根据权利要求13所述的方法,其特征在于,依据所述第一语义相似度从所述粗分支包含的句子中筛选出进行细分支聚类的第二目标句子组成的第二配对集合,还包括:
S10,从所述第一语义相似度的取值范围中选取大于第四相似度阈值的取值范围,作为第四目标取值范围;
S20,将所述第四目标取值范围划分为第三区间和第四区间,所述第三区间的起始值为所述第四目标取值范围的起始值,所述第三区间的取值范围与第二阈值相同;
S30,分别确定落入所述第三区间和第四区间内的所述第一语义相似度对应的两两句子;
S40,将所述第三区间内不与所述第四区间内两两句子有关联的两两句子作为第二目标句子进行配对,所述第三区间内不与所述第四区间内两两句子有关联的两两句子为所述第三区间内任一两两句子中的第一句子或第二句子均不作为所述第四区间内任一两两句子的第一句子或第二句子;
S50,判断所述第四区间的取值范围是否小于或等于所述第二阈值,如果判断结果为否,将所述第四区间作为所述第四目标取值范围,并重复执行S20至S40;如果判断结果为是,将所述第四区间内的所有两两句子作为所述第二目标句子进行配对;
S60,得到所述第二配对集合。
16.根据权利要求14所述的方法,其特征在于,依据所述语义相似度对所述粗分支聚类结果中的每个粗分支做细分支聚类,包括:
遍历所述第二配对集合,比较落入相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子;所述相同第一语义相似度区域范围为权利要求14中各所述第二间隔区间;
如果落入相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子存在一个相同的句子,将所述两个第一语义相似度对应的两个两两句子中的三个句子作为第一子类;
比较任意两个所述第一子类,如果任意两个所述第一子类中存在至少一个相同的句子,将任意两个所述第一子类划分为第二子类;
比较任意两个所述第二子类,如果任意两个所述第二子类中存在至少一个相同的句子,将任意两个所述第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,细分支聚类结束;
将不存在相同的句子的所有第N子类作为第一细分支聚类结果中的细分支,其中,N为正整数。
17.根据权利要求15所述的方法,其特征在于,依据所述语义相似度对所述粗分支聚类结果中的每个粗分支做细分支聚类,包括:
遍历所述第二配对集合,比较落入相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子;所述相同第一语义相似度区域范围为权利要求15中各所述第三区间和所述S50中判断结果为是时的第四区间;
如果落入相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子存在一个相同的句子,将所述两个第一语义相似度对应的两个两两句子中的三个句子作为第一子类;
比较任意两个所述第一子类,如果任意两个所述第一子类中存在至少一个相同的句子,将任意两个所述第一子类划分为第二子类;
比较任意两个所述第二子类,如果任意两个所述第二子类中存在至少一个相同的句子,将任意两个所述第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,细分支聚类结束;
将不存在相同的句子的所有第N子类作为第一细分支聚类结果中的细分支,其中,N为正整数。
18.根据权利要求14或15所述的方法,其特征在于,依据所述语义相似度对所述粗分支聚类结果中的每个粗分支做细分支聚类,包括:
遍历所述第二配对集合,对落入相同第一语义相似度区域范围的句子构建索引,所述索引包括键和值,其中,所述键为所述句子的标识,所述值为与所述句子配对的所有句子的标识组成的列表,两个句子配对是指所述两个句子的第一语义相似度落入相同第一语义相似度区域范围;
遍历所述键对应的值;
遍历所述值作为键对应的值,直至全部值遍历完成,其中,遍历所述值作为键对应的值时仅遍历未被访问过的值。
19.根据权利要求16所述的方法,其特征在于,得到所述第一细分支聚类结果之后,所述方法还包括:
将所述第一细分支聚类结果中所述细分支包含的句子的数目小于或等于第二预设阈值的细分支作为所述问题数据中的句子的最终聚类结果;
依据所述第二语义相似度对所述第一细分支聚类结果中所述细分支包含的句子的数目大于第二预设阈值的细分支做第二次细分支聚类。
20.根据权利要求19所述的方法,其特征在于,依据所述第二语义相似度对所述第一细分支聚类结果中所述细分支包含的句子的数目大于所述第二预设阈值的细分支做第二次细分支聚类之前,所述方法还包括:
依据所述第二语义相似度从所述第一细分支聚类结果中所述细分支包含的句子的数目大于所述第二预设阈值的细分支包含的句子中筛选出进行细分支聚类的第三目标句子组成的第三配对集合。
21.根据权利要求20所述的方法,其特征在于,依据所述第二语义相似度从所述第一细分支聚类结果中所述细分支包含的句子的数目大于所述第二预设阈值的细分支包含的句子中筛选出进行细分支聚类的第三目标句子组成的第三配对集合,包括:
从所述第二语义相似度的取值范围中选取大于第五相似度阈值的取值范围,作为第五目标取值范围;
按照第三间隔区间阈值将所述第五目标取值范围平均划分为多个第三间隔区间;
分别确定落入所述多个第三间隔区间内的所述第二语义相似度对应的两两句子;
对于各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入所述第二语义相似度最高的第三间隔区间内的两两句子、和对于所述各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入所述第二语义相似度最高的第三间隔区间内的两两句子,分别与其所在的第三间隔区间内不与其他第三间隔区间内两两句子有关联的两两句子共同作为所述第三目标句子进行配对;
得到所述第三配对集合;
所述各第三间隔区间内不与其他第三间隔区间内两两句子有关联的两两句子为所述第三间隔区间内任一两两句子中的第一句子或第二句子均不作为其他所述第三间隔区间内任一两两句子的第一句子或第二句子的两两句子;
所述各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子为所述各第三间隔区间内的两两句子中的第一句子或第二句子作为其他所述第三间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
22.根据权利要求20所述的方法,其特征在于,依据所述第二语义相似度从所述第一细分支聚类结果中所述细分支包含的句子的数目大于所述第二预设阈值的细分支包含的句子中筛选出进行细分支聚类的第三目标句子组成的第三配对集合,还包括:
S100,从所述第二语义相似度的取值范围中选取大于第六相似度阈值的取值范围,作为第六目标取值范围;
S200,将所述第六目标取值范围划分为第五区间和第六区间,所述第五区间的起始值为所述第六目标取值范围的起始值,所述第五区间的取值范围与第三阈值相同;
S300,分别确定落入所述第五区间和第六区间内的所述第二语义相似度对应的两两句子;
S400,将所述第五区间内不与所述第六区间内两两句子有关联的两两句子作为第三目标句子进行配对,所述第五区间内不与所述第六区间内两两句子有关联的两两句子为所述第五区间内任一两两句子中的第一句子或第二句子均不作为所述第六区间内任一两两句子的第一句子或第二句子的两两句子;
S500,判断所述第六区间的取值范围是否小于或等于所述第三阈值,如果判断结果为否,将所述第六区间作为所述第六目标取值范围,并重复执行S200至S400;如果判断结果为是,将所述第六区间内的所有两两句子作为所述第三目标句子进行配对;
S600,得到所述第三配对集合。
23.根据权利要求21所述的方法,其特征在于,依据所述第二语义相似度对所述第一细分支聚类结果中所述细分支包含的句子的数目大于所述第二预设阈值的细分支做第二次细分支聚类,包括:
遍历所述第三配对集合,比较落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子;所述相同第二语义相似度区域范围为权利要求21中各所述第三间隔区间;
如果落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子存在一个相同的句子,将所述两个第二语义相似度对应的两个两两句子中的三个句子作为第一子类;
比较任意两个所述第一子类,如果任意两个所述第一子类中存在至少一个相同的句子,将任意两个所述第一子类划分为第二子类;
比较任意两个所述第二子类,如果任意两个所述第二子类中存在至少一个相同的句子,将任意两个所述第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,第二次细分支聚类结束;
将不存在相同的句子的所有第N子类作为第二细分支聚类结果中的细分支,其中,N为正整数。
24.根据权利要求22所述的方法,其特征在于,依据所述第二语义相似度对所述第一细分支聚类结果中所述细分支包含的句子的数目大于所述第二预设阈值的细分支做第二次细分支聚类,包括:
遍历所述第三配对集合,比较落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子;所述相同第二语义相似度区域范围为权利要求22中各所述第五区间和所述S500中判断结果为是时的第六区间;
如果落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子存在一个相同的句子,将所述两个第二语义相似度对应的两个两两句子中的三个句子作为第一子类;
比较任意两个所述第一子类,如果任意两个所述第一子类中存在至少一个相同的句子,将任意两个所述第一子类划分为第二子类;
比较任意两个所述第二子类,如果任意两个所述第二子类中存在至少一个相同的句子,将任意两个所述第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,第二次细分支聚类结束;
将不存在相同的句子的所有第N子类作为第二细分支聚类结果中的细分支,其中,N为正整数。
25.根据权利要求21或22所述的方法,其特征在于,依据所述第二语义相似度对所述第一细分支聚类结果中所述细分支包含的句子的数目大于所述第二预设阈值的细分支做第二次细分支聚类,包括:
遍历所述第三配对集合,对落入相同第二语义相似度区域范围的句子构建索引,所述索引包括键和值,其中,所述键为所述句子的标识,所述值为与所述句子配对的所有句子的标识组成的列表,两个句子配对是指所述两个句子的第二语义相似度落入相同第二语义相似度区域范围;
遍历所述键对应的值;
遍历所述值作为键对应的值,直至全部值遍历完成,其中,遍历所述值作为键对应的值时仅遍历未被访问过的值。
26.一种聚类装置,其特征在于,包括:
第一获取模块,用于获取问题数据;
第一确定模块,用于确定所述问题数据中的任意两个句子之间的关键词相似度;
第二确定模块,用于确定所述问题数据中的任意两个句子之间的语义相似度;
聚类模块,用于依据所述关键词相似度和所述语义相似度对所述问题数据中的句子进行聚类,并输出聚类结果;
所述聚类模块包括:第一聚类单元,用于依据所述关键词相似度对所述问题数据中的句子做粗分支聚类,得到所述问题数据中的句子的粗分支聚类结果;第二聚类单元,依据所述语义相似度对所述粗分支聚类结果中的每个粗分支做细分支聚类,得到所述问题数据中的句子的细分支聚类结果;
第一筛选模块,用于依据所述关键词相似度从所述问题数据的句子中筛选出进行粗分支聚类的第一目标句子组成的第一配对集合,还用于执行如下步骤:从所述关键词相似度的取值范围中选取大于第一相似度阈值的取值范围,作为第一目标取值范围;按照第一间隔区间阈值将所述第一目标取值范围平均划分为多个第一间隔区间;分别确定落入所述多个第一间隔区间内的所述关键词相似度对应的两两句子;对于各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入所述关键词相似度最高的第一间隔区间内的两两句子、和对于所述各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入所述关键词相似度最高的第一间隔区间内的两两句子,分别与其所在的第一间隔区间内不与其他第一间隔区间内两两句子有关联的两两句子共同作为所述第一目标句子进行配对;得到所述第一配对集合;所述各第一间隔区间内不与其他第一间隔区间内两两句子有关联的两两句子为所述第一间隔区间内任一两两句子中的第一句子或第二句子均不作为其他所述第一间隔区间内任一两两句子的第一句子或第二句子的两两句子;所述各第一间隔区间内与其他第一间隔区间内两两句子有关联的两两句子为所述各第一间隔区间内的两两句子中的第一句子或第二句子作为其他所述第一间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
27.根据权利要求26所述的装置,其特征在于,所述第一确定模块包括:
获取单元,用于获取预设关键词;
提取单元,用于从所述问题数据的句子中提取与所述预设关键词相同的关键词,得到每个句子的关键词数据集;
第一计算单元,用于依据所述每个句子的关键词数据集计算所述问题数据中的任意两个句子之间的相似度系数;
设置单元,用于将所述相似度系数作为所述关键词相似度。
28.根据权利要求26所述的装置,其特征在于,所述第二确定模块包括:
第二计算单元,用于第一模型计算所述任意两个句子之间语义相似度,得到所述任意两个句子之间的第一语义相似度,所述第一模型通过词向量计算两个句子之间的语义相似度;和/或
第三计算单元,用于第二模型计算所述任意两个句子之间语义相似度,得到所述任意两个句子之间的第二语义相似度,所述第二模型通过句子向量计算两个句子之间的语义相似度。
29.根据权利要求28所述的装置,其特征在于,所述第二计算单元包括:
分割子单元,用于将所述问题数据中的每个句子切分为字符的集合,所述字符为组成所述句子的最小单元;
提取子单元,用于从所述第一模型中提取每个句子包括的字符对应的词向量;
第一计算子单元,用于对所述每个句子包括的字符对应的词向量进行加权平均计算,得到所述每个句子对应的词向量;
第二计算子单元,用于依据所述每个句子对应的词向量分别计算所述任意两个句子之间的余弦相似度,得到所述任意两个句子之间的第一语义相似度。
30.根据权利要求28所述的装置,其特征在于,所述第三计算单元包括:
编码子单元,用于利用所述第二模型分别对所述任意两个句子进行编码,得到所述任意两个句子中第一句子对应的向量和所述任意两个句子中第二句子对应的向量;
第三计算子单元,用于将所述第一句子对应的向量和所述第二句子对应的向量进行矩阵内积计算,得到所述任意两个句子之间的第二语义相似度。
31.根据权利要求30所述的装置,其特征在于,所述第二模型为加和边界归一化指数函数模型,所述第三计算单元还包括:
训练子单元,用于利用门控循环单元替换所述加和边界归一化指数函数模型中的卷积神经网络;利用预设问答数据集对所述加和边界归一化指数函数模型进行训练,直至所述加和边界归一化指数函数模型收敛。
32.根据权利要求26所述的装置,其特征在于,所述第一筛选模块用于执行以下步骤:
S1,从所述关键词相似度的取值范围中选取大于第二相似度阈值的取值范围,作为第二目标取值范围;
S2,将所述第二目标取值范围划分为第一区间和第二区间,所述第一区间的起始值为所述第二目标取值范围的起始值,所述第一区间的取值范围与第一阈值相同;
S3,分别确定落入所述第一区间和所述第二区间内的所述关键词相似度对应的两两句子;
S4,将所述第一区间内不与所述第二区间内两两句子有关联的两两句子作为第一目标句子进行配对,所述第一区间内不与所述第二区间内两两句子有关联的两两句子为所述第一区间内任一两两句子中的第一句子或第二句子均不作为所述第二区间内任一两两句子的第一句子或第二句子的两两句子;
S5,判断所述第二区间的取值范围与是否小于或等于所述第一阈值,如果判断结果为否,将所述第二区间作为所述第二目标取值范围,并重复执行S2至S4;如果判断结果为是,将所述第二区间内的所有两两句子作为所述第一目标句子进行配对;
S6,得到所述第一配对集合。
33.根据权利要求29所述的装置,其特征在于,所述第一聚类单元用于执行以下步骤:
遍历所述第一配对集合,比较落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子;所述相同关键词相似度区域范围为权利要求29中各所述第一间隔区间;
如果落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子存在一个相同的句子,将所述两个关键词相似度对应的两个两两句子中的三个句子作为第一子类;
比较任意两个所述第一子类,如果任意两个所述第一子类中存在至少一个相同的句子,将任意两个所述第一子类划分为第二子类;
比较任意两个所述第二子类,如果任意两个所述第二子类中存在至少一个相同的句子,将任意两个所述第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,粗分支聚类结束;
将不存在相同的句子的所有第N子类作为所述粗分支聚类结果中的粗分支,其中,N为正整数。
34.根据权利要求32所述的装置,其特征在于,所述第一聚类单元用于执行以下步骤:
遍历所述第一配对集合,比较落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子;所述相同关键词相似度区域范围为权利要求32中各所述第一区间和所述S5中判断结果为是时的第二区间;
如果落入相同关键词相似度区域范围内的任意两个关键词相似度对应的两两句子存在一个相同的句子,将所述两个关键词相似度对应的两个两两句子中的三个句子作为第一子类;
比较任意两个所述第一子类,如果任意两个所述第一子类中存在至少一个相同的句子,将任意两个所述第一子类划分为第二子类;
比较任意两个所述第二子类,如果任意两个所述第二子类中存在至少一个相同的句子,将任意两个所述第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,粗分支聚类结束;
将不存在相同的句子的所有第N子类作为所述粗分支聚类结果中的粗分支,其中,N为正整数。
35.根据权利要求29或32所述的装置,其特征在于,所述第一聚类单元还用于执行以下步骤:
遍历所述第一配对集合,对落入相同关键词相似度区域范围的句子构建索引,所述索引包括键和值,其中,所述键为所述句子的标识,所述值为与所述句子配对的所有句子的标识组成的列表,两个句子配对是指所述两个句子关键词的相似度落入相同关键词相似度区域范围;
遍历所述键对应的值;
遍历所述值作为键对应的值,直至全部值遍历完成,其中,遍历所述值作为键对应的值时仅遍历未被访问过的值。
36.根据权利要求26所述的装置,其特征在于:
第一聚类单元,用于依据所述关键词相似度对所述问题数据中的句子做粗分支聚类,得到所述问题数据中的句子的粗分支聚类结果;将所述粗分支聚类结果中所述粗分支包含的句子的数目小于或等于第一预设阈值的粗分支作为所述问题数据中的句子的最终聚类结果;
第二聚类单元,用于依据所述语义相似度对所述粗分支聚类结果中所述粗分支包含的句子的数目大于所述第一预设阈值的粗分支做细分支聚类,得到所述问题数据中的句子的细分支聚类结果。
37.根据权利要求36所述的装置,其特征在于,
所述第二聚类单元用于依据所述语义相似度对所述粗分支聚类结果中的每个粗分支做细分支聚类,所述语义相似度包括第一语义相似度和/或第二语义相似度。
38.根据权利要求37所述的装置,其特征在于,所述装置还包括:
第二筛选模块,用于依据所述第一语义相似度从所述粗分支包含的句子中筛选出进行细分支聚类的第二目标句子组成的第二配对集合。
39.根据权利要求38所述的装置,其特征在于,所述第二筛选模块用于执行以下步骤:
从所述第一语义相似度的取值范围中选取大于第三相似度阈值的取值范围,作为第三目标取值范围;
按照第二间隔区间阈值将所述第三目标取值范围平均划分为多个第二间隔区间;
分别确定落入所述多个第二间隔区间内的所述第一语义相似度对应的两两句子;
对于各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入所述第一语义相似度最高的第二间隔区间内的两两句子、和对于所述各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入所述第一语义相似度最高的第二间隔区间内的两两句子,分别与其所在的第二间隔区间内不与其他第二间隔区间内两两句子有关联的两两句子共同作为所述第二目标句子进行配对;
得到所述第二配对集合;
所述各第二间隔区间内不与其他第二间隔区间内两两句子有关联的两两句子为所述第二间隔区间内任一两两句子中的第一句子或第二句子均不作为其他所述第二间隔区间内任一两两句子的第一句子或第二句子的两两句子;
所述各第二间隔区间内与其他第二间隔区间内两两句子有关联的两两句子为所述各第二间隔区间内的两两句子中的第一句子或第二句子作为其他所述第二间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
40.根据权利要求38所述的装置,其特征在于,所述第二筛选模块还用于执行以下步骤:
S10,从所述第一语义相似度的取值范围中选取大于第四相似度阈值的取值范围,作为第四目标取值范围;
S20,将所述第四目标取值范围划分为第三区间和第四区间,所述第三区间的起始值为所述第四目标取值范围的起始值,所述第三区间的取值范围与第二阈值相同;
S30,分别确定落入所述第三区间和所述第四区间内的所述第一语义相似度对应的两两句子;
S40,将所述第三区间内不与所述第四区间内两两句子有关联的两两句子作为第二目标句子进行配对,所述第三区间内不与所述第四区间内两两句子有关联的两两句子为所述第三区间内任一两两句子中的第一句子或第二句子均不作为所述第四区间内任一两两句子的第一句子或第二句子;
S50,判断所述第四区间的取值范围是否小于或等于所述第二阈值,如果判断结果为否,将所述第四区间作为所述第四目标取值范围,并重复执行S20至S40;如果判断结果为是,将所述第四区间内的所有两两句子作为所述第二目标句子进行配对;
S60,得到所述第二配对集合。
41.根据权利要求39所述的装置,其特征在于,所述第二聚类单元还用于执行以下步骤:
遍历所述第二配对集合,比较落入相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子;所述相同第一语义相似度区域范围为权利要求39中各所述第二间隔区间;
如果落入相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子存在一个相同的句子,将所述两个第一语义相似度对应的两个两两句子中的三个句子作为第一子类;
比较任意两个所述第一子类,如果任意两个所述第一子类中存在至少一个相同的句子,将任意两个所述第一子类划分为第二子类;
比较任意两个所述第二子类,如果任意两个所述第二子类中存在至少一个相同的句子,将任意两个所述第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,细分支聚类结束;
将不存在相同的句子的所有第N子类作为第一细分支聚类结果中的细分支,其中,N为正整数。
42.根据权利要求40所述的装置,其特征在于,所述第二聚类单元还用于执行以下步骤:
遍历所述第二配对集合,比较落入相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子;所述相同第一语义相似度区域范围为权利要求40中各所述第三区间和所述S50中判断结果为是时的第四区间;
如果落入相同第一语义相似度区域范围内的任意两个第一语义相似度对应的两两句子存在一个相同的句子,将所述两个第一语义相似度对应的两个两两句子中的三个句子作为第一子类;
比较任意两个所述第一子类,如果任意两个所述第一子类中存在至少一个相同的句子,将任意两个所述第一子类划分为第二子类;
比较任意两个所述第二子类,如果任意两个所述第二子类中存在至少一个相同的句子,将任意两个所述第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,细分支聚类结束;
将不存在相同的句子的所有第N子类作为第一细分支聚类结果中的细分支,其中,N为正整数。
43.根据权利要求39或40所述的装置,其特征在于,所述第二聚类单元还用于执行以下步骤获得第一细分支聚类结果:
遍历所述第二配对集合,对落入相同第一语义相似度区域范围的句子构建索引,所述索引包括键和值,其中,所述键为所述句子的标识,所述值为与所述句子配对的所有句子的标识组成的列表,两个句子配对是指所述两个句子的第一语义相似度落入相同第一语义相似度区域范围;
遍历所述键对应的值;
遍历所述值作为键对应的值,直至全部值遍历完成,其中,遍历所述值作为键对应的值时仅遍历未被访问过的值。
44.根据权利要求41所述的装置,其特征在于,所述第二聚类单元还用于执行以下步骤:
将所述第一细分支聚类结果中的细分支包含的句子的数目小于等于第二预设阈值的细分支作为所述问题数据中的句子的最终聚类结果;
依据所述第二语义相似度对所述第一细分支聚类结果中所述细分支包含的句子的数目大于所述第二预设阈值的细分支做第二次细分支聚类。
45.根据权利要求44所述的装置,其特征在于,所述装置还包括:
第三筛选模块,用于依据所述第二语义相似度从所述第一细分支聚类结果中所述细分支包含的句子的数目大于所述第二预设阈值的细分支包含的句子中筛选出进行细分支聚类的第三目标句子组成的第三配对集合。
46.根据权利要求45所述的装置,其特征在于,所述第三筛选模块用于执行以下步骤:
从所述第二语义相似度的取值范围中选取大于第五相似度阈值的取值范围,作为第五目标取值范围;
按照第三间隔区间阈值将所述第五目标取值范围平均划分为多个第三间隔区间;
分别确定落入所述多个第三间隔区间内的所述第二语义相似度对应的两两句子;
对于各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子的第一句子作为第一句子或第二句子的两两句子中落入所述第二语义相似度最高的第三间隔区间内的两两句子、和对于所述各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子的第二句子作为第一句子或第二句子的两两句子中落入所述第二语义相似度最高的第三间隔区间内的两两句子,分别与其所在的第三间隔区间内不与其他第三间隔区间内两两句子有关联的两两句子共同作为所述第三目标句子进行配对;
得到所述第三配对集合;
所述各第三间隔区间内不与其他第三间隔区间内两两句子有关联的两两句子为所述第三间隔区间内任一两两句子中的第一句子或第二句子均不作为其他所述第三间隔区间内任一两两句子的第一句子或第二句子的两两句子;
所述各第三间隔区间内与其他第三间隔区间内两两句子有关联的两两句子为所述各第三间隔区间内的两两句子中的第一句子或第二句子作为其他所述第三间隔区间内的一个或多个两两句子的第一句子或第二句子的两两句子。
47.根据权利要求45所述的装置,其特征在于,所述第三筛选模块还用于执行以下步骤:
S100,从所述第二语义相似度的取值范围中选取大于第六相似度阈值的取值范围,作为第六目标取值范围;
S200,将所述第六目标取值范围划分为第五区间和第六区间,所述第五区间的起始值为所述第六目标取值范围的起始值,所述第五区间的取值范围与第三阈值相同;
S300,分别确定落入所述第五区间和所述第六区间内的所述第二语义相似度对应的两两句子;
S400,将所述第五区间内不与所述第六区间内两两句子有关联的两两句子作为第三目标句子进行配对,所述第五区间内不与所述第六区间内两两句子有关联的两两句子为所述第五区间内任一两两句子中的第一句子或第二句子均不作为所述第六区间内任一两两句子的第一句子或第二句子的两两句子;
S500,判断所述第六区间的取值范围是否小于或等于所述第三阈值,如果判断结果为否,将所述第六区间作为所述第六目标取值范围,并重复执行S200至S400;如果判断结果为是,将所述第六区间内的所有两两句子作为所述第三目标句子进行配对;
S600,得到所述第三配对集合。
48.根据权利要求46所述的装置,其特征在于,所述第二聚类单元还用于执行以下步骤:
遍历所述第三配对集合,比较落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子;所述相同第二语义相似度区域范围为权利要求46中各所述第三间隔区间;
如果落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子存在一个相同的句子,将所述两个第二语义相似度对应的两个两两句子中的三个句子作为第一子类;
比较任意两个所述第一子类,如果任意两个所述第一子类中存在至少一个相同的句子,将任意两个所述第一子类划分为第二子类;
比较任意两个所述第二子类,如果任意两个所述第二子类中存在至少一个相同的句子,将任意两个所述第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,第二次细分支聚类结束;
将不存在相同的句子的所有第N子类作为第二次细分支聚类结果中的细分支,其中,N为正整数;
如果所述第二次细分支聚类结果中的细分支包含的句子的数目小于所述第二预设阈值,输出所述第二次细分支聚类结果。
49.根据权利要求47所述的装置,其特征在于,所述第二聚类单元还用于执行以下步骤:
遍历所述第三配对集合,比较落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子;所述相同第二语义相似度区域范围为权利要求47中各所述第五区间和所述S500中判断结果为是时的第六区间;
如果落入相同第二语义相似度区域范围内的任意两个第二语义相似度对应的两两句子存在一个相同的句子,将所述两个第二语义相似度对应的两个两两句子中的三个句子作为第一子类;
比较任意两个所述第一子类,如果任意两个所述第一子类中存在至少一个相同的句子,将任意两个所述第一子类划分为第二子类;
比较任意两个所述第二子类,如果任意两个所述第二子类中存在至少一个相同的句子,将任意两个所述第二子类划分为第三子类,以此类推,直至任意两个第N子类中不存在相同的句子,第二次细分支聚类结束;
将不存在相同的句子的所有第N子类作为第二次细分支聚类结果中的细分支,其中,N为正整数;
如果所述第二次细分支聚类结果中的细分支包含的句子的数目小于所述第二预设阈值,输出所述第二次细分支聚类结果。
50.根据权利要求46或47所述的装置,其特征在于,所述第二聚类单元还用于执行以下步骤获得第二次细分支聚类结果:
遍历所述第三配对集合,对落入相同第二语义相似度区域范围的句子构建索引,所述索引包括键和值,其中,所述键为所述句子的标识,所述值为与所述句子配对的所有句子的标识组成的列表,两个句子配对是指所述两个句子的第二语义相似度落入相同第二语义相似度区域范围;
遍历所述键对应的值;
遍历所述值作为键对应的值,直至全部值遍历完成,其中,遍历所述值作为键对应的值时仅遍历未被访问过的值。
51.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至25中任意一项所述的聚类方法。
52.一种处理器,其特征在于,所述处理器用于运行存储在存储器中的程序,其中,所述程序运行时执行权利要求1至25中任意一项所述的聚类方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011063022.4A CN112100382B (zh) | 2020-09-30 | 2020-09-30 | 聚类方法及装置、计算机可读存储介质、处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011063022.4A CN112100382B (zh) | 2020-09-30 | 2020-09-30 | 聚类方法及装置、计算机可读存储介质、处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100382A CN112100382A (zh) | 2020-12-18 |
CN112100382B true CN112100382B (zh) | 2024-05-10 |
Family
ID=73783007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011063022.4A Active CN112100382B (zh) | 2020-09-30 | 2020-09-30 | 聚类方法及装置、计算机可读存储介质、处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100382B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239689B (zh) * | 2021-07-07 | 2021-10-08 | 北京语言大学 | 面向易混淆词考察的选择题干扰项自动生成方法及装置 |
CN114048300A (zh) * | 2021-11-23 | 2022-02-15 | 融安云网(北京)技术有限公司 | 一种基于人工智能的行业解决方案生成方法、系统及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150066939A1 (en) * | 2013-08-29 | 2015-03-05 | Accenture Global Services Limited | Grouping semantically related natural language specifications of system requirements into clusters |
CN107590218A (zh) * | 2017-09-01 | 2018-01-16 | 南京理工大学 | 基于Spark的多特征结合中文文本高效聚类方法 |
CN109460457A (zh) * | 2018-10-25 | 2019-03-12 | 北京奥法科技有限公司 | 文本语句相似度计算方法、智能政务辅助解答系统及其工作方法 |
CN111221954A (zh) * | 2020-01-09 | 2020-06-02 | 珠海格力电器股份有限公司 | 一种构建家电维修问答库的方法、装置、存储介质及终端 |
CN111538821A (zh) * | 2020-04-17 | 2020-08-14 | 北京智齿博创科技有限公司 | 智能客服中解决知识库冷启动的方法和装置 |
CN111581354A (zh) * | 2020-05-12 | 2020-08-25 | 金蝶软件(中国)有限公司 | 一种faq问句相似度计算方法及其系统 |
-
2020
- 2020-09-30 CN CN202011063022.4A patent/CN112100382B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150066939A1 (en) * | 2013-08-29 | 2015-03-05 | Accenture Global Services Limited | Grouping semantically related natural language specifications of system requirements into clusters |
CN107590218A (zh) * | 2017-09-01 | 2018-01-16 | 南京理工大学 | 基于Spark的多特征结合中文文本高效聚类方法 |
CN109460457A (zh) * | 2018-10-25 | 2019-03-12 | 北京奥法科技有限公司 | 文本语句相似度计算方法、智能政务辅助解答系统及其工作方法 |
CN111221954A (zh) * | 2020-01-09 | 2020-06-02 | 珠海格力电器股份有限公司 | 一种构建家电维修问答库的方法、装置、存储介质及终端 |
CN111538821A (zh) * | 2020-04-17 | 2020-08-14 | 北京智齿博创科技有限公司 | 智能客服中解决知识库冷启动的方法和装置 |
CN111581354A (zh) * | 2020-05-12 | 2020-08-25 | 金蝶软件(中国)有限公司 | 一种faq问句相似度计算方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112100382A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113011533B (zh) | 文本分类方法、装置、计算机设备和存储介质 | |
CN104765769B (zh) | 一种基于词矢量的短文本查询扩展及检索方法 | |
Yu et al. | Beyond Word Attention: Using Segment Attention in Neural Relation Extraction. | |
CN108132927B (zh) | 一种融合图结构与节点关联的关键词提取方法 | |
Chow et al. | Multilayer SOM with tree-structured data for efficient document retrieval and plagiarism detection | |
CN113392209B (zh) | 一种基于人工智能的文本聚类方法、相关设备及存储介质 | |
CN112735597A (zh) | 半监督自学习驱动的医学文本病症辨识方法 | |
CN114048354B (zh) | 基于多元表征和度量学习的试题检索方法、装置及介质 | |
CN111581364B (zh) | 一种面向医疗领域的中文智能问答短文本相似度计算方法 | |
CN112100382B (zh) | 聚类方法及装置、计算机可读存储介质、处理器 | |
CN116992002A (zh) | 一种智能护理方案应答方法及系统 | |
Chen et al. | Knowledge abstraction matching for medical question answering | |
CN112084312A (zh) | 一种基于知识图构建的智能客服系统 | |
Hasan et al. | Content based document classification using soft cosine measure | |
CN110299194A (zh) | 基于综合特征表示与改进宽深度模型的相似病例推荐方法 | |
CN111782964B (zh) | 一种社区帖子的推荐方法 | |
CN114298020B (zh) | 一种基于主题语义信息的关键词向量化方法及其应用 | |
CN110674293A (zh) | 一种基于语义迁移的文本分类方法 | |
CN113220855B (zh) | 基于it技术问答网站的计算机技术领域发展趋势分析方法 | |
Gao et al. | Improving medical ontology based on word embedding | |
CN112380830B (zh) | 不同文档中相关句子的匹配方法、系统和计算机可读存储介质 | |
Nazar et al. | Ontology Population using Corpus Statistics. | |
Chen | Embedding Concepts and Documents in One Space | |
Sharaff et al. | Analyzing Farmers’ Protest Tweets using Topic Modelling Techniques | |
CN118349625A (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 |