Information targeting method and apparatus, computing device, and computer-readable storage medium

By generating logical tree data structures and using conjunctions, the problems of unstable data models and low query efficiency in information orientation are solved, achieving efficient and stable information orientation processing.

CN114764460BActive Publication Date: 2025-10-28TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110030581.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-01-11
Publication Date
2025-10-28
Estimated Expiration
2041-01-11

AI Technical Summary

Technical Problem

Existing technologies suffer from unstable data models during information targeting, requiring changes to the data structure when adding new targeting conditions. This results in low targeting efficiency, low query efficiency, and high demands on computing resources and bandwidth.

Method used

The conjunctive expression is generated using a logic tree data structure. Normalization is then performed using the logic tree data structure to generate a conjunctive expression that matches the user profile information, thereby identifying the target users.

Benefits of technology

It improves the computational efficiency of information targeting, reduces system module changes, ensures the stability of data structures, reduces the waste of computing resources and bandwidth, and improves the efficiency of targeted deployment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114764460B_ABST
    Figure CN114764460B_ABST
Patent Text Reader

Abstract

This application discloses an information targeting method, an information targeting device, a computing device, and a computer-readable storage medium. The information targeting method includes: acquiring targeting conditions related to information to be targeted, the targeting conditions including labels under at least one targeting dimension; generating a data structure of an expression logic tree based on the targeting conditions, wherein the data structure of the expression logic tree is used to indicate logical expressions for logical operations on labels under at least one targeting dimension; performing normal form disjunction on the data structure of the expression logic tree to generate at least one conjunction; matching user profile information with the at least one conjunction, wherein the user profile information and each of the at least one conjunction have the same logical operation form; and in response to the user profile information matching one of the at least one conjunction, determining the user corresponding to the user profile information as the targeted user to whom the information to be targeted will be directed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of information processing, and particularly to information orientation methods, information orientation devices, computing devices, and computer-readable storage media. Background Technology

[0002] With the development of communication technology and the advancement of communication equipment, internet technology has profoundly changed people's production and lifestyles. In particular, with the widespread adoption of smart terminals and the development of mobile internet, more and more users are accessing various types of data on the internet anytime, anywhere through various terminals, such as reading news, watching videos, watching live streams, and engaging in social networking. For various reasons, internet service providers need to target certain information to user groups that meet specific criteria. Summary of the Invention

[0003] This disclosure provides an information targeting method, an information targeting device, a computing device, and a computer-readable storage medium.

[0004] According to one aspect of this disclosure, an information targeting method is provided, comprising: acquiring targeting conditions related to information to be targeted, the targeting conditions including labels under at least one targeting dimension; generating a data structure of an expression logic tree based on the targeting conditions, wherein the data structure of the expression logic tree is used to indicate logical expressions for logical operations on the labels under at least one targeting dimension; performing normalization disjunction on the data structure of the expression logic tree to generate at least one conjunction; matching user profile information with the at least one conjunction, wherein the user profile information and each of the at least one conjunction have the same logical operation form; and in response to the user profile information matching with one of the at least one conjunction, determining the user corresponding to the user profile information as the targeted user to whom the information to be targeted will be directed.

[0005] In some embodiments, the data structure of the expression logic tree includes n-level nodes, where n is an integer greater than or equal to 2, and wherein generating the data structure of the expression logic tree based on orientation conditions includes: generating at least one first-level node, the at least one first-level node being used to represent a label under at least one orientation dimension; and generating second-level to n-level nodes in the n-level nodes, the second-level to n-level nodes being used to represent logical operators, wherein the logical operators represented by the second-level nodes are configured to perform logical operations on the labels represented by the first-level nodes, and the logical operators represented by the (i+1)-th level nodes are configured to perform logical operations on the results of the operations obtained by the logical operators represented by the i-th level nodes, where i is a positive integer greater than 1 and less than n.

[0006] In some embodiments, generating the second to nth level nodes in the nth level node hierarchy includes:

[0007] Generate at least one second-level node, each of which represents a logical operator for a label, used to perform logical operations on at least a portion of the labels in the same orientation dimension; generate at least one third-level node, each of which represents a logical operator for an orientation dimension, used to perform logical operations on the results of the logical operators for a label represented by the same set of second-level nodes in the at least one second-level node group, the same set of second-level nodes being second-level nodes that perform logical operations on the labels in the same orientation dimension; and generate a fourth-level node, which represents a logical operator for an orientation condition, used to perform logical operations on the results of the logical operators for an orientation dimension represented by the at least one third-level node group.

[0008] In some embodiments, the logical operators for tags include a logical "AND", which is used to perform a logical "AND" operation on at least a portion of the tags in the same orientation dimension among the tags in at least one orientation dimension.

[0009] In some embodiments, the logical operators for tags include logical NOT, which is used to perform a logical NOT operation on a tag in at least one orientation dimension.

[0010] In some embodiments, the logical operators for the orientation dimension include a logical "intersection". The logical "intersection" is used to perform a logical "intersection" operation on the results of logical operators for tags represented by the same group of second-level nodes in at least one second-level node. The same group of second-level nodes are second-level nodes that perform logical operations on tags under the same orientation dimension.

[0011] In some embodiments, the logical operators for orientation conditions include a logical "intersection", which is used to perform a logical "intersection" operation on the results of logical operators for orientation dimensions represented by at least one level 3 node.

[0012] In some embodiments, each label in the labels under at least one orientation dimension is represented by a corresponding code, which is generated by encoding each label in the labels under at least one orientation dimension in the same encoding interval to generate the corresponding code.

[0013] In some embodiments, encoding each label in the labels under at least one orientation dimension on the same encoding interval to generate the corresponding code includes: allocating at least one interval segment in the same encoding interval, wherein the at least one interval segment corresponds one-to-one with the at least one orientation dimension; and encoding each label in the interval segment corresponding to its orientation dimension to generate the corresponding code.

[0014] In some embodiments, the label in at least one orientation dimension includes a multi-dimensional label, the multi-dimensional label being associated with at least two different sub-dimensions and including a base label, and wherein encoding each label in the interval corresponding to its orientation dimension to generate the corresponding code includes: encoding the at least two different sub-dimensions and the base label respectively in the interval corresponding to the orientation dimension of the multi-dimensional label to generate at least three first codes respectively corresponding to the at least two different sub-dimensions and the base label; and performing a shift operation on at least a portion of the at least three first codes such that the at least three first codes are respectively located in different bit intervals of the interval, thereby obtaining at least three second codes, and performing a logical "OR" operation on the at least three second codes to generate the corresponding code.

[0015] In some embodiments, the multi-dimensional label is associated with a first sub-dimension and a second sub-dimension, and the second sub-dimension occupies b2 bits, while the basic label occupies n bits, corresponding to three first codes d1, d2, and v for the sub-dimension 1, the sub-dimension 2, and the basic label, respectively. The step of shifting at least a portion of the at least three first codes so that the at least three first codes are located in different bit intervals of the interval segment, thereby obtaining at least three second codes, and performing a logical "OR" operation on the at least three second codes to generate the corresponding code includes generating the corresponding code using the following formula: d1 << (n+b2) | d2 << n | v, where b2, n, d1, d2, and v are all positive integers.

[0016] In some embodiments, matching user profile information with at least one conjunction includes: sequentially matching user information with each of the at least one conjunction, and wherein, in response to the user profile information matching with one of the at least one conjunction, determining the user corresponding to the user profile information as the targeted user to which the targeted information will be directed includes: in response to the user profile information matching with one of the at least one conjunction, stopping the matching and determining the user corresponding to the user profile information as the targeted user to which the targeted information will be directed.

