CN111259117B - 短文本批量匹配方法及装置 - Google Patents
短文本批量匹配方法及装置 Download PDFInfo
- Publication number
- CN111259117B CN111259117B CN202010057007.2A CN202010057007A CN111259117B CN 111259117 B CN111259117 B CN 111259117B CN 202010057007 A CN202010057007 A CN 202010057007A CN 111259117 B CN111259117 B CN 111259117B
- Authority
- CN
- China
- Prior art keywords
- short text
- text information
- item
- similarity
- module
- 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 36
- 238000012545 processing Methods 0.000 claims abstract description 45
- 238000012163 sequencing technique Methods 0.000 claims abstract description 17
- 208000022417 sinus histiocytosis with massive lymphadenopathy Diseases 0.000 claims abstract description 5
- 238000004364 calculation method Methods 0.000 claims description 31
- 238000004422 calculation algorithm Methods 0.000 claims description 23
- 238000007781 pre-processing Methods 0.000 claims description 13
- 230000014509 gene expression Effects 0.000 claims description 12
- 230000011218 segmentation Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000005192 partition Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
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)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例公开了一种短文本批量匹配方法及装置。其中,该方法包括:根据至少一个关键项对待匹配的全量短文本信息进行分类和排序;根据所述分类切分所述全量短文本信息,将切分后数据集通过Spark分布式容器RDD分布到多个不同的处理设备中;在各个所述处理设备中并发计算所述切分后数据集中短文本信息的相似度,其中,对于每条短文本信息,只根据所述排序计算与其相邻的预设数量条短文本信息的相似度。
Description
技术领域
本公开涉及文本批量处理技术领域,具体涉及一种短文本批量匹配方法、装置、电子设备及存储介质。
背景技术
互联网技术尤其是移动互联网技术的发展为人们的日常生活带来了极大的便利,在电子化生活成为常态的同时,互联网服务提供方也面临着海量电子信息处理的挑战。典型地,当前我国移动通信开户量已达16亿,对于通用性较强的互联网应用来说,拥有上亿甚至上十亿的用户规模已经成为越来越常见的现象,而这动辄亿级的用户数量也使系统后台的信息处理能力承受了极大的压力。
举例来说,用户信息中有大量项目是短文本信息,比如地址、工作单位、学校、兴趣爱好、搜索记录或是其他一些描述信息等,由于用户经常会采用缩写、省略或合并等一些不规范的表述方式,使得系统在利用这些信息为用户提供个性化服务时常常需要先对短文本信息进行识别和匹配。
然而,发明人在实现本公开实施例相关技术方案的过程中发现,现有技术的短文本匹配至少存在以下问题:短文本信息虽然单条信息量不大,即便进行复杂处理也不会占用太多系统资源,但由于短文本匹配需要对多条信息进行两两匹配计算,实际属于时间复杂度O(n2)级别的算法,当信息量提升到一定级别之后,算法占用的计算资源将难以想象。例如,对于100万(106)条短文本信息,如果直接进行两两匹配进行计算,预计需要(106+1)*106/2次的匹配计算,即需进行O(1012)级别的计算,近万亿量级的相似度计算通常要以天为单位才能完成,这严重影响了大数据量的互联网应用系统的服务效率。
发明内容
针对现有技术中的上述技术问题,本公开实施例提出了一种短文本批量匹配方法、装置、电子设备及计算机可读存储介质,以解决现有技术中海量短文本信息匹配计算量大、系统响应效率低的问题。
本公开实施例的第一方面提供了一种短文本批量匹配方法,包括:
根据至少一个关键项对待匹配的全量短文本信息进行分类和排序;
根据所述分类切分所述全量短文本信息,将切分后数据集通过Spark分布式容器RDD分布到多个不同的处理设备中;
在各个所述处理设备中并发计算所述切分后数据集中短文本信息的相似度,其中,对于每条短文本信息,只根据所述排序计算与其相邻的预设数量条短文本信息的相似度。
在一些实施例中,所述至少一个关键项包括用户属性项、地名项、名称项、缩写项和专用表述项中的至少一种;所述进行分类和排序包括:
采用词典搜索匹配的方式确定各条短文本信息中关键项的命中情况;
根据所述命中情况对各条短文本信息进行分类和排序。
在一些实施例中,所述根据所述分类切分所述全量短文本信息包括:
根据所述处理设备的规模或数据相关性来选取适用的分类结果。
在一些实施例中,所述计算包括:
采用Jaccard相似度算法和文本编辑距离算法进行综合匹配。
在一些实施例中,所述方法还包括:
对多个所述关键项分别设置不同的权重后再进行所述分类和排序。
本公开实施例的第二方面提供了一种短文本批量匹配装置,包括:
预处理模块,用于根据至少一个关键项对待匹配的全量短文本信息进行分类和排序;
数据集切分模块,用于根据所述分类切分所述全量短文本信息,将切分后数据集通过Spark分布式容器RDD分布到多个不同的处理设备中;
并发计算模块,用于在各个所述处理设备中并发计算所述切分后数据集中短文本信息的相似度,其中,对于每条短文本信息,只根据所述排序计算与其相邻的预设数量条短文本信息的相似度。
在一些实施例中,所述至少一个关键项包括用户属性项、地名项、名称项、缩写项和专用表述项中的至少一种;所述预处理模块包括:
词典匹配模块,用于采用词典搜索匹配的方式确定各条短文本信息中关键项的命中情况;
统计处理模块,用于根据所述命中情况对各条短文本信息进行分类和排序。
在一些实施例中,所述数据集切分模块包括:
分类选取模块,用于根据所述处理设备的规模或数据相关性来选取适用的分类结果。
在一些实施例中,所述并发计算模块包括:
综合匹配模块,用于采用Jaccard相似度算法和文本编辑距离算法进行综合匹配。
在一些实施例中,所述预处理模块还包括:
权重设置模块,用于对多个所述关键项分别设置不同的权重后再进行所述分类和排序。
本公开实施例的第三方面提供了一种电子设备,包括:
存储器以及一个或多个处理器;
其中,所述存储器与所述一个或多个处理器通信连接,所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行时,所述电子设备用于实现如前述各实施例所述的方法。
本公开实施例的第四方面提供了一种计算机可读存储介质,其上存储有计算机可执行指令,当所述计算机可执行指令被计算装置执行时,可用来实现如前述各实施例所述的方法。
本公开实施例的第五方面提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,可用来实现如前述各实施例所述的方法。
本公开实施例利用Spark分布式计算和分类排序计算等手段对短文本匹配进行计算加速,能快速计算大数据量的文本相似度。
附图说明
通过参考附图会更加清楚的理解本公开的特征和优点,附图是示意性的而不应理解为对本公开进行任何限制,在附图中:
图1是根据本公开的一些实施例所示的一种短文本批量匹配方法流程示意图;
图2是根据本公开的一些实施例所示的一种短文本批量匹配装置模块结构示意图;
图3是根据本公开的一些实施例所示的一种电子设备的结构示意图。
具体实施方式
在下面的详细描述中,通过示例阐述了本公开的许多具体细节,以便提供对相关披露的透彻理解。然而,对于本领域的普通技术人员来讲,本公开显而易见的可以在没有这些细节的情况下实施。应当理解的是,本公开中使用“系统”、“装置”、“单元”和/或“模块”术语,是用于区分在顺序排列中不同级别的不同部件、元件、部分或组件的一种方法。然而,如果其他表达式可以实现相同的目的,这些术语可以被其他表达式替换。
应当理解的是,当设备、单元或模块被称为“在……上”、“连接到”或“耦合到”另一设备、单元或模块时,其可以直接在另一设备、单元或模块上,连接或耦合到或与其他设备、单元或模块通信,或者可以存在中间设备、单元或模块,除非上下文明确提示例外情形。例如,本公开所使用的术语“和/或”包括一个或多个相关所列条目的任何一个和所有组合。
本公开所用术语仅为了描述特定实施例,而非限制本公开范围。如本公开说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的特征、整体、步骤、操作、元素和/或组件,而该类表述并不构成一个排它性的罗列,其他特征、整体、步骤、操作、元素和/或组件也可以包含在内。
参看下面的说明以及附图,本公开的这些或其他特征和特点、操作方法、结构的相关元素的功能、部分的结合以及制造的经济性可以被更好地理解,其中说明和附图形成了说明书的一部分。然而,可以清楚地理解,附图仅用作说明和描述的目的,并不意在限定本公开的保护范围。可以理解的是,附图并非按比例绘制。
本公开中使用了多种结构图用来说明根据本公开的实施例的各种变形。应当理解的是,前面或下面的结构并不是用来限定本公开。本公开的保护范围以权利要求为准。
互联网应用中管理着海量的用户信息,这些用户信息中有大量项目是短文本信息,比如地址、工作单位、学校、兴趣爱好、搜索记录或是其他一些描述信息等,一个用户规模上亿的互联网应用中可能存在上百亿甚至更多的短文本信息。利用这些短文本信息,互联网应用可通过统计分析聚类等手段为用户提供个性化服务,但由于用户经常会采用缩写、省略或合并等一些不规范的表述方式,使得系统常常需要先对短文本信息进行识别和匹配。而现有的短文本匹配算法在处理海量信息时计算量难以控制,处理效率极低。
有鉴于此,本公开实施例提供了一种短文本批量匹配方法,利用Spark分布式计算和分类排序计算等手段对短文本匹配进行计算加速,能快速计算大数据量的文本相似度。如图1所示,在本公开的一个实施例中,短文本批量匹配方法包括步骤:
S101,根据至少一个关键项对待匹配的全量短文本信息进行分类和排序;
S102,根据所述分类切分所述全量短文本信息,将切分后数据集通过Spark分布式容器RDD(Resilient Distributed DataSet,弹性分布式数据集)分布到多个不同的处理设备中;
S103,在各个所述处理设备中并发计算所述切分后数据集中短文本信息的相似度,其中,对于每条短文本信息,只根据所述排序计算与其相邻的预设数量条短文本信息的相似度。
其中,Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎,在本公开的实施例中,核心目标是利用Spark RDD的分布式计算能力来进行并发计算,从而提高系统对海量相似度计算的处理效率。通常在Spark RDD中对于没有相关性的数据可以采用随机方式切分数据集,从而使各个分布式设备中要处理的任务量平均分配。但对于本公开的实施例,短文本信息实际上有极大概率存在较强的相关性,不恰当的切分显然会导致信息缺失、结果失真,因而随机方式不适用于切分短文本信息数据集。但是,在相似度计算之前Spark RDD又无法识别短文本信息之间的相关性,因而Spark RDD方式无法直接应用于海量短文本信息的匹配计算中,需要首先对全量短文本信息进行一定的预处理。
在本公开的一个实施例中,在切分数据集之前,通过预处理实现全量短文本信息的粗分类和排序,在一个优选实施例中,根据至少一个关键项对待匹配的全量短文本信息进行分类和排序。其中,短文本信息通常是针对用户的某些具体属性,比如地址、工作单位、学校等,粗分类的关键项可以是这些属性项。更进一步地,这些属性项还可以进一步细分,比如上述属性项通常都带有地名(如城市、区域等)和名称(如小区名、单位名、校名等),还有些项目具有固定的专用缩写形式,本公开的实施例中也可以通过这些细分项目对短文本信息进行分类。因此,在本公开的一个实施例中,至少一个关键项包括用户属性项、地名项、名称项、缩写项和专用表述项中的至少一种。对关键项的使用可以采用词典搜索匹配的方式,比如按城市进行搜索,将同一城市的短文本信息分为同一类数据集送入后续处理;而不同城市的信息显然相似度差异较大,不需要参与相似度计算,可直接切分后分发到不同设备中并发计算。其中,词典可以根据现有规则(比如行政区划等)预先建立,也可以根据相似度计算后识别出的信息聚类进行扩充。上述粗分类方式的处理量与全量数据两两匹配的相似度计算来说可忽略不计,甚至可以在用户输入信息就自动完成,因而在不增加系统负担的情况下有效解决了数据集的切分和并发问题,是Spark RDD的分布式计算可应用于本公开技术方案的基础。
此外,对全量短文本信息的排序也是一种粗排序方式,也可在上述粗分类的处理过程中同步完成。典型地,在本公开的一个实施例中,使用多个关键项进行粗分类时,可以按短文本信息命中的项目数进行粗排序,同时命中同样项目数越多的信息显然相似度越高,可以在排序时排在相近的位置。优选地,还可对多个关键项分别设置不同的权重,这可以使命中某些重要关键项的短文本信息在粗排序时位置更靠前;最后,对于那些难以区分或命中很少的信息可以采取一些通用规则进行粗排序,比如按照字母、拼音或笔划顺序排序等。总而言之,因为短文本信息具有集中性,则绝大多数相似的文本信息经过粗排序后,在得到的数据集中必然是紧邻或位置比较接近的,比如“上海市华为技术公司”和“上海华为有限公司”不仅会被分在同一个数据集中,在数据集中的位置也必然是比较接近的。利用这一特性,本公开实施例的技术方案中可以进一步降低相似度计算的计算量,具体实现方式详见后文的展开描述。
在本公开的一个实施例中,在根据至少一个关键项对全量短文本信息进行粗分类后,可以根据分类结果来切分数据集。其中,分类结果有可能是多级分类,比如地址项为一级分类、北京市为二级分类、海淀区为三级分类这样,或是一个短文本信息属于多个分类,比如“上海市华为技术公司”这条短文本信息可以同时属于“上海市”和“华为”两个分类,此时可以根据处理设备的规模或数据相关性来选取适用的分类结果。典型地,对于多级分类,显然当分布式处理设备数量足够多时可以选用尽可能下位的分类结果,当设备数量有限时则需要适当选择上位的分类结果;对于同时属于多个分类的,可以在多个切分数据集中均计算该条信息,也可以只在最相关的数据集(可以设置和/或计算权重来区分)中进行计算。
在本公开的实施例中,切分后的数据集可以利用Spark RDD的分布式计算能力来进行并发计算,从而提高系统对海量相似度计算的处理效率。其中,RDD是Spark提供的最重要的抽象概念,是一种有容错机制的特殊数据集合,可以分布在集群的结点上,以函数式操作集合的方式进行各种并行操作。可以将RDD理解为一个分布式对象集合,本质上是一个只读的分区记录集合。每个RDD可以分成多个分区,每个分区就是一个数据集片段。一个RDD的不同分区可以保存到集群中的不同结点上,从而可以在集群中的不同结点上进行并行计算。本公开的实施例主要是在RDD的数据集切分和分区方面进行了优化,后续的RDD操作(通常分为转化Transformation操作和行动Action操作)遵循Spark RDD的现有规范,在此不再一一展开详细描述。
另外,本公开的实施例中,在Spark RDD中进行的分布式并发计算主要是短文本信息的相似度计算。优选地,本公开的实施例采用Jaccard相似度算法和文本编辑距离算法等文本相似度处理算法来进行综合匹配。其中,编辑距离指的是两个字符串之间由一个转换成另一个所需的最少编辑操作次数,通常可允许的编辑操作包括将一个字符替换成另一个字符、插入一个字符、删除一个字符等。文本编辑距离算法是基于动态规划的思想来解决文本相似度计算问题,具体如下:
设字符串s(即第一短文本信息)的长度为n,字符串t(即第二短文本信息)的长度为m。如果n=0,则返回m并退出;如果m=0,则返回n并退出。否则构建一个数组d[0..m,0..n];
1、将第0行初始化为0..n,第0列初始化为0..m;
2、依次检查字符串s的每个字母(i=1..n);
3、依次检查字符串t的每个字母(j=1..m);
4、如果s[i]=t[j],则cost=0;如果s[i]!=t[j],则cost=1;
将d[i,j]设置为以下三个值中的最小值:
5、紧邻当前格上方的格的值加一,即d[i-1,j]+1;
6、紧邻当前格左方的格的值加一,即d[i,j-1]+1;
当前格左上方的格的值加cost,即d[i-1,j-1]+cost;
重复上述第2~6步直到循环结束,最终得到的d[n,m]即为文本编辑距离。该文本编辑距离可以用来表示字符串s(即第一短文本信息)和字符串t(即第二短文本信息)的相似程度,距离越短(d[n,m]数值越小)则相似度越高。使用文本编辑距离算法来计算短文本相似度的达成正确性和逾期值都比较高,通常可用于拼写检查、相似匹配等场景。
对于Jaccard相似度算法,其主要是计算两个文本的交集长度,即两个短文本信息中共有的字符的个数。Jaccard相似度算法依靠识别提取字符组成两个字符串a、b(即两条短文本信息)的交集(a∩b)和并集(a∪b)来实现,相关系数Jaccard=length(a∩b)/length(a∪b),表示对a、b两个字符串的交集长度和并集长度的比例进行计算;其中,交集长度指两个短文本中共有字符的数量,并集长度指两个短文本中全部字符的数量,两个长度中对于共有的字符通常只算一次。Jaccard相似度算法也可处理文本相似匹配,相关系数Jaccard数值越高则表示两短文本的相似度越高,但是该算法计算的相似度区分度相对要差些,一般作为辅助判断标准来帮助进一步筛选,或是会被设置一个稍低一点儿的权重来进行综合评估。
在本公开的实施例中,为避免在相似度计算时进行全部短文本信息的两两匹配,除了通过分类来切分数据集排除掉不相关的计算外,进一步还通过排序结果来进行有限范围的计算。具体地,在根据分类结果切分数据集后,对于每个分布式设备中的数据集,也不需要对数据集中所有的短文本信息都进行两两之间的相似度计算,如前所述,因为短文本信息具有集中性,绝大多数相似的文本信息经过粗排序后,在得到的数据集中必然是紧邻或位置比较接近的,因此利用这一特性,本公开实施例的技术方案中根据排序结果,只对当前短文本信息前后一定范围内的短文本信息的相似度进行计算。该一定范围可以通过一个数量项来预先设置,优选地,预设数量可以是一个默认数值或是根据实际情况来调整配置,比如,一个典型的预设数量可以是当前短文本信息相邻的20条短文本信息。通过该方式,可以进一步降低相似度计算的计算量,提升系统的处理效率。
当然,本领域相关技术人员可以理解,本公开的实施例虽然主要以短文本信息为例进行说明,但相关技术方案显然也可适用于长文本信息的匹配场景中。因而此处短文本信息不应理解为对本公开实施例的具体实现方式的限制,对于短文本信息的长度(即每一条中的字符数)也不应做出具体的限制,比如本领域中通常认为几个字、几十个字到一两百字的文本属于短文本,但本公开实施例所说的短文本信息并不严格受此限制,权利要求中也无需对短文本信息的长度做出明确的限定,相关表述在必要的时候可以直接按照文本信息来理解,而不应视作是不清楚的表述。最后,本领域相关技术人员也可以理解,相似度计算对于确定的两条文本来说是一致的,本公开的实施例虽然优选按照排序逐条处理计算,但理论上说在先已计算过的两条文本可以不必重复计算,本公开的实施例中的相似度计算也无需按照重复计算方式来做出具体的限制。
图2是根据本公开的一些实施例所示的一种短文本批量匹配装置示意图。如图2所示,短文本批量匹配装置200包括预处理模块201、数据集切分模块202和并发计算模块203;其中,
预处理模块201,用于根据至少一个关键项对待匹配的全量短文本信息进行分类和排序;
数据集切分模块202,用于根据所述分类切分所述全量短文本信息,将切分后数据集通过Spark分布式容器RDD分布到多个不同的处理设备中;
并发计算模块203,用于在各个所述处理设备中并发计算所述切分后数据集中短文本信息的相似度,其中,对于每条短文本信息,只根据所述排序计算与其相邻的预设数量条短文本信息的相似度。
在一些实施例中,所述至少一个关键项包括用户属性项、地名项、名称项、缩写项和专用表述项中的至少一种;所述预处理模块包括:
词典匹配模块,用于采用词典搜索匹配的方式确定各条短文本信息中关键项的命中情况;
统计处理模块,用于根据所述命中情况对各条短文本信息进行分类和排序。
在一些实施例中,所述数据集切分模块包括:
分类选取模块,用于根据所述处理设备的规模或数据相关性来选取适用的分类结果。
在一些实施例中,所述并发计算模块包括:
综合匹配模块,用于采用Jaccard相似度算法和文本编辑距离算法进行综合匹配。
在一些实施例中,所述预处理模块还包括:
权重设置模块,用于对多个所述关键项分别设置不同的权重后再进行所述分类和排序。
参考附图3,为本公开一个实施例提供的电子设备示意图。如图3所示,该电子设备300包括:
存储器330以及一个或多个处理器310;
其中,所述存储器330与所述一个或多个处理器310通信连接,所述存储器330中存储有可被所述一个或多个处理器执行的指令332,所述指令332被所述一个或多个处理器310执行,以使所述一个或多个处理器310执行本公开前述实施例中的方法。
具体地,处理器310和存储器330可以通过总线或者其他方式连接,图3中以通过总线340连接为例。处理器310可以为中央处理器(Central Processing Unit,CPU)。处理器310还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器330作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本公开实施例中的级联渐进网络等。处理器310通过运行存储在存储器330中的非暂态软件程序、指令以及功能模块332,从而执行处理器的各种功能应用以及数据处理。
存储器330可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器310所创建的数据等。此外,存储器330可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器330可选包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络(比如通过通信接口320)连接至处理器310。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本公开的一个实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被执行后执行本公开前述实施例中的方法。
前述的计算机可读取存储介质包括以存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方式或技术来实现的物理易失性和非易失性、可移动和不可移动介质。计算机可读取存储介质具体包括,但不限于,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、可擦除可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(DVD)、HD-DVD、蓝光(Blue-Ray)或其他光存储设备、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机访问的任何其他介质。
尽管此处所述的主题是在结合操作系统和应用程序在计算机系统上的执行而执行的一般上下文中提供的,但本领域技术人员可以认识到,还可结合其他类型的程序模块来执行其他实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。本领域技术人员可以理解,此处所述的本主题可以使用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等,也可使用在其中任务由通过通信网络连接的远程处理设备执行的分布式计算环境中。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备的两者中。
本领域普通技术人员可以意识到,结合本文中所本公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对原有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。
综上所述,本公开实施例提出了一种短文本批量匹配方法、装置、电子设备及其计算机可读存储介质。本公开实施例在切分数据集之前,通过预处理实现全量短文本信息的粗分类和排序,从而可以有效利用Spark RDD的分布式计算能力来进行并发计算,提高了系统对海量相似度计算的处理效率。
采用本公开实施例的技术方案对大量短文本信息进行相似度处理,根据一个小规模分布式集群的实验结果,批量处理100万余条公司名称信息,用时107分钟(1.7小时)即可完成;对大量地址信息进行相似度处理,上述实验环境批量处理1100余万条地址信息,用时7小时左右。相对于现有技术中对百万条信息进行处理动辄要按天计算的处理效率来说,本公开实施例的技术方案显然有着显而易见的优势。
应当理解的是,本公开的上述具体实施方式仅仅用于示例性说明或解释本公开的原理,而不构成对本公开的限制。因此,在不偏离本公开的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。此外,本公开所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (8)
1.一种短文本批量匹配方法,其特征在于,包括:
根据至少一个关键项对待匹配的全量短文本信息进行分类和排序,所述至少一个关键项包括用户属性项、地名项、名称项、缩写项和专用表述项中的至少一种;所述进行分类和排序包括:采用词典搜索匹配的方式确定各条短文本信息中关键项的命中情况;根据所述命中情况对各条短文本信息进行分类和排序;
根据所述分类切分所述全量短文本信息,将切分后数据集通过Spark分布式容器RDD分布到多个不同的处理设备中;
在各个所述处理设备中并发计算所述切分后数据集中短文本信息的相似度,其中,对于每条短文本信息,只根据所述排序计算与其相邻的预设数量条短文本信息的相似度。
2.根据权利要求1所述的方法,其特征在于,所述根据所述分类切分所述全量短文本信息包括:
根据所述处理设备的规模或数据相关性来选取适用的分类结果。
3.根据权利要求1所述的方法,其特征在于,所述计算包括:
采用Jaccard相似度算法和文本编辑距离算法进行综合匹配。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对多个所述关键项分别设置不同的权重后再进行所述分类和排序。
5.一种短文本批量匹配装置,其特征在于,包括:
预处理模块,用于根据至少一个关键项对待匹配的全量短文本信息进行分类和排序所述至少一个关键项包括用户属性项、地名项、名称项、缩写项和专用表述项中的至少一种;所述预处理模块包括:词典匹配模块,用于采用词典搜索匹配的方式确定各条短文本信息中关键项的命中情况;统计处理模块,用于根据所述命中情况对各条短文本信息进行分类和排序;
数据集切分模块,用于根据所述分类切分所述全量短文本信息,将切分后数据集通过Spark分布式容器RDD分布到多个不同的处理设备中;
并发计算模块,用于在各个所述处理设备中并发计算所述切分后数据集中短文本信息的相似度,其中,对于每条短文本信息,只根据所述排序计算与其相邻的预设数量条短文本信息的相似度。
6.根据权利要求5所述的装置,其特征在于,所述数据集切分模块包括:
分类选取模块,用于根据所述处理设备的规模或数据相关性来选取适用的分类结果。
7.根据权利要求5所述的装置,其特征在于,所述并发计算模块包括:
综合匹配模块,用于采用Jaccard相似度算法和文本编辑距离算法进行综合匹配。
8.根据权利要求5所述的装置,其特征在于,所述预处理模块还包括:
权重设置模块,用于对多个所述关键项分别设置不同的权重后再进行所述分类和排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010057007.2A CN111259117B (zh) | 2020-01-16 | 2020-01-16 | 短文本批量匹配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010057007.2A CN111259117B (zh) | 2020-01-16 | 2020-01-16 | 短文本批量匹配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111259117A CN111259117A (zh) | 2020-06-09 |
CN111259117B true CN111259117B (zh) | 2023-11-21 |
Family
ID=70952366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010057007.2A Active CN111259117B (zh) | 2020-01-16 | 2020-01-16 | 短文本批量匹配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111259117B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737347B (zh) * | 2020-06-15 | 2024-02-13 | 中国工商银行股份有限公司 | 在Spark平台顺序切分数据的方法及装置 |
CN118331950B (zh) * | 2024-06-12 | 2024-08-27 | 成都无糖信息技术有限公司 | 一种海量短文本去重方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000090193A (ja) * | 1998-09-16 | 2000-03-31 | Sharp Corp | 文字認識装置および項目分類方法 |
WO2018049960A1 (zh) * | 2016-09-14 | 2018-03-22 | 厦门幻世网络科技有限公司 | 一种为文本信息匹配资源的方法及装置 |
CN109002443A (zh) * | 2017-06-06 | 2018-12-14 | 北京国双科技有限公司 | 一种文本信息的分类方法及装置 |
CN109597994A (zh) * | 2018-12-04 | 2019-04-09 | 挖财网络技术有限公司 | 短文本问题语义匹配方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7024408B2 (en) * | 2002-07-03 | 2006-04-04 | Word Data Corp. | Text-classification code, system and method |
US10417273B2 (en) * | 2017-01-05 | 2019-09-17 | International Business Machines Corporation | Multimedia analytics in spark using docker |
-
2020
- 2020-01-16 CN CN202010057007.2A patent/CN111259117B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000090193A (ja) * | 1998-09-16 | 2000-03-31 | Sharp Corp | 文字認識装置および項目分類方法 |
WO2018049960A1 (zh) * | 2016-09-14 | 2018-03-22 | 厦门幻世网络科技有限公司 | 一种为文本信息匹配资源的方法及装置 |
CN109002443A (zh) * | 2017-06-06 | 2018-12-14 | 北京国双科技有限公司 | 一种文本信息的分类方法及装置 |
CN109597994A (zh) * | 2018-12-04 | 2019-04-09 | 挖财网络技术有限公司 | 短文本问题语义匹配方法和系统 |
Non-Patent Citations (1)
Title |
---|
基于语义与最大匹配度的短文本分类研究;孙建旺;吕学强;张雷瀚;;计算机工程与设计(10);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111259117A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11580104B2 (en) | Method, apparatus, device, and storage medium for intention recommendation | |
CN106815369B (zh) | 一种基于Xgboost分类算法的文本分类方法 | |
CN109885773B (zh) | 一种文章个性化推荐方法、系统、介质及设备 | |
CN104112026B (zh) | 一种短信文本分类方法及系统 | |
WO2017097231A1 (zh) | 话题处理方法及装置 | |
CN110209808A (zh) | 一种基于文本信息的事件生成方法以及相关装置 | |
Goyal et al. | Multilevel event detection, storyline generation, and summarization for tweet streams | |
Vysotska et al. | Development of Information System for Textual Content Categorizing Based on Ontology. | |
US20100131496A1 (en) | Predictive indexing for fast search | |
Wu et al. | Extracting topics based on Word2Vec and improved Jaccard similarity coefficient | |
CN111985228A (zh) | 文本关键词提取方法、装置、计算机设备和存储介质 | |
CN111259117B (zh) | 短文本批量匹配方法及装置 | |
CN103218368B (zh) | 一种挖掘热词的方法与装置 | |
CN110647995A (zh) | 规则训练方法、装置、设备及存储介质 | |
CN110990676A (zh) | 一种社交媒体热点主题提取方法与系统 | |
US8856123B1 (en) | Document classification | |
CN114547257B (zh) | 类案匹配方法、装置、计算机设备及存储介质 | |
CN118093962A (zh) | 数据检索方法、装置、系统、电子设备及可读存储介质 | |
CN111737461B (zh) | 文本的处理方法、装置、电子设备及计算机可读存储介质 | |
Han et al. | Multi-spatial scale event detection from geo-tagged tweet streams via power-law verification | |
CN112749905A (zh) | 一种基于大数据挖掘的洪涝灾害评估方法 | |
JP7213890B2 (ja) | 高速化された大規模な類似度計算 | |
Wang et al. | EEUPL: Towards effective and efficient user profile linkage across multiple social platforms | |
JP7272846B2 (ja) | 文書分析装置および文書分析方法 | |
CN114036290A (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 |