前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自然语言处理NLP(Spacy)入门 (一)

自然语言处理NLP(Spacy)入门 (一)

作者头像
生信编程日常
发布2020-10-29 11:15:44
1.5K0
发布2020-10-29 11:15:44
举报
文章被收录于专栏:生物信息学、python、R、linux

自然语言处理(Natuarl Language Processing, NLP),是人工智能领域的一个重要的方向。一般我们听到的文本分类、文本挖掘都属于NLP的范畴。

为了完成NLP任务,我们一般需要对文本进行预处理。预处理一般包括文本清洗、分词、去掉停用词、标准化和特征提取等(不过现在BERT横空出世,甚至可以不经过这些步骤)。Spacy是这个领域内的一个比较领先好用的工业级处理库。

导入英文处理库:

代码语言:javascript
复制
import spacy
nlp = spacy.load('en')

分词(Tokenizing):

代码语言:javascript
复制
doc = nlp("Tea is healthy and calming, don't you think?")
for token in doc:
    print(token)

输出:

代码语言:javascript
复制
Tea
is
healthy
and
calming
,
do
n't
you
think
?

词形还原 (Lemmatization) 和判断停用词: (用token.lemma_与token.is_stop方法)

代码语言:javascript
复制
print(f"Token \t\tLemma \t\tStopword".format('Token', 'Lemma', 'Stopword'))
print("-"*40)
for token in doc:
    print(f"{str(token)}\t\t{token.lemma_}\t\t{token.is_stop}")

输出:

代码语言:javascript
复制
Token       Lemma       Stopword
----------------------------------------
Tea     tea     False
is      be      True
healthy     healthy     False
and     and     True
calming     calm        False
,       ,       False
do      do      True
n't     not     True
you     -PRON-      True
think       think       False
?       ?       False

可以看到is的词形被还原为了be,某些词的原形其实是一样的,处理的时候应该按照一样的文本处理,比如:

代码语言:javascript
复制
doc = nlp('help helped cup cups')
for token in doc:
    print(token.lemma_)

输出:

代码语言:javascript
复制
help
help
cup
cup
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档