IP Library › Granted Patent US 12,547,963
Granted Patent B1
US 12,547,963 · App. 17/592,208 · Granted Feb 10, 2026

Probabilistic employee attribution

Inventors: Dean Mao (San Francisco, CA); Thomas Medina (Whittier, CA); Bradley William Null (Millbrae, CA); Lara Stoll (Berkeley, CA); Hao Xu (Newark, CA)
Assignee: Reputation.com, Inc.
G06Q10/06398G06N7/01
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,547,963
App. No.
17/592,208
Granted
Feb 10, 2026
Kind
B1
Abstract

Probabilistic employee attribution includes receiving a feedback item pertaining to an organization. It further includes extracting a named entity from text of the feedback item. It further includes determining a list of candidate employees of the organization. It further includes determining, for each candidate employee in the list of candidate employees, a corresponding probability that the candidate employee matches to the named entity extracted from the text of the feedback item. It further includes providing output based at least in part on the probability that the candidate employee matches to the named entity extracted from the text in the feedback item.

Claims (49)

1 . A system, comprising:

a memory; and

one or more processors coupled to the memory and configured to:

collect, over a network and from a source site, a feedback item pertaining to an organization, wherein the collecting comprises using a web scraper to scrape the source site for the feedback item based at least in part on a determination that querying of the source site using an Application Programming Interface (API) is unavailable for the source site, and wherein scraping is facilitated at least in part by using at least one of:

a load distribution proxy to distribute load for the scraping: or

a geographical proxy such that the scraping appears to be performed from

a particular geographic location;

extract a named entity from text of the feedback item;

determine a list of candidate employees of the organization at least in part by querying a data store comprising employee records, the employee records comprising employee information collected from an external application;

determine a list of probabilistic matches between the named entity extracted from the text in the feedback item and the list of candidate employees, wherein determining the list of probabilistic matches includes, for a given candidate employee in the list of candidate employees:

generating an employee attribution feature vector comprising a plurality of factors that encode information pertaining to the extracted named entity, the given candidate employee, and contextual information, wherein generating the employee attribution feature vector comprises encoding, using a binary value, a result of a comparison between an attribute extracted from the feedback item and an attribute of the given candidate employee obtained from the data store comprising the employee records; and

determining a corresponding probability that the given candidate employee matches to the named entity extracted from the text in the feedback item at least in part by providing the generated employee attribution feature vector as input to an employee attribution model, wherein the employee attribution model comprises a machine learning model; and

provide, via a graphical user interface, the list of probabilistic matches determined between the named entity extracted from the text in the feedback item and the list of candidate employees, wherein the graphical user interface is configured to provide one or more options to a user to validate the list of probabilistic matches.

2 . The system of claim 1 , wherein the list of candidate employees comprises candidate employees determined to be active during a time period associated with the feedback item.

3 . The system of claim 1 , wherein the comparison comprises determining a distance between a name associated with the extracted named entity and a name of the given candidate employee.

4 . The system of claim 1 , wherein presenting the list of probabilistic matches comprises presenting, in the graphical user interface, the given candidate employee as a match to the named entity extracted from the text in the feedback item, wherein the given candidate employee is presented based at least in part on the corresponding probability.

5 . The system of claim 4 , wherein the one or more processors are further configured to receive, via the graphical user interface, user validation of the presented given candidate employee as a match to the named entity.

6 . The system of claim 5 , wherein the user validation comprises an indication that the presented given candidate employee is an incorrect match to the named entity.

7 . The system of claim 5 , wherein a training data set usable to train the employee attribution model is updated based at least in part on the user validation.

8 . The system of claim 1 , wherein the one or more processors are further configured to determine an absence of a match to the named entity that exceeds a threshold probability.

9 . The system of claim 8 , wherein the one or more processors are further configured to determine that the named entity is a potential employee of the organization.

10 . A method, comprising:

collecting, over a network and from a source site, a feedback item pertaining to an organization, wherein the collecting comprises using a web scraper to scrape the source site for the feedback item based at least in part on a determination that querying of the source site using an Application Programming Interface (API) is unavailable for the source site, and wherein scraping is facilitated at least in part by using at least one of:

a load distribution proxy to distribute load for the scraping: or

a geographical proxy such that the scraping appears to be performed from a particular geographic location;

extracting a named entity from text of the feedback item;

determining a list of candidate employees of the organization at least in part by querying a data store comprising employee records, the employee records comprising employee information collected from an external application;

determining a list of probabilistic matches between the named entity extracted from the text in the feedback item and the list of candidate employees, wherein determining the list of probabilistic matches includes, for a given candidate employee in the list of candidate employees:

generating an employee attribution feature vector comprising a plurality of factors that encode information pertaining to the extracted named entity, the given candidate employee, and contextual information, wherein generating the employee attribution feature vector comprises encoding, using a binary value, a result of a comparison between an attribute extracted from the feedback item and an attribute of the given candidate employee obtained from the data store comprising the employee records; and

determining a corresponding probability that the given candidate employee matches to the named entity extracted from the text in the feedback item at least in part by providing the generated employee attribution feature vector as input to an employee attribution model, wherein the employee attribution model comprises a machine learning model; and

providing, via a graphical user interface, the list of probabilistic matches determined between the named entity extracted from the text in the feedback item and the list of candidate employees, wherein the graphical user interface is configured to provide one or more options to a user to validate the list of probabilistic matches.

11 . The method of claim 10 , wherein the list of candidate employees comprises candidate employees determined to be active during a time period associated with the feedback item.

