# US 10,769,561 B2 · Adaptive logistics platform for generating and updating schedules using natural language processing

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

- Number: US 10,769,561 B2
- Document ID: US10769561B2
- Status: Granted
- Kind: B2
- Application number: 15/291,743
- Filed: 2016-10-12
- Published: 2018-04-12
- Granted: 2020-09-08
- Earliest claimed: 2016-10-12
- Assignees: Accenture Global Solutions Limited
- Applicants: Accenture Global Solutions Limited
- Inventors: Freddy Lecue; Jiewen Wu; John Vard
- Web page: https://patentgrep.com/patent/US10769561B2

## CPC

- G06Q 10/06311: {Scheduling, planning or task assignment for a person or group}
- G06F 16/24522: {Translation of natural language queries to structured queries}
- G06F 16/24578: {using ranking}
- G06F 16/252: {between a Database Management System and a front-end application}
- G06F 40/205: Parsing
- G06F 40/30: Semantic analysis
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A device may receive user preference data and company preference data associated with one or more bookable items. The device may obtain external preference data associated with the one or more bookable items. The external preference data may be different from the user preference data and the company preference data. The device may generate a list of schedules based on the user preference data, the company preference data, and the external preference data. The device may generate one or more category scores for a plurality of schedules included in the list of schedules based on the company preference data. The device may rank the list of schedules based on the one or more category scores. The device may select a schedule, from the ranked list of schedules, based on the one or more category scores. The device may perform an action based on selecting the schedule.

## Claims

### Claim 1

A device, comprising:
a memory; and
one or more processors to:
receive user preference data and company preference data associated with one or more bookable items;
obtain external preference data associated with the one or more bookable items by extracting text, associated with the one or more bookable items, from an external source,
the external preference data being different from the user preference data and the company preference data;
parse the text using natural language processing;
determine, based on parsing the text using natural language processing, one or more scores associated with the one or more bookable items;
generate a list of schedules based on the user preference data, the company preference data, and the external preference data;
generate one or more category scores for a plurality of schedules included in the list of schedules based on the one or more scores associated with the one or more bookable items;
rank the list of schedules based on the one or more category scores;
select a first schedule, from the ranked list of schedules, based on the one or more category scores;
generate a knowledge graph based on the ranked list of schedules,
the knowledge graph including node values and edge values,
each node value, of the node values, representing a schedule of the plurality of schedules, and
each edge value, of the edge values, representing a degree of similarity between two schedules represented by two connected nodes;
monitor contextual data related to the first schedule,
the contextual data including at least one of:
information regarding one or more external events,
information regarding one or more user actions, or
user location information;
detect, based on monitoring the contextual data, a particular event that impacts a bookable item of the one or more bookable items;
modify the knowledge graph based on detecting the particular event;
select a second schedule based on modifying the knowledge graph; and
perform one or more actions based on selecting the second schedule,
the one or more actions including at least one of:
automatically displaying the second schedule on an interface of a user device,
automatically purchasing tickets,
automatically booking transportation,
automatically booking flights,
automatically booking reservations, or
automatically sending reminder notifications.

### Claim 2 (depends on 1)

The device of claim 1, where the one or more processors, when generating the one or more category scores, are to:
generate the one or more category scores further based on the user preference data or the company preference data.

### Claim 3 (depends on 1)

The device of claim 1, where the one or more processors are further to:
apply a weight to the one or more scores associated with the one or more bookable items; and
where the one or more processors, when generating the one or more category scores, are to:
generate the one or more category scores based on the weight.

### Claim 4 (depends on 1)

The device of claim 1, where the one or more processors are further to:
determine that a parameter associated with the particular event satisfies a threshold;
assign a value to the particular event, indicative of a decaying factor, based on determining that the parameter satisfies the threshold; and
update the knowledge graph based on the decaying factor.

### Claim 5 (depends on 1)

The device of claim 1, where the one or more processors, when obtaining the external preference data, are to:
use a data mining technique to extract the external preference data from the external source.

### Claim 6 (depends on 1)

The device of claim 1, where the one or more processors are further to:
use a data mining technique to extract the contextual data; and
where the one or more processors, when detecting the particular event, are to:
detect the particular event based on using the data mining technique to extract the contextual data.

### Claim 7 (depends on 1)

The device of claim 1, where the one or more processors, when receiving the user preference data and the company preference data associated with the one or more bookable items, are to:
receive historical user preference data and historical company preference data; and
where the one or more processors, when generating the list of schedules, are to:
generate the list of schedules based on the historical user preference data and the historical company preference data.

### Claim 8 (depends on 1)

The device of claim 1, where the one or more processors, when monitoring the contextual data, are to:
monitor for information regarding external event within a geographic area of the user device and/or within a geographic area of the one or more bookable items.

### Claim 9

