一种用于在结构化数据上高效地支持交互式模糊搜索的方法技术

技术编号:7138101 阅读:203 留言:0更新日期:2012-04-11 18:40
一种支持在文本数据上的高效交互式模糊搜索的方法,包括:在应用——诸如查询放宽、自动完成或拼写检查——中对结构化数据进行交互式模糊搜索,其中在用户查询以及数据中存在不一致和错误。其利用在结构化数据上高效地进行交互式应答模糊查询的技术,以允许用户高效、交互式地对信息进行搜索,并且他们能找到记录和文件,即使这些记录和文件与用户关键词稍有不同。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及使用计算机对字符串数据库进行交互式模糊逻辑搜索的领域。 现有技术传统的信息系统在用户提交完整查询后向用户回示应答。当用户对于他们要寻 找的潜在的(underlying)数据或实体的认知有限时,他们通常感觉“两眼一抹黑(left in the dark)”,并且不得不使用试试看的方式来查找信息。在这些系统中支持自动完成 (autocomplete)的最新趋势是解决这问题的第一步。在信息系统中,通常用户不能找到他们感兴趣的记录或文件,因为他们不知道该 实体在后台储存器中的精确表示。例如,一位名叫“John Lemmon"的人可能被错误地表示 为“Johnny Lemon”。一位名叫“William Gates”的人可能被存储为“Bill Gates”。结果 是,如果用户不知道他所要寻找的人的名字的准确拼写,他可能不能找到该记录。同样的问 题尤其存在于当数据来自各种不同网络来源的情况下,各种不同网络来源往往是异类和杂 乱的。所需要的是一种即使在用户查询和感兴趣实体的物理表示之间有稍微不匹配的 情况下仍然允许信息系统能够应答查询的方法。所需要的是一种还能够允许用户在键入其查询时交互式地查询储存器的方法。为了在用户制定(formulate)搜索查询时给出即时反馈,许多信息系统支持自动 完成搜索,所述自动完成搜索在用户键入部分查询后立即显示结果。作为实例,目前几乎所 有主要的搜索引擎都在用户键入部分关键词时自动地建议可能的关键词查询。谷歌财经和 雅虎财经都支持在用户键入关键词时搜索股票信息。大多数自动完成系统将一个具有多个 关键词的查询视为一个单字符串,并找出带有与该字符串精确匹配的文本的应答。作为示 意性实例,考虑在Apple Inc.主页上的支持对其产品的自动完成搜索的搜索框。尽管关键 词查询“itunes”可找到记录“itunes wi-fi music store”,但带有关键词“itunes music” 的查询却不能找到这一记录(关于2009年6月),仅因为这两个关键词在记录中出现在不同的位置。为了解决这一局限性,最近出现了 一种新的边键入边搜索模式(type-ahead search paradigm)。使用这一模式的系统将一个查询视为一个关键词集(a set of keywords),并对潜在的数据进行全文本搜索以找出包括所述关键词的应答。一个实例是 DBLP2上的Complet必earch系统,该系统随着用户逐个字母键入关键词而“立即(on the fly) ”搜索潜在的公开数据。例如,查询“music sig”,可找到具有关键词“music”并且具 有以“sig”作为前缀的关键词——例如“Sigir”、“Sigm0d”以及“signature”——的公开 记录。通过这种方式,用户可在键入关键词后得到即时反馈,由此可获得关于该潜在数据的 更多认知,从而更容易地制定查询。在模糊边键入边搜索中,一个主要的挑战是高效率的需求。为了使搜索具有交互 性,从用户作出键击的时间到从服务器计算得到的结果显示在用户的浏览器上的时间,延 迟应该尽可能小。交互式速度要求这种延迟在几毫秒之内。注意这个时间包括网络传送延 迟、服务器上的执行时间以及浏览器执行其java脚本(javascript)(往往很慢)的时间。 由于该系统在用户完成键入一个完整的查询后需要比仅应答一个查询的常规系统应答更 多的查询,因此提供高效率是尤其重要的。问题包括如何应答以模糊边键入边搜索对大量数据提出的排名查询(ranking queries)。考虑记录的总合,诸如在关系表中的元组(tuple)。随着用户逐个字母键入关 键词查询,我们想立即找出带有与该查询关键词相似的关键词的记录。我们把查询中最后 的关键词视为用户正在完成的部分关键词。我们假设索引结构具有用于潜在数据中的关 键词的字典树(trie),每个叶节点具有带该关键词的记录的倒排列表(inverted list), 以及该关键词在记录中的权重(weight)。作为一个实例,表IV示出公开记录的样本总合 (collection)。为了简便,我们仅列出每一记录的一些关键词。图9示出了相应的索引结 构。假设用户键入了一个查询“music icde li”。我们想找到带有与这些关键词相似 的关键词的记录,并将它们排名(rank)以找出最好的应答。为了得到该应答,对于每个查 询关键词,我们可以找到与该查询关键词相似的关键词。例如,关键词“icdt”和“icde”都 相似于第二查询关键词。最后的关键词“li”被视为前缀情况,因为用户仍正在这一关键词 的末端键入。我们找到具有相似于“li”的前缀——诸如“lin”、“liu”、“lui”、“iCde”和 “icdt”——的关键词。我们访问这些相似关键词的倒排列表以找到记录并将它们排名,从 而为用户找到最好的应答。一个关键的问题是如何高效地访问这些列表以应答前k个(top-k)查询?在文 献中,有多种通过访问列表来应答前k个(top-k)查询的算法。这些算法共享最初由!^gin 提出的同一框架,其中我们有基于各种情况排序的记录列表。一个累加函数(aggregation function)从这些列表中得到记录的评分(score)并计算出该记录的最终评分。有两种方 法访问这些列表(1)随机访问给定一个记录id,我们可以获得该记录在每一列表上的评 分;(2)排序(sort)访问我们按列表顺序获得每一列表上的记录id。
技术实现思路
我们公开一种用于信息访问模式的方法和装置,称为“ Search”,其中随着用户键入查询关键词,该系统“立即”搜索潜在的数据。其通过以下方式扩展自动完成接口 (1)支 持以多个关键词对具有多个属性的数据作查询;以及O)找到可能不精确地匹配查询关键 词的相关记录。这种框架允许用户在其键入时(即使在存在小错误的情况下)能浏览数据。这种框架对于大量的数据是具有挑战的。第一个挑战是搜索效率。由于用户 的每次键击可能在后台引起一个查询,我们需要有效率的算法在几毫秒内处理每个这 样的查询。我们开发了一种基于缓存的技术,以支持在字典树索引结构上的增量计算 (incremental computation)。第二个挑战是以交互式速度支持模糊搜索。我们提出一种技 术,以有效率的删减和缓存进行增量计算。我们已使用这些技术开发出几种真实原型。其 中之一已被开发用于支持在UCI目录上的交互式搜索,其由于友好的界面和高搜索效率已 被用户经常使用且被很好地接受。本专利技术的示出实施方案的其中之一是一种支持高效的对文本数据作交互式模糊 搜索的方法。当在用户查询和数据中存在不一致和错误时,对结构化数据进行交互式模糊 搜索在诸如查询放宽、自动完成或拼写检查等应用中是很重要的。在这一实施方案中,我们 开发出在对于结构化数据的模糊查询进行高效且交互式应答的技术。大多数现有算法不能 支持交互式模糊搜索。在用户键入带有关键词的查询后,这些算法找到精确地包括这些关 键词的记录和文档。所示出的实施方案的技术允许用户高效地交互式搜索信息,并且即使记录和文档 与用户的关键词稍有不同,他们也可以找到这些记录和文档。在本专利技术示出的实施方案中, 我们开发出以下新颖性的本文档来自技高网
...

【技术保护点】
一种在文本数据上进行高效的交互式模糊搜索的方法,包括:  使用基于树的索引来高效地索引所述数据;  在用户键入查询时,使用一个算法来遍历所述树;  自适应地维持该查询的中间结果以支持交互式模糊搜索;以及  使用排名算法将候选结果排序。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:C·李
申请(专利权)人:加利福尼亚大学董事会
类型:发明
国别省市:US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1