ap.utils

ap.utils.bpe.load_bpe_models(bpe_path: str) dict

Загружает обученные BPE модели.

Параметры

bpe_path (str) – путь до папки с обученными BPE моделями.

Результат

словарь с обученными BPE моделями.

Тип результата

res (dict)

ap.utils.dictionary.get_num_entries(dictionary: artm.dictionary.Dictionary) int

Возвращает размер словаря.

Параметры

dictionary (artm.Dictionary) – словарь тематической модели

Результат

количество токенов в словаре

ap.utils.dictionary.limit_classwise(dictionary: artm.dictionary.Dictionary, cls_ids: Iterable[str], max_dictionary_size: int, tmp_dir: str, out_file: str)

Ограничивает словарь и сохраняет его в out_file.

Ограничивает словарь таким образом, что в разрезе каждоого class id будет не более max_dictionary_size токенов. Сохраняет словарь в текстовым форматом в файле out_file.

Параметры
  • dictionary (artm.Dictionary) – исходный словарь

  • cls_ids (list) – модальности

  • max_dictionary_size (int) – максимальный размер словаря в разрезе модальности

  • tmp_dir (str) – директория для хранения промежуточных результатов

  • out_file (str) – файл, в который сохраняется результат

ap.utils.emb_metrics.generate_theta(path_models: str, save_path: str)

Создает и сохраняет матрицы Тэта.

Параметры
  • path_models (str) – путь к папке с тематическими моделями

  • save_path (str) – путь для сохранения матриц Тэта

ap.utils.emb_metrics.get_analogy_distribution(path_models: str, save_path: str) Dict[str, dict]

Function to get analogy distribution for models.

Параметры
  • path_models (str) – путь к папке с тематическими моделями

  • save_path (str) – путь для сохранения матриц Тэта

Результат

dict with distribution of analogy measure

Тип результата

pair_analogy (dict)

ap.utils.emb_metrics.get_cos_distribution(path_models: str, save_path: str, path_categories: str) Dict[str, dict]

Function to get cosine distribution in classes for models.

Параметры
  • path_models (str) – путь к папке с тематическими моделями

  • save_path (str) – путь для сохранения матриц Тэта

  • path_categories (str) – json-файл с рубриками документов

Результат

dict with distribution of cosine measure for classes

Тип результата

pair_cos (dict)

ap.utils.emb_metrics.get_mean_classes_intersection(path_models, save_path, path_categories)

Function to evaluate classes intersection.

Параметры
  • path_models (str) – путь к папке с тематическими моделями

  • save_path (str) – путь для сохранения матриц Тэта

  • path_categories (str) – json-файл с рубриками документов

Результат

DataFrame with evaluation of classes intersection

Тип результата

(pd.DataFrame)

ap.utils.emb_metrics.get_topic_profile(path_models, save_path)

Function to get topic profiles for models.

Параметры
  • path_models (str) – путь к папке с тематическими моделями

  • save_path (str) – путь для сохранения матриц Тэта

Результат

DataFrame with topic profiles for models

Тип результата

(pd.DataFrame)

ap.utils.general.batch_names(starts_from, count) Generator[str, None, None]

Генерирует названия батчей в соответствие с форматом BatchVectorizer.

Параметры
  • starts_from – название файла последнего батча в директории

  • count – количество батчей

Результат

Генератор имен батчей

Тип результата

(Generator[str, None, None])

ap.utils.general.docs_from_pack(pack) Dict[str, Dict[str, str]]

Создает словарь документов из pack.

Параметры

pack (ap.topic_model.v1.TopicModelBase_pb2.DocumentPack) – коллекция

Результат

dict из документов

ap.utils.general.ensure_directory(path: str) str

Создает директорию, если ее нет, и возвращает path.

Параметры

path (str) – путь к директории

Результат

path (str) путь к директории

ap.utils.general.get_modalities(doc)

Возвращает словарь, где по языку хранятся токены на этом языке.

Параметры

doc – документ

Результат

словарь язык -> строка токенов на этом языке через пробел

Тип результата

res (dict)

ap.utils.general.id_to_str(id) str

Конвертирует DocId в строку.

Параметры

id (DocId) – id документа

Результат

Строка из DocId

Рекурсивно удаляет файлы и директории.

Параметры

path (pathlib.Path) – путь, по которому необходимо удалить все файлы.

ap.utils.rank_metric.quality_of_models(path_train_lang: str, bcg_topic_list: List[str], metrics_to_calculate: List[str], mode: str, path_model: str, path_experiment_result: str, matrix_norm_metric, path_subsamples: str, path_rubrics: str, path_test: str, current_languages: List[str], recalculate_test_thetas: bool, **kwargs) Dict[str, Dict[str, float]]

