Usually, NLP specialists deal with big amounts of raw text organized in linguistics corpuses. The algorithms in this domain are resource-consuming and often contain many hand-crafted heuristics. All this doesn't look like a good match for mobile applications, where each megabyte or frame per second is important. Despite these obstacles, NLP is widely used on mobile platforms, usually in tight integration with the server-side backend for heavy computations. Here is a list of some common NLP features that can be found in many mobile applications:
- Chatbots
- Spam filtering
- Automated translation
- Sentiment analysis
- Speech-to-text and text-to-speech
- Automatic spelling and grammar correction
- Automatic completion
- Keyboard suggestions
Until recently, all but the last two tasks were done on the server side, but as mobile computational power grows...