当前位置:  开发笔记 > 编程语言 > 正文

有没有人知道有一个好的图书馆可以将一个人的名字映射到他或她的性别?

如何解决《有没有人知道有一个好的图书馆可以将一个人的名字映射到他或她的性别?》经验,为你挑选了6个好方法。

我正在寻找一个图书馆或数据库,可以根据他或她的名字或昵称猜测一个人是男性还是女性.就像是

john => "M",
mary => "F",
alex => "A", #ambiguous

我正在寻找支持英文名称以外的名字的东西(如日语,印度语等).

在我得到另一个答案之前,"你将通过假设他们的性别/性别冒犯别人"让我清楚,我的申请不会与任何人互动.无论如何,它不会发送电子邮件或联系任何人.没有用户要问.在许多情况下,有关人员已经死亡,我所拥有的唯一信息是姓名,出生日期和死亡日期.我想知道个人性别的原因是为了使输出的语法更好,并有助于可能的后期搜索.



1> Ludwig Weinz..:

gender.c是一个开源的 C程序,做得很好.它附带了来自世界各地44568名的数据.有很好的文档和文件格式的描述(基本上是纯文本)所以不应该很难从你自己的应用程序中读取它.

这是作者所说的:

关于数据质量的几句话

名字词典已经非常谨慎地准备好了.例如,这本词典中的土耳其语,印度语和韩语名称都由几位母语人士独立分类.我还特别注意列出目前可以找到的那些名字.

这个教训呢?

任何修改都应该非常谨慎(并且它们还必须遵循搜索算法所需的排序).例如,知道"Sascha"在德国是男孩的名字,作者从未认为英语"Sasha"是女孩的名字.知道"Jan"在德国是男孩的名字,我从未认为它也是"珍妮特"的英文简称.另一个例子是"Esra"这个名字.这是德国男孩的名字,但土耳其女孩的名字.

该程序计算名称为女性男性的概率.它可以单独使用名称作为输入,也可以使用名称和原产国,这样可以获得更好的结果.

您可以从德国计算机杂志c't 40 000 Namen的网站下载 .这篇文章是德文但不用担心,所有文档都是英文的.如果您对该文章不感兴趣,可以使用直接ftp链接0717-182.zip.zip-File包含源代码,Windows可执行文件,数据库和文档.



2> Ayman Hourie..:

名称的性别是在一般情况下无法以编程方式推断的.您需要一个名称数据库.这是美国人口普查局的免费名称数据库.

编辑:2010年名称的链接已经死亡,但评论中有工作链接和库.


这里的名字 - >来自人口普查数据的性别如python dict:https://raw.github.com/Bemmu/gender-from-name/master/gender.py
原始链接已经死亡,但人口普查仍然保持清单.特定于20世纪90年代的版本(我不知道为什么)在这里:http://www.census.gov/genealogy/www/data/1990surnames/names_files.html
这很棒.似乎是提问者需要的东西.根据男性的频率与女性的频率,模糊的名字可以具有"猜测"的性别.
按出生年份划分的性别为22MB的美国婴儿名字:http://www.ssa.gov/oact/babynames/limits.html(链接有效期至2015年7月)

3> Shog9..:

"我告诉你,一个名叫'苏'的男孩的生活并不容易."

......那么,为什么要更难?如果你需要知道性别,只要问......否则,不要担心.


@Chas:即使你设法在80%的时间内正确使用它,这仍然会激怒使用你的软件的每十个人中的两个.不太好......我明白了这个动机,但是你最好还是重新写一下你的信息,这样他们才能保持性别中立.
我女朋友的名字叫凯文.她得到了足够的人从她的名字错误地猜测她的性别,她不需要电脑也这样做.需要注意的是创建一个数据库条目,根据计算机的猜测来说明某人的性别; 那些看待它的人可能会认为它是由人自己提供的,并且当他们的假设变得错误时会变得非常困惑(而不是仅基于名称而有些混淆).
重新阅读这篇文章,我会发布可怕的讲道...不要贬低你的想法,我认为这是一个有趣的...但也非常危险.我曾经是一个电话推销员,无论你知道多少名字,无论你多么善于识别声音,你有时候总会猜错...而且它永远不会有趣.所以,这是我应该避免的,除非有一个巨大的,巨大的回报,以设法猜测*正确*.
我会采取Shog9的建议.除非您的应用程序使用英语以外的语言,否则使用性别中性代词可能更容易 - 例如,他们,一个,他/她等.
我想知道是否还有其他人记得SNL的"Pat".
我正在实施它以选择IVR的声音作为用户的异性.如果你猜错了,谁在乎,但如果你猜对了,你就可以提高保留率并降低直播代理的通话量.

4> Stromgren..:

我已经构建了一个免费的API,根据名字对性别进行概率性猜测.我没有使用任何上述方法,而是使用来自社交网络的大量配置文件数据集来提供概率猜测和确定性因子.它还支持通过国家/地区或语言ID进行的可选过滤.随着更多配置文件添加到数据集中,它日渐好转.

它可以在http://genderize.io上免费使用

您应该考虑的件事是使用一种将人口统计学考虑在内的工具,因为命名约定将严重依赖于此.

http://api.genderize.io?name=kim
{"name":"kim","gender":"female","probability":"0.89","count":1440}

http://api.genderize.io?name=kim&country_id=dk
{"name":"kim","gender":"male","probability":"0.95","count":44,"country_id":"dk"}


代码扩展 - http://genderize.io/#extensions

5> richardtalle..:

以下是两种奇怪的方法,甚至可能不起作用,并且可能在不违反许可条款的情况下不会集体使用:

    使用Facebook API(我几乎不知道,甚至可能不知道)执行两次搜索:一个用于具有该名字的FB男性用户,一个用于女性.使用这两个数字来确定性别概率.

    更宽松但更具可扩展性,使用Google API并搜索名称和性别特定代词,并比较数字.例如,搜索"理查德他的"(不是短语)有592,000,000个结果,但"理查德她"只有179,000,000个.


我发现谷歌是沙文主义者:男性比女性更有结果,因为谷歌有更多男性.Facebook API可能更具代表性.

6> bignose..:

鉴于你所陈述的限制,你最好的选择是重新表达你所写的任何不分性别的内容,除非你知道他们想要在每个实例中调用什么性别.

如果用英语写作,请记住,单数"他们"在语法上可以作为性别中立的第三人称单数代词.

一个很好的例子就是这个问题的标题.目前:

    … mapping a person's name to his or her sex?

如果写的话,那就不那么尴尬了:

    … mapping a person's name to their sex?

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有