目录
什么是停用词?
在处理自然语言之前通常被过滤掉的单词称为停用词。这些词实际上是任何语言中最常见的词(如冠词、介词、代词、连词等),不会给文本增加太多信息。英语中几个停用词的例子是"the","a","an","so","what"。
为什么要删除停用词?
停用词在任何人类语言中都是大量存在的。通过删除这些词,我们从文本中删除了底层信息,以便更加关注重要的信息。我们可以说,删除这些词语并不会对我们的任务训练产生任何负面影响。
删除停用词肯定会减少数据集的大小,从而减少训练时间,因为训练中涉及的标识数量较少。
我们总是删除停用词吗?他们总是对我们没用吗?
答案是否定的!
我们并不能总是删除停用词。停用词的删除在很大程度上取决于我们正在执行的任务和我们想要实现的目标。例如,如果我们正在训练一个可以执行情绪分析任务的模型,我们可能不会删除停用词
。
影评:"The movie was not good at all."
删除停用词后,剩下的文字:"movie good"
我们可以清楚地看到这部电影的评论是负面的。然而,在去掉停用词之后,评论变得积极起来,这不是现实。因此,删除停用词在这里可能是有问题的。
像文本分类这样的任务通常不需要停用词,因为数据集中存在的其他词更重要,并且给出了文本的一般概念。因此,我们通常会删除这些任务中的停用词。
简单地说,NLP有很多任务在去掉停用词后无法正常完成。因此,在执行此步骤之前,请先考虑一下。这里的问题是,没有一条规则是通用的,也没有一个停用词列表是通用的。
注意事项:在删除停用词之前,先研究一下你的任务和你要解决的问题,然后再做决定。
有哪些不同的库可以删除停用词?
自然语言处理是当今研究最多的领域之一,在这一领域有了许多革命性的发展。NLP依赖于先进的计算技术,世界各地的开发人员已经创造了许多不同的工具来处理人类语言。
在这么多的库中,有一些非常流行,并且在执行许多不同的NLP任务时有很大帮助。