spacy简单使用

本文详细介绍了自然语言处理库spaCy的安装、训练模型选择,以及其在中文环境下的主要功能,包括分句、分词、词性标注、停用词识别、命名实体识别、依存分析等。此外,还展示了模型的可视化效果和部分英文功能的示例,如词性还原和名词短语提取。尽管中文模型不支持词性还原和名词短语提取,但文章提供了相关功能的英文模型演示。最后,提到了spacy-streamlit库用于nlp可视化的可能性。

spacy官方: Install spaCy · spaCy Usage Documentation

目录

简介:

一、安装

1. 训练模型

二、功能

1. 分句 (sentencizer)

2.分词 (Tokenization)

3.词性标注 (Part-of-speech tagging)

4.识别停用词 (Stop words)

5.命名实体识别 (Named Entity Recognization)

6.依存分析 (Dependency Parsing)

7.词性还原 (Lemmatization)

8.提取名词短语 (Noun Chunks)

9.指代消解 (Coreference Resolution)

三、可视化


简介:

spacy 可以用于进行分词,命名实体识别,词性识别等等

一、安装

pip install spacy

1. 训练模型

安装之后还要下载官方的训练模型, 不同的语言有不同的训练模型,这里只用对应中文的模型演示:

python -m spacy download zh_core_web_sm

代码中使用:

import spacy
nlp = spacy.load("zh_core_web_sm")

模型官方文档:

Trained Models & Pipelines · spaCy Models Documentation

每种语言也会有几种不同的模型,例如中文的模型除了刚才下载的 zh_core_web_sm ,还有zh_core_web_trf、zh_core_web_md 等,它们的区别在于准确度和体积大小, zh_core_web_sm 体积小,准确度相比zh_core_web_trf差,zh_core_web_trf相对就体积大。这样可以适应不同场景。

这里以模型 zh_core_web_sm 做一个介绍  

Trained Models & Pipelines · spaCy Models Documentation

  • LANGUAGE : 那种语言的模型
  • SIZE : 模型体积的大小
  • COMPONENTS(组件): 模型具备的功能

                tok2vec: 分词

                tagger: 词性标注

                parser: 依存分析

                senter: 分句

                ner: 命名实体识别

                attribute_ruler: 更改属性映射(没有具体了解)

  • PIPELINE (管道) :  管道组件, 模型会按照管道组件去执行

        

模型会中指明包含哪些词性、依存分析、实体种类:

 这是一些词性名称的解释:

IP:简单从句 
NP:名词短语 
VP:动词短语 
PU:断句符,通常是句号、问号、感叹号等标点符号 
LCP:方位词短语 
PP:介词短语 
CP:由‘的’构成的表示修饰性关系的短语 
DNP:由‘的’构成的表示所属关系的短语 
ADVP:副词短语 
ADJP:形容词短语 
DP:限定词短语 
QP:量词短语 
NN:常用名词 
NR:固有名词 
NT:时间名词 
PN:代词 
VV:动词 
VC:是 
CC:表示连词 
VE:有 
VA:表语形容词 
AS:内容标记(如:了) 
VRD:动补复合词 
CD: 表示基数词 
DT: determiner 表示限定词 
EX: existential there 存在句 
FW: foreign word 外来词 
IN: preposition or conjunction, subordinating 介词或从属连词 
JJ: adjective or numeral, ordinal 形容词或序数词 
JJR: adjective, comparative 形容词比较级 
JJS: adjective, superlative 形容词最高级 
LS: list item marker 列表标识 
MD: modal auxiliary 情态助动词 
PDT: pre-determiner 前位限定词 
POS: genitive marker 所有格标记 
PRP: pronoun, personal 人称代词 
RB: adverb 副词 
RBR: adverb, comparative 副词比较级 
RBS: adverb, superlative 副词最高级 
RP: particle 小品词 
SYM: symbol 符号 
TO:”to” as preposition or infinitive marker 作为介词或不定式标记 
WDT: WH-determiner WH限定词 
WP: WH-pronoun WH代词 
WP$: WH-pronoun, possessive WH所有格代词 
WRB:Wh-adverb WH副词

官方关于词性、依存关系、实体的名词解释:

def explain(term):
    """Get a description for a given POS tag, dependency label or entity type.
    term (str): The term to explain.
    RETURNS (str): The explanation, or `None` if not found in the glossary.
    EXAMPLE:
        >>> spacy.explain(u'NORP')
        >>> doc = nlp(u'Hello world')
        >>> print([w.text, w.tag_, spacy.explain(w.tag_) for w in doc])
    """
    if term in GLOSSARY:
        return GLOSSARY[term]


GLOSSARY = {
    # POS tags
    # Universal POS Tags
    # http://universaldependencies.org/u/pos/
    "ADJ": "adjective",
    "ADP": "adposition",
    "ADV": "adverb",
    "AUX": "auxiliary",
    "CONJ": "conjunction",
    "CCONJ": "coordinating conjunction",
    "DET": "determiner",
    "INTJ": "interjection",
    "NOUN": "noun",
    "NUM": "numeral",
    "PART": "particle",
    "PRON": "pronoun",
    "PROPN": "proper noun",
    "PUNCT": "punctuation",
    "SCONJ": "subordinating conjunction",
    "SYM": "symbol",
    "VERB": "verb",
    "X": "other",
    "EOL": "end of line",
    "SPACE": "space",
    # POS tags (English)
    # OntoNotes 5 / Penn Treebank
    #
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值