用于通过相似性关联对电子信息排名的方法和装置与流程

文档序号:17943387发布日期:2019-06-18 23:20阅读:175来源:国知局
用于通过相似性关联对电子信息排名的方法和装置与流程

本公开涉及处理系统,更具体地涉及用于对以电子格式存储的文本和非文本信息进行处理、查找和排名的计算机实现的系统和方法。



背景技术:

网络技术已经使得能够访问大量在线信息。随着诸如智能电话、平板等联网消费者设备的激增,用户现在能够在几乎任何时间从任何位置访问信息。

搜索引擎使得用户能够在诸如互联网等网络上搜索信息。用户将一个或多个关键词或搜索项输入充当到搜索引擎的界面的网络浏览器的网页。搜索引擎标识被认为匹配关键词的资源,并在网页中向用户显示结果。

用户通常选择话题关键词并将其输入到搜索引擎的网络浏览器界面。搜索引擎基于从用户接收的关键词在一个或多个数据存储库上执行查询。由于这样的搜索经常会导致数千或数百万的命中或匹配,所以大多数搜索引擎通常对结果进行排名,并且最佳结果的短列表在网页上被显示给用户。显示给用户的结果网页通常包括去往一个或多个网页中的匹配结果的超链接并连同包括简要文本描述。



技术实现要素:

在各种方面,提供了用于通过相似性对电子信息进行处理、排名以及显示的系统和方法。本系统和方法适用于被配置为搜索结果并向用户显示结果的搜索引擎。

一方面,从电子对象群组确定独特特征集合。图被构造,在该图中,每个电子对象被表示为对象节点,并且每个独特特征被表示为特征节点。每个对象节点通过加权边互连到图中的至少一个特征节点。使用图来构建加权邻接矩阵,并确定用于表示图中的锚节点集合的锚向量。使用表示锚节点集合的向量和加权邻接矩阵,来计算图的所有对象节点和特征节点的评分。

一方面,基于所计算的评分,对图的对象节点和特征节点排名,并且将图的经排名的对象节点和特征节点显示在显示设备上。

一方面,基于指示用户对所显示的节点中的一个或多个节点的选择的用户输入来更新表示图中的锚节点集合的向量。然后,使用经更新的向量和加权邻接矩阵,来更新(重新计算)图的对象节点和特征节点的评分,并且基于经更新的评分来更新对象节点和特征节点的排名。基于经更新的排名,更新经排名的对象节点和特征节点在显示设备上的显示。

一方面,通过对个性化页面排名算法迭代地应用表示锚节点集合的向量和加权邻接矩阵,来计算图的对象节点和特征节点的评分。一方面,通过聚合从个性化页面排名算法的每次迭代产生的评分,来计算图的对象节点和特征节点的评分。

一方面,基于用户输入,确定图中的锚节点集合。另一方面,通过选择图的每个对象节点和每个特征节点作为锚节点集合中的锚节点,来确定图中的锚节点集合。

一方面,独特特征集合中的至少一个所确定的独特特征表示电子对象群组中的文本信息。另一方面,独特特征集合中的至少一个所确定的独特特征表示电子对象群组中的非文本信息。

一方面,向电子对象群组应用机器学习算法,以使用机器学习算法来确定独特特征集合中的至少一个独特特征。

附图说明

图1示出了根据本公开的各种方面的用于对电子信息进行处理、搜索、排名以及显示的计算机实现的过程的示例实施例。

图2示出了根据本公开的各种方面构建的图的简化示例。

图3示出了根据本公开的一方面的任意图的一般示例。

图4示出了基于图3中所示的图构建的邻接矩阵的示例。

图5示出了基于图3中所示的图构建的行归一化加权邻接矩阵的示例。

图6示出了根据本公开的各种方面的图形用户界面。

图7示出了用于实现本公开的各种方面的示例装置的框图。

具体实施方式

下面参考附图来描述本公开的各种方面,其中贯穿附图的描述,相似的标号指代相似的元素。说明书和附图仅示出了本公开的原理。将理解的是,本领域技术人员将能够想出各种布置,尽管在本文中并未明确描述或示出这些布置,但是这些布置体现了这些原理并且被包括在本公开的精神和范围中。

除非另有指示(例如,“否则”或“在替代方案中”),如本文中所使用的,术语“或”指代非排他性的或。另外,如本文中所使用的,用来描述元件之间的关系的词语应当被宽泛地解释为包括直接关系或存在中间元件(除非另有指示)。例如,当元件被描述为“连接”或“耦合”到另一元件时,该元件可以被直接连接或耦合到另一元件或者可以存在中间元件。相反,当元件被称为“直接连接”或“直接耦合”到另一元件时,不存在中间元件。类似地,诸如“之间”、“相邻”等词语应当按照相似的方式被解读。

