Label texts containing¶
NLP • text
Categorize texts containing specific keywords with custom labels.
Assigns each text to one or more categories. Each category is defined by a list of keywords a text must include or exclude to be labelled accordingly. In addition, each category may specify whether a keyword must be matched explicitly, ignoring its case (lower, upper) etc. See parameters below for further details.
Usage¶
The following are the step's expected inputs and outputs and their specific types.
label_texts_containing(text_col: text|category, {
"param": value
}) -> (labels: list[category])
where the object {"param": value}
is optional in most cases and if present may contain any of the parameters described in the
corresponding section below.
Example¶
The following defines the keywords to be included or exluded for each of three categories, labelled "journalist", "business" and "CEO". Note how in the case of "CEO" we're looking for occurrences of the spelling with capitals only.
label_texts_containing(ds.text, {
"journalists": {
"include": ["journalist", "journalism", "news"],
"exclude": ["blogger"],
"case_sensitive": false
},
"business": {
"include":["startup", "entrepreneur", "founder"]
},
"CEOs": {
"include": ["CEO"],
"case_sensitive": true
}
}) -> (ds.field_of_occupation)
Inputs¶
text_col: column:text|category
A text column to label.
Outputs¶
labels: column:list[category]
A column containing the labels assigned to each text.
Parameters¶
Categories: object
One or more named text categories. Each parameter should be a key indicating the name/label to show for a specific text category, and should have an object as value specifying the terms a text must or must not contain for that particular label to apply. Also see examples above.
Items in Categories
include: array[string]
List of strings a text must include to apply a label.
exclude: array[string]
List of strings a text must not include to apply a label.
accent_sensitive: boolean = False
Whether to make search accent-sensitive.
case_sensitive: boolean = False
Whether to make search case-sensitive.
whole_words: boolean = True
Whether to match whole words only. If enabled, only matches a word if it is surrounded by non-alphanumeric characters.