Is Java or Python a better choice for an application involving data intensive algorithms employing natural language processing?
I work with python and java in big-data settings every day.

python is definitely my language of choice when researching, experimenting and fitting models.
python has a ton of very useful libraries such as spacy, nltk and sklearn that makes exploration very easy, especially in within a jupyter notebook.

When running the code in production, If performance is a consideration, we implement only the prediction phase in java.

java is more suited for production, has great support for packaging, tests, deployment.