首页> 中国专利> 基于效能模型的内容推荐

基于效能模型的内容推荐

摘要

本公开包括用于向用户提供推荐项目的系统和方法。所述系统包括处理器和保存指令的存储器,当被执行时,所述指令使系统:接收与用户相关联的标识输入数据;利用标识输入数据识别用户;接收传感器数据;从由预定的情境数据和相关联的参数描述的一种或多种预定情境中确定与用户相关联的当前情境;接收描述一组候选项目的数据;生成所述一组候选项目的一组效能得分;从所述一组候选项目中排除一个或多个候选项目,以获得一个或多个剩余候选项目;根据一个或多个相关的效能得分,对所述一个或多个剩余候选项目排序;和从所述一个或多个排序的剩余候选项目中,向用户提供一个或多个推荐项目。

著录项

  • 公开/公告号CN105723397A

    专利类型发明专利

  • 公开/公告日2016-06-29

    原文格式PDF

  • 申请/专利权人 丰田自动车株式会社;

    申请/专利号CN201480062727.0

  • 申请日2014-05-16

  • 分类号G06Q30/02;

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人李颖

  • 地址 日本爱知县

  • 入库时间 2023-12-18 15:45:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-04-26

    未缴年费专利权终止 IPC(主分类):G06Q30/02 专利号:ZL2014800627270 申请日:20140516 授权公告日:20200417

    专利权的终止

  • 2020-04-17

    授权

    授权

  • 2016-07-27

    实质审查的生效 IPC(主分类):G06Q30/02 申请日:20140516

    实质审查的生效

  • 2016-06-29

    公开

    公开

说明书

技术领域

本说明书涉及内容推荐。特别地,本说明书涉及根据效能模型(efficacymodel)向用户提供推荐项目的系统。

背景技术

在驾驶车辆的时候,用户可向内容推荐系统请求内容项目。例如,用户可请求在车载信息娱乐系统(in-vehicleinfotainmentsystem)中播放播客节目。然而,现有的内容推荐系统常常根据用户想要什么向用户推荐内容项目,而不能根据用户在特定情境下需要什么推荐内容项目。例如,现有的内容推荐系统可能在音频项目的推荐无效并且使用户分散驾驶注意力的情境下,向用户提供音频项目。

发明内容

按照记载在本公开中的主题的一个创新方面,根据效能模型向用户提供推荐项目的系统包括处理器和存储器,所述存储器保存当被执行时,使系统执行以下操作的指令:接收与用户相关联的标识输入数据;利用标识输入数据识别用户;接收传感器数据;根据传感器数据,从由预定的情境数据和相关联的参数描述的一种或多种预定情境中确定与用户相关联的当前情境;接收描述一组候选项目的数据;根据当前情境和与用户相关联的用户效能模型,生成所述一组候选项目的一组效能得分;从所述一组候选项目中排除一个或多个候选项目,以获得一个或多个剩余候选项目;根据与所述一个或多个剩余候选项目相关联的一个或多个效能得分,对所述一个或多个剩余候选项目排序;和从所述一个或多个排序的剩余候选项目中,向用户提供一个或多个推荐项目。

通常,记载在本公开中的主题的另一个创新方面可用方法体现,所述方法包括:接收与用户相关联的标识输入数据;利用标识输入数据识别用户;接收传感器数据;根据传感器数据,从由预定的情境数据和相关联的参数描述的一种或多种预定情境中确定与用户相关联的当前情境;接收描述一组候选项目的数据;根据当前情境和与用户相关联的用户效能模型,生成所述一组候选项目的一组效能得分;从所述一组候选项目中排除一个或多个候选项目,以获得一个或多个剩余候选项目;根据与所述一个或多个剩余候选项目相关联的一个或多个效能得分,对所述一个或多个剩余候选项目排序;和从所述一个或多个排序的剩余候选项目中,向用户提供一个或多个推荐项目。

其它方面包括这些和其它创新方面的对应方法、系统、设备和计算机程序产品。

这些和其它实现都可视情况包括以下特征中的一个或多个。例如,操作包括:接收由利益相关者定义的利益相关者效能数据;根据当前情境和利益相关者效能数据中的一个或多个,生成用户效能模型;进一步根据利益相关者效能数据,生成一组效能得分;聚合与移动计算设备相关联的设备数据;确定描述关于移动计算设备配置的一个或多个评分偏好的设备偏向数据;进一步根据设备数据和设备偏向数据,生成一组效能得分;根据当前情境,确定描述待满足的一个或多个情境约束的情境偏向模型;根据当前情境和情境偏向模型,生成用户效能模型;确定存在与用户相关联的历史用户效能模型;根据当前情境和历史用户效能模型,生成用户效能模型;取回与用户相关联的分组效能模型;根据当前情境和分组效能模型,生成用户效能模型;取回与用户相关联的用户简介数据;取回与用户相关联的用户社交数据;根据用户简介数据和用户社交数据,生成与用户相关联的用户属性数据;根据用户属性数据和当前情境中的一个或多个,生成用户效能模型;进一步根据用户属性数据,生成一组效能得分;识别用户消费的一个或多个项目;识别一个或多个所消费项目的一个或多个亲合状态;取回与所述一个或多个所消费项目相关联的项目社交数据;根据一个或多个亲合状态和项目社交数据,生成与一个或多个所消费项目相关联的项目属性数据;把所述一个或多个所消费项目归类到一个或多个分组;确定识别所述一个或多个分组的一个或多个分组标识符;根据项目属性数据、当前情境和一个或多个分组标识符中的一个或多个,生成用户效能模型;根据传感器数据,确定与出行相关联的出行起点、出行中途停留点和出行终点;取回描述与用户相关联的出行历史的数据;根据出行历史、出行起点、出行中途停留点和出行终点中的一个或多个,确定出行偏移距离;聚合与移动计算设备相关联的设备数据;生成与移动计算设备相关联的行程移动性数据,所述行程移动性数据包括出行起点、出行终点、出行中途停留点、出行偏移距离和设备数据中的一个或多个;和进一步根据行程移动性数据,生成一组效能得分。

本公开在许多方面特别有利。首先,系统不仅能够根据用户想要什么,向用户推荐项目,而且能够根据用户需要什么,向用户推荐项目。例如,系统创建与用户相关联的用户效能模型,并应用用户效能模型,以按照给用户的内容推荐实现期望效果的方式,生成给用户的推荐项目。在一些情况下,内容推荐可实现合法性、安全性、金融考虑因素、情境考虑因素或其它考虑因素的效能。其次,用于生成候选项目的效能得分的用户效能模型是动态的,是根据用户的当前情境、利益相关者效能数据和其它数据配置的。从而,可根据用户效能模型,向用户提供有效、合意和相关的内容推荐。应明白上述优点是作为例子提供的,系统可具有许多其它的优点和益处。

附图说明

附图中举例,而不是限制性地图解说明了本公开,附图中,相似的附图标记用于指示相似的元件。

图1是图解说明根据效能模型向用户提供推荐项目的例证系统的方框图。

图2是图解说明效能应用的例子的方框图。

图3A是图解说明模型生成器的例子的方框图。

图3B是图解说明模型生成器的例子的方框图。

图4A是图解说明得分估计器的例子的方框图。

图4B是图解说明得分估计器的例子的方框图。

图5A是根据效能模型向用户提供推荐项目的例证方法的流程图。

图5B是根据效能模型向用户提供推荐项目的例证方法的流程图。

图6是识别用户的例证方法的流程图。

图7A是生成用户效能模型的例证方法的流程图。

图7B是生成用户效能模型的例证方法的流程图。

图7C生成用户效能模型的例证方法的流程图。

图8A是生成候选项目的效能得分的例证方法的流程图。

图8B是生成候选项目的效能得分的例证方法的流程图。

图8C是生成候选项目的效能得分的例证方法的流程图。

图9是确定用户消费的项目的例证方法的流程图。

图10是确定用户消费的项目的亲合状态的例证方法的流程图。

图11是生成行程移动性数据的例证方法的流程图。

图12是确定与用户相关联的当前情境的例证方法的流程图。

图13是图解说明用户消费的例证场所的图形表示。

图14是图解说明允许用户输入项目的亲和状态的例证用户界面的图形表示。

图15是图解说明例证分组的图形表示。

图16是预测候选项目的亲和状态的例证方法的流程图。

具体实施方式

(概况)

图1图解说明按照一些实施例的根据效能模型向用户提供推荐项目的系统100的方框图。例示的系统100包括服务器101、客户端设备115、移动计算设备135、社交网络服务器130和数据服务器120。系统100的各个实体经网络105通信耦接。

网络105可以是常规类型的有线或无线网络,可具有众多的不同结构,包括星形结构、令牌环结构或其它结构。此外,网络105可包括局域网(LAN)、广域网(WAN)(例如因特网)、和/或多个设备可通过其通信的其他互连数据路径。在一些实施例中,网络105可以是对等网络。网络105也可耦接到或包括用于利用多种不同的通信协议发送数据的电信网络的各个部分。在一些实施例中,网络105包括蓝牙(R)通信网络或蜂窝通信网络,用于发送和接收数据(包括经短消息接发服务(SMS)、多媒体消息接发服务(MMS)、超文本传输协议(HTTP)、直接数据连接、WAP、电子邮件等)。尽管图1图解说明耦接到服务器101、客户端设备115、移动计算设备135、社交网络服务器130和数据服务器120的一个网络105,不过实际上,一个或多个网络105可连接到这些实体。

在一些实施例中,效能应用109a可在经信号线104耦接到网络105的服务器101上工作。服务器101可以是包括处理器、存储器和网络通信能力的硬件和/或虚拟服务器。在一些实施例中,服务器101向社交网络服务器130、客户端设备115、数据服务器120和移动计算设备135中的一个或多个发送数据和从其接收数据。尽管图1图解说明一个服务器101,不过,系统100可包括一个或多个服务器101。

在一些实施例中,效能应用109b可在经信号线108连接到网络105的客户端设备115上工作。在一些实施例中,客户端设备115向服务器101、数据服务器120、社交网络服务器130和移动计算设备135中的一个或多个发送数据和从其接收数据。客户端设备115是包括存储器和处理器的计算设备,例如膝上型计算机、桌上型计算机、平板计算机、移动电话机、个人数字助手(PDA)、移动电子邮件设备或者能够接入网络105的任何其它电子设备。在例示的实施例中,用户125与客户端设备115交互作用。尽管图1图解说明一个客户端设备115,不过,系统100可包括一个或多个客户端设备115。

在一些情况下,效能应用109b可部分充当可保存在客户端设备115上的精简型客户端应用,部分充当可保存在服务器101和移动计算设备135中的一个或多个上的组件。例如,服务器101确定给用户的推荐项目,并生成用于向用户提供描述推荐项目的用户界面的图形数据。效能应用109b可向安装在客户端设备115上的浏览器(未图示)发送指令,以在耦接到客户端设备115的显示设备(未图示)上呈现用户界面。

