Keyword-object taxonomy generation and utilization

Systems and techniques that facilitate keyword-object taxonomy generation and utilization are provided. In various embodiments, a system can comprise a receiver component that can access an input object class. In various aspects, the system can comprise a taxonomy component that can output one or more keyword combinations that are non-redundant and relevant to the input object class, based on querying a keyword-object taxonomy. In various instances, the receiver component can access (and/or be provided with an electronic link to) a set of recorded keyword combinations and a set of recorded object classes respectively corresponding to the set of keyword combinations. In various cases, the taxonomy component can generate the keyword-object taxonomy based on the set of recorded keyword combinations and the set of recorded object classes.

TECHNICAL FIELD

The subject disclosure relates to semantic analysis, and more specifically to keyword-object taxonomy generation and utilization.

BACKGROUND

A marketing campaign can be a discounted sales offering of a product or service for a limited period of time. To ensure that potential customers are aware of the marketing campaign, an entity that facilitates the marketing campaign can implement advertising, where such advertising can include words or phrases that describe the product or service that is the subject of the marketing campaign. Unfortunately, when existing techniques are utilized, such words or phrases are subjectively chosen by the entity that is running the marketing campaign, rather than being objectively chosen in a data-driven manner. Accordingly, when existing techniques are implemented, the words or phrases involved in a marketing campaign are likely not the words or phrases that would garner maximum attention from potential customers.

Systems and/or techniques that can address one or more of these problems can be desirable.

SUMMARY

According to one or more embodiments, a system is provided. The system can comprise a memory that can store computer-executable components. The system can further comprise a processor that can be operably coupled to the memory and that can execute the computer-executable components stored in the memory. In various embodiments, the computer-executable components can comprise a receiver component. In various aspects, the receiver component can access an input object class. In various instances, the computer-executable components can comprise a taxonomy component. In various cases, the taxonomy component can output one or more keyword combinations that are non-redundant and relevant to the input object class, based on querying a keyword-object taxonomy. In various aspects, the receiver component can access a set of recorded keyword combinations and a set of recorded object classes respectively corresponding to the set of recorded keyword combinations. In various instances, the taxonomy component can generate the keyword-object taxonomy, based on the set of recorded keyword combinations and the set of recorded object classes.

According to one or more embodiments, the above-described system can be implemented as a computer-implemented method and/or computer program product.

DETAILED DESCRIPTION

As mentioned above, a marketing campaign can be a discounted sales offering of a product/service for a limited period of time. For instance, a marketing campaign can involve one or more products/services that are offered at reduced prices, that are offered together as a package deal, that are offered seasonally and/or on special occasions, and/or that are otherwise offered with some sort of additional benefit and/or reward. To ensure that potential customers are aware of the marketing campaign, an entity that facilitates the marketing campaign can implement advertising, such as television advertising, radio advertising, social media advertising, and/or billboard advertising.

Such advertising can include words or phrases that describe the product/service that is the subject of the marketing campaign. For instance, if a particular model of vehicle is the subject of a marketing campaign implemented by a vehicle manufacturer or vehicle dealer, advertising associated with that particular model of vehicle can include words or phrases that describe and/or characterize the particular model of vehicle (e.g., “durable,” “fast,” “electric”, “cross country”) and/or that otherwise identify features of that particular model of vehicle (e.g., “500 pound-feet of torque,” “600 horsepower,” “7.0 liter engine”).

Unfortunately, when existing techniques are utilized, such words or phrases are subjectively chosen by the entity that is running the marketing campaign, rather than being objectively chosen in a data-driven manner. More specifically, such words or phrases can be considered as reflecting the intentions and/or conceptions of the entity running the marketing campaign (e.g., can be words/phrases which the entity running the marketing campaign believes are most strongly linked to the product/service that is the subject of the marketing campaign), rather than reflecting the intentions and/or conceptions of potential customers that are the target audience of the marketing campaign (e.g., can fail to be the words/phrases which the potential customers believe are most strongly linked to the product/service). Because existing techniques ignore the intentions and/or conceptions of the potential customers, the words or phrases that are included in advertising for a marketing campaign can fail to garner maximum attention from the potential customers. Thus, systems and/or techniques for objectively selecting words/phrases based on the intentions and/or conceptions of potential customers can be desirable.

Various embodiments of the invention can address one or more of these technical problems by facilitating keyword-object taxonomy generation and/or utilization. In particular, various embodiments of the invention can be considered as a computerized tool (e.g., any suitable combination of computer-executable hardware and/or computer-executable software) that can electronically build a keyword-object taxonomy based on the intentions and/or conceptions of potential customers, which intentions and/or conceptions can be objectively captured via search engine histories.

More specifically, a potential customer can input a keyword combination into a search engine (e.g., Google®, Bing®), the search engine can return as a result a set of links based on the keyword combination, and the potential customer can click on any of the returned links. Moreover, the clicked link can yield a webpage that describes and/or otherwise pertains to any suitable product (e.g., a specific model of vehicle that is for sale, a specific model of vacuum cleaner that is for sale, a specific video game that is for sale), any suitable service (e.g., a specific type of landscaping service, a specific type of house cleaning service, a specific type of legal service), any suitable activity (e.g., a specific type of recreational activity, a specific type of volunteer activity), any suitable organization (e.g., a specific university, a specific vendor, a specific musical group/band), any suitable person (e.g., a specific celebrity, a specific athlete, a specific politician), and/or so on. More generally, the product, service, activity, organization, person, and/or otherwise that corresponds to the webpage yielded by the clicked link can be referred to and/or otherwise designated as an object class. In various cases, an object class can be recited at any suitable level of granularity (e.g., an object class can be a broad category of product, can be a specific type of product, can be a specific product having specific features, can be a specific product offered during a specific time period, and/or can be a specific product offered in a specific geographical region).

In various cases, the search engine can record the online journey from the keyword combination inputted by the potential customer to the object class that pertains to the webpage yielded by the clicked link. Thus, in various aspects, the keyword combination can be considered as corresponding to and/or otherwise being associated with the object class. In other words, it can be inferred that, when the potential customer inputted the keyword combination into the search engine, the intent of the potential customer was to ultimately arrive at the object class.

In various instances, any suitable number of potential customers can engage with any suitable number of search engines in the above-mentioned fashion over any suitable time period and/or in any suitable geographic locations. Because each search engine can record each online journey of each potential customer from inputted keyword to ultimate object class, the result can be a plurality of keyword combinations that respectively correspond to a plurality of object classes.

In various aspects, the computerized tool described herein can electronically receive and/or access both the plurality of keyword combinations and the plurality of object classes. Moreover, the computerized tool can electronically analyze the plurality of keyword combinations and the plurality of object classes, such as via a feature selection algorithm, to identify which keyword combinations are most strongly correlated with which object classes. In various cases, one or more keyword combinations that are most strongly correlated with an object class and/or that are least internally redundant can be referred to as one or more best keyword combinations for that object class. Once such one or more best keyword combinations are identified for any given object class, the computerized tool can electronically establish a linkage and/or mapping between the one or more best keyword combinations and the given object class. In various cases, the computerized tool has created such linkage and/or mapping for each unique object class in the plurality of object classes, and the resultant linkages and/or mappings can collectively be considered as the keyword-object taxonomy.

Once the keyword-object taxonomy is built, the computerized tool can query the keyword-object taxonomy so as to identify the best keyword combination for any given object class. That is, the computerized tool can electronically receive as input a particular object class, and the computerized tool can electronically identify as output the one or more best keyword combinations that are linked and/or mapped to the particular object class in the keyword-object taxonomy. Because such one or more best keyword combinations can be derived from the search engine histories of actual potential customers, such one or more best keyword combinations can be considered as objectively representing the words/phrases which potential customers collectively regard as the most relevant to the particular object class. Accordingly, if it is desired to facilitate a marketing campaign the subject of which is the particular object class, the one or more best keyword combinations that are returned by the computerized tool can be used in advertising for such marketing campaign.

In various embodiments, the computerized tool described herein can comprise a receiver component, a ranking component, and/or a taxonomy component.

In various aspects, any suitable number of search engines can record any suitable number of search histories of any suitable number of potential customers over any suitable period of time and/or in any suitable geographic areas. The result of such recording can be a set of keyword combinations and a set of object classes that respectively correspond to the set of keyword combinations. In various instances, if a particular a keyword combination in the set of keyword combinations corresponds to a particular object class in the set of object classes, this can indicate that some potential customer (e.g., some entity, whether human or otherwise) had inputted the particular keyword combination into some search engine and had ultimately clicked on a link leading to a webpage describing and/or otherwise associated with the particular object class. Thus, it can be inferred that the particular keyword combination evinces and/or otherwise reveals a potential customer's intent to arrive at the particular object class. In various cases, an object class can represent and/or otherwise designate any suitable product, service, activity, organization, institution, person, animal, and/or entity, as desired.

In various embodiments, the receiver component of the computerized tool can electronically receive and/or otherwise access the set of keyword combinations and/or the set of object classes. In various aspects, the receiver component can electronically retrieve and/or receive the set of keyword combinations and/or the set of object classes from the any suitable number of search engines. In various other aspects, the receiver component can electronically retrieve and/or receive the set of keyword combinations and/or the set of object classes from any suitable database and/or data structure (e.g., graph data structure, relational data structure, hybrid data structure) that is accessible to the receiver component, whether centralized and/or decentralized, and/or whether remote from and/or local to the receiver component. In still other cases, the receiver component can electronically retrieve and/or receive the set of keyword combinations and/or the set of object classes from any suitable electronic link (e.g., a link to search engine query parameters). In any case, the receiver component can obtain the set of keyword combinations and/or the set of object classes, such that other components of the computerized tool can manipulate and/or otherwise interact with the set of keyword combinations and/or the set of object classes.

In various embodiments, the ranking component of the computerized tool can electronically rank, via a feature selection algorithm, the set of keyword combinations according to relevance and/or redundancy with respect to the set of object classes. In some instances, the feature selection algorithm can be a Minimum Redundancy Maximum Relevance (mRMR) algorithm. In other instances, the feature selection algorithm can be any other suitable machine learning algorithm that can select a subset of relevant features, variables, and/or attributes from a total set of features, variables, and/or attributes, so as to eliminate redundant and/or irrelevant features, variables, and/or attributes from the total set. In any case, the ranking component can execute the feature selection algorithm on the set of keyword combinations and the set of object classes.

In various aspects, execution of the feature selection algorithm can cause the ranking component to identify each unique keyword in the set of keyword combinations and to identify each unique object class in the set of object classes. Moreover, in various instances, execution of the feature selection algorithm can cause the ranking component to compute a relevance score between each unique keyword and each unique object class (e.g., the relevance score can be a scalar that conveys how strongly the unique keyword is correlated and/or co-incident with the unique object class). Furthermore, in various cases, execution of the feature selection algorithm can cause the ranking component to compute a redundancy score between each pair of unique keywords (e.g., the redundancy score can be a scalar that conveys how strongly the two unique keywords in the pair are correlated and/or co-incident with each other). Further still, in various aspects, execution of the feature selection algorithm can cause the ranking component to identify and/or generate, for each unique object class, a combination of unique keywords that has a maximized average relevance score with respect to the unique object class and a minimized average redundancy score with respect to each other. In various cases, such combination of unique keywords for a given unique object class can be considered as the best keyword combination for that given unique object class.

In various embodiments, the taxonomy component of the computerized tool can electronically generate a keyword-object taxonomy based on the execution of the feature selection algorithm by the ranking component. More specifically, as mentioned above, the ranking component can identify a best keyword combination (e.g., maximally relevant and minimally redundant combination of unique keywords) for each unique object class in the set of object classes. Accordingly, the taxonomy component can, for each unique object class, generate a linkage and/or mapping between the unique object class and its corresponding best keyword combination. Once the taxonomy component has done this for all of the unique object classes, the result can be a set of respective linkages and/or mappings from unique object classes to best keyword combinations. In various instances, such set of respective linkages and/or mappings can be considered as the keyword-object taxonomy.

In various embodiments, the computerized tool can leverage the keyword-object taxonomy so as to identify a best keyword combination for any given object class. For example, the receiver component can, in various aspects, electronically receive from any suitable client device an input object class. In various instances, the taxonomy component can query the keyword-object taxonomy in search of the input object class. Once the taxonomy component identifies the input object class in the keyword-object taxonomy, the taxonomy component can identify in the keyword-object taxonomy the best keyword combination that is linked and/or mapped to the input object class. Accordingly, the taxonomy component can electronically output and/or transmit to the client device the best keyword combination that is linked/mapped to the input object class. In other words, the input object class can be considered and/or otherwise interpreted as a query for words/phrases that are maximally relevant and minimally redundant with respect to the input object class from the perspective of potential customers, and the best keyword combination that is linked/mapped to the input object class in the keyword-object taxonomy can be considered as such maximally relevant and minimally redundant words/phrases.

To help clarify some of the above discussion, consider the following non-limiting example. Suppose that the set of object classes includes two objects classes: a first object class representing a model year 2021 Volvo® V60 vehicle, and a second object class representing a model year 2021 Volvo® XC40 vehicle. Accordingly, the set of keyword combinations can comprise any suitable number of keyword combinations corresponding to the 2021 Volvo® V60, and can also include any suitable number of keyword combinations corresponding to the 2021 Volvo® XC40.

More specifically, the keyword combinations that correspond to the 2021 Volvo® V60 can be considered as words/phrases which potential customers had entered into a search engine (e.g., Google®, Bing®), where the search engine had provided as a search result a link to a webpage corresponding to the 2021 Volvo® V60, and where such potential customers had clicked on the link to the webpage corresponding to the 2021 Volvo® V60. Examples of such keyword combinations might be “2021 volvo v60,” “volvo v60,” “volvo cross country 2021,” “volvo cross country,” “v60 cross country,” “volvo cc,” and/or “2021 cross country wagon.” Similarly, the keyword combinations that correspond to the 2021 Volvo® XC40 can be considered as words/phrases which potential customers had entered into a search engine (e.g., Google®, Bing®), where the search engine had provided as a search result a link to a webpage corresponding to the 2021 Volvo® XC40, and where such potential customers had clicked on the link to the webpage corresponding to the 2021 Volvo® XC40. Examples of such keyword combinations might be “2021 volvo xc40,” “volvo xc40,” “volvo electric 2021,” “volvo hybrid,” “volvo recharge,” and/or “volvo ev suv.”

In various instances, the receiver component can electronically access and/or retrieve the set of keyword combinations and the set of object classes. In various aspects, the ranking component can apply the feature selection algorithm (e.g., mRMR) to the set of keyword combinations and the set of object classes.

As explained above, execution of the feature selection algorithm can cause the ranking component to identify each unique object class in the set of object classes. Accordingly, in this non-limiting example, the ranking component can identify the first object class representing the 2021 Volvo® V60 and the second object class representing the 2021 Volvo® XC40.

As also explained above, execution of the feature selection algorithm can cause the ranking component to identify each unique keyword in the set of keyword combinations. Accordingly, in this non-limiting example, such unique keywords can include “volvo,” “2021,” “v60,” “xc40,” “cross,” “country,” “cc,” “wagon,” “electric,” “ev,” “hybrid,” “recharge,” and/or “suv.”

As mentioned above, execution of the feature selection algorithm can cause the ranking component to compute a relevance score between each unique keyword and each unique object class, where such relevance score can indicate how closely correlated the unique keyword is to the unique object class. For instance, in this non-limiting example, the ranking component can compute a relevance score between the unique keyword “volvo” and the unique object class representing the 2021 Volvo® V60 (e.g., although “volvo” can appear in very many of the set of keyword combinations that correspond to the 2021 Volvo® V60 webpage, “volvo” can also appear in very many of the set of keyword combinations that correspond to the 2021 Volvo® XC40 webpage; thus, “volvo” can be somewhat correlated with the 2021 Volvo® V60, and so this relevance score can be intermediate). Additionally, the ranking component can compute a relevance score between the unique keyword “volvo” and the unique object class representing the 2021 Volvo® XC40 (e.g., although “volvo” can appear in very many of the set of keyword combinations that correspond to the 2021 Volvo® XC40 webpage, “volvo” can also appear in very many of the set of keyword combinations that correspond to the 2021 Volvo® V60 webpage; thus, “volvo” can be somewhat correlated with 2021 Volvo® XC40, and so this relevance score can be intermediate).

In like fashion, the ranking component can compute a relevance score between the unique keyword “electric” and the unique object class representing the 2021 Volvo® V60 (e.g., “electric” can appear in very few of the set of keyword combinations that correspond to the 2021 Volvo® V60 webpage, and “electric” can appear in very many of the set of keyword combinations that correspond to the 2021 Volvo® XC40 webpage; thus, “electric” can be not correlated with 2021 Volvo® V60, and so this relevance score can be low). Additionally, the ranking component can compute a relevance score between the unique keyword “electric” and the unique object class representing the 2021 Volvo® XC40 (e.g., again, “electric” can appear in very few of the set of keyword combinations that correspond to the 2021 Volvo® V60 webpage, and “electric” can appear in very many of the set of keyword combinations that correspond to the 2021 Volvo® XC40 webpage; thus, “electric” can be strongly correlated with 2021 Volvo® XC40, and so this relevance score can be high).

Similarly, the ranking component can compute a relevance score between the unique keyword “cross” and the unique object class representing the 2021 Volvo® V60 (e.g., “cross” can appear in very many of the set of keyword combinations that correspond to the 2021 Volvo® V60 webpage, and “cross” can appear in very few of the set of keyword combinations that correspond to the 2021 Volvo® XC40 webpage; thus, “cross” can be strongly correlated with 2021 Volvo® V60, and so this relevance score can be high). Additionally, the ranking component can compute a relevance score between the unique keyword “cross” and the unique object class representing the 2021 Volvo® XC40 (e.g., again, “cross” can appear in very many of the set of keyword combinations that correspond to the 2021 Volvo® V60 webpage, and “cross” can appear in very few of the set of keyword combinations that correspond to the 2021 Volvo® XC40 webpage; thus, “cross” can be not correlated with 2021 Volvo® XC40, and so this relevance score can be low).

