PDA

Просмотр полной версии : Написание доргена: что требуется?


comm1x
14.03.2010, 18:57
Интересует, что требуется для написания актуального доргена на сегодня?
Ну понятно, что перво-наперво это голова не из глины и желательно прямые руки. С помощью каких языков пишутся в основном доргены, ну и не в основном =) Знаю только сишку да mysql, пхп ограничилось только сателитками на вп под сапу. И вот мучает мысль, либо на билдере мудохаться и писать дороген или лучше подтянуть пхп. Кто что думает?

ПС: по поводу того что это очередной говнодоргенпрожект плиз не пишите =) не разочаровывайте меня, я так это знаю =)

FLASH
14.03.2010, 19:20
на СИ под консоль вполне хватит ! на пхп заебешся ждать генерации

rklyan
14.03.2010, 19:38
Сильно сомневаюсь, что человек спрашивающий: "на чем сейчас пишут" способен что-то написать....
Пиши на яве, будет кросс-платформенный дорген :chameleon_01:

comm1x
14.03.2010, 20:23
Сильно сомневаюсь, что человек спрашивающий: "на чем сейчас пишут" способен что-то написать....

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


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

Арбайтен
14.03.2010, 20:32
какой нахуй Си. В топку го. доргены на пхп пишутся. Вы бы ещё на паскале написали бы

comm1x
14.03.2010, 20:38
да, это я и хотел услышать.. Арба, а ты пхп сам учил или в универе задатки преподавали? и еще оч интересно, твоя субъективная оценка твоих знаний пхп и какие еще языки знаешь +)

prescott
14.03.2010, 20:39
какой нахуй Си. В топку го. доргены на пхп пишутся. Вы бы ещё на паскале написали бы



ты это серьезно?

Арбайтен
14.03.2010, 20:41
Абсолютно. только ебанутый на голову пишет доргены на Си.

comm1x
14.03.2010, 20:48
на форуме где та видел скрины доргенов в объектоориентированной.. есть еще "умы" =)

Арбайтен
14.03.2010, 20:55
Это не умы, это дибилы.

comm1x
14.03.2010, 21:03
Арба, ты доргены сам пишешь или нанимаешь?

Арбайтен
14.03.2010, 21:05
И сам пишу и нанимаю прогера.

Eladi
15.03.2010, 00:00
Если хочешь писать с нуля, пиши на чем удобно, принципиальной разницы нет, если написанное соответствует ТЗ.

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

nikruba
15.03.2010, 02:10
Нереально написать что-то действительно стоящее на PHP.
Современный дорген для Яндекса - это грамматика. ПХП сдохнет от любого правильного грамматического движка с нормальным грамматическим словарем.
Впрочем, урезанную поделку без словаря можно сделать. Только этот дорген никогда не узнает, что такое "ебли" - глагол "ебать" во мн.ч. или же существительное "ебля" в родительном падеже.
Можно как угодно дергать и видоизменять текстовку из готовых файлов (марков, синонимизация, маркс, хз что там еще), но представления о грамматической структуре там не будет. phpMorphy говнобиблиотека, даже стеммеров нормальных на PHP нету.
Впрочем, все можно писать с нуля, да :)

Арбайтен
15.03.2010, 02:15
Нереально написать что-то действительно стоящее на PHP.
Современный дорген для Яндекса - это грамматика. ПХП сдохнет от любого правильного грамматического движка с нормальным грамматическим словарем.
Впрочем, урезанную поделку без словаря можно сделать. Только этот дорген никогда не узнает, что такое "ебли" - глагол "ебать" во мн.ч. или же существительное "ебля" в родительном падеже.
Можно как угодно дергать и видоизменять текстовку из готовых файлов (марков, синонимизация, маркс, хз что там еще), но представления о грамматической структуре там не будет. phpMorphy говнобиблиотека, даже стеммеров нормальных на PHP нету.
Впрочем, все можно писать с нуля, да :)

Да пиздец сдохнет.В общем не буду много писать, скажу одно - вы пишите хуйню и не понимаете что такое дорген.

nikruba
15.03.2010, 03:17
Арб, давай я проясню свою позицию - будет конкретное возражение - велкам.

