Автоматическое определение ключевых слов

Статус
В этой теме нельзя размещать новые ответы.

bork1234

Постоялец
Регистрация
25 Июн 2008
Сообщения
65
Реакции
13
При разработке очередного сайта возникла необходимость автоматически подставлять в код ключевые слова в зависимости от контента (такое требование у заказчика было).

Долго занимался гуглением по этому вопросу и в итоге нашел более менее нормальный морфический анализатор для русского языка, почему-то не столь известный как многие другие - Для просмотра ссылки Войди или Зарегистрируйся.

На его основе написал несколько функций для формирования ключевых слов по рецепту с Для просмотра ссылки Войди или Зарегистрируйся (лучше идей не нашел, хотя эта тоже не очень адекватная). Пример работы с ними приложен (функции писались для php5, но переделать под php4 труда не составит).

Базы слов не совсем новые, но рабочие.
Если кому пригодится, то берите
 
а не смотрел как он "попадает" в процентах? и насколько сильно грузит систему?

з.ы. скачать не могу, депозиты меня не любят :( зазеркаль плз еще куда-нибудь
 
а не смотрел как он "попадает" в процентах? и насколько сильно грузит систему?

В процентах к чему? Если насколько правильно вычисляет ключевые слова из текста, то тут в процентах не описать. Все зависит от текста. Просто в моем случае требовалось "хоть что-то" правдоподобное.

Обработка текста весьма быстрая. На сайте в 40 000 страниц "проседания" сервера не было замечено. Конечно, разумнее делать парсинг каждой страницы/текста на предмет ключевых (характерных) слов единожды, а затем вынимать из БД.

Зеркало:
 
По-моему алгоритм нахождения ключевых слов из той вот темы ну очень уж далек от реальности.
Имхо "ключевость" слова определяется не тем, как часто оно встречается в данном тексте, а тем насколько чаще оно встречается в данном тексте, чем в других текстах

Соответственно, и алгорим должен быть совсем другой - без всяких стоп-слов, без словарей (они создадутся по ходу), а просто с большим-большим объемом текста. Один раз лопатим текст, составляем табличку "слово - сколько раз встречалось", потом делим "сколько раз встречалось" на общее количество слов в большом тексте - получаем вероятность встречания каждого слова в нашем текста. Потом, с каждым новым встретившимся блоком текста мы просто корректируем эту таблицу и процесс этот постоянный.

А дальше мы берем анализируемый текст, у которого надо найти ключевые слова, и сравниваем частоту упоминаний каждого слова в этом тексте с частотой упоминания этого же слова "в среднем по больнице". У кого больше всего разница - то и ключевое. Если в большом куске текста слово вообще никогда не встречалось, а тут встретилось аж дважды - то ясен пень это крутое уникальное слово, которое очень четко характеризует данную статью. Она и в гугле скорее всего по этому слову вылазит.. А если это слово "если" - то оно что тут, что там встречается с частотой 0.003. Разницы нет. Значит никакое не ключевое.
 
По-моему алгоритм нахождения ключевых слов из той вот темы ну очень уж далек от реальности.
Имхо "ключевость" слова определяется не тем, как часто оно встречается в данном тексте, а тем насколько чаще оно встречается в данном тексте, чем в других текстах.

Правильно. К черту словари и стоп-слова! Их придумали ленивые неудачники. :D Даешь частотный анализ!
(шучу)

Все союзы, предлоги, "потому что" и прочая ересь будут у вас в ключевых словах, пользуйся вы только одним частотным анализом. У ключевых слов, помимо их частоты вхождения, есть такой важный параметр, как информационная значимость. На то они и "ключевые". Слово может один раз появится, но по весу оно самое значимое из всего текста. А то, знаете, в большом-большом тексте про депутатов, "член" может стать ключевым словом.

Кстати, то, что вы здесь описали подойдет для простенького поисковика, чтобы ранжировать результаты поиска...как раз по частотам. Этакая оценка релевантности.

Основное заблуждение начинающего лингворазработчика - это рассматривать слова по-отдельности, без координат в тексте и связей с "соседями".
 
Очень давно делал сервис для себя, потом сделал в движке автоматическую генерацию метатегов, скажу очень полезная вещь особенно если грамотно составлен контент в плане тегов и предложений с ключивиками, мне покрайне мере очень помогает быстро позиции в гугле поднимаю :)
 

Вложения

  • ss.rar
    1,9 KB · Просмотры: 104
господа, раз уж пошла такая пьянка - может кто-нибудь поделится словариком стоп-слов?
 
слабоват там словарик, мягко говоря.
Прикрепил к этому сообщению дамп таблицы со списком стоп-слов, которые мне удалось собрать с разных мест. Могу еще выложить словарик синонимов, типа
аккумулятор акамулятор акумулятор
 

Вложения

  • 1.txt
    8,5 KB · Просмотры: 60
ТС перевыложи плиз архив, везде удален ((.
Очень похоже на то что ищу.))
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху