Как провести поверхностный анализ текста
Материал из Поле цифровой дидактики
(перенаправлено с «Поверхностный анализ текста»)
| Описание | Поверхностный анализ текста — это анализ легко измеримых, формальных характеристик текста, которые не требуют глубокого лингвистического анализа или интерпретации смысла. К ним относятся:
Главное преимущество поверхностного анализа: быстрота, объективность, воспроизводимость результатов. |
|---|---|
| Область знаний | Лингвистика, Статистика |
| Область использования (ISTE) | |
| Возрастная категория | 16
|
| Поясняющее видео | |
| Близкие рецепту понятия | |
| Среды и средства для приготовления рецепта: | VOYANT Tools, R |
library(tidyverse)
library(stringr)
library(ggplot2)
# Предполагаем, что у нас есть данные corpus с полями:
# title (название статьи), category (Историки или Филологи), text (полный текст)
# Вычисляем базовые поверхностные метрики
surface_metrics <- corpus %>%
mutate(
# === Объём текста ===
word_count = str_count(text, "\\S+"), # количество слов
char_count = nchar(text), # количество символов
char_count_no_spaces = str_count(text, "\\S"), # символы без пробелов
# === Структурные единицы ===
sent_count = str_count(text, "[.!?]+"), # количество предложений
paragraph_count = str_count(text, "\\n\\n") + 1, # количество абзацев
# === Средние показатели ===
avg_word_length = char_count / word_count, # средняя длина слова (символов)
avg_sent_length = word_count / sent_count, # средняя длина предложения (слов)
avg_para_length = word_count / paragraph_count, # средняя длина абзаца (слов)
# === Плотность текста ===
text_density = char_count_no_spaces / char_count, # отношение букв к общему числу символов
# === Дополнительные метрики ===
sentence_per_paragraph = sent_count / paragraph_count
) %>%
select(title, category, word_count, char_count, sent_count, paragraph_count,
avg_word_length, avg_sent_length, avg_para_length, text_density,
sentence_per_paragraph)
# Просмотрим первые строки
glimpse(surface_metrics)
head(surface_metrics, 10)
