TopperHarley

TopperHarley
Рейтинг
350
Регистрация
24.03.2009

Смысл в том что если памяти мало то на большом объеме ключей скрипт завалится набок.

Ну а вообще попробуй, если интересно

Ты нолик не заметил?

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

А Пшенников это упомянул в своем докладе. Все однотипные ключи группируем в 1 строку в файле ключей и используем в режиме MULTIKEY.

Но не классически(ключ;атрибут1;атрибут2), а так:

ключ1;аналог ключа 1;аналог ключа 1

ключ2;аналог ключа2;аналог ключа 2

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

Теперь о том как кластеризировать.

Берем зенку или апарсер. На худой конец берем это(гугл режим работает).

Запуливаем свои запросы на парсинг и на выходе нужно получить:

ключ1*урл1
ключ1*урл2
ключ2*урл3
ключ2*урл1
ключ3*урл3
ключ3*урл5
ключ4*урл1
ключ4*урл6
..

Не менее десятка, иначе будет ругаться.

Некоторые урлы будут повторяться, и тут сработает кластеризация. Чтобы ее выполнить по такому файлу нужно качнуть р-прожект, + к нему либу mefa на том же сайте.

И ему скармливаем скрипт:

library("cluster")
library("mefa")
data<-read.table("c:/inclust.csv", sep="*")
x<-mefa(stcs(data))
cl<-hclust(dist(x$xtab), method="ward.D")
clustnum<-cutree(cl,k=round(length(levels(data[,1]))/5),0)
write.table(clustnum, file='c:/out.csv', sep=';',col.names = FALSE)

В скрипте есть путь файла на вход, путь файла на выход. Плюс указаны разделители.

После отработки r-скрипта получим файлик вида:

"25 кадр бросить курить онлайн";1
"аудио как бросить курить";2
"аудио книга как бросить курить";2
"бросай курить картинки";1
"бросил курить набрал вес";1
"бросить курить 25 кадр отзывы";1
"видео онлайн как бросить курить";3
"как бросить курить онлайн";3
"как бросить курить смотреть онлайн";3
"кар как бросить курить";4
"кинг корпорация бросайте курить";5
"книга как бросить курить карр";4
"корпорация бросайте курить";5
"мам я бросил курить аккорды";1
"метод шичко бросить курить";1
"методы бросить курить";1
"можно ли бросить курить сразу";1
"отзывы бросивших курить";1
"почему бросить курить";1
"почему когда бросают курить толстеют";1
"почему полнеют когда бросают курить";1
"программа бросить курить";6
"программа чтоб бросить курить";6
"скачать ален карр бросить курить";4
"скачать аудиокнигу как бросить курить";2
"скачать программу бросить курить";6
"фильм легко бросить курить скачать";3
"шатунов я бросил курить";1

Циферка совпадает у всех ключей, попадающих в один кластер(все синонимы по мнению ПС)

Как видим по мнению гугла ключи "фильм легко бросить курить скачать" и "видео онлайн как бросить курить" - аналоги, их можно собрать к кластер

Домашнее задание тем, кого эта тема заинтересовала: развернуть файл результата в файл ключей так чтобы все синонимы были в 1 строке и разделялись например через |

Ложка дегтя: при большом числе ключей r-project зохавывает по 30ГБ оперативы )

daymos:
по следам этого поста возникло два вопроса:
1. что за р-проджект, что с ним делать? потому что я его только скачать смог
2. на какой минуте о нем говорят? я раз прослушал и теперь не могу найти, а второй раз слушать не охота.

1. движок чтобы заряжать в него скрипты свои

2. после часа примерно

Через него(и не только через него) можно делать кластеризацию запросов. То есть собирать нечеткие дубли ключей в одну MULTIKEY строчку. Чтобы соплей не было.

daymos:
итальянский тоже подключи пожалуйста

К сожалению не получится. Словари есть только на русский/английский и немецкий.

Другие языки подключить не получится, по крайней мере я пока не придумал как, но поработаю в этом направлении. Возможно с изменением алгоритма под другие словари получиться сделать и итальянский.

Залил PB 2.12.1

Добавлен новый алгоритм генерации текста SyntaxTextGen.v1 - генерация через синтаксический/морфологический анализ текста. Активация через меню плагинов.

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

Все кому сделать триал активацию - скиньте имейлы в аську или в личку

---------- Добавлено 20.04.2015 в 12:41 ----------

Обновил PROParser 1.8.1.

Добавлен азербайджанский.

Добавлена фича "аккуратной чистки".

Аккуратная чистка более требовательна к тексту, поэтому на выходе его будет парситься меньше, но он будет чище.

Фича по умолчанию выключена:



---------- Добавлено 20.04.2015 в 12:48 ----------

daymos:
Тут недавно проскакивало видео, по дми и алгоритму генерации. Я на флру уже повесил тз с 100+, так что 30, это слишком мало. Если аддон идет отдельно, то предлагаю поднять хотя бы до 50. У меня бул крутой подъем когда добавили ДОС3. Имхо просто взять и добавить новый алго в пандору - пойдет на пользу всего на некоторое время. Так что Топ, давай отдельным аддоном и за , а то с таким ажиотажем завтра все доры будут только на нем, ну и результат как бы ожидаемый.

На старте пока будет 30$. Но спасибо за поддержку, деймос!

_Snake_:
Если ваш алгоритм может отслеживать цепочки и подбирать тематику. Не получится ли просто выстраивать цепочки указав тематику без помои текста?

Чтобы построить цепочки нужно чтобы было на основании чего их строить, не так ли?

Тот подход, который вы описываете применяется в одном из seo продуктов. Генерация без текстовки. Я пробовал применять туже либу что и в нем. Но отбросил, не понравились мне тексты, получающиеся в результате:

Вот примерные результаты по тематике "стройка":

Провинциально не бравшаяся пердунья исключительно оземь предусматривает! Паскуда является одержанной рыбой. Досадно не распознаваемый является эллинской травматизацией. это вузовский порыв, если, и только если трофические авиадиспетчеры залегают. Меланезийские особенности смогут отзаниматься поперек отклеивания. Косинус является по-королевски вспыхнувшей сердитостью. Выбивавшиеся преимущества гавкают про. Для начала следует выяснить, что обуславливает тот факт, что самодвижущаяся карликовость является, скорее всего, настоятельно вылетавшей уменьшительностью. Прежде всего, необходимо отметить взаимосвязь между вычуром беспрерывно не распространившей катаканы, с одной стороны, и звездчатой гордеевной, с другой. Рисовальное обведение с помощью степенного — это демаркационная неоригинальность. Ненадежно взбивающие ленинцы беспричинной истеричности — это нахальные комсомолки пропоротого лоскута. Подготовляющее примыкание это не навязанная прижимистость, и метеорологическое происшествие нереально пластично заплевывает. Навостренная булавка это, наверное, не отпотевающая поликлиника. Не исследуемая владычица выручает пастораль благочинно вытягиваемой ложности великодушного самостоятельно подраненного рьяно не индивидуализирующим пустяком. Подгоревшая ботва упрочила!

Узнаете )?

_Snake_:
Я имею ввиду каким способом алгоритм понимает, то этот текст про казино, а этот про куртизанок?

Алгоритм собирает статистику и использует ее. Извините, но более подробно описывать работу алгоритма мне бы тут не хотелось.

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

_Snake_:
Можно подробнее, каким образом учитывается тематика? Словарь тезауруса?

Анализируется исходная текстовка, по ней собирается статистика. Если в исходной текстовке про казино, то алгоритм будет подбирать про казино. Про куртизанок не станет. И наоборот. Если в исходной текстовке про куртизанок, то про казино не станет.

Dos3:
TopperHarley, это всё в пандоре уже есть ?

Полностью нет еще, есть часть.

sergesss:
TopperHarley, когда ждать реализации в комбайне?

Думаю скоро. Вот только вопрос в цене. Ценник в 30 енотов приемлем?

Синтаксический/морфологический анализ текста.

Учитывает тематику исходной текстовки.

[вырезано описание алгоритма]

Никакой базы синонимов нет. Не синонимизация, хотя получается похоже.

Всего: 2916