1
$\begingroup$

Let's say I trained a classifier to assign a shop department to a product, e.g.: ALGIDA Cow milk->Diary. It did it on a domain of official product names.

When I applied pre-trained classifier to names of products in a shopping list, I found it doesn't perform that well as in the source domain because people tend to make spelling errors, abbreviate product names, do not include brand names, etc. in their shopping lists.

Simply speaking, the classifier does not generalize well to another domain.

I tried a few techniques where each alone improved classifier accuracy in a target domain:

  1. Pre-processed product names in a shopping list by correcting spelling errors and expanding abbreviations
  2. Pre-processed product names in a source domain before training by removing brand names.
  3. Stemmed product names before constructing TF/IDF vectors
  4. Embedded product names using pretrained USE (Universal Sentence Encoder) model.

Each of those techniques makes phrases in one domain more similar to phrases in another domain, or features build on top of those phrases more similar across domains.

Would you call any of those techniques domain adaptation?

$\endgroup$
1
$\begingroup$

Not sure if it is domain adaptation as it has been described in literature, because the performance of your classifier in the target domain depends more in the alignment between the two domains due to the mistaken spelling etc. instead of measuring the divergence between the distribution of the two domains. If the distribution of the data between source and target is different then after the alignment you should use any appropriate method in order to tackle this difference and use the available information from the source domain.

P.S. Have you used the "levinstein distance" in order to align the two domains? (Match together the most similar ones etc...)

$\endgroup$
2
  • $\begingroup$ Re: Levenstein distance. I will try. I thought also that embeddings can put mispelled and correctly spelled words together if trained on corpora will mispelled words as well. $\endgroup$
    – dzieciou
    Mar 20 at 13:58
  • 1
    $\begingroup$ Yes of course embeddings might be a solution as well. Please check the following link towardsdatascience.com/… $\endgroup$ Mar 21 at 12:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.