好玩的分词——python jieba分词模块的基本用法

jieba(结巴)是一个强大的分词库,完美支持中文分词,本文对其基本用法做一个简要总结。

安装jieba

pip install jieba

简单用法

结巴分词分为三种模式:精确模式(默认)、全模式和搜索引擎模式,下面对这三种模式分别举例介绍:

精确模式

import jieba
s = u'我想和女朋友一起去北京故宫博物院参观和闲逛。'
cut = jieba.cut(s)

print '【Output】'
print cut
print ','.join(cut)
【Output】
<generator object cut at 0x7f8dbc0efc30>
我,想,和,女朋友,一起,去,北京故宫博物院,参观,和,闲逛,。

可见分词结果返回的是一个生成器(这对大数据量数据的分词尤为重要)。

全模式

print '【Output】'
print ','.join(jieba.cut(s,cut_all = True))
【Output】
我,想,和,女朋友,朋友,一起,去,北京,北京故宫,北京故宫博物院,故宫,故宫博物院,博物,博物院,参观,和,闲逛,,

可见全模式就是把文本分成尽可能多的词。

搜索引擎模式

print '【Output】'
print ','.join(jieba.cut_for_search(s))
【Output】
我,想,和,朋友,女朋友,一起,去,北京,故宫,博物,博物院,北京故宫博物院,参观,和,闲逛,。

获取词性

每个词都有其词性,比如名词、动词、代词等,结巴分词的结果也可以带上每个词的词性,要用到jieba.posseg,举例如下:

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
中文分词是将一段中文文本按照语义单元进行切分的过程。通常使用算法实现,比如基于规则的方法和基于统计学习的方法等。正确率、召回率和F1是评估中文分词效果的重要指标。 - 正确率(Precision)是指分词结果中正确分词数占所有分词数的比例,即正确分词数 / 分词器分出的总词数。 - 召回率(Recall)是指分词结果中正确分词数占所有正确词数的比例,即正确分词数 / 应分出的总词数。 - F1值是综合考虑正确率和召回率的指标,其计算公式为:2 * Precision * Recall / (Precision + Recall)。 在Python中,可以使用第三方库如jieba来实现中文分词,并计算正确率、召回率和F1值。需要准备好分词测试集和标准答案,然后通过代码计算这些指标。以下是一个简单的例子: ```python import jieba # 读取测试集和标准答案 with open('test_set.txt', 'r', encoding='utf-8') as f: test_set = f.readlines() with open('standard_answer.txt', 'r', encoding='utf-8') as f: standard_answer = f.readlines() # 分别记录正确分词数、应分出的总词数和所有正确词数 correct_word_count = 0 total_word_count = 0 all_correct_word_count = 0 # 遍历测试集并进行分词,同时统计指标 for i in range(len(test_set)): words = jieba.lcut(test_set[i].strip()) standard_words = standard_answer[i].strip().split() for word in words: if word in standard_words: correct_word_count += 1 all_correct_word_count += 1 total_word_count += len(words) # 计算正确率、召回率和F1值 precision = correct_word_count / total_word_count recall = all_correct_word_count / total_word_count f1 = 2 * precision * recall / (precision + recall) print("Precision:", precision) print("Recall:", recall) print("F1:", f1) ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值