Home · Module 3 · NLP for Robots

From speech to robot action

Try typing a command — see how a simple intent classifier turns your words into something the robot can do. This is a tiny version of what runs inside Pepper.

Talk to the robot

Hi! I'm a simple intent-based NLP demo. Try: "What's your name?", "Wave at me", "Move forward", "How are you?"

NLP pipeline (last message)

Send a message to see how it's processed.

Recognized intents

greeting: hi, hello, hey
farewell: bye, goodbye, see you
identity: name, who are you
mood: how are you, feeling
move: forward, back, left, right, stop
gesture: wave, hug, dance, point
look: look, see, find
help: help, what can you do
thanks: thanks, thank you
fallback: anything else

How a robot understands you

This demo uses the simplest possible NLP: keyword matching with confidence scoring. Real systems like Pepper's NAOqi ALSpeechRecognition or Rasa use a pipeline that's conceptually similar but much richer:

1. Speech → Text

A neural acoustic model converts the microphone waveform into a transcript. Pepper uses Nuance / Vocon.

2. Tokenize & Normalize

Split into words, lowercase, remove punctuation, optionally stem ("waving" → "wave").

3. Intent Classification

A classifier (keywords, TF-IDF + SVM, or BERT) picks the most likely intent from a defined set.

4. Entity Extraction

Pull out parameters: "go forward 2 meters" → intent=move, direction=forward, distance=2m.

5. Action Mapping

Intent + entities → a specific NAOqi call. Move forward → ALMotion.moveTo(2, 0, 0).

6. Response Generation

Pick a reply ("On it!"), pass to TTS, speak. Optionally launch the behavior.

From keywords to LLMs — Modern Pepper deployments often combine classical intent recognition (fast, cheap, predictable) with an LLM fallback for open-ended questions. The trick is knowing when to escalate: a "wave at me" command shouldn't go to a 70B-parameter model.