Automatic term assignment (Watson Knowledge Catalog)

Automatic term assignment is the process of automatically mapping business terms to data assets and asset columns. Terms can automatically be assigned to data assets and asset columns as part of metadata enrichment.

You can also assign business terms manually by editing the data asset properties in a project or a catalog, or when you work with enrichment results.

If automatic term assignment is configured as part of metadata enrichment, such assignments are generated by several methods. These methods also generate suggestions for terms to assign.

The terms are assigned based on the confidence level. Initially, these associations are represented as candidates which domain experts and stewards can review and assign manually. The confidence for an assigned or suggested term is shown as a percentage value. This value represents the overall confidence. See How the overall confidence is computed. The confidence level for when a term is suggested or automatically assigned is determined by the project's enrichment settings. The default confidence level to be exceeded is 75% for term suggestions, and 90% for automatic assignment of candidate terms. See Default enrichment settings. A project administrator can customize these settings.

Only published business terms can be assigned. Assigned terms do not affect data class assignment.

Term assignment methods

You can use all or a subset of the available term assignment methods.

Linguistic name matching

The linguistic name matching method bases its result on the similarity between the term name or abbreviations and the name of the data asset or column. For example, a column CREDNUM might be associated with a term Credit Card Number because of the similarity between the two names. Linguistic name matching matches only data asset and column names with term names and abbreviations. Descriptions are not considered. ML-based term assignment handles names and descriptions.

Based on data class assignment

The class-based assignment method generates assignments based on data classification. If a data class was selected for an asset column either as the result of column analysis or manually, and if this data class is linked to one or more business terms, these terms are suggested or assigned if they exceed the respective thresholds. The term confidence level is the same as the confidence of the data class that the term is linked with. For example, a column COL1 classified as an email address with 90% confidence is likely to be assigned to the term E-mail Address if the data class and term are linked. Because there is no linguistic similarity between the name of the column and the term, the linguistic name matching method is not capable of making this association.

To enable the class-based assignment method, it is important to review data class to term linkage before running term assignment because appropriate linkage is an important prerequisite for high-quality results.

Business terms that are linked to the predefined data classes Code, Identifier, Date, Text, Indicator, Quantity, and Boolean are not considered for term assignment.

Machine learning

In version 4.7.0, the machine learning (ML) method for generating term assignments can use the built-in supervised machine learning model or work with a custom service that you build and maintain.

Built-in models
Built-in models comprise a model for term assignments and one for term removals.
Custom service
The option to use a custom service is available only if Watson Machine Learning is deployed in your Cloud Pak for Data environment. Instructions and a sample notebook for building a custom model are provided in the https://github.com/IBM/wkc-term-assignment-samples GitHub repository.

Starting in version 4.7.1, working with a custom service that you build and maintain is a separate term assignment method that you can use in combination with any of the other term assignment methods or on its own.

The built-in ML model for term assignment is trained based on published terms and on term assignments present in the training data in a project or a catalog. See Training data for machine learning models. If no term assignments are available, the training for the term assignment model focuses on linguistic similarity of words in names and descriptions of terms and data assets or columns. Terms can be assigned based on that similarity. With an increasing number of reviewed assignments, terms can be assigned independent of linguistic similarity because term assignments on columns with similar characteristics become available.

Custom service

The option to use a custom service is available only if Watson Machine Learning is deployed in your Cloud Pak for Data environment. Instructions and a sample notebook for building a custom model are provided in the https://github.com/IBM/wkc-term-assignment-samples GitHub repository.

Starting in version 4.7.1, you can select a custom service for term assignment in addition to any of the other term assignment methods or as the only term assignment method.

The training scope must be defined in the custom model. The model owner is responsible for retraining the custom model.

Rejected terms

When you review term assignments in the metadata enrichment results, you might find terms that you think are not accurate for a data asset. You can remove such terms thus providing negative feedback. Such terms are considered as rejected. If the training scope is the project, the confidence scores of term assignments can be adjusted based on these rejected terms when you rerun automatic term assignment. The individual confidence values returned by each selected term assignment method are adjusted by this negative confidence value for calculating the overall confidence score of a term. See How the overall confidence score is calculated.

Training data for machine learning models

For each project, you can define in the default enrichment settings whether the built-in ML model used for automatic term assignment is trained with assets from the project or with assets from a catalog of your choice. Adjusting the confidence scores based on rejections is available only if the training scope is the project.

For custom models, the model owner is responsible for training the model.

Built-in models

When you select a catalog as the training scope, the term assignment model is trained with any published business terms and any term assignments available in the selected catalog. When you decide to train the models within the project, the built-in term assignment model is trained with any published business terms and any available term assignments that were marked as reviewed in the project. The model for adjusting the confidence score is trained on term rejections on columns that were marked as reviewed in the project.

The default setting is to train the model for term assignment from the default catalog, but you can select any catalog to which you have access. If the default catalog doesn't exist, the training scope defaults to the project.

When are the models trained?

Model training for the built-in ML models is triggered when a metadata enrichment job is started and one of these conditions is true:

  • No model is available yet.

  • A new business term was created or an existing term was updated since the model was last trained. The term does not have to be assigned to any assets or columns.

  • Training scope project: At least 21 columns were marked as reviewed since the model was last trained.

    Training scope catalog: Assignments on at least 21 columns in the selected catalog changed because terms were assigned or removed since the model was last trained.

  • The last training did not complete successfully or within a reasonable period of time.

If no information about term rejections is available on the first use of the model for confidence-score adjustments, the initial training for this model happens later, which means, it is initially trained when information about rejected terms is available on a subsequent model training cycle.

How the overall confidence is computed

A method that associates a term with a data asset computes a confidence, which is a numeric value between a configurable minimum and 1. The minimum value is defined by the suggestion threshold for term assignment that can be configured in the default enrichment settings.

The confidence for an assigned or suggested term is shown as a percentage value. This value represents the overall confidence. The overall confidence is the maximum of the confidence values returned by the selected term assignment methods and might be adjusted by any negative confidence value returned by the ML model for term removals.

You can choose whether the confidence values that are returned by the selected term assignment methods are adjusted based on previously rejected business terms.

Example:

Assuming all methods are enabled, the confidence values for a column ADDRESS and term Home Address:

Linguistic name matching: 0.5
Class-based assignment: 0.4
ML-based assignment: 0.3
ML model for rejections: -0.4

The actual confidence value for each method is calculated by subtracting the confidence value returned for rejected terms:

Linguistic name matching: 0.5 - 0.4 = 0.1
Class-based assignment: 0.4 - 0.4 = 0
ML-based assignment: 0.3 - 0.4 = -0.1

The overall confidence is 0.1 because it’s the highest value calculated for a method.

If the same confidence value for a term is calculated for several methods, only one is automatically assigned. The order in which such a term is selected is as follows:


  1. Term found by the data-class based assignment method
  2. Term found by the ML method
  3. Term found by the name-matching method


  1. Term found by the data-class based assignment method
  2. Term found by the custom service
  3. Term found by the built-in ML model
  4. Term found by the name-matching method

How new analysis results update existing term assignments

When you rerun an enrichment, a new analysis result updates term assignments as follows:

  • Existing suggested terms are deleted and replaced with the new suggested terms.
  • Existing unreviewed automatic assignments are deleted.
  • Existing rejected terms, reviewed automatic assignments, and manual assignments are left untouched.
  • New automatic assignments are added.

Learn more

Parent topic: Metadata enrichment results