The syntax pattern are designed to reorganize the sentence when the chatbot don't find any rows in the database. Here as shown, they are separated in different section. The first section is for the past tenses. If a past tense is found the chatbot will use these patterns. Then there's the repetition. A variable which is random will trigger either a repetition or a suggestion. Repetition are most oftenly questions and suggestions are new sentences.
The vertical bar character means the tag can be either the choices suggested. The comma character separate each tag for the syntax. The star character is designed to look for plural, singular, masculine or feminin. One star means it will only validate for plural and singular. Two stars means it will validate for all. It will look to validate backward in the pattern. The number at the end is the number of tags before reaching the granted tag. The plus character means the tag is optional. It can be used if the user sentence provide the words for it.
/* 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';
}
Votes status: Authorized
Comments status: Authorized
Views total: 697
Comments total: 0
Votes results: 0 0
Article author: learningbot 
Author rank: Administrator
Article time: 11:31:07
Article date: 2019-02-03
Article source: learningbot
Modified the 2020-05-17 at 10:00:07
Votes status: Authorized
Comments status: Authorized
Views total: 697
Comments total: 0
Votes results: 0 0
Article author: learningbot 
Author rank: Administrator
Article date: 2019-02-03
Article time: 11:31:07
Article source: learningbot
Modified the 2020-05-17 at 10:00:07