一种搜索方法和装置
技术领域
本申请涉及搜索技术,特别是涉及一种搜索方法和装置。
背景技术
随着网络的不断发展,越来越多的用户通过网络发布信息和获取信息,因此,有时需要在某个平台中获取信息的发布者,即对目标用户进行搜索。
针对某个平台上目标用户的搜索中,通常是针对目标用户的页面上的信息建立索引。因此,在平台的访问者输入查询词后,所述平台的服务器可以在索引中查找与所述查询词匹配的目标用户,然后根据匹配程度进行排序并反馈给所述访问者。
但是,由于目标用户的页面上的信息,仅仅是对目标用户进行简要的介绍,不能全面的展示目标用户,因此采用上述的方法进行搜索时,搜索到的目标用户比较少,召回率比较低。并且,由于目标用户的页面上的信息通常更新的频率比较低,信息比较陈旧,因此采用上述的方法进行搜索时,准确性比较低。
针对上述的情况,可以收集目标用户在平台中发布的信息建立信息库,根据所述查询词对信息库中用户发布的信息进行匹配并排序,然后反馈给访问者。但是,一个平台中有非常多的目标用户,每个目标用户在平台中又会发布非常多的信息,因此信息库中的信息是海量的。
并且,每一个目标用户发布的目标信息是纷繁复杂的,其中一些是所述目标用户经常发布的信息,另一些是目标用户偶尔发布的信息。偶尔发布的信息往往在排序中排在比较低的位置,并且对访问者的意义不大,甚至是无意义的,例如,在电子商务平台中,访问者在搜索供应商时,往往希望搜索到的供应商的主营产品是与查询词匹配的,而不希望搜索到的供应商仅销售过一两件与查询词匹配的产品。
在一个平台中通过查询词来搜索目标用户时,每次都要从信息库中获取海量的数据与查询词进行匹配,进而确定目标用户,此时就会导致搜索的效率非常低。即使所述信息是用户偶尔发布的信息,依然需要进行查找匹配,查找匹配中获取了无意义的数据,会导致资源的浪费。
发明内容
本申请提供一种搜索方法和装置,以解决现有搜索方法效率较低,并且比较浪费资源的问题。
为了解决上述问题,本申请公开了一种搜索方法,包括:
从目标用户发布的目标信息中抽取出现次数最高的前N个中心词作为目标词,并根据目标用户的页面上的信息和所述目标词建立倒排索引,其中,所述倒排索引中包括目标字段和页面信息字段,N为正整数;
接收查询词;
根据所述查询词,在所述倒排索引中查找与所述查询词匹配的目标用户;
通过所述目标字段和页面信息字段,确定所述匹配的目标用户与查询词的相关度,将所述匹配的目标用户按照所述相关度排序并返回。
优选的,所述从目标用户发布的目标信息中抽取出现次数最高的前N个中心词作为目标词,包括:
从目标用户发布的目标信息中获取目标词数据;
根据预设条件,从所述目标词数据中抽取中心词;
统计所述目标用户发布的所有目标词数据中所述中心词出现的次数;
获取出现次数最高的前N个中心词作为目标词。
优选的,针对每个中心词,计算所述中心词出现的次数占所有中心词出现次数的比重,将所述比重作为所述中心词的目标系数。
优选的,所述通过所述目标字段和页面信息字段,确定所述匹配的目标用户与查询词的相关度,包括:
针对匹配的目标用户,分别确定所述目标字段和页面信息字段,与所述查询词的匹配度;
对所述各个匹配度进行加权求和,将计算结果作为所述匹配的目标用户与查询词的相关度。
优选的,将供应商作为目标用户,将产品信息作为目标信息,将主营产品词作为目标词。
优选的,所述目标词信息为产品标题,所述从目标用户发布的目标信息中抽取出现次数最高的前N个中心词作为目标词,包括:
从供应商发布的产品信息中获取产品标题;
根据预置的语法规则,从所述产品标题中抽取中心词;
统计所述供应商发布的所有产品标题中所述中心词出现的次数;
获取出现次数最高的前N个中心词作为主营产品词。
优选的,针对每个中心词,计算所述中心词出现的次数占所有中心词出现次数的比重,将所述比重作为所述中心词的主营产品系数。
优选的,所述目标字段为主营产品字段,所述通过所述目标字段和页面信息字段,确定所述匹配的目标用户与查询词的相关度,包括:
针对所述匹配的供应商,确定所述主营产品字段和页面信息字段,与所述查询词在单词级别上的匹配度;
确定所述主营产品字段和页面信息字段,与所述查询词在语义级别上的匹配度;
对所述各个匹配度进行加权求和,将计算结果作为所述匹配的供应商与查询词的相关度。
优选的,所述通过所述目标字段和页面信息字段,确定所述匹配的目标用户与查询词的相关度之前,还包括:
对所述查询词进行预处理,所述预处理包括以下至少一项:
删除所述查询词中的无效字符;
根据预置的语法规则,从所述查询词中抽取中心词;
删除所述查询词的词根;
识别所述查询词中的国家地域信息。
优选的,所述根据目标用户的页面上的信息和所述目标词建立倒排索引之前,还包括:
对供应商的页面上的信息进行预处理,包括:
删除所述页面上的信息的无效字符,和/或,删除所述页面上的信息中单词的词根。
优选的,从所述预处理后的页面上的信息中提取所述页面信息字段,其中,所述页面信息字段包括以下至少一项:经营产品字段、国家字段、公司地址字段和公司名称字段。
优选的,所述确定所述主营产品字段和页面信息字段,与所述查询词在单词级别上的匹配度,包括:
当确定所述页面信息字段与所述查询词在单词级别上匹配时,计算对应的匹配度;
当确定所述主营产品字段与所述查询词在单词级别上匹配时,通过所述主营产品系数计算对应的匹配度。
优选的,所述确定所述主营产品字段和页面信息字段,与所述查询词在语义级别上的匹配度,包括:
当确定所述页面信息字段与所述查询词的中心词在语义级别上匹配时,计算对应的匹配度;
当确定所述主营产品字段与所述查询词的中心词在语义级别上匹配时,通过所述主营产品系数计算对应的匹配度。
相应的,本申请还公开了一种搜索装置,包括:
获取并建立模块,用于从目标用户发布的目标信息中抽取出现次数最高的前N个中心词作为目标词,并根据目标用户的页面上的信息和所述目标词建立倒排索引,其中,所述倒排索引中包括目标字段和页面信息字段,N为正整数;
接收模块,用于接收查询词;
查找模块,用于根据所述查询词,在所述倒排索引中查找与所述查询词匹配的目标用户;
排序模块,用于通过所述目标字段和页面信息字段,确定所述匹配的目标用户与查询词的相关度,将所述匹配的目标用户按照所述相关度排序并返回。
与现有技术相比,本申请包括以下优点:
首先,现有技术中每次进行搜索查询时,查询词与海量数据的匹配会导致搜索的效率非常低,并且查找匹配中会获取无意义的数据,进一步导致资源的浪费。而本申请在搜索之前就会从目标用户发布的目标信息中抽取中心词,并且,获取所有中心词中出现次数最高的前N个中心词作为目标词,即获取目标用户经常发布的信息。在搜索前对用户发布的信息进行处理,减少了无意义的数据。后续根据目标用户的页面上的信息和所述目标词建立倒排索引。然后在搜索中接收查询词后,并在所述倒排索引中查找与所述查询词匹配的目标用户,从而在搜索时不需要查找匹配无意义的数据。后续在确定所述匹配的目标用户与查询词的相关度后,可以进行排序并返回。本申请提高了搜索的效率,并且减少了资源的浪费。
其次,本申请可以应用于电子商务领域,可以将供应商作为目标用户,将产品信息作为目标信息,将主营产品词作为目标词。不仅从供应商的页面中获取信息,还从供应商发布的产品信息中获取主营产品词,供应商发布的产品信息可以全面的覆盖供应商经营的产品,并且可以做到实时更新,因此本申请从供应商发布的产品信息中获取主营产品词,从而减少了目标用户的无意义的产品信息,后续依据所述主营产品计算相关度得到的搜索结果的准确率比较高,在给用户提供准确、全面的搜索结果的同时,不会降低搜索的效率,也不会造成资源的浪费。
再次,本申请中可以对页面中的信息和查询词进行预处理,可以删除无效字符、删除词根等。有利于提高匹配、查找和排序的速度,并且使得相关度的计算结果更加准确。
附图说明
图1是本申请实施例所述一种搜索方法流程图;
图2是本申请优选实施例所述一种搜索方法中主营产品词的获取方法流程图;
图3是本申请优选实施例所述一种搜索方法相关度的确定方法流程图;
图4是本申请实施例所述一种搜索装置结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
针对某个平台上目标用户的搜索中,每次都要从信息库中获取海量的数据与查询词进行匹配,进而确定目标用户,此时就会导致搜索的效率非常低,并且非常耗费资源。
本申请提供一种搜索方法,不仅从目标用户的页面上获取信息,还从目标用户发布的目标信息中抽取出现次数最高的前N个中心词作为目标词,因此在搜索中可以不需要查找匹配无意义的数据,提高了搜索的效率,并且减少了资源的浪费。
参照图1,给出了本申请实施例所述一种搜索方法流程图。
步骤11,从目标用户发布的目标信息中抽取出现次数最高的前N个中心词作为目标词,并根据目标用户的页面上的信息和所述目标词建立倒排索引,其中,所述倒排索引中包括目标字段和页面信息字段,N为正整数;
所述目标用户为使用一个平台的用户,具体目标用户要视所使用的平台而定。例如,针对微博平台,所述微博用户即为目标用户,针对电子商务平台,所述买家和卖家即为目标用户。
在一个平台中目标用户的页面上的信息是对目标用户进行简要的介绍,其中包含了所述目标用户的相关信息,同样的,目标用户还可以在所述的平台中发布目标信息。因此可以从目标用户发布的目标信息中获取中心词,再获取所有中心词中出现次数最高的前N个中心词作为目标词。其中,所述中心词是可以体现目标信息的中心思想的词汇,例如,在电子商务平台中,将卖家发布的产品标题作为目标信息,则目标信息中的中心词就是所述产品标题中的产品,如产品标题为热销欧美复古连衣裙,则所述中心词为连衣裙。
并且,每一个目标用户发布的目标信息是纷繁复杂的,其中一些是所述目标用户经常发布的信息,另一些是目标用户偶尔发布的信息。偶尔发布的信息往往在排序中排在比较低的位置,并且对访问者的意义不大,甚至是无意义的,例如,在电子商务平台中,访问者在搜索供应商时,往往希望搜索到的供应商的主营产品是与查询词匹配的,而不希望搜索到的供应商仅销售过一两件与查询词匹配的产品。
现有技术中每次进行搜索查询时,都要从信息库中获取海量的数据与查询词进行匹配,进而确定目标用户,查询词与海量数据的匹配会导致搜索的效率非常低。即使所述信息是用户偶尔发布的信息,依然需要进行查找匹配,查找匹配中获取了无意义的数据,会导致资源的浪费。
而本申请在搜索之前就会从目标用户发布的目标信息中抽取中心词,并且,获取所有中心词中出现次数最高的前N个中心词作为目标词,即获取目标用户经常发布的信息。在搜索前对用户发布的信息进行处理,减少了无意义的数据,从而在搜索时不需要查找匹配无意义的数据,提高了搜索的效率,并且减少了资源的浪费。
然后针对每一个目标用户,根据目标用户的页面上的信息和所述目标词建立倒排索引,所述倒排索引的形式可以如表1:
用户ID |
目标字段 |
页面信息字段 |
00001 |
XXXXX |
XXXXX |
…… |
…… |
…… |
表1
其中,用户ID(identity)用于唯一标识一个目标用户,所述目标字段的字段值是对应目标用户的目标词,所述页面信息字段的字段值为对应目标用户页面上的信息。当然,所述倒排索引中其他的数据,本申请对此不做限定。
优选的,所述从目标用户发布的目标信息中抽取出现次数最高的前N个中心词作为目标词,包括:
步骤111,从目标用户发布的目标信息中获取目标词数据;
步骤112,根据预设条件,从所述目标词数据中抽取中心词;
步骤113,统计所述目标用户发布的所有目标词数据中所述中心词出现的次数;
步骤114,获取出现次数最高的前N个中心词作为目标词。
优选的,针对每个中心词,计算所述中心词出现的次数占所有中心词出现次数的比重,将所述比重作为所述中心词的目标系数。
步骤12,接收查询词;
用户在进行搜索时可以输入查询词,然后点击搜索,因此可以接受对应的查询词。
步骤13,根据所述查询词,在所述倒排索引中查找与所述查询词匹配的目标用户;
根据所述查询词,可以在所述倒排索引中进行查找,查找所述查询词与所述目标字段和页面信息字段中的字段值是否匹配,若匹配,则匹配的字段值对应的用户即为目标用户。
步骤14,通过所述目标字段和页面信息字段,确定所述匹配的目标用户与查询词的相关度,将所述匹配的目标用户按照所述相关度排序并返回。
然后可以进一步通过所述目标字段和页面信息字段,计算所述匹配的目标用户与查询词的相关度,将所述匹配的目标用户按照所述相关度的降序排列,然后将所述排列后的数据返回给执行查询的用户。
优选的,所述通过所述目标字段和页面信息字段,确定所述匹配的目标用户与查询词的相关度,包括:
步骤141,针对匹配的目标用户,分别确定所述目标字段和页面信息字段,与所述查询词的匹配度;
步骤142,对所述各个匹配度进行加权求和,将计算结果作为所述匹配的目标用户与查询词的相关度。
综上所述,现有技术中每次进行搜索查询时,查询词与海量数据的匹配会导致搜索的效率非常低,并且查找匹配中会获取无意义的数据,进一步导致资源的浪费。而本申请在搜索之前就会从目标用户发布的目标信息中抽取中心词,并且,获取所有中心词中出现次数最高的前N个中心词作为目标词,即获取目标用户经常发布的信息。在搜索前对用户发布的信息进行处理,减少了无意义的数据。后续根据目标用户的页面上的信息和所述目标词建立倒排索引。然后在搜索中接收查询词后,并在所述倒排索引中查找与所述查询词匹配的目标用户,从而在搜索时不需要查找匹配无意义的数据。后续在确定所述匹配的目标用户与查询词的相关度后,可以进行排序并返回。本申请提高了搜索的效率,并且减少了资源的浪费。
本申请可以应用于在电子商务领域中,若将供应商作为目标用户,则供应商的页面中包括供应商填写的经营内容、主营产品和公司规模等信息。供应商还可以发布产品信息,所述产品信息中包括产品的名称、型号和价格等具体信息。如,供应商A的公司主页中填写的经营内容为电子产品,主营产品为MP3、MP4和手机等,所述供应商A发布的产品信息中包括MP3XX1,MP3XX2和MP4SS1等,以及对应的具体型号和价格等。
因此,本申请中可以将供应商作为目标用户,将产品信息作为目标信息,将主营产品词作为目标词。
参照图2,给出了本申请优选实施例所述一种搜索方法中主营产品词的获取方法流程图。
优选的,所述目标词信息为产品标题,所述从目标用户发布的目标信息中抽取出现次数最高的前N个中心词作为目标词,即则可以从供应商发布的产品信息中获取主营产品词,包括:
步骤21,从供应商发布的产品信息中获取产品标题;
供应商可以发布产品信息,所述产品信息中包含产品标题,产品的制造商、产品数量等信息。因此可以从产品信息中获取产品标题,例如最新热销雪纺连衣裙。
步骤22,根据预置的语法规则,从所述产品标题中抽取中心词;
本申请中预置了语法规则,根据所述语法规则可以从所述产品标题中抽取中心词。
例如,若产品标题为形容词+名词,则所述名词即为中心词,如最新热销雪纺连衣裙,则中心词即为连衣裙。又如名词+介词,则所述名词即为中心词,如suit for olders,则中心词为suit。当然还包括其他的语法规则,此处不一一列举,不用理解为是对本申请的限制。
步骤23,统计所述供应商发布的所有产品标题中所述中心词出现的次数;
然后统计所述供应商发布的所有产品标题中每个中心词出现的次数,例如用户发布了100个产品标题,其中连衣裙出现的次数为20次,短裙出现的次数为15次,短裤出现的次数为30次,T恤出现的次数为22次,短裤出现的次数为10次,其他的饰品出现的次数为3次。
步骤24,获取出现次数最高的前N个中心词作为主营产品词。
本申请中预设了阈值N,则可以获取出现次数最高的前N个中心词作为主营产品词。
例如在上例的基础上,阈值N为3,则主营产品词为短裤、T恤和连衣裙。
优选的,针对每个中心词,计算所述中心词出现的次数占所有中心词出现次数的比重,将所述比重作为所述中心词的主营产品系数。
则短裤的主营产品系数为0.3,T恤的主营产品系数为0.22,连衣裙的主营产品系数为0.3。
然后可以根据供应商的页面上的信息和所述主营产品词建立倒排索引。其中,所述倒排索引中包括页面信息字段和主营产品字段。
在接收查询词后,可以根据所述查询词,在所述倒排索引中查找与所述查询词匹配的供应商。实际处理中可以在所述倒排索引的各个字段中进行模糊匹配,查询词中可能包含多个单词,则与任一单词匹配的供应商都可以认为是与所述查询词匹配的供应商。
例如,查询词为red apple,则若所述主营产品字段中包括apple,则可以认为是与所述查询词匹配的供应商。又如,页面信息字段的公司名称字段为apple,则也可以认为是与所述查询词匹配的供应商。
参照图3,给出了本申请优选实施例所述一种搜索方法相关度的确定方法流程图。
然后,可以通过所述目标字段和页面信息字段,确定所述匹配的目标用户与查询词的相关度,即确定所述匹配的供应商与所述查询词的相关度,具体包括:
步骤31,针对所述匹配的供应商,确定所述主营产品字段和页面信息字段,与所述查询词在单词级别上的匹配度;
针对所述匹配的供应商,可以确定所述主营产品字段与所述查询词在单词级别上的匹配度,并确定所述页面信息字段与所述查询词在单词级别上的匹配度。
其中,所述单词级别上的匹配度可以为确定是否完全匹配,还可以确定单词匹配数和滑动窗口数等。
若通过x个连续单词可以完全包括将所述查询词,则所述x即为滑动窗口数,其中,查询词的单词数量为m,则x≥m,x和m均为正整数。例如,查询词为red apple,公司的经营产品字段为red fushi apple,则滑动窗口数为3.
步骤32,确定所述主营产品字段和页面信息字段,与所述查询词在语义级别上的匹配度;
针对所述匹配的供应商,可以确定所述主营产品字段与所述查询词在语义级别上的匹配度,并确定所述页面信息字段与所述查询词在语义级别上的匹配度。
步骤33,对所述各个匹配度进行加权求和,将计算结果作为所述匹配的供应商与查询词的相关度。
本申请中可以将所述各个匹配度进行加权求和,将计算结果作为所述匹配的供应商与查询词的相关度
例如,采用线性回归模型,利用以下定义的特征计算相关性得分:
RelevanceScore=F(f1,...,fn)
其中,F(f1,...,fn)表示线性回归模型训练的模型函数,fn表示第n个特征的取值。
其中,可以将上述每一个匹配度看作一个特征的取值。
当然,计算相关性的方法多种多样,例如,利用人工标注的相关性数据,通过SVM(support vector machine支持向量机)、决策树等有指导的分类器训练相关性模型,线性回归模型仅用于举例论述本申请,不应理解为是对本申请的限制。
优选的,所述通过所述目标字段和页面信息字段,确定所述匹配的目标用户与查询词的相关度之前,即确定所述匹配的供应商与所述查询词的相关度之前,还包括:
对所述查询词进行预处理,所述预处理包括以下至少一项:
1)删除所述查询词中的无效字符;
可以删除所述查询词中的无效字符,如一些不可打印的字符等。
2)根据预置的语法规则,从所述查询词中抽取中心词;
例如,查询词为red apple,则去掉形容词red,可以抽取到名词apple为中心词。
3)删除所述查询词的词根;
例如可以删除所述查询词中的单、复数,如apples,删除复数标识后,即为apple。
4)识别所述查询词中的国家地域信息。
本申请中还预置了国家名单,可以识别所述查询词中的国家地域信息,例如查询词为Thailand rice,则国家地域信息即为Thailand。
优选的,所述根据目标用户的页面上的信息和所述目标词建立倒排索引之前,即根据供应商的页面上的信息和所述主营产品词建立倒排索引之前,还包括:
对供应商的页面上的信息进行预处理,包括:删除所述页面上的信息的无效字符,和/或,删除所述页面上的信息中单词的词根。
本申请还对所述供应商的页面上的信息进行了预处理,方法包括:1)删除页面上的无效字符,如一些不可打印的字符;2)删除所述页面上的信息中单词的词根,其中包括单词中的单复数。
其中,所述页面上的信息的预处理中可以同时执行上述两种方法,也可以仅执行其中一种方法,本申请对次不做限定。
优选的,从所述预处理后的页面上的信息中提取所述页面信息字段,其中,所述页面信息字段包括以下至少一项:经营产品字段、国家字段、公司地址字段和公司名称字段。
优选的,所述确定所述主营产品字段和页面信息字段,与所述查询词在单词级别上的匹配度,包括:
步骤311,当确定所述页面信息字段与所述查询词在单词级别上匹配时,计算对应的匹配度;
获取每个查询目标的页面信息字段的字段值,然后与所述查询词在单词级别上进行匹配,计算对应的匹配度。
其中包括:
1)查询词与公司名称字段的字段值在单词级别的匹配:包括查询词的单词匹配数、滑动窗口、是否完全匹配;
2)查询词与公司地址字段的字段值在单词级别的匹配:包括查询词(Query)的单词匹配数、滑动窗口、是否完全匹配;
3)查询词中的国家地域信息与国家字段的字段值是否匹配,若匹配,则匹配度为1,若不匹配,则匹配度为0;
例如:查询词是“thailand rice”,查询词的预处理中识别出的国家地域信息是“thailand”,国家字段的字段值是“Thailand”,则该匹配度为1。
4)查询词与经营产品字段的字段值在单词级别的匹配:包括查询词是否与经营产品字段中的某个字段值匹配,若匹配,则匹配度为1,若不匹配,则匹配度为0。
步骤312,当确定所述主营产品字段与所述查询词在单词级别上匹配时,通过所述主营产品系数计算对应的匹配度。
查询词与主营产品字段的字段值在单词级别的匹配,包括:查询词是否与主营产品字段中某个字段值匹配,若不匹配,则匹配度为0,若匹配,则在匹配的前提下,根据所述字段值对应的主营产品词的主营产品系数计算匹配度。
优选的,所述确定所述主营产品字段和页面信息字段,与所述查询词在语义级别上的匹配度,包括:
步骤321,当确定所述页面信息字段与所述查询词的中心词在语义级别上匹配时,计算对应的匹配度;
查询词与经营产品字段的字段值在语义级别的匹配:包括查询词的中心词是否与经营产品字段中的某个字段值匹配,若匹配,则匹配度为1,若不匹配,则匹配度为0。
步骤322,当确定所述主营产品字段与所述查询词的中心词在语义级别上匹配时,通过所述主营产品系数计算对应的匹配度。
查询词与主营产品字段的字段值在语义级别的匹配,包括:查询词的中心词是否与主营产品字段中某个字段值匹配,若不匹配,则匹配度为0,若匹配,则在匹配的前提下,根据所述字段值对应的主营产品词的主营产品系数计算匹配度。
综上所述,本申请可以应用于电子商务领域,可以将供应商作为目标用户,将产品信息作为目标信息,将主营产品词作为目标词。不仅从供应商的页面中获取信息,还从供应商发布的产品信息中获取主营产品词,供应商发布的产品信息可以全面的覆盖供应商经营的产品,并且可以做到实时更新,因此本申请从供应商发布的产品信息中获取主营产品词,从而减少了目标用户的无意义的产品信息,后续依据所述主营产品计算相关度得到的搜索结果的准确率比较高,在给用户提供准确、全面的搜索结果的同时,不会降低搜索的效率,也不会造成资源的浪费。
其次,本申请中可以对页面中的信息和查询词进行预处理,可以删除无效字符、删除词根等。有利于提高匹配、查找和排序的速度,并且使得相关度的计算结果更加准确。
参照图4,给出了本申请实施例所述一种搜索装置结构图。
相应的,本申请还提供了一种搜索装置,包括:获取并建立模块11、接收模块12、查找模块13和排序模块14,其中:
获取并建立模块11,用于从目标用户发布的目标信息中抽取出现次数最高的前N个中心词作为目标词,并根据目标用户的页面上的信息和所述目标词建立倒排索引,其中,所述倒排索引中包括目标字段和页面信息字段,N为正整数;
接收模块12,用于接收查询词;
查找模块13,用于根据所述查询词,在所述倒排索引中查找与所述查询词匹配的目标用户;
排序模块14,用于通过所述目标字段和页面信息字段,确定所述匹配的目标用户与查询词的相关度,将所述匹配的目标用户按照所述相关度排序并返回。
优选的,所述获取并建立模块11,包括:
第一获取子模块111,用于从目标用户发布的目标信息中获取目标词数据;
抽取子模块112,用于根据预设条件,从所述目标词数据中抽取中心词;
统计子模块113,用于统计所述目标用户发布的所有目标词数据中所述中心词出现的次数;
第二获取子模块114,用于获取出现次数最高的前N个中心词作为目标词。
优选的,所述获取并建立模块11,还包括:
确定目标系数子模块115,用于针对每个中心词,计算所述中心词出现的次数占所有中心词出现次数的比重,将所述比重作为所述中心词的目标系数。
优选的,所述排序模块14,包括:
匹配度确定子模块141,用于针对匹配的目标用户,分别确定所述目标字段和页面信息字段,与所述查询词的匹配度;
相关度计算子模块142,用于对所述各个匹配度进行加权求和,将计算结果作为所述匹配的目标用户与查询词的相关度。
优选的,将供应商作为目标用户,将产品信息作为目标信息,将主营产品词作为目标词。
优选的,所述目标词信息为产品标题,所述获取并建立模块11,包括:
第一获取子模块111,用于从供应商发布的产品信息中获取产品标题;
抽取子模块112,用于根据预置的语法规则,从所述产品标题中抽取中心词;
统计子模块113,用于统计所述供应商发布的所有产品标题中所述中心词出现的次数;
第二获取子模块114,用于获取出现次数最高的前N个中心词作为主营产品词。
确定目标系数子模块115,用于针对每个中心词,计算所述中心词出现的次数占所有中心词出现次数的比重,将所述比重作为所述中心词的主营产品系数。
优选的,所述目标字段为主营产品字段,所述排序模块14,包括:
第一匹配度确定子模块,用于针对所述匹配的供应商,确定所述主营产品字段和页面信息字段,与所述查询词在单词级别上的匹配度;
第二匹配度确定子模块,用于确定所述主营产品字段和页面信息字段,与所述查询词在语义级别上的匹配度;
相关度计算子模块,用于对所述各个匹配度进行加权求和,将计算结果作为所述匹配的供应商与查询词的相关度。
优选的,所述的装置还包括:
查询词预处理模块,用于对所述查询词进行预处理,所述预处理包括以下至少一项:删除所述查询词中的无效字符;根据预置的语法规则,从所述查询词中抽取中心词;删除所述查询词的词根;识别所述查询词中的国家地域信息。
页面信息预处理模块,用于对供应商的页面上的信息进行预处理,包括:删除所述页面上的信息的无效字符,和/或,删除所述页面上的信息中单词的词根。
提取模块,用于从所述预处理后的页面上的信息中提取所述页面信息字段,其中,所述页面信息字段包括以下至少一项:经营产品字段、国家字段、公司地址字段和公司名称字段。
优选的,所述第一匹配度确定子模块,包括:
页面信息计算单元,用于当确定所述页面信息字段与所述查询词在单词级别上匹配时,计算对应的匹配度;
主营产品计算单元,用于当确定所述主营产品字段与所述查询词在单词级别上匹配时,通过所述主营产品系数计算对应的匹配度。
优选的,所述第二匹配度确定子模块,包括:
页面信息计算单元,用于当确定所述页面信息字段与所述查询词的中心词在语义级别上匹配时,计算对应的匹配度;
主营产品计算单元,用于当确定所述主营产品字段与所述查询词的中心词在语义级别上匹配时,通过所述主营产品系数计算对应的匹配度。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种搜索方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。