Конструктор предложений на русском

Обновлено: 25.04.2024

Когда я только начинал работать над своей текстовой игрой, решил, что одной из её главных фич должны стать красивые художественные описания действий героев. Отчасти хотел «сэкономить», поскольку в графику не умел. Экономии не получилось, зато получилась Python библиотека (github, pypi) для генерации текстов с учётом зависимости слов и их грамматических особенностей.

Например, из шаблона:

[Hero] [проходил|hero] мимо неприметного двора и вдруг [заметил|hero] играющих детей. Они бегали с деревянными мечами, посохами и масками чудовищ. Внезапно один из играющих остановился, выставил [игрушечный|hero.weapon|вн] [hero.weapon|вн], выкрикнул: «[Я|hero] [великий|hero] [Hero]! Получай!» — и бросился на «бестий». Они упали наземь, задрыгали руками-ногами, а после встали, сняли маски и засмеялись. [Хмыкнул|hero] и [сам|hero] [Hero], но не [стал|hero] выходить к малышне.

Халлр проходил мимо неприметного двора и вдруг заметил играющих детей. Они бегали с деревянными мечами, посохами и масками чудовищ. Внезапно один из играющих остановился, выставил игрушечную золочёную шпагу, выкрикнул: «Я великий Халлр! Получай!» — и бросился на «бестий». Они упали наземь, задрыгали руками-ногами, а после встали, сняли маски и засмеялись. Хмыкнул и сам Халлр, но не стал выходить к малышне.

Фиевара проходила мимо неприметного двора и вдруг заметила играющих детей. Они бегали с деревянными мечами, посохами и масками чудовищ. Внезапно один из играющих остановился, выставил игрушечный катар, выкрикнул: «Я великая Фиевара! Получай!» — и бросился на «бестий». Они упали наземь, задрыгали руками-ногами, а после встали, сняли маски и засмеялись. Хмыкнула и сама Фиевара, но не стала выходить к малышне.

Оговорка 1. Я не лингвист и библиотека писалась «чтобы работала», а не «чтобы точно соответствовала всем правилам языка». Поэтому заранее извиняюсь за неточности в терминологии или неполную трактовку правил русского языка.

Оговорка 2. Библиотека разрабатывалась около 5 лет назад, сейчас могли появиться (или дорасти до нормального состояния) альтернативные средства генерации текста. Например, что-нибудь интересное может быть в софте для локализации.

О сложности генерации текстов

Русский язык сложен во многих своих аспектах. В частности, слова имеют большое количество морфологических форм. Например, прилагательные могут иметь полную и краткую формы, изменяются по роду, числу, падежу, одушевлённости и степени сравнения. Выбор же конкретной формы зависит от других слов в предложении. Мы говорим «красивая женщина», но «красивый мужчина». Слово «красивый» в данном случае зависит от слов «мужчина» / «женщина» — его форма определяется родом главного слова.

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

Я же хотел чего-то большего, чем простая зависимость от пола игрока, да ещё и чтобы пользователи сами могли добавлять новые тексты (а «средний» пользователь довольно безграмотен, как мы все знаем :-) ). Поэтому, не найдя подходящий софт, решил делать его самостоятельно.

Возможности библиотеки

UTG (universal text generator — не очень скромное название) позволяет создавать шаблоны для генерации текста с указанием:

  • переменных (например, имени персонажа);
  • зависимостей слов от переменных (например, прилагательного от существительного);
  • Зависимостей одних переменных от других;
  • Явных свойств слов и переменных (например, можно указать, что имя персонажа вставляется в родительском падеже);
  • На зависимые слова переносятся необходимые свойства главного слова. Например, на прилагательное переносится род существительного.
  • Согласуется форма зависимых слов с числительными (с учётом формы зависимых слов).
  • Модифицируются предлоги если необходимо (например, обо мне / о тебе), предлог для этого должен быть размечен.
  • Словарь для хранения необходимых слов.
  • Хранилище шаблонов для их хранения по типу и выбора случайного.

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

Формат шаблонов и пример использования

Рассмотрим шаблон подробнее:

  • Вчера — обычный текст.
  • [mob] — переменная, вместо которой подставится название монстра.
  • [укусил|mob] — слово, зависимое от переменной, часть его свойств будет изменяться в зависимости от свойств названия монстра (например, число). Генератор текста автоматически распознаёт свойства формы слова и пытается их сохранить (например, будет распознано и сохранено прошедшее время, поэтому указывать его не надо).
  • [hero|вн] — переменная, вместо которой подставится имя героя. Дополнительно указано, что имя должно быть в винительном падеже.

Некоторые технические примеры можно найти в тестах.

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

