intent -> semantic