Automatic restructuring of search campaigns

The method addresses inefficiencies in search campaign systems by automatically mapping keywords to landing pages through data reduction and clustering, enhancing efficiency and accuracy in directing traffic.

JP2025507499AActive Publication Date: 2025-03-21GOOGLE LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024542054
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-01-23
Filing Date
2023-04-17
Publication Date
2025-03-21
Estimated Expiration
2043-04-17

AI Technical Summary

Technical Problem

Existing search campaign systems face inefficiencies due to repeated keywords across multiple campaigns, excessive mapping of campaigns and content groups to the same landing page, and replication of third-party content, leading to slow processing times, high memory usage, and errors.

Method used

A method for automatically mapping keywords to a landing page involves obtaining an initial dataset, generating a reduced dataset by clustering keywords and identifying overlapping themes, and using this reduced dataset to map search terms to content items, thereby eliminating redundancy and improving efficiency.

Benefits of technology

The solution reduces data redundancy, decreases the number of target sites, and enhances the accuracy of directing traffic to the correct landing pages, resulting in improved processing efficiency and reduced errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025507499000001_ABST
    Figure 2025507499000001_ABST
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 structuring search campaigns, and in particular to methods and systems for simplifying and restructuring search terms associated with landing pages of web resources. [Background technology]

[0002] A computing system providing a search service may provide both search results and third-party content related to a search query. For example, a user may access a search engine via a website or dedicated application and submit a search query that includes one or more search terms. In response to the search query, the system may identify search results responsive to the query and third-party content related to the search terms. The system may provide the third-party content as part of a search campaign to drive traffic to a particular landing page related to a product, service, application, etc.

[0003] Operators of search services may design search campaigns to offer third-party content items taking into account 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 may include multiple groups of third-party content items, each group associated with a particular intended message. The system may store a set of keywords for each group or theme to facilitate selection of relevant third-party content for queries that include these or related keywords. In some cases, providers of third-party content may bid on these keywords.

[0004] The data sets required to build and maintain effective search campaigns are often large. Inefficiencies in the design of such data sets result in repetition of keywords across multiple campaigns, mapping of an excessive number of campaigns and / or content groups to the same landing pages, duplication of the same text in third-party content across multiple campaigns and groups, etc. Inefficient data structures to support automated bidding and automated mapping of keywords to third-party content and landing pages slow processing times, use excessive memory, and introduce errors. Summary of the Invention

[0005] An exemplary embodiment of the techniques of the present disclosure is a method for automatically mapping keywords to landing pages. The method 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 set of initial 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 generating the reduced set of landing pages based on the initial set of landing pages using parameters of links associated with each landing page, clustering the keywords to determine a set of themes associated with the dataset, and identifying overlaps of themes included in the set of themes between the groups. The method further includes mapping received search terms to one or more of the content items using the reduced dataset. [Brief description of the drawings]

[0006] [Figure 1]FIG. 1 is a block diagram of an example computing system capable of implementing the campaign limiting techniques of the present disclosure.

[0007] [Diagram 2] FIG. 1 is a block diagram of an example search campaign structure in which the system of the present disclosure can operate to generate a more efficient structure.

[0008] [Figure 3A] FIG. 2 is a flow diagram of an example method for performing a search campaign reconfiguration.

[0009] [Figure 3B] 1 is a flow diagram of an example method for reducing a set of landing pages.

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

[0011] [Figure 5A] FIG. 1 illustrates a plot of keywords presented as nodes in a 2D vector space. [Figure 5B] FIG. 1 illustrates a plot of keywords presented as nodes in a 2D vector space. [Figure 5C] FIG. 1 illustrates a plot of keywords presented as nodes in a 2D vector space.

[0012] [Figure 6A] FIG. 5B and FIG. 5C present three-dimensional data with each color having a corresponding value along the z-axis. [Figure 6B] FIG. 5B and FIG. 5C present three-dimensional data with each color having a corresponding value along the z-axis. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] The one or more devices are configured to perform automatic reconfiguration of search campaigns, resulting in smaller data structures and more efficient mapping of keywords to landing pages. As discussed in more detail below, the automatic reconfiguration of the present disclosure eliminates redundancy in the data set, reduces the number of target sites to which the network is directed, and improves the overall accuracy of directing traffic to the target sites.

