NLP神器spaCy 2.1中文预训练模型

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
简介: spaCy是最流行的开源NLP开发包之一,它有极快的处理速度,并且预置了词性标注、句法依存分析、命名实体识别等多个自然语言处理的必备模型,因此受到社区的热烈欢迎。中文版预训练模型包括词性标注、依存分析和命名实体识别,由汇智网提供,下载地址:spaCy2.1中文模型包 。

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

1、模型下载安装与使用

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

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

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

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个词条。

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

import spacy
nlp = spacy.load('/spacy/zh_model')
print(nlp.vocab.vectors.shape)
print(nlp.vocab['北京'].vector)

结果如下:

(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的中文语料库进行训练。

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

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

西门子     NNP
将         BB
努力       RB
参与       VV
中国       NNP
的         DEC
三峡工程   NN
建设       NN

4、使用依存分析

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

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

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

输出结果如下:

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

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

from spacy import displacy
displacy.render(doc,type='dep')

结果如下:

5、使用命名实体识别

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

例如:

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

输出结果如下:

西门子    ORG
中国      GPE
三峡工程  FAC

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

from spacy import displacy
displacy.render(doc,type='ent')

运行结果如下:


原文链接:spaCy2.1中文模型包 — 汇智网

目录
相关文章
|
1月前
|
机器学习/深度学习 自然语言处理 PyTorch
从零开始构建nlp情感分析模型!
本教程介绍了如何使用PyTorch和Hugging Face的Transformers库构建一个情感分析模型。主要内容包括导入所需库、读取训练数据集、加载预训练的BERT模型和分词器、定义情感数据集类、划分训练集和验证集、创建数据加载器、设置训练参数、训练模型、评估模型性能以及定义和测试预测函数。通过这些步骤,可以实现一个简单而有效的情感分析模型。
101 2
|
2月前
|
自然语言处理 PyTorch 算法框架/工具
掌握从零到一的进阶攻略:让你轻松成为BERT微调高手——详解模型微调全流程,含实战代码与最佳实践秘籍,助你应对各类NLP挑战!
【10月更文挑战第1天】随着深度学习技术的进步,预训练模型已成为自然语言处理(NLP)领域的常见实践。这些模型通过大规模数据集训练获得通用语言表示,但需进一步微调以适应特定任务。本文通过简化流程和示例代码,介绍了如何选择预训练模型(如BERT),并利用Python库(如Transformers和PyTorch)进行微调。文章详细说明了数据准备、模型初始化、损失函数定义及训练循环等关键步骤,并提供了评估模型性能的方法。希望本文能帮助读者更好地理解和实现模型微调。
84 2
掌握从零到一的进阶攻略:让你轻松成为BERT微调高手——详解模型微调全流程,含实战代码与最佳实践秘籍,助你应对各类NLP挑战!
|
2月前
|
机器学习/深度学习 自然语言处理 并行计算
探索深度学习中的Transformer模型及其在自然语言处理中的应用
【10月更文挑战第6天】探索深度学习中的Transformer模型及其在自然语言处理中的应用
138 0
|
2月前
|
人工智能 自然语言处理
【NLP自然语言处理】NLP中的常用预训练AI模型
【NLP自然语言处理】NLP中的常用预训练AI模型
|
2月前
|
机器学习/深度学习 自然语言处理 异构计算
【NLP自然语言处理】初识深度学习模型Transformer
【NLP自然语言处理】初识深度学习模型Transformer
|
2月前
|
机器学习/深度学习 自然语言处理 算法
【NPL自然语言处理】带你迅速了解传统RNN模型
【NPL自然语言处理】带你迅速了解传统RNN模型
|
4月前
|
自然语言处理
【NLP】from glove import Glove的使用、模型保存和加载
使用 from glove import Glove 进行词向量训练、保存和加载的基本示例。
63 2
【NLP】from glove import Glove的使用、模型保存和加载
|
4月前
|
机器学习/深度学习 自然语言处理 PyTorch
PyTorch与Hugging Face Transformers:快速构建先进的NLP模型
【8月更文第27天】随着自然语言处理(NLP)技术的快速发展,深度学习模型已经成为了构建高质量NLP应用程序的关键。PyTorch 作为一种强大的深度学习框架,提供了灵活的 API 和高效的性能,非常适合于构建复杂的 NLP 模型。Hugging Face Transformers 库则是目前最流行的预训练模型库之一,它为 PyTorch 提供了大量的预训练模型和工具,极大地简化了模型训练和部署的过程。
220 2
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
【深度学习】探讨最新的深度学习算法、模型创新以及在图像识别、自然语言处理等领域的应用进展
深度学习作为人工智能领域的重要分支,近年来在算法、模型以及应用领域都取得了显著的进展。以下将探讨最新的深度学习算法与模型创新,以及它们在图像识别、自然语言处理(NLP)等领域的应用进展。
128 6
|
4月前
|
机器学习/深度学习 自然语言处理 数据处理