APP software user operation data processing method and device based on multi-user operation behavior graph

By constructing a multi-user operation behavior diagram and performing feature extraction and clustering analysis, the problem of low credibility of multi-user operation data analysis in the prior art is solved, and more accurate user feedback recognition is achieved.

CN120524291APending Publication Date: 2025-08-22KUNMING UNIV OF SCI & TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510606586.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-12
Publication Date
2025-08-22

AI Technical Summary

Technical Problem

The prior art fails to effectively analyze the user operation data of the APP software from a multi-user perspective, resulting in low reliability in feature extraction and failure to capture the complex interaction relationship between the user and the APP software.

Method used

A multi-user operation behavior diagram is constructed, and multiple features are extracted and clustered analysis is performed by capturing and filtering user operation data, including classification of operation nodes.

Benefits of technology

The classification effect of user operation data is improved, and a clear data structure is provided for identifying user feedback types, filling the gaps in the prior art.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120524291A_ABST
    Figure CN120524291A_ABST
Patent Text Reader

Abstract

The invention discloses an APP software user operation data processing method and device based on a multi-user operation behavior graph, and the method comprises the steps: capturing user operation data according to an operation sequence in the process that each user operates APP software, and screening the captured user operation data, storing the screened user operation data into a first target file; constructing a multi-user operation behavior graph according to the first target file; performing feature extraction according to the multi-user operation behavior graph to construct a multi-feature list; and clustering by adopting a clustering method according to the multi-feature list to obtain a classification result of the operation nodes in the multi-user operation behavior graph. According to the method, a multi-user operation behavior graph is constructed from the perspective of operation data and multiple users in the interaction process of the users and the APP software; based on the multi-user operation behavior graph, multi-feature extraction is realized; furthermore, according to the extracted multiple features, classification of the operation nodes in the multi-user operation behavior graph can be realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method and device for processing APP software user operation data based on a multi-user operation behavior graph, and belongs to the field of APP software data analysis. Background Art

[0002] In the rapidly developing and dynamically growing app market, analyzing and mining user feedback during app usage is essential. Continuously monitoring and understanding user feedback needs and habits is also essential for the long-term survival and growth of apps. Therefore, research on app usage feedback is crucial. Compared to most research that relies on user feedback from app stores or social media, studying user behavior data during app usage is more beneficial for subsequent research. This data records the user's actions during use and contains a wealth of feedback, providing developers with rich insights for software improvement.

[0003] However, current user action data used in research on app usage feedback doesn't consider the complex interactions between different users within apps from a multi-user perspective, resulting in low reliability of extracted features. Therefore, capturing action data from the user's interaction with the app and extracting features based on this multi-user action data is an urgent issue. Summary of the Invention

[0004] The present invention provides an APP software user operation data processing method and device based on a multi-user operation behavior graph. The method constructs a multi-user operation behavior graph from the operation data during the interaction between the user and the APP software and the perspective of multiple users; based on the multi-user operation behavior graph, multiple features are extracted; and further, based on the extracted multiple features, the classification of operation nodes in the multi-user operation behavior graph can be achieved.

[0005] The technical solution of the present invention is:

[0006] According to a first aspect of the present invention, a method for processing APP software user operation data based on a multi-user operation behavior graph is provided, comprising:

[0007] During the process of each user operating the APP software, user operation data is captured according to the operation sequence, the captured user operation data is filtered, and the filtered user operation data is stored in a first target file; the user operation data includes the APP software name, the event name triggered by the user operation in the APP software, the activity name triggered by the user operation in the APP software, the control name triggered by the user operation in the APP software, and the control content corresponding to the control triggered by the user in the APP software;

[0008] Constructing a multi-user operation behavior graph based on the first target file;

[0009] Extract features based on multi-user operation behavior graphs to construct a multi-feature list;

[0010] Clustering is performed using a clustering method based on the multi-feature list to obtain the classification results of the operation nodes in the multi-user operation behavior graph.

[0011] Furthermore, constructing a multi-user operation behavior graph based on the first target file includes:

[0012] Based on the first target file, a second target file is constructed; based on the second target file, a single-user single-APP data list is obtained;

[0013] Taking the single-user single-APP data list as the object, build the operation node list and operation result node list for each data that meets the preset event name;

[0014] De-duplicate the operation node list and operation result node list constructed based on each single-user single-APP data list to obtain a single-user non-repeated operation node list and a single-user non-repeated operation result node list; construct a single-user operation behavior directed graph based on the single-user non-repeated operation node list and the single-user non-repeated operation result node list;

[0015] For N users Users operate the same APP software, and N users The single-user non-repeated operation node list and the single-user non-repeated operation result node list of each user are merged and deduplicated to construct a multi-user non-repeated operation node list and a multi-user non-repeated operation result node list; the multi-user non-repeated operation node list and the multi-user non-repeated operation result node list are used to construct a first list, and all nodes in the first list are traversed and judged: if the ratio of the number of overlaps of the current node to the total number of users is greater than or equal to a first preset threshold, it is regarded as an overlapping node and saved in the overlapping node list; otherwise, it is a non-overlapping node and saved in the non-overlapping node list;

[0016] According to the multi-user non-repeated operation node list, the overlapping node list, the multi-user non-repeated operation result node list, and the non-overlapping node list, all nodes in the first list are traversed to construct an overlapping operation node list, an overlapping operation result node list, a non-overlapping operation node list, and a non-overlapping operation result node list;

[0017] Construct the edge list mutil_user_edeg_list of the multi-user directed graph and initialize it to empty; merge N usersThe edges of the directed graph of a single user's operation behavior are removed and saved into the edge list edge_list;

[0018] First traverse the edges in the edge list edge_list to store the edges that meet the conditions to the edge list mutil_user_edeg_list;