12 . The method of claim 10 , wherein the comparison comprises determining a distance between a name associated with the extracted named entity and a name of the given candidate employee.

13 . The method of claim 10 , wherein presenting the list of probabilistic matches comprises presenting, in the graphical user interface, the given candidate employee as a match to the named entity extracted from the text in the feedback item, wherein the given candidate employee is presented based at least in part on the corresponding probability.

14 . The method of claim 13 , further comprising receiving, via the graphical user interface, user validation of the presented given candidate employee as a match to the named entity.

15 . The method of claim 14 , wherein the user validation comprises an indication that the presented given candidate employee is an incorrect match to the named entity.

16 . The method of claim 14 , wherein a training data set usable to train the employee attribution model is updated based at least in part on the user validation.

17 . The method of claim 10 , further comprising determining an absence of a match to the named entity that exceeds a threshold probability.

18 . The method of claim 17 , further comprising determining that the named entity is a potential employee of the organization.

19 . A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

collecting, over a network and from a source site, a feedback item pertaining to an organization, wherein the collecting comprises using a web scraper to scrape the source site for the feedback item based at least in part on a determination that querying of the source site using an Application Programming Interface (API) is unavailable for the source site, and wherein scraping is facilitated at least in part by using at least one of:

a load distribution proxy to distribute load for the scraping: or

a geographical proxy such that the scraping appears to be performed from a particular geographic location;

extracting a named entity from text of the feedback item;

determining a list of candidate employees of the organization at least in part by querying a data store comprising employee records, the employee records comprising employee information collected from an external application;

determining a list of probabilistic matches between the named entity extracted from the text in the feedback item and the list of candidate employees, wherein determining the list of probabilistic matches includes, for a given candidate employee in the list of candidate employees:

generating an employee attribution feature vector comprising a plurality of factors that encode information pertaining to the extracted named entity, the given candidate employee, and contextual information, wherein generating the employee attribution feature vector comprises encoding, using a binary value, a result of a comparison between an attribute extracted from the feedback item and an attribute of the given candidate employee obtained from the data store comprising the employee records; and

determining a corresponding probability that the given candidate employee matches to the named entity extracted from the text in the feedback item at least in part by providing the generated employee attribution feature vector as input to an employee attribution model, wherein the employee attribution model comprises a machine learning model; and

providing, via a graphical user interface, the list of probabilistic matches determined between the named entity extracted from the text in the feedback item and the list of candidate employees, wherein the graphical user interface is configured to provide one or more options to a user to validate the list of probabilistic matches.

Assignments (2)
SECURITY INTEREST Recorded Dec 30, 2022
From: REPUTATION.COM, INC.
To: SILICON VALLEY BANK
Reel/Frame 062254/0865 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2022
From: MAO, DEAN; MEDINA, THOMAS; NULL, BRADLEY WILLIAM; STOLL, LARA; XU, HAO
To: REPUTATION.COM, INC.
Reel/Frame 059478/0144 →
Continuity (1)
Provisional Application 63145623 · Feb 4, 2021
References Cited (29)
US 8311863B1 · Kemp · 2012 [cited by applicant]
US 8407110B1 · Joseph · 2013 [cited by applicant]
US 10395659B2 · Piercy · 2019 [cited by applicant]
US 20020120554A1 · Vega · 2002 [cited by applicant]
US 20080119131A1 · Rao · 2008 [cited by applicant]
US 20080301009A1 · Plaster · 2008 [cited by applicant]
US 20100169315A1 · Green · 2010 [cited by applicant]
US 20130035975A1 · Cavander · 2013 [cited by applicant]
US 20140040748A1 · Lemay · 2014 [cited by applicant]
US 20140114876A1 · Montano · 2014 [cited by examiner]
US 20140222928A1 · Scholtes · 2014 [cited by applicant]
US 20140278769A1 · Mccandless · 2014 [cited by applicant]
US 20150039521A1 · Schubert · 2015 [cited by applicant]
US 20150149315A1 · Tischer · 2015 [cited by applicant]
US 20160180365A1 · Shi · 2016 [cited by applicant]
US 20170134464A1 · Rao · 2017 [cited by applicant]
US 20170220943A1 · Duncan · 2017 [cited by applicant]
US 20190122257A1 · Cai · 2019 [cited by applicant]
US 20190197456A1 · Perumal · 2019 [cited by examiner]
US 20200272975A1 · Dumois · 2020 [cited by examiner]
US 20200357030A1 · Wagner · 2020 [cited by applicant]
US 20210056600A1 · Stretch · 2021 [cited by examiner]
US 20220122134A1 · Hoffman · 2022 [cited by examiner]
WO 2019143445 · 2019 [cited by applicant]
HiSPEED: A System for Mining Performance Appraisal Data and Text to Palshikar et al, Jan. 16, 2018 (Year: 2018). [cited by examiner]
“A Real Case Analytics on Social Network of Opinion Spammers”, Wang et al., Dec. 15, 2016 (Year: 2016). [cited by examiner]
Rosen-Zvi et al., The Author-Topic Model for Authors and Documents, 20th Conference on Uncertainty in Artificial Intelligence, Jul. 2012. [cited by applicant]
Bone et al., Mere Measurement “Plus”: How Solicitation of Open-Ended Positive Feedback Influences Customer Purchase Behavior, Dec. 2016, American Marketing Association Journal of Marketing Research, pp. 1-44. [cited by applicant]
Author Unknown, Total Portfolio Performance Attribution Methodology, Morningstar Methodology Paper, May 31, 2013, 38 pages. [cited by applicant]