Weak supervision from high-level abstractions