Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание ключевых слов. 
:(
    Опции темы
DioNiR
Дата 27.5.2008, 05:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 30.12.2006

Репутация: нет
Всего: нет



Видел какой то скрипт в нём есть функция создания ключевых слов из текста той же новости ли статьи. Решил сделать что то подобное.
Вот задался вопросом как правельно или лучше будет сделать определение что это слово будет ключевым, а другое нет.
В основном интересует теоретическая часть.
--------------------
Думали это конец? Ха, всё только начинается.
PM MAIL   Вверх
Timophey
Дата 27.5.2008, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 16.10.2007
Где: Россия

Репутация: нет
Всего: нет



есть такие мысли:
создать список прредполагаемых ключевых слов, которые скрипт будет искать в тексте и найденные выводить как ключевые слова
потомучто на базе одного только текста скрипт вряд ли будет иметь представление, какие слова являются ключевыми, а какие нет
PM MAIL WWW ICQ Skype   Вверх
skyboy
Дата 27.5.2008, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



1. привести все слова к некой "начальной форме"(например, для существительных - именительный падеж единственного числа и т.д.)
Для этого можно использовать:
- стеммер  Портера
- aspell или "предок" ispell
Причем, стеммер гораздо проще, делается на PHP(не требует прав установки на хостинг дополнительного ПО), но при этом результаты будут менее удовлетворительные: в результате отбрасывания суффиксов и окончаний(точнее, того, что похоже на суффиксы и окончания) будет выбрано нечто близкое к корню. Естественно, части слова вроде "солнц" не покажешь пользователю - слишком коряво, но можно использовать для индексации и последующего поиска. Ещё минус стемминга - не учитывает чередующихся гласных, "непохожих" форм("люди" и "человек", "лев" и "львы"). Но как предварительное приближение вполне может подойти. aspell/ispell заменяют по словарю(словарь в спецформате описывает правила склонения слов, потому тебе не придется искать "словарь всех слов", там все сложнее).
2. полученных массив "первичных форм" индексируешь и определяешь частоты встречи каждого слова.
3. дальше отбрасываешь стоп-слова(с нулевой информативностью - предлоги, союзы и т.д.). это можно сделать опять же либо по словарю, либо по частоте: у стоп-слов она обычно самая высокая.
4. из оставшегося выбираешь ключевые слова из некой "середины". есть теорема, которая утверждает, что для разных языков семантически важные слова будут иметь разную частоту. но я не помню, как называется эта теорема.
повторю: действительно ключевые слова даже после отбрасывания явного мусора, будут иметь не максимальную частоту, а некую "среднюю".
P.S. Алгоритм не имеет отношения к языку программирования.

M
skyboy
Тема перенесена из PHP: Общие вопросы

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0375 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.