• 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)

  • 相关阅读:
    PHP模拟 URL Rewrite
    FCKeditor在smarty中的使用一例
    PHP网站开发遇到的中文编码
    浪子的心情叶启田
    URL Rewrite 写在.htaccess和httpd.conf中,对php的$_SERVER变量的影响
    PHP模拟实现url rewrite
    smarty的简单分页
    PHP与WEB服务工作的三种方式
    smarty内部日期函数html_select_date()
    php读取文件:PHP读取COOKIES的实现方法
  • 原文地址:https://www.cnblogs.com/adnb34g/p/10903810.html
Copyright © 2020-2023  润新知