Exemple #1
0
#!/usr/bin/env python3.5
# encoding: utf-8

"""
    gender_predictor.py
"""
import os
import pickle
from nltk import NaiveBayesClassifier
from lib import USSSALoader
import random
from lib.logger import Logger
from lib.config import naive_bayes_train_pickle as nb_file, features_pickle_file

log = Logger.defaults('Name Classifier')


class GenderPredictor(object):
    
    @staticmethod
    def _load_names():
        return USSSALoader.get_name_list()
    
    @staticmethod
    def _name_features(name):
        name = name.upper()
        return {
            'last_letter': name[-1],
            'last_two': name[-2:],
            'last_three': name[-3:],
            'last_is_vowel': (name[-1] in 'AEIOUY')