[0017] According to another aspect of this disclosure, an information targeting apparatus is provided, comprising: an acquisition module configured to acquire targeting conditions related to information to be targeted, the targeting conditions including labels in at least one targeting dimension; a generation module configured to generate a data structure of an expression logic tree based on the targeting conditions, wherein the data structure of the expression logic tree is used to indicate logical expressions for logical operations on the labels in at least one targeting dimension; a normal form extraction module configured to perform normal form extraction on the data structure of the expression logic tree to generate at least one conjunction; a matching module configured to match user profile information with at least one conjunction, wherein the user profile information and each of the at least one conjunction have the same logical operation form; and a determination module configured to, in response to the user profile information matching one of the at least one conjunction, determine the user corresponding to the user profile information as the target user to whom the information to be targeted will be directed.

[0018] According to another aspect of this disclosure, a computing device is provided, including a memory and a processor, the memory being configured to store computer-executable instructions thereon, which, when executed on the processor, perform the information orientation method of any one of claims 1-12.

[0019] According to another aspect of this disclosure, a computer-readable storage medium is provided that stores computer-executable instructions thereon, which, when executed on a processor, perform the information orientation method of any one of claims 1-12.

[0020] The embodiments of this disclosure provide a simple and easy-to-implement information targeting method. This method generates an expression logic tree data structure and, based on this data structure, generates at least one conjunctive expression to compare with user profile information, thereby determining targeted users. This allows for efficient calculation and retrieval of users meeting the criteria from large amounts of data. By employing the expression logic tree data structure, the generated data structure model is highly stable, effectively ensuring system stability. Furthermore, the data structure model does not need to be changed when adding new targeting conditions, and the system protocol related to the data structure does not require modification. Therefore, the backend system running this system protocol is unaware of this change, reducing module changes related to the system protocol and thus improving the efficiency of targeting deployment. This expression logic tree data structure can flexibly express the intersection and union logic between tags in the targeting conditions, enabling it to handle complex and ever-changing business scenarios. In addition, by performing paradigm analysis based on this data structure to obtain at least one conjunctive expression and comparing this at least one conjunctive expression with user profile information, this method can significantly improve the computational efficiency of ad retrieval, avoiding waste of computing resources and bandwidth. This method can be used to process and express targeting condition information and is also applicable to logical operation scenarios involving large list filtering conditions and other limited-dimensional data, making information targeting processing flexible, stable, and efficient. Attached Figure Description

[0021] Further details, features, and advantages of this disclosure are disclosed in the following description of exemplary embodiments in conjunction with the accompanying drawings. The drawings are for illustrative purposes only and are not intended to limit the scope of this disclosure. Furthermore, throughout the drawings, the same reference numerals denote the same or similar elements. In the drawings:

[0022] Figure 1 An information orientation method based on relevant technologies is illustrated schematically;

[0023] Figure 2 The diagram illustrates application scenarios of some embodiments of this disclosure;

[0024] Figure 3 A schematic diagram of an orientation condition interface on a terminal device in an embodiment of the present disclosure is shown.

[0025] Figure 4 A schematic diagram of another user interface on a terminal device is shown in an embodiment of the present disclosure;

[0026] Figure 5 A flowchart illustrating an information orientation method according to some embodiments of the present disclosure is shown schematically;

[0027] Figure 6a A schematic diagram of the data structure of an expression logic tree according to some embodiments of the present disclosure is shown;

[0028] Figure 6b A schematic diagram illustrating the data structure of an expression logic tree according to some embodiments of the present disclosure is shown.

[0029] Figure 7a A schematic diagram illustrating the data structure of the expression logic tree prior to normal form dissection, according to some embodiments of the present disclosure;

[0030] Figure 7b A schematic diagram of the data structure of the expression logic tree after normal form dissection is shown according to some embodiments of the present disclosure;

[0031] Figure 8 A schematic diagram illustrating user profile information according to some embodiments of the present disclosure is shown.

[0032] Figures 9a-9b The following are schematic diagrams illustrating the data structure of the expression logic tree according to some embodiments of the present disclosure;

[0033] Figure 10 This is a schematic diagram illustrating the process of generating a code corresponding to a tag according to some embodiments of this disclosure;

[0034] Figure 11 A schematic block diagram of an information orientation device according to some embodiments of the present disclosure is shown; and

[0035] Figure 12 A schematic block diagram of a computing system capable of implementing an information orientation method according to some embodiments of the present disclosure is shown. Detailed Implementation

[0036] Several embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings to enable those skilled in the art to understand and implement the disclosure. However, the present disclosure may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided herein to make the disclosure comprehensive and complete, and to fully convey the scope of the disclosure to those skilled in the art. These embodiments are illustrative and not limiting of the disclosure.

[0037] It will be understood that although the terms first, second, third, etc., may be used herein to describe various elements, steps, and / or parts, these elements, steps, and / or parts should not be limited by these terms. These terms are used only to distinguish one element, step, or part from another. Therefore, the first element, step, or part discussed below may be referred to as the second element, step, or part without departing from the teachings of this disclosure.

[0038] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit this disclosure. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprising” and / or “including” as used in this specification specify the presence of a feature, integral, step, operation, element, and / or component, but do not exclude the presence of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof. As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items.

[0039] Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains. It will be further understood that terms such as those defined in commonly used dictionaries should be interpreted as having meanings consistent with their meanings in the relevant field and / or the context of this specification, and will not be interpreted in an idealized or overly formal sense unless expressly defined herein.

[0040] It should be noted that, provided there is no conflict, features in different embodiments can be combined and used arbitrarily.

[0041] Before detailing the embodiments of this disclosure, some related concepts will first be explained.

[0042] 1. Service Provider: A person or organization that uses servers to provide data for internet users to access, such as a company that provides web pages or mini-programs.

[0043] 2. Information to be targeted: Information that will be directed to targeted users (target user group). Information to be targeted may include, for example, product recommendation information, advertising information, prompt information, etc.

[0044] 3. Information Targeting: The process of determining the target users to whom the targeted information will be directed.

[0045] 4. Logic Tree: A tree-like structure that indicates data and the logical relationships between data. It is usually composed of nodes and has a certain hierarchy and association. For example, a logic tree can be a tree-like structure of information in a directional condition according to a certain hierarchy and association.

[0046] 5. Targeting Dimensions: Targeting conditions can be categorized into different dimensions, such as "age" and "gender". For example, in the targeting condition "age 1-10 and gender male", "age 1-10" belongs to the "age" targeting dimension, while "gender male" belongs to the "gender" targeting dimension.

[0047] 6. Tags: Specific sub-conditions under the targeting dimension. For example, under the targeting dimension "age", there can be multiple tags such as "0-10 years old", "11-20 years old", "21-100 years old".

[0048] 7. Conjunction: In the data structure of an expression logic tree, a conjunction indicates a logical operation formed by connecting two or more labels using a logical "intersection". In this application, it can also indicate a logical operation consisting of a single label. For example, in the data structure of an expression logic tree, a conjunction formed by the labels "Age 1-10" and "Gender Male" indicates a logical operation that simultaneously satisfies both the labels "Age 1-10" and "Gender Male". In this application, if there is only one label in the orientation condition, the conjunction can indicate a logical operation that satisfies that label. For example, if there is only one label "Female" in the orientation condition, the conjunction can indicate a logical operation that satisfies the label "Female".

[0049] 8. Paradigm Disjunction: The process of converting the data structure of an expression logic tree into a disjunction composed of conjunctions, where the disjunction is a substructure in the data structure of the expression logic tree and indicates the logical operation form formed by connecting two or more conjunctions with a logical "union". In this application, it can also indicate the logical operation form indicated by a single conjunction. For example, the disjunction composed of conjunction 1 and conjunction 2 indicates at least one of the logical operation forms indicated by both conjunction 1 and conjunction 2. In this application, if there is only one label in the orientation condition, the conjunction can indicate the logical operation form that satisfies that label, and the disjunction can indicate the logical operation form that satisfies the logical operation form indicated by the conjunction. For example, if there is only one label "female" in the orientation condition, the conjunction can indicate the logical operation form that satisfies the label "female", and the disjunction can indicate the logical operation form that satisfies the logical operation form indicated by the conjunction.

