权重数的计算方法与流程

文档序号:12034819阅读:2452来源:国知局

本发明涉及计算机技术领域,尤其涉及一种权重数的计算。



背景技术:

随着信息时代的到来,服务器中存储的文件越来越多;用户可以使用终端从服务器中获取用户感兴趣的文件。为了提高用户的体验,服务器还可以为用户推荐用户感兴趣的文件。目前,服务器在为用户推荐文件时,统计的是服务器中每个文件的点击率,根据每个文件的点击率,选择点击率最高的文件,向用户推荐选择的文件。这种推荐方法不能很好地匹配用户需求,会出现推荐的内容和用户搜索内容不相符的情况。



技术实现要素:

为解决现有技术存在的问题,本发明提供了一种权重数的计算方法,所述方法包括,

服务器设定不同标签的对应权重;

将搜索字符串中的字段按照标签进行搜索查询;

获取不同标签的对应查询命中次数;

计算每一个标签的命中次数和对应权重的乘积作为该标签的权重数;

将所有标签的权重数之和作为该字段的总权重数;

按照总权重数的大小作为相关度对搜索结果进行排序。

进一步地,所述标签包括关键字标签和分类标签。

进一步地,所述方法还包括,所述服务器按照每个标签的权重数的大小作为相关度对搜索结果进行排序。

进一步地,所述方法还包括,同类标签的权重数相近。

进一步地,所述方法还包括索引单元将数据库的数据生成索引信息。

进一步地,所述方法还包括检索单元对搜索字符串进行搜索,所述检索单元对搜索字符串的标签与索引信息进行匹配。

本发明可以更好的根据用户需求提供搜索结果,获取和用户提问相关性更高的信息,提升用户的使用体验。

附图说明

图1为本发明实施例提供的权重数的计算方法的流程图。

具体实施方式

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

图1为本发明权重数的计算方法的流程图,如图所示:所述方法包括,

步骤101:服务器设定不同标签的对应权重。

本发明用于对搜索结果进行排序,即对搜索结果进行设定。为了加快搜索的过程,本发明预先对数据库中所有的数据进行分析,提取数据库中所有字段中存在的标签,并对各个标签设置相应的权重值。比如关键字标签的权重值可以设为“10”,节目标签的权重值可以设为“7”等。

进一步地,所述标签包括关键字标签和分类标签。

进一步地,所述方法还包括,同类标签的权重数相近。

具体的,标签预先被分为不同的类别,比如关键字标签和分类标签。不同分类的标签,其权重值不同。相同分类的标签,其权重值相同或相近。

步骤102:将搜索字符串中的字段按照标签进行搜索查询。

客户端将搜索字符串提交到服务器后,服务器提取搜索字符串中包括的标签,并将搜索字符串中包括的标签在服务器中进行搜索,当搜索字符串中的标签和服务器中预存字段的标签向对应时,则认为该字段是搜索字符串的一个命中结果:,若有多个字段的标签和搜索字符串的标签具有对应关系时,则认为该搜索字符串有多个命中结果。

步骤103:获取不同标签的对应查询命中次数;

用户需要进行搜索时,可以在客户端输入搜索字符串,该搜索字符串应当包括了待搜索问题或者待搜索对象的关键字。客户端接收到所述搜索字符串后,将该搜索字符串发送给所述检索单元进行检索。

当搜索字符串有多个命中结果时,则需要对命中结果进行排序。现有技术是对命中结果按照点击率来进行排序。本发明首先需要获取搜索字符串中各个标签与服务器中字段的标签的命中次数,例如搜索字符串中的标签“电影”在服务器中某字段中出现了5次,则该标签的命中次数为5。

步骤104:计算每一个标签的命中次数和对应权重的乘积作为该标签的权重数。

当获取到各个标签的命中次数后,计算该标签的命中次数和其相应的权重值的乘积,得到的值作为该标签的权重数。标签相同的情况下,权重值越高,即该标签出现的次数越多。

步骤105:将所有标签的权重数之和作为该字段的总权重数。

当得到各个标签的权重值时,将各个标签的权重值想加,得到服务器中某一命中结果的总权重数,例如某一字段电影标签的权重值为10,总共出现了5次;解说标签的权重值为7,共出现了3次,则该字段的总权重数为71。

步骤106:按照总权重数的大小作为相关度对搜索结果进行排序。

服务器中与搜索字符串的标签有重合的字段作为搜索结果,对所述搜索结果的总权重数计算完毕后进行排序,总权重数越高则相关度越高,即用户感兴趣的可能性越大。反之,则相关度越低。

进一步地,所述方法还包括,所述服务器按照每个标签的权重数的大小作为相关度对搜索结果进行排序。

如果用户有按照标签来查看搜索结果的需求,也可以按照标签的权重数来对搜索结果进行排序。当选择的标签不同时,搜索结果的排序也不同。可以直观的看到各个标签的相关度的情况。

进一步地,所述方法还包括索引单元将数据库的数据生成索引信息。

