即使在将停用词添加到english.txt文件后,为什么停用词不会更新?

问题描述:

我在Python中使用stop_words包。目录路径usr/local/lib/python2.7/dist-packages/stop_words/stop-words中的english.txt文件中的停用词的原始数目为174,并且我添加了几个,列表变为218即使在将停用词添加到english.txt文件后,为什么停用词不会更新?

我用下面的命令来获得停止词

from stop_words import get_stop_words 

en_stop = get_stop_words('en') 

len(en_stop)仍显示174。请你能告诉我如何使这些变化反映出来吗?

+4

不确定,但你不应该像这样修改系统文件。在升级过程中它们将被覆盖。相反,使用'get_stop_words'从原始包中获取股票列表,然后添加自己的股票列表。 – Thomas

+0

@Thomas我有很多停止词被添加,并且我希望它们被永久封为停用词。该清单没有像'though'和'though'这样的非常常见的词语。 – BlackSwan

您不应将停用词添加到文件。要添加停用词,您应该创建要添加的词的列表,然后使用的union功能创建新列表。

en_stop = set(get_stop_words('en')) 
new_stop = {'newstopword'} 
en_stop = en_stop.union(new_stop) 
+1

之后扩展列表谢谢!它有助于。 – BlackSwan

要在stop_words模块中包含单词,请首先使用命令'python -v'找到这些模块所在的位置。 它会显示位置,如'/usr/local/lib/python2.7/site-packages/stop_words-2015.2.23.1-py2.7.egg/stop_words/stop-words',在这些目录中有许多文件,包括英文.txt等。在english.txt中添加一些你想输入的单词,然后导入模块。 get_stop_words的长度已更改。

+1

谢谢,但如果你阅读我的问题的身体,你可能会发现我已经完成了你发布的内容。没有'stop_words-2015.2.23.1-py2.7.egg'这样的目录,但只有'stop_words'和'stop_words-2015.2.23.1-py2.7.egg-info'。 – BlackSwan

+0

命令的输出是什么: - 'python -v'然后键入'from stop_words import get_stop_words' –

+0

在推荐用户直接修改库时应该小心,这根本不是一个好习惯。 OP可以复制模块并自己创建,或者在Python代码 –