ОБЛАСТЬ ТЕХНИКИ
[0001] Заявленное техническое решение в общем относится к области вычислительной техники, а в частности к способу и системе генерации текста.
УРОВЕНЬ ТЕХНИКИ
[0002] В результате функционирования языка сложились его разновидности, принадлежащие к определенному стилю изложения текста, которому присущи определенные черты, языковые средства, жанры и т.д. Так, при публикации текста в научном журнале, такому тексту будут присущи черты научного стиля, в то время как при неформальном общении тексту будут присущи черты разговорного стиля, например, неформальные обращения на «ты», простота конструкции предложения, использование сленга и т.д.
[0003] В настоящее время, с развитием информационных технологий, активное развитие получили технологии переноса стиля речи в области обработки текстов на естественном языке (Natural Language Processing, NLP) и сегодня ее пытаются интегрировать в самые разные сферы. Автоматизация процесса или части процесса стилизации текста в определенном стиле может позволить существенно повысить эффективность в таких сферах, как журналистика, в издательских домах, например, редакторы текста, создание контента для медиа платформ и виртуальных ассистентов и т.д.
[0004] Однако, не смотря на востребованность данной технологии, существуют ряд трудностей, не позволяющих, например, генерировать стилизованный текст с высокой точностью. Так, проблемами стилизации текста является обеспечение сохранности исходной информации, обеспечение отсутствия в сгенерированных текстах новых фактов, сохранение смысловой нагрузки исходного текста и т.д. Кроме того, одной из немаловажных проблем, также является возможность обеспечения универсальности технологии, позволяющей генерировать текст не только в одном стиле, но и обеспечивать возможность стилизации исходного текста в нескольких стилях, в зависимости от сферы применения. Поэтому создание эффективного и точного способа автоматической генерации текста в заданных стилях является существенной задачей.
[0005] Так, из уровня техники известен способ переноса стиля текста, раскрытый в источнике [1]. Указанный способ обеспечивает возможность генерирования стилизованного текста из исходного текста с помощью решения задачи машинного перевода. В качестве «языка», на который требуется перевести исходный текст, в данном случае выступает стиль текста.
[0006] К недостаткам указанного решения можно отнести высокую сложность реализации и узконаправленность данного решения, в связи с огромным набором требуемых обучаемых данных, и невозможность адаптации под разные стили ввиду особенностей технологии языкового перевода. Кроме того, указанное решение также не обеспечивает высокую точность, т.к. в процессе такого «перевода» может теряться смысл исходной фразы из-за изменения всех слов исходного текста.
[0007] Из уровня техники также известен способ предоставления логических ответов, которые подражают стилю речи пользователя, раскрытый в патенте РФ № RU 2693332 С1 (ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ЯНДЕКС"), опубл. 02.07.2019. Указанный способ обеспечивает возможность выбора контекстного ответа на вопрос, в зависимости от контекста вопроса, за счет анализа векторного представления контекстного вопроса и поиска ближайшего ответа из набора ответов в базе данных.
[0008] Недостатками данного решения являются невозможность генерирования стилизованного текста на основе исходного текста, высокие затраты вычислительной мощности и большой объем требуемой памяти на формирование базы данных (БД), ограниченность стилизации паттернами БД, низкая точность генерирования стилизованного текста ввиду подбора заранее созданных и сохраненных в БД стилистических ответов.
[0009] Общими недостатками существующих решений является отсутствие эффективного способа генерации стилизованного текста с высокой точностью, обеспечивающей сохранность исходной информации и отсутствие в сгенерированных текстах новых фактов. Также, указанный способ должен обеспечивать сохранение смысловой нагрузки исходного текста. Кроме того, указанный способ должен обеспечивать универсальность технологии стилизации текста, позволяющей генерировать текст не только в одном стиле, но и обеспечивать возможность стилизации исходного текста в нескольких стилях, в зависимости от сферы применения.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0010] В заявленном техническом решении предлагается новый подход к генерации текста. В данном решении используется алгоритм машинного обучения, который позволяет осуществлять генерацию стилизованного текста из исходного текста с высокой точностью, обеспечивающей семантическую близость исходного и стилизованного текста и исключающий искажение стилизованного текста новыми фактами.
[0011] Таким образом, решается техническая проблема обеспечения возможности генерации стилизованного текста.
[0012] Техническим результатом, достигающимся при решении данной проблемы, является повышение семантической точности генерации стилизованного текста из исходного текста.
[0013] Дополнительным техническим результатом, проявляющимся при решении вышеуказанной проблемы, является обеспечение возможности генерации множества стилизованных текстов из одного исходного.
[0014] Указанные технические результаты достигаются благодаря осуществлению способа генерации текста, выполняемого по меньшей мере одним вычислительным устройством, и содержащим этапы, на которых:
a) получают входные данные, содержащие исходный текст на естественном языке и целевой стиль генерируемого текста;
b) осуществляют кодирование исходного текста, причем в ходе кодирования выполняют по меньшей мере токенизацию текстовых данных;
c) выполняют векторизацию токенов, полученных на этапе b);
d) осуществляют обработку векторных представлений токенов исходного текста, полученных на этапе с), с помощью модели машинного обучения на базе нейронной сети, обученной на стилизованных, в соответствии с заданным целевым стилем, текстовых данных, в ходе которой осуществляется формирование массива векторизированных стилизованных текстов;
e) осуществляют декодирование каждого векторизированного стилизованного текста из массива, полученного на этапе d), причем в ходе декодирования выполняют по меньшей мере преобразование векторизированного стилизованного текста в токены и детокенизацию;
f) выполняют фильтрацию массива стилизованных текстов, полученных на этапе е);
g) ранжируют отфильтрованные стилизованные тексты на основе попарного расстояния между исходным текстом и каждым из возможных стилизованных текстов и лингвистической приемлемости каждого из возможных стилизованных текстов;
h) генерируют стилизованный текст, на основе данных, полученных на этапе g).
[0015] В одном из частных вариантов реализации способа фильтрация массива стилизованных текстов выполняется с помощью регулярных выражений и морфологического анализатора.
[0016] В другом частном варианте реализации способа фильтрация массива стилизованных текстов выполняется на основе совпадения имен собственных в исходном тексте и каждом стилизованном тексте из массива.
[0017] В другом частном варианте реализации способа совпадение имен собственных определяется с помощью количества неизменных именованных сущностей, содержащихся в исходном тексте и стилизованном тексте.
[0018] В другом частном варианте реализации способа количество неизменных именованных сущностей определяется на основе распознавания именованных сущностей в исходном тексте и каждом стилизованном тексте из массива.
[0019] В другом частном варианте реализации способ дополнительно содержит этап проверки наличия стилизации текста.
[0020] В другом частном варианте реализации способа проверка наличия стилизации текста осуществляется на основе определения произошла ли замена целевых индикаторов стиля.
[0021] В другом частном варианте реализации способа ранжирование отфильтрованных стилизованных текстов выполняется на основе среднего значения, определенного из попарного расстояния между исходным текстом и каждым из возможных стилизованных текстов и лингвистической приемлемости каждого из возможных стилизованных текстов.
[0022] Кроме того, заявленные технические результаты достигаются за счет системы автоматической генерации текста в заданном речевом стиле в системах, содержащей:
• по меньшей мере один процессор;
• по меньшей мере одну память, соединенную с процессором, которая содержит машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение способа генерации текста.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0023] Признаки и преимущества настоящего изобретения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей.
[0024] Фиг. 1 иллюстрирует блок-схему общего вида заявленной системы.
[0025] Фиг. 2 иллюстрирует блок-схему выполнения заявленного способа.
[0026] Фиг. 3 иллюстрирует пример общего вида вычислительного устройства, которое обеспечивает реализацию заявленного решения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0027] Ниже будут описаны понятия и термины, необходимые для понимания данного технического решения.
[0028] Модель в машинном обучении (МО) - совокупность методов искусственного интеллекта, характерной чертой которых является не прямое решение задачи, а обучение в процессе применения решений множества сходных задач.
[0029] Распознавание именованных сущностей (Named-entity recognition, NER) - это подзадача извлечения информации, которая направлена на поиск и классификацию упоминаний именованных сущностей в неструктурированном тексте по заранее определенным категориям, таким как имена собственные, имена персонажей, организации, местоположения, денежные значения, проценты и т.д.
[0030] Векторное представление слов (word embeddings, эмбеддинги) - общее название для различных подходов к моделированию языка и обучению представлений в обработке естественного языка, направленных на сопоставление словам (и, возможно, фразам) из некоторого словаря векторов из n-мерного вещественного пространства R_n.
[0031] Токенизация - это процесс разбиения текста на текстовые единицы или токены (чаще всего в качестве таких единиц выступают слова, но это могут быть также буквы, части предложения, сочетания слов и т д).
[0032] Языковая модель - это вероятностное распределение на множестве словарных последовательностей. В данном патенте термин "языковая модель" употребляется для описания нейросетевых языковых моделей, которые выполнены с возможностью моделирования языка посредством оценки вероятности той или иной последовательности символов.
[0033] Лингвистическая приемлемость (linguistic acceptability) - термин, введенный лингвистом Ноамом Хомским. В отличие от грамматической корректности, или грамматичности, которая относится к структуре языка, приемлемость оценивает, насколько предложение является естественным с точки зрения носителя. Таким образом, грамматичное предложение может быть неприемлемым (широко известный пример Л. В. Щербы: «Глокая куздра штеко будланула бокра и курдячит бокренка»), однако приемлемое предложение должно быть грамматичным. Т.е. лингвистическая приемлемость позволяет определить по шкале от возможного до невозможного с точки зрения носителя языка текстовое предложение.
[0034] Заявленное техническое решение предлагает новый подход, обеспечивающий повышение семантической точности генерации стилизованного текста, заключающейся в обеспечении сохранности смыслового содержания в стилизованном тексте, а также исключения дополнения стилизованного текста новыми фактами и логическими единицами языка. Одной из особенностей заявленного технического решения является возможность генерации множества стилизованных тексов из единственного исходного текста, что также обеспечивает автоматизацию процесса генерации стилизованных текстов и значительно снижает время стилизации текста по сравнению с ручной генерацией каждого отдельного стилизованного текста. Кроме того, еще одним преимуществом, достигаемым при реализации заявленного технического решения, является возможность проверки и выбор генерируемого текста с помощью лингвистической приемлемости, что, как следствие, обеспечивает повышение точности генерации текста за счет исключения «неестественных» текстов.
[0035] Заявленное техническое решение может быть реализовано на компьютере, в виде автоматизированной информационной системы (АИС) или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа.
[0036] Техническое решение также может быть реализовано в виде распределенной компьютерной системы или вычислительного устройства.
[0037] В данном решении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность вычислительных операций (действий, инструкций).
[0038] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы)/
[0039] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных, например, таких устройств, как оперативно запоминающие устройства (ОЗУ) и/или постоянные запоминающие устройства (ПЗУ). В качестве ПЗУ могут выступать, но, не ограничиваясь, жесткие диски (HDD), флэш-память, твердотельные накопители (SSD), оптические носители данных (CD, DVD, BD, MD и т.п.) и др.
[0040] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.
[0041] Термин «инструкции», используемый в этой заявке, может относиться, в общем, к программным инструкциям или программным командам, которые написаны на заданном языке программирования для осуществления конкретной функции, такой как, например, кодирование и декодирование текстов, фильтрация, ранжирование, трансляция текстов в диалоговую систему и т.п. Инструкции могут быть осуществлены множеством способов, включающих в себя, например, объектно-ориентированные методы. Например, инструкции могут быть реализованы, посредством языка программирования Python, С++, Java, Python, различных библиотек (например, MFC; Microsoft Foundation Classes) и т.д. Инструкции, осуществляющие процессы, описанные в этом решении, могут передаваться как по проводным, так и по беспроводным каналам передачи данных, например Wi-Fi, Bluetooth, USB, WLAN, LAN и т.п.
[0042] На фиг. 1 приведен общий вид системы 100 генерации текста. Система 100 включает в себя основные функциональные элементы, такие как: модуль кодирования/декодирования 101, модуль переноса стиля 102, модуль фильтрации стилизованных текстов 103, модуль ранжирования 104 стилизованных текстов. Более подробно элементы системы 100 раскрыты на фиг. 3.
[0043] Система генерации текста 100 может представлять или являться частью системы, например, сервера, компьютера, облачного модуля и т.д., предназначенной для генерации текста на основе исходного текста. Так, под системой генерации текста может пониматься любая система, предназначенная для обработки текста. Соответственно, система генерации текста может являться любой системой обработки текстовых данных с целью генерации новых текстовых данных.
[0044] Так, в одном частном варианте реализации, система генерации текста 100 может взаимодействовать и/или являться частью диалоговой системы. Диалоговая система, в свою очередь, может представлять собой различные решения, например, голосовые помощники, чат-боты, роботизированные колл-центры, и иные технологии, воплощающие автоматизированный процесс общения с пользователем, таким как пользователь 110. Стоит отметить, что под системой генерации 100 необходимо понимать любую автоматизированную человеко-машинную систему, работающую в режиме диалога, при котором она отвечает на каждую команду пользователя и по мере надобности обращается к нему за информацией.
[0045] В еще одном частном варианте реализации, система 100 может являться частью и/или взаимодействовать с системой обработки текста, например, системой создания, редактирования, сохранения и распечатывания документа, содержащего тексты. Так, указанная система 100 может получать, посредством интерфейса ввода/вывода, например, GUI и т.д., исходные текстовые данные, которые необходимо обработать и осуществлять, в соответствии с этапами способа 200, генерацию текста на основе исходных данных. Так, в еще одном частном варианте осуществления, исходные данные могут представлять собой голосовые данные. Для обработки указанных данных осуществляется преобразование речи в текст и дальнейшая обработка данных. Технологии преобразования речи в текст широко известны из уровня техники.
[0046] Кроме того, система генерации текста 100 может также быть связана с цифровыми ассистентами (виртуальные цифровые помощники) и предназначаться для генерации текста для цифровых ассистентов с учетом стиля речи каждого цифрового ассистента. Так, цифровыми ассистентами могут выступать системы автоматизации взаимодействия с пользователем, реализованные на основе искусственного интеллекта в диалоговом формате (чат-бот, навыки для голосового помощника и т.д.). Так, в одном частном варианте осуществления цифровой ассистент может представлять собой компьютерную систему, которая имитирует в диалоговом формате разговор с пользователями.
[0047] Под стилизацией текста в данном решении понимается генерирование текста путем преобразования принятого исходного текста в текст, которому присущи стилистические речевые черты. Так, стилистическими чертами могут являться эмоциональный окрас текста (веселый, грустный и т.д.). В другом частном варианте осуществления стилистическими речевыми чертами может являться условие и цели общения в какой-то сфере общественной деятельности, например, официально-деловой деятельности, публицистической деятельности, разговорной, художественной и т.д. Стоит отметить, что стилизацией текста также может являться придание характерных черт тексту, присущих особенностям общения отдельно взятых личностей, персонажей, литературных героев и т.д., не ограничиваясь. Так, в еще одном частном варианте осуществления стилизацией текста может являться преобразование исходного текста в стилизованный, в соответствии с заданным стилем общения конкретного цифрового помощника, которому присущи разговорные черты стиля, например, использование определенных местоимений, подчеркивающих неформальный/формальный стиль общения («Ты» и «Вы), род, число и т.д.
[0048] Модуль кодирования/декодирования 101 может быть реализован на базе по меньшей мере одного вычислительного устройства, оснащенного соответствующим программным обеспечением, и включать набор моделей для токенизации и детокенизации текста, векторизации токенизированного текста и преобразования токенов в текст, например, одну или несколько моделей машинного обучения для преобразования текстовой информации в векторную форму, например, BERT, ELMo, ULMFit, XLNet, RoBerta, RuGPT3 и другие. В одном частном варианте осуществления модуль 101 может быть реализован на базе системы 300, которая более подробно раскрыта на фиг. 3. Стоит отметить, что определенный метод токенизации и векторизации зависит от выбранной языковой модели, на базе которой реализован модуль 102. Например, при использовании модели RuGPT3, токенизация осуществляется методом ВРЕ (Byte Pair Encoding), а последующая векторизация - путем замены каждого токена на его индекс в словаре языковой модели, составленном на этапе изначального обучения модели. Кроме того, в еще одном частном варианте осуществления, в качестве метода токенизации может использоваться токенизация по словам.
Пример токенизации по словам и кодирование слов индексами в словаре:
[0049] Модуль 102 может быть реализован на базе по меньшей мере одной нейронной сети, заранее обученной на конкретных наборах стилизованных, в соответствии с заданными стилями, текстов. В качестве модели машинного обучения, реализующей функцию генерации стилизованных, в соответствии с заданным стилем, текстов, может быть использована, например, генеративная языковая модель, такая как RuGPT3, XLNet и т.д. В одном частном варианте осуществления, при реализации заявленного решения, МО являлась русскоязычная генеративная языковая модель RuGPT3-Large. Модель обучена на источниках из разных доменов: Википедия, книги, новости, русский Common Crawl и т.д. Модель обучали 14 дней на 128 GPU с контекстным окном 1024 и дополнительно несколько дней на 16 GPU с контекстом 2048. Финальная модель имеет перплексию 13.8 на тестовом наборе данных. На данном этапе обучения, результатом обучения языковой модели являлась возможность предсказывания вероятности следующего токена на основе предыдущего начального фрагмента текста. Так, если в процессе обучения модель часто встречала в обучающих данных определенное словосочетание, то при предсказании следующего после известного из словосочетания токена, модель с высокой вероятностью будет предсказывать именно токен из словосочетания в обучающем наборе данных.
[0050] Далее, для выполнения непосредственно самого процесса генерации стилизованного текста из исходного текста, выполнялось дообучение обученной модели. Для дообучения модели использовалась процедура fine-tune. На указанном этапе выполнялось настраивание весов обученной модели в соответствии с решаемой задачей. Так, при появлении в модели исходного предложения, за счет измененных весовых коэффициентов, наиболее вероятным предложением для модели будет перефраз данного предложения в определенном стиле, т.е. осуществляется повышение вероятности продолжения текстового фрагмента в том формате, в котором должен быть сгенерирован стилизованный текст. При дообучении модели использовались датасеты с различными стилизованными текстами в разных речевых стилях. Так, в одном частном варианте осуществления решалась задача стилизации текста в соответствии с одним из заданных речевых стилей. Изначальные данные для дообучения включали наборы текстов в трех заданных речевых стилях: научный (5500 текстов), разговорный (6285 текстов), деловой (7578 текстов).
[0051] Для формирования датасета (обучающего набора данных) в формате, подходящем для дообучения модели, состоящего из пар «исходный текст» - «текст в заданном речевом стиле», к стилизованным текстам был применен парафразер, например, парафразер на основе генеративной модели RuT5. Модель парафразера известна из уровня техники и раскрыта, например, в источнике, доступном по ссылке в Интернет: https://huggingface.co/cointegrated/rut5-base-paraphraser. Для каждого стилизованного текста было сгенерировано 10 исходных вариантов парафразера, из которых затем было выбрано 2 наиболее близких варианта на основе семантической метрики, например, метрики LabSe. Данная метрика оценивает косинусное сходство между векторными представлениями предложений, полученными с помощью модели, которое соответствует семантической близости. Таким образом итоговые датасеты для дообучения RuGPT3 под задачу переноса стиля в заданных речевых стилях содержали 5500 (научный), 6285 (разговорный), 7578 (деловой) пар предложений («исходный текст» - «текст в заданном стиле»). Помимо этого, к данным был также добавлен тэг, характеризующий конкретный стиль речи (научный, разговорный, деловой) для обеспечения возможности определения в каком именно стиле сгенерируется стилизованный текст. На полученных данных модель дообучалась 5 эпох.
[0052] Оценка полученной модели производилась для задачи генерации текста в заданном речевом стиле на тестовом сете отдельно для каждого речевого стиля. В качестве тестового набора данных использовалось 1100 текстов для каждого речевого стиля. Для оценки качества были использованы следующие метрики: 1) BLEU (Papineni, K.; Roukos, S.; Ward, Т.; Zhu, W. J. (2002). BLEU: a method for automatic evaluation of machine translation (PDF). ACL-2002: 40th Annual meeting of the Association for Computational Linguistics, pp.311 318. CiteSeerX 10.1.1.19.9416.). Алгоритм BLEU сравнивает фразы двойного перевода с фразами, которые он находит в эталонном варианте, и взвешенно подсчитывает количество совпадений. Эти совпадения не зависят от позиции. Высшая степень совпадения указывает на более высокую степень сходства с эталонным переводом и более высокий балл. Внятность и грамматика не учитываются. 2) Число общих N-Gram, где в качестве N-Gram брались последовательности слов длины от 3 до 8. 3) Levenshtein - расстояние Левенштейна (В.И. Левенштейн. Двоичные коды с исправлением выпадений, вставок и замещений символов. Доклады Академий Наук СССР, 1965. 163.4:845-848.) (редакционное расстояние, дистанция редактирования). Указанная метрика, измеряющая по модулю разность между двумя последовательностями символов. Она определяется как минимальное количество односимвольных операций (а именно вставки, удаления, замены), необходимых для превращения одной последовательности символов в другую. 4) Jaccard index - индекс Жаккара (Jaccard P. Distribution de la flore alpine dans le Bassin des Dranses et dans quelques regions voisines // Bull. Soc. Vaudoise sci. Natur. 1901. V. 37. Bd. 140. S. 241- 272.), который вычислялся как число общих токенов в стилизованном и исходном текстах, деленное на объединение токенов в этих двух фрагментах текста.
[0053] Результаты оценки модели для каждого из трех стилей приведены в таблице 1.
[0054] Из таблицы 1 видно, что BLEU score, число общих n-gram и индекс Жаккара имеют уровень более 95%. Расстояние Левенштейна для всех стилей также в среднем меньше 2, что указывает на то, что сгенерированные предложения в среднем отличаются от ответов-образцов не более чем на 2 символа.
[0055] Модуль 103 может быть реализован на базе по меньшей мере одного вычислительного устройства и включать морфологический анализатор, например, Unigram анализатор, N-gram анализатор, анализатор на основе регулярных выражений и т.д. Также, модуль 103 может содержать нейронную сеть, обученную на решение задачи NER (распознавание именованных сущностей), например, Slovnet BERT NER, DeepPavlov BERT NER и т.д., не ограничиваясь. В одном частном варианте осуществления модуль 103, может содержать тяжелую модель с BERT-архитектурой, и быть обучен на небольшом вручную аннотированном датасете.
[0056] Модуль ранжирования 104 стилизованных текстов может быть реализован на базе по меньшей мере одного вычислительного устройства, оснащенного соответствующим программным обеспечением для вычисления расстояния Левенштейна и лингвистической приемлемости. Так, указанный модуль 104 выполнен с возможностью осуществления алгоритма вычисления попарных расстояний между исходным текстом и стилизованными текстами и лингвистической приемлемости.
[0057] Для специалиста в данной области техники очевидно, что, хотя и описанные выше модули представлены как отдельные устройства, указанные модули также могут быть объединены в составе одного устройства, например, системы 300.
[0058] На фиг. 2 представлена блок схема способа 200 генерации текста, который раскрыт поэтапно более подробно ниже. Указанный способ 200 заключается в выполнении этапов, направленных на обработку различных цифровых данных. Обработка, как правило, выполняется с помощью системы, например, системы 100, которая также может представлять, например, сервер, компьютер, мобильное устройство, вычислительное устройство и т.д.
[0059] На этапе 210 система 100 получает входные данные, содержащие исходный текст на естественном языке и целевой стиль. Так, входные данные могут быть получены от диалоговой системы, системы обработки текста и/или напрямую в систему 100, по каналам передачи данных, таких как Интернет. Исходный текст, может представлять, например, диалоговую реплику, такую как ответ на вопрос пользователя, вопрос пользователю, предложение, подлежащее стилизации и т.д. Целевой стиль может представлять определенные характерные черты речевого стиля, например, разговорный стиль общения, которому присущи, например, наличие неформальных обращений к пользователю, деловой стиль общения, которому присущи официальные обращения и т.д. Для специалиста в данной области техники очевидно, что стилизация может применяться как в качестве реплик цифровых ассистентов, так и в процессе обработки и/или перефразирования текста. Также, в одном частном варианте осуществления целевой стиль может указывать на эмоциональный окрас текста, например, грустный, веселый, нейтральный и т.д. Целевой стиль может быть определен настройками диалоговой системы. Так, диалоговая система, может содержать набор цифровых ассистентов каждому из которых присущ свой стиль общения. При начале диалога пользователь в настройках системы может выбрать определенного ассистента. Указанные данные о выбранном ассистенте также могут передаваться в систему 100. Кроме того, в еще одном частном варианте осуществления выбор целевого стиля может осуществляться для системы перефразирования текста.
[0060] На этапе 220 осуществляют кодирование исходного текста, причем в ходе кодирования выполняют по меньшей мере токенизацию текстовых данных. Указанный этап 220 может выполняться модулем 101. Входной текст может быть разделен на токены. Под токеном в данном решении следует понимать последовательность символов в тексте, которая имеет значение для анализа. В еще одном частном варианте осуществления токенизация текста может быть выполнена с помощью алгоритма ВРЕ (Byte Pair encoding). В еще одном частном варианте осуществления токенизация может представлять собой разбиение текста на слова по пробелу между словами. Далее составляется словарь токенов фиксированного размера (например, 30000 токенов), где каждому токену сопоставляется его индекс в словаре. Пример токенизации на слова:
[0061] На указанном этапе 230 выполняется векторизация токенизированных текстов. Как упоминалось выше, метод токенизации зависит от языковой модели, которая используется в модуле 102 на этапе 240. Так, например, при использовании языковой модели RuGPT3, каждому токену сопоставляется его индекс в словаре. Таким образом, токенизированный фрагмент текста (список токенов) после векторизации отображается в вектор индексов данных токенов в словаре. Приме векторизации при токенизации по словам:
[0062] Далее способ 100 переходит к этапу 240.
[0063] На этапе 240 осуществляют обработку векторных представлений токенов исходного текста, с помощью модуля 103, в ходе которой осуществляется формирование массива векторизированных стилизованных текстов. Как упоминалось выше, модель машинного обучения на базе нейронной сети была дообучена на стилизованных, в соответствии с заданным целевым стилем текстах. На этапе 240 на вход модели поступает векторное представление исходного текста. На выходе модель генерирует несколько вариантов стилизованных текстов (кандидатов) в форме векторных представлений. Указанные векторные представления сохраняются в массив стилизованных текстов. Количество кандидатов, генерируемых моделью зависит от применяемых методов выборки. В одном частном варианте осуществления для модели использовались следующие критерии выборок: выборка top Р (top_p=0.92), выборка top K (top_k=50), температурная выборка (temperature=0.85). Более подробно указанные методы выборок раскрыты в источнике, найдено в Интернет по ссылке: https://towardsdatascience.com/how-to-sample-from-language-models-682bceb97277. Общий принцип работы модели заключается в возможности предсказывать вероятность следующего токена в определенном контексте. Так, на первом этапе обучения осуществляется возможность языковой модели предсказывать вероятность следующего токена на основе предыдущего начального фрагмента текста. Для реализации возможности генерирования указанной моделью стилизованных текстов, далее выполняется изменение ее весов таким образом, чтобы те вероятности для следующего токена, которые предсказывает модель, отвечали текущей задачи стилизации текста. Указанное изменение весов осуществляется на основе обучающего набора данных. Дообученная модель далее способна генерировать из исходного текста множество стилизованных текстов с разной степенью вероятности токенов в этом тексте. Поскольку сгенерированное множество стилизованных текстов может быть очень велико, а распределение вероятности в части из них будет слишком малым, то такие кандидаты (сгенерированные стилизованные тексты) могут быть отсечены на основе критериев выборок, указанных выше. В результате, на выходе модели формируется массив стилизованных текстов.
[0064] Стоит отметить, что обеспечение возможности генерации масссива стилизованных текстов, а не одного стилизованного текста, повышает точность стилизации текста, т.к. обеспечивается возможность дальнейшей проверки и обработки всех вариантов стилизованного текста для выбора наиболее семантически близкого к исходному текста из массива, а также лингвистически приемлемого текста. Кроме того, генерация именно массива стилизованных текстов позволяет в дальнейшем исключить добавление новых фактов и/или некорректное изменение определенных слов на основе дальнейшей обработки таких текстов.
[0065] На этапе 250 сформированный массив векторизированных стилизованных текстов поступает в модуль 101. На указанном этапе 250 осуществляют декодирование каждого векторизированного стилизованного текста из массива, причем в ходе декодирования выполняют по меньшей мере преобразование векторизированного стилизованного текста в токены и детокенизацию. Так, например, в ходе указанного процесса каждый вектор фиксированной длины на основе его размерности сопоставляется токен по индексу словаря, что позволяет представить каждый вектор в виде токена. Процесс детокенизации является обратным процессом к токенизации и заключается в объединении токенов в текст. В результате выполнения данного этапа 250, массив векторизированных стилизованных текстов преобразуется в массив стилизованных текстов на естественном языке.
Пример:
Исходный текст ['Вот что я нашел по вашей заявке]
Массив стилизованных текстов: ['Вот что я нашла по заявке', 'Вот что я нашел по твоей заявке', 'Вот что я нашла по вашей заявке', 'Что я нашла по твоей заявке'…]
[0066] На этапе 260 выполняют фильтрацию массива стилизованных текстов. На указанном этапе 260 с помощью модуля 103 осуществляется фильтрация указанного массива. Так, на данном этапе исключаются те кандидаты, которые не удовлетворяют заданным характерным стилевым чертам. Так, например, при генерации стилизованного текста в деловом стиле будет использован по меньшей мере следующие критерий по обращению (на Вы, а не на Ты). Указанная фильтрация также повышает точность стилизации текста. Для проверки корректности используются регулярные выражения, написанные на основе библиотеки re и морфологический анализатор MorphAnalyzer из библиотеки pymorphy2. На выходе данного модуля имеем отфильтрованный список возможных кандидатов, которые прошли проверку корректности.
Пример: ['Вот что я нашла по заявке', 'Что я нашла по твоей заявке'…].
[0067] Кроме того, в одном частном варианте осуществления фильтрация массива стилизованных текстов выполняется на основе совпадения именованных сущностей (например, имен собственных) в исходном тексте и каждом стилизованном тексте из массива. Для этого в исходном и каждом из стилизованных текстов выполняется алгоритм распознавания именованных сущностей, например, с помощью модуля 103, и происходит сравнение количества неизменных именованных сущностей, содержащихся в исходном тексте и стилизованном тексте. Как указывалось выше, на этапе 240, генерируется массив стилизованных текстов. Для повышения семантической точности между стилизованным и исходным текстом, стилизованный текст не должен искажать факты и не быть дополнен новыми логическими связями. В свою очередь, указанный массив стилизованных текстов может содержать релевантные стилизованные текста, которые удовлетворяют характерным стилистическим чертам, однако такие тексты будут некорректными, например, ввиду изменения фактов такого текста.
Пример:
Исходный текст: Думаю, тебе стоит прочитать произведение Александра Сергеевича Пушкина «Евгений Онегин»
Некорректный стилизованный текст: Думаю Вам стоит прочитать произведение Александра Васильевича Пушкина «Евгений Онегин»
[0068] Как видно из примера, сгенерированный текст удовлетворяет стилистическим чертам официального стиля (обращение на «Вы»), т.е. является релевантным, однако, изменяет факты текста (имя автора произведения).
[0069] Для решения данной проблемы был предложен подход, заключающийся в сравнении именованных сущностей в исходном тексте и каждом стилизованном тексте из набора. Для этого, на первом шаге в исходном тексте выполняют распознавание именованных сущностей (например, имена, названия топонимов и организаций) и сохраняют их в памяти, например, в памяти системы 100, в виде файла данных. На следующем шаге выполняют распознавание именованных сущностей в каждом стилизованном тексте из массива. После этого выполняют сравнение неизменных сущностей между исходными и стилизованными текстами. Соответственно, кандидаты, отличающиеся от исходного текста по именованным сущностям, отбрасываются, что дополнительно повышает семантическую точность стилизации текста за счет исключения изменений/дополнений фактами стилизованного текста.
[0070] Таким образом, на этапе 260 осуществляется фильтрация массива стилизованных текстов.
[0071] На этапе 270 осуществляют ранжирование отфильтрованных стилизованных текстов и выбор лучшего стилизованного текста, причем выбор лучшего текста основан на двух факторах: а) на попарном расстоянии между исходным текстом и каждым из возможных стилизованных текстов б) оценке лингвистической приемлемости кандидатов с точки зрения русского языка.
[0072] Как упоминалось выше, лингвистическая приемлемость характеризует значения, присваиваемое конкретному тексту, отражающее возможность или невозможность существования текста с точки зрения носителя языка.
[0073] Так, к лингвистической приемлемости предъявляются следующие требования. Текс должен быть осмысленным - пример, имеющий смысл, семантически понятный слушателю. Непротиворечивый, не содержащий логических ошибок. Текст должен быть грамматичный - пример, построенный корректно, по правилам грамматики. Правила грамматики могут включать в себя, например, порядок слов, падежи, и все то, что является синтаксисом. Соответственно, приемлемый текст должен быть и осмысленным, и грамматичным.
[0074] Рассмотрим первый критерий ранжирования текстов.
[0075] Оценка расстояния между кандидатом и исходным текстом осуществляется на основе сравнения посимвольной близости с исходным текстом на основе расстояния Левенштейна. Для этого вычисляются попарные расстояние между исходной нейтральной фразой или текстом и каждым из возможных кандидатов. Расстояние Левенштейна вычисляется с помощью функции distance из библиотеки Levenshtein. Полученный набор расстояний затем нормируется с помощью преобразования минимакс (https://www.bigdataschool.ru/blog/%D0%BD%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%D0%BC%D0%B5%D1%82%D%BE%D0%B4%D1%8B%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%B0-data-preparation.html) и приводится к диапазону [0, 1].
[0076] Для оценки значений лингвистической приемлемости кандидатов с точки зрения русского языка используется модель ruRoBERTa-large-rucola (https://huggingface.co/RussianNLP/ruRoBERTa-large-rucola). Указанная модель представляет из себя модель ruRoBERTa-large, которая была дообучена посредством процедуры fine-tune для задачи оценки грамматической приемлемости текста на датасете RuCoLa (https://github.com/RussianNLP/RuCoLA). Данная модель для каждого предложения (стилизуемого текста) определяет значение лингвистической приемлемости от 0 до 1, с точки зрения русского языка (0 - неприемлемо, 1 - абсолютно приемлемо). Для дообучения модели использовался датасет, содержащий размеченные примеры, которые приемлемы и неприемлемы в соответствии с критериями лингвистической приемлемости. С использованием данной модели для каждого кандидата из набора вычисляется его лингвистическая приемлемость (грамматическая приемлемость) с точки зрения русского языка и оценка, обратная грамматической приемлемости, которая вычисляется как unacceptability=1 - acceptability. Данная величина отражает степень лингвистической неприемлемости и также меняется от 0 до 1 (чем меньше, тем лучше). Стоит отметить, что значение лингвистической приемлемости по сути отражает вероятность корректности предсказания модели.
[0077] Таким образом для каждого кандидата из набора осуществляется получение двух оценок от 0 до 1. Первая отражает близость с исходным предложением, вторая -лингвистическую неприемлемость кандидата. Для каждого кандидата в качестве финальной оценки берется среднее этих двух оценок, а в качестве лучшего выбирается кандидат, с минимальным значением итоговой оценки. В результате получаем стилизованный текст, с одной стороны близкий к исходному текстовому фрагменту, с другой стороны с высокой лингвистической приемлемостью, что соответственно повышает точность всего алгоритма стилизации и уменьшает вероятность добавления новых фактов и генерации лингвистически неприемлемых текстов.
[0078] Рассмотрим в качестве примера несколько текстов. Пример: Я в заявке найти вот это - неприемлемое
[0079] В соответствии с оценкой лингвистической приемлемости значение будет равно 0.27, что характеризует неприемлемость данного предложения.
[0080] Как указывалось выше, введение дополнительного критерия ранжирования повышает точность стилизации генерируемого текста, а также уменьшает вероятность добавления новых фактов.
[0081] Рассмотрим пример ранжирования кандидатов в деловом стиле для текста «Вчера в двамагаз был закрыт». В качестве кандидатов были получены следующие тексты:
1) Вчера в два часа магазин закрыт.
2) Вчера в два часа дня магазин был закрыт.
3) Вчера в два часа дня супермаркет был закрыт.
[0082] Определим критерий семантической близости (нормированное с помощью преобразование минимакс расстояние Левенштейна) для каждого из указанных примеров. Для первого текста расстояние Левенштейна будет - 10, для второго - 12, для третьего - 18. Применив к этим значением преобразование минимакс, получаем набор значений: 0, 0.25 и 1, соответственно.
[0083] Далее, определим для каждого из кандидатов значения лингвистической приемлемости, например, с помощью модели лингвистической приемлемости, которая описана выше.
[0084] Для первого кандидата, в соответствии с прогнозированием модели лингвистической приемлемости, значение будет - acceptability - 0.15 - non-acceptability - 1 -0.15=0.85.
[0085] При этом, для второго и третьего текса значение лингвистической приемлемости будут равны (acceptability) 0.87 и 0.84, a non-acceptability - 1-0.87=0.13 и 1-0.84=0.16.
[0086] В итоге получаем что итоговый скор для первого кандидата равен (0+0.85)/2=0.425, для второго - (0.25+0.13)/2=0.19, для третьего - (1+0.16)/2=0.58 и в качестве результата будет выбран второй кандидат с наименьшим значением итогового скора, который отражает высокую лингвистическую приемлемость данного кандидата и высокую смысловую близость к исходному тексту.
[0087] Как видно из получившихся значений, нормированное расстояние Левенштейна имеет низкие значения как для первого, так и для второго кандидата, в то время как для третьего кандидата значение больше в силу замены слова «магаз» на «супермаркет», что не является необходимым. При этом, лингвистическая неприемлемость первого кандидата отчетливо показывает неприемлемость данного кандидата.
[0088] Таким образом, при использовании только критерия семантической близости, ранжируемые кандидаты, а следовательно и итоговый генерируемый текст, будут иметь меньшую точность.
[0089] Следовательно, осуществление ранжирования кандидатов за счет среднего из двух критериев дополнительно позволяет повысить точность и исключить некорректных кандидатов.
[0090] Кроме того, в одном частном варианте осуществления, ранжирование кандидатов может осуществляться в соответствии с пороговым значением для критерия лингвистической приемлемости. Так, например, порог лингвистической приемлемости может быть равен 0.5. Следовательно, при ранжировании, все кандидаты, имеющие значение ниже порогового значения, будут автоматически отброшены и не будут учитываться при ранжировании. В случае если все кандидаты не удовлетворяют пороговому значению, то может быть выбран кандидат с наилучшим значением из имеющих.
[0091] Кроме того, в одном частном варианте осуществления заявленного решения полученный в результате ранжирования текст может быть дополнительно проверен на наличие стилизации. Проверка наличия стилизации текста осуществляется на основе определения произошла ли замена целевых индикаторов стиля. Так, например, система 100 может дополнительно содержать модуль проверки стилизации, реализованный на базе вычислительного устройства. Указанный модуль выполнен с возможностью проверки для пары (исходный текст, стилизованный текст) происходит ли при стилизации замена целевых индикаторов стиля, например, числа в обращении Ты/Вы (требуется для разговорного/делового стиля) по сравнению с оригинальной фразой (есть много нейтральных фраз, для которых замена не требуется). Данный модуль выполнен с возможностью замены только в том случае, если происходит хотя бы одно изменение. Таким образом, в случае если происходит замена, то на выходе мы получаем стилизованный текст, а если замены не произошло - то исходный, которая является нейтральной и подходит для любого стиля.
[0092] На этапе 280 генерируют стилизованный текст, на основе данных, полученных на этапе 270.
[0093] Так, на указанном этапе 280 осуществляют генерацию итогового стилизованного текста. Генерация стилизованного текста может осуществляться на основе результатов ранжирования, полученных на этапе 270. Так, система 100 может осуществлять выбор лучшего текста из набора ранжированных кандидатов и осуществлять генерацию выбранного текста в интерфейсе ввода/вывода.
[0094] Так, например, при стилизации текстового фрагмента, сгенерированный стилизованный текст может быть сохранен в памяти системы 100 в виде файла и отправлен в диалоговую систему или на интерфейс ввода/вывода, посредством, например, канала передачи данных для последующего отображения пользователю, например, с помощью интерфейса ввода-вывода диалоговой системы или интерфейса ввода/вывода системы 100.
[0095] Таким образом, в вышеприведенных материалах были описаны система и способ генерации текста стилизованного в заданном речевом стиле, обеспечивающий высокую семантическую точность генерации стилизованного текста.
[0096] Кроме того, стоит отметить, что благодаря реализации заявленного решения также обеспечивается универсальность стилизации текста, позволяющая генерировать текст не только в одном стиле, но и обеспечивать возможность стилизации исходного текста в нескольких стилях, в зависимости от сферы применения. Указанная особенность исключает необходимость в отдельном формировании для каждого стиля уникальной стилизованного текста. Благодаря применению заявленного решения выполняется возможность подачи одного исходного текста и генерирование на его основе разных стилизованных текстов.
[0097] Теперь рассмотрим один из примеров реализации заявленного технического решения.
[0098] Одно из возможных применений системы 100 заключается в стилизации изначально нейтрального ответа под заданный речевой стиль (научный, разговорный, деловой и т.п.). При запросе пользователя, диалоговая система генерирует изначально нейтральный текст (исходный текст). Указанный способ 200 обеспечивает возможность генерации из указанного нейтрального текста, стилизованного текста в соответствии с заданным стилем (например, превратить сгенерированный текст в более научную/деловую). Одним из преимуществ такого подхода является гибкость в выборе стиля, генерация текстового ответа - вычислительно сложная операция, под нее необходимо обучать большую модель. Заявленное решение в свою очередь позволяет стилизовать сгенерированный исходный ответ с помощью системы 100 под разные стили.
[0099] На Фиг. 3 представлен пример общего вида вычислительной системы (300), которая обеспечивает реализацию заявленного способа или является частью компьютерной системы, например, модулями 101-103, сервером, персональным компьютером, частью вычислительного кластера, обрабатывающим необходимые данные для осуществления заявленного технического решения.
[0100] В общем случае система 300 содержит такие компоненты, как: один или более процессоров 301, по меньшей мере одну память 302, средство хранения данных 303, интерфейсы ввода/вывода 304, средство В/В 305, средство сетевого взаимодействия 306, которые объединяются посредством универсальной шины.
[0101] Процессор 301 выполняет основные вычислительные операции, необходимые для обработки данных при выполнении способа 200. Процессор 301 исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти 302.
[0102] Память 302, как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.
[0103] Средство хранения данных 303 может выполняться в виде HDD, SSD дисков, рейд массива, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средства 303 позволяют выполнять долгосрочное хранение различного вида информации, например сгенерированных стилизованных реплик, идентификаторов пользователей, идентификаторов цифровых ассистентов и т.п.
[0104] Для организации работы компонентов системы 300 и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В 304. Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.
[0105] Выбор интерфейсов 304 зависит от конкретного исполнения системы 300, которая может быть реализована на базе широко класса устройств, например, персональный компьютер, мейнфрейм, ноутбук, серверный кластер, тонкий клиент, смартфон, сервер и т.п.
[0106] В качестве средств В/В данных 305 может использоваться: клавиатура, джойстик, дисплей (сенсорный дисплей), монитор, сенсорный дисплей, тачпад, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.
[0107] Средства сетевого взаимодействия 306 выбираются из устройств, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средств 305 обеспечивается организация обмена данными между, например, системой 300, представленной в виде сервера и вычислительным устройством пользователя, на котором могут отображаться полученные данные по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.
[0108] Конкретный выбор элементов системы 300 для реализации различных программно-аппаратных архитектурных решений может варьироваться с сохранением обеспечиваемого требуемого функционала.
[0109] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы.
ИСТОЧНИКИ ИНФОРМАЦИИ
1. An Empirical Study on Multi-Task Learning for Text Style Transfer and Paraphrase Generation, Pawel Bujnowskia, Kseniia Ryzhovac, Hyungtak Choib, Katarzyna Witkowskad, Jaroslaw Piersaa, Tymoteusz Krumholca and Katarzyna Beksa. Найдено в Интернет по ссылке: https://aclanthology.org/2020.coling-industrv.6.pdf, 20.04.2022.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И СИСТЕМА ГЕНЕРАЦИИ ТЕКСТА ДЛЯ ЦИФРОВОГО АССИСТЕНТА | 2022 |
|
RU2796208C1 |
СПОСОБ И СИСТЕМА ПЕРЕФРАЗИРОВАНИЯ ТЕКСТА | 2023 |
|
RU2814808C1 |
СПОСОБ И СИСТЕМА КЛАССИФИКАЦИИ ТЕКСТА | 2022 |
|
RU2818693C2 |
Система и способ корректировки орфографических ошибок | 2020 |
|
RU2753183C1 |
СПОСОБ И СИСТЕМА ОБЕЗЛИЧИВАНИЯ КОНФИДЕНЦИАЛЬНЫХ ДАННЫХ | 2022 |
|
RU2804747C1 |
СПОСОБ И СИСТЕМА ИЗВЛЕЧЕНИЯ ИМЕНОВАННЫХ СУЩНОСТЕЙ | 2020 |
|
RU2760637C1 |
СПОСОБ И СИСТЕМА ОБЕЗЛИЧИВАНИЯ КОНФИДЕНЦИАЛЬНЫХ ДАННЫХ | 2022 |
|
RU2802549C1 |
Автоматическое извлечение именованных сущностей из текста | 2014 |
|
RU2665239C2 |
СПОСОБ И СИСТЕМА ИЗВЛЕЧЕНИЯ ИМЕНОВАННЫХ СУЩНОСТЕЙ | 2021 |
|
RU2823914C2 |
СИСТЕМА И СПОСОБ АУГМЕНТАЦИИ ОБУЧАЮЩЕЙ ВЫБОРКИ ДЛЯ АЛГОРИТМОВ МАШИННОГО ОБУЧЕНИЯ | 2020 |
|
RU2758683C2 |
Группа изобретений относится к области вычислительной техники и может быть использована для генерации текста. Техническим результатом является повышение семантической точности генерации стилизованного текста из исходного текста. Способ содержит этапы, на которых: получают входные данные, содержащие исходный текст на естественном языке и целевой стиль генерируемого текста; осуществляют кодирование исходного текста; выполняют векторизацию токенов; осуществляют обработку векторных представлений токенов исходного текста с помощью модели машинного обучения на базе нейронной сети, обученной на стилизованных в соответствии с заданным целевым стилем текстах, в ходе которой осуществляется формирование массива векторизированных стилизованных текстов; осуществляют декодирование каждого векторизированного стилизованного текста из массива, причем в ходе декодирования выполняют по меньшей мере преобразование векторизированного стилизованного текста в токены и детокенизацию; выполняют фильтрацию массива стилизованных текстов; осуществляют ранжирование отфильтрованных стилизованных текстов; генерируют стилизованный текст. 2 н. и 7 з.п. ф-лы, 3 ил., 1 табл.
1. Способ генерации текста, выполняемый по меньшей мере одним вычислительным устройством и содержащий этапы, на которых:
a) получают входные данные, содержащие исходный текст на естественном языке и целевой стиль генерируемого текста;
b) осуществляют кодирование исходного текста, причем в ходе кодирования выполняют по меньшей мере токенизацию текстовых данных;
c) выполняют векторизацию токенов, полученных на этапе b);
d) осуществляют обработку векторных представлений токенов исходного текста, полученных на этапе с), с помощью модели машинного обучения на базе нейронной сети, обученной на стилизованных в соответствии с заданным целевым стилем текстовых данных, в ходе которой осуществляется формирование массива векторизированных стилизованных текстов;
e) осуществляют декодирование каждого векторизированного стилизованного текста из массива, полученного на этапе d), причем в ходе декодирования выполняют по меньшей мере преобразование векторизированного стилизованного текста в токены и детокенизацию;
f) выполняют фильтрацию массива стилизованных текстов, полученных на этапе е);
g) ранжируют отфильтрованные стилизованные тексты на основе попарного расстояния между исходным текстом и каждым из возможных стилизованных текстов и лингвистической приемлемости каждого из возможных стилизованных текстов;
h) генерируют стилизованный текст на основе данных, полученных на этапе g).
2. Способ по п. 1, характеризующийся тем, что фильтрация массива стилизованных текстов выполняется с помощью регулярных выражений и морфологического анализатора.
3. Способ по п. 1, характеризующийся тем, что фильтрация массива стилизованных текстов выполняется на основе совпадения имен собственных в исходном тексте и каждом стилизованном тексте из массива.
4. Способ по п. 3, характеризующийся тем, что совпадение имен собственных определяется с помощью количества неизменных именованных сущностей, содержащихся в исходном тексте и стилизованном тексте.
5. Способ по п. 4, характеризующийся тем, что количество неизменных именованных сущностей определяется на основе распознавания именованных сущностей в исходном тексте и каждом стилизованном тексте из массива.
6. Способ по п. 1, характеризующийся тем, дополнительно содержит этап проверки наличия стилизации текста.
7. Способ по п. 6, характеризующийся тем, что проверка наличия стилизации текста осуществляется на основе определения, произошла ли замена целевых индикаторов стиля.
8. Способ по п. 1, характеризующийся тем, что ранжирование отфильтрованных стилизованных текстов выполняется на основе среднего значения, определенного из попарного расстояния между исходным текстом и каждым из возможных стилизованных текстов и лингвистической приемлемости каждого из возможных стилизованных текстов.
9. Система генерации текста, содержащая:
• по меньшей мере один процессор;
• по меньшей мере одну память, соединенную с процессором, которая содержит машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение способа по любому из пп. 1-8.
US 20170220559 A1, 03.08.2017 | |||
US 20210110118 A1, 15.04.2021 | |||
US 20130173258 A1, 04.07.2013 | |||
US 20150186355 A1, 02.07.2015 | |||
СПОСОБ АНИМАЦИИ SMS-СООБЩЕНИЙ | 2011 |
|
RU2631164C2 |
Авторы
Даты
2024-04-16—Публикация
2023-06-02—Подача