IP Library › Granted Patent US 12,547,462
Granted Patent B2
US 12,547,462 · App. 18/059,423 · Granted Feb 10, 2026

Multi-feature resource recommender system for process optimization and user preference inference

Inventors: Michal Adam Sroka (Birkerød, DK); Mohammadreza Fani Sani (Lyngby, DK); Shahab Moradi (San Bruno, CA); Alejandro Gutierrez Munoz (Parkland, FL)
Assignee: Microsoft Technology Licensing, LLC.
G06F9/5033G06F9/542
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,462
App. No.
18/059,423
Granted
Feb 10, 2026
Kind
B2
Abstract

Solutions for identifying and optimizing a process are provided herein. A recommender system creates a plurality of event pairs from an event log, and using historical data and features corresponding to the event pairs, the recommender system generates score values for each event pair. Using the score values and user preferences, the recommender system provides a recommended event pair to the user to include in a process.

Claims (70)

1 . A system for providing process optimization, the system comprising:

a memory comprising data for a plurality of resources;

a processor; and

a recommender system comprising:

a computer-readable medium storing instructions that cause the processor to perform the following operations:

identify an event in an event log, the event comprising a resource and an activity;

identify, from the memory, resources from the plurality of resources that are associated with the activity in the event;

create a plurality of event pairs, the plurality of event pairs comprising the activity from the event and a different one of the resources that is associated with the activity;

for the plurality of event pairs:

 convert the activity into an activity latent vector;

 convert the resource into a resource latent vector; and

 generate a score value by combining the resource latent vector and the activity latent vector;

compare score values from the plurality of event pairs; and

based on the comparing, recommend an event pair from the plurality of event pairs for the event.

2 . The system of claim 1 , wherein the data for the plurality of resources comprises features for the plurality of resources and historic data for the plurality of resources and corresponding interactions with activities.

3 . The system of claim 1 , wherein the resource latent vector is based at least on features corresponding to the resource.

4 . The system of claim 3 , wherein the memory further comprises features for the activity and wherein the activity latent vector is based at least on features corresponding to the activity.

5 . The system of claim 1 , wherein the computer-readable medium further stores instructions that cause the processor to perform the following operations:

access previous event pair selections of a user;

based on the previous event pair selections, determine preferences of the user; and

based at least on the determined preferences, recommend the event pair from the plurality of event pairs for the event.

6 . The system of claim 5 , wherein the memory further comprises the preferences of the user, the preferences of the user comprising preferences received from the user and preferences learned by the recommender system during a training period.

7 . The system of claim 1 , wherein the computer-readable medium further stores instructions that cause the processor to perform the following operations:

based on the comparing, recommend the event pair and a second event pair from the plurality of event pairs for the event;

receive, from a user, a selection of the event pair;

based on the selecting of the event pair, assign the event pair to a corresponding process; and

based at least on the selection of the event pair, update preferences of the user based at least on the selection of the event pair and not the selection of the second event pair.

8 . A method for providing process optimization, the method comprising:

identifying an event in an event log, the event comprising a resource and an activity;

identifying resources from a plurality of resources that are associated with the activity in the event;

creating a plurality of event pairs, the plurality of event pairs comprising the activity from the event and a different one of the resources that is associated with the activity;

for the plurality of event pairs:

converting the activity into an activity latent vector;

converting the resource into a resource latent vector; and

generating a score value by combining the resource latent vector and the activity latent vector;

comparing score values from the plurality of event pairs; and

based on the comparing, recommending an event pair from the plurality of event pairs for the event.

9 . The method of claim 8 , wherein the data for the plurality of resources comprises features for the plurality of resources and historic data for the plurality of resources and corresponding interactions with activities.

10 . The method of claim 8 , wherein the resource latent vector is based at least on features corresponding to the resource.

11 . The method of claim 10 , wherein the activity latent vector is based at least on features corresponding to the activity.

12 . The method of claim 8 , further comprising:

accessing previous event pair selections of a user;

based on the previous event pair selections, determining preferences of the user; and

based at least on the determined preferences, recommending the event pair from the plurality of event pairs for the event.

13 . The method of claim 8 , wherein the computer-readable medium further stores instructions that cause the processor to perform the following operations:

based on the comparing, recommending the event pair and a second event pair from the plurality of event pairs for the event;

receiving, from a user, a selection of the event pair;

based on the selecting of the event pair, assigning the event pair to a corresponding process; and

based at least on the selection of the event pair, updating preferences of the user based at least on the selection of the event pair and not the selection of the second event pair.

14 . The method of claim 13 , wherein the preferences of the user comprise preferences received from the user and preferences learned during a training period.

15 . A computer storage media having computer-executable instructions stored thereon, which, on execution by a computer, cause the computer to perform operations comprising:

identifying an event in an event log, the event comprising a resource and an activity;

identifying resources from a plurality of resources that are associated with the activity in the event;

creating a plurality of event pairs, event pairs comprising the activity from the event and a different one of the resources that is associated with the activity;

for the plurality of event pairs:

converting the activity into an activity latent vector;

converting the resource into a resource latent vector; and

generating a score value by combining the resource latent vector and the activity latent vector;

comparing score values from the plurality of event pairs; and

based on the comparing, recommending an event pair from the plurality of event pairs for the event.

16 . The computer storage device media of claim 15 , wherein the data for the plurality of resources comprises features for the plurality of resources and historic data for the plurality of resources and corresponding interactions with activities.

17 . The computer storage device media of claim 16 , wherein the resource latent vector is based at least on features corresponding to the resource, and wherein the activity latent vector is based at least on features corresponding to the activity.

18 . The computer storage device media of claim 15 , wherein the computer-executable instructions further cause the computer to perform operations comprising: accessing previous event pair selections of a user;

based on the previous event pair selections, determining preferences of the user; and

based at least on the determined preferences, recommending the event pair from the plurality of event pairs for the event.

19 . The computer storage device media of claim 15 , wherein the computer-executable instructions further cause the computer to perform operations comprising: based on the comparing, recommending the event pair and a second event pair from the plurality of event pairs for the event;

receiving, from a user, a selection of the event pair;

based on the selecting of the event pair, assigning the event pair to a corresponding process; and

based at least on the selection of the event pair, updating preferences of the user based at least on the selection of the event pair and not the selection of the second event pair.

20 . The computer storage device media of claim 15 , wherein the preferences of the user comprise preferences received from the user and preferences learned during a training period.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2022
From: SROKA, MICHAL ADAM; FANI SANI, MOHAMMADREZA; MORADI, SHAHAB; GUTIERREZ MUNOZ, ALEJANDRO
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 061897/0398 →
Continuity (1)
Related Publication 20240176667A1 · May 30, 2024
References Cited (25)
US 5649085A · Lehr · 1997 [cited by examiner]
US 8090621B1 · Chakrabarti · 2012 [cited by examiner]
US 8407081B1 · Rajasenan · 2013 [cited by applicant]
US 10824497B2 · Wang · 2020 [cited by examiner]
US 11100153B2 · Dasgupta et al. · 2021 [cited by applicant]
US 20140129295A1 · Band · 2014 [cited by examiner]
US 20140201506A1 · Parashar · 2014 [cited by examiner]
US 20140207801A1 · Palmert · 2014 [cited by examiner]
US 20150032499A1 · Duftler · 2015 [cited by examiner]
US 20150161529A1 · Kondaji · 2015 [cited by examiner]
US 20150254158A1 · Puri · 2015 [cited by examiner]
US 20160371132A1 · Prabhakara · 2016 [cited by examiner]
US 20170032248A1 · Dotan-Cohen · 2017 [cited by examiner]
US 20180270261A1 · Pande · 2018 [cited by examiner]
US 20190066377A1 · Schoening · 2019 [cited by applicant]
US 20190279096A1 · De Nijs et al. · 2019 [cited by applicant]
US 20200349049A1 · Krebs · 2020 [cited by examiner]
US 20210166816A1 · Khan et al. · 2021 [cited by applicant]
US 20220121981A1 · Chaudhuri · 2022 [cited by examiner]
Arias, et al., “Human Resource Allocation or Recommendation Based on Multi-factor Criteria in On-demand and Batch Scenarios”, In the European Journal of Industrial Engineering, vol. 12, Issue 3, May 25, 2018, pp. 364-40… [cited by applicant]
Li, et al., “Multi-Objective Optimization-Based Recommendation for Massive Online Learning Resources”, In the IEEE Sensors Journal, vol. 21, Issue 22, Nov. 15, 2021, pp. 25274-25281. [cited by applicant]
Pufahl, et al., “Automatic Resource Allocation in Business Processes: A Systematic Literature Survey”, In Repository of arXiv:2107.07264v1, Jul. 15, 2021, 28 Pages. [cited by applicant]
Zhao, et al., “The Optimization of Resource Allocation Based on Process Mining”, In the Proceedings of International Conference on Intelligent Computing, Aug. 20, 2015, pp. 341-353. [cited by applicant]
International Preliminary Report Patentability received for PCT Application No. PCT/US23/036633, Jun. 5, 2025, 12 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US23/036633, Feb. 7, 2024, 18 pages. [cited by applicant]