Перейти к содержанию

Литературная дактилоскопия

ruts.visualizers.fingerprinting()

Описание

Визуализация литературной дактилоскопии (Literature Fingerprinting).

Примечание

Более подробно с литературной дактилоскопией можно ознакомиться в данной публикации.

Параметры

Параметр Тип По умолчанию Описание
texts List[List[str]] - Список списков слов
segment_len int 10 Размер сегмента
metric Callable None Функция для подсчета метрики лексического разнообразия
x_size int 800 Ширина области для визуализации
y_size int 600 Высота области для визуализации
cmap str 'PuOr' Цветовая карта
ax Axes None Оси matplotlib для графика; если не заданы, создается фигура 15×10

Функция возвращает оси Axes с визуализацией; фигура доступна как ax.figure. Цвет квадрата - значение метрики сегмента относительно максимума по всем текстам; сегменты, на которых метрика не определена (nan на слишком коротких для нее сегментах), рисуются как нулевые, а не пропадают с графика.

Пример использования

Рассмотрим работу визуализатора на примере 100 текстов из набора данных SovChLit.

Пример

Код:

# Загрузка библиотек
from ruts import WordsExtractor
from ruts.datasets import SovChLit
from ruts.diversity_stats import calc_simpson_index
from ruts.visualizers import fingerprinting

# Подготовка данных
sc = SovChLit()
texts = [text for text in sc.get_texts(limit=100)]

# Подготовка списка списков слов
words = []
words_extractor = WordsExtractor(lowercase=True)
for text in texts:
    words.append(words_extractor.extract(text))

# Построение графика
fingerprinting(words, metric=calc_simpson_index, x_size=1000, y_size=800)

Результат:

ruts