spacy nlp.pipe 然后检查像 num 不起作用

spacy nlp.pipe then check like num doesn't work

我读了一篇文档,说 nlp.pipe() 在处理大量数据方面有更好的性能。

迭代的方法是调用它的列表。

但是当我 运行 这段代码时,检查令牌是否类似于 num 不起作用。 我检查了对象的类型,它 returns doc 对象不是 token 对象。

我应该如何检查单个单词是否 like_num 并将其删除?

dummylist=[];

for ingrendient in ingredients:
    dummylist.append(nlp.pipe(ingrendient))

dummylist[0]
    
a=list(dummylist[0])

# [12 egg whites,
#  12 egg yolks,
#  1 1/2 cups sugar,
#  3/4 cup rye whiskey,
#  12 egg whites,
#  3/4 cup brandy,
#  1/2 cup rum,
#  1 to 2 cups heavy cream, lightly whipped,
#  Garnish: ground nutmeg]

type(a[0])
# spacy.tokens.doc.Doc

[token.like_num for token in a]
# AttributeError: 'spacy.tokens.doc.Doc' object has no attribute 'like_num'

我假设我必须将 doc 对象转换为令牌,但我被卡住了。 谢谢。

您循环浏览文档列表。要获取令牌,您需要遍历每个文档。类似于:

[token.like_num for token in doc for doc in a]