我有大約6米的文檔,其中每個文檔都有相當大的停用詞集以從每個文檔中刪除。用Python刪除停用詞 - 快速有效
我學到的技巧是通過使用re編譯模式來刪除這些技巧。但是現在我得到一個OverflowError。
我處理我的禁用詞如下:
states_string =r'\b(' + '|'.join(states) + r')\b'
states_pattern = re.compile(states_string)
states
顯然是字符串,如[ 'NY', 'CA',...] <的列表 - 不能粘貼這些都歸結爲將遠遠超過一個職位的限制!
我得到的錯誤是:OverflowError: regular expression code size limit exceeded
。
顯然我的字符串然後編譯模式太長了。
有沒有人有任何建議,如何處理這個,或另一種方法。
我知道的一個是:[word for word in words if not word in stopwords]
但這遍歷每個單詞,所以不理想。
請注意,禁用詞的長度爲2500
你能提供一個簡單的例子嗎? –
我可以提供一個狀態的例子,但沒有足夠長的時間來顯示我正在使用的停用詞的數量。嘗試在這裏:http://stackoverflow.com/questions/1998261/pythons-regular-expression-source-string-length創建此錯誤的方式。將所有停用詞放在一起將會太長! – redrubia
檔案有多大? – dawg