Method for constructing user portrait based on file operation of Android external storage space

By collecting and analyzing file operation events in the external storage space of Android, combining application package names and multiple tag systems, user portraits are built, and the problem of inaccurate user portraits in the existing technology is solved, and a comprehensive analysis and prediction of user behavior and interests is achieved.

CN115409105BActive Publication Date: 2025-08-01Chinese People's Liberation Army Cyberspace Force Information Engineering University
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211028788.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-26
Publication Date
2025-08-01
Estimated Expiration
2042-08-26

AI Technical Summary

Technical Problem

There is no research in the prior art on how to use Android external storage space file operation behavior data to build user portraits, resulting in inaccurate and comprehensive analysis of user behavior habits, interest preferences and basic information.

Method used

By collecting file operation events in Android's external storage space, establishing event logs, performing statistical analysis, and using application package names to establish a mapping mechanism between file operation and application operation, combining factual, regular, mining and prediction label systems to build a user portrait.

Benefits of technology

It realizes a relatively accurate and comprehensive analysis of user behavior habits, interest preferences and basic information, and improves the accuracy of file usage behavior prediction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115409105B_ABST
    Figure CN115409105B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for constructing a user portrait based on file operations in the Android external storage space, including: collecting file operation events in the Android external storage space, establishing file operation information in the external storage space, and converting it into an operation log file in the form of EVENT:(OPERATION,TIMESTAMP,FILENAME); statistically analyzing three items of data: the file operation object, the time when the file operation occurs, and the operation event type, to complete a basic description of the user; establishing a mapping mechanism between file operations and application operations using the application package name to obtain the user's application usage behavior; according to different data sources, establishing a mobile user portrait label system from four aspects: constructing factual labels, rule-based labels, mining labels, and predictive labels, to comprehensively describe the user's characteristic attributes. The present invention can construct a user portrait more accurately.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of user profile construction, and particularly relates to a method for constructing a user profile based on file operations in the Android external storage space. Background Art

[0002] Alan Cooper initially defined the concept of user profile as User Persona, which is to construct a virtual image of a real individual in real life. Its data sources are real data such as research questionnaires and interviews, and the real data of users is used to depict the characteristic attributes of users. This is the early user profile. In the big data era, there have been qualitative changes in data storage capabilities and data analysis capabilities. Therefore, the concept of "user profile" has also changed to some extent. Now, the user profile refers to UserProfile, and the data sources are more diverse. Tags for depicting users are established based on the social attributes, living habits, and consumption behaviors of consumers. The core work of constructing a user profile is to label users, and the tags are highly refined characteristic identifiers obtained through the analysis of user information behaviors. In this case, the purpose of the user profile is to construct a virtual image for a network entity, including information such as its basic attributes, behavior habits, and interest preferences. The construction of the user profile based on the file operation information in the user's external storage space in the present invention is the second type of user profile mentioned above.

[0003] Xu Fang et al. divided the research on user profiles into behavior school, social media school, interest school, and ontology-based user profile school [Xu Fang, Ying Jieru. A review of domestic and foreign research on user profiles [J]. Research on Library Science, 2020(12): 7-16.]. At present, there have been related works studying mobile user profiles based on behaviors. You Minghui et al. proposed to mine user characteristics such as gender, social personality, and stress status based on the inertial sensors built in smartphones [You Minghui, Yin Yafeng, Xie Lei, et al. User profile technology based on behavior perception [J]. Journal of Zhejiang University (Engineering Science), 2021, 55(4): 608-614, 638.]. Wang Qiangbing et al. proposed to construct a user interest profile using the gesture behaviors of mobile users [Wang Qiangbing, Zhang Chengzhi. Design and implementation of a user profile construction system integrating content and user gesture behaviors [J]. Data Analysis and Knowledge Discovery, 2017(2): 80-86.]. Wang Le et al. proposed to construct a user profile model by analyzing Internet behavior log data [Wang Le, Ni Weijian, Lin Zedong, et al. A method for user profiling of Internet behavior logs based on model stacking [J]. Journal of Shandong University of Science and Technology (Natural Science), 2018, 37(5): 70-78.]. At present, no relevant scholars have studied the construction of a user profile model using the behavior data of file operations in the external storage space. Summary of the Invention

[0004] In view of the problem that no relevant scholars have studied using the file operation behavior data in external storage space to construct a user portrait model, the present invention proposes a method for constructing a user portrait based on file operations in Android external storage space, which can analyze users' behavior habits, interest preferences, and basic information more accurately and comprehensively. It can also achieve a better prediction effect of file usage behavior.

[0005] To achieve the above object, the present invention adopts the following technical solutions:

[0006] A method for constructing a user portrait based on file operations in Android external storage space, comprising:

[0007] Step 1, collect file operation events in the Android external storage space, establish file operation information in the external storage space, and structure it to obtain an operation log file in the form of EVENT:(OPERATION,TIMESTAMP,FILENAME), where EVENT is the operation event, which is a record of a piece of file operation information; OPERATION is the type of operation event; TIMESTAMP is the time when the file operation occurs; FILENAME refers to the file operation object.

[0008] Step 2, statistically analyze the three items of data: the file operation object, the time when the file operation occurs, and the type of operation event, and make a basic characterization of the user.

[0009] Step 3, establish a mapping mechanism between file operations and application operations using the application package name to obtain the user's application usage behavior.

[0010] Step 4, according to the different data sources, establish a mobile user portrait label system from four aspects: constructing factual labels, rule-based labels, mining labels, and predictive labels, and comprehensively characterize the user's characteristic attributes.

[0011] Further, the step 3 further includes:

[0012] Collect application-related data, where the application-related data includes the application name, its application package name, classification data, label data, and description information.

[0013] Further, the collection of application-related data includes:

[0014] Crawl the number of application programs and the number of application classifications in each application market;

[0015] Crawl the classification data of each application program based on Talking Data;

[0016] Crawl the label information of application programs based on the 360 Mobile Assistant website.

[0017] Obtain the description information of the application by crawling Baidu Encyclopedia and LiQu website.

[0018] Further, step 4 includes:

[0019] Adopt the method of statistical analysis and modeling of the original data of the user's external storage space file operations to obtain factual labels, including: statistically analyzing the file operation time to obtain the user's daily average usage duration and the distribution of usage time within a day, that is, obtaining factual labels;

[0020] Judge the significant features and special target population of the application from the application name, that is, obtain rule-based labels;

[0021] Based on the classification and labels of the collected applications, analyze the characteristics of the people who install specific applications, so as to form mining labels of users;

[0022] Based on the Doc2Vec model, predict the user's file usage and application usage, and complete the construction of predictive labels.

[0023] Further, the rule-based labels are obtained specifically in the following way:

[0024] Step 4.1.1, match based on the attribute feature words in the application name to obtain multiple rule-based labels, including:

[0025] Step 4.1.1a, infer the user's location:

[0026] Crawl the names of each province and city as a thesaurus, and perform character matching between the words in the thesaurus and the application names operated by the user. If the matching is successful, it means that the user has installed and used the application, and then infer the user's location to obtain the user's location label;

[0027] Step 4.1.1b, infer the user's gender:

