所有
我有一些文字需要清理,我有一些“大部分”工作的算法。
def removeStopwords(self, data):
with open(r'stopwords.txt') as stopwords:
wordList = []
for i in stopwords:
wordList.append(i.strip())
charList = list(data)
cat = ''.join(char for char in charList if not char in wordList).split()
return ' '.join(cat)
点击此页面的第一行。 http://en.wikipedia.org/wiki/Paragraph并删除我们不感兴趣的所有字符,在这种情况下,所有字符都是非字母数字字符。
段落(来自希腊语段落,“写在旁边”或“写在旁边”)是一个独立的文字话语单元,处理特定的观点或想法。一段由一个或多个句子组成。[1] [2]从新行开始表示段落的开头。有时第一行是缩进的。在不同的时间,一个段落的开头已经由pilcrow表示:¶。
输出看起来很不错,只是有些单词重新组合不正确,我不确定如何纠正它。
希腊文章中旁边或旁边写的段落是一个自包含单位
请注意,“selfcontained”这个词是“自包含的”。
编辑:停用词文件的内容,它只是一堆字符。
! $ % ^ , &安培; * ( ) { } [ ] <
, 。 / | \ ? 〜 ` : ; “
原来我根本不需要一个单词列表,因为我只是想删除在这种情况下是标点符号的字符。
cat = ''.join(data.translate(None, string.punctuation)).split()
print ' '.join(cat).lower()
答案 0 :(得分:2)
答案 1 :(得分:1)
将您的停用词/停用词加载到单独的功能中。
不要对文件名/路径进行硬编码。
你的wordList应该是set
,而不是列表。
但是,如果你正在处理字符而不是单词,请调查str.translate。
答案 2 :(得分:-2)
一种方法是使用替换方法,并提供您不想要的详尽字符列表。
例如:
c=['a','h']
a= 'john'
for item in c:
a =a.replace(item,'')
print a
打印以下内容: 约翰 乔恩