Как провести семантический анализ текста: различия между версиями
Материал из Поле цифровой дидактики
Patarakin (обсуждение | вклад) Новая страница: «{{Scripting Tutorials |Description=Анализ тональности - анализ эмоциональной окраски текста (позитивная, негативная, нейтральная). |Field_of_knowledge=Лингвистика, Статистика |FieldActivity=Global Collaborator |Возрастная категория=16 |Environment=R }} == Анализ тональности === * Анализ эмоциональной о...» |
Patarakin (обсуждение | вклад) |
||
| Строка 6: | Строка 6: | ||
|Environment=R | |Environment=R | ||
}} | }} | ||
== Анализ тональности | == Анализ тональности == | ||
* Анализ эмоциональной окраски текста (позитивная, негативная, нейтральная). | * Анализ эмоциональной окраски текста (позитивная, негативная, нейтральная). | ||
| Строка 27: | Строка 27: | ||
.groups = "drop" | .groups = "drop" | ||
) | ) | ||
# Визуализация | |||
ggplot(text_sentiment, aes(x = category, y = sentiment_score, fill = category)) + | |||
geom_boxplot(alpha = 0.6) + | |||
geom_jitter(width = 0.2, alpha = 0.3) + | |||
geom_hline(yintercept = 0, linetype = "dashed", color = "gray") + | |||
labs( | |||
title = "Анализ тональности текстов", | |||
x = "Категория", | |||
y = "Sentiment Score", | |||
subtitle = "Положительные значения = позитивная тональность" | |||
) + | |||
theme_minimal() + | |||
theme(legend.position = "none") | |||
</syntaxhighlight> | |||
Версия от 17:44, 10 декабря 2025
| Описание | Анализ тональности - анализ эмоциональной окраски текста (позитивная, негативная, нейтральная). |
|---|---|
| Область знаний | Лингвистика, Статистика |
| Область использования (ISTE) | Global Collaborator |
| Возрастная категория | 16
|
| Поясняющее видео | |
| Близкие рецепту понятия | |
| Среды и средства для приготовления рецепта: | R |
Анализ тональности
- Анализ эмоциональной окраски текста (позитивная, негативная, нейтральная).
# Пример с простым русским словарем
sentiment_dict <- tibble(
word = c("хороший", "отличный", "великолепный", "позитивный", "успех",
"плохой", "ужасный", "негативный", "проблема", "ошибка", "конфликт"),
sentiment = c(1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1)
)
text_sentiment <- tokens_clean %>%
left_join(sentiment_dict, by = "word") %>%
group_by(title, category) %>%
summarise(
positive_words = sum(sentiment == 1, na.rm = TRUE),
negative_words = sum(sentiment == -1, na.rm = TRUE),
neutral_words = sum(is.na(sentiment), na.rm = TRUE),
sentiment_score = (positive_words - negative_words) / n(),
.groups = "drop"
)
# Визуализация
ggplot(text_sentiment, aes(x = category, y = sentiment_score, fill = category)) +
geom_boxplot(alpha = 0.6) +
geom_jitter(width = 0.2, alpha = 0.3) +
geom_hline(yintercept = 0, linetype = "dashed", color = "gray") +
labs(
title = "Анализ тональности текстов",
x = "Категория",
y = "Sentiment Score",
subtitle = "Положительные значения = позитивная тональность"
) +
theme_minimal() +
theme(legend.position = "none")
