Method and apparatus for generating custom content in response to received search queries - Patents.com

The system addresses the challenge of integrating third-party content with search results by using a content change engine and lightweight machine learning to dynamically generate custom content, ensuring relevance and efficiency in response to user queries.

JP2025503622AActive Publication Date: 2025-02-04GOOGLE LLC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024540966
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-05-26
Publication Date
2025-02-04
Estimated Expiration
2042-05-26

AI Technical Summary

Technical Problem

Existing search engines struggle to accurately and efficiently integrate third-party content with search results, particularly for small and medium-sized enterprises lacking resources to generate relevant content dynamically in response to user queries.

Method used

A system utilizing a content change engine and lightweight machine learning model to analyze search queries, third-party content, and landing pages to generate custom content in real-time, enhancing relevance and reducing computational overhead.

Benefits of technology

The system efficiently generates custom content that is highly relevant to user queries, reducing processing delays and resource requirements while improving user engagement with search results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025503622000001_ABST
    Figure 2025503622000001_ABST
Patent Text Reader

Abstract

The present disclosure provides an example method for generating custom content responsive to a received search query includes receiving a search query from a user computing device via a communications interface, the search query including one or more search terms; determining a set of search results relevant to the search query in response to the search query; identifying third party content and / or third parties relevant to the search query in response to the search query; generating custom content related to the search query and associated with the third party content or third parties based on (i) the search query and (ii) the third party content or third parties, for presentation with the set of search results, and transmitting the custom content to the user computing device via the communications interface.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] FIELD OF THE DISCLOSURE This disclosure relates generally to search queries, and more particularly, to methods and apparatus for generating custom content responsive to received search queries. [Background technology]

[0002] In response to a received search query received from a user computing device, the search engine can identify one or more search results (e.g., websites) that are relevant to the search query and return the search results to the user computing device, which can present the search results to the user.

[0003] In some cases, the systems on which search engines operate may be able to provide additional content in addition to search results. For example, when third-party content is relevant to a search result, a third party may generate specific content that the system displays alongside the search results. In this case, the system needs to accurately and efficiently match the third-party content to the search results. Summary of the Invention

[0004] Generally speaking, the system of the present disclosure can automatically modify third-party content that is comprised of certain terms, e.g., by replacing, adding, or removing portions of those terms, in order to present search results in response to a search query. To this end, the system can apply signals such as terms of the search query, terms associated with the content provider's landing page (or a particular section of the landing page), various contextual signals, etc. Additionally, the system can in some cases synthesize content rather than modify it for presentation on behalf of the third party.

[0005] In an example embodiment, a method for generating custom content responsive to a received search query includes receiving a search query from a user computing device via a communications interface, the search query including one or more search terms; determining, using one or more processors, a set of search results relevant to the search query in response to the search query; identifying, using the one or more processors, third party content and / or third parties relevant to the search query in response to the search query; generating, using the one or more processors, custom content related to the search query and associated with the third party content or third parties based on (i) the search query and (ii) the third party content or third parties, for presentation with the set of search results, and transmitting the custom content to the user computing device via the communications interface.

[0006] In another example implementation, an apparatus includes a network interface configured to receive a search query from a user computing device, the search query including one or more search terms, one or more processors, and one or more non-transitory computer-readable storage media storing computer-readable instructions that, when executed by the one or more processors, cause the apparatus to: determine a set of search results relevant to the search query in response to the search query, identify third party content and / or third parties relevant to the search query in response to the search query, generate custom content related to the search query and associated with the third party content or third parties based on (i) the search query and (ii) the third party content or third parties, for presentation with the set of search results, and transmit the custom content to the user computing device via the network interface.

[0007] In yet another exemplary embodiment, an apparatus includes a network interface configured to receive a search query including one or more search terms from a user computing device, a search engine, and a content modification engine. The search engine is configured to determine a set of search results relevant to the search query in response to the search query, and to identify third party content and / or a third party relevant to the search query in response to the search query. The content modification engine is configured to generate, based on (i) the search query and (ii) the third party content or third party, custom content related to the search query and related to a landing page associated with the third party content or third party for presentation with the set of search results. The network interface is further configured to transmit the custom content to the user computing device.

[0008] The accompanying drawings, in which like reference numbers refer to identical or functionally similar elements throughout the individual views, and together with the following detailed description, are incorporated in and form a part of this disclosure and serve to further illustrate embodiments of the concepts comprising the claimed invention and to explain various principles and advantages of those embodiments. [Brief description of the drawings]

[0009] [Figure 1A] 1 is a block diagram illustrating an example dynamic generation of content according to techniques of this disclosure. [Figure 1B] FIG. 1 is a block diagram of an example system in which techniques or methods for dynamically generating custom content in response to a received search query may be implemented, according to an embodiment. [Diagram 2] FIG. 1 is a block diagram of an example machine learning model for dynamically generating custom content, according to an embodiment. [Diagram 3]2 is a flowchart of an example method for generating custom content responsive to a received search query that may be implemented by the system of FIG. 1, according to an embodiment. [Figure 4] FIG. 1 is a block diagram of an example computing system for implementing the example methods and / or operations disclosed herein, according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] The components of the apparatus and methods have been represented in the drawings with conventional symbols, where appropriate, and only those specific details that are important for understanding the embodiments are shown, so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.

[0011] As described in more detail below, in response to a search query received from a user of a user computing device, the search engine may identify and select third-party content based on relevance to the search query, dynamically modify the third-party content, and return the selected third-party content (in the form of text, multimedia, links to text or multimedia, etc.) to the user computing device for presentation to the user along with other search results. Examples of third-party content include advertisements, search advertisements (such as advertisements selected and returned in response to a received search query), shopping advertisements, advertisements displayed or served within an application, and advertisements targeted to sites, content, or advertisers.

[0012] The term "third party" is used herein to distinguish between a party (e.g., a coffee seller, an advertiser, a business providing professional services, etc.) and a person using a user computing device to issue a search query (e.g., searching for or buying coffee, searching for a service, etc.). The term "third party" is also used herein to distinguish between other related parties or entities that provide search results and / or custom content in response to a received search query. For clarity of explanation, the term "third party content" is used herein to refer to any content (e.g., advertisements) provided by or on behalf of a third party, e.g., content that may be returned by a search engine in response to a search query. Third party content is content that exists prior to receiving a search query. Furthermore, for clarity of explanation, the term "landing page content" is used herein to refer to any content of any landing page(s) associated with a third party. In various examples, the third party content may include a link to a third party's landing page associated with the third party content. Furthermore, for clarity of explanation, the term "custom content" is used herein to refer to content that is dynamically generated in response to a search query. That is, custom content is content that is generated based on a search query when a search query is received. As described herein, custom content refers to (i) third-party content, as described herein, that has been modified in some way in response to a received search query, or (ii) new content, as described herein, that is generated in response to a received search query and based on landing page content, etc. Although custom content may include or represent third-party content, it is referred to herein as custom content to more clearly distinguish it from any third-party content that existed prior to receiving a search query.

[0013] Third parties, or other parties acting on their behalf, may generate or create Third Party Content based on (i) the items, services, information, etc. that they sell, offer, or otherwise provide, and (ii) potential search queries of potential customers or clients that may be relevant to the Third Party Offerings. Currently, Third Party Content is created or generated offline and is not generated in response to received search queries. In some cases, such as small-to-medium sized businesses (SMBs), there may be limited personnel or access to technology to generate or create Third Party Content.

[0014] Referring to FIG. 1A, a search query 102 includes one or more words W1, W2, . . . W N The techniques of this disclosure may generally be applied to individual words, phrases made up of multiple individual words, or any other suitable type of semantic unit, although for simplicity the following examples refer primarily to standalone words such as "dark" or "chocolate." The operation of a sequence of words using the tokenization technique is described in more detail with reference to FIG. 2.

[0015] The search query 102 may be related to third-party content 104A, which may also include one or more words C1, C2, ... M The third-party content 104A may include or be associated with a search engine 122. The third-party content 104A may be, for example, an advertisement that links to the landing page 106 via a uniform resource locator (URL) or another suitable identifier, or a text component of a multimedia advertisement. A party (e.g., a vendor) that controls the landing page 106 may generate the content 104A and provide the content 104A to a system 120 implementing a search engine 122 for display via a client device along with the results 124 of the search query 102.

[0016] In some scenarios, a party associated with the landing page 106 may include one or more words C1, C2, ... M , or various combinations of these words as “building blocks” from which the third-party content 104A may be created offline, prior to or automatically independent of the search query 102. In some examples, a human operator, such as a vendor associated with the landing page 106, may manually approve or reject such automatically generated content 104A. In either case, the system 120 may generate a set of automatically generated content 104A based on the words {C1, C2, …C M}.

[0017] The system 120 applies various models to determine {W1, W2, ... W N} or {C1, C2, … C M} may be quantitatively evaluated to determine that the third-party content 104A is relevant to the search query 102. However, the user who issued the search query 102 may not be aware that the third-party content 104A is relevant to the search query 102. It may not be technically or economically feasible for the parties associated with the landing page 106 to generate numerous variations of the content 104A for every possible search query that every potential user may issue.

[0018] For example, an advertiser selling various types of gourmet chocolates may describe the content 104A in a text portion using the phrase “gourmet chocolate” (C1=“gourmet” and C2=“chocolate”). However, a user may more specifically search for “dark gourmet chocolate” (W1=“dark”, “W2=“gourmet” and W3=“chocolate”). Because the third-party content 104A only mentions gourmet chocolates and does not specifically mention dark gourmet chocolates, the person may not recognize the relevance of the third-party content 104A and may choose not to navigate to the landing page 106, even though the party associated with the landing page 106 does in fact sell dark gourmet chocolates. As described in more detail below, the system 120 dynamically generates the custom content 124 and provides the custom content 124 along with the search results 124 to the client device that issued the search query 102.

[0019] In this example scenario, the custom content 124 is based on the third-party content 104A, but now with the word C1 replaced with the word C'1. Also, the system 120 in this example extracts the word C from the third-party content 104A. M is omitted. More generally, the system 120 can add, replace, modify any suitable number, including possibly all, of words, change the grammatical form of one or more words, rearrange words in a sentence, etc. In some implementations, the content modification engine 130 can be configured with a relatively small set of operands, such as add, replace, delete, etc.

[0020] As a more specific example, the search service 122 receives the search query "dark gourmet chocolate" and, in addition to a set of search results, identifies the following third-party content (in this case advertisements) as potentially relevant to the search query:

[0021] [Table 1]

[0022] The content modification engine 130 can generate custom content in the form of other advertisements such as:

[0023] [Table 2]

[0024] Thus, in this scenario, the content modification engine 130 automatically inserts the word "dark" to make the custom content more directly relevant to the received search query "gourmet dark chocolate."

[0025] In at least some embodiments, the system 120 employs a content modification engine 130 that trains and applies a “lightweight” machine learning (ML) model 132. The ML model 132 can output custom content 124 based on input signals, such as the search query 102, third-party content 104A (that the search engine 122 or another suitable component of the system 102 has identified as relevant to the search query 102), landing pages 106, etc. In some embodiments, the signals may also include one or more of a user's preferences, the user's current location, past transactions associated with the user, etc.

[0026] In some cases, the content modification engine 130 takes into account the location of words on the landing page 106 to generate input vectors for the ML model 132. More specifically, the content modification engine 130 may assign one weight to words in the title 140, another lower weight to words used in the summary section, and an even lower weight to words used in the body of the landing page 106. In general, the content modification engine 130 may use any suitable weighting scheme with any suitable topology of the landing page.

[0027] In some implementations, the content modification engine 130 generates custom content 124 that is not based on third-party content 104. Rather, the content modification engine 130 can generate content using signals such as terms in the search query 102 or words contained in the landing page 106, effectively generating new content on behalf of third parties. The content modification engine 130 can store a set of templates for generating such content (e.g., " <address1>Purchased at <term1>), or the ML model 132 may generate these templates based on inputs such as other available third-party content on the same landing page, or content submitted by the same third party to other websites (in the above example, the third party may operate a website that distributes chocolate and another website that distributes coffee, and the exemplary chocolate-related advertisement above may serve as the basis for generating new coffee-related content on other corresponding websites).

[0028] In at least some of these implementations, the content modification engine 130 may require manual confirmation from a third party in order to deploy the automatically generated custom content.

[0029] In various implementations, the system 102 may utilize the content modification engine 130 at various stages of selecting third-party content to display with search results. The system 102 may first select third-party content in the form of potentially relevant advertisements based on the search query 102. The system 102 then scores these potentially relevant advertisements using various signals (which may relate to preferences, geography, historical data, etc.), ranks the potentially relevant advertisements based on the generated scores, and determines a relatively small subset to display via the client device that originated the search query 102. In one example implementation, the system 102 utilizes the content modification engine 130 before scoring and after selecting the potentially relevant advertisements. In this case, the content modification engine 130 may affect the scoring. In another implementation, the system 102 utilizes the content modification engine 130 after scoring, and thus the content modification engine 130 does not affect the scoring. More generally, the content modification engine 130 may operate at any stage of the third-party content selection process, whether or not it affects the scoring.

[0030] While the system 102 can generate a relatively large amount of custom content similar to the content 124 offline for a large number of possible search queries, this would require a large amount of storage space and a significant amount of computational resources depending on the number of possible combinations. Furthermore, this approach would then require the system 102 to consider and score a much larger number of potentially relevant ads in real time, resulting in longer processing times.

[0031] 2-4, the content modification engine 130 operates in near real-time. In other words, the content modification engine 130 may generate the custom content "on the fly" between the initial time that a search query is received and a second time that the user and / or user computing device would reasonably or normally expect to receive search results related to the search query. For example, the content modification engine 130 may generate the custom content 124 within tens of microseconds, or in any event with low latency.

[0032] Furthermore, the system 120 can utilize complex ML models (e.g., models having 200 million or more parameters), which generally operate relatively slowly and require significant processing and memory resources. In one embodiment, the lightweight ML models 132 are orders of magnitude less complex (e.g., only 300,000 to 3 million parameters, or even lower) and orders of magnitude faster (e.g., returning custom content within tens of microseconds). Thus, the lightweight ML models 132 are technically easier to implement and suitable to operate in conjunction with the low-latency search server 122. Thus, the techniques of the present disclosure enable the system to efficiently and accurately provide third-party content in response to electronically received search queries without introducing excessive delays and / or using excessive computing resources.

[0033] Reference will now be made in more detail to non-limiting embodiments, some of which are illustrated in the accompanying drawings.

[0034] 1B illustrates an example of a computing environment 150 in which the system 120 of FIG. 1A can be implemented. The example system 120 includes one or more servers 160 configured to implement the search engine 122 and the content modification engine 130 described above. When implemented as multiple units, the servers 160 can be geographically distributed in any suitable manner. The client device 162 from which the search query 102 originates can be, for example, a laptop, notebook, mobile device, smartphone, tablet, desktop computer, Chromebook™ computer or notebook, augmented reality (AR) device, virtual reality (VR) device, mixed reality (MR) device, smart glasses, a server, or any other user computing device.

[0035] The one or more servers 160 may access an index database 172 to obtain search results for a search query (e.g., results 124 in response to search query 102) and may access a third party content database 174 to obtain third party content, such as content 104. Each database 172 may be implemented on one or more devices with one or more processors and a computer-readable non-transitory storage medium. Examples of third party content that may be stored in database 174 include search ads (e.g., ads selected and returned in response to a received search query), display ads, shopping ads, ads presented or served within an application, or ads targeted to a site, content, or advertiser. The third party content may be created using any number and / or type(s) of methods, tools, interfaces, etc., and may be stored using any number and / or type(s) of data structures, using any number and / or type(s) of databases, storage media, etc.

[0036] As a more specific example, a third party may be a seller of handmade soap, and third party content database 174 may store advertisements for lavender soap, and possibly advertisements for other types of soap, that include links (e.g., URLs) to the third party's websites where a person can purchase the lavender soap. In operation, content modification engine 130 may access landing pages of websites and automatically identify keywords, such as, for example, words contained in the title or about section of the landing page (delimited by corresponding div tags).

[0037] The server(s) 104 may include any number(s) and / or type(s) of physical server computers and / or virtual cloud-based servers operable as a server farm, and may include one or more processors, one or more computer memories, and software or computer instructions for generating custom content responsive to received search queries. The software or computer instructions may include one or more modules, programs, or portions of programs for implementing the search engine(s) 106 and / or the content modification engine(s) 108. Alternatively, the search engine(s) 106 and / or the content modification engine(s) 108 may be implemented by software or computer instructions executed by the respective servers. An exemplary processing platform 400 that may be used to implement the server(s) 104 is described below in connection with FIG. 4.

[0038] A user computing device (e.g., laptop 110) may include any number and / or type(s) of input devices that a user can use to input and submit or issue a search query. For example, a user may use the input device(s) to input one or more search terms of a search query into a search interface provided or presented to the user by the user computing device. The search interface may be, for example, part of a website or web browser that is presented or displayed by the user computing device using any number and / or type(s) of output devices. A search query may include any number and / or type of search terms or phrases thereof. Exemplary input devices include a virtual keyboard, a physical keyboard, a mouse or other pointing device, and a microphone. For example, a user may input or speak search terms. The user computing device may use the output device(s) to present, provide, or display returned search results, third-party content, and / or custom content to the user. Exemplary output devices include a display or a speaker. For example, the search results, third-party content, and / or custom content can be displayed as text on a display or output from a speaker using text-to-speech translation. The example processing platform 400 of FIG. 4 may also be used to implement a user computing device, such as the laptop 110 .

[0039] In the depicted example, server(s) 104, user computing devices (e.g., laptop 110), and server(s) 114 are communicatively coupled or connected, directly or indirectly, via any number and / or type(s) of public and / or private computer network(s) 120, such as the Internet. In some cases, server(s) 104, user computing devices, and / or server(s) 114 are communicatively coupled to network(s) 120 via any number and / or type(s) of wired or wireless access networks (not shown for clarity of the figure). For example, server(s) 104, user computing devices, and / or server(s) 114 can be communicatively coupled to network(s) 120 via any number and / or type(s) of WiFi or cellular base stations. The exemplary cellular base station is implemented according to any number and / or type(s) of communication standards, including Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Universal Mobile Telecommunications System (UMTS), Long Term Evolution (LTE), 3G, 4G, or 5G. The exemplary WiFi base station is implemented according to the Institution of Electrical and Electronics Engineers (IEEE) 802.11x family of standards. Additionally and / or alternatively, the server(s) 104, user computing devices, and / or server(s) 114 can be communicatively coupled to the network(s) 120 via any number and / or type(s) of wired interfaces, such as an Ethernet interface, or a wired broadband Internet access interface. However, the server(s) 104, the user computing devices, and / or the server(s) 114 may be communicatively coupled in any other manner, including via any type(s) of input / output interface, such as a Universal Serial Bus (USB) interface, a Near Field Communication (NFC) interface, or a Bluetooth® interface.

[0040] Databases 112, 116, and 118 may be stored on any number and / or type(s) of non-transitory computer-readable or machine-readable storage media using any number and / or type(s) of records, entries, data structures, etc. Exemplary storage media include hard disk drives (HDDs), solid state drives (SSDs), flash drives, compact discs (CDs), digital multimedia discs (DVDs), Blu-ray discs, caches, flash memory, read-only memory (ROM), random access memory (RAM), or any other storage device or storage disk associated with a processor capable of storing information for any period of time (e.g., extended periods of time, persistent, short-term, temporary buffering, and / or caching).

[0041] 2 is a block diagram of an example ML model 200 that can be used to implement the lightweight ML model 132 and / or the content modification engine 130 of FIGS. 1A and 1B. In the illustrated example, the ML model 200 is a sequence-to-sequence ML model whose inputs 202 include (i) the terms of a search query 204 (e.g., words q1...q n ), and (ii) content 206 (e.g., words d1...d in third-party content and / or landing page content). m or one or more aspects thereof), the output of which is custom content 208 generated in response to receiving a search query (e.g., words z1...z k ) The ML model 200 typically converts a first input sequence of words of the content 206 into a second output sequence of words of the custom content 208. The first and second sequences are not necessarily the same length. Depending on the input 202 and / or the training of the ML model 200, the generated custom content 208 may be the same as the content 206 or may be different. For example, there may be no difference if the system 120 determines that the third-party content is a good match for the search query. In some embodiments, the ML model 200 determines whether to use or return the custom content 208 based on, for example, natural language processing (NLP), determining readability, completeness, relevance to the search query, whether the content contains words or phrases not found in the third-party content and / or the landing page content, etc.

[0042] In some implementations, the ML model 200 is not limited to including at least a portion of the third-party content, and the ML model 200 may modify the entire third-party content, may modify a substantial portion of the third-party content, and / or may generate new custom content 208. In some implementations, if the third-party content is not provided or is unavailable as input 206 to the ML model 200, the ML model 200 may generate new custom content 208 based on the query 204 and the landing page content of the content 206. In some implementations, the ML model 200 may be constrained to limit modifications to the third-party content to inserting, deleting, or substituting words.

[0043] The exemplary ML model 200 includes an exemplary Transformer Encoder 210 configured and trained to map an input 202 to a sequence of representations or tokens 212 that are sent to an exemplary Transformer Decoder 214 configured and trained to generate custom content 208 based on the sequence of tokens 212.

[0044] The example encoder 210 is configured and trained to tokenize input words 202 into tokens 212 including words, parts of words, etc. The encoder 210 can tokenize based on a sub-word vocabulary (e.g., using a word part or sentence part tokenizer), a word vocabulary, a character vocabulary, and / or a byte vocabulary.

[0045] The example decoder 214 is configured and trained to, for example, use a pointing mechanism (such as a pointer network) to select and output tokens from the tokens 212 to create the custom content 208. The decoder 214 continues to create the custom content 208 until, for example, a special end symbol is generated. The special end symbol may be generated, for example, based on detecting that the custom content 208 output so far represents a complete sentence or that some other condition is met.

