Existe um pacote em Python para remover as stopwords de textos em português. Eis como se usa:
# Stopwords em português: >>> import nltk >>> nltk.download('stopwords') >>> stopwords = nltk.corpus.stopwords.words('portuguese') >>> stopwords[:10] [u'de', u'a', u'o', u'que', u'e', u'do', u'da', u'em', u'um', u'para'] >>> len(stopwords) 203 >>> 'a' in stopwords True >>> 'xico' in stopwords False
Neste momento tem apenas 203 palavras, o que me parece muito pouco. Há uma lista destas palavras no github.
Para testar a pontuação, pode ser usado o código seguinte:
>>> import string >>> for c in string.punctuation: ... print("[" + c + "]") ... [!] ["] [#] [$] [%] [&] ['] [(] [)] [*] [+] [,] [-] [.] [/] [:] [;] [<] [=] [>] [?] [@] [[] [\] []] [^] [_] [`] [{] [|] [}] [~] >>> ',' in string.punctuation True >>> 'a' in string.punctuation False