[0014] Referring initially to FIG. 1, the environment 100 includes one or more data processing servers of a system 102 implementing a search service accessible to client devices, such as client device 104 or 106, and third party content providers 106, 108, via a network 103. The client device 104 may support a software application, such as a web browser, through which a user may access the search service and submit a search query. An operator of the third party content provider 104 or 106 may access the system 102 (typically through different interfaces) to develop third party content, such as advertisements including text, video, and audio components, and possibly software instructions, to provide interactivity in the form of animations, games, and the like. The operator may also design a search campaign such that the server(s) present the third party content along with the search results. The system 102 may store search campaign data, which will be discussed in more detail with reference to FIG. 2, in a database 110 along with the third party content.

[0015] The system 102 includes processing hardware that 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-transitory computer-readable storage medium. In this embodiment, the system 102 includes at least one processor 120, a network interface 122, and a memory 124. The processor(s) 120 may include a general-purpose processor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or the like. The memory 124 may be a computer-readable non-transitory form of storage and may include any suitable electronic, optical, magnetic, or any other storage or transmission device. The 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 can be or include any suitable computer server, personal computer, handheld device, smartphone, or other computing device. Each of devices 106, 108, 105, and 106 can include one or more processors and computer-readable non-transitory memory that stores software instructions and data.

[0017] Network 103 may be and / or 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 may include any number of network devices, such as gateways, switches, routers, modems, repeaters, and wireless access points, among others.

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

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

[0020] As a more specific example, a message may be a string of keywords that form a sentence such as "Visit the resort in town X." Another message may contain the same sentence with different punctuation and thus be effectively a duplicate of the first message.

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

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

[0023] Components 130, 132, 134, etc. perform campaign restructuring to eliminate redundancies in links and keyword mappings, making search campaigns not only less computing resource and memory intensive, but also more effective.

[0024] Referring back to FIG. 1 , the fuzzy matching module 130 can perform fuzzy matching between keywords to determine a matching value. Generally speaking, fuzzy matching is based on comparing strings or other data structures to determine the similarity between these data structures. In the examples of the present disclosure, the fuzzy matching module 130 operates on strings. The fuzzy matching module 130 outputs a percentage value expressed, for example, as a percentage or a decimal value less than 1 (i.e., a match or 95% and a match of 0.95 are equivalent). The fuzzy matching module 130 can generate and store the matching values ​​as individual values, in a vector, in 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 a data set that can be illustrated as interconnected nodes. After generating a particular cluster, the node clustering module 132 can determine a central node of the node cluster. The system 102 associates the central node with the most accurate representation of all nodes in the cluster.

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

[0027] In some implementations, the node clustering module 132 determines the central node as the node with the fewest total hops or shortest cumulative distance to all other nodes in the node cluster. The node clustering module 132 may 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 may 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, such that the system 102 can apply vector analysis to the keywords. As discussed below, the vectorization module 134 may use a Word2Vec model to vectorize text or strings, or may use another vectorization technique, such as, for example, term frequency-inverse document frequency vectorization. The vectorization module 134, in some implementations, vectorizes types of data other than strings.

[0029] Next, Figure 3A shows a flow diagram of an example method 300 for performing a search campaign reconfiguration. The method 300 can be implemented in the search campaign reconfiguration system 100 of Figure 1 or in another suitable system.

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

[0031] Next, in block 304, the system 100 determines one or more goals associated with the profile. The system 102 can determine the goal (e.g., achieve a certain level of interaction with the content item within a particular geographic area) using one or more labels assigned to individual content items, ad groups, and / or campaigns, or by processing terminology that differentiates the campaign into objectives such as brand / core / competitive or geographic goals. For example, one or more labels may indicate that the goal is to maximize traffic driven to a landing page.

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

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

[0034] The 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 which keywords have a matching value above a threshold and associate these results with nodes in the graph. Each of the nodes is connected to at least one node with a distance from any connected node proportional to the matching value between the keywords.

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

