--- title: "NLP Operator" slug: "nlp-operator" description: "Learn how the NLP operator analyzes text inputs, matches keywords, and outputs sentiment, enhancing feedback collection and data interpretation." updated: 2025-11-24T17:17:06Z published: 2025-11-25T16:08:31Z canonical: "docs.unqork.io/nlp-operator" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.unqork.io/llms.txt > Use this file to discover all available pages before exploring further. # NLP Operator UDesignerClassic Designer ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(346).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) The **NLP (natural language processing) operator** compares two inputs to identify and interpret language patterns. - Text dynamically added into the operator. For example, a [Text Field](https://docs.unqork.io/docs/text-field-component) or [Text Area](https://docs.unqork.io/docs/text-area-component) component sends data into the NLP operator’s upper input port. - Text stored in a data table. For example, a [Data Table](https://docs.unqork.io/docs/data-table-component) component sends data into the operator’s lower input port. When you enter text into the operator, it looks for a keyword match from your data table. Then the operator outputs that keyword and any value associated with it. That associated value is its sentiment. So, let’s say you create a data table with two columns of information: a Keyword column and a Sentiment column. Your Keyword column stores text that the operator compares to the input text. Your Sentiment column stores the sentiment text corresponding to the keyword. Let's say you want to apply that to a real-world scenario. A good example could include collecting feedback on an application. You set up a review template that you ask end-users to complete. To gather the results, you use an NLP operator to search for keywords in these reviews. When the operator finds a match, it outputs a sentiment for that keyword. For example, you can set up a sentiment that identifies positive feedback. If a user mentions the word **Helpful** in their review, the NLP operator returns **Helpful** and **Positive**. You can find the NLP operator under the [Value/String](https://docs.unqork.io/docs/valuestring-operators) group to the left of the [Data Workflow](https://docs.unqork.io/docs/unqorks-data-workflow-operators) canvas. ## About the Info Window Here's a breakdown of each setting in the Info window: | Setting | Description | | --- | --- | | Category | Grayed out and non-adjustable setting indicating the operation type. | | Label | Sets the label for your operator, displaying below the operator on your Data Workflow canvas. This field is optional, but set a label if you use more than one of the same operator type. A label helps you identify your operators without opening any Info windows. | | Preserve Argument Type | When selected, this setting ensures the argument data type is respected when the operator executes. | | Source Column | Enter the key you want the operator to reference data from your data table. This value is typically the header of your keyword table column. | ## Adding an NLP Operator In this example, you'll use a [Data Table](https://docs.unqork.io/docs/data-table-component) component with a variety of feelings (keywords) and moods (sentiments). You'll configure a [Text Area](https://docs.unqork.io/docs/text-area-component) component so you can input as many keywords as you want. You'll then set up a Data Workflow with an NLP operator to compare the data. If a match exists between the Text Area and Data Table components, the operator outputs the results. You’ll also configure the Data Workflow to view the results in the DevTools Console. > [!NOTE] > These instructions assume you have a module open, saved, and with a title. ### Configure the Text Area Component Begin by adding a [Text Area](/v1/docs/text-area-component) component to dynamically input keywords into your NLP operator. 1. In the Module Builder, drag and drop a **Text Area** component onto your canvas. 2. In the **Property ID** field, enter `review`. 3. In the **Label Text** field, enter `Review`. 4. Set **Required** to ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_ON(6).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **(ON)**. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(347).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 5. Click **Save Component**. ### Configure the Data Table Component Next, configure a [Data Table](/v1/docs/data-table-component) component to store your keywords and sentiments. 1. Drag and drop a **Data Table** component onto your canvas, placing it below your `review` **Text Area** component. 2. In the **Property ID** field, enter `dtMoods`. 3. In the data table, enter the following: | keyword | mood | | --- | --- | | Amazing | Happy | | Fantastic | Happy | | Love | Happy | | Over the Moon | Happy | | Perfect | Happy | | Wonderful | Happy | | Devastating | Sad | | Rude | Angry | | Terrible | Angry | | Unprofessional | Angry | | Upset | Angry | | Waste of money | Angry | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(348).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 4. Click **Save Component**. ### Configure the Button Component Now, configure a [Button](/v1/docs/button-component) component to trigger your Data Workflow. 1. Drag and drop a **Button** component onto your canvas, placing it below your `dtMoods` **Data Table** component. 2. In the **Property ID** field, enter `btnNLP`. 3. In the **Label Text** field, enter `Submit Review & Analyze`. 4. From the **Action Type** drop-down, select **Event**. 5. From the **Triggers OnClick** drop-down, select **dwfNLP**. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(349).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 6. Click **Save Component**. ### Configure the Hidden Component Next, configure a [Hidden](https://docs.unqork.io/docs/hidden-component) component to output the data from your Data Workflow. 1. Drag and drop a **Hidden** component onto your canvas, placing it below your `btnNLP` Button component. 2. In the **Property ID** and the **Label Text** fields, enter `outputNLP`. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(350).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 3. Click **Save Component**. ### Configure the Data Workflow Component Lastly, configure a Data Workflow. Begin by configuring an NLP operator and input your Text Area and Data Table components. You'll connect the inputs as follows: 1. Drag and drop a **Data Workflow** component onto your canvas, placing it between your `btnNLP` **Button** and `outputNLP` **Hidden** components. 2. In the **Property ID** and **Canvas Label Text** fields, enter `dwfNLP`. #### Configure the Input Operators First, you'll configure two [Input](https://docs.unqork.io/docs/input-operator) operators. One operator brings in data from your Text Area component. The other operator brings in data from your Data Table component. 1. Drag and drop two **Input** operators onto your Data Workflow canvas. 2. Configure the first Input operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Input | | Component | review | | Required | Yes | | Source | Default | 3. Configure the second Input operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Input | | Component | dtMoods | | Required | Yes | | Source | Default | #### Configure the NLP Operator Next, you'll configure the NLP operator to dynamically compare values entered in the module's Text Area component to those stored in the Data Table component. 1. Drag and drop an **NLP** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | NLP | | Label | keyword | | Source Column | keyword | > [!NOTE] > The Source Column is case-sensitive. Be sure that you enter it exactly as it's written in your Data Table column header. 3. Connect the output port (right) of the `review` **Input** operator to the upper input port (left) of the `keyword` **NLP** operator. 4. Connect the output port (right) of the `dtMoods` **Input** operator to the lower input port (left) of the `keyword` **NLP** operator. #### Configure the Output Operator Lastly, configure an [Output](https://docs.unqork.io/docs/output-operator) operator to view the results of your NLP operator in the DevTools Console. 1. Drag and drop an **Output** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Output | | Component | outputNLP | | Action | value | 3. Connect the output port (right) of the `keyword` **NLP** operator to the input port (left) of the `outputNLP` **Output** operator. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(351).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 4. Click **Save Component**. 5. **Save** your module. Here's how the completed example looks in the Module Builder: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(352).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Preview your module in Express View and open the DevTools Console. Enter one or more of your created keywords into the **Review** field and click **Submit Review & Analyze**. Run the Angular command and expand the data array in the DevTools Console to view your keywords with their respective moods. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/NLP_operator_06.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(354).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) The **NLP (natural language processing) operator** compares two inputs to identify and interpret language patterns. - Text dynamically added into the operator. For example, a [Text Field](https://docs.unqork.io/docs/text-field-component) or [Text Area](https://docs.unqork.io/docs/text-area-component) component sends data into the NLP operator’s upper input port. - Text stored in a data table. For example, a [Data Table](https://docs.unqork.io/docs/data-table-component) component sends data into the operator’s lower input port. When you enter text into the operator, it looks for a keyword match from your data table. Then the operator outputs that keyword and any value associated with it. That associated value is its sentiment. So, let’s say you create a data table with two columns of information: a Keyword column and a Sentiment column. Your Keyword column stores text that the operator compares to the input text. Your Sentiment column stores the sentiment text corresponding to the keyword. Let's say you want to apply that to a real-world scenario. A good example could include collecting feedback on an application. You set up a review template that you ask end-users to complete. To gather the results, you use an NLP operator to search for keywords in these reviews. When the operator finds a match, it outputs a sentiment for that keyword. For example, you can set up a sentiment that identifies positive feedback. If a user mentions the word **Helpful** in their review, the NLP operator returns **Helpful** and **Positive**. You can find the NLP operator under the [Value/String](https://docs.unqork.io/docs/valuestring-operators) group to the left of the [Data Workflow](https://docs.unqork.io/docs/unqorks-data-workflow-operators) canvas. ## About the Info Window Here's a breakdown of each setting in the Info window: | Setting | Description | | --- | --- | | Category | Grayed out and non-adjustable setting indicating the operation type. | | Label | Sets the label for your operator, displaying below the operator on your Data Workflow canvas. This field is optional, but set a label if you use more than one of the same operator type. A label helps you identify your operators without opening any Info windows. | | Preserve Argument Type | When selected, this setting ensures the argument data type is respected when the operator executes. | | Source Column | Enter the key you want the operator to reference data from your data table. This value is typically the header of your keyword table column. | ## Adding an NLP Operator In this example, you'll use a [Data Table](https://docs.unqork.io/docs/data-table-component) component with a variety of feelings (keywords) and moods (sentiments). You'll configure a [Text Area](https://docs.unqork.io/docs/text-area-component) component so you can input as many keywords as you want. You'll then set up a Data Workflow with an NLP operator to compare the data. If a match exists between the Text Area and Data Table components, the operator outputs the results. You’ll also configure the Data Workflow to view the results in the DevTools Console. > [!NOTE] > These instructions assume you have a module open, saved, and with a title. ### Configure the Text Area Component Begin by adding a [Text Area](/v1/docs/text-area-component) component to dynamically input keywords into your NLP operator. 1. In the Module Builder, drag and drop a **Text Area** component onto your canvas. 2. In the **Property ID** and the **Label Text** fields, enter `review`. 3. Set the **Required** toggle ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_ON(6).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **(ON)**. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(378).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 4. Click **Save & Close**. ### Configure the Data Table Component Next, configure a [Data Table](/v1/docs/data-table-component) component to store your keywords and sentiments. 1. Drag and drop a **Data Table** component onto your canvas, placing it below your `review` **Text Area** component. 2. In the **Label** and **Property Name** fields, enter `dtMoods`. 3. In the data table, enter the following: | keyword | mood | | --- | --- | | Amazing | Happy | | Fantastic | Happy | | Love | Happy | | Over the Moon | Happy | | Perfect | Happy | | Wonderful | Happy | | Devastating | Sad | | Rude | Angry | | Terrible | Angry | | Unprofessional | Angry | | Upset | Angry | | Waste of money | Angry | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/NLP_operator_04.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 4. Click **Save**. ### Configure the Button Component Now, configure a [Button](/v1/docs/button-component) component to trigger your Data Workflow. 1. Drag and drop a **Button** component onto your canvas, placing it below your `dtMoods` **Data Table** component. 2. In the **Property ID** field, enter `btnNLP`. 3. In the **Label Text** field, enter `Submit Review & Analyze`. 4. From the **Action Type** drop-down, select **Event**. 5. From the **Triggers OnClick** drop-down, select `dwfNLP`. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(379).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 6. Click **Save & Close**. ### Configure the Hidden Component Next, configure a [Hidden](https://docs.unqork.io/docs/hidden-component) component to output the data from your Data Workflow. 1. Drag and drop a **Hidden** component onto your canvas, placing it below your `btnNLP` Button component. 2. In the **Property ID** and the **Canvas Label Text** fields, enter `outputNLP`. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(380).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 3. Click **Save**. ### Configure the Data Workflow Component Lastly, configure a Data Workflow. Begin by configuring an NLP operator and input your Text Area and Data Table components. You'll connect the inputs as follows: 1. Drag and drop a **Data Workflow** component onto your canvas, placing it between your `btnNLP` **Button** and `outputNLP` **Hidden** components. 2. In the **Canvas Label Text** and **Property Name** fields, enter `dwfNLP`. #### Configure the Input Operators First, you'll configure two [Input](https://docs.unqork.io/docs/input-operator) operators. One operator brings in data from your Text Area component. The other operator brings in data from your Data Table component. 1. Drag and drop two **Input** operators onto your Data Workflow canvas. 2. Configure the first Input operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Input | | Component | review | | Required | Yes | | Source | Default | 3. Configure the second Input operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Input | | Component | dtMoods | | Required | Yes | | Source | Default | #### Configure the NLP Operator Next, you'll configure the NLP operator to dynamically compare values entered in the module's Text Area component to those stored in the Data Table component. 1. Drag and drop an **NLP** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | NLP | | Label | keyword | | Source Column | keyword | > [!NOTE] > The Source Column is case-sensitive. Ensure you enter the values as you configured it in your Data Table column header. 3. Connect the output port (right) of the `review` **Input** operator to the upper input port (left) of the `keyword` **NLP** operator. 4. Connect the output port (right) of the `dtMoods` **Input** operator to the lower input port (left) of the `keyword` **NLP** operator. #### Configure the Output Operator Lastly, configure an [Output](https://docs.unqork.io/docs/output-operator) operator to view the results of your NLP operator in the DevTools Console. 1. Drag and drop an **Output** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Output | | Component | outputNLP | | Action | value | 3. Connect the output port (right) of the `keyword` **NLP** operator to the input port (left) of the `outputNLP` **Output** operator. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/NLP_operator_07.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 4. Click **Save**. 5. **Save** your module. Here's how the completed example looks in the Module Builder: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(381).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Preview your module in Express View and open the DevTools Console. Enter one or more of your created keywords into the **Review** field and click **Submit Review & Analyze**. Run the Angular command and expand the data array in the DevTools Console to view your keywords with their respective moods. > [!TIP] > To open the Console in Google Chrome, you can use the Ctrl + Shift + J (Windows/Linux) or Option + Command + J (Mac OS) shortcut. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/NLP_operator_06.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) In Unqork an application is a program used to perform specific tasks. An application can be one of two types: workflow or module. End-users, also known as Express Users, are the individuals accessing an application through Express View. In most cases, end-users are the customers using the product. Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. The DevTools Console helps you securely store, build, test, and deploy your software. A Property ID is the unique field ID used by Unqork to track and link components in your module. Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. Triggers activate another component when certain requirements are met. Trigger types include Concurrent, Post, and Error. Some components do not have the ability to trigger others. The action performed by the button when selected. DOM (Document Object Model) events are signals or notifications that something has occurred or is occurring within a web page, often triggered by user interactions or by the browser itself. These events allow JavaScript to react to changes and interactions on a web page, making it dynamic and interactive. Canvas Label Text indicates the purpose of the corresponding field or component. For non-input components, the Canvas Label Text isn't end-user facing, and only appears in the . Express View is how your end-user views your application. Express View also lets you preview your applications to test your configuration and view the styling. This is also the view your end-users will see when interacting with your application. After configuring a module, click Preview in the Module Builder to interact with the module in Express View. The Angular command, or data command, is a tool that displays submission data in a browser's developer console. In Express View, enter the following command in the devtool console: angular.element('.unqorkio-form').scope().submission A Property ID is the unique field ID used by Unqork to track and link components in your module. ## Related - [Data Workflow Component](/data-workflow-component.md) - [Introduction to Data Workflow](/introduction-to-data-workflow.md)