[0019] Based on the edge lists edge_list and mutil_user_edeg_list, construct a new multi-user directed graph edge list new_mutil_user_edeg_list;

[0020] Update the node set to new_node_list according to new_mutil_user_edeg_list; construct a multi-user operation behavior graph based on new_node_list and new_mutil_user_edeg_list.

[0021] Furthermore, the first traversal of the edges of the edge list edge_list to store edges that meet the conditions to the edge list mutil_user_edeg_list is specifically:

[0022] If the starting node of the edge of the first traversal is an overlapping node, then determine whether the ending node of the edge of the first traversal is an overlapping node: if the ending node of the edge of the first traversal is an overlapping node, save the edge of the first traversal to mutil_user_edeg_list, and then traverse the next edge of the edge list edge_list for the first time; otherwise, determine whether the ending node of the edge of the first traversal is a non-overlapping operation node, and according to the judgment result, save the edge that meets the conditions to mutil_user_edeg_list;

[0023] Otherwise, when the starting node of the edge of the first traversal is not an overlapping node, if the ending node of the edge of the first traversal is an overlapping node, then determine whether the starting node of the edge of the first traversal is a non-overlapping operation node, and based on the judgment result, store the edge that meets the conditions in mutil_user_edeg_list; otherwise, if the ending node of the edge of the first traversal is not an overlapping node, then continue to traverse the next edge in the edge list edge_list for the first time.

[0024] Furthermore, the multi-feature list includes: a list of click times of operation nodes, a list of loop numbers, a list of average loop path node numbers, a list of shortest path lengths, and a list of information entropy.

[0025] Furthermore, the clustering method is used based on the multi-feature list to obtain the classification results of the operation nodes in the multi-user operation behavior graph. Specifically, after constructing a feature matrix with the extracted multi-feature list, the features in the feature matrix are reduced in dimension to obtain the reduced-dimensional matrix; the reduced-dimensional matrix is ​​used as the input of the clustering algorithm to obtain the classification results of the operation nodes in the multi-user operation behavior graph.

[0026] According to a second aspect of the present invention, there is provided an apparatus for processing APP software user operation data based on a multi-user operation behavior graph, comprising:

[0027] a capture and screening module, configured to capture user operation data according to the operation sequence during the process of each user operating the APP software, screen the captured user operation data, and store the screened user operation data into a first target file; the user operation data includes the APP software name, the event name triggered by the user operation in the APP software, the activity name triggered by the user operation in the APP software, the control name triggered by the user operation in the APP software, and the control content corresponding to the control triggered by the user in the APP software;

[0028] A first construction module is used to construct a multi-user operation behavior graph based on the first target file;

[0029] The second construction module is used to extract features based on the multi-user operation behavior graph to construct a multi-feature list;

[0030] The acquisition module is used to perform clustering based on the multi-feature list using a clustering method to obtain the classification results of the operation nodes in the multi-user operation behavior graph.

[0031] According to a third aspect of the present invention, a processor is provided, which is used to run a program, wherein when the program is running, any one of the above-mentioned methods for processing APP software user operation data based on a multi-user operation behavior graph is executed.

[0032] According to a fourth aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium includes a stored program, wherein when the program is running, the device where the computer-readable storage medium is located is controlled to implement any one of the above-mentioned methods for processing user operation data of APP software based on a multi-user operation behavior graph.

[0033] The beneficial effects of the present invention are:

[0034] The present invention captures user operation data according to the operation sequence during the process of each user operating the APP software; secondly, the present invention defines two types of nodes, operation nodes and operation result nodes, for constructing a single-user operation behavior graph, and constructs a multi-user operation behavior graph from the overlapping nodes of multiple user behaviors, thereby realizing the construction of the multi-user operation behavior graph from the operation data in the process of user interaction with APP software and the perspective of multiple users; further, based on the multi-user operation behavior graph, the number of clicks, the number of loops, the average number of loop path nodes, the shortest path length and the information entropy of the operation node are extracted to construct a feature list, filling the gap in the existing feature extraction based on multi-user operation data; and further, based on the feature list, the clustering method is used to mine the intrinsic correlation of multi-user operation data on the basis of dimensionality reduction, thereby realizing the classification of operation nodes in the multi-user operation behavior graph, effectively improving the classification effect, and providing a clear data structure for subsequent identification of user usage feedback types. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 It is a flowchart of the method of the present invention;

[0036] Figure 2 This is a graph showing the number of different types of feedback nodes for each APP software when the number of users is 3;

[0037] Figure 3 It is a schematic diagram of an APP software user operation data processing device based on a multi-user operation behavior graph of the present invention. DETAILED DESCRIPTION

[0038] To make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention. It should be noted that, in the absence of conflict, the embodiments in this application and the features in the embodiments can be combined with each other in any way.

[0039] Example 1: Figure 1 As shown, according to a first aspect of an embodiment of the present invention, a method for processing APP software user operation data based on a multi-user operation behavior graph is provided, comprising:

[0040] During the process of each user operating the APP software, user operation data is captured according to the operation sequence, the captured user operation data is filtered, and the filtered user operation data is stored in a first target file; the user operation data includes the APP software name, the event name triggered by the user operation in the APP software, the activity name triggered by the user operation in the APP software, the control name triggered by the user operation in the APP software, and the control content corresponding to the control triggered by the user in the APP software;

[0041] Constructing a multi-user operation behavior graph based on the first target file;

[0042] Extract features based on multi-user operation behavior graphs to construct a multi-feature list;

[0043] Clustering is performed using a clustering method based on the multi-feature list to obtain the classification results of the operation nodes in the multi-user operation behavior graph.