在一些实施例中,效能应用109c可在经信号线134耦接到网络105的移动计算设备135上工作。在一些实施例中,移动计算设备135向服务器101、社交网络服务器130、数据服务器120和客户端设备115中的一个或多个发送数据和从其接收数据。移动计算设备135是包括存储器和处理器的任意计算设备。在一些实施例中,移动计算设备135是具有非临时性计算机电子设备(例如,处理器、存储器、或者非临时性计算机电子设备的任意组合)的车辆、汽车、公共汽车、仿生植入物或任何其它移动系统之一。在例示的实施例中,用户125与移动计算设备135交互作用。在一些例子中,用户125可以是驾驶车辆的驾驶员,或者坐在乘客席上的乘客。尽管图1图解说明一个移动计算设备135,不过,系统10可包括一个或多个移动计算设备135。

效能应用109是用于根据效能模型向用户提供推荐项目的代码和例程。在一些实施例中,效能应用109可以利用包括现场可编程门阵列(FPGA)或专用集成电路(ASIC)的硬件实现。在另外的实施例中,效能应用109可以利用硬件和软件的组合实现。在一些实施例中,效能应用109可被保存在设备和服务器的组合中,或者保存在设备或服务器之一中。下面至少参考图2-12和16,更详细地说明效能应用109。

在图1中所示的实施例中,一个或多个第一传感器140a...140n耦接到移动计算设备135。例如,第一传感器140a经信号线141耦接到移动计算设备135,第一传感器140n经信号线143耦接到移动计算设备135。在图1和其余的图中,引用数字之后的字母(例如“140a”)表示对具有该特定引用数字的元件的引用。文本中的无后续字母的引用数字(例如“140”)表示对具有该引用数字的元素的实例的泛指。

第一传感器140可以是测量一个或多个物理参数的设备。例如,第一传感器140测量当前里程油耗、车辆中的发动机启动或关闭、停车制动、CAN总线、速度、时刻、位置(例如,位置的纬度、经度和高度)、与车辆相关的系统安全性参数(例如,气囊系统、防抱死制动系统等)、从车辆到其它物体(例如,路旁建筑物、交通信号灯等)的距离、从车辆到附近车辆的距离、车辆的加速度、行进方向、燃油箱液位、电池充电水平、温度、湿度和/或与车辆相关联的任何其它物理参数等中的一个或多个。在一些实施例中,第一传感器140是全球定位系统(GPS)、相机、车载诊断(OBD)系统、键盘、触摸屏、方向盘上的硬件按钮、方向盘控制器、发动机控制单元(ECU、PCM等)、指纹阅读器或者任何其它种类的传感器之一。在一些实施例中,第一传感器140是安装在诸如车辆之类的移动计算设备135中的传感器。

在例示的实施例中,一个或多个第二传感器160a...160n耦接到客户端设备115。例如,第二传感器160a经信号线161耦接到客户端设备115,第二传感器160n经信号线163耦接到客户端设备115。第二传感器160可以是测量一个或多个物理参数的设备。例如,第二传感器160测量速度、加速度、时刻、位置(例如,位置的纬度、经度和高度)、温度、湿度和/或任何其它物理参数等中的一个或多个。在一些实施例中,第二传感器160是全球定位系统(GPS)、相机、键盘、触摸屏、指纹阅读器或者任何其它种类的传感器之一。在一些实施例中,第二传感器160是安装在客户端设备115上的传感器。

社交网络服务器130可以是包括处理器、存储器和网络通信能力的硬件和/或虚拟服务器。在一些实施例中,社交网络服务器130经网络105,向客户端设备115、服务器101、移动计算设备135和数据服务器120中的一个或多个发送数据和从其接收数据。社交网络服务器130包括社交网络应用132。社交网络可以是其中通过共同特征连接用户的一种社交结构。所述共同特征包括关系/联系,例如,友谊、家庭、工作、兴趣等。共同特征可由一个或多个社交网络系统提供,包括明确定义的关系,和由与其他在线用户的社会联系暗示的关系,其中所述关系形成社交图。在一些例子中,社交图可反映这些用户的映射以及他们是如何关联的。此外,社交网络服务器130和社交网络应用132可表示一个社交网络,并且可存在耦接到网络105的多个社交网络,每个社交网络具有它自己的服务器、应用和社交图。例如,第一社交网络可能更针对商务联络,第二社交网络可能更针对或者集中于学术,第三社交网络可能更针对本地商务,第四社交网络可能针对约会,其它社交网络可能针对综合兴趣或者特定主题。

数据服务器120可以是包括处理器、存储器和网络通信能力的硬件和/或虚拟服务器。在一些实施例中,数据服务器120向社交网络服务器130、服务器101、客户端设备115和移动计算设备135中的一个或多个发送数据和从其接收数据。尽管图1图解说明一个数据服务器120,不过,系统100可包括一个或多个数据服务器120。在例示的实施例中,数据服务器120包括绘图(mapping)应用122和存储设备145。

绘图应用122可以是处理从效能应用109接收的请求或查询的代码和例程。例如,绘图应用122接收来自效能应用109的对于地图的请求。绘图应用122处理所述请求,并把描述所述地图的数据返回给效能应用109。在另一个例子中,绘图应用122接收来自效能应用109的查询(例如,对于车辆更新的请求),从存储器145取回与所述查询匹配的数据,并把所述数据发送给效能应用109。

存储设备145可以是保存用于提供这里说明的动作和/或功能的数据的非临时性存储器。存储设备145可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存或一些其它存储设备。在一些实施例中,存储设备145还包括用于更永久地保存信息的非易失性存储器或类似的永久存储设备和介质,包括硬盘驱动器、软盘驱动器、CD-ROM设备、DVD-ROM设备、DVD-RAM设备、DVD-RW设备、闪存设备、或者一些其它大容量存储设备。

在一些实施例中,存储设备145可包括用于保存数据和提供对数据的访问的数据库管理系统(DBMS)。在一些实施例中,存储设备145充当云存储设备。在一些实施例中,存储设备145保存与用户相关联的历史标识数据、描述一个或多个项目的项目数据、项目的分组、与用户相关联的消费历史、不同项目的亲合等级、与项目相关联的亲合状态、与用户相关联的用户简介、地图、标准情境偏向模型、用户请求历史、用户情境历史、与用户相关联的出行历史、标准分组效能模型、平均分组效能模型、不同用户的用户效能模型和不同项目的效能得分中的一个或多个。存储设备145可保存用于提供这里说明的动作和/或功能的其它数据。保存在存储设备145中的数据在下面更详细说明。

(例证的效能应用)

现在参见图2,更详细地表示效能应用109的例子。图2是按照一些实施例的包括效能应用109、处理器235、存储器237、通信单元241、输入/输出设备243、存储设备245和利益相关者效能数据库247的计算设备200的方框图。计算设备200的组件由总线220通信耦接。输入/输出设备243经信号线230通信耦接到总线220。在各个实施例中,计算设备200可以是服务器101、客户端设备115和/或移动计算设备135。

处理器235包括算术逻辑单元、微处理器、通用控制器或一些其它处理器阵列,以进行计算和把电子显示信号提供给显示设备。处理器235经信号线222耦接到总线220,以便与其它组件通信。处理器235处理数据信号,并可包括各种计算架构(包括复杂指令集计算机(CISC)架构、精简指令集计算机(RISC)架构、或者实现指令集的组合的架构)。尽管图2包括单个处理器235,不过,可以包括多个处理器235。其它处理器、操作系统、传感器、显示器和物理结构也是可能的。

存储器237保存处理器235能够执行的指令和/或数据。存储器237耦接到总线220,以便经信号线224与其它组件通信。指令和/或数据可包括用于执行这里说明的技术的代码。存储器237可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存或一些其它存储器设备。在一些实施例中,存储器237还包括用于更永久地保存信息的非易失性存储器或类似的永久存储设备和介质(包括硬盘驱动器、软盘驱动器、CD-ROM设备、DVD-ROM设备、DVD-RAM设备、DVD-RW设备、闪存设备、或者一些其它的大容量存储设备)。

在例示的实施例中,通信单元241经信号线226通信耦接到总线220。取决于效能应用109被保存在什么地方,通信单元241向服务器101、移动计算设备135、客户端设备115、数据服务器120和社交网络服务器130中的一个或多个传送数据和从其接收数据。在一些实施例中,通信单元241包括用于与网络105或者与另一个通信信道的直接物理连接的端口。例如,通信单元241包括用于与客户端设备115的有线通信的USB、SD、CAT-5或类似端口。在一些实施例中,通信单元241包括利用一种或多种无线通信方法(包括IEEE802.11、IEEE802.16、蓝牙(R)、专用短程通信(DSRC)或另一种适当的无线通信方法),与客户端设备115或者其它通信信道交换数据的无线收发器。

在一些实施例中,通信单元241包括通过蜂窝通信网络(包括经短消息接发服务(SMS)、多媒体消息接发服务(MMS)、超文本传输协议(HTTP)、直接数据连接、WAP、电子邮件或另一种适当类型的电子通信)发送和接收数据的蜂窝通信收发器。在一些实施例中,通信单元241包括有线端口和无线收发器。通信单元241还为利用包括TCP/IP、HTTP、HTTPS和SMTP等的标准网络协议的文件和/或媒体对象的分发提供与网络105的其它常规连接。

存储设备245可以是保存用于提供这里说明的动作和/或功能的数据的非临时性存储器。存储设备245可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存或一些其它存储器设备。在一些实施例中,存储设备245还包括用于更永久地保存信息的非易失性存储器或类似的永久存储设备和介质(包括硬盘驱动器、软盘驱动器、CD-ROM设备、DVD-ROM设备、DVD-RAM设备、DVD-RW设备、闪存设备、或者一些其它的大容量存储设备)。

在例示的实施例中,存储设备245经信号线228通信耦接到总线220。在一些实施例中,存储设备245保存与用户相关联的用户效能模型、分组效能模型、效能得分、与用户相关联的历史标识数据、识别用户的用户标识符(ID)、用户属性数据、项目属性数据、不同项目的亲合等级、与不同项目相关联的亲合状态、行程移动性数据、情境数据、用户情境历史、情境偏向模型、标准情境偏向模型、项目的不同分组、分组ID、与用户相关联的消费历史、用户简介、地图、标准情境偏向模型、用户请求历史、与用户相关联的出行历史、标准分组效能模型和平均分组效能模型中的一个或多个。保存在存储设备245中的数据在下面更详细说明。在一些实施例中,存储设备245可保存用于提供这里说明的动作和/或功能的其它数据。

利益相关者效能数据库247保存利益相关者定义的利益相关者效能数据。利益相关者效能数据库247经信号线238通信耦接到总线220。例证的利益相关者包括(但不限于)生产移动计算设备135的实体(例如,车辆制造商)、销售移动计算设备135的实体和向用户出租移动计算设备135的实体(例如,车辆租赁公司)。

