自我学习的用户界面的制作方法

文档序号:14609210发布日期:2018-06-05 20:27阅读:153来源:国知局
自我学习的用户界面的制作方法

本发明涉及网络通信,更具体地,涉及改进在移动应用程序的网页应用程序中生成基于网页的用户界面。



背景技术:

网页应用程序和移动应用程序用于计算机之间基于互联网的通信。网页应用程序可以被在计算机上的网页浏览器程序运行,以执行特定任务。移动应用程序是在移动设备(比如智能手机或平板电脑)上运行的单机应用程序。

这些应用程序可以包含视图,视图转而包括一个或多个用于向用户展示信息以及从用户接收信息的表单、菜单或控制面板。由于视图中的用户界面元素的数量,视图可能会显得很凌乱,或者使用户难以操纵。

本节描述的方法是能够被实行的方法,但是不必是以前已经被构思或实行的方法。因此,除非另外指出,否则不应仅仅是依据它们被包括在本节中,就假定本节描述的任何一个方法适于作为现有技术。

附图说明

图1为可以实施各种实施例的系统的方块图。

图2为根据各种实施例的生成自我学习的用户界面的方法的流程图。

图3A和图3B描述了根据各种实施例的示例性的未改进的用户界面的部分。

图4A和图4B描述了根据各种实施例的示例性的未改进的用户界面的部分。

图5描述了根据各种实施例的示例性的改进后的用户界面的部分。

图6描述了根据各种实施例的示例性的改进后的用户界面的部分。

图7为示出了可以用其实现本发明的一个实施例的计算机系统的方块图。

具体实施方式

在以下描述中,出于解释的目的,为了提供对本发明全面的理解,阐述了很多具体的细节。但是,很显然,无需这些具体的细节也可以实施本发明。在其他示例中,为了避免不必要地使本发明过于晦涩,将以方块图的形式示出众所周知的结构和设备。

总体概览

基于网页的应用程序中的用户界面可能由于功能、菜单、图像、表单和其他元素而变得很拥挤。应用程序的用户可能会被用户界面中包含的巨大数量的元素淹没。例如,管理互联网内容投送活动的应用程序可能具有多个账号、多个活动,并且,在每个活动中,具有各种菜单,这些菜单用于计费、以特定观众为目标、选择内容和内容类型,以及测量内容投送活动的表现。

在应用程序中,呈现给用户执行任务的工作流。工作流是包括很多可以按顺序提供的视图的用户界面。在工作流的每个视图中,可以执行一个或多个子任务。工作流的视图包括多个用户界面元素,这些用户界面元素包括菜单、表单、图像、文本以及类似元素。

应用程序的任何给定用户可以使用该应用程序执行有限数量的操作。例如,市场执行官可以绕开关于计费的用户视图或元素,同时反复地访问广告活动的表现数据。与此相反,会计员可以访问计费信息,同时绕开用户界面中的其他元素。

此即提供自我学习的用户界面。在自我学习的用户界面中,记录和存储特定用户在应用程序中先前的行为。使用模型(例如启发式模型或机器学习模型),分析用户的行为以确定该用户在应用程序中通常做些什么。这些行为也同样可以包括用户不做什么的记录。所述模型和被记录的用户的行为用于生成被移除了一些元素的新用户界面。在一些示例中,改进后的用户界面可以是修订后的工作流的部分,所述修订后的工作流具有与未改进的工作流不同数量的视图。在一些示例中,默认视图可以被更改为不同的视图,可以生成一个新视图(该新视图包括未改进的工作流中的各种视图中的元素),或者视图可以移除了一个或多个界面元素。系统概览

图1是可以在其中实施各种实施例的系统100的方块图。系统100是基于计算机的系统。系统100的各种部件至少部分地被硬件在一个或多个计算设备(例如一个或多个执行指令的硬件处理器,这些指令用于执行于此描述的各种功能,被存储在一个或多个内存中)中实现。系统100仅示出了部件的很多种可能的设置中的一种,所述部件被配置为执行于此描述的功能。其他设置可以包括更少或不同的部件,并且取决于设置,在部件之间的工作划分可以不同。

