我有很多文档是通过spaCy管道处理的。
由于我想理解和追溯单个文档的问题,我想在处理完源文档(编码、文本片段、错误标记等)后识别它。
现在,管道只接受一个文本列表,所以我不能向它传递任何其他ID。
是否有任何方法来指定在spaCy管道之后保存的文档ID,以便以后可以识别in?
发布于 2022-08-19 15:08:47
您可以在每个文档上设置自定义扩展,并将文档而不是文本传递给管道:
import spacy
from spacy.tokens import Doc
Doc.set_extension("id", default=-1)
def get_docs_from_remote(nlp, size):
for i in range(size):
doc = nlp.make_doc(str(i)) # only tokenization
doc._.id = i
yield doc
nlp = spacy.load("en_core_web_sm", disable=["ner", "lemmatizer"])
docs = nlp.pipe(
get_docs_from_remote(
nlp,
size=10,
),
)
for doc in docs:
print(doc._.id, doc.text)https://stackoverflow.com/questions/73416196
复制相似问题