作为一名计算机科学家,您肯定正在寻找正确的方向来解决这个语言问题;)。词干提取通常相当简单,用于信息检索任务以试图减小词典大小,但通常不足以进行更复杂的语言分析。词形还原部分与词干的用例重叠,但包括将动词变形全部重写为相同的根形式(引理),并将“work”作为名词和“work”作为动词进行区分(尽管这有点取决于lemmatiser 的实施和质量)。为此,它通常需要更多信息(如 POS 标签、语法树),因此需要更长的时间,使其不太适合 IR 任务,通常处理大量数据。
除了 GermaNet(不知道它被中止,但从未真正尝试过,因为它是免费的,但您必须签署协议才能访问它),还有 SpaCy,您可以看看:https ://spacy.io/docs/usage/
非常易于安装和使用。请参阅网站上的安装说明,然后使用以下命令下载德语内容:
python -m spacy download de
然后:
>>> import spacy
>>> nlp = spacy.load('de')
>>> doc = nlp('Wir suchen ein Beispiel')
>>> for token in doc:
... print(token, token.lemma, token.lemma_)
...
Wir 521 wir
suchen 1162 suchen
ein 486 ein
Beispiel 809 Beispiel
>>> doc = nlp('Er sucht ein Beispiel')
>>> for token in doc:
... print(token, token.lemma, token.lemma_)
...
Er 513 er
sucht 1901 sucht
ein 486 ein
Beispiel 809 Beispiel
如您所见,不幸的是,它在您的特定示例(例如)上做得不是很好,而且我不确定数字代表什么(即必须是引理ID,但不确定可以获得哪些其他信息从这个),但也许你可以试一试,看看它是否对你有帮助。