[0036] In an exemplary implementation, the system 102 uses the similarity value to prioritize similar keywords and applies fuzzy matching to determine the matching rate. When the fuzzy matching value falls below a predefined threshold of 90%, the system 102 stops processing the remaining keywords. In the worst case scenario, this takes O(n 2 ), but in a typical scenario, the complexity is significantly lower. Assuming an average word length of 4.7 characters and an average number of keywords per search term of 4-5, the system 102 exhaustively derives up to 1500 character combinations, which is relatively computationally inexpensive.

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

[0038] More specifically, the system 102 (e.g., the vectorization module 134) converts all keywords in the reduced keyword vocabulary into vectors. The vectorization module 116 may convert the keywords into vectors using a Word2Vec model, and a particular Word2Vec model may be selected depending on the language of the keywords. Thus, the system 102 may convert the keywords into a particular language (e.g., English) before converting the keywords into vectors.

[0039] The 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 the vocabulary keywords, and further exclude these keywords from vectorization and analysis, or vectorize out-of-vocabulary (OOV) keywords. In general, OOV keywords are difficult to accurately identify and compare because these words are not in the training set of the model. Keywords are often short in length, and there are many OOV keywords due to the rapid development of technology, consumer products, and social trends. Typically, OOV keywords are reduced to zero vectors during vectorization, which does not provide information to perform campaign reconstruction. To handle OOV keywords, the system 102 can apply TF-IDF vectorization instead of Word2Vec vectorization.

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

[0041] Referring to block 308, the system 102 then applies clustering to the vectorized keywords to identify keyword clusters. The system 100 may use silhouette scores to determine clusters of keywords. A silhouette score threshold may be used to separate the 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 an 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, the system 102 identifies campaign themes for landing pages based on the keywords with which these landing pages are associated. For example, the system 102 can determine that content items associated with the keywords "auto loan," "auto loan," and "vehicle loan" have a single theme, and the system 102 can identify the single theme as "auto loan" based on the higher centrality of "auto loan" relative to "auto loan" and "vehicle loan."

[0043] In block 310, the system 102 forms new groups using the new clusters of keywords. More specifically, the system 102 can generate new groups from each respective cluster. In some implementations, the system 102 can compare messaging of the new groups to identify potential redundancies in the new groups and, if applicable, further reduce the set of groups. Thus, in some implementations, the system 102 operates iteratively to further simplify the structure, thereby reducing memory consumption and simplifying processing. The 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 data set of the campaign.

[0044] In block 312, the system 102 determines overlap between groups based on messaging to identify groups that meet a novelty requirement, which may be understood as groups that are associated with messages that are not shared with other groups. The system 102 may assume that groups with unique messaging are appropriately formed. The system 102 may also generate and apply a novelty ratio metric, which is the percentage of groups that are novel in a particular account.

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

[0046] After the system 102 reconfigures the campaign as discussed above, the search engine 140 can use the reduced data set to more efficiently identify content items to present with search results in response to a search query from a user device, and to more efficiently perform other processing associated with the campaign (e.g., calculating various metrics such as CTR). The system 102 operates with a smaller data set, for example, with fewer groups and fewer links to landing pages.

[0047] In some implementations, the system 102 uses the revised groups to propose a new campaign structure to the user in block 312, and the user can accept and / or further modify the campaign structure via a user interface.

[0048] FIG. 3B is a flow diagram of an exemplary method 330 for reducing the set of landing pages by eliminating landing pages associated with the same resource and differing only in certain types of link parameters. The system 102 can use this method during the process of restructuring a search campaign. Generally speaking, landing pages can have various structures. The system 120 can use the underlying structure (e.g., hierarchy, links) of a website to distinguish two landing pages based on path parameters or query parameters. For example, websites in the travel or e-commerce domains typically rely heavily on query parameters, since these query parameters can define search parameters and thus target objects (e.g., products). On the other hand, for example, financial websites rely more on path parameters and have a corresponding structure. Furthermore, in addition to basic parameters, campaign planners can make the problem of reducing the set of landing pages more complex by adding tracking parameters for attribution and reporting purposes.

