Zoeken in de kennisbank

TAALBOTS Textanalysis 19.03.14

Taalbots anlysis facilitates a digital chatbotdeveloper, in a three tier spanning conversation, to determine the visitors intention in the utterance.
The utterance is basicly split in three seperate segments based on the grammical and semantic characteristics.
Based on these characteristics the chatbot generates inquiries to finally draw a conclusion on the intention of the utterer.
The digital chatbotdeveloper is a discussion partner for a webeditor to process the result of the three tier proces

>
USERIP ".$userip." SERVER ".$rfer_srvr." URL ".$rfer_url; // echo "
START RESULT LNKS ".$invr_lnks." CONT ".$invr_cont." RCHS ".$invr_rchs; $userip=$_SERVER['REMOTE_ADDR']; // echo "
INVR FUNC ".$invr_func; $lgroet=chbt_date("IT@1@2@".$invr_taal."@".$invr_bzkr); $curr_jaar=$lgroet[jaar]; $curr_dag=$lgroet[dag]; $curr_mand=$lgroet[deze_maand]; $zoek_datm=$curr_jaar."-".$curr_mand; $uinvr_bzv1=urlencode($invr_bzv1); $uinvr_bzv1=str_replace("%0D%0A","",$uinvr_bzv1); $invr_bzv1=urldecode($uinvr_bzv1); $sinvr_bzv1=str_replace(" ","+",$invr_bzv1); // print_r($lgroet); if ($invr_vrag== null) { $invr_vrag ="y"; } if ($invr_lnks == "xvragen") { $invr_vrag="n"; } if ($invr_lnks == "xsemantus") { $invr_vrag="y"; } if ($invr_chbt == null) { $invr_chbt="semantus"; } if ($invr_taal == null) { $invr_taal="nederlands"; } if ($invr_corp == null) { $invr_corp="semanta"; } ///////////// WOORD SEGMENTATION //////// $invr_itms=explode(" ",$invr_bzv1); // print_r($invr_itms); $numb_itms=count($invr_itms); $last_numb=$numb_itms-5; if ($numb_itms > 4) { // echo "
NUMB ITMS ".count($invr_itms); for ($x = 0; $x <= $numb_itms; $x++) { // echo "
x=".$x; if ($x < 4) { // echo "The wordform is: ".$x." ".$invr_itms[$x]."
"; $frst_summ=$frst_summ." ".$invr_itms[$x]; } } $frst_summ=trim($frst_summ); // echo "
FRST SUMM ".urlencode($frst_summ); for ($x = 0; $x <= $numb_itms; $x++) { if ($x > $last_numb) { // echo "The wordform is: ".$x." ".$invr_itms[$x]."
"; $last_summ=$last_summ." ".$invr_itms[$x]; } } $last_summ=trim($last_summ); // echo "
LAST SUMM ".urlencode($last_summ); $cont_summ=str_replace($frst_summ,"",$invr_bzv1); // echo "
CONT SUMM ".$cont_summ; $cont_summ=str_replace($last_summ,"",$cont_summ); // echo "
CONT SUMM ".$cont_summ; $invr_lnks=$frst_summ; $invr_cont=$cont_summ; $invr_rchs=$last_summ; $bzv1_array[lnks]=$frst_summ; $bzv1_array[cont]=$cont_summ; $bzv1_array[rchs]=$last_summ; } echo "
FINAL RESULT LNKS ".$invr_lnks." CONT ".$invr_cont." RCHS ".$invr_rchs; print_r($bzv1_array); $uttr_array=array(); echo ""; echo ""; ?>
0) { krsort($smts_rslt); echo ""; $ca=0; $invr_lnks="LINKS"; $invr_cont="CONT"; $invr_rchs="RCHS"; foreach($smts_rslt as $smts_key => $smts_val) { echo "
INVR BZV1 ".$invr_bzv1." SMTS KEY ".$smts_key." SMTS VAL ".$smts_val; // echo "
SMTS KEY ".$smts_key." SMTS VAL ".$smts_val; $smts_itms=explode("!!",$smts_key); $smts_text=$smts_itms[0]; $smts_tlkd=$smts_itms[1]; $smts_posn=$smts_itms[2]; $text_itms=explode(" ",$smts_text); // echo "
SMTS TEXT ".$smts_text." SMTS TLKD ".$smts_tlkd." SMTS POSN ".$smts_posn; if(count($text_itms) > 1) { // echo "
SMTS TEXT ".$smts_text." SMTS TLKD ".$smts_tlkd." SMTS POSN ".$smts_posn; if ($srelt != $smts_text) { // echo "
SMTS TEXT ".$smts_text." SMTS TLKD ".$smts_tlkd." SMTS POSN ".$smts_posn; $csmts_text = $smts_text; $srelt=$smts_text; } // $aiml_tmpl=$smts_text; if ($smts_posn== 0) { // echo "
0-SMTS TEXT ".$smts_text." SMTS TLKD ".$smts_tlkd." SMTS POSN ".$smts_posn; // $invr_lnks=$smts_text; // echo "
LNKS ".$invr_lnks." CONT ".$invr_cont." ".$invr_rchs; $aiml_ptrn=$smts_text." *"; } if ($smts_posn== 50) { // echo "
50-SMTS TEXT ".$smts_text." SMTS TLKD ".$smts_tlkd." SMTS POSN ".$smts_posn; $invr_cont=$smts_text; // echo "
LNKS ".$invr_lnks." CONT ".$invr_cont." ".$invr_rchs; $aiml_ptrn="* ".$smts_text."*"; } if ($smts_posn== 99) { // echo "
99-SMTS TEXT ".$smts_text." SMTS TLKD ".$smts_tlkd." SMTS POSN ".$smts_posn; $invr_rchs=$smts_text; // echo "
LNKS ".$invr_lnks." CONT ".$invr_cont." ".$invr_rchs; $aiml_ptrn="* ".$smts_text; } } if ($arelt != $aiml_ptrn) { // echo"".$aiml_ptrn.""; // echo "".$aiml_ptrn.""; $arelt=$aiml_ptrn; } } ////////// exit; echo "
Your utterance is grammatically and semanticly analysed and result in a breakdown in the segments start, context and finish
".$invr_bzv1."
Start ".$invr_lnks."
Context ".$invr_cont."
Finish ".$invr_rchs."";; $lnks_rslt=xtrt_xxxx($invr_lnks,$invr_taal,"data",24); // echo "
"; // echo "
START ".$invr_lnks; foreach($lnks_rslt as $lnks_key => $lnks_val) { // echo "--".$lnks_key; $key_dtls=explode("!!",$lnks_key); $key_taal=$key_dtls[1]; $key_corp=$key_dtls[2]; $key_lnks=$key_dtls[3]; $key_rchs=$key_dtls[4]; $rchs_shrt=substr($key_rchs,0,128)."..."; $lnks_array[$key_corp]=$lnks_array[$key_corp]+1; $rchs_array["rchs@".$key_corp]=$rchs_array["rchs@".$key_corp][$key_corp]+1; $rslt_array["lnks@".$key_corp]=$rslt_array["lnks@".$key_corp][$key_corp]+1; echo "
"; } arsort($lnks_array); // print_r($lnks_array); // echo "
".$key_taal."".$key_corp."
"; ///// $cont_rslt=xtrt_xxxx($invr_cont,$invr_taal,"data",24); // echo "
MIDDEN ".$invr_cont; foreach($cont_rslt as $cont_key => $cont_val) { $key_dtls=explode("!!",$cont_key); $key_taal=$key_dtls[1]; $key_corp=$key_dtls[2]; $key_cont=$key_dtls[3]; $key_rchs=$key_dtls[4]; $rchs_shrt=substr($key_rchs,0,128)."..."; $cont_array[$key_corp]=$cont_array[$key_corp]+1; $rslt_array["cont@".$key_corp]=$rslt_array["cont@".$key_corp][$key_corp]+1; echo "".$key_taal."".$key_corp.""; } arsort($cont_array); // print_r($cont_array); ///////////// $rchs_rslt=xtrt_xxxx($invr_rchs,$invr_taal,"data",24); // echo "
RECHTS ".$invr_rchs; foreach($rchs_rslt as $rchs_key => $rchs_val) { $key_dtls=explode("!!",$rchs_key); $key_taal=$key_dtls[1]; $key_corp=$key_dtls[2]; $key_rchs=$key_dtls[3]; $key_rchs=$key_dtls[4]; $rchs_shrt=substr($key_rchs,0,128)."..."; $rslt_array["rchs@".$key_corp]=$rslt_array["rchs@".$key_corp][$key_corp]+1; echo "".$key_taal."".$key_corp.""; } arsort($rchs_array); //print_r($rchs_array); /////// } // echo "
RESULT
"; ksort($rslt_array); // print_r($rslt_array); foreach($rslt_array as $rslt_key => $rslt_val) { $key_dtls=explode("@",$rslt_key); // print_r($key_dtls); $key_posn=$key_dtls[0]; $key_corp=$key_dtls[1]; // echo "
KEY POSN ".$key_posn." KEY CORP ".$key_corp; $corp_array[$key_corp]=$corp_array[$key_corp]+1; } arsort($corp_array); // print_r($corp_array); foreach($corp_array as $corp_key => $corp_val) { if ($corp_val == 3) { $corp_text[$corp_key]=$corp_text[$corp_key]+1; // echo "
drie CORP KEY ".$corp_key." VAL ".$corp_val; // print_r($corp_text); } if ($corp_val == 2) { $corp_text[$corp_key]=$corp_text[$corp_key]+1; // echo "
TWEE CORP KEY ".$corp_key." VAL ".$corp_val; $corp_twee[$corp_key]=$corp_twee[$corp_key]+1; } if ($corp_val == 1) { $corp_text[$corp_key]=$corp_text[$corp_key]+1; // echo "
EEN CORP KEY ".$corp_key." VAL ".$corp_val; $corp_een[$corp_key]=$corp_een[$corp_key]+1; } } echo "
Based on start, context and finish the four most appropriate corpora are presented
"; echo "
Corpora"; $ct=0; foreach($corp_text as $text_key => $text_val) { if ($ct < 4) { echo "
".$text_key."
"; $ct=$ct+1; } } // print_r($corp_text); echo ""; // echo "
".$cs."-".$strn_val; echo ""; // echo ""; $gr=0; // echo "
TLKD SMTS KEY ".$tlkd_key." VAL ".$tlkd_val; $text_dtls=explode(" ",$smts_text); $saiml_ptrn=str_replace(" ","+",$aiml_ptrn); $ssay=str_replace(" ","+",$say); /////////////////// $spec_rslt=bepl_spec($invr_lgrm); // print_r($bepl_spec); // echo "
VGPT IMGE ".$vgpt_imge." CORP IMGE ".$corp_imge; $gevl_rslt=""; foreach($spec_rslt as $spec_key => $spec_val) { // echo "
SPEC KEY ".$spec_key; // echo substr_count($spec_key, ' '); if(substr_count($spec_key, ' ') == 0) { $gevl_rslt=$gevl_rslt."--".$spec_key; } } if ($gevl_rslt != null) { $invr_cont=$gevl_rslt; } $smta_rslt=xtrt_xxxx($invr_lnks,$invr_taal,"smta",4); // print_r($smta_rslt); foreach($smta_rslt as $smta_key => $smta_val) { $smta_itms=explode("!!",$smta_key); // print_r($smta_itms); $smta_scre=$smta_itms[0]; $smta_ipad=$smta_itms[7]; $smta_taal=$smta_itms[1]; $smta_lnks=$smta_itms[3]; $sim = similar_text($invr_lgrm, $smta_lnks, $perc); // echo "
LPZG PERC ".round($perc, 2); $perc_array[$smta_lnks]=round($perc, 2); // echo " Antwoord ".$smta_lnks; $rrelt=$bzv1_rchs; $sv=$sv+1; } $smta_rslt=xtrt_xxxx($invr_cont,$invr_taal,"smta",5); // print_r($smta_rslt); foreach($smta_rslt as $smta_key => $smta_val) { $smta_itms=explode("!!",$smta_key); // print_r($smta_itms); $smta_scre=$smta_itms[0]; $smta_ipad=$smta_itms[7]; $smta_taal=$smta_itms[1]; $smta_lnks=$smta_itms[3]; $sim = similar_text($invr_lgrm, $smta_lnks, $perc); // echo "
LPZG PERC ".round($perc, 2); $perc_array[$smta_lnks]=round($perc, 2); // echo " Antwoord ".$smta_lnks; $rrelt=$bzv1_rchs; $sv=$sv+1; } $smta_rslt=xtrt_xxxx($invr_rchs,$invr_taal,"smta",5); // print_r($smta_rslt); foreach($smta_rslt as $smta_key => $smta_val) { $smta_itms=explode("!!",$smta_key); // print_r($smta_itms); $smta_scre=$smta_itms[0]; $smta_ipad=$smta_itms[7]; $smta_taal=$smta_itms[1]; $smta_lnks=$smta_itms[3]; $sim = similar_text($invr_lgrm, $smta_lnks, $perc); // echo "
LPZG PERC ".round($perc, 2); $perc_array[$smta_lnks]=round($perc, 2); // echo " Antwoord ".$smta_lnks; $rrelt=$bzv1_rchs; $sv=$sv+1; } arsort($perc_array); echo "
SegmentQuestionGrammatica
"; print_r($perc_array); $pa=0; echo ""; foreach($perc_array as $perc_key => $perc_val) { if ($pa < 5) { $invr_lgrm=strtolower($sent_val); $line_dtls=explode(" ",$invr_lgrm); // print_r($line_dtls); $ld=0; foreach($line_dtls as $line_key => $line_val) { if (strlen($line_val) > 4) { $cline_val="".$line_val.""; $perc_key=str_replace($line_val,$cline_val,$perc_key); } } echo ""; $ld=0; $pa=$pa+1; } } ///////////////// ?>

Vergelijkbare uitingen

".$perc_val."".$perc_key."

SAY ".$say; ?> "; if ($invr_bzkr == null) { $invr_bzkr="bezoeker"; } if ($invr_chbt == null) { $invr_chbt="receptioniste"; } echo ""; echo ""; echo ""; // echo "
CHBT ".$invr_chbt." INVR TAAL ".$invr_taal." INVR BZV1 ".$invr_bzv1," SAY ".$say." LAST DSPL ".$last_dspl." INVR BZV2 ".$invr_bzv2." INVR BZKR ".$invr_bzkr." INVR LGRM ".$invr_lgrm." INVR VGPT ".$invr_vgpt." SAY ".$say; $base_rslt=xtrt_xxxx("----","nederlands","base",0); $bzkr_rslt=xtrt_xxxx($invr_vgpt,"nederlands","base",0); $chbt_rslt=xtrt_xxxx($invr_chbt,"nederlands","base",0); if (count($base_rslt) == 0) { // echo "
Geen corpus of gesprekspartner gevonden voor ".$invr_bzkr; $bzkr_sw=0; } $vr=0; if (count($bzkr_rslt) > 0 or count($chbt_rslt) > 0) { echo ""; echo ""; echo ""; foreach($base_rslt as $base_key => $base_val) { // echo "
BASE KEY ".$base_key; $base_dtls=explode("!!",$base_key); $base_chbt=$base_dtls[2]; $base_smdm=$base_dtls[3]; $base_corp=$base_dtls[4]; // echo "
BASE CHBT ".$base_chbt." INVR BZKR ".$invr_bzkr." BASE SMDM ".$base_smdm." INVR CHBT ".$invr_chbt; if ($base_chbt == $invr_vgpt and $base_corp == $invr_corp) { $vr=$vr+1; // echo ""; } if ($vr == 0 ) { // echo "
No result for the conversation between --".$inv_bzkr ." and ".$invr_chbt; } $bzkr_array[$base_chbt."@".$base_corp]=$bzkr_array[$base_chbt."@".$base_corp]+1; } } echo "
" onsubmit="if(document.getElementById('say').value == '') return false;">
START
Utterance: FINISH
Chatbot
Semantics: Corpus
Connect the Internet of Things (humans and any digital representation)
A semanta conversation takes place between two digital IoT entities. We call them sender and receiver.
Both CHATBOT and CORPUS can be specified to define a conversation between the two IoT entities
Een chatbot ondersteunt met het vinden van connecties tussen gesprekspartner en corpus
".$invr_vgpt." talks to ".$invr_corp. " supported by ".$invr_chbt."
There are ".count($bzkr_rslt)." entries for ".$invr_vgpt."
Laat het maar zien
There are ".count($chbt_rslt)." entries for ".$invr_corp."
".$vr."-".$base_chbt." ".$base_corp."
"; $sinvr_bzv1=str_replace(" ","+",$invr_bzv1); echo "
LAST COMMAND ".$sinvr_bzv1; ?> ///////