DETAILED ACTION
This action is in response to a filing filed on October 15th, 2024. Claims 1-20 have been examined in this application. The Information Disclosure Statement (IDS) filed on October 15th, 2024 has been acknowledged.
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 .
Claim Rejections - 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 a judicial exception (i.e. an abstract idea) without significantly more.
Step 1: Claims 1-8 is/are drawn to method (i.e., a process), and claims 9-15 is/are drawn to computer readable medium (i.e., a manufacture), and claims 17-20 is/are drawn to computing device (i.e., a manufacture). (Step 1: YES).
Step 2A - Prong One: In prong one of step 2A, the claim(s) is/are analyzed to evaluate whether it/they recite(s) a judicial exception.
Claim 1: A computer-implemented method to provide content item recommendations to a particular user, the method comprising:
obtaining, by a processor, a plurality of user-feature embeddings based on respective user features for a plurality of users;
generating, by the processor, a respective user embedding for each user of the plurality of users based on the plurality of user-feature embeddings using a first deep neural network (DNN);
organizing, by the processor, the plurality of users into a plurality of clusters based on respective user embeddings;
identifying, by the processor, using a nearest neighbor indexing technique, one or more particular clusters of the plurality of clusters based on a respective distance between the plurality of clusters and a particular user embedding of the particular user;
identifying, by the processor, a plurality of candidate content items for recommendation to the particular user by, for each particular cluster of the one or more particular clusters,
calculating, by the processor, a respective term-frequency (TF)-inverse document frequency (IDF) (TF-IDF) metric for each content item of a plurality of content items interacted with by at least one user associated with that cluster;
and assigning, by the processor, a respective rank to the plurality of content items based on the respective TF-IDF metric;
and providing, by the processor, one or more of the plurality of candidate content items based on the respective ranks to a client device of the particular user for display in a user interface.
(Examiner notes: The underlined claim terms above are interpreted as additional elements beyond the abstract idea and are further analyzed under Step 2A - Prong Two)
Under their broadest reasonable interpretation, the independent claims is/are directed to the abstract idea of organizing human activity, specifically the claim recites collecting user interaction data, organizing users into groups, calculating statistical metrics (TF-IDF), ranking content items based on those metrics, and providing ranked items for display. These steps describe a process of analyzing information and using mathematical relationships to determine recommendations. The calculating of term frequency and inverse document frequency metrics, computing distances between embeddings, organizing users into clusters, and ranking items are mathematical concepts and data analysis operations. Courts have consistently held that collecting information, analyzing it using mathematical techniques, and presenting results constitute abstract ideas (e.g., mathematical relationships, organizing human activity, and certain methods of organizing information). The claimed method merely implements these mathematical and data-processing techniques on a generic processor to recommend content, which amounts to organizing and evaluating information for commercial interaction. Accordingly, independent claims is/are directed to a judicial exception in the form of mathematical concepts and certain methods of organizing human activity. Thus, the claimed subject matter is directed to an abstract idea falling within the judicial exception category of “certain methods of organizing human activity”. From applicant’s specification, the claimed invention is implemented to “identifying a plurality of candidate content items for recommendation to the particular user by, for each particular cluster of the one or more particular clusters, calculating a respective TF-IDF metric for each content item of a plurality of content items interacted with by at least one user associated with that cluster. The method may include identifying a plurality of candidate content items for recommendation to the particular user by, for each particular cluster of the one or more particular clusters, assigning a respective rank to the plurality of content items based on the respective TF-IDF metric. The method may include providing one or more of the plurality of candidate content items based on the respective ranks to a client device of the particular user for display in a user interface” (see 0021 of instant specification). The claims recite a method of organizing human activity, specifically steps of recites a grouping users and ranking items by relevance to recommend content. The Examiner notes that although the claim limitations are summarized, the analysis regarding subject matter eligibility considers the entirety of the claim and all of the claim elements individually, as a whole, and in ordered combination.
The dependent claims 2-8 do not add subject matter that meaningfully limits the abstract idea. Claim 2 further specifies the mathematical formula for calculating TF-IDF using ratios and logarithmic functions, which merely adds additional mathematical relationships. Claims 3 and 4 specify calculating distances between embeddings and clustering to minimize intra-cluster variance and maximize inter-cluster variance; these are mathematical optimization techniques and statistical data organization steps. Claim 5 recites filtering items based on thresholds such as retention rate or frequency, which are additional data evaluation rules. Claim 6 recites selecting known clustering algorithms (e.g., K-means, DBSCAN, GMM), which are conventional mathematical techniques. Claim 7 specifies a two-tower neural network architecture trained to minimize vector distance between associated pairs, which is a well-known machine-learning framework for recommendation systems. Claim 8 recites generating a cold-start embedding via a forward pass, which is a routine inference step of a trained neural network. Accordingly, the Collectively, the dependent claims merely refine the mathematical analysis, data grouping, and ranking operations of independent claims using additional conventional mathematical models or known machine-learning implementations. None of the dependent claims recite a specific improvement to computer functionality, a new data structure, or a particular technical solution beyond the abstract data analysis and recommendation concept. Accordingly, claims 2–8 is/are directed to the same abstract idea as Claim 1 and do not add significantly more., which falls within a judicial exception under 35 U.S.C. §101.
Independent claim(s) 9 and 16 recite/describe nearly identical steps (and therefore also recite limitations that fall within this subject matter grouping of abstract ideas), and this/these claim(s) is/are therefore determined to recite an abstract idea under the same analysis.
As such, the Examiner concludes that claims 1 recites an abstract idea (Step 2A – Prong One: YES).
Step 2A - Prong Two: In prong two of step 2A, an evaluation is made whether a claim recites any additional element, or combination of additional elements, that integrate the exception into a practical application of that exception. An “addition element” is an element that is recited in the claim in addition to (beyond) the judicial exception (i.e., an element/limitation that sets forth an abstract idea is not an additional element). The phrase “integration into a practical application” is defined as requiring an additional element or a combination of additional elements in the claim to apply, rely on, or use the judicial exception in a manner that imposes a meaningful limit on the judicial exception, such that it is more than a drafting effort designed to monopolize the exception.
The requirement to execute the claimed steps/functions using by a processor, deep neural network, client device, user interface, etc. (Claims 1, 9, and 16) is/are equivalent to adding the words “apply it” on a generic computer and/or mere instructions to implement the abstract idea on a generic computer.
Similarly, the limitations of using a processor, deep neural network, client device, user interface, etc. (Claims 1, 9, and 16, and dependent claims 2-8, 10-15, and 17-20) are recited at a high level of generality and amount to no more than mere instructions to apply the exception using generic computer components. This/these limitation(s) do/does not impose any meaningful limits on practicing the abstract idea, and therefore do/does not integrate the abstract idea into a practical application (see MPEP 2106.05(f)).
Further, the additional limitations beyond the abstract idea identified above, serves merely to generally link the use of the judicial exception to a particular technological environment or field of use. Specifically, it/they serve(s) to limit the application of the abstract idea to computerized environments (e.g., obtain, generate, provide, organize, identify, calculate, assign, etc. steps performed by a processor, deep neural network, client device, user interface, etc.). This reasoning was demonstrated in Intellectual Ventures I LLC v. Capital One Bank (Fed. Cir. 2015), where the court determined "an abstract idea does not become nonabstract by limiting the invention to a particular field of use or technological environment, such as the Internet [or] a computer"). This/these limitation(s) do/does not impose any meaningful limits on practicing the abstract idea, and therefore do/does not integrate the abstract idea into a practical application (see MPEP 2106.05(h)).
The recited additional element(s) steps of involve collecting data, performing mathematical analysis on that data, and displaying the results. The step of “obtaining” user-feature embeddings constitutes insignificant pre-solution data gathering because it merely collects information for use in the claimed mathematical analysis. Data gathering activities that provide input for an abstract idea are considered insignificant extra-solution activity under MPEP §2106.05(g). Similarly, the step of “providing” ranked content items to a client device for display constitutes insignificant post-solution activity. Displaying or transmitting the results of a mathematical analysis does not meaningfully limit the abstract idea but merely communicates the outcome of the analysis. The recitation that the steps are performed “by a processor” and that a “deep neural network” is used amounts to implementing the abstract idea using generic computing components performing their ordinary functions of processing, analyzing, and displaying data. The claim does not recite a specific improvement to computer functionality, a new data structure, or a specialized hardware configuration. Rather, the processor and neural network serve only as tools to carry out the abstract mathematical operations. Accordingly, the additional elements of independent claims the abstract idea into a practical application and constitute insignificant extra-solution activity and fail to integrate (Independent Claims 1, 9, and 16), additionally and/or alternatively simply append insignificant extra-solution activity to the judicial exception, (e.g., mere pre-solution activity, such as data gathering, in conjunction with an abstract idea). This/these limitation(s) do/does not impose any meaningful limits on practicing the abstract idea, and therefore do/does not integrate the abstract idea into a practical application. (See MPEP 2106.05(g)).
Dependent claims 2-8, 10-15, and 17-20 fail to include any additional elements. In other words, each of the limitations/elements recited in respective dependent claims is/are further part of the abstract idea as identified by the Examiner for each respective dependent claim (i.e., they are part of the abstract idea recited in each respective claim).
The Examiner has therefore determined that the additional elements, or combination of additional elements, do not integrate the abstract idea into a practical application. Accordingly, the claim(s) is/are directed to an abstract idea (Step 2A – Prong two: NO).
Step 2B: In step 2B, the claims are analyzed to determine whether any additional element, or combination of additional elements, is/are sufficient to ensure that the claims amount to significantly more than the judicial exception. This analysis is also termed a search for an "inventive concept." An "inventive concept" is furnished by an element or combination of elements that is recited in the claim in addition to (beyond) the judicial exception, and is sufficient to ensure that the claim as a whole amounts to significantly more than the judicial exception itself. Alice Corp., 134 S. Ct. at 2355, 110 USPQ2d at 1981 (citing Mayo, 566 U.S. at 72-73, 101 USPQ2d at 1966).
As discussed above in “Step 2A – Prong 2”, the identified additional elements in independent Claims 1, 9, and 16, and dependent claims 2-8, 10-15, and 17-20 are equivalent to adding the words “apply it” on a generic computer, and/or generally link the use of the judicial exception to a particular technological environment or field of use. Therefore, the claims as a whole do not amount to significantly more than the judicial exception itself.
The recited additional element(s) of outputting a plurality of tokens, presenting the communication record in a standardized form and displaying on a graphical user interface (Independent Claims 1, 9, and 16), additionally and/or alternatively simply append insignificant extra-solution activity to the judicial exception, (e.g., mere pre-solution activity, such as data gathering, in conjunction with an abstract idea), i.e. these steps merely perform the steps of collecting data, performing mathematical analysis on that data, and displaying the results. The step of “obtaining” user-feature embeddings constitutes insignificant pre-solution data gathering because it merely collects information for use in the claimed mathematical analysis, which is similar to “Receiving or transmitting data over a network, e.g., using the Internet to gather data”, Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information), “Storing and retrieving information in memory”, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93; “Presenting offers to potential customers and gathering statistics generated based on the testing about how potential customers responded to the offers; the statistics are then used to calculate an optimized price”, OIP Technologies, 788 F.3d at 1363, 115 USPQ2d at 1092-93, Determining an estimated outcome and setting a price, OIP Techs., 788 F.3d at 1362-63, 115 USPQ2d at 1092-93, is a well-understood, routine, and conventional function when it is claimed in a merely generic manner (as it is here) (See MPEP 2106.05(d) (II)).
This conclusion is based on a factual determination. Applicant’s own disclosure at paragraph [0133] acknowledges that “the plurality of candidate content items for recommendation may be identified by calculating a respective TF-IDF metric for each content item of a plurality of content items interacted with by at least one user associated with that cluster. In some implementations, the plurality of candidate content items for recommendation may be identified by assigning a respective rank to the plurality of content items based on the respective TF-IDF metric” This additional element therefore do not ensure the claim amounts to significantly more than the abstract idea.
Viewing the additional limitations in combination also shows that they fail to ensure the claims amount to significantly more than the abstract idea. When considered as an ordered combination, the additional components of the claims add nothing that is not already present when considered separately, and thus simply append the abstract idea with words equivalent to “apply it” on a generic computer and/or mere instructions to implement the abstract idea on a generic computer or/and append the abstract idea with insignificant extra solution activity associated with the implementation of the judicial exception, (e.g., mere data gathering, post-solution activity) and/or simply appending well-understood, routine, conventional activities previously known to the industry, specified at a high level of generality, to the judicial exception.
The dependent claims 2-8, 9-15, and 17-20 fail to include any additional elements. In other words, each of the limitations/elements recited in respective independent claims is/are further part of the abstract idea as identified by the Examiner for each respective dependent claim (i.e., they are part of the abstract idea recited in each respective claim).
Specifically, claims 2-8, 9-15, and 17-20 likewise fail to integrate the abstract idea into a practical application. Claims 2, 10, and 17 further specifies the mathematical formula used to calculate TF-IDF, including ratios and logarithmic functions. These limitations merely refine the mathematical analysis already identified in independent claims and therefore remain within the abstract idea itself. Claims 3-4, 11-12, and 18 recite calculating distances between embeddings and performing clustering to minimize intra-cluster variance and maximize inter-cluster variance. These limitations describe additional mathematical optimization and statistical grouping techniques and do not impose any technological improvement beyond the abstract data analysis. Claims 5, 13, and 20 recites filtering candidate content items based on thresholds such as retention rate, frequency, or cluster size. These filtering rules represent additional evaluation criteria applied to data and constitute further data analysis steps. Claims 6 and 14 specifies that clustering may be performed using known algorithms such as K-means, hierarchical clustering, DBSCAN, HDBSCAN, or Gaussian mixture models. The selection of conventional clustering algorithms does not integrate the abstract idea into a practical application but merely identifies well-known mathematical techniques for performing the abstract clustering function. Claims 7 and 15 recites a two-tower neural network architecture jointly trained to minimize vector distance between associated user-item pairs. This limitation describes a conventional machine-learning architecture used for recommendation systems and represents a particular implementation of the abstract embedding and similarity analysis. Claims 8 and 15 recites generating a cold-start user embedding via a forward pass through a neural network, which is a routine inference step performed by a trained model. These limitations merely describe conventional implementations of mathematical modeling techniques and do not reflect an improvement in computer functionality or any specialized hardware configuration.
Collectively, the dependent claims add only further mathematical analysis, statistical modeling, and conventional machine-learning implementation details. None of these limitations meaningfully limit the abstract idea or integrate it into a practical application. Accordingly, the additional limitations of the dependent claims do not amount to significantly more than the abstract idea and therefore fail to provide an inventive concept under Step 2B. Because these elements do not solve a specific technical problem or offer a technical improvement over existing systems, they are viewed as merely "applying" the abstract idea on a generic computer, thus failing to provide a practical application that would render the claims patent-eligible, and therefore do not add an inventive concept sufficient to transform the abstract idea into patent-eligible subject matter.
When viewed as an ordered combination, the additional elements of claims 2-9, 11-18, and 20 merely instruct to implement the abstract idea using generic computer components to collect, store, represent, and display information. The claims do not recite any unconventional arrangement of elements, nor do they effect an improvement to computer functionality or another technical field and therefore fail to integrate the abstract concept into a practical application and it is recited at a high level of generality and does not integrate the judicial exception into a practical application.
The Examiner has therefore determined that no additional element, or combination of additional claims elements is/are sufficient to ensure the claim(s) amount to significantly more than the abstract idea identified above (Step 2B: NO).
Therefore, claims 1-20 are not eligible subject matter under 35 USC 101.
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 of this title, 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.
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 factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
Determining the scope and contents of the prior art.
Ascertaining the differences between the prior art and the claims at issue.
Resolving the level of ordinary skill in the pertinent art.
Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. 20230091110 (“Muhlstein”) in view of U.S. Pub. 20180165302 (“Tanglertsampan”).
As per claims 1, 9, and 16, Muhlstein discloses, obtaining, by a processor, a plurality of user-feature embeddings based on respective user features for a plurality of users (Examiner interprets Obtaining user-feature embeddings reasonably reads on extracting user-related feature representations and transforming them into vector embeddings using a neural network. Encoding user attributes and interactions into embedding vectors constitutes “obtaining user-feature embeddings.”) (“The user embedding network is a learned mapping between a user attribute vector (e.g., a vector from user properties, such as gender, age, location, user interests) and a sequence of user-item interaction vectors from user interactions with content generated by a neural network (e.g., a recurrent neural network). The user embedding network is configured in a manner that enables efficient updating of the user embedding and the subsequent recommendations without contacting the server. The user embedding network is also constructed so as to enable the preservation of user privacy because the complex dynamic user embedding obfuscates the user's identity. According to some example embodiments, training is performed using triplet loss and a dual neural network (e.g., a Siamese neural network) that preserves relative numerical distances between the user embeddings and item embeddings …”) (0073-0076, 0114);
generating, by the processor, a respective user embedding for each user of the plurality of users based on the plurality of user-feature embeddings using a first deep neural network (DNN) (Examiner interprets the user embedding network constitutes the claimed “first DNN” that generates user embeddings from feature inputs) (“The item embedding network is a learned mapping between an item property vector (e.g., a vector from item properties or attributes, such as title, view count, length) and an embedding vector generated from the item (e.g., an embedding vector generated by a fully connected neural network). The user embedding network is a learned mapping between a user attribute vector (e.g., a vector from user properties, such as gender, age, location, user interests) and a sequence of user-item interaction vectors from user interactions with content generated by a neural network (e.g., a recurrent neural network). The user embedding network is configured in a manner that enables efficient updating of the user embedding and the subsequent recommendations without contacting the server. The user embedding network is also constructed so as to enable the preservation of user privacy because the complex dynamic user embedding obfuscates the user's identity …”) (0073-0076, 0114);
identifying, by the processor, using a nearest neighbor indexing technique, one or more particular clusters of the plurality of clusters based on a respective distance between the plurality of clusters and a particular user embedding of the particular user (Examiner notes retrieves nearest items rather than clusters, selecting nearest clusters represented in embedding space is analogous to nearest neighbor retrieval of embeddings. Once clusters are formed (as taught by Tanglertsampan), selecting the nearest cluster based on embedding distance is a predictable extension of Muhlstein’s nearest neighbor retrieval) (“The joint embedding system is designed to embed users and items in the same space (e.g., embedding space, feature space) in a manner that respects relative distance relations defined between users and items (e.g., content items, images, articles, videos, friend posts, etc.). This allows recommendations to be generated by finding the nearest item neighbors to a given user (e.g., nearest neighbor to that user's embedding in the shared embedding space). According to some example embodiments, the embeddings are generated by two separate networks: an item embedding network for embedding items of content, and a user embedding network for embedding users”) (0072, 0100-0101);
identifying, by the processor, a plurality of candidate content items for recommendation to the particular user by, for each particular cluster of the one or more particular clusters (Examiner interprets retrieving nearest story embeddings constitutes identifying candidate content items for recommendation) (“FIG. 7 shows a user embedding network 700, according to some example embodiments. The user embedding network 700 is a learned mapping between a user attribute vector and a sequence of user-item interaction vectors. The user embedding network 700 is configured to enable efficient updating of the user representation and the subsequent recommendations without contacting the server …”) (0104, 0141-0142, Fig. 7),
and assigning, by the processor, a respective rank to the plurality of content items based on the respective TF-IDF metric (Examiner notes that the underline limitation is disclose by another prior art. Examiner interprets that Muhlstein teaches ranking based on computed relevance score. Substituting TF-IDF as the ranking metric (as taught by Tanglertsampan) is a predictable substitution of one known scoring technique for another.) (“the nearest neighbor engine 925 determines nearest story embeddings that are nearest to the new updated user embedding. For example, the nearest neighbor engine 925 computes the inner product between the updated user embedding and the multiple available story embeddings to determine a set of nearest story embeddings (e.g., top three nearest story embeddings, etc.) … the nearest embeddings are ranked in order of nearness to the updated user embedding. In some example embodiments, operation 1025 is omitted where the nearest story embeddings are automatically ranked in the nearest neighbor operation (e.g., operation 1020)”) (0141-0142, Figs. 10-11);
and providing, by the processor, one or more of the plurality of candidate content items based on the respective ranks to a client device of the particular user for display in a user interface (Examiner interprets the content item 1225 displayed on the client device is similar to providing content item) (“the user 1200 operates a client device 102 executing the application 104, which is displaying stories 1215 (e.g., articles, thumbnails linked to articles or multi-page documents) and user posts 1220. Assuming the user selects content item 1225, then, with reference to FIG. 1213 the content item 1225 is displayed in the application 104 as shown in FIG. 12B”) (0147-0148).
Muhlstein specifically doesn’t disclose, organizing, by the processor, the plurality of users into a plurality of clusters based on respective user embeddings and calculating, by the processor, a respective term-frequency (TF)-inverse document frequency (IDF) (TF-IDF) metric for each content item of a plurality of content items interacted with by at least one user associated with that cluster, however Tanglertsampan discloses, organizing, by the processor, the plurality of users into a plurality of clusters based on respective user embeddings (Examiner notes clustering users based on similarity metrics reasonably reads on organizing users into clusters based on embeddings. Embeddings represent similarity relationships; clustering embedding vectors is a predictable implementation of known clustering techniques) (“the method 400 can apply a spectral clustering technique to at least a portion of a similarity graph to generate clusters of geographic sub-regions constituting geographic regions. At block 404, the method 400 can perform a tf-idf technique to determine pages of a social networking system associated with a geographic region as potential local suggestions for a user associated with a geographic sub-region in the geographic region. At block 406, the method 400 can present references to at least a portion of the pages as local suggestions to the user. Other suitable techniques that incorporate various features and embodiments of the present technology are possible”) (0046);
based on the respective TF-IDF metric (“a score for each page in a metropolitan area can be determined based on the tf-idf technique. A score for a page can be determined by the product of the following equations: … method 500 can normalize a tf term by m.sub.f, where m.sub.f is a maximum number of likes by users in a metropolitan area for a page over all pages in the metropolitan area. At block 504, the method 500 can adjust a value of a constant k to tune a ratio between a number of relatively small pages and a number of relatively large pages in the pages. At block 506, the method 500 can count only metropolitan areas in which a number of users who like a page satisfies a selected threshold amount for n.sub.p, where n.sub.p is a number of metropolitan areas with users who like a page. Other suitable techniques that incorporate various features and embodiments of the present technology are possible”) (0038-0048, Figs. 4-5)
calculating, by the processor, a respective term-frequency (TF)-inverse document frequency (IDF) (TF-IDF) metric for each content item of a plurality of content items interacted with by at least one user associated with that cluster (Examiner interprets TF-IDF scoring of content items based on clustered user interactions. Mapping: Metropolitan areas – clusters; pages – content items; user like – interaction frequency) (“tf-idf technique can be performed based on the information to determine important pages for each metropolitan area. In some embodiments, a tf-idf technique can be performed in which metropolitan areas can correspond to documents; pages of a social networking system that are liked (or fanned) by users in the metropolitan areas can correspond to terms in the documents; and, a number of users that like a page can correspond to frequency of terms. In some embodiments, a score for each page in a metropolitan area can be determined based on the tf-idf technique. A score for a page can be determined by the product of the following equations: … method 500 can normalize a tf term by m.sub.f, where m.sub.f is a maximum number of likes by users in a metropolitan area for a page over all pages in the metropolitan area. At block 504, the method 500 can adjust a value of a constant k to tune a ratio between a number of relatively small pages and a number of relatively large pages in the pages. At block 506, the method 500 can count only metropolitan areas in which a number of users who like a page satisfies a selected threshold amount for n.sub.p, where n.sub.p is a number of metropolitan areas with users who like a page. Other suitable techniques that incorporate various features and embodiments of the present technology are possible”) (0038-0048, Figs. 4-5).
It would have been obvious to a person of ordinary skill in the art before the effective filling date of the applicant’s invention for obtaining, by a processor, a plurality of user-feature embeddings based on respective user features for a plurality of users; generating, by the processor, a respective user embedding for each user of the plurality of users based on the plurality of user-feature embeddings using a first deep neural network (DNN), identifying, by the processor, using a nearest neighbor indexing technique, one or more particular clusters of the plurality of clusters based on a respective distance between the plurality of clusters and a particular user embedding of the particular user; identifying, by the processor, a plurality of candidate content items for recommendation to the particular user by, for each particular cluster of the one or more particular clusters, and assigning, by the processor, a respective rank to the plurality of content items based on the respective TF-IDF metric; and providing, by the processor, one or more of the plurality of candidate content items based on the respective ranks to a client device of the particular user for display in a user interface, as taught by Muhlstein, organizing, by the processor, the plurality of users into a plurality of clusters based on respective user embeddings and calculating, by the processor, a respective term-frequency (TF)-inverse document frequency (IDF) (TF-IDF) metric for each content item of a plurality of content items interacted with by at least one user associated with that cluster, as taught by Tanglertsampan for the purpose for tailoring content items to reflect user interests to transform the user experience, thereby harnessing the full power of the social networking system.
As per claims 2, 10, and 17, Muhlstein specifically doesn’t disclose, calculating a TF metric as ratio of a number of users in the particular cluster that interacted with the content item and a total number of users in the particular cluster; calculating an IDF metric as logarithm of a ratio of a total number of the plurality of clusters divided by a number of the plurality of clusters that include at least one user that interacted with the content item; and calculating the TF-IDF metric for the content item by multiplying the TF metric with the IDF metric, however Tanglertsampan discloses, calculating a TF metric as ratio of a number of users in the particular cluster that interacted with the content item and a total number of users in the particular cluster (Examiner interprets TF calculation is associated to geographic regions as documents and pages as terms, user corresponds to term frequency) (“tf-idf technique can be performed based on the information to determine important pages for each metropolitan area. In some embodiments, a tf-idf technique can be performed in which metropolitan areas can correspond to documents; pages of a social networking system that are liked (or fanned) by users in the metropolitan areas can correspond to terms in the documents; and, a number of users that like a page can correspond to frequency of terms. In some embodiments, a score for each page in a metropolitan area can be determined based on the tf-idf technique. A score for a page can be determined by the product of the following equations: … method 500 can normalize a tf term by m.sub.f, where m.sub.f is a maximum number of likes by users in a metropolitan area for a page over all pages in the metropolitan area. At block 504, the method 500 can adjust a value of a constant k to tune a ratio between a number of relatively small pages and a number of relatively large pages in the pages. At block 506, the method 500 can count only metropolitan areas in which a number of users who like a page satisfies a selected threshold amount for n.sub.p, where n.sub.p is a number of metropolitan areas with users who like a page. Other suitable techniques that incorporate various features and embodiments of the present technology are possible”) (0038-0048, Figs. 4-5);
calculating an IDF metric as logarithm of a ratio of a total number of the plurality of clusters divided by a number of the plurality of clusters that include at least one user that interacted with the content item (Examiner interprets the mathematical TF-IDF formula including normalization and document frequency logic) (“tf-idf technique can be performed based on the information to determine important pages for each metropolitan area. In some embodiments, a tf-idf technique can be performed in which metropolitan areas can correspond to documents; pages of a social networking system that are liked (or fanned) by users in the metropolitan areas can correspond to terms in the documents; and, a number of users that like a page can correspond to frequency of terms. In some embodiments, a score for each page in a metropolitan area can be determined based on the tf-idf technique. A score for a page can be determined by the product of the following equations: … method 500 can normalize a tf term by m.sub.f, where m.sub.f is a maximum number of likes by users in a metropolitan area for a page over all pages in the metropolitan area. At block 504, the method 500 can adjust a value of a constant k to tune a ratio between a number of relatively small pages and a number of relatively large pages in the pages. At block 506, the method 500 can count only metropolitan areas in which a number of users who like a page satisfies a selected threshold amount for n.sub.p, where n.sub.p is a number of metropolitan areas with users who like a page. Other suitable techniques that incorporate various features and embodiments of the present technology are possible”) (0038-0048, Figs. 4-5);
and calculating the TF-IDF metric for the content item by multiplying the TF metric with the IDF metric (Examiner interprets the mathematical TF-IDF formula including normalization and document frequency logic) (“tf-idf technique can be performed based on the information to determine important pages for each metropolitan area. In some embodiments, a tf-idf technique can be performed in which metropolitan areas can correspond to documents; pages of a social networking system that are liked (or fanned) by users in the metropolitan areas can correspond to terms in the documents; and, a number of users that like a page can correspond to frequency of terms. In some embodiments, a score for each page in a metropolitan area can be determined based on the tf-idf technique. A score for a page can be determined by the product of the following equations: … method 500 can normalize a tf term by m.sub.f, where m.sub.f is a maximum number of likes by users in a metropolitan area for a page over all pages in the metropolitan area. At block 504, the method 500 can adjust a value of a constant k to tune a ratio between a number of relatively small pages and a number of relatively large pages in the pages. At block 506, the method 500 can count only metropolitan areas in which a number of users who like a page satisfies a selected threshold amount for n.sub.p, where n.sub.p is a number of metropolitan areas with users who like a page. Other suitable techniques that incorporate various features and embodiments of the present technology are possible”) (0038-0048, Figs. 4-5).
It would have been obvious to a person of ordinary skill in the art before the effective filling date of the applicant’s invention for obtaining, by a processor, a plurality of user-feature embeddings based on respective user features for a plurality of users; generating, by the processor, a respective user embedding for each user of the plurality of users based on the plurality of user-feature embeddings using a first deep neural network (DNN), identifying, by the processor, using a nearest neighbor indexing technique, one or more particular clusters of the plurality of clusters based on a respective distance between the plurality of clusters and a particular user embedding of the particular user; identifying, by the processor, a plurality of candidate content items for recommendation to the particular user by, for each particular cluster of the one or more particular clusters, and assigning, by the processor, a respective rank to the plurality of content items based on the respective TF-IDF metric; and providing, by the processor, one or more of the plurality of candidate content items based on the respective ranks to a client device of the particular user for display in a user interface, as taught by Muhlstein, calculating a TF metric as ratio of a number of users in the particular cluster that interacted with the content item and a total number of users in the particular cluster; calculating an IDF metric as logarithm of a ratio of a total number of the plurality of clusters divided by a number of the plurality of clusters that include at least one user that interacted with the content item; and calculating the TF-IDF metric for the content item by multiplying the TF metric with the IDF metric, as taught by Tanglertsampan for the purpose for tailoring content items to reflect user interests to transform the user experience, thereby harnessing the full power of the social networking system.
As per claims 3, 11, and 18, Muhlstein discloses, calculating respective distances between pairs of user embeddings from the respective user embedding for each user of the plurality of users (Examiner interprets embedding distance calculation is associated with clustering based on similarity graph) (“The joint embedding system is designed to embed users and items in the same space (e.g., embedding space, feature space) in a manner that respects relative distance relations defined between users and items (e.g., content items, images, articles, videos, friend posts, etc.). This allows recommendations to be generated by finding the nearest item neighbors to a given user (e.g., nearest neighbor to that user's embedding in the shared embedding space). According to some example embodiments, the embeddings are generated by two separate networks: an item embedding network for embedding items of content, and a user embedding network for embedding users”) (0072, 0100-0101).
Muhlstein specifically doesn’t disclose, and assigning individual users of the plurality of users to the plurality of clusters based on the respective distances, however Tanglertsampan discloses, and assigning individual users of the plurality of users to the plurality of clusters based on the respective distances (Examiner interprets Cluster assignment based on similarity graph based on embedding distances i.e. embeddings are numerical similarity representations; clustering naturally operates on similarity measures) (“the method 400 can apply a spectral clustering technique to at least a portion of a similarity graph to generate clusters of geographic sub-regions constituting geographic regions. At block 404, the method 400 can perform a tf-idf technique to determine pages of a social networking system associated with a geographic region as potential local suggestions for a user associated with a geographic sub-region in the geographic region. At block 406, the method 400 can present references to at least a portion of the pages as local suggestions to the user. Other suitable techniques that incorporate various features and embodiments of the present technology are possible”) (0046).
It would have been obvious to a person of ordinary skill in the art before the effective filling date of the applicant’s invention for obtaining, by a processor, a plurality of user-feature embeddings based on respective user features for a plurality of users; generating, by the processor, a respective user embedding for each user of the plurality of users based on the plurality of user-feature embeddings using a first deep neural network (DNN), identifying, by the processor, using a nearest neighbor indexing technique, one or more particular clusters of the plurality of clusters based on a respective distance between the plurality of clusters and a particular user embedding of the particular user; identifying, by the processor, a plurality of candidate content items for recommendation to the particular user by, for each particular cluster of the one or more particular clusters, and assigning, by the processor, a respective rank to the plurality of content items based on the respective TF-IDF metric; and providing, by the processor, one or more of the plurality of candidate content items based on the respective ranks to a client device of the particular user for display in a user interface, as taught by Muhlstein, calculating a TF metric as ratio of a number of users in the particular cluster that interacted with the content item and a total number of users in the particular cluster; calculating an IDF metric as logarithm of a ratio of a total number of the plurality of clusters divided by a number of the plurality of clusters that include at least one user that interacted with the content item; and calculating the TF-IDF metric for the content item by multiplying the TF metric with the IDF metric, as taught by Tanglertsampan for the purpose to for tailoring content items to reflect user interests to transform the user experience, thereby harnessing the full power of the social networking system.
As per claims 4, and 12, Muhlstein specifically doesn’t disclose wherein organizing the plurality of users into the plurality of clusters is performed to minimize within-cluster variance and to maximize between-cluster variance, however Tanglertsampan discloses, wherein organizing the plurality of users into the plurality of clusters is performed to minimize within-cluster variance and to maximize between-cluster variance (Examiner interprets spectral clustering is designed to partition entities such that intra-cluster similarity is maximized and inter-cluster similarity minimized) (“the method 400 can apply a spectral clustering technique to at least a portion of a similarity graph to generate clusters of geographic sub-regions constituting geographic regions. At block 404, the method 400 can perform a tf-idf technique to determine pages of a social networking system associated with a geographic region as potential local suggestions for a user associated with a geographic sub-region in the geographic region. At block 406, the method 400 can present references to at least a portion of the pages as local suggestions to the user. Other suitable techniques that incorporate various features and embodiments of the present technology are possible”) (0046).
It would have been obvious to a person of ordinary skill in the art before the effective filling date of the applicant’s invention for obtaining, by a processor, a plurality of user-feature embeddings based on respective user features for a plurality of users; generating, by the processor, a respective user embedding for each user of the plurality of users based on the plurality of user-feature embeddings using a first deep neural network (DNN), identifying, by the processor, using a nearest neighbor indexing technique, one or more particular clusters of the plurality of clusters based on a respective distance between the plurality of clusters and a particular user embedding of the particular user; identifying, by the processor, a plurality of candidate content items for recommendation to the particular user by, for each particular cluster of the one or more particular clusters, and assigning, by the processor, a respective rank to the plurality of content items based on the respective TF-IDF metric; and providing, by the processor, one or more of the plurality of candidate content items based on the respective ranks to a client device of the particular user for display in a user interface, as taught by Muhlstein, wherein organizing the plurality of users into the plurality of clusters is performed to minimize within-cluster variance and to maximize between-cluster variance, as taught by Tanglertsampan for the purpose for tailoring content items to reflect user interests to transform the user experience, thereby harnessing the full power of the social networking system.
As per claims 5, 13, and 20, Muhlstein discloses updating embedding based on user interactions and ranking stories, however Muhlstein specifically doesn’t disclose filtering the plurality of candidate content items based on one or more of a retention-rate threshold, a playtime duration threshold, an in-experience purchase amount threshold, game-play frequency, or removing candidate content items identified from clusters that have fewer than a threshold number of users, however Tanglertsampan discloses, filtering the plurality of candidate content items based on one or more of a retention-rate threshold, a playtime duration threshold, an in-experience purchase amount threshold, game-play frequency, or removing candidate content items identified from clusters that have fewer than a threshold number of users (Examiner interprets applying thresholds to filter items based on frequency or engagement is routine filtering logic in recommender systems. Tanglertsampan explicitly uses threshold logic in TF-IDF scoring) (“tf-idf technique can be performed based on the information to determine important pages for each metropolitan area. In some embodiments, a tf-idf technique can be performed in which metropolitan areas can correspond to documents; pages of a social networking system that are liked (or fanned) by users in the metropolitan areas can correspond to terms in the documents; and, a number of users that like a page can correspond to frequency of terms. In some embodiments, a score for each page in a metropolitan area can be determined based on the tf-idf technique. A score for a page can be determined by the product of the following equations: … method 500 can normalize a tf term by m.sub.f, where m.sub.f is a maximum number of likes by users in a metropolitan area for a page over all pages in the metropolitan area. At block 504, the method 500 can adjust a value of a constant k to tune a ratio between a number of relatively small pages and a number of relatively large pages in the pages. At block 506, the method 500 can count only metropolitan areas in which a number of users who like a page satisfies a selected threshold amount for n.sub.p, where n.sub.p is a number of metropolitan areas with users who like a page. Other suitable techniques that incorporate various features and embodiments of the present technology are possible”) (0038-0048, Figs. 4-5).
It would have been obvious to a person of ordinary skill in the art before the effective filling date of the applicant’s invention for obtaining, by a processor, a plurality of user-feature embeddings based on respective user features for a plurality of users; generating, by the processor, a respective user embedding for each user of the plurality of users based on the plurality of user-feature embeddings using a first deep neural network (DNN), identifying, by the processor, using a nearest neighbor indexing technique, one or more particular clusters of the plurality of clusters based on a respective distance between the plurality of clusters and a particular user embedding of the particular user; identifying, by the processor, a plurality of candidate content items for recommendation to the particular user by, for each particular cluster of the one or more particular clusters, and assigning, by the processor, a respective rank to the plurality of content items based on the respective TF-IDF metric; and providing, by the processor, one or more of the plurality of candidate content items based on the respective ranks to a client device of the particular user for display in a user interface, as taught by Muhlstein, filtering the plurality of candidate content items based on one or more of a retention-rate threshold, a playtime duration threshold, an in-experience purchase amount threshold, game-play frequency, or removing candidate content items identified from clusters that have fewer than a threshold number of users, as taught by Tanglertsampan for the purpose for tailoring content items to reflect user interests to transform the user experience, thereby harnessing the full power of the social networking system.
As per claims 6, and 14, Muhlstein specifically doesn’t disclose wherein the clustering is performed using a clustering technique selected from a group comprising K-means clustering, hierarchical clustering, density-based spatial clustering of applications with noise (DBSCAN), hierarchical DBSCAN (HDBSCAN), and a gaussian-mixture model (GMM) clustering, however Tanglertsampan discloses, wherein the clustering is performed using a clustering technique selected from a group comprising K-means clustering, hierarchical clustering, density-based spatial clustering of applications with noise (DBSCAN), hierarchical DBSCAN (HDBSCAN), and a gaussian-mixture model (GMM) clustering (Examiner interprets spectral clustering is one known clustering technique. Selection among K-means, hierarchical, DBSCAN, GMM, etc., is a routine design choice and obvious variation of known clustering algorithms) (“the method 400 can apply a spectral clustering technique to at least a portion of a similarity graph to generate clusters of geographic sub-regions constituting geographic regions. At block 404, the method 400 can perform a tf-idf technique to determine pages of a social networking system associated with a geographic region as potential local suggestions for a user associated with a geographic sub-region in the geographic region. At block 406, the method 400 can present references to at least a portion of the pages as local suggestions to the user. Other suitable techniques that incorporate various features and embodiments of the present technology are possible”) (0046).
It would have been obvious to a person of ordinary skill in the art before the effective filling date of the applicant’s invention for obtaining, by a processor, a plurality of user-feature embeddings based on respective user features for a plurality of users; generating, by the processor, a respective user embedding for each user of the plurality of users based on the plurality of user-feature embeddings using a first deep neural network (DNN), identifying, by the processor, using a nearest neighbor indexing technique, one or more particular clusters of the plurality of clusters based on a respective distance between the plurality of clusters and a particular user embedding of the particular user; identifying, by the processor, a plurality of candidate content items for recommendation to the particular user by, for each particular cluster of the one or more particular clusters, and assigning, by the processor, a respective rank to the plurality of content items based on the respective TF-IDF metric; and providing, by the processor, one or more of the plurality of candidate content items based on the respective ranks to a client device of the particular user for display in a user interface, as taught by Muhlstein, wherein the clustering is performed using a clustering technique selected from a group comprising K-means clustering, hierarchical clustering, density-based spatial clustering of applications with noise (DBSCAN), hierarchical DBSCAN (HDBSCAN), and a gaussian-mixture model (GMM) clustering, as taught by Tanglertsampan for the purpose for tailoring content items to reflect user interests to transform the user experience, thereby harnessing the full power of the social networking system.
As per claims 7, Muhlstein discloses, wherein the plurality of user-feature embeddings are obtained using the first DNN of a left tower of a two-tower model, wherein the two-tower model further includes a right tower that includes a second DNN that generates item embeddings for content items based on respective item features, and wherein the first DNN and second DNN are trained jointly using a supervised loss such that pairs of user embeddings and item embeddings that have a ground truth association have a lower vector distance between them in comparison to a vector distance between pairs of user embeddings and item embeddings that do not have the ground truth association (Examiner interprets constitutes a two-tower architecture trained such that associated user-item pairs have lower vector distance than unrelated pairs i.e. it discloses user embedding network, item embedding network, shared embedding space, joint training preserving distance relationships) (“The joint embedding system is designed to embed users and items in the same space (e.g., embedding space, feature space) in a manner that respects relative distance relations defined between users and items (e.g., content items, images, articles, videos, friend posts, etc.). This allows recommendations to be generated by finding the nearest item neighbors to a given user (e.g., nearest neighbor to that user's embedding in the shared embedding space). According to some example embodiments, the embeddings are generated by two separate networks: an item embedding network for embedding items of content, and a user embedding network for embedding users”) (0072-0076, 0100-0101).
As per claims 8, Muhlstein discloses, wherein the particular user is a new user, and further comprising generating a cold-start user embedding as the particular user embedding via a forward pass of the left tower (Examiner interprets feeding new user attributes into trained user embedding network constitutes generating a cold-start embedding via forward pass. This is standard neural network inference) (“The item embedding network is a learned mapping between an item property vector (e.g., a vector from item properties or attributes, such as title, view count, length) and an embedding vector generated from the item (e.g., an embedding vector generated by a fully connected neural network). The user embedding network is a learned mapping between a user attribute vector (e.g., a vector from user properties, such as gender, age, location, user interests) and a sequence of user-item interaction vectors from user interactions with content generated by a neural network (e.g., a recurrent neural network). The user embedding network is configured in a manner that enables efficient updating of the user embedding and the subsequent recommendations without contacting the server. The user embedding network is also constructed so as to enable the preservation of user privacy because the complex dynamic user embedding obfuscates the user's identity …”) (0073-0076, 0114).
As per claims 15, Muhlstein discloses, wherein the plurality of user- feature embeddings are obtained using the first DNN of a left tower of a two-tower model, wherein the two-tower model further includes a right tower that includes a second DNN that generates item embeddings for content items based on respective item features, wherein the first DNN and second DNN are trained jointly using a supervised loss such that pairs of user embeddings and item embeddings that have a groundtruth association have a lower vector distance between them in comparison to a vector distance between pairs of user embeddings and item embeddings that do not have the groundtruth association (Examiner interprets constitutes a two-tower architecture trained such that associated user-item pairs have lower vector distance than unrelated pairs i.e. it discloses user embedding network, item embedding network, shared embedding space, joint training preserving distance relationships) (“The joint embedding system is designed to embed users and items in the same space (e.g., embedding space, feature space) in a manner that respects relative distance relations defined between users and items (e.g., content items, images, articles, videos, friend posts, etc.). This allows recommendations to be generated by finding the nearest item neighbors to a given user (e.g., nearest neighbor to that user's embedding in the shared embedding space). According to some example embodiments, the embeddings are generated by two separate networks: an item embedding network for embedding items of content, and a user embedding network for embedding users”) (0072-0076, 0100-0101);
and wherein the particular user is a new user, and the operations further comprise generating a cold-start user embedding as the particular user embedding via a forward pass of the left tower (Examiner interprets feeding new user attributes into trained user embedding network constitutes generating a cold-start embedding via forward pass. This is standard neural network inference) (“The item embedding network is a learned mapping between an item property vector (e.g., a vector from item properties or attributes, such as title, view count, length) and an embedding vector generated from the item (e.g., an embedding vector generated by a fully connected neural network). The user embedding network is a learned mapping between a user attribute vector (e.g., a vector from user properties, such as gender, age, location, user interests) and a sequence of user-item interaction vectors from user interactions with content generated by a neural network (e.g., a recurrent neural network). The user embedding network is configured in a manner that enables efficient updating of the user embedding and the subsequent recommendations without contacting the server. The user embedding network is also constructed so as to enable the preservation of user privacy because the complex dynamic user embedding obfuscates the user's identity …”) (0073-0076, 0114).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. US. Pub. 20190007720 (“Palnitkar”).
Palnitkar outlines an online system that recommends content to a user obtains a content item and receives limited interaction with the content item when it is obtained. The online system also maintains embeddings for various users based on interactions by the users with content presented to the users. Viewing users to whom the content item is presented and who performed one or more interactions with the content item are identified. Based on embeddings for the viewing users, the online system generates a content embedding for the content item. When the online system identifies a candidate user, the online system determines a similarity between the content embedding and an embedding of the viewing user and determines whether to recommend the content item to the candidate user based on the comparison.
26. Any inquiry concerning this communication or earlier communications from the examiner should be directed to GAUTAM UBALE whose telephone number is (571)272-9861. The examiner can normally be reached Mon-Fri. 7:00 AM- 6:30 PM PST.
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 at (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.
/GAUTAM UBALE/
Primary Examiner, Art Unit 3689