[0049] The method 330 begins at block 332, where the system 102 removes tracking parameters from links. For example, the system 102 may identify query parameters that have a prefix of "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 is 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 specific query parameter keywords and landing pages, but more generally, the system 102 may use other prefixes or suffixes to identify and exclude query parameter keywords and landing pages associated with the identified query parameters.

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

[0051] For clarity, Figures 4A-4D include graphical representations of the discussed graphs as plots of keyword nodes generated from an N x 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 create a cluster, each of which has a length proportional to the matching value between the keywords of the node. Each cluster of nodes represents a group of keywords that are determined to be similar in content or topic by fuzzy matching.

[0052] At block 368, the system 102 identifies a central node of each cluster, as further illustrated in FIG. 4A and FIG. 4D (as nodes 402A-D). The system 102 may determine the node with the highest degree of centrality to a given cluster as the central node 402A-D. The system 102 may determine centrality using various means, for example, by selecting as the central node the node with the least cumulative distance to all other nodes of the cluster. The central nodes 402A-D are associated with a keyword or pair of keywords that may best represent all of the keywords associated with the nodes of the cluster. Thus, the keywords of the central nodes 402A-D may represent all of the keywords of the cluster, and the system 102 may remove other keywords associated with the remaining nodes of the cluster. The system 102 uses the central nodes of the clusters 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. Additionally, the fuzzy matching approach discussed above allows the system 102 to identify and remove redundant and misspelled words in the keyword vocabulary.

[0054] Referring back to FIG. 3A, in some implementations, the system 102 also uses fuzzy matching in block 310 to reduce the number of groups (e.g., ad groups if the content items are ads). As with keywords, the text contained in the content items that make up a group may be similar, misspelled, or redundant. For example, content items containing the text "home finance" and "mortgage" may have a similar or identical meaning. However, categorizing the content item groups using a vector model may result in content items with these two versions of text being grouped into different themes, resulting in redundant groups that may complicate search campaigns or result in erroneous search results. Thus, reducing the groups before performing vector analysis simplifies the restructured search campaign, allowing for faster search results and more effective search campaigns.

[0055] To reduce the groups, the fuzzy matching module 132 in an exemplary implementation performs fuzzy matching of every text component with every other text component in the group and generates a matching score for each pairing. The system 102 identifies all text pairings that have a match of 0.95 or greater and flags them as likely to have the same messaging. For example, a matching score of 0.95 may occur due to a typo in the text, an added space, a change in punctuation, or other minor text differences without changing the messaging or content. The 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 that have a matching score greater than 0.95 by the total number of content items in the group of content items. This group matching value can vary according to A->B and B->A resulting in a directional relationship to form a directed graph.

[0056] The system 102 reduces the groups by matching words that match above 0.60 and removing one of each pair of text for each pair having a matching value above 0.60, thereby removing content items that have similar or the same messaging. Similar to the keyword reduction process, the system 102 can construct a matching matrix and generate nodes that represent the groups, as shown in Figures 4A-4D. Each node can similarly be connected to the nearest neighboring group node and a median group node can be identified that best represents all groups interconnected with the median group.

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

[0058] For further clarity, Figures 5A-C show plots of keywords presented as nodes in a 2D vector space. Figure 5A shows search campaign keywords vectorized in 2D space. Figure 5B shows keyword nodes shaded according to the way keywords were grouped before performing the restructuring described herein. Figure 5C shows keyword nodes shaded according to a particular campaign after performing a restructuring of campaigns for a user account. Figure 5C has much less shading than Figure 5B, indicating that there are many fewer campaigns after the restructuring.

[0059] Figures 6A and 6B present three dimensional data where each shading in Figures 5B and 5C has its own value along the z-axis. The z-axis in Figure 6A is a left and right axis with values ​​from 0 to 2000, and Figure 6B has a maximum z-axis value of 70. Reducing approximately 2000 campaigns to only approximately 60 campaigns results in a compression or reduction of approximately 97%.

[0060] The disclosed method for restructuring search campaigns has been experimentally implemented, providing over 50% reduction in campaigns and content item groups. In some examples, a single pass of the disclosed method reduces a user account's campaigns by over 90% and reduces the groups associated with the user account by over 80%. Subsequent passes of the described method have further reduced the campaigns and content item groups. Additionally, the success rate of providing consumers with the correct group of content items has increased by over 600%, and the novelty index of the landing page has also increased by over 600%.

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

[0062] A user device in which the techniques of the present disclosure can be implemented may be any suitable device capable of wireless communication, such as a smartphone, a tablet computer, a laptop computer, a mobile gaming console, a point of sale (POS) terminal, a health monitoring device, a drone, a camera, a media streaming dongle or another personal media device, a wearable device such as a smart watch, a wireless hotspot, a femtocell, or a broadband router. Furthermore, the user device may in some cases be embedded in an electronic system such as a vehicle head unit or an advanced driver assistance system (ADAS). Still further, the user device may operate as an Internet of Things (IoT) device or a Mobile Internet Device (MID). Depending on the type, the user device 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 are described in this disclosure as including logic, or several components or modules. The modules may be software modules (e.g., code or machine-readable instructions stored on a non-transitory machine-readable medium) or hardware modules. A hardware module is a tangible unit capable of performing certain operations 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), digital signal processor (DSP)) to perform certain operations. 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 certain operations. The decision to implement a hardware module in dedicated and permanently configured circuitry or in temporarily configured circuitry (e.g., configured by software) may be subject to cost and time considerations.

[0064] When implemented in software, the techniques may be provided as part of an operating system, a library used by multiple applications, a particular software application, etc. The software may be executable by one or more general-purpose processors or one or more special-purpose processors.

[0065] After reading this disclosure, those skilled in the art will appreciate further additional and alternative structural and functional designs for managing radio bearers through the principles disclosed herein. Thus, while specific embodiments and applications have been shown and described, it should be understood that the disclosed embodiments are not limited to the precise configuration and components disclosed herein. Various modifications, changes and variations apparent to those skilled in the art may be made in the arrangement, operation and details of the methods and apparatus disclosed herein without departing from the spirit and scope as defined in the appended claims.

Claims

1. 1. A method for automatically mapping keywords to landing pages, comprising: obtaining, by processing hardware, a data set including an initial set of groups of content items, each of the groups being mapped to a respective landing page in an initial set of landing pages, each of the content items being associated with one or more keywords in an initial keyword vocabulary; generating, by the processing hardware, a reduced data set based on the acquired data set, said generating including: generating a reduced set of landing pages based on the initial set of landing pages using parameters of links associated with each of the landing pages; clustering the keywords to determine a set of themes associated with the dataset; generating a set of reduced groups, the reduced set including identifying overlaps of themes included in the set of themes among the groups; and and generating includes mapping received search terms to one or more of the content items using the reduced data set.

2. 2. The method of claim 1, wherein generating the set of reduced landing pages includes determining that a first landing page and a 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.

3. 2. The method of claim 1, wherein generating the set of reduced landing pages includes determining that a first landing page and a 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.

4. The method of claim 1 , wherein clustering the keywords comprises applying Word2Vec vectorization.

5. The method of claim 1 , wherein clustering the keywords comprises calculating a silhouette score.

6. The method of claim 1 , wherein clustering the keywords comprises applying an unsupervised clustering technique.

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

8. The method of claim 1 , further comprising generating a reduced keyword vocabulary prior to said clustering of said keywords.

9. The method of claim 8 , wherein generating the reduced keyword vocabulary comprises applying fuzzy matching to reduce a number of the keywords in the initial keyword vocabulary.

10. The method of claim 9 , wherein applying the fuzzy matching comprises evaluating cosine similarities between the keywords to build a priority queue.

11. The method of claim 9 , wherein applying the fuzzy matching comprises constructing an N×N matrix for storing matching values.

12. 12. The method of claim 11 , wherein generating the reduced keyword vocabulary comprises constructing disjoint graphs based on the matrix, each disjoint graph including a plurality of nodes corresponding to respective similar keywords forming a keyword cluster.

13. identifying a central node in each of the disconnected graphs; The method of claim 12 , further comprising: reducing the keyword clusters to keywords associated with the central nodes.

14. one or more processors; A computer readable medium storing instructions that, when executed, perform the method of any one of claims 1 to 13.

Citation Information

Patent Citations

  • Generation of advertising campaign

    JP2017076435A