我想在给定的一组类别中对推文进行分类,例如 {'sports'、'entertainment'、'love'} 等...
我的想法是用最常用词的词频来帮助我解决这个问题。例如,“爱”这个词出现在爱情类别中的频率最高,但它也以“我喜欢这个游戏”和“我喜欢这部电影”的形式出现在体育和娱乐中。
为了解决这个问题,我设想了一个 3 轴图表,其中 x 值是我的推文中使用的所有单词,y 值是类别,z 值是术语频率(或某种类型的分数)词和类别。然后我会将推文分解到图表上,然后将每个类别中的 z 值相加。具有最高总 z 值的类别很可能是正确的类别。我知道这很令人困惑,所以让我举个例子:
“看”这个词在体育和娱乐中出现了很多(“我在看比赛”和“我在看我最喜欢的节目”)……因此,我至少将其缩小到这两个类别。但是“游戏”这个词在娱乐中并不经常出现,而在体育运动中也并不经常出现。'watch' + 'game' 的 Z 值将在体育类别中最高,而 'watch' + 'show' 将在娱乐类别中最高。
现在您了解了我的想法是如何运作的,我需要帮助组织这些数据,以便机器学习算法可以在我给它一个词或一组词时预测类别。我读过很多关于 SVM 的文章,我认为它们是正确的选择。我尝试了 libsvm,但我似乎无法想出一个好的输入集。此外,libsvm 不支持非数字值,这增加了复杂性。
有任何想法吗?我什至需要一个库,还是应该自己编写决策代码?
谢谢大家,我知道这很长,对不起。