我有一个英语词典,来自 /usr/share/dict/words
我有大量的句子,逐行。我正尝试通过与字典进行比较,以消除带有外来词和词汇词的这些怪异句子。
Master.txt
Thanks to Your Greatness (谢谢你的美好)
Himatnagar has a small Railway Station
Pu$haz Ink
有人可以帮忙吗?我尝试使用,diff
但是它只能在单词级别而不是句子级别进行比较
您需要分阶段进行。
首先,使用tr
(或者sed
-速度稍慢但更灵活,可以更精确地删除标点符号等),将句子文件分成单词:
tr " " "\n" < hugefile | sort | uniq | grep -v -F -f dictionary > blacklist.txt
为不区分大小写添加-i
选项grep
(请参阅Scott的评论)。
然后uniq
,您可以用来收集唯一的单词,并grep -v -F -f dictionary
获取不在词典中的所有单词。
拥有此“黑名单”后,您可以请求黑名单本身中不包含任何单词的所有行。同样,您可能要考虑是否使用大写/小写:
grep -v -F -f blacklist.txt > goodlines.txt
在Python中,您可以以更有效的方式遵循相同的方法:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句