Извличане на фрази от текст

dakata__92

Super Moderator
Здравейте, колеги, и честита нова година на всички!

Как извличате фрази от текст на различни езици? Идеята е да ги използвам за генериране на ключови думи според съдържанието на дадена страница.
В момента имам този метод, който искам да надградя с добавянето на фрази с ключово съдържание. Чудех се за някакъв вид групировка на думите по две и броене на съвпадения в текста но не знам до колко това е полезно. Ако можете да предложите и подобрение на метода например в сортирането, подреждането или извличането на ключови думи, ще съм също благодарен.


PHP:
public function generateKeywords(
        string $string,
        int    $minWordLength = 3,
        int    $maxWords = 35
    ): array
    {
        $keywords = [];
        if (empty($string)) {
            return $keywords;
        }
        $space = ' ';
        $string = preg_replace('/[^\p{L}\p{N}]/u', $space, strip_tags(mb_strtolower($string)));
        $string = trim(preg_replace('/\s+/u', $space, $string));
        $words = explode($space, $string);
        $countWords = array_count_values($words);
        foreach ($words as $word) {
            if (isset($keywords[$word]) || is_numeric($word)) {
                continue;
            }
            $wordLength = mb_strlen($word);
            if ($wordLength >= $minWordLength) {
                $wordWeightNumber = ($countWords[$word] ?? 0) + (int)round($wordLength / $minWordLength);
                $keywords[$word] = $wordWeightNumber;
            }
        }
        if (count($keywords) == 0) {
            return $keywords;
        }
        arsort($keywords);
        return array_slice($keywords, 0, $maxWords);
    }
 
За целта освен намирането на кл. думи, ще е нужно да се разбере кои са и това е на база % съотношение на база цялостен текст. И това е само в случаи, че е оптимизирана статията за дадена кл. дума / фраза. Кл. дума/и в 2-3 изречения не прави ясна представа дали за рова се оптимизира цяла статия. Ще е нужно да се обхване целия текст. Често алт таговете на изображенията към дадената статия са добра подсказка. Едно време ги болдваха, но това леко отпадна. Идеята беше да подчертаят и покажат на бота, но беше лека манипулация, която изчезна с времето.
 

Back
Горе