[0044] Furthermore, constructing a multi-user operation behavior graph based on the first target file includes:

[0045] Based on the first target file, a second target file is constructed; based on the second target file, a single-user single-APP data list is obtained;

[0046] Taking the single-user single-APP data list as the object, build the operation node list and operation result node list for each data that meets the preset event name;

[0047] De-duplicate the operation node list and operation result node list constructed based on each single-user single-APP data list to obtain a single-user non-repeated operation node list and a single-user non-repeated operation result node list; construct a single-user operation behavior directed graph based on the single-user non-repeated operation node list and the single-user non-repeated operation result node list;

[0048] For N users Users operate the same APP software, and N users The single-user non-repeated operation node list and the single-user non-repeated operation result node list of each user are merged and deduplicated to construct a multi-user non-repeated operation node list and a multi-user non-repeated operation result node list; the multi-user non-repeated operation node list and the multi-user non-repeated operation result node list are used to construct a first list, and all nodes in the first list are traversed and judged: if the ratio of the number of overlaps of the current node to the total number of users is greater than or equal to a first preset threshold, it is regarded as an overlapping node and saved in the overlapping node list; otherwise, it is a non-overlapping node and saved in the non-overlapping node list;

[0049] According to the multi-user non-repeated operation node list, the overlapping node list, the multi-user non-repeated operation result node list, and the non-overlapping node list, all nodes in the first list are traversed to construct an overlapping operation node list, an overlapping operation result node list, a non-overlapping operation node list, and a non-overlapping operation result node list;

[0050] Construct the edge list mutil_user_edeg_list of the multi-user directed graph and initialize it to empty; merge N users The edges of the directed graph of a single user's operation behavior are removed and saved into the edge list edge_list;

[0051] First traverse the edges in the edge list edge_list to store the edges that meet the conditions to the edge list mutil_user_edeg_list;

[0052] Based on the edge lists edge_list and mutil_user_edeg_list, construct a new multi-user directed graph edge list new_mutil_user_edeg_list;

[0053] Update the node set to new_node_list according to new_mutil_user_edeg_list; construct a multi-user operation behavior graph based on new_node_list and new_mutil_user_edeg_list.

[0054] Furthermore, the first traversal of the edges of the edge list edge_list to store edges that meet the conditions to the edge list mutil_user_edeg_list is specifically:

[0055] If the starting node of the edge of the first traversal is an overlapping node, then determine whether the ending node of the edge of the first traversal is an overlapping node: if the ending node of the edge of the first traversal is an overlapping node, save the edge of the first traversal to mutil_user_edeg_list, and then traverse the next edge of the edge list edge_list for the first time; otherwise, determine whether the ending node of the edge of the first traversal is a non-overlapping operation node, and according to the judgment result, save the edge that meets the conditions to mutil_user_edeg_list;

[0056] Otherwise, when the starting node of the edge of the first traversal is not an overlapping node, if the ending node of the edge of the first traversal is an overlapping node, then determine whether the starting node of the edge of the first traversal is a non-overlapping operation node, and based on the judgment result, store the edge that meets the conditions in mutil_user_edeg_list; otherwise, if the ending node of the edge of the first traversal is not an overlapping node, then continue to traverse the next edge in the edge list edge_list for the first time.

[0057] Furthermore, the multi-feature list includes: a list of click times of operation nodes, a list of loop numbers, a list of average loop path node numbers, a list of shortest path lengths, and a list of information entropy.

[0058] Furthermore, the clustering method is used based on the multi-feature list to obtain the classification results of the operation nodes in the multi-user operation behavior graph. Specifically, after constructing a feature matrix with the extracted multi-feature list, the features in the feature matrix are reduced in dimension to obtain the reduced-dimensional matrix; the reduced-dimensional matrix is ​​used as the input of the clustering algorithm to obtain the classification results of the operation nodes in the multi-user operation behavior graph.

[0059] like Figure 3 As shown, according to the second aspect of an embodiment of the present invention, there is provided an APP software user operation data processing device based on a multi-user operation behavior graph, comprising: a capture and screening module for capturing user operation data according to the operation sequence in the process of each user operating the APP software, screening the captured user operation data, and storing the screened user operation data in a first target file; the user operation data includes the name of the APP software, the name of the event triggered by the user operation in the APP software, the name of the activity triggered by the user operation in the APP software, the name of the control triggered by the user operation in the APP software, and the control content corresponding to the control triggered by the user in the APP software; a first construction module for constructing a multi-user operation behavior graph based on the first target file; a second construction module for performing feature extraction based on the multi-user operation behavior graph to construct a multi-feature list; an acquisition module for performing clustering based on the multi-feature list using a clustering method to obtain the classification results of the operation nodes in the multi-user operation behavior graph. For the parts not described in detail in the above modules, please refer to the relevant description of this embodiment.

[0060] According to a third aspect of an embodiment of the present invention, a processor is provided, the processor being used to run a program, wherein when the program is running, the method for processing user operation data of an APP software based on a multi-user operation behavior graph described above is executed. That is, when the processor executes the program, the following steps are implemented: in the process of each user operating the APP software, user operation data is captured according to the operation sequence, and the captured user operation data is filtered, and the filtered user operation data is stored in a first target file; based on the first target file, a multi-user operation behavior graph is constructed; based on the multi-user operation behavior graph, feature extraction is performed to construct a multi-feature list; based on the multi-feature list, clustering is performed using a clustering method to obtain a classification result of the operation nodes in the multi-user operation behavior graph.

[0061] According to a fourth aspect of an embodiment of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium includes a stored program, wherein when the program is running, the device where the computer-readable storage medium is located is controlled to implement any one of the above-mentioned methods for processing user operation data of APP software based on a multi-user operation behavior graph.

