rasa-nlu-integration
npx machina-cli add skill a5c-ai/babysitter/rasa-nlu-integration --openclawRasa NLU Integration Skill
Capabilities
- Configure Rasa NLU pipelines
- Design training data in Rasa format
- Set up intent classification components
- Configure entity extraction (DIETClassifier)
- Implement pipeline optimization
- Set up model evaluation and testing
Target Processes
- intent-classification-system
- chatbot-design-implementation
Implementation Details
Pipeline Components
- Tokenizers: WhitespaceTokenizer, SpacyTokenizer
- Featurizers: CountVectorsFeaturizer, SpacyFeaturizer
- Classifiers: DIETClassifier, FallbackClassifier
- Entity Extractors: DIETClassifier, SpacyEntityExtractor
Configuration Files
- config.yml: Pipeline configuration
- nlu.yml: Training data
- domain.yml: Intents and entities
Configuration Options
- Pipeline component selection
- Featurizer settings
- Classifier parameters
- Entity extraction rules
- Fallback thresholds
Best Practices
- Start with recommended pipelines
- Tune based on domain
- Balance complexity vs performance
- Regular model retraining
Dependencies
- rasa
Source
git clone https://github.com/a5c-ai/babysitter/blob/main/plugins/babysitter/skills/babysit/process/specializations/ai-agents-conversational/skills/rasa-nlu-integration/SKILL.mdView on GitHub Overview
Configures and trains a Rasa NLU pipeline to classify intents and extract entities. It covers tokenization, featurization, and classification using DIETClassifier, plus DIET-based and Spacy-based entity extraction. Training data lives in nlu.yml and domain information in domain.yml, with the pipeline defined in config.yml.
How This Skill Works
Define a pipeline with Tokenizers (WhitespaceTokenizer, SpacyTokenizer), Featurizers (CountVectorsFeaturizer, SpacyFeaturizer), Classifiers (DIETClassifier, FallbackClassifier), and Entity Extractors (DIETClassifier, SpacyEntityExtractor). Provide training data in nlu.yml and domain definitions in domain.yml, configure component options in config.yml, then train and evaluate the model using rasa train and evaluation tooling.
When to Use It
- Designing a chatbot with clear intents and entity extraction for a specific domain
- Optimizing an existing NLU model to improve accuracy and efficiency
- Creating training data in Rasa format (nlu.yml) and aligning with domain.yml
- Implementing robust fallback strategies to handle unknown intents
- Regularly retraining and evaluating models as domain data evolves
Quick Start
- Step 1: Create config.yml with the pipeline: WhitespaceTokenizer, SpacyTokenizer, CountVectorsFeaturizer, SpacyFeaturizer, DIETClassifier, FallbackClassifier, DIETClassifier (entity) and SpacyEntityExtractor
- Step 2: Prepare training data in nlu.yml and domain definitions in domain.yml to cover intents and entities
- Step 3: Run rasa train and then rasa test to evaluate and iterate
Best Practices
- Start with the recommended pipelines and iterate based on domain needs
- Tune pipeline components and featurizers to capture domain-specific language
- Balance model complexity with runtime performance and latency
- Keep training data in nlu.yml up to date with new intents and examples
- Regularly retrain and re-evaluate with a validation set to detect drift
Example Use Cases
- E-commerce customer support bot handling order-status and product questions
- Banking assistant managing balance inquiries and card-related issues
- Travel assistant for flight, hotel, and itinerary planning
- IT helpdesk bot for common technical issues and ticket tagging
- Healthcare appointment scheduler and symptom triage assistant