我最近遇到了一个奇怪但有趣的问题.问题如下:需要编写一个程序,可以根据名称将性别作为输出.示例:INPUT - > John Michael Britney OUTPUT - >男性男性女性
所以这是我期望的输出.我尝试了很多东西来解决,但我真的无法破解它.我将非常感谢这个网站让我有机会分享这个问题.
实际上这在编程竞赛中被问为传单问题,所以我认为这可以编程.
我一直在用时间来解决这个问题.我的第一种方法是使用已批准名称的清单,我们在丹麦的那些名单来自我,但我很快意识到只有少数几个国家.除此之外,我得到的反馈是概率性猜测功能更强大,而且应该能够过滤国家或语言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"}
Run Code Online (Sandbox Code Playgroud)
我以前曾经这样做过——它很简单,并且当应用于正确的场景时 90% 的情况下都能很好地工作。
您需要从某处获取姓名和通常性别的数据库。这样搜索数据库就很简单了。
有些名字(例如安迪)通常与任一性别相关。因此,您至少需要三个性别值 - 男性/女性/未知。