Класс для вычисления метрик качества тематической модели.

Параметры
  • path_train_lang (str) – путь к папке с папками языков, в которых лежат центроиды, построенные по ТРЕНИРОВОЧНЫМ данным каждого языка

  • bcg_topic_list (list of str) – список фоновых тем тематической модели например: bcg_topic_list = [„topic_0“]

  • metrics_to_calculate (list of str ('analogy', 'eucl')) – список названий мер близости, используемых для ранжирования

  • mode (str) – тип данных („test“ или „val“)

  • path_model (str) – путь до тематической модели

  • path_experiment_result (str) – путь до папки, куда сохраняются результаты модели

  • matrix_norm_metric (callable) – способ измерения нормы матрицы векторов например: matrix_norm_metric = np.linalg.norm

  • path_subsamples (str) – путь к файлу в формате json, содержащему подвыборки индексов документов, по которым будет производиться поиск

  • path_rubrics (str) – путь к json-файлу, где по doc_id содержится его рубрика

  • path_test (str) – путь к папке с txt-файлами, по которым будут считаться метрики

  • current_languages (list of str) – названия языков, используемых для подсчёта метрик

  • recalculate_test_thetas (bool) – признак необходимости вычислять матрицы Тэта для тестовых данных - True означает пересчитать Тэты - False означает загрузить существующие Тэты

Результат

словарь имя модели -> словарь название метрики -> значение метрики

Тип результата

quality_experiment (dict)

ap.utils.search_quality.calculate_search_quality(config_experiment) Dict[str, float]
Вычисление качества модели по 6 метрикам:
  • Средняя частота УДК,

  • Средний процент УДК,

  • Средняя частота ГРНТИ,

  • Средний процент ГРНТИ,

  • Средняя частота ВАК,

  • Средний процент ВАК.

Параметры

config_experiment (dict) –

конфиг эксперимента, содержащий:

  • config_experiment[«path_experiment»] (str): путь до папки с экспериментом

  • config_experiment[„path_model“] (str): путь до тестируемой модели,

  • config_experiment[„path_results“] (str): путь для выгрузки результата эксперимента,

  • config_experiment[«artm_model_params»] (dict): параметры тематической модели ARTM,
    • config_experiment[«artm_model_params»][«num_bcg_topic»] (int): количество фоновых тем,

  • config_experiment[„metrics_to_calculate“] (str): название меры близости („analogy“ или „eucl“),

  • config_experiment[„path_train_thetas“] (str): путь до центроид

  • config_experiment[„recalculate_train_centroids“] (bool): признак необходимости вычислять центроиды

  • config_experiment[„recalculate_test_thetas“] (bool): признак необходимости вычислять матрицы Тэта для тестовых данных

Результат

подсчитанные метрики качества

Тип результата

quality (dict)

ap.utils.search_quality.dump_train_centroids(model_path: str, bcg_topic_list: List[str], path_train_centroids: str)

Вычисляет центроиды, необходимые для преобразования текста из одного языка в другой.

Параметры
  • model_path (str) – путь до тематичекой модели

  • bcg_topic_list (list) – список тем, которые не будут использоваться для построения

  • path_train_centroids (str) – путь для выгрузки центроид

class ap.utils.subsamples_creator.MakeSubsamples(languages: List[str], path_to_save_subsamples: str, path_to_data: str, path_rubrics: str, mode: str, subsample_size: int = 1000)

Класс для сохранения поисковых подвыборок.

Параметры
  • languages (list) – список называний языков, используемых в подвыборгках

  • path_to_save_subsamples (str) – путь для сохранения файла с подвыборками в формате jsonъ

  • path_to_data (str) – путь к данным (в формате txt), для которых создаются подвыборки

  • path_rubrics (str) – путь к json файлу с рубриками документов (doc_id -> рубрика)

  • mode ('test' or 'wiki') – вид данных, для которых будут создаваться подвыборки

  • subsample_size (int) – размер подавборок, значение по умолчанию 1000.

get_subsamples()

Функция, сохраняющая поисковые подвыборки индексов документов.

Класс для работы с данными в формате Vowpal Wabbit.

class ap.utils.vowpal_wabbit.VowpalWabbit(use_counters)

Класс сохранения VW файлов.

convert_doc(doc: Dict[str, str]) Dict[str, Union[str, Counter]]

Конвертирует исходный документ в формат BOW.

Параметры

doc (dict) – словарь язык -> текст документа

Результат

словарь язык -> BOW документа. Если use_counters==True, словарь в виде Counter

Тип результата

res (dict)

save_docs(target_file: TextIO, doc: Dict[str, Dict[str, str]])

Конвертирует документы в BOW и сохраняет их.

Параметры
  • target_file – путь к файлу

  • doc – сырые документы