Detailed Action
Status of Claims
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This Action is in reply to the Application filed on 7/15/2024. Claims 1-20 are pending and have been examined.
Priority
Applicant’s claim of priority to provisional application 63513541is acknowledged. The disclosure does not provide support for the limitations of Claims 7-9, 17-18. Therefore, claims 7-9, 17-18 are afforded an effective filing date of 7/15/2024. Claims 11-6, 10-16, and 19-20 are afforded an effective filing date of 7/13/2023.
Claim Rejection - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
First, it is determined whether the claims are directed to a statutory category of invention. In the instant case, claims 1-10 are directed to a process, claims 11-19 are directed to an article of manufacture, and claim 20 is directed to a machine. Therefore, claims 1-20 are directed to statutory subject matter under Step 1 as described in MPEP 2106 (Step 1: YES).
The claims are then analyzed to determine whether the claims are directed to a judicial exception. In determining whether the claims are directed to a judicial exception, the claims are analyzed to evaluate whether the claims recite a judicial exception (Prong One of Step 2A), as well as analyzed to evaluate whether the claims recite additional elements that integrate the judicial exception into a practical application of the judicial exception (Prong Two of Step 2A).
Claims 1, 11, and 20 recite at least the following limitations that are believed to recite an abstract idea:
accessing user interaction data for a user describing a plurality of interactions by the user with a set of items of a system, wherein the user interaction data describes, for each of the plurality of interactions, an interaction of the user with an item of the set of items;
transmitting the user interaction data to a model serving system;
receiving, from the model serving system, a first set of item vectors, the first set of item vectors comprising an item vector for each item of the set of items, wherein the item vectors of the first set of item vectors are generated by the model serving system based on the user interaction data;
concatenating the first set of item vectors to generate a user vector array for the user;
applying a transformer process to the user vector array to generate a user vector describing the user, wherein the user vector is in a vector space;
accessing a second set of item vectors, the second set of item vectors comprising an item vector for each candidate item in a set of candidate items of the system, wherein each item vector of the second set of item vectors is in the vector space;
generating, for each candidate item, an interaction score for the candidate item by comparing the item vector for the candidate item to the user vector;
selecting a candidate item of the set of candidate items to present to the user based on the generated interaction scores; and
transmitting information describing the selected candidate item to the user for display to the user.
The above limitations recite the concept of a personalized recommendations. These limitations, under their broadest reasonable interpretation, fall within the “Certain Methods of Organizing Human Activity” grouping of abstract ideas, enumerated in MPEP 2106, in that they recite commercial interactions, e.g. sales activities/behaviors, and managing personal behavior or relationships or interactions between people, e.g., following rules or instructions. Accordingly, under Prong One of Step 2A, claims 1-20 recite an abstract idea (Step 2A, Prong One: YES).
Prong Two of Step 2A is the next step in the eligibility analyses and looks at whether the abstract idea is integrated into a practical application. This requires an additional element or combination of additional elements in the claims to apply, rely on, or user the judicial exception in a manner that imposes a meaningful limit on the judicial exception, such that the claim is more than a drafting effort designed to monopolize the exception.
In this instance, the claims recite the additional elements of:
A computer system comprising a processor and a computer-readable medium
An online system
Embeddings
A transformer network
Latent space
A client device
A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform steps
A system comprising: a processor; and a non-transitory computer-readable medium storing instructions that, when executed by the processor, cause the processor to perform steps
However, these elements do not amount to an improvement in the functioning of a computer or any other technology or technical field; apply the judicial exception with, or by use of, a particular machine; or apply or use the judicial exception in some other meaningful way beyond generally linking the use of the judicial exception to a particular technological environment, such that the claim as a whole is more than a drafting effort to monopolize the exception.
In addition, the recitations are recited at a high level of generality and also do not amount to an improvement in the functioning of a computer or any other technology or technical field; apply the judicial exception with, or by use of, a particular machine; or apply or use the judicial exception in some other meaningful way beyond generally linking the use of the judicial exception to a particular technological environment, such that the claim as a whole is more than a drafting effort to monopolize the exception.
The dependent claims also fail to recite elements which amount to an improvement in the functioning of a computer or any other technology or technical field; apply the judicial exception with, or by use of, a particular machine; or apply or use the judicial exception in some other meaningful way beyond generally linking the use of the judicial exception to a particular technological environment, such that the claim as a whole is more than a drafting effort to monopolize the exception. For example, claims 4-8, 14-17, and are directed to the abstract idea itself and do not amount to an integration according to any one of the considerations above. As for claims 2-3, 9-10, 12-13, 18-19 these claims are similar to the independent claims except that they recite the further additional elements of a large language model, central processing unit (CPU) memory, graphics processing unit (GPU) memory, and training with training examples. These additional elements are recited at a high level of generality and also do not amount to an improvement in the functioning of a computer or any other technology or technical field; apply the judicial exception with, or by use of, a particular machine; or apply or use the judicial exception in some other meaningful way beyond generally linking the use of the judicial exception to a particular technological environment, such that the claim as a whole is more than a drafting effort to monopolize the exception. Therefore, the dependent claims do not create an integration for the same reasons.
Step 2B is the next step in the eligibility analyses and evaluates whether the claims recite additional elements that amount to an inventive concept (i.e., “significantly more”) than the recited judicial exception. According to Office procedure, revised Step 2A overlaps with Step 2B, and thus, many of the considerations need not be re-evaluated in Step 2B because the answer will be the same.
In Step 2A, several additional elements were identified as additional limitations:
A computer system comprising a processor and a computer-readable medium
An online system
Embeddings
A transformer network
Latent space
A client device
A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform steps
A system comprising: a processor; and a non-transitory computer-readable medium storing instructions that, when executed by the processor, cause the processor to perform steps
These additional limitations, including the limitations in the dependent claims, do not amount to an inventive concept because they were already analyzed under Step 2A and did not amount to a practical application of the abstract idea. Therefore, the claims lack one or more limitations which amount to an inventive concept in the claims.
For these reasons, the claims are rejected under 35 U.S.C. 101.
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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claim Rejection – 35 USC § 103
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or non-
obviousness.
Claims 1-3, 6-8, 10-13, 16-17, 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Yoon et al (US20190179915A1) hereinafter Yoon, in view of Jalan et al (WO2024201209A1) hereinafter Jalan.
Regarding Claim 1, Yoon discloses method, performed at a computer system comprising a processor and a computer-readable medium (Yoon: [0055]), comprising:
accessing user interaction data for a user describing a plurality of interactions by the user with a set of items of a computer system, wherein the user interaction data describes, for each of the plurality of interactions, an interaction of the user with an item of the set of items (Yoon: “The usage history database 500 may include usage history information on items purchased or used by a user” [0053] – “usage history database 500 may store usage history information including information such as a viewing time, the number of viewings, and a rating of an individual movie for each user.” [0061] – “The user interface 600 may receive user information from a specific user …the user interface 600 may directly store the received user information in the usage history database” [0054]);
transmitting the user interaction data to a model serving system (Yoon: “The recommendation predicting part 300 may predict a user latent vector from information on a specific user obtained from the user interface 600 based on the usage history database 500 and one of the metadata latent vector” [0049] – “generate the metadata latent vector…may use the Word2Vec algorithm, but the embodiment is not limited thereto, and various machine learning or artificial neural network algorithms ” [0060]);
receiving, from the model serving system, a first set of item embeddings, the first set of item embeddings comprising an item embedding for each item of the set of items, wherein the item embeddings of the first set of item embeddings are generated by the model serving system based on the user interaction data (Yoon: “the first user latent vector predicting part 311 may obtain information on items used by the user from the user information obtained by the user interface 600 and/or the usage history database 500, and the first user latent vector may be predicted or generated by weighting the corresponding item latent vector based on the number of times which each item is used and usage time of each item.” [0086] – The vectors are embeddings. [0080-0081]);
processing the first set of item embeddings to generate a user embedding describing the user, wherein the user embedding is in a latent space (Yoon: “predict a second user latent vector from the information on the specific user based on the metadata latent vector generated by the recommendation learning part 200 and the usage history database 500. ” [0050] – “obtain information on items used by the user from the user information obtained by the user interface 600 and/or the usage history database 500, and the second user latent vector may be predicted or generated by weighting the corresponding metadata latent vector based on the number of times which each item is used and usage time of each item for each metadata.” [0087]);
accessing a second set of item embeddings, the second set of item embeddings comprising an item embedding for each candidate item in a set of candidate items of the computer system, wherein each item embedding of the second set of item embeddings is in the latent space (Yoon: “generate a metadata latent vector and an item latent vector based on the item database 400” [0046] – “The item database 400 may store metadata information such as directors, actors, production years, production costs, tags, and average ratings of a variety of movies, and external data information such as movie introduction material, news and blog of the variety of movies.” [0061] – “scores of a plurality of items for the specific user may be respectively calculated to generate the recommendation list based on the scores.” [0088]);
generating, for each candidate item, an interaction score for the candidate item by comparing the item embedding for the candidate item to the user embedding (Yoon: “calculate scores of the at least one recommendation item using an inner product of the user latent vector and the item latent vector” [0052] – “ calculate a score of a specific item for a specific user by using a value obtained by inner product of the item latent vector and either the first user latent vector or the second user latent vector, and scores of a plurality of items for the specific user may be respectively calculated to generate the recommendation list based on the scores.” [0088]);
selecting a candidate item of the set of candidate items to present to the user based on the generated interaction scores (Yoon: “the recommendation item generating part 320 may calculate a score of a specific user for each movie as shown in Equation 5, and recommend a movie having a high score to the user.” [0095] – “ the score for the user may be calculated for each item, and the recommendation list may be generated by ranking the at least one recommendation item based on the scores.” [0100]); and
transmitting information describing the selected candidate item to a client device associated with the user for display to the user (Yoon: “the user interface 600 may provide the recommendation list generated by the item recommendation apparatus 100 to the specific user. … the user interface 600 may be connected to a specific display device, and may … display the recommendation list through the specific display device” [0054] – “item recommendation apparatus may extract movie directors such as movie directors A, B, C, and D, which are predicted to be preferred by the user according to the movie director metadata selected by the user, rank them, and display them on the display device” [0103]).
While Yoon teaches that the plurality of interactions by the user with a set of items is performed via a user interface [0054], it does not specifically teach that the computer system is an online system; concatenating the first set of item embeddings to generate a user embedding array for the user; applying a transformer network to the user embedding array to generate a user embedding describing the user.
However, Jalan teaches a recommendation system that utilizes embeddings [Abstract], including:
that the computer system is an online system (Jalan: “the communication network 108 may include a communication medium through which the electronic device 102 and the set of servers (e.g., the first server 104A and the second server 104B) may communicate with each other. The communication network 108 may be … Internet, a cloud network, ” [0024]);
concatenating the first set of item embeddings to generate a user embedding array for the user (Jalan: “To generate the second embedding 406A …, the concatenation of an item array …, convolution summation of item-user history and item-item similarity … may executed.” [0060] – “determine a second embedding (e.g., a second embedding 406A) associated with each item of the set of items for the user, based on the received second history information” [0059]); and
applying a transformer network to the user embedding array to generate a user embedding describing the user (Jalan: “a second transformer model may be applied on the determined second embedding.” [0060] – “The second embedding 406A may be fed to the second transformer model 110B as an input and the circuitry 202 may use the second transformer model 110B to determine an inference based on the fed second embedding” [0062] – “the second transformer model 110B may correspond to a shared Bidirectional Encoder Representations from Transformers (BERT) model” [0089] – “The inference of the first transformer model 110A may correspond to the at least one user …from the set of users for an item” [0053])
It would have been obvious to one of ordinary skill in the art before the effective filing date of invention to combine these references because the results would be predictable. Specifically, Yoon would continue to teach receiving, from the model serving system, a first set of item embeddings, the first set of item embeddings comprising an item embedding for each item of the set of items, except that now it would also teach that the computer system is an online system; concatenating the first set of item embeddings to generate a user embedding array for the user; applying a transformer network to the user embedding array to generate a user embedding describing the user, according to the teachings of Jalan. This is a predictable result of the combination.
In addition, it would have been obvious to one of ordinary skill in the art before the effective filing date of invention to combine these references because it would result in an improved ability to better understand user requirements and behavior (Jalan: [0003]).
Regarding Claim 2¸ Yoon/Jalan teach the method of claim 1, wherein transmitting the user interaction data to the model serving system comprises providing a prompt to the model serving system to generate the first set of item embeddings using a large language model, wherein the prompt includes the user interaction data (Jalan: “The shared BERT model 102A may be pre-trained on two tasks, such as, masked language modeling (MLM)” [0025] – “the first transformer model 110A may correspond to neural network model, such as, a BERT-based language model.” [0035]).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Yoon with Jalan for the reasons identified above with respect to claim 1.
Regarding Claim 3¸ Yoon/Jalan teach the method of claim 2, wherein the prompt further includes an explanation of the relative importance of each type of interaction of the plurality of interactions described by the user interaction data (Yoon: “the user latent vector predicting part 310 may obtain weights for the user based on the usage history database 500, and may predict the first user latent vector or the second user latent vector using the obtained weights.” [0050] – “weighting the corresponding item latent vector based on the number of times which each item is used and usage time of each item.” [0086]).
Regarding Claim 6¸ Yoon/Jalan teach the method of claim 1, wherein comparing the item embedding for the candidate item to the user embedding comprises computing a loss function representing the difference between the item embedding for the candidate item and the user embedding (Jalan: “The first transformer model 110A may include an objective function L to determine a first recommendation of users relevant to a certain item. The L1 may represent a cross entropy loss function for T1 (for example, a task to recommend users for a certain item, based on item embeddings). The L2 may represent a cross entropy loss function for T2 (for example, a task to recommend items for a certain user, based on user embeddings). ” [0051]).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Yoon with Jalan for the reasons identified above with respect to claim 1.
Regarding Claim 7¸ Yoon/Jalan teach the method of claim 1, wherein the first set of item embeddings include precomputed item embeddings (Yoon: “predict a second user latent vector from the information on the specific user based on the metadata latent vector generated by the recommendation learning part 200 and the usage history database 500. ” [0050] – “the first user latent vector predicting part 311 may obtain information on items used by the user from the user information obtained by the user interface 600 and/or the usage history database 500, and the first user latent vector may be predicted or generated by weighting the corresponding item latent vector based on the number of times which each item is used and usage time of each item.” [0086]).
Regarding Claim 8¸ Yoon/Jalan teach the method of claim 7, wherein receiving, from the model serving system, the first set of item embeddings comprises accessing the precomputed item embeddings based on a mapping between item identifiers and item embeddings (Yoon: “generate a metadata latent vector and an item latent vector based on the item database 400” [0046] – “The item database 400 may store metadata information such as directors, actors, production years, production costs, tags, and average ratings of a variety of movies, and external data information such as movie introduction material, news and blog of the variety of movies.” [0061]).
Regarding Claim 10¸ Yoon/Jalan teach the method of claim 1, further comprising training the transformer network based on a set of training examples, wherein each training example in the set of training examples includes user interaction data describing an interaction between a user and an item, an item identifier for the item with which the user interacted, and a label of whether the user interacted with the item (Yoon: “generating training data by grouping two different metadata into one pair when there are different metadata in one item. For example, assuming that tag information is included in the metadata of the movie, if the movie A includes ‘#calm’ and ‘#romantic’ as its tag information, the training data may be generated as (a metadata value indicating ‘#calm’, a metadata value indicating ‘#romantic’).” [0067] – “the first training set may be generated by pairing metadata values included in the items used by the user. For example, if two items used by the user both include metadata values i and j, and the user evaluates both items positively, then a piece of training data, which is to be included in the first training set, may be generated by grouping i and j into a pair.” [0058]).
Regarding Claims 11-13, 16-17, 19, the limitations of claims 11-13 & 16-17 & 19 are closely parallel to the limitations of claims 1-3 and 6-7 and 10, with the additional limitation of A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform steps (Yoon: [0055]), and are rejected on the same basis.
Regarding Claim 20, the limitations of claim 20 are closely parallel to the limitations of claims 1, with the additional limitation of A system comprising: a processor; and a non-transitory computer-readable medium storing instructions that, when executed by the processor, cause the processor to perform steps (Yoon: [0055]), and are rejected on the same basis.
Claims 4-5 and 14-15 are rejected under 35 U.S.C. 103 as being unpatentable over Yoon, in view of Jalan, and further in view of Kulkarni et al (US 20220107852 A1) hereinafter Kulkarni.
Regarding Claim 4, Yoon/Jalan teach the method of claim 1, but do not specifically teach that concatenating the first set of item embeddings to generate a user embedding array for the user further comprises: for each item embedding of the first set of item embeddings, modifying the item embedding based on a time representation, wherein the time representation is an embedding that represents a timestamp at which an interaction with the item corresponding to the item embedding occurred.
However, Kulkarni teaches a system for making suggestions to a user [Abstract], including for each item embedding of the first set of item embeddings, modifying the item embedding based on a time representation, wherein the time representation is an embedding that represents a timestamp at which an interaction with the item corresponding to the item embedding occurred (Kulkarni: “ each time-difference feature embedding represents a respective timestamp differential relative to one or more consecutive activity events determined at act 402. Accordingly, the user activity sequence system 104 can then group, into the sequence of activity event vectors, activity event vectors that comprise a feature embedding of a timestamp differential less than or equal to an activity timeout threshold” [0094] – “group the sequence of activity event vectors for generating a series of sequential tokens by grouping, into the sequence of activity event vectors, activity event vectors based on timestamps of corresponding feature embeddings.” [0137]).
It would have been obvious to one of ordinary skill in the art before the effective filing date of invention to combine these references because the results would be predictable. Specifically, Yoon/Jalan would continue to teach concatenating the first set of item embeddings to generate a user embedding array for the user, except that now it would also teach for each item embedding of the first set of item embeddings, modifying the item embedding based on a time representation, wherein the time representation is an embedding that represents a timestamp at which an interaction with the item corresponding to the item embedding occurred, according to the teachings of Kulkarni. This is a predictable result of the combination.
In addition, it would have been obvious to one of ordinary skill in the art before the effective filing date of invention to combine these references because it would result in an improved accuracy of predicted user activity event (Kulkarni: [0026]).
Regarding claim 5, Yoon/Jalan/Kulkarni teach the method of claim 4, wherein modifying the item embedding based on the time representation comprises concatenating the item embedding with the time representation (Kulkarni: “concatenate feature vector embeddings to generate an activity event vector. …each time-difference feature embedding represents a respective timestamp differential relative to one or more consecutive activity events” [0078] ).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Kulkarni with Yoon/Jalan for the reasons identified above with respect to claim 4.
Regarding Claims 14-15, the limitations of claims 14-15 are closely parallel to the limitations of claims 4-5, and are rejected on the same basis.
Claims 9 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Yoon, in view of Jalan, and further in view of Mahajan (US 20240320054 A1).
Regarding Claim 9, Yoon/Jalan teach the method of claim 1, but do not teach that the first set of item embeddings are stored in central processing unit (CPU) memory and wherein parameters of the transformer network are stored in graphics processing unit (GPU) memory.
However, Mahajan teaches a recommendation model (Mahajan: [0005]), including that the first set of item embeddings are stored in central processing unit (CPU) memory and wherein parameters of the transformer network are stored in graphics processing unit (GPU) memory (Mahajan: “ In the hybrid CPU-GPU mode, a CPU (with associated main memory) provides high memory capacity for a set of embeddings” [0053] – “the GPU(s) update network parameters, which can be buffered in GPU memory, and the GPU(s) update frequently accessed values stored in GPU memory.” [0098]).
It would have been obvious to one of ordinary skill in the art before the effective filing date of invention to combine these references because the results would be predictable. Specifically, Yoon/Jalan would continue to teach the first set of item embeddings, except that now it would also teach that the first set of item embeddings are stored in central processing unit (CPU) memory and wherein parameters of the transformer network are stored in graphics processing unit, according to the teachings of Mahajan. This is a predictable result of the combination.
In addition, it would have been obvious to one of ordinary skill in the art before the effective filing date of invention to combine these references because it would result in an improved ability to use resources more efficiently (Mahajan: [0004]).
Regarding Claims 18, the limitations of claims 18 are closely parallel to the limitations of claims 9, and are rejected on the same basis.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
US 20190251184 A1 teaches a system for storing embeddings in CPU memory and model data in GPU memory for predicting items to present to a user.
US10949432 B1 teaches a recommendation system that concatenates embeddings against timestamps representing historical interaction data.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to THOMAS J SULLIVAN whose telephone number is (571)272-9736. The examiner can normally be reached Mon - Fri 8-5 MT.
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, Marissa Thein can be reached on (571) 272-6764. 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.
/T.J.S./Examiner, Art Unit 3689
/MARISSA THEIN/Supervisory Patent Examiner, Art Unit 3689