确定搜索词权重的方法、装置、计算机设备和存储介质与流程

专利2022-06-29  87


本申请涉及搜索技术领域,特别涉及一种确定搜索词权重的方法、装置、计算机设备和存储介质。



背景技术:

搜索系统的目的是收集领域内知识并帮助人们在茫茫网海中快速找到所需要的信息,因此,理解用户搜索意图对搜索的精准召回具有重要意义。而在垂直领域内构建搜索系统初期,严重缺乏用户行为数据,搜索系统难以有效识别用户搜索长短句文本的意图,致使搜索结果不能直接给想要的答案,严重影响用户体验。

申请内容

针对现有技术不足,本申请提出一种确定搜索词权重的方法、装置、计算机设备和存储介质,旨在解决搜索系统难以有效识别用户搜索长短句文本的意图,致使搜索结果不能直接给想要的答案,严重影响用户体验的问题。

本申请提出的技术方案是:

一种确定搜索词权重的方法,所述方法包括:

从搜索内容资源中获取行业的多个主要词;

计算所述多个主要词的词向量,获得多个目标词向量;

计算所述多个目标词向量的多个聚类中心;

接收用户输入的搜索语句,并对所述搜索语句进行分词处理,获得多个搜索词;

计算所述多个搜索词中每一个搜索词到所述多个聚类中心的余弦距离,获得多个目标余弦距离;

将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重。

进一步地,在所述从搜索内容资源中获取行业的多个主要词的步骤中,包括:

从搜索库中获取搜索内容资源;

对所述搜索内容资源进行分词,并过滤无关字符和无关词,获得多个关键词;

对所述多个关键词进行聚类,并从聚类结果中选出与行业相关的多个类别;

从所述多个类别中每一个类别抽取权重高的预设数量的关键词,获得多个主要词。

进一步地,在所述计算所述多个目标词向量的多个聚类中心的步骤中,包括:

从所述多个目标词向量中随机选取k个目标词向量分配作为初始的聚类中心,每一个目标词向量作为一个初始的聚类中心;

计算未分配的目标词向量到各聚类中心的余弦距离;

分别选取余弦距离最大的一个目标词向量分配到对应聚类中心;

根据各聚类中心所分配到的目标词向量重新计算聚类中心;

判断重新计算之后的聚类中心是否发生变化;

若未发生变化,则将重新计算之后的聚类中心作为所述多个目标词向量的多个聚类中心;

若发生变化,则返回所述计算未分配的目标词向量到各聚类中心的余弦距离的步骤中。

进一步地,在所述将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重的步骤之后,包括:

将所述权重值进行归一化处理,限制所述权重值在预设范围内。

进一步地,在所述将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重的步骤之后,包括:

将多个搜索词在所述搜索内容资源中进行搜索,获得多个文档;

根据所述权重值计算所述多个文档的总权重;

根据所述多个文档的总权重从高到低进行排序显示搜索结果。

进一步地,所述词权计算模型为线性加权模型,其计算公式为n为聚类中心的个数,cos(vecword*center_veca)为搜索词到第a个聚类中心的余弦距离。

进一步地,在所述对所述搜索语句进行分词处理的步骤中,包括:

采用分词模型对所述搜索语句进行分词处理;

若出现未加载词,则将所述未加载词剔除,所述未加载词是指词未在分词模型中。

本申请还提供一种确定搜索词权重的装置,所述装置包括:

获取模块,用于从搜索内容资源中获取行业的多个主要词;

第一计算模块,用于计算所述多个主要词的词向量,获得多个目标词向量;

第二计算模块,用于计算所述多个目标词向量的多个聚类中心;

分词模块,用于接收用户输入的搜索语句,并对所述搜索语句进行分词处理,获得多个搜索词;

第三计算模块,用于计算所述多个搜索词中每一个搜索词到所述多个聚类中心的余弦距离,获得多个目标余弦距离;

权重模块,用于将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重。

本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

根据上述的技术方案,本申请有益效果:基于搜索语句计算搜索语句中各个词对语句表达的贡献权重,能有效理解搜索语句意图倾向,解决搜索系统难以有效识别用户搜索长短句文本的意图,致使搜索结果不能直接给想要的答案,严重影响用户体验的问题。

附图说明

