Stanford Named Entity Recognizer (NER) for .NET
Stanford NER is an implementation of a Named Entity Recognizer. Named Entity Recognition (NER) labels sequences of words in a text which are the names of things, such as person and company names, or gene and protein names. It comes with well-engineered feature extractors for Named Entity Recognition, and many options for defining feature extractors. Included with the download are good named entity recognizers for English, particularly for the 3 classes (
LOCATION), and Stanford NLP Group also makes available on the original page various other models for different languages and circumstances, including models trained on just the CoNLL 2003 English training data. The distributional similarity features in some models improve performance but the models require considerably more memory.
Stanford NER is also known as CRFClassifier. The software provides a general implementation of (arbitrary order) linear chain Conditional Random Field (CRF) sequence models. That is, by training your own models, you can actually use this code to build sequence models for any task.
You can look at a PowerPoint Introduction to NER and the Stanford NER package ppt pdf or the FAQ, which has some information on training models. Further documentation is provided in the included README and in the javadocs.
Stanford NER is available for download, licensed under the GNU General Public License (v2 or later). Source is included. The package includes components for command-line invocation, running as a server, and a Java API. Stanford NER code is dual licensed (in a similar manner to MySQL, etc.). Open source licensing is under the full GPL, which allows many free uses. For distributors of proprietary software, commercial licensing is available. If you don't need a commercial license, but would like to support maintenance of these tools, Stanford NLP Group welcomes gifts.
F# Sample of Named Entity Recognition
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37:
C# Sample of Named Entity Recognition
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
Read more about Stanford Stanford Named Entity Recognizer on the official page.
- Stanford Named Entity Recognizer (NER) is available on NuGet.
- NLP: Stanford Named Entity Recognizer with F# (.NET).
Full name: StanfordNER.classifiersDirecrory
Full name: StanfordNER.classifier
type CRFClassifier =
new : flags:SeqClassifierFlags -> CRFClassifier + 2 overloads
member classify : document:List -> List
member classifyGibbs : document:List -> List + 1 overload
member classifyMaxEnt : document:List -> List
member classifyWithGlobalInformation : tokenSeq:List * doc:CoreMap * sent:CoreMap -> List
member combine : crf:CRFClassifier * weight:float -> unit
member documentToDataAndLabels : document:List -> Triple
member documentsToDataAndLabels : documents:Collection -> Triple
member documentsToDataAndLabelsList : documents:Collection -> List
member dropFeaturesBelowThreshold : threshold:float -> unit
Full name: edu.stanford.nlp.ie.crf.CRFClassifier
CRFClassifier(flags: edu.stanford.nlp.sequences.SeqClassifierFlags) : unit
CRFClassifier(props: java.util.Properties) : unit
CRFClassifier(crf: CRFClassifier) : unit
Full name: StanfordNER.s1
Full name: Microsoft.FSharp.Core.ExtraTopLevelOperators.printfn
edu.stanford.nlp.ie.AbstractSequenceClassifier.classifyToString(sentences: string, outputFormat: string, preserveSpacing: bool) : string
Full name: StanfordNER.s2