Data determination method and device, storage medium and electronic equipment

By generating clusters and determining the upper and lower bounds using the cluster center and radius for sorting and filtering, the problem of low search accuracy of the furthest neighbor in high-dimensional unstructured data is solved, and more accurate data screening is achieved.

CN119202771AActive Publication Date: 2024-12-27SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411300204.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-14
Publication Date
2024-12-27
Estimated Expiration
2044-09-14

AI Technical Summary

Technical Problem

The prior art has problems with low accuracy in the furthest neighbor search of high-dimensional unstructured data. The hashing method has low accuracy and unstable performance of the heuristic method, which makes it impossible to accurately find the furthest data point.

Method used

By generating clustering of the target data set, the upper and lower bounds are determined using the clustering center data and radius, sorting and filtering, gradually narrowing the search range, and finally determining the data point with the largest distance from the target data.

Benefits of technology

Improve the accuracy of data screening, ensure the accuracy of finding the furthest data, and solve the problem of insufficient results in the prior art.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119202771A_ABST
    Figure CN119202771A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data determination method and device, a storage medium and electronic equipment, and the method comprises the steps: generating M clusters of a target data set; based on the first target data and the upper bound between each cluster, executing sorting operation on the M clusters to obtain M sorted clusters; determining a first target cluster according to a comparison result between the first lower bound and the first upper bound; and determining second target data from the first target cluster. By means of the data screening method and device, the problem that the result is not accurate enough when the data farthest from the target data is searched in the prior art is solved, and then the effect of improving the data screening precision is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of data processing, and more specifically, to a method and device for determining data, a storage medium, and an electronic device. Background Art

[0002] In big data, unstructured data, such as text, images, audio and video, accounts for more than 85% of the total collected volume. However, due to the massiveness, diversity, complexity, and rapid growth of unstructured big data, it poses certain challenges to information storage, computing, and data processing technologies for various applications.

[0003] Due to the structural complexity of the original unstructured data, it is difficult to directly calculate the similarity. Therefore, the usual practice is to extract the feature vectors of the data (these vectors are usually high-dimensional, ranging from hundreds to thousands), and transform the problem into a nearest neighbor search and farthest neighbor search problem on a massive high-dimensional feature set. The worst way to solve the high-dimensional farthest neighbor search is linear scanning. Although it has linear complexity, due to the massive and high-dimensional characteristics of unstructured data, this method is very time-consuming and will also cause the problem of dimensionality disaster.

[0004] At present, two main technical routes have been proposed in related technologies to solve this problem: hashing and heuristic methods. However, the hashing method has the problem of low precision, and it is difficult to find a hash function that works well for high-dimensional space. The best hash at present is local sensitive hashing, but it is essentially a one-dimensional projection. A lot of information is lost from the high-dimensional projection, and the farthest neighbor cannot be effectively identified; the main problem of the heuristic method is that the performance is unstable, and its performance depends on the size of the subset extracted from the data set: the farthest neighbor subset extracted from some data sets is indeed very small. But there are still many data sets whose farthest neighbor subsets are still very large, resulting in low search efficiency.

[0005] In addition, both methods have the problem of loss of precision and cannot guarantee 100% precision. Therefore, the farthest neighbor structures found are approximate farthest neighbors, rather than the real farthest point (i.e., the exact farthest neighbor). Summary of the invention

[0006] The embodiments of the present application provide a method and device for determining data, so as to at least solve the problem that the accuracy of the farthest data of the target data searched in the related art is not high.

[0007] According to an embodiment of the present application, a method for determining data is provided, comprising: generating M clusters of a target data set, wherein each of the above clusters includes multiple data, the above data is vector representation data obtained by vector conversion of unstructured data, and the above M is a positive integer greater than 1; based on an upper bound between the first target data and each of the above clusters, performing a sorting operation on the M clusters to obtain M sorted clusters, wherein the above upper bound is used to represent the maximum distance between the above first target data and the data in the above clusters, and the above first target data is vector representation data obtained by vector conversion of the first unstructured data; according to the ratio between the first lower bound and the first upper bound, The first target cluster is determined based on the comparison results, wherein the first lower bound is the minimum distance between the first target data and the data in the second target cluster, the data included in the second target cluster is the data screened from the M-1th cluster, the first upper bound is the maximum distance between the first target data and the data in the Mth cluster, the Mth cluster and the M-1th cluster are adjacent clusters in the M sorted clusters; the second target data is determined from the first target cluster, wherein the second target data is the data in the first target cluster with the largest distance from the first target data, and the second target data is the data in the target data set.

[0008] In an exemplary embodiment, generating M clusters of a target data set includes: obtaining an original data set, wherein the original data set includes a plurality of the unstructured data; performing vector conversion operations on the plurality of the unstructured data to obtain the target data set, wherein the vector conversion operation includes converting a data feature of each of the unstructured data into a feature vector; counting the value range of the data in the target data set on a plurality of preset data dimensions, and dividing the value range on each of the preset data dimensions into 2 N intervals, wherein the above N is a positive integer greater than or equal to 1; based on the 2 included in each of the above preset data dimensions of the above target data set N intervals, perform clustering operations on the data in the target data set, and obtain M clusters.

[0009] In an exemplary embodiment, based on the upper bound between the first target data and each of the above-mentioned clusters, a sorting operation is performed on the above-mentioned M clusters, and before obtaining the M sorted clusters, the above-mentioned method also includes: for each of the above-mentioned clusters, the following operations are performed to determine the upper bound between the above-mentioned first target data and each of the above-mentioned clusters: the distance between the central data in the above-mentioned cluster and the boundary data in the above-mentioned cluster is calculated to obtain the radius of the above-mentioned cluster; the distance between the above-mentioned first target data and the above-mentioned central data is calculated to obtain the first distance; the sum of the above-mentioned first distance and the above-mentioned radius is determined as the upper bound between the above-mentioned first target data and the above-mentioned cluster.

[0010] In an exemplary embodiment, the first target cluster is determined according to the comparison result between the first lower bound and the first upper bound, including: when it is determined from the comparison result that the first lower bound is smaller than the first upper bound, calculating the lower bound between the first target data and the data in the Mth cluster to obtain a second lower bound, wherein the second lower bound is used to represent the minimum distance between the first target data and the data in the Mth cluster; when it is determined that the second lower bound is larger than the first lower bound, updating the first lower bound to the second lower bound, and storing the data in the Mth cluster in the second target cluster to obtain the first target cluster.

[0011] In an exemplary embodiment, when it is determined from the comparison result that the first lower bound is smaller than the first upper bound, the lower bound between the first target data and the data in the Mth cluster is calculated to obtain a second lower bound, including: determining the VA codes of the multiple data included in the Mth cluster, wherein the VA codes are used to represent the numbering sequence of the intervals into which the data in the Mth cluster falls in each preset data dimension; in each preset data dimension, calculating the lower bound between the first target data and the VA codes of the multiple data to obtain multiple first lower bounds, wherein the preset data dimension is used to represent the value range of the data in the target data set, and the first lower bound is used to represent the minimum distance of the lower bound between the VA codes of the first target data and the first data, and the first data is any one of the multiple data; calculating the sum of the multiple first lower bounds to obtain the second lower bound of the first target data in each of the preset data dimensions; comparing the multiple second lower bounds of the first target data in the multiple preset data dimensions to obtain a target lower bound, wherein the target lower bound is used to represent multiple the maximum value among the above-mentioned second lower boundaries; determining the above-mentioned target lower boundary as the lower boundary of the data from the above-mentioned first target data to the data in the above-mentioned Mth cluster; wherein, in each preset data dimension, calculating the lower boundary between the above-mentioned first target data and the VA encoding of the plurality of the above-mentioned data, and obtaining a plurality of first lower boundaries, including: determining the component of the above-mentioned first target data in each of the above-mentioned preset data dimensions, and obtaining a plurality of the above-mentioned components, wherein the above-mentioned components are used to represent the proportion of the above-mentioned first target data in the above-mentioned preset data dimensions; determining the data interval where the VA encoding of each of the above-mentioned data is located, wherein the above-mentioned data interval is an interval among the plurality of data intervals of the above-mentioned target data set in each of the above-mentioned preset data dimensions; comparing each of the above-mentioned components with the lower boundary of the data interval where the VA encoding of each of the above-mentioned data is located, and obtaining a first comparison result; comparing each of the above-mentioned components with the upper boundary of the data interval where the VA encoding of each of the above-mentioned data is located, and obtaining a second comparison result; determining the lower boundary between the above-mentioned first target data and the VA encoding of the plurality of the above-mentioned data in each preset data dimension based on the above-mentioned first comparison result and the above-mentioned second comparison result, and obtaining a plurality of the above-mentioned first lower boundaries.

[0012] In an exemplary embodiment, determining the second target data from the first target cluster includes: calculating the distance between the first target data and each data in the first target cluster to obtain multiple second distances; deleting data with a distance less than the first lower bound from the first target cluster according to the multiple second distances to obtain a third target cluster; sorting the data in the third target cluster based on the distance between the first target data and N data in the third target cluster, where N is a natural number greater than or equal to 1; traversing the N data according to the sorting result, and determining the data with the largest distance from the first target data among the N data as the second target data.

[0013] In an exemplary embodiment, traversing the N data according to the sorting result, determining the data with the largest distance from the first target data among the N data as the second target data, includes: traversing the N data according to the sorting result, calculating the distance between the first target data and the Nth data, and obtaining a third distance; when the third distance is greater than or equal to the fourth distance, determining the Nth data as the second target data, wherein the fourth distance is the distance between the first target data and the N-1th data, and the N-1th data is data adjacent to the Nth data.

[0014] According to another embodiment of the present application, a data determination device is provided, comprising: a first generating module, for generating M clusters of a target data set, wherein each of the above clusters includes a plurality of data, the above data is vector representation data obtained by vector conversion of unstructured data, and the above M is a positive integer greater than 1; a first sorting module, for performing a sorting operation on the M clusters based on an upper bound between the first target data and each of the above clusters, to obtain M sorted clusters, wherein the above upper bound is used to represent the maximum distance between the above first target data and the data in the above clusters, and the above first target data is vector representation data obtained by vector conversion of the first unstructured data; a first determining module, for sorting the M clusters according to the first lower bound; The first target cluster is determined based on the comparison result between the first lower bound and the first upper bound, wherein the first lower bound is the minimum distance between the first target data and the data in the second target cluster, the data included in the second target cluster is the data screened from the M-1th cluster, the first upper bound is the maximum distance between the first target data and the data in the Mth cluster, and the Mth cluster and the M-1th cluster are adjacent clusters in the M sorted clusters; a second determination module is used to determine the second target data from the first target cluster, wherein the second target data is the data in the first target cluster with the largest distance from the first target data, and the second target data is the data in the target data set.

[0015] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any one of the above method embodiments when running.

[0016] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0017] Through this application, M clusters of the target data set are generated, and the upper bound between the first target data and each cluster is determined by using the distance between the first target data and the cluster center data and the radius of the cluster, and the clusters are sorted according to the above upper bounds. The first target cluster is determined by cyclically comparing the maximum distance between the first target data and the data in the Mth cluster and the minimum distance between the first target data and the data in the first M-1 clusters, and the first screening is completed; then, for the first target cluster, the data whose distance to the first target data is less than the first lower bound is deleted to obtain the third target cluster, and the second screening is completed; finally, the data with the largest distance between the first target data and the N data in the third target cluster is determined to obtain the second target data, and the final data search operation is completed. Therefore, the problem of inaccurate results when searching for the data farthest from the target data in the related art can be solved, and the effect of improving the accuracy of data screening is achieved. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 is a schematic diagram of a hardware environment of a method for determining data according to an embodiment of the present application;

[0019] Figure 2 is a flow chart of a method for determining data according to an embodiment of the present application;

[0020] Figure 3 is a schematic diagram of determining image data according to an embodiment of the present application;

[0021] Figure 4 It is a structural block diagram of a data determination device according to an embodiment of the present application. DETAILED DESCRIPTION

[0022] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0023] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0024] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 Schematic diagram of the hardware environment of a method for determining data in an embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1 The server device includes a processor 102 (only one is shown) (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the server device may also include a transmission device 106 and an input / output device 108 for communication functions. A person skilled in the art can understand that Figure 1 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.

[0025] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the method for determining data in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0026] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the server device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0027] In this embodiment, a method for determining data is provided. Figure 2is a flow chart of a method for determining data according to an embodiment of the present application. Figure 2 As shown, the process includes the following steps:

[0028] Step S202, generating M clusters of the target data set, wherein each of the above clusters includes a plurality of data, the above data is vector representation data obtained by vector conversion of unstructured data, and the above M is a positive integer greater than 1;

[0029] Step S204: performing a sorting operation on the M clusters based on an upper bound between the first target data and each cluster to obtain M sorted clusters, wherein the upper bound is used to represent the maximum distance between the first target data and the data in the cluster, and the first target data is vector representation data obtained by performing vector conversion on the first unstructured data;

[0030] Step S206, determining the first target cluster according to the comparison result between the first lower bound and the first upper bound, wherein the first lower bound is the minimum distance between the first target data and the data in the second target cluster, the data included in the second target cluster is the data screened from the M-1th cluster, the first upper bound is the maximum distance between the first target data and the data in the Mth cluster, and the Mth cluster and the M-1th cluster are adjacent clusters in the M sorted clusters;

[0031] Step S208, determining second target data from the first target cluster, wherein the second target data is data in the first target cluster with the largest distance from the first target data, and the second target data is data in the target data set.

[0032] Optionally, the data in the target data set in this embodiment is vector representation data obtained after performing a vector conversion operation on multiple unstructured data. The unstructured data includes but is not limited to: text data, image data, video data, audio data, web page data, log files, scientific data, geospatial data, sensor data, social media data, etc.

[0033] Optionally, the method for performing vector conversion on unstructured data to obtain vector representation data in this embodiment includes but is not limited to: text data can use the bag-of-words model to convert text into word frequency vectors; image data can directly use the pixel value of the image as a vector, use SIFT, SURF and other algorithms to extract image features, and use a pre-trained convolutional neural network (CNN) to extract image features; audio data can use Fourier transform to convert audio signals into frequency domain features, and use pre-trained audio processing models such as WaveNet; video data can perform frame extraction, process each frame in the video as an image, and then merge vectors or use pre-trained video processing models such as 3D CNN; social media data can convert text into vectors of sentiment tendencies, and use algorithms such as LDA to extract topic vectors.

[0034] Optionally, the upper bound in this embodiment is used to represent the maximum distance between the first target data and the data in the cluster, the above distance is the Euclidean distance between vectors, and the upper bound is greater than or equal to the maximum distance in the actual distance between the target data and the data in the cluster.

[0035] Optionally, the first lower bound in this embodiment is the minimum distance between the first target data and the data in the second target cluster, and the lower bound is less than or equal to the minimum distance of the actual distance between the first target data and the data in the target cluster. Optionally, the method in this embodiment can be applied to a scene where searching is performed based on an image. Figure 3 The present invention is a schematic diagram of determining image data according to an embodiment of the present application. Feature extraction is performed on the original image set to obtain its corresponding feature vector set, and an index structure is constructed to obtain a target data set. When the input object is an image, feature extraction is performed on it and converted into a feature vector to obtain the first target data. Then, the data determination method in the present scheme is used to generate M clusters of the target data set. Based on the upper bound between the first target data and each cluster, a sorting operation is performed on the M clusters to obtain M sorted clusters. The comparison result between the minimum distance between the first target data and the data in the M-1th cluster and the maximum distance between the first target data and the data in the Mth cluster is cyclically compared to determine the first target cluster. Then, the distance between the first target data and each data in the first target cluster is calculated, and the data with a distance less than the first lower bound is deleted to obtain the third target cluster. Finally, the actual distance between the first target data and the data in the third target cluster is calculated, and the above actual distance is compared to determine the farthest neighbor data of the first target data from the third target cluster to obtain the second target data.

[0036] Through this application, M clusters of the target data set are generated, and the upper bound between the first target data and each cluster is determined by using the distance between the first target data and the cluster center data and the radius of the cluster, and the clusters are sorted according to the above upper bounds. The first target cluster is determined by cyclically comparing the maximum distance between the first target data and the data in the Mth cluster and the minimum distance between the first target data and the data in the first M-1 clusters, and the first screening is completed; then, for the first target cluster, the data whose distance to the first target data is less than the first lower bound is deleted to obtain the third target cluster, and the second screening is completed; finally, the data with the largest distance between the first target data and the N data in the third target cluster is determined to obtain the second target data, and the final data search operation is completed. Therefore, the problem of inaccurate results when searching for the data farthest from the target data in the related art can be solved, and the effect of improving the accuracy of data screening is achieved.

[0037] In an exemplary embodiment, generating M clusters of a target data set includes: obtaining an original data set, wherein the original data set includes a plurality of the unstructured data; performing vector conversion operations on the plurality of the unstructured data to obtain the target data set, wherein the vector conversion operation includes converting a data feature of each of the unstructured data into a feature vector; counting the value range of the data in the target data set on a plurality of preset data dimensions, and dividing the value range on each of the preset data dimensions into 2 N intervals, wherein the above N is a positive integer greater than or equal to 1; based on the 2 included in each of the above preset data dimensions of the above target data set N intervals, perform clustering operations on the data in the target data set, and obtain M clusters.

