Skip to content

clusters.py

Zahar A. Ponimash edited this page Feb 6, 2024 · 1 revision

Документация к файлу clusters.py

Файл clusters.py содержит классы и функции, предназначенные для работы с семантическими кластерами, аналогичными онтологическим классам, в контексте обработки естественного языка и машинного обучения. В основном, этот файл предоставляет инструменты для создания, управления и интерпретации семантических кластеров на основе векторных представлений слов.

Основные Классы

1. Cluster

Описание: Класс, представляющий отдельный семантический кластер.

Атрибуты:

  • name (str): Название кластера.
  • sim_thresh (float): Пороговое значение схожести для включения слова в кластер.
  • words (list): Список слов, входящих в кластер.
  • matching_func (Callable): Функция, используемая для сопоставления сущности с словом.

2. ClusterBuilder

Описание: Класс для построения кластеров на основе начального списка слов и векторных представлений.

Атрибуты:

  • name (str): Название кластера.
  • embeddings (KeyedVectors): Объект с векторными представлениями слов.
  • word_processor: Обработчик слов.
  • num_similar_words (int): Количество наиболее похожих слов для поиска.
  • seed_words (list): Начальный список слов.
  • embeddable_seed_words: Фильтрованный список начальных слов, подходящих для встраивания.

Методы:

  • build(matching_func: Callable) -> Cluster: Создает и возвращает объект Cluster.
  • find_similar_words() -> list: Находит слова, похожие на начальные слова.

3. ClusterManager

Описание: Класс для управления кластерами и взаимодействия с векторными представлениями слов.

Атрибуты:

  • embeddings (KeyedVectors): Векторные представления слов.
  • word_processor: Обработчик слов.

Методы:

  • find_cluster_name(word: str, clusters: List[Cluster]) -> str: Определяет название кластера для данного слова.
  • create_clusters(clusters_descr: List[Dict]): Создает кластеры на основе их описаний.

4. ClusterInterpreter

Описание: Класс для интерпретации кластеров.

Атрибуты:

  • cluster_manager (ClusterManager): Менеджер кластеров.
  • clusters: Список кластеров.

Методы:

  • set_link_with_clusters(attribute): Устанавливает связь между семантическими кластерами.
  • get_cluster_importance_df(attribute): Преобразует атрибуты в DataFrame.
  • display_attr(attribute): Отображает атрибуты в виде тепловой карты.
  • _create_parsed_attribution(grouped_attribute: AttrObj): Создает разобранную атрибуцию с сгенерированными метками.

Функции

aggregate_cluster_df

Описание: Агрегирует DataFrame кластеров с использованием указанной агрегирующей функции.

Параметры:

  • cluster_df (DataFrame): DataFrame кластеров для агрегации.
  • aggr_f (Union[('max', 'min', 'sum', 'mean', 'median', 'std', 'var', 'sem', 'skew')]): Функция агрегирования.
  • drop_condition (str):

Условие для исключения определенных записей.

  • cl_names_col (str): Название столбца с именами кластеров.

Возвращает: Агрегированный DataFrame.

Clone this wiki locally