基于spacy的句法依存、实体识别、分析
简介
spaCy
spaCy 是一个 Python 和 CPython 的 NLP 自然语言文本处理库。因此它是一个非常快的库。它建立在最新的研究基础上,从设计的第一天起就被用于实际产品中。
spaCy 自带预训练的管道,目前支持 60 多种语言的标记化和训练。它具有最先进的速度和神经网络模型,可用于标记、解析、命名实体识别、文本分类等,使用 BERT 等预训练的变换器进行多任务学习,以及生产就绪的训练系统和简单的模型打包、部署和工作流管理。
特性:
- 支持 60 多种语言
- 经过训练的管道可以处理不同的语言和任务
- 使用像 BERT 这样的预训练变压器进行多任务学习
- 支持预训练的单词向量和嵌入
- 最先进的速度
- 生产就绪培训系统
- 语言驱动的标记化
- 用于命名实体识别、词性标记、依存关系分析、句子分段、文本分类、词 义化、形态分析、实体链接等的组件
- 使用自定义组件和属性可轻松扩展
- 支持 PyTorch、TensorFlow 和其他框架中的自定义模型
- 内置用于语法和 NER 的可视化工具
- 易于模型打包、部署和工作流管理
- 可靠的、经过严格评估的精确度
系统环境与版本
安装
安装 Spacy
pip install spacy
下载数据和模型
python -m spacy download en
如果spacy报错“TypeError: Plain typing.NoReturn is not valid as type argument”,原因是python3.7.0,请将python升级至3.7.2
conda create -n your_env_name
python=your_python_version的方法创建虚拟环境,并使用source activate
your_env_name方式激活该虚拟环境,并在其中安装与默认(主)python环境不同的软件包等。当激活该虚拟环境时,ipython下是可以正常加载的。但是打开Jupyter Notebook,会发现其加载的仍然是默认的Python
kernel,而我们需要在notebook中也能使用新添加的虚拟环境。
参考文献:https://94e.cn/info/5744
安装中文:
为了运行nlp = spacy.load(“zh_core_web_sm”),官方提供的$ python -m spacy download zh_core_web_sm 安装失败,所以只能手动安装
方案1
直接通过连接下载:https://github.com/explosion/spacy-models/releases/download/zh_core_web_sm-3.3.0/zh_core_web_sm-3.3.0.tar.gz
執行:pip install zh_core_web_sm-3.3.0.tar.gz
方案2
1.打开 https://spacy.io/models/zh??????
找到
RELEASE DETAILS
https://github.com/explosion/spacy-models/releases/tag/zh_core_web_sm-3.3.0
2.下载到本地,并且保存到/user/xxx/这个文件夹下
3.打开终端,输入命令 pip install zh_core_web_sm-3.3.0.tar.gz
ps:目前是3.3.0版本
————————————————
版权声明:本文为CSDN博主「m0_70294827」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_70294827/article/details/124963861
应用示例
import spacy
from spacy import displacy
from collections import Counter
nlp_zh = spacy.load('zh_core_web_sm')
doc = nlp_zh('【郑渝高铁首发,南阳日报社记者带你沿线游】#郑渝高铁 现代化“副中心”建设新支撑# #郑渝高铁全线贯通# #郑渝高铁开通首发# 6月20日上午的在郑渝高铁首发车上,省人大代表马金霞接受南阳日报社记者采访。')
# doc = nlp_zh(text1)
for entity in doc.ents:
entities.append(str(entity) + ':' + str(entity.label_))
print(entities)
spacy.displacy.render(doc, style="ent", jupyter=True)
参考文献
https://blog.csdn.net/sikh_0529/article/details/128667976
https://www.freesion.com/article/23761383290/
https://paper.yanxishe.com/TextTranslation/3195
训练:
https://blog.51cto.com/u_15127631/2739400
https://www.codenong.com/43341148/
https://www.coder.work/article/360381
https://blog.csdn.net/sikh_0529/article/details/128667976
http://cn.voidcc.com/question/p-tfrxwxnj-bnm.html
官方:
https://spacy.io/usage/training
https://spacy.io/
https://gitcode.com/mirrors/explosion/spacy/tree/master?utm_source=csdn_github_accelerator&isLogin=1
https://cloud.tencent.com/developer/article/1346772
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!