Classification methods, devices, storage media, and electronic devices for target objects

By combining clustering algorithms with ball tree structures, user feature data is obtained and classified, solving the problem of inaccurate user classification on high-dimensional datasets and achieving higher classification accuracy.

CN114997327BActive Publication Date: 2026-03-13CHINA TELECOM CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-20
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Existing clustering algorithms perform poorly on high-dimensional datasets, resulting in inaccurate user classification results.

Method used

By employing a fusion clustering algorithm and a ball tree data structure, the feature data of objects is obtained, a ball tree structure is constructed, and data nodes are traversed to classify them based on their location and nearest neighbor.

Benefits of technology

It improves the accuracy of user classification results and makes up for the insufficient processing capability of clustering algorithms on high-dimensional data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114997327B_ABST
    Figure CN114997327B_ABST
Patent Text Reader

Abstract

This application discloses a method, apparatus, storage medium, and electronic device for classifying target objects. The method includes: acquiring feature data of each object in an object set, wherein the feature data includes at least historical purchase records; inputting the feature data into a preset clustering algorithm model to obtain clustering results; determining a first target object and a second target object in the object set that meet preset conditions within the clustering results; determining a first position of the first target object and a second position of the second target object within the clustering results; storing each object as a data node in a ball-tree structure based on the first and second positions; traversing each data node in the ball-tree structure; and classifying each object based on the traversal results. This application solves the technical problem of inaccurate user classification results caused by using clustering algorithms to analyze user data in related technologies.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data mining, and more specifically, to a method, apparatus, storage medium, and electronic device for classifying target objects. Background Technology

[0002] When providing online SIM card registration services to users, the omnichannel operations center categorizes users based on their selected plans, benefits, and other historical records. This allows for recommendations to users with similar preferences. Common technologies for this categorization involve clustering algorithms. While clustering algorithms perform well on low-dimensional datasets, they perform poorly on high-dimensional datasets. The higher the data dimensionality, the worse the algorithm's results. Historical product order information and other data selected by users constitute large volumes of high-dimensional data.

[0003] There is currently no effective solution to the above problems. Summary of the Invention

[0004] This application provides a method, apparatus, storage medium, and electronic device for classifying target objects, in order to at least solve the technical problem of inaccurate user classification results caused by the use of clustering algorithms to analyze user data in related technologies.

[0005] According to one aspect of the embodiments of this application, a method for classifying target objects is provided, comprising: acquiring feature data of each object in an object set, wherein the feature data includes at least historical purchase records; inputting the feature data into a preset clustering algorithm model to obtain clustering results, determining a first target object and a second target object in the object set that meet preset conditions in the clustering results; determining a first position of the first target object and a second position of the second target object in the clustering results; storing each object in the form of data nodes in a ball tree structure according to the first position and the second position, traversing each data node in the ball tree structure, and classifying each object according to the traversal results.

[0006] Optionally, storing each object as a data node in a sphere-tree structure based on the first and second positions includes: constructing a target hypersphere, wherein the target hypersphere is the smallest sphere containing the data nodes of each object; determining the first position as the first cluster center and the second position as the second cluster center; assigning data nodes closer to the first position to the first cluster center and assigning data nodes closer to the second position to the second cluster center; obtaining the first hypersphere corresponding to the first cluster center and the second cluster center respectively, and determining the sphere-tree structure based on the hypersphere.

[0007] Optionally, obtaining the hyperspheres corresponding to the first cluster center and the second cluster center includes: calling the minimum circle cover method to determine the center and radius of the circle corresponding to the first cluster center and the second cluster center, and determining the first hypersphere and the second hypersphere respectively based on the center and radius of the circle corresponding to the first cluster center and the second cluster center.

[0008] Optionally, the data nodes in the ball tree structure are traversed, and the objects are classified according to the traversal results, including: obtaining the nearest neighbor of each data node according to the traversal results; and classifying the objects corresponding to the data nodes and the objects of the nearest neighbors of the data nodes into the same type.

[0009] Optionally, determining the first target object and the second target object that satisfy the preset conditions in the object set of the clustering result includes: determining the two nodes with the longest preset type distance in the clustering result; and determining the objects corresponding to the two nodes as the first target object and the second target object, respectively, wherein the preset type distance includes: Euclidean distance.

[0010] Optionally, the feature data is input into a preset clustering algorithm model to obtain clustering results, including: normalizing and discretizing the feature data to convert the feature data into a matrix; and inputting the matrix into the preset clustering algorithm model.

[0011] Optionally, before inputting the matrix into the preset clustering algorithm model, the method further includes: determining the clustering error of each object in the object set under different numbers of clusters, wherein the clustering error is used to indicate the quality of the clustering effect; and determining the number of clusters corresponding to the minimum clustering error as the target number of clusters.

[0012] According to another aspect of the embodiments of this application, a target object classification device is also provided, comprising: an acquisition module, configured to acquire feature data of each object in an object set, wherein the feature data includes at least historical purchase records; an input module, configured to input the feature data into a preset clustering algorithm model to obtain clustering results, and determine a first target object and a second target object in the object set of the clustering results that satisfy preset conditions; a determination module, configured to determine a first position of the first target object and a second position of the second target object in the clustering results; and a classification module, configured to store each object in the form of data nodes in a ball tree structure according to the first position and the second position, traverse each data node in the ball tree structure, and classify each object according to the traversal results.

[0013] According to another aspect of the embodiments of this application, a non-volatile storage medium is also provided, the storage medium including a stored program, wherein, when the program is running, it controls the device where the storage medium is located to execute any classification method for a target object.

[0014] According to another aspect of the embodiments of this application, an electronic device is also provided, including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to execute instructions to implement any classification method for target objects.

[0015] In this embodiment, a method combining clustering algorithms and ball-tree data structures is used to classify users. This involves acquiring feature data of each object in a set of objects, including at least historical purchase records; inputting the feature data into a preset clustering algorithm model to obtain clustering results; identifying a first target object and a second target object that meet preset conditions within the object set in the clustering results; determining the first position of the first target object and the second position of the second target object in the clustering results; storing each object as a data node in a ball-tree structure based on the first and second positions; and traversing each data node in the ball-tree structure to achieve the purpose of classifying objects based on the traversal results. This achieves the technical effect of using a ball-tree data structure to compensate for the insufficient processing capability of clustering algorithms on high-dimensional data, improving the accuracy of user classification results, and thus solving the technical problem of inaccurate user classification results caused by using clustering algorithms to analyze user data in related technologies. Attached Figure Description

[0016] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0017] Figure 1 This is a flowchart illustrating an optional target object classification method according to an embodiment of this application;

[0018] Figure 2 This is a schematic diagram of the ball tree data structure in the embodiments of this application;

[0019] Figure 3 This is a tree structure diagram in the embodiments of this application;

[0020] Figure 4 This is a flowchart illustrating the classification of data for telecommunications users in an exemplary embodiment of this application;

[0021] Figure 5 This is a schematic diagram of the structure of an optional target object classification device according to an embodiment of this application;

[0022] Figure 6 A schematic block diagram of an example electronic device 600 that can be used to implement embodiments of this application is shown. Detailed Implementation

[0023] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0024] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0025] According to an embodiment of this application, an embodiment of a method for classifying target objects is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0026] Figure 1 This is a classification method for target objects according to embodiments of this application, such as... Figure 1 As shown, the method includes the following steps:

[0027] Step S102: Obtain the feature data of each object in the object set, wherein the feature data includes at least historical purchase records;

[0028] Step S104: Input the feature data into the preset clustering algorithm model to obtain the clustering result, and determine the first target object and the second target object that meet the preset conditions in the object set in the clustering result;

[0029] Step S106: Determine the first position of the first target object and the second position of the second target object in the clustering results;

[0030] Step S108: Store each object as a data node in a ball tree structure according to the first position and the second position, traverse each data node in the ball tree structure, and classify each object according to the traversal result.

[0031] This target object classification method employs a fusion of clustering algorithms and a ball-tree data structure to classify users. It acquires feature data from each object in the object set, including at least historical purchase records. This feature data is then input into a pre-defined clustering algorithm model to obtain clustering results. The method identifies a first target object and a second target object that meet pre-defined conditions within the clustered object set. The first position of the first target object and the second position of the second target object are determined within the clustering results. Based on these positions, each object is stored as a data node in a ball-tree structure. Traversing each data node in the ball-tree structure achieves the goal of classifying objects based on the traversal results. This method leverages the ball-tree data structure to compensate for the insufficient processing power of clustering algorithms on high-dimensional data, improving the accuracy of user classification results. Ultimately, it solves the technical problem of inaccurate user classification results caused by using clustering algorithms to analyze user data in related technologies.

[0032] As an optional implementation, storing each object as a data node in a sphere-tree structure based on a first position and a second position includes: constructing a target hypersphere, wherein the target hypersphere is the smallest sphere containing the data nodes of each object; determining the first position as the first cluster center and the second position as the second cluster center; assigning data nodes closer to the first position to the first cluster center and assigning data nodes closer to the second position to the second cluster center; obtaining the first hypersphere corresponding to the first cluster center and the second cluster center respectively, and determining the sphere-tree structure based on the hypersphere.

[0033] Specifically, the hyperspheres corresponding to the first and second cluster centers can be obtained as follows: the minimum circle cover method is used to determine the center and radius of the circle corresponding to the first and second cluster centers, and the first and second hyperspheres are determined based on the center and radius of the circle corresponding to the first and second cluster centers, respectively.

[0034] In some embodiments of this application, each data node in the ball tree structure is traversed, and each object is classified according to the traversal results, including: obtaining the nearest neighbor of each data node according to the traversal results; classifying the object corresponding to the data node and the object of the nearest neighbor of the data node into the same type.

[0035] In other embodiments of this application, determining the first target object and the second target object that satisfy preset conditions in the object set of the clustering result includes: determining the two nodes with the longest preset type distance in the clustering result; and determining the objects corresponding to the two nodes as the first target object and the second target object, wherein the preset type distance includes: Euclidean distance.

[0036] In some optional embodiments of this application, the clustering result can be obtained by inputting feature data into a preset clustering algorithm model through the following steps: normalizing and discretizing the feature data to convert the feature data into a matrix; and inputting the matrix into the preset clustering algorithm model.

[0037] It should be noted that before inputting the matrix into the preset clustering algorithm model, the clustering error of each object in the object set under different numbers of clusters can be determined. The clustering error is used to indicate the quality of the clustering effect. The number of clusters corresponding to the minimum clustering error is determined as the target number of clusters.

[0038] In some optional embodiments of this application, the construction process of the ball tree can use T to represent the selected dataset and S to represent the current data domain. The creation process begins by inputting the dataset T and the data domain S. If the dataset has only one data point, the node is returned directly. Otherwise, the two farthest points in the domain, node1 and node2, are first found and used as observation points. Then, the distances of all other points in the domain from node1 and node2 are calculated. If a point is closer to node1, it is grouped into the cluster of node1; if it is closer to node2, it is grouped into the cluster of node2. Next, the minimum circle covering algorithm is used to determine the center and radius of the circle, ensuring that the solved circle does not exceed the range of its parent circle. Then, smaller minimum circles are recursively constructed within the solved minimum circle until only one node remains, which is then stored as a leaf node.

[0039] After the ball tree is constructed, the next step is the ball tree query process, which uses the relationship that the sum of two sides is greater than the third side to make a judgment.

[0040] |x+y|≤|x|+|y|

[0041] A search query in a ball tree requires checking every single point. The following example illustrates the search rules for a ball tree. Figure 2 This is a schematic diagram of the ball tree data structure in the embodiments of this application, such as... Figure 2 As shown:

[0042] Given a target region q(q, r) such that all points are contained within it (||qx|| ≤ r), where q is the center of the target region and r is the exploration radius. Figure 3 This is a tree structure diagram from the embodiments of this application, such as... Figure 3As shown in the diagram, based on the structure, we can first search for the nearest neighbor of point j. Then, taking point j as the center and r as the radius, we can find the set of points that satisfy ‖qx‖≤r. Then, we can traverse from the root node j, recursively searching for each subspace j that might contain the last nearest neighbor from top to bottom. i If the radius of the subspace is rad(j i The sum of r is less than j i The center point cent(j) i The distance from point j to the target point is (rad(j)). i )+r)≤‖cent(j i If we have ||q||, then this subspace is the subspace we will search next. We then recursively search for all points in this subspace that satisfy ||q|| ≤ r. The set of these points is the "nearest neighbor" we need to find. In other words, all subspaces within a hypersphere truncated by the hypersphere (j, r) will be recursively traversed. Specifically, we can search for the nearest neighbor of j. Hyperspheres b and c are truncated by (j, r), and within the subspaces of b and c, d, e, and h are also truncated by (j, r). If more subspaces are truncated, the recursion continues downwards. Therefore, we search among d, e, and h, discarding distant nodes like c. Finally, [D, G] is the nearest neighbor obtained by the algorithm.

[0043] The following describes how to incorporate the ball tree structure into the k-means algorithm. Specifically, in each iteration of the k-means algorithm, we can start from the initial point and traverse from top to bottom until we reach the leaf node. We calculate the distance from these points to the cluster center to determine which points are closest to which cluster center, and then assign them to that cluster center. If some points are in a region during the traversal, we can assign all of those points to that cluster center.

[0044] Figure 4 This is a flowchart illustrating the classification of telecommunications user data in an exemplary embodiment of this application, such as... Figure 4 As shown, the process includes: building a user information data storage system, organizing and summarizing historical purchase records of telecom users, organizing the obtained data into corresponding data for storage, building a k-means algorithm model, constructing a spherical tree structure, constructing a hierarchical hypersphere structure, converting user information into corresponding data nodes, finding the "nearest neighbor" through calculation, and outputting the category to which each user belongs, thus identifying user groups with the same characteristics. It should be noted that further operations can be performed based on these user groups, including but not limited to: recommendation systems, etc.

[0045] Specifically, users can primarily include telecommunications customers, but it can also be applied to other user groups, such as forum users and resource website users. Users can have multiple characteristics or a single characteristic. Different users often have different interests, hobbies, and habits, and multiple network users may simultaneously possess one or more interests or habits. For example, user A tends to make phone calls and send text messages; user B likes to surf the internet and make phone calls. Therefore, users A and B share the common trait of making phone calls. Recommendations can then be made based on these user groups with similar characteristics.

[0046] Optionally, user information can be collected to obtain raw data on user purchase history, and user feature vectors can be obtained by extracting various dimensions of user characteristics. This includes the following steps:

[0047] Retrieving relevant data from the historical database requires cleaning up junk data. Missing fields can be manually filled in according to certain rules, and data with many missing fields can be removed. It should be noted that the original user data is read from the database, specifically including: the user's historical purchase data, such as cloud card packages / internet cards / telecom broadband services / third-party broadband services / data packages, etc. It can also include information such as the user's location. User information is extracted from the database. During the extraction process, missing data is usually manually filled in, and data with many missing fields can be discarded. After processing, the data is retrieved based on the user's historical purchases (e.g., package information, card information, broadband information, etc.). For example, querying the database may reveal: User A previously subscribed to cloud cards, internet cards, broadband services, etc.; User B previously subscribed to internet cards, data packages, etc. A portion of the user information is stored using the following methods: name, business 1, business 2... business n, i.e., (X1, Y11, Y12, Y13... Y1n), (X2, Y21, Y22, Y23... Y2n)... This yields the feature vector for each user.

[0048] It should be noted that the processing of user feature vectors can be achieved through the following steps:

[0049] Product tags are used, and then the data is converted into a formatted data format through normalization and discretization for easy processing and application. It's easy to note that normalization and discretization divide all products into 0 and 1, where 0 represents that the user has not purchased the product, and 1 represents that the user has purchased the product. Based on this method, all user information can be converted into a zero-one matrix representation. Data discretization and normalization are essential for the k-means algorithm. The normalized and discretized representations are shown below:

[0050]

[0051] The K value (number of clusters) in the k-means algorithm affects the clustering results; therefore, SSE can be used to determine the evaluation value.

[0052]

[0053] Where Ci represents the i-th cluster, p represents the sample point in Ci, mi represents the centroid of Ci, and SSE is the clustering error of all samples, representing the quality of the clustering.

[0054] The specific steps are as follows: Find the center point of the random sample, and calculate the sum of squares of the differences between all samples and the center point. In this example, this means calculating the clustering error of all users at the corresponding K value, and determining the final number of clusters when the change in the clustering error value tends to be stable.

[0055] Furthermore, the steps for constructing the ball tree structure include the following: The pseudocode for constructing the ball tree structure is shown below:

[0056]

[0057]

[0058] In this embodiment, the processed normalized and discretized data can be used as input. The two farthest points are calculated based on Euclidean distance. Specifically, theoretically, the farthest points are the two users with the lowest purchase similarity. Using these two users as base points, the positions of the remaining users are recursively calculated and stored in a tree structure. It can be understood that the original classification idea of ​​the k-means algorithm is to classify based on Euclidean distance. When using a spherical tree structure to store data, the nearest neighbors of each user can be found during the construction process, thus identifying the category to which each user belongs.

[0059] Furthermore, for constructing the k-means algorithm model, the process of building a sphere-tree structure involves constructing a hierarchical hypersphere structure and converting user information into corresponding data nodes, including the following steps:

[0060] To construct a sphere tree structure, we first need to find the two points that are furthest apart in space. In high-dimensional space, just like in two-dimensional space, we can choose various forms of distance as a metric, including but not limited to the following:

[0061] Manhattan distance:

[0062]

[0063] European distance:

[0064]

[0065] Chebyshev distance:

[0066] D(i,j)=max(|x ik -y ik |)

[0067] Furthermore, the discretized user matrix information is then input:

[0068] D = (X 1i ,X 2i ,…,X mi Let i = 1, 2, 3, ..., n. Calculate the two points with the furthest distance as base points. Calculate the distance between the nodes represented by other users and the two base points (different distance formulas can be selected for calculation), and merge the nearest nodes into the two base points. Then, recursively construct smaller circles from the information of other users in the same way.

[0069] Furthermore, by calculating the output to find the "nearest neighbor," and outputting the category to which each user belongs, the steps to identify user groups with the same characteristics can include the following:

[0070] The ultimate goal of this application is to find the classification of all users in the dataset; therefore, in the hypersphere, this means finding the "nearest neighbor" of each node. In the process of finding the nearest neighbor, according to (rad(j)... i )+r)≤‖cent(j i The subspace is determined by using the '-q' operator, and the nearest neighbors of all nodes are found again, thus classifying all users. Furthermore, this application can use a multi-layer neural network to train the model based on the classification results, enabling faster classification tasks.

[0071] It should be noted that the nodes in the ball tree structure of this invention include, but are not limited to, the user's historical packages and benefits, which can all be used within the scope of expansion.

[0072] Figure 5 This is a target object classification device according to an embodiment of this application, such as... Figure 5 As shown, the device includes:

[0073] The acquisition module 50 is used to acquire the feature data of each object in the object collection, wherein the feature data includes at least historical purchase records;

[0074] Input module 52 is used to input feature data into a preset clustering algorithm model to obtain clustering results, and to determine the first target object and the second target object that meet the preset conditions in the object set of the clustering results;

[0075] The determination module 54 is used to determine the first position of the first target object and the second position of the second target object in the clustering result;

[0076] The classification module 56 is used to store each object as a data node in a ball tree structure according to the first position and the second position, traverse each data node in the ball tree structure, and classify each object according to the traversal result.

[0077] In the target object classification device, the acquisition module 50 is used to acquire feature data of each object in the object set, wherein the feature data includes at least historical purchase records; the input module 52 is used to input the feature data into a preset clustering algorithm model to obtain clustering results, and determine the first target object and the second target object that meet the preset conditions in the object set of the clustering results; the determination module 54 is used to determine the first position of the first target object and the second position of the second target object in the clustering results; the classification module 56 is used to store each object in the form of data nodes in a ball tree structure according to the first position and the second position, traverse each data node in the ball tree structure, and classify each object according to the traversal results, thereby realizing the technical effect of using a ball tree-based data structure to compensate for the insufficient processing capability of clustering algorithms on high-dimensional data, improving the accuracy of user classification results, and thus solving the technical problem of inaccurate user classification results caused by using clustering algorithms to analyze user data in related technologies.

[0078] According to another aspect of the embodiments of this application, a non-volatile storage medium is also provided, the storage medium including a stored program, wherein, when the program is running, it controls the device where the storage medium is located to execute any classification method for a target object.

[0079] Specifically, the aforementioned storage medium is used to store program instructions for the following functions, which implement the following functions: obtaining feature data of each object in the object set, wherein the feature data includes at least historical purchase records; inputting the feature data into a preset clustering algorithm model to obtain clustering results, determining the first target object and the second target object in the object set that meet preset conditions in the clustering results; determining the first position of the first target object and the second position of the second target object in the clustering results; storing each object in the form of data nodes in a ball tree structure according to the first position and the second position, traversing each data node in the ball tree structure, and classifying each object according to the traversal results.

[0080] Optionally, in this embodiment, the storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. More specific examples of the storage medium include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0081] According to another aspect of the embodiments of this application, an electronic device is also provided, including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to execute instructions to implement any classification method for target objects.

[0082] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0083] Figure 6 A schematic block diagram of an example electronic device 600 that can be used to implement embodiments of this application is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the application described and / or claimed herein.