[0028] Summarize the words related to men and women that may appear in the application name through social research. Based on these words, perform fuzzy matching on the application names, classification information, and label information used by the user to infer the user's gender;

[0029] Through the method of volunteer voting, select the gender for the target population of common applications, and divide the applications with the main audience group being male and the main audience group being female according to the results, and then infer the gender of the users who use the applications;

[0030] Step 4.1.1c, infer the user's age group;

[0031] Divide the age group label attributes into two types: young people and non-young people, screen out the applications whose target audience is young people, and then infer whether the users of the applications are young people;

[0032] Step 4.1.1d, infer the user's education level;

[0033] Based on the TalkingData data platform, classify the applications according to the education level, and then infer the education level of the users who use the applications;

[0034] Step 4.1.1e, infer the user's pregnancy status:

[0035] Based on whether the user installs pregnancy-related applications, infer whether the user is in a pregnancy state. To determine whether an application is pregnancy-related, perform a text match between its label and the selected pregnancy label. If the match is successful, it means the user is in a pregnancy state;

[0036] Step 4.1.2, based on the usage behavior data of the user's applications, obtain the categories of applications that the user prefers to use and the application that the user most prefers to use, and then obtain the user's application preferences.

[0037] Furthermore, the mining-type labels are obtained in the following specific way:

[0038] According to the applications installed by the user, obtain a list of application names. Use the application names in the list to query their corresponding description information. Consider the description information of each application as a document. After Chinese text word segmentation, use the LDA topic extraction model to extract topics from the document library to form user attribute keywords.

[0039] Furthermore, the predictive-type labels are obtained in the following specific way:

[0040] Step 4.2.1, based on the user's application usage behavior in Step 3, obtain the application operation records, set the length of the application operation sequence, divide the application operation records, and obtain multiple application operation sequences; based on the time data in the application operations, calculate the duration of each application and form a duration sequence equal to the length of the application operation sequence;

[0041] Step 4.2.2, perform application usage behavior prediction based on the Doc2Vec model:

[0042] Vectorize each application name in the application operations of the specified length, take the average of the results, and form the AppEmb vector;

[0043] Vectorize the duration sequence of the specified length to form the TimeVec vector;

[0044] Concatenate AppEmb and TimeVec to obtain the App*Time vector;

[0045] Perform matrix multiplication on the App*Time vector and the AppPredicEmb vector, and use the Softmax activation function to obtain the predicted probability distribution corresponding to the application;

[0046] Among the above probability distributions, take out the probability corresponding to the target application, use the mean squared error as the loss function, calculate the gradient, and perform backpropagation based on gradient descent to train the Doc2Vec model.

[0047] Furthermore, in step 4, based on the attribute change frequency of the labels, divide the constructed user labels into two dimensions, namely the behavior dimension and the attribute dimension. Under each dimension, subdivide the constructed user labels to obtain the mobile user portrait label system, complete the construction of the target user portrait, and analyze the target user portrait results from both the behavior dimension and the attribute dimension.

[0048] Compared with the prior art, the beneficial effects of the present invention are as follows:

[0049] (1) Based on the file operation information in the external storage space, the present invention maps file operations to application operations, converts non-textual meaning data into data with social attribute information, and then infers user attributes and extracts user keywords from aspects such as the user application installation list, application usage frequency, and application usage preferences. It can analyze user behavior habits, interest preferences, and basic information more accurately and comprehensively.

[0050] (2) Based on the file operation information in the external storage space, the present invention applies the Doc2Vec model to file usage behavior prediction and can achieve a better file usage behavior prediction effect. BRIEF DESCRIPTION OF THE DRAWINGS

[0051] Figure 1 It is a schematic flowchart of a method for constructing a user portrait based on file operations in the Android external storage space according to an embodiment of the present invention;

[0052] Figure 2 It is the theme distribution situation of an embodiment of the present invention;

[0053] Figure 3 It is a schematic diagram for extracting a file operation sequence according to an embodiment of the present invention;

[0054] Figure 4 It is a schematic diagram of the application prediction model structure according to an embodiment of the present invention;

[0055] Figure 5 It is a schematic diagram of the user portrait label system;

[0056] Figure 6 This is a schematic diagram of the time distribution of mobile phone usage for a single data user;

[0057] Figure 7 This is a diagram showing the usage distribution of multiple data users;

[0058] Figure 8 This is a schematic diagram of the distribution of file operation types;

[0059] Figure 9 This is a directory tree diagram;

[0060] Figure 10 A schematic diagram of the directory tree for multiple data users;

[0061] Figure 11 Usage of each application;

[0062] Figure 12 Categorize usage for applications;

[0063] Figure 13 A word cloud diagram of user keywords. DETAILED DESCRIPTION

[0064] The present invention will be further explained below with reference to the accompanying drawings and specific embodiments:

[0065] like Figure 1 As shown, a method for building a user portrait based on Android external storage space file operations includes:

[0066] Step 1: Collect file operation events in the Android external storage space, establish external storage space file operation information, and structure it to obtain an operation log file in the form of EVENT:(OPERATION, TIMESTAMP, FILENAME), where EVENT is an operation event, which is a record of a file operation information; OPERATION is the operation event type; TIMESTAMP is the time when the file operation occurs; FILENAME refers to the file operation object;

[0067] Step 2: Perform statistical analysis on the file operation object, the time when the file operation occurred, and the operation event type to complete a basic profile of the user;

[0068] Step 3: Use the application package name to establish a mapping mechanism between file operations and application operations to obtain user application usage behavior;

[0069] Step 4. According to different data sources, establish a mobile user portrait label system from four aspects: constructing factual labels, rule-based labels, mining labels, and predictive labels, and comprehensively depict user characteristic attributes.

[0070] Specifically, the collection of user external storage space log information includes:

[0071] In this embodiment, the Android device version under study is below Android 10. By listening to external storage space file operation events, record the object, time, and event type of the user's file operations to form a file operation log, which serves as the original data for the user portrait.

[0072] 1.1 Method for collecting external storage space file operation information

[0073] By applying for the WRITE_EXTERNAL_STORAGE permission to obtain the permission to write to the external storage space, the file operation behavior of the user in the Android external storage space can be monitored. The present invention designs and implements an external storage space file operation data collection tool Fimo, which uses Android.os.FileObserver to construct a file operation data collection tool, captures each file operation on the external storage, and records detailed information about these file operations (such as file operation type, occurrence time, etc.). The FileObserver class in the Android.os package can listen to operations such as file access, creation, modification, deletion, and movement. Based on the parent class, an abstract class is defined and implemented. When an operation occurs on the specified file, a monitoring event will be triggered and recorded in the log.

[0074] 1.2 Operation event log structure and data analysis

[0075] Each record in the log file is in the form of EVENT:(OPERATION,TIMESTAMP,FILENAME). EVENT is the event, which is a record of a piece of file operation information. OPERATION is the operation, that is, what kind of operation is performed on the target, including ten operation types such as ACCESS, CLOSE_WRITE, OPEN, CREATE, etc. The type code corresponding to each operation type is shown in Table 1. TIMESTAMP is the time when the file operation occurs, and the unix millisecond timestamp is used for data collection. The file operation time information is the basic data that cannot be obtained by the user portrait. FILENAME refers to the file operation object, that is, the file operated on in the external storage space, which is given in the form of a file path. Through this information, the folder to which the operated file belongs can be judged. When the operation object is a folder, the type code usually becomes the corresponding code starting with 4. For example, when creating a folder, its type code will become 40000100.

