natural language patterns