前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >spaCy 2.1 中文模型下载

spaCy 2.1 中文模型下载

作者头像
用户1408045
发布2019-07-28 14:42:04
4K0
发布2019-07-28 14:42:04
举报
文章被收录于专栏:汇智网教程汇智网教程

spaCy是最流行的开源NLP开发包之一,它有极快的处理速度,并且预置了词性标注、句法依存分析、命名实体识别等多个自然语言处理的必备模型,因此受到社区的热烈欢迎。中文版预训练模型包括词性标注、依存分析和命名实体识别,由汇智网提供

1、模型下载安装与使用

下载后解压到一个目录即可,例如假设解压到目录 /models/zh_spacy,目录结构如下:

代码语言:javascript
复制
/spacy/zh_model    
  | - meta.json                 # 模型描述信息
  | - tokenizer                  
  | - vocab                     # 词库目录
  | - tagger                    # 词性标注模型
  | - parser                    # 依存分析模型
  | - ner                       # 命名实体识别模型

使用spaCy载入该模型目录即可。例如:

代码语言:javascript
复制
import spacy

nlp = spacy.load('/spacy/zh_model')
doc = nlp('西门子将努力参与中国的三峡工程建设。')
for token in doc:
  print(token.text)

spaCy2.1中文预训练模型下载地址:http://sc.hubwiz.com/codebag/zh-spacy-model/

2、使用词向量

spaCy中文模型采用了中文维基语料预训练的300维词向量,共352217个词条。

例如,查看词向量表大小及维度:

代码语言:javascript
复制
import spacy
nlp = spacy.load('/spacy/zh_model')
print(nlp.vocab.vectors.shape)
print(nlp.vocab['北京'].vector)

结果如下:

代码语言:javascript
复制
(352217, 300)
[-0.136166 -0.339835  0.528109  0.417842 -0.093321 -0.42306  -0.475931
 -0.125459  0.137432 -0.567229  0.242339  0.245993 -0.377495 -0.274273
 ...
  0.238025  0.309567 -0.692431 -0.078103 -0.26816   0.051805  0.075192
 -0.052902  0.376131 -0.221235  0.23855  -0.11685   0.40507 ]

3、使用词性标注

spaCy中文词性标注模型采用Universal Dependency的中文语料库进行训练。

代码语言:javascript
复制
import spacy
nlp = spacy.load('/spacy/zh_model')
doc = nlp('西门子将努力参与中国的三峡工程建设。')
for token in doc:
  print(token.text,token.pos_,token.tag_)

将得到如下的词性标注结果:

代码语言:javascript
复制
西门子     NNP
将         BB
努力       RB
参与       VV
中国       NNP
的         DEC
三峡工程   NN
建设       NN

4、使用依存分析

spaCy中文依存分析模型采用Universal Dependency的中文语料库进行训练。

例如,下面的代码输出各词条的文本、依赖关系以及其依赖的词条:

代码语言:javascript
复制
import spacy
nlp = spacy.load('/spacy/zh_model')
doc = nlp('西门子将努力参与中国的三峡工程建设。')
for token in doc:
  print(token.text,token.dep_,token.head)

输出结果如下:

代码语言:javascript
复制
西门子     nsubj       参与
将         advmod      参与
努力       advmod      参与
参与       ROOT        参与
中国       det         建设
的         case:dec    中国
三峡工程   nmod        建设
建设       obj         参与
。         punct       参与

也可以使用spaCy内置的可视化工具:

代码语言:javascript
复制
from spacy import displacy
displacy.render(doc,type='dep')

结果如下:

5、使用命名实体识别

spaCy中文NER模型采用ontonotes 5.0数据集训练。

例如:

代码语言:javascript
复制
import spacy
nlp = spacy.load('/spacy/zh_model')
doc = nlp('西门子将努力参与中国的三峡工程建设。')
for ent in doc.ents:
    print(ent.text,ent.label_)

输出结果如下:

代码语言:javascript
复制
西门子    ORG
中国      GPE
三峡工程  FAC

也可以使用spaCy内置的可视化工具:

代码语言:javascript
复制
from spacy import displacy
displacy.render(doc,type='ent')

运行结果如下:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、模型下载安装与使用
  • 2、使用词向量
  • 3、使用词性标注
  • 4、使用依存分析
  • 5、使用命名实体识别
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档