Learning Task Requirements and Agent Capabilities for Multi-agent Task Allocation