利用上下文分析的搜索查询增强转让专利

申请号 : CN201880069426.9

文献号 : CN111279334A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : M.德莱尼R.H.格兰特C.哈钦森

申请人 : 国际商业机器公司

摘要 :

分析用户生成搜索查询所在的上下文以生成改进的搜索查询。可参考用户简档或从用户附近的物联网(IoT)或非IoT设备收集的内容来确定搜索查询上下文。可以在生成搜索查询时或在生成搜索查询之前的时间收集内容。为上下文分析而收集的内容包括视觉显示内容(屏幕捕获)、音频内容和数据内容。

权利要求 :

1.一种计算机实现的方法,包括:

在第一设备上从搜索引擎接收基于包括第一搜索项集合的第一搜索查询的搜索结果集合;

从位于所述第一设备附近的第二设备收集一个数据集合;

确定所述搜索结果集合中的每个搜索结果的第一相关参数作为与从所述第二设备收集的所述数据集合的第一相关度;以及基于由所述第一相关参数指示的所述第一相关度从所述搜索结果确定第二搜索项集合。

2.如权利要求1所述的方法,进一步包括:接收用户的用户简档,所述用户简档包括一个兴趣集合;以及确定所述搜索结果集合中的每个搜索结果的第二相关参数作为与所述兴趣集合的第二相关度;

其中:

基于第一相关参数所指示的第一相关度从搜索结果确定第二搜索项集合包括基于第二相关参数所指示的第二相关度确定第二搜索项集合。

3.如权利要求1所述的方法,其中所述收集一个数据集包含用由所述第一设备操作的相机捕获来自所述第二设备的视觉输出的图像。

4.如权利要求1所述的方法,进一步包括:通过使用音频处理技术确定所述数据集合的内容;

其中:

所述音频处理技术包括自然语言处理。

5.如权利要求1所述的方法,其中,所述第一相关参数和所述第二相关参数是使用统计分析来确定的。

6.如权利要求1所述的方法,其中,接收用户简档包括从所述用户观看的内容的历史和所述用户的位置历史来确定用户简档组成部分。

7.如权利要求6所述的方法,其中,确定第二搜索项集合是部分地通过在从所述第二设备收集所述数据集合时和在所述用户查看所述内容时确定的。

8.如权利要求1所述的方法,其中,所述收集一个数据集合包括捕获正被输入到所述第二设备的用于生成所述第二设备的输出的数据流。

9.如权利要求1所述的方法,其中:收集一个数据集合包括捕获由第二设备输出的数据流;以及进一步包括:

通过使用嵌入在所述数据流中的元数据来确定所述数据集合的内容。

10.如权利要求1所述的方法,进一步包括:生成包括所述第二搜索项集合的第二搜索查询。

11.一种系统,包括适于执行根据前述方法权利要求中任一项所述的方法的所有步骤的装置。

12.一种计算机程序,包括用于在所述计算机程序在计算机系统上执行时执行根据前述方法权利要求中任一项所述的方法的所有步骤的指令。

说明书 :

利用上下文分析的搜索查询增强

背景技术

[0001] 本发明一般涉及数据处理领域,尤其涉及信息检索。
[0002] 物联网(IoT)是内嵌电子器件、软件、传感器、致动器和网络连接的物理设备、车辆和其他对象通过互联网的互连,网络连接使得这些对象能够收集和交换数据。IoT允许对象在现有网络基础设施上被远程地感测或控制,从而为物理世界更直接地集成到基于计算机的系统中创造了机会,除了减少人为干预之外还导致效率、准确性和经济效益的提高。IoT已经应用于包括制造、运输和农业的各种行业。为消费者使用而创建的IoT设备的部分不断增加。消费者应用的示例包括连接的汽车、娱乐、住宅和智能家庭、可穿戴技术、量化的自我、连接的健康和智能零售。消费者IoT为用户体验和界面提供了新的机会。
[0003] 搜索引擎提供连接到一组项目的接口,使得用户能够指定关于感兴趣项的标准,并使引擎找到匹配的项目。这种标准被称为搜索查询。在文本搜索引擎的情况下,搜索查询通常被表达为标识一个或多个文档所包含的期望概念的一组单词。一些搜索引擎使用户能够指定整个文档、图片、声音和各种形式的自然语言。搜索引擎对搜索查询应用改进以增加提供一组优质项目的可能性。

发明内容

[0004] 在本发明的一个方面,一种计算机实现的方法、计算机程序产品和系统包括:(i)在第一设备上接收来自搜索引擎的基于包括第一搜索项集合的第一搜索查询的搜索结果集合;(ii)从位于所述第一设备附近的第二设备收集一个数据集合;(iii)确定所述搜索结果集合中的每个搜索结果的第一相关参数,作为与从所述第二设备收集的数据集合的第一相关度;(iv)接收用户的用户简档,所述用户简档包括一个兴趣集合;(v)确定所述搜索结果集合中的每个搜索结果的第二相关参数,作为与所述兴趣集合的第二相关度;(vi)基于由所述第一相关参数指示的所述第一相关度和由所述第二相关参数指示的所述第二相关度,从所述搜索结果确定第二搜索项集合;以及(vii)生成包括第二搜索项集合的第二搜索查询。

附图说明

[0005] 图1是根据本发明的系统的第一实施例的框图;
[0006] 图2是示出至少部分地由第一实施例系统执行的第一实施例方法的流程图;
[0007] 图3是第一实施例系统的机器逻辑(例如软件)部分的框图;
[0008] 图4A是由第一实施例计算机系统生成的第一屏幕截图;和
[0009] 图4B是由第一实施例计算机系统生成的第二屏幕截图。

具体实施方式

[0010] 分析用户生成搜索查询所在的上下文以生成改进的搜索查询。搜索查询上下文可以参考用户简档从位于用户附近的物联网(IoT)或非IoT设备收集的内容来确定。内容可以在生成搜索查询时收集或者在生成搜索查询之前的时间被收集。为上下文分析而收集的内容包括视觉显示内容(屏幕捕捉)、音频内容和数据内容。本“具体实施方式”部分分为以下小节:(i)硬件和软件环境;(ii)示例性实施例;(iii)进一步的评论和/或实施例;和(iv)定义。
[0011] I.硬件和软件环境
[0012] 在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0013] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是―但不限于―电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0014] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0015] 用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0016] 这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0017] 这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0018] 也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0019] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0020] 现在将参照附图详细描述用于根据本发明的软件和/或方法的可能的硬件和软件环境的实施例。图1是示出联网计算机系统100的各个部分的功能框图,包括:搜索上下文服务器子系统102、移动电话104、计算机106、平板电脑108、电视机110、广告牌112以及通信网络114。搜索上下文服务器子系统102包含:搜索上下文服务器计算机200、显示装置212以及外部设备214。搜索上下文服务器计算机200包含:通信单元202、处理器组20、输入/输出(I/O)接口集合206、存储器设备208以及持久性存储设备210。存储器设备208包含:随机存取存储器(RAM)设备216以及高速缓存存储器设备218。持久性存储设备210包含搜索上下文程序300和数据库220。
[0021] 搜索上下文服务器子系统102在许多方面代表本发明中的不同计算机子系统。因而,现在将在以下段落中讨论搜索上下文服务器子系统102的若干部分。
[0022] 搜索上下文服务器子系统102可以是膝上型计算机、平板计算机、上网本计算机、个人计算机(PC)、台式计算机、个人数字助理(PDA)、智能电话、或能够经由通信网络114与客户端子系统进行通信的任何可编程电子设备。搜索上下文程序300是用于创建、管理和控制某些软件功能的机器可读指令和/或数据的集合,这些软件功能将在下文,即在本“具体实施方式”部分的“示例性实施例”小节中详细讨论。
[0023] 搜索上下文服务器子系统102能够经由通信网络114与其他计算机子系统通信。通信网络114可以是例如局域网(LAN)、诸如互联网的广域网(WAN)或两者的组合,并且可以包括有线、无线或光纤连接。通常,通信网络114可以是支持服务器和客户端子系统之间的通信的连接和协议的任意组合。通信网络114可以连接到托管搜索引擎(未示出)(诸如Google、Bing或Yahoo搜索引擎)的服务器。托管搜索引擎的服务器经由通信网络114返回基于查询中的搜索项(search terms)的搜索结果。
[0024] 搜索上下文服务器子系统102以具有许多双箭头的框图的形式示出。这些双箭头(没有单独的附图标记)表示提供搜索上下文服务器子系统102的各个组件之间的通信的通信结构。这种通信结构可以用被设计用来在处理器(诸如微处理器、通信处理器和/或网络处理器等)、系统存储器、外围设备和系统内的任何其他硬件组件之间传送数据和/或控制信息的任何架构来实现。例如,这种通信结构可至少部分地用一个或多个总线来实现。
[0025] 存储器设备208和持久性存储设备210是计算机可读存储介质。一般而言,存储器设备208可以包括任何合适的易失性或非易失性计算机可读存储媒质。进一步注意,现在和/或在不久的将来:(i)外部设备214可能能够为搜索上下文服务器子系统102提供一些或所有存储器;和/或(ii)搜索上下文服务器子系统102外部的设备可能能够为搜索上下文服务器子系统102提供存储器。
[0026] 搜索上下文程序300存储在持久性存储设备210中,由处理器集合204的一个或多个处理器通常通过存储器设备208进行访问和/或执行。持久性存储设备210:(i)比传输中的信号至少更持久;(ii)在有形介质(诸如磁域或光域)上存储程序(包括其软逻辑和/或数据);以及(iii)实质上不如永久性储存器持久。可替代地,数据存储可以比持久性存储设备210所提供的存储的类型更持久和/或永久。
[0027] 搜索上下文程序300可以包括实质数据(即,存储在数据库中的数据的类型)和/或机器可读和可执行指令两者。在这个特定实施例(即,图1)中,持久性存储设备210包括磁硬盘驱动器。为了列举一些可能的变体,永久性存储装置210可包括固态硬盘驱动器、半导体存储装置、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存或能够存储程序指令或数字信息的任何其他计算机可读存储媒质。
[0028] 由持久性存储设备210使用的介质也可以是可移除的。例如,可移除硬盘驱动器可以用于持久性存储设备210。其他实例包括光盘和磁盘、拇指驱动器和智能卡,它们被插入到驱动器中以便转移到也是持久性存储设备210的一部分的另一个计算机可读存储媒质上。
[0029] 在这些示例中,通信单元202提供与搜索上下文服务器子系统102外部的其他数据处理系统或设备的通信。在这些示例中,通信单元202包括一个或多个网络接口卡。通信单元202可以通过使用物理和无线通信链路中的一者或两者来提供通信。本文所讨论的任何软件模块可以通过通信单元(诸如通信单元202)下载到持久性存储设备(诸如持久性存储设备210)。
[0030] I/O接口集合206允许与可以在本地与搜索上下文服务器计算机200数据通信地连接的其他设备进行数据的输入和输出。例如,I/O接口集合206提供到外部设备214的连接。外部设备214通常包括诸如键盘、小键盘、触摸屏的设备和/或一些其他合适的输入设备。外部设备214还可以包括便携式计算机可读存储媒质,诸如例如拇指驱动器、便携式光盘或磁盘、以及存储卡。用于实践本发明的实施例的软件和数据(例如,搜索上下文程序300)可以存储在这样的便携式计算机可读存储媒质上。在这些实施例中,相关软件可以(或可以不)经由I/O接口集合206整体或部分地加载到永久性存储设备210上。I/O接口集合206还与显示设备212进行数据通信。
[0031] 显示设备212提供向用户显示数据的机制,可以是例如计算机监视器或智能电话显示屏。
[0032] 在一些实施例中,搜索上下文服务器子系统102的一些或所有组件可以被包括在移动电话104、计算机106、平板电脑108中。例如,搜索上下文程序300和数据库220可以被包括在移动电话104、计算机106、平板电脑108中。
[0033] 在此描述的程序基于在本发明的一个具体实施例中实施它们的应用来标识。然而,应当理解,本文中的任何特定程序术语仅仅是为了方便而使用的,因此,本发明不应限于仅仅由此类术语标识和/或暗示的任何特定应用中使用。
[0034] 对本发明的各实施例的说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
[0035] II.示例性实施例
[0036] 图2示出了描绘根据本发明的方法的流程图250。图3示出了执行流程图250的方法操作中的至少一些的搜索上下文程序300。现在将在以下各段落中广泛参考图2(方法操作框图)和图3(软件框图)讨论该方法和相关联的软件。
[0037] 处理开始于操作S252,其中,搜索结果模块352从用户的设备接收搜索结果。该搜索结果是代表用户提交给互联网搜索引擎的初始搜索查询的产物。如本文所使用的设备可以是能够进行互联网搜索的任何计算设备,诸如移动电话104、计算机106或平板电脑108(参见图1)。搜索结果可以由计算设备利用的搜索引擎提供。搜索的主题可以是用户感兴趣或好奇的任何事物。典型地,初始搜索查询由用户生成,并且常常受到来自IoT设备的或来自用户在其非IoT设备上的本地环境中看到的或听到的某物的一个或多个广播提示。然而,可通过用户输入或基于某些条件或围绕物联网(IoT)设备自动进行搜索。在本实施例中,用户Abel在其移动电话上搜索“BCD”。BCD是一种汽车模型,并且Abel正在观看关于汽车的电视节目。BCD是电视节目的专题。针对BCD的第一搜索查询产生一组搜索结果,前五个结果是:关于BCD的在线百科全书文章-动词;BCD智能电话配件;BCD汽车百科全书;BCD服装线(clothing line);以及BCD食品公司。第105个搜索结果为BCD汽车社区论坛网页。参见图4A。
[0038] 处理进行到操作S254,其中,设备内容收集模块354从靠近用户的设备的第二设备收集一个数据集合,例如内容。在本示例中,第二设备是与用户所使用的设备互连的IoT设备。可替代地,第二设备在接近用户处生成音频,使得音频流由设备内容收集模块接收。可替代地,靠近用户的显示信息的任何设备都可以由设备内容收集模块收集。第二设备可以是可显示或输出内容的任何设备,诸如电视机110或广告牌112。
[0039] 在各种实施例中,诸如电视机之类的设备,如果位于与用户设备相同的房间中(例如,距离用户设备2英尺,或相距15英尺内),则认为该设备是接近用户设备的。如果当持有用户设备的用户在街道上行进时能看到(例如,距离用户15英尺、或距离用户50或100英尺内的)某设备,则也可以认为该设备是接近用户设备的。此外,如果某设备位于无线通信范围内,诸如105英尺的WIFI范围内,则也可以认为该设备是接近用户设备的。
[0040] 由设备内容收集模块354收集的数据集合可以包括内容,如文本、音频和甚至通过对象识别将图像变换成文本(以计算机可读格式表示)。作为设备的输出的内容,可以利用诸如音频/视频识别、自然语言处理和针对存在于内容上的标签的元数据分析之类的技术来确定。内容的示例可以包括电视和无线电广播、股票信息列表和数字广告牌显示。可以以能够基于诸如自然语言处理和元标签分析之类的方法进行分析和分类的方式,从设备收集内容。在各种实施例中,利用用户设备上的相机或麦克风来捕获静态或视频图像或者音频内容。
[0041] 在本实例中,来自该设备的数据集合被存储在数据库220中。另外,可以利用诸如最佳头戴式显示器之类的设备,来确定用户正在查看哪个设备,以便针对一个或多个特定设备进行输出的收集。在本实施例中,Abel正在观看的电视为IoT设备。来自电视汽车广播的音频和视频被设备内容收集模块收集。由设备内容收集模块使用的自然语言处理和音频/视频识别技术支持将电视广播分类为与BCD汽车相关。
[0042] 处理进行到操作S256,其中,设备内容相关模块356确定搜索结果与第二设备内容之间的相关性。可以确定设备相关因子(device correlation factor)以量化每个搜索结果与数据集合(例如,从第二设备收集的内容)之间的相关性。可以考虑将设备输出的历史数据计入设备相关因子。可以实施时间衰减因子(Time decay factors),用以定义用户最近遇到设备的时间。例如,如果用户在显示广告的数字广告牌的附近,三个月后,用户搜索该广告的内容,则相关性将可能低于用户在观看广告牌后五分钟搜索该广告的内容时的相关性。
[0043] 在本发明的一些实施例中,将搜索结果相对于设备的最近输出的相关性的置信度值计入(factored into)设备相关因子。实施诸如诸如主成分分析(PCA)之类的可强调变化(variations)和模式(patterns)的统计方法,用以将设备输出的分类与搜索结果相关以及确立对应于特定主题的置信度值。进一步,根据本发明的一些实施例,也将诸如PCA的统计方法用于确定设备内容输出主题相对于搜索结果的相关性。将该相关性确定计入设备相关因子。在本示例中,通过将与搜索结果相关联的置信度值、相关值(relevancevalue)和时间衰减因子相乘来计算出设备相关因子。该设备相关因子指示搜索结果集合中的每一个搜索结果与由设备内容收集模块354从特定IoT设备或其他邻近设备广播信息收集的数据集合之间的相关度(degree of correlation)。
[0044] 在本实例中,针对BCD汽车百科全书的搜索结果的设备相关因子相对较高(0.70)。类似地,针对BCD汽车社区论坛的搜索结果的设备相关因子相对较高(0.50)。参见图4A。存在最小的时间衰减因子,因为当BCD汽车广播正在播放时,Abel直接在IoT电视机前面并且搜索BCD汽车。针对来自IoT电视的输出的BCD汽车百科全书和汽车社区论坛的搜索结果的置信度和相关性是高的。针对关于BCD在线百科全书文章-动词、BCD智能电话配件、BCD服装线和BCD食品公司的搜索结果的设备相关因子是低的,因为与IoT输出相比,该搜索结果的置信度和相关性较低。如果Abel例如是在过去三周前遇到打BCD服装广告的数字广告牌的,则针对BCD服装的设备相关因子仍然会由于时间衰减因子而较低。
[0045] 处理进行到操作S258,其中,用户简档收集模块358收集(或接收)用户简档信息。用户简档信息包括兴趣集合或组成部分。再次应当注意,本示例方法中的步骤可以不完全按它们被呈现的顺序来执行。显然,用户简档也可以在接收到搜索结果之前进行收集,并且可以在执行设备相关时就准备就绪。这里所呈现的,是在接收到原始搜索结果之后并且在从其它设备收集了附近的广播数据之后,进行用户简档的收集。用户简档信息可以包括社交媒体喜好和评论、地理位置标签、在线购买习惯、因特网历史、电子邮件消息、文本消息和/或日历事件。用户简档信息还可以包括使用全球定位系统的用户位置。前述信息可以被包括在用户的兴趣集合中。用户的位置可以用于确定用户位于何处,并且预测用户在特定时刻参与什么种类的活动。可以利用诸如音频/视频识别、自然语言处理和对存在于内容上的标签的元数据分析之类的技术来确定用户简档信息。用户简档信息可以经由用户输入来收集,或者,搜索上下文程序300可以自动地从用户简档信息源检索用户简档信息。用户可以将用户简档信息源与用户简档进行链接或者解除链接。用户简档信息可以被收集并存储在诸如数据库220的数据库中。
[0046] 在本示例中,Abel的社交媒体简档、电子邮件、文本消息、在线购买习惯和因特网历史都是由用户简档收集mod收集的。Abel的用户简档信息中的一些包括在线观看关于BCD汽车的视频的历史数据、在线拍卖网站上对BCD汽车部件的出价的历史数据、以及在线社区论坛上的先前关于BCD汽车的帖子。从Abel收集在最近两个月内所有关于BCD汽车的用户简档信息。用户简档收集模块利用音频/视频识别、自然语言处理和元数据分析来分类与BCD汽车相关的视频观看数据、在线拍卖购买和在线社区论坛帖子。
[0047] 处理进行到操作S260,其中,用户简档相关模块360确定搜索结果集合中的每个搜索结果与用户简档信息中的兴趣集合中的每个兴趣项之间的相关性。用户简档相关因子量化每个搜索结果与用户简档信息中的兴趣集合中的兴趣项之间的相关性。本发明的一些实施例还将创建用户简档信息时的时间计入时间衰减因子。诸如此类的时间衰减因子定义了用户最近什么时候启动或创建了用户简档信息。例如,如果用户在接收到搜索结果之前五分钟喜欢并评论某条关于特定产品的社交媒体消息,则相关性高于如果用户在5天之前喜欢并评论某条关于特定产品的社交媒体消息的情形时的相关性。应当注意,相关性是相对于其它动作的而言的。例如,如果在搜索之前5天的帖子是最近的帖子,其他帖子是之前1个月发布的,则与之前1个月的帖子相比,之前5天的帖子将被指示为与当前搜索结果集合更可能上下文相关。
[0048] 在本发明的一些实施例中,将搜索结果相对于用户简档信息的相关性的置信度值计入用户简档相关因子。在本发明的一些实施例中,实施了诸如PCA之类的强调变化和模式的统计方法,用以将用户简档信息的分类与搜索结果相关联以及确立特定主题是对上下文相关的置信度。诸如PCA的统计方法在确定用户简档信息相对于搜索结果的相关性时也是有用的。本发明的一些实施例确定要被计入用户简档相关因子的相关性。在本示例中,通过将置信度值、相关性值和时间衰减因子相乘来计算出用户简档相关因子。无论用户简档相关因子是如何确定的,无论采用还是没有采用相关性和时间衰减因子,结果值都由用户简档相关模360产生,用以确定搜索结果和用户简档信息内容之间的相关性。
[0049] 在本示例中,针对BCD汽车百科全书的搜索结果的用户简档相关因子相对较高(0.70)。类似地,针对BCD汽车社区论坛的搜索结果的用户简档相关因子相对较高(0.60)。参见图4A。由于Abel在最近两个月已经观看了关于BCD汽车的在线视频、在在线拍卖网站上对BCD汽车部件出价、并且在BCD汽车在线社区论坛上发过帖子,存在最小的时间衰减因子。
对于Abel的用户简档信息,BCD汽车百科全书和BCD汽车社区论坛的搜索结果的置信度和相关性是高的。在本示例中,与其他搜索结果相关的其他用户简档信息是最少的并且是几年前的。针对关于BCD在线百科全书文章-动词、BCD智能电话配件、BCD服装线和BCD食品公司的搜索结果的设备相关因子是低的,因为与IoT输出相比,该搜索结果的置信度和相关性较低。例如,如果Abel五年前访问过BCD食品公司的网站,则由于时间衰减因子,用户简档相关因子可能仍然相对较低。
[0050] 处理进行到操作S262,其中,新搜索参数确定模块362基于所确定的相关性确定或生成在第二搜索查询中使用的新的搜索参数或搜索项。在操作S256中确定的设备相关因子和在操作S260中确定的用户简档相关因子被用作输入以确定累积相关因子。图4A中示出了示例性累积相关因子。在本示例中,通过将设备相关因子与用户简档相关因子相加来确定累积相关因子。或者,按照用户偏好和/或管理策略,将一个因子相对于另一个因子进行加权。如果多个设备在范围内并产生类似的设备相关因子值,则用户简档相关因子可以对累积相关因子具有更大的影响。在一个实施例中,当两个设备与用户设备的距离大约相同时,可以用用户简档信息来从特定设备选择内容。例如,第一广告牌显示LUV的股票价格,第二广告牌显示称为LUV的化妆品。第一和第二标志与用户设备的距离大约相同。包括投资兴趣和股票市场而不是化妆品的用户简档将使得第一广告牌标志的内容被收集或接收。本发明的一些实施例对累积相关因子应用一个相关性阈值(correlation threshold),使得仅高度相关的设备才影响新的搜索查询。
[0051] 如果累积相关因子大于相关性阈值,则诸如PCA的统计方法可用于仅产生与高累积相关因子相对应的搜索查询。一个示例统计方法使用正交变换来将搜索结果转换成线性不相关变量的值的集合。变量的数目可以小于或等于原始变量的数目中的较小者。该变换以这样的方式定义,即第一变量具有最大可能的方差,并且每个随后的变量在其与在前的变量正交的约束下依次具有可能的最高方差。因此,PCA特征值分析中的向量和象限由来自从其收集了内容数据集合的设备的分量分析和归一化线性组合项、用户简档信息和搜索结果决定。由诸如PCA的统计方法确定的搜索查询项被新搜索参数确定模块362添加,成为新的搜索参数或搜索项或第二搜索参数或搜索项集合。
[0052] 在本示例中,在不进行加权的情况下组合BCD搜索结果的设备相关因子和用户简档相关因子以确定累积相关因子。由于设备相关因子和用户简档相关因子高,BCD汽车百科全书和BCD汽车社区论坛的累积相关因子相对较高。由于其它搜索结果的设备相关因子和用户简档相关因子低,这些搜索结果的累积相关因子相对较低。在本示例中,如图4A所示,BCD汽车百科全书和BCD汽车社区论坛的累积相关因子分别为1.4和1.1,而其它搜索结果的累积相关因子均低于1。现在,在本示例中,新搜索参数确定模块362要求相关性阈值为1。由于BCD汽车百科全书和BCD汽车社区论坛的累积相关因子大于该相关性阈值,因此确立支持关于BCD汽车的搜索结果的新搜索参数。在一些实施例中,将项“BCD汽车”添加到新搜索查询的新搜索参数,以产生更相关的搜索结果集合。在一些实施例中,与“BCD汽车”搜索结果一起出现的项—这样的项出现在与第一搜索结果集合中的指向网页的链接一起示出的“BCD汽车”的网页的摘录中,可以被包括在用于第二搜索查询的第二搜索项集合中。
[0053] 处理进行到操作S264,其中,新搜索结果生成模块364生成新的搜索结果。基于在操作S262中确定的新搜索参数,新搜索结果生成模块通过向搜索引擎提交包括第二搜索项集合的第二搜索查询来进行新搜索。新搜索项集合强调在从其收集了数据的IoT设备或其他设备中找到的内容以及用户简档信息。在本示例中,为Abel生成新的搜索结果。顶部新搜索结果与BCD汽车相关。在本示例中,如图4B所示,为Abel针对“BCD”的顶部搜索结果是关于BCD汽车的在线百科全书网页、BCD汽车爱好者的社交媒体页面、BCD汽车视频、关于BCD的在线社区论坛以及BCD汽车配件网页。
[0054] 在上述示例中,设备相关因子和用户简档相关因子被组合以确定累积相关因子。应当理解,使用用户简档相关因子来确定累积相关因子是可选的,而不是必需的。在一些实施例中,累积相关因子可以仅基于设备相关因子。在用户简档的兴趣集合不可获得或不包括与以统计上有意义的方式从设备收集的数据集合相关的用户兴趣或用户简档组成部分的情况下,这些替代性实施例可能是有利的。
[0055] 本发明的一些实施例截获原始搜索结果,如上所述地处理搜索结果,并为用户产生修订的搜索结果集合,而用户永远不会看到原始搜索结果。如本领域普通技术人员将理解的,所公开的发明可以完全在发送原始搜索查询和接收搜索结果之间没有来自用户的输入的情况下操作。
[0056] III.进一步的评论和/或实施例
[0057] 本发明的一些实施例认识到以下事实、潜在问题和/或针对本领域现有技术的潜在改进领域。设备定期显示和输出信息以供用户消费。当用户在诸如移动电话的个人设备上搜索信息时,搜索结果可能具有与提示用户输入搜索查询的内容完全不同的上下文或相关性。用户创建的搜索查询常常与用户最近从输出设备查看、听到或读取的内容密切相关。搜索结果有时与用户正在经历或思考的内容不是上下文相关的。
[0058] 本发明的一些实施例通过执行以下过程来生成知晓上下文的搜索查询:在第一设备上接收搜索结果集合,所述搜索结果是从基于第一搜索项集合的第一搜索生成的;接收第二设备的输出并确定第二设备的输出的内容,其中第二设备位于接近第一设备的位置处;确定所述搜索结果集合中的每个搜索结果的第一相关参数,每个第一相关参数指示由第二设备输出的内容与相应搜索结果之间的相关度;接收用户的用户简档,所述用户简档包括所述用户的一个或多个兴趣;确定所述搜索结果集合中的每个搜索结果的第二相关参数,每个第二相关参数指示所述用户简档中的兴趣与相应搜索结果之间的相关度;基于所述第一相关参数和所述第二相关参数对所述搜索结果进行排名;以及生成用于第二搜索的第二搜索项集合,其中,第二搜索项集合包括包含在具有最高排名的搜索结果中的一个或多个项。
[0059] 本发明的一些实施例通过利用相机捕获来自第二设备的视觉输出的图像(屏幕捕获)来从第二设备接收输入。或者,本发明的一些实施例通过用麦克风捕获来自第二装置的音频输出而从第二设备接收输入。或者,本发明的一些实施例通过捕获被输入到第二设备、用于生成第二设备的输出的数据流来接收来自第二设备的输入。
[0060] 本发明的一些实施例通过使用图像和音频处理技术来确定设备的输出的内容。或者,本发明的一些实施例通过使用嵌入在数据流中的元数据来确定设备的输出的内容。本发明的一些实施例所采用的一种音频处理技术是自然语言处理。
[0061] 本发明的一些实施例从用户观看的内容的历史确定用户的简档。或者,本发明的一些实施例从用户对社交媒体应用的喜好和/或评论确定用户的简档。或者,本发明的一些实施例在接收到第二设备的输出时从用户日历上的日历条目确定用户的简档。或者,本发明的一些实施例从用户的位置历史确定用户的简档。或者,本发明的一些实施例从用户的语音分析确定用户的简档。
[0062] 图4A是示出在示例性实施例中由用户进行的初始搜索的屏幕截图400a。在本示例中,用户Abel进行对BCD车的搜索。对BCD的搜索产生数百个搜索结果。在屏幕截图400a中示出了前五个搜索结果以及搜索结果105。如在屏幕截图400a中看到的:(i)排名为第1个结果的是BCD-动词百科全书网页,设备相关因子为0.01,用户简档相关因子为0,累积相关因子为0.01;(ii)排名为第2个结果的是BCD智能手机配件网页,设备相关因子为0.01,用户简档相关因子为0,累积相关因子为0.01;(iii)排名为第3个结果的是BCD汽车百科全书网页,设备相关因子为0.70,用户简档相关因子为0.70,累积相关因子为1.40;(iv)排名为第4个结果的是BCD服装线网页,设备相关因子为0.01,用户简档相关因子为0,累积相关因子为0.01;(v)排名为第五结果的是BCD食品公司网页,设备相关因子为0.01,用户简档相关因子为0.20,累积相关因子为0.21;排名为第105个结果的是BCD汽车社区论坛网页,设备相关因子为0.50,用户简档相关因子为0.60,累积相关因子为1.20。
[0063] 图4B是示出了在示例性实施例中由用户利用搜索上下文程序300进行的第二搜索的屏幕截图400b。在本示例中,用户Abel进行对BCD车的搜索,并且搜索上下文程序300生成新的结果。搜索上下文程序300生成数百个搜索结果。在屏幕截图400b中示出前五个搜索结果。如在屏幕截图400b中看到的:(i)排名为第1个结果的是BCD汽车百科全书网页,设备相关因子为0.70,用户简档相关因子为0.70,累积相关因子为1.40;(ii)排名为第2个结果的是BCD汽车爱好者社交媒体网页,设备相关因子为0.60,用户简档相关因子为0.70,累积相关因子为1.30;(iii)排名为第3个结果的是BCD汽车视频网页,设备相关因子为0.60,用户简介相关因子为0.60,累积相关因子为1.20;(iv)排名为第4个结果的是BCD汽车社区论坛网页,设备相关因子为0.50,用户简档相关因子为0.60,累积相关因子为1.10;以及(v)排名为第5个结果的是BCD汽车配件网页,设备相关因子为0.60,用户简档相关因子为0.40,累积相关因子为1.00。BCD汽车百科全书网页先前在初始搜索中排名第三,如图4A中所见,现在被搜索上下文程序300排名第一,如图4B中所见。BCD汽车社区论坛网页先前在初始搜索中被排名第105,如图4A中所见,现在被搜索上下文程序300排名第四。
[0064] 本发明的一些实施例可以包括以下特征、特性和/或优点中的一个或多个:(i)来自用户周围的物理世界的输入被用于理解搜索上下文;(ii)来自用户的背景和简档的输入通知用户的搜索查询的上下文;(iii)通过分析用户生成搜索查询所在的上下文来获得更特定和更符合上下文的搜索结果;(iv)与用户附近的多个设备交互以理解生成搜索查询所在的上下文;(v)对处于某时刻和地点的设备上下文的考虑允许生成定制的基于上下文的搜索结果;和/或(vi)使用用户简档信息为用户创建认知简档支持对搜索查询的基于上下文的修改。
[0065] IV.定义
[0066] “本发明”并没有绝对说明和/或暗示所描述的主题被提交的初始权利要求集合、被专利审查期间提出的任何修改后的权利要求集合和/或被经过专利审查最终授予的权利要求覆盖。术语“本发明”用于帮助指示本公开的可能包括相对于现有技术的一种或多种进步的一部分或多个部分。对术语“本发明”及其指示和/或含义的理解是暂定的和临时的,并且在专利审查过程中会随着相关信息的发展和权利要求的修改而变化。
[0067] “实施例”,参见“本发明”的定义。
[0068] “和/或”是包含性析取,也称为逻辑分离,并且通常称为“包含性或”。例如,短语“A、B和/或C”表示A或B或C中的至少一个为真;“A,B和/或C”仅在A,B和C均为假时才为假。
[0069] 项目的“集合”是指存在一个或多个项目;必须存在至少一项,但也可以有两项、三项或更多项。项目的“子集”表示在包含共同特征的一组项目内存在一个或多个项目。
[0070] “多个”项目是指存在不止一个项目;必须存在至少两个项目,但也可以存在三个、四个或更多项目。
[0071] 除非另外明确指出,否则“包括”和任何变体(例如,包含、含等)是指“包括但不一定限于”。
[0072] “用户”或“订户”包括但不限于:(i)单个个人;(ii)具有足够智慧的人工智能实体,可以代替一个人或一个以上的人行事;(iii)由一个人或一个以上的人为其采取行动的商业实体;和/或(iv)充当单个“用户”或“订户”的任何一个或多个相关“用户”或“订户”的组合。
[0073] 除非另有明确规定,否则不应将术语“接收”、“提供”、“发送”、“输入”、“输出”和“报告”视为指示或暗示:关于客体与客体之间关系的直接性;和/或(ii)是否存在插入客体和主体之间的一组中间组件、中间动作和/或事物。
[0074] “模块”是可操作地执行某项功能的任何硬件、固件和/或软件集合,而无论该模块是否是:(i)位于单个本地附近;(ii)广泛地分布;(iii)位于较大的软件代码段内单个附近;(iv)位于单个软件代码段中;(v)位于单个存储设备、内存或介质中;(vi)机械连接的;(vii)电连接的;和/或(viii)在数据通信中连接的。“子模块”是“模块”内的“模块”。
[0075] “计算机”是具有显著的数据处理和/或机器可读指令读取能力的任何设备,包括但不限于:台式计算机;大型计算机;笔记本电脑;基于现场可编程门阵列(FPGA)的设备;智能手机;个人数字助理(PDA);车载或插入式计算机;嵌入式设备样式的计算机;和/或基于专用集成电路(ASIC)的设备。