CN102999521B - 一种识别搜索需求的方法和装置 - Google Patents
一种识别搜索需求的方法和装置 Download PDFInfo
- Publication number
- CN102999521B CN102999521B CN201110273329.1A CN201110273329A CN102999521B CN 102999521 B CN102999521 B CN 102999521B CN 201110273329 A CN201110273329 A CN 201110273329A CN 102999521 B CN102999521 B CN 102999521B
- Authority
- CN
- China
- Prior art keywords
- gram
- query
- preset
- preset type
- requirement
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004458 analytical method Methods 0.000 claims abstract description 31
- 239000013598 vector Substances 0.000 claims description 50
- 230000011218 segmentation Effects 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000018109 developmental process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种识别搜索需求的方法和装置,预先建立各预设类型的需求分析模型,具体为:获得该预设类型的种子query的各n元词组(n-gram),计算每一个n-gram与该预设类型的语义相似度(sim)以及属于该预设类型的概率(prob);利用sim和prob确定每一个n-gram在该预设类型的评分。接收到待识别query时,确定待识别query的各n-gram;查询各预设类型的需求分析模型,确定各n-gram在各预设类型的评分;利用确定的所有n-gram在每一个预设类型的评分之和得到待识别query在每一个预设类型上有需求的可能性,进而识别出待识别query的需求类型。本发明能够提高需求识别的适用性和准确性。
Description
【技术领域】
本发明涉及计算机技术领域,特别涉及一种识别搜索需求的方法和装置。
【背景技术】
随着互联网在全球范围内的迅速发展与成熟,网络上的信息资源不断丰富,信息数据量也在飞速膨胀,通过搜索引擎获取信息已经成为现代人获取信息的主要方式。为了向用户提供更加便捷、准确的查询服务是搜索引擎技术在当今和未来的发展方向。
在搜索引擎技术中,对用户的搜索需求进行识别是提高搜索准确性和有效性的重要一环,特别在结构化搜索中作用显著。现有的搜索需求识别通常简单的采用匹配预置关键词的方式,例如,对应视频需求预置一些关键词:“在线观看”、“在线下载”、“点播”等,如果一个搜索请求(query)中包含某一个关键词,诸如query“士兵突击在线观看”,则将该query识别为视频需求。但该方法的适用性过窄,对于没有包含预置关键词的query则无法识别搜索需求,并且识别方式过于粗放,并不考虑非关键词的需求体现,常常会带来识别准确率低下的问题。
【发明内容】
有鉴于此,本发明提供了一种识别搜索需求的方法和装置,以便于提高需求识别的适用性和准确性。
具体技术方案如下:
一种识别搜索需求的方法,该方法包括:
预先建立各预设类型的需求分析模型;
接收到待识别query时,利用所述需求分析模型对所述待识别query进行需求识别;
其中,所述预设类型的需求分析模型的建立具体包括:
S1、获得该预设类型的种子query的各n元词组n-gram,n为预设的一个或多个正整数;
S2、计算每一个n-gram与该预设类型的语义相似度sim以及每一个n-gram属于该预设类型的概率prob;
S3、利用所述sim和所述prob确定每一个n-gram在该预设类型的评分;
对所述待识别query进行需求识别具体包括:
S4、确定所述待识别query的各n-gram;
S5、查询各预设类型的需求分析模型,确定步骤S4确定的各n-gram在各预设类型的评分;
S6、利用步骤S4确定的所有n-gram在每一个预设类型的评分之和得到所述待识别query在每一个预设类型上有需求的可能性;
S7、根据所述待识别query在每一个预设类型上有需求的可能性识别出所述待识别query的需求类型。
根据本发明之一优选实施例,所述步骤S2中计算每一个n-gram与该预设类型的语义相似度sim具体包括:
获取该预设类型的核心词向量和每一个n-gram的词向量,计算每一个n-gram的词向量分别与该预设类型的核心词向量的相似度作为所述sim。
根据本发明之一优选实施例,所述获取该预设类型的核心词向量具体包括:
S21、利用该预设类型的每一个种子query进行搜索,获取排在前N1个的搜索结果,所述N1为预设的正整数;
S22、对所述步骤S21获取的搜索结果的文本进行分词处理,获取所有n-gram;
S23、根据词频tf*逆向文件频率idf值确定步骤S22获取的各n-gram的权重,按照权重对各n-gram进行排序,获取排在前N2个的n-gram作为该预设类型的核心词向量,所述N2为预设的正整数。
根据本发明之一优选实施例,获取每一个n-gram的词向量为针对每一个n-gram分别具体执行以下步骤:
S24、将该n-gram作为query分别进行搜索,获取排在前N3个的搜索结果,所述N3为预设的正整数;
S25、对所述步骤S24获取的搜索结果进行分词处理,根据ti-idf值确定分词处理所得到各词语的权重,选取权重排在前N4个的词语作为该n-gram的词向量。
根据本发明之一优选实施例,所述步骤S2中计算n-gram属于该预设类型的概率prob具体为:
prob=C1/C2,其中所述C1为包含该n-gram的该预设类型的种子query的总检索次数,所述C2为包含该n-gram的所有预设类型的种子query的总检索次数。
根据本发明之一优选实施例,所述步骤S3具体包括:
按照score=λ1*sim+λ2*prob确定n-gram在该预设类型的评分score,其中λ1和λ2为预设的权重系数。
根据本发明之一优选实施例,所述步骤S6具体包括:
将所述步骤S4确定的所有n-gram分别在每一个预设类型的评分之和作为所述待识别query分别在每一个预设类型上有需求的可能性;或者,
将所述步骤S4确定的所有n-gram分别在每一个预设类型的评分之和的平均值分别作为所述待识别query在每一个预设类型上有需求的可能性。
根据本发明之一优选实施例,所述步骤S7具体包括:
将可能性满足预设可能性阈值的预设类型识别为所述待识别query的需求类型;或者,
将可能性排在前N5个的预设类型识别为所述待识别query的需求类型,所述N5为预设的正整数;或者,
根据预设的可能性与需求级别的对应关系,确定所述待识别query在每一个预设类型上的需求级别。
一种识别搜索需求的装置,该装置包括:
用于预先建立各预设类型的需求分析模型的模型建立单元,以及用于接收到待识别query时,利用所述需求分析模型对所述待识别query进行需求识别的需求识别单元;
其中所述模型建立单元具体包括:
第一词组获取子单元,用于分别针对每一个预设类型,获得该预设类型的种子query的各n元词组n-gram,n为预设的一个或多个正整数;
相似度计算子单元,用于计算每一个n-gram与该预设类型的语义相似度sim;
概率计算子单元,用于计算每一个n-gram属于该预设类型的概率prob;
第一评分子单元,用于利用所述sim和所述prob确定每一个n-gram在该预设类型的评分;
所述需求识别单元具体包括:
第二词组获取子单元,用于确定所述待识别query的各n-gram;
第二评分子单元,用于查询各预设类型的需求分析模型,确定所述第二词组获取子单元确定的各n-gram在各预设类型的评分;
可能性计算子单元,用于利用所述第二评分子单元确定的所有n-gram在每一个预设类型的评分之和得到所述待识别query在每一个预设类型上有需求的可能性;
需求识别子单元,用于根据所述待识别query在每一个预设类型上有需求的可能性识别出所述待识别query的需求类型。
根据本发明之一优选实施例,所述相似度计算子单元具体获取该预设类型的核心词向量和每一个n-gram的词向量,计算每一个n-gram的词向量分别与该预设类型的核心词向量的相似度作为所述sim。
根据本发明之一优选实施例,所述相似度计算子单元在获取该预设类型的核心词向量时,具体执行以下操作:
S21、利用该预设类型的每一个种子query进行搜索,获取排在前N1个的搜索结果,所述N1为预设的正整数;
S22、对所述操作S21获取的搜索结果的文本进行分词处理,获取所有n-gram;
S23、根据词频tf*逆向文件频率idf值确定操作S22获取的各n-gram的权重,按照权重对各n-gram进行排序,获取排在前N2个的n-gram作为该预设类型的核心词向量,所述N2为预设的正整数。
根据本发明之一优选实施例,所述相似度计算子单元在获取每一个n-gram的词向量时,针对每一个n-gram分别具体执行以下操作:
S24、将该n-gram作为query分别进行搜索,获取排在前N3个的搜索结果,所述N3为预设的正整数;
S25、对所述操作S24获取的搜索结果进行分词处理,根据ti-idf值确定分词处理所得到各词语的权重,选取权重排在前N4个的词语作为该n-gram的词向量。
根据本发明之一优选实施例,所述概率计算子单元按照prob=C1/C2计算n-gram属于该预设类型的概率prob,其中所述C1为包含该n-gram的该预设类型的种子query的总检索次数,所述C2为包含该n-gram的所有预设类型的种子query的总检索次数。
根据本发明之一优选实施例,所述第一评分子单元按照score=λ1*sim+λ2*prob确定n-gram在该预设类型的评分score,其中λ1和λ2为预设的权重系数。
根据本发明之一优选实施例,所述可能性计算子单元将所述第二评分子单元确定的所有n-gram分别在每一个预设类型的评分之和作为所述待识别query分别在每一个预设类型上有需求的可能性;或者,
将所述第二评分子单元确定的所有n-gram分别在每一个预设类型的评分之和的平均值分别作为所述待识别query在每一个预设类型上有需求的可能性。
根据本发明之一优选实施例,所述需求识别子单元将可能性满足预设可能性阈值的预设类型识别为所述待识别query的需求类型;或者,
将可能性排在前N5个的预设类型识别为所述待识别query的需求类型,所述N5为预设的正整数;或者,
根据预设的可能性与需求级别的对应关系,确定所述待识别query在每一个预设类型上的需求级别。
由以上技术方案可以看出,本发明在需求分析模型建立和识别过程中考量了query中所有n-gram在各预设类型上的评分,从而确定query在每一个预设类型上有需求的可能性,进而识别出query的需求类型。显然相比较现有预置关键词的需求识别方式,考量所有n-gram的需求类型,识别方式更加细腻,对于任意query均能够识别出需求而不受关键词的限制,具有更高的适用性和准确性。
【附图说明】
图1为本发明实施例一提供的需求识别的方法流程图;
图2为本发明实施例二提供的计算n-gram与各需求类型的语义相似度的方法流程图;
图3为本发明实施例三提供的需求识别的装置结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
实施例一、
图1为本发明实施例一提供的需求识别的方法流程图,如图1所示,该方法包括两个过程:
过程1:预先建立各预设类型的需求分析模型,具体的建立过程包括,分别针对每一个预设类型执行以下步骤101~步骤104,该过程为线下过程。
在本发明实施例中预设一些需求类型,可以包括但不限于:视频类、软件类、游戏类、小说类等。分别针对每一个预设类型建立需求分析模型。各需求分析模型中包含n-gram以及n-gram在该需求分析模型所对应需求类型的评分。
在此,对n元词组(n-gram)的概念进行简单介绍,所谓n-gram就是最小粒度的n个词语按顺序出现的组合,其中n为预设的一个或多个正整数。例如:1-gram为“手机”、“酷狗”、“播放器”、“最新版”、“下载”等;2-gram为“手机酷狗”、“酷狗播放器”、“播放器最新版”、“最新版下载”等;3-gram为“手机酷狗播放器”、“酷狗播放器最新版”、“播放器最新版下载”等;4-gram为“手机酷狗播放器最新版”、“酷狗播放器最新版下载”等。
步骤101:获得预设类型的种子query的各n-gram。
首先预置各预设类型的种子query集合,这些种子query体现出对应预设类型的需求,这些种子query集合可以通过人工的方式配置,或者采用人工的方式在搜索日志中标注。较优地,也可以从搜索日志中挖掘种子query,例如从该预设类型垂直搜索的搜索日志中获取搜索次数高于预设第一阈值的query作为该预设类型的种子query,从该预设类型的网页搜索的搜索日志中,获取对应于点击了该预设类型的网站或点击了包含该需求类型特征词的标题的query,并将获取的query中搜索次数高于预设第二阈值的query作为该预设类型的种子query,等等。
例如,游戏类的种子query集合中的种子query可以包含:“单机版手机小游戏下载”、“宝捷迅lp608手机游戏下载”、“魔兽世界怎么玩”、“魔兽世界怎么升级”、“软件帝国最新章节”等。
然后将各种子query进行分词处理,并获得所有n-gram。以种子query“手机酷狗播放器最新版下载”为例,分词处理后的结果为“手机”、“酷狗”、“播放器”、“最新版”、“下载”。如果预先设置n为1、2、3和4,则1-gram为“手机”、“酷狗”、“播放器”、“最新版”、“下载”;2-gram为“手机酷狗”、“酷狗播放器”、“播放器最新版”、“最新版下载”;3-gram为“手机酷狗播放器”、“酷狗播放器最新版”、“播放器最新版下载”;4-gram为“手机酷狗播放器最新版”、“酷狗播放器最新版下载”。
在获取到预设类型的种子query集合的所有n-gram之后,要确定各n-gram在该预设类型的评分,在评分时需要利用n-gram与各需求类型的语义相似度以及n-gram属于各需求类型的概率,继续执行后续步骤。
步骤102:计算n-gram与该预设类型的语义相似度sim。
在本步骤中,可以采用计算n-gram与各预设类型的核心词向量相似度的方式,具体计算方式参见实施例二。
步骤103:计算n-gram属于该预设类型的概率prob。
其中,n-gram属于某预设类型的概率prob可以采用如下公式计算:
prob=C1/C2;
其中,C1为包含该n-gram的上述某预设类型的种子query的总检索次数,C2为包含该n-gram的所有预设类型的种子query的总检索次数。
假设包含n-gram“搜狗播放器”的种子query如表1所示,则其属于软件类的概率prob为:
prob=(315+273+273+326)/(315+273+273+326+210+230)=0.7296。
表1
种子query | 需求类型 | 检索次数 |
酷狗播放器 | 软件 | 315 |
下载酷狗播放器 | 软件 | 273 |
酷狗播放器java版 | 软件 | 273 |
7610酷狗播放器 | 软件 | 326 |
酷狗播放器使用说明书 | 文档 | 210 |
酷狗播放器创始人是谁 | 知识 | 230 |
种子query的数量和质量对需求分析模型的建立有一定的影响,从而影响最终的需求识别效果。即种子query的数量越多,能够获得的n-gram越多,种子query的质量越高,n-gram的概率值prob越准,最终的需求识别效果越优。
步骤104:按照score=λ1*sim+λ2*prob确定n-gram在该预设类型的评分。
在上述公式中,λ1和λ2为预设的权重系数,可以选择经验值、实验值,也可以通过机器学习的方法获得。例如,可以选择λ1为0.65,λ2为0.35。
举一些例子,如表2所示,是一些n-gram在游戏类、软件类、小说类三个类型的评分。
表2
n-gram | 游戏 | 软件 | 小说 |
酷狗播放器 | 0.004696 | 0.495603 | 0.001046 |
播放器jar | 0.000443 | 0.445720 | 0.000625 |
明朝那些事txt下载 | 0.000015 | 0.000743 | 0.152267 |
系列txt下载 | 0.000053 | 0.000110 | 0.144337 |
攻略dota | 0.335987 | 0.000125 | 0.000306 |
jar游戏 | 0.184830 | 0.012229 | 0.000095 |
过程2:接收到待识别query时,利用预先建立的需求分析模型对待识别query进行需求识别,该过程为实时的过程。具体的识别方式可以包括以下步骤105~步骤108。
步骤105:确定待识别query的各n-gram。
本步骤的实现方式与步骤101中所述的获得n-gram的方式相同。
步骤106:查询各预设类型的需求分析模型,确定各n-gram在各预设类型的评分。
以待识别query“酷狗播放器jar下载”为例,在确定n-gram和查询各预设类型的评分后,结果如表3所示。
表3
n-gram | n | 游戏类 | 软件类 | 小说类 |
酷狗 | 1 | 0.160896 | 0.456980 | 0.279123 |
播放器 | 1 | 0.002335 | 0.403520 | 0.000947 |
jar | 1 | 0.051773 | 0.174424 | 0.321568 |
下载 | 1 | 0.113341 | 0.128342 | 0.117527 |
酷狗播放器 | 2 | 0.004696 | 0.495603 | 0.001046 |
播放器jar | 2 | 0.000443 | 0.445720 | 0.000625 |
jar下载 | 2 | 0.076081 | 0.124960 | 0.108898 |
酷狗播放器jar | 3 | 0.008852 | 0.470271 | 0.000971 |
播放器jar下载 | 3 | 0.004839 | 0.475354 | 0.000728 |
酷狗播放器jar下载 | 4 | 0.000684 | 0.566351 | 0.000246 |
步骤107:利用所有n-gram分别在每一个预设类型的评分之和得到待识别query在每一个预设类型上有需求的可能性。
所有n-gram在每一个预设类型的评分之和体现了待识别query在每一个预设类型上有需求的可能性。
仍以表3中所示情况为例,待识别query“酷狗播放器jar下载”在游戏类上有需求的可能性P(游戏|酷狗播放器jar下载)为:
P(游戏|酷狗播放器jar下载)=0.160896+0.002335+0.051773+0.113341+0.004696+0.000443+0.076081+0.008852+0.004839+0.000684=0.42394
待识别query“酷狗播放器jar下载”在软件类上有需求的可能性P(软件|酷狗播放器jar下载)为:
P(软件|酷狗播放器jar下载)=0.456980+0.403520+0.174424+0.128342+0.495603+0.445720+0.124960+0.470271+0.475354+0.566351=3.741525
待识别query“酷狗播放器jar下载”在小说类上有需求的可能性P(小说|酷狗播放器jar下载)为:
P(小说|酷狗播放器jar下载)=0.279123+0.000947+0.321568+0.117527+0.001046+0.000625+0.108898+0.000971+0.000728+0.000246=0.831679
上述是直接将所有n-gram分别在每一个预设类型的评分之和作为待识别query在每一个预设类型上有需求的可能性,当然也可以采用所有n-gram分别在每一个预设类型的评分之和求平均的值作为待识别query在每一个预设类型上有需求的可能性。
步骤108:根据待识别query在每一个预设类型上有需求的可能性识别出待识别query的需求类型。
本步骤中识别需求类型的策略可以包括但不限于以下几种:
第一种:将可能性满足预设可能性阈值的预设类型识别为待识别query的需求类型。
例如,预设可能性阈值为3,则在上例中可以识别出待识别query“酷狗播放器jar下载”的需求类型为软件类。
第二种:将可能性排在前N5个的预设类型识别为待识别query的需求类型,其中N5为预设的正整数。
假设预设N5为2,则在上例中可以识别出待识别query“酷狗播放器jar下载”的需求类型为软件类和小说类。
第三种:根据预设的可能性与需求级别的对应关系,确定待识别query在每一个预设类型上的需求级别。
例如,可以预先将需求级别分为:强需求、弱需求和无需求,每一个需求级别对应有可能性的值。根据待识别query在每一个预设类型上有需求的可能性就能够确定出对应的需求级别。
假设预设强需求对应的可能性值为3以上,弱需求对应的可能性值为1至3,无需求对应的可能性值为1以下,则在上例中可以识别出待识别query“酷狗播放器jar下载”在软件类上具有强需求,在小说类和游戏类上无需求。
下面结合实施例二对上述步骤102中计算n-gram与各需求类型的语义相似度sim的过程进行描述。
实施例二、
图2为本发明实施例二提供的计算n-gram与各需求类型(各需求类型指的就是实施例一中的各预设类型)的语义相似度的方法流程图,如图2所示,包括以下步骤:
步骤201:获取该需求类型的核心词向量。
其中一个需求类型的核心词向量的获取方式可以包括以下步骤S21-S23。
S21、针对该需求类型的每一个种子query进行搜索,获取排在前N1个的搜索结果,其中N1为预设的正整数。
S22、对获取的搜索结果的文本进行分词处理,获取所有n-gram。
此处搜索结果的文本可以包括但不限于:网页标题、网页摘要等。
获取n-gram的方式与实施例一中所述的方式相同,在此不再赘述。
S23、根据词频(tf)*逆向文件频率(idf)值确定各n-gram的权重,按照权重对所有n-gram进行排序,获取排在前N2个的n-gram作为该需求类型的核心词向量,其中N2为预设的正整数。
举个例子,对软件类的种子query集合进行步骤S1和步骤S2后,得到的核心词向量可以如下,该核心词向量中包括核心词及对应权重:
步骤202:确定n-gram的词向量。
该n-gram的词向量确定方式可以包括以下步骤S24-步骤S25。
S24、将n-gram作为query进行搜索,获取排在前N3个的搜索结果,其中N3为预设的正整数。
S25、对获取的搜索结果进行分词处理,根据tf*idf值确定分词处理所得到各词语的权重,选取权重排在前N4个的词语作为该n-gram的词向量。
步骤203:计算n-gram的词向量分别与该需求类型的核心词向量的相似度。
本步骤中可以采用余弦相似度的计算方法,余弦相似度的计算方法为已有技术,在此不再详述。
例如,n-gram“酷狗播放器”分别与游戏类、软件类和小说类的语义相似度sim可以如下表4所示:
表4
n-gram | 游戏类 | 软件类 | 小说类 |
酷狗播放器 | 0.00181375 | 0.06319336 | 0.00001828 |
以上为对本发明所提供的方法进行的描述,下面对本发明所提供的需求识别的装置进行详细描述。
实施例三、
图3为本发明实施例三提供的需求识别的装置结构图,如图3所示,该需求识别装置可以包括:用于预先建立各预设类型的需求分析模型的模型建立单元300,以及用于接收到待识别query时,利用需求分析模型对待识别query进行需求识别的需求识别单元310。
本发明实施例中预设需求类型可以包括但不限于:视频类、软件类、游戏类、小说类等。分别针对每一个预设类型建立需求分析模型。各需求分析模型中包含n-gram以及n-gram在该需求分析模型所对应需求类型的评分。
其中模型建立单元300具体包括:第一词组获取子单元301、相似度计算子单元302、概率计算子单元303和第一评分子单元304。
第一词组获取子单元301分别针对每一个预设类型,获得该预设类型的种子query的各n元词组n-gram,n为预设的一个或多个正整数。
首先预置各预设类型的种子query集合,这些种子query体现出对应预设类型的需求,这些种子query集合可以通过人工的方式配置,或者采用人工的方式在搜索日志中标注。较优地,也可以从搜索日志中挖掘种子query,例如从该预设类型垂直搜索的搜索日志中获取搜索次数高于预设第一阈值的query作为该预设类型的种子query,从该预设类型的网页搜索的搜索日志中,获取对应于点击了该预设类型的网站或点击了包含该需求类型特征词的标题的query,并将获取的query中搜索次数高于预设第二阈值的query作为该预设类型的种子query,等等。
然后将各种子query进行分词处理,并获得所有n-gram。所谓n-gram就是最小粒度的n个词语按顺序出现的组合,其中n为预设的一个或多个正整数。
以种子query“手机酷狗播放器最新版下载”为例,分词处理后的结果为“手机”、“酷狗”、“播放器”、“最新版”、“下载”。如果预先设置n为1、2、3和4,则1-gram为“手机”、“酷狗”、“播放器”、“最新版”、“下载”;2-gram为“手机酷狗”、“酷狗播放器”、“播放器最新版”、“最新版下载”;3-gram为“手机酷狗播放器”、“酷狗播放器最新版”、“播放器最新版下载”;4-gram为“手机酷狗播放器最新版”、“酷狗播放器最新版下载”。
相似度计算子单元302计算每一个n-gram与该预设类型的语义相似度sim。
具体地,相似度计算子单元302可以获取该预设类型的核心词向量和每一个n-gram的词向量,计算每一个n-gram的词向量分别与该预设类型的核心词向量的相似度作为sim。
其中,在获取该预设类型的核心词向量时,具体执行以下操作:
S21、利用该预设类型的每一个种子query进行搜索,获取排在前N1个的搜索结果,N1为预设的正整数。
S22、对操作S21获取的搜索结果的文本进行分词处理,获取所有n-gram。
此处搜索结果的文本可以包括但不限于:网页标题、网页摘要等。
S23、根据tf*idf值确定操作S22获取的各n-gram的权重,按照权重对各n-gram进行排序,获取排在前N2个的n-gram作为该预设类型的核心词向量,N2为预设的正整数。
在获取每一个n-gram的词向量时,针对每一个n-gram分别具体执行以下操作:
S24、将该n-gram作为query分别进行搜索,获取排在前N3个的搜索结果,N3为预设的正整数。
S25、对操作S24获取的搜索结果进行分词处理,根据ti-idf值确定分词处理所得到各词语的权重,选取权重排在前N4个的词语作为该n-gram的词向量。
概率计算子单元303计算每一个n-gram属于该预设类型的概率prob。
具体地,概率计算子单元303可以按照prob=C1/C2计算n-gram属于该预设类型的概率prob,其中C1为包含该n-gram的该预设类型的种子query的总检索次数,C2为包含该n-gram的所有预设类型的种子query的总检索次数。
第一评分子单元304利用sim和prob确定每一个n-gram在该预设类型的评分。具体可以为:按照score=λ1*sim+λ2*prob确定n-gram在该预设类型的评分score,其中λ1和λ2为预设的权重系数,可以选择经验值、实验值,也可以通过机器学习的方法获得。例如,可以选择λ1为0.65,λ2为0.35。
下面对需求识别单元310的结构进行具体描述,该需求识别单元310包括:第二词组获取子单元311、第二评分子单元312、可能性计算子单元313和需求识别子单元314。
第二词组获取子单元311确定待识别query的各n-gram。
由于建立的各预设类型的需求分析模型包含有各n-gram以及n-gram在预设类型的评分,第二评分子单元312可以查询各预设类型的需求分析模型,确定第二词组获取子单元311确定的各n-gram在各预设类型的评分。
可能性计算子单元313利用第二评分子单元312确定的所有n-gram在每一个预设类型的评分之和得到待识别query在每一个预设类型上有需求的可能性。
具体地,可能性计算子单元313将第二评分子单元312确定的所有n-gram分别在每一个预设类型的评分之和作为待识别query分别在每一个预设类型上有需求的可能性;或者,将第二评分子单元312确定的所有n-gram分别在每一个预设类型的评分之和的平均值分别作为待识别query在每一个预设类型上有需求的可能性。
需求识别子单元314根据待识别query在每一个预设类型上有需求的可能性识别出待识别query的需求类型。
需求识别子单元314采用的需求识别的策略可以包括但不限于以下三种:
第一种:将可能性满足预设可能性阈值的预设类型识别为待识别query的需求类型。
第二种:将可能性排在前N5个的预设类型识别为待识别query的需求类型,N5为预设的正整数。
第三种:根据预设的可能性与需求级别的对应关系,确定待识别query在每一个预设类型上的需求级别。
在采用本发明实施例提供的上述方法或装置识别出需求类型后,可以用于但不限于以下应用场景:
1)用于大搜索的排序。用户输入query后,通过本发明实施例的上述方法和装置能够识别出该query的需求类型,将大搜索的搜索结果中对应该query的需求类型的页面排序提前;或者,将搜索结果中的各页面按照对应需求类型的强度进行排序,等等。
例如,用户输入query“酷狗播放器jar下载”识别出其需求类型为软件类,则可以在大搜索的搜索结果中,将软件类的页面排序提前。
如果识别出用户输入query“酷狗播放器jar下载”在软件类上具有强需求,在小说类和游戏类上无需求,则可以将软件类的页面排在小说类和游戏类页面之前。
2)用于垂直搜索。用户输入query后,通过本发明实施例的上述方法和装置能够识别出该query的需求类型,然后将该query分配给最优的内容资源或应用提供商处理,最终精确高效地返回给用户相匹配的结果。
例如,用户输入query“酷狗播放器jar下载”识别出其需求类型为软件类,则可以在软件类的数据库中进行垂直搜索,返回垂直搜索结果。
3)用于信息推荐。用户输入query后,通过本发明实施例的上述方法和装置能够识别出该query的需求类型,基于该需求类型对用户进行信息推荐,诸如广告推荐、知识问答平台的推荐、query推荐等。
例如,用户输入query“便宜的MP3播放器”识别出其需求类型为购物类,则可以在搜索结果推荐与MP3播放器相关的广告,这样广告与用户的实际需求匹配度就很高。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1.一种识别搜索需求的方法,其特征在于,该方法包括:
预先建立各预设类型的需求分析模型;
接收到待识别query时,利用所述需求分析模型对所述待识别query进行需求识别;
其中,所述预设类型的需求分析模型的建立具体包括:
S1、获得该预设类型的种子query的各n元词组n-gram,n为预设的一个或多个正整数;
S2、计算每一个n-gram与该预设类型的语义相似度sim以及每一个n-gram属于该预设类型的概率prob;
S3、利用所述sim和所述prob确定每一个n-gram在该预设类型的评分;
对所述待识别query进行需求识别具体包括:
S4、确定所述待识别query的各n-gram;
S5、查询各预设类型的需求分析模型,确定步骤S4确定的各n-gram在各预设类型的评分;
S6、利用步骤S4确定的所有n-gram在每一个预设类型的评分之和得到所述待识别query在每一个预设类型上有需求的可能性;
S7、根据所述待识别query在每一个预设类型上有需求的可能性识别出所述待识别query的需求类型。
2.根据权利要求1所述的方法,其特征在于,所述步骤S2中计算每一个n-gram与该预设类型的语义相似度sim具体包括:
获取该预设类型的核心词向量和每一个n-gram的词向量,计算每一个n-gram的词向量分别与该预设类型的核心词向量的相似度作为所述sim。
3.根据权利要求2所述的方法,其特征在于,所述获取该预设类型的核心词向量具体包括:
S21、利用该预设类型的每一个种子query进行搜索,获取排在前N1个的搜索结果,所述N1为预设的正整数;
S22、对所述步骤S21获取的搜索结果的文本进行分词处理,获取所有n-gram;
S23、根据词频tf*逆向文件频率idf值确定步骤S22获取的各n-gram的权重,按照权重对各n-gram进行排序,获取排在前N2个的n-gram作为该预设类型的核心词向量,所述N2为预设的正整数。
4.根据权利要求2所述的方法,其特征在于,获取每一个n-gram的词向量为针对每一个n-gram分别具体执行以下步骤:
S24、将该n-gram作为query分别进行搜索,获取排在前N3个的搜索结果,所述N3为预设的正整数;
S25、对所述步骤S24获取的搜索结果进行分词处理,根据tf-idf值确定分词处理所得到各词语的权重,选取权重排在前N4个的词语作为该n-gram的词向量。
5.根据权利要求1所述的方法,其特征在于,所述步骤S2中计算n-gram属于该预设类型的概率prob具体为:
prob=C1/C2,其中所述C1为包含该n-gram的该预设类型的种子query的总检索次数,所述C2为包含该n-gram的所有预设类型的种子query的总检索次数。
6.根据权利要求1至5任一权项所述的方法,其特征在于,所述步骤S3具体包括:
按照score=λ1*sim+λ2*prob确定n-gram在该预设类型的评分score,其中λ1和λ2为预设的权重系数。
7.根据权利要求1所述的方法,其特征在于,所述步骤S6具体包括:
将所述步骤S4确定的所有n-gram分别在每一个预设类型的评分之和作为所述待识别query分别在每一个预设类型上有需求的可能性;或者,
将所述步骤S4确定的所有n-gram分别在每一个预设类型的评分之和的平均值分别作为所述待识别query在每一个预设类型上有需求的可能性。
8.根据权利要求1所述的方法,其特征在于,所述步骤S7具体包括:
将可能性满足预设可能性阈值的预设类型识别为所述待识别query的需求类型;或者,
将可能性排在前N5个的预设类型识别为所述待识别query的需求类型,所述N5为预设的正整数;或者,
根据预设的可能性与需求级别的对应关系,确定所述待识别query在每一个预设类型上的需求级别。
9.一种识别搜索需求的装置,其特征在于,该装置包括:
用于预先建立各预设类型的需求分析模型的模型建立单元,以及用于接收到待识别query时,利用所述需求分析模型对所述待识别query进行需求识别的需求识别单元;
其中所述模型建立单元具体包括:
第一词组获取子单元,用于分别针对每一个预设类型,获得该预设类型的种子query的各n元词组n-gram,n为预设的一个或多个正整数;
相似度计算子单元,用于计算每一个n-gram与该预设类型的语义相似度sim;
概率计算子单元,用于计算每一个n-gram属于该预设类型的概率prob;
第一评分子单元,用于利用所述sim和所述prob确定每一个n-gram在该预设类型的评分;
所述需求识别单元具体包括:
第二词组获取子单元,用于确定所述待识别query的各n-gram;
第二评分子单元,用于查询各预设类型的需求分析模型,确定所述第二词组获取子单元确定的各n-gram在各预设类型的评分;
可能性计算子单元,用于利用所述第二评分子单元确定的所有n-gram在每一个预设类型的评分之和得到所述待识别query在每一个预设类型上有需求的可能性;
需求识别子单元,用于根据所述待识别query在每一个预设类型上有需求的可能性识别出所述待识别query的需求类型。
10.根据权利要求9所述的装置,其特征在于,所述相似度计算子单元具体获取该预设类型的核心词向量和每一个n-gram的词向量,计算每一个n-gram的词向量分别与该预设类型的核心词向量的相似度作为所述sim。
11.根据权利要求10所述的装置,其特征在于,所述相似度计算子单元在获取该预设类型的核心词向量时,具体执行以下操作:
S21、利用该预设类型的每一个种子query进行搜索,获取排在前N1个的搜索结果,所述N1为预设的正整数;
S22、对所述操作S21获取的搜索结果的文本进行分词处理,获取所有n-gram;
S23、根据词频tf*逆向文件频率idf值确定操作S22获取的各n-gram的权重,按照权重对各n-gram进行排序,获取排在前N2个的n-gram作为该预设类型的核心词向量,所述N2为预设的正整数。
12.根据权利要求10所述的装置,其特征在于,所述相似度计算子单元在获取每一个n-gram的词向量时,针对每一个n-gram分别具体执行以下操作:
S24、将该n-gram作为query分别进行搜索,获取排在前N3个的搜索结果,所述N3为预设的正整数;
S25、对所述操作S24获取的搜索结果进行分词处理,根据tf-idf值确定分词处理所得到各词语的权重,选取权重排在前N4个的词语作为该n-gram的词向量。
13.根据权利要求9所述的装置,其特征在于,所述概率计算子单元按照prob=C1/C2计算n-gram属于该预设类型的概率prob,其中所述C1为包含该n-gram的该预设类型的种子query的总检索次数,所述C2为包含该n-gram的所有预设类型的种子query的总检索次数。
14.根据权利要求9至13任一权项所述的装置,其特征在于,所述第一评分子单元按照score=λ1*sim+λ2*prob确定n-gram在该预设类型的评分score,其中λ1和λ2为预设的权重系数。
15.根据权利要求9所述的装置,其特征在于,所述可能性计算子单元将所述第二评分子单元确定的所有n-gram分别在每一个预设类型的评分之和作为所述待识别query分别在每一个预设类型上有需求的可能性;或者,
将所述第二评分子单元确定的所有n-gram分别在每一个预设类型的评分之和的平均值分别作为所述待识别query在每一个预设类型上有需求的可能性。
16.根据权利要求9所述的装置,其特征在于,所述需求识别子单元将可能性满足预设可能性阈值的预设类型识别为所述待识别query的需求类型;或者,
将可能性排在前N5个的预设类型识别为所述待识别query的需求类型,所述N5为预设的正整数;或者,
根据预设的可能性与需求级别的对应关系,确定所述待识别query在每一个预设类型上的需求级别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110273329.1A CN102999521B (zh) | 2011-09-15 | 2011-09-15 | 一种识别搜索需求的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110273329.1A CN102999521B (zh) | 2011-09-15 | 2011-09-15 | 一种识别搜索需求的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102999521A CN102999521A (zh) | 2013-03-27 |
CN102999521B true CN102999521B (zh) | 2016-06-15 |
Family
ID=47928095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110273329.1A Active CN102999521B (zh) | 2011-09-15 | 2011-09-15 | 一种识别搜索需求的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102999521B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559253A (zh) * | 2013-10-31 | 2014-02-05 | 北京奇虎科技有限公司 | 相关垂直资源搜索方法及设备 |
CN104794251B (zh) * | 2015-05-19 | 2018-04-27 | 苏州工讯科技有限公司 | 基于搜索结果效用分析的工业产品垂直搜索引擎排列方法 |
CN106446213B (zh) * | 2016-09-30 | 2020-04-14 | 北京百度网讯科技有限公司 | 基于人工智能的服务排序方法和装置 |
CN108733695B (zh) * | 2017-04-18 | 2020-04-03 | 腾讯科技(深圳)有限公司 | 用户搜索串的意图识别方法及装置 |
CN108415903B (zh) * | 2018-03-12 | 2021-09-07 | 武汉斗鱼网络科技有限公司 | 判断搜索意图识别有效性的评价方法、存储介质和设备 |
US10831797B2 (en) * | 2018-03-23 | 2020-11-10 | International Business Machines Corporation | Query recognition resiliency determination in virtual agent systems |
CN110472162B (zh) * | 2019-08-20 | 2024-03-08 | 深圳前海微众银行股份有限公司 | 评估方法、系统、终端及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770498A (zh) * | 2009-01-05 | 2010-07-07 | 李铭 | 分步搜索法 |
CN101820592A (zh) * | 2009-02-27 | 2010-09-01 | 华为技术有限公司 | 移动搜索方法及装置 |
CN102033877A (zh) * | 2009-09-27 | 2011-04-27 | 阿里巴巴集团控股有限公司 | 检索方法和装置 |
US8019748B1 (en) * | 2007-11-14 | 2011-09-13 | Google Inc. | Web search refinement |
-
2011
- 2011-09-15 CN CN201110273329.1A patent/CN102999521B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8019748B1 (en) * | 2007-11-14 | 2011-09-13 | Google Inc. | Web search refinement |
CN101770498A (zh) * | 2009-01-05 | 2010-07-07 | 李铭 | 分步搜索法 |
CN101820592A (zh) * | 2009-02-27 | 2010-09-01 | 华为技术有限公司 | 移动搜索方法及装置 |
CN102033877A (zh) * | 2009-09-27 | 2011-04-27 | 阿里巴巴集团控股有限公司 | 检索方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102999521A (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102999521B (zh) | 一种识别搜索需求的方法和装置 | |
US9846748B2 (en) | Searching for information based on generic attributes of the query | |
US10997370B2 (en) | Hybrid classifier for assigning natural language processing (NLP) inputs to domains in real-time | |
KR101721338B1 (ko) | 검색 엔진 및 그의 구현 방법 | |
CN102929873B (zh) | 一种基于情境搜索提取搜索价值词的方法及装置 | |
US10282419B2 (en) | Multi-domain natural language processing architecture | |
CN103246681B (zh) | 一种搜索方法及装置 | |
CN106663100B (zh) | 多域查询补全 | |
US9552422B2 (en) | System and method for detecting a search intent | |
CN110704743A (zh) | 一种基于知识图谱的语义搜索方法及装置 | |
CN103186556B (zh) | 得到和搜索结构化语义知识的方法及对应装置 | |
US10540365B2 (en) | Federated search | |
WO2010022655A1 (zh) | 一种搜索方法和系统 | |
US10019513B1 (en) | Weighted answer terms for scoring answer passages | |
CN102722558A (zh) | 一种为用户推荐提问的方法和装置 | |
CN102163234A (zh) | 一种基于纠错相关度对查询序列进行纠错的设备和方法 | |
US11030251B2 (en) | Method and system for providing query suggestions based on personalized spelling correction | |
CN112612875B (zh) | 一种查询词自动扩展方法、装置、设备及存储介质 | |
US11789946B2 (en) | Answer facts from structured content | |
CN105243053B (zh) | 提取文档关键句的方法及装置 | |
KR101890207B1 (ko) | 개체명 연결 방법, 장치 및 컴퓨터 프로그램 | |
CN101072194B (zh) | 一种利用即时通信系统进行信息搜索的方法及系统 | |
CN102999520B (zh) | 一种搜索需求识别的方法和装置 | |
Wang et al. | CMU OAQA at TREC 2015 LiveQA: Discovering the right answer with clues | |
TWI483129B (zh) | Retrieval method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |