Detecting multi-type self-admitted technical debt with generative adversarial network-based neural networks