IP Library › Granted Patent US 12,277,190
Granted Patent B2
US 12,277,190 · App. 17/244,558 · Granted Apr 15, 2025

Web task automation with vectorization

Inventors: Karan Walia (Brampton, CA); Anton Mamonov (Toronto, CA); Sobi Walia (Brampton, CA)
G06F16/9577G06F16/2237G06F16/289G06F16/951G06F16/986G06F18/22
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,277,190
App. No.
17/244,558
Granted
Apr 15, 2025
Kind
B2
Abstract

A system and method uses a vectorization model to determine similar elements within a web page to the known web page. The vectorization model takes a known web element and generates a first set of vectors, representative of the various properties of the web element. A vectorization model generates a second set of vectors for each element in a new web page. The first set of vectors is compared to each second set of vectors for each element in the new web page to select the most similar web element.

Claims (83)

1. A computer-implemented method of selecting a new web element among a plurality, “n,” of new web elements in a new web page on which a task is to be automatically performed, the selected new web element related to a known web element, where interaction with the known web element has been previously recorded in a first document, the method comprising:

generating a second document based on the first document, the second document including a reference to the known web element;

storing a first plurality of vectors for the known web element;

storing n second pluralities of vectors, one second plurality of vectors for each new web element among the n new web elements, each second plurality of vectors having a plurality, “m,” of vectors;

wherein each vector among the m vectors in each second plurality of vectors among the second pluralities of vectors has a corresponding vector in the first plurality of vectors;

for each second plurality of vectors of the n second pluralities of vectors, generating a similarity score between:

each vector in the first plurality of vectors; and

the corresponding vector in the each second plurality of vectors;

selecting the new web element having the second plurality of vectors with the highest similarity score, thereby identifying the selected new web element that is most related to the known web element; and

updating the second document to replace the reference to the known web element with a reference to the selected new web element.

2. The method of claim 1 , wherein a vector in the first plurality of vectors is representative of a property of the known web element in an object model.

3. The method of claim 2 , wherein the property comprises at least one of:

a tag for the known web element,

a class for the known web element,

a position for the known web element,

a height for the known web element,

a width for the known web element, and

a text used within known web element.

4. The method of claim 2 , wherein the object model comprises a Document Object Model (DOM).

5. The method of claim 1 , wherein a vector in the second plurality of vectors is representative of a property of the new web element in an object model.

6. The method of claim 5 , wherein the property comprises at least one of:

a tag for the new web element,

a class for the new web element,

a position for the new web element,

a height for the new web element,

a width for the new web element, and

a text used within new web element.

7. The method of claim 5 , wherein the object model comprises a Document Object Model (DOM).

8. The method of claim 1 , wherein the generating the similarity score comprises determining an aggregated cosine distance.

9. A computer-implemented method of selecting a new web element among a plurality, “n,” of new web elements in a new web page on which a task is to be automatically performed, the selected new web element related to a known web element, where interaction with the known web element has been previously recorded in a first document, the method comprising:

generating a second document based on the first document, the second document including a reference to the known web element;

receiving a position and dimensions for the known web element;

receiving a position and dimensions for each new web element among the n new web elements;

for each new web element among the n new web elements, generating a similarity score between:

the position and dimensions of the known web element; and

the position and dimensions of the each n new web element;

selecting the new web element with the highest similarity score, thereby identifying the selected new web element most related to the known web element; and

updating the second document to replace the reference to the known web element with a reference to the selected new web element.

10. The method of claim 9 , wherein the generating the similarity score comprises using an intersection-over-union analysis.

11. The method of claim 9 , wherein the plurality n of new web elements is a candidate set of web elements.

12. The method of claim 11 , comprising determining the candidate set of web elements.

13. The method of claim 12 , wherein the determining comprises:

storing a first plurality of vectors for the known web element;

storing n second pluralities of vectors, one second plurality of vectors for each new web element among the n new web elements, each second plurality of vectors having a plurality, “m,” of vectors;

wherein each vector among the m vectors in each second plurality of vectors among the second pluralities of vectors has a corresponding vector in the first plurality of vectors;

for each second plurality of vectors of the n second pluralities of vectors, generating a vector similarity score between:

each vector in the first plurality of vectors; and

the corresponding vector in the each second plurality of vectors; and

selecting the candidate plurality of web elements being the second pluralities of vectors with the vector similarity score above a threshold.

14. The method of claim 13 , wherein the generating the vector similarity score comprises determining an aggregate cosine distance.

15. The method of claim 13 , wherein a vector in the first plurality of vectors is representative of a property of the known web element in an object model.

16. The method of claim 15 , wherein the property of the known web element comprises at least one of:

a tag for the known web element,

a class for the known web element,

a position for the known web element,

a height for the known web element,

a width for the known web element, and

a text used within the known web element.

17. The method of claim 15 , wherein the object model comprises a Document Object Model (DOM).

18. The method of claim 13 , wherein a vector in the second plurality of vectors is representative of a property of the new web element in an object model.

19. The method of claim 18 , wherein the property of the new web element comprises at least one of:

a tag for the new web element,

a class for the new web element,

a position for the new web element,

a height for the new web element,

a width for the new web element, and

a text used within the new web element.

20. The method of claim 18 , wherein the object model comprises a Document Object Model (DOM).

21. A computer-implemented method of selecting a new web element among a plurality, “n,” of new web elements in a new web page on which a task is to be automatically performed, the selected new web element related to a known web element, where interaction with the known web element has been previously recorded in a first document, the method comprising:

generating a second document based on the first document, the second document including a reference to the known web element;

storing a first plurality of vectors for the known web element;

storing n second pluralities of vectors, one second plurality of vectors for each new web element among the n new web elements, each second plurality of vectors having a plurality, “m,” of vectors;

wherein each vector among the m vectors in each second plurality of vectors among the second pluralities of vectors has a corresponding vector in the first plurality of vectors;

for each second plurality of vectors of the n second pluralities of vectors, generating a similarity score between:

each vector in the first plurality of vectors; and

the corresponding vector in the each second plurality of vectors;

determining that no second plurality of vectors have a similarity score above a threshold;

responsive to the determining that no second plurality of vectors have a similarity score above a threshold:

establishing a virtual network computing (VNC) connection to an electronic device;

transmitting a visual representation of the new web page;

receiving an indication of a pixel location of a particular web element in the visual representation; and

selecting, as the new web element, the particular web element at the pixel location; and

updating the second document to replace the reference to the known web element with a reference to the new web element.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2025
From: YAAR INC.
To: WALIA, KARAN; MAMONOV, ANTON; WALIA, SOBI
Reel/Frame 070518/0867 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2021
From: WALIA, KARAN; MANONOV, ANTON; WALIA, SOBI; GURGU, ARMAND
To: YAAR INC.
Reel/Frame 056099/0399 →
Continuity (1)
Related Publication 20220350858A1 · Nov 3, 2022
References Cited (151)
US 5809250A · Kisor · 1998 [cited by applicant]
US 6418471B1 · Shelton et al. · 2002 [cited by applicant]
US 7200804B1 · Khavari et al. · 2007 [cited by applicant]
US 7269633B2 · Allan · 2007 [cited by applicant]
US 7536389B1 · Prabhakar et al. · 2009 [cited by applicant]
US 8145705B1 · Rust · 2012 [cited by applicant]
US 8196118B2 · Vainer et al. · 2012 [cited by applicant]
US 8352547B1 · Rust · 2013 [cited by applicant]
US 8392890B2 · Miller · 2013 [cited by applicant]
US 8433733B2 · Sayed et al. · 2013 [cited by applicant]
US 8495585B2 · Miller · 2013 [cited by applicant]
US 8577963B2 · Trahan et al. · 2013 [cited by applicant]
US 8639680B1 · Ciccolo · 2014 [cited by applicant]
US 8683447B2 · Miller · 2014 [cited by applicant]
US 8706860B2 · Trahan et al. · 2014 [cited by applicant]
US 8799412B2 · Trahan et al. · 2014 [cited by applicant]
US 8954416B2 · Tuttle · 2015 [cited by applicant]
US 8984491B2 · Miller · 2015 [cited by applicant]
US 9195768B2 · Jenkins et al. · 2015 [cited by applicant]
US 9363134B1 · Goodspeed · 2016 [cited by applicant]
US 9418172B2 · White et al. · 2016 [cited by applicant]
US 9531825B1 · Brooks et al. · 2016 [cited by applicant]
US 9594845B2 · Bengualid et al. · 2017 [cited by applicant]
US 9621406B2 · Trahan et al. · 2017 [cited by applicant]
US 9740791B1 · Killian · 2017 [cited by applicant]
US 9747262B1 · Liu · 2017 [cited by applicant]
US 9753843B2 · Kandpal · 2017 [cited by applicant]
US 9880994B1 · Choi · 2018 [cited by examiner]
US 9940396B1 · Willhoit · 2018 [cited by applicant]
US 10050849B1 · Long · 2018 [cited by applicant]
US 10083159B1 · Bekmambetov · 2018 [cited by examiner]
US 10362090B2 · Mahamuni et al. · 2019 [cited by applicant]
US 10366140B2 · Butt et al. · 2019 [cited by applicant]
US 10382386B2 · Gissing et al. · 2019 [cited by applicant]
US 10394925B2 · Bengualid et al. · 2019 [cited by applicant]
US 10482083B2 · Duke · 2019 [cited by applicant]
US 10489286B2 · Miller · 2019 [cited by applicant]
US 10628630B1 · Surace · 2020 [cited by applicant]
US 10686738B2 · Daniel et al. · 2020 [cited by applicant]
US 10719573B2 · Dube-Cousineau · 2020 [cited by applicant]
US 10884907B1 · Zhao et al. · 2021 [cited by applicant]
US 10949748B2 · Williams et al. · 2021 [cited by applicant]
US 11016967B2 · Duke · 2021 [cited by applicant]
US 11263118B2 · Bhadani · 2022 [cited by applicant]
US 11507497B2 · Zhao et al. · 2022 [cited by applicant]
US 11636252B1 · Myers · 2023 [cited by applicant]
US 11803415B2 · Dunn · 2023 [cited by applicant]
US 20030005044A1 · Miller et al. · 2003 [cited by applicant]
US 20030216913A1 · Keely · 2003 [cited by applicant]
US 20040100507A1 · Hayner et al. · 2004 [cited by applicant]
US 20040111488A1 · Allan · 2004 [cited by applicant]
US 20080077671A1 · Rust · 2008 [cited by applicant]
US 20080228494A1 · Cross · 2008 [cited by applicant]
US 20080235564A1 · Erol · 2008 [cited by applicant]
US 20090019354A1 · Jaiswal et al. · 2009 [cited by applicant]
US 20090100345A1 · Miller · 2009 [cited by applicant]
US 20100095208A1 · White et al. · 2010 [cited by applicant]
US 20110191676A1 · Guttman et al. · 2011 [cited by applicant]
US 20110258532A1 · Ceze · 2011 [cited by applicant]
US 20120045132A1 · Wong · 2012 [cited by applicant]
US 20120079395A1 · Bengualid et al. · 2012 [cited by applicant]
US 20120117455A1 · Fogel et al. · 2012 [cited by applicant]
US 20120166933A1 · Cui · 2012 [cited by applicant]
US 20120331375A1 · Fanning · 2012 [cited by applicant]
US 20130007100A1 · Trahan et al. · 2013 [cited by applicant]
US 20130007101A1 · Trahan et al. · 2013 [cited by applicant]
US 20130007102A1 · Trahan et al. · 2013 [cited by applicant]
US 20130007241A1 · Trahan et al. · 2013 [cited by applicant]
US 20130054675A1 · Jenkins et al. · 2013 [cited by applicant]
US 20130151600A1 · Miller · 2013 [cited by applicant]
US 20130151949A1 · Miller · 2013 [cited by applicant]
US 20130159317A1 · Huang · 2013 [cited by examiner]
US 20130219368A1 · Carteri et al. · 2013 [cited by applicant]
US 20130227397A1 · Tvorun · 2013 [cited by applicant]
US 20130254139A1 · Lei · 2013 [cited by applicant]
US 20130290858A1 · Beveridge · 2013 [cited by examiner]
US 20130332398A1 · Wu · 2013 [cited by applicant]
US 20130332484A1 · Gajic · 2013 [cited by applicant]
US 20130332815A1 · Gallo · 2013 [cited by applicant]
US 20140013165A1 · Miller · 2014 [cited by applicant]
US 20140136013A1 · Wolverton et al. · 2014 [cited by applicant]
US 20140281918A1 · Wei · 2014 [cited by applicant]
US 20140373030A1 · Francis · 2014 [cited by applicant]
US 20150186249A1 · Miller · 2015 [cited by applicant]
US 20150254219A1 · Harel · 2015 [cited by applicant]
US 20150324377A1 · Hayden · 2015 [cited by examiner]
US 20160147645A1 · Kandpal · 2016 [cited by applicant]
US 20160188548A1 · Ciabarra et al. · 2016 [cited by applicant]
US 20160212073A1 · Kulkarni et al. · 2016 [cited by applicant]
US 20160219048A1 · Porras et al. · 2016 [cited by applicant]
US 20160224458A1 · Spiridonov · 2016 [cited by applicant]
US 20160259508A1 · Eccleston · 2016 [cited by examiner]
US 20170104841A1 · Duke · 2017 [cited by applicant]
US 20170116179A1 · Gagné-Langevin · 2017 [cited by examiner]
US 20170124213A1 · Bengualid et al. · 2017 [cited by applicant]
US 20170220459A1 · Kulkarni · 2017 [cited by applicant]
US 20170220531A1 · Hamer · 2017 [cited by applicant]
US 20170337177A1 · Maxwell, III · 2017 [cited by applicant]
US 20180046471A1 · Peretz et al. · 2018 [cited by applicant]
US 20180123934A1 · Gissing et al. · 2018 [cited by applicant]
US 20180173375A1 · Webber · 2018 [cited by applicant]
US 20180192108A1 · Lyons · 2018 [cited by applicant]
US 20180203674A1 · Dayanandan · 2018 [cited by examiner]
US 20180314505A1 · Wang · 2018 [cited by applicant]
US 20180314513A1 · DiTullio · 2018 [cited by applicant]
US 20190020673A1 · Weinstein · 2019 [cited by examiner]
US 20190228766A1 · White et al. · 2019 [cited by applicant]
US 20190317977A1 · Butt · 2019 [cited by applicant]
US 20200042516A1 · Duke · 2020 [cited by applicant]
US 20200110781A1 · Staszak · 2020 [cited by applicant]
US 20200133829A1 · Zazo et al. · 2020 [cited by applicant]
US 20200134098A1 · Dube-Cousineau · 2020 [cited by applicant]
US 20200143805A1 · Roy · 2020 [cited by applicant]
US 20200175430A1 · Kochura et al. · 2020 [cited by applicant]
US 20200226126A1 · Zou · 2020 [cited by examiner]
US 20200364953A1 · Simoudis · 2020 [cited by applicant]
US 20200379889A1 · Hamid · 2020 [cited by examiner]
US 20210004436A1 · Jauhar et al. · 2021 [cited by applicant]
US 20210064821A1 · Seth · 2021 [cited by applicant]
US 20210082424A1 · Johnson · 2021 [cited by applicant]
US 20210109769A1 · Yang · 2021 [cited by applicant]
US 20210119955A1 · Penov et al. · 2021 [cited by applicant]
US 20210124675A1 · Zhao et al. · 2021 [cited by applicant]
US 20210216442A1 · Bhadani · 2021 [cited by applicant]
US 20210232121A1 · Pramanick et al. · 2021 [cited by applicant]
US 20210271671A1 · Duke · 2021 [cited by applicant]
US 20210303342A1 · Dunn · 2021 [cited by applicant]
US 20220198390A1 · DeLuca · 2022 [cited by applicant]
US 20220309150A1 · Tsirkin · 2022 [cited by applicant]
US 20220342646A1 · Ayyalasomayajula · 2022 [cited by applicant]
US 20230018387A1 · Kuksta · 2023 [cited by applicant]
WO WO2019103738A1 · 2019 [cited by applicant]
WO 2022199806A1 · 2022 [cited by applicant]
Non-Final Office Action dated Sep. 19, 2022 issued by the USPTO in U.S. Appl. No. 17/244,457. [cited by applicant]
Final Office Action dated Apr. 4, 2022 issued by the USPTO in U.S. Appl. No. 17/244,457. [cited by applicant]
Lau, Tessa et al. “A Conversational Interface to Web Automation”, Oct. 3, 2010, ACM. (Year: 2010). [cited by applicant]
Barman, Shaon et al. Ringer: Web Automation by Demonstration, Nov. 2, 2016, ACM. (Year: 2016). [cited by applicant]
“Standard ECMA-404: The JSON Data Interchange Syntax”, Dec. 2017, Ecma International. (Year 2017). [cited by applicant]
Non-final Office Action dated Sep. 10, 2021 in U.S. Appl. No. 17/244,457. [cited by applicant]
Non-Final Office Action mailed by the USPTO on Aug. 25, 2023, in the related U.S. Appl. No. 17/395,229. [cited by applicant]
Toby Jia-Jun Li, et al., “Interactive Task Learning from GUI-Grounded Natural Language Instructions and Demonstrations”, Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics: System De… [cited by applicant]
Pradip Pramanick, et al., “DeComplex: Task Planning from complex natural instructions by a collocating robot”, 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Oct. 25-29, 2020, pp. 6894 … [cited by applicant]
Final Office Action mailed by the USPTO on Jul. 10, 2023, in the related U.S. Appl. No. 17/244,457. [cited by applicant]
Eric, Mihail, et al. “Key-value retrieval networks for task-oriented dialogue.” arXiv preprint arXiv:1705.05414 (2017). (Year: 2017). [cited by applicant]
Office Action issued in U.S. Appl. No. 17/244,457 by the USPTO on Jan. 17, 2024. [cited by applicant]
Office Action issued in U.S. Appl. No. 17/395,164 by the USPTO on Jan. 17, 2024. [cited by applicant]
Office Action issued in U.S. Appl. No. 17/395,229 by the USPTO on Mar. 8, 2024. [cited by applicant]
Final Office action dated Jul. 24, 2024 issued by USPTO in U.S. Appl. No. 17/244,457. [cited by applicant]
Notice of Allowance dated Jul. 10, 2024 issued by USPTO in U.S. Appl. No. 17/395,164. [cited by applicant]
Tuysuz, Avenoglu, and Eren, “A workflow-based mobile guidance framework for managing personal activities”, Seventh International Conference on Next Generation Mobile Apps, Services and Technologies, 2013, pp. 13-18, IEE… [cited by applicant]
Notice of Allowance dated Sep. 11, 2024 issued by USPTO in U.S. Appl. No. 17/395,229. [cited by applicant]