Creating [complex] interactive SentenceBuilder machines that work :)

This post will give an overview of the new "complex" SentenceBuilder authoring page and talk you through some of the many considerations involved in designing and producing the perfect interactive SentenceBuilder.

SentenceBuilder Design

Before embarking on creating a resource -- and before you start working with the authoring tool -- it really is worth spending a bit of time thinking about the design and layout of your SentenceBuilder table. Maybe plan it out on a piece of paper. That's what I often do -- just a rough idea of the types of structures that I want an SB to focus on and how to fit these together.

It helps, of course, to have some idea of what the options and constraints are, otherwise you're just operating "blind" as it were. So definitely have a good read through this user guide. And you'll find that this design process is easier each time you do it. Practice makes perfect seem more achievable :)

Becoming familiar with all of the controls (image above) that are used for building the actual table is a must. I know how busy teachers are, but one thing that will really help you to become proficient in building your own interactive SBs is to practise recreating some of the SB Premium resources that are already on the site, if only in terms of structure and layout.

Interactive SentenceBuilders vs. paper-based Sentence Builders...

An interactive SentenceBuilder (on the SentenceBuilders website) should be seen as a "sentence-generating machine". It is VERY different from the sorts of Sentence Builders that you create on paper for students to refer to in class.

A paper SB is a reference tool, a sort of knowledge organizer that is designed to present students with a selection of vocabulary and structures required to cover a particular topic, and from which students can select the relevant vocab and structures to create a logical sentence or express themselves in the L2. Very often various types of content are put together in the same column or cell of the SB table, and part of the challenge -- indeed part of the appeal -- of a paper-based SB is that it requires students to use their knowledge of the language to work out for themselves what items can and can't go together to form an accurate coherent sentence.

With an interactive SB, the above approach simply will not work. It is your job to ensure that your SB can only generate correct sentences.

Otherwise you will be giving your students access to interactive activities that may be full of mistakes and inaccuracies.

And with all of the repetitions through the 100+ interactive activities, that really isn't something you want to be doing...


Creating a Sentence-Generating "Machine" ?

An interactive SentenceBuilder is an automatic sentence-generating machine. This machine consists of 3 core components:

  1. Structure - the shape of the table, the number of rows & columns, etc.
  2. Content - the words & chunks inside the SB.
  3. Rules - exclusions, transformations, etc.


SentenceBuilder STRUCTURE

(a) Layout

Design your SB for a screen, not for a piece of A4 paper. It should fit nicely in landscape view on a typical laptop or computer screen. Try to avoid many rows of 1 or 2 cells (i.e. looking like a vocab list) like this...

... and instead try to combine items in the same row, like this:

This 2nd version uses the exact same content as the 1st one, but it produces longer sentences, it looks better on a screen, and it fits better on a computer or laptop screen.

(b) Set the display defaults!

Use the column-view and translation-toggle controls...

...to achieve the layout that you want. These set the defaults for when students access your resource, and a couple of changes here can make a BIG difference to how the SB appears on the screen.

This point is related to the previous point above, in the sense that it affects the display and layout. In fact, changes to the column-view etc won't make any difference at all to the sentences that are generated (unlike the previous point above), but they'll make a BIG difference to how your SB looks.

So... rather than this:

... make it look like this:

Again, version 2 has exactly the same content, but it just looks MUCH better, and it fits much better on a computer or laptop screen.

(c) Division of content into cells

Where possible, group vocab content into concept-based cells (e.g. French masculine subjects in one cell, feminine in another, etc.), especially if you have items further to the right of the SB that will vary depending on these conceptual differences (e.g. you have masculine and feminine nouns, followed by masculine and feminine adjectives). 

This then allows you to define which cells on the left can go with which cells on the right via cell combinations and exclusions (of which more below) rather than on a word by word basis.

In the above image, the colored cells used in the central column for the schools subjects, whilst potentially informative for students, have zero impact on anything else in the SB, since we're using neutral adjectives in the final column. BUT the GREEN and RED cells on the left contain likes and dislikes, and these combine with the green and red cells on the right of the SB, which contain positive and negative reasons. (The colors are there as an indicator to students. The actual exclusion of non-viable cell combinations is done via SB Routes / Cell Combo exclusions, of which more later...)

(BTW, see that empty white cell in column 2? That's a "flow" cell. See section (e) below...)

(d) It's a table!

It can be tricky working with tables in any authoring environment. It's hard to get the layout of a table to look right, especially if you have different amounts of text in each cell. Try splitting and merging cells to make some bigger than others (and also play with the column-view and translation toggle controls, as explained in layout above).

(e) Flow...

Remember: your interactive SB flows from left to right. Starting in any cell on the left of the table, the flow moves into any cell directly to its right, crossing the vertical line separating the 2 cells. The flow cannot jump up or down a row by crossing horizontal lines.

If the flow moves into a tall cell spanning several rows, it can then move into any of the cells to its right. This means that a tall empty column is the perfect way to allow the flow to spread up or down to different rows in the table. 

The tall empty columns in the above image (in green) allow free movement from any of the cells on their left to any of the cells on their right.

Without the first of these empty columns, for example, Je m'appelle and Tu t'appelles would only flow into the blue cell containing the boys' names. Similarly, without the second of the empty columns, j'ai would only flow into un an.

(f) Avoid empty cells (unless required for "flow")

If you've structured your SentenceBuilder correctly, there shouldn't be any empty cells, unless they are there for the purpose of allowing the content to flow.

(g) Don't continue sentences on a new "row"...

By this, I mean that you should avoid the temptation to make your SB into something more like a writing mat, where you are choosing options from row 1 to start building a sentence, then continuing your "sentence" on the next row, etc. This won't work. Or rather, it'll produce half sentences only, since what is generated by your SB is whatever is encountered in one "route" from left to right.

(h) Learn about exclusions and how they work!

The flow and the table structure determine the various "routes" through your table from left to right. In many SentenceBuilders, not all routes are viable. BUT it's up to you to define which routes are "allowed" or not. If you allow your SB to generate incorrect sentences, this could have a negative impact on students' learning -- you might even inadvertently end up teaching them incorrect language combinations!

So... Familiarize yourself with the exclusions and transformation options (as explained in the SentenceBuilder Rules section below) so that you can make informed decisions about the sorts of content combinations that you can use, and how you can deal with combinations of cells or words that are non-viable.

The more you know about how this all works, the easier you will find it to design SB machines that work well and which only produce correct sentences.


SentenceBuilder CONTENT

There are a few things to take into account when it comes to typing in your content...

(i) L2=L1, one pair per line

Type or paste your content for each cell into the box provided. Each line should contain the L2 and its L1 translation separated by an equals sign, with no spaces before or after the L2 or the L1. So, if you were teaching French to English speakers, your content might look like this:

Je vais à la plage=I go to the beach
Je joue au foot=I play football
Je fais de la boxe=I do boxing

(ii) Start your sentences (but not every cell) with a capital letter!

And that means both the L2 and the L1. BUT Don't use a capital letter in the middle of a sentence unless the word always requires one. Don't do this, for example,...:

... unless you particularly want your students to be writing sentences that look like this:

Tous les jours Je vais Au centre sportif
Tous les samedis Elle va Au cinéma
etc...

When it comes to the content, it's important to remember that your machine will output whatever you put into it.

(iii) Don't put your L1 in brackets. (We'll do that for you!)

Don't use brackets for your L1, as by default we will take whatever is to the right of the = and put it in brackets anyway.

(iv) Think about punctuation!

The SentenceBuilder machine automatically combines content from each cell to form sentences, and it automatically adds a space between each cell. This means that, if you need punctuation (a comma, a full stop, whatever) between cell1 and cell2, you need to ensure that punctuation is added at the end of cell1, rather than at the beginning of cell2.

To be honest, it's best if you can avoid punctuation all together unless it's absolutely essential (e.g. 2 sentences separated by a full stop; commas required by grammar of the L2, etc.). But if you must add punctuation...

DON't do this:

Do this instead:

Why? Because the sentence generated by the 1st (incorrect) format would be "À huit heures du soir , je suis allé au cinéma", and students would have to type in the extra space before the comma for all text entry activities. (Which is just plain wrong...)

(v) Don't add ellipses (...) to your content!

The content from all cells is generally incomplete unless combined with the content from other cells, so it is totally superfluous to add an ellipsis ... to any of your cell content. DON'T do this:

Not only is the ... unnecessary, as we've outlined already, your students will be required to type out the 3 dots every time. Where's the sense in having students type out the following?

À sept heures ... du soir, je suis allé ... au cinéma

(vi) Make your items unique (as far as possible) 

If you have more than one item whose translation is the same in the L1 or the L2, it will not be clear to students which version is expected of them when they do the activities.

For example, if you have the following items in your SB...

... when presented with the English "I went", how does the student know which version is required?

Wherever possible, try to make sure that all items are unique. For the above items, for example, the simplest thing you can do is this:

With the (m) or the (f) in the prompt, students will know which version of the L2 they are required to find / type.

(vii) Differentiate between separate versions, e.g. masculine vs feminine

See point (vi) above...

Use (m), (f), (n), (mpl), (fpl) etc. to differentiate between different forms. Don't use square brackets. Don't use masc / fem / male / female, etc.

(viii) Don't combine m/f/mpl/fpl versions in one item (unless you can tranform it)

Don't combine versions of the L2 or L1 into one item separated by slashes, e.g. blanco/a/os/as, as this will require students to reproduce this when they do the activities. (There are a couple of exceptions to this, as explained in "Transformations" & "Tips & Tricks" in the SB rules section below.)

REMEMBER! It's your job to make sure that students are practising correct language and that they are not wasting their time typing out superfluous information.

(ix) Avoid certain symbols in content

Don't use the & symbol, as this can cause problems for the activities. Use the word "and" instead.

Don't use {curly brackets}, as these are used for defining phonetics / pronunciation.


SentenceBuilder RULES

The SB authoring tool provides various ways of creating rules that help determine the sentences that are output by your SentenceBuilder. I think pretty much every SB Premium resource that I've created has rules set under one or more of the options, and it would be really unusual for a resource not to have some of these rules defined. 

(Indeed the column-based SBs that were previously available to subscribers were so limited because there was no way of setting exclusions, transformations, etc.) 

(1) SB Routes / Cell Combos

The SB routes pop-up shows you all of the routes through your SB from left to right. You can use it to view the routes and determine which ones should or should not be allowed.

The Cell Combos section of the same pop-up provides some short cuts for determining viable routes, which is especially useful if your SB has many different "routes". Please see the full info within this pop-up for info on how to use it, both to exclude SB Routes and to exclude or require cell combinations.

N.B. Routes & Combos are preferable to word exclusions... Excluding via routes or cell combinations is FAR more efficient -- both for you, and in terms of the impact on page load times -- than trying to exclude many many word combinations. This is because routes are defined first, before sentences are generated by the SB table, whereas word-based exclusions are carried out by looping through the [potentially thousands of] sentences once they have been generated and removing those that are not "allowed".

(2) Excluded word combinations

This popup allows you to exclude at the word level. See the full instructions on the popup. Note that using word-based exclusions is far less efficient than excluding routes or cell combinations, and it can have a serious impact on page load times if you use too many.

(3) Transformations

Transformations are a powerful tool which can be used to make all sorts of changes to the raw data produced by your SentenceBuilder table, affecting both SB Sentences and Vocab Chunks.

With transformations you can do things like:

  • change word order
  • remove words
  • remove brackets
  • remove superfluous text
  • make contractions
  • change "dodgy" English to more correct forms

Transformations can be applied to both the L1 and the L2 data. See the transformations popup for full details. BUT please do use transformations sparingly, as they can have a negative impact on page load times.

You will see some examples of transformations in the "Tips & Tricks" section below,. But see the comprehensive Transformations User Guide  (NEW April 2023) -- for a full explanation of how transformations work. (Link opens in a new tab.)

(4) Excluded gap-fill words

To avoid presenting students with L1 gap-fill activities where the answer is really obvious to them based on context only (e.g. Yesterday I went ___ the beach), this tool allows you to add a list of words that can never be used as gap-fill answers. Useful, but easy to overlook :)

(5) Vocab chunks

I like to define my vocab chunks (i.e. the chunks used by the vocab chunks activities) myself. If you don't define them, each cell is used as the basis for defining vocab chunks. So, in the image below, for example, the following would be separate vocab chunks:
je vais | nous allons | aller | faire | jouer | voir | du cheval | au cinéma, etc

By defining them (as shown in the image above) you can create chunks that look like this:
je vais aller au cinéma | nous allons faire du cheval | je vais voir un concert, etc

(6) Tips & tricks

There are 2 ways that you can include "versions" of a word or chunk in the same item, in a way that allows those items to function correctly in "Build from table" and "Play audio in steps":

  1. a single letter different, separated by a slash, e.g. terco/a
  2. whole word or chunk different, separated by space-slash-space, e.g. hablador / habladora

In both cases, if you include items like these in your SB table, you'll need to make sure that you transform them correctly, to avoid the situation mentioned in (viii) above where students are required to write out the whole thing. 

Here is an example of how such transformations may work, if, for example, we are talking about brothers and sisters:

hermano|o/a>>o
hermana|o/a>>a
hermano|hablador / habladora>>hablador
hermana|hablador / habladora>>habladora

What the top one of these transformations is saying, for example is this:

If the sentence contains the text "hermano", change all occurrences of "o/a" to just "o"

Another thing you can do to make the whole experience better for students is to add TTS transformations. These work in a similar way to normal transformations, but the affect the TTS that is read out both for activities and when you are interacting with the SB table. So, for example, we could add the following TTS transformation...

terco/a>>terco, terca

... so that when students are simply clicking into the table to hear the vocab pronounced, they will hear both versions of the adjective.

(I have a feeling this blog post will only grow as more things occur to me / people ask me more...)

10 responses
Can you use an existing SB as a base on which to add/edit?
You can make your own copy of any publicly available community resource. This facility is not available for premium resources (i.e. the ones that we have put on the site based on content from the books from The Language Gym).
How do I create a folder for my recourses?
Hi Carys. Folders exist as a result of being listed as part of the "resource path" for a resource. You can click on the resource path textbox and either browse existing folders or add your own. You need to do this for each resource.
Thank you this was very helpfull
5 visitors upvoted this post.