停用词表的修改
停用词表在“pyhanlp\static\data\dictionary”路径下的“stopwords.txt”文件中,CoreStopWordDictionary.apply方法支持去除停用词。如果需要修改停用词表,则直接编辑文件“stopwords.txt”,之后删除路径下的“stopwords.txt.bin”,运行CoreStopWordDictionary.apply后即可自动生效。有关验证的方法见“验证是否生效”小节。
自定义词语过滤方法
用户可以通过编写“pyhanlp\static”路径下的“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)
作者:baiziyu
原文链接:https://zhuanlan.zhihu.com/p/64401302
相关推荐
文本分析--停用词集合(结合哈工大停用词表、四川大学机器智能实验室停用词库、百度停用词表等)文本分析--停用词集合(结合哈工大停用词表、四川大学机器智能实验室停用词库、百度停用词文本分析--停用词集合(结合...
文本分析--停用词集合(结合哈工大停用词表、四川大学机器智能实验室停用词库、百度停用词表等).txt文本分析--停用词集合(结合哈工大停用词表、四川大学机器智能实验室停用词库、百度停用词表等).txt
常用的停用词表,包括哈工大(hit)、百度(baidu)、四川大学机器智能实验室停用词库(scu)、中文停用词表(cn),以及汇总的停用词表(all)
哈工大停用词表、中文停用词表、百度停用词表(全).zip
常用停用词表整理(哈工大停用词表,百度停用词表等)
中文停用词表 cn_stopwords.txt 哈工大停用词表 hit_stopwords.txt 百度停用词表 baidu_stopwords.txt 四川大学机器智能实验室停用词库 scu_stopwords.txt 中文大全版 cn_all_stopwords.txt
包括哈工大停用词表、百度停用词表、四川大学机器智能实验室停用词库、中文停用词表,适合于文本预处理阶段使用。
使用jieba分词时,需要载入停用词表,这四个是常用的停用词表,文件名对应如下: 中文停用词表 cn_stopwords.txt 哈工大停用词表 hit_stopwords.txt 百度停用词表 baidu_stopwords.txt 四川大学机器智能实验室...
自然语言处理-最新最全的中文停用词表(1893个),欢迎下载!
中文停用词表, 哈工大停用词表, 百度停用词表, 四川大学机器智能实验室停用词库四份停用词表进行了合并去重
- 个人实践中整理的停用词库(内容丰富).txt - 中文停用词表.txt - 哈工大停用词表.txt ...绘制词云图时使用自己的停用词库,根据需要再增加或删除一些关键词 适用于自然语言处理实践中过滤掉不需要的关键词
停用词是指在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为Stop Words...甚至有一些工具是明确地避免使用停用词来支持短语搜索的。
资源标题:中文常用停用词表(中文停用词表、哈工大停用词表、百度停用词表、四川大学机器智能实验室停用词库).zip 资源描述: 该压缩文件包含了中文常用停用词表,包括中文停用词表、哈工大停用词表、百度停用...
多版本 中文停用词表 英文停用词表 中英文停用词表 以及python停用词词表合并程序(2个)
超级全面的完整停用词表,可用于词频统计等,超级全面的完整停用词表,可用于词频统计等
基于哈工大停用词表,如果有特定需要但未收录的停用词可直接在该txt文档增加。 添加格式:每行一个停用词
停用词表.txt
哈工大停用词表(标点符号+中文)
包含了中文停用词表、百度停用词表、哈工大停用词表和四川大学机器智能实验室停用词库及四个词库整合去重后的汇总停用词库