Python 有没有更快的方式获得代币';从文档中获取索引?
给定一个令牌文本,即“is”,有没有更快的方法来获取其索引而不是迭代令牌列表?使用Python 有没有更快的方式获得代币';从文档中获取索引?,python,arrays,list,numpy,spacy,Python,Arrays,List,Numpy,Spacy,给定一个令牌文本,即“is”,有没有更快的方法来获取其索引而不是迭代令牌列表?使用numpy数组可以更快 他们在文档字符串中说: def\uuu iter\uuu(self): 迭代Token对象,从中可以创建注释 易于访问。这是访问令牌对象的主要方式, 这是从Python访问注释的主要方式。如果更快- 如果不需要Python速度,您可以访问注释 或者直接从Cython访问底层C数据。[] 因此,基于此,您可以尝试: for token in doc: if token.text = 'i
numpy
数组可以更快
他们在文档字符串中说:
def\uuu iter\uuu(self)
:迭代
Token
对象,从中可以创建注释
易于访问。这是访问令牌
对象的主要方式,
这是从Python访问注释的主要方式。如果更快-
如果不需要Python速度,您可以访问注释
或者直接从Cython访问底层C数据。[]
因此,基于此,您可以尝试:
for token in doc:
if token.text = 'is':
print(token.i)
速度快吗
import spacy
from spacy.attrs import ORTH
nlp = spacy.load("en_core_web_md")
text = "This is some text"
doc = nlp(text)
np_arr = doc.to_array(["ORTH"])
orth = nlp.vocab.strings["is"]
np.where(np_arr == orth)
#(array([1]),)
另外请注意,您可能对
tokens=nlp感兴趣,而不是doc=nlp(text)
他们在文档字符串中说:
def\uuu iter\uuu(self)
:
迭代Token
对象,从中可以创建注释
易于访问。这是访问令牌
对象的主要方式,
这是从Python访问注释的主要方式。如果更快-
如果不需要Python速度,您可以访问注释
或者直接从Cython访问底层C数据。[]
因此,基于此,您可以尝试:
for token in doc:
if token.text = 'is':
print(token.i)
速度快吗
import spacy
from spacy.attrs import ORTH
nlp = spacy.load("en_core_web_md")
text = "This is some text"
doc = nlp(text)
np_arr = doc.to_array(["ORTH"])
orth = nlp.vocab.strings["is"]
np.where(np_arr == orth)
#(array([1]),)
另外请注意,您可能对tokens=nlp.tokenizer(text)
@marlon感兴趣,而不是doc=nlp(text)
,它是否回答了您的问题?有帮助吗?请考虑Malon是否回答了你的问题?有帮助吗?请考虑