本文演示使用NLTK让计算机学习如何通过名字识别性别。
1、导入NLTK:
import nltk
from nltk.book import *
2、定义学习方法
def gender_features(word):
return {'last_letter':word[-1]}
3、导入学习的姓名-性别名单:
from nltk.corpus import names
import random
names=([(name,'male') for name in names.words('male.txt')] + [(name,'female') for name in names.words('female.txt')])
random.shuffle(names)
4、开始学习
f = [(gender_features(n),g) for (n,g) in names]
trainset,testset = f[500:],f[:500]
c = nltk.NaiveBayesClassifier.train(trainset)
5、测试:
c.classify(gender_features('Neo'))
c.classify(gender_features('Trinity'))
作者:黄聪
出处:http://www.cnblogs.com/huangcong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/huangcong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。