In this way, execution of the feature selection algorithm can cause the ranking component to compute a relevance score between each unique keyword and each unique object class.

As also mentioned above, execution of the feature selection algorithm can cause the ranking component to compute a redundancy score between each pair of unique keywords, where such redundancy score can indicate how closely correlated the pair of unique keywords are with each other. For instance, in this non-limiting example, the ranking component can compute a redundancy score between the unique keyword “volvo” and the unique keyword “electric” (e.g., although “volvo” and “electric” can appear together in many of the set of keyword combinations, “volvo” can also appear in many of the set of keyword combinations that do not include “electric;” thus, “volvo” and “electric” can be somewhat correlated, and so this redundancy score can be intermediate).

In like fashion, the ranking component can compute a redundancy score between the unique keyword “electric” and the unique keyword “cross” (e.g., “electric” and “cross” can appear together in very few of the set of keyword combinations and can appear separately in very many of the set of keyword combinations; thus, “electric” and “cross” can be not correlated, and so this redundancy score can be low).

Similarly, the ranking component can compute a redundancy score between the unique keyword “cross” and the unique keyword “country” (e.g., “cross” and “country” can appear together in very many of the set of keyword combinations and can appear separately in very few of the set of keyword combinations; thus, “cross” and “country” can be strongly correlated, and so this redundancy score can be high).

In this way, execution of the feature selection algorithm can cause the ranking component to compute a redundancy score between each pair of unique keywords.

In various aspects, the ranking component can, for each unique object class, iteratively compute different combinations of the unique keywords, so as to identify a combination of unique keywords whose average relevance score with respect to the unique object class is maximized and whose average redundancy score between each pair of unique keywords in the combination is minimized. Such maximally relevant and minimally redundant combination of unique keywords for a given object class can be referred to as the best keyword combination for that given unique object class.

For instance, the ranking component can identify the best keyword combination for the 2021 Volvo® V60 in the following way. The ranking component can iteratively build different combinations of the words “volvo,” “2021,” “v60,” “xc40,” “cross,” “country,” “cc,” “wagon,” “electric,” “ev,” “hybrid,” “recharge,” and/or “suv.” For each such combination, the ranking component can compute the average relevance score of that combination with respect to the 2021 Volvo® V60 (e.g., the relevance score for “volvo cross country” with respect to the 2021 Volvo® V60 can be equal to the average of the individual relevance score of “volvo” with respect to the 2021 Volvo® V60, the individual relevance score of “cross” with respect to the 2021 Volvo® V60, and the individual relevance score of “country” with respect to the 2021 Volvo® V60). Additionally, for each such combination, the ranking component can also compute the average redundancy score of that combination (e.g., the redundancy score for “volvo cross country” can be equal to the average of the redundancy score between “volvo” and “cross,” the redundancy score between “volvo” and “country,” and the redundancy score between “cross” and “country”). Accordingly, for each such combination, the ranking component can subtract the average redundancy score from the average relevance score for the 2021 Volvo® V60, thereby yielding a ranking for that combination with respect to the 2021 Volvo® V60. In various cases, the combination for which such ranking with respect to 2021 Volvo® V60 is maximized can be considered as the best keyword combination for the 2021 Volvo® V60.

Likewise, the ranking component can identify the best keyword combination for the 2021 Volvo® XC40 in the following way. The ranking component can iteratively build different combinations of the words “volvo,” “2021,” “v60,” “xc40,” “cross,” “country,” “cc,” “wagon,” “electric,” “ev,” “hybrid,” “recharge,” and/or “suv.” For each such combination, the ranking component can compute the average relevance score of that combination with respect to the 2021 Volvo® XC40 (e.g., the relevance score for “volvo cross country” with respect to the 2021 Volvo® XC40 can be equal to the average of the individual relevance score of “volvo” with respect to the 2021 Volvo® XC40, the individual relevance score of “cross” with respect to the 2021 Volvo® XC40, and the individual relevance score of “country” with respect to the 2021 Volvo® XC40). Additionally, for each such combination, the ranking component can also compute the average redundancy score of that combination (e.g., again, the redundancy score for “volvo cross country” can be equal to the average of the redundancy score between “volvo” and “cross,” the redundancy score between “volvo” and “country,” and the redundancy score between “cross” and “country”). Accordingly, for each such combination, the ranking component can subtract the average redundancy score from the average relevance score for the 2021 Volvo® XC40, thereby yielding a ranking for that combination with respect to the 2021 Volvo® XC40. In various cases, the combination for which such ranking with respect to 2021 Volvo® XC40 is maximized can be considered as the best keyword combination for the 2021 Volvo® XC40.

In various aspects, once the ranking component identifies the best keyword combination for the 2021 Volvo® V60, the taxonomy component can create a linkage and/or mapping between that best keyword combination and the 2021 Volvo® V60. Likewise, once the ranking component identifies the best keyword combination for the 2021 Volvo® XC40, the taxonomy component can create a linkage and/or mapping between that best keyword combination and the 2021 Volvo® XC40. In various cases, such linkages/mappings can be considered as the keyword-object taxonomy.

Finally, in various instances, when given an inputted object class, the taxonomy component can query the keyword-object taxonomy to identify the best keyword combination that is linked/mapped to the inputted object class. For example, suppose that an entity desires to launch a marketing campaign for the 2021 Volvo® V60. In such case, the entity can input to the receiver component of the computerized tool an indication of the 2021 Volvo® V60. Accordingly, the taxonomy component can search the keyword-object taxonomy for the 2021 Volvo® V60. In various cases, the taxonomy component can identify the best keyword combination that is linked/mapped to the 2021 Volvo® V60. Thus, the entity can use such best keyword combination in advertising during the marketing campaign (e.g., the entity can now know which words/phrases are most strongly correlated, in the collective opinion of potential customers, to the 2021 Volvo® V60).

As another example, suppose that an entity desires to launch a marketing campaign for the 2021 Volvo® XC40. In such case, the entity can input to the receiver component of the computerized tool an indication of the 2021 Volvo® XC40. Accordingly, the taxonomy component can search the keyword-object taxonomy for the 2021 Volvo® XC40. In various cases, the taxonomy component can identify the best keyword combination that is linked/mapped to the 2021 Volvo® XC40. Thus, the entity can use such best keyword combination in advertising during the marketing campaign (e.g., the entity can now know which words/phrases are most strongly correlated, in the collective opinion of potential customers, to the 2021 Volvo® XC40).

In any case, various embodiments of the invention can be considered as a computerized tool that can build, in an objective and rigorous fashion, a keyword-object taxonomy based on search engine histories for any suitable object classes of interest. Once the keyword-object taxonomy is built, the computerized tool can leverage the keyword-object taxonomy so as to objectively identify which keyword combinations are minimally redundant and maximally relevant with respect to a desired object class. Accordingly, such identified keyword combinations can be used in a marketing campaign for the desired object class.

Various embodiments of the invention can be employed to use hardware and/or software to solve problems that are highly technical in nature (e.g., to facilitate keyword-object taxonomy generation and/or utilization), that are not abstract and that cannot be performed as a set of mental acts by a human. Further, some of the processes performed can be performed by a specialized computer. Specifically, such processes can include: accessing, by a device operatively coupled to a processor, an input object class; and outputting, by the device, one or more keyword combinations that are non-redundant and relevant to the input object class, based on querying a keyword-object taxonomy. In some cases, such processes can further include: accessing, by the device, a set of recorded keyword combinations and a set of recorded object classes respectively corresponding to the set of recorded keyword combinations; and generating, by the device and via a feature selection algorithm, the keyword-object taxonomy based on the set of recorded keyword combinations and the set of recorded object classes.

Such defined tasks are not performed manually by humans. Moreover, neither the human mind nor a human with pen and paper can electronically build a keyword-object taxonomy by executing a feature selection algorithm (e.g., mRMR) on a set of recorded keyword combinations and a set of recorded object classes. Furthermore, neither the human mind nor a human with pen and paper can electronically query the keyword-object taxonomy so as to output keyword combinations that are non-redundant and relevant to an input object class. Instead, various embodiments of the invention are inherently and inextricably tied to computer technology and cannot be implemented outside of a computing environment (e.g., a keyword-object taxonomy is a software data structure in which different keyword combinations are digitally mapped/linked to different object classes; thus, a computerized tool that electronically builds and/or queries a keyword-object taxonomy is a computerized device that cannot be implemented in any sensible way without computers).

In various instances, embodiments of the invention can integrate into a practical application the disclosed teachings regarding keyword-object taxonomy generation and/or utilization. Indeed, as described herein, various embodiments of the invention, which can take the form of systems and/or computer-implemented methods, can be considered as a computerized tool that can electronically construct a keyword-object taxonomy (e.g., a mapping between keyword combinations and object classes) by executing a feature selection algorithm (e.g., mRMR) on a set of recorded keyword combinations and a set of recorded object classes as provided by one or more search engines. Furthermore, the computerized tool can electronically query the keyword-object taxonomy so as to identify maximally relevant and minimally redundant keyword combinations for any desired object class. That is, such a computerized tool can objectively identify which keywords are mostly strongly correlated with the desired object class, according to the collective opinion of potential customers who have inputted such keywords into online search engines. Once such keywords are identified, they can be utilized in a marketing campaign for the desired object class. A computerized tool that objectively identifies maximally relevant and minimally redundant keywords when given an inputted object class certainly constitutes a useful and practical application of computers.

Furthermore, various embodiments of the invention can control tangible, hardware-based, and/or software-based devices based on the disclosed teachings. For example, online search engines are real-world computer programs with which real people can and do interact. As explained in this disclosure, the computerized tool described herein can execute a feature selection algorithm (e.g., mRMR) on the search histories of such online search engines, so as to construct a keyword-object taxonomy (e.g., a mapping of object classes to relevant and non-redundant keyword combinations describing the object classes). In various instances, the computerized tool can receive a real-world query indicating a desired object class, and the computerized tool can search through the keyword-object taxonomy to identify one or more maximally relevant and minimally redundant keyword combinations that describe the desired object class. In various aspects, such maximally relevant and minimally redundant keyword combinations can be utilized in a real-world marketing campaign as desired.

It should be appreciated that the figures and the herein disclosure describe non-limiting examples of various embodiments of the invention.

FIG.1illustrates a block diagram of an example, non-limiting system100that can facilitate keyword-object taxonomy generation and utilization in accordance with one or more embodiments described herein. As shown, a keyword-object taxonomy system102can be electronically integrated, via any suitable electronic connections, with one or more search engines104.

In various aspects, the one or more search engines104can include any suitable number of any suitable online search engines. Non-limiting examples of an online search engine include Google®, Bing®, Yahoo!®, Duck Duck Go®, Yandex®, and/or Volvo Car Search®. In various instances, the one or more search engines104can be associated with a set of recorded keyword combinations106and a set of recorded object classes108. As mentioned above, an object class can be, represent, and/or otherwise designate any suitable product, service, activity, organization, institution, person, animal, and/or other thing as desired and/or at any suitable level of granularity.

In various cases, the set of recorded object classes108can respectively correspond to the set of recorded keyword combinations106. More specifically, the set of recorded keyword combinations106can include any suitable number of keyword combinations which have been inputted, by any suitable number of any suitable entities (e.g., human and/or otherwise), into at least one of the one or more search engines104. Moreover, the set of recorded object classes108can include any suitable number of object classes which are respectively associated with webpages that were ultimately clicked on and/or visited by such entities based on the set of recorded keyword combinations106. For example, if a first keyword combination in the set of recorded keyword combinations106corresponds to a first object class in the set of recorded object classes108, this can indicate that some entity had inputted the first keyword combination into at least one of the one or more search engines104, that the at least one of the one or more search engines104had returned results including a link to a webpage describing and/or pertaining to the first object class, and that the entity had ultimately clicked on that link. Accordingly, the set of recorded keyword combinations106and the set of recorded object classes108can be considered as collectively representing any suitable number of search histories and/or online search journeys that have been recorded and/or documented by the one or more search engines104. In still other words, the set of recorded keyword combinations106and the set of recorded object classes108can be considered as collectively capturing the intentions and/or conceptions of potential customers that have utilized the one or more search engines104.

As explained herein, the keyword-object taxonomy system102can leverage the set of recorded keyword combinations106and the set of recorded object classes108, so as to build a keyword-object taxonomy that objectively maps object classes to maximally relevant and/or minimally redundant keywords.

In various embodiments, the keyword-object taxonomy system102can comprise a processor110(e.g., computer processing unit, microprocessor) and a computer-readable memory112that is operably connected to the processor110. The memory112can store computer-executable instructions which, upon execution by the processor110, can cause the processor110and/or other components of the keyword-object taxonomy system102(e.g., receiver component114, ranking component116, taxonomy component118) to perform one or more acts. In various embodiments, the memory112can store computer-executable components (e.g., receiver component114, ranking component116, taxonomy component118), and the processor110can execute the computer-executable components.

In various embodiments, the keyword-object taxonomy system102can comprise a receiver component114. In various aspects, the receiver component114can electronically receive and/or otherwise electronically access the set of recorded keyword combinations106and/or the set of recorded object classes108. In various instances, the receiver component114can electronically retrieve the set of recorded keyword combinations106and/or the set of recorded object classes108from the one or more search engines104. In various other instances, the one or more search engines104can electronically transmit and/or store the set of recorded keyword combinations106and/or the set of recorded object classes108in any suitable database (not shown) that is electronically accessible to the receiver component114, and the receiver component114can electronically retrieve the set of recorded keyword combinations106and/or the set of recorded object classes108from the database. In any case, the receiver component114can electronically obtain the set of recorded keyword combinations106and/or the set of recorded object classes108, such that other components of the keyword-object taxonomy system102can manipulate and/or otherwise interact with the set of recorded keyword combinations106and/or the set of recorded object classes108.

In various embodiments, the keyword-object taxonomy system102can comprise a ranking component116. In various aspects, the ranking component116can electronically execute a feature selection algorithm on the set of recorded keyword combinations106and/or the set of recorded object classes108. Execution of the feature selection algorithm can, in various instances, cause the ranking component116to identify unique keywords in the set of recorded keyword combinations106and unique object classes in the set of recorded object classes108. Moreover, execution of the feature selection algorithm can cause the ranking component116to compute a relevance score between each unique keyword and each unique object class, where the relevance score can be a scalar that numerically quantifies how strongly and/or weakly correlated the unique keyword is with the unique object class. Furthermore, execution of the feature selection algorithm can cause the ranking component116to compute a redundancy score between each pair of unique keywords, where the redundancy score can be a scalar that numerically quantifies how strongly and/or weakly correlated the pair of unique keywords are with each other. Further still, execution of the feature selection algorithm can, for each unique object class, cause the ranking component116to iteratively construct different combinations of the unique keywords, in search of a combination that has a maximized average relevance score with respect to the unique object class and that has a minimized average redundancy score. In various cases, such combination can be referred to as the maximally relevant and minimally redundant keyword combination with respect to the unique object class. In various cases, such combination can also be referred to as the best keyword combination for the unique object class. In any case, the ranking component116can, via the feature selection algorithm, identify a best keyword combination for each unique object class in the set of recorded object classes108.

In various embodiments, the keyword-object taxonomy system102can comprise a taxonomy component118. In various aspects, the taxonomy component118can electronically build a keyword-object taxonomy based on the results generated by the execution of the feature selection algorithm by the ranking component116. More specifically, the ranking component116can identify a best keyword combination for each unique object class in the set of recorded object classes. In various instances, the taxonomy component118can electronically generate a mapping and/or a linkage between each unique object class and its corresponding best keyword combination, thereby resulting in a set of mappings/linkages. In various cases, such set of mappings/linkages can be collectively considered as the keyword-object taxonomy.

In various cases, the keyword-object taxonomy system102can leverage and/or query the keyword-object taxonomy so as to identify a best keyword combination for any inputted object class. For instance, an entity associated with a client device (not shown) can desire to determine the best words/phrases to use when facilitating a marketing campaign for a desired object class. Accordingly, in various aspects, the receiver component114can electronically receive, from the client device, an indication of the particular object class. In various cases, the taxonomy component118can electronically identify the particular object class in the keyword-object taxonomy, and the taxonomy component118can identify the maximally relevant and minimally redundant keyword combination that is linked/mapped to the particular object class. Accordingly, in various instances, the taxonomy component118can electronically transmit the maximally relevant and minimally redundant keyword combination to the client device, so that the client device (and/or the entity operating the client device) can utilize the maximally relevant and minimally redundant keyword combination in the desired marketing campaign.

FIG.2illustrates an example, non-limiting block diagram200of a set of recorded keyword combinations respectively corresponding to a set of object classes in accordance with one or more embodiments described herein. In other words,FIG.2depicts an example and non-limiting embodiment of the set of recorded keyword combinations106and the set of recorded object classes108.

As shown, the set of recorded object classes108can comprise n unique object classes, for any suitable positive integer n (e.g., object class1to object class n). As also shown, in various instances, the set of recorded keyword combinations106can comprise n subsets of recorded keyword combinations (e.g., a subset202(1) to a subset202(n)) that respectively correspond to the set of recorded object classes108. That is, the subset202(1) can correspond to the object class1, and the subset202(n) can correspond to the object class n.

In various cases, the subset202(1) can include any suitable number of keyword combinations that correspond to the object class1. For instance, subset202(1) can include m keyword combinations that correspond to the object class1(e.g., a recorded keyword combination1(1) to a recorded keyword combination1(m)), for any suitable positive integer m. That is, one or more entities can have inputted the recorded keyword combination1(1) into the one or more search engines104and ultimately clicked on and/or visited a website that pertained to the object class1. Similarly, one or more entities can have inputted the recorded keyword combination1(m) into the one or more search engines104and ultimately clicked on and/or visited a website that pertained to the object class1. Stated differently, the subset202(1) can include different keyword combinations which one or more entities entered into the one or more search engines104in order to arrive at a webpage corresponding to the object class1. Stated differently still, the recorded keyword combinations in the subset202(1) can be considered as the words/phrases which one or more entities selected when such one or more entities desired and/or intended to visit a webpage describing the object class1.

