我正在将 Twitter 消息手动标记为正面、负面、中立。我试图理解是否有一些逻辑可以用来识别训练集的信息应该是正面/负面和中性的比例是多少?

所以对于例如如果我正在训练一个包含 1000 条推特消息的朴素贝叶斯分类器,那么 pos : neg :中性的比例应该是 33 % : 33% : 33% 还是应该是 25 % : 25 % : 50 %

从逻辑上讲,在我的脑海中,我似乎训练(即为中性提供更多样本)系统会更好地识别中性句子然后它们是肯定的还是否定的 - 这是真的吗?或者我在这里遗漏了一些理论?

谢谢
拉胡尔

最佳答案

您所指的问题称为不平衡问题。许多机器学习算法在面对不平衡的训练数据时表现不佳,即当一个类的实例数量远远超过另一类的实例时。阅读 this article 以全面了解问题以及如何解决它。对于像朴素贝叶斯或决策树这样的技术,以某种方式平衡数据总是一个好主意,例如通过随机过采样(在引用论文中解释)。我不同意 mjv 的建议,即让训练集与现实世界中的比例相匹配。这在某些情况下可能是合适的,但我非常有信心它不在您的环境中。对于您描述的分类问题,类集的大小差异越大,大多数 ML 算法在正确区分类时遇到的问题就越多。但是,您始终可以通过将其作为后备来使用有关现实中哪个类最大的信息,这样当分类器对特定实例的置信度较低或该实例根本无法分类时,您将为其分配最大的类(class)。

进一步的评论:在 Twitter 消息中找到积极/消极/中立在我看来似乎是一个程度的问题。因此,它可能被视为回归问题而不是分类问题,即您可能想要计算一个分数,而不是三类方案,以告诉您消息的正面/负面程度。

关于nlp - 训练集 - pos/neg/中性句子的比例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2058790/

10-13 06:32