用于识别靠前属性的用户界面的制作方法

文档序号:15307706发布日期:2018-08-31 21:16阅读:153来源:国知局

本申请要求在2015年12月31日提交的美国专利申请no.14/985,906的优先权,其全部内容由此通过引用并入本文。

本公开的实施例一般涉及生成并呈现识别靠前属性的用户界面。



背景技术:

存在过多关于内容和物品的信息,包括描述、客户评论、专家评论、其他第三方评论等。此外,技术先进的物品具有许多属性,包含突出物品能力的特征。通常,这些属性将一个物品与其他可用物品区分开来。随着技术的进步,与这些内容和物品相关联的属性对于传达特定能力、信息和特定内容或物品的使用来说,变得越来越重要。

附图说明

各个附图仅示出了本公开的示例实施例,而不应被认为限制本发明的范围。

图1是示出了根据一些示例实施例的联网系统的框图。

图2是示出了根据一些示例实施例的过滤系统的示例实施例的框图。

图3是示出了根据一些示例实施例的用于提取与产品属性相关联的描述词的示例方法的图。

图4描绘了根据一些示例实施例的用于交互式地呈现叠加图像的示例用户界面。

图5描绘了根据一些示例实施例的用于交互式地呈现具有所选择的靠前属性的其他产品的示例用户界面。

图6是示出了根据一些示例实施例的用于确定产品的靠前属性的示例方法的流程图。

图7是示出了根据一些示例实施例的用于确定与排序靠前的属性相关联的图像的示例方法的流程图。

图8是示出了根据一些示例实施例的可以安装在机器上的软件架构的示例的框图。

图9示出了根据示例实施例的具有计算机系统的形式的机器的示图表示,在所述计算机系统中,可以执行一组指令以使所述机器执行本文讨论的方法中的任意一个或多个方法。

本文提供的标题仅为方便起见,而不一定影响所使用的术语的范围或含义。

具体实施方式

以下描述包括体现本公开的示意性实施例的系统、方法、技术、指令序列和计算机器程序产品。在下文的描述中,为了解释的目的,阐述了很多细节以提供对本发明主题的各种实施例的理解。然而,对本领域技术人员将显而易见的是,本发明主题的实施例可以在没有这些具体细节的情况下实施。一般地,不必详细示出众所周知的指令实例、协议、结构和技术。

在各种实施例中,描述了用于基于检测到的产品描述和用户评论来识别和呈现产品的靠前属性的系统和方法。一个产品可能包含过多的属性,其中一些属性是产品的主要亮点,基于这些属性比基于同一产品的其他属性获得更多的赞誉和肯定的评论。这些属性被称为产品的靠前属性。过滤系统提供了通过例如从网页提取与产品相关联的属性,向每个提取的属性分配权重并且基于所分配的权重对属性进行排序来确定靠前属性的功能。

每个靠前属性具有被指定为表示该属性的对应图像。在一些实施例中,过滤系统使图像叠加在产品图像或产品描述上。这些图像允许从描述产品能力的大量属性中可视地识别产品的靠前属性。在一些实施例中,用户界面允许对一个或多个表示属性的所呈现的叠加图像进行选择,其中对叠加图像的选择表示对对应靠前属性的选择。对叠加图像的选择导致呈现具有其他产品的信息的用户界面,该其他产品同样具有所选属性作为靠前属性。如整个说明书中所讨论的,术语“物品”可以是产品、出版物或其他内容的形式。

参考图1,示出了高级的基于客户端-服务器的网络架构100的示例实施例。联网系统102经由网络104(例如,互联网或广域网(wan))向客户端设备110提供服务器侧功能。在一些实现中,用户(例如,用户106)使用客户端设备110与联网系统102交互。图1示出了例如在客户端设备110上执行的web客户端112(例如浏览器,例如由华盛顿州雷德蒙德的公司开发的internet浏览器)、客户端应用114和程序客户端116。客户端设备110可以单独、一起或以任何合适的组合的方式包括web客户端112、客户端应用114和程序客户端116。尽管图1示出了一个客户端设备110,在其他实现中,网络架构100包括多个客户端设备。

在各种实现中,客户端设备110包括计算设备,该计算设备至少包括显示器和经由网络104提供对联网系统102的访问的通信能力。客户端设备110包括但不限于:远程设备、工作站、计算机、通用计算机、互联网设备、手持设备、无线设备、便携式设备、可穿戴计算机、蜂窝或移动电话、个人数字助理(pda)、智能电话、平板电脑、超级本、上网本、膝上型计算机、台式机、多处理器系统、基于微处理器或可编程消费电子设备、游戏控制台、机顶盒、网络个人计算机(pc)、迷你计算机等。在示例实施例中,客户端设备110包括触摸屏、加速度计、陀螺仪、生物统计传感器、相机、麦克风、全球定位系统(gps)设备等中的一个或多个。

