Получение датасетов из nltk
Установите необходимый пакет (в вашей локальной среде).
Теперь нужно скачать и уже можно использовать датасет.
#dataset #pos #tutorial
Установите необходимый пакет (в вашей локальной среде).
pip install nltk
Теперь нужно скачать и уже можно использовать датасет.
import nltk
from nltk.corpus import treebank
nltk.download('treebank') # Скачайте датасет
# Теперь можно посмотреть на примеры данных в датасете
for word, tag in treebank.tagged_words()[:10]:
print('Word: ', word, 'Tag: ', tag)
#dataset #pos #tutorial
Получение датасетов из huggingface
Установите необходимые пакеты (в вашей локальной среде).
Некоторые датасеты могут требовать дополнительные пакеты, как например в случае UD датасета. Для этого датасета нужно еще установить пакет 'conllu'. Обычно его устанавливать не нужно и будет достаточно установить только 'datasets'.
Теперь нужно скачать и уже можно использовать датасет.
#dataset #pos #tutorial
Установите необходимые пакеты (в вашей локальной среде).
pip install datasets conllu
Некоторые датасеты могут требовать дополнительные пакеты, как например в случае UD датасета. Для этого датасета нужно еще установить пакет 'conllu'. Обычно его устанавливать не нужно и будет достаточно установить только 'datasets'.
Теперь нужно скачать и уже можно использовать датасет.
from datasets import load_dataset
dataset = load_dataset('universal_dependencies', 'ru_gsd', split='train') # Скачайте датасет
# Теперь можно посмотреть на примеры данных в датасете
dataset.to_pandas().head(5) # NB! эта команда требует предустановленный пакет pandas
#dataset #pos #tutorial
Хотите знать, как начать использовать адаптеры? Очень просто! Просто добавьте несколько строк кода в существующий обучающий код HuggingFace:
```
from transformers import ParallelConfig
# Загрузите модель из HuggingFace.
model = AutoModelForTokenClassification.from_pretrained(model_checkpoint)
# Выберите тип адаптера. Больше конфигураций адаптеров можно найти здесь
# Не уверен в чем разница между адаптерами? Можешь использовать тег #adapters для поиска по каналу и найти особенности многих типов адаптеров.
adapter_config = ParallelConfig()
model.add_adapter("any_name_of_the_task", config=adapter_config)
model.set_active_adapters("any_name_of_the_task")
model.train_adapter("any_name_of_the_task")
# Дальше тренируй модель HuggingFace как обычно.
```
Полностью работающий пример использования адаптера можно найти здесь. В примере используется задание Part-of-speach tagging (#pos)
#adapters #tutorial
```
from transformers import ParallelConfig
# Загрузите модель из HuggingFace.
model = AutoModelForTokenClassification.from_pretrained(model_checkpoint)
# Выберите тип адаптера. Больше конфигураций адаптеров можно найти здесь
# Не уверен в чем разница между адаптерами? Можешь использовать тег #adapters для поиска по каналу и найти особенности многих типов адаптеров.
adapter_config = ParallelConfig()
model.add_adapter("any_name_of_the_task", config=adapter_config)
model.set_active_adapters("any_name_of_the_task")
model.train_adapter("any_name_of_the_task")
# Дальше тренируй модель HuggingFace как обычно.
```
Полностью работающий пример использования адаптера можно найти здесь. В примере используется задание Part-of-speach tagging (#pos)
#adapters #tutorial
Telegram
Deep learning for NLP
Part-of-speech (POS) tagging is the process of assigning a part-of-speech to each word in a text.
Words are ambiguous — have more than one possible part-of-speech. The goal is to find the correct tag depending on the context.
For example, book can be a verb…
Words are ambiguous — have more than one possible part-of-speech. The goal is to find the correct tag depending on the context.
For example, book can be a verb…
👍8
Bamboolib
📷 Использование библиотеки
Если вы часто используете Jupyter Notebooks или Databricks для анализа и исследования данных, вам определенно стоит обратить внимание на библиотеку bamboolib. Она будет полезна для быстрого получения сведений структурированном наборе данных.
Для изучения и преобразования данных библиотека предоставляет простой UI и работает с pandas DataFrames. Когда анализ данный закончен, можно скопировать необходимые графики в свой блокнот, используя фрагменты кода, которые сгенерированы библиотекой.
Что касается цены, то существует 2 версии: community (бесплатная) и «pro» для бизнеса (платная). Я использовал библиотеку в Databricks. Поэтому скорее всего, я использовал платную версию, если Databricks предоставляет её по умолчанию.
Различия между бесплатной и платной версиями таковы:
- Интеграция с вашими кастомными библиотеками;
- Использование плагинов (какие-либо специфические преобразование, визуализации или источники данных).
Как по мне, я бы не сказал, что эти функции очень нужны большинству пользователей. Что мешает вам загрузить данные из своего специфического источника данных в переменную и затем проанализировать их? Или почему вы не можете получить общие сведения о наборе данных, а затем применить свою визуализацию, как обычно?
Может быть, тарифные планы изменятся, но пока, использование платной версии сомнительно. Похоже, несколько лет назад у инструмента была другая цена и он стоил довольно дорого, но в прошлом году компания была поглощена компанией Databricks, что привело к упрощению ценообразования и фактически сделало библиотеку бесплатной.
Краткое руководство о том, как начать пользоваться библиотекой
Установка библиотеки с помощью pip:
(Если вы используете 11-ю Databricks Runtime на своем кластере, то библиотека установлена по умолчанию)
Есть 2 способа как загрузить данные в UI библиотеки:
1. Загрузите dataframe в переменную и просмотрите её. Над таблицей с данными вы увидите кнопку "Show bamboolib UI".
2. Загрузите UI, а затем загрузите данные, используя различные форматы.
#tutorial #library #visualisation
📷 Использование библиотеки
Если вы часто используете Jupyter Notebooks или Databricks для анализа и исследования данных, вам определенно стоит обратить внимание на библиотеку bamboolib. Она будет полезна для быстрого получения сведений структурированном наборе данных.
Для изучения и преобразования данных библиотека предоставляет простой UI и работает с pandas DataFrames. Когда анализ данный закончен, можно скопировать необходимые графики в свой блокнот, используя фрагменты кода, которые сгенерированы библиотекой.
Что касается цены, то существует 2 версии: community (бесплатная) и «pro» для бизнеса (платная). Я использовал библиотеку в Databricks. Поэтому скорее всего, я использовал платную версию, если Databricks предоставляет её по умолчанию.
Различия между бесплатной и платной версиями таковы:
- Интеграция с вашими кастомными библиотеками;
- Использование плагинов (какие-либо специфические преобразование, визуализации или источники данных).
Как по мне, я бы не сказал, что эти функции очень нужны большинству пользователей. Что мешает вам загрузить данные из своего специфического источника данных в переменную и затем проанализировать их? Или почему вы не можете получить общие сведения о наборе данных, а затем применить свою визуализацию, как обычно?
Может быть, тарифные планы изменятся, но пока, использование платной версии сомнительно. Похоже, несколько лет назад у инструмента была другая цена и он стоил довольно дорого, но в прошлом году компания была поглощена компанией Databricks, что привело к упрощению ценообразования и фактически сделало библиотеку бесплатной.
Краткое руководство о том, как начать пользоваться библиотекой
Установка библиотеки с помощью pip:
pip install bamboolib
(Если вы используете 11-ю Databricks Runtime на своем кластере, то библиотека установлена по умолчанию)
Есть 2 способа как загрузить данные в UI библиотеки:
1. Загрузите dataframe в переменную и просмотрите её. Над таблицей с данными вы увидите кнопку "Show bamboolib UI".
import bamboolib as bam
import pandas as pd
df = pd.read_csv(bam.titanic_csv)
df
2. Загрузите UI, а затем загрузите данные, используя различные форматы.
import bamboolib as bam
bam
#tutorial #library #visualisation
Telegram
Deep learning for NLP (RU)
Использование Bamboolib
🔥3
Пример использования OpenAI Embedding модели для задачи схожести текстов.
Подготовка:
1. Установить OpenAI и scipy библиотеки;
2. NB! Чтобы использовать API, вам необходимо настроить платную учетную запись и добавить способ оплаты в OpenAI.
Получение векторов.
Сравнение полученных векторов с использованием косинусного расстояния. NB! Расстояние рассчитывается как «1 - cos(x)». Это означает, что если расстояние между векторами равно 0 градусов, на выходе будет 0, а не 1.
Выводы:
Несмотря на то, что 1-е и 2-е предложения имеют омонимы (среда), значение этих слов разное. 2-е и 3-е предложения не имеют общих слов, но семантически близки. Расстояние между векторами также подтверждает это.
Пример использования API на аглийском.
#openai #embeddings #tutorial
Подготовка:
1. Установить OpenAI и scipy библиотеки;
pip install openai scipy
2. NB! Чтобы использовать API, вам необходимо настроить платную учетную запись и добавить способ оплаты в OpenAI.
Получение векторов.
import openai
openai.api_key = 'sk-[your-personal-api-key]'
embedding1 = openai.Embedding.create(
input="Лес - естественная среда обитания многих животных",
model="text-embedding-ada-002"
)
embedding2 = openai.Embedding.create(
input="Мы договорились встретиться в среду",
model="text-embedding-ada-002"
)
embedding3 = openai.Embedding.create(
input="Маша и Вова увидятся на этой неделе",
model="text-embedding-ada-002"
)
Сравнение полученных векторов с использованием косинусного расстояния. NB! Расстояние рассчитывается как «1 - cos(x)». Это означает, что если расстояние между векторами равно 0 градусов, на выходе будет 0, а не 1.
from scipy.spatial.distance import cosine
print(cosine(embedding1['data'][0]['embedding'], embedding2['data'][0]['embedding']))
print(cosine(embedding3['data'][0]['embedding'], embedding2['data'][0]['embedding']))
# Output
# 0.2229697075890561
# 0.14707107396043684
Выводы:
Несмотря на то, что 1-е и 2-е предложения имеют омонимы (среда), значение этих слов разное. 2-е и 3-е предложения не имеют общих слов, но семантически близки. Расстояние между векторами также подтверждает это.
Пример использования API на аглийском.
#openai #embeddings #tutorial
Telegram
Deep learning for NLP
Embedding API example
An example of using OpenAI Embedding model for a text similarity task.
Prerequisites:
1. Installing the OpenAI and scipy library;
pip install openai scipy
2. NB! To use the API you need to setup a paid account and add a billing method.…
An example of using OpenAI Embedding model for a text similarity task.
Prerequisites:
1. Installing the OpenAI and scipy library;
pip install openai scipy
2. NB! To use the API you need to setup a paid account and add a billing method.…
👍5👎1🔥1
🔗 Публикация
🔗 Руководство
🧠 Авторы: Sebastian Ruder, Jonas Pfeiffer, Ivan Vulić и Edoardo M. Ponti
⏰ Year: Февраль 2023
Авторы выпустили новое руководство, которое предлагает общую классификацию фундаментальных компонентов модульных нейронных сетей.
Ожидается, что в нынешнюю эпоху крупномасштабных языковых моделей (large-scale language models) модульность будет играть ключевую роль. Это связано с тем, что разбивая нейронные сети на независимые компоненты, можно создавать более устойчивые модели, которые устраняют текущие ограничения и могут использоваться в различных архитектурах.
Таксономия модульных подходов основывается на четырех аспектах обучения моделей:
1. Вычислительная функция: как реализован модуль.
2. Функция маршрутизации: как выбираются активные модули.
3. Функция агрегирования: каким методом выходные данные активных модулей складываются вместе.
4. Настройка тренировки: как обучаются модули.
#tutorial #transfer_learning #adapters
@deep_learning_nlp_ru
🔗 Руководство
🧠 Авторы: Sebastian Ruder, Jonas Pfeiffer, Ivan Vulić и Edoardo M. Ponti
⏰ Year: Февраль 2023
Авторы выпустили новое руководство, которое предлагает общую классификацию фундаментальных компонентов модульных нейронных сетей.
Ожидается, что в нынешнюю эпоху крупномасштабных языковых моделей (large-scale language models) модульность будет играть ключевую роль. Это связано с тем, что разбивая нейронные сети на независимые компоненты, можно создавать более устойчивые модели, которые устраняют текущие ограничения и могут использоваться в различных архитектурах.
Таксономия модульных подходов основывается на четырех аспектах обучения моделей:
1. Вычислительная функция: как реализован модуль.
2. Функция маршрутизации: как выбираются активные модули.
3. Функция агрегирования: каким методом выходные данные активных модулей складываются вместе.
4. Настройка тренировки: как обучаются модули.
#tutorial #transfer_learning #adapters
@deep_learning_nlp_ru
👍7