Method and apparatus for generating custom content in response to a received search query
The system addresses the challenge of matching third-party content with search queries by using lightweight machine learning to dynamically generate custom content, enhancing relevance and efficiency in search engine results.
Patent Information
- Application Number
- JP2024540966
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-05-26
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2042-05-26
AI Technical Summary
Existing search engines struggle to accurately and efficiently match third-party content with search queries, leading to irrelevant results, especially for small-to-medium sized businesses lacking resources to generate varied content for diverse user queries.
A system that uses lightweight machine learning models to dynamically modify or generate custom content in real-time based on search queries, third-party content, and landing page signals, ensuring relevance and reducing computational overhead.
Enhances the relevance of third-party content presentation by generating custom content quickly and efficiently, improving user engagement without excessive resource consumption.
Smart Images

Figure 0007801463000003 
Figure 0007801463000004 
Figure 0007801463000005
Abstract
Description
[Technical Field]
[0001] FIELD OF THE DISCLOSURE The present 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 may identify one or more search results (e.g., websites) related to the search query and return the search results to the user computing device, which may 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, the third party may generate specific content that the system displays alongside the search result. In this case, the system must accurately and efficiently match the third-party content to the search result. Summary of the Invention
[0004] Generally speaking, a system of the present disclosure can automatically modify third-party content comprised of specific terms by replacing, adding, or removing portions of those terms, for example, to present search results in response to a search query. To this end, the system can apply signals such as terms from the search query, terms associated with the content provider's landing page (or specific sections 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 a third party.
[0005] In an exemplary 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 relevant to the search query and associated with a landing page associated with the third-party content or third party based on (i) the search query and (ii) the third-party content or third party, 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 exemplary 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 related to the search query in response to the search query; identify third-party content and / or third parties related to the search query in response to the search query; generate, based on (i) the search query and (ii) the third-party content or third parties, custom content related to the search query and associated with a landing page associated with 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, in response to the search query, determine a set of search results relevant to the search query and, in response to the search query, identify third-party content and / or a third party relevant to the search query. The content modification engine is configured to, based on (i) the search query and (ii) the third-party content or third party, generate custom content related to the search query and associated with 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 numerals refer to identical or functionally similar elements throughout the individual views, are incorporated into and form a part of this disclosure and, together with the following detailed description, serve to further illustrate embodiments of the concepts comprising the claimed invention and to explain various principles and advantages of those embodiments. [Brief explanation of the drawings]
[0009] [Figure 1A] FIG. 1 is a block diagram illustrating an exemplary dynamic generation of content according to techniques of this disclosure. [Figure 1B] FIG. 1 is a block diagram of an exemplary system in which techniques or methods for dynamically generating custom content in response to received search queries may be implemented, according to an embodiment. [Figure 2] FIG. 1 is a block diagram of an exemplary machine learning model for dynamically generating custom content, according to an embodiment. [Figure 3]2 is a flowchart of an exemplary 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 INVENTION
[0010] The components of the apparatus and methods are represented in the drawings with conventional symbols, where appropriate, and only certain 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 skilled 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 its 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 professional services company, etc.) and a person using a user computing device to issue a search query (e.g., searching for or purchasing 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, 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 existed before a search query was received. Furthermore, for clarity, the term “landing page content” is used herein to refer to any content on any landing page(s) associated with a third party. In various examples, third-party content may include a link to a third-party landing page associated with the third-party content. Furthermore, for clarity, 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. While 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, etc., and (ii) potential search queries from 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. Some businesses, such as small-to-medium sized businesses (SMBs), may have 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 Although the techniques of this disclosure are generally applicable to individual words, phrases made up of multiple individual words, or any other suitable type of semantic unit, for simplicity, the following examples refer primarily to standalone words such as "dark" or "chocolate." The operation of a sequence of words using tokenization techniques 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, ...C M The third-party content 104A may include or be associated with a landing page 106. The third-party content 104A may be, for example, an advertisement or a text component of a multimedia advertisement that links to the landing page 106 via a uniform resource locator (URL) or another suitable identifier. A party (e.g., a vendor) that controls the landing page 106 may generate the content 104A and provide it to a system 120 that implements a search engine 122 for display via a client device along with the results 124 of the search query 102.
[0016] In some scenarios, the parties associated with the landing page 106 may use one or more of the words C1, C2, ...C M , or various combinations of these words, as "building blocks" from which third-party content 104A may be automatically created offline, prior to or 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 list of keywords based on the words {C1, C2, ...C}. M}.
[0017] The system 120 applies various models to determine the N} or {C1, C2, …C M}, can 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 to suit 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 chocolate and not dark gourmet chocolate specifically, the user 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 actually sells dark gourmet chocolate. 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 the word C1 has been replaced with the word C'1. Also, the system 120 in this example extracts the word C from the third-party content 104A. M More generally, the system 120 can add, replace, or 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 uses 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 the user's preferences, the user's current location, past transactions associated with the user, etc.
[0026] In some cases, the content modification engine 130 considers 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>Purchase at <term1>), or the ML model 132 can 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 example above, the third party may operate a website that distributes chocolate and another website that distributes coffee, and the chocolate-related example advertisement above may serve as the basis for generating new coffee-related content on other corresponding websites).
[0028] In at least some of these embodiments, 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 embodiments, the system 102 can utilize the content modification engine 130 at various stages of selecting third-party content to display with search results. The system 102 can initially 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 be related 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 submitted the search query 102. In one example embodiment, the system 102 utilizes the content modification engine 130 after selecting potentially relevant advertisements, prior to scoring. In this case, the content modification engine 130 may influence scoring. In another embodiment, the system 102 utilizes the content modification engine 130 after scoring, and therefore the content modification engine 130 does not influence scoring. More generally, the content modification engine 130 can operate at any stage of the third-party content selection process, regardless of whether it influences 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 requires a large amount of storage space and significant computational resources depending on the number of possible combinations. Furthermore, this approach would then require the system 102 to consider and score a larger number of potentially relevant advertisements 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 can generate the custom content “on the fly” between the time when a search query is first received and the time when 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 can generate the custom content 124 within tens of microseconds, or at any rate, with low latency.
[0032] Furthermore, while system 120 can utilize complex ML models (e.g., models having over 200 million parameters), such ML models generally operate relatively slowly and require significant processing and memory resources. In one embodiment, 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, lightweight ML models 132 are technically easier to implement and suitable for operation in conjunction with low-latency search server 122. Thus, the techniques of this disclosure enable a 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] Further, non-limiting embodiments will be described in more detail, some of which are shown in the accompanying drawings.
[0034] FIG. 1B shows an example of a computing environment 150 in which the system 120 of FIG. 1A can be implemented. The exemplary system 120 includes one or more servers 160 configured to implement the aforementioned search engine 122 and content modification engine 130. When implemented as multiple units, the servers 160 can be geographically dispersed in any suitable manner. The client device 162 that originates the search query 102 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, server, or any other user computing device.
[0035] One or more servers 160 can access the index database 172 to obtain search results for a search query (e.g., results 124 in response to search query 102) and access the third-party content database 174 to obtain third-party content such as content 104. Each database 172 can be implemented on one or more devices having one or more processors and a computer-readable non-transitory storage medium. Examples of third-party content that can be stored in the database 174 include search ads (such as ads selected and returned in response to a received search query), display ads, shopping ads, ads presented or provided within an application, or ads targeted at a site, content, or advertiser. Third-party content can be created using any number and / or type(s) of methods, tools, interfaces, etc., and 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, the third party may be a seller of handmade soap, and the 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 website where a person can purchase the lavender soap. In operation, the content modification engine 130 may access the website's landing page and automatically identify keywords, such as words contained in the title or about section (delimited by corresponding div tags) of the landing page.
[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 content modification engine(s) 108. Alternatively, the search engine(s) 106 and / or content modification engine(s) 108 may be implemented by software or computer instructions executed by the respective server(s). An exemplary processing platform 400 that can 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, submit, or issue a search query. For example, a user can 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, for example, be part of a website or web browser 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 types 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 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 figures). 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 by 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, cache, 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, persistent, short-term, temporary buffering, and / or caching).
[0041] 2 is a block diagram of an exemplary 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 may include custom content 208 (e.g., words z1...z) generated in response to receiving a search query. k ) represents the search query 206. The ML model 200 typically converts a first input sequence of words from the content 206 into a second output sequence of words from 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, if the system 120 determines that the third-party content is an adequate match for the search query, there may be no difference. 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 custom content contains words or phrases not found in the third-party content and / or 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; the ML model 200 may modify the entire third-party content, modify a large portion of the third-party content, and / or generate new custom content 208. In some implementations, if the third-party content is not provided or available 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 word insertions, deletions, or substitutions.
[0043] The example ML model 200 includes an example Transformer Encoder 210 configured and trained to map an input 202 to a sequence of representations or tokens 212 that are sent to an example 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 terminating symbol is generated. The special terminating symbol may be generated based, for example, 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 landing page content. This reduces the likelihood of so-called machine-generated hallucinations, which are machine-generated content not present in the content 206. However, in some implementations, the creative vocabulary 216 is expanded to also include tokens that are always considered safe (such as determiners, antecedents, prepositions, and punctuation). 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 landing page content. However, in some implementations, the decoder 214 may not limit the creative vocabulary 216 to the third-party content and / or 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, decoder 214 may be non-autoregressive and capable of predicting tokens simultaneously, possibly in multiple stages, with each stage producing an improved output over the previous stage.
[0047] The decoder 214 may edit the third-party content incrementally (e.g., by deleting, then inserting, then reordering, etc.). However, as described above with reference to Figure 1A, the operation of the decoder 214 need not be limited to editing 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 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 further include a classification model configured and trained to determine whether to insert, replace, remove, etc., words from existing third-party content to generate custom content. Other ML models and / or architectures that can also be used to implement or included in the ML model 200 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 (e.g., processor 402 of FIG. 4), where information can be stored for any period of time (e.g., extended period, permanently, short-term, 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 flowchart 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 on 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 relevant to the search query (block 304), as described above in connection with FIG. 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 related to the search query 304 (block 314), as described above in connection with Figures 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, for example, one or more of: (i) one or more search terms in 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 its 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 the 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 dedicated computer chips, and one or more system-on-chip (SoC) devices.
[0056] 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 retrieve 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 an 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, persistent, short-term, temporary buffering, and / or cache), and that may be coupled to the processing platform 400 to provide access to the machine-readable instructions stored thereon.
[0057] Additionally and / or alternatively, the operations, logic, techniques, etc. disclosed herein may be implemented without executing software by one or more logic circuits, such as field programmable gate arrays (FPGAs) and application specific integrated circuits (ASICs).
[0058] The example processing platform 400 of Figure 4 includes one or more communication interfaces, such as, for example, one or more network interfaces 406 and / or one or more input / output (I / O) interfaces 408. The communication 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 user computing devices and / or send search results, third-party content, and custom content to user computing devices), data stores, databases, and / or any other machine.
[0059] 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 enable 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] While the foregoing Detailed Description sets forth in detail many different aspects, examples, and embodiments of the present disclosure, it should be understood that the scope of the patent is defined by the language of the claims at the end of this patent. The Detailed Description should be construed as illustrative only and does not describe every possible embodiment, as describing every possible embodiment would be impractical, if not impossible. In the foregoing Detailed Description, it can be understood that various features are grouped together in various embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to 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 separate claimed subject matter. Numerous alternative embodiments may be implemented using current technology, or technology developed after the filing date of this patent, and remain 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 that is described as a single example. While individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations can be performed simultaneously, and nothing requires that the operations be performed in the order shown. Structures and functionality depicted as separate components in exemplary embodiments may be implemented as a combined structure or component. Similarly, structure and functionality depicted as a single component may be implemented as a separate component. 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," not an exclusive "or." For example, "A, B, or C" refers to any combination or subset of A, B, or 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 overview 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] The term "coupled," as used herein, 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 otherwise expressly stated, discussions in this disclosure using words such as "processing," "operating," "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 a combination 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., platters of a hard disk drive, digital versatile disk, compact disk, flash memory, read-only memory, 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 a program associated with the machine-readable instructions is executing), and / or for a shorter 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 understood by one 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," "embodiments," "one aspect," "aspect," etc. means that a particular element, feature, structure, or characteristic described in connection with an embodiment, example, etc. is included in at least one embodiment, example, etc. The appearances of phrases such as "one embodiment," "some embodiments," "one aspect," "aspect," etc. in various places in this specification do not necessarily all refer to the same embodiment(s).
[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, shall not be construed as a critical, necessary, or essential feature or element of any or all 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] Upon reading this disclosure, those skilled in the art will recognize yet other alternative structural and functional designs for facilitating indoor navigation through the principles disclosed in this disclosure. Thus, while particular embodiments and applications have been illustrated and described, it should be understood that the disclosed embodiments 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 computer-implemented method for generating custom content responsive to a received search query, comprising: receiving a search query including one or more search terms from a user computing device via a communications interface; using one or more processors, in response to the search query, determining a set of search results related to the search query; using one or more processors to identify third party content and / or third parties relevant to the search query in response to the search query; using one or more processors to generate, based on (i) the search query and (ii) the third-party content or the third party, custom content related to the search query and related to a landing page associated with 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; Including, 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; Including, the custom content includes text; method.
2. The method described in claim 1, wherein the input vector further includes one or more aspects of words contained in the content of the landing page.
3. The method of claim 1 , wherein the input vector further comprises one or more user characteristics.
4. generating the custom content, The method of claim 1 , further comprising generating all of the custom content in response to the search query.
5. 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; 4. The method of claim 1, comprising:
6. Determining the one or more modifications includes: forming an input vector including 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 5 , comprising:
7. The method of claim 6 , wherein the input vector further comprises one or more aspects of words contained in the content of the landing page and / or one or more user characteristics.
8. 6. The method of claim 5, 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.
9. The method of claim 5 , wherein the one or more modifications include rewriting one or more portions of the identified third-party content.
10. transmitting the set of search results to the user computing device via the communications interface, wherein the custom content is generated before the set of search results is transmitted to the user computing device; The method of any one of claims 1 to 3, further comprising:
11. generating the custom content, the custom content includes only words from the third-party content or the landing page; 4. The method of claim 1, comprising:
12. The method of claim 1 , wherein the custom content comprises customized search advertisements.
13. processing landing page content with one or more configured and trained machine learning models to determine the one or more aspects of words contained in the landing page content; The method of claim 2 further comprising:
14. The method of claim 2 , wherein the one or more aspects of words included in the content of the landing page are determined before receiving the search query.
15. 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; 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: In response to the search query, determining 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, based on (i) the search query and (ii) the third-party content or the third party, custom content related to the search query and related to a landing page associated with 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, Equipped with The computer-readable instructions, when executed by the one or more processors, cause the device 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; Let them do this, the search query and the custom content include text; Device.
16. The device described in Claim 15, wherein the input vector further includes one or more aspects of words contained in the content of the landing page.
17. The apparatus of claim 15 , wherein the input vector further comprises one or more user characteristics.
18. The computer-readable instructions, when executed by the one or more processors, cause the device to: generating the custom content by generating all of the custom content in response to the search query; 18. The apparatus of claim 15, wherein the apparatus causes:
19. The computer-readable instructions, when executed by the one or more processors, cause the device 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 18. The apparatus of claim 15, wherein the apparatus causes:
20. 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, In response to the search query, determining 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, based on (i) the search query and (ii) the third-party content or the third party, custom content related to the search query and related to a landing page associated with 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 network interface is configured to transmit the custom content to the user computing device; 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; configured to: the custom content includes text; Device.
21. The device described in Claim 20, wherein the input vector further includes one or more aspects of words contained in the content of the landing page.
22. The apparatus of claim 20 , wherein the input vector further comprises one or more user characteristics.
23. The content modification engine:
23. The apparatus of any of claims 20 to 22, configured to generate the custom content by generating all of the custom content in response to the search query.
24. The content modification engine: 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; 23. The apparatus of claim 20, 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