-
Notifications
You must be signed in to change notification settings - Fork 0
Similarities
Ekaterina Ledeneva edited this page Dec 6, 2020
·
2 revisions
Similarity
— базовый класс всех алгоритмов. Конкретные алгоритмы переопределяют метод similarity
в соответствии со своей логикой.
- В конструктор класса можно передать параметры
segmentation
(True/False) иnormalization
(full/partial/None), по умолчанию сегментация и нормализация отключены. В сиамскую сеть и WMD эти параметры передавать нельзя, так как это не имеет смысла. - Базовый класс имеет метод
load
, позволяющий загрузить предобученный алгоритм, некоторые алгоритмы переопределяют этот метод.
-
run_similarity(pairs)
— принимает список пар комментариев, возвращает список посчитанных сходств.- Сиамская сеть, в отличие от остальных алгоритмов, в этом методе требует DataFrame вместо списка, так как использует для вычисления сходства не только сами комментарии, но и их метаинформацию.
-
predict(scores)
— принимает список сходств, возвращает список бинарных меток в соответствии с вычисленным на этапе обучения порогом.
-
get_algorithm_by_name(name, load=False)
— принимает имя алгоритма (см. возможные значения в коде) и флаг, нужно ли загружать результат обучения из кэша (надо установить в True); возвращает алгоритм без сегментации и нормализации. - Путь к кэшу алгоритма определён в атрибуте
model_cache
в соответствующем алгоритму классе и имеет видcache/models/<alg_name>
. Для успешной загрузки алгоритма необходимо обеспечить наличие файла с кэшем в этой папке (в силу большого размера кэши хранятся на гугл диске, надо их локально скопировать). - Также для восстановления алгоритма используется файл
cache/thresholds.pkl
, в котором хранится словарь посчитанных порогов.