Генерация description

Из того же запаса. Функция, которая позволяет вычислить в тексте предложения с максимальной плотностью ключевых слов и минимальной длинной. Алгоритм и реализация конечно сложные, но всё хорошо работает.


function description($text)
{
$key=keyword($text,5,10);
$desk="";$len=0;$k=0;

if(preg_match_all("/([А-Я][А-Яа-я:;\-?!, ]+\.)/",$text,$word))
{
for ($i=0; $i< count($word[1]); $i++)
{
$desk[$i]=0;
for ($j=0; $j< count($key); $j++)
{
if (substr_count($word[1][$i], $key[$j])>0){$desk[$i]=$desk[$i]+1;}
}
}

arsort($desk);

foreach ($desk as $key => $value)
{
if($value!=0){$k++;$len=$len+strlen($word[1][$key]);}
}

foreach ($desk as $key => $value)
{
if($value!=0&amp;amp;&amp;amp;strlen($word[1][$key])<($len/$k)){return $word[1][$key];}
}
}
return false;
}

function keyword($text,$lenkey,$kolkey)
{
$text=strtolower(strip_tags($text));//удаляем таги и все в нижний регистр
preg_match_all("/[а-я]{".$lenkey.",}+/is",$text,$word);
$return=array_flip(array_count_values ($word[0]));//получаем слова и частоту, меняем местами ключ-значение
krsort($return);//сортируем по убыванию
$return = array_slice ($return, 0,$kolkey);//отрезаем верхушку массива
return $return;
}

echo description($text);//вывод

[author_infos]

j369

Несколько слов об авторе j369

Партнерские программы по раскрутке сайтов, заработок на партнерках. Бесплатные белорусские домены с тИЦ. Новости в мире и Белоруссии, а также новости Интернета. Поисковая оптимизация сайтов. Советы по использованию и установке скриптов и сервисов.
http://www.j369.ru/

Пока молчат

Leave A Reply

You must be logged in to post a comment.