IP Library › Granted Patent US 12,541,648
Granted Patent B2
US 12,541,648 · App. 18/127,574 · Granted Feb 3, 2026

Context-aware dialogue system providing predicted next user interface steps

Inventor: Amine El Hattami (Montreal, CA)
Assignee: ServiceNow, Inc.
G06F40/35G06F3/0484G06F40/40
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,541,648
App. No.
18/127,574
Granted
Feb 3, 2026
Kind
B2
Abstract

In the present application, a method of predicting next UI steps for a user by a context-aware dialogue system is disclosed. A plurality of user interface (UI) events associated with a UI is tracked. A predicted next UI step is determined based on at least a portion of the plurality of UI events. A dialogue system component is caused to indicate the predicted next UI step.

Claims (76)

1 . A method, comprising:

tracking a plurality of user interface (UI) events associated with interaction of a user with a UI;

tracking a plurality of user prompts associated with interaction of the user with a dialog system;

serializing the plurality of UI events into serialized UI events in a serialization format;

serializing the plurality of user prompts into serialized prompt events in the serialization format;

receiving, by an event cache manager, the serialized UI events and the serialized prompt events as a set of serialized events;

discarding, by the event cache manager, at least one serialized event from the set of serialized events;

storing, by the event cache manager, the set of serialized events in a cache;

transmitting, by the event cache manager, one or more of the serialized events from the cache to a next step predictor;

predicting, by the next step predictor, a next UI step, wherein predicting the next UI step includes applying a machine learning model to at least a portion of the serialized events transmitted by the event cache manager; and

causing the dialog system to indicate the next UI step.

2 . The method of claim 1 , wherein the plurality of UI events includes one or more of: a mouse event, a keyboard event, a load event, or an unload event.

3 . The method of claim 1 , wherein predicting the next UI step further comprises:

determining a user profile embedding associated with the user, wherein the user profile embedding is a tensor that describes how the user interacted with one or more of a website or an application during previous sessions.

4 . The method of claim 1 , further comprising:

serializing the next UI step into serialized system events in the serialization format;

receiving, by the event cache manager, the serialized system events; and

storing, by the event cache manager, the serialized system events in the cache.

5 . The method of claim 1 , wherein causing the dialog system to indicate the next UI step includes one or more of:

causing a UI region to be highlighted,

causing a URL to be shown, or

causing an inquiry of whether the specific user needs help.

6 . The method of claim 1 , wherein discarding the at least one serialized event from the set of serialized events further comprises:

detecting a duplicate serialized event in the at least one serialized event; and

discarding the duplicate serialized event.

7 . The method of claim 6 , wherein the duplicate serialized event is a serialized UI event, and wherein detecting the duplicate serialized event comprises:

determining that the duplicate serialized event and another serialized UI event are: (i) of a same type, and (ii) an on-screen distance therebetween is below a predetermined distance.

8 . The method of claim 6 , wherein the duplicate serialized event is a serialized UI event, and wherein detecting the duplicate serialized event comprises:

determining that the duplicate serialized event and another serialized UI event: (i) are of a same type but with different parameters, and (ii) both occurred within a time window of a predetermined period.

9 . The method of claim 1 , further comprising:

determining that the cache is full; and

deleting, from the cache, one or more cached serialized events in an ordering of: UI events from a prior session, then other UI events, then system responses, and then user prompts.

10 . The method of claim 1 , further comprising:

providing, by the event cache manager, the one or more of the serialized events to a training and analysis data store.

11 . The method of claim 1 , wherein causing the dialog system to indicate the next UI step comprises:

highlighting, by a UI highlighter, an element of a webpage interfacing with the dialog system; and

removing the highlighting in response to a user interfacing with the element or after a pre-determined period of time passes.

12 . A system, comprising:

a processor configured to:

track a plurality of user interface (UI) events associated with interaction of a user with a UI;

track a plurality of user prompts associated with interaction of the user with a dialog system;

serialize the plurality of UI events into serialized UI events in a serialization format;

serialize the plurality of user prompts into serialized prompt events in the serialization format;

receive, by an event cache manager, the serialized UI events and the serialized prompt events as a set of serialized events;

discard, by the event cache manager, at least one serialized event from the set of serialized events;

store, by the event cache manager, the set of serialized events in a cache;

transmit, by the event cache manager, one or more of the serialized events from the cache to a next step predictor;

predict, by the next step predictor, a next UI step, wherein predicting the next UI step includes applying a machine learning model to at least a portion of the serialized events transmitted by the event cache manager; and

cause the dialog system to indicate the next UI step; and

a memory coupled to the processor and configured to provide the processor with instructions.

13 . The system of claim 12 , wherein discarding the at least one serialized event from the set of serialized events further comprises:

detecting a duplicate serialized event in the at least one serialized event; and

discarding the duplicate serialized event.

14 . The system of claim 13 , wherein the duplicate serialized event is a serialized UI event, and wherein detecting the duplicate serialized event comprises:

determining that the duplicate serialized event and another serialized UI event are: (i) of a same type, and (ii) an on-screen distance therebetween is below a predetermined distance.

15 . The system of claim 13 , wherein the duplicate serialized event is a serialized UI event, and wherein detecting the duplicate serialized event comprises:

determining that the duplicate serialized event and another serialized UI event: (i) are of a same type but with different parameters, and (ii) both occurred within a time window of a predetermined period.

16 . The system of claim 12 , wherein the processor is further configured to:

determine that the cache is full; and

deleting, from the cache, one or more cached serialized events in an ordering of: UI events from a prior session, then other UI events, then system responses, and then user prompts.

17 . The system of claim 12 , wherein the processor is further configured to:

provide, by the event cache manager, the one or more of the serialized events to a training and analysis data store.

18 . The system of claim 12 , wherein the processor is further configured to:

highlight, by a UI highlighter, an element of a webpage interfacing with the dialog system; and

remove the highlight in response to a user interfacing with the element or after a pre-determined period of time passes.

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

tracking a plurality of user interface (UI) events associated with interaction of a user with a UI;

tracking a plurality of user prompts associated with interaction of the user with a dialog system;

serializing the plurality of UI events into serialized UI events in a serialization format;

serializing the plurality of user prompts into serialized prompt events in the serialization format;

receiving, by an event cache manager, the serialized UI events and the serialized prompt events as a set of serialized events;

discarding, by the event cache manager, at least one serialized event from the set of serialized events;

storing, by the event cache manager, the set of serialized events in a cache;

transmitting, by the event cache manager, one or more of the serialized events from the cache to a next step predictor;

predicting, by the next step predictor, a next UI step, wherein predicting the next UI step includes applying a machine learning model to at least a portion of the serialized events transmitted by the event cache manager; and

causing the dialog system to indicate the next UI step.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2023
From: EL HATTAMI, AMINE
To: SERVICENOW, INC.
Reel/Frame 064001/0262 →
Continuity (1)
Related Publication 20240330595A1 · Oct 3, 2024
References Cited (45)
US 7788341B1 · Burns · 2010 [cited by examiner]
US 10037546B1 · Benisch · 2018 [cited by examiner]
US 10754936B1 · Hawes · 2020 [cited by examiner]
US 11017032B1 · Karppanen · 2021 [cited by examiner]
US 11477142B1 · Lewis · 2022 [cited by examiner]
US 11516158B1 · Luzhnica · 2022 [cited by examiner]
US 11544504B1 · Fan · 2023 [cited by examiner]
US 11600263B1 · Blair · 2023 [cited by examiner]
US 11626106B1 · Ping · 2023 [cited by examiner]
US 20060200556A1 · Brave · 2006 [cited by examiner]
US 20080072239A1 · Liang · 2008 [cited by examiner]
US 20100299588A1 · Dattilo · 2010 [cited by examiner]
US 20130007588A1 · Guo · 2013 [cited by examiner]
US 20140129331A1 · Spivack · 2014 [cited by examiner]
US 20150007065A1 · Krishnamoorthy · 2015 [cited by examiner]
US 20150160799A1 · Won · 2015 [cited by examiner]
US 20150206214A1 · Adjaoute · 2015 [cited by examiner]
US 20150235240A1 · Chang · 2015 [cited by examiner]
US 20160197947A1 · Im · 2016 [cited by examiner]
US 20160360382A1 · Gross · 2016 [cited by examiner]
US 20160373581A1 · DiPietro · 2016 [cited by examiner]
US 20180020024A1 · Chao · 2018 [cited by examiner]
US 20180054523A1 · Zhang · 2018 [cited by examiner]
US 20190043483A1 · Chakraborty · 2019 [cited by examiner]
US 20190045026A1 · Sekharan · 2019 [cited by examiner]
US 20190087691A1 · Jelveh · 2019 [cited by examiner]
US 20190324780A1 · Zhu · 2019 [cited by examiner]
US 20200050612A1 · Bhattacharjee · 2020 [cited by examiner]
US 20200152184A1 · Steedman Henderson · 2020 [cited by examiner]
US 20200159827A1 · Vozila · 2020 [cited by examiner]
US 20200265195A1 · Galitsky · 2020 [cited by examiner]
US 20210217418A1 · Wei · 2021 [cited by examiner]
US 20210264195A1 · Ingram · 2021 [cited by examiner]
US 20210319349A1 · Srivastava · 2021 [cited by examiner]
US 20220093101A1 · Krishnan · 2022 [cited by examiner]
US 20220188361A1 · Botros · 2022 [cited by examiner]
US 20220366170A1 · Wang · 2022 [cited by examiner]
US 20220374110A1 · Ramaswamy · 2022 [cited by examiner]
US 20220374597A1 · Bellegarda · 2022 [cited by examiner]
US 20220414741A1 · Ozcan · 2022 [cited by examiner]
US 20230079775A1 · Ruparel · 2023 [cited by examiner]
US 20230116273A1 · Li · 2023 [cited by examiner]
US 20230252086A1 · Chiba · 2023 [cited by examiner]
US 20230370472A1 · Mohan · 2023 [cited by examiner]
US 20240143633A1 · Chen · 2024 [cited by examiner]