function handleNewConceptFromRelation(&$finalConcepts, $subjectOrObject, $conceptLocationInRelation, &$notInCounceptsCounter, &$statsUniqueSubjects) { global $WORDS_TRANSLATIONS_AR_EN; $subjectOrObjectFlag = null; // SUBJECT NOT IN MASTER CONCEPTS LIST if (!isset($finalConcepts[$subject])) { if ($conceptLocationInRelation == "SUBJECT") { echoN("NOT IN CONCEPTS:S:{$subjectOrObject}"); } else { echoN("NOT IN CONCEPTS:O:{$subjectOrObject}"); } $notInCounceptsCounter++; $statsUniqueSubjects[$subjectOrObject] = 1; } $termsArr = getTermArrBySimpleWord($finalTerms, $subjectOrObject); $freq = $termsArr['FREQ']; $isQuranaPhraseConcept = false; //echoN("^&&*:".(strpos($subjectOrObject," ")!==false)); if (isMultiWordStr($subjectOrObject)) { $quranaConceptArr = getQuranaConceptEntryByARWord($subjectOrObject); $engTranslation = ucfirst($quranaConceptArr['EN']); echoN("^^{$subjectOrObject}"); $isQuranaPhraseConcept = true; } else { $uthmaniWord = getItemFromUthmaniToSimpleMappingTable($subjectOrObject); $engTranslation = ucfirst(cleanEnglishTranslation($WORDS_TRANSLATIONS_AR_EN[$uthmaniWord])); } addNewConcept($finalConcepts, $subjectOrObject, "A-BOX", "POPULATION_FROM_RELATIONS", $freq, $engTranslation); $finalConcepts[$subjectOrObject]['EXTRA']['POS'] = $subjectOrObjectFlag; $finalConcepts[$subjectOrObject]['EXTRA']['WEIGHT'] = $termsArr['WEIGHT']; if ($isQuranaPhraseConcept) { echoN($isQuranaPhraseConcept . "||||{$subjectOrObject}"); $finalConcepts[$subjectOrObject]['EXTRA']['IS_QURANA_NGRAM_CONCEPT'] = true; } }
function getRootOfSimpleWord($wordSimple, $expectedPosTagsArr) { global $MODEL_SEARCH, $MODEL_QAC; $wordUthmani = getItemFromUthmaniToSimpleMappingTable($wordSimple); //echoN($MODEL_QAC['QAC_ROOTS_LOOKUP'][$wordUthmani]); return getModelEntryFromMemory("AR", "MODEL_QAC", "QAC_ROOTS_LOOKUP", $wordUthmani); //return $MODEL_QAC['QAC_ROOTS_LOOKUP'][$wordUthmani]; }
function convertUthamniQueryToSimple($query) { $queryWords = explode(" ", $query); $newQueryArr = array(); foreach ($queryWords as $index => $word) { if (empty($word)) { continue; } $simpleWord = getItemFromUthmaniToSimpleMappingTable($word); if (empty($simpleWord)) { $simpleWord = shallowUthmaniToSimpleConversion($word); } $newQueryArr[] = $simpleWord; } return implode(" ", $newQueryArr); }