{'fraction_non_alphanumeric': 0.018068102849200834, 'fraction_numerical': 0.0, 'mean_word_length': 5.101694915254237, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Survey : Domain Adaptation Algorithms for Natural Language Processing

Traditional supervised learning algorithms assume that the training data and the test data are drawn from the same distribution. Models that are purely trained from training data are applied directly to the test data. Unfortunately, in practice this assumption is often too strong. Consider a common situation in which a large amount of manually labeled data is available in one domain, but the task is to make predictions on examples from a new domain with little or no labeled data. Given that the instances in the two domains are drawn from different distributions, traditional supervised learning can not achieve high performance on the new domain. For example, in the part-of-speech tagging task, the word monitor is likely to be a verb in the finance domain, while in the corpus of computer hardware, it’s more likely to be a noun. Therefore domain adaptation algorithms are designed to bridge the distribution gap between the training data and the test data. In this literature survey, we study the motivations, challenges and recently developed algorithms of domain adaptation in the field of natural language processing (NLP). We first categorize recent work into three classes according to their methodologies, and then review and compare some preventative algorithms in each category. Finally we summarize popular NLP applications involve domain adaptation.