A JavaScript bilingual text realizer for web development
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


jsRealB - A JavaScript Bilingual Text Realizer for Web Development

Natural language generation is a field of artificial intelligence that focuses on the development of systems that produce text for different applications, for example the textual description of massive datasets or the automation of routine text creation.

The web is constantly growing and its content, getting progressively more dynamic, is well-suited to automation by a realizer. However existing realizers are not designed with the web in mind and their operation requires much knowledge, complicating their use.

jsRealB is a text realizer designed specifically for the web, easy to learn and to use. This realizer allows its user to build a variety of French and English expressions and sentences, to add HTML tags to them and to easily integrate them into web pages.

jsRealB can also be used in Javascript application by means of a node.js module.

The documentation can be accessed here. You can switch language in the upper right corner of the page.


  • Although jsRealB can be used in a web page using only one of the generated javascript files in the dist directory, node.js is necessary for the Javascript applications and for minifying the javascript using uglifyjs.
  • The current build process relies on the availability of some unix tools such as makefile, cat and output redirection (>).
  • Windows users (and others) will therefore want to use the pre-built files in the dist directory.


  • build: build system to create the JavaScript library. More details in the README in this directory.
  • dist: pre-built JavaScript files ready for production use.
  • documentation: in both English and French. The examples are generated on the fly by embedding jsRealB in the page. Consult the documentation
    • user.html: HTML of the core of the page (div[id] correspond to variables in user-infos.js)
    • style.css: style sheet
    • user-infos.js: definitions of variables containing the examples
    • user.js : JavaScript helper script.
  • IDE : An Integrated Development Environment that embeds jsRealB to easily get the realization of an expression and to consult the lexicon, the conjugation and declination tables. Try the IDE.
  • jsRealB Tutorial. Read the tutorial


Simple examples on a single sentence

Text realization

  • Create an Exercise in Style which creates the structure of the original story of Raymond Queneau in both French and English. Using menus, some elements of the text can be modified and the modifications are highlighted in the web page. Exercises in style Execute

Data to Text applications

  • Description (in French) of a list of events and associated informations given as a json file Événements Execute

  • Description of list of steps for the building of a house, given information about tasks, the duration and the precedence relations between them.

    Screen copy of the application

    The system first computes the critical path to find the start and end times of each task. It then creates a graphic for displaying the PERT diagram and an accompanying text to explain the steps to follow. It is possible to interactively change the start date and to explore the graphic with the mouse which also uses jsRealB to generate the text of the tooltips.

  • Itinerary description in an optimistic Montréal Métro network. The system shows an interactive map of the Montréal Métro station with a new line. When a user clicks two stations, the systems realizes a text describing the itinerary to go from the first station to the second.

    Screen copy of the application

    The langage of the web page and of the realization can be changed interactively by clicking in the top right of the page. Metro Execute


jsRealB was updated, developed and brought to its current version by Guy Lapalme building on the work of:

  1. Francis Gauthier as part of his summer internship at RALI in 2016;
  2. Paul Molins as part of an internship from INSA Lyon spent at RALI, University of Montreal in 2015;
  3. Nicolas Daoust developed the original concept in the JSreal realizer for French only in 2013.

For more information, contact Guy Lapalme.