В этом уроке мы рассмотрим, как легко выполнить анализ настроений на текстовых данных, используя модель IBM с открытым исходным кодом 3B, интегрированную с обнимающими трансформаторами лица. Анализ настроений, широко используемый метод обработки естественного языка (NLP), помогает быстро идентифицировать эмоции, выраженные в тексте. Это делает его бесценным для предприятий, стремящихся понять отзывы клиентов и улучшить их продукты и услуги. Теперь давайте проведем вас через установку необходимых библиотек, загружая модель гранита IBM, классифицируя настроения и визуализируя ваши результаты, все это легко исполняется в Google Colab.
!pip install transformers torch accelerate
Во -первых, мы установим основные библиотеки – трансформаторы, факел и ускорение – для плавной загрузки и запуска мощных моделей НЛП. Трансформеры предоставляют предварительно построенные модели NLP, Torch служит бэкэнд для задач глубокого обучения, а ускорение обеспечивает эффективное использование ресурсов для графических процессоров.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
import pandas as pd
import matplotlib.pyplot as plt
Затем мы импортируем необходимые библиотеки Python. Мы будем использовать факел для эффективных тензорных операций, трансформаторов для загрузки предварительно обученных моделей NLP от обнимающего лица, пандов для управления и обработки данных в структурированных форматах и matplotlib для визуальной интерпретации результатов вашего анализа четко и интуитивно.
model_id = "ibm-granite/granite-3.0-3b-a800m-instruct"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map='auto',
torch_dtype=torch.bfloat16,
trust_remote_code=True
)
generator = pipeline("text-generation", model=model, tokenizer=tokenizer)
Здесь мы загрузим модель IBM с открытым исходным кодом 3B модель, посвященную инструкциям, в частности, IBM-гранит/гранит-3.0-3B-A800M-Instruct, используя AutoTokingizer и AutomoDelforcausallm. Эта компактная модель, настроенная на инструкции, оптимизирована для выполнения задач, таких как классификация настроений непосредственно в Colab, даже при ограниченных вычислительных ресурсах.
def classify_sentiment(review):
prompt = f"""Classify the sentiment of the following review as Positive, Negative, or Neutral.
Review: "{review}"
Sentiment:"""
response = generator(
prompt,
max_new_tokens=5,
do_sample=False,
pad_token_id=tokenizer.eos_token_id
)
sentiment = response(0)('generated_text').split("Sentiment:")(-1).split("n")(0).strip()
return sentiment
Теперь мы определим основную функцию classify_sentiment. Эта функция использует модель IBM Granite 3B с помощью подсказки, основанной на инструкциях, для классификации настроения любого данного обзора на положительный, отрицательный или нейтральный. Функция форматирует обзор ввода, вызывает модель с точными инструкциями и извлекает полученное настроение из сгенерированного текста.
import pandas as pd
reviews = (
"I absolutely loved the service! Definitely coming back.",
"The item arrived damaged, very disappointed.",
"Average product. Nothing too exciting.",
"Superb experience, exceeded all expectations!",
"Not worth the money, poor quality."
)
reviews_df = pd.DataFrame(reviews, columns=('review'))
Далее мы создадим простые обзоры DataFrame_DF с использованием pandas, содержащих набор примеров обзоров. Эти образцы обзоров служат входными данными для классификации настроений, что позволяет нам наблюдать, как эффективно модель IBM Granite может определять настроения клиентов в практическом сценарии.
reviews_df('sentiment') = reviews_df('review').apply(classify_sentiment)
print(reviews_df)
После определения обзоров мы применим функцию classify_sentiment к каждому обзору в DataFrame. Это генерирует новый столбец, настроение, где модель IBM Granite классифицирует каждый обзор как положительный, отрицательный или нейтральный. Печать обновленные отзывы_DF, мы видим исходный текст и его соответствующую классификацию настроений.
import matplotlib.pyplot as plt
sentiment_counts = reviews_df('sentiment').value_counts()
plt.figure(figsize=(8, 6))
sentiment_counts.plot.pie(autopct="%1.1f%%", explode=(0.05)*len(sentiment_counts), colors=('#66bb6a', '#ff7043', '#42a5f5'))
plt.ylabel('')
plt.title('Sentiment Distribution of Reviews')
plt.show()
Наконец, мы визуализируем распределение настроений в круговой диаграмме. Этот шаг дает четкий, интуитивно понятный обзор того, как классифицируются отзывы, что облегчает интерпретацию общей производительности модели. Matplotlib позволяет нам быстро увидеть долю положительных, негативных и нейтральных настроений, принося ваш конвейер на полном круге вашего конвейера.
В заключение мы успешно внедрили мощный конвейер анализа настроений с использованием модели IBM Granite 3B с открытым исходным кодом, размещенной на обнимании лица. Вы научились использовать предварительно обученные модели для быстрого классификации текста в положительные, негативные или нейтральные настроения, эффективно визуализировать понимание и интерпретировать ваши выводы. Этот основополагающий подход позволяет легко адаптировать эти навыки для анализа наборов данных или изучения других задач NLP. Гранитные модели IBM в сочетании с обнимающими трансформаторами лица предлагают эффективный способ выполнения передовых задач NLP.
Вот Колаб ноутбукПолем Кроме того, не забудьте следовать за нами Twitter и присоединиться к нашему Телеграмма канал и LinkedIn GrукПолем Не забудьте присоединиться к нашему 80K+ ML SubredditПолем
🚨 Рекомендуемое чтение AI Research выпускает Nexus: расширенная система интеграции системы ИИ и стандартов соответствия данными для решения юридических проблем в наборах данных AI

ASIF Razzaq является генеральным директором Marktechpost Media Inc. как дальновидного предпринимателя и инженера, ASIF стремится использовать потенциал искусственного интеллекта для социального блага. Его последнее усилие-запуск медиа-платформы искусственного интеллекта, Marktechpost, которая выделяется благодаря глубокому освещению машинного обучения и новостей о глубоком обучении, которое является технически обоснованным и легко понятным для широкой аудитории. Платформа может похвастаться более чем 2 миллионами ежемесячных просмотров, иллюстрируя свою популярность среди зрителей.
🚨 Рекомендуемая платформа искусственного интеллекта с открытым исходным кодом: «Intellagent-это многоагентная структура с открытым исходным кодом для оценки сложной разговорной системы ИИ» (PROMOTED)