Please provide your feedback in this short Flings' survey.
fling logo of Simple Natural Language Processing for iOS

Simple Natural Language Processing for iOS

version 1.0.0 — December 12, 2017

Contributors 1

View All

Comments 0

View All


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.


  • Xcode 9.0 or newer
  • CocoaPods 1.2.1 or Newer


  • 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")



Similar Flings

No similar flings found. Check these out instead...
Apr 16, 2021
fling logo of vSphere Mobile Client

vSphere Mobile Client

version 2.2.0

vSphere Mobile Client enables administrators to monitor and manage vSphere.

Mar 31, 2022
fling logo of ESXi Arm Edition

ESXi Arm Edition

version 1.9

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

May 21, 2021
fling logo of App Volumes Packaging Utility

App Volumes Packaging Utility

version 1.3

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.

Feb 04, 2021
fling logo of VMware Machine Learning Platform

VMware Machine Learning Platform

version 0.4.1

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

Feb 02, 2022
fling logo of App Volumes Migration Utility

App Volumes Migration Utility

version 1.0.12

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.

Sep 28, 2020
fling logo of Diagnostic Tools for Workspace One Tunnel Client

Diagnostic Tools for Workspace One Tunnel Client

version 1.0

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.

View More