天天看点

基于朴素贝叶斯的垃圾邮件过滤

1.文本切分 

#对于一个文本字符串,可以使用Python的string.split()方法将其切分
mySent = 'This book is the best book on python or M.L. I have ever laid eyes upon'
words = mySent.split(' ')
#Python中有一些内嵌的方法,可以将字符串全部转换成小写(.lower())或者大写(.upper())
[a.lower() for a in words]
>>['this','book','is','the','best','book','on','python','or','m.l.','i','have','ever','laid','eyes','upon']

#上面标点符号也被当成了词的一部分。可以使用正则表达式来切分句子,其中分隔符是除单词、数字外的任意字符串
import re
words = re.split(r'\W*',mySent)
[a.lower() for a in words if len(a)>0 ]#只返回长度大于0的字符串
>>['this','book','is','the','best','book','on','python','or','m','l','i','have','ever','laid','
           

继续阅读