AI на службе бизнеса в Интернете

AI на службе бизнеса в Интернете

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

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

Основную задачу я разбил на несколько ступень реализации:

1. Сбор и анализ текста. Выявления закономерностей и подчиненности слов между собой. Я понял, что задача заложения в базу данных программы всех слов русского языка является нереальной. По этой причине программа должна самостоятельно определять слова и вносить их в свою базу данных. Я изучил несколько книг по частям речи и их взаимодействию. Единственная задача первого этапа анализа текста – выявление новых слов и установление их связей. Т. к. у нас есть база данных уже известных слов, то выявление новых слов не составит проблемы: если слова нет в базе данных, то мы его добавляем. Перед добавлением мы должны определить часть речи по окончанию и суффиксу, а также другие свойства добавляемого слова в зависимости от части речи (склонение, спряжение, число и т. д.). В итоге получается база данных слов. Все слова в предложении связаны между собой и определенным образом характеризуют что-либо. Именно характеристику предмета необходимо выявить. Например, «едет белая машина» - машина является основным словом, т. к. это существительное. «Едет» - характеристика действия. «Белая» - характеристика объекта «машина». Объектом может быть только существительное в единственном числе. Более подробную информацию об анализе и выявлении взаимосвязей между словами в предложении можно найти в книгах по компьютерной лингвистике. После анализа определенного текста программа наполняет свою базу данных объектами и характеристиками, при этом, не зная и самое главное не понимая значения слова. Слова это лишь описатели объектов. Объект «Машина» может иметь характеристики действия (только глаголы) - ездить, ломаться, заправлять и т. д. Иметь характеристики объекта: белая, красивая, быстрая, российская и т. д. В результате объемы в базе данных обрастают характеристиками действия (глаголы) и характеристиками объекта (прилагательные и другие части речи).

2. Второй этап заключается в структурировании информации в базе данных и представляет собой в большей мере техническую работу. По моим подсчетам на составление читабельного текста высокого уровня в размере одной страницы формата A4 программе необходимо 30 минут. Если Вам покажется, что это долго, то вы ошибаетесь – это быстро. Вся прелесть подобной реализации в том, что нет участия человека. Можно дать задачу нескольким машинам. Все слова в базе данных должны храниться раздельными по типу и по составу (корень, приставка, суффикс, окончание).

3. Третий этап – заключительный. Пользователь задает ключевую фразу, например «заправка машины» и программа начинает создание читабельного текста. В ключевой фразе необходимо выявить объект (машина) и характеристики (заправка). Если в первом этапе мы разбирали текст по кусочкам, то в этом этапе будет обратный процесс – сборка. Сборка более длительный и сложный процесс, но с другой стороны в большей степени в ней применены не лингвистические методы, а технические методы. Первым делом необходимо собрать «скелет текста». Он состоит из очень простых предложений с постоянным повторением ключевой фразы. При анализе большого объема текста в базе данных программы машина имеет характеристику действия «заправлять» и к этой характеристике привязано множество слов: бензин, трудно, дорого, осторожно, огнеопасно и т. д. Здесь следует отметить, что чем больше машина получит текста для анализа, тем больше она будет знать о машине, т. е. об объектах и тем лучше она сможет создать читабельный текст. Далее необходимо просто формировать все возможные простые предложения: «Машина заправлять бензин», «Машина заправлять осторожно необходимо бензин». Следующим шагом является преобразование слов в необходимое число и склонение (спряжение). Это очень легко, т. к. правила подобного преобразования преподаются в школьной программе, и найти в Интернет не составит труда. При преобразовании слова будут меняться местами из-за правильности изменения окончания слов и их преобразования. Получаются связанные очень простые предложения: «Машину (что?) необходимо (что?) заправлять (чем?) бензином (когда?) ежедневно (зачем? для чего? почему?)». Как видно из примера, при преобразовании с помощью простых вопросов программа сможет «раздувать» смысловое предложение до нормального размера. Количество вопросов должны быть заранее определены, но в русском языке их не много и у каждой части речи есть свои. В итоге, в результате реализации правил русского языка по склонению (вопрос - окончание) получаются предложения, которые заканчиваются в момент, когда в базе данных нет ответа на очередной вопрос, т. е. программе не попадалось предложение с описанием причины заправки машины. Необходимо помнить, что программа не знает смысл слов. Вся её ориентация по тексту осуществляется исключительно с помощью разбиения каждого слова по составу и сравнения окончания, суффикса и приставки с другими словами для выявления зависимости одного слова от другого. Это является одновременно и достоинством и недостатком. Достоинство в том, что нет необходимости создания сложной аналитической подсистемы на основе лексики и лингвистики. Недостаток в том, что программа не может определять синонимы. Следовательно, одинаковые по смыслу слова, но с разным корнем для неё будут считаться разными словами. После создания смысловых предложений необходимой длинны, следует профильтровать оставшиеся простые предложения путем их объединения, например: «машина едет быстро» и «машина едет по дороге» необходимо объединить в предложение «машина быстро по дороге». В результате у вас получиться программа, которая умеет достаточно хорошо писать осмысленные тексты. Я бы посоветовал реализовать в программе возможность задавания частоты упоминания ключевой фразы. Максимальная длина создаваемого текста напрямую зависит от объема базы данных программы.

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

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


Карта сайта


Информационный сайт Webavtocat.ru