DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Status of Claims
Claims 1, 8, 19, and 20 have been amended by Applicant. No claims have been cancelled or added. Claims 1-20 are currently pending.
Response to Arguments
Claim Rejections under 35 U.S.C. 102
The rejection of claims 1-2 and 19-20 (as amended) under 35 U.S.C. 102 has been maintained.
Applicant’s arguments (filed 12/19/2025) regarding the rejection of independent claim 1 (as amended) have been fully considered but are found unpersuasive.
Applicant argues (in page 9 of Applicant’s remarks) that Yuan fails to disclose the limitations: wherein each class in the taxonomy of actions represents an action performed on an online resource, wherein each class in the taxonomy of channels represents a medium through which the action was performed, and wherein each class in the taxonomy of types represents a type of content with which the action is associated;…
apply the channel model to the channel features to predict a channel class from the taxonomy of channels, apply the type model to the type features to predict a type class from the taxonomy of types, and store the predicted action class, the predicted channel class, and the predicted type class in association with the activity record as a taxonomized activity record.
Examiner respectfully disagrees with Applicant’s arguments above, as it is contradicted by the Yuan reference itself. As indicated below, Yuan at paragraph [0034] teaches one or more embodiments, data repository 134 stores data that represents standardized, organized, and/or classified attributes in profile data 216 and/or jobs data 218. For example, skills in profile data 216 and/or jobs data 218 may be organized into a hierarchical taxonomy that is stored in data repository 134 [i.e., reading on various taxonomies]. Yuan further teaches that these taxonomies may have attributes and features attached to them. To that effect, Yuan teaches that “each class in the taxonomy of actions represents an action performed by an online resource” as indicated below.
As set forth in the rejection of claim 1 (as amended), Yuan was shown to teach the limitation wherein each class in the taxonomy of actions represents an action performed on an online resource. To this effect, Yuan, [0025] was cited as teaching data in data repository 134 [i.e., the various taxonomies] may then be used to generate recommendations and/or other insights related to listings of jobs or opportunities within online network 118. For example, one or more components of online network 118 may track searches, clicks, views, text input, conversions, and/or other feedback during the entities' interaction with a job search tool in online network 118.[Note: these tracked online activities have been understood to read on each class in the taxonomy of actions [i.e., online actions related to data in the data repository 134] representing an action performed on an online resource.]; Yuan, [0034] further teaches for example, data repository 134 [i.e., the various taxonomies] includes standardized titles, seniorities, and/or industries for various jobs, members, and/or companies in the online network.; Yuan [0036], further teaches feature-processing apparatus 204 uses data 202 from event streams 200 and/or data repository 134 to calculate a set of features for a candidate and/or one or more jobs. Feature-processing apparatus 204 may generate features in an online, nearline, and/or on-demand basis based on recent job-seeking activity by a candidate (e.g., a user session with the community, a job search, a job view, a click on a job, an application for a job, etc.).).
Yuan was further shown to teach wherein each class in the taxonomy of channels represents a medium through which the action was performed. To this effect, Yuan, [0022] was cited as teaching online network 118 further includes an interaction module 130 that allows the entities to interact with one another on online network 118. For example, interaction module 130 may allow an entity to add other entities as connections, follow other entities, send and receive emails or messages with other entities, join groups, and/or interact with (e.g., create, share, re-share, like, and/or comment on) posts from other entities.[Note: sending and receiving emails or messages and commenting and/or sharing, liking posts understood to read on different mediums through with the online action was performed.).
Furthermore, Yuan was shown to teach wherein each class in the taxonomy of types represents a type of content with which the action is associated. Accordingly, Yuan, [0023] was cited as teaching online network 118 may include a homepage, landing page, and/or content feed that provides the entities the latest posts, articles, and/or updates from the entities' connections and/or groups. [i.e., types of content with which the action is associated] Similarly, online network 118 may include features or mechanisms for recommending connections, job postings, articles, and/or groups to the entities.);
As set forth in the Non-Final Rejection dated 10/21/2025 Yuan was also shown to teach the limitation apply the channel model to the channel features to predict a channel class from the taxonomy of channels, apply the type model to the type features to predict a type class from the taxonomy of types, and store the predicted action class, the predicted channel class, and the predicted type class in association with the activity record as a taxonomized activity record. To this effect, Yuan, [0050] was cited as teaching features inputted into the machine learning model may include, but are not limited to, titles in the candidate's job searches, job applications, dismissals of jobs, and/or other types of recent job-related activity from the candidate. For example, feature-processing apparatus 204 may calculate counts of the candidate's job searches, job applications, dismissals of job recommendations, and/or other types of job-related activity from records of the candidate's recent (e.g., in the last month, in the last six months, etc.) job-related activity in data repository 134. Feature-processing apparatus 204 may also identify the longest “sequence” of actions involving the same standardized title (e.g., a “Product Manager” title in three consecutive job applications and/or job views) and/or one or more standardized titles in consecutive sequences of actions of a certain length (e.g., a “Product Manager” title in at least three consecutive job applications and/or job views).; Yuan, [0052] further teaching to create and/or update machine learning models 208, model-creation apparatus 210 uses predictions 214, outcomes 212 (e.g., labels), and features associated with the corresponding candidates and/or candidate-job pairs to update parameters of machine learning models 208.; Yuan, [0064] further teaching the system of FIG. 2 may be adapted to different types of features, responses, and/or predictions. For example, a combination of global and personalized models may be used to predict user responses to advertisements, products, services, events, activities, classes, games, movies, music, articles, connection recommendations, and/or other items.; Yuan, Paragraph [0014] further teaching a machine learning model is trained to predict the likelihood that a potential title preference is an actual title preference of a candidate based on features that include titles in recent job applications, job search queries, job views, and/or other types of job-related activity by the candidate.; and Yuan Paragraph [0059] teaching management apparatus 206 may store the inferred title preferences 224 in data repository 134 for subsequent inclusion in features generated by feature-processing apparatus 204 (e.g., features that are used to generate job recommendations for the corresponding candidates). [i.e., understood to read on “taxonomized activity record”])
Applicant further maintains (in page 10 of Applicant’s remarks) that “Yuan teaches that each model predicts the same thing (i.e., the likelihood of the candidate applying to the job), but at three different levels (i.e., a global level, personalized level, and job-specific level). This is in contrast to claimed embodiments, which predict three different classes from three different taxonomies.
Examiner respectfully disagrees with Applicant’s argument above. As indicated in Yuan, at paragraph [0042] model-creation apparatus 210 trains and/or updates one or more machine learning models 208 using sets of features from feature-processing apparatus 204, outcomes 212 associated with the feature sets, and predictions 214 produced from the feature sets. As has been shown above, these features (i.e., action-based, channel-based, and/or type-based) are attached to the different hierarchical taxonomies in data repository 134.
Hence, the rejection of claim 1 (as amended) has been maintained. Claims 19 and 20 (as amended) recite the same and/or analogous limitations as claim 1. Hence, they have also been rejected under the same rationale as claim 1 (as amended).
Claim Rejections under 35 U.S.C. 103
The rejection of dependent claim 8 under 35 U.S.C. 103 has been withdrawn in view of Applicant’s amendments to said claim. However, upon further consideration and in view of said amendments a new grounds of rejection has been made under 35 U.S.C. 103.
The rejection of dependent claims 3-7 and 9-18 under 35 U.S.C. 103 has been maintained.
For at least the same reasons as set forth above for claim 1, the rejection of dependent claims 3-7 and 9-18 have also been maintained.
Applicant’s arguments with respect to claim 8 (as amended) have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Regarding claim 9, Applicant argues (in page 12 of Applicant’s remarks) that the combination of Yuan in view of Liu and Sahni does not teach the limitation “when the probability value for the predicted class from at least one of the plurality of models does not satisfy the respective threshold, assign an unmapped status to the activity record.”
As set forth in the rejection of claim 9, Sahni was shown to teach the limitations:
…and a probability value for the predicted class…
when the probability values for the predicted classes by all of the plurality of models satisfy respective thresholds, assign a mapped status to the activity record; and, when the probability value for the predicted class from at least one of the plurality of models does not satisfy the respective threshold, assign an unmapped status to the activity record.
To this effect, Sahni at [0041], teaches in one example, the web server 150 also includes a relevance score generator 164, which determines a relevance of content objects 158 (e.g., blog posts) to the user profile 120, and, in one aspect, to the user profile metadata 127, by applying cosine similarity or another similarity detection technique to compare the content vector 192 of each content object 158 to the profile vector 132. As introduced above, the content vector 192 may be based upon tags associated with the content object 158, or upon at least a portion of the content object 158 itself (e.g., the content), or upon values derived from the content object, e.g., statistical information derived from the content object. Other similarity detection techniques include Jaccard similarity, bi-gram similarity, min-hash similarity, and the like. In another example, the relevance score 166 may also be calculated by comparing explicit tags associated with the content objects 158 to user profile metadata 127, e.g., by using string comparison operations to identify similar or identical tags, e.g., strings of characters present in both the content objects 158 and the metadata 127. A determination may then be made of whether the metadata 127 is relevant to the content object(s) 158 by comparing the relevance score 166 to a threshold value, e.g., on a scale of 0 to 100, a threshold relevance score of 75 may be established based upon techniques known to those skilled in the art, such as search result ranking techniques. Then, if a relevance score is at least the threshold value, e.g., at least 75, the metadata 127 is considered relevant to the content object(s) 158.; Sahni [0056], further teaches in another example, metadata items may be generated based upon a taxonomical category of the text or tag identified by a taxonomical lookup may be used to generate a taxonomical category, e.g., by mapping the text to a directory of information categories. A metadata item, e.g., a tag, may then be generated based upon the taxonomical category. As was noted in the rejection of claim 9, the disclosed example in [0041] above if the relevance score is 0 then this has been understood to read on “when the probability value for the predicted class from at least one of the plurality of models does not satisfy the respective threshold, assign an unmapped status to the activity record" because the metadata is not considered relevant to the content object(s) it does not get “mapped” to the activity record (e.g., features that are used to generate job recommendations for the corresponding candidates), as taught by Yuan at [0059]]).
Hence, the rejection of claim 9 has been maintained under 35 U.S.C. 103.
Regarding claim 10, Applicant argues (in page 13 of Applicant’s remarks) that the combination of Yuan in view of Liu and Sahni does not disclose or suggest that the generated graphical user interface may provide inputs for specifying classes for activity records to which an unmapped status has been assigned.
Examiner respectfully disagrees with Applicant’s arguments above for the reasons provided below.
As set forth in the rejection of claim 10, the combination of Yuan in view of Liu and Sahni was cited as teaching the limitation generate a graphical user interface that comprises, for each of the activity records to which the unmapped status has been assigned, one or more inputs for specifying one of the plurality of classes in two or more of the plurality of taxonomies to be associated with that activity record. To this effect , Liu, [0176] was cited as teaching the frameworks 1418 (also sometimes referred to as middleware) may provide a higher-level common infrastructure that may be utilized by the applications 1420 or other software components/modules. For example, the frameworks 1418 may provide various graphic user interface (GUI) functions. Meanwhile, Sahni [0038], was cited as teaching a profile vector generator 130 creates a profile vector 132 based on metadata 127 and/or activity history 128 associated with a user profile 120. The tags 127 are associated with the user as a consequence of being present in the user's profile 120. The particular tags 127 are determined based on, for example, a user's web browsing behavior and content that the user uploads to the Internet. The activity history 128 may include, for example, web browsing activity, online content that the person creates and consumes, such as blog posts, social network updates, online photos, and the like..; Sahni [0041], further teaching in one example, the web server 150 also includes a relevance score generator 164, which determines a relevance of content objects 158 (e.g., blog posts) to the user profile 120, and, in one aspect, to the user profile metadata 127, by applying cosine similarity or another similarity detection technique to compare the content vector 192 of each content object 158 to the profile vector 132. As introduced above, the content vector 192 may be based upon tags associated with the content object 158, or upon at least a portion of the content object 158 itself (e.g., the content), or upon values derived from the content object, e.g., statistical information derived from the content object. Other similarity detection techniques include Jaccard similarity, bi-gram similarity, min-hash similarity, and the like. In another example, the relevance score 166 may also be calculated by comparing explicit tags associated with the content objects 158 to user profile metadata 127, e.g., by using string comparison operations to identify similar or identical tags, e.g., strings of characters present in both the content objects 158 and the metadata 127. A determination may then be made of whether the metadata 127 is relevant to the content object(s) 158 by comparing the relevance score 166 to a threshold value, e.g., on a scale of 0 to 100, a threshold relevance score of 75 may be established based upon techniques known to those skilled in the art, such as search result ranking techniques. Then, if a relevance score is at least the threshold value, e.g., at least 75, the metadata 127 is considered relevant to the content object(s) 158.; Sahni [0040], teaches in one example, a vector space model is used to represent each content object 162 (e.g., blog post, news item, or other item of online content) as a content vector 192 of (term, weight) pairs in a multi-dimensional space. The value of each dimension is generated by a content vector generator 190 that executes on the web server 150. The content vector generator 190 generates the value of each dimension based on the words occurring in the content object 162. The content vector 192 may be stored on the web server 150.).
Hence, the rejection of claim 10 under 35 U.S.C. 103 has been maintained.
Regarding claim 11, Applicant argues (in page 14 of Applicant’s remarks) that the combination of Yuan in view of Liu and Sahni fails to disclose “one or more inputs for changing each of one or both of the stored action class and the stored channel class to an overriding class in one or more of the taxonomized activity records, and at least one input for storing the one or more taxonomized activity records, including any overriding classes, in a data warehouse.”
Examiner respectfully disagrees with Applicant’s arguments for at least the same reasons provided above for claim 1 (as amended).
Furthermore, as set forth in the rejection of claim 11 below Liu was shown to teach wherein the method further comprises using the at least one hardware processor to generate a graphical user interface. To this effect, Liu, [0176], teaches the frameworks 1418 (also sometimes referred to as middleware) may provide a higher-level common infrastructure that may be utilized by the applications 1420 or other software components/modules. For example, the frameworks 1418 may provide various graphic user interface (GUI) functions, high-level resource management, high-level location services, and so forth. The frameworks 1418 may provide a broad spectrum of other APIs that may be utilized by the applications 1420 and/or other software components/modules, some of which may be specific to a particular operating system or platform.
Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art to have modified the system of Yuan, to further include a GUI, as taught by Liu, as it would allow the system to output a graphical representation of the system as specified by the tenant application (Liu, [0176])
However, as stated in the rejection of claim 11, the combination of Yuan in view of Liu does not distinctly disclose a graphical user interface that comprises one or more inputs for changing each of one or both of the stored action class and the stored channel class to an overriding class in one or more of the taxonomized activity records, and at least one input for storing the one or more taxonomized activity records, including any overriding classes, in a data warehouse.
Nevertheless, Sahni was shown to teach a graphical user interface that comprises one or more inputs for changing each of one or both of the stored action class and the stored channel class to an overriding class in one or more of the taxonomized activity records, and at least one input for storing the one or more taxonomized activity records, including any overriding classes, in a data warehouse. To this effect, Sahni, [0059] teaches content 264 includes a reference to the widget plugin 260. Upon being downloaded, the widget plugin 260 executes in conjunction with the web browser 252, e.g., as a plugin of the web browser. 252. The widget plugin 260 communicates with the user interests server 220 via the computer network 208. The widget plugin 260 displays a widget user interface that shows relevant content objects 266. The widget plugin 260 retrieves the relevant content objects 266 from the web server being visited by the user 268 based upon the metadata 226 and/or recent activity history 230 stored in the user profile database 222. The details by which the metadata and recent activities are retrieved from the online services and requested by the plugin 260 from the user profile database are described in more detail elsewhere herein.; Sahni [0014] further teaches embodiments of the invention may include one or more of the following features. Generating the first metadata item may include extracting text from the activity history, and generating the first metadata item based upon the text. Generating the first metadata item based upon the text may include using a stemming method to generate a stem word based upon the text, and generating the first metadata item based upon the stem word. Generating the first metadata item based upon the text may include using a taxonomical lookup to generate a taxonomical category of the text, and generating the first metadata item based upon the taxonomical category. Generating the first metadata item based upon the taxonomical category may include generating the first metadata item, wherein the first metadata item comprises a name of the taxonomical category. Generating the first metadata item based upon the taxonomical category may include generating the first metadata item, wherein the first metadata item comprises a name of an object in the taxonomical category. The first metadata item may be a tag; Sahni [claim 4] teaches 4. “…using a taxonomical lookup to generate a taxonomical category of the text; and generating the first metadata item based upon the taxonomical category.”; Sahni, [0031] teaches as an example, if the user 146 is interested in movies, then the user name 122 that corresponds to the user 146 may be associated with the tag "movies" in the user profile 120. In one example, the metadata 127 is harvested, i.e., determined, by analyzing the user's web activities 128, i.e., sites and pages that the user visits, actions that the user performs at those sites, information that the user submits, content that the user views, and the like. A user profile 120 that includes tags 127 associated with the user 122 is generated based upon the user's activities 128. The user activities 128 are descriptions of the user's activities. The user activities, e.g., representations of the activities that the user performs, include without limitation an activity name or identifier, data associated with the activity, attributes or parameters of the activity such as time, date, and the network data source (e.g., URL of a web site). In one example, the activities 128 are online actions explicitly initiated by the user, e.g., actions such as requesting a web page, providing information in response to user input to the web browser 145, and more application-specific activities, such as sharing a web page, sending a particular type of text message, or creating a particular type of object on a web site (e.g., creating a user profile or posting a blog entry). An activity explicitly initiated by, i.e., performed by, the user is, for example, an activity that occurs as a result of a user action, such as clicking a mouse button, entering text, selecting a menu item, or the like. Activities 128 may include, e.g., requesting, viewing or creating web content. In one example, activities explicitly initiated by the user are actions, commands, or events that occur and/or appear in the user interface of the web browser 145. As a user performs actions relevant to interests, tags associated with those interests are appended [i.e., saved and/or updated] to the user profile 120. For example, if a user performs multiple actions relevant to the movie Mission Impossible, e.g., viewing articles and/or other content objects that include the name "Mission Impossible", the tag "Mission Impossible" may be automatically associated with the user 122. Subsequently, when the user visits a web site 150 that has content relevant to the movie Mission Impossible, e.g., articles about the movie and/or articles that include the name of the movie, then that relevant content, or links to the relevant content, may be displayed to the user.; Sahni [0048] further teaches a user's identified interests may change over time. [i.e., as in changing each of one or both of the stored action class].; Sahni [0054] teaches as introduced above, in one example, a content object 162, e.g., a web page, blog post, or the like, may be presented to a user if a first tag associated with the content object 162 is not the same as, but is likely to be relevant to, a second tag associated with the user. The determination of whether a metadata item, e.g., a tag is likely to be relevant to another metadata item, e.g., another tag, may be made by a defined procedure or method, and may be based on, for example, the metadata items or tags themselves, or a database of equivalent items, tags, or words, and/or the piece of content. The "relevant" relation may be extended transitively from the tag by finding relevant tags, and/or extended from the content, by finding tags that are likely to be relevant to the content, until the extensions from the tag and the extensions from the content reach a common value, e.g., the same tag.[i.e., as in changing each of one or both of the stored action class and the stored channel class to an overriding class] A tag may therefore be found to be likely to be relevant to a content object even if the tag is not present in the content object. For example, if a first tag "art" is mapped to a second tag "artist" by a stemming technique (as described below), and a content object contains the word "Picasso's art", then the tag "artist" may be identified as relevant to the content object by deriving the tag "art" from "artist" through stemming, and by extracting the term "art" from the content object. Since the term "art" is present in both the tag and the content object, the tag is relevant to the content object. The term "likely" is used to indicate that the "relevant to" relation is an approximation of a semantic relation. Two items may be found to be relevant to each other even if the average person would not consider them to be related or relevant to each other. However, the technique for finding relevant items should attempt to minimize the number of such false positive relations. Other techniques for evaluating relevance are may be used, e.g., using dictionaries, tables of synonyms, linguistic rules, tables of semantically related words, and the like to find words relevant to a given metadata item. Relevance may also be evaluated by generating numeric vectors based on content, metadata, and other information about users, as described below.;).
As stated above Sahni teaches that “a user's identified interests may change over time” and “as user performs actions relevant to interests, tags associated with those interests are appended”. Sahni further teaches that “the "relevant" relation may be extended transitively from the tag by finding relevant tags, and/or extended from the content, by finding tags that are likely to be relevant to the content, until the extensions from the tag and the extensions from the content reach a common value, e.g., the same tag.” Examiner has understood this to read on “changing each of one or both of the stored action class and the stored channel class to an overriding class”, wherein the overriding occurs as the user’s interest change and the tags associated with the user’s interest change over time.
Hence, the rejection of claim 11 under 35 U.S.C. 103 has been maintained.
Regarding claim 13, Applicant argues (in page 15 of Applicant’s remarks) that the combination of Yuan in view of Liu and Sahni do not teach “when the lookup does not return a class, extract the features for that model, and apply the model to the extracted features.”
Examiner respectfully disagree with Applicant’s arguments above for at least the same reasons stated for claim 1 above.
Furthermore, as set forth in the rejection of claim 13 Yuan was shown to teach… using features extracted for that model from the activity record. To this effect Yuan [0050] teaches features inputted into the machine learning model may include, but are not limited to, titles in the candidate's job searches, job applications, dismissals of jobs, and/or other types of recent job-related activity from the candidate. For example, feature-processing apparatus 204 may calculate counts of the candidate's job searches, job applications, dismissals of job recommendations, and/or other types of job-related activity from records of the candidate's recent (e.g., in the last month, in the last six months, etc.) job-related activity in data repository 134. Feature-processing apparatus 204 may also identify the longest “sequence” of actions involving the same standardized title (e.g., a “Product Manager” title in three consecutive job applications and/or job views) and/or one or more standardized titles in consecutive sequences of actions of a certain length (e.g., a “Product Manager” title in at least three consecutive job applications and/or job views).; Yuan [0051] further teaches feature-processing apparatus 204 may then calculate cosine similarities, Jaccard similarities, and/or other measures of similarity between a potential title preference and titles found in the candidate's job-related activity (e.g., job applications, job searches, job views, sequences of actions involving the same title, etc.). Feature-processing apparatus 204 may also, or instead, weight the measures of similarity by the frequency of the corresponding titles associated with a given job-related activity (e.g., job search, job application, dismissal of job recommendation, job view, etc.))
Yuan was also shown to teach… and apply the model to the extracted features. To this effect, Yuan [0036] teaches a feature-processing apparatus 204 uses data 202 from event streams 200 and/or data repository 134 to calculate a set of features for a candidate and/or one or more jobs. For example, feature-processing apparatus 204 may execute on an offline, periodic, and/or batch-processing basis to produce features for a large number of candidates and/or candidate-job pairs (e.g., combinations of members in the community and jobs for which the members are qualified). In another example, feature-processing apparatus 204 may generate features in an online, nearline, and/or on-demand basis based on recent job-seeking activity by a candidate (e.g., a user session with the community, a job search, a job view, a click on a job, an application for a job, etc.); Yuan, [0038] further teaches one or more job features 220 may also be derived features that are generated from other types of features. For example, job features 220 may provide a context of each candidate's impression of a job listing or job description. The context may include a time and location at which the job listing or description is viewed by the candidate. The location can encompass physical and/or other types of locations, such as a geographic location, an application (e.g., native application, mobile application, web application, a specific version of an application, etc.), a website, and/or a web page.; see Yuan [0051]; Yuan [0064] teaches the system of FIG. 2 may be adapted to different types of features, responses, and/or predictions. For example, a combination of global and personalized models may be used to predict user responses to advertisements, products, services, events, activities, classes, games, movies, music, articles, connection recommendations, and/or other items.
Meanwhile Sahni was shown to teach …perform a lookup in the at least one lookup table…; when the lookup returns a class, store the returned class in association with the activity record as the taxonomized activity record without applying the model (Sahni [0031], [0064]); and, when the lookup does not return a class, extract the features for that model,…, (see Sahni [0064] and [0031]; Sahni [0041] further teaches In one example, the web server 150 also includes a relevance score generator 164, which determines a relevance of content objects 158 (e.g., blog posts) to the user profile 120, and, in one aspect, to the user profile metadata 127, by applying cosine similarity or another similarity detection technique to compare the content vector 192 of each content object 158 to the profile vector 132. As introduced above, the content vector 192 may be based upon tags associated with the content object 158, or upon at least a portion of the content object 158 itself (e.g., the content), or upon values derived from the content object, e.g., statistical information derived from the content object. Other similarity detection techniques include Jaccard similarity, bi-gram similarity, min-hash similarity, and the like. In another example, the relevance score 166 may also be calculated by comparing explicit tags associated with the content objects 158 to user profile metadata 127, e.g., by using string comparison operations to identify similar or identical tags, e.g., strings of characters present in both the content objects 158 and the metadata 127. A determination may then be made of whether the metadata 127 is relevant to the content object(s) 158 by comparing the relevance score 166 to a threshold value, e.g., on a scale of 0 to 100, a threshold relevance score of 75 may be established based upon techniques known to those skilled in the art, such as search result ranking techniques. Then, if a relevance score is at least the threshold value, e.g., at least 75, the metadata 127 is considered relevant to the content object(s) 158.)
Hence, the rejection of claim 13 under 35 U.S.C. 103 has been maintained.
Regarding claim 15, Applicant argues (in page 15 of Applicant’s remarks) that the combination of Yuan in view of Sahni does not distinctly disclose “for each of the one or more activity records, when the activity record contains a URL, the predicted web activity is associated with the activity record in the taxonomize activity record instead of the predicted type class.”
Examiner respectfully disagrees with Applicants arguments for at least the same reasons stated above for claim 1.
Furthermore, as set forth in the rejection of claim 15 Yuan was shown to teach wherein, during the operation mode, for each of the one or more activity records, … , the predicted web activity is associated with the activity record in the taxonomized activity record instead of the predicted type class. To this effect, Yuan [0035] teaches Data 202 in data repository 134 may further be updated using records of recent activity received over one or more event streams 200. For example, event streams 200 may be generated and/or maintained using a distributed streaming platform such as Apache Kafka (Kafka™ is a registered trademark of the Apache Software Foundation). One or more event streams 200 may also, or instead, be provided by a change data capture (CDC) pipeline that propagates changes to data 202 from a source of truth for data 202. For example, an event containing a record of a recent profile update, job search, job view, job application, response to a job application, connection invitation, post, like, comment, share, and/or other recent member activity within or outside the community may be generated in response to the activity. The record may then be propagated to components subscribing to event streams 200 on a nearline basis.; Yuan [0038] further teaches one or more job features 220 may also be derived features that are generated from other types of features. For example, job features 220 may provide a context of each candidate's impression of a job listing or job description. The context may include a time and location at which the job listing or description is viewed by the candidate. The location can encompass physical and/or other types of locations, such as a geographic location, an application (e.g., native application, mobile application, web application, a specific version of an application, etc.), a website, and/or a web page.; Yuan [0043] teaches first, model-creation apparatus 210 may create and/or update one or more machine learning models 208 that generate predictions representing the likelihood that a candidate applies to a job, given the candidate's impression of a listing, description, or recommendation of the job.
Meanwhile, Sahni teaches when the activity record contains a URL (Sahni, [0031] teaches as an example, if the user 146 is interested in movies, then the user name 122 that corresponds to the user 146 may be associated with the tag "movies" in the user profile 120. In one example, the metadata 127 is harvested, i.e., determined, by analyzing the user's web activities 128, i.e., sites and pages that the user visits, actions that the user performs at those sites, information that the user submits, content that the user views, and the like. A user profile 120 that includes tags 127 associated with the user 122 is generated based upon the user's activities 128. The user activities 128 are descriptions of the user's activities. The user activities, e.g., representations of the activities that the user performs, include without limitation an activity name or identifier, data associated with the activity, attributes or parameters of the activity such as time, date, and the network data source (e.g., URL of a web site).)
Hence, the rejection of claim 15 under 35 U.S.C. 103 has been maintained.
Regarding claims 3-7, 12, 14, and 16-18, Applicant reiterates the same arguments presented above for claim 1 (as amended).
For at least the same reasons set forth above for claim 1 (as amended), the response to arguments is hereby incorporated by reference. By virtue of their dependency on claim 1 (as amended), the rejection of dependent claims 3-7, 12, 14, and 16-18 under 35 U.S.C. 103 is maintained.
Claim Rejections - 35 USC § 102
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 (i.e., changing from AIA to pre-AIA ) 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 the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1-2 and 19-20 (as amended) are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Yuan et al. (US 20200151586 A1, filed Nov. 9, 2018 and published May 14, 2020).
Regarding claim 1, Yuan teaches a method comprising using at least one hardware processor to: during a training mode, train each of a plurality of models to predict a class, from a plurality of classes in a different one of a plurality of taxonomies than any other one of the plurality of models, based on a training dataset that comprises a plurality of annotated features, wherein the plurality of models comprises an action model that predicts a class in a taxonomy of actions, a channel model that predicts a class in a taxonomy of channels, and a type model that predicts a class in a taxonomy of types (Yuan, [0014] teaches a machine learning model is trained to predict the likelihood that a potential title preference is an actual title preference of a candidate based on features that include titles in recent job applications, job search queries, job views, and/or other types of job-related activity by the candidate. The machine learning model may be trained using positive labels that are based on recently specified title preferences associated with a set of candidates and/or negative labels that are based on randomly selected title preferences that are not the recently specified title preferences of the candidates.; Yuan, [0034] teaches one or more embodiments, data repository 134 stores data that represents standardized, organized, and/or classified attributes in profile data 216 and/or jobs data 218. For example, skills in profile data 216 and/or jobs data 218 may be organized into a hierarchical taxonomy that is stored in data repository 134 [i.e., reading on various taxonomies] . The taxonomy may model relationships between skills and/or sets of related skills (e.g., “Java programming” is related to or a subset of “software engineering”) and/or standardize identical or highly related skills (e.g., “Java programming,” “Java development,” “Android development,” and “Java programming language” are standardized to “Java”). In another example, locations in data repository 134 may include cities, metropolitan areas, states, countries, continents, and/or other standardized geographical regions. In a third example, data repository 134 includes standardized company names for a set of known and/or verified companies associated with the members and/or jobs. In a fourth example, data repository 134 includes standardized titles, seniorities, and/or industries for various jobs, members, and/or companies in the online network. In a fifth example, data repository 134 includes standardized time periods (e.g., daily, weekly, monthly, quarterly, yearly, etc.) that can be used to retrieve profile data 216, jobs data 218, and/or other data 202 that is represented by the time periods (e.g., starting a job in a given month or year, graduating from university within a five-year span, job listings posted within a two-week period, etc.).; Yuan, [0036] teaches a feature-processing apparatus 204 uses data 202 from event streams 200 and/or data repository 134 [i.e., the various taxonomies as states above] to calculate a set of features for a candidate and/or one or more jobs.; Yuan [0037] further teaches feature-processing apparatus 204 may generate job features 220 for jobs, candidate-job features 222 for candidate-job pairs, and/or title preferences 224 for candidates. Job features 220 may include attributes related to a listing of an opportunity. For example, job features 220 may include declared or inferred attributes of a job (e.g., from jobs data 218), such as the job's title, company (i.e., employer), industry, seniority, desired skill and experience, salary range, and/or location. [Note: Yuan [0036] and [0037] have been understood as the taxonomies further having features and attributes attached to them as part of the classification and subclassifications]), wherein each class in the taxonomy of actions represents an action performed on an online resource (Yuan, [0025] teaches data in data repository 134 [i.e., the various taxonomies] may then be used to generate recommendations and/or other insights related to listings of jobs or opportunities within online network 118. For example, one or more components of online network 118 may track searches, clicks, views, text input, conversions, and/or other feedback during the entities' interaction with a job search tool in online network 118.[Note: these tracked online activities have been understood to read on each class in the taxonomy of actions [i.e., online actions related to data in the data repository 134] representing an action performed on an online resource.]; Yuan, [0034] teaches example, data repository 134 [i.e., the various taxonomies] includes standardized titles, seniorities, and/or industries for various jobs, members, and/or companies in the online network.; Yuan [0036], further teaches feature-processing apparatus 204 uses data 202 from event streams 200 and/or data repository 134 to calculate a set of features for a candidate and/or one or more jobs. Feature-processing apparatus 204 may generate features in an online, nearline, and/or on-demand basis based on recent job-seeking activity by a candidate (e.g., a user session with the community, a job search, a job view, a click on a job, an application for a job, etc.).), wherein each class in the taxonomy of channels represents a medium through which the action was performed (Yuan, [0022] teaches online network 118 further includes an interaction module 130 that allows the entities to interact with one another on online network 118. For example, interaction module 130 may allow an entity to add other entities as connections, follow other entities, send and receive emails or messages with other entities, join groups, and/or interact with (e.g., create, share, re-share, like, and/or comment on) posts from other entities.[Note: sending and receiving emails or messages and commenting and/or sharing, liking posts understood to read on different mediums through with the online action was performed.), and wherein each class in the taxonomy of types represents a type of content with which the action is associated (Yuan, [0023] teaches online network 118 may include a homepage, landing page, and/or content feed that provides the entities the latest posts, articles, and/or updates from the entities' connections and/or groups. [i.e., types of content with which the action is associated] Similarly, online network 118 may include features or mechanisms for recommending connections, job postings, articles, and/or groups to the entities.);
and, during an operation mode, acquire data comprising one or more activity records, for each of the one or more activity records, extract action features, channel features, and type features from the activity record, apply the action model to the action features to predict an action class from the taxonomy of actions (Yuan, [0035] further teaches Data 202 in data repository 134 may further be updated using records of recent activity received over one or more event streams 200. For example, event streams 200 may be generated and/or maintained using a distributed streaming platform such as Apache Kafka (Kafka™ is a registered trademark of the Apache Software Foundation). One or more event streams 200 may also, or instead, be provided by a change data capture (CDC) pipeline that propagates changes to data 202 from a source of truth for data 202. For example, an event containing a record of a recent profile update, job search, job view, job application, response to a job application, connection invitation, post, like, comment, share, and/or other recent member activity within or outside the community may be generated in response to the activity. The record may then be propagated to components subscribing to event streams 200 on a nearline basis.; Yuan, [0038] teaches one or more job features 220 may also be derived features that are generated from other types of features. For example, job features 220 may provide a context of each candidate's impression of a job listing or job description. The context may include a time and location at which the job listing or description is viewed by the candidate. The location can encompass physical and/or other types of locations, such as a geographic location, an application (e.g., native application, mobile application, web application, a specific version of an application, etc.), a website, and/or a web page. [i.e., channel]; Yuan [0036] further teaches a feature-processing apparatus 204 uses data 202 from event streams 200 and/or data repository 134 to calculate a set of features for a candidate and/or one or more jobs. For example, feature-processing apparatus 204 may execute on an offline, periodic, and/or batch-processing basis to produce features for a large number of candidates and/or candidate-job pairs (e.g., combinations of members in the community and jobs for which the members are qualified). In another example, feature-processing apparatus 204 may generate features in an online, nearline, and/or on-demand basis based on recent job-seeking activity by a candidate (e.g., a user session with the community, a job search, a job view, a click on a job, an application for a job, etc.; Yuan, Paragraph [0022] further teaches “for example, interaction module 130 may allow an entity to add other entities as connections, follow other entities, send and receive emails or messages with other entities, join groups, and/or interact with (e.g., create, share, re-share, like, and/or comment on) posts from other entities. [i.e., understood to read on “action class”)., apply the channel model to the channel features to predict a channel class from the taxonomy of channels, apply the type model to the type features to predict a type class from the taxonomy of types, and store the predicted action class, the predicted channel class, and the predicted type class in association with the activity record as a taxonomized activity record (Yuan, [0050] teaches features inputted into the machine learning model may include, but are not limited to, titles in the candidate's job searches, job applications, dismissals of jobs, and/or other types of recent job-related activity from the candidate. For example, feature-processing apparatus 204 may calculate counts of the candidate's job searches, job applications, dismissals of job recommendations, and/or other types of job-related activity from records of the candidate's recent (e.g., in the last month, in the last six months, etc.) job-related activity in data repository 134. Feature-processing apparatus 204 may also identify the longest “sequence” of actions involving the same standardized title (e.g., a “Product Manager” title in three consecutive job applications and/or job views) and/or one or more standardized titles in consecutive sequences of actions of a certain length (e.g., a “Product Manager” title in at least three consecutive job applications and/or job views).; Yuan, [0052] teaches to create and/or update machine learning models 208, model-creation apparatus 210 uses predictions 214, outcomes 212 (e.g., labels), and features associated with the corresponding candidates and/or candidate-job pairs to update parameters of machine learning models 208.; Yuan, [0064] teaches the system of FIG. 2 may be adapted to different types of features, responses, and/or predictions. For example, a combination of global and personalized models may be used to predict user responses to advertisements, products, services, events, activities, classes, games, movies, music, articles, connection recommendations, and/or other items.; Yuan, Paragraph [0014] further teaches a machine learning model is trained to predict the likelihood that a potential title preference is an actual title preference of a candidate based on features that include titles in recent job applications, job search queries, job views, and/or other types of job-related activity by the candidate.; Yuan Paragraph [0059] teaches management apparatus 206 may store the inferred title preferences 224 in data repository 134 for subsequent inclusion in features generated by feature-processing apparatus 204 (e.g., features that are used to generate job recommendations for the corresponding candidates). [i.e., understood to read on “taxonomized activity record”]).
Regarding claim 2, Yuan teaches all of the limitations of claim 1, and further teaches wherein extracting the action features, extracting the channel features, and extracting the type features each comprises: deriving one or more keywords from the activity record (Yuan, Paragraph [0021] teaches online network 118 also includes a search module 128 that allows the entities to search online network 118 for people, companies, jobs, and/or other job- or business-related information. For example, the entities may input one or more keywords into a search bar to find profiles, job postings, job candidates, articles, and/or other information that includes and/or otherwise matches the keyword(s). The entities may additionally use an “Advanced Search” feature in online network 118 to search for profiles, jobs, and/or information by categories such as first name, last name, title, company, school, location, interests, relationship, skills, industry, groups, salary, experience level, etc.; see also [0036], [0038], [0051], and [0064]); and converting the one or more keywords into a vector according to a vectorization function (Yuan, [0048] teaches the title of a job may similarly be converted into one or more standardized titles that are used to populate a job title vector for the job – note: the keywords such as the job type or title, may be converted into a vector).
Regarding claim 19,
Claim 19 (as amended) recites similar or analogous limitations as claim 1 (as amended), thus, it is rejected under the same rationale as claim 1.
Yuan further teaches a system comprising: at least one hardware processor; and one or more software modules (Yuan, [0078] teaches FIG. 5 shows a computer system 500 in accordance with the disclosed embodiments. Computer system 500 includes a processor 502, memory 504, storage 506, and/or other components found in electronic computing devices. Processor 502 may support parallel processing and/or multi-threaded operation with other processors in computer system 500. Computer system 500 may also include input/output (I/O) devices such as a keyboard 508, a mouse 510, and a display 512.; Fig. 1 teaches modules)
Regarding claim 20,
Claim 20 (as amended) recites similar or analogous limitations as claim 1 (as amended, thus, is rejected under the same rationale as claim 1.
Yuan further teaches a non-transitory computer-readable medium having instructions stored therein (Yuan, [claim 19] teaches non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method.)
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 (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
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.
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.
Claims 3, 5-6 and 14-15 are rejected under 35 U.S.C. 103 as being unpatentable over Yuan et al in view of Sahni et al. (US 20100023506 A1, filed Dec. 31, 2008 and published Jan. 28, 2010)
Regarding claim 3, Yuan teaches all of the limitations of claim 2, however, Yuan does not distinctly disclose wherein each vector has a fixed number of dimensions and represents an embedding of the one or more keywords within a vector space having the fixed number of dimensions.
Nevertheless, Sahni teaches wherein each vector has a fixed number of dimensions and represents an embedding of the one or more keywords within a vector space having the fixed number of dimensions (Sahni, [0040] teaches a vector space model is used to represent each content object 162 (e.g., blog post, news item, or other item of online content) as a content vector 192 of (term, weight) pairs in a multi-dimensional space. The value of each dimension is generated by a content vector generator 190 that executes on the web server 150. The content vector generator 190 generates the value of each dimension based on the words occurring in the content object 162. The content vector 192 may be stored on the web server 150.)
Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art to have modified the system of Yuan with the vector of fixed dimension based on keywords, as taught by Sahni, as it would allow the system to map the content based on the vector information, as specified by the tenant application. (Sahni, Paragraph [0040)
Regarding claim 5, the combination of Yuan in view of Sahni teaches all of the limitations of claim 3, and the combination further teaches wherein the vector comprises a real value for each of the fixed number of dimensions (Sahni, [0040] teaches a vector space model is used to represent each content object 162 (e.g., blog post, news item, or other item of online content) as a content vector 192 of (term, weight) pairs in a multi-dimensional space. The value of each dimension is generated by a content vector generator 190 that executes on the web server 150. The content vector generator 190 generates the value of each dimension based on the words occurring in the content object 162. The content vector 192 may be stored on the web server 150.).
Motivation to combine same as stated in claim 3.
Regarding claim 6, Yuan teaches all of the limitations of claim 2, and Yuan further teaches wherein extracting the action features, extracting the channel features (see Yuan, [0021], [0036], [0051], and [0064; [0048] teaches the candidate's title preferences 224 may be converted into one or more standardized titles that are used to populate a title preferences vector for the candidate. Each element of the vector may represent a different standardized title, with the index into the element representing an identifier for the corresponding standardized title. As a result, the element may be set to 1 if one or more title preferences 224 are converted into the corresponding standardized title and 0 otherwise. The title of a job may similarly be converted into one or more standardized titles that are used to populate a job title vector for the job.[note: [0048] understood to read on prior to converting the one or more keywords into the vector, as claimed), however Yuan does not distinctly disclose and extracting the type features each further comprises, normalizing the one or more keywords prior to converting the one or more keywords into the vector.
Nevertheless, Sahni teaches normalizing the one or more keywords prior to converting the one or more keywords into the vector (Sahni, [0052] teaches normalization may include, for example, converting letters to lowercase, removing whitespace characters, and the like. For example, if a content object such as a video is associated with the tag "action adventure", and the tag "action adventure" is also associated with a user, then that video may be presented to that user because the (first) tag associated with the content matches the (second) tag associated with the user by having the same value.).
Motivation to combine same as stated in claim 3.
Regarding claim 14, Yuan teaches all of the limitations of claim 1 and Yuan further teaches wherein the plurality of models further comprises a web model that predicts a class in a taxonomy of web activities (Yuan, [0027] teaches after the candidates are identified, profile and/or activity data of the candidates may be inputted into the machine learning model(s), along with features and/or characteristics of the corresponding opportunities (e.g., required or desired skills, education, experience, industry, title, etc.). The machine learning model(s) may output scores representing the strength of the candidates with respect to the opportunities and/or qualifications related to the opportunities (e.g., skills, current position, previous positions, overall qualifications, etc.). For example, the machine learning model(s) may generate scores based on similarities between the candidates' profile data with online network 118 and descriptions of the opportunities. The model(s) may further adjust the scores based on social and/or other validation of the candidates' profile data (e.g., endorsements of skills, recommendations, accomplishments, awards, etc.); Yuan [0038] further teaches one or more job features 220 may also be derived features that are generated from other types of features. For example, job features 220 may provide a context of each candidate's impression of a job listing or job description. The context may include a time and location at which the job listing or description is viewed by the candidate. The location can encompass physical and/or other types of locations, such as a geographic location, an application (e.g., native application, mobile application, web application, a specific version of an application, etc.), a website, and/or a web page.), and wherein the method further comprises using the at least one hardware processor to, during the operation mode, for each of the one or more activity records (Yuan, [0043] teaches first model-creation apparatus 210 may create and/or update one or more machine learning models 208 that generate predictions representing the likelihood that a candidate applies to a job, given the candidate's impression of a listing, description, or recommendation of the job. For example, model-creation apparatus 210 may apply a logistic regression model to features for a candidate-job pair to produce a score from 0 to 1 that represents the probability that the candidate applies to a job recommendation (e.g., recommendations 244) that is displayed to the candidate.),
apply the web model to the web features to predict a web activity from the taxonomy of web activities (Yuan [0043] teaches first, model-creation apparatus 210 may create and/or update one or more machine learning models 208 that generate predictions representing the likelihood that a candidate applies to a job, given the candidate's impression of a listing, description, or recommendation of the job. For example, model-creation apparatus 210 may apply a logistic regression model to features for a candidate-job pair to produce a score from 0 to 1 that represents the probability that the candidate applies to a job recommendation (e.g., recommendations 244) that is displayed to the candidate; Yuan, [0014] teaches [0014] In particular, a machine learning model is trained to predict the likelihood that a potential title preference is an actual title preference of a candidate based on features that include titles in recent job applications, job search queries, job views, and/or other types of job-related activity by the candidate; );
and store the predicted web activity in association with the activity record in the taxonomized activity record. (Yuan, [0034] teaches in one or more embodiments, data repository 134 stores data that represents standardized, organized, and/or classified attributes in profile data 216 and/or jobs data 218. For example, skills in profile data 216 and/or jobs data 218 may be organized into a hierarchical taxonomy that is stored in data repository 134. Yuan, [0035] teaches Data 202 in data repository 134 may further be updated using records of recent activity received over one or more event streams 200; Yuan [0038] teaches one or more job features 220 may also be derived features that are generated from other types of features. For example, job features 220 may provide a context of each candidate's impression of a job listing or job description. The context may include a time and location at which the job listing or description is viewed by the candidate. The location can encompass physical and/or other types of locations, such as a geographic location, an application (e.g., native application, mobile application, web application, a specific version of an application, etc.), a website, and/or a web page., and Yuan [0043] teaches first, model-creation apparatus 210 may create and/or update one or more machine learning models 208 that generate predictions representing the likelihood that a candidate applies to a job, given the candidate's impression of a listing, description, or recommendation of the job. For example, model-creation apparatus 210 may apply a logistic regression model to features for a candidate-job pair to produce a score from 0 to 1 that represents the probability that the candidate applies to a job recommendation (e.g., recommendations 244) that is displayed to the candidate)
However, Yuan does not distinctly disclose when the activity record contains a uniform resource locator (URL):extract web features from the activity record;
Nevertheless, Sahni teaches when the activity record contains a uniform resource locator (URL):extract web features from the activity record (Sahni, [0031] teaches as an example, if the user 146 is interested in movies, then the user name 122 that corresponds to the user 146 may be associated with the tag "movies" in the user profile 120. In one example, the metadata 127 is harvested, i.e., determined, by analyzing the user's web activities 128, i.e., sites and pages that the user visits, actions that the user performs at those sites, information that the user submits, content that the user views, and the like. A user profile 120 that includes tags 127 associated with the user 122 is generated based upon the user's activities 128. The user activities 128 are descriptions of the user's activities. The user activities, e.g., representations of the activities that the user performs, include without limitation an activity name or identifier, data associated with the activity, attributes or parameters of the activity such as time, date, and the network data source (e.g., URL of a web site).; Sahni, [0057] further teaches in another example, a relation determination method may use a term extraction technique to generate alternate tags based upon text of the content object. Term extraction may be performed using, for example, a search term extraction method such as the Yahoo! Term Extraction Web Service, which provides a list of significant words or phrases extracted from a content object. For example, if a web page includes the text "Picasso was a painter," then the search term extraction may select the terms "Picasso" and "painter" as terms that are likely to be of interest or have specific meanings. The extracted terms would then be used as tags, so that "Picasso" and "painter" would be tags relevant to the content. The techniques for finding related items, such as stemming, taxonomical lookup, and term extraction, may be combined and/or repeated to generate additional related items.);
Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art to include a URL, as taught by Sahni to the system of Yuan, as it would allow the web features from the associated web site to be extracted and processed to predict the user’s future actions, as specified by the tenant application. (Sahni, [0031])
Regarding claim 15, the combination of Yuan in view of Sahni teaches all of the limitations of claim 14, and the combination further teaches; wherein, during the operation mode, for each of the one or more activity records (Yuan, [0035]), … , the predicted web activity is associated with the activity record in the taxonomized activity record instead of the predicted type class (Yuan [0035] teaches [0035] Data 202 in data repository 134 may further be updated using records of recent activity received over one or more event streams 200. For example, event streams 200 may be generated and/or maintained using a distributed streaming platform such as Apache Kafka (Kafka™ is a registered trademark of the Apache Software Foundation). One or more event streams 200 may also, or instead, be provided by a change data capture (CDC) pipeline that propagates changes to data 202 from a source of truth for data 202. For example, an event containing a record of a recent profile update, job search, job view, job application, response to a job application, connection invitation, post, like, comment, share, and/or other recent member activity within or outside the community may be generated in response to the activity. The record may then be propagated to components subscribing to event streams 200 on a nearline basis.; Yuan [0038] teaches One or more job features 220 may also be derived features that are generated from other types of features. For example, job features 220 may provide a context of each candidate's impression of a job listing or job description. The context may include a time and location at which the job listing or description is viewed by the candidate. The location can encompass physical and/or other types of locations, such as a geographic location, an application (e.g., native application, mobile application, web application, a specific version of an application, etc.), a website, and/or a web page.; Yuan [0043] teaches 0043] First, model-creation apparatus 210 may create and/or update one or more machine learning models 208 that generate predictions representing the likelihood that a candidate applies to a job, given the candidate's impression of a listing, description, or recommendation of the job).
Sahni teaches when the activity record contains a URL (Sahni, [0031] teaches as an example, if the user 146 is interested in movies, then the user name 122 that corresponds to the user 146 may be associated with the tag "movies" in the user profile 120. In one example, the metadata 127 is harvested, i.e., determined, by analyzing the user's web activities 128, i.e., sites and pages that the user visits, actions that the user performs at those sites, information that the user submits, content that the user views, and the like. A user profile 120 that includes tags 127 associated with the user 122 is generated based upon the user's activities 128. The user activities 128 are descriptions of the user's activities. The user activities, e.g., representations of the activities that the user performs, include without limitation an activity name or identifier, data associated with the activity, attributes or parameters of the activity such as time, date, and the network data source (e.g., URL of a web site).)
Motivation to combine same as stated in claim 14.
Claim 4 is rejected under 35 U.S.C. 103 as being unpatentable over Yuan et al. in view of Sahni et al., as applied to claim 3, and further in view of Liu (US 20200218750 A1, filed Jan. 6, 2020 and published Jul. 9, 2020)
Regarding claim 4, the combination of Yuan in view of Sahni teaches all of the limitations of claim 3, however, the combination does not distinctly disclose wherein the vectorization function is a language transformer.
Nevertheless, Liu teaches wherein the vectorization function is a language transformer (Liu, [0051] teaches deep learning has recently shown much promise in Natural Language Processing (NLP). NLP researchers in this area are trying various ways to encode a sequence of symbols (e.g., phrases, sentences, paragraphs, and documents) into a multi-dimensional vector space, called semantic space. Semantic level similar sequences will have closer representation in this multi-dimensional space. Research in this area has led to an adoption of vector space representations of sentences instead of just words. Generally, phrases or sentences better define the contextual information rather than a single word. In various embodiments, research in sentence embedding is leveraged to recommend categories for publications a seller is listing on a publication system.; Liu [0052] further teaches In an example embodiment, SSE is used to embed the deep latent semantic meaning of a given listing title and project it to a shared semantic vector space. A vector space can be referred to as a collection of objects called vectors. Vectors spaces can be characterized by their dimension, which specifies the number of independent directions in the space. A semantic vector space can represent phrases and sentences and can capture semantics for NLP tasks. ).
Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art to have modified the system of Yuan in view of Sahni, to further include the NLP deep learning model, as taught by Liu, as it would allow the system to determine the appropriate dimensionality of the input, as specified by the tenant application (Liu, [0051]-[0052])
Claims 7 is rejected under 35 U.S.C. 103 as being unpatentable over Yuan et al. in view of Liu
Regarding claim 7, Yuan teaches all of the limitations of claim 1, however Yuan does not distinctly disclose wherein each of the plurality of models comprises a deep neural network.
Nevertheless, Liu teaches wherein each of the plurality of models comprises a deep neural network (Liu, [0105] teaches a deep neural network (DNN) is used to extract semantic vectors representations of the source listing title (X). The DNN uses more than one neural network layer to project input sequences into a semantic vector space.).
Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art to have modified the system of Yuan, to further include the NLP deep learning model, as taught by Liu, as it would allow the system to determine the appropriate dimensionality of the input, as specified by the tenant application (Liu, [0051]-[0052])
Claim 8 (as amended) is rejected under 35 U.S.C. 103 as being unpatentable over Yuan in view of Liu, as applied to claim 7, and further in view of Dalli et al. (US 20220147876 A1 filed Nov. 12, 2021 claiming the benefit of Provisional Application No. 63/112,870 filed on Nov. 12, 2020)
Regarding claim 8, the combination of Yuan in view of Liu teaches all of the limitations of claim 7, however the combination does not distinctly disclose wherein training each of the plurality of models comprises adding one or more layers to an existing neural network trained for natural language processing, and retraining the existing neural network while neuron weights in one or more layers of the existing neural network are frozen.
Nevertheless, Dalli teaches wherein training each of the plurality of models comprises adding one or more layers to an existing neural network trained for natural language processing, and retraining the existing neural network while neuron weights in one or more layers of the existing neural network are frozen (Dalli, [0162] teaches when applying transfer learning, the final layer, or a number of layers from the end of the black-box model may be excluded. The embedded network structure may include fixed or non-trainable weights to allow training of the added layers to train faster. It may be contemplated that an exemplary embodiment may also include complex layers such as LSTM, Word Embeddings/Word2Vec, CNN layers, and other layer variants whose choice depends on the particular embodiment and solution being sought.).
Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art to have modified the system of Yuan, in view of the NLP deep learning model, as taught by Liu, to further include the reinforcement learning and transfer learning, as taught by Dalli, as it has the advantage that whenever a black-box predictor changes, transfer learning can easily update the rest of the model. Re-training in a full or incremental manner may be applicable, but generally transfer learning provides a fast and efficient way to learn very complex models. (Dalli, paragraph [0163])
Claims 9-13 are rejected under 35 U.S.C. 103 as being unpatentable over Yuan et al. in view of Liu, as applied to claim 7, and further in view of Sahni et al.
Regarding claim 9, the combination of Yuan in view of Liu teaches all of the limitations of claim 7, and Yuan further discloses wherein each of the plurality of models outputs both a predicted class (Yuan, [0046], teaches the output of the global version, a personalized version for a given candidate, and/or a job-specific version for a given job may be combined to generate a score representing the predicted probability of the candidate applying to the job, clicking on the job, and/or otherwise responding positively to an impression or recommendation for the job. For example, scores generated by the global version, personalized version, and job-specific version may be aggregated into a sum and/or weighted sum that is used as the candidate's predicted probability of responding positively to the job after viewing the job.)…, and wherein the method further comprises using the at least one hardware processor to, during the operation mode, for each of the one or more activity records (Yuan, [0078] teaches FIG. 5 shows a computer system 500 in accordance with the disclosed embodiments. Computer system 500 includes a processor 502, memory 504, storage 506, and/or other components found in electronic computing devices. Processor 502 may support parallel processing and/or multi-threaded operation with other processors in computer system 500. Computer system 500 may also include input/output (I/O) devices such as a keyboard 508, a mouse 510, and a display 512.; Yuan, [0079] computer system 500 may include functionality to execute various components of the present embodiments.)
However, the combination of Yuan in view of Liu does not distinctly disclose:
…and a probability value for the predicted class…
when the probability values for the predicted classes by all of the plurality of models satisfy respective thresholds, assign a mapped status to the activity record; and, when the probability value for the predicted class from at least one of the plurality of models does not satisfy the respective threshold, assign an unmapped status to the activity record.
Nevertheless, Sahni teaches:
…and a probability value for the predicted class…
when the probability values for the predicted classes by all of the plurality of models satisfy respective thresholds, assign a mapped status to the activity record; and, when the probability value for the predicted class from at least one of the plurality of models does not satisfy the respective threshold, assign an unmapped status to the activity record. (Sahni [0041], teaches In one example, the web server 150 also includes a relevance score generator 164, which determines a relevance of content objects 158 (e.g., blog posts) to the user profile 120, and, in one aspect, to the user profile metadata 127, by applying cosine similarity or another similarity detection technique to compare the content vector 192 of each content object 158 to the profile vector 132. As introduced above, the content vector 192 may be based upon tags associated with the content object 158, or upon at least a portion of the content object 158 itself (e.g., the content), or upon values derived from the content object, e.g., statistical information derived from the content object. Other similarity detection techniques include Jaccard similarity, bi-gram similarity, min-hash similarity, and the like. In another example, the relevance score 166 may also be calculated by comparing explicit tags associated with the content objects 158 to user profile metadata 127, e.g., by using string comparison operations to identify similar or identical tags, e.g., strings of characters present in both the content objects 158 and the metadata 127. A determination may then be made of whether the metadata 127 is relevant to the content object(s) 158 by comparing the relevance score 166 to a threshold value, e.g., on a scale of 0 to 100, a threshold relevance score of 75 may be established based upon techniques known to those skilled in the art, such as search result ranking techniques. Then, if a relevance score is at least the threshold value, e.g., at least 75, the metadata 127 is considered relevant to the content object(s) 158.; Sahni [0038], further teaches A profile vector generator 130 creates a profile vector 132 based on metadata 127 and/or activity history 128 associated with a user profile 120. The tags 127 are associated with the user as a consequence of being present in the user's profile 120. The particular tags 127 are determined based on, for example, a user's web browsing behavior and content that the user uploads to the Internet. The activity history 128 may include, for example, web browsing activity, online content that the person creates and consumes, such as blog posts, social network updates, online photos, and the like. Each of the tags 127 may be, for example, a text string of one or more words, and may correspond to a topic or subject, or may have any other meaning implied by the tag. Creators and consumers of content 101 such as articles may tag the content with one or more tags, and any type of content on a web site may have an associated tag or topic.; Sahni [0056], teaches in another example, metadata items may be generated based upon a taxonomical category of the text or tag identified by a taxonomical lookup may be used to generate a taxonomical category, e.g., by mapping the text to a directory of information categories. A metadata item, e.g., a tag, may then be generated based upon the taxonomical category. [Note: in the disclosed example in [0041] above if the relevance score is 0 then this has been understood to read on “when the probability value for the predicted class from at least one of the plurality of models does not satisfy the respective threshold, assign an unmapped status to the activity record" because the metadata is not considered relevant to the content object(s) it does not get “mapped” to the activity record (e.g., features that are used to generate job recommendations for the corresponding candidates), as taught by Yuan at [0059]])
Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art to have modified the system of Yuan in view of Liu, to further include the probability score, as taught by Sahni, as it would allow the vectors to be mapped according to their relevance, as specified in the tenant application. (Sahni, [0038], [0041], and [0056])
Regarding claim 10, the combination of Yuan in view of Liu and Sahni teaches all of the limitations of claim 9, and the combination further teaches wherein the method further comprises using the at least one hardware processor (see Yuan, [0078]) to: generate a graphical user interface (Liu, [0176] teaches the frameworks 1418 (also sometimes referred to as middleware) may provide a higher-level common infrastructure that may be utilized by the applications 1420 or other software components/modules. For example, the frameworks 1418 may provide various graphic user interface (GUI) functions,) that comprises, for each of the activity records to which the unmapped status has been assigned, one or more inputs for specifying one of the plurality of classes in two or more of the plurality of taxonomies to be associated with that activity record (Sahni [0038], teaches a profile vector generator 130 creates a profile vector 132 based on metadata 127 and/or activity history 128 associated with a user profile 120. The tags 127 are associated with the user as a consequence of being present in the user's profile 120. The particular tags 127 are determined based on, for example, a user's web browsing behavior and content that the user uploads to the Internet. The activity history 128 may include, for example, web browsing activity, online content that the person creates and consumes, such as blog posts, social network updates, online photos, and the like..; Sahni [0041], teaches In one example, the web server 150 also includes a relevance score generator 164, which determines a relevance of content objects 158 (e.g., blog posts) to the user profile 120, and, in one aspect, to the user profile metadata 127, by applying cosine similarity or another similarity detection technique to compare the content vector 192 of each content object 158 to the profile vector 132. As introduced above, the content vector 192 may be based upon tags associated with the content object 158, or upon at least a portion of the content object 158 itself (e.g., the content), or upon values derived from the content object, e.g., statistical information derived from the content object. Other similarity detection techniques include Jaccard similarity, bi-gram similarity, min-hash similarity, and the like. In another example, the relevance score 166 may also be calculated by comparing explicit tags associated with the content objects 158 to user profile metadata 127, e.g., by using string comparison operations to identify similar or identical tags, e.g., strings of characters present in both the content objects 158 and the metadata 127. A determination may then be made of whether the metadata 127 is relevant to the content object(s) 158 by comparing the relevance score 166 to a threshold value, e.g., on a scale of 0 to 100, a threshold relevance score of 75 may be established based upon techniques known to those skilled in the art, such as search result ranking techniques. Then, if a relevance score is at least the threshold value, e.g., at least 75, the metadata 127 is considered relevant to the content object(s) 158.; Sahni [0040], teaches in one example, a vector space model is used to represent each content object 162 (e.g., blog post, news item, or other item of online content) as a content vector 192 of (term, weight) pairs in a multi-dimensional space. The value of each dimension is generated by a content vector generator 190 that executes on the web server 150. The content vector generator 190 generates the value of each dimension based on the words occurring in the content object 162. The content vector 192 may be stored on the web server 150.); and, in response to a user operation to save one of the activity records to which the unmapped status has been assigned, store any specified classes in association with the one activity record, and assign the mapped status to the one activity record (Sahni, [0038] teaches a profile vector generator 130 creates a profile vector 132 based on metadata 127 and/or activity history 128 associated with a user profile 120. The tags 127 are associated with the user as a consequence of being present in the user's profile 120. The particular tags 127 are determined [i.e., saved] based on, for example, a user's web browsing behavior and content that the user uploads to the Internet. The activity history 128 may include, for example, web browsing activity, online content that the person creates and consumes, such as blog posts, social network updates, online photos, and the like. ; Sahni, Paragraph [0039] further teaches User may apply [i.e., save] tags to their own online identities, or other users may apply tags to a user. The tags applied to a web site may be stored on the web site or Users may vote for a tag, e.g., to show their interest in the topic or thing represented by the tag. In one example, the tag is displayed in a size, e.g., font size, which is proportional to the number of people who have voted for the tag.; Sahni, [0043] teaches content objects that are less recent may be considered less relevant. In one example, the recency score may be used independently of the relevance score to determine if a metadata item, e.g., a user tag, is relevant to a content object. In this example, a threshold recency value may be established, and if the recency score of a particular metadata item is greater than the threshold value, then the metadata item is considered relevant to that user. The threshold recency value may be based upon a configuration parameter, or based upon a user preference that indicates the time period of the user's interest in the content object. The threshold value may also be based upon information about the average duration of user interest in content objects.; Sahni, [0048] teaches a user's identified interests may change over time. In one example, a decay threshold is applied to the user-tag associations. The decay threshold indicates a minimum time duration, after which a user-tag association may be deleted if the user does not engage in any activities relevant to the tag during the time duration.; Sahni [0041] teaches In one example, the web server 150 also includes a relevance score generator 164, which determines a relevance of content objects 158 (e.g., blog posts) to the user profile 120, and, in one aspect, to the user profile metadata 127, by applying cosine similarity or another similarity detection technique to compare the content vector 192 of each content object 158 to the profile vector 132. As introduced above, the content vector 192 may be based upon tags associated with the content object 158, or upon at least a portion of the content object 158 itself (e.g., the content), or upon values derived from the content object, e.g., statistical information derived from the content object.; Sahni [0041] teaches In one example, the web server 150 also includes a relevance score generator 164, which determines a relevance of content objects 158 (e.g., blog posts) to the user profile 120, and, in one aspect, to the user profile metadata 127, by applying cosine similarity or another similarity detection technique to compare the content vector 192 of each content object 158 to the profile vector 132. As introduced above, the content vector 192 may be based upon tags associated with the content object 158, or upon at least a portion of the content object 158 itself (e.g., the content), or upon values derived from the content object, e.g., statistical information derived from the content object.; Sahni, [0014] teaches generating the first metadata item based upon the text may include using a taxonomical lookup to generate a taxonomical category of the text, and generating the first metadata item based upon the taxonomical category. Generating the first metadata item based upon the taxonomical category may include generating the first metadata item, wherein the first metadata item comprises a name of the taxonomical category. Generating the first metadata item based upon the taxonomical category may include generating the first metadata item, wherein the first metadata item comprises a name of an object in the taxonomical category. The first metadata item may be a tag.; Sahni, [0056] teaches In another example, metadata items may be generated based upon a taxonomical category of the text or tag identified by a taxonomical lookup may be used to generate a taxonomical category, e.g., by mapping the text to a directory of information categories. A metadata item, e.g., a tag, may then be generated based upon the taxonomical category.).
Motivation to combine same as stated in claim 9.
Regarding claim 11, Yuan teaches all of the limitations of claim 1, however, Yuan does not distinctly disclose wherein the method further comprises using the at least one hardware processor to generate a graphical user interface that comprises one or more inputs for changing each of one or both of the stored action class and the stored channel class to an overriding class in one or more of the taxonomized activity records, and at least one input for storing the one or more taxonomized activity records, including any overriding classes, in a data warehouse.
Nevertheless, Liu teaches wherein the method further comprises using the at least one hardware processor to generate a graphical user interface (Liu, [0176], teaches the frameworks 1418 (also sometimes referred to as middleware) may provide a higher-level common infrastructure that may be utilized by the applications 1420 or other software components/modules. For example, the frameworks 1418 may provide various graphic user interface (GUI) functions, high-level resource management, high-level location services, and so forth. The frameworks 1418 may provide a broad spectrum of other APIs that may be utilized by the applications 1420 and/or other software components/modules, some of which may be specific to a particular operating system or platform.
Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art to have modified the system of Yuan, to further include a GUI, as taught by Liu, as it would allow the system to output a graphical representation of the system as specified by the tenant application (Liu, [0176])
However, the combination of Yuan in view of Liu does not distinctly disclose a graphical user interface that comprises one or more inputs for changing each of one or both of the stored action class and the stored channel class to an overriding class in one or more of the taxonomized activity records, and at least one input for storing the one or more taxonomized activity records, including any overriding classes, in a data warehouse.
Nevertheless, Sahni teaches a graphical user interface that comprises one or more inputs for changing each of one or both of the stored action class and the stored channel class to an overriding class in one or more of the taxonomized activity records, and at least one input for storing the one or more taxonomized activity records, including any overriding classes, in a data warehouse (Sahni, [0059] teaches content 264 includes a reference to the widget plugin 260. Upon being downloaded, the widget plugin 260 executes in conjunction with the web browser 252, e.g., as a plugin of the web browser. 252. The widget plugin 260 communicates with the user interests server 220 via the computer network 208. The widget plugin 260 displays a widget user interface that shows relevant content objects 266. The widget plugin 260 retrieves the relevant content objects 266 from the web server being visited by the user 268 based upon the metadata 226 and/or recent activity history 230 stored in the user profile database 222. The details by which the metadata and recent activities are retrieved from the online services and requested by the plugin 260 from the user profile database are described in more detail elsewhere herein.; Sahni [0014] teaches Embodiments of the invention may include one or more of the following features. Generating the first metadata item may include extracting text from the activity history, and generating the first metadata item based upon the text. Generating the first metadata item based upon the text may include using a stemming method to generate a stem word based upon the text, and generating the first metadata item based upon the stem word. Generating the first metadata item based upon the text may include using a taxonomical lookup to generate a taxonomical category of the text, and generating the first metadata item based upon the taxonomical category. Generating the first metadata item based upon the taxonomical category may include generating the first metadata item, wherein the first metadata item comprises a name of the taxonomical category. Generating the first metadata item based upon the taxonomical category may include generating the first metadata item, wherein the first metadata item comprises a name of an object in the taxonomical category. The first metadata item may be a tag; Sahni [claim 4] teaches 4. “…using a taxonomical lookup to generate a taxonomical category of the text; and generating the first metadata item based upon the taxonomical category.”; Sahni, [0031] teaches As an example, if the user 146 is interested in movies, then the user name 122 that corresponds to the user 146 may be associated with the tag "movies" in the user profile 120. In one example, the metadata 127 is harvested, i.e., determined, by analyzing the user's web activities 128, i.e., sites and pages that the user visits, actions that the user performs at those sites, information that the user submits, content that the user views, and the like. A user profile 120 that includes tags 127 associated with the user 122 is generated based upon the user's activities 128. The user activities 128 are descriptions of the user's activities. The user activities, e.g., representations of the activities that the user performs, include without limitation an activity name or identifier, data associated with the activity, attributes or parameters of the activity such as time, date, and the network data source (e.g., URL of a web site). In one example, the activities 128 are online actions explicitly initiated by the user, e.g., actions such as requesting a web page, providing information in response to user input to the web browser 145, and more application-specific activities, such as sharing a web page, sending a particular type of text message, or creating a particular type of object on a web site (e.g., creating a user profile or posting a blog entry). An activity explicitly initiated by, i.e., performed by, the user is, for example, an activity that occurs as a result of a user action, such as clicking a mouse button, entering text, selecting a menu item, or the like. Activities 128 may include, e.g., requesting, viewing or creating web content. In one example, activities explicitly initiated by the user are actions, commands, or events that occur and/or appear in the user interface of the web browser 145. As a user performs actions relevant to interests, tags associated with those interests are appended [i.e., saved and/or updated] to the user profile 120. For example, if a user performs multiple actions relevant to the movie Mission Impossible, e.g., viewing articles and/or other content objects that include the name "Mission Impossible", the tag "Mission Impossible" may be automatically associated with the user 122. Subsequently, when the user visits a web site 150 that has content relevant to the movie Mission Impossible, e.g., articles about the movie and/or articles that include the name of the movie, then that relevant content, or links to the relevant content, may be displayed to the user.; Sahni [0048] teaches A user's identified interests may change over time. In one example, a decay threshold is applied to the user-tag associations. The decay threshold indicates a minimum time duration, after which a user-tag association may be deleted if the user does not engage in any activities relevant to the tag during the time duration.; Sahni [0054] teaches As introduced above, in one example, a content object 162, e.g., a web page, blog post, or the like, may be presented to a user if a first tag associated with the content object 162 is not the same as, but is likely to be relevant to, a second tag associated with the user. The determination of whether a metadata item, e.g., a tag is likely to be relevant to another metadata item, e.g., another tag, may be made by a defined procedure or method, and may be based on, for example, the metadata items or tags themselves, or a database of equivalent items, tags, or words, and/or the piece of content. The "relevant" relation may be extended transitively from the tag by finding relevant tags, and/or extended from the content, by finding tags that are likely to be relevant to the content, until the extensions from the tag and the extensions from the content reach a common value, e.g., the same tag. A tag may therefore be found to be likely to be relevant to a content object even if the tag is not present in the content object. For example, if a first tag "art" is mapped to a second tag "artist" by a stemming technique (as described below), and a content object contains the word "Picasso's art", then the tag "artist" may be identified as relevant to the content object by deriving the tag "art" from "artist" through stemming, and by extracting the term "art" from the content object. Since the term "art" is present in both the tag and the content object, the tag is relevant to the content object. The term "likely" is used to indicate that the "relevant to" relation is an approximation of a semantic relation. Two items may be found to be relevant to each other even if the average person would not consider them to be related or relevant to each other. However, the technique for finding relevant items should attempt to minimize the number of such false positive relations. Other techniques for evaluating relevance are may be used, e.g., using dictionaries, tables of synonyms, linguistic rules, tables of semantically related words, and the like to find words relevant to a given metadata item. Relevance may also be evaluated by generating numeric vectors based on content, metadata, and other information about users, as described below.;).
Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art to have modified the system of Yuan in view of Liu, to further include overriding a class, as taught by Sahni, as it would allow the system to be updated as new activity data comes in, as specified by the tenant application. (Sahni, [0031], [0048], and [0054])
Regarding claim 12, the combination of Yuan in view of Liu and Sahni teaches all of the limitations of claim 11, and the combination further teaches further comprising using the at least one hardware processor (see Yuan [0078]) to generate at least one lookup table from the data warehouse (Sahni, [0054] teaches [0054] As introduced above, in one example, a content object 162, e.g., a web page, blog post, or the like, may be presented to a user if a first tag associated with the content object 162 is not the same as, but is likely to be relevant to, a second tag associated with the user. The determination of whether a metadata item, e.g., a tag is likely to be relevant to another metadata item, e.g., another tag, may be made by a defined procedure or method, and may be based on, for example, the metadata items or tags themselves, or a database of equivalent items, tags, or words, and/or the piece of content. The "relevant" relation may be extended transitively from the tag by finding relevant tags, and/or extended from the content, by finding tags that are likely to be relevant to the content, until the extensions from the tag and the extensions from the content reach a common value, e.g., the same tag. A tag may therefore be found to be likely to be relevant to a content object even if the tag is not present in the content object. For example, if a first tag "art" is mapped to a second tag "artist" by a stemming technique (as described below), and a content object contains the word "Picasso's art", then the tag "artist" may be identified as relevant to the content object by deriving the tag "art" from "artist" through stemming, and by extracting the term "art" from the content object. Since the term "art" is present in both the tag and the content object, the tag is relevant to the content object. The term "likely" is used to indicate that the "relevant to" relation is an approximation of a semantic relation. Two items may be found to be relevant to each other even if the average person would not consider them to be related or relevant to each other. However, the technique for finding relevant items should attempt to minimize the number of such false positive relations. Other techniques for evaluating relevance are may be used, e.g., using dictionaries, tables of synonyms, linguistic rules, tables of semantically related words, and the like to find words relevant to a given metadata item. Relevance may also be evaluated by generating numeric vectors based on content, metadata, and other information about users, as described below. ; Sahni [0056] teaches In another example, metadata items may be generated based upon a taxonomical category of the text or tag identified by a taxonomical lookup may be used to generate a taxonomical category, e.g., by mapping the text to a directory of information categories. A metadata item, e.g., a tag, may then be generated based upon the taxonomical category. For example, a directory may map the text "bicycle" to the category "human powered", which is a subcategory of the category "transportation". In that example, generating metadata items using the name(s) of each category produces the metadata items "human powered" and "transportation". In another example, metadata items may be generated based upon names of other objects in the category, e.g., if the "human powered" category includes "unicycle", the metadata item "unicycle" is generated.), wherein the at least one lookup table indexes one or more of: the action class in each of one or more of the taxonomized activity records in the data warehouse by the action features of that taxonomized activity record; the channel class in each of one or more of the taxonomized activity records in the data warehouse by the channel features of that taxonomized activity record; or the type class in each of one or more of the taxonomized activity records in the data warehouse by the type features of that taxonomized activity record (Sahni [0014] teaches embodiments of the invention may include one or more of the following features. Generating the first metadata item may include extracting text from the activity history, and generating the first metadata item based upon the text. Generating the first metadata item based upon the text may include using a stemming method to generate a stem word based upon the text, and generating the first metadata item based upon the stem word. Generating the first metadata item based upon the text may include using a taxonomical lookup to generate a taxonomical category of the text, and generating the first metadata item based upon the taxonomical category. Generating the first metadata item based upon the taxonomical category may include generating the first metadata item, wherein the first metadata item comprises a name of the taxonomical category. Generating the first metadata item based upon the taxonomical category may include generating the first metadata item, wherein the first metadata item comprises a name of an object in the taxonomical category. The first metadata item may be a tag; Sahni [claim 4] teaches 4. “…using a taxonomical lookup to generate a taxonomical category of the text; and generating the first metadata item based upon the taxonomical category.” ;Sahni [0064] teaches FIG. 5 illustrates a method of identifying content relevant to a user in accordance with embodiments of the invention. The method of FIG. 5 is executed, for example, by a plugin widget when the user visits a web site that references the widget, to construct a list of content objects, pages, or sites that are likely to be of interest to the user. Block 500 is included to illustrate the context in which the method is and does not necessarily perform any operations. Block 500 indicates that the method is invoked in response to a user visiting a web site that references a widget plugin such as the plugin 156 of FIG. 1. Block 502 receives a request for content relevant to the site being visited. The site being visited (e.g., the site currently shown in the browser), may be, for example, a blog site, or other content provider site. Block 502 acquires content objects such as blog posts from the site being visited, if the user visiting the web site has a corresponding entry in the user profile 120 of FIG. 1. If the user does not have a user profile entry, block 502 may use information based on previous requests to select objects that may be of interest to an ordinary user. Block 504 determines relevance scores for the content objects (e.g., blog posts, news articles, and the like) retrieved from the site being visited by comparing content information (from the content object) to user information, which may be retrieved from a user information profile database, such as MyBlogLog. Block 504 optionally generates or retrieves a content vector for the content object (e.g., blog post) acquired in block 502. The comparison may be performed using a cosine similarity technique, or other numeric similarity technique on the content vector and profile vector. In other examples, the comparison may be performed by a string comparison of tags (or content text) associated with the content objects to tags of interest to the user or the user's activity history. In one example, if few tags are associated with the user, a lookup table may be consulted to determine synonym tags or relevant tags for the tags associated with the user, and the synonym or relevant tags may be used in the relevance calculation. In other examples, a set of tags may be generated, e.g., based upon a default set of tags, or based upon information in the user's profile. Block 506 selects content objects having the greatest relevance scores (as determined by, for example, the similarity technique), and displays those content objects in the widget display area of the web browser window, e.g., in a sidebar adjacent to the content objects displayed in the browser. The greatest relevance scores may be selected by choosing a predetermined number of content objects (e.g., 5) that have the highest relevance scores, or by choosing all content objects that have relevance scores greater than a predetermined value.; Sahni [0031] teaches As an example, if the user 146 is interested in movies, then the user name 122 that corresponds to the user 146 may be associated with the tag "movies" in the user profile 120. In one example, the metadata 127 is harvested, i.e., determined, by analyzing the user's web activities 128, i.e., sites and pages that the user visits, actions that the user performs at those sites, information that the user submits, content that the user views, and the like. A user profile 120 that includes tags 127 associated with the user 122 is generated based upon the user's activities 128. The user activities 128 are descriptions of the user's activities. The user activities, e.g., representations of the activities that the user performs, include without limitation an activity name or identifier, data associated with the activity, attributes or parameters of the activity such as time, date, and the network data source (e.g., URL of a web site). In one example, the activities 128 are online actions explicitly initiated by the user, e.g., actions such as requesting a web page, providing information in response to user input to the web browser 145, and more application-specific activities, such as sharing a web page, sending a particular type of text message, or creating a particular type of object on a web site (e.g., creating a user profile or posting a blog entry). An activity explicitly initiated by, i.e., performed by, the user is, for example, an activity that occurs as a result of a user action, such as clicking a mouse button, entering text, selecting a menu item, or the like. Activities 128 may include, e.g., requesting, viewing or creating web content. In one example, activities explicitly initiated by the user are actions, commands, or events that occur and/or appear in the user interface of the web browser 145. As a user performs actions relevant to interests, tags associated with those interests are appended to the user profile 120. For example, if a user performs multiple actions relevant to the movie Mission Impossible, e.g., viewing articles and/or other content objects that include the name "Mission Impossible", the tag "Mission Impossible" may be automatically associated with the user 122. Subsequently, when the user visits a web site 150 that has content relevant to the movie Mission Impossible, e.g., articles
about the movie and/or articles that include the name of the movie, then that relevant content, or links to the relevant content, may be displayed to the user.).
Motivation to combine same as stated in claim 11.
Regarding claim 13, the combination of Yuan in view of Liu and Sahni teaches all of the limitations of claim 12, and the combination further teaches further comprising using the at least one hardware processor (see Yuan, [0078]) to, for each of one or more activity records, for each of the plurality of models (Yuan, [0034] teaches In one or more embodiments, data repository 134 stores data that represents standardized, organized, and/or classified attributes in profile data 216 and/or jobs data 218. For example, skills in profile data 216 and/or jobs data 218 may be organized into a hierarchical taxonomy that is stored in data repository 134. The taxonomy may model relationships between skills and/or sets of related skills (e.g., “Java programming” is related to or a subset of “software engineering”) and/or standardize identical or highly related skills (e.g., “Java programming,” “Java development,” “Android development,” and “Java programming language” are standardized to “Java”). In another example, locations in data repository 134 may include cities, metropolitan areas, states, countries, continents, and/or other standardized geographical regions. In a third example, data repository 134 includes standardized company names for a set of known and/or verified companies associated with the members and/or jobs. In a fourth example, data repository 134 includes standardized titles, seniorities, and/or industries for various jobs, members, and/or companies in the online network. In a fifth example, data repository 134 includes standardized time periods (e.g., daily, weekly, monthly, quarterly, yearly, etc.) that can be used to retrieve profile data 216, jobs data 218, and/or other data 202 that is represented by the time periods (e.g., starting a job in a given month or year, graduating from university within a five-year span, job listings posted within a two-week period, etc.).): … using features extracted for that model from the activity record (Yuan [0050] teaches Features inputted into the machine learning model may include, but are not limited to, titles in the candidate's job searches, job applications, dismissals of jobs, and/or other types of recent job-related activity from the candidate. For example, feature-processing apparatus 204 may calculate counts of the candidate's job searches, job applications, dismissals of job recommendations, and/or other types of job-related activity from records of the candidate's recent (e.g., in the last month, in the last six months, etc.) job-related activity in data repository 134. Feature-processing apparatus 204 may also identify the longest “sequence” of actions involving the same standardized title (e.g., a “Product Manager” title in three consecutive job applications and/or job views) and/or one or more standardized titles in consecutive sequences of actions of a certain length (e.g., a “Product Manager” title in at least three consecutive job applications and/or job views).; Yuan [0051] teaches Feature-processing apparatus 204 may then calculate cosine similarities, Jaccard similarities, and/or other measures of similarity between a potential title preference and titles found in the candidate's job-related activity (e.g., job applications, job searches, job views, sequences of actions involving the same title, etc.). Feature-processing apparatus 204 may also, or instead, weight the measures of similarity by the frequency of the corresponding titles associated with a given job-related activity (e.g., job search, job application, dismissal of job recommendation, job view, etc.))… and apply the model to the extracted features (Yuan [0036] teaches a feature-processing apparatus 204 uses data 202 from event streams 200 and/or data repository 134 to calculate a set of features for a candidate and/or one or more jobs. For example, feature-processing apparatus 204 may execute on an offline, periodic, and/or batch-processing basis to produce features for a large number of candidates and/or candidate-job pairs (e.g., combinations of members in the community and jobs for which the members are qualified). In another example, feature-processing apparatus 204 may generate features in an online, nearline, and/or on-demand basis based on recent job-seeking activity by a candidate (e.g., a user session with the community, a job search, a job view, a click on a job, an application for a job, etc.); Yuan, [0038] teaches One or more job features 220 may also be derived features that are generated from other types of features. For example, job features 220 may provide a context of each candidate's impression of a job listing or job description. The context may include a time and location at which the job listing or description is viewed by the candidate. The location can encompass physical and/or other types of locations, such as a geographic location, an application (e.g., native application, mobile application, web application, a specific version of an application, etc.), a website, and/or a web page.; see Yuan [0051]; Yuan [0064] teaches the system of FIG. 2 may be adapted to different types of features, responses, and/or predictions. For example, a combination of global and personalized models may be used to predict user responses to advertisements, products, services, events, activities, classes, games, movies, music, articles, connection recommendations, and/or other items.).
Sahni teaches …perform a lookup in the at least one lookup table…; when the lookup returns a class, store the returned class in association with the activity record as the taxonomized activity record without applying the model (Sahni [0031], [0064]); and, when the lookup does not return a class, extract the features for that model,…, (see Sahni [0064] and [0031]; Sahni [0041] further teaches In one example, the web server 150 also includes a relevance score generator 164, which determines a relevance of content objects 158 (e.g., blog posts) to the user profile 120, and, in one aspect, to the user profile metadata 127, by applying cosine similarity or another similarity detection technique to compare the content vector 192 of each content object 158 to the profile vector 132. As introduced above, the content vector 192 may be based upon tags associated with the content object 158, or upon at least a portion of the content object 158 itself (e.g., the content), or upon values derived from the content object, e.g., statistical information derived from the content object. Other similarity detection techniques include Jaccard similarity, bi-gram similarity, min-hash similarity, and the like. In another example, the relevance score 166 may also be calculated by comparing explicit tags associated with the content objects 158 to user profile metadata 127, e.g., by using string comparison operations to identify similar or identical tags, e.g., strings of characters present in both the content objects 158 and the metadata 127. A determination may then be made of whether the metadata 127 is relevant to the content object(s) 158 by comparing the relevance score 166 to a threshold value, e.g., on a scale of 0 to 100, a threshold relevance score of 75 may be established based upon techniques known to those skilled in the art, such as search result ranking techniques. Then, if a relevance score is at least the threshold value, e.g., at least 75, the metadata 127 is considered relevant to the content object(s) 158.)
Motivation to combine same as stated in claim 11.
Claims 16-18 are rejected under 35 U.S.C. 103 as being unpatentable over Yuan et al. as applied to claim 1, and further in view of Rogynskyy et al. (US 20190361918 A1), filed May 21, 2019 and published Nov. 28, 2019)
Regarding claim 16, Yuan teaches all of the limitations of claim 1, and Yuan further teaches wherein the plurality of models comprise a plurality of action models, a plurality of channel models, and a plurality of type models (Yuan, [0036] teaches a feature-processing apparatus 204 uses data 202 from event streams 200 and/or data repository 134 to calculate a set of features for a candidate and/or one or more jobs. For example, feature-processing apparatus 204 may execute on an offline, periodic, and/or batch-processing basis to produce features for a large number of candidates and/or candidate-job pairs (e.g., combinations of members in the community and jobs for which the members are qualified). In another example, feature-processing apparatus 204 may generate features in an online, nearline, and/or on-demand basis based on recent job-seeking activity by a candidate (e.g., a user session with the community, a job search, a job view, a click on a job, an application for a job, etc.).; Yuan [0038] teaches One or more job features 220 may also be derived features that are generated from other types of features. For example, job features 220 may provide a context of each candidate's impression of a job listing or job description. The context may include a time and location at which the job listing or description is viewed by the candidate. The location can encompass physical and/or other types of locations, such as a geographic location, an application (e.g., native application, mobile application, web application, a specific version of an application, etc.), a website, and/or a web page.; Yuan [0051], teaches Outcomes 212 related to machine learning models 208 that predict inferred title preferences for candidates may include positive outcomes 212 containing known title preferences, which are obtained from recently provided title preferences (e.g., title preferences that have been explicitly set and/or updated in the last six months) in data repository 134. Outcomes 212 may also include negative outcomes 212 containing unlikely title preferences, which are randomly generated from titles that are not the candidates' explicit title preferences and/or titles that are not found in trends and/or patterns associated with the candidates' career paths and/or job histories. Positive outcomes 212 may be assigned a label of 1, and negative outcomes 212 may be assigned a label of 0.; Yuan [0064] teaches, the system of FIG. 2 may be adapted to different types of features, responses, and/or predictions. For example, a combination of global and personalized models may be used to predict user responses to advertisements, products, services, events, activities, classes, games, movies, music, articles, connection recommendations, and/or other items. ), and wherein the method further comprises using the at least one hardware processor (see, Yuan [0078]) to, during the operation mode, select one of the plurality of action models, one of the plurality of channel models, and one of the plurality of type models (see, Yuan, [0036], [0038], [0051], and [0064], as previously stated.) ….
However, Yuan does not distinctly disclose … based on a type of data source from which the data was acquired
Nevertheless, Rogynskyy teaches … based on a type of data source from which the data was acquired (Rogynskyy, [0233] teaches the record object identification engine 315 can include one or more matching models 340. A matching model 340 can be trained or programmed to aid in matching electronic activities to record objects to allow the electronic activity linking engine 250 to link the electronic activities to the matched record objects. For example, the record object identification engine 315 can include or use one or more matching models 340 to assist, aid or allow the electronic activity linking engine 250 to match electronic activities to record objects. In some embodiments, each of the one or more matching models 340 can be specific to a particular data source provider, electronic activity type, or record object type. In some embodiments, the record object identification engine 315 can include a single matching model that the record object identification engine 315 can use to match electronic activities ingested by the data processing system 9300 to any number of a plurality of record objects of a plurality of systems of records. In some embodiments, the matching models 340 can be data structures that include rules or heuristics for linking electronic activities with record objects. The matching models 340 can include matching rules (which can be referred to as matching strategies) and can include restricting rules (which can be referred to as restricting strategies or pruning strategies). As described further in relation to FIGS. 11 and 12, the record object identification engine 315 can use the matching strategies to select candidate record objects to which the electronic activity could be linked and use the restricting strategies to refine, discard, or select from the candidate record objects. In some embodiments, the matching models 340 can include a data structure that includes the coefficients for a machine learning model for use in linking electronic activities with record objects.)
Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art to have modified the system of Yuan to further include the method for electronic activity classification, as taught by Rogynskyy, to automatically synchronize real-time or near real-time electronic activity to one or more objects of systems of record. The systems can further extract business process information from the systems of record and in combination with the node graph, use the extracted business process information to improve business processes and to provide data driven solutions to improve such business processes. (Rogynskyy, [0055])
Regarding claim 17, the combination of Yuan in view of Rogynskyy teaches all of the limitations of claim 16, and Yuan further teaches wherein a first combination of one of the plurality of action models, one of the plurality of channel models, and one of the plurality of type models is selected (Yuan, [0036] teaches A feature-processing apparatus 204 uses data 202 from event streams 200 and/or data repository 134 to calculate a set of features for a candidate and/or one or more jobs. For example, feature-processing apparatus 204 may execute on an offline, periodic, and/or batch-processing basis to produce features for a large number of candidates and/or candidate-job pairs (e.g., combinations of members in the community and jobs for which the members are qualified). In another example, feature-processing apparatus 204 may generate features in an online, nearline, and/or on-demand basis based on recent job-seeking activity by a candidate (e.g., a user session with the community, a job search, a job view, a click on a job, an application for a job, etc.).; Yuan, [0038] teaches One or more job features 220 may also be derived features that are generated from other types of features. For example, job features 220 may provide a context of each candidate's impression of a job listing or job description. The context may include a time and location at which the job listing or description is viewed by the candidate. The location can encompass physical and/or other types of locations, such as a geographic location, an application (e.g., native application, mobile application, web application, a specific version of an application, etc.), a website, and/or a web page.; Yuan [0051] teaches Feature-processing apparatus 204 may then calculate cosine similarities, Jaccard similarities, and/or other measures of similarity between a potential title preference and titles found in the candidate's job-related activity (e.g., job applications, job searches, job views, sequences of actions involving the same title, etc.). Feature-processing apparatus 204 may also, or instead, weight the measures of similarity by the frequency of the corresponding titles associated with a given job-related activity (e.g., job search, job application, dismissal of job recommendation, job view, etc.).; Yuan [0064] teaches the system of FIG. 2 may be adapted to different types of features, responses, and/or predictions. For example, a combination of global and personalized models may be used to predict user responses to advertisements, products, services, events, activities, classes, games, movies, music, articles, connection recommendations, and/or other items.)…, and a second combination of one of the plurality of action models (Yuan [0066] Initially, features related to an application for jobs by a candidate are determined (operation 302). The features may include a title preference for the candidate and/or a similarity between a first set of attribute values for the candidate and a second set of attribute values for a job. The first and second sets of attribute values may include the candidate's title preference and the job's title, skills held by the candidate and required or desired for the job, seniorities of the candidate and job, industries of the candidate and job, the candidate's summary and/or headline, and/or the job's description. The similarity may be generated by populating a first vector with the first set of attribute values, populating a second vector with the second set of attribute values, and calculating a cosine similarity based on the first and second vectors. The first and second vectors may be produced by mapping elements of the first and second vectors to standardized attribute values and assigning values to the elements of the first and second vectors based on inclusion of the standardized attribute values in the corresponding first and second sets of attribute values; Yuan, [0067] teaches Next, a machine learning model is applied to the features to produce scores representing likelihoods of the candidate applying to the jobs (operation 304)…. A personalized version of the machine learning model may also be applied to the features to generate a second set of scores representing the likelihoods of the candidate applying to the jobs. A job-specific versions of the machine learning model may further be applied to the features to generate a third set of scores representing the likelihoods of the candidate applying to the jobs.), one of the plurality of channel models, and one of the plurality of type models is selected (see, Yuan, [0036], [0038], [0051], [0064])…, and wherein the first combination is different than the second combination (see Yuan, [0066]-[0067]).
Rogynskyy teaches:
…when the type of data source is a marketing automation platform… (Rogynskyy, [0389] teaches In some embodiments, the system 200 can be configured to establish connections with one or more third-party data sources, for instance, marketing automation or mass mailing systems, to receive additional data from such data sources. In some embodiments, the system 200 can access the data for companies that also provided access to their electronic communication servers and systems of record. The system can then harvest the data related to bounce back activity based on electronic activities sent via or generated by the third-party data sources, such as marketing automation systems,)
…when the type of data source is a customer relationship management system… (Rogynskyy, [0445] teaches companies can maintain various systems of record, including a customer relationship management system, which the company can use as a holding system for descriptions of business processes.; Rogynskyy, [0620] teaches Referring further to FIG. 2, among others, the node graph generation system 200 can ingest record objects to generate or update node profiles that are maintained by the node graph generation system 200 using data from the record objects. For example, as illustrated in FIG. 10, the node graph generation system 200 can process record objects or data records of a system of record, such as a customer relationship management (CRM) system.)
Motivation to combine same as stated in claim 16.
Regarding claim 18, the combination of Yuan in view of Rogynskyy teaches all of the limitations of claim 16, and Yuan further teaches wherein a first combination of one of the plurality of action models, one of the plurality of channel models, and one of the plurality of type models is selected (Yuan, [0036] teaches A feature-processing apparatus 204 uses data 202 from event streams 200 and/or data repository 134 to calculate a set of features for a candidate and/or one or more jobs. For example, feature-processing apparatus 204 may execute on an offline, periodic, and/or batch-processing basis to produce features for a large number of candidates and/or candidate-job pairs (e.g., combinations of members in the community and jobs for which the members are qualified). In another example, feature-processing apparatus 204 may generate features in an online, nearline, and/or on-demand basis based on recent job-seeking activity by a candidate (e.g., a user session with the community, a job search, a job view, a click on a job, an application for a job, etc.).; Yuan, [0038] teaches One or more job features 220 may also be derived features that are generated from other types of features. For example, job features 220 may provide a context of each candidate's impression of a job listing or job description. The context may include a time and location at which the job listing or description is viewed by the candidate. The location can encompass physical and/or other types of locations, such as a geographic location, an application (e.g., native application, mobile application, web application, a specific version of an application, etc.), a website, and/or a web page.; Yuan [0051] teaches Feature-processing apparatus 204 may then calculate cosine similarities, Jaccard similarities, and/or other measures of similarity between a potential title preference and titles found in the candidate's job-related activity (e.g., job applications, job searches, job views, sequences of actions involving the same title, etc.). Feature-processing apparatus 204 may also, or instead, weight the measures of similarity by the frequency of the corresponding titles associated with a given job-related activity (e.g., job search, job application, dismissal of job recommendation, job view, etc.).; Yuan [0064] teaches the system of FIG. 2 may be adapted to different types of features, responses, and/or predictions. For example, a combination of global and personalized models may be used to predict user responses to advertisements, products, services, events, activities, classes, games, movies, music, articles, connection recommendations, and/or other items.)…, a second combination of one of the plurality of action models, one of the plurality of channel models (Yuan [0064] teaches the system of FIG. 2 may be adapted to different types of features, responses, and/or predictions. For example, a combination of global and personalized models may be used to predict user responses to advertisements, products, services, events, activities, classes, games, movies, music, articles, connection recommendations, and/or other items.; See Fig. 2, 210, 236), … and wherein the first combination, the second combination, and the third combination are different from each other (Yuan [0064] teaches the system of FIG. 2 may be adapted to different types of features, responses, and/or predictions. For example, a combination of global and personalized models may be used to predict user responses to advertisements, products, services, events, activities, classes, games, movies, music, articles, connection recommendations, and/or other items.; See Fig. 2, 210, 236).
Rogynskyy teaches:
…when the type of data source is a marketing automation platform…(Rogynskyy, [0389] teaches in some embodiments, the system 200 can be configured to establish connections with one or more third-party data sources, for instance, marketing automation or mass mailing systems, to receive additional data from such data sources. In some embodiments, the system 200 can access the data for companies that also provided access to their electronic communication servers and systems of record. The system can then harvest the data related to bounce back activity based on electronic activities sent via or generated by the third-party data sources, such as marketing automation systems, and use the data related to bounce back activity to increase the number of bounce back electronic activities the system 200 ingests or can access, thereby further increasing volume of data and further enriching member and group node profiles and the node graph.)
and one of the plurality of type models is selected when the type of data source is campaign data of a customer relationship management system (Rogynskyy, [0054] teaches the present disclosure relates to systems and methods for constructing a node graph based on electronic activity. The node graph can include a plurality of nodes and a plurality of edges between the nodes indicating activity or relationships that are derived from a plurality of data sources that can include one or more types of electronic activities. The plurality of data sources can include email or messaging servers, phone servers, servers storing calendar information, meeting information, among others. The plurality of data sources further includes systems of record, such as customer relationship management systems,) and a third combination of one of the plurality of action models, one of the plurality of channel models, and one of the plurality of type models is selected when the type of data source is event data of a customer relationship management system, (Rogynskyy, [0184] teaches the system can be configured to maintain a time series array for each field of a node profile that can be used to determine a timeline of events associated with the node. The system can maintain the time series array based on timestamps of all data sources of all values for each field of the node.)
Motivation to combine same as stated in claim 16.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BEATRIZ RAMIREZ BRAVO whose telephone number is 571-272-2156. The examiner can normally be reached Mon. - Fri. 7:30a.m.-5:00p.m..
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, USMAAN SAEED can be reached at 571-272-4046. 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.
/B.R.B./Examiner, Art Unit 2146
/USMAAN SAEED/Supervisory Patent Examiner, Art Unit 2146