[0084] like Figure 6 As shown, device 600 includes a computing unit 601, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 602 or a computer program loaded from storage unit 608 into random access memory (RAM) 603. RAM 603 may also store various programs and data required for the operation of device 600. The computing unit 601, ROM 602, and RAM 603 are interconnected via bus 604. Input / output (I / O) interface 605 is also connected to bus 604.

[0085] Multiple components in device 600 are connected to I / O interface 605, including: input unit 606, such as keyboard, mouse, etc.; output unit 607, such as various types of monitors, speakers, etc.; storage unit 608, such as disk, optical disk, etc.; and communication unit 609, such as network card, modem, wireless transceiver, etc. Communication unit 609 allows device 600 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0086] The computing unit 601 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs the various methods and processes described above, such as the target object classification method. For example, in some embodiments, the target object classification method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the target object classification method described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the target object classification method by any other suitable means (e.g., by means of firmware).

[0087] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0088] The program code used to implement the methods of this application may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that when executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0089] In the context of this application, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0090] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0091] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0092] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0093] In the relevant embodiments of this application, a method of classifying users is adopted by integrating clustering algorithms with a ball tree data structure. This involves acquiring feature data of each object in the object set, where the feature data includes at least historical purchase records; inputting the feature data into a preset clustering algorithm model to obtain clustering results; determining a first target object and a second target object in the object set that meet preset conditions within the clustering results; determining a first position of the first target object and a second position of the second target object within the clustering results; storing each object as a data node in a ball tree structure based on the first and second positions; and traversing each data node in the ball tree structure to achieve the purpose of classifying each object based on the traversal results. This achieves the technical effect of using a ball tree data structure to compensate for the insufficient processing capability of clustering algorithms on high-dimensional data, improving the accuracy of user classification results, and thus solving the technical problem of inaccurate user classification results caused by using clustering algorithms to analyze user data in related technologies.

[0094] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0095] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0096] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.

[0097] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0098] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0099] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.

[0100] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A method of classifying a target object, characterized by, The method comprises: obtaining feature data of each object in an object set, wherein the feature data at least comprises historical selection records; inputting the feature data into a preset clustering algorithm model to obtain a clustering result, and determining a first target object and a second target object in the object set in the clustering result that meet a preset condition; determining a first position of the first target object and a second position of the second target object in the clustering result; storing the objects in the form of data nodes in a ball tree structure according to the first position and the second position, traversing each data node in the ball tree structure, and classifying the objects according to a traversal result; wherein inputting the feature data into a preset clustering algorithm model to obtain a clustering result comprises: normalizing and discretizing the feature data to convert the feature data into a matrix, and inputting the matrix into the preset clustering algorithm model; wherein before inputting the matrix into the preset clustering algorithm model, the method further comprises: determining a clustering error of each object in the object set under different clustering numbers, wherein the clustering error is used to indicate the degree of clustering effect; determining a target clustering number corresponding to a minimum clustering error.

2. The method of claim 1, wherein, storing the objects in the form of data nodes in a ball tree structure according to the first position and the second position comprises: constructing a target hypersphere, wherein the target hypersphere is a minimum ball that comprises the data nodes of the objects; respectively determining the first position as a first clustering center and the second position as a second clustering center; dividing data nodes in other data nodes that are closer to the first position to the first clustering center, and dividing data nodes in other data nodes that are closer to the second position to the second clustering center; obtaining a first hypersphere corresponding to the first clustering center and a second hypersphere corresponding to the second clustering center, and determining the ball tree structure based on the hyperspheres.

3. The method of claim 2, wherein, obtaining a hypersphere corresponding to the first clustering center and the second clustering center comprises: calling a minimum circle covering method to determine a center and a radius of the hypersphere corresponding to the first clustering center and the second clustering center, and respectively determining the first hypersphere and the second hypersphere according to the center and the radius of the hypersphere corresponding to the first clustering center and the second clustering center.

4. The method of claim 1, wherein, traversing each data node in the ball tree structure and classifying the objects according to a traversal result comprises: obtaining a nearest neighbor point of each data node according to the traversal result; dividing the object corresponding to the data node and the object of the nearest neighbor point of the data node into the same type.

5. The method of claim 1, wherein, determining a first target object and a second target object in the object set in the clustering result that meet a preset condition comprises: determining two nodes with the longest preset type distance in the clustering result; respectively determining the objects corresponding to the two nodes as the first target object and the second target object, wherein the preset type distance comprises an Euclidean distance.

6. An apparatus for classifying a target object, characterized by comprising: The method comprises: An acquisition module is configured to acquire feature data of each object in an object set, wherein the feature data at least includes historical purchase records; An input module is configured to input the feature data into a preset clustering algorithm model to obtain a clustering result, and determine a first target object and a second target object in the object set that satisfy a preset condition in the clustering result; A determination module is configured to determine a first position of the first target object and a second position of the second target object in the clustering result; A classification module is configured to store the each object in a form of a data node in a ball tree structure according to the first position and the second position, traverse each data node in the ball tree structure, and classify the each object according to a traversal result. The inputting of the feature data into the preset clustering algorithm model to obtain the clustering result includes: normalizing and discretizing the feature data, and converting the feature data into a matrix; and inputting the matrix into the preset clustering algorithm model. Before the matrix is input into the preset clustering algorithm model, a clustering error of each object in the object set under different clustering numbers is determined, wherein the clustering error is used to indicate a clustering effect. A clustering number corresponding to a minimum clustering error is a target clustering number.

7. A non-volatile storage medium, characterized by The storage medium includes a stored program, wherein the program controls a device where the storage medium is located to execute the classification method of the target object in any one of claims 1 to 5 when the program is running.

8. An electronic device, comprising: includes: a processor; a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions to implement the classification method of the target object in any one of claims 1 to 5.