由搜索引擎执行的典型搜索经常产生成千上万的匹配结果。为了使这些结果易于管理,搜索引擎通常对匹配结果进行排名,并且按照排名的降序在一个或多个网页中显示排名结果的子集。

用于对网页进行排名的一种众所周知的技术是页面排名算法,其表示网页的重要性,网页的重要性作为访问该网页的确定的平稳概率。页面排名基于如下原理,相比去往不太重要的网页存在去往较为重要的页面的更大数目的超链接。因此,网页的重要性基于链接到该网页的其他网页的数目和所确定的重要性而被确定。使用图论将页面排名算法实现为访问网页的随机游走模型,其中图的顶点(或节点)表示网页,并且互连图的节点的边或链接表示从一个网页到另一个网页的超链接。由于它们的计算成本,诸如页面排名等常规搜索引擎是在任意实际的搜索或查询之前执行的一次计算。首先对数据项进行普遍排名,然后对这些数据项编入索引以与搜索词查询匹配。只要基础图基本没变,就不执行重新计算,特别是在用户向搜索引擎提供关键词用于搜索时。

尽管常规的搜索引擎和算法是有效并且有用的,但是在标识和显示与用户相关的结果方面存在很大的改进空间。例如,不管搜索引擎的复杂度和优化如何,典型的搜索可以频繁导致与用户不那么相关的很多信息被显示。有时搜索结果根本就没有产生有用结果或者不包括实际上可能与用户相关的结果。在典型的场景中,用户可能必须进行多次搜索以猜测产生一组有意义的结果的一组正确关键词,即使该结果也包括用户不感兴趣的项目。搜索引擎对于将特定搜索关键词与数据的预定集合匹配的关注会抑制或排除在概念上用户更感兴趣的信息。这可能花费用户相当的时间来找出提供有意义的结果的关键词,与此同时不会用对用户没用的或者用户不感兴趣的大量信息压倒用户。

本文描述了用于对电子信息进行处理、排名和显示的系统和方法。该系统和方法适用于从可以计算机可读格式访问的任何电子信息对象以计算的方式搜索和查找相关信息,并且在一些实施例中特别地适用于在诸如互联网等网络上进行搜索的上下文中。

从下面的描述将显而易见的是,本文中所公开的系统和方法的特征可以在于具有预处理阶段和交互式阶段两个阶段。预处理阶段包括处理电子对象集合,确定常用类别集合,以及确定包括在对象中的信息中或者从对象中的信息导出独特特征集合。预处理阶段还包括构建包括表示由加权边互连的对象和它们的特征的节点的图,以及(可选地)计算图的互连节点的默认评分和排名,以供向用户显示。交互式阶段包括(例如,在网络上从用户设备)接收指示用户对于某些对象或特征的特定偏好的用户输入,以及使用用户输入动态地计算或(重新计算)表示对象和特征的节点的评分和排名,以供在例如,用户设备上向用户显示。如从本公开将显而易见的是,交互式阶段包括在用户感兴趣的话题的上下文中的通用排名(即,对语料库中的所有对象进行排名和评分)。因此,与常规查询系统不同,每次查询生成针对语料库中的所有对象的、用于对结果进行排名和排序的自定义评分。

如本文中所使用的,术语“对象”指代信息(文本的或非文本的)以计算机可读格式被存储在其中的电子实体。电子对象(有时也称为对象)的一些示例包括文档、出版物、文章、网页、图像、视频、音频、数据库、表格、目录、文件、用户数据、或包括以电子格式存储的信息的任何其他类型的计算机可读数据结构。电子对象的信息的来源和信息的类型可以改变。在一些实施例中,信息的来源可以是数据存储库,例如,电子出版物、文章、网页、图像、音频、多媒体文件等的一个或多个预配置的数据库。在一些实施例中,信息的来源可以是更加动态的。在一个实施例中,针对电子对象的信息的来源可以是使用常规搜索引擎从搜索获取的查询结果。例如,用户可以使用关键词在诸如google或microsoft的搜索引擎等常规搜索引擎中执行常规搜索。从经由常规搜索引擎进行的搜索产生的数据集合可以是存储在如本文在下面描述的进一步处理的电子对象(例如,网页)中的信息的初始来源。在另一实施例中,电子对象的信息的来源可以是从多个不同类型的电子传感器接收的传感器数据。传感器的输出可以是诸如温度、压力、位置、警报等的环境数据或其他数据,并且还可以是诸如音频或视频数据的多媒体数据。根据本文中描述的方面,来自传感器的数据可以被接收并且作为电子对象被存储在数据存储库中,并且对其进行处理。在又一实施例中,本文中描述的电子对象的数据的来源可以是用户数据。这样的用户数据的一些示例包括用户的简档、联系数据、日历数据、聊天消息数据、电子邮件数据、浏览数据、社交网络数据、或者其他类型的数据(例如,用户文件),该其他类型的数据被存储在用户的设备上,用户允许对其进行访问以用于如下面描述的进一步处理。

