我正在使用Python包词,bow.py
(https://github.com/dmiro/bagofwords/blob/master/bow.py)。
基本上我正在运行命令:
dc = bow.DefaultDocument()
dc.read_text("paragraph string here")
我得到以下追踪:
Traceback (most recent call last):
File "bag_of_words.py", line 93, in <module>
if __name__ == "__main__": main()
File "bag_of_words.py", line 27, in main
bag_of_words_classifier_test("item", "category_1", "category_2")
File "bag_of_words.py", line 73, in bag_of_words_classifier_test
dc.read_text("paragraph string here")
File "C:\Users\User Name\Anaconda3\lib\site-packages\bow.py", line 339, in read_text
self._read(None, text)
File "C:\Users\User Name\Anaconda3\lib\site-packages\bow.py", line 326, in _read
words = self.tokenizer(text)
File "C:\Users\User Name\Anaconda3\lib\site-packages\bow.py", line 306, in tokenizer
words = self.after_tokenizer(WordFilters, words)
File "C:\Users\User Name\Anaconda3\lib\site-packages\bow.py", line 517, in after_tokenizer
words = wordfilters.stemming(self.lang, self.stemming, words)
File "C:\Users\User Name\Anaconda3\lib\site-packages\bow.py", line 250, in stemming
import Stemmer as stemmer
ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.
我认为这可能是PyStemmer的一个问题,所以我尝试强制pip3重新安装/升级但是得到了同样的错误。有什么想法吗?
答案 0 :(得分:0)
好的,所以这并没有真正解决问题,但这是一个解决方法:
如果您打开bow.py
,可以将第250行替换为import snowballstemmer as stemmer
(而不是import Stemmer as stemmer
),然后将第252行替换为stemmer = stemmer.stemmer(lang)
(而不是stemmer = stemmer.Stemmer(lang)
)。等效方法只需要从大写更改为小写。