我正在尝试进行文字分类任务,其中我有大约500个餐厅评论的培训数据,这些评论分为12个类别。我花了比实验TF.IDF和余弦相似性更长的时间用于测试数据的分类,只是为了获得一些非常差的结果(0.4F测量)。现在时间不在我身边,我需要实现一些效率更高,没有陡峭学习曲线的东西。我正在考虑将TF.IDF值与Naive Bayes结合使用。这听起来合情合理吗?我知道如果我能以正确的格式获取数据,我可以用Scikit学习。你还有什么建议我考虑一下吗?
谢谢。
答案 0 :(得分:1)
您应该尝试使用fasttext:https://pypi.python.org/pypi/fasttext。它可用于对文本进行分类:
(如果不是英语,请不要忘记下载预先训练的模型https://s3-us-west-1.amazonaws.com/fasttext-vectors/wiki.en.zip
import fasttext
model = fasttext.load_model('wiki.en.bin') # the name of the pretrained model
classifier = fasttext.supervised('train.txt', 'model', label_prefix='__label__')
result = classifier.test('test.txt')
print ('P@1:', result.precision)
print ('R@1:', result.recall)
print ('Number of examples:', result.nexamples)
训练和测试集中的每一行都应该是这样的:
__ label__classname您的餐厅评论blah blah blah