优先权
本申请要求于2019年12月3日在美国专利商标局提交的美国临时专利申请第62/942,936号的优先权,其全部公开内容通过引用合并于本文中。
本发明的实施例通常涉及用于确定软件的用户是否正在积极地参与软件应用程序以及与软件应用程序交互的装置。这样的软件可以包括在智能手机、平板电脑等电子设备上运行的应用程序。
背景技术:
一些用户可能在没有适当的注意和/或充分参与的情况下使用某些软件,例如智能手机、平板电脑或其他设备上的应用程序。例如,应用程序或其他软件的用户可能没有仔细阅读提示,没有仔细选择其响应,没有关注他们的屏幕上可能出现的任何图像或情节,没有及时响应提示或问题,没有对这样的提示或问题进行太快地响应,未仔细阅读提示或问题就响应提示或问题,等等。
然而,特别重要的是让用户参与其中,特别是在医学专业人员和/或其他临床医生推荐和/或规定使用此类软件来诊断或治疗某些状况,例如失眠或戒烟时,尤为重要。
因此,可取的是提供用于确定某些软件的用户是否按照其医学专业人员和/或临床医生的指示积极参与软件应用程序并与之交互的装置、系统和方法。
附图说明
图1显示了可以实现本发明实施例的一个或多个方面的分布式计算机系统的框图;
图2显示了可以实现本发明实施例的一个或多个方面的电子设备的框图;
图3a至图3f示出了可以实现本发明实施例的一个或多个方面的源代码;
图4a至图4e示出了根据本发明实施例的一个或多个方面的流程图;
图5a是示出本发明的实施例的学习进度的学习图;
图5b是示出实现根据本发明实施例的算法的神经网络算法的神经元之间的关系的图;以及
图6a至图6b示出了可以实现本发明实施例的一个或多个方面的电子设备上的输入和处理。
虽然参考以上附图描述了本发明,但是附图仅是示例性的,并且在本发明的精神内,本发明考虑了其他实施例。
具体实施方式
现在将在下文中参考附图更全面地描述本发明,这些附图以说明的方式示出了可以实践本发明的特定实施例。然而,本发明可以以许多不同的形式来实施,并且不应被解释为限于在此阐述的实施例;相反,提供这些实施例是为了使本公开透彻和完整,并将本发明的范围充分传达给本领域技术人员。除其他以外,本发明可以体现为设备或方法。因此,本发明可以采取完全的硬件实施例、完全的软件实施例或结合软件和硬件方面的实施例的形式。因此,下面的详细描述不应被认为是限制性的。
在说明书和权利要求书中,除非上下文另外明确指出,否则以下术语具有本文明确关联的含义。这里使用的短语“在一个实施例中”、“在实施例中”等不一定指同一实施例,尽管可能指同一实施例。此外,本文使用的短语“在另一实施例中”也不一定指不同的实施例,尽管可能指不同的实施例。因此,如下所述,在不脱离本发明的范围或精神的情况下,可以容易地组合本发明的各种实施例。
此外,如这里所用,术语“或”是包含“或”的运算符,并且等同于术语“和/或”,除非上下文另外明确指出。术语“基于”不是排他的,并且允许基于未描述的额外因素,除非上下文另有明确规定。另外,在整个说明书中,“一个”、“一种”和“该”的含义包括复数引用。“在...中”的含义包括“在...内”和“在...上”。
要注意的是,这里的描述不旨在作为广泛的概述,因此,为了清楚和简洁起见,可以简化概念。
本申请中提及的所有文件均通过参考全文并入本文。本申请中描述的任何过程可以以任何顺序执行,并且可以省略该过程中的任何步骤。流程也可以与其他流程或其他流程的步骤组合。
图1显示了可以在其中实施本发明环境的一个实施例的组件。并非需要所有组件来实施本发明,并且可以在不脱离本发明的精神或范围的情况下对组件的布置和类型进行改变。如图所示,系统100包括一个或多个局域网(“lan”)/广域网(“wan”)112、一个或多个无线网络110、一个或多个有线或无线客户端设备106、移动客户端设备或其他无线客户端设备102-105、服务器107-109,并且可以包括一个或多个数据存储仓库或数据库或与之通信。各种客户端设备102-106可以包括例如台式计算机、手提计算机、机顶盒、平板电脑、手机、智能电话、智能扬声器、可穿戴设备(例如苹果手表(applewatch))等。服务器107-109可以包括例如一个或多个应用服务器、内容服务器、搜索服务器等。图1还显示了应用托管服务器113。
图2显示了根据本发明的一个实施例的可以实现用于确定用户参与度的装置、系统和方法(“引擎”)的一个或多个方面的电子设备200的框图。电子设备200的实例可以包括服务器,例如服务器107-109,以及客户端设备,例如客户端设备102-106。通常,电子设备200可以包括处理器/cpu202、存储器230、电源206以及输入/输出(i/o)组件/设备240,例如麦克风、扬声器、显示器、触摸屏、键盘、鼠标、小键盘,显微镜、gps组件、相机、心率传感器、光传感器、加速度计、目标生物识别传感器等,例如可以是可操作的,以提供图形用户界面或文本用户界面。
用户可以经由电子设备200的触摸屏来提供输入。触摸屏可以通过例如确定用户是否正在用用户身体的一部分,例如他或她的手指触摸触摸屏来确定用户是否正在提供输入。电子设备200还可包括连接电子设备200的前述元件的通信总线204。网络接口214可包括接收器和发射器(或收发器)以及用于无线通信的一个或多个天线。
处理器202可以包括一个或多个任何类型的处理设备,例如,中央处理单元(cpu)和图形处理单元(gpu)。同样,例如,处理器可以是中央处理逻辑或其他逻辑,可以包括硬件、固件、软件或其组合,以执行一个或多个功能或动作,或在一个或多个其他组件中引起一个或多个功能或动作。而且,基于期望的应用或需求,中央处理逻辑或其他逻辑可以包括例如软件控制的微处理器、离散逻辑,例如专用集成电路(asic)、可编程/编程逻辑设备、包含指令等的存储设备或以硬件体现的组合逻辑。此外,逻辑也可以完全体现为软件。
存储器230可以包括随机存取存储器(ram)212和只读存储器(rom)232,可以通过由一个或多个任意类型的存储器设备,例如主存储设备(可由cpu直接访问)或辅助存储设备(可由cpu间接访问)(例如闪存,磁盘,光盘等)启用。ram可以包括操作系统221、可包括一个或多个数据库的数据存储区224,以及可以包括例如程序223的软件方面的程序和/或应用程序222。rom232还可以包括电子设备的基本输入/输出系统(bios)220。
程序223的软件方面旨在广泛地包括或代表实现或促进根据本发明的实施例的方法和系统所必需的所有程序编制、应用、算法、模型、软件和其他工具。元件可以存在于单个计算机上,也可以分布在多个计算机、服务器、设备或实体之间。
电源206包含一个或多个电源组件,并有助于向电子设备200供电和管理电源。
包括输入/输出(i/o)接口240的输入/输出组件可以包括例如用于促进电子设备200的任何组件、外部设备的组件(例如,网络或系统100的其他设备的组件)与最终用户之间的通信的任何接口。例如,这样的组件可以包括网卡,该网卡可以是接收器、发射器、收发器和一个或多个输入/输出接口的集成。例如,网卡可以促进与网络的其他设备的有线或无线通信。在无线通信的情况下,天线可以促进这种通信。另外,一些输入/输出接口240和总线204可以促进电子设备200的组件之间的通信,并且在示例中可以简化由处理器202执行的处理。
在电子设备200是服务器的情况下,其可以包括计算设备,该计算设备能够例如经由有线或无线网络发送或接收信号,或者能够处理信号或将信号存储在例如存储器中,作为物理存储器状态。该服务器可以是应用服务器,该应用服务器包括将一个或多个应用程序,例如引擎方面,经由网络提供给另一个设备的配置。而且,应用服务器可以例如托管一个网站,该网站可以提供用于管理引擎的示例方面的用户接口。
能够通过有线和/或无线网络发送、接收和处理数据的任何计算设备都可以充当服务器,例如在促进引擎的实现方面。因此,充当服务器的设备可以包括例如专用的机架式服务器、台式计算机、手提计算机、机顶盒、结合了一个或多个前述设备的集成设备等设备。
服务器的配置和功能可能有很大不同,但它们通常包括一个或多个中央处理单元、存储器、海量数据存储、电源、有线或无线网络接口、输入/输出接口以及例如windowsserver、macosx、unix、linux、freebsd等的操作系统。
服务器可以包括例如被配置为经由一个或多个网络向另一设备提供数据或内容或包括经由一个或多个网络向另一设备提供数据或内容的配置的设备,例如以促进引擎的示例性装置、系统和方法的方面。例如,一个或多个服务器可用于托管web站点,例如网站www.microsoft.com。一个或多个服务器可以托管各种站点,例如商业站点、信息站点、社交网站、教育站点、wiki、金融站点、政府站点、个人站点等。
服务器还可以例如提供各种服务,例如web服务、第三方服务、音频服务、视频服务、电子邮件服务、http或https服务、即时消息(im)服务、短消息服务(sms)服务、多媒体消息传递服务(mms)服务、文件传输协议(ftp)服务、ip语音(voip)服务、日历服务、电话服务等,所有这些都可以与用于体现引擎的装置、系统和方法的示例系统和方法的示例性方面结合使用。内容可以包括例如文本、图像、音频、视频等。
在体现引擎的装置、系统和方法的示例方面,客户端设备可以包括例如能够通过有线和/或无线网络发送和接收数据的任何计算设备。此类客户端设备可能包括台式计算机以及便携式设备,例如蜂窝电话、智能电话、显示寻呼机、射频(rf)设备、红外(ir)设备、个人数字助理(pda)、手持计算机、支持gps的设备平板计算机、配备传感器的设备、手提计算机、机顶盒、可穿戴计算机(如applewatch和fitbit)、结合了一个或多个前述设备的集成设备等。
可以在体现引擎的示例装置、系统和方法中使用的例如客户端设备102-106的客户端设备可以在性能和特征方面广泛地变化。例如,蜂窝电话、智能电话或平板电脑可能具有数字小键盘和几行单色液晶显示器(lcd)显示,在其上只能显示文本。在另一个示例中,支持web的客户端设备可以具有物理或虚拟键盘、数据存储(例如闪存或sd卡)、加速度计、陀螺仪、呼吸传感器、身体运动传感器、接近传感器、运动传感器、环境光传感器、湿度传感器、温度传感器、指南针、气压计、指纹传感器、使用相机的面部识别传感器、脉冲传感器、心率变异性(hrv)传感器、每分钟心跳数(bpm)心率传感器、麦克风(声音传感器)、扬声器、gps或其他位置感知功能,以及可以在其上显示文本和图形的2d或3d触敏彩色屏幕。在一些实施例中,可以使用多个客户端设备来收集数据组合。例如,智能电话可以用于通过加速度计和/或陀螺仪收集运动数据,而智能手表(例如applewatch)可以用于收集心率数据。多个客户端设备(例如智能电话和智能手表)可以通信地耦合。
例如,在实现引擎的示例装置、系统和方法中使用的客户端设备,例如客户端设备102-106可以运行各种操作系统,包括例如windows、ios或linux之类的个人计算机操作系统,以及例如ios、android、windowsmobile等之类的移动操作系统。客户端设备可以用于运行被配置为从另一计算设备发送或接收数据的一个或多个应用程序。客户端应用程序可以提供和接收文本内容、多媒体信息等。客户端应用程序可以执行例如浏览网页,使用web搜索引擎,与智能电话上存储的各种应用程序交互,通过电子邮件,sms或mms发送和接收消息,玩游戏(例如幻想体育联盟),接收广告,观看本地存储或流式传输的视频,或参与社交网络。
在实现引擎的装置、系统和方法的示例方面,例如,一个或多个网络,例如网络110或112可以将服务器和客户端设备与其他计算设备耦合,包括通过无线网络耦合到客户端设备。可以使网络能够采用任何形式的计算机可读介质来将信息从一个电子设备传送到另一电子设备。计算机可读介质可以是非暂时性的。除了局域网(lan)、广域网(wan)、例如通过通用串行总线(usb)端口的直接连接、其他形式的计算机可读介质(计算机可读存储器)或它们的任何组合之外,网络还可以包括因特网。在一组互连的lan上,包括基于不同体系结构和协议的一组互连的lan上,路由器充当lan之间的链路,可以将数据从一个lan发送到另一个lan。
lan内的通信链路可以包括双绞线或同轴电缆,而网络之间的通信链路可以利用模拟电话线路、电缆线路、光线路、包括t1,t2,t3和t4的完整或部分专用数字线路、集成服务数字网络(isdn)、数字用户线路(dsl)、包括卫星链路的无线链路、光纤链路或本领域技术人员已知的其他通信链路。此外,远程计算机和其他相关电子设备可以通过调制解调器和电话链路远程连接到lan或wan。
如在实现引擎的示例装置、系统和方法中的诸如无线网络110的无线网络可以将设备与网络耦合。无线网络可以采用独立的自组织网络、网状网络、无线lan(wlan)网络、蜂窝网络等。
无线网络可以进一步包括通过无线电链路等连接的终端、网关、路由器等的自治系统。这些连接器可以被配置为自由且随意地移动并且任意地组织它们自己,使得无线网络的拓扑可以快速改变。无线网络可以进一步采用多种接入技术,包括第二代(2g)、第三代(3g)、第四代(4g)、用于蜂窝系统的长期演进(lte)无线电接入、wlan、无线路由器(wr)网格等。例如2g、2.5g、3g、4g的接入技术以及未来的接入网络可以为客户端设备,例如具有各种移动性的客户端设备实现广域覆盖。例如,无线网络可以通过例如全球移动通信系统(gsm)、通用移动电信系统(umts)、通用分组无线业务(gprs)、增强型数据gsm环境(edge)、3gpp长期演进(lte)、lte高级、宽带码分多址(wcdma)、蓝牙、802.11b/g/n等之类的无线网络接入技术来实现无线连接。无线网络实际上可以包括任何无线通信机制,通过该机制,信息可以在客户端设备与其他计算设备、网络等之间传播。
因特网协议(ip)可以用于在参与数字通信网络的网络上传输数据通信包,并且可以包括例如tcp/ip、udp、decnet、netbeui、ipx、appletalk等协议。因特网协议的版本包括ipv4和ipv6。因特网包括局域网(lan)、广域网(wan)、无线网络和长途公共网络,它们可以允许在局域网之间传送包。包可以在网络中的节点之间传输到站点,每个站点具有唯一的本地网络地址。可以经由连接到因特网的接入节点通过因特网从用户站点发送数据通信包。如果目标站点的站点地址包含在包的标头中,则可以通过网络节点将包转发给连接到网络的任何目标站点。可以通过由网关和服务器确定的路径来路由在因特网上通信的每个包,网关和服务器根据目标地址和连接到目标站点的网络路径的可用性来切换包。
包的标头可以包括,例如,源端口(16位)、目标端口(16位)、序列号(32位)、确认号(32位)、数据偏移量(4位)、保留(6位)、校验和(16位)、紧急指针(16位)、选项(长度为8位的倍数中可变的位数)、填充(可以由全零组成,并且包括一些位数,使得标头以32位边界结束)。以上每个的位数也可以更高或更低。
可以在实现引擎的示例装置、系统和方法中使用的“内容交付网络”或“内容分发网络”(cdn)通常是指一种分布式计算机系统,该系统包括通过一个或多个网络、以及旨在促进诸如代表内容提供者的内容、流媒体和应用程序的存储、缓存或传输等各种服务的软件、系统、协议和技术链接的自治计算机的集合。此类服务可以利用辅助技术,包括但不限于“云计算”、分布式存储、dns请求处理、配置、数据监视和报告、内容定位、个性化和商业智能。cdn还可以使实体代表第三方完全或部分地操作和/或管理第三方的网站基础结构。
点对点(p2p)计算机网络主要依赖网络中参与者的计算能力和带宽,而不是将其集中在给定的专用服务器集合中。p2p网络通常用于通过主要的临时节点来连接节点。纯粹的点对点网络没有客户端或服务器的概念,而只有同等的对等节点,它们同时充当网络上其他节点的“客户端”和“服务器”。
本发明的实施例包括实现引擎的装置、系统和方法。本发明的实施例可以在一个或多个客户端设备102-106上实现,客户端设备102-106通信地耦合到包括服务器107-109的服务器。此外,客户端设备102-106可以通信地(无线地或有线地)彼此耦合。特别地,引擎的软件方面可以在程序223中实现。程序223可以在一个或多个客户端设备102-106、一个或多个服务器107-109和113或一个或多个客户端设备102-106与一个或多个服务器107-109和113的组合中实现。
可以至少部分地在程序223中实现的本发明的实施例涉及用于确定软件的用户是否积极地参与软件应用程序并与软件应用程序交互的装置、系统和方法。
根据处方服用药品时最有可能提供有益的结果,患者对于临床医生所开处方的医学治疗的依从性/遵守是临床试验和现实世界中的既定问题。
其中患者依从性/遵守很重要的另一种治疗形式是由与例如智能手机、平板电脑、笔记本电脑等的电子设备的交互组成或包括与之的交互的治疗形式(即数字疗法(dtx))。这种治疗可以补充或可以替代药物治疗。例如,如果患者沉迷于吸烟,则临床医生可以开出与监视患者吸烟或者以其他方式就吸烟与患者进行交互的电子设备上运行的软件进行交互的治疗的处方。
例如,软件可以通过使用电子设备的位置服务(例如gps接收器和相关软件)来确定用户的位置。如果软件确定用户位于用户和/或整体人口和/或用户受众特征处于更可能吸烟的位置,则软件可以采取某些措施,例如激活摄像头、激活麦克风、激活可以确定存在烟雾的传感器、通过在电子设备的屏幕上生成消息来提醒用户不要吸烟、通过在数字设备的屏幕上生成消息(包括应答提示)来询问用户是否正在吸烟、用预先记录的消息呼叫用户等等。
但是,已被开处方进行这种治疗的人可能只是点击任何提示语,因此不会提供积极的结果。此外,仅点击或不积极参与就不能提供有关治疗功效的准确结果。例如,用户可以轻松地点击活动,对于用户从未真正完成的活动回答“是”或“完成”(用户实际上未阅读提示、用户未执行任务,等等)。
本发明的实施例通过例如在用户浏览应用程序的模块时测量其点击速度来测量给定治疗的遵守性。为了缩小遵守和参与之间的差距,本发明的实施例包括用于基于用户人口统计、点击速度和基准用户习惯来个性化依从性补救技术的算法。
总而言之,根据本发明的某些实施例,当用户开始比某些预定阈值更快或更慢地点击时,警报和消息将出现在应用中,以便:(1)引起用户的注意;(2)警告用户该软件正在监视他们的行为,因为当用户认为他们正在被监视时,他们通常会更依从;(3)鼓励用户改正他们的行为以更积极地与该软件互动。这样可以使用户更加依从并获得更成功的治疗。
更具体地说,一旦给用户开了治疗处方(即,与在例如智能手机的电子设备上运行的dtx、软件/应用进行交互),则用户将首先输入基本的人口统计信息(例如年龄、体重、位置、健康状况历史等)。在治疗的前两(2)(或1或3或4)周内,该软件会首先记录基准用户习惯。然后,这些输入将用于监视治疗过程中的阈值限制。如果超过了阈值(例如,用户的点击速度高于或低于该用户的定义的个人限制),则该软件将部署应用内警报和消息,以鼓励用户更多地使用该产品。
将从消息、警报和教育信息的库/数据库中访问应用程序内警报和消息,消息、警报和教育信息的库/数据库存储在电子设备或与电子设备通信耦合的例如服务器的另外的设备上。软件会评估用户对应用程序的响应(即,确定警报是否有效以及用户是否或多或少地参与其中),如果应用程序确定已超过阈值,则将持续使用类似类型的警报来促进用户参与治疗。另一方面,如果软件确定警报无效,则将从库/数据库中选择不同的警报,以确定其他警报在更改用户行为方面是否可能更有效。
以下内容提供了用于确定软件用户是否积极参与软件应用程序并与之交互的有关软件的更多细节。
为了量化用户的参与度,本发明的一个实施例首先基于从人口统计学问题收集的信息来创建用户简档,并在治疗的最初几周(例如,2周)内为用户计算基准点击速度(cs)值和偏差阈值(dt)。然后,软件会检测在用户与应用程序交互时计算出的cs何时偏离dt的上方或下方。当出现偏差时,用户会收到反馈,以促进依从性和对其治疗的持续参与。
当用户首次开始治疗时,会向用户询问有关他或她的年龄和身体残疾的问题。在为用户创建基准时,这些因素被认为是相关的,因为它们可能影响用户与移动应用程序交互的速度。例如,如果用户超过55岁,患有可能影响其灵活性的身体残疾(例如脑或脊髓损伤、脑瘫、关节炎等),那么用户与移动应用程序的交互速度可能会比普通人慢。在此期间以及治疗的两周内,还会记录用户在软件中的cs。根据以下等式(1)将cs定义为时间变化:cs=tc2-tc1。
根据上述等式(1),tc2是用户点击应用程序内屏幕上的功能(例如按钮、切换键、图像等)的时间,tc1是用户首次打开该屏幕(如果tc2是用户自打开以来首次与该屏幕进行交互)的时间,或者如果该用户已经与该屏幕进行了交互,则是单击该屏幕内的另一个功能(按钮、切换键、图像等)的时间。
本发明的实施例包括与治疗有关的两种类型的程序方面:(1)任务,主要包含供用户阅读的文本和一些需要用户交互的部分的活动;(2)功能,主要包含需要用户交互的部分和一些文本的活动。由于它们的差异,由于用户与它们交互的速度可能会有所不同,因此将分别针对这两个方面追踪cs。
此外,还追踪一天中的时间,因为用户可能会根据一天中的时间表现出不同的cs值。例如,用户可能会在凌晨3点而不是下午3点更加疲倦。因此,有必要追踪一天中的时间并将该一天中的时间中用户的cs与基准cs进行比较。
这两个考虑(程序方面和时间上的差异)导致为每个用户创建6个cs基准值:(1)csmm(与任务在早晨的交互的cs,或从凌晨5点至上午11:59:59之间交互的cs,包括端点);(2)csmf(在早晨与功能交互的cs);(3)csam(在下午与任务交互的cs,或从中午12点至下午5:59:59之间的交互的cs,包括端点);(4)csaf(在下午与功能交互的cs);(5)csem(在晚上/夜晚与任务交互的cs,或在下午6点至凌晨4:59:59之间与任务交互的cs,包括端点);(6)csef(在晚上/夜晚与dtx功能交互的cs)。默认情况下,每个cs基准的偏差阈值(dt)设置为5秒(更快或更慢)(即等式(2),cs的dt=cs±5秒)。但是,如果用户在其用户简档中指出了会影响其cs的因素,则可以使用以下等式(3)调整dt:
cs的dt=cs±(5*(n 0.25))秒。
根据以上等式(3),cs是点击速度基准值,n是可能影响用户响应软件提出的初始问题而在其简档中指示的点击速度的因素的数量。
例如,假设一名30岁无身体残疾的用户,具有以下cs基准值:csmm=62秒(s),2;csmf=25秒,3;csam=50秒,4;csaf=18秒,5;csem=55秒,6;csef=20秒。
因此,上述用户的dt如下:csmm的dt=62±5秒,2;csmf的dt=25±5秒,3;csam的dt=50±5秒,4;csaf的dt=18±5秒,5;csem的dt=55±5秒,6;csef的dt=20±5秒。
例如,对于csmm,应用等式(2),结果为62±5秒。
然而,如果我们有相同的cs基准值但已经60岁且患有关节炎(n=2)(即,对于55岁或以上的患者为 1,患有关节炎的患者为 1)的用户,其dt将为:csmm的dt=62±11.25秒,2;csmf的dt=25±11.25秒,3;csam的dt=50±11.25秒,4;csaf的dt=18±11.25秒,5;csem的dt=55±11.25秒,6;csef的dt=20±11.25秒。
例如,对于csmm,应用公式(3),是62±(5*(2 0.25))秒=62±11.25秒。
计算出cs基准值和dt之后,对每次用户与移动应用程序进行交互时计算出的cs值以及相关的一天中时间的dt进行比较。对于用户记录了与dt的偏差。例如,对于上面讨论的60岁患有关节炎的用户的csmm示例,假设csmm大于73.25秒或小于50.75秒,则将确定偏差并将其存储在电子设备上的数据库中或驻留在与该电子设备通信耦合的服务器上的数据库中。
在对于用户记录了预定数量(例如3)的偏差之后,确定用户没有正确地与软件互动。然后,用户接收到从库中随机选择的消息,该消息包含警告用户其行为的警报,并提供有关坚持其治疗的重要性和幽默消息的信息。
这些消息中的一些内容已针对用户表现的偏离行为(更快/更慢的点击)进行了自定义。例如,如果上面讨论的用户的cs高于73.25秒,则从数据库中选择针对慢点击速度而定制的消息。然而,如果上面讨论的用户的cs低于50.75秒,则从数据库中选择针对快点击速度而定制的消息。
然后,记录在电子设备的屏幕上显示给用户的消息的类型(例如,警报、信息或幽默)。
在向用户显示第一条此类消息之后,软件确定是否存在持续的用户参与问题。如果在下一个预定数量,例如7天的天数的范围内发生预定数量,例如3个额外的偏差,则用户接收从其他两类消息中随机选择的消息。也就是说,例如,如果最初向用户显示了从“幽默”消息中选择的消息,则将显示“信息”或“警报”消息。这样做是为了试图确定一种反馈方法,该方法将有效地促进用户的个体参与度。也就是说,如果“幽默”消息在促进用户参与上无效,则随后确定“信息”或“警报”消息是否有效。
例如,如果算法检测到用户的三个偏差,并向用户发送信息消息,例如“按处方服用药物效果最佳。同样,参与这种数字疗法对于确保您得到适当的治疗也至关重要!”,4天后,该软件检测用户的另外3个偏差,然后该用户可能会收到一条警告消息,例如“您比平常更快地完成了任务!确保您完整阅读了任务!”。
如果在发出“警报”消息后,用户的cs在接下来的7天内没有偏离dt,则该软件会记录警报消息作为用于促进参与度的有效的反馈方法。该软件还将记录“信息”消息不是促进参与度的有效的反馈方法。因此,如果用户再次开始偏离dt,则他们将收到另一个“警报”消息,因为已确定警报消息比信息消息更有效。
以上实施例通常涉及使用cs来确定用户是否充分参与。然而,可以使用其他因素来代替用户的cs或与用户的cs结合。
例如,在电子设备上运行的软件可以确定用户注视电子设备屏幕的相关部分的时间比例(即,眼睛跟踪)。例如,一些智能手机允许画中画功能,其中用户可能正在与一个应用程序交互(例如,在netflix应用程序中观看电影或电视节目),同时还与另一个应用程序(例如,临床医生开处方的应用程序)交互。在这种情况下,尽管cs可以指示用户积极地参与临床医生开处方的应用程序,但实际上用户可能已经花费了该时间的一部分参与另一应用程序。也就是说,例如,如果临床医生开处方的应用程序位于屏幕的特定部分(例如,右上象限),则该应用程序可以确定实际cs时间的80%花费在查看左上象限、左下象限和/或右下象限、与netflix之类的其他应用程序进行互动上。
为了做出上述决定,应用程序访问电子设备上的摄像头或用户附近的其他摄像头,该摄像头拍摄用户的一个或多个照片或视频,确定用户一只或两只眼睛的巩膜、虹膜、瞳孔和其他部分的位置。该软件会定期拍摄照片(例如,每1秒或0.5秒),并确定一只或两只眼睛都聚焦在其上的电子设备屏幕上的点。确定屏幕上的点后,该软件将使用电子设备提供的某些应用程序编程接口(api)来确定用户关注的应用程序。然后,该软件计算用户在临床医生开处方的应用程序上关注的点的比例。如果点的比例低于某个阈值(例如,75%),则确定用户没有与临床医生开处方的应用程序进行互动。
在另一个实施例中,电子设备上运行的软件可以拍摄多张照片以确定用户是否在运动。例如,软件可以确定用户正在跑步或从事其他活动,在该活动期间用户不太可能积极地与临床医生开处方的应用程序进行互动。
在又一个实施例中,在电子设备上运行的软件可以激活麦克风以确定可能使用户不太可能积极地与临床医生开处方的软件互动的声音。例如,在确定用户基准时,该应用程序可以记录用户的语音。然后,该应用程序可以通过激活电子设备上的麦克风来确定用户是否在讲话、其他人是否在讲话、音乐是否在播放、用户是否正在参加事件等。如果应用程序确定用户讲话的时间超过了某个比例,则该应用程序将确定偏差。
在又一个实施例中,基于机器学习的算法可以用于量化用户与在诸如智能手机的电子设备上运行的某个应用(例如,是dtx或包括dtx的应用)的互动。具体来说,为了量化用户的参与度,利用基于回归树的算法来预测用户在依赖人口统计信息的数字治疗(dtx)各个程序方面所花费的时间(ts)。然后,该算法检测特定用户的ts何时偏离高于或低于用户在与特定程序方面交互时的预测的平均花费时间(ats)。当出现偏差时,用户会收到反馈,以促进对治疗的依从性和持续参与。也就是说,一旦知道了特定用户的人口统计信息(例如年龄、性别、位置),依赖于来自相同和/或相似人口统计学的其他用户过去的交互的数据,生成预测的ats,并为该用户确定预测的ats。然后,在与dtx的各种功能进行交互时,会将预测的ats与用户的实际ats(或ts)进行比较。如果预测的ats与实际的ats(或ts)实质上不同,则dtx可以确定用户没有正确地与dtx或其特定方面进行互动。例如,如果对于某个特定方面实际ats实质上比预测ats长,则用户可能已在特定时间段内停止与dtx的特定方面进行交互(例如,在看电视,使用其他应用,与某人说话等时)。替代地,如果实际ats实质上短于特定功能的预测ats,则用户可能已经与dtx的特定方面进行了交互,而没有积极参与该方面(例如,用户可能未曾阅读过提示和/或遵循该方面提供的指示,而只是在“点击”以给出他们已完成与此类功能交互的错觉)。下面提供了更详细的讨论。
首先,利用dtx数据平台来开发和训练预测模型。该平台从其用户收集的数据包括首次设置个人资料时用户提供的人口统计信息(例如,用户的年龄、性别和位置)以及用户的活动和与dtx的交互。替代地,可以从其他来源获得有关用户的人口统计信息,例如从可公开获得的数据库、背景调查、医疗数据、查找和抓取用户的社交媒体帐户等获得的信息。例如,在抓取用户的社交媒体帐户时,可以使用某些代理来确定用户的人口统计信息。例如,如果用户在他们的社交媒体帖子中使用了更可能被某个年龄人口统计学(例如千禧世代)使用的特定词语,则可以假定该用户的年龄是千禧世代的年龄(例如,可以假设为平均千禧世代年龄)。类似地,如果用户“点赞”或评论特定人口统计学(例如年龄)更有可能收听的特定乐队,则可以假设该用户是该人口统计学的一部分。作为另一个示例,如果用户点赞或评论更可能由特定人口统计学(例如特定性别)支持的事业,则可以假定该用户是该人口统计学的一部分。
一旦获得并存储了用户的人口统计信息,就会收集特定用户首次开始使用程序方面的时间戳,并将其存储在数据库中(数据库可以存储在电子设备(例如智能手机)上,或者存储在通信耦合到电子设备的服务器上)。另外,收集特定用户何时停止使用程序方面的时间戳,并将其存储在数据库中。
如上所述,dtx程序可能包括与处理有关的两种类型的程序方面:(1)任务,主要包含文本的活动,以及一些需要用户交互的部分;(2)功能,主要包含需要用户交互的部分和一些文本的活动。任务和功能在任务到任务或功能到特征的基础上也可能有所不同,具体取决于处理方式和特定的dtx。例如,某些任务的范围可以从包括几个句子的信息而没有用户交互(例如,任务可能包括用户了解他们的治疗方法以及dtx如何使他们受益,而用户互动很少甚至没有)到仅基于接收用户输入(例如,用户从列表中选择目标并保存目标)而定。某些功能的范围可以从仅要求来自用户的一个输入(即,用户将他们的心情输入到应用中(例如,开心、悲伤、焦虑、激动等)到要求用户在设置的时间段内进行关注和参与(例如,要求用户参加体育锻炼,例如5分钟的长呼吸运动)。因此,从单个程序方面的基础上提取并分析时间戳数据。从时间戳数据中,在程序方面n上花费的时间(ts)被定义为时间的变化(等式1):
tsn=t2-t1。
在上面所示的等式1中,t2是用户开始使用程序方面时的时间戳,t1是用户开始使用不同程序方面时的先前时间戳,不考虑空闲时间(即未积极使用应用时)。在用户首次打开应用的情况下,其ts将通过(等式2)进行计算:
tsn=t2-t0。
在上面所示的等式2中,t2是用户开始使用程序方面时的时间戳,而t0是用户首次打开dtx时的时间戳。例如,如果用户在下午5:30使用dtx记录了他们的心情,并在下午5:32开始执行任务1,然后在下午5:40完成了任务,则记录任务功能的ts将为2分钟,而他们执行任务1的ts将是8分钟。也就是说,要使用等式1计算任务1的ts,tsn=t2–t1,t2等于下午5:40,t1等于下午5:32,因此,任务1的tsn为8分钟。
可以为每个预测变量构建回归树(一种决策树)。即,收集对于每个程序方面被认为是ts的预测变量的各种用户人口统计信息,包括年龄、性别和位置。然后将这些预测变量用于构建回归树。对于每个预测变量(例如年龄、性别和位置)构建回归树。这可以解释最重要的预测阈值和分割。在每个树中,针对年龄(例如,从18岁到65岁以上的年龄)、性别(例如,女性或男性)和位置(例如,被分为5个地区的美国:西部,西南,东北,东南和中西部)测试不同的阈值,并选择每个预测变量的阈值作为候选变量,该阈值会导致最小平方和残差(ssr)与经验数据的偏差。在检查一个预测变量时,ssr由以下等式给出:
其中,yi是要预测的变量的观测平均值,而xi是预测值。换句话说,ssr量化了预测的质量。然后比较每个候选者的ssr,ssr最低的候选者成为树模型的根(例如,如下所示的回归树中的年龄>=65)。然后通过比较每个预测变量的最低ssr来构建树的其余部分。给定用户的年龄、性别和位置,该算法随后会在特定程序方面预测其ts。例如,如果预测变量组中具有最低ssr值的阈值如下:
1.年龄>=65(ssr=11,465)
2.性别=女性(ssr=18,345)
3.位置=西部(ssr=19,642)
年龄>=65将成为树的根,因为其与其他两个阈值相比具有最低ssr值。比较来自每个预测变量组的最低ssr值以生长树。以下是考虑所有预测变量的针对任务1的短回归树的实例:
一旦生成了例如上面的回归树,就可以将其用于确定特定用户的预测ats。例如,如果特定用户是居住在东北的64岁男性,则将按以下方式遍历回归树。首先,评估位于根部的决策点。在这种情况下,如果用户的年龄大于等于65岁,则预测的ats将为7.0±1.5分钟。也就是说,如果用户的年龄大于等于65岁,则预测的ats将介于5.5至8.5分钟之间,包含5.5分钟和8.5分钟。但是,在我们的情况下,由于特定用户的年龄为64岁,因此该算法将向右进行至第二决策点。第二决策点确定特定用户的性别是否是女性,并且由于该用户不是女性,因此该算法向右进行以确定该特定用户是否居住在西部。由于用户不在西部居住,因此树遍历的结果为4.1±0.2分钟,或介于3.9至4.3分钟之间,包含3.9分钟和4.3分钟。因此,居住在东北的64岁男性具有的预测的ats介于3.9至4.3分钟之间,包含3.9分钟和4.3分钟。但是,如果用户是居住在西部的64岁男性,则该算法的运行方式类似,但在最后一个决策点除外,评估结果为true,结果为4.3±0.3分钟,或介于4.0至4.6分钟之间,包含4.0分钟和4.6分钟。
预测了对于特定程序方面的用户的ts之后,便会对预测值与计算出的ts值进行比较。然后为用户记录与预测值的偏差。在为用户记录了三个偏差之后,用户收到从库中随机选择一条消息,该消息包含警告他们行为的警报、关于坚持治疗的重要性的信息和幽默消息。这些消息中的某些内容将针对用户显示的偏离行为进行定制(比预测的ts更快/更慢)。然后记录显示的消息类型(警报、信息或幽默)。如果在预定天数(例如7天)的跨度内发生3个(或另一个预定数)更多的偏差,则用户会收到从其他两种类型消息中随机选择的消息。这样做是为了确定一种反馈方法,该反馈方法将有效地促进个人基础上的用户参与。
例如,如果算法在预定时间段内检测到用户的三个偏差,并向用户发送信息消息,例如:“按处方服用药物效果最好。同样,使用这种数字治疗法对于确保您得到适当的治疗至关重要!”,并且在4天后,该算法检测到另外3个偏差,然后该用户可能会收到一条警报消息,例如“您比平常更快地完成了任务!确保您完整阅读了任务!”。但是,如果用户的cs在接下来的7天中没有偏离dt,则该算法会将记录警报消息作为一种促进参与的有效形式的反馈方法。如果用户在此时间段之后开始偏离dt,他们将收到另一条警报消息。
图3a至图3f示出了可以实现本发明实施例的一个或多个方面的源代码。特别地,源代码包括用于人工智能程序的算法,以捕获社交媒体用户的社交媒体数据,并确定和预测社交媒体用户的人口统计维度。
可以使用各种编程语言来实现本发明的包括python的实施例。可以使用的模块是numpy、pandas、tensorflow、transformers、image、pytesseract、nltk、codecs、re、language_check和spellchecker。可以使用各种数据库,包括mongodb,它是一个跨平台的面向文档的数据库程序。mongodb被归类为nosql数据库程序,它使用具有可选模式的类似json的文档。
根据本发明的实施例可以使用的平台包括awsec2深度学习ami实例。aws深度学习ami提供了机器学习基础架构和工具,可在任何规模上加速云中的深度学习。您可以快速启动预装了深度学习框架和接口的amazonec2实例,例如tensorflow,pytorch,apachemxnet,chainer,gluon,horovod和keras,以训练复杂的自定义ai模型。
根据本发明的实施例,也可以使用amazonsagemaker。amazonsagemaker是一项完全托管的服务,使开发人员和数据科学家可以快速、轻松地构建、训练和部署任意规模的机器学习模型。
由图3a至图3e所示的源代码实现的算法包括以下内容:
社交媒体捕获程序是ai程序的一部分,该程序仅捕获和编译来自各种社交媒体平台(如facebook、twitter和instagram)的社交媒体数据。
初始检测程序,用于检测人口统计维度的显式标识。初始检测程序检查由社交媒体捕获程序捕获的社交媒体数据,确定是否在其中显式标识了任何人口统计维度的实例,如果是,则将具有显式标识的人口统计维度实例的社交媒体数据添加到人口维度数据库。初始检测程序会对于每个显式标识的人口统计维度实例将概率值设置为100%,对于该人口统计维度中所有剩余的实例,则将概率值设置为0%。如果未显式标识给定人口维度的实例,则概率值将为空白或设置为“不可用”。
“两步”检测程序,该程序通过将显式标识与相关数据库进行比较来确定“隐式标识”,从而确定人口统计维度。“两步”检测程序将由初始检测程序检测到的人口统计维度实例输入到辅助数据库中,以确定剩余的人口统计维度,如果对于剩余人口统计维度找到了一个实例,则将该实例值添加到“人口统计维度数据库”,将概率值设置为100%,但是,如果对于剩余人口统计维度找到了多个实例,则将这些实例添加到“人口统计维度数据库”,将概率值设置为100%除以所找到的实例的数量。
随后的预测程序,用于预测社交媒体用户的人口统计维度。后续预测程序是一个中性网络,使用人口统计维度数据库中的社交媒体数据和人口统计维度来训练其预测模型。预测将标识每种人口统计可能性的概率值,例如,在性别的人口统计维度中,后续预测程序可以标识“男性”的人口统计可能性的概率值为75%,并且“女性”的人口统计可能性的概率值为25%。
本发明的实施例可以包括辅助数据库,该辅助数据库包括年龄、受教育程度、专业/职业、地理住所和收入维度之间的关系。
社交媒体数据包括(1)用户做出反应的帖子,例如新闻文章或youtube视频的超链接,模因(memes)或用户生成的内容(例如文本帖子);(2)“后反应元数据”,它捕获与用户对帖子的反应有关的“时间”值;(3)“浅型”后反应内容,它捕获给定帖子的“一键式”反应类型,(4)“丰富型”后反应内容,用于捕获有关帖子的评论,以及(5)“动态型”后反应内容,用于捕获对他人关于帖子的评论的回复。
后反应元数据包括:(1)用户每天或每周对帖子做出反应的频率;(2)用户对帖子做出反应的一天中的时间(以一小时为增量);(3)工作日与周末对帖子的反应频率,以及(4)对于(1-3)中的每一个,反应的类型,即“浅型”、“丰富型”或“动态型”。
“浅型”反应内容包括各种一键式反应,例如“喜欢”、“爱”、“关心”、“哈哈”、“哇”、“悲伤”、“愤怒”、用户是否评论,以及用户是否分享。
“丰富型”后反应内容包括用户在帖子上留下的评论。可以从上一个项目中调用或修改“分类程序”。
“动态型”后反应内容包括用户在其他人做出的评论上留下的评论。可能会类似地调用或修改“分类程序”。
在图4a中示出了高级流程图。在步骤401,下载数据并将其设置在存储器中。图4b示出了步骤401的分解。在步骤403中,将数据标记化并准备进行训练。图4c示出了步骤403的分解。在步骤405,重现了神经网络的构建和训练。图4d示出了步骤405的分解。在步骤407中,经由神经网络进行评估和预测。图5e示出了步骤407的分解。
参照图4b,该流程图表示一种算法,该算法将社交媒体捕获程序实现为ai程序的一部分,该程序捕获并编译来自各种社交媒体平台(如facebook、twitter和instagram)的社交媒体数据。表示该算法的流程图如图4b所示,包括以下步骤:设置基本参数409,连接到api并下载数据集411,将数据加载到存储器413,选择用于训练的数据415和选择正确答案417。
参照对数据进行标记化的图4c,在步骤419中,创建keras标记生成器。在步骤421,在社交媒体帖子上训练标记生成器。在步骤423中,限制评论的长度。
图4d构建并训练了神经网络,包括以下步骤:创建顺序模型425,添加嵌入层、门控循环单元(gru)层和全连接(dense)层427,编译模型429,显示模型摘要431,创建回调433,利用训练数据训练模型435,将最佳权重保存到文件中437,以及显示学习图439。
图4e评估神经网络并进行预测,包括以下步骤:创建顺序模型441,添加嵌入层、fru层和全连接(dense)层443,编译模型445,加载最佳权重447,评估神经网络和测试数据集449,进行预测451,显示结果453。
图5a是示出本发明的实施例的学习进度的学习图。
图5b是示出实现根据本发明实施例的算法的神经网络算法的神经元之间的关系图。
图6a至图6b示出了可以实现本发明实施例的一个或多个方面的电子设备上的输入和处理。
虽然已经结合以上概述的实施例描述了本发明,但是通过阅读以上披露,许多替代方案、修改和变化对于本领域技术人员将是明显的。因此,如上所述,本发明的实施例是说明性的,而不是限制性的。在不脱离本发明的精神和范围的情况下,可以进行各种改变。
1.一种确定人口统计信息以促进移动应用用户参与电子设备上的远程计算环境的计算机系统,包括一个或多个处理器、一个或多个计算机可读存储器以及一个或多个计算机可读存储设备,并且程序指令存储在所述一个或多个存储设备中的至少一个上以由所述一个或多个处理器中的至少一个经由所述一个或多个存储器中的至少一个执行,存储的所述程序指令包括:
捕获用户的社交媒体数据并将其编译到第一数据库中;
通过检测所述用户的人口统计属性的显式标识来处理所述社交媒体数据;
对于一个类别的每个显式标识的人口统计属性设置100%的概率值;
对于未针对所述类别显式标识的每个人口统计属性设置0%的概率值;
通过使用所述显式标识的人口统计属性搜索辅助数据库来确定第二类别的派生属性;
使用训练数据训练神经网络,所述训练数据包括所述显式标识的人口统计属性及其关联的概率值,以及所述派生属性及其关联的概率值;
向所述神经网络输入第二用户的社交媒体数据;
通过所述神经网络预测所述第二用户的人口统计属性。
2.根据权利要求1所述的人口统计信息确定系统,其中,基于以下集合对所述社交媒体数据进行分类:反应数据、后反应元数据、浅型数据、丰富型后反应内容和动态型后反应内容。
3.根据权利要求1所述的人口统计信息确定系统,其中,所述后反应元数据包括:对帖子的反应频率、反应的一天中时间、工作日后反应的频率与周末后反应的频率之间的比率。
4.根据权利要求2所述的人口统计信息确定系统,其中,所述浅型数据包含的表情符号包括喜欢、爱、关心、哈哈、哇、悲伤或愤怒。
5.根据权利要求2所述的人口统计信息确定系统,其中,所述丰富型后反应内容包括用户文字数据。
6.根据权利要求2所述的人口统计信息确定系统,其中,所述动态型后反应内容包括响应第一评论的第二评论。
7.根据权利要求1所述的人口统计信息确定系统,还包括,基于所述第二用户的所述预测的人口统计属性,确定所述第二用户的与程序方面交互时的平均花费类型(ats)。
8.根据权利要求7所述的人口统计信息确定系统,还包括,通过计算与所述程序方面交互时的所述ats与与所述程序方面交互时的实际花费时间之间的差来确定遵守偏差。
9.一种用于确定人口统计信息以促进移动应用用户参与远程计算环境的计算机实现的方法,该方法包括:
捕获用户的社交媒体数据并将其编译到第一数据库中;
通过检测所述用户的人口统计属性的显式标识来处理所述社交媒体数据;
对于一个类别的每个显式标识的人口统计属性设置100%的概率值;
对于未针对所述类别显式标识的每个人口统计属性设置0%的概率值;
通过使用所述显式标识的人口统计属性搜索辅助数据库来确定第二类别的派生属性;
使用训练数据训练神经网络,所述训练数据包括所述显式标识的人口统计属性及其关联的概率值,以及所述派生属性及其关联的概率值;
向所述神经网络输入第二用户的社交媒体数据;
通过所述神经网络预测所述第二用户的人口统计属性。
10.根据权利要求9所述的人口统计信息确定方法,其中,基于以下集合对所述社交媒体数据进行分类:反应数据、后反应元数据、浅型数据、丰富型后反应内容和动态型后反应内容。
11.根据权利要求9所述的人口统计信息确定方法,其中,所述后反应元数据包括:对帖子的反应频率、反应的一天中时间、工作日后反应的频率与周末后反应的频率之间的比率。
12.根据权利要求10所述的人口统计信息确定方法,其中,所述浅型数据包含的表情符号包括喜欢、爱、关心、哈哈、哇、悲伤或愤怒。
13.根据权利要求10所述的人口统计信息确定方法,其中,所述丰富型后反应内容包括用户文字数据。
14.根据权利要求10所述的人口统计信息确定方法,其中,所述动态型后反应内容包括响应第一评论的第二评论。
15.根据权利要求9所述的人口统计信息确定方法,还包括,基于所述第二用户的所述预测的人口统计属性,确定所述第二用户的与程序方面交互时的平均花费类型(ats)。
16.根据权利要求15所述的人口统计信息确定方法,还包括,通过计算与所述程序方面交互时的所述ats与与所述程序方面交互时的实际花费时间之间的差来确定遵守偏差。
技术总结