PHP. Автоматическая генерация ключевых слов

Задача: Автоматически сгенерировать ключевые слова для определенного текста. Обеспечить возможность создания списка слов исключений. Задавать минимальную длину ключевого слова

Решение:

    function generate_keyword($text = '', $word_len = 4, $quantity = 15)
{
$text = _strtolower($text);
$text = preg_replace("/[^а-яs-]/isu","",$text);
$_del_symbols = array("как", "для", "что", "или", "это", "этих", "потому", "поэтому", "просто", "очень",
"всех", "они", "оно", "еще", "когда","тогда","которые","того",
"где", "эта", "лишь", "уже", "вам", "нет",
"если", "надо", "все", "так", "его", "чем",
"при", "даже", "мне", "есть", "раз", "два",
"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
);
foreach( $_del_symbols as $val )
{
$del_symbols[] = "/^".$val."$/";
}

$text = preg_replace($del_symbols, "", $text);

preg_match_all("/[а-я]{".$word_len.",}+/uis", $text, $word);

$return = array_flip(array_count_values ($word[0]));//получаем слова и частоту, меняем местами ключ-значение

$keywords_count = array_count_values($word[0]);
foreach ($keywords_count as $k => $v)
{
if ($v > 1)
{
$keywords_result[$v][] = $k;
}
}
if( sizeof($keywords_result) < 1 ) return false;

krsort($keywords_result);

foreach($keywords_result as $key => $value)
{
foreach($value as $key => $word)
{
$keywords[] = $word;
}
}

$keywords = array_slice($keywords, 0, $quantity);

return join(",", $keywords);
}

Интересное

Project Glass — Очки будущего от Google
Компания Google представила суперсовременные «очки дополненной реальности» или Project Glass. Впрочем,...
Git и Bitbucket
Git – это распределенная система контроля версий. Пожалуй, на этом теория заканчивается, так как...
Проверка сайта на вирусы
Если пользоваться привычной терминологией, то web вирусы не являются вирусами в традиционном...
Отзыв о FirstVDS
При покупке хостинга у FirstVDS мне предложили скидку за годный отзыв в блоге или на форуме....

Комментарии

  • Герман Ефремов
    06.02.2013 в 22:28

    не работает, ругается на кодировку во многих строках

    ответить
  • Герман Ефремов
    06.02.2013 в 22:28

    не работает, ругается на кодировку во многих строках

    ответить

Чтобы оставлять комментарии, авторизируйтесь

Войти через OpenID

рейтинг0+-
Популярные
Точки входа
Наверх