停用词表的修改
停用词表在“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
相关推荐
停用词表是自然语言处理领域中的一个重要工具,主要...总之,停用词表在中文自然语言处理中扮演着至关重要的角色,通过合理选用和使用停用词表,可以优化文本分析的效果,提高处理速度,为各种NLP任务提供坚实的基础。
在某些特定领域或者需要保留语境信息的场景,停用词可能具有特定含义,因此在使用停用词表时需根据实际情况灵活调整。此外,随着语言的发展和新词汇的涌现,停用词表也需要定期更新以保持其有效性。 总的来说,"哈...
文本分析--停用词集合(结合哈工大停用词表、四川大学机器智能实验室停用词库、百度停用词表等)文本分析--停用词集合(结合哈工大停用词表、四川大学机器智能实验室停用词库、百度停用词文本分析--停用词集合(结合...
哈工大停用词表和百度停用词表是中文处理中广泛使用的两个停用词库。 哈工大停用词表(HIT Stopword List)是由哈尔滨工业大学计算机科学与技术学院开发的,适用于中文文本处理。该词表包含了大量中文常用的无实际...
哈工大停用词表、四川大学机器智能实验室停用词库以及百度停用词表都是业界广泛使用的中文停用词资源。这些词表是由专业机构和研究团队根据大量语料库的统计分析和专家知识精心筛选出来的,涵盖了日常语言中常见的无...
- 数据预处理阶段:在进行文本分析之前,先使用停用词表过滤掉文本中的无关词汇。 - 模型训练优化:在构建机器学习模型时,通过对训练数据集应用停用词表,可以提高模型的泛化能力。 - 实际应用场景:如搜索引擎...
中文停用词表 cn_stopwords.txt 哈工大停用词表 hit_stopwords.txt 百度停用词表 baidu_stopwords.txt 四川大学机器智能实验室停用词库 scu_stopwords.txt 中文大全版 cn_all_stopwords.txt
哈工大停用词表、百度停用词表、四川大学机器智能实验室停用词库以及中文停用词表,都是中文处理中广泛使用的资源。这些词表是由专家和研究者根据大量文本数据精心筛选出的,包含了在不同场景下频繁出现但信息贡献度...
在使用停用词表时,需要注意以下几点: 1. **预处理**:在处理文本前,应先将文本分词,然后与停用词表对比,移除其中的停用词。 2. **动态更新**:随着语言的发展,新的停用词可能会出现,旧的停用词也可能不再适用...
使用停用词表可以有效地减少噪声,提高文本处理的效率。在词频统计中,移除停用词有助于凸显出更有价值的关键词,使我们能更快地洞察文本主题。在信息检索系统中,去除停用词可以提高查询的精度,因为这些词语往往...
使用jieba分词时,需要载入停用词表,这四个是常用的停用词表,文件名对应如下: 中文停用词表 cn_stopwords.txt 哈工大停用词表 hit_stopwords.txt 百度停用词表 baidu_stopwords.txt 四川大学机器智能实验室...
在实际应用中,停用词表的构建和更新是一个持续的过程,随着语言使用的变化和新领域的发展,停用词的范围也会相应地进行扩展或缩减。使用合适的停用词表可以有效地提升信息检索、文本分类、情感分析等NLP任务的性能...
中文停用词表, 哈工大停用词表, 百度停用词表, 四川大学机器智能实验室停用词库四份停用词表进行了合并去重
标题提到的"最全中文停用词表-百度、哈工大、四川大学机器智能实验室.zip"是一个集合了多个来源的停用词表资源。这些词表来自业界知名的百度公司,以及学术界著名的哈尔滨工业大学和四川大学的机器智能实验室。它们...
### 百度停用词表知识点详解 #### 一、停用词概念解析 在自然语言处理(NLP)领域,停用词是指在信息检索分析、文本挖掘等任务中...正确理解和使用停用词表不仅能提高文本处理任务的效率,还能显著提升模型的性能。
- 个人实践中整理的停用词库(内容丰富).txt - 中文停用词表.txt - 哈工大停用词表.txt ...绘制词云图时使用自己的停用词库,根据需要再增加或删除一些关键词 适用于自然语言处理实践中过滤掉不需要的关键词
在信息检索中,使用停用词表可以避免用户查询中的常用词对搜索结果造成干扰。 在处理中文文本时,由于中文的标点符号与英文不同,如逗号、句号、顿号等,这些也会被包含在停用词表中。它们虽然在句子结构中起到分隔...
停用词是指在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为Stop Words...甚至有一些工具是明确地避免使用停用词来支持短语搜索的。
描述部分进一步强调了该停用词表的实用性与全面性,并鼓励用户下载使用,暗示该资源对于从事自然语言处理工作的人员具有很高的价值。 #### 停用词表内容分析 停用词表中的词条涵盖了多种类型: 1. **标点符号:**...