И переменные и зависимые слова в шаблоне выделяются одинаково и имеют следующий формат:

  • [ — открывающая квадратная скобка.
  • слово — зависимое слово или идентификатор переменной. Генератор сначала проверяет наличие переменной с таким именем, если такой переменной нет, то слово ищется в словаре.
  • | — вертикальная черта — разделитель, нужен если указываем дополнительные свойства.
  • имя переменной — переменная, от которой зависит форма слова, может отсутствовать.
  • | — вертикальная черта — разделитель, нужен если указываем дополнительные свойства.
  • свойства слова через запятую — описание требуемой формы слова (падеж, род и так далее). Их список можно найти на страницах проекта в github и pypi.
  • ] — закрывающая квадратная скобка.

[переменная 1|переменная 2|вн,мр|переменная 3|прш,ед,од]

В большинстве случаев хватает следующих форматов:

  • [переменная] — вставить переменную в нормальной форме (например, существительное в именительном падеже единственного числа).
  • [переменная|свойства] — вставить переменную с указанными свойствами.
  • [слово|переменная] — вставить слово, согласовав его с переменной (например, прилагательное «красивый» с существительным по роду и падежу).
  • [слово|переменная|свойства] — вставить слово, согласовав его с переменной и указав дополнительные свойства.
  • Указание свойств для слов и переменных действует только в месте вставки, поэтому, чтобы получить словосочетание «красивого героя» мы должны указать винительный падеж явно для двух слов: [красивый|hero|вн] [hero|вн] .
  • Генератор текста умеет «угадывать» свойства слова по его форме, например, во фразе [hero] [побежал|hero] можно не указывать время глагола.
  • Свойства, указанные позже, затирают свойства, указанные ранее. Например, во фразе [красивого|hero] [hero|вн] не будет установлен винительный падеж прилагательного, так как он заменится именительным падежом переменной hero.
  • Перечень свойств слов можно найти на страницах библиотеки в github и pypi.

Требуется Python 3

О словарях

Как вы могли заметить, UTG требует формирование словаря. Делается это «руками» так как в момент разработки:

  • Общедоступных качественных морфологических словарей я не нашёл.
  • Библиотека pymorphy была ещё первой версии и довольно часто косячила (особенно с винительным падежом), из-за чего пришлось от неё отказаться.

Итого

Надеюсь, библиотека окажется полезной.

Если у вас есть идеи по её развитию (а ещё лучше, желание в нём участвовать) — пишите в личку, делайте pull requests, постите баги на гитхаб.

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

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

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

Например, список синонимов к словам:

Фонетический (звуко-буквенный) разбор слов

Фонетический разбор слова Молоко

Разбор слова по буквам и звукам, деление слова на слоги, далле проводится фонетический анализ каждого звука. Ставится ударение и записывается транскрипция и звучание слова.

Морфологический разбор предложений

Морфологический разбор предложения

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

Мы обновили инструмент генератор ников!

Добавлен инструмент для записи пропущенных букв.

Добавлен фонетический (звуко-буквенный) разбор слов.

Добавлен морфологический разбор предложений и текста до 5000 символов.

Улучшен алгоритм поиска слов из букв, добавлена новая функция для решения анаграммы.

Теперь слова стало искать намного удобнее, в словарях добавлен интерактивный поиск слов.

Добавлен толковый словарь русского языка.

Синонимайзер

Подбирает синонимы к словам в тексте. Повышает уникальность текста до 90%, поддерживает онлайн корректировку текста, подсветку и автозамены слов.

Словарь синонимов

Синонимы - это слова разные по написанию и звучанию, но одинаковые (схожие по смыслу). Чтобы использовать, введите слово в поиск и нажмите кнопку найти.

Словарь антонимов

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

Анаграмма онлайн

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

Толковый словарь

Словарь содержит два самых популярных словаря, Ефремовой и Ушакова, более 120тыс. слов.

Энциклопедический словарь

Энциклопедический словарь поможет найти слово из любой интересующей вас отрасли.

Решение сканворда

Этот инструмент поможет найти слово из сканворда

Морфологический разбор слова

Полный морфологический разбор одного слова.

Синтаксический разбор предложений

Синтаксический разбор предложений в тексте с указание частей речи.

Морфологический разбор предложений

Морфологический разбор предложений в тексте с указание частей речи.

Фонетический (звуко-буквенный) разбор

Определить часть речи

Определение части речи слова.

Предложение со словом

Инструмент поможет вам составить предложения с указанным словом.

Ударение в словах

Этот инструмент поможет с легкостью поставить правильное ударение в любом слове.

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

Инструмент поддерживает 8 языков.

Орфография

Что входит в проверку текста?

  • грамматические ошибки;
  • стиль;
  • логические ошибки;
  • проверка заглавных/строчных букв;
  • типографика;
  • проверка пунктуации;
  • общие правила правописания;
  • дополнительные правила;