[0062] Optionally, in this embodiment, the computer-readable storage medium may be located in any one of the computer terminals in the computer terminal group in the computer network, and / or located in any one of the mobile terminals in the mobile terminal group, and the computer-readable storage medium includes a stored program.

[0063] Example 2: Figure 1-Figure 2 As shown, a method for processing APP software user operation data based on a multi-user operation behavior graph includes:

[0064] Step 1. During each user's operation of the APP software, user operation data is captured according to the operation sequence, the captured user operation data is filtered, and the filtered user operation data is stored in a first target file; the user operation data includes the APP software name, the event name triggered by the user operation in the APP software, the activity name triggered by the user operation in the APP software, the control name triggered by the user operation in the APP software, and the control content corresponding to the control triggered by the user in the APP software;

[0065] Step 2: Construct a multi-user operation behavior graph based on the first target file;

[0066] Step 3: Extract features based on the multi-user operation behavior graph to construct a list of the number of clicks on the operation node, a list of the number of loops, a list of the average number of loop path nodes, a list of the shortest path length, and a list of information entropy;

[0067] Step 4: Clustering is performed using a clustering method based on the multi-feature list to obtain the classification results of the operation nodes in the multi-user operation behavior graph.

[0068] Optionally, the Step 1 is specifically as follows:

[0069] Step 1.1, initialize the text change variable flag_text_change to false, and execute Step 1.2;

[0070] Step 1.2, initialize the operation data list 1 to be empty, and execute Step 1.3;

[0071] Step 1.3, initialize the operation data list 2 to be empty, and execute Step 1.4;

[0072] Step 1.4, whether the APP user operates the APP software: If yes, capture the user operation data of the APP user operating the APP software, and set the operation data list 1 and operation data list 2 to be empty, and then execute Step 1.5; otherwise, end; the user operation data of the APP software includes the APP software name, the event name triggered by the user operation in the APP software, the activity name triggered by the user operation in the APP software, the control name triggered by the user operation in the APP software, and the control content corresponding to the control triggered by the user in the APP software; the details are shown in Table 1:

[0073] Table 1 APP software user operation data

[0074] APP software user operation data meaning app_name APP software name event_type_name Event name triggered by user operation in APP software Activity_name The name of the activity triggered by the user action in the APP software View_name The name of the control triggered by the user operation in the APP software View_content The control content corresponding to the control triggered by the user in the APP software

[0075] In the above, during the process of the APP user operating the APP software, with the authorization of the APP user, the process of the APP user operating various APP software is monitored to capture the user operation data of the APP user operating the APP software.

[0076] Step 1.5. If the name of the event triggered by the user operation in the APP software currently obtained is text change (TYPE VIEW TEXT SELECTION CHANGED), execute Step 1.6; otherwise, execute Step 1.8;

[0077] Step 1.6. Set the text change variable flag_text_change to true and execute Step 1.7.

[0078] Step 1.7. Assign the operation data list 2 to the currently acquired user operation data of the APP software and execute Step 1.4.

[0079] Step 1.8. If the name of the event triggered by the user operation in the APP software is window change (TYPEWINDOW STATE CHANGED), execute Step 1.9; otherwise, execute Step 1.13;

[0080] Step 1.9. Call the control acquisition function (getClassName function) to obtain the activity name triggered by the user operation in the APP software, and execute Step 1.10;

[0081] Step 1.10. If flag_text_change is true, execute Step 1.11. If flag_text_change is false, execute Step 1.13.

[0082] Step 1.11. Set flag_text_change to false and execute Step 1.12.

[0083] Step 1.12, save the operation data list 2 to the first target file, and execute Step 1.13;

[0084] Step 1.13, save the currently acquired user operation data of the APP software to the operation data list 1, save the operation data list 1 to the first target file, and execute Step 1.4.

[0085] The target file can be a database, a text file, etc.

[0086] It should be noted that the above-mentioned "APP software name, event name triggered by user operation in APP software, activity name triggered by user operation in APP software, control name triggered by user operation in APP software, and control content corresponding to the control triggered by user in APP software" will be referred to as "APP software name, event name, activity name, control name, and control content" in the future.

[0087] Optionally, the Step 2 is specifically as follows:

[0088] Step 2.1. Delete the data record with the event name "TYPE VIEW SCROLLED" in the first target file to construct a second target file; extract the data with the same APP software name from the second target file to obtain a single-user single-APP data list; and execute Step 2.2.

[0089] Step 2.2: Using the single-user, single-APP data list as the object, construct an operation node for each piece of data that matches the preset event name. The operation node is in the form of "APP name | event name | activity name | control name" and is saved in the operation node list. Extract multiple pieces of data between the current operation node and the next operation node, then merge the multiple extracted contents as the operation result node of the current operation node, save it in the operation result node list, and execute Step 2.3. It should be noted that for the last operation node, directly extract multiple pieces of data after the operation node to obtain the operation result node.

[0090] For example, an operation node is constructed for each piece of data with an event name of "type_view_clicked, type_long_view_clicked, type_view_text_changed" in the single-user single-APP data list; the rules for extracting multiple pieces of data between the current operation node and the next operation node and extracting the last operation node are shown in Table 2; if there are 3 extracted contents, the 3 extracted contents can be merged in the form of: the first extracted content | the second extracted content | the third extracted content.

[0091] Table 2

[0092] Event Name Extract content type_window_state_changed Activity Name type_view_focused (control name, control content) type_notification_state_changed Control Name type_view_selected Control content

