Spacy分词php,自然语言处理NLP(Spacy)入门 (一)

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

120e4831654a

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

导入英文处理库:

import spacy

nlp = spacy.load('en')

分词(Tokenizing):

doc = nlp("Tea is healthy and calming, don't you think?")

for token in doc:

print(token)

输出:

Tea

is

healthy

and

calming

,

do

n't

you

think

?

词形还原 (Lemmatization) 和判断停用词:

(用token.lemma_与token.is_stop方法)

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}")

输出:

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,某些词的原形其实是一样的,处理的时候应该按照一样的文本处理,比如:

doc = nlp('help helped cup cups')

for token in doc:

print(token.lemma_)

输出:

help

help

cup

cup

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值