图1是应用本申请实施例提供的确定搜索词权重的方法的流程图;

图2是应用本申请实施例提供的确定搜索词权重的装置的功能模块图;

图3是应用本申请实施例提供的计算机设备的结构示意框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

如图1所示,本申请实施例提出一种确定搜索词权重的方法,所述方法包括以下步骤:

步骤s101、从搜索内容资源中获取行业的多个主要词。

用户收集资源文件,根据收集到的资源文件形成语料库,该语料库也就是搜索库,搜索内容资源是基于搜索库相关的资源所得。

基于搜索内容资源,采用lda模型抽取行业的主要词,抽取主要词的数量可以是用户输入。lda模型根据搜索内容资源,输出多个行业的主要词,根据用户输入主要词的数量,输出与之相对应的主要词的数量。

在步骤s101中,包括:

从搜索库中获取搜索内容资源;

对所述搜索内容资源进行分词,并过滤无关字符和无关词,获得多个关键词;

对所述多个关键词进行聚类,并从聚类结果中选出与行业相关的多个类别;

从所述多个类别中每一个类别抽取权重高的预设数量的关键词,获得多个主要词。

搜索库中包括多个行业的资源,从搜索库中获取相关行业的资源,得到搜索内容资源,之后对搜索内容资源进行分词,在本实施例中,采用的是ansj中文分词模型进行分词,并不按照预设过滤规则过滤无关字符和无关词,预设过滤规则可以是用户输入的,也可以是ansj中文分词模型自带的,在分词和过滤之后得到的就是关键词。在得到多个关键词之后,对多个关键词进行聚类,形成各个类别的聚类结果,再从聚类结果中进行选取,选取与行业相关的类别,从而得到多个类别,每个类别包括多个关键词及每个关键词对应的权重值。再从多个类别中每一个类别抽取预设数量的关键词,预设数量是用户输入的,在本实施例中,预设数量为5个。预设数量的关键词是在一个类别中权重高的预设数量的关键词,在对多个类别中每一个类别都抽取到预设数量的关键词之后,得到的关键词就是主要词,从而得到多个主要词。

在本实施例中,无关字符和无关词包括符号、无效数字和公告/通知等高频干扰词。

步骤s102、计算所述多个主要词的词向量,获得多个目标词向量。

在本实施例中,采用词向量模型计算多个主要词的词向量,具体地,将多个主要词分别输入词向量模型,词向量模型根据接收的主要词进行计算其对应的词向量,之后根据计算结果输出对应的词向量,从而得到多个目标词向量,词向量模型可以是word2vector模型。

步骤s103、计算所述多个目标词向量的多个聚类中心。

聚类中心的个数可以是用户输入的,先根据用户输入的聚类中心个数,在计算多个目标词向量的聚类中心时,选取与用户输入的聚类中心个数相同的聚类中心数量。

在本实施例中,采用聚类模型计算多个目标词向量的多个聚类中心,具体地,将多个目标词向量输入聚类模型,聚类模型根据多个目标词向量计算聚类中心,得到多个聚类中心,聚类模型可以是k-means模型。

在步骤s103中,包括:

步骤s103a、从所述多个目标词向量中随机选取k个目标词向量分配作为初始的聚类中心,每一个目标词向量作为一个初始的聚类中心;

步骤s103b、计算未分配的目标词向量到各聚类中心的余弦距离;

步骤s103c、分别选取余弦距离最大的一个目标词向量分配到对应聚类中心;

步骤s103d、根据各聚类中心所分配到的目标词向量重新计算聚类中心;

步骤s103e、判断重新计算之后的聚类中心是否发生变化;

步骤s103f、若未发生变化,则将重新计算之后的聚类中心作为所述多个目标词向量的多个聚类中心;

步骤s103g、若发生变化,则返回步骤s103b。