[0093] It should be noted that, based on the interaction between the user and the interface, the interaction types of APP users operating APP software are divided into click, input and slide. Since the sliding interaction behavior only causes the content loaded on the interface to change, it is reflected in the monitoring data as no value change. Therefore, the present invention only considers the two interaction types of click and input; and the event name corresponding to the click interaction type in the target file is type_view_clicked and type_long_view_clicked, and the event name corresponding to the input interaction type in the target file is type_view_text_changed; therefore, the present invention constructs operation nodes with data records of "event name" type_view_clicked, type_long_view_clicked, and type_view_text_changed. The following Table 3 is an example table of operation nodes and operation result nodes constructed based on a single-user single-APP data list;

[0094] Table 3

[0095]

[0096] Step 2.3. De-duplicate the operation node list and operation result node list constructed based on each single-user single-APP data list to obtain a single-user non-repeated operation node list and a single-user non-repeated operation result node list; construct a single-user operation behavior directed graph G1 = (V1, E1) based on the single-user non-repeated operation node list and the single-user non-repeated operation result node list; where V1 represents a set of nodes, and E1 represents a set of edges, and an edge represents a directional relationship between two nodes;

[0097] Step 2.4, for N users Users operate the same APP software, and N users The single-user non-repeated operation node lists of N users are merged and deduplicated to construct a multi-user non-repeated operation node list; users The single-user non-repeating operation result node lists of each user are merged and deduplicated to construct a multi-user non-repeating operation result node list; the multi-user non-repeating operation node list and the multi-user non-repeating operation result node list are used to construct a first list, all nodes in the first list are traversed and judged: if the ratio of the number of overlaps of the current node to the total number of users is greater than or equal to a first preset threshold, it is saved in the overlapping node list as an overlapping node; otherwise, it is saved in the non-overlapping node list; then Step 2.5 is executed; wherein all nodes include operation nodes and operation result nodes; that is, the overlapping node list and the non-overlapping node list involve operation nodes and operation result nodes.

[0098] For example, the non-overlapping operation nodes and operation result nodes in the first list are traversed using formula (1) and a judgment is made: if the ratio of the number of overlapping operation / operation result nodes to the total number of users is greater than or equal to two-thirds, then it is considered an overlapping node and saved in the overlapping node list; otherwise, it is a non-overlapping node and saved in the non-overlapping node list. Formula (1) is as follows:

[0099]

[0100] Among them, N overlap Indicates the number of overlaps of the current node involved in the judgment, and the number of overlaps represents N users The number of users with the same current node; N users is the total number of users, that is, the number of directed graphs of user operation behaviors that place orders on the same APP software;

[0101] Step 2.5, traverse all nodes in the first list:

[0102] If the current node satisfies the conditions of being in the multi-user non-repeated operation node list and in the overlapping node list, the node is an overlapping operation node and is saved in the overlapping operation node list;

[0103] If the current node satisfies the conditions that it is in the multi-user non-repeated operation result node list and in the overlapping node list, then the node is an overlapping operation result node and is saved in the overlapping operation result node list;

[0104] If the current node satisfies the conditions that it is in the multi-user non-repeated operation node list and in the non-overlapping node list, then the node is a non-overlapping operation node and is saved in the non-overlapping operation node list;

[0105] If the current node satisfies the conditions of being in the multi-user non-repeated operation result node list and in the non-overlapping node list, then the node is a non-overlapping operation result node and is saved in the non-overlapping operation result node list; then execute Step 2.6.

[0106] Step 2.6, initialize the edge list mutil_user_edeg_list of the multi-user directed graph to be empty, merge N users Calculate the edges of the directed graph of each single user's operation behavior and save them to the edge list edge_list after deduplication, and execute Step 2.7;

[0107] Step 2.7, traverse the edge list edge_list for the first time to store the edge-to-edge list mutil_user_edeg_list that meets the conditions; remove duplicates from the edge list mutil_user_edeg_list to obtain the deduplicated edge list mutil_user_edeg_list; then execute Step 2.8;

[0108] In Step 2.7, the first traversal of the edge list edge_list is as follows:

[0109] If the starting node of the edge of the first traversal is an overlapping node, then determine whether the ending node of the edge of the first traversal is an overlapping node: if the ending node of the edge of the first traversal is an overlapping node, save the edge of the first traversal to mutil_user_edeg_list, and then traverse the edge list edge_list for the first time; otherwise, determine whether the ending node of the edge of the first traversal is a non-overlapping operation node, and according to the judgment result, save the edge that meets the conditions to mutil_user_edeg_list;

[0110] Otherwise, when the starting node of the edge of the first traversal is not an overlapping node, if the ending node of the edge of the first traversal is an overlapping node, then determine whether the starting node of the edge of the first traversal is a non-overlapping operation node, and based on the judgment result, store the edge that meets the conditions in mutil_user_edeg_list; otherwise, if the ending node of the edge of the first traversal is not an overlapping node, then continue to traverse the edge list edge_list for the first time.

[0111] In Step 2.7 above, if the starting node of the edge of the first traversal is an overlapping node and the ending node is not an overlapping node, then determine whether the ending node of the edge of the first traversal is a non-overlapping operation node. The specific steps are:

[0112] If the termination node is a non-overlapping operation node, the edge of the first traversal is saved to mutil_user_edeg_list, and the termination node symbol that satisfies the termination node is a non-overlapping operation node is recorded as B1, and the edge list edge_list is traversed again in a loop: if the above-mentioned termination node exists in the edge in the edge list edge_list (that is, B1 exists), the edge that meets the conditions is stored in the first temporary edge list, otherwise the process of traversing the edge list edge_list for the first time is continued; the edges in the first temporary edge list are judged in turn: if the starting node of the edge is an overlapping operation node or a non-overlapping operation node, the edge is saved to the edge list mutil_user_edeg_list of the multi-user directed graph; otherwise, it is judged: if the termination node of the edge is an overlapping operation node or a non-overlapping operation node, the edge is saved to the edge list mutil_user_edeg_list of the multi-user directed graph, otherwise it is not saved;

[0113] If the termination node is a non-overlapping operation result node, the symbol that satisfies the termination node is a non-overlapping operation result node is recorded as B2, and the edge list edge_list is traversed again in the following manner: if the above-mentioned termination node exists in the edges in the edge list edge_list (that is, B2 exists), the edges that meet the conditions are stored in the second temporary edge list, otherwise the process of traversing the edge list edge_list for the first time is continued; the edges in the second temporary edge list are judged in turn: if the starting node of the edge is an overlapping operation node or a non-overlapping operation node, the edges of the first cycle and the edges of the second cycle are saved to the edge list mutil_user_edeg_list of the multi-user directed graph; otherwise, judge: if the termination node of the edge is an overlapping operation node or a non-overlapping operation node, the edges of the first cycle and the edges of the second cycle are saved to the edge list mutil_user_edeg_list of the multi-user directed graph, otherwise they are not saved.

[0114] In Step 2.7 above, when the starting node of the edge of the first traversal is not an overlapping node, if the ending node of the edge of the first traversal is an overlapping node, then determine whether the starting node of the edge of the first traversal is a non-overlapping operation node. The specific steps are:

[0115] If the starting node is a non-overlapping operation node, the edge of the first traversal is saved to mutil_user_edeg_list, and the symbol that the starting node is a non-overlapping operation node is recorded as A1, and the edge list edge_list is traversed again: if the edge in the edge list has the above-mentioned starting node (that is, A1 exists), the edge that meets the conditions is stored in the third temporary edge list, otherwise the process of traversing the edge list edge_list for the first time is continued; the edges in the third temporary edge list are judged in turn: if the starting node of the edge is an overlapping operation node or a non-overlapping operation node, the edge is saved to mutil_user_edeg_list; otherwise, if the ending node of the edge is an overlapping operation node or a non-overlapping operation node, the edge is saved to mutil_user_edeg_list;

[0116] If the starting node is a non-overlapping operation result node, the symbol that satisfies the starting node is a non-overlapping operation result node is recorded as A2, and the edge list edge_list is traversed again in the following manner: if the above-mentioned starting node exists in the edges in the edge list edge_list (that is, A2 exists), the edges that meet the conditions are stored in the fourth temporary edge list, otherwise the process of traversing the edge list edge_list for the first time is continued; the edges in the fourth temporary edge list are judged in turn: if the starting node of the edge is an overlapping operation node or a non-overlapping operation node, the edges of the first cycle and the edges of the second cycle are saved to mutil_user_edeg_list; otherwise, judge: if the ending node of the edge is an overlapping operation node or a non-overlapping operation node, the edges of the first cycle and the edges of the second cycle are saved to mutil_user_edeg_list, otherwise they are not saved.

[0117] Step 2.8. Loop through the edge list edge_list. If the edge is in mutil_user_edeg_list, save the edge to the new multi-user directed graph edge list new_mutil_user_edeg_list. If the edge is not in mutil_user_edeg_list, use the depth-first search algorithm to check and delete the edges in edge_list that are connected to the edge. If the deletion affects the connectivity of the graph, save the edge to new_mutil_user_edeg_list. Otherwise, if the deletion does not affect the connectivity of the graph, do not save the edge to new_mutil_user_edeg_list. Execute Step 2.9.

[0118] Step 2.9. Update the node set to new_node_list according to new_mutil_user_edeg_list; construct a multi-user operation behavior graph G2 = (new_node_list, new_mutil_user_edeg_list) based on new_node_list and new_mutil_user_edeg_list, where new_node_list is the node set and new_mutil_user_edeg_list is the edge set; Step 2 is completed.

[0119] Optionally, the Step 3 is specifically as follows:

[0120] Step 3.1, calculate the number of clicks on the operation node v in the multi-user operation behavior graph according to formula (2), save it to the click count list, and execute Step 3.2;

[0121]

[0122] Where click_count(v) represents the number of clicks on the operation node v in the multi-user operation behavior graph; E is the set of edges in the multi-user operation graph, where each edge is represented by a pair (a, b); and op_node_list is the list of operation nodes in the multi-user operation behavior graph. By traversing the edge set E, when the operation node v is equal to the starting node a in the edge (a, b), the value is 1, indicating that the node has been clicked; otherwise, it is 0. We count each operation node in the multi-user operation behavior graph to obtain the number of clicks on the operation node and construct a list of click counts.

[0123] Step 3.2. Use the depth-first search (DFS) algorithm to obtain the number of loops of the operation nodes in the multi-user operation behavior graph and save it in the loop number list.

[0124] Since an operation node may have multiple loops, the present invention uses the DFS algorithm to obtain the number of operation node loops to achieve the purpose of considering the existence of multiple loops. According to formula (3), the number of loops of the operation node v in the multi-user operation behavior graph is calculated, saved in the loop number list, and Step 3.3 is executed;

[0125]

[0126] Where cycle_count(v) represents the number of cycles of the operation node v; dfs(v) has two return values, namely the number of cycles and the specific path of each cycle. In formula (3), only the number of cycles returned by the dfs(v) function is used. When the operation node v has a cycle, cycle_count(v) is equal to the number of cycles returned by the dfs(v) function; otherwise, the number of cycles is 0.

[0127] Step 3.3, based on the loop path of each operation node obtained in Step 3.2, calculate the average number of loop path nodes for each operation node and save it to the average loop path node number list; specifically: calculate the average number of loop path nodes of operation node v in the multi-user operation behavior graph according to formula (4), save it to the average loop path node number list, and execute Step 3.4;

[0128]

