排除 spaCy 的部分组件(qbit)

Industrial-strength Natural Language Processing (NLP) in Python
工业级 NLP

前言

  • 官方文档:https://spacy.io/usage/spacy-101
  • spaCy GitHub:https://github.com/explosion/spaCy
  • 本文环境

    Windows 10
    Python 3.8.10
    spaCy 3.4.2
  • spcCy 的组件很多,有时我们并不需要全部组件,可以排除掉一些
    排除 spaCy 的部分组件(qbit)_第1张图片
  • 安装模型

    # 小 small(46 MB)
    python -m spacy download zh_core_web_sm
    # 中 medium (74 MB)
    python -m spacy download zh_core_web_md
    # 大 large(574 MB)
    python -m spacy download zh_core_web_lg

方法

  • spaCy 内置组件清单:https://spacy.io/usage/processing-pipelines#built-in
    排除 spaCy 的部分组件(qbit)_第2张图片
  • 查看默认组件

    >>> spaNLP = spacy.load("zh_core_web_sm")
    >>> spaNLP.pipe_names
    ['tok2vec', 'tagger', 'parser', 'attribute_ruler', 'ner']
  • 比如只需要词性标注,可以排除其他组件

    >>> spaNLP = spacy.load("zh_core_web_md", exclude=['parser', 'ner'])
    >>> spaNLP.pipe_names
    ['tok2vec', 'tagger', 'attribute_ruler']
    >>> doc = spaNLP('调查显示:PDA功能华而不实')
      for token in doc:
          print(token.pos_, token.text)
    NOUN 调查
    VERB 显示
    PUNCT :
    NOUN PDA
    NOUN 功能
    VERB 华而不实
  • 不用排除,用包含的方法

    >>> spaNLP = spacy.load("zh_core_web_sm", config={'nlp.pipeline': ['tok2vec', 'tagger', 'attribute_ruler']})
    >>> spaNLP.pipe_names
    ['tok2vec', 'tagger', 'attribute_ruler']
本文出自 qbit snap

你可能感兴趣的:(nlp分词词性分析自然语言处理)