EvaluatedApplications.Prose
1.0.0
dotnet add package EvaluatedApplications.Prose --version 1.0.0
NuGet\Install-Package EvaluatedApplications.Prose -Version 1.0.0
<PackageReference Include="EvaluatedApplications.Prose" Version="1.0.0" />
<PackageVersion Include="EvaluatedApplications.Prose" Version="1.0.0" />
<PackageReference Include="EvaluatedApplications.Prose" />
paket add EvaluatedApplications.Prose --version 1.0.0
#r "nuget: EvaluatedApplications.Prose, 1.0.0"
#:package EvaluatedApplications.Prose@1.0.0
#addin nuget:?package=EvaluatedApplications.Prose&version=1.0.0
#tool nuget:?package=EvaluatedApplications.Prose&version=1.0.0
Prose
A grammar-driven synthetic corpus generator for .NET. Prose reads plain text through the rules of grammar, keeps what it learns in a HoloDb database, and recombines it into new sentences that are grammatical, use words suited to their slots, and read plausibly. It exists to grow a training corpus: mine the knowledge already in your text, then generate more of it.
It works the way a person who has learned grammar does — find the subject, the verb, which adjectives modify which noun — rather than by pasting fragments together. No word is locked to one role: shoots is a noun after "bamboo" and a verb after "panda", decided by context. The canonical example is Eats, Shoots & Leaves: the comma changes the parse, and the meaning with it.
Pipeline
- Parse (rules, zero training). Sentence splitting, a closed-class + morphology + distributional POS tagger, phrase chunking, and role assignment (subject, coordinate finite verbs, objects, copular predicate).
- Mine → HoloDb. A lexicon, subject→verb / verb→object / adjective→noun
selectional tables, syntax templates and bigrams, written with
BulkLoad. - Generate. Sample a clause shape from the mined templates, fill each slot with a word that is the right category, suitable (respects the selectional tables) and plausible, realize it with correct agreement (a/an, subject–verb), and emit only sentences that pass a validity gate (which re-parses each candidate).
- Plausibility (optional). A small HoloFormer language model over content-word lemmas ranks candidates so meaning improves while grammar stays guaranteed.
- Q&A pairs. Because each generated sentence keeps its role structure
(subject / verb / object / predicate), Prose emits reading-comprehension pairs —
a context, a question, and the answer derivable from it — as a
prompt\ttargetTSV. This includes multi-sentence passages whose sentences reuse the same entities (definite references and pronouns), so questions refer back across the passage and answers require coreference — long-context training data.
Usage
var prose = new ProseEngine();
prose.Mine(@"C:\corpus\text"); // parse every *.txt and mine it
prose.Save(@"prose.wal"); // persist the tables to HoloDb (optional)
prose.TrainPlausibility(@"C:\corpus\text"); // optional mini-HoloFormer scorer
foreach (var sentence in prose.Generate(1000)) // new, grammatical, plausible sentences
Console.WriteLine(sentence);
prose.WriteCorpus(@"C:\corpus\synthetic", 100_000); // write them out as .txt for an LM
prose.WriteQaPairs(@"C:\corpus\qa", 50_000); // context+question -> answer, as prompt\ttarget TSV
Parse a single sentence directly:
var p = ProseEngine.ParseSentence("The panda eats, shoots, and leaves.");
Console.WriteLine(ProseEngine.Explain(p)); // subject, verbs, objects, template
License
Proprietary — this package ships the compiled library only; source is not
distributed. Every capability in it is free to use. See LICENSE. Copyright (c) 2026
Dongyang Stephen Chen, trading as Evaluated Applications. All rights reserved.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- EvaluatedApplications.AlgFormer (>= 1.2.0)
- EvaluatedApplications.HoloDb (>= 1.7.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 71 | 8/17/2026 |