如本公开中使用的术语“特征”指代被确定为存储在电子对象中的信息的部分或者从对象中所包括的信息导出的特定信息。所确定的特征可以是文本的或非文本的。确定文本特征的一个示例包括确定在电子文档、出版物、网页等找出的文本或单词。确定文本特征的另一示例包括从与电子对象相关联的元数据确定文本或单词。总体上,根据本文下面所描述的方面,电子对象中包括的任何文本信息可以是所确定的特征。文本特征也可以从电子对象中的非文本信息导出。例如,在电子对象为图像(或视频)的情况下,从图像或视频确定文本特征可以包括处理和识别图像或视频的非文本内容。例如,可以使用图像处理或机器学习技术来处理狗的图片,并且可以从图片导出和识别出诸如“狗”、其品种、其大小、其颜色等文本特征。类似地,可以使用音频、语音到文本、或机器学习技术来分析非文本音频数据,并且可以将从音频导出的其他文本信息或识别出的单词确定为根据本公开的音频或视频的特征。类似地,可以利用诸如“门打开”、“火灾”、“紧急情况”、温度或压力值等一个或多个文本特征来分析和表征由一个或多个传感器输出的非文本传感器数据。

所确定的电子对象的特征也可以是非文本的。例如,返回图像或视频的示例,从图像或视频确定的特征可以是使用对象识别、模式识别或机器学习技术识别的图像或视频中的像素集合。替代地或者另外,所确定的非文本特征可以是基于图像或视频的内容而确定的对象或模式识别向量或矩阵集合。通过分析音频对象而确定的非文本特征可以包括使用音频处理或机器学习技术在音频内识别出的音乐或声音轨道的一部分。通过分析传感器输出数据而确定的非文本特征可以是与传感器在一个或多个时间段期间捕捉的一个或多个识别出的事件相关联的所有或部分传感器数据。

图1示出了使用处理器对电子信息进行处理、排名和显示的示例计算机实现的过程100。在一些实施例中,过程100可以被实现为由服务提供商的后端服务器设备上的处理器执行的搜索引擎的部分。在其他实施例中,可以使用搜索引擎外部的处理器来实现过程100。在一些实施例中,本文中描述的过程可以由用户的计算设备上的处理器实现和执行。尽管为了简单和方便,下面从文本对象和特征方面描述了过程100的各种步骤中的示例,但是将理解的是,本文中描述的过程可以同样地适用于上述非文本对象和非文本特征。

尽管按照顺序步骤或操作来描述过程100,但是将明白的是,一些操作可以并行、同时、或同步执行。另外,操作的次序可以被重新布置。过程可以在其操作完成时被终止,或者可以从开始处或者适当的中间点继续。过程还可以具有图中没有包括的附加步骤。过程100的一个或多个步骤可以对应并被实现为由处理器执行的方法、功能、进程、子例程、子程序、程序等。

在步骤102中,过程100包括处理电子对象群组并且确定适用于对象的常用类别集合。通过简化示例的方式,假设电子对象群组或电子对象集合是以计算机可读格式存储在实现过程100的处理器可以访问的电子数据存储库中的电子出版物(例如,出版的白皮书)集合。由处理器确定为通常适用于出版物集合的类别集合可以包括诸如作者、标题、单词、出版日期、地理位置等的类别。总体上,所确定的常用类别集合可以包括表示正被处理的对象的常用属性或方面的任意类别。

常用类别集合(在本文中也称为“类别”)可以被自动地或手动地确定。例如,在一个实施例中,可以基于与每个对象相关联的元数据来自动地确定类别。在另一实施例中,可以基于对象的类别(或结构)的知识来自动地确定类别。例如,如果已知对象是出版物,则出版物类型对象的常用类别集合可以包括诸如作者、标题、单词、出版日期、地理位置等的预定类别。作为另一示例,如果正被处理的对象是网页,则常用类别集合可以包括标题、url(统一资源定位)、日期、公司、单词等。在一些实施例中,也可以基于人类输入来手动分配常用类别集合。在一些实施例中,可以经由监督或无监督的机器学习技术来确定常用类别集合。

在步骤104中,过程100包括针对常用类别,确定来自对象的的独特特征集合。分配给每个类别的独特特征集合基于对象中所包含的信息而被确定。返回对象集合是出版物集合的简化示例,分配给常用类别“作者”的独特特征集合可以包括在出版物中找到的作者的独特名称的列表。因此,在该步骤中处理器可以解析每个出版物中的文本信息并且提取独特名称,使得所分配的类别“作者”的独特特征是在出版物中找到的独特作者名称的列表。分配给常用类别“日期”的独特特征集合可以包括通过处理出版物而确定的独特出版日期的列表。分配给常用类别“位置”的独特特征集合可以包括与出版物相关联的独特地理位置的列表(例如,出版物的地理位置)。分配给常用类别“单词”的独特特征集合可以包括在出版物中找到的所有独特单词的列表。处理器可以类似地继续处理对象以提取分配给每个其他所确定的常用类别的独特特征。在一些实施例中,也可以基于人类输入来手动地分配独特特征集合。在一些实施例中,可以经由监督或无监督的机器学习技术来确定独特特征集合。