[0050] In current network scenarios, users typically access data provided by service providers through devices and networks. Service providers need to push information to users for various reasons. In some cases, service providers need to identify specific user groups and then target information to those groups. For example, they might recommend the latest developments in news articles users are browsing, or recommend related products to users who have viewed certain items.

[0051] The inventors of this application have discovered that, in related technologies, there are two main technical solutions for processing data related to information orientation: Solution 1, using multiple fields to process data for each orientation dimension separately; and Solution 2, using a large field to process the orientation data in plaintext. Taking the orientation conditions including age "18-30 years old" and gender "male" as an example, these two solutions can be processed as follows.

[0052] Option 1:

[0053] FAge(age field, string) Fgender(gender field, enum) 18~30 MALE

[0054] Option 2:

[0055]

[0056] In addition, in some related technologies, when computers match users based on processed targeting criteria, they typically filter and select each dimension of the targeting criteria against individual pieces of information in the user profile, such as... Figure 1 As shown (taking age, gender, education, etc. as dimensions in the targeting criteria as an example), it includes:

[0057] S110. Determine if the user's age matches the age dimension in the targeting conditions;

[0058] S120. Determine if the user's gender matches the gender dimension in the targeting conditions;

[0059] S130. Determine if the user's education level matches the education level dimension in the targeting conditions;

[0060] S140. Determine that other information in the user profile information matches other dimensions in the targeting conditions; and

[0061] S150. Obtain a set of targeted information that matches the user profile information.

[0062] The inventors further discovered that these two solutions had some drawbacks:

[0063] 1. The data model is unstable. Adding new targeted condition information requires changes to the data structure model, such as adding fields or modifying the definitions of existing fields. This involves changes to multiple modules of the system, resulting in low efficiency in targeted deployment.

[0064] 2. When querying users who match the targeting criteria, the query efficiency is relatively low. For example, it requires matching each dimension one by one, which involves a large amount of computation. In addition, the user profile information can only be determined to match the targeting criteria after the entire matching process is completed, which results in a large demand for computing and bandwidth resources.

[0065] In order to alleviate or solve at least one of the above problems and other possible problems, this application provides an information targeting method, an information targeting device, a computing device, and a computer-readable storage medium.

[0066] Figure 2 A schematic diagram of scenario 200, representing some embodiments of this disclosure, is shown. Scenario 200 may include terminal devices 210 and 230, networks 260 and 270, and one or more computing devices 250. User 220 interacts with terminal device 210 to communicate with computing device 250. Computing device 250 may be a single server or a group of servers, or other devices with certain computing and communication capabilities. Computing device 250 may be provided and maintained by a service provider (not shown). In some cases, advertiser 240 may interact with terminal device 230 to provide information targeting requests to computing device 250. For example, the service provider and advertiser may negotiate to target recommendation information to a target user group, such as when a user browses a specific page provided by the service provider. The service provider can analyze the information targeting by analyzing data from computing device 250.

[0067] In some embodiments, user 220 can interact with computing device 250 through terminal device 210, for example, by browsing web pages. Computing device 250 can perform data mining based on user browsing behavior, such as collecting user profile information including age, gender, education level, and preferences. Advertisers can interact with computing device 250 through terminal device 230 to set targeting conditions for desired information and send them to computing device 250 for processing.

[0068] The computing device 250 can acquire targeting conditions related to the information to be targeted, including tags under at least one targeting dimension; generate a data structure of an expression logic tree based on the targeting conditions, wherein the data structure of the expression logic tree is used to indicate logical expressions for logical operations on the tags under at least one targeting dimension; perform normalization disjunction on the data structure of the expression logic tree to generate at least one conjunction; match user profile information with the at least one conjunction, wherein the user profile information and each of the at least one conjunction have the same logical operation form; and in response to the user profile information matching with one of the at least one conjunction, determine the user corresponding to the user profile information as the targeted user to whom the information to be targeted will be directed. Further, the computing device 250 can direct the information to be targeted to this targeted user, for example, by providing advertising information provided by an advertiser to the targeted user.

[0069] In some embodiments, networks 260, 270 may include a combination of a local area network (LAN), a wide area network (WAN), a personal area network (PAN), and / or a communication network such as the Internet. In this case, computing device 250 may act as a server, and terminal devices 210, 230 may interact with one or more computing devices 250, for example, via the network, such as sending data to or receiving data from it. Each of computing device 250 and terminal devices 210, 230 may include at least one communication interface (not shown) capable of communicating via network 260 or 270. Such a communication interface may be one or more of the following: any type of network interface (e.g., a network interface card (NIC)), wired or wireless (such as an IEEE 801.11 wireless LAN (WLAN)) wireless interface, Wi-MAX interface, Ethernet interface, Universal Serial Bus (USB) interface, cellular network interface, Bluetooth™ interface, Near Field Communication (NFC) interface, etc.

[0070] The terminal device can be any type of device with computing capabilities, including mobile computers (e.g., Microsoft® Surface® devices, personal digital assistants (PDAs), laptops, notebook computers, and devices such as the Apple iPad).TM Tablet computers, netbooks, etc.), mobile phones (e.g., cellular phones, smartphones such as Microsoft Windows® phones, Apple iPhones, and devices implementing Google® Android). TM Operating systems such as phones, Palm® devices, Blackberry® devices, etc.), and wearable devices (such as smartwatches, head-mounted devices, including smart glasses such as Google® Glass). TM (e.g., mobile devices, game consoles, smart TVs, etc.) or other types of mobile devices. In some embodiments, the terminal device may also be a fixed device, such as a desktop computer, game console, smart TV, etc. Furthermore, when multiple terminal devices exist, the multiple terminal devices may be the same or different types of devices.

[0071] Terminal devices 210 and 230 may include terminal applications (not shown) that interact with user 220 or advertiser 240. The terminal application can be a local application, a web application, or a lightweight app (such as a mobile app or WeChat app). If the terminal application is a local application that requires installation, it can be installed on the terminal device. If the terminal application is a web application, it can be accessed through a browser. If the terminal application is a mini-program, it can be opened directly on the user's terminal without installation by searching for relevant information (such as the application's name) or scanning its graphic code (such as a barcode or QR code).

[0072] In some embodiments, targeting criteria for a target user group are determined manually. For example, a third-party advertiser 240 can determine the target user group by setting targeting criteria for a target user group that matches the product positioning and then direct the targeting information to that target user group. Figure 3 Schematic illustration of the corresponding Figure 2This is a schematic diagram of the targeting condition interface 300 of the terminal device 230. The targeting condition interface 300 includes an editing area 310 and a status area 350. The editing area 310 includes an option bar 315 for determining targeting dimensions, which includes at least one option, such as demographic attributes, user behavior, custom audience, device targeting, industry preference, traffic source attributes, weather targeting, etc. Each option can include multiple targeting dimensions 320. For example, the qualitative dimensions 320 included under demographic attributes include region, age, gender, education level, marital / parental status, employment status, property status, consumption type, etc. Each targeting dimension 320 includes one or more labels. For example, the targeting dimension "age" includes labels such as "14-18 years old", "19-24 years old", "25-29 years old", "30-39 years old", "40-49 years old", "50 years old and above", etc., and may also include custom labels. The status area 350 includes a targeting condition status area 355 indicating the status of the selected targeting conditions. For example, the targeting condition status area 355 indicates that the selected targeting conditions include age 18-60 years old, geographical location (resident) Shenzhen, and application installation is not installed for promotion.

[0073] For example, advertiser 240 can select targeting conditions based on targeting conditions interface 300, and transmit them to computing device 250 via terminal device 230 for processing, such as storage.

