Доработки:
Если требуется более качественная автоматическая синонимизация можно выбрать словарь SynMaster. Если требуется "богатство" выбора, то можно подключить словарь Monstro. В этом случае количество синонимов на одну фразу может доходить до 700 штук. Конечно же подходящих по смыслу в конкретном контексте будут не все из них, но всегда можно оперативно отобрать нормальные вручную.
Автоматом по фразе или автоматом по всему тексту?
Если по фразе, то практически так и есть. При выделении фрагмента шлется запрос к базе синонимов. Полученные синонимы отображаются списком в окне фразы. После этого нужно выбрать те, которые вас устраивают и пометить их галочками. Делать автоматом пометку всех полученных синонимов не стал. Не все из них могут оказаться подходящими по смыслу к тексту. Тем не менее сделал рассчет процента использования синонима по отношению к использованию фразы. Это может упростить принятие решения, а так же позволит в дальнейшем реализовать алгоритмы автоматического заполнения.
Конечно же это в том случае если синонимы уже есть в базе. Если их там нет, то синонимы вводятся вручную. Сейчас сервис только запущен и база практически пуста.
Что касается автоматического заполнения синонимами всего текста, то пока база синонимов маленькая об этом говорить рано. Такие алгоритмы есть, но без хорошей базы про них думать рано. Найти какую-то готовую хорошую базу синонимов с учетом всех форм слов у меня навскидку не получилось.
Не понял вопроса.
Нет.
Если подробнее, то алгоритм следующий:
1. Вытаскиваем текст из мета-тегов title, keywords, description, author, copyright
2. Вытаскиваем содержимое body и далее работаем только с ним
3. Вытаскиваем alt из img
4. Вытаскиваем title и текст из <a>
5. Удаляем все оставщиеся теги <> со вложенным содержимым, оставляя только текст разделенный пробелами
6. Удаляем односимвольные слова, слова содержащие цифры, знаки препинания и служебные символы, предлоги по списку, лишние пробелы - на выходе только текст разделенный пробелами.
7. Разбивка на фразы в зависимости от указанного числа слов в фразе.
8. Делаем морфологическую обработку массива фраз в зависимости от установленного чекбокса.
9. Дальше рассчет повторений фраз и итоговый рассчет их плотности.
Вот как-то так.
starki добавил 24.03.2009 в 16:18
Открыли глаза на некорректный рассчет веса фраз на некоторых страницах. Как оказалось иногда авторы страниц не закрывают тег <body>. Поправил парсер. Теперь берётся всё после <body>, а не между.
К примеру, собираюсь оптимизировать сраницу своего сайта по какой-то фразе. Получаю из выдачи яндекса страницу кнокурента. Выделяю из этой страницы тектсы из title, keywords, description, alt. Удаляю теги, знаки припинания, предлоги, однобуквенные слова, слова, содержащие цифры. В результате получаю цепочку слов страницы, разделенную пробелами. Из рядом стоящих слов составляю все комбинации фраз по нужному количеству слов в фразе. Полученное число фраз - 100% Рассчитываю сколько раз каждая фраза повторяется в общем массиве. Рассчитываю процент повторения каждой фразы. Полученные значения называю весом фразы.