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
- ap.utils.general.recursively_unlink(path: pathlib.Path)¶
Рекурсивно удаляет файлы и директории.
- Параметры
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 – сырые документы