从名字中找出性别。

gender-guesser的Python项目详细描述


https://travis-ci.org/lead-ratings/gender-guesser.svg?branch=master

这个包使用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(雌雄同体)、malefemalemostly_malemostly_female之一。andyunknown的区别在于前者被发现具有与女性相同的男性概率,而后者则意味着在数据库中找不到该名称。

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。

0.2.0(2015-12-06)

  • tox连接到python 2和python 3中进行测试。
  • python 2和3兼容。
  • 删除过时的字符映射器代码。

有关早期版本,请参见sexmachine

学分

这是由Ferhat Elmas生成的SexMachine包的叉。它的创建是为了能够将python 3兼容版本发布到pypi,并且能够在不影响原始作者的情况下添加更多的改进。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript问题:通过URL用网站数据填充Textview   java TabLayout Android,如何用几个标签填充整个屏幕宽度,并用大量标签滚动?   Eclipse Java运行的文件不再存在于我的工作区中   安装两个Java版本时,使用Java的windows链接不起作用   java将多个图形添加到单个JPanel   java Kafka ConsumerFactory,带有两个Desiarizer   使用反射更改java类超类   当一致性测试失败时,java有没有办法让堆栈跟踪显示在控制台中   java映射到基元类型的HashMap的快速替代方案是什么?   java关闭一个jframe所有剩余的打开jframe都将关闭。   java为什么不推荐“使用getString()获取设备标识符”?   java值比较和值赋值之间有什么性能差异吗?   Java实体数组到JavaScript数组   java使用流将一个列表转换为另一个列表   在JTree中保存对象,但更改显示的名称(java swing)?   java“Hello world”Android应用程序,文件尽可能少,没有IDE,只有文本编辑器   java在方法之间传递值   java如何为项目数组创建ParseQuery?