One of the most powerful features of ClauseBase is its grammatical knowledge, which allows you to automatically conjugate articles, verbs, adjectives and nouns to accommodate changes in conceptlabels.

This page explains how to use these conjugations within the ClauseBase grammar.


The basic idea is that you wrap both the #concept and the word that potentially needs adjustment in <angular brackets>. When the concept-label of the concept changes, the adjustments will then be automatically made (if no ambiguity exists).

For example:

  • <#Buyer> <negotiates> a deal will be printed as “The Buyer negotiates a deal” in singular, and as “The Buyers negotiate a deal” in plural
  • <#Buyer> <sells> <his> assets will be printed as “The Buyer sells her assets” in singular female, and “The Buyers sell their assets” in plural.

There is no need to wrap a verb/article/adjective/… in angular brackets when you can determine in advance that it will never change, either because of grammatical reasons of because of contractual/legal reasons. For example:

  • In English, a verb in the infinitive or the present continuous tense will not change when the subject (noun) it is associated with, would change. For example, “He is singing” and “They are singing” both use exactly the same present continuous “singing”. Similarly, an auxiliary such as “will” — unlike has/have — does not need to change when its subject changes from singular to plural, so does not need to ever be wrapped in angular brackets.
  • In many contracts, it will not make sense to anticipate that a certain concept will ever be put in singular or plural (or male or female). For example, if a company always delivers at least 100 kilogram of apples, there is no need to anticipate the singular version of “apple” in the delivery-clause.

It is probably useful to understand what ClauseBase is doing behind the scenes.

When the time has arrived to print the final version of a conjugation, ClauseBase will first check the currently chosen concept-label for the associated concept and note its number and (for languages that depend on this) its gender — e.g., singular noun, male.

ClauseBase will then check which grammatical function and conjugation you had written down between angular brackets — e.g., verb, present tense. It will then lookup all the conjugations for that word (lemma) in its dictionary, and choose that conjugation that corresponds to the concept-label’s setttings, in casu the singular, male version of the present tense.


For language such as German and Lithuanian that support cases — nominative, genitive, dative, accusative, instrumental, locative — you can add the case after the concept.

For example <#Buyer: g> or <#Buyer: genitive> would indicate that the concept’s noun (and all associated verbs, adjectives and pronouns) should be conjugated in the genitive case.

For example, < ... : #valdzia> ss

It is not necessary to fully spell out the name of the case: even the first letter is enough, because the cases happen to have different starting letters.

Tip: it can sometimes happen that you want to have different cases of the same concept in the same clause. You can do so by simply using a different hashtag for that concept.

For example, in Lithuanian, <#Valdzia: n> and <#Valdzio: d> can be used in the same clause, for the nominative and dative, respectively. Verbs/adjectives that need to conjugated in the nominative should then refer to that concept after the colon < ... : #valdzia>, while verbs/adjectives that need to be conjugated in the dative should refer to that concept. < ... : #valdzio>.

Associating words

Real-life clauses are usually more complex than the two simple examples above.

A first obstacle is that multiple concepts may be present in the same clause, which cause ambiguity: does the verb causes have to conjugate with buyer or seller in the example If <#buyer> <causes> <#seller> to ... ?

ClauseBase offers two different solutions to group words together:

  • you can use multiple angular brackets to associate a concept with other words — e.g. If <<#buyer>> <<causes>> <#seller> to ....

    You can theoretically use any number of angular brackets, but in practice you probably want to limit this to three levels at most.
  • you can explicitly type in the concept after each associated word — e.g. If <#buyer> <causes: buyer> <#seller> to ...

It is possible but not necessary to type in the hashtag. So both <causes: #buyer> and <causes: buyer> are OK in the second example above.

Conjugating word types besides verbs

Conjugating a verb is the most typical scenario. However, depending on the language, conjugating other types of words can also be useful:

  • Articles — while ClauseBase allows you to configure, at the level of the concept-label, which article to use (a / the / this / no article), there are situations when the article and the concept are separated from each other — e.g. <this> considerable <#defect> shall be fixed will become these considerable defects shall be fixed” in plural.
  • Adjectives (currently only supported in French) — e.g. <ce: objet> <grand> <#-objet> will be printed as “cette grande Table” for concept-label “Table”.
  • Pronouns — e.g. <#Employee> shall convert <his> assets
  • Nouns — e.g. #Supplier shall deliver the goods to <#employee>. <This> <person> shall then subject the goods to a quality-inspection. will print as:
    • singular employee: “Supplier shall deliver the goods to the Employee. This person shall then subject the goods to a quality-inspection.”
    • plural employees: “Supplier shall deliver the goods to the Employees. These persons shall then subject the goods to a quality-inspection.”

Grouping words together

If multiple words that require conjugation are next to each other, then you can group them together.

For example, instead of writing the following in German:

... wenn dies wegen <des: #käufer> <zweiten: #käufer> <Käufers: #käufer> geschieht, dann ...

you can also write the following, shorter version:

... wenn dies wegen <der zweite Käufer: #käufer g> geschieht, dann ...

Specifically for German, where certain prepositions always invoke a certain case in certain constructions, you can also include the special proposition within the group, and leave out the trailing case marker (“g” in the example above):

... wenn dies <wegen der zweite Käufer: #käufer> geschieht, dann ...

In both examples, the result will be conjugated with the genitive case: … wenn dies wegen des zweiten Käufers geschieht, dan …

Avoiding ambiguity

The grammatical function of a word is often ambiguous. For example, in English, the word “table” can be both a noun and a transitive verb (“to place on the agenda”). <#Employee> shall sell <her> car

Unfortunately, software cannot determine a word’s grammatical function with 100% certainty. As even the most advanced artificial intelligence makes mistakes in this area — particularly in languages other than English — you will need to help ClauseBase to determine the word function.

Tip: often you can avoid ambiguity by putting a non-ambiguous conjugation of the word between the angular brackets. For example, stating <#Employee> shall sell <her> car is ambiguous, because the word “her” can be both an indirect object (female equivalent of “him”) and a possessive pronoun (female equivalent of “his”).

It is easier to use the non-ambiguous male versions: <#Employee> shall sell <his> car and <#Buyer> shall give <him: employee> the keys of the house.

Similarly verbs in languages other than French, it can be easier to simply use the opposite number (singular instead of plural) or different gender to avoid the ambiguities, even when grammatically speaking this does not make sense in the editor. For example, instead of writing <#Employé> <demeure> (which is ambiguous because “demeure” can be both a noun and a verb), you can simply write the plural version of the verb <#Employé> <demeurent> , which is not ambiguous, even though it may look weird that the singular employé is combined with the plural verb demeurent.

When a word’s function is ambiguous according to ClauseBase’s internal dictionary, ClauseBase will highlight problems in the bottom area of the screen:

… following which you can resolve inspect the problem:

When you then select the right grammatical function, the following screen will be shown:

Custom conjugations

ClauseBase uses a dictionary with hundreds of thousands of lemmas for each language. However, some words will simply not be present in the dictionary. For those exceptional situations, you can however, add custom conjugations to a clause.

Those custom conjugations can be added in two ways: either with a mini-dictionary, or inline.

Mini-dictionary custom conjugations

You will automatically be invited to add a word to the custom dictionary of a clause when you wrap an unknown word in angular brackets. For example:

After you choose the right grammatical function (in casu verb), ClauseBase will then switch to the conjugations pane and allow you to enter the various conjugations for the relevant verb.

Depending on the grammatical function and the language considered, you may see many conjugations that can be completed. Do not feel obliged to exhaustively complete everything — e.g., for a verb, probably one tense in singular & plural (perhaps also in male & female in some languages) will be enough for a typical contractual clause.

Inline custom conjugations

Instead of the mini-dictionary approach, you can also add custom conjugations “inline” (i.e., in the clause itself), by separating the conjugated forms by pipes.

Several inline conjugations are available:

  • <singular | plural>
  • <singular male | singular female | plural both genders>
  • <singular male | singular female | plural male | plural female>
  • <MF | male | female>

Some examples:

  • <#Employee> <agrees | agree> will be printed as “The Employee agrees” in singular, or as “The Employees agree” in plural.
  • <#Employee> <is|are> <a man | a woman | men | women> will be printed as “The Employee is a man” in singular male, as “The Employees are men” in plural male, as “The Employee is a woman” in singular female, and as “The Employees are women” in plural female.
  • <#Employee> is <MF | a man | a woman> will be printed as “The Employee is a man” in singular male, as “The Employees are men” in plural male, as “The Employee is a woman” in singular female, and as “The Employees are women” in plural female.
Was this article helpful?
Using codes instead of text fragments
Mixing data types