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

我正在使用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工具互操作,这很棒,因为您可以毫无问题地更改解析器.

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

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...