从名称中查找性别

Ram*_*esh 7 language-agnostic

我最近遇到了一个奇怪但有趣的问题.问题如下:需要编写一个程序,可以根据名称将性别作为输出.示例:INPUT - > John Michael Britney OUTPUT - >男性男性女性

所以这是我期望的输出.我尝试了很多东西来解决,但我真的无法破解它.我将非常感谢这个网站让我有机会分享这个问题.

实际上这在编程竞赛中被问为传单问题,所以我认为这可以编程.

Ale*_*lli 9

你不能在算法上做到这一点:你需要一个数据库来统计这样做. 这个问题指向许多这样的可用资源.要意识到你会有很多,很多错误的猜测 - 韩国人的金(男性)或北欧人(女性)可能会对这种事情感到非常恼火,例如;-).

  • +1 - 试图从他们的名字中猜出某人的性别是一个坏主意,因为如果你弄错了,它可能会导致犯罪. (2认同)

Str*_*ren 6

我一直在用时间来解决这个问题.我的第一种方法是使用已批准名称的清单,我们在丹麦的那些名单来自我,但我很快意识到只有少数几个国家.除此之外,我得到的反馈是概率性猜测功能更强大,而且应该能够过滤国家或语言ID.然后,我使用来自社交网络的用户数据集进行重建,而实际上效果非常好.

你可以在http://genderize.io上查看

简单的例子:

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"}
Run Code Online (Sandbox Code Playgroud)


cbp*_*cbp 1

我以前曾经这样做过——它很简单,并且当应用于正确的场景时 90% 的情况下都能很好地工作。

您需要从某处获取姓名和通常性别的数据库。这样搜索数据库就很简单了。

有些名字(例如安迪)通常与任一性别相关。因此,您至少需要三个性别值 - 男性/女性/未知。