Account

Translate

Facebook

Research

Last subscribed

Statistics

Languages - French - French syntax pattern

Understanding Syntax Patterns

When the chatbot cannot find a matching row in the database, it uses syntax patterns to reorganize the user's sentence and generate an intelligent fallback response.

Pattern Structure & Sections

  • Tense Categorization: Patterns are divided into distinct sections. For instance, if a past tense verb is detected in the user's input, the system routes processing through the past tenses pattern section.

  • Repetition vs. Suggestion: A randomized variable determines whether the bot responds with a repetition or a suggestion:

    • Repetitions are usually phrasing the user's input back as a question.

    • Suggestions introduce entirely new sentences or topics to keep the conversation moving forward.

Special Syntax Characters & Modifiers

The pattern rules rely on specific formatting symbols:

Character Name Function / Meaning
| Vertical Bar Acts as an "OR" operator—matches any one of the listed choices.
, Comma Separates individual tags within a syntax pattern.
+ Plus Sign Marks a tag as optional (applied only if the user's input contains matching words).
* Single Asterisk Validates agreement backward in the pattern for number (singular / plural).
** Double Asterisk Validates agreement backward in the pattern for all properties (singular, plural, masculine, and feminine).
N (at end) Offset Number Specifies the exact number of preceding tags to look back when validating agreement.
/* INFINITIF VERBS */
$modele[] = 'other,ver_inf,art_def|adj_num|adj_pos,nom|other**1,adj+**1,pro_per_con+,aux,pro_per*1,art_def,nom**1,adj+**1,question';
$modele[] = 'ver_inf,lia|art_def|adj_num|adj_pos|pro_ind,nom|other**1,adv+,ver,art_def,art_def+,nom**2,question';
$modele[] = 'ver_inf,lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,adv+,ver,pro_per_con+,pro_per**2,art_def,art_def+,nom**2,question';
$modele[] = 'ver_inf,lia|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,aux**3,adv+,art_ind,nom**1,adj**1,question';
$modele[] = 'pro_per,pro_per_con+,ver,adv+,ver_inf,lia|art_def|adj_num|adj_pos|pro_ind,nom|other**1,adj+**1,question';
/* END OF INFINITIF VERBS */

/* PAST PARTICIPLE */
/* If no verb in the sentence */
if(empty($response['ver'])){
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,aux,pro_per*1,adv+,ver_past**2,art_def,art_def+,nom**2,adj+**1,question';
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,aux,pro_per*1,adv+,ver_past**2,art_ind,nom**1,adj+**1,question';
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,aux,pro_per*1,adv+,ver_past**2,art_def,art_def+,nom**2,question';
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,aux*3,adv+,ver_past**5,art_def,art_def+,nom**2,adj+**1,dot';
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,aux*3,pro_per*4,adv+,ver_past**2,question';
    $modele[] = 'art_ind|art_def|adj_num|adj_pos,nom|other**1,adj+**1,pro_per_con+,aux*4,pro_per*1,adv+,ver_past**2,question';
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,aux*3,adv+,ver_past**5,art_ind,nom**1,adj+**1,dot';
    $modele[] = 'pro_per_con+,aux,pro_per*1,adv+,ver_past**2,art_ind|art_def|adj_num|adj_pos,nom|other**1,adj+**1,question';
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,aux*3,adv+,ver_past**5,art_def,art_def+,nom**2,dot';
    $modele[] = 'art_def,art_def+,nom|other**2,adj+**1,other,pro_per_con+,aux*6,pro_per*1,adv+,ver_past**2,question';
    $modele[] = 'pro_per_con+,aux,pro_per*1,adv+,ver_past**2,art_def,art_def+,nom|other**2,adj+**1,question';
    $modele[] = 'pro_per_con+,aux,pro_per*1,adv+,ver_past**2,art_def,art_def+,nom|other**2,adj**1,question';
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,aux*3,adv+,ver_past**5,dot';
    $modele[] = 'art_ind|art_def|adj_num|adj_pos,nom|other**1,adj**1,other,pro_per_con+,aux*5,adv+,ver_past**7,dot';
}
/* END OF PAST PARTICIPLE */

if ($action[$rand] == 'rep') {
    $modele[] = 'art_def|adj_num|adj_pos,other,adj+**2,ver**3,pro_per_con+,pro_per**2,adv+,art_def,art_def+,nom|other**2,question';
    $modele[] = 'lia|art_def|adj_num|adj_pos|pro_ind,nom|other**1,adj**1,ver|aux*2,pro_per_con+,pro_per*2,adv+,art_def,art_def+,nom**2,question';
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,ver|aux*2,pro_per_con+,pro_per*2,adv+,art_def,art_def+,nom**2,question';
    $modele[] = 'lia|art_def|adj_num|adj_pos|pro_ind,nom|other**1,ver|aux*1,pro_per_con+,pro_per*2,adv+,art_ind,nom**1,adj**1,question';
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,ver**1,pro_per_con+,pro_per*2,ver_inf,art_def,art_def+,nom**2,question';
    /* If no verb in the sentence */
    if(empty($response['ver'])){
        $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,aux*3,pro_per*1,adv+,art_def,art_def+,nom**2,question';
        $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,aux*3,pro_per*1,art_ind,nom**1,adj**1,question';
        $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,aux*3,pro_per*1,art_def,art_def+,nom**2,adj**1,question';
    }
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,ver**2,pro_per_con+,pro_per**2,adv+,art_ind,nom**1,adj,question';
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,ver**1,pro_per_con+,pro_per**2,adv+,art_def,art_def+,nom**2,adj+,question';
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,ver|aux*1,pro_per_con+,pro_per*2,adv+,art_ind,nom**1,question';
} elseif ($action[$rand] == 'sug') {
    /* If no verb in the sentence */
    if(empty($response['ver'])){
        $modele[] = 'pro_per,pro_per_con+,aux*2,adv+,ver_past**4,lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,adj**2,art_def,art_def+,nom**2,dot';
        $modele[] = 'pro_per,pro_per_con+,aux*2,ver_past**3,lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,adv+,adj**2,dot';
    }
    $modele[] = 'pro_per,pro_per_con+,ver**2,art_def|adj_num|adj_pos,other,adj+,art_def,art_def+,nom|other**2,dot';
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,ver**2,adv+,art_ind,nom**1,adj+**1,dot';
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,ver**2,adv+,art_def,art_def+,nom**2,adj+**1,dot';
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,ver**2,adv+,art_ind,nom**1,dot';
    $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,ver**2,adv+,art_def,art_def+,nom**2,dot';
    $modele[] = 'lia|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,ver|aux*2,adv+,adj+**3,art_def,art_def+,nom**2,dot';
    $modele[] = 'lia|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,ver|aux*2,adv+,adj+**3,art_ind,nom**1,dot';
}

/* PAST PARTICIPLE */
/* If no verb in the sentence */
if(empty($response['ver'])){
    $modele[] = 'pro_per,pro_per_con+,aux*2,ver_past**3,art_def,art_def+,nom|other**2,adj+**1,dot';
    $modele[] = 'pro_per_con+,aux,pro_per*1,adv+,ver_past**2,art_ind,nom|other**1,adj+**1,question';
    $modele[] = 'art_def,art_def+,nom|other**2,pro_per_con+,aux*4,adv+,ver_past**5,dot';
    $modele[] = 'pro_per,pro_per_con+,aux*2,ver_past**3,art_ind,nom|other**1,adj+**1,dot';
    $modele[] = 'pro_per|pro_dem|pro_ind,pro_per_con+,aux*2,ver_past**3,dot';
    $modele[] = 'pro_per_con+,aux,pro_per*1,adv+,ver_past**2,question';
}
/* END OF PAST PARTICIPLE */

/* INFINITIF VERBS */
$modele[] = 'ver_inf,ver_inf+,art_def|adj_num|adj_pos,nom|other**1,adj+**1,question';
$modele[] = 'adv+,ver_inf,ver_inf+,art_def|adj_num|adj_pos,nom|other**2,question';
$modele[] = 'adv,ver_inf,ver_inf+,art_def,nom|other**1,adj+**1,question';
$modele[] = 'pro_per|pro_dem|pro_ind,pro_per_con+,ver,adv+,lia,ver_inf,adj+,question';
$modele[] = 'ver_inf,art_def,art_def+,nom|other**2,question';
$modele[] = 'ver_inf,art_def,nom|other**1,question';
$modele[] = 'ver_inf,question';
/* END OF INFINITIF VERBS */

if ($action[$rand] == 'rep') {
    /* If no verb in the sentence */
    if(empty($response['ver'])){
        $modele[] = 'pro_per_con+,aux,pro_per*1,lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,adj+**1,question';
        $modele[] = 'pro_per,pro_per_con+,aux*2,adj_num|adj_pos|pro_ind,nom|other**1,adj+**1,question';
        $modele[] = 'pro_per|pro_dem|pro_ind,pro_per_con+,aux*2,adv+,ver_past**4,question';
        $modele[] = 'pro_per_con+,aux,pro_per*1,art_def,art_def+,nom|other**2,adj+**1,question';
        $modele[] = 'pro_per_con+,aux,pro_per*1,art_ind,nom|other**1,adj+**1,question';
    }
    $modele[] = 'pro_per|pro_dem|pro_ind,pro_per_con+,ver|aux*2,adv+,question';
    $modele[] = 'pro_int,ver|aux,pro_per_con+,pro_per*2,question';
    $modele[] = 'nom|other,question';
    $modele[] = 'ono,question';
} elseif ($action[$rand] == 'sug') {
    /* If no verb in the sentence */
    if(empty($response['ver'])){
        $modele[] = 'lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,aux*3,adv+,other,dot';
        $modele[] = 'pro_per,pro_per_con+,aux*2,adv+,lia|art_ind|art_def|adj_num|adj_pos|pro_ind,nom|other**1,adj+**2,dot';
    }
    $modele[] = 'pro_per,pro_per_con+,ver|aux*2,art_def,art_def+,nom|other**2,adj+**1,dot';
    $modele[] = 'ver,pro_per_con+,pro_per*2,lia,ver_inf,art_def,art_def+,nom|other**2,adj+**1,dot';
    $modele[] = 'pro_per,pro_per_con+,ver|aux*2,art_ind,nom|other**1,adj+**1,dot';
    $modele[] = 'pro_per,pro_per_con+,ver|aux*2,art_ind|art_def|adj_num|adj_pos,nom|other**1,adj+**1,dot';
    /* If no verb in the sentence */
    if(empty($response['ver'])){
        $modele[] = 'pro_per,pro_per_con+,aux*2,art_ind,nom|other**1,adj+**1,dot';
        $modele[] = 'art_def,art_def+,nom|other**2,pro_per_con+,aux*4,adv+,adj+**3,dot';
        $modele[] = 'adj_num|adj_pos|pro_ind,nom|other**1,pro_per_con+,aux*3,adv+,adj+**5,dot';
        $modele[] = 'pro_per|pro_dem|pro_ind,pro_per_con+,aux*2,adv+,adj+,dot';
    }
    $modele[] = 'pro_per|pro_dem|pro_ind,pro_per_con+,ver|aux*2,dot';
    $modele[] = 'nom|other,dot';
    $modele[] = 'ono,dot';
}


Source : learningbot

Price: $ 00.00 CAD to access learningbot extensions, forum support, chatbox support and update support



French syntax pattern

The 2019-02-03 at 11:31:07

Author: learningbot Man

Rank: Administrator

Views total: 852

Comments total: 0

Likes: 0

Dislikes: 0

Votes: Autorized

Comments: Autorized

Article source: learningbot

Modified the 2026-08-03 at 15:11:08

+ Add to my contacts

Return to the articles list

Votes

Identity verification:

Enter (000) in this field:

0

0

Comments:

The news

The news section containing all the latest post from each section.

References

Title: Credits Policies

Category: Credits

Votes status: Authorized

Comments status: Authorized

Views total: 281

Comments total: 0

Votes results: 0 0

Article author: learningbot Man

Author rank: Administrator

Article date: 2022-07-13

Article time: 10:54:16

Article source: learningbot

View article...

Modified the 2026-08-03 at 14:57:25

Downloads

Title: Julie AI - The game

Category: Game

Votes status: Authorized

Comments status: Authorized

Views total: 984

Comments total: 0

Votes results: 0 0

Article author: learningbot Man

Author rank: Administrator

Article date: 2019-06-27

Article time: 01:28:01

Article source: learningbot

View article...

Modified the 2026-08-03 at 15:00:55

Forum

Title: Content Revision - Job offer

Category: Contribution

Votes status: Authorized

Comments status: Authorized

Views total: 515

Comments total: 0

Votes results: 0 0

Article author: learningbot Man

Author rank: Administrator

Article date: 2022-07-15

Article time: 08:10:28

Article source: learningbot

View article...

Modified the 2026-08-03 at 15:01:43

Help

Title: Example of conversation - Version 1.7.9

Category: Recorder

Votes status: Authorized

Comments status: Authorized

Views total: 1091

Comments total: 0

Votes results: 0 0

Article author: learningbot Man

Author rank: Administrator

Article date: 2019-12-15

Article time: 11:32:02

Article source: learningbot

View article...

Modified the 2019-12-15 at 23:46:05

Languages

Title: French syntax pattern

Category: French

Votes status: Authorized

Comments status: Authorized

Views total: 852

Comments total: 0

Votes results: 0 0

Article author: learningbot Man

Author rank: Administrator

Article date: 2019-02-03

Article time: 11:31:07

Article source: learningbot

View article...

Modified the 2026-08-03 at 15:11:08