迭代spacy标记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代spacy标记相关的知识,希望对你有一定的参考价值。
一个让我难过的简单问题。我想迭代spacy标记并将每个标记与所有标记进行比较以获得与迭代器的相似性,而不是for循环。问题有点像有一个数字列表[1,2,3]并尝试将每个数字乘以包括其自身在内的每个其他数字,给出[1,2,3,2,4,6,3,6,9] ]。相反,我有:
import spacy
import itertools
nlp = spacy.load('en')
tokens = nlp(u'dog cat banana')
for token1 in tokens:
for token2 in tokens:
print(token1.similarity(token2))
嵌套的for循环有效,但应该有一种方法可以使用迭代器来实现更干净的代码。
答案
列表理解解决方案是:
[token1.similarity(token2) for token1 in tokens for token2 in tokens]
要么
[token1.similarity(token2) for token1, token2 in itertools.product(tokens, tokens)]
以上是关于迭代spacy标记的主要内容,如果未能解决你的问题,请参考以下文章