系统100包括运行客户端104A和104B的一个或多个用户设备102A和102B、网络106、服务器108,以及数据存储器112。每一个用户设备102A和102B、服务器108、以及数据存储器112与网络106进行有线或无线通信。

用户设备102A、102B包括计算设备,包括但不局限于工作站、个人计算机、通用计算机、笔记本电脑、互联网设备、手持设备、无线设备、有线设备、便携式或移动设备、可穿戴计算机、蜂窝或移动电话、便携式数字助理(PDA)、智能电话、平板电脑、多处理器系统、基于微处理器的或可编程的消费者电子设备、游戏控制台、机顶盒、网络PC、小型计算机,以及类似设备。每一个用户设备102A、102B包括客户端104A、104B。客户端104A、104B包括但不局限于应用程序(例如网页浏览器、软件和/或其他可执行指令,其用以促进于此描述的技术的各个方面)。用户设备102A、102B还可以包括与服务器108和/或数据存储器114通信的额外应用程序或其他接口能力。取决于实施例,用户设备102A、102B可以在地理上位于彼此分散的地点。尽管图1中示出了两个用户设备102A、102B,系统100中可以包括多于或少于两个的用户设备102A、102B。

网络106包括通信网络,例如局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN),以及自组织网络、内联网、外联网、虚拟专用网(VPN)、互联网的部分、互联网、公共交换电话网络(PSTN),蜂窝网络,或两个或更多这些网络的组合。当网络106包括公共网络时,可以包括安全功能(例如,VPN/SSL安全传输)以确保在系统100中经授权后访问。

服务器108包括一个或多个服务器、计算机、处理器、数据库服务器,和/或计算设备,其被配置为通过网络106与数据存储器112和/或用户设备102A、102B通信。服务器108上有与下文详细描述的技术和数据相关的一个或多个应用程序、网站、社交网络,或其他可见的或用户界面机制。服务器108可以位于一个或多个在物理上分散的地点。虽然图1中示出了一个服务器108,取决于实施例,系统100可以包括一个、两个或任意数量的服务器108,这些服务器可以独立地和/或共同地提供于此描述的功能。

服务器108包括自我学习模型110。自我学习模型110是计算机模型,该计算机模型接收关于用户的数据,以及描述用户在过去与用户界面(包括工作流或一系列视图)进行交互的数据。自我学习模型110使用一个或多个分析技术通过从一系列视图的视图中移除一个或多个元素来修改工作流。该分析技术包括一个启发式模型和机器学习技术,将在下文进一步描述。在一些示例中,可以通过添加、合并或移除视图来修改工作流。

数据存储器112包括一个或多个数据库或存储设备,所述数据库或存储设备被配置为存储和维护用户概况、与用户概况相关联的数据、与使用或访问用户概况相关联的数据、从用户概况中获得的数据,和/或于此描述的被服务器108和/或客户端104A、104B使用的指令。在一些实施例中,数据存储器112可以位于一个或多个相对于服务器108在地理上分散的地点。在一些实施例中,服务器108和/或客户端104A、104B可以通过网络106访问数据存储器112。可替代地,服务器108可以不使用网络106访问数据存储112。作为另一可替代的示例,数据存储器112可以被包括在服务器108中。取决于实施例,系统100可以包括一个、两个或任意数量的数据存储器112,所述数据存储器112被配置为独立地和/或共同地存储于此描述的数据。

生成自我学习的用户界面

图2是根据各种实施例的用于生成自我学习的用户界面的方法200的流程图。服务器108可以执行方法200。方法200促进提供改进后的用户界面,基于该用户的(和/或一个或多个其他用户的)过去与用户界面的交互为用户定制此改进后的用户界面。提供改进后的用户界面可以减少从服务器108至客户端104A、104B通信的数据量。改进后的用户界面可以减少从服务器208至数据存储器112的调用数量(这是一个计算量非常大的进程),结果是有可能改善服务器108的性能。

