| ... | ... | @@ -264,4 +264,17 @@ |
|
|
|
|
|
|
|
Также модель имеет внутренние методы, необходимые для работы описанных ранее основных методов. Одним из них является метод _c_tf_idf, помогающий найти слова, которые максимально ясно описывают каждый из топиков, за счёт использования информации о других группах. То есть выделяются слова, которые имеются в документах одной группы, но редко или никогда не встречаются в документах других групп.
|
|
|
|
|
|
|
|
# 5 Описание модели "Личнный кабинет МИЭМ" |
|
|
\ No newline at end of file |
|
|
|
# 5 Описание модели "Личнный кабинет МИЭМ"
|
|
|
|
Для составления оценок релевантности пользователей по данным сервиса «Личный кабинет МИЭМ» был разработан программный модуль, осуществляющий поиск по ключевым словам в проектных «вакансиях» студентов.
|
|
|
|
Работа модели основана на векторизации документов с использованием TF-IDF меры. Для этого данные в «вакансиях» проходят через несколько этапов обработки:
|
|
|
|
1) Токенизация (с учетом специальных символов);
|
|
|
|
2) Лемматизация (если она возможна);
|
|
|
|
3) Удаление «стоп-слов» (в том числе, таких общих слов как «навык», «опыт», «знание» и др.)
|
|
|
|
Пример обработки документа:
|
|
|
|

|
|
|
|
|
|
|
|
После этого составляется матрица документ-слово, в ячейках которой содержатся значения TF-IDF меры.
|
|
|
|
Те же методы применяются к входному запросу, состоящему из набора слов — желаемых компетенций. Компетенции каждого пользователя сервиса «Личный кабинет МИЭМ» представляются единым документом. Из этого следует, что по токену из запроса можно обратиться ко всему столбцу TF-IDF матрицы и посчитать релевантность каждого пользователя по запрашиваемому токену. Просуммировав оценки для каждого токена из запроса, можно вычислить итоговую релевантность пользователя по всему запросу. На выходе модели итоговая оценка для каждого пользователя проходит через min-max нормализацию, чтобы иметь одинаковый вес с оценками других моделей.
|
|
|
|
Модель возвращает словарь, в котором ключи — это идентификаторы пользователей, а в значениях записаны финальные оценки релевантности пользователей вместе со списками всех проектов, в которых они участвовали.
|
|
|
|
В модели реализован метод fit, создающий и сохраняющий в памяти векторные представления всех документов в корпусе и другие необходимые для работы модели данные. Это позволяет экономить время и вычислительные мощности при запросе, так как основные вычисления и преобразования данных должны быть произведены всего один раз (до следующей подгрузки данных из сервиса).
|
|
|
|
На случай, если работа сервера будет неожиданно приостановлена, были реализованы методы save и load, позволяющие хранить все необходимые данные и параметры модели в постоянной памяти или, наоборот, загружать их. |