Архив рубрики ‘ Разработки ’

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

Этап 1: Определение ключевых слов сайта

1) Получаем страницу
2) Убираем теги, и все кроме букв и пробелов. Знаки препинания заменяем на пробелы. (Цифры удалить!!!)
3) Разбиваем весь текст на слова, то есть делаем одномерный массив слов.
4) удаляем слова меньшие 2 букв
4) Каждое слово прогоняем через стеммер.  Я использую алгоритм Портера. Для тех кто не в курсе стеммер - это программа которая отбразывает от слова суффиксы и приставки, оставляя корень. Алгоритм Портера слаб, но пока сойдет. Как найду морфологический словарь - сменю на него.
5) При прогоне через стеммер создаем новый ассоциативный массив, где ключом будет само слово, а значением колличество повторений слова. Например (”Yandex” =>3, “Тиц” =>5) и т.д.
6) Упорядочиваем ассоциативный массив по убыванию колличества повторений.
7) Удаляем все слова повторяющиеся менее трех раз (колличество под вопросом).
8) В итоге мы получили ключевики сайта с их “тошнотой”. Обычно их на этом этапе 50-100 штук.
9) Проверяем каждый ключевик по базе общих слов не несущих тематику. Например слова: “меня”, “когда”, “сколько” и т.д. Я храню эти слова в отдельной таблице бд и написал отдельный скрипт, который позволяет их сформировать. Обойдя сотню сайтов мы набираем базу самых популярных не имеющих тематику слов.
Этап 2: Создаем тематическую базу

1) Для начала в бд нужно создать три таблицы: “слова”, “тематики” и “веса”.
Поля таблиц:
“Слова”: word_id, word
“Тематики”: theme_id, parent_id, theme
“Веса”: word_id, theme_id, ves
2) Заполняем таблицу тематик. Я для этих целей пользуюсь базой Ашманова (где-то 5000 тематик). Не использую ЯК, потому что сайты в него заносятся вручную, то бишь робот тут не причем. В нашем случае необходимо знать тематику, которую видит робот на обычных сайтов. Я не говорю что тематика по Ашманову совпадет с тем что определил робот яндекса, но нам это и не нужно. Представьте что по Ашманову у нас вышло “кпк” для донора и акцептора, а по яндексу “сотовые телефоны”.Не все ли равно?
3) Самый трудный момент. Выбираем нужную тему, например “интернет-ресуры”. Из найденных в первом этапе ключевиков страницы выбираем относящиеся к этой теме, и проставляем им коэффициенты, насколько сильно они относятся к данной теме (балл от 0 до 1). Позже будем корректировать это значение, сейчас это не суть важно. Это значение и будет синаптической силой. В сумме они дадут активацию нейрона к данной тематике.  В реальности это дает потрясающие возможности даже для многозначных слов. Например слово “лук” можно отнести и к кухне и к “охоте”. Это не повлияет на верность определения.
Этот момент трудный, потому что придется обойти множество сайтов, чтобы собрать хотя бы по 10 слов для каждой тематики. На деле десяти слов вполне достаточно. Итого необходимо 50000 слов, чтобы определить тему сайта по Ашманову. Кто-то скажет это много, но в день при нормальной оболочке можно легко собрать тысячу слов. Итого 50 дней пассивного труда.
4) Мы создали семантическое ядро для каждой тематики, и указали с каким весом относится к каждой теме определенное слово.

Этап 3: Узнаем тему неизвестных сайтов и корректируем результаты

1) Поскольку мы первоначально как-то обучили программу. Теперь покажу как ей пользоваться.
Для неизвестного сайта выполняем этап 1 и узнаем ключевые слова с “тошнотой”.  В результате полученные примерно 30 ключевиков проверяем по базе к каким темам они относятся и какие коэффициенты имеют.

Примитивный пример:
Текст “Лук и стрелы это лук”.
Лук тошнота 2. Тема “охота” вес 0.7.  Тема “кухня” вес 0.6.
Стрелы тошнота 1.  Тема “охота” вес 0.8.
Находим активацию нейрона:
К теме охота: 0.7*2+1*0.8=2.2
К теме кухня: 0.6*1=0.6

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

Результат.

Данный алгоритм не нуждается в обсуждении его необходимости. Это каждый решает сам для себя. Мне плевать с колокольни если он вам не нужен:)

Для тех кто хоть что-то понял о том что я сказал - интересно услышать ваши мысли о его эффективности. У меня он уже почти реализован технически, и скоро начну пробовать. Если будет интерес к нему- прикручу как дополнительную услугу к линкфидатору или сделаю веб-сервис для проверки списка ссылок.

Google Bookmarks Digg del.icio.us Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru МоёМесто.ru Mister Wong

Исследуя выдачу яндекса (yandex xml), я нашел одну очень значимую деталь - яндекс знает о всех СДЛ сайтах!
На основе этих знаний я написал скрипт, который говорит к какой категории относится тот или иной сайт, и какая к нему трастовость. С очень высокой точностью этот скрипт определил все мои СДЛ сайты, и гавносайты! Я просто в шоке от таких результатов. Если есть время, перейдите по ссылке ниже и потестите мой скрипт. Возможно он ошибется:) Но если так решил яндекс, то врятли это простая ошибка.

Проверить сайт на СДЛность

В любом случае буду рад почитать ваши комментарии о его точности.
В целом я пошел дальше и приделал этот скрипт к моему linkfeed-клиенту, и на основе него купил кучку ссылок с СДЛ сайтов с запредельной трастовостью. Не знаю есть ли разница в передачи тиц от них, по сравнению с ГС, но попробовать стоит. Так что это мой новый эксперимент.

P.S. Скрипт за сутки может проанализировать до 1000 сайтов. Если он начал глючить, значит колличество запросов к яндексу в этот день у меня закончилось.

Google Bookmarks Digg del.icio.us Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru МоёМесто.ru Mister Wong

Не писал пару дней, потому что работали над множеством проектов. Сегодня просто решил рассказать вкратце, что творится у меня в жизни, над чем все-таки ведется работа, и немного о том, что творится в интернете.
Итак, сначала о мега-проектах:
1) Теперь у моего сайта появилась pda-версия по адресу pda.academiaopen.ru, которая предназначена для просмотра сайта через различные мобильники, кпк, коммуникаторы и прочие телефончики. Эта версия сайта отличается своей легкостью, не содержит лишней графики, и все картинки в постах автоматически ужимаются по размеру и качеству. Очень скоро этот программный продукт выложим в открытый доступ, и каждый желающий сможет иметь pda-версию своего блога. Наш скрипт позволяет создать мобильную версию для сайтов на движках joomla 1.5 и wordpress. Суть работы скрипта проста до невозможности - вы создаете у себя поддомен типа pda.yoursite.ru, ложите на него наш скрипт, и хопа - мобильная версия вашего сайта готова:)
Скрипт будет распространяться бесплатно, и кому не жалко могут сделать donate в развитие проекта:) Хотя я слабо верю в donate от русскоязычного населения, но надежда умирает последней:) Основная надежда у нашей фирмы на иностранную аудиторию.
В любом случае ждите аннонса проекта на официальных сайтах cms joomla и wordpress (ну и у меня в блоге конечно).
2) Я писал пост “Анализатор страниц для покупки ссылок“, в котором выкладывал раннюю версию скрипта для анализа страниц, на которых мы покупаем ссылки. Идея продолжила свое развитие, и скрипт претерпел уже множество модификаций (на сайте я его не обновлял), и теперь я решил заняться автоматизацией и типизацией покупок ссылок. Поскольку, вручную прокачивать сотню сайтов уже становится нереально (!!!). А ведь при покупке я фактически выполняю одни и теже действия, лишь немного меняя стратегию продвижения. Но если действия одни и теже, и они муторные, то их обязательно надо автоматизировать!)
Вообщем идея состоит в следующем: пользователь заходит в систему “Оптимизатор” (сейчас она работает как клиент биржи linkfeed), и видит свои проекты. Для покупки ссылок он выбирает только схему раскрутки, например: прокачка нулевиками, прокачка мордами, прокачка тематикой, и все… Скрипт сам начинает поиск и разбор сайтов на которых можно купить ссылки, находит наиболее качественные и релевантные, проверяет их на наличие в индексе, и все “гамно” автоматом заносит в BL. Остальные покупает. Также скрипт ведет ежедневную статистику о колличестве купленных ссылок, расходах оптимизатора, строит различные графики, и что самое главное (!) при апдейте тиц вычисляет эффективность прокачки той или иной схемой, что в итоге дает оптимизатору реальные цифры о качестве прокачки. Вот такие пироги:) Работа над этой системой кипит, и скоро можно будет говорить о первых результатах.

Немного об интернете: Из блога Кikk узнал, что гугл ввел новый тег, позволяющий указать поисковику где у вас оригинал статьи, а где побочные статьи. Это должно решить проблему неверного распределения pr. Подробности читайте в посте Новый тег rel=canonical от Google.

Немного о жизни: Паралельно с моими проектами пишу диплом и работаю над программным продуктом на тему “автоматизация воспитательного процесса в ВУЗе”((( Гори синим пламенем этот гребанный универ. Когдаж он блин закончится…

Усиленно читают у меня в блоге:

Google Bookmarks Digg del.icio.us Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru МоёМесто.ru Mister Wong

Итак, в прошлом посте Барабум для яндекса! я начал писать, о том что разрабатываю сервис для анализа страниц, потому что чаще всего оптимизаторы покупают ссылки на биржах почти вслепую. Фильтры имеющиеся у бирж содержат далеко не самую актуальную информацию, и не всегда достаточную для оценки сайта. Само-собой оптимизатор не станет просматривать все вручную, и оценивать на глаз.
Итак, первая тестовая версия находиться здесь , и пока анализирует по одной странице за раз. Позже реализую пакетный анализ.
Возможно я выставил слишком жесткие требования к страницам, но зато если анализатор напишет, что страница идеальна, значит так оно и есть=)

Ну что, товарищи сеошники? Предлагаю потестировать и рассказать о своих впечатлениях:)
Если нужно я рассказу об алгоритмах, как он действует.

P.S. Убедительно прошу не писать в адресе страницы http и www!
Read the rest of this entry

Google Bookmarks Digg del.icio.us Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru МоёМесто.ru Mister Wong

Барабум для яндекса!:)

В самом ближайшем будущем запущу новый сервис, который назвал Барабум.
Наверняка вы сталкивались с проблемой, что при покупке множества ссылок, у вас в средствах вебмастера отображались они все, но тиц не увеличивался, а уменьшался. В результате мне пришла отличная мысль создать уникальный сервис.
Задача сервиса - помочь оптимизатору найти качественные сайты для покупки ссылок на любых биржах, то есть выбрать те площадки, у которых наибольшая вероятность передачи ТИЦ.
В качестве исходных данных Барабуму нужно будет передать ссылки на сайты, или страницы, где вы собираетесь приобрести себе линкбаки (в csv или txt формате). Экспорт ссылок сейчас поддерживают все биржы ссылок.
Далее сервис выполняет следующие действия:
1) Очищает текст сайтов, полученным по вашим ссылкам от тегов noindex, script и прочей лабуды, которая неиндексируется, или плохо индексируется.
2) Проверяет реальное колличество внешних ссылок.
3) Проверяет - является ли сайт форумом, если да, то лучше на нем не брать ссылки, а взять на нормальном сайте. При этом определяет вероятность того, что яндекс сможет определить сайт как форум.
4) Проверяется колличество контента на странице. Если его недостаточно, а внешних ссылок много, то опять же лучше избежать такого сайта.
5) Наверно самый важный момент. Осуществляется поиск “блоков ссылок”, которые пессимизирует яндекс, в результате чего покупка на таких сайтах бессмысленна. Даже если эти блоки не продажные, все равно лучше не стоит рисковать своими деньгами!

Всего 5 шагов, но насколько они упрощают и улучшают качество работы оптимизатора! Ведь нереально проверить множество сайтов вручную на эти 5 параметров.
На данный момент я сделал движок этого скрипта, и он определяет эти параметры для сайтов. Есть некоторые проблемы с кодировками, но думаю на днях их решу.
Интересно узнать ваши мысли по данному сервису. Может нужно учитывать еще какие-нибудь параметры, которые можно определить програмно?

Read the rest of this entry

Google Bookmarks Digg del.icio.us Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru МоёМесто.ru Mister Wong

Выводы по моей Parazit CMS

В прошлом посте про промышленные масштабы я уже писал, что сделал cms (назвал parazit cms) для поднятия огромного числа сайтов, причем управление всеми сайтами идет из одной админки.
Сейчас просто запишу пару плюсов которые обноружил по-ходу дела.

  • Среднее время индексации 1 неделя.
  • Решил не делать sef ссылки, и проблем из-за этого не вижу. Яндекс и гугл отлично индексируют и выдают сайты.
  • По сравнению с многими любимым wordpress, parazit cms при генерации страницы занимает 100кб оперативной памяти, и имеет 2 запроса к базе данных (wordpress жрет 6мб оперативной памяти, и туеву хучу запросов к бд).  Отсюда экономия на хостинге или виртульном сервере, как в моем случае.
  • Все посты для всех сайтов хранятся в одной БД, поэтому легко поддаются переносам. Это лучше чем всякие зёбры CMS и simple CMS, которые создают кучу текстовиков. Обработка текстовиков для php в итоге занимает намного больше времени.
  • Сайт подымается обычно в течении часа (при условии, что тексты подготовлены).
  • За месяц удалось получить на раскручиваемых площадках максимум тиц20. (Причем абсолютно все ссылки были скуплены во второй день после добавления в сапу и линкфид!!!)
  • Поразили результаты по запросам. Попал в топы почти по 20 запросам на каждой из своих площадок в течении месяца.

Если интересно глянуть пример одного из сайтов, то смотрите под катом. Read the rest of this entry

Google Bookmarks Digg del.icio.us Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru МоёМесто.ru Mister Wong
Яндекс.Метрика