在操作202中,服务器208从客户端104A、104B接收网页请求。网页可以相当于提供网页应用程序的网页。在客户端设备102A、102B上的移动应用程序中,操作202的请求可以是打开和执行该移动应用程序。所述请求可以包括数据(包括但不局限于地理位置、日时间、用户标识符、组织标识符,以及在组织中的角色)。请求发起与用户界面的会话。会话在此使用时是指一段持续的时间,在此期间用户与用户界面进行交互。会话可以基于到达超时时间段、用户从用户界面注销、或者另一引起会话结束的行为或非行为而结束。

在操作204中,服务器208访问与用户相关联的选择数据。选择数据被存储在数据存储器112中。选择数据可以包括用户行为的记录、关于用户的数据(包括用户角色)、和/或与该用户具有类似角色的其他用户的行为的记录。

当使用工作流或用户界面时,服务器108或其他计算机记录用户的行为。可以在用户与未改进的用户界面或与改进后的用户界面进行交互时记录行为。这些行为可以包括用户选择了哪个账号或活动。每个用户与一个或多个账号相关联。反过来,每个账号可以与一个或多个活动相关联。例如,为了示例,管理在线内容投递的账号可以与一个或多个内容投递活动相关联。可能被记录的用户的另一个行为包括用户对于用户界面中包括的一个或多个选项的选择。选项可以以电子表单、菜单、控制面板或其他用户界面元素的部分呈现。在一些实施例中,被记录的行为可以包括被输入与电子表单相关联的字段中的值或其他数据。

在一些示例中,可以记录有关用户行为的数据。该数据可以包括用户在用户界面中的特定视图花费的时间量。该数据可以进一步地包括特定行为,例如滚动、悬停于特定的界面元素、鼠标或光标移动,以及类似的行为。其他数据可以包括描述用户当前环境的数据。用户当前环境包括但不局限于:地理位置、用户设备、用户设备的类型(例如智能手机、平板电脑、或笔记本电脑)、日时间、星期几,以及类似信息。

在操作206中,服务器108中的自我学习模型110确定与用户界面相关联的视图中用户使用或未使用的元素。该确定可以包括该用户或具有与该用户类似角色的其他用户尚未请求某些视图,或尚未与某些用户界面元素进行交互的确定。

在一些示例中,该确定可以包括识别用户与之交互的界面元素,这些界面元素与该用户的特定账号或相关联的特定活动相关联。例如,当用户登录第一账号并访问第一活动时,用户可以习惯地访问特定组的用户界面元素。当同一用户登录第一账号并访问第二活动时,该用户可以访问不同组的用户界面元素。这个行为被记录到数据存储器112中。作为操作206进行确定的一部分,基于该用户已选择了第一活动还是第二活动,可以分别识别出特定组的用户界面元素,或者不同组的用户界面元素。

在一些实施例中,操作206的确定可以包括基于用户当前环境做出的确定。如果用户当前环境匹配或类似于记录用户的行为期间的该用户的先前环境,则可以使用当前环境识别该用户在先前已经或未选择哪些用户界面元素。例如,如果用户先前已经在工作日的工作时间期间从笔记本或台式计算机发送请求,并选择了第一账号和第一活动,并且在工作日的工作时间期间从同一计算机接收到当前请求,那么操作206的确定可以包括该用户未选择其他账号或内容投递活动的确定。进一步地,一个用户可以与多个环境相关联,每个环境与不同组的用户界面元素和/或视图相关联。

在操作208中,自我学习模型110从工作流或用户界面中移除在操作206中被确定为未被选择的元素。自我学习模型110通过以下方式移除元素,例如,将元素从折痕以上移动至折痕以下的位置,或至另一位置或另一视图,将元素移动至视图中被隐藏的选项卡,使元素变灰,将元素移动至默认显示为被折叠的扩展菜单,或者至可以隐藏其他用户界面元素的其他用户界面元素。因此,可以将用户界面元素添加到在正常用户界面或在“未学会”用户界面中不存在的“已学会”用户界面。

在一些实施例中,自我学习模型110可以从工作流中移除或修改视图。如果用户先前未选择视图,或者在导航离开某一视图以前,花费了相对较短长度的时间,那么自我学习模型110可以将该视图从工作流中移除。在一些情况下,被移除的视图可以是用户可以从中选择账号和/或活动的视图。自我学习模型110可以进一步地创建新视图,这是通过在用户界面的不同视图中识别元素,并在改进后的用户界面中的新视图中重新排列元素来实现的。从用户在其中不与该视图中的其他元素进行交互的视图中可以识别来自不同视图的元素。

