Вернуться   Форум SAPE.RU > Практика оптимизации > Яндекс

-->
Ответ
 
Опции темы
Старый 01.06.2009, 22:55   #91
Специалист
 
Регистрация: 02.10.2008
Сообщений: 303
Вес репутации: 203
A_S_L - просто великолепная личностьA_S_L - просто великолепная личностьA_S_L - просто великолепная личностьA_S_L - просто великолепная личностьA_S_L - просто великолепная личностьA_S_L - просто великолепная личностьA_S_L - просто великолепная личность
По умолчанию

Цитата:
Сообщение от boric Посмотреть сообщение
Посмотрел сейчас внимательней каталог яндекса. Там порядка 1000-1500 категорий. Имхо с таким большим количеством категорий (не говоря о 5000 Ашманова) очень сложно справиться. Можно, конечно, но это потребует огромных вычислительных ресурсов. Да и например "Компьютеры-hardware". А деление на "десктопы", "ноутбуки", "мониторы", "видеокарты" и пр. - это имхо уже лишнее.
Собственно можно сделать хотя бы полсотни тематик. Это уже будет неплохо для первого шага. Да и учитываются не только строготематичные, но и смежные сайты. Ведь может же сайт о программном обеспечении ссылаться, например, на статью о компьютерном железе. А на сайте про вязание уместно будут смотреться ссылки на сайты о кулинарии.
Ведь важно то, что такие околотематичные ссылки действительно могут оказаться полезными и интересными пользователю. В любом случае, это будет гораздо лучше несвязанного с тематикой хлама.
A_S_L вне форума   Ответить с цитированием
Старый 01.06.2009, 23:40   #92
Эксперт
 
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 249
boric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущее
По умолчанию

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

В общем склоняюсь к тому, что ну его нафик - выявление значимых комбинаций слов. Наверно придется обойтись без этой возможности. А в случае фразы "звездные войны" ведь в тексте наверняка будут еще другие признаки ("кино", "показ" и пр.), по которым текст может быть отнесен не к астрономии и не политике, а к кино, хотя и с меньшей точностью.
boric вне форума   Ответить с цитированием
Старый 02.06.2009, 00:17   #93
Специалист
 
Аватар для kotofeich
 
Регистрация: 29.05.2009
Адрес: Уфа
Сообщений: 143
Вес репутации: 191
kotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личность
Отправить сообщение для kotofeich с помощью ICQ
По умолчанию

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

В общем склоняюсь к тому, что ну его нафик - выявление значимых комбинаций слов. Наверно придется обойтись без этой возможности. А в случае фразы "звездные войны" ведь в тексте наверняка будут еще другие признаки ("кино", "показ" и пр.), по которым текст может быть отнесен не к астрономии и не политике, а к кино, хотя и с меньшей точностью.
Читал последние n-постов. Какая-то философия пошла, как обычно далекая от практики. Поверьте у меня нет мульти-мощностей, как и у большинства из сеошников. Поэтому приходится делать с минимальными затратами человеко-ресурсов.

Вообщем скрипт готов к бою завтра покажу его на практике в новом посте, чтобы не путать новичков. Каких тематик будет не хватать для тестов - напишите мне в личку. Я дообучу алгоритм. Это не займет много времени.
kotofeich вне форума   Ответить с цитированием
Старый 02.06.2009, 00:21   #94
Эксперт
 
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 249
boric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущее
По умолчанию

kotofeich
Ждем. Прога работает по алгоритму, указанному в топике?
boric вне форума   Ответить с цитированием
Старый 02.06.2009, 00:28   #95
Специалист
 
Аватар для kotofeich
 
Регистрация: 29.05.2009
Адрес: Уфа
Сообщений: 143
Вес репутации: 191
kotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личность
Отправить сообщение для kotofeich с помощью ICQ
По умолчанию

Цитата:
Сообщение от boric Посмотреть сообщение
kotofeich
Ждем. Прога работает по алгоритму, указанному в топике?
Да. Строго по нему. Я напишу под какие тематики она обучена на данный момент.
В локалке у меня прога способна определять тематики для купленных ссылок через xmlrpc sape. Так что ей не нужно будет указывать списки url.

