CN116075838A - 用于在saas应用程序中对用户情感进行预测的系统和方法 - Google Patents

用于在saas应用程序中对用户情感进行预测的系统和方法 Download PDF

Info

Publication number
CN116075838A
CN116075838A CN202080087420.1A CN202080087420A CN116075838A CN 116075838 A CN116075838 A CN 116075838A CN 202080087420 A CN202080087420 A CN 202080087420A CN 116075838 A CN116075838 A CN 116075838A
Authority
CN
China
Prior art keywords
training
features
event
machine learning
learning model
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.)
Pending
Application number
CN202080087420.1A
Other languages
English (en)
Inventor
S·斯塔尔策
P·D·克罗克特
G·G·扎卡克
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.)
Elsevier Plc
Original Assignee
Elsevier Plc
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 Elsevier Plc filed Critical Elsevier Plc
Publication of CN116075838A publication Critical patent/CN116075838A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/011Emotion or mood input determined on the basis of sensed human body parameters such as pulse, heart rate or beat, temperature of skin, facial expressions, iris, voice pitch, brain activity patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching
    • G06F2218/16Classification; Matching by matching signal segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种生成用户情感预测的方法包括:接收与和用户界面的交互相对应的用户报告的情感的标签,接收与和用户界面的交互相对应的事件,将事件的一个或多个模式识别为一个或多个手势,以及提取该手势的一个或多个特征。该方法使用机器学习模型,以基于训练特征生成用户情感预测。用户情感预测表示与和用户界面的交互相对应的预测的用户情感。可以通过使用标签和生成的用户情感预测之间的差异修改机器学习模型的一个或多个参数来训练机器学习模型。

Description

