Minimal F# NLP library for functional text processing.
src/
├─ Core/
│ ├─ Tokenizer.fs
│ ├─ Stemmer.fs
│ └─ StopWords.fs
├─ Models/
│ ├─ TfIdf.fs
│ └─ NaiveBayes.fs
├─ Similarity/
│ ├─ Jaccard.fs
│ └─ Cosine.fs
└─ Data/
├─ Loaders.fs
└─ Preprocessing.fs
dotnet add package FNaturaldotnet test tests/FNatural.TestsText preprocessing pipeline:
"Sample text"
|> Preprocessing.cleanText
|> Tokenizer.tokenizeWords
|> StopWords.removeStopWords StopWords.Language.EnglishSentiment classification:
let model = NaiveBayes.fit trainingData 1.0
"Positive experience" |> preprocess |> NaiveBayes.predict modelDocument similarity:
let vec1 = TfIdf.vectorize tfidfModel doc1
let vec2 = TfIdf.vectorize tfidfModel doc2
Cosine.similarity vec1 vec2