数据处理系统和方法

文档序号:6425216阅读:152来源:国知局
专利名称:数据处理系统和方法
技术领域
本发明涉及一种用于按照预定标准从数据库检索数据的系统和方法。
背景技术
基于范例的推理(CBR)系统通过重新使用以前已经被解决作为范例被存储在范例库中的问题的解决方案来解决了新的问题。任何CBR系统的成功依赖于其选择用于正确目标问题的正确范例的能力(参见例如Kolodner,J.Case-Based Reasoning.Morgan Kaufmann,1993;Smyth,B.and Keane,M.Adaptation-Guided RetrievalQuestioning the Similarity Assumption inReasoning.Artificial Intelligence,102249-293,1998;Aamodt,A.And Plaza,E.Case-Based ReasoningFoundational Issues,Methodological Variations,andSystem Approaches.AI Communications,7(1)39-52,1994)。
传统的智慧在于正确范例在最相似于目标问题的那些范例中,因此相当多的研究努力已经被投入用于评价范例相似性的技术和策略中(也参见Faltings,B.Probabilistic Indexing for Case-Based Prediction.InProceedings ofthe 2nd International Conference on Case-Based Reasoning,pages 611-622.Springer-Verlag,1997;Leake,D.B.Case-Based ReasoningExperiences,Lessons and Future Directions.AAAI/MIT Press,1996;Smyth,B.and McKenna,E.Incremental Footprint-Based Retrieval.InProceedings of the 21st SGESInternational Conference on Knowledge Based Systems and Applied ArtificialIntelligence,pages 89-101.Springer Verlag,2000)近来,已经清楚传统的相似性观念不总是理想的,激励许多研究者寻找替代的方式来在给定的问题解决环境中判断范例的效用(例如参见Bergmann,R.,Richter,M.,Schmitt,S.,Stahl,A.And Vollrath,I.Utility-Oriented MatchingA New Research Direction for Case-Based Reasoning.InProceedings of theGerman Workshop on Case-Based Reasoning,2001;Burke,R.ConceptualIndexing and Active Retrieval of Video for Interactive Leaming Environments.Knowledge-Based Systems,9(8)491-499,1996;Fox,S.And Leake,D.B.UsingIntrospective Reasoning to Refine Indexing.InProceedings of the 14thInternational Joint Conference on Artificial Intelligence,pages 391-397.MorganKaufmann,1995;Kolodner,J.Judging which is the“best”case for a case-basedreasoner.InProceedings of the Second Workshop on Case-Based Reasoning,pages 77-81.Morgan Kaufmann,1989;Leake D.B.Constructive SimilarityAssessmentUsing Stored Cases to Define New Situations.InProceedings of the14th Annual Conference of the Cognitive Science Society,pages 313-318.Lawrence Earlbaum Associates,1992)。例如,研究者已经查看了与相似性并列的适应性的重要性,争论在一个范例看起来与目标问题相似的时候,这不意味着它可以成功地被适配与这个目标。
因特网现在几乎与所谓的信息超载问题同义,因为用户发现越来越难于在正确的时间找到正确的信息。近来,已经开发了一种被称为推荐器系统的新型信息系统来更好地服务于单独用户的信息需求。推荐器系统组合来自信息检索、人工智能和用户简档(userr profiling)的技术,以便积极地预测单独用户的需求和提供更为个性化的信息服务。
诸如Entrée(Burke,R.A case-based approach to collaborative filtering.InProceedings of the 5th European Workshop on Case-Based Reasoning.Springer-Verlag,2000)的许多推荐器系统使用CBR策略,用于选择对于给定的查询的最相似范例。Entree运行在饭店领域,使得用户可以使用诸如烹调类型、价格等的特征来查询饭店范例库。通过设计,Entree返回单个的最佳范例,但是使得用户如果他们不满意所述范例则可以修整这个结果,以便产生对于新的搜索的改进的查询。
经常地,一个推荐器系统被设计来返回多个相似的范例,以便向用户提供推荐的选择。例如,诸如旅游或财产推荐器的广泛应用通常对于一个用户查询返回k个最佳范例(假日整体计划或房间列表)。目的是以单个搜索来满足用户需要,因此检索多个范例,并且最大化在结果列表中出现很多的相关范例的似然性,因此向相似性提供优先级。
但是,这个标准纯粹基于相似性的检索策略在一些应用领域中有缺陷。考虑一个旅游推荐器用户提交一个针对下列情况的查询两人夏天的2星期假日,花费少于750美元,在爱尔兰的3小时飞行时间内,并且现场具有良好的夜生活和娱乐设施。所返回的顶级推荐是西班牙的Costa Del Sol中一个具体的公寓楼中的一个公寓,在7月中的前两个星期。这可能是一个良好的推荐,但是如果第二、第三和第四个推荐来自同一公寓楼——即使可能是在夏天的不同的两星期时段则如何?在k个最佳推荐全部与目标查询很相似的同时,它们彼此也很相似。如果第一个推荐不适合,则用户未已经接收到一组有益的替代推荐。例如,在这个示例中,如果用户决定避开Costa DelSol,然后没有任何替代推荐满足需要,她必须启动新的搜索。
通过在检索期间将相似性优先化,一种标准的基于范例的手段将隐含地忽略了检索多样性的重要性,这可能降低检索结果的品质。经常地,一个推荐器仅仅返回最相似的范例不是足够好。它也应当返回多种集的范例,以便向用户提供接近他们的查询的信息空间的最佳覆盖范围。这个多样性问题是基于范例或基于内容的推荐技术的一个所认识的缺陷(Smyth,B.and Cotter,P.A Personalized TV Listings Service for the Digital TV Age.Journal ofKnowledge-Based Systems,13(2-3)53-59,2000)。实际上,一个普通的解决方案是考虑不容易受到多样性问题的影响的替代推荐技术,诸如自动的合作筛选。例如,PTV(个性化电视列表指南)用于电视列表领域,用于根据用户的已知的观看偏好来向用户提供电视节目。PTV将基于范例的推荐与合作筛选组合,以便有助于保证向每个用户提供多样的一组推荐,而不是仅向已称作科学幻想爱好者的用户推荐科学幻想节目。
在移动信息访问领域中的新发展进一步突出了对于试图最佳化相似性和多样性两者的推荐器系统的需要。诸如个人数字助理(PDA)和无线应用协议(WAP)使能的移动电话的当前的移动计算器件具有作为在典型的PC上得到的屏幕尺寸的小部分的屏幕尺寸;移动电话屏幕可以比PC屏幕小200倍。这降低了可以在单个搜索中被返回的推荐的数量,并且因为用户不喜欢上下滚动,因此目标必须是返回一个适合于单个屏幕页面的结果列表。在WAP器件上,这意味着仅仅具有3或4个范例的列表。如果所有这些范例基本上相同(诸如在同一公寓楼中的度假),则大大降低了在单个搜索中满足用户的机会。但是,如果所述多个推荐是相关的(与目标查询相似)并且多样的,则存在更大的成功机会。

