我正在清理一些文本数据,并且有一个函数可以清理任何非英语/jibberish单词。它做得很好,但是,有几个词是产品名称,没有被识别为真实的词,所以它们被删除。我正试图想出一种方法,在课文中保留某些单词
以下是我目前掌握的代码:
def clean_non_eng(text):
words = set(nltk.corpus.words.words())
text = " ".join(w for w in nltk.wordpunct_tokenize(text) if w.lower() in words or not
w.isalpha())
return text
我想的是有一个包含要保留的单词的列表,并将其合并到我的函数中以避免删除它们
words_to_keep = ('wordtokeep1', 'wordtokeep2', 'wordtokeep3')
有没有一种方法可以让我把另一个“或”语句,比如“或不在字里行间”?我尝试过几种不同的方法,但迄今为止都没有成功
到现在为止,如果我调用这个函数,它会像这样
clean_non_eng('您好,这是对wordtokeep'的测试)
它将返回:“你好,这是一个测试”
您不应该使用
or w not in words_to_keep
,而应该使用or w in words_to_keep
。我认为这应该解决你的问题
相关问题 更多 >
编程相关推荐