客户端设备110经由有线或无线连接与网络104通信。例如,网络104的一个或多个部分包括自组织(adhoc)网络、内联网、外联网、虚拟专用网(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、互联网的一部分、公共交换电话网(pstn)的一部分、蜂窝电话网络、无线网络、无线保真网络、全球微波接入互操作性(wimax)网络、另一类型的网络、或其任何合适组合。

在一些示例实施例中,客户端设备110包括应用(也称为“app”)中的一个或多个,所述应用例如是但不限于:web浏览器、书阅读器应用(可操作以阅读电子书)、媒体应用(可操作以呈现包括音频和视频的各种媒体形式)、健身应用、生物统计监视应用、消息应用、电子邮件(email)应用、电子商务网站应用(也称为“市场应用”)。在一些实现中,客户端应用114包括可操作以向用户呈现信息并与联网系统102通信的各种组件。在一些实施例中,如果电子商务网站应用被包括在客户端设备110中,则该应用被配置为本地提供用户界面以及功能中的至少一些,其中该应用被配置为根据需要与联网系统102通信,以获得本地不可用的数据或处理能力(例如,访问可供销售的物品的数据库、认证用户、验证支付方法等)。相反,如果电子商务网站应用未被包括在客户端设备110中,则客户端设备110可以使用其web浏览器来访问联网系统102上容纳的电子商务网站(或其变型)。

在各种实施例中,用户(例如,用户106)包括人、机器或与客户端设备110交互的其他装置。在一些示例实施例中,用户不是网络架构100的一部分,而经由客户端设备110或另一装置与网络架构100进行交互。例如,用户向客户端设备110提供输入(例如,触摸屏输入或字母数字输入),并且该输入经由网络104被传送到联网系统102。在这种情况下,联网系统102响应于从用户接收输入,经由网络104将信息传送到客户端设备110以呈现给用户。以这种方式,用户可以使用客户端设备110与联网系统102交互。

网络客户端112经由网络服务器122支持的网络接口来访问联网系统102的各种系统(例如,发布系统142)。类似地,编程客户端116和客户端应用114经由api服务器120提供的编程接口来访问联网系统102提供的各种服务和功能。例如,程序客户端116可以是卖家应用(例如,由加利福尼亚州圣何塞的公司开发的turbolister应用),其用于使卖家能够以离线方式创作和管理联网系统102上的列表,并且执行程序客户端116与联网系统102之间的批处理模式通信。

应用程序接口(api)服务器120和web服务器122耦合到一个或多个应用服务器140,并且分别向一个或多个应用服务器140提供编程和web接口。应用服务器140容纳一个或多个发布系统142、支付系统144和过滤系统150,其中每个系统包括一个或多个模块或应用,并且每个系统可以被实现为硬件、软件、固件或其任何组合。相应地,应用服务器140被示为耦合到一个或多个数据库服务器124,所述数据库服务器促进对一个或多个信息存储库或数据库126的访问。在示例实施例中,数据库126是将要公告的信息(例如,发布或列表)存储到发布系统142的存储设备。根据一些示例实施例,数据库126也存储数字商品信息。

另外,在第三方服务器130上执行的第三方应用132被示为具有经由api服务器120提供的编程接口对联网系统102的编程访问。例如,第三方应用132利用从联网系统102获取的信息,支持第三方所拥有的网站上的一个或多个特征或功能。例如,第三方网站提供由联网系统102的相关应用支持的一个或多个促销、市场或支付功能。

发布系统142向访问联网系统102的用户提供多个发布功能和服务。支付系统144同样提供多个功能以执行或便于支付和交易。虽然发布系统142和支付系统144在图1中都被示为形成联网系统102的一部分,但是应当理解,在备选实施例中,每个系统142和144可以形成与联网系统102分离且不同的支付服务的一部分。在一些示例实施例中,支付系统144可以形成发布系统142的一部分。

在一些实现中,过滤系统150提供用于确定与产品相关联的靠前属性的功能。确定靠前属性的操作包括从网页提取与产品相关联的属性,为每个提取的属性分配权重,以及基于所分配的权重对属性进行排序。在一些实施例中,过滤系统150使图像叠加在产品图像或产品描述上,图像表示与产品相关联的靠前属性。所呈现的图像允许从描述产品功能的大量属性中可视地识别产品的靠前属性。这些叠加在网页内容上的图像可以完全覆盖或部分覆盖产品图像或产品说明的各个部分。在其他实施例中,叠加图像不覆盖产品图像或产品描述。在又一些实施例中,用户界面允许选择一个或多个所呈现的叠加图像,其中每个叠加图像与相应属性相关联。对叠加图像的选择导致还呈现显示其他产品的用户界面,该其他产品同样具有所选属性作为靠前属性。在示例实施例中,过滤系统150与客户端设备110、第三方服务器130、发布系统142(例如,检索列表)和支付系统144(例如,购买列表中的物品)进行通信。在一个实施例中,过滤系统150是发布系统142的一部分。下面将结合图2来进一步讨论过滤系统150。

此外,虽然图1所示出的网络架构100采用客户端-服务器架构,但是本发明主题当然不限于此种架构,并且可以同样良好地应用于例如分布式或对等架构系统。应用服务器140的各种系统(例如,发布系统142和支付系统144)还可以被实现为独立的软件程序,其不一定具有联网能力。

图2是根据示例实施例的提供用于确定与产品相关联的靠前属性的功能的过滤系统150的框图。在一些实施例中,过滤系统150提供进一步的功能以确定与每个排序靠前的属性相关联的图像,并使图像与产品相关联地显示在用户界面上。所显示的图像可以叠加在产品图像上、叠加在产品说明上、或与产品图像和产品说明并排显示在用户界面上。在一个实施例中,过滤系统150包括呈现模块210、通信模块220、数据模块230、提取模块240、排序模块250和叠加模块260。图2的模块210-260中的全部或一些例如经由网络耦合、共享存储器、总线等彼此通信。应当理解,模块210-260中的每个模块可以实现为单个模块,组合成其他模块,或者进一步细分为多个模块。过滤系统150中还可以包括与示例实施例不相关的其他模块,但是没有示出。

在一些实现中,呈现模块210提供可操作以交互地呈现和接收来自用户的信息的各种呈现和用户界面功能。例如,呈现模块210使得将排序靠前的属性与产品相关联呈现于在客户端设备上显示的用户界面上。此外,呈现模块210使得在用户界面上显示与排序靠前的属性相关联的图像。所显示的图像可以叠加在产品图像上、叠加在产品说明上、或与产品图像和产品说明并排显示。下面将结合图4来进一步讨论叠加图像的呈现。此外,响应于对一个或多个属性的选择(例如,经由叠加图像),呈现模块210使得呈现显示其他产品的信息的新用户界面或修订用户界面,该其他产品也包括所选属性以作为靠前属性。对其他产品的信息的呈现允许比较包括所选靠前属性的产品。下面结合图5进一步讨论包括类似靠前属性的其他产品的呈现。

在各种实现中,呈现模块210呈现信息或引起信息呈现(例如,在屏幕上可视地显示信息、声音输出、触觉反馈)。交互地呈现信息旨在包括在特定设备和用户之间的信息交换。用户可以用许多可能的方式提供与用户界面交互的输入,例如字母数字、基于点(例如,光标)、触觉、或其他输入(例如,触摸屏、触觉传感器、光传感器、红外传感器、生物统计传感器、麦克风、陀螺仪、加速度计或其他传感器)等。应当理解,呈现模块210提供许多其他用户界面以促进本文描述的功能。此外,应当理解,本文所使用的“呈现”旨在包括向特定设备传送信息或指令,该特定设备可操作以基于所传送的信息或指令执行呈现。

通信模块220提供各种通信功能和web服务。例如,通信模块220提供网络通信,例如,与联网系统102、客户端设备110和第三方服务器130通信。在各种实施例中,网络通信能够通过有线或无线方式操作。web服务旨在包括从第三方服务器130、数据库126和应用服务器140获取信息。在一些实现中,由通信模块220获取的信息包括与用户相关联的数据(例如,来自在线帐户的用户简档信息、与用户相关联的社交网络服务数据)、与发布系统142上列出的一个或多个物品或产品相关联的数据(例如,物品的图像、物品的评论、物品价格)、用于促进本文描述的功能的其他数据。通过这种方式,经由网络104,通信模块220促进与过滤系统150、客户端设备110和第三方服务器130之间的通信。

数据模块230被配置为在数据库126中提供经由数据库服务器124访问和更新产品信息的功能。数据模块230访问与可用产品相关联的产品数据以供提取器模块240使用。在实施例中,数据库126存储与某些产品相关的属性信息,产品被存储在产品类别中。例如,产品是相机,并且与相机相关的属性可以是组成相机的任何属性,例如镜头质量、电池寿命、图像质量、视频质量、价值、人机工程质量、构建质量、美感等。这些属性(例如,主属性)还可以包括与主属性直接相关的次属性。例如,主属性“镜头质量”的次属性可以包括变焦、自动对焦技术等。

此外,数据库126内的每个属性具有可视地描绘该属性的相关联图像。这些与其相应属性相关联的图像可以是用于指定该相应属性的国际公认符号的形式,或者可以是自定义符号的形式。下面结合图4来进一步讨论与相应属性相关联的图像。每个类别也可以具有子类别。例如,在这个特定的相机类别中,子类别可以是数字单反(dslr)相机、防水相机、摄像机、安全相机等。

在一些实施例中,数据模块230存储与描述词相关联的预定值,描述词用于描述属于数据库126中的产品的某些属性。预定值反映了当涉及属性时描述词的权重。例如,针对相机产品的产品评论可以是“与同行相比的最佳镜头”。描述词“最佳”描述属性“镜头”。描述词可以是积极词、中性词、消极词、形容词、副词,城市俚语等形式。积极描述词包括但不限于优越、优秀、惊人、真棒、很棒等。消极描述词可以包括但不限于令人失望、低质量、差、不好等。城市俚语描述词反映了社会中常用的词,但这些词没有在任何词典中被官方认可。提取模块240提供用于从任何电子文档(例如,网页)识别并提取一个或多个产品的属性的功能。通过识别来自电子文档的属性与针对特定产品类别存储在数据库126内的属性组之间的匹配来识别这些属性。属性之间的匹配不需要是完全匹配。例如,在电子文档中识别出的属性“镜头”和“长焦镜头”可以构成针对数据库126内镜头质量属性的匹配。提取模块240可以通过提取属性“镜头”并将“镜头”属性与数据库内的属性进行匹配,以从数据库中确定产品的类别。数据库内的“镜头”属性与包括其他类似属性的类别和子类别相关联。例如,属性“镜头”与相机类别相关联,并且相机类别包括诸如“长焦镜头”的其他属性。提取模块240还根据产品的类别识别所提取的文本内容中与存储在数据库中的属性集合相匹配的属性。

在一些实施例中,提取模块240提供其他功能以在电子文档内识别并提取描述产品的一个或多个属性的描述词。通过识别电子文档中的描述词与存储在数据库126内的描述词之间的匹配来识别描述词。描述词与它描述的属性相关联,并且可以紧接在属性之前或紧接在属性之后出现。

在一个示例中,针对描述“真棒的电池寿命”,提取模块240通过识别电子文档内的词“电池寿命”与存储在数据库126内的属性“电池寿命”之间的匹配来识别属性“电池寿命”。然后,从紧接在属性之前或紧接在属性之后的词中识别出描述词。在这个示例中,描述词被识别为“真棒”并且紧接在属性“电池寿命”之前出现。在一些实施例中,这些描述词不必紧接在属性之前或紧接在属性之后出现,而是接近(例如,在附近但不一定相邻)属性。此外,描述词可以是形容词、副词或描述该属性的任何其他形式。下面结合图3来进一步讨论描述词与对应属性的识别和关联。在又一些实施例中,从多于一个电子文档(例如,从来自不同领域的多个电子文档)中识别并提取属性和描述词。这些属性和描述词被汇总并存储在数据库126中以供排序模块250和叠加模块260使用。

排序模块250提供了向每个描述词分配权重并基于分配的权重对属性进行排序的功能。每个描述词都有一个存储在数据库126中的相关联权重。一般来说,描述词越积极,分配的权重越高。权重可以是数值,较大的值表示较高的权重。例如,描述词和分配的权重值关系可以包括:“优越”分配权重值9,“最佳”分配权重值8,“真棒”分配权重值7,“优秀”分配权重值7,“好”分配权重值6,“还不错”分配权重值5,“差”分配权重值4,“令人失望”分配权重值3,“糟糕”分配权重值2,等等。在一些实施例中,不同的描述词可以被分配相同的权重值。

在一些实施例中,排序模块250确定用于描述属性的所有描述词内的描述词异常值。在对属性进行排序时,被确定为异常值的描述词不被排序模块考虑。排序模块250可以使用描述词与描述相同属性的一组描述词的均值的关系的z分数(z-score)统计测量来确定异常值。z分数统计测量反映描述词与均值相差多少标准偏差。使用z分数,排序模块250可以通过将z分数与预定阈值范围进行比较来确定异常值,其中高于或低于阈值范围的任何z分数表示关联描述词是异常值。在一些实施例中,异常值被过滤并从进一步的分析中移除。异常值反映累积数据中的噪声,可能无法准确反映属性。例如,在描述相机电池寿命属性的一百个描述词中,九十九个描述词是积极的,而一个是非常消极的。该一个非常消极的描述词被确定为异常值,因为它可能不能准确地反映电池寿命属性,因此被视为噪音。在其他实施例中,使用包括均值、中值和模数的附加标准统计来确定异常值。

在其他实施例中,排序模块250计算与每个属性相关联的平均权重值。在电子文档内,属性可能有多个描述词。在异常值被过滤之后,对应属性的剩余权重值被平均,并且单个平均加权值与属性相关联。在一些实施例中,与次属性相关联的加权值被计为主要词的一部分。例如,与次属性“大变焦”和“优秀的自动对焦技术”相关联的描述词计入主属性“镜头质量”的平均权重值。基于平均权重值,排序模块250基于对应的平均权重值对属性进行排序。

叠加模块260提供用于确定与预定数量的排序靠前的属性中的每一个相关联的图像的功能。排序靠前的属性是具有最大平均权重值的属性。换句话说,排序靠前的属性反映了由其他用户描述和评估的产品所描述的针对该特定产品突出的突出特征。排在前n位的属性是预定数量的靠前属性(例如,前3位或任何其他数字)。

对于每个排序靠前的属性,都有一个对应的图像可从数据库126中检索以包含在用户界面中。如上所述,图像可以是图标,该图标是通常公认符号或与属性相关联的自定义图像的形式。如以上全面详述的,与呈现模块210相关联的叠加模块260使这些图像叠加在用户界面的内容上。用户界面的内容在未叠加图像的位置保持可见。如上所述,图像可以叠加在关联产品的详细描述部分上,或叠加在产品本身的图像上。在一些实施例中,图像可以叠加在属性所在并被从电子文档中提取的位置。在其他实施例中,图像叠加到电子文档的一侧,并且随着电子文档的内容滚动到不同的页面而保持显示。在其他实施例中,与图像相关联的排序靠前的属性的位置被标记并突出显示以进一步区分排序靠前的属性与其他文本内容。

图3是示出了用于识别并提取描述电子文档(例如,网页)内的产品属性的描述词的示例方法的图。通过提取模块240执行针对网页上的词与数据库126内的属性组之间的匹配的搜索来识别网页内的属性。例如,通过将网页上的属性310与数据库126内的属性“视频质量”的匹配,属性310被识别为“视频质量”。属性之间的匹配不需要是完全匹配。例如,属性320“可充电电池”可以被视为与数据库126内的属性“电池寿命”相匹配。即使术语不相同,也可以识别出这种匹配,并可以使用数据库126的同义词列表来确定。其他属性可以在图3中被识别并提取,但目前尚未描述,如镜头质量、配件等。

提取模块240还可以通过识别接近识别出的属性320和310出现的描述来识别描述词330和340。描述词可以紧接在属性之前(或接近属性之前)出现,例如描述词330。描述词330“持久的”描述属性320“可充电电池”。描述词也可以接近属性之后出现。例如,描述词350“令人失望的”描述属性360“镜头”。描述词和对应属性根据其在单个分句或短语中的位置被识别为对应的对。其他描述词可以在图3中识别并提取,但目前尚未描述,例如优越、最佳、很棒、优秀、真棒等。上面结合图2完整地描述了进一步的细节。

在一些实施例中,每个提取的描述词被分配权重。分配的权重从数据库126确定。分配的权重可以是数值,其中较高的权重值反映更积极的描述词。在一些实施例中,不同的描述词可以被分配相同的权重值。在一个示例中,描述词365(“优越”)被分配权重值8,描述词367(“最佳”)被分配权重值7,描述词369(“优秀”)被分配权重值6,描述词371(“真棒”)被分配权重值6,描述词340(“惊人”)被分配权重值5,描述词377(“很棒”)被分配权重值4,描述词373(“持久的”)被分配权重值3,描述词379(“低质量”)被分配权重值2,描述词350(“令人失望的”)被分配权重值1,等等。在其他实施例中,权重可以是系数或任何其他类型的权重值。

在示例实施例中,排序模块250计算与每个属性相关联的平均权重值。例如,“视频质量”属性310具有几个关联描述词,包括分别具有所分配的权重值5、6和4的描述词340、描述词369(“优秀”)和描述词377(“很棒”)。每个属性的平均权重是通过对与相同属性相关联的所有权重值取平均值来确定的。在这个示例中,属性310“视频质量”的平均权重为7.5(权重值5、6和4的平均值)。上面结合图2中的排序模块250完整地描述了权重分配的进一步的细节。

图4-图5描绘了用于向用户交互地呈现信息的示例用户界面。尽管图4和图5描绘了具体的示例用户界面和用户界面元素,但是这些仅仅是非限制性示例,并且许多其他替代用户界面和用户界面元素可以由呈现模块210生成并呈现给用户。将注意到,图4-图5的显示的替代呈现可以包括附加的信息、图形、选项等;其他呈现包括较少的信息,或提供易于用户使用的缩减的信息。

图4是示出了用于交互式地呈现与每个排序靠前的属性相关联的图像的示例用户界面400的图。基于针对每个属性计算出的平均权重值,排序模块250基于相应的平均权重值对属性进行排序,其中平均权重值越高,关联属性排序越高。继续图3中所示的示例,将前三个属性确定为属性“镜头质量”、属性“电池寿命”和属性“视频质量”。

叠加模块260确定与每个排序靠前的属性相关联的图像。虽然这个示例示出了前三个属性,但是可以理解,排序靠前的属性可以是任何预定数量的属性。叠加模块260访问数据库126以识别与前三个属性中的每一个相关联的图像。在这个示例中,图像410(表示“镜头质量”)、图像420(表示“电池寿命”)和图像430(表示“视频质量)被识别为与前三个属性中的每一个相关联的图像。图像会呈现在显示网页的用户界面上。可选地,与每个图像一起的是被呈现来描述图像的文本描述,诸如描述图像410的文本描述367。

在一些实施例中,图像410、420和430被叠加在产品描述440上。图像可以是透明的,因此可以透过图像看到产品描述440。在其他实施例中,图像410、420和430被叠加在产品图像450上。在其他实施例中,图像叠加在用户界面的一侧,并且随着用户界面的内容滚动到不同的页面而保持显示。在一些实施例中,可以透过叠加图像看到用户界面上的任何内容。

在一些实施例中,叠加模块260呈现可选择的元素460、470和480,其中对可选择元素的选择导致对相关联的排序靠前的属性的选择。对可选择元素460的选择是对靠前属性“镜头质量”的选择,并且对可选择元素470的选择是对靠前属性“电池寿命”的选择。对可选择元素460和470的选择会导致搜索其他产品,该其他产品包括将所选属性“镜头质量”和“电池寿命”作为这些产品的靠前属性的产品。例如,如图5所示,搜索结果显示其他具有镜头质量和电池寿命的靠前属性的相机,包括相机520、530和540。在一些实施例中,针对每个产品示出的产品描述被截断以显示与靠前属性相关联的评论。用户还可以选择查看完整评论。

图6是示出了用于确定产品的排序靠前的属性的示例方法600的流程图。在操作610,提取模块240从描述产品的网页提取文本内容。

在操作620,使用所提取的文本内容,提取模块240识别与产品相关联的多个属性。通过对来自网页的提取文本内容与数据库内的属性集合之间的匹配执行搜索来识别属性。

在操作630,提取模块240在所提取的文本内容中检测接近该多个属性中每个属性的描述词。描述词与它描述的属性相关联,并且可以紧接在属性之前出现,紧接在属性之后出现,或位于属性附近。这些描述词可以是形容词、副词或描述该属性的任何其他形式。

在操作640,排序模块250向接近该多个属性中每个属性的每个描述词分配权重。一般来说,描述词越积极,分配的权重越高。权重可以是数值,较大的值表示较高的权重。

在操作650,排序模块250基于接近该多个属性中每个属性的描述词的权重来对该多个属性进行排序。

在操作660,呈现模块210在用户界面中呈现来自该多个属性的预定数量的排序靠前的属性。

图7是示出了用于呈现与每个排序靠前的属性相关联的图像的示例方法700的流程图。在操作710,叠加模块260确定与每个排序靠前的属性相关联的图像。图像可以是图标,该图标是通常公认符号或指定给属性的自定义图像的形式,如结合图5所详细描述的。

在操作720,呈现模块210使得图像与产品相关联地显示在用户界面上。显示器可以将图像叠加在用户界面的内容上,例如叠加在产品图像上,叠加在产品描述上,或者沿着结合图5所详细描述的轴叠加在网页的一侧。

模块、组件和逻辑

某些实施例在本文中被描述为包括逻辑或多个组件、模块或机构。模块可以构成软件模块(例如在机器可读介质上或在传输信号中体现的代码)或硬件模块。“硬件模块”是能够执行某些操作的有形单元,并且可以按照某种物理方式配置或布置。在各种示例实施例中,一个或多个计算机系统(例如独立的计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或多个硬件模块(例如处理器或处理器组)可由元件(例如应用或应用部分)配置为操作为执行本文描述的特定操作的硬件模块。

在一些实施例中,硬件模块可以按照机械方式、电子方式或其任意适当组合来实现。例如,硬件模块可以包括永久地被配置为执行特定操作的专用电路或逻辑。例如,硬件模块可以是专用处理器,如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件模块还可以包括由软件临时配置为执行特定操作的可编程逻辑或电路。例如,硬件模块可以包括通用处理器或其他可编程处理器中包含的软件。应理解:以机械方式、以专用和永久配置的电路或以临时配置的电路(例如由软件配置)实现硬件模块的决定可出于成本和时间的考虑。

因此,短语“硬件模块”应理解为涵盖有形实体,是在物理上构造、永久配置(例如硬线连接)或临时配置(例如编程)为以特定方式操作或执行本文描述的特定操作的实体。如本文所使用的,“硬件实现的模块”指硬件模块。考虑临时配置(例如编程)硬件模块的实施例,无需在任一时刻配置或实例化硬件模块中的每一个。例如,在硬件模块包括被软件配置成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间被配置为分别不同的专用处理器(例如包括不同的硬件模块)。因此,软件可以将特定的一个或多个处理器例如配置为在一个时刻构成特定硬件模块并在另一时刻构成不同的硬件模块。

硬件模块可以向其他硬件模块提供信息并从其他硬件模块接收信息。因此,所描述的硬件模块可以被看作通信地耦合。如果同时存在多个硬件模块,则可以通过两个或更多个硬件模块之间的信号传输(例如通过适当的电路和总线)实现通信。在多个硬件模块在不同时间配置或实例化的实施例中,可以例如通过存储并获取多个硬件模块可访问的存储器结构中的信息来实现这样的硬件模块之间的通信。例如,一个硬件模块可以执行操作并在与其通信耦合的存储设备中存储该操作的输出。另一硬件模块接着可以稍后访问存储器设备,以取回并处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且能够对资源(例如信息的集合)进行操作。

此处描述的示例方法的各种操作可以至少部分地由临时配置(例如通过软件)或永久配置为执行相关操作的一个或多个处理器执行。无论是临时还是永久配置,这样的处理器可以构成操作以执行本文描述的一个或多个操作或功能的处理器实现的模块。如本文所使用的,“处理器实现的模块”指使用一个或更多个处理器实现的硬件模块。

类似地,本文描述的方法可以至少部分地由处理器实现,其中特定处理器或多个处理器是硬件的示例。例如,方法的至少一些操作可由一个或多个处理器或处理器实现的模块执行。此外,一个或多个处理器还可操作以支持在“云计算”环境中或作为“软件即服务”(saas)执行有关操作。例如,操作中的至少一些可由计算机(作为包括处理器的机器的示例)组执行,这些操作可经由网络(例如互联网)并经由一个或多个适当接口(例如应用程序接口(api))来访问。

某些操作的执行可以分布在处理器中,并不只驻留在单个机器内,而是部署在多个机器中。在一些示例实施例中,处理器或处理器实现的模块可以位于单个地理位置(例如,在家庭环境、办公环境或服务器群中)。在其他示例实施例中,处理器或处理器实现的模块可以分布在多个地理位置中。

软件架构

图8是示出了软件802的架构的框图800,所述软件可以安装在上述任意一个或多个设备上。图8仅仅是软件架构的非限制性示例,并且将理解的是,可以实现许多其他架构以促进本文描述的功能。软件802可以通过诸如图9的机器900之类的硬件来实现,所述机器900包括处理器910、存储器930、以及i/o组件950。在该示例架构中,软件802可被概念化为层的堆栈,其中每层可以提供特定的功能。例如,软件802包括诸如操作系统804、库806、框架808和应用810的层。在操作上,根据一些实现,应用810通过软件栈调用应用编程接口(api)调用812,并响应于api调用812接收消息814。

在各种实现中,操作系统804管理硬件资源并提供公共服务。操作系统804包括例如内核820、服务822和驱动824。在一些实现中,内核820用作硬件和其他软件层之间的抽象层。例如,内核820尤其提供存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等的功能。服务822可以为其它软件层提供其他公共服务。驱动824可以负责控制底层硬件或与底层硬件接口连接。例如,驱动824可以包括显示驱动、相机驱动、驱动、闪存驱动、串行通信驱动(例如,通用串行总线(usb)驱动),驱动、音频驱动、电源管理驱动等等。

在一些实现中,库806提供可以被应用810使用的低级公共基础设施。库806可以包括可以提供诸如存储器分配功能、串操纵功能、数学功能等功能的系统830库(例如,c标准库)。另外,库806可以包括api库832,例如媒体库(例如,支持各种媒体格式的呈现和操纵的库,所述格式是比如运动图像专家组4(mpeg4)、高级视频编码(h.264或avc)、运动图像专家组层3(mp3)、高级音频编码(aac)、自适应多速率(amr)音频编解码器、联合图像专家组(jpeg或jpg)、便携式网络图形(png))、图形库(例如,用于在显示器上在图形上下文中进行二维(2d)和三维(3d)渲染的opengl框架)、数据库(例如,提供各种关系数据库函数的sqlite)、web库(例如,提供web浏览功能的webkit)等。库806还可以包括各种各样的其他库834,以向应用810提供许多其他api。

根据一些实现,框架808提供可以被应用810使用的高级公共基础设施。例如,框架808提供各种图形用户界面(gui)功能、高级资源管理、高级位置服务等。框架808可以提供可以被应用810使用的广泛的其他api,其中一些可以专用于特定的操作系统或平台。

在示例实施例中,应用810包括主页应用850、联系人应用852、浏览器应用854、书阅读器应用856、位置应用858、媒体应用860、消息应用862、游戏应用864、以及诸如第三方应用866之类的各种各样的其他应用。根据一些实施例,应用810是执行在程序中定义的功能的程序。可以采用各种编程语言来创建以各种方式结构化的应用810中的一个或多个,诸如面向对象的编程语言(例如,objective-c,java或c++)或过程编程语言(例如c或汇编语言)。在具体示例中,第三方应用866(例如,由与特定平台的供应商不同的实体使用androidtm或iostm软件开发工具包(sdk)而开发的应用)可以是在移动操作系统(诸如iostm、androidtmphone或其他移动操作系统)上运行的移动软件。在该示例中,第三方应用866可以调用由操作系统804提供的api调用812,以促进本文描述的功能。

示例机器架构和机器可读介质

图9是示出了根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)中读取指令并执行本文所讨论的方法中的任何一个或多个的机器900的组件的框图。具体地,图9示出了计算机系统的示例形式的机器900的示意图,其中可以执行指令916(例如,软件、程序、应用、小应用、app或其他可执行代码)以使机器900执行本文讨论的任何一种或多种方法。在备选实施例中,机器900作为独立设备操作或可以耦合(例如,联网)到其他机器。在联网部署中,机器900可以在服务器-客户端网络环境中以服务器机器或客户端机器的容量操作,或者作为对等(或分布式)网络环境中的对等机器操作。机器900可以包括但不限于服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能家电)、其他智能设备、web设备、网络路由器、网络交换机、网络桥接器、或能够顺序地或以其它方式执行指定机器900要采取的动作的指令916的任意机器。此外,尽管仅示出了单个机器900,但是术语“机器”也将被认为包括机器900的集合,其单独地或联合地执行指令916以执行本文讨论的方法中的任何一个或多个。

机器900可以包括处理器910、存储器930和i/o组件950,其可被配置为经由总线902彼此通信。在示例实施例中,处理器910(例如,中央处理单元(cpu)、精简指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic)、另一处理器或其任何适当组合)可以包括例如可以执行指令916的处理器912和处理器914。术语“处理器”旨在包括可以包括可以同时执行指令的两个或更多个独立处理器(也称为“核”)的多核处理器。尽管图9示出了多个处理器,但是机器900可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理)、具有单个核的多个处理器、具有多个核的多个处理器或其任意组合。

存储器930可包括经由总线902可被处理器910访问的主存储器932、静态存储器934和存储单元936。存储单元936可以包括机器可读介质938,其上存储体现本文描述的方法或功能中的任何一个或多个的指令916。在机器900执行指令期间,指令916还可以完全地或至少部分地驻留在主存储器932、静态存储器934、处理器910中的至少一个内(例如,处理器的高速缓存存储器内)或其任何合适的组合内。因此,在各种实现中,主存储器932、静态存储器934和处理器910被认为是机器可读介质938。

如本文所使用的,术语“存储器”指能够临时或永久地存储数据的机器可读介质938,并且可以被看作包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪存以及高速缓存存储器。虽然机器可读介质938在示例实施例中被示为是单个介质,但是术语“机器可读介质”应当被认为包括能够存储指令916的单个介质或多个介质(例如,集中式或分布式数据库或相关联的高速缓存和服务器)。术语“机器可读介质”还将被视为包括能够存储由机器(例如,机器900)执行的指令(例如,指令916)的任何介质或多个介质的组合,使得指令在由机器900的一个或多个处理器(例如,处理器910)执行时,使机器900执行本文所描述的方法中的任何一个或多个。因此,“机器可读介质”指单个存储装置或设备、以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。因此,术语“机器可读介质”应被理解为包括但不限于具有固态存储器(例如,闪存)、光介质、磁介质、其他非易失性存储器(例如,可擦除可编程只读存储器(eprom))或其任何合适组合等的形式的一个或多个数据储存库。术语“机器可读介质”特别地排除非法定的信号本身。

i/o组件950包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量等的各种组件。通常,应当理解,i/o组件950可以包括图9中未示出的许多其他组件。i/o组件950根据功能被分组,以便简化以下讨论,并且分组不以任何方式进行限制。在各种示例实施例中,i/o组件950包括输出组件952和输入组件954。输出组件952包括可视组件(例如显示器,比如等离子体显示面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪或阴极射线管(crt))、声学组件(例如,扬声器)、触觉组件(例如,振动马达)、其他信号发生器等。输入组件954包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光-光学键盘或其他字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他定点仪器)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势的位置和力的触摸屏或其他触觉输入组件)、音频输入组件(例如,麦克风)等。

在另一些示例实施例中,i/o组件950尤其包括生物测定组件956、运动组件958、环境组件960或位置组件962等的组件。例如,生物测定组件956包括用于检测表现(例如,手表现、面部表现、语音表现、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水或脑波)、标识人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件958包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件960包括例如照度传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如,气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、接近传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,机器嗅觉检测传感器、为安全而检测有害气体浓度或测量大气中的污染物的气体检测传感器)、或可以提供与周围物理环境相对应的指示、测量或信号的其他组件。位置组件962包括位置传感器组件(例如,全球定位系统(gps)接收机组件)、高度传感器组件(例如,高度计或检测气压的气压计(根据气压可以导出高度))、方位传感器组件(例如,磁力计)等。

可以使用各种各样的技术来实现通信。i/o组件950可以包括通信组件964,其可操作以分别通过耦合982和耦合972将机器900耦合到网络980或设备970。例如,通信组件964包括网络接口组件或与网络980接口连接的另一合适设备。在另外的示例中,通信组件964可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(nfc)组件、组件(例如,低功耗)、组件和通过其他模式提供通信的其他通信组件。设备970可以是另一机器或各种外围设备中的任一种(例如,经由通用串行总线(usb)耦合的外围设备)。

此外,在一些实现中,通信组件964检测标识符或包括可操作以检测标识符的组件。例如,通信组件964包括射频识别(rfid)标签读取器组件、nfc智能标签检测组件、光学读取器组件(例如,用于检测一维条形码(如通用产品代码(upc)条形码)、多维条形码(如快速响应(qr)码、aztec码、数据矩阵、数据字、maxicode、pdf417、超级码、统一商业码缩减空间符号(uccrss)-2d条形码以及其他光学代码)的光学传感器)、声学检测组件(例如,识别带标签的音频信号的麦克风)或其任何合适的组合。此外,可以经由通信组件964导出各种信息,例如经由互联网协议(ip)地理位置的位置、经由信号三角测量的位置、经由检测可以指示特定的位置的nfc信标信号的位置等。

