NLP中两种不同的中文分词形式分析,jieba和spaCy

1. jieba分词

import jieba

text='在中国古代文化中,书法和绘画是艺术的重要表现形式。古人常说,‘文字如其人’,通过墨迹可以窥见作者的性情和气质。而画家则以笔墨搏击,表现出山川河流、花鸟虫鱼的灵动。这些艺术形式不仅仅是技艺的表现,更是一种精神的抒发和文化的传承。'

# 分词
words = jieba.cut(text,cut_all=False)
print(list(words))

返回结果: 

['在', '中国', '古代', '文化', '中', ',', '书法', '和', '绘画', '是', '艺术', '的', '重要', '表现形式', '。', '古人', '常说', ',', '‘', '文字', '如其人', '’', ',', '通过', '墨迹', '可以', '窥见', '作者', '的', '性情', '和', '气质', '。', '而', '画家', '则', '以', '笔墨', '搏击', ',', '表现', '出', '山川', '河流', '、', '花鸟虫鱼', '的', '灵动', '。', '这些', '艺术', '形式', '不仅仅', '是', '技艺', '的', '表现', ',', '更是', '一种', '精神', '的', '抒发', '和', '文化', '的', '传承', '。']

 2. spaCy的中文模型进行分词

import spacy_stanza
import stanza

# 下载并加载 Stanza 中文模型
stanza.download('zh')
nlp = spacy_stanza.load_pipeline('zh')

text='在中国古代文化中,书法和绘画是艺术的重要表现形式。古人常说,‘文字如其人’,通过墨迹可以窥见作者的性情和气质。而画家则以笔墨搏击,表现出山川河流、花鸟虫鱼的灵动。这些艺术形式不仅仅是技艺的表现,更是一种精神的抒发和文化的传承。'

doc = nlp(text)
words = [token.text for token in doc]
print(words)

返回结果:

['在', '中国', '古代', '文化', '中', ',', '书法', '和', '绘画', '是', '艺术', '的', '重要', '表现', '形式', '。', '古', '人', '常', '说', ',', '‘', '文字', '如', '其', '人', '’', ',', '通过', '墨迹', '可以', '窥见', '作者', '的', '性情', '和', '气质', '。', '而', '画家', '则', '以', '笔', '墨', '搏击', ',', '表现', '出', '山川', '河流', '、', '花鸟', '虫', '鱼', '的', '灵动', '。', '这些', '艺术', '形式', '不', '仅仅', '是', '技艺', '的', '表现', ',', '更是', '一', '种', '精神', '的', '抒发', '和', '文化', '的', '传承', '。']

3. 分析和比较

  • 第一段分词结果

  • 将一些词语合并成了一个词组,如 "表现形式"、"古人"、"笔墨"、"花鸟虫鱼"。
  • 分词结果更加符合语言习惯和表达习惯,一些固定搭配和成语被识别并合并成一个词组。
  • 可能更适合一些语义理解或者对上下文整体理解较为重要的应用场景。
  • 第二段分词结果
    • 每个词都单独分开,保留了原文中的每个词语。
    • 分词粒度较细,适合某些需要对每个词语进行精确处理的场合。

4. 选择合适的分词结果

选择哪种分词结果取决于你的具体需求:

  • 如果需要对每个词语进行单独处理,或者进行详细的语言分析,第二段分词结果更适合。
  • 如果需要更符合日常语言使用习惯的分词结果,或者进行更高层次的语义理解,第一段分词结果可能更适合。

5. spaCy分词方式的一些补充

import spacy
nlp = spacy.load("zh_core_web_sm")
doc = nlp(text)
print([w.text for w in doc])

上面这也是spaCy的一种实现中文文本处理的方式,但是它和spacy_stanza与什么区别吗?

下面来讲一下,它们的区别:

这两种中文文本处理方式的主要区别在于使用的底层技术和处理能力。

5.1 使用 spacy_stanza 集成的 Stanza 中文模型
  • 底层技术:Stanza 是由斯坦福大学开发的,使用的是基于神经网络的深度学习模型,提供了更高精度的 NLP 处理能力。
  • 模型大小:Stanza 的模型通常较大,需要更多的计算资源,但提供了更高的精度。
  • 处理能力:在中文分词、词性标注、依存句法分析和命名实体识别等方面通常表现更好,特别适合需要高精度分析的任务。
  • 性能:由于模型更大且计算复杂度更高,加载和处理速度较慢,适用于需要高精度分析的批量处理任务。
5.2 使用 spaCy 的中文模型 zh_core_web_sm
  • 底层技术:spaCy 使用的是自己的 NLP 模型和算法。
  • 模型大小zh_core_web_sm 是一个小型模型,主要适用于基础的 NLP 任务。
  • 处理能力:可以进行词性标注、依存句法分析、命名实体识别等基本 NLP 任务,但在中文分词和处理复杂句法方面可能不如 Stanza 精确。
  • 性能:加载和处理速度较快,适用于轻量级和实时的 NLP 任务。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值