使用 Spacy、Bert 时是不是需要对文本分类进行停用词去除、词干/词形还原?
Posted
技术标签:
【中文标题】使用 Spacy、Bert 时是不是需要对文本分类进行停用词去除、词干/词形还原?【英文标题】:Is it necessary to do stopwords removal ,Stemming/Lemmatization for text classification while using Spacy,Bert?使用 Spacy、Bert 时是否需要对文本分类进行停用词去除、词干/词形还原? 【发布时间】:2020-12-17 08:57:11 【问题描述】:在使用 Spacy、Bert 或其他高级 NLP 模型获取文本的向量嵌入时,是否需要去除停用词、词干和词形还原?
text="婚礼上的食物非常好吃"
1. 由于 Spacy,Bert 是在庞大的原始数据集上进行训练的,在使用 bert/spacy 进行文本分类任务生成嵌入之前,对这些文本应用停用词去除、词干和词形还原有什么好处吗?
2.当我们使用countvectorizer,tfidf vectorizer来获得句子的嵌入时,我可以理解停用词去除,词干和词形还原会很好。
【问题讨论】:
您可以测试看看是否进行词干化和停用词删除有帮助。并非总是如此。如果我要绘制图表,我通常会这样做,因为停用词会使结果变得混乱。 【参考方案1】:您可以进行测试,看看是否进行词干化和停用词删除有帮助。并非总是如此。如果我要绘制图表,我通常会这样做,因为停用词会使结果变得混乱。
不使用停用词的案例 使用停用词将为用户的意图提供上下文,因此当您使用 BERT 之类的上下文模型时。在像 BERT 这样的模型中,所有停用词都被保留以提供足够的上下文信息,例如被认为是停用词的否定词(not、nor、never)。
根据https://arxiv.org/pdf/1904.07531.pdf
“令人惊讶的是,停用词与非停用词一样受到关注,但删除它们对 MRR 性能没有影响。”
【讨论】:
【参考方案2】:使用 BERT,您无需处理文本;否则,您会丢失上下文(词干、词形还原)或彻底更改文本(去除停用词)。
一些更基本的模型(基于规则或词袋)会从一些处理中受益,但您必须非常小心移除停用词:许多改变整个句子含义的词是停用词(不是,不,从不,除非)。
【讨论】:
【参考方案3】:这不是强制性的。删除停用词有时会有所帮助,有时则无济于事。你应该两个都试试。
【讨论】:
以上是关于使用 Spacy、Bert 时是不是需要对文本分类进行停用词去除、词干/词形还原?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Bert 转换器使用 [CLS] 令牌进行分类,而不是对所有令牌进行平均?