meetara / docs /features /word-problems.md
rameshbasina's picture
Remove QUICK_START.md and reorganize documentation structure; add detailed deployment guide for Hugging Face Spaces and performance optimization documentation for agent mode.
7002c4d

Word Problem Handling Strategy

Overview

meeTARA Agent handles word problems differently based on their complexity and type:

Three Types of Word Problems

1. Simple Math Word Problems β†’ Calculator βœ…

Examples:

  • "What's 15% of 340?" β†’ Extracted as 0.15 * 340 β†’ Calculator calculates
  • "Find 25 * 48" β†’ Calculator handles directly
  • "Calculate tan(45)" β†’ Scientific function β†’ Calculator

Why Calculator:

  • Clear mathematical expression can be extracted via pattern matching
  • Calculator ensures 100% accuracy
  • Fast and efficient

2. Complex Word Problems β†’ Model Directly βœ…

Examples:

  • "If John has 5 apples and gives 2 away, how many does he have left?"
  • "A train travels 60 miles in 2 hours. What's its speed?"
  • "Sarah buys 3 books at $10 each and 2 pens at $5 each. How much did she spend?"
  • "If a rectangle has length 6 cm and width 4 cm, what's its area?" (geometry - has keywords)

Why Model Directly:

  • Requires understanding relationships between entities (John, apples, gives away)
  • Need to extract formula from context (speed = distance/time)
  • Need to combine multiple operations (3 books Γ— $10 + 2 pens Γ— $5)
  • Model can understand natural language relationships and extract math
  • Calculator would need perfect extraction, which is hard for complex relationships

Detection:

  • Uses word_problem_keywords from config: "if", "has", "gives", "travels", "buys", "costs", etc.
  • Strategy: model_direct (configurable in agent_config.json)
  • Skips calculator if complex word problem detected β†’ Sends directly to model

3. Word Problems About Current Events/Data β†’ Web Search + Model βœ…

Examples:

  • "What's the current unemployment rate in the US?"
  • "What's the current price of Bitcoin?"
  • "What's today's stock market performance?"

Why Web Search:

  • Requires up-to-date information beyond training data
  • Real-time data that changes frequently
  • Web search provides current data β†’ Model structures response

Configuration

All word problem handling is configurable in config/agent_config.json:

{
  "calculator": {
    "word_problem_keywords": [
      "if", "when", "has", "gives", "receives", "buys", "sells",
      "travels", "drives", "costs", "price", "total", "spends",
      "left", "remaining", "more than", "less than", "times"
    ],
    "word_problem_strategy": "model_direct",
    "word_problem_explanation": "Simple word problems handled by calculator. Complex word problems go to model. Current events go to web search."
  }
}

Decision Flow

User Query: Word Problem
    ↓
Check if contains word_problem_keywords (if, has, gives, etc.)
    ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Is it about current events/data?                β”‚
β”‚ β†’ Contains "current", "today", "latest", etc.   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    YES β†’ Web Search β†’ Model
    NO  ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Can math be extracted via patterns?             β”‚
β”‚ β†’ "15% of 340" β†’ 0.15 * 340 βœ“                  β”‚
β”‚ β†’ "tan(45)" β†’ tan(45) βœ“                        β”‚
β”‚ β†’ "25 * 48" β†’ 25 * 48 βœ“                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    YES β†’ Calculator β†’ Model
    NO  ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Is it a complex word problem?                   β”‚
β”‚ β†’ Contains relationship keywords                β”‚
β”‚ β†’ No clear math expression extractable          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    YES β†’ Model Directly (skip calculator)
    NO  β†’ Model Directly (fallback)

Examples

Example 1: Simple β†’ Calculator

Query: "What's 15% of 340?"

  • Detection: Percentage pattern matched
  • Extraction: 0.15 * 340
  • Calculator: 51
  • Model: Structures response with steps

Example 2: Complex β†’ Model Directly

Query: "If John has 5 apples and gives 2 away, how many does he have left?"

  • Detection: Contains word_problem_keywords ("if", "has", "gives", "left")
  • Complex word problem: Yes (requires understanding relationships)
  • Calculator: Skipped (no clear expression to extract)
  • Model: Understands relationship β†’ Extracts: 5 - 2 = 3 β†’ Responds

Example 3: Current Events β†’ Web Search

Query: "What's the current unemployment rate?"

  • Detection: Contains "current" β†’ Web search keyword
  • Web Search: Fetches current data
  • Model: Structures response with current data

Example 4: Geometry β†’ Full Query to Model

Query: "Find the surface area of a rectangular prism with dimensions: length = 6 cm, width = 4 cm, height = 5 cm"

  • Detection: Geometry keywords ("surface area", "rectangular prism")
  • Calculator: Receives full query (not just numbers)
  • Calculator: Detects geometry β†’ Returns context message
  • Model: Calculates using formula 2(lw + lh + wh) = 148 cmΒ²

Recommendations

  1. Simple Math β†’ Calculator (100% accurate, fast)
  2. Complex Word Problems β†’ Model (understands relationships, extracts math)
  3. Current Events β†’ Web Search (up-to-date data)
  4. Geometry β†’ Full query to calculator/model (needs formula context)

Why This Strategy Works

  • Calculator = Perfect for clear math expressions (ensures accuracy)
  • Model = Perfect for understanding relationships and extracting formulas
  • Web Search = Perfect for current/realtime data
  • Combination = Best of all worlds (tool precision + model understanding + current data)