[0074] Figure 4 Schematic illustration of the corresponding Figure 2 A schematic diagram of the user interface 400 of the terminal device 210. In recent years, due to the rise of numerous Internet technologies such as mini-programs, media has developed extensively, and service providers can profit by publishing advertisers' recommendation information on their operated and managed pages. Figure 4 As shown, the user interface 400 may include a content component 410 and a targeted information component 420. The targeted information component 420 is used, for example, to present targeted information directed or pushed to the user, such as an advertisement.

[0075] Figure 5 A flowchart of an information orientation method 500 according to some embodiments of the present disclosure is illustrated schematically. For example... Figure 5 As shown, the information orientation method 500 according to some embodiments of the present disclosure includes the following steps S510-S550.

[0076] S510. Obtain the targeting conditions related to the information to be targeted, including labels in at least one targeting dimension.

[0077] For example, computing device 250 can obtain information from terminal device 230 based on advertiser 240. Figure 3The targeting conditions interface 300 shown displays targeting conditions related to the information to be targeted. These targeting conditions include labels under at least one targeting dimension. For example, if the information to be targeted is a recommendation about a certain car, the targeting condition could be "no car and age greater than or equal to 20 years old." This targeting condition includes the label "no car" under the "property status" targeting dimension and the label "greater than or equal to 20 years old" under the "age" targeting dimension.

[0078] S520. Generate a data structure for an expression logic tree based on orientation conditions, wherein the data structure of the expression logic tree is used to indicate a logical expression for performing logical operations on labels in at least one orientation dimension.

[0079] The computing device 250 can generate an expression logic tree data structure based on orientation conditions. The computation result obtained using the expression logic tree data structure can be used to indicate the logical expression for performing logical operations on labels in at least one orientation dimension. Some embodiments of generating an expression logic tree data structure based on orientation conditions can be found below. Figures 6a-6b The description. For example, Figure 6b The data structure 6300 of the expression logic tree shown can indicate the following logical expressions:

[0080] (Owns a car AND owns a house) AND (22-30 years old OR 35-50 years old) Formula (1)

[0081] The ! symbol represents the logical "NOT", and other labels not shown in node 6314 are ignored.

[0082] S530. Perform normalization parse on the data structure of the expression logic tree to generate at least one conjunction.

[0083] As an example, Figure 7a A schematic diagram of the data structure 702 of the expression logic tree prior to paradigmatic dissection is shown according to some embodiments of the present disclosure. In some embodiments, for descriptive purposes, it can be... Figure 6b The data structure 6300 of the expression logic tree shown is simplified to: Figure 7aThe data structure 702 of the expression logic tree is shown. The data structure 702 includes nodes 710, 712, 714, and 716, which represent the labels "!owns a car", "owns a house", "22-30 years old", and "35-50 years old", respectively. The data structure 702 also includes nodes 720, 722, and 760. Node 720 represents the logical "intersection", used to perform a logical "intersection" operation on the labels "!owns a car" and "owns a house" represented by nodes 710 and 712. Node 722 represents the logical "union", used to perform a logical "union" operation on the labels "22-30 years old" and "35-50 years old" represented by nodes 714 and 716. Node 760 represents the logical "intersection", used to perform a logical "intersection" operation on the results obtained from the logical "intersection" and logical "union" operations represented by nodes 720 and 722.

[0084] As an example, Figure 7b A schematic diagram of the data structure 704 of the expression logic tree after normalization parsing is shown according to some embodiments of the present disclosure. In some embodiments, the data structure 702 of the expression logic tree can be subjected to normalization parsing to obtain... Figure 7b The data structure 704 of the expression logic tree is shown. The data structure 704 includes nodes 731, 732, 734, 736, 738, and 739, which represent the tags "!owns a car", "owns a house", "22-30 years old", "!owns a car", "owns a house", and "35-50 years old", respectively. The data structure 704 also includes nodes 740, 742, and 750. Node 740 represents a logical "intersection," used to perform a logical "intersection" operation on the tags "!owns a car", "owns a house", and "22-30 years old" represented by nodes 731, 732, and 734. Node 742 represents a logical "intersection," used to perform a logical "intersection" operation on the tags "!owns a car", "owns a house", and "35-50 years old" represented by nodes 736, 738, and 739. Node 750 represents the logical "intersection", which is used to perform a logical "intersection" operation on the result of the operation obtained by using the logical "intersection" represented by nodes 740 and 742.

[0085] The 704 data structure, which represents a logic tree, can indicate logical expressions:

[0086] (!Owns a car AND owns a house AND 22-30 years old) OR ((!Owns a car AND owns a house AND 35-50 years old) Formula (2).

[0087] The data structure 704 for expressing a logic tree can include multiple sub-items, each representing a conjunction, for example... Figure 7bConjunctions 770 and 772 are used in the example. Each of conjunctions 770 and 772 can represent a logical intersection operation on multiple labels. After normalization dissection, the logical expression indicated by the data structure of the expression logic tree can be abstracted into a logical union operation of at least one conjunction, i.e., a OR b OR c OR d OR …, where a, b, c, d… indicate different conjunctions. By performing normalization dissection on the data structure of the expression logic tree to generate at least one conjunction, where the conjunction has the same logical operation form as the user profile information, the data structure can be transformed and made easier for computers to process and subsequently match with user profile information. This form of conjunction is very computationally friendly. Once the number of conjunctions under node 750 increases, parallel expansion and distributed computing can be easily achieved by adding machines, with each computing device only responsible for matching a portion of the conjunctions, thereby further improving the computing speed.

[0088] S540. Match the user profile information with at least one conjunction, wherein the user profile information and each of the at least one conjunction have the same logical operation form.

[0089] As an example, Figure 8 A schematic diagram of user profile information 800 according to some embodiments of the present disclosure is shown. Figure 8 As can be seen, the user profile information 800 has the same logical operation form as each of the at least one conjunction 770, 772. That is, the user profile information 800 can use the logical intersection represented by node 820 to perform a logical intersection operation on multiple tags represented by nodes 810, 812, 814, and 816 respectively. Nodes 810, 812, 814, and 816 represent the user's tags "18 years old," "male," "Guangdong," and other tags, respectively. These tags indicate various attributes of the user, thus depicting the user's "profile." For example, this tag information can be obtained through various available methods such as data mining.

[0090] In some embodiments, the information targeting method targets all users of the service provider. In some embodiments, the information targeting method targets specific user packages imported in a customized manner, such as a specific user package that identifies a group of users who own property. In the case of specific user packages, it is equivalent to determining that the users in that specific user package have satisfied one or more of the tags represented by the level 1 nodes. For example, for a specific user package of users who own property, it can be determined that the users in that specific user package have satisfied the "own property" tag.

[0091] In some embodiments, matching user profile information with at least one conjunction includes: matching user information with each of the at least one conjunction in sequence.

[0092] S550, in response to the user profile information matching one of at least one conjunction, the user corresponding to the user profile information is identified as the targeted user to whom the targeted information will be directed.

[0093] In some embodiments, determining the user corresponding to the user profile information as the targeted user to whom the targeting information will be directed, in response to the user profile information matching one of the at least one conjunction, includes: stopping the matching process and determining the user corresponding to the user profile information as the targeted user to whom the targeting information will be directed, in response to the user profile information matching one of the at least one conjunction. Only one conjunction matching the user profile information is required to consider the targeting condition to match the user profile information, which can save significant computational resources.

[0094] For example, after identifying a target user, you can send a targeted message or perform other targeted actions to that user.

[0095] The embodiments of this disclosure provide a simple and easy-to-implement information targeting method. This method generates an expression logic tree data structure and, based on this data structure, generates at least one conjunctive expression to compare with user profile information, thereby determining targeted users. This allows for efficient calculation and retrieval of users meeting the criteria from large amounts of data. By employing the expression logic tree data structure, the generated data structure model is highly stable, effectively ensuring system stability. Furthermore, the data structure model does not need to be changed when adding new targeting conditions, and the system protocol related to the data structure does not require modification. Therefore, the backend system running this system protocol is unaware of this change, reducing module changes related to the system protocol and thus improving the efficiency of targeting deployment. This expression logic tree data structure can flexibly express the intersection and union logic between tags in the targeting conditions, enabling it to handle complex and ever-changing business scenarios. In addition, by performing paradigm analysis based on this data structure to obtain at least one conjunctive expression and comparing this at least one conjunctive expression with user profile information, this method can significantly improve the computational efficiency of ad retrieval, avoiding waste of computing resources and bandwidth. This method can be used to process and express targeting condition information and is also applicable to logical operation scenarios involving large list filtering conditions and other limited-dimensional data, making information targeting processing flexible, stable, and efficient.

[0096] Figure 6aA schematic diagram of an exemplary expression logic tree data structure 6200 according to some embodiments of the present disclosure is shown. In some embodiments, the expression logic tree data structure includes n levels of nodes, where n is an integer greater than or equal to 2. For example, as... Figure 6a As shown, the data structure 6200 representing the logic tree includes four levels of nodes: level 1 6202 (which can also be represented as a "point" layer), level 2 6204 (which can also be represented as a "line" layer), level 3 6206 (which can also be represented as a "surface" layer), and level 4 6208 (which can also be represented as a "volume" layer). It should be understood that the number of nodes is not limited to four levels; those skilled in the art can conceive of other levels, as long as they achieve the purpose of this disclosure. Exemplarily, this data structure representing the logic tree can be used to process (e.g., store) directional conditions.

[0097] In some embodiments, the data structure of the expression logic tree can be generated, for example, based on orientation conditions, by generating at least one level 1 node, which represents a label under at least one orientation dimension; and generating level 2 to level n nodes in the n-level nodes, which represent logical operators, wherein the logical operators represented by the level 2 nodes are configured to perform logical operations on the labels represented by the level 1 nodes, and the logical operators represented by the (i+1)-th level nodes are configured to perform logical operations on the results of the logical operators represented by the level 1 nodes, where i is a positive integer greater than 1 and less than n. As an example, such as... Figure 6a The system generates at least one first-level node 6210, 6212, 6214, 6216, which represents a label in at least one orientation dimension; and generates second-level nodes 6220, 6222, third-level nodes 6230, 6232, 6234, and fourth-level node 6240, wherein the second-level nodes 6220, 6222, third-level nodes 6230, 6232, 6234, and fourth-level node 6240 represent logical operators. For example, node 6216 indicates the label "(age) 18-20", nodes 6220 and 6222 represent the logical "AND" (indicated by "OR"), and nodes 6232, 6234, and 6240 represent the logical "AND" (indicated by "AND"). The logical operators represented by level 2 nodes 6220 and 6222 are configured to perform logical operations on the tags represented by level 1 nodes 6210, 6212, 6214, and 6216. The logical operators represented by level i+1 nodes are configured to perform logical operations on the results of the logical operators represented by level i nodes, where i is greater than 1 and less than n (in...). Figure 6a In the context of the problem, n is a positive integer (n=4).

[0098] Figure 6b A schematic diagram of an exemplary data structure 6300 representing a logic tree according to some embodiments of the present disclosure is shown. Figure 6b As shown, the data structure 6300 representing the logic tree includes at least one first-level node 6310, 6312, 6314, 6316, and 6318.

[0099] In some embodiments, the second to nth level nodes in the nth level nodes can be generated as follows: at least one second-level node 6322, 6324, 6326 is generated, each of the at least one second-level node 6322, 6324, 6326 representing a logical operator for tags, which is used to perform logical operations on at least a portion of the tags in the same orientation dimension among the tags in at least one orientation dimension (for example, the logical operator for tags represented by node 6326 is used to perform logical operations on the tags represented by node 6310, section The label-based logical operator represented by point 6322 is used to perform logical operations on the labels represented by nodes 6312 and 6314, and the label-based logical operator represented by node 6324 is used to perform logical operations on the labels represented by nodes 6316 and 6318; at least one third-level node 6330, 6332 is generated, each of at least one third-level node 6330, 6332 representing a logical operator for the orientation dimension, which is used to perform logical operations on the labels represented by the same set of second-level nodes from at least one second-level node. The results of the operations obtained by the logical operators are subjected to logical operations. The second-level nodes in the same group are the second-level nodes that perform logical operations on the tags under the same orientation dimension (for example, nodes 6326 and 6322 are the same group of second-level nodes, and node 6324 is the same group of second-level nodes; correspondingly, the logical operator for the orientation dimension represented by node 6330 is used to perform logical operations on the results of the operations obtained by the logical operators for the tags represented by nodes 6326 and 6322, and the logical operator for the orientation dimension represented by node 6332 is used to perform logical operations on the results of the operations obtained by the logical operators for the tags represented by node 6324); and a fourth-level node 6340 is generated. The fourth-level node 6340 represents a logical operator for the orientation condition, which is used to perform logical operations on the results of the operations obtained by the logical operators for the orientation dimension represented by at least one third-level node (for example, the logical operator for the orientation condition represented by node 6340 is used to perform logical operations on the results of the operations obtained by the logical operators for the orientation dimension represented by nodes 6330 and 6332).

[0100] By employing an expression logic tree data structure, this method generates a highly stable data structure model, effectively ensuring system stability. Furthermore, the data structure model remains unchanged when adding new targeting conditions, and the system protocol related to the data structure requires no modification. Therefore, backend systems running this protocol are unaware of the changes, reducing module modifications related to the system protocol and consequently improving targeting deployment efficiency. This expression logic tree data structure can flexibly express the intersection and union logic between tags in targeting conditions, thus handling complex and ever-changing business scenarios. Additionally, using an expression logic tree data structure facilitates the subsequent generation of conjunctions with the same logical operation form as user profile information, which facilitates the matching of targeting conditions with user profile information.

[0101] For example, nodes 6310, 6312, and 6314 represent the labels "owns a car," "owns a house," and other labels under the "property status" orientation dimension, respectively, while nodes 6316 and 6318 represent the labels "22-30 years old" and "35-50 years old" under the "age" orientation dimension, respectively.

[0102] In some embodiments, as represented by nodes 6322 and 6324, the logical operators for tags include a logical "AND," which is used to perform a logical "AND" operation on at least a portion of the tags in the same orientation dimension. For example, the logical "AND" represented by node 6322 is used to perform a logical "AND" operation on the tags "owns a house," etc., represented by nodes 6312 and 6314, and the logical "AND" represented by node 6324 is used to perform a logical "AND" operation on the tags "22-30 years old" and "35-50 years old," represented by nodes 6316 and 6318. A logical "AND" operation on different tags indicates that at least one of the different tags needs to be satisfied. By performing a logical "AND" operation on the tags, it can be indicated that only at least one of the different tags needs to be satisfied.

[0103] In some embodiments, such as those represented by node 6326, the logical operators for tags include a logical NOT (indicated by "NOT"), which is used to perform a logical NOT operation on one of the tags in at least one orientation dimension. For example, the logical NOT represented by node 6326 is used to perform a logical NOT operation on the tag "has a car" represented by node 6310. The logical NOT operation indicates that the opposite condition in the tag is met. For example, performing a logical NOT operation on the tag "has a car" yields the tag "no car". By performing a logical NOT operation on the tags, tags that represent the opposite condition to the original tag can be generated, thereby facilitating the function of excluding specific target groups among users.

[0104] In some embodiments, as represented by nodes 6330 and 6332, the logical operators for the directional dimension include a logical "intersection". The logical "intersection" is used to perform a logical "intersection" operation on the results of logical operators for tags represented by the same group of second-level nodes (at least one of the second-level nodes). The same group of second-level nodes are second-level nodes that perform logical operations on tags under the same directional dimension. For example, the logical "intersection" represented by node 6330 is used to perform a logical "intersection" operation on the results of logical operators for tags represented by nodes 6326 and 6322 to obtain the result for the directional dimension of "property status"; the logical "intersection" represented by node 6332 is used to perform a logical "intersection" operation on the results of a logical "union" operation represented by node 6324 to obtain the result for the directional dimension of "age". The logical "intersection" operation instructions for different tags must satisfy all of the different tags. By performing a logical intersection operation on the results of logical NOT and / or logical AND operations represented by second-level nodes, it is possible to exclude specific target groups from users. For example, performing a logical NOT operation on the tag "owns a car" to obtain the tag "no car", and then performing a logical intersection operation with other tags, the group of users who own cars can be excluded from users who match the other tags.

[0105] In some embodiments, such as those represented by node 6340, the logical operators for orientation conditions include a logical "intersection," which is used to perform a logical "intersection" operation on the results of logical operators for orientation dimensions represented by at least one level 3 node. For example, the logical "intersection" represented by node 6340 is used to perform a logical "intersection" operation on the results of logical "union" operations represented by nodes 6330 and 6332. By performing a logical "intersection" operation on the results of logical operators represented by level 3 nodes, the intersection of different orientation dimensions can be calculated, thereby generating the results for the orientation conditions.

[0106] Figures 9a-9b Schematic diagrams of data structures 902 and 904 for expression logic trees according to some embodiments of the present disclosure are shown respectively. Data structures 902 and 904 for expression logic trees are respectively for... Figures 7a-7b The labels represented in the data structures 702 and 704 of the expression logic tree shown are generated after encoding processing.

[0107] In some embodiments, refer to Figure 5 The information targeting method shown allows each label in at least one targeting dimension to be represented by a corresponding code. The corresponding code can be generated by encoding each label in the at least one targeting dimension within the same encoding interval.

[0108] For example, to facilitate the expression, processing, and logical operations of tags, each tag in at least one orientation dimension can be encoded within the same encoding interval to generate a corresponding code.

[0109] Through encoding, for example, it is possible to make Figures 6a-6b The tags represented by the first-level nodes are simple codes, such as int (int) numbers in computers. For example, if owning a car is coded as 1, owning a house as 2, and the base age code is 100, then 1 year old is coded as 101, and other ages follow the same pattern. Figure 6b The logical expression (1) shown can be represented as:

[0110] (!1 AND 2) AND (102~130 OR 135~150) Formula (3)

[0111] In some embodiments, for in Figures 7a-7b The labels represented in data structures 702 and 704 of the expression logic tree shown are encoded to obtain... Figures 9a-9b The data structure diagrams 902 and 904 of the expression logic tree are shown. In the data structure 902, nodes 910, 912, 914, and 916 correspond to nodes 710, 712, 714, and 716, respectively. In the data structure 904, nodes 931, 932, 934, 936, 938, and 939 correspond to nodes 731, 732, 734, 736, 738, and 739, respectively. The data structure 904 can include conjunctions 970 and 972, which correspond to conjunctions 770 and 772, respectively.

[0112] This encoding process improves the efficiency of computer processing (e.g., storing) tags. Furthermore, when targeting information based on user profiles, only purely numerical calculations are required, significantly increasing computational efficiency.

[0113] In some embodiments, refer to Figure 3Multiple targeting dimensions can exist. For example, the demographic attributes option can include targeting dimensions such as age, gender, region, education level, and behavioral interests; the custom audience option can include various custom user groups; and the device targeting option can include dozens of targeting dimensions such as internet access scenario and device brand and model. Each targeting dimension can further include tens of millions, even hundreds of millions or billions of tag types. Tag types might be numerical fields like age, enumeration types like education level, map ranges like region, or text types like liking trendy brands. All these various tag types need to be encoded.

[0114] In some embodiments, at least one interval segment can be allocated in the same encoding interval, with each interval segment corresponding to at least one orientation dimension; then, each label is encoded in the interval segment corresponding to its orientation dimension to generate the corresponding code.

[0115] For example, the length of the same coding interval can be between 0 and 2. 64 -1 (value range) means that it can be stored using a maximum of 64 bits of bit space. In some embodiments, a segment of the same encoding range can be reasonably allocated to each orientation dimension, with each segment corresponding one-to-one with the orientation dimension. The specific allocation method can be described as follows:

[0116] (1) For labels under directional dimensions such as age and education, since they are exhaustive, a fixed-length interval (e.g., 0-1000) can be assigned;

[0117] (2) For tags under targeted dimensions such as equipment brand, a fixed-length interval can be assigned, for example, from 1001 to 2. 32 -1 means that it can be stored in a 32-bit space;

[0118] (3) Tags in orientation dimensions such as behavioral interests can include multi-dimensional tags, which can be associated with different sub-dimensions such as time windows and intensity, and include basic tags (e.g., the tag "very interested in streetwear within the past six months" is associated with the two sub-dimensions of time and intensity, and includes the basic tag "streetwear"). In this case, in addition to allocating fixed-length intervals (which can be stored, for example, in a 32-bit space) to each basic tag, fixed-length intervals should also be allocated to each sub-dimension, such as time windows / intensity, which can each be stored in a 3-bit space; and

[0119] (4) For targeting dimensions under options such as custom audiences or for targeting dimensions such as text-based keywords (such as targeting dimensions based on playback context keywords), the types and quantities of tags included in such targeting dimensions are very large and have poor controllability. They can be stored using a bit space with more bits, for example, allocating more than 2 bits to such targeting dimensions. 32 The interval segment.

[0120] After mapping the orientation dimensions to intervals one-to-one within the same encoding interval, each label is encoded within the interval corresponding to its orientation dimension to generate a corresponding code. For example, the orientation dimension of education level can be assigned an interval of 2001-3000, and the orientation dimension of gender can be assigned an interval of 3001-4000. Labels related to different education levels are encoded within the 2001-3000 interval, and labels related to different genders are encoded within the 3001-4000 interval, thus generating corresponding codes. In some embodiments, when encoding, for basic, exhaustively listed labels such as age, education level, and device brand type, the values ​​represented by the intervals assigned to the orientation dimension for that label can be directly used as equivalent codes. For example, if the interval assigned to the orientation dimension of education level is 2001-3000, then the label "primary school" can be encoded as 2010, the label "junior high school" as 2020, and the label "senior high school" as 2030, etc.

[0121] In some embodiments, for targeting dimensions such as text-based keywords, an encoding for the tag (e.g., an Int 64 encoding) can be generated based on a hash transformation of the text-based tag.

[0122] By encoding each label within the interval corresponding to its orientation dimension to generate a corresponding code, it is guaranteed that there will be no conflict between the codes corresponding to the labels under different orientation dimensions, which improves the efficiency of label processing and maintains scalability for subsequent iterative updates.

[0123] In some embodiments, as described above, the labels in at least one orientation dimension include multi-dimensional labels, which are associated with at least two different sub-dimensions and include a base label. Figure 10 This is a schematic diagram illustrating the process 1000 of generating codes corresponding to multi-dimensional tags according to some embodiments of this disclosure. For example... Figure 10As shown, in the interval segment 1030 corresponding to the orientation dimension where the multi-dimensional label is located, at least two different sub-dimensions and the basic label are encoded respectively to generate at least three first codes 1010, 1012, and 1014 corresponding to at least two different sub-dimensions and the basic label respectively; and at least some of the codes 1010 and 1012 in the at least three first codes 1010, 1012, and 1014 are shifted so that the at least three first codes 1010, 1012, and 1014 are located in different bit intervals of the interval segment, thereby obtaining at least three second codes 1020, 1022, and 1024, and a logical "OR" operation is performed on the at least three second codes 1020, 1022, and 1024 to generate the corresponding code 1026. For example, as... Figure 10 As shown, segment 1030 comprises a 10-bit binary space. In some embodiments, segment 1030 can start from 0, meaning the encoding of tag 1026 is between 0 and 2. 10 Between -1. In some embodiments, the interval 1030 can be counted from other values, such as from the 10th bit. In this case, the values ​​of the bits outside the interval 1030 do not change during the shift process, and the encoding of tag 1026 is in 2. 10 -1 to 2 20 Between -1 and 1. By combining shift operations and logical "OR" operations to encode multi-dimensional labels, information from different sub-dimensions can also be reflected in the encoding of the multi-dimensional labels, thus generating different codes for different sub-dimensions.

[0124] In some embodiments, the multi-dimensional label is associated with a first sub-dimension and a second sub-dimension, with the second sub-dimension occupying b2 bits and the basic label occupying n bits, corresponding to three first codes d1, d2, and v for sub-dimension 1, sub-dimension 2, and the basic label, respectively. A shift operation is performed on at least a portion of the at least three first codes so that the at least three first codes are located in different bit intervals of the interval segment, thereby obtaining at least three second codes. A logical "OR" operation is then performed on the at least three second codes to generate the corresponding code, including:

[0125] The corresponding code is generated using the following formula: d1 << (n+b2) | d2 << n | v,

[0126] Where b2, n, d1, d2, and v are all positive integers. It should be understood that "<<" indicates a left shift operation, and "|" indicates a logical "OR" operation.

[0127] For example, such as Figure 10As shown, b1 is 1, b2 is 2, n is 3, and the interval 1030 starts from 0. The three first codes 1010, 1012, and 1014 represent the three first codes d1 (1 here), d2 (11 here), and v (111 here) corresponding to sub-dimension 1, sub-dimension 2, and the basic label, respectively. The three first codes 1010, 1012, and 1014 are shifted using the above formula so that the three first codes d1 (1 here), d2 (11 here), and v (111 here) are located in different bit intervals of the interval, thereby obtaining the three second codes 1020 (100000 here), 1022 (11000 here), and 1024 (111). The corresponding code 1026 (111111) is generated by performing a logical "OR" operation on the three second codes 1020, 1022, and 1024. Encoding multi-dimensional labels in this way integrates information from various sub-dimensions and basic labels, and avoids the probability of duplicate generated codes.

[0128] Figure 11 A schematic block diagram of an information targeting device 1100 according to some embodiments of the present disclosure is shown. The information targeting device 1100 includes: an acquisition module 1101 configured to acquire targeting conditions related to information to be targeted, the targeting conditions including labels in at least one targeting dimension; a generation module 1102 configured to generate a data structure of an expression logic tree based on the targeting conditions, wherein the data structure of the expression logic tree is used to indicate logical expressions for logical operations on labels in at least one targeting dimension; a normal form extraction module 1103 configured to perform normal form extraction on the data structure of the expression logic tree to generate at least one conjunction; a matching module 1104 configured to match user profile information with at least one conjunction, wherein the user profile information and each of the at least one conjunction have the same logical operation form; and a determination module 1105 configured to, in response to a match between user profile information and one of the at least one conjunction, determine the user corresponding to the user profile information as the target user to whom the information to be targeted will be directed. The information targeting device 1100 has similar principles or advantages to information targeting methods, which will not be elaborated further here.

[0129] Figure 12 A schematic block diagram of a computing system 1200 capable of implementing an information orientation method according to some embodiments of the present disclosure is shown. In some embodiments, the computing system 1200 represents Figure 2 The computing device 250 in the application scenario.

[0130] The computing system 1200 may include various types of devices, such as computing devices, computers, client devices, system-on-a-chip and / or any other suitable computing system.

[0131] The computing system 1200 may include at least one processor 1202, memory 1204, multiple communication interfaces 1206, display device 1208, other input / output (I / O) devices 1210, and one or more mass storage devices 1212 that are capable of communicating with each other, such as via a system bus 1211 or other suitable means.

[0132] Processor 1202 may be a single processing unit or multiple processing units, and all processing units may include a single or multiple computing units or multiple cores. Processor 1202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuits, and / or any device that manipulates signals based on operating instructions. Among other capabilities, processor 1202 may be configured to acquire and execute computer-readable instructions stored in memory 1204, mass storage device 1212, or other computer-readable media, such as program code of operating system 1216, program code of application program 1218, program code of other program 1220, etc., to implement the information orientation method provided in the embodiments of this disclosure.

[0133] Memory 1204 and mass storage device 1212 are examples of computer storage media for storing instructions that are executed by processor 1202 to perform the various functions described above. For example, memory 1204 may generally include both volatile and non-volatile memory (e.g., RAM, ROM, etc.). Furthermore, mass storage device 1212 may generally include hard disk drives, solid-state drives, removable media, including external and removable drives, memory cards, flash memory, floppy disks, optical disks (e.g., CDs, DVDs), storage arrays, network-attached storage, storage area networks, etc. Memory 1204 and mass storage device 1212 may be collectively referred to herein as memory or computer storage media, and may be non-transitory media capable of storing computer-readable, processor-executable program instructions as computer program code, which may be executed by processor 1202 as a specific machine configured to perform the operations and functions described in the examples herein.

[0134] Multiple program modules can be stored on mass storage device 1212. These programs include operating system 1216, one or more application programs 1218, other programs 1220, and program data 1222, and they can be loaded into memory 1204 for execution. Examples of such application programs or program modules may include, for example, computer program logic (e.g., computer program code or instructions) for implementing the information orientation method provided herein. Moreover, these program modules can be distributed across different physical locations to achieve their respective functions. For example, those described as being made by... Figure 2 The methods executed by the computing device 250 can be distributed across multiple computing devices.

[0135] Although Figure 12 The modules 1212, 1218, 1220, and 1222, or portions thereof, are illustrated as being stored in memory 1204 of computing system 1200; however, modules 1212, 1218, 1220, and 1222, or portions thereof, may be implemented using any form of computer-readable medium accessible by computing system 1200. As used herein, “computer-readable medium” includes at least two types of computer-readable media: computer storage media and communication media.

[0136] Computer storage media includes volatile and non-volatile, removable and non-removable media implemented by any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, DVD, or other optical storage devices, magnetic cassettes, magnetic tapes, disk storage devices or other magnetic storage devices, or any other non-transfer medium that can be used to store information for access by a computing system.

[0137] In contrast, communication media can embody computer-readable instructions, data structures, program modules, or other data within modulated data signals such as carrier waves or other transmission mechanisms. Computer storage media as defined herein do not include communication media.

[0138] The computing system 1200 may also include one or more communication interfaces 1206 for exchanging data with other devices, such as via a network, direct connection, etc. The communication interface 1206 can facilitate communication across various network and protocol types, including wired networks (e.g., LAN, cable, etc.) and wireless networks (e.g., WLAN, cellular, satellite, etc.), the Internet, etc. The communication interface 1206 can also provide communication with external storage devices (not shown), such as storage arrays, network-attached storage, storage area networks, etc.

[0139] In some examples, a display device 1208, such as a monitor, may be included for displaying information and images. Other I / O devices 1210 may be devices that receive various inputs from the user and provide various outputs to the user, and may include touch input devices, gesture input devices, cameras, keyboards, remote controls, mice, printers, audio input / output devices, and so on.

[0140] This application provides a computer-readable storage medium storing computer-readable instructions thereon, which, when executed, implement the aforementioned information orientation method.

[0141] This application provides a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computing device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computing device to perform the information orientation method provided in the various optional implementations described above.

[0142] In the description of this specification, the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to a specific feature, structure, material, or characteristic described in connection with that embodiment or example that is included in at least one embodiment or example of this disclosure. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.

[0143] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing custom logic functions or processes, and the scope of preferred embodiments of this disclosure includes additional implementations in which functions may be performed not in the order shown or discussed (including substantially simultaneously or in reverse order depending on the functions involved), as will be understood by those skilled in the art to which embodiments of this disclosure pertain.

[0144] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.

[0145] By studying the accompanying drawings, the disclosure, and the appended claims, those skilled in the art can understand and implement variations of the disclosed embodiments in practicing the claimed subject matter. In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite articles "a" or "an" do not exclude a plurality. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used for profit.

Claims

1. An information targeting method, comprising: Obtain targeting conditions related to the information to be targeted, the targeting conditions including labels in at least one targeting dimension; A data structure for generating an expression logic tree is generated based on the orientation conditions, wherein the data structure of the expression logic tree is used to indicate the logical expression for performing logical operations on the labels in at least one orientation dimension; Normalization is performed on the data structure of the expression logic tree to generate at least one conjunction; The user profile information is matched with the at least one conjunction, wherein the user profile information and each of the at least one conjunction have the same logical operation form; as well as In response to the user profile information matching one of the at least one conjunction, the user corresponding to the user profile information is identified as the targeted user to whom the targeted information will be directed; The data structure of the expression logic tree includes n levels of nodes, where n is an integer greater than or equal to 2, and the data structure for generating the expression logic tree based on the orientation conditions includes: Generate at least one first-level node, the at least one first-level node being used to represent the label in at least one orientation dimension; and Generate nodes from level 2 to level n in the n-level nodes. The nodes from level 2 to level n are used to represent logical operators. The logical operators represented by the level 2 nodes are configured to perform logical operations on the labels represented by the level 1 nodes, and the logical operators represented by the (i+1)-th level nodes are configured to perform logical operations on the results of the logical operators represented by the level 1 nodes, where i is a positive integer greater than 1 and less than n.

2. The information targeting method according to claim 1, wherein, The generation of the 2nd to nth level nodes in the nth level nodes includes: Generate at least one second-level node, each of the at least one second-level node representing a logical operator for a label, which is used to perform logical operations on at least a portion of the labels in the same orientation dimension among the labels in at least one orientation dimension; Generate at least one third-level node, each of which represents a logical operator for a specific orientation dimension, used to perform logical operations on the results of logical operations on labels represented by the same group of second-level nodes in the at least one second-level node set, wherein the same group of second-level nodes are second-level nodes that perform logical operations on labels under the same orientation dimension; and A fourth-level node is generated, which represents a logical operator for a directional condition and is used to perform logical operations on the results of the operation obtained by using the logical operator for a directional dimension represented by the at least one third-level node.

3. The information targeting method according to claim 2, wherein, The logical operators for the tags include a logical "AND", which is used to perform a logical "AND" operation on at least a portion of the tags in the same orientation dimension among the tags in at least one orientation dimension.

4. The information targeting method according to claim 2, wherein, The logical operators for the tags include a logical "NOT", which is used to perform a logical "NOT" operation on one of the tags in at least one orientation dimension.

5. The information targeting method according to claim 2, wherein, The logical operators for the orientation dimension include logical "intersection". The logical "intersection" is used to perform a logical "intersection" operation on the operation results obtained by the logical operators for tags represented by the same group of second-level nodes in the at least one second-level node. The same group of second-level nodes are second-level nodes that perform logical operations on tags under the same orientation dimension.

6. The information targeting method according to claim 2, wherein, The logical operators for the orientation conditions include a logical "intersection", which is used to perform a logical "intersection" operation on the results of the operation obtained by the logical operators for the orientation dimensions represented by the at least one third-level node.

7. The information targeting method according to any one of claims 1-6, wherein, Each label in the labels of at least one orientation dimension is represented by a corresponding code, which is generated in the following manner: Encode each label in at least one orientation dimension within the same encoding interval to generate the corresponding code.

8. The information targeting method according to claim 7, wherein, Encoding each label in at least one orientation dimension within the same encoding interval to generate the corresponding code includes: At least one interval segment is allocated within the same encoding interval, and the at least one interval segment corresponds one-to-one with the at least one orientation dimension; and Each label is encoded in the interval segment corresponding to its orientation dimension to generate the corresponding code.

9. The information targeting method according to claim 8, wherein, The labels in at least one orientation dimension include multi-dimensional labels, which are associated with at least two different sub-dimensions and include a base label. The step of encoding each label within the interval corresponding to its orientation dimension to generate the corresponding code includes: Encode the at least two different sub-dimensions and the base label respectively within the interval segment corresponding to the orientation dimension where the multi-dimensional label is located, to generate at least three first codes respectively corresponding to the at least two different sub-dimensions and the base label; and At least a portion of the at least three first codes are shifted so that the at least three first codes are located in different bit intervals of the interval segment, thereby obtaining at least three second codes, and a logical "OR" operation is performed on the at least three second codes to generate the corresponding code.

10. The information targeting method according to claim 9, wherein, The multi-dimensional label is associated with the first sub-dimension and the second sub-dimension, with the second sub-dimension occupying b2 bits. The basic label occupies n bits, corresponding to the three first codes d1, d2, and v of the first sub-dimension, the second sub-dimension, and the basic label, respectively. The step of shifting at least a portion of the at least three first codes so that the at least three first codes are located in different bit intervals of the interval segment, thereby obtaining at least three second codes, and performing a logical "OR" operation on the at least three second codes to generate the corresponding code includes: The corresponding encoding is generated using the following formula: d1 << (n+b2) | d2 << n | v, Where b2, n, d1, d2 and v are all positive integers.

11. The information targeting method according to any one of claims 1-6, wherein, The step of matching the user profile information with the at least one conjunction includes: The user profile information is matched sequentially with each of the at least one conjunction, and Wherein, the step of determining the user corresponding to the user profile information as the targeted user to whom the targeted information will be directed in response to the user profile information matching one of the at least one conjunction includes: In response to the user profile information matching one of the at least one conjunctions, the matching stops and the user corresponding to the user profile information is identified as the target user to whom the targeting information will be directed.

12. An information orientation device, the device comprising: The acquisition module is configured to acquire targeting conditions related to the information to be targeted, the targeting conditions including labels in at least one targeting dimension; The generation module is configured to generate a data structure of an expression logic tree based on the orientation conditions, wherein the data structure of the expression logic tree is used to indicate the logical expression for performing logical operations on the labels in at least one orientation dimension; The normal form extraction module is configured to perform normal form extraction on the data structure of the expression logic tree to generate at least one conjunction. The matching module is configured to match user profile information with the at least one conjunction, wherein the user profile information and each of the at least one conjunction have the same logical operation form. as well as The determination module is configured to, in response to a match between the user profile information and one of the at least one conjunction, determine the user corresponding to the user profile information as the target user to whom the targeting information will be directed; The data structure of the expression logic tree includes n levels of nodes, where n is an integer greater than or equal to 2, and the generation module is further configured to: Generate at least one first-level node, the at least one first-level node being used to represent the label in at least one orientation dimension; and Generate nodes from level 2 to level n in the n-level nodes. The nodes from level 2 to level n are used to represent logical operators. The logical operators represented by the level 2 nodes are configured to perform logical operations on the labels represented by the level 1 nodes, and the logical operators represented by the (i+1)-th level nodes are configured to perform logical operations on the results of the logical operators represented by the level 1 nodes, where i is a positive integer greater than 1 and less than n.

13. A computing device comprising a memory and a processor, the memory being configured to store computer-executable instructions thereon, the computer-executable instructions performing the information orientation method of any one of claims 1-11 when executed on the processor.

14. A computer-readable storage medium storing computer-executable instructions thereon, which, when executed on a processor, perform the information orientation method of any one of claims 1-11.

Citation Information

Patent Citations

  • User portrait construction system

    CN107578292A

  • Intelligent electric fee collection method based on AI

    CN108830653A