关于Stanza工具包的使用

目录

 

一、Stanza简要介绍

二、Stanza使用

2.1 安装方法

2.2 使用说明

2.2.1 以英文文本说明:

2.2.2 以中文文本说明:


一、Stanza简要介绍

Stanza是一个Python自然语言处理工具包,它是斯坦福自然语言处理工具的升级版。它提供了一系列的自然语言处理工具,包括分词、词性标注、命名实体识别、依存句法分析等。Stanza的主要目标是提供一个易于使用的自然语言处理工具包,同时保持高效和准确性。

二、Stanza使用

2.1 安装方法

安装方法有3种,任意选择一种都可以实现安装Stanza。

  • 通过 pip 安装:
    pip install stanza 

    # 注意使用这个命令,默认安装当前Stanza的最高版,如果想要指定安装的版本,则可使用以下命令安装:

pip install stanza==版本号
e.g., 
pip install stanza==1.3.0
  • 通过 conda 安装:
    conda install -c stanfordnlp stanza
  •  下载源码后安装:
git clone https://github.com/stanfordnlp/stanza.git
cd stanza
pip install -e .

2.2 使用说明

stanza的使用方法与spacy类似,都是先构造一个 Pipeline,然后将文本输入 Pipeline,输出结果为一个 Document对象,这个对象可以被用来提取文本中每个句子,句子中每个词语的词性,依存或命名实体信息。

2.2.1 以英文文本说明:

import stanza

# 下载语言支持
print("Downloading English model...")
stanza.download('en')

# 第一步:构造处理管道,pipeline
en_nlp = stanza.Pipeline('en')

# 第二步:将文本送入管道,管道返回 Document 对象
en_doc = en_nlp("Barack Obama was born in Hawaii.  He was elected president in 2008.")
print(type(en_doc))

# 第三步:提取分析结果
for i, sent in enumerate(en_doc.sentences):
    print("[Sentence {}]".format(i+1))
    for word in sent.words:
        print("{:12s}\t{:12s}\t{:6s}\t{:d}\t{:12s}".format(\
              word.text, word.lemma, word.pos, word.head, word.deprel))
    print("")

2.2.2 以中文文本说明:

import stanza

# 下载语言支持
print("Downloading Chinese model...")
stanza.download('zh', verbose=False)

# 第一步:构造处理管道,pipeline
zh_nlp = stanza.Pipeline('zh', processors='tokenize,lemma,pos,depparse', verbose=False, use_gpu=False)

# 第二步:将文本送入管道,管道返回 Document 对象
zh_doc = zh_nlp("达沃斯世界经济论坛是每年全球政商界领袖聚在一起的年度盛事。")
print(type(zh_doc))

# 第三步:提取分析结果
for i, sent in enumerate(zh_doc.sentences):
    print("[Sentence {}]".format(i+1))
    for word in sent.words:
        print("{:12s}\t{:12s}\t{:6s}\t{:d}\t{:12s}".format(\
              word.text, word.lemma, word.pos, word.head, word.deprel))
    print("")

猜你喜欢

转载自blog.csdn.net/weixin_41862755/article/details/129858921