要重复的是,将电子对象的示例集合和所确定的特征的示例集合假定为文本的仅仅用于帮助理解本公开的原理。如上所述,在实践中,在不偏离本文中描述的系统和方法的原理的条件下,电子文档集合和从电子文档确定或导出的特征可以包括文本信息、非文本信息、或者文本或非文本信息的组合。另外,在一个实施例中,可以使用机器学习引擎来针对一个或多个电子对象确定特征向量,其中机器学习引擎基于训练数据集合向每个对象指派表示一个或多个属性的紧凑数值集合。已经找出长度为200-300个多元组和1000个多元组的特征向量,以提供文本和图像特征的良好描述,并且机器学习输出的结果可以被用作如本文中描述的图的特征。

在步骤106中,过程100包括构建图g=(v,e),其中v表示图的数目n个顶点或节点中的每个顶点或节点,e表示互连图的n个节点中的一个或多个节点的边。图g被构建为使得每个电子对象被表示为图的如下节点,该节点通过边与表示在该对象中的信息中找出(或导出)的确定的特征的节点连接。换言之,图g包括n个节点的集合,其中对象群组中的每个对象和每个所确定的独特特征由图中的相应节点表示,并且对于包括特定特征的每个对象,存在将表示该对象的相应节点与表示该特征的相应节点互连的边。

图2示出了根据步骤106的图200的图示。如在图2中可以看出,图200包括与独特特征节点(被描绘为被填充的圆圈)互连的对象节点(被描绘为空心圆圈),其中独特特征节点是从具有互连边(由连接线描绘)的每个对象找出或导出的。继续上述简化示例,对象节点可以表示出版物。类别1、2和3可以表示出版物的所确定的常用类别。例如,类别1可以是单词,类别2可以是出版日期,以及类别3可以是作者。类别中示出的每个特征节点可以表示在对象中提取或确定的独特文本信息。因此,例如,单词类别(类别1)中的特征节点可以表示在出版物中找到的所有独特单词(例如,出版物中的独特文本单词)。类似地,出版日期类别(类别2)中的特征节点可以表示出版物的所有独特出版日期。最后,作者类别中的特征节点可以表示出版物的所有独特作者名称。将对象节点互连到特征节点的边表示在对象中找到该特定特征。所以例如,如果独特作者名称“johndoe1”是出版物中的两个出版物的作者,则将存在将表示这些出版物的两个对象节点中的每个对象节点互连到类别3中的表示独特名称“johndoe1”的特征的边。类似地,并且通过另一示例的方式,如果在出版物中的两个出版物中找到了单词“无线”,则这在图200中将由从表示这些出版物的两个对象节点到类别1中的表示独特单词“无线”的特征节点的两个边表示。如从以上所述将显而易见的是,如果在第二出版物的任意单词中没有找到特定的独特特征(例如,在第一出版物中找到的单词),则将不存在将表示该单词的特征节点互连到表示第二出版物的对象节点的边。

尽管图2中仅描绘了少数对象节点、特征节点和边,但是将理解的是,在实践中,图200可以包括通过很多边互连的很多(成千上万)对象节点和特征节点。类似地,尽管仅示出了三个类别,但是在实践中,可以存在适用的或期望的更少或更多数目的类别。在这方面,图200也可以被理解为与每个所确定的常用类别相对应的一系列二分子图。另外,还将理解的是,尽管出于说明的目的在图2中示意性地示出了图200,但是在示例性实施方式中,图200中描绘的信息可以被处理器以一个或多个计算机可读数据结构(例如,向量或矩阵)的形式存储在例如,处理器可访问的本地存储器中,以使得处理器或计算设备可以快速地访问和处理图2所示的信息。应当注意,图2中所示的图是一个示例,并且在其他实施例中可以构建和处理其他类型的图,如本文中所述。在一些实施例中,在基础结构中可以使用包括节点和边的任何任意图针对给定对象(锚)集合进行相似性评分计算和结果排名。在这种一般设置中,用于向这样的图的互连边指派权重的规则可以是不同的。

