HanLP-停用词表的使用示例
停用词表的修改
停用词表在“pyhanlpstaticdatadictionary”路径下的“stopwords.txt”文件中,CoreStopWordDictionary.apply方法支持去除停用词。如果需要修改停用词表,则直接编辑文件“stopwords.txt”,之后删除路径下的“stopwords.txt.bin”,运行CoreStopWordDictionary.apply后即可自动生效。有关验证的方法见“验证是否生效”小节。
自定义词语过滤方法
用户可以通过编写“pyhanlpstatic”路径下的“MyFilter.java”文件设置自己的词语过滤方法。应当注意这里处理的语言单位是词语,而不是字。编辑完毕后需要编译该文件并生成字节码文件,之后运行CoreStopWordDictionary.apply方法时就会自动调用用户自己的词语过滤方法了。这里给出一个自定义过滤方法的编写示例代码。
import os
from pyhanlp.static import STATIC_ROOT, HANLP_JAR_PATH
java_code_path = os.path.join(STATIC_ROOT, 'MyFilter.java')
with open(java_code_path, 'w') as out:
java_code = """
import com.hankcs.hanlp.dictionary.stopword.CoreStopWordDictionary;
import com.hankcs.hanlp.dictionary.stopword.Filter;
import com.hankcs.hanlp.seg.common.Term;
public class MyFilter implements Filter
{
public boolean shouldInclude(Term term) { if (term.nature.startsWith('m')) return false; // 数词过滤 if (term.nature.startsWith('q')) return false; // 量词过滤 if (term.nature.startsWith('t')) return false; // 时间词过滤 if (term.nature.startsWith("w")) return false; // 过滤标点符号 return !CoreStopWordDictionary.contains(term.word); // 停用词过滤 }
}
"""
out.write(java_code)
os.system('javac -cp {} {} -d {}'.format(HANLP_JAR_PATH, java_code_path, STATIC_ROOT))
验证是否生效
本节给出停用词表修改后以及使用了自定义词语过滤方法的示例代码。
from pyhanlp import *
加载停用词类
CoreStopWordDictionary = JClass("com.hankcs.hanlp.dictionary.stopword.CoreStopWordDictionary")
加载自定义词语过滤逻辑
MyFilter = JClass('MyFilter')
CoreStopWordDictionary.FILTER = MyFilter()
term_list = HanLP.segment(text)
CoreStopWordDictionary.apply(term_list)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
推荐6款免费cms内容管理建站系统
CMS是"Content Management System"的缩写,意为"网站管理系统",也叫智能建站系统或自助建站系统,注意这里要和在线建站区分,cms是可以下载的,用户可以获取到网站源码,cms可以理解为一个已经开发好的网站,已经集成了很多常用的功能,用户下载后直接可以使用,不需要再找人开发,节约了建站时间和成本,CMS系统往往是开源的型式出现,并提供免费下载,开源并不是不赢利,开源是让更多的使用者都来使用这系统软件,他们会发现更多BUG,代码安全或者在使用中会结合现代网站提出新的需求,大量的爱好者开发出新功能和风格模板,这就是我们所说的二次开发。 一套好的CMS系统往往不会采用别人的框架,优秀的cms都是自己开发底层框架。并以标签型式前后端分离,我们只需懂点相关语言和HTML,css就能自己制作网站模板,无疑对网站建设者或网络公司来说都大大提高了开发效率。 CMS系统安装简单,开发团队会开发安装以网址/install/的形式访问地址即可安装,填上数据库下一步就OK。目前CMS系统以PHP或.Net居多,JAVA由于其并不免费,所以使用成本也偏高,还没有出名的系统。 目前国内80...
- 下一篇
Python爬虫入门教程 40-100 博客园Python相关40W博客抓取 scrapy
爬前叨叨 第40篇博客吹响号角,爬取博客园博客~本文最终抓取到了从2010年1月1日到2019年1月7日的37W+文章,后面可以分析好多东西了呢 经常看博客的同志知道,博客园每个栏目下面有200页,多了的数据他就不显示了,最多显示4000篇博客如何尽可能多的得到博客数据,是这篇文章研究的一点点核心内容,能√get到多少就看你的了~ 单纯的从每个栏目去爬取是不显示的,转换一下思路,看到搜索页面,有时间~,有时间! 注意看URL链接 https://zzk.cnblogs.com/s/blogpost?Keywords=python&datetimerange=Customer&from=2019-01-01&to=2019-01-01 这个链接得到之后,其实用一个比较简单的思路就可以获取到所有python相关的文章
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8编译安装MySQL8.0.19
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器