Extracted semantic tokens from raw input.
List<String> get tokens => rawInput.toLowerCase().split(RegExp(r'[\s,;.!?]+')) ..removeWhere((t) => t.isEmpty);