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.
The documentation can be accessed here. You can switch language in the upper right corner of the page.
- The current build process relies on the availability of some unix tools such as
catand output redirection (
- Windows users (and others) will therefore want to use the pre-built files in the
READMEin this directory.
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
style.css: style sheet
user-infos.js: definitions of variables containing the examples
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
- Tests of specific features
- French and English sentences modified with time, number and conjugation: Date generation Execute
- Type a French or English sentence that will be realized with all possible sentence modifyers Sentence variants Execute
- French or English conjugation and declension of a word Conjugation and declension Execute
- Show elision in contrived French and English sentences even across HTML tags that are displayed on purpose elision sentences to elide Execute
- a command-line interface written
node.jsprogram that, given a word, finds a jsRealB expression to realize it (this capability is now included in the IDE) lemmatize.js
- a command-line interface written
- User interface to create a simple sentence with options. The system shows the jsRealB expression and its realization. It is also possible to ask for a random sentence using words of the lexicon.
- 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 of list of steps for the building of a house, given information about tasks, the duration and the precedence relations between them.
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.
jsRealB was updated, developed and brought to its current version by Guy Lapalme building on the work of:
- Francis Gauthier as part of his summer internship at RALI in 2016;
- Paul Molins as part of an internship from INSA Lyon spent at RALI, University of Montreal in 2015;
- Nicolas Daoust developed the original concept in the JSreal realizer for French only in 2013.
For more information, contact Guy Lapalme.