CN106709040A - 一种应用搜索方法和服务器 - Google Patents

一种应用搜索方法和服务器 Download PDF

Info

Publication number
CN106709040A
CN106709040A CN201611249840.7A CN201611249840A CN106709040A CN 106709040 A CN106709040 A CN 106709040A CN 201611249840 A CN201611249840 A CN 201611249840A CN 106709040 A CN106709040 A CN 106709040A
Authority
CN
China
Prior art keywords
application
search word
word
label system
keyword
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
Application number
CN201611249840.7A
Other languages
English (en)
Other versions
CN106709040B (zh
Inventor
庞伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201611249840.7A priority Critical patent/CN106709040B/zh
Publication of CN106709040A publication Critical patent/CN106709040A/zh
Application granted granted Critical
Publication of CN106709040B publication Critical patent/CN106709040B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种应用搜索方法和服务器,包括:构建应用标签数据库,应用标签数据库中包括各应用的标签体系;构建搜索词标签数据库,搜索词标签数据库中包括多个搜索词的标签体系;构建标签知识库;接收客户端上传的当前搜索词,根据搜索词标签数据库获取当前搜索词的标签体系;基于标签知识库,计算当前搜索词的标签体系与各应用的标签体系之间的语义相关性;当当前搜索词的标签体系与一个应用的标签体系之间的语义相关性符合预设条件时,将该应用的相关信息返回至客户端进行展示。本方案基于标签知识库对应用的标签体系和搜索词的标签体系进行匹配,即将用户意图和应用映射到同一个语义空间中,解决搜索词和应用的语义匹配问题,有效实现了应用搜索功能。

Description

一种应用搜索方法和服务器
技术领域
本发明涉及互联网技术领域,具体涉及一种应用搜索方法和服务器。
背景技术
应用搜索引擎是一款移动端软件应用搜索引擎服务,提供手机上的app搜索和下载,如360手机助手、腾讯应用宝、GooglePlay、Appstore等。随着移动互联网发展,移动端app应用数量迅猛增加,以360手机助手为例,有数百万的app应用,用户在不知道自己需要的那款应用的确切名字时,只根据自己心中所想构造查询描述,应用搜索引擎根据搜索query,分析用户的查询意图,将用户的意图映射到app应用上,精准地找到那款app应用,这就是功能搜索技术的应用场景。
我们分析用户查询会话时发现,用户输入的查询query,倾向于用自己所需app的功能或是类别来构造查询query,这是应用搜索引擎的重要特征,我们提出了一种新的、易实现的功能搜索技术方案,有效的实现了功能搜索技术,提供精准的app搜索和下载服务,增强用户的搜索体验。
传统的功能搜索技术方案是基于人工标注和关键字匹配检索技术,人工标注分类app的类型、人工整理query的意图类型,准确率高,但是召回率和覆盖率低,只能覆盖热门app应用及其类型,人工标注获取分类和标签的代价很高,工作量大,耗时耗力。
传统的基于关键字匹配的检索算法,当用关联tag表达相关语义时,因词语不匹配而不能召回相关app,一般解决方法是挖掘同义词,利用同义词补充语义匹配,但在app垂直领域,同义词是非常稀疏的,我们尝试过挖掘同义词但收效很差,垂直搜索领域的一个特点就是query需求较窄,歧义性小。比如用户搜索query“找餐馆”,语义上与“团购、美食、外卖、优惠、o2o、吃货”等app tag相关,但又没有同义词覆盖,用户查询与app之间存在一条语义鸿沟,不能满足用户搜索需求,用户搜索体验差。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种活链规则挖掘方法、装置、搜索方法和装置。
依据本发明的一个方面,提供了一种应用搜索方法,其中,包括:
构建应用标签数据库,所述应用标签数据库中包括各应用的标签体系;
构建搜索词标签数据库,所述搜索词标签数据库中包括多个搜索词的标签体系;
构建标签知识库;
接收客户端上传的当前搜索词,根据所述搜索词标签数据库获取当前搜索词的标签体系;
基于所述标签知识库,计算当前搜索词的标签体系与各应用的标签体系之间的语义相关性;
当当前搜索词的标签体系与一个应用的标签体系之间的语义相关性符合预设条件时,将该应用的相关信息返回至客户端进行展示。
可选地,所述构建应用标签数据库包括:
获取各应用的摘要;
从应用搜索日志中获取关于各应用的搜索词;
根据各应用的摘要、搜索词以及预设策略,挖掘出各应用的标签体系。
可选地,所述根据各应用的摘要、搜索词以及预设策略,挖掘出各应用的标签体系包括:
根据各应用的摘要和搜索词,获得训练语料集合;
将训练语料集合输入至LDA模型中进行训练,得到LDA模型输出的应用-主题概率分布结果以及主题-关键词概率分布结果;
根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各应用的标签体系。
可选地,所述根据各应用的摘要和搜索词,获得训练语料集合包括:
对于每个应用,从该应用的摘要中提取首段文字或前预设数量个句子的文字;将提取出的文字与该应用的搜索词共同作为该应用的原始语料;
各应用的原始语料构成原始语料集合;对所述原始语料集合进行预处理,获得训练语料集合。
可选地,所述对所述原始语料集合进行预处理包括:
在所述原始语料集合中,
对于每个原始语料,对所述原始语料进行分词处理,得到包含多个词项的分词结果;查找由所述分词结果中的相邻词项构成的短语;保留所述短语、所述分词结果中属于名词的词项和属于动词的词项,作为该原始语料对应保留的关键词。
可选地,所述查找由所述分词结果中的相邻词项构成的短语包括:
计算分词结果中的每两个相邻词项的cPMId值,当两个相邻词项的cPMId值大于第一预设阈值时,确定这两个相邻词项构成短语。
可选地,所述对所述原始语料集合进行预处理还包括:
将每个应用的原始物料对应保留的关键词作为该应用的第一阶段训练语料;
各应用的第一阶段训练语料构成第一阶段训练语料集合;对所述第一阶段训练语料集合中的关键词进行数据清洗。
可选地,所述对所述第一阶段训练语料集合中的关键词进行数据清洗包括:
在所述第一阶段训练语料集合中,
对于每个第一阶段训练语料,计算所述第一阶段训练语料中的每个关键词的TF-IDF值;将TF-IDF值高于第二预设阈值和/或低于第三预设阈值的关键词删除。
可选地,所述对所述原始语料集合进行预处理还包括:
将每个应用的第一阶段训练语料经数据清洗后剩余的关键词作为该应用的第二阶段训练语料;
对于每个应用的第二阶段训练语料,当该应用的第二阶段训练语料中的一个关键词在该应用的名称中出现时,将该关键词在该应用的第二阶段训练语料中重复第四预设阈值次数,得到该应用的训练语料;
各应用的训练语料构成训练语料集合。
可选地,所述根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各应用的标签体系包括:
根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到应用-关键词概率分布结果;
根据所述应用-关键词概率分布结果,对于每个应用,将关键词按照关于该应用的概率从大到小排序,选取前第五预设阈值数目的关键词。
可选地,所述根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到应用-关键词概率分布结果包括:
对于每个应用,根据所述应用-主题概率分布结果得到各主题关于该应用的概率;
对于每个主题,根据所述主题-关键词概率分布结果得到各关键词关于该主题的概率;
则对于每个关键词,将该关键词关于一个主题的概率与该主题关于一个应用的概率的乘积作为该关键词基于该主题的关于所述应用的概率;将该关键词基于各主题关于所述应用的概率之和作为该关键词关于所述应用的概率。
可选地,所述根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各应用的标签体系还包括:
将每个应用对应选取的前第五预设阈值数目的关键词作为该应用的第一阶段标签体系;
对于每个应用的第一阶段标签体系,计算该应用的第一阶段标签体系中的每个关键词与该应用的摘要之间的语义关系值;对于每个关键词,将该关键词对应的语义关系值与该关键词关于该应用的概率的乘积作为该关键词关于该应用的修正概率;将该应用的第一阶段标签体系中的各关键词按照关于该应用的修正概率从大到小排序,选取前第六预设阈值个关键词构成该应用的标签体系。
可选地,计算该应用的第一阶段标签体系中的每个关键词与该应用的摘要之间的语义关系值包括:
计算该关键词的词向量,计算该应用的摘要的前预设数量个句子中的每个词项的词向量;
计算该关键词的词向量与每个词项的词向量之间的余弦相似度,将每个余弦相似度与相应词项所在句子的权重的乘积作为该关键词与相应词项的语义关系值;
将该关键词与各词项的语义关系值之和作为该关键词与该应用的摘要之间的语义关系值。
可选地,所述根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各应用的标签体系还包括:
将每个应用对应选取的关键词作为该应用的第二阶段标签体系;
对于每个应用的第二阶段标签体系,从应用搜索日志中获取关于该应用的下载操作的搜索词集合,统计该应用的第二阶段标签体系中的每个关键词在所述搜索词集合中的DF值;对于每个关键词,在该关键词关于该应用的概率的基础上增加所述DF值的倍数得到该关键词关于该应用的二次修正概率;将该应用的第二阶段标签体系中的各关键词按照关于该应用的二次修正概率从大到小排序,选取前K1个关键词构成该应用的标签体系。
可选地,所述选取前K1个关键词构成该应用的标签体系包括:
从应用搜索日志中获取关于该应用的季度下载次数;
根据该应用的季度下载次数选取前K1个关键词构成该应用的标签体系;其中K值作为该应用的季度下载次数的折线函数。
可选地,所述构建搜索词标签数据库包括:
从应用搜索引擎的查询会话日志中获取各查询会话中的搜索词;
根据各查询会话中的搜索词以及预设策略,挖掘出各搜索词的标签体系。
可选地,根据各查询会话中的搜索词以及预设策略,挖掘出各搜索词的标签体系包括:
根据各查询会话中的搜索词,获得训练语料集合;
将训练语料集合输入至LDA模型中进行训练,得到LDA模型输出的搜索词-主题概率分布结果以及主题-关键词概率分布结果;
根据所述搜索词-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各搜索词的标签体系。
可选地,所述根据各查询会话中的搜索词,获得训练语料集合包括:
根据各查询会话中的搜索词,获得各搜索词的原始语料;
各搜索词的原始语料构成原始语料集合;对所述原始语料集合进行预处理,获得训练语料集合。
可选地,所述根据各查询会话中的搜索词,获得各搜索词的原始语料包括:
根据各查询会话中的搜索词,获得多个查询会话对应的搜索词序列集合;以及,获得多个查询会话对应的搜索词集合;
对所述搜索词序列集合进行训练得到N维的搜索词向量文件;
对于所搜索词集合中的每个搜索词,根据所述N维的搜索词向量文件计算该搜索词与其他各搜索词之间的关联程度;将与该搜索词的关联程度符合符合预设条件的其他各搜索词作为该搜索词的原始语料。
可选地,所述获得多个查询会话对应的搜索词序列集合包括:
对于每个查询会话,将该查询会话中的搜索词按照顺序排成一个序列;如果该序列中的一个搜索词对应于应用下载操作,将所下载的应用的名称插入到该序列中的相应搜索词的后面相邻位置;得到该查询会话对应的搜索词序列;
所述获得多个查询会话对应的搜索词集合包括:将多个查询会话中的搜索词的集合作为所述多个查询会话对应的搜索词集合。
可选地,对所述搜索词序列集合进行训练得到N维的搜索词向量文件包括:
将所述搜索词序列集合中的每个搜索词作为一个单词,利用深度学习工具包word2vec对所述搜索词序列集合进行训练,生成N维的搜索词向量文件。
可选地,所述对于所搜索词集合中的每个搜索词,根据所述N维的搜索词向量文件计算该搜索词与其他各搜索词之间的关联程度;将与该搜索词的关联程度符合符合预设条件的其他各搜索词作为该搜索词的原始语料包括:
利用KNN算法对所述搜索词集合以及所述N维的搜索词向量文件进行运算,根据所述N维的搜索词向量文件计算所述搜索词集合中的每两个搜索词之间的距离;
对于所述搜索词集合中的每个搜索词,按照与该搜索词的距离从大到小排序,选取前第一预定阈值个搜索词作为该搜索词的原始语料。
可选地,所述对所述原始语料集合进行预处理包括:
在所述原始语料集合中,
对于每个原始语料,对所述原始语料进行分词处理,得到包含多个词项的分词结果;查找由所述分词结果中的相邻词项构成的短语;保留所述短语、所述分词结果中属于名词的词项和属于动词的词项,作为该原始语料对应保留的关键词。
可选地,所述查找由所述分词结果中的相邻词项构成的短语包括:
计算分词结果中的每两个相邻词项的cPMId值,当两个相邻词项的cPMId值大于第二预定阈值时,确定这两个相邻词项构成短语。
可选地,所述对所述原始语料集合进行预处理还包括:
将每个搜索词的原始物料对应保留的关键词作为该搜索词的第一阶段训练语料;
各搜索词的第一阶段训练语料构成第一阶段训练语料集合;对所述第一阶段训练语料集合中的关键词进行数据清洗。
可选地,所述对所述第一阶段训练语料集合中的关键词进行数据清洗包括:
在所述第一阶段训练语料集合中,
对于每个搜索词的第一阶段训练语料,计算所述第一阶段训练语料中的每个关键词的TF-IDF值;将TF-IDF值高于第三预定阈值和/或低于第四预定阈值的关键词删除,得到该搜索词的训练语料;
各搜索词的训练语料构成训练语料集合。
可选地,所述根据所述搜索词-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各搜索词的标签体系包括:
根据所述搜索词-主题概率分布结果和所述主题-关键词概率分布结果,计算得到搜索词-关键词概率分布结果;
根据所述搜索词-关键词概率分布结果,对于每个应用,将关键词按照关于该搜索词的概率从大到小排序,选取前第五预定阈值数目的关键词。
可选地,所述根据所述搜索词-主题概率分布结果和所述主题-关键词概率分布结果,计算得到搜索词-关键词概率分布结果包括:
对于每个搜索词,根据所述搜索词-主题概率分布结果得到各主题关于该搜索词的概率;
对于每个主题,根据所述主题-关键词概率分布结果得到各关键词关于该主题的概率;
则对于每个关键词,将该关键词关于一个主题的概率与该主题关于一个搜索词的概率的乘积作为该关键词基于该主题的关于所述搜索词的概率;将该关键词基于各主题关于所述搜索词的概率之和作为该关键词关于所述搜索词的概率。
可选地,所述根据所述搜索词-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各搜索词的标签体系还包括:
将每个搜索词对应选取的前第五预设阈值数目的关键词作为该搜索词的第一阶段标签体系;
对于每个搜索词的第一阶段标签体系,计算该搜索词的第一阶段标签体系中的每个关键词与该搜索词之间的语义关系值;对于每个关键词,将该关键词对应的语义关系值与该关键词关于该搜索词的概率的乘积作为该关键词关于该搜索词的修正概率;将该搜索词的第一阶段标签体系中的各关键词按照关于该搜索词的修正概率从大到小排序,选取前第六预定阈值个关键词构成该应用的标签体系。
可选地,计算该搜索词的第一阶段标签体系中的每个关键词与该搜索词之间的语义关系值包括:
根据各查询会话中的搜索词,获得多个查询会话对应的搜索词序列集合;对所述搜索词序列集合进行训练得到N维的关键词向量文件;
根据所述N维的关键词向量文件,计算该关键词的词向量,计算该搜索词中的每个词项的词向量;
计算该关键词的词向量与每个词项的词向量之间的余弦相似度,作为该关键词与相应词项的语义关系值;
将该关键词与各词项的语义关系值之和作为该关键词与该搜索词之间的语义关系值。
可选地,所述对所述搜索词序列集合进行训练得到N维的关键词向量文件包括:
对所述搜索词序列集合进行分词处理,利用深度学习工具包word2vec对分词处理后的搜索词序列集合进行训练,生成N维的关键词向量文件。
可选地,所述根据所述搜索词-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各搜索词的标签体系还包括:
将每个搜索词对应选取的前第六预定阈值个关键词作为该搜索词的第二阶段标签体系;
对于每个搜索词的第二阶段标签体系,统计该应用的第二阶段标签体系中的每个关键词在该搜索词的训练语料中的TF-IDF值;对于每个关键词,将该关键词关于该搜索词的概率与所述TF-IDF值的乘积作为该关键词关于该搜索词的二次修正概率;将该搜索词的第二阶段标签体系中的各关键词按照关于该搜索词的二次修正概率从大到小排序,选取前K2个关键词构成该搜索词的标签体系。
可选地,所述选取前K2个关键词构成该搜索词的标签体系包括:
从应用搜索引擎的查询会话日志中获取关于该搜索词在预设时间段内的查询次数;
根据所述查询次数选取前K2个关键词构成该搜索词的标签体系;其中K2值作为该搜索词对应的查询次数的折线函数。
可选地,所述构建标签知识库包括:
获取多个关于应用的搜索词的标签体系;
获取多个应用的标签体系;
根据所述搜索词的标签体系、所述应用的标签体系以及预设策略,构建标签知识库。
可选地,所述根据所述搜索词的标签体系、所述应用的标签体系以及预设策略,构建标签知识库包括:
汇集多个搜索词的标签体系和多个应用的标签体系,得到标签体系的集合,将所述标签体系的集合作为训练数据;
对所述训练数据进行关联规则挖掘,根据挖掘出的关联规则构建标签知识库。
可选地,所述对所述训练数据进行关联规则挖掘包括:
利用Apriori算法对所述训练数据进行N轮迭代的关联规则挖掘,得到每轮迭代挖掘出的关联规则;
在每轮迭代中,得到多条包括前项和后项的规则,如果一条规则的前项与后项的支持度不小于该轮的频繁项的最小支持度、且前项与后项的置信度不小于该轮的关联规则最小置信度,则确定该条规则为关联规则并进行挖掘。
可选地,在每轮迭代中,得到的每条规则中的前项包括一个或多个标签,后项包括一个标签。
可选地,第1轮的频繁项的最小支持度为第一预置阈值,第2轮至第N-1轮中每轮的频繁项的最小支持度递减第二预置阈值,第N轮的频繁项的最小支持度为第三预置阈值;各轮的关联规则最小置信度为第四预置阈值。
可选地,所述根据挖掘出的关联规则构建标签知识库包括:
对各轮迭代挖掘出的关联规则进行合并处理,得到各轮迭代对应的树结构;
对各轮迭代对应的树结构进行归并,得到归并后的一个或多个树结构;
将归并后的一个或多个树结构作为所构建的标签知识库;其中,每个树结构的每个节点对应一个标签,树结构中节点的拓扑结构用于表示标签之间的关联关系。
可选地,所述对各轮迭代挖掘出的关联规则进行合并处理,得到各轮迭代对应的树结构包括:
在每轮迭代挖掘出的关联规则中,当多个关联规则具有相同的后项时,对所述多个关联规则的前项进行合并得到前项集合;
以所述后项作为根节点,以所述前项集合作为叶子节点的集合,得到该轮迭代对应的树结构。
可选地,所述对各轮迭代对应的树结构进行归并包括:
从第2轮迭代至第N轮迭代,第i轮迭代对应的树结构与该轮迭代之前的i-1轮迭代对应的树结构进行归并,得到前i轮迭代对应的树结构;其中,i为大于1且小于等于N的正整数;
前N轮迭代对应的树结构作为归并后的一个或多个树结构。
可选地,将第i轮迭代对应的树结构作为第一树结构,将该轮迭代之前的i-1轮迭代对应的树结构作为第二树结构;
所述第i轮迭代对应的树结构与该轮迭代之前的i-1轮迭代对应的树结构进行归并包括:
对第一树结构和第二树结构进行水平归并;或者,对第一树结构和第二树结构进行垂直归并。
可选地,所述对第一树结构和第二树结构进行水平归并包括:
计算第一树结构和第二树结构的相似度;
当所述相似度高于第五预置阈值时,确定第一树结构与第二树结构为相似的树结构;
将相似的第一树结构和第二树结构在树结构的水平方向进行合并。
可选地,所述计算第一树结构和第二树结构的相似度包括:
当第一树结构和第二树结构的根节点对应于相同的标签时,计算第一树结构的叶子节点集合与第二树结构的叶子节点结合的Jaccard相似度,作为第一树结构和第二树结构的相似度;
所述将相似的第一树结构和第二树结构在树结构的水平方向进行合并包括:将同一层的第一树结构的叶子节点与第二树结构的叶子节点进行合并。
可选地,所述对第一树结构和第二树结构进行垂直归并包括:
当第一树结构的根节点与第二树结构的一个叶子节点相同且该叶子节点没有分支,将第一树结构的替代第二树结构的所述叶子节点,作为归并后的树结构的一个分支。
可选地,所述根据挖掘出的关联规则构建标签知识库还包括:
对归并后的树结构进行修正,包括如下一种或多种:
优化树结构中节点的位置,
调整树结构中分支的挂载点,
添加对于各节点对应的标签添加一个或多个同义词,使得每个节点对应一个同义词集合。
可选地,所述根据所述搜索词标签数据库获取当前搜索词的标签体系包括:
当当前搜索词命中所述搜索词标签数据库中的一个搜索词时,将该搜索词的标签体系作为当前搜索词的标签体系;
当当前搜索词未命中所述搜索词标签数据库中的搜索词时,计算当前搜索词与所述搜索词标签数据库中的各搜索词之间的短文本相似度,按照短文本相似度从大到小排序,选取前M1个搜索词;根据所选取的各搜索词的标签体系,获得当前搜索词的标签体系。
可选地,所述计算当前搜索词与所述搜索词标签数据库中的各搜索词之间的短文本相似度包括:计算当前搜索词与所述搜索词标签数据库中的各搜索词之间的欧式距离或余弦相似度,将每个搜索词与当前搜索词之间的欧式距离或余弦相似度作为该搜索词对应的语义相似度;
所述根据所选取的各搜索词的标签体系,获得当前搜索词的标签体系包括:每个搜索词对应的语义相似度作为该搜索词的标签体系中的各标签的权重;对于各搜索词的标签体系对应的各标签,将相同的标签的权重相加,得到各标签的最终权重;按照最终权重从大到小排序,选取前M2个标签构成当前搜索词的标签体系。
可选地,所述基于所述标签知识库,计算当前搜索词的标签体系与各应用的标签体系之间的语义相关性包括:
在计算当前搜索词的标签体系与一个应用的标签体系之间的语义相关性时,
对于当前搜索词的标签体系中的每个标签,计算所述标签知识库中该标签与所述应用的标签体系中的各标签的Hybrid Measure分值,选取最大的一个分支作为该标签与所述应用的语义相关性分数;
当前搜索词的标签体系中的各标签与所述应用的语义相关性分数的平均值作为当前搜索词与所述应用之间的语义相关性分值。
依据本发明的另一个方面,提供了一种应用搜索服务器,其中,包括:
构建单元,适于构建应用标签数据库,所述应用标签数据库中包括各应用的标签体系;适于构建搜索词标签数据库,所述搜索词标签数据库中包括多个搜索词的标签体系;以及,适于构建标签知识库;
交互单元,适于接收客户端上传的当前搜索词;
搜索处理单元,适于根据所述搜索词标签数据库获取当前搜索词的标签体系;基于所述标签知识库,计算当前搜索词的标签体系与各应用的标签体系之间的语义相关性;
所述交互单元,还适于当当前搜索词的标签体系与一个应用的标签体系之间的语义相关性符合预设条件时,将该应用的相关信息返回至客户端进行展示。
可选地,所述构建单元,适于获取各应用的摘要;从应用搜索日志中获取关于各应用的搜索词;根据各应用的摘要、搜索词以及预设策略,挖掘出各应用的标签体系。
可选地,所述构建单元,适于根据各应用的摘要和搜索词,获得训练语料集合;将训练语料集合输入至LDA模型中进行训练,得到LDA模型输出的应用-主题概率分布结果以及主题-关键词概率分布结果;根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各应用的标签体系。
可选地,所述构建单元,适于对于每个应用,从该应用的摘要中提取首段文字或前预设数量个句子的文字;将提取出的文字与该应用的搜索词共同作为该应用的原始语料;各应用的原始语料构成原始语料集合;对所述原始语料集合进行预处理,获得训练语料集合。
可选地,所述构建单元,适于在所述原始语料集合中,对于每个原始语料,对所述原始语料进行分词处理,得到包含多个词项的分词结果;查找由所述分词结果中的相邻词项构成的短语;保留所述短语、所述分词结果中属于名词的词项和属于动词的词项,作为该原始语料对应保留的关键词。
可选地,所述构建单元,适于计算分词结果中的每两个相邻词项的cPMId值,当两个相邻词项的cPMId值大于第一预设阈值时,确定这两个相邻词项构成短语。
可选地,所述构建单元,还适于将每个应用的原始物料对应保留的关键词作为该应用的第一阶段训练语料;各应用的第一阶段训练语料构成第一阶段训练语料集合;对所述第一阶段训练语料集合中的关键词进行数据清洗。
可选地,所述构建单元,适于在所述第一阶段训练语料集合中,对于每个第一阶段训练语料,计算所述第一阶段训练语料中的每个关键词的TF-IDF值;将TF-IDF值高于第二预设阈值和/或低于第三预设阈值的关键词删除。
可选地,所述构建单元,还适于将每个应用的第一阶段训练语料经数据清洗后剩余的关键词作为该应用的第二阶段训练语料;对于每个应用的第二阶段训练语料,当该应用的第二阶段训练语料中的一个关键词在该应用的名称中出现时,将该关键词在该应用的第二阶段训练语料中重复第四预设阈值次数,得到该应用的训练语料;各应用的训练语料构成训练语料集合。
可选地,所述构建单元,适于根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到应用-关键词概率分布结果;根据所述应用-关键词概率分布结果,对于每个应用,将关键词按照关于该应用的概率从大到小排序,选取前第五预设阈值数目的关键词。
可选地,所述构建单元,适于对于每个应用,根据所述应用-主题概率分布结果得到各主题关于该应用的概率;对于每个主题,根据所述主题-关键词概率分布结果得到各关键词关于该主题的概率;则对于每个关键词,将该关键词关于一个主题的概率与该主题关于一个应用的概率的乘积作为该关键词基于该主题的关于所述应用的概率;将该关键词基于各主题关于所述应用的概率之和作为该关键词关于所述应用的概率。
可选地,所述构建单元,还适于将每个应用对应选取的前第五预设阈值数目的关键词作为该应用的第一阶段标签体系;对于每个应用的第一阶段标签体系,计算该应用的第一阶段标签体系中的每个关键词与该应用的摘要之间的语义关系值;对于每个关键词,将该关键词对应的语义关系值与该关键词关于该应用的概率的乘积作为该关键词关于该应用的修正概率;将该应用的第一阶段标签体系中的各关键词按照关于该应用的修正概率从大到小排序,选取前第六预设阈值个关键词构成该应用的标签体系。
可选地,所述构建单元,适于计算该关键词的词向量,计算该应用的摘要的前预设数量个句子中的每个词项的词向量;计算该关键词的词向量与每个词项的词向量之间的余弦相似度,将每个余弦相似度与相应词项所在句子的权重的乘积作为该关键词与相应词项的语义关系值;将该关键词与各词项的语义关系值之和作为该关键词与该应用的摘要之间的语义关系值。
可选地,所述构建单元,还适于将每个应用对应选取的关键词作为该应用的第二阶段标签体系;对于每个应用的第二阶段标签体系,从应用搜索日志中获取关于该应用的下载操作的搜索词集合,统计该应用的第二阶段标签体系中的每个关键词在所述搜索词集合中的DF值;对于每个关键词,在该关键词关于该应用的概率的基础上增加所述DF值的倍数得到该关键词关于该应用的二次修正概率;将该应用的第二阶段标签体系中的各关键词按照关于该应用的二次修正概率从大到小排序,选取前K1个关键词构成该应用的标签体系。
可选地,所述构建单元,适于从应用搜索日志中获取关于该应用的季度下载次数;根据该应用的季度下载次数选取前K1个关键词构成该应用的标签体系;其中K值作为该应用的季度下载次数的折线函数。
可选地,所述构建单元,适于从应用搜索引擎的查询会话日志中获取各查询会话中的搜索词;根据各查询会话中的搜索词以及预设策略,挖掘出各搜索词的标签体系。
可选地,所述构建单元,适于根据各查询会话中的搜索词,获得训练语料集合;将训练语料集合输入至LDA模型中进行训练,得到LDA模型输出的搜索词-主题概率分布结果以及主题-关键词概率分布结果;根据所述搜索词-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各搜索词的标签体系。
可选地,所述构建单元,适于根据各查询会话中的搜索词,获得各搜索词的原始语料;各搜索词的原始语料构成原始语料集合;对所述原始语料集合进行预处理,获得训练语料集合。
可选地,所述构建单元,适于根据各查询会话中的搜索词,获得多个查询会话对应的搜索词序列集合;以及,获得多个查询会话对应的搜索词集合;对所述搜索词序列集合进行训练得到N维的搜索词向量文件;对于所搜索词集合中的每个搜索词,根据所述N维的搜索词向量文件计算该搜索词与其他各搜索词之间的关联程度;将与该搜索词的关联程度符合符合预设条件的其他各搜索词作为该搜索词的原始语料。
可选地,所述构建单元,适于对于每个查询会话,将该查询会话中的搜索词按照顺序排成一个序列;如果该序列中的一个搜索词对应于应用下载操作,将所下载的应用的名称插入到该序列中的相应搜索词的后面相邻位置;得到该查询会话对应的搜索词序列;将多个查询会话中的搜索词的集合作为所述多个查询会话对应的搜索词集合。
可选地,所述构建单元,适于将所述搜索词序列集合中的每个搜索词作为一个单词,利用深度学习工具包word2vec对所述搜索词序列集合进行训练,生成N维的搜索词向量文件。
可选地,所述构建单元,适于利用KNN算法对所述搜索词集合以及所述N维的搜索词向量文件进行运算,根据所述N维的搜索词向量文件计算所述搜索词集合中的每两个搜索词之间的距离;对于所述搜索词集合中的每个搜索词,按照与该搜索词的距离从大到小排序,选取前第一预定阈值个搜索词作为该搜索词的原始语料。
可选地,所述构建单元,适于在所述原始语料集合中,对于每个原始语料,对所述原始语料进行分词处理,得到包含多个词项的分词结果;查找由所述分词结果中的相邻词项构成的短语;保留所述短语、所述分词结果中属于名词的词项和属于动词的词项,作为该原始语料对应保留的关键词。
可选地,所述构建单元,适于计算分词结果中的每两个相邻词项的cPMId值,当两个相邻词项的cPMId值大于第二预定阈值时,确定这两个相邻词项构成短语。
可选地,所述构建单元,还适于将每个搜索词的原始物料对应保留的关键词作为该搜索词的第一阶段训练语料;各搜索词的第一阶段训练语料构成第一阶段训练语料集合;对所述第一阶段训练语料集合中的关键词进行数据清洗。
可选地,所述构建单元,适于在所述第一阶段训练语料集合中,对于每个搜索词的第一阶段训练语料,计算所述第一阶段训练语料中的每个关键词的TF-IDF值;将TF-IDF值高于第三预定阈值和/或低于第四预定阈值的关键词删除,得到该搜索词的训练语料;各搜索词的训练语料构成训练语料集合。
可选地,所述构建单元,适于根据所述搜索词-主题概率分布结果和所述主题-关键词概率分布结果,计算得到搜索词-关键词概率分布结果;根据所述搜索词-关键词概率分布结果,对于每个应用,将关键词按照关于该搜索词的概率从大到小排序,选取前第五预定阈值数目的关键词。
可选地,所述构建单元,适于对于每个搜索词,根据所述搜索词-主题概率分布结果得到各主题关于该搜索词的概率;对于每个主题,根据所述主题-关键词概率分布结果得到各关键词关于该主题的概率;则对于每个关键词,将该关键词关于一个主题的概率与该主题关于一个搜索词的概率的乘积作为该关键词基于该主题的关于所述搜索词的概率;将该关键词基于各主题关于所述搜索词的概率之和作为该关键词关于所述搜索词的概率。
可选地,所述构建单元,还适于将每个搜索词对应选取的前第五预设阈值数目的关键词作为该搜索词的第一阶段标签体系;对于每个搜索词的第一阶段标签体系,计算该搜索词的第一阶段标签体系中的每个关键词与该搜索词之间的语义关系值;对于每个关键词,将该关键词对应的语义关系值与该关键词关于该搜索词的概率的乘积作为该关键词关于该搜索词的修正概率;将该搜索词的第一阶段标签体系中的各关键词按照关于该搜索词的修正概率从大到小排序,选取前第六预定阈值个关键词构成该应用的标签体系。
可选地,所述构建单元,适于根据各查询会话中的搜索词,获得多个查询会话对应的搜索词序列集合;对所述搜索词序列集合进行训练得到N维的关键词向量文件;根据所述N维的关键词向量文件,计算该关键词的词向量,计算该搜索词中的每个词项的词向量;计算该关键词的词向量与每个词项的词向量之间的余弦相似度,作为该关键词与相应词项的语义关系值;将该关键词与各词项的语义关系值之和作为该关键词与该搜索词之间的语义关系值。
可选地,所述构建单元,适于对所述搜索词序列集合进行分词处理,利用深度学习工具包word2vec对分词处理后的搜索词序列集合进行训练,生成N维的关键词向量文件。
可选地,所述构建单元,还适于将每个搜索词对应选取的前第六预定阈值个关键词作为该搜索词的第二阶段标签体系;对于每个搜索词的第二阶段标签体系,统计该应用的第二阶段标签体系中的每个关键词在该搜索词的训练语料中的TF-IDF值;对于每个关键词,将该关键词关于该搜索词的概率与所述TF-IDF值的乘积作为该关键词关于该搜索词的二次修正概率;将该搜索词的第二阶段标签体系中的各关键词按照关于该搜索词的二次修正概率从大到小排序,选取前K2个关键词构成该搜索词的标签体系。
可选地,所述构建单元,适于从应用搜索引擎的查询会话日志中获取关于该搜索词在预设时间段内的查询次数;根据所述查询次数选取前K2个关键词构成该搜索词的标签体系;其中K2值作为该搜索词对应的查询次数的折线函数。
可选地,所述构建单元,适于获取多个关于应用的搜索词的标签体系;获取多个应用的标签体系;根据所述搜索词的标签体系、所述应用的标签体系以及预设策略,构建标签知识库。
可选地,所述构建单元,适于汇集多个搜索词的标签体系和多个应用的标签体系,得到标签体系的集合,将所述标签体系的集合作为训练数据;对所述训练数据进行关联规则挖掘,根据挖掘出的关联规则构建标签知识库。
可选地,所述构建单元,适于利用Apriori算法对所述训练数据进行N轮迭代的关联规则挖掘,得到每轮迭代挖掘出的关联规则;在每轮迭代中,得到多条包括前项和后项的规则,如果一条规则的前项与后项的支持度不小于该轮的频繁项的最小支持度、且前项与后项的置信度不小于该轮的关联规则最小置信度,则确定该条规则为关联规则并进行挖掘。
可选地,在每轮迭代中,得到的每条规则中的前项包括一个或多个标签,后项包括一个标签。
可选地,第1轮的频繁项的最小支持度为第一预置阈值,第2轮至第N-1轮中每轮的频繁项的最小支持度递减第二预置阈值,第N轮的频繁项的最小支持度为第三预置阈值;各轮的关联规则最小置信度为第四预置阈值。
可选地,所述构建单元,适于对各轮迭代挖掘出的关联规则进行合并处理,得到各轮迭代对应的树结构;对各轮迭代对应的树结构进行归并,得到归并后的一个或多个树结构;将归并后的一个或多个树结构作为所构建的标签知识库;其中,每个树结构的每个节点对应一个标签,树结构中节点的拓扑结构用于表示标签之间的关联关系。
可选地,所述构建单元,适于在每轮迭代挖掘出的关联规则中,当多个关联规则具有相同的后项时,对所述多个关联规则的前项进行合并得到前项集合;以所述后项作为根节点,以所述前项集合作为叶子节点的集合,得到该轮迭代对应的树结构。
可选地,所述构建单元,适于从第2轮迭代至第N轮迭代,第i轮迭代对应的树结构与该轮迭代之前的i-1轮迭代对应的树结构进行归并,得到前i轮迭代对应的树结构;其中,i为大于1且小于等于N的正整数;前N轮迭代对应的树结构作为归并后的一个或多个树结构。
可选地,将第i轮迭代对应的树结构作为第一树结构,将该轮迭代之前的i-1轮迭代对应的树结构作为第二树结构;
所述构建单元,适于对第一树结构和第二树结构进行水平归并;或者,对第一树结构和第二树结构进行垂直归并。
可选地,所述构建单元,适于计算第一树结构和第二树结构的相似度;当所述相似度高于第五预置阈值时,确定第一树结构与第二树结构为相似的树结构;将相似的第一树结构和第二树结构在树结构的水平方向进行合并。
可选地,所述构建单元,适于当第一树结构和第二树结构的根节点对应于相同的标签时,计算第一树结构的叶子节点集合与第二树结构的叶子节点结合的Jaccard相似度,作为第一树结构和第二树结构的相似度;将同一层的第一树结构的叶子节点与第二树结构的叶子节点进行合并。
可选地,所述构建单元,适于当第一树结构的根节点与第二树结构的一个叶子节点相同且该叶子节点没有分支,将第一树结构的替代第二树结构的所述叶子节点,作为归并后的树结构的一个分支。
可选地,所述构建单元,还适于对归并后的树结构进行修正,包括如下一种或多种:优化树结构中节点的位置,调整树结构中分支的挂载点,添加对于各节点对应的标签添加一个或多个同义词,使得每个节点对应一个同义词集合。
可选地,所述搜索处理单元,适于当当前搜索词命中所述搜索词标签数据库中的一个搜索词时,将该搜索词的标签体系作为当前搜索词的标签体系;当当前搜索词未命中所述搜索词标签数据库中的搜索词时,计算当前搜索词与所述搜索词标签数据库中的各搜索词之间的短文本相似度,按照短文本相似度从大到小排序,选取前M1个搜索词;根据所选取的各搜索词的标签体系,获得当前搜索词的标签体系。
可选地,所述搜索处理单元,适于计算当前搜索词与所述搜索词标签数据库中的各搜索词之间的欧式距离或余弦相似度,将每个搜索词与当前搜索词之间的欧式距离或余弦相似度作为该搜索词对应的语义相似度;每个搜索词对应的语义相似度作为该搜索词的标签体系中的各标签的权重;对于各搜索词的标签体系对应的各标签,将相同的标签的权重相加,得到各标签的最终权重;按照最终权重从大到小排序,选取前M2个标签构成当前搜索词的标签体系。
可选地,所述搜索处理单元,适于在计算当前搜索词的标签体系与一个应用的标签体系之间的语义相关性时,对于当前搜索词的标签体系中的每个标签,计算所述标签知识库中该标签与所述应用的标签体系中的各标签的Hybrid Measure分值,选取最大的一个分支作为该标签与所述应用的语义相关性分数;当前搜索词的标签体系中的各标签与所述应用的语义相关性分数的平均值作为当前搜索词与所述应用之间的语义相关性分值。
由上述可知,本方案是基于无监督机器学习技术,不需要人工标注标签,最后得到可实际工业级应用的标签体系,自动挖掘应用的类别和功能,抽取用户查询意图,即构建搜索词的标签体系,基于标签知识库对应用的标签体系和搜索词的标签体系进行匹配,即将用户意图和应用映射到同一个语义空间中,解决搜索词和应用的语义匹配问题,有效实现了应用搜索引擎的功能搜索技术。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种应用搜索方法的流程图;
图2示出了根据本发明一个实施例的标签知识库的示意图;
图3示出了根据本发明一个实施例的应用搜索界面的示意图;
图4示出了根据本发明一个实施例的一种应用搜索服务器的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种应用搜索方法的流程图。如图1所示,该方法包括:
步骤S110,构建应用标签数据库,所述应用标签数据库中包括各应用的标签体系。
步骤S120,构建搜索词标签数据库,所述搜索词标签数据库中包括多个搜索词的标签体系。
步骤S130,构建标签知识库。
步骤S140,接收客户端上传的当前搜索词,根据所述搜索词标签数据库获取当前搜索词的标签体系。
步骤S150,基于所述标签知识库,计算当前搜索词的标签体系与各应用的标签体系之间的语义相关性。
步骤S160,当当前搜索词的标签体系与一个应用的标签体系之间的语义相关性符合预设条件时,将该应用的相关信息返回至客户端进行展示。
可见,图1所示的方法是基于无监督机器学习技术,不需要人工标注标签,最后得到可实际工业级应用的标签体系,自动挖掘应用的类别和功能,抽取用户查询意图,即构建搜索词的标签体系,基于标签知识库对应用的标签体系和搜索词的标签体系进行匹配,即将用户意图和应用映射到同一个语义空间中,解决搜索词和应用的语义匹配问题,有效实现了应用搜索引擎的功能搜索技术。
比如搜索词“找餐馆”,用户意图标签即搜索词的标签包括“餐馆、酒店、团购、周边信息”等,与应用的标签“团购、美食、外卖、优惠、o2o、吃货”等,在标签知识库中的路径距离小、共享信息量大,语义上是相关的,有效实现了应用搜索引擎的功能搜索技术。这是基于关键字匹配的传统搜索方法不具备的功能。
在下文中,以app表示应用,query表示搜索词,tag表示标签,TagNet表示标签数据库。
本发明是提出一套新的应用搜索引擎功能搜索技术实现方案,提供精准应用app搜索服务,让用户根据自己心中所想构造查询找到需要的应用app。技术关键点是应用标签数据库App tagging的构建、用户搜索意图的识别Query intent、标签知识库TagNet的构建和基于标签知识库的语义相关性计算SRMTagNet,其中用户搜索意图的识别中首先要进行搜索词标签数据库的构建,前三项是基础,也是我们的实现方案有效的关键。
我们提出了一种新的思路,App tagging和Query intent,以标签tag的方式表示app的功能和内容、表达用户查询意图,我们将分类属性的tag和功能属性的tag统一挖掘。传统分类方法一般适用于类别性分类,如“社交类、游戏类、视频类、股票类”等,不适用于功能属性分类,如“聊天、直播、跑步、骑行、减脂、玩游戏、打砖块、周边信息、冷笑话”等,标签法灵活有效,在app应用场景下显著优于传统的分类方法。我们采用LDA主题模型方法,一种无监督机器学习技术,挖掘app和query的tag标签。基于app和query的标签,我们构建了标签知识库TagNet。TagNet用于语义相关性计算,实现功能搜索的目标。
下面详述应用搜索方法的流程,包括离线挖掘部分、在线Query意图预测部分和在线语义相关性计算部分。
1)离线挖掘部分,包括:应用标签数据库中应用的标签体系的挖掘,搜索词标签数据库中搜索词的标签体系的挖掘,以及标签知识库的挖掘
A、构建应用标签数据库包括:
获取各应用的摘要;从应用搜索日志中获取关于各应用的搜索词;根据各应用的摘要、搜索词以及预设策略,挖掘出各应用的标签体系。包括:
步骤A1,根据各应用的摘要和搜索词,获得训练语料集合;步骤A2,将训练语料集合输入至LDA模型中进行训练,得到LDA模型输出的应用-主题概率分布结果以及主题-关键词概率分布结果;步骤A3,根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各应用的标签体系。
具体地,在步骤A1中,所述根据各应用的摘要和搜索词,获得训练语料集合包括:步骤A11,对于每个应用,从该应用的摘要中提取首段文字或前预设数量个句子的文字;将提取出的文字与该应用的搜索词共同作为该应用的原始语料;各应用的原始语料构成原始语料集合;步骤A12,对所述原始语料集合进行预处理,获得训练语料集合。
在本发明的一个实施例中,步骤A12对所述原始语料集合进行预处理包括:在所述原始语料集合中,对于每个原始语料,对所述原始语料进行分词处理,得到包含多个词项的分词结果;查找由所述分词结果中的相邻词项构成的短语;保留所述短语、所述分词结果中属于名词的词项和属于动词的词项,作为该原始语料对应保留的关键词。具体地,所述查找由所述分词结果中的相邻词项构成的短语包括:计算分词结果中的每两个相邻词项的cPMId值,当两个相邻词项的cPMId值大于第一预设阈值时,确定这两个相邻词项构成短语。
进一步地,步骤A12对所述原始语料集合进行预处理还包括:将每个应用的原始物料对应保留的关键词作为该应用的第一阶段训练语料;各应用的第一阶段训练语料构成第一阶段训练语料集合;对所述第一阶段训练语料集合中的关键词进行数据清洗,将频度过高或频度过低的关键词过滤掉。具体地,在所述第一阶段训练语料集合中,对于每个第一阶段训练语料,计算所述第一阶段训练语料中的每个关键词的TF-IDF值;将TF-IDF值高于第二预设阈值和/或低于第三预设阈值的关键词删除。
再进一步地,步骤A12对所述原始语料集合进行预处理还包括:将每个应用的第一阶段训练语料经数据清洗后剩余的关键词作为该应用的第二阶段训练语料;对于每个应用的第二阶段训练语料,当该应用的第二阶段训练语料中的一个关键词在该应用的名称中出现时,将该关键词在该应用的第二阶段训练语料中重复第四预设阈值次数,得到该应用的训练语料;各应用的训练语料构成训练语料集合。
在上述步骤A3中,所述根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各应用的标签体系包括:步骤A31,根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到应用-关键词概率分布结果;根步骤A32,据所述应用-关键词概率分布结果,对于每个应用,将关键词按照关于该应用的概率从大到小排序,选取前第五预设阈值数目的关键词。
其中,步骤A31根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到应用-关键词概率分布结果包括:对于每个应用,根据所述应用-主题概率分布结果得到各主题关于该应用的概率;对于每个主题,根据所述主题-关键词概率分布结果得到各关键词关于该主题的概率;则对于每个关键词,将该关键词关于一个主题的概率与该主题关于一个应用的概率的乘积作为该关键词基于该主题的关于所述应用的概率;将该关键词基于各主题关于所述应用的概率之和作为该关键词关于所述应用的概率。
进一步地,步骤A31根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各应用的标签体系还包括:将每个应用对应选取的前第五预设阈值数目的关键词作为该应用的第一阶段标签体系;对于每个应用的第一阶段标签体系,计算该应用的第一阶段标签体系中的每个关键词与该应用的摘要之间的语义关系值;对于每个关键词,将该关键词对应的语义关系值与该关键词关于该应用的概率的乘积作为该关键词关于该应用的修正概率;将该应用的第一阶段标签体系中的各关键词按照关于该应用的修正概率从大到小排序,选取前第六预设阈值个关键词构成该应用的标签体系。具体地,计算该应用的第一阶段标签体系中的每个关键词与该应用的摘要之间的语义关系值包括:计算该关键词的词向量,计算该应用的摘要的前预设数量个句子中的每个词项的词向量;计算该关键词的词向量与每个词项的词向量之间的余弦相似度,将每个余弦相似度与相应词项所在句子的权重的乘积作为该关键词与相应词项的语义关系值;将该关键词与各词项的语义关系值之和作为该关键词与该应用的摘要之间的语义关系值。
再进一步地,步骤A31根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各应用的标签体系还包括:将每个应用对应选取的关键词作为该应用的第二阶段标签体系;对于每个应用的第二阶段标签体系,从应用搜索日志中获取关于该应用的下载操作的搜索词集合,统计该应用的第二阶段标签体系中的每个关键词在所述搜索词集合中的DF值;对于每个关键词,在该关键词关于该应用的概率的基础上增加所述DF值的倍数得到该关键词关于该应用的二次修正概率;将该应用的第二阶段标签体系中的各关键词按照关于该应用的二次修正概率从大到小排序,选取前K1个关键词构成该应用的标签体系。
其中,所述选取前K1个关键词构成该应用的标签体系包括:从应用搜索日志中获取关于该应用的季度下载次数;根据该应用的季度下载次数选取前K1个关键词构成该应用的标签体系;其中K值作为该应用的季度下载次数的折线函数。
例如,离线挖掘360手机助手市场中所有app的标签,主要指功能性tag和类别性tag,存储到应用搜索引擎的索引字段中。
B、构建搜索词标签数据库包括:
从应用搜索引擎的查询会话日志中获取各查询会话中的搜索词;根据各查询会话中的搜索词以及预设策略,挖掘出各搜索词的标签体系。包括:
步骤B1,根据各查询会话中的搜索词,获得训练语料集合;步骤B2,将训练语料集合输入至LDA模型中进行训练,得到LDA模型输出的搜索词-主题概率分布结果以及主题-关键词概率分布结果;步骤B3,根据所述搜索词-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各搜索词的标签体系。
其中,步骤B1根据各查询会话中的搜索词,获得训练语料集合包括:步骤B11,根据各查询会话中的搜索词,获得各搜索词的原始语料;各搜索词的原始语料构成原始语料集合;步骤B12,对所述原始语料集合进行预处理,获得训练语料集合。
在本发明的一个实施例中,步骤B11根据各查询会话中的搜索词,获得各搜索词的原始语料包括:根据各查询会话中的搜索词,获得多个查询会话对应的搜索词序列集合;以及,获得多个查询会话对应的搜索词集合;对所述搜索词序列集合进行训练得到N维的搜索词向量文件;对于所搜索词集合中的每个搜索词,根据所述N维的搜索词向量文件计算该搜索词与其他各搜索词之间的关联程度;将与该搜索词的关联程度符合符合预设条件的其他各搜索词作为该搜索词的原始语料。其中,所述获得多个查询会话对应的搜索词序列集合包括:对于每个查询会话,将该查询会话中的搜索词按照顺序排成一个序列;如果该序列中的一个搜索词对应于应用下载操作,将所下载的应用的名称插入到该序列中的相应搜索词的后面相邻位置;得到该查询会话对应的搜索词序列;所述获得多个查询会话对应的搜索词集合包括:将多个查询会话中的搜索词的集合作为所述多个查询会话对应的搜索词集合。其中,对所述搜索词序列集合进行训练得到N维的搜索词向量文件包括:将所述搜索词序列集合中的每个搜索词作为一个单词,利用深度学习工具包word2vec对所述搜索词序列集合进行训练,生成N维的搜索词向量文件。其中,所述对于所搜索词集合中的每个搜索词,根据所述N维的搜索词向量文件计算该搜索词与其他各搜索词之间的关联程度;将与该搜索词的关联程度符合符合预设条件的其他各搜索词作为该搜索词的原始语料包括:利用KNN算法对所述搜索词集合以及所述N维的搜索词向量文件进行运算,根据所述N维的搜索词向量文件计算所述搜索词集合中的每两个搜索词之间的距离;对于所述搜索词集合中的每个搜索词,按照与该搜索词的距离从大到小排序,选取前第一预定阈值个搜索词作为该搜索词的原始语料。
在本发明的一个实施例中,步骤B12对所述原始语料集合进行预处理包括:在所述原始语料集合中,对于每个原始语料,对所述原始语料进行分词处理,得到包含多个词项的分词结果;查找由所述分词结果中的相邻词项构成的短语;保留所述短语、所述分词结果中属于名词的词项和属于动词的词项,作为该原始语料对应保留的关键词。具体地,所述查找由所述分词结果中的相邻词项构成的短语包括:计算分词结果中的每两个相邻词项的cPMId值,当两个相邻词项的cPMId值大于第二预定阈值时,确定这两个相邻词项构成短语。
进一步地,步骤B12对所述原始语料集合进行预处理还包括:将每个搜索词的原始物料对应保留的关键词作为该搜索词的第一阶段训练语料;各搜索词的第一阶段训练语料构成第一阶段训练语料集合;对所述第一阶段训练语料集合中的关键词进行数据清洗。具体地,所述对所述第一阶段训练语料集合中的关键词进行数据清洗包括:在所述第一阶段训练语料集合中,对于每个搜索词的第一阶段训练语料,计算所述第一阶段训练语料中的每个关键词的TF-IDF值;将TF-IDF值高于第三预定阈值和/或低于第四预定阈值的关键词删除,得到该搜索词的训练语料;各搜索词的训练语料构成训练语料集合。
在本发明的一个实施例中,上述步骤B3根据所述搜索词-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各搜索词的标签体系包括:根据所述搜索词-主题概率分布结果和所述主题-关键词概率分布结果,计算得到搜索词-关键词概率分布结果;根据所述搜索词-关键词概率分布结果,对于每个应用,将关键词按照关于该搜索词的概率从大到小排序,选取前第五预定阈值数目的关键词。
其中,所述根据所述搜索词-主题概率分布结果和所述主题-关键词概率分布结果,计算得到搜索词-关键词概率分布结果包括:对于每个搜索词,根据所述搜索词-主题概率分布结果得到各主题关于该搜索词的概率;对于每个主题,根据所述主题-关键词概率分布结果得到各关键词关于该主题的概率;则对于每个关键词,将该关键词关于一个主题的概率与该主题关于一个搜索词的概率的乘积作为该关键词基于该主题的关于所述搜索词的概率;将该关键词基于各主题关于所述搜索词的概率之和作为该关键词关于所述搜索词的概率。
进一步地,所述根据所述搜索词-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各搜索词的标签体系还包括:将每个搜索词对应选取的前第五预设阈值数目的关键词作为该搜索词的第一阶段标签体系;对于每个搜索词的第一阶段标签体系,计算该搜索词的第一阶段标签体系中的每个关键词与该搜索词之间的语义关系值;对于每个关键词,将该关键词对应的语义关系值与该关键词关于该搜索词的概率的乘积作为该关键词关于该搜索词的修正概率;将该搜索词的第一阶段标签体系中的各关键词按照关于该搜索词的修正概率从大到小排序,选取前第六预定阈值个关键词构成该应用的标签体系。
其中,计算该搜索词的第一阶段标签体系中的每个关键词与该搜索词之间的语义关系值包括:根据各查询会话中的搜索词,获得多个查询会话对应的搜索词序列集合;对所述搜索词序列集合进行训练得到N维的关键词向量文件;根据所述N维的关键词向量文件,计算该关键词的词向量,计算该搜索词中的每个词项的词向量;计算该关键词的词向量与每个词项的词向量之间的余弦相似度,作为该关键词与相应词项的语义关系值;将该关键词与各词项的语义关系值之和作为该关键词与该搜索词之间的语义关系值。
具体地,所述对所述搜索词序列集合进行训练得到N维的关键词向量文件包括:对所述搜索词序列集合进行分词处理,利用深度学习工具包word2vec对分词处理后的搜索词序列集合进行训练,生成N维的关键词向量文件。
再进一步地,所述根据所述搜索词-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各搜索词的标签体系还包括:将每个搜索词对应选取的前第六预定阈值个关键词作为该搜索词的第二阶段标签体系;对于每个搜索词的第二阶段标签体系,统计该应用的第二阶段标签体系中的每个关键词在该搜索词的训练语料中的TF-IDF值;对于每个关键词,将该关键词关于该搜索词的概率与所述TF-IDF值的乘积作为该关键词关于该搜索词的二次修正概率;将该搜索词的第二阶段标签体系中的各关键词按照关于该搜索词的二次修正概率从大到小排序,选取前K2个关键词构成该搜索词的标签体系。
在本发明的一个实施例中,所述选取前K2个关键词构成该搜索词的标签体系包括:从应用搜索引擎的查询会话日志中获取关于该搜索词在预设时间段内的查询次数;根据所述查询次数选取前K2个关键词构成该搜索词的标签体系;其中K2值作为该搜索词对应的查询次数的折线函数。
上述离线Query intent的过程离线挖掘历史query的意图标签,用户与360手机助手的交互信息用来扩展query短文本,训练LDA主题模型,并将历史query及其LDA训练得到的原始tag,以key-value形式存储到qi.dict词典文件,用于在线query意图预测部分。
C、构建标签知识库包括:
获取多个关于应用的搜索词的标签体系;获取多个应用的标签体系;根据所述搜索词的标签体系、所述应用的标签体系以及预设策略,构建标签知识库。包括:
步骤C1,汇集多个搜索词的标签体系和多个应用的标签体系,得到标签体系的集合,将所述标签体系的集合作为训练数据;步骤C2,对所述训练数据进行关联规则挖掘,根据挖掘出的关联规则构建标签知识库。
在本发明的一个实施例中,步骤C2对所述训练数据进行关联规则挖掘包括:利用Apriori算法对所述训练数据进行N轮迭代的关联规则挖掘,得到每轮迭代挖掘出的关联规则;在每轮迭代中,得到多条包括前项和后项的规则,如果一条规则的前项与后项的支持度不小于该轮的频繁项的最小支持度、且前项与后项的置信度不小于该轮的关联规则最小置信度,则确定该条规则为关联规则并进行挖掘。
具体地,在每轮迭代中,得到的每条规则中的前项包括一个或多个标签,后项包括一个标签。第1轮的频繁项的最小支持度为第一预置阈值,第2轮至第N-1轮中每轮的频繁项的最小支持度递减第二预置阈值,第N轮的频繁项的最小支持度为第三预置阈值;各轮的关联规则最小置信度为第四预置阈值。
在本发明的一个实施例中,步骤C2根据挖掘出的关联规则构建标签知识库包括:对各轮迭代挖掘出的关联规则进行合并处理,得到各轮迭代对应的树结构;对各轮迭代对应的树结构进行归并,得到归并后的一个或多个树结构;将归并后的一个或多个树结构作为所构建的标签知识库;其中,每个树结构的每个节点对应一个标签,树结构中节点的拓扑结构用于表示标签之间的关联关系。
其中,所述对各轮迭代挖掘出的关联规则进行合并处理,得到各轮迭代对应的树结构包括:在每轮迭代挖掘出的关联规则中,当多个关联规则具有相同的后项时,对所述多个关联规则的前项进行合并得到前项集合;以所述后项作为根节点,以所述前项集合作为叶子节点的集合,得到该轮迭代对应的树结构。
具体地,所述对各轮迭代对应的树结构进行归并包括:从第2轮迭代至第N轮迭代,第i轮迭代对应的树结构与该轮迭代之前的i-1轮迭代对应的树结构进行归并,得到前i轮迭代对应的树结构;其中,i为大于1且小于等于N的正整数;前N轮迭代对应的树结构作为归并后的一个或多个树结构。
例如,将第i轮迭代对应的树结构作为第一树结构,将该轮迭代之前的i-1轮迭代对应的树结构作为第二树结构;所述第i轮迭代对应的树结构与该轮迭代之前的i-1轮迭代对应的树结构进行归并包括:对第一树结构和第二树结构进行水平归并;或者,对第一树结构和第二树结构进行垂直归并。具体地,所述对第一树结构和第二树结构进行水平归并包括:计算第一树结构和第二树结构的相似度;当所述相似度高于第五预置阈值时,确定第一树结构与第二树结构为相似的树结构;将相似的第一树结构和第二树结构在树结构的水平方向进行合并。其中,所述计算第一树结构和第二树结构的相似度包括:当第一树结构和第二树结构的根节点对应于相同的标签时,计算第一树结构的叶子节点集合与第二树结构的叶子节点结合的Jaccard相似度,作为第一树结构和第二树结构的相似度;所述将相似的第一树结构和第二树结构在树结构的水平方向进行合并包括:将同一层的第一树结构的叶子节点与第二树结构的叶子节点进行合并。以及,所述对第一树结构和第二树结构进行垂直归并包括:当第一树结构的根节点与第二树结构的一个叶子节点相同且该叶子节点没有分支,将第一树结构的替代第二树结构的所述叶子节点,作为归并后的树结构的一个分支。
进一步地,步骤C2根据挖掘出的关联规则构建标签知识库还包括:对归并后的树结构进行修正,包括如下一种或多种:优化树结构中节点的位置,调整树结构中分支的挂载点,添加对于各节点对应的标签添加一个或多个同义词,使得每个节点对应一个同义词集合。
2)在线Query意图预测部分;
依据上述构建的搜索词标签数据库,从用户构造的描述性query中分析query的意图tag,根据所述搜索词标签数据库获取当前搜索词的标签体系流程如下:
当当前搜索词命中所述搜索词标签数据库中的一个搜索词时,将该搜索词的标签体系作为当前搜索词的标签体系;当当前搜索词未命中所述搜索词标签数据库中的搜索词时,计算当前搜索词与所述搜索词标签数据库中的各搜索词之间的短文本相似度,按照短文本相似度从大到小排序,选取前M1个搜索词;根据所选取的各搜索词的标签体系,获得当前搜索词的标签体系。
其中,所述计算当前搜索词与所述搜索词标签数据库中的各搜索词之间的短文本相似度包括:计算当前搜索词与所述搜索词标签数据库中的各搜索词之间的欧式距离或余弦相似度,将每个搜索词与当前搜索词之间的欧式距离或余弦相似度作为该搜索词对应的语义相似度;所述根据所选取的各搜索词的标签体系,获得当前搜索词的标签体系包括:每个搜索词对应的语义相似度作为该搜索词的标签体系中的各标签的权重;对于各搜索词的标签体系对应的各标签,将相同的标签的权重相加,得到各标签的最终权重;按照最终权重从大到小排序,选取前M2个标签构成当前搜索词的标签体系。
例如,Query在搜索词标签数据库qi.dict中;query是历史query,看作一个key值,直接从qi.dict中读取并将value返回;Query不在qi.dict中;计算query和qi.dict中历史query的短文本相似度。使用词项量构造query向量,历史query也有自己的query向量,计算query向量之间的欧氏距离或余玄相似度,进行query聚类,寻找相似的query集。我们采用KNN算法寻找语义相似的历史query,保留前3个历史query,加权后得到一份tag列表,作为新query的意图tag词。
这一步没有利用已训练好的LDA模型预测tag,单个短文本query,LDA的预测效果不佳,我们的方法利用相似query聚类预测tag,效果比LDA预测的更好,准确率更高,达到80%。
3)在线语义相关性计算部分;
这一部分属于应用搜索引擎的相关性计算范畴,将用户的意图tag词(即当前搜索词的标签体系)与app索引tag词(应用标签数据库中各应用的标签体系)映射到TagNet中,基于TagNet计算tag之间的语义相关度,我们命名为SRMTagNet模块。
具体地,基于标签知识库的语义相关性计算-SRMTagNet包括如下计算过程:这部分计算Query intent tag和app tag在TagNet上的语义相关性,TagNet是一个多棵树构成的森林。计算语义相似性我们可以采用两个算法:基于路径距离的算法、基于信息量的语义距离算法。TagNet部分如图2所示,图2示出了根据本发明一个实施例的标签知识库的示意图。
首先,基于路径距离的算法如下:
两个tag词在TagNet中的路径越远相似性越小,计算公式见公式1,两个tag不在一个树中时,len(t1,t2)设置为2*deep_max。
公式1:路径距离的相似性计算方法。
“卡车”和“挖掘”的相似度是约是2.015。
其次,基于信息量的语义距离算法如下:
在TagNet中,每个tag词包含许多信息,两个tag词共享的信息越多,其语义也就越相似,见公式2所示。
disic(t1,t2)=(IC(t1)+IC(t2))-2*IC(lsc(t1,t2))
IC(t)=-log p(t)
公式2:基于信息量的语义距离算法
lsc(t1,t2)是标签t1、标签t2最小公共父节点,如lsc(驾驶,餐厅)=模拟,p(t)是标签t及其分支中的下位词在app语料中频率占比,N是TagNet中所有tag词在app语料中的频次总和。
我们选择综合上述两个相似性计算,使用一个混合的语义相似性计算方法,即Hybrid Measure,计算公式如公式3:
公式3:Hybrid Measure语义相关性计算公式
Hybrid Measure同时考虑两个标签tag的路径距离,信息量距离以及在app语料中的统计信息,k我们设定为0.5。
SRMTagNet具体算法如下所示,Query Intent tag和app tag都是一个tag列表,遍历Query Intent tag中的tag,分别计算与app tag中的每一个tag的Hybrid Measure分值,只取最大的一个分值作为该query tag与app的语义相似性分数。上一步计算各个querytag与app的语义相似性,求平均值作为query与app的语义相似度。
即图1所示的方法中所述基于所述标签知识库,计算当前搜索词的标签体系与各应用的标签体系之间的语义相关性包括:在计算当前搜索词的标签体系与一个应用的标签体系之间的语义相关性时,对于当前搜索词的标签体系中的每个标签,计算所述标签知识库中该标签与所述应用的标签体系中的各标签的Hybrid Measure分值,选取最大的一个分支作为该标签与所述应用的语义相关性分数;当前搜索词的标签体系中的各标签与所述应用的语义相关性分数的平均值作为当前搜索词与所述应用之间的语义相关性分值。
以上计算的SRMTagNet分数是应用搜索引擎相关性计算模块的重要因子之一,是我们实现功能搜索技术的最后一步,添加SRMTagNet因子到LRT排序系统中,自动调节app的排序,提供应用搜索引擎的精准搜索服务。
此外,在上述搜索处理后,在得到符合条件的应用并返回给客户端进行展示时,可以对搜索结果进行个性化布局:用户query的意图tag列表,其各类tag在TagNet中的占比、所在树的规模都有关,可以指导我们个性化的展现搜索结果,实现了搜索结果的动态布局,某一类app应该展现多少条结果以及排序位置都与上述的占比和规模成正比关系,占比和所在树规模越大,展现条数越多,排序位置越靠前。标签知识库以森林的形式存储,每棵树大小规模不同,分析用户意图tag列表,按照这些tag所在树的规模大小与占比,自动决策搜索结果的布局方式。
例如,在360手机助手搜索query“订餐”,引擎展现的结果如图3所示,图3示出了根据本发明一个实施例的应用搜索界面的示意图,描述了功能搜索技术的一个简单例子,一次性返回若干热门的相关app,搜索质量大幅度改善,提升了用户搜索体验。
可见,本方案所提供的功能搜索技术是应用搜索引擎的关键技术,提供了一个更符合用户需求、简单的应用搜索服务,帮助用户更快地找到自己需要的应用。尤其是当用户并不知道自己需要的那款App名字时,只是根据自己的需求,构造查询query,去360手机助手中搜索,我们研发的功能搜索技术会提供精准的搜索服务,尽可能将功能相关的app一次性返回给用户,效果如图2所示,避免用户多次查询,同时为用户每次查询自动设计搜索结果的个性化布局,增强用户体验。
图4示出了根据本发明一个实施例的一种应用搜索服务器的示意图。如图4所示,该应用搜索服务器400包括:
构建单元410,适于构建应用标签数据库,所述应用标签数据库中包括各应用的标签体系;适于构建搜索词标签数据库,所述搜索词标签数据库中包括多个搜索词的标签体系;以及,适于构建标签知识库。
交互单元420,适于接收客户端上传的当前搜索词。
搜索处理单元430,适于根据所述搜索词标签数据库获取当前搜索词的标签体系;基于所述标签知识库,计算当前搜索词的标签体系与各应用的标签体系之间的语义相关性。
交互单元420,还适于当当前搜索词的标签体系与一个应用的标签体系之间的语义相关性符合预设条件时,将该应用的相关信息返回至客户端进行展示。
其中,构建单元410构建应用标签数据库的过程与上文图1-图3的各实施例中构建应用标签数据库的过程对应相同,构建单元410构建搜索词标签数据库的过程与上文图1-图3的各实施例中构建搜索词标签数据库的过程对应相同,构建单元410构建标签知识库的过程与上文图1-图3的各实施例中构建标签知识库的过程对应相同,上文中均已分别详细说明,限于篇幅,在此不再赘述。
搜索处理单元430根据所述搜索词标签数据库获取当前搜索词的标签体系的过程与上文图1-图3的各实施例中根据所述搜索词标签数据库获取当前搜索词的标签体系的过程对应相同,搜索处理单元430基于所述标签知识库,计算当前搜索词的标签体系与各应用的标签体系之间的语义相关性的过程与上文图1-图3的各实施例中基于所述标签知识库,计算当前搜索词的标签体系与各应用的标签体系之间的语义相关性的过程对应相同,上文中均已分别详细说明,限于篇幅,在此不再赘述。
综上所述,本方案是基于无监督机器学习技术,不需要人工标注标签,最后得到可实际工业级应用的标签体系,自动挖掘应用的类别和功能,抽取用户查询意图,即构建搜索词的标签体系,基于标签知识库对应用的标签体系和搜索词的标签体系进行匹配,即将用户意图和应用映射到同一个语义空间中,解决搜索词和应用的语义匹配问题,有效实现了应用搜索引擎的功能搜索技术。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的应用搜索服务器中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种应用搜索方法,其中,包括:
构建应用标签数据库,所述应用标签数据库中包括各应用的标签体系;
构建搜索词标签数据库,所述搜索词标签数据库中包括多个搜索词的标签体系;
构建标签知识库;
接收客户端上传的当前搜索词,根据所述搜索词标签数据库获取当前搜索词的标签体系;
基于所述标签知识库,计算当前搜索词的标签体系与各应用的标签体系之间的语义相关性;
当当前搜索词的标签体系与一个应用的标签体系之间的语义相关性符合预设条件时,将该应用的相关信息返回至客户端进行展示。
2.如权利要求1所述的方法,其中,所述构建应用标签数据库包括:
获取各应用的摘要;
从应用搜索日志中获取关于各应用的搜索词;
根据各应用的摘要、搜索词以及预设策略,挖掘出各应用的标签体系。
3.如权利要求1或2所述的方法,其中,所述根据各应用的摘要、搜索词以及预设策略,挖掘出各应用的标签体系包括:
根据各应用的摘要和搜索词,获得训练语料集合;
将训练语料集合输入至LDA模型中进行训练,得到LDA模型输出的应用-主题概率分布结果以及主题-关键词概率分布结果;
根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各应用的标签体系。
4.如权利要求1-3中任一项所述的方法,其中,所述根据各应用的摘要和搜索词,获得训练语料集合包括:
对于每个应用,从该应用的摘要中提取首段文字或前预设数量个句子的文字;将提取出的文字与该应用的搜索词共同作为该应用的原始语料;
各应用的原始语料构成原始语料集合;对所述原始语料集合进行预处理,获得训练语料集合。
5.如权利要求1-4中任一项所述的方法,其中,所述对所述原始语料集合进行预处理包括:
在所述原始语料集合中,
对于每个原始语料,对所述原始语料进行分词处理,得到包含多个词项的分词结果;查找由所述分词结果中的相邻词项构成的短语;保留所述短语、所述分词结果中属于名词的词项和属于动词的词项,作为该原始语料对应保留的关键词。
6.一种应用搜索服务器,其中,包括:
构建单元,适于构建应用标签数据库,所述应用标签数据库中包括各应用的标签体系;适于构建搜索词标签数据库,所述搜索词标签数据库中包括多个搜索词的标签体系;以及,适于构建标签知识库;
交互单元,适于接收客户端上传的当前搜索词;
搜索处理单元,适于根据所述搜索词标签数据库获取当前搜索词的标签体系;基于所述标签知识库,计算当前搜索词的标签体系与各应用的标签体系之间的语义相关性;
所述交互单元,还适于当当前搜索词的标签体系与一个应用的标签体系之间的语义相关性符合预设条件时,将该应用的相关信息返回至客户端进行展示。
7.如权利要求6所述的服务器,其中,
所述构建单元,适于获取各应用的摘要;从应用搜索日志中获取关于各应用的搜索词;根据各应用的摘要、搜索词以及预设策略,挖掘出各应用的标签体系。
8.如权利要求6或7所述的服务器,其中,
所述构建单元,适于根据各应用的摘要和搜索词,获得训练语料集合;将训练语料集合输入至LDA模型中进行训练,得到LDA模型输出的应用-主题概率分布结果以及主题-关键词概率分布结果;根据所述应用-主题概率分布结果和所述主题-关键词概率分布结果,计算得到各应用的标签体系。
9.如权利要求6-8中任一项所述的服务器,其中,
所述构建单元,适于对于每个应用,从该应用的摘要中提取首段文字或前预设数量个句子的文字;将提取出的文字与该应用的搜索词共同作为该应用的原始语料;各应用的原始语料构成原始语料集合;对所述原始语料集合进行预处理,获得训练语料集合。
10.如权利要求6-9中任一项所述的服务器,其中,
所述构建单元,适于在所述原始语料集合中,对于每个原始语料,对所述原始语料进行分词处理,得到包含多个词项的分词结果;查找由所述分词结果中的相邻词项构成的短语;保留所述短语、所述分词结果中属于名词的词项和属于动词的词项,作为该原始语料对应保留的关键词。
CN201611249840.7A 2016-12-29 2016-12-29 一种应用搜索方法和服务器 Active CN106709040B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611249840.7A CN106709040B (zh) 2016-12-29 2016-12-29 一种应用搜索方法和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611249840.7A CN106709040B (zh) 2016-12-29 2016-12-29 一种应用搜索方法和服务器

