https://medium.com/@arch.mo2men/nlp-models-10-python-custom-functions-you-need-to-apply-before-you-build-your-model-8419dad08d85