Python:从输入中猜测性别
因此,我使用python包“性别猜测器”根据姓名检测此人的性别。但是,我想从一个没有人名的句子中识别性别 假设我有下面的句子: “在你之前,有一个14岁的男性,他起床后出现了某种切分音。” 这句话只是一个例子,只有男性这个词,没有人的名字。但是,输入可以包含其他单词,如男孩、女孩、女士、变性人、男孩、女人、男人、未知等等 这是我目前正在尝试做的,但可能不符合我想要的最终结果:Python:从输入中猜测性别,python,nlp,stanford-nlp,Python,Nlp,Stanford Nlp,因此,我使用python包“性别猜测器”根据姓名检测此人的性别。但是,我想从一个没有人名的句子中识别性别 假设我有下面的句子: “在你之前,有一个14岁的男性,他起床后出现了某种切分音。” 这句话只是一个例子,只有男性这个词,没有人的名字。但是,输入可以包含其他单词,如男孩、女孩、女士、变性人、男孩、女人、男人、未知等等 这是我目前正在尝试做的,但可能不符合我想要的最终结果: #original string wordlist=tokens # using split() function #
#original string
wordlist=tokens
# using split() function
# total no of words
male_count=0
female_count=0
for i in range(len(wordlist)):
if wordlist[i]==('male' or 'boy' or 'guy' or 'man'):
print(i)
male_count= male_count+1
else:
if wordlist[i]==('female' or 'girl' or 'lady' or 'woman'):
female_count= female_count+1
有没有更好的方法来确定性别?有几种改进方法:
如果单词列表[i]在['male'、'boy'、'guy'、'man']中
。女性也是如此集合作为集合(['male','boy','guy','man'])
,而不是列表(即['male','boy','guy','man'])
,对于女性也是如此
其他
a+=1
代替执行相同任务的a=a+1
范围(len(wordlist))
。您只需迭代word\u列表
male_count = 0
female_count = 0
male_categories = set(['male', 'boy', 'guy', 'man'])
female_categories = set(['female', 'girl', 'lady', 'woman'])
for word in wordlist:
if word in male_categories:
male_count += 1
if word in female_categories:
female_count += 1
也有不同的方法可以做到这一点,比如在一行或两行的列表中计算男性+男孩+男性+男性。但我认为这是一个更好的开始,更容易理解。太好了。所以,无论我们使用哪种方式,我都必须添加各种可能的男性和女性同义词。是的,基本上,你只需要添加更多这样的词,比如每个词的复数版本,等等