传输介质

在各种示例实施例中,网络980的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、互联网,互联网的一部分、公共交换电话网络(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另一类型的网络、或两个或更多个这样的网络的组合。例如,网络980或网络980的一部分可以包括无线或蜂窝网络,并且耦合982可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或其他类型的蜂窝或无线耦合。在该示例中,耦接982可以实现各种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线电服务(gprs)技术、gsm演进增强数据速率(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准设置组织定义的其他标准、其他远程协议或其他数据传输技术。

在示例实施例中,使用传输介质在网络980上经由网络接口设备(例如,通信组件964中包括的网络接口组件)并利用多个公知传输协议(例如,超文本传输协议(http))中的任何一个来发送或接收指令916。类似地,在其他示例实施例中,使用传输介质经由耦合972(例如,对等耦合)向设备970发送或接收指令916。术语“传输介质”应被认为包括能够存储、编码或承载用于被机器900执行的指令916的任意无形介质,并且包括用于促进该软件的通信的数字或模拟通信信号或其他无形介质。

此外,机器可读介质938是非瞬时的(换句话说,不具有任何瞬时信号),这是因为它不体现传播信号。然而,将机器可读介质938标记为“非瞬时性”不应被解释为意味着介质不能移动;该介质应该被认为是可从一个物理位置移动到另一个物理位置。此外,由于机器可读介质938是有形的,所以该介质可以被认为是机器可读设备。

语言

在整个说明书中,复数实例可以实现如单个实例所描述的部件、操作或结构。虽然一个或多个方法的各个操作被示意和描述为分离的操作,但是各个操作中的一个或多个可以同时执行,并且无需按所示顺序执行操作。在示例配置中被示为分离组件的结构和功能可以被实现为组合结构或组件。类似地,被示为单个组件的结构和功能可以被实现为分离的组件。这些和其他变型、修改、添加和改进落入本文中主题的范围内。

尽管已经参考具体示例实施例描述了本发明主题的概述,但是在不脱离本公开的实施例的更宽范围的情况下,可以对这些实施例进行各种修改和改变。本发明主题的这些实施例在本文中可以单独地或共同地由术语“发明”提及,以仅仅为了方便,并且不旨在自动地将本申请的范围限制为任何单个公开或发明构思(如果事实上公开了一个以上)。

充分详细地描述了本文示出的实施例以使本领域技术人员能够实现所公开的教导。可以利用其他实施例并根据这些实施例导出其他实施例,从而可以在不脱离本公开的范围的情况下做出结构和逻辑上的替换和改变。因此,该“具体实施方式”不应当看做是限制意义,并且各种实施例的范围仅通过所附权利要求以及权利要求的等同物的全部范围来限定。

如本文所使用的,术语“或”可以被解释为包括性或排他性的意义。此外,可以针对本文中描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、模块、引擎和数据存储之间的边界在某种程度上是任何的,并且在具体说明性配置的上下文中示出了特定操作。设想了功能的其他分配,并且这些分配可以落入本公开的各种实施例的范围内。一般来说,在示例配置中作为分离资源呈现的结构和功能可以被实现为组合的结构或资源。类似地,作为单个资源呈现的结构和功能可以被实现为分离的资源。这些和其他变型、修改、添加和改进落入由所附权利要求表示的本公开的实施例的范围内。因此,说明书和附图应当被看做说明性的而不是限制意义的。

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