InceptionXML: A Lightweight Framework with Synchronized Negative Sampling for Short Text Extreme Classification
This work addresses the challenge of efficient and accurate extreme classification for short-text queries in applications like search and recommendation, offering significant improvements in speed and model size.
The paper tackles the problem of automatically annotating short-text data to a large number of labels, known as Short Text Extreme Classification, by proposing InceptionXML, a lightweight convolutional architecture that recasts convolutions along the embedding dimension, and SyncXML, a pipeline that synchronizes label-shortlisting and classification to reduce inference time by half and model size by an order of magnitude compared to state-of-the-art methods.
Automatic annotation of short-text data to a large number of target labels, referred to as Short Text Extreme Classification, has found numerous applications including prediction of related searches and product recommendation. In this paper, we propose a convolutional architecture InceptionXML which is light-weight, yet powerful, and robust to the inherent lack of word-order in short-text queries encountered in search and recommendation. We demonstrate the efficacy of applying convolutions by recasting the operation along the embedding dimension instead of the word dimension as applied in conventional CNNs for text classification. Towards scaling our model to datasets with millions of labels, we also propose SyncXML pipeline which improves upon the shortcomings of the recently proposed dynamic hard-negative mining technique for label short-listing by synchronizing the label-shortlister and extreme classifier. SyncXML not only reduces the inference time to half but is also an order of magnitude smaller than state-of-the-art Astec in terms of model size. Through a comprehensive empirical comparison, we show that not only can InceptionXML outperform existing approaches on benchmark datasets but also the transformer baselines requiring only 2% FLOPs. The code for InceptionXML is available at https://github.com/xmc-aalto/inceptionxml.