[0129] Among them, cycle_count(v) represents the number of cycles of the operation node v; cycle_node_count(v,j) is the number of nodes in the j-th cycle path obtained by the operation node v.

[0130] Step 3.4: Use Dijkstra's algorithm to obtain the shortest path length of the operation node v from the desktop node in the multi-user operation behavior graph. Specifically: Calculate the shortest path length of the operation node v in the multi-user operation behavior graph according to formula (5), save it to the shortest path length list, and execute Step 3.5;

[0131]

[0132] Among them, min_short_length(v) represents the shortest path length of the operation node v in the multi-user operation behavior graph, d(s,v) represents the return value of the shortest path length from the starting node s to the target node v calculated using the Dijkstra algorithm, s represents the desktop node as the starting node, and the desktop node format is "com.android.launcher3|TYPE_VIEW_CLICKED|Launcher|TextView".

[0133] In the above, the number of nodes on the path is taken as the path length.

[0134] Step 3.5: Calculate the information entropy of the operation node v in the multi-user operation behavior graph according to formula (6), save it to the information entropy list, and then Step 3 is completed.

[0135]

[0136] Among them, H(v) represents the information entropy of the operation node v in the multi-user operation behavior graph; p(v i ) represents event v i The probability of occurrence, n is the total number of operation result nodes in the multi-user operation behavior graph, i represents the i-th operation result, v i Indicates the result of the i-th operation corresponding to the operation node v, that is, p(v i ) represents the probability that the operation node is v and the corresponding operation result is the i-th type.

[0137] Optionally, Step 4 is specifically as follows: after constructing a feature matrix using the extracted features, the matrix obtained by performing feature dimensionality reduction using T-SNE is used as input to the K-Means++ clustering algorithm to obtain classification results of the operation nodes in the multi-user operation behavior graph. Specifically, it includes:

[0138] Step 4.1. Concatenate the five feature lists constructed in Step 3 into a feature matrix F∈R n*5 , where n is the total number of operation nodes in the multi-user operation behavior graph, each row represents the five feature values ​​of an operation node, and each column represents a feature. Execute Step 4.2;

[0139] Step 4.2, use the T-SNE algorithm to reduce the original feature matrix F into a two-dimensional feature matrix F'∈R n*2 , execute Step 4.3;

[0140] Step 4.3. Take the feature matrix F' obtained in Step 4.2 as input and use the K-Means++ algorithm to cluster the operation nodes in the multi-user operation behavior graph. For example, when using the K-Means++ algorithm to cluster the operation nodes, the number of clusters K is 5-11, with 5 as the initial value, and the number of classifications is increased by 1 each time until K is 11. The clustering results obtained when K takes different values ​​are evaluated based on the silhouette coefficient index, and the K value corresponding to the optimal evaluation index is used as the optimal K value.

[0141] For example, the user operation data of five apps (Weibo, Douyin, QQ, Bilibili, and Baidu Tieba) was analyzed using the above method. The silhouette coefficient was used as the evaluation metric for the clustering results. The number of users for each app was three. The experimental results are shown in Table 4.

[0142] Table 4

[0143]

[0144] By applying the above technical solution and analyzing the clustering index evaluation results of each APP software, the present invention obtained five common feedback categories in this process, namely: (1) Unstable entry operation node. This part of the operation node serves as the entry node of the APP and is responsible for guiding users to enter the APP software for subsequent function use. (2) Control position deep operation node. When the user seeks a specific button corresponding to a certain function, it needs to go through a longer shortest path operation process from entering the page. (3) Inactive operation node. It does not interact frequently with the user but has a close connection with other nodes. (4) Redundant operation node. The user does not interact frequently with this operation node and has a loose relationship with other nodes. (5) Content dissatisfaction operation node. When the user uses the function of the APP software, he is not satisfied with the content provided therein.

[0145] Therefore, based on the above five common feedback results, after analyzing the clustering results obtained in Table 4, the number of nodes corresponding to the five feedback types in each APP was divided into Figure 2 From Figure 2As can be seen from the figure, the Douyin app has a small number of loops and a high average number of loop path nodes, which means users need to jump and click multiple times to complete specific functions during use, resulting in a high number of redundant operation nodes. The Weibo app has a low number of clicks, a high average number of loop path nodes, and high information entropy. This indicates that these inactive operation nodes may not interact frequently with users during Weibo use, but they have close connections with other nodes, resulting in a high number of inactive operation nodes. In the Bilibili app, the shortest path from the desktop to a specific function control is long. These functions are frequently used by users, but require multiple interactions to find, resulting in deep control nodes. Similar to Bilibili, QQ also has deep control nodes. This is because QQ's primary function is chatting. As the app becomes more sophisticated, it has acquired other non-core functions that are of great interest to users, but require multiple jumps to reach. Based on the above analysis, we can obtain a sample feedback table for each app, as shown in Table 5. Note: Some of the feedback tables shown in Table 5 were selected arbitrarily.

[0146] Table 5 Example of some feedback on APP software

[0147]

[0148] Overall, these apps all exhibit related issues to varying degrees, including redundant operations and difficult-to-find functional controls. Therefore, the clustering results of the present invention can reflect user feedback during use, providing developers with optimization suggestions to reduce the complexity of the user's operation process; further, more direct access to certain functions can be provided, thereby improving user satisfaction and retention during use.

[0149] The specific embodiments of the present invention are described in detail above with reference to the accompanying drawings. However, the present invention is not limited to the above embodiments. Various changes can be made within the knowledge of ordinary technicians in this field without departing from the scope of the present invention.

Claims

