Automated restructuring of search campaigns

The automated restructuring of search campaigns through keyword clustering and vectorization techniques addresses inefficiencies in existing datasets, achieving improved processing efficiency and accuracy in directing traffic to target sites.

JP7886950B2Active Publication Date: 2026-07-08GOOGLE LLC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
GOOGLE LLC
Filing Date
2023-04-17
Publication Date
2026-07-08

AI Technical Summary

Technical Problem

Existing search campaign datasets suffer from inefficiencies leading to keyword repetition, excessive memory usage, and slow processing times due to inefficient data structures and redundant mappings, resulting in errors and suboptimal traffic direction to landing pages.

Method used

An automated method for restructuring search campaigns by clustering keywords, eliminating redundancy, and reducing the number of landing pages using fuzzy matching, node clustering, and vectorization techniques to improve efficiency and accuracy in mapping keywords to landing pages.

Benefits of technology

The method significantly reduces dataset redundancy, improves processing efficiency, and enhances the accuracy of directing traffic to target sites by over 600%, while compressing campaign and content item groups by up to 97%.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007886950000001
    Figure 0007886950000001
  • Figure 0007886950000002
    Figure 0007886950000002
  • Figure 0007886950000003
    Figure 0007886950000003
Patent Text Reader

Abstract

To automatically map keywords to landing pages, the system includes: obtaining a dataset including an initial set of groups of content items, each of the groups being mapped to a respective landing page in the initial set of landing pages, each of the content items being associated with one or more keywords in an initial keyword vocabulary; and generating a reduced dataset based on the obtained dataset, the generating including (i) generating the reduced set of landing pages based on the initial set of landing pages using parameters of links associated with each landing page, (ii) clustering the keywords to determine a set of themes associated with the dataset, and (iii) generating the reduced set of groups including identifying overlaps of themes in the set of themes among the groups. The system further uses the generated data structure to map the received search terms to one or more of the content items.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the structuring of search campaigns, and more particularly to methods and systems for simplifying and restructuring search terms related to landing pages of web resources.

Background Art

[0002] A computing system providing a search service can provide both search results and third-party content related to a search query. For example, a user can access a search engine via a website or a dedicated application and submit a search query containing one or more search terms. In response to the search query, the system can identify search results responsive to the query and third-party content related to the search terms. The system can provide third-party content as part of a search campaign to drive traffic to specific landing pages related to products, services, applications, etc.

[0003] An operator of a search service can design a search campaign to provide third-party content items considering various quantitative metrics. Examples of such metrics include click-through rate (CTR), cost per click (CPC), cost per acquisition (CPA), conversion rate, etc. A search campaign can include multiple groups of third-party content items, each group being associated with a specific intended message. The system can store a set of keywords for each group or theme to facilitate the selection of relevant third-party content for queries containing these keywords or related keywords. In some cases, providers of third-party content can bid on these keywords.

[0004] The datasets required to build and maintain effective search campaigns are often massive. Inefficiencies in the design of such datasets can lead to keyword repetition across multiple campaigns, mapping an excessive number of campaigns and / or content groups to the same landing page, and duplication of the same text across multiple campaigns and groups in third-party content. Inefficient data structures to support automated bidding and the automated mapping of keywords to third-party content and landing pages result in slow processing times, excessive memory usage, and errors. [Overview of the project]

[0005] An exemplary embodiment of the technique of the present disclosure is a method for automatically mapping keywords to landing pages. The method includes obtaining a dataset containing an initial set of groups of content items, each group being mapped to a respective landing page in the initial set of landing pages, and each content item being associated with one or more keywords in the initial keyword vocabulary; and generating a reduced dataset based on the obtained dataset, the generating includes generating a reduced set of landing pages based on the initial set of landing pages using the parameters of the links associated with each landing page, clustering keywords to determine a set of themes associated with the dataset, and identifying thematic overlaps in the thematic sets across groups. The method further includes using the reduced dataset to map an incoming search term to one or more of the content items. [Brief explanation of the drawing]

[0006] [Figure 1]This is a block diagram of an exemplary computing system capable of implementing the campaign restriction techniques described herein.