Грамматика

Для поиска грамматических ошибок инструмент содержит более 130 правил.

  • Деепричастие и предлог
  • Деепричастие и предлог
  • «Не» с прилагательными/причастиями
  • «Не» с наречиями
  • Числительные «оба/обе»
  • Согласование прилагательного с существительным
  • Число глагола при однородных членах
  • И другие

Грамматические ошибки вида: «Идя по улице, у меня развязался шнурок»

Грамматическая ошибка: Идя по улице , у меня.

Правильно выражаться: Когда я шёл по улице, у меня развязался шнурок.

Пунктуация

Чтобы найти пунктуационные ошибки и правильно расставить запятые в тексте, инструмент содержит более 60 самых важных правил.

  • Пунктуация перед союзами
  • Слова не являющиеся вводными
  • Сложные союзы не разделяются «тогда как», «словно как»
  • Союзы «а», «но»
  • Устойчивое выражение
  • Цельные выражения
  • Пробелы перед знаками препинания
  • И другие

Разберем предложение, где пропущена запятая «Парень понял как мальчик сделал эту модель»

Пунктуационная ошибка, пропущена запятая: Парень понял ,

«Парень понял, как мальчик сделал эту модель»

Какие языки поддерживает инструмент?

Для поиска ошибок вы можете вводить текст не только на Русском языке, инструмент поддерживает проверку орфографии на Английском, Немецком и Французском


Хола, котаны! Для того чтобы сайт любили поисковики, он должен содержать уникальные тексты, и не просто наборы слов, а осмысленные предложения, желательно по теме. Поэтому стандартная практика в этой ситуации — сотрудничать с копирайтерами, но если на вашем сайте 10000 страниц, то с уникальными текстами можно влететь в немалую копеечку. В этой статье поговорим о сервисах, которые помогут с алгоритмической генерацией текстов и расскажем, как с ними работать.

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

Мы нашли несколько генераторов в открытом доступе, давайте рассмотрим их поближе.


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


Interkit

  • базовый за 20 долларов (ограничение на 600 000 символов);
  • премиум за 60 долларов (2,5 млн. символов).


Попытавшись сгенерировать текст на русском, мы получили какой-то бредотекст.


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

Порфирьевич

Сервис вполне осмысленно допишет за вас продолжение любого текста. Работает на русском языке.


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

Kafkai

Для того, чтобы подключить три дня тестового периода, необходимо привязать банковскую карту, так как сервис не бесплатный. Если вы забудете отменить подписку, с вас сразу спишут 29 долларов — минимальный тариф сервиса.

  • Дейтинг;
  • Гемблинг;
  • Финансы;
  • Страхование;
  • Партнерские программы.
  • Статьи;
  • Рекламные объявления для Facebook и Google Ads;
  • Лендинги.


Контент создается с применением искусственного интеллекта, кроме того, функционал включает в себя базу скриптов, шаблонов для рассылок, объявлений, писем и систему автоматического создания документов на их основе, а еще, доступно несколько языков:

  • Персональный, с ограничениями по объему контента и количеству пользователей — 59 долларов в месяц;
  • Корпоративный, без лимитов на использование — 399 долларов в месяц.

Coolgenerator

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


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

  • Преобразование слов и символов;
  • Анализ текстовой информации;
  • Обработка строк;
  • Обработка текста;
  • Генерация текстовой информации.


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

Совсем недавно Яндекс запустил свою нейросеть по генерации текстов. Можно выбрать разные стили вроде подписей в Instagram, тостов или рекламных объявлений.


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

RuGPT3 demo

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


Вопросов нет, быстро написано, а если вы нажмете, на кнопку — дополнить, под окном текстового ввода текста, то получите, еще варианты, текста и так после каждого нажатия дополнить. Система будет, всё время менять и дополнять текст — пока вас не устроит написанное.

Huffson

Huffson

Nichesss

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

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

Выводы

Экономия времени и сил — главное преимущество генераторов контента по ключевым словам. В качестве SEO-контента сгенерированные тексты можно смело использовать, однако, от редактора отказаться вебмастерам и арбитражникам все равно не удастся — есть мелкие орфографические и стилистические ошибки, которые надо исправлять, если вы планируете использовать контент на главной странице сайта. Но все равно, это возможность быстро сделать уникальную статью для публикации на своем сайте. Осмысленный текст выдают только генераторы, работающие на основе нейронных сетей. Не всегда уникальность 100%, но очень редко ниже 80%.

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

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

Реально ли это? Давайте проверим! Мы собрали несколько бесплатных генераторов уникальных текстов, доступных онлайн и разобрались, насколько качественный контент они могут предоставить.

1. Генераторы случайного текста (бредогенераторы)