[0038] Optionally, the types of unstructured data in the original data set in this embodiment have been described above and will not be repeated here.

[0039] Optionally, the method for performing vector conversion on unstructured data to obtain vector representation data in this embodiment has been described above and will not be repeated here.

[0040] Optionally, in this embodiment, a clustering operation is performed on the data in the target data set to obtain M clusters, and the clustering algorithm used includes but is not limited to a K-means algorithm, a hierarchical clustering algorithm, a DBSCAN algorithm, and the like.

[0041] Optionally, taking the K-means algorithm as an example, since the target data set is large and high-dimensional, the target data set is first divided into 2 under each preset data dimension. N interval, with 2 NThe data center corresponding to the interval is used as the initial cluster center, and K (a positive integer greater than 1) clusters are generated from it. The cluster center is then continuously updated and the corresponding cluster is regenerated until the cluster center no longer changes significantly or the preset number of iterations is reached, and M clusters are obtained.

[0042] Through this application, unstructured data is converted into feature vectors, and a clustering algorithm is used to generate M clusters of the target data set, which facilitates the operation of unstructured data and provides a basis for the subsequent first rough screening.

[0043] In an exemplary embodiment, based on the upper bound between the first target data and each of the above-mentioned clusters, a sorting operation is performed on the above-mentioned M clusters, and before obtaining the M sorted clusters, the above-mentioned method also includes: for each of the above-mentioned clusters, the following operations are performed to determine the upper bound between the above-mentioned first target data and each of the above-mentioned clusters: the distance between the central data in the above-mentioned cluster and the boundary data in the above-mentioned cluster is calculated to obtain the radius of the above-mentioned cluster; the distance between the above-mentioned first target data and the above-mentioned central data is calculated to obtain the first distance; the sum of the above-mentioned first distance and the above-mentioned radius is determined as the upper bound between the above-mentioned first target data and the above-mentioned cluster.

[0044] Optionally, the distance between the central data in the cluster and the boundary data in the cluster in this embodiment is used to obtain the radius of the cluster. The specific operation steps are as follows: determine the central data of the cluster according to the cluster center used when determining the cluster as mentioned above, determine the boundary data in the cluster according to the interval corresponding to this cluster, calculate the distance between the two (Euclidean distance), and determine the radius of the cluster.

[0045] Through this application, the radius of the cluster is determined by using the cluster center and the cluster boundary, and the upper bound between the first target data and the cluster is determined in combination with the distance between the first target data and the cluster center, providing data support for subsequent comparisons. At the same time, this method is used instead of directly calculating the distance between the first target data and the data in the cluster to further determine the maximum distance, which reduces the overhead required for calculation and saves time.

[0046] In an exemplary embodiment, the first target cluster is determined according to the comparison result between the first lower bound and the first upper bound, including: when it is determined from the comparison result that the first lower bound is smaller than the first upper bound, calculating the lower bound between the first target data and the data in the Mth cluster to obtain a second lower bound, wherein the second lower bound is used to represent the minimum distance between the first target data and the data in the Mth cluster; when it is determined that the second lower bound is larger than the first lower bound, updating the first lower bound to the second lower bound, and storing the data in the Mth cluster in the second target cluster to obtain the first target cluster.

[0047] Optionally, in the step of calculating the lower bound between the first target data and the data in the Mth cluster to obtain the second lower bound in this embodiment, VA coding of the data in the Mth cluster is used.

[0048] Through the present application, the upper bound of the Mth cluster is cyclically compared with the maximum value of the lower bound determined from the M-1 clusters to determine whether to add the Mth cluster to the first target cluster, thereby achieving the first rough screening, narrowing the range of clusters where the second target data exists, and reducing the subsequent need to accurately calculate the distance from the first target data to the data in the cluster. The clusters required for use save overhead.

[0049] In an exemplary embodiment, when it is determined from the comparison result that the first lower bound is smaller than the first upper bound, the lower bound between the first target data and the data in the Mth cluster is calculated to obtain a second lower bound, including: determining the VA codes of the multiple data included in the Mth cluster, wherein the VA codes are used to represent the numbering sequence of the intervals into which the data in the Mth cluster falls in each preset data dimension; in each preset data dimension, calculating the lower bound between the first target data and the VA codes of the multiple data to obtain multiple first lower bounds, wherein the preset data dimension is used to represent the value range of the data in the target data set, and the first lower bound is used to represent the minimum distance of the lower bound between the VA codes of the first target data and the first data, and the first data is any one of the multiple data; calculating the sum of the multiple first lower bounds to obtain the second lower bound of the first target data in each of the preset data dimensions; comparing the multiple second lower bounds of the first target data in the multiple preset data dimensions to obtain a target lower bound, wherein the target lower bound is used to represent multiple the maximum value among the above-mentioned second lower boundaries; determining the above-mentioned target lower boundary as the lower boundary of the data from the above-mentioned first target data to the data in the above-mentioned Mth cluster; wherein, in each preset data dimension, calculating the lower boundary between the above-mentioned first target data and the VA encoding of the plurality of the above-mentioned data, and obtaining a plurality of first lower boundaries, including: determining the component of the above-mentioned first target data in each of the above-mentioned preset data dimensions, and obtaining a plurality of the above-mentioned components, wherein the above-mentioned components are used to represent the proportion of the above-mentioned first target data in the above-mentioned preset data dimensions; determining the data interval where the VA encoding of each of the above-mentioned data is located, wherein the above-mentioned data interval is an interval among the plurality of data intervals of the above-mentioned target data set in each of the above-mentioned preset data dimensions; comparing each of the above-mentioned components with the lower boundary of the data interval where the VA encoding of each of the above-mentioned data is located, and obtaining a first comparison result; comparing each of the above-mentioned components with the upper boundary of the data interval where the VA encoding of each of the above-mentioned data is located, and obtaining a second comparison result; determining the lower boundary between the above-mentioned first target data and the VA encoding of the plurality of the above-mentioned data in each preset data dimension based on the above-mentioned first comparison result and the above-mentioned second comparison result, and obtaining a plurality of the above-mentioned first lower boundaries.

[0050] Optionally, in this embodiment, the steps of determining the VA coding of the multiple data S included in the Mth cluster are as follows: In the above steps, the value range of the target data set in each dimension is counted [L i ,u i ] and divide the value range of each dimension into 2 b intervals (b is a positive integer), and the boundaries of all intervals in all dimensions are stored in the boundary table T BIn each dimension, all intervals are numbered 0, 1, ..., 2. b -1, for a data X in the cluster, calculate the interval that X falls into in each dimension, and connect the numbers of all intervals to form the VA code of X

[0051]

[0052] Optionally, the step of determining the components of the first target data in each preset data dimension in this embodiment may be: standardizing the first target data so that the features of each dimension have the same scale, which can be achieved through Z-score standardization (subtracting the mean and dividing by the standard deviation) or minimum-maximum standardization (scaling the features to between 0 and 1); then using feature extraction techniques, such as principal component analysis (PCA) or linear discriminant analysis (LDA), to determine the principal components or discriminant components of the first target data in each dimension; for PCA, calculating the eigenvectors and eigenvalues ​​of the covariance matrix, wherein the eigenvectors represent the principal component directions of the first target data in different dimensions, and the eigenvalues ​​represent the variance of each principal component; according to the size of the eigenvalues, selecting the eigenvectors corresponding to the first few largest eigenvalues ​​as the main components of the data, which capture the main changes in the data set; projecting the original first target data into the principal component space, that is, transforming the original first target data through the eigenvector matrix to obtain the components of the first target data in each dimension.

[0053] Optionally, the method for calculating the lower bound between the first target data and the data in the Mth cluster in this embodiment is described by taking the lower bound between the first target data and the data X in the Mth cluster as an example:

[0054] For each dimension i, let q i Represents the component of the first target data q in the i-th dimension, and calculates q in each dimension i The square of the distance to each boundary is stored in the distance table T = {t i,j}, where T is a two-dimensional array containing d×(2 b +1) distance square, t i,j Indicates that in i dimension q i The square of the distance to the jth boundary; let b i,j , b i,j+1 Respectively represent the VA code C of the data X in the Mth cluster X At the lower and upper boundaries of the interval falling in the i-th dimension, the VA code C of the first target data q on the i-th dimension to the data X in the M-th cluster is calculated based on the distance table T in the following way: X The lower bound distance lb i :

[0055] If bi,j <q i <bi ,j+1 , then lbi=0;

[0056] If q i ≤ b i,j , then lb i =t i,j ;

[0057] If q i ≥ b i,j+1 , then lb i =t i,j+1 ;

[0058] Sum the lower bounds on all dimensions to get the VA encoding C of the first target data q to the data X in the Mth cluster X The lower bound of

[0059] Through the present application, the lower boundary of the VA coding from the first target data to the data in the Mth cluster is calculated and the maximum value of the lower boundary of the VA coding from the first target data to the data in the Mth cluster is obtained by comparison, thereby determining the lower boundary of the first target data to the data in the Mth cluster. Since the lower boundary of the first target data to the data in the Mth cluster calculated in this step is not the accurate actual distance, it lays the foundation for the subsequent second rough screening. At the same time, this method is used instead of directly calculating the distance between the first target data and the data in the cluster and then further determining the maximum distance, which reduces the overhead required for calculation and saves time.

[0060] In an exemplary embodiment, determining the second target data from the first target cluster includes: calculating the distance between the first target data and each data in the first target cluster to obtain multiple second distances; deleting data with a distance less than the first lower bound from the first target cluster according to the multiple second distances to obtain a third target cluster; sorting the data in the third target cluster based on the distance between the first target data and N data in the third target cluster, where N is a natural number greater than or equal to 1; traversing the N data according to the sorting result, and determining the data with the largest distance from the first target data among the N data as the second target data.

[0061] Optionally, the distance obtained by calculating the distance between the first target data and each data in the first target cluster in this embodiment is not the actual distance between the first target data and each data in the first target cluster.

[0062] Optionally, the method for calculating the distance between the first target data and each data in the first target cluster in this embodiment is described by taking the distance between the first target data and the data X in the first target cluster as an example:

[0063] For each dimension i, let q i Represents the component of the first target data q in the i-th dimension, and calculates q in each dimension i The square of the distance to each boundary is stored in the distance table T = {t i,j}, where T is a two-dimensional array containing d×(2 b +1) distance square, t i,j Indicates that in i dimension q i The square of the distance to the jth boundary; let b i,j , b i,j+1 Respectively represent the VA code C of the data X in the Mth cluster X At the lower and upper boundaries of the interval falling in the i-th dimension, the VA code C of the first target data q on the i-th dimension to the data X in the M-th cluster is calculated based on the distance table T in the following way: X The distance i :

[0064] If b i,j <q i <b i,j+1 , then ub i =max(t i,j t i,j+1 );

[0065] If q i ≤ b i,j , then ub i =t i,j+1 ;

[0066] If q i ≥ b i,j+1 , then ub i =t i,j ;

[0067] Sum the distances on all dimensions to get the VA encoding C of the first target data q to the data X in the Mth cluster X The distance

[0068] Through the present application, the upper boundary of the VA encoding of the first target data to the data in the first target cluster is calculated and the distance between the first target data and each data in the first target cluster is obtained thereby. The second rough screening is achieved by comparing and deleting the data in the first target cluster whose distance is less than the first lower boundary. Since the distance from the first target data to the data in the first target cluster calculated in this step is not the accurate actual distance, this method is used instead of directly calculating the distance between the first target data and the data in the cluster and then further determining the maximum distance, thereby reducing the overhead required for the calculation. The second rough screening further narrows the cluster range where the second target data is located, thereby reducing the time required for "calculating the distance from the first target data to the data in the third target cluster" in the subsequent step.

[0069] In an exemplary embodiment, traversing the N data according to the sorting result, determining the data with the largest distance from the first target data among the N data as the second target data, includes: traversing the N data according to the sorting result, calculating the distance between the first target data and the Nth data, and obtaining a third distance; when the third distance is greater than or equal to the fourth distance, determining the Nth data as the second target data, wherein the fourth distance is the distance between the first target data and the N-1th data, and the N-1th data is data adjacent to the Nth data.

[0070] Optionally, in this embodiment, the distance between the first target data and the Nth data is calculated, and the obtained third distance is the actual distance between the first target data and the Nth data, and this distance is the Euclidean distance.

[0071] For example, the first target data q and the i-th data x i The distance between them is defined as ||q,x i ||, let FN be the second target data, that is, let the distance between FN and the first target data be the data with the maximum distance, calculate the first target data q and the i-th data x N The distance between them gives the third distance ||q,x i ||, calculate the first target data q and the i-1th data x i-1 The distance between them gives the third distance ||q,x i-1 ||, if ||q,x i ||>||q,x i-1 ||, then let FN = x i , loop comparison until the comparison is completed || q, x N-1 || and ||q,x N ||'s size.

[0072] Through the present application, the actual distance between the first target data and the data in the third cluster is cyclically compared to determine the final second target data, thereby achieving the effect of determining the data farthest from the first target data. At the same time, the amount of data in the third cluster involved in this calculation step is smaller than the amount of data in the target data set, and the calculation overhead is smaller.

[0073] According to another embodiment of the present application, a data determination device is provided, comprising: a first generating module, for generating M clusters of a target data set, wherein each of the above clusters includes a plurality of data, the above data is vector representation data obtained by vector conversion of unstructured data, and the above M is a positive integer greater than 1; a first sorting module, for performing a sorting operation on the M clusters based on an upper bound between the first target data and each of the above clusters, to obtain M sorted clusters, wherein the above upper bound is used to represent the maximum distance between the above first target data and the data in the above clusters, and the above first target data is vector representation data obtained by vector conversion of the first unstructured data; a first determining module, for sorting the M clusters according to the first lower bound; The first target cluster is determined based on the comparison result between the first lower bound and the first upper bound, wherein the first lower bound is the minimum distance between the first target data and the data in the second target cluster, the data included in the second target cluster is the data screened from the M-1th cluster, the first upper bound is the maximum distance between the first target data and the data in the Mth cluster, and the Mth cluster and the M-1th cluster are adjacent clusters in the M sorted clusters; a second determination module is used to determine the second target data from the first target cluster, wherein the second target data is the data in the first target cluster with the largest distance from the first target data, and the second target data is the data in the target data set.

[0074] Optionally, the data in the target data set in this embodiment is vector representation data obtained after performing a vector conversion operation on multiple unstructured data. The types of unstructured data have been described above and will not be repeated here.

[0075] Optionally, the method for performing vector conversion on unstructured data to obtain vector representation data in this embodiment has been described above and will not be repeated here.

[0076] Through the present application, a data determination device is used to generate M clusters of a target data set, determine the upper bound between the first target data and each of the clusters, and sort the clusters according to the upper bounds. The first target cluster is determined by cyclically comparing the maximum distance between the first target data and the data in the Mth cluster and the minimum distance between the first target data and the data in the first M-1 clusters, completing the first rough screening; finally, the second target data is determined from the first target cluster to complete the data search operation. Therefore, the problem of inaccurate results when searching for the data farthest from the target data in the related art can be solved.

[0077] It should be noted that, through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a disk, or an optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0078] In the present embodiment, a data determination device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware is also possible and conceived.

[0079] Figure 4 is a structural block diagram of a data determination device according to an embodiment of the present application, such as Figure 4 As shown, the device comprises:

[0080] A generating module 42, configured to generate M clusters of the target data set, wherein each of the above clusters includes a plurality of data, the above data is vector representation data obtained by performing vector conversion on the unstructured data, and the above M is a positive integer greater than 1;

[0081] A sorting module 44 is used to perform a sorting operation on the M clusters based on an upper bound between the first target data and each of the clusters to obtain M sorted clusters, wherein the upper bound is used to represent a maximum distance between the first target data and the data in the cluster, and the first target data is vector representation data obtained by performing vector conversion on the first unstructured data;

[0082] A first determination module 46 is configured to determine a first target cluster according to a comparison result between a first lower bound and a first upper bound, wherein the first lower bound is a minimum distance between the first target data and data in a second target cluster, the data included in the second target cluster is data screened from the M-1th cluster, the first upper bound is a maximum distance between the first target data and data in the Mth cluster, and the Mth cluster and the M-1th cluster are adjacent clusters in the M sorted clusters;

[0083] The second determination module 48 is used to determine the second target data from the first target cluster, wherein the second target data is the data with the largest distance from the first target data in the first target cluster, and the second target data is the data in the target data set.

[0084] In an exemplary embodiment, the generation module 42 includes: a first acquisition unit, used to acquire an original data set, wherein the original data set includes a plurality of the unstructured data; a first conversion module, used to perform vector conversion operations on the plurality of the unstructured data to obtain the target data set, wherein the vector conversion operation includes converting the data features of each of the unstructured data into a feature vector; a first division unit, which counts the value ranges of the data in the target data set on a plurality of preset data dimensions, and divides the value ranges on each of the preset data dimensions into two N intervals, wherein the above N is a positive integer greater than or equal to 1; the first clustering unit is used to cluster the 2 N intervals, perform clustering operations on the data in the target data set, and obtain M clusters.

[0085] In an exemplary embodiment, the sorting module 44 includes: a first calculation unit, used to calculate the distance between the central data in the cluster and the boundary data in the cluster to obtain the radius of the cluster; a second calculation unit, used to calculate the distance between the first target data and the central data to obtain the first distance; a first determination unit, used to determine the sum of the first distance and the radius as the upper bound between the first target data and the cluster.

[0086] In an exemplary embodiment, the first determination module 46 includes: a third calculation unit, for calculating the lower bound between the first target data and the data in the Mth cluster when it is determined from the comparison result that the first lower bound is smaller than the first upper bound, and obtaining a second lower bound, wherein the second lower bound is used to represent the minimum distance between the first target data and the data in the Mth cluster; and a first update unit, for updating the first lower bound to the second lower bound when it is determined that the second lower bound is larger than the first lower bound, and storing the data in the Mth cluster in the second target cluster, and obtaining the first target cluster.

[0087] In an exemplary embodiment, the first determination module 46 further includes: a second determination unit, for determining the VA codes of the multiple data included in the Mth cluster, wherein the VA codes are used to represent the numbering sequence of the intervals into which the data in the Mth cluster falls in each preset data dimension; a fourth calculation unit, for calculating the lower boundary between the first target data and the VA codes of the multiple data in each preset data dimension, to obtain multiple first lower boundaries, wherein the preset data dimension is used to represent the value range of the data in the target data set, the first lower boundary is used to represent the minimum distance of the lower boundary between the first target data and the VA code of the first data, and the first data is any one of the multiple data; a fifth calculation unit, for calculating the sum of the multiple first lower boundaries, to obtain the second lower boundary of the first target data in each of the preset data dimensions; a first comparison unit, for comparing the multiple second lower boundaries of the first target data in the multiple preset data dimensions, to obtain the target lower boundary, wherein the target lower boundary is used to represent the maximum value of the multiple second lower boundaries; a third determination unit, for calculating the sum of the multiple first lower boundaries, to obtain the second lower boundary of the first target data in each of the preset data dimensions; a first comparison unit, for comparing the multiple second lower boundaries of the first target data in the multiple preset data dimensions, to obtain the target lower boundary, wherein the target lower boundary is used to represent the maximum value of the multiple second lower boundaries; Unit, used to determine the target lower boundary as the lower boundary of the data from the first target data to the Mth cluster; wherein the fourth calculation unit also includes: a fourth determination subunit, used to determine the component of the first target data in each of the preset data dimensions, and obtain multiple components, wherein the components are used to represent the proportion of the first target data in the preset data dimensions; a fifth determination subunit, used to determine the data interval where the VA code of each of the data is located, wherein the data interval is an interval among the multiple data intervals of the target data set in each of the preset data dimensions; a second comparison subunit, used to compare each of the components with the lower boundary of the data interval where the VA code of each of the data is located, and obtain a first comparison result; a third comparison subunit, used to compare each of the components with the upper boundary of the data interval where the VA code of each of the data is located, and obtain a second comparison result; a fifth determination subunit, used to determine the lower boundary between the first target data and the VA code of the multiple data in each preset data dimension based on the first comparison result and the second comparison result, and obtain multiple first lower boundaries.

[0088] In an exemplary embodiment, the second determination module 48 includes: a sixth calculation unit, used to calculate the distance between the first target data and each data in the first target cluster to obtain multiple second distances; a first deletion unit, used to delete data whose distance is less than the first lower bound from the first target cluster according to the multiple second distances to obtain a third target cluster; a first sorting unit, used to sort the data in the third target cluster based on the distance between the first target data and N data in the third target cluster, where N is a natural number greater than or equal to 1; a fifth determination unit, used to traverse the N data according to the sorting result, and determine the data with the largest distance from the first target data among the N data as the second target data.

[0089] In an exemplary embodiment, the second determination module 48 also includes: a seventh calculation unit, used to traverse the N data according to the sorting result, calculate the distance between the first target data and the Nth data, and obtain a third distance; a sixth determination unit, used to determine the Nth data as the second target data when the third distance is greater than or equal to the fourth distance, wherein the fourth distance is the distance between the first target data and the N-1th data, and the N-1th data is data adjacent to the Nth data.

[0090] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0091] The embodiment of the present application also provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when it is run. In an exemplary embodiment, the above computer-readable storage medium may include, but is not limited to: a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk, and other media that can store computer programs.

[0092] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0093] In an exemplary embodiment, 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.

[0094] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.

[0095] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.

[0096] The embodiments of the present application also provide a computer program, which includes computer instructions, which are stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps of any one of the above method embodiments.

[0097] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0098] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0099] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A method for determining data, characterized in that: include: Generate M clusters of the target data set, wherein each of the clusters includes a plurality of data, the data is vector representation data obtained by vector conversion of unstructured data, and M is a positive integer greater than 1; Based on the upper bound between the first target data and each of the clusters, a sorting operation is performed on the M clusters to obtain M sorted clusters, wherein the upper bound is used to represent the maximum distance between the first target data and the data in the cluster, and the first target data is vector representation data obtained by vector conversion of the first unstructured data; according to the comparison result between the first lower bound and the first upper bound, the first target cluster is determined, wherein the first lower bound is the minimum distance between the first target data and the data in the second target cluster, the data included in the second target cluster is the data screened from the M-1th cluster, the first upper bound is the maximum distance between the first target data and the data in the Mth cluster, and the Mth cluster and the M-1th cluster are adjacent clusters in the M sorted clusters; Determine second target data from the first target cluster, wherein the second target data is data in the first target cluster having the largest distance from the first target data, and the second target data is data in the target data set.

2. The method according to claim 1, characterized in that Generate M clusters of the target data set, including: Acquire an original data set, wherein the original data set includes a plurality of the unstructured data; Performing a vector conversion operation on each of the plurality of unstructured data to obtain the target data set, wherein the vector conversion operation includes converting a data feature of each of the unstructured data into a feature vector; Count the value ranges of the data in the target data set on multiple preset data dimensions, and divide the value range on each preset data dimension into 2 N intervals, wherein N is a positive integer greater than or equal to 1; Based on the 2 included in each of the preset data dimensions of the target data set N intervals, performing a clustering operation on the data in the target data set to obtain M clusters.

3. The method according to claim 1, characterized in that: Before performing a sorting operation on the M clusters based on an upper bound between the first target data and each of the clusters to obtain the M sorted clusters, the method further includes: For each of the clusters, the following operations are performed to determine an upper bound between the first target data and each of the clusters: Calculating the distance between the center data in the cluster and the boundary data in the cluster to obtain the radius of the cluster; Calculating the distance between the first target data and the center data to obtain a first distance; The sum of the first distance and the radius is determined as an upper bound between the first target data and the cluster.

4. The method according to claim 1, characterized in that: According to the comparison result between the first lower bound and the first upper bound, determining the first target cluster includes: In the case that it is determined from the comparison result that the first lower bound is smaller than the first upper bound, calculating a lower bound between the first target data and the data in the M-th cluster to obtain a second lower bound, wherein the second lower bound is used to represent a minimum distance between the first target data and the data in the M-th cluster; When it is determined that the second lower bound is greater than the first lower bound, the first lower bound is updated to the second lower bound, and the data in the Mth cluster is stored in the second target cluster to obtain the first target cluster.

5. The method according to claim 4, characterized in that When it is determined from the comparison result that the first lower bound is smaller than the first upper bound, calculating a lower bound between the first target data and the data in the Mth cluster to obtain a second lower bound includes: Determine VA codes of the plurality of data included in the M-th cluster, wherein the VA codes are used to represent a sequence of numbers of intervals into which the data in the M-th cluster falls on each preset data dimension; In each preset data dimension, a lower boundary between the first target data and the VA codes of the plurality of the data is calculated to obtain a plurality of first lower boundaries, wherein the preset data dimension is used to represent a value range of the data in the target data set, the first lower boundary is used to represent a minimum distance between the first target data and the lower boundary of the VA code of the first data, and the first data is any one of the plurality of the data; Calculate the sum of multiple first lower boundaries to obtain a second lower boundary of the first target data in each of the preset data dimensions; Compare the plurality of second lower boundaries of the first target data in the plurality of the preset data dimensions to obtain a target lower boundary, wherein the target lower boundary is used to represent the maximum value of the plurality of second lower boundaries; determine the target lower boundary as the lower boundary of the data from the first target data to the Mth cluster; Wherein, in each preset data dimension, the lower boundary between the first target data and the VA codes of the plurality of the data is calculated to obtain a plurality of first lower boundaries, including: Determine a component of the first target data in each of the preset data dimensions to obtain a plurality of the components, wherein the components are used to represent a proportion of the first target data in the preset data dimension; Determine a data interval where the VA code of each of the data is located, wherein the data interval is an interval among multiple data intervals of the target data set in each of the preset data dimensions; Compare each of the components with a lower boundary of a data interval where a VA code of each of the data is located, to obtain a first comparison result; Compare each of the components with the upper boundary of the data interval where the VA code of each of the data is located, to obtain a second comparison result; Based on the first comparison result and the second comparison result, a lower boundary between the first target data and the VA encoding of the plurality of the data in each preset data dimension is determined to obtain a plurality of the first lower boundaries.

6. The method according to claim 1, characterized in that Determining second target data from the first target cluster includes: Calculating the distance between the first target data and each data in the first target cluster to obtain a plurality of second distances; According to the plurality of the second distances, data with distances less than the first lower bound are deleted from the first target cluster to obtain a third target cluster; sorting the data in the third target cluster based on the distance between the first target data and N data in the third target cluster, where N is a natural number greater than or equal to 1; The N data are traversed according to the sorting result, and the data with the largest distance from the first target data among the N data is determined as the second target data.

7. The method according to claim 6, characterized in that Traversing the N data according to the sorting result, and determining the data with the largest distance from the first target data among the N data as the second target data, comprises: Traversing the N data according to the sorting result, calculating the distance between the first target data and the Nth data, and obtaining a third distance; When the third distance is greater than or equal to the fourth distance, the Nth data is determined as the second target data, wherein the fourth distance is the distance between the first target data and the N-1th data, and the N-1th data is data adjacent to the Nth data.

8. A data determination device, characterized in that: include: A first generating module is used to generate M clusters of the target data set, wherein each of the clusters includes a plurality of data, the data is vector representation data obtained by performing vector conversion on the unstructured data, and M is a positive integer greater than 1; A first sorting module is used to perform a sorting operation on the M clusters based on an upper bound between the first target data and each of the clusters to obtain M sorted clusters, wherein the upper bound is used to represent the maximum distance between the first target data and the data in the cluster, and the first target data is vector representation data obtained by performing vector conversion on the first unstructured data; A first determination module is configured to determine a first target cluster according to a comparison result between a first lower bound and a first upper bound, wherein the first lower bound is a minimum distance between the first target data and data in a second target cluster, the data included in the second target cluster is data screened from an M-1th cluster, the first upper bound is a maximum distance between the first target data and data in an Mth cluster, and the Mth cluster and the M-1th cluster are adjacent clusters in the M sorted clusters; The second determination module is used to determine second target data from the first target cluster, wherein the second target data is data in the first target cluster with the largest distance from the first target data, and the second target data is data in the target data set.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 7 when executed by a processor.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method described in any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Abnormal data analysis method, abnormal data analysis system and storage medium

    CN114116829A

  • Text clustering method and device and electronic equipment

    CN114691868A

  • Space information interaction point location layout optimization method and device, equipment and storage medium

    CN116956624A

  • Big data retrieval method and device and readable storage medium

    CN118626693A

  • Methods, systems, articles of manufacture and apparatus for clustering vertices of an n-dimensional regular polygon using bearing angles

    US20240020945A1