[0076] Table 1 File Operation Event Types and Their Encodings

[0077] Event Type Corresponding Operation Type Code ACCESS Access File 1 MODIFY Modify File 2 ATTRIB Modify File Attributes 4 CLOSE_WRITE Close Writable File 8 CLOSE_NOWRITE Close Non-Writable File 10 OPEN Open File 20 MOVED_FROM Move File Out 40 MOVED_TO Move File In 80 CREATE Create File 100 DELETE Delete File 200

[0078] Furthermore, establishing the mapping relationship between file operations and application operations includes:

[0079] When collecting file operation information of the user's external storage space, the result is a sequence of file names related to time. Combining with the naming rules of Android external storage space files, the file name can be associated with the application program to which it belongs.

[0080] 2.1 Connection between File Operations and Application Operations

[0081] To protect user privacy, when designing and implementing the file operation data collection tool of the present invention, only file operation events are recorded, and the content of files on the user's device is not read. Therefore, in the file operation log, there are only file path and name information, and the phenomenon of random naming of application program cache data in the Android system is common, making it difficult to infer user-related attributes from the file name. Fortunately, the Android system allocates a private directory for each application program in the external storage space, that is, the file object operated by the user must have its corresponding application program, and the present invention maps the file operation under the private directory to an operation of the corresponding application program. The result shows that among the file operation quantities in the external storage space, the file operation quantity under the private directory accounts for more than 80%, so this association method can better maintain the data scale.

[0082] 2.2 Establishment of the Association Relationship between Files and Applications

[0083] The key to establishing the association relationship between files and applications is the application package name. The application package name is the unique identifier corresponding to the application. Every time an administrator creates a new application, the background will configure a new application package name for it, and it cannot be changed later. Even if the created application is deleted, its package name cannot be occupied by a newly created application. It has the following four characteristics:

[0084] (1) Uniqueness. Each Android application has a unique package name. (2) Identifiability. The application package name can uniquely identify the application program. (3) Consistency. When the application program is updated, it is still necessary to ensure that the application package name is consistent with the original APK. (4) Unchangeability. Once the application program is released, the application package name cannot be changed.

[0085] 2.3 Method for Establishing the Association Relationship between File Operations and Application Operations

[0086] This section uses a one-to-one correspondence method to complete the mapping from file operations to application operations. Through the discussion in 2.2, using the application package name, files and applications can be mapped one-to-one, thereby associating file operations with application operations. That is, if an operation is performed on any sub-file in a private directory folder of an application in the private directory of the external storage space, it can be considered that an operation has been performed on the application. Based on the four properties of the application package name, the present invention needs to crawl the application package names corresponding to the applications in the Android market and establish a database.

[0087] Furthermore, information dimension extraction and user portrait dimension establishment include:

[0088] After completing the above steps, the data analysis object of this invention includes two parts: raw data of external storage file operations and application operation data. Based on the raw file operation data, statistical modeling and analysis methods are used to analyze user lifestyle habits. Based on the application operation data, application classification information and tag information are crawled to explore the data's potential value and infer user attributes from multiple aspects and angles. Combining the analysis results of these two parts of data, user profiles are constructed based on tags, forming a tag system.

[0089] 3.1 Statistical Modeling and User Lifestyle Habit Analysis

[0090] The present invention performs statistical analysis based on the raw data of file operation information in the user's external storage space to obtain user-related information. In this step, statistics are collected from both time information and file information to derive the user's living habits. Based on the statistics of file operation time, statistical modeling of the user's mobile phone usage time is performed to analyze the user's daily routine, including the time of waking and going to bed. At the same time, mobile phone usage in various time periods is analyzed to determine the user's relatively idle time periods.

[0091] 3.2 Building User Profiles Based on Tags

[0092] The steps of building a user portrait using labels can be divided into four steps: clarifying the goal, developing labels, data analysis, and label assignment. Based on the original data of the mobile user's file operation information, the present invention extracts the application package name from the file path, and thereby completes the mapping from file operation to application operation, and obtains the frequency of use of each application. Based on the application classification data, label data, and description data, a preliminary analysis is performed to develop inferable attribute labels for users. After data cleaning and data fusion, user attributes are extracted from the application name, application classification, and application label in turn. The extraction methods include rule matching, definition based on survey results, extraction of label data themes, etc., and the construction of the user portrait is completed by assigning values to labels.

[0093] Furthermore, the preparation of user portrait data based on Android external storage space file operation information includes:

[0094] To build a user profile based on external storage file operation information, the data required includes external storage file operation information and application data. The following describes these two parts of data and their collection methods.

[0095] 4.1 External storage space file operation information

[0096] To complete the user profile, this section collects the target user's external storage space file operation information within a specific time period, including operation type, operation time, and operation object, and structures it to obtain a file operation log file. This paper uses Fimo File Monitor to collect a total of 32 sets of external storage space file operation information from 20 users, who are mainly college students. The time distribution is from August 2020 to May 2022.

[0097] 4.2 Application-related data sources and analysis

[0098] Application-related data includes the application and its package name, classification data, tag data, and description information. The application package name is the data required to associate files with applications. To establish a mapping between file operations and application operations, we need to crawl the package names of Android applications. Furthermore, to obtain richer user information, this section also crawls the application's classification data and tag data. The description information provides an official introduction to the application, reflecting information such as the target audience. The following is a brief analysis of the data source and content.

[0099] 4.2.1 Data required to associate files with applications

[0100] In this section, based on the one-to-one correspondence between the private directory package name and the application in the external storage space, it is necessary to convert the file according to the applications and their package names that have been released on the current Android application market. Therefore, the domestic application rankings of the Diandian data platform are crawled. The platform includes ranking data from multiple application markets, including Huawei, Xiaomi, OPPO, etc., and the application package name is marked in the detailed content of each application.

[0101] The number of APPs crawled from major application markets collected by the present invention and the number of classifications are shown in Table 2. After data alignment and deduplication, a total of 1404 pieces of relevant information about application programs were finally obtained. Since this platform only displays the first few hundred application programs on each list, directly crawling the application program list on the Diandian data platform cannot crawl all the data. During the process of user profiling, if an application ID that does not exist in the database is encountered, the application name and application classification need to be crawled according to the application ID, and this piece of information is updated to the database. In this way, the database is improved in actual applications.

[0102] Table 2 Number of APPs Crawled from Major Application Markets

[0103] Mobile Application Market Number of Applications Number of Application Categories 360 90 17 oppo 420 101 Meizu 396 23 Baidu 484 26 App Bao 272 25 Wandoujia 227 20 Huawei 550 17

[0104] 4.2.2 Application Program Classification Data

