На страницу Пред. 1, 2, 3, 4 След. |
|
Ср Ноя 07, 2007 10:52 am |
Start Post: Напиши свой генератор текстов! |
Вацлав Сетевой Гугляка |
Зарегистрирован: 21.02.2006
Сообщений: 4965
|
Обратиться по нику
|
Вацлав |
Ответить с цитатой | | |
|
Обычно я стараюсь писать только о том, на чем действительно "собаку съел". Так и на сей раз, я расскажу вам, как написать собственный генератор текстов, качественно превосходящий все имющиеся на рынке по скорости генерации, качеству генерации и грамматической верности
полученных текстов. Нет, я не буду спорить, многие публичные и даже бесплатные генераторы будут превосходить полученный вами скрипт по
наличию всяких мулечек, функций и прибамбасиков, но зато вы получите собственный генератор с открытым кодом и спокойно сможете дописать любые нужные вам функции.
Что вообще такое генератор текстов и зачем он нужен? Программное обеспечение, называемое "генератором текстов" служит для засирания
интернета, в общем-то. Но если мы отбросим идеологическую подоплеку, то нам он будет служить для создание неограниченного количества бредового, но релевантного текста, насыщенного кейвордами. И честно говоря, нет никаких законов или правил, запрещающих нам создавать и размещать безсмысленные страницы. Правда, и поисковым системам никто и ничто не может запретить забанить абсолютно любые страницы.
Что обычно входит в состав генератора текстов? Как правило, ГТ состоит из трех частей. Первая, и самая сложная часть, это набор логики для непосредственного формирования текстов. Вторая часть обеспечивает наполнение этим текстов самих страниц и/или иные фунции ввода-вывода (размещение на 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)
Как вы понимаете, я перечислил лишь самые основы, из которых вы можете подчерпнуть массу идей, по созданию еще лучших алгоритмов.
Некоторые маленькие хитрости я опустил, но не из вредного желания сохранить секреты (мои новые генераторы построены на крайне сложных алгоритмах с привлечением и нейросетей и основ ИИ), а для того, чтобы еще раз пробудить ваше воображение.
Желаю удачи! |
|
|
|
|
|
Второе пришествие Вацлава. Камингсуново. |
inferno[DGT] + + + Опытный |
Зарегистрирован: 22.07.2007
Сообщений: 350
|
Обратиться по нику
|
inferno[DGT] + + + |
Ответить с цитатой | | |
|
Пост, конечно, хорош. Но не нужно принимать его за ТЗ. ОГРОМНОЕ кол-во нюансов опущено. С партнером примерно месяцев 6-7 назад решили создать подобную систему генерации. Было перерыто огромное кол-во материала, пробовали, делали. Добились неплохих результатов(еще ни один дор не забанен). Но все равно в системе постоянно что-то меняется, улучшается и оптимизируется. По прочтению сего поста появилось как минимум 2 новые идеи по улучшению генератора.
Content is King. Вацлав, принимай респекты |
|
|
|
|
|
Выделенные серверы и VPS с абсолютно бесплатным администрированием! Более 11 лет с вами! |
ABC Свой |
Зарегистрирован: 17.10.2007
Сообщений: 3
|
Обратиться по нику
|
ABC |
Ответить с цитатой | | |
|
Сколько будет стоить денег заказать такой генератор текстов у программиста? |
|
|
|
|
|
|
inferno[DGT] + + + Опытный |
Зарегистрирован: 22.07.2007
Сообщений: 350
|
Обратиться по нику
|
inferno[DGT] + + + |
Ответить с цитатой | | |
|
Тут не в деньгах дело
Программисту нужно знать, что писать. Нужны четкие алгоритмы генерации. |
|
|
|
|
|
Выделенные серверы и VPS с абсолютно бесплатным администрированием! Более 11 лет с вами! |
Sirgey Опытный |
Зарегистрирован: 06.05.2007
Сообщений: 116
|
Обратиться по нику
|
Sirgey |
Ответить с цитатой | | |
|
По моему нормальный алгоритм, а вы все ругаете потому - что не хотите подать виду.
Вацлав - респект!
Главный вопрос тут - набивка баз и конструкций. Автоматом это сделать нельзя, так как в инглише, как и в русском есть слова которые меняют смысл и часть речи. В результате если автоматом забивать - будут ошибки, если вручную - то долго и будет палиться по общему шаблону предложения.
Имхо, ссылки рулят, а для генерации доров и марков подойдёт.
To inferno[DGT]: хочешь скажу почему не забанено? потому - что по гестам не срали, в топ не вылазили и траф не шёл. Проспамь по гестам/форумам, выйди в топ и получи траф. Забанят. |
|
|
|
|
|
Мой блог о SEO, водке, фотках и продвижении |
FOX Свой |
Зарегистрирован: 11.03.2007
Сообщений: 53
|
Обратиться по нику
|
FOX |
Ответить с цитатой | | |
|
На серджинсе уже двое предоставляют сервис по размножению русскоязычных статей... там из 1 статьи при самом минимальном участии человека делается 1К статей сохраняющих смысл и логичискцую структуру оригинальной, тоесть получаются тексты для людей и поисковики их видят как разные и не клеют. Генерит довольно прилично судя по демкам и отзывам тех кто пользовался. Для английских текстов таких сервисов пока нет к сожалению, я вот лично лучше платил бы за такое размножение стаей чем за пиаристые ссылки. |
|
|
|
|
|
|
Hello_Kitty V.I.P. |
Зарегистрирован: 30.04.2007
Сообщений: 10763
|
Обратиться по нику
|
Hello_Kitty |
Ответить с цитатой | | |
|
FOX, дай в личку контакты этих субъектов с серчэнджинса. или топик тот в личку напиши. |
|
|
|
|
|
|
BrokenBrake Бомжевед |
Зарегистрирован: 16.02.2007
Сообщений: 3432
|
Обратиться по нику
|
BrokenBrake |
Ответить с цитатой | | |
|
Насколько я знаю, эти люди размножают статьи полуручным методом. Там не генератор текстов, просто автоматизация некоторых рутинных задач по синонимизации. |
|
|
|
|
|
Научись ценить время с microToDo
...а работу с рекламодателями автоматизируй! |
FOX Свой |
Зарегистрирован: 11.03.2007
Сообщений: 53
|
Обратиться по нику
|
FOX |
Ответить с цитатой | | |
|
Да там насколько я понял с описания на сайте есть часть ручной работы, но учитывая какими масштабами можно ворочать то это просто пыль на сапогах... замутить такое бы под инглыш.. ух |
|
|
|
|
|
|
Dark Elf + V.I.P. |
Зарегистрирован: 23.12.2007
Сообщений: 1545
|
Обратиться по нику
|
Dark Elf + |
Ответить с цитатой | | |
|
Можно прочитать на aot.ru как это на самом деле выглядит с научной точки зрения и даже скачать софт для экспериментов. Это что касается семантики.
Мы делали немножко другой генератор, именно ГЕНЕРАТОР текстов, основанный на алгоритме "Элиза" почти 50-летней давности. А именно на фокусе внимания. Смысл в том, что читая фразу в тексте человек в качестве локального контекста воспринимает только несколько предыдущих фраз и общий контекст. То есть по мере его продвижения по тексту, его фокус внимания скользит вперед. Соответственно, программа, генерирующая текст, должна использовать тот же принцип. Используя систему джокеров, можно генерировать текст вполне релевантный глобальному контексту, хотя и не несущий никакой практической ценности, но вполне связный и читаемый. Более того, использовав модель цифровой ДНК, можно создать популяцию полиморфных зверушек, совершенствующих алгоритм (вернее около 100 его параметров, выступающих в роли генов) для генерации текстов, наиболее удовлетворяющих пожеланиям СЕ. Ограниченно-публичное тестирование алгоритма БОБОТ-666 должно было начаться в середине декабря, даже на паре форумов были набраны тестеры, был сделан официальный сайт (bobot.net.ru), но по некоторым причинам отложено. Результаты жизнедеятельности самой ранней версии лежат здесь dolphin-cafe.narod.ru Это мысли о заработке в Инете |
|
|
|
|
|
Мой старый блог про адалт-блоги
Тёмные — это те, кто хочет свободы и независимости, не стремятся к власти, не навязывают своих глупых желаний окружающим. |
Cabal Гуру |
Зарегистрирован: 20.10.2007
Сообщений: 1360
|
Обратиться по нику
|
Cabal |
Ответить с цитатой | | |
|
Dark Elf, весьма кошерно. На человека правда непохоже но это вроде бы даже можно читать. |
|
|
|
|
|
Cabal - патентованный зануда. |
db Опытный |
Зарегистрирован: 04.12.2006
Сообщений: 210
|
Обратиться по нику
|
db |
Ответить с цитатой | | |
|
Вацлав
Порадовал однако, только слегка поздновато.... я месяц голову ломал как ТЗ програмеру поставить, в итоге поулчился более разширенный вариант... Прогер идею подхватил, в тему въехал, обещал еще нейронку под это дело обучить... бум надеятся получится толковое... |
|
|
|
|
|
|
Kerk Профессионал |
Зарегистрирован: 30.09.2007
Сообщений: 550
|
Обратиться по нику
|
Kerk |
Ответить с цитатой | | |
|
Я распарсил словарь английской морфологии с aot.ru в базу FireBird (вся информация о слове вытаскивается одним SQL-запросом). Подумываю выложить для скачивания, но сомневаюсь, ибо FireBird не особо популярен у веб-мастеров, а в MySQL я не буду переводить из принципа. |
|
|
|
|
|
Я — лучший программист, хочу поработать |
db Опытный |
Зарегистрирован: 04.12.2006
Сообщений: 210
|
Обратиться по нику
|
|
|
|
Rabbit Кролики - это не только ценный мех |
Зарегистрирован: 01.08.2005
Сообщений: 19787
|
Обратиться по нику
|
|
|
Новое. Прибыльное. Скоро!
|
alexf2000 Свой |
Зарегистрирован: 28.10.2005
Сообщений: 62
|
Обратиться по нику
|
alexf2000 |
Ответить с цитатой | | |
|
Описанный алгоритм будет делать текст, который ничем не отличается от простейшего синонимайзера (http://awt.win32utils.com/synonyms/), текст из него будет вылезать абсолютно нечитаемый. А чтобы он был действительно грамматически верным, надо решить одну небольшую задачку о которой скромно умолчали - определять к какой части речи относится слово в контексте предложения. Один небезизвестный производитель п/о для машинного перевода эту задачку решает уже лет 15, но особых прорывов в качестве машинногоперевода что-то пока не заметно.
Разница с синонимайзером у этого алгоритма только в том, как распределяется работа - для этой реализации нужно сначала набрать базы шаблонов фраз, сами базы слов и потом можно быстро генерить много бреда. А для синонимайзера нужен просто любой текст который потом перекраивается синонимами, базы которых есть в готовом виде. То есть чтобы получить средненький результат, нужно затратить усилия которые лучше пустить в мирных целях - на расстановку ссылок на текст полученный из цепей Маркова. |
|
|
|
|
|
Самый интересный SEO-блог: http://alexf.name/ |
|
|
Партнеры
|