[0007] [Figure 2] This is a block diagram of an exemplary search campaign structure in which the system of this disclosure can operate to generate a more efficient structure.

[0008] [Figure 3A] This is a flowchart illustrating an exemplary method for performing a search campaign restructuring.

[0009] [Figure 3B] This is a flowchart illustrating an exemplary method for reducing a set of landing pages.

[0010] [Figure 4A] This figure shows a plot of keyword nodes generated from an N×N matrix of fuzzy keyword matching values. [Figure 4B] This figure shows a plot of keyword nodes generated from an N×N matrix of fuzzy keyword matching values. [Figure 4C] This figure shows a plot of keyword nodes generated from an N×N matrix of fuzzy keyword matching values. [Figure 4D] This figure shows a plot of keyword nodes generated from an N×N matrix of fuzzy keyword matching values.

[0011] [Figure 5A] This figure shows a plot of keywords presented as nodes in a 2D vector space. [Figure 5B] This figure shows a plot of keywords presented as nodes in a 2D vector space. [Figure 5C] This figure shows a plot of keywords presented as nodes in a 2D vector space.

[0012] [Figure 6A] Figures 5B and 5C present 3D data where the respective colors correspond to values ​​along the z-axis. [Figure 6B] Figures 5B and 5C present 3D data where the respective colors correspond to values ​​along the z-axis. [Modes for carrying out the invention]

[0013] One or more devices are configured to perform automated restructuring of search campaigns, which reduces the data structure and improves the efficiency of mapping keywords to landing pages. As will be discussed in more detail below, the automated restructuring in this disclosure eliminates dataset redundancy, reduces the number of target sites the network is directed to, and improves the overall accuracy of directing traffic to target sites.

[0014] Referring first to Figure 1, the environment 100 includes one or more data processing servers of system 102, which perform a search service accessible via network 103 to client devices such as client device 104 or 106, and third-party content providers 106, 108. Client device 104 can support software applications such as web browsers that allow users to access the search service and submit search queries. Operators of third-party content providers 104 or 106 can access system 102 (typically via different interfaces) to develop third-party content such as advertisements containing text, video, and audio components, and possibly software instructions, to provide interactivity in the form of animations, games, etc. Operators can also design search campaigns so that the server(s) present third-party content along with search results. System 102 can store search campaign data, which will be discussed in more detail with reference to Figure 2, along with the third-party content in database 110.

[0015] System 102 includes processing hardware which may include any suitable combination of hardware and software components. The processing hardware may include, for example, one or more processors configured to execute software instructions stored on a non-temporary computer-readable storage medium. In this embodiment, System 102 includes at least one processor 120, a network interface 122, and memory 124. The processor(s) 120 may include a general-purpose processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), and the like. Memory 124 may be a computer-readable non-temporary form of storage and may include any suitable electronic, optical, magnetic, or any other storage or transmission device. Memory 124 stores computer-executable instructions that implement various components or modules, such as a fuzzy matching module 130, a node clustering module 132, a vectorization module 134, and a search engine 140.

[0016] Similarly, devices 106, 108, 105, and 106 may be or include any suitable computer server, personal computer, handheld device, smartphone, or other computing device. Each of devices 106, 108, 105, and 106 may include one or more processors and computer-readable non-temporary memory for storing software instructions and data.

[0017] Network 103 can be and / or can include a computer network such as the Internet, a local area network (LAN), a wide area network (WAN), a metropolitan area network, one or more intranets, a satellite network, a cellular network, an optical network, other types of data networks, or combinations thereof. Network 103 can include any number of network devices, such as, among other things, gateways, switches, routers, modems, repeaters, and wireless access points.

[0018] FIG. 2 shows an exemplary structure of search campaigns 202-A and 202-B that the system 102 can store as a set of data structures in a third-party database 110. Campaign 202-A can include, for example, a plurality of content items grouped into groups 1, 2, N as shown in FIG. 2. In this example, the content items are advertisements grouped into advertising groups accordingly. Each keyword in the keyword set vocabulary 210 of search campaign 202-A is associated with one or more content items in one or more of the groups. For example, search campaign 202-A can include an association of keyword K1 with advertising group 1 or advertising group 2 depending on certain additional factors such as the demographics of the content consumer.