用于在SAAS应用程序中对用户情感进行预测的系统和方法
相关申请的交叉引用
本申请要求2019年10月15日提交的题为“Systems and Methods for Predictionof User Affect Within SAAS(用于在SAAS中对用户情感进行预测的系统和方法)”的美国临时申请第62/915,578号的权益,该申请的全部内容在此通过引用并入本文。
技术领域
本申请大体上涉及提供用于预测用户情感(诸如沮丧、吸引、以及确信)同时与用户界面(诸如软件即服务(SaaS)计算机程序内的在线内容)进行交互的平台的系统和方法。
背景技术
该专利文件的公开的一部分包含受版权保护的材料。版权所有者不反对任何人以专利和商标局的文件或记录中出现的方式对专利文件或专利公开进行影印,但在别的方面保留所有版权。
确定由交互导致的客户的情绪或情感通常很有用。虽然面对面时猜测客户对他或她的服务的感受可以很简单,但在线交互中的确定用户情感则更为困难。公司通常通过在线交互后通过呈现的调查来询问客户的感受,从而获得客户情感信息。然而,这些调查通常是可选的,并且因此只能提供对选择参与的特定用户的了解。可选调查还可能由于主要从处于不满意、满意、或无聊的极端状态的用户中选择样本导致偏向合计。
因此,需要基于用户与用户界面(诸如软件即服务(SaaS)计算机程序中的在线内容)的交互来预测用户情感。
发明内容
商业领域通常聚焦于识别在与网页交互时的特定的用户行为,诸如在断开的超链接上多次快速点击(所谓的“愤怒点击”),并从这些行为中推断用户的心理状态。这些应用通常聚焦于识别web内容中的可用性问题,是特定于内容的,并且不能很好地推广到其他类型的在线内容。
学术机构通常聚焦于小型学习,其中主要通过统计和机器学习方法可以将用户鼠标移动用于推断情感。这些方法倾向于局限在非常具体的活动中并且不容易推广到学习的背景和内容之外。
根据实施例,生成用户情感预测的方法包括:接收从用户界面生成的一个或多个事件,在所接收的事件中识别模式作为手势,提取手势的一个或多个特征,以及基于所提取的特征,使用经训练的机器学习模型生成用户情感预测。
根据另一实施例,该方法进一步包括训练机器学习模型,以基于从用户界面生成的一个或多个事件来生成用户情感预测。
根据又另一实施例,机器学习模型的训练包括:接收与和用户界面的交互相对应的用户报告的情感的标签,接收与和用户界面的交互相对应的事件作为训练事件,将训练事件中的一个或多个模式识别为一个或多个训练手势,提取训练手势的一个或多个特征作为一个或多个训练特征,向机器学习模型提供训练特征和标签,以及使用机器学习模型基于训练特征来生成训练预测。生成的训练预测表示与和用户界面的交互相对应的预测的用户情感。该方法可进一步包括通过使用标签和训练预测之间的差异来修改机器学习模型的一个或多个参数,从而生成经过训练的机器学习模型。
根据又另一实施例,一个或多个手势包括决定手势,该决定手势包括在决定点(包括方向上的改变)和提交点击之间收集的事件。
根据又另一实施例,一个或多个特征的提取包括对与一个或多个特征相对应的一个或多个特征定义执行一个或多个计算。
根据又另一实施例,一个或多个特征包括初始特征、点击次数特征、加速度特征、加速度快速傅立叶变换特征、以及推土机(earth mover)的距离特征。
根据又另一实施例,事件包括鼠标移动、鼠标点击、或按键中的一者或多者。
本公开的实施例通过提供端到端方案改进了对用户情感的预测,该端到端解决方案可以容易地推广到各种在线内容。具体而言,本公开中的系统和方法可以预测用户对包含一组动作或任务然后点击“提交”或类似按钮来结束任务的任何网页的沮丧、吸引、以及确信。
本公开的一个或多个实施例包括web客户端内的数据生成算法,该算法将用户的鼠标移动转换为离散事件,该离散事件捕获网页中遍历的每个像素,以及每一其他交互,诸如单击按钮或键入。
本公开的另一实施例包括数据摄取流水线,该流水线实时接收客户端发送的用户数据,可扩展到数十亿个事件,并将规范化数据存储在可查询的数据仓库中。
本公开的又另一实施例包括事件处理系统,该系统能够从原始数据流中提取目标手势(鼠标事件序列)。
本公开的又另一实施例包括机器学习流水线,该流水线从目标手势中提取特征,用于训练机器学习模型和执行预测。
本公开的又另一实施例包括用于将预测输出为注释的过程,该注释包含用户的情感水平的概率和预测。
附图说明
通过参照以下结合附图的描述,本公开的前述和其他目标、方面、特征和优点将变得更加明显且更好理解,在附图中:
图1A示出了根据一个或多个公开的实施例的描绘包括与服务器设备通信的客户端设备的网络环境的实施例的框图;
图1B示出了根据一个或多个公开的实施例的描绘包括与云服务供应商通信的客户端设备的云计算环境的框图;
图1C和图1D示出了根据一个或多个公开的实施例的描绘能够与本文所述的方法和系统相关联使用的计算设备的实施例的框图;
图1E示出了根据一个或多个公开的实施例的描绘用于预测用户情感的总体系统的部件的框图;
图2A示出了根据一个或多个公开的实施例的从用户界面收集事件的事件收集器的方法的流程图;
图2B示出了根据一个或多个公开的实施例的由事件收集器收集的事件的非限制性示例;
图3示出了根据一个或多个公开的实施例的用于接收和处理客户端事件的数据摄取流水线;
图4示出了根据一个或多个公开的实施例的表示从页面上所有鼠标移动的完整轨迹中提取的目标分段的手势或决定手势的非限制性示例;
图5示出了根据一个或多个公开的实施例的输出一个或多个手势类型的事件模式并将手势存储到数据库的手势提取器的流程图;
图6示出了根据一个或多个公开的实施例的从目标手势提取并用于训练情感预测模型的第一机器学习(ML)特征集;
图7示出了根据一个或多个公开的实施例的从目标手势提取并用于训练情感预测模型的第二机器学习(ML)特征集;
图8示出了根据一个或多个公开的实施例的机器学习流水线的机器学习模型训练过程;
图9示出了根据一个或多个公开的实施例的机器学习流水线的机器学习预测器或注释器;
图10A示出了根据一个或多个公开的实施例的显示跨网站上的所有网页对用户进行情感预测的样本沮丧报告(在该非限制性示例中,网站是在线评估);并且
图10B示出了根据一个或多个公开的实施例的显示跨网站上的所有网页对用户进行情感预测的样本吸引报告(在该非限制性示例中,网站是在线评估)。
具体实施方式
商业领域通常聚焦于识别在与网页交互时的特定的用户行为,诸如在断开的超链接上多次快速点击(所谓的“愤怒点击”),并从这些行为中推断用户的心理状态。这些应用通常聚焦于识别web内容中的可用性问题,是特定于内容的,并且不能很好地推广到其他类型的在线内容。
学术机构通常聚焦于小型学习,其中主要通过统计和机器学习方法可以将用户鼠标移动用于推断情感。这些方法倾向于局限在非常具体的活动中并且不容易推广到学习研究的背景和内容之外。
为了阅读以下各种实施例的描述,以下对说明书各部分及其分别的内容的描述可以是有用的:部分A描述了可用于实施本文所述的实施例的网络环境和计算环境;部分B描述了用于预测用户情感的系统和方法的实施例。
A.计算和网络环境
在讨论本方案的具体实施例之前,结合本文描述的方法和系统来描述操作环境的方面以及相关联的系统部件(例如,硬件元件)可以是有帮助的。参考图1A,描绘了网络环境的实施例。简而言之,网络环境包括经由一个或多个网络104与一个或多个服务器106a-106n(通常也称为(多个)服务器106、节点106、或(多个)远程机器106)通信的一个或多个客户端102a-102n(通常也称为(多个)本地机器102、(多个)客户端102、(多个)客户端节点102、(多个)客户端机器102、(多个)客户端计算机102、(多个)客户端设备102、(多个)端点102、或(多个)端点节点102)。在一些实施例中,客户端102包括用作寻求访问服务器提供的资源的客户端节点和为其他客户端102a-102n提供对托管资源的访问的服务器两者的功能。
在所公开的实施例中,网络104可包括一个或多个计算机网络(例如,个人局域网、局域网、网格计算网络、广域网等)、蜂窝网络、卫星网络、因特网、云计算环境中的虚拟网络、和/或其任何组合。合适的局域网可包括有线以太网和/或无线技术,诸如,例如无线保真(Wi-Fi)。合适的个人域网可以包括无线技术,诸如例如,IrDA、蓝牙、无线USB、Z-Wave、ZigBee和/或其他近场通信协议。合适的个人局域网可以类似地包括有线计算机总线,诸如例如,USB、串行ATA、eSATA、以及火线(FireWire)。因此,网络104可被系统用作无线接入点,以访问一个或多个服务器106a、106b、106c。
可以经由有线或无线链路连接网络104。有线链路可包括数字用户线(DSL)、同轴电缆线、或光纤线。无线链路可包括蓝牙、Wi-Fi、全球互通微波接入(WiMAX)、红外信道或卫星频段。无线链路还可包括用于在移动设备之间通信的任何蜂窝网络标准,包括但不限于取得1G、2G、3G或4G资格的标准。通过满足规范或标准(诸如由国际电信联盟维护的规范),网络标准可以取得一代或多代移动电信标准的资格。例如,3G标准可以对应于国际移动通信-2000(IMT-2000)规范,而4G标准可以对应于国际移动通信高级(IMT高级)规范。蜂窝网络标准的示例包括AMPS、GSM、GPRS、UMTS、IS-95、CDMA-2000、LTE、LTE高级、移动WiMAX和WiMAX高级。蜂窝网络标准可使用各种信道接入方法,例如FDMA、TDMA、CDMA或SDMA。在一些实施例中,可以经由不同的链路和标准传输不同类型的数据。在其他实施例中,可以经由不同的链路和标准传输相同类型的数据。
网络104可以是任何类型和/或形式的网络。网络104的地理范围可以广泛变化,并且网络104可以是主体局域网(BAN)、个人局域网(PAN)、局域网(LAN),例如内联网、城域网(MAN)、广域网(WAN)、或因特网。网络104的拓扑可以是任何形式,并且可以包括例如以下任何形式:点到点、总线、星形、环形、网格或树形。网络104可以是虚拟的并且位于其他网络104’的一层或多层的顶部的覆盖网络。网络104可以是本领域普通技术人员所知的能够支持本文所述操作的任何此类网络拓扑。网络104可利用不同的技术和协议层或协议栈,包括例如,以太网协议、因特网协议套组(TCP/IP)、ATM(异步传输模式)技术、SONET(同步光学联网)协议、或SDH(同步数字系列)协议。TCP/IP因特网协议套组可包括应用层、传输层、因特网层(包括例如IPv6)、或链路层。网络104可以是广播网络、电信网络、数据通信网络、或计算机网络的类型。
在一些实施例中,系统可包括多个逻辑分组的服务器106。在一些实施例中,服务器的逻辑组可以称为服务器场38或机器场38。在一些实施例中,服务器106可以在地理上分散。在其他实施例中,机器场38可以作为单个实体管理。在一些实施例中,机器场38包括多个机器场38。每个机器场38中的服务器106可以是异构的——可以根据一种类型的操作系统平台(例如,由华盛顿州雷德蒙德的微软公司制造的WINDOWS NT)操作服务器106或机器106中的一个或多个,而可以根据另一类型的操作系统平台(例如,Unix、Linux、或Mac OSX)在其上操作其他服务器106中的一个或多个。
在一些实施例中,机器场38中的服务器106可与相关联的存储系统一起存储在高密度机架系统中,并位于企业数据中心中。在该实施例中,通过将服务器106和高性能存储系统定位在局部化的高性能网络上,以这种方式合并服务器106可以提高系统的可管理性、数据安全性、系统的物理安全性、以及系统性能。将服务器106和存储系统集中并将它们与高级系统管理工具耦合可以允许更有效地使用服务器资源。
每个机器场38的服务器106不需要在物理上接近同一机器场38中的另一个服务器106。因此,逻辑分组为一个机器场38的服务器组106可以使用广域网(WAN)连接或城域网(MAN)连接互连。例如,机器场38可包括物理上位于不同大陆或大陆、国家、州、城市、校园或房间的不同区域中的服务器106。如果使用局域网(LAN)连接或某种形式的直接连接来连接服务器106,则可以提高机器场38中的服务器106之间的数据传输速度。附加地,异构机器场38可包括根据操作系统的类型操作的一个或多个服务器106,而一个或多个其他服务器106执行一个或多个类型的管理程序而不是操作系统。在这些实施例中,管理程序可用于仿真虚拟硬件、划分物理硬件、虚拟化物理硬件、并执行提供对计算环境的访问的虚拟机,从而允许多个操作系统在主机上同时运行。原生(native)管理程序可以在主机上直接运行。管理程序可包括:由加利福尼亚州帕洛阿尔托的VMware公司制造的VMware ESX/ESXi;由思杰系统(Citrix System)公司监督其开发的开源产品Xen管理程序;由微软提供的HYPER-V管理程序或其他管理程序。托管管理程序可以在第二软件级别的操作系统中运行。托管管理程序的示例可包括VMware工作站和VIRTUALBOX。
机器场38的管理可以分散(de-centralized)。例如,一个或多个服务器106可包括部件、子系统和模块,以支持用于机器场38的一个或多个管理服务。在这些实施例中的一个实施例中,一个或多个服务器106提供用于管理动态数据的功能,包括用于处理故障转移、数据复制和增加机器场38的稳健性的技术。每个服务器106可以与持久性存储器通信,并且在一些实施例中,可以与动态存储器通信。
服务器106可以是文件服务器、应用服务器、web服务器、代理服务器、设备、网络设备、网关、网关服务器、虚拟化服务器、部署服务器、SSL VPN服务器或防火墙。在一个实施例中,服务器106可以被称为远程机器或节点。在另一实施例中,多个节点可以位于任何两个通信服务器之间的路径中。
参考图1B,描绘了云计算环境。云计算环境可以向客户端102提供由网络环境提供的一个或多个资源。云计算环境可包括通过一个或多个网络104与云108通信的一个或多个客户端102a-102n。客户端102可包括,例如,胖客户端、瘦客户端、以及零客户端。即使在从云108或服务器106断开连接时,胖客户端也可以提供至少一些功能。瘦客户端或零客户端可以依赖于与云108或服务器106的连接来提供功能。零客户端可依赖于云108或其他网络104或服务器106来为客户端设备检索操作系统数据。云108可包括后端平台,例如,服务器106、存储器、服务器场或数据中心。
云108可以是公共的、私有的、或混合的。公共云可包括由客户端102或客户端的所有者的第三方维护的公共服务器106。服务器106可以如上所述或以其他方式位于远程地理位置的场外。公共云可通过公共网络连接到服务器106。私有云可包括由客户端102或客户端所有者物理维护的私有服务器106。私有云可通过私有网络104连接到服务器106。混合云108可包括私有网络和公用网络104两者以及服务器106。
云108也可包括基于云的交付,例如,软件即服务(SaaS)110、平台即服务(PaaS)112、以及基础设施即服务(IaaS)114。IaaS可指用户租用在特定时间段期间所需的基础设施资源。IaaS供应商可以从大型池中提供存储、联网、服务器或虚拟化资源,从而允许用户通过根据需要访问更多资源来快速扩展。IaaS的示例包括:由华盛顿州西雅图的亚马逊网站提供的亚马逊WEB服务、由德克萨斯州圣安东尼奥的美国Rackspace公司提供的RACKSPACE云、由加利福尼亚州山景城的谷歌公司提供的谷歌计算引擎、或由加利福尼亚州圣巴巴拉的RightScale公司提供的RIGHTSCALE。PaaS供应商可提供由IaaS提供的功能,包括例如,存储、联网、服务器或虚拟化、以及其他资源,诸如例如,操作系统、中间件或运行时资源。PaaS的示例包括:由华盛顿州雷德蒙德的微软公司提供的WINDOWS AZURE、由谷歌公司提供的谷歌应用程序引擎、以及由加利福尼亚州旧金山的Heroku公司提供的HEROKU。SaaS供应商可提供PaaS提供的资源,包括存储器、联网、服务器、虚拟化、操作系统、中间件、或运行时资源。在一些实施例中,SaaS供应商可提供额外的资源,包括例如数据和应用资源。SaaS的示例包括:由谷歌公司提供的谷歌应用程序、由加利福尼亚州旧金山的Salesforce.com公司提供的SALESFORCE、或由微软公司提供的OFFICE 365。SaaS的示例也可包括数据存储供应商,例如,由加利福尼亚州旧金山的Dropbox公司提供的DROPBOX、由微软公司提供的微软SKYDRIVE、由谷歌公司提供的谷歌Drive,或由加利福尼亚州库比蒂诺的苹果公司提供的苹果ICLOUD。
客户端102可以使用一个或多个IaaS标准访问IaaS资源,IaaS标准包括,例如,亚马逊弹性计算云(EC2)、开放云计算接口(OCCI)、云基础设施管理接口(CIMI)、或OpenStack标准。一些IaaS标准可允许客户端通过HTTP访问资源,并且可使用表述性状态转移(REST)协议或简单对象访问协议(SOAP)。客户端102可以使用不同的PaaS接口访问PaaS资源。一些PaaS接口使用HTTP包、标准Java API、JavaMail API、Java数据对象(JDO)、Java持久性API(JPA)、Python API、用于不同编程语言的web集成API(包括例如,用于Ruby的Rack、用于Python的WSGI、或用于Perl的PSGI)或基于REST、HTTP、XML或其他协议构建的其他API。客户端102可以通过使用基于web的用户界面访问SaaS资源,该用户界面由web浏览器(例如,谷歌CHROME、微软互联网浏览器、或由加利福尼亚州山景城的Mozilla基金会提供的Mozilla火狐)提供。客户端102还可以通过智能手机或平板电脑应用程序(包括例如,SalesforceSales Cloud或谷歌Drive应用程序等)访问SaaS资源。客户端102也可通过客户端操作系统(包括例如,用于DROPBOX的Windows文件系统)访问SaaS资源。
在一些实施例中,对IaaS、PaaS或SaaS资源的访问可以被认证。例如,服务器或认证服务器可以经由安全证书、HTTPS、或API密钥对用户进行认证。API密钥可包括各种加密标准,诸如高级加密标准(AES)。可以通过传输层安全(TLS)或安全套接层(SSL)发送数据资源。
客户端102和服务器106可被部署为任何类型和形式的计算设备,和/或在任何类型和形式的计算设备上执行,例如,能够通过任何类型和形式的网络通信并执行本文所述操作的计算机、网络设备或电器。图1C和图1D描绘了用于实践客户端102或服务器106的实施例的计算设备100的框图。如图1C和图1D中所示,每个计算设备100包括中央处理单元121和主存储器单元122。如图1C中所示,计算设备100可包括存储设备128、安装设备116、网络接口118、输入/输出控制器123、显示设备124a-124n、键盘126和指针设备127,例如鼠标。存储设备128可包括但不限于实现本公开的实施例的软件,诸如SaaS 120的软件。如图1D中所示,每个计算设备100也可包括与中央处理单元121通信的其他可选元件,例如,存储器端口103、桥接器170、一个或多个输入/输出设备130a-130n(通常使用附图标记130来指示)和高速缓存存储器140。
中央处理单元121是对从主存储器单元122获取的指令进行响应和处理的任何逻辑电路。在许多实施例中,中央处理单元121由微处理器单元提供,例如:那些由加利福尼亚州山景城的英特尔公司制造的微处理器单元;那些由伊利诺伊州朔姆堡的摩托罗拉公司制造的微处理器单元;由加利福尼亚州圣克拉拉的Nvidia公司制造的ARM处理器和TEGRA片上系统(SoC);那些由纽约州白原市的国际商业机器制造的POWER7处理器;或者那些由加利福尼亚州桑尼维尔的超微半导体(Advanced Micro Devices)制造的微处理器单元。计算设备100可以基于这些处理器中的任何一个,或者基于能够如本文所述操作的任何其他处理器。中央处理单元121可以利用指令级并行、线程级并行、不同级别的高速缓存、以及多核处理器。多核处理器可包括单个计算部件上的两个或更多个处理单元。多核处理器的示例包括AMD PHENOM IIX2、英特尔酷睿(CORE)i5和英特尔酷睿i7。
主存储器单元122可包括能够存储数据并允许微处理器121直接访问任何存储位置的一个或多个存储器芯片。主存储器单元122可以是易失性的并且比存储128存储器快。主存储器单元122可以是动态随机存取存储器(DRAM)或任何变体,包括静态随机存取存储器(SRAM)、突发SRAM或同步突发SRAM(BSRAM)、快速页面模式DRAM(FPM DRAM)、增强DRAM(EDRAM)、扩展数据输出RAM(EDO RAM)、扩展数据输出DRAM(EDO DRAM)、突发扩展数据输出DRAM(BEDO DRAM)、单数据速率同步DRAM(SDR SDRAM),双数据速率SDRAM(DDR SDRAM)、直接总线式DRAM(DRDRDRAM)或极端数据速率DRAM(XDR DRAM)。在一些实施例中,主存储器122或存储128可以是非易失性的;例如,非易失性读取访问存储器(NVRAM)、闪存非易失性静态RAM(nvSRAM)、铁电RAM(FeRAM)、磁阻RAM(MRAM)、相变存储器(PRAM)、导电桥接RAM(CBRAM)、氧化硅-氮化硅-硅(SONOS)、电阻RAM(RRAM)、赛道、纳米RAM(NRAM)、或千足虫存储器。主存储器122可以基于上述存储器芯片中的任何一个,或者能够如本文所述地操作的任何其他可用存储器芯片。在图1C中所示的实施例中,处理器121经由系统总线150与主存储器122通信(下面将更详细地描述)。图1D描绘了计算设备100的实施例,其中处理器经由存储器端口103直接与主存储器122通信。例如,在图1D中,主存储器122可以是DRDRAM。
图1D描绘了主处理器121经由辅助总线(有时称为后段总线)直接与高速缓存存储器140通信的实施例。在其他实施例中,主处理器121使用系统总线150与高速缓存存储器140通信。高速缓存存储器140通常提供比主存储器122更快的响应时间,并且通常包括SRAM、BSRAM或EDRAM中的一者或更多者。在图1D中所示的实施例中,处理器121经由本地系统总线150与各种I/O设备130通信。各种总线可用于将中央处理单元121连接到任何I/O设备130,包括PCI总线、PCI-X总线、PCI快捷总线或NuBus。对于其中I/O设备是视频显示器124的实施例,处理器121可以使用高级图形端口(AGP)与显示器124或用于显示器124的I/O控制器123通信。图1D描绘了其中主处理器121经由超传输(HYPERTRANSPORT)、RAPIDIO或无限带宽(INFINIBAND)通信技术与I/O设备130b或其他处理器121’直接通信的计算机100的实施例。图1D还描绘了其中本地总线和直接通信混合的实施例:处理器121使用本地互连总线与I/O设备130a通信,同时与I/O设备130b直接通信。
计算设备100中可以存在各种I/O设备130a-130n。输入设备可包括键盘、鼠标、轨迹板、轨迹球、触摸板、触摸鼠标、多点触摸板和触摸鼠标、麦克风、多阵列麦克风、绘图板、照相机、单镜头反光照相机(SLR)、数字SLR(DSLR)、CMOS传感器、加速计、红外光学传感器、压力传感器、磁强计传感器、角速率传感器、深度传感器、接近度传感器、环境光传感器、陀螺仪传感器、或其他传感器。输出设备可包括视频显示器、图形显示器、扬声器、耳机、喷墨打印机、激光打印机、以及3D打印机。
设备130a-130n可包括多个输入或输出设备的组合,包括例如,微软KINECT、用于WII的任天堂Wiimote、任天堂WII U游戏板、或苹果IPHONE。一些设备130a-130n允许通过组合一些输入和输出来进行手势识别输入。一些设备130a-130n提供可用作用于不同目的(包括认证和其他命令)的输入的面部识别。一些设备130a-130n提供语音识别和输入,包括例如,微软KINECT、苹果用于IPHONE的SIRI、谷歌Now或谷歌语音搜索。
附加设备130a-130n具有输入和输出能力,包括例如,触觉反馈设备、触摸屏显示器、或多点触摸显示器。触摸屏、多点触摸显示器、触摸板、触摸鼠标、或其他触摸感应设备可使用不同的技术来感应触摸,包括例如,电容式、表面电容式、投影电容式触摸(PCT)、单元内电容式、电阻式、红外、波导、色散信号触摸(DST)、单元内光学、表面声波(SAW)、弯曲波触摸(BWT),或基于力的传感技术。一些多点触控设备可允许两个或更多个接触点与表面接触,允许高级功能,包括例如,收缩、展开、旋转、滚动、或其他手势。一些触摸屏设备,包括例如,微软PIXELSENSE或多点触控协作墙(Multi-Touch Collaboration Wall),可具有较大的表面,诸如在桌面上或墙上,并且还可以与其他电子设备交互。一些I/O设备130a-130n、显示设备124a-124n或设备组可以是增强现实设备。如图1C中所示,I/O设备可以由I/O控制器123控制。I/O控制器可以控制一个或多个I/O设备,诸如例如,键盘126和指针设备127,例如鼠标或光笔。此外,I/O设备还可以为计算设备100提供存储和/或安装介质116。在又其他实施例中,计算设备100可以提供USB连接(未示出)以接收手持USB存储设备。在进一步实施例中,I/O设备130可以是系统总线150和外部通信总线(例如,USB总线、SCSI总线、火线总线、以太网总线、千兆以太网总线、光纤信道总线、或Thunderbolt总线)之间的桥接。
在一些实施例中,显示设备124a-124n可以连接到I/O控制器123。显示设备可包括,例如,液晶显示器(LCD)、薄膜晶体管LCD(TFT-LCD)、蓝相LCD、电子纸(电子墨水)显示器、柔性显示器、发光二极管显示器(LED)、数字光处理(DLP)显示器、硅上液晶(LCOS)显示器、有机发光二极管(OLED)显示器、有源矩阵有机发光二极管(AMOLED)显示器,液晶激光显示器、时间复用光学快门(TMOS)显示器、或3D显示器。3D显示器的示例可使用,例如,立体视觉(stereoscopy)、偏振滤波器、有源快门或裸眼3D(autostereoscopy)。显示设备124a-124n也可以是头戴式显示器(HMD)。在一些实施例中,显示设备124a-124n或相应的I/O控制器123可以通过OPENGL或DIRECTX API或其他图形库来控制或对OPENGL或DIRECTX API具有硬件支持。
在一些实施例中,计算设备100可包括或连接到多个显示设备124a-124n,其中每个显示设备124a-124n可以是相同或不同的类型和/或形式。因此,任何I/O设备130a-130n和/或I/O控制器123可包括任何类型和/或形式的适当硬件、软件或硬件和软件的组合,以支持、启用或提供由计算设备100连接和使用的多个显示设备124a-124n。例如,计算设备100可包括任何类型和/或形式的视频适配器、视频卡、驱动器、和/或库,以接合(interface)显示设备124a-124n、与显示设备124a-124n通信、连接显示设备124a-124n或以其他方式使用显示设备124a-124n。在一个实施例中,视频适配器可包括多个连接器以接合到多个显示设备124a-124n。在其他实施例中,计算设备100可包括多个视频适配器,其中每个视频适配器连接到显示设备124a-124n中的一者或多者。在一些实施例中,计算设备100的操作系统的任何部分可被配置用于使用多个显示器124a-124n。在其他实施例中,显示设备124a-124n中的一者或多者可由经由网络104连接到计算设备100的一个或多个其他计算设备100a或100b提供。在一些实施例中,软件可以被设计和构造成使用另一计算机的显示设备作为计算设备100的第二显示设备124a。例如,在一个实施例中,苹果iPad可以连接到计算设备100,并将设备100的显示器用作可以用作扩展桌面的附加显示屏。本领域普通技术人员将认识到并理解计算设备100可被配置为具有多个显示设备124a-124n的各种方式和实施例。
再次参考图1C,计算设备100可包括存储设备128(例如,一个或多个硬盘驱动器或独立磁盘的冗余阵列),用于存储操作系统或其他相关软件,并用于存储应用软件程序,诸如与用于实验跟踪器系统的软件120相关的任何程序。存储设备128的示例包括,例如,硬盘驱动器(HDD);光盘驱动器,包括CD驱动器、DVD驱动器或蓝光驱动器;固态驱动器(SSD);USB闪存驱动器;或任何适于存储数据的其他设备。一些存储设备可包括多个易失性和非易失性存储器,包括例如,将硬盘与固态高速缓存相结合的固态混合驱动器。一些存储设备128可以是非易失性、可变、或只读的。一些存储设备128可以是内部的,并经由总线150连接到计算设备100。一些存储设备128可以是外部的,并且经由提供外部总线的I/O设备130连接到计算设备100。一些存储设备128可以经由网络接口118通过网络104连接到计算设备100,网络104包括例如用于苹果的MACBOOK AIR的远程磁盘。一些客户端设备100可能不需要非易失性存储设备128,并且可以是瘦客户端或零客户端102。一些存储设备128还可以用作安装设备116,并且可以适于安装软件和程序。附加地,操作系统和软件可以从可引导介质运行,例如,可引导CD,例如KNOPPIX、可作为来自knoppix.net的GNU/Linux发行版使用用于GNU/Linux的可引导CD。
客户端设备100还可以安装来自应用程序发行平台的软件或应用。应用程序发行平台的示例包括:由苹果公司提供的用于iOS的应用商店、由苹果公司提供的Mac应用商店、由谷歌公司提供的用于安卓OS的GOOGLE PLAY、由谷歌公司提供的用于Chrome OS的ChromeWebstore、以及由亚马逊网站公司提供的用于安卓OS和KINDLE FIRE的亚马逊Appstore。应用程序发行平台可促进在客户端设备102上安装软件。应用程序发行平台可包括服务器106或云108上的应用程序储存库,客户端102a-102n可以在网络104上访问该储存库。应用程序发行平台可包括由各种开发人员开发和提供的应用程序。客户端设备102的用户可以经由应用程序发行平台选择、购买和/或下载应用程序。
此外,计算设备100可包括网络接口118,以通过各种连接接合到网络104,这些连接包括但不限于标准电话线路LAN或WAN链路(例如,802.11、T1、T3、千兆以太网、无限带宽)、宽带连接(例如,ISDN、帧中继、ATM、千兆以太网、基于SONET的以太网、ADSL、VDSL、BPON、GPON、包括FiOS的光纤)、无线连接、或上述任何或所有连接的某种组合。可以使用各种通信协议(例如,TCP/IP、以太网、ARCNET、SONET、SDH、光纤分布式数据接口(FDDI)、IEEE802.11a/b/g/n/ac CDMA、GSM、WiMax以及直接异步连接)建立连接。在一个实施例中,计算设备100经由任何类型和/或形式的网关或隧道协议(例如,安全套接层(SSL)或传输层安全(TLS),或由佛罗里达州劳德代尔堡的思杰系统(Citrix Systems)公司制造的思杰(Citrix)网关协议)与其他计算设备100’通信。网络接口118可包括内置网络适配器、网络接口卡、PCMCIA网卡、EXPRESSCARD网卡、卡总线网络适配器、无线网络适配器、USB网络适配器、调制解调器或适于将计算设备100连接到能够通信并执行本文所述操作的任何类型的网络的任何其他设备。
图1C和图1D中描绘的种类的计算设备100可以在操作系统的控制下操作,操作系统控制任务的调度和对系统资源的访问。计算设备100可以运行任何操作系统,诸如微软WINDOWS操作系统的任何版本、Unix和Linux操作系统的不同版本、用于Macintosh计算机的MAC OS的任何版本、任何嵌入式操作系统、任何实时操作系统、任何开源操作系统、任何专有操作系统、用于移动计算设备的任何操作系统、或能够在计算设备上运行并执行本文所述操作的任何其他操作系统。典型操作系统包括但不限于:WINDOWS 2000、WINDOWS服务器2012、WINDOWS CE、WINDOWS Phone、WINDOWS XP、WINDOWS VISTA、以及WINDOWS 7、WINDOWSRT和WINDOWS 8,所有这些系统均由华盛顿州雷德蒙德的微软公司制造;由加利福尼亚州库比蒂诺的苹果公司制造的MAC OS和iOS;以及可免费获取的操作系统Linux,例如,LinuxMint发行版(“distro”)或由英国伦敦的Canonical有限公司发行的Ubuntu;或Unix或其他类似Unix的衍生操作系统;以及由加利福尼亚州山景城的谷歌设计的安卓等。一些操作系统(包括例如,谷歌的CHROME OS)可用于零客户端或瘦客户端,包括例如CHROMEBOOK。
计算机系统100可以是任何工作站、电话、台式计算机、膝上型或笔记本计算机、上网本、ULTRABOOK、平板电脑、服务器、手持式计算机、移动电话、智能手机、或其他便携式电信设备、媒体播放设备、游戏系统、移动计算设备、或任何其他类型和/或形式的能够通信的计算、电信或媒体设备。计算机系统100包括足够的处理器功率和存储器容量,以执行本文所述的操作。在一些实施例中,计算设备100可以具有与该设备一致的不同处理器、操作系统、以及输入设备。例如,三星GALAXY智能手机在由谷歌公司开发的安卓操作系统的控制下运行。GALAXY智能手机经由触摸界面接收输入。
在一些实施例中,计算设备100是游戏系统。例如,计算机系统100可包括由日本东京的索尼公司制造的PLAYSTATION 3或PERSONAL PLAYSTATION PORTABLE(PSP)或PLAYSTATION VITA设备;由日本京都的任天堂有限公司制造的任天堂DS、任天堂3DS、任天堂WII、或任天堂WII U设备;由华盛顿州雷德蒙德的微软公司制造的XBOX 360设备。
在一些实施例中,计算设备100是数字音频播放器,诸如由加利福尼亚州库比蒂诺的苹果计算机制造的苹果IPOD、IPOD Touch和IPOD NANO系列设备。一些数字音频播放器可具有其他功能,包括例如,游戏系统或来自数字应用程序发行平台的应用程序实现的任何功能。例如,IPOD Touch可以访问苹果应用商店(App Store)。在一些实施例中,计算设备100是便携式媒体播放器或数字音频播放器,支持的文件格式包括但不限于MP3、WAV、M4A/AAC、WMA保护的AAC、AIFF、客厅有声读物、苹果无损音频文件格式和.mov、m4v以及.mp4MPEG-4(H.264/MPEG-4AVC)视频文件格式。
在一些实施例中,计算设备100是平板电脑,例如,苹果的IPAD系列设备;三星的GALAXY TAB系列设备;或者华盛顿州西雅图的亚马逊网站公司的KINDLE FIRE。在其他实施例中,计算设备100是电子书阅读器,例如,亚马逊网站的KINDLE系列设备,或纽约州纽约市巴诺(Barnes&Noble)公司的NOOK系列设备。
在一些实施例中,通信设备102包括设备的组合,例如,与数字音频播放器或便携式媒体播放器组合的智能手机。例如,这些实施例中的一者是智能手机,例如,由苹果公司制造的IPHONE系列智能手机;由三星公司制造的三星GALAXY系列智能手机;或者摩托罗拉DROID系列智能手机。在又另一实施例中,通信设备102是配备有web浏览器和麦克风和扬声器系统(例如,电话耳机)的膝上型或台式计算机。在这些实施例中,通信设备102是web启用的,并且可以接收和发起电话呼叫。在一些实施例中,膝上型计算机或台式计算机还配备有网络摄像头或实现视频聊天和视频呼叫的其他视频捕获设备。
在一些实施例中,通常作为网络管理的一部分,网络104中的一个或多个机器102、106的状态被监视。在这些实施例的一个实施例中,机器的状态可包括负载信息(例如,机器上的进程数、CPU和内存利用率)、端口信息(例如,可用通信端口数和端口地址)、或会话状态(例如,进程的持续时间和类型,以及进程是活动的还是空闲的)的标识。在这些实施例的另一实施例中,可以通过多个度量来识别该信息,并且该多个度量可以至少部分地应用于负载分布、网络流量管理和网络故障恢复中的决定以及本文描述的本方案的操作的任何方面。在本文公开的系统和方法的上下文中,上述操作环境和部件的各方面将变得显而易见。
B.SaaS应用程序中的用户情感预测
本公开涉及提供用于在与SaaS计算机程序或其他软件内的在线内容交互时预测用户情感(诸如沮丧、吸引、以及确信)的平台的系统和方法。该平台能够识别创造性地思考的用户,使用证据支持他们对复杂问题的解决方案,并在各种环境中清晰地沟通。该平台能够识别用户在复杂、开放性问题上的表现。该平台能够将用户置于真实场景中,并从他们的行为中学习。该平台能够高效、大规模地传递基于真实的问题的评估,并被设计用于集成。该平台能够跟踪来自直接和间接输入的分散信号集以观察和衡量能力,并适应以实时交互。该平台能够使用机器学习和数据分析,根据从新手到专家的范围内的参考数据来分析用户模式和决定。该平台能够通过清晰、可执行的报告揭示见解和学习路径,从而为数据驱动的决定提供信息。
现在参考图1E,图1E示出了根据一个或多个公开的实施例的描绘用于预测用户情感的总体系统的部件的框图。系统包括事件收集器180。事件收集器180可被配置成在web客户端、浏览器、移动应用程序、工作站、电话、台式计算机、膝上型或笔记本计算机、上网本、ULTRABOOK、平板电脑、服务器、手持式计算机、移动电话、智能手机、或其他便携式电信设备、媒体播放设备、游戏系统、移动计算设备、或任何其他类型和/或形式的计算、电信或媒体设备、和/或计算机系统100内操作。事件收集器180被配置为通过跟踪用户与触摸界面、输入设备、键盘、和/或指针设备的交互来收集事件。在一些实施例中,指针设备包括计算机鼠标。如本文所述,事件收集器180与数据摄取流水线182、手势提取器184、机器学习流水线186、注释器188、以及数据仓库190通信耦合。
现在参考图2A,图2A示出了根据一个或多个公开的实施例的从用户界面收集事件210的事件收集器180的方法的流程图200。事件210包括事件210a-210n(通常使用附图标记210来指示)或与事件210a-210n相关联。事件210可包括与内容的交互,诸如:鼠标点击、鼠标遍历、点击、暂停、空闲时间、按键、内容切换、上下文切换、按钮可用性、和/或网络活动。在一些实施例中,事件收集器180包括Javascript事件收集器。方法200可包括对事件收集器180进行初始化(框202)。方法200可包括识别在客户端应用程序中激发的事件210(框204)。在一些实施例中,客户端应用程序可包括但不限于浏览器。方法200可包括捕获在客户端应用程序中激发的事件,包括捕获事件的上下文(框206)。在一些实施例中,表示被捕获的事件的数据被发送到数据摄取流水线182。方法200可包括保留被捕获的事件210(框208)。在一些实施例中,事件被保留在数据仓库190中。
事件收集器210可以实现为被配置为监视一个或多个IO端口上的用户输入的软件层。检测到的事件210可以记录在一个或多个事件日志300中。事件收集器210可包括事件记录器。根据一些实施例,事件收集器210可包括被配置成记录、保存、编码、载入日志或以其他方式保留事件210的任何软件、硬件或其组合。本领域普通技术人员将理解,在不脱离所公开实施例的精神和范围的情况下,存在各种已知方法来记录和收集事件。
现在参考图2B,图2B是包括由事件收集器180收集的事件元素的事件210A的示例。可以经由层来收集事件。可以从应用程序、应用程序编程接口(API)、或计算库中获取层。层可以实现为JavaScript层。可以收集事件的任何类型和形式的可用数据。例如,事件元素可包括:事件类型,“event_type”;任何alt键的状态,“altKey”;事件是否可以传播文档对象层级结构(document object hierarchy),“bubbles”;按下哪个鼠标按钮,“button”;按下哪些鼠标按钮,“buttons”;事件是否可取消,“concelable”;鼠标指针相对于浏览器左上角的x坐标,“clientX”;鼠标指针相对于浏览器左上角的y坐标,“clientY”;事件发生时任意ctrl键的状态,“ctrlKey”;关于该事件的附加信息,“detail”;事件的处理阶段,“eventPhase”;事件发生时元键的状态,“metaKey”,鼠标指针相对于父元素左上角的x坐标,“offsetX”;鼠标指针相对于父元素左上角的y坐标,“offsetY”;鼠标指针相对于文档左上角的x坐标,“pageX”;鼠标指针相对于文档左上角的y坐标,“pageY”,鼠标指针相对于屏幕左上角的x坐标,“screenX”;鼠标指针相对于屏幕左上角的y坐标,“screenY”;事件发生时任何shift键的状态,“shiftKey”;事件的时间,“timeStamp”;事件期间按下的键或鼠标按钮的标识符,“which”;事件的当前元素,“currentTarget”;对其上发生事件的对象的引用,“target”;对鼠标指针输入的对象的引用,“toElement”;元素的标题,“elementTitle”;元素的标签,“elementLabel”;自定义元素,“elementRevive”;自定义元素,“uniqueFeltId”;事件发生的文档的宽度,“documentWidth”;事件发生的窗口的宽度,“windowWidth”;事件发生的缩放级别,“zoomLevel”;与事件相关联的文档的文件路径,“path”,与事件相关联的项的索引,“itemIndex”。
现在参考图3,图3示出了根据一个或多个公开的实施例的用于接收和处理客户端事件的数据摄取流水线182。可以使用一个或多个云计算资源来实现数据摄取流水线。图3示出了可以应用于各种不同云计算平台的数据摄取流水线的非限制性通用数据流。本领域普通技术人员将理解,在不脱离所公开的实施例的精神和范围的情况下,也可以在其他计算系统或计算设备中实现关于图3所示和讨论的原理。
在一些实施例中,事件收集器180在客户端102设备上操作。在一些实施例中,事件收集器180可被配置成向消息代理302和实时数据处理平台304发送实时事件日志300。实时数据处理平台304可包括有时被称为Kinesis Firehose的云计算服务。实时数据处理平台304可包括被配置成自动接受数据(诸如事件日志300)并将其发送到指定目的地(诸如数据储存库314)的服务。在一些实施例中,实时数据处理平台304被配置成将实时事件日志300发送至转换306。在一些实施例中,转换306可被配置成通过使用在计算服务308上运行的配置代码310将实时事件日志300转换为微批(microbatch)312。在一些实现中,配置代码可包括自定义代码。自定义代码可包括用于在诸如云计算环境的计算环境中处理和路由被捕获的事件的一组规则。在一些实现中,计算服务308可包括有时称为Lambda的云计算服务。Lambda可以包括事件驱动的、无服务器的计算平台。配置代码310可以由用户配置。在一些实现中,配置代码310由实时数据处理平台304自动生成。
在一些实施例中,消息代理302被配置成向数据储存库314发送微批312。根据一些实施例,微批312可以Parquet格式313或任何其他列式格式存储。Parquet格式以平面列式格式定义嵌套数据结构的存储。在一些实施例中,可以在预定的基础(诸如5分钟的微批)上调度微批312。数据储存库314可包括有时称为数据湖(Data Lake)的云计算服务。在一些实施例中,数据储存库314被配置成将微批312存储在文档数据库316中。文档存储库316可包括有时称为DynamoDB的云计算服务。在一些实施例中,文档数据库316将分区管理318应用于微批312。在一些实施例中,数据储存库314通信地耦合至数据仓库322。数据仓库322可包括有时称为Hive的云计算服务。数据仓库322可被配置成将编程模型减少为简化的表示,并支持数据仓库交互,诸如查询、过滤、分析、检索、提取、转换、或本领域已知的任何其他交互。数据储存库314和数据仓库322可被配置成交换查询320。查询320可包括SQL或HiveQL查询。在一些实施例中,查询320包括关于事件210B的数据。在一些实施例中,事件210B包括与数据类型相关联的事件元素。
现在参考图4,图4示出了根据一个或多个公开的实施例的表示从页面上所有鼠标移动的完整轨迹中提取的目标分段的手势或决定手势的非限制性示例。根据一些实施例,手势可包括多个事件210或事件的模式。决定手势可包括在检测到决定和表示任务提交或结论的事件之间收集的事件210。图4示出了从用户界面收集的事件210的非限制性示例,该事件210由跟踪鼠标移动的线和表示鼠标点击的圆400A-400E所示。可以从图4中所示的事件中提取一个或多个手势,包括决定手势。
在一些实施例中,手势可包括与以鼠标点击结束的鼠标移动相对应的事件模式。在一些实施例中,手势可包括与以鼠标点击开始并包括与鼠标移动相对应的事件的事件模式。根据一些实施例,手势可包括与用户将文本键入文本框中相对应的事件模式,并且除了键入事件之外,可以进一步包括鼠标点击事件。本领域普通技术人员将理解,在不脱离所公开的实施例的精神和范围的情况下,可以收集其他手势,并且在识别手势中可以使用任何事件集210。
在一些实施例中,手势可包括决定手势。手势可包括事件集,包括输入设备的移动、鼠标的移动、按键、来自触摸界面的输入、和/或与电子设备的任何其他用户交互。在一些实施例中,手势可包括表示用户完成与模块交互的点的决定点402。在图4中,可以基于鼠标移动方向上的突然变化来识别决定点402。在另一个非限制性示例中,可以基于鼠标在用户界面中以直接路径移动到提交按钮或下一个按钮404的开始来识别决定点402。在一些实施例中,决定手势包括从用户决定完成活动的决定点402到用户点击提交(下一个)404按钮的点的事件210。在一些实施例中,决定手势可包括从页面上的鼠标移动轨迹中提取的目标分段。手势可包括由图4中的一个或多个圆400表示的鼠标点击400A-400N(通常使用附图标记400来指示)。鼠标点击可与事件210相关联。在一些实施例中,点击可以是提交点击400E。本领域普通技术人员将理解,在不脱离所公开的实施例的精神和范围的情况下,可以使用用于识别决定点和手势的其他标准。
现在参考图5,图5示出了根据一个或多个公开的实施例的手势提取器184输出一个或多个手势类型的事件模式,并将手势存储到数据库的方法的流程图。方法500可包括从用户界面输入原始数据(包括捕获的事件210)(框502)。方法500可包括向数据添加方向(框504)。根据一些实施例,捕获的事件210可包括由鼠标在其上遍历的x和y坐标标识的一系列像素。添加方向可包括通过查找经遍历的像素的x和y坐标之间的差来转换鼠标所遍历的像素。根据框504处理的数据可以被标识为经预处理的数据。根据一些实施例,经预处理的数据可包括原始数据的其他处理,诸如过滤、转换、归一化或准备将事件模式识别为原始数据的经捕获事件210中的手势的任何其他处理。
该方法可以进一步包括将经预处理的数据输入到流式数据流引擎(框506)。根据一些实施例,可以使用诸如Apache Flink的工具或服务来实现流式数据流引擎。方法500可以进一步包括使用流式数据流引擎从时间滑动窗口(sliding window of time)读取经捕获事件210(框508)。根据一些实施例,时间滑动窗口可包括两秒钟窗口。根据一些实施例,时间滑动窗口可包括一(1)秒、小于一(1)秒、或大于两(2)秒。本领域普通技术人员将理解,在不脱离所公开的实施例的精神和范围的情况下,可以将其他持续时间用于时间滑动窗口。
方法500可以进一步包括使用流式数据流引擎以对以提交按钮点击结束的一系列鼠标移动事件执行模式匹配(框510)。方法500可以进一步包括使用流式数据流引擎来确定是否找到按钮点击事件(框512)。如果未找到按钮点击事件,则方法500将返回到框508,以基于时间滑动窗口读取一个或多个附加事件。如果找到按钮点击事件,则方法500将从框512过渡至框514。
在框514处,方法500可以进一步包括确定从时间滑动窗口读取的两个经捕获事件之间的主要方向(框514)。根据一些实施例,该方法可以确定时间滑动窗口结束时的事件和开始时的事件之间的主要方向。根据一些实施例,在时间滑动窗口结束或开始处的事件可包括按钮点击事件。
方法500可以进一步包括确定事件210中是否存在方向上的大变化(框516)。根据一些实施例,方向上的大变化可包括主要方向变化大于90度。根据一些实施例,方向上的大变化可包括主要方向变化大于100度。本领域普通技术人员将意识到,在不脱离所公开的实施例的精神和范围的情况下,其他阈值可以用于方向上的大变化。
根据一些实施例,方法500可以确定与时间滑动窗口相对应的事件中是否存在方向上的大变化。响应于确定存在方向上的大变化,方法500可以使用方向变化点作为决定点402,并丢弃决定点402之前的事件数据(框518),并将时间滑动窗口中剩余的事件数据保留为检测到的手势。响应于确定事件数据中不存在方向上的大变化,方法500可前进到框520。
在框520处,该方法可以使用时间滑动窗口中的第一事件作为决定点402,并将时间滑动窗口中的事件数据保留为检测到的手势(框520)。方法500可包括将手势存储在数据库(DB)中(框522)。在一些实施例中,数据库可包括数据仓库190。方法500可以重复框502-522中的步骤。
现在参考图6,图6示出了根据一个或多个公开的实施例的从目标手势提取并用于训练情感预测模型的第一机器学习(ML)特征集。方法600可包括输入手势(框602)。根据一些实施例,输入手势可包括输入包括使用图5的手势提取器184方法检测到的一个或多个手势的记录。在一些实施例中,可以从数据仓库190输入手势。方法600可包括确定包括手势的记录的数量是否为零(方框604)。响应于确定包括一个或多个手势的记录的数量为零,方法600将从框604过渡至框602以接收额外的输入。响应于确定包括一个或多个手势的记录的数量不为零,方法600将前进到框606a-606n。
在框606a-606n处,该方法可以生成输入手势的一个或多个特征(框606a-606n)。特征可包括一个或多个特征606a-606n(通常使用附图标记606来指示)。可以基于特征定义来执行一个或多个特征606的生成(框608a-608n)。特征定义可包括一个或多个计算608a-608n(通常使用附图标记608来指示)。
使用计算608生成的每个特征606可以存储在DB中(框610)。方法600可以包括通过计算开始时间来生成初始特征606a(框608a)。方法600可以包括基于计算结束时间来生成结束时间特征606b(框608b)。方法600可包括通过计算开始时间和结束时间之间的差来生成持续时间特征606c(框608c)。持续时间特征606c可对应于手势的持续时间。方法600可包括通过计算与手势中包括的事件相对应的两点之间的距离来生成行进距离特征606d(框608d)。距离的计算可包括使用欧几里德距离。方法600可包括通过使用总距离和持续时间计算手势中包括的事件之间的移动速度来生成速度特征606e(框608e)。方法600可包括通过使用一个或多个速度变化和对应于一个或多个速度变化的一个或多个持续时间来计算加速度来生成加速度特征606f(框608f)。方法600可包括通过使用对加速度和速度的傅里叶变换来计算速度和加速度的最高频率信号来生成加速度傅里叶变换特征606g(框608g)。根据一些实施例,可以基于其他特征定义608n生成其他特征606n。现在参考图7,图7示出了根据一个或多个公开的实施例的从目标手势提取并用于训练情感预测模型的第二机器学习(ML)特征集。方法700可包括输入手势(框702)。根据一些实施例,输入手势可包括输入包括使用图5的手势提取器184方法检测到的一个或多个手势的记录。在一些实施例中,可以从数据仓库190输入手势。方法700可包括确定包括一个或多个手势的记录的数量是否为零(方框704)。响应于确定包括一个或多个手势的记录的数量为零,方法700将从框704过渡回框702以接收额外的手势输入。响应于确定包括一个或多个手势的记录的数量不为零,方法700将前进到框706a-706n。
在框706a-706n处,该方法可以生成输入手势的一个或多个特征(框706a-706n)。特征可包括一个或多个特征706a-706n(通常使用附图标记706来指示)。可以基于特征定义来执行一个或多个特征706的生成(框708a-708n)。特征定义可包括一个或多个计算708a-708n(通常使用附图标记708来指示)。
基于计算708生成的每个特征710可以存储在DB中(框710)。方法700可包括通过对输入手势中的点击事件进行计数来生成点击数量特征706a(框708a)。方法700可包括通过对输入手势中包括的开始坐标和结束坐标之间的点进行计数来生成点数量特征706n(框708b)。方法700可包括通过使用手势中的事件计算位移来生成位移特征706c(框708c)。根据一些实施例,位移可包括使用梯形法则的曲线下的面积。
方法700可包括通过计算手势的事件的x和y坐标的熵来生成熵特征706d(框708d)。根据一些实施例,可以通过将x和y坐标转换为概率箱(probability bin)来计算熵。方法700可包括生成相对熵特征706e(框708e)。根据一些实施例,生成相对熵特征706e可包括确定熵特征706d的Kullback-Leibler散度。
方法700可包括通过计算输入手势的事件的x坐标、y坐标的排列熵来生成排列熵特征706f(框708f)。方法700可包括通过使用Wasserstein度量或Kantorovich-Rubinstein度量计算推土机(earth mover)的距离来生成推土机距离特征706g,该推土机距离特征706g定义概率分布之间的距离的测量(方框708g)。方法700可包括通过对方向变化的数量进行计数来生成方向改变数量特征。根据一些实施例,可以通过查找3个连续点之间的角度来确定方向变化(框708e)。在一些实施例中,仅当角度大于“30.6度”的阈值角度时,才将该角度视为方向变化。根据一些实施例,阈值角度可以是20度、25度、30度、或35度。本领域普通技术人员将认识到,在不脱离所公开的实施例的精神和范围的情况下,可以使用其他阈值角度。
适于所公开的实施例的机器学习模型可包括但不限于:神经网络、线性回归、逻辑回归、决策树、支持向量机(SVM)、朴素贝叶斯、kNN、K均值、随机森林、降维算法、或梯度提升算法,并且可以采用的学习类型包括但不限于:监督学习、无监督学习、强化学习、半监督学习、自监督学习、多实例学习、归纳学习、演绎推理、直推学习、多任务学习、主动学习、在线学习、迁移学习、或集成学习。
现在参考图8,图8示出了根据一个或多个公开的实施例的机器学习流水线186的机器学习模型训练过程。方法800可包括初始化评估任务802。评估任务802可包括涉及用户与计算设备、软件或SaaS交互的任何任务。根据一些实施例,评估任务802可被配置成生成用于训练机器学习模型的标签。标签可包括一个或多个标签804a-804n(通常使用附图标记804来指示)。根据一些实施例,可以基于用户情感生成标签804a-804n。如图8中所示,用户情感标签可包括但不限于“我感到确信”804a、“我感到沮丧”804b或“我感到吸引”804c。还可以使用其他用户情感,并且本领域普通技术人员将理解,可以在不修改所公开的实施例的新颖特征的情况下使用不同的情感标签804。
根据一些实施例,可以通过一个或多个调查来获得用户情感,或以其他方式请求用户报告情感。如本文所述,用户报告的情感可被存储并用于训练机器学习模型以生成用户情感预测。在一些实施例中,标签804n根据李克特量表(Likert Scale)定义。在一些实施例中,标签804可以存储在标签数据库806中。方法800可以通过标签数据库806将标签传输到机器学习模型,用于训练该机器学习模型。机器学习模型可包括一个或多个机器学习模型818a-818n(通常使用附图标记818来指示)。
根据一些实施例,评估任务802可被配置成向手势提取器184发送事件以提取手势,如关于图4和图5所述。如图6和图7所述,用于预测用户情感的系统可以识别从一个或多个手势中提取的机器学习特征集。在一些实施例中,特征被发送到特征数据库810。特征数据库810可以存储特征。特征数据库810可以传输完整的特征集812。完整特征集812可包括一个或多个特征。
根据一些实施例,系统可以对完整特征集812执行降维814。在一些实施例中,降维814可以减少方法800考虑的特征的数量。可以使用主成分分析(PCA)或线性判别分析(LDA)中的一者或多者来执行降维814。在一些实施例中,降维814产生主变量集。在一些实施例中,降维814可以将主变量划分为特征选择和特征提取。本领域普通技术人员将理解,在不脱离所公开的实施例的精神和范围的情况下,可以使用各种降维方法,包括PCA和LDA。
降维814将完整特征集812减少为简化特征集816。简化特征集816被传输到模型818。根据一些实施例,模型818可以将标签808和简化特征集816组合成结果820。结果与一个或多个结果820a-820n相关联(通常使用附图标记820指示)。根据一些实施例,结果820可包括基于简化特征集816的用户情感预测结果820。如图8中所示,机器学习模型818可包括多个机器学习模型818a-818n。根据一些实施例,一个或多个机器学习模型818a-818n中的每一者可以使用相同标签和简化特征集816的不同子集进行训练。根据一些实施例,机器学习模型818a-818n中的每一者可以使用标签和简化特征集的单个特征进行训练。
结果820可以组合成比较性能度量822。根据一些实施例,比较性能度量822可包括基于标签808和用户情感预测结果820的损失函数。损失函数可以执行用户情感预测结果820和标签808的比较,并返回结果820和标签808之间的差异。该差异可反馈给机器学习模型818,并用于加权或偏置机器学习模型818或修改机器学习模型的一个或多个参数以改进用户情感预测结果820。机器学习模型的参数由为实现所公开的实施例而选择的特定类型的机器学习模型确定。可以使用附加手势和经提取特征来训练机器学习模型,直到损失函数的输出达到期望的准确度,即,结果820和标签808之间的差异减小到可接受的水平。适用于所公开的实施例的损失函数包括但不限于合页损失函数或多类支持向量机损失函数或交叉熵损失函数。
现在参考图9,图9示出了根据一个或多个公开的实施例的机器学习流水线的机器学习预测器或注释器。方法900可包括初始化评估任务902。评估任务802可包括涉及用户与计算设备、软件或SaaS交互的任何任务。评估任务902可被配置成向手势提取器184发送从评估任务902捕获的事件以用于提取手势,如关于图4和图5所述。如图6和图7中所述,方法900可以识别从一个或多个手势中提取的机器学习特征集。根据一些实施例,可以将特征发送到特征数据库904。在一些实施例中,特征数据库904存储特征。特征数据库810可以传输完整的特征集906用于降维908。
在一些实施例中,为了在系统被部署以大规模生产时限制计算成本,经提取特征可限于有助于模型性能的特征,诸如但不限于初始、点击次数、加速度、加速度快速傅立叶变换、以及推土机距离。完整特征集906可包括一个或多个特征。在一些实施例中,系统根据需要接收预定特征以生成用户情感预测。完整特征集916可经历降维908。根据一些实施例,可以根据关于图8描述的任何降维方法来执行降维908。在一些实施例中,降维908可以减少方法900考虑的特征的数量。在一些实施例中,降维908获得主变量集。在一些实施例中,降维908将主变量划分为特征选择和特征提取。降维908将完整特征集906减少为简化特征集910。
可将简化特征集910传送到经训练的机器学习模型。经训练的机器学习模型可包括一个或多个模型912a-912n(通常使用附图标记912来指示)。经训练的机器学习模型可以根据图8和相关描述进行训练。经训练的机器学习模型912基于简化特征集910生成输出914。输出914可包括一个或多个用户情感预测,包括诸如沮丧和吸引水平的信息。输出914可以被传输到注释数据库916。注释数据库可以存储输出914。因此,经训练的机器学习模型912可以基于在评估任务902期间捕获的事件生成用户情感预测,而无需评估任务902的用户响应调查或以其他方式明确地报告情感。用户情感预测是基于学习经提取特征和标签之间的关系的机器学习模型912生成的。
现在参考图10A,图10A示出了根据一个或多个公开的实施例的显示跨网站上的所有网页对用户进行情感预测的样本沮丧报告(在该非限制性示例中,网站是在线评估)。图10A示出了对沮丧水平的测量。y轴表示沮丧水平,并且x轴表示用户与客户端102的软件或SaaS交互的各个阶段。客户端102可以表示评估网站、web应用程序上的特定页面,或者其中每个页面是一个问题的评估。基于由事件收集器180提取的事件210的子集,为客户端102生成情感预测,在这种情况下,情感预测是沮丧水平。事件210用于为机器学习预测器或注释器构建特征集,以进行用户情感预测。
现在参考图10B,图10B示出了根据一个或多个公开的实施例的显示跨网站上的所有网页对用户进行情感预测的样本投入报告,该样本投入报告(在该非限制性示例中,网站是在线评估)。图10B示出了对吸引水平的测量。y轴表示吸引水平,并且x轴表示用户与客户端102的软件或SaaS交互的各个阶段。客户端102可以表示评估网站、web应用程序上的特定页面,或者其中每个页面是一个问题的评估。基于由事件收集器180提取的事件210的子集,为客户端102生成情感预测,在这种情况下,情感预测是沮丧水平。事件210用于为机器学习预测器或注释器构建特征集,以进行用户情感预测。在本公开的一些实施例中,系统和方法可以提供对用户的沮丧和吸引的逐页测量,从而改进网站或软件的可用性。这些测量可以提供对被划分的用户的群体水平情感预测。在本公开的一些实施例中,系统和方法可以提供沮丧和吸引作为其他ML模型的输入。例如,其他ML模型可以提高开放式回答或短文评价的得分。在一些实施例中,评价可以是在线的,或通过网络。
虽然已经参考特定实施例具体示出和描述了本解决方案,但本领域技术人员应当理解,在不脱离本公开中描述的实施例的精神和范围的情况下,可以在形式和细节上进行各种改变。

