RosaeNLG compared to other NLG software
CoreNLG
CoreNLG is a modern open-source Python NLG library published by Société Générale.
| Characteristic | CoreNLG | RosaeNLG | 
|---|---|---|
| main | ||
| developed in | Python | JavaScript & TypeScript | 
| language for data prep and glue | Python | TypeScript or JavaScript | 
| language for text generation | Python code | Pug templates | 
| output languages | English and French | full support with linguistic ressources for French, English, German, Italian and Spanish | 
| open-souce | yes (Apache 2.0) | yes (MIT) | 
| client side execution (browser) | no | yes | 
| standard / templating features | ||
| if / else, switch / case | yes (pure Python) | yes (Pug or JavaScript) | 
| textual functions | yes (Python functions) | yes (Pug mixins) | 
| template based | no (pure Python) | yes (based on Pug) | 
| NLG features | ||
| enumerations | yes | yes | 
| capitalization, punctuation, contractions | yes | yes | 
| dates, numbers | yes | yes | 
| anaphora | basic using synonyms | yes | 
| agreement on verbs, adjectives and words | no (has to be done manually) | yes (rules & linguistic ressources) | 
| synonyms with modes | yes (random + draw without replacement) | yes (random + draw without replacement + sequence) | 
| synonyms global optimization | no | yes (per section, generates multiple alternatives and chooses the best one) | 
| ability to spot empty elements | yes | yes | 
| safely record what was said | yes | yes | 
| packaging | ||
| as a library | ? (to be checked, cannot be found on PyPI) | yes (npm) | 
| command-line interface | no | yes | 
| Docker image | no | yes (distroless) | 
In summary CoreNLG is just perfect:
- 
if you use Python 
- 
if you do not need sophisticated linguistic features likes anaphora, verbs, words and ajectives agreements 
- 
if you are not afraid of maintaining texts templates as Python code 
RosaeNLG can be better:
- 
if you want more readable templates 
- 
if your NLG project requires linguistic resources 
- 
if you use Javascript or TypeScript 
- 
if you wish to make browser side rendering 
xSpin
Spin generators are a category of tools that are able to generate a huge quantity of different texts for a same dataset. In general, you define a template with plenty of different paths, and the spinner will randomly go through the template and generate different texts. Spin generators are generally considered as basic pre-NLG software and are quite popular among web redactors. They are generally easier to use than NLG engines.
xSpin is a modern SaaS Spin generator with a visual design tool, and more advanced features than what is generally excepted from a Spin generator.
This comparison has been made in collaboration with Sylvain Deauré, the author of xSpin.
| Characteristic | xSpin | RosaeNLG | 
|---|---|---|
| Licence | proprietary licence | open-source (MIT) | 
| Pricing | monthly cost €32 excl. tax. | free | 
| Hosting | SaaS only | you can run anywhere, on your laptop, your server or on the cloud, but no SaaS as of today | 
| Integration | API + WordPress plugin + RSS feeds as an input | |
| Template definition | nice visual interface, with good overview of structure | templating language based on Pug, no visual editor | 
| Share / reuse elements | yes with modules | yes with mixins | 
| Conditional blocks (if/then/else) | yes | yes | 
| Enumerations | yes (with shuffle ability too) | yes | 
| Linguistic features | no agreements on verbs, words and adjectives | linguistic resources for supported languages | 
| Punctuation management | no | |
| Contractions | yes (automatic capitalization and contractions) | |
| Synonyms with modes | yes (random + specific algo to maximize the distance between outputs) | yes (random + draw without replacement + sequence) | 
| Synonyms global optimization | yes with Qualispin (add on service) | yes (per section, generates multiple alternatives and chooses the best one) | 
| Ability to spot empty elements | yes to a certain extend | yes | 
| Safely record what was said | to a certain extend using variables | yes | 
In summary xSpin is just perfect:
- 
if you do not wish to code and need a visual interface to design your templates 
- 
if you do not need linguistic features likes anaphora, verbs, words and ajectives agreements 
RosaeNLG is be better:
- 
if you are ok to write some code 
- 
if you want to use standard developer tools like VSCode, Git versioning, CI, automated testing etc. 
- 
if your NLG project requires linguistic resources