[0105] In the previous step, the application program name data has been obtained. However, only relying on the name data, more information cannot be obtained. Therefore, after completing the crawling of the application program names, 3319 pieces of application program classification data were crawled in the Talking Data Mobile Observatory in this section. The application program classification data on this platform is more comprehensive, rich, and specific. Its classification data is in the form of "Mobile Games - Shooting Games", where "Mobile Games" is the major category and "Shooting Games" is the minor category. After statistics, 3319 application programs are divided into 26 major categories such as Communication & Social, Online Shopping, Mobile Video, News & Information, etc., and a total of 174 minor categories. Table 3 shows some application programs and their category information.

[0106] Table 3 Some Application Programs and Their Categories

[0107]

[0108]

[0109] 4.2.3 Application Program Tag Data

[0110] In addition to the application program classification tags, in order to make the application program information more rich and three-dimensional, the application program tags on the 360 Mobile Assistant website were crawled in this section. The application program tags contain more information than the application program classifications. For example, on the TalkingData platform, the classification information of the "VIPShop" APP is "Online Shopping - Comprehensive E-commerce", while on the 360 Mobile Assistant website, the tags given to this application program are "Mall, Flash Sale, Shopping, Discount, Female, E-commerce, Famous Brand". The comparison between the classification data and tag data of the VIPShop APP is shown in Table 4.

[0111] Table 4 Classification Information and Tag Information of the VIPShop APP

[0112]

[0113] Through comparison, it can be found that if users of the "VIPShop" APP are determined to be "users of comprehensive e-commerce", the information related to users brought by this is too single. Because with the rise and popularity of online shopping, almost everyone is a "user of comprehensive e-commerce", while the labels of "female" and "famous brand" can make the user image more three-dimensional. Therefore, on the basis of crawling the application classification data, it is still very necessary to crawl the application label data.

[0114] The present invention crawls the labels of 2450 applications from the 360 Mobile Assistant website and obtains a total of 1111 labels. The label information of some APPs is shown in Table 5.

[0115] Table 5 Label Information of Some APPs

[0116]

[0117]

[0118] 4.2.4 Application Description Information Data

[0119] In this subsection, Baidu Encyclopedia and LiQu website are crawled to obtain the description information of applications. Among them, the description information of 3323 applications is crawled from Baidu Encyclopedia, and the description information of 11988 applications is crawled from LiQu website. Different from the application classification information and label information, the description information is usually a sentence or paragraph introducing the application. As shown in Table 6, in the description information of the iQIYI APP on the LiQu website, words such as "mall", "ticket purchase", "reading", and "live broadcast" can describe the functions of the iQIYI APP, while words such as "a", "etc.", and "multiple" only play a connecting role in the sentence and have nothing to do with the characteristics of the APP itself. In order to extract the key information among them, Chinese text word segmentation processing is still required, and a stop word list suitable for applications is constructed.

[0120] Table 6 Word Analysis in the Description Information of the iQIYI APP

[0121]

[0122] Specifically, the construction of the user portrait based on the Android external storage space file operation information includes:

[0123] 5.1 Construction of the User Portrait Based on Classification Labels

[0124] Labels, actually referring to the general term of labels and label values, are the generalization and abstraction of a certain characteristic attribute of a specified object, and its values can be divided into different categories. Generally speaking, it is the labels that constitute the user portrait, and labels are the basis of the user portrait. The process of creating a user portrait is to abstract the information data related to the user into the specific value of a certain label. According to the differences in data sources, processing methods, etc., this section will construct factual labels, rule-based labels, mined labels, and predictive labels to speculate on user attributes based on data such as application names, classifications, and labels.

[0125] 5.1.1 Factual Labels

[0126] Factual labels usually refer to labels directly extracted from personal information, registration information, etc. actively filled in by users without the processing of algorithms and rules, or labels constructed by statistical analysis and modeling of existing data. The characteristics of such labels are high credibility of label attributes, simple implementation, short construction cycle, and strong interpretability, but they require user-filled data and the support of raw data. In this subsection, the method of statistical analysis and modeling of the original data of file operations in the user's external storage space is mainly used to obtain factual labels. By statistically analyzing the file operation time, the average daily usage duration of the user and the distribution of usage time within a day can be obtained, which are factual labels. Factual labels form the basis of the user portrait.

[0127] 5.1.2 Rule-based Labels

[0128] Rule-based labels usually refer to classifying users according to custom rules based on user data to complete the assignment of rule-based labels. The characteristics of such labels are strong subjectivity of developers, flexibility and richness, long construction cycle, and weak interpretability. Based on the file operation data in the user's external storage space, in this subsection, the application package name is extracted from the file path to complete the mapping from the file to the application entity, and matching rules are set to judge the significant features and special target groups of the application program from the application name. If the "Hupu" APP appears in the user's installation list, then it is considered that the user is male, which is a rule-based label.

[0129] 5.1.3 Mined Labels

[0130] Mined labels usually refer to mining the potential attributes of users using natural language processing algorithms based on text information. The characteristics of such labels are diverse and rich, poor interpretability, and low accuracy. The file operation information in the user's external storage space is the basis for label mining, but this information belongs to the user behavior log and it is impossible to directly mine the corpus from it. Therefore, in this subsection, by crawling the classifications and labels of application programs on the data platform and analyzing the characteristics of the people who install a certain application program, the mined labels of the user are formed.

[0131] 5.1.4 Predictive Labels

[0132] Predictive labels generally refer to the calculation of future data or upcoming data based on existing data according to certain methods and rules. The characteristics of such labels are strong descriptiveness and the results are given as probabilities. Based on the user's external storage space file operation information and application operation information, this section uses the improved AppUsage2Vec to predict the user's file usage and APP usage, and complete the construction of predictive labels.

[0133] The construction methods and data bases of the above four types of labels are different. Table 7 summarizes the data bases of the four types of labels, gives examples respectively and illustrates the construction methods. The following will introduce the relevant technical details for each type of label in detail.

[0134] Table 7 Construction of Various Labels

[0135]

[0136]

[0137] 5.2 Constructing Factual Labels Based on Raw File Operation Data

[0138] This section collects the user's external storage space file operation information, and can obtain the time pattern of the user's file operations through statistical analysis to form basic factual labels.

[0139] In order to better find the user's work and rest patterns and usage habits, this section divides the raw file operation information of each user by day, takes 24 hours as a cycle, counts the number of user file operations per minute, draws a line chart, and focuses on analyzing the time points with abnormal high points. The specific results will be introduced in detail in Section 6.2.1.

[0140] 5.3 Constructing Rule-based Labels Based on Application-related Data

[0141] Based on the correspondence relationship between the application names and application package names crawled, map the file operations whose file names contain the application ID in the file operation records to application operations, thus completing the mapping from files to applications. After the mapping is completed, the user's application usage situation is obtained. Integrate the application classification data, label data and description information, set rules, and construct rule-based labels.

[0142] 5.3.1 Feature Word Matching

[0143] This method completes the inference of user attributes through the matching of texts with specific meanings. In this section, the application names are used for text matching to infer the region and gender of the users. However, in most cases, when naming an application, the publisher may not directly include functional words related to the APP in order to make the application name recognizable and easy for users to remember. In this section, the classification information and label information of applications related to the region, gender, age group, education level, pregnancy status, etc. of the users are classified:

[0144] (1) Infer the region where the user is located

[0145] The main idea of inferring the user's region in this subsection is to crawl the names of major provinces and cities such as "Lanzhou" and "Zhengzhou" and the abbreviations of each province such as "Gan" and "Hu" as the word library, and perform character matching between the words in the word library and the names of the applications operated by the user. If the match is successful, it means that the user has installed and used the application. Since the application has a strong correlation with the region, the region where the user is located can be inferred through this method.

[0146] (2) Infer the user's gender

[0147] The main idea of inferring the user's gender in this subsection is that since the commonly used APPs for women and men are different, the words related to men and women that may appear in the application names are summarized through social research, as shown in Table 8. Based on these words, fuzzy matching is performed on the names, classification information, and label information of the applications used by the user.

[0148] Table 8 Words related to gender

[0149] Words Related to Men Automobile Battle Tank Sports Football Racing Basketball Violence NBA CBA Words Related to Women Princess Cute Aunt's Period Beautiful Beauty Care Beauty Filter Take Photos Pregnancy Menstruation Lose Weight

[0150] In addition, when inferring the user's gender, this subsection also selects the gender for the target population of common applications through volunteer voting, and divides the applications into those with the main audience group being male and those with the main audience group being female according to the results. Table 9 lists common male APPs and female APPs.

[0151] Table 9 Commonly used APPs for different genders

[0152]

[0153] (3) Infer the user's age group

[0154] When judging the user's age group, this section divides the age group label attributes into young people and non-young people. Therefore, in order to judge whether the user is a young person, it is necessary to manually screen out the applications with the target audience being young people before assigning labels. Table 10 shows some manually defined applications related to young people.

[0155] Table 10 Commonly Used Applications by Young People

[0156]

[0157] (4) Infer the user's education level

[0158] In the TalkingData data platform, the classification information of the Zuoyebang APP is "Learning and Education - K12". From this information, "Learning and Education" is the major category and "K12" is the minor category, referring to the 12-year basic education starting from preschool education. Based on this classification information, the user's education level can be inferred. If a user installs and uses applications in the K12 category, it indicates that the user is a primary or middle school student or there are primary or middle school students in the family members. Therefore, the label "primary and middle school students" can be mined for this user; if a user installs and uses applications in the higher education category, the label "college student" can be assigned to the user; if a user installs and uses applications in the vocational / skill training category, the label "at work" can be assigned to the user. Table 11 shows examples of applications in three minor categories.

[0159] Table 11 APPs Related to Education Level

[0160]

[0161]

[0162] (5) Infer the user's pregnancy status

[0163] Based on whether the user installs applications related to pregnancy, it can be inferred whether the user is in a pregnancy state. To determine whether an application is related to pregnancy, its label is text-matched with the selected pregnancy labels. If the match is successful, it indicates that the user is in a pregnancy state. Table 12 lists the labels of common applications when the user is in a pregnancy state.

[0164] Table 12 Labels Related to Pregnancy Status

[0165] Pregnancy Status Label Pregnant Preparing for Pregnancy Childcare Baby Parent-Child Mother and Baby

[0166] 5.3.2 User Application Preference Labels

[0167] Based on the application classification data, user behavior preference labels can be constructed, mainly including the following two parts:

[0168] (1) In daily mobile phone use, the categories of application programs preferred by users. This tag shows the classification of various application programs used by users and their corresponding frequencies, describes the categories of application programs preferred by users, and can indirectly reflect users' personalities and interests. For example, if the use frequency of game entertainment application programs is higher than that of other categories of application programs, it indicates that users usually choose to play games for entertainment.

[0169] (2) Among various application programs, the application program most preferred by users. This tag shows the application program with the highest use frequency in each category. This section defines 6 categories of commonly used programs, namely online video, online shopping, game entertainment, life utility, social communication, and map navigation. For example, if the number and frequency of file operations corresponding to iQIYI far exceed those of other online video application programs, it can be inferred that users usually use iQIYI to watch videos.

[0170] 5.4 Construction of Mining Tags Based on the LDA Model

[0171] Based on the application program tag data, classification data, and description information, this section uses the LDA topic extraction model to extract users' latent attributes, making user tags more rich and comprehensive. According to the application programs installed by users, a list of application program names is obtained. Using the names in the list, the corresponding description information is queried. Regarding the description information of each application program as a document, after Chinese text word segmentation, the LDA topic extraction model is used to extract topics from the document library, forming user attribute keywords to complete the user portrait.

[0172] 5.4.1 Data Preprocessing

[0173] Given the APP names, in this subsection, the description information corresponding to the APPs is crawled from the LiQu website and Baidu Encyclopedia. When crawling data, there will be dirty data, including null values, special characters, etc. Since the description information on the web pages is unstructured data, there are individual cases where the description information of APPs is empty. Table 13 shows some APPs with empty description information in the LiQu market. For the sake of beautiful and attractive typesetting, information editors often add some special symbols to the description information, and at the same time, due to different encodings, special characters appear in the content. Table 14 shows some special characters that often appear in the description information. Therefore, in the process of data preprocessing, in order to avoid the influence of dirty data, data cleaning is required, including removing special characters in the text, deleting null values, and deleting duplicate values.

[0174] Table 13 Some APPs with Empty Description Information

[0175]

[0176] Table 14 Special Characters that Often Appear in the Description Information

[0177]

[0178] 5.4.2 Building a Stop Word List

[0179] In the normal case of Chinese text word segmentation, not all words have specific meanings. For example, words like "de", "ge", "therefore", etc. To ensure the quality of word segmentation, these words are often filtered out during the word segmentation process. Manually defining filtering words cannot guarantee comprehensive coverage. At the same time, to improve the efficiency of word segmentation and avoid adding words one by one, there are already relatively mature and complete stop word lists, such as the Harbin Institute of Technology stop word list and the Baidu stop word list. The stop word list plays an important role in Chinese text word segmentation, and the current mainstream stop word lists are applicable to various corpus fields. In this section, based on the Harbin Institute of Technology stop word list, the scale of the word list is expanded, and stop words related to APP description information are added. Some of the stop words are shown in Table 15.

[0180] Table 15 Some Stop Words Added Based on APP Description Information

[0181]

[0182]

[0183] 5.4.3 Text Vectorization

[0184] Text vectorization is to convert human-readable data such as Chinese characters and English characters into machine-readable data such as numerical vectors or numerical matrices. In the user file operation log, if N application programs have been used in total, the description information of the N application programs constitutes N documents in the document library. In this section, the TF-IDF algorithm is used to vectorize the words after text word segmentation. The process is to count the frequency of the i-th word w i appearing in each description information and perform normalization; for w i , count the number of description information R i in which it has appeared, then IDF = log(N / R i +1); calculate the TF-IDF value of w i . This value reflects the importance of w i to the description information. Perform the above operations on each word to obtain the TF-IDF matrix.

[0185] 5.4.4 Model Training

[0186] In this section, the LDA model is imported from the sklearn library, and the TF-IDF matrix generated in Section 5.4.3 is put into the LDA model for training. Before training the LDA model, the number of topics n_topics and the parameters α and β of the two Dirichlet distributions need to be determined. The number of topics is initially set to 5, and subsequent parameter tuning and optimization are carried out in Subsection 5.4.5. The α and β parameters are inferred by the Gibbs sampling algorithm during the iteration process. The initial default values of α and beta in the LDA model in the sklearn library are both the reciprocal of the number of topics.

[0187] The results of the LDA model operation include the document-topic distribution and the feature words under each topic. The document-topic distribution shows the corresponding probabilities of each description information under the 5 topics. The table shows the document-topic distribution of some description information. The feature words under each topic often reflect the practical significance of the topic, and the topic can be summarized by the feature words. The table shows the Top5 feature words under the 5 topics, and user-related attributes are extracted under each topic.

[0188] Table 16 Topic Probability Distribution of Description Information (Partial)

[0189]

[0190]

[0191] 5.4.5 Model Evaluation and Tuning

[0192] In Subsection 5.4.4, the initial number of topics is set to 5. In this subsection, the number of topics is adjusted to optimize the LDA topic extraction model based on description information and obtain user feature keywords.

[0193] 1) Perplexity

[0194] In the LDA model, the two commonly used evaluation metrics are perplexity and coherence. Perplexity represents the uncertainty of the description information containing the topic. The lower the perplexity, the clearer the topic distribution and the farther the distance between topics. To obtain user feature keywords, this section uses perplexity to evaluate the model effect. The calculation formula of perplexity is where D is the test set; M is the number of texts; di is the word sequence in document d; Ni is the number of words in document d.

[0195]

[0196] Through experiments, it can be concluded that the perplexity decreases as the number of topics increases. When the number of topics is less than 7, the perplexity decreases significantly; when the number of topics is between 7 and 20, the rate of decrease in perplexity significantly reduces; when the number of topics is greater than 20, the rate of decrease in perplexity tends to level off. In terms of the curve change, although the perplexity gradually decreases as the number of topics increases, the rate of decrease becomes slower and slower, and basically tends to balance.

[0197] 2) Topic aggregation phenomenon

[0198] Based on the perplexity index, after plotting the perplexity-number of topics change curve in this subsection, it is found that the better the model performance is with the more the number of topics. Therefore, 47 is selected as the number of topics to retrain the LDA model. However, the experimental results show that 47 topics present an obvious aggregation phenomenon, forming three major groups, and the distance within each group is short and the connection is tight, while the distance between groups is far and the boundaries are distinct.

[0199] 5.4.6 Result visualization analysis

[0200] Based on the previous subsections, in this subsection, the number of topics is determined to be 3, and the PyLDAvis tool is used to conduct a visualization analysis of the LDA model results. The topic extraction results include two major parts. The left side is the distance graph between topics, and the right side is the top 30 feature words under each topic. The distance graph between topics and the top 30 feature words are introduced separately below.

[0201] 1) Distance graph between topics

[0202] The distance graph between topics is drawn by scaling a multi-dimensional vector into a low-dimensional space based on the topic similarity through the multi-dimensional scaling method. In the distance graph between topics, each topic is represented by a numbered circle, the size of the circle represents the richness of the words included under that topic, and the distance between the circles represents the difference between topics. As Figure 2 shown, the topic distribution situation trained with the number of topics being 3 is basically the same as that with the number of topics being 47 in Subsection 5.4.5.

[0203] 2) The top 30 feature words most relevant to the topic

[0204] Without selecting a topic, the most prominent 30 words in the APP description information are output; when a topic is selected, the 30 words most relevant to that topic are output.

[0205] 5.5 Constructing predictive labels based on application operation behaviors

[0206] This section predicts the user's APP usage behavior based on the file operation information in the user's external storage space, using the idea of APPUsage2Vec, and at the same time explores the method of file usage behavior prediction.

[0207] Existing related work has shown that applications have co-occurrence. On this basis, this section constructs training sets and test sets for file operation and application operation time series through existing data to verify the feasibility of file usage prediction and application usage prediction. The difficulty of file behavior prediction is much higher than that of application behavior prediction because in the original data of file operations, the order of magnitude of the number of file paths that appear is much larger than the number of applications that appear. From a simple perspective, only in the private directory of the external storage, the system assigns a folder to each application, and this folder usually includes two folders, cache and file, and there are many sub-folders under these two folders. At the same time, affected by randomized naming, the number of files is much larger than the number of applications. Therefore, the difficulty of accurate file prediction is greatly increased. So the present invention reduces the accuracy of file behavior prediction to the level of the private directory of the external storage space, predicts the application usage behavior, and completes the file behavior prediction according to the corresponding relationship between files and applications in the private directory.

[0208] 5.5.1 Data Preprocessing

[0209] In this step, through preprocessing, the application operation sequence and its time series are obtained based on the original data of the user's external storage space file operation.

[0210] 1) Construction of application operation sequence: Each record in the operation log is an operation on a file. The possible package name is extracted from the file path, and the file name at the package_name position is extracted from the private directory folder of the external storage space, that is, / Storage / emulated / 0 / Android / data / <package_name>. First, it is matched with the local database. If the match is successful, the application name corresponding to the application ID is extracted from the database. Finally, the mapping is completed using the relationship between file operations and application operations, and a unique integer ID is assigned to each application for subsequent processing of the data. Thus, the application operation record is obtained. Set the application sequence length N, and make a preliminary division of the original data. The i-th application sequence AppSequence i is <App i ,App i+1 ,……,App N-1 >, such as Figure 3The partitioning situation when the sequence length is 4 is shown. It can be obtained that sequence 1 is <APP1, APP2, APP3, APP4>, sequence 2 is <APP2, APP3, APP4, APP5>, and so on, to complete the construction of the operation sequence.

[0211] 2) Data filtering. Based on the time data in the application operations, calculate the duration of each application and form a duration sequence with the same length as the application program sequence. During the process of extracting the sequence, in order to avoid introducing noise, when extracting the sequence, an interval threshold needs to be set. If the time interval between two operations is too large, it is considered that there is no sequential relationship, so the application operation sequences that do not meet the conditions are cleared.

[0212] 5.5.2 Predicting APP Usage Behavior Based on the Doc2Vec Model

[0213] In Section 5.5.1, the construction of the application operation sequence has been completed. In this section, the Doc2Vec algorithm is used to predict the file usage behavior to complete the construction of the predictive tags in the user profile. The input of the Doc2Vec model includes a word matrix and a paragraph matrix. In this section, the operation sequence is regarded as the context to form a word matrix; the sequence occurrence time is regarded as different paragraphs to form a paragraph matrix.

[0214] From the user's perspective, this section extracts two time features: 1) The day of the week, which is used to distinguish weekdays and non - weekdays; 2) The hour of the day, which is used to mark the impact of the user's daily routine on application operations.

[0215] As Figure 4 shown, the structure diagram for predicting APP usage behavior based on the Doc2Vec model is presented, and the training steps are as follows:

[0216] (1) Vectorize each APP name in the APP sequence with a specified length, take the average of the results, and form the AppEmb vector.