首先要设定初始的聚类中心,随机选取k个目标词向量进行分配,每一个目标词向量均作为一个初始的聚类中心,在本实施例中,k的值可以是用户输入,具体地,k个目标词向量可以是10个目标词向量。多个目标词向量中除去k个目标词向量,剩下的目标词向量为未分配的目标词向量,然后,计算未分配的目标词向量到各聚类中心的余弦距离,然后,选取余弦距离最大的一个余弦距离,最大的余弦距离表示该目标词向量与对应的聚类中心的相关程度最大,将最大的一个余弦距离对应的目标词向量分配到对应的聚类中心,每一聚类中心分配到一个目标词向量,之后根据各聚类中心所拥有的目标词向量重新计算聚类中心,将重新计算之后的聚类中心和重新计算之前的聚类中心进行比较,如果两者相同,那么判定重新计算之后的聚类中心未发生变化,则将重新计算之后的聚类中心作为多个目标词向量的多个聚类中心。如果两者不相同,那么判定重新计算之后的聚类中心发生变化,则执行步骤s103b至步骤s103e,直至聚类中心不再发生变化,才终止计算。步骤s104、接收用户输入的搜索语句,并对所述搜索语句进行分词处理,获得多个搜索词。

在接收到用户输入的搜索语句之后,将搜索语句输入分词模型,分词模型对搜索语句进行分词处理,之后输出分词结果,得到多个搜索词。

在对搜索语句进行分词处理所采用的分词模型,可以加入行业自定义词典,行业自定义词典可以是由用户输入,也可以是基于ngram和lad抽取进行半自动化抽取。

在所述对所述搜索语句进行分词处理的步骤中,包括:

采用分词模型对所述搜索语句进行分词处理;

若出现未加载词,则将所述未加载词剔除,所述未加载词是指词未在分词模型中。

在对搜索语句进行分词处理过程中,若出现未加载词,则不计算该未加载词的权重值。未加载词是指该词未在分词模型中。

步骤s105、计算所述多个搜索词中每一个搜索词到所述多个聚类中心的余弦距离,获得多个目标余弦距离。

分别对多个搜索词中每一个搜索词计算其到多个聚类中心的余弦距离,余弦距离越大,表示该搜索词与对应的聚类中心的相关程度越大,根据计算结果,得到多个余弦距离,从而得到多个目标余弦距离。

步骤s106、将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重。

词权计算模型采用的模型为线性加权模型,其计算公式为n为聚类中心的个数,cos(vecword*center_veca)为搜索词到第a个聚类中心的余弦距离,采用十倍距离三次方的目的是增强与聚类中心相关词的权重、削弱与聚类中心不相关词的权重。

在步骤s106之后,包括:

将所述权重值进行归一化处理,限制所述权重值在预设范围内。

将权重值的输出进行范围处理,将权重输出限制在某个范围内,计算方式为:max()函数表示取最大值,n表示权重输出范围最大值。

限制权重值在预设范围内,便于接入其它搜索引擎进行搜索。

在步骤s106之后,包括:

将多个搜索词在所述搜索内容资源中进行搜索,获得多个文档;

根据所述权重值计算所述多个文档的总权重;

根据所述多个文档的总权重从高到低进行排序显示搜索结果。

综上所述,获取行业的多个主要词,根据多个主要词的词向量计算聚类中心,得到多个聚类中心,在接收到用户输入的搜索语句之后,先对搜索语句进行分词,得到多个搜索词,之后再计算多个搜索词到多个聚类中心的余弦距离,词权计算模型计算各余弦距离对应的权重值,从而得到对应的搜索词的权重,为此,基于搜索语句计算搜索语句中各个词对语句表达的贡献权重,能有效理解搜索语句意图倾向,解决搜索系统难以有效识别用户搜索长短句文本的意图,致使搜索结果不能直接给想要的答案,严重影响用户体验的问题。

如图2所示,本申请实施例提出一种确定搜索词权重的装置1,装置1包括获取模块11、第一计算模块12、第二计算模块13、分词模块14、第三计算模块15和权重模块16。

获取模块11,用于从搜索内容资源中获取行业的多个主要词。

用户收集资源文件,根据收集到的资源文件形成语料库,该语料库也就是搜索库,搜索内容资源是基于搜索库相关的资源所得。

基于搜索内容资源,采用lda模型抽取行业的主要词,抽取主要词的数量可以是用户输入。lda模型根据搜索内容资源,输出多个行业的主要词,根据用户输入主要词的数量,输出与之相对应的主要词的数量。

获取模块11包括:

第一子获取模块,用于从搜索库中获取搜索内容资源;

第一子分词模块,用于对所述搜索内容资源进行分词,并过滤无关字符和无关词,获得多个关键词;

