当使用 spacy 的语言返回的标记时,`token.i+1` 中的 `i` 是什么意思?
What does `i` in `token.i+1` mean when using a token returned by spacy's Language?
from spacy.language import Language
@Language.component("CustomB")
def set_custom_boundaries(doc):
for token in doc[:-1]:
if token.text == ';':
doc[token.i+1].is_sent_start = True
return doc
nlp.add_pipe("CustomB",before="parser")
我只需要知道 i+1 在这段代码中做了什么:
doc[token.i+1]
知道函数中没有定义i
,既不是索引也不是简单变量
i
不是单独的变量。它是 token
的一个属性。请注意,它不是 i+1
,而是 token.i + 1
。 i
来自 token
对象。首先 python 从 token
获取 i
的值,然后将其加一。
考虑以下示例:
class X:
i = 10
token = X()
print(token.i+1) # it is in fact (token.i) + 1 so result is: 11
如有任何问题请提问
该函数接受 Doc
类型:https://spacy.io/api/doc/#init
本节内容:
for token in doc[:-1]:
if token.text == ';':
doc[token.i+1].is_sent_start = True
- 迭代文档的 'tokens':https://spacy.io/api/token 除了最后一个 (
:-1
)
- 如果令牌的文本是semi-colon,获取当前令牌的索引
token.i+1
并将属性“is_sent_start”设置为True
。
来自文档:
i
: The index of the token within the parent document
from spacy.language import Language
@Language.component("CustomB")
def set_custom_boundaries(doc):
for token in doc[:-1]:
if token.text == ';':
doc[token.i+1].is_sent_start = True
return doc
nlp.add_pipe("CustomB",before="parser")
我只需要知道 i+1 在这段代码中做了什么:
doc[token.i+1]
知道函数中没有定义i
,既不是索引也不是简单变量
i
不是单独的变量。它是 token
的一个属性。请注意,它不是 i+1
,而是 token.i + 1
。 i
来自 token
对象。首先 python 从 token
获取 i
的值,然后将其加一。
考虑以下示例:
class X:
i = 10
token = X()
print(token.i+1) # it is in fact (token.i) + 1 so result is: 11
如有任何问题请提问
该函数接受 Doc
类型:https://spacy.io/api/doc/#init
本节内容:
for token in doc[:-1]:
if token.text == ';':
doc[token.i+1].is_sent_start = True
- 迭代文档的 'tokens':https://spacy.io/api/token 除了最后一个 (
:-1
) - 如果令牌的文本是semi-colon,获取当前令牌的索引
token.i+1
并将属性“is_sent_start”设置为True
。 来自文档:i
: The index of the token within the parent document