我正在編寫一個代碼來清理url並提取底層文本。如何使用python nltk刪除展示無模式的亂碼?
train_str = train_df.to_string()
letters_only = re.sub("[^a-zA-Z]", " ", train_str)
words = letters_only.lower().split()
stops = set(stopwords.words("english"))
stops.update(['url','https','http','com'])
meaningful_words = [w for w in words if not w in stops]
long_words = [w for w in meaningful_words if len(w) > 3]
使用上面的代碼中,我能夠移除標點符號,停用詞等後只提取的話,但我無法刪除那些在自然界莫名其妙的話。這些是清理網址後我得到的許多單詞中的一部分。
['uact', 'ahukewim', 'asvpoahuhxbqkhdtibveqfggtmam', 'fchrisalbon','afqjcnhil', 'ukai', 'khnaantjejdfrhpeza']
在它們的出現或使用正則表達式或其他函數的字母中沒有特定的模式。任何人都可以提出這些詞可以刪除的任何方式嗎? 謝謝!
是如何構造的話。在你的例子中的字符串列表? – MattR
@MattR這些是['instant','espv','string','pandas','dataframe'],['dataframe','imported','html','afqjcnhil','ukai ','khnaantjejdfrhpeza']。對不起,我不明白這些詞的結構是什麼意思? – Josephine
你正在嘗試清理的詞語。它看起來像是一串字符串?你試圖通過它們循環並從這個列表中刪除「垃圾單詞」,是的? PS:我知道我可以解決這個問題..我必須下載整個NLTK包。同時請下載整個nltk軟件包,如果你還沒有'import nltk''nltk.download()' – MattR