CN108351992B - 根据活动预测的增强型计算机体验 - Google Patents

根据活动预测的增强型计算机体验 Download PDF

Info

Publication number
CN108351992B
CN108351992B CN201680066302.6A CN201680066302A CN108351992B CN 108351992 B CN108351992 B CN 108351992B CN 201680066302 A CN201680066302 A CN 201680066302A CN 108351992 B CN108351992 B CN 108351992B
Authority
CN
China
Prior art keywords
user
activity
pattern
information
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680066302.6A
Other languages
English (en)
Other versions
CN108351992A (zh
Inventor
D·多塔恩-科恩
S·温伯格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN108351992A publication Critical patent/CN108351992A/zh
Application granted granted Critical
Publication of CN108351992B publication Critical patent/CN108351992B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Human Computer Interaction (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Medical Informatics (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Computational Linguistics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种用户活动模式可以使用来自计算设备集合的信号数据而被确定。活动模式可以用于推断关于用户与计算设备的交互的用户意图或预测用户可能的未来动作。在一个实现方式中,计算设备集合被监视以使用与计算设备相关联的传感器来检测用户活动。与所检测的用户活动相关联的活动特征被确定并且用于基于具有类似特征的多个用户活动来标识活动模式。用户活动模式的示例可以包括基于时间、位置、内容或其他上下文的模式。所推断的用户意图或所预测的未来动作可以用于提供改进的用户体验,诸如个性化,修改用户设备的功能,或者提供更有效的带宽或功率消耗。

Description

根据活动预测的增强型计算机体验
背景技术
人们越来越多地与计算设备交互并且依靠这些设备来获得信息、推荐和其他服务以帮助他们进行日常任务。但是在这些交互中计算设备理解用户的意图仍然是个困难的技术问题。在这种交互中,用户常常因其计算机化的个人助理应用或服务无法理解他们的意图或预期他们的需求而感到沮丧。
同时,计算设备的许多用户具有重复的使用模式。例如,用户可能在每个工作日的上午在他们的移动设备上启动电子邮件应用,然后开始工作,在午餐时间浏览最喜欢的新闻网站,在下班回家途中致电密友或家人,或使用他们的笔记本电脑计划五月左右的年度休假。通过学习这些用户活动模式,计算机化的个人助理应用和服务可以提供改进的用户体验,包括提高对用户意图的理解。
发明内容
提供本发明内容是为了以简化形式介绍将在以下具体实施方式中进一步描述的概念的选择。本发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在孤立地被用作确定所要求保护的主题的范围的辅助手段。
本公开中所描述的实施例旨在推断用户意图并且预测与用户的计算设备相关联的未来用户活动。具体地,实施例可以基于所感测的用户活动的历史来确定用户关于与计算设备的交互的可能意图,或者可以预测用户可能的未来动作。可以使用用户的计算设备中的一个或多个计算设备的传感器随时间收集与用户活动相对应的数据。根据该历史用户活动信息,计算机系统可以学习与计算设备相关联的用户活动模式。通过分析用户活动模式,可以预测未来的用户动作或者可以推断用户意图。
例如,与用户(“用户设备”)相关联的计算设备可以采用一个或多个传感器来生成与一个或多个用户设备上的用户活动相关的数据。用户活动可以被监视、追踪并且用于确定用户活动模式。如本文中所描述的,用户活动模式的示例可以包括但不限于基于时间、位置、内容或其他上下文的活动模式。在一些实施例中,可以基于与浏览有关的用户活动、应用使用、或与一个或多个用户设备相关联的其他相关用户活动或者可经由一个或多个用户设备另外确定的用户活动来确定活动模式。
基于所确定的用户活动模式,可以推断关于用户与计算设备的交互和/或用户活动的预测的用户意图,该用户活动被确定并且被用于提供改进的用户体验。本文中进一步描述的改进的用户体验的示例可以包括个性化服务,诸如为用户定制内容;修改与用户相关联的用户设备的功能,诸如偏好或设置;或者提供与用户相关联的用户设备的带宽或功率的更有效率的消耗。在一些实施例中,用户活动模式或根据其确定的未来活动的推断意图或预测可用于消费该信息以提供改进的用户体验的一个或多个应用和服务。
因而,如将进一步描述的,在一个实施例中,与用户相关联的一个或多个用户设备的用户活动可以被标识并且被监视。在一些实施例中,可以使用在所监视的用户设备上运行的应用或服务来促进用户活动监视。用户动作或“活动事件”(诸如访问网站,启动应用或与本文中所描述的其他动作类似的其他动作)可以被检测到并且利用相关的上下文数据被记录,例如,通过利用时间戳、位置戳来记录所观察的用户动作和/或将活动事件与其他可用的上下文信息相关联。根据所记录的用户活动,可以确定历史用户活动信息并且将其提供给推断引擎。基于对历史用户活动的分析,可以确定用户活动模式。在一些实施例中,对活动事件和相关信息执行语义分析以表征活动事件的各个方面。语义分析可以用于表征与活动事件相关联的信息,并且可以提供可以用于标识模式的活动事件的其他相关特征。
用户活动模式可以用于推断用户意图或预测用户的未来活动。根据这些预测或推断的用户意图,各种实现方式可以提供个性化的计算体验以及针对用户定制的其他服务,诸如及时递送或呈现相关内容,或者修改将以其他方式呈现的内容;改进用户设备性能和网络带宽使用;将用户的例行工作并入推荐和通知中;改善用户计算机设备的语义理解;或如本文中所描述的其他示例。这样,本公开的实施例提供改进的用户体验。
附图说明
下文参照附图对本公开的各方面进行详细描述,其中:
图1是适合于本公开的实现方式的示例操作环境的框图;
图2是描绘了适合于实现本公开的各方面的示例计算体系架构的图;
图3说明性地描绘了根据本公开的实施例的用于基于跨越多个用户设备的浏览器和应用活动来确定用户活动模式的示例系统的各方面;
图4描绘了根据本公开的实施例的用于推断用户活动模式的方法的流程图;
图5描绘了根据本公开的实施例的用于基于用户活动模式来确定可能的未来用户动作的方法的流程图;以及
图6是适用于实现本公开的实施例的示例性计算环境的框图。
具体实施方式
在本文中以具体说明对本文中所公开的各方面的主题进行描述以符合法定要求。然而,描述本身并不旨在限制本专利的范围。相反,本发明人已经设想,所要求保护的主题还可以结合其他当前技术或未来技术以其他方式来体现,以包括与本文档中描述的步骤类似的不同步骤或步骤的组合。而且,尽管本文中可以使用术语“步骤”和/或“框”来暗示所采用的方法的不同元素,但是除非并且除了当明确描述了个体步骤的顺序时之外,这些术语不应该被解释为暗示本文中所公开的各种步骤之中或之间的任何特定顺序。
本公开的各方面涉及推断用户意图并且预测与用户的计算设备相关联的未来用户活动。具体地,本文中所描述的实施例可以基于所感测的用户活动的历史来确定用户关于与用户设备的交互的可能意图,或者可以预测用户可能的未来动作。可以使用与用户相关联的用户设备中的一个或多个用户设备上的传感器随着时间收集与用户活动相对应的数据。根据该历史用户活动信息,计算机系统可以学习与用户设备相关联的用户活动模式。通过分析用户活动模式,可以预测未来的用户动作或者可以推断用户意图。在一些情况下,用户活动模式可以与由用户设备收集的传感器数据一起被分析,并且基于确定与所确定的用户活动模式一致的可能意图来推断用户的意图。
如本文中所进一步描述的,在一些实施例中,用户设备可以采用一个或多个传感器来经由一个或多个用户设备生成与用户的活动相关的数据。用户活动可以被监视、追踪并且用于确定用户活动模式。术语“活动模式”在本文中被广泛地使用,并且可以指代使用一个或多个用户设备实施的多个用户交互、由用户在一个或多个用户设备上或与其结合的活动、与用户活动有关的事件(包括动作在内)、或经由计算设备可确定的任何类型的用户活动,其中多个交互、动作、事件或活动共享共同的特征或特性。在一些实施例中,如本文中所进一步描述的,这些共同特征或变量可以包括表征用户活动、时间、位置或与用户活动相关联的其他上下文信息的特征。如本文中所描述的,用户活动模式的示例可以包括但不限于基于时间(例如,用户在每个月的开始时浏览他的银行的网站以查看他的账户余额)、位置(例如,在上午到达工作地点时,用户调低其手机的音量)、内容(例如,用户通常浏览新闻相关网站,随后浏览其社交媒体相关网站)、或其他上下文的活动模式。
在一些实施例中,用户活动可以与用户的浏览活动相关,诸如网站、网站的类别、或用户访问的网站和/或网站类别的序列、以及与浏览活动相关联的用户活动。另外或可替代地,用户活动可以与用户的应用(或app)相关的活动(诸如应用使用)有关,其可以包括使用持续时间、启动、经由应用或结合应用使用所访问的文件、或与应用相关联的内容。术语应用或app在本文中被广泛使用,并且通常指代计算机程序或计算机应用,其可以包括一个或多个程序或服务,并且可以在用户的一个或多个设备上或在云中运行。
基于所确定的用户活动模式,可以推断关于用户与计算设备的交互或者用户活动的预测的用户意图,该预测被确定并且被用于提供改善的用户体验。下面进一步描述的这些改进的用户体验的示例,包括个性化服务,诸如为用户定制内容,更有效率地消耗带宽或功率,或者修改与用户相关联的用户设备的功能(诸如偏好或设置)。在一些实施例中,可以使用户活动模式或从中确定的对未来活动的推断意图或预测可用于消费该信息并且提供改进的用户体验的一个或多个应用和服务。例如,在一个实施例中,活动模式信息可以经由应用编程接口(API)来提供,以使第三方应用和服务可以基于所学习的活动模式来使用它,诸如通过提供适时的推荐、建议或与用户相关的其他信息或服务。
因而,在高层次上,在一个实施例中,从一个或多个数据源接收用户数据。用户数据可以通过使用与用户相关联的一个或多个用户设备上的一个或多个传感器或部件收集用户数据来接收。还结合图2的部件210描述的用户数据的示例可以包括关于一个或多个用户设备的信息、与用户设备相关联的用户活动(例如,app使用、在线活动、搜索、呼叫、使用持续时间和其他用户交互数据)、网络相关数据(诸如网络ID、连接数据或其他网络相关信息)、应用数据、联系人数据、日历和社交网络数据、或者可以由用户设备或其他计算设备感测或确定的几乎任何其他用户数据源。可以监视所接收的用户数据并且可以将关于用户活动的信息存储在用户简档(诸如图2的用户简档240)中。
在一些实施例中,基于可以从用户数据确定的一个或多个用户设备的标识,监视一个或多个用户设备的用户活动。在一些实施例中,可以使用在所监视的用户设备上运行的应用或服务来促进用户活动监控。可替代地或另外地,可以使用在云中运行的应用或服务来促进用户活动监视,该应用或服务可以扫描用户设备,或检测与用户设备相关联的在线活动,诸如http请求或其他通信信息,或以其他方式从用户设备接收关于用户活动的信息。
可以分析用户数据以检测与用户动作相关联的各种特征。所检测的用户动作或“活动事件”(其可以包括诸如网站被访问、应用被启动或与本文中所描述的那些动作类似的其他动作之类的动作)可以利用相关联的上下文数据而被记录,例如,通过利用对应的时间戳、位置戳的记录所观察的用户动作,和/或将活动事件与其他可用上下文信息关联。在一些实施例中,可以在每个用户设备上执行这样的记录,以使可以跨设备确定活动模式。进一步地,在一些实施例中,可以使用基于云的用户活动信息源,诸如从社交媒体帖子、电子邮件等确定的在线用户日历或用户活动。这些源也可以用于向在一个或多个用户设备上检测到的用户活动提供其他上下文。结合图2中的上下文信息提取器284对上下文信息的示例进行进一步描述。在一些实施例中,来自多个用户设备的用户活动日志和来自基于云的源的可用用户活动信息可以被组合,从而表示合成用户活动历史。包括对应的上下文信息的用户活动日志可以存储在与用户相关联的用户简档(诸如图2的用户简档240)中。
根据活动日志或用户活动数据,可以确定历史用户活动信息并且将其提供给推断引擎。基于对历史用户活动的分析以及在一些情况下关于用户活动的当前传感器数据,可以确定一个或多个可能的用户活动模式的集合。具体地,在一些实施例中,推断引擎可以对历史用户活动信息进行分析以标识用户活动模式,其可以通过检测类似用户动作或例行工作的重复来确定。
在一些实施例中,可以确定关于用户活动模式的对应的置信度权重或置信度分数。置信度分数可以基于模式的强度,其可以通过用于确定模式的观察次数、用户活动与模式一致的频率、活动观察的年龄或新鲜度、与组成该模式的活动观察共同的特征的数目、或类似的测量来确定。在一些实例中,当提供个性化用户体验或其他改进的用户体验时,可以考虑置信度分数。进一步地,在一些实施例中,在使用活动模式来提供这样的体验或其他服务之前,可能需要最小置信度分数。例如,在一个实施例中,利用0.6(或刚好超过50%)的阈值,使得仅可以考虑预测用户活动的似然性为0.6(或更大)的活动模式。尽管如此,在使用置信度分数和阈值的情况下,仍然可以监视所确定的置信度分数低于阈值的用户活动模式,这是由于对用户活动的附加观察可能增加对特定模式的置信度。
在一些实施例中,还可以利用众包(crowdsourced)的用户活动历史,结合用户自己的活动历史。例如,对于给定用户,基于具有与给定用户共同的特征或特性,可以标识与给定用户类似的其他用户集合。这可以包括位于给定用户附近的其他用户、给定用户的社交媒体朋友、工作同事(其可以从与给定用户相关联的上下文信息的分析中确定)、具有类似用户活动模式的其他用户等。可以依赖来自其他用户的关于用户活动历史的信息,来推断针对给定用户的用户活动模式。在给定用户的用户活动历史很少的情况下,诸如用户是新用户的情况下,这可能特别有用。在一些实施例中,如本文中所进一步描述的,来自类似用户的用户活动信息可以被转嫁给新用户,直到足够的用户历史可用于新用户以确定统计上可靠的用户模式预测,该统计上可靠的用户模式预测可以基于包括在用户活动历史信息或所确定的用户活动模式的统计置信度中的观察的数目来确定。在一些情况下,在用户活动历史记录来自其他用户的情况下,所得的针对给定用户的推断活动模式可能会被指派较低的置信度。
在一些实施例中,对活动事件和关联信息执行语义分析以表征活动事件的各个方面。例如,可以对与活动事件相关联的特征进行分类(诸如例如,通过类型、类似的时间范围或位置),并且可以标识相关特征以用于确定与其他活动事件的相似性或关系接近程度,诸如通过共同具有包括类别和相关特征在内的特性中的一个或多个特性。在一些实施例中,可以采用诸如关系知识图之类的语义知识表示。在一些实施例中,语义分析可以使用规则、诸如关联或条件之类的逻辑、或分类器。
语义分析还可以用于表征与活动事件相关联的信息,诸如基于访问频率来确定与活动相关联的位置与用户感兴趣的中心或场所(诸如用户的家庭、工作地点、健身房等)相对应。(例如,用户的家庭中心可以被确定为在晚上8点到上午6点之间用户的大多数时间所花费的位置。)类似地,语义分析可以确定与工作时间、午餐时间、通勤时间等相对应的一天中的时间。
这样,语义分析可以提供可以用于确定模式的活动事件的其他相关特征。例如,除了确定用户在特定时间访问的特定网站(诸如在午餐时间访问CNN.com)之外,还可以确定网站的类别,诸如新闻相关网站。类似地,语义分析可以基于活动的特性来将活动分类为与工作或家庭相关联(例如,在与用户办公室相对应的位置处的工作时间期间发生的关于卡方分布的一批在线搜索可以被确定为工作相关活动,而在周五晚上在与用户家庭相对应的位置处流式传输电影可以被确定为家庭相关活动)。当评估用户活动历史以标识模式时,可以考虑表征用户活动事件的这些方面。例如,在午餐时间访问新闻相关网站的模式可以在用户定期在午餐时间访问新闻相关网站但仅偶尔访问CNN.com作为新闻相关网站中的一个网站的情况下确定。
如先前所描述的,用户活动模式可以用于推断用户意图或预测用户的未来活动。根据这些预测或推断的用户意图,各种实现方式可以提供改进的用户体验。例如,一些实施例可以提供适时的递送或呈现相关内容、或修改将以其他方式呈现的内容;改进用户设备性能和网络带宽使用;改进语音识别;将用户的例行工作并入建议和通知中;改进用户计算机设备的语义理解;或本文中所描述的改进的用户体验的其他示例。如本文中进一步所描述的,一些实施例可以由个人助理应用或服务执行,其可以被实现为一个或多个计算机应用、服务或例程,诸如在移动设备或云上运行的app。
现在转到图1,提供了框图,其示出了其中可以采用本公开的一些实施例的示例操作环境100。应当理解,本文中所描述的这个和其他布置仅作为示例被阐述。为了清楚起见,除了或代替所示出的那些之外,还可以使用其他布置和元件(例如,机器、接口、功能、顺序和功能分组等),并且为了清楚起见,可以完全省略一些元件。进一步地,本文中所描述的许多元件是功能实体,其可以被实现为离散部件或分布式部件或者与其他部件相结合来实现,以及以任何合适的组合和在任何合适的位置实现。本文中被描述为由一个或多个实体执行的各种功能可以由硬件、固件和/或软件来执行。比如,一些功能可以由执行存储在存储器中的指令的处理器实现。
除了未示出的其他部件之外,示例操作环境100包括若干个用户设备,诸如用户设备102a和102b至102n;若干个数据源,诸如数据源104a和104b至104n;服务器106;以及网络110。应当理解,图1所示的环境100是一个合适的操作环境的示例。图1中所示的部件中的每个部件可以经由任何类型的计算设备(诸如例如,结合图6所描述的计算设备600)来实现。这些部件可以经由网络110彼此通信,该网络110可以包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。在示例性实现方式中,网络110包括多种可能的公共网络和/或专用网络中的任何网络之中的互联网和/或蜂窝网络。
应当理解,在本公开的范围内,可以在操作环境100内采用任何数目的用户设备、服务器和数据源。其中的每个可以包括单个设备或在分布式环境中协作的多个设备。比如,服务器106可以经由布置在分布式环境中的多个设备来提供,这些设备共同提供本文中所描述的功能。附加地,分布式环境内还可以包括未示出的其他部件。
用户设备102a和102b至102n可以是操作环境100的客户端侧的客户端设备,而服务器106可以在操作环境100的服务器侧。服务器106可以包括服务器侧软件,其被设计为结合用户设备102a和102b至102n上的客户端侧软件工作,以便实现本公开中所讨论的特征和功能的任何组合。提供操作环境100的这种划分以说明合适环境的一个示例,并且每个实现方式不要求服务器106和用户设备102a和102b至102n的任何组合保持为分离的实体。
用户设备102a和102b至102n可以包括能够由用户使用的任何类型的计算设备。例如,在一个实施例中,用户设备102a至102n可以是本文中关于图6描述的计算设备的类型。通过示例而非限制,用户设备可以体现为个人计算机(PC)、膝上型计算机、移动或移动设备、智能手机、平板电脑、智能手表、可穿戴式计算机、个人数字助理(PDA)、MP3播放器、全球定位系统(GPS)或设备、视频播放器、手持式通信设备、游戏设备或系统、娱乐系统、车辆计算机系统、嵌入式系统控制器、相机、遥控器、条形码扫描仪、计算机化的测量设备、电器、消费者电子设备、工作站或这些描绘的设备的任何组合、或任何其他合适的设备。
数据源104a和104b至104n可以包括数据源和/或数据系统,其被配置为使得数据可用于操作环境100或结合图2所描述的系统200的各种组成部分中的任一个。(例如,在一个实施例中,一个或多个数据源104a至104n向图2的用户数据收集部件210提供(或使得可用于访问)用户数据)。数据源104a和104b至104n可以与用户设备102a和102b至102n以及服务器106分离,或者可以被并入和/或集成到那些部件中的至少一个部件中。在一个实施例中,数据源104a至104n中的一个或多个数据源包括一个或多个传感器,其可以集成到用户设备102a,102b或102n或服务器106中的一个或多个中,或与用户设备102a,102b或102n或服务器106中的一个或多个相关联。结合图2的用户数据收集部件210对由数据源104a至104n提供的感测的用户数据的示例进行进一步描述。
操作环境100可以用来实现图2中描述的系统200和图3所描述的系统300的一个或多个部件,其包括用于收集用户数据、监视活动事件、确定活动模式、消费活动模式信息以提供改进的用户体验、生成个性化内容、和/或向用户呈现通知和相关内容的部件。现在参照图2,结合图1,提供了框图,其示出了适合于实现实施例并且通常被指定为系统200的示例计算系统体系架构的各方面。系统200仅表示合适的计算系统体系架构的一个示例。附加或者代替所示的那些部件,还可以使用其他的布置和元件,并且为了清楚起见,可以完全省略一些元件。进一步地,与操作环境100一样,本文中所描述的许多元件是功能实体,其可以被实现为离散部件或分布式部件或者与其他部件结合来实现以及以任何合适的组合和在任何合适的位置实现。
示例系统200包括网络110,其结合图1进行描述,并且通信地耦合系统200的部件,这些部件包括用户数据收集部件210、呈现部件220、用户活动监视器280、活动模式推断引擎260、活动模式消费者270和存储装置225。用户活动监视器280(包括其部件282,284和286)、活动模式推断引擎260(包括其部件262,264,266和267)、用户数据收集部件210、呈现部件220和活动模式消费者270可以体现为编译的计算机指令或功能集合、程序模块、计算机软件服务或在一个或多个计算机系统(诸如例如,结合图6所描述的计算设备600)上执行的过程的布置。
在一个实施例中,由系统200的部件执行的功能与一个或多个个人助理应用、服务或例程相关联。特别地,这样的应用、服务或例程可以在一个或多个用户设备(诸如用户设备102a)上操作,服务器(诸如服务器106)可以跨一个或多个用户设备和服务器分布,或者可以在云中实现。而且,在一些实施例中,系统200的这些部件可以跨网络分布,其包括一个或多个服务器(诸如服务器106)和客户端设备(诸如用户设备102a);分布在云中;或者可以驻留在用户设备(诸如用户设备102a)上。而且,可以在一个或多个计算系统的一个或多个适当的抽象层(诸如操作系统层、应用层、硬件层等)上实现这些部件、由这些部件执行的功能、或由这些部件执行的服务。可替代地或另外,本文中所描述的这些部件和/或实施例的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如但不限于,可以使用的说明性类型的硬件逻辑部件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。附加地,尽管本文中关于示例系统200中示出的具体部件描述了功能,但是应当设想,在一些实施例中,这些部件的功能可以跨其他部件共享或者分布。
继续参考图2,用户数据收集部件210通常负责访问或接收(并且在一些情况下还标识)来自诸如图1的数据源104a和104b至104n的一个或多个数据源的用户数据。在一些实施例中,可以采用用户数据收集部件210来促进针对用户活动监视器280、活动模式推断引擎260或活动模式消费者270的特定用户(或者在一些情况下,包括众包数据的多个用户)的用户数据的积累。数据可以被用户数据收集部件210接收(或访问),并且可选地被积累、重新格式化和/或组合,并且被存储在一个或多个数据存储装置中,诸如存储装置225,其中它可用于系统200的其他部件。例如,如本文中所描述的,用户数据可以存储在用户简档240中或与用户简档240相关联。在一些实施例中,任何个人标识数据(即,特定地标识特定用户的用户数据)未被上传或以其他方式从一个或多个数据源与用户数据一起提供,不被永久存储,和/或不能提供给用户活动监视器280和/或活动模式推断引擎260。
用户数据可以从多种源接收,其中数据可以以多种格式获得。例如,在一些实施例中,经由用户数据收集部件210接收的用户数据可以经由一个或多个传感器来确定,该传感器可以在一个或多个用户设备(诸如用户设备102a)、服务器(诸如服务器106)和/或其他计算设备上或与之相关联。如本文中所使用的,传感器可以包括用于感测、检测或以其他方式从数据源104a获得诸如用户数据之类的信息的功能、例程、部件或其组合,并且可以体现为硬件、软件或两者。通过示例而非限制,用户数据可以包括从一个或多个传感器感测或确定的数据(本文中被称为传感器数据),诸如一个或多个移动设备的位置信息,一个或多个用户设备的属性或特性(诸如设备状态、充电数据、日期/时间或从诸如移动设备的用户设备导出的其他信息),用户活动信息(例如,app使用;在线活动;搜索;话音数据(诸如自动语音识别);活动日志;包括呼叫、短消息、即时消息和电子邮件在内的通信数据;网站帖子;与通信事件相关联的其他用户数据等),其在一些实施例中包括:在多于一个用户设备上发生的用户活动、用户历史、会话日志、应用数据、联系人数据、日历和时间表数据、通知数据、社交网络数据、新闻(包括搜索引擎或社交网络上的流行项或趋势项)、在线游戏数据、电子商务活动(包括来自诸如
Figure BDA0001658451750000131
Figure BDA0001658451750000132
视频流式传输服务、游戏服务或
Figure BDA0001658451750000133
之类的在线账户的数据)、一个或多个用户账户的数据(其可以包括来自与个人助理应用或服务相关联的用户偏好或设置的数据)、家庭传感器数据、电器数据、全球定位系统(GPS)数据、车辆信号数据、交通数据、天气数据(包括预报在内)、可穿戴式设备数据、其他用户设备数据(其可以包括设备设置、简档、网络相关信息(例如,网络名称或ID、域信息、工作组信息、连接数据、Wi-Fi网络数据、或配置数据,关于型号、固件或设备的数据、设备配对(诸如例如,在用户具有与蓝牙耳机配对的移动电话的情况下),或其他网络相关信息)、陀螺仪数据、加速度计数据、支付或信用卡使用数据(其可以包括来自用户的PayPal账户的信息)、购买历史数据(诸如来自用户的Xbox Live、Amazon.com或eBay账户的信息)、可以由一个或多个传感器(或其他检测器)部件感测或以其他方式检测到的其他传感器数据(其包括从与用户相关联的传感器部件导出的数据(包括位置、运动、方位、位置、用户访问、用户活动、网络访问、用户设备充电或能够由一个或多个传感器部件提供的其他数据)、基于其他数据导出的数据(例如,可以从Wi-Fi、蜂窝网络或IP地址数据导出的位置数据)、以及可能如本文中所描述的感测或确定的几乎任何其他数据源)。
在一些方面中,可以在用户数据流或信号中提供用户数据。“用户信号”可以是来自对应数据源的用户数据的馈送或流。例如,用户信号可以来自智能手机、家庭传感器设备、GPS设备(例如,用于位置坐标)、车辆传感器设备、可穿戴式设备、用户设备、陀螺仪传感器、加速计传感器、日历服务、电子邮件帐户、信用卡帐户或其他数据源。在一些实施例中,用户数据收集部件210连续地、周期性地或根据需要接收或访问数据。
用户活动监视器280通常负责监视用户数据中可以用于确定用户活动信息的信息,该信息可以包括标识和/或追踪特征(本文有时称为“变量”)或关于特定用户动作的其他信息以及相关的上下文信息。用户活动监视器280的实施例可以根据所监视的用户数据来确定与特定用户相关联的用户活动。如先前所描述的,由用户活动监视器280确定的用户活动信息可以包括来自与用户相关联的多个用户设备和/或来自与用户相关联的基于云的服务(诸如电子邮件、日历、社交媒体、或类似的信息源)的用户活动信息,并且其可以包括与所标识的用户活动相关联的上下文信息。用户活动监视器280可以确定当前或接近实时的用户活动信息,并且还可以确定历史用户活动信息,其在一些实施例中,可以基于随时间采集用户活动的观察值来确定,从而访问过去活动的用户日志(诸如例如,浏览历史)。进一步地,在一些实施例中,如先前所描述的,用户活动监视器280可以确定来自其他类似用户(即,众包)的用户活动(其可以包括历史活动)。
在一些实施例中,由用户活动监视器280确定的信息可以被提供给包括关于当前上下文和历史访问(历史观察值)的信息的活动模式推断引擎260。一些实施例还可以向一个或多个活动模式消费者270提供诸如当前用户活动之类的用户活动信息。如先前所描述的,可以通过监视从用户数据收集部件210接收的用户数据来确定用户活动特征。在一些实施例中,从用户数据确定的关于用户活动的用户数据和/或信息被存储在用户简档(诸如用户简档240)中。
在实施例中,用户活动监视器280包括一个或多个应用或服务,其分析经由用户使用的一个或多个用户设备和/或与用户相关联的基于云的服务检测到的信息,以确定活动信息和相关的上下文信息。关于与用户相关联的用户设备的信息可以根据经由用户数据收集部件210提供的用户数据来确定,并且可以被提供给用户活动监视器280、活动模式推断引擎260或系统200的其他部件。
更具体地,在用户活动监视器280的一些实现方式中,用户设备可以通过检测和分析用户设备的特性来标识,诸如设备硬件、诸如操作系统(OS)之类的软件、网络相关特性、经由设备访问的用户帐户、以及类似的特性。例如,可以使用许多操作系统的功能来确定关于用户设备的信息,以提供关于硬件、OS版本、网络连接信息、安装的应用等的信息。
用户活动监视器280或其子部件的一些实施例可以确定与用户相关联的每个设备的设备名称或标识(设备ID)。关于与用户相关联的所标识的用户设备的该信息可以被存储在与用户相关联的用户简档中,诸如用户简档240的用户账户和设备244中。在实施例中,用户设备可以被轮询、询问或以其他方式分析以确定关于设备的信息。该信息可以用于确定设备的标签或标识(例如,设备ID),使得用户活动监视器280可以根据用户数据识别与设备的用户交互。在一些实施例中,用户可以声明或注册设备,诸如通过经由设备登录账户、在设备上安装应用、连接到询问设备的在线服务,或者以其他方式向应用或服务提供关于设备的信息。在一些实施例中,登录到与用户相关联的账户(诸如微软账户或网络护照、电子邮件账户、社交网络等)的设备被标识并且确定为与用户相关联。
如示例系统200所示,用户活动监视器280包括用户活动检测器282、上下文信息提取器284和活动特征确定器286。在一些实施例中,用户活动监视器280、其子部件中的一个或多个子部件、或系统200的其他部件(诸如活动模式消费者270或活动模式推断引擎260)可以根据所接收的用户数据确定解释性数据。解释性数据对应于由系统200的这些部件或用户活动监视器280的子部件使用的、用于解释用户数据的数据。例如,解释性数据可以用来为用户数据提供其他上下文,其可以支持由部件或子部件做出的确定或推断。而且,用户活动监视器280、其子部件和系统200的其他部件的实施例可以被设想使用用户数据和/或用户数据结合解释性数据来实现本文中所描述的子部件的目的。附加地,尽管本文中对用户活动监视器280及其子部件如何标识用户活动信息的几个示例进行了描述,但是在本公开的各种实施例中,用户活动标识和用户活动监视的许多变型是可能的。
一般而言,用户活动检测器282负责确定(或标识)已发生的用户动作或活动事件。活动检测器282的实施例可以用于确定当前用户活动或一个或多个历史用户动作。活动检测器282的一些实施例可以监视用户数据中与用户活动相对应的活动相关特征或变量,诸如所启动或访问的应用的指示、被访问、修改、复制等的文件、导航到网站、所下载和再现或播放的在线内容、或类似的用户活动。
附加地,用户活动检测器282的一些实施例从用户数据中提取关于用户活动的信息,该用户活动可以包括当前用户活动、历史用户活动和/或诸如上下文信息之类的相关信息。(可替代地或另外,在一些实施例中,上下文信息提取器284确定并且提取上下文信息。类似地,在一些实施例中,活动特征确定器286基于由用户活动检测器282确定的活动的标识来提取关于用户活动的信息,诸如用户活动相关特征)。所提取的用户活动信息的示例可以包括app使用、在线活动、搜索、呼叫、使用持续时间、应用数据(例如,电子邮件、消息、帖子、用户状态、通知等)、或者与用户设备的用户交互或经由用户设备的用户活动有关的几乎任何其他数据。除了系统200的其他部件之外,由用户活动检测器282确定的所提取的用户活动信息可以被提供给用户活动监视器280、活动模式推断引擎260或一个或多个活动模式消费者270的其他子部件。进一步地,所提取的用户活动可以被存储在与用户相关联的用户简档中,诸如存储在用户简档240的用户活动信息部件242中。在一些实施例中,用户活动检测器282或用户活动监视器280(或它的其他子部件)对所检测的用户活动信息执行归并。例如,重叠信息可以被合并和复制,或者消除冗余信息。
在一些实施例中,可以解释用户活动相关特征以确定用户活动已经发生。例如,在一些实施例中,用户活动检测器282采用用户活动事件逻辑,其可以包括规则、条件、关联、分类模型或其他准则,以标识用户活动。例如,在一个实施例中,用户活动事件逻辑可以包括将用户活动准则与用户数据进行比较以确定活动事件已经发生。依据用于标识活动事件的机制,活动事件逻辑可以采用许多不同的形式。例如,用户活动事件逻辑可以是用于训练用于评估用户数据以确定活动事件何时发生的神经网络的训练数据。活动事件逻辑可以包括模糊逻辑、神经网络、有限状态机、支持向量机、逻辑回归、聚类或机器学习技术、类似的统计分类过程、或这些的组合以从用户数据标识活动事件。例如,活动事件逻辑可以指定与活动事件(诸如导航到网站,撰写电子邮件或启动应用)相关联的用户设备交互(一个或多个)信息的类型。在一些实施例中,一系列或序列的用户设备交互可以被映射到活动事件,使得可以在确定用户数据指示用户已经执行了该系列或序列的用户交互时检测活动事件。
在一些实施例中,活动事件逻辑可以指定被认为是用户活动的用户设备相关活动的类型,诸如当用户登录到用户设备的时、当用户界面正在接收输入时(例如,当计算机鼠标、触摸板、屏幕、话音识别界面等活动时)发生的活动,或者诸如启动应用、使用应用修改文件、打开浏览器和导航到网站等某些类型的活动。这样,活动事件逻辑可以用于将真实用户活动与在用户设备上运行的过程的自动活动(诸如自动更新或恶意软件扫描)区分开来。一旦确定了用户活动,就可以检测这些特征或附加相关特征并且将其与检测到的活动相关联,以用于确定活动模式。
在一些实施例中,用户活动检测器282在用户的每个用户设备上运行或与其相关联地运行。用户活动检测器282可以包括轮询或分析操作系统的各方面以确定用户活动相关特征(诸如例如,已安装的或正在运行的应用或文件访问和修改)、网络通信和/或可经由用户设备检测到的包括动作序列在内的其他用户动作。
在一些实施例(诸如系统200中所示的实施例)中,用户活动检测器282包括子部件,其包括应用活动记录流水线283和浏览活动记录流水线285。这些记录流水线可以体现为客户端侧应用或服务,其在与用户相关联的每个用户设备上运行,并且在一些实施例中可以结合应用或在其内部(或作为应用的一部分)运行,诸如在浏览器内或作为浏览器插件或扩展运行。一般而言,应用活动记录流水线283管理用户的应用(或app)活动(诸如应用下载、启动、访问、使用(其可以包括持续时间)、经由应用的文件访问和应用内用户活动(其可以包括应用内容))的记录。一般而言,浏览活动记录流水线285管理用户的浏览活动的记录,诸如所访问的网站、社交媒体活动(其可以包括经由特定浏览器或诸如
Figure BDA0001658451750000181
app、
Figure BDA0001658451750000182
app、
Figure BDA0001658451750000183
app、
Figure BDA0001658451750000184
app等之类的app进行的浏览型活动)、所下载的内容、所访问的文件、以及其他浏览相关的用户活动。在一些实施例中,用户设备上的每个浏览器与浏览活动记录流水线285的实例相关联,或者可替代地向用户设备上的浏览活动记录流水线285的单个实例提供浏览信息的插件或服务。在一些实施例中,app和浏览活动记录流水线283和285还可以执行结合上下文信息提取器284所描述的功能,诸如记录时间戳、位置戳、用户设备相关信息或与所记录的app活动或浏览活动相关联的其他上下文信息。在一些实施例中,app和浏览活动记录流水线283和285将记录的用户活动信息上传到活动模式推断引擎260和/或将记录的活动信息存储在与用户相关联的用户简档中,诸如用户简档240的用户活动信息部件242中。
一般而言,上下文信息提取器284负责确定与(由用户活动检测器282或用户活动监视器280检测到的)用户活动有关的上下文信息,诸如与用户活动相关联的上下文特征或变量、相关信息、以及用户相关的活动,并且进一步负责将确定的上下文信息与检测到的用户活动相关联。在一些实施例中,上下文信息提取器284可以将所确定的上下文信息与相关的用户活动相关联,并且还可以将上下文信息与相关联的用户活动一起进行记录。可替代地,关联或记录可以由另一服务执行。例如,上下文信息提取器284的一些实施例向活动特征确定器286提供所确定的上下文信息,该活动特征确定器286确定用户活动的活动特征和/或相关上下文信息。
上下文信息提取器284的一些实施例确定与用户活动或活动事件(诸如用户活动中标识的或与该活动有关的实体(例如,用户所发送的群组电子邮件的收件人))有关的上下文信息,该用户活动与用户的设备的位置或场所相关联。通过示例而非限制,这可以包括上下文特征,诸如位置数据,其可以被表示为与该活动相关联的位置戳;关于位置的上下文信息,诸如场所信息(例如,这是用户的办公室位置、家庭位置、学校、餐馆、移动剧院等)、黄页标识符(YPID)信息、时间、天和/或日期,其可以被表示为与活动相关联的时间戳;关于用户在其上执行活动的设备的用户设备特性或用户设备标识信息;用户活动的持续时间,用户活动之前和/或之后的其他用户活动/多个用户活动(诸如所访问的网站序列、所进行的在线搜索序列、应用序列以及网站使用序列,诸如浏览到银行然后访问Excel电子表格文件以记录财务信息等),关于活动(诸如与活动相关联的实体(例如,场所、人、对象等))的其他信息,由与用户相关联的用户设备上的一个或多个传感器检测到的与用户活动并发或基本上并发的信息(例如,在健身追踪用户设备上检测到的运动信息或生理信息、收听音乐,如果音乐源不是用户设备,则该音乐可以经由麦克风传感器检测到)),或与可以用于确定用户活动模式的、可检测到的用户活动有关的任何其他信息。
在使用与用户设备有关的上下文信息的实施例中,用户设备可以通过检测和分析用户设备的特性来标识,诸如设备硬件、诸如操作系统(OS)的软件、网络相关特性、经由设备访问的用户帐户、以及类似的特点。例如,如先前所描述的,可以使用许多操作系统的功能来确定关于用户设备的信息,以提供关于硬件、OS版本、网络连接信息、安装的应用等的信息。在一些实施例中,可以为与用户相关联的每个设备确定设备名称或标识(设备ID)。关于与用户相关联的所标识的用户设备的该信息可以被存储在与用户相关联的用户简档中,诸如用户简档240的一个或多个用户账户和一个或多个设备244中。在实施例中,用户设备可以被轮询、询问或以其他方式分析以确定关于设备的上下文信息。该信息可以用于确定设备的标签或标识(例如,设备ID),使得一个用户设备上的用户活动可以被识别并且与另一用户设备上的用户活动区分开来。进一步地,如先前所描述的,在一些实施例中,用户可以声明或注册用户设备,诸如通过经由设备登录帐户、在设备上安装应用、连接到询问设备的在线服务、或者以其他方式向应用或服务提供关于设备的信息。在一些实施例中,登录到与用户相关联的账户(诸如
Figure BDA0001658451750000201
账户或网络护照、电子邮件账户、社交网络等)的设备被标识并且被确定为与用户相关联。
在一些实现方式中,上下文信息提取器284可以从用户数据收集部件210接收用户数据,在一些实例中,解析数据,并且标识和提取上下文特征或变量(其还可以由活动特征确定器286执行)。上下文变量可以被存储为与用户活动相关联的上下文信息的相关集合,并且可以被存储在诸如用户活动信息部件242中的用户简档中。在一些情况下,上下文信息可以被一个或多个活动模式消费者使用,诸如用于个性化内容或用户体验,诸如何时、何地或如何呈现内容。在一些实施例中,代替或除了用于特定用户的用户活动信息之外,还可以从一个或多个用户的用户数据确定上下文信息,其可以由用户数据收集部件210来提供。
活动特征确定器286通常负责确定与可以用于标识用户活动模式的用户活动相关联的活动相关特征(或变量)。活动特征可以从关于用户活动的信息和/或从相关的上下文信息中确定。在一些实施例中,活动特征确定器286从用户活动监视器280(或其子部件)接收用户活动或相关信息,并且分析接收到的信息以确定与用户活动相关联的一个或多个特征的集合。
活动相关特征的示例包括但不限于位置相关特征,诸如用户活动期间一个或多个用户设备的位置、与位置相关联的场所相关信息、或其他位置相关信息;时间相关特征,诸如一天或多天中的一个或多个时间、一周或一月的日期、或活动的持续时间;或相关持续时间信息,诸如用户使用与该活动相关联的应用多久;用户设备相关特征,诸如设备类型(例如,台式机、平板电脑、移动电话、健身追踪器、心率监视器等)、硬件属性或简档、OS或固件属性、设备ID或型号;网络相关信息(例如,mac地址、网络名称、IP地址、域、工作组、关于本地网络上检测到的其他设备的信息、路由器信息、代理或VPN信息、其他网络连接信息等);关于用户设备的位置/运动/方位相关信息;功率信息,诸如电池电量、连接/断开充电器的时间、以及用户访问/触摸信息;使用相关特征,诸如所访问的一个或多个文件、app使用(其还可以包括应用数据、app内使用、并发运行的应用)、网络使用信息、所访问或以其他方式使用的一个或多个用户帐户(诸如一个或多个设备帐户、一个或多个OS级帐户或在线/云服务相关帐户活动(诸如
Figure BDA0001658451750000211
帐户或网络护照、一个或多个在线存储帐户、电子邮件、日历或社交网络帐户)等);内容相关特征,诸如在线活动(例如,搜索、浏览网站、购买、社交网络活动、所发送或接收的包括社交媒体帖子的通信);其他特征,其可以与用户活动同时或在用户活动的时间附近被检测到;或任何其他特征,其可以被检测或感测并且用于确定用户活动模式。特征还可以包括关于使用该设备的一个或多个用户的信息;标识用户的其他信息,诸如登录密码、可以由健身追踪器或生物测定扫描仪提供的生物测定数据;和/或使用设备的一个或多个用户的特性,其对于区分开由多于一个用户共享的设备上的用户可能是有用的。在一些实施例中,可以利用(结合用户活动检测器282进行描述的)用户活动事件逻辑根据用户活动信息来标识特定特征。
继续图2的系统200,活动模式推断引擎260通常负责基于从用户活动监视器280确定的用户活动信息来确定用户活动模式。在一些实施例中,活动模式推断引擎260可以在服务器上运行、作为跨多个设备的分布式应用运行、或者在云中运行。在高层次上,活动模式推断引擎260可以接收用户活动相关信息,其可以从来自与用户活动监视器280相关联的客户端侧应用或服务的用户活动日志上载。一个或多个推断算法可以应用于用户活动相关信息以确定可能的用户活动模式的集合。例如,可以基于用户活动或相关联的上下文信息的类似观察实例来确定模式,其可以被称为用户活动相关信息的“共同特征”。所推断的活动模式信息可以被提供给活动模式消费者270和/或用于生成关于一个或多个可能的未来用户动作的基于模式的预测。在一些实施例中,如本文中所描述的,还为模式(或基于模式的预测)确定对应的置信度。进一步地,活动模式(或基于模式的未来动作的预测)可以包括可能发生的单个(未来发生的)用户活动、未来用户动作的序列或者针对多于一个未来动作的概率,例如,下一个动作将浏览到网站A的似然性为百分之八十,下一个动作将启动音乐播放器应用的似然性为百分之十五,下一个动作将浏览到网站B的似然性为百分之五。
如示例系统200所示,活动模式推断引擎260包括语义信息分析器262、特征相似性标识符264和活动模式确定器266。语义信息分析器262通常负责确定与由用户活动监视器280所标识的用户活动相关特征相关联的语义信息。例如,虽然用户活动特征可以指示用户访问的特定网站,但是语义分析可以确定与网站或用户活动相关联的网站类别、相关网站、主题或题目或其他实体。语义信息分析器262可以确定语义上与用户活动有关的附加的用户活动相关特征,其可以用于标识用户活动模式。
具体地,如先前所描述的,对可以包括上下文信息的用户活动信息执行语义分析以表征用户动作或活动事件的各个方面。例如,在一些实施例中,与活动事件相关联的活动特征可以被分类或归类(诸如通过类型、时间范围或位置、工作相关的、家庭相关的、主题、相关实体、一个或多个其他用户(诸如作为去往或来自另一用户的通信)和/或另一用户与用户的关系(例如,家庭成员、亲密朋友、工作熟人、老板等)、或其他类别)或相关特征可以被标识为用于确定与其他用户活动事件的相似性或关系接近度,其可以指示模式。在一些实施例中,语义信息分析器262可以利用诸如关系知识图的语义知识表示。语义信息分析器262还可以利用语义分析逻辑,其包括规则、条件或关联来确定与用户活动有关的语义信息。例如,包括发送给与该用户一起工作的某人的电子邮件的用户活动事件可以被表征为与工作有关的活动。因此,如果用户在每周日晚上向和她一起工作的人(但不一定向同一人)发送电子邮件,则可以(使用活动模式确定器266)确定用户在每周日晚上执行与工作有关的活动。因而,由于用户在周日晚上具有工作模式,因此在周日晚上向用户展示与用户的工作有关的通知(诸如提醒)可能是适当的。(这里,通知服务是活动模式消费者270的一个示例)。
语义信息分析器262还可以用于表征与用户活动事件相关联的上下文信息,诸如基于用户访问的频率来确定与活动相关联的位置与用户感兴趣的中心或场所(诸如用户的家庭、工作、健身房等)相对应。例如,用户的家庭中心可以(使用语义分析逻辑)被确定为用户在晚上8点到上午6点之间花费大部分时间的位置。类似地,语义分析可以确定与工作时间、午餐时间、通勤时间等相对应的一天中的时间。类似地,基于活动的其他特点,语义分析可以将活动归类为与工作或家庭相关联(例如,在工作时间期间在与用户办公室相对应的位置处发生的关于卡方分布的一批在线搜索可以被确定为工作相关活动,而在周五晚上在与用户的家庭相对应的位置处流式传输电影可以被确定为家庭相关活动)。这样,由语义信息分析器262提供的语义分析可以提供可以用于确定用户活动模式的用户活动事件的其他相关特征。例如,在用户活动包括在午餐时间访问CNN.com并且语义分析确定用户在午餐时间访问了新闻相关网站的情况下,可以(通过活动模式确定器266)确定用户活动模式,该模式指示用户例行在午餐时间访问新闻相关网站,但仅偶尔会访问作为那些新闻相关网站中的一个网站的CNN.com。
特征相似性标识符264通常负责确定两个或更多个用户活动事件的活动特征的相似性(换言之,表征第一用户活动事件的活动特征,其与表征第二用户活动事件的活动特征类似)。活动特征可以包括与上下文信息和由语义信息分析器262确定的特征有关的特征。具有共同活动特征的活动事件可以用于标识活动模式,该活动模式可以使用活动模式确定器266来确定。
例如,在一些实施例中,特征相似性标识符264可以结合一个或多个基于模式的预测器267(活动模式确定器266的子部件)以确定具有共同特征的用户活动事件集合。在一些实施例中,如下文所描述的,该用户活动事件集合可以用作基于模式的预测器的输入。在一些实施例中,特征相似性标识符264包括用于确定基于周期性和基于行为的活动特征的相似性的功能。周期性特征包括例如可能周期性发生的特征;例如,一周或一月的某一天,偶数/奇数天(或周),每月,每年,每隔一天,每隔三天等的特征。行为特征可以包括诸如用户活动之类的行为,这些用户活动趋向于与例如在给定用户活动事件(或先前活动事件序列)之前或之后发生的某些位置或活动一起发生。
在活动特征具有值的实施例中,基于特定特征,可以在具有相同值或近似相同值的不同活动特征中确定相似性。(例如,周五上午9:01发生的第一活动的时间戳和周五上午9:07发生的第二活动的时间戳可能被确定为具有类似或共同的时间戳特征。)
活动模式确定器266通常负责基于在用户活动信息中标识的相似性来确定用户活动模式。具体地,活动模式确定器266(或活动模式推断引擎260)可以基于与多个观察到的活动事件相关联的类似活动特征的重复来确定用户活动模式。因此,例如,可以确定活动模式,其中与两个或更多个活动事件相对应的活动特征相类似。在一些实例中,活动事件可以具有许多对应的活动特征,其可以被表示为与特定活动事件相关联的特征向量。因而,由活动模式确定器266执行的分析可以涉及比较来自多个活动事件的特征向量的活动特征。
在一些实施例中,可以使用模式推断逻辑230来确定活动模式。模式推断逻辑可以包括规则、关联、条件、预测和/或分类模型、或模式推断算法。模式推断逻辑230可以依据用于标识活动模式或者标识观察到的活动事件之间的特征相似性以确定模式的特定活动模式或机制而采取许多不同的形式。例如,如下文进一步所描述的,模式推断逻辑230的一些实施例可以采用机器学习机制来确定特征相似性、或者用于确定属于支持所确定的活动模式的“示例用户动作”集合的活动事件的其他统计测量。可以从用户活动监视器280接收用户活动信息,并且可以从特征相似性标识符264接收关于标所识的类似特征的信息。在一些实施例中,由活动模式确定器266确定的一个或多个用户模式可以被存储为用户简档240中的所推断的用户例行工作248。
在一些实施例中,活动模式确定器266提供用户活动模式和关于用户模式的强度的相关联的置信度分数,其可以反映未来用户活动将遵循该模式的似然性。更具体地,在一些实施例中,可以确定关于所确定的用户活动模式的对应的置信度权重或置信度分数。置信度分数可以基于模式的强度,该模式的强度可以基于用于确定模式的(特定用户活动事件的)观察次数、用户的动作与活动模式一致的频率、活动观察的年龄或新鲜度、类似特征的数目、特征的类型和/或与构成该模式的活动观察共同的特征的类似程度、或类似的测量来确定。
在一些实例中,当向活动模式消费者270提供确定的活动模式时,可以考虑置信度分数。例如,在一些实施例中,在活动模式消费者270使用活动模式提供改进的用户体验或其他服务之前,可能需要最小置信度分数。在一个实施例中,利用0.6(或刚好超过50%)的阈值,使得仅可以提供具有预测用户活动的似然性为0.6(或更大)的活动模式。尽管如此,由于附加的观察可以增加用于特定模式的置信度,所以在使用置信度分数和阈值的情况下,仍然可以基于附加的活动观察来监视和更新所确定的具有小于阈值的置信度分数的用户活动模式。
活动模式确定器266的一些实施例根据下文所描述的示例途径来确定模式,其中用户活动事件的每个实例具有形成模式的所追踪的活动特征(变量)的对应历史值,并且其中活动模式确定器266可以评估用于模式的所追踪的变量的分布。在以下示例中,用户活动事件的所追踪的变量是与所观察到的用户活动事件的实例相对应的时间戳。然而,应当领会,在概念上,以下内容可以应用于追踪的活动特征(变量)的不同类型的历史值。
时间戳(即,给定所追踪的变量的值)包可以被表示为
Figure BDA0001658451750000261
并且被映射到一周中的小时数和天数的二维直方图。二维直方图可以包括用户-设备交互实例的总和,诸如:
Figure BDA0001658451750000262
该直方图可以用来确定派生直方图。例如,周直方图的天可能对应于hj=∑ihij。天直方图的小时可能对应于hj=∑ihij。作为进一步的示例,可以针对形式为hiC=∑j∈Chij的特定语义时间分辨率确定一个或多个直方图。可以采用各种语义时间分辨率中的任一种分辨率,诸如工作日和周末、或上午、下午和晚上。后者的示例是C∈{上午,下午,晚上},上午={9,10,11},下午={12,13,14,15,16}以及晚上={21,22,23,24}的情况。
用于表示事件的附加数据结构可以包括其中具有至少一个时间戳的每个日历周中的不同时间戳的数目,其可以被表示为:
Figure BDA0001658451750000263
作为示例,
Figure BDA0001658451750000264
可以表示在可用时间戳的第二个三周时段期间不同时间戳的数目。N(j)可以用来表示追踪的数据中可用的j-周时间戳的数目;例如,N(3)表示时间戳中可用的三周时段的数目。
活动模式确定器266(或活动模式推断引擎260)可以生成置信度分数,其量化由所追踪的变量中的历史值形成的特定模式的确定性水平。在以下示例中,利用贝叶斯统计来应用上述原理。在一些实现方式中,可以针对由变化的分辨率的时间间隔所索引的对应的所追踪的变量生成置信度分数。对于时间戳,示例包括周二上午9点、工作日上午和周三下午。可以通过应用Dirchlet-多项式模型和计算每个时段直方图的后验预测分布来计算置信度分数。在这样做时,特定直方图中的每个仓的预测可以由下式给出:
Figure BDA0001658451750000271
其中K表示仓的数目,α0是编码先验知识的强度的参数,并且
Figure BDA0001658451750000272
然后,模式预测是与i*相对应的直方图的仓,其置信度由xi*给出。作为示例,考虑直方图,其中上午=3,下午=4,晚上=3。使用α0=10,模式预测是下午,并且置信度分数为
Figure BDA0001658451750000273
按照各种实现方式,更多的观察导致置信度分数增加,指示预测的置信度增加。作为示例,考虑直方图,其中上午=3000,下午=4000,晚上=3000。使用类似的计算,置信度分数为
Figure BDA0001658451750000279
此外,在一些实现方式中,可以针对由时段和若干个时间戳所索引的对应所追踪的变量生成置信度分数。示例包括每周访问1次、以及每2周访问3次。使用高斯后验,可以针对每个时段分辨率的模式生成置信度分数,其被指示为j。这可以通过采用以下公式来实现:
Figure BDA0001658451750000274
其中
Figure BDA0001658451750000275
在前文中,σ2是样本方差,并且
Figure BDA0001658451750000276
和μ0是公式的参数。可以通过在时间戳预测的数目周围采取固定间隔并且计算累积密度来计算置信度分数:
Figure BDA0001658451750000277
其中
Figure BDA0001658451750000278
作为示例,考虑以下观察:w1 (1)=10,w2 (1)=1,w3 (1)=10,w4 (1)=10,w4 (1)=0,w1 (2)=11,并且w2 (2)=10。N(1)=4和N(2)=2。使用μ0=1和σ0 2=10,μ(1)=4.075,conf1=0.25。更进一步地,μ(2)=10.31和conf2=0.99。在前面的示例中,尽管两周时段内有更少的时间戳可用,但用户信号中方差减少导致模式存在的置信度增加。
已经确定模式存在或者模式的置信度分数足够高(例如,满足阈值)之后,活动模式确定器266可以标识多个用户活动与用于用户的用户活动模式相对应。作为进一步的示例,活动模式确定器266可以确定用户可能跟随用户活动模式,其中一个或多个所追踪的变量的置信度分数中的一个或多个置信度分数满足阈值。
在一些实施例中,如先前所描述的,可以通过监视一个或多个活动特征来确定用户活动模式。这些监视的活动特征可以根据先前被描述为所追踪的变量的用户数据或者结合用户数据收集部件210所描述的用户数据来确定。在一些情况下,变量可以表示多个用户动作(活动事件)之中的上下文相似性和/或语义相似性。这样,可以通过检测多个用户动作共同的变量或特征来标识模式。更具体地,与第一用户动作相关联的特征可以与第二用户动作的特征相关以确定可能的模式。所标识的特征模式可能变得更强(即,更可能的或更可预测的),如果组成该模式的用户活动观察被重复得越频繁。类似地,特定特征可以在用户活动模式被重复时与用户活动模式更强地相关联。
在一些实施例(诸如系统200中所示的示例实施例)中,活动模式确定器266包括一个或多个基于模式的预测器267。基于模式的预测器267包括用于预测用户基于模式(诸如行为模式或相似性特征)而所采取的下一个用户动作或未来的用户动作的一个或多个预测器。在高层次上,基于模式的预测器267接收与用户活动相关联的用户活动信息和/或活动特征,并且确定对用户所采取的下一个动作或未来的动作的预测。在实施例中,基于模式的预测器267包括如下文进一步所描述的功能,其用于执行用户活动过滤、确定活动分数、基于分数来选择活动、以及确定特定的基于模式的预测。
在一个实施例中,基于模式的预测器267使用特征相似性标识符264来确定历史用户活动和最近用户活动之间共同的特征或模式。例如,可以从历史用户动作集合之中根据与当前用户动作或最近用户动作具有共同的周期性特征的那些历史动作确定周期性特征的相似性。因此,例如,如果最近用户动作发生在周一、每月的第一天、偶数周或工作日,则确定周期性特征相似性可能包括标识具有指示用户操作发生在周一的那些历史用户动作、具有对应于该月的第一天(任何第一天,而不仅仅是周一)的特征的历史用户动作、或者发生在偶数周或者工作日的那些用户动作。类似地,可以确定行为特征相似性以标识具有与当前用户动作或最近用户动作共同的特定行为特征的历史用户动作集合。例如,如果最近用户动作包括访问新闻相关网站,则确定行为特征相似性将包括标识具有指示用户访问新闻相关网站的特征的那些历史用户动作。
用户活动过滤可以使用特征相似性确定来过滤掉历史用户动作并且仅保留具有与当前用户动作或最近用户动作共同的特定特征(或多个特征)的那些历史用户动作。因此,在一些实施例中,每个基于模式的预测器267可以被设计(或调谐)为用于基于特定特征(或多个特征)来确定预测;例如,当特征指示工作日、周末或周一、或特定app访问或应用使用持续时间等时,可能存在用于确定预测的基于模式的预测器267的子集。这样的基于模式的预测器267可能只需要与其预测模型相对应的那些历史用户动作。(在一些实施例中,这样的基于模式的预测器可以基于它们的模式预测的类型(预测模型)来利用特定的预测算法或模型。这些算法或模型可以与模式推断逻辑230一起存储在存储装置225中。)
因而,在一些实施例中,对于每个基于模式的预测器267,可以执行用户活动过滤以确定与该特定的基于模式的预测器267相关的历史用户动作集合,该特定的基于模式的预测器267可以包括例如基于周期特征的预测器、基于行为特征的预测器(其可以包括行为序列或先前用户动作序列)、独特或罕见的行为特征(诸如当用户在与类似的历史用户活动相比不寻常的时间执行活动时)或其他类型的基于特征的预测器。(在一些实施例中,特征相似性标识符264可以通过确定历史用户动作序列与最近用户动作序列之间的列文斯坦距离来确定用户活动序列相似性(例如,当前动作(或特定的最近动作)之前的最后K个用户动作的序列))。
另外,在可以执行用户活动过滤使得每个预测器267确定具有与其预测准则相对应的特征的历史用户动作的子集的实施例中,对于每个预测器267,对于通过过滤器的历史用户动作的子集,可以对特征子集执行用户动作评分。用户动作评分通常比较当前用户动作或最近用户动作和历史用户动作的子集中的特征的相似性(其可以被认为是上下文的比较),并且针对其特征的相似性对每个用户动作进行评分。具体地,一些实施例不仅对用于确定历史用户动作的子集的那些特征进行评分,而且还对当前动作或最近动作和历史动作中可用于比较的所有(或较多数目的)特征进行评分。在一些实施例中,使用布尔逻辑过程(即,特征必须为真或具有相同的模式,并且如果满足,则确定特定特征之间的差异)。例如,差异可以包括时间相关特征、使用持续时间、序列距离等的差异。在实施例中,确定这些差异并且将其代入sigmoid函数。进一步地,在实施例中,使用相似性阈值,其可以是预先确定的、可调谐的或自适应的、或者可以初始地被设置为基于用户群体的值、或者可以例如基于关于特定用户获知的经验信息、并且基于历史观察的数目可以是自适应的。相似性阈值可以用于确定特定历史用户动作是否与特定当前用户动作或最近用户动作“足够类似”,以便被考虑用于确定预测。在一些实施例中,可以确定表示相似性差异(或相似性分数)的向量,例如,在针对相似性对多个特征进行评估的情况下。
可以选择来自历史用户动作的子集的与特定当前用户动作或最近用户动作最类似(或足够类似)的用户动作。在一些实施例中,选择过程使用诸如上文所描述的相似性阈值来确定满足相似性阈值的那些历史用户动作。(尽管使用术语“选择”,但是应当设想,选择由计算机相关过程来执行,其不需要人来执行选择。)所选择的历史用户动作包括“示例用户动作”集合。
可以基于(或根据)示例用户动作集合中的历史用户动作来推断用户的下一个动作(或未来动作)的预测。在实施例中,所预测的下一个用户动作(或未来动作)是具有最高观察计数的下一个用户动作(即,最好基于示例用户动作集合而预测的下一个用户动作)。与预测一致的示例用户动作集合中的那些历史用户动作包括“预测支持集合”。在一些实施例中,可以例如基于预测支持集合的大小与观察(由用户动作过滤确定的子集中的历史用户动作)的总数目的比例来确定与预测相对应的预测概率。而且,在一些实施例中,预测还可以包括与一个或多个预测用户动作有关的附加信息,诸如表征一个或多个预测动作的活动特征。通过示例而非限制,如果预测动作是用户将向工作同事发送电子邮件,则附加活动特征可以指示特定的电子邮件收件人、电子邮件的主题、用户将访问他的电子邮件程序以撰写电子邮件的大致时间、或与预测动作有关的其他信息。相关信息还可以基于预测支持集合观察的活动特征来确定。
一些实施例还确定可以基于置信度区间(例如,二项式置信度区间)或其他适当的统计测量来确定的预测显著性。又进一步地,在一些实施例中,预测置信度可以基于预测概率和预测显著性(例如,预测概率和预测显著性的乘积)。因而,活动模式确定器266的一些实施例为基于模式的预测器267中的每个基于模式的预测器提供所预测的下一个(或未来的)用户动作或下一个(或未来的)动作的系列。
一些实施例从一个或多个基于模式的预测器267确定特定预测。在实施例中,利用其中一个或多个基于模式的预测器267投票的系综(ensemble)过程,并且基于系综-成员预测来确定选择。进一步地,在一些实施例中,可以基于关于用户动作的学习信息来对系综-成员预测器进行加权。在一个实施例中,一旦每个基于模式的预测器267已经提供预测,具有最高对应置信度的预测被确定为下一个(或未来的)所预测的用户动作,并且可以被认为是基于模式的(或基于历史的)预测。在一些实施例中,活动模式确定器266的输出可以被存储为用户简档240中的推断用户例行工作248,并且在一些实施例中可以被提供给活动模式消费者270。
继续参考图2,示例系统200包括一个或多个活动模式消费者270,其包括消耗活动模式信息以提供改进的用户体验的应用或服务。活动模式消费者270的示例可以包括但不限于内容个性化服务、用户意图推断服务、设备功能服务、设备功率管理服务和通信管理服务。
具体地,第一示例活动模式消费者270包括内容个性化服务。在一个实施例中,提供内容个性化引擎271以便于提供个性化用户体验。因此,内容个性化引擎271可以被认为是可以消费关于用户活动模式的信息的应用或服务(或应用或服务的集合)的一个示例,其可以包括如由本公开的实现方式所确定的未来用户动作的预测。
在高层次上,示例性内容个性化引擎271负责生成并且提供个性化用户体验的各个方面,诸如个性化内容或定制的向用户递送的内容。内容可以作为(诸如结合呈现部件220所描述的)个性化通知提供给用户,、可以提供给用户的应用或服务(诸如日历或日程安排应用)、或者可以被提供作为API的一部分,其可能被又一应用或服务所消费。在一个实施例中,个性化内容包括建议用户在用户手动执行活动之前的恰当时间执行相关活动。例如,在活动模式指示用户在月初附近访问其银行网站并且将财务信息录入到Excel文件中,则可以向用户提供询问用户“您想访问您的银行网站吗?”的建议。在做出肯定回应后,可能会提供自动导航到用户银行网站的浏览器实例。进一步地,当用户认可建议或当用户导航到银行网站时,可以自动打开特定的Excel文件。又进一步地,可以在方便的时间(诸如当用户在他的家中、在晚上、在月初附近等时)向用户提供该内容(这里是通知建议)。
在一个实施例中,个性化内容可以包括通知,该通知包括提醒、推荐、建议、请求、通信相关数据(例如,电子邮件、即时消息或呼叫通知),以某种方式与用户有关的信息、或以个性化方式提供给用户的其他内容。例如,可以在用户最可能希望接收它的时间提供内容,诸如根据指示用户即将开始工作相关活动的用户模式,在某一时刻提供工作相关通知,而非在可能不被考虑、被忽视或引起麻烦的时刻提供内容。
在提供个性化内容的另一示例中,在活动模式指示用户在特定商店购物时通常在线检查优惠券的情况下,则当用户数据指示用户已进入该商店或可能去该商店(其可以基于预测的未来活动来确定),用户可以被自动提供在线优惠券。进一步地,所提供的特定优惠券可以基于用户活动模式信息(其可以包括用户的购买习惯)而用于用户通常购买的物品(或用于来自竞争者的类似物品)。
在一些实施例中,内容个性化引擎271定制针对用户的内容以提供个性化用户体验。例如,内容个性化引擎271可以生成要被呈现给用户的个性化通知,其可以被提供给呈现部件220。可替代地,在其他实施例中,内容个性化引擎271生成通知内容并且使其可用于呈现部件220,其基于用户数据或用户活动模式信息来确定何时以及如何(即,以何种格式)呈现通知。例如,如果用户活动模式指示用户可能在与呈现特定通知相关的时间开车上班,则可能适合以音频格式提供该通知,从而将其个性化为用户的上下文。在一些实施例中,与呈现部件220结合操作的其他服务或应用确定或促进确定何时以及如何呈现个性化内容。个性化内容可以被存储在用户简档240中,诸如在个性化内容部件249中。
内容个性化引擎271的一些实施例评估用户内容以确定如何以适当的方式提供内容。例如,被确定为与工作相关的内容可以被保持不向用户呈现,直到用户活动模式指示用户可能正在进行工作相关活动。
第二示例活动模式消费者270包括用户意图推断服务。用户的意图可以基于用户活动模式信息来推断。具体地,每当用户与计算设备交互时,诸如当用户参与用户活动时,可以假定用户具有意图。在一个实施例中,用户活动模式可以连同由用户设备收集的关于特定用户交互(诸如用户请求或推荐)的传感器数据一起分析。可以基于确定与用户活动模式一致的可能意图来推断用户的意图。例如,在用户的午餐时间期间,用户可以执行在线搜索,意图是查找关于用户最喜欢的乐队R.E.M的信息,而不是关于快速眼动(REM)睡眠的信息。指示用户通常在他的午餐时间浏览音乐娱乐相关网站的用户活动模式和/或指示用户最近收听了R.E.M.的音乐的关于用户的其他活动模式信息可以用于解析用户对查询的意图,即,与音乐团体R.E.M有关的搜索结果,而不是与快速眼动有关的结果。作为另一示例,假设在开车回家的同时,用户向用户设备发出口头请求以“呼叫Pat”。然而,用户在他的联系人列表上有多个“Pat”,例如,该用户的兄弟被命名为Pat,并且该用户的几个朋友也被命名为Pat。基于指示用户通常在开车回家的同时呼叫他的家人的用户活动的推断模式,可以确定用户的意图是打电话给他的兄弟Pat,因为该意图与活动模式一致。
第三示例活动模式消费者270包括设备功率管理服务。例如,在本公开的一个实施例中,提供了一种设备功率管理服务,其基于用户活动模式信息来调节用户设备的功耗。具体地,基于用户通常对他的移动设备充电的时间的模式,当确定直到通常充电时间为止的时间足够长,以至于基于电池能量的平均消耗,预计设备将在用户通常对设备充电的时间之前耗尽电池电量,则功率管理服务可以实现节电措施以减少电池消耗。例如,功率管理服务可以自动将设备切换到节电模式。类似地,如果确定用户位于或将位于用户先前对他的用户设备充电的位置(其可以基于与对用户设备充电有关的用户活动相关联的位置上下文信息来确定),则可以向用户提供推荐用户对其用户设备充电的通知。
第四示例活动模式消费者270包括用于修改一个或多个用户设备的功能的服务。具体地,可以根据从用户活动模式导出的信息来修改或配置与用户设备相关联的用户设备操作、用户偏好、设置或配置。例如,假设用户每次上午到达工作场所时都具有调低智能手机音量的模式。用于修改设备功能的服务的一个实施例可以基于指示用户已经到达工作(或根据确定的活动模式指示它是平日(例如,工作日)上午等)的用户数据(例如,传感器数据)来自动地衰减用户设备的音量。在实施例中,用户可以选择使用该服务;例如,可以通过个人助理服务使用问题来提示用户(诸如“我注意到,每当您来到这个位置时,您都会关掉这个设备上的音量,您是否希望每次您访问这个位置时由我自动为您处理这个问题?”)。
在一些实施例中,基于从与用户相关联的第一设备(或第一设备集合)检测到的模式,可以修改与用户相关联的其他用户设备的功能。例如,对于上文所描述的音量限制服务,也可以调整其他设备(诸如用户的平板电脑、智能手表或第二智能手机)上的音量。进一步地,在一些实施例中,可以根据众包的用户活动历史来确定模式。具体地,如先前所描述的,来自类似于给定用户的用户集合的用户活动信息可以用于确定由活动模式消费者270(或内容个性化引擎271)所消费的活动模式。例如,在上文所描述的音量限制示例中,可以针对用户集合确定用户活动模式,其指示在到达(或离开)某个位置(诸如上午到达工作,或到达电影院)时调低(或调高)用户设备上的音量。在该示例中,用户是类似的,因为他们到达相同的位置工作或看电影。活动模式可以被转嫁给特定用户,其同样到达该位置工作(或到达电影院),并且根据这种所转嫁的活动模式,可以确定关于特定用户在到达该位置时将调低(或调高)他的用户设备上的音量的似然性的推断或预测。再者,基于根据所转嫁的模式确定的预测或推断(并且在一些实施例中,进一步基于与预测或推断相关联的置信度分数),可以自动衰减(或放大)该音量,或者可以提示用户关于用户是否期望在到达(或离开)该位置时自动处理调整音量的服务。
第五示例活动模式消费者270包括通信管理服务。具体地,根据从用户活动模式导出的信息,可以更有效地利用网络带宽和其他通信相关资源。例如,假设用户在周五晚上具有观看流式传输的或下载的高清电影(例如,4k电影)的模式。通信管理服务的一个实施例可以在观看电影之前缓存或缓冲电影,以使其可以不中断地观看。(这对于与正在同时观看流式传输电影的其他用户共享网络带宽的用户特别有用,这种同时观看减少了可用的网络带宽。)在一些实施例中,特定电影(或者可能被用户观看的几个电影)可以从用户的观看列表中确定,或者可以基于从监视的用户活动(诸如用户品味、因特网搜索、由用户的社交媒体朋友所观看的电影等)导出的信息来推断。如先前所描述的,一些实施例可以使用上下文信息(诸如用户的日历信息)来确定用户将遵循该模式的似然性。因此,在用户的日历指示事件被安排在下周五晚上的情况下,则可以确定,因为用户不太可能观看电影,所以不需要在下周五晚上之前下载电影。进一步地,在一些实施例中,在用户具有数据封顶的情况下或者在网络速度被封顶或以其他方式被限制的情况下,可以在较早的时间下载电影,使得电影在周五晚上已经可供观看。又进一步地,在一些实施例中,可以在下载特定电影之前,提示用户用户是否有兴趣观看该电影。
活动模式消费者270的其他示例可以包括但不限于:(a)基于用户模式和上下文信息向用户建议新内容的推荐服务。例如,用户活动模式指示用户每周五晚上收听音乐。上下文信息指示用户偏好某些乐队或音乐风格。因而,在给定的周五晚上,向用户提供推荐以收听具有与用户的品味类似的风格的新的艺术家,(b)用户具有去音乐演唱会以观看演唱用户经常欣赏的歌曲的乐队的活动模式。个人助理应用服务监视本地音乐会,并且确定演唱用户所收听的歌曲的乐队要来本地了。个人助理应用当门票首次可用时,自动为用户购买门票。可替代地,个人助理服务检查用户的日历以确定用户在音乐会的日期有空,然后提示用户,向用户通知音乐会,并且在一些实施例中,询问用户是否希望个人助理服务来购买门票,(c)用户具有在周五晚上观看在线电影的活动模式。个人助理服务基于关于用户的书籍购买和/或电子阅读器活动的信息来确定用户阅读某些流派的书籍。基于用户对书籍的品味,可以向用户推荐用户可能喜欢的电影。所推荐的电影可能在周五晚上之前以节省带宽的方式被自动下载。
示例系统200还包括呈现部件220,其通常负责向用户呈现内容和相关信息,诸如来自内容个性化引擎271的个性化内容或来自其他活动模式消费者270的内容。呈现部件220可以包括用户设备上、跨多个用户设备或在云中的一个或多个应用或服务。例如,在一个实施例中,呈现部件220管理跨与用户相关联的多个用户设备向该用户呈现内容。基于内容逻辑、设备特征、相关联的中心、推断的用户的逻辑位置和/或其他用户数据,呈现部件220可以确定在哪个(哪些)用户设备上呈现内容以及该呈现的上下文,诸如如何呈现它(或以何种格式和多少内容,其可以取决于用户装置或上下文)、何时呈现等。具体地,在一些实施例中,呈现部件220将内容逻辑应用于设备特征、相关联的逻辑集线器、所推断的逻辑位置或感测到的用户数据,以确定内容呈现的各个方面。
在一些实施例中,呈现部件220生成与个性化内容相关联的用户界面特征。这些特征可以包括界面元素(诸如图形按钮、滑块、菜单、音频提示、警告、警报、振动、弹出窗口、通知栏或状态栏项目、app内通知或用于与用户对接的其他类似特征)、查询和提示。
如先前所描述的,在一些实施例中,结合呈现部件220操作的个人助理服务或应用确定何时以及如何呈现内容(例如,当确定用户处于特定逻辑位置时呈现)。在这样的实施例中,包括内容逻辑的内容可以被理解为对呈现部件220(和/或个人助理服务或应用)的、针对何时以及如何呈现通知的推荐,其可以被个人助理app或呈现部件220重载(override)。
示例系统200还包括存储装置225。存储装置225通常存储包括本文中所描述的实施例中使用的数据、计算机指令(例如,软件程序指令、例程或服务)、逻辑、简档和/或模型的信息。在实施例中,存储装置225包括数据存储装置(或计算机数据存储器)。进一步地,尽管被描绘为单个数据存储部件,但是存储装置225可以体现为一个或多个数据存储装置或者可以在云中。
如示例系统200所示,存储装置225包括如先前所描述的活动模式推断逻辑230和用户简档240。在图2中说明性地提供了用户简档240的一个示例实施例。示例用户简档240包括与特定用户相关联的信息,诸如用户活动信息242、关于用户账户和设备244的信息、用户偏好246、推断的用户例行工作248和个性化内容249。存储在用户简档240中的信息可用于活动模式推断引擎260或示例系统200的其他部件。
如先前所描述的,用户活动信息242通常包括关于用户动作或活动事件的用户信息、相关上下文信息、活动特征或经由用户活动监视器280确定的其他信息,并且可以包括历史或当前用户活动信息。用户账户和设备244通常包括关于所访问的、使用的或以其他方式与用户相关联的用户设备的信息,和/或和与用户相关联的用户账户有关的信息,例如,诸如
Figure BDA0001658451750000381
网络护照之类的在线或基于云的账户(例如,电子邮件、社交媒体),诸如娱乐或游戏相关账户之类的其他账户(例如,Xbox Live、Netflix、在线游戏订阅账户等),与账户有关的用户数据(诸如用户电子邮件、文本、即时消息、通话、其他通信和其他内容);社交网络账户和数据,诸如新闻馈源;在线活动;以及日历、约会、应用数据、其他用户帐户等。用户账户和设备244的一些实施例可以跨一个或多个数据库、知识图或数据结构存储信息。如先前所描述的,可以从用户数据收集部件210或用户活动监视器280(包括其子部件中的一个子部件)确定存储在用户帐户和设备244中的信息。
用户偏好246通常包括与用户活动监视相关联的用户设置或偏好。通过示例而非限制,如本文中所描述的,这样的设置可以包括关于用户期望被明确地监视或不被监视的特定活动(和相关信息)的用户偏好,或者要被监视或不被监视的活动的类别;众包偏好,诸如是否使用众包的信息;或者用户的活动模式信息是否可以共享为众包数据;关于哪些活动模式消费者可能消费用户的活动模式信息的偏好;以及阈值和/或通知偏好。如先前所描述的,推断的用户例行工作248可以包括由活动模式确定器266确定的一个或多个用户模式,并且还可以包括与模式相关联的置信度分数和/或与活动模式有关的信息,诸如上下文信息或语义信息。个性化内容249包括从内容个性化引擎271确定的诸如未决或计划的通知的个性化内容。
现在参考图3,提供了用于确定用户活动模式的示例系统的各方面并且通常将其称为系统300。示例系统300可以基于来自跨多个设备的浏览活动和应用活动来确定用户活动模式。如所示出的,示例系统300包括一个或多个客户端设备302、推断系统350、以及一个或多个活动模式消费者370。在各种实施例中,客户端设备302可以体现为用户设备,诸如图1所描述的用户设备102a。客户端设备302包括app活动记录流水线383和浏览活动记录流水线385。这些记录流水线可以体现为在与用户相关联的每个用户设备上运行的客户端侧应用或服务,并且在一些实施例中可以结合应用或在应用内部(或作为应用的一部分)运行,诸如在浏览器内运行或作为浏览器插件或扩展运行。一般而言,app活动记录流水线383管理用户的应用(或app)活动的记录,诸如应用下载、启动、访问、使用(其可以包括持续时间)、经由应用的文件访问和应用内用户活动(其可能包括应用内容)。一般而言,浏览活动记录流水线385管理用户的浏览活动的记录,诸如所访问的网站、社交媒体活动(其可以包括经由特定浏览器或如
Figure BDA0001658451750000391
app、
Figure BDA0001658451750000392
app、
Figure BDA0001658451750000393
app、
Figure BDA0001658451750000394
app等之类的app进行的浏览型活动)、所下载的内容、所访问的文件以及其他浏览相关用户活动。在一些实施例中,app活动记录流水线383和浏览活动记录流水线385进一步包括结合图2中的系统200的应用活动记录流水线283和浏览活动记录流水线285所描述的实施例的功能。
如系统300所示,推断系统350包括活动模式推断引擎360,其从一个或多个客户端设备302接收app活动和浏览活动并且使用该信息来推断活动模式。活动模式推断引擎360可以体现为结合图2描述的活动模式推断引擎260的实施例。进一步地,推断系统350的一些实施例还可以包括其他推断引擎(未示出)。例如,其他推断引擎可以包括部件,其用于确定场所访问推断(即,推断未来的场所访问或场所访问的模式);位置推断(即,当明确的位置信息不可用时,推断用户的位置);或阴影日历,其可以包括关于用户空闲性的、基于明确的和推断的计划的事件的推断。
推断系统350可以向活动模式消费者370提供推断的用户活动模式信息(包括预测的未来动作)。在一些实例中,活动模式消费者370可以体现为结合图2描述的活动模式消费者270。系统300的另一示例活动模式消费者370包括浏览器A 372(或与浏览器A相关联的服务),其根据预测的用户活动模式导航到网站;例如,在月初附近自动导航到用户的银行网站,其中用户具有在月初访问该网站的模式。再一个示例活动模式消费者370包括app B373,其可以根据预测的用户活动模式启动和/或加载文件,或者执行某些功能(例如,播放歌曲、撰写电子邮件等)。
现在参考图4,提供了流程图,其图示了用于推断用户活动模式的一个示例方法400。本文中所描述的方法400和其他方法的每个框或步骤包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。比如,各种功能可以由执行存储在存储器中的指令的处理器所执行。该方法还可以体现为存储在计算机存储介质上的计算机可用指令。这些方法可以由独立应用、服务或托管服务(独立或与其他托管服务组合)或到另一产品的插件等等提供。因而,方法400可以由一个或多个计算设备(诸如智能手机或其他用户设备、服务器、或由分布式计算平台(诸如云中的))执行。可以通过分析从与用户相关联的一个或多个用户设备收集的信号数据(或用户数据)来推断活动模式。
在步骤410处,该方法包括:标识与用户相关联的用户设备集合。步骤410的实施例可以基于监视用户数据中的用户设备相关信息来确定用户设备集合。在一些实施例中,在步骤410中标识的用户设备集合包括一个用户设备或多个用户设备,诸如结合图1所描述的用户设备102a至102n。
在一个实施例中,关于与用户相关联的用户设备的信息可以根据经由用户数据收集部件210提供的用户数据来确定,诸如结合图2的用户活动监视器280所描述的。例如,如先前所描述的,关于用户设备的信息可以诸如通过与用户设备相关联的一个或多个传感器感测或者以其他方式从用户数据中检测,或者可以通过检测和分析用户数据中的用户设备相关信息确定以确定用户设备的特性,诸如设备硬件、诸如操作系统(OS)之类的软件、网络相关特性、经由设备访问的用户账户、以及类似特性。在一个实施例中,可以以轮询、询问或以其他方式分析检测到的用户设备(诸如用户设备102a至102n)以确定关于设备的信息。在一些实现方式中,该信息可以用于确定设备的标签或标识(例如,设备ID),使得用户与一个设备的交互可以根据另一设备上的用户交互被识别。在步骤410的一些实施例中,可以基于用户提供的信息来标识用户设备,诸如用户声明或注册设备的情况,例如,通过经由用户设备登录账户,在设备上安装应用,连接到询问该设备的在线服务,或以其他方式向应用或服务提供关于该设备的信息。
在步骤420处,该方法包括:监视用户设备集合以检测用户活动事件。步骤420的实施例监视与在步骤410中标识的用户设备集合相关联的用户数据,以标识或检测用户活动事件(在本文中有时被称为用户动作)。在一些实例中,活动事件可以包括与一个或多个用户设备的用户交互系列或序列。
步骤420的一些实施例可以包括:使用与用户设备集合相关联的一个或多个传感器来监视传感器数据。如结合用户活动检测器282所描述的,步骤420的一些实施例可以使用活动事件逻辑来检测用户活动事件。进一步地,可以使用用户活动检测器部件(诸如图2的系统200中所描述的用户活动检测器部件)来执行步骤420的一些实现方式。结合图2中的用户活动检测器282提供步骤420的实施例的附加细节。
在步骤430处,该方法包括:确定与活动事件相关联的活动特征集合。当在步骤420中检测或以其他方式标识用户活动事件时,步骤430的实施例确定与检测到的活动事件相关联的活动特征集合。步骤430的一些实施例至少部分地基于由与用户设备集合相关联的一个或多个传感器提供的传感器数据(包括可以从诸如解释性数据的传感器数据导出的数据)来确定活动特征集合。在一些实施例中,传感器数据可以经由如图2中所描述的用户数据收集部件来提供。具体地,接收用户数据并且对其进行分析以确定与用户活动相关联的一个或多个特征的集合,该用户数据与检测到的活动事件有关,可以至少部分地根据传感器数据来确定,并且可以包括与所检测到的活动事件有关的解释性数据、上下文数据和/或语义信息。
如先前结合图2的用户活动监视器280和活动特征确定器286所描述的,与用户活动相关联的活动相关特征(或变量)可以用于标识用户活动模式。活动特征可以根据关于用户活动的信息来确定,该信息在一些实施例中可以包括关于所检测到的活动的相关上下文信息。下文结合图2的上下文信息提取器284对确定与检测到的活动事件有关的上下文信息的附加细节进行描述。进一步地,在一些实施例中,上下文信息可以包括根据对所检测到的活动事件和/或与活动事件相关联的一个或多个活动特征执行的语义分析所确定的语义信息。例如,虽然用户活动特征可以指示用户访问的特定网站,但是语义分析可以确定网站的类别、相关网站、主题或题目、或与网站或用户活动相关联的其他实体。根据语义分析,可以确定与用户活动语义上有关的附加的用户活动相关特征并且将其用于标识用户活动模式。结合图2的语义信息分析器262对确定包括与检测到的活动事件有关的语义信息的活动特征的附加细节进行描述。
活动相关特征的示例可以包括但不限于位置相关特征,诸如在用户活动期间、用户活动之前和/或之后一个或多个用户设备的位置、与位置相关联的场所相关信息、或其他位置相关信息;时间相关特征,诸如一天或多天的时间,用户活动的一周或一月中的一天、或者活动的持续时间,或者相关的持续时间信息,诸如用户使用与活动相关联的应用多久;内容相关特征,诸如用户的在线活动(例如,搜索、浏览的网站、网站的类型或类别、购买、社交网络活动、包括社交媒体帖子在内的所发送或接收的通信,其可以包括发生在在检测到的活动事件之前或之后的在线活动);可以与用户活动并发或在用户活动时间附近检测到的其他特征;或可以被检测或感测并且用于确定用户活动的模式的任何其他特征,其包括可以表征活动的各方面、活动的性质或类型、和/或构成活动的用户交互的语义特征。特征还可以包括关于使用该设备的一个或多个用户的信息;以及其他上下文特征,诸如用户设备相关特征、使用相关特征;或关于用户的其他信息。通过示例而非限制,用户设备相关特征可以包括关于设备类型(例如,桌面、平板电脑、移动电话、健身追踪器、心率监视器等)、硬件属性或简档、OS或固件属性、设备ID或型号;网络相关信息(例如,mac地址、网络名称、IP地址、域、工作组、关于本地网络上检测到的其他设备的信息、路由器信息、代理或VPN信息、其他网络连接信息等);关于用户设备的位置/运动/方位相关信息;功率信息,诸如电池电量、连接/断开充电器的时间、以及用户访问/触摸信息;使用相关特征可以包括关于以下各项的信息:所访问的一个或多个文件、app使用(其还可以包括应用数据、app内使用、并发运行的应用)、网络使用信息、所访问或以其他方式使用的一个或多个用户帐户(诸如一个或多个设备帐户、一个或多个OS级帐户或一个或多个在线/云服务相关帐户的活动(诸如
Figure BDA0001658451750000431
帐户或网络护照、一个或多个在线存储帐户、电子邮件、日历或社交网络帐户)等);标识用户的其他信息可以包括登录密码、可以由健身追踪器或生物测定扫描仪提供的生物测定数据、和/或使用设备的一个或多个用户的特性,其对于区分开由多于一个用户共享的设备上的用户可能是有用的。
在步骤430的一些实施例中,可以利用(结合用户活动检测器282描述的)用户活动事件逻辑来标识与检测到的用户活动事件相关联的特定特征。步骤430的一些实现方式可以使用活动特征确定器部件(诸如图2的系统200中所描述的)来执行。结合图2中的活动特征确定器部件286来提供步骤430的实施例的附加细节。
在步骤440处,检测到的活动事件的记录和与该事件相关联的活动特征被存储在活动事件数据存储装置中。活动事件数据存储装置可以包括关于活动事件的多个记录,其中每个记录可以包括关于特定活动事件的信息,其包括与活动事件相关联的一个或多个活动特征。在一些实施例中,活动事件数据存储装置中的多个记录包括根据方法400的步骤410至430确定的其他活动事件的记录。在一些实例中,如先前所描述的,一些其他记录可以包括关于从被确定为与特定用户类似的其他用户导出的活动事件(包括关联的活动特征)的信息。在实施例中,活动事件数据存储装置包括用户简档,并且可以存储在用户活动信息部件(诸如结合图2描述的用户简档240的用户活动信息部件242)中。
在步骤450处,活动模式推断引擎用于标识活动模式。在步骤450的实施例中,可以基于对多个活动事件记录的至少一部分的分析来检测活动模式,以标识具有类似活动特征的活动事件集合。因此,步骤450的实施例可以包括确定具有共同特征的用户活动事件集合,其可以使用特征相似性标识符部件(诸如图2的系统200中描述的特征相似性标识符264)来确定。
在实施例中,如先前结合活动模式确定器266所描述的,具有类似活动特征的活动事件集合可以包括形成模式的基础的两个或更多个活动事件。在一些实施例中,如先前所描述的,类似活动特征可以与活动事件中的两个或更多个活动事件相同、可以基本上类似、或者可以根据相似性阈值足够类似。进一步地,一些实施例可以确定与活动模式相关联的对应置信度分数。在一些实例中,置信度分数可以指示用户将根据该模式表现的似然性,并且可以用于确定是否向活动模式消费者服务(诸如结合图2所描述的活动模式消费者服务)提供活动模式信息。在一些实施例中,可以利用一个或多个基于模式的预测器,诸如结合图2所描述的基于模式的预测器。
步骤450可以由活动模式推断引擎执行,诸如结合图2的系统200描述的活动模式推断引擎260或其子部件中的一个子部件。结合图2的活动模式推断引擎260,提供了步骤450的实施例的附加细节。
在步骤460处,活动模式被存储在活动模式数据存储装置中。在实施例中,活动模式数据存储装置包括用户简档,并且可以存储在推断的用户例行工作部件(诸如结合图2描述的用户简档240的推断用户例行工作248)中。活动模式可以由一个或多个计算应用访问,该一个或多个计算应用为用户提供增强或改进的计算体验,诸如提供个性化服务(例如,个性化内容或定制向用户递送内容,如本文中所描述的)、改进语音识别,更有效率地消耗带宽或功率,或者改进用户的语义理解,其可以用于执行消除歧义或理解来自用户的输入的其他方面。
在一些实施例中,一旦确定了活动模式,它就可以用于通过分析运用模式和/或关于用户活动的当前信息或最近信息来确定可能的未来活动事件将在从当前时间开始的阈值时间的未来时间(例如,在从当前时间开始的3小时、12小时、一天、五天、两周等时,或这些时间之内)发生。可能的未来活动事件可以与位置、时间、条件和/或情况(例如,未来活动可能发生在特定类型的事件之后,诸如在用户执行另一活动之后发生)以及可以用于促进改进的用户体验的其他上下文数据相关联。进一步地,如先前所描述的,在一些实施例中,用户活动模式或推断的用户意图或从其确定的未来活动的预测可以被提供给消费该信息并且提供改进的用户体验的一个或多个应用和服务,诸如结合图2和图3描述的活动模式消费者270,271,370,372或373。例如,在实施例中,提供修改的用户体验,其可以包括以个性化方式(诸如结合系统200(图2)的内容个性化引擎271描述的方式)向用户呈现(或隐藏或延迟)内容。
在一些实施例中,可以利用云系统(诸如上文所描述的云系统)和/或云服务来执行方法400,以向多个服务提供改进或增强的用户体验(诸如个性化内容),这些服务可能在许多不同的用户设备上运行。如此,系统200可以通过集中某些功能来节省显著的处理、带宽、存储和计算资源。例如,用户数据收集部件210(图2)可以为多个用户或用户设备累积用户数据和解释性数据,使得每个用户设备不需要单独和冗余的数据收集和存储。附加地,通过从与用户密切相关的用户设备解除关联,可以使用户简档数据的处理和存储更加安全。
现在参考图5,提供了流程图,其图示了用于基于用户活动模式来确定可能的未来用户动作的一个示例方法500。在步骤510处,访问用于用户的所推断的活动模式。所推断的运用模式可以如先前参照图2、图3或图4所描述的那样确定。在实施例中,活动模式可以从活动模式数据存储装置(诸如结合图2描述的用户简档240的推断用户例行工作248)访问。如所提及的,用户可以与多种活动模式相关联。特定模式可以与指示模式将被遵循的可能性的置信度水平或分数相关联。
在步骤520处,基于活动模式来确定可能的未来活动事件。步骤530的实施例预测未来活动事件,其可以包括可能发生或用户可能期望发生的一个或一系列(或序列)未来的用户交互。在一些实施例中,步骤520还可以确定与所确定的可能的未来活动相关联的置信度分数,该置信度分数指示活动事件将发生或者被用户期望发生的似然性。在一些实施例中,可能的未来活动可以包括上下文,该上下文可以由位置、时间、用户行为或其他条件来限定,并且可以至少部分地基于传感器数据来确定。
例如,在一些实例中,如先前所描述的,着眼于周期性上下文或行为上下文来确定可能的未来活动事件,该周期性上下文或行为上下文可以根据周期性特征或行为特征定义。因此,周期性上下文定义何时可能发生与活动模式相关联的活动事件。例如,如果模式指示用户每周一、周三和周五执行特定活动,则可以针对任何周一、周三或周五确定未来活动事件。类似地,行为上下文定义当活动模式可能发生时,诸如在模式指示用户当访问某个场所时、在另一活动之后或另一条件显现时执行特定活动(例如,用户每次访问特定商店时都会检查在线优惠券)的情况下呈现的上下文特征。行为上下文还可以定义为否定的,以标识定义周期性上下文的例外的上下文特征。例如,用户可能不会在假期或者当用户不在中心或经常访问的场所时(诸如当用户正在旅行或度假时)执行某些活动。在针对可能的未来活动确定置信度分数的一些实施例中,可以基于上下文来进一步确定置信度分数。
在一些实施例中,可以部分地基于当前活动事件或最近发生的活动事件来确定上下文。具体地,在步骤520的一些实施例中,还可以基于当前用户活动事件或最近发生的用户活动事件来确定可能的未来活动。步骤520的一些实施例可以监视与用户相关联的一个或多个用户设备以检测当前用户活动事件或最近发生的用户活动事件。检测到的活动事件可以用于确定与上下文(例如,用户的当前情况)相关的特定用户活动模式和/或模式中的下一个活动事件或未来的活动事件。因而,在步骤520的这样的实施例中检测到的活动事件的新近度(recency)可以基于时间长度,使得上下文(例如,用户的当前情况)仍然与活动模式相关。因此,新近度可以根据特定的活动模式而变化。
在一些实施例中,当前活动事件或最近发生的活动事件基于来自一个或多个用户设备的传感器数据来确定。例如,步骤520的一些实施例可以包括使用与用户设备集合相关联的一个或多个传感器来监视传感器数据。可以如方法400的步骤420中所描述的那样执行步骤520的一些实施例,或者可以使用图2的系统200中所描述的用户活动检测器282来执行步骤520的一些实施例。
在步骤530处,基于所确定的可能的未来活动,可以向用户提供增强型用户体验。步骤530的实施例提供增强型用户体验,其可以采用至少部分地基于在步骤520中确定的可能的未来活动来确定的针对用户的定制的、修改的或个性化的服务的形式,并且还可以是基于相关联的置信度分数来确定。步骤530的实施例可以包括通过结合图2描述的一个或多个活动模式消费者270向用户提供服务。例如,在实施例中,增强型用户体验包括与可能的未来活动有关的推荐、通知、请求或建议中的一个。在一个实施例中,它包括在与所推断的活动模式一致的时间或位置处自动执行与可能的未来活动有关的动作。例如,在用户通常在月初附近浏览她的银行账户并且将来自银行网站的财务信息复制到电子表格的情况下,步骤530的实施例可以自动执行以下操作:启动浏览器,导航到银行网站,以及将电子表格文件加载到电子表格应用中。在一些实施例中,基于上下文,可以在适当时间(诸如在用户在家使用她通常用来访问银行网站的计算设备(用户设备)的时候、或者在用户不是正在驾驶时,因此无法从个性化用户体验中受益的时候)执行自动操作。本文中描述了增强型用户体验的其他示例,并且通过示例而非限制,包括个性化服务(例如,如本文中所描述的提供个性化内容或定制向用户递送的内容)、改进的语音识别、更有效的带宽或功率消费、或者改进的用户的语义理解,其可以用于执行消除歧义或理解来自用户的输入的其他方面。
已经描述了各种实现方式,现在对适用于实现本公开的实施例的示例性计算环境进行描述。参照图6,示例性计算设备被提供并且通常被称为计算设备600。计算设备600仅仅是合适的计算环境的一个示例,并不旨在对于本公开的实施例的使用范围或功能提出任何限制。计算设备600也不应被解释为具有与所图示的部件的任一个或任一组合有关的任何依赖或要求。
可以在计算机代码或机器可用指令的一般上下文中对本公开的实施例进行描述,这些计算机代码或机器可用指令包括由计算机或其他机器(诸如个人数据助理、智能手机、平板PC或其他手持式设备)执行的计算机可用指令或计算机可执行指令(诸如程序模块)。通常,包括例程、程序、对象、部件、数据结构等的程序模块指代执行特定任务或实现特定抽象数据类型的代码。本公开的实施例可以以多种系统配置来实践,其包括手持式设备、消费电子产品、通用计算机、更专业的计算设备等。本公开的实施例还可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地计算机存储介质和远程计算机存储介质二者中。
如图6所示,计算设备600包括总线610,其直接或间接耦合以下设备:存储器612、一个或多个处理器614、一个或多个呈现部件616、一个或多个输入/输出(I/O)端口618、一个或更多I/O(I/O)部件620和说明性的电源622。总线610可以是表示一个或多个总线(诸如地址总线、数据总线或其组合)。尽管图6的各个框为了清楚起见用线条示出,但是实际上,这些框表示逻辑部件,不一定是实际部件。例如,可以将诸如显示设备之类的呈现部件看作是I/O部件。此外,处理器有存储器。本发明人认识到,这是本领域的性质,并且重申图6的图仅仅是说明性的、可以结合本公开的一个或多个实施例使用的示例性计算设备。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等的类别之间没有进行区分,因为它们均被涵盖在图6的范围内和对“计算设备”的引用范围内。
计算设备600通常包括多种计算机可读介质。计算机可读介质可以是任何可用介质,其可以由计算设备600访问,并且包括易失性介质和非易失性介质、可移除介质和不可移除介质。通过示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性介质和非易失性介质、可移除介质和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或可以用于存储所需信息并且可以由计算设备600访问的任何其他介质。计算机存储介质本身不包含信号。通信介质通常以经调制的数据信号(诸如载波或其他传输机制)来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。术语“经调制的数据信号”意指具有以对信号中的信息进行编码的方式设置或改变其特性中的一个或多个特性的信号。通过示例而非限制,通信介质包括有线介质(诸如有线网络或直接有线连接)以及无线介质(诸如声学、RF、红外线和其他无线介质)。上述内容的任何组合也应当包括在计算机可读介质的范围内。
存储器612包括易失性存储器和/或非易失性存储器形式的计算机存储介质。存储器可以是可移除的、不可移除的或其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备600包括从各种实体(诸如存储器612或I/O部件620)读取数据的一个或多个处理器614。一个或多个呈现部件616向用户或其他设备呈现数据指示。在一些实现方式中,系统200的呈现部件220可以被体现为呈现部件616。呈现部件的其他示例可以包括显示设备、扬声器、打印部件、振动部件等。
I/O端口618允许计算设备600逻辑地耦合到其他设备,其包括I/O部件620,其中一些可以被内置在其中。说明性部件包括麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、无线设备等。I/O部件620可以提供处理由用户生成的空中手势、话音或其他生理输入的自然用户界面(NUI)。在一些实例中,输入可以被传送到适当的网络元件以供进一步处理。NUI可以实现语音识别、触摸和触笔识别、面部识别、生物测定识别、屏幕上和邻近屏幕的手势识别、空中手势、头部和眼睛追踪、以及与计算设备600上的显示相关联的触摸识别的任意组合。计算设备600可以配备有深度相机,诸如立体相机系统、红外相机系统、RGB相机系统以及它们的组合,用于手势检测和识别。附加地,计算设备600可以配备有使得能够检测运动的加速度计或陀螺仪。加速度计或陀螺仪的输出可以被提供给计算设备600的显示器以再现沉浸式增强现实或虚拟现实。
计算设备600的一些实施例可以包括一个或多个无线电624(或类似的无线通信部件)。无线电624传送和接收无线电或无线通信。计算设备600可以是适于通过各种无线网络接收通信和介质的无线终端。计算设备600可以经由诸如码分多址(“CDMA”)、全球移动系统(“GSM”)或时分多址(“TDMA”)等之类的无线协议来通信,以与其他设备进行通信。无线电通信可以是短距离连接、远距离连接、或短距离无线电信连接和长距离无线电信连接的组合。当我们提到“短”和“长”类型的连接时,我们并不意指两个设备之间的空间关系。相反,我们通常将短距离和长距离称为不同类别或类型的连接(即,主要连接和次要连接)。通过示例而非限制,短距离连接可以包括到提供对无线通信网络(诸如使用802.11协议的WLAN连接)的接入的设备(例如,移动热点)的
Figure BDA0001658451750000501
连接;到另一计算设备的蓝牙连接是短距离连接或近场通信连接的第二示例。通过示例而非限制,远距离连接可以包括使用以下各项中的一项或多项的连接:CDMA协议、GPRS协议、GSM协议、TDMA协议和802.16协议。
在不背离以下权利要求的范围的情况下,所描绘的各种部件的许多不同的布置以及未示出的部件都是可能的。已经描述了本公开的实施例,意图是说明性的而非限制性的。备选实施例在阅读本公开之后并且因为阅读它而变得明显。在不背离下文的权利要求的范围的情况下,可以完成上述内容的实施的备选方式。某些特征和子组合具有实用性,并且可以在不参考其他特征和子组合的情况下采用,并且被认为在权利要求的范围内。
因而,在一个方面中,本公开的实施例涉及一种计算机化系统,其包括一个或多个传感器,其被配置为提供传感器数据;用户活动监视器,其被配置为标识和监视用户设备和与该用户设备相关联的用户活动;活动模式推断引擎,其被配置为从多个活动事件中确定活动模式;一个或多个处理器;以及计算机存储存储器,其上存储有计算机可执行指令,这些计算机可执行指令在由处理器执行时,实现推断用户活动模式的方法。该方法包括:(a)标识与用户相关联的用户设备集合;(b)使用用户活动监视器监视用户设备集合以检测用户活动事件;(c)在检测到用户活动事件时,确定与活动事件相关联的活动特征集合,该活动特征集合至少部分地基于传感器数据而被确定;(d)将活动事件和相关活动特征的记录存储在包括多个活动事件的记录的活动事件数据存储库中;(e)使用活动模式推断引擎基于对多个活动事件的分析来标识活动模式以确定具有类似活动特征的活动事件集合;以及(f)将活动模式的描述存储在活动模式数据存储库中。
在该系统的一些实施例中,活动事件包括以下各项中的一项或多项:浏览网站、启动应用、发起通信、执行搜索查询、设置提醒或在日历上安排事件,并且相关活动特征集合包括与以下各项有关的一个或多个特征:与活动事件(内容特征)相关联的内容、活动事件的日期或时间(日期-时间特征)、活动事件的位置(位置特征)、与活动事件(设备使用特征)相关联的设备使用相关特征、或与活动事件相关联的上下文信息。进一步地,在一些实施例中,使用根据比较的活动特征的类别而预先确定的相似性阈值、基于相同类别的活动特征的比较,来确定活动特征是相似的,这些类别包括(通过示例而非限制)本文中所描述的内容特征、日期-时间特征、位置特征、设备使用特征或其他类型的活动特征。
在另一方面中,本公开的实施例涉及一种计算机化系统,其包括一个或多个传感器,被配置为提供传感器数据,每个传感器与用户设备集合中的用户设备相关联,该用户设备集合与用户相关联;一个或多个处理器;以及计算机存储存储器,其上存储有计算机可执行指令,这些计算机可执行指令当由处理器执行时,实现推断可能的未来用户动作的方法。该方法包括:(a)访问用户的经推断的用户活动模式;(b)基于活动模式和至少部分地根据传感器数据而被确定的上下文,来预测可能的未来活动事件;以及(c)基于所确定的可能的未来活动事件,使用用户设备集合中的至少一个用户设备来提供增强的用户体验。
在该系统的一个实施例中,用于预测可能的未来活动事件的传感器数据从与用户设备集合中的第一用户设备相关联的传感器提供,并且增强型用户体验使用用户设备集合中的第二用户设备提供。在该系统的一个实施例中,所提供的增强型用户体验包括与可能的未来活动有关的推荐、通知、请求或建议中的一个。在另一实施例中,所提供的增强型用户体验包括在与所推断的用户活动模式一致的时间或位置处自动执行可能的未来活动。在又一实施例中,所预测的可能未来活动事件包括在未来的时刻将具有电池的用户设备连接到电源以对电池充电,并且增强的用户体验包括电池电量管理服务,其基于未来的时刻来减少用户设备的功耗。
在又一方面中,本公开的实施例涉及一种使用与用户相关联的一个或多个计算设备来提供增强型用户体验的计算机化方法。该方法包括:标识与用户相关联的计算设备集合,该计算设备集合的至少一个子集具有一个或多个传感器,其被配置为提供传感器数据;以及通过以下步骤确定与计算设备集合中的第一计算设备相关联的用户活动的活动模式:(a)使用用户活动监视器监视计算设备集合以检测多个用户活动事件;(b)在检测到每个用户活动事件时,确定与活动事件相关联的活动特征集合,该活动特征集合至少部分地基于来自具有一个或多个传感器的计算设备的子集中的至少第一计算设备的传感器数据而确定;以及(c)基于对多个用户活动事件的分析来确定活动模式以确定具有类似活动特征的活动事件集合。该方法进一步包括:基于所确定的活动模式和至少部分地根据传感器数据确定的上下文,来预测可能的未来活动事件;至少部分地基于用于确定模式的用户活动事件的数目来确定与预测的可能未来活动事件相关联的置信度分数,该置信度分数指示未来活动事件将发生的概率;以及基于所确定的可能未来活动事件和对应的置信度分数,使用计算设备集合中的至少一个计算设备提供增强型用户体验。在该方法的一些实施例中,使用计算设备集合中的与第一计算设备不同的第二计算设备来提供增强型用户体验。

Claims (20)

1.一种计算机化系统,包括:
一个或多个传感器,被配置为提供传感器数据,每个传感器与用户设备集合中的用户设备相关联,所述用户设备集合与用户相关联;
一个或多个处理器;以及
计算机存储存储器,其上存储有计算机可执行指令,所述计算机可执行指令在由所述处理器执行时实现一种推断可能的未来用户动作的方法,所述方法包括:
访问用于用户的经推断的用户活动模式,所述经推断的用户活动模式与用户如何与用户设备交互相关联,并且包括设备使用相关特征和上下文特征,其中所述经推断的用户活动模式包括一天中用于对所述用户设备充电的时间;
标识到所述一天中用于对所述用户设备充电的时间所剩余的时间的量和电池能量的平均消耗两者;
预测将在预测的未来时间发生的可能的未来活动事件,其中所述可能的未来活动事件包括所述用户设备在所述一天中用于对所述用户设备充电的时间之前将耗尽电池能量;以及
基于所述可能的未来活动事件,通过在所述用户设备上激活节电模式以使用所述用户设备来提供增强的用户体验。
2.根据权利要求1所述的计算机化系统,其中用于预测可能的未来活动事件的所述传感器数据从与所述用户设备集合中的第一用户设备相关联的传感器被提供,并且所述增强的用户体验使用所述用户设备集合中的第二用户设备被提供。
3.根据权利要求1所述的计算机化系统,其中所提供的增强的用户体验包括与可能的未来活动有关的推荐、通知、请求或建议中的一个。
4.根据权利要求1所述的计算机化系统,其中所提供的所述增强的用户体验包括在与经推断的所述用户活动模式一致的时间或地点处自动地执行可能的未来活动。
5.根据权利要求1所述的计算机化系统,其中所述电池节电模式基于到所述一天中用于对所述用户设备充电的时间所剩余的所述时间和所述电池能量的平均消耗来降低所述用户设备的功耗。
6.根据权利要求1所述的计算机化系统,其中经预测的所述未来活动事件包括用户动作序列。
7.一种使用与用户相关联的一个或多个计算设备来提供增强的用户体验的计算机化的方法,所述方法包括:
标识与所述用户相关联的计算设备集合,所述计算机设备集合的至少一个子集具有被配置为提供传感器数据的一个或多个传感器;
通过以下过程确定与所述计算设备集合中的第一计算设备相关联的用户活动的活动模式:
使用用户活动监视器监视所述用户设备集合以检测用户活动事件;
在检测到用户活动事件时,确定与所述活动事件相关联的活动特征集合,所述活动特征集合至少部分基于来自具有所述一个或多个传感器的、所述计算机设备的所述子集中的至少所述第一计算设备的所述传感器数据而被确定,所述活动特征集合包括设备使用相关特征和与第一设备相关联的上下文特征;
基于所述多个用户活动事件的分析来确定活动模式,以确定具有相似活动特征的活动事件集合,其中所述活动模式包括关于一天中用于对所述用户设备充电的时间的指示;
标识到所述一天中用于对所述用户设备充电的时间所剩余的时间的量和电池能量的平均消耗两者;
预测将在预测的未来时间发生的可能的未来活动事件,其中所述可能的未来活动事件包括所述用户设备在所述一天中用于对所述用户设备充电的时间之前将耗尽电池能量;
至少部分基于用于确定所述模式的用户活动事件的数目来确定与所述可能的未来活动事件相关联的置信度得分,所述置信度得分指示所述可能的未来活动事件将发生的可能性;以及
使用所述第一计算设备以基于所述可能的未来活动事件和对应的置信度得分来通过在所述第一计算设备上激活节电模式提供增强的用户计算体验。
8.根据权利要求7所述的计算机化的方法,其中所述传感器数据包括以下中的一项或多项:位置相关数据、时间相关数据、使用相关数据或关于所述用户的数据。
9.根据权利要求7所述的计算机化的方法,其中所述增强的用户体验包括与可能的未来活动有关的推荐、通知、请求或建议中的一个。
10.根据权利要求7所述的计算机化的方法,其中所述增强的用户体验包括在与所述活动模式一致的时间或位置处执行所述可能的未来活动事件。
11.根据权利要求7所述的计算机化的方法,其中所述电池节电模式基于到所述一天中用于对所述用户设备充电的时间所剩余的时间的所述量和所述电池能量的平均消耗来降低所述用户设备的功耗。
12.一种或多种计算机存储介质,其上存储有计算可使用指令,所述计算机可使用指令在由至少一个处理器执行时实施方法,所述方法包括:
访问用于用户的经推断的用户活动模式,所述经推断的用户活动模式与用户如何与用户设备交互相关联,并且包括设备使用相关特征和上下文特征,其中所述经推断的用户活动模式包括一天中用于对所述用户设备充电的时间;
标识到所述一天中用于对所述用户设备充电的时间所剩余的时间的量和电池能量的平均消耗两者;
预测将在预测的未来时间发生的可能的未来活动事件,其中所述可能的未来活动事件包括所述用户设备在所述一天中用于对所述用户设备充电的时间之前将耗尽电池能量;以及
基于所述可能的未来活动事件,通过在所述用户设备上激活节电模式以使用所述用户设备来提供增强的用户体验。
13.根据权利要求12所述的一种或多种计算机存储介质,所述方法还包括:接收用于预测所述可能的未来活动事件的传感器数据。
14.根据权利要求13所述的一种或多种计算机存储介质,其中所述传感器数据是从与所述用户设备相关联的传感器提供的。
15.根据权利要求14所述的一种或多种计算机存储介质,其中所述增强的用户体验是至少部分地使用第二用户设备所提供的。
16.根据权利要求15所述的一种或多种计算机存储介质,其中所述增强的用户体验包括与可能的未来活动有关的推荐、通知、请求或建议中的一个。
17.根据权利要求15所述的一种或多种计算机存储介质,其中所述增强的用户体验包括在与所述经推断的用户活动模式一致的时间或位置处执行所述可能的未来活动事件。
18.根据权利要求12所述的一种或多种计算机存储介质,其中所述电池节电模式基于到所述一天中用于对所述用户设备充电的时间所剩余的时间的所述量和所述电池能量的平均消耗来降低所述用户设备的功耗。
19.根据权利要求12所述的一种或多种计算机存储介质,其中经预测的所述可能的未来活动事件包括用户动作序列。
20.根据权利要求13所述的一种或多种计算机存储介质,其中所述传感器数据包括以下中的一项或多项:位置相关数据、时间相关数据、使用相关数据或关于所述用户的数据。
CN201680066302.6A 2015-11-13 2016-11-06 根据活动预测的增强型计算机体验 Active CN108351992B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/941,155 2015-11-13
US14/941,155 US11429883B2 (en) 2015-11-13 2015-11-13 Enhanced computer experience from activity prediction
PCT/US2016/060747 WO2017083210A1 (en) 2015-11-13 2016-11-06 Enhanced computer experience from activity prediction

Publications (2)

Publication Number Publication Date
CN108351992A CN108351992A (zh) 2018-07-31
CN108351992B true CN108351992B (zh) 2022-04-12

Family

ID=57321459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680066302.6A Active CN108351992B (zh) 2015-11-13 2016-11-06 根据活动预测的增强型计算机体验

Country Status (4)

Country Link
US (2) US11429883B2 (zh)
EP (1) EP3374938A1 (zh)
CN (1) CN108351992B (zh)
WO (1) WO2017083210A1 (zh)

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8519820B2 (en) 2008-09-02 2013-08-27 Apple Inc. Systems and methods for saving and restoring scenes in a multimedia system
AU2015291770A1 (en) * 2014-07-17 2016-12-22 Bigtincan Holdings Limited Method and system for providing contextual electronic content
US20170031575A1 (en) * 2015-07-28 2017-02-02 Microsoft Technology Licensing, Llc Tailored computing experience based on contextual signals
US10324606B1 (en) 2015-08-31 2019-06-18 Microsoft Technology Licensing, Llc Dynamic presentation of user account information for a social network
US10769189B2 (en) 2015-11-13 2020-09-08 Microsoft Technology Licensing, Llc Computer speech recognition and semantic understanding from activity patterns
US10250403B2 (en) * 2015-11-23 2019-04-02 International Business Machines Corporation Dynamic control of smart home using wearable device
US10685331B2 (en) * 2015-12-08 2020-06-16 TCL Research America Inc. Personalized FUNC sequence scheduling method and system
US10142396B2 (en) * 2015-12-15 2018-11-27 Oath Inc. Computerized system and method for determining and communicating media content to a user based on a physical location of the user
US10909453B1 (en) 2015-12-29 2021-02-02 State Farm Mutual Automobile Insurance Company Method of controlling for undesired factors in machine learning models
US10432689B2 (en) * 2016-02-15 2019-10-01 Netflix, Inc. Feature generation for online/offline machine learning
US10176000B2 (en) * 2016-02-29 2019-01-08 International Business Machines Corporation Dynamic assistant for applications based on pattern analysis
US10061683B2 (en) * 2016-03-22 2018-08-28 Symantec Corporation Systems and methods for collecting error data to troubleshoot product errors
US10270825B2 (en) * 2016-03-31 2019-04-23 Verizon Patent And Licensing Inc. Prediction-based methods and systems for efficient distribution of virtual reality media content
US10733518B2 (en) * 2016-04-07 2020-08-04 Cognitive Scale, Inc. Cognitive personal procurement assistant
US10796238B2 (en) * 2016-04-07 2020-10-06 Cognitive Scale, Inc. Cognitive personal assistant
US10832160B2 (en) * 2016-04-27 2020-11-10 International Business Machines Corporation Predicting user attentiveness to electronic notifications
US10511456B2 (en) 2016-06-12 2019-12-17 Apple Inc. Presenting accessory group controls
US10498552B2 (en) 2016-06-12 2019-12-03 Apple Inc. Presenting accessory state
US10310725B2 (en) 2016-06-12 2019-06-04 Apple Inc. Generating scenes based on accessory state
US11003147B2 (en) 2016-06-12 2021-05-11 Apple Inc. Automatically grouping accessories
US10572530B2 (en) 2016-07-03 2020-02-25 Apple Inc. Prefetching accessory data
US11477302B2 (en) * 2016-07-06 2022-10-18 Palo Alto Research Center Incorporated Computer-implemented system and method for distributed activity detection
US10885478B2 (en) 2016-07-06 2021-01-05 Palo Alto Research Center Incorporated Computer-implemented system and method for providing contextually relevant task recommendations to qualified users
US11093834B2 (en) 2016-07-06 2021-08-17 Palo Alto Research Center Incorporated Computer-implemented system and method for predicting activity outcome based on user attention
US11019177B2 (en) * 2016-07-21 2021-05-25 Facebook, Inc. Selecting assets
EP3493136A4 (en) * 2016-08-25 2020-03-11 Tencent Technology (Shenzhen) Company Limited INFORMATION PROCESSING METHOD AND DEVICE, DISPLAY TERMINAL AND STORAGE MEDIUM
CN108885623B (zh) * 2016-09-02 2022-05-10 浙江核新同花顺网络信息股份有限公司 基于知识图谱的语意分析系统及方法
US10764153B2 (en) * 2016-09-24 2020-09-01 Apple Inc. Generating suggestions for scenes and triggers
US10469281B2 (en) * 2016-09-24 2019-11-05 Apple Inc. Generating suggestions for scenes and triggers by resident device
KR102656911B1 (ko) * 2016-09-26 2024-04-16 삼성전자주식회사 웨어러블 장치 및 이의 위젯 제공 방법
US10719900B2 (en) * 2016-10-11 2020-07-21 Motorola Solutions, Inc. Methods and apparatus to perform actions in public safety incidents based on actions performed in prior incidents
US10607241B2 (en) * 2016-10-25 2020-03-31 Microsoft Technology Licensing, Llc Identifying potential consumers for service provider marketplace
US11010615B2 (en) * 2016-11-14 2021-05-18 Lyft, Inc. Rendering a situational-awareness view in an autonomous-vehicle environment
US9936072B1 (en) * 2016-12-02 2018-04-03 Bank Of America Corporation Automated response tool
US10509645B2 (en) * 2016-12-02 2019-12-17 Factual Inc. Method and apparatus for enabling an application to detect specified circumstances
US9936071B1 (en) * 2016-12-02 2018-04-03 Bank Of America Corporation Automated response tool
US10666751B1 (en) 2016-12-28 2020-05-26 Wells Fargo Bank, N.A. Notification system and method
US10979305B1 (en) * 2016-12-29 2021-04-13 Wells Fargo Bank, N.A. Web interface usage tracker
US10929818B2 (en) * 2017-02-16 2021-02-23 Seoul National University R&Db Foundation Wearable sensor-based automatic scheduling device and method
US10341723B2 (en) * 2017-03-10 2019-07-02 Sony Interactive Entertainment LLC Identification and instantiation of community driven content
US10798180B1 (en) 2017-04-11 2020-10-06 Wells Fargo Bank, N.A. Systems and methods for optimizing information collaboration
US10848578B1 (en) * 2017-04-11 2020-11-24 Wells Fargo Bank, N.A. Systems and methods for content delivery
US10423212B2 (en) 2017-06-02 2019-09-24 Apple Inc. Techniques for adjusting computing device sleep states using onboard sensors and learned user behaviors
US10783149B2 (en) * 2017-08-02 2020-09-22 Microsoft Technology Licensing, Llc Dynamic productivity content rendering based upon user interaction patterns
US10885901B2 (en) 2017-08-21 2021-01-05 Sony Interactive Entertainment LLC Network-based learning models for natural language processing
US11514345B2 (en) * 2017-10-17 2022-11-29 Evgeny Chereshnev Systems and methods for generating automated decisions
US10587716B2 (en) * 2017-10-26 2020-03-10 Rovi Guides, Inc. Systems and methods for optimizing allocation of bandwidth for pre-caching media content
US10832190B2 (en) * 2017-11-16 2020-11-10 International Business Machines Corporation Executable action modification
US11468135B2 (en) 2017-11-30 2022-10-11 Hookle Inc. User's social media rate of activity
US11570124B2 (en) * 2017-12-01 2023-01-31 At&T Intellectual Property I, L.P. Predictive network capacity scaling based on customer interest
US11714522B2 (en) * 2017-12-08 2023-08-01 Yahoo Assets Llc Controlling a graphical user interface using a presentation of messages based upon predicted interactions with the messages
US20190205839A1 (en) * 2017-12-29 2019-07-04 Microsoft Technology Licensing, Llc Enhanced computer experience from personal activity pattern
KR20190088128A (ko) * 2018-01-05 2019-07-26 삼성전자주식회사 전자 장치 및 그의 제어 방법
US10885768B2 (en) * 2018-02-12 2021-01-05 Tennant Company Systems and methods for measuring performance of site maintenance
US11159596B2 (en) * 2018-03-28 2021-10-26 International Business Machines Corporation Streaming media abandonment mitigation
CN108846409A (zh) * 2018-04-28 2018-11-20 中国人民解放军国防科技大学 基于循环动态卷积神经网络的雷达回波外推模型训练方法
US11494200B2 (en) * 2018-05-02 2022-11-08 Microsoft Technology Licensing, Llc. Configuring an electronic device using artificial intelligence
US11893543B2 (en) * 2018-05-15 2024-02-06 International Business Machines Corporation Optimized automatic consensus determination for events
US10949272B2 (en) 2018-06-14 2021-03-16 Microsoft Technology Licensing, Llc Inter-application context seeding
US11095670B2 (en) * 2018-07-09 2021-08-17 Cisco Technology, Inc. Hierarchical activation of scripts for detecting a security threat to a network using a programmable data plane
US20200043286A1 (en) * 2018-08-02 2020-02-06 Igt Gaming system and method providing automatic audio adjustments
US11354973B2 (en) * 2018-08-02 2022-06-07 Igt Gaming system and method providing player feedback loop for automatically controlled audio adjustments
US11093743B2 (en) * 2018-08-10 2021-08-17 International Business Machines Corporation Intelligent personalization of operations of an image capturing device
GB201813348D0 (en) * 2018-08-15 2018-09-26 So Sure Ltd Assessing condition of real-world objects
CN112335205B (zh) 2018-08-22 2022-10-11 谷歌有限责任公司 确定一组用户的活动实例集合的方法、设备和存储介质
US11853914B2 (en) 2018-09-11 2023-12-26 ZineOne, Inc. Distributed architecture for enabling machine-learned event analysis on end user devices
US10262079B1 (en) * 2018-09-25 2019-04-16 Accenture Global Solutions Limited Determining anonymized temporal activity signatures of individuals
WO2020077620A1 (en) * 2018-10-19 2020-04-23 Huawei Technologies Co., Ltd. Timeline user interface
EP3868135A1 (en) * 2018-11-19 2021-08-25 Microsoft Technology Licensing, LLC Saving battery life using an inferred location
US11004449B2 (en) * 2018-11-29 2021-05-11 International Business Machines Corporation Vocal utterance based item inventory actions
US20200184511A1 (en) * 2018-12-05 2020-06-11 Oath Inc. Evaluating email activity
US10949432B1 (en) * 2018-12-07 2021-03-16 Intuit Inc. Method and system for recommending domain-specific content based on recent user activity within a software application
CN111353091A (zh) * 2018-12-24 2020-06-30 北京三星通信技术研究有限公司 信息处理方法、装置、电子设备及可读存储介质
CN109800354B (zh) * 2019-01-09 2021-06-08 考拉征信服务有限公司 一种基于区块链存储的简历修改意图识别方法及系统
CN111614705B (zh) * 2019-02-25 2022-01-21 华为技术有限公司 多终端设备之间服务决策分发的方法及系统
US11233761B1 (en) * 2019-03-21 2022-01-25 Pinterest, Inc. Determining topic cohesion between posted and linked content
US11222061B2 (en) * 2019-03-28 2022-01-11 Facebook, Inc. Generating digital media clusters corresponding to predicted distribution classes from a repository of digital media based on network distribution history
US10860984B1 (en) * 2019-06-18 2020-12-08 Microsoft Technology Licensing, Llc Out of office email detection system
US11683666B2 (en) * 2019-06-18 2023-06-20 Nokia Technologies Oy Data transmission
US11636439B2 (en) * 2019-06-18 2023-04-25 Capital One Services, Llc Techniques to apply machine learning to schedule events of interest
WO2021077035A1 (en) * 2019-10-18 2021-04-22 Taylor Brian Samuel Algorithmic suggestions based on a universal data scaffold
EP3848869A1 (en) * 2020-01-09 2021-07-14 Microsoft Technology Licensing, LLC Electronic calendar selection
US11556560B2 (en) * 2020-01-24 2023-01-17 Microsoft Technology Licensing, Llc Intelligent management of a synchronization interval for data of an application or service
US20210263978A1 (en) * 2020-02-26 2021-08-26 International Business Machines Corporation Intelligent interface accelerating
US11165732B2 (en) * 2020-03-20 2021-11-02 International Business Machines Corporation System and method to detect and define activity and patterns on a large relationship data network
US11409590B2 (en) * 2020-04-01 2022-08-09 Paypal, Inc. Proactive outreach platform for error resolution based on user intent in server-driven communication channels
US11966821B2 (en) * 2020-08-19 2024-04-23 Bank Of America Corporation Machine learning model builder
US11467857B2 (en) * 2020-10-13 2022-10-11 Adobe Inc. Intelligently sensing digital user context to generate recommendations across client device applications
US11693526B2 (en) * 2020-12-03 2023-07-04 International Business Machines Corporation Facilitating user input by predicting target storage locations
US11523190B1 (en) 2021-12-17 2022-12-06 Google Llc Generating notifications that provide context for predicted content interruptions
US11736421B1 (en) * 2022-04-18 2023-08-22 Bank Of America Corporation Artificial intelligence (AI)-powered conversational messaging within a mobile application
US20230360066A1 (en) * 2022-05-03 2023-11-09 6Sense Insights, Inc. Machine-Learning-Based Prediction of Account Outcome
US11921812B2 (en) * 2022-05-19 2024-03-05 Dropbox, Inc. Content creative web browser
US11941057B2 (en) * 2022-06-01 2024-03-26 Microsoft Technology Licensing, Llc Deep representation machine learned model for heterogeneous information networks
CN114818991B (zh) * 2022-06-22 2022-09-27 西南石油大学 基于卷积神经网络和加速度传感器的跑步行为识别方法
US20240152842A1 (en) * 2022-10-27 2024-05-09 6Sense Insights, Inc. Predictive model for mitigating cold-start problem with data quality and quantity

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2541474A1 (en) * 2011-06-29 2013-01-02 France Telecom Monitoring a user activity using a mobile device

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567778B1 (en) 1995-12-21 2003-05-20 Nuance Communications Natural language speech recognition using slot semantic confidence scores related to their word recognition confidence scores
US7720682B2 (en) 1998-12-04 2010-05-18 Tegic Communications, Inc. Method and apparatus utilizing voice input to resolve ambiguous manually entered text input
US8019602B2 (en) 2004-01-20 2011-09-13 Microsoft Corporation Automatic speech recognition learning using user corrections
US20060206333A1 (en) 2005-03-08 2006-09-14 Microsoft Corporation Speaker-dependent dialog adaptation
US7620549B2 (en) 2005-08-10 2009-11-17 Voicebox Technologies, Inc. System and method of supporting adaptive misrecognition in conversational speech
US8332218B2 (en) 2006-06-13 2012-12-11 Nuance Communications, Inc. Context-based grammars for automated speech recognition
US20070299631A1 (en) 2006-06-27 2007-12-27 Microsoft Corporation Logging user actions within activity context
US8185524B2 (en) 2006-12-22 2012-05-22 Yahoo! Inc. Method and system for locating events in-context
US8886540B2 (en) 2007-03-07 2014-11-11 Vlingo Corporation Using speech recognition results based on an unstructured language model in a mobile communication facility application
US7941383B2 (en) 2007-12-21 2011-05-10 Yahoo! Inc. Maintaining state transition data for a plurality of users, modeling, detecting, and predicting user states and behavior
US10425284B2 (en) * 2008-05-13 2019-09-24 Apple Inc. Device, method, and graphical user interface for establishing a relationship and connection between two devices
US9014640B2 (en) * 2008-10-31 2015-04-21 Qualcomm Incorporated Wake-up trigger for implementation of target actions
US20110022443A1 (en) 2009-07-21 2011-01-27 Palo Alto Research Center Incorporated Employment inference from mobile device data
US8606889B2 (en) 2010-01-21 2013-12-10 Microsoft Corporation Roaming application settings across multiple computing devices
US8738377B2 (en) 2010-06-07 2014-05-27 Google Inc. Predicting and learning carrier phrases for speech input
US9767221B2 (en) 2010-10-08 2017-09-19 At&T Intellectual Property I, L.P. User profile and its location in a clustered profile landscape
US8731902B2 (en) 2010-12-23 2014-05-20 Sap Ag Systems and methods for accessing applications based on user intent modeling
US20120209839A1 (en) 2011-02-15 2012-08-16 Microsoft Corporation Providing applications with personalized and contextually relevant content
US8762756B1 (en) * 2011-06-27 2014-06-24 Amazon Technologies, Inc. Statistical approach to power management for electronic devices
US20130006678A1 (en) 2011-06-28 2013-01-03 Palo Alto Research Center Incorporated System and method for detecting human-specified activities
US20130018659A1 (en) 2011-07-12 2013-01-17 Google Inc. Systems and Methods for Speech Command Processing
US8880652B2 (en) 2011-09-14 2014-11-04 Hewlett-Packard Development Company, L.P. Heuristic browser predictive pre-caching
US20130097246A1 (en) * 2011-10-12 2013-04-18 Cult, Inc. Multilocal implicit social networking
US9600834B2 (en) 2011-10-26 2017-03-21 Yahoo! Inc. Aggregating data from multiple devices belonging to one user for directed ad targeting
US9189252B2 (en) 2011-12-30 2015-11-17 Microsoft Technology Licensing, Llc Context-based device action prediction
EP2613495A1 (en) 2012-01-09 2013-07-10 OÜ Eliko Tehnoloogia Arenduskeskus Method for determining digital content preferences of the user
US9542956B1 (en) 2012-01-09 2017-01-10 Interactive Voice, Inc. Systems and methods for responding to human spoken audio
US10474728B2 (en) 2012-03-21 2019-11-12 Oath Inc. Seamless browsing between devices
US8930294B2 (en) 2012-07-30 2015-01-06 Hewlett-Packard Development Company, L.P. Predicting user activity based on usage data received from client devices
US20140082384A1 (en) * 2012-09-20 2014-03-20 Apple Inc. Inferring user intent from battery usage level and charging trends
US10824310B2 (en) 2012-12-20 2020-11-03 Sri International Augmented reality virtual personal assistant for external representation
US20140122697A1 (en) 2012-11-01 2014-05-01 Google Inc. Providing content to linked devices associated with a user
WO2014074513A1 (en) 2012-11-06 2014-05-15 Intertrust Technologies Corporation Activity recognition systems and methods
US20150338917A1 (en) 2012-12-26 2015-11-26 Sia Technology Ltd. Device, system, and method of controlling electronic devices via thought
US9117179B2 (en) 2013-03-11 2015-08-25 International Business Machines Corporation Predicting user activity in social media applications
US9015045B2 (en) 2013-03-11 2015-04-21 Nuance Communications, Inc. Method for refining a search
EP3709293A1 (en) 2013-03-12 2020-09-16 Nuance Communications, Inc. Methods and apparatus for detecting a voice command
US9904356B2 (en) 2013-05-28 2018-02-27 The Boeing Company Tracking a user to support tasks performed on complex-system components
US9508040B2 (en) 2013-06-12 2016-11-29 Microsoft Technology Licensing, Llc Predictive pre-launch for applications
US9427185B2 (en) 2013-06-20 2016-08-30 Microsoft Technology Licensing, Llc User behavior monitoring on a computerized device
US9305554B2 (en) 2013-07-17 2016-04-05 Samsung Electronics Co., Ltd. Multi-level speech recognition
CN103455126B (zh) * 2013-09-16 2017-02-15 贝壳网际(北京)安全技术有限公司 确定电池剩余使用时间的方法、客户端装置及移动终端
US8768712B1 (en) 2013-12-04 2014-07-01 Google Inc. Initiating actions based on partial hotwords
US9830044B2 (en) 2013-12-31 2017-11-28 Next It Corporation Virtual assistant team customization
US9939868B2 (en) * 2014-05-12 2018-04-10 Gary Stephen Shuster Device power and resource management
WO2016001931A1 (en) * 2014-07-02 2016-01-07 Humavox Ltd. Cloud based power management system for electronic devices
US20160050589A1 (en) * 2014-08-13 2016-02-18 Samsung Electronics Co., Ltd. Ambient network sensing and handoff for device optimization in heterogeneous networks
US10198505B2 (en) * 2014-08-21 2019-02-05 Affectomatics Ltd. Personalized experience scores based on measurements of affective response
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US11887164B2 (en) * 2015-05-26 2024-01-30 Microsoft Technology Licensing, Llc Personalized information from venues of interest
US20170031575A1 (en) * 2015-07-28 2017-02-02 Microsoft Technology Licensing, Llc Tailored computing experience based on contextual signals
US10769189B2 (en) 2015-11-13 2020-09-08 Microsoft Technology Licensing, Llc Computer speech recognition and semantic understanding from activity patterns

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2541474A1 (en) * 2011-06-29 2013-01-02 France Telecom Monitoring a user activity using a mobile device

Also Published As

Publication number Publication date
EP3374938A1 (en) 2018-09-19
US11429883B2 (en) 2022-08-30
CN108351992A (zh) 2018-07-31
WO2017083210A1 (en) 2017-05-18
US20210374579A1 (en) 2021-12-02
US20170140285A1 (en) 2017-05-18

Similar Documents

Publication Publication Date Title
CN108351992B (zh) 根据活动预测的增强型计算机体验
CN108351870B (zh) 根据活动模式的计算机语音识别和语义理解
US20220277248A1 (en) User objective assistance technologies
US20230082609A1 (en) Self-learning digital assistant
US10257127B2 (en) Email personalization
US20190205839A1 (en) Enhanced computer experience from personal activity pattern
CN107924506B (zh) 用于推断用户可用性的方法、系统及计算机存储介质
US11496592B2 (en) Generating application configurations based on user engagement segments
US20180285827A1 (en) Distinguishing events of users for efficient service content distribution
US20170031575A1 (en) Tailored computing experience based on contextual signals
US9872150B2 (en) Inferring logical user locations
US20180253219A1 (en) Personalized presentation of content on a computing device
US10681162B2 (en) Segmenting users based on user engagement
US20220078135A1 (en) Signal upload optimization
US20190370017A1 (en) Configuring Applications Using Multilevel Configuration
CN110799946B (zh) 多应用用户兴趣存储器管理

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant