  Code-Switching, a common phenomenon in written text and conversation, has
been studied over decades by the natural language processing (NLP) research
community. Initially, code-switching is intensively explored by leveraging
linguistic theories and, currently, more machine-learning oriented approaches
to develop models. We introduce a comprehensive systematic survey on
code-switching research in natural language processing to understand the
progress of the past decades and conceptualize the challenges and tasks on the
code-switching topic. Finally, we summarize the trends and findings and
conclude with a discussion for future direction and open questions for further
investigation.
