Automatic item generation: foundations and machine learning-based approaches for assessments