Pattern-based Knowledge Component Extraction from Student Code Using Representation Learning