从名字中找出性别。
gender-guesser的Python项目详细描述
这个包使用jorg michael(描述了here)的程序“gender”中的底层数据。它的使用非常简单:
>>> 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 androgynous andy
结果将是unknown(找不到名称)、andy(雌雄同体)、male、female、mostly_male或mostly_female之一。andy和unknown的区别在于前者被发现具有与女性相同的男性概率,而后者则意味着在数据库中找不到该名称。
i18n完全受支持:
>>> print(d.get_gender(u"\xc1lfr\xfan")) # u"Álfrún" female
此外,您还可以优先选择特定的国家:
>>> print(d.get_gender(u"Jamie")) mostly_female >>> print(d.get_gender(u"Jamie", u'great_britain')) mostly_male
此外,还可以创建不区分大小写的检测器(默认情况下,是区分大小写):
>>> d = gender.Detector(case_sensitive=False) >>> print(d.get_gender(u"sally")) female >>> print(d.get_gender(u"Sally")) female
尽量避免创建多个检测器,因为每次创建都意味着读取数据文件。
许可证
生成器代码在gplv3下分发。数据文件nam_dict.txt是在GNU自由文档许可下发布的。
更改日志
0.3.0(2016-07-02)
- 删除unknown_valueinit选项,因为如果需要的话,可以很容易地用包装器实现它。
- 找不到名称时返回unknown,对男性和女性都同等有效时返回andy。
- 作为doctests测试自述示例。
- 修正了在数据文件转换为utf-8后,由于行长度更改而导致的非iso886-15名称的国家性别检测错误。见GH2。谢谢@miquelcamprodon。
学分
这是由Ferhat Elmas生成的SexMachine包的叉。它的创建是为了能够将python 3兼容版本发布到pypi,并且能够在不影响原始作者的情况下添加更多的改进。