加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Spacy:保存已解析的模型

发布时间:2020-12-20 13:14:01 所属栏目:Python 来源:网络整理
导读:我正在使用Spacy,它是一个 Python自然语言处理库,将原始文本解析为这种更复杂的面向对象格式,更具体地说是依赖树. 上面的操作需要一段时间才能执行:我需要加载一个非常昂贵的模型,然后解析大量的文本.我宁愿在后续执行中节省一些时间,以便在完成初始解析后
我正在使用Spacy,它是一个 Python自然语言处理库,将原始文本解析为这种更复杂的面向对象格式,更具体地说是依赖树.

上面的操作需要一段时间才能执行:我需要加载一个非常昂贵的模型,然后解析大量的文本.我宁愿在后续执行中节省一些时间,以便在完成初始解析后更快地迭代处理数据.

如何在第一次运行后“保存”这些结果,然后在后续运行中更快地重新加载这些预处理版本?

PICKLE:当尝试使用pickle时,我得到以下错误反序列化Docs / Tokens类:

File "spacy/tokens/token.pyx",line 56,in spacy.tokens.token.Token.__cinit__ (spacy/tokens/token.cpp:3868)
TypeError: __cinit__() takes exactly 3 positional arguments (0 given)

谢谢.

解决方法

没有pickle解决方案,但我过去写过 this script将SpaCy输出存储为XML(NAF格式).

根据您的管道,您还可以尝试以CoNLL格式存储输出(例如CoNLL-U).这使得您的代码可以与许多其他NLP工具互操作,这很棒,因为您可以毫无问题地更改解析器.

我没有这方面的示例代码,但过程应该类似.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读