Rudimentary ngram search in ObjectiveC.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Classes
Demo.xcodeproj
Demo
Screenshots
Tests.xcodeproj
Tests
.gitignore
.travis.yml
CHANGELOG.md
CONTRIBUTING.md
Gemfile
LICENSE
Podfile
Podfile.lock
README.md
objc-ngram.podspec

README.md

objc-ngram

Build Status Version Platform

Demo

To run the example project, run pod try objc-ngram.

The demo loads sentences.txt and lets you search for free-formed text in it.

demo

Installation

objc-ngram is available through CocoaPods, to install it add the following line to your Podfile:

pod "objc-ngram"

Usage

Import OCNDictionary.

#import <objc-ngram/OCNDictionary.h>

Create an OCNDictionary and add objects to it with a given key. The key must be a string and is split into 3-grams.

OCNDictionary *dict = [OCNDictionary dictionary];
[dict addObject:@"red brown fox" forKey:@"red brown fox"];
[dict addObject:@"white big bear" forKey:@"white big bear"];
[dict addObject:@"hiding rabbit" forKey:@"hiding"];

NSArray *results = [dict matchObjectsForKey:@"white fox"];
for (OCNObjectScore *result in results) {
  NSLog(@"'%@' has a score of %f", result.object, result.score);
}

This will output the following.

'white big bear' has a score of 1.416667
'red brown fox' has a score of 0.181818

You can create a OCNDictionary with a different n-gram size.

OCNDictionary *dict = [OCNDictionary dictionaryWithNgramWidth:4];

Contributing

See CONTRIBUTING.

License

The objc-ngram library is available under the MIT license. See the LICENSE file for more info.