User portrait analysis method and server based on online advertisement delivery
By generating semantic scripts of user behavior and performing dependency syntax tree parsing and hierarchical attention propagation, the problem of capturing the evolution path of user interests in existing technologies is solved, and accurate user profile analysis is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN YUCHUAN TECH CO LTD
- Filing Date
- 2026-04-14
- Publication Date
- 2026-07-10
AI Technical Summary
Existing technologies cannot effectively capture the hierarchical organizational relationships and intent units in user behavior sequences, cannot identify key nodes where user interests undergo fundamental changes, ignore the continuity and causal relationship between search behavior and community access behavior, and are difficult to generate profile feature clusters that reflect the evolution path of user interests.
By acquiring long-tail keyword sequences and community interaction records of users on digital media platforms, a semantic script of user behavior is generated. Using dependency parsing and hierarchical attention propagation operations, key plot nodes and semantic transition relationship nodes are extracted to generate a cluster of user profile features.
It achieves a complete transformation from fragmented behavior logs to structured user intent profiles, accurately reflecting the intensity distribution of user interests, active periods, and preferred objects, and generating profile feature clusters that can reflect the evolution path of user interests.
Smart Images

Figure CN122367522A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of big data analytics, and in particular to a user profiling analysis method and server based on online advertising. Background Technology
[0002] In the field of digital advertising, user profiling is a core technological element for achieving precision marketing. Traditionally, advertising systems have relied primarily on users' historical click behavior, browsing history, and explicit feedback (such as ratings and favorites) to build user interest models. In recent years, as search engines and vertical communities have become the main entry points for users to obtain information, the industry has begun to explore integrating user queries entered in search boxes with their interactive behaviors in various vertical communities (such as technical forums, interest groups, and Q&A platforms) to enrich the dimensions of user profiles.
[0003] However, existing technologies typically treat search behavior data and community interaction data as independent feature sources, employing statistical frequency analysis or topic-based semantic clustering methods to extract user interest tags separately. These methods neglect the continuity and causal relationship between search behavior and community access behavior over time, making it difficult to capture the complete behavioral script of users from information retrieval to community interaction and decision-making. More importantly, existing technologies generally lack the ability to perform semantic structure analysis of user behavior sequences, failing to identify hierarchical intent units from behavior logs or pinpoint key nodes where user interests undergo fundamental shifts.
[0004] Therefore, how to extract structured user behavior semantic scripts from heterogeneous long-tail search keyword sequences and community interaction record sequences, and generate a profile feature cluster that reflects the evolution path of user interests based on these scripts, is a technical problem that urgently needs to be solved in this field. Summary of the Invention
[0005] This application provides a user profile analysis method and server based on online advertising, which is used to mine structured user behavior semantic scripts from heterogeneous search long-tail keyword sequences and community interaction record sequences, and generate a profile feature cluster that can reflect the evolution path of user interests based on the scripts.
[0006] This application provides a user profiling analysis method based on online advertising, applied to a user profiling analysis server. The method includes: acquiring a set of raw behavioral trajectory data generated by a target user on a digital media platform, the raw behavioral trajectory data set including a sequence of long-tail search terms generated by search behavior and a sequence of community interaction records generated by visiting vertical communities; merging the long-tail search term sequence and the community interaction record sequence in chronological order into a user behavior action unit chain, and generating a set of behavioral evolution relationship edges based on the behavioral intent transfer relationship between adjacent units in the user behavior action unit chain; the user behavior action unit chain and the behavioral evolution relationship edge set together constitute a user behavior semantic script; performing dependency parsing on the user behavior semantic script to generate an intent text corresponding to the user behavior semantic script. The intent chapter structure includes multiple intent chapter segments and a set of subordinate relationship identifiers and a set of causal modification relationship identifiers between intent chapter segments. A hierarchical attention propagation operation is performed within the intent chapter structure. An attention propagation path from the top-level intent chapter to the bottom-level intent chapter is established based on the set of subordinate relationship identifiers between intent chapter segments. A hierarchical attention distribution map is generated based on the semantic association strength in the attention propagation path. Intent chapter segments corresponding to attention concentration areas are extracted from the hierarchical attention distribution map as key plot nodes, and the locations where semantic structures break between adjacent intent chapter segments are detected as semantic transition relationship nodes. The key plot nodes and the semantic transition relationship nodes are jointly mapped to a set of semantic anchor points for ad placement. A user profile feature cluster is generated based on the set of semantic anchor points for ad placement.
[0007] One embodiment of this application provides a user profile analysis server, including: A processor; a storage device having a computer program stored thereon; a network interface for providing network communication functions; when the computer program is executed by the processor, the processor enables the processor to implement any of the user profiling analysis methods based on online advertising.
[0008] One embodiment of this application provides a readable storage medium storing a program or instructions, which, when executed by a processor, implement the steps of the user profile analysis method based on online advertising placement.
[0009] Therefore, it can be seen that the user profile feature cluster generated by the embodiments of this application can accurately reflect the intensity distribution of user interests, active periods, and deep features such as preferred objects, realizing a complete technical transformation path from fragmented behavior logs to structured user intent profiles. Attached Figure Description
[0010] To more clearly illustrate the technical solutions in the embodiments or related technologies of this application, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0011] Figure 1 This is a flowchart illustrating a user profiling analysis method based on online advertising, provided as an embodiment of this application.
[0012] Figure 2 This is a schematic diagram of the basic structure of a user profile analysis server provided in an embodiment of this application.
[0013] Figure 3 This is a functional block diagram of a user profile analysis device provided in an embodiment of this application. Detailed Implementation
[0014] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0015] Please see Figure 1 , Figure 1 This is a flowchart of a user profile analysis method based on online advertising placement provided in an embodiment of this application. The method can be executed by a user profile analysis server or jointly by the user profile analysis server and the system. The method includes steps 110-150.
[0016] Step 110: Obtain the set of raw behavioral trajectory data generated by the target user on the digital media platform. The set of raw behavioral trajectory data includes the long-tail keyword sequence generated by the search behavior and the community interaction record sequence generated by visiting the vertical community.
[0017] In this embodiment, the set of raw behavioral trajectory data involved in step 110 refers to the unprocessed behavioral traces left by the target user on the digital media platform. The long-tail keyword sequence records the complete search expression entered by the user each time they query, while the community interaction record sequence records the user's browsing path and dwell time in different vertical communities.
[0018] In detail, the user profiling analysis server acquires raw behavioral trajectory data through a data acquisition gateway module deployed on the digital media platform server. The data acquisition gateway module accesses the platform's user behavior message queue in listening mode. This message queue stores user behavior events reported by clients in real time. Each user behavior event is encapsulated as a protocol buffer message object, which contains header and payload information. The header information includes a user unique identifier field, an event timestamp field, and an event type enumeration field. The payload information is a key-value pair mapping structure, and its specific field content depends on the value of the event type enumeration field. When the event type enumeration field is an enumeration value corresponding to a search behavior, the payload information includes a query string field and a search result count field. When the event type enumeration field is an enumeration value corresponding to a page access behavior, the payload information includes a Uniform Resource Locator (URL) field, a page dwell time field, and a referencing page field.
[0019] The data acquisition gateway module groups events in the message queue according to the user's unique identifier field, extracting events belonging to the same target user. The extracted list of events belonging to the target user is then sorted according to the event's timestamp field. Within the sorted event list, each event object is iterated over, and the event is routed to two different processing channels based on the value of the event type enumeration field.
[0020] For search behavior events, extract the content of the query string field from the load information, perform word segmentation on the query string to obtain the long-tail keyword string, set the search initiation timestamp to the value of the event generation timestamp field, and combine the long-tail keyword string and the search initiation timestamp into a search behavior record object.
[0021] For page access behavior events, the community identifier and the accessed page path are parsed from the Uniform Resource Locator field, the access dwell time parameter is extracted from the page dwell time field, the access timestamp is set to the value of the event generation timestamp field, and the community identifier, accessed page path, access dwell time parameter and access timestamp are combined into a community access behavior record object.
[0022] All search behavior records are sorted by timestamp to form a long-tail keyword sequence, and all community access behavior records are sorted by timestamp to form a community interaction record sequence. These two sequences together constitute the original behavior trajectory data set.
[0023] Step 120: Merge the long-tail keyword sequence and the community interaction record sequence into a user behavior action unit chain in chronological order, and generate a behavior evolution relationship edge set based on the behavior intent transfer relationship between adjacent units in the user behavior action unit chain. The user behavior action unit chain and the behavior evolution relationship edge set together form a user behavior semantic script.
[0024] Among them, the user behavior action unit chain is essentially a chain of behavior sequences formed by arranging search behavior and community access behavior according to the time of occurrence. The behavior evolution relationship edge set is used to characterize the transfer pattern between adjacent behaviors at the intent level. The user behavior semantic script organizes the above elements into a directed graph structure describing the behavior advancement process.
[0025] Step 121: Extract the long-tail keyword string and search initiation timestamp corresponding to each search behavior from the original behavior trajectory data set. Encapsulate each long-tail keyword string into a search behavior unit, and sort the search behavior units according to the order of the search initiation timestamps to generate a search behavior unit sequence.
[0026] For example, iterate through the list of search behavior record objects in the original behavior trajectory data set. For each search behavior record object in the list, read its stored long-tail keyword string and search initiation timestamp. Instantiate a new search behavior unit, which is a structured object containing three attributes: the behavior category attribute is assigned the fixed string "SearchAction", the behavior payload attribute is assigned the long-tail keyword string, and the time sequence attribute is assigned the search initiation timestamp. Append the instantiated search behavior unit to a dynamic array.
[0027] After all search behavior records have been processed, the user profile analysis server compares and sorts the elements in the dynamic array according to the values of the time sequence attributes. The sorting algorithm adopts merge sort based on timestamp values, so that elements with smaller time sequence attribute values are placed at the beginning of the array and elements with larger time sequence attribute values are placed at the end of the array. The dynamic array obtained after sorting is the search behavior unit sequence.
[0028] Step 122: Extract the community identifier, access page path, and access duration parameters corresponding to each vertical community access behavior from the original behavior trajectory data set. Encapsulate each vertical community access behavior into a community access behavior unit, and sort the community access behavior units according to the order of access timestamps to generate a community access behavior unit sequence.
[0029] Similarly, iterate through the list of community access behavior record objects in the original behavior trajectory data set. For each community access behavior record object in the list, read its stored community identifier, access page path, access dwell time parameter, and access timestamp. Construct a new community access behavior unit instance. This structured object contains four attributes: the behavior category attribute is assigned the fixed string "CommunityAction", the community identifier attribute is assigned the community identifier, the page path attribute is assigned the access page path, the dwell time attribute is assigned the access dwell time parameter, and the time sequence attribute is assigned the access timestamp. Append the constructed community access behavior unit instance to a dynamic array.
[0030] Once all community access behavior records have been processed, the user profile analysis server compares and sorts the elements in the dynamic array according to their time-series attribute values. The sorting algorithm uses quicksort based on timestamp values, placing elements with smaller time-series attribute values at the beginning of the array and elements with larger time-series attribute values at the end. The resulting dynamic array after sorting is the community access behavior unit sequence.
[0031] Step 123: Interleave and merge the search behavior unit sequence and the community access behavior unit sequence according to their respective timestamps to generate a fused behavior unit sequence arranged in chronological order, and label each unit in the fused behavior unit sequence as a user behavior action unit to obtain a user behavior action unit chain.
[0032] The search behavior unit sequence and the community access behavior unit sequence are treated as two ordered sequences sorted in ascending order by timestamp. A merge algorithm is used to merge them: both sequences are traversed simultaneously, and the timestamps of the two currently pointed-to behavior units are compared at each step. The unit with the smaller timestamp is extracted and appended to the merged sequence, while the pointer of that sequence is moved. If the timestamps are equal, they are processed according to a preset rule (e.g., adding search behavior units first). After one sequence has been traversed, the remaining units of the other sequence are appended to the end of the merged sequence. Each unit in the merged sequence is given a type label (e.g., UserActionUnit) to identify it as a user behavior action unit. The resulting sequence is the user behavior action unit chain.
[0033] Step 124: Traverse each pair of adjacent user behavior action units in the user behavior action unit chain, extract the first behavior type identifier of the previous user behavior action unit and the second behavior type identifier of the next user behavior action unit, and record the transition pattern between the first behavior type identifier and the second behavior type identifier as the behavior intent transition relationship.
[0034] In this step, the length of the user action unit chain, LenChain, is obtained. A loop index variable, Idx, is set, with a value ranging from 0 to LenChain minus 2. In each loop, the user action unit at index Idx in the chain is retrieved as the predecessor unit object, and the user action unit at index Idx plus 1 is retrieved as the successor unit object.
[0035] Next, the behavior category attribute field of the predecessor unit object is read, and its value is used as the first behavior type identifier. The behavior category attribute field of the successor unit object is read, and its value is used as the second behavior type identifier. The possible values for the first and second behavior type identifiers are SearchAction or CommunityAction. The first and second behavior type identifiers are combined into an ordered dual structure, where the first component is the first behavior type identifier and the second component is the second behavior type identifier. This ordered dual structure represents the behavior intent transfer relationship from the predecessor unit object to the successor unit object. Finally, this behavior intent transfer relationship is stored in a temporary record table, which uses the position index of adjacent unit pairs as the key and the behavior intent transfer relationship as the value.
[0036] Step 125: Generate directed behavior evolution relationship edges between each pair of adjacent user behavior action units based on the behavior intention transfer relationship. The behavior evolution relationship edges carry transfer mode labels, and the set of all behavior evolution relationship edges constitutes the behavior evolution relationship edge set.
[0037] The user profile analysis server iterates through each entry in the temporary record table generated in step 124. For each entry, it obtains the predecessor and successor unit objects, as well as the ordered dual structure of the behavior intent transfer relationship. Then, it constructs a directed edge data structure containing three fields: the source node field is assigned a reference to the predecessor unit object, the target node field is assigned a reference to the successor unit object, and the edge label field is assigned a string representation of the ordered dual structure of the behavior intent transfer relationship. This directed edge data structure is added to an edge set container. After all entries in the temporary record table have been processed, this edge set container contains the directed edges generated between each pair of adjacent user behavior action units; this edge set container is the behavior evolution relationship edge set.
[0038] Step 126: Combine the user behavior action unit chain and the behavior evolution relationship edge set into a user behavior semantic script. The user behavior semantic script uses the user behavior action unit chain as the node set and the behavior evolution relationship edge set as the edge set to generate a directed graph structure describing the user behavior progression process.
[0039] In this step, the user profile analysis server initializes a directed graph data structure object, which internally maintains a list of nodes and an adjacency list. All user behavior action units in the user behavior action unit chain are added to the node list in sequence, and each user behavior action unit occupies a unique index position in the node list.
[0040] Then, for each directed edge instance in the set of behavior evolution relationship edges, the index position of the user behavior action unit pointed to by the source node field of the directed edge instance in the node list is obtained as the source index, and the index position of the user behavior action unit pointed to by the target node field in the node list is obtained as the target index.
[0041] In the adjacency list, the target index is appended to the value list corresponding to the source index as the key, and the value of the edge label field is also stored. After the above processing, the directed graph data structure object fully expresses the temporal adjacency relationship and transition pattern information between user behavior action units. This directed graph data structure object is the user behavior semantic script.
[0042] Step 130: Perform dependency parsing on the user behavior semantic script to generate the intent chapter structure corresponding to the user behavior semantic script. The intent chapter structure contains multiple intent chapter fragments and a set of subordinate relationship identifiers and causal modification relationship identifiers between intent chapter fragments.
[0043] In this embodiment, the dependency parsing operation draws on the method of analyzing sentence grammatical structure in natural language processing to transform the behavior sequence into a tree-like expression with hierarchical relationships. The intent discourse structure is composed of multiple intent chapter fragments and their subordinate relationship identifiers and causal modification relationship identifiers, which are used to represent the hierarchical organization and logical dependencies of user intent.
[0044] Step 131: Map each user behavior action unit in the user behavior semantic script to a word node in the dependency syntax tree. Each word node carries the behavior type identifier and behavior object identifier corresponding to the user behavior action unit.
[0045] Optionally, each user behavior action unit in the node list of the user behavior semantic script is traversed. For each user behavior action unit, its behavior category attribute field is read. If the value of the behavior category attribute field is SearchAction, the long-tail search term string is obtained from the behavior payload attribute field. Part-of-speech tagging is performed on the long-tail search term string to identify the verb and noun parts. The verb part is used as the semantic predicate of the user behavior action unit, and the noun part is used as the behavior object identifier. If the value of the behavior category attribute field is CommunityAction, the community identifier is obtained from the community identifier attribute field. The fixed verb Access is used as the semantic predicate, and the community identifier is used as the behavior object identifier.
[0046] Next, the user profiling analysis server instantiates a word node object. This object contains four attributes: the lexical attribute is assigned the semantic predicate, the part-of-speech tag attribute is assigned the value of the behavior category attribute field, the dependent role attribute is initialized to empty, and the behavior object identifier attribute is assigned the extracted behavior object identifier. This word node object is then stored in a mapping table, which uses the index of the user behavior action unit in the node list as the key and the word node object as the value.
[0047] Step 132: Based on the transition pattern labels of the behavior evolution relationship edge set in the user behavior semantic script, determine the dependency relationship types between different user behavior action units. The dependency relationship types include subject-predicate relationship type, verb-object relationship type, and modifier relationship type.
[0048] In this step, the user profile analysis server iterates through each directed edge instance in the set of behavioral evolution relationship edges. It reads the edge label field of that directed edge instance, which stores a string representation of the ordered dual structure of the behavioral intent transfer relationship. The string representation is parsed to reconstruct the first behavior type identifier and the second behavior type identifier.
[0049] The dependency relationship type is determined based on the type combination of adjacent behavioral units. The specific mapping rules are as follows: If both the preceding and following actions are search behaviors, the mapping is a subject-predicate relationship, indicating that the query intent of the former semantically limits the latter; if the preceding action is a search behavior followed by a community visit, the mapping is a verb-object relationship, indicating that the search behavior triggered an access to a specific community; if the preceding action is a community visit followed by a search behavior, the mapping is a modifier relationship, indicating that the information obtained from the community modifies the keyword selection for the subsequent search. Finally, the determined dependency relationship type is stored in a newly added attribute field of the directed edge instance.
[0050] Step 133: Using the directed edges in the behavior evolution relation edge set as dependency arcs and the user behavior action unit as word nodes, generate a dependency syntax tree structure that covers the entire user behavior semantic script according to the dependency relation type. The root node of the dependency syntax tree structure corresponds to the starting user behavior action unit.
[0051] Further, the user behavior action unit with the earliest timestamp in the node list of the user behavior semantic script is obtained, i.e., the element with index position 0 in the node list. The word node object corresponding to this element is used as the root node of the dependency syntax tree. Specifically, a tree structure object is initialized, which contains a root node reference and a child node mapping table. The root node reference is pointed to the word node object corresponding to the starting user behavior action unit in the mapping table in step 131. Each directed edge instance in the behavior evolution relation edge set is traversed. For each directed edge instance, the index position of the user behavior action unit corresponding to the source node field in the node list is obtained, and the source word node object is obtained from the mapping table through this index position.
[0052] Next, the index position of the user action unit corresponding to the target node field in the node list is obtained, and the target word node object is retrieved from the mapping table using this index position. The dependency relationship type stored in the directed edge instance is used as the connection type. In the child node mapping table of the tree structure object, the target word node object and its connection type are appended as an entry to the value list corresponding to the key, using the unique identifier of the source word node object as the key.
[0053] Simultaneously, a parent node reference field is set for the target word node object, pointing to the source word node object. After all directed edge instances have been processed, it is checked whether any word node object still has an empty parent node reference field and is not the root node. For such word node objects, their parent node reference is set to the root node, and a corresponding entry is added to the root node's child node mapping table. It can be understood that the tree structure object obtained after the above processing is the dependency syntax tree structure.
[0054] Step 134: Perform subtree partitioning on the dependency syntax tree structure. Extract each subtree rooted at the core verb node into an intent chapter fragment. Each intent chapter fragment corresponds to a complete user micro-intent expression unit.
[0055] In this embodiment, all word node objects in the dependency syntax tree structure are traversed, and the part-of-speech tag attribute of each word node object is checked. If the part-of-speech tag attribute value is SearchAction, the word node object is marked as a core verb node. For each word node object marked as a core verb node, a depth-first traversal is performed starting from that node. The depth-first traversal process is as follows: An empty node set is set up to store all word node objects visited during the traversal. The current core verb node is added to the node set.
[0056] For each child node in the child node mapping table of the current node, recursively perform the same depth-first traversal process on that child node, adding the child node and all its descendant nodes to the node set. After the depth-first traversal is completed, the node set contains all word node objects in the subtree rooted at the core verb node. These word node objects are then sorted according to the timestamp order of their corresponding user action units in the user behavior semantic script, resulting in an ordered sequence of word nodes.
[0057] Next, an intent chapter fragment object is constructed, containing four attributes: a fragment identifier attribute assigned a globally unique incrementing integer value, a node sequence attribute assigned an ordered sequence of word nodes, a root node attribute assigned the current core verb node, and a time range attribute assigned the interval formed by the timestamps of the first and last word nodes in the node sequence. All generated intent chapter fragment objects are then stored in a list.
[0058] Step 135: Extract the subordinate relationships between different intent chapter segments. When the subtree corresponding to the first intent chapter segment completely contains the subtree corresponding to the second intent chapter segment, establish a subordinate relationship identifier between the first intent chapter segment and the second intent chapter segment. All subordinate relationship identifiers constitute a subordinate relationship identifier set.
[0059] Based on the above, the user profile analysis server iterates through the list of intent chapter fragment object instances generated in step 134. For each pair of distinct intent chapter fragment objects in the list, denoted as fragment A and fragment B, it obtains the set of unique identifiers for all word node objects contained in the node sequence attributes of fragment A, denoted as set SetA. It also obtains the set of unique identifiers for all word node objects contained in the node sequence attributes of fragment B, denoted as set SetB. Finally, it determines whether SetB is a proper subset of SetA, meaning that every element in SetB exists in SetA, and SetA and SetB are not equal.
[0060] If the judgment result is true, it is determined that the subtree of fragment A completely contains the subtree of fragment B. Then, a dependency identifier object is generated, containing two fields: the upper-level intent field is assigned the fragment identifier attribute value of fragment A, and the lower-level intent field is assigned the fragment identifier attribute value of fragment B. This dependency identifier object is added to a collection container. After traversing all fragment pairs, this collection container stores all dependency identifier objects; this collection container is the dependency identifier set.
[0061] Step 136: Extract the causal modification relationship between different intention chapter segments. When there is a causal dependency arc between the action unit in the first intention chapter segment and the action unit in the second intention chapter segment, establish a causal modification relationship identifier between the first intention chapter segment and the second intention chapter segment. All causal modification relationship identifiers constitute a causal modification relationship identifier set.
[0062] Further, each directed edge instance in the dependency syntax tree structure is traversed; this directed edge instance has its dependency relation type determined in step 132 and stored in the edge attributes. It is checked whether the dependency relation type stored in the directed edge instance is a modifier relation type. If it is a modifier relation type, the word node object corresponding to the source node field of the directed edge instance is obtained, and the intent chapter segment to which the word node object belongs is determined.
[0063] An exemplary method for determining this is as follows: traverse the list of intent chapter fragment object instances generated in step 134, and find the intent chapter fragment object whose node sequence attribute contains the word node object. Similarly, obtain the word node object corresponding to the target node field of the directed edge instance, and determine the intent chapter fragment to which the word node object belongs. If the intent chapter fragment to which the source node belongs is not the same fragment as the intent chapter fragment to which the target node belongs, then establish a causal modification relationship identifier between the two intent chapter fragments.
[0064] Based on this, a causal modification relationship identifier object is constructed. This object contains two fields: the cause intent field is assigned the fragment identifier attribute value of the intent chapter segment to which the source node belongs, and the result intent field is assigned the fragment identifier attribute value of the intent chapter segment to which the target node belongs. This causal modification relationship identifier object is added to a collection container. After traversing all directed edge instances of modification relationship types, this collection container becomes the causal modification relationship identifier set.
[0065] Step 137: Combine the intent chapter fragments, the set of subordinate relationship identifiers, and the set of causal modification relationship identifiers into an intent chapter structure. The intent chapter structure is used to represent the hierarchical organization and logical dependencies of intent units of different granularities in the user behavior semantic script.
[0066] In this embodiment, the user profile analysis server instantiates an intent chapter structure object, which contains three attribute fields: the chapter list field is assigned a list of intent chapter fragment object instances generated in step 134, the subordinate relationship field is assigned a set of subordinate relationship identifiers generated in step 135, and the causal modification relationship field is assigned a set of causal modification relationship identifiers generated in step 136. In this intent chapter structure object, the subordinate relationship identifier set defines the hierarchical inclusion relationship between intent chapter fragments, forming a tree-like organizational structure; the causal modification relationship identifier set defines the semantic dependency relationship between intent chapter fragments on different branches, forming cross-level connections.
[0067] Step 140: Perform a hierarchical attention propagation operation in the intent chapter structure, establish an attention propagation path from the top-level intent chapter to the bottom-level intent chapter based on the set of subordinate relationship identifiers between intent chapter fragments, and generate a hierarchical attention distribution map based on the semantic association strength in the attention propagation path.
[0068] In this embodiment, the hierarchical attention propagation operation refers to establishing an attention transmission path from the top to the bottom in the hierarchical tree structure of the intent chapter according to the subordinate relationship, and calculating the attention weight value of each node according to the semantic association strength on the path, and finally forming a hierarchical attention distribution map.
[0069] Step 141: Extract all intent chapter fragments that do not have a subordinate relationship identifier from the intent chapter structure as a top-level intent chapter set. Each top-level intent chapter in the top-level intent chapter set corresponds to the highest-level node of the intent chapter structure.
[0070] The user profile analysis server iterates through each intent chapter fragment object in the chapter list field of the intent chapter structure object. For the currently iterated intent chapter fragment object, it retrieves its fragment identifier attribute value, denoted as CurrId. It then checks the dependency identifier set to see if there exists a dependency identifier object whose lower-level intent field value is equal to CurrId. If no such dependency identifier object exists, it means that the intent chapter fragment is not contained by any other intent chapter fragment, i.e., the fragment does not have a dependency identifier. Intent chapter fragment objects that meet the above conditions are added to a list container. After all fragments in the chapter list field have been iterated through, the intent chapter fragment objects stored in the list container represent all top-level intent chapters, and the list container itself becomes the top-level intent chapter set.
[0071] Step 142: Extract all intent chapter fragments from the intent chapter structure that are included by other intent chapter fragments through the subordinate relationship identifier and no longer contain other intent chapter fragments as the underlying intent chapter set.
[0072] The user profile analysis server iterates through each intent chapter fragment object in the chapter list field of the intent chapter structure object. For the currently iterated intent chapter fragment object, it retrieves its fragment identifier attribute value, denoted as CurrId. First, it determines whether the fragment contains other intent chapter fragments, that is, it searches in the subordinate relationship identifier set to see if there exists a subordinate relationship identifier object whose parent intent field value is equal to CurrId.
[0073] If the aforementioned subordinate relationship identifier object exists, then the fragment contains other fragments and is marked as having a subordinate fragment. If it does not exist, then the fragment does not contain other fragments and is marked as having no subordinate fragments. Then, it is determined whether the fragment is contained by other fragments, that is, to search in the subordinate relationship identifier set for the existence of a subordinate relationship identifier object whose subordinate intent field value is equal to CurrId.
[0074] If the aforementioned subordinate relationship identifier exists, then the fragment is contained by other fragments. If both conditions are met—that is, the fragment has an upper-level fragment but no lower-level fragments—then the intent chapter fragment object is added to a list container. After traversal, the intent chapter fragment objects stored in the list container represent all the underlying intent chapters, and the list container itself becomes the collection of underlying intent chapters.
[0075] Step 143: For each top-level intent chapter in the top-level intent chapter set, traverse down along the set of subordinate relationship identifiers to all descendant intent chapter fragments contained in the top-level intent chapter, and generate an attention propagation path from the top-level intent chapter to each bottom-level intent chapter. All attention propagation paths constitute an attention propagation path set.
[0076] For each top-level intent chapter object in the top-level intent chapter set, perform a recursive traversal. Set up an empty path list to store all propagation paths originating from that top-level intent chapter. Define a recursive function whose input parameters are the current intent chapter fragment object and the current path list.
[0077] Within the recursive function, the identifier of the current intent chapter fragment object is appended to the end of the current path list. It then checks whether the current intent chapter fragment object belongs to the underlying intent chapter set, specifically determining if the object's identifier exists in the identifier set of the underlying intent chapter set.
[0078] If it belongs to the underlying intent chapter set, a deep copy of the current path list is added to the total path set as an attention propagation path object. If it does not belong to the underlying intent chapter set, all subordinate relationship identifier objects with the current intent chapter fragment identifier as the upper-level intent field are searched in the subordinate relationship identifier set.
[0079] For each found subordinate relationship identifier object, obtain the value of its lower-level intent field, find the corresponding intent chapter fragment object in the chapter list field, use this object as the new current node, and recursively call the recursive function with the current path list as input. After the recursive function completes, the total path set contains all attention propagation paths from the top-level intent chapter to each lower-level intent chapter. Repeat the above process for all top-level intent chapters, and merge the total path sets corresponding to all top-level intent chapters to obtain the attention propagation path set.
[0080] Step 144: For each attention propagation path in the attention propagation path set, sequentially extract the semantic vectors between two adjacent intent chapter segments on the attention propagation path, calculate the inner product between the two semantic vectors as the local semantic association strength of the attention propagation path, and use the product of all local semantic association strengths on the attention propagation path as the global semantic association strength of the attention propagation path.
[0081] For each attention propagation path in the attention propagation path set, obtain the sequence of intent chapter fragment identifiers stored in that path. Based on each identifier, find the corresponding intent chapter fragment object in the chapter list field of the intent chapter structure object. For each pair of adjacent intent chapter fragment objects in the sequence, obtain the semantic predicate string and the corresponding user action unit's behavior payload attribute from the root node attribute of the previous intent chapter fragment object, and concatenate these two pieces of information into a text string.
[0082] The text string is input into a pre-trained bidirectional encoder representation model for semantic encoding. The bidirectional encoder representation model adopts the Transformer encoder architecture, which contains 12 stacked encoder layers. Each encoder layer contains a multi-head self-attention sublayer and a feedforward neural network sublayer. Each sublayer is followed by layer normalization and residual connections. The output dimension of the model is 768 dimensions.
[0083] The text string processing flow in the model is as follows: First, the text string is segmented into word segments to obtain a sequence of word segments; each word segment is mapped to a corresponding embedding vector, and a positional encoding vector is added; the embedding vector sequence is input into the first encoder layer, where the product of the query matrix and the key matrix is calculated in the multi-head self-attention sub-layer, divided by a scaling factor, processed by a normalized exponential function, and then multiplied by the value matrix to obtain the attention output; the attention output is residually concatenated with the input and then passed through layer normalization; the result of layer normalization is input into a feedforward neural network sub-layer, which contains two linear transformations and an activation function; the output of the feedforward neural network is residually concatenated with the input and then passed through layer normalization; this process is repeated through the subsequent 11 encoder layers; the vector corresponding to the first word segment in the output of the last encoder layer is extracted as the semantic vector representation of the entire text string. For two adjacent intent chapter segments, semantic vectors VecPrev and VecNext are obtained respectively. The inner product of VecPrev and VecNext is calculated by multiplying the elements of the corresponding dimensions of the two vectors and then summing the results. This inner product value represents the local semantic association strength of the adjacent segment pair. If an attention propagation path contains K pairs of adjacent segments, then K local semantic association strength values are obtained. Multiplying these K values together yields the global semantic association strength value.
[0084] Step 145: Compare the relative strengths of all attention propagation paths under the same top-level intent chapter based on the global semantic association strength of each attention propagation path, and use the ratio of the global semantic association strength of each attention propagation path to the maximum global semantic association strength under the same top-level intent chapter as the path attention weight coefficient of that path.
[0085] In this embodiment, the attention propagation path set is grouped according to the starting intent chapter segment identifier of each path. Paths with the same starting identifier belong to the same top-level intent chapter. For each group, all attention propagation paths within the group are traversed, and the global semantic association strength value of each path is read. The maximum global semantic association strength value within the group is found and denoted as MaxIntensity. For each attention propagation path within the group, the ratio of the path's global semantic association strength value to MaxIntensity is calculated. This ratio is a value between 0 and 1. This ratio is used as the path attention weight coefficient for that attention propagation path.
[0086] Step 146: Sum and aggregate the path attention weight coefficients of multiple attention propagation paths received by each bottom-level intent chapter from different top-level intent chapters to obtain the bottom-level attention weight value of that bottom-level intent chapter.
[0087] Optionally, for each underlying intent chapter object in the underlying intent chapter set, search the attention propagation path set for all attention propagation paths ending with the identifier of that underlying intent chapter object. Initialize an accumulator variable with an initial value of 0. For each found attention propagation path, obtain the path attention weight coefficient for that path and accumulate this coefficient into the accumulator variable. After all paths ending with that underlying intent chapter have been processed, the final value of the accumulator variable is the underlying attention weight value of that underlying intent chapter.
[0088] Step 147: Based on the set of subordinate relationship identifiers, backpropagate the bottom-level attention weight values to the upper-level intent chapter segments. The attention weight value of the upper-level intent chapter segment is equal to the sum of the attention weight values of all the lower-level intent chapter segments it contains. Backpropagate layer by layer until the top-level intent chapter, generating a hierarchical attention weight value for each intent chapter segment.
[0089] Starting with the set of bottom-level intent chapters, the hierarchy propagates upwards in reverse topological order of the set of subordinate identifiers. First, the bottom-level attention weight value of each bottom-level intent chapter is used as its initial hierarchical attention weight value. For each subordinate identifier object in the subordinate identifier set, its upper-level intent field points to an upper-level intent chapter fragment, and its lower-level intent field points to a lower-level intent chapter fragment. Once the hierarchical attention weight value of one lower-level intent chapter fragment is determined, this weight value is accumulated into the weight accumulator of its upper-level intent chapter fragment. Since an upper-level intent chapter fragment may contain multiple lower-level intent chapter fragments, the weight values of all lower-level intent chapter fragments need to be summed. After all the weight values of lower-level intent chapter fragments have been accumulated to the upper level, the hierarchical attention weight value of the upper-level intent chapter fragment is this sum.
[0090] The above accumulation process is repeated, propagating upwards along the set of subordinate identifiers until the top-level intent chapter is reached. Ultimately, each intent chapter fragment object receives a non-negative numerical value, which is stored in a newly added attribute field of that intent chapter fragment object, called the hierarchical attention weight value.
[0091] Step 148: Organize all intent chapter fragments into a hierarchical attention distribution map according to their hierarchical position and hierarchical attention weight value. The visual representation size of each intent chapter fragment in the hierarchical attention distribution map is positively correlated with its hierarchical attention weight value.
[0092] Optionally, a hierarchical attention distribution map data structure is initialized. This data structure is a list, where each element corresponds to an intent chapter fragment object. Each element contains three fields: fragment identifier field, depth level field, and weight value field.
[0093] For each intent chapter fragment object, its depth level in the tree structure is calculated based on the set of subordinate relationship identifiers. The depth level is calculated as follows: starting from the intent chapter fragment, trace upwards along the subordinate relationship identifiers to the top-level intent chapter, recording the number of subordinate relationship identifiers traversed during the traversal; this number plus 1 is the depth level value. This depth level value is stored in the depth level field. The hierarchical attention weight values for the intent chapter fragment object are stored in the weight value field; this list constitutes the hierarchical attention distribution map.
[0094] Step 150: Extract the intent chapter fragments corresponding to the attention concentration areas from the hierarchical attention distribution map as key plot nodes, and detect the locations where the semantic structure breaks between adjacent intent chapter fragments as semantic transition relationship nodes. Map the key plot nodes and semantic transition relationship nodes together as a set of semantic anchor points for ad placement, and generate a user profile feature cluster based on the set of semantic anchor points for ad placement.
[0095] In step 150, the key plot nodes refer to the intent chapter segments with the highest weight within the attention concentration area, the semantic transition relationship nodes are the location markers where the semantic structure breaks between adjacent intent chapter segments, the set of semantic anchor points for ad placement is generated by binding key plot nodes with subsequent transition nodes, and the user profile feature cluster is obtained by grouping and statistically analyzing the anchor point set according to product categories.
[0096] Optionally, steps 151-156 are used to extract the intent chapter fragments corresponding to the attention concentration areas from the hierarchical attention distribution map as key plot nodes and detect the locations where the semantic structure breaks between adjacent intent chapter fragments as semantic transition relationship nodes.
[0097] Step 151: Traverse all intent chapter segments in the hierarchical attention distribution map and mark the intent chapter segments whose hierarchical attention weight value exceeds the average attention weight value of the adjacent intent chapter segments as key attention intent chapter segments.
[0098] The process involves obtaining a hierarchical attention distribution map list, sorting it according to the start timestamp in the time range attribute corresponding to each intent segment, resulting in a chronologically ordered list called `TimeSortedFragments`. For each position index `Pos` in `TimeSortedFragments`, the value of the weight field of the intent segment corresponding to that position is obtained, denoted as `WeightCurrent`. The value of the weight field of the intent segment corresponding to the previous position (Pos minus 1) is obtained, denoted as `WeightPrev`. If `Pos` is 0, `WeightPrev` is set to 0. The value of the weight field of the intent segment corresponding to the next position (Pos plus 1) is obtained, denoted as `WeightNext`. If `Pos` is at the end of the list, `WeightNext` is set to 0. The average value of adjacent weights, `MeanNeighbor`, is calculated using the formula: `MeanNeighbor` equals the sum of `WeightPrev` and `WeightNext` divided by 2. Finally, `WeightCurrent` and `MeanNeighbor` are compared. If WeightCurrent is greater than MeanNeighbor, then the intent chapter fragment corresponding to that position is marked as a key attention intent chapter fragment, and a boolean attribute field IsKeyAttention is added to the fragment object and set to true.
[0099] Step 152: Cluster the key attention intent chapter fragments according to their temporal order in the user behavior semantic script, and group the key attention intent chapter fragments that are temporally continuous and directly connected by the subordinate relationship identifier into the same attention concentration area. Each attention concentration area corresponds to an attention peak area.
[0100] Extract all intent fragments with a true IsKeyAttention attribute and sort them by the start timestamp in the time range attribute to obtain a key fragment sequence. Initialize an empty RegionList. Iterate through the key fragment sequence. For the currently traversed key fragment CurrFragment, check if there is a mergeable region. The merging condition is that CurrFragment and the previously processed key fragment PrevFragment are temporally continuous, meaning there are no other non-key intent fragments between the start timestamp of CurrFragment's time range attribute and the end timestamp of PrevFragment's time range attribute.
[0101] Simultaneously, the dependency identifier set contains a dependency identifier object whose upper-level intent field and lower-level intent field point to PrevFragment and CurrFragment, respectively, or CurrFragment and PrevFragment. If the merging condition is met, CurrFragment is added to the region containing PrevFragment. If the merging condition is not met, a new region object is created, CurrFragment is added to the new region, and the new region is added to RegionList. After traversal, each region object in RegionList contains one or more consecutive key attention intent chapter fragments with dependency relationships, and each region corresponds to an attention focus area.
[0102] Step 153: Extract the intent chapter segment with the highest hierarchical attention weight value from each attention focus area as the key plot node of that attention focus area. The key plot nodes of all attention focus areas constitute the key plot node set.
[0103] This step iterates through each region object in the RegionList. For each region object, it retrieves all intent chapter fragments contained within that region, compares the hierarchical attention weight values of these fragments, and identifies the intent chapter fragment with the highest weight value. This fragment is marked as a key plot node by adding a boolean attribute field IsKeyPlotNode to the fragment object and setting it to true. All intent chapter fragments marked with the IsKeyPlotNode attribute set to true are collected into a list KeyPlotNodeList, which represents the set of key plot nodes.
[0104] Step 154: Traverse the pairs of adjacent intent chapter segments arranged in chronological order in the intent chapter structure, extract the core semantic role label set for each pair of adjacent intent chapter segments, and calculate the Jaccard distance between the two core semantic role label sets as the semantic difference metric.
[0105] Optionally, all intent chapter fragments in the chapter list field of the intent chapter structure object are sorted according to the start timestamp in the time range attribute to obtain an ordered sequence OrderedFragments. Each position Idx in OrderedFragments, from index 0 to length minus 2, is traversed to obtain the fragment object FragA corresponding to index Idx and the fragment object FragB corresponding to index Idx plus 1. The behavior object identifier attribute values of all word node objects are extracted from the node sequence attribute of FragA, and duplicate identifier values are removed to obtain a set SetA. The behavior object identifier attribute values of all word node objects are extracted from the node sequence attribute of FragB, and duplicate identifier values are removed to obtain a set SetB. The intersection of SetA and SetB is calculated, denoted as IntersectionSet, where the elements are behavior object identifiers that appear in both SetA and SetB. The union of SetA and SetB is calculated, denoted as UnionSet, where the elements are behavior object identifiers that appear in either SetA or SetB. The Jaccard distance is calculated as: 1 minus the quotient of the number of elements in IntersectionSet divided by the number of elements in UnionSet. The calculation results are used as a semantic difference measure between FragA and FragB.
[0106] Step 155: When the semantic difference metric exceeds the preset semantic break threshold, mark the boundary position between the pair of adjacent intent chapter segments as candidate semantic break positions, perform deduplication on the candidate semantic break positions, and use each unique boundary position as a semantic transition relationship node. The semantic transition relationship node is used to indicate the time boundary point where the user's intent direction has fundamentally changed.
[0107] Further, a pre-configured semantic break threshold parameter, ThetaBreak, is obtained. This parameter is determined offline by collecting a large amount of historical user behavior semantic script data, calculating a semantic difference metric for each pair of adjacent intent chapter fragments in each script, obtaining the distribution of all metrics, and taking the 75th quantile of this distribution as the value of ThetaBreak. For the semantic difference metric of each pair of adjacent fragments FragA and FragB calculated in step 154, this value is compared with ThetaBreak. If the semantic difference metric is greater than ThetaBreak, the boundary position between FragA and FragB is recorded. The specific value of the boundary position is the midpoint between the end timestamp in the time range attribute of FragA and the start timestamp in the time range attribute of FragB. This boundary position is added as a candidate break position to the candidate position set CandidateSet. The candidate position set is a set data structure that automatically removes duplicate boundary positions. After traversing all adjacent fragment pairs, each element in CandidateSet is a semantic transition relationship node.
[0108] Step 156: Mark the timestamp position corresponding to each key plot node in the set of key plot nodes and the timestamp position corresponding to the semantic turning point node on the timeline of the user behavior semantic script, respectively, to generate the plot node annotation sequence and the turning point node annotation sequence.
[0109] For each key plot node in the KeyPlotNodeList set, the end timestamp of the node's time range attribute is used as the annotation time point, or the start timestamp is used as the annotation time point according to specific needs. The key plot nodes are then sorted according to the order of their annotation time points to generate a plot node annotation sequence. Each element in the sequence is a tuple containing the key plot node's identifier and its annotation time point. For each semantic transition node in the CandidateSet set, which is itself a time point value, the transition node annotation sequence is generated according to the order of these time point values. Each element in the sequence is a time point value.
[0110] Optionally, key plot nodes and semantic transition relationship nodes are jointly mapped into a set of semantic anchor points for ad placement through steps 157-1511.
[0111] Step 157: Extract the core action verbs and core object nouns from the intent chapter fragments corresponding to each key plot node, and combine the core action verbs and core object nouns into a key plot semantic template. The key plot semantic template is used to represent the user's main behavioral intent at that key plot node.
[0112] First, iterate through each key plot node object in the KeyPlotNodeList collection to obtain the intent chapter fragment object corresponding to that node. Retrieve the word node object from the root node attribute of that intent chapter fragment object. If the word node object's part-of-speech tag attribute is SearchAction, extract the core action verb from the word node object's lexical attribute and the core object noun from the behavior object identifier attribute. If the word node object's part-of-speech tag attribute is CommunityAction, use the fixed string "Access" as the core action verb and the community identifier from the behavior object identifier attribute as the core object noun. Concatenate the extracted core action verb and core object noun into a string template in the format "core action verb - core object noun," which becomes the key plot semantic template.
[0113] Step 158: Extract the two intent chapter fragments before and after each semantic transition relationship node, extract the pre-transition intent identifier from the previous intent chapter fragment, extract the post-transition intent identifier from the next intent chapter fragment, and use the combination of the pre-transition intent identifier and the post-transition intent identifier as the transition pattern identifier.
[0114] Then, each transition node in the CandidateSet, a collection of semantic transition nodes, is traversed. Each node records the time point value of the boundary position. On the timeline of the user behavior semantic script, the nearest intent chapter segment before that time point is identified as the preceding segment, and the nearest intent chapter segment after that time point is identified as the following segment. The core object noun part is extracted from the key plot semantic template of the preceding segment as the pre-transition intent identifier. The core object noun part is extracted from the key plot semantic template of the following segment as the post-transition intent identifier. The pre-transition intent identifier and the post-transition intent identifier are combined into an ordered tuple, which is the transition pattern identifier.
[0115] Step 159: Match the key plot semantic template with the preset advertising product category mapping table to obtain the candidate advertising product category identifier corresponding to each key plot node. Match the transition mode identifier with the preset advertising timing rule table to obtain the candidate advertising timing window identifier corresponding to each semantic transition relationship node. The candidate advertising timing window identifier is used to indicate the time interval for advertising after the transition occurs.
[0116] The advertising product category mapping table is a pre-built key-value pair mapping structure. The construction process involves: collecting a list of product category identifiers used in historical advertising campaigns; associating each product category identifier with a set of related core object nouns; and storing these associations as mapping entries. For each key plot semantic template, the core object noun portion is extracted and used as the query key to search the advertising product category mapping table. If the search is successful, the corresponding product category identifier is returned as a candidate advertising product category identifier. If the search fails, an empty identifier is returned.
[0117] The ad delivery timing rule table is a pre-built rule base. Each rule entry in this base contains a transition pattern identifier as a condition part and a timing window identifier as an action part. The timing window identifier is a data structure containing two parameters: the window start offset and the window duration. For each transition pattern identifier, the ad delivery timing rule table searches for a rule entry whose condition part matches that transition pattern identifier. If a match is found, the timing window identifier in the action part of that rule entry is returned as a candidate ad delivery timing window identifier.
[0118] Step 1510: Bind the candidate ad placement product category target identifier corresponding to each key plot node to the candidate ad placement timing window identifier corresponding to the first semantic transition relationship node after the key plot node, and generate an ad placement semantic anchor point. The ad placement semantic anchor point includes a product category target identifier field and a timing window identifier field.
[0119] Furthermore, the set of key plot nodes is sorted chronologically, and the set of semantic transition relationship nodes is also sorted chronologically. For each key plot node in the key plot node sequence, the first semantic transition relationship node in the semantic transition relationship node sequence with a time point greater than the timestamp of that key plot node is found. The candidate ad placement product category target identifier for that key plot node is obtained, and the candidate ad placement timing window identifier for the found semantic transition relationship node is obtained. An ad placement semantic anchor object is assembled, which contains two fields: the product category field is assigned the candidate ad placement product category target identifier, and the timing window field is assigned the candidate ad placement timing window identifier.
[0120] Step 1511: Bind all key plot nodes with subsequent semantic transition relationship nodes to generate ad placement semantic anchors, arrange them in chronological order of key plot nodes, and form an ad placement semantic anchor set.
[0121] It is understandable that all ad placement semantic anchor objects generated in step 1510 are collected and sorted in ascending order according to the timestamps of the key plot nodes bound to each anchor object. The sorted list of anchor objects is then used as the ad placement semantic anchor set.
[0122] Optionally, a user profile feature cluster is generated based on the set of semantic anchor points for ad placement, which is achieved through steps 1512-1516.
[0123] Step 1512: Extract the product category target identification field carried by each ad placement semantic anchor from the ad placement semantic anchor set, and group the ad placement semantic anchors according to the category of the product category target identification field to obtain multiple product category anchor groups. Each product category anchor group corresponds to a user interest dimension.
[0124] The process involves iterating through each anchor object in the set of semantic anchors for ad placement and reading the value of its product category field. A mapping container, `MappingContainer`, is set up, where the key is the product category identifier and the values are a list. For each anchor object, its product category identifier is retrieved as the key, and the anchor object is added to the end of the list corresponding to that key in the `MappingContainer`. After iteration, the `MappingContainer` contains multiple key-value pairs. The key of each key-value pair represents a product category, and the list corresponding to the key contains all ad placement semantic anchor objects belonging to that category. Each key-value pair constitutes a product category anchor group.
[0125] Step 1513: Count the number of advertising semantic anchors contained in each product category anchor group, and use this number as the interest frequency feature of that user interest dimension.
[0126] For each key-value pair in the MappingContainer, obtain the length value LengthGroup of its value list. This length value represents how many times the target user generated a sequence of behaviors related to the semantic anchor of the ad placement under this product category. This length value is used as a numerical feature, called the interest frequency feature.
[0127] Step 1514: Extract the timing window identifier field corresponding to all advertising semantic anchors within each product category anchor group, parse the start time and end time of the advertising time interval from each timing window identifier field, and calculate the average of the start times of all advertising time intervals as the interest activity period feature of that user interest dimension.
[0128] For each key-value pair in the MappingContainer, iterate through each ad delivery semantic anchor object in its value list. Read the timing window field of each anchor object, which contains two parameters: window start offset and window duration. Obtain the time value of the semantic transition relationship node bound to the anchor object, add the window start offset to the time value to obtain the start time of the delivery time interval, and add the window duration to the start time of the delivery time interval to obtain the end time of the delivery time interval. Collect the start times of the delivery time intervals of all anchors in this group to obtain a list of start times. Calculate the arithmetic mean of all elements in the list of start times, i.e., summation divided by the number of elements; this average is used as the feature of the interest-active period.
[0129] Step 1515: Extract all core object nouns from the key plot semantic templates corresponding to the advertising semantic anchors within each product category anchor group, and obtain the set of preference object nouns for that user interest dimension after deduplication of the core object nouns.
[0130] For each key-value pair in the MappingContainer, iterate through each ad placement semantic anchor object in its value list. Each anchor object is associated with a key plot node, and the core object noun portion is extracted from the key plot semantic template of that key plot node. All extracted core object nouns are added to a collection container SetObjects. Due to the uniqueness of elements in the collection container, duplicate core object nouns are automatically removed. After iteration, SetObjects contains all object nouns related to user preferences under this product category group; this SetObjects is the set of preference object nouns.
[0131] Step 1516: Combine the interest frequency features, interest activity time period features, and preferred object noun set into the user profile feature vector for this user interest dimension. Encapsulate the user profile feature vectors corresponding to all product category anchor groups to generate a user profile feature cluster. The user profile feature cluster is used to characterize the target user's interest intensity, interest time distribution, and interest object preferences in different product categories.
[0132] For each key-value pair in the MappingContainer, a user profile feature vector object is constructed. This object contains three attribute fields: the frequency attribute is assigned the interest frequency feature value obtained in step 1513, the time period attribute is assigned the interest active time period feature value obtained in step 1514, and the preference set attribute is assigned the set of preferred object nouns obtained in step 1515. This user profile feature vector object is added to a vector list VectorList. After all key-value pairs in the MappingContainer have been processed, VectorList contains the user profile feature vector corresponding to each product category; this VectorList is the user profile feature cluster.
[0133] Based on the above, after step 1513, the method also includes steps 1517-1522.
[0134] Step 1517: Extract the position index sequence of key plot nodes corresponding to all advertising semantic anchors within each product category anchor group in the user behavior semantic script, and calculate the interval step value sequence between adjacent advertising semantic anchors based on the position index sequence.
[0135] For each key-value pair in the MappingContainer, iterate through each ad-serving semantic anchor object in its value list. Obtain the key plot node bound to each anchor object and find the index position of the word node object corresponding to that key plot node from the node list of the user behavior semantic script. Arrange these index positions according to the chronological order of the key plot nodes to form a position index sequence PosIdxSeq. Iterate through each position in PosIdxSeq from index 0 to length minus 2, calculating the difference between the previous and subsequent index values; this difference is the interval step value. Collect all calculated interval step values into a list StepList; this list is the interval step value sequence.
[0136] Step 1518: Take the minimum value in the interval step value sequence as the interest density feature of the user's interest dimension, and take the maximum value in the interval step value sequence as the interest dispersion feature of the user's interest dimension.
[0137] Iterate through each element in StepList and find the minimum value MinStep and the maximum value MaxStep. MinStep represents the minimum interval between occurrences of user interest in this product category; a smaller value indicates a more concentrated occurrence of interest, and MinStep is used as the feature of interest density. MaxStep represents the maximum interval between occurrences of user interest in this product category; a larger value indicates a more dispersed distribution of interest over time, and MaxStep is used as the feature of interest dispersion.
[0138] Step 1519: Extract the long-tail search term strings from the user behavior action unit chain associated with the key plot nodes corresponding to all advertising semantic anchors within each product category anchor group. Sort all long-tail search term strings according to their frequency of occurrence and take the first predetermined number of long-tail search term strings as the long-tail keyword interest features of that user interest dimension.
[0139] For each key-value pair in the MappingContainer, iterate through each ad-serving semantic anchor object in its value list. Obtain the key plot node bound to each anchor object, and filter out word nodes with a part-of-speech tag attribute value of `SearchAction` from the node sequence attributes of the intent chapter fragment object of that key plot node. For each filtered word node object, obtain its corresponding user action unit, and extract the search long-tail keyword string from the behavior payload attribute of that user action unit. Count the frequency of each search long-tail keyword string within the current group, and construct a term frequency mapping table `TermFreqMap`. Sort the entries in `TermFreqMap` from high to low frequency, and take the search long-tail keyword strings corresponding to the top K entries in the sorting result, where K is a preset constant `TopKCount`. Combine these K strings into a list `TermList`, which represents the long-tail keyword interest features.
[0140] Step 1520: Extract the community identifier from the user behavior action unit chain associated with the key plot nodes corresponding to all advertising semantic anchors within each product category anchor group, count the frequency of each community identifier, and take the community identifier with the highest frequency as the vertical community interest feature of that user interest dimension.
[0141] Similarly, for each anchor object, the key plot node is obtained, and word node objects with the part-of-speech tag attribute value of "CommunityAction" are selected from the node sequence attributes of the intent chapter fragment object of that key plot node. For each selected word node object, its corresponding user action unit is obtained, and the community identifier is extracted from the community identifier attribute of that user action unit. The frequency of each community identifier in the current group is counted, and a community frequency mapping table CommFreqMap is constructed. The community identifier corresponding to the most frequent entry in CommFreqMap is found, and this community identifier is used as the vertical community interest feature.
[0142] Step 1521: Add the interest density feature, interest dispersion feature, long-tail keyword interest feature, and vertical community interest feature to the user profile feature vector of this user interest dimension to generate the expanded user profile feature vector.
[0143] For each key-value pair in the MappingContainer, retrieve the user profile feature vector object created in step 1516. Add four new attribute fields to this object: the density field is assigned the interest density feature value obtained in step 1518; the dispersion field is assigned the interest dispersion feature value obtained in step 1518; the long-tail keyword field is assigned the long-tail keyword interest feature list obtained in step 1519; and the vertical community field is assigned the vertical community interest feature string obtained in step 1520. The expanded user profile feature vector object contains seven attribute fields, covering interest frequency, interest activity period, preferred object set, interest density, interest dispersion, long-tail keyword interest, and vertical community interest.
[0144] Step 1522: Replace the original user profile feature vector with the expanded user profile feature vector and update the corresponding item in the user profile feature cluster.
[0145] In the user profile feature cluster VectorList, locate the position of the original user profile feature vector object corresponding to the key-value pair of the current product category, and replace the element at that position with the expanded user profile feature vector object generated in step 1521. After completing the replacement operation for all key-value pairs, VectorList will store only the expanded user profile feature vectors, and this updated VectorList is the final user profile feature cluster.
[0146] Based on steps 110-150, the method further includes: Step 210: Extract all intent chapter fragment pairs connected by causal modification relation identifiers from the intent chapter structure. Each intent chapter fragment pair contains a cause intent chapter fragment and a result intent chapter fragment.
[0147] Optionally, iterate through each causal modifier identifier object in the causal modifier field of the intent chapter structure object. Each causal modifier identifier object contains a cause intent field and a result intent field. Based on the value of the cause intent field, find the corresponding intent chapter fragment object in the chapter list field as the cause fragment. Based on the value of the result intent field, find the corresponding intent chapter fragment object in the chapter list field as the result fragment. Combine the cause fragment and the result fragment into an ordered pair, where the first component of the pair is the cause fragment and the second component is the result fragment. Add this ordered pair to a causal fragment pair list, CausalPairList.
[0148] Step 220: Connect the cause intent chapter fragments and result intent chapter fragments in the order of cause and effect occurrence to form a causal chain fragment, and combine all causal chain fragments in chronological order to form a decision chapter. The decision chapter is used to represent the complete reasoning path of the user from the generation of demand to the completion of decision.
[0149] Merge and deduplicate all causal and result fragments in CausalPairList to obtain a unique fragment collection, UniqueFragments. Sort UniqueFragments according to the start timestamp in the time range attribute of each fragment. Initialize an empty causal chain list, ChainList. Starting from the first fragment of the sorted sequence, use this fragment as the current fragment and search in CausalPairList for an ordered dual whose causal fragment is the current fragment. If found, use the result fragment of the ordered dual as the successor node of the current fragment, add the current fragment and the successor node to the current causal chain in sequence, and then use the successor node as the new current fragment to continue the search. If no ordered dual whose causal fragment is the current fragment is found, the current causal chain ends, the current causal chain is added as a causal chain fragment object to ChainList, and then a new causal chain is built starting from the next unvisited fragment in the sorted sequence. Repeat the above process until all fragments have been visited. Sort all causal chain fragment objects in ChainList according to the timestamp of the first fragment in each object, and then concatenate the above causal chain fragment objects in sequence to obtain a complete fragment sequence, which is the decision chapter.
[0150] Step 230: Extract the key plot nodes corresponding to the last intent chapter segment in the decision-making chapter as decision completion nodes, and extract the semantic anchor points for ad placement corresponding to the decision completion nodes as semantic anchor points for ad placement at the decision point.
[0151] Retrieve the last intent chapter fragment object in the decision chapter fragment sequence. Search for the key plot node corresponding to this intent chapter fragment object in the key plot node set KeyPlotNodeList, comparing the fragment identifier attribute value of the intent chapter fragment object with the fragment identifier attribute value of the key plot node. If a matching key plot node is found, mark that node as a decision completion node. Search for the ad placement semantic anchor object bound to this decision completion node in the ad placement semantic anchor set, comparing the identifier of the key plot node bound to the anchor object with the identifier of the decision completion node. Use the found ad placement semantic anchor object as the decision point ad placement semantic anchor.
[0152] Step 240: Obtain the set of creative theme tags for the ad creatives to be delivered, and perform matching calculations between the set of creative theme tags and the product category target identification field in the semantic anchor point of the decision point ad delivery to generate a creative matching degree identifier.
[0153] The system reads the metadata information of the ad creatives to be delivered from the creative management module of the ad delivery system. It then extracts a TopicSet, a collection of creative topic tags, from the metadata. This set contains one or more product category tags. Next, it retrieves the AnchorCategory value from the semantic anchor object for the decision point ad delivery. Finally, it calculates the intersection of the TopicSet and the AnchorCategory, determining whether the AnchorCategory exists in the TopicSet. If it exists, a successful match flag is generated (boolean, value: true). If it does not exist, a failed match flag is generated (value: false). This flag represents the creative match score.
[0154] Step 250: When the material matching degree indicator indicates a successful match, extract the timing window identifier field from the decision point ad placement semantic anchor point, and output the timing window identifier field as the placement timing constraint condition of the ad material to be placed to the ad placement system.
[0155] The system checks the value of the creative matching identifier: if the value is true, it reads the timing window field from the decision point ad delivery semantic anchor object. The timing window field contains two parameters: window start offset and window duration. These two parameters are encapsulated into a delivery timing constraint object, which contains a start offset attribute and a duration attribute. This delivery timing constraint object is sent to the system's delivery scheduling module through the ad delivery system's application programming interface (API). The delivery scheduling module determines the waiting time from the current moment based on the start offset attribute and determines the active duration of the ad creative in the delivery queue based on the duration attribute.
[0156] Based on steps 110-150, the method further includes: Step 310: Obtain the user profile feature clusters generated multiple times within the preset time window, arrange them in the order of generation time to form a user profile evolution sequence, and extract the frequency trajectory curve of the interest frequency features of each product category anchor group changing over time from the user profile evolution sequence.
[0157] A time window length parameter, WindowLength, is defined, representing the length of the historical time period for backtracking analysis. Within this time window, steps 110 to 1522 are executed periodically at fixed time intervals, each execution generating a user profile feature cluster and attaching a generation timestamp field to the cluster. All user profile feature clusters generated within the time window are collected and sorted in ascending order according to the generation timestamp field, resulting in the user profile evolution sequence EvolutionSeq. For each user profile feature cluster in EvolutionSeq, the user profile feature vector corresponding to each product category anchor group is traversed, and the value of the frequency attribute field of each vector is extracted. For each product category anchor group, its frequency attribute values at different time points are concatenated in chronological order to obtain a two-dimensional coordinate point sequence, where the horizontal axis is the timestamp and the vertical axis is the frequency attribute value. This two-dimensional coordinate point sequence is used as the frequency trajectory curve of the product category anchor group.
[0158] Step 320: Calculate the first-order difference of the frequency trajectory curve at the current time point relative to the previous time point. When the absolute value of the first-order difference exceeds the preset interest drift threshold, mark the user interest dimension corresponding to the anchor group of the product category as the interest drift dimension, and record the drift start timestamp.
[0159] For each product category anchor group's frequency trajectory curve, obtain the frequency value FreqCurrent corresponding to the current time point and the frequency value FreqPrevious corresponding to the previous time point. Calculate the first-order difference value DeltaFreq, which equals FreqCurrent minus FreqPrevious. Obtain a pre-configured interest drift threshold parameter ThetaDrift, which is determined offline: collect historical frequency trajectory curves of a large number of users, calculate the absolute value of the difference at all time points, take the standard deviation of these absolute values, and set ThetaDrift to twice this standard deviation. Compare the absolute value of DeltaFreq with ThetaDrift. If the absolute value of DeltaFreq is greater than ThetaDrift, mark the user interest dimension corresponding to that product category anchor group as the interest drift dimension, and record the current time point as the drift start timestamp.
[0160] Step 330: Extract the set of preferred object nouns before and after the drift start time stamp of the interest drift dimension and calculate the symmetric difference set as the interest transfer object set. Use the nouns in the interest transfer object set as the advertising content switching identifier.
[0161] For product category anchor groupings marked as interest drift dimensions, the set of preference object nouns for this group is obtained from the user profile evolution sequence in the most recently generated user profile feature cluster before the drift start timestamp, denoted as PreSet. The set of preference object nouns for this group is obtained from the most recently generated user profile feature cluster after the drift start timestamp, denoted as PostSet. The symmetric difference set, SymmetricDiffSet, between PreSet and PostSet is calculated as the union of elements belonging to PreSet but not PostSet and elements belonging to PostSet but not PreSet. Each element in SymmetricDiffSet represents a shift in user interest from one object to another. This symmetric difference set is used as the set of interest-transferred objects. Each noun element in the set of interest-transferred objects serves as an identifier for switching advertising content.
[0162] Step 340: Based on the drift start timestamp of the interest drift dimension and the ad content switching identifier, generate a dynamic adjustment instruction. The dynamic adjustment instruction is used to instruct the ad delivery system to replace the original ad creative with a new ad creative that matches the set of interest transfer objects after the drift start timestamp, and to re-input the replacement delivery result as a feedback signal into the user profile feature cluster generation process.
[0163] In this step, a dynamic adjustment instruction is assembled, containing two fields: a timestamp field assigned the drift start timestamp, and a content switching field assigned the interest transfer object set. This instruction is sent to the control interface of the advertising delivery system. The advertising delivery system parses the instruction, and after the system's real-time clock reaches the drift start timestamp, stops the delivery of all ad creatives matching the terms in the PreSet and starts the delivery of new ad creatives matching the terms in the interest transfer object set. The advertising delivery system records user response data after the new ad creative is delivered, including metrics such as impressions, clicks, and conversions. This response data is encapsulated into a feedback signal message and sent back to the data acquisition gateway module in step 110. The data acquisition gateway module incorporates this feedback signal message as part of the user behavior event into the subsequent collection of raw behavior trajectory data, thus forming a closed-loop feedback optimization mechanism.
[0164] During the implementation process, all aspects involving user data collection, storage, analysis, and application have been clearly known and legally authorized by the target users in advance.
[0165] Specifically, when a target user visits the digital media platform for the first time, the platform client displays a data collection and usage authorization agreement to the user via a pop-up window. This agreement clearly informs the user that the platform will collect long-tail keyword sequences generated from their search behavior and community interaction records generated from visits to vertical communities. It explains that this data will be used to construct a semantic script of user behavior, generate intent-driven content structures, and ultimately produce a set of semantic anchor points for ad placement and a cluster of user profile features. The user actively completes the authorization process by clicking a confirmation button or checking an agreement checkbox. This authorization is recorded in encrypted form in the user authorization management database, along with a user identifier and authorization timestamp.
[0166] In subsequent data processing, before each data collection operation, the data collection gateway module first queries the user authorization management database to confirm that the current target user's authorization status is valid and that the authorization scope covers search behavior and community access behavior types before starting to collect behavioral event data. For authorization records that have been granted but have exceeded the preset validity period (e.g., six months), the system automatically pushes an authorization renewal request to the user, and data processing can only continue after the user confirms again. All subsequent data processing operations, including the construction of user behavior semantic scripts, the parsing of dependency syntax trees, the execution of hierarchical attention propagation, the mapping of advertising semantic anchors, and the generation of user profile feature clusters, are all performed on an anonymized dataset that has been de-identified. This anonymized dataset has removed the direct association between the user identifier field and the original user identity, retaining only the behavioral feature information used for profile analysis. All derived intermediate products, including the directed graph structure in the user behavior semantic script, the chapter fragments and relationship identifiers in the intent chapter structure, the weight values in the hierarchical attention distribution graph, the anchor objects in the set of semantic anchor points for ad placement, and the feature vectors in the user profile feature cluster, are stored in an isolated analysis environment that communicates with the direct execution environment of the ad placement system through a one-way data interface.
[0167] Users have the right to check their data authorization status at any time through the privacy management interface provided by the digital media platform, and can revoke authorization or request the deletion of related data with one click. When the system receives the revocation instruction, it immediately stops all data collection operations and deletes the user's original behavioral trajectory data set, as well as all derived intermediate and final data, from the storage system. The entire process strictly complies with relevant data protection laws and regulations to ensure that users' privacy rights are not violated.
[0168] This embodiment integrates user search long-tail keyword sequences with community interaction record sequences into a user behavior action unit chain and constructs a set of behavior evolution relationship edges, forming a user behavior semantic script that can fully depict the user behavior progression trajectory. Compared with the traditional method that only counts discrete behavior events, it preserves the temporal dependence and intent transfer relationship between behaviors.
[0169] Building upon this foundation, a dependency parsing operation is performed on the user behavior semantic script to generate an intent chapter structure containing a set of subordinate relation identifiers and a set of causal modification relation identifiers. This achieves hierarchical semantic deconstruction of user behavior sequences, transforming raw behavioral data into an intent unit system with a clear logical organization. By performing a hierarchical attention propagation operation within the intent chapter structure, an attention propagation path is established from the top-level intent chapter to the bottom-level intent chapter based on the subordinate relation identifier set. A hierarchical attention distribution map is generated based on the semantic association strength along the path. This mechanism can automatically identify significant differences between intent units of different granularities in the user behavior semantic script. Furthermore, intent chapter fragments corresponding to attention concentration areas are extracted from the hierarchical attention distribution map as key plot nodes. Simultaneously, the locations where semantic structures break between adjacent intent chapter fragments are detected as semantic transition relation nodes. Both types of nodes are mapped together into a set of semantic anchor points for ad placement. Based on this anchor point set, a user profile feature cluster is generated, enabling the final user profile to accurately reflect the intensity distribution of user interests, active periods, and preferred objects, among other deep features. This achieves a complete technical transformation path from fragmented behavior logs to structured user intent profiles.
[0170] Please see Figure 2 The figure is a schematic diagram of the basic structure of a user profile analysis server 200 provided in an embodiment of this application. The user profile analysis server 200 includes: a processor 201; a storage device 202 on which a computer program 2020 is stored; and a network interface 203 for providing network communication functions. When the computer program 2020 is executed by the processor 201, the processor 201 implements any of the user profile analysis methods based on online advertising.
[0171] Please see Figure 3 This application provides a functional block diagram of a user profiling analysis device, which includes: The behavior data acquisition module is used to acquire the original behavior trajectory data set generated by the target user on the digital media platform. The original behavior trajectory data set includes the long-tail keyword sequence generated by the search behavior and the community interaction record sequence generated by the access to the vertical community. The behavior evolution analysis module is used to merge the search long-tail keyword sequence and the community interaction record sequence in chronological order into a user behavior action unit chain, and generate a behavior evolution relationship edge set based on the behavior intention transfer relationship between adjacent units in the user behavior action unit chain. The user behavior action unit chain and the behavior evolution relationship edge set together form a user behavior semantic script. The intent chapter generation module is used to perform dependency syntax tree parsing operations on the user behavior semantic script to generate the intent chapter structure corresponding to the user behavior semantic script. The intent chapter structure includes multiple intent chapter fragments and a set of subordinate relationship identifiers and causal modification relationship identifiers between intent chapter fragments. The attention distribution map generation module is used to perform hierarchical attention propagation operations in the intent chapter structure, establish an attention propagation path from the top-level intent chapter to the bottom-level intent chapter based on the set of subordinate relationship identifiers between intent chapter segments, and generate a hierarchical attention distribution map based on the semantic association strength in the attention propagation path. The user profile feature generation module is used to extract the intent chapter fragments corresponding to the attention concentration areas from the hierarchical attention distribution map as key plot nodes and detect the positions where the semantic structure breaks between adjacent intent chapter fragments as semantic transition relationship nodes. The key plot nodes and the semantic transition relationship nodes are jointly mapped to a set of advertising placement semantic anchor points, and a user profile feature cluster is generated based on the set of advertising placement semantic anchor points.
[0172] Based on the above, a readable storage medium is provided, on which a program or instructions are stored, and when the program or instructions are executed by a processor, the steps of the above method are implemented.
[0173] Furthermore, it should be noted that this application also provides a computer program product, which may include a computer program that can be stored in a computer-readable storage medium. The processor of the user profile analysis server reads the computer program from the computer-readable storage medium, and the processor can execute the computer program, causing the user profile analysis server to perform the aforementioned... Figure 1 The methods described in the corresponding embodiments are already known, and therefore will not be repeated here. Furthermore, the beneficial effects of using the same method will also not be repeated. For technical details not disclosed in the computer program product embodiments related to this application, please refer to the description of the method embodiments of this application.
[0174] It should be noted that the various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the systems or apparatus disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the descriptions are relatively simple, and relevant parts can be referred to the method section.
Claims
1. A user profiling analysis method based on online advertising, characterized in that, include: Acquire a set of raw behavioral trajectory data generated by target users on digital media platforms. The set of raw behavioral trajectory data includes a sequence of long-tail keywords generated by search behavior and a sequence of community interaction records generated by accessing vertical communities. The search long-tail keyword sequence and the community interaction record sequence are merged into a user behavior action unit chain in chronological order, and a behavior evolution relationship edge set is generated according to the behavior intention transfer relationship between adjacent units in the user behavior action unit chain. The user behavior action unit chain and the behavior evolution relationship edge set together form a user behavior semantic script. Perform dependency parsing on the user behavior semantic script to generate the intent chapter structure corresponding to the user behavior semantic script. The intent chapter structure includes multiple intent chapter segments and a set of subordinate relationship identifiers and a set of causal modification relationship identifiers between intent chapter segments. A hierarchical attention propagation operation is performed in the intent chapter structure. An attention propagation path from the top-level intent chapter to the bottom-level intent chapter is established based on the set of subordinate relationship identifiers between intent chapter segments. A hierarchical attention distribution map is generated based on the semantic association strength in the attention propagation path. The intent chapter fragments corresponding to the attention concentration areas are extracted from the hierarchical attention distribution map as key plot nodes, and the locations where the semantic structure breaks between adjacent intent chapter fragments are detected as semantic transition relationship nodes. The key plot nodes and the semantic transition relationship nodes are jointly mapped into a set of semantic anchor points for ad placement, and a user profile feature cluster is generated based on the set of semantic anchor points for ad placement.
2. The method according to claim 1, characterized in that, The process involves fusing the long-tail keyword sequence and the community interaction record sequence in chronological order into a user behavior action unit chain, and generating a behavior evolution relationship edge set based on the behavior intent transfer relationship between adjacent units in the user behavior action unit chain. The user behavior action unit chain and the behavior evolution relationship edge set together constitute a user behavior semantic script, including: Extract the long-tail keyword string and search initiation timestamp corresponding to each search behavior from the original behavior trajectory data set, encapsulate each long-tail keyword string into a search behavior unit, and sort the search behavior units according to the order of the search initiation timestamps to generate a search behavior unit sequence; Extract the community identifier, access page path, and access duration parameters corresponding to each vertical community access behavior from the original behavior trajectory data set. Encapsulate each vertical community access behavior into a community access behavior unit and sort the community access behavior units according to the order of access timestamps to generate a community access behavior unit sequence. The search behavior unit sequence and the community access behavior unit sequence are interleaved and merged according to their respective timestamps to generate a fused behavior unit sequence arranged in chronological order. Each unit in the fused behavior unit sequence is labeled as a user behavior action unit to obtain a user behavior action unit chain. Traverse each pair of adjacent user behavior action units in the user behavior action unit chain, extract the first behavior type identifier of the previous user behavior action unit and the second behavior type identifier of the next user behavior action unit, and record the transition pattern between the first behavior type identifier and the second behavior type identifier as the behavior intention transition relationship. Based on the behavioral intent transfer relationship, a directed behavioral evolution relationship edge is generated between each pair of adjacent user behavioral action units. The behavioral evolution relationship edge carries a transfer mode label, and the set of all behavioral evolution relationship edges constitutes the behavioral evolution relationship edge set. The user behavior action unit chain and the behavior evolution relationship edge set are combined into a user behavior semantic script. The user behavior semantic script uses the user behavior action unit chain as the node set and the behavior evolution relationship edge set as the edge set to generate a directed graph structure describing the user behavior progression process.
3. The method according to claim 1, characterized in that, The step of performing dependency parsing on the user behavior semantic script to generate the intent discourse structure corresponding to the user behavior semantic script includes: Each user behavior action unit in the user behavior semantic script is mapped to a word node in the dependency syntax tree, and each word node carries the behavior type identifier and behavior object identifier corresponding to the user behavior action unit. Based on the transition pattern labels of the behavior evolution relationship edge set in the user behavior semantic script, the dependency relationship types between different user behavior action units are determined. The dependency relationship types include subject-predicate relationship type, verb-object relationship type, and modifier relationship type. Using directed edges in the behavior evolution relation edge set as dependency arcs and user behavior action units as word nodes, a dependency syntax tree structure covering the entire user behavior semantic script is generated according to the dependency relation type. The root node of the dependency syntax tree structure corresponds to the starting user behavior action unit. The dependency syntax tree structure is divided into subtrees. Each subtree rooted at the core verb node is extracted as an intent chapter fragment, and the intent chapter fragment corresponds to a complete user micro-intent expression unit. Extract the subordinate relationships between different intention chapter segments. When the subtree corresponding to the first intention chapter segment completely contains the subtree corresponding to the second intention chapter segment, establish a subordinate relationship identifier between the first intention chapter segment and the second intention chapter segment. All subordinate relationship identifiers constitute a subordinate relationship identifier set. Extract the causal modification relationships between different intention chapter segments. When there is a causal dependency arc between the action unit in the first intention chapter segment and the action unit in the second intention chapter segment, establish a causal modification relationship identifier between the first intention chapter segment and the second intention chapter segment. All causal modification relationship identifiers constitute a causal modification relationship identifier set. The intent chapter fragments, along with the set of subordinate relationship identifiers and the set of causal modification relationship identifiers, are combined to form an intent chapter structure. This intent chapter structure is used to characterize the hierarchical organization and logical dependencies of intent units of different granularities in the user behavior semantic script.
4. The method according to any one of claims 1-3, characterized in that, The step of performing a hierarchical attention propagation operation within the intent chapter structure involves establishing an attention propagation path from the top-level intent chapter to the bottom-level intent chapter based on the set of subordinate relationship identifiers between intent chapter segments, and generating a hierarchical attention distribution map based on the semantic association strength in the attention propagation path, including: Extract all intent chapter fragments that do not have a subordinate relationship identifier from the intent chapter structure to form a top-level intent chapter set. Each top-level intent chapter in the top-level intent chapter set corresponds to the highest-level node of the intent chapter structure. Extract all intent chapter fragments that are included by other intent chapter fragments through the subordinate relationship identifier and no longer contain other intent chapter fragments from the intent chapter structure as the bottom layer intent chapter set; For each top-level intent chapter in the set of top-level intent chapters, traverse down along the set of subordinate relationship identifiers to all descendant intent chapter fragments contained in the top-level intent chapter, and generate an attention propagation path from the top-level intent chapter to each bottom-level intent chapter. All attention propagation paths constitute an attention propagation path set. For each attention propagation path in the set of attention propagation paths, the semantic vectors between two adjacent intent chapter segments on the attention propagation path are extracted sequentially, the inner product between the two semantic vectors is calculated as the local semantic association strength of the attention propagation path, and the product of all local semantic association strengths on the attention propagation path is used as the global semantic association strength of the attention propagation path. Based on the global semantic association strength of each attention propagation path, the relative strength of all attention propagation paths under the same top-level intent chapter is compared. The ratio of the global semantic association strength of each attention propagation path to the maximum global semantic association strength under the same top-level intent chapter is used as the path attention weight coefficient of that path. The path attention weight coefficients of multiple attention propagation paths received by each bottom-level intent chapter from different top-level intent chapters are summed and aggregated to obtain the bottom-level attention weight value of that bottom-level intent chapter. Based on the set of subordinate relationship identifiers, the lower-level attention weight values are backpropagated to the upper-level intent chapter fragments. The attention weight value of the upper-level intent chapter fragment is equal to the sum of the attention weight values of all the lower-level intent chapter fragments it contains. This backpropagation is carried out layer by layer until the top-level intent chapter, generating a hierarchical attention weight value for each intent chapter fragment. All intent chapter segments are organized into a hierarchical attention distribution map according to their hierarchical position and hierarchical attention weight value. The visual representation size of each intent chapter segment in the hierarchical attention distribution map is positively correlated with its hierarchical attention weight value.
5. The method according to claim 1, characterized in that, The step of extracting intent chapter fragments corresponding to attention concentration regions from the hierarchical attention distribution map as key plot nodes and detecting the locations where semantic structure breaks between adjacent intent chapter fragments as semantic transition relationship nodes includes: Traverse all intent chapter segments in the hierarchical attention distribution map, and mark intent chapter segments whose hierarchical attention weight values exceed the average attention weight values of adjacent intent chapter segments as key attention intent chapter segments; The key attention intent chapter segments are clustered according to their temporal order in the user behavior semantic script. Key attention intent chapter segments that are temporally continuous and directly connected by a subordinate relationship identifier are grouped into the same attention concentration region, and each attention concentration region corresponds to an attention peak region. Extract the intent chapter fragment with the highest hierarchical attention weight value from each attention focus area as the key plot node of that attention focus area, and the key plot nodes of all attention focus areas constitute the key plot node set; Traverse the adjacent intention chapter fragment pairs arranged in chronological order in the intention chapter structure, extract the core semantic role label set of each pair of adjacent intention chapter fragments, and calculate the Jaccard distance between the two core semantic role label sets as the semantic difference metric. When the semantic difference metric exceeds the preset semantic break threshold, the boundary position between the pair of adjacent intent chapter segments is marked as a candidate semantic break position. The candidate semantic break positions are deduplicated, and each unique boundary position is used as a semantic transition node. The semantic transition node is used to indicate the time boundary point where the user's intent direction has fundamentally changed. The timestamp positions corresponding to each key plot node in the set of key plot nodes and the timestamp positions corresponding to the semantic turning point nodes are respectively marked on the timeline of the user behavior semantic script to generate plot node annotation sequences and turning point node annotation sequences.
6. The method according to claim 1, characterized in that, The step of mapping the key plot nodes and the semantic transition relationship nodes together into a set of semantic anchor points for ad placement includes: Extract the core action verbs and core object nouns from the intent chapter fragments corresponding to each key plot node, and combine the core action verbs and core object nouns into a key plot semantic template. The key plot semantic template is used to represent the user's main behavioral intent at the key plot node. Extract the two intent chapter fragments before and after each semantic transition relationship node, extract the pre-transition intent identifier from the previous intent chapter fragment, extract the post-transition intent identifier from the next intent chapter fragment, and use the combination of the pre-transition intent identifier and the post-transition intent identifier as the transition pattern identifier. The key plot semantic template is matched with a preset advertising product category mapping table to obtain the candidate advertising product category identifier corresponding to each key plot node. The transition mode identifier is matched with a preset advertising timing rule table to obtain the candidate advertising timing window identifier corresponding to each semantic transition relationship node. The candidate advertising timing window identifier is used to indicate the time interval for advertising after the transition occurs. Bind the candidate ad placement product category target identifier corresponding to each key plot node to the candidate ad placement timing window identifier corresponding to the first semantic transition relationship node after the key plot node to generate an ad placement semantic anchor point. The ad placement semantic anchor point includes a product category target identifier field and a timing window identifier field. The semantic anchors for ad placement generated by binding all key plot nodes with subsequent semantic transition nodes are arranged in chronological order of the key plot nodes, forming a set of semantic anchors for ad placement.
7. The method according to claim 1, 5, or 6, characterized in that, The process of generating a user profile feature cluster based on the set of semantic anchor points for ad placement includes: Extract the product category target identification field carried by each ad placement semantic anchor from the set of ad placement semantic anchors, and group the ad placement semantic anchors according to the category of the product category target identification field to obtain multiple product category anchor groups. Each product category anchor group corresponds to a user interest dimension. The number of advertising semantic anchors contained in each product category anchor group is counted, and this number is used as the interest frequency feature of that user interest dimension. Extract the timing window identifier field corresponding to all advertising semantic anchors within each product category anchor group, parse the start time and end time of the advertising time interval from each timing window identifier field, and calculate the average of the start times of all advertising time intervals as the interest activity period feature of this user interest dimension. Extract all core object nouns from the key plot semantic templates corresponding to the advertising semantic anchors within each product category anchor group, and obtain the set of preference object nouns for that user interest dimension after deduplication of the core object nouns; The frequency of interest features, the period of interest activity, and the set of preferred object nouns are combined to form the user profile feature vector for the user's interest dimension. The user profile feature vectors corresponding to all product category anchor groups are encapsulated to generate a user profile feature cluster. The user profile feature cluster is used to characterize the target user's interest intensity, interest time distribution, and interest object preferences in different product categories.
8. The method according to claim 7, characterized in that, After counting the number of advertising semantic anchors contained in each product category anchor group and using this number as the interest frequency feature of that user interest dimension, the method further includes: Extract the position index sequence of key plot nodes corresponding to all advertising semantic anchors within each product category anchor group in the user behavior semantic script, and calculate the interval step value sequence between adjacent advertising semantic anchors based on the position index sequence. The minimum value in the interval step value sequence is taken as the interest density feature of the user's interest dimension, and the maximum value in the interval step value sequence is taken as the interest dispersion feature of the user's interest dimension. Extract the long-tail keyword strings from the user behavior action unit chain associated with the key plot nodes corresponding to all advertising semantic anchors in each product category anchor group, sort all the long-tail keyword strings according to their frequency of occurrence, and take the first predetermined number of long-tail keyword strings as the long-tail keyword interest features of that user interest dimension. Extract community identifiers from the user behavior action unit chain associated with the key plot nodes corresponding to all advertising semantic anchors within each product category anchor group, count the frequency of each community identifier, and take the community identifier with the highest frequency as the vertical community interest feature of that user interest dimension. The interest density feature, interest dispersion feature, long-tail keyword interest feature and vertical community interest feature are added to the user profile feature vector of this user interest dimension to generate an expanded user profile feature vector. Replace the original user profile feature vector with the expanded user profile feature vector, and update the corresponding item in the user profile feature cluster.
9. A user profiling analysis server, characterized in that, include: A processor; a storage device having a computer program stored thereon; a network interface for providing network communication functions; when the computer program is executed by the processor, the processor implements the user profiling analysis method based on online advertising as described in any one of claims 1-8.
10. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions, which, when executed by a processor, implement the user profiling analysis method based on online advertising as described in any one of claims 1-8.