[0019] Each advertising group can be associated with a landing page that the system 102 provides to content consumers. Each landing page 220-1, 220-2, 220-N can correspond to a product, an application, a website, etc. The advertising group can be mapped to the landing page through messaging that can consist of (or be represented by) sequences such as keywords, sentences, phrases, etc. For example, group 1 of the search campaign 202-A corresponds to the landing page 220-1 via messages MSG1 and MSG2, and group 2 of the search campaign 202-A corresponds to the landing page 220-2 via messages MSG1, MSG2, and MSG3, etc.

[0020] As a more specific example, the message can be a string of keywords that forms a sentence such as "Please visit the tourist attractions in Town X". Another message can include the same sentence with different punctuation marks and can thus be practically a duplicate of the first message.

[0021] The search campaign 202-A can be associated with a user account, in which an operator and / or an automated service can continuously increase the number of keywords, advertising groups, content items, and landing pages. The links between these elements may initially be unique, but over time, each element may link to multiple other elements of the search campaign structure, reducing the efficiency of providing the correct landing page to content consumers.

[0022] As a more concrete example, some of the content items within groups 1 and 2 of campaign 202-A may be the same. Furthermore, a particular keyword (see, for example, keyword KL in Figure 2) may be mapped to multiple ad groups, and even multiple campaigns. Moreover, various ad groups or campaigns may be mapped to landing pages 220-1 and 220-2, even when these landing pages are associated with a common resource (e.g., the same online service).

[0023] Components 130, 132, and 134, among others, perform campaign restructuring to eliminate redundancy in links and keyword mappings, thereby reducing the computing and memory consumption of search campaigns and making them more effective.

[0024] Referring back to Figure 1, the fuzzy matching module 130 can perform fuzzy matching between keywords to determine matching values. Generally speaking, fuzzy matching is based on comparing strings or other data structures to determine the similarity between these data structures. In the example of this disclosure, the fuzzy matching module 130 works with strings. The fuzzy matching module 130 outputs percentage values, for example, expressed as a percentage or a decimal value less than 1 (i.e., matching 95% and matching 0.95 are equivalent). The fuzzy matching module 130 can generate and store matching values ​​as individual values, in a vector, a matrix, or in another data structure.

[0025] The node clustering module 132 can determine node clusters from matching values ​​of keyword pairs, as shown in Figures 3A-3C and 4A-4D. The node clustering module 132 can generate datasets that can be illustrated as interconnected nodes. After generating a specific cluster, the node clustering module 132 can determine the central node of the node cluster. System 102 associates the central node with the most accurate representation of all nodes in the cluster.

[0026] In some embodiments, a node cluster may include very closely related nodes, for example, a cluster of nodes that are only two hops away from the central node (i.e., one intermediate node). In other embodiments, a node cluster may be a group of nodes that are only three, four, or five hops away from the central node. In further embodiments, the user determines the size of the node cluster, which is determined by the node clustering module 132. The desired size of the node cluster may be limited by the hardware of system 102 (e.g., memory, bandwidth, etc.) or other devices of system 100. As the complexity of a search campaign increases significantly with the number of keywords, system 120 favorably reduces the number of nodes by generating large node clusters and then shrinking the node clusters by removing all nodes in the node clusters other than the central node, i.e., shrinking the clusters to their most central node.

[0027] In some embodiments, the node clustering module 132 determines the central node as the node with the fewest total hops or the shortest cumulative distance to all other nodes in the node cluster. The node clustering module 132 can identify the central node as the node with the highest cumulative matching value to all other nodes in the node cluster, or the node clustering module 132 can identify the central node using another metric that indicates the similarity of the central node to the other nodes in the node cluster.

[0028] The vectorization module 134 performs vectorization of various keywords, so that system 102 can apply vector analysis to keywords. As discussed below, the vectorization module 134 may use the Word2Vec model to vectorize text or strings, or it may use other vectorization techniques, such as term frequency-inverse document frequency vectorization. In some embodiments, the vectorization module 134 vectorizes data of types other than strings.

