黄聪:Python+NLTK自然语言处理学习(三):计算机自动学习机制

本文演示使用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'))

原文地址:https://www.cnblogs.com/huangcong/p/2158447.html