Publications (2)

Publication Number Publication Date
CN106709040A true CN106709040A (zh) 2017-05-24
CN106709040B CN106709040B (zh) 2021-02-19

Family

ID=58904042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611249840.7A Active CN106709040B (zh) 2016-12-29 2016-12-29 一种应用搜索方法和服务器

Country Status (1)

Country Link
CN (1) CN106709040B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688614A (zh) * 2017-08-04 2018-02-13 平安科技(深圳)有限公司 意图获取方法、电子装置及计算机可读存储介质
CN109543091A (zh) * 2018-09-27 2019-03-29 百度在线网络技术(北京)有限公司 应用程序的推送方法、装置及终端
CN109614499A (zh) * 2018-11-22 2019-04-12 阿里巴巴集团控股有限公司 一种词典生成方法、新词发现方法、装置及电子设备
CN109684500A (zh) * 2018-12-29 2019-04-26 中国科学技术大学 基于知识图谱的图片操作方法
CN109767065A (zh) * 2018-12-13 2019-05-17 重庆金融资产交易所有限责任公司 资产管理方法、装置及计算机可读存储介质
WO2019119916A1 (zh) * 2017-12-22 2019-06-27 科沃斯商用机器人有限公司 人机交互方法、系统及其电子设备
CN110019650A (zh) * 2018-09-04 2019-07-16 北京京东尚科信息技术有限公司 提供搜索联想词的方法、装置、存储介质及电子设备
CN110019985A (zh) * 2017-12-29 2019-07-16 上海全土豆文化传播有限公司 索引文件的建立、查询方法及装置
CN110196833A (zh) * 2018-03-22 2019-09-03 腾讯科技(深圳)有限公司 应用程序的搜索方法、装置、终端及存储介质
CN110362694A (zh) * 2019-07-05 2019-10-22 武汉莱博信息技术有限公司 基于人工智能的文献数据检索方法、设备及可读存储介质
CN110516061A (zh) * 2019-07-24 2019-11-29 视联动力信息技术股份有限公司 一种数据处理方法、装置和计算机可读存储介质
CN110968776A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 政策知识的推荐方法、装置存储介质及处理器
CN112182154A (zh) * 2020-09-25 2021-01-05 中国人民大学 一种利用个人词向量消除关键词歧义的个性化搜索模型
CN112765494A (zh) * 2017-06-20 2021-05-07 创新先进技术有限公司 搜索方法和搜索装置
CN114003750A (zh) * 2021-10-29 2022-02-01 平安银行股份有限公司 物料上线方法、装置、设备及存储介质
CN114168751A (zh) * 2021-12-06 2022-03-11 厦门大学 一种基于医学知识概念图的医学文本标签识别方法及系统
CN114398993A (zh) * 2022-01-18 2022-04-26 平安科技(深圳)有限公司 基于标签数据的搜索信息召回方法、系统、装置和介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102760149A (zh) * 2012-04-05 2012-10-31 中国人民解放军国防科学技术大学 开源软件主题自动标注方法
CN103020293A (zh) * 2012-12-28 2013-04-03 百度在线网络技术(北京)有限公司 一种移动应用的本体库的构建方法及系统
CN103150356A (zh) * 2013-02-22 2013-06-12 百度在线网络技术(北京)有限公司 一种应用的泛需求检索方法及系统
US8589433B2 (en) * 2009-10-21 2013-11-19 International Business Machines Corporation Dynamic tagging
CN103425710A (zh) * 2012-05-25 2013-12-04 北京百度网讯科技有限公司 一种基于主题的搜索方法和装置
CN103714088A (zh) * 2012-10-09 2014-04-09 深圳市世纪光速信息技术有限公司 搜索词获取方法、服务器、搜索词推荐方法及系统
CN103810168A (zh) * 2012-11-06 2014-05-21 深圳市世纪光速信息技术有限公司 检索应用的方法、装置及终端
CN104133877A (zh) * 2014-07-25 2014-11-05 百度在线网络技术(北京)有限公司 软件标签的生成方法和装置
CN104281656A (zh) * 2014-09-18 2015-01-14 广州三星通信技术研究有限公司 在应用程序中加入标签信息的方法和装置
CN105095474A (zh) * 2015-08-11 2015-11-25 北京奇虎科技有限公司 建立搜索词与应用数据推荐关系的方法及装置
CN105224661A (zh) * 2015-09-30 2016-01-06 北京奇虎科技有限公司 会话式的信息搜索方法及装置
CN105630813A (zh) * 2014-10-30 2016-06-01 苏宁云商集团股份有限公司 基于用户自定义模板的关键词推荐方法和系统
CN105740404A (zh) * 2016-01-28 2016-07-06 上海晶赞科技发展有限公司 标签关联方法及装置
CN105893441A (zh) * 2015-12-15 2016-08-24 乐视网信息技术(北京)股份有限公司 一种终端的应用推荐方法及应用推荐系统

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589433B2 (en) * 2009-10-21 2013-11-19 International Business Machines Corporation Dynamic tagging
CN102760149A (zh) * 2012-04-05 2012-10-31 中国人民解放军国防科学技术大学 开源软件主题自动标注方法
CN103425710A (zh) * 2012-05-25 2013-12-04 北京百度网讯科技有限公司 一种基于主题的搜索方法和装置
CN103714088A (zh) * 2012-10-09 2014-04-09 深圳市世纪光速信息技术有限公司 搜索词获取方法、服务器、搜索词推荐方法及系统
CN103810168A (zh) * 2012-11-06 2014-05-21 深圳市世纪光速信息技术有限公司 检索应用的方法、装置及终端
CN103020293A (zh) * 2012-12-28 2013-04-03 百度在线网络技术(北京)有限公司 一种移动应用的本体库的构建方法及系统
CN103150356A (zh) * 2013-02-22 2013-06-12 百度在线网络技术(北京)有限公司 一种应用的泛需求检索方法及系统
CN104133877A (zh) * 2014-07-25 2014-11-05 百度在线网络技术(北京)有限公司 软件标签的生成方法和装置
CN104281656A (zh) * 2014-09-18 2015-01-14 广州三星通信技术研究有限公司 在应用程序中加入标签信息的方法和装置
CN105630813A (zh) * 2014-10-30 2016-06-01 苏宁云商集团股份有限公司 基于用户自定义模板的关键词推荐方法和系统
CN105095474A (zh) * 2015-08-11 2015-11-25 北京奇虎科技有限公司 建立搜索词与应用数据推荐关系的方法及装置
CN105224661A (zh) * 2015-09-30 2016-01-06 北京奇虎科技有限公司 会话式的信息搜索方法及装置
CN105893441A (zh) * 2015-12-15 2016-08-24 乐视网信息技术(北京)股份有限公司 一种终端的应用推荐方法及应用推荐系统
CN105740404A (zh) * 2016-01-28 2016-07-06 上海晶赞科技发展有限公司 标签关联方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李湘东等: "一种基于加权LDA模型和多粒度的文本特征选择方法", 《现代图书情报技术》 *
罗可: "数据库中数据挖掘理论方法及应用研究", 《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765494A (zh) * 2017-06-20 2021-05-07 创新先进技术有限公司 搜索方法和搜索装置
CN107688614A (zh) * 2017-08-04 2018-02-13 平安科技(深圳)有限公司 意图获取方法、电子装置及计算机可读存储介质
CN107688614B (zh) * 2017-08-04 2018-08-10 平安科技(深圳)有限公司 意图获取方法、电子装置及计算机可读存储介质
WO2019119916A1 (zh) * 2017-12-22 2019-06-27 科沃斯商用机器人有限公司 人机交互方法、系统及其电子设备
CN110019985A (zh) * 2017-12-29 2019-07-16 上海全土豆文化传播有限公司 索引文件的建立、查询方法及装置
CN110196833B (zh) * 2018-03-22 2023-06-09 腾讯科技(深圳)有限公司 应用程序的搜索方法、装置、终端及存储介质
CN110196833A (zh) * 2018-03-22 2019-09-03 腾讯科技(深圳)有限公司 应用程序的搜索方法、装置、终端及存储介质
CN110019650B (zh) * 2018-09-04 2024-04-05 北京京东尚科信息技术有限公司 提供搜索联想词的方法、装置、存储介质及电子设备
CN110019650A (zh) * 2018-09-04 2019-07-16 北京京东尚科信息技术有限公司 提供搜索联想词的方法、装置、存储介质及电子设备
CN109543091A (zh) * 2018-09-27 2019-03-29 百度在线网络技术(北京)有限公司 应用程序的推送方法、装置及终端
CN109543091B (zh) * 2018-09-27 2022-04-15 百度在线网络技术(北京)有限公司 应用程序的推送方法、装置及终端
CN110968776A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 政策知识的推荐方法、装置存储介质及处理器
CN109614499A (zh) * 2018-11-22 2019-04-12 阿里巴巴集团控股有限公司 一种词典生成方法、新词发现方法、装置及电子设备
CN109614499B (zh) * 2018-11-22 2023-02-17 创新先进技术有限公司 一种词典生成方法、新词发现方法、装置及电子设备
CN109767065A (zh) * 2018-12-13 2019-05-17 重庆金融资产交易所有限责任公司 资产管理方法、装置及计算机可读存储介质
CN109684500A (zh) * 2018-12-29 2019-04-26 中国科学技术大学 基于知识图谱的图片操作方法
CN109684500B (zh) * 2018-12-29 2022-10-28 中国科学技术大学 基于知识图谱的图片操作方法
CN110362694A (zh) * 2019-07-05 2019-10-22 武汉莱博信息技术有限公司 基于人工智能的文献数据检索方法、设备及可读存储介质
CN110516061A (zh) * 2019-07-24 2019-11-29 视联动力信息技术股份有限公司 一种数据处理方法、装置和计算机可读存储介质
CN112182154A (zh) * 2020-09-25 2021-01-05 中国人民大学 一种利用个人词向量消除关键词歧义的个性化搜索模型
CN112182154B (zh) * 2020-09-25 2023-10-10 中国人民大学 一种利用个人词向量消除关键词歧义的个性化搜索模型
CN114003750A (zh) * 2021-10-29 2022-02-01 平安银行股份有限公司 物料上线方法、装置、设备及存储介质
CN114003750B (zh) * 2021-10-29 2024-03-26 平安银行股份有限公司 物料上线方法、装置、设备及存储介质
CN114168751A (zh) * 2021-12-06 2022-03-11 厦门大学 一种基于医学知识概念图的医学文本标签识别方法及系统
CN114398993A (zh) * 2022-01-18 2022-04-26 平安科技(深圳)有限公司 基于标签数据的搜索信息召回方法、系统、装置和介质
CN114398993B (zh) * 2022-01-18 2024-05-14 平安科技(深圳)有限公司 基于标签数据的搜索信息召回方法、系统、装置和介质

Also Published As

Publication number Publication date
CN106709040B (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
CN106709040A (zh) 一种应用搜索方法和服务器
CN111984689B (zh) 信息检索的方法、装置、设备以及存储介质
CN110633373B (zh) 一种基于知识图谱和深度学习的汽车舆情分析方法
CN106815252B (zh) 一种搜索方法和设备
CN110059271B (zh) 运用标签知识网络的搜索方法及装置
CN108280155B (zh) 基于短视频的问题检索反馈方法、装置及其设备
CN107590133A (zh) 基于语义的招聘职位与求职简历匹配的方法及系统
CN102902821B (zh) 基于网络热点话题的图像高级语义标注、检索方法及装置
CN109960786A (zh) 基于融合策略的中文词语相似度计算方法
US20140201180A1 (en) Intelligent Supplemental Search Engine Optimization
CN103838833A (zh) 基于相关词语语义分析的全文检索系统
CN109460479A (zh) 一种基于事理图谱的预测方法、装置和系统
US11687603B2 (en) Ensemble predictor
CN104298776B (zh) 基于lda模型的搜索引擎结果优化系统
CN106649760A (zh) 基于深度问答的提问型搜索词搜索方法及装置
CN104834686A (zh) 一种基于混合语义矩阵的视频推荐方法
CN104484339A (zh) 一种相关实体推荐方法和系统
CN104268292A (zh) 画像系统的标签词库更新方法
CN107562966B (zh) 用于网页链接检索排序的基于智能学习的优化系统及方法
CN105243149B (zh) 一种基于语义的查询推荐方法和系统
CN104281565B (zh) 语义词典构建方法和装置
CN112749330B (zh) 信息推送方法、装置、计算机设备和存储介质
CN109829045A (zh) 一种问答方法和装置
CN108664515A (zh) 一种搜索方法及装置,电子设备
Seitlinger et al. Attention please! a hybrid resource recommender mimicking attention-interpretation dynamics

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant