Генератор естественного текста

06.09.2007

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

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

Поэтому логично, что дальше я просто попытался думать сам. Ставить перед собой задачу “генерации читабельного естественного контента” было бы слишком самонадеянно, поэтому слово “читабельного” убираем сразу. Если текст будет казаться читабельным в глазах поисковиков, это уже хорошо.
На первом этапе я поставил задачу: сгенерировать уникальный текст, который бы не банил Google. Ведь просто присутствие ваших веб-страничек в индексе крупнейшего поисковика уже обрекает вас на определенный трафик. Скажу сразу – мне это удалось, и об этом ниже, сначала на уровне идеи.

Дорвейщики давно уже издеваются над текстом: цепи Маркова, замена слов синонимами, всевозможные перетасовки слов в предложении, и самое простое – натыкать кейвердов посреди тематического текста. У всех этих способов есть большой недостаток – они _не_ “естественные”. Если вы используете один из вышеперечисленных методов, и ваши сайты висят более 3-х дней в гугле, то, наверное, вас зовут Дэвид и фамилия ваша – Копперфильд.

Мысль о естественности текста все-время крутилась в моей голове. Наша программа должна быть похожа на ребенка, который обучается разговаривать, слушая окружающих людей. А кого же нам еще слушать, как ни отца родного – Google? То, что он уже пустил в свой индекс, он считает качественным текстом, по этим текстам он и сам строит свое мнение, как должен выглядеть “нормальный” контент. Если мои слова и предложения, не похожи на тексты, на которых разговаривают жирные старички из топов гугла, то я или в доску пьян или автоматом нагенерил контента одним из общедоступных способов. Значит, я иной, и плачет по мне бан. [На всякий случай: все, что здесь излагается – это сугубо мое ИМХО, вы совершенно не обязаны в это верить.]

О чем же и как вещают нам счастливые жители топов гугла? А говорят они все о своем, но очень похоже: если сказали “Windows”, то где-то неподалеку ляпнут и “Microsoft”, сказали “Джордж Буш”, жди продолжения истории про “Белый дом” и “Ирак”. Причем, немаловажно, что непосредственно после слова “Windows” могут идти слова: XP, Vista, Глюк, Маст Дай, OC, но почти никогда вы не встретите фразу “Windows олень”, потому, что так не говорят (не верите – проверить в гугле, там наверное будет только эта страничка). Помните, об этом было сказно в одном из патентов гугла, про цепочки слов и прочие приколы, тогда это активно обсуждали?

А еще в разных языках есть разные падежи, времена, окончания, знаки препинания, вопросительные предложения… и все это должно _правильно_ сочетаться и переплетаться. И гуглу не надо учить все эти множества правил языка и сами языки, ему достаточно проверить “говорит ли так большинство?”. Ребенок ведь разговаривает, хотя никогда не слышал, что такое глагол и имя существительное; он научился этому, слушая окружающих, и это очень естественно.

Хватит уже про этого ребенка, теперь более конкретно, практически алгоритм:

  1. Надо взять сайты из индекса гугла по определенной тематики для анализа. Достаточно 100 первых url, большее количество, практически не влияет на общую статистику.
  2. “Брать” тексты надо с умом, не просто заграбать весь файл, а вырезать только смысловой текст (нахрена нам всякие навигации и копирайты в статистике?).
  3. Теперь поехали анализировать эти тексты:
    • Как сочетаются слова в предложениях? Сколько раз встречается та или иная фраза. Пожалуй, самое важное и ресурсоемкое.
    • Какая средняя длина предложения? От и до? А длина текста?
    • Какие фразы могут стоять вначале предложения, а какие только в конце?
    • Знаки препинания никто не отменял?
    • Вопросительные предложении, не такие как восклицательные?
    • Где предлоги и прочие стоп-слова?
    • А может слово правильно писать только с заглавной буквы? Плохо быть не грамотным…
  4. Осталось самое простое – сгенерить текст на основе всей этой статистики.

Самое приятное, что нам не надо следить за плотностью кейвердов при генерации текста и прочими параметрами. Все получается исключительно естественно, так пишут тексты все нормальные люди, и мы от них особо не отличаемся. Проверить данное утверждение можно здесь, (неплохой анализатор текста). Проверьте, ради интереса, какую статистику этот анализатор выдает для нормального рукописного текста, а потом сравните с текстом с вашего дора :) Ничего не мешает гуглу делать такой же элементарный анализ. После вышеописанных манипуляций, параметры моего генеренного текста, были близки к рукописному. Да, кстати, Word тоже не подчеркивает зеленым эти тексты, считая, что грамматика в норме.

Без примера сгенеренного текста, пост был бы не полным. Вот абзац про тойоту:

Financial news from the Toyota way intends to use the coupon. He set the toyota business, put the fat binders on a conference-room shelf, and extensive line. Its totally futuristic, but also have filled out. This is performed by all, toyota created this cool tool to check out of steam in 1924. Sales in 2006, this tax credit requires a substantial changes a year as project director, Finance program, you may not followers. It makes a half-million cars a year-one every time passed, the demand and so funny? Youre being cut because it would have an extensive line in the United States.

Тут без лишних комментариев, текст не ахти какой, но главное, что это сработало.

Факт: Google за такой текст не банит! Все сайты, что я сделал на этом движке, спокойно себе висят и по сей день. Но проблемы все же есть. Во-первых, контент не читабельный, т.е. такие сайты только под Umax, про адсенс в данном случае речи быть не может, также могут быть проблемы при различных ручных проверках. Во-вторых, “естественный” текст получается с низкой плотностью кейверда, следовательно, на мега трафик с гугла рассчитывать не стоит. Здесь ничего не поделаешь, люди пишут тексты и не думают про какуе-то там плотность. (Вы можете сколько угодно убеждать меня в обратном, но то, что плотность кейверда все еще очень сильно рулит в поисковиках, это точно.) Что я делал дальше, чтобы обойти эти проблемы, пожалуй, напишу в следующий раз…

Я не знаю, собирают ли свои базы кейвердов _так_, но в результате анализа текстов у меня получилась неплохая статистика по кейвердам с показателем их встречаемости в текстах. Это уже можно использовать как дополнительный бонус к основной задаче :)

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

Жду ваших комментариев и идей (особенно бредовых). Вместе ведь гораздо проще придумать что-то новое и интересное.

Еще по теме:

Комментарии (33) на "Генератор естественного текста"

  1. be@ver says:

    Почему все так уперлись в этого Маркова.
    писал скрипт генерации текста по Маркову.
    Слова для текста парсились с выдачи поисковика, на генерацию 100 страниц по 4 – 4,5 кб текста уходило почти 10 минут.
    Сейчас для генерации нужно пропарсить всего один ресурс и после этого на 60 страниц по 8-9 кб текста тратиться 30 секунд.

  2. sashko says:

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

  3. sectoid says:

    Пеши дорген – денег заработаешль больше! йопта!

  4. Sergey says:

    Интересная статейка) Нужно воплотить в реальность ее и добить до конца:)
    Thank’s:)

  5. Arser says:

    sashko, то что грабленные тексты не банит, я не сомневаюсь, но им фильтров уж точно не избежать.
    Здесь сопли есть, 10-40 процентов, но думаю, что это из-за нехватки внешних линков на большом объеме страниц, но не из-за контента.

  6. Godrasta says:

    а что если попробовать извенять “некоторые” слова синонимами ? По сути текст должен получаться уникальным. Или к примеру ставить уже к существующим словам рядом в скобках их синонимы, повлияет ли это каким-либо образом на уникальность текста ? (Опять же надо думать как это делать.)
    Так мысли в слух…
    Статья интересная, спасибо :-)

  7. Arser says:

    Godrasta, синонимы пробовали – грустно (вскользь я упомянул об этом в посте). Уникально будет “не очень”, зато очень “плохочитабельно”. Но как вариант, тоже держим в уме…

  8. Godrasta says:

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

  9. Eddie says:

    Это уже не Марков, это Холман. Аналогичное реализовано в доргене DMI. Ну и в моих инструментах встречается :)
    З.Ы. Свой софт не продаю.

  10. Arser says:

    Eddie, с Холманом не знаком.
    ЗЫ. Ничей софт не покупаю ;)

  11. Nou says:

    По сути от Маркова, которому дать огромный кусок текста и попросить сгенерить маленький – мало чем отличается. Текст получается уникальный, но не читабельный. В гугле сайты _проверяются_ вручную, не раз убеждался в этом сам. И если такой контент не скрывать за ифреймами и редиректами, сайт неизбежно попадёт в бан.
    А если сайт попадёт в бан, то все наши усилия зря. Фишка как раз заключается в том, чтобы делать уникальный, читаемый для человека контент только программными средствами. Как его делать – это уже думайте сами.

  12. Arser says:

    2Nou: Ага, сидит такой себе Superman-индус и ВСЕ сайты вручную лопатит…
    Про фишку подумаю, спасибо :)

  13. Yohan says:

    Ага, еще бы сказал негр. Гугл создает новые рабочие места в Африке :D

  14. alexf2000 says:

    Идея вроде хорошая, но не увидел тут реализации. Пример текста можно марковым сделать, будет такого же качества.

  15. SEOCoding says:

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

    Ещё фишка – алгоритм должен уметь делать какие-то выводы из распарсенного текста и на основе этих выводов перефразировать… в другие выводы :)

  16. LexxZone says:

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

    Представляю картинку: приходит редактор модного журнала на работу. В штате пару мощненьких компов. Говорит, мол, молодцы мелкомягкие пора бы статей наклакать. А они: – Ура и за работу.
    А люди потом читают читабельные тексты и удивляются, до чего же интересно жить на нашей 3-ей планете!

    И кто знает, может быть я прав!

  17. Санычъ says:

    Интересные мысли, спасибо. Коррелирую со своими. Закралась опечатка word(world), кажись

  18. Arser says:

    Санычъ, спасибо, опечатку исправил. Так поделитесь же своими мыслями, мы тоже cкоррелируем со своими :)

  19. parMaster says:

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

  20. Arser says:

    Каждый делает выводы, на которые способен… :)

  21. Aurum says:

    Создать читабельный текст?

    Хм, а если переводить иностранный контент, с помощью переводчика?

  22. Dym says:

    Aurum, переводить надо 2 раза туда и обратно

  23. Alt says:

    Можно один раз переводить. Искать источник в французнете или германете. Больше вероятность сохранить читабельность.

  24. [...] и даже просто ключевые слова. Степень естественности текста, при этом, может быть нулевой. Таким образом, по [...]

  25. Ноутбук says:

    Статья хорошая, но если сравнить с тем что генерит DM2, разницы никакой. те же 50-60%

  26. Авелин says:

    Статья здравая, сам только вот увлекся этой темой. Хочу развить. Готов сотрудничать в этом направлении.
    Если кого то заинтересовато то здесь есть эта тема и вопросы по ней.
    http://forum.egonika.ru/talking/index.php?topic=4.0

  27. Так где непосредственная реализация идеи?
    Или это та ссылка на англоязычный вариант?

  28. Quiz says:

    Когда Вы научите шахматного робота предлагать гроссмейстерам “А может, прервёмся – и по пивку?”, тогда он сам в перерывах алабает вам читабельных текстов..
    Задача гораздо глубже лежит, не на уровне “подсчитали слова, запомнили окончания и т.д.”

  29. nall07 says:

    Прикольно. Спасибо ребята. немного поржал про индуса и пр.

  30. Реп says:

    А где прогу можно качнуть для уник текста?

  31. Не увидела идеи реализации

  32. Уалэксэй says:

    Готов купить, если есть стоящие генераторы. Аська 371 327 704

  33. сергей says:

    А я уже 0,5 год занимаюсь решением этой проблемы! Для меня главной задачей является рерайт текста. Но не просто рерайт, а так чтоб он был читабельным! На основе существующего текста создать такой, который будет на 99% уникален, но иметь схожий смысл. Использую словарь синонимов, который оставляю сам. Синонимы не просто к словам, пытаюсь внедрить замену словосочетаниями. Короче дерзайте ребята! Если у меня всё получится (а я уже в стадии завершения) скоро в свет выйдет супер рерайтер текстов, который делает всё сам!

Отправить комментарий