Summary
Simple Natural Language Processing for iOS provides developers with a convenient framework for integrating Natural Language Processing (NLP) into their iOS Apps. When the developer provides a set of training phrases, Simple NLP will use Naïve Bayes Classification to predict the intent of an unfamiliar phrase and extract parameters such as a person’s name and dates.
While numerous cloud based solutions already exist to provide similar functionality, they may have associated cost and privacy concerns. With Simple NLP for iOS, your data won’t be sent to a server or cloud service for prediction. All NLP functionality is constrained to the device and processed natively.
We hope that you will find this Fling easy to use and beneficial to your project.

Requirements
- Xcode 9.0 or newer
- CocoaPods 1.2.1 or Newer
Instructions
- In your Podfile, add the line
pod 'NativeNLP', :path => '[path to .podspec]/NativeNLP'
- In your Resources group, create a training file for each Intent that you wish to train, label it with the ‘.train’ file extension. For example search.train, for search phrases
- Within your training file add some example phrases to train on. Use at least 10 phrases for better results.
- Naïve Bayes requires balancing between each Intent. Your defined intents are treated as positive, while default intents are treated as Negative. So, if you have 10 phrases for each positive intent, you will need at least 10 default or negative phrases. These should be phrases that could be extracted from a random source, i.e. Reuters, IMDB, or Twitter.
- Once training files has been populated, you’re ready to use NativeNLP pod.
- In your Podfile, add the line
let nlpEngine = NativeNLP()
- Train your NLP engine
nlpEngine.train(fromFileName: "default", forIntent: "default")
nlpEngine.train(fromFileName: "search_nlp", forIntent: "email.check")
- Parse user Natural Language phrases
runParser(inputText: "May the force be with you!")
runParser(inputText: "Show me emails from Luke")
runParser(inputText: "Show me emails from Rey from last Tuesday")
Contributors
Similar Flings
No similar flings found. Check these out instead...

vSphere Mobile Client
vSphere Mobile Client enables administrators to monitor and manage vSphere.

ESXi Arm Edition
We need to learn more about how our customer base or new customers are likely to use ESXi Arm edition for Edge use-cases.

App Volumes Packaging Utility
This App Volumes Packaging Utility helps to package applications. With this fling, packagers can add the necessary metadata to MSIX app attach VHDs so they can be used alongside existing AV format packages.

VMware Machine Learning Platform
This Fling provides a platform for Data Scientists to quickly setup a virtualized cloud infrastructure to conduct data science experiments.

App Volumes Migration Utility
This tool proposed in this fling addresses this migration so that customers don't have to provision applications again after upgrading to 4.0 and also get improved performance.

Diagnostic Tools for Workspace One Tunnel Client
Diagnostic tools for Workspace ONE Tunnel client offers tools and script to identify and troubleshoot any client related issues on specific platforms. The first version included support for Windows desktop tunnel client and future version will include support for other platforms.