从名称中查找性别

时间:2009-11-06 05:15:30

标签: language-agnostic

我最近遇到了一个奇怪但有趣的问题。问题如下: 需要编写一个程序,可以根据名称将性别作为输出。 示例:INPUT - >约翰                    迈克尔                    布兰妮          OUTPUT - >男                    男                    女

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

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

9 个答案:

答案 0 :(得分:9)

您无法通过算法进行操作:您需要一个数据库来统计执行此操作。 This SO question指向许多此类可用资源。要意识到你会遇到很多,很多错误 - 例如韩国人的金(男性)或北欧人(女性)可能会对这种事情感到非常恼火,例如; - )。

答案 1 :(得分: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"}

答案 2 :(得分:3)

不要放弃。

我会采用统计方法......您需要掌握一个实际上具有性别信息的大型名称数据库...然后教您的程序从该数据集中学习。

问题是你需要第三个变量进行相关。像原籍国,种族等等,将进一步缩小你的可能性。你真的需要第三个“线索”......

答案 3 :(得分:2)

如何将人机交互作为第三条线索。

你可以有一个点击地图,例如 http://css-tricks.com/tracking-clicks-building-a-clickmap-with-php-and-jquery/

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

关于“Gender_HCI”的维基百科:

  

“更大的显示器有助于减少   导航虚拟中的性别差距   环境。使用更小的显示器   男性的表现好于   女性。随着更大的显示,   女性的表现得到改善   男性的表现并非消极   影响。“

所以有一个小盒子和时间点击它所需的时间。 ...?

答案 4 :(得分:2)

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

  1. https://parser.name/
  2. https://www.nameapi.org/
  3. https://gender-api.com/

如果要设置自己的项目,则需要一个包含所有名字和姓氏的列表。由于在许多国家/地区工作量很大,所以我建议您选择上述之一。

答案 5 :(得分:1)

我之前已经这样做了 - 这很容易,并且在应用于正确的场景时,90%的时间都能正常运行。

您需要从某个地方获取名称和通常性别的数据库。然后搜索数据库是微不足道的。

某些名称(例如Andy)通常与性别相关联。所以你需要至少三个性别价值观 - 男/女/未知。

答案 6 :(得分:1)

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

http://products.wolframalpha.com/api/pricing.html

答案 7 :(得分:1)

统计方法非常有效,取决于国家的精确度为95%或99%+,除少数例外(中文名称,韩文名称)。

查看GendRE API http://namsor.com/api

它自动识别名称背后的文化,应用适当的字典(例如,Andrea Rossini是男性,Andrea Parker是女性等)。

答案 8 :(得分:0)

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