有没有一种简单的方法可以知道 NLTK 或 spacy 中人专有名词的性别?

Is there a simple way to know the gender of a person proper noun in NLTK or spacy?

我需要知道使用 spacy 或 nltk 的人专有名词是指男孩还是女孩。我尝试了 wordnet 词典,但找不到此信息。

示例:

亚历山大 => 男

索菲 => 女

没有。 spaCy 或 NLTK 无法分辨 PERSON 实体的性别。

有两种方法可以解决这个问题:

  1. 使用 spaCy PhraseMatcher 并输入男性和女性的名字。这相当于字典查找。
  2. 训练自定义 spaCy 模型并教它什么是男性和女性名字(从 1 开始仍然是理想的,用它来检测示例文本中的男性和女性名字,使用开始和女性的索引匹配结束以检测标记您的示例文本,然后使用它来训练广义模型)。