赞
踩
目录
因任务需求,需要使用到一些特征信息,比如词性或依存解析结果。目前,存在很多的工具包可以实现对中文或英文句子进行解析,如spacy, nltk, stanford CoreNLP等。
Spacy,NLTK和Stanford CoreNLP都是自然语言处理(NLP)库。这些库都可以处理中文和英文文本。下面是它们各自的优缺点:
根据实际需求,我选择了spacy工具包。
下面分别介绍如何使用spacy工具包,实现对中文和英文文本的解析。
1. 首先,需要安装Spacy, 你可以使用以下命令在终端中安装Spacy:
pip install spacy
2. 安装完成后,你需要下载一个预训练的模型。你可以使用以下命令下载英文模型:
python -m spacy download en_core_web_sm
注意事项:
1)安装的en_core_web_sm包,要与spacy版本一致。 e.g., 我使用的spacy 版本是2.2.1, 因此我的en_core_web_sm版本是2.3.0。
2)最简单的安装方式,是先下载对应的.tar.gz文件,官网下载地址,然后,直接使用安装命令安装。
特别的,高版本的下载地址(也可以直接更改url中的版本数字,直接切换到对应的版本下载地址):
pip install en_core_web_sm-2.3.0.tar.gz
3. 安装完成后,可以实现自己想要的功能。如想要输出每个单词的文本,词性和依赖关系,可以采用下面的代码:
- import spacy
-
- nlp = spacy.load("en_core_web_sm")
- doc = nlp("This is an example sentence.")
- for token in doc:
- print(token.text, token.pos_, token.dep_)
Tips:
如果想要可视化解析结果,可参考另一篇博客:Click Here
若想对中文文本进行解析,方法同英文。区别仅在于需要针对不同的语种,安装不同的包。
若Spacy工具包,版本是2.2.1, 则需要下载的是 pip install zh_core_web_sm-2.3.0.tar.gz
使用的时候,仅有如下一行代码不同,其余完全相同。
nlp = spacy.load("zh_core_web_sm")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。