python spacy json-nlp包
spacyjsonnlp的Python项目详细描述
Spacy到JSON-NLP
(c)2019年,Damir Cavar,Oren Baldinger,Maanvitha Gongalla,Anurag Kumar,Murali Kammili
由NLP-Lab.org带给你的!
这只适用于Spacy2.1.0!
我也有同样的问题。我把Spacy从2.1.4降到2.1.0,Numpy降到1.14.5来解决这个问题。
简介
目前这个模块需要Python3.6+。
此模块为JSON-NLP提供spaCyv2.1包装。它接受spaCy输出并生成JSON-NLP输出。它还提供了一个微服务包装器,允许您使用Flask或其他基于wsgi的服务器将spaCy模块作为持久restful服务启动。
由于此微服务构建在spaCy上,因此需要下载其模型,例如:
python -m spacy download en
python -m spacy download en_core_web_md
其他管道模块
spaCy允许添加其他模型作为管道模块。我们为共指树和短语结构树提供了这样的集成。
回指和共指消解
我们提供HuggingFace共指解析,一个紧密集成到spaCy中的快速系统。注意,第一次运行解析器时,如果coreference模型不存在,它将下载它们。这些模型只适用于英语。
短语结构树(选区解析)
我们提供了benepar解析器的cpu版本,这是一个非常精确的短语结构解析器。请记住,它是TensorFlow模块,因此具有显著的启动时间和相对较高的内存需求(4GB+)。
如果您有可用的GPU,可以使用以下命令安装模块的GPU版本:
pip install --upgrade benepar[gpu]
微服务
JSON-NLP存储库提供了一个microservice类,带有一个预构建的Flask实现。要运行它,请执行:
python spacyjsonnlp/server.py
由于server.py
扩展了Flask应用程序,wsgi文件将包含:
from spacyjsonnlp.server import app as application
要禁用管道组件(如短语结构解析),请添加
application.constituents = False
可以禁用或启用的属性的完整列表是
- 成分
- 依赖关系
- 共指
- 表达式
微服务公开以下uri:
- /成分
- /依赖关系
- /共指
- /表达式
- /令牌列表
这些uri是禁用解析的其他组件的快捷方式。在所有情况下,tokenList
都将包含在JSON-NLP
输出中。一个示例url是:
http://localhost:5000/dependencies?text=I am a sentence
文本通过GET
或POST
参数提供给微服务。如果您将url
作为参数传递,那么microservice将删除该url并处理网站的文本。
使用spacy_model
参数可以选择用于解析的spaCy语言模型。
下面是一个示例GET
调用:
http://localhost:5000?spacy_model=en&constituents=0&text=I am a sentence.