Skip to content

yakivyusin/SimpleNetNlp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimpleNetNlp NuGet Made in Ukraine

SimpleNetNlp is a simple, C#-way wrapper for Stanford CoreNLP that based on Stanford.NLP.NET.

Quick Start

Just install the main SimpleNetNlp package and the model packages you need...

    Install-Package SimpleNetNlp
    Install-Package SimpleNetNlp.Models.PosTagger

...and use it.

using SimpleNetNlp;
...
var sentence = new Sentence("Your sentence should go here.");
var words = sentence.Words;
var lemmas = sentence.Lemmas();
var pos = sentence.PosTags();

Features

  1. Simple. SimpleNetNlp is based on Simple CoreNLP API that provides a simple API for users who do not need a lot of customization. If you want to start working with NLP as fast and easily as possible, and do not care about the details of the behaviors of the algorithms, this package is perfect for you.
  2. C#-way. SimpleNetNlp provides a 100% C# API without Java classes. Use the Force of LINQ and other C# magic, Luke!
  3. Clean Namespaces.. IKVM.NET and Stanford.NLP.NET are delivered as content, so available namespaces in your project aren't littered with Java namespaces.
  4. Model Packages. The large 'Stanford CoreNLP Models' Java package is split into small Nuget packages, one per feature. Just install individual models for your task.

Versioning

The first three digits of the version of any package match the version of Stanford CoreNLP in use. The last fourth digit is used for numbering the own package releases. With the transition to the new version of Stanford CoreNLP, this digit is reset to 0. E.g., v.3.8.0.7 is the 8th release with Stanford CoreNLP v.3.8.0 used.

Since only one digit is used for the library's own releases, its change can mean major changes as well. When updating the used library version, please always refer to the release notes.

The first three digits of the installed main SimpleNetNlp package and model packages must match (ie, use the same version of Stanford CoreNLP). The fourth digits may not match because each package can be released and updated separately, but for model packages among releases with the same three digits, it is recommended to use the versions with the highest fourth digits.

NLP Methods <-> Model Packages

Different NLP features require different model packages to be installed, in addition to the main SimpleNetNlp package.

All properties and methods of standard C# interfaces (like Equals() or ToString()) don't require additional model packages - you can start using them immediately without any worries.

When you call a method without installing the required model packages, the SimpleNetNlp.Exceptions.MissingModelException exception will be thrown. The model-dependent APIs are listed below. In addition, each method has a description of the required model packages in XML-doc.

Document class

Method Packages
Coref() Nuget
Nuget
Nuget
Nuget
Nuget
Nuget

Sentence class

Method Packages
Lemmas() Nuget
NerTags() Nuget
Nuget
PosTags() Nuget
OpenIe() Nuget
Nuget
Nuget
Governors() Nuget
Nuget
IncomingDependencyLabels() Nuget
Nuget
Sentiment() Nuget
Nuget
Mentions() Nuget
Nuget
Kbp() Nuget
Nuget
Nuget
Nuget
Nuget
Nuget
Coref() Nuget
Nuget
Nuget
Nuget
Nuget
Nuget
Operators() Nuget
Nuget
NaturalLogicPolarities() Nuget
Nuget

SentenceAlgorithms class

Method Packages
HeadOfSpan() Nuget
Nuget
KeyphraseSpans() Nuget
Keyphrases() Nuget
DependencyPathBetween() Nuget
Nuget