发明内容
因此,本发明提供了一种数据处理方法,用于从n个项目的数据库检索k个项目的子集(n>>k),所述方法包括(a)确定在n个项目的数据库内的bk(b>1)个项目,所述项目按照给定的相似性函数S而与输入的查询t具有最大相似性;(b)选择与查询t具有最高相似性S的在bk个项目中的那个项目来作为子集的第一成员;(c)按照作为具有最高品质Q的bk个项目中的剩余项目,循环地选择在子集中的每个接续成员,其中Q是针对输入的查询t的相似性S和相对多样性RD的给定函数,其中相对多样性RD是相对于在前面的循环期间所选择的项目的、那个剩余项目的给定多样性函数。
本发明还提供了一种数据处理系统,用于从n个项目的数据库检索k个项目的子集(n>>k),所述系统包括(a)第一存储区域,用于存储按照给定的相似性函数S而与输入的查询t具有最大相似性的在n个项目的数据库内的bk(b>1)的项目;(b)第二存储区域,用于存储从所述bk个项目构建的所述子集;(c)处理器,用于(i)选择与查询t具有最高相似性S的bk个项目中的那个项目来作为子集的第一成员;(ii)按照作为具有最高品质Q的bk个项目中的剩余项目,循环地选择在子集的每个接续成员,其中Q是针对输入的查询t的相似性S和相对多样性RD的给定函数,其中相对多样性RD是相对于在前面的循环期间所选择的项目的那个剩余项目的给定多样性函数。
在另一个方面,提供了一种计算机程序,它包括这样的指令,当所述指令在数据处理系统上被执行时有效地使所述数据处理系统执行本发明的方法。
可以以机器可读的形式在计算机程序产品上或作为对计算机程序编码的电子信号来提供本发明的计算机程序。


