АРМАДА
Напиши свой генератор текстов!
На страницу 1, 2, 3, 4  След.
Новая тема Написать ответ

Вацлав
Сетевой Гугляка
Зарегистрирован: 21.02.2006
Сообщений: 4965
Обратиться по нику
# Добавлено:Ср Ноя 07, 2007 10:52 amДобавить в избранноеОтветить с цитатой
Обычно я стараюсь писать только о том, на чем действительно "собаку съел". Так и на сей раз, я расскажу вам, как написать собственный генератор текстов, качественно превосходящий все имющиеся на рынке по скорости генерации, качеству генерации и грамматической верности
полученных текстов. Нет, я не буду спорить, многие публичные и даже бесплатные генераторы будут превосходить полученный вами скрипт по
наличию всяких мулечек, функций и прибамбасиков, но зато вы получите собственный генератор с открытым кодом и спокойно сможете дописать любые нужные вам функции.

Что вообще такое генератор текстов и зачем он нужен? Программное обеспечение, называемое "генератором текстов" служит для засирания
интернета, в общем-то. Но если мы отбросим идеологическую подоплеку, то нам он будет служить для создание неограниченного количества бредового, но релевантного текста, насыщенного кейвордами. И честно говоря, нет никаких законов или правил, запрещающих нам создавать и размещать безсмысленные страницы. Правда, и поисковым системам никто и ничто не может запретить забанить абсолютно любые страницы.

Что обычно входит в состав генератора текстов? Как правило, ГТ состоит из трех частей. Первая, и самая сложная часть, это набор логики для непосредственного формирования текстов. Вторая часть обеспечивает наполнение этим текстов самих страниц и/или иные фунции ввода-вывода (размещение на ftp, автоматический постинг в блоги, создание карты сайтов, перелинковку готовых страниц, итп). Третья часть же обычно подразумевает собой интерфейс или работу с конфигурационными файлами. И если по второй и третьей части существует множество литературы, готовых примеров и разных предпочтений пользователей, то я расскажу вам о самой сложной логической части - о первой и основной составляющей.

Как, собственно говоря, генерируются релевантные тексты? Для начала давайте определимся - релевантный текст, в данном случае, означает
текст наполненный ключевыми словами, фразами и словоформами тематически связанными. В идеале - это грамматически правильный текст, но абсолютно безсмысленный. Почему я прицепился к грамматической правильности, если до сих пор нормально срабатывает и тупая мешанина кейвордов? Потому что я верю, что рано или поздно Google научится определять сначала и грамматическую правильность текстов, а впоследствии и смысловую тоже. Грамматику умеет проверять примитивный Word, так кто сказал, что гугл не сможет того же? Помимо этого, грамматически правильные тексты труднее поддаются статистическому анализу. Т.е. проверке среднего количества различных знаков препинания, местоимений, артиклей, междометий и других, маловажных, но значительных признаков статистически верного текста.

Таким образом, любой маломальски грамотный программист, знающий основы грамматики может написать алгоритм по 99% отсечению дорвеев построенных на "мешанине кейвордов", а действительно грамотный специалист или команда таковых, легко может вычислить и 90% реализаций более сложных текстов, построенных на алгоритме цепей Маркова, которые все же нарушают некоторые правила языка. А значит чем больше размер текста (или количество страниц), тем легче поймать "Марковку" за ботву. Еще раз повторюсь. Многие сеошники часто критикуют меня за излишнюю страсть к внутренним факторам и качеству контента, убеждая меня и себя, что "рулят ссылки и другие внутренние факторы". Да, это справедливая критика. Но мне просто нравится быть чуть на шаг впереди и не предполагать того, что инженеры Google глупее меня. Если понимаю я, как реализовать отсев доров на базе анализа контента, то почему это не понимают в гугле? Понимают, но пока что выгоднее и проще вести отсечение по внешним признакам (линк-спам, например). Но с темпами роста мощностей гугла и повышения скорости индексации и обнаружения уже сейчас дублей текста (ухудшающего судьбу агрегационных сплогов, например) стоит ожидать и возможности обнаружения "хренового контента" и на этапе индексации страницы.

Ладно, уйдем от совсем общей теории к более алгоритмической, до того, как перейдем к практике.

Итак, из чего состоит текст на английском языке (начнем мы именно с него, как с существенно лучше алгоритмизируемого, чем русский)? Из
предложений, вот удивительно! Из набора предложений, ведущих повествование на заданную тему. Из чего состоят предложения? Как и во многих языках из существительных, прилагательных, глаголов и наречий. В таком случае, задача по генерации текстов состоит из составления текста из набора предложений, в которых грамматически верно и логично увязаны части речи. Для понятия следующих моментов, примем терминологию:

Noun - имя существительное, ед. число
Nouns - имя существительное, мн. число
(тут поблагодарим бога за то, что в английском языке слова не изменяются по падежам)
Adj - имя прилагательное
Verb - глагол. С глаголами придется разобраться детальнее, как с ними приходится много маятья и при изучении английского языка. В английском языке существует пять форм глаголов. Да я знаю, что их всего три, но для нашей задачи их придется брать как пять. И учесть
еще и неправильные глаголы (ну с этим проще - скачайте где угодно таблицы Irregular verbs). Итак:

Verb1 - словарная или первая форма глагола [fuck]
Verb2, verb3 - вторая и третья формы глаголов. Обычно формируются по некоторым правилам с добавлением к первой формы окончания -ed. [fucked]
Verb4 - "инговая форма глагола" - формируется по набору правил, с добавлением окончания -ing [fucking]
Verb5 - форма глагола при которой по набору правил добавляется окончание -s [fucks]

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

Теперь, поговорим немного о релевантности или тематичности текстов. То есть о нужном насыщении ключевыми словами и их формами. Опять
таки оговорюсь - плотность ключевой фразы в тексте практически не имеет значения, хотя желательно, чтобы она не переступала некий порог.

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

Все. Теория на этом закончена, переходим к практике, на примере создания адалтного генератора.

Нам понадобится:
1. Большой набор предложений из любого английского (лучше американского) текста, в котором мы заменим ВСЕ значимые слова на ТЭГИ частей речи:
Я вот просто для примера взял надпись на дне ноутбука: To reduce the risk of electric shock, do not remove cover (or back). Приводим эту фразу к виду:

To <verb1> the <noun> of <adj> <noun>, do not <verb1> <noun> (or <noun>). Возьмите вот еще что на заметку! Подавляющее число поисковых запросов серферов строится из конструкции ADJ + NOUN, т.е. прилагательное и существительное. Например, "Голые девки", "Большие черные сиськи" и так далее. Зачем нам это нужно? А вот зачем. В грамматике английского языка, почти перед каждым существительным может стоять описательное (или уточняющее) прилагательное. Как этим воспользоваться? Очень просто. Там где это возможно, убираем тэги <noun> и <nouns> и заменяем их на <adjnoun> и <adjnouns>. Так же поступаем и с последовательностями тэгов <adj> <noun> и <adj> <nouns>

2. Теперь нам понадобятся словарные базы "частей речи". Их нам понадобится две. Одна, нам будет нужна всегда и мы назовем ее "common" - база общеупотребимых в любом тексте существительных, прилагательных и глаголов во всех их формах. Не пугайтесь. Это только кажется задача сложной, но забить такую базу до приемлимого размера можно менее чем за сутки. Вторая база, которая нам понадобится - это база слов, принятых в данной тематике. В нашем примере, это база слов, которые часто встречаются в десках и иных околоэротических текстах. "Сиськи, письки, рты и прочие члены". Тут уж постарайтесь забить базу не только избитыми словами, но и поищите редко встречаемые синонимы из сленгов разных этнических и социальных групп - на такие низкочастотники можно будет поймать хороший урожай.

3. А теперь нам понадобится простейший скрипт, на любом языке, который наберет из первой базы случайную последовательность
предложений-конструкций (их называют граммары или лексемы) и ... тупо проведет замену тэгов на соответствующие им части речи. Все! По
сути, отличный генератор готов. Генератор, который будет порождать из конструкций типа:
To <verb1> the <adjnoun> of <adjnoun>, do not <verb1> <adjnoun> (or <adjnoun>) - следующие варианты:
To fuck the big amazing tits of hot blonde, do not suck wet pant (or fat stretched pussy)

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

Желаю удачи!
Второе пришествие Вацлава. Камингсуново.

docker
Профессионал
Зарегистрирован: 20.05.2007
Сообщений: 756
Обратиться по нику
# Добавлено:Ср Ноя 07, 2007 12:41 pmОтветить с цитатой
Ааааа !!! Вацлав наконец выложил свой секрет, который его уже годами пытают Smile
Готовое ТЗ для доргена, который Вацлав мягко именует просто генератором Wink
А вообще ДМИ работает примерно по такому же принципу. Отличная статья!
Залечи буржуя вусмерть!
И не дай дрочить ему в одиночестве!

Cabal
Гуру
Зарегистрирован: 20.10.2007
Сообщений: 1360
Обратиться по нику
# Добавлено:Ср Ноя 07, 2007 12:43 pmОтветить с цитатой
Хотел написать много букф про то что это не програмное решение, а в осном гуманитарно-лингвистическое, что не каждый технически подкованный, но юзающий только базовый-школьнопозабытый английкий человек, справится с задачами о реализации которых ты решил скромно умолчать(написал просто "собираем" добавляем" и тд и тп), но подумал что всё это будет нудёж. Скажу просто - респегт и уважуха тебе мен. Обогатил ты меня не слабо.


Последний раз редактировалось: Cabal (Ср Ноя 07, 2007 2:31 pm), всего редактировалось 1 раз

Вацлав
Сетевой Гугляка
Зарегистрирован: 21.02.2006
Сообщений: 4965
Обратиться по нику
# Добавлено:Ср Ноя 07, 2007 12:46 pmОтветить с цитатой
Докер, это вовсе не секрет о котором меня пытают Smile Эту инфу можно было нарыть еще четыре года назад, что я и сделал в свое время, а сейчас просто систематизированно попытался выдать всем желающим.

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

Когда я разгребу свои архивы и найду свои словарные базы от этого старого, но хорошего генератора, я их выложу в Open Source Smile И пусть все продавцы генераторов на меня злятся Smile
Второе пришествие Вацлава. Камингсуново.

Вацлав
Сетевой Гугляка
Зарегистрирован: 21.02.2006
Сообщений: 4965
Обратиться по нику
# Добавлено:Ср Ноя 07, 2007 12:53 pmОтветить с цитатой
В догонку:
Если найдутся адалтные партнерки, которые меня чем-то заинтересуют, я отдам им (для бесплатной раздачи адвертам) отличные рабочие версии доргенов Smile
Второе пришествие Вацлава. Камингсуново.

docker
Профессионал
Зарегистрирован: 20.05.2007
Сообщений: 756
Обратиться по нику
# Добавлено:Ср Ноя 07, 2007 2:24 pmОтветить с цитатой
Просто я помню длинные ветки на мастере кажется, где тебя все упрашивали поделится твоим алго генерации текстов Smile
И я был бы совсем не против поюзать твои доргены Smile
Залечи буржуя вусмерть!
И не дай дрочить ему в одиночестве!

Li-Hua
Чинамэн
Зарегистрирован: 25.12.2005
Сообщений: 11544
Обратиться по нику
# Добавлено:Ср Ноя 07, 2007 2:27 pmОтветить с цитатой
Спасибо за полезную статью, дает пищи к размышлениям.

Flover
Свой
Зарегистрирован: 27.10.2007
Сообщений: 57
Обратиться по нику
# Добавлено:Чт Ноя 08, 2007 9:48 pmОтветить с цитатой
Отличная статья. Но как быть с русским языком? Ведь у нас от 12 словоформ у существительного и до 80-100 у глаголов.

user00
Профессионал
Зарегистрирован: 24.07.2006
Сообщений: 717
Обратиться по нику
# Добавлено:Пт Ноя 09, 2007 12:17 amОтветить с цитатой
Интересный метод, спасибо Вацлаву.
Пусть это будет банально, но я пока не встречал более эффективного метода генерации текста, чем всем известные цепи Маркова.
Буржуи хотят насилия! Ratio 1:80

Mr Frod +
Гуру
Зарегистрирован: 06.03.2007
Сообщений: 1275
Обратиться по нику
# Добавлено:Пт Ноя 09, 2007 12:30 amОтветить с цитатой
Вацлав, спасибо за интересную информацию.

user00, зачем тему спалил? Smile
Биржа рекламы на YouTube https://goo.gl/a6UeVz

Chin +
олорирропролл
Зарегистрирован: 29.01.2007
Сообщений: 2890
Обратиться по нику
# Добавлено:Пт Ноя 09, 2007 1:34 amОтветить с цитатой
Вацлав, примерно похожий алгоритм я объяснял одному своему толковому рефу (девушке), и даже озадачивал ее поисками баз слов (нашли совместно несколько баз, в т.ч. которая засветилась по дорвейным форумам - на едушном домене универ выложил)
И кстати неоднократно рекомендовал в т.ч. на паблик форумах делать тексты МЕНЬШЕЙ длины, т.к. их засечь труднее.
Эт я к чему - я с тобой согласен по всем пунктам Smile
Кстати на серче недавно пытались обсуждать генерацию по бинарным деревьям гилберта.

generator2003
Свой
Зарегистрирован: 13.10.2007
Сообщений: 21
Обратиться по нику
# Добавлено:Пт Ноя 09, 2007 5:31 amОтветить с цитатой
Вацлав, Скинь плз где можно поподробнее почитать по данной теме.
А какой механизм используется при синонимайзинге?
При тупо замене текст получится нечитаемым опиши плз примерный алгоритм

PS Пост отличный

sevian
Свой
Зарегистрирован: 20.08.2007
Сообщений: 40
Обратиться по нику
# Добавлено:Пт Ноя 09, 2007 4:12 pmОтветить с цитатой
Цитата:
Потому что я верю, что рано или поздно Google научится определять сначала и грамматическую правильность текстов, а впоследствии и смысловую тоже. Грамматику умеет проверять примитивный Word, так кто сказал, что гугл не сможет того же? Помимо этого, грамматически правильные тексты труднее поддаются статистическому анализу.


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

BrokenBrake
Бомжевед
Зарегистрирован: 16.02.2007
Сообщений: 3432
Обратиться по нику
# Добавлено:Пт Ноя 09, 2007 4:58 pmОтветить с цитатой
sevian, кстати, да Smile запросто.
Научись ценить время с microToDo
...а работу с рекламодателями автоматизируй!

Chin +
олорирропролл
Зарегистрирован: 29.01.2007
Сообщений: 2890
Обратиться по нику
# Добавлено:Пт Ноя 09, 2007 9:28 pmОтветить с цитатой
sevian, для серьезных сайтов с серьезным бизнес-трафиком тексты пишут специальные люди Wink
Новая тема Написать ответ    ГЛАВНАЯ ~ ПОЛЕЗНЫЕ СТАТЬИ

Перейти:  





Генеральный спонсор



Партнеры