自我学习模型110可以使用一个或多个技术执行对元素的移除。可能的技术包括机器学习,诸如决策树学习、关联规则学习、人工神经网络、深度学习、归纳逻辑编程、支持向量机、聚类、贝叶斯网络、增强学习、表示学习、相似度和度量学习、稀疏字典学习,以及遗传算法。可以使用这些技术的功能包括用户的属性(例如角色或工作职称、先前会话期间的用户环境,以及类似属性)。可以从,例如,用户的在线社交媒体概况中访问用户的属性。

一些实施例使用启发式模型作为自我学习模型110。表1中列出了一些示例性的启发方式:

表1

在一些示例中,自我学习模型110可以不经人工干预,使用统计学的、人工智能或机器学习技术自动地创建启发方式。在另一些示例中,开发者可以生成启发方式。自我学习模型110可以使用布尔运算符合并启发方式,以生成更加复杂的规则。

在操作210中,自我学习模型110在改进后的用户界面中生成一个或多个视图,这些改进后的用户界面排除了被移除的元素。生成的视图可以包括未改进的界面中的其他视图中的元素。在改进后的用户界面中,可以移除一个或多个视图。

改进后的界面可以包括改进后的默认视图,响应于操作202接收到请求而呈现该改进后的默认视图。可以通过,例如,移除与一个或多个账号或活动相关联的用户界面元素(这些账号或活动与该用户相关联)来改进默认视图。可以基于用户当前环境(包括例如日当前时间、用户设备类型,以及用户设备的地理位置)移除用户界面元素。

改进后的界面可以包括一个或多个用户界面元素,当用户选择这些用户界面元素时,允许用户选择被移除的界面元素。例如,可以通过选择选项卡元素访问原始用户界面中的视图。可以将一些被移除的界面元素定位于折痕以下,并且可以通过滚动访问它们。在一些示例中,可以在改进后的用户界面中将菜单或选项组折叠起来,以后通过选择选项扩展,将菜单或选项组展开。在一些示例中,可以指定改进后的用户界面的区域,使得当用户悬停在该区域时,出现一个弹出窗口或对话框。弹出窗口或对话框可以包括一个或多个可选择的选项,以访问被移除的用户界面元素。

在一些示例中,操作210生成的视图包括电子表单或其部分。在改进后的用户界面中,如果字段对应于不频繁地变动的值(例如账号编号或付费信息),则可以移除电子表单的一些字段。电子表单可以被预填一个或多个值。在一些示例中,基于用户行为的历史确定预填值。预填值可以匹配先前输入的值。在一些实施例中,可以基于用户的历史确定预填值。作为示例,如果用户界面包括具有投标值的字段和一个最小投标量的表单,并且如果用户具有输入最小投标量的历史,那么此表单将被预填最小投标数量。

图3A和图3B分别描述了根据各种实施例的示例性的未改进的用户界面的部分。图3A描述了未改进的用户界面中的第一视图300,该第一视图300包括允许用户选择账号的元素310,账号为:ACME Corp.或者Freelance Gig LLC。图3B描述了第二视图350(在未改进的用户界面中),当用户在第一视图300中选择ACME Corp.以后呈现该第二视图350。第二视图350包括菜单360,从该菜单中用户可以选择“内容和内容类型”、“计费”、“目标”和“表现统计”。

图4A和图4B描述了根据各种实施例的示例性的未改进的用户界面的部分。图4A描述了第三视图400,响应于在第二视图350的菜单360中选择“表现统计”而呈现给用户该第三视图400。第三视图400包含三个用户界面元素:查看410、点击420以及查看者数据430。用户界面元素可以包括,例如,图表、图形、图像、视频、音频、图片、电子表格、菜单和/或可选择的选项。图4B描述了第四视图450,响应于在第二视图350的菜单360中选择“计费”而呈现给用户该第四视图450。第四视图450包括三个用户界面元素:当前交易460、付费历史470、以及账号概况480。用户界面元素可以包括,例如,图表、图形、图像、视频、音频、图片、电子表单、菜单和/或可选择的选项。

图5描述了根据各种实施例的示例性的改进后的用户界面的部分。第一改进视图500描述了改进后的默认视图,响应于作为操作202的一部分接收到的请求而提供该改进后的默认视图。第一改进视图500包括说明ACME Corp.账号已被自动地(基于,例如,用户当前环境)选择的文本。

第一改进视图500进一步地包括两个用户界面元素:来自第三视图400的查看者数据430以及来自第四视图450的当前交易460。用户界面元素430和460可以与未改进的用户界面中的界面元素相同,或者被使用图2的方法修改。修改后的界面元素可以具有一个或多个被移除的元素、一个或多个被预选的选项、或者电子表单中的一个或多个被预填的字段。

第一改进视图500进一步地包括用户界面元素,这些用户界面元素允许用户访问被移除的元素或导航至用户界面的其他部分。例如,当光标510悬停在账号名称“ACME Corp.”时,提供了弹出窗口520,该弹出窗口520包括切换到其他账号的用法说明。第一改进视图500进一步地包括选项530,以返回未改进的用户界面。当选中选项530时,出现未改进的用户界面。

图6描述了根据各种实施例的改进后的示例性的用户界面的部分。提供了第二改进视图600。第二改进视图600是为移动设备生成的用户界面。第二改进视图600描述了响应于作为操作202的部分接收到的请求而提供的改进后的默认视图。第二改进视图600包括文本,该文本说明Freelance Gig LLC账号被(基于,例如,用户当前环境)自动地选中。

第二改进视图600包括三个用户界面元素:赞助链接620、查看630,以及账单到期640。可以从用于生成未改进的用户界面的数据为移动设备专门地生成用户界面元素。可以使用图2的方法改进每一个用户界面元素。第二改进视图600包括菜单按钮610,其提供对被移除的用户界面元素的访问。

硬件概览

根据一个实施例,于此描述的技术由一个或多个专用计算设备实现。专用计算设备可以被硬连线以执行这些技术,或者可以包括数字电子设备,例如一个或多个专用集成电路(ASIC),或者是可以被持续编程以执行这些技术的现场可编程门阵列(FPGA),或者可以包括一个或多个通用硬件处理器,这些通用硬件处理器被编程为按照固件、内存、其他存储器或这几种的结合中的编程指令来执行这些技术。这些专用计算设备也可以将定制硬连线逻辑、ASIC或FPGA与定制编程相结合,以实现这些技术。专用计算设备可以是桌面计算机系统、便携式计算机系统、手持设备、网络设备,或者将硬连线和/或编程逻辑相结合并以实现这些技术的任何其他设备。

例如,图7是示出了计算机系统700的方块图,在计算机系统700上可以实现本发明的一个实施例。计算机系统700包括用于信息通信的总线702或其他通信机制,以及用于处理信息的与总线702相连接的硬件处理器704。硬件处理器704可以是,例如,通用微处理器。

计算机系统700还包括与总线702连接用于存储信息以及由处理器704执行的指令的主内存706,例如随机访问内存(RAM),或者其他动态存储设备。主内存706也可用于存储执行由处理器704执行的指令期间的临时变量或其他中间信息。当被存储在处理器704易于访问的非暂时存储介质中时,这些指令将计算机系统700提供为专用机器,该专用机器被定制以执行指令中指定的操作。

计算机系统700进一步地包括只读内存(ROM)708或与总线702连接的其他静态存储设备,这些静态存储设备为处理器704存储静态信息和指令。提供用于存储信息和指令的存储设备710(例如磁盘、光盘,或固态硬盘),这些存储设备与总线702相连接。

通过总线702可以将计算机系统700连接到将信息显示给计算机用户的显示器712,例如阴极射线显像管(CRT)。输入设备714(包括字母数字和其他键盘)与总线702相连接,用于将信息和命令选择传送至处理器704。另一种类型的用户输入设备是光标控制716(例如,鼠标、轨迹球,或者光标方向键,用于将方向信息和命令选择传送至处理器704以及在显示器712上控制光标移动)。此输入设备典型地具有两个轴线(一个第一轴(例如,x轴线),以及一个第二轴线(例如,y轴))中的两个自由度,该轴线允许设备在平面上指定位置。

计算机系统700可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或编程逻辑实现于此描述的技术,其与计算机系统相结合使得或将计算机系统700编程为专用机器。根据一个实施例,响应于处理器704执行主内存706中的一个或多个序列的一个或多个指令,此处的技术由计算机系统700执行。这些指令可以被从另一存储介质(例如存储设备710)中读入主内存706。执行主内存706中包含的指令序列引起处理器704执行于此描述的处理步骤。在可替代的实施例中,可以使用硬连线电路代替或与软件指令结合使用。

此处使用的术语“存储介质”指任何非暂时介质,这些任何非暂时介质存储引发机器以特定方式操作的数据和/或指令。这些存储介质可以包括非易失介质和/或易失介质。非易失介质包括,例如,光盘、磁盘,或固态硬盘,例如存储设备710。易失介质包括动态内存,例如主内存706。存储介质的通常形式包括,例如,软盘、柔性盘、硬盘、固态硬盘、磁带,或任何其他磁性数据存储介质、CD-ROM、任何其他光数据存储介质、带有洞图案的任何物理介质、RAM、PROM,以及EPROM、FLASH-EPROM、NVRAM、任何其他内存芯片或卡带。

存储介质与传输介质不同,但二者可以共同使用。传输介质参与在存储介质之间传输信息。例如,传输介质包括同轴电缆、铜线,以及光纤,包括包括总线702的线。传输介质也可以以声或光波的形式呈现,例如那些在无线电以及红外数据通信过程中生成的声波或光波。

各种形式的介质可以涉及将一个或多个序列的一个或多个指令运输至处理器704以供执行。例如,指令可以在初始时由远程计算机上的磁盘或固态硬盘携带。远程计算机可以将指令装入其动态内存,并且使用调制解调器将指令通过电话线发送。计算机系统700本地的调制解调器能够接收电话线上的数据,并且使用红外发射器将数据转换为红外信号。红外侦测器能够接收红外信号中运输的数据,并且适当的电路能够将数据放置于总线702上。总线702将数据运输至主内存706,处理器704从主内存中获取并执行指令。可以将主内存706接收到的指令有选择地在其被处理器704执行以前或以后将其存储至存储设备710上。

计算机系统700还包括与总线702相连接的通信接口718。通信接口718提供连接到网络链接720的双向数据通信,所述网络链接被连接至本地网络722。例如,通信接口718可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器,或者是提供到相应类型的电话线的数据通信连接的调制解调器。作为另一示例,通信接口718可以是局域网(LAN)卡,该局域网卡提供到可兼容的LAN的数据通信连接。也可以实现无线链接。在任何这样的实现中,通信接口718发送和接收电的、电磁的或光信号,这些信号运输表示各种类型的信息的数字数据流。

网络链接720典型地通过一个或多个网络向其他数据设备提供数据通信。例如,网络链接720可以通过本地网络722提供至宿主计算机724或至由互联网服务提供商(ISP)726操作的数据设备的连接。ISP 726转而通过全球分组数据通信网络(现在通常被称为“互联网”)728提供数据通信服务。本地网络722和互联网728都使用电的、电磁的或光信号,这些信号运输数字数据流。通过各种网络的信号以及网络链接720上和通过通信接口718的信号是传输介质的示例性形式,这些信号运输去往以及来自于计算机系统700的数字数据。

计算机系统700能够通过网络、网络链接720,以及通信接口718发送消息和接收数据,包括程序代码。在互联网的示例中,服务器730可能通过互联网728、ISP726、本地网722以及通信接口718为应用程序传输被请求的代码。

接收到的代码可以在接收时由处理器704执行,和/或被存储在存储设备710,或者其他非易失存储中,供以后执行。

在前面的说明中,已根据很多具体细节描述了本发明的实施例,这些细节可以在不同的实现中有所不同。据此,说明书和附图被视为说明性的而非限制性的描述。本发明的范围的唯一且排他的指示,以及申请者意欲本发明的范围是什么,是本申请以这样的权利要求发布的特定形式发布的一组权利要求的字面和等同的范围,包括任何随后的修改。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1