In various aspects, the recorded keyword combination1(1) can include any suitable number of keywords. For example, the recorded keyword combination1(1) can include p keywords (e.g., a keyword1(1)(1) to a keyword1(1)(p)), for any suitable positive integer p. Similarly, the recorded keyword combination1(m) can include any suitable number of keywords. For instance, the recorded keyword combination1(m) can include p keywords (e.g., a keyword1(m)(1) to a keyword1(m)(p)).

AlthoughFIG.2illustrates the recorded keyword combination1(1) and the recorded keyword combination1(m) as having the same number of keywords, this is a mere non-limiting example for ease of illustration. Those having ordinary skill in the art will appreciate that different recorded keyword combinations in the subset202(1) can have the same and/or different numbers of keywords as each other. As an example, suppose that the object class1represents a 2021 Volvo® V60 vehicle. In such case, the subset202(1) can include “volvo 2021 cross country” as a first recorded keyword combination, can include “2021 country wagon” as a second recorded keyword combination, and/or can include “cross country wagon” as a third keyword combination. In this example, the first recorded keyword combination has four keywords (e.g., “volvo,” “2021,” “cross,” and “country”), whereas the second recorded keyword combination has three keywords (e.g., “2021,” “country,” and “wagon”), and whereas the third recorded keyword combination also has three keywords (e.g., “cross,” “country,” and “wagon”). Thus, different keyword combinations can have the same and/or different numbers of keywords as each other.

Moreover, althoughFIG.2illustrates the recorded keyword combination1(1) and the recorded keyword combination1(m) as having different keywords, this is a mere non-limiting example for ease of illustration. Those having ordinary skill in the art will appreciate that different recorded keyword combinations in the subset202(1) can have any suitable number of words in common with each other and/or can have no words in common with each other. As an example, suppose that the object class1represents a 2021 Volvo® V60 vehicle. Furthermore, suppose that the subset202(1) includes “volvo cross country” as a first recorded keyword combination, “2021 cross country” as a second recorded keyword combination, and “volvo wagon” as a third recorded keyword combination. In such case, the first recorded keyword combination and the second recorded keyword combination can have two keywords in common (e.g., “cross” and “country”), whereas the first recorded keyword combination and the third recorded keyword combination have one keyword in common (e.g., “volvo”), and whereas the second recorded keyword combination and the third recorded keyword combination have no keywords in common. Thus, different keyword combinations can make use of the same and/or different keywords as each other.

Just as the subset202(1) can correspond to the object class1, the subset202(n) can correspond to the object class n. In various cases, the subset202(n) can include any suitable number of keyword combinations that correspond to the object class n. For instance, subset202(n) can include m keyword combinations that correspond to the object class1(e.g., a recorded keyword combination n(1) to a recorded keyword combination n(m)), for any suitable positive integer m. That is, one or more entities can have inputted the recorded keyword combination n(1) into the one or more search engines104and ultimately clicked on and/or visited a website that pertained to the object class n. Similarly, one or more entities can have inputted the recorded keyword combination n(m) into the one or more search engines104and ultimately clicked on and/or visited a website that pertained to the object class n. Stated differently, the subset202(n) can include different keyword combinations which one or more entities entered into the one or more search engines104in order to arrive at a webpage corresponding to the object class n. Stated differently still, the recorded keyword combinations in the subset202(n) can be considered as the words/phrases which one or more entities selected when such one or more entities desired and/or intended to visit a webpage describing the object class n.

AlthoughFIG.2depicts the subset202(n) as having the same number of recorded keyword combinations as the subset202(1), this is a mere non-limiting example for ease of illustration. Those having ordinary skill in the art will appreciate that the subset202(n) can have the same number of and/or a different number of recorded keyword combinations as compared to the subset202(1).

In various aspects, the recorded keyword combination n(1) can include any suitable number of keywords. For example, the recorded keyword combination1(1) can include p keywords (e.g., a keyword n(1)(1) to a keyword n(1)(p)), for any suitable positive integer p. Similarly, the recorded keyword combination n(m) can include any suitable number of keywords. For instance, the recorded keyword combination n(rn) can include p keywords (e.g., a keyword n(m)(1) to a keyword n(m)(p)).

AlthoughFIG.2illustrates the recorded keyword combination n(1) and the recorded keyword combination n(m) as having the same number of keywords, this is a mere non-limiting example for ease of illustration. Those having ordinary skill in the art will appreciate that different recorded keyword combinations in the subset202(n) can have the same and/or different numbers of keywords as each other.

Furthermore, althoughFIG.2illustrates the recorded keyword combination n(1) and the recorded keyword combination n(m) as having different keywords, this is a mere non-limiting example for ease of illustration. Those having ordinary skill in the art will appreciate that different recorded keyword combinations in the subset202(n) can have any suitable number of words in common with each other and/or can have no words in common with each other.

Moreover, althoughFIG.2depicts the recorded keyword combination n(1) as have the same number of keywords as the recorded keyword combination1(1), and/or depicts the recorded keyword combination n(m) as having the same number of keywords as the recorded keyword combination1(m), this is a mere non-limiting example for ease of illustration. Those having ordinary skill in the art will appreciate that different keyword combinations in the set of recorded keyword combinations106can have the same number of keywords and/or different numbers of keywords as each other.

Although not shown inFIG.2, the one or more search engines104can append any other suitable information to the set of recorded keyword combinations106(e.g., can record/capture number of online clicks associated with each recorded keyword combination, can record/capture click-through-rate associated with each recorded keyword combination, and/or can record/capture search weights given by the one or more search engines104to each recorded keyword combination).

FIG.3illustrates a block diagram of an example, non-limiting system300including a feature selection algorithm and a set of highest-ranking keyword combinations that can facilitate keyword-object taxonomy generation and utilization in accordance with one or more embodiments described herein. As shown, the system300can, in some cases, comprise the same components as the system100, and can further comprise a feature selection algorithm302and/or a set of highest-ranking keyword combinations304.

In various embodiments, the ranking component116can electronically execute the feature selection algorithm302on the set of recorded keyword combinations106and the set of recorded object classes108. The result of such execution can be the set of highest-ranking keyword combinations304. In various instances, the set of highest-ranking keyword combinations304can respectively correspond to the set of recorded object classes108. More specifically, the set of highest-ranking keyword combinations304can include one or more maximally relevant and minimally redundant keyword combinations for each unique object class in the set of recorded object classes108. Stated differently, the set of highest-ranking keyword combinations304can be considered as including, for each unique object class in the set of recorded object classes108, one or more words/phrases that are most strongly correlated with the unique object class, according to the search histories captured/recorded by the one or more search engines104.

In various aspects, the feature selection algorithm302can be any suitable machine learning algorithm that is configured to select a subset of features, variables, and/or attributes from a total set of features, variables, and/or attributes, which subset is relevant and non-redundant with respect to some dependent variable of interest. For example, in some cases, the feature selection algorithm302can be a Minimum Redundancy Maximum Relevance (mRMR) algorithm. As another example, the feature selection algorithm302can be a Random Forest algorithm that utilizes a Gini-index-based information metric. In various cases, the feature selection algorithm302can be any other suitable type of feature selection algorithm (e.g., wrapper feature selection methods, filter feature selection methods, embedded feature selection methods).

In cases where the feature selection algorithm302is mRMR, the following can be implemented. In various aspects, mRMR can cause the ranking component116to identify a set of unique keywords that make up the set of recorded keyword combinations106. For instance, consider two non-limiting example keyword combinations: “volvo 2021 cross country” and “volvo electric 2021.” The keyword combination “volvo 2021 cross country” includes four keywords, and the keyword combination “volvo electric 2021” includes three keywords. However, these two keyword combinations do not together include seven (e.g., four plus three) unique keywords. Instead, these two keyword combinations together include only five unique keywords (e.g., “volvo,” “2021,” “cross,” “country,” and “electric;” “volvo” and “2021” should not be double-counted even though they appear in both of the keyword combinations). In like fashion, mRMR can cause the ranking component116to identify each unique object class in the set of recorded object classes108(e.g., for ease of explanation,FIG.2already illustrates the set of recorded object classes108as including n unique object classes).

In various instances, mRMR can further cause the ranking component116to compute a relevance score between each unique keyword and each unique object class. In various aspects, the relevance score between a unique keyword and a unique object class can be any suitable scalar (e.g., and/or vector, matrix, and/or tensor, in some cases) that numerically quantifies how strongly correlated and/or how frequently co-incident the unique keyword is with the unique object class. Mathematically, the relevance score can in some cases be equal to and/or otherwise based on mutual information (e.g., entropy-based information loss), pointwise mutual information, the Pearson product-moment correlation coefficient, Relief-based measures, and/or statistical significance tests. As a non-limiting example, a relevance score between a unique keyword and a unique object class can be equal to and/or otherwise based on a ratio between: the number of recorded keyword combinations in the set of recorded keyword combinations106which contain the unique keyword and correspond to the unique object class (e.g., this number can be the numerator); and the number of recorded keyword combinations in the set of recorded keyword combinations106which contain the unique keyword (e.g., this number can be the denominator). In any case, the ranking component116can compute a relevance score between each unique keyword and each unique object class.

