Вы когда-нибудь читали Анандо Брамха ( ఆనందో బ్రహ్మ) Яндамури? В противном случае вам следует. Книга (роман на телугу) была впервые опубликована в 1980 году и намного опередила свое время. Действие происходит в 2054 году в Андхра-Десаме, Соединенные Штаты Индии. Эта история представляет собой попурри из ностальгии, фэнтези, романтики и футурологии. В нем автор описывает (вымышленный) компьютер 12-го поколения, который читает в романе и предсказывает, насколько хорошо он будет воспринят рынком. Кроме того, компьютер подсказывает, где добавить больше романтики, насилия и т. Д., Чтобы сделать его более привлекательным.

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



Другая команда в Google создала модели, которые могут переварить весь роман, что позволяет создавать длинные связные композиции.



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

  1. Кратко поговорим о языке телугу
  2. Объяснять языковое моделирование и его приложения
  3. Создайте языковую модель BERT для телугу
  4. Покажите несколько интересных вещей, которые вы можете сделать с помощью обученной языковой модели

Телугу язык

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

  1. Лингвистическая типология - субъект-объект-глагол (SOV).
  2. Существительные склоняются к числу (единственное / множественное число), класс (мужской, женский и средний род) и падеж (именительный, винительный, родительный, дательный и т. д.)
  3. Система письма сегментарная (Abugida), где последовательности согласный-гласный записываются как единое целое.

Что такое языковое моделирование

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

Пусть X (1), X (2), X (3),… .X (n) - последовательность слов;

Цель языковой модели - предсказать распределение вероятности следующего слова X (n + 1)

P (X (n + 1) | X (n),…., X (1)); где X (n + 1) может быть любым словом из словаря (набора) V

Немного другая цель - замаскировать определенные токены (слова) в данном предложении и предсказать замаскированные слова на основе левого и правого контекста (также это называется моделирование замаскированного языка). .

Какая разница?

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

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

Код и модели

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





BERT для телугу

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



Для создания аналогичной модели представления языка на телугу первым делом необходимо обработать некоторые данные. Я скопировал онлайн-контент на телугу, доступный из разных источников (Википедия, книги, газеты, блоги и т. Д.). Кроме того, я нашел этот набор данных очень полезным.



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





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

Модель Fasttext

Я также обучил модель Fasttext на собранных мной данных. Все ссылки для скачивания модели доступны на моем Github.

Маркировка частей речи и распознавание именованных сущностей

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



Я использовал библиотеку SimpleTransformers для создания моделей POS и NER. Вы можете посмотреть демонстрацию POS и NER ниже, и, как упоминалось ранее, код для демонстрации доступен на моем Github.

Ответы на вопросы на телугу

Я отделил данные для обучения телугу от набора данных Tydiqa и использовал эти данные для обучения системы ответов на вопросы в стиле SQuAD для телугу. Вы можете посмотреть демо ниже.

Экстрактивное обобщение на телугу

Вы всегда хотели видеть суть длинных новостных статей? Если да, то в приведенной ниже демонстрации показано, как извлечь из длинных отрывков резюме. Для этого я использовал библиотеку под названием bert-extractive-summarize r с созданной мной языковой моделью телугу.

Могу ли я использовать эту модель для задач классификации?

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



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

🙏 ధన్యవాదాలు 🙏

использованная литература

  1. Https://www.censusindia.gov.in/2011Census/Language_MTs.html
  2. Https://en.wikipedia.org/wiki/Telugu_language
  3. Https://huggingface.co/blog/how-to-train
  4. Https://zablo.net/blog/post/training-roberta-from-scratch-the-missing-guide-polish-language-model/
  5. Https://arxiv.org/pdf/1810.04805.pdf