我需要按姓名检查性别。我有第一种形式的名单,例如:" Peter"," Anna"它不是很复杂,但应用程序必须返回性别概率,而不是名字不是第一种形式,例如" Peter"和" Petka"是平等的。也许有人知道NodeJS的好解决方案?
答案 0 :(得分:2)
很可能会经常失败,正如评论所指出的那样,它甚至可能会冒犯一些。话虽如此,有一个api正是这样做的:Genderize.io
它返回的结果如下:{"name":"peter","gender":"male","probability":"0.99","count":796}
您还可以本地化查询以获得更高的准确性。
他们的数据库是177k名称大,所以这可能是你最好的选择。
编辑:
举一个你提到的例子,这是'Petka'的回报:
{
name: "petka",
gender: "female",
probability: "1.00",
count: 2
}
所以我觉得还有改进的余地。
答案 1 :(得分:0)
或者您可以使用name2gender.com每月免费拨打10000个api电话
对'彼得'的回应:
{
"name" : "peter",
"gender" : "MALE",
"accuracy" : 98.53,
"samples" : 253705,
"country" : "WORLD",
"durationMs" : 0
}
更多样本意味着更多的精确结果
答案 2 :(得分:0)
您可以查看https://genderapi.io
{
"status": true,
"duration": "56ms",
"used_credits": 2,
"q": "peter;anna",
"names": [
{
"name": "peter",
"q": "peter",
"gender": "male",
"total_names": 4787,
"probability": 100
},
{
"name": "anna",
"q": "anna",
"gender": "female",
"total_names": 9609,
"probability": 100
}
]
}
答案 3 :(得分:0)
为此,最好使用像parser.name这样的专业API服务。您可以发布一个诸如Peter或Anna之类的名称,并且您将在毫秒内获得名称的性别。
firstname: {
name: "Anna",
name_ascii: "Anna",
validated: true,
gender: "f",
gender_formatted: "female",
unisex: false,
gender_deviation: 0,
country_code: "US",
country_certainty: 31,
country_rank: 28,
alternative_countries: {
GB: 13,
PL: 8,
SE: 6
}
}