In various aspects, mRMR can further cause the ranking component116to compute a redundancy score between each pair of unique keywords. In various cases, the redundancy score can be any suitable scalar (e.g., and/or vector, matrix, and/or tensor, in some cases) that numerically quantifies how strongly correlated and/or how frequently co-incident the two unique keywords in the pair are with each other. Mathematically, the redundancy score can in some cases be equal to and/or otherwise based on mutual information (e.g., entropy-based information loss), pointwise mutual information, the Pearson product-moment correlation coefficient, Relief-based measures, and/or statistical significance tests. As a non-limiting example, a redundancy score between a pair of unique keywords can be equal to and/or otherwise based on a ratio between: the number of recorded keyword combinations in the set of recorded keyword combinations106which contain both of the pair of the unique keywords (e.g., this number can be the numerator); and the number of recorded keyword combinations in the set of recorded keyword combinations106which contain at least one of the pair of unique keywords (e.g., this number can be the denominator). In any case, the ranking component116can compute a redundancy score between each pair of unique keywords.

In various instances, mRMR can further cause the ranking component116to, for each unique object class, iteratively construct different combinations of the unique keywords in search of a combination that possesses a maximized average relevance score with respect to the unique object class and a minimized average redundancy score.

More specifically, for each combination of unique keywords that is constructed, the ranking component116can compute

D⁡(S,c)=1❘"\[LeftBracketingBar]"S❘"\[RightBracketingBar]"⁢∑fi∈SI⁡(fi,c)
where c represents a unique object class, where S represents a combination of unique keywords, where D (S, c) represents the relevance score between the unique object class c and the combination of unique keywords S, where firepresents an i-th unique keyword in the combination of unique keywords S for any suitable positive integer i, and where I (fi, c) represents the relevance score (e.g., mutual information) between the unique keyword fiand the unique object class c.

Moreover, for each combination of unique keywords that is constructed, the ranking component116can further compute

R⁡(S)=1❘"\[LeftBracketingBar]"S❘"\[RightBracketingBar]"2⁢∑fi,fj∈SI⁡(fi,fj)
where S represents a combination of unique keywords, where R(S) represents the redundancy score of the combination of unique keywords S, where firepresents an i-th unique keyword in the combination of unique keywords S for any suitable positive integer i, where firepresents a j-th unique keyword in the combination of unique keywords S for any suitable positive integer j≠i, and where I(fi, fj) represents the redundancy score (e.g., mutual information) between the unique keyword fiand the unique keyword fj.

Accordingly, for each combination of unique keywords S that is constructed and for each unique object class c, the ranking component116can compute a ranking equal to Ranking(S, c)=D(S, c)−R(S). In various instances, for any given unique object class, the combination of unique keywords for which the ranking D (S, c)−R (S) is maximized can be considered as a highest-ranking keyword combination for that given unique object class. In other words, for any given unique object class, the combination of unique keywords for which the ranking D(S, c)−R(S) is maximized can be considered as a maximally relevant and minimally redundant keyword combination with respect to that given unique object class. In various cases, the ranking component116can compute such a highest-ranking keyword combination for each unique object class, thereby yielding the set of highest-ranking keyword combinations304.

As those having ordinary skill in the art will appreciate, mRMR can, in various cases, take into consideration any other suitable information recorded/captured by the one or more search engines104(e.g., number of clicks, click-through-rate, and/or search weight).

In various cases,FIGS.4-7help to further illustrate how the feature selection algorithm302can be implemented to create the set of highest-ranking keyword combinations304.

FIG.4illustrates an example, non-limiting block diagram400of a set of unique keywords used in a set of recorded keyword combinations in accordance with one or more embodiments described herein.

As shown, execution of the feature selection algorithm302can cause the ranking component116to identify a set of unique keywords402based on the set of recorded keyword combinations106. In various cases, the set of unique keywords402can include any suitable number of unique keywords. For example, the set of unique keywords402can include q unique keywords (e.g., unique keyword1to unique keyword q), for any suitable positive integer q. In various cases, the set of unique keywords402can be composed of, without double-counting, all the unique keywords that collectively make up the set of recorded keyword combinations106(e.g., the keyword combinations “2021 volvo cross country,” “volvo 2021 hybrid,” “volvo electric,” and “volvo cross country wagon” are collectively composed of seven unique keywords). In various aspects, each unique keyword in the set of unique keywords402can be considered as a one-hot-encoded feature, and the feature selection algorithm302can cause the ranking component116to derive from the set of unique keywords402one or more combinations of such features which are maximally relevant and minimally redundant for each unique object class.

FIG.5illustrates an example, non-limiting block diagram500of a set of relevance values computed based on a set of unique keywords in accordance with one or more embodiments described herein.

As shown, execution of the feature selection algorithm302can cause the ranking component116to compute a set of relevance values502based on the set of unique keywords402. More specifically, the ranking component116can compute and/or calculate, for each of the set of unique keywords402, a relevance value (e.g., D(S, c)) with respect to each of the unique object classes. Thus, if there are n unique object classes, the ranking component116can compute and/or calculate n relevance values for each unique keyword. For instance, as shown, the ranking component116can calculate, for the unique keyword1, a relevance value1(1) to a relevance value1(n), where the relevance value1(1) can quantify how closely correlated the unique keyword1is to the object class1, and where the relevance value1(n) can quantify how closely correlated the unique keyword1is to the object class n. Similarly, as shown, the ranking component116can calculate, for the unique keyword q, a relevance value q(1) to a relevance value q(n), where the relevance value q(1) can quantify how closely correlated the unique keyword q is to the object class1, and where the relevance value q(n) can quantify how closely correlated the unique keyword q is to the object class n. As explained above, a relevance value can be mathematically defined in any suitable fashion (e.g., can be mutual information and/or pointwise mutual information between a unique keyword and a unique object class).

FIG.6illustrates an example, non-limiting block diagram600of a set of redundancy values computed based on a set of unique keywords in accordance with one or more embodiments described herein.

As shown, execution of the feature selection algorithm302can cause the ranking component116to compute a set of redundancy values602based on the set of unique keywords402. More specifically, the ranking component116can compute and/or calculate, for any given pair of unique keywords, a redundancy value (e.g., R(S)) for that given pair of unique keywords, where the redundancy value quantifies how closely correlated that given pair of unique keywords are with each other. Thus, if there are q unique keywords in the set of unique keywords402, the ranking component116can compute

q⁡(q-1)2
redundancy values (e.g., redundancy value 1 to redundancy value q(q−1)/2). After all, there can be

q⁡(q-1)2
different pairs of unique keywords (e.g., there are

q⁡(q-1)2
different ways to choose two unique keywords from the set of unique keywords402). As explained above, a redundancy value can be mathematically defined in any suitable fashion (e.g., can be mutual information and/or pointwise mutual information between two unique keywords).

FIG.7illustrates an example, non-limiting block diagram700of a set of highest-ranking keyword combinations derived from a set of unique keywords based on relevance values and redundancy values of the set of unique keywords in accordance with one or more embodiments described herein. In other words,FIG.7depicts an example, non-limiting embodiment of the set of highest-ranking keyword combinations304.

As shown, in various aspects, execution of the feature selection algorithm302can cause the ranking component116to generate the set of highest-ranking keyword combinations304based on the set of relevance values502and/or based on the set of redundancy values602. In various instances, as shown, the set of highest-ranking keyword combinations304can include n highest-ranking keyword combinations (e.g., one highest-ranking keyword combination per unique object class). In various other cases, however, the set of highest-ranking keyword combinations304can include any other suitable number of highest-ranking keyword combinations (e.g., can include more than one highest-ranking keyword combination per unique object class).

More specifically, the ranking component116can select any of the unique object classes in the set of recorded object classes108. Accordingly, the ranking component116can iteratively construct combinations of unique keywords from the set of unique keywords402. For each combination of unique keywords that is constructed, the ranking component116can compute a total ranking for the combination, where the total ranking can be equal to and/or otherwise based on a difference between: the average of relevance values of each unique keyword in the combination with respect to the selected unique object class; and the average of the redundancy values of each pair of unique keywords in the combination. In other words, this can be considered as an optimization problem, in which the ranking component116identifies a maximally relevant and minimally redundant keyword combination for the selected unique object class. In various aspects, the ranking component116can solve such optimization problem for each of the unique object classes in the set of recorded object classes108. In various cases, as shown, the result can be that the set of highest-ranking keyword combinations304includes one highest-ranking keyword combination per unique object class (e.g., the highest-ranking keyword combination1can be interpreted as the maximally relevant and minimally redundant combination of unique keywords with respect to the object class1, and the highest-ranking keyword combination n can be interpreted as the maximally relevant and minimally redundant combination of unique keywords with respect to the object class n).

AlthoughFIG.7depicts the set of highest-ranking keyword combinations304as including one highest-ranking keyword combination per unique object class, this is a mere non-limiting example for ease of illustration. Those having ordinary skill in the art will appreciate that, in various embodiments, the ranking component116can compute any suitable number of highest-ranking keyword combinations per unique object class. For example, for any given unique object class, the ranking component116can compute a highest-ranking keyword combination, a second-highest-ranking keyword combination, a third-highest-ranking keyword combination, and/or so on. For instance, for any given unique object class, the ranking component116can identify all combinations of the set of unique keywords402that have total rankings above any suitable threshold value, and such combinations can be considered as the highest-ranking combinations that correspond to that given unique object class. In this way, more than one highest-ranking keyword combination can be identified for each unique object class.

FIG.8illustrates a block diagram of an example, non-limiting system800including a keyword-object taxonomy that can facilitate keyword-object taxonomy generation and utilization in accordance with one or more embodiments described herein. As shown, the system800can, in some cases, comprise the same components as the system300, and can further comprise a keyword-object taxonomy802.

In various embodiments, the taxonomy component118can electronically generate the keyword-object taxonomy802based on the set of highest-ranking keyword combinations304. More specifically, the taxonomy component118can electronically map and/or otherwise link each of the set of highest-ranking keyword combinations304to its respectively corresponding unique object class. This is shown inFIG.9.

FIG.9illustrates a block diagram900of an example, non-limiting keyword-object taxonomy in accordance with one or more embodiments described herein. In other words,FIG.9depicts an example and non-limiting embodiment of the keyword-object taxonomy802.

As shown, the keyword-object taxonomy802can include the set of highest-ranking keyword combinations304and the set of recorded object classes108. Furthermore, as shown, the keyword-object taxonomy802can include respective linkages and/or mappings from the set of highest-ranking keyword combinations304to the set of recorded object classes108. Specifically, as shown, the highest-ranking keyword combination1can be linked and/or mapped to the object class1. If the highest-ranking keyword combination1includes multiple highest-ranking keyword combinations, each of them could be linked and/or mapped to the object class1. Similarly, as shown, the highest-ranking keyword combination n can be linked and/or mapped to the object class n. If the highest-ranking keyword combination n includes multiple highest-ranking keyword combinations, each of them could be linked and/or mapped to the object class n. In any case, the keyword-object taxonomy802can be a mapping of object classes (e.g.,108) to highest-ranking keyword combinations (e.g.,304), such that one or more highest-ranking keyword combinations can be identified when a desired object class is specified.

In various embodiments, the taxonomy component118can implement zero-shot learning, so as to fine-tune and/or otherwise improve the maximally relevant and minimally redundant keyword combinations that are included in the keyword-object taxonomy802. For example, suppose that an object class representing a Volvo® V60 corresponds to the following highest-ranking keyword combination: “cross country travel interstate mileage.” In various cases, the taxonomy component118can implement zero-shot learning (and/or subject matter expertise) so as to replace such highest-ranking keyword combination with “long distance travel car,” which has the same and/or similar substantive meaning as “cross country travel interstate mileage,” but which is more concise. As another example, suppose that an object class representing a Volvo® XC90 corresponds to the following highest-ranking keyword combination: “family 8-seater air bags safe.” In various cases, the taxonomy component118can implement zero-shot learning (and/or subject matter expertise) so as to replace such highest-ranking keyword combination with “safe family car,” which has the same and/or similar substantive meaning as “family 8-seater air bags safe,” but which is more concise. In this way, the taxonomy component118can implement zero-shot learning so as to generate more concise automated keyword combinations as desired.

FIG.10illustrates a flow diagram of an example, non-limiting computer-implemented method1000that can facilitate keyword-object taxonomy generation in accordance with one or more embodiments described herein. In various cases, the computer-implemented method1000can be facilitated by the keyword-object taxonomy system102.

In various embodiments, act1002can include receiving, by a device (e.g.,114) operatively coupled to a processor, a set of keyword combinations (e.g.,106) and a set of object classes (e.g.,108). In various cases, the set of keyword combinations can have been entered into one or more search engines (e.g.,104), and the set of object classes can represent a set of webpages provided by the one or more search engines respectively in response to the set of keyword combinations.

In various aspects, act1004can include executing, by the device (e.g.,116), a feature selection algorithm (e.g.,302) on the set of keyword combinations and the set of object classes. In various cases, the feature selection algorithm can be a Minimum Redundancy Maximum Relevance algorithm. In various cases, act1004can include various sub-acts, such as acts1006,1008, and/or1010.

In various instances, act1006can include computing, by the device (e.g.,116) and for each unique keyword (e.g., one of402) in the set of keyword combinations, a relevance score (e.g., one of502) between the unique keyword and each object class (e.g., one of108) in the set of object classes.

In various aspects, act1008can include computing, by the device (e.g.,116) and for each pair of unique keywords (e.g., two of402) in the set of keyword combinations, a redundancy score (e.g., one of602) between the pair of unique keywords.

In various instances, act1010can include identifying, by the device (e.g.,116) and for each object class (e.g., one of108) in the set of object classes, a combination of unique keywords (e.g., one of304), which combination has a maximized average relevance score with respect to the object class and a minimized average redundancy score.

In various aspects, act1012can include mapping, by the device (e.g.,118), each object class of the set of object classes to its corresponding maximized relevance minimized redundancy combination of unique keywords, thereby yielding a keyword-object taxonomy (e.g.,802).

FIG.11illustrates a block diagram of an example, non-limiting system1100including an input object class and a relevant, non-redundant keyword combination that can facilitate keyword-object taxonomy generation and utilization in accordance with one or more embodiments described herein. As shown, the system1100can, in some cases, comprise the same components as the system800, and can further comprise an input object class1102and a relevant, non-redundant keyword combination1104.

In various embodiments, the receiver component114can electronically receive, from any suitable client device (not shown), an indication of the input object class1102. In various aspects, the input object class1102can be one of the set of recorded object classes108. Moreover, in various instances, receipt of the indication of the input object class1102can be interpreted as a request for words/phrases that are objectively strongly correlated with the input object class1102. Accordingly, in various cases, the taxonomy component118can query the keyword-object taxonomy802in search of the input object class1102. In various aspects, once the taxonomy component118has found the input object class1102in the keyword-object taxonomy802, the taxonomy component118can identify in the keyword-object taxonomy a maximally relevant and minimally redundant keyword combination that is linked and/or mapped to the input object class1102. In various cases, such maximally relevant and minimally redundant keyword combination can be considered as the relevant, non-redundant keyword combination1104. In various instances, the taxonomy component118can electronically transmit back to the client device the relevant, non-redundant keyword combination1104. Accordingly, the client device can, if desired, utilize the relevant, non-redundant keyword combination1104in a marketing campaign of which the input object class1102is the subject.

As mentioned above, it can be the case that more than one relevant and non-redundant keyword combination is mapped/linked to the input object class1102in the keyword-object taxonomy802. In such case, the taxonomy component118can transmit all (and/or any suitable subset) of such relevant and non-redundant keyword combinations to the client device.

FIG.12illustrates a flow diagram of an example, non-limiting computer-implemented method1200that can facilitate keyword-object taxonomy utilization in accordance with one or more embodiments described herein. In various cases, the computer-implemented method1200can be facilitated by the keyword-object taxonomy system102.

In various embodiments, act1202can include accessing, by a device (e.g.,114) operatively coupled to a processor, an input object class (e.g.,1102).

In various aspects, act1204can include outputting, by the device (e.g.,118), one or more keyword combinations (e.g.,1104) that are non-redundant and relevant to the input object class, based on querying a keyword-object taxonomy (e.g.,802).

Although not explicitly shown inFIG.12, the computer-implemented method1200can further include: accessing, by the device (e.g.,114), a set of recorded keyword combinations (e.g.,106) and a set of recorded object classes (e.g.,108) respectively corresponding to the set of recorded keyword combinations; and generating, by the device (e.g.,116and/or118), the keyword-object taxonomy based on the set of recorded keyword combinations and the set of recorded object classes.

Although not explicitly shown inFIG.12, the computer-implemented method1200can further include: applying, by the device (e.g.,116), a feature selection algorithm (e.g.,302) to the set of recorded keyword combinations and to the set of recorded object classes. In various cases, for a given object class (e.g., one of108) in the set of recorded object classes, the feature selection algorithm can rank unique keywords (e.g.,402) in the set of recorded keyword combinations according to redundancy and relevance with respect to the given object class.

Although not explicitly shown inFIG.12, the computer-implemented method1200can further include: identifying, by the device (e.g.,116) and based on the ranked unique keywords, a highest-ranking keyword combination (e.g., one of304) with respect to the given object class; and inserting, by the device (e.g.,118) and into the keyword-object taxonomy, the given object class and the highest-ranking keyword combination, such that the given object class is mapped to the highest-ranking keyword combination.

Although not explicitly shown inFIG.12, a first keyword combination of the set of recorded keyword combinations can have been inputted into a search engine (e.g.,104), and a first object class from the set of recorded object classes and that corresponds to the first keyword combination can represent a webpage provided by the search engine in response to the first keyword combination.

Although not explicitly shown inFIG.12, the input object class can represent a product or service, and the one or more keyword combinations can describe the product or service.

Various embodiments of the invention can include a computerized tool (e.g.,102) that can electronically construct a keyword-object taxonomy (e.g.,802) by applying machine learning techniques (e.g.,302) to real-world search histories (e.g.,106and108) that are recorded/captured by real-world search engines (e.g.,104). Accordingly, the keyword-object taxonomy can be considered as capturing the semantic intent of real-world users/entities that have interacted with the real-world search engines. In various cases, the computerized tool can query and/or utilize the keyword-object taxonomy so as to identify optimal words/phrases to be included in marketing campaign content. Such a computerized tool certainly constitutes a useful and practical application of computers.

Those having ordinary skill in the art will appreciate that the herein disclosure describes non-limiting examples of various embodiments of the subject innovation. For ease of description and/or explanation, various portions of the herein disclosure utilize the term “each” when discussing various embodiments of the subject innovation. Those having ordinary skill in the art will appreciate that such usages of the term “each” are non-limiting examples. In other words, when the herein disclosure provides a description that is applied to “each” of some particular computerized object and/or component, it should be understood that this is a non-limiting example of various embodiments of the subject innovation, and it should be further understood that, in various other embodiments of the subject innovation, it can be the case that such description applies to fewer than “each” of that particular computerized object.

With reference again toFIG.13, the example environment1300for implementing various embodiments of the aspects described herein includes a computer1302, the computer1302including a processing unit1304, a system memory1306and a system bus1308. The system bus1308couples system components including, but not limited to, the system memory1306to the processing unit1304. The processing unit1304can be any of various commercially available processors. Dual microprocessors and other multi processor architectures can also be employed as the processing unit1304.

The system bus1308can be any of several types of bus structure that can further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The system memory1306includes ROM1310and RAM1312. A basic input/output system (BIOS) can be stored in a non-volatile memory such as ROM, erasable programmable read only memory (EPROM), EEPROM, which BIOS contains the basic routines that help to transfer information between elements within the computer1302, such as during startup. The RAM1312can also include a high-speed RAM such as static RAM for caching data.

The computer1302further includes an internal hard disk drive (HDD)1314(e.g., EIDE, SATA), one or more external storage devices1316(e.g., a magnetic floppy disk drive (FDD)1316, a memory stick or flash drive reader, a memory card reader, etc.) and a drive1320, e.g., such as a solid state drive, an optical disk drive, which can read or write from a disk1322, such as a CD-ROM disc, a DVD, a BD, etc. Alternatively, where a solid state drive is involved, disk1322would not be included, unless separate. While the internal HDD1314is illustrated as located within the computer1302, the internal HDD1314can also be configured for external use in a suitable chassis (not shown). Additionally, while not shown in environment1300, a solid state drive (SSD) could be used in addition to, or in place of, an HDD1314. The HDD1314, external storage device(s)1316and drive1320can be connected to the system bus1308by an HDD interface1324, an external storage interface1326and a drive interface1328, respectively. The interface1324for external drive implementations can include at least one or both of Universal Serial Bus (USB) and Institute of Electrical and Electronics Engineers (IEEE) 1394 interface technologies. Other external drive connection technologies are within contemplation of the embodiments described herein.

A number of program modules can be stored in the drives and RAM1312, including an operating system1330, one or more application programs1332, other program modules1334and program data1336. All or portions of the operating system, applications, modules, and/or data can also be cached in the RAM1312. The systems and methods described herein can be implemented utilizing various commercially available operating systems or combinations of operating systems.

Computer1302can optionally comprise emulation technologies. For example, a hypervisor (not shown) or other intermediary can emulate a hardware environment for operating system1330, and the emulated hardware can optionally be different from the hardware illustrated inFIG.13. In such an embodiment, operating system1330can comprise one virtual machine (VM) of multiple VMs hosted at computer1302. Furthermore, operating system1330can provide runtime environments, such as the Java runtime environment or the .NET framework, for applications1332. Runtime environments are consistent execution environments that allow applications1332to run on any operating system that includes the runtime environment. Similarly, operating system1330can support containers, and applications1332can be in the form of containers, which are lightweight, standalone, executable packages of software that include, e.g., code, runtime, system tools, system libraries and settings for an application.

A user can enter commands and information into the computer1302through one or more wired/wireless input devices, e.g., a keyboard1338, a touch screen1340, and a pointing device, such as a mouse1342. Other input devices (not shown) can include a microphone, an infrared (IR) remote control, a radio frequency (RF) remote control, or other remote control, a joystick, a virtual reality controller and/or virtual reality headset, a game pad, a stylus pen, an image input device, e.g., camera(s), a gesture sensor input device, a vision movement sensor input device, an emotion or facial detection device, a biometric input device, e.g., fingerprint or iris scanner, or the like. These and other input devices are often connected to the processing unit1304through an input device interface1344that can be coupled to the system bus1308, but can be connected by other interfaces, such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, a BLUETOOTH® interface, etc.

A monitor1346or other type of display device can be also connected to the system bus1308via an interface, such as a video adapter1348. In addition to the monitor1346, a computer typically includes other peripheral output devices (not shown), such as speakers, printers, etc.

The computer1302can operate in a networked environment using logical connections via wired and/or wireless communications to one or more remote computers, such as a remote computer(s)1350. The remote computer(s)1350can be a workstation, a server computer, a router, a personal computer, portable computer, microprocessor-based entertainment appliance, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer1302, although, for purposes of brevity, only a memory/storage device1352is illustrated. The logical connections depicted include wired/wireless connectivity to a local area network (LAN)1354and/or larger networks, e.g., a wide area network (WAN)1356. Such LAN and WAN networking environments are commonplace in offices and companies, and facilitate enterprise-wide computer networks, such as intranets, all of which can connect to a global communications network, e.g., the Internet.

When used in a LAN networking environment, the computer1302can be connected to the local network1354through a wired and/or wireless communication network interface or adapter1358. The adapter1358can facilitate wired or wireless communication to the LAN1354, which can also include a wireless access point (AP) disposed thereon for communicating with the adapter1358in a wireless mode.

When used in a WAN networking environment, the computer1302can include a modem1360or can be connected to a communications server on the WAN1356via other means for establishing communications over the WAN1356, such as by way of the Internet. The modem1360, which can be internal or external and a wired or wireless device, can be connected to the system bus1308via the input device interface1344. In a networked environment, program modules depicted relative to the computer1302or portions thereof, can be stored in the remote memory/storage device1352. It will be appreciated that the network connections shown are example and other means of establishing a communications link between the computers can be used.

When used in either a LAN or WAN networking environment, the computer1302can access cloud storage systems or other network-based storage systems in addition to, or in place of, external storage devices1316as described above, such as but not limited to a network virtual machine providing one or more aspects of storage or processing of information. Generally, a connection between the computer1302and a cloud storage system can be established over a LAN1354or WAN1356e.g., by the adapter1358or modem1360, respectively. Upon connecting the computer1302to an associated cloud storage system, the external storage interface1326can, with the aid of the adapter1358and/or modem1360, manage storage provided by the cloud storage system as it would other types of external storage. For instance, the external storage interface1326can be configured to provide access to cloud storage sources as if those sources were physically connected to the computer1302.

Referring now toFIG.14, illustrative cloud computing environment1400is depicted. As shown, cloud computing environment1400includes one or more cloud computing nodes1402with which local computing devices used by cloud consumers, such as, for example, personal digital assistant (PDA) or cellular telephone1404, desktop computer1406, laptop computer1408, and/or automobile computer system1410may communicate. Nodes1402may communicate with one another. They may be grouped (not shown) physically or virtually, in one or more networks, such as Private, Community, Public, or Hybrid clouds as described hereinabove, or a combination thereof. This allows cloud computing environment1400to offer infrastructure, platforms and/or software as services for which a cloud consumer does not need to maintain resources on a local computing device. It is understood that the types of computing devices1404-1410shown inFIG.14are intended to be illustrative only and that computing nodes1402and cloud computing environment1400can communicate with any type of computerized device over any type of network and/or network addressable connection (e.g., using a web browser).

Referring now toFIG.15, a set of functional abstraction layers provided by cloud computing environment1400(FIG.14) is shown. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity. It should be understood in advance that the components, layers, and functions shown inFIG.15are intended to be illustrative only and embodiments of the invention are not limited thereto. As depicted, the following layers and corresponding functions are provided.

Hardware and software layer1502includes hardware and software components. Examples of hardware components include: mainframes1504; RISC (Reduced Instruction Set Computer) architecture based servers1506; servers1508; blade servers1510; storage devices1512; and networks and networking components1514. In some embodiments, software components include network application server software1516and database software1518.

Virtualization layer1520provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers1522; virtual storage1524; virtual networks1526, including virtual private networks; virtual applications and operating systems1528; and virtual clients1530.

In one example, management layer1532may provide the functions described below. Resource provisioning1534provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering and Pricing1536provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. User portal1538provides access to the cloud computing environment for consumers and system administrators. Service level management1540provides cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning and fulfillment1542provide pre-arrangement for, and procurement of, cloud computing resources for which a future requirement is anticipated in accordance with an SLA.

Workloads layer1544provides examples of functionality for which the cloud computing environment may be utilized. Examples of workloads and functions which may be provided from this layer include: mapping and navigation1546; software development and lifecycle management1548; virtual classroom education delivery1550; data analytics processing1552; transaction processing1554; and differentially private federated learning processing1556. Various embodiments of the present invention can utilize the cloud computing environment described with reference toFIGS.14and15to execute one or more differentially private federated learning process in accordance with various embodiments described herein.