gender-guesser 0.4.0
Este paquete utiliza los datos subyacentes del programa «gender» de Jorg Michael (descrito aquí). Su uso es bastante sencillo:
>>> import gender_guesser.detector as gender>>> d = gender.Detector()>>> print(d.get_gender(u"Bob"))male>>> print(d.get_gender(u"Sally"))female>>> print(d.get_gender(u"Pauley")) # should be androgynousandy
El resultado será uno de los siguientes: desconocido (nombre no encontrado), andy (andrógino), masculino, femenino, mayormente_masculino o mayormente_femenino. La diferencia entre andy y desconocido es que el primero tiene la misma probabilidad de ser masculino que femenino, mientras que el segundo significa que el nombre no se encontró en la base de datos.
El I18N está totalmente soportado:
>>> print(d.get_gender(u"\xc1lfr\xfan")) # u"Álfrún"female
Además, se puede dar preferencia a países específicos:
>>> print(d.get_gender(u"Jamie"))mostly_female>>> print(d.get_gender(u"Jamie", u'great_britain'))mostly_male
Además, se puede crear un detector que no distinga entre mayúsculas y minúsculas (por defecto se distingue entre mayúsculas y minúsculas):
>>> d = gender.Detector(case_sensitive=False)>>> print(d.get_gender(u"sally"))female>>> print(d.get_gender(u"Sally"))female
Intenta evitar crear muchos Detectores, ya que cada creación supone leer el fichero de datos.
Licencias
El código del generador se distribuye bajo la GPLv3. El archivo de datos nam_dict.txt se distribuye bajo la Licencia de Documentación Libre de GNU.
Changelog
0.3.0 (2016-07-02)
- Suprimir la opción de init unknown_value, ya que se puede implementar muy fácilmente con un wrapper si es necesario.
- Devuelve unknown cuando no se encuentra el nombre y andy cuando es válido igualmente para hombre y mujer.
- Probar los ejemplos de README como doctests.
- Corregir la detección incorrecta del género por países para los nombres que no son de Iso886-15 y que proviene del cambio de longitud de línea tras la conversión del archivo de datos a UTF-8. Ver #gh2. Gracias @miquelcamprodon.
0.2.0 (2015-12-06)
- Wire en tox para probar tanto en Python 2 como en Python 3.
- Compatibilidad con Python 2 y 3.
- Remover el código obsoleto del mapeador de caracteres.
Para versiones anteriores, ver sexmachine.
Créditos
Este es un fork del paquete SexMachine de Ferhat Elmas. Fue creado para poder publicar una versión compatible con Python 3 en PyPI y poder añadir algunas mejoras más sin fastidiar al autor original.
Leave a Reply