Method, system and computer-readable medium for determining terminal portrait
By obtaining application data accessed by the terminal and training the random forest model, the problem of difficulty in identifying diverse smart home devices in existing technologies is solved, accurate terminal portrait determination and family portrait characterization are achieved, and the user experience is improved.
Patent Information
- Application Number
- CN202211522594.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-30
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2042-11-30
AI Technical Summary
Existing device identification methods are unable to accurately identify diverse smart home devices, especially integrated network card devices launched by traditional home appliance retailers, resulting in inaccurate family portraits and affecting the provision of customized services.
By obtaining the number of various types of applications and customized applications accessed by the terminal within a period of time, the terminal portrait determination model is trained using the random forest algorithm. The terminal portrait, including the terminal brand and type, is determined based on the terminal's network behavior flow data.
The terminal recognition rate has been improved, and it can accurately identify devices connected to the home network, accurately portray the family portrait, and enhance the user experience.
Smart Images

Figure CN116614550B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to terminal identification, and more particularly to methods, systems, and computer-readable media for determining a terminal portrait. Background Art
[0002] A home gateway generally has functions such as modulation, demodulation, and routing, enabling the home local area network to connect to the external wide area network. The devices actually used by users connected to the home network (for example, terminals, etc.) are important features in portraying the entire family portrait. By accurately portraying the family portrait, it is possible to accurately predict user needs, so that customized services can be pushed to users in a timely manner, improving the user experience. The current device identification system intercepts device model data from Internet packets through detection plug-ins or identifies devices through the device's inherent hostname and MAC address. However, as smart home devices entering thousands of households show a trend of diversification, existing device identification methods are difficult to accurately determine device characteristics. For example, smart home appliances are often home appliances with integrated network cards launched by traditional home appliance manufacturers, and the way such devices interact with the network is quite limited. It is difficult to accurately determine the characteristics of such devices using existing device identification methods.
[0003] Existing device identification methods have more or less some technical bottlenecks, making it difficult to accurately identify a variety of devices. Therefore, there is an urgent need for an improved device identification method that can cover more types of devices. Summary of the Invention
[0004] The following is a brief summary of one or more aspects to provide a basic understanding of these aspects. This summary is not an exhaustive overview of all conceivable aspects and is neither intended to identify key or critical elements of all aspects nor to define the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that will be presented later.
[0005] To address one or more of the aforementioned issues, the present disclosure proposes a method, system, and computer-readable medium for determining a terminal profile based on the terminal's network behavior stream data. The terminal profile determination method disclosed herein can expand feature dimensions to determine a terminal profile when it is impossible to identify the terminal based on network messages, significantly improving the terminal recognition rate.
[0006] According to one aspect of the present disclosure, a method for training a terminal portrait determination model may include: obtaining the number of various types of applications accessed by a terminal within a period of time and the number of customized applications on the terminal to form a feature set; obtaining a terminal label of the terminal; associating the feature set with the terminal label to form training data; and using the training data to train the terminal portrait determination model.
[0007] According to a further embodiment of the present disclosure, the terminal label may include the terminal brand and / or the terminal type.
[0008] According to a further embodiment of the present disclosure, the terminal tag may use ONE-HOT encoding.
[0009] According to a further embodiment of the present disclosure, training the terminal portrait determination model may include: using a random forest algorithm to train the terminal portrait determination model.
[0010] According to further embodiments of the present disclosure, various types of applications may include one or more of the following: application store applications, P2P sharing applications, network management applications, system security applications, financial management applications, travel and vacation applications, business and office applications, children and parenting applications, group buying applications, medical and health applications, common protocol applications, communication and social applications, map and navigation applications, online game applications, audio and video applications, education and learning applications, news reading applications, online shopping applications, music appreciation applications, common tool applications, and leisure and entertainment applications.
[0011] According to another aspect of the present disclosure, a method for determining a terminal portrait may include: obtaining the number of various types of applications accessed by the terminal within a period of time and the number of customized applications on the terminal to form a feature set; and determining the terminal portrait based on the feature set using the terminal portrait determination model as described above.
[0012] According to one aspect of the present disclosure, determining the terminal portrait may further include: determining the terminal portrait based on a terminal tag and a corresponding tag value.
[0013] According to one aspect of the present disclosure, the terminal label may include the terminal brand and / or the terminal type.
[0014] According to another aspect of the present disclosure, a system for determining a terminal profile may include a feature acquisition module and a terminal profile determination module. The feature acquisition module may be configured to acquire the number of various types of applications accessed by a terminal over a period of time and the number of customized applications on the terminal to form a feature set. The terminal profile determination module may be configured to determine the terminal profile based on the feature set using the terminal profile determination model described above.
[0015] According to another aspect of the present disclosure, a computer-readable medium may store processor-executable code, which may be executed by a processor to perform the method described above.
[0016] The present disclosure is provided to introduce some concepts in a simplified form, which will be further described in the following detailed description. The present disclosure is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. Other aspects, features and / or advantages of each embodiment will be set forth in part in the description below and will be apparent in part from the description, or may be learned through practice of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In order to understand in detail the manner in which the above-mentioned features of the present disclosure are employed, the contents briefly summarized above may be described in more detail with reference to various embodiments, some aspects of which are illustrated in the accompanying drawings. However, it should be noted that the accompanying drawings illustrate only certain typical aspects of the present disclosure and should not be considered to limit its scope, as the description may allow for other equally effective aspects. In the accompanying drawings, similar reference numerals are always identified similarly. It should be noted that the drawings described are merely schematic and non-limiting. In the drawings, the dimensions of some components may be exaggerated and are not drawn to scale for illustrative purposes.
[0018] Figure 1 A process flow for determining a terminal portrait according to aspects of the present disclosure is illustrated.
[0019] Figure 2 A flowchart illustrating a method for training a terminal portrait determination model according to various aspects of the present disclosure is provided.
[0020] Figure 3 Shown are example feature importances after training using the Random Forest algorithm.
[0021] Figure 4 A flowchart of a method for determining a terminal portrait according to aspects of the present disclosure is illustrated.
[0022] Figure 5 A block diagram of a system for training a terminal portrait determination model according to aspects of the present disclosure is illustrated.
[0023] Figure 6 A block diagram illustrating a system for determining a terminal portrait according to aspects of the present disclosure is illustrated.
[0024] Figure 7 A block diagram of a device including a system for determining a terminal portrait according to aspects of the present disclosure is shown. DETAILED DESCRIPTION
[0025] To make the purposes, technical solutions and advantages of the present disclosure more clearly understood, the present disclosure is further described in detail below in conjunction with specific embodiments and with reference to the accompanying drawings. In the following detailed description, many specific details are set forth to provide a thorough understanding of the described exemplary embodiments. However, it is obvious to those skilled in the art that the described embodiments can be practiced without some or all of these specific details. In other exemplary embodiments, well-known structures or processing steps are not described in detail to avoid unnecessarily obscuring the concepts of the present disclosure.
[0026] In this specification, unless otherwise stated, the term "A or B" used throughout this specification refers to "A and B" and "A or B" rather than to A and B being exclusive.
[0027] As smart home devices entering thousands of households show a trend of diversification, existing device identification methods are difficult to accurately determine the characteristics of all existing devices. The present disclosure provides a method for determining a terminal portrait. According to the terminal portrait determination method of the present disclosure, the network behavior data stream of the user using the terminal is incorporated into the feature dimension, and the application is identified based on the network behavior stream data of the terminal. After identifying the application, the application features are obtained and a corresponding rule between the application features and the terminal portrait is established, and the terminal portrait (for example, terminal brand and / or terminal type, etc.) is estimated through the corresponding rule. The method incorporates the user's network behavior stream into the feature dimension to determine the terminal portrait, so that the devices actually used by the user under the home network (for example, terminals, etc.) can be accurately identified and the entire family portrait can be accurately portrayed to better predict customer needs, push customized services to customers based on customer needs, and thus improve user experience. The following is a detailed explanation with reference to the accompanying drawings.
[0028] Figure 1 The process flow 100 for determining a terminal portrait based on the network behavior flow data of the terminal according to various aspects of the present disclosure is illustrated. The process flow 100 for determining a terminal portrait can be, for example, as shown below with reference to Figure 5 The system for determining the terminal profile is described. Figure 1 As shown in FIG, in one aspect, a process flow 100 for determining a terminal portrait may include:
[0029] In step 1, a terminal may be used (eg, by a user) to access a network via a gateway. For example, a user may connect a terminal to a home gateway and access the network via the home gateway.
[0030] In step 2, the feature acquisition module can obtain the number of various types of applications accessed by the terminal within a period of time and the number of customized applications on the terminal to form a feature set. For example, the feature acquisition module can identify applications (for example, browser access or APP access) and mark the network behavior flow of the terminal. Optionally, for applications that come with smart home devices that cannot be identified by existing device identification methods, the network interaction behavior flow of such devices generally includes data flows generated by interactions with the smart terminal management platform and interactions with the smart terminal control APP. The feature acquisition module can represent the applications of such device sub-bands as terminal customized applications by marking the network behavior interaction flow of such devices.
[0031] In step 3, the terminal portrait determination module may determine the terminal portrait based on the feature set using the terminal portrait determination model described above. In one example, the terminal portrait may include the terminal brand and terminal type. For example, for applications that come with smart home devices that cannot be identified by existing device identification methods, the terminal portrait determination module may also bring the feature set obtained by the feature acquisition module into the terminal portrait determination model to roughly determine the terminal brand or terminal type. For example, the terminal portrait determination module may determine the terminal brand and determine the terminal type based on the terminal brand. Alternatively, the terminal portrait determination module may determine the terminal type and determine the terminal brand based on the terminal type.
[0032] Figure 2 A flowchart illustrating a method 200 for training a terminal portrait determination model according to various aspects of the present disclosure is provided. The method 200 for training a terminal portrait determination model may be performed, for example, as follows with reference to Figure 5 The system described for training a terminal portrait determination model is executed. Figure 2 As shown in , in one aspect, a method 200 for training a terminal portrait determination model may include:
[0033] In block 205, the number of various types of applications accessed by a terminal over a period of time and the number of customized applications on the terminal may be obtained to form a feature set. In one example, the various types of applications may include, but are not limited to, one or more of the following: application store applications, P2P sharing applications, network management applications, system security applications, financial management applications, travel and vacation applications, business and office applications, children and parenting applications, group purchasing applications, healthcare applications, common protocol applications, communication and social networking applications, map and navigation applications, online game applications, audio and video applications, education and learning applications, news reading applications, online shopping applications, music appreciation applications, common tool applications, and leisure and entertainment applications. As an example, the feature set may be the number of various types of applications accessed by a terminal over a period of time (e.g., one week, two weeks, one month, etc.) and the number of terminal customized applications.
[0034] At block 210, a terminal tag of the terminal may be obtained. In one example, the terminal tag may include the terminal brand and / or the terminal type. In one example, the terminal tag may be encoded using ONE-HOT. For example, during model training, a tag of 1 indicates that the terminal type is consistent with the terminal tag, and otherwise, it is 0.
[0035] At block 215, the feature set may be associated with the terminal label to form training data. In some examples, the training data may be a feature vector, which is shown as follows:
[0036] Table 1 Training data
[0037]
[0038]
[0039] For terminal customization applications, Table 2 provides example rules for determining terminal customization applications. The following terminal customization application determination rules are merely examples, and those skilled in the art can expand the terminal customization application determination rules based on usage scenarios.
[0040] As shown in Table 2, whether an application belongs to a terminal customized application can be determined through different network protocols and feature data corresponding to different network protocols (for example, domain name, UA query).
[0041] As an example, as shown in Table 2, when the network protocol is DNS, the domain name can be used to determine whether an application is a terminal customization application. For example, when the domain name is d.rsdznjj.com.cn, the "rsd" contained in the domain name can be used to determine that the terminal is a Royalstar device and that the application is a terminal customization application.
[0042] As another example, as shown in Table 2, when the network protocol is http, the domain name and / or UA can be used to determine whether an application is a terminal-customized application. For example, when the domain name is smarthome.ctdevice.ott4china.com, it can be determined that the terminal is a Tianyi set-top box and that the application is a terminal-customized application. For example, when the domain name is tv.ott.video.qq.com, it can be determined that the terminal is an Jiguang set-top box and that the application is a terminal-customized application.
[0043] As another example, as shown in Table 2, when the network protocol is MDNS, a query can be used to determine whether the application is a terminal-customized application. For example, the device interconnection can be used to determine that the terminal is a hotspot and that the application is a terminal-customized application.
[0044] Table 2 Example rules for determining terminal customization applications
[0045]
[0046]
[0047] In box 220, the training data can be used to train the terminal portrait determination model. In one example, training the terminal portrait determination model may include: using a random forest algorithm to train the terminal portrait determination model. Specifically, the sample set can be divided into a training set and a test set in proportion, the training set data is used to train the random forest model, and the test set is used to verify the model effect. If the accuracy and precision of the terminal portrait determination model are both greater than 90%, it is considered that the terminal portrait determination model can be put into use. For example, the terminal portrait determination model is particularly suitable for terminals such as smart speakers and cameras. As an example, based on the above example training data, a random forest model is used for training, and the feature importance after training is as follows Figure 3 shown.
[0048] Figure 4 A flow chart illustrating a method 400 for determining a terminal portrait according to various aspects of the present disclosure is provided. The method 400 for determining a terminal portrait may be performed, for example, as follows with reference to Figure 6 The system for determining the terminal profile is described. Figure 4 As shown in , in one aspect, a method 400 for determining a terminal portrait may include:
[0049] In block 405, the number of various types of applications accessed by the terminal within a period of time and the number of customized applications on the terminal may be obtained to form a feature set. In one embodiment, determining the terminal profile may further include: determining the terminal profile based on the terminal tag and the corresponding tag value.
[0050] At block 410, the terminal portrait determination model described above may be used to determine the terminal portrait based on the feature set. In one embodiment, the terminal tag may include the terminal brand and / or terminal type. As an example, when the terminal tags of the terminal portrait determination model include Xiaomi Camera, Skyworth Smart Home, 360 Camera, and Tmall Genie, if the tag value corresponding to the terminal tag is 1, and the terminal tag corresponding to the tag value is Xiaomi Camera, the terminal may be considered to be a Xiaomi Camera.
[0051] In one embodiment, the first 21 items of the feature vector can be the number of types of applications installed on the identified terminal, the 22nd item of the feature vector can be the number of terminal-customized applications, and the 23rd item of the feature vector can be the OneHot encoding vector of the terminal tag. As an example, when the terminal is a Xiaomi camera, the OneHot encoding vector of the terminal tag can be [0,0,0]; when the terminal is a 360 camera, the OneHot encoding vector of the terminal tag can be [1,0,0]; when the terminal is a Skyworth smart home, the OneHot encoding vector of the terminal tag can be [0,1,0]; when the terminal is a Tmall Genie, the OneHot encoding vector of the terminal tag can be [0,0,1]. When the 23rd item of the feature vector is [0,0,0] and the tag value is 1, it indicates that the terminal is a Xiaomi camera.
[0052] Figure 5 A block diagram of a system 500 for training a terminal portrait determination model according to various aspects of the present disclosure is illustrated. Figure 5 The system 500 may include: a feature acquisition module 505 , an association module 510 and a training module 515 .
[0053] In an embodiment of the present disclosure, the feature acquisition module 505 may be configured to acquire the number of various types of applications accessed by a terminal within a period of time and the number of customized applications on the terminal to form a feature set and acquire a terminal tag for the terminal. The association module 510 may be configured to associate the feature set with the terminal tag to form training data. The training module 515 may be configured to use the training data to train a terminal profile determination model.
[0054] Figure 6 A block diagram of a system 600 for determining a terminal portrait according to various aspects of the present disclosure is illustrated. Figure 6 The system 600 includes: a feature acquisition module 605 and a terminal portrait determination module 610.
[0055] In an embodiment of the present disclosure, the feature acquisition module 605 may be configured to acquire the number of various types of applications accessed by the terminal within a period of time and the number of customized applications on the terminal to form a feature set. The terminal portrait determination module 610 may be configured to determine the terminal portrait based on the feature set using the terminal portrait determination model described above.
[0056] Figure 7 A block diagram of a device 700 including a system for determining a terminal portrait according to aspects of the present disclosure is shown. The device illustrates a general hardware environment in which the present disclosure may be applied according to exemplary embodiments of the present disclosure.
[0057] Now refer to Figure 7Device 700 is described as an exemplary embodiment of a hardware device that can be applied to various aspects of the present disclosure. Device 700 can be any machine configured to perform processing and / or computing, and can be, but is not limited to, a workstation, a server, a desktop computer, a laptop computer, a tablet computer, a personal digital assistant (PDA), a smartphone, or any combination thereof. The above-described system can be implemented in whole or in part by device 700 or similar devices or systems.
[0058] Device 700 may include elements that may be connected to or in communication with bus 702 via one or more interfaces. For example, device 700 may include bus 702, one or more input devices 705, one or more output devices 710, one or more processors 715, and one or more memories 720, among others.
[0059] The processor 715 may be any type of processor and may include, but is not limited to, a general-purpose processor and / or a dedicated processor (e.g., a special processing chip), an intelligent hardware device (e.g., a general-purpose processor, a DSP, a CPU, a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof). In some cases, the processor 715 may be configured to operate a memory array using a memory controller. In other cases, a memory controller (not shown) may be integrated into the processor 715. The processor 715 may be configured to execute computer-readable instructions stored in the memory to perform the various functions described herein.
[0060] The memory 720 may be any storage device that enables data storage. The memory 720 may include, but is not limited to, a disk drive, an optical storage device, a solid-state memory, a floppy disk, a diskette, a hard disk, a magnetic tape or any other magnetic medium, an optical disk or any other optical medium, a ROM (read-only memory), a RAM (random access memory), a cache memory, and / or any other memory chip or cartridge, and / or any other medium from which a computer can read data, instructions, and / or code. The memory 720 may store computer-executable software 725 comprising computer-readable instructions that, when executed, cause the processor to perform the various functions described herein. The memory 720 may have various data / instructions / codes for implementing the various functions described herein.
[0061] The software 725 may be stored in the memory 720, including but not limited to an operating system, one or more applications, drivers, and / or other data and code. Instructions for performing the various functions described herein may be included in one or more applications, and the various units of the device 700 may be implemented by the processor 715 reading and executing the instructions of the one or more applications. In some cases, the software 725 may not be directly executable by the processor, but may (for example, when compiled and executed) enable the computer to perform the various functions described herein.
[0062] Input device 705 may be any type of device that can input information into a computing device.
[0063] Output device 710 may be any type of output device that can output information.
[0064] It will be clear to those skilled in the art from the above embodiments that the present disclosure can be implemented by software with necessary hardware or by hardware, firmware, etc. Based on this understanding, the embodiments of the present disclosure can be implemented in part in the form of software. Computer software can be stored in a readable storage medium, such as a floppy disk, a hard disk, an optical disk, or a flash memory of a computer. Computer software includes a series of instructions to enable a computer (e.g., a personal computer, a service station, or a network terminal) to perform the methods according to the various embodiments of the present disclosure or a portion thereof.
[0065] The above describes the method and system for determining a terminal profile based on the terminal's network behavior flow according to the present disclosure. Compared to existing methods for identifying devices based on network message data (e.g., device model or the device's inherent hostname, MAC address, etc.) and methods for determining the terminal device type based on application installation packages, the method and system of the present disclosure have at least the following advantages:
[0066] When identifying terminals, a new feature dimension is proposed: namely, incorporating the applications accessed by the terminal into the terminal identification system. The method disclosed herein uses the applications accessed by the terminal to indirectly characterize the terminal's profile, for example, characterizing the terminal brand, terminal type, etc. Furthermore, a method for incorporating new feature dimensions to determine terminal strengths is proposed: namely, training a terminal profile determination model based on applications.
[0067] This disclosure proposes a new application category—terminal customization applications—and lists methods for acquiring features for these applications, which can help address the difficulty in identifying certain devices (e.g., smart home devices). This method is particularly suitable for addressing the difficulty of identifying certain devices (e.g., smart air conditioners, smart kitchen and bathroom appliances) that lack native application installation, only interact with the platform or app, and utilize third-party integrated network cards and other components, making it difficult to effectively identify MAC addresses and hostnames.
[0068] Throughout this specification, reference has been made to "an embodiment" to mean that a particular described feature, structure, or characteristic is included in at least one embodiment. Thus, use of these phrases may not refer to only one embodiment. Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0069] However, one skilled in the relevant art will recognize that the embodiments may be practiced without one or more of the specific details, or with other methods, resources, materials, etc. In other instances, well-known structures, resources, or operations are not shown or described in detail, merely to obscure aspects of the embodiments.
[0070] Although the embodiments and applications have been illustrated and described, it should be understood that the embodiments are not limited to the precise configuration and resources described above. Various modifications, substitutions, and improvements apparent to those skilled in the art may be made in the arrangement, operation, and details of the methods and systems disclosed herein without departing from the scope of the claimed embodiments.
Claims
1. A method for training a terminal portrait determination model, comprising: Acquire the number of various types of applications accessed by the terminal within a period of time and the number of customized applications on the terminal to form a feature set; Obtaining a terminal tag of the terminal; Associating the feature set with the terminal label to form training data; as well as Using the training data to train the terminal portrait determination model; The judgment rules for customized applications on the terminal include: When the network protocol is DNS, the domain name is used to determine whether the application is a terminal customized application; When the network protocol is http, the domain name and / or UA are used to determine whether the application is a terminal customized application; When the network protocol is MDNS, a query is used to determine whether the application is a terminal customized application.
2. The method according to claim 1, wherein The terminal label includes the terminal brand and / or the terminal type.
3. The method according to claim 1, wherein The terminal tag uses ONE-HOT encoding.
4. The method according to claim 1, wherein Training the terminal portrait determination model includes: using a random forest algorithm to train the terminal portrait determination model.
5. The method according to claim 1, wherein The various types of applications include one or more of the following: application store applications, P2P sharing applications, network management applications, system security applications, financial management applications, travel and vacation applications, business and office applications, children and parenting applications, group purchasing applications, medical and health applications, common protocol applications, communication and social applications, map and navigation applications, online game applications, audio and video applications, education and learning applications, news reading applications, online shopping applications, music appreciation applications, common tool applications, and leisure and entertainment applications.
6. A method for determining a terminal profile, comprising: Acquire the number of various types of applications accessed by the terminal within a period of time and the number of customized applications on the terminal to form a feature set; as well as Determine the terminal portrait using the terminal portrait determination model according to any one of claims 1 to 5 based on the feature set; The judgment rules for customized applications on the terminal include: When the network protocol is DNS, the domain name is used to determine whether the application is a terminal customized application; When the network protocol is http, the domain name and / or UA are used to determine whether the application is a terminal customized application; When the network protocol is MDNS, a query is used to determine whether the application is a terminal customized application.
7. The method according to claim 6, wherein Determining the terminal portrait further includes: The terminal portrait is determined based on the terminal tag and the corresponding tag value.
8. The method according to claim 7, wherein The terminal label includes the terminal brand and / or the terminal type.
9. A system for determining a terminal profile, comprising: a feature acquisition module configured to acquire the number of various types of applications accessed by a terminal within a period of time and the number of customized applications on the terminal to form a feature set; as well as A terminal portrait determination module is configured to determine the terminal portrait based on the feature set using the terminal portrait determination model according to any one of claims 1 to 5.
10. A computer-readable medium storing a processor-executable code, wherein the processor-executable code can be executed by a processor to perform the method according to any one of claims 6 to 8.
Citation Information
Patent Citations
An intelligent household equipment type judgment method based on message characteristics
CN109948650A
Data acquisition method and device and user portrait generation method and device
CN111131493A
Terminal profile determination method and system, and computer-readable medium
WO2024114596A1