I have an problem where the dataset consists of:
- 400k observations
- 40k classes (mutually exclusive)
60% of the observations belong to the top 4k classes.
The problem is about predicting what is the supplier of a bank transaction (from which supplier/shop a purchase was made) based on the description of the transaction sent by the bank.
As you can understand there are hundreds of thousands if not millions of suppliers in a country hence the so big number of (mutually exclusive) classes.
The dataset has only 4 datapoints:
- Transaction id (eg 83883)
- Buyer id (eg 33)
- Bank description (eg "Payment EU Vodafone 04/11/21", " VDFN payment")
- Supplier id/name (eg VODAFONE)
Each description consists of only few "technical" words; for example: "Payment EU Vodafone 04/11/21".
About 60%-70& of the descriptions contain the supplier name within them; however in some cases it could be a different form (eg VDFN instead of Vodafone).
How would you solve this problem?
Is ML, DL, general DS (eg similarity metrics) or a rule based way the best way to go for it?