在使用Spacy、Bert或其他先进的NLP模型获取文本向量嵌入时,停用词去除、词干提取和词形还原是否必要进行文本分类?
text = "婚礼上提供的食物非常美味"
1.由于Spacy、Bert是在大量原始数据集上进行训练的,因此在使用bert/spacy进行文本分类任务之前,应用停用词去除、词干提取和词形还原对这些文本有什么好处吗?
2.我可以理解,在使用countvectorizer、tfidf vectorizer获取句子嵌入时,停用词去除、词干提取和词形还原是有益的。
在使用Spacy、Bert或其他先进的NLP模型获取文本向量嵌入时,停用词去除、词干提取和词形还原是否必要进行文本分类?
text = "婚礼上提供的食物非常美味"
1.由于Spacy、Bert是在大量原始数据集上进行训练的,因此在使用bert/spacy进行文本分类任务之前,应用停用词去除、词干提取和词形还原对这些文本有什么好处吗?
2.我可以理解,在使用countvectorizer、tfidf vectorizer获取句子嵌入时,停用词去除、词干提取和词形还原是有益的。
您可以尝试使用词干提取、词形还原和停用词移除来测试是否有帮助。但并不总是有效。如果要绘制图表,我通常会这样做,因为停用词会混淆结果。
不使用停用词的理由 使用停用词可以为用户意图提供上下文信息,因此在使用像BERT这样的上下文模型时保留所有停用词可以提供足够的上下文信息,例如否定词(not、nor、never)等被认为是停用词。
根据https://arxiv.org/pdf/1904.07531.pdf
"令人惊讶的是,停用词得到了与非停用词同样多的关注,但移除它们对MRR性能没有影响。"
使用BERT时,您不需要处理文本,否则就会失去上下文(词干提取、词形还原)或直接改变文本(停用词删除)。
一些更基础的模型(基于规则或词袋法)可能会从某些处理中受益,但必须非常小心地处理停用词:许多改变整个句子含义的词是停用词(不、没有、从不、除非)。
如果我们需要新的信息(上下文感知),例如文本摘要、机器/语言翻译、语言建模和问答等,不要删除SW。
如果我们只需要句子的一般意思,例如情感分析、语言/文本分类、垃圾邮件过滤、字幕生成、自动标签生成、主题/文档等,可以删除SW。
这并非必须的。去除停用词有时有帮助,有时没有。你应该尝试两种方法。