Какая предобработка текста нужна для генерации речи
Перейти к содержимому

Какая предобработка текста нужна для генерации речи

  • автор:

ПРЕДОБРАБОТКА ТЕКСТА ДЛЯ РЕШЕНИЯ ЗАДАЧ NLP Текст научной статьи по специальности «СМИ (медиа) и массовые коммуникации»

Аннотация научной статьи по СМИ (медиа) и массовым коммуникациям, автор научной работы — Акжолов Р.К., Верига А.В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по СМИ (медиа) и массовым коммуникациям , автор научной работы — Акжолов Р.К., Верига А.В.

Методы обработки текста при создании чат-ботов
ПРИМЕНЕНИЕ МЕТОДОВ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА СЛАБОСТРУКТУРИРОВАННЫХ ДАННЫХ ДЛЯ ПОИСКА ОНЛАЙН-КУРСОВ
Применение кластерного анализа методом k-средних для классификации текстов научной направленности
Основные этапы обработки текста и генерации признаков в задачах текстовой классификации
ОБЗОР ЗАДАЧИ АВТОМАТИЧЕСКОЙ СУММАРИЗАЦИИ ТЕКСТА
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ПРЕДОБРАБОТКА ТЕКСТА ДЛЯ РЕШЕНИЯ ЗАДАЧ NLP»

ТЕХНИЧЕСКИЕ НАУКИ (TECHNICAL SCIENCE)

студент 4 курса факультета математики и информационных технологий, кафедра информационных технологий. Астраханский государственный университет (Россия, г. Астрахань)

доцент кафедры информационных технологий Астраханский государственный университет (Россия, г. Астрахань)

ПРЕДОБРАБОТКА ТЕКСТА ДЛЯ РЕШЕНИЯ ЗАДАЧ NLP

Аннотация: в статье рассматривается методы предварительной обработки текста для дальнейшей работы с алгоритмами машинного обучения.

Ключевые слова: NLP, векторизация, токенизация, стэмминг, лемматизация.

Обработка естественного языка (Natural Language Processing) — общее направление искусственного интеллекта и математической лингвистики. Оно изучает проблемы компьютерного анализа и синтеза естественных языков.

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

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

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

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

После токенизации важным шагом является удаление стоп-слов. Стоп-слова — это слова, которые не несут смысловой нагрузки. В русском языке, например: союзы, предлоги.

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

Лемматизация является альтернативой стемминга. Основная идея в приведении слова к словарной форме — лемме. Например, для русского языка:

• для существительных — именительный падеж, единственное число;

• для прилагательных — именительный падеж, единственное число, мужской род;

• для глаголов, причастий, деепричастий — глагол в инфинитиве несовершенного вида.

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

Векторизация. Большинство математических моделей работают в векторных

пространствах больших размерностей, поэтому необходимо отобразить текст в

векторном пространстве. Основным подходом является мешок слов: для документа

формируется вектор размерности словаря, для каждого слова выделяется своя размерность, для документа записывается признак насколько часто слово встречается в нем, получаем вектор. Наиболее распространенным методом для вычисления признака является TF-IDF (TF — частота слова, term frequency, IDF — обратная частота документа, inverse document frequency). TF вычисляется, как счетчиком вхождения слова. IDF обычно вычисляют как логарифм от числа документов в корпусе, разделённый на количество документов, где это слово представлено. Таким образом, если какое-то слово встретилось во всех документах корпуса, то такое слово не будет никуда добавлено.

Обработка естественного языка. [Электронный ресурс]: URL:

Основы Natural Language Processing для текста. [Электронный ресурс]: URL: https://habr.com/ru/company/Voximplant/blog/446738/.

Обработка естественного языка. [Электронный ресурс]: URL:

Обзор технологий синтеза речи

Всем привет! Меня зовут Влад и я работаю data scientist-ом в команде речевых технологий Тинькофф, которые используются в нашем голосовом помощнике Олеге.

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

image

Синтез речи

Синтез речи — это создание звука на основе текста. Эту задачу сегодня решают двумя подходами:

  • Unit selection [1], или конкатенативный подход. Он основан на склейке фрагментов записанного аудио. С конца 90-х долгое время он считался де-факто стандартом для разработки движков синтеза речи. Например, голос, звучащий по методу unit selection, можно было встретить в Siri [2].
  • Параметрический синтез речи [3], суть которого состоит в построении вероятностной модели, предсказывающей акустические свойства аудиосигнала для данного текста.

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

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

Метрики качества

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

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

Стандартная метрика — это MOS (mean opinion score), усредненная оценка естественности речи, выданная асессорами для синтезированных аудио по шкале от 1 до 5. Единица означает совсем неправдоподобное звучание, а пятерка — речь, неотличимую от человеческой. Реальные записи людей обычно получают значения примерно 4,5, и значение больше 4 считается достаточно высоким.

Как работает синтез речи

Первый шаг к построению любой системы синтеза речи — сбор данных для обучения. Обычно это аудиозаписи высокого качества, на которых диктор читает специально подобранные фразы. Примерный размер датасета, необходимый для обучения моделей unit selection, составляет 10—20 часов чистой речи [2], в то время как для нейросетевых параметрических методов верхняя оценка равна примерно 25 часам [4, 5].

Обсудим обе технологии синтеза.

Unit selection

image

Обычно записанная речь диктора не может покрыть всех возможных случаев, в которых будет использоваться синтез. Поэтому суть метода состоит в разбиении всей аудиобазы на небольшие фрагменты, называющиеся юнитами, которые затем склеиваются друг с другом с использованием минимальной постобработки. В качестве юнитов обычно выступают минимальные акустические единицы языка, такие как полуфоны или дифоны [2].
Весь процесс генерации состоит из двух этапов: NLP frontend, отвечающий за извлечение лингвистического представления текста, и backend, который вычисляет функцию штрафа юнитов для заданных лингвистических признаков. В NLP frontend входят:

  1. Задача нормализации текста — перевод всех небуквенных символов (цифр, знаков процентов, валют и так далее) в их словесное представление. Например, “5 %” должно быть переведено в “пять процентов”.
  2. Извлечение лингвистических признаков из нормализованного текста: фонемное представление, ударения, части речи и так далее.

Обычно NLP frontend реализован с помощью вручную прописанных правил для конкретного языка, однако в последнее время происходит все больший уклон в сторону использования моделей машинного обучения [7].

Штраф, оцениваемый backend-подсистемой, — это сумма target cost, или соответствия акустического представления юнита для конкретной фонемы, и concatenation cost, то есть уместности соединения двух соседних юнитов. Для оценки штраф функций можно использовать правила или уже обученную акустическую модель параметрического синтеза [2]. Выбор наиболее оптимальной последовательности юнитов с точки зрения выше определенных штрафов происходит с помощью алгоритма Витерби [1].

Примерные значения MOS моделей unit selection для английского языка: 3,7—4,1 [2, 4, 5].

Достоинства подхода unit selection:

  • Естественность звучания.
  • Высокая скорость генерации.
  • Небольшой размер моделей — это позволяет использовать синтез прямо на мобильном устройстве.
  • Синтезируемая речь монотонна, не содержит эмоций.
  • Характерные артефакты склейки.
  • Требует достаточно большой тренировочной базы аудиоданных для покрытия всевозможных контекстов.
  • В принципе не может генерировать звук, не встречающийся в обучающей выборке.

Параметрический синтез речи

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

  1. NLP frontend — такая же стадия предобработки данных, как и в подходе unit selection, результат которой — большое количество контекстно-зависимых лингвистических признаков.
  2. Duration model, предсказывающая длительность фонем.
  3. Акустическая модель, восстанавливающая распределение акустических признаков по лингвистическим. В акустические признаки входят значения фундаментальной частоты, спектральное представление сигнала и так далее.
  4. Вокодер, переводящий акустические признаки в звуковую волну.

Для обучения duration и акустической моделей можно использовать скрытые марковские модели [3], глубокие нейронные сети или их рекуррентные разновидности [6]. Традиционный вокодер — это алгоритм, основанный на source-filter модели [3], которая предполагает, что речь — это результат применения линейного фильтра шума к первоначальному сигналу.
Общее качество речи классических параметрических методов оказывается достаточно низким из-за большого количества независимых предположений об устройстве процесса генерации звука.

Однако с приходом технологий глубокого обучения стало возможным обучать end-to-end модели, которые напрямую предсказывают акустические признаки по буквам. Например, нейронные сети Tacotron [4] и Tacotron 2 [5] принимают на вход последовательность букв и возвращают мел-спектрограмму с помощью алгоритма seq2seq [8]. Таким образом шаги 1—3 классического подхода заменяются одной нейросетью. На схеме ниже показана архитектура сети Tacotron 2, достигающей достаточно высокого качества звука.

image

Другим фактором существенного прироста в качестве синтезируемой речи стало применение нейросетевых вокодеров вместо алгоритмов цифровой обработки сигналов.

Первым таким вокодером была нейронная сеть WaveNet [9], которая последовательно, шаг за шагом, предсказывала значения амплитуды звуковой волны.

Благодаря использованию большого количества сверточных слоев с пропусками для захвата большего контекста и skip connection в архитектуре сети удалось достичь примерно 10%-го улучшения MOS по сравнению с моделями unit selection. На схеме ниже представлена архитектура сети WaveNet.

image

Главный недостаток WaveNet — низкая скорость работы, связанная с последовательной схемой сэмплирования сигнала. Эту проблему можно решить либо с помощью инженерной оптимизации для конкретной архитектуры железа, либо заменой схемы сэмплирования на более быструю.
Оба подхода были успешно реализованы в индустрии. Первый — в Tinkoff.ru, а в рамках второго подхода компания Google представила сеть Parallel WaveNet [10] в 2017 году, наработки которой используются в Google Assistant.

Примерные значения MOS для нейросетевых методов: 4,4—4,5 [5, 11], то есть синтезируемая речь практически не отличается от человеческой.

Достоинства параметрического синтеза:

  • Естественное и плавное звучание при использовании end-to-end подхода.
  • Большее разнообразие в интонациях.
  • Использование меньшего объема данных по сравнению с моделями unit selection.
  • Низкая скорость работы по сравнению с unit selection.
  • Большая вычислительная сложность.

Как работает синтез речи в Tinkoff

Как следует из обзора, методы параметрического синтеза речи, основанные на нейросетях, на текущий момент существенно превосходят по качеству подход unit selection и гораздо проще для разработки. Поэтому для построения собственного движка синтеза мы использовали именно их.
Для обучения моделей было использовано около 25 часов чистой речи профессионального диктора. Тексты для чтения были специально подобраны так, чтобы наиболее полно покрыть фонетику разговорной речи. Кроме того, чтобы добавить синтезу большее разнообразие в интонации, мы попросили диктора читать тексты с выражением, зависящим от контекста.

Архитектура нашего решения концептуально выглядит так:

  • NLP frontend, в который входит нейросетевая текстовая нормализация и модель по расстановке пауз и ударений.
  • Tacotron 2, принимающий на вход буквы.
  • Авторегрессионный WaveNet, работающий в real time на CPU.

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

Ссылки:

[1] A. J. Hunt, A. W. Black. Unit selection in a concatenative speech synthesis system using a large speech database, ICASSP, 1996.
[2] T. Capes, P. Coles, A. Conkie, L. Golipour, A. Hadjitarkhani, Q. Hu, N. Huddleston, M. Hunt, J. Li, M. Neeracher, K. Prahallad, T. Raitio, R. Rasipuram, G. Townsend, B. Williamson, D. Winarsky, Z. Wu, H. Zhang. Siri On-Device Deep Learning-Guided Unit Selection Text-to-Speech System, Interspeech, 2017.
[3] H. Zen, K. Tokuda, A. W. Black. Statistical parametric speech synthesis, Speech Communication, Vol. 51, no. 11, pp. 1039-1064, 2009.
[4] Yuxuan Wang, RJ Skerry-Ryan, Daisy Stanton, Yonghui Wu, Ron J. Weiss, Navdeep Jaitly, Zongheng Yang, Ying Xiao, Zhifeng Chen, Samy Bengio, Quoc Le, Yannis Agiomyrgiannakis, Rob Clark, Rif A. Saurous. Tacotron: Towards End-to-End Speech Synthesis.
[5] Jonathan Shen, Ruoming Pang, Ron J. Weiss, Mike Schuster, Navdeep Jaitly, Zongheng Yang, Zhifeng Chen, Yu Zhang, Yuxuan Wang, RJ Skerry-Ryan, Rif A. Saurous, Yannis Agiomyrgiannakis, Yonghui Wu. Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions.
[6] Heiga Zen, Andrew Senior, Mike Schuster. Statistical parametric speech synthesis using deep neural networks.
[7] Hao Zhang, Richard Sproat, Axel H. Ng, Felix Stahlberg, Xiaochang Peng, Kyle Gorman, Brian Roark. Neural Models of Text Normalization for Speech Applications.
[8] Ilya Sutskever, Oriol Vinyals, Quoc V. Le. Sequence to Sequence Learning with Neural Networks.
[9] Aaron van den Oord, Sander Dieleman, Heiga Zen, Karen Simonyan, Oriol Vinyals, Alex Graves, Nal Kalchbrenner, Andrew Senior, Koray Kavukcuoglu. WaveNet: A Generative Model for Raw Audio.
[10] Aaron van den Oord, Yazhe Li, Igor Babuschkin, Karen Simonyan, Oriol Vinyals, Koray Kavukcuoglu, George van den Driessche, Edward Lockhart, Luis C. Cobo, Florian Stimberg, Norman Casagrande, Dominik Grewe, Seb Noury, Sander Dieleman, Erich Elsen, Nal Kalchbrenner, Heiga Zen, Alex Graves, Helen King, Tom Walters, Dan Belov, Demis Hassabis. Parallel WaveNet: Fast High-Fidelity Speech Synthesis.
[11] Wei Ping Kainan Peng Jitong Chen. ClariNet: Parallel Wave Generation in End-to-End Text-to-Speech.
[12] Dario Rethage, Jordi Pons, Xavier Serra. A Wavenet for Speech Denoising.

  • Блог компании TINKOFF
  • Машинное обучение
  • Искусственный интеллект

Что такое обработка естественного языка (NLP)?

Обработка естественного языка (NLP) – это технология машинного обучения, которая дает компьютерам возможность интерпретировать, манипулировать и понимать человеческий язык. Сегодня организации имеют большие объемы голосовых и текстовых данных из различных каналов связи, таких как электронные письма, текстовые сообщения, новостные ленты социальных сетей, видео, аудио и многое другое. Они используют программное обеспечение NLP для автоматической обработки этих данных, анализа намерений или настроений в сообщении и реагирования на человеческое общение в режиме реального времени.

Почему NLP играет такую важную роль?

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

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

Вы также можете интегрировать NLP в приложения, ориентированные на клиента, чтобы более эффективно общаться с клиентами. Например, чат-бот анализирует и сортирует запросы клиентов, автоматически отвечая на распространенные вопросы и перенаправляя сложные запросы в службу поддержки. Эта автоматизация помогает снизить затраты, избавить агентов от необходимости тратить время на избыточные запросы, а также она повышает удовлетворенность клиентов.

Каковы сценарии использования NLP для бизнеса?

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

Скрытие конфиденциальных данных

Компании в страховом, юридическом и медицинском секторах обрабатывают, сортируют и извлекают большие объемы конфиденциальных документов, таких как медицинские карты, финансовые данные и личные данные. Вместо проверки вручную компании используют технологию NLP для редактирования личной информации и защиты конфиденциальных данных. Например, Chisel AI помогает страховым компаниям извлекать номера полисов, даты истечения срока действия и другие личные атрибуты клиентов из неструктурированных документов с помощью Amazon Comprehend.

Взаимодействие с клиентами

Технологии NLP позволяют чат-ботам и голосовым ботам быть более похожими на людей при общении с клиентами. Компании используют чат-ботов для масштабирования возможностей и качества обслуживания клиентов при минимальных эксплуатационных расходах. Компания PubNub, которая создает программное обеспечение для чат-ботов, использует Amazon Comprehend для внедрения локализованных функций чата для своих клиентов по всему миру. T-Mobile использует NLP для определения конкретных ключевых слов в текстовых сообщениях клиентов и предоставления персонализированных рекомендаций. Университет штата Оклахома внедряет чат-бот для вопросов и ответов для решения вопросов студентов с использованием технологии машинного обучения.

Маркетологи используют инструменты NLP, такие как Amazon Comprehend и Amazon Lex, чтобы получить образованное представление о том, что клиенты думают о продукте или сервисе компании. Сканируя определенные фразы, они могут оценить настроение и эмоции клиента в письменных отзывах. Например, Success KPI предоставляет решения для обработки естественного языка, которые помогают компаниям сосредоточиться на целевых областях анализа тональности и помогают контакт-центрам получать полезную информацию из аналитики звонков.

Как работает NLP?

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

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

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

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

Этапы внедрения NLP

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

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

Ниже приведено описание этих методов.

  • Токенизация разбивает предложение на отдельные единицы слов или фраз.
  • Стемминг и лемматизация упрощают слова до их корневой формы. Например, эти процессы превращают «начало» в «старт».
  • Удаление стоп-слов гарантирует, что слова, которые не добавляют значимого смысла предложению, такие как «для» и «с», будут удалены.

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

Развертывание и вывод

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

Что такое задачи NLP?

Методы обработки естественного языка (NLP), или задачи NLP, разбивают человеческий текст или речь на более мелкие части, которые компьютерные программы могут легко понять. Общие возможности обработки и анализа текста в NLP приведены ниже.

Маркировка частей речи

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

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

  • Замок – это средневековое строение.
  • Люди используют замок, чтобы закрыть что-либо.

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

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

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

Распознавание наименований сущностей

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

Рассмотрим следующий пример: «Джейн отправилась в отпуск во Францию, где она побаловала себя блюдами местной кухни».

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

Анализ тональности текста

Анализ тональности – это основанный на искусственном интеллекте подход к интерпретации эмоций, передаваемых текстовыми данными. Программа NLP анализирует текст на наличие слов или фраз, которые показывают неудовлетворенность, счастье, сомнения, сожаление и другие скрытые эмоции.

Каковы подходы к обработке естественного языка?

Ниже мы приводим некоторые общие подходы к обработке естественного языка (NLP).

Контролируемая обработка естественного языка (NLP)

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

Неконтролируемая обработка естественного языка (NLP)

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

Понимание естественных языков

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

Генерация естественного языка

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

Как AWS может помочь в решении задач NLP?

AWS предоставляет самый широкий и полный набор сервисов искусственного интеллекта (ИИ) и машинного обучения (МО) для клиентов любого уровня квалификации. Эти сервисы подключены к полному набору источников данных.

Для клиентов, которым не хватает навыков машинного обучения, которым требуется ускорить вывод на рынок или которые хотят добавить интеллект в существующий процесс либо приложение, AWS предлагает ряд языковых сервисов на основе МО. Это позволяет компаниям легко добавлять интеллектуальные функции в свои приложения искусственного интеллекта с помощью предварительно обученных API для работы с речью, транскрипцией, переводом, анализом текста и функциями чат-ботов.

Вот список языковых сервисов на основе AWS МО:

  • Amazon Comprehend помогает находить ценную информацию и взаимосвязи в тексте.
  • Amazon Transcribe выполняет автоматическое распознавание речи.
  • Amazon Translate свободно переводит текст.
  • Amazon Polly превращает текст в речь с естественным звучанием.
  • Amazon Lex помогает создавать чат-ботов для взаимодействия с клиентами.
  • Amazon Kendra выполняет интеллектуальный поиск корпоративных систем, чтобы быстро найти нужный контент.

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

Используя Hugging Face в Amazon SageMaker, вы можете развертывать и точно настраивать предварительно обученные модели от Hugging Face, поставщика моделей NLP с открытым исходным кодом, известного как Transformers. Это сокращает время, необходимое для настройки и использования этих моделей NLP, с недель до минут.

Создайте аккаунт AWS и начните работу с NLP уже сегодня.

Какая предобработка текста нужна для генерации речи

NLP (Natural Language Processing, обработка естественного языка) — это направление в машинном обучении, посвященное распознаванию, генерации и обработке устной и письменной человеческой речи. Находится на стыке дисциплин искусственного интеллекта и лингвистики.

Освойте профессию «Data Scientist»

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

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

  1. Речь человека записывается аудио-устройством.
  2. Машина преобразует слова из аудио в письменный текст.
  3. Система NLP разбирает текст на составляющие, понимает контекст беседы и цели человека.
  4. С учетом результатов работы NLP машина определяет команду, которая должна быть выполнена.

Профессия / 24 месяца
Data Scientist

Дата-сайентисты решают поистине амбициозные задачи. Научитесь создавать искусственный интеллект, обучать нейронные сети, менять мир и при этом хорошо зарабатывать. Программа рассчитана на новичков и плавно введет вас в Data Science.

Group 1321314349 (1)

Кто использует NLP

Приложения NLP окружают нас повсюду. Это поиск в Google или Яндексе, машинный перевод, чат-боты, виртуальные ассистенты вроде Siri, Алисы, Салюта от Сбера и пр. NLP применяется в digital-рекламе, сфере безопасности и многих других.

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

Как устроена обработка языков

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

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

Курс для новичков «IT-специалист
с нуля» – разберемся, какая профессия вам подходит, и поможем вам ее освоить

Задачи NLP

Распознавание речи. Этим занимаются голосовые помощники приложений и операционных систем, «умные» колонки и другие подобные устройства. Также распознавание речи используется в чат-ботах, сервисах автоматического заказа, при автоматической генерации субтитров для видеороликов, голосовом вводе, управлении «умным» домом. Компьютер распознает, что сказал ему человек, и выполняет в соответствии с этим нужные действия.

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

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

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

Анализ информации часто используется в разных видах аналитики и в маркетинге. Например, можно отследить среднюю тональность отзывов и высказываний по заданному вопросу. Соцсети используют такие алгоритмы для поиска и блокировки вредоносного контента. В перспективе компьютер сможет отличать фейковые новости от реальных, устанавливать авторство текста. Также NLP применяется при сборе информации о пользователе для показа персонализированной рекламы или использования сведений для анализа рынка.

Станьте аналитиком данных и получите востребованную специальность

Генерация текста и речи. Противоположная распознаванию задача — генерация, или синтез. Алгоритм должен отреагировать на текст или речь пользователя. Это может быть ответ на вопрос, полезная информация или забавная фраза, но реплика должна быть по заданной теме. В системах распознавания речи предложения разбиваются на части. Далее, чтобы произнести определенную фразу, компьютер сохраняет их, преобразовывает и воспроизводит. Конечно, на границах «сшивки» могут возникать искажения, из-за чего голос часто звучит неестественно.

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

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

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

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

Как обрабатывается текст

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

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

Препроцессинг. Дальше наступает большой этап предварительной обработки — препроцессинга. Это приведение информации к виду, в котором она более понятна алгоритму. Популярные методы препроцессинга:

  • приведение символов к одному регистру, чтобы все слова были написаны с маленькой буквы;
  • токенизация — разбиение текста на токены. Так называют отдельные компоненты — слова, предложения или фразы;
  • тегирование частей речи — определение частей речи в каждом предложении для применения грамматических правил;
  • лемматизация и стемминг — приведение слов к единой форме. Стемминг более грубый, он обрезает суффиксы и оставляет корни. Лемматизация — приведение слов к изначальным словоформам, часто с учетом контекста;
  • удаление стоп-слов — артиклей, междометий и пр.;
  • спелл-чекинг — автокоррекция слов, которые написаны неправильно.

Методы выбирают согласно задаче.

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

Популярные варианты векторизации — «мешок слов» и «мешок N-грамм». В «мешке слов» слова кодируются в цифры. Учитывается только количество слова в тексте, а не их расположение и контекст. N-граммы — это группы из N слов. Алгоритм наполняет «мешок» не отдельными словами с их частотой, а группами по несколько слов, и это помогает определить контекст.

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

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

Аналитик данных

Аналитики влияют на рост бизнеса. Они выясняют, какой товар и в какое время больше покупают. Считают юнит-экономику. Оценивают окупаемость рекламной кампании. Поэтому компании ищут и переманивают таких специалистов.

картинка (73)

Статьи по теме:

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *