CN105893385B - 用于分析用户行为的方法和设备 - Google Patents

用于分析用户行为的方法和设备 Download PDF

Info

Publication number
CN105893385B
CN105893385B CN201510003757.0A CN201510003757A CN105893385B CN 105893385 B CN105893385 B CN 105893385B CN 201510003757 A CN201510003757 A CN 201510003757A CN 105893385 B CN105893385 B CN 105893385B
Authority
CN
China
Prior art keywords
action
sequence
user
common subsequence
identification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510003757.0A
Other languages
English (en)
Other versions
CN105893385A (zh
Inventor
刘晶晶
陈超
马江
徐俊杰
魏晓峰
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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201510003757.0A priority Critical patent/CN105893385B/zh
Priority to US14/971,036 priority patent/US20160196305A1/en
Publication of CN105893385A publication Critical patent/CN105893385A/zh
Application granted granted Critical
Publication of CN105893385B publication Critical patent/CN105893385B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles
    • G06F16/437Administration of user profiles, e.g. generation, initialisation, adaptation, distribution

Abstract

本发明的实施例涉及用于分析用户行为的方法和设备。该方法包括:根据用户行为记录中的动作标识来生成动作序列;基于动作序列确定公共子序列,该公共子序列是对于动作序列中的至少两个动作序列公共的子序列;以及基于公共子序列构建序列模式。

Description

用于分析用户行为的方法和设备
技术领域
本发明的实施例总体上涉及数据处理,并且更具体地,涉及用于分析用户行为的方法和设备。
背景技术
在数据处理领域,关于用户行为的研究得到越来越多的关注。用户行为可以包括用户访问应用、浏览网页等过程中所执行的各种动作和/或操作。例如,对于诸如软件即服务(Software-as-a-Service,SaaS)之类的基于网络/移动提供应用的架构而言,通过分析用户行为可以更便捷和准确地确定用户的偏好,从而高效地为用户服务。
基于网络/移动的应用可能包括多种服务。用户界面设计者在为基于网络/移动的应用设计界面时,通常考虑的主要是服务的功能性,而不是个体用户需求。对于个体用户而言,很可能需要花费大量时间或精力来查找所需的应用或服务,这显著降低了用户体验。
因此,在现有技术中的在用户体验方面存在着有待改进的问题和缺陷。
发明内容
鉴于上述以及其他潜在问题,本领域中需要一种分析用户行为以改善用户体验的方案。根据本发明的实施例,基于对用户行为的分析,可以为用户提供更有针对性的服务或应用,从而可以有效改善用户体验。
在本发明的一个方面,提供一种用于分析用户行为的方法,该方法包括:根据用户行为记录中的动作标识来生成动作序列;基于动作序列确定公共子序列,其中公共子序列是对于动作序列中的至少两个动作序列公共的子序列;以及基于公共子序列构建序列模式。
根据本发明的另一方面,提供一种用于分析用户行为的设备。设备包括:生成单元,被配置为根据用户行为记录中的动作标识来生成动作序列;确定单元,被配置为基于动作序列确定公共子序列,其中公共子序列是对于动作序列中的至少两个动作序列公共的子序列;以及构建单元,被配置为基于公共子序列构建序列模式。
通过下文描述将会理解,根据本发明的实施例,可以根据用户行为记录来构建关于用户所执行动作的序列模式,从而可以为用户提供更有针对性的服务或应用。具体而言,与现有技术相比,本发明的实施例可以便于用户定制个性化主页,可以促进测试用例的实现,还可以优化用户界面的设计。此外,本发明的实施例能够自动分析出耗时的动作并对其进行预处理,从而提高了系统响应速度,有效改善了用户体验。另外,本发明的实施例还可以对于不安全的用户行为进行预警,从而可以提高系统的稳定性和可靠性。
附图说明
通过参考附图阅读下文的详细描述,本发明实施例的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施例,其中:
图1示出了根据本发明一个示例性实施例的用于分析用户行为的系统的框图;
图2示出了根据本发明一个示例性实施例的用于分析用户行为的方法的流程图;
图3示出了根据本发明另一个示例性实施例的用于分析用户行为的方法的流程图;
图4示出了根据本发明一个示例性实施例的用于分析用户行为的设备的框图;以及
图5示出了可与本发明的示例性实施例结合使用的计算机系统的框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考附图中示出的若干示例性实施例来描述本发明的原理和精神。给出这些实施例仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
首先参考图1,其示出了根据本发明一个示例性实施例的用于分析用户行为的系统100的框图。
如图1所示,在系统100中包括用户行为记录111和112、根据本发明的实施例的分析用户行为的设备120以及序列模式库130。通过分析用户行为的设备120,可以从用户行为记录111和112构建一个或多个序列模式,从而生成序列模式库130。
用户行为记录111和112是对用户行为的记录。根据本发明的实施例,用户行为记录111和112可以包括服务器端的日志、客户端的日志以及用于记录用户行为的任何其他文件等。在一个实施例中,用户行为记录可以包括一个或多个用户会话标识(Session ID)以及与每个用户会话标识相关联的一个或多个动作。动作标识可以是每个用户界面组件的唯一标识。例如,动作标识可以是当设计SaaS Web/移动用户界面时为用户界面组件所定义的标识。一个动作标识及其关联的用户会话标识可以构成一个标识符,以下示出了标识符的格式的一个例子:
表1
用户会话标识 动作标识
由此,用户行为记录可以包括一个或多个标识符,每个标识符均可以用于跟踪和表示用户的行为。当用户在客户端处执行动作时,标识符可以在HTTP请求中被传递到服务器端。例如,当用户在客户端的浏览器中点击上传文件按钮时,可以使用上传文件按钮的唯一标识来作为该动作的动作标识。根据本发明的实施例,用户行为记录除了可以包括一个或多个标识符之外,还可以包括用以标识用户行为补充信息,例如动作的执行时间、动作的持续时间、会话的持续时间,等等。
应当注意的是,系统100中所示的用户行为记录111和112可以是从不同客户端处分布式收集的,也可以是在同一服务器或者不同服务器处收集的。设备120可以在与不同客户端相关联的任一服务器端处实现,也可以在控制或管理上述任一服务器的控制器处实现。设备120可以按照图4所示的根据本发明的实施例的用于分析用户行为的设备400来实现,具体细节将在以下结合图4进行描述。
序列模式库130可以包括设备120根据用户行为记录111和112而构建的一个或多个序列模式。根据本发明的实施例,序列模式可以包含动作序列,该动作序列指示用户执行的动作及其顺序。可选地或附加地,序列模式可以包括关键动作标识,其是序列模式所包含的动作序列中的第一个必须执行的动作的标识。可选地或附加地,序列模式可以包括执行序列模式所包含的动作序列的用户的集合,并且可以包括该用户的集合中的每个用户执行该动作序列的次数。
另外,应当注意的是,尽管图1中仅示出了两个用户行为记录111和112,但是所示的用户行为记录的数目仅仅是示意性的,并非意在限制本发明的范围。例如,可以存在任意数目的用户行为记录,其可以记录一个或多个用户的行为。
图2示出了根据本发明一个示例性实施例的用于分析用户行为的方法的流程图。方法200可以由存储用户行为记录的一个或多个服务器、对该服务器进行管理或控制的控制器或能够直接或间接获取用户行为记录的其他设备来执行。
方法200开始之后,在步骤S210,根据用户行为记录中的动作标识来生成动作序列。
根据本发明的实施例,可以根据多种方式来根据用户行为记录中的动作标识来生成动作序列。在一个实施例中,可以从用户行为记录提取用户会话标识,并可以从用户行为记录中的动作标识来生成与用户会话标识相关联的动作序列。用户会话标识指示用户从登录到退出的过程,其中用户的退出可以包括用户正常退出登录,也可以包括由于超时等原因造成的退出。
在步骤S220,基于动作序列确定公共子序列,该公共子序列是对于动作序列中的至少两个动作序列公共的子序列。
动作序列可以指示用户所进行的动作的顺序和过程。由于用户在实际操作中可能重复执行一个或多个动作,所以在步骤S210所生成的动作序列可能包括重复的动作。针对这种情况,在根据本发明的一个实施例中,可以对动作序列进行去重,从而去除重复的动作标识。然后,可以基于经去重的动作序列来确定公共子序列。
可以通过多种方式来确定公共子序列。在一些实施例中,可以针对每个用户,确定每两个动作序列的最长公共子序列。在另一些实施例中,可以预先为公共子序列设定预定长度,然后可以针对每个用户来确定每两个动作序列的预定长度的公共子序列。具体的相关细节将在以下结合图3的步骤S340进行描述。
在步骤S230,基于公共子序列构建序列模式。
根据本发明的实施例,可以利用多种不同的结构来构建序列模式。在一些实施例中,序列模式可以例如包括在步骤S220所确定的公共子序列以及根据该公共子序列所确定的关键动作标识。在这样的实施例中,可以确定公共子序列中的关键动作标识,其中关键动作标识是公共子序列中的第一个必须执行的动作的标识;然后,基于公共子序列和关键动作标识来构建序列模式。
在另一些实施例中,序列模式可以例如包括在步骤S220所确定的公共子序列、执行该公共子序列的用户的集合以及相关信息。在这样的实施例中,可以根据用户会话标识、与用户会话标识相关联的动作序列以及公共子序列,来确定执行公共子序列的用户的集合以及该用户的集合中的每个用户执行公共子序列的次数;然后,基于公共子序列、用户的集合以及每个用户执行公共子序列的次数来构建序列模式。
在进一步的实施例中,序列模式可以例如包括在步骤S220所确定的公共子序列、关键动作标识、执行该公共子序列的用户的集合以及相关信息。在此情况下,可以确定公共子序列中的关键动作标识,并确定执行公共子序列的用户的集合以及该用户的集合中的每个用户执行公共子序列的次数;然后,基于公共子序列、用户的集合以及每个用户执行公共子序列的次数来构建序列模式。具体细节将在以下结合图3的步骤S350至S370进行描述。
图3示出了根据本发明另一个示例性实施例的用于分析用户行为的方法的流程图。方法300是图2所述的方法200的一种具体实现方式,在方法300中,从用户行为记录中的动作标识生成与用户会话标识相关联的动作序列,并基于根据动作序列确定的公共子序列、从公共子序列确定的关键动作标识、执行公共子序列的用户的集合以及该集合中的用户执行公共子序列的次数来构建序列模式。方法300可以由存储用户行为记录的一个或多个服务器、对该服务器进行管理或控制的控制器或能够直接或间接获取用户行为记录的其他设备来执行。
方法300开始之后,在步骤S310,从用户行为记录提取用户会话标识。
根据本发明的实施例,用户行为记录可以是用于记录用户行为的日志或任何其他适当的文件,例如但不限于服务器端的日志、客户端的日志等。在用户行为记录中可以存储一个或多个用户会话标识。一次会话例如可以是用户从登录到退出的过程,其中该退出可以是正常退出登录也可以是超时退出。一个用户会话标识可以与一次会话相关联。用户在从登录到退出的过程中可以执行一个或多个动作,这些动作可以是与用户会话标识相关联的动作。根据本发明的实施例,除了可以包括用户会话标识之外,用户行为记录还可以存储动作标识,每个动作标识可以标识与每个用户会话标识相关联的动作之一。
在步骤S320,从用户行为记录中的动作标识生成与用户会话标识相关联的动作序列。
在用户行为记录中可以查找与用户会话标识相关联的动作标识,并根据查找到的动作标识的顺序生成动作序列。动作序列可以包括一个或多个动作标识以及动作标识的顺序,用于指示用户所执行的动作及其执行顺序。动作标识的顺序例如可以根据与动作标识相对应的动作的执行顺序来确定。
在一个实施例中,用户行为记录可以包括用以标识用户行为补充信息,例如动作的执行时间、动作的持续时间、会话的持续时间,等等。根据动作的执行时间,可以确定各个动作的执行顺序,从而可以进一步确定与各个动作相对应的动作标识的顺序。举例而言,在用户行为记录中可能包括与某一用户会话标识相关联的两个动作标识,分别标识的是动作A和动作B。假设根据补充信息可知动作A在动作B之前执行,则可以生成动作序列A->B。
在另一个实施例中,用户在一次会话中可能重复执行多次同样的动作,所以用户行为记录可能包括多个动作标识,其中一部分可能是重复的动作标识。例如,用户在一次会话中可能执行动作A三次、然后执行动作B两次、然后再执行动作C,在此情况下,与此次会话的用户会话标识相关联的动作序列可以是A->A->A->B->B->C。根据本发明的可选实施例,可以对具有重复的动作标识的动作序列进行去重操作,从而简化动作序列。
在步骤S330,对动作序列进行去重,以去除重复的动作标识。
继续以上述实施例为例,当步骤S320生成的动作序列是A->A->A->B->B->C时,可以将该动作序列中的相邻的多个相同动作标识简化为一个动作标识,例如可以将A->A->A简化为A,并可以将B->B简化为B。由此,可以得到去重后的动作序列A->B->C。
应当注意的是,步骤S330的去重操作对于本发明的实施例而言是可选的,而不是必需的。在根据本发明的一些实施例中,即使不对动作序列进行去重,也可以实现本发明的方案。
在步骤S340,基于经去重的动作序列来确定公共子序列。
对于每两个动作序列而言,若二者具有相同的子序列,则可认为存在公共子序列。例如,对于两个动作序列A->B->C和A->B->D,可以确定其公共子序列为A->B。
根据本发明的实施例,对于每个用户所执行的多个动作序列,可以确定其中每两个动作序列的最长公共子序列。其中最长公共子序列可以包含连续的公共子序列,也可以包含非连续的公共子序列。例如,对于两个动作序列A->B->C->D->F和A->C->D->E而言,可以确定它们的最长连续公共子序列是C->D,最长非连续的公共子序列是A->C->D。对于,另外两个动作序列A->B->C->D->F和A->B->C->D->E而言,可以确定它们的最长公共子序列都是A->B->C->D。可以根据实际情况确定使用连续或非连续的最长公共子序列。
应当注意的是,在根据本发明的实施例中,在步骤S340所确定的公共子序列不需要是两个动作序列中的最长子序列。作为备选方案,可以针对每个用户来确定每两个动作序列的预定长度的公共子序列。在这样的实施例中,公共子序列达到预定长度即可停止计算,从而可以节省资源和开销,提高处理速度。例如,对于两个动作序列A->B->C->D->F和A->B->C->D->E而言,当预定长度设置为2时,公共子序列可以是A->B、B->C或者C->D;当预定长度设置为3时,公共子序列可以是A->B->C或者B->C->D;当预定长度设置为4时,公共子序列可以是A->B->C->D。另外应当注意的是,公共子序列可以包含连续的公共子序列,也可以包含非连续的公共子序列。
在执行完步骤S340之后,可以得到一个或多个公共子序列。根据本发明的实施例,可以基于该一个或多个公共子序列来构建一个或多个序列模式。通过这种方式构建的每个序列模式可以包括一个序列,该序列是所得到的一个或多个公共子序列之一。另外,每个序列模式还可以包括一个唯一的模式标识,用来对不同序列模式进行区分。
根据本发明的另外的实施例,除了可以基于公共子序列来构建序列模式之外,还可以基于关键动作和用户集合等来构建序列模式,具体将在一些结合步骤S350-S370进行描述。
在步骤S350,确定公共子序列中的关键动作标识。
关键动作可以是公共子序列中的第一个必须执行的动作,而关键动作标识是对该关键动作的标识。例如,当步骤S340确定的公共子序列是A->C->D->E时,假如E对应于用户实际希望执行的目标动作,则A、C和D分别对应于该目标动作的前续动作。如果此时还存在一个公共子序列B->C->D->E,其中B、C和D分别对应于该目标动作的前续动作,则可以认为C和D对应于执行该目标动作E之前所必须执行的动作,并且C对应于上述必须执行的动作中的第一个动作。由此可以确定公共子序列A->C->D->E中的关键动作标识是C。
根据本发明的实施例,关键动作可以根据多种方式来确定。在一些实施例中,当在步骤S340得到多个公共子序列时,其中一个公共子序列(简称为“序列1”)是A->B->C->D->E,则可以通过如下方式来确定其关键动作。
(1)如果存在另一个公共子序列(简称为“序列2”),其为C->D,则序列1中的在序列2之前的所有动作,即动作A和B,都不是必须执行的动作。同时,可以确定动作C和D是必须执行的动作,并可以将第一个动作C确定为关键动作。
(2)如果另外存在多个公共子序列,例如两个公共子序列C->D和A->B,它们分别都是序列1的子集,则与序列1的末尾最近的公共子序列将被认为是序列2,并可以将序列2中的第一个动作C确定为关键动作。
(3)如果没有其他公共子序列是序列1的子集,并可以将序列1中的第一个动作A确定为关键动作。
应当注意的是,上述举例仅仅是示意性的,而不是对本发明的限制,本领域技术人员完全可以通过已知的其他技术手段来确定公共子序列中的关键动作。
在步骤S360,根据用户会话标识、与用户会话标识相关联的动作序列以及公共子序列,确定执行公共子序列的用户的集合以及用户的集合中的每个用户执行公共子序列的次数。
如上所述,对于在步骤S320生成的与用户会话标识相关联的动作序列,可以在步骤S360统计各个动作序列中包含公共子序列的情况,从而可以确定哪个或哪些用户执行了公共子序列,并且可以确定每个用户对该公共子序列执行了多少次。
应当注意的是,尽管在附图中以特定顺序描述了步骤S350和S360,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行这种顺序的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。例如在根据本发明的实施例中,除了先执行步骤S350再执行步骤S360之外,可以先执行步骤S360再执行步骤S350,也可以并行执行步骤S350和S360。
在步骤S370,基于公共子序列、关键动作标识、用户的集合以及用户执行公共子序列的次数来构建序列模式。
在根据本发明的实施例中,序列模式可以例如包括公共子序列、关键动作标识、执行该公共子序列的用户的集合和/或相关信息。以下示出了根据本发明的实施例的一种序列模式的结构:
序列模式={模式标识,序列,关键动作标识,
用户集合<用户标识,执行次数>}
其中,模式标识是每个序列模式的唯一标识符,用来对不同的序列模式进行区分;序列可以是根据本发明的实施例而确定的公共子序列;关键动作标识可以是例如根据步骤S350确定的关键动作的标识;用户集合<用户标识,执行次数>表示包括一个或多个用户标识的集合,其中每个用户标识与该用户执行序列模式中的该序列的次数(也即“执行次数”)相对应地存储。
应当注意的是,上述序列模式的结构仅仅是示意性的,而不是对本发明的限制,本领域技术人员完全可以通过其他形式来实现序列模式的结构。例如,在根据本发明的其他实施例中,序列模式还可能具有以下结构之一:
序列模式={模式标识,序列}
序列模式={模式标识,序列,关键动作标识}
序列模式={模式标识,序列,用户集合<用户标识>}
序列模式={模式标识,序列,关键动作标识,用户集合<用户标识>}
基于根据本发明的实施例的方法所构建的序列模式,可以进行多种应用,例如为用户提供推荐、优化用户界面设计、促进个性化用户界面定制、优化测试操作、对耗时的动作进行预处理、安全控制,等等。
在根据本发明的一些实施例中,可以根据序列模式来优化用户界面设计。根据一些实施例,可以确定与序列模式中的序列中的动作标识相对应的动作的可访问性。通过确定动作的可访问性,可以对用户界面的设计进行修改和调整,例如改变对使得可访问性较低的动作的设计,以便于用户访问。
举例而言,如果在目标动作的执行之前需要较多的前续动作,则该目标动作的可访问性较低。在此情况下,可以通过建立一个更为快捷的方式,例如通过重新设计网页,来提高该目标动作的可访问性。例如,当序列模式中的序列为A->B->C->D->E时,如果A是关键动作,则意味着在执行目标动作E之前需要执行A、B、C、D这四个动作,也即动作E的可访问性较低。根据本发明的实施例,如果序列模式中的用户集合中包含较多的用户标识,则表明其中的关键动作对于很多用户而言是常用的,因此可以例如在主页上为用户建立快捷方式,以便用户方便快速地执行该动作。
根据本发明的实施例,动作的可访问性表明执行该动作的难易程度,一个动作如果具有越多的前续动作,则可以认为该动作的可访问性越低。可访问性可以通过多种方式来确定。在一个实施例中,可以确定关键动作标识在序列中的位置以及序列的长度,并可以基于该位置和序列的长度来确定目标动作的可访问性。下式给出了计算可访问性的一个例子:
Figure BSA0000112745680000111
其中,Accessibility表示目标动作在一个序列模式中的可访问性;
lengthP表示序列模式中的序列的长度;
keypos表示关键动作的标识在该序列中的位置;并且
λ表示调节因子,用于基于某些因素来对可访问性的计算进行调节,这些因素例如可以包括序列模式中的序列的长短、序列模式被使用的频繁程度等等。例如,如果序列模式1中的序列较长,而序列模式2中的序列较短,则通常序列模式1中的动作的可访问性低于序列模式2中的动作。根据本发明的实施例,λ可以是大于或等于0的数。
举例而言,在一个实施例中,序列模式1中的序列可以是A->B(其中A是关键动作),而序列模式2中的序列可以是A->B->C->D->E->F(其中C是关键动作)。如果λ=0,则目标动作F的可访问性为3/(6+0),其等于1/2;如果λ=1,则目标动作F的可访问性为3/(6+32),其小于1/2。由此可见,利用λ可以调节可访问性的计算结果。
在根据本发明的一些实施例中,可以根据序列模式确定用户的相似度;以及按照用户的相似度对用户进行分组。在一些实施例中,可以通过确定与用户1相关联的序列模式和与用户2相关联的序列模式存在多少共同的序列模式,从而确定用户1和用户2的相似度。例如,当共同的序列模式数目较多时,可以确定用户1和用户2的相似度较高;而当共同的序列模式数目较少时,可以确定用户1和用户2的相似度较低。在另外一些实施例中,可以判定与用户1相关联的序列模式和与用户2相关联的序列模式共享多少不常用的序列模式。当共享较多数目的不常用的序列模式时,可以确定用户1和用户2的相似度较高;而当共享较少数目的不常用的序列模式时,可以确定用户1和用户2的相似度较低。在又一些实施例中,可以判定与用户1相关联的序列模式和与用户2相关联的序列模式所共享的序列模式的比例。当该比例较高时,可以确定用户1和用户2的相似度较高;而当该比例较低时,可以确定用户1和用户2的相似度较低。
在根据本发明的一些实施例中,可以按照用户执行序列模式中的序列的次数,对与用户相关联的序列模式进行排序;从经过排序的序列模式中选择一个或多个序列模式;以及获取一个或多个序列模式中的关键动作标识,用以向用户或者与用户相似度高的其他用户进行推荐。
在根据本发明的一些实施例中,可以将序列模式用于作为测试用例来提高测试效率和速度。由于这样的测试用例是通过真实用户场景来动态得到的,而不是静态的测试设计,所以可以有效改善测试过程。
在根据本发明的一些实施例中,针对一些耗时的动作影响用户体验的情况,可以在序列模式的序列中确定耗时动作的动作标识以及确定的动作标识的前续动作标识,然后可以响应于监控到与前续动作标识相对应的动作被执行,来对耗时动作进行预处理。预处理可以具有多种形式,例如预先下载一些资源、执行一些查询等。通过这种方式,当用户执行该动作时,系统可以快速进行响应,从而可以提高用户体验。
在根据本发明的一些实施例中,可以获取预先设定的不安全序列模式的集合,并且响应于监控到集合中的不安全序列模式中的序列被执行,向系统管理者或执行序列的用户发出警告。由此,可以对一些不安全的动作进行预警,提高系统安全性。
现在参考图4,其示出了根据本发明一个示例性实施例的用于分析用户行为的设备400的框图。根据本发明的实施例,设备400可以例如在存储用户行为记录的一个或多个服务器处、对该服务器进行管理或控制的控制器处或在能够直接或间接获取用户行为记录的其他设备处执行。根据本发明的实施例,图1描述的设备120可以根据设备400来实现。
如图所示,设备400包括:生成单元410,被配置为根据用户行为记录中的动作标识来生成动作序列;确定单元420,被配置为基于动作序列确定公共子序列,该公共子序列是对于动作序列中的至少两个动作序列公共的子序列;以及构建单元430,被配置为基于公共子序列构建序列模式。
根据本发明的实施例,生成单元410可以包括:提取单元,被配置为从用户行为记录提取用户会话标识,其中用户会话标识与用户从登录到退出的过程相关联,其中生成单元410可以被进一步配置为从用户行为记录中的动作标识生成与用户会话标识相关联的动作序列。
根据本发明的实施例,生成单元410可以进一步包括:查找单元,被配置为在用户行为记录中查找与用户会话标识相关联的动作标识,其中生成单元410可以被进一步配置为根据查找到的动作标识的顺序生成动作序列。
根据本发明的实施例,确定单元420可以包括:去重单元,被配置为对动作序列进行去重,以去除重复的动作标识,其中确定单元420可以被进一步配置为基于经去重的动作序列来确定公共子序列。
根据本发明的实施例,确定单元420可以被进一步配置为:针对每个用户,确定每两个动作序列的最长公共子序列或者预定长度的公共子序列。
根据本发明的实施例,构建单元430可以包括:关键动作确定单元,被配置为确定公共子序列中的关键动作标识,其中关键动作标识是公共子序列中的第一个必须执行的动作的标识,其中构建单元430可以被进一步配置为基于公共子序列和关键动作标识构建序列模式。
根据本发明的实施例,构建单元430可以包括:用户确定单元,被配置为根据用户会话标识、与用户会话标识相关联的动作序列以及公共子序列,确定执行公共子序列的用户的集合以及用户的集合中的每个用户执行公共子序列的次数,其中构建单元430可以被进一步配置为基于公共子序列、用户的集合以及次数来构建序列模式。
根据本发明的实施例,设备400还可以包括:相似度确定单元,被配置为根据序列模式确定用户的相似度;以及分组单元,被配置为按照用户的相似度对用户进行分组。
根据本发明的实施例,设备400还可以包括:可访问性确定单元,被配置为确定与序列模式中的序列中的动作标识相对应的动作的可访问性。
根据本发明的实施例,可访问性确定单元可以包括:位置确定单元,被配置为确定动作标识在序列中的位置以及序列的长度,其中可访问性确定单元可以进一步被配置为基于位置和序列的长度来确定动作的可访问性。
根据本发明的实施例,设备400还可以包括:排序单元,被配置为按照用户执行序列模式中的序列的次数,对与用户相关联的序列模式进行排序;选择单元,被配置为从经过排序的序列模式中选择一个或多个序列模式;以及推荐单元,被配置为获取一个或多个序列模式中的关键动作标识,用以向用户或者与用户相似度高的其他用户进行推荐。
根据本发明的实施例,设备400还可以包括:耗时分析单元,被配置为在序列模式的序列中确定耗时动作的动作标识以及确定的动作标识的前续动作标识;以及预处理单元,被配置为响应于监控到与前续动作标识相对应的动作被执行,对耗时动作进行预处理。
根据本发明的实施例,设备400还可以包括:获取单元,被配置为获取预先设定的不安全序列模式的集合;以及警告单元,被配置为响应于监控到集合中的不安全序列模式中的序列被执行,向系统管理者或执行序列的用户发出警告。
为清晰起见,在图4中没有示出设备400包含的可选单元以及各个单元所包含的子单元。然而,应当理解,上文参考图1描述的各个特征同样适用于设备400,在此不再赘述。
应当理解,设备400可以利用各种方式实现。例如,在某些实施例中,设备400可以利用软件和/或固件来实现。例如,设备400可以被实现为包含在计算机可读介质上的计算机程序产品,其中的每个单元是通过计算机指令来实现其功能的程序模块。备选地或附加地,设备400可以部分地或者完全地基于硬件来实现。例如,设备400可被实现为集成电路(IC)芯片、专用集成电路(ASIC)或者片上系统(SOC)。现在已知或者将来开发的其他方式也是可行的,本发明的范围在此方面不受限制。
下面参考图5,其示出了适于用来实践本发明实施方式的计算机系统的示意性框图。如图5所示,计算机系统可以包括:CPU(中央处理单元)501、RAM(随机存取存储器)502、ROM(只读存储器)503、系统总线504、硬盘控制器505、键盘控制器506、串行接口控制器507、并行接口控制器508、显示控制器509、硬盘510、键盘511、串行外部设备512、并行外部设备513和显示器514。在这些设备中,与系统总线504耦合的有CPU 501、RAM 502、ROM 503、硬盘控制器505、键盘控制器506、串行控制器507、并行控制器508和显示控制器509。硬盘510与硬盘控制器505耦合,键盘511与键盘控制器506耦合,串行外部设备512与串行接口控制器507耦合,并行外部设备513与并行接口控制器508耦合,以及显示器514与显示控制器509耦合。应当理解,图5所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。
如上所述,设备400可以通过硬件实现,例如芯片、ASIC、SOC等。这些硬件可以集成在计算机系统500中。此外,本发明的实施例也可以通过计算机程序产品的形式实现。例如,本发明的方法均可通过计算机程序产品来实现。该计算机程序产品可以存储在例如图5所示的RAM 504、ROM 504、硬盘510和/或任何适当的存储介质中,或者通过网络从适当的位置下载到计算机系统500上。计算机程序产品可以包括计算机代码部分,其包括可由适当的处理设备(例如,图5中示出的CPU 501)执行的程序指令。所述程序指令至少可以包括用于实现本发明方法的步骤的指令。
本发明的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的系统和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明系统可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
应当注意,尽管在上文详细描述中提及了设备的若干单元或子单元,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施例,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来实现。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施例描述了本发明,但是应该理解,本发明并不限于所公开的具体实施例。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。

Claims (26)

1.一种用于分析用户行为的方法,所述方法包括:
根据多个用户的用户行为记录中的动作标识来生成动作序列,其中所述动作标识标识客户端上的用户行为,其中所述动作标识响应于在所述客户端上的动作的执行,在HTTP请求内从所述客户端被发送到服务器端,其中所述客户端上的所述用户行为使用所述动作标识在所述服务器端被跟踪;
基于所述动作序列确定公共子序列,所述公共子序列是对于所述动作序列中的至少两个动作序列公共的子序列;以及
至少部分地通过确定执行所述公共子序列的用户的集合、以及所述用户的集合中每个用户执行所述公共子序列的次数,基于所述公共子序列构建序列模式。
2.根据权利要求1所述的方法,其中根据用户行为记录中的动作标识来生成动作序列包括:
从所述用户行为记录提取用户会话标识,其中所述用户会话标识与用户从登录到退出的过程相关联;以及
从所述用户行为记录中的动作标识生成与所述用户会话标识相关联的动作序列。
3.根据权利要求2所述的方法,其中根据所述用户行为记录生成与所述用户会话标识相关联的动作序列包括:
在所述用户行为记录中查找与所述用户会话标识相关联的动作标识;以及
根据查找到的所述动作标识的顺序生成所述动作序列。
4.根据权利要求1所述的方法,其中基于所述动作序列确定公共子序列包括:
对所述动作序列进行去重,以去除重复的动作标识;以及
基于经去重的动作序列来确定所述公共子序列。
5.根据权利要求4所述的方法,其中基于经去重的动作序列来确定所述公共子序列包括:
针对每个用户,确定每两个动作序列的最长公共子序列或者预定长度的公共子序列。
6.根据权利要求1所述的方法,其中基于所述公共子序列构建序列模式包括:
确定所述公共子序列中的关键动作标识,其中所述关键动作标识是所述公共子序列中的第一个必须执行的动作的标识;以及
基于所述公共子序列和所述关键动作标识构建所述序列模式。
7.根据权利要求1所述的方法,其中基于所述公共子序列构建序列模式包括:
根据所述用户会话标识、与所述用户会话标识相关联的动作序列以及所述公共子序列,确定执行所述公共子序列的所述用户的集合以及所述用户的集合中的每个用户执行所述公共子序列的所述次数;以及
基于所述公共子序列、所述用户的集合以及所述次数来构建所述序列模式。
8.根据权利要求1所述的方法,还包括:
根据所述序列模式确定用户的相似度;以及
按照用户的相似度对用户进行分组。
9.根据权利要求1所述的方法,还包括:
确定与所述序列模式中的序列中的动作标识相对应的动作的可访问性。
10.根据权利要求9所述的方法,其中确定与所述序列模式中的序列中的动作标识相对应的动作的可访问性包括:
确定所述动作标识在所述序列中的位置以及所述序列的长度;以及
基于所述位置和所述序列的长度来确定所述动作的可访问性。
11.根据权利要求1所述的方法,还包括:
按照用户执行所述序列模式中的序列的次数,对与所述用户相关联的序列模式进行排序;
从经过排序的所述序列模式中选择一个或多个序列模式;以及
获取所述一个或多个序列模式中的关键动作标识,用以向所述用户或者与所述用户相似度高的其他用户进行推荐。
12.根据权利要求1所述的方法,还包括:
在所述序列模式的序列中确定耗时动作的动作标识以及确定的所述动作标识的前续动作标识;以及
响应于监控到与所述前续动作标识相对应的动作被执行,对所述耗时动作进行预处理。
13.根据权利要求1所述的方法,还包括:
获取预先设定的不安全序列模式的集合;以及
响应于监控到所述集合中的不安全序列模式中的序列被执行,向系统管理者或执行所述序列的用户发出警告。
14.一种用于分析用户行为的设备,所述设备包括:
生成单元,被配置为根据用户行为记录中的动作标识来生成动作序列,其中所述动作标识标识客户端上的用户行为,其中所述动作标识响应于在所述客户端上的动作的执行,在HTTP请求内从所述客户端被发送到服务器端,其中所述客户端上的所述用户行为使用所述动作标识在所述服务器端被跟踪;
确定单元,被配置为基于所述动作序列确定公共子序列,所述公共子序列是对于所述动作序列中的至少两个动作序列公共的子序列;以及
构建单元,被配置为基于所述公共子序列构建序列模式,所述构建单元包括用户确定单元,所述用户确定单元确定执行所述公共子序列的用户的集合、以及所述用户的集合中的每个用户执行所述公共子序列的次数。
15.根据权利要求14所述的设备,其中所述生成单元包括:
提取单元,被配置为从所述用户行为记录提取用户会话标识,其中所述用户会话标识与用户从登录到退出的过程相关联,
其中所述生成单元被进一步配置为从所述用户行为记录中的动作标识生成与所述用户会话标识相关联的动作序列。
16.根据权利要求15所述的设备,其中所述生成单元进一步包括:
查找单元,被配置为在所述用户行为记录中查找与所述用户会话标识相关联的动作标识,
其中所述生成单元被进一步配置为根据查找到的所述动作标识的顺序生成所述动作序列。
17.根据权利要求14所述的设备,其中所述确定单元包括:
去重单元,被配置为对所述动作序列进行去重,以去除重复的动作标识,
其中所述确定单元被进一步配置为基于经去重的动作序列来确定所述公共子序列。
18.根据权利要求17所述的设备,其中所述确定单元被进一步配置为:
针对每个用户,确定每两个动作序列的最长公共子序列或者预定长度的公共子序列。
19.根据权利要求14所述的设备,其中所述构建单元包括:
关键动作确定单元,被配置为确定所述公共子序列中的关键动作标识,其中所述关键动作标识是所述公共子序列中的第一个必须执行的动作的标识,
其中所述构建单元被进一步配置为基于所述公共子序列和所述关键动作标识构建所述序列模式。
20.根据权利要求14所述的设备,还包括:
其中所述用户确定单元根据所述用户会话标识、与所述用户会话标识相关联的动作序列以及所述公共子序列,确定执行所述公共子序列的所述用户的集合以及所述用户的集合中的每个用户执行所述公共子序列的所述次数,以及
其中所述构建单元被进一步配置为基于所述公共子序列、所述用户的集合以及所述次数来构建所述序列模式。
21.根据权利要求14所述的设备,还包括:
相似度确定单元,被配置为根据所述序列模式确定用户的相似度;以及
分组单元,被配置为按照用户的相似度对用户进行分组。
22.根据权利要求14所述的设备,还包括:
可访问性确定单元,被配置为确定与所述序列模式中的序列中的动作标识相对应的动作的可访问性。
23.根据权利要求22所述的设备,其中所述可访问性确定单元包括:
位置确定单元,被配置为确定所述动作标识在所述序列中的位置以及所述序列的长度,
其中所述可访问性确定单元进一步被配置为基于所述位置和所述序列的长度来确定所述动作的可访问性。
24.根据权利要求14所述的设备,还包括:
排序单元,被配置为按照用户执行所述序列模式中的序列的次数,对与所述用户相关联的序列模式进行排序;
选择单元,被配置为从经过排序的所述序列模式中选择一个或多个序列模式;以及
推荐单元,被配置为获取所述一个或多个序列模式中的关键动作标识,用以向所述用户或者与所述用户相似度高的其他用户进行推荐。
25.根据权利要求14所述的设备,还包括:
耗时分析单元,被配置为在所述序列模式的序列中确定耗时动作的动作标识以及确定的所述动作标识的前续动作标识;以及
预处理单元,被配置为响应于监控到与所述前续动作标识相对应的动作被执行,对所述耗时动作进行预处理。
26.根据权利要求14所述的设备,还包括:
获取单元,被配置为获取预先设定的不安全序列模式的集合;以及
警告单元,被配置为响应于监控到所述集合中的不安全序列模式中的序列被执行,向系统管理者或执行所述序列的用户发出警告。
CN201510003757.0A 2015-01-04 2015-01-04 用于分析用户行为的方法和设备 Active CN105893385B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510003757.0A CN105893385B (zh) 2015-01-04 2015-01-04 用于分析用户行为的方法和设备
US14/971,036 US20160196305A1 (en) 2015-01-04 2015-12-16 Analyzing user behaviors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510003757.0A CN105893385B (zh) 2015-01-04 2015-01-04 用于分析用户行为的方法和设备

Publications (2)

Publication Number Publication Date
CN105893385A CN105893385A (zh) 2016-08-24
CN105893385B true CN105893385B (zh) 2020-10-23

Family

ID=56286645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510003757.0A Active CN105893385B (zh) 2015-01-04 2015-01-04 用于分析用户行为的方法和设备

Country Status (2)

Country Link
US (1) US20160196305A1 (zh)
CN (1) CN105893385B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10725619B1 (en) 2017-02-03 2020-07-28 T-Mobile Usa, Inc. Behavior-influenced content access/navigation menus
CN106657410B (zh) * 2017-02-28 2018-04-03 国家电网公司 基于用户访问序列的异常行为检测方法
CN107979639A (zh) * 2017-11-21 2018-05-01 重庆金窝窝网络科技有限公司 基于区块链的动作处理方法及装置
CN109620241B (zh) * 2018-11-16 2021-10-08 歌尔科技有限公司 一种可穿戴设备及基于其的动作监测方法
CN109783528B (zh) * 2018-11-23 2019-09-10 国网江苏省电力有限公司电力科学研究院 一种用电模式提取方法和系统
US10776252B1 (en) * 2018-11-27 2020-09-15 Walgreen Co. Crowd-sourced automatic generation of user interface tests for enterprise-specific mobile applications
CN110442789B (zh) * 2019-08-02 2022-12-09 达而观信息科技(上海)有限公司 基于用户行为的关联结果确定方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6262730B1 (en) * 1996-07-19 2001-07-17 Microsoft Corp Intelligent user assistance facility
US8001136B1 (en) * 2007-07-10 2011-08-16 Google Inc. Longest-common-subsequence detection for common synonyms
CN103823883A (zh) * 2014-03-06 2014-05-28 焦点科技股份有限公司 一种网站用户访问路径的分析方法及系统
CN104052617A (zh) * 2013-03-13 2014-09-17 北京千橡网景科技发展有限公司 基于连续时间马尔可夫链进行用户行为分析的方法和设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792954B2 (en) * 2004-04-02 2010-09-07 Webtrends, Inc. Systems and methods for tracking web activity
US20080276179A1 (en) * 2007-05-05 2008-11-06 Intapp Inc. Monitoring and Aggregating User Activities in Heterogeneous Systems
CN102722566B (zh) * 2012-06-04 2015-04-15 上海电力学院 社交网络中潜在好友查询方法
US10033668B2 (en) * 2014-01-16 2018-07-24 Dropbox, Inc. Enhancing performance of message search and retrieval

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6262730B1 (en) * 1996-07-19 2001-07-17 Microsoft Corp Intelligent user assistance facility
US8001136B1 (en) * 2007-07-10 2011-08-16 Google Inc. Longest-common-subsequence detection for common synonyms
CN104052617A (zh) * 2013-03-13 2014-09-17 北京千橡网景科技发展有限公司 基于连续时间马尔可夫链进行用户行为分析的方法和设备
CN103823883A (zh) * 2014-03-06 2014-05-28 焦点科技股份有限公司 一种网站用户访问路径的分析方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
N-Gram-Based User Behavioral Model for Continuous User Authentication;Leslie Milton等;《SECURWARE 2014:The Eighth International Conference on Emerging Security Information, Systems and Technologies》;20141231;第43-49页 *

Also Published As

Publication number Publication date
CN105893385A (zh) 2016-08-24
US20160196305A1 (en) 2016-07-07

Similar Documents

Publication Publication Date Title
CN105893385B (zh) 用于分析用户行为的方法和设备
US10423648B2 (en) Method, system, and computer readable medium for interest tag recommendation
US10423664B2 (en) Method and system for providing recommended terms
US8468146B2 (en) System and method for creating search index on cloud database
US10152479B1 (en) Selecting representative media items based on match information
CA3109481A1 (en) Identification and application of hyperparameters for machine learning
US10346496B2 (en) Information category obtaining method and apparatus
Gao et al. Ar-tracker: Track the dynamics of mobile apps via user review mining
EP3545428A1 (en) Automatically detecting contents expressing emotions from a video and enriching an image index
CN103530292A (zh) 网页显示方法和装置
CN104902292B (zh) 一种基于电视报道的舆情分析方法和系统
US20190286739A1 (en) Automatically generating meaningful user segments
WO2019061664A1 (zh) 电子装置、基于用户上网数据的产品推荐方法及存储介质
JP2014006757A (ja) コンテンツ配信装置
CN106933916B (zh) Json字符串的处理方法及装置
US9471669B2 (en) Presenting previously selected search results
KR20150008342A (ko) 멀티미디어 컨텐츠를 인리칭하기 위한 방법 및 대응하는 디바이스
CN111966900A (zh) 基于局部敏感哈希的用户冷启动产品推荐方法及系统
CN106899879B (zh) 一种多媒体数据的处理方法和装置
Sidney et al. Performance prediction for set similarity joins
KR102349522B1 (ko) 장기간 연관성 높은 문서 클러스터링을 위한 방법 및 시스템
US20190156359A1 (en) Techniques to quantify effectiveness of site-wide actions
JP2013054606A (ja) 文書検索装置及び方法及びプログラム
WO2021068681A1 (zh) 标签分析方法、装置及计算机可读存储介质
JP2013101539A (ja) サンプリング装置、サンプリングプログラム、およびその方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200410

Address after: Massachusetts, USA

Applicant after: EMC IP Holding Company LLC

Address before: Massachusetts, USA

Applicant before: EMC Corp.

GR01 Patent grant
GR01 Patent grant