第一子聚类模块,用于对所述多个关键词进行聚类,并从聚类结果中选出与行业相关的多个类别;

第一子抽取模块,用于从所述多个类别中每一个类别抽取权重高的预设数量的关键词,获得多个主要词。

搜索库中包括多个行业的资源,从搜索库中获取相关行业的资源,得到搜索内容资源,之后对搜索内容资源进行分词,在本实施例中,采用的是ansj中文分词模型进行分词,并不按照预设过滤规则过滤无关字符和无关词,预设过滤规则可以是用户输入的,也可以是ansj中文分词模型自带的,在分词和过滤之后得到的就是关键词。在得到多个关键词之后,对多个关键词进行聚类,形成各个类别的聚类结果,再从聚类结果中进行选取,选取与行业相关的类别,从而得到多个类别,每个类别包括多个关键词及每个关键词对应的权重值。再从多个类别中每一个类别抽取预设数量的关键词,预设数量是用户输入的,在本实施例中,预设数量为5个。预设数量的关键词是在一个类别中权重高的预设数量的关键词,在对多个类别中每一个类别都抽取到预设数量的关键词之后,得到的关键词就是主要词,从而得到多个主要词。

在本实施例中,无关字符和无关词包括符号、无效数字和公告/通知等高频干扰词。

第一计算模块12,用于计算所述多个主要词的词向量,获得多个目标词向量。

在本实施例中,采用词向量模型计算多个主要词的词向量,具体地,将多个主要词分别输入词向量模型,词向量模型根据接收的主要词进行计算其对应的词向量,之后根据计算结果输出对应的词向量,从而得到多个目标词向量,词向量模型可以是word2vector模型。

第二计算模块13,用于计算所述多个目标词向量的多个聚类中心。

聚类中心的个数可以是用户输入的,先根据用户输入的聚类中心个数,在计算多个目标词向量的聚类中心时,选取与用户输入的聚类中心个数相同的聚类中心数量。

在本实施例中,采用聚类模型计算多个目标词向量的多个聚类中心,具体地,将多个目标词向量输入聚类模型,聚类模型根据多个目标词向量计算聚类中心,得到多个聚类中心,聚类模型可以是k-means模型。

第二计算模块13包括:

第一子聚类中心模块,用于从所述多个目标词向量中随机选取k个目标词向量分配作为初始的聚类中心,每一个目标词向量作为一个初始的聚类中心;

第一子计算模块,用于计算未分配的目标词向量到各聚类中心的余弦距离;

第一子分配模块,用于分别选取余弦距离最大的一个目标词向量分配到对应聚类中心;

第二子计算模块,用于根据各聚类中心所分配到的目标词向量重新计算聚类中心;

第一子判断模块,用于判断重新计算之后的聚类中心是否发生变化;

第二子聚类中心模块,用于若未发生变化,则将重新计算之后的聚类中心作为所述多个目标词向量的多个聚类中心;

第一子返回模块,用于若发生变化,则返回执行第一子计算模块。

首先要设定初始的聚类中心,随机选取k个目标词向量进行分配,每一个目标词向量均作为一个初始的聚类中心,在本实施例中,k的值可以是用户输入,具体地,k个目标词向量可以是10个目标词向量。多个目标词向量中除去k个目标词向量,剩下的目标词向量为未分配的目标词向量,然后,计算未分配的目标词向量到各聚类中心的余弦距离,然后,选取余弦距离最大的一个余弦距离,最大的余弦距离表示该目标词向量与对应的聚类中心的相关程度最大,将最大的一个余弦距离对应的目标词向量分配到对应的聚类中心,每一聚类中心分配到一个目标词向量,之后根据各聚类中心所拥有的目标词向量重新计算聚类中心,将重新计算之后的聚类中心和重新计算之前的聚类中心进行比较,如果两者相同,那么判定重新计算之后的聚类中心未发生变化,则将重新计算之后的聚类中心作为多个目标词向量的多个聚类中心。如果两者不相同,那么判定重新计算之后的聚类中心发生变化,则执行第一子计算模块至第一子判断模块对应的步骤,直至聚类中心不再发生变化,才终止计算。

分词模块14,用于接收用户输入的搜索语句,并对所述搜索语句进行分词处理,获得多个搜索词。

