BestPracticesGuide DUPT
BestPracticesGuide DUPT
Guide
Mastering the stages: Best practices for successful
implementation of Document Understanding projects
This guide equips you with the knowledge and tips to navigate the various stages of a
Document Understanding project with confidence.
Step-by-step guide
This is a step-by-step guide that can help you when starting a new job for a client. Following these steps will help
overcome some of the frictions and issues that can appear later on.
The assumption is that you are an Automation Developer with Document Understanding knowledge.
• UiPath Studio
• Optional software:
2. Request that the machine you're working on is correctly configured with the following:
• Developer, Test, and Production environments accessible from your machine. (Depending on needs)
• The Machine respects the minimum hardware and software requirements here. (Do Note: Have at least
16gb for a development machine. High density ones might require even more.)
• UiPath orchestrator (Folder admin rights, add/modify assets, queues, storage buckets etc.)
2
• Attended or Unattended automation?
• How many instances of AI Center do they want/have? (QA/Dev/Prod or simply have one AI Center
instance for all and use public endpoints?)
4. Make sure there is a Non-Disclosure Agreement (NDA) in place and you can exchange documents.
5. Request to see the documents you will need to extract the data from and:
• Get a vague idea of what needs to be extracted from the documents - a more in depth documentation will
come later. (Step 1, Point 3)
• Make sure you get the best possible quality of the documents (bad documents examples: having stamps
of text that needs to be extracted, resolution so low that not even a human can read it, handwritten text
over signatures, etc)
• See what solution you will be using (Form, Regex, ML) to extract the required data.
6. If you are using an ML model, Request 15 documents / vendor to use for training:
7. Make sure that you, or the PM on the project is using this template (or an updated version of it) for tracking the
progress of the project.
Step 5 can take a bit longer for them to complete. Request it as fast as possible for you to not be delayed
too much. INSIST on receiving at least 15 documents/vendor.
• Note: The Walk-through of the to-be process is proposed by the BA + SA and approved by the
project.
3
• What’s the accuracy rate?
• What made them choose to switch to UiPath Document Understanding now - was there a specific event?
3. Gather more data about the documents and try to answer these questions:
• Can they provide scanned samples for all expected quality levels?
• Can an input file also contain different document types (eg: a receipt & ID card within a single
file)?
• Is it uniform or does a subset cover a large portion? (Eg: 80% of documents come from 10
vendors)
• Focus on the large volumes? (Generally, you should, but it might differ from use case to use case)
• Focus on easiest to automate? (Generally, you should, but it might differ from use case to use case)
• Is there a requirement to extract non-text information (Logos, check boxes, barcodes, etc)
4
• Is the customer willing to provide sufficient sample documents for all doc
types/templates/vendors/layouts/languages they want automated?
• Are there any documents containing multiple languages at the same time?
• How many instances of AI Center do they want/have? (QA/Dev/Prod or simply have one AI Center
instance for all and use public endpoints?)
6. Try and manage expectations because the process outcome is heavily dependent on the customer providing
sufficient document samples (15/vendor minimum):
• What does the customer expect from UiPath's Document Understanding product?
• What are the SLAs or timelines required for the process of documents?
• This can help later as saying the “OCR has an error rate of 50%” is completely different from “The robot
has an error rate of 50%”
Generally, you should always focus on the large volume documents and the ones that are easier to
automate to give the best ROI to the customer.
5
• Document Types
• Taxonomy - group as many document types under the same taxonomy as possible
• Templates
• Languages
• Scans/Digital docs
• Success Criteria
• Others
• When going through the As-Is and To-Be processes always try and find out what BREs are possible.
• Note: The client will make it sound that there are not many. Do not trust him. Ask him as if you were a
new hire what would happen if you clicked a random button, or what happens if a field is missing and so
on.
4. The End-to-End process will have a minimum of 3 processes, but can contain more:
• Dispatcher
• Performer
• Other processes can include Error Validation, API Interrogations, and others
• Can a field be computed dynamically? (For instance, in an invoice table we can compute Line Amount
dynamically: Line Amount = Quantity * Unit Price)
• Can we send from a dispatcher/outside system extra data to the DU Process for automatic/rule-based
validation?
6. Organize the taxonomies of the different document types under proper Groups and Categories
7. Try different OCRs and see which gives the best results. Start with UiPath OCR and if the results are not as
good as needed:
• Google / Microsoft OCRs (these require an extra license bought from them)
• Omnipage
6
• UiPath CJK (for Chinese, Japanese, Korean)
• Tesseract
• An Integration Service triggers the DU Process when a file is placed in a specific location.
• Other solutions.
9. Document Classification:
• Is it required?
• Determine the business rules for sending the document to the human-in-the-loop for classification
validation.
• For trainable classifiers determine the input training set and the feedback loop.
• Using more than one extractor is also an option, but it will consume more AI Units.
• For trainable extractors, consider the initial training & feedback loop.
• Post Processing for Invoices/Other document types should be done here with the help from the rules
gathered in Step 2: Point 5.
• Determine the business rules and thresholds for sending the document to the human-in-the-loop for
extraction validation.
• Recommendation is to serialize the data and store it (storage bucket, NAS, data service) and then send
in the queue item for the performer only the reference to the location.
7
13. How will we test the solution:
• Our recommendation would be to use Insights with some OOTB dashboards with custom additions
where needed by business.
• Daily Weekly reports for technical reasons (issue monitoring etc) (depending on need).
• The process should be up and running in the first couple of days after you get the required access. This
will help in testing out the infrastructure and making sure everything works (with the DU Process sample
data).
• Changes to the process for the client’s specific needs will be done after completing the Data Gathering
(Step 1) and Process Design (Step2) steps.
• Having the basic process will help you with the testing of the ML model for extraction/classification.
2. Set up a meeting with the client SMEs and teach them how to label data in AI Center Data Labeling tool:
• Remember to verify their work as well as golden rule of ML states: Garbage in → Garbage out
3. Build the first model as soon as possible and test it out. Ideally you would have a model with at least 750+
documents (50+vendors)
• Labelling should be done by people with a good understanding of the documents and data.
• When data corresponding to a field appears multiple times, tag all instances (even on different pages)
• Label diverse data; have sufficient sample size for all document layouts.
• When using user-validated data exported by the robot (via train ML extractor), add it to the existing
dataset for the model; don't create new datasets.
• If the results are not promising, add more data (either more vendors, or more data for specific vendors
where it had more issues).
8
• See if there are any OCR errors and try to see if other OCRs would perform better. (You can
configure different OCRs in Document Manager)
• Stamps/Handwriting over the field we actually want to extract. (Not much one can do here,
except to keep in this fact in mind and inform the client about the issue).
5. If the model is decent (85%+ accuracy) continue with this model until UAT/Hypercare depending on client
feedback:
• If the model is decent enough and the human in the loop (HITL) rate is not that high, continue with this
before doing a retraining as it can take a while.
7. Develop the Dispatcher if present. (It can be an Integration Service or API call as well).
• Use LINQ to calculate confidence level for data extraction. It’s much faster than iterating through all the
fields with ForEach.
• Do not pass extracted data to other processes via Arguments or Queue Items. Extracted data can easily
exceed the maximum size allowed by Arguments/Queues.
9. Develop the Error handling mechanism. (What happens with the BREs and System Exceptions?).
10. Develop the Performer. (As you know, some systems can be very complex, or you can have a lot of edge
cases. This is why this step usually takes the longest).
• Load testing if possible (create 100 queue items and start the trigger then, see how everything unfolds).
2. Set a call with the customer to set expectations in UAT and teach them how to use the process.
9
3. Hotfix the critical issues. Any major changes will require a Change Request.
10