我想创建一个根据全名检测性别的模型。 我有两本包含男性和女性名字的字典。我想开发一个模型来对以前未见过的名字进行分类。
我需要在 NER(名称实体识别)过程后确定性别。这将提供具有以下任一特征的 PERSON 实体:
- 全名(约翰·特拉沃尔塔)
- 仅姓名(约翰)
- 仅姓氏 (Travolta)
我只能根据(给定的)名字来确定男性与女性。该模型仅需要处理 SURNAME,将其分类为 NO_GENDER。
我知道姓氏可能很吵,但我必须处理它们,因为它们可能是输入的一部分。
最佳答案
首先,预处理数据:在全名输入中,仅保留名称(见下文)。也将其应用于未知输入。
我建议你训练一个多类SVM。你已经知道这三个类了。组成以下训练(标记)数据:
- NO_GENDER:女孩和男孩名单上的名字
- 女性:仅女孩名单上的名字
- 男性:仅男孩名单上的名字
- NO_GENDER:已知姓氏
- NO_GENDER:非姓名字符串
本质上,你训练它识别女性、男性和其他一切。
预处理
由于名称格式不同,这会给您带来一些麻烦。您可能在使用复合名称时遇到问题,例如
Bobby Jo male name with female modifier
van der Waal compound surname with male-looking prefix
St. John surname with gendered primary
Haley-Christopher hyphenated surname, genedered
如果您对输入进行预处理,则可能会难以找到正确的划分,例如 Billy Jean St. John
或 Marie-Therese von Klaus
。
关于machine-learning - 通过全名检测性别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45351495/