stop_words如何使用
时间: 2023-05-19 22:02:24 浏览: 714
stop_words 是一个常用的文本处理工具,用于过滤掉文本中的停用词,例如 "的"、"是"、"在" 等等。在使用 stop_words 时,需要先将需要处理的文本进行分词,然后将分词结果与 stop_words 进行比对,将其中的停用词过滤掉。具体使用方法可以参考 Python 中的 nltk 库或者 jieba 库。
相关问题
stop_words是这样定义的stop_words=ENGLISH_STOP_WORDS
根据您提供的信息,如果您使用的是 scikit-learn 中的 TfidfVectorizer,那么 ENGLISH_STOP_WORDS 应该是一个预定义的常量,它是一个包含英语中常见无用单词的集合。如果您在定义 TfidfVectorizer 对象时传入了 stop_words=ENGLISH_STOP_WORDS 参数,那么您需要确认 ENGLISH_STOP_WORDS 的值是否正确,它应该是一个集合(set)类型的对象,其中包含了英语中常见无用单词的字符串。
如果 ENGLISH_STOP_WORDS 的值正确,但是依然出现了 InvalidParameterError 错误,那么您可以尝试将 stop_words 参数设置为 'english',或者将 ENGLISH_STOP_WORDS 转换成列表类型,然后传入 TfidfVectorizer 对象的 stop_words 参数中。例如:
```
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.feature_extraction.text import ENGLISH_STOP_WORDS
# 将 ENGLISH_STOP_WORDS 转换成列表类型
stop_words = list(ENGLISH_STOP_WORDS)
# 定义 TfidfVectorizer 对象
tfidfVec = TfidfVectorizer(stop_words=stop_words)
```
或者
```
from sklearn.feature_extraction.text import TfidfVectorizer
# 定义 TfidfVectorizer 对象
tfidfVec = TfidfVectorizer(stop_words='english')
```
请注意,这里的 stop_words 参数是在实例化 TfidfVectorizer 对象时传入的,而不是在调用 fit() 方法时传入的。
翻译代码def load_stopwords(file_path): stop_words = [] with open(file_path, encoding='UTF-8') as words: stop_words.extend([i.strip() for i in words.readlines()]) return stop_words def review_to_text(review): stop_words = load_stopwords(stopword_path) # 去除英文 review = re.sub("[^\u4e00-\u9fa5^a-z^A-Z]", '', review) review = jieba.cut(review) # 去掉停用词 if stop_words: all_stop_words = set(stop_words) words = [w for w in review if w not in all_stop_words] #print(words) return words
这段代码包含了两个函数:
1. load_stopwords(file_path):用于加载中文停用词表。具体实现步骤如下:
a. 通过传入文件路径,利用with open的方式读取文件内容。
b. 将每行的停用词添加到stop_words列表中。
c. 返回stop_words列表。
2. review_to_text(review):用于将评论文本转换为文本列表。具体实现步骤如下:
a. 调用load_stopwords函数,加载中文停用词表。
b. 使用正则表达式去除文本中的英文字符。
c. 使用jieba库进行中文分词。
d. 去除文本中的停用词。
e. 将处理后的文本列表作为函数返回值。
需要注意的是,这段代码使用了正则表达式去除了文本中的英文字符,只保留了中文字符。同时,在进行中文分词时,使用了jieba库。此外,对于停用词的处理,代码使用了Python中的列表推导式,将不在停用词表中的词语添加到words列表中。
阅读全文