IP Library › Granted Patent US 12,314,017
Granted Patent B2
US 12,314,017 · App. 18/056,018 · Granted May 27, 2025

Automatic data transfer between a source and a target using semantic artificial intelligence for robotic process automation

Inventors: Bogdan Ripa (Bucharest, RO); Mircea Grigore (Bucharest, RO); Cosmin Voicu (Bucharest, RO)
Assignee: UiPath, Inc.
G05B13/04G06F9/543G06F18/22G06F40/30G06V30/10
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,314,017
App. No.
18/056,018
Granted
May 27, 2025
Kind
B2
Abstract

Automatic data transfer between a source and a target using semantic artificial intelligence (AI) for robotic process automation (RPA) is disclosed. A user may be provided with the option of selecting a source and a target and indicating through an intuitive user interface that he or she would like to copy data from the source to the destination, regardless of format. This may be done at design time or at run time. For instance, the source and/or target may be a web page, a graphical user interface (GUI) of an application, an image, a file explorer, a spreadsheet, a relational database, a flat file source, any other suitable format, or any combination thereof. The source and the target may have different formats. The source, target, or both may not necessarily be visible to the user.

Claims (112)

1. A non-transitory computer-readable medium storing a computer program, the computer program configured to cause at least one processor to:

receive a selection of a source from a user via a graphical user interface (GUI) and/or an input device, the source comprising a plurality of screens, a plurality of screen versions, or both;

receive a selection of a target from the user via the GUI and/or the input device;

store metadata from a clipboard of an operating system, previous screen entries from the plurality of screens and/or the plurality of screen versions of the source, or both, in a persistent data structure;

call one or more artificial intelligence/machine learning (AI/ML) models that have been trained to perform semantic matching between labels in the source and labels in the target, between values in the source and the labels in the target, or both, the one or more AI/ML models configured to use the stored metadata in the persistent data structure and to suggest matches between the labels in the source and the labels in the target, between the values in the source and the labels in the target, or both, and respective confidence scores;

receive the suggested matches and respective confidence scores;

automatically copy values from the source to the target based on the semantic matching between the labels in the source and the labels in the target, between the values in the source and the labels in the target, or both, responsive to the matches exceeding a threshold confidence score; and

display the automatically copied values in the GUI.

2. The non-transitory computer-readable medium of claim 1 , wherein the persistent data structure comprises associations of labels to values, associations of label/value pairs to screens of the source, or both.

3. The non-transitory computer-readable medium of claim 1 , wherein the computer program is further configured to cause the at least one processor to:

generate one or more activities in a robotic process automation (RPA) workflow that copy data from the values in the source having labels that the one or more AI/ML models identified as semantically matching the labels in the target into respective fields or locations in the target.

4. The non-transitory computer-readable medium of claim 3 , wherein the computer program is further configured to cause the at least one processor to:

generate an automation implementing the one or more generated activities in the RPA workflow; and

deploy the generated automation and an RPA robot configured to execute the automation in a runtime environment.

5. The non-transitory computer-readable medium of claim 1 , wherein the computer program is further configured to cause the at least one processor to:

determine a start of a copy-and-paste task;

determine an end of the copy-and-paste task; and

generate associated activities for the start and the end of the copy-and-paste task.

6. The non-transitory computer-readable medium of claim 1 , wherein the computer program is further configured to cause the at least one processor to:

receive indications of fields or locations in the source associated with semantically matched labels in the target and respective confidence scores from the one or more AI/ML models; and

display the graphical elements or locations associated with the semantically matched labels on the target in a matching interface, display the respective confidence scores for the potential matching fields or locations identified by the one or more AI/ML models in the matching interface, or both.

7. The non-transitory computer-readable medium of claim 1 , wherein the computer program is further configured to cause the at least one processor to:

receive a correction to a label, field, or location in the target identified by the one or more AI/ML models as having an associated semantically matching label in the source, receive an indication of a new label, field, or location in the target that was not semantically matched to a label in the source by the one or more AI/ML models, or both;

collect information pertaining to the corrected and/or newly labeled label, field, or location in the target and the associated label in the source; and