利益相关者效能数据可以是描述由一个或多个利益相关者配置的一个或多个内容推荐约束的数据。例如,利益相关者效能数据描述定义什么种类的推荐项目对用户有效的一个或多个约束。在一些实施例中,所述约束是根据利益相关者希望用户具有什么用户体验、安全性优先级、合法性考虑因素、金融考虑因素和其它考虑因素中的一个或多个配置的。例如,利益相关者效能数据中的约束指示当用户在公路上并道时不向用户推荐音乐,即使此时用户请求音乐推荐。在另一个例子中,利益相关者效能数据中的约束指示不向小于21岁的驾驶员推荐任何酒吧。利益相关者效能数据中的其它例证约束也是可能的。

在例示的实施例中,效能应用109包括控制器202、标识模块204、消费模块206、亲合状态模块207、模型生成器208、得分估计器210、推荐模块212和用户界面模块214。效能应用109的这些组件经总线220通信耦接。

控制器202可以是包括用于处理计算设备200的效能应用109和其它组件之间的通信的例程的软件。在一些实施例中,控制器202可以是可由处理器235执行以提供下面说明的用于处理计算设备200的效能应用109和其它组件之间的通信的动作和/或功能的一组指令。在一些实施例中,控制器202可被保存在计算设备200的存储器237中,并可由处理器235访问和执行。控制器202可适合于与计算设备200的处理器235和其它组件协作和通信。

取决于效能应用109被保存在什么地方,控制器202经通信单元241向客户端设备115、社交网络服务器130、服务器101、数据服务器120和移动计算设备135中的一个或多个发送数据和从其接收数据。例如,控制器202经通信单元241从社交网络服务器130接收社交网络数据(例如,用户社交数据、项目社交数据),并把社交网络数据发送给模型生成器208和得分估计器210中的一个或多个。在另一个例子中,控制器202从用户界面模块214接收用于向用户提供用户界面的图形数据,并把所述图形数据发送给客户端设备115或移动计算设备135,使客户端设备115或移动计算设备135向用户呈现用户界面。

在一些实施例中,控制器202从效能应用109的其它组件接收数据,并把数据保存在存储设备245中。例如,控制器202从用户界面模块214接收图形数据,并把图形数据保存在存储设备245中。在一些实施例中,控制器202从存储设备245取回数据,并把取回的数据发送给效能应用109的其它组件。例如,控制器202从存储设备245取回描述与候选项目相关联的效能得分的数据,并把所述数据发送给推荐模块212。

标识模块204可以是包括用于识别用户的例程的软件。在一些实施例中,标识模块204可以是可由处理器235执行以提供下面说明的用于识别用户的动作和/或功能的一组指令。在一些实施例中,标识模块204可被保存在计算设备200的存储器237中,并可由处理器235访问和执行。标识模块204可适合于与计算设备200的处理器235和其它组件协作和通信。

在一些实施例中,标识模块204从一个或多个第一传感器140和/或一个或多个第二传感器160接收与用户相关联的标识输入数据。例如,用户把指纹输入与移动计算设备135耦接的指纹阅读器中,使指纹阅读器把用户的指纹发送给标识模块204。例证的标识输入数据包括(但不限于)用户名称和密码、指纹、由作为用户的代理的设备(例如,卡、手持设备、登记在用户名下的车辆)提供的其它标识数据、基于面部识别的标识数据和其它生物特征数据(例如,语音、视网膜等),等等。

标识模块204从存储设备245和/或存储设备145取回与用户相关联的历史标识数据。标识模块204确定标识输入数据是否与历史标识数据匹配。例如,标识模块204确定用户输入的指纹是否与保存在存储设备245中的用户的历史指纹匹配。如果标识输入数据和历史标识数据匹配,那么标识模块204确定用户被验证,并确认识别用户的用户标识符(ID)。标识模块204把用户ID发送给效能应用109的其它组件,以致效能应用109的其它组件能够利用用户ID取回与用户相关联的数据。如果标识输入数据和历史标识数据不匹配,那么标识模块204确定用户的验证失败。

在一些实施例中,标识模块204把用户ID发送给效能应用109的其它组件。在另外的实施例中,标识模块204把用户ID保存在存储设备245和/或存储设备145中。

消费模块206可以是包括用于识别用户消费的项目的例程的软件。在一些实施例中,消费模块206可以是可由处理器235执行以提供下面说明的用于识别用户消费的项目的动作和/或功能的一组指令。在一些实施例中,消费模块206可被保存在计算设备200的存储器237中,并可由处理器235访问和执行。消费模块206可适合于与计算设备200的处理器235和其它组件协作和通信。

在一些实施例中,消费模块206从标识模块204接收识别用户的用户ID。消费模块206利用用户ID,从存储设备245和/或存储设备145取回与用户相关联的消费历史。与用户相关联的消费历史包括描述用户消费的项目的数据。例如,用户的消费历史描述用户播放的歌曲、用户观看的视频、用户收听的无线电节目、用户过去去过的地点、用户进行的出行和用户与之交互的人们(例如,用户呼叫的人们)。消费模块206接收来自一个或多个第一传感器140和/或一个或多个第二传感器160的传感器数据,并根据传感器数据和/或用户的消费历史识别用户消费的项目。

在一些例子中,消费模块206接收来自一个或多个第一传感器140和/或一个或多个第二传感器160的传感器数据,并根据传感器数据和包括用户过去去过的一个或多个地点的用户消费历史,估计用户当前去的地点。例如,消费模块206从安装在用户的车辆中的GPS,接收描述当前位置和时刻的数据。消费模块206还从监视用户车辆的发动机的第一传感器接收描述发动机关闭的数据,所述数据指示用户驾驶的车辆停在当前位置。消费模块206从数据服务器120,取回描述与当前位置相关联的地图的数据,并确定在当前位置附近的一个或多个候选地点。消费模块206根据时刻、车辆停在当前位置的持续时间和/或从当前位置起的适于步行的距离,把用户当前所去的地点估计为用户过去去过的候选地点。例如,消费模块206把用户当前所去的地点估计为用户过去去过的饭店,因为时刻为7:10PM。下面参考图13,更详细地图解说明估计用户当前所去的地点的例证处理。用户当前所去的地点是用户消费的项目的例子。

在一些例子中,消费模块206跟踪利用扬声器致动器在车载信息娱乐系统中播放的项目,和/或跟踪在客户端设备115中播放的项目。例如,消费模块206跟踪在广播电台播放的歌曲,或者由经电缆或无线连接(例如,蓝牙(R))连接到移动计算设备135的客户端设备115播放的歌曲。消费模块206把所述歌曲识别为用户消费的例证项目。

消费模块206确定识别用户消费的项目的项目ID,并利用消费的项目更新用户的消费历史。例如,消费模块206确定识别用户播放的歌曲的歌曲ID、识别用户所去的地点的地点ID和识别与用户交互的人们的联系人ID,并把歌曲ID、地点ID和联系人ID添加到用户的消费历史中。在一些实施例中,消费模块206把项目ID发送给效能应用109的其它组件。在另外的实施例中,消费模块206把项目ID保存在存储设备245和/或存储设备145中。

亲合状态模块207可以是包括用于确定用户所消费的项目的亲合状态的例程的软件。在一些实施例中,亲合状态模块207可以是可由处理器235执行以提供下面说明的用于确定用户所消费的项目的亲合状态的动作和/或功能的一组指令。在一些实施例中,亲合状态模块207可被保存在计算设备200的存储器237中,并可由处理器235访问和执行。亲合状态模块207可适合于与计算设备200的处理器235和其它组件协作和通信。

亲合状态可以是指示对于项目的用户亲合程度的数据。例如,与项目相关联的亲合状态指示用户喜欢该项目、不喜欢该项目或者与该项目无亲合性。在另一个例子中,与项目相关联的亲合状态指示在亲合等级从1星到5星的情况下,用户把该项目评定为5星。在一些实施例中,亲合状态具有不连续值。例如,如果用户用5星中的4星评定项目的等级,那么该项目的亲合状态具有4/5的值。在一些实施例中,不同的亲合状态与亲合等级中的不同值关联,指示不同的用户亲合程度。例如,具有5星的亲合状态指示与具有4星的亲合状态相比,更高的用户亲合性。例证的亲合等级包括(但不限于)喜欢/不喜欢/无亲合性的等级、星级评定(例如,从1星到5星)的等级、用16比特计算机寄存器的不连续状态表示的等级、从0分到100分的等级或者任何其它离散化的亲合性表示。

在一些实施例中,亲合状态模块207接收来自标识模块204的识别用户的用户ID和来自消费模块206的识别用户消费的项目的项目ID。亲合状态模块207从存储设备245取回描述所消费项目的亲合等级的数据。亲合状态模块207向用户呈现与所消费项目相关联的亲合等级,并请求用户输入所消费项目的亲合状态。在一些实施例中,亲合状态模块207指令用户界面模块214生成在移动计算设备135或客户端设备115中向用户提供用户界面的图形数据,从而允许用户经用户界面输入所消费项目的亲合状态。例如,用户可经车载头单元(headunit)中的触摸屏,对于消费的项目按下5星或者喜欢按钮。图14中图解说明了例证的用户界面。在一些实施例中,用户可通过与读数(reading)传感器(例如,方向盘上的硬件按钮或者车载头单元中的硬件按钮)交互,来输入所消费项目的亲合状态。例如,用户可4次按压方向盘中的硬件按钮,以指示对于所消费项目的4星的选择。

亲合状态模块207根据用户输入的数据确定所消费项目的亲合状态。例如,如果用户选择显示在触摸屏中的用户界面中的“喜欢”按钮,那么亲合状态模块207把所消费项目的亲合状态确定为喜欢的项目。在一些实施例中,亲合状态模块207把描述与所消费项目相关联的亲合状态的数据发送给模型生成器208和得分估计器210中的一个或多个。在另外的实施例中,亲合状态模块207把描述亲合状态的数据保存在存储设备245和/或存储设备145中。

模型生成器208可以是包括用于生成与用户相关联的用户效能模型的例程的软件。在一些实施例中,模型生成器208可以是可由处理器235执行以提供下面说明的用于生成与用户相关联的用户效能模型的动作和/或功能的一组指令。在一些实施例中,模型生成器208可被保存在计算设备200的存储器237中,并可由处理器235访问和执行。模型生成器208可适合于与计算设备200的处理器235和其它组件协作和通信。

与用户相关联的用户效能模型可以是用于生成与项目相关联的效能得分的模型。与项目相关联的效能得分是指示与项目相关联的效能度的数据。例如,与项目相关联的高效能得分可指示根据一个或多个考虑因素(比如可用性、合法性、个性化、金融考虑因素和/或其它考虑因素),该项目是或者理应是有效、合意和/或与用户相关的。例如,有效的推荐项目可能未必是用户想要的项目,相反可能是根据诸如可用性、合法性、个性化、金融考虑因素和/或其它考虑因素之类的一个或多个要求,用户需要的项目。在一些实施例中,与项目相关联的效能得分是指示该项目的推荐可能产生的效能度的不连续数字得分。例如,效能包括诸如可用性、合法性、个性化、金融考虑因素和/或其它考虑因素之类的一个或多个要求的满足程度。模型生成器208和用户效能模型在下面参考图3A和3B更详细说明。

