Я хочу классифицировать твиты в рамках определенного набора категорий, таких как {'спорт', 'развлечения', 'любовь'} и т. Д.
Моя идея состоит в том, чтобы использовать термин частоты наиболеечасто используемые слова, чтобы помочь мне решить эту проблему.Например, слово «любовь» чаще всего встречается в категории love , но оно также появляется в спорте и развлечениях в форме «Я люблю эту игру» и «Я люблю этот фильм».
Чтобы решить эту проблему, я представил 3-осевой график, где значения x - это все слова, используемые в моих твитах, значения y - категории, а значения z - термин частоты (или некоторый тип оценки).) с уважением к слову и категории.Затем я разбил бы твит на график и затем добавил бы значения z в каждой категории.Категория с наибольшим общим значением z, скорее всего, является правильной категорией.Я знаю, что это сбивает с толку, поэтому позвольте мне привести пример:
Слово «часы» часто встречается в спорте и развлечениях («Я смотрю игру» и «Я смотрю мое любимое шоу»)... Поэтому я сузил это до этих двух категорий по крайней мере.Но слово «игра» не часто встречается в развлечениях, а шоу не часто встречается в спорте.значение Z для 'watch' + 'game' будет самым высоким для спортивной категории, а 'watch' + 'show' будет самым высоким для развлечений.
Теперь, когда вы понимаете, как работает моя идея, мне нужна помощьорганизация этих данных так, чтобы алгоритм машинного обучения мог предсказать категории, когда я даю ему слово или набор слов.Я много читал о SVM, и я думаю, что они путь.Я попробовал libsvm, но не могу найти хороший набор входных данных.Кроме того, libsvm не поддерживает нечисловые значения, что добавляет сложности.
Есть идеи?Мне даже нужна библиотека, или я должен просто сам кодировать процесс принятия решений?
Спасибо всем, я знаю, это было долго, извините.