CN112380244A - 一种分词搜索方法、装置、电子设备及可读存储介质 - Google Patents
一种分词搜索方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN112380244A CN112380244A CN202011403537.4A CN202011403537A CN112380244A CN 112380244 A CN112380244 A CN 112380244A CN 202011403537 A CN202011403537 A CN 202011403537A CN 112380244 A CN112380244 A CN 112380244A
- Authority
- CN
- China
- Prior art keywords
- search
- word
- participle
- target search
- target
- 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
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种分词搜索方法、装置、电子设备及可读存储介质,所述方法包括:获取目标搜索分词;若目标搜索分词的词语长度大于预设的字数阈值,则基于第一搜索算法确定目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第一相似度,其中,第一搜索算法包括搜索权重因子算法;若目标搜索分词的词语长度不大于预设的字数阈值,则基于第二搜索算法确定目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第二相似度;将文本内容对应的第一相似度或第二相似度按照从大到小的顺序排列,确定与目标搜索分词相关联的目标搜索内容。这样一来,不仅缓解了分词搜索时服务器的性能压力,还提高了分词搜索的搜索效率。
Description
技术领域
本申请涉及分词搜索技术领域,具体而言,涉及一种分词搜索方法、装置、电子设备及可读存储介质。
背景技术
信息的筛选离不开搜索技术,随着时代和业务的发展,用户对搜索结果的精准度要求越来越高。
现有的结构化查询语言(Structured Query Languag,SQL)查询仅能满足部分简单的标准化搜索场景,数据量在10万以下,查询速度比较快,当信息数量增加到了30万时,搜索场景要求使用分词查询。但随着互联网的发展,当信息数量达到50万时,由于分词技术的索引文件内存较大,不仅会提高服务器的性能压力,还会导致搜索效率直线下降。
发明内容
有鉴于此,本申请的目的在于提供一种分词搜索方法、装置、电子设备及可读存储介质,针对不同词语长度的搜索分词,动态选择不同的搜索算法,不仅缓解了分词搜索时服务器的性能压力,还提高了分词搜索的搜索效率。
第一方面,本申请实施例提供了一种分词搜索方法,所述方法包括:
获取目标搜索分词;
若所述目标搜索分词的词语长度大于预设的字数阈值,则基于第一搜索算法确定所述目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第一相似度,其中,所述第一搜索算法包括搜索权重因子算法;
若所述目标搜索分词的词语长度不大于预设的字数阈值,则基于第二搜索算法确定所述目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第二相似度;
将文本内容对应的第一相似度或第二相似度按照从大到小的顺序排列,确定与所述目标搜索分词相关联的目标搜索内容。
优选地,所述第一搜索算法通过以下步骤确定所述第一相似度:
获取该目标搜索分词在数据库中与该目标搜索分词关联的文本内容中的第一出现次数,该文本内容的第一词数总数,与该目标搜索分词关联的文本内容的第一统计数量,数据库中的所有文本内容的第一总量,以及与该目标搜索分词对应的权重因子数据;
基于所述第一出现次数和所述第一词数总数,确定该目标搜索分词的第一词频信息;
基于所述第一统计数量和所述第一总量,确定该目标搜索分词的第一频率信息;
基于该目标搜索分词对应的权重因子数据,确定搜索权重结果;
根据所述第一词频信息和所述第一频率信息之间的第一乘积结果以及所述搜索权重结果,确定与该目标搜索分词关联的文本内容和该目标搜索分词之间的第一相似度。
优选地,通过以下公式确定所述第一相似度:
score=score1+ln(1+a×weight);
其中,score表示所述第一相似度,score1表示所述第一乘积结果,ln(1+a×weight)表示所述搜索权重结果,a表示因子权重系数,a的取值范围在0至1之间,weight表示权重因子数据。
优选地,所述第二搜索算法通过以下步骤确定所述第二相似度:
获取该目标搜索分词在数据库中与该目标搜索分词关联的文本内容中的第二出现次数,该文本内容的第二词数总数,与该目标搜索分词关联的文本内容的第二统计数量,数据库中的所有文本内容的第二总量;
基于所述第二出现次数和所述第二词数总数,确定该目标搜索分词的第二词频信息;
基于所述第二统计数量和所述第二总量,确定该目标搜索分词的第二频率信息;
根据所述第二词频信息和所述第二频率信息之间的第二乘积结果,确定与该目标搜索分词关联的文本内容和该目标搜索分词之间的第二相似度。
优选地,在所述获取目标搜索分词之前,所述方法还包括:
获取原始搜索文本以及预设的降权词;
确定所述原始搜索文本经过分词处理后的多个搜索分词;
为所述多个搜索分词中与所述降权词相同的搜索分词设置权重系数,得到至少一个目标搜索分词。
优选地,所述确定所述原始搜索文本经过分词处理后的多个搜索分词,包括:
将所述原始搜索文本进行分词处理,得到多个分词结果以及未分成词的单字;
获取单字进行组合时的最大词语长度为字数阈值;
将所述未分成词的单字进行有序组合,得到多个新词结果,其中,每个所述新词结果的词语长度不超过所述字数阈值;
将多个所述分词结果和多个所述新词结果确定为所述原始搜索文本经过分词处理后的多个搜索分词。
优选地,当所述权重系数为0时,所述为所述多个搜索分词中与所述降权词相同的搜索分词设置权重系数,得到至少一个目标搜索分词,包括:
从所述多个搜索分词中删除与所述降权词相同的搜索分词,得到至少一个目标搜索分词,其中,所述降权词包括语气助词、连词、结构助词以及后缀词。
第二方面,本申请实施例提供了一种分词搜索装置,所述装置包括:
分词获取模块,用于获取目标搜索分词;
第一确定模块,用于若所述目标搜索分词的词语长度大于预设的字数阈值,则基于第一搜索算法确定所述目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第一相似度,其中,所述第一搜索算法包括搜索权重因子算法;
第二确定模块,用于若所述目标搜索分词的词语长度不大于预设的字数阈值,则基于第二搜索算法确定所述目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第二相似度;
目标确定模块,用于将文本内容对应的第一相似度或第二相似度按照从大到小的顺序排列,确定与所述目标搜索分词相关联的目标搜索内容。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上所述的分词搜索方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上所述的分词搜索方法的步骤。
本申请实施例提供了一种分词搜索方法、装置、电子设备及可读存储介质,其中,所述方法包括:先获取目标搜索分词,然后判断目标搜索分词的词语长度与预设的字数阈值之间的大小关系,若目标搜索分词的词语长度大于预设的字数阈值,则基于第一搜索算法确定目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第一相似度,其中,第一搜索算法包括搜索权重因子算法;若目标搜索分词的词语长度不大于预设的字数阈值,则基于第二搜索算法确定目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第二相似度;将文本内容对应的第一相似度或第二相似度按照从大到小的顺序排列,确定与目标搜索分词相关联的目标搜索内容。与现有技术中存在的由于分词技术的索引文件内存较大,导致服务器的性能压力提高,同时降低搜索效率的技术问题相比,本申请可以针对不同词语长度的搜索分词,动态选择不同的搜索算法,不仅缓解了分词搜索时服务器的性能压力,还提高了分词搜索的搜索效率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例所提供的一种分词搜索方法的流程图;
图2为本申请实施例所提供的另一种分词搜索方法的流程图;
图3为本申请实施例所提供的一种分词搜索装置的结构示意图之一;
图4为本申请实施例所提供的另一种分词搜索装置的结构示意图之二;
图5为本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
首先,对本申请可适用的应用场景进行介绍。本申请可应用在搜索引擎内,它关系搜索引擎最重要的部分,以及搜索精确的问题,对于搜索引擎来说,最重要的并不是找到所有结果,因为在上百亿的网页中找到所有结果没有太多的意义,没有人能看得完,最重要的是把最相关的结果排在最前面,这也称为相关度排序。随着互联网的发展,现在正在逐步向人们学习,工作,休闲等各个空间延伸,因此互联网上信息迎来了爆炸式的增长,信息多元化使人们分辨搜索起来困难无比,如何快速的让人们在多种多样的信息中找到自己想要的内容成了一个难题。
现有的结构化查询语言(Structured Query Languag,SQL)查询仅能满足部分简单的标准化搜索场景,数据量在10万以下,查询速度比较快,当信息数量增加到了30万时,搜索场景要求使用分词查询。但随着互联网的发展,当信息数量达到50万时,由于分词技术的索引文件内存较大,不仅会提高服务器的性能压力,还会导致搜索效率直线下降。
基于此,本申请实施例提供了一种分词搜索方法、装置、电子设备及可读存储介质,以针对不同词语长度的搜索分词,动态选择不同的搜索算法,不仅缓解了分词搜索时服务器的性能压力,还提高了分词搜索的搜索效率。
请参阅图1,图1为本申请实施例所提供的一种分词搜索方法的流程图。如图1中所示,本申请实施例提供的分词方法,以服务器为执行主体,包括:
S101、获取目标搜索分词;
步骤S101中,服务器响应用户的搜索动作,然后经过分词处理后得到用户的目标搜索分词。
这里,目标搜索分词可以是核心关键词,可以是多个核心关键词完整的内容,也可以是较为长的搜索文本经过分词处理后的搜索分词。
S102、若所述目标搜索分词的词语长度大于预设的字数阈值,则基于第一搜索算法确定所述目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第一相似度,其中,所述第一搜索算法包括搜索权重因子算法;
这里,服务器可以先判断目标搜索分词的词语长度与预设的字数阈值之间的大小关系,然后根据目标搜索分词的词语长度与预设的字数阈值之间的大小关系来选择采用哪种搜索算法进行关键词搜索。
为了提高分词搜索的精准度,本申请实施例在分词搜索之前已经进行了自定义词库,其中,自定义词库包括一些无法用正常的词库来进行分词的词组,这样一来,目标搜索分词的范围就扩大了,进而可以在数据库中更充分的进行搜索,起到提高搜索精准度的作用。
这里,当目标搜索分词的词语长度大于预设的字数阈值时,可以结合自定义词库来确定目标搜索分词。服务器在搜索该目标搜索分词时,可以采用系统内部的TF-IDF算法以及新增的搜索权重因子算法共同来计算目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第一相似度。
具体地,TF-IDF算法是一种统计方法,用来评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。进而,通过该算法,可以表征关键词在该文章中的重要性。
S103、若所述目标搜索分词的词语长度不大于预设的字数阈值,则基于第二搜索算法确定所述目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第二相似度。
这里,当目标搜索分词的词语长度不大于预设的字数阈值时,可以结合自定义词库来确定目标搜索分词。服务器在搜索该目标搜索分词时,可以直接采用系统内部的TF-IDF算法来计算目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第二相似度。
S104、将文本内容对应的第一相似度或第二相似度按照从大到小的顺序排列,确定与所述目标搜索分词相关联的目标搜索内容。
步骤S104中,当目标搜索分词的词语长度大于预设的字数阈值时,服务器采用第一搜索算法计算第一相似度,第一搜索算法包括TF-IDF算法以及新增的搜索权重因子算法;当目标搜索分词的词语长度不大于预设的字数阈值时,服务器采用第二搜索算法计算第二相似度,第二搜索算法包括TF-IDF算法,将第一相似度或第二相似度按照从大到小的顺序排列,然后按照第一相似度或第二相似度的排列顺序将第一相似度或第二相似度对应的数据库中的文本内容推荐给用户。
本申请实施例提供的分词搜索方法,包括:先获取目标搜索分词,然后判断目标搜索分词的词语长度与预设的字数阈值之间的大小关系,若目标搜索分词的词语长度大于预设的字数阈值,则基于第一搜索算法确定目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第一相似度,其中,第一搜索算法包括搜索权重因子算法;若目标搜索分词的词语长度不大于预设的字数阈值,则基于第二搜索算法确定目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第二相似度;将文本内容对应的第一相似度或第二相似度按照从大到小的顺序排列,确定与目标搜索分词相关联的目标搜索内容。与现有技术中存在的由于分词技术的索引文件内存较大,导致服务器的性能压力提高,同时降低搜索效率的技术问题相比,本申请可以针对不同词语长度的搜索分词,动态选择不同的搜索算法,不仅缓解了分词搜索时服务器的性能压力,还提高了分词搜索的搜索效率。
请参阅图2,图2为本申请实施例提供的另一种分词搜索方法的流程图。如图2中所示,本申请实施例提供的分词搜索方法,包括:
S201、获取原始搜索文本以及预设的降权词;
步骤S201中,降权词的目的主要是为了降低宽泛的搜索分词(后缀词)的权重,从而降低宽泛的搜索分词在搜索时的重要程度。
这里的宽泛的搜索分词包括对搜索没有意义的词,例如:公司、机构、企业等。
其中,原始搜索文本可以为多个核心关键词对应的完整内容,也可以是较为长的搜索文本。
S202、确定所述原始搜索文本经过分词处理后的多个搜索分词;
这里的搜索分词是将原始搜索文本先进行分词处理,然后将分出的词语作为一部分搜索分词,将分出的单字进行排列组合,形成新词,将新词作为另一部分搜索分词。
S203、为所述多个搜索分词中与所述降权词相同的搜索分词设置权重系数,得到至少一个目标搜索分词;
步骤S203中,将对检索没有作用的搜索分词对应的权重系数设置的小一些,对检索有关键作用的搜索分词对应的权重系数设置的大一些。
这里的权重系数的取值范围在0至1之间,针对一些宽泛的搜索分词,可以将其对应的权重系数设置为0,即对检索没有作用的搜索分词对应的权重系数可以设置成0。
S204、获取目标搜索分词;
S205、若所述目标搜索分词的词语长度大于预设的字数阈值,则基于第一搜索算法确定所述目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第一相似度,其中,所述第一搜索算法包括搜索权重因子算法;
S206、若所述目标搜索分词的词语长度不大于预设的字数阈值,则基于第二搜索算法确定所述目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第二相似度;
S207、将文本内容对应的第一相似度或第二相似度按照从大到小的顺序排列,确定与所述目标搜索分词相关联的目标搜索内容。
其中,S204至S207的描述可以参照S101至S104的描述,并且能达到相同的技术效果,对此不做赘述。
在本申请实施例中,作为一种优选的实施例,步骤S205中的第一搜索算法通过以下步骤确定所述第一相似度:
获取该目标搜索分词在数据库中与该目标搜索分词关联的文本内容中的第一出现次数,该文本内容的第一词数总数,与该目标搜索分词关联的文本内容的第一统计数量,数据库中的所有文本内容的第一总量,以及与该目标搜索分词对应的权重因子数据;基于所述第一出现次数和所述第一词数总数,确定该目标搜索分词的第一词频信息;基于所述第一统计数量和所述第一总量,确定该目标搜索分词的第一频率信息;基于该目标搜索分词对应的权重因子数据,确定搜索权重结果;根据所述第一词频信息和所述第一频率信息之间的第一乘积结果以及所述搜索权重结果,确定与该目标搜索分词关联的文本内容和该目标搜索分词之间的第一相似度。
步骤S205中,第一词频信息越大表征重要程度越大,即关联程度越大;第一频率信息越大表征重要程度越低,即关联程度越小,通过将两者结合,可以准确的得到与该目标搜索分词相关联的每个文本内容之间的第一相似度。
具体地,通过以下公式确定所述第一相似度:
score=score1+ln(1+a×weight);
其中,score表示所述第一相似度,score1表示所述第一乘积结果,ln(1+a×weight)表示所述搜索权重结果,a表示因子权重系数,a的取值范围在0至1之间,weight表示权重因子数据。
其中,因子权重系数a用于表示权重因子数据weight的重要程度,当该权重因子数据的重要程度较大时,将该权重因子数据对应的因子权重系数a的值设置的大一些,反之,当该权重因子数据的重要程度较小时,将该权重因子数据对应的因子权重系数a的值设置的小一些。
这里,权重因子数据weight可以根据实际情况进行确定,具体可以包括销售额数量、营销活动数量以及企业业绩数量等。
进而,搜索权重结果是对权重因子数据做对数运算,其中,权重因子数据的因子权重系数根据实际情况进行自定义,因子权重系数越大,说明权重因子数据的权重越大,重要程度越高。
举例说明,假设目标搜索分词是ABC,TF:Term Frequency,一般称为“关键词的词频”,计算方法:文本内容中目标搜索分词的出现次数除以文本内容的总词数(非去重)。在一篇总词数为10000的文本内容中,“ABC”出现了19次,那么它的TF为:0.0019。
IDF:Inverse Document Frequency,一般称为“逆文本频率指数”。计算方法:其中D为数据库中文本的个数,为出现过该目标搜索分词的文本个数。例如,数据库中共有1000个文本,包含“ABC”的文本有3个,那么它的IDF为:log(1000/3);
假设权重因子数据为企业业绩数量,这里的企业业绩数量为98,权重因子数据的因子权重系数为0.3,那么得到搜索权重结果为:ln(1+0.3*98);
综上可知,目标搜索分词“ABC”与该文本内容的第一相似度score为:0.0017*log(1000/3)+ln(1+0.3*98)。
基于相同的技术构思,步骤S206中的第二搜索算法通过以下步骤确定所述第二相似度:
获取该目标搜索分词在数据库中与该目标搜索分词关联的文本内容中的第二出现次数,该文本内容的第二词数总数,与该目标搜索分词关联的文本内容的第二统计数量,数据库中的所有文本内容的第二总量;基于所述第二出现次数和所述第二词数总数,确定该目标搜索分词的第二词频信息;基于所述第二统计数量和所述第二总量,确定该目标搜索分词的第二频率信息;根据所述第二词频信息和所述第二频率信息之间的第二乘积结果,确定与该目标搜索分词关联的文本内容和该目标搜索分词之间的第二相似度。
步骤S206中,第二词频信息越大表征重要程度越大,即关联程度越大;第二频率信息越大表征重要程度越低,即关联程度越小,通过将两者结合,可以准确的得到与该目标搜索分词相关联的每个文本内容之间的第二相似度。
具体地,通过以下公式确定所述第二相似度:
score=score2;
其中,score表示所述第二相似度,score2表示所述第二乘积结果。
需要说明的是,第二相似度的计算原理与第一相似度的计算原理相同,具体例子可以参见第一相似度的计算过程,在此不再一一赘述。
在本申请实施例中,作为一种优选的实施例,步骤S202包括:
将所述原始搜索文本进行分词处理,得到多个分词结果以及未分成词的单字;获取单字进行组合时的最大词语长度为字数阈值;将所述未分成词的单字进行有序组合,得到多个新词结果,其中,每个所述新词结果的词语长度不超过所述字数阈值;将多个所述分词结果和多个所述新词结果确定为所述原始搜索文本经过分词处理后的多个搜索分词。
这里,再将原始搜索文本进行分词处理之前,已经根据查询数据的性质自定义了词库,即自定义了一批适合提升查询结果精准度的词库,类似于自建的词典。这样,非正常的词组也可以被用来进行分词搜索。
举例说明,拿姓名来说,虽然说文本内容简单,但几个字组合起来,90%的姓名都不是我们正常的词组,再拿企业名字来说,95%的企业名称都是很有规律的:地区+企业核心关键词+企业性质+企业后缀(有限公司、集团等等)。除了企业核心关键词外,其他的其实都是标准的词库。唯独这些核心关键词,跟姓名是一样的性质,由单个文字拼凑起来。这时,非正常的词组是无法用正常的词库来分词的,于是就可以针对这些非正常的词组的文本数据进行自定义词库。
具体地,拿某个企业名来说,用IK分词器(IK分词器是一款基于词典和规则的中文分词器)将该企业名拆分之后,将未分成词的单字顺序排列,进行有序组合造词。由于单字可能会存在长度过长的情况,在此设置单字进行组合时的最大词语长度为字数阈值,即新词结果的词语长度不能超过字数阈值,这个字数阈值可以动态配置。
以“ABC集团有限公司”为例,词库生成步骤如下:
(1)IK分词器分词,分词结果如下:
A、B、C、集团、有限、公司;
(2)提取未分词的关键字:A、B、C;
(3)未分词的关键字有序组合生成词库:
ABC、AB、BC。
在本申请实施例中,作为一种优选的实施例,当所述权重系数为0时,步骤S203包括:
从所述多个搜索分词中删除与所述降权词相同的搜索分词,得到至少一个目标搜索分词,其中,所述降权词包括语气助词、连词、结构助词以及后缀词。
举例说明,为了场景化分析搜索分词,将宽泛的搜索词语设置最低权重。以搜索企业名来说,一般会搜索企业名字前几个字或者核心关键字,大部分人都会将企业名字后缀加上去。然而企业名字后缀其实对搜索结果来讲并没有那么重要。进而可以预先定义一批关键词作为降权词,如企业名后缀词:公司、集团、有限、建设、建筑等,或是常见的语气助词、连词、结构助词等,当用户提交搜索文本后,对搜索文本进行拆分,识别出来降权词,并根据实际情况设置权重值,这里可以设置到最低,为0。
这里,语气助词可以包括:“阿、啊、啦、唉、呢、吧、了、哇、呀、吗、哦、哈、哟、么”等,连词可以包括:“和、与、而、如、像、原来、因此、或”等,结构助词可以包括:“的、地、得”,后缀词可以包括:“公司、机构、企业”等。
举例说明,目前,在搜索企业时,数据库中的企业数量已经增加到了30w,搜索场景要求使用分词查询,于是引入了luncence.net来解决分词的问题。但是随着业务发展,当企业数量达到50w的时候,由于luncence.net的索引文件达到了500M左右,在7200r/s的磁盘上搜索效率直线下降,于是引入了一个分布式的开源搜索和分析引擎(Elasticsearch)。随着时代和业务的发展,用户对搜索的结果的精准度要求越来越高,使用常规的分词库已经无法满足用户的搜索需要了,使得分词搜索时CPU、内存、磁盘I/O过高,消耗时间在10s以上,导致HTTP请求长时间连接等待响应,当QPS(每秒查询率)达到50左右时,IIS(网页服务组件)就无法响应了。现有的分词搜索技术的搜索结果排序不理想,容易导致匹配度高的企业会排到第10位之后。
为了解决上述存在的技术问题,本申请实施例提供的分词搜索方法,包括:先获取原始搜索文本以及预设的降权词,确定原始搜索文本经过分词处理后的多个搜索分词,然后为多个搜索分词中与降权词相同的搜索分词设置权重系数,得到至少一个目标搜索分词;接着获取原始搜索文本以及预设的降权词,然后确定原始搜索文本经过分词处理后的多个搜索分词,为多个搜索分词中与降权词相同的搜索分词设置权重系数,得到至少一个目标搜索分词;接着获取目标搜索分词,然后判断目标搜索分词的词语长度与预设的字数阈值之间的大小关系,若目标搜索分词的词语长度大于预设的字数阈值,则基于第一搜索算法确定目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第一相似度,其中,第一搜索算法包括搜索权重因子算法;若目标搜索分词的词语长度不大于预设的字数阈值,则基于第二搜索算法确定目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第二相似度;将文本内容对应的第一相似度或第二相似度按照从大到小的顺序排列,确定与目标搜索分词相关联的目标搜索内容。
举例说明:假设字数阈值为4个字,70%用户的目标搜索分词在四个字以内,并且为企业名称中的核心关键字,剩下的30%用户的目标搜索分词超过四个字,大多为企业名全称或部分关键词,可能会出现字错误。基于以上数据分析,结合自定义词库,当目标搜索分词在四个字以内,采用系统内置的TF/IDF算法进行搜索。当目标搜索分词超过四个字,则结合自定义词库和IK分词器,同时结合系统内置的TF/IDF算法,以及增加的搜索权重因子算法进行搜索。
采用本申请实施例提供的搜索算法都是为了精确搜索,提升查询效能。这样一来,与现有技术中存在的由于分词技术的索引文件内存较大,导致服务器的性能压力提高,同时降低搜索效率的技术问题相比,本申请可以针对不同词语长度的搜索分词,动态选择不同的搜索算法,不仅缓解了分词搜索时服务器的性能压力,还提高了分词搜索的搜索效率,增加搜索权重因子算法不仅可以解决排序不准的问题,还可以达到搜索精准度高、排序符合场景需要、高性能的技术效果。
基于同一发明构思,本申请实施例中还提供了与分词搜索方法对应的分词搜索装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述分词搜索方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图3、图4,图3为本申请实施例所提供的一种分词搜索装置的结构示意图之一,图4为本申请实施例所提供的另一种分词搜索装置的结构示意图之二。如图3中所示,所述分词搜索装置300包括:
分词获取模块310,用于获取目标搜索分词;
第一确定模块320,用于若所述目标搜索分词的词语长度大于预设的字数阈值,则基于第一搜索算法确定所述目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第一相似度,其中,所述第一搜索算法包括搜索权重因子算法;
第二确定模块330,用于若所述目标搜索分词的词语长度不大于预设的字数阈值,则基于第二搜索算法确定所述目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第二相似度;
目标确定模块340,用于将文本内容对应的第一相似度或第二相似度按照从大到小的顺序排列,确定与所述目标搜索分词相关联的目标搜索内容。
优选地,第一确定模块320中的第一搜索算法用于通过以下步骤确定所述第一相似度:
获取该目标搜索分词在数据库中与该目标搜索分词关联的文本内容中的第一出现次数,该文本内容的第一词数总数,与该目标搜索分词关联的文本内容的第一统计数量,数据库中的所有文本内容的第一总量,以及与该目标搜索分词对应的权重因子数据;
基于所述第一出现次数和所述第一词数总数,确定该目标搜索分词的第一词频信息;
基于所述第一统计数量和所述第一总量,确定该目标搜索分词的第一频率信息;
基于该目标搜索分词对应的权重因子数据,确定搜索权重结果;
根据所述第一词频信息和所述第一频率信息之间的第一乘积结果以及所述搜索权重结果,确定与该目标搜索分词关联的文本内容和该目标搜索分词之间的第一相似度。
优选地,第一确定模块320用于通过以下公式确定所述第一相似度:
score=score1+ln(1+a×weight);
其中,score表示所述第一相似度,score1表示所述第一乘积结果,ln(1+a×weight)表示所述搜索权重结果,a表示因子权重系数,a的取值范围在0至1之间,weight表示权重因子数据。
优选地,第二确定模块330中的第二搜索算法用于通过以下步骤确定所述第二相似度:
获取该目标搜索分词在数据库中与该目标搜索分词关联的文本内容中的第二出现次数,该文本内容的第二词数总数,与该目标搜索分词关联的文本内容的第二统计数量,数据库中的所有文本内容的第二总量;
基于所述第二出现次数和所述第二词数总数,确定该目标搜索分词的第二词频信息;
基于所述第二统计数量和所述第二总量,确定该目标搜索分词的第二频率信息;
根据所述第二词频信息和所述第二频率信息之间的第二乘积结果,确定与该目标搜索分词关联的文本内容和该目标搜索分词之间的第二相似度。
优选地,所述分词搜索装置300还包括:
文本获取模块350,用于获取原始搜索文本以及预设的降权词;
分词处理模块360,用于确定所述原始搜索文本经过分词处理后的多个搜索分词;
分词确定模块370,用于为所述多个搜索分词中与所述降权词相同的搜索分词设置权重系数,得到至少一个目标搜索分词。
优选地,分词处理模块360在用于确定所述原始搜索文本经过分词处理后的多个搜索分词时,分词处理模块360用于:
将所述原始搜索文本进行分词处理,得到多个分词结果以及未分成词的单字;
获取单字进行组合时的最大词语长度为字数阈值;
将所述未分成词的单字进行有序组合,得到多个新词结果,其中,每个所述新词结果的词语长度不超过所述字数阈值;
将多个所述分词结果和多个所述新词结果确定为所述原始搜索文本经过分词处理后的多个搜索分词。
优选地,当所述权重系数为0时,分词确定模块370在用于为所述多个搜索分词中与所述降权词相同的搜索分词设置权重系数,得到至少一个目标搜索分词时,分词确定模块370用于:
从所述多个搜索分词中删除与所述降权词相同的搜索分词,得到至少一个目标搜索分词,其中,所述降权词包括语气助词、连词、结构助词以及后缀词。
本申请实施例提供的分词搜索装置,包括:分词获取模块、第一确定模块、第二确定模块和目标确定模块,其中,分词获取模块用于获取目标搜索分词,然后第一确定模块用于若目标搜索分词的词语长度大于预设的字数阈值,则基于第一搜索算法确定目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第一相似度,其中,第一搜索算法包括搜索权重因子算法;第二确定模块用于若目标搜索分词的词语长度不大于预设的字数阈值,则基于第二搜索算法确定目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第二相似度;目标确定模块用于将文本内容对应的第一相似度或第二相似度按照从大到小的顺序排列,确定与目标搜索分词相关联的目标搜索内容。与现有技术中存在的由于分词技术的索引文件内存较大,导致服务器的性能压力提高,同时降低搜索效率的技术问题相比,本申请可以针对不同词语长度的搜索分词,动态选择不同的搜索算法,不仅缓解了分词搜索时服务器的性能压力,还提高了分词搜索的搜索效率。
请参阅图5,图5为本申请实施例所提供的一种电子设备的结构示意图。如图5中所示,所述电子设备500包括处理器510、存储器520和总线530。
所述存储器520存储有所述处理器510可执行的机器可读指令,当电子设备500运行时,所述处理器510与所述存储器520之间通过总线530通信,所述机器可读指令被所述处理器510执行时,可以执行如上述图1以及图2所示方法实施例中的分词搜索方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1以及图2所示方法实施例中的分词搜索方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种分词搜索方法,其特征在于,所述方法包括:
获取目标搜索分词;
若所述目标搜索分词的词语长度大于预设的字数阈值,则基于第一搜索算法确定所述目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第一相似度,其中,所述第一搜索算法包括搜索权重因子算法;
若所述目标搜索分词的词语长度不大于预设的字数阈值,则基于第二搜索算法确定所述目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第二相似度;
将文本内容对应的第一相似度或第二相似度按照从大到小的顺序排列,确定与所述目标搜索分词相关联的目标搜索内容。
2.根据权利要求1所述的方法,其特征在于,所述第一搜索算法通过以下步骤确定所述第一相似度:
获取该目标搜索分词在数据库中与该目标搜索分词关联的文本内容中的第一出现次数,该文本内容的第一词数总数,与该目标搜索分词关联的文本内容的第一统计数量,数据库中的所有文本内容的第一总量,以及与该目标搜索分词对应的权重因子数据;
基于所述第一出现次数和所述第一词数总数,确定该目标搜索分词的第一词频信息;
基于所述第一统计数量和所述第一总量,确定该目标搜索分词的第一频率信息;
基于该目标搜索分词对应的权重因子数据,确定搜索权重结果;
根据所述第一词频信息和所述第一频率信息之间的第一乘积结果以及所述搜索权重结果,确定与该目标搜索分词关联的文本内容和该目标搜索分词之间的第一相似度。
3.根据权利要求2所述的方法,其特征在于,通过以下公式确定所述第一相似度:
score=score1+ln(1+a×weight);
其中,score表示所述第一相似度,score1表示所述第一乘积结果,ln(1+a×weight)表示所述搜索权重结果,a表示因子权重系数,a的取值范围在0至1之间,weight表示权重因子数据。
4.根据权利要求1所述的方法,其特征在于,所述第二搜索算法通过以下步骤确定所述第二相似度:
获取该目标搜索分词在数据库中与该目标搜索分词关联的文本内容中的第二出现次数,该文本内容的第二词数总数,与该目标搜索分词关联的文本内容的第二统计数量,数据库中的所有文本内容的第二总量;
基于所述第二出现次数和所述第二词数总数,确定该目标搜索分词的第二词频信息;
基于所述第二统计数量和所述第二总量,确定该目标搜索分词的第二频率信息;
根据所述第二词频信息和所述第二频率信息之间的第二乘积结果,确定与该目标搜索分词关联的文本内容和该目标搜索分词之间的第二相似度。
5.根据权利要求1所述的方法,其特征在于,在所述获取目标搜索分词之前,所述方法还包括:
获取原始搜索文本以及预设的降权词;
确定所述原始搜索文本经过分词处理后的多个搜索分词;
为所述多个搜索分词中与所述降权词相同的搜索分词设置权重系数,得到至少一个目标搜索分词。
6.根据权利要求5所述的方法,其特征在于,所述确定所述原始搜索文本经过分词处理后的多个搜索分词,包括:
将所述原始搜索文本进行分词处理,得到多个分词结果以及未分成词的单字;
获取单字进行组合时的最大词语长度为字数阈值;
将所述未分成词的单字进行有序组合,得到多个新词结果,其中,每个所述新词结果的词语长度不超过所述字数阈值;
将多个所述分词结果和多个所述新词结果确定为所述原始搜索文本经过分词处理后的多个搜索分词。
7.根据权利要求5所述的方法,其特征在于,当所述权重系数为0时,所述为所述多个搜索分词中与所述降权词相同的搜索分词设置权重系数,得到至少一个目标搜索分词,包括:
从所述多个搜索分词中删除与所述降权词相同的搜索分词,得到至少一个目标搜索分词,其中,所述降权词包括语气助词、连词、结构助词以及后缀词。
8.一种分词搜索装置,其特征在于,所述装置包括:
分词获取模块,用于获取目标搜索分词;
第一确定模块,用于若所述目标搜索分词的词语长度大于预设的字数阈值,则基于第一搜索算法确定所述目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第一相似度,其中,所述第一搜索算法包括搜索权重因子算法;
第二确定模块,用于若所述目标搜索分词的词语长度不大于预设的字数阈值,则基于第二搜索算法确定所述目标搜索分词和数据库中与该目标搜索分词关联的文本内容之间的第二相似度;
目标确定模块,用于将文本内容对应的第一相似度或第二相似度按照从大到小的顺序排列,确定与所述目标搜索分词相关联的目标搜索内容。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至7任一所述分词搜索方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述分词搜索方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011403537.4A CN112380244B (zh) | 2020-12-02 | 2020-12-02 | 一种分词搜索方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011403537.4A CN112380244B (zh) | 2020-12-02 | 2020-12-02 | 一种分词搜索方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112380244A true CN112380244A (zh) | 2021-02-19 |
CN112380244B CN112380244B (zh) | 2022-06-14 |
Family
ID=74589281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011403537.4A Active CN112380244B (zh) | 2020-12-02 | 2020-12-02 | 一种分词搜索方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112380244B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988971A (zh) * | 2021-03-15 | 2021-06-18 | 平安科技(深圳)有限公司 | 基于词向量的搜索方法、终端、服务器及存储介质 |
CN113010072A (zh) * | 2021-04-27 | 2021-06-22 | 维沃移动通信(杭州)有限公司 | 搜索方法、装置、电子设备及可读存储介质 |
CN113177061A (zh) * | 2021-05-25 | 2021-07-27 | 马上消费金融股份有限公司 | 一种搜索方法、装置和电子设备 |
CN114281935A (zh) * | 2021-09-16 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 搜索结果分类模型的训练方法、装置、介质及设备 |
CN115687840A (zh) * | 2023-01-03 | 2023-02-03 | 上海朝阳永续信息技术股份有限公司 | 处理网页中的预定类型信息的方法、设备和存储介质 |
CN117216423A (zh) * | 2023-08-21 | 2023-12-12 | 湖南牙医帮科技有限公司 | 电商商品的搜索方法、系统、终端设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU6552399A (en) * | 1992-11-04 | 2000-03-23 | Conquest Software, Inc. | Method for resolution of natural-language queries against full-text databases |
CN111949898A (zh) * | 2020-08-28 | 2020-11-17 | 平安国际智慧城市科技股份有限公司 | 搜索结果排序方法、装置、设备及计算机可读存储介质 |
-
2020
- 2020-12-02 CN CN202011403537.4A patent/CN112380244B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU6552399A (en) * | 1992-11-04 | 2000-03-23 | Conquest Software, Inc. | Method for resolution of natural-language queries against full-text databases |
CN111949898A (zh) * | 2020-08-28 | 2020-11-17 | 平安国际智慧城市科技股份有限公司 | 搜索结果排序方法、装置、设备及计算机可读存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988971A (zh) * | 2021-03-15 | 2021-06-18 | 平安科技(深圳)有限公司 | 基于词向量的搜索方法、终端、服务器及存储介质 |
CN113010072A (zh) * | 2021-04-27 | 2021-06-22 | 维沃移动通信(杭州)有限公司 | 搜索方法、装置、电子设备及可读存储介质 |
CN113177061A (zh) * | 2021-05-25 | 2021-07-27 | 马上消费金融股份有限公司 | 一种搜索方法、装置和电子设备 |
CN114281935A (zh) * | 2021-09-16 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 搜索结果分类模型的训练方法、装置、介质及设备 |
CN115687840A (zh) * | 2023-01-03 | 2023-02-03 | 上海朝阳永续信息技术股份有限公司 | 处理网页中的预定类型信息的方法、设备和存储介质 |
CN117216423A (zh) * | 2023-08-21 | 2023-12-12 | 湖南牙医帮科技有限公司 | 电商商品的搜索方法、系统、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112380244B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112380244B (zh) | 一种分词搜索方法、装置、电子设备及可读存储介质 | |
CN105045781B (zh) | 查询词相似度计算方法及装置、查询词搜索方法及装置 | |
JP5710581B2 (ja) | 質問応答装置、方法、及びプログラム | |
US7555428B1 (en) | System and method for identifying compounds through iterative analysis | |
CN107885717B (zh) | 一种关键词提取方法及装置 | |
WO2014002775A1 (ja) | 同義語抽出システム、方法および記録媒体 | |
JP2011085986A (ja) | テキスト要約方法、その装置およびプログラム | |
JP4534666B2 (ja) | テキスト文検索装置及びテキスト文検索プログラム | |
JP5522389B2 (ja) | 類似度算出装置、類似度算出方法、及びプログラム | |
JP2009193219A (ja) | インデックス作成装置、その方法、プログラム及び記録媒体 | |
CN113901173A (zh) | 一种检索方法、装置、电子设备及计算机存储介质 | |
CN115794995A (zh) | 目标答案获取方法及相关装置、电子设备和存储介质 | |
CN111373386A (zh) | 相似度指标值计算装置、相似检索装置及相似度指标值计算用程序 | |
CN105653553B (zh) | 词权重生成方法和装置 | |
CN113743090A (zh) | 一种关键词提取方法及装置 | |
CN116340617B (zh) | 一种搜索推荐方法和装置 | |
CN111737607A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN111460177A (zh) | 影视类表情搜索方法、装置、存储介质、计算机设备 | |
CN108763258B (zh) | 文档主题参数提取方法、产品推荐方法、设备及存储介质 | |
JP6106489B2 (ja) | 語義解析装置、及びプログラム | |
CN115630144A (zh) | 一种文档搜索方法、装置及相关设备 | |
Krishnan et al. | Generation of synthetic query auto completion logs | |
CN114255067A (zh) | 数据定价方法和装置、电子设备、存储介质 | |
KR20130113250A (ko) | 대용량 데이터의 텍스트마이닝을 위한 의미기반 분류 추출시스템 | |
CN112926297A (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 |