在Python中利用Spacy对文本快速分词去重生成词列表

参考文章:

https://juejin.im/post/6844903488149782535?utm_source=gold_browser_extension%5D#heading-13

https://spacy.io/

python中的spacy是一款强大的自然语处理工具,具有分词、词干化、情感分析、实体识别等功能,它的特点是分词准确度高于NLTK,速度也大大提升,可快速生成词干化并且去重的词列表。以下是其处理速度与其它工具的对比,很明显其数据处理速度比NLTK提升数十倍,大数据时代其强大的功能不可小视。

其功能与其它工具的对比如下:最新版本的Spacy已经支持包括中文在内的多种语言

使用之前,首先要在安装了64位python的电脑上安装spacy,笔记python版本为3.8,64位。直接在cmd下面输入:

pip install spacy

成功后继续安装en_core_web_sm模块 大约50M

python -m spacy download en_core_web_sm

这两步中可能会遇到出错的情况,务必在网上搜索一下错误代码,然后尝试解决。

下面可以利用string 去除标点,set 去重

import spacy
nlp = spacy.load('en_core_web_sm') #加载spacy
txt = "A magnetic monopole is a hypothetical elementary particle."
doc = nlp(txt)
list1=[]
for token in doc:
    token=token.lemma_   #词干化
    if token not in string.punctuation: #去除所有标点
        list1.append(token)
print(set(list1))

显示结果如下:

{'a', 'be', 'elementary', 'hypothetical', 'magnetic', 'monopole', 'particle'}
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PythonFun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值