[0029] Next, Figure 3A shows a flowchart of an exemplary method 300 for performing search campaign restructuring. Method 300 can be implemented within the search campaign restructuring system 100 of Figure 1, or within another suitable system.

[0030] In block 302, system 102 accesses a user account. The user account may contain information associated with a user or business profile, and system 102 may retrieve a dataset describing a campaign. For example, a user account may include a description of a campaign that includes (i) multiple landing pages, (ii) information that system 102 can use to identify business objectives (e.g., labels assigned by the operator, references to the geographical location of a location-specific campaign, brand or core competitor indications), (iii) ad group indications, or more generally, groupings of content items, (iv) messaging that links the ad groups to landing pages or information that system 102 can use to extract messaging, (v) keywords, and (iv) ads, or other content items including text, multimedia content, code, etc. The campaign description may generally include any number of components and links between these components.

[0031] Next, in block 304, system 100 determines one or more goals associated with the profile. System 102 can determine the goals (for example, achieving a certain level of interaction with content items within a specific geographical area) by using one or more labels assigned to individual content items, ad groups, and / or campaigns, or by processing specialized terminology that differentiates the campaign to objectives such as brand / core / competitive or geographical goals. For example, one or more labels indicate that the goal is to maximize traffic directed to a landing page.

[0032] In block 306, system 102 identifies the number of unique landing pages associated with a user account and then reduces that number. To this end, system 102 may, for example, remove tracking parameters, remove narrow-range path parameters, and identify landing pages using specific path parameters. An exemplary embodiment of step 306 is discussed below with reference to Figure 3B.

