# Keyword Based Classifier

> `UiPath.IntelligentOCR.Activities.DocumentClassification.KeywordBasedClassifier`

`UiPath.IntelligentOCR.Activities.DocumentClassification.KeywordBasedClassifier`

## Description

The capabilities of this activity are as follows:

* Incorporates a keyword-based document classification algorithm, targeting classification for files that have repeatable titles.
* Classifies a document based on a given training set, found in a specified file, if used inside the [Classify Document Scope](https://docs.uipath.com/activities/other/latest/document-understanding/classify-document-scope) activity.

This activity can only be used together with the [Classify Document Scope](https://docs.uipath.com/activities/other/latest/document-understanding/classify-document-scope) and [Train Classifiers Scope](https://docs.uipath.com/activities/other/latest/document-understanding/train-classifiers-scope) activities.

## Project compatibility

**Windows-Legacy | Windows**

## Configuration

#### Designer panel

* **LearningFilePath** - The full path to the file containing the classifier data. This field supports only strings and `String` variables.
  :::note
  Only one of the above parameters can be set at a time. You can use either the **LearningData** string or the **LearningFilePath** string.

  The **LearningFilePath** specifies the locations from where to retrieve the classifier data.

  The **LearningData** contains the actual information of that classifier.
  :::

#### Properties panel

**Common**
* **DisplayName** - The display name of the activity.

**Input**
* **LearningData** - The string containing the serialized classifier data. This field supports only strings and `String` variables.
* **LearningFilePath** - The full path to the file containing the classifier data. This field supports only strings and `String` variables.
  :::note
  Only one of the above parameters can be set at a time. You can use either the **LearningData** string or the **LearningFilePath** string.

  The **LearningFilePath** specifies the locations from where to retrieve the classifier data.

  The **LearningData** contains the actual information of that classifier.
  :::

* **Private** - If selected, the values of variables and arguments are no longer logged at Verbose level.
  :::note
  The best practice is to create an empty `.json` file at that location, then use its name in the **LearningFilePath** field.
  :::

## Using the Manage Learning Wizard

You can configure the **Keyword Based Classifier** at design-time, by simply accessing the **Manage Learning** wizard of the activity. The same wizard can be used for reviewing data collected during the document classification training phase, by opening the same wizard with an updated learning file path.

This wizard allows you to configure and manage the keywords used by this activity for identifying the document type. It was created to suit the need for editing a file path. If a **Learning Data** parameter with a variable is used instead, then you are asked if you either want to edit a specific file path or to abort this operation.

:::note
**Manage Keyword Based Classifier Learning** wizard can be used only for editing and configuring a file path.
:::

1. Add a **Keyword Based Classifier** or [Keyword Based Classifier Trainer](https://docs.uipath.com/activities/other/latest/document-understanding/keyword-based-classifier-trainer) activity to your workflow.
2. Configure your **Keyword Based Classifier** activity by adding the path of a `.json` file. Take the following information into consideration, when configuring the classifier:
   * If no path is provided and the **Manage Learning** option is selected, then a pop-up is displayed, asking for a **Learning File Path** input. Once the path is provided, the wizard opens.
   * A variable can be added instead of a `.json` file, but, because the wizard cannot apply the learning pattern to a **LearningData** variable, it asks for a specific file path that can be edited.
3. Select **Manage Learning**.

   The **Manage Keyword Based Classifier Learning** wizard window opens.

   Figure 1. The Manage Keyword Based Classifier Learning wizard overview

   ![The Manage Keyword Based Classifier Learning wizard overview](https://dev-assets.cms.uipath.com/assets/images/activities/document-understanding-the-manage-keyword-based-classifier-learning-wizard-overview-179624-3cbe498a-044de8dd.webp)
4. If no path is provided and the **Manage Learning** option is selected, then a pop-up is displayed, asking for a **Learning File Path**. Once the path is provided, the wizard opens.

   Figure 2. The Warning pop-up displayed if no path is provided and the Manage Learning option is selected

   ![The Warning pop-up displayed if no path is provided and the Manage Learning option is selected](https://dev-assets.cms.uipath.com/assets/images/activities/document-understanding-the-warning-pop-up-displayed-if-no-path-is-provided-and-the-manage-learning--543aef7d-e5e1e118.webp)

   :::note
   Even if no `.json` file is available, you can add the name of a new `.json` file straight into the activity and the `.json` file is automatically created inside the specified folder.
   :::

## Adding keywords for document type

The wizard has as many document type categories as you defined in your taxonomy. You can add single or multiple keywords for each document type. The activity learns the keywords of a specific document and later it's able to identify and classify the document in a specific type based on these rules.

All entries should be entered as strings, between `""` (quotes), and you can add single or multiple values. To add, or remove keywords, perform the following steps in the wizard:

1. Select **Add new keyword set** to add an extra field to that category.
2. Select the ![remove](https://dev-assets.cms.uipath.com/assets/images/activities/document-understanding-remove-KW-3-5f7938d1-51d94e50.png) remove icon, to remove the field and its keywords.
3. Select **Save** to save your wizard configuration. You can find all the added values in the `.json` file of the project.
   :::note
   Double quotes entered as part of a keyword in the **Manage Keywords** wizard are always escaped according to the Visual Basic convention (double double quotes), even in a C# flavored project.
   :::

## Document Understanding integration

The **Keyword Based Classifier** activity is part of the Document Understanding Solutions. Visit the [Document Understanding Guide](https://docs.uipath.com/document-understanding/docs/document-classification) for more information.
