我使用以下注册表从文本中删除停用词
pattern = re.compile(r'\b(' + r'|'.join(stopwords.words('english')) + r')\b\s*')
但是它也正在剥离空间。因此我在删除停用词之后回复了句子,其余单词之间没有空格。我怎样才能克服它?
答案 0 :(得分:0)
不确定这是否是您所获得的,但删除末尾的\ s *将停止匹配空格。你的\ b仍然会寻找单词边界,所以也许这就是你所需要的一切?
pattern = re.compile(r'\b(' + r'|'.join(stopwords.words('english')) + r')\b')
...但是你会有两个或多个空格的句子。也许你想要:
pattern = re.compile(r'\b(' + r'|'.join(stopwords.words('english')) + r')\b\s?')
另外,请注意其他评论者的警告:如果您的停用词列表中有空白或空白字符串,则可能会让您遇到麻烦。