在步骤108中,过程100包括确定所构建图g(v,e)的每个边的权重w,其表示在对象中找到或者从对象导出的所确定的特征的强度。加权图g(v,e,w)中的对象内的特征的强度以及因此分配给将特征和对象互连的边的权重可以通过各种方法确定。在一个实施例中,对象内的特征的强度可以基于特征在对象中出现的频率而被确定。例如,如果某个特征(例如,独特单词“无线”)比另一特征(例如,独特单词“有线”)更大频率地出现在出版物中,则将表示对象的节点与表示特征“无线”的节点互连的边可以被分配比将对象节点与表示单词“有线”的特征节点互连的边比例更大的权重。在一个实施例中,对象中的特征的频率(或出现的次数)可以被用作该对象和该特征之间的边的强度或权重。如果单词“无线”在对象中出现15次,则将该对象互连到图200中的特征“无线”的边的强度可以被分配以权重15。如果单词“有线”在对象中出现2次,则将该对象互连到图200中的特征“有线”的边的强度可以被分配以权重2。在示例性实施方式中,所确定的强度可以由处理器作为例如,与对象相关联的1d(维度)特征向量存储在存储器中,其中特征向量的每个位置(或索引)可以与在对象中找到或从对象导出的独特特征(例如,“无线”、“有线”)相关联,并且特征向量中的位置或索引处的每个条目可以表示该特征在该对象中的强度(例如,对象节点的特征向量i=[...,15,2,...])。

在另一实施例中,可以基于放置在对象中的特征上的加强或者基于对象中的特征的确定位置(例如,标题、提要等)确定特征的强度。在一些实施例中,可以诸如由作为主题专家的个人手动地确定特征的强度。在一些实施例中,可以基于语言的语法特征来确定或调整特征的强度。例如,高频出现的某些在语法上使用的单词可以包括连词、间隔词、冠词等。由于这些单词(该、和、或、如果、但是等)通常可以被理解为用于语法表达而不是对象的固有或独立的属性,在对象内可以将这些特征的强度确定为非常低,并且将这样的特征互连到对象的边可以类似地被赋予非常低或者甚至零权重。

在一些示例性实施例中,从给定对象到该对象中的特征的所有边的权重可以被归一化到0和1之间,以使得将对象互连到该对象中的特征的边的权重相加或聚合到1。

在步骤110中,过程100包括确定加权邻接矩阵s,加权邻接矩阵s表示步骤108的加权图g(v,e,w)。在两个节点之间存在边连接的情况下,正数被输入到邻接矩阵a中的适当位置。每当两个对象i、j之间存在边(链接)时,邻接矩阵将具有正条目aij>0,正条目aij>0表示边的确定强度或权重;在两个对象之间不存在边(链接)的情况下,邻接矩阵将具有零条目。

图3至5示出了构建针对利用边互连的节点的任意图的加权邻接矩阵的一般示例。图3示出了图300,其具有如图所示的通过边互连的四个节点1-4(n=4)。

图4示出了针对图300构建的基本(4x4)nxn邻接矩阵的示例。邻接矩阵400的每行i(i=1...n)表示图300中的特定节点i。类似地,邻接矩阵400中的每列j(j=1...n)表示图300中的特定节点j。每当两个节点i、j之间存在边(链接)时,邻接矩阵将具有表示边的正条目aij=1;在两个节点之间不存在边(链接)的情况下,邻接矩阵将具有零条目。由于节点没有通过边与其自身互连,所以i=j的所有条目用零来填充。

图5示出了针对图300构建的行归一化nxn(4x4)加权邻接矩阵500(或s)的示例。对于图4的邻接矩阵,加权邻接矩阵500的每行i(i=1...n)表示图300中的第i个节点。类似地,邻接矩阵500中的每列j(j=1...n)表示图300中的特定节点j。加权邻接矩阵500与基本邻接矩阵400的不同在于,每当两个节点i、j之间存在边(链接)时,邻接矩阵将具有正条目aij>0,正条目aij>0现在不仅表示节点i、j之间存在边而且表示该边的确定的(并且在本示例中经行归一化的)权重或强度;与之前一样,在两个节点之间不存在边(链接)的情况下,加权邻接矩阵将具有零条目。同样,由于节点没有通过边与其自身互连,所以i=j的所有条目用零来填充。

在步骤112中,过程100包括确定一个或多个锚节点的集合,其中锚节点表示图200的被认为是用户感兴趣的特定对象节点和/或特征节点(例如,在一个实施例中,可以基于如下面进一步描述的用户输入来确定锚节点)。在示例性实施方式中,可以使用nx1锚向量u来表示锚节点,其中向量u的每个位置或索引i(i=1...n)表示在步骤106中构建的图中的n个节点中的第i’个节点,并且向量u中的正条目ui>0(例如,ui=1)表示对图中的该节点作为锚节点的选择,而空值ui=0指示未选择该节点作为锚节点。在一些实施例中,第一选择的锚节点可以具有比向量u中的第二选择的锚节点更高的向量u中的正条目,这表示用户对于选择两个节点作为锚节点的偏好并且还指示第一选择的锚节点被用户认为比第二个选择的锚节点更重要(或更高优先级)。在一些实施例中,向量u的值可以被归一化在0和1之间。