得分估计器210可以是包括用于生成项目的效能得分的例程的软件。在一些实施例中,得分估计器210可以是可由处理器235执行以提供下面说明的用于生成项目的效能得分的动作和/或功能的一组指令。在一些实施例中,得分估计器210可被保存在计算设备200的存储器237中,并可由处理器235访问和执行。得分估计器210可适合于与计算设备200的处理器235和其它组件协作和通信。

在一些实施例中,得分估计器210生成项目的效能得分,并把效能得分发送给推荐模块212。在另外的实施例中,得分估计器210把效能得分保存在存储设备245和/或存储设备145中。效能得分和得分估计器210在下面参考图4A和4B更详细说明。

推荐模块212可以是包括用于向用户提供推荐项目的例程的软件。在一些实施例中,推荐模块212可以是可由处理器235执行以提供下面说明的用于向用户提供推荐项目的动作和/或功能的一组指令。在一些实施例中,推荐模块212可被保存在计算设备200的存储器237中,并可由处理器235访问和执行。推荐模块212可适合于与计算设备200的处理器235和其它组件协作和通信。

在一些实施例中,推荐模块212从数据服务器120、服务器101和/或社交网络服务器130接收一组候选项目。例证的候选项目包括(但不限于)饭店、旅馆、关注点、广播节目、音频文件(例如,歌曲、播客节目)、视频、无线电台和新闻项目等。推荐模块212指令得分估计器210生成每个候选项目的效能得分。推荐模块212从得分估计器210接收与一组候选项目相关联的一组效能得分。推荐模块212根据所述一组效能得分,对所述一组候选项目排序。推荐模块212生成一个或多个推荐项目,作为所述一组候选节目中的排序最高的一个或多个候选项目。

在另外的实施例中,推荐模块212从利益相关者效能数据库247取回利益相关者效能数据。推荐模块212根据利益相关者效能数据,从所述一组候选项目中去除一个或多个候选项目。例如,如果用户为18岁,那么推荐模块212从所述一组候选项目中排除酒吧推荐,因为利益相关者效能数据指示不向小于21岁的用户推荐酒吧。在另一个例子中,如果用户正在公路上并道,那么推荐模块212暂停向用户的音频项目的推荐,因为利益相关者效能数据指示当用户在公路上并道时,不向用户推荐音频项目。推荐模块212根据对应的效能得分,对剩余的候选项目排序,从排序的剩余候选项目中生成一个或多个推荐项目。例如,推荐模块212生成一个或多个推荐项目,作为排序最高的一个或多个剩余候选项目。

在一些例子中,用户效能模型指示用户在一天中的特定时间,或者在特定出行期间,通常收听特定类型的音频项目(例如,音乐或无线电节目),并且推荐模块212生成给用户的推荐项目,所述推荐项目包括在一天中的所述特定时间或者在特定出行期间的所述特定类型的音频项目。例如,用户效能模型指示在从家通勤到工作场所的时候,用户通常收听新闻,从而当用户正开车从家到工作场所时,推荐模块212向用户推荐新闻无线电广播。在一些例子中,用户效能模型指示用户经常在每个工作日的3:00PM到3:30PM之间从学校接载孩子,从而推荐模块212在每个工作日的3:00PM之前,下载并把孩子喜欢的动画片保存在移动计算设备135中,以致喜欢的动画片可供孩子在从学校到家的路上观看。在一些例子中,用户效能模型指示用户在一天中的特定时间,或者在特定出行期间,通常呼叫特定联系人,从而在所述一天中的特定时间,或者在所述特定出行期间,推荐模块212向用户呈现该联系人的电话号码,以致用户能够容易地访问该电话号码和呼叫所述联系人。

推荐模块212向用户提供一个或多个推荐项目。例如,推荐模块212指令用户界面模块214生成用于提供向用户呈现所述一个或多个推荐项目的用户界面的图形数据。在另一个例子中,推荐模块212把一个或多个音频推荐项目传送给移动计算设备135或客户端设备115,使耦接到移动计算设备135或客户端设备115的扬声器系统向用户播放所述一个或多个音频推荐项目。在一些实施例中,推荐模块212把所述一个或多个推荐项目保存在存储设备245和/或存储设备145中。

用户界面模块214可以是包括用于生成向用户提供用户界面的图形数据的例程的软件。在一些实施例中,用户界面模块214可以是可由处理器235执行以提供下面说明的用于生成向用户提供用户界面的图形数据的动作和/或功能的一组指令。在一些实施例中,用户界面模块214可被保存在计算设备200的存储器237中,并可由处理器235访问和执行。用户界面模块214可适合于与计算设备200的处理器235和其它组件协作和通信。

在一些实施例中,用户界面模块214生成用于提供向用户呈现一个或多个推荐项目的用户界面的图形数据。用户界面模块214把图形数据发送给客户端设备115和/或移动计算设备135,使客户端设备115和/或移动计算设备135向用户呈现所述用户界面。在一些实施例中,用户界面模块214生成用于提供允许用户输入项目的亲合状态的用户界面的图形数据。例证的用户界面将参考图14举例说明。在一些实施例中,用户界面模块214生成用于提供允许利益相关者输入利益相关者效能数据的用户界面的图形数据。用户界面模块214可生成用于向用户提供其它用户界面的图形数据。

效能应用109的例证使用包括向用户提供车载内容推荐。例如,车辆中的用户(例如,驾驶员或乘客)可请求效能应用109提供推荐项目,所述推荐项目包括(但不限于)地点(例如,饭店、加油站、旅馆)、到不同目的地的路线、音频项目以及基于语音命令用户想要与之通信的联系人等。效能应用109至少部分根据与用户相关联的用户效能模型确定给用户的推荐项目,以致给用户的内容推荐是有效的。例如,内容推荐满足一个或多个效能要求,包括合法性、安全性、移动性、情境要求、金融要求和利益相关者配置的其它要求。

(例证的模型生成器)

现在参见图3A,图中更详细地表示了模型生成器208的例子。例证的模型生成器208包括用户属性模块302、项目属性模块304、分组模块306、设备数据聚合器308、情境检测器310、情境偏向建模器312、行程移动性检测器314、亲合子系统315、用户效能模块316、分组效能模块318和利益相关者效能模块320。模型生成器208的各个组件经总线220相互通信耦接。

用户属性模块302可以是用于聚合与用户相关联的数据以生成用户属性数据的代码和例程。在一些实施例中,用户属性模块302从标识模块204接收识别用户的用户ID。在一些实施例中,用户属性模块302利用用户ID,从社交网络服务器130接收描述与用户相关联的用户简介的数据。在一些实施例中,用户属性模块302从存储设备245和/或存储设备145取回描述用户简介的数据。在一些例子中,与用户相关联的用户简介包括兴趣、爱好、教育背景、工作经验、人口统计信息、用户加入的社区和用户预订的主题等。用户简介可包括与用户相关联的其它数据。

用户属性模块204可从社交网络服务器130取回与用户相关联的用户社交数据。用户社交数据可以是描述用户在社交网络中进行的一个或多个社交活动的数据。例如,用户社交数据描述用户在社交网络中签到的地方、用户发布的帖子、用户发布的评论、用户进行的分享、用户进行的认可、用户预订的主题和用户追随的社区等中的一个或多个。其它的例证数据社交数据也是可能的。

在一些实施例中,用户属性模块302根据用户简介和用户社交数据中的一个或多个生成用户的用户属性数据。与用户相关联的用户属性数据可以是表示描述用户的一个或多个属性的数据。例如,用户属性数据包括描述用户的一个或多个属性以及所述一个或多个属性的对应值。描述用户的例证属性包括(但不限于)用户居住的城市、职位、用户所上或毕业自的院校、兴趣、性别、年龄、爱好、主题和/或社区预订等。与用户相关联的其它例证属性也是可能的。属性的例证值包括(但不限于)零值、非零数值、描述、链接(例如,统一资源定位符(URL))和符号等。其它的例证值也是可能的。

例如,用户属性数据包括值为“1”的第一属性“兴趣:技术”以及值为“0”的第二属性“兴趣:诗歌”,指示用户喜欢技术,不喜欢诗歌。在又一个例子中,用户属性数据包括与从1到10的亲合等级相关联的值为8的第一属性“主题:科幻”以及值为5的第二属性“主题:言情小说”,指示用户喜欢科幻多于言情小说。在另一个例子中,用户属性数据包括值为“旧金山”的第一属性“所在地”以及值为“XYZ大学”并带有到XYZ大学的链接的第二属性“教育”。其它例证的用户属性数据也是可能的。

在一些实施例中,用户属性模块302把用户属性数据发送给用户效能模块316和在图4A及4B中例示的得分生成器402。在另外的实施例中,用户属性模块302把用户属性数据保存在存储设备245和/或存储设备145中。

项目属性模块304可以是用于聚合与项目相关联的数据以生成项目属性数据的代码和例程。在一些实施例中,项目属性模块304从消费模块206接收识别项目的项目ID,和从亲合状态模块207接收描述与项目相关联的亲合状态的数据。项目属性模块304从存储设备245和/或存储设备145取回描述项目的项目数据。例如,项目属性模块304从保存项目的存储设备245取回结构化项目数据。

在一些实施例中,项目属性模块304从社交网络服务器130接收与项目相关联的项目社交数据。与项目相关联的项目社交数据可以是描述在社交网络中进行的与项目相关的一个或多个社交活动的数据。例如,项目社交数据描述项目在社交网络中的流行(例如,与项目相关联的总浏览次数、评论、转发和/或分享)、项目是否是热门项目、项目是否在排行榜中、项目是否是最新项目和/或项目是否由著名的发布者发布等中的一个或多个。其它的例证项目社交数据也是可能的。

在一些实施例中,项目属性模块304根据亲合状态、项目社交数据和项目数据中的一个或多个,生成项目的项目属性数据。与项目相关联的项目属性数据可以是表示描述该项目的一个或多个属性的数据。例如,项目属性数据包括项目的亲合状态。在一些实施例中,项目属性数据包括描述项目的一个或多个属性以及所述一个或多个属性的对应值。例如,与项目相关联的属性包括标题、作者、发布者、取回该项目的地址、项目的在社交网络中总浏览次数、评论、转发和/或分享等。在另一个例子中,与项目相关联的属性包括项目的名称(例如,旅馆名称)、与项目相关联的位置(例如,旅馆地址)、与项目相关联的用户评级和评论。在另一个例子中,与项目相关联的属性包括联系人姓名、联系人和用户之间的关系、联系人的电话号码和电子邮件地址,等等。与项目相关联的其它例证属性也是可能的。属性的例证值包括(但不限于)零值、非零数值、描述、链接(例如,统一资源定位符(URL))和符号等。其它的例证值也是可能的。

