Навеяно топиком:
http://forum.searchengines.ru/showthread.php?t=134237
Написал простенький генератор, который умеет выбирать лучшие N оригинальных вариантов. Интересно мнение спецов об этой программе. Что хорошо, что плохо, что желательно добавить и как именно?
GUI написано "на коленках", да и сама генерация происходит в том же потоке. Не ругайтесь сильно если он будет "подлагивать" - меня пока что интересует сама суть.
Скачать можно по 1-й из 2-х ссылок:
_http://www.ifolder.ru/1751470
_http://www.sharing.ru/dl/043539/Generator.rar.html
Как запускать:
Вводите текст в таком формате:
Это {примитивный|простой|простенький} генератор, {созданный|предназначенный|разработан специально} для генерации {уникальных|оригинальных|неповторяющихся} текстов. Работает путем перебора {всевозможных|всех} вариантов и анализа каждого на {уникальность|оригинальность|не повторяемость}. {Отлично у|Терпимо у|Хорошо у|У}меет {выбирать|находить|определять} {лучшие|уникальные|оригинальные} варианты.
При генерации "10 вариантов" с параметрами уникальности 10, 100 получаем:
Это примитивный генератор, созданный для генерации уникальных текстов. Работает путем перебора всевозможных вариантов и анализа каждого на уникальность. Отлично умеет выбирать лучшие варианты.
100
Это примитивный генератор, разработан специально для генерации неповторяющихся текстов. Работает путем перебора всех вариантов и анализа каждого на уникальность. Отлично умеет находить оригинальные варианты.
19
Это примитивный генератор, созданный для генерации оригинальных текстов. Работает путем перебора всех вариантов и анализа каждого на не повторяемость. Терпимо умеет определять оригинальные варианты.
19
Это простой генератор, разработан специально для генерации неповторяющихся текстов. Работает путем перебора всевозможных вариантов и анализа каждого на не повторяемость. Хорошо умеет определять оригинальные варианты.
19
Это простой генератор, созданный для генерации неповторяющихся текстов. Работает путем перебора всех вариантов и анализа каждого на оригинальность. Умеет определять оригинальные варианты.
18
Это простой генератор, разработан специально для генерации уникальных текстов. Работает путем перебора всевозможных вариантов и анализа каждого на оригинальность. Отлично умеет выбирать оригинальные варианты.
18
Это простенький генератор, предназначенный для генерации уникальных текстов. Работает путем перебора всех вариантов и анализа каждого на оригинальность. Хорошо умеет выбирать оригинальные варианты.
18
Это простой генератор, созданный для генерации уникальных текстов. Работает путем перебора всевозможных вариантов и анализа каждого на не повторяемость. Умеет выбирать оригинальные варианты.
19
Это простенький генератор, разработан специально для генерации оригинальных текстов. Работает путем перебора всех вариантов и анализа каждого на не повторяемость. Умеет выбирать оригинальные варианты.
18
Это примитивный генератор, предназначенный для генерации неповторяющихся текстов. Работает путем перебора всех вариантов и анализа каждого на не повторяемость. Умеет выбирать оригинальные варианты.
18
Программа выбирает уникальные варианты и выводит подходящий вариант и его % уникальности. Время выполнения текущей генерации было 15 сек. При каждом просчете нового варианта идет сравнение со всеми отобранными при предыдущем сканировании. Цель программы не только генерировать коротенькие блоки, но и попробовать генерировать статьи. Собственно выслушаю ваши идеи и способы для уникальной генерации. Единственный минус (пережить можно ) - при более сложных генерациях требуется побольше времени.
P.S. Чур по лицу (репе) не бить, лучше завалите меня информацией и критикой.
если честно, я не понял, как это работает
что за "параметр уникальности", зачем он вам?
почему бы просто не перебирать все брутом, тогда отпадет необходимость в "сравнении со всеми отобранными при предыдущем сканировании", что, по моему скромному мнению, занимает львиную долю времени?
вычленяете все {}, парсите на слова, составляете словари синонимов, и вперед, по индексам перебирать. Там же на лету можно будет по тем же индексам считать "процент", на который текущий текст изменился по сравнению с оригиналом.
Мож я какой фичи недогнал?
зы
пофиксите добавление пустого паттерна - я раз пять кликнул по кнопке эдд, и прога отмолчалась, потом догнал, что к чему, а в списке паттернов уже 5 пустых итемов
Сообщение от response
что за "параметр уникальности", зачем он вам?
Параметр уникальности нужен чтобы не просто сгенерировать все варианты (в данном примере их 5832 штук), но и выбрать не похожие друг на друга варианты. Он чуть чуть отличается от параметра "кол-во вариантов на выходе".
Сообщение от response
почему бы просто не перебирать все брутом, тогда отпадет необходимость в "сравнении со всеми отобранными при предыдущем сканировании", что, по моему скромному мнению, занимает львиную долю времени?
вычленяете все {}, парсите на слова, составляете словари синонимов, и вперед, по индексам перебирать. Там же на лету можно будет по тем же индексам считать "процент", на который текущий текст изменился по сравнению с оригиналом.
Пробовал. Качество не то будет. Я привел примитивный пример. Попробуйте усложнить текст и добавьте еще несколько выборок.
Сообщение от response
зы
пофиксите добавление пустого паттерна - я раз пять кликнул по кнопке эдд, и прога отмолчалась, потом догнал, что к чему, а в списке паттернов уже 5 пустых итемов
Фиксить буду потом. Пока что алгоритм на коленках. GUI исправляется легко. Но меня волнует щас другое:
- Насколько качественно работает?
- Будет ли Яндекс (Гугля) считать эти тексты одинаковыми?
И тд. и тп.
Пойдет, для любителей хирургически тонкой работы.
Интересненько +)
-Mouse-, и чем этот отличается от других? Зачем было писать то, что уже есть во многих софтах в таком же виде? Реальная идентичная вещь уже реализована множество раз... Пишите что-то уникальное :-) имхо
Сообщение от gutako
-Mouse-, и чем этот отличается от других? Зачем было писать то, что уже есть во многих софтах в таком же виде? Реальная идентичная вещь уже реализована множество раз...
Может я плохо и искал, не спорю, но покажите мне бесплатный аналогичный софт.
Сообщение от gutako
Пишите что-то уникальное :-) имхо
Вот насчет уникальности с удовольствием выслушаю ваши предложения.
ссылки на генераторы уникальных ссылок уже приводились тут много раз, имхо плагиат ... да и какой это генератор, если думать заставляет пользователя ... вот весна яндекс ру - генератор !
Сообщение от Professor
ссылки на генераторы уникальных ссылок уже приводились тут много раз
Перерывал весь форум. Ни одной аналогичной, бесплатной, програмки я не нашел. Будьте добры показать ссылки на эти творения.
(кроме весна яндекс ру)
Сообщение от -Mouse-
Перерывал весь форум. Ни одной аналогичной, бесплатной, програмки я не нашел. Будьте добры показать ссылки на эти творения.
(кроме весна яндекс ру)
http://www.xape.ru/ , так что нового ничего нет ... на форуме даже был перловый или php (т.е. серверный - что приятнее) скрипт, который оное реализовывал...
Сообщение от Professor
http://www.xape.ru/ , так что нового ничего нет ... на форуме даже был перловый или php (т.е. серверный - что приятнее) скрипт, который оное реализовывал...
Про этот вкурсе. Но, насколько я понял, он просто генерирует все подряд. Может я не заметил, но где у него можно выбрать степень уникальности каждой генерации относительно остальных успешных генераций?
что считается степенью уникальности? По идее, все генерации - успешны и уникальны... и когда всего возможных вариантов генерации 10 в 5-й, то выбрав 100 вариантов вы получите 100% уникальность, но если Вы используете тексты 10 в 6-й раз, то уникальность будет 1/10 , т.е. каждая уникальная текстовка будет использована 10 раз.
Сообщение от Professor
что считается степенью уникальности? По идее, все генерации - успешны и уникальны... и когда всего возможных вариантов генерации 10 в 5-й, то выбрав 100 вариантов вы получите 100% уникальность, но если Вы используете тексты 10 в 6-й раз, то уникальность будет 1/10 ...
По моим понятиям уникальность - разность по Левенштейну не менее нужного мне значения. Ведь текст может быть как угодно изменен. Либо это слова на синонимы поменяли, либо куски предложений ... либо абзац переписали. Но вы же не собираетесь вручную после обычного генератора выбирать нужные (наиболее уникальные) 100 из 100000000000000000 всевозможных варинтов (при этом каждый проверять на уникальность относительно остальных 99 "удачных" вариантов)? Для этого после перебора всех вариантов можно отбросить явные совпадения, далее наложить методы Кивы и Левенштейна. Согласны, что удобнее если программа сделает это дело за вас а вы всего лишь выберете % уникальности и нажмете "Старт".
Задача при таком подходе будет сильно усложняться , чем больше текст - тем сложнее его "уникализировать" ... тем проще найти дубляжи ... но для доров пойдет )
Сообщение от Professor
Задача при таком подходе будет сильно усложняться , чем больше текст - тем сложнее его "уникализировать"
Не спорю, но увеличив кол-во и сложность "выборок" (вариаций, перечисленных в {} через |) - можно опять получить нужную степень уникальности.
Сообщение от Professor
тем проще найти дубляжи
При малом кол-ве выборок Вы получите меньше уникальных вариантов, которые подходят вашим критериям, но дубли программа не пропустит.
Но есть и другая сторона медали:
Эти алгоритмы (Кива и Левенштейн) достаточно сложны. Это большой +++ в том, что они практически не ошибаются, но есть и минус - достаточно сложный алгоритм выполняться дольше по времени. И чем больше текст и кол-во "выборок", тем дольше будет выполняться.
Но мне лично удобнее поставить на ночь генерацию статьи с отбором 100 лучших вариантов, нежели заплатить реврайтерам по 2-3уе за каждый из 100 вариантов статьи.
P.S. 100 вариантов статьи текстом ~2к знаков я генерировал почти 17 часов. Проц: Core 2 Duo E6400. Кол-во памяти для программы не важно. В итоге электричества по деньгам я спалил на несколько порядков меньше, чем заплатил бы реврайтерам.
Расстояние Левенштейна - это минимальное количество вставок, замен и удалений символов, необходимое для преобразования str1 в str2. Сложность алгоритма равна O(m*n), где n и m - длины строк двух строк
А вообще идея приличная может быть когда и пригодится, автору респект...
И опять повторюсь, лучше всего синонимическая обработка текста...
P.S. 100 вариантов статьи текстом ~2к знаков я генерировал почти 17 часов.
дайте посмотреть эти статьи. и исходную.
Сообщение от Xover
дайте посмотреть эти статьи. и исходную.
Увы, но я никому никогда не "засвечиваю" свои сайты. Такой мой принцип.
Статьи добавлены с ссылками на сайт, на котором нету прочих работ уже в течении 3-х месяцев. Если важен результат - при очередном АП-е ТИЦ-а я могу сообщить "как сколько и насколько".
Увы, но я никому никогда не "засвечиваю" свои сайты. Такой мой принцип.
Статьи добавлены с ссылками на сайт, на котором нету прочих работ уже в течении 3-х месяцев. Если важен результат - при очередном АП-е ТИЦ-а я могу сообщить "как сколько и насколько".
неа, я чисто теоритически хотел посмотреть что получилось. 10 минут работы core2duo на одну статью все-таки.
Сообщение от Xover
неа, я чисто теоритически хотел посмотреть что получилось
Увы, но я не любитель засвечивать свои сайты. Вот такой вот я конспиратор
Но вы можете посмотреть на простенький пример в начале топика, а также сами попробовать на вашем тексте.
Сообщение от Xover
10 минут работы core2duo на одну статью все-таки.
Это еще средняя статья была. При идеальном качестве должно быть дольше...
Вот давайте посчитаем. Допустим в вашей статье 20 выборок (блоков {}), каждая из которых может принимать один из 3-х вариантов. Легко посчитать всевозможные варианты: это будет 3 в 20 степени = 3486784401 генераций. Вам надо например выбрать 50 лучших.
Вы начали перебирать. Допустим вы условно посчитали (программа так не поступает) первые 50 лучшими. Далее вы берете 51-ю генерацию и сравниваете с 50 отобранными. Если какаято отобранная хуже, чем текущая, вы ее заменяете. И так вам надо сделать для всех 3486784401 генерацией.
Поэтому не удивляйтесь, что так долго. Качественно быстро никогда не бывает.
P.S. Если будете пробовать - советую в качестве вариантов указывать не слова (как в моем примере), а куски или целиком предложения. Этим вы сможете повысить качество при меньшем кол-ве выборок ({}).
Сделал новую версию. Поисправлял старые недочеты и добавил возможность просмотра отчетов, заполнение вашими ссылками, загрузка и сохранение проектов и тд. GUI слегка не доработанное, но те недочеты, что есть - пока что неважны. В настройках блоков работает максимальное кол-во ссылок, но не работает временно частный анализ уникальности среди всех блоков данного индекса во всем сгенерированных текстах. Поэтому пользуйтесь пока что только общим анализом на уникальность. Для генерации текстов (2-3к символов) лучше использовать не более 10 выборок ({}). Хотя на практике зависит от длинны текста, производительности машины и прочих ваших пожеланий. Помните, что каждая новая генерация сравнивается со всеми успешными до этого момента и если вам надо уникальность не мене 5%, то новая генерация будет уникальна от всех до этого успешных не менее указанного предела.
Качаем отсюда: _http://webfile.ru/1393501
Хотелось бы от вас услышать еще возможные области применения, чтобы знать под что затачиваться. Если комуто интересно, и есть какието пожелания, то пишите. Дальше будет видно ...
P.S. По лицу (репе) не бить. Я знаю, что есть коммерческие продукты которые получше работают, но помните, что не каждый может (хочет) покупать его. А как бесплатный - считаю что у этого генератора есть шансы на существование.
Респект. Штука стоящая.
Не смотря на уже полученную критику от автора программы, выскажу мнение:
Основная фича твоей прогнраммы - выбор максимально уникльных вариантов текста и/или ранжирование по ним
предполагаю что существует алгоритм по которому сгенерированный текст будет отсортирован в порядке уникальности еще на процессе генерации
как я пониммаю у автора основное время занимает как раз проверка уникальности - вот ее можно было бы убрать вообще если такой алгорим создать и использовать
в итоге
вводим текст и вместо параметра "мин уникальность" вводим только кол-во требуемых копий . Генерируем, потом проверяем уникальность одного (последнего) варианта
получаем мин уникальность текстов и сообщаем пользователю.
PS
Даешь критику в топике вместо ударов по репе?
Сообщение от -Mouse-
Я знаю, что есть коммерческие продукты которые получше работают
Не подскажете?
Сообщение от kevindark
Не подскажете?
Гдето здесь же на форуме когдато видел ссылку (попробую найти ее на работе..) + мне 1-2 человека скинули (когда топик создал) в приват сообщения типа: "Зачем нам бесплатное, если коммерческое делает лучше". Поэтому и отписал в духе: "Используйте свое коммерческое, а многие и бесплатному будут рады."
А надо ли оно или нет - от вас (пользователей) зависит. Мне оно надо и применение ему я уже нашел. Вопрос стоит в другом: стоит ли публично развивать или это гиблое дело.
-Mouse-, я бы лучше сделал коммерческий продукт, и делал бы на нем деньги)
Сообщение от kevindark
-Mouse-, я бы лучше сделал коммерческий продукт, и делал бы на нем деньги)
Чтобы делать коммерческим - надо как минимум писать "смысловой анализатор текста" и подключать словари. Это достаточно трудоемкая работа и врядли под силу одному человеку. Да и, у меня другой способ заработка и я не жалуюсь. А программирование для меня это хобби.
Да и не забывайте, что в нашу эпоху компьютеры не на столько мошны для таких целей. Генерация происходит быстро, но вот когда вам надо сравнить сгенерированные по 2-3к символов генерации и выбрать 500 лучших например, вот тут наступают "тяжкие времена" у вашего процессора.
Спасибо,хоть кто-то не за бабло а за интерес работает
Тс молодец идеально для делания уникального контента для сателлитов
Сообщение от -Mouse-
Качаем отсюда: _http://webfile.ru/1393501
Хотелось попробовать, но скачать не удалось
Сообщение от Artlight
Хотелось попробовать, но скачать не удалось
Пробуйте отсюда:
_http://ifolder.ru/1883200
-Mouse-, отсюда скачалось, спасибо.
1. Не разобрался с разделом "Расстановка ссылок"
2. Понятие "уникальность" в процентах, для меня, несколько туманно. Нагляднее было бы если бы была возможность выбирать результаты различающиеся не менее чем пятью (например) словами.
1. Расстановка ссылок - раскидывает в текстах указанное кол-во ссылок с указанными параметрами (имя ключевой фразы или слова, минимальное кол-во, максимальное кол-во и URL в виде http://траливали.ru). В пункте "таблица ссылок" - вы указываете какие ключевики и скока линков раставлять во всех генерациях. Кол-во попыток - сколько раз пытаться заполнить. В результате заполняется лучшей попыткой. Работает быстро (в отличии от самой генерации), поэтому можно хоть 1000 попыток ставить. После расстановки программа сама заполнит результат в поле Cur таблицы ссылок.
2. Если в тексте 100 слов, и если будем считать, что они все имеют одну длину, то 5% и есть ваши 5 слов. Но считать удобнее в %. "Слова" - понятие растяжимое.
Большое спасибо, попробую
Сообщение от -Mouse-
Хотелось бы от вас услышать еще возможные области применения, чтобы знать под что затачиваться. Если комуто интересно, и есть какието пожелания, то пишите.
Спасибо за труд. Полезная вещь. Есть вопросы.
1. С кодировкой что-то можно поменять - у меня кракозябли при сохранении в блокнот. Перекодировать можно, но это время.
2. Отчёты ->Сохранить - почему только "http:// ....", можно напрямую на жёсткий диск?
Сообщение от Evgen1973
Спасибо за труд. Полезная вещь. Есть вопросы.
1. С кодировкой что-то можно поменять - у меня кракозябли при сохранении в блокнот. Перекодировать можно, но это время.
2. Отчёты ->Сохранить - почему только "http:// ....", можно напрямую на жёсткий диск?
1. Пытаюсь поправить ...
2. Сохранить - это привязывает URL к данной генерации, например, чтобы помнить на каком сайте какой текст выброшен. Чтобы сохранить в файл - пока что есть такой вариант:
Сохраняете проект, открываете его обычным текстовым редактором и после первичных настроек будут идти сгенерированныетексты со служебными разделителями (3 строки). Выкиньте разделители и будут вам чистые генерации в текстовом виде.
Позже планирую и нормальный экспорт в текстовый файл сделать.
вопрос снят
Для тех, кто генерирует маленький текст с названиями или описаниями например для сабмитера (касается того текста, который без кодов переноса строки):
Многие спрашивают в привате, поэтому расскажу тем, которые собираются спросить, как экспортировать легко эти строки например в сабмитер:
Из вспомогательных инструментов вам понадобиться любой текстовый редактор, который умеет записывать и воспроизводить макросы, например NotePad++ (далее пойдет точная инструкция с использованием именно этого редактора):
1. Сгенерировали строки.
2. На основной форме нажимаем Save и сохраняем проект.
3. Открываем сохраненный проект как текстовый файл с помощью NotePad++
4. Удаляем первые 11 строк. Теперь первая строка - первая генерация. Курсором становимся в начало этой строки.
5. Нажимаем "запись макроса", Далее нажимает кнопки на клавиатуре в след. последовательности: "стрелка вниз", SHIFT + "4 раза на стрелку вниз", Delete. Далее нажимаем стоп макроса.
6. Пришиваем макрос на кнопку и зажимаем комбинацию кнопок. Ждем до конечной чистки (до минуты). Чистим остаток в конце и сохраняем файл.
7. В сабмитере, в свойствах проекта нажимаем на кнопку "файл *.txt" и импортируем готовые генерации.
Думаю этот способ поможет вам, пока я буду разрабатывать след. версию программы.
пробовал статью прогенерить.. за 10 минут ожиданий только процент был готов и программа висела не подавая признаков жизни.. статья где-то на 1000 знаков, замены в 10 местах наверно по 3 штуки..
так должно быть или я чего-то напутал?
нельзя ли убыстрить процесс?
Сообщение от inetessentials
пробовал статью прогенерить.. за 10 минут ожиданий только процент был готов и программа висела не подавая признаков жизни.. статья где-то на 1000 знаков, замены в 10 местах наверно по 3 штуки..
так должно быть или я чего-то напутал?
нельзя ли убыстрить процесс?
"Качественно и быстро не бывает" (с) не помню кто.
И это факт ... последний текст я генерировал больше суток. В пятницу вечером поставил, в воскресенье в обед была готова генерация на ~1400 знаков, с параметрами: оригинальность 5%, кол-во копий 300, кол-во выборок 12 по 3 ...
Это касается больших текстов. Маленькие тексты генерируются от 5 минут (Title) до 3-4 часов (Long Decription).
Сообщение от -Mouse-
"Качественно и быстро не бывает" (с) не помню кто.
И это факт ... последний текст я генерировал больше суток. В пятницу вечером поставил, в воскресенье в обед была готова генерация на ~1400 знаков, с параметрами: оригинальность 5%, кол-во копий 300, кол-во выборок 12 по 3 ...
Это касается больших текстов. Маленькие тексты генерируются от 5 минут (Title) до 3-4 часов (Long Decription).
хех.. но ты так и не ответил
есть ли мысли по ускорению процесса?
чтобы 1000 знаков с 10 заменами генерились ну хотябы 30 минут чтоли.. а то так проще руками сделать или в веб генераторе..
это не наезд, а вопрос-предложение
Сообщение от inetessentials
есть ли мысли по ускорению процесса?
Все известные мне (и не только мне) способы были применены при оптимизации данного алгоритма. Медленно работает не генерация, а сам алгоритм Левенштейна. Быстрее его не сделаешь а других вариантов я пока что не вижу
Т.е простыми словами: "как могли, так уже и ускорили". Увы.
Да и задача у меня чуток другая: не просто сгенерировать (а это можно если отключить галочку анализа на уникальность), но и выбрать лучшие варианты. Выбирать вручную лучшие 500 из 1000000 мне честно говоря лень. Лучше пусть сутки компьютер поработает.
ну ок.. буду ждать улучшений.. чего вы там еще прикрутите
Сообщение от -Mouse-
Все известные мне (и не только мне) способы были применены при оптимизации данного алгоритма. Медленно работает не генерация, а сам алгоритм Левенштейна. Быстрее его не сделаешь а других вариантов я пока что не вижу
Т.е простыми словами: "как могли, так уже и ускорили". Увы.
Да и задача у меня чуток другая: не просто сгенерировать (а это можно если отключить галочку анализа на уникальность), но и выбрать лучшие варианты. Выбирать вручную лучшие 500 из 1000000 мне честно говоря лень. Лучше пусть сутки компьютер поработает.
Штука очень интересная, но время все-таки пугает. Хотя с другой стороны, за время генерации можно еще 1 текст подготовить...