Device identification method and apparatus, device, and storage medium
By using feature embedding and cross-feature analysis, probabilistic neural networks or XDeepFM models are used to identify OTT devices, solving the problems of low accuracy and efficiency in existing OTT device identification technologies and achieving more efficient OTT device management.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2021-04-13
- Publication Date
- 2026-05-22
AI Technical Summary
Existing technologies have low accuracy and efficiency in identifying OTT devices, making it difficult to effectively manage OTT devices in the network.
By acquiring device feature information, feature embedding processing is performed to generate overall feature information, and cross feature information is determined based on the overall feature information. Internet service devices are then identified using probabilistic neural networks or XDeepFM models.
It improves the accuracy and efficiency of OTT device identification, reduces the amount of computation, fully explores device feature information, and improves the efficiency and accuracy of identifying Internet service devices.
Smart Images

Figure CN113705071B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a device identification method, apparatus, device, and storage medium. Background Technology
[0002] With the development of internet technology, OTT (Over The Top) services are becoming increasingly mature. OTT refers to internet companies bypassing telecom operators to develop various video and data services based on the open internet. Users can access these OTT services through OTT devices, which refer to any device capable of supporting OTT services, such as smart TVs and streaming media boxes.
[0003] To better manage OTT devices in a network, it's necessary to identify them from among the network-connected devices, and then implement more effective management measures, such as pushing relevant multimedia resources to them. Related technologies rely on human experience to determine data rules for identifying OTT devices. Operators, based on business experience and understanding of the characteristics of OTT devices, set classification rules for potential "OTT devices," thereby identifying connected devices in the network and determining which ones are OTT devices.
[0004] In related technologies, the rules for identifying OTT devices are limited, resulting in low accuracy and efficiency in identifying OTT devices. Summary of the Invention
[0005] This application provides a device identification method, apparatus, device, and storage medium, which effectively improves the accuracy and efficiency of OTT device identification.
[0006] According to one aspect of the embodiments of this application, a device identification method is provided, the method comprising:
[0007] Obtain device feature information of the device to be identified;
[0008] The device feature information is subjected to feature embedding processing to generate overall feature information of the device to be identified, wherein the dimension of the overall feature information is less than or equal to the dimension of the device feature information.
[0009] Based on the overall feature information, the cross feature information of the device to be identified is determined, and the cross feature information represents the correlation between different device features of the device to be identified;
[0010] If the overall feature information and the cross feature information meet the target conditions, the device to be identified is determined to be an Internet service device.
[0011] According to one aspect of the embodiments of this application, a device identification apparatus is provided, the apparatus comprising:
[0012] The feature acquisition module is used to acquire device feature information of the device to be identified;
[0013] The feature embedding module is used to perform feature embedding processing on the device feature information to generate overall feature information of the device to be identified, wherein the dimension of the overall feature information is less than or equal to the dimension of the device feature information.
[0014] The feature cross module is used to determine the cross feature information of the device to be identified based on the overall feature information, wherein the cross feature information characterizes the correlation between different device features of the device to be identified;
[0015] The device identification module is used to determine that the device to be identified is an Internet service device when the overall feature information and the cross feature information meet the target conditions.
[0016] According to one aspect of the embodiments of this application, a computer device is provided, the computer device including a processor and a memory, the memory storing at least one instruction, at least one program, code set or instruction set, the at least one instruction, the at least one program, the code set or instruction set being loaded and executed by the processor to implement the above-described device identification method.
[0017] According to one aspect of the embodiments of this application, a computer-readable storage medium is provided, wherein the storage medium stores at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the above-described device identification method.
[0018] According to one aspect of the embodiments of this application, a computer program product or computer program is provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the aforementioned device identification method.
[0019] The technical solution provided in this application can bring the following beneficial effects:
[0020] By using feature embedding, high-dimensional discrete device features are transformed into low-dimensional dense overall features. This approach represents device features more efficiently and reduces computational load while ensuring the integrity of device feature information. Then, the cross features between features in the overall features are determined to fully mine the feature information of the device to be identified. Finally, the device to be identified is determined from both the overall features and cross features to determine whether it is an Internet service device. This improves the efficiency and accuracy of identifying Internet service devices. Attached Figure Description
[0021] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0022] Figure 1 This is a schematic diagram of an application runtime environment provided in one embodiment of this application;
[0023] Figure 2 This is a flowchart of a device identification method provided in one embodiment of this application;
[0024] Figure 3 This is a flowchart of a device identification method provided in another embodiment of this application;
[0025] Figure 4 An exemplary schematic diagram of an Internet service device identification model is shown.
[0026] Figure 5 An exemplary schematic diagram illustrates a process for identifying Internet service devices;
[0027] Figure 6 An example is shown in a line chart of operational metrics for an internet service device;
[0028] Figure 7 This is a flowchart of a training method for an Internet service device identification model and an Internet service device identification method provided in one embodiment of this application;
[0029] Figure 8 An example is shown in a line graph of data metrics for evaluating an Internet service device identification model;
[0030] Figure 9 An example is shown in the schematic diagram of the technical architecture of a device identification technology solution;
[0031] Figure 10 This is a block diagram of a device identification device provided in one embodiment of this application;
[0032] Figure 11 This is a structural block diagram of a computer device provided in one embodiment of this application. Detailed Implementation
[0033] The technical solutions in this application relate to the fields of artificial intelligence and blockchain technology, which will be described below.
[0034] Artificial Intelligence (AI) is the theory, methods, technology, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that attempts to understand the essence of intelligence and produce new intelligent machines that can react in a way similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, enabling them to possess perception, reasoning, and decision-making capabilities.
[0035] Artificial intelligence (AI) is a comprehensive discipline encompassing a wide range of fields, including both hardware and software technologies. Fundamental AI technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating / interactive systems, and mechatronics. AI software technologies primarily include computer vision, speech processing, natural language processing, and machine learning / deep learning.
[0036] Machine learning (ML) is a multidisciplinary field involving probability theory, statistics, approximation theory, convex analysis, and algorithm complexity theory. It specifically studies how computers can simulate or implement human learning behavior to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their performance. Machine learning is the core of artificial intelligence and the fundamental way to endow computers with intelligence; its applications span all areas of artificial intelligence. Machine learning and deep learning typically include techniques such as artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, and instructional learning.
[0037] Blockchain is a novel application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and cryptographic algorithms. Essentially, a blockchain is a decentralized database, a chain of data blocks linked together using cryptographic methods. Each data block contains information about a batch of network transactions, used to verify the validity of the information (anti-counterfeiting) and generate the next block. A blockchain can include an underlying platform, a platform product service layer, and an application service layer. In a narrow sense, blockchain is a chain-like data structure that combines data blocks sequentially according to time, and is a distributed ledger that is cryptographically guaranteed to be immutable and unforgeable; that is, data in a blockchain is irreversible once recorded.
[0038] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0039] Please refer to Figure 1 This diagram illustrates an application runtime environment provided in one embodiment of this application. The application runtime environment may include: terminal 10 and server 20.
[0040] Terminal 10 can be an electronic device such as a mobile phone, tablet computer, game console, e-book reader, multimedia playback device, wearable device, or PC (Personal Computer). Application clients can be installed on terminal 10.
[0041] In this embodiment, the application can be any application capable of using wireless network services. Typically, the application is a wireless network management application. Devices requiring network connectivity can establish a connection with the Internet and use corresponding Internet services through the wireless network provided in the wireless network management application. Optionally, the wireless network management application supports hundreds of millions of public wireless network hotspots, allowing terminals to connect with a single click without entering a password. The application can comprehensively evaluate these hotspots based on preset wireless network standards, considering security, connection speed, and network quality, ensuring the absence of zombie, risky, or fake wireless networks. Of course, besides wireless network management applications, other types of applications can also use wireless network services. For example, security management applications, social applications, interactive entertainment applications, virtual reality (VR) applications, augmented reality (AR) applications, 3D map applications, military simulation applications, etc., are not limited in this embodiment. Furthermore, different applications may support different user-created content and have different functions, all of which can be pre-configured according to actual needs, and are not limited in this embodiment. Optionally, the terminal 10 runs a client of the aforementioned application. In some embodiments, the above-mentioned application is an application developed based on a three-dimensional virtual environment engine, such as the Unity engine or the Unreal engine. The virtual environment engine can construct three-dimensional virtual environment animations, virtual object animations, and virtual prop animations, bringing users a more immersive application experience.
[0042] Server 20 provides background services to clients of applications in terminal 10. For example, server 20 can be a background server for the aforementioned applications. Server 20 can be a single server, a server cluster consisting of multiple servers, or a cloud computing service center. Optionally, server 20 can simultaneously provide background services to applications in multiple terminals 10.
[0043] Optionally, terminal 10 and server 20 can communicate with each other via network 30.
[0044] Before introducing the method embodiments provided in this application, a brief introduction will be given to the relevant terms or nouns that may be involved in the method embodiments of this application, so as to facilitate the understanding of those skilled in the art.
[0045] Wireless networks are networks that enable the interconnection of various communication devices without the need for cabling. Wireless network technologies cover a wide range, including global voice and data networks that allow users to establish long-distance wireless connections, as well as infrared and radio frequency technologies optimized for short-range wireless connections. Based on their coverage area, wireless networks can be classified as Wireless Wide Area Networks (WWAN), Wireless Local Area Networks (WLAN), Wireless Metropolitan Area Networks (WMAN), and Wireless Personal Area Networks (WPAN).
[0046] Wi-Fi (Wireless-Fidelity) is a technology that allows electronic devices to connect to a wireless local area network (WLAN). Connections to a WLAN are usually password protected; however, they can also be open, allowing any device within range of the WLAN to connect.
[0047] OTT (over-the-top) refers to any device or service used to stream digital content to a television or similar device. Devices typically classified as OTT include: streaming boxes (Apple TV, Amazon Fire TV, Android TV, Samsung Allshare Cast), HDMI sticks (Chromecast, Roku, Amazon Fire TV Stick), and smart TVs (via TV apps like Netflix or HBO Go).
[0048] OTT devices refer to any device capable of providing OTT services, such as smart TVs.
[0049] High Definition Multimedia Interface (HDMI) is a fully digital video and audio transmission interface that can send uncompressed audio and video signals. HDMI can be used in devices such as set-top boxes, DVD players, personal computers, televisions, game consoles, integrated amplifiers, digital audio systems, and televisions. HDMI can transmit audio and video signals simultaneously, and because audio and video signals use the same cable, it greatly simplifies system wiring installation.
[0050] An API (Application Programming Interface) is essentially a calling interface provided by the operating system for applications. Applications call the operating system's API to cause the operating system to execute the application's commands (actions).
[0051] A Software Development Kit (SDK) is a collection of development tools used by software engineers to create application software for specific software packages, software frameworks, hardware platforms, operating systems, etc. Generally speaking, an SDK is the SDK used by an application on a development platform. It can be as simple as some files that provide an application programming interface (API) for a programming language, but it may also include complex hardware that can communicate with a certain embedded system.
[0052] The Hadoop Distributed File System (HDFS) is a distributed file system designed to run on commodity hardware. It shares many similarities with existing distributed file systems. However, its differences from other distributed file systems are also significant. HDFS is a highly fault-tolerant system, suitable for deployment on inexpensive machines. HDFS provides high-throughput data access, making it suitable for applications with large-scale datasets. HDFS allows for streaming access to data within the file system.
[0053] Feature engineering is the process of transforming data into features that better represent the underlying problem, thereby improving machine learning performance. If we understand data as a vector in an n-dimensional space (where n is the number of columns), we can consider whether we can create a k-dimensional (k < n) subset that completely or almost completely represents the original data, thereby improving the speed or performance of machine learning.
[0054] Feature selection yields a subset of the original features, while feature extraction transforms the original features into new features based on a certain functional relationship, and the dimensionality of the dataset is lower than the original.
[0055] One-hot encoding is a single-bit encoding method. It uses an N-bit state register to encode N states, each with its own independent register bit, and at any given time, only one bit is active. For each feature, if it has m possible values, then after one-hot encoding, it becomes m binary features. Furthermore, these features are mutually exclusive, with only one active at a time.
[0056] NaN (Not a Number) is a type of numeric data type in computer science that represents an undefined or unrepresentable value. It is commonly used in floating-point arithmetic.
[0057] NaN encoding provides an explicit encoding for NaN values instead of ignoring them. NaN values can store information for handling missing values in features, including but not limited to methods such as "removal," "mean imputation," and "missing labeling."
[0058] Embedding refers to mapping high-dimensional raw data (images, sentences) to a low-dimensional manifold, making the high-dimensional raw data separable after mapping to the low-dimensional manifold. This mapping is called embedding. Simply put, embedding maps something to a vector. If two things are very similar, then the Euclidean distance between their corresponding vectors is small. Embedding is the feature extracted from the original data, which is the low-dimensional vector after mapping through a neural network.
[0059] Consolidation encoding maps different categorical variables to the same variable. Spelling errors, slightly different job descriptions, full names and abbreviations—real data is very messy, especially free text.
[0060] Scaling (data range scaling) scales numerical variables to a certain range.
[0061] There are many methods and techniques for handling missing values. Although there are many variations of these methods, the two main approaches are: deleting rows with missing values; and filling in missing values. Filling in missing values includes mean filling.
[0062] Exploratory data analysis (EDA) is used to identify missing values.
[0063] Standardization ensures consistent data processing by guaranteeing that all rows and columns are treated equally in machine learning.
[0064] Normalization operations aim to align rows and columns and transform them into a consistent set of rules. For example, a common form of normalization is to transform all quantitative columns into values within the same static range (e.g., all numbers are between 0 and 1).
[0065] z-score standardization is the most common standardization technique, utilizing the simple statistical concept of z-scores (standard scores). The output of z-score standardization is rescaled to have a mean of 0 and a standard deviation of 1. By scaling features and unifying the mean and variance (the square of the standard deviation), neural network models can be optimized to prevent them from favoring a larger proportion of features.
[0066] Min-max (minimum value minus maximum value) standardization is similar to z-score standardization because it also replaces each value in a column with a formula. The formula here is: m = (x - xmin) / (xmax - xmin). In this formula: m is the new value; x is the original value of the cell; xmin is the minimum value in the column; and xmax is the maximum value in the column. Using this formula, you can see that all values in each column will be between 0 and 1.
[0067] Please refer to Figure 2 The diagram illustrates a flowchart of a device identification method according to an embodiment of this application. This method can be applied to computer devices, which refer to electronic devices with data computing and processing capabilities. For example, the executing entity for each step can be... Figure 1 The application runtime environment shown is server 20. The method may include the following steps (210-240).
[0068] Step 210: Obtain device feature information of the device to be identified.
[0069] The device characteristic information includes characteristic information of the device to be identified in at least one device feature. Optionally, the device to be identified includes, but is not limited to, a wireless LAN connection device, a device with a wireless network management application installed, a device to be identified that calls an application programming interface, and a device that uses an SDK.
[0070] Obtain device data for the device to be identified. Device data includes device operation data and device profile data.
[0071] The aforementioned device operation data refers to data reflecting the device's operational status. Optionally, device operation data includes device feedback data, which refers to device behavior data returned by the device. In one possible implementation, OTT devices identified as having a high probability of failure will provide feedback on their online behavior. The data returned by these high-probability OTT devices can be stored on HDFS, and device characteristic information of the devices to be identified can be statistically analyzed periodically, either offline or online, within a target time period. Optionally, the target time period includes, but is not limited to, the period within six months, three months, one month, one week, and three days.
[0072] The aforementioned equipment profiling data refers to data reflecting equipment attributes. A rich equipment profile is constructed based on historical equipment operation data. This equipment profiling data includes, but is not limited to: basic equipment attribute data, equipment network attribute data, and equipment behavioral attribute data.
[0073] The device data undergoes data mapping processing to generate feature values corresponding to the device data. These feature values represent at least one device characteristic of the device to be identified. The mapping process refers to mapping device data into feature values according to a preset functional relationship.
[0074] For at least one device feature, target device feature data associated with the target device feature is obtained.
[0075] Determine the target mapping method corresponding to the target feature data. The target mapping method described above is a mapping method for processing the target feature data, determined from various mapping methods based on the target feature data.
[0076] According to the target mapping method, target feature data is mapped to feature values representing target device features. Optionally, the target feature data is encoded using the target mapping method to obtain feature values of the target device features. Optionally, the target feature data is embedded using the target mapping method to obtain feature values of the target device features, wherein the dimension of the feature values of the target device features is less than or equal to the dimension of the target feature data.
[0077] Based on the feature values of at least one device feature, feature values corresponding to the device data are obtained. The feature values corresponding to the device data include the feature values corresponding to each device feature.
[0078] Based on the feature values, a device feature vector is generated. Optionally, the feature values corresponding to each device feature are concatenated at preset positions to generate a device feature vector, which is the mathematical representation of the device feature information. Optionally, the device feature information includes the feature values of the device features.
[0079] Step 220: Perform feature embedding processing on the device feature information to generate overall feature information of the device to be identified.
[0080] Among them, the dimension of the overall feature information is less than or equal to the dimension of the device feature information.
[0081] The aforementioned feature embedding process refers to mapping high-dimensional discrete features to obtain low-dimensional dense features. Therefore, the dimensionality of the overall feature information of the device to be identified is less than or equal to the dimensionality of the device feature information.
[0082] In one possible implementation, feature embedding processing is performed on the data in the device feature information to generate overall feature information of the device to be identified.
[0083] For any device feature, extract the feature value corresponding to the device feature from the device feature information.
[0084] Feature value embedding is performed on the feature values of the device features to generate feature embedding vectors corresponding to the device features. These feature embedding vectors are then linearly concatenated to generate the overall feature embedding vector of the device to be identified. This overall feature embedding vector is the mathematical representation of the overall feature information.
[0085] Step 230: Based on the overall feature information, determine the cross feature information of the device to be identified.
[0086] Cross-feature information characterizes the correlation between different device features of the device to be identified.
[0087] By utilizing the feature information of each device in the overall feature information, cross-analysis is performed on the feature information of each device to explore the correlation between the feature information of each device and determine the cross-feature information of the device to be identified.
[0088] In one possible implementation, feature cross processing is performed on the feature embedding vector corresponding to the device features to generate cross feature values; based on the cross feature values, a cross feature embedding vector of the device to be identified is generated.
[0089] The aforementioned feature cross-processing includes multiplying the feature embedding vectors corresponding to each device feature to obtain a vector product between the feature embedding vectors corresponding to each device feature. The vector product varies depending on the multiplication method used. Optionally, the vector product is an inner product, and the aforementioned multiplication method corresponds to the inner product method. Optionally, the vector product is an outer product, and the aforementioned multiplication method corresponds to the outer product method.
[0090] Step 240: If the overall feature information and cross feature information meet the target conditions, determine that the device to be identified is an Internet service device.
[0091] The above target conditions are used to determine whether the device to be identified is an Internet service device based on overall feature information and cross feature information.
[0092] In one possible implementation, the target condition includes determining that the probability of the device to be identified as an Internet service device is greater than or equal to a probability threshold based on the overall feature information and cross feature information, or the Internet service device identification model outputs a model result based on the overall feature information and cross feature information to characterize the device to be identified as an Internet service device.
[0093] In summary, the technical solution provided in this application converts high-dimensional discrete device features into low-dimensional dense overall features through feature embedding. This more efficiently represents device features and reduces computational load while ensuring the integrity of device feature information. Then, it determines the cross features between features in the overall features, fully mining the feature information of the device to be identified. Finally, it determines whether the device to be identified is an Internet service device from both the overall features and cross features, improving the efficiency and accuracy of identifying Internet service devices.
[0094] Please refer to Figure 3 The diagram illustrates a flowchart of a device identification method according to another embodiment of this application. This method can be applied to computer devices, which refer to electronic devices with data computing and processing capabilities. For example, the executing entity for each step could be... Figure 1 The application runtime environment shown is server 20. The method may include the following steps (301-315).
[0095] Step 301: Obtain device data of the device to be identified.
[0096] Step 302: For at least one device feature, obtain target feature data associated with the target device feature.
[0097] Step 303: Determine the target mapping method corresponding to the target feature data.
[0098] Step 304: According to the target mapping method, the target feature data is mapped to feature values that characterize the features of the target device.
[0099] Feature processing methods can be used to process the device data of the device to be identified, thereby determining the feature information of the device in each device feature. Optionally, the above feature processing methods include one-hot encoding, non-numerical encoding, merge encoding, data range scaling processing, and embedded processing of the number of installed applications.
[0100] Optionally, for the device characteristic of whether the device to be identified has an HDMI interface, a one-hot encoding feature processing method will be selected.
[0101] Optionally, for missing values in device features, methods such as missing value removal, average value filling, or missing value labeling can be used. Experimental results show that in the Internet service device identification scenario, converting missing values into embedded value representations has a good positive effect on the identification of Internet service devices.
[0102] Optionally, when a device feature variable has multiple values, they can be summarized into a single piece of information. For example, if the device system version feature has multiple values including "4.2", "4.4", and "5.0", based on experience, these three values can be summarized as "lower version Android system". Experiments have shown that this feature summarization method brings greater positive benefits than directly one-hot encoding the "Android system version" feature.
[0103] Optionally, based on the distribution of numerical device features, an appropriate normalization method can be selected to eliminate dimensional differences between features, making the data calculation results more stable. For example, for features that conform to or approximately conform to a normal distribution, Gaussian normalization can be selected for data range scaling.
[0104] Optionally, based on the List-Embedding method, the sequence of the number of different categories of applications installed on the device to be identified is embedded and extracted, such as obtaining the embedded feature values of social networking applications installed, to obtain low-dimensional dense device features.
[0105] Count encoding, for example, can be used to identify the closeness of a device's connection to the same Wi-Fi network by indicating the number of times it connects. For instance, a device might have connected to the same Wi-Fi network 27 times in the last 31 days.
[0106] Category Embedding. Data analysis revealed that many device features exhibit strong sparsity. To avoid overfitting and improve model stability, a neural network is introduced to transform high-dimensional sparse categorical variables into low-dimensional dense embedding variables. The neural network described above is a pre-trained neural network.
[0107] Step 305: Based on the feature values of at least one device feature, obtain the feature values corresponding to the device data.
[0108] Step 306: Generate device feature vectors based on feature values.
[0109] Step 307: For any device feature, extract the feature value corresponding to the device feature from the device feature vector.
[0110] Step 308: Perform feature value embedding processing on the feature values of the device features to generate the feature embedding vector corresponding to the device features.
[0111] The feature embedding vector includes feature embedding values that characterize the features of the target device. If the number of feature embedding values is less than or equal to the number of feature values, it indicates that the feature embedding vector characterizes the device features from a lower dimension.
[0112] Step 309: Perform linear concatenation on the feature embedding vectors corresponding to the device features to generate the overall feature embedding vector of the device to be identified.
[0113] The overall feature embedding vector is the mathematical representation of the overall feature information. Optionally, the feature embedding value in the feature embedding vector corresponding to the device feature is linearly multiplied with the correlation coefficient or with the weight coefficient corresponding to the dimension of the feature embedding value, and then the linearly multiplied feature embedding vector is concatenated to generate the overall feature embedding vector of the device to be identified.
[0114] Step 310: Perform feature cross processing on the feature embedding vectors corresponding to the device features to generate cross feature values.
[0115] Cross-feature values characterize the pairwise correlations among the device features of the device to be identified.
[0116] The vector product operation is performed on each pair of the feature embedding vectors corresponding to the device features to generate a vector product. This vector product can be the cross feature value that represents the correlation between each pair of device features of the device to be identified.
[0117] Optionally, the vector product includes the inner product and the outer product.
[0118] Step 311: Generate the cross feature embedding vector of the device to be identified based on the cross feature values.
[0119] Cross-feature embedding vectors are the mathematical representation of cross-feature information.
[0120] Step 312: Perform deep feature extraction processing on the overall feature information and cross feature information to determine the probability that the device to be identified is an Internet service device.
[0121] Step 313: If the probability is greater than or equal to the probability threshold, determine that the device to be identified is an Internet service device.
[0122] Optionally, the aforementioned probability threshold is a threshold determined based on the actual application scenario, used to distinguish between internet service devices and non-internet service devices. Optionally, the aforementioned probability threshold can be adjusted or updated automatically based on the actual application scenario and feedback information from the identification device.
[0123] In an exemplary embodiment, steps 307-312 above can be achieved by constructing an Internet service device identification model based on a neural network.
[0124] In one possible implementation, the Internet service device identification model is a neural network model trained on a probabilistic neural network (PNN). This model is essentially a deep neural network (DNN) structure that uses multiplication operations to represent feature cross-operations. The biggest difference between PNN and FNN (Factorisation-machine supported Neural Networks) is that PNN does not use fully connected layers to combine low-order features; instead, it uses second-order vector multiplication layers to perform more detailed feature cross-operations. A brief introduction to PNN follows.
[0125] I. The core mathematical principles of PNN include the following two points:
[0126] (a) Suppose there are N fields, and the one-hot vector is X. Each field generates an embedding vector.
[0127] (b) The PNN model includes the following key layers:
[0128] Layer 0 (Input Layer): Discrete data, after undergoing appropriate data mapping, serves as the input to the input layer.
[0129] Layer 1 (Embedding Layer): The model learns the embedding vector representations of each type from the data in each type.
[0130] Layer 2 (Second-order vector multiplication layer): The first-order features and second-order cross features of the embedded vectors are concatenated.
[0131] II. Compared with other models, PNN has the following significant advantages:
[0132] (1) The feature embedding vectors are multiplied pairwise using a second-order vector product layer, and the result is used as the input of the MLP.
[0133] (2) PNN designs a second-order vector multiplication layer to combine features, including inner product and outer product operations, to increase the depth of feature combination and cross.
[0134] 1. For PNN in inner product form, since the result of multiplying two vectors is a scalar, the scalars can be directly "concatenated" into a large vector, which can then be used as the input of an MLP.
[0135] 2. For the outer product form of PNN, multiplying two vectors is equivalent to multiplying a column vector by a row vector, resulting in a single matrix. Directly concatenating these matrices as in the inner product form would result in too many dimensions. A simplified approach is to sum the individual matrices, using the resulting new matrix as the input to the MLP.
[0136] III. Experience in training PNN: For hidden layers, a three-layer 200-400-100 structure design is used; the Rectified Linear Unit (ReLU) is used as the activation function; during the training of deep learning networks, neural network units are temporarily dropped from the network with a certain probability, a process known as Dropout.
[0137] In one example, such as Figure 4 As shown, it exemplarily illustrates a structural schematic diagram of an Internet service device identification model. Figure 4 The Internet service device identification model in this embodiment is a neural network model trained using PNN. The device feature vector generated in step 306 of this embodiment can be input into the Internet service device identification model. The input layer of the Internet service device identification model executes step 306 of this embodiment to extract feature values corresponding to the device features from the device feature vector. Figure 4 Sub-vectors 1, 2, ..., N in the vector diagram correspond to N device features of the device to be identified. The device feature vector is a vector composed of sub-vectors 1, 2, ..., N. Step 308 in this embodiment is executed by the feature embedding layer to generate the feature embedding vector corresponding to the device features, i.e. Figure 4 The vectors are: feature embedding vector 1, feature embedding vector 2, ..., feature embedding vector N. Steps 309 to 311 in this embodiment are executed by a second-order vector multiplication layer to generate the overall feature embedding vector and the cross-feature embedding vector of the device to be identified. The overall feature embedding vector and the cross-feature embedding vector are then concatenated and input into fully connected layer 1. The vector multiplication method described above has been introduced and will not be repeated here. Step 312 in this embodiment is executed by fully connected layer 1 and fully connected layer 2 to perform deep feature extraction processing on the concatenated vector of the overall feature embedding vector and the cross-feature embedding vector, and the output layer outputs the probability that the device to be identified is an Internet service device.
[0138] In another possible implementation, the Internet service device identification model is a neural network model trained based on the XDeepFM (eXtremeDeep Factorization Machine) model. This model essentially identifies the shortcomings of the DCN (Deep & Cross Network) model through theory and experimentation, and then proposes the CIN (Compressed Interaction Network) model for optimization. A brief explanation of XDeepFM follows.
[0139] I. The core of XDeepFM's mathematical principles includes the following three points:
[0140] Organize the original input features and the hidden layers in the neural network into separate matrices, denoted as x. 0 and x k Among them, x 0 It is an m*D dimensional matrix, x k It is H k A D-dimensional matrix. Let x k First column dot product x 0 By repeating this process for the first column, an intermediate result z can be calculated. k+1 It is a three-dimensional tensor with dimensions m and H. k D. The intermediate result z k+1 As the input to the next layer of the model, H k +1 unit with dimensions m*H k The convolutional kernel generates the state of the next hidden layer, z. k+1 Each layer generates x k+1 One of the intermediate results, namely featuremap1, ..., featuremapH k+1 Here, the feature map is a vector, not a matrix. This can be understood using the feature map of a convolutional neural network, that is, the process of extracting features through convolutional kernels. However, the convolutional map here is somewhat special: it directly flattens an m*D matrix into a 1*D matrix. The final result is x. k+1 intermediate results (x) 1 x 2 ... x k ), respectively for the intermediate results (x) 1 x 2 ... x kEach feature map in the dataset undergoes sum pooling. This sum pooling is similar to max pooling, both aiming to preserve extracted high-order features, while summing is used to stack the features. After calculation, all sum pooling results are concatenated and output using the sigmoid function (S-shaped growth curve).
[0141] Second, XDeepFM has two significant advantages over other models: First, XDeepFM preserves information about both low-order and high-order interactions between features. Second, XDeepFM preserves information about interactions between latent and explicit features.
[0142] III. Experience in training XDeepFM: For hidden layers, a three-layer 200-400-100 structure design is used; the Rectified Linear Unit (ReLU) is used as the activation function; during the training of deep learning networks, neural network units are temporarily dropped from the network with a certain probability, a process known as Dropout.
[0143] In one example, such as Figure 5 As shown, it exemplarily illustrates a schematic diagram of a process for identifying Internet service devices. Figure 5 The process for identifying Internet service devices is divided into three parts: raw data accumulation, data feature engineering, and model training and evaluation.
[0144] Raw data accumulation: Log data from real-time online requests is stored in HDFS. Considering storage costs and subsequent computational efficiency, key information is extracted from the logs using Hive SQL, and redundant data is discarded.
[0145] Data feature engineering: Based on the data characteristics of the original features stored in HDFS, appropriate feature processing methods are applied. Spark and TensorFlow are chosen for feature engineering, with the following division of labor: Conventional feature engineering methods (excluding embedding) are computed using the Spark computing engine, and the results are stored in HDFS; deep learning feature engineering methods (based on embedding) are computed using the TensorFlow computing engine, and the results are stored in HDFS.
[0146] Model training and evaluation: First, features are read from HDFS and stored locally using Hive SQL. Then, modeling is performed using TensorFlow. Finally, the model is evaluated using built-in mathematical evaluation methods. The evaluation results fall into two categories: First, if the evaluation metrics are positive, the model is deployed online for A / B testing. If the A / B test also shows positive results for all business metrics, all traffic is connected for official online deployment. Second, if the evaluation metrics are negative, the model is retrained until its performance meets expectations.
[0147] Step 314: Transmit multimedia resources to the Internet service device.
[0148] Optionally, multimedia resources include multimedia advertisements.
[0149] Step 315: Obtain user feedback data on multimedia resources on Internet service devices.
[0150] Optionally, user feedback data includes the exposure and click-through rates of multimedia ads.
[0151] In one example, such as Figure 6 As shown, an example is illustrated by a line graph of operational metrics for an Internet service device. Figure 6 The line graphs 61 (ad success exposure rate) and 62 (ad click-through rate) illustrate the comparison of the business performance of OTT device identification under different models. From the line graph 61, the internet service device identification model provided in this application embodiment improves the ad success exposure rate by an average of 31.91% compared to other technical solutions; from the line graph 62, the internet service device identification model provided in this application embodiment improves the ad click-through rate by an average of 204.93% compared to other technical solutions.
[0152] In summary, the technical solution provided in this application constructs an Internet service device identification model based on a neural network. This model linearly embeds high-dimensional discrete device features into low-dimensional dense overall features, representing device features more efficiently and reducing computational load while ensuring the integrity of device feature information. Then, a non-linear vector product is applied to the overall features to obtain cross-features representing the correlation between features, fully mining the feature information of the device to be identified. Finally, the probability that the device to be identified is an Internet service device is output. The probability output by the model determines whether the device to be identified is an Internet service device, improving both the efficiency and accuracy of identifying Internet service devices and enhancing the model's reusability in multiple scenarios.
[0153] Please refer to Figure 7This document illustrates a training method for an Internet service device identification model and a flowchart of the Internet service device identification method according to an embodiment of this application. This method can be applied to computer devices, which refer to electronic devices with data computing and processing capabilities. For example, the executing entity for each step can be... Figure 1 The application runtime environment shown is server 20. The method may include the following steps (701-714).
[0154] Step 701: Obtain device log data.
[0155] Step 702: Perform feature extraction processing on the device log data to obtain device feature data.
[0156] Device data includes feature data associated with at least one device feature.
[0157] For a target device feature among at least one device feature, acquire target feature data associated with the target device feature; determine the target mapping method corresponding to the target feature data; and map the target feature data into feature values characterizing the target device feature according to the target mapping method.
[0158] Device history log data is extracted from HDFS using Spark (a distributed computing engine based on the MapReduce algorithm) or Hive SQL. Its main uses are: building positive and negative sample sets and constructing basic profile features. Specifically, this includes the following two aspects.
[0159] I. Device Behavior Feature Extraction. Historical device behavior data and historical online feedback data are extracted from HDFS using Spark or Hive (a data warehouse analysis system built on Hadoop) and SQL (Structured Query Language). The main uses are: constructing positive and negative sample sets and building basic device profile features.
[0160] II. Device Profile Extraction. From the self-built tagging system, a "device profile" is extracted, with the following specific dimensions: The device profile includes: basic device attributes, geographical location attributes, and software usage preferences. For example, basic device attributes include age and gender; basic device attributes include phone brand and phone ROM size; geographical location attributes include the province and city where the device is frequently located; and software usage preferences include the number of times social media applications have been used in the past month.
[0161] Step 703: Perform data cleaning and splicing processing on the equipment feature data.
[0162] During the reporting process, the original features are prone to issues such as field misalignment and abnormal data values. In order to ensure the effectiveness of the model training in the later stage, data cleaning is required, and the cleaned data is then spliced together.
[0163] Step 704: Perform feature extraction processing on the cleaned and spliced equipment feature data to generate equipment feature vectors.
[0164] Raw features need to be refined to better express hidden information. For example, frequency distribution can be used instead of number distribution.
[0165] Based on the feature values of at least one device feature, feature values corresponding to the device data are obtained; based on the feature values, a device feature vector is generated. The device feature vector is the mathematical representation of the device feature information.
[0166] The device operation vector and device profile vector are concatenated into a high-dimensional vector, which serves as the model input. Specifically, all features are concatenated column-wise into a high-dimensional vector. In feature processing, in addition to using common feature factory methods, this paper appropriately processes the "WLAN" and "application" features. The processing methods include: embedding the device's WLAN connection trajectory data based on the MST-CNN deep learning network to capture the feature information of the WLAN connected to the device; and embedding and extracting the traffic usage behavior sequences of different categories of applications installed on the device using List-Embedding, such as the embedding features of the usage trajectory of social applications, to obtain low-dimensional, dense device behavior features.
[0167] Step 705: Use the device feature vectors and device labels of each device as training samples to train the Internet service device identification model, and obtain the trained Internet service device identification model.
[0168] Based on existing labeled positive and negative samples, this paper implements the PNN algorithm using TensorFlow for model training. During model training, this paper accumulates experience in setting the following key parameters:
[0169] For the hidden layers, a three-layer 200-400-100 structure is used; the Rectified Linear Unit (ReLU) is used as the activation function; during the training of the deep learning network, neural network units are temporarily dropped from the network with a certain probability, a process known as Dropout.
[0170] Step 706: Conduct an offline evaluation of the trained Internet service device recognition model.
[0171] Offline model evaluation uses an industry-recognized and reasonable metric: AUC (Area Under Curve), defined as the area under the ROC curve (receiver operating characteristic curve) and the coordinate axes. Choosing AUC has the following advantages:
[0172] The AUC metric itself is unrelated to the absolute value of the model's predictions; it only focuses on the ranking effect, making it closer to the needs of actual business operations.
[0173] The AUC calculation method takes into account the learner's ability to classify both positive and negative examples, and can still make a reasonable evaluation of the classifier even in the case of imbalanced samples.
[0174] Step 707: Determine whether the model output results in the offline assessment meet the offline assessment conditions.
[0175] If so, proceed to step 708; otherwise, start from step 705.
[0176] Step 708: Conduct an online evaluation of the Internet service device identification model that has passed the offline evaluation.
[0177] Step 709: Determine whether the model output results in the online evaluation meet the online evaluation conditions.
[0178] If so, proceed to step 710; otherwise, proceed from step 705.
[0179] First, features are read from HDFS and stored locally using Hive SQL. Then, modeling is performed using TensorFlow. Finally, the model is evaluated using built-in mathematical evaluation methods, and the evaluation results are categorized into two cases:
[0180] a) If the evaluation metrics are positive, the model will be deployed online for A / B testing. If the A / B test also shows positive results for all business metrics, then all traffic will be connected for official online use.
[0181] b) If the evaluation metric is negative, the model should be retrained until the model performs as expected.
[0182] If the model fails either the offline or online evaluation, it will be retrained until all evaluation metrics pass. The direction of model tuning is as follows:
[0183] a) Select positive and negative samples with different time windows and different drill-down dimensions.
[0184] b) Perform a grid search on the key parameters of the model and select the parameter combination that yields the best results.
[0185] In one example, such as Figure 8 As shown, it exemplifies a line graph of data metrics for evaluating an Internet service device identification model. Through Figure 8 The area under the receiver operating characteristic (ROC) curve (AUC) in the offline assessment (line 81) and the area under the ROC curve (AUC) in the online assessment (line 82) show the comparison of the recognition performance of internet service devices under different recognition schemes. From the AUC in the offline assessment (line 81), the internet service device recognition model provided in this application shows an average improvement of 21.65% compared to the other two technical schemes; from the AUC in the online assessment (line 82), the internet service device recognition model provided in this application shows an average improvement of 22.01% compared to the other two technical schemes.
[0186] Step 710: Solidify the Internet service device identification model.
[0187] The Saver() method in TensorFlow is used to save the trained model, generating four files: a checkpoint text file containing a list of model file paths; a model.ckpt.data file containing network weight information; and model.ckpt.index.data and index, which are binary files storing variable weight information from the model.
[0188] Step 711: Deploy the solidified Internet service device identification model to the online service.
[0189] When the client calls the service interface, the server will invoke the pre-built model, then retrieve the user features and real-time user features from the online Decache, and return the prediction results.
[0190] Step 712: Online service calls Internet service device identification model.
[0191] Step 713: Obtain feedback data from the Internet service device.
[0192] Step 714: Update the Internet service device identification model based on the feedback data.
[0193] User feedback on model prediction results on the client side will be saved as client logs.
[0194] In one example, such as Figure 9 As shown, this example illustrates a schematic diagram of the technical architecture of a device identification technology solution. The aforementioned device identification technology solution comprises two parts: an online component and an offline component.
[0195] Online Components: The server periodically calculates device feature vectors for each device. Based on preset conditions, it periodically updates device feature data. The update frequency can be set according to different business requirements; data of the same type but with different update frequencies will be stored multiple times. Then, based on business needs, the device feature data is filtered and refined to ensure the quality of the input model feature data. In the current business scenario, real-time device feature vectors are generated and input into the pre-trained Internet service device recognition model. The model automatically outputs the probability that the current device is an Internet service device. Finally, the system statistically analyzes the device's feedback data to multimedia advertisements, recording the model's output of "high-probability OTT devices" and their responses to online OTT type advertisements. "Feedback to online OTT type advertisements" refers to the feedback behavior of high-probability OTT devices output by the model to exposed OTT type advertisements, including: whether the advertisement was exposed normally, whether the advertisement was clicked, etc.
[0196] Offline portion:
[0197] The storage device stores historical feedback data of multimedia advertisements, and stores the "online behavior data of high-probability OTT devices output by the model" on HDFS; then, it performs device log data statistics, and periodically performs offline statistics on the online characteristics of devices in different time periods (last six months, last three months, last one month, last one week, and last three days); through deep learning pre-training, it produces device operation characteristics; based on the device operation characteristics, it splices together to generate device operation feature vectors.
[0198] Based on the device profile data stored in relevant tables, device features are extracted to construct a rich device profile, which includes: device basic attributes, device network attributes, and device behavioral attributes; then, basic attribute features, device network attribute features, and device advertising feedback features are extracted; further, device profile data at different periods are extracted; and finally, device profile feature vectors are generated by splicing them together.
[0199] Linear concatenation is performed on the equipment operation feature vector and the equipment profile feature vector to generate equipment feature vector; after obtaining multiple equipment feature vectors, model training is performed; offline model evaluation is performed; after the model passes the offline evaluation, online model evaluation is performed; after the model passes the online evaluation, the model is solidified; and the solidified model steps are provided online.
[0200] The technical solution provided in this application has strong reusability: First, change the type of the positive sample, such as "samples identified by high-risk devices for traffic fraud", then accumulate the corresponding log data on the server side, and finally use the same feature splicing, feature processing and model training methods to produce results. This application does not limit this.
[0201] In summary, the technical solution provided in this application constructs an Internet service device identification model based on a neural network. This model linearly embeds high-dimensional discrete device features into low-dimensional dense overall features, representing device features more efficiently and reducing computational load while ensuring the integrity of device feature information. Then, a non-linear vector product is applied to the overall features to obtain cross-features representing the correlation between features, fully mining the feature information of the device to be identified. Finally, the probability that the device to be identified is an Internet service device is output. The probability output by the model determines whether the device to be identified is an Internet service device, improving both the efficiency and accuracy of identifying Internet service devices and enhancing the model's reusability in multiple scenarios.
[0202] Furthermore, the Internet service device identification model was validated through online and offline assessments, and the model was updated using feedback data, which further improved the accuracy of the output probability of the Internet service device identification model, thereby enhancing the accuracy of Internet service device identification.
[0203] The following are embodiments of the apparatus of this application, which can be used to execute embodiments of the method of this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the method of this application.
[0204] Please refer to Figure 10 This diagram illustrates a block diagram of a device identification apparatus according to an embodiment of this application. The apparatus has the function of implementing the above-described device identification method; this function can be implemented in hardware or by hardware executing corresponding software. The apparatus 1000 can be a computer device or can be installed within a computer device. The apparatus 1000 may include: a feature acquisition module 1010, a feature embedding module 1020, a feature intersection module 1030, and a device identification module 1040.
[0205] The feature acquisition module 1010 is used to acquire device feature information of the device to be identified.
[0206] The feature embedding module 1020 is used to perform feature embedding processing on the device feature information to generate overall feature information of the device to be identified, wherein the dimension of the overall feature information is less than or equal to the dimension of the device feature information.
[0207] The feature cross module 1030 is used to determine the cross feature information of the device to be identified based on the overall feature information, wherein the cross feature information characterizes the correlation between different device features of the device to be identified.
[0208] The device identification module 1040 is used to determine that the device to be identified is an Internet service device when the overall feature information and the cross feature information meet the target conditions.
[0209] In an exemplary embodiment, the device feature information includes feature values of device features, and the feature embedding module 1020 includes: a feature value extraction unit, a feature value embedding unit, and a vector concatenation unit.
[0210] The feature extraction unit is used to extract the feature value corresponding to any device feature from the device feature information.
[0211] The feature embedding unit is used to perform feature embedding processing on the feature values of the target device feature to generate a feature embedding vector corresponding to the target device feature. The feature embedding vector includes feature embedding values that characterize the target device feature, and the number of feature embedding values is less than or equal to the number of feature values.
[0212] The vector concatenation unit is used to perform linear concatenation processing on the feature embedding vectors corresponding to the device features to generate the overall feature embedding vector of the device to be identified, wherein the overall feature embedding vector is the mathematical representation of the overall feature information.
[0213] In an exemplary embodiment, the feature crossing module 1030 includes a crossing feature value generation unit and a crossing feature vector generation unit.
[0214] The cross feature value generation unit is used to perform feature cross processing on the feature embedding vectors corresponding to the device features to generate cross feature values, which represent the pairwise correlation between the device features of the device to be identified.
[0215] The cross feature vector generation unit is used to generate a cross feature embedding vector of the device to be identified based on the cross feature values, wherein the cross feature embedding vector is a mathematical representation of the cross feature information.
[0216] In an exemplary embodiment, the device identification module 1040 includes a feature depth extraction unit and a device identification unit.
[0217] The feature depth extraction unit is used to perform deep feature extraction processing on the overall feature information and the cross feature information to determine the probability that the device to be identified is the Internet service device.
[0218] The device identification unit is used to determine that the device to be identified is the Internet service device when the probability is greater than or equal to the probability threshold.
[0219] In an exemplary embodiment, the feature acquisition module 1010 includes: a device data acquisition unit, a data mapping unit, and a device feature vector generation unit.
[0220] The device data acquisition unit is used to acquire the device data of the device to be identified.
[0221] A data mapping unit is used to perform data mapping processing on the device data to generate feature values corresponding to the device data, wherein the feature values characterize at least one device feature of the device to be identified.
[0222] The device feature vector generation unit is used to generate a device feature vector based on the feature values, wherein the device feature vector is a mathematical representation of the device feature information.
[0223] In an exemplary embodiment, the device data includes feature data associated with the at least one device feature, and the data mapping unit includes: a feature data acquisition subunit, a mapping method determination subunit, a data mapping subunit, and a feature value aggregation subunit.
[0224] The feature data acquisition subunit is used to acquire target feature data associated with the target device feature among the at least one device features.
[0225] The mapping method determination subunit is used to determine the target mapping method corresponding to the target feature data.
[0226] The data mapping subunit is used to map the target feature data into feature values that characterize the features of the target device according to the target mapping method.
[0227] The feature value aggregation subunit is used to obtain the feature value corresponding to the device data based on the feature value of the at least one device feature.
[0228] In an exemplary embodiment, the device 1000 further includes a resource transmission module and a data feedback module.
[0229] The resource transmission module is used to transmit multimedia resources to the Internet service device.
[0230] The data feedback module is used to acquire user feedback data of the multimedia resources on the Internet service device.
[0231] In summary, the technical solution provided in this application converts high-dimensional discrete device features into low-dimensional dense overall features through feature embedding. This more efficiently represents device features and reduces computational load while ensuring the integrity of device feature information. Then, it determines the cross features between features in the overall features, fully mining the feature information of the device to be identified. Finally, it determines whether the device to be identified is an Internet service device from both the overall features and cross features, improving the efficiency and accuracy of identifying Internet service devices.
[0232] It should be noted that the apparatus provided in the above embodiments is only illustrated by the division of the above functional modules when implementing its functions. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0233] Please refer to Figure 11 This diagram illustrates a structural block diagram of a computer device according to an embodiment of this application. The computer device may be a server for executing the aforementioned device identification method. Specifically:
[0234] Computer device 1100 includes a central processing unit (CPU) 1101, a system memory 1104 including random access memory (RAM) 1102 and read-only memory (ROM) 1103, and a system bus 1105 connecting the system memory 1104 and the CPU 1101. Computer device 1100 also includes a basic input / output system (I / O system) 1106 that facilitates information transfer between various devices within the computer, and a mass storage device 1107 for storing the operating system 1113, application programs 1114, and other program modules 1112.
[0235] The basic input / output system 1106 includes a display 1108 for displaying information and an input device 1109 for user input, such as a mouse or keyboard. Both the display 1108 and the input device 1109 are connected to the central processing unit 1101 via an input / output controller 1110 connected to the system bus 1105. The basic input / output system 1106 may also include the input / output controller 1110 for receiving and processing input from multiple other devices such as a keyboard, mouse, or electronic stylus. Similarly, the input / output controller 1110 also provides output to a display screen, printer, or other types of output devices.
[0236] Mass storage device 1107 is connected to central processing unit 1101 via a mass storage controller (not shown) connected to system bus 1105. Mass storage device 1107 and its associated computer-readable media provide non-volatile storage for computer device 1100. That is, mass storage device 1107 may include computer-readable media (not shown) such as hard disk or CD-ROM (Compact Disc Read-Only Memory) drive.
[0237] Without loss of generality, computer-readable media can include computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes RAM, ROM, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), flash memory or other solid-state storage technologies, CD-ROM, DVD (Digital Video Disc) or other optical storage, magnetic tape cassettes, magnetic tape, disk storage, or other magnetic storage devices. Of course, those skilled in the art will recognize that computer storage media are not limited to the above-mentioned types. The system memory 1104 and mass storage device 1107 described above can be collectively referred to as memory.
[0238] According to various embodiments of this application, the computer device 1100 can also be connected to a remote computer on a network, such as the Internet. That is, the computer device 1100 can be connected to the network 1112 via the network interface unit 1111 connected to the system bus 1105, or the network interface unit 1111 can be used to connect to other types of networks or remote computer systems (not shown).
[0239] The memory also includes a computer program stored in the memory and configured to be executed by one or more processors to implement the device identification method described above.
[0240] In an exemplary embodiment, a computer-readable storage medium is also provided, the storage medium storing at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, the at least one program, the code set, or the instruction set, when executed by a processor, implements the above-described device identification method.
[0241] Optionally, the computer-readable storage medium may include: ROM (Read Only Memory), RAM (Random Access Memory), SSD (Solid State Drives), or optical disc, etc. The random access memory may include ReRAM (Resistance Random Access Memory) and DRAM (Dynamic Random Access Memory).
[0242] In an exemplary embodiment, a computer program product or computer program is also provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the device identification method described above.
[0243] It should be understood that "multiple" as used herein refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, the step numbers described herein are merely illustrative of one possible execution order. In some other embodiments, the steps may not be executed in numerical order, such as two steps with different numbers being executed simultaneously, or two steps with different numbers being executed in the reverse order of the illustration. This application does not limit this.
[0244] The above description is merely an exemplary embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A device identification method, characterized in that, The method includes: Obtain device feature information of the device to be identified; the device feature information includes feature values of device features; the device feature information is generated based on the device data of the device to be identified, the device data includes device operation data and device profile data; For any device feature, feature values corresponding to the device feature are extracted from the device feature information; feature value embedding processing is performed on the feature values of the device feature based on the feature embedding layer in the Internet device identification model to generate a feature embedding vector corresponding to the device feature. The feature embedding vector includes feature embedding values representing the target device feature, and the number of feature embedding values is less than or equal to the number of feature values; linear concatenation processing is performed on the feature embedding vector corresponding to the device feature based on a second-order vector product layer to generate the overall feature embedding vector of the device to be identified. The overall feature embedding vector is the mathematical representation of the overall feature information of the device to be identified, and the dimension of the overall feature information is less than or equal to the dimension of the device feature information. Based on the second-order vector product layer, the feature embedding vectors corresponding to the device features are subjected to a second-order vector product operation to obtain cross feature values. The cross feature values represent the correlation between each pair of device features of the device to be identified. Based on the cross feature values, the cross feature embedding vector of the device to be identified is generated. The cross feature embedding vector is the mathematical representation of the cross feature information of the device to be identified. If the overall feature information and the cross feature information meet the target conditions, the device to be identified is determined to be an Internet service device based on the fully connected layer.
2. The method according to claim 1, characterized in that, The step of determining the device to be identified as an Internet service device based on the fully connected layer when the overall feature information and the cross feature information meet the target conditions includes: Based on the fully connected layer, deep feature extraction processing is performed on the overall feature information and the cross feature information to determine the probability that the device to be identified is the Internet service device. Under the condition that the probability is greater than or equal to the probability threshold, the device to be identified is determined to be the Internet service device based on the fully connected layer.
3. The method according to claim 2, characterized in that, The acquisition of device feature information of the device to be identified includes: Obtain the device data of the device to be identified; The device data is subjected to data mapping processing to generate feature values corresponding to the device data, and the feature values characterize at least one of the device features of the device to be identified. Based on the feature values, a device feature vector is generated, which is a mathematical representation of the device feature information.
4. The method according to claim 3, characterized in that, The device data includes feature data associated with at least one of the device features, and the step of performing data mapping processing on the device data to generate feature values corresponding to the device data includes: For at least one of the target device features, obtain target feature data associated with the target device feature; Determine the target mapping method corresponding to the target feature data; According to the target mapping method, the target feature data is mapped into feature values that characterize the features of the target device; Based on the feature values of at least one of the device features, a feature value corresponding to the device data is obtained.
5. The method according to any one of claims 1 to 4, characterized in that, The method further includes: Transmit multimedia resources to the Internet service device; Obtain user feedback data for the multimedia resources on the Internet service device.
6. A device identification device, characterized in that, The device includes: The feature acquisition module is used to acquire device feature information of the device to be identified; the device feature information includes feature values of device features; the device feature information is generated based on the device data of the device to be identified, the device data includes device operation data and device profile data; A feature embedding module is used to perform feature embedding processing on the device feature information to generate overall feature information of the device to be identified, wherein the dimension of the overall feature information is less than or equal to the dimension of the device feature information. The feature embedding module includes: a feature value extraction unit, used to extract feature values corresponding to any device feature from the device feature information; a feature value embedding unit, used to perform feature value embedding processing on the feature values of the device feature based on the feature embedding layer in the Internet device identification model to generate a feature embedding vector corresponding to the device feature, wherein the feature embedding vector includes feature embedding values representing the target device feature, and the number of feature embedding values is less than or equal to the number of feature values; and a vector concatenation unit, used to perform linear concatenation processing on the feature embedding vectors corresponding to the device feature based on a second-order vector product layer to generate an overall feature embedding vector of the device to be identified, wherein the overall feature embedding vector is a mathematical representation of the overall feature information of the device to be identified. A feature cross-referencing module is used to determine the cross-feature information of the device to be identified based on the overall feature information. The cross-feature information represents the correlation between different device features of the device to be identified. The feature cross-referencing module includes: a cross-feature value generation unit, used to perform a second-order vector product operation on each pair of feature embedding vectors corresponding to the device features based on a second-order vector product layer to obtain cross-feature values. The cross-feature values represent the correlation between each pair of device features of the device to be identified. A cross-feature vector generation unit is used to generate a cross-feature embedding vector of the device to be identified based on the cross-feature values. The cross-feature embedding vector is the mathematical representation of the cross-feature information of the device to be identified. The device identification module is used to determine, based on the fully connected layer, that the device to be identified is an Internet service device when the overall feature information and the cross feature information meet the target conditions.
7. The apparatus according to claim 6, characterized in that, The device identification module includes: The feature depth extraction unit is used to perform deep feature extraction processing on the overall feature information and the cross feature information based on the fully connected layer, and to determine the probability that the device to be identified is the Internet service device. The device identification unit is used to determine the device to be identified as the Internet service device based on the fully connected layer, provided that the probability is greater than or equal to the probability threshold.
8. The apparatus according to claim 7, characterized in that, The feature acquisition module includes: A device data acquisition unit is used to acquire device data of the device to be identified. A data mapping unit is used to perform data mapping processing on the device data to generate feature values corresponding to the device data, wherein the feature values characterize at least one of the device features of the device to be identified. The device feature vector generation unit is used to generate a device feature vector based on the feature values, wherein the device feature vector is a mathematical representation of the device feature information.
9. The apparatus according to claim 8, characterized in that, The device data includes feature data associated with at least one of the device features, and the data mapping unit includes: The feature data acquisition subunit is used to acquire target feature data associated with the target device feature for at least one of the device features; A mapping method determination subunit is used to determine the target mapping method corresponding to the target feature data; The data mapping subunit is used to map the target feature data into feature values that characterize the features of the target device according to the target mapping method. The feature value aggregation subunit is used to obtain the feature value corresponding to the device data based on the feature value of at least one of the device features.
10. The apparatus according to any one of claims 6 to 9, characterized in that, The device further includes: The resource transmission module is used to transmit multimedia resources to the Internet service device; The data feedback module is used to acquire user feedback data of the multimedia resources on the Internet service device.
11. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing at least one instruction, at least one program, a code set, or an instruction set, the at least one instruction, the at least one program, the code set, or the instruction set being loaded and executed by the processor to implement the device identification method as described in any one of claims 1 to 5.
12. A computer-readable storage medium, characterized in that, The storage medium stores at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the device identification method as described in any one of claims 1 to 5.