# US 2020/0401911 A1 · Unified logging of actions for labeling

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0401911 A1
- Document ID: US20200401911A1
- Status: Published application
- Kind: A1
- Application number: 16/450,206
- Filed: 2019-06-24
- Published: 2020-12-24
- Earliest claimed: 2019-06-24
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Hang Zhang; Girish Kathalagiri Somashekariah; Nadia Fawaz; Caleb T. Johnson
- Web page: https://patentgrep.com/patent/US20200401911A1

## CPC

- G06F 18/22: Matching criteria, e.g. proximity measures
- G06F 9/452: {Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131)}
- G06F 16/1734: {Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs}
- G06F 18/214: Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06N 5/025: Extracting rules from data
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

The disclosed embodiments provide a system for processing data. During operation, the system receives, over a set of event streams, a set of logging events for actions performed between members and jobs over multiple channels. Next, the system aggregates a subset of the logging events spanning a logging window by a reference identifier (ID) generated based on a user session of a member, a first member ID for the member, and a first job ID for a job. The system then creates, based on a unified data logic, a record containing a subset of the actions represented by the logging events and contexts for the subset of the actions. Finally, the system outputs the record for use in subsequent analysis associated with the member and the job.

## Claims

### Claim 1

A method, comprising:
receiving, by one or more computer systems over one or more event streams, a set of logging events for actions performed between members and jobs over multiple channels;
aggregating, by the one or more computer systems, a subset of the logging events spanning a logging window by a reference identifier (ID) generated based on period of interaction with a member, a first member ID for the member, and a first job ID for a job;
creating, by the one or more computer systems based on a unified data logic, a record comprising a subset of the actions represented by the logging events and contexts for the subset of the actions; and
outputting the record for use in subsequent analysis associated with the member and the job.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
identifying, in the set of logging events, a logging event with a missing reference ID;
generating a second reference ID for a second member ID and a second job ID in the logging event; and
assigning second the reference ID to the logging event and additional logging events with the second member ID and the second job ID in the logging window.

### Claim 3 (depends on 1)

The method of claim 1, wherein aggregating the subset of logging events spanning the logging window comprises:
aggregating the subset of logging events with timestamps that fall within the logging window.

### Claim 4 (depends on 1)

The method of claim 1, wherein creating the record comprising the subset of the actions and context for the subset of the actions comprises:
obtaining a channel name associated with an action from a logging event for the action;
matching the channel name to a standardized channel name based on a set of matching rules; and
adding the standardized channel name to a context for the action in the record.

### Claim 5 (depends on 1)

The method of claim 1, wherein creating the record comprising the subset of the actions and contexts for the subset of the actions comprises:
generating a value based on an aggregation of an action type in the subset of logging events; and
storing the action type and the value in the record.

### Claim 6 (depends on 5)

The method of claim 5, wherein the value comprises at least one of:
a count;
a duration; and
a timestamp.

### Claim 7 (depends on 5)

The method of claim 5, wherein the action type comprises at least one of:
a serve;
a viewport display;
a view;
a save;
an unsave;
a report;
a share;
a dismiss;
a referral request;
a like;
an unlike;
a click on an onsite job application;
a click on an offsite job application; and
an application.

### Claim 8 (depends on 1)

The method of claim 1, wherein each logging event in the subset of logging events comprises:
the reference ID;
the job ID;
the member ID;
an action; and
a context of the action.

### Claim 9 (depends on 8)

The method of claim 8, wherein the context comprises at least one of:
a device type;
a device model;
a user agent;
a platform;
a channel;
a timestamp; and
a display context.

### Claim 10 (depends on 1)

The method of claim 1, wherein the multiple channels comprise at least one of:
a content feed channel;
a job search channel;
a jobs home page channel;
a job detail channel;
a job recommendation channel;
an email channel;
a company page channel; and
a notification channel.

### Claim 11 (depends on 1)

The method of claim 1, wherein the reference ID is generated in response to a first action between the member and the job and assigned to subsequent actions between the member and the job in the logging window after the first action.

### Claim 12

A system, comprising:
one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the system to:
receive, over one or more event streams, a set of logging events for actions performed between members and jobs over multiple channels;
aggregate a subset of the logging events spanning a logging window by a reference identifier (ID) generated based on a user session of a member, a first member ID for the member, and a first job ID for a job;
create, based on a unified data logic, a record comprising a subset of the actions in the logging events and contexts for the subset of the actions; and
output the record for use in subsequent analysis associated with the member and the job.

### Claim 13 (depends on 12)

The system of claim 12, wherein the memory further stores instructions that, when executed by the one or more processors, cause the system to:
identify, in the set of logging events, a logging event with a missing reference ID;
generate a second reference ID for a second member ID and a second job ID in the logging event; and
assign the second reference ID to the logging event and additional logging events with the second member ID and the second job ID in the logging window.

### Claim 14 (depends on 12)

The system of claim 12, wherein creating the record comprising the subset of the actions and context for the subset of the actions comprises:
obtaining a channel name associated with an action from a logging event for the action;
matching the channel name to a standardized channel name based on a set of matching rules; and
adding the standardized channel name to a context for the action in the record.

### Claim 15 (depends on 12)

The system of claim 12, wherein creating the record comprising the subset of the actions and contexts for the subset of the actions comprises:
generating a value based on an aggregation of an action type in the subset of logging events; and
storing the action type and the value in the record.

### Claim 16 (depends on 15)

The system of claim 15, wherein the value comprises at least one of:
a count;
a duration; and
a timestamp.

### Claim 17 (depends on 15)

The system of claim 15, wherein the action type comprises at least one of:
a serve;
a viewport display;
a view;
a save;
an unsave;
a report;
a share;
a dismiss;
a referral request;
a like;
an unlike;
a click on an onsite job application;
a click on an offsite job application; and
an application.

### Claim 18 (depends on 12)

The system of claim 12, wherein each logging event in the subset of logging events comprises:
the reference ID;
the job ID;
the member ID;
an action; and
a context of the action.

### Claim 19 (depends on 12)

The system of claim 12, wherein the contexts comprise at least one of:
a device type;
a device model;
a user agent;
a platform;
a channel;
a timestamp; and
a display context.

### Claim 20

A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:
receiving, over one or more event streams, a set of logging events for actions performed between members and jobs over multiple channels;
aggregating a subset of the logging events spanning a logging window by a reference identifier (ID) generated based on a user session of a member, a first member ID for the member, and a first job ID for a job;
creating, based on a unified data logic, a record comprising a subset of the actions represented by the logging events and contexts for the subset of the actions; and
outputting the record for use in subsequent analysis associated with the member and the job.
