Оглавление:
1. Введение
2. Постановка задачи
3. Источник данных
4. Формулировка ML/DL
5. Показатели производительности
6. Похожие подходы к проблеме
7. Типы машинного перевода
8. Модель внимания
9. Исследовательский анализ данных
10. Подход к первому разрезу
11. Объяснение модели
12. Сравнение моделей
13. Рабочая демонстрация
14. Будущая работа
15. Ссылки
Введение:
Социальные сети — это неизбежная технология вокруг нас, которая помогает нам достигать, общаться, получать информацию, делиться мыслями и идеями. В нынешнем поколении социальные сети помогают выполнять нашу работу более эффективно и быстрее. Существует несколько платформ социальных сетей, которые правят во всем мире, а именно Whatsapp, Facebook, Twitter, Instagram, LinkedIn и т. д. Эти платформы играют жизненно важную роль как для формальных, так и для неформальных связей, разговоров и обмена информацией о них.
Постановка задачи:
За годы использования различных платформ социальных сетей характер разговора по отношению к тексту среди людей стал вялым. Это, в свою очередь, заставило разговор максимально сократиться. Сказав это, действительно ли разговор имеет смысл с точки зрения грамматики, орфографии, формальности и построения предложений? Не совсем быть. Это связано с тем, что для экономии времени и пространства контента, используемого пользователями между собой. Что делать, если фактически используемые разговорные слова не понятны ни одному из пользователей? Что делать, если неформальный или разговорный контекст необходимо перевести или преобразовать в формальный контекст? Вот где в игру вступает машинный перевод, и мы здесь, чтобы углубиться в то, как перевести неформальные тексты SMS в официальный текст.
Источник данных:
Для данной постановки задачи данные были собраны с https://www.manythings.org/anki/ita-eng.zip. Набор данных содержит соответствующие осмысленные итальянские и английские предложения.
Обзор набора данных. Он содержит около 3 50 360 предложений.
Формулировка ML/DL:
Эта задача преобразования данного предложения неформального контекста в предложение формального контекста, по-видимому, имеет последовательность слов на входе и последовательность слов на выходе. Важным моментом в этом является улавливание правильного значения при преобразовании или переводе из одной формы в другую. Таким образом, это похоже на последовательность задач, и это можно измерить с помощью оценки BLEU, которая используется для измерения слов, которые есть у цели и предсказания. Будучи последовательной задачей, современные модели производительности в обработке естественного языка (NLP), такие как кодировщик-декодер, модели внимания, трансформеры могут быть обучены выполнению вышеупомянутой задачи.
Показатели эффективности:
Поскольку проблема заключается в последовательности за последовательностью, будет несколько выходов. Таким образом, Softmax использовался в качестве последнего слоя для прогнозирования вывода. Но Softmax по своей природе сделает выходную сумму равной 1. Поскольку нам нужно предсказать слова в предложении, нам понадобится фактический номер токена, чтобы предсказать слово, которое было введено в модель во время обучения. Поэтому в этой постановке задачи была введена пользовательская функция потерь для отслеживания потерь проверки во время вызова модели.
BLUE Score:: Он вычисляет n-граммы слов в целевом и прогнозируемом контексте, независимо от их порядка.
Пример:
Фактическое — «Привет, как дела?»
Предсказанное — «Привет, как дела»
СИНИЙ балл = 1
Пример:
Фактический — «Привет, кто ты?»
Предсказанный — «Привет, как дела?»
СИНИЙ балл = 0,75.
В идеальном случае — оценка BLEU = 1
Похожие подходы к проблеме:
Системы Word Sense Disambiguation (WSD) — это системы, которые преобразуют или переводят неформальный контекст в формальный и осмысленный контекст. В вышеупомянутой статье объясняется перевод из неформального контекста в формальный контекст. Кроме того, это не просто преобразование коротких форм/аббревиатур в расширения. Речь идет о захвате значения контекста и преобразовании данного неформального предложения в формальное с соответствующим значением контекста на месте.
2. https://nlp.stanford.edu/courses/cs224n/2009/fp/27.pdf
Этот справочник дает представление о том, что такое нормализация текста SMS. Нормализация текста SMS — это не что иное, как преобразование неформальных текстовых разговоров в формальные английские предложения. В этой статье используются два подхода, а именно метод замены словаря и статистический машинный перевод (SMT). Эти подходы практиковались и сравнивались результаты тех, кто имел три разных набора данных, чтобы проверить модель до глубины души, действительно ли модель работает хорошо, даже если ее тестировать за пределами предметной области.
Эта статья дает важную идею относительно того, как сделать перевод эффективным. Судя по этому эксперименту с точкой зрения статьи, набор данных должен быть достаточно хорошим, чтобы получить хорошую производительность. Достаточно хорошо в том смысле, что большой набор данных по обучению модели дает эффективные результаты модели. Другая точка зрения заключается в улавливании смысла предложения по отношению к контексту. Подстановка словаря расширяет только краткие формы независимо от контекстного значения, что говорит о том, что она не соответствует некоторым кратким формам SMS в соответствии с предполагаемым значением.
Пример: 2 u 2 — — — —› вам тоже — — — —› тоже вам тоже — — — —› вам двоим — — — —› двоим вам двоим.
Исходя из вышеизложенного, модель может расширить сообщение или SMS до любой формы, но она должна соответствовать тому контексту, в котором она говорит. Таким образом, модель должна изучить всю последовательность и перевести, а не просто переводить одни и те же слова для всего контекста. Это в конечном итоге привело бы к тому, что предложения не имели бы смысла при переводе.
Таким образом, для предотвращения этих ошибок был использован статистический машинный перевод. В статье построенная система статистического машинного перевода превосходит другие системы в переводе или называется нормализацией текста. Единственное беспокойство заключалось в том, что для обучения должно быть еще больше данных, чтобы модель могла работать еще лучше в широком диапазоне.
Типы машинного перевода:
Обычно переводы, которые использовались помимо базового кодировщика-декодера, также имеют те же процессы вычисления токенов, тегирования частей речи, векторных вычислений и т. д.
Существуют различные формы перевода с исходного языка на целевой, которые совершенствуются на протяжении поколений.
Существует три основных подхода к машинному переводу:
- Машинный перевод на основе правил (RBMT)
- Статистический машинный перевод (SMT)
- Нейронный машинный перевод (NMT)
Различия между этими подходами делают один лучше другого. Модели машинного перевода на основе правил (RBMT) работают со знаниями эксперта как в исходном, так и в целевом языках. Также требуются словари для лучшего перевода, а также они обладают правилами грамматики как исходного, так и целевого языков. Набор правил для исходного языка и набор правил для целевого языка. Все это необходимо для создания семантических и синтаксических правил для достижения перевода.
Точно так же для статистического машинного перевода (SMT) также требуется перевод по словарю. В основе этого подхода лежит теорема Байеса для перевода исходного языка на целевой язык. Этот подход фокусируется в основном на значении перевода фразы, он больше фокусируется на словах и их прямом значении на целевом языке. Это затрудняет понимание смысла при переводе длинных предложений.
С другой стороны, Encoder-Decoder упрощает работу, создавая сквозные модели с использованием нейронных сетей. Это не требует каких-либо знаний в предметной области или лингвистов для выполнения перевода, как другие подходы. Поскольку нейронные сети берут на себя ответственность за токены, передаваемые по оси времени, и модель изучает соответствующую цель посредством обратного распространения. Это упрощает задачу, поскольку сама модель учится во время обучения, передавая как исходный, так и целевой языки путем правильного вычисления токенов.
Кредиты: Курс прикладного ИИ (Applied Roots) https://www.appliedaicourse.com/
Таким образом, базовая модель Encoder-Decoder отличается от других моделей перевода, хотя она также кодирует и декодирует ввод и выдает требуемый результат.
x1, x2.. xt — входные слова из предложения, принадлежащего Encoder.
w — это выходные данные конечного Encoder. y1, y2.. являются выходами декодера.
Модель внимания:
Хотя модель кодировщик-декодер выполняет последовательность задач, проблема возникает, если входная и выходная последовательность предложений становится длинной по своей природе.
Поскольку мы знаем, что модель кодировщик-декодер фиксирует всю суть предложения в последнем кодировщике и отправляет их в декодер, это работает слабо, когда речь идет о более крупном предложении. Когда значение слова в предложении больше зависит от слов, которые стоят в самом начале предложения или в самом конце предложения, зависит от контекста. Модели внимания учитывают это контекстуальное значение и обращают внимание на все предложение, прежде чем преобразовывать или переводить его в соответствующий вывод.
Кредиты: Курс прикладного ИИ (Applied Roots) https://www.appliedaicourse.com/
В отличие от модели кодировщик-декодер, первая модель ячейки декодера внимания получает все выходные данные ячейки кодировщика (взвешенные выходные данные). Это заставляет внимание концентрироваться и обращать внимание на все предложение, а веса рассматриваются как обучаемый параметр во время обучения. Это помогает модели внимания переводить более длинные предложения с хорошей точностью.
Исследовательский анализ данных:
Мы взяли данные из соответствующего источника, где набор данных содержит почти 350360 предложений английских и французских слов. Для нашей задачи нам нужны данные на английском языке, которые можно получить из этого набора данных. Этот набор данных содержит предложения различной длины. Для облегчения обработки берутся предложения длиной более 5 и длиной менее или равной 20. Наконец, чтобы избежать повторения предложений, дубликаты удаляются из набора данных.
Наконец, новый набор данных с почти 70 000 точек данных, созданный путем преобразования официальных английских слов в неформальные слова. Теперь это можно использовать для обучения модели.
Подход к первому разрезу:
· Сбор/загрузка данных с соответствующего ресурса
· Предварительная обработка данных
· Построение модели глубокого обучения с настройкой гиперпараметров
· Подбор данных по соответствующей модели с лучшими параметрами
Подход 1:
Модель кодировщика-декодера должна быть проанализирована с ее результатами с использованием набора тестовых данных и наблюдать за показателями производительности для всех моделей.
Проверка нескольких параметров, таких как:
Изменение количества слоев, функций активации, оптимизатора, отсева и нормализации в необходимых и возможных местах, чтобы опробовать варианты производительности модели и извлечь максимум из каждого модель.
Подход 2:
Модель внимания должна быть проанализирована с ее результатами с использованием набора тестовых данных и наблюдения за показателями производительности для всех моделей.
Подобно Encoder-Decoder, выполняется проверка нескольких параметров.
И модель Attention, и модель Encoder-Decoder должны быть проанализированы на предмет производительности и результатов для сравнения. В этом эксперименте необходимо изменить несколько параметров и найти лучшие параметры. Это может быть сделано путем обширных экспериментов. По которому можно было бы сделать хорошую работающую модель.
Описание модели:
Модель кодировщик-декодер:
Используемая здесь базовая модель кодера-декодера принимает входные данные через кодировщик и выходные данные через декодер и прогнозирует выходные данные через выходные данные декодера. Здесь, когда на кодировщик подается ввод, кодер приводит к выводу кодера, скрытому состоянию кодировщика, состоянию ячейки кодировщика, подающему входные данные. Затем для передачи входных данных декодеру сюда поступают выходные данные, вместе с которыми подаются скрытые состояния кодировщика и ячейки кодировщика. Все вышеперечисленные входные данные подаются с использованием встраивания, и каждый ввод, т. Е. Предложение, содержащее слова, отправляется через метку времени. Таким образом, для каждого слова их будет вложение, и каждое вложение слова вычисляется на уровне LSTM с соответствующими единицами, которые выводятся в качестве вывода каждого слова. То же самое для предложения с «n» словами в «n» временных метках. Это происходит в кодировщике, и этот вывод из кодировщика, а именно скрытый, и состояния ячеек передаются в декодер вместе с входными данными декодера.
Здесь, в модели Basic Encoder-Decoder, декодер получает входные данные декодера, то есть выходные данные вместе со скрытым состоянием и состоянием ячейки от кодировщика в качестве входных данных. Декодер здесь просто получает последние векторы временных меток от кодировщика в качестве входных данных. Таким образом, если предложение длинное, это создает менее эффективную модель, поскольку полная информация о предложении будет передаваться от кодировщика к декодеру по последнему вектору.
Модель внимания:
Внимание Модели, как и базовая модель кодировщик-декодер, имеют часть кодера и часть декодера. Поскольку базовая модель кодировщик-декодер будет принимать векторы последних временных меток от кодировщика к декодеру, информация будет потеряна, если входное предложение будет более длинным. Таким образом, модель внимания решает эту проблему, беря средневзвешенное значение всех выходных данных кодировщика, а затем создает вектор контекста, который будет подаваться в декодер. Это помогает получить информацию от всех кодировщиков относительно всех временных меток, в отличие от кодировщика, который учитывает только последнюю.
Здесь, в модели Attention, средневзвешенное значение вычисляется для поиска вектора контекста, который, в свою очередь, необходимо передать в декодер. Эти веса, используемые для средневзвешенного значения выходных данных кодировщика, играют жизненно важную роль в улавливании контекстного значения предложения и соответствующем распределении весов. Эти веса обновляются во время обратного распространения. Для длины входных данных декодера выходные данные предсказываются шаг за шагом на основе модели. Таким образом, модель «Внимание» намного более эффективна, чем базовая модель «Кодер-декодер».
Сравнение моделей:
Из анализа следует, что модель кодировщика-декодера уступает модели внимания, поскольку, как обсуждалось ранее, модели внимания более эффективны для улавливания значения предложения.
Модель кодировщика-декодера:
Входные данные: 'Будете ли вы будить меня каждое утро'
Выходные данные: 'будет встречаться встретились бы встретились бы встретились бы встретились бы встретились бы встретились'
Модель внимания:
Входные данные: 'будете ли вы меня будить каждое утро'
Выходные данные: 'будете ли вы меня вставать каждое утро'
Рабочая демонстрация:
Будущая работа:
Использование других функций в моделях внимания, таких как Bahdanau Attention.
Использованная литература:
- https://www.appliedaicourse.com/
- https://nlp.stanford.edu/courses/cs224n/2009/fp/27.pdf
- https://www.aclweb.org/anthology/P10-4014.pdf
- https://www.manythings.org/anki/ita-eng.zip
- https://machinelearningmastery.com/introduction-neural-machine-translation/
- https://www.appliedaicourse.com/lecture/11/applied-machine-learning-online-course/4149/live-encoder-decoder-models/8/module-8-neural-networks-computer-vision-and -глубокое обучение
- https://www.appliedaicourse.com/lecture/11/applied-machine-learning-online-course/4150/attention-models-in-deep-learning/8/module-8-neural-networks-computer-vision -и-глубокое обучение
- https://www.tensorflow.org/tutorials/text/nmt_with_attention#define_the_optimizer_and_the_loss_function
- https://www.tensorflow.org/text/tutorials/nmt_with_attention
Ссылка на книгу заметок:
https://github.com/abdul1919/Social-Media-to-Formal-English-text-translation