AI-For-Beginners/translations/bg/lessons/5-NLP/15-LanguageModeling/README.md

46 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Моделиране на език
Семантичните вграждания, като Word2Vec и GloVe, всъщност са първа стъпка към **моделиране на език** - създаване на модели, които по някакъв начин *разбират* (или *представят*) природата на езика.
## [Тест преди лекцията](https://ff-quizzes.netlify.app/en/ai/quiz/29)
Основната идея зад моделирането на език е обучението им върху немаркирани набори от данни по неуправляем начин. Това е важно, защото разполагаме с огромни количества немаркиран текст, докато количеството маркиран текст винаги ще бъде ограничено от усилията, които можем да вложим в маркирането. Най-често можем да изградим езикови модели, които могат **да предсказват липсващи думи** в текста, защото е лесно да скрием случайна дума в текста и да я използваме като тренировъчен пример.
## Обучение на вграждания
В предишните примери използвахме предварително обучени семантични вграждания, но е интересно да видим как тези вграждания могат да бъдат обучени. Съществуват няколко възможни идеи, които могат да се използват:
* **Моделиране на език с N-грам**, когато предсказваме токен, като разглеждаме N предишни токена (N-грам).
* **Непрекъсната торба с думи** (CBoW), когато предсказваме средния токен $W_0$ в последователност от токени $W_{-N}$, ..., $W_N$.
* **Skip-gram**, където предсказваме набор от съседни токени {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} от средния токен $W_0$.
![изображение от статия за преобразуване на думи във вектори](../../../../../translated_images/bg/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.webp)
> Изображение от [тази статия](https://arxiv.org/pdf/1301.3781.pdf)
## ✍️ Примерни тетрадки: Обучение на CBoW модел
Продължете обучението си с помощта на следните тетрадки:
* [Обучение на CBoW Word2Vec с TensorFlow](CBoW-TF.ipynb)
* [Обучение на CBoW Word2Vec с PyTorch](CBoW-PyTorch.ipynb)
## Заключение
В предишния урок видяхме, че вгражданията на думи работят като магия! Сега знаем, че обучението на вграждания на думи не е много сложна задача и трябва да можем да обучим свои собствени вграждания за текст, специфичен за дадена област, ако е необходимо.
## [Тест след лекцията](https://ff-quizzes.netlify.app/en/ai/quiz/30)
## Преглед и самостоятелно обучение
* [Официален PyTorch урок за моделиране на език](https://pytorch.org/tutorials/beginner/nlp/word_embeddings_tutorial.html).
* [Официален TensorFlow урок за обучение на Word2Vec модел](https://www.TensorFlow.org/tutorials/text/word2vec).
* Използването на **gensim** за обучение на най-често използваните вграждания с няколко реда код е описано [в тази документация](https://pytorch.org/tutorials/beginner/nlp/word_embeddings_tutorial.html).
## 🚀 [Задача: Обучение на Skip-Gram модел](lab/README.md)
В лабораторията ви предизвикваме да модифицирате кода от този урок, за да обучите Skip-Gram модел вместо CBoW. [Прочетете подробностите](lab/README.md)
---