Здесь продемонстрирую определитель для конкретного url.
Причем каждый пользователь сможет сделать только 10 запросов в сутки для тестов. Так как каждый запрос жрет кучу ресурсов. Под тесты взял сервак 3.2 Ghz, 512mb ram. Надеюсь он выживет.
kotofeich вне форума   Ответить с цитированием
Старый 02.06.2009, 00:52   #96
Администратор
 
Регистрация: 22.11.2006
Сообщений: 5,868
Вес репутации: 21475166
Avelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспорима
По умолчанию

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

Этап 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) Возможно в прошлом этапе неверно проставлены коэффициенты и их нужно корректировать. Для этого необходим отдельный интерфейс, где выбрав тематику видишь все ключевые слова по ней с их коэффициентами. Изменяя коэффициенты мы усиливаем значение того или иного слова в определенной теме. При анализе множества сайтов мы приходим к стабильному результату.

Результат.

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

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

P.S. для определения тематики сайта, а не отдельной страницы легко можно брать ключевики с n страниц

P.P.S. На данный момент алгоритм реализован технически. Он успешно определяет 16 тематик. Обучение новой тематике занимает где-то 10 минут.

очень примитивно, но в первом приближении будет работать иногда верно.

лучше почитайте http://www.citforum.ru/pp/search_03.shtml может появятся более здравые мысли
Avelon вне форума   Ответить с цитированием
Старый 02.06.2009, 01:03   #97
Специалист
 
Аватар для kotofeich
 
Регистрация: 29.05.2009
Адрес: Уфа
Сообщений: 143
Вес репутации: 191
kotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личность
Отправить сообщение для kotofeich с помощью ICQ
По умолчанию

Цитата:
Сообщение от Avelon Посмотреть сообщение
очень примитивно, но в первом приближении будет работать иногда верно.

лучше почитайте http://www.citforum.ru/pp/search_03.shtml может появятся более здравые мысли
Спасибо за совет. С вашим мнением никак не могу не считаться. Завтра изучу подробнее.
kotofeich вне форума   Ответить с цитированием
Старый 02.06.2009, 03:20   #98
Мастер
 
Регистрация: 03.07.2007
Сообщений: 959
Вес репутации: 267
Константин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущееКонстантин Белокуров - прекрасное будущее
По умолчанию

Цитата:
Сообщение от kotofeich Посмотреть сообщение
Поверьте у меня нет мульти-мощностей, как и у большинства из сеошников. Поэтому приходится делать с минимальными затратами человеко-ресурсов.
Дык есть опасение, что и огород городить в таком случае прямо-таки не стоит.

Добавлено через 2 минуты
Цитата:
Сообщение от i298 Посмотреть сообщение
Тогда может ограничимся яндекс-баром?

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

Добавлено через 15 минут
...и, кстати, есть основания полагать, что Яндекс как раз и борется с такой "темой", когда в ответ на запрос в выдаче оказывается страница, если что и содержащая по теме запроса, так разве что похожую на запрос сапоссылку. А любим мы яндекс не только за это...

Последний раз редактировалось Константин Белокуров; 02.06.2009 в 03:20. Причина: Добавлено сообщение
Константин Белокуров вне форума   Ответить с цитированием
Старый 02.06.2009, 22:05   #99
Специалист
 
Аватар для kotofeich
 
Регистрация: 29.05.2009
Адрес: Уфа
Сообщений: 143
Вес репутации: 191
kotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личностьkotofeich - просто великолепная личность
Отправить сообщение для kotofeich с помощью ICQ
По умолчанию

Смотрите что получилось на практике здесь
kotofeich вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
алгоритм определения продажных ссылок bla-bla-bla Курилка 27 03.06.2009 11:24
Куплю ссылки с сайтов финансовой и бизнес тематики bizlinki Деловое сотрудничество 2 20.04.2008 23:49
Предложение: скопировать тематики сайтов из ЯК 9dVSnVN6 Пожелания пользователей системы 1 24.06.2007 01:11


Часовой пояс GMT +3, время: 04:13.