在步骤114中,过程100包括基于所确定的节点评分,对图200的节点从最高到最低排名,其中节点的评分是基于所选择的锚节点确定的。步骤114的结果是基于图的所有节点的评分将所有节点从最高到最低排名,其中排名相对较高的节点被认为比排名相对较低的节点更类似于锚节点或者与锚节点更相关,锚节点被选择作为用户感兴趣的节点。换言之,经评分的对象或经评分的特征节点的排名越高,其与锚节点的相似性或相关性就越高,并且因此其与用户的潜在相关性就越高。

在一个实施例中,可以通过使用个性化页面排名(ppr)算法来生成近似解,以确定节点的评分。ppr基于对公知页面排名算法的修改,将用户的偏好考虑在内。

根据本实施例,在步骤114中,处理器可以被配置为通过迭代求解v(m)t=v(m-1)t[(1-a)s+a1.ut]来确定ppr,其中1是长度为n的1的列向量(1的nx1向量),u是表示被认为是用户感兴趣的所选择的锚定节点的nx1归一化向量(步骤112),s是所确定的nxn行归一化加权邻接矩阵(步骤110),并且a是(0,1)之间的预定常数或固定数以确保解的稳定性并实现一定水平的个性化,v(m-1)是迭代m-1处的图中的所有节点的nx1评分向量,并且v(m)是迭代m处的图中的所有节点的nx1评分向量。开始,v(m=0)可以被零条目填充。因此,在给定的迭代m处,v(m)给出了图的每个节点到锚向量u所表示的锚定节点的相似性评分。

尽管可以用任意期望迭代次数来迭代地计算ppr,其中总体上迭代次数越大,近似解越好,但是已经发现,结合本文所述过程100的步骤的三至五次迭代给出了在标识图的可以被认为与所选择的锚定节点相对更密切相关的节点方面足够好的结果。因此,在一个示例性实施例中,处理器可以迭代地计算v(1)、v(2)、和v(3),并且对在最后一次迭代v(3)中生成的节点评分排名,以使得具有较高评分的节点比具有较低评分的其他节点排名相对更高(并且排名较高的节点被认为比排名较低的节点与所选择的锚词语更相关并且更可能使用户所感兴趣)。在另一实施例中,处理器还可以迭代地计算v(4)和v(5),并且对最后一次迭代v(5)中生成的节点评分排名,以使得在最后一次或第5次迭代中具有较高评分的节点比具有较低评分的其他节点排名相对更高。在又一实施例中,处理器可以迭代地计算预定或期望次数的迭代(例如,3或5),并且另外在从最高到最低对评分排名之前聚合每次迭代之后的评分。已经发现,在一些情况中,每次迭代之后的这种评分聚合可以提供对图中类似于所选择的锚节点的节点的更好排名。

