#!/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')