Class analysis method and related device
Classification of the object information of the cluster object and the use of the category information of the classified object to determine the category of the unspeakable object to solve the problem of insufficient identification ability of malicious program categories in the existing technology, and achieve an efficient and accurate category. determination.
Patent Information
- Application Number
- CN202310893235.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-19
- Publication Date
- 2025-01-21
AI Technical Summary
It is difficult for the prior art to achieve efficient and accurate category identification of malicious programs, especially when program information is rich and diverse.
By obtaining object information of objects to be clustered, clustering processing is performed to generate object clusters, and object categories of unclassified objects are determined based on the object categories of classified objects.
The object category determination ability is improved, efficient category determination of unknown object categories is achieved, the application scope of category determination is expanded, and object restrictions are reduced.
Smart Images

Figure CN119337152A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of information analysis technology, and in particular to a category analysis method and related devices. Background Art
[0002] With the continuous development of program development technology, the number of programs involved in users' daily lives has exploded. In order to maintain the program usage environment and prevent malicious programs from affecting users' program usage experience, it is necessary to quickly and accurately determine and manage whether a program is a malicious program.
[0003] In the related art, the identification of program categories can first manually determine malicious programs, and then store the program name and other information of the malicious programs in an information library. If a program to be identified is subsequently identified whose corresponding information is the same as the information in the information library, the category of the program to be identified can be determined as a malicious program category for subsequent program management, such as disabling the program.
[0004] However, this category determination method can only identify programs to be identified that have been previously categorized. If the information corresponding to the program to be identified does not have the same information in the information database, it is impossible to determine whether the program to be identified is a malicious program. The ability to identify program categories is very limited. When the difficulty of program information changing is low and the degree of change is high, similar programs usually have a variety of program information. Therefore, the category determination method in the relevant technology is difficult to achieve efficient and accurate category identification. Summary of the invention
[0005] In order to solve the above technical problems, the present application provides a category analysis method, which can perform category determination on objects of unknown object categories based on the object categories of objects of known object categories based on the association relationship between object information corresponding to objects of known object categories and objects of unknown object categories, thereby improving the object category determination capability.
[0006] The embodiments of the present application disclose the following technical solutions:
[0007] In a first aspect, an embodiment of the present application discloses a category analysis method, the method comprising:
[0008] Obtaining object information corresponding to a plurality of objects to be clustered, wherein the plurality of objects to be clustered include classified objects and unclassified objects, the classified objects have corresponding object categories, and the object information is used to characterize the corresponding objects to be clustered, and the classified objects and the unclassified objects are different objects;
[0009] Clustering the multiple objects to be clustered according to the similarities between the object information respectively corresponding to the multiple objects to be clustered, and determining the object clusters corresponding to the multiple objects to be clustered;
[0010] The object clusters corresponding to the multiple objects to be clustered are respectively used as first target object clusters. In response to the presence of target classified objects and target unclassified objects in the first target object clusters, the object category corresponding to the target unclassified object is determined according to the object category corresponding to the target classified object, the target classified object is any one of the classified objects, and the target unclassified object is any one of the unclassified objects.
[0011] In a second aspect, an embodiment of the present application discloses a category analysis device, the device comprising an acquisition unit, a first determination unit, and a second determination unit:
[0012] The acquisition unit is used to acquire object information corresponding to a plurality of objects to be clustered, wherein the plurality of objects to be clustered include classified objects and unclassified objects, the classified objects have corresponding object categories, and the object information is used to characterize the corresponding objects to be clustered, and the classified objects and the unclassified objects are different objects;
[0013] The first determining unit is used to perform clustering processing on the multiple objects to be clustered based on the similarity between the object information respectively corresponding to the multiple objects to be clustered, generate object clusters corresponding to the multiple objects to be clustered, and make the objects to be clustered with similar object information dimensions be located in the same object cluster;
[0014] The second determination unit is used to respectively use the object clusters corresponding to the multiple objects to be clustered as first target object clusters, and in response to the presence of target classified objects and target unclassified objects in the first target object clusters, determine the object category corresponding to the target classified object as the object category corresponding to the target unclassified object, the target classified object is any one of the classified objects, and the target unclassified object is any one of the unclassified objects.
[0015] In a possible implementation manner, the clustering process includes N clusterings, and the first determining unit is specifically configured to:
[0016] In the i-th clustering among the N clusterings, a target object to be clustered corresponding to the i-th clustering and an object cluster corresponding to the i-th clustering are obtained, the i-th clustering is used to determine the object cluster corresponding to the target object to be clustered, the object cluster corresponding to the i-th clustering is the object cluster generated by the first i-1 clusterings among the N clusterings, N is a positive integer greater than 1, and i is a positive integer not greater than N;
[0017] The object clusters corresponding to the i-th clustering are respectively used as second target object clusters, and according to the similarity between the object information corresponding to the target object to be clustered and the object information corresponding to the objects to be clustered included in the second target object cluster, the similarity between the target object to be clustered and the second target object cluster is calculated by similarity analysis, and the similarity between the target object to be clustered and the second target object cluster is used to characterize the similarity between the target object to be clustered and the objects to be clustered included in the second target object cluster in the object information dimension;
[0018] In response to the similarity between the target to-be-clustered object and the second target object cluster being the maximum value among the similarities between the target to-be-clustered object and the object clusters corresponding to the i-th clustering, and the similarity between the target to-be-clustered object and the second target object cluster being greater than a first threshold, adding the target to-be-clustered object to the second target object cluster;
[0019] In response to the fact that the similarities between the target object to be clustered and the object clusters corresponding to the i-th clustering are not greater than the first threshold, a new object cluster including the target object to be clustered is created.
[0020] In a possible implementation manner, the first determining unit is specifically configured to:
[0021] Determining a representative object among the objects to be clustered included in the second target object cluster according to the object information respectively corresponding to the objects to be clustered included in the second target object cluster, wherein the object information corresponding to the representative object is used to characterize information features of the object information corresponding to the objects to be clustered included in the second target object cluster;
[0022] The target similarity between the object information corresponding to the target object to be clustered and the object information corresponding to the representative object is determined as the similarity between the target object to be clustered and the second target object cluster.
[0023] In a possible implementation manner, the object information is composed of information elements, and the first determining unit is specifically configured to:
[0024] Determining, among the objects to be clustered included in the second target object cluster, the object to be clustered whose corresponding object information includes the most information elements as the representative object;
[0025] Alternatively, the object to be clustered whose corresponding element has the largest average number of occurrences among the objects to be clustered included in the second target object cluster is determined as the representative object, and the average number of element occurrences is the average number of occurrences of the information element included in the object information corresponding to the corresponding object to be clustered in the object information corresponding to the objects to be clustered included in the second target object cluster.
[0026] In a possible implementation, the object information is composed of information elements, and the target similarity is determined by:
[0027] Determine the number of information elements common to the object information corresponding to the target objects to be clustered and the object information corresponding to the representative object as a first number, and determine the number of information elements in the union of the information elements respectively included in the object information corresponding to the target objects to be clustered and the object information corresponding to the representative object as a second number;
[0028] A ratio calculation process is performed on the first number and the second number to determine the target similarity.
[0029] In a possible implementation manner, the apparatus further includes a third determining unit:
[0030] The third determining unit is used to determine element weights corresponding to the common information elements respectively, where the element weights are used to identify the representation strength of the information elements for the clustering objects;
[0031] The first determining unit is specifically configured to:
[0032] Performing a summation calculation process on the element weights respectively corresponding to the shared information elements, and performing a ratio calculation process on the first number and the second number;
[0033] The product of the result of the sum calculation process and the result of the ratio calculation process is determined as the target similarity.
[0034] In a possible implementation manner, the third determining unit is specifically configured to:
[0035] The representation strength of the shared information elements on the objects to be clustered is analyzed according to the arrangement order of the shared information elements in the object information corresponding to the target objects to be clustered, and the element weights corresponding to the shared information elements are determined. In a possible implementation, the objects to be clustered are programs to be clustered, the object information is the program name, the information elements are characters constituting text information, the element weight corresponding to the first information element is positively correlated with the arrangement order of the first information element in the object information corresponding to the target objects to be clustered, and the first information element is any one of the shared information elements.
[0036] In a possible implementation manner, the third determining unit is specifically configured to:
[0037] According to the number of times the common information elements appear in the object information corresponding to the objects to be clustered included in the second target object cluster, the representation strength of the common information elements on the objects to be clustered is analyzed, and the element weights corresponding to the common information elements are determined, wherein the element weight corresponding to the second information element is positively correlated with the number of times the second information element appears in the object information corresponding to the objects to be clustered included in the second target object cluster, and the second information element is any one of the common information elements.
[0038] In a possible implementation manner, the apparatus further includes a fourth determining unit and a responding unit:
[0039] The fourth determining unit is used to determine the total number of object clusters after the object cluster including the target object to be clustered is newly created;
[0040] The response unit is used to delete object clusters in response to the total number of object clusters exceeding the object cluster number threshold, based on the corresponding object cluster parameters in descending order, so that the total number of object clusters after deletion does not exceed the object cluster number threshold, and the object cluster parameter corresponding to the object cluster is positively correlated with the object cluster establishment time, and is negatively correlated with the number of objects to be clustered included in the object cluster.
[0041] In a possible implementation manner, the clustering process includes M rounds of clustering, and the first determining unit is specifically configured to:
[0042] The multiple objects to be clustered are used as multiple objects corresponding to the first round of clustering in the M rounds of clustering, and in the mth round of clustering in the M rounds of clustering, the multiple objects corresponding to the mth round of clustering are divided into multiple object sets, each object set includes multiple objects;
[0043] Based on the similarity between the object information respectively corresponding to the multiple objects corresponding to the m-th round of clustering, clustering the multiple object sets respectively to obtain the object clusters respectively corresponding to the multiple object sets, and the object clusters respectively corresponding to the multiple object sets are the object clusters corresponding to the m-th round of clustering;
[0044] Determine the representative objects corresponding to the object clusters corresponding to the multiple object sets as the multiple objects corresponding to the m+1th round of clustering in the M rounds of clustering, perform the m+1th round of clustering, the object information corresponding to the target representative object is used to characterize the information characteristics of the object information corresponding to the objects included in the object cluster corresponding to the target representative object, the target representative object is any one of the representative objects corresponding to the object clusters corresponding to the multiple object sets, M is a positive integer greater than 1, and m is a positive integer less than M;
[0045] In the M-th round of clustering, clustering the multiple objects corresponding to the M-th round of clustering is performed according to the similarity between the object information corresponding to the multiple objects corresponding to the M-th round of clustering to obtain the object cluster corresponding to the M-th round of clustering;
[0046] According to the object clusters corresponding to the M rounds of clustering respectively, the multiple objects to be clustered are added to the object cluster corresponding to the M round of clustering to obtain the object clusters corresponding to the multiple objects to be clustered, wherein any two objects to be clustered that are clustered into the same object cluster during the M rounds of clustering are located in the same object cluster among the object clusters corresponding to the multiple objects to be clustered.
[0047] In a possible implementation manner, the first target object cluster includes a plurality of classified objects, the target classified object is any one of the plurality of classified objects included in the first target object cluster, and the apparatus further includes a fifth determining unit:
[0048] The fifth determining unit is used to perform a quantity ratio analysis on the object categories respectively corresponding to the multiple classified objects, and determine the quantity ratio of the object category corresponding to the target classified object in the object categories respectively corresponding to the multiple classified objects included in the first target object cluster;
[0049] The second determining unit is specifically configured to:
[0050] In response to the fact that the quantity ratio of the object category corresponding to the target classified object is the maximum value of the quantity ratios of the object categories corresponding to the multiple classified objects included in the first target object cluster, and the quantity ratio of the object category corresponding to the target classified object is greater than a second threshold, the object category corresponding to the target classified object is determined as the object category corresponding to the target unclassified object.
[0051] In a third aspect, an embodiment of the present application discloses a computer device, wherein the computer device includes a processor and a memory:
[0052] The memory is used to store a computer program and transmit the computer program to the processor;
[0053] The processor is used to execute the category analysis method described in any one of the first aspects according to the instructions in the computer program;
[0054] In a fourth aspect, an embodiment of the present application discloses a computer-readable storage medium, wherein the computer-readable storage medium is used to store a computer program, and the computer program is used to execute the category analysis method described in any one of the first aspects.
[0055] In a fifth aspect, an embodiment of the present application discloses a computer program product including a computer program, which, when executed on a computer device, enables the computer device to execute the category analysis method described in any one of the first aspects.
[0056] It can be seen from the above technical solution that when determining the category, the present application can first obtain multiple objects to be clustered, including classified objects and unclassified objects. The classified objects are objects whose corresponding object categories are known, and the unclassified objects are objects whose corresponding object categories are unknown. The classified objects and the unclassified objects are different objects. By clustering multiple objects to be clustered according to the similarity between the corresponding object information, the objects to be clustered that are relatively similar in the object information dimension can be clustered into the same object cluster. Since the object information is used to characterize the corresponding objects to be clustered, multiple objects to be clustered in the same object cluster are relatively similar. Under normal circumstances, the object categories corresponding to similar objects to be clustered are likely to be close. Based on this, if any of the object clusters includes both classified objects and unclassified objects, there is no need to analyze the object category corresponding to the unclassified object separately, but the object category corresponding to the unclassified object is determined based on the object category corresponding to the classified objects in the same object cluster, thereby realizing the category classification of objects of unknown object categories. This application only needs to obtain object information, and through the clustering process, efficient category determination of unclassified objects can be achieved. While improving the efficiency of category determination and maintaining the accuracy of category determination, it expands the application scope of category determination and reduces the object restrictions of category determination. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0058] Figure 1 A schematic diagram of a category analysis method in an actual application scenario provided by an embodiment of the present application;
[0059] Figure 2 A flow chart of a category analysis method provided in an embodiment of the present application;
[0060] Figure 3 A schematic diagram of a category analysis method provided in an embodiment of the present application;
[0061] Figure 4 A flowchart of a category analysis method in an actual application scenario provided by an embodiment of the present application;
[0062] Figure 5 A schematic diagram of a category analysis method in an actual application scenario provided by an embodiment of the present application;
[0063] Figure 6 A schematic diagram of a category analysis method in an actual application scenario provided by an embodiment of the present application;
[0064] Figure 7 A structural block diagram of a category analysis device provided in an embodiment of the present application;
[0065] Figure 8 A structural diagram of a terminal provided in an embodiment of the present application;
[0066] Fig. 9 A structural diagram of a server provided in an embodiment of the present application. DETAILED DESCRIPTION
[0067] The embodiments of the present application are described below in conjunction with the accompanying drawings.
[0068] Object category analysis is widely used in various fields. For example, it can be used to identify malicious programs to prevent malicious programs from causing harm to users when they use programs. In related technologies, computer devices can collect objects whose object categories have been manually determined, and store the objects and their corresponding object categories. If there are objects to be analyzed that need to be analyzed in categories later, the objects to be analyzed can be compared with the stored objects. If there are objects in the stored objects that are the same as the object to be analyzed, the object category corresponding to the object is determined as the object category of the object to be analyzed.
[0069] However, the category analysis method in the related art can only analyze objects whose categories have been determined before the analysis, and cannot analyze the object categories of objects that do not exist in the storage. It has great limitations and is difficult to implement a more extensive object category analysis. When the object variation is high, it is difficult to implement effective analysis of the object category.
[0070] In order to solve the above technical problems, the present application provides a category analysis method, which can cluster multiple objects to be clustered based on the similarity between the object information corresponding to the multiple objects to be clustered, and cluster the objects to be clustered that are relatively similar in the object information dimension into the same object cluster. Since the object information can characterize the objects to be clustered, the objects to be clustered in the same object cluster are relatively similar, so that the computer device can determine the object category of unclassified objects based on the object category corresponding to the classified objects in the same object cluster. While ensuring the accuracy of the object category analysis, the limitations of the object category analysis are reduced, the breadth of the object category analysis is improved, and accurate category analysis can be performed on rich and varied unclassified objects.
[0071] It is understandable that the method can be applied to a computer device, which is a computer device capable of class determination, such as a terminal device or a server. The method can be executed independently by a terminal device or a server, or can be applied to a network scenario in which a terminal device and a server communicate, and is executed by the cooperation of the terminal device and the server. Among them, the terminal device can be a mobile phone, a tablet computer, a laptop computer, a desktop computer and other devices. The server can be understood as an application server or a Web server. In actual deployment, the server can be an independent server, a cluster server, or a cloud server, etc.
[0072] In order to facilitate understanding of the technical solution provided by the present application, a category analysis method provided by an embodiment of the present application will be introduced below in combination with an actual application scenario.
[0073] See also Figure 1 , Figure 1 A schematic diagram of a category analysis method in an actual application scenario provided in an embodiment of the present application. In this actual application scenario, the computer device may be a category determination server 101 having a category determination function.
[0074] When determining the category, multiple objects to be clustered, including classified objects and unclassified objects, can be input into the category determination server 101, and the category determination server 101 can automatically analyze the object category corresponding to the unclassified object. In this actual application scenario, the objects to be clustered are programs, including three programs, program A, program B, and program C. The object information corresponding to the objects to be clustered is the program name corresponding to the program, and the object category is the program category, such as whether it is a malicious program, etc. Program A and Program B have corresponding program categories and are classified objects, while Program C does not have a corresponding program category and is an unclassified object.
[0075] The category determination server 101 can cluster the three programs according to the similarity between the program names corresponding to the three programs to obtain two object clusters. The programs belonging to the same object cluster are relatively similar in the program name dimension. Figure 1In the figure, program B and program C are both in object cluster A, which means that program B and program C are relatively similar in the dimension of program name. Since the program name can characterize the corresponding program, the program similarity in the same object cluster is relatively high, and thus the program categories are likely to be relatively similar. Based on this, the category determination server 101 can determine the object category of the unclassified object based on the object category corresponding to the classified object in the same object cluster. For example, in object cluster A, the category determination server 101 can determine the program category B corresponding to program B as the program category corresponding to program C. It can be seen from this that even if the category determination server 101 does not know the program category corresponding to program C before this category determination, it can also classify program C based on the association between the program categories of other programs and the programs, which reduces the analysis restrictions of program categories and helps to improve the method degree of category analysis.
[0076] Next, a category analysis method provided in an embodiment of the present application will be introduced in conjunction with the accompanying drawings.
[0077] See also Figure 2 , Figure 2 A flowchart of a category analysis method provided in an embodiment of the present application. In this embodiment, the computer device may be any of the above-mentioned computer devices. The method includes:
[0078] S201: Obtain object information corresponding to a plurality of objects to be clustered.
[0079] Among them, the objects to be clustered can be any objects that have object information and can be analyzed for object categories, for example, any objects such as programs, people, animals, and objects. The multiple objects to be clustered include classified objects and unclassified objects. The classified objects have corresponding object categories, which are the accurate object categories corresponding to the classified objects, that is, the classified objects are objects that have been analyzed for accurate object categories. Unclassified objects are objects that do not yet have accurate object categories. Object categories refer to the categories of objects, which are usually used to classify objects. For example, programs can include categories such as malicious programs, non-malicious programs, game programs, and office programs, and objects can include categories such as edible objects and inedible objects.
[0080] It should be emphasized that the classified objects and unclassified objects in this application can be different objects, so the category determination method in the relevant technology cannot determine the object category corresponding to the unclassified object. The object information obtained in this application can be used to characterize the corresponding object to be clustered. For example, if the object to be clustered is a program, the object information can be the program name; if the object to be clustered is an object, the object information can be an image of the object, etc. The object information can be used to characterize the corresponding object to be clustered.
[0081] S202: performing clustering processing on the multiple objects to be clustered based on the similarity between the object information respectively corresponding to the multiple objects to be clustered, generating object clusters corresponding to the multiple objects to be clustered, so that the objects to be clustered that are similar in the object information dimension are located in the same object cluster.
[0082] Since object information has a characterizing effect on the objects to be clustered, the characteristics of the objects to be clustered can be reflected through object information. If the object information corresponding to two objects to be clustered is relatively similar, then there is a high probability that the two objects to be clustered are also relatively similar. For example, programs with similar program names are usually similar in themselves. For example, the program names of the two live broadcast programs "AA Live Express Edition" and "AA Live Refreshing Edition" are relatively similar, but in fact they are different program versions of the same program developer.
[0083] Based on this, in the present application, in order to find similar objects to be clustered, the computer device can first determine the objects to be clustered that are relatively similar in the object information dimension. The computer device can cluster multiple objects to be clustered according to the similarity between the object information corresponding to the multiple objects to be clustered, and determine the object clusters corresponding to the multiple objects to be clustered, wherein clustering refers to the process of clustering objects with higher similarity into the same object cluster and clustering objects with lower similarity into different object clusters. An object cluster is a collection of objects, and an object cluster may include one or more objects. The object cluster in the present application may include one or more objects to be clustered, and the similarity between the object information corresponding to the multiple objects to be clustered belonging to the same object cluster is high, and one or more object clusters can be obtained by clustering.
[0084] S203: taking the object clusters corresponding to the multiple objects to be clustered as first target object clusters respectively, and in response to the first target object clusters having target classified objects and target unclassified objects, determining the object categories corresponding to the target classified objects as the object categories corresponding to the target unclassified objects.
[0085] Since the object information corresponding to multiple objects to be clustered belonging to the same object cluster has a high degree of similarity, and as mentioned above, objects to be clustered with high similarity in the object information dimension are also relatively similar, multiple objects to be clustered belonging to the same object cluster usually correspond to the same or similar object categories. For example, due to the similarity of the program names, the two live broadcast programs "AA Live Express Edition" and "AA Live Clear Edition" are likely to be clustered into the same object cluster. If "AA Live Express Edition" is a malicious program, it means that the developer of the program is an abnormal program developer. Therefore, it is highly likely that the live broadcast program "AA Live Clear Edition" developed by the same developer is also highly likely to be a malicious program.
[0086] Based on this, the computer device can determine the object category corresponding to the unclassified object based on the object category corresponding to the classified object in the same object cluster. The computer device can use the object clusters corresponding to the multiple objects to be clustered as the first target object cluster (that is, the first target object cluster can be any one of the object clusters corresponding to the multiple objects to be clustered), and analyze whether the first target object cluster has both classified objects and unclassified objects. If the first target object cluster has both the target classified object and the target unclassified object, it means that the target classified object and the target unclassified object are relatively consistent in object category. Therefore, the computer device can determine the object category corresponding to the target unclassified object based on the object category corresponding to the target classified object, and obtain a more accurate object category corresponding to the target unclassified object, thereby realizing the object category determination of the unknown object. For example, the computer device can directly determine the object category corresponding to the target classified object as the object category corresponding to the target unclassified object. Among them, the target classified object can be any one of the classified objects, and the target unclassified object can be any one of the unclassified objects.
[0087] It can be seen from the above technical solution that when determining the category, the present application can first obtain multiple objects to be clustered, including classified objects and unclassified objects. The classified objects are objects whose corresponding object categories are known, and the unclassified objects are objects whose corresponding object categories are unknown. The classified objects and the unclassified objects are different objects. By clustering multiple objects to be clustered according to the similarity between the corresponding object information, the objects to be clustered that are relatively similar in the object information dimension can be clustered into the same object cluster. Since the object information is used to characterize the corresponding objects to be clustered, multiple objects to be clustered in the same object cluster are relatively similar. Under normal circumstances, the object categories corresponding to similar objects to be clustered are likely to be close. Based on this, if any of the object clusters includes both classified objects and unclassified objects, there is no need to analyze the object category corresponding to the unclassified object separately, but the object category corresponding to the unclassified object is determined based on the object category corresponding to the classified objects in the same object cluster, thereby realizing the category classification of objects of unknown object categories. This application only needs to obtain object information, and through the clustering process, efficient category determination of unclassified objects can be achieved. While improving the efficiency of category determination and maintaining the accuracy of category determination, it expands the application scope of category determination and reduces the object restrictions of category determination.
[0088] There are many ways to perform clustering based on object information. Next, a clustering method for determining object clusters based on multiple clusterings will be introduced. In a possible implementation, the clustering process may include N clusterings, where N is a positive integer greater than 1.
[0089] When executing step S202, the computer device may execute steps S2021-S2024 (not shown in the figure), where steps S2021-S2024 are a possible implementation of step S202, including:
[0090] S2021: During the i-th clustering among the N clusterings, the target to-be-clustered object corresponding to the i-th clustering and the object cluster corresponding to the i-th clustering are obtained.
[0091] The N clusterings are progressive, and each clustering is performed on the result of the previous clustering. For example, the i-th clustering in the N clusterings is used to determine the object cluster corresponding to the target object to be clustered, and the object cluster corresponding to the i-th clustering is the object cluster generated by the first i-1 clusterings in the N clusterings, and i is a positive integer not greater than N. That is, after the object cluster is determined by the first i-1 clusterings, the computer device can perform the i-th clustering on the basis of the object cluster, and obtain the target object to be clustered that has not been clustered in the i-th clustering, and judge whether the target object to be clustered should be clustered into the object cluster corresponding to the i-th clustering, or whether a new object cluster should be established for the target object to be clustered. The target object to be clustered can be any object to be clustered that has not been clustered in the first i-1 clusterings.
[0092] S2022: taking the object clusters corresponding to the i-th clustering as the second target object clusters respectively, and obtaining the similarity between the target object to be clustered and the second target object cluster by similarity analysis and calculation based on the similarity between the object information corresponding to the target object to be clustered and the object information corresponding to the objects to be clustered included in the second target object cluster.
[0093] Among them, the similarity between the target object to be clustered and the second target object cluster is used to characterize the similarity between the target object to be clustered and the objects to be clustered included in the second target object cluster in the object information dimension. As mentioned above, the purpose of clustering is to cluster the objects to be clustered whose corresponding object information is relatively similar into the same object cluster. Therefore, in the i-th clustering, in order to determine into which object cluster the target object to be clustered is clustered, the computer device can use the object clusters corresponding to the i-th clustering as the second target object cluster (that is, the second target object cluster can be any one of the object clusters corresponding to the i-th clustering), analyze the similarity between the object information corresponding to the target object to be clustered and the object information corresponding to the objects to be clustered included in the second target object cluster, thereby determining the similarity between the target object to be clustered and the second target object cluster, which can reflect the similarity between the target object to be clustered and the objects to be clustered included in the second target object cluster in the object information dimension, and can be used to determine whether the target object to be clustered is clustered into the second target object cluster.
[0094] S2023: In response to the similarity between the target object to be clustered and the second target object cluster being the maximum value among the similarities between the target object to be clustered and the object clusters corresponding to the i-th clustering, and the similarity between the target object to be clustered and the second target object cluster being greater than a first threshold, clustering the target object to be clustered into the second target object cluster.
[0095] The computer device may preset a first threshold value, which is used to determine whether the target object to be clustered and the objects to be clustered included in the second target object cluster have a high similarity in the object information dimension. If the similarity of the target object to be clustered to the second target object cluster is the maximum value of the similarities of the target object to be clustered to the object cluster corresponding to the i-th cluster, it means that in the object cluster corresponding to the i-th cluster, the second target object cluster is the object cluster with the most similarity in the object information dimension of the target object to be clustered, and the similarity of the target object to be clustered to the second target object cluster is greater than the first threshold value, indicating that the target object to be clustered and the second target object cluster have a high similarity in the object information dimension, so the target object to be clustered can be clustered into the second target object cluster. The reason for setting the first threshold here is to avoid the situation where the maximum similarity between the target object to be clustered and the second target object cluster is still small, that is, when the target object to be clustered and the object cluster corresponding to the i-th cluster are not similar in the object information dimension, the target object to be clustered is still clustered into one of the object clusters.
[0096] S2024: In response to the fact that the similarities between the target to-be-clustered object and the object clusters corresponding to the i-th clustering are not greater than a first threshold, a new object cluster including the target to-be-clustered object is created.
[0097] If the similarity between the target object to be clustered and the object cluster corresponding to the i-th clustering is not greater than the first threshold, it means that the target object to be clustered and the object cluster corresponding to the i-th clustering are not similar in the object information dimension, and the target object to be clustered has unique object information characteristics. Therefore, the computer device can create a new object cluster for the target object to be clustered. At this time, the object cluster only includes the target object to be clustered.
[0098] It is understandable that the same object cluster usually includes multiple objects to be clustered. In one possible implementation, in order to improve clustering efficiency while ensuring clustering accuracy, the computer device can perform similarity analysis based on representative objects that can characterize the overall characteristics of object information of the objects to be clustered included in an object cluster.
[0099] When executing step S2022, the computer device may execute steps S20221-S20222 (not shown in the figure), where steps S20221-S20222 are a possible implementation of step S2022, including:
[0100] S20221: Determine a representative object among the objects to be clustered included in the second target object cluster according to the object information corresponding to the objects to be clustered included in the second target object cluster.
[0101] Among them, the object information corresponding to the representative object is used to characterize the information characteristics of the object information corresponding to the objects to be clustered included in the second target object cluster, that is, the object information corresponding to the representative object has a characterizing effect on the overall information characteristics of the object information corresponding to the objects to be clustered included in the second target object cluster, and can reflect the overall characteristics of the second target object cluster in the object information dimension. Therefore, if the target object to be clustered is similar to the representative object in object information, it is highly likely that the target object to be clustered is similar to the second target object cluster in the object information dimension.
[0102] S20222: Determine the target similarity between the object information corresponding to the target object to be clustered and the object information corresponding to the representative object as the similarity between the target object to be clustered and the second target object cluster.
[0103] Based on the above content, it can be seen that the target similarity can reflect the similarity between the target object to be clustered and the second target object cluster in the object information dimension. Therefore, the computer device can determine the target similarity as the similarity between the target object to be clustered and the second target object cluster, so as to determine whether to cluster the target object to be clustered into the second target object cluster.
[0104] In this way, when clustering, only the similarity analysis between two object information needs to be performed for one object cluster, and there is no need to perform object information similarity analysis between the target object to be clustered and each object to be clustered in the second target object cluster. While ensuring the clustering accuracy, the amount of object information analysis required in the clustering process is reduced, thereby improving the clustering efficiency and further improving the category determination efficiency.
[0105] There are multiple ways to determine the representative object, and two ways to determine the representative object will be mainly introduced below.
[0106] In one possible implementation, it can be understood that the greater the amount of information included in the object information of an object to be clustered in the second target object cluster, the greater the probability that the object information includes information that can reflect the overall characteristics of the object information of the second target object cluster to a certain extent, that is, the stronger the representation effect of the object information on the overall characteristics of the object information of the second target object cluster. Based on this, the computer device can select the object to be clustered with the largest amount of information corresponding to the object information as the representative object.
[0107] In this implementation, the object information is composed of information elements, which are elements constituting the object information. For example, when the object information is a program name, the information element may be characters constituting the program name. When the object information is an object image, the information element may be an element included in the image.
[0108] When executing step S20221, the computer device may execute step S202211 (not shown in the figure), where step S202211 is a possible implementation of step S20221:
[0109] S202211: Determine, among the objects to be clustered included in the second target object cluster, the object to be clustered whose corresponding object information includes the most information elements as a representative object.
[0110] Since the object information corresponding to the representative object includes the largest number of information elements, the object information has the largest amount of information and has a better characterization effect on the overall object information characteristics of the second target object cluster. Therefore, the object to be clustered can be used as a representative object.
[0111] Alternatively, the computer device may execute step S202212 (not shown in the figure), where step S202212 is a possible implementation of step S20221:
[0112] S202212: Determine, among the objects to be clustered included in the second target object cluster, the object to be clustered whose corresponding element has the largest average occurrence number as a representative object.
[0113] It can be understood that if an information element frequently appears in the object information corresponding to the object of an object cluster, it means that the information element is a common element in the object information included in the object cluster, and therefore it is more in line with the overall object information characteristics of the object cluster. Based on this, in this implementation, the computer device can determine the average number of occurrences of elements corresponding to each object to be clustered included in the second target object cluster, and the average number of occurrences of elements is the average number of occurrences of the information element included in the object information corresponding to the corresponding object to be clustered in the object information corresponding to the object to be clustered included in the second target object cluster. For example, the program name corresponding to a certain program is "AA Live Speed Version", where the characters "A", "Direct", "Broadcast", "Extreme", "Speed", and "Version" appear 4 times, 3 times, 3 times, 3 times, 2 times, and 2 times in the program names of all programs included in the object cluster, respectively, then the average number of occurrences of the element corresponding to the program is (4+4+3+3+3+2+2) / 7=3.
[0114] Since the elements corresponding to the representative object have the largest average number of occurrences, it means that the information elements in the object information of the representative object appear more frequently in the object information included in the second target object cluster, and therefore fit the overall object information characteristics of the second target object cluster more closely. The above two methods can both obtain representative objects that can more accurately characterize the overall object information characteristics of the object cluster. In practical applications, the computer device can select one of the methods or combine multiple methods for application, which is not limited here.
[0115] In addition, the method of analyzing the similarity between the target object to be clustered and the representative object in the object information dimension may also include multiple methods. In a possible implementation method, the object information is composed of information elements. It can be understood that the more overlapping parts there are between the two object information, the more similar the two object information are to a certain extent. Based on this, the computer device can first determine the number of information elements in common in the object information corresponding to the target object to be clustered and the object information corresponding to the representative object as the first number, and determine the number of information elements in the union of the object information corresponding to the target object to be clustered and the object information corresponding to the representative object respectively including the information elements as the second number. That is, the first number is the number of information elements in the intersection of the information elements included in the two object information, and the second number is the number of information elements in the union of the corresponding elements included in the two object information. For example, the character intersection of the two program names "AA Live Express Edition" and "AA Live Pure Edition" is "A, Straight, Broadcast, Edition", and the union is "A, Straight, Broadcast, Rapid, Speed, Pure, Clean, Edition", so the first number is 4 and the second number is 8.
[0116] Among them, if the overlap of the two object information is higher, then theoretically, the number of information elements shared by the two object information is closer to the total number of information elements. Therefore, the computer device can calculate the ratio of the first number to the second number to determine the target similarity. The larger the ratio, the higher the overlap of the two object information, which can indicate that the two object information are more similar to a certain extent.
[0117] For example, if the text M is "AA Live Express Edition" and the text N is "AA Live Pure Edition", the calculation formula for the similarity S(M, N) between the two texts is as follows:
[0118]
[0119] Among them, M∩N is the number of characters in the character subset corresponding to the two texts, and M∪N is the number of characters in the character union corresponding to the two texts.
[0120] It is understandable that the basis for clustering the objects to be clustered based on object information is because the object information can play a characterizing role for the objects to be clustered, wherein, when the object information is composed of object elements, different object elements may have different characterizing strengths for the objects to be clustered. For example, in the program name "AA Live Pure Edition", "AA Live" can highlight the main body of the program, and "Pure Edition" is just a version name, which has less characterizing strength for the program. That is, if two program names have the characters "AA Live", they are likely to be similar programs, but if two program names have the characters "Pure Edition", it is difficult to determine that the two programs are similar programs.
[0121] Based on this, in a possible implementation, when determining the similarity based on the overlap of information elements, the computer device may also perform similarity analysis based on the representation strength of different information elements on the clustered objects.
[0122] The computer device may first determine the element weights corresponding to the common information elements, wherein the element weights are used to identify the representation strength of the information elements for the clustering objects. For example, the above characters "AA Live" have a high representation strength for the program, and therefore may correspond to a high element weight; the characters "Pure Version" have a low representation strength for the program, and therefore may correspond to a low element weight.
[0123] The computer device can perform sum calculation processing on the element weights corresponding to the shared information elements, and perform ratio calculation processing on the first quantity and the second quantity, and then determine the product of the sum calculation result and the ratio calculation result as the target similarity. Therefore, when the shared information element has a higher representation strength for the object to be clustered, the shared information element can more effectively reflect that the two objects to be clustered are similar. At the same time, the greater the element weight, the greater the determined target similarity. By combining the different representation strengths of different information elements for the clustered objects, a more reasonable analysis of the similarity between the object information is performed, so that the similarity can more accurately reflect the similarity between the objects to be clustered.
[0124] There may be multiple ways to determine the element weights corresponding to the shared information elements.
[0125] For example, the arrangement order of information elements in object information can, to a certain extent, reflect the representation strength of information elements for the objects to be clustered. For example, in the program name, the characters in the front usually constitute the main name of the program, such as "AA Live", "BB Live", etc., and these characters have a stronger representation strength for the program; the characters in the back usually constitute the version name of the program. For example, "Pure Edition", "Extreme Edition", etc., these characters have a poor representation strength for the program and it is difficult to reflect the function of the program. Or, in the name of a person, the characters in the front may constitute the title of the person, and the characters in the back may constitute the name of the person, so the representation strength of characters in different arrangement orders for the task is also different.
[0126] Based on this, in a possible implementation method, the computer device can analyze the representation strength of the common information elements on the target objects to be clustered according to the arrangement order of the common information elements in the object information corresponding to the target objects to be clustered, and determine the element weights corresponding to the common information elements.
[0127] Specifically, taking the program scenario as an example, in a possible implementation method, the object to be clustered may be the program to be clustered, the object information is the program name, and the information element is the characters constituting the text information. As mentioned above, in the program name, the characters in the front usually constitute the program body, which has a stronger representation of the program, and the characters in the back constitute the program version name, which has a weaker representation of the program. Therefore, the computer device can make the element weight corresponding to the first information element positively correlated with the corresponding arrangement order of the first information element in the object information corresponding to the target object to be clustered, that is, the higher the arrangement order of the first information element in the object information, the greater the corresponding element weight, and the higher the similarity finally determined, and the first information element is any one of the common information elements.
[0128] For example, the program name corresponding to program A is text M, and the program name corresponding to program B is text N. The calculation formula for the similarity S(M, N) between the texts is as follows:
[0129]
[0130] Among them, ω is the sum of the element weights corresponding to the common information elements. For example, if the text M is "AA Live Express Edition" and the text N is "AA Live Pure Edition", the weights corresponding to the common information elements are shown in the following table:
[0131] character A straight broadcast version Weight 0.295 0.227 0.171 0.124
[0132] Then the final S(M,N)=0.817·4 / 8=0.4085.
[0133] As mentioned above, information elements that appear more frequently in an object cluster can, to a certain extent, reflect the object information characteristics of the object cluster as a whole, and thus can reflect the object characteristics of the object cluster as a whole. It can be seen that the frequency of occurrence of information elements in an object cluster can, to a certain extent, reflect the representation strength of the information elements for the objects in the object cluster.
[0134] Based on this, in another possible implementation, when determining the element weights corresponding to the shared information elements, the computer device can analyze the representation strength of the shared information elements on the objects to be clustered according to the number of occurrences of the shared information elements in the object information corresponding to the objects to be clustered included in the second target object cluster, and determine the element weights corresponding to the shared information elements, wherein the element weight corresponding to the second information element is positively correlated with the number of occurrences of the second information element in the object information corresponding to the objects to be clustered included in the second target object cluster, and the second information element is any one of the shared information elements. That is, the more times the second information element appears in the second target cluster, the greater the representation strength of the second information element on the overall object characteristics of the second target cluster, and the greater the corresponding element weight. Therefore, when the information elements shared by the target object to be clustered and the object information representing the object have more information elements that appear more often, it means that the target object to be clustered is more similar to the objects in the second target cluster as a whole, and the element weight is also greater, and the calculated target similarity is greater, which proves the rationality of the weight analysis method.
[0135] For example, a cluster is a cluster of the program "AA Live", and the objects in this cluster are all different versions of the program "AA Live". In this cluster, the characters "AA Live" appear more frequently, and the representation of the program "AA Live" is stronger, so a higher element weight can be assigned.
[0136] The above content introduces the diverse methods of cluster analysis in this application. Next, various optimization methods for cluster analysis will be introduced.
[0137] In a possible implementation, in order to avoid too many object clusters in the clustering process, which would require a large amount of similarity analysis, the computer device may manage the number of generated object clusters to ensure the effectiveness of the object clusters for clustering the objects to be clustered.
[0138] For example, in response to a newly created object cluster including the target object to be clustered, the computer device can determine the total number of object clusters after the newly created object cluster including the target object to be clustered, that is, when a new object cluster is established in the i-th clustering, the computer device can obtain the total number of object clusters established after the previous i clusterings.
[0139] The computer device may preset a threshold value for the number of object clusters, which is used to determine whether too many object clusters have been established. It is understandable that when the number of object clusters is too large, it means that there are more object clusters with fewer objects, and when the number of objects included in an object cluster is small, the chance that the objects in the object cluster are clustered into the same object cluster will increase, and the credibility of the similarity between objects judged based on the object cluster will decrease. It can be seen that if the number of object clusters is too large, the number of object clusters with lower effectiveness will increase, and the accuracy of category determination based on object clusters will decrease.
[0140] Based on this, when a new object cluster is generated, the computer device can analyze whether the total number of object clusters exceeds the threshold number of object clusters. In response to the total number of object clusters exceeding the threshold number of object clusters, it means that there are too many object clusters at this time, and the computer device can remove the object clusters with lower effectiveness. The computer device can analyze each object cluster to obtain the corresponding object cluster parameter, which is used to identify the effectiveness of the object cluster, and can also be regarded as the identification accuracy of the object cluster for the similarity of the object to be clustered. Among them, the object cluster parameter corresponding to the object cluster is positively correlated with the establishment time of the object cluster and is negatively correlated with the number of objects to be clustered included in the object cluster, that is, if an object cluster is established earlier, the number of objects to be clustered included is smaller, which means that in the long-term clustering process, only a small number of objects to be clustered are clustered into the object cluster. Since there are fewer samples of objects to be clustered in the object cluster that can be analyzed, the analysis accuracy of the object category of the object to be clustered based on the object cluster is low and should be eliminated. In this implementation, such object clusters usually correspond to larger object cluster parameters. Therefore, the computer device can delete object clusters based on the corresponding object cluster parameters in order from large to small, so that the total number of object clusters after deletion does not exceed the object cluster number threshold. This allows object clusters that are less helpful for object category analysis to be eliminated in a timely manner, ensuring the effectiveness of the clustering results and helping to improve the accuracy of object category determination.
[0141] For example, the calculation formula of the object cluster parameter score can be as follows:
[0142]
[0143] It is understandable that the above clustering process can only cluster the objects to be clustered corresponding to this clustering at each clustering. It is a single-threaded clustering process. Such clustering method may have three problems. First, when the number of objects to be clustered is large, it takes a lot of time to perform multiple clustering to complete the overall clustering, and the clustering efficiency is low. Second, when the number of objects to be clustered is large, a large number of object clusters will be generated in a complete clustering process, and the computer equipment will have a large management pressure on the object clusters. At the same time, a large number of similarities need to be compared in the clustering process. Third, this clustering method is prone to produce object clusters with a small number of objects, and the quality of the generated object clusters is poor.
[0144] In order to solve the above technical problem, in a possible implementation manner, the computer device may implement parallel clustering of multiple objects to be clustered by grouping the objects to be clustered during clustering.
[0145] The clustering process may include M rounds of clustering. When executing step S202, the computer device may execute steps S2025-S2029 (not shown in the figure). Steps S2025-S2029 are a possible implementation of step S202:
[0146] S2025: taking the multiple objects to be clustered as the multiple objects corresponding to the first round of clustering in M rounds of clustering, and in the mth round of clustering in the M rounds of clustering, dividing the multiple objects corresponding to the mth round of clustering into multiple object sets.
[0147] That is, in each round of clustering in M rounds of clustering, the computer device can group multiple objects that need to be clustered, each object set includes multiple objects, and the multiple objects corresponding to the mth round of clustering are the objects that need to be clustered through the mth round of clustering.
[0148] S2026: Based on the similarity between the object information corresponding to the multiple objects corresponding to the mth round of clustering, cluster the multiple object sets respectively to obtain the object clusters corresponding to the multiple object sets respectively.
[0149] Among them, for each object set, the computer device clusters the objects included in the object set based on the similarity between the object information corresponding to the objects included in the object set to obtain the object cluster corresponding to the object set, that is, the m-th round of clustering of each object set is performed independently, so the computer device can process the m-th clustering process of multiple object sets in parallel, which improves the clustering efficiency to a certain extent. The object clusters corresponding to the multiple object sets are the object clusters corresponding to the m-th round of clustering, that is, the object clusters obtained by the m-th round of clustering.
[0150] At the same time, since the number of objects in each object set is smaller than the total number of objects, compared to clustering the overall objects, the clustering method for object sets in the present application can reduce the number of object clusters corresponding to each object set in the clustering process, thereby reducing the clustering processing pressure of each object set, and also reducing the workload of similarity analysis in the clustering process of each object set, thereby improving clustering efficiency.
[0151] S2027: Determine representative objects corresponding to the object clusters corresponding to the multiple object sets as multiple objects corresponding to the (m+1)th round of clustering in the M rounds of clustering, and perform the (m+1)th round of clustering.
[0152] In the next round of clustering, the computer device does not bring all objects into the next round of clustering for clustering, but selects representative objects from each object cluster, wherein the object information corresponding to the target representative object is used to characterize the information characteristics of the object information corresponding to the objects included in the object cluster corresponding to the target representative object, and the target representative object can be any one of the representative objects corresponding to the object clusters corresponding to multiple object sets, M is a positive integer greater than 1, and m is a positive integer less than M. That is, the target representative object can represent the objects in the corresponding object cluster as a whole. Therefore, when the target representative object is similar to other objects in the object information dimension, the objects in the same cluster cluster as the target representative object in the mth round of clustering are likely to be similar to the object in the object information dimension.
[0153] Therefore, in the m+1 round of clustering, the computer device only needs to compare the similarity of the representative objects selected in the m round in the object information dimension, without having to analyze the object information of each object, to achieve object cluster classification of multiple objects in the m round. At the same time, since the number of objects that need to be analyzed in each round of clustering is reduced, the object clusters generated by clustering are also reduced to a certain extent. In addition, since each object in the object cluster generated in this way can represent multiple objects to be clustered, even if the number of objects in the object cluster generated in the m+1 round of clustering is small, the object cluster actually includes multiple objects to be clustered, which indirectly improves the effectiveness of the object cluster.
[0154] S2028: In the M-th round of clustering, clustering is performed on the multiple objects corresponding to the M-th round of clustering according to the similarity between the object information corresponding to the multiple objects corresponding to the M-th round of clustering to obtain an object cluster corresponding to the M-th round of clustering.
[0155] In the last round of clustering, in order to achieve comprehensive clustering of multiple objects to be clustered, the computer device may no longer group them, but cluster the multiple objects corresponding to the Mth round of clustering as a whole to obtain the object cluster corresponding to the Mth round of clustering, which corresponds to the final clustering result of the multiple objects to be clustered.
[0156] S2029: Determine object clusters corresponding to multiple objects to be clustered according to the object clusters corresponding to the Mth round of clustering.
[0157] Since in M rounds of clustering, each object to be clustered either exists in the object cluster corresponding to the final M round of clustering, or the representative object corresponding to the object to be clustered during the clustering process exists in the object cluster corresponding to the M round of clustering, the distribution of objects in the object cluster corresponding to the M round of clustering can reflect the distribution of each object to be clustered in the object cluster among multiple objects to be clustered, so that multiple objects to be clustered can be clustered through M rounds of clustering to obtain object clusters corresponding to each object to be clustered. It can be seen that this multi-round clustering method can firstly realize parallel clustering processing of multiple objects to be clustered, thereby improving clustering efficiency; secondly, it reduces the number of clustering clusters generated in the clustering process, thereby reducing the clustering workload required in each round of clustering; thirdly, it can make the obtained clusters contain as many objects to be clustered as possible, thereby improving the effectiveness of the clustering clusters and facilitating the determination of object categories based on the clustering clusters.
[0158] When executing step S2029, the computer device may execute step S20291 (not shown in the figure), and step S20291 is a possible implementation of step S2029:
[0159] S20291: According to the object clusters corresponding to the M rounds of clustering, multiple objects to be clustered are added to the object cluster corresponding to the M round of clustering to obtain object clusters corresponding to the multiple objects to be clustered.
[0160] Among them, when adding objects to be clustered, since any two objects to be clustered that are clustered into the same object cluster in the M-round clustering process are relatively similar in the object information dimension, they should eventually be clustered into the same object cluster. Based on this, the computer device can make any two objects to be clustered that are clustered into the same object cluster in the M-round clustering process be located in the same object cluster among the object clusters corresponding to multiple objects to be clustered. Combined with the above-mentioned clustering method based on representative objects, the rationality of the clustering results can be guaranteed in the clustering process through the representative objects. Through the representative role of the representative objects on multiple objects to be clustered, multiple objects to be clustered can be classified into corresponding clustering clusters, thereby obtaining the final clustering results.
[0161] For example Figure 3As shown, multiple objects to be clustered include programs A to H. In the first round of clustering, they can be divided into two object sets. After the first round of clustering, four object clusters are obtained, namely, programs A and B, programs C and D, programs E and F, and programs G and H. One representative object is selected from each of them for the second round of clustering. After the second round of clustering, two object clusters, namely, programs A and C, and programs E and G, are obtained. Finally, these two object clusters are filled based on the association relationship in the clustering process, and two object clusters corresponding to the multiple objects to be clustered are obtained.
[0162] In actual application, the number of clustering rounds can be set based on actual needs, for example, it can be set to 10 rounds of clustering.
[0163] In addition, when determining the object category of the unclassified object based on the object category corresponding to the classified object, the computer device may also have multiple determination methods.
[0164] In a possible implementation, when executing step S203, the computer device may execute step S2031 (not shown in the figure), and step S2031 is a possible implementation of step S203:
[0165] S2031: Determine the object category corresponding to the target classified object as the object category corresponding to the target unclassified object.
[0166] Since the target classified object and the target unclassified object are both in the first target object cluster, it can be seen from the above content that the target classified object and the target unclassified object are relatively similar, and thus the similarity in object category is also high. Based on this, the computer device can directly determine the object category corresponding to the target classified object as the object category corresponding to the target unclassified object.
[0167] For example, if the same object cluster includes program A and program B, and program A is known to be a malicious program, then the probability that program B is a malicious program is relatively high, so the computer device may also determine program B as a malicious program.
[0168] In another possible implementation, there may be multiple classified objects in the first target object cluster, and the target classified object may be any one of the multiple classified objects included in the first target object cluster. Multiple classified objects may correspond to multiple object categories, that is, although the objects to be clustered in the same object cluster are relatively similar, there may also be relatively similar object categories, so objects to be clustered of different object categories will also be clustered into the same object cluster.
[0169] At this time, the computer device may analyze the multiple classified objects to determine the most accurate object category for determining the object category corresponding to the target unclassified object.
[0170] The computer device can determine the object category corresponding to the target classified object in the object category corresponding to the multiple classified objects included in the first target object cluster. It can be understood that the higher the object category corresponding to the target classified object, the higher the probability that the object category is usually the object category. Based on this, when executing step S2031, the computer device can execute step S20311 (not shown in the figure), and step S20311 is a possible implementation of step S2031:
[0171] S20311: In response to the fact that the quantity ratio of the object category corresponding to the target classified object is the maximum value among the quantity ratios of the object categories corresponding to the multiple classified objects included in the first target object cluster, and the quantity ratio of the object category corresponding to the target classified object is greater than a second threshold, the object category corresponding to the target classified object is determined as the object category corresponding to the target unclassified object.
[0172] First, if the number of object categories corresponding to the target classified object accounts for the maximum value of the number of object categories corresponding to the multiple classified objects included in the first target object cluster, it means that the probability that the object to be clustered included in the first target object cluster is the object category is the largest; secondly, the computer device can preset a second threshold value, and the second threshold value is used to determine whether the object category has a large number of proportions. If the number of object categories corresponding to the target classified object accounts for more than the second threshold value, it means that the object category corresponding to the target classified object has a large number of proportions, so it has a more accurate characterization effect on the object category of the object to be clustered in the cluster. At this time, the computer device can determine the object category corresponding to the target classified object as the object category corresponding to the target unclassified object, so as to achieve more accurate object category analysis. This analysis method can avoid the situation where multiple object categories appear in the same object cluster, but when all of them account for a small proportion, the computer device still determines the object category with the largest proportion as the object category corresponding to the unclassified object. In this case, the characterization effect of multiple object categories on the object category of the object to be clustered in the object cluster is not significant enough, so it is difficult to determine the accurate object category. At this time, the computer device can not determine the object category corresponding to the unclassified object.
[0173] In order to facilitate understanding of the technical solution provided by the embodiment of the present application, the category analysis method provided by the embodiment of the present application will be introduced below in combination with an actual application scenario.
[0174] See also Figure 4 , Figure 4The following is a flowchart of a method for analyzing categories in an actual application scenario provided by an embodiment of the present application. In the actual application scenario, the computer device may be any of the above. The method includes:
[0175] S401: Acquire multiple programs.
[0176] In the present application, the objects to be clustered are programs, the multiple programs include classified programs and unclassified programs, the object information is the program name, the representative object is the representative program, and the object cluster is the program cluster.
[0177] S402: Obtain program clusters corresponding to multiple programs through M rounds of clustering.
[0178] In the M-round clustering process, the computer device may execute steps S4021-S4024, which are implementations of step S402 in the actual application scenario, including:
[0179] S4021: In the mth round of clustering, multiple programs corresponding to the mth round are divided into multiple program sets.
[0180] See also Figure 5 ,In the mth round of clustering, multiple programs corresponding to the mth round of clustering can be first grouped to obtain multiple program sets, and then clustering is performed separately for the multiple program sets.
[0181] S4022: Perform N-times clustering on the multiple program sets to obtain program clusters corresponding to the multiple program sets.
[0182] In the present application, in each round of clustering, N clusterings may be performed for each program set, and the specific number of N corresponding to each program set may be different. Referring to steps S40221-S40222, steps S40221-S40222 are the implementation methods of step S4022 in the actual application scenario, including:
[0183] S40221: For any one of the program sets, in the nth clustering, obtain the programs to be clustered that have not been clustered.
[0184] S40222: Add the program to be clustered to one of the program clusters or create a new program cluster according to the similarity between the program to be clustered and the representative programs of each generated program cluster corresponding to the program set.
[0185] See also Figure 6In any of the N clusterings, the computer device can obtain the program to be clustered, and then determine whether there is a representative program of a generated program cluster that is sufficiently similar to the program to be clustered. If it is similar enough, the program to be clustered is added to the program cluster. If not, a new program cluster is created, which includes the program to be clustered. Among them, the computer device does not need to analyze each program cluster, but can first determine the representative programs corresponding to multiple program clusters by reverse sorting, and the corresponding program names have overlapping parts with the program names of the clustered programs. These representative programs usually have a high degree of similarity. Then, the representative program with the highest similarity in program name is determined from the representative programs determined by reverse sorting, and it is determined whether the similarity is greater than a first threshold. If it is, the program to be clustered is added to the program cluster corresponding to the representative program, otherwise a new program cluster is established for the program to be clustered.
[0186] like Figure 5 As shown, after obtaining the clusters of the mth round, the computer device can determine the representative program corresponding to each cluster and cluster it as the program corresponding to the m+1th round of clustering.
[0187] S4023: In the Mth round of clustering, multiple programs corresponding to the Mth round of clustering are clustered to obtain a program cluster corresponding to the Mth round of clustering.
[0188] S4024: Analyze the clustering methods of the multiple programs to be clustered in the M-round clustering process, add the multiple programs to be clustered to the program cluster corresponding to the M-th round of clustering, and obtain the program clusters corresponding to the multiple programs to be clustered.
[0189] Through the M-round clustering process, the computer device can know which programs to be clustered have been clustered into the same program cluster during the clustering process. Therefore, based on this clustering method, multiple programs to be clustered can be added to the program cluster corresponding to the bottom M rounds of clustering, wherein any two programs to be clustered that are clustered into the same program cluster in the M-round clustering process are finally in the same program cluster among the program clusters corresponding to the multiple programs to be clustered.
[0190] S403: Determine the program category corresponding to the unclassified program according to the program category corresponding to the classified program in the program cluster.
[0191] Specifically, see steps S4031-S4034, which are the implementation methods of step S403 in the actual application scenario, including:
[0192] S4031: Count the program categories of the classified programs in the same object cluster.
[0193] S4032: Determine whether the number of malicious programs accounts for the largest proportion and is greater than 50%.
[0194] S4033: Determine the unclassified program as a malicious program.
[0195] S4034: Do not identify unclassified programs as malicious programs.
[0196] like Figure 4 As shown, the computer device can count the program categories of classified programs in the same program cluster, where if the number of malicious programs in this program category accounts for the largest proportion and is greater than 50% (i.e., the second threshold), it means that the probability that all programs in the program cluster are malicious programs is high, and the computer device can determine the unclassified programs as malicious programs, otherwise it will not determine the unclassified programs as malicious programs.
[0197] Based on the category analysis method provided in the above embodiment, the present application also provides a category analysis device, see Figure 7 , Figure 7 A category analysis device is provided in an embodiment of the present application, and the device includes an acquisition unit 701, a first determination unit 702, and a second determination unit 703:
[0198] The acquisition unit 701 is used to acquire object information corresponding to a plurality of objects to be clustered, wherein the plurality of objects to be clustered include classified objects and unclassified objects, the classified objects have corresponding object categories, and the object information is used to characterize the corresponding objects to be clustered, and the classified objects and the unclassified objects are different objects;
[0199] The first determining unit 702 is configured to perform clustering processing on the multiple objects to be clustered based on the similarity between the object information respectively corresponding to the multiple objects to be clustered, and generate object clusters corresponding to the multiple objects to be clustered, so that the objects to be clustered with similar object information dimensions are located in the same object cluster;
[0200] The second determination unit 703 is used to respectively use the object clusters corresponding to the multiple objects to be clustered as first target object clusters, and in response to the presence of target classified objects and target unclassified objects in the first target object clusters, determine the object category corresponding to the target classified object as the object category corresponding to the target unclassified object, the target classified object is any one of the classified objects, and the target unclassified object is any one of the unclassified objects.
[0201] In a possible implementation manner, the clustering process includes N clusterings, and the first determining unit 702 is specifically configured to:
[0202] In the i-th clustering among the N clusterings, a target object to be clustered corresponding to the i-th clustering and an object cluster corresponding to the i-th clustering are obtained, the i-th clustering is used to determine the object cluster corresponding to the target object to be clustered, the object cluster corresponding to the i-th clustering is the object cluster generated by the first i-1 clusterings among the N clusterings, N is a positive integer greater than 1, and i is a positive integer not greater than N;
[0203] The object clusters corresponding to the i-th clustering are respectively used as second target object clusters, and according to the similarity between the object information corresponding to the target object to be clustered and the object information corresponding to the objects to be clustered included in the second target object cluster, the similarity between the target object to be clustered and the second target object cluster is calculated by similarity analysis, and the similarity between the target object to be clustered and the second target object cluster is used to characterize the similarity between the target object to be clustered and the objects to be clustered included in the second target object cluster in the object information dimension;
[0204] In response to the similarity between the target to-be-clustered object and the second target object cluster being the maximum value among the similarities between the target to-be-clustered object and the object clusters corresponding to the i-th clustering, and the similarity between the target to-be-clustered object and the second target object cluster being greater than a first threshold, adding the target to-be-clustered object to the second target object cluster;
[0205] In response to the fact that the similarities between the target object to be clustered and the object clusters corresponding to the i-th clustering are not greater than the first threshold, a new object cluster including the target object to be clustered is created.
[0206] In a possible implementation manner, the first determining unit 702 is specifically configured to:
[0207] Determining a representative object among the objects to be clustered included in the second target object cluster according to the object information respectively corresponding to the objects to be clustered included in the second target object cluster, wherein the object information corresponding to the representative object is used to characterize information features of the object information corresponding to the objects to be clustered included in the second target object cluster;
[0208] The target similarity between the object information corresponding to the target object to be clustered and the object information corresponding to the representative object is determined as the similarity between the target object to be clustered and the second target object cluster.
[0209] In a possible implementation manner, the object information is composed of information elements, and the first determining unit 702 is specifically configured to:
[0210] Determining, among the objects to be clustered included in the second target object cluster, the object to be clustered whose corresponding object information includes the most information elements as the representative object;
[0211] Alternatively, the object to be clustered whose corresponding element has the largest average number of occurrences among the objects to be clustered included in the second target object cluster is determined as the representative object, and the average number of element occurrences is the average number of occurrences of the information element included in the object information corresponding to the corresponding object to be clustered in the object information corresponding to the objects to be clustered included in the second target object cluster.
[0212] In a possible implementation, the object information is composed of information elements, and the target similarity is determined by:
[0213] Determine the number of information elements common to the object information corresponding to the target objects to be clustered and the object information corresponding to the representative object as a first number, and determine the number of information elements in the union of the information elements respectively included in the object information corresponding to the target objects to be clustered and the object information corresponding to the representative object as a second number;
[0214] A ratio calculation process is performed on the first number and the second number to determine the target similarity.
[0215] In a possible implementation manner, the apparatus further includes a third determining unit:
[0216] The third determining unit is used to determine element weights corresponding to the common information elements respectively, where the element weights are used to identify the representation strength of the information elements for the clustering objects;
[0217] The first determining unit 702 is specifically configured to:
[0218] Performing a summation calculation process on the element weights respectively corresponding to the shared information elements, and performing a ratio calculation process on the first number and the second number;
[0219] The product of the result of the sum calculation process and the result of the ratio calculation process is determined as the target similarity.
[0220] In a possible implementation manner, the third determining unit is specifically configured to:
[0221] The representation strength of the shared information elements on the objects to be clustered is analyzed according to the arrangement order of the shared information elements in the object information corresponding to the target objects to be clustered, and the element weights corresponding to the shared information elements are determined. In a possible implementation, the objects to be clustered are programs to be clustered, the object information is the program name, the information elements are characters constituting text information, the element weight corresponding to the first information element is positively correlated with the arrangement order of the first information element in the object information corresponding to the target objects to be clustered, and the first information element is any one of the shared information elements.
[0222] In a possible implementation manner, the third determining unit is specifically configured to:
[0223] According to the number of times the common information elements appear in the object information corresponding to the objects to be clustered included in the second target object cluster, the representation strength of the common information elements on the objects to be clustered is analyzed, and the element weights corresponding to the common information elements are determined, wherein the element weight corresponding to the second information element is positively correlated with the number of times the second information element appears in the object information corresponding to the objects to be clustered included in the second target object cluster, and the second information element is any one of the common information elements.
[0224] In a possible implementation manner, the apparatus further includes a fourth determining unit and a responding unit:
[0225] The fourth determining unit is used to determine the total number of object clusters after the object cluster including the target object to be clustered is newly created;
[0226] The response unit is used to delete object clusters in response to the total number of object clusters exceeding the object cluster number threshold, based on the corresponding object cluster parameters in descending order, so that the total number of object clusters after deletion does not exceed the object cluster number threshold, and the object cluster parameter corresponding to the object cluster is positively correlated with the object cluster establishment time, and is negatively correlated with the number of objects to be clustered included in the object cluster.
[0227] In a possible implementation manner, the clustering process includes M rounds of clustering, and the first determining unit 702 is specifically configured to:
[0228] The multiple objects to be clustered are used as multiple objects corresponding to the first round of clustering in the M rounds of clustering, and in the mth round of clustering in the M rounds of clustering, the multiple objects corresponding to the mth round of clustering are divided into multiple object sets, each object set includes multiple objects;
[0229] Based on the similarity between the object information respectively corresponding to the multiple objects corresponding to the m-th round of clustering, clustering the multiple object sets respectively to obtain the object clusters respectively corresponding to the multiple object sets, and the object clusters respectively corresponding to the multiple object sets are the object clusters corresponding to the m-th round of clustering;
[0230] Determine the representative objects corresponding to the object clusters corresponding to the multiple object sets as the multiple objects corresponding to the m+1th round of clustering in the M rounds of clustering, perform the m+1th round of clustering, the object information corresponding to the target representative object is used to characterize the information characteristics of the object information corresponding to the objects included in the object cluster corresponding to the target representative object, the target representative object is any one of the representative objects corresponding to the object clusters corresponding to the multiple object sets, M is a positive integer greater than 1, and m is a positive integer less than M;
[0231] In the M-th round of clustering, clustering the multiple objects corresponding to the M-th round of clustering is performed according to the similarity between the object information corresponding to the multiple objects corresponding to the M-th round of clustering to obtain the object cluster corresponding to the M-th round of clustering;
[0232] According to the object clusters corresponding to the M rounds of clustering respectively, the multiple objects to be clustered are added to the object cluster corresponding to the M round of clustering to obtain the object clusters corresponding to the multiple objects to be clustered, wherein any two objects to be clustered that are clustered into the same object cluster during the M rounds of clustering are located in the same object cluster among the object clusters corresponding to the multiple objects to be clustered.
[0233] In a possible implementation manner, the first target object cluster includes a plurality of classified objects, the target classified object is any one of the plurality of classified objects included in the first target object cluster, and the apparatus further includes a fifth determining unit:
[0234] The fifth determining unit is used to perform a quantity ratio analysis on the object categories respectively corresponding to the multiple classified objects, and determine the quantity ratio of the object category corresponding to the target classified object in the object categories respectively corresponding to the multiple classified objects included in the first target object cluster;
[0235] The second determining unit 703 is specifically configured to:
[0236] In response to the fact that the quantity ratio of the object category corresponding to the target classified object is the maximum value of the quantity ratios of the object categories corresponding to the multiple classified objects included in the first target object cluster, and the quantity ratio of the object category corresponding to the target classified object is greater than a second threshold, the object category corresponding to the target classified object is determined as the object category corresponding to the target unclassified object.
[0237] The present application also provides a computer device, see Figure 8 As shown, the computer device may be a terminal device, and a mobile phone is taken as an example:
[0238] Figure 8 FIG. 1 is a block diagram showing a partial structure of a mobile phone related to a terminal device provided in an embodiment of the present application. Figure 8 The mobile phone includes: a radio frequency (RF) circuit 710, a memory 720, an input unit 730, a display unit 740, a sensor 750, an audio circuit 760, a wireless fidelity (WiFi) module 770, a processor 780, and a power supply 790. Those skilled in the art will understand that Figure 8 The mobile phone structure shown in the figure does not constitute a limitation on the mobile phone, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0239] Combine the following Figure 8 A detailed introduction to the various components of the mobile phone:
[0240] The RF circuit 710 can be used for receiving and sending signals during the process of sending and receiving information or making calls. In particular, after receiving the downlink information of the base station, it is sent to the processor 780 for processing; in addition, the designed uplink data is sent to the base station. Usually, the RF circuit 710 includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (Low Noise Amplifier, referred to as LNA), a duplexer, etc. In addition, the RF circuit 710 can also communicate with the network and other devices through wireless communication. The above-mentioned wireless communication can use any communication standard or protocol, including but not limited to the Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Messaging Service (SMS), etc.
[0241] The memory 720 can be used to store software programs and modules. The processor 780 executes various functional applications and data processing of the mobile phone by running the software programs and modules stored in the memory 720. The memory 720 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the mobile phone (such as audio data, a phone book, etc.), etc. In addition, the memory 720 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.
[0242] The input unit 730 can be used to receive input digital or character information, and to generate key signal input related to the user settings and function control of the mobile phone. Specifically, the input unit 730 may include a touch panel 731 and other input devices 732. The touch panel 731, also known as a touch screen, can collect the user's touch operation on or near it (such as the user's operation on the touch panel 731 or near the touch panel 731 using any suitable object or accessory such as a finger, stylus, etc.), and drive the corresponding connection device according to a pre-set program. Optionally, the touch panel 731 may include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the user's touch orientation, detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into contact coordinates, and then sends it to the processor 780, and can receive and execute commands sent by the processor 780. In addition, the touch panel 731 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves. In addition to the touch panel 731, the input unit 730 may further include other input devices 732. Specifically, the other input devices 732 may include but are not limited to one or more of a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, and the like.
[0243] The display unit 740 can be used to display information input by the user or information provided to the user and various menus of the mobile phone. The display unit 740 may include a display panel 741. Optionally, the display panel 741 may be configured in the form of a liquid crystal display (Liquid Crystal Display, LCD), an organic light-emitting diode (Organic Light-Emitting Diode, OLED), etc. Further, the touch panel 731 may cover the display panel 741. When the touch panel 731 detects a touch operation on or near it, it is transmitted to the processor 780 to determine the type of touch event. Subsequently, the processor 780 provides a corresponding visual output on the display panel 741 according to the type of touch event. Although in Figure 8 In the embodiment, the touch panel 731 and the display panel 741 are used as two independent components to realize the input and output functions of the mobile phone, but in some embodiments, the touch panel 731 and the display panel 741 can be integrated to realize the input and output functions of the mobile phone.
[0244] The mobile phone may also include at least one sensor 750, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 741 according to the brightness of the ambient light, and the proximity sensor may turn off the display panel 741 and / or the backlight when the mobile phone is moved to the ear. As a type of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in all directions (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used for applications that identify the posture of the mobile phone (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for other sensors that can be configured in the mobile phone, such as gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc., they will not be repeated here.
[0245] The audio circuit 760, the speaker 761, and the microphone 762 can provide an audio interface between the user and the mobile phone. The audio circuit 760 can transmit the received audio data to the speaker 761 after converting the received audio data into an electrical signal, which is converted into a sound signal for output; on the other hand, the microphone 762 converts the collected sound signal into an electrical signal, which is received by the audio circuit 760 and converted into audio data, and then the audio data is output to the processor 780 for processing, and then sent to another mobile phone through the RF circuit 710, or the audio data is output to the memory 720 for further processing.
[0246] WiFi is a short-range wireless transmission technology. The mobile phone can help users send and receive emails, browse web pages and access streaming media through the WiFi module 770. It provides users with wireless broadband Internet access. Figure 8A WiFi module 770 is shown, but it is understandable that it is not an essential component of the mobile phone and can be omitted as needed without changing the essence of the invention.
[0247] The processor 780 is the control center of the mobile phone. It uses various interfaces and lines to connect various parts of the entire mobile phone. By running or executing software programs and / or modules stored in the memory 720, and calling data stored in the memory 720, it executes various functions of the mobile phone and processes data, thereby performing overall detection of the mobile phone. Optionally, the processor 780 may include one or more processing units; preferably, the processor 780 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, and application programs, and the modem processor mainly processes wireless communications. It is understandable that the above-mentioned modem processor may not be integrated into the processor 780.
[0248] The mobile phone also includes a power supply 790 (such as a battery) for supplying power to various components. Preferably, the power supply can be logically connected to the processor 780 through a power management system, so that the power management system can manage charging, discharging, power consumption and other functions.
[0249] Although not shown, the mobile phone may also include a camera, a Bluetooth module, etc., which will not be described in detail here.
[0250] In this embodiment, the processor 780 included in the terminal device also has the following functions:
[0251] Obtaining object information corresponding to a plurality of objects to be clustered, wherein the plurality of objects to be clustered include classified objects and unclassified objects, the classified objects have corresponding object categories, and the object information is used to characterize the corresponding objects to be clustered, and the classified objects and the unclassified objects are different objects;
[0252] Based on the similarity between the object information respectively corresponding to the multiple objects to be clustered, clustering the multiple objects to be clustered is performed to generate object clusters corresponding to the multiple objects to be clustered, so that the objects to be clustered with similar object information dimensions are located in the same object cluster;
[0253] The object clusters corresponding to the multiple objects to be clustered are respectively used as first target object clusters. In response to the presence of target classified objects and target unclassified objects in the first target object clusters, the object categories corresponding to the target classified objects are determined as the object categories corresponding to the target unclassified objects, the target classified objects are any one of the classified objects, and the target unclassified objects are any one of the unclassified objects.
[0254] The present application also provides a server. Fig. 9 As shown, Fig. 9 The structural diagram of the server 800 provided in the embodiment of the present application, the server 800 may have relatively large differences due to different configurations or performances, and may include one or more central processing units (CPU) 822 (for example, one or more processors) and a memory 832, and one or more storage media 830 (for example, one or more mass storage devices) storing application programs 842 or data 844. Among them, the memory 832 and the storage medium 830 can be temporary storage or permanent storage. The program stored in the storage medium 830 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server. Furthermore, the central processing unit 822 can be configured to communicate with the storage medium 830 and execute a series of instruction operations in the storage medium 830 on the server 800.
[0255] The server 800 may also include one or more power supplies 826, one or more wired or wireless network interfaces 850, one or more input and output interfaces 858, and / or one or more operating systems 841, such as Windows Server 2000. TM , Mac OS X TM , Unix TM ,Linux TM , FreeBSD TM etc.
[0256] The steps performed by the server in the above embodiment can be based on Fig. 9 The server structure shown.
[0257] The embodiment of the present application further provides a computer-readable storage medium for storing a computer program, wherein the computer program is used to execute any one of the implementations of the category analysis method described in the aforementioned embodiments.
[0258] An embodiment of the present application further provides a computer program product including a computer program, which, when executed on a computer device, enables the computer device to execute the category analysis method described in any one of the above embodiments.
[0259] It can be understood that in the specific implementation of the present application, related data such as user information (such as the user's judgment of the program category, the user's program usage information, etc.) is involved. When the above embodiments of the present application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions.
[0260] A person of ordinary skill in the art can understand that all or part of the steps of implementing the above-mentioned method embodiment can be completed by hardware related to program instructions, and the above-mentioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above-mentioned method embodiment; and the above-mentioned storage medium can be at least one of the following media: read-only memory (English: read-only memory, abbreviated: ROM), RAM, magnetic disk or optical disk, etc. Various media that can store program codes.
[0261] It should be noted that each embodiment in this specification is described in a progressive manner, and the same and similar parts between the embodiments can refer to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device and system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can refer to the partial description of the method embodiments. The device and system embodiments described above are merely schematic, in which the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative work.
[0262] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A category analysis method, characterized in that: The method comprises: Obtaining object information corresponding to a plurality of objects to be clustered, wherein the plurality of objects to be clustered include classified objects and unclassified objects, the classified objects have corresponding object categories, and the object information is used to characterize the corresponding objects to be clustered, and the classified objects and the unclassified objects are different objects; Based on the similarity between the object information respectively corresponding to the multiple objects to be clustered, clustering the multiple objects to be clustered is performed to generate object clusters corresponding to the multiple objects to be clustered, so that the objects to be clustered with similar object information dimensions are located in the same object cluster; The object clusters corresponding to the multiple objects to be clustered are respectively used as first target object clusters. In response to the presence of target classified objects and target unclassified objects in the first target object clusters, the object categories corresponding to the target classified objects are determined as the object categories corresponding to the target unclassified objects, the target classified objects are any one of the classified objects, and the target unclassified objects are any one of the unclassified objects.
2. The method according to claim 1, characterized in that The clustering process includes N clusterings, and the clustering process is performed on the multiple objects to be clustered based on the similarities between the object information respectively corresponding to the multiple objects to be clustered to generate object clusters corresponding to the multiple objects to be clustered, including: In the i-th clustering among the N clusterings, a target object to be clustered corresponding to the i-th clustering and an object cluster corresponding to the i-th clustering are obtained, the i-th clustering is used to determine the object cluster corresponding to the target object to be clustered, the object cluster corresponding to the i-th clustering is the object cluster generated by the first i-1 clusterings among the N clusterings, N is a positive integer greater than 1, and i is a positive integer not greater than N; The object clusters corresponding to the i-th clustering are respectively used as second target object clusters, and according to the similarity between the object information corresponding to the target object to be clustered and the object information corresponding to the objects to be clustered included in the second target object cluster, the similarity between the target object to be clustered and the second target object cluster is calculated by similarity analysis, and the similarity between the target object to be clustered and the second target object cluster is used to characterize the similarity between the target object to be clustered and the objects to be clustered included in the second target object cluster in the object information dimension; In response to the similarity between the target to-be-clustered object and the second target object cluster being the maximum value among the similarities between the target to-be-clustered object and the object clusters corresponding to the i-th clustering, and the similarity between the target to-be-clustered object and the second target object cluster being greater than a first threshold, adding the target to-be-clustered object to the second target object cluster; In response to the fact that the similarities between the target object to be clustered and the object clusters corresponding to the i-th clustering are not greater than the first threshold, a new object cluster including the target object to be clustered is created.
3. The method according to claim 2, characterized in that The obtaining the similarity between the target object to be clustered and the second target object cluster by similarity analysis and calculation based on the similarity between the object information corresponding to the target object to be clustered and the object information corresponding to the objects to be clustered included in the second target object cluster includes: Determining a representative object among the objects to be clustered included in the second target object cluster according to the object information respectively corresponding to the objects to be clustered included in the second target object cluster, wherein the object information corresponding to the representative object is used to characterize information features of the object information corresponding to the objects to be clustered included in the second target object cluster; The target similarity between the object information corresponding to the target object to be clustered and the object information corresponding to the representative object is determined as the similarity between the target object to be clustered and the second target object cluster.
4. The method according to claim 3, characterized in that The object information is composed of information elements, and determining the representative object among the objects to be clustered included in the second target object cluster according to the object information corresponding to the objects to be clustered included in the second target object cluster includes: Determining, among the objects to be clustered included in the second target object cluster, the object to be clustered whose corresponding object information includes the most information elements as the representative object; Alternatively, the object to be clustered whose corresponding element has the largest average number of occurrences among the objects to be clustered included in the second target object cluster is determined as the representative object, and the average number of element occurrences is the average number of occurrences of the information element included in the object information corresponding to the corresponding object to be clustered in the object information corresponding to the objects to be clustered included in the second target object cluster.
5. The method according to claim 3, characterized in that: Object information is composed of information elements, and the object similarity is determined in the following way: Determine the number of information elements common to the object information corresponding to the target objects to be clustered and the object information corresponding to the representative object as a first number, and determine the number of information elements in the union of the information elements respectively included in the object information corresponding to the target objects to be clustered and the object information corresponding to the representative object as a second number; A ratio calculation process is performed on the first number and the second number to determine the target similarity.
6. The method according to claim 5, characterized in that The method further comprises: Determine element weights corresponding to the common information elements respectively, where the element weights are used to identify the representation strength of the information elements for the clustering objects; The performing ratio calculation processing on the first number and the second number to determine the target similarity includes: Performing a summation calculation process on the element weights respectively corresponding to the shared information elements, and performing a ratio calculation process on the first number and the second number; The product of the result of the sum calculation process and the result of the ratio calculation process is determined as the target similarity.
7. The method according to claim 6, characterized in that The determining the element weights respectively corresponding to the shared information elements includes: The representation strength of the shared information elements on the objects to be clustered is analyzed according to the arrangement order of the shared information elements in the object information corresponding to the target objects to be clustered, and the element weights corresponding to the shared information elements are determined.
8. The method according to claim 6, characterized in that The determining the element weights respectively corresponding to the shared information elements includes: According to the number of times the common information elements appear in the object information corresponding to the objects to be clustered included in the second target object cluster, the representation strength of the common information elements on the objects to be clustered is analyzed, and the element weights corresponding to the common information elements are determined, wherein the element weight corresponding to the second information element is positively correlated with the number of times the second information element appears in the object information corresponding to the objects to be clustered included in the second target object cluster, and the second information element is any one of the common information elements.
9. The method according to claim 2, characterized in that: During the i-th clustering, in response to creating a new object cluster including the target object to be clustered, the method further includes: Determine the total number of object clusters after the object cluster including the target object to be clustered is newly created; In response to the total number of object clusters exceeding the object cluster number threshold, object clusters are deleted based on the corresponding object cluster parameters in descending order, so that the total number of object clusters after deletion does not exceed the object cluster number threshold, and the object cluster parameter corresponding to the object cluster is positively correlated with the object cluster establishment time, and is negatively correlated with the number of objects to be clustered included in the object cluster.
10. The method according to claim 1, characterized in that The clustering process includes M rounds of clustering, and the clustering process is performed on the multiple objects to be clustered based on the similarities between the object information respectively corresponding to the multiple objects to be clustered to generate object clusters corresponding to the multiple objects to be clustered, including: The multiple objects to be clustered are used as multiple objects corresponding to the first round of clustering in the M rounds of clustering, and in the mth round of clustering in the M rounds of clustering, the multiple objects corresponding to the mth round of clustering are divided into multiple object sets, each object set includes multiple objects; Based on the similarity between the object information respectively corresponding to the multiple objects corresponding to the m-th round of clustering, clustering the multiple object sets respectively to obtain the object clusters respectively corresponding to the multiple object sets, and the object clusters respectively corresponding to the multiple object sets are the object clusters corresponding to the m-th round of clustering; Determine the representative objects corresponding to the object clusters corresponding to the multiple object sets as the multiple objects corresponding to the m+1th round of clustering in the M rounds of clustering, perform the m+1th round of clustering, the object information corresponding to the target representative object is used to characterize the information characteristics of the object information corresponding to the objects included in the object cluster corresponding to the target representative object, the target representative object is any one of the representative objects corresponding to the object clusters corresponding to the multiple object sets, M is a positive integer greater than 1, and m is a positive integer less than M; In the M-th round of clustering, clustering the multiple objects corresponding to the M-th round of clustering is performed according to the similarity between the object information corresponding to the multiple objects corresponding to the M-th round of clustering to obtain the object cluster corresponding to the M-th round of clustering; According to the object clusters corresponding to the M rounds of clustering, the clustering manner of the multiple objects to be clustered in the M rounds of clustering is analyzed, and the multiple objects to be clustered are added to the object cluster corresponding to the M round of clustering to obtain the object clusters corresponding to the multiple objects to be clustered, wherein any two objects to be clustered that are clustered into the same object cluster in the M rounds of clustering are located in the same object cluster in the object clusters corresponding to the multiple objects to be clustered.
11. The method according to claim 1, characterized in that: The first target object cluster includes a plurality of classified objects, the target classified object is any one of the plurality of classified objects included in the first target object cluster, and the method further includes: Determine the proportion of the object category corresponding to the target classified object in the object categories respectively corresponding to the plurality of classified objects included in the first target object cluster; The step of determining the object category corresponding to the target classified object as the object category corresponding to the target unclassified object includes: In response to the fact that the quantity ratio of the object category corresponding to the target classified object is the maximum value of the quantity ratios of the object categories corresponding to the multiple classified objects included in the first target object cluster, and the quantity ratio of the object category corresponding to the target classified object is greater than a second threshold, the object category corresponding to the target classified object is determined as the object category corresponding to the target unclassified object.
12. A category analysis device, characterized in that: The device comprises an acquisition unit, a first determination unit and a second determination unit: The acquisition unit is used to acquire object information corresponding to a plurality of objects to be clustered, wherein the plurality of objects to be clustered include classified objects and unclassified objects, the classified objects have corresponding object categories, and the object information is used to characterize the corresponding objects to be clustered, and the classified objects and the unclassified objects are different objects; The first determining unit is used to perform clustering processing on the multiple objects to be clustered based on the similarity between the object information respectively corresponding to the multiple objects to be clustered, generate object clusters corresponding to the multiple objects to be clustered, and make the objects to be clustered with similar object information dimensions be located in the same object cluster; The second determination unit is used to respectively use the object clusters corresponding to the multiple objects to be clustered as first target object clusters, and in response to the presence of target classified objects and target unclassified objects in the first target object clusters, determine the object category corresponding to the target classified object as the object category corresponding to the target unclassified object, the target classified object is any one of the classified objects, and the target unclassified object is any one of the unclassified objects.
13. A computer device, characterized in that: The computer device comprises a processor and a memory: The memory is used to store a computer program and transmit the computer program to the processor; The processor is used to execute the category analysis method described in any one of claims 1-11 according to the instructions in the computer program.
14. A computer-readable storage medium, characterized in that: The computer-readable storage medium is used to store a computer program, and the computer program is used to execute the category analysis method described in any one of claims 1-11.
15. A computer program product comprising a computer program, which, when executed on a computer device, enables the computer device to execute the category analysis method according to any one of claims 1 to 11.