AWS Comprehend#
AWS Comprehend is a natural language processing (NLP) service that uses machine learning to find insights and relationships in a text.
Credentials
You can find authentication information for this node here.
Basic Operations#
Text
- Identify the dominant language
- Analyse the sentiment of the text
Example Usage#
This workflow allows you to analyze the sentiment of feedback received via a Typeform submission and send a message on Mattermost if that feedback is negative. You can also find the workflow on n8n.io. This example usage workflow uses the following nodes. - Typeform Trigger - AWS Comprehend - IF - Mattermost - No Operation, do nothing
The final workflow should look like the following image.
1. Typeform Trigger node#
This node will trigger the workflow when a feedback form is submitted. Make sure to create a feedback form for your event.
- Select 'Access Token' from the Authentication dropdown list.
- Enter the credentials for the Typeform Trigger node. You can find out how to do that here.
- Select the event feedback form from the Form dropdown list.
- Click on Execute Node to run the node.
In the screenshot below, you will notice that the node triggers the workflow when feedback is submitted. We will pass this feedback to the next nodes in the workflow.
2. AWS Comprehend node (detectSentiment: text)#
This node will analyze the sentiment of the feedback that we got from the previous node. We will pass the analysis score to the next node in the workflow.
- First of all, you'll have to enter credentials for the AWS Comprehend node. You can find out how to enter credentials for this node here.
- Select 'Detect Sentiment' from the Operation dropdown list.
-
Click on the gears icon next to the Text field and click on Add Expression.
-
Select the following in the Variable Selector section: Current Node > Input Data > JSON > What did you think about the event? You can also add the following expression:
{{$json["What did you think about the event?"]}}
. If you want to analyze the sentiment for a different question, select that question instead. - Click on Execute Node to run the node.
In the screenshot below, you will notice that the node analyzes the sentiment of the feedback and gives a score based on that.
3. IF node#
This node will check if the sentiment we got from the previous node is negative. If the sentiment is negative, it will return true otherwise false.
- Click on Add Condition and select 'String'.
- Click on the gears icon next to the Value 1 field and click on Add Expression.
- Select the following in the Variable Selector section: Current Node > Input Data > JSON > Sentiment. You can also add the following expression:
{{$json["Sentiment"]}}
. - Enter
NEGATIVE
in the Value 2 field. - Click on Execute Node to run the node.
In the screenshot below, you will notice that the node checks the sentiment that we received from the previous node and returns true
if the sentiment is negative.
4. Mattermost node (post: message)#
This node will send the feedback and the analysis score to the feedback
channel in Mattermost. If you have a different channel, use that instead.
- Create a Mattermost node connected to the 'true' output of the IF node.
- You'll have to enter credentials for the Mattermost node. You can find out how to enter credentials for this node here.
- Select a channel from the Channel ID dropdown list.
-
Click on the gears icon next to the Message field click on Add Expression.
-
Enter the following message in the Expression field:
You got new feedback with a score of {{$json["SentimentScore"]["Negative"]}}. Here is what it says:{{$node["Typeform Trigger"].json["What did you think about the event?"]}}
. - Click on Execute Node to run the workflow.
In the screenshot below, you will notice that the node sends the feedback and the analysis score to the feedback
channel in Mattermost.
5. NoOp node#
Adding this node here is optional, as the absence of this node won't make a difference to the functioning of the workflow.
- Create a NoOp node connected to the 'false' output of the IF node.
- Click on Execute Node to run the node.
Activate workflow for production
This example workflow uses the Typeform Trigger node. You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered when a new form is submitted.