基于隐式采集的计算机交互的睡眠监测

文档序号:1493134 发布日期:2020-02-04 浏览:10次 >En<

阅读说明:本技术 基于隐式采集的计算机交互的睡眠监测 (Sleep monitoring based on implicit acquisition for computer interaction ) 是由 T·阿尔特霍夫 E·J·霍维茨 R·W·怀特 于 2018-05-23 设计创作,主要内容包括:一种方法可以包括:从计算设备接收用户的隐式采集的计算机交互数据;访问先前采集的计算机交互数据的数据存储,该先前采集的计算机交互数据与用户的睡眠模式相关;将用户隐式采集的计算机交互数据与先前采集的计算机交互数据进行比较;以及基于比较来推断用户的睡眠模式。该方法可以提供现实世界认知表现的指示,该现实世界认知表现全天变化,并且受到昼夜节律、睡眠类型(早晨/晚上偏好)以及先前睡眠持续时长和定时的影响。(A method may include: receiving, from a computing device, computer interaction data of an implicit collection of users; accessing a data store of previously collected computer interaction data, the previously collected computer interaction data relating to a sleep mode of a user; comparing computer interaction data implicitly collected by a user with previously collected computer interaction data; and inferring a sleep pattern of the user based on the comparison. The method may provide an indication of real world cognitive performance that varies throughout the day and is affected by circadian rhythm, type of sleep (morning/evening preference), and duration and timing of previous sleep.)

基于隐式采集的计算机交互的睡眠监测

技术领域

本文中所描述的实施例总体涉及推断用户的睡眠模式,并且非限制性地涉及基于采集和比较用户隐式采集的计算机交互数据来推断用户的生理模式。

背景技术

相对于学习和生产率以及避免工业事故和机动车辆事故,维持最佳认知表现是很重要的。认知表现全天变化,从而影响表现质量,该表现质量包括我们如何使用车辆、设备、资源和应用以及如何与之交互。

失眠之后,认知表现显着下降。了解睡眠不足对现实世界的影响至关重要。除了医疗保健成本和疾病风险的增加之外,美国企业每年因缺勤、工作场所事故、决策不力和延误以及其他生产力下降而造成的疲劳成本估计超过1500亿美元。尽管与睡眠有关的表现非常重要,但是基于睡眠的、现实世界表现的时间演变仍未得到很好的理解,并且从未大规模表征过。

认知表现每天都在变化,并且由接近24小时的内在昼夜节律部分驱动。关于睡眠和昼夜节律对认知表现影响的现有研究通常仅限于基于实验室的小规模研究,这些研究无法捕获现实世界条件(诸如现实世界设置中的环境因素、动机和睡眠模式)的可变性。

通常基于三种生物过程的表示来对人类认知表现的日常模式进行建模:(i)循环节律(与时间有关、与行为无关、近24小时振荡);(ii)自我平衡(homeostatic)睡眠压力(清醒时间越长,变得越累);以及(iii)睡眠惯性(紧接在清醒之后出现表现下降)。

现有的睡眠有关的相关性通常基于实验研究,其中剥夺参与者的睡眠,并且执行常规人工任务来衡量表现,而不是通过现实世界环境中的日常任务非侵入性地捕获表现。另外,人工实验室设置中的参与者可能会受到其对研究的了解的影响,并且潜意识地改变其行为。

实验室研究通常无法考虑到现实世界中的无数影响,其包括动机、情绪、疾病、环境条件、包括咖啡因摄入在内的行为补偿、以及野外的睡眠模式,这些影响远比在研究中强制实施的影响复杂得多。相比之下,现实世界认知表现全天变化,并且受到昼夜节律、睡眠类型(chronotype)(早晨/晚上偏好)以及先前睡眠持续时长和定时的影响。

具体实施方式

在一些形式中,可以基于各个击键的速率来测量认知表现。在其他形式中,可以基于点击交互(例如,基于由网络搜索引擎显示的搜索结果)来测量认知表现。这些隐式(例如,通过用户的一般计算会话采集的数据,而不提示用户显式执行用于测试目的的功能)采集的计算机交互数据可以随着时间的推移而与睡眠测量相关(例如,通过使用可穿戴式睡眠测量设备)。

本文中所描述的方法、系统、机器可读介质和设备可以通过与现有计算应用(例如,击键速度和网页搜索引擎上的点击交互)或其他应用(诸如电子邮件、编程环境、错误报告系统和办公套件)的日常交互来获取认知表现的测量。仅基于记录的动作数据,这些测量可以用于估计影响认知表现的因素,例如,前一天晚上的睡眠质量或当前时间的疲劳水平。

通过测量隐式采集的计算机交互数据来监测应用使用情况可以允许用户获得针对表现和生产率的见解,这些见解可以用于提高人们对这种模式的认识并且相应调整用户体验(例如,智能调度任务以便防止或最大程度减少人为误差;基于参与者的表现和睡眠类型简档来调度会议)。作为示例,随着时间的推移,所生成的推断可以针对个体用户或用户群组进行定制。

可以通过将隐式交互数据与睡眠模式相关数据库中先前跟踪的睡眠数据进行比较来生成这些推断。在一些形式中,本文中所描述的方法、系统、机器可读介质和设备可以利用当前隐式采集的计算机交互数据与睡眠模式(或其他生理特质)之间成千上万的实际非暗示的相关性来做出关于用户的推断。

然后,系统可以基于该推断来提供建议。与现有技术相比,推断的优势之一是因为推断基于实际数据而非某种形式的建模。

在一些形式中,本文中所描述的方法、系统、机器可读介质和设备可以建立睡眠模式相关性,以在人口规模上连续且非侵入性地监测人类表现。可以确定的推断和睡眠模式相关性与以下各项有关:(i)追求更大规模的现实世界表现测量的睡眠科学家;以及(ii)构建可能会受到人类表现变化影响的工具和应用以便解决公共卫生领域内的问题和挑战的计算机科学家。

随时间的推移可能与睡眠测量相关的其他隐式采集的计算机交互数据的示例包括鼠标光标活动(例如,(i)鼠标速度;(ii)用户在点击之前越过链接的次数;(iii)对系统警报和通知的响应时间;(iv)在如列表和下拉菜单的标准UI要素中选择项目的时间;和/或(v)诸如速度的滚动特点。

多种不同类型的光标移动可以是隐式采集的计算机交互数据的一部分。一些示例包括:(i)光标速度;(ii)光标指向性(即,与最短路径的偏离量);(iii)光标;(iv)光标加速度;和/或(v)使用光标越过的目标(以及其他类型的光标移动)。

还可能存在与各种动作相关联的元数据。示例元数据可以包括动作发生的时间以及动作在哪里发生。在一些形式中,动作在哪里发生可以用来基于用户的位置和睡眠模式来确定相关性。

在一些形式中,用户隐式采集的计算机交互数据包括计算机从用户获得的听觉输入和视觉输入。作为示例,听觉输入可以包括由用户生成并且由计算机检测到的语音输入。作为另一示例,视觉输入可以包括由用户生成并且由计算机检测到的视线输入。

在其他形式中,计算机可以获得用户的图像数据。可以将图像数据与先前采集的图像数据进行比较,以确定是否存在表示睡眠模式改变的改变(例如,用户眼袋)。

随时间的推移可能与睡眠测量相关的其他隐式采集的计算机交互数据的另一示例包括:分析用户可能正在表达疲劳的搜索引擎查询的内容。在其他形式中,随时间的推移可能与睡眠测量相关的隐式采集的计算机交互数据包括:分析用户可能正在表达疲劳的社交媒体发布的内容。可以设想其他形式的在线计算机交互来确定睡眠模式相关性。

在一些形式中,本文中所描述的方法、系统、机器可读介质和设备可以在现实世界设置中(例如,在用户的选择下)测量(无需任何附加硬件或显式测试)每天发生数十亿次的现有搜索引擎交互。通过隐式采集的计算机交互数据来测量的人类表现全天基于睡眠类型和睡眠而变化。

由于利用在线活动来研究人类认知、运动技能和公共健康的能力,基于睡眠模式(或其他生理方面)相关性的推断可以提供关于睡眠和表现的见解。基于涵盖隐式采集的计算机交互数据的在线数据的大规模生物识别感测使得:(i)在小型实验室设置之外研究睡眠和表现,而不会主动引起剥夺睡眠;(ii)在没有强迫个体中断其工作或执行单独人工任务的情况下,非侵入性地测量认知表现;和/或(iii)基于频繁任务和交互或对测量结果的连续监测,标识现实世界认知表现的现实测量。

作为示例,可以从诸如电子邮件、编程环境、错误报告系统、办公套件等的计算应用中获得推断和睡眠模式相关性。推断和睡眠模式相关性可以提供关于表现和生产率的见解,这些见解通过监测这些应用获得,以可能改善用户对模式的认识和/或适当地调整用户体验。例如,可以基于参与者的表现和睡眠类型简档来智能安排任务,以防止或最大程度地减少人为误差。

图1图示了根据各种示例实施例的示例隐式计算机交互数据采集系统100的示意图。如所示出的,系统100包括设备102A。设备102A可以是膝上型计算机、台式计算机、终端、移动电话、平板计算机、智能手表、个人数字助理(PDA)、可穿戴式设备、数字音乐播放器、服务器等。用户130可以是能够诸如通过提供各种输入(例如,经由诸如键盘、鼠标、触摸屏等的输入设备/接口)与设备102A交互的人类用户。

在某些实现方式中,设备102A可以包括或连接到各种组件,诸如显示设备104和一个或多个跟踪组件108。显示设备104可以是例如发光二极管(LED)显示器、液晶显示器(LCD)、触摸屏显示器、和/或能够显示、描绘或以其他方式呈现用户界面106(例如,图形用户界面(GUI))的任何其他这种设备。

(多个)跟踪组件108可以是例如传感器(例如,光学传感器)、相机(例如,二维或三维相机)和/或能够跟踪如本文中所描述的隐式采集的计算机交互数据的任何其他这种设备。应当理解,虽然图1将显示设备104和(多个)跟踪组件108描绘为集成在单个设备102A内(诸如在具有集成网络摄像头的膝上型计算机或具有集成前置相机的平板/智能电话设备的情况下),在其他实现方式中,显示设备104和(多个)跟踪组件108可以是单独元件(例如,当使用***网络摄像头设备时)。

例如,如图1所示,设备102A可以经由显示设备104向用户130呈现用户界面106。用户界面106可以是在设备102A上执行的各种应用(和/或经由显示设备104显示或描绘的任何其他这种内容)的图形描绘,诸如应用110A(其可以是例如网络浏览器)和应用110B(其可以是例如媒体/视频播放器)。

这种应用还可以包括或以其他方式反映各种内容要素(例如,内容要素搜索结果120)。这种内容要素可以是例如字母数字字符或字符串、单词、文本、图像、媒体(例如,视频)和/或可以经由设备102A显示、描绘或以其他方式呈现的任何其他这种电子或数字内容。

各种应用还可以描绘、反映内容位置112或以其他方式与内容位置112相关联。内容位置112可以包括或以其他方式反映可以存储或定位各种内容要素的本地和/或网络/远程位置(例如,统一资源定位符(URL)、本地或远程/网络文件位置/路径等)。

应当指出,尽管图1(以及本文中所提供的各种其他示例和图示)将设备102A描绘为膝上型计算设备或台式计算设备,但是这仅仅是出于清楚和简洁的目的。因而,在其他实现方式中,设备102A可以是各种其他类型的设备,其包括但不限于各种可穿戴式设备。

例如,在某些实现方式中,设备102A可以是虚拟现实(VR)和/或增强现实(AR)头戴式耳机。这种头戴式耳机可以被配置为佩戴在用户的头部、面部或眼睛上或定位在头部、面部或眼睛附近。诸如沉浸式视觉内容(其跨越用户的大部分或全部视场)的内容可以经由头戴式耳机呈现给用户。因而,这种VR/AR头戴式耳机可以包括或结合与图1中描绘的、和/或本文中所描述的组件相对应的组件。

通过说明,VR头戴式耳机可以包括显示设备,例如,被包括/结合在头戴式耳机内的一个或多个屏幕、显示器等。这种屏幕、显示器等可以被配置为向佩戴头戴式耳机的用户呈现/投影VR用户界面。附加地,所显示的VR用户界面可以进一步包括在头戴式耳机(或在连接到头戴式耳机或与头戴式耳机通信的另一计算设备)上执行的各种应用(例如,VR应用)的视觉/图形描绘。

附加地,在某些实现方式中,这种头戴式耳机可以包括或结合诸如本文中描述/参考的跟踪组件。例如,VR头戴式耳机可以包括(多个)传感器、(多个)相机和/或能够检测运动或以其他方式跟踪用户的眼睛(例如,在佩戴或利用头戴式耳机的同时)的任何其他这种组件。因而,本文所提供的各种示例和图示(例如,相对于设备102A)应当理解为是非限制性的,因为所描述的技术也可以在其他设置、上下文等(例如,相对于VR/AR头戴式耳机)中实现。

现在转向图2,基于网络的通信系统的系统图示出了隐式计算机交互数据采集系统100的其他方面。图2中的组件可以被配置为例如经由网络耦合(诸如网络215)、共享存储器、总线、交换机等彼此通信。

在各种示例中,图2中所示的服务器和组件可以经由一个或多个网络(未示出)进行通信。网络可以包括局域网(LAN)、广域网(WAN)、无线网络(例如,802.11或蜂窝网络)、公共交换电话网(PSTN)网络、自组织网络、蜂窝、个人区域网络或点对点(例如,

Figure BDA0002317103210000071

Wi-Fi Direct)或网络协议和网络类型的其他组合或排列。这些网络可以包括单个局域网(LAN)或广域网(WAN),也可以是LAN或WAN的组合,诸如互联网。

应当领会,每个组件可以被实现为单个组件、被组合为其他组件、或者进一步被细分为多个组件。可以使用硬件(例如,机器的处理器)或硬件和软件的组合(例如,图1的机器100)来实现本文中所描述的组件中的任一个或多个组件。例如,尽管该图示出了基于网络的通信服务250、信息服务255、相关***260、动作服务292和推断模型297作为通过网络215彼此通信的单独计算设备,但是那些组件的功能可以由相同计算设备来实现,或由通过与网络215不同的网络(例如,局域网LAN)连接的不同计算设备来实现。

计算设备205和210(其被示为诸如智能电话的移动设备)可以包括操作系统220和通信应用225的实例。操作系统220可以向诸如通信应用225的应用提供一个或多个服务。服务可以包括存储器管理、调度、多任务、通知、中断、事件通知、硬件接口等。通信应用225可以是基于网络的通信应用,并且可以包括GUI组件230、服务组件235和高速缓存组件240。GUI组件230可以显现一个或多个GUI。

服务组件235可以连接到基于网络的通信服务250,并且可以将经由通过GUI组件230提供的GUI由计算设备205的用户录入的消息发送到基于网络的通信服务250的一个或多个其他用户。服务组件235可以通过基于网络的通信服务250从其他用户接收一个或多个其他消息,并且可以使那些通信显示在通过GUI组件230提供的GUI中。

服务组件235还可以从计算设备(例如,从设备102A、205、210中的一个设备)接收用户的隐式采集的计算机交互数据。服务组件235还可以访问隐式采集的计算机交互数据的数据存储,隐式采集计算机交互数据与用户的睡眠模式相关。

应当指出,隐式采集的计算机交互数据可以从任何数目的源采集并且可以进行标准化和/或协调。因而,一旦数据存储(例如,文件系统、关系数据库、NoSQL数据库、平面文件数据库)被填充了足够的语义完整的数据,就可以对数据进行挖掘、存储、查询、审计和验证。隐式采集的计算机交互数据可以源自若干个形式,诸如非结构化数据、电子表格、关系数据库、可扩展标记语言(XML)、JavaScript对象表示法等。在一些实例中,服务(例如,网页服务)可以将各种格式映射或转换为通用格式,以便更易于进行数据挖掘。

相关***260可以将用户的隐式采集的计算机交互数据与先前采集的计算机交互数据进行比较,并且基于比较来推断用户的睡眠模式。作为示例,相关***260可以将特定用户的数据(例如,清醒时间)与针对其他用户的群体的先前采集的和相关的睡眠数据进行比较,以便确定与特定用户的数据有关的推断。

在一些形式中,隐式采集的计算机交互数据包括键盘输入。作为示例,客户端设备100可以包括触摸屏,并且用户隐式采集计算机交互数据包括用户与触摸屏的接触。

相关***260还可以使得经由通过GUI组件230提供的GUI来显示睡眠推断。附加地,关于推断的用户输入(即,反馈)可以由服务组件235发送到相关***260。

基于来自一个或多个用户的反馈,相关***260可以代表用户采取动作,发送附加内容或信息(其可能已经由用户请求),并且为用户定制推断。结果,附加信息、内容或隐式采集的计算机交互数据可以由相关***260发送或接收。

服务组件235可以使该附加信息显示在通过GUI组件230提供的GUI中。在其他示例中,交互所需的信息由相关***260与推断一起发送。推断可以包括最初显示的推断(例如,“当从晚上9点至凌晨5点睡眠时,获得主要睡眠益处”),以及当被选择时,由相关***260所发送的附加信息(例如,“用于睡眠的放松技术”)。

高速缓存组件240可以缓存通信和建议,并且允许用户查看过去的通信和过去的推断。用户可以在他们的通信会话处于活动状态时在任何时间选择或激活过去的推断。在一些示例中,高速缓存组件可以允许回顾过去的通信和推断并且在任何时间激活那些推断。

基于网络的通信服务250可以从计算设备接收通信(其可以包括隐式采集的计算机交互数据),并且将那些通信路由到参与基于网络的通信会话的其他计算设备。例如,如果计算设备210和计算设备205一起处于通信会话中,则来自计算设备205的通信可以路由到计算设备210。附加地,基于网络的通信服务250可以将这些通信的副本路由到相关***260。来自相关***260的建议可以直接路由到通信会话中的参与者,或者通过基于网络的通信服务250路由。

相关***260可以从服务组件235或基于网络的通信服务250接收通信,并且可以生成一个或多个推断,并且将那些推断返回给通信会话中的计算设备。可以针对每个用户(或用户组)对这些推断进行个性化,因此,对于相同的通信消息,给予计算设备205的推断可以与给予计算设备210的推断不同。可以基于存储在计算设备处的用户简档或基于网络的简档服务(例如,基于网络的计算设备,其存储多个用户简档以提供简档的内部计算设备知识)来对推断进行个性化。在以下段落中对推断睡眠模式的一些示例方法进行了总结。本文中对附加实现方式进行进一步讨论。

在一些示例形式中,基于比较隐式采集的计算机交互数据来推断用户的睡眠模式包括:基于连续键盘输入之间的时间来推断。作为示例,基于比较来推断用户的睡眠模式可以包括:基于至少三次键盘输入的连续键盘输入之间的平均时间来推断。在其他示例中,推断可以基于连续键盘输入之间的时间的最大值、中值、众数值(mode)等中的任一项(或基于时间的因素的任一组合)。

在一些实现方式中,用户的计算机隐式交互数据包括计算设备的显示器上的光标操作。作为示例,用户的光标操作可以提供与使用光标(或使用其他形式的触摸屏)选择显示器上新呈现的对象所花费的时间量有关的输入。

在一些形式中,新呈现的对象可以是显示器上的多个新呈现的对象的一部分。因此,从多个对象中选择新对象所花费的时间量可以提供与睡眠模式有关的强相关性。

另外,基于比较来推断用户的睡眠模式可以包括:基于新呈现的对象在多个新呈现的对象内的位置来推断。作为示例,从当前选择到先前选择以从多个对象中选择新对象的距离可以提供附加因素,该附加因素证明与睡眠模式有关的强相关性。

相关***260可以包括分发组件280。分发组件280可以将从基于网络的通信服务250接收到的通信分发给一个或多个推断模型,诸如推断模型297。推断模型297可以基于规则(例如,启发式方法)来确定推断,诸如基于一个或多个特定关键字的存在来确定推断。在其他示例中,推断模型297可以是无监督或有监督的机器学习模型。示例包括自然语言处理、决策树、随机森林、支持向量机等。

可以开发出实施大量睡眠和认知表现数据的推断。这些推断可以证明昼夜节律、自我平衡睡眠驱动和睡眠惯性的相对影响符合基于实验室的睡眠研究的预期。作为示例,睡眠不足(例如,连续两个晚上睡眠少于六个小时)的影响可能与认知表现下降相关联,该认知表现下降可能持续几天。

作为示例,计算系统可以提出一个人在给定夜晚睡得更多(或更少),然后在第二天(例如,通过与使用计算机有关的事件)来测量他们的注意力。已有的因果关系示例(其形成睡眠模式相关性的基础)是缩短睡眠将会降低注意力。一旦找到相关性,则计算概率,该概率可以用来确定表示已知相关性及其强度的相关性值的数字表示。

在一些示例中,隐式采集的计算机交互数据可以发送到多个推断模型,这些推断模型中的每个推断模型被设计为确定不同的推断或不同类型的推断。在一些示例中,隐式采集的计算机交互数据可以发送到多个推断模型,这些推断模型中的每个推断模型是不同类型的模型;也就是说,一个模型可能是基于规则的,另一模型可能是机器学习模型。

推断模型297可以利用一个或多个计算的推断来响应。每个推断模型297可以被训练和/或设计为检测某些类型的推断。例如,针对第一类型的推断,可以训练一个模型,并且针对第二类型的推断,可以训练第二模型。例如,一个模型可以被设计为检测与睡眠模式和隐式采集的计算机交互数据有关的推断。

另一模型可以被设计为检测与睡眠和身体活动有关的推断。其他示例包括关于饮食、压力、身体不适和/或旅行的信息。通过将通信提供给寻找特定推断的若干个经过特殊训练的模型,与向通用模型提供通信相比较,该系统可以更准确地确定用户的推断。

在一些示例中,如果通信没有产生高于确定性阈值的推断,则推断模型297不会做出响应。然而,多个模型可以利用所计算的推断来响应。然后,建议生成组件285可以基于由模型返回的一个或多个睡眠模式相关性来生成针对每个推断的建议。

推断可以生成可被分类为动作的建议(例如,推荐的睡眠时间和/或持续时长)、内容建议(提供关于放松和锻炼的信息)等。示例动作建议包括使用特定应用、访问网站、设置提醒(例如,休息一下)等。示例内容建议可以包括提供关于饮食、睡眠、放松和/或压力的信息(例如,通过示出文档、示出视频、示出音频剪辑、示出图片等)。

推断可以基于一个或多个if-then-else规则集,该规则集基于返回的推断来生成建议以尝试改善睡眠的效果。例如,如果返回的推断是用户睡眠过多,则建议可能是提供关于睡眠过多的影响的更多信息。作为另一示例,如果返回的推断是用户希望每天在特定时间起床,则该建议可以是关于就寝时间的日历提醒。可以利用将推断转换为可以改善睡眠的建议的其他方法,诸如决策树、随机森林等。

内容填充组件290可以用来自一个或多个源的内容填充建议,该一个或多个源诸如是信息服务255(例如,日历服务、搜索引擎、网站或其他数据库)。内容填充组件290还可以利用一个或多个应用编程接口(API)来与这些服务通信。

内容填充组件可以利用用户的用户简档。可以利用用户简档中用户的已知偏好来填充内容。例如,可以利用用户的就寝时间偏好来选择睡眠时间表。这允许根据用户的喜好进行个性化建议。例如,系统可以得知用户是素食者,并且可以建议促进睡眠的素食饮食。

建议排名组件295可以对由建议生成组件285确定的推断进行排名。建议排名组件295可以具有指定排名的规则。在一些形式中,可以利用多种不同启发式方法来对建议生成组件内的建议进行排名。作为示例,启发式方法可以考虑推断的实际主题。例如,日历动作推断可以在睡眠时间表推断之前,依此类推。

在一些示例中,可以基于来自相关***260的所有用户的反馈来调整启发式方法。例如,如果与由推断生成的内容建议相比,用户通常更多地与由推断生成的动作建议进行交互(例如,选择),则动作建议可以优先于内容建议。因此,通过使用反馈,全局用户模型可以调整启发式方法以更好满足用户需求。

在一些示例中,除了全局用户模型之外,每个用户还可以针对由推断生成的某些类型的建议具有学习的偏好。因此,即使全局模型可以确定与内容建议相比,更大的用户群体更多地与动作建议交互,但是如果与基于推断的动作建议相比,特定用户更喜欢基于推断的内容建议,则内容建议可以优先于其他建议类型。示例模型可以包括神经网络、决策树、随机森林、回归算法等。示例模型可以是(i)个体用户模型;(ii)群组模型;和/或(iii)全局模型。

在一些示例中,可以组合三个模型(启发式模型、全局模型、个体模型),使得模型可以具有层次结构。因此,除非个人交互数据不足,否则可以控制个体模型;在个人交互数据不足的情况下,除非全局交互数据不足,否则控制全局模型;在全局交互数据不足的情况下,利用启发式方法。

在其他示例中,每个模型可以有助于最终排名。例如,每个模型可以根据模型规则为每个建议指派固定数量的点。然后,可以根据每个模型通过使用加权求和来对基于(多个)推断的每个建议进行评分,该加权求和组合了每个建议和/或推断的点值。每个模型可以根据模型对用户偏好的感知准确度进行加权。例如,与全局模型相比,对个体模型可以加权更多,并且对全局模型和个体模型两者的加权可以比启发式模型的加权更高。权重可以基于以显式反馈为形式的用户反馈(例如,指示对建议的满意与否的GUI要素)而随时间的推移动态改变,或者基于以与基于一些推断的建议的交互(与表示满意的建议的交互)为形式的隐式反馈而动态改变。

可以基于推断和/或建议的类型(动作与内容)来计算排名,而且还可以基于实际建议内容来进行排名。例如,如果确定推断为更多的睡眠有助于认知,则建议可能是(i)早点睡觉;(ii)睡得更久;和/或(iii)睡得更晚。所有这三个都是动作建议,但是可以基于用户对这些特定动作的偏好来对这些建议进行排名。

交互组件275通过与用户交换信息(诸如由内容填充组件290确定的内容)来处理用户与建议的交互,以便执行动作建议等。动作服务292可以是日历服务、锻炼服务、饮食服务、放松服务、以及其他动作服务。

现在转向图3,示出了根据本公开的一些示例的推断生成300的数据流。相关***360可以是相关***260的示例。在一些示例中,分发组件380可以是分发组件280的示例。在一些示例中,建议生成组件385可以是建议生成组件285的示例。在一些示例中,内容填充组件390可以是内容填充组件290的示例。在一些示例中,建议排名组件295可以是建议排名组件295的示例。

如上文关于图2所指出的,组件中的所有组件或一些组件被配置为例如经由网络耦合、共享存储器、总线、交换机等来彼此通信。应当领会,每个组件可以被实现为单个组件,被组合到其他组件中,或者进一步被细分为多个组件。可以使用硬件(例如,机器的处理器)或硬件和软件的组合来实现本文中所描述的组件中的任一个或多个组件。

来自通信会话的通信文本305(其可以包括当用户与计算设备交互时生成的所有类型的隐式采集的计算机交互数据)由分发组件380处理。分发组件380向一个或多个推断模型307-310输入通信文本(或其他类型的输入)305。

作为示例,键盘输入模型307(其可以标识在通信文本305内引用的隐式采集的计算机交互数据)可以确定基于在通信文本305中引用的睡眠模式相关性的推断(例如,通过接收与击键速度有关的数据)。触摸屏输入模型308可以从通信文本305确定用户是否(以及如何)与触摸屏等进行交互(例如,通过接收与触摸屏的接触速度有关的数据)。对象交互模型309可以从通信文本305确定用户是否(以及如何)与鼠标进行交互以选择显示器等上的对象(例如,通过接收与用户选择对象的速度有关的数据,该对象在网络浏览器的搜索引擎的搜索结果中被找到)。

如图3所示,可以利用任何数目的其他模型(诸如对象模型310)来确定意图。模型307-310可以被实现为相关***360的一部分,或者可以是与相关***360通信的单独服务。如先前所指出的,模型可以是机器学习模型,其包括有监督或无监督的学习模型。示例包括神经网络、回归、自然语言处理、随机森林、决策树、决策丛林、或其他模型。

为了更好地确定推断,模型可以与诸如图2的动作服务292之类的动作服务交互,以进一步确定用户的一个或多个特性。例如,动作服务292可以是日历服务(例如,MICROSOFT

Figure BDA0002317103210000151

),该日历服务可以跟踪用户的约会和会议。这些模型可以咨询日历服务,以确定基于推断的特定建议是否与用户的特性(例如,用户的时间表)兼容。例如,如果用户在上午7点开会,则使用户睡觉不晚于上午6点的建议可能最佳。

建议生成组件385接收确定的推断并且将这些推断映射为建议。返回的推断可以包括内容以及语义含义(诸如经由小键盘等的文本输入)或者代替语义含义。例如,建议生成组件385使用数据库(诸如推断至建议映射387),该数据库可以包含可能的推断以及对应的睡眠相关建议的指示。例如,睡眠时间建议可以具有对应的日历条目建议。

在其他示例中,推断至建议映射387可以是基于规则的,而非表格,其中针对推断的值对if-then语句进行评估以确定建议。例如,如果推断是创建日历条目,则对应建议是创建日历条目。从单个推断可以产生多于一个的建议。

建议生成组件385可以与诸如图2的动作服务292之类的动作服务交互,以确定用户的一个或多个特性。例如,动作服务可以是日历服务(例如MICROSOFT

Figure BDA0002317103210000152

),该日历服务可以跟踪用户的约会和会议。建议生成组件385可以咨询日历服务以确定该建议是否与用户的特性(例如,用户的优选睡眠时间表)兼容。例如,如果用户已经很忙,则用户需要在另一时间睡觉的建议可能更好。

内容填充组件390可以采用建议并且在建议中填充内容,例如,通过联系信息服务355。内容填充还可以利用用户的简档数据392。简档数据392可以基于建议服务360的先前使用来获得,并且可以包括动作偏好、内容偏好、位置信息等。例如,简档数据392可以包括用户的睡眠偏好、饮食偏好、锻炼偏好等。

简档数据392可以特定于上下文,使得它存储针对用户(或相似的用户组)的不同上下文的偏好。例如,它可以存储用户偏好于在周末睡得更晚,但是不喜欢在工作日睡过上午7点。然后,系统可以针对工作日填充建议,而且还针对周末填充其他建议。

建议排名组件395可以对建议进行排名,并且选择建议中的一个或多个建议以发送到用户的计算设备。如所指出的,建议排名组件395可以咨询用户简档数据392和交互历史394两者,以基于全局模型以及个体模型来相对于彼此对推断和/或建议进行排名,该全局模型使用所有用户与由建议服务360分析的针对所有隐式采集的计算机交互数据的所有推断和/或建议来构建,该个体模型使用当前用户与针对该用户的所有隐式采集的计算机交互数据的推断和/或建议的交互来构建。

建议排名组件395可以建议相对于推断的所有建议,或者可以基于排名来选择相对于推断的、建议的子集以发送到用户的计算设备。例如,建议排名组件395可以选择排名最高的预定数目或百分比的高排名建议(例如,前三或前10%),并且将它们发送到用户的计算设备。在其他示例中,建议排名组件395可以确定用户的计算设备的屏幕尺寸。

建议排名组件395可以选择建议集以发送到用户的计算设备,这考虑到对建议的长度和用户的计算设备的GUI的建议区域的大小的约束,而使建议的总效用最大化。例如,排名可以被反映在若干个点中,在这些点中排名更高意味着点值更高。

在一些示例中,由建议排名组件395选择的建议可以包括不同类型的建议,例如,内容建议和动作建议。如先前所指出的,系统可以记录与给定建议的交互,并且系统可以使用该反馈来学习如何更好地对建议进行排名。在一些示例中,该反馈可以与推断模型297共享,以允许推断模型更好地学习适当的推断。因此,用户与特定建议的交互提供了关于应该如何对推断和对应建议进行排名的指示,并且提供了关于由推断模型确定的隐式采集的计算机交互数据是否正确地标识了隐式采集的计算机交互数据的推断的指示。缺少与建议的交互还指示:那些建议不会被优先考虑,以及推断模型在确定隐式采集的计算机交互数据时不正确。

现在转向图4,示出了根据本公开的一些示例的建议生成400的数据流。根据本公开的一些示例,建议服务460可以是建议服务360和260的示例。与建议410的交互由交互组件420在建议服务460处接收。

交互组件420可以通过关于建议或附加上下文的附加信息做出响应。例如,用户的优选清醒时间,附加上下文等。在一些示例中,可以从信息服务455(其可以是信息服务355、255的示例)获得该附加信息。用户可以与该附加内容进行交互,诸如通过选择工作日的清醒时间并且接收关于用户日历的更多内容。这确保了优质的用户体验,而用户无需离开用户偏好的应用的用户界面。

可以借助于简档数据492和交互历史494来创建交互和附加内容。简档数据492可以是图3的简档数据392的示例。交互历史494可以是图3的交互历史394的示例。在与建议交互时,交互组件420可以更新交互历史494,使得建议排名组件可以更新其基于用户的模型。

交互组件420可以与动作服务492交互。动作服务492可以是图2的动作服务292的示例。交互组件420可以咨询动作服务492以提供与推断和/或建议相关联的内容和交互(例如,睡眠时间表、锻炼时间表、饮食推荐等)。交互组件420还可以与动作服务492交互以实现用户选择的任何动作建议,例如,选择药物、要吃的食物、要摄取的维生素等。

图5图示了通过比较隐式采集的计算机交互数据来形成推断的方法500的流程图。方法500可以在诸如本文中所描述的设备或组件中的任一设备或组件的计算系统处实现。

在操作510处,方法、系统、机器可读介质和设备从计算设备(例如,图1的计算设备110)接收用户的一种或多种类型的隐式采集的计算机交互数据。在一些形式中,隐式采集的计算机交互数据包括键盘输入。作为另一示例,客户端设备100可以包括触摸屏,并且用户隐式采集的计算机交互数据包括用户与触摸屏的接触。

存在多种不同类型的、用户与触摸屏的接触,可以采集这些接触作为隐式采集的计算机交互数据的一部分。一些示例包括触摸屏上的滑动、平移、以及缩放移动(以及其他)。

在操作520处,本文中所描述的方法、系统、机器可读介质和设备访问先前采集的计算机交互数据的数据存储。先前获得的隐式采集的计算机交互数据与用户的睡眠模式相关(例如,通过使用相关***260、360、460)。可以从位于本文中所描述的组件中的任一组件中的数据库(例如,图2中的信息服务255或建议服务260)访问先前采集的隐式采集的计算机交互数据和对应的睡眠模式相关性。

访问相关性可以标识相关性的类型(例如,生物识别、打字速度)。可以使用任何相关性技术来生成睡眠模式相关性,例如,可以使用回归(例如,线性回归、幂回归、对数回归、指数回归等)。这些相关性可以与隐式采集的计算机交互数据存储在同一数据库中,或可以存储在不同的数据库中。

在本主题技术的一些方面中,方法、系统、机器可读介质和设备包括输入/输出组件(例如,图1中的计算设备100或移动电话、平板计算机、膝上型计算机、台式计算机、服务器等),该输入/输出组件接收隐式采集的计算机交互数据。可以接收以一个或多个事件(例如,睡觉、跑步、打字、进餐)和/或关于事件的元数据(例如,指示击键测量、光标移动、心律、跑步距离、跑步花费时间、消耗的卡路里等的元数据)为形式的隐式采集的计算机交互数据。事件及其元数据可以由用户手动录入,或者从计算设备102A、205、210、传感器或一些其他数据采集设备(例如,健身追踪器)自动接收。

在一些形式中,计算系统100从另一计算设备(即,另一计算设备上的单独数据库)检索(并且可能存储)相关性。在一些实现方式中,事件可以由计算系统、计算系统的用户或以其他方式生成(或触发)。示例计算机系统事件类型包括但不限于点击按钮、鼠标移动、文本录入(例如,打字速度和准确性)、编程关闭、调整滚动条(例如,调整的速度和准确性)、滚轮移动(例如,移动的速度和准确性)等。

计算系统可以访问指示隐式采集的计算机交互数据能够从多个不同源获得的事件。计算系统可以访问与用户以及可能的其他相似用户的事件(和对应的隐式采集的计算机交互数据)有关的信息。

根据一些示例,事件是编程语言Java或另一编程语言中的对象。它们可能来自java.util.EventObject中存储的一系列的类(或另一系列的类或不同的编程语言结构)。

在一些形式中,隐式采集的计算机交互数据可以存储有其对应的睡眠模式相关性强度的指示(例如,形式为在本文中也称为相关性值的相关性系数)。可以从包含各种类型的隐式采集的计算机交互数据的数据库中针对个体、类似于用户的个体组或整个用户群体生成睡眠模式相关性值。

作为示例,睡眠模式相关性值可以采用严重性评分的形式,严重性评分基于推断出的睡眠量与推荐的睡眠量(例如,给定用户人口统计或其他因素)之间的差异。严重性评分可以确定(i)建议动作的选择;(ii)建议内容的内容;和/或(iii)建议的措词(以及可以被包括在建议中的信息的其他信息类型)。

在操作530处,本文中所描述的方法、系统、机器可读介质和设备将用户隐式采集的计算机交互数据与先前采集的计算机交互数据进行比较(例如,通过使用图2中的相关***860)。可以由于基于网络的通信服务的用户之间的通信而生成比较。用户可以已从另一用户接收到通信,或者用户可以已将该通信发送到另一用户。

在一些实现方式中,用户的计算机隐式交互数据包括计算设备的显示器上的一个、一些或所有光标操作。作为示例,用户的光标操作可以提供与使用光标选择显示器上新呈现的对象所花费的时间量有关的输入。

在一些形式中,新呈现的对象可以是显示器上的多个新呈现的对象的一部分。因此,从多个对象中选择新对象所花费的时间量可以提供与睡眠模式有关的强相关性。

另外,基于比较来推断用户的睡眠模式可以包括:基于新呈现的对象在多个新呈现的对象内的位置来推断。作为示例,从当前选择到先前选择以从多个对象中选择新对象的距离可以提供附加因素,该附加因素证明与睡眠模式有关的强相关性。

可以将通信提交给分析睡眠模式相关性的不同模型。分析相关性的模型中的每个模型(如参考图2至图4所描述的)可以在一个或多个计算设备上执行。

比较可以基于与用户相关联的事件、与该用户相似的用户群体、或整个用户群体。因此,每个用户可以具有他们自己不同的个性化睡眠模式相关性。可以随时间的推移从与基于网络的通信服务的交互和与用户的一个或多个计算系统上的其他应用的交互中学习关于特定用户的相关性值。

睡眠模式相关性可以按照相关性的感知强度(例如,更接近1或-1的相关性系数比0的相关性系数强)进行排名。与尝试辨别一般相关性的一般模型相比,利用许多不同的模型来确定睡眠模式相关性可能更准确。

在操作540处,本文中所描述的方法、系统、机器可读介质和设备基于比较来推断用户的睡眠模式。作为示例,可以通过使用推断模型297(如图2所示)来推断用户的睡眠模式。在一些形式中,推断用户的睡眠方式包括:基于连续键盘输入之间的时间来推断。作为示例,推断用户的睡眠模式可以包括:基于至少三次键盘输入的连续键盘输入之间的平均时间来推断。

在一些示例中,机器学习分类算法(例如,多类逻辑回归算法、多类神经网络、多类决策森林等)可以基于睡眠模式相关性来学习适当的推断。机器学习算法可以利用训练数据,以便基于隐式采集的计算机交互数据与睡眠模式相关性之间的、所学习的关系来标识适当的推断。

在一些形式中,启发式模型可以基于推断的类型来设置优先级排序。推断模型可以基于用户交互和隐式采集的计算机交互数据的类型来修改这些规则。在其他示例中,可以利用其他机器学习模型,诸如逻辑回归、线性回归、神经网络、决策树、决策森林等。可以最初使用启发式模型训练这些模型,然后可以首先使用全局交互数据、继而使用用户特定的交互数据来完善模型。

从启发式方法集开始,系统的初始用户可以体验基线排名表现,然后该基线排名表现由全局用户库以及用户自己的偏好和选择来训练。个体和系统范围的隐式采集的计算机交互数据两者的使用都可以提供大量的训练数据,以提高模型的准确性。依据所获得的个性化的隐式采集的计算机交互数据的量,可以在训练模型时对某些隐式采集的计算机交互数据进行更大的加权,以针对用户定制推断的排名。

方法500可以进一步包括操作550,其中本文中所描述的方法、系统、机器可读介质和设备呈现对睡眠模式的指示。如图1所示,根据本公开的一些示例,示出了GUI(例如,图1中的GUI界面106)由基于网络的通信服务的基于网络的通信应用(例如,图2中的GUI组件230)产生。

在一些形式中,计算系统100使用显示器104上的个性化建议区域110A中的GUI要素基于从睡眠模式相关性生成的推断来呈现建议。计算系统100还可以向用户提供各种隐式采集的计算机交互数据如何影响睡眠模式相关性值的报告。在一些示例中,包含建议的GUI要素可以是适合GUI 106上的个性化建议区域110A的按钮。另外,某些建议可以以某种方式(例如,通过突出显示)潜在地与其他建议区分开。

在一些形式中,可以通过个人数字助理(例如,来自)来递送(多个)个性化建议。例如,如图1所示,GUI 106可以经由显示设备104向用户130呈现用户界面。用户界面可以是在客户端设备110中的一个或多个客户端设备上执行的各种应用(诸如可以是例如网页浏览器的应用110A、或可以是例如媒体/视频播放器的应用110B)的图形描绘。

这种或这些应用还可以包括或反映各种内容要素。这种内容要素可以是例如字母数字字符或字符串、单词、文本、图像、媒体(例如,视频)和/或可以经由显示器104显示、描绘或以其他方式呈现的任何其他电子或数字内容。

作为示例,一般而言,GUI 106可以通过被动地做出关于获得更多睡眠的建议来向客户端设备110中的一个或多个客户端设备上的用户130呈现睡眠模式的指示。作为另一示例,GUI 106可以通过在可能更需要干预的特定情况下主动警告用户(例如,驾驶之前经由对用户疲劳的警告的警示)来在客户端设备110中的一个或多个客户端设备上向用户130呈现睡眠模式的指示。

可以预期本文中所描述的方法、系统、机器可读介质和设备的其他形式,其中基于隐式采集的计算机交互数据来确定除睡眠模式相关性之外的其他类型的相关性。作为示例,本文中所描述的相关***(例如,参见图2和图3中的相关***260、360)可以分析隐式采集的计算机交互数据以形成关于其他类型的生理模式(个体或集体)的相关性和对应推断。其他示例生理模式包括与应激、神经退行性疾病、认知障碍和睡眠障碍(不仅仅是睡眠不足)有关的模式。除了本文中所描述的相关性之外,还可以设想其他类型的相关性。

为了保护用户隐私,可以提供用于用户准许和选择加入或选择退出的图形用户界面(GUI),以允许用户同意或约束对个人信息的采集。在一些示例中,这些GUI可以允许用户删除先前采集的信息或对采集的信息的类型和内容设置约束。

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

在一些实施例中,可以机械地、电子地或其任何合适的组合来实现硬件组件。例如,硬件组件可以包括专用电路或逻辑,其永久性地被配置为执行某些操作。例如,硬件组件可以是专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件组件还可以包括可编程逻辑或电路,其由软件临时配置以执行某些操作。例如,硬件组件可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过这种软件进行配置,硬件组件就变成为执行所配置的功能而专门定制的特定机器(或机器的特定组件),并且不再是通用处理器。应当领会,对于以机械方式、以专用并且永久配置的电路、或是以临时配置(例如,由软件配置)的电路来实现硬件组件的决策可以由成本和时间考虑因素来驱动。

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

硬件组件可以向其他硬件组件提供信息并且从其他硬件组件接收信息。因而,所描述的硬件组件可以被看作可通信耦合。在多个硬件组件共存的情况下,可以通过硬件组件中的两个硬件组件之间或更多个硬件组件之间(例如,通过适当的电路和总线)的信号传输来实现通信。在其中在不同时间配置或实例化多个硬件组件的实施例中,可以例如通过在多个硬件组件可以访问的存储器结构中存储和检索信息来实现这种硬件组件之间的通信。例如,一个硬件组件可以执行操作,并且将该操作的输出存储在其可通信耦合到的存储器设备中。然后,又一硬件组件可以稍后访问存储器设备以检索和处理所存储的输出。硬件组件还可以发起与输入或输出设备的通信,并且可以对资源(例如,信息汇集)进行操作。

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

同样,本文中所描述的方法可以至少部分地由处理器实现,其中一个或多个特定处理器是硬件的示例。例如,方法的操作中的至少一些操作可以由一个或多个处理器或处理器实现的组件执行。而且,一个或多个处理器还可以在“云计算”环境中或作为“软件即服务”(SaaS)来操作以支持相关操作的性能。例如,操作中的至少一些操作可以由计算机组(作为包括处理器的机器的示例)执行,其中这些操作能够经由网络(例如,互联网)和一个或多个适当的接口(例如,API)访问。

操作中的某些操作的执行可以分布在处理器之间,不仅驻留在单个机器内,而且可以跨若干个机器部署。在一些示例实施例中,处理器或处理器实现的组件可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器场内)。在其他示例实施例中,处理器或处理器实现的组件可以跨若干个地理位置分布。

本技术的一些方面涉及采集关于用户的个人信息。应当指出,在从用户接收到针对采集并且存储这类信息的肯定同意之后,采集关于用户的个人信息。向用户提供持久性提醒(例如,应用内的电子邮件消息或信息显示),以通知用户其信息正在被采集和存储。每当用户访问应用时或者在每个阈值时间段(例如,每周的电子邮件消息)中,都可以提供持久提醒。比如,可以在用户的移动设备上向用户显示箭头符号,以通知用户正在跟踪他/她的全球定位系统(GPS)位置。个人信息以安全方式被存储,以确保不会发生未经授权的信息访问。例如,可以以符合健康保险流通和责任法案(HIPAA)的方式存储医学和健康相关信息。

示例机器和软件体系架构

在一些实施例中,结合图1至图5所描述的组件、方法、应用等在机器和相关联的软件体系架构的上下文中实现。以下各节描述了适合与所公开的实施例一起使用的(多个)代表性软件体系架构和(多个)机器(例如,硬件)体系架构。

软件体系架构与硬件体系架构结合使用,以创建针对特定目的而定制的设备和机器。例如,与特定软件体系架构相耦合的特定硬件体系架构将创建移动设备,诸如移动电话、平板设备等。略有不同的硬件和软件体系架构可能会产生用于“物联网”的智能设备,而又一组合产生用于云计算体系架构的服务器计算机。由于本领域技术人员可以容易理解如何在与本文中包含的公开内容不同的上下文中实现本发明的主题,因此本文中没有呈现这种软件和硬件体系架构的所有组合。

图6是图示了根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文中所讨论的方法中的任一个或多个方法的机器600的组件的框图。具体而言,图6以计算机系统的示例形式示出了机器600的示意性表示,在该计算机系统内,可以执行用于使机器600执行本文中所讨论到方法中的任一个或多个方法的指令616(例如,软件、程序、应用、小应用、app或其他可执行代码)。指令616将通用、未编程的机器转换为被编程为以所描述的方式执行所描述和图示的功能的特定机器。在备选实施例中,机器600作为独立设备操作,或者可以耦合(例如,联网)到其他机器。在网络部署中,机器600可以在服务器-客户端网络环境中以服务器机器或客户端机器的性能来操作,或者在对等(或分布式)网络环境中作为对等机器操作。机器600可以包括但不限于服务器计算机、客户端计算机、PC、平板计算机、膝上型计算机、上网本、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴式设备(例如,智能手表)、智能家居设备(例如,智能家电)、其他智能设备、网络设施、网络路由器、网络交换机、网桥、或能够依次或以其他方式执行指令616(其指定机器600所要采取的动作)的任何机器。进一步地,虽然仅图示了单个机器600,但术语“机器”也应当视为包括单独地或共同地执行指令616以执行本文中所讨论的方法中的任一个或多个方法的机器600的汇集。

机器600可以包括处理器610、存储器/存储630、以及I/O组件650,它们可以被配置为诸如经由总线602彼此通信。在示例实施例中,处理器610(例如,中央处理器(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、无线电频率集成电路(RFIC)、另一处理器、或其任意合适的组合)可以包括例如可以执行指令616的处理器612和处理器614。术语“处理器”旨在包括多核处理器,该多核处理器可以包括可以同时执行指令的两个或更多个独立处理器(有时称为“核”)。尽管图6示出了多个处理器610,但是机器600可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或其任何组合。

存储器/存储630可以包括诸如主存储器或其他存储器存储之类的存储器632、以及存储单元636,存储器632和存储单元636两者都能够诸如经由总线602被处理器610访问。存储单元636和存储器632存储体现本文中所描述的方法或功能中的任一个或多个方法或功能的指令616。指令616还可以在由机器600执行指令616期间,全部或部分地驻留在存储器632内、在存储单元636内、在处理器610中的至少一个处理器内(例如,在处理器的高速缓存存储器内)、或其任何合适的组合。因而,存储器632、存储单元636和处理器610的存储器是机器可读介质的示例。

如本文中所使用的,“机器可读介质”意指能够临时或永久存储指令(例如,指令616)和数据的设备,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存、光学介质、磁性介质、高速缓存存储器、其他类型的存储(例如,可擦除可编程只读存储器(EEPROM))、和/或其任何合适的组合。术语“机器可读介质”应当认为包括能够存储指令616的单个介质或多个介质(例如,集中式数据库或分布式数据库或相关联的高速缓存和服务器)。术语“机器可读介质”还应当视为包括能够存储以供由机器(例如,机器600)执行的指令(例如,指令616)的任何介质或多种介质的组合,使得这些指令当由机器的一个或多个处理器(例如,处理器610)执行时,使机器执行本文中所描述的方法中的任一个或多个方法。因而,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。术语“机器可读介质”本身不包括信号。

I/O组件650可以包括很多种组件,以接收输入、提供输出、产生输出、传输信息、交换信息、捕获测量等等。被包括在特定机器中的特定I/O组件650将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他这样的输入机构,而无头服务器机器不可能包括这种触摸输入设备。应当领会,I/O组件650可以包括图6中未示出的许多其他组件。根据功能对I/O组件650进行分组,仅是为了简化以下讨论,并且分组不是限制性的。在各种示例实施例中,I/O组件650可以包括输出组件652和输入组件654。

输出组件652可以包括视觉组件(例如,显示器,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线电子管(CRT))、声学组件(例如,扬声器)、触觉组件(例如,振动电机、阻力机构)、其他信号发生器等。

输入组件654可以包括字母数字输入组件(例如,键盘、被配置为接收字母数字输入的触摸屏、光电键盘、或其他字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器、或其他指向仪器)、触感输入组件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏或其他触感输入组件)、音频输入组件(例如,麦克风)等。

在其他示例实施例中,I/O组件650可以包括众多其他组件中的生物识别组件656、运动组件658、环境组件660或位置组件662。例如,生物识别组件656可以包括用于检测表达(例如,手表达、面部表达、语音表达、身体姿势、或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水、或脑电波)、测量锻炼相关的度量(例如,移动距离、移动速度、或锻炼所花费的时间)、标识人(例如,语音标识、视网膜标识、面部标识、指纹标识、或基于脑电图的标识)等等。运动组件658可以包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。

环境组件660可以包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如,气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、接近传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,气体检测传感器,用于检测有害气体浓度以确保安全或测量大气中的污染物)、或可以提供与周围物理环境相对应的指示、测量或信号的其他组件。

定位组件662可以包括位置传感器组件(例如,全球定位系统(GPS)接收器组件)、高度传感器组件(例如,检测气压的高度计或气压计,可以从该气压导出高度)、方位传感器组件(例如,磁力计)等。

可以使用很多种技术来实现通信。I/O组件650可以包括通信组件664,该通信组件664可操作以分别经由耦合682和耦合662将机器600耦合到网络680或设备660。例如,通信组件664可以包括网络接口组件或与网络680接口接合的其他合适设备。在进一步的示例中,通信组件664可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、

Figure BDA0002317103210000291

组件(例如,

Figure BDA0002317103210000292

LowEnergy)、

Figure BDA0002317103210000293

组件、以及经由其他形式提供通信的其他通信组件。设备660可以是另一机器或很多种***设备中的任一***设备(例如,经由USB耦合的***设备)。

而且,通信组件664可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件664可以包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件或声学检测组件(例如,用于标识标记的音频信号的麦克风)。另外,可以经由通信组件664导出多种信息,诸如经由互联网协议(IP)地理位置定位、经由

Figure BDA0002317103210000294

信号三角测量定位、经由检测可以指示特定位置的NFC信标信号的定位等。

在各种示例实施例中,网络680的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、WAN、无线WAN(WWAN)、城域网(MAN)、互联网、互联网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、

Figure BDA0002317103210000295

网络、另一类型的网络、或两个或更多个这种网络的组合。例如,网络680或网络680的一部分可以包括无线网络或蜂窝网络,并且耦合682可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接、或其他类型的蜂窝或无线耦合。在该示例中,耦合682可以实现多种类型的数据传输技术中的任一数据传输技术,诸如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、GSM演进增强型数据速率(EDGE)技术、包括3G在内的第三代合作伙伴计划(3GPP)、***无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准制定组织定义的其他标准、其他远程协议、或其他数据传输技术。

可以经由网络接口设备(例如,通信组件664中包括的网络接口组件)使用传输介质并且可以利用若干种众所周知的传输协议中的任一协议(例如,HTTP)在网络680上传输或接收指令616。同样,可以经由耦合662(例如,对等耦合)使用传输介质向设备660传输或接收指令616。术语“传输介质”应当被认为包括任何无形介质,该无形介质能够存储、编码或携带用于由机器600执行的指令616,并且术语“传输介质”应当被认为包括数字或模拟通信信号或其他无形介质以促进这种软件的通信。

27页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:光体积描记图形数据的可靠获取

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!