В качестве лирического вступления, давайте поговорим о скорости. Возьмем официально заявленные данные для phpMorphy:
Скорость нахождения нормальной формы ~700 слов в секунду(это для php5.1.1, WinXP, Duron-800), имеется возможность загрузить словарь в память, при этом скорость возрастает примерно на 20-25%.
Возьмем для сравнения коммерческий грамматический SDK для C++ _http://www.rco.ru/product.asp?ob_no=2871 - Скорость морфологического анализа – более 100 тысяч слов в секунду (Процессор AMD Athlon, 1000 МГц). Это, кстати, не просто приведение в нормальную форму - это приведение в нормальную форму с составлением связей между словами.
Жаль только, у меня жопа треснет его покупать (278000 р. без техподдержки, с поддержкой около 350) - но есть и более дешевые аналоги.

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

Если ставить себе задачу - разобрать грамматическую структуру ключевика, и окружить его грамматически правильным генерированным текстом - требуется, соответственно, грамматическая библиотека. Для этого может быть использована, например, phpMorphy (PHP) или pyMorphy (Python). Большинство open-source грамматических анализаторов "выросло" из наработок aot.ru, "грамматический словарь Зализняка".

Я, конечно, может и хуйню пишу. С какой стороны взглянуть. На готовом софте с примитивной обработкой готовых текстовок доры лезут. Пока. Простые цепи Маркова Яндекс неплохо определяет (привет, старый Жако!). Пройдет еще немножко времени - "спалятся" и другие алгоритмы "псевдогенерации". Приложив немножко мозга и взяв грамматические инструменты в открытом доступе, даже такой лузер, как я, может различить грамматически неправильный текст. Например, от текстовки старого Жако - "несет" за пять километров, от текстовки нового Жако - за километр. От текстовки "Цербера" - был "душок".

Нет смысла тратить свое время на разработку уже разработанной "генерации текста" (Марков - Маркс - и т.п.), это все уже написано - реально проще и дешевле купить. Но я не видел ни одного доргена, который нормально склоняет ключевики и оборачивает их в хорошую ГЕНЕРИРОВАННУЮ текстовку. Но я над этим работаю :-D. В моем случае инструмент - C#, но принципиальной разницы нет, в любом случае это должен быть полноценный язык программирования - для достижения нормальной производительности; для возможности хранить в памяти бинарные деревья приличного размера; в конце концов для статического анализа текстов (текстовку из воздуха генерить, как в Цербере - имхо глупость).

nikruba
15.03.2010, 03:30
Если у топикстартера нет мыслей грамматическую обработку писать "совсем с нуля", возможно есть смысл начать с материалов сайта aot.ru, хотя словарь там несуразный (ложные срабатывания. Навскидку - за 5 минут - нашел на анализе слова "хуечек" несклоняемую форму, на анализе "бзднуть" - несклоняемое существительное (хотя есть и правильная интерпретация)). И генератора для русского у них нету :)

Если найдется что получше - я бы с удовольствием в PM получил ссылку на это :)

Markus
15.03.2010, 04:15
А смысл холивара тогда ? Если все алгоритмы паляться.. Мож надо думать не как текст из копипаста сделать уник, а как его оптимизировать более человечно. А писать можно на чем хочется, лишь бы оно работало...
ЗЫ смысл использоваться чужие наработки нет.. Так как они уже засвечены, если че писать то самому.

Eladi
15.03.2010, 04:40
Нереально написать что-то действительно стоящее на PHP.
Современный дорген для Яндекса - это грамматика. ПХП сдохнет от любого правильного грамматического движка с нормальным грамматическим словарем.



А зачем такая скорость? У меня на пхпморфи 2500 в сек + правильных обработчик и вполне хватает.

А если поискать все можно. Для грамматики можно заюзать, например, компилятор из php в С++, прирост скорости будет минимум в 10 раз. Можно кешировать, можно заказать у прогеров разбор грамматики на чистом С++. Дело не в этом, дело в том, что нужны прямые руки и мозг, не важно на чем ты пишешь.

nikruba
15.03.2010, 05:06
Markus, текст можно *не только* оптимизировать, но и синтезировать. Простейший и известный всем пример - чат-боты (псевдо-ИИ). Alice и Bob, вроде. Откуда берется в них текстовка для разговора? Явно не из OCR'енной DJVU книжки :) Морфологическим анализом выделяются ключевые слова, из которых построено предложение. Грамматическим анализом выделяются связи между ними. Далее, экспертная система на базе своих словарей строит УМОЗАКЛЮЧЕНИЕ. И умный грамматический движок преобразует УМОЗАКЛЮЧЕНИЕ в форму английского языка. Совсем простейшая реализация есть в "Цербере" Спартанца (я за 30 баксов брал вроде), там генерируются случайные неосмысленные предложения. Однако, есть возможность "подпитывать" эти предложения нужными существительными и наречиями.

Eladi, можно ссылочку? Я не видел что-то проектов трансляции PHP->C++, кроме HipHop (Facebook), и то про последний только слышал. Все, что компилит PHP в EXE - фактически использует ту же самую библиотеку PHP - нет никакого прироста скорости (ну, кроме того, что PHP сразу в байткоде - привет, eAccelerator) :) Внешние библиотеки - замечательно, но если автор выбирает, PHP или C++ использовать в качестве основы - плюс PHP лишь в расширяемости (покупатель доргена, если тот коммерческий - может модифицировать код самостоятельно - привет, RedButton). Если проект пишется строго для себя - нет смысла писать *именно* на PHP.

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

А вообще - в принципе, я согласен с тем, что холивор - надуманный. Хорошее решение можно написать на любом языке программирования. Причем, чем лучше этот язык знаешь - тем качественнее будет решение (помимо такой простой вещи, как грамматика языка - есть специфичные подводные камни, - ну например, даже особенности работы GC в Java и .NET). Решение на PHP, в первую очередь, будет дико жрать память - ввиду неэффективного ее использования (накладные расходы на варианты и на массивы слишком высоки).

Если ничем себя не ограничивать (берем десктопный компьютер или дедик), ресурсов один хрен хватит :). А вот на VDS будет тормозить или задыхаться от нехватки памяти; а с хостинга - выгонят нахер. Повторюсь, что я говорю не о трансформации текста, а именно о грамматическом анализе и синтезе.

nikruba
15.03.2010, 05:16
Ах да. Мне известно несколько методик уменьшения "жоркости" PHP, но думаю, сильного снижения потребления памяти они не дадут. К тому же, большая часть для доргена неприменима в силу того, что дорген - он же простой, как кирпич. Вот блог-движок - сложный (количество выполняемых задач много больше).
О "качестве" сборщика мусора в PHP 5 можно судить по частоте (точнее, редкости) вызовов деструктора (даже если на объект утеряны все ссылки). Про необъектный PHP даже говорить нет смысла, - этим говнокодом весь инет усеян, бедные юзеры даже не удивляются одному популярному движку блога, жрущему по 30-40 метров PHP heap'а без видимых на то причин... (Причина не в том, что "ненужные" плагины не отключены - причина в ошибке проектирования, - впрочем, часть несуразиц потихоньку исправляют, приводя в божеский вид).

Арбайтен
15.03.2010, 05:43
(https://arbadoor.ru/member.php?u=2)nikruba (https://arbadoor.ru/member.php?u=2),ты пойми не обязательно такие мощнасти чтобы иметь ахуенейшую технологию.
Теорему Ферма сам автор доказывал в несколько строчек. А 12 лет назад её доказали используя несколько томов текста и веденная в комп информация обрабатывалась компом несколько часов.

Вон был дорген Смартпэдж. Не на ПХП кстати. Там просто иногда зависала память при генерации. В коде чёрт ногу сломит.
А итог какой? Яндекс распознал генерацию и банит генерацию.

comm1x
15.03.2010, 20:07
Арба говорил, что хорошая текстовка - 80% доргена. Стоит ли брать какой нить РБ и лепить к нему свой генератор текстов, или же лучше писать все с нуля?

nikruba
15.03.2010, 21:55
Арба говорил, что хорошая текстовка - 80% доргена. Стоит ли брать какой нить РБ и лепить к нему свой генератор текстов, или же лучше писать все с нуля?
Я вообще люблю всякую хню писать, многие говорят - у меня неплохо получается. Так вот, безотносительно сферы разработки.
Если не представлять, что именно нужно написать - получается в большинстве случаев хуйня.
Напиши сам себе техзадание. Сформируй то, что тебе нужно, чтобы получился хороший, подходящий тебе лично дорген. Все этапы - обработка ключевиков, обработка текста, генерация текста, линковка, шаблонизатор, интерфейс.

Потом уже можно реализовывать свои грандиозные замыслы. С нуля или не с нуля - подскажет ТЗ :) Непосредственно мне всегда удобнее использовать чужие наработки - во-первых, много нового можно узнать, просто штудируя чужой код; во-вторых, в чужом коде я неплохо разбираюсь. На худой конец, даже если в RB не нравится абсолютно все - можно начинать с модификации чего-то одного в RB, и постепенно вытаскивать оттуда функционал в свой дорген.

Арбайтен
15.03.2010, 23:04
Потом уже можно реализовывать свои грандиозные замыслы. С нуля или не с нуля - подскажет ТЗ :) Непосредственно мне всегда удобнее использовать чужие наработки - во-первых, много нового можно узнать, просто штудируя чужой код; во-вторых, в чужом коде я неплохо разбираюсь. На худой конец, даже если в RB не нравится абсолютно все - можно начинать с модификации чего-то одного в RB, и постепенно вытаскивать оттуда функционал в свой дорген.

А тут всё просто. Нет головы - пиздуй нахуй отсюда.
Что блядь за мода пользоваться чужими разработками?
Успехов в дорах чужими разработками не добьёшься. Ну а если не можешь что то совё сделать, то нахуй в офис рабом хучить.

nikruba
16.03.2010, 07:06
Думаю, неверно понято.

Речь о том, что если существующий дорген соответствует собственному ТЗ на 75 или более процентов, есть смысл дорабатывать его. Немножко окунемся в историю (на прошлое лето, раньше практического интереса к дорам я не проявлял). Все делают доры на RedButton.Transformer (основанном на RedButton). Неудачный проект?
Я пробовал какой-то старый нуленый RBT, он меня не впечатлил - я юзал свою программу для обработки сгенерированных Jako доров.
Сейчас я не вижу смысла в обработке существующих текстов. То есть смысл-то есть, просто это сизифов труд. Осенью сателлитчики, обиженные Яндексом, ломанулись в доры. Сейчас, походу, несолоно хлебавши ломанулись обратно. Обладающий башкой приспособится и все равно объегорит славную команду инженеров Яндекса. А она их. И так по новой, по новой, по новой. С настоящей генерацией хочется реально быть впереди. Хотя бы на шаг.

nikruba
16.03.2010, 07:21
Теперь по последнему предложению. Хочу, могу, делаю. С деланием своего, впрочем, есть проблемы :). Это и забытые школьные знания по грамматике (да особо их и не было, - не нужны они, чтобы писать грамотно). И нехватка времени (хорошо, назовем вещи своими именами - неумение эффективно расходовать свое время). Это и проблемы с аналитикой. И с поиском хостеров - яйца по разным корзинам. И думаю, немаловажно - проблемы с перелинковкой. Впрочем, по наитию я вроде бы пришел к неплохому варианту - линковка мимикрирует под один известный движок.

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

Если непонятно пишу - звиняйте, товарищ Арб, я как-то читать больше привык. Сам в шоке от того, что я что-то пишу вообще, непубличный я человек :). (Был?)...

На всякий случай P.S. Если софт действительно хороший и стоящий, я его покупаю. (это я про нуленый RBT)

localhost
23.04.2010, 16:49
[URL="https://arbadoor.ru/member.php?u=2"][B]*** Вон был дорген Смартпэдж. Не на ПХП кстати. Там просто иногда зависала память при генерации. В коде чёрт ногу сломит.
А итог какой? Яндекс распознал генерацию и банит генерацию.


не был,а есть, и даже новая версия, переделанная почти с нуля. и написан на php. и генерации текста в нем нет.
а то что быстро работает - это отсутствие говнокода и всякой объектно-ориентированной хуиты.

написать свой дорген на php можно.
но если ваш пхп на уровне:
$param1=$_GET['param'];
if($param!='text') { die('wrong call');
else {
$file='myfile.txt';
$h=fopen($file,'r');
$text=fgets($h);
fclose($h);
}

то дорген ваш будет работать примерно на уровне visual basic под 95ую винду.

надо понимать очевидную вещь:
всякие говноскрипты, которые создаются говноскриптописателями по примерам индуских говнопрограммеров, будут работать вполне хорошо разово, или на говносайтах с низкой нагрузкой.
при высоких же нагрузках и при работе с большими объемами данных
(например SP4 держит массивы общей емкостью 5-8 тысяч элементов)
требуется не только грамотная организация структуры хранения и доступа, но и очистка неиспользуемых данных.
плюс проверка критических данных (отказоустойчивость), обработка ошибок ввода-вывода и ошибок целостности данных и выходных результатов.
все это требует понимания структурного программирования, которое подчерпнуть из примеров быдлоскриптописателей весьма трудно.

Darth Wayer
23.04.2010, 17:08
localhost, с такими замашками не доргены, а CMS надо писать.

Зы как тут по имени обратиться? никак не пойму, кнопки нету

Markus
23.04.2010, 22:14
Как фиг разница на чем и КАК написан. Главное результат. Вы считаете что ООП хуята.. ну-ну...
Кто CMS пишет, в большей мере не знают половину функций .. писать сайты и программы на скриптах это разные вещи. Плюс ко всему нули в сео, и во всем, касаемо операционных системах.
Вот и получается, что быдлокодписатели, создают пускай и кривой, НО работающий код, который вполне хорошо адаптирован под n-количество задач.
пс писдеть не дела делать(с)

localhost
24.04.2010, 06:47
"похуй на все, главное - результат" - вот такое мнение, застрявшее в древесине головного мозга, собственно и порождает быдлокодинг и индусопрограмминг, коим щаз завален весь рунет.
похуй что тормозит загрузка форума, потому что былоскрипт в цикле читает каждую строчку из базы, юзера подождут лишние 5 секунд, ничего с ними не случится.

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

Markus
24.04.2010, 08:56
localhost, помоему вы путаете малясь понятие кодинга и понятие админа... Максимум, что может сделать программист это многопоточность, снизить нагрузку на сервер, путем например аякса. Остальная часть - работа админа. Настройка севера.. Оптимизация бд и прочие вещи.
Вспомните хотя бы поговорку.. "что ему будет оно же дерево".
Блин.. причем здесь системы.. Типа Dooorgle - навейшая система разработки и оптимизации дорвеев..
Новая система умеет генерировать дорвеев, регать хостинги, спамит. При поднятие пузамерок отстукивает админу, невидимая работа для ботов, также умеет проверять баланса и в случае удачного результата предложит пользователю способ вывода средств.:biggrin:

localhost
24.04.2010, 11:53
тоже неверное мнение.
если быдлокодер написал скрипт, скажем работающий с mysql, протестировал его и отдал заказчику.
тот проверил, работает значит. говорит админу - ставь на сайт.
тот ставит и оказывается, что под нагрузкой быдлоскрипт существенно грузит ресурсы и вообще сделан через жопу.
что делать?
оптимизировать ресурсы сервера? наращивать память? делать так, чтобы быдлоскрипт комфортно работал? то есть идти по пути винды. чем круче винда, тем больше памяти для свителок и перделок.

но ведь на самом деле нужно поотрывать руки быдлокдеру и пришить их поближе к голове. так как в целом проблема не в хуевом железе или неоптимизированном (дефолтном) оборудовании, а как раз в неоптимизированном быдлокодинге.
вот кстати пример - гугль.
посмотрите .html морды. никаких лишних пробелов или яваскриптов типа GetMyBestValue= или isThisFunctionCall и тд
все пределельно кратко и утрамбовано.
Почему?
потому что лишний байт в названии функции или цсс-стиля это гигабайт лишнего трафика в день. При том количестве запросов в гугль, каждый лишний байт дает просто ахуенный прирост трафика.
Это что оптимизация ресурсов или скриптов?

Другой пример - небезызвестный thehun. Дизайн страницы не менялся лет 10, тогда как другие порносайты обзаводились свистелками и перделками. А разгадка проста - при 3-5 миллионов запросов в день на морду сайта, все эти свистелки и перделки и прочти похапэ и перл скрипты будут просто ахуенно загружать сервер и генерить тонны трафика.

вообщем бесполезно об этом рассуждать, так как большинству людей неведомы такие объемы данных.

inf
20.05.2010, 22:21
какой нахуй Си. В топку го. доргены на пхп пишутся. Вы бы ещё на паскале написали бы
лол твой пхп сосет с однопоточностью:)

seocash
20.05.2010, 23:16
лол твой пхп сосет с однопоточностью:)

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

dollarhunter
20.05.2010, 23:31
лол твой пхп сосет с однопоточностью
O_o
учите пхп.