Deep learning 使用最近邻预测fasttext的文本分类

Deep learning 使用最近邻预测fasttext的文本分类,deep-learning,text-classification,fasttext,Deep Learning,Text Classification,Fasttext,我可能误解了fasttext/deep learning对分类的作用,我想考虑最近邻来预测标签。我工作的目的是预测同义词的标签 我使用fasttext训练一个大数据集: fasttext supervised -input data/spam_status.txt -output models/sem -lr 1.0 -wordNgrams 1 -epoch 25 其中spam_status.txt使用regexp标记包含单词“skype”的邮件: 还有很多其他的信息,有其他的标签,如果什么都

我可能误解了fasttext/deep learning对分类的作用,我想考虑最近邻来预测标签。我工作的目的是预测同义词的标签

我使用fasttext训练一个大数据集:

fasttext supervised -input data/spam_status.txt -output models/sem -lr 1.0 -wordNgrams 1 -epoch 25
其中spam_status.txt使用regexp标记包含单词“skype”的邮件:

还有很多其他的信息,有其他的标签,如果什么都没有找到,就说“ok”

“skype”的近邻是(使用
fasttext nn模型/sem.bin
):

  • 电子邮件
  • 毒蛇
  • 电子邮件
  • skp
这很好,fasttext给了我很好的相似词。但如果我问一个预测:

fasttext predict-prob ./models/sem.bin -                                                                                          
donne moi ton skype
__label__skype 1.00001
donne moi ton viber
__label__ok 1.00001
donne moi ton emaill
__label__ok 1.00001

为什么在这里不考虑NN?

因为您用示例训练了模型,其中只有带有“skype”一词的消息才有标签skype。因此,带有“email”和“Viber”等字样的邮件被标记为“ok”

你的第一个通行证告诉你应该重新贴标签。使用正则表达式标记数据总是会导致这样的问题。现在,您至少可以将任何带有“email”或“Viber”的邮件重新标记为“\uuuu label\uuuu skype”,以便它了解该模式。然而,它可能不会比仅仅使用正则表达式作为分类器更好,因为模型将了解其中的模式:如果它有此短列表中的一个单词,请将其标记为“Skype”,否则将其标记为“ok”


您可以在几个小时内手动标记数据,而不是使用正则表达式,从而获得更好的结果

所以,神经网络在预测中从来没有被考虑过?我不知道它看的是什么特征,但是当有这样一个简单的模式时,它只会看那个是有意义的
fasttext predict-prob ./models/sem.bin -                                                                                          
donne moi ton skype
__label__skype 1.00001
donne moi ton viber
__label__ok 1.00001
donne moi ton emaill
__label__ok 1.00001