首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在spaCy管道处理后识别文档?

在spaCy管道处理后识别文档?
EN

Stack Overflow用户
提问于 2022-08-19 11:37:58
回答 1查看 43关注 0票数 0

我有很多文档是通过spaCy管道处理的。

由于我想理解和追溯单个文档的问题,我想在处理完源文档(编码、文本片段、错误标记等)后识别它。

现在,管道只接受一个文本列表,所以我不能向它传递任何其他ID。

是否有任何方法来指定在spaCy管道之后保存的文档ID,以便以后可以识别in?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-19 15:08:47

您可以在每个文档上设置自定义扩展,并将文档而不是文本传递给管道:

代码语言:javascript
复制
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)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73416196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档