Language agnostic 从名字中找出性别

Language agnostic 从名字中找出性别,language-agnostic,Language Agnostic,我最近遇到了一个奇怪但有趣的问题。问题如下: 需要写一个程序,可以给性别作为输出的基础上的名称。 示例:输入-->John 迈克尔 布兰妮 输出-->外螺纹 男性的 女性 这就是我期望的结果。我试图解决很多问题,但我真的没能解决。 我将非常感谢这个网站给我一个机会来分享这个问题 实际上,这是在编程竞赛中作为传单问题提出的,所以我认为这是可以编程的。我以前做过这件事——当应用到正确的场景中时,它很容易,90%的时间都能很好地工作 你需要从某处获得一个姓名和通常性别的数据库。然后搜索数据库就变得很简

我最近遇到了一个奇怪但有趣的问题。问题如下: 需要写一个程序,可以给性别作为输出的基础上的名称。 示例:输入-->John 迈克尔 布兰妮 输出-->外螺纹 男性的 女性

这就是我期望的结果。我试图解决很多问题,但我真的没能解决。 我将非常感谢这个网站给我一个机会来分享这个问题


实际上,这是在编程竞赛中作为传单问题提出的,所以我认为这是可以编程的。

我以前做过这件事——当应用到正确的场景中时,它很容易,90%的时间都能很好地工作

你需要从某处获得一个姓名和通常性别的数据库。然后搜索数据库就变得很简单了


有些名字(例如安迪)通常与性别有关。所以你至少需要三个性别值——男性/女性/未知。

你不能用算法来计算:你需要一个数据库来统计。指向许多这样的可用资源。你要意识到你会有很多很多错误的猜测——比如,韩国的金氏家族(男性)或北欧的金氏家族(女性)可能会对这种事情非常恼火;-)

查看WolframAlpha.com。他们有一个webservice API,但有点贵

不要放弃

我会采取统计方法。。。你需要得到一个巨大的名字数据库,实际上有性别信息。。。然后教你的程序从数据集中学习


问题是你需要第三个变量来关联。诸如原籍国、种族等因素会进一步缩小你的胜算。你真的需要第三条“线索”…

那么人机交互作为第三条线索呢

您可以有一个单击贴图,如

根据用户点击的位置,您可以确定男性与女性的合理统计数字。当数据库中存在未知项时,将使用此选项

以下是关于“性别与HCI”的维基百科:

“更大的显示器有助于降低成本 虚拟现实中的性别差距 环境。使用更小的显示器, 男性的表现好于男性 更大的显示器, 女性的表现有所改善 男性的表现并不消极 受影响的。”


因此,有一个小框和时间所需的时间点击它

我也一直在用时间解决这个问题。我的第一个方法是使用核准名单,我们有我来自丹麦的名单,但我很快意识到只有少数几个国家有。除此之外,我得到的反馈是,概率猜测功能更强,而且应该能够过滤国家或语言id。然后,我使用社交网络中的用户数据集进行了重建,实际上效果相当不错

你可以在

简单的例子:

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

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

统计方法非常有效,根据国家的不同,精确度为95%或99%+除了少数例外(中文姓名、韩国人姓名)

查看gendreapi


它自动识别名字背后的文化,并应用适当的词典(例如,安德里亚·罗西尼是男性,安德里亚·帕克是女性,等等)

通常以a、e、i、o、u结尾的名字是女性名字。与使用统计数据的API相比,它们可能不准确,但易于实现

你需要决定你想做什么。您可以自己创建一个完整的项目,也可以只使用一个现有的名称解析器。许多都可以免费使用,并具有如下高精度:


  • 如果你要设置自己的项目,你需要有一个包含所有名字和姓氏的列表。因为有很多国家需要做大量的工作,所以我建议您从上面选择一个。

    您在哪里找到这个问题的。你能参考一下这个网站吗?我的选择是将名字存储在数据库中,并与之匹配。现在的男人在不改变名字的情况下改变性别。所以这有点困难D类似于,但我认为覆盖世界上所有的名字是不可行的。从逻辑上讲,没有其他方法了。+1-试图从某人的名字中猜出他的性别是个坏主意,因为如果你弄错了,这很容易引起冒犯。周六夜生活过去有一个关于人们试图猜一个叫“帕特”的人的性别的速写。还有很多其他的名字可以用在任何一种性别上,比如“莱斯利”或“杰基”。是的,即使是统计上与性别有很好联系的名字,也总会有足够多的例外引起麻烦——杜恩斯伯里的女儿叫“亚历克斯”,我有一个亲爱的(男性)朋友,他的(爱尔兰)母亲叫“香农”,“安德里亚”在某些文化中(例如,德国)女性居多,但在意大利男性居多——等等。别忘了北欧男性。即使你不能百分之百地准确,它仍然可以用于其他事情,如分析,你不必完全正确。关于像Kim这样的名字,这在很大程度上依赖于人口统计,使用一个工具考虑到这一点:api.genderize.io?name=Kim和api.genderize.io?name=Kim&country_id=dk真的很有创意和开箱即用的思维!