将理解的是,以上描述的过程100的步骤允许使用其他算法和修改来确定图200的节点的排名和评分,以确定根据该过程的最类似于所选择的锚节点的节点。因此,在其他实施例中,可以使用不同技术来基于所选择的锚定节点对节点进行排名。仅提供一个这样的示例,在替代实施例中,处理器可以通过对以上由累计的个性化页面排名(cppr)向量w(m)而确定的近似解v(1)、v(2)、...、v(m)求平均来确定节点的经排名的评分,其中w(m)=(v(0)+v(1)+v(2)+...+v(m)/m。已经发现,该累计的评分特别是在与标量a的高值和相对较小的迭代次数m结合时可以提供对于标准数据库查询中的二元或布尔匹配的良好代理。在一些实施例中,w(m)可以在分布式平台上或者甚至专用微芯片上被并行求解,以加速计算。

在步骤116中,过程100包括在(例如,诸如膝上型电脑、计算机、智能电话、平板、智能tv等用户设备的)显示器上呈现经排名的节点,以供用户的进一步导航或选择。尽管在一些实施例中图100的所有节点可以按照它们的相对排名被显示,但是在存在非常大量节点的情况下这样做可能是不实际的。另外,即使节点的数目是可管理的,用户也可能不希望看到相对于其他排名高得多的节点的排名非常低的节点。因此,在一个示例性实施例中,在步骤116中,过程100可以包括选择最高排名的数目x个的节点的子集并向用户显示这些节点,其中排名较低的所有其他节点不在显示器上被示出。在一个实施例中,最高排名的节点可以被显示为排名列表(例如,按照降序排名顺序),以供用户的进一步导航(与关于所选择的锚节点的信息一起)。但是,在下面描述的示例性实施例中,最高排名的节点可以如图6所示更图形化地被显示,以在视觉上帮助用户快速识别出与用户感兴趣的锚节点最相关的节点。将理解的是,gui600仅仅是一个示例,并且在不偏离本公开的原理的情况下很多修改将是显而易见的。

在图6中,gui600中显示的每个气泡表示图200的节点。更具体地,气泡602表示图200中的在过程100的步骤112中被选择作为锚节点的节点集合。另外,气泡604表示基于使用锚定节点集合而确定的图200的节点评分的图的经排名的节点(步骤114)。每个气泡可以与描述该气泡表示的一个或多个节点的标签相关联。相关联的标签可以作为气泡内的文本被显示给用户,或者标签可以在用户将鼠标指针移动到该气泡上时被显示给用户。最接近锚节点602的气泡604表示图200的排名相对较高的节点,同时距离锚节点相对较远的气泡604表示图200的排名相对较低的节点。气泡的相对排名也可以基于尺寸来指示,其中较大尺寸的气泡604可以表示比较小尺寸的气泡604排名更高的节点。在一个实施例中,例如,气泡的尺寸和/或与锚节点的距离可以由该节点的评分值v(m)或w(m)确定。

在gui600中可以示出很多不同类型的视觉提示(颜色、尺寸、形状、底纹、字体、阴影、文本等),以帮助用户导航显示给用户的信息。例如,在各种实施例中,表示对象节点的气泡可以相比表示特征节点的气泡被不同地显示。另外,表示不同类别的特征的气泡可以被不同地显示,以使得用户可以快速识别出属于特定类别的经排名的节点。用户可以使用鼠标、键盘、或触摸屏来放大、缩小、剪裁、或在大小上调整gui600所显示的信息,包括请求在gui600中显示更多或更少数目的气泡。

用户在触摸屏上对气泡的鼠标点击或轻拍可以被理解为对于关于气泡所表示的特征或对象节点的信息的请求。例如,在触摸屏显示器上对象节点的鼠标双击或双次轻拍可以被理解为从存储电子对象的数据存储库取回该电子对象的请求。在电子对象为文档、出版物、网页等的情况中,鼠标双击或轻拍可以导致从例如,服务器设备取回文档、出版物、网页等并将其传输到用户的设备,其中其可以自动地或经由第三方应用被打开并在gui600中呈现给用户。在双击或轻拍的对象节点包括诸如图像、音频、视频等非文本信息的情况中,这样的内容可以自动地或经由第三方应用被发送并在gui600中被适当地显示或播放给用户。对特征节点的鼠标双击或轻拍可以被理解为对于包括该特征的电子对象的列表的请求。对所列出的电子对象中的包括该特征的一个电子对象的进一步双击或轻拍可以被理解为对于相应电子对象的内容的请求。

对所显示的表示对象或特征节点的气泡的鼠标单击或触摸屏轻拍可以被确定为用户选择相应的目标或特征节点作为锚节点(从而用户感兴趣的搜索词语或查询)的指示。通过对gui600中的相应气泡的鼠标点击或轻拍可以选择多个对象和特征节点作为锚节点。用户还可以点击或轻拍锚节点气泡602来移除一个、一些、或所有当前选择的锚节点。

当gui600中的用户动作指示添加、移除、或修改锚节点时,过程100可以返回并且可以动态而实时地重新执行步骤112-116以更新与用户关于锚节点的选择或偏好相对应的显示结果。这将包括基于用户所指示的针对一个或多个显示节点的偏好来在步骤112中动态地更新所确定的一个或多个锚节点的集合和锚向量u,并且还包括通过在步骤114中基于经更新的锚向量u而更新图的所有节点评分来动态地更新图200的所有节点的从高到低的排名。在步骤116中,排名被更新的节点将在显示器上被显示给用户。以这种方式,用户可以被提供如下能力,该能力用以指示用户的偏好以及动态操纵显示给用户的经排名的信息,从而基于用户偏好或兴趣来进一步完善图200的节点排名。

可以通过多种方式来确定用于对节点进行排名的锚节点的初始选择(即,步骤112)。在一方面,可以向用户呈现包括文本框608的简化gui600。用户可以将一个或多个关键词输入到文本框608中,作为用户感兴趣的搜索词语或查询。在过程100的步骤112中可以使用用户所输入的关键词以选择相应的对象和特征节点作为锚节点,并且该过程随后可以分别如步骤114和116中所述地对图200的节点进行评分和排名以及在gui600中向用户显示结果。

最初也可以自动设置锚节点。例如,在一个实施例中,在步骤112中,图200的每个对象节点和特征节点可以一致地被选择作为锚节点。然后,可以分别如步骤114和116中所述的对图的节点进行评分和排名,并作为默认通用排名显示给用户。在本实施例中显示的结果将基于无用户个性化来对节点排名,并且作为统一且平等地选择所有节点作为锚节点(或搜索词语),并且结果将基于由图200表示的电子对象群组中的所有信息来指示被认为是最相关或类似的节点。用户随后可以通过基于他或她的偏好来添加、移除、或修改锚节点来对结果进行完善,如上所述。在一个实施例中,用户不仅可以如上所述地选择锚节点,而且还可以指示某些锚节点比其他锚节点对用户更重要。在步骤116中呈现给用户的gui600可以被配置为允许用户通过各种方式(例如,有序列表、复选框等)来指示相对的重要性。

相信本文中描述的用于对电子信息排名的系统和方法在多个方面都比常规搜索引擎有利。例如,本文中公开的系统和方法使得用户能够动态地与大型的、不相干的数据语料库交互,以定位关于用户感兴趣的话题的信息。本文中公开的系统和方法适用于具有多种媒体类型的多种数据集。本文中公开的系统和方法适用于提高计算系统在根据诸如出版物、网页、文件、图像、视频、传感器数据、用户数据、社交网络数据等电子数据的文本和非文本语料库确定用户感兴趣的潜在更相关的结果方面的性能。本文中公开的系统和方法允许以如下方式显示用户可配置的数目的潜在结果,该方式基于可以由用户根据排名结果的给定集合确定的一个或多个“良好度”(或相关性)度量来揭示结果的相关性。本文中公开的系统和方法允许用户通过选择或取消选择潜在结果来交互地且动态地指导对用户潜在最感兴趣的结果的选择、排名、评分和揭示。本文中公开的系统和方法允许用户以迭代方式更快速地导航大型数据语料库以找出大型数据语料库中的相关信息,并经由迭代的锚定和个性化顺序地收窄查询。本文中公开的系统和方法允许用户指定可以被处理、排名、以及显示的数据语料库,如上所述。例如,在一方面,用户可以经由gui600中提供的一个或多个按钮指示或选择用户选择的数据语料库,诸如文件、文档、网页、多媒体的集合,其可以构成本文中描述的电子对象的来源。

本文中公开的系统和方法在很多方面都与常规搜索引擎不同。例如,本文中公开的系统和方法可以允许根据结果的相关性来显示相比通过使用常规搜索引擎所产生的典型结果列表可能实现的更多的结果。本文中公开的系统和方法允许对结果的实时或接近实时的排名和评分,这与常规搜索引擎相反,在常规搜索引擎中,对所显示的结果集合进行滤波可以减小所显示的结果集合而不改变结果本身的排名。本文中公开的系统和方法允许将经排名的结果在多个维度(例如,空间维度、几何维度等)上显示给用户,而不用常规搜索引擎所利用的显示结果的静态方式。

图7描绘了适于实现本公开的各种方面(例如,过程100的一个或多个步骤)的计算设备700的高级框图。尽管在单个块中示出,但是在其他实施例中,装置600也可以使用并行的分布式架构实现。因此,例如,各种步骤,诸如过程100的示例中示出的那些可以使用装置700基于特定实施方式来顺序地、并行地、或按照不同顺序执行。装置700包括处理器702(例如,中央处理单元(cpu)),处理器702通信地与各种输入/输出设备704和存储器706互连。装置700可以实现为例如,独立计算设备、服务器、或者作为刀片机箱中的一个或多个刀片。

处理器702是任意类型的硬件处理单元,诸如通用中央处理单元(cpu)或专用微处理器,诸如嵌入式微控制器或数字信号处理器(dsp)。输入/输出设备704可以是在处理器702的控制下操作的任何外围设备,并且被配置为向装置700输入数据或从装置700输出数据,诸如,例如,网络适配器、数据端口以及各种用户接口设备,诸如键盘、键区、鼠标、或显示器。

存储器706是适于存储电子信息的任何类型的存储器,诸如,例如,暂态随机存取存储器(ram)或非暂态存储器,诸如只读存储器(rom)、硬盘驱动存储器、压缩盘驱动存储器、光学存储器等。存储器706可以包括数据和指令,该数据和指令在被处理器702执行时可以配置或促使装置700执行或实现以上描述的功能或方面(例如,过程100的一个或多个步骤)。另外,装置700还可以包括通常在计算系统中找到的其他组件,例如,操作系统、队列管理程序、设备驱动器、或者存储在存储器706中并且由处理器702执行的一个或多个网络协议。

尽管图7示出了装置700的特定实施例,但是也可以使用一个或多个专用集成电路(asic)、现场可编程门阵列(fpga)、或硬件或软件的任何其他组合来实现根据本公开的各种方面。例如,数据可以被存储在各种类型的数据结构(例如,链接列表)中,所述各种类型的数据结构可以由使用软件、硬件、或它们的组合实现的可编程处理器(例如,cpu或fpga)访问和操纵。

尽管已经参考特定实施例描述了本文中的方面,但是将理解的是,这些实施例仅仅是本公开的原理和应用的说明。因此,将理解的是,可以对说明性实施例做出各种修改,并且在不偏离本公开的精神和范围的情况下可以设计出其他布置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1