directly or indirectly store the collected information for retraining of the one or more AI/ML models in the persistent data structure or another persistent data structure, the persistent data structure or the other persistent data structure comprising label and field associations.

8. The non-transitory computer-readable medium of claim 1 , wherein the computer program is further configured to cause the at least one processor to:

generate a composite confidence score from the confidence scores for the fields or locations associated with semantically matched labels in the target; and

display the composite confidence score in the matching interface.

9. The non-transitory computer-readable medium of claim 1 , wherein the one or more AI/ML models are trained by providing words and phrases with semantic associations between the words and phrases such that similar words and phrases for a given word or phrase can be identified, and providing contextual labels pertaining to a screen in which the words and phrases appear.

10. The non-transitory computer-readable medium of claim 1 , wherein the computer program is or comprises a robotic process automation (RPA) designer application.

11. The non-transitory computer-readable medium of claim 1 , wherein

the one or more AI/ML models comprise a computer vision (CV) model, an optical character recognition (OCR) model, a label matching model, and an input data matching model,

the label matching model matches labels detected by the OCR model with fields or locations detected by the CV model, and

the input data model receives the matching labels from the label matching model and semantically matches the labels and values from the source with the labels and fields or locations associated with the semantically matched labels on the target.

12. The non-transitory computer-readable medium of claim 1 , wherein the computer program is or comprises a robotic process automation (RPA) robot.

13. The non-transitory computer-readable medium of claim 1 , wherein the computer program is further configured to cause the at least one processor to:

display a type selection interface providing options for supported types for the source, the target, or both.

14. The non-transitory computer-readable medium of claim 1 , wherein the computer program is further configured to cause the at least one processor to:

select at least one additional source; and

provide information from the at least one additional source to the one or more AI/ML models in addition to information from the source to perform the semantic matching.

15. A computer-implemented method, comprising:

receiving, by a computing system, a selection of a source from a user via a graphical user interface (GUI) and/or an input device;

receiving, by the computing system, a selection of a target from the user via the GUI and/or the input device;

calling, by the computing system, one or more artificial intelligence/machine learning (AI/ML) models that have been trained to perform semantic matching between labels in a source and labels in a target, between values in the source and the labels in the target, or both, the one or more AI/ML models configured to use stored metadata in a persistent data structure and to suggest matches between the labels in the source and the labels in the target, between the values in the source and the labels in the target, or both, and respective confidence scores, the stored metadata comprising data from a clipboard of an operating system, previous screen entries from the plurality of screens and/or the plurality of screen versions of the source, or both;

receiving, by the computing system, the suggested matches and respective confidence scores;

automatically copying values from the source to the target, by the computing system, based on the semantic matching between the labels in the source and the labels in the target, between the values in the source and the labels in the target, or both; and

displaying, by the computing system, the automatically copied values in the GUI.

16. The computer-implemented method of claim 15 , wherein the persistent data structure comprises associations of labels to values, associations of label/value pairs to screens of the source, or both.

17. The computer-implemented method of claim 15 , further comprising:

generating, by the computing system, one or more activities in a robotic process automation (RPA) workflow that copy data from the values in the source having labels that the one or more AI/ML models identified as semantically matching the labels in the target into respective fields or locations in the target.

18. The computer-implemented method of claim 17 , further comprising:

generating an automation implementing the one or more generated activities in the RPA workflow, by the computing system; and

deploying the generated automation and an RPA robot configured to execute the automation in a runtime environment, by the computing system.

19. The computer-implemented method of claim 15 , further comprising:

determining, by the computing system, a start of a copy-and-paste task;

determining, by the computing system, an end of the copy-and-paste task; and

generating, by the computing system, associated activities for the start and the end of the copy-and-paste task.

20. The computer-implemented method of claim 15 , further comprising:

receiving indications of fields or locations in the source associated with semantically matched labels in the target and respective confidence scores from the one or more AI/ML models, by the computing system; and

displaying, by the computing system, the graphical elements or locations associated with the semantically matched labels on the target in a matching interface, displaying the respective confidence scores for the potential matching fields or locations identified by the one or more AI/ML models in the matching interface, or both.

21. The computer-implemented method of claim 15 , further comprising:

receiving, by the computing system, a correction to a label, field, or location in the target identified by the one or more AI/ML models as having an associated semantically matching label in the source, receiving an indication of a new label, field, or location in the target that was not semantically matched to a label in the source by the one or more AI/ML models, or both;

collecting information pertaining to the corrected and/or newly labeled label, field, or location in the target and the associated label in the source, by the computing system; and

directly or indirectly storing the collected information for retraining of the one or more AI/ML models in the persistent data structure or another persistent data structure, by the computing system, the persistent data structure or the other persistent data structure comprising label and field associations.

22. The computer-implemented method of claim 15 , further comprising:

generating a composite confidence score from the confidence scores for the fields or locations associated with semantically matched labels in the target, by the computing system; and

displaying the composite confidence score in the matching interface, by the computing system.

23. The computer-implemented method of claim 15 , wherein the one or more AI/ML models are trained by providing words and phrases with semantic associations between the words and phrases such that similar words and phrases for a given word or phrase can be identified, and providing contextual labels pertaining to a screen in which the words and phrases appear.

24. The computer-implemented method of claim 15 , wherein

the one or more AI/ML models comprise a computer vision (CV) model, an optical character recognition (OCR) model, a label matching model, and an input data matching model,

the label matching model matches labels detected by the OCR model with fields or locations detected by the CV model, and

the input data model receives the matching labels from the label matching model and semantically matches the labels and values from the source with the labels and fields or locations associated with the semantically matched labels on the target.

25. The computer-implemented method of claim 15 , further comprising:

displaying, by the computing system, a type selection interface providing options for supported types for the source, the target, or both.

26. The computer-implemented method of claim 15 , wherein the one or more AI/ML models use information from a plurality of sources to perform the semantic matching between labels in the plurality of sources and the labels in the target, between the values in the plurality of sources and the labels in the target, or both.

27. A computing system, comprising:

memory storing computer program instructions; and

at least one processor configured to execute the computer program instructions, wherein the computer program instructions are configured to cause the at least one processor to:

receive a selection of a source from a user via a graphical user interface (GUI) and/or an input device;

receive a selection of a target from the user via the GUI and/or the input device;

call one or more artificial intelligence/machine learning (AI/ML) models that have been trained to perform semantic matching between labels in the source and labels in the target, between values in the source and the labels in the target, or both, the one or more AI/ML models configured to use stored metadata in a persistent data structure and to suggest matches between the labels in the source and the labels in the target, between the values in the source and the labels in the target, or both, and respective confidence scores, the stored metadata comprising data from a clipboard of an operating system, previous screen entries from the plurality of screens and/or the plurality of screen versions of the source, or both;

automatically copy values from the source to the target based on the semantic matching between the labels in the source and the labels in the target, between the values in the source and the labels in the target, or both, responsive to the matches exceeding a threshold confidence score; and

display the automatically copied values in the GUI, wherein

the computer program instructions are or comprise a robotic process automation (RPA) designer application or an RPA robot.

28. The computing system of claim 27 , wherein the persistent data structure comprises associations of labels to values, associations of label/value pairs to screens of the source, or both.

29. The computing system of claim 27 , wherein the computer program instructions are further configured to cause the at least one processor to:

generate one or more activities in an RPA workflow that copy data from the values in the source having labels that the one or more AI/ML models identified as semantically matching the labels in the target into respective fields or locations in the target.

30. The computing system of claim 29 , wherein the computer program instructions are further configured to cause the at least one processor to:

generate an automation implementing the one or more generated activities in the RPA workflow; and

deploy the generated automation and an RPA robot configured to execute the automation in a runtime environment.

31. The computing system of claim 27 , wherein the computer program instructions are further configured to cause the at least one processor to:

determine a start of a copy-and-paste task;

determine an end of the copy-and-paste task; and

generate associated activities for the start and the end of the copy-and-paste task.

32. The computing system of claim 27 , wherein the computer program instructions are further configured to cause the at least one processor to:

receive indications of fields or locations in the source associated with semantically matched labels in the target and respective confidence scores from the one or more AI/ML models; and

display the graphical elements or locations associated with the semantically matched labels on the target in a matching interface, display the respective confidence scores for the potential matching fields or locations identified by the one or more AI/ML models in the matching interface, or both.

33. The computing system of claim 27 , wherein the computer program instructions are further configured to cause the at least one processor to:

receive a correction to a label, field, or location in the target identified by the one or more AI/ML models as having an associated semantically matching label in the source, receive an indication of a new label, field, or location in the target that was not semantically matched to a label in the source by the one or more AI/ML models, or both;

collect information pertaining to the corrected and/or newly labeled label, field, or location in the target and the associated label in the source; and

directly or indirectly store the collected information for retraining of the one or more AI/ML models in the persistent data structure or another persistent data structure, the persistent data structure or the other persistent data structure comprising label and field associations.

34. The computing system of claim 27 , wherein the computer program instructions are further configured to cause the at least one processor to:

generate a composite confidence score from the confidence scores for the fields or locations associated with semantically matched labels in the target; and

display the composite confidence score in the matching interface.

35. The computing system of claim 27 , wherein the one or more AI/ML models are trained by providing words and phrases with semantic associations between the words and phrases such that similar words and phrases for a given word or phrase can be identified, and providing contextual labels pertaining to a screen in which the words and phrases appear.

36. The computing system of claim 27 , wherein

the one or more AI/ML models comprise a computer vision (CV) model, an optical character recognition (OCR) model, a label matching model, and an input data matching model,

the label matching model matches labels detected by the OCR model with fields or locations detected by the CV model, and

the input data model receives the matching labels from the label matching model and semantically matches the labels and values from the source with the labels and fields or locations associated with the semantically matched labels on the target.

37. The computing system of claim 27 , wherein the computer program instructions are further configured to cause the at least one processor to:

display a type selection interface providing options for supported types for the source, the target, or both.

38. The computing system of claim 27 , wherein the one or more AI/ML models use information from a plurality of sources to perform the semantic matching between labels in the plurality of sources and the labels in the target, between the values in the plurality of sources and the labels in the target, or both.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2022
From: RIPA, BOGDAN; GRIGORE, MIRCEA; VOICU, COSMIN
To: UIPATH, INC.
Reel/Frame 061794/0654 →
Continuity (3)
Continuation 17746855 · May 17, 2022
Continuation In Part 17494744 · Oct 5, 2021
Related Publication 20230107233A1 · Apr 6, 2023
References Cited (52)
US 7624353B2 · Beumer · 2009 [cited by applicant]
US 10860905B1 · Gligan et al. · 2020 [cited by applicant]
US 10936351B2 · Voicu · 2021 [cited by applicant]
US 11200073B1 · Voicu · 2021 [cited by applicant]
US 20080027930A1 · Bohannon · 2008 [cited by examiner]
US 20180032626A1 · Ben-Aharon · 2018 [cited by examiner]
US 20190213039A1 · Lecue · 2019 [cited by examiner]
US 20190213252A1 · Simard et al. · 2019 [cited by applicant]
US 20190318020A1 · Chauhan et al. · 2019 [cited by applicant]
US 20200249964A1 · Fernandes et al. · 2020 [cited by applicant]
US 20200366566A1 · Avasarala et al. · 2020 [cited by applicant]
US 20210019157A1 · Voicu · 2021 [cited by applicant]
US 20210019574A1 · Voicu · 2021 [cited by applicant]
US 20210089332A1 · Zohar et al. · 2021 [cited by applicant]
US 20210097274A1 · Gligan et al. · 2021 [cited by applicant]
US 20210109834A1 · Singh et al. · 2021 [cited by applicant]
US 20210294945A1 · Müller et al. · 2021 [cited by applicant]
US 20210334470A1 · Molin · 2021 [cited by examiner]
US 20210397157A1 · Cote et al. · 2021 [cited by applicant]
US 20220011732A1 · Hall · 2022 [cited by applicant]
US 20220012024A1 · Grigore · 2022 [cited by applicant]
US 20220197674A1 · Ginoya et al. · 2022 [cited by applicant]
US 20220317978A1 · Barik et al. · 2022 [cited by applicant]
US 20230182296A1 · Sermanet · 2023 [cited by examiner]
CN 112231033A · 2021 [cited by applicant]
CN 112967132A · 2021 [cited by applicant]
CN 113435160A · 2021 [cited by applicant]
WO 2020061700A1 · 2020 [cited by applicant]
WO 2021055102A1 · 2021 [cited by applicant]
European Search Report issued in European Application No. 22199898.2 on Feb. 8, 2023. [cited by applicant]
Giunchiglia et al., “Semantic Matching,” The Knowledge Engineering Review, Cambridge University Press, vol. 18, No. 3, pp. 265-280 (Sep. 1, 2003). [cited by applicant]
Lasker et al., “Semi-Supervised Semantic Matching,” Pattern Recognition : 5ht Asian Conference, ACPR, Auckland, New Zealand, Nov. 26-29, 2019, LNCS 11131, pp. 444-455 (Jan. 23, 2019). [cited by applicant]
Chuan Guo et al., “On Calibration of Modern Neural Networks,” Proceedings of the 34th International Conference on Machine Learning, PMLR 70:1321-1330 (2017). [cited by applicant]
International Search Report, issued Jun. 22, 2022, PCT Application No. PCT/US21/57169. [cited by applicant]
Jitterbit Mapping Mode Page available at https://success.jitterbit.com/display/CS/Mapping+Mode (last updated Oct. 20, 2021). [cited by applicant]
Jonathan Grandperrin, “How to use confidence scores in machine learning models,” available at https://towardsdatascience.com/how-to-use-confidence-scores-in-machine-learning-models-abe9773306fa (Jan. 19, 2021). [cited by applicant]
Mappings in Informatica Page available at https://www.guru99.com/mappings-informatica.html (Last updated Oct. 7, 2021). [cited by applicant]
Nils Reimers et al., “Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks,” available at https://arxiv.org/pdf/1908.10084.pdf (Aug. 27, 2019). [cited by applicant]
Pratik Shukla et al., “Main Types of Neural Networks and Their Applications—Tutorial,” available at https://pub.towardsai.net/main-types-of-neural-networks-and-its-applications-tutorial-734480d7ec8e (last updated Aug. 1… [cited by applicant]
sbert.net SentenceTransformers Documentation available at https://www.sbert.net/ (last accessed Oct. 4, 2021). [cited by applicant]
Tony Yiu, “Understanding Neural Networks,” available at https://towardsdatascience.com/understanding-neural-networks-19020b758230 (Jun. 2, 2019). [cited by applicant]
UiPath Object Repository Page available at https://docs.uipath.com/studio/docs/about-object-repository (last accessed Oct. 4, 2021). [cited by applicant]
Extended European Search Report, issued Feb. 8, 2024, European Patent Application No. EP21820901.3. [cited by applicant]
Chakrabarti, et al., “TableQnA: Answering List Intent Queries with Web Tables”, arXiv preprint arXiv:2001.04828. Jan. 10, 2020. (Year: 2020). [cited by applicant]
Chuen-Meei Gan, “Non-Final Office Action”, issued Sep. 19, 2024, U.S. Appl. No. 18/068,642. [cited by applicant]
Chuen-Meei Gan, “Notice of Allowance”, issued Aug. 21, 2024, U.S. Appl. No. 17/494,744. [cited by applicant]
Chuen-Meei Gan, “Notice of Allowance”, issued Aug. 26, 2024, U.S. Appl. No. 18/052,378. [cited by applicant]
Nga B Nguyen, “Non-Final Office Action”, issued Aug. 27, 2024, U.S. Appl. No. 17/746,855. [cited by applicant]
Reddy, et al. “A Study of Robotic Process Automation Among Artificial Intelligence”, International Journal of Scientific and Research Publications. Feb. 2019;9(2):392-77. (Year: 2019) [cited by applicant]
Taulli, Tom, “Robotic Process Automation (RPA) an Easier Path to AI. Artificial Intelligence Basics: A Non-Technical Introduction”, 2019:91-102. (Year: 2019). [cited by applicant]
Chuen-Meei GAN, “Notice of Allowance”, issued Mar. 4, 2025, U.S. Appl. No. 18/068,642. [cited by applicant]
Nga B Nguyen, “Notice of Allowance”, issued Jan. 2, 2025, U.S. Appl. No. 17/746,855. [cited by applicant]
Cited By (1)
US 12,737,647