timo-71

Рейтинг
63
Регистрация
19.09.2018
billypelegrini:
timo-71, вобщем давай реальный сервис, который нужно обойти

Лень. Но проверка простейшая, в вашем случае - если mousemove не привел в координаты getBoundingClientRect() элемента или нарушена цепочка onmousedown onmouseup onclick - клик нещитовый. Вероятно, много сервисов это делают, причем гораздо сложнее.

Прежде

происходит всего два события -- это нажатие и отжатие

как то надо попасть туда, куда кликать

document.addEventListener( "mousemove", function(e){ console.log(e.layerX) } );

потом, то о чем говорили mousedown

Во тут то вас и поймали.

Иными словами при вашем программном клике зафиксируется только onclick, тогда как при действии реального пользователя куда больше

alaev:

Автоматическое описание на основе распарсивании конкурентов из серпа?

Не так. Ссылки со сниппетом на контент со своего же сайта, подобранные с помощью всяких моделек на корпусе из топа и

распарсивании конкурентов из серпа

Ну типа, для изделия "кпп камаз 740.15"

$res = sqlt()->q('SELECT highlight(s, 0, "<span>", "</span>") tt, highlight(s, 1, "[", "]") an, k, id, img, url, price, doctype FROM s WHERE s MATCH :q ORDER BY bm25(s)',

[ [':q'=>'коробка передача'],
[':q'=>'zf модель'],
[':q'=>'вал первичный'],
[':q'=>'вал промежуточный'],
[':q'=>'картер коробка передача'],
[':q'=>'коробка раздаточный'],
[':q'=>'механизм переключение']
])->resbytpl( \tpl\wigets( [ 'goods'=>'goodslisting', 'article'=>'article', 'news'=>'article' ] ) )

Вместо рандомных "Вам может понравится", 5 последних новостей/статей и т.д.

джинсы

денить_сэлвидж

Долго думал.

$ mystem

деним
деним{денить?}
😂
samimages:
рентабельность затрат + еще обработка данных

Затраты:

gensim бесплатно

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

скрипт обработки (232 строки у меня) - максимум несколько часов, если знать что делать (методики)

скрипты парсера я-хмл, урлов, ввиду огромного кол-ва библиотек питона - максимум пара часов спецу

методики - ваше время

Итого время аналитика - несколько дней, кодер - несколько часов.

Плюсы: word2vec, lsi и еще куча моделей

ресурсы (пока время)

2019-10-06 17:57:02,109 - root - INFO - Start

2019-10-06 17:57:12,603 - root - INFO - lib loaded
2019-10-06 17:57:12,609 - root - INFO - ru_stopwords loaded
2019-10-06 17:57:16,998 - root - INFO - text content loaded and lemmatized
2019-10-06 17:57:17,091 - gensim.corpora.dictionary - INFO - built Dictionary(3567 unique tokens: ['wildberries', 'большой', 'выбор']...) (total 16396 corpus positions)
2019-10-06 17:57:17,091 - root - INFO - id2word = corpora.Dictionary: done
2019-10-06 17:57:17,130 - root - INFO - corpus by id2word: done
2019-10-06 17:57:17,132 - gensim.models.lsimodel - INFO - using serial LSI version on this node
2019-10-06 17:57:17,132 - gensim.models.lsimodel - INFO - updating model with new documents
2019-10-06 17:57:17,132 - gensim.models.lsimodel - INFO - preparing a new chunk of documents
2019-10-06 17:57:17,158 - gensim.models.lsimodel - INFO - using 100 extra samples and 2 power iterations
2019-10-06 17:57:17,158 - gensim.models.lsimodel - INFO - 1st phase: constructing (3567, 150) action matrix
2019-10-06 17:57:17,194 - gensim.models.lsimodel - INFO - orthonormalizing (3567, 150) action matrix
2019-10-06 17:57:18,101 - gensim.models.lsimodel - INFO - 2nd phase: running dense svd on (150, 1272) matrix
2019-10-06 17:57:18,178 - gensim.models.lsimodel - INFO - computing the final decomposition
2019-10-06 17:57:18,179 - gensim.models.lsimodel - INFO - keeping 50 factors (discarding 33.128% of energy spectrum)
2019-10-06 17:57:18,196 - root - INFO - lsi_model: done
2019-10-06 17:57:18,356 - gensim.topic_coherence.probability_estimation - INFO - using WordOccurrenceAccumulator to estimate probabilities from sliding windows
2019-10-06 17:57:25,422 - root - INFO - CoherenceModel: done
2019-10-06 17:57:25,447 - gensim.models.phrases - INFO - collecting all words and their counts
2019-10-06 17:57:25,447 - gensim.models.phrases - INFO - PROGRESS: at sentence #0, processed 0 words and 0 word types
2019-10-06 17:57:25,566 - gensim.models.phrases - INFO - collected 14999 word types from a corpus of 16396 words (unigram + bigrams) and 1272 sentences
2019-10-06 17:57:25,574 - gensim.models.phrases - INFO - using 14999 counts as vocab in Phrases<0 vocab, min_count=1, threshold=5, max_vocab_size=40000000>
2019-10-06 17:57:25,576 - gensim.models.phrases - INFO - collecting all words and their counts
2019-10-06 17:57:25,578 - gensim.models.phrases - INFO - PROGRESS: at sentence #0, processed 0 words and 0 word types
2019-10-06 17:57:25,932 - gensim.models.phrases - INFO - collected 15207 word types from a corpus of 13221 words (unigram + bigrams) and 1272 sentences
2019-10-06 17:57:25,932 - gensim.models.phrases - INFO - using 15207 counts as vocab in Phrases<0 vocab, min_count=5, threshold=5, max_vocab_size=40000000>
2019-10-06 17:57:25,932 - root - INFO - n-gramm: done
2019-10-06 17:57:26,957 - root - INFO - lsi result sorted
2019-10-06 17:57:27,223 - root - INFO - Result n-gramm file saved

25 сек на обработку примерно пол мегабайт текста, из них 8 сек когеренцию считал.

coherence: 0.4222778935820691

что то типа согласованности тематик, правильней от нее плясать.

сначала определить модель и кол-во тем с максимальной

alaev:
Да ни о чем 😂

Очередной поиск философского камня. Распарсить выдачу и проанализировать. В топах прикрученные ПФ сайты, агрегаторы, отзовики, инфо-сайты, форумы, справочники и доры.

Очень серьезный у вас подход, ооочень научный. Пожалуйста, не заразите этим Нижегородцева, он пока только по ТОП 10 анализ делает.

доры тоже ПФ прикрутили:D

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

Для СЕО, сообщество не придумало как использовать технологию. Копирайтеры прибежали. Хотя, повторю, что вообще для этого на рассматривал. Плюс у них, часто, странное понимание lsi - синонимы.

Несколько человек ( samimages, burunduk, Devvver) явно что то знают и направления подкинули. Респект🍻

Одно из них анализ конкурентов. Ну например, по этим данным можно получить

"директ_яндекс";1420.8192357168632

"интернет_магазин";775.3101392947609

"вк_группа";716.7936561916383

"деньги_яндекс";450.33173125775517

"почта_рамблер";336.1453415537198

"метрика_яндекс";311.69419759044774

"adwords_google";243.67762536248173

"домен_регистрация";221.47089971881667

.... 1057 н-грамм

А для этого:

"интернет_магазин";1940.6636331215689

"каталог_товар";355.30837666024

"нокиан_нордман";293.49859816069124

"arctic_ice";130.42074089707793

"arctic_goodyear_ice_ultragrip";102.47343927627553

"нокиан_хакка";100.18268179331146

"евро_кама";92.72717358524078

"ice_sibir";90.49602429593163

"кама_флейм";85.41184492408178

"formula_pirelli";68.14245310308087

"nokian_nordman";63.1354804778151

"грин_нокиан_хакка";62.23469626554196

"guard_ice";61.21789878842434

"ice_kumho_wi_wintercraft";55.894603241604834

"ice_north";54.56377935489996

"guard_ice_yokohama";53.23295546819508

"ice_winter";52.9140104378242

"бриз_кама";51.989818649441084

"formula_ice_pirelli";49.71399094312819

всего 306, только из того что в топ10 для этого сайта. Плюс, это в корне неверный результат для шин, так, как корпус без цифр.

Наглядно, что попадает в корпус. Пока в скрипте обработка simple_preprocess, поскольку функция обработки и фильтрации еще в тестах

Автомобильные шины nokian nordman 5 175/70-r14 зимние. Шина Nokian Nordman 7 185 70 R14 92T шип. Покрышки Nokian Nordman 5 185 70 R14 92T шип

simple_preprocess:
['автомобильный', 'шина', 'nokian', 'nordman', 'зимний']
['шина', 'nokian', 'nordman', 'шип']
['покрышка', 'nokian', 'nordman', 'шип']
split:
['автомобильный', 'шина', 'nokian', 'nordman', '5', '175', '70', 'r14', 'зимний']
['шина', 'Nokian', 'Nordman', '7', '185', '70', 'R14', '92T', 'шип']
['покрышка', 'Nokian', 'Nordman', '5', '185', '70', 'R14', '92T', 'шип']

И, да. Никакой науки здесь нет. Любая сео-контора при необходимости это может иметь в своем арсенале. Это не дорого.

Gensim - это библиотека с открытым исходным кодом

Питон прогер средней руки тоже доступно. Хотя, никого не переубеждаю. Хозяин-барин.

Вообще, конечно gensim пушка.

Что известно:

Запрос "шина nokian nordman 175 70 r14";

Топ20 Яндекса.

Ответ в н-раммах. Больше во вложении.

[('nokian_шина', 121.03604096752892),

('nokian_nordman', 92.53252877327878),
('nordman_sx', 40.662454067075835),
('зимний_шина', 33.50702178650591),
('диск_шина', 28.009722415062864),
('легковой_шина', 28.009722415062864),
('nokian_nordman_sx_шина', 25.414033791922396),
('летний_шина', 24.185662496717313),
('nokian_nordman_шина', 19.401981839558452),
('автомобильный_шина', 19.391346287351215),
('купить_шина', 19.155270066072582),
('зимний_шиповать', 18.847699754909573),
('качество_соотношение_цена', 18.49635303877127),
('соотношение_цена', 18.49635303877127),
('nokian_резина', 17.751952675237575),
('nokian_nordman_шина_шип', 16.417061556549463),
('nordman_шип', 16.417061556549463),
('зимний_резина', 15.903417392949137),
('интернет_магазин', 15.38824439328674),
('получение_товар', 15.061724842672314),
('отличный_резина', 13.915490218830495),
('nokian_nordman_летний_шина', 13.302114373194524),
('nordman_xl', 12.049024177230285),
('nokian_nordman_зимний_шина', 11.939681132035972),
('управляемость_хороший', 11.771353930087644),
('доступный_цена', 11.560220649232045),
('балашиха_мо', 11.146053943565045),
('зимний_купить', 10.314376189423697),
('nokian_nordman_sx', 10.165613516768959),

Алгоритм, кол-во н-грамм в корпусе на вес слова в топике lsi модели, если он больше трети от максимума.

уупс, цифры из корпуса удалены

t = ' '.join(simple_preprocess(t.strip()))

Это без цифр, хотя в запросе они есть. Потом с цифрами сделаю. Сравним.

zip 187013.zip
burunduk:
а это запросозависимый фактор, есть куча запросов, которые без цифр будут неполные

Беда в том, что сразу не понять:( Много шума от них. Для своих нужд принял решение цифры оставить, но фильтровать. Как на уровне парсера хтмл, так и другими методами.

burunduk:
не, это особенности системы, заточенной на поиск значимых изменений, т.е. переписывать часть обработчика просто лень

С другой стороны, их может и можно отдельно проанализировать. Ну, чтобы понять за счет чего они тут. Типа 2гис, а там... И, в итоге, исключить тех кто не достоин быть в топе по тексту. Короче, методику надо.

Про изменения важно на самом деле, типа когда все пересчитать. Спасибо за наводку.

Devvver:
В моем скриншоте в первых 2 позициях есть 2000 и в сниппете и в титле.
Не забывайте что Яндекс мог использовать умножающие коэффициенты для отдельных источников. Например для Википедии как для авторитетного источника.
В видео о ранжировании упоминаются кликовые факторы и удовлетворенность текстом.

В вашем скрине, про кино только кинопоиск и вики справа, еще осень в нью-йорке упоминается как песня. Но, не настаиваю про сниппет. Я не сеошник. Отметил лишь факт что 2000 четко акцентирует тему "осень в нью-йорке", а без 2000, первые 3 страницы выдачи не содержат осень по cntrl-f

Так что цифры оставлю пока☝

Devvver:
timo-71,
шарлотта уилл 2000
http://picplus.ru/img/1910/05/2a32948c.png

Зачем вы в гугле смотрите?

шарлотта уилл

осень в нью-йорке в гугле есть

осень в нью-йорке в я нет

шарлотта уилл 2000

осень в нью-йорке в обоих пс есть

* в пределах 1 экрана

Для Яндекса цифры 2000 достаточно чтобы значимость в топе темы "осень в нью-йорке" усилилась для запроса про шарлотту и уилла. Если, конечно, нет чего-то того, что я не учел. В сниппете 2000 не видать, опять же.

Отсюда и вопрос к сообществу - цифры в корпусе "убрать нельзя оставить", где поставить запятую?

У gensim есть метод simple_preprocess , который готовит пассаж, для включения в корпус. Оно удаляет все кроме слов. То что выкладывал, иногда цифры оставлял иногда нет.

* 2000 год выхода фильма.

А гугл - просто для сравнения.

samimages:
Например берем запрос, берем историю выдачи до ТОП-100, за пару лет
burunduk:
нет исторических данных

Зачем? Какой то урл долго в топе? И именно его контент включить в корпус, или наоборот исключить. А может, без разницы... Ну онжетрастпфвитальный и шум.

И еще вопрос. Про цифру в корпусе. Запрос осень в нью-йорке, данные отсюда

Один из тематических векторов

-0.151*"шарлотта" + 0.145*"приключенческий" + 0.138*"боевик" +

-0.135*"осень" + -0.130*"википедия" + 0.127*"уилл" + -0.126*"hd"

+ 0.124*"качество" + -0.123*"2000" + 0.117*"триллер"

2000, нужно ли закладывать цифру? В буквах и цифрах типа 0.041*"прага" + 0.015*"место" на самом деле разные модели

где то в корпусе все кроме слов выжигается, а где то нет

шарлотта уилл

шарлотта уилл 2000

См. скрины. Браузер выбрал Опера, с которым практически не работаю. Ну там, резка с кино и т.д. Все, что через впн. Вспомнил, еще браузер есть, Вивальди, похожий топ. Один файл не поместился, >5.

Буду признателен за

1. Ваш топ, если он не совпадает с моим

2. Интерпретацию такого поведения

jpg g-s-y.jpg
jpg ya-s-y.jpg
jpg ya-s-y-2000.jpg
jpg g-s-y-2000.jpg
png viva-ya.png
Всего: 541