Claims (20)

1.一种生成用户情感预测的方法,所述方法包括:
接收从用户界面生成的一个或多个事件;
在所接收的事件中,识别模式作为手势;
提取所述手势的一个或多个特征;以及
基于所提取的特征,使用经训练的机器学习模型生成用户情感预测。
2.如权利要求1所述的方法,进一步包括:
训练机器学习模型,以基于从所述用户界面生成的所述一个或多个事件来生成所述用户情感预测。
3.如权利要求2所述的方法,其特征在于,所述机器学习模型的所述训练包括:
接收与和所述用户界面的交互相对应的用户报告的情感的标签;
接收与和所述用户界面的所述交互相对应的事件作为训练事件;
将所述训练事件中的一个或多个模式识别为一个或多个训练手势;
提取所述训练手势的一个或多个特征作为一个或多个训练特征;
将所述训练特征和所述标签提供给机器学习模型;
使用所述机器学习模型基于所述训练特征生成训练预测,其中所生成的训练预测表示与和所述用户界面的所述交互相对应的预测的用户情感;以及
通过使用所述标签和所述训练预测之间的差异修改所述机器学习模型的一个或多个参数来生成经训练的机器学习模型。
4.如权利要求3所述的方法,其特征在于,所述一个或多个手势包括决定手势,所述决定手势包括在决定点和提交点击之间收集的事件,所述决定点包括方向上的改变。
5.如权利要求1所述的方法,其特征在于,一个或多个特征的所述提取包括对与所述一个或多个特征相对应的一个或多个特征定义执行一个或多个计算。
6.如权利要求1所述的方法,其特征在于,所述一个或多个特征包括初始特征、点击次数特征、加速度特征、加速度快速傅立叶变换特征、以及推土机的距离特征。
7.如权利要求1所述的方法,其特征在于,所述事件包括鼠标移动、鼠标点击、或按键中的一者或多者。
8.一种非瞬态计算机可读介质,所述非瞬态计算机可读介质存储指令,当由处理器执行时,所述指令使所述处理器执行以下步骤:
接收从用户界面生成的一个或多个事件;
在所接收的事件中,识别模式作为手势;
提取所述手势的一个或多个特征;以及
基于所提取的特征,使用经训练的机器学习模型生成用户情感预测。
9.如权利要求8所述的非瞬态计算机可读介质,所述非瞬态计算机可读介质进一步存储指令,当由处理器执行时,所述指令使所述处理器进一步执行以下步骤:
训练机器学习模型,以基于从所述用户界面生成的所述一个或多个事件来生成所述用户情感预测。
10.如权利要求9所述的非瞬态计算机可读介质,其特征在于,所述机器学习模型的所述训练包括:
接收与和所述用户界面的交互相对应的用户报告的情感的标签;
接收与和所述用户界面的所述交互相对应的事件作为训练事件;
将所述训练事件中的一个或多个模式识别为一个或多个训练手势;
提取所述训练手势的一个或多个特征作为一个或多个训练特征;
将所述训练特征和所述标签提供给机器学习模型;
使用所述机器学习模型基于所述训练特征生成训练预测,其中所生成的训练预测表示与和所述用户界面的所述交互相对应的预测的用户情感;以及
通过使用所述标签和所述训练预测之间的差异修改所述机器学习模型的一个或多个参数来生成经训练的机器学习模型。
11.如权利要求10所述的非瞬态计算机可读介质,其特征在于,所述一个或多个手势包括决定手势,所述决定手势包括在决定点和提交点击之间收集的事件,所述决定点包括方向上的改变。
12.如权利要求8所述的非瞬态计算机可读介质,其特征在于,一个或多个特征的所述提取包括对与所述一个或多个特征相对应的一个或多个特征定义执行一个或多个计算。
13.如权利要求8所述的非瞬态计算机可读介质,其特征在于,所述一个或多个特征包括初始特征、点击次数特征、加速度特征、加速度快速傅立叶变换特征、以及推土机的距离特征。
14.如权利要求8所述的非瞬态计算机可读介质,其特征在于,所述事件包括鼠标移动、鼠标点击、或按键中的一者或多者。
15.一种用于生成用户情感预测的系统,所述系统包括:
处理器;
主存储器单元,所述主存储器单元存储指令,当由所述处理器执行时,所述指令使所述处理器执行以下步骤:
接收从用户界面生成的一个或多个事件;
在所接收的事件中,识别模式作为手势;
提取所述手势的一个或多个特征;以及
基于所提取的特征,使用经训练的机器学习模型生成用户情感预测。
16.如权利要求15所述的系统,其特征在于,所述主存储器单元进一步存储指令,当由所述处理器执行时,所述指令使所述处理器执行以下步骤:
训练机器学习模型,以基于从所述用户界面生成的所述一个或多个事件来生成所述用户情感预测。
17.如权利要求16所述的系统,其特征在于,对所述机器学习模型的所述训练包括:
接收与和所述用户界面的交互相对应的用户报告的情感的标签;
接收与和所述用户界面的所述交互相对应的事件作为训练事件;
将所述训练事件中的一个或多个模式识别为一个或多个训练手势;
提取所述训练手势的一个或多个特征提取为一个或多个训练特征;
将所述训练特征和所述标签提供给机器学习模型;
使用所述机器学习模型基于所述训练特征生成训练预测,其中所述被生成的训练预测表示与和所述用户界面的所述交互相对应的预测的用户情感;以及
通过使用所述标签和所述训练预测之间的差异修改所述机器学习模型的一个或多个参数来生成经训练的机器学习模型。
18.如权利要求17所述的系统,其特征在于,所述一个或多个手势包括决定手势,所述决定手势包括在决定点和提交点击之间收集的事件,所述决定点包括方向上的改变。
19.如权利要求15所述的系统,其特征在于,所述提取一个或多个特征包括对与所述一个或多个特征相对应的一个或多个特征定义执行一个或多个计算。
20.如权利要求15所述的系统,其特征在于,所述一个或多个特征包括初始特征、点击次数特征、加速度特征、加速度快速傅立叶变换特征、以及推土机距离特征。
CN202080087420.1A 2019-10-15 2020-10-14 用于在saas应用程序中对用户情感进行预测的系统和方法 Pending CN116075838A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962915578P 2019-10-15 2019-10-15
US62/915,578 2019-10-15
PCT/US2020/055533 WO2021076591A1 (en) 2019-10-15 2020-10-14 Systems and methods for prediction of user affect within saas applications

Publications (1)

Publication Number Publication Date
CN116075838A true CN116075838A (zh) 2023-05-05

Family

ID=75382840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080087420.1A Pending CN116075838A (zh) 2019-10-15 2020-10-14 用于在saas应用程序中对用户情感进行预测的系统和方法

Country Status (3)

Country Link
US (1) US20210109607A1 (zh)
CN (1) CN116075838A (zh)
WO (1) WO2021076591A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220101749A1 (en) * 2020-09-28 2022-03-31 Sony Interactive Entertainment LLC Methods and systems for frictionless new device feature on-boarding

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090100383A1 (en) * 2007-10-16 2009-04-16 Microsoft Corporation Predictive gesturing in graphical user interface
TW201133298A (en) * 2010-03-25 2011-10-01 Novatek Microelectronics Corp Touch sensing method and system using the same
US8863020B2 (en) * 2010-12-02 2014-10-14 Blackberry Limited Portable electronic device and method of controlling same
US8566696B1 (en) * 2011-07-14 2013-10-22 Google Inc. Predicting user navigation events
KR101805922B1 (ko) * 2011-08-01 2017-12-07 엘지이노텍 주식회사 포인터 이동 값 보정 방법 및 이를 사용하는 3d 포인팅 디바이스
US20130077820A1 (en) * 2011-09-26 2013-03-28 Microsoft Corporation Machine learning gesture detection
KR20150080741A (ko) * 2014-01-02 2015-07-10 한국전자통신연구원 연속 값 입력을 위한 제스처 처리 장치 및 그 방법
US9678664B2 (en) * 2015-04-10 2017-06-13 Google Inc. Neural network for keyboard input decoding
KR102474245B1 (ko) * 2017-06-02 2022-12-05 삼성전자주식회사 스와이프 입력에 기초하여 입력 문자를 판단하는 시스템 및 방법

Also Published As

Publication number Publication date
US20210109607A1 (en) 2021-04-15
WO2021076591A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
CN111417961B (zh) 弱监督的图像分类器
US9819633B2 (en) Systems and methods for categorizing messages
US11902317B2 (en) Systems and methods for determining a job score from a job title
US10990810B2 (en) Automated facial recognition detection
US20170272550A1 (en) Systems and methods for establishing communication interfaces to monitor online interactions via event listeners
US20190385212A1 (en) Real-time in-venue cognitive recommendations to user based on user behavior
US20150127325A1 (en) Methods and systems for natural language composition correction
US20220188885A1 (en) Systems and methods for cloud-based document processing
US11789542B2 (en) Sensor agnostic gesture detection
US20230141680A1 (en) Multi-user collaborative interfaces for streaming video
US20200372396A1 (en) Optimal content identification for learning paths
US20210109607A1 (en) Systems and methods for prediction of user affect within saas applications
US11237890B2 (en) Analytics initiated predictive failure and smart log
US20200394117A1 (en) Software application validation
US11714637B1 (en) User support content generation
US20220405510A1 (en) Speculative actions based on predicting negative circumstances
US11620316B1 (en) Systems and methods for building an inventory database with automatic labeling
US11763115B1 (en) System communication in areas of limited network connectivity
US20230162613A1 (en) Systems and methods for semantic content customization
US11740726B2 (en) Touch sensitivity management
US10834381B1 (en) Video file modification
US11830352B1 (en) Haptic vibration exposure control based on directional position of power recovery module
US20240119580A1 (en) Underwater machinery performance analysis using surface sensors
US11163988B2 (en) Selective interactive event tracking based on user interest
WO2023061293A1 (en) Knowledge graph driven content generation

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