《一种用于搜索的智能提示的方法、模块和系统.pdf》由会员分享,可在线阅读,更多相关《一种用于搜索的智能提示的方法、模块和系统.pdf(17页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103631929 A (43)申请公布日 2014.03.12 CN 103631929 A (21)申请号 201310653732.6 (22)申请日 2013.12.09 G06F 17/30(2006.01) (71)申请人 江苏金智教育信息技术有限公司 地址 211100 江苏省南京市江宁经济开发区 将军大道 100 号 (72)发明人 罗晶 尹岩 严敏 (74)专利代理机构 江苏银创律师事务所 32242 代理人 孙计良 (54) 发明名称 一种用于搜索的智能提示的方法、 模块和系 统 (57) 摘要 本发明公开了一种用于搜索的智能提示的方 法、 模块和。
2、系统。根据本发明的方法, 服务器执行 以下步骤 : 用分词器分出前缀词和后缀词 ; 同义 扩展成前缀同义词和后缀同义词列表 ; 然后遍历 热词后缀树查找前缀匹配和或后缀匹配的热词获 得候选词 ; 再通过用户历史搜索行为的分析计算 各候选词的概率。客户端执行以下步骤 : 计算候 选词的本地相关度 ; 计算候选词的点击预估值, 然后根据点击预估值从选择候选词显示。本发明 中, 提示词通过前缀词和后缀词匹配获得, 并结合 了同义词, 并综合了众多用户搜索的意图, 再结合 了本地相关度, 从而使得提示词更接近用户搜索 意图。 (51)Int.Cl. 权利要求书 3 页 说明书 13 页 (19)中华人。
3、民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书13页 (10)申请公布号 CN 103631929 A CN 103631929 A 1/3 页 2 1. 一种用于搜索的智能提示方法, 包括客户端和服务器, 客户端与服务器通过网络相 连, 该方法包括以下步骤 : S21 : 客户端获取初始字符串 ; S22 : 客户端发送初始字符串至服务器 ; S29 : 服务器接收初始字符串 ; S3 : 服务器根据初始字符串搜索热词获得候选词信息列表 ; S41 : 服务器将候选词信息列表发送至终端 ; S49 : 客户端接收候选词信息列表 ; S5 : 客户端根据候选词信息列表获取。
4、候选词列表 ; S91 : 客户端展示候选词列表 ; 其特征在于, 所述步骤 S3 包括 : S31 : 服务器根据分词器拆分初始字符串获得前缀词和后缀词 ; S32 : 服务器根据前缀词和后缀词在同义词库中查找获得前缀同义词和后缀同义词 ; S33 : 服务器遍历热词后缀树查找前缀匹配和或后缀匹配的热词, 获得候选词信息列 表 ; 其中, 所述同义词库为服务器用于保存关键词之间同义关联关系的数据库 ; 所述的热 词后缀树为服务器根据热词库中的高频搜索热词依据广义后缀树的数据结构而建立 ; 所述 的热词库为服务器用于保存热词信息的数据库 ; 所述热词信息包括热词、 热词序号和热词 搜索频次 ;。
5、 所述的前缀匹配为热词的前缀与所述前缀词或前缀同义词相匹配 ; 所述的后缀 匹配为热词的后缀与所述后缀词或后缀同义词匹配。 2. 如权利要求 1 所述的用于搜索的智能提示方法, 其特征在于, 该方法还包括 : S34 : 服务器根据用户历史搜索行为数据库的分析计算每个候选词的概率 ; 其中, 所述的用户历史搜索行为数据库用于保存历史行为信息。 3. 如权利要求 2 所述的用于搜索的智能提示方法, 其特征在于, 所述步骤 S34 包括 : S34a1 : 服务器在用户历史搜索行为数据库中查找原始字符串与初始字符串相同且点 击热词与候选词相同的历史行为信息, 获得候选词的点击频次 ; S34a2 。
6、: 服务器根据对候选词的点击频次做归一化处理获得候选词的概率 ; 其中, 所述的历史行为信息包括原始字符串、 点击热词和点击频次。 4. 如权利要求 2 所述的用于搜索的智能提示方法, 其特征在于, 所述步骤 S34 包括 : S34b1 : 根据候选词在用户历史搜索行为数据库查找历史行为信息 ; S34b2 : 统计该历史行为信息下不同前缀匹配方式和不同后缀匹配方式下的点击频 次 ; S34b3 : 对不同前缀匹配方式和不同后缀匹配方式下的点击频次进行自然对数运算获 得不同前缀匹配方式和不同后缀匹配方式下的 logit 值 ; S34b4 : 根 据 二 元 线 性 回 归 参 数 方 程 。
7、计 算 公 式中 参 数 的值 ; S34b5 :根 据 公 式计 算 候 选 词 的 概 率,其 中 权 利 要 求 书 CN 103631929 A 2 2/3 页 3 ; S34b6 ; 归一化处理各个候选词的候选词的概率 ; 其中, 所述的历史行为信息包括点击热词、 九种候选词匹配类型的点击频次。 5.如权利要求1或2或3或4所述的用于搜索的智能提示方法, 其特征在于, 所述步骤 S5 包括 : S51 : 客户端根据本地历史搜索数据库计算候选词信息列表中每个候选词的本地相关 度 ; S52 : 客户端根据候选词的本地相关度、 候选词信息计算每个候选词的点击预估值 ; S53 : 客户。
8、端根据候选词的点击预估值从候选词信息列表选取候选词列表 ; 其中, 所述本地历史搜索数据库为客户端用于保存本地历史搜索信息 ; 所述本地历史 搜索信息包括本地历史搜索字符串、 本地历史搜索时间、 本地历史搜索频次 ; 所述步骤 S51 包括 : S511 : 用分词器将本地历史搜索数据库中的本地历史搜索字符串和候选词信息列表中 的候选词拆分成关键词列表并计算每个关键词的统计频次 ; S512 : 根据关键词列表中的关键词的统计频次构建关键词空间向量 ; S513 : 根据候选词拆分的关键词在关键词列表中关键词的统计频次构建候选词空间向 量 ; S514 : 计算关键词空间向量与候选词空间向量的。
9、余弦值, 获得候选词的本地相关度。 6. 如权利要求 5 所述的用于搜索的智能提示方法, 其特征在于, 所述步骤 S511 中所述 的计算关键词的统计频次包括按时间加权计算的频次的步骤。 7. 如权利要求 5 所述的用于搜索的智能提示方法, 其特征在于, 所述步骤 S52 中 : CTR = ARC ; 其中 CTR 为候选词的点击预估值 ; A 为候选词的概率 ; R 为候选词的本 地相关度 ; C 为根据候选词的类型确定的常数。 8. 如权利要求 5 所述的用于搜索的智能提示方法, 其特征在于, 所述步骤 S52 中 : CTR = ARCP ; 其中 CTR 为候选词的点击预估值 ; A。
10、 为候选词的概率 ; R 为候选词 的本地相关度 ; C 为根据候选词的类型确定的常数 ; P 为候选词的搜索频次。 9. 一种用于搜索的智能提示装置, 其特征在于, 包括 : 分词装置, 用于拆分初始字符串获得前缀词和后缀词 ; 同义扩展装置, 用于根据前缀词和后缀词在同义词库中查找获得前缀同义词和后缀同 义词 ; 后缀树遍历装置, 用于遍历热词后缀树查找前缀匹配和或后缀匹配的热词, 获得候选 词信息列表 ; 所述的前缀匹配为热词的前缀与所述前缀词或前缀同义词相匹配 ; 所述的后 缀匹配为热词的后缀与所述后缀词或后缀同义词匹配 ; 热词库构建装置, 用于管理和维护用于保存热词信息的数据库 ;。
11、 后缀树构建装置, 用于管理和维护热词后缀树 ; 所述的热词后缀树为服务器根据热词 库中的高频搜索热词依据广义后缀树的数据结构而建立 ; 历史行为分析装置, 用于根据用户历史搜索行为数据库的分析计算每个候选词的概 率 ; 用户历史搜索行为数据库装置, 用于保存历史行为信息。 权 利 要 求 书 CN 103631929 A 3 3/3 页 4 10. 一种用于搜索的智能提示系统, 包括客户端和服务器, 客户端与服务器通过网络相 连, 其特征在于 : 所述的服务器包括 : 分词模块, 用于拆分初始字符串获得前缀词和后缀词 ; 同义扩展模块, 用于根据前缀词和后缀词在同义词库中查找获得前缀同义词和。
12、后缀同 义词 ; 后缀树遍历模块, 用于遍历热词后缀树查找前缀匹配和或后缀匹配的热词, 获得候选 词信息列表 ; 所述的前缀匹配为热词的前缀与所述前缀词或前缀同义词相匹配 ; 所述的后 缀匹配为热词的后缀与所述后缀词或后缀同义词匹配 ; 热词库构建模块, 用于管理和维护用于保存热词信息的数据库 ; 后缀树构建模块, 用于管理和维护热词后缀树 ; 所述的热词后缀树为服务器根据热词 库中的高频搜索热词依据广义后缀树的数据结构而建立 ; 历史行为分析模块, 用于根据用户历史搜索行为数据库的分析计算每个候选词的概 率 ; 用户历史搜索行为数据库模块, 用于保存历史行为信息 ; 所述的客户端包括 : 本。
13、地相关度计算模块, 用于根据本地历史搜索数据库计算候选词信息列表中每个候选 词的本地相关度 ; 点击预估值计算模块, 用于根据候选词的本地相关度、 候选词信息计算每个候选词的 点击预估值 ; 候选词选取模块, 用于根据候选词的点击预估值从候选词信息列表选取候选词列表 ; 本地历史搜索数据库存储模块, 用于保存本地历史搜索信息, 所述的本地历史搜索信 息包括本地历史搜索字符串、 本地历史搜索时间、 本地历史搜索频次 ; 所述的本地相关度计算模块包括 : 关键词分布统计模块, 用于用分词器将本地历史搜索数据库中的本地历史搜索字符串 和候选词信息列表中的候选词拆分成关键词列表并计算每个关键词的统计频。
14、次 ; 关键词空间向量构建模块, 用于根据关键词列表中的关键词的统计频次构建关键词空 间向量 ; 候选词空间向量构建模块, 用于根据候选词拆分的关键词在关键词列表中关键词的统 计频次构建候选词空间向量 ; 向量余弦计算模块, 用于计算关键词空间向量与候选词空间向量的余弦值, 获得候选 词的本地相关度。 权 利 要 求 书 CN 103631929 A 4 1/13 页 5 一种用于搜索的智能提示的方法、 模块和系统 技术领域 0001 本发明涉及数据搜索、 数据挖掘中的关键词搜索, 尤其涉及关键词输入中的人工 智能。 背景技术 0002 智能提示是一种帮助用户明确输入意图, 方便用户快捷输入,。
15、 提高用户体验的方 法。 智能提示主要应用于搜索引擎和开发平台中, 可以根据用户的输入, 通过下拉框或者标 签等不同的展现形式, 向用户进行自动提示。 0003 目前主流搜索引擎主要是先统计服务器端保存的用户搜索历史数据, 根据搜索词 的搜索频率, 建立热门词词典, 当用户输入关键词后, 根据字符串前缀匹配的方法, 从热门 词词典中查找候选提示词, 再根据搜索频率筛选出提示词, 依次展现在搜索框下方。 这种智 能提示, 利用字符串前缀匹配查找候选提示词, 可能会遗漏一些与搜索关键词相关的候选 提示词。利用热门词词典中搜索频率筛选候选提示词, 没有结合当前用户本地的搜索历史 数据, 可能会导致给。
16、出的提示词与用户搜索意图偏差。出现上述问题的根源在于习惯性语 言表达方式。在中文中, 修饰名词的词总是在被修饰词之前。比如 “休闲裤” , 其中 “休闲” 只是修饰词, 而 “裤” 才是主要的名词。用户在客户端输入 “休闲裤” 后, 按前缀匹配的方式 筛选出的都是与 “休闲” 相关的内容。但实际上用户主要是想查找与 “裤” 相关的内容。这 导致提示词与用户搜索意图出现明显偏差。 发明内容 0004 本发明所要解决的问题是搜索引擎中提示词合理性的问题。 0005 为解决上述问题, 本发明采用的方案如下 : 根据本发明的一种用于搜索的智能提示方法, 包括客户端和服务器, 客户端与服务器 通过网络相。
17、连, 该方法包括以下步骤 : S21 : 客户端获取初始字符串 ; S22 : 客户端发送初始字符串至服务器 ; S29 : 服务器接收初始字符串 ; S3 : 服务器根据初始字符串搜索热词获得候选词信息列表 ; S41 : 服务器将候选词信息列表发送至终端 ; S49 : 客户端接收候选词信息列表 ; S5 : 客户端根据候选词信息列表获取候选词列表 ; S91 : 客户端展示候选词列表 ; 其特征在于, 所述步骤 S3 包括 : S31 : 服务器根据分词器拆分初始字符串获得前缀词和后缀词 ; S32 : 服务器根据前缀词和后缀词在同义词库中查找获得前缀同义词和后缀同义词 ; S33 : 。
18、服务器遍历热词后缀树查找前缀匹配和或后缀匹配的热词, 获得候选词信息列 说 明 书 CN 103631929 A 5 2/13 页 6 表 ; 其中, 所述同义词库为服务器用于保存关键词之间同义关联关系的数据库 ; 所述的热 词后缀树为服务器根据热词库中的高频搜索热词依据广义后缀树的数据结构而建立 ; 所述 的热词库为服务器用于保存热词信息的数据库 ; 所述热词信息包括热词、 热词序号和热词 搜索频次 ; 所述的前缀匹配为热词的前缀与所述前缀词或前缀同义词相匹配 ; 所述的后缀 匹配为热词的后缀与所述后缀词或后缀同义词匹配。 0006 进一步, 根据本发明的用于搜索的智能提示方法, 其特征在于。
19、, 该方法还包括 : S34 : 服务器根据用户历史搜索行为数据库的分析计算每个候选词的概率 ; 其中, 所述的用户历史搜索行为数据库用于保存历史行为信息。 0007 进一步, 根据本发明的用于搜索的智能提示方法, 其特征在于, 所述步骤 S34 包 括 : S34a1 : 服务器在用户历史搜索行为数据库中查找原始字符串与初始字符串相同且点 击热词与候选词相同的历史行为信息, 获得候选词的点击频次 ; S34a2 : 服务器根据对候选词的点击频次做归一化处理获得候选词的概率 ; 其中, 所述的历史行为信息包括原始字符串、 点击热词和点击频次。 0008 进一步, 根据本发明的用于搜索的智能提示。
20、方法, 其特征在于, 所述步骤 S34 包 括 : S34b1 : 根据候选词在用户历史搜索行为数据库查找历史行为信息 ; S34b2 : 统计该历史行为信息下不同前缀匹配方式和不同后缀匹配方式下的点击频 次 ; S34b3 : 对不同前缀匹配方式和不同后缀匹配方式下的点击频次进行自然对数运算获 得不同前缀匹配方式和不同后缀匹配方式下的 logit 值 ; S34b4 : 根据二元线性回归参数方程计算公式 中参数的值 ; S34b5 :根 据 公 式计 算 候 选 词 的 概 率,其 中 ; S34b6 ; 归一化处理各个候选词的候选词的概率 ; 其中, 所述的历史行为信息包括点击热词、 九种。
21、候选词匹配类型的点击频次。 0009 进一步, 根据本发明的用于搜索的智能提示方法, 其特征在于, 所述步骤 S5 包括 : S51 : 客户端根据本地历史搜索数据库计算候选词信息列表中每个候选词的本地相关 度 ; S52 : 客户端根据候选词的本地相关度、 候选词信息计算每个候选词的点击预估值 ; S53 : 客户端根据候选词的点击预估值从候选词信息列表选取候选词列表 ; 其中, 所述本地历史搜索数据库为客户端用于保存本地历史搜索信息 ; 所述本地历史 搜索信息包括本地历史搜索字符串、 本地历史搜索时间、 本地历史搜索频次 ; 所述步骤 S51 包括 : 说 明 书 CN 103631929。
22、 A 6 3/13 页 7 S511 : 用分词器将本地历史搜索数据库中的本地历史搜索字符串和候选词信息列表中 的候选词拆分成关键词列表并计算每个关键词的统计频次 ; S512 : 根据关键词列表中的关键词的统计频次构建关键词空间向量 ; S513 : 根据候选词拆分的关键词在关键词列表中关键词的统计频次构建候选词空间向 量 ; S514 : 计算关键词空间向量与候选词空间向量的余弦值, 获得候选词的本地相关度。 0010 进一步, 根据本发明的用于搜索的智能提示方法, 其特征在于, 所述步骤 S511 中 所述的计算关键词的统计频次包括按时间加权计算的统计频次的步骤。 0011 进一步, 根。
23、据本发明的用于搜索的智能提示方法, 其特征在于, 所述步骤 S52 中 : CTR = ARC ; 其中 CTR 为候选词的点击预估值 ; A 为候选词的概率 ; R 为候选词的本 地相关度 ; C 为根据候选词的类型确定的常数。 0012 进一步, 根据本发明的用于搜索的智能提示方法, 其特征在于, 所述步骤 S52 中 : CTR = ARCP ; 其中 CTR 为候选词的点击预估值 ; A 为候选词的概率 ; R 为候选词 的本地相关度 ; C 为根据候选词的类型确定的常数 ; P 为候选词的搜索频次 ; 其中所述的候 选词信息还包括候选词的搜索频次。 0013 根据本发明的一种用于搜索。
24、的智能提示装置, 其特征在于, 包括 : 分词装置, 用于拆分初始字符串获得前缀词和后缀词 ; 同义扩展装置, 用于根据前缀词和后缀词在同义词库中查找获得前缀同义词和后缀同 义词 ; 后缀树遍历装置, 用于遍历热词后缀树查找前缀匹配和或后缀匹配的热词, 获得候选 词信息列表 ; 所述的前缀匹配为热词的前缀与所述前缀词或前缀同义词相匹配 ; 所述的后 缀匹配为热词的后缀与所述后缀词或后缀同义词匹配 ; 热词库构建装置, 用于管理和维护用于保存热词信息的数据库 ; 后缀树构建装置, 用于管理和维护热词后缀树 ; 所述的热词后缀树为服务器根据热词 库中的高频搜索热词依据广义后缀树的数据结构而建立 ;。
25、 历史行为分析装置, 用于根据用户历史搜索行为数据库的分析计算每个候选词的概 率 ; 用户历史搜索行为数据库装置, 用于保存历史行为信息。 0014 进一步, 根据本发明的一种用于搜索的智能提示系统, 包括客户端和服务器, 客户 端与服务器通过网络相连, 其特征在于 : 所述的服务器包括 : 分词模块, 用于拆分初始字符串获得前缀词和后缀词 ; 同义扩展模块, 用于根据前缀词和后缀词在同义词库中查找获得前缀同义词和后缀同 义词 ; 后缀树遍历模块, 用于遍历热词后缀树查找前缀匹配和或后缀匹配的热词, 获得候选 词信息列表 ; 所述的前缀匹配为热词的前缀与所述前缀词或前缀同义词相匹配 ; 所述的。
26、后 缀匹配为热词的后缀与所述后缀词或后缀同义词匹配 ; 热词库构建模块, 用于管理和维护用于保存热词信息的数据库 ; 后缀树构建模块, 用于管理和维护热词后缀树 ; 所述的热词后缀树为服务器根据热词 说 明 书 CN 103631929 A 7 4/13 页 8 库中的高频搜索热词依据广义后缀树的数据结构而建立 ; 历史行为分析模块, 用于根据用户历史搜索行为数据库的分析计算每个候选词的概 率 ; 用户历史搜索行为数据库模块, 用于保存历史行为信息 ; 所述的客户端包括 : 本地相关度计算模块, 用于根据本地历史搜索数据库计算候选词信息列表中每个候选 词的本地相关度 ; 点击预估值计算模块, 。
27、用于根据候选词的本地相关度、 候选词信息计算每个候选词的 点击预估值 ; 候选词选取模块, 用于根据候选词的点击预估值从候选词信息列表选取候选词列表 ; 本地历史搜索数据库存储模块, 用于保存本地历史搜索信息, 所述的本地历史搜索信 息包括本地历史搜索字符串、 本地历史搜索时间、 本地历史搜索频次 ; 所述的本地相关度计算模块包括 : 关键词分布统计模块, 用于用分词器将本地历史搜索数据库中的本地历史搜索字符串 和候选词信息列表中的候选词拆分成关键词列表并计算每个关键词的统计频次 ; 关键词空间向量构建模块, 用于根据关键词列表中的关键词的统计频次构建关键词空 间向量 ; 候选词空间向量构建模。
28、块, 用于根据候选词拆分的关键词在关键词列表中关键词的统 计频次构建候选词空间向量 ; 向量余弦计算模块, 用于计算关键词空间向量与候选词空间向量的余弦值, 获得候选 词的本地相关度。 0015 本发明的技术效果如下 : 1、 本发明中, 提示词通过前缀词和后缀词匹配获得, 并结合了同义词, 因此更容易接近 语言所表达的含义。 0016 2、 本发明中, 前缀词和后缀词的匹配通过构建热词广义后缀树实现, 并结合热词 序号, 使得搜索过程快捷, 消耗的 CPU 时间少。 0017 3、 本发明中, 最终提示词结合了概率计算, 计算的概率综合了众多用户搜索的意 图, 从而使得提示词更接近用户搜索意。
29、图。 0018 4、 本发明中, 最终提示词结合了本地相关度, 通过用户搜索历史分析用户搜索意 图, 从而使得提示词更接近用户搜索意图。 具体实施方式 0019 下面对本发明的发明内容和权利要求作进一步详细说明。 0020 一、 本发明的应用场合与应用环境 本发明应用于搜索引擎的智能提示。搜索时, 用户通过网页的文本编辑框输入需要搜 索的字符串, 然后根据本发明的装置、 方法或系统, 在网页的文本编辑框下以下拉框的形式 显示用户可能搜索的多个提示词, 用户选择下拉框中的提示词后, 搜索引擎根据提示词进 行搜索。当然, 出现提示词的下拉框后, 用户也可以不选择下拉框继续输入文本, 然后搜索 引擎。
30、根据输入的文本进行搜索。采用智能提示的下拉框的好处是方便用户输入, 减少用户 说 明 书 CN 103631929 A 8 5/13 页 9 文本输入的人工和耗时。提示词的获取主要过程可以归纳成如下步骤 : S21 : 客户端获取初始字符串 ; S22 : 客户端发送初始字符串至服务器 ; S29 : 服务器接收初始字符串 ; S3 : 服务器根据初始字符串搜索热词获得候选词信息列表 ; S41 : 服务器将候选词信息列表发送至终端 ; S49 : 客户端接收候选词信息列表 ; S5 : 客户端根据候选词信息列表获取候选词列表 ; S91 : 客户端展示候选词列表 ; 上述过程中, 客户端可以。
31、主要以网页形式出现。当然也可以制作成专用的应用程序实 现。 网页形式的客户端一般安装在用户终端上。 用户以网页的方式访问搜索引擎的服务器。 当然, 本发明中, 客户端也可以安装在服务器侧。 客户端位于服务器侧的情形还可以理解为 某应用程序划分成客户端模块和服务端模块, 客户端模块和服务端模块分别为本发明的客 户端和服务器。此时, 客户端模块和服务端模块之间用于连接两者的 “网络” 可以理解成更 为广泛的通信方式, 比如通过本地内存, 或管道 (Pipe) , 或套接字 (Socket) 等等。 0021 上述过程中, 步骤 S21 中 “客户端获取初始字符串” 可以理解成前述 “用户通过网 页。
32、的文本编辑框输入需要搜索的字符串” 。根据前述对客户端的理解,“客户端获取初始字 符串” 的步骤还可以通过其他形式。 一般来说, 客户端获取的初始字符串是由人工输入的字 符串, 而且是用户输入过程中由客户端获取的, 通常并非用户最终需要搜索的字符串。 0022 上述过程中, 步骤 S91 中 “客户端展示候选词列表” 可以理解为前述的 “在网页的 文本编辑框下以下拉框的形式显示用户可能搜索的多个提示词” , 候选词也即为提示词, 多 个提示词构成了候选词列表。 0023 上述过程可以理解为本发明的现有技术, 因为很多搜索引擎也确实按照上述步骤 实现智能提示的过程。本发明解决本发明所要解决的问题。
33、通过步骤 S3 和步骤 S5 的具体实 施实现。本说明书后续的说明内容主要针对步骤 S3 和步骤 S5 的具体实施以及和步骤 S3、 S5相关的技术内容。 而对于上述过程中的其他步骤, 本领域技术人员可以理解, 本说明书不 再详述。 0024 二、 本说明书中的基本概念 本发明所指的关键词是由分词器将字符串拆分后得到的能够表达一定语义的词。 比如 “休闲裤” 拆分后的得到两个关键词,“休闲” 和 “裤” 。 0025 本发明所指的前缀词是由分词器将字符串拆分后得到的关键词中的第一个关键 词。比如 “休闲裤” 拆分后的得到两个关键词,“休闲” 和 “裤” 。其中 “休闲” 为前缀词。 0026 。
34、本发明所指的后缀词是由分词器将字符串拆分后得到的关键词中的最后一个关 键词。比如 “休闲裤” 拆分后的得到两个关键词,“休闲” 和 “裤” 。其中 “裤” 为后缀词。 0027 本领域技术人员理解, 如果字符串通过分词器拆分后只能得到一个关键词, 则该 关键词即是前缀词又是后缀词。 0028 本发明所指的候选词为由一个或多个关键词构成的字符串。 0029 本发明所指的候选词列表可以理解为多个候选词组成的数组。 0030 本发明所指的候选词信息包括候选词和候选词的属性信息或者仅仅是候选词。 候 说 明 书 CN 103631929 A 9 6/13 页 10 选词的属性信息可以包括候选词的搜索频。
35、次、 候选词的概率和 / 或候选词本地相关度。 0031 本发明所指的候选词信息列表可以理解为多个候选词信息组成的数组。 0032 本发明所指的分词器为用于将字符串拆分成多个关键词的模块或装置, 主要通过 词典查找将字符串拆分成多个关键词。本领域技术人员理解, 分词器为现有技术。在本发 明的具体实施过程中, 分词器可以通过市场购买获得, 也可以自己构造。 0033 本发明所指的热词为由一个或多个关键词构成的字符串, 为服务器用于保存用户 搜索历史的字符串。 0034 本发明所指的热词信息包括热词、 热词序号、 热词搜索频次。 其中热词序号用于建 立快速查找的索引, 热词搜索频次用于统计热词被搜。
36、索的次数。 0035 三、 实施例 1 本实施例中, 前述步骤 S3 通过以下步骤实现 : S31 : 服务器根据分词器拆分初始字符串获得前缀词和后缀词 ; S32 : 服务器根据前缀词和后缀词在同义词库中查找获得前缀同义词和后缀同义词 ; S33 : 服务器遍历热词后缀树查找前缀匹配和或后缀匹配的热词, 获得候选词信息列 表。 0036 本实施例中, 同义词库为服务器用于保存关键词之间同义关联关系的数据库。同 义词库通常由商业词典提供, 也可以自己建立。 0037 本实施例中, 步骤 S31 由分词模块或装置实现。分词模块或装置也即前述的分词 器。本领域技术人员理解, 经步骤 S31 处理后。
37、的前缀词和后缀词可能是相同。在前缀词和 后缀词相同的情形下, 前缀同义词和后缀同义词也相同, 因此步骤 S32 可以做简化处理, 只 需要搜索前缀词的同义词或后缀词的同义词即可。 0038 本实施例中, 步骤 S32 由同义扩展模块或装置实现。本领域技术人员理解, 一个词 的同义词可能有多个, 因此步骤 S32 得到的得前缀同义词和后缀同义词通常为一列表。 0039 本实施例中, 步骤 S33 由后缀树遍历模块或装置实现。这里, 前缀匹配为热词的前 缀与所述前缀词或前缀同义词相匹配 ; 后缀匹配为热词的后缀与所述后缀词或后缀同义词 匹配。 “前缀匹配和或后缀匹配” 中的 “和或” 表示的是搜索。
38、的热词可能满足前缀匹配或者 后缀匹配或者前缀后缀均匹配。后缀树遍历模块或装置通过遍历热词后缀树实现。热词后 缀树为服务器根据热词库中的高频搜索热词依据广义后缀树的数据结构而建立。 热词后缀 树的建立通过后缀树构建模块或装置实现。后缀树构建模块或装置, 用于管理和维护热词 后缀树。总所周知, 后缀树 (Suffix tree) 是用于用来支持有效的字符串匹配和查询的树 形的数据结构。后缀树可以表达一字符串, 而广义后缀树可以表达多个字符串。广义后缀 树的构建和遍历均为现有技术, 本说明书不再累述。 需要说明的是, 热词后缀树中的热词来 自热词库, 但热词后缀树中的热词并不包含热词库中所有的热词,。
39、 只是热词库中高频搜索 的热词。高频搜索的热词可以通过对热词库中所有的热词根据热词的搜索频次排序获得 : 首先根据热词的搜索频次对热词库中的热词进行按降序排序, 然后获取排序后的热词中前 N 个热词。N 在实际应用中通常为事先设定, 比如 10000 或 100000 等。更为高效的方法还 可以在排序前做一次按热词的搜索频次的阈值过滤, 只有热词的搜索频次大于某一设定阈 值的热词才进行排序。 0040 本实施例中, 前述的热词库为服务器用于保存热词信息的数据库, 该数据也用于 说 明 书 CN 103631929 A 10 7/13 页 11 保存用户搜索历史。保存用户搜索历史由热词库构建模块。
40、或装置实现。热词库构建模块或 装置用于管理和维护用于保存热词信息的数据库。 热词信息包括热词、 热词序号、 热词搜索 频次。保存用户搜索历史的过程如下 : 用户通过客户端向服务器提交被搜索的字符串请求 搜索后, 服务器接收到被搜索的字符串后在执行搜索的同时, 还执行将被搜索的字符串作 为热词加入至热词库中的步骤 : 如果热词库中已经保存有该被搜索的字符串, 则将相应的 热词搜索频次加 1, 否则将保存被搜索的字符串至热词库, 并将该热词的搜索频次设为 1。 0041 需要说明的是, 步骤 S33 获得的候选词信息列表为多个候选词信息组成的数组。 本实施例中, 候选词信息仅仅是热词, 而步骤 S。
41、5 中获得的候选词列表即为候选词信息列 表。在其他实施方式下以及后续的实施例候选词信息可以包括更多的内容 : 比如候选词的 热词序号、 候选词的属性信息。 0042 四、 实施例 2 本实施例建立在实施例 1 的基础上, 具体为, 在实施例 1 的步骤 S33 后增加了一个步 骤, 即步骤 S34 : 服务器根据用户历史搜索行为数据库的分析计算每个候选词的概率。 0043 本实施例的步骤 S34 由历史行为分析装置或装置实现, 所要解决的问题在于对某 一特定的候选词用户历史搜索的统计分析得到用户输入初始字符串的条件下用户意图输 入该候选词的概率。本实施例的输入是步骤 S33 获得的候选词信息列。
42、表, 输出也为候选词 信息列表, 不过输出的候选词信息列表中的候选词信息增加了候选词的概率。 0044 候选词的概率的计算通过用户历史搜索行为分析计算获得。 用户历史搜索行为数 据保存在用户历史搜索行为数据库中, 该过程由用户历史搜索行为数据库的装置或模块实 现。用户历史搜索行为数据库保存了历史行为信息。实现步骤 S34 的方法有很多种。本发 明说明书提供了两种其中的实施方式 : 实施方式 1 和实施方式 2。其中实施方式 1 为一种 简单的实施方式。实施方式 2 为通过逻辑回归算法对候选词的匹配类型统计分析的方法。 0045 实施方式 1 设历史行为信息包括原始字符串、 点击热词和点击频次。。
43、服务器在用户历史搜索行 为数据库中查找原始字符串与初始字符串相同且点击热词与候选词相同的历史行为信息。 历史行为信息中的点击频次可以作为候选词的概率。由于点击频次是大于 0 的整数, 而一 般意义上的概率为 01 之间的值, 为此还可以对各个候选词点击频次做归一化处理后作 为候选词的概率, 点击频次归一化处理可以参考如下方法 : 设候选词信息列表中包括有 K 个候选词, 各个候选词的点击频次分别为 :, 则第 i 个候选词的概率为 : 。本实施方式下, 上述过程可以归纳为 : S34a1 : 服务器在用户历史搜索行为数据库中查找原始字符串与初始字符串相同且点 击热词与候选词相同的历史行为信息,。
44、 获得候选词的点击频次 ; S34a2 : 服务器根据对候选词的点击频次做归一化处理获得候选词的概率。 0046 本实施方式下, 历史行为信息通过以下方法生成 : 当客户端执行步骤 S91 后, 用户 可以选择步骤 S91 中展示的候选词列表。用户选择步骤 S91 中展示的候选词列表后, 初始 字符串和被选中的候选词同时发送至服务器, 并请求检索。服务器收到初始字符串和被选 说 明 书 CN 103631929 A 11 8/13 页 12 中的候选词后, 执行检索和前述将被选中的候选词加入至热词库步骤的同时, 还执行将初 始字符串和被选中的候选词加入用户历史搜索行为数据库的步骤。这里, 初始。
45、字符串即为 历史行为信息中的原始字符串, 被选中的候选词即为点击热词。初始字符串和被选中的候 选词加入用户历史搜索行为数据库的通过如下方法实现 : 如果用户历史搜索行为数据库中 已经保存有原始字符串和点击热词的对应关系记录, 则将相应的点击频次加 1, 否则将保存 原始字符串和点击热词至热词库, 并将相应的点击频次设为 1。 0047 实施方式 2 设历史行为信息包括点击热词、 九种候选词匹配类型的点击频次。九种候选词匹配类 型包括五种基本类型 : 非匹配类型、 前缀匹配类型、 后缀匹配类型、 前缀同义匹配类型、 后缀 同义匹配类型 ; 以及四种组合类型 : 前缀后缀匹配类型、 前缀后缀同义匹。
46、配类型、 前缀匹配 后缀同义类型以及前缀同义后缀匹配类型。 上述九种候选词的匹配类型归结成两个独立变 量 : x1和 x2。x1表示前缀匹配方式, 可能的值为前缀不匹配、 前缀同义匹配、 前缀匹配, 分别 用 1、 4、 5 数值表示。x2表示后缀匹配方式, 可能的值为后缀不匹配、 后缀同义匹配、 后缀匹 配, 分别用 1、 4、 5 数值表示。则候选词选中的概率为 : , 其中,为待定参数。下 述为待定参数的计算方法。 0048 候选词不选中的概率为 : 候选词选中的概率和候选词不选中的概率的比值为 : 。 0049 logit 变换后得到 : 。 0050 本实施方式下, 根据历史行为信息。
47、中的各种候选词匹配类型的点击频次可以得到 logit 的值以及 x1 和 x2 的值。 0051 设一点击热词对应的历史行为信息中九种候选词匹配类型的点击频次保存的值 为 : 73, 98, 119, 67, 89, 342, 137, 123, 99。 0052 则可以得到如下表格的数据 : x1x2点击频次logit 值 1(前缀不匹配)1(后缀不匹配)734.29 1(前缀不匹配)4(后缀同义匹配)89+137+123=3495.86 1(前缀不匹配)5(后缀匹配)119+342+99=5606.33 4(前缀同义匹配)1(后缀不匹配)67+137+99=3035.71 说 明 书 CN。
48、 103631929 A 12 9/13 页 13 4(前缀同义匹配)4(后缀同义匹配)1374.92 4(前缀同义匹配)5(后缀匹配)994.60 5(前缀匹配)1(后缀不匹配)98 342 123 563 6.33 5(前缀匹配)4(后缀同义匹配)1234.81 5(前缀匹配)5(后缀匹配)3425.83 根据上述表格的数据, 采用二元线性回归参数方程即可得到该点击热词 的参数值。然后再根据前述的候选词选中的概率计算得到当前候选词的概率。进一步得到 候选词的概率还可以做归一化处理。本实施方式下, 上述过程可以概括为以下步骤 : S34b1 : 根据候选词在用户历史搜索行为数据库查找历史行为。
49、信息 ; S34b2 : 统计该历史行为信息下不同前缀匹配方式和不同后缀匹配方式下的点击频 次 ; S34b3 : 对不同前缀匹配方式和不同后缀匹配方式下的点击频次进行自然对数运算获 得不同前缀匹配方式和不同后缀匹配方式下的 logit 值 ; S34b4 : 根 据 二 元 线 性 回 归 参 数 方 程 计 算 公 式中 参 数 的值 ; S34b5 :根 据 公 式计 算 候 选 词 的 概 率,其 中 ; S34b6 ; 归一化处理各个候选词的候选词的概率。 0053 本实施方式下, 用户历史搜索行为数据库可以是独立的数据库 ; 也可以与前述的 热词库为合并为同一个, 即用前述的热词库保存历史行为信息。在采用热词库保存历史行 为信息的方式下, 热词库还保存了历史行为信息中的各种候选词匹配类型的点击频次, 热 词库中的热词即为前述历史行为信息中的点击热词, 九种候选词匹配类型的点击频次的总 和即为前述实施例 1 中的热词的搜索频次。本实施方式下, 作为步骤 S34 输入的、 步骤 。