DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Amendments
The action is responsive to the Applicant’s Amendment filed on 11/17/2025. Claims 1-22 are pending in the application. Claims 1, 5, and 16 are amended.
Applicant’s amendments to the claims have overcome each and every objection previously set forth in the Non-Final Office Action mailed 7/16/2025.
Response to Arguments
Applicant’s arguments with respect to the rejections of claims 1-22 have been fully considered. In view of the claim amendment filed, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made.
Further, regarding the new limitations recited in claims 1, 5, and 16, it is submitted that they are properly addressed by the new ground of rejection.
Furthermore, it is also submitted that all limitations in pending claims, including those not specifically argued, are properly addressed. The reason is set forth in the rejections. See claim analysis below for detail.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-22 are rejected under 35 U.S.C. 103 as being unpatentable over Chaves et al. (US Patent No. 7822771 B1) in view of Mallin et al. (US 20210279297 A1), Miao et al. (US 20150120689 A1) and Chang et al. (US 20140122469 A1).
Regarding Claim 1, Chaves discloses a method implemented by a computing system for dynamically processing search queries based on customer information ([Col. 8, lines 3-12]: FIG. 4 is a block diagram representing another search query generation system 400… and optionally is also integrated with one or more customer segmentation modules or tools 420), the method comprising:
the computing system identifying an initial search query of a user (Fig. 1; [Col. 3, lines 33-34]: Initially, at 110, a search constraint and a control field identifier are received from an end-user; Fig. 3; [Col. 2, lines 18-21]: The search query interface is operable to receive a search constraint and control field identifier from either an end user 310 or another application 320),
wherein the initial search query includes a first query operator ([Col. 3, lines 47-48]: The search constraint defines search operators and operands for a desired search within a data store) and a first query parameter ([Col. 3, lines 51-54]: The control field identifier identifies a field within the data store that is to be used as a search filter on any search results that are returned should a search query execute using the search constraint);
identifying a particular customer schema associated with the user (Fig. 1, step 120; Fig. 4; [Col. 8, lines 7-27]: The search query generation system 400 includes a data store 401… The search query when executed returns records from the data store 401 that satisfy the search constraint and have identical field values for the control field identifier for a same customer identification value associated with a customer identification field),
the particular customer schema comprising descriptive attributes that are used to classify data stored in the customer records associated with the user ([Col. 3, lines 49-52]: By way of example… The trip identifier is a field in the data store that is unique for each trip that a customer takes. The trip includes one or more geographic locations that a customer visited during a particular trip),
the particular customer schema being stored in a customer value index comprising different customer values that correspond to different customer schemas (Fig. 4; data store 401; [Abstract]: The records satisfy the search constraint and have identical values for the control field identifier for unique customer identifications; [Col. 2, lines 7-11]: If the search query is executed, then records from a data store are returned representing data store records that satisfy the search constraint and have identical values for the control field identifier for each customer identification value);
obtaining one or more initial search results based on the initial search query from a repository that includes resources that are indexed (Fig. 1; [Col. 4, lines 15-18]: a search query is automatically generated at 120. The search query is initially generated such that a search query is generated that if executed would return first records from the data store that satisfy a least one aspect of the search constraint) and searched by an index search service (Fig. 1; [Col. 3, lines 27-29]: The processing of the method 100 is implemented in a computer-readable medium as a service integrated with existing software products);
identifying one or more customer values in the customer value index corresponding to the user based on the particular customer schema associated with the user ([Abstract]: The records satisfy the search constraint and have identical values for the control field identifier for unique customer identifications; [Col. 4, lines 18-21]: Thus, in our continuing example, search logic (e.g., SQL or other data store searching syntax) is generated that if executed would return data store records where hotel stays or car rentals were made by the same customer);
However, Chaves does not explicitly teach automatically generating one or more altered search queries by altering the initial search query to include a second query operator, a second query parameter, and the one or more customer values included in the customer value index, wherein the initial search query omitted the one or more customer values, and wherein the one or more customer values operate as a limitation on the one or more altered search queries by indicating which structures are to be searched when the one or more altered search queries are executed; automatically submitting the one or more altered search queries to the index search service and receiving one or more supplemental search results which correspond to the one or more altered search queries; generating merged search results by at least merging the initial search results with the one or more supplemental search results; generating ranked and merged search results by at least ranking the merged search results; and presenting the ranked and merged search results to the user.
On the other hand, in the same field of endeavor, Mallin teaches
automatically generating one or more altered search queries by restructuring the initial search query to include a second query operator, a second query parameter, and the one or more customer values included in the customer value index (Figs. 1, 5-6; [0075]-[0083]: The user query handler 110 may also perform or request that the query is processed by a natural language processor that restructures the query (e.g., by changing the sentence format to a standard or alternative format). The user query handler 110 may also perform other operations on the query, for example, by identifying synonyms to words in the query and adding those words to the query… At box 506, the identification of available datasets includes identifying permissions that are associated with a user account),
wherein the initial search query omitted the one or more customer values (Figs. 5-6; [0082]: At box 504, the identification of available datasets includes identifying a default set of datasets. These may be those datasets that are designated as being available to all user accounts, regardless of the organization to which the user account is assigned), and
wherein the one or more customer values operate as a limitation on the one or more altered search queries by indicating which structures are to be searched when the one or more altered search queries are executed (Figs. 5-6; [0081]-[0091]: At box 502, the computing system (e.g., the dataset selector 116) identifies a subset of datasets that are available for querying… At box 508, the identification of the available datasets includes identifying one or more additional datasets. These one or more datasets may be those datasets that the permissions that are associated with the user account indicate as being available for a search… At box 510, the computing system requests a search of the identified datasets).
Additionally, Miao teaches automatically submitting the one or more altered search queries to the index search service (Fig. 1; [0025]: At 105, based on the determined probabilities, a replacement term is automatically selected… At 106, a search is performed by using the recommended replacement term… the user input term may be automatically replaced with the replacement term) and
receiving one or more supplemental search results which correspond to the one or more altered search queries (Fig. 5; [0093]: At box 514, the computing system provides the responsive search results for presentation);
generating merged search results by at least merging the initial search results with the one or more supplemental search results (Figs. 3A-3B; [0014]: FIG. 3A illustrates an exemplary on-screen GUI configured to present a recommended replacement query term as well as the search results caused thereby based on an original query term submitted by a user);
Furthermore, Chang teaches generating ranked and merged search results by at least ranking the merged search results with a learn-to-rank model that ranks records in the merged search results based on a weighting of relevance applied by the learn-to-rank model during ranking of the records (Fig. 8; [0059]-[0060]: At step 804, the features for each product are processed using a learning-to-rank algorithm to determine the relevance value that corresponds to the product… the ranking model is used to rank the relevance of products to a search query);
presenting the ranked and merged search results to the user (Fig. 1; [0027]: Generally speaking, computer system 100 operates to provide information to users in response to requests… For example, user system 100 may provide search results in response to search queries that are provided by users. In accordance with this example, the search results may correspond to (e.g., identify) products; Fig. 4; [0039]: ranking logic 406 combines the relevance values 410 and the probability values 412 to provide respective product rankings 414);
obtaining feedback associated with the ranked and merged search results ([0015]: FIGS. 5-7 show example implementations of a purchase day based time window in accordance with embodiments described herein; [Number of purchases correspond to feedback associated with the results, i.e. user interaction with the ranked and merged search results]); and
based on the feedback, modifying the weighting of relevance applied by the learn-to-rank model ([0040]: In an aspect of this embodiment, the model parameter 3 is tuned based on cross-validation of the probability values. Cross-validation may include applying evaluation metrics, such as means square error (MSE), between an estimated number of purchases of a product and an actual number of purchases of the product that result from a consumer search; Fig. 8; [0059]-[0063]: In one example embodiment, a gradient boosted decision tree (GBDT) technique is used to train a ranking model, which is used to calculate the relevance value for each product… .beta. is a decision tree weight; [An actual number of purchases of the product that result from a consumer search corresponds to the feedback.]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Chaves to incorporate the teachings of Mallin, Miao and Chang to automatically generate altered search queries, rank and merge the search results, and present the results to the user.
The motivation for doing so would be to automatically generate alternative search query terms, as recognized by Mallin ([0095] of Mallin: the initial presentation of search results shows the top result as expanded, even though the user may not have provided input to expand the search result subsequent to submitting the query), and based on statistic information, as recognized by Miao ([0005] of Miao: Accordingly, embodiments of the present disclosure employ a computer implemented method of automatically generating alternative search query terms based on statistic information derived from empirical data recording recorded prior search sessions with respect to searching on a search engine), and rank the results based on a weighting of relevance, as recognized by Chang ([0007] of Chang: An example method is described in which relevance values that correspond to respective products are determined in response to receipt of a search query).
Regarding Claim 2, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the method of claim 1.
Chang further teaches the method further comprising the system: based on the feedback, further modifying the ranked and merged search results ([0006]: Various approaches are described herein for, among other things, ranking products using purchase day based time windows… A purchase day is a day on which a product associated with the time window is purchased… The purchase day based time window is further defined to not include the non-purchase day(s); [A purchased product corresponds to feedback (i.e. any user interaction with the ranked and merged search results). Results are further modified based on further defining the purchase day based time window.]).
Regarding Claim 3, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the method of claim 2.
Chang further teaches wherein obtaining feedback includes receiving input selecting or accessing a resource identified in the ranked and merged search results ([0006]: Various approaches are described herein for, among other things, ranking products using purchase day based time windows… A purchase day is a day on which a product associated with the time window is purchased; [0015]: FIGS. 5-7 show example implementations of a purchase day based time window in accordance with embodiments described herein; [Number of purchases correspond to input selecting or accessing a resource identified in the ranked and merged search results]).
Regarding Claim 4, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the method of claim 2.
Chang further teaches wherein obtaining the feedback includes determining one or more resources included in the ranked and merged search results is not selected or accessed by the user within a predetermined time ([0006]: A non-purchase day is a day on which the product associated with the time window is not purchased; Figs. 1-2; [0033]-[0036]: Search engine module 116 includes a purchase day based product ranker 118…. Each non-purchase day is a day on which the product associated with the corresponding time window is not purchased).
Regarding Claim 5, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the method of claim 2.
Chang further teaches wherein the system modifies the learn-to-rank model used to generate the ranked and merged search based on the feedback ([0040]: In an aspect of this embodiment, the model parameter 3 is tuned based on cross-validation of the probability values; Figs. 8, 11; [0059]-[0071]: At step 804, the features for each product are processed using a learning-to-rank algorithm… First, a ranking model is trained with training data… alpha..sub.i is a model parameter that may be learned from training data; and s.sub.k is the number of instances of the product that are purchased on purchase day, d.sub.k. [The number of instances of the product that are purchased corresponds to the feedback]).
Regarding Claim 6, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the method of claim 1.
Chaves further teaches wherein automatically generating the one or more altered search queries includes: rewriting one or more search terms in the initial search query based at least in part on the one or more customer values obtained from the customer value index (Fig. 1; [Col. 4, lines 25-33]: Each record returned will also include values for its control field identifier (in our example the trip identifier field)… Modification to the search query occurs by inserting searching join of merge logic into the search query at 130. The join is performed such that if executed the first records are merged into second records when values for the control field identifier are identical).
Regarding Claim 7, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the method of claim 1.
Miao further teaches wherein generating the one or more altered search queries includes: identifying one or more entities associated with the initial search based at least in part on the one or more customer values that are obtained from the customer value index ([0008]: a method of automatically suggesting an alternative search query based on recorded search activities… for a respective search session, a plurality of search query terms entered by a respective user in a sequence… identifying a plurality of candidate replacement terms from the record based on the original query term), the one or more entities comprising a scope of resource type to search by the index search service ([0028]: A database referred herein may be any suitable type of organized collection of data accessible to the public or to authorized users, such as an inventory database of an online store, a private database within an organization or entity, and an Internet encyclopedia. The present disclosure is not limited to any specific type of search engine).
Regarding Claim 8, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the method of claim 1.
Miao further teaches wherein generating the one or more altered search queries includes: identifying one or more predicted storage structures to limit the initial search query to the index search service based at least in part on the one or more customer values that are obtained from the customer value index (Fig. 1; Thus, the statistic information collected from prior search sessions can be used to predict a new user's intended information and accordingly to generate effective replacement query terms), the one or more predicted storage structures being a subset of all storage structures available for searching by the index search service ([0021]: At 102, a search log is accessed to acquire the statistic information derived from the empirical data with respect to the first query term. The search log encompasses a record of user activities (search terms and user action events) in prior search sessions. In some embodiments, a search log may be specific to a search engine or to a database).
Regarding Claim 9, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the method of claim 8.
Miao further teaches wherein generating the one or more altered search queries further includes: identifying one or more entities associated with the initial search query based at least in part on the one or more customer values that are obtained from the customer value index (Fig. 1; [0021]-[0023]: At 102, a search log is accessed to acquire the statistic information derived from the empirical data with respect to the first query term… At 103, a plurality of candidate replacement terms are selected from the search tog based on the first query term), the one or more entities comprising a scope of resource type to search by the index search service index ([0028]: A database referred herein may be any suitable type of organized collection of data accessible to the public or to authorized users, such as an inventory database of an online store, a private database within an organization or entity, and an Internet encyclopedia. The present disclosure is not limited to any specific type of search engine).
Regarding Claim 10, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the method of claim 9.
Miao further teaches wherein generating the one or more altered search queries further includes: generating a structured query from one or more search terms in the initial search query and based at least in part on the one or more predicted storage structures and the one or more entities (Fig. 1; [0007]: a computer implemented method is described of searching one or more digital databases… (1) accessing a first query term entered by a user; (2) accessing statistic information representing a first probability of yielding a predefined event by replacing the first query term with a second query term for searching the one or more digital databases… (3) determining a resultant query term… and (4) searching the digital databases by using the resultant query term).
Regarding Claim 11, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the method of claim 1.
Miao further teaches wherein generating the one or more altered search queries includes: generating a structured query from one or more search terms in the initial search query (Fig. 1; [0007]: a computer implemented method is described of searching one or more digital databases… (1) accessing a first query term entered by a user; (2) accessing statistic information representing a first probability of yielding a predefined event by replacing the first query term with a second query term for searching the one or more digital databases… (3) determining a resultant query term… and (4) searching the digital databases by using the resultant query term)\).
Regarding Claim 12, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the method of claim 1.
Miao further teaches wherein (1) the one or more initial search results, and (2) the one or more customer values are obtained by the index search service in response to the computing system first sending the initial search query to the index search service with information that identifies at least a context of the initial search query which is usable by the customer value index to identify the one or more customer values associated with the customer schema associated with the user ([0020]: The process of FIG. 1 illustrate a mechanism that is used to determine a replacement query term based on (1) a user input query term and (2) prior recorded statistic data based on prior searches done by database users and their eventual user actions within those prior search sessions).
Regarding Claim 13, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the method of claim 12.
Chaves further teaches wherein the one or more customer values associated with the customer schema are different than other customer values associated with a different customer schema indexed in the customer value index and that are returned by the index search service to the computing system in response to the computing system sending a different search query than the initial search query to the index search service for a different user associated with a different customer schema ([Abstract]: The records satisfy the search constraint and have identical values for the control field identifier for unique customer identifications; [Col. 6, lines 65-67]: the analyst can automatically view different customer identifications returned as they related to other values or fields in the data store… Of course a plurality of different hierarchies and/or views can be provided and are intended to fall within the scope of this invention).
Regarding Claim 14, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the method of claim 1.
Chaves further teaches wherein the index search service is remotely located from the computing system (Fig. 4; [Col. 8, lines 7-12]: The search query generation system 400 includes a data store 401 and a search generating module 402. The search query generation system 400 interacts over a network 403 with a user and application API 410, and optionally is also integrated with one or more customer segmentation modules or tools 420).
Regarding Claim 15, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the method of claim 1.
Miao further teaches wherein the one or more altered search queries comprise a plurality of altered search queries (Fig. 1; [0023]: At 103, a plurality of candidate replacement terms are selected from the search tog based on the first query term), and
wherein the one or more supplemental search results comprise a plurality of supplemental search results that are merged and ranked into the merged and ranked search results by the computing system (Fig. 1; [0043]: FIG. 3A illustrates an exemplary on-screen GUI 300 configured to present a recommended replacement term as well as the search results caused thereby based on an original query term submitted by a user... Thereby, a collection of book items pertinent to "stephen king" are presented to the user, e.g., starting with the highest-purchased item 304).
Regarding Claim 16, Chaves discloses a computing system that dynamically processes search queries based on customer schema information ([Col. 8, lines 3-12]: FIG. 4 is a block diagram representing another search query generation system 400… and optionally is also integrated with one or more customer segmentation modules or tools 420), said computing system comprising:
one or more processors; and one or more storage devices having stored computer-executable instructions that are executable by the one or more processors for configuring the computing system to: ([Col. 2, lines 49-50]: Fig. 3 depicts a block diagram representing a search query generation system; [Col. 8, lines 3-5]: FIG. 4 is a block diagram representing another search query generation system 400. The search query generation system 400 resides and is implemented in a computer-readable medium), and by at least configuring the computing system to perform the following:
identify an initial search query of a user (Fig. 1; [Col. 3, lines 33-34]: Initially, at 110, a search constraint and a control field identifier are received from an end-user; Fig. 3; [Col. 2, lines 18-21]: The search query interface is operable to receive a search constraint and control field identifier from either an end user 310 or another application 320),
the user being associated with a customer schema indexed in a customer value index that correlates customer values with corresponding customer schemas (Fig. 1, step 120; Fig. 4; [Col. 8, lines 7-27]: The search query generation system 400 includes a data store 401… The search query when executed returns records from the data store 401 that satisfy the search constraint and have identical field values for the control field identifier for a same customer identification value associated with a customer identification field),
wherein the initial search query includes a first query operator and a first query parameter ([Col. 3, lines 47-48]: The search constraint defines search operators and operands for a desired search within a data store) and a first query parameter ([Col. 3, lines 51-54]: The control field identifier identifies a field within the data store that is to be used as a search filter on any search results that are returned should a search query execute using the search constraint);
based on a context of the search query, where the context includes the association of the user with the customer schema indexed in the customer value index ([Col. 2, lines 17-21]: Moreover, the search generating module generates a search query… that… have identical values for the control field identifier when associated with a same customer identification value),
obtain (1) one or more initial search results based on the initial search query from a repository that includes resources that are indexed and searched by an index search service (Fig. 1; [Col. 4, lines 15-18]: a search query is automatically generated at 120. The search query is initially generated such that a search query is generated that if executed would return first records from the data store that satisfy a least one aspect of the search constraint), and (2) one or more customer values associated with the customer schema ([Abstract]: The records satisfy the search constraint and have identical values for the control field identifier for unique customer identifications; [Col. 4, lines 18-21]: Thus, in our continuing example, search logic (e.g., SQL or other data store searching syntax) is generated that if executed would return data store records where hotel stays or car rentals were made by the same customer);
However, Chaves does not explicitly teach “generate one or more altered search queries based on the initial search query as well as the one or more customer wherein generating the one or more altered search queries includes restructuring the initial search query to include a second query operator, a second query parameter, and the one or more customer values associated with the customer schema, wherein the initial search query omitted the one or more customer values, and wherein the one or more customer values operate as a limitation on the one or more altered search queries by indicating which structures are to be searched when the one or more altered search queries are executed; submit the one or more altered search queries to the index search service; receive one or more supplemental search results which correspond to the one or more altered search queries; access a learn-to-rank model used for generating ranked and merged search results; to generate merged search results by at least merging the initial search results with the one or more supplemental search results; generate ranked and merged search results by at least ranking the merged search results using the learn-to-rank model; present the ranked and merged search results to the user; obtain feedback associated with the ranked and merged search results subsequent to presenting the ranked and merged search results; and train the learn-to-rank model by modifying the weighting of relevance applied by the learn-to-rank model.”
On the other hand, in the same field of endeavor, Mallin teaches
generate one or more altered search queries based on the initial search query as well as the one or more customer values wherein generating the one or more altered search queries includes restructuring the initial search query to include a second query operator, a second query parameter, and the one or more customer values associated with the customer schema (Figs. 1, 5-6; [0075]-[0083]: The user query handler 110 may also perform or request that the query is processed by a natural language processor that restructures the query (e.g., by changing the sentence format to a standard or alternative format). The user query handler 110 may also perform other operations on the query, for example, by identifying synonyms to words in the query and adding those words to the query… At box 506, the identification of available datasets includes identifying permissions that are associated with a user account),
wherein the initial search query omitted the one or more customer values (Figs. 5-6; [0082]: At box 504, the identification of available datasets includes identifying a default set of datasets. These may be those datasets that are designated as being available to all user accounts, regardless of the organization to which the user account is assigned), and
wherein the one or more customer values operate as a limitation on the one or more altered search queries by indicating which structures are to be searched when the one or more altered search queries are executed (Figs. 5-6; [0081]-[0091]: At box 502, the computing system (e.g., the dataset selector 116) identifies a subset of datasets that are available for querying… At box 508, the identification of the available datasets includes identifying one or more additional datasets. These one or more datasets may be those datasets that the permissions that are associated with the user account indicate as being available for a search… At box 510, the computing system requests a search of the identified datasets).
Additionally, Miao teaches submit the one or more altered search queries to the index search service (Fig. 1; [0025]: At 105, based on the determined probabilities, a replacement term is automatically selected… At 106, a search is performed by using the recommended replacement term… the user input term may be automatically replaced with the replacement term);
receive one or more supplemental search results which correspond to the one or more altered search queries (Figs. 3A-3B; [0020]: The process 100 can automatically determine the replacement term and automatically replace the use input term with the replacement term in order to provide better or more relevant results for the user);
to generate merged search results by at least merging the initial search results with the one or more supplemental search results (Figs. 3A-3B; [0014]: FIG. 3A illustrates an exemplary on-screen GUI configured to present a recommended replacement query term as well as the search results caused thereby based on an original query term submitted by a user);
Furthermore, Chang teaches access a learn-to-rank model used for generating ranked and merged search results that ranks records in the merged search results based on a weighting of relevance applied by the learn-to-rank model during ranking of the records (Fig. 8; [0059]-[0060]: At step 804, the features for each product are processed using a learning-to-rank algorithm to determine the relevance value that corresponds to the product… the ranking model is used to rank the relevance of products to a search query);
generate ranked and merged search results by at least ranking the merged search results using the learn-to-rank model (Fig. 4; [0039]: In one example embodiment, ranking logic 406 combines the relevance values 410 and the respective probability values 412 to provide the respective product rankings 414);
present the ranked and merged search results to the user (Fig. 1; [0027]: Generally speaking, computer system 100 operates to provide information to users in response to requests… For example, user system 100 may provide search results in response to search queries that are provided by users. In accordance with this example, the search results may correspond to (e.g., identify) products);
obtain feedback associated with the ranked and merged search results subsequent to presenting the ranked and merged search results ([0015]: FIGS. 5-7 show example implementations of a purchase day based time window in accordance with embodiments described herein; [Number of purchases in Figs. 5-7 correspond to feedback associated with the results, i.e. user interaction with the ranked and merged search results]); and
train the learn-to-rank model by modifying the weighting of relevance applied by the learn-to-rank model ([0040]: In an aspect of this embodiment, the model parameter 3 is tuned based on cross-validation of the probability values. Cross-validation may include applying evaluation metrics, such as means square error (MSE), between an estimated number of purchases of a product and an actual number of purchases of the product that result from a consumer search; Fig. 8; [0059]-[0063]: In one example embodiment, a gradient boosted decision tree (GBDT) technique is used to train a ranking model, which is used to calculate the relevance value for each product… .beta. is a decision tree weight).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Chaves to incorporate the teachings of Mallin, Miao and Chang to automatically generate altered search queries, rank and merge the search results, and present the results to the user.
The motivation for doing so would be to automatically generate alternative search query terms, as recognized by Mallin ([0095] of Mallin: the initial presentation of search results shows the top result as expanded, even though the user may not have provided input to expand the search result subsequent to submitting the query), and based on statistic information, as recognized by Miao ([0005] of Miao: Accordingly, embodiments of the present disclosure employ a computer implemented method of automatically generating alternative search query terms based on statistic information derived from empirical data recording recorded prior search sessions with respect to searching on a search engine), and rank the results based on a weighting of relevance, as recognized by Chang ([0007] of Chang: An example method is described in which relevance values that correspond to respective products are determined in response to receipt of a search query).
Regarding Claim 17, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the computing system of claim 16.
Miao further teaches wherein the one or more altered search queries comprise a plurality of altered search queries (Fig. 1; [0023]: At 103, a plurality of candidate replacement terms are selected from the search tog based on the first query term), and
wherein the one or more supplemental search results comprise a plurality of supplemental search results that are merged and ranked into the merged and ranked search results by the computing system (Fig. 1; [0043]: FIG. 3A illustrates an exemplary on-screen GUI 300 configured to present a recommended replacement term as well as the search results caused thereby based on an original query term submitted by a user... Thereby, a collection of book items pertinent to "stephen king" are presented to the user, e.g., starting with the highest-purchased item 304).
Regarding Claim 18, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the computing system of claim 16.
Chaves further teaches wherein generating the one or more altered search queries includes:
defining a scope of resource type to search by the index search service, based at least in part on the one or more customer values that are obtained from the customer value index (Fig. 2; [Col. 5, lines 14-42]: At 210 an Application Programming Interface (API) is provided with a variety of modules and command options for generating and executing search queries. The API receives a search constraint and control field identifier);
identifying one or more predicted storage structures (Fig. 2; [Col. 5, lines 23-28]: Other fields may include options to select one or more data stores for which the search constraint and control field identifier are being provided. The data store(s) can be manually supplied by an end-user in the GUI application or can be available for selection via pull-down menus for a list of available data stores) to limit the search query to the index search service based at least in part on the one or more customer values that are obtained from the customer value index [Intended use], the one or more predicted storage structures being a subset of all storage structures available for searching by the index search service ([Nonfunctional descriptive material describing the storage structures]; and
generating a structured query from one more search terms in the search query and based at least in part on the one or more predicted storage structures and the scope of resource type to search (Fig. 2; [Col. 5, lines 37-42]: At 220, a search generating module is provided which is interfaced and in communication with the API. The search generating module is capable of automatically generating a search query using the any received search constraint and control field identifier).
Regarding Claim 19, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the computing system of claim 18.
Miao further teaches wherein the structured query is a different format than the initial search query and is formatted as a sequel (SQL) query format ([0046]: FIG. 4 is a block diagram illustrating an exemplary computing system 400 including an automated replacement query term generator 410… the automated replacement query term generator 410 can be implemented in any one or more suitable programming languages that are known to those skilled in the art, such as… SQL, etc.).
Regarding Claim 20, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the computing system of claim 16.
Chaves further teaches wherein the one or more customer values associated with the customer schema
(i) are different than other customer values associated with a different customer schema indexed in the customer value index ([Abstract]: The records satisfy the search constraint and have identical values for the control field identifier for unique customer identifications) and
(ii) are returned by the index search service to the computing system in response to the computing system sending a different search query to the index search service for a different user associated with the different customer schema ([Col. 6, lines 65-67]: the analyst can automatically view different customer identifications returned as they related to other values or fields in the data store… Of course a plurality of different hierarchies and/or views can be provided and are intended to fall within the scope of this invention).
Regarding Claim 21 the combined teachings of Chaves, Mallin, Miao, and Chang disclose the computing system of claim 16.
Chang further teaches wherein obtaining the feedback includes determining one or more resources included in the ranked and merged search results is not selected or accessed by the user within a predetermined time (Figs. 1-2; [0033]-[0036]: Search engine module 116 includes a purchase day based product ranker 118…. Each non-purchase day is a day on which the product associated with the corresponding time window is not purchased. Purchase day based product ranker 118 combines the relevance values and the respective probability values to provide respective rankings to be assigned to the respective products with regard to the search query).
Regarding Claim 22, the combined teachings of Chaves, Mallin, Miao, and Chang disclose the computing system of claim 16.
Miao further teaches wherein the one or more altered search queries inlcudes a new search term that replaces a search term included in the initial search query ([0005]-[0006]: upon receiving an initial query term in a new search session, the replacement terms of the initial query term are identified; [0020]: The process of FIG. 1 illustrate a mechanism that is used to determine a replacement query term; [0025]: At 106, a search is performed by using the recommended replacement term, for example upon the user's confirmation on the recommendation. In other embodiments, the user input term may be automatically replaced with the replacement term without user conformation or knowledge).
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SHIRLEY D. HICKS whose telephone number is (571)272-3304. The examiner can normally be reached Mon - Fri 7:30 - 4:00.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Charles Rones can be reached on (571) 272-4085. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/S D H/Examiner, Art Unit 2168
/CHARLES RONES/Supervisory Patent Examiner, Art Unit 2168