【发布时间】:2019-12-13 01:25:16
【问题描述】:
我正在尝试在 TfidfVectorizer 中删除法语和英语中的停用词。到目前为止,我只设法从英语中删除了停用词。当我尝试为 stop_words 输入法语时,我收到一条错误消息,指出它不是内置的。
事实上,我收到以下错误信息:
ValueError: not a built-in stop list: french
我有一个包含 700 行法文和英文混合文本的文本文档。
我正在使用 Python 对这 700 行进行聚类项目。但是,我的集群出现了一个问题:我的集群中充满了法语停用词,这会破坏集群的效率。
我的问题如下:
有什么方法可以添加法语停用词或手动更新内置的英语停用词列表,以便我可以摆脱这些不必要的单词?
这是包含我的停用词代码的 TfidfVectorizer 代码:
tfidf_vectorizer = TfidfVectorizer(max_df=0.8, max_features=200000,
min_df=0.2, stop_words='english',
use_idf=True, tokenizer=tokenize_and_stem,
ngram_range=(1,3))
删除这些法语停用词后,我可以拥有代表文档中重复出现的单词的集群。
对于这个问题的相关性有任何疑问,上周我问了一个类似的问题。但是,它并不相似,因为它不使用 TfidfVectorizer。
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
这可能不相关,但以防万一,可能存在 unicode/utf8 字符,具体取决于您用于 stop_words 数组的列表/文件,您可能需要更改它们以避免警告。方法如下:stackoverflow.com/questions/25443802/…
标签: python nltk stop-words tfidfvectorizer