Utilities

The FeatureBuilder relies on a number of utilities to help preprocess conversations and generate features.

“Driver” Classes: Utterance-, Conversation-, and Speaker-Level Features

The most important of these utilities are three classes — the ChatLevelFeaturesCalculator, ConversationLevelFeaturesCalculator, and UserLevelFeaturesCalculator. These classes “drive” the process of computing features for each utterance, or “chat”; each conversation; and each speaker, or “user”. When you declare and run a FeatureBuilder, it automatically calls each of these classes to compute features for utterances, conversations, and speakers, respectively. Therefore, users indirectly interact with each of these classes by making the appropriate specifications in the FeatureBuilder. Users do not directly interact with these classes.

Additional documentation for the three core classes can be found on their respective pages.

Other Utilities

The FeatureBuilder and its driver classes also rely on a number of other utilities, which help to load lexicons and word embeddings, apply preprocessing rules, and summarize features. These utilities are documented below, but should largely function without direct user interaction.