Я работаю над этим проектом, в котором у нас есть несколько категорий, таких как
Beauty
мероприятия
Магазины
Категории помечены, например, некоторые из тегов:
Beauty => Haircut, spa, manicure, personal trainer
Activities => personal trainer, biking
Shopping => Jewelery, Shirts, Socks
У тегов есть порядок, который указывает на их соответствие категории, например, стрижка стоит на первом месте в красоте, потому что текст со словом стрижка внутри, скорее всего, связан с красотой,
Как видите, тег «Личный тренер» относится к нескольким категориям, поэтому, если в тексте есть личный тренер, он может относиться либо к красоте, либо к занятиям.
Я также записываю, сколько раз каждый тег был найден в тексте, поэтому каждый тег имеет найденное значение.
Теперь, когда новый текст должен быть обработан, я ищу все теги в нем и вижу, сколько раз они встречались в данном тексте. Результаты для образца текста будут выглядеть так:
Haircut => 4
personal trainer => 1
manicure => 1
spa => 0
Глядя на это, мы понимаем, что текст должен принадлежать Красоте.
Теперь вот мои вопросы:
1- Как мы программно решаем, к какой категории относится этот текст, имея заданный вход и имея массив тегов, с которыми связана категория?
Это хорошая идея? Есть ли более элегантный способ сделать это?
2- Это хороший способ сделать это или есть лучший алгоритм? Я думал, может быть, что-то вроде lucene или более интеллектуального алгоритма может вступить в игру при работе с этим.