现在通过示例参照附图来说明本发明的实施例,其中图1是包括本发明的算法(在此称为“有界贪婪算法”)的多个多样性保护检索算法的表格;图2是相对于检索集大小(k)的多样性保护算法的相似性特征的图;图3是相对于检索集大小(k)的多样性保护算法的多样性特征的图;
图4是多样性保护算法的相对效益的图;图5是用于多样性保护算法的检索成本对范例库尺寸(n)的图;图6是与标准算法相比较的多样性保护算法的相对成本的图;图7是按照有界贪婪选择算法工作的按照本发明的一个实施例的推荐器系统的方框图;图8是图解图7的推荐器系统的运行的流程图。
具体实施例方式
在基于范例的推荐器中,用于在范例c和目标查询t之间测量相似性的通常方法是使用加权总和度量,即方程1。
......方程1在这个加权总和度量中,目标t和范例c每个具有可以使用相似性函数sim相比较的n个特征,每个特征具有附加其上的一个加权w。例如,如果搜索是针对14夜计划的假日,费用为800美元,度假地最好距离机场不超过20公里,则将有三个特征用于比较,并且可以计算函数sim如下(i=1)夜晚的数量sim(t1,c1)=1 如果|t1-c1|≤1=0 否则(因此当目标查询指定14夜晚的时候,对于具有13、14或15夜晚持续时间的情况,sim函数返回值1,)(i=2)价格sim(t2,c2)=1-(|t2-c2|/max(t2c2))其中|t2-c2|是在t2和c2之间的差的绝对值,并且其中max(t2c2)等于t2和c2的值中的较大者。
(因此当目标查询指定1000美元的价格时,对于1250美元的价格的情况,sim函数返回1-(250/1250)=0.8的值)(i=3)距离sim(t3,c3)=1如果c3≤t3=0.5*t3/c3否则(因此当目标查询指定不大于20公里的距离时,对于距离机场的值为25公里的情况,sim函数返回0.5*(20/25)=0.4的值)可以是这样,推荐器系统被编程为向多个夜晚提供强的加权wi(w1=5),向价格提供不太强的加权(w2=3),向距离提供弱的加权(w3=0.5)。因此对于持续时间=14夜晚、价格=1600美元和自机场距离=25公里的情况,对于上面给出的目标查询的相似性返回值将是[(5*1)+(3*0.25)+(0.5*0.4)]/(8.5)=0.7。
利用这个加权方案,具有目标的指定价格和机场距离的7夜假期将返回一个值[(5*0)+(3*1)+(0.5*1)]/(8.5)=0.41。如所期望的那样,花费1000美元并且距离机场15公里的14夜假期将返回“最佳匹配”相似性等级[(5*1)+(3*1)+(0.5*1)]/(8.5)=1。
选择k个最相似的范例通常产生这样的特征相似性简档,其中结果集的平均相似性相对于k的提高值而逐渐降低(见图2)。
我们将范例集c1,...cn的多样性定义为在范例集中的所有对范例之间的平均不相似(方程2)。标准的基于范例的推荐器也显示一个特征多样性简档,其中对于越大的结果集,多样性增加(见图3)。因此在相似性和多样性之间的交替使用是对于k的较低值,当相似性趋向于较高时,多样性趋向于很低,这突出了存在与基于范例的推荐器中的基本问题。
......方程2实际上,改善固定大小的推荐列表的多样性特征意味着牺牲相似性。本发明的目标是开发一种策略,它最佳化这个相似性-多样性交替使用,向目标查询提供具有多样性而不折衷其相似性的推荐集。图1示出了用于在给定目标查询t的情况下从范例库C检索k个情况的三种不同的策略,每种着重于提高推荐集的多样性的不同的方式。
有界随机选择(随机)用于提高k个范例集的多样性的最简单策略是有界随机选择方法从较大的bk个与目标最相似的范例集中随机选择k个范例,其中b>1。
当然当bk->n时,随机作为检索方法变得低效,因为相似性被基本上忽略。虽然被检索的范例可能多样,但是它们不可能与目标相似。尽管如此,这种算法用于评估更有原则的策略的基准,并且对于b的较低值,虽然有可能仅仅具有适中的多样性改善,它至少将限制相似性的牺牲。
贪婪选择(贪婪)改善多样性并且同时保持相似性的一个更有原则的方法是在检索期间明确地考虑多样性和相似性。贪婪通过递增地建立检索集R而实现了这一点。在每个步骤期间,剩余的范例按照其品质排序,最高品质的范例被加到R。
整个算法的关键是一种品质度量,它将多样性和相似性相结合(方程3)。一个范例c的品质Q与在c和当前目标t之间的相似性成比例,并且与相对于至今所选择的范例集R的相似性c成比例,R={r1,...,rm};稍后看替代的品质度量。方程4所示的相对多样性度量是来自方程2的多样性度量的变化。
质量(t,c,R)=相似性(t,c)*RelDiversity(c,R)......方程3RelDiversity(c,R)=1,如果R={} ......方程4要被选择的第一个范例总是与目标具有最高相似性的那个。在每个后续的循环中,所选择的范例是具有与目标的相似性和相对于在前一个循环期间选择的范例集的多样性的最高组合的那个。
按照实际情况来说,这个算法是昂贵的。对于n个范例的范例库,在k个循环的每个期间,我们必须计算每个剩余范例相对于至今所选择的那些的多样性。这意味着平均有1/2(n-k)次相对多样性的计算,每个包括平均1/2k次相似性计算。这给出了每个检索需要k*1/2(n-k)*1/2k次相似性计算的平均总成本。例如,对于1000个范例的范例库,检索最上的3个范例意味着大约2250次相似性计算。
有界贪婪选择(有界贪婪)为了降低贪婪选择算法的复杂性,我们已经在本发明怀中实现了一种与有界随机选择算法具有相同精神的有界版本。有界贪婪首先选择按照范例与目标查询的相似性而选择最佳的bk个范例,然后向这些应用贪婪选择方法。
这种新的算法已经大大地降低了检索成本,因为从bk个范例而不是从n个范例中选择了k个范例,并且用于b和k的代表低值,bk<<n。
这意味着除了通常的检索成本之外还需要总共k*\1/2k(b-1)*1/2k次的额外相似性计算。例如,对于1000个范例的范例库,检索3个最佳的范例并且b=2现在除了标准的基于相似性的检索成本之外还需要7次额外的相似性计算。
当然,这种改善的效率有成本因为我们不再查看所有的剩余范例,因此我们可以丢弃这样的一个范例它具有比最佳的bk个范例或多或少小的相似性值,但是具有好得多的多样性值。即使这样的范例具有较好的整体品质值,它也不会被加到所检索的集,因为它不是最佳的bk个范例之一。但是,这种发生的可能随着范例的相似性而降低,以至于对于b的适当的值而变得不可能。
因此,在许多应用情况中,特别是推荐器系统中,相似性和多样性都在检索中搬演角色。但是,不存在交替使用。提高的检索多样性意味着降低所检索的范例与目标查询的相似性。本发明的目的是开发一种有效的检索策略,它能够最大地改善多样性并且同时最小地交替使用相似性。这个要求通过有界贪婪选择算法来被满足。
为了证明这一点,我们使用标准的基准范例库,即,旅游范例库(www.ai-cbr.org)来评估所述算法。这个范例库包括来自旅游领域的范例——每个以诸如位置、持续时间等的特征来描述假期。四种推荐器系统被实现,每个被设计来按照下面的检索方法之一来对于给定的查询返回k个最佳的旅游范例-相似性标准的基于相似性的检索;-随机使用有界随机选择算法的检索(b=2);-贪婪使用贪婪选择算法的检索;-有界贪婪使用有界贪婪选择算法的检索(b=2)。
最重要的问题是在各种检索算法中在相似性和多样性之间的交替使用——在检索多样性中有提高吗?并且如果这样则相关联的相似性成本是什么?为了调查这一点,我们对于k的各种值使用每个推荐器系统来运行一系列检索。随机从旅游范例库选择400个范例来作为查询,并且以剩余的范例作为范例库。对于每个检索,我们测量了k个结果的平均相似性和整体多样性。对于400个查询的不同集,这样重复100次,并且从结果产生的相似性和多样性测量,我们计算对于k的每个值的整体平均相似性和多样性值。
结果在图2和3中分别示出为相对于k的平均相似性和多样性。对于每个检索策略。可以清楚地看出上面预测的特征相似性和多样性简档在图2中,平均相似性随着k降低;在图3中,平均多样性随着k提高。
正如所料,从相似性角度来看,所述标准算法在k的全部值上工作得最好。例如,对于k=5,用于所述标准策略的平均相似性是0.78,这与有界贪婪、随机、贪婪技术的相应的0.753、0.748、0.7比较。所述贪婪技术对于k<20的值最差,其后随机方法开始受到最大的影响(虽然随机实现了对于低k值的良好相似性)。总体上,本发明的有界贪婪技术从相似性角度来看表现良好,获得了在k的所有值上平均超过97%的最佳(标准)相似性水平——作为比较,贪婪和随机技术实现了平均仅仅94.5%和94.7%的最佳相似性水平。
从多样性的角度来看,贪婪策略在k的所有值上提供了最佳的多样性特征。例如,对于k=5,贪婪策略的平均多样性是0.458,这与所述有界贪婪、随机和标准技术的相应的0.375、0.326、0.289比较。如果我们考虑贪婪算法来提供最佳的多样性,则有界贪婪技术表现很好,获得了在k的所有值上平均90%的最佳(标准)多样性水平——作为比较,标准和随机技术实现了平均仅仅76%和83%的贪婪多样性值。即使对于k的低值,诸如k=5,有界贪婪技术实现超过80%的贪婪多样性,这与随机和标准方法的相应的74%和69%形成比较。
另一种查看这些结果的方式是考虑需要被检索的范例的数量,以便实现特定的多样性水平。本发明的有界贪婪算法对于k=10实现了0.4的平均多样性,并且具有对应的平均相似性0.72。所述随机方法仅仅在k=23实现了这个多样性,所述标准算法仅仅在k=46实现了这一点,并且相似性分别降到0.66和0.67。有界贪婪方法的以小检索集来实现高多样性和相似性的这个能力是在推荐器系统中的重要优点。
总体上,有界贪婪算法提供了最佳的性能,在k的所有值上获得近乎最佳的相似性和多样性特征。相反,所述贪婪和随机策略需要有更大的相似性交替使用,而标准和随机技术需要有大的多样性交替使用。
通常,多样性的提高如何与相似性的损失相关?我们试图通过下列方式来回答这个问题对于三种多样性保护算法(随机、贪婪和有界贪婪)测量相对于相似性的降低的多样性提高。对于三种算法的每种和k的每个值,我们通过将多样性的差(与标准方法相比)除以相似性的差(与标准方法相比)来测量所考虑的算法的相对效益。例如,相对效益1意味着多样性的每个单位的提高伴随相似性的一个对应单位的下降——相似性和多样性的交替使用被良好地平衡。对于表现良好的一种算法,它应当提供比1大的相对效益值;即,相似性的降低应当由多样性的更大的提高来补偿。
图4作为相对于k的相对效益而示出了结果。随机策略执行差,对于多数k值具有小于1的相对效益,并且具有0.83的平均相对效益。相反,贪婪和有界贪婪算法表现很好,对于所有k值具有大于1的相对效益,并且具有2.9的平均相对效益。换句话说,平均而言,使用贪婪和有界贪婪算法,相似性的一个单位的下降可以换来几乎3个单位的多样性。
重要的是,贪婪和有界贪婪算法对于k的较低值都表现很好。例如,所述有界贪婪方法对于k=3具有3.6的相对效益。这是重要的,因为许多推荐器被设计来返回小结果列表(通常k<10)因此有益的是这些算法当k小时提供最大的相对效益。通常,有界贪婪算法对于k<11具有比贪婪算法更高的相对效益。
当然,在任何实时的CBR系统中,检索算法的效率与所检索的范例的品质同样重要。至今,我们已经看到了贪婪和有界贪婪算法受益于改善的多样性特征,但是这些效益仅仅当它们可以被实现而没有大的附加检索成本时是有益的。
在CBR中,用于检索的典型的最近相邻方法将目标与在范例库中的每个范例相比较——这是用于标准策略中的检索方法。在这个试验中,我们根据这个基准效率评价了随机、贪婪和有界贪婪方法的效率。我们设置k=6,并且测量检索成本来作为四种检索技术所需要的相似性计算的次数。对于每集400个目标查询集,我们计算和平均了在从100个范例到1000个范例的不同范例库大小上的检索次数。
图5中示出了作为相对于范例库大小的检索成本的对数而示出了结果,在图6中,作为相对于范例库大小的与标准相比较的每个算法的相对检索成本提高而示出了结果。很清楚,贪婪算法执行较差,在所有范例库大小上具有高检索成本,支持了上述的我们的复杂性分析。例如,对于1000个范例的范例库,贪婪算法对于在k=6的每个检索需要平均接近9000次相似性计算(相对效益提高9)。其他的算法执行得好得多。所述标准和随机方法具有相同的基准效率特征,并且有界贪婪算法与标准相比较仅仅在效率上有很小的降低,这再次支持了在第三部分中的复杂性分析。例如,对于1000个范例的范例库,有界贪婪算法(k=6并且b=2)仅仅需要1054次相似性计算,这表现出相对于标准方法在相对检索成本上的5%的提高(额外54次相似性计算)。而且这个提高与范例库大小无关,因为它仅仅依赖于k和b。
上述证明,至少在给定的测试域中,贪婪和有界贪婪算法使得可以不牺牲检索相似性而改善检索多样性;我们已经在电影领域执行了类似的试验并且获得了类似的结果。但是,贪婪算法的正面性能被它的很高的检索成本抵消,但是有界贪婪算法提供了更效能成本合算的解决方案,与标准的检索相比较仅仅在效率上有小的降低。事实上,有界贪婪不仅在效率上而且在它对于k的合理值交替使用相似性与多样性的方式上优越于贪婪。
图7是按照本发明运行的推荐器系统10的实施例的方框图。所述实施例包括与现有的检索引擎(CASPER基于范例的检索引擎14)相结合的、按照有界贪婪选择算法运行的多样性增进推荐器12。CASPER CBR检索引擎是一种智能搜索引擎,用于专门的因特网信息检索应用。CASPER CBR已经被实现来用于专门从事提供工作列表的在线招聘网站。列表16a-16d被作为输入项存储在一个范例库或数据库18中,并且包含对于每个空缺位置的特征,诸如所需要的经验、所提供的工资和所需要的技能等。但是,CASPER CBR检索引擎14被设计为能够一般地应用,并且可以用于检索候选项目可以被描述为基于特征的范例的任何环境中。
CASPER CBR提供了用于多样性增进推荐器12的初始检索系统,并且向其提供范例形式的结果和它们的相似性分数。多样性增进推荐器12因此与检索技术无关,并且可以被应用到任何提供相似性信息的检索引擎上。
多样性增进推荐器12最好被实现于按照本发明的软件的控制下工作的计算机中。图8是图解这样的软件运行的流程图。
参考图7和图8,在步骤30(图8),多样性增进推荐器12从用户接收查询t。这个查询20将用户的理想工作描述为一系列特征,并且形成用于检索引擎的目标范例。通常,所述查询被用户输入,所述用户填一个表格,表格的字段对应于用于将查询t与范例库输入项16a-16d相比较的特征。用户经由诸如因特网或WAP门户来访问多样性增进推荐器,并且所述多样性增进推荐器包括用于使得可以提交查询的万维网或WAP服务器。也可以使用各种用于提交查询的其他机制,并且这些是本领域的技术人员容易理解的。
用户可以在步骤32指定要返回的结果的数量k(或者这可以被设置为系统中的缺省项)。一般,诸如CASPER CBR系统的检索系统从它的范例库检索与目标最类似的k个候选项。但是,多样性增进推荐器12试图最大化结果的品质,其中按照有界贪婪选择算法通过在相似性和多样性之间的交替使用来确定品质。
因此推荐器在步骤34从CASPER请求bk个最类似的候选项,其中b具有诸如2或3的较低值。在步骤36,CASPER接收所述请求,然后在步骤38使用查询t来检索与目标范例最相似的bk个范例。在这个实施例中,CASPER对于每个项目返回使用方程1确定的用于查询t的相似性等级,CASPER使用它来选择最佳的bk个项目。这个所检索的范例集(工作结果集R)随后在步骤40被返回到多样性增进推荐器12,以用作一个基础,从这个基础,多样性增进推荐器选择k个最高品质的候选项。
在接收到工作结果集R后,在步骤42,多样性增进推荐器12开始建立结果子集R’以向用户提供。在这个选择k个最高品质候选项的过程中,多样性增进推荐器12通过建立新的结果子集R’而开始,其中通过首先加上具有(由CASPER返回的)最高的相似性等级的在工作结果集R中的项目或元素来进行建立新的结果子集R’。这个项目在步骤44变为子集R’的成员r’1。
然后,对于R’的唯一成员分析在R中的剩余的bk-1个项目中的每个,以便确定它的相对多样性(=1-(r’1的项目相似性)),即,使用方程4来确定。如下所述,如果期望的话,可以使用不同的相对多样性方法。
在第一次循环的步骤46中,R中的剩余(bk-1)个项目中的每个的相对多样性被乘以由CASPER对于那个项目返回的相似性等级(即,对于最初查询或目标t的相似性),以便提供品质测量Q(方程5)。
而且,如下所述,可用使用品质测量Q的替代函数,它们提供(目标t的)相似性和(结果集R’的)相对多样性的不同相对重要程度。
在第一次循环的步骤48,多样性增进推荐器12将具有最高值Q的项目加到R’来作为元素r’2。然后,所述处理通过下列方式来循环相对于r’1和r’2测量在R中的剩余(bk-2)个项目中的每个的相对多样性(即,对于每个元素c,RD(c)=((1-相似性(c,r’1))+(1-相似性(c,r’2))/2),这个RD测量和对于项目c的相似性测量的乘积在第二次循环的步骤46中提供更新的Q值,在第二次循环的步骤48,这个更新的Q值将(bk-2)的项目针对它们的适合性而排出等级以便被加到R’来作为成员r’3。应当注意,在这次循环中的具有最高值Q的成员将最可能与在前一次循环中的第二最高等级成员(它在所述前一次循环中正好被漏掉加到R’)不同,因为现在元素r’2的多样性是Q中的重要因素,而在所述前一次循环中它不是。
在每次循环之后,多样性增进推荐器12在步骤50查看是否结果子集R’已经被填充了k个项目,如果否,则执行步骤46和48的另一次循环以向结果子集R’加上附加成员r’m。
以这种方式,在每个循环中具有最高品质的k个项目的集R’被填充,并且在步骤52向用户返回结果集R’。这个处理从用户的角度来看可以发生在背景中,因此用户将在步骤30填充一个表格,并且在包括所述表格的页面上单击“提交”。用户等待载入下一个页面,并且在图8的处理结束时动态建立这个页面,到达作为一个页面的用户的固定电话或WAP电话,所述页面可以提供每个工作的细节,或者如图7所示,可以仅仅是链接22的页面,可以单击所述链接22以从多样性增强推荐器12或数据库18检索工作细节16a-16b。
如上所述,本发明在诸如被设计用于WAP使能的移动电话的推荐器系统的应用中特别有益。因为这些器件的有限能力,诸如缩小的屏幕尺寸或受限的输入选项,因此标准的、相似性驱动的、基于范例的推荐器由于推荐结果的有限的多样性而不会成功。例如,向一种典型的交互可能看到对科学幻想和戏剧感兴趣并且偏好Stephen Spielberg影片的用户作为顶级建议推荐返回未来(Back to the Future)1、2和3——确实是有限的选择。很清楚,最好是有更多样的一组推荐(诸如返回未来1、侏罗纪公园和拯救大兵来恩)。
通过使用本发明的有界贪婪多样性技术,有可能开发一种基于WAP的电影推荐器,它能够提供更多样的和更适当的推荐。
CBR仅仅是多个基于相似性的推理的模式之一。在推荐器系统中,例如自动的合作筛选(ACF)是基于用户简档的检索和重新使用而不是解决方案范例的相关策略(见例如Konstan,J.A.,Miller,B.N.,Maltz,D.,Herlocker,J.L.,Gorgan,L.R.,and J.Riedl.Applying collaborative filtering to Usenet news.Communications of the ACM,40(3)77-87,1997;Smyth,B.and Cotter,P.APersonalized TV Listings Service for the Digital TV Age.Journal ofKnowledge-Based Systems,13(2-3)53-59,2000)。用户简档包括先前的内容项目等级,在所选择的相似用户的简档内包括的登记被用作对于目标用户的分级推荐的来源。
经常地,ACF技术也为盲从相似性假定而犯过失。一组所检索的类似用户简档可以彼此全部很类似。因此,它们可以包括用于同样窄的内容项目集的等级,因此限制了可能的推荐。有界贪婪算法可以用于任何基于相似性的推理系统,包括ACF系统。取代检索一组与目标用户最类似的k个简档,选择与目标类似并且同时彼此不同的的简档。再一次,全部所需要的是现有的简档相似性度量。结果产生的简档将区域性覆盖较大的分级内容项目空间,因此提供更多样的推荐资源。
在上面,我们已经提出一种品质度量(方程3)来驱动多样性保护算法。但是,也可以使用其他的品质度量,参见例如图5和图6。方程5允许通过修改α来控制相似性和多样性的相对重要性,这可能在应用层是有益的。方程6限定了品质作为相似性和相对多样性值的调和平均值。一种加权的调和平均值也能提供一种平衡相似性和多样性的相对重要性的方式,如在方程5中那样;这与在信息检索搜索中的F-措施相关。品质(t,c,R)=α*相似性(t,c)+(1-α)*RelDiversity(c,R)......方程5 ......方程6在前面的示例中作为在bk个项目中的一个项目和已经被加到结果子集R{r1,...,rm}的项目之间的不相似性的测量,已经测量了相对多样性。这个在c和R中的每个范例之间的不相似的测量被给出为(1-相似性(c,ri)),其中相似性作为在0和1之间的值被返回。这决不是唯一的一种测量相对多样性的方法,在一些情况下,一种替代的测量更为有益。
一种替代是改变计算相对多样性的方式,以便取代测量在c和R内的每个范例之间的不相似,我们仅仅计算在c和ri之间的不同特征的百分比。即,相对多样性=1,如果R={}=Σi=1...mDiffFeature(c,ri)m,]]>否则......方程7其中DiffFeature(c,ri)=与ri中的等同特征具有不同的值的在c中的特征的数量。
虽然上述的实施例已经在推荐器系统中实现了本发明,更一般而言,多样性在模糊目标查询是规范的,并且因此检索结果必须提供宽的查询覆盖范围的CBR应用中是重要的。这在许多交互CBR设置中尤其正确,其中终端用户被提供了候选范例集,并且从这个集中依序选择,以便解决目标问题。推荐器系统是这个的良好示例,它们是问询台系统和许多传统的基于范例的推理系统。
本发明也适用于筛选传统搜索引擎的结果,因此许多现有的搜索引擎以结果集来返回对于每个结果的相似性测量。因特网搜索引擎,例如可以按照在标引或缓存的网页中的一个搜索项目的发生次数、在网页上的项目的位置、在元标签中的项目存在与否等(所有这些标准使用具有加权的相似性算法被评估,并且结果经常作为百分比被返回)来基于搜索项目对结果分级。多样性增强推荐器系统12可以被实现为“前端”方案,它在用户和传统的搜索引擎之间协调,以便将具有高相似性的诸如300个网页的结果集筛选为具有改进的多样性的100个网页的增强结果集。
可以明白,具有用于与搜索引擎的检索交互的多样性增强推荐器12的所述实施例不是唯一的实现方式。具体上,可以设想能将多样性增强推荐器12并入到检索引擎中,所述检索引擎随后进行两个步骤的检索处理确定最佳的bk个匹配,并且随后建立基于品质函数的结果集。
当在上述的情况中向用户返回k个项目的结果子集R’时,将存在被丢弃的结果集,即,来自集R的b(k-1)个项目,它们未被选择以包括在多样性增强子集R’中。通过定义,一些这样的被丢弃结果比一些R’成员更最佳匹配地与目标查询t相似(因为它们与R’的成员相比较少多样性)。保留这些结果以提供给用户可能是有益的。
图9A-9D示出了多个结果表格,说明了一种实现这个目标的方法。在这个简单的示例中,已经如上所述进行了对于匹配目标查询t的工作的搜索。为了简洁,已经选择了参数k=5和b=3。因此,检索引擎14返回一个工作结果集R(图9A),其中包括bk=15个项目(r1,r2,...,r15),每个由工作ID号码(在这个号码下它在数据库中被标引)识别,并且具有由检索引擎确定的相似性等级。因此,对于这个查询t,检索引擎已经使用了相似性算法来检索最上面的15个匹配,它们与目标的相似性的范围从0.99降到0.70。数据库将包括更多的(n-bk)个具有降低相似性的项目,它们从此被忽略。
多样性增强推荐器12然后选择项目r1来作为集R’的第一元素(即,项目r1被从集R中删除,并且被作为项目r’1加到集R’)。利用品质评估来定位与t具有最高相似性和相对于r’1具有最佳多样性的项目,项目r4被选择作为集R’的下一个成员。项目r4因此被从集R中删除,并且作为项目r’2被增加到集R’。以这种方式,具有最高循环确定的品质的5个项目被加到集R’(图9B并且从集R被删除(图9C)。
多样性增强推荐器然后分析在R中的每个剩余项目,并且使用相似性比较方程来将它们依次与r’1,r’2,...相比较。以这种方式,对于在R中的每个剩余项目确定在R’中的最接近的匹配。注意不一定是,具有与t的最大相似性分数的项目将是最接近的匹配,即,原始项目r10、r11和r12都具有与目保的0.79的相似性,但是不必彼此相似。当将项目r11和r12与R’的成员相比较时,可以发现项目r11确实与r’4(最初的r10)相似,但是项目r12比r’4更与r’1相似。
因此在R’的表格中建立列(图9D),示出对于R’的每个成员的、在R的剩余成员中的最接近匹配。当向用户提供结果时,也可以提供对于详细匹配的独立链接(从图9D的表格中的这个新列得到),以便检索具有降低多样性,并且较高相似性的匹配。
当然,这个对于集R的每个剩余成员确定在R’中最接近匹配成员的附加步骤加进了进一步的处理步骤,但是总的处理成本仍然比用于贪婪算法的成本小得多,并且在特定的应用中,这个附加的成本可能被证明提高了结果的可用性。
不是进行R内的剩余成员与R’的成员的独立比较,多样性增强推荐器可以将这个任务转给检索引擎或完全绕过它。在绕过的方式中,要利用这样的事实当对于集R’选择第k个项目时,将在这个循环期间在R中的(b(k-1)+1)个剩余成员的每个与已经被加到R’的(k-1)个成员比较多样性。参见方程4(其中已经被加上的范例被称为R的而非R’的成员),可以看出在最后一次循环中的相对多样性计算包括将在R中的每个剩余项目与已经加到R’的每个项目相比较。对于在R中的每个项目,在这个计算期间给出最高相似性的在R’中的项目可以被标引以用于向用户提供相似性匹配。(这个方法不允许相对于被加到R’的第k个成员来标引任何成员,而是可以由用户检索最相似的“被丢弃”匹配,并且没有附加的处理成本,而仅仅较小地提高所需要的存储容量)。
本发明的有界贪婪技术一般是可适用的,仅仅需要访问相似性度量。当然,最大化多样性的能力依赖于所关心的范例库的特定特征,诸如它的范例的分布。例如,可以在大量的范例的库中以最小的相似性牺牲来大大地改善多样性,其中一般,以较差的多样性特征检索范例的风险大大提高。
在上面,我们已经示出有界贪婪算法,改善了多样性而不大大交替使用相似性,并且这样做不会负面地影响检索时间。而且,这个技术一般适用于所有的范例检索系统——全部所需要的是标准(或其他)的相似性度量。事实上,可以在诸如合作筛选的其他基于相似性的推理框架中使用它来获得良好的效果。
本发明不限于在此所述的实施例,它可以在不脱离本发明的范围的情况下被修改或改变。
权利要求
1.一种数据处理方法,用于从n个项目的数据库检索k个项目的子集(n>>k),所述方法包括(a)确定在n个项目的数据库中的bk(b>1)个项目,所述n个项目按照给定的相似性函数S而与输入的查询t具有最大相似性;(b)选择与查询t具有最高相似性S的在bk个项目中的那个项目来作为子集的第一成员;(c)循环地选择作为具有最高品质Q的bk个项目中的剩余项目的子集中的每个接续成员,其中Q是针对输入的查询t的相似性S和相对多样性RD的给定函数,其中相对的多样性RD是对于在前面的循环期间所选择的项目中的那个剩余项目的给定多样性函数。
2.按照权利要求1的数据处理方法,其中所述输入查询t和数据库项目的每个被以多个参数的形式来定义,其中所述相似性函数S包括在查询t和所述查询被比较的项目的相应参数之间进行比较,以获得特征相似性度量,并且将所述特征相似性度量求和以达到在所述查询t和所述查询被比较的项目之间的相似性度量。
3.按照权利要求2的数据处理方法,其中所述不同的特征相似性度量被提供不同的相对的加权。
4.按照权利要求3的数据处理方法,其中在查询t和项目c之间定义所述相似性函数S,每个具有n个特征供比较相似性(t,c)=Σi=1...nwi*sim(ti,ci)Σi=1...nwi]]>其中sim(ti,ci)是用于特征i的给定特征相似性度量,wi是对于特征i的加权。
5.按照权利要求4的数据处理方法,其中所述特征相似性度量sim(ti,ci)被定义为返回从0到1的值。
6.按照权利要求1的数据处理方法,其中在所述查询t和在前m个循环中选择的项目(r1,...,rm)之间的相对多样性RD的所述函数包括对于t和每个项目(r1,...,rm)之间的不相似求和,以相似性函数S来测量不相似。
7.按照权利要求6的数据处理方法,其中所述相似性函数S返回从0到1的值,其中所述不相似性函数被定义为从1减去相似性函数的值。
8.按照权利要求6或7的数据处理方法,其中所述相对多样性函数还包括通过除以m将求和的不相似性度量正常化。
9.按照权利要求8的数据处理方法,其中在范例c和子集R的在前选择的成员(r1,...,rm)之间,所述相对多样性函数RelDiversity被定义如下
10.按照权利要求1的数据处理方法,其中在范例c和子集R的在前选择的成员(r1,...,rm)之间,所述相对多样性函数RelDiversity被定义如下RelDiversity=1,如果R={}=Σi=1...mDiffFeature(c,ri)m,]]>否则其中DiffFeature(c,ri)=与ri中的等同特征具有不同值的c中的特征的数量。
11.按照权利要求1的数据处理方法,其中项目c的品质Q被定义为目标t与项目c的相似性以及项目c对于在先选择的项目的相对多样性的乘积。
12.按照权利要求1的数据处理方法,其中项目c的品质Q被定义为由第一加权因子调整的目标t与项目c的相似性以及由第二加权因子调整的项目c对于先前选择的项目的相对多样性的和。
13.按照权利要求12的数据处理方法,其中项目c的品质Q被定义为品质(t,c,R)=α*相似性(t,c)+(1-α)*RelDiversity(c,R)
14.按照权利要求1的数据处理方法,其中项目c的品质Q被定义为目标t对项目c的相似性以及项目c对于在先选择的项目的相对多样性的调和平均值。
15.按照权利要求12的数据处理方法,其中项目c的品质Q被定义为品质
16.按照权利要求1的数据处理方法,其中项目c的品质Q被定义为目标t对项目c的相似性以及项目c对于在先选择的项目的相对多样性的加权调和平均值。
17.一种数据处理系统,用于从n个项目的数据库检索k个项目的子集(n>>k),所述系统包括(a)第一存储区域,用于按照给定的相似性函数S在与输入的查询t具有最大相似性的n个项目的数据库内的bk存储项目(b>1);(b)第二存储区域,用于存储从所述bk个项目构建的所述子集;(c)处理器,用于(i)选择与查询t具有最高相似性S的bk个项目中的那个项目来作为子集的第一成员;(ii)循环地选择作为具有最高品质Q的bk个项目中的剩余项目的子集的每个接续成员,其中Q是针对输入的查询t的相似性S和相对多样性RD的给定函数,其中相对多样性RD是相对于在前面的循环期间所选择的项目的那个剩余项目的给定多样性函数。
18.按照权利要求17的数据处理系统,它被实现为一个计算机运行的软件,包括分配所述第一和第二存储区域的指令、按照定义相似性S、相对多样性RD和品质Q的所述度量的规则来选择所述子集的所述第一成员和循环地选择所述接续成员。
19.按照权利要求17或18的数据处理系统,还包括处理装置,用于从所述数据库选择所述bk个项目。
20.按照权利要求17或18的数据处理系统,还包括对从所述数据库选择所述bk个项目的检索系统的通信链接。
21.按照权利要求17、18或19的数据处理系统,还包括所述数据库。
22.一种计算机程序,包括这样的指令,当所述指令在数据处理系统上执行时,有效地使得所述数据处理系统执行按照权利要求1-16中的任何一个的方法。
23.一种机器可读形式的计算机程序产品,包括权利要求22的计算机程序。
24.一种对权利要求22的计算机程序进行编码的电子信号。
全文摘要
一种用于从n个项目的数据库检索k个项目的子集(n>>k)的数据处理方法和系统,首先确定在所述数据库内的bk(b>1)个项目的有限子集,所述项目按照给定的相似性函数S而与输入的查询t具有最大相似性。然后通过下列方式来建立结果子集将与查询t具有最高相似性S的那个项目来作为第一成员;循环地选择作为具有最高品质Q的bk个项目中的剩余项目的子集的每个接续成员,其中Q是针对输入的查询t的相似性S和相对于已经在结果子集中的项目的相对多样性RD的给定函数。以这种方式,结果子集的多样性相对于k个对查询t的最相似项目的简单选择被大大地提高,而仅仅在处理要求中有适度的额外增加。
文档编号G06F17/30GK1537290SQ02815097
公开日2004年10月13日 申请日期2002年7月30日 优先权日2001年7月30日
发明者巴里·J·史密斯, 巴里 J 史密斯 申请人:都柏林大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1