[0217] (2) Vectorize the duration sequence with a specified length to form the TimeVec.

[0218] (3) Concatenate AppEmb and TimeVec to obtain the App*Time vector.

[0219] (4) Multiply the App*Time vector by the AppPredicEmb vector, and through the Softmax activation function, obtain the probability distribution of the App prediction.

[0220] (5) In the above probability distribution, extract the probability corresponding to the target App, use the mean squared error as the loss function, calculate the gradient, and perform backpropagation based on gradient descent to train the model.

[0221] 5.5.3 Result Analysis

[0222] Based on the above model, divide the user file operation log information into a training set and a test set for model training and evaluation. When predicting the user's usage behavior, there are the following two prediction methods: 1) Predict the user's next behavior based on the current usage behavior; 2) Based on the current behavior, give multiple possible results for the next behavior. This section evaluates the prediction effect of the model based on the accuracy metric. The accuracy formula is shown in Equation 5-2. Accuracy@k represents the accuracy of predicting the behavior with a probability ranking of k. For example, Accuracy@1 is the most likely expected behavior. This section uses accuracy to evaluate the effect of the model, and its significance lies in knowing the stability of the user's usage behavior through the training results.

[0223]

[0224] Furthermore, the construction and result analysis of the user portrait label system include:

[0225] 6.1 Construction of the User Portrait Label System

[0226] To depict the user attributes more comprehensively and meticulously, during the process of creating a user portrait, a user portrait label system is often constructed to classify and hierarchize user labels. In this part, user labels are divided into four levels: primary label, secondary label, tertiary label, and quaternary label. Based on the frequency of attribute changes of the labels, this part divides user labels into two dimensions (i.e., primary labels), namely the behavior dimension and the attribute dimension. Secondary labels are further divided more specifically under the primary labels. For example, under the attribute dimension, they include demographic labels, interest labels, and occupation labels. Tertiary labels are specific labels related to the user, such as user gender, region, and age. Quaternary labels are the values corresponding to the tertiary labels, such as the user's gender being female. Form a label system according to this method, and the final system diagram is as Figure 5 shown.

[0227] 6.2 Result Analysis of the User Portrait Label System

[0228] According to the user portrait label system constructed in Section 6.1 and using the method of constructing the user portrait in Section 5, this section completes the construction of the user portrait based on the user's external storage space file operation information. Next, analyze the user portrait results from two aspects: the behavior dimension and the attribute dimension.

[0229] 6.2.1 Behavior Dimension

[0230] (1) User mobile phone usage

[0231] Conduct statistical analysis of mobile terminal usage based on user external storage file operation information. From a time perspective, analyze the distribution of user usage time; from a file operation type perspective, analyze the proportion of each file operation type; and from a file operation object perspective, construct a file directory tree.

[0232] This section categorizes users into multiple-data users and single-data users based on the size of their file operation event data. For single-data users, their data collection spans less than a day, making the distribution of mobile phone usage time derived from statistical analysis of their data less reliable and unable to capture a user's daily habits. The results are significantly influenced by factors such as data collection time and user status. For multiple-data users, their data collection spans longer periods, resulting in large data volumes and encompassing multiple 24-hour periods. More stable behavioral data can be obtained by removing outliers and calculating the average number of uses.

[0233] ① Distribution of mobile phone usage time

[0234] Figure 6 The distribution of mobile phone usage time for a single data user. The horizontal axis is the time when the file operation occurs, and the vertical axis is the number of operations per minute. Figure 6 China Information analyzes the characteristics of single data users.

[0235] The information was collected over a short period of time. The data was collected from 9:00 AM to 5:00 PM on January 18, 2022, a total of approximately eight hours. The data points available for analysis were concentrated at four peaks, indicating that users frequently used their phones during these four time points.

[0236] Unstable data distribution. Data distribution is abrupt and unstable. Due to the small amount of data, it is impossible to accurately and realistically characterize users.

[0237] Figure 7 This is the distribution of mobile phone usage time for multi-data users. Compared with single-data users, multi-data users have larger data volumes and significantly higher mobile phone usage frequency than single-data users. Their characteristics are:

[0238] The information was collected over a wide time span. The data was collected over multiple days. The graph shows a complete 24-hour period, averaged over multiple periods. This data includes multiple time points of interest for analysis. The data in the graph indicates that users typically wake up around 6:00 PM, use their phones frequently between 5:00 PM and 7:00 PM, and tend to work overtime and stay up late.

[0239] The data distribution is stable. The data distribution is relatively stable and can accurately reflect the user's mobile phone usage time and daily routine habits.

[0240] (2) Proportion of different operation type events. Statistically analyze the types of the user's file operation events to check the proportion of each operation type. Figure 8 As shown in the file operation type distribution, the operation type with the highest proportion in all operation events is ACCESS, indicating that most of the common functions in application development correspond to reading file content, which is consistent with the view in the Android Developer's Manual that "application programs should store multimedia data for sharing in the external storage space". The creation and deletion operations of files account for a relatively small proportion in the user's daily use.

[0241] (3) File operation situation. Integrate all the user's file operation events, extract the file nodes level by level according to the file structure for the file operation object in each record, and construct a file directory tree. Figure 9 This is the file object operated by a single data user. The root node represents the mounting node of the external storage space, and its branches all belong to the external storage shared space. The file objects under the / Android / data / path all come from the private directory of the external storage space, and other paths except / Android / data / belong to the common directory of the external storage space. It can be seen that the file operation coverage of a single data user is not extensive and is only limited to the use of individual application programs.

[0242] Figure 10 This is the directory tree formed by the file operation objects of multi-data users. The file coverage is wider. In the external storage space, the number of files in both the private directory and the common directory has increased. The files under the Android / data / directory correspond to the application programs used by the user. The number of application programs used by multi-data users is significantly more than that of single-data users.

[0243] 2) User's application program usage preferences

[0244] Using the classification of application programs, based on the file operation information of the user's external storage space, considering a single access to the files in " / Android / data / package name / " in the external storage as a use of the APP, statistically analyze the frequency of the user's use of each application program and the user's preferred program among various types of application programs. Figure 11 This shows the usage of each application program by the user during the information collection period. It can be seen that the usage rate of WeChat by this user is much higher than that of other application programs, followed by Taobao, Alipay, etc.

[0245] Based on the classification of applications and on the basis of the usage frequency of applications, obtain the usage frequencies of various types of applications of users in the database. Figure 12 For the classification usage of applications.

[0246] 6.2.1 Attribute dimension

[0247] Attribute dimension labels are usually used to describe the social attributes of users, including labels such as demographic attributes, education level, and occupation, which are a realistic portrayal of users' network entities.

[0248] (1) Geographic attribute

[0249] This user works or lives in Heilongjiang Province. The determination of this label attribute is because this user installed and used the "Heilongjiang Rural Credit" APP, and the package name of this application, "com.nxy.mobilebank.hlj", appeared in the file operation log during the information collection period. Based on the rule for inferring the user's region, "Heilongjiang" in the APP name was matched, so it can be determined that the user's location is Heilongjiang.

[0250] (2) Industry engaged in

[0251] For the label of the industry the user is engaged in, when constructing rule-based labels, APPs with strong professionalism are classified. If the file path related to such APPs appears in the user's file operation log, it is considered that the industry the user is engaged in matches the characteristics of the APP. For example, if a certain user in the dataset installed and used the CSDN application, it can be inferred that the industry the user is engaged in is the IT industry.

[0252] (3) User keywords

[0253] Based on the APP classification data and label data, draw a word cloud map of user attribute keywords. Among them, the font size represents the degree of relevance of the word to the user. The larger the font, the higher the usage frequency of the user. Figure 13 Shows the word cloud map of a certain user's keywords. From Figure 13 it can be seen that the user uses more communication and social APPs. At the same time, attention needs to be paid to niche keywords such as "physical examination" and "animation". Although the frequency of occurrence is low for this user, they have indicative significance and can understand that the user is currently concerned about matters related to physical examination.

[0254] It should be noted that the present invention can be used in specific application scenarios such as personalized APP recommendation, personalized APP function recommendation, and smartphone forensics.

[0255] In summary, based on the file operation information in the external storage space, the present invention maps file operations to application operations, converts data with non-textual meanings into data with social attribute information, and then infers user attributes and extracts user keywords from perspectives such as the user application installation list, application usage frequency, and application usage preferences. It can analyze users' behavior habits, interest preferences, and basic information more accurately and comprehensively.

[0256] Moreover, based on the file operation information in the external storage space, the present invention applies the Doc2Vec model to file usage behavior prediction and can achieve a good file usage behavior prediction effect.

[0257] The above are only the preferred embodiments of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present invention, several improvements and refinements can be made, and these improvements and refinements should also be regarded as the protection scope of the present invention.

Claims

1. A method for constructing a user profile based on file operations in the Android external storage space, characterized in that Including: Step 1: Collect file operation events in the Android external storage space, establish external storage space file operation information, and structure it to obtain an operation log file in the form of EVENT:(OPERATION,TIMESTAMP,FILENAME), where EVENT is the operation event, which is a record of a piece of file operation information; OPERATION is the operation event type; TIMESTAMP is the time when the file operation occurs; FILENAME refers to the file operation object. Step 2: Statistically analyze the three items of data: the file operation object, the time when the file operation occurs, and the operation event type, and make a basic characterization of the user. Step 3: Establish a mapping mechanism between file operations and application operations using the application package name to obtain the user's application usage behavior. Step 4: According to the different data sources, establish a mobile user portrait label system from four aspects: constructing factual labels, rule-based labels, mining labels, and predictive labels, and comprehensively characterize the user's characteristic attributes. The said Step 4 includes: Adopt the method of statistically analyzing and modeling the original data of the user's external storage space file operations to obtain factual labels, including: statistically analyzing the file operation time to obtain the user's average daily usage duration and the distribution of usage time within a day, that is, obtaining factual labels. Judge the significant features and special target groups of the application from the application name, that is, obtain rule-based labels. Based on the classification and labels of the collected applications, analyze the characteristics of the people who install specific applications, so as to form the mining labels of the user. Based on the Doc2Vec model, predict the user's file usage and application usage to complete the construction of predictive labels. Specifically, the mining labels are obtained in the following way: According to the applications installed by the user, obtain a list of application names, use the application names in the list to query their corresponding description information, regard the description information of each application as a document, after Chinese text word segmentation, use the LDA topic extraction model to extract topics from the document library to form user attribute keywords. Specifically, the predictive labels are obtained in the following way: Step 4.2.1: Based on the user's application usage behavior in Step 3, obtain application operation records, set the length of the application operation sequence, divide the application operation records to obtain multiple application operation sequences; based on the time data in the application operations, calculate the duration of each application and form a duration sequence equal to the length of the application operation sequence. Step 4.2.2: Predict the application usage behavior based on the Doc2Vec model: Vectorize each application name in the application operation of the specified length, take the average of the results to form an AppEmb vector. Vectorize the duration sequence of the specified length to form a TimeVec vector. Concatenate AppEmb and TimeVec to obtain an App*Time vector. Multiply the App*Time vector and the AppPredicEmb vector matrix-wise, and obtain the predicted probability distribution corresponding to the application through the Softmax activation function; Among the above probability distributions, take out the probability corresponding to the target application, use the mean squared error as the loss function, calculate the gradient, and perform backpropagation based on gradient descent to train the Doc2Vec model.

2. The method for constructing a user portrait based on file operations in the Android external storage space according to claim 1, wherein Step 3 further includes: Collect application-related data, which includes the application name, its application package name, classification data, label data, and description information.

3. The method for constructing a user portrait based on file operations in the Android external storage space according to claim 2, wherein The collection of application-related data includes: Crawl the number of applications and the number of application classifications in each application market; Crawl the classification data of each application based on Talking Data; Crawl the label information of applications based on the 360 Mobile Assistant website; Obtain the description information of applications by crawling Baidu Encyclopedia and LiQu website.

4. The method for constructing a user profile based on file operations in the Android external storage space according to claim 1, characterized in that, Specifically, obtain the rule-based labels in the following way: Step 4.1.1, match based on the attribute feature words in the application name to obtain multiple rule-based labels, including: Step 4.1.1a, infer the user's location: Crawl the names of each province and city as the word library, and perform character matching between the words in the word library and the names of the applications operated by the user. If the match is successful, it means that the user has installed and used the application, and then infer the user's location to obtain the user's location label; Step 4.1.1b, infer the user's gender: Summarize the words related to men and women that appear in the application name through social research methods. Based on these words, perform fuzzy matching on the names, classification information, and label information of the applications used by the user to infer the user's gender; Through the method of volunteer voting, select the gender for the target population of common applications, and divide the applications into those with the main audience group being male and those with the main audience group being female according to the results, and then infer the gender of the users who use the applications; Step 4.1.1c, infer the user's age group; Divide the age group label attributes into two types: young people and non-young people. Screen out the applications whose target audience is young people, and then infer whether the users who use the applications are young people; Step 4.1.1d, infer the user's education level; Based on the TalkingData data platform, classify applications according to the education level, and then infer the education level of the users who use the applications; Step 4.1.1e, infer the user's pregnancy status: Based on whether the user has installed applications related to pregnancy, infer whether the user is in a pregnancy state. Determine whether an application is related to pregnancy, and perform text matching between its label and the selected pregnancy label. If the match is successful, it means that the user is in a pregnancy state; Step 4.1.2, based on the user's application usage behavior data, obtain the application categories that the user prefers to use and the application that the user most prefers to use, and then obtain the user's application preferences.

5. The method for constructing a user portrait based on file operations in the Android external storage space according to claim 1, characterized in that In step 4, based on the attribute change frequency of the tags, the constructed user tags are divided into two dimensions, namely the behavior dimension and the attribute dimension. Under each dimension, the constructed user tags are further segmented to obtain a mobile user portrait tag system, completing the construction of the target user portrait, and analyzing the target user portrait results from both the behavior dimension and the attribute dimension.

Citation Information

Patent Citations

  • Intelligent terminal-oriented deep analysis and user portrait system and method

    CN106933991A

  • User portrait construction method and device

    CN111190939A