[0046] In some implementations, the decoder 214 is configured to select tokens only from the creative vocabulary 216 associated with the content 206, i.e., the third-party content and / or the landing page content. Thus, the possibility of so-called machine-generated hallucinations, which are machine-generated content not present in the content 206, is reduced. However, in some implementations, the creative vocabulary 216 is expanded to also include tokens that are always considered safe (such as determiners, antecedents, prepositions, punctuation, etc.). Alternatively, the decoder 214 may select any of the tokens 212, and the ML model 200 may discard any generated custom content 208, including content other than the third-party content and / or the landing page content. However, in some implementations, the decoder 214 may not limit the creative vocabulary 216 to the third-party content and / or the landing page content, by training the decoder 214 to reduce the risk of hallucinations. In some implementations, so-called cross-attention is implemented. The decoder 214 in this case may be autoregressive, predicting one token at a time while taking into account previously predicted tokens, and may predict future tokens or words. Additionally and / or alternatively, the decoder 214 may be non-autoregressive and capable of predicting tokens simultaneously, possibly in multiple stages where the output at each stage is an improvement over the previous stage.

[0047] The decoder 214 may incrementally edit the third-party content (e.g., delete, then insert, then reorder, etc.). However, as described above with reference to Figure 1A, the operation of the decoder 214 need not be limited to editing the third-party content. Instead, the decoder 214 may generate custom content 208 that does not overlap with any third-party content.

[0048] In some implementations, the encoder 210 and the decoder 214, or more generally the ML model 200, do not implement recursion or convolution to generate their respective outputs 212, 208. The ML model 200 may be or may further include a classification model configured and trained to determine whether to insert, replace, remove, etc., words of existing third-party content to generate custom content. Other ML models and / or architectures that may be used to implement or included in the ML model 200 as well include, but are not limited to, recurrent neural networks (RNNs), long short-term memory (LSTM) models, convolutional neural networks (CNNs), hybrid architectures (e.g., a transformer encoder with an RNN decoder), and / or non-autoregressive transformers (e.g., outputting tokens all at once).

[0049] The ML model training module, comprised of machine-readable and machine-executable instructions, can be used to configure, parameterize, initialize, and / or train the ML model 200, and can be stored as machine-readable instructions on a HDD, SSD, flash drive, CD, DVD, Blu-ray disc, cache, flash memory, ROM, RAM, or any other storage device or disk that can be associated with one or more processors (such as processor 402 of FIG. 4), where information can be stored for any period of time (such as an extended period of time, permanently, for a short period of time, temporary buffering, and / or caching), and can be coupled to one or more processors to provide access to the machine-readable instructions stored therein. The machine-readable instructions can be executed by one or more processors (e.g., processor 402) to implement the ML model 300.

[0050] 3 is a flow chart of an example method 300, hardware logic, machine-readable instructions, or software, for generating custom content in response to a received search query, as disclosed herein. Any or all of the blocks in FIG. 3 may be an executable program or portion(s) embodied in software and / or machine-readable instructions stored in a non-transitory machine-readable storage medium executed by one or more processors, such as processor 402 in FIG. 4. Additionally and / or alternatively, any or all of the blocks in FIG. 3 may be implemented by one or more hardware circuits configured to perform the corresponding operation(s) without executing software or instructions.

[0051] The method 300 begins at block 302 when a search query 304 is received from a user computing device (e.g., laptop 110). The search engine 106 determines a set of one or more search results that are relevant to the search query (block 304), as described above in connection with FIGURE 1A, and identifies and selects third party content 308 and / or one or more third parties 310 based on their relevance to the search query (block 312).

[0052] The content modification engine 108 generates custom content associated with the search query 304 (block 314), as described above in connection with FIGS. 1A-2. For example, the content modification engine 108 can generate the custom content by modifying some or all of the third-party content 308. Additionally and / or alternatively, the content modification engine 108 can generate new custom content for the third party 310. The content modification engine 108 can generate the custom content based on one or more of the following: (i) one or more search terms of the search query 304, (ii) the third-party content 308, (iii) one or more aspects of the landing page content 316, and / or (iv) additional inputs 318, such as user characteristics, third-party metadata, etc.

[0053] The search engine 106 returns (e.g., transmits) the search results, the third-party content, and / or the custom content to the user computing device (block 320). In some examples, the search engine 106 selects and returns custom content from the custom content generated by the content modification engine 108 based on relevance to the search query 304.

[0054] 4 is a block diagram of an example processing platform 400 that may implement, for example, one or more components, or all, of the example search engine(s) 106, content modification engine(s) 108, ML model 200, and / or more generally server(s) 104 of FIGS. 1A-2. The processing platform 400 may also be used to implement a user computing device, such as laptop 110. The example processing platform 400 may execute machine-readable instructions for implementing operations, logic, techniques, etc., of the example methods described herein, for example, as may be represented by the flowcharts of any of the drawings accompanying this specification.

[0055] 4 includes a processor 402, such as, for example, one or more microprocessors, controllers, and / or any suitable type of processor. Example processors include one or more programmable processors, one or more microprocessors, one or more controllers, one or more graphics processing units (GPUs), one or more digital signal processors (DSPs), one or more microcontroller units (MCUs), one or more hardware accelerators, one or more special purpose computer chips, and one or more system-on-a-chip (SoC) devices.

[0056] The example processing platform 400 of FIG. 4 includes memory (e.g., volatile memory, non-volatile memory, ROM, RAM, flash memory, cache, etc.) 404 accessible (e.g., via a memory controller) by a processor 402. The example processor 402 interacts with the memory 404 to obtain machine-readable instructions, etc. stored in the memory 404, corresponding to the operations, logic, techniques, etc. disclosed herein and / or represented by the flowcharts of the present disclosure. Additionally or alternatively, machine-readable instructions corresponding to the example operations, logic, techniques, etc. described herein may be stored on a HDD, SSD, flash drive, CD, DVD, Blu-ray disc, or any other storage device or disc that may be associated with the processor 402, where information may be stored for any period of time (e.g., extended period of time, permanently, short-term, temporary buffering, and / or cached), and coupled to the processing platform 400 to provide access to the machine-readable instructions stored therein.

[0057] Additionally and / or alternatively, the operations, logic, techniques, etc. disclosed herein may be implemented by one or more logic circuits, such as field programmable gate arrays (FPGAs) or application specific integrated circuits (ASICs), without executing software.

[0058] The example processing platform 400 of Figure 4 includes one or more communications interfaces, such as, for example, one or more network interfaces 406 and / or one or more input / output (I / O) interfaces 408. The communications interface(s) may enable the processing platform 400 of Figure 4 to communicate with, for example, another device, system, server, etc. (e.g., to receive search queries from a user computing device and / or send search results, third party content, and custom content to a user computing device), a data store, a database, and / or any other machine.

[0059] The example processing platform 400 of FIG. 4 includes network interface(s) 406 that enable communication with other machines (e.g., receiving search queries from user computing devices and / or transmitting search results, third party content, and custom content to user computing devices) over one or more networks, such as, for example, network(s) 120. The example network interface 406 includes any suitable type of communication interface(s) (e.g., wired and / or wireless interfaces) configured to operate according to any suitable communication protocol(s). The example network interface 406 includes a TCP / IP interface, a WiFi™ transceiver (e.g., compliant with the IEEE 802.11x family of standards), an Ethernet transceiver, a cellular network radio, a satellite network radio, or any other suitable interface based on any other suitable communication protocol or standard.

[0060] The example processing platform 400 of FIG. 4 includes input / output (I / O) interface(s) 408 (e.g., a Bluetooth® interface, a Near Field Communication (NFC) interface, a Universal Serial Bus (USB) interface, a serial interface, an infrared interface, etc.) that enables receipt of user input (e.g., a touchscreen, keyboard, mouse, touchpad, joystick, trackball, microphone, buttons, etc.) and communication of output data (e.g., search results, third party content, custom content, etc.) to a user (e.g., via a display, speaker, printer, etc.).

[0061] The above description makes reference to block diagrams in the accompanying drawings. Alternative implementations of the examples represented by the block diagrams include one or more additional and / or alternative elements, processes, and / or devices. Additionally and / or alternatively, one or more of the illustrative blocks in the diagrams may be combined, divided, rearranged, and / or omitted. The components represented by the blocks in the diagrams may be implemented by hardware, software, firmware, and / or any combination of hardware, software, and / or firmware.

[0062] Although the foregoing detailed description sets forth many different aspects, examples, and embodiments of the disclosure, it should be understood that the scope of the patent is defined by the language of the claims set forth at the end of this patent. The detailed description should be construed as illustrative only and does not describe all possible embodiments, since describing all possible embodiments would be impractical, if not impossible. In the detailed description set forth above, it can be understood that various features have been grouped together into various embodiments for the purpose of streamlining the disclosure. This method of disclosure should not be interpreted as reflecting an intention that the claims require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter may reside in less than all features of a single disclosed embodiment. As such, the following claims are hereby incorporated into the detailed description, with each claim standing on its own as a separate claimed subject matter. Using current technology, or technology developed after the filing date of this patent, numerous alternative embodiments can be implemented that still fall within the scope of the claims. The disclosure herein contemplates at least the following examples.

[0063] Throughout this disclosure, multiple examples may implement a component, operation, or structure described as a singular example. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed simultaneously, and nothing requires that the operations be performed in the order illustrated. Structures and functionality depicted as separate components in the exemplary embodiments may be implemented as combined structures or components. Similarly, structures and functionality depicted as a single component may be implemented as separate components. For example, a process, method, article, or apparatus that includes a list of elements is not necessarily limited to only those elements, and may include other elements not expressly listed or inherent in such process, method, article, or apparatus. These and other variations, modifications, additions, and improvements are within the scope of the subject matter of this disclosure.

[0064] Unless expressly stated to the contrary, "or" refers to an inclusive "or" and not an exclusive "or." For example, "A, B, or C" refers to any combination or subset of A, B, and C, such as (1) A only, (2) B only, (3) C only, (4) A and B, (5) A and C, (6) B and C, and (7) A, B, and C. As used herein, the phrase "at least one of A and B" is intended to refer to any combination or subset of A and B, such as (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. Similarly, the phrase "at least one of A or B" is intended to refer to any combination or subset of A and B, such as (1) at least one A, (2) at least one B, and (3) at least one A and at least one B.

[0065] The use of "a" or "an" is employed to describe elements and components of the embodiments described herein. This is done merely for convenience and to give a general gist of the description. This description, and the claims that follow, should be read to include one or at least one, and the singular includes the plural unless it is clear that otherwise is meant.

[0066] As used herein, the term "coupled" is defined as connected, although not necessarily directly, and not necessarily mechanically. A device or structure that is "configured" in a particular way is at least configured in that way, but may also be configured in ways not listed.

[0067] Unless specifically stated otherwise, discussions in this disclosure using words such as "processing," "computing," "calculating," "determining," "representing," "displaying," "selecting," "identifying," and the like may refer to machine (e.g., computer) acts or processes that operate on or transform data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more of memory (e.g., volatile memory, non-volatile memory, or combinations thereof), registers, or other machine components that receive, store, transmit, or display information.

[0068] As used herein, each of the terms "tangible machine-readable medium", "non-transitory machine-readable medium", "machine-readable medium" or variations thereof is expressly defined as a storage medium (e.g., a platter of a hard disk drive, a digital versatile disk, a compact disk, a flash memory, a read-only memory, a random access memory, etc.) on which machine-readable instructions (e.g., program code in the form of software and / or firmware) are stored for any suitable period of time (e.g., permanently, for an extended period of time (e.g., while executing a program associated with the machine-readable instructions), and / or for a short period of time (e.g., while the machine-readable instructions are cached and / or during a buffering process)). Furthermore, as used herein, the terms "tangible machine-readable medium", "non-transitory machine-readable medium", "machine-readable medium" or variations thereof are expressly defined to exclude propagating signals. That is, when used in any claim of this patent, the terms "tangible machine-readable medium", "non-transitory machine-readable medium", "machine-readable medium" or variations thereof cannot be read as being implemented by a propagating signal.

[0069] As used in this disclosure, the terms "substantially," "essentially," "approximately," "about," "approximately," or any other variation thereof, are defined as close to the degree that would be understood by a person of ordinary skill in the art, and in one non-limiting embodiment, the term is defined as within 10%, within 5%, within 1%, and within 0.5%.

[0070] As used in this disclosure, any reference to "one embodiment," "embodiment," "one aspect," "aspect," or the like means that a particular element, feature, structure, or characteristic described in connection with an embodiment, example, or the like is included in at least one embodiment, example, etc. The appearances of the phrases "one embodiment," "some embodiments," "one aspect," "aspect," and the like in various places in this specification do not necessarily all refer to the same embodiment or embodiments.

[0071] The Abstract is provided to enable the reader to quickly grasp the nature of the technology of the disclosure, and is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.

[0072] Benefits, advantages, and solutions to problems, as well as any element or elements that may cause or make more pronounced any benefit, advantage, or solution, are not to be construed as a critical, necessary, or essential feature or element of any or all of the claims.

[0073] Unless a claim element is defined by reciting the words "means" and function without reciting any structure, it is not intended that the scope of any claim element be construed under application of 35 USC § 112(f).

[0074] After reading this disclosure, those skilled in the art will appreciate further alternative structural and functional designs for facilitating indoor navigation through the principles disclosed in this disclosure. Thus, although specific implementations and applications have been illustrated and described, it should be understood that the disclosed implementations are not limited to the precise structure and components disclosed in this disclosure. Various modifications, changes and variations apparent to those skilled in the art may be made in the arrangement, operation and details of the methods and apparatus disclosed in this disclosure without departing from the spirit and scope of the appended claims.

[0075] Although certain example methods, apparatus, systems, and articles of manufacture are disclosed herein, the scope of coverage of this patent is not limited thereto. Rather, this patent covers all methods, apparatus, systems, and articles of manufacture fairly falling within the scope of the claims.

Claims

1. 1. A method for generating custom content responsive to a received search query, comprising: receiving a search query from a user computing device via a communications interface, the search query including one or more search terms; determining, using one or more processors, in response to the search query, a set of search results related to the search query; using one or more processors, in response to the search query, to identify third party content and / or third parties that are relevant to the search query; generating, using one or more processors, custom content related to the search query and related to a landing page associated with the third-party content or the third party based on (i) the search query and (ii) the third-party content or the third party, for presentation with the set of search results; and transmitting the custom content to the user computing device via the communications interface; A method comprising:

2. generating the custom content, forming an input vector that includes (i) one or more search terms of the search query, and (ii) at least a portion of the third-party content and / or information related to the third party; and processing the input vector using one or more configured and trained machine learning models to determine the custom content; The method of claim 1 , comprising:

3. The method of claim 2 , wherein the input vector further comprises one or more aspects of the landing page.

4. The method of claim 2 , wherein the input vector further comprises one or more user characteristics.

5. generating the custom content, The method of claim 1 , further comprising generating all of the custom content in response to the search query.

6. generating the custom content, determining one or more modifications to the third-party content based on one or more search terms of the search query and at least a portion of the third-party content; and modifying the third-party content based on the one or more modifications to form the custom content; The method of any one of claims 1 to 5, comprising:

7. Determining the one or more modifications includes: forming an input vector that includes the one or more search terms of the search query and the at least a portion of the third-party content; and processing the input vector using one or more constructed and trained machine learning models to determine the one or more modifications; The method of claim 6, comprising:

8. The method of claim 7 , wherein the input vector further comprises one or more aspects of the landing page and / or one or more user characteristics.

9. 7. The method of claim 6, wherein the one or more modifications include at least one of an inserted word, an inserted phrase, a deleted word, a deleted phrase, a replaced word, a replaced phrase, a changed word, or a changed phrase.

10. The method of claim 6 , wherein the one or more modifications include rewriting one or more portions of the identified third-party content.

11. transmitting the set of search results to the user computing device via the communications interface, the custom content being generated before the set of search results is transmitted to the user computing device; The method of any one of claims 1 to 10, further comprising:

12. generating the custom content, including in the custom content substantially only words from the third-party content or the landing page; The method of any one of claims 1 to 10, comprising:

13. The method of claim 1 , wherein the custom content comprises customized search ads.

14. processing landing page content with one or more configured and trained machine learning models to determine the one or more aspects of the landing page; The method of any one of claims 1 to 10, further comprising:

15. The method of claim 1 , wherein the one or more aspects of the landing page are determined prior to receiving the search query.

16. An apparatus comprising: a network interface configured to receive a search query from a user computing device, the search query including one or more search terms; one or more processors; and One or more non-transitory computer-readable storage media storing computer-readable instructions that, when executed by the one or more processors, cause the device to: determining, in response to the search query, a set of search results related to the search query; in response to the search query, identifying third party content and / or third parties relevant to the search query; generating custom content related to the search query and related to a landing page associated with the third-party content or the third party based on (i) the search query and (ii) the third-party content or the third party for presentation with the set of search results; and transmitting the custom content to the user computing device via the network interface; the one or more non-transitory computer-readable storage media, An apparatus comprising:

17. The instructions, when executed by the one or more processors, cause the apparatus to: forming an input vector that includes (i) one or more search terms of the search query, and (ii) at least a portion of the third-party content and / or information related to the third party; and processing the input vector with one or more configured and trained machine learning models to determine content of the custom content; The apparatus of claim 16 .

18. The apparatus of claim 17 , wherein the input vector further comprises one or more aspects of the landing page.

19. The apparatus of claim 17 , wherein the input vector further comprises one or more user characteristics.

20. The instructions, when executed by the one or more processors, cause the apparatus to: generating the custom content by generating all of the custom content in response to the search query; 20. The apparatus of claim 16, further comprising:

21. The instructions, when executed by the one or more processors, cause the apparatus to: determining one or more modifications to the third-party content based on one or more search terms of the search query and at least a portion of the third-party content; and modifying the third-party content based on the one or more modifications to form the custom content; generating the custom content by 21. Apparatus according to any one of claims 16 to 20, adapted to perform the following:

22. 1. An apparatus comprising: a network interface configured to receive a search query from a user computing device, the search query including one or more search terms; A search engine, determining, in response to the search query, a set of search results related to the search query; in response to the search query, identifying third party content and / or third parties relevant to the search query; The search engine configured to:

1. A content modification engine, comprising: generating custom content related to the search query and related to a landing page associated with the third-party content or the third party based on (i) the search query and (ii) the third-party content or the third party for presentation with the set of search results; the content modification engine configured to Equipped with The apparatus, wherein the network interface is configured to transmit the custom content to the user computing device.

23. The content modification engine, forming an input vector that includes (i) one or more search terms of the search query, and (ii) at least a portion of the third-party content and / or information related to the third party; and processing the input vector with one or more configured and trained machine learning models to determine the custom content; 23. The apparatus of claim 22 configured to:

24. The apparatus of claim 23 , wherein the input vector further comprises one or more aspects of the landing page.

25. 24. The apparatus of claim 23, wherein the input vector further comprises one or more user characteristics.

26. The content modification engine includes:

26. An apparatus according to any of claims 22 to 25, configured to generate the custom content by generating all of the custom content in response to the search query.

27. The content modification engine includes: determining one or more modifications to the third-party content based on one or more search terms of the search query and at least a portion of the third-party content; and modifying the third-party content based on the one or more modifications to form the custom content; 26. An apparatus according to claim 22, configured to generate the custom content by:

Citation Information

Patent Citations

  • Dynamic content item creation

    JP2015531525A

  • Automatic Ad Creative Generation

    US20120030014A1

  • Methods and systems for modifying a search result

    US20200183960A1

  • Generating electronic summary documents for landing pages

    US20200364252A1

  • Method and System of Providing Search Results to Users

    US20210065237A1