jieba中文分词的实现(含去除停用词,注释详尽,欢迎批评指导)

jieba中文分词的实现(含去除停用词,注释详尽,欢迎批评指导)一般需要导入该库 导入方法 打开 cmd 命令窗口或者 anacondaprom pipinstall ihttps pypi tuna tsinghua edu cn simplejieba 最后一个参数是包名 如果想安装对应版本的包 只需在包名后面加 版本号 即可 importjieba 分词 defcut word Test jieba 默认启用了 HMM 隐马尔科夫模型 进行中文分词 seg list jieba cut Test cut

#一般需要导入该库。导入方法,打开cmd命令窗口或者anaconda prompt: #pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba(最后一个参数是包名) #如果想安装对应版本的包,只需在包名后面加“==版本号”即可 import jieba #分词 def cut_word(Test): # jieba 默认启用了HMM(隐马尔科夫模型)进行中文分词 seg_list = jieba.cut(Test,cut_all=True) # 分词 #返回一个以分隔符'/'连接各个元素后生成的字符串 line = "/".join(seg_list) word = out_stopword(line) #print(line) #列出关键字 print("\n关键字:\n"+word) #去除停用词 def out_stopword(seg): #打开写入关键词的文件 keyword = open('D:\keyword.txt', 'w+', encoding='utf-8') print("去停用词:\n") wordlist = [] #获取停用词表 #开源网站GitHub上有整理好的停用词表,可以下载使用 #goto456/stopwords: 中文常用停用词表(哈工大停用词表、百度停用词表等)——https://github.com/goto456/stopwords #停用词文本C:\Users\Administrator\hit_stopwords.txt stop = open('D:\hit_stopwords.txt', 'r+', encoding='utf-8') #用‘\n’去分隔读取,返回一个一维数组 stopword = stop.read().split("\n") #遍历分词表 for key in seg.split('/'): #print(key) #去除停用词,去除单字,去除重复词 if not(key.strip() in stopword) and (len(key.strip()) > 1) and not(key.strip() in wordlist) : wordlist.append(key) print(key) keyword.write(key+"\n") #停用词去除END stop.close() keyword.close() return '/'.join(wordlist) if __name__ == '__main__': #打开txt文本 Rawdata = open('D:\Rowdatas.txt','r+',encoding='utf-8') #将文本读取并存储到text中 text = Rawdata.read() #调用分词,将待分词的文本作为参数传入方法中 cut_word(text) #关闭文本 Rawdata.close() 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218503.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午7:06
下一篇 2026年3月18日 上午7:06


相关推荐

  • java实现递归树形结构_java递归算法经典实例

    java实现递归树形结构_java递归算法经典实例近期项目有个需求,需要将组织机构数据拼成树型结构返回至前端。我的做法如下:1.由于前端展示使用的组件需要特定的属性key,所以我定义了一个VO对象,代码如下:(本人使用了Lombok插件)packagetop.yuxuange.vo;importlombok.Data;importjava.util.List;@DatapublicclassTreeVO{/***id*/privateStringid;/**

    2026年1月15日
    9
  • FM &FFM:深入理解FM与FFM「建议收藏」

    FM &FFM:深入理解FM与FFM「建议收藏」0.引言针对类别变量进行oner-hot编码后的高维稀疏矩阵M,可以表示如下:可以看出,经过One-Hot编码之后,大部分样本数据特征是比较稀疏的,One-Hot编码的另一个特点就是导致特征空间大。例如,电影品类有550维特征,一个categorical特征转换为550维数值特征,特征空间剧增。同时通过观察大量的样本数据可以发现,某些特征经过关联之后,与label之间的相关…

    2022年6月3日
    30
  • 在tcp协议的三次握手中(tcp/ip协议三次握手)

    TCP特性1.确认应答(可靠传输的最核心机制)1.确认应答(可靠传输的最核心机制)可靠传输的最核心机制

    2022年4月10日
    68
  • kafka主要用来做什么_kafka概念

    kafka主要用来做什么_kafka概念Kafka最初由LinkedIn公司开发的,并于2010年贡献给了Apache基金会,之后成为Apache顶级项目。目前Kafka已经定位为一个分布式流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Storm、Spark、Flink等都支持与Kafka集成。Kafka之所以受到越来越多的青睐,与它所“扮演”的三大角色是分不开的:消息系统:Kafka和传统的消息系统(也称作消息中

    2026年4月13日
    7
  • TTL门电路与CMOS门电路引脚是否能悬空及原因解释

    TTL门电路与CMOS门电路引脚是否能悬空及原因解释COMS 集成电路的输入阻抗很高 输入端悬空 会受到感应信号的干扰而误认为是有效输入信号 易出现错误的输出 故引脚不可悬空 且由于 COMS 的内部为 MOS 管 故电流非常小 所以引脚不论是接大电阻还是小电阻 都算低电平 对 TTL 门电路来说具有输入特性和负载特性 存在开门电阻 Ron 和关门电阻 Roff 若 Ri 小于关门电阻 则相当于引脚接了低电平 反之 若 Ri 大于开门电阻 则相当于引脚接了高电

    2026年3月19日
    2
  • java finalize方法详解

    1.finalize的作用finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。finalize()与C++中的析构函数不是对应的。C++中的析构函数调用的时机是确定的(对象离开作用域或delete掉),但Java中的finalize的调用具有不确定性不建议用finalize方法完成“非内存资源”的清理工作…

    2022年4月5日
    894

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号