例如,描述新闻项目的项目属性数据包括值为“MaryABC”的第一属性“作者”,值为“1,234”的第二属性“总浏览次数”,和值为“新闻项目”的第三属性“类别”。在另一个例子中,描述用户去过的旅馆的项目属性数据包括值为“XYZ旅馆”的第一属性“旅馆名称”,值为“2013年4月1日”的第二属性“入住日期”,值为“2013年4月5日”的第三属性“退房日期”,和值为“5星”的第四属性“用户评级”。在另一个例子中,描述歌曲的项目属性数据包括值为“KellyDEF”的第一属性“艺术家”,值为“10”的第二属性“用户播放该歌曲的总次数”,和值为“昨天”的第三属性“歌曲的最后播放时间”。其它例证的项目属性数据也是可能的。

在一些实施例中,项目属性模块304把项目属性数据发送给用户效能模块316和得分生成器402。在另外的实施例中,项目属性模块304把项目属性数据保存在存储设备245和/或存储设备145中。

分组模块306可以是用于把项目归类到一个或多个分组中的代码和例程。在一些实施例中,分组模块306从项目属性模块304接收与项目相关联的项目属性数据。分组模块306根据项目属性数据,把项目归类到一个或多个分组中。例如,分组模块306把带有酒吧的饭店归类到地点分组、饭店子分组和向超过21岁的成年人提供酒精饮料的酒吧子分组中。项目的分组可以是描述共享一个或多个类似属性的一系列项目的数据。例证的分组包括(但不限于)包括加油站子分组和饭店子分组的地点分组、包括朋友子分组和家庭成员子分组的人物分组、出行和路线分组、音乐文件分组、视频分组和新闻项目分组等。图15中例示了更多的例证项目分组。

分组模块306确定识别一个或多个分组的一个或多个分组ID,并使所述一个或多个分组ID与项目关联。与项目相关联的一个或多个分组的标识是有利的,因为例如通过出自第一分组的推荐项目产生的效能可能不同于通过出自第二分组的推荐项目产生的效能。例如,推荐给用户的地点的效能不同于推荐给用户的歌曲的效能。

在一些实施例中,分组模块306把识别与项目相关联的一个或多个分组的一个或多个分组ID发送给用户效能模块316、分组效能模块318和/或得分生成器402。在另外的实施例中,分组模块306把所述一个或多个分组ID以及所述一个或多个分组ID和项目之间的关联保存在存储设备245和/或存储设备145中。

设备数据聚合器308可以是用于聚合与移动计算设备135相关联的设备数据的代码和例程。设备数据可以是描述移动计算设备135的数据。在一些实施例中,设备数据包括设备种类、设备型号、从耦接到移动计算设备135的第一传感器140接收的传感器数据和经网络105从数据服务器120取回的远程设备数据。例如,如果移动计算设备135是车辆,那么设备数据可包括车辆数据,包括车辆种类(例如,汽油车、电动车、混合动力车)、车辆型号、来自车辆的传感器数据(例如,当前里程油耗或来自相机、GPS或OBD系统的其它数据)、保存在存储设备245中的数据(例如,包括车辆ID的本地车辆数据)和从数据服务器120取回的数据(例如,包括保存在数据服务器120中的车辆更新的远程车辆数据)。在一些实施例中,设备数据可包括与移动计算设备135相关联的其它数据。

在一些实施例中,设备数据聚合器308取回来自一个或多个第一传感器140的与移动计算设备135相关联的传感器数据、来自存储设备245的本地数据(例如,本地车辆数据)和/或经网络105来自数据服务器120中的存储设备145的远程数据(例如,远程车辆数据)中的一个或多个。设备数据聚合器308把取回的数据聚合成与移动计算设备135相关联的设备数据。在一些实施例中,设备数据聚合器308把聚合的设备数据保存在存储设备245中。在另外的实施例中,设备数据聚合器308把设备数据发送给行程移动性检测器314和得分生成器402。

情境检测器310可以是用于生成描述与用户相关联的情境的情境数据的代码和例程。例证的情境包括(但不限于)开车送孩子上学、从学校接走孩子、上班通勤、购买杂货、到度假地旅行、去加油站和去机场等。其它例证的情境也是可能的。

在一些实施例中,情境检测器310从标识模块204接收识别用户的用户ID。情境检测器310利用用户ID,从存储设备245取回描述与用户相关联的用户请求历史的数据。用户请求历史可以是描述用户过去进行的一个或多个历史请求的数据。例如,用户请求历史包括描述用户请求的一个或多个目的地、一家或多家旅馆、一首或多首歌曲、一家或多家饭店等的数据。在一些例子中,用户请求历史还可包括用户请求的其它数据。

在一些实施例中,情境检测器310从存储设备245和/或存储设备145取回描述与用户相关联的用户情境历史的数据。用户情境历史可以是描述历史情境(比如用户进行的出行、用户在地图上标示的位置、驾驶活动、社交活动和用户过去参与的娱乐活动(例如,听的音乐)等)的数据。例如,用户情境历史描述用户每周出行以购买杂货。在另一个例子中,用户情境历史描述用户每个工作日出行以接送孩子上下学。情境检测器310还从第一传感器140和/或第二传感器160接收传感器数据。例如,情境检测器310从GPS接收描述时刻和用户的当前位置的数据。情境检测器310从数据服务器120取回描述与用户的当前位置相关联的地图的地图数据。

情境检测器310根据用户请求历史、用户情境历史、传感器数据和地图数据中的一个或多个,确定与用户相关联的当前情境。当前情境可描述用户正在进行的活动,例如,驾驶活动、娱乐活动、社交活动、消费活动等。例如,假定时刻为7:40AM,并且用户的当前位置指示用户在朝着工作场所前进的公路上。如果用户情境历史指示用户通常在7:30AM和8:30AM之间开车上班,那么情境检测器310把与用户相关联的当前情境确定为上班通勤。在另一个例子中,如果用户请求历史指示2分钟之前,用户请求了去往机场的行车方向,并且用户目前开车前往连接机场的公路,那么情境检测器310把与用户相关联的当前情境确定为前往机场。

在一些实施例中,计算设备200的管理员或者用户输入用户的一个或多个预定情境。预定情境由预定的情境数据和相关联的参数(例如,时刻、一周中的日子、当前位置、行进方向等)描述。例如,管理员或用户根据时刻配置一系列的预定情境,以致8:00AM-9:00AM时段的预定情境是上班通勤,3:00PM-4:00PM时段的预定情境是接孩子放学,6:00PM-7:00PM时段的预定情境是在下班回家的路上到饭店买晚饭,等等。在另外的实施例中,情境检测器310根据用户情境历史和用户请求历史中的一个或多个,确定用户的一个或多个预定情境。例如,情境检测器310聚合从用户情境历史取回的用户的历史情境,并生成一系列的预定情境作为用户的历史情境中的一个或多个情境。

情境检测器310从一个或多个第一传感器140和/或一个或多个第二传感器160接收传感器数据(例如,时刻、用户的当前位置、行进方向等)。根据传感器数据,情境检测器310从一系列的预定情境中确定用户的当前情境,以致当前情境是与传感器数据匹配的预定情境。例如,如果时刻为8:00AM,那么情境检测器310从一系列的预定情境中确定与所述时刻匹配的当前情境(例如上班通勤)。

在一些实施例中,情境检测器310利用用户的当前情境更新用户情境历史。例如,情境检测器310把当前情境添加到用户情境历史中。在一些实施例中,情境检测器310把描述当前情境的情境数据发送到情境偏向建模器312、亲合子系统315、用户效能模块316和得分生成器402中的一个或多个中。在另外的实施例中,情境检测器310把情境数据保存在存储设备245和/或存储设备145中。

情境偏向建模器312可以是用于生成与用户相关联的情境的情境偏向模型的代码和例程。情境偏向模型可以是描述为了实现期望的效能,在某种情境下要被满足的一个或多个情境约束的数据。例证的情境约束包括(但不限于)到目的地的时间约束、最短距离约束、最低价格约束、最快路线约束、安全性约束、合法性约束、金融约束或者用户配置的任何其它情境约束,等等。不同的情境可具有不同的情境约束。

例如,对于情境“送孩子上学”,情境偏向模型可包括到目的地的时间约束;然而,对于情境“购买杂货”,情境偏向模型可不包括到目的地的时间约束,而是包括最短距离约束。在另一个例子中,如果当前情境指示用户正在搜索提供晚餐的饭店,那么情境偏向建模器312可生成当前情境的情境偏向模型,以包括到目的地的时间约束,以致关门时间固定的饭店需要满足从用户的当前位置到目的地的时间约束,以便被推荐给用户。

在一些实施例中,情境偏向建模器312从情境检测器310接收描述当前情境的情境数据。情境偏向建模器312从存储设备245和/或存储设备145取回描述一个或多个标准情境偏向模型的数据。标准情境偏向模型可以是具有预定配置的情境偏向模型。例如,包括一个或多个情境约束的标准情境偏向模型的配置被保存在存储设备145和/或存储设备245中。情境偏向建模器312根据一个或多个标准情境偏向模型生成当前情境的情境偏向模型。例如,情境偏向建模器312把当前情境的情境偏向模型确定为与当前情境匹配的标准情境偏向模型。在另一个例子中,情境偏向建模器312选择具有最接近当前情境的相关情境的标准情境偏向模型,并通过按照当前情境调整选择的标准情境偏向模型的配置(例如,情境约束)来生成当前情境的情境偏向模型。

在一些实施例中,情境偏向建模器312从用户和/或利益相关者接收描述情境偏向模型的一个或多个约束的配置数据,并至少部分根据接收的配置数据生成情境偏向模型。在一些实施例中,情境偏向建模器312记录描述与一个或多个推荐项目的用户交互的数据,并根据所述用户交互生成用户的情境偏向模型。例如,情境偏向建模器312从用户交互数据中获悉在特定情境下,用户拒绝或忽略特定种类的建议和/或选择特定种类的推荐项目。情境偏向建模器312可根据在用户交互数据中描述的行为生成用户的情境偏向模型。

在一些实施例中,情境偏向建模器312把情境偏向模型发送给用户效能模块316和得分生成器402。在另外的实施例中,情境偏向建模器312把情境偏向模型保存在存储设备145和/或存储设备245中。

行程移动性检测器314可以是用于生成与用户相关联的行程移动性数据的代码和例程。行程移动性数据可以是描述用户进行的一次或多次出行的数据。例证的行程移动性数据包括(但不限于)出行的计划路线、出行的最佳路线、出行偏移距离(例如,出行中途停留点远离计划路线的距离)、出行持续时间、出行起点、出行终点、出行的距离、出行中途停留点、出行开始时间、出行结束时间、与路线相关联的地图和与移动计算设备135相关联的设备数据(例如,包括车辆种类的车辆数据、车辆将行进多远等)。例如,假定用户的出行历史指示用户从家到工作地来往通勤通常选取特定路线。用户有时在下班回家的路上会从杂货店购买杂货,并且杂货店离开所述特定路线约0.2英里。在这个例子中,与用户相关联的行程移动性数据包括用户的出行历史、路线、在杂货店的出行中途停留点和0.2英里的出行偏移距离等。行程移动性数据可包括与用户的出行相关联的其它数据。

