- Introduction
- Setting up your account
- Balance
- Clusters
- Concept drift
- Coverage
- Datasets
- General fields
- Labels (predictions, confidence levels, label hierarchy, and label sentiment)
- Models
- Streams
- Model Rating
- Projects
- Precision
- Recall
- Annotated and unannotated messages
- Extraction Fields
- Sources
- Taxonomies
- Training
- True and false positive and negative predictions
- Validation
- Messages
- Access control and administration
- Manage sources and datasets
- Understanding the data structure and permissions
- Creating or deleting a data source in the GUI
- Preparing data for .CSV upload
- Uploading a CSV file into a source
- Creating a dataset
- Multilingual sources and datasets
- Enabling sentiment on a dataset
- Amending dataset settings
- Deleting a message
- Deleting a dataset
- Exporting a dataset
- Using Exchange integrations
- Model training and maintenance
- Understanding labels, general fields, and metadata
- Label hierarchy and best practices
- Comparing analytics and automation use cases
- Turning your objectives into labels
- Overview of the model training process
- Generative Annotation
- Dastaset status
- Model training and annotating best practice
- Training with label sentiment analysis enabled
- Understanding data requirements
- Train
- Introduction to Refine
- Precision and recall explained
- Precision and Recall
- How validation works
- Understanding and improving model performance
- Reasons for label low average precision
- Training using Check label and Missed label
- Training using Teach label (Refine)
- Training using Search (Refine)
- Understanding and increasing coverage
- Improving Balance and using Rebalance
- When to stop training your model
- Using general fields
- Generative extraction
- Using analytics and monitoring
- Automations and Communications Mining™
- Developer
- Uploading data
- Downloading data
- Exchange Integration with Azure service user
- Exchange Integration with Azure Application Authentication
- Exchange Integration with Azure Application Authentication and Graph
- Fetching data for Tableau with Python
- Elasticsearch integration
- General field extraction
- Self-hosted Exchange integration
- UiPath® Automation Framework
- UiPath® official activities
- How machines learn to understand words: a guide to embeddings in NLP
- Prompt-based learning with Transformers
- Efficient Transformers II: knowledge distillation & fine-tuning
- Efficient Transformers I: attention mechanisms
- Deep hierarchical unsupervised intent modelling: getting value without training data
- Fixing annotating bias with Communications Mining™
- Active learning: better ML models in less time
- It's all in the numbers - assessing model performance with metrics
- Why model validation is important
- Comparing Communications Mining™ and Google AutoML for conversational data intelligence
- Licensing
- FAQs and more

Communications Mining user guide
Activities
Get Stream Results and Get Attachments
The Communications Mining Activities package allows you to consume results from the Communications Mining™ streams. In this tutorial you can see an example of the invoice submissions process.
You are guided on how to consume a Communications Mining stream, identify invoice submission requests and download the associated attachments from the communications.
Key Concepts
- Results - A representation of a communication that is returned from the Communications Mining™ stream. The results contain two key properties:
comment- contains all the information about the communication that was uploaded to the platform, such as: the subject, body, and time stamp of the communication.prediction- contains the set of predictions that are returned against that communication. Within this property you can findextractionsandfields.
- Extraction - A prediction related to a specific instance of a request associated with a label, such as an
Address Changerequest, and the fields linked to that request: Address Line 1, Town/City, Zip code. For every label you can predict multiple extractions on each message. Each extraction has an associatedOccurrence Confidenceand anExtraction Confidence. - Field - A data point extracted as a value from a message. A field can have the following types:
- general field (not associated with any labels).
- extraction field (linked to a specific label and required to process requests associated with that label).
- Occurrence Confidence - A model's confidence level about the presence of a specific extraction instance. For instance, how certain the model is about a second
Change of Addressrequest in the message. - Extraction Confidence - A model's confidence level that an individual extraction is correctly extracted - i.e. the extraction is correctly identified, and all of the fields are correctly identified and associated with the correct extraction.
- Thresholding - Each label prediction returned from a stream contains a
thresholdsproperty. This property contains the list of thresholds that have been surpassed for the given prediction. Currently, the threshold that you configure on the stream is called astream.
Prerequisites
- Access to Communications Mining™.
- An exchange integration configured and populating a source.
- A trained dataset based on this source.
- A stream configured on this trained dataset.
Follow the steps below, to consume stream Results and obtain attachments.
Step 1 - Connect to your stream
Within a Studio project, drag in the Get Stream Results activity from the Communications Mining™ activities library and select your stream.

Step 2 - Start looping your stream results
Drag in a For Each loop and start iterating the Results field of the variable output from the Get Stream Results activity.

Step 3 - Determine if the result is an Invoice Submission
Within your For Each loop, add an If statement, and check if the Invoice Submission request has been detected with the following expression: result.Prediction.ContainsLabelExtraction("Invoice Submission")

You can also access any field values that you have configured for this label with the result.Prediction.GetLabelExtractions("Invoice Submission")(0).GetField("Invoice Date") expression.
Step 4 - Download the attached invoice
Drag in the Get Attachment activity to the Then section of your if statement. You can then retrieve the attachment reference with the following expression: result.Comment.GetAttachmentsByType("application/pdf")(0).AttachmentReference.
This expression assumes that at least one PDF attachment exists. Check in production that this is the case.
Step 5 - Pass the attachment to Document Understanding
You can now use the downloaded attachment and pass it Document Understanding:

Step 6 - Advance the stream
Once you have processed all of the results in the stream batch, use the Advance Stream activity to advance the stream to retrieve more results:

- Get Stream Results and Get Attachments
- Key Concepts
- Step 1 - Connect to your stream
- Step 2 - Start looping your stream results
- Step 3 - Determine if the result is an Invoice Submission
- Step 4 - Download the attached invoice
- Step 5 - Pass the attachment to Document Understanding
- Step 6 - Advance the stream