我正在试验NTLK。我的问题是,图书馆是否可以用德语检测名词的性别。我想收到这些信息,以确定文本是否写成性别中立。浏览此处获取更多信息: https://en.wikipedia.org/wiki/Gender_neutrality_in_languages_with_grammatical_gender
基础代码对我的句子进行了分类,但我无法看到有关" Mitarbeiter" 的性别的任何信息。到目前为止我的代码:
sentence = """Der Mitarbeiter geht."""
tokens = nltk.word_tokenize(sentence)
tagged = nltk.pos_tag(tokens)
>>> tagged[0:6]
到目前为止,我还没有找到任何可以实现此目的的工具或脚本。也许这对我的任务来说也是一个更好的解决方案。
答案 0 :(得分:2)
我不相信NLTK可以为德国人提供开箱即用的功能。但是,德国有免费提供的形态标记,可以为您做到这一点,例如RFTagger:
http://www.cis.uni-muenchen.de/~schmid/tools/RFTagger/
它提供如下输出:
Das PRO.Dem.Subst.-3.Nom.Sg.Neut
ist VFIN.Sein.3.Sg.Pres.Ind
ein ART.Indef.Nom.Sg.Masc
Testsatz N.Reg.Nom.Sg.Masc
. SYM.Pun.Sent
但是它不在Python中,因此您必须使用子进程调用它。另一个选择是获得一个带有德语性别的名词的语料库,例如Tiger语料库:
http://www.ims.uni-stuttgart.de/forschung/ressourcen/korpora/tiger.en.html
并培训NLTK以识别性别,但我希望RFTagger是一种更快/更准确的解决方案。
答案 1 :(得分:0)
Pattern旨在预测德语名词性别,准确度达到75%:
>>> from pattern.de import gender, MALE, FEMALE, NEUTRAL
>>> print gender('Katze')
FEMALE
不幸的是,它仅在Python 2.x中可用。
答案 2 :(得分:0)
我刚发现这个项目在https://github.com/aakhundov/deep-german这个问题上听起来很有前途。他们从字符级别进行预测,而这些字符水平可能在德语这样的语言中是有意义的。尽管性别不如西班牙语这样的语言容易检测到,但还是有一定规律的。
也可以进行关系分析,使代词引用您要分类的对象,然后查看它们是女性,男性还是中性。也许也可以看看它的伪造。