1. A method for processing APP software user operation data based on a multi-user operation behavior graph, characterized in that: include: During the process of each user operating the APP software, user operation data is captured according to the operation sequence, the captured user operation data is filtered, and the filtered user operation data is stored in a first target file; the user operation data includes the APP software name, the event name triggered by the user operation in the APP software, the activity name triggered by the user operation in the APP software, the control name triggered by the user operation in the APP software, and the control content corresponding to the control triggered by the user in the APP software; Constructing a multi-user operation behavior graph based on the first target file; Extract features based on multi-user operation behavior graphs to construct a multi-feature list; Clustering is performed using a clustering method based on the multi-feature list to obtain the classification results of the operation nodes in the multi-user operation behavior graph.

2. The method for processing APP software user operation data based on a multi-user operation behavior graph according to claim 1, characterized in that: The step of constructing a multi-user operation behavior graph based on the first target file includes: Based on the first target file, a second target file is constructed; based on the second target file, a single-user single-APP data list is obtained; Taking the single-user single-APP data list as the object, build the operation node list and operation result node list for each data that meets the preset event name; De-duplicate the operation node list and operation result node list constructed based on each single-user single-APP data list to obtain a single-user non-repeated operation node list and a single-user non-repeated operation result node list; construct a single-user operation behavior directed graph based on the single-user non-repeated operation node list and the single-user non-repeated operation result node list; For N users Users operate the same APP software, and N users The single-user non-repeated operation node list and the single-user non-repeated operation result node list of each user are merged and deduplicated to construct a multi-user non-repeated operation node list and a multi-user non-repeated operation result node list; the multi-user non-repeated operation node list and the multi-user non-repeated operation result node list are used to construct a first list, and all nodes in the first list are traversed and judged: if the ratio of the number of overlaps of the current node to the total number of users is greater than or equal to a first preset threshold, it is regarded as an overlapping node and saved in the overlapping node list; otherwise, it is a non-overlapping node and saved in the non-overlapping node list; According to the multi-user non-repeated operation node list, the overlapping node list, the multi-user non-repeated operation result node list, and the non-overlapping node list, all nodes in the first list are traversed to construct an overlapping operation node list, an overlapping operation result node list, a non-overlapping operation node list, and a non-overlapping operation result node list; Construct the edge list mutil_user_edeg_list of the multi-user directed graph and initialize it to empty; merge N users The edges of the directed graph of a single user's operation behavior are removed and saved into the edge list edge_list; First traverse the edges in the edge list edge_list to store the edges that meet the conditions to the edge list mutil_user_edeg_list; Based on the edge lists edge_list and mutil_user_edeg_list, construct a new multi-user directed graph edge list new_mutil_user_edeg_list; Update the node set to new_node_list according to new_mutil_user_edeg_list; construct a multi-user operation behavior graph based on new_node_list and new_mutil_user_edeg_list.

3. The method for processing APP software user operation data based on a multi-user operation behavior graph according to claim 2, characterized in that: The first traversal of the edges of the edge list edge_list to store the edges that meet the conditions to the edge list mutil_user_edeg_list is specifically: If the starting node of the edge of the first traversal is an overlapping node, then determine whether the ending node of the edge of the first traversal is an overlapping node: if the ending node of the edge of the first traversal is an overlapping node, save the edge of the first traversal to mutil_user_edeg_list, and then traverse the next edge of the edge list edge_list for the first time; otherwise, determine whether the ending node of the edge of the first traversal is a non-overlapping operation node, and according to the judgment result, save the edge that meets the conditions to mutil_user_edeg_list; Otherwise, when the starting node of the edge of the first traversal is not an overlapping node, if the ending node of the edge of the first traversal is an overlapping node, then determine whether the starting node of the edge of the first traversal is a non-overlapping operation node, and based on the judgment result, store the edge that meets the conditions in mutil_user_edeg_list; otherwise, if the ending node of the edge of the first traversal is not an overlapping node, then continue to traverse the next edge in the edge list edge_list for the first time.

4. The method for processing APP software user operation data based on a multi-user operation behavior graph according to claim 1, characterized in that: The multi-feature list includes: a list of click times of an operation node, a list of loop numbers, a list of average loop path node numbers, a list of shortest path lengths, and a list of information entropy.

5. The method for processing APP software user operation data based on a multi-user operation behavior graph according to claim 1, characterized in that: The clustering method is used based on the multi-feature list to obtain the classification results of the operation nodes in the multi-user operation behavior graph. Specifically, after constructing a feature matrix with the extracted multi-feature list, the features in the feature matrix are reduced in dimension to obtain the reduced-dimensional matrix; and the reduced-dimensional matrix is ​​used as the input of the clustering algorithm to obtain the classification results of the operation nodes in the multi-user operation behavior graph.

6. A device for processing APP software user operation data based on a multi-user operation behavior graph, characterized in that: include: a capture and screening module, configured to capture user operation data according to the operation sequence during the process of each user operating the APP software, screen the captured user operation data, and store the screened user operation data into a first target file; the user operation data includes the APP software name, the event name triggered by the user operation in the APP software, the activity name triggered by the user operation in the APP software, the control name triggered by the user operation in the APP software, and the control content corresponding to the control triggered by the user in the APP software; A first construction module is used to construct a multi-user operation behavior graph based on the first target file; The second construction module is used to extract features based on the multi-user operation behavior graph to construct a multi-feature list; The acquisition module is used to perform clustering based on the multi-feature list using a clustering method to obtain the classification results of the operation nodes in the multi-user operation behavior graph.

7. A processor, characterized in that: The processor is used to run a program, wherein the program, when running, executes the APP software user operation data processing method based on a multi-user operation behavior graph as described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that The computer-readable storage medium includes a stored program, wherein when the program is running, the device where the computer-readable storage medium is located is controlled to execute the APP software user operation data processing method based on a multi-user operation behavior graph as described in any one of claims 1 to 5.