[0033] In block 307, system 102 reduces the keyword vocabulary. Generally speaking, in this step, system 102 generates a smaller keyword vocabulary by identifying keywords that have the same meaning (e.g., "auto loan" and "my car loan") or sufficiently similar meanings, and mapping the identified keywords to the keywords remaining in the reduced vocabulary set. In some scenarios, the number of unique keywords can reach tens of thousands, and the complexity of the fuzzy comparison is O(n 2 Because of this, System 102 thereby reduces fuzzy comparison. Fuzzy matching, also known as approximate string matching, allows System 102 to identify two elements of text, strings, or data entries that are nearly similar but not exactly the same (i.e., nearly identical).

[0034] System 102 constructs disconnected graphs from N×N matrices. These graphs are the output of fuzzy matching of various groups of keywords. For example, the node clustering module 132 can determine keywords that have matching values ​​above a threshold and associate these results with nodes in the graph. Each node is connected to at least one node at a distance from any connected node proportional to the matching value between keywords.

[0035] More specifically, system 102 (e.g., fuzzy matching module 130) can construct an N×N matrix for storing matching values. System 102 performs fuzzy matching between all pairs of keywords in a combination. The fuzzy matching technique provides matching rate values ​​comparable to a threshold for determining whether two keywords are nearly a match. The matching threshold can be a value provided by the user or stored in the memory of system 102. For keyword pairs with matching values ​​above the matching threshold (e.g., 90%), system 102 removes one of the keywords from the keyword vocabulary, but can retain both keywords in keyword pairs with matching values ​​below the threshold. System 102 can replace the values ​​in the N×N matrix with zero for fuzzy matching rates below the matching threshold, and retain non-zero matching rate values ​​in the N×N matrix for pairs with matching values ​​above the matching threshold.

[0036] In an exemplary embodiment, system 102 prioritizes similar keywords using similarity values ​​and applies fuzzy matching to determine the matching rate. When the fuzzy matching value falls below a predefined threshold of 90%, system 102 stops processing the remaining keywords. In the worst-case scenario, this takes O(n) time. 2 This can lead to complexity, but in typical scenarios, the complexity is significantly reduced. Assuming an average word length of 4.7 characters and an average of 4-5 keywords per search term, System 102 can exhaustively retrieve up to 1500 character combinations, which is relatively computationally intensive.

[0037] In block 308, to identify the campaign theme, system 102 uses a reduced keyword set, also known as a reduced keyword vocabulary, associated with the account's landing pages. Each landing page may be associated with a specific product, and system 102 can analyze the landing pages to identify the various themes and / or search terms associated with each landing page. System 102 can apply unsupervised clustering to determine themes for a set of products. Each landing page may have a different structure based on the website to which the landing page is associated.

[0038] More specifically, system 102 (for example, vectorization module 134) converts all keywords in the reduced keyword vocabulary into vectors. Vectorization module 116 may use a Word2Vec model to convert keywords into vectors, and a particular Word2Vec model may be selected depending on the language of the keywords. Therefore, system 102 can convert keywords into a specific language (for example, English) before converting them into vectors.

[0039] System 102 can apply a word frequency-inverse document frequency (TF-IDF) vectorizer to character n-grams to determine the relevance of keywords outside of lexical keywords, and further, exclude these keywords from vectorization and analysis, or vectorize out-of-lexical (OOV) keywords. Generally, OOV keywords are difficult to accurately identify and compare because these words are not in the model's training set. Keywords are often short in length, and there are many OOV keywords due to the rapid advancements in technology, consumer products, and social trends. Typically, OOV keywords are reduced to 0 vectors during vectorization, which does not provide information for performing campaign reconstruction. To handle OOV keywords, System 102 can apply TF-IDF vectorization instead of Word2Vec vectorization.

[0040] More specifically, system 200 can use Word2Vec (e.g., 300-dimensional) to create basis vectors for each keyword phrase. System 102 then takes the average of each vector for each token in the phrase. The system removes tokens from the model vocabulary from the keyword string. If system 102 does not find any tokens from the keyword phrase, system 102 uses a 300-dimensional zero vector to represent the keyword. For the remaining tokens (OOV), system 102 uses the TF IDF vectorizer to create another sparse vector. This vector extends the existing basis vectors, and if there are k OOV keywords, k+300 is the final shape of the extended vector. In this way, system 102 gives the vectors some direction, regardless of the keyword vocabulary.

[0041] Referring to block 308, system 102 then applies clustering to the vectorized keywords to identify keyword clusters. System 100 may use silhouette scores to determine keyword clusters. A silhouette score threshold may be used to separate keyword vectors into clusters, for example, vectors with a combined silhouette score greater than 0.5 may be determined to form a cluster, or, in this example, combined keyword vectors with a silhouette score greater than 0 may be determined to form a cluster, and groups with a silhouette score less than 0 may be determined not to form a cluster.

[0042] Using clustering, system 102 identifies the campaign themes of landing pages based on the keywords associated with those landing pages. For example, system 102 may determine that content items associated with the keywords "auto loan," "automobile loan," and "vehicle loan" have a single theme, and system 102 may identify that single theme as "automobile loan" based on its higher centrality over "auto loan" and "vehicle loan."

[0043] In block 310, system 102 forms new groups using the new clusters of keywords. More specifically, system 102 can generate new groups from each of the clusters. In some embodiments, system 102 can compare the messaging of the new groups to identify potential redundancy within the new groups and, if applicable, further reduce the set of groups. Thus, in some embodiments, system 102 operates iteratively to further simplify the structure, thereby reducing memory consumption and simplifying processing. System 102 can store the new ad groups, with the new keyword vocabulary, the reduced set of landing pages, and the corresponding associations between each of these elements, as a restructured search campaign in the third-party content database 110 as a reduced dataset of campaigns.

[0044] In block 312, system 102 determines overlaps between groups based on messaging and identifies groups that satisfy the novelty requirement. This requirement can be understood as groups associated with messages not shared with other groups. System 102 can then consider that groups with unique messaging are appropriately formed. System 102 can also generate and apply a novelty ratio metric, which is the percentage of groups that are new in a particular account.

[0045] More specifically, in block 312, system 102 can first construct a TF-IDF vector using character n-grams. System 102 can then evaluate cosine similarity to construct a preferred queue for evaluation, and then use fuzzy matching to identify groups of similar messaging and similar content items.

[0046] After System 102 restructures the campaign as discussed above, the search engine 140 can use the reduced dataset to more efficiently identify content items to present with search results in response to search queries from user devices, and to more efficiently perform other processes associated with the campaign (e.g., calculating various metrics such as CTR). System 102 works with smaller datasets, for example, with fewer groups and fewer links to landing pages.

[0047] In some embodiments, in block 312, system 102 proposes a new campaign structure to the user using the modified group, and the user can accept and / or further modify the campaign structure via the user interface.

[0048] Figure 3B is a flowchart of an exemplary method 330 for reducing the set of landing pages by eliminating multiple landing pages that are associated with the same resource but differ only in a specific type of link parameter. System 102 can use this method during the process of restructuring a search campaign. Generally speaking, landing pages can have various structures. System 120 can use the underlying structure of a website (e.g., hierarchy, links) to distinguish two landing pages based on path parameters or query parameters. For example, a website in the travel or e-commerce domain typically relies heavily on query parameters, as these query parameters can define search parameters and, consequently, target objects (e.g., products). On the other hand, a financial website, for example, relies more on path parameters and has a corresponding structure. Furthermore, in addition to basic parameters, the campaign planner may further complicate the problem of reducing the set of landing pages by adding tracking parameters for attribution and reporting purposes.

[0049] Method 330 begins in block 332, where system 102 removes tracking parameters from links. For example, system 102 may identify query parameters with the prefix "utm" and remove any landing pages associated with the identified query parameters. The prefix "utm" indicates that the query parameter is a tracking parameter and therefore not a search parameter used to direct a user to a landing page. In this example, the prefix "utm" is used to identify and exclude keywords and landing pages for a particular query parameter, but more generally, system 102 may use other prefixes or suffixes to identify and exclude keywords for query parameters and landing pages associated with the identified query parameters.

[0050] In block 334, system 102 determines query parameters that may be too specific or specific and removes keywords and / or landing pages associated with those query parameters from the keyword vocabulary. For example, the system may retain query parameters such as "language=English" in the query parameter set, but it may determine that parameters such as "page=1, 2, 3" are too narrow in scope. Since page numbers are specific identifiers and not inherently categories or content classifications, system 102 can remove keywords and / or landing pages associated with the "page" query. By removing keywords and landing pages associated with tracking parameters and overly specific parameters, the set of specific landing pages is reduced, enabling campaign restructuring that results in an efficient search campaign structure. Finally, in block 335, system 102 can generate a reduced set of landing pages to facilitate subsequent search campaign restructuring, as discussed above with reference to Figure 3A.

[0051] For clarity, Figures 4A–4D include a graphical representation of the graph discussed, as a plot of keyword nodes generated from an N×N matrix of fuzzy keyword matching values. Each matching value is represented by a node, shown as a point in Figures 4A–4D. Each node is connected to adjacent nodes by lines to form clusters, each line having a length proportional to the matching value between the keywords in the node. Each cluster of nodes represents a group of keywords that fuzzy matching has determined to be similar in content or topic.

[0052] In block 368, system 102 identifies the central node of each cluster (as nodes 402A-D), as further shown in Figures 4A and 4D. System 102 can determine which node has the highest degree of centrality to a given cluster as the central node 402A-D. System 102 can determine centrality using various means, for example, by selecting the node with the smallest cumulative distance to all other nodes in the cluster as the central node. The central nodes 402A-D are associated with a keyword, or a pair of keywords, that best represents all the keywords associated with the nodes of the cluster. Thus, the keywords of the central nodes 402A-D can represent all the keywords of the cluster, and system 102 can remove other keywords associated with the remaining nodes of the cluster. System 102 uses the central nodes of the cluster to generate a reduced keyword vocabulary.

[0053] The keyword reduction technique discussed with reference to Figure 3C can reduce the keyword vocabulary by more than half in some scenarios. Furthermore, the fuzzy matching approach discussed above allows system 102 to identify and remove redundant and misspelled words in the keyword vocabulary.

[0054] Referring back to Figure 3A, in some embodiments, system 102 also uses fuzzy matching in block 310 to reduce the number of groups (for example, ad groups when content items are ads). Similar to keywords, the text contained in content items that make up a group may be similar, misspelled, or redundant. For example, content items containing the text "housing finance" and "mortgage" may have similar or identical meanings. However, classifying content item groups using a vector model can result in content items with these two versions of text being grouped into different themes, potentially leading to redundant groups that complicate search campaigns or produce incorrect search results. Therefore, reducing the groups before performing vector analysis simplifies the restructured search campaign, enabling faster search results and improved campaign effectiveness.

[0055] To reduce the size of the group, the fuzzy matching module 132 in the exemplary embodiment performs fuzzy matching between all text components and all other text components in the group, generating a matching score for each pairing. System 102 identifies all text pairings with a matching score of 0.95 or higher and flags them as likely to have the same messaging. For example, a matching score of 0.95 may occur due to a typo, added space, changed punctuation, or other minor textual difference without changing the messaging or content. System 102 further compares the groups by assigning a matching score to each group. The matching score of a group can be determined by dividing the number of text components with a matching score greater than 0.95 by the total number of content items in the group of content items. This group matching value may differ depending on A->B and B->A, which result in directional relationships for forming a directed graph.

[0056] System 102 matches words with a matching value greater than 0.60, and for each pair with a matching value greater than 0.60, removes one of the texts from each pair, thereby reducing the group by removing content items that have similar or identical messaging. Similar to the keyword reduction process, System 102 can construct a matching matrix and generate nodes representing groups, as shown in Figures 4A to 4D. Each node may similarly be connected to the nearest adjacent group node, a central group node may be identified, and the central group node best represents all groups interconnected with the central group.

[0057] System 102 can then determine the core theme of a central ad group by determining the keyword frequency of search keywords associated with various ads in the central ad group. For example, the most frequent keywords across all content items of the central group within a cluster may provide a general understanding of the core content of the central group for the content items. Furthermore, System 102 can apply natural language processing and stop word removal to determine the theme and overall content of the central group. Finally, after System 102 has identified one or more central groups, System 102 may consider the new set of groups as novelty groups (for example, by setting appropriate flags), each group having its own unique messaging and content.

[0058] To further clarify, Figures 5A–5C show plots of keywords presented as nodes in a 2D vector space. Figure 5A shows keywords for a search campaign vectorized in 2D space. Figure 5B shows keyword nodes shaded according to the method of grouping keywords before performing the restructuring described herein. Figure 5C shows keyword nodes shaded according to a specific campaign after performing the campaign restructuring for a user account. Figure 5C is much less shaded than Figure 5B, indicating that there are far fewer campaigns after restructuring.

[0059] Figures 6A and 6B present three-dimensional data where the respective shaded areas in Figures 5B and 5C have their own values ​​along the z-axis. The z-axis in Figure 6A has left and right axes with values ​​from 0 to 2000, while Figure 6B has a maximum z-axis value of 70. Reducing approximately 2000 campaigns to just about 60 campaigns results in a compression or reduction of approximately 97%.

[0060] The disclosed method for restructuring search campaigns has been experimentally implemented and has delivered a reduction of over 50% in campaign and content item groups. In some cases, a single pass of the disclosed method reduced campaigns per user account by over 90% and groups associated with user accounts by over 80%. Subsequent passes of the described method resulted in further reductions in campaign and content item groups. In addition, the success rate of delivering the correct group of content items to consumers increased by over 600%, and the novelty index of landing pages also increased by over 600%.

[0061] The following additional considerations apply to the preceding discussion.

[0062] User devices capable of implementing the techniques of this disclosure may be any suitable wireless communication-enabled device, such as smartphones, tablet computers, laptop computers, mobile game consoles, point-of-sale (POS) terminals, health monitoring devices, drones, cameras, media streaming dongles or other personal media devices, wearable devices such as smartwatches, wireless hotspots, femtocells, or broadband routers. Furthermore, user devices may, in some cases, be embedded in electronic systems such as vehicle head units or advanced driver-assistance systems (ADAS). Moreover, user devices may operate as Internet of Things (IoT) devices or mobile internet devices (MIDs). Depending on the type, user devices may include one or more general-purpose processors, computer-readable memory, a user interface, one or more network interfaces, one or more sensors, etc.

[0063] Certain embodiments described in this disclosure include logic, or several components or modules. A module may be a software module (e.g., code or machine-readable instructions stored in a non-temporary machine-readable medium) or a hardware module. A hardware module is a tangible unit capable of performing a particular operation and may be configured or arranged in a particular manner. A hardware module may include dedicated circuitry or logic that is permanently configured (e.g., as a dedicated processor such as a field-programmable gate array (FPGA) or application-specific integrated circuit (ASIC), or as a digital signal processor (DSP)) to perform a particular operation. A hardware module may also include programmable logic or circuitry that is temporarily configured by software (e.g., contained within a general-purpose processor or other programmable processor) to perform a particular operation. The decision to implement a hardware module in dedicated and permanently configured circuitry or in temporarily configured circuitry (e.g., configured by software) may depend on cost and time considerations.

[0064] When implemented in software, techniques may be provided as part of an operating system, a library used by multiple applications, or a specific software application. The software can run on one or more general-purpose processors or one or more dedicated processors.

[0065] A person skilled in the art will understand, by reading this disclosure, further additional and alternative structural and functional designs for managing wireless bearers through the principles disclosed herein. Therefore, while specific embodiments and applications are shown and described, it should be understood that the disclosed embodiments are not limited to the exact configurations and components disclosed herein. Various modifications, changes, and variations obvious to a person skilled in the art can be made in the arrangement, operation, and details of the methods and apparatus disclosed herein without departing from the spirit and scope defined in the appended claims.

Claims

1. A computer implementation method for automatically mapping keywords to landing pages, The process involves obtaining a dataset containing an initial set of groups of content items using processing hardware, wherein each of the groups is mapped to a corresponding landing page in an initial set of landing pages, and each of the content items is associated with one or more keywords in an initial keyword vocabulary. The processing hardware generates a reduced dataset based on the acquired dataset, and the generation is: Generating a set of landing pages, which includes generating a reduced set of landing pages based on the initial set of landing pages, using the link parameters associated with each of the landing pages, and determining that the first landing page and the second landing page correspond to a common resource based on one or more path parameters of the first landing page and the second landing page. The method involves generating keyword clusters by clustering the aforementioned keywords and determining a set of themes associated with the dataset, wherein each keyword cluster in the keyword cluster includes themes corresponding to keywords with higher centrality compared to other keywords in the keyword cluster, and Generating a set of reduced content item groups, including identifying the themes that overlap between the groups in the set of themes, such that each group in the reduced set of groups contains a different theme from the set of themes. Including generating, Using the reduced dataset, which includes the reduced set of landing pages and the reduced set of groups, to map the received search terms to one or more of the content items, The method, including the method described above.

2. The method according to claim 1, wherein generating the set of reduced landing pages includes determining that the first landing page and the second landing page correspond to a common resource based on one or more query parameters of the first landing page and the second landing page.

3. The method according to claim 1, wherein clustering the keywords includes applying Word2Vec vectorization to the keywords.

4. The method according to claim 3, wherein clustering the keywords comprises calculating silhouette scores for a set of clusters obtained by applying clustering to the vectorized keywords.

5. The method according to claim 1, wherein clustering the keywords includes applying an unsupervised clustering technique to the keywords.

6. The method according to claim 1, wherein clustering the keywords includes applying TF-IDF vectorization to the keywords to identify out-of-vocabulary (OOV) words.

7. The method according to claim 1, further comprising generating a set of keywords that have been reduced before the clustering of the aforementioned keywords.

8. The method according to claim 7, wherein generating the reduced set of keywords includes applying fuzzy matching to reduce the number of keywords in the initial set of keywords.

9. The method according to claim 8, wherein applying the fuzzy matching includes evaluating the cosine similarity between the keywords to construct a preferred queue.

10. The method according to claim 8, wherein applying the fuzzy matching includes constructing an N × N matrix for storing the matching values.

11. The method according to claim 10, wherein generating the reduced set of keywords includes constructing a disconnected graph based on the matrix, each disconnected graph including a plurality of nodes corresponding to each similar keyword that forms a keyword cluster.

12. Identifying the central node in each of the aforementioned disconnected graphs, The method according to claim 11, further comprising reducing the keyword cluster to the keyword associated with the central node.

13. One or more processors, A system comprising: a computer-readable storage medium that stores instructions for performing the method according to any one of claims 1 to 12 when executed.