У меня есть список частых терминов, полученных из разных поисковых запросов определенного пользователя.
Например:
спорта, бадминтон, футбол
футбол, спорт
исследования, AI, алгоритм
исследования, адаптивный, персонализированный поиск
исследования А.И., нейро сетьПостроение иерархического профиля пользователя
Цель здесь заключается в создании иерархический профиль пользователя на основе этих частых терминов с гипотезой о том, что термины, которые часто появляются в таких запросах, представляют темы, которые интересны пользователю. В иерархии общие термины с более высокой частотой размещаются на более высоких уровнях, а конкретные термины с более низкой частотой размещаются на более низких уровнях иерархического профиля пользователя.
Ожидаемый результат будет дерево профиля пользователя смотрит как-то так:
- Профиль пользователя
- исследование
- А.И.
- алгоритм
- персонализированный поиск
- ..
- спорт
- футбол
- бадминтона
- исследование
Итак, я в настоящее время застрял, и я даже не знаю, как начать или какие библиотеки использовать. (Я работаю с java в этом проекте).
Буду очень признателен, если кто-нибудь может мне помочь.
Спасибо заранее.
Спасибо за ответ. Возможно, я не очень хорошо объяснил, но количество запросов варьируется и термины тоже. Также я хотел бы, чтобы структура имела в себе некоторую логику или семантику. Например, спортивная часть, которая содержит футбол и бадминтон, которые являются конкретными видами спорта. – paskun
вам понадобится какая-то оболочка api, но базовая структура данных останется такой, как описано. Класс, содержащий экземпляр таких карт + вспомогательные функции, например. addCAtegory, addToCategory, getCategory, getFromCategory, processRequest и т. д. «ключ», «nested_key» и «value» являются заполнителями для ваших собственных данных. –
Okay :) Во время моих поисков я видел термин «ontolgy», но я не понимал, как его использовать. У вас есть информация об этом? Еще раз спасибо – paskun