在接收到用户输入的搜索语句之后,将搜索语句输入分词模型,分词模型对搜索语句进行分词处理,之后输出分词结果,得到多个搜索词。

在对搜索语句进行分词处理所采用的分词模型,可以加入行业自定义词典,行业自定义词典可以是由用户输入,也可以是基于ngram和lad抽取进行半自动化抽取。

分词模块14包括:

第二子分词模块,用于采用分词模型对所述搜索语句进行分词处理;

第一子剔除模块,用于若出现未加载词,则将所述未加载词剔除,所述未加载词是指词未在分词模型中。

在对搜索语句进行分词处理过程中,若出现未加载词,则不计算该未加载词的权重值。未加载词是指该词未在分词模型中。

第三计算模块15,用于计算所述多个搜索词中每一个搜索词到所述多个聚类中心的余弦距离,获得多个目标余弦距离。

分别对多个搜索词中每一个搜索词计算其到多个聚类中心的余弦距离,余弦距离越大,表示该搜索词与对应的聚类中心的相关程度越大,根据计算结果,得到多个余弦距离,从而得到多个目标余弦距离。

权重模块16,用于将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重。

词权计算模型采用的模型为线性加权模型,其计算公式为n为聚类中心的个数,cos(vecword*center_veca)为搜索词到第a个聚类中心的余弦距离,采用十倍距离三次方的目的是增强与聚类中心相关词的权重、削弱与聚类中心不相关词的权重。

装置1包括:

归一化模块,用于将所述权重值进行归一化处理,限制所述权重值在预设范围内。

将权重值的输出进行范围处理,将权重输出限制在某个范围内,计算方式为:max()函数表示取最大值,n表示权重输出范围最大值。

限制权重值在预设范围内,便于接入其它搜索引擎进行搜索。

装置1包括:

搜索模块,用于将多个搜索词在所述搜索内容资源中进行搜索,获得多个文档;

第四计算模块,用于根据所述权重值计算所述多个文档的总权重;

根据所述多个文档的总权重从高到低进行排序显示搜索结果。

综上所述,获取行业的多个主要词,根据多个主要词的词向量计算聚类中心,得到多个聚类中心,在接收到用户输入的搜索语句之后,先对搜索语句进行分词,得到多个搜索词,之后再计算多个搜索词到多个聚类中心的余弦距离,词权计算模型计算各余弦距离对应的权重值,从而得到对应的搜索词的权重,为此,基于搜索语句计算搜索语句中各个词对语句表达的贡献权重,能有效理解搜索语句意图倾向,解决搜索系统难以有效识别用户搜索长短句文本的意图,致使搜索结果不能直接给想要的答案,严重影响用户体验的问题。

如图3所示,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储确定搜索词权重的方法的模型等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种确定搜索词权重的方法。

上述处理器执行上述确定搜索词权重的方法的步骤:从搜索内容资源中获取行业的多个主要词;计算所述多个主要词的词向量,获得多个目标词向量;计算所述多个目标词向量的多个聚类中心;接收用户输入的搜索语句,并对所述搜索语句进行分词处理,获得多个搜索词;计算所述多个搜索词中每一个搜索词到所述多个聚类中心的余弦距离,获得多个目标余弦距离;将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重。

在一个实施例中,上述从搜索内容资源中获取行业的多个主要词的步骤中,包括:

从搜索库中获取搜索内容资源;

对所述搜索内容资源进行分词,并过滤无关字符和无关词,获得多个关键词;

对所述多个关键词进行聚类,并从聚类结果中选出与行业相关的多个类别;

从所述多个类别中每一个类别抽取权重高的预设数量的关键词,获得多个主要词。

在一个实施例中,上述计算所述多个目标词向量的多个聚类中心的步骤中,包括:

从所述多个目标词向量中随机选取k个目标词向量分配作为初始的聚类中心,每一个目标词向量作为一个初始的聚类中心;

计算未分配的目标词向量到各聚类中心的余弦距离;

分别选取余弦距离最大的一个目标词向量分配到对应聚类中心;

根据各聚类中心所分配到的目标词向量重新计算聚类中心;

判断重新计算之后的聚类中心是否发生变化;

若未发生变化,则将重新计算之后的聚类中心作为所述多个目标词向量的多个聚类中心;

若发生变化,则返回所述计算未分配的目标词向量到各聚类中心的余弦距离的步骤中。

在一个实施例中,上述将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重的步骤之后,包括:

将所述权重值进行归一化处理,限制所述权重值在预设范围内。

在一个实施例中,上述将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重的步骤之后,包括:

将多个搜索词在所述搜索内容资源中进行搜索,获得多个文档;

根据所述权重值计算所述多个文档的总权重;

根据所述多个文档的总权重从高到低进行排序显示搜索结果。

在一个实施例中,上述词权计算模型为线性加权模型,其计算公式为n为聚类中心的个数,cos(vecword*center_veca)为搜索词到第a个聚类中心的目标余弦距离。

在一个实施例中,上述对所述搜索语句进行分词处理的步骤中,包括:

采用分词模型对所述搜索语句进行分词处理;

若出现未加载词,则将所述未加载词剔除,所述未加载词是指词未在分词模型中。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本申请实施例的计算机设备,基于搜索语句计算搜索语句中各个词对语句表达的贡献权重,能有效理解搜索语句意图倾向,解决搜索系统难以有效识别用户搜索长短句文本的意图,致使搜索结果不能直接给想要的答案,严重影响用户体验的问题。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种确定搜索词权重的方法,具体为:从搜索内容资源中获取行业的多个主要词;计算所述多个主要词的词向量,获得多个目标词向量;计算所述多个目标词向量的多个聚类中心;接收用户输入的搜索语句,并对所述搜索语句进行分词处理,获得多个搜索词;计算所述多个搜索词中每一个搜索词到所述多个聚类中心的余弦距离,获得多个目标余弦距离;将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重。

在一个实施例中,上述从搜索内容资源中获取行业的多个主要词的步骤中,包括:

从搜索库中获取搜索内容资源;

对所述搜索内容资源进行分词,并过滤无关字符和无关词,获得多个关键词;

对所述多个关键词进行聚类,并从聚类结果中选出与行业相关的多个类别;

从所述多个类别中每一个类别抽取权重高的预设数量的关键词,获得多个主要词。

在一个实施例中,上述计算所述多个目标词向量的多个聚类中心的步骤中,包括:

从所述多个目标词向量中随机选取k个目标词向量分配作为初始的聚类中心,每一个目标词向量作为一个初始的聚类中心;

计算未分配的目标词向量到各聚类中心的余弦距离;

分别选取余弦距离最大的一个目标词向量分配到对应聚类中心;

根据各聚类中心所分配到的目标词向量重新计算聚类中心;

判断重新计算之后的聚类中心是否发生变化;

若未发生变化,则将重新计算之后的聚类中心作为所述多个目标词向量的多个聚类中心;

若发生变化,则返回所述计算未分配的目标词向量到各聚类中心的余弦距离的步骤中。

在一个实施例中,上述将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重的步骤之后,包括:

将所述权重值进行归一化处理,限制所述权重值在预设范围内。

在一个实施例中,上述将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重的步骤之后,包括:

将多个搜索词在所述搜索内容资源中进行搜索,获得多个文档;

根据所述权重值计算所述多个文档的总权重;

根据所述多个文档的总权重从高到低进行排序显示搜索结果。

在一个实施例中,上述词权计算模型为线性加权模型,其计算公式为n为聚类中心的个数,cos(vecword*center_veca)为搜索词到第a个聚类中心的目标余弦距离。

在一个实施例中,上述对所述搜索语句进行分词处理的步骤中,包括:

采用分词模型对所述搜索语句进行分词处理;

若出现未加载词,则将所述未加载词剔除,所述未加载词是指词未在分词模型中。

本申请实施例的存储介质,基于搜索语句计算搜索语句中各个词对语句表达的贡献权重,能有效理解搜索语句意图倾向,解决搜索系统难以有效识别用户搜索长短句文本的意图,致使搜索结果不能直接给想要的答案,严重影响用户体验的问题。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内所作的任何修改、等同替换和改进等,均应包括在本申请的保护范围之内。


技术特征:

1.一种确定搜索词权重的方法,其特征在于,所述方法包括:

从搜索内容资源中获取行业的多个主要词;

计算所述多个主要词的词向量,获得多个目标词向量;

计算所述多个目标词向量的多个聚类中心;

接收用户输入的搜索语句,并对所述搜索语句进行分词处理,获得多个搜索词;