A method, comprising:
receiving, by a device, internal preference data associated with one or more bookable items;
obtaining, by the device, external preference data associated with the one or more bookable items,
the external preference data being different from the internal preference data, and
the external preference data being obtained by extracting text from an external source;
parsing, by the device, the text using natural language processing;
determining, by the device and based on parsing the text using natural language processing, one or more scores associated with the one or more bookable items;
generating, by the device, a list of schedules based on the internal preference data and the external preference data;
generating, by the device, one or more category scores for a plurality of schedules included in the list of schedules based on the one or more scores associated with the one or more bookable items;
ranking, by the device, the list of schedules based on the one or more category scores;
selecting, by the device, a first schedule of the ranked list of schedules;
generating, by the device, a knowledge graph based on the ranked list of schedules,
the knowledge graph including node values and edge values,
each node value, of the node values, representing a schedule of the plurality of schedules, and
each edge value, of the edge values, representing a degree of similarity between two schedules represented by two connected nodes;
monitoring, by the device, contextual data related to the first schedule,
the contextual data including at least one of:
information regarding one or more external events,
information regarding one or more user actions, or
user location information;
detecting, by the device and based on monitoring contextual data, a particular event that impacts a bookable item of the one or more bookable items;
modifying, by the device, the knowledge graph based on detecting the particular event;
selecting, by the device, a second schedule based on modifying the knowledge graph; and
performing, by the device, one or more actions based on selecting the second schedule,
the one or more actions including at least one of:
automatically displaying the second schedule on an interface of a user device,
automatically purchasing tickets,
automatically booking transportation,
automatically booking flights,
automatically booking reservations, or
automatically sending reminder notifications.

### Claim 10 (depends on 9)

The method of claim 9, where the first schedule includes a travel itinerary.

### Claim 11 (depends on 9)

The method of claim 9, where obtaining the external preference data comprises:
using a data mining technique to extract the external preference data from the external source.

### Claim 12 (depends on 9)

The method of claim 9, further comprising:
using a data mining technique to extract the contextual data; and
where detecting the particular event comprises:
detecting the particular event based on using natural language processing to analyze the contextual data.

### Claim 13 (depends on 9)

The method of claim 9, where receiving the internal preference data associated with the one or more bookable items comprises:
receiving historical user preference data and historical company preference data; and
where generating the list of schedules comprises:
generating the list of schedules based on the historical user preference data and the historical company preference data.

### Claim 14

A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions that, when executed by one or more processors, cause the one or more processors to:
receive user preference data associated with one or more bookable items;
receive company preference data associated with the one or more bookable items;
obtain external preference data associated with the one or more bookable items by extracting text, associated with the one or more bookable items, from an external source,
the external preference data being different from the user preference data and the company preference data;
parse the text using natural language processing;
determine, based on parsing the text using natural language processing, one or more scores associated with the one or more bookable items;
generate a list of schedules based on the user preference data, the company preference data, and the external preference data;
generate one or more category scores for a plurality of schedules included in the list of schedules based on the one or more scores associated with the one or more bookable items;
rank the list of schedules based on the one or more category scores;
select a first schedule, from the ranked list of schedules, based on the one or more category scores;
generate a knowledge graph based on the ranked list of schedules,
the knowledge graph including node values and edge values,
each node value, of the node values, representing a schedule of the plurality of schedules, and
each edge value, of the edge values, representing a degree of similarity between two schedules represented by two connected nodes;
monitor contextual data related to the first schedule,
the contextual data including at least one of:
information regarding one or more external events,
information regarding one or more user actions, or
user location information;
detect, based on monitoring the contextual data, a particular event that impacts a bookable item of the one or more bookable items;
modify the knowledge graph based on detecting the particular event;
select a second schedule based on modifying the knowledge graph; and
perform one or more actions based on selecting the second schedule,
the one or more actions including at least one of:
automatically displaying the second schedule on an interface of a user device,
automatically purchasing tickets,
automatically booking transportation,
automatically booking flights,
automatically booking reservations, or
automatically sending reminder notifications.

### Claim 15 (depends on 14)

The non-transitory computer-readable medium of claim 14, where the user preference data includes an employee travel plan; and
where the company preference data includes at least one of:
company policy data, or
historical travel data.

### Claim 16 (depends on 14)

The non-transitory computer-readable medium of claim 14, where the user preference data is first user preference data and the external preference data is first external preference data; and
where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:
receive, after selecting the first schedule, second user preference data or second external preference data; and
alter the first schedule based on the second user preference data or the second external preference data.

### Claim 17 (depends on 14)

The non-transitory computer-readable medium of claim 14, where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:
apply a weight to the one or more scores associated with the one or more bookable items; and
where the one or more instructions, that cause the one or more processors to generate the one or more category scores, cause the one or more processors to:
generate the one or more category scores based on the weight.

### Claim 18 (depends on 14)

The non-transitory computer-readable medium of claim 14, where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:
store the knowledge graph.

### Claim 19 (depends on 18)

The non-transitory computer-readable medium of claim 18, where the one or more instructions, that cause the one or more processors to detect the particular event, cause the one or more processors to:
detect the particular event by extracting text from the contextual data.

### Claim 20 (depends on 14)

The non-transitory computer-readable medium of claim 14, where the one or more instructions, when executed by the one or more processors, further cause the one or more processor to:
provide information that identifies an incentive for selecting the first schedule from the ranked list of schedules;
receive user feedback relating to selection of the first schedule from the ranked list of schedules; and
update the user preference data based on the user feedback.
