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
对象。i
首先 python 获取from的值,token
然后将其增加一。
考虑下面的例子:
class X:
i = 10
token = X()
print(token.i+1) # it is in fact (token.i) + 1 so result is: 11
如果您有任何问题,请提出。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句