CN110377684A - 一种基于用户反馈的空间关键字个性化语义查询方法 - Google Patents
一种基于用户反馈的空间关键字个性化语义查询方法 Download PDFInfo
- Publication number
- CN110377684A CN110377684A CN201910657222.3A CN201910657222A CN110377684A CN 110377684 A CN110377684 A CN 110377684A CN 201910657222 A CN201910657222 A CN 201910657222A CN 110377684 A CN110377684 A CN 110377684A
- Authority
- CN
- China
- Prior art keywords
- query
- topic
- user
- word
- document
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000008569 process Effects 0.000 claims description 16
- 238000005070 sampling Methods 0.000 claims description 12
- 239000013598 vector Substances 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000009966 trimming Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000012360 testing method Methods 0.000 description 18
- 244000124853 Perilla frutescens Species 0.000 description 9
- 235000004348 Perilla frutescens Nutrition 0.000 description 9
- 244000269722 Thea sinensis Species 0.000 description 9
- 235000013550 pizza Nutrition 0.000 description 8
- 238000002474 experimental method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000012552 review Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 101100261000 Caenorhabditis elegans top-3 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013401 experimental design Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 235000013616 tea Nutrition 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于用户反馈的空间关键字个性化语义查询方法,步骤为:空间对象文本信息的语义扩展;根据用户反馈信息对查询关键字进行权重调整。本发明采用Gibbs算法估计空间对象文本信息的主题概率分布,进而利用LDA模型对空间数据集进行语义扩展,利用IR‑tree混合索引结构从扩展后的空间数据库中获得候选查询结果;用户根据个人偏好在候选集中明确标注出相关的查询结果,根据用户的反馈信息,采用Rocchio算法对用户初始查询条件进行更新,使得新的查询条件更贴近用户实际需求和偏好;利用更新后的查询条件再进行检索,得到新的候选集,重复执行反馈过程,直到查询结果令用户满意为止,本发明在一定程度上提高了空间关键字查询结果的个性化程度和准确率。
Description
技术领域
本发明属于空间关键字查询和自然语义处理的技术领域,尤其涉及一种基于用户反馈的空间关键字个性化语义查询方法。
背景技术
随着GPS等定位服务技术的出现,获得地理空间维度信息变得容易,Web上因此也出现了越来越多具位置信息的空间对象,如酒店、咖啡厅和旅游景点等,这些空间对象通常被称为兴趣点(Point of Interest,POI)。一个空间对象o主要包含空间信息(用o.loc表示)和文本信息(用o.doc表示)两部分,空间信息通常由经纬度表示,文本信息是对空间对象的文本描述。一个空间关键字查询q的形式为:q(loc,keywords,k,α),其中q.loc代表查询位置,q.keywords是查询关键字集合,k是指定返回的结果个数,α∈[0,1]是一个权重系数。目前,普遍采用的空间对象o与查询q的相关度计算方法为:
Score(o,q)=α·SLoc(o.loc,q.loc)+(1-α)·SDoc(o.doc,q.keywords) (1)
其中,SLoc和SDoc别代表o与q之间归一化的位置接近度和文本相似度。然而,该类方法存在两个方面的不足:(1)仅从文本形式上匹配查询关键字,而普通用户的查询意图通常是不明确的,因此需要语义层面的查询匹配;(2)查询关键字的权重仅根据关键字在空间对象文本信息中的出现频率评估,没有考虑用户对不同查询关键字的偏好程度,这很可能导致返回结果与用户期望之间的偏差较大,因此,需要依据用户的相关反馈来挖掘用户隐式偏好并以此来调整查询关键字的权重,进而获取不同的排序结果。
发明内容
基于以上现有技术的不足,本发明所解决的技术问题在于提供一种基于用户反馈的空间关键字个性化语义查询方法,能够对空间对象的文本信息进行语义扩展,从而支持空间关键字的语义近似查询,对于候选查询结果,通过用户相关反馈,采用改进的Rocchio算法对查询关键字的权重进行更新,使得查询结果具有个性化。
为了解决上述技术问题,本发明通过以下技术方案来实现:
本发明提供一种基于用户反馈的空间关键字个性化语义查询方法,包括以下步骤:
步骤1:对空间数据库中空间对象的文本信息进行语义扩展;
步骤2:对于给定的空间关键字查询,利用IR-tree获取候选语义相关查询结果集;
步骤3:通过用户相关反馈,修整初始查询条件,返回更满足用户需求和偏好的查询结果。
优选的,步骤1的具体步骤如下:
步骤1.1:先将数据库中的所有空间对象文本信息集成到一个文档D中,假设该文档包含了k个主题;
步骤1.2:利用LDA模型生成该文档D的主题分布,再针对某个主题生成相应的词分布,在某个主题的词分布中随机选择一个词,重复该过程,直到某个主题下拥有若干个词;
步骤1.3:将空间对象o的文本信息o.doc中的关键字与生成的主题-词分布中的词进行比较,若相同,则将该词对应的主题下的相关词加入到o.doc中,生成新的文本信息,使得新的文本信息扩展了原有文本信息的语义。
步骤3的具体步骤如下:
步骤3.1:根据用户相关反馈结果,利用Rocchio算法评估查询关键字权重,修整初始查询条件,获取更为贴近用户偏好的个性化查询结果;
步骤3.2:终止用户相关反馈。
进一步的,步骤1.2中LDA模型需要学习两个未知变量θ和其中θ表示文档D下的主题分布,为文档D中第k个主题的词分布;采用Gibbs Sampling算法来学习以上参数;Gibbs Sampling的运行方式为每次选取概率向量的一个维度,给定其他维度的变量值随机选取当前维度的值。不断迭代,直到收敛输出待估计的参数。
首先将文档D中的每个词初始化,随机分配主题,然后统计每个主题z下出现词w的数量和该文档下出现主题z中的关键字的数量,即n(w|z)和n(z|D),每一轮计算p(zi|z-i,d,w),其为排除当前词w的主题分配,即根据其他词的主题分配来估计当前词w的主题属于各个主题的概率;
根据当前词属于所有主题z的概率分布为该词随机选取一个新的主题,循环执行更新下一个词的主题,当θ和收敛时,算法停止,输出估计的参数θ和
其中p(zi|z-i,w)是Gibbs updating规则,计算公式如下:
其中,p(w,z)为联合概率分布,表示每个词对应的主题是什么,其通过含有隐变量的Gibbs采样公式采样;对某个词wi进行主题分配时,即求p(wi,z)为联合概率分布时,可以通过排除当前词wi的主题分配,根据其他词的主题分配和观察到的单词(z-i,w-i)来计算当前词的主题的概率公式,这也就是含有隐含变量的Gibbs Sampling;p(w|z)表示所有不同单词在所有不同主题下的概率和伪概率的乘积;p(w-i|z-i)表示的是除了单词wi外的所有其它不同单词在所有不同主题下的乘积;p(z)表示所有不同主题在文档D中概率和伪概率的乘积;p(z-i)表示除了词wi对应的主题外,其它所有不同主题在文档D中的乘积;V为文档D中词的数量,代表当前词wi除外,词t分配给第k个主题的次数;表示第k个主题分配给文档D中除当前词外的其他词的次数;βt为主题下的词t的多项分布的Dirichlet先验参数,αk是文档D中主题K的多项分布的Dirichlet先验参数;
当Gibbs sampling收敛后,根据文档D中所有单词的主题分配来计算θ和作为估计出的概率图模型中的隐含变量,文档D上主题的后验分布和每个主题下的词后验分布计算方法如下:
p(θ|z,α)=Dir(θ|nD+α) (3)
其中,nD是构成文档D的主题数,nk是构成主题K的词个数,α是文档D中主题的多项分布的Dirichlet先验参数;β为主题下的词的多项分布的Dirichlet先验参数;α和β是根据经验给定的先验概率,本发明取α=0.5,β=0.1;
然后,使用Dirichlet分布的期望计算公式就可得到两个多项分布的参数θ和的计算公式:
其中,为第k个主题下词t的分布,θk表示该文档下的主题K分布,是词t在主题K中出现的次数,V是文档D中词的个数,βt为主题下的词t的多项分布的Dirichlet先验参数,是主题K在文档D中出现的次数,αk是文档D中主题K的多项分布的Dirichlet先验参数。
可选的,步骤2中利用IR-tree获得候选查询结果,其过程如下:
(1)初始化优先队列U和一个列表V,U存储IR-tree中已访问的条目,列表V用来存储候选集,e为带有关键字集合的倒排列表和矩阵的条目;
(2)给定一个查询q,以迭代方式从U中删除顶部条目给e,若e为空间对象,则添加到V中,若e为非叶子节点,则判断查询q与节点矩形之间的最小距离是否小于e与查询q间的距离,若有小于,则判断查询q中的关键字集合和节点e的子条目中的关键字集合是否有交集,有交集则e的子条目添加到U中;否则,若e为叶子节点,那么获得查询q和空间对象之间距离,若该距离比e与查询点间的距离小,则判断查询q中的关键字集合和节点e包含的对象中的关键字集合是否有交集,若有交集则将e包含的对象添加到U中,如果U为空,则中止上面的进程;
(3)根据score函数将检索到的结果集V进行top-k排序,获得得分最高的前k个对象作为用户反馈的候选集。
可选的,所述步骤3.1利用Rocchio算法评估查询关键字的权重,其具体方法如下:
基于Rocchio算法的向量模型中相关反馈理论认为用户判断为相关对象文本信息的向量之间具有相关性,认为不相关对象的向量与相关对象的向量之间不相似。其基本思想就是重新构造查询使得反馈后得到的结果更加靠近用户选取的相关对象的向量空间。在进行基于用户相关反馈的查询扩展时,查询关键字的权重反映了用户对该关键字的重视程度,查询关键字的权重必须重新计算;假设对于一个关键字查询,基于Rocchio算法进行重新计算,得到查询q的向量表示:Vq={q’1,q’2,...,q’n},其中,qi是查询q的第i个关键词的初始权重,如果查询关键词ti是一个用于扩展的关键词,那么就不存在qi,则qi=0;否则,q’i为重新计算权重之后关键词ti的新权重;|rel|表示用户判断为与用户需求相关的对象的数量,|norrel|为不相关对象的数量,wti表示相关和不相关对象中关键词的权重;α、β、γ为调整公式的常量参数,在此基础上,Rocchio公式定义为:
其中,β部分为正反馈,γ部分为负反馈,α、β、γ的取值比率决定了在调整查询中关键字的权重时,原查询、相关和不相关对象中文本信息之间的相对重要性。查询扩展时关键字全部是从所有判断为相关对象中提取出来的,但是,一些查询扩展关键字也可能出现在不相关对象中。而γ部分没有为查询加入任何关键字,它的作用仅仅是减少某些扩展查询关键字的权重,因为这些关键字出现在不相关对象中。本发明中,取α=1,β=0.75,γ=0.25时,Rocchio算法实现的效果最好,wti权重使用传统的tf-idf方法计算。
进一步地,所述步骤3.2中的用户反馈终止条件。经过多轮用户反馈,使得查询结果越来越接近用户查询意图。用户相关反馈的终止方法有两种:一是用户自己判断是否终止;二是系统自动计算终止阈值。
本发明给出一种系统自动判断用户反馈终止的方法,令fm和fm-1分别表示第m轮和m-1轮用户反馈得到的结果,判断两个结果集合之间的重叠元组比例,该比例如果不低于给定阈值,说明用户最近两次的反馈得到的结果相差不大,则终止用户反馈,计算方法如式(8):
具体来说,在每轮用户反馈得到结果结束之后,使用式(8)来检查其值(terminate)是否高于某个终止阈值τ∈(0,1),阈值τ的取值越小用户反馈越容易终止。
由上,本发明的基于用户反馈的空间关键字个性化语义查询方法通过利用LDA模型和Rocchio算法实现空间关键字个性化语义查询,并通过IR-tree混合索引提高查询效率。实验结果表明,本发明提出的基于用户相关反馈的空间关键字语义查询方法可以有效捕获用户隐式偏好并体现语义相关性,在一定程度上提高了空间关键字查询结果的个性化程度和准确率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下结合优选实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍。
图1为本发明实施例中LDA概率模型图;
图2为本发明实施例中基于Gibbs Sampling算法的LDA学习过程图;
图3为本发明实施例中空间关键字查询实例图;
图4为本发明实施例中空间对象的最小外接矩形划分图;
图5为本发明实施例中生成的IR-tree索引结构图;
图6为本发明实施例中不同查询条件下文本相似度方法和用户反馈方法获得结果集的准确性对比图;
图7为本发明实施例中不同用户使用文本相似度方法和使用用户反馈获得结果集的准确性对比图;
图8为本发明实施例中终止阈值τ和查询结果数k对用户反馈轮次的影响趋势图;
图9为本发明实施例中在不同规模原始数据集和通过LDA进行语义扩展后的数据集下测试IR-tree建树时间对比图。
具体实施方式
下面结合附图详细说明本发明的具体实施方式,其作为本说明书的一部分,通过实施例来说明本发明的原理,本发明的其他方面、特征及其优点通过该详细说明将会变得一目了然。在所参照的附图中,不同的图中相同或相似的部件使用相同的附图标号来表示。
本发明的基于用户反馈的空间关键字个性化语义查询方法主要应用于当前热门的基于位置的服务(LBS)系统和空间兴趣点推荐领域,其整体处理流程如下:
(1)在离线处理阶段:采用Gibbs方法和LDA主题模型对空间对象的文本信息进行语义扩展,使得数据库中的每个空间对象都在原来文本信息基础上增加了语义相关的文本描述。
(2)在线查询处理阶段:对于一个给定的空间关键字查询,先采用IR-tree索引到语义扩展后的空间数据库中获取包含k个对象的候选查询结果集,并要求用户从中明确标注出自己感兴趣的空间对象(即相关反馈);然后,根据用户的反馈信息,采用改进的Rocchio算法对查询关键字的权重进行更新,形成新的查询条件;接下来,利用更新后的查询条件对数据库进行检索,重复执行上述过程,直到结果令用户满意为止。
图1给出了一个空间关键字查询q和6个空间对象o1~o6,空间关键字查询条件q为:
q:(location,{beefsteak,music})
该查询表达的含义是:用户想要在其位置附近寻找提供beefsteak和music服务的餐厅。空间对象o1~o6是附近的餐厅和茶馆,其中在括号中显示了空间对象所包含的关键字,其中数字表示与查询条件q的归一化距离,每个对象包含了查询q与其之间的规范化欧式距离以及该对象包含的文本信息。如果按照式(1)的相关度计算方法,o5、o3和o2将是查询结果(假设式(1)中的α=0.5,k=3)。然而,实际上并不一定所有的用户都对上述查询结果满意,或许某些用户为了方便不愿到距离较远地方且用户不喜欢pizza而选择o4,即o4也可能是某个或某些用户的top-3选择之中。
本发明提出的基于用户反馈的空间关键字个性化语义查询方法,结合上例描述具体执行过程如下:
步骤1:对空间数据库中空间对象的文本信息进行语义扩展。
步骤1.1:将图3中的6个空间对象的文本信息集成到一个文档D中,得到文档内容为
o1:(pizza,tea)
o2:(music,pizza)
o3:(beefsteak,tea)
o4:(tea,music)
o5:(beefsteak,music)
o6:(beefsteak,pizza)
假设该文档包含了2个主题。
步骤1.2:利用LDA模型(LDA模型如图2所示)生成该文档D的主题分布,再针对某个主题生成相应的词分布,在某个主题的词分布中随机选择一个词,重复该过程,直到某个主题下拥有若干个词。该步骤中LDA模型需要学习两个未知变量,θ和其中θ表示文档D下的主题分布,为第k个主题的词分布。本发明采用Gibbs Sampling算法来学习以上参数。图3给出了基于Gibbs Sampling的LDA学习过程。
例如,对于文档D,利用LDA模型得到主题-词分布,如下:
Topic0:beefsteak 0.25pizza 0.745454
Topic1:tea 0.598125music 0.396975
步骤1.3:将空间对象o的文本信息o.doc中的关键字与生成的主题-词分布中的词进行比较,若相同,则将该词对应的主题下的相关词加入到o.doc中,生成新的文本信息,从而使得新的文本信息扩展了原有文本信息的语义。
例如,根据步骤1.2中得到的主题-词分布,空间对象o1~o6中关键字与主题-词分布中的词进行匹配,匹配相同且参数值大于0.5的加入o1~o6,扩展成新的空间对象集合为:
o1:(0.25,pizza,tea)
o2:(0.15,music,pizza,tea)
o3:(0.1,beefsteak,tea,pizza)
o4:(0.3,tea,music)
o5:(0.2,beefsteak,music,pizza,tea)
o6:(0.3,beefsteak,pizza)
步骤2:对于给定的空间关键字查询,利用IR-tree获取候选语义相关查询结果集。图4和图5分别给出了根据图3中空间对象构建的IR-tree索引结构。算法1给出了利用IR-tree生成候选查询结果的伪代码。
步骤3:通过用户相关反馈,修整初始查询条件,返回更满足用户需求和偏好的查询结果。
步骤3.1:根据用户相关反馈结果,利用Rocchio算法评估查询关键字权重,修整初始查询条件,获取更为贴近用户偏好的个性化查询结果。例如,结合图3中的空间关键字查询例子,对于空间关键字查询q,假设认为o3、o4、o5是相关的,o1、o2、o6是不相关的。利用Rocchio公式计算扩展后的查询q’为:
表1给出了查询关键字以及和空间对象文本信息中的关键字,经过Rocchio公式计算之后得到的权重。
表1查询关键字以及空间对象文本信息中的关键字权重
为了判断哪些对象满足用户查询条件,需要使用相似度测量方法。在向量空间检索模型中,空间对象的文本信息与查询条件的文本信息的相关程度通过计算该向量对之间的相似度来测定。根据表1和向量空间模型的文本相似度计算方法,得到表2(给出了初始查询条件q.t和修改后查询条件q’.t与空间对象文本信息之间的文本相似度):
表2.初始/修改后查询条件与空间对象文本信息之间的文本相似度
由表2可以看出,尽管对象o1与初始查询无关,但反馈后的新查询条件与对象o1具有语义相关性,原因是与查询相关的对象o3、o4和o5包含对象o1文本信息中的关键字。
基于Rocchio算法的空间关键字查询的具体过程如算法2所示。
步骤3.2:终止用户相关反馈。
用户相关反馈的终止方法有两种:一是用户自己决定是否终止反馈;二是系统自动计算终止阈值。本发明给出的系统自动判断反馈终止的方法如下:
令fm和fm-1分别表示第m轮和m-1轮用户反馈得到的结果,判断两个结果集合之间的重叠元组比例,该比例如果不低于给定阈值,说明用户最近两次的反馈得到的结果相差不大,则终止用户反馈。计算方法如下式:
具体来说,在每轮用户反馈得到结果结束之后,使用上式来检查其值(terminate)是否高于某个终止阈值τ∈(0,1),阈值τ的取值越小用户反馈越容易终止。
为了更好说明本发明方法,我们在更大规模数据集上对所提方法进行了全面测试。
数据集:本发明使用从Yelp商户点评网站上抓取的真实的POI(Point ofInterest,兴趣点)数据集来进行实验研究。Yelp是美国著名商户点评网站,类似于中国的大众点评网站,点评项目及公司种类繁多,其网站包含了各地餐馆、购物中心、酒店等各个领域的商户信息以及用户评价和购物体验等。在Yelp网站中搜索一个餐馆,可以看到它的位置坐标、简要介绍以及网友的点论。将这些真实POI数据进行处理得到181964个兴趣点,使得每个POI兴趣点都关联一个ID、位置(以经纬度的形式表示)、文本描述(如名称、设施等)和用户评论。使用位置作为空间信息,文本描述和用户评论作为文本信息。
查询集:在数据集中随机选择10个对象作为查询条件,将这10个空间对象提取它们的位置信息作为查询条件的位置信息(以经纬度的形式表示),同时从数据集中的文本信息中随机选择一定量的单词,随机组合作为查询关键字,查询关键字数量控制在2~8个。本实验设计查询关键字数量分别是2、4、6和8。在进行空间关键字查询过程中,将这些选取的空间对象从数据集中排除。
实验测试机器配置为Windows 7操作系统,处理器为Intel(R)Core(TM)i5-3230MCPU@2.60GHz和4.00GB内存空间的笔记本电脑,算法开发采用Java语言。
(1)用户满意度调查实验
该实验目的是测试现有的计算位置相近度和文本相似度方法(即式(1),设置参数α=0.5)与本发明方法(用户反馈)在用户满意度方面的差别,用准确性来度量:
其中,{relevant}表示用户标注的与给定查询相关的前10个对象,{top-10retrieved}表示不同空间关键字查询方法得到的前10个相关对象。
参加测试的用户数量多少会对查询结果产生影响,用户测试数量在5~8个左右,就几乎能得到所有结果,更多的测试用户和使用5个用户的结果是相同的。本实验邀请5名用户,对于每一个测试查询q,每位用户使用本发明方法从原始数据集中获得前5个相关对象,然后再用文本相似度(即式(1))方法获得前5个对象,这样可以得到30个空间对象(如果有重复对象,则去重并从原始数据集中随机选取对象加入,使其生成为30个空间对象的集合)。在此基础上,另外邀请1名用户,令其在每个查询对应的30个对象构成的测试集中,分别选取他认为与给定查询最相关的前10个对象,这10个对象作为评价查准率的标准。然后分别利用文本相似度方法和本发明方法获得前10个对象,进而利用式(9)计算查询结果的准确性(即标准的10个对象与不同方法检索到的10个对象的重叠度)。图6给出了同一个用户在不同查询条件下获得的查询结果的准确性。
进一步地,邀请10名用户(分别是导师、研究生同学和部分本科生),在测试集中选取与某个查询最相关的前10个对象。然后利用文本相似度方法和本发明的用户反馈方法分别获得与该查询相关的前10个对象,查看用户的满意程度。图7给出了不同用户在相同查询条件下获得的满意度对比。根据图6和图7发现,在不同查询条件下同一个用户使用文本相似度方法获得结果的准确性为0.38,使用本发明的用户反馈方法的准确性为0.73;不同用户使用文本相似度方法获得结果集的准确性为0.41,使用用户反馈方法的准确性为0.79。由此可见,本发明方法获得的查询结果的用户满意度较高,这是因为经过空间对象文本信息的语义扩展和用户相关反馈,本发明方法能够获得更能满足用户语义需求和偏好的结果。
(2)反馈终止实验
该实验目的是评价终止阈值τ对基于Rocchio算法的用户反馈的收敛速度的影响。收敛速度是在终止条件满足前需要进行的反馈轮数,我们将最多的轮数限制为10。取候选结果集的数量k={10,20},查询关键字数量n=8,终止阈值τ的取值分别为{0.2,0.4,0.6,0.8}。图8给出了终止阈值τ和结果数量k的变化对反馈轮数的影响。
从图8可以看出,随着终止阈值τ和查询结果数k的增大,其当前反馈轮次得到的结果集和上一轮结果集所得的交集越大,但收敛速度变慢,用户反馈轮次增加;当τ值设置过高时,用户反馈过程甚至不能终止。实验还表明,当阈值τ=0.5时,一般情况下用户反馈4轮就能得到满意结果。
(3)候选查询结果集生成阶段的实验
首先测试利用IR-tree混合索引选取候选集的性能。从Yelp商户点评网站上抓取数据集中抽取部分POI兴趣点,生成5个数据集,数据集大小分别为5000个POI兴趣点、10000个POI兴趣点、50000个POI兴趣点、100000个POI兴趣点和总数据集(181964个POI)。实验分布测试在不同数据集大小和在不同查询关键字数量下建树时间和查询结果的检索时间。
a.数据集大小的影响。为了评估利用IR-tree混合索引获得候选结果集的性能,给定查询条件q:({0,51};{west,medical,hospital,royal,valley,victoria}),在不同规模数据集和利用LDA进行语义扩展后的数据集下测试IR-tree的建树时间(如图9所示)。表3还给出了在不同规模原始数据集和通过LDA进行语义扩展后的数据集下测试算法1的CPU时间。
表3.在不同规模原始数据集和通过LDA进行语义扩展后的数据集下测试算法CPU时间
如图9所示,利用IR-tree混合索引选取候选结果集时在在不同规模原始数据集和通过LDA进行语义扩展后的数据集下的IR-tree建树时间都随着数据集的基数的增加而增加,且在通过LDA进行语义扩展后的数据集下建树时间比在原始数据集下建树时间长,这是因为LDA扩展后数据集中关键字个数增多,导致IR-tree在建树过程中倒排列表的建立所需时间增加。虽然LDA扩展后数据集下IR-tree建树时间较长,但使得新的数据集体现了原有信息的语义。本实验使用System.currentTimeMillis()语句获取执行时间,其获取的时间精度会依赖于操作系统的实现机制,因此每次测试算法的建树时间都有所不同。另外,从表3中可以看出,算法1的CPU时间主要在于IR-tree混合索引的建立,IR-tree建树时间随着数据集规模大小的增加而增加,空间文本对象数量越多,建立IR-tree所用的时间越长。但是总体而言,基于IR-tree混合索引选取候选结果集的CPU时间成本不高。如表3所示,当数据集包含的POI个数为181964时,它的建树时间为2799ms;通过LDA进行语义扩展后的数据集下建树时间为4501ms。但需要指出的是,算法1(基于IR-tree混合索引选取候选集)在进行查询得到结果过程所消耗的时间非常短,当数据集为181964时,它的查询时间为34ms,可以快速的进行检索得到结果集。综上可见,利用IR-tree混合索引能够适用于大规模数据情况下检索生成候选结果集。
b.查询关键字个数对性能的影响。在查询关键字的数量从2到8变化时分别在原始数据集和通过LDA进行语义扩展后数据集下测试利用IR-tree获得结果的CPU时间。其中空间关键字查询条件分别为:({0,51};{hotel,royal});({0,51};{hotel,royal,west,medical});({0,51};{hotel,royal,west,medical,hall,valley});({0,51};{hotel,royal,west,medical,hall,valley,centre,ellesmere})。实验测试结果如表4所示。
表4.在查询关键字数量从2到8时测试基于IR-tree索引的查询算法CPU时间
从表4可以看出,在原始数据集和扩展数据集下查询过程所用的时间很少,其并没有因为关键字数量的增加而大幅度的增加。虽然在查询关键字的数量从2到8时,扩展数据集下比原始数据集下进行查询所需CPU时间稍长,但在扩展数据集下进行查询得到的结果具有语义相关性。
表5给出了在查询关键字的数量从2到8变化时,分别测试在原始数据集上建立的IR-tree(简称IR-tree)和在扩展数据集上建立的新IR-tree(简称新IR-tree)混合索引,基于二者进行检索获得的结果集包含的对象数量对比。
表5.在关键字数量从2到8时测试IR-tree和新IR-tree检索结果数量对比
从表5中可以看出,新IR-tree检索结果的数量比原IR-tree检索结果的数量多,其原因是原始数据集中空间对象的文本信息通过LDA进行语义扩展,使得新数据集中对象的关键字数量增加,因此在进行检索后获得结果的数量增加。
本发明的方法在离线处理阶段,采用Gibbs算法估计空间对象文本信息的主题概率分布,进而利用LDA模型对空间数据集进行语义扩展。在线查询处理阶段,对于用户的初始查询条件,首先利用IR-tree混合索引结构从扩展后的空间数据库中获得候选查询结果;然后,用户根据个人偏好在候选集中明确标注出相关的查询结果(即相关反馈),根据用户的反馈信息,采用Rocchio算法对用户初始查询条件进行更新,使得新的查询条件更贴近用户实际需求和偏好;利用更新后的查询条件再进行检索,从而得到新的候选集,重复执行反馈过程,直到查询结果令用户满意为止。
以上所述是本发明的优选实施方式而已,当然不能以此来限定本发明之权利范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变动,这些改进和变动也视为本发明的保护范围。
Claims (6)
1.一种基于用户反馈的空间关键字个性化语义查询方法,其特征在于,包括以下步骤:
步骤1:对空间数据库中空间对象的文本信息进行语义扩展;
步骤2:对于给定的空间关键字查询,利用IR-tree获取候选语义相关查询结果集;
步骤3:通过用户相关反馈,修整初始查询条件,返回更满足用户需求和偏好的查询结果。
2.如权利要求1所述的基于用户反馈的空间关键字个性化语义查询方法,其特征在于,步骤1的具体步骤如下:
步骤1.1:先将数据库中的所有空间对象文本信息集成到一个文档D中,假设该文档包含了K个主题;
步骤1.2:利用LDA模型生成该文档D的主题分布,再针对某个主题生成相应的词分布,在某个主题的词分布中随机选择一个词,重复该过程,直到某个主题下拥有若干个词;
步骤1.3:将空间对象o的文本信息o.doc中的关键字与生成的主题-词分布中的词进行比较,若相同,则将该词对应的主题下的相关词加入到o.doc中,生成新的文本信息,使得新的文本信息扩展了原有文本信息的语义。
3.如权利要求1所述的基于用户反馈的空间关键字个性化语义查询方法,其特征在于,步骤3的具体步骤如下:
步骤3.1:根据用户相关反馈结果,利用Rocchio算法评估查询关键字权重,修整初始查询条件,获取更为贴近用户偏好的个性化查询结果;
步骤3.2:终止用户相关反馈。
4.如权利要求2所述的基于用户反馈的空间关键字个性化语义查询方法,其特征在于,步骤1.2中LDA模型需要学习两个未知变量θ和其中θ表示文档D下的主题分布,为文档D中第k个主题的词分布;采用Gibbs Sampling算法来学习以上参数;
首先将文档D中的每个词初始化,随机分配主题,然后统计每个主题z下出现词w的数量和该文档下出现主题z中的关键字的数量,即n(w|z)和n(z|D);每一轮计算p(zi|z-i,w),其为排除当前词w的主题分配,即根据其他词的主题分配来估计当前词w的主题属于各个主题的概率;
根据当前词属于所有主题z的概率分布为该词随机选取一个新的主题,循环执行更新下一个词的主题,当θ和收敛时,算法停止,输出估计的参数θ和
其中p(zi|z-i,w)是Gibbs updating规则,计算公式如下:
其中,p(w,z)为联合概率分布,表示每个词对应的主题是什么,其通过含有隐变量的Gibbs采样公式采样;对某个词wi进行主题分配时,即求p(wi,z)为联合概率分布时,可以通过排除当前词wi的主题分配,根据其他词的主题分配和观察到的单词(z-i,w-i)来计算当前词的主题的概率公式,这也就是含有隐含变量的Gibbs Sampling;p(w|z)表示所有不同单词在所有不同主题下的概率和伪概率的乘积;p(w-i|z-i)表示的是除了单词wi外的所有其它不同单词在所有不同主题下的乘积;p(z)表示所有不同主题在文档D中概率和伪概率的乘积;p(z-i)表示除了词wi对应的主题外,其它所有不同主题在文档D中的乘积;V为文档D中词的数量,代表当前词wi除外,词t分配给第k个主题的次数;表示第k个主题分配给文档D中除当前词外的其他词的次数;βt为主题下的词t的多项分布的Dirichlet先验参数,αk是文档D中主题K的多项分布的Dirichlet先验参数;
当Gibbs sampling收敛后,根据文档D中所有单词的主题分配来计算θ和作为估计出的概率图模型中的隐含变量,文档D上主题的后验分布和每个主题下的词后验分布计算方法如下:
p(θ|z,α)=Dir(θ|nD+α)
其中,nD是构成文档D的主题数,nk是构成主题K的词个数,α是文档D中主题的多项分布的Dirichlet先验参数;β为主题下的词的多项分布的Dirichlet先验参数;α和β是根据经验给定的先验概率,本发明取α=0.5,β=0.1;
然后,使用Dirichlet分布的期望计算公式就可得到两个多项分布的参数θ和的计算公式:
其中,为第k个主题下词t的分布,θk表示该文档下的主题K分布,是词t在主题K中出现的次数,V是文档D中词的个数,是主题K在文档D中出现的次数。
5.如权利要求1所述的基于用户反馈的空间关键字个性化语义查询方法,其特征在于,步骤2中利用IR-tree获得候选查询结果,其过程如下:
(1)初始化优先队列U和一个列表V,U存储IR-tree中已访问的条目,列表V用来存储候选集,e为带有关键字集合的倒排列表和矩阵的条目;
(2)给定一个查询q,以迭代方式从U中删除顶部条目给e,若e为空间对象,则添加到V中,若e为非叶子节点,则判断查询q与节点矩形之间的最小距离是否小于e与查询q间的距离,若有小于,则判断查询q中的关键字集合和节点e的子条目中的关键字集合是否有交集,有交集则e的子条目添加到U中;否则,若e为叶子节点,那么获得查询q和空间对象之间距离,若该距离比e与查询点间的距离小,则判断查询q中的关键字集合和节点e包含的对象中的关键字集合是否有交集,若有交集则将e包含的对象添加到U中,如果U为空,则中止上面的进程;
(3)根据score函数将检索到的结果集V进行top-k排序,获得得分最高的前k个对象作为用户反馈的候选集。
6.如权利要求3所述的基于用户反馈的空间关键字个性化语义查询方法,其特征在于,所述步骤3.1利用Rocchio算法评估查询关键字的权重,其具体方法如下:
在进行基于用户相关反馈的查询扩展时,查询关键字的权重反映了用户对该关键字的重视程度,查询关键字的权重必须重新计算;假设对于一个关键字查询,基于Rocchio算法进行重新计算,得到查询q的向量表示:Vq={q’1,q’2,...,q’n},其中,qi是查询q的第i个关键词的初始权重,如果查询关键词ti是一个用于扩展的关键词,那么就不存在qi,则qi=0;否则,q’i为重新计算权重之后关键词ti的新权重;|rel|表示用户判断为与用户需求相关的对象的数量,|norrel|为不相关对象的数量,wti表示相关和不相关对象中关键词的权重;α、β、γ为调整公式的常量参数,在此基础上,Rocchio公式定义为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910657222.3A CN110377684A (zh) | 2019-07-19 | 2019-07-19 | 一种基于用户反馈的空间关键字个性化语义查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910657222.3A CN110377684A (zh) | 2019-07-19 | 2019-07-19 | 一种基于用户反馈的空间关键字个性化语义查询方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110377684A true CN110377684A (zh) | 2019-10-25 |
Family
ID=68254424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910657222.3A Pending CN110377684A (zh) | 2019-07-19 | 2019-07-19 | 一种基于用户反馈的空间关键字个性化语义查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110377684A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111190947A (zh) * | 2019-12-26 | 2020-05-22 | 航天信息股份有限公司企业服务分公司 | 一种基于反馈的有序分级排序方法 |
CN112270199A (zh) * | 2020-11-03 | 2021-01-26 | 辽宁工程技术大学 | 基于CGAN方法的个性化语义空间关键字Top-K查询方法 |
CN112599120A (zh) * | 2020-12-11 | 2021-04-02 | 上海中通吉网络技术有限公司 | 基于自定义加权的wmd算法的语意确定方法及装置 |
CN117271577A (zh) * | 2023-11-21 | 2023-12-22 | 连邦网络科技服务南通有限公司 | 一种基于智能分析的关键字检索方法 |
CN117971913A (zh) * | 2024-03-19 | 2024-05-03 | 佛山三水北控水质处理有限公司 | 一种应用数据库信息收集反馈指令的系统 |
-
2019
- 2019-07-19 CN CN201910657222.3A patent/CN110377684A/zh active Pending
Non-Patent Citations (2)
Title |
---|
XIANGFU MENG等: "An Interactive Personalized Spatial Keyword Querying Approach", 《EMERGING TECHNOLOGIES AND APPLICATIONS IN DATA PROCESSING AND MANAGEMENT》 * |
孟祥福等: "用户相关反馈下的空间关键字语义查询方法", 《小型微型计算机系统》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111190947A (zh) * | 2019-12-26 | 2020-05-22 | 航天信息股份有限公司企业服务分公司 | 一种基于反馈的有序分级排序方法 |
CN111190947B (zh) * | 2019-12-26 | 2024-02-23 | 航天信息股份有限公司企业服务分公司 | 一种基于反馈的有序分级排序方法 |
CN112270199A (zh) * | 2020-11-03 | 2021-01-26 | 辽宁工程技术大学 | 基于CGAN方法的个性化语义空间关键字Top-K查询方法 |
CN112599120A (zh) * | 2020-12-11 | 2021-04-02 | 上海中通吉网络技术有限公司 | 基于自定义加权的wmd算法的语意确定方法及装置 |
CN117271577A (zh) * | 2023-11-21 | 2023-12-22 | 连邦网络科技服务南通有限公司 | 一种基于智能分析的关键字检索方法 |
CN117271577B (zh) * | 2023-11-21 | 2024-03-15 | 连邦网络科技服务南通有限公司 | 一种基于智能分析的关键字检索方法 |
CN117971913A (zh) * | 2024-03-19 | 2024-05-03 | 佛山三水北控水质处理有限公司 | 一种应用数据库信息收集反馈指令的系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3724785B1 (en) | Fast indexing with graphs and compact regression codes on online social networks | |
CN108509474B (zh) | 搜索信息的同义词扩展方法及装置 | |
CN106599278B (zh) | 应用搜索意图的识别方法及装置 | |
CN107402954B (zh) | 建立排序模型的方法、基于该模型的应用方法和装置 | |
CN110704743B (zh) | 一种基于知识图谱的语义搜索方法及装置 | |
CN110377684A (zh) | 一种基于用户反馈的空间关键字个性化语义查询方法 | |
CN110147421B (zh) | 一种目标实体链接方法、装置、设备及存储介质 | |
TWI512502B (zh) | 用於產生習慣語言模式之方法及系統及相關之電腦程式產品 | |
US9104979B2 (en) | Entity recognition using probabilities for out-of-collection data | |
CN110569328B (zh) | 实体链接方法、电子装置及计算机设备 | |
CN112328891B (zh) | 训练搜索模型的方法、搜索目标对象的方法及其装置 | |
US10437894B2 (en) | Method and system for app search engine leveraging user reviews | |
WO2018133648A1 (zh) | 搜索方法、装置及非临时性计算机可读存储介质 | |
WO2018176913A1 (zh) | 搜索方法、装置及非临时性计算机可读存储介质 | |
US8538916B1 (en) | Extracting instance attributes from text | |
CN111090771B (zh) | 歌曲搜索方法、装置及计算机存储介质 | |
CN110147494B (zh) | 信息搜索方法、装置,存储介质及电子设备 | |
Dalvi et al. | Deduplicating a places database | |
US10198497B2 (en) | Search term clustering | |
CN110362652B (zh) | 基于空间-语义-数值相关度的空间关键字Top-K查询方法 | |
CN116917887A (zh) | 使用基于注意力的排名系统的查询处理 | |
CN105740476A (zh) | 一种相关联问题推荐方法、装置及系统 | |
CN113312523B (zh) | 字典生成、搜索关键字推荐方法、装置和服务器 | |
CN107463590B (zh) | 自动的对话阶段发现 | |
CN112270199A (zh) | 基于CGAN方法的个性化语义空间关键字Top-K查询方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191025 |
|
RJ01 | Rejection of invention patent application after publication |