在一些实施例中,行程移动性检测器314从一个或多个第一传感器140和/或第二传感器160接收传感器数据。例如,行程移动性检测器314从第一传感器140和/或第二传感器160接收描述车辆中的发动机启动、车辆中的发动机关闭、车辆中的停车制动、行进速度、当前位置和时刻中的一个或多个的传感器数据。行程移动性检测器314根据传感器数据确定出行起点、出行中途停留点和/或出行终点。例如,行程移动性检测器314把出行起点确定为启动车辆的发动机的位置,把出行终点确定为关闭车辆的发动机的位置,把出行中途停留点确定为行进速度为0并且发生停车制动的位置。

在一些实施例中,行程移动性检测器314从保存在存储设备145和/或存储设备245中的用户的出行历史中,取回从出行起点到出行终点用户进行的一个或多个类似的历史出行。行程移动性检测器314通过比较当前出行与所述一个或多个类似的历史出行,确定出行偏移距离。例如,假定在下班回家的出行期间,用户行进到出行中途停留点(例如,开车通过干洗店),并且所述出行中途停留点离开下班回家的历史路线0.5英里。行程移动性检测器314把出行偏移距离确定为离开历史路线0.5英里。

在一些实施例中,行程移动性检测器314取回描述与用户进行的当前出行相关联的地图的地图数据。行程移动性检测器314从设备数据聚合器308接收与移动计算设备135相关联的设备数据。行程移动性检测器314生成包括出行起点、出行中途停留点、出行终点、出行偏移距离、地图数据和设备数据中的一个或多个的行程移动性数据。在一些实施例中,行程移动性检测器314把行程移动性数据发送给用户效能模块316和得分生成器402。在另外的实施例中,行程移动性检测器314把行程移动性数据保存在存储设备145和/或存储设备245中。

亲合子系统315可以是用于预测项目的亲合状态的代码和例程。例如,亲合子系统315预测候选项目的亲合状态,并把候选项目的亲合状态发送给得分生成器402。在一些实施例中,亲合子系统315从标识模块204接收识别用户的用户ID,从存储设备145和/或存储设备245接收识别候选项目的项目ID、描述与用户相关联的一个或多个用户偏好的数据,和从情境检测器310接收描述当前情境的数据。亲合子系统315从存储设备145和/或存储设备245取回描述与用户相关联的消费历史的数据。消费历史包括用户消费的一个或多个项目。亲合子系统315取回描述所消费项目的历史亲合状态的数据,并根据所消费项目的历史亲合状态训练候选项目的亲合状态的预测。

亲合子系统315根据用户偏好、当前情境、用户的消费历史和与所消费项目相关联的历史亲合状态中的一个或多个,预测候选项目的亲合状态。例如,如果用户认可过去播放的类似歌曲,那么亲合子系统315把歌曲的亲合状态估计为喜欢的项目。在另一个例子中,如果当前情境指示用户在去接孩子放学的路上,那么亲合子系统315估计孩子喜欢的动画片的新剧集的亲合状态高于新闻项目。在另一个例子中,亲合子系统315估计某家咖啡店的亲合状态高于其它的咖啡店,因为用户的消费历史指示用户过去去过该咖啡店。

在一些实施例中,亲合子系统315把预测的亲合状态发送给用户效能模块316和得分估计器402。在另外的实施例中,亲合子系统315把预测的亲合状态保存在存储设备145和/或存储设备245中。

用户效能模块316可以是用于生成用户的用户效能模型的代码和例程。在一些实施例中,用户效能模块316接收来自利益相关者效能模块320的利益相关者效能数据、来自用户属性模块302的与用户相关联的用户属性数据、来自项目属性模块304的与用户消费的项目相关联的项目属性数据、来自亲合状态模块207的消费项目的亲合状态、来自分组模块306的与所消费项目相关联的分组ID、来自情境检测器310的描述当前情境的情境数据、来自情境偏向建模器312的当前情境的情境偏向模型和来自行程移动性检测器314的行程移动性数据中的一个或多个。

用户效能模块316确定是否存在与用户相关联的历史用户效能模型。如果不存在与用户相关联的历史用户效能模型(例如,不存在过去对于该用户生成的用户效能模型),那么用户效能模块316从分组效能模块318取回描述分组效能模型的数据。在一些实施例中,用户效能模块316根据用户ID和用户简介,从分组效能模块318取回分组效能模型。例如,如果用户是城市居民,那么用户效能模块316取回满足第一到家距离属性的分组效能模型;然而,如果用户是乡村居民,那么用户效能模块316取回满足第二到家距离属性的分组效能模型。在一些实施例中,用户效能模块316根据项目属于的分组,从分组效能模块318取回分组效能模型。例如,用户效能模块316取回匹配与项目相关联的分组ID的分组效能模型。分组效能模型在下面更详细说明。

用户效能模块316根据利益相关者效能数据、分组效能模型、用户属性数据、包括亲合状态的项目属性数据、分组ID、情境偏向模型和行程移动性数据中的一个或多个,生成用户效能模型。例如,用户效能模块316生成对利益相关者效能数据、分组效能模型、用户属性数据、包括亲合状态的项目属性数据、分组ID、情境偏向模型和行程移动性数据编码的用户效能模型,以致当所述用户效能模型被用于生成候选项目的效能得分时,产生期望的效果(例如,可用性、个性化、合法性、金融考虑因素等的效能)。

例如,用户效能模块316生成对情境偏向模型中的到目的地的时间约束编码的用户效能模型,以致对于满足到目的地的时间约束的候选地点,得分生成器402生成更高的效能得分。在另一个例子中,用户效能模块316生成对指示不向小于21岁的用户提供酒吧推荐的利益相关者效能数据编码的用户效能模型,以致如果用户小于21岁,那么对于包括酒吧的候选地点,得分生成器402生成较低的效能得分(例如,0效能得分)。在另一个例子中,用户效能模块316生成对包含在行程移动性数据中的出行偏移距离编码的用户效能模型,以致得分生成器402对于在距当前出行的出行偏移距离内的候选地点,生成较高的亲合得分,而对于不在距当前出行的出行偏移距离内的候选地点,生成较低的亲合得分。

如果与用户相关联的历史用户效能模型已存在(例如,以前对于该用户生成了用户效能模型),那么用户效能模块316从存储设备145和/或存储设备245取回描述历史用户效能模型的数据。用户效能模块316根据利益相关者效能数据、历史用户效能模型、用户属性数据、包括亲合状态的项目属性数据、分组ID、情境偏向模型和行程移动性数据中的一个或多个,生成该用户的用户效能模型。例如,用户效能模块316根据利益相关者效能数据、历史用户效能模型、用户属性数据、包括亲合状态的项目属性数据、分组ID、情境偏向模型和行程移动性数据中的一个或多个,更新历史用户效能模型,以生成新的用户效能模型。

在一些实施例中,用户效能模块316把用户效能模型发送给得分生成器402。在另外的实施例中,用户效能模块316把用户效能模型保存在存储设备145和/或存储设备245中。

分组效能模块318可以是用于生成分组效能模型的代码和例程。在一些实施例中,分组效能模型可以是项目分组的效能模型。例如,第一分组效能模型是旅馆分组的效能模型,第二分组效能模型是歌曲分组的效能模型。在另一个例子中,分组效能模型可以是根据特定分组中的项目属性对偏向编码的标准效能模型。例如,即使用户喜欢特定酒吧,并且该酒吧在每天的这个时刻营业,酒吧分组的标准效能模型也指示不向小于21岁的任何用户推荐酒吧。在一些实施例中,分组效能模块318确定项目分组的标准效能模型,并把标准效能模型保存在存储设备145和/或存储设备245中。例如,分组效能模块318从利益相关者效能模块320接收利益相关者效能数据,并把利益相关者效能数据作为实现期望效果的配置,编码在特定分组的标准效能模型中。

在一些实施例中,分组效能模型可以是用户分组的效能模型。例如,第一分组效能模型是小于21岁的用户分组的效能模型,第二分组效能模型是至少21岁的用户分组的效能模型。在另一个例子中,分组效能模型可以是平均分组效能模型,平均分组效能模型是与相同分组中的用户相关联的用户效能模型的平均。在一些实施例中,分组效能模块318编译与相同分组中的用户相关联的一系列用户效能模型,并根据所述一系列用户效能模型生成平均分组效能模型。分组效能模块318可定期更新和发布平均分组效能模型。在一些例子中,在服务器101中更新和发布平均分组效能模型。

在一些实施例中,分组效能模块318把分组效能模型保存在存储设备145和/或存储设备245中。在另外的实施例中,分组效能模块318把分组效能模型发送给用户效能模块316。

利益相关者效能模块320可以是用于配置利益相关者效能数据的代码和例程。在一些实施例中,利益相关者效能模块320从利益相关者接收利益相关者效能数据,把利益相关者效能数据保存在利益相关者效能数据库247中。在另外的实施例中,利益相关者效能模块320把利益相关者效能数据发送给用户效能模块316和得分生成器402。

现在参见图3B,图中更详细地表示了模型生成器208的另一个例子。用户属性模块302生成与用户相关联的用户属性数据,并把用户属性数据发送给用户效能模块316。项目属性模块304生成项目属性数据,并把项目属性数据发送给分组模块306和用户效能模块316。分组模块306生成项目与之关联的分组ID,并把分组ID发送给分组效能模块318和用户效能模块316。利益相关者效能模块320从利益相关者效能数据库247取回利益相关者效能数据,并把利益相关者效能数据发送给分组效能模块318。分组效能模块318根据分组ID和利益相关者效能数据生成分组效能模型,并把分组效能模型发送给用户效能模块316。

设备数据聚合器308生成与移动计算设备135相关联的设备数据,并把设备数据发送给行程移动性检测器314。行程移动性检测器314生成行程移动性数据,并把行程移动性数据发送给用户效能模块316。情境检测器310生成描述当前情境的情境数据,并把情境数据发送给用户效能模块316和情境偏向建模器312。情境偏向建模器312生成当前情境的情境偏向模型,并把情境偏向模型发送给用户效能模块316。亲合子系统315预测项目的亲合状态,并把亲合状态作为亲合状态数据发送给用户效能模块316。

用户效能模块316从利益相关者效能数据库247取回利益相关者效能数据。用户效能模块316根据用户属性数据、项目属性数据、分组ID、分组效能模型、利益相关者效能数据、亲合状态、情境偏向模型、情境数据和行程移动性数据中的一个或多个,生成用户效能模型。用户效能模块316把用户效能模型保存在存储设备245中。在一些实施例中,用户效能模块316把用户效能模型发送给分组效能模块318。

(例证的得分估计器)

现在参见图4A,图中更详细地表示了得分估计器210的例子。在例示的实施例中,得分生成器210包括用户属性模块302、项目属性模块304、分组模块306、设备数据聚合器308、情境检测器310、情境偏向建模器312、行程移动性检测器314、亲合子系统315、得分生成器402和利益相关者效能模块320。上面说明了用户属性模块302、项目属性模块304、分组模块306、设备数据聚合器308、情境检测器310、情境偏向建模器312、行程移动性检测器314、亲合子系统315和利益相关者效能模块320的结构、动作和/或功能,这里不再重复它们的说明。

得分生成器402可以是用于生成项目的效能得分的代码和例程。在一些实施例中,得分生成器402接收来自利益相关者效能模块320的利益相关者效能数据、来自用户属性模块302的与用户相关联的用户属性数据、来自项目属性模块304的与一组候选项目相关联的项目属性数据、来自亲合子系统315的一组候选项目的亲合状态、来自分组模块306的与候选项目相关联的分组ID、来自情境检测器310的描述当前情境的情境数据、来自情境偏向建模器312的当前情境的情境偏向模型、来自行程移动性检测器314的行程移动性数据和来自用户效能模块316的与用户相关联的用户效能模型中的一个或多个。

在一些实施例中,得分生成器402从设备数据聚合器308接收与移动计算设备135相关联的设备数据。得分生成器402根据设备数据确定移动计算设备135的设备偏向数据。设备偏向数据可以是描述对于移动计算设备135配置的一个或多个评分偏好的数据。例如,假定移动计算设备135是车辆,设备数据包括所述车辆的车辆型号和车辆种类。得分生成器402生成设备偏向数据,作为配置成在关于不同种类的车辆的效能得分生成时有偏向的车辆偏向数据。例如,如果用户驾驶电动汽车,那么车辆偏向数据指示对于附近有充电站的地点,生成较高的效能得分;不过,如果用户驾驶汽油车,那么车辆偏向数据指示对于附近有加油站的地点,生成较高的效能得分。设备偏向数据(例如,车辆偏向数据)不被编码到用户效能模型中,以致即使用户操作不同的移动计算设备135(例如,不同种类的车辆),得分生成器402也可应用相同的用户效能模型来生成效能得分。

得分生成器402根据利益相关者效能数据、用户效能模型、用户属性数据、包括亲合状态的项目属性数据、分组ID、情境数据、情境偏向模型、行程移动性数据、设备数据和设备偏向数据中的一个或多个,生成每个候选项目的效能得分。例如,如果(1)用户效能模型编码利益相关者效能数据,指示不向小于21岁的用户提供酒吧推荐,和(2)用户属性数据指示用户为20岁,那么对于包括酒吧的候选地点,得分生成器402生成较低的效能得分(例如,0效能得分)。得分生成器402可从一组候选项目中排除包括酒吧的候选地点。在另一个例子中,如果用户效能模型将最大出行偏移距离编码为10英里,那么得分生成器402对于在最大出行偏移距离内的候选地点,生成较高的亲合得分,而对于不在最大出行偏移距离内的候选地点,生成较低的亲合得分。在另一个例子中,如果用户驾驶电动汽车,那么得分生成器402按照车辆偏向数据,对于附近有充电站的地点,生成较高的效能得分;不过,如果用户驾驶汽油车,那么得分生成器402对于附近有加油站的地点,生成较高的效能得分。在另一个例子中,如果情境数据指示用户在公路上并道,那么对于会分散用户的驾驶注意力的候选项目,得分生成器402生成较低的效能得分。

在一些实施例中,得分生成器402把它关于一组候选项目生成的效能得分发送给推荐模块212。在另外的实施例中,得分生成器402把它生成的效能得分保存在存储设备145和/或存储设备245中。

参见图4B,图中更详细地描述了得分估计器210的另一个例子。如图4B中所示,得分生成器402根据从用户属性模型302接收的用户属性数据、从项目属性模块304接收的项目属性数据、从分组模块306接收的分组ID、从利益相关者效能数据库247取回的利益相关者效能数据、从行程移动性检测器314接收的行程移动性数据、从设备数据聚合器308接收的设备数据、从情境检测器310接收的情境数据、从情境偏向建模器312接收的情境偏向模型、从亲合子系统315接收的亲合状态数据、从存储设备245取回的用户效能模型和从存储设备245取回的设备偏向数据中的一个或多个,生成候选项目的效能得分。

应明白对于图3A-4B中所示的各个模块的说明是作为例子提供的,众多的其它变化是可能的。在一些实施例中,各个模块可从存储设备145和/或存储设备245取回数据,并利用所述数据提供这里说明的动作和/或功能。各个模块可把数据保存在存储设备145和/或存储设备245中。在另外的实施例中,各个模块可直接从其它模块接收数据,并利用所述数据提供这里说明的动作和/或功能。各个模块可把数据直接发送给其它模块。

(方法)

图5A和5B是用于根据效能模型向用户提供推荐项目的例证方法500的流程图。参见图5A,控制器202接收与用户相关联的标识输入数据(方框502)。标识模块204利用标识输入数据识别用户(方框504)。识别用户的例证方法600将参考图6举例说明。模型生成器208确定用户识别是否成功(方框505)。如果用户识别成功,那么方法500转到方框506。否则,方法500结束或者重复。在方框506,模型生成器208确定与用户相关联的历史用户效能模型是否可用。如果与用户相关联的历史用户效能模型存在,那么方法500转到方框510。否则,控制器202从存储设备245取回描述分组效能模型的数据(方框508),然后方法500转到方框512。转到方框510,控制器202从存储设备245取回描述历史用户效能模型的数据。模型生成器208生成用户的用户效能模型(方框512)。生成用户效能模型的例证方法700将参考图7A-7C举例说明。在一些实施例中,控制器202接收描述一组候选项目的数据(方框514)。

参见图5B,得分估计器210确定一组候选项目中的每个候选项目是否都具有效能得分(方框516)。如果每个候选项目都具有效能得分,那么方法500转到方框520。否则,方法500转到方框518。在方框518,得分估计器210确定不具有效能得分的每个候选项目的效能得分(方框518),然后方法500转到方框516。生成候选项目的效能得分的例证方法800将参考图8A-8C举例说明。

转到方框520,推荐模块212从一组候选项目中排除一个或多个候选项目。例如,推荐模块212从一组候选项目中排除不满足利益相关者效能数据的一个或多个候选项目。推荐模块212根据相关联的效能得分对剩余的候选项目排序(方框522)。推荐模块212从排序的候选项目中生成一个或多个推荐项目(方框524)。例如,推荐模块212可根据排序的候选项目确定一个或多个候选项目,以推荐给用户。推荐模块212把所述一个或多个推荐项目提供给用户(方框526)。

图6是图解说明用于识别用户的例证方法600的流程图。控制器202从一个或多个第一传感器140和/或一个或多个第二传感器160接收与用户相关联的标识输入数据(方框602)。控制器202从存储设备245和/或存储设备145取回与用户相关联的历史标识数据(方框604)。标识模块204确定标识输入数据是否和历史标识数据匹配(方框606)。如果标识输入数据和历史标识数据匹配,那么标识模块204确认识别用户的用户ID(方框608)。否则,标识模块204确定用户识别失败(方框610)。

图7A-7C是用于生成用户效能模型的例证方法700的流程图。参见图7A,控制器202从利益相关者效能数据库247接收利益相关者效能数据(方框701)。控制器202从用户标识模块204接收用户ID(方框702)。控制器202利用用户ID,从存储设备245和/或存储设备145接收描述用户简介的数据(方框704)。控制器202利用用户ID,从社交网络服务器130接收用户社交数据(方框706)。用户属性模块302根据用户ID、用户简介数据和用户社交数据,生成用户属性数据(方框708)。消费模块206识别用户消费的项目(方框710)。识别用户消费的项目的例证方法900将参考图9举例说明。消费模块206确定识别所消费项目的项目ID(方框712)。亲合状态模块207利用识别所消费项目的相应项目ID,识别每个所消费项目的亲合状态(方框714)。识别项目的亲合状态的例证方法1000将参考图10举例说明。控制器202利用相应的项目ID接收每个所消费项目的项目社交数据(方框716)。

参见图7B,控制器202利用相应的项目ID,从存储设备245和/或存储设备145取回各个所消费项目的项目数据(方框718)。项目属性模块304根据对应项目ID、亲合状态、项目社交数据和项目数据,生成每个所消费项目的项目属性数据(方框720)。分组模块306根据与所消费项目相关联的项目属性数据,把每个所消费项目归类到一个或多个分组中(方框722)。分组模块306确定识别所述一个或多个分组的一个或多个分组ID(方框724)。行程移动性检测器314生成行程移动性数据(方框726)。生成行程移动性数据的例证方法1100将参考图11举例说明。情境检测器310生成描述当前情境的情境数据(方框728)。生成情境数据的例证方法1200将参考图12举例说明。情境偏向建模器312根据当前情境生成情境偏向模型(方框730)。

参见图7C,用户效能模块316确定与用户相关联的历史用户效能模型是否可用(方框732)。如果与用户相关联的历史用户效能模型存在,那么方法700转到方框734。否则,方法700转到方框738。转到方框734,控制器202从存储设备245和/或存储设备145取回描述与用户相关联的历史用户效能模型的数据。用户效能模块316根据利益相关者效能数据、历史用户效能模型、用户属性数据、包括亲合状态的项目属性数据、分组ID、情境数据、情境偏向模型和行程移动性数据中的一个或多个,生成用户的用户效能模型(方框736)。转到方框738,控制器202从存储设备245和/或存储设备145取回描述分组效能模型的数据。用户效能模块316根据利益相关者效能数据、分组效能模型、用户属性数据、包括亲合状态的项目属性数据、分组ID、情境数据、情境偏向模型和行程移动性数据中的一个或多个,生成用户的用户效能模型(方框740)。

图8A-8C是用于生成候选项目的效能得分的例证方法800的流程图。参见图8A,控制器202从利益相关者效能数据库247接收利益相关者效能数据(方框801)。控制器202接收描述候选项目的数据(方框802)。控制器202从用户标识模块204接收用户ID(方框804)。控制器202利用用户ID,从存储设备245和/或存储设备145接收用户简介数据(方框806)。控制器202利用用户ID,从社交网络服务器130接收用户社交数据(方框808)。用户属性模块302根据用户ID、用户简介数据和用户社交数据,生成用户属性数据(方框810)。消费模块206确定识别候选项目的项目ID(方框812)。亲合子系统315利用项目ID预测候选项目的亲合状态(方框814)。预测项目的亲合状态的例证方法1600将参考图16举例说明。控制器202利用项目ID,从社交网络服务器130接收候选项目的项目社交数据(方框816)。

参见图8B,控制器202利用项目ID,从存储设备245和/或存储设备145取回候选项目的项目数据(方框818)。项目属性模块304根据项目ID、亲合状态、项目社交数据和项目数据,生成候选项目的项目属性数据(方框820)。分组模块306根据与候选项目相关联的项目属性数据,把候选项目归类到一个或多个分组中(方框822)。分组模块306确定识别一个或多个分组的一个或多个分组ID(方框824)。行程移动性检测器314生成行程移动性数据(方框826)。生成行程移动性数据的例证方法1100将参考图11举例说明。情境检测器310生成描述与用户相关联的当前情境的情境数据(方框828)。生成情境数据的例证方法1200将参考图12举例说明。情境偏向建模器312根据当前情境生成情境偏向模型(方框830)。

参见图8C,控制器202从存储设备245和/或存储设备145取回描述与用户相关联的用户效能模型的数据(方框832)。控制器202从设备数据聚合器308接收设备数据(方框834)。得分生成器402根据设备数据,确定与移动计算设备135相关联的设备偏向数据(方框836)。得分生成器402根据利益相关者效能数据、用户效能模型、设备数据、设备偏向数据、用户属性数据、情境数据、行程移动性数据、分组ID和项目属性数据中的一个或多个,确定候选项目的效能得分(方框838)。

图9是用于确定用户消费的项目的例证方法900的流程图。控制器202从一个或多个第一传感器140和/或一个或多个第二传感器160接收传感器数据(方框902)。控制器202从标识模块204接收识别用户的用户ID(方框904)。控制器202根据用户ID,从存储设备145和/或存储设备245取回描述用户的消费历史的数据(方框906)。消费模块206根据传感器数据和用户的消费历史识别用户消费的项目(方框908)。消费模块206确定识别所消费项目的项目ID(方框910)。消费模块206根据项目ID更新用户的消费历史(方框912)。

图10是用于确定用户消费的项目的亲合状态的例证方法1000的流程图。控制器202接收识别用户的用户ID(方框1002)。控制器202接收识别项目的项目ID(方框1004)。控制器202根据项目ID接收描述项目的亲合等级的数据(方框1006)。亲合状态模块207把亲合等级呈现给通过用户ID识别的用户(方框1007)。控制器202从一个或多个第一传感器140和/或一个或多个第二传感器160接收用户输入数据(方框1008)。亲合状态模块207根据用户输入数据确定项目的亲合状态(方框1010)。

图11是用于生成行程移动性数据的例证方法1100的流程图。控制器202从一个或多个第一传感器140和/或一个或多个第二传感器160接收传感器数据(方框1102)。行程移动性检测器314根据传感器数据,确定用户进行的出行的出行起点、出行中途停留点和出行终点中的一个或多个(方框1104)。控制器202取回描述用户的出行历史的数据(方框1106)。行程移动性检测器314确定出行偏移距离(方框1108)。控制器202取回描述与出行相关联的地图的地图数据(方框1110)。设备数据聚合器308聚合与移动计算设备135相关联的设备数据(方框1112)。行程移动性检测器314生成包括出行起点、出行中途停留点、出行终点、出行偏移距离、地图数据和设备数据中的一个或多个的行程移动性数据(方框1114)。

图12是用于确定与用户相关联的当前情境的例证方法1200的流程图。控制器202接收识别用户的用户ID(方框1202)。控制器202根据用户ID,从存储设备145和/或存储设备245取回描述与用户相关联的用户请求历史的数据(方框1204)。控制器202根据用户ID取回描述用户情境历史的数据(方框1206)。控制器202从一个或多个第一传感器140和/或一个或多个第二传感器160接收传感器数据(方框1208)。例如,所述一个或多个第一传感器140和/或一个或多个第二传感器160可与用户的移动计算设备135相关联。控制器202取回描述与和用户相关联的当前位置关联的地图的地图数据(方框1210)。情境检测器310根据用户请求历史、用户情境历史、传感器数据和地图数据中的一个或多个,确定与用户相关联的当前情境(方框1212)。情境检测器310利用当前情境更新用户情境历史(方框1214)。

图16是用于预测候选项目的亲合状态的例证方法1600的流程图。控制器202接收识别用户的用户ID(方框1602)。控制器202接收识别候选项目的项目ID(方框1604)。控制器202根据用户ID接收描述一个或多个用户偏好的数据(方框1605)。控制器202根据用户ID接收描述用户的当前情境的数据(方框1606)。控制器202接收描述与用户消费的项目相关联、并由用户输入的历史亲合状态的数据(方框1607)。亲合子系统315利用历史亲合状态训练候选项目的亲合状态的预测(方框1608)。亲合子系统315根据用户的当前情境、一个或多个用户偏好和一个或多具历史亲合状态中的一个或多个,预测由项目ID识别的候选项目的亲合状态(方框1610)。

(图形表示)

图13是图解说明用户消费的例证地点的图形表示1300。例如,消费模块206确定用户操作的移动计算设备135目前所位于的当前位置1302。消费模块206确定在从当前位置1302起的适于步行的距离1303内的一个或多个候选地点。所述一个或多个候选地点包括出自用户的消费历史的已消费地点。已消费地点可以是用户过去去过的地点。消费模块206把用户正去的当前地点1304估计为出自用户的消费历史的已消费地点,例如因为用户以前去过该消费地点。

在另一个例子中,消费模块206确定移动计算设备135目前所位于的当前位置1306。消费模块206确定在从当前位置1306起的适于步行的距离1307内的一个或多个候选地点。消费模块206根据时刻和移动计算设备135停留在当前位置1306的持续时间,估计用户正去的当前地点1308。例如,如果时刻为7:30PM,并且移动计算设备135已位于当前位置1306超过45分钟,那么消费模块206把用户正去的当前地点1308估计为饭店。

在另一个例子中,消费模块206确定移动计算设备135目前所位于的当前位置1310。消费模块206确定在从当前位置1310起的适于步行的距离1311内,只有一个适于步行的候选地点。消费模块206把用户正去的当前地点1312估计为所述适于步行的候选地点。

图14是图解说明允许用户输入项目的亲合状态的例证用户界面的图形表示1400。在一些实施例中,所述例证用户界面显示在带有触摸屏的车载头单元中。用户可以按下第四颗星,以表示正在播放的歌曲的4/5亲合性。

图15是图解说明例证分组的图形表示1500。例证分组包括地点分组、人物分组、出行和路线分组以及音乐分组。各个分组还具有一个或多个子分组。

在上面的说明中,为了说明起见,陈述了众多的具体细节,以便透彻地理解本说明书。然而对本领域的技术人员来说,显然可在没有这些具体细节的情况下实践本公开。在其它实现中,以方框图的形式表示了各种结构和设备,以便避免使说明模糊难解。例如,在下面的一种实现中,主要关于用户接口和特定硬件,说明本实现。然而,本实现适用于能够接收数据和命令的任意种类的计算设备和提供服务的任意外设。

说明书中对“一种实现”的引用意味结合该实现说明的特定特征、结构或特性包含在本说明的至少一种实现中。在说明书中的各个地方出现的短语“在一种实现中”不一定都指的是相同的实现。

下面的详细说明的一些部分是利用对于计算机存储器内的数据比特的操作的算法和符号表示给出的。这些算法描述和表示是数据处理领域的技术人员用于向本领域的其他技术人员最有效地传达其工作的实质的手段。算法在这里并且通常被认为是导致期望结果的步骤的自洽序列。所述步骤是需要物理量的物理处理的步骤。通常(尽管并非必需),这些量采取能够被存储、传送、组合、比较和以其它方式处理的电信号或磁信号的形式。已证明有时便利的是(主要出于通用原因)把这些信号称为比特、值、元素、符号、字符、项、数字等。

然而,应当记住所有这些和相似的术语与适当的物理量关联,并仅仅是适用于这些量的方便标记。除非如根据以下讨论显然另有具体说明,否则应理解在本说明中,利用包括“处理”或“计算”或“运算”或“确定”或“显示”等术语的讨论指的是计算机系统或类似的电子计算设备的动作和处理,所述计算机系统或类似的电子计算设备把计算机系统的寄存器和存储器内的表示成物理(电)量的数据处理和变换成计算机系统的存储器或寄存器或者其它这样的信息存储、传输或显示设备内的类似地表示成物理量的其它数据。

说明书的本实现还涉及用于进行这里的操作的设备。所述设备可以是为了所需目的而专门构成的,或者它可包括通用计算机,所述通用计算机由保存在该计算机中的计算机程序有选择地激活或重新配置。这样的计算机程序可被保存在计算机可读存储介质中,包括(但不限于)都耦接到计算机系统总线的包括软盘、光盘、CD-ROM和磁盘的任意种类的盘片、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、包括具有非易失性存储器的USBKey的闪存,或者适合于保存电子指令的任意种类的介质。

说明可采取纯硬件实现、纯软件实现或者包含硬件元件和软件元件两者的实现的形式。在优选实现中,说明是用软件实现的,所述软件包括(但不限于)固件、驻留软件、微代码等。

此外,说明可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,所述计算机可用或计算机可读介质提供供计算机或任何指令执行系统使用或者与计算机或任何指令执行系统结合使用的程序代码。对本说明来说,计算机可用或计算机可读介质可以是能够包含、保存、传递、传播或传送供指令执行系统、装置或设备使用或者与指令执行系统、装置或设备结合使用的程序的任意装置。

适合于保存和/或执行程序代码的数据处理系统将包括通过系统总线直接或间接耦接到存储器元件的至少一个处理器。存储器元件可包括在程序代码的实际执行期间采用的本地存储器、大容量存储器和高速缓冲存储器,所述高速缓冲存储器提供至少一些程序代码的临时存储,以减少执行期间必须从大容量存储器取回代码的次数。

输入/输出或I/O设备(包括(但不限于)键盘、显示器、指示设备等)可直接地或者通过居间的I/O控制器耦接到系统。

网络适配器也可耦接到系统,以使数据处理系统能够通过居间的专用网络或公共网络耦接到其它数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器和以太网卡只是目前可用的各种网络适配器中的几种。

最后,这里介绍的算法和显示并不固有地与任何特殊的计算机或其它装置关联。各种通用系统可与依照这里的教导的程序一起使用,或者可证明便利的是构成更专用的装置来进行所需的方法步骤。用于各种这些系统的所需结构将从下面的说明中显现出来。另外,本说明书未参照任何特定编程语言来描述。应理解,可以使用各种编程语言实现这里描述的说明书的教导。

为了举例说明,提供了说明书的各种实现的以上说明。所述说明不是穷举的,也不意图把说明书局限于公开的具体形式。鉴于上述教导,许多修改和变更都是可能的。本公开的范围不由所述详细说明限定,而是由本申请的权利要求书限定。本领域的技术人员会明白,可用其它具体形式体现本说明,而不脱离其精神或本质特性。同样地,模块、例程、特征、属性、方法和其它各个方面的特殊命名和划分不是强制或重要的,实现本说明或其特征的机构可具有不同的名称、划分和/或格式。此外,对本领域的普通技术人员来说,本公开的模块、例程、特征、属性、方法和其它各个方面显然可被实现成软件、硬件、固件或者这三者的任意组合。另外,说明书的组件(其例子是模块)无论在什么地方被实现成软件,所述组件都可被实现成独立的程序、实现成更大程序的一部分、实现成多个单独的程序、实现成静态或动态链接库、实现成内核可加载模块、实现成设备驱动程序和/或用计算机编程领域的普通技术人员现在或未来已知的任何其他方式实现。另外,本公开决不局限于采用任何具体编程语言的实现,或者用于任何具体操作系统或环境的实现。因而,本公开举例说明(而不是限制)记载在以下权利要求书中的主题。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号