如果我将自定义停用词列表传递给TfidfVectorizer
,那么停止词什么时候会被删除?根据{{3}}:
stop_words :
string
{'english'},list
或None
(默认)...
如果列表,该列表被假定包含停用词,所有这些 将从生成的令牌中删除。仅适用于
analyzer == 'word'
。
所以似乎该过程在标记化后发生,我是对的吗?出现疑问的原因是,如果标记化也涉及词干化,我认为存在错误地跳过(而不是删除)一个禁用词的风险,因为在词干之后,它不再被识别。
答案 0 :(得分:1)
所以看起来这个过程在标记化之后发生,我是对的吗?
你是对的。一旦获得了令牌并且将其转换为n-gram序列,就会应用stop_words
,请参阅feature_extraction/text.py
。标记器在预处理后立即接收文本,不涉及停止字。
默认的标记生成器不会对文本进行转换,但是如果你提供自己的执行词干分析器或类似的标记生成器,那么你也应该阻止停用词。或者,您可以在tokenizer函数内部进行过滤。