1

我正在使用 Spacy 模型,并且只想用起始句和专有名词大写纯文本。

我正在使用下面的代码

nlp = spacy.load("en_core_news_lg")
doc = nlp(text)
output_text = ""
for sent in doc.sents:
    for index, token in enumerate(sent):
        token_text = token.text
        if index == 0 or token.pos in (PROPN):
            token_text = token_text.capitalize()
        output_text += token_text + token.whitespace_
        
        output_text = output_text.strip() + " "

现在,如果 index == 0 或 token.pos in (PROPN),错误如下所示:

TypeError: argument of type 'univ_pos_t' is not iterable

是否可以仅将其用于专有名词?

4

1 回答 1

1

你需要使用

if index == 0 or token.pos_ == 'PROPN':

此行将检查是否index设置为0,或者当前令牌 POS 是否为PROPN

于 2021-04-21T08:53:10.807 回答