Генераторы случайного текста, или бредогенераторы, — пожалуй, самые бесполезные сервисы. Сколь-нибудь осмысленный текст представить они не могут, а лишь собирают набор слов в нечто, что издалека кажется похожим на контент.

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

Зачем их использовать?

Возможно, вам потребуется наполнить много страниц текстом-рыбой. И вы хотите, чтобы каждый раз такая «рыба» была уникальной. И если вам действительно такое зачем-то нужно — бредогенераторы окажутся для вас очень кстати.

2. Генераторы тем

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

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

Вот список таких сервисов:

Последний — единственный генератор заголовков на русском языке. Попробуем что-нибудь придумать с его помощью.

Мы вводим слово (очевидно то, которое лучше всего отражает тематику нашей будущей статьи) и жмем на «Поиск». Допустим мы хотим найти варианты по словосочетанию «генератор текста». И вот что он нам предлагает.

Как видите, в большинстве случаев выдается нечто непонятное. Использовать их в таком виде было бы довольно странно. Но есть вариант, что у вас родятся какие-то свои идеи — то есть вы сможете переформулировать заголовок под себя.

Помимо этого возникает вопрос про уникальность текста. Каждый заголовок в этом сервисе составляется из нескольких частей, одна из которых — введенное вами слово. Под каждую часть всякий раз подставляются рандомные, лимит которых ограничен. То есть, вероятно, заголовков может быть бесконечное множество. А вот вариантов, когда они соберутся во что-то здравое не так уж и много.

3. Синонимайзеры

Они были придуманы, чтобы быстро сгенерировать уникальный текст, который пройдет проверку на антиплагиате. То есть максимально простой и некачественный рерайт.

Таких сервисов в интернете тысячи, мы выбрали несколько из них — те, которые по отзывам считаются наиболее качественными.

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

Killer-antiplagiat

Как видите, от таких шедевров риторики как «склонных телосложений» и «Приносите проконтролируем!» избавиться в тексте не получилось.

RusTXT

Этот вариант выглядит уже лучше, текст чуть более осмысленный. Правда и здесь не удалось избавиться от фраз вроде «порядочно безвозмездных генераторов».

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

SeoBuilder

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

Зачем их использовать?

Чисто формально синонимайзеры справляются со своей задачей:

  • а) они генерируют текст;
  • б) этот текст уникальный.

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

4. Генератор осмысленного текста

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

И скажем сразу — это уже возможно.

Студент из Калифорнии Лиам Порр решил провести эксперимент — вести блог, куда он будет заливать только тексты, которые создала для него нейросеть. Тематика — мотивация и достигаторство.

И эксперимент оказался невероятно успешным!

Прежде чем раскрыть правду, Порр вел свой сайт несколько недель. За это время туда зашло порядка 26 000 человек!

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

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

Сам Порр уверен, что уже в ближайшем будущем алгоритмы смогут писать уникальные тексты в промышленных масштабах. Да, тут будут их явные проблемы с логикой, их постоянно заносит не туда. Но если хотя бы немного уделить внимание редактуре, выкинуть откровенно бредовые куски текста, то контент может получиться вполне себе читабельным.

Давайте проверим, насколько реально этим воспользоваться уже сейчас.

Генераторов текстов при помощи искусственного интеллекта на русском и в открытом доступе пока что нет.

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

Его необходимо перевести на английский — это мы поручим Google Translate. Берем получившееся и загружаем в сервис. Вот что он нам выдает.

Выданный нейросетью текст мы снова прогоняем через Переводчик.

Смотрите: нейросеть совершенно серьезно взялась за работу и начала действительно подбирать для нас онлайн-генераторы уникальных текстов! Конечно, она сама их придумала.

По крайней мере, под названием Storypedia генераторов текста нет. Однако порыв искусственного интеллекта, желание создать нечто полезное и осмысленное — нельзя не оценить!

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

Давайте «скормим» ей вот такой вариант:

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

Прогоняем полученное через Переводчик и получаем следующее:

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

Что это значит для нас?

В примере выше мы сгенерировали уникальные тексты при помощи нейросети GPT-2. А это даже сейчас не самое последнее их поколение. То есть качество улучшается с каждым годом или даже месяцем.

Необходимость в контент-райтерах, которые пишут тексты за 20-30 руб / 1000 знаков, скоро отпадет. Искусственный интеллект уже умеет делать это дешевле и быстрее.

Разумеется, анализировать, писать кейсы или подборки он все еще не может. И вряд ли сможет на действительно качественном уровне. Однако быстренько наполнить сайт — вполне.

Заключение

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

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

Но если мы уже сейчас можем получать целые тома уникальных текстов за пару минут, то почему бы этим не воспользоваться?

Читайте также: