我有一个“简单”的问题:我有文本段落,根据这些文本应该决定它是属于“类别A”还是“类别B”。
作为训练数据,我有已经分类的文本段落,算法可以用这些数据进行训练。
文本段落看起来像这样:
类别A
一辆蓝色的车在行驶
或者
蓝色的公交车停了下来
或者
蓝色的自行车在行驶
类别B
一辆红色的自行车在行驶
或者
红色的公交车停了下来
(文本段落包含最多20个单词,且变化很大)
如果我用这些示例数据训练了算法,当文本包含“蓝色”时,它应该判定为类别A,包含“红色”时判定为类别B,依此类推。
算法应该基于训练数据学习,如果某个单词的频率更可能属于类别A还是类别B。
实现这一点的最佳方法是什么?我应该使用哪种工具?
回答:
你可以尝试使用Fisher方法,该方法计算文档中每个特征词(如红色、蓝色)对正类(A)和负类(B)的概率。假设每个类别中的项目数量相等,得到包含指定词(红色、蓝色)的句子属于指定类别(A、B)的概率。然后得到一个综合概率。
由于特征不是独立的,这不会是真正的概率,但它类似于贝叶斯分类器。Fisher方法返回的值是对概率的更好估计,这在报告结果或决定截止点时非常有用。