所述服务器中设置有索引单元,所述索引单元对数据库中的字段进行解析,获取标签和每个字段中各个标签的出现次数,随后生成索引信息,该索引信息即用于和搜索字符串的标签进行匹配,如果二者的标签重合度较高即相关度较高,否则相关度低。当获取到相关度高的索引信息后,再从服务器获取该索引信息对应的字段,即得到搜索字符串的搜索结果。

进一步地,所述客户端还可以发送预定义信息至数据库,所述预定义信息包括创建逻辑和更新逻辑,所述数据库向客户端发送反馈信息。

具体的,所述客户端还可以向数据库发送预定义信息,该预定义信息包括创建逻辑和更新逻辑。所述创建逻辑和更新逻辑都是采用了本发明的通过计算权重对所述结果进行排序的方法。

所述数据库接收到所述预定义信息后,向客户端发送有关于信息是否送达的反馈信息,所述创建逻辑和更新逻辑是有关于索引单元如何创建或者更新索引信息的,因此所述数据库接收到所述创建逻辑和更新逻辑后,将所述创建逻辑和更新逻辑发送到所述索引单元,索引单元接收到所述创建逻辑和更新逻辑后,按照所述创建逻辑和更新逻辑进行索引信息的创建和更新。

所述索引单元生成索引信息后,将所述索引信息发送至检索单元,以便进行下一步的搜索匹配操作。当索引单元生成新的索引信息时,也将新的索引信息发送至检索单元。

具体来讲,索引单元不仅能创建索引信息,还应当能够实时对已经创建的索引信息进行更新,可以是按照一定的时间间隔进行更新,也可以是检测到数据库发生了数据的变化而进行更新。索引单元的数据来源不只是一个数据库,而是一个由数个数据库组成的数据源,由于数据库更新速度很快,因此可以设定一个时间阈值,到了该时间阈值后,索引单元即对数据库的原索引信息进行更新。或者当数据库发送了数据的变更时,索引单元可以获取到该数据变更信息,当数据变更满足了更新条件时,索引单元对数据库的原索引信息进行更新处理。所述更新处理可以包括在原索引信息基础上的删除、增加和修改。

进一步地,所述方法还包括检索单元对搜索字符串进行搜索,所述检索单元对搜索字符串的标签与索引信息进行匹配。

当客户端提交了搜索字符串后,检索单元首先提取搜索字符串中所包含的标签,并将所包含的标签和索引信息中包含的标签进行匹配,索引信息中包含的标签不必与搜索字符串的标签完全一样,可以是同类标签或者是相近标签,或者是下位标签。例如搜索字符串的标签为电影时,索引信息的标签为“007”也应包含在搜索字符串的标签内。索引信息中包含的标签可以少于搜索字符串的标签,也可以多于搜索字符串的标签,就数量上而言,二者的标签数量也不必完全一样。但是若标签的数量和种类都完全一样,那应当属于相关度极高的索引信息。

所述检索单元接收到客户端发送的搜索字符串并获取到搜索字符串中包括的关键字或者标签后,根据该标签和关键字与检索单元中的索引信息进行匹配,若所述搜索字符串的关键字或者标签与某条索引信息的关键字或者标签的重合度较高,则认为该索引信息所对应的字段与所述搜索字符串的匹配度较高。如上所述得到一系列的字段,即搜索结果并将所述搜索结果发送给所述客户端。

实施例:

客户端提交搜索字符串“三生三世十里桃花”至检索单元,检索单元对“三生三世十里桃花”所具有的标签进行解析,比如有“电视剧”、“抄袭”、“唐七公子”、“大风刮过”等标签,其中“电视剧”为第一类标签,其权重值为10,“抄袭”为第二类标签,其权重值为7,“唐七公子”和“大风刮过”为第三类标签,其权重值为5。

设若检索单元检索到第一个字段,该字段包含有上述四个标签,且“电视剧”出现了8次,“抄袭”出现了4次,“唐七公子”和“大风刮过”共出现了13次,则“电视剧”的权重数为80,“抄袭”的权重数为28,“唐七公子”和“大风刮过”的权重数为65,总权重数为173。

设若检索单元检索到第二个字段,该字段包含有上述四个标签中的三个,“电视剧”出现了11次,“唐七公子”和“大风刮过”共出现了9次,则“电视剧”的权重数为110,“唐七公子”和“大风刮过”的权重数为45,总权重数为155。

设若检索单元检索到第三个字段,该字段包含有上述四个标签中的三个,“电视剧”出现了1次,“抄袭”出现了3次,“大风刮过”出现了12次,则“电视剧”的权重数为10,“抄袭”的权重数为21,“大风刮过”的权重数为60,总权重数为91。

按照总权重数的大小来判断相关度的大小,则总权重数越大意味着相关度越大,即顺序应当为第一个字段、第二个字段、第三个字段。搜索结果在客户端上的显示顺序应当与总权重数的大小顺序相同。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1