标记德语单词

Tokenizing words in German

我正在尝试确定德语句子中的主语。对于英语,我曾经这样做:

import spacy
nlp = spacy.load('en')
sent = "I shot an elephant"
doc=nlp(sent)

sub_toks = [tok for tok in doc if (tok.dep_ == "nsubj") ]

print(sub_toks) 

但它不适用于 nlp = spacy.load('de_core_news_sm') 并使用德语句子。它 returns 一个空列表。

我试着寻找 here,即使它们有词性而不是主语、宾语等。但它 returns 也是空列表。这在德语中甚至可能吗?

试试这个片段:

spacy 模块中的句子为您提供德语句子示例

import spacy
from spacy.lang.de.examples import sentences 

nlp = spacy.load("de_core_news_sm")
doc = nlp(sentences[0])
print(doc.text)
for token in doc:
    print(token.text, token.pos_, token.dep_)

https://spacy.io/models/de