计算所述多个搜索词中每一个搜索词到所述多个聚类中心的余弦距离,获得多个目标余弦距离;

将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重。

2.根据权利要求1所述的确定搜索词权重的方法,其特征在于,在所述从搜索内容资源中获取行业的多个主要词的步骤中,包括:

从搜索库中获取搜索内容资源;

对所述搜索内容资源进行分词,并过滤无关字符和无关词,获得多个关键词;

对所述多个关键词进行聚类,并从聚类结果中选出与行业相关的多个类别;

从所述多个类别中每一个类别抽取权重高的预设数量的关键词,获得多个主要词。

3.根据权利要求1所述的确定搜索词权重的方法,其特征在于,在所述计算所述多个目标词向量的多个聚类中心的步骤中,包括:

从所述多个目标词向量中随机选取k个目标词向量分配作为初始的聚类中心,每一个目标词向量作为一个初始的聚类中心;

计算未分配的目标词向量到各聚类中心的余弦距离;

分别选取余弦距离最大的一个目标词向量分配到对应聚类中心;

根据各聚类中心所分配到的目标词向量重新计算聚类中心;

判断重新计算之后的聚类中心是否发生变化;

若未发生变化,则将重新计算之后的聚类中心作为所述多个目标词向量的多个聚类中心;

若发生变化,则返回所述计算未分配的目标词向量到各聚类中心的余弦距离的步骤中。

4.根据权利要求1所述的确定搜索词权重的方法,其特征在于,在所述将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重的步骤之后,包括:

将所述权重值进行归一化处理,限制所述权重值在预设范围内。

5.根据权利要求1所述的确定搜索词权重的方法,其特征在于,在所述将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重的步骤之后,包括:

将多个搜索词在所述搜索内容资源中进行搜索,获得多个文档;

根据所述权重值计算所述多个文档的总权重;

根据所述多个文档的总权重从高到低进行排序显示搜索结果。

6.根据权利要求1所述的确定搜索词权重的方法,其特征在于,所述词权计算模型为线性加权模型,其计算公式为n为聚类中心的个数,cos(vecword*center_veca)为搜索词到第a个聚类中心的余弦距离。

7.根据权利要求1所述的确定搜索词权重的方法,其特征在于,在所述对所述搜索语句进行分词处理的步骤中,包括:

采用分词模型对所述搜索语句进行分词处理;

若出现未加载词,则将所述未加载词剔除,所述未加载词是指词未在分词模型中。

8.一种确定搜索词权重的装置,其特征在于,所述装置包括:

获取模块,用于从搜索内容资源中获取行业的多个主要词;

第一计算模块,用于计算所述多个主要词的词向量,获得多个目标词向量;

第二计算模块,用于计算所述多个目标词向量的多个聚类中心;

分词模块,用于接收用户输入的搜索语句,并对所述搜索语句进行分词处理,获得多个搜索词;

第三计算模块,用于计算所述多个搜索词中每一个搜索词到所述多个聚类中心的余弦距离,获得多个目标余弦距离;

权重模块,用于将所述多个目标余弦距离分别输入词权计算模型中,接收所述词权计算模型输出对应的权重值,根据所述对应的权重值确定所述多个搜索词中对应的搜索词的权重。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

技术总结
本申请涉及搜索技术领域,特别涉及一种确定搜索词权重的方法、装置、计算机设备和存储介质。所述方法包括:从搜索内容资源中获取行业的多个主要词;计算多个主要词的词向量,获得多个目标词向量;计算多个目标词向量的多个聚类中心;接收用户输入的搜索语句,并对搜索语句进行分词处理,获得多个搜索词;计算多个搜索词中每一个搜索词到多个聚类中心的余弦距离,获得多个目标余弦距离;将多个目标余弦距离分别输入词权计算模型中,接收词权计算模型输出对应的权重值,根据对应的权重值确定多个搜索词中对应的搜索词的权重。解决搜索系统难以有效识别用户搜索长短句文本的意图,致使搜索结果不能直接给想要的答案,严重影响用户体验的问题。

技术研发人员:谭瑞;李钢;权佳成;张瑜;车驰;陈旭阳
受保护的技术使用者:平安科技(深圳)有限公司
技术研发日:2020.01.06
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-54869.html

最新回复(0)