鱼C论坛

 找回密码
 立即注册
查看: 1099|回复: 3

利用jieba库对中文分词统计三国演义出场人物问题求教

[复制链接]
发表于 2020-3-5 21:57:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 zzong2019 于 2020-3-6 20:02 编辑

@zltzlt 希望实现词频统计人物出场之后对部分不是人名的字符进行过滤和替换操作,过滤功能可以实现,但是替换无法实现,请大神帮忙看看原因出在哪里?另外可否对这段代码给点优化建议,谢谢~~~
import jieba
def count_person():
    
    words=jieba.lcut(text)
    counts={}
    for word in words:
        if len(word)==1:
            continue
        elif word in exclude:
            continue
        else:
            counts[word]=counts.get(word,0)+1
    items=list(counts.items())
    items.sort(key=lambda x:x[1],reverse=True)
    for i in range(10):
        word,count=items[i]
        print('{0:<10}{1:>5}'.format(word,count))
exclude=[]
text=open('threekingdoms.txt','r',encoding='utf-8').read()

count_person()
while True:
    adjust=input('是否需要替换(R/r)或者过滤(E/e)字符操作:')
    if adjust in ['R','r']:
        old=input('请输入替换掉的字符:')
        new=input('请输入修改后的字符:')
        text=text.replace(old,new)
    elif adjust in ['E','e']:
        exclude=list(eval(input('请输入需要过滤的字符,字符间以逗号分隔:')))
    else:
        break
    count_person()

threekingdoms.rar

643.01 KB, 下载次数: 3

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-8 13:10:14 | 显示全部楼层
替换是直接在源文件上替换吗 ?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-8 13:40:43 | 显示全部楼层
zltzlt 发表于 2020-3-8 13:10
替换是直接在源文件上替换吗 ?

不希望在源文件上替换,就是把从源文件读出来的text替换,以优化后续的词频统计操作
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-8 14:15:42 | 显示全部楼层
我这里可以实现
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-9 15:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表