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;
    }
}
Example #2
0
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);
}