停用词表的修改

停用词表在“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)

java建立英文停用词表_HanLP-停用词表的使用示例相关推荐

  1. java建立英文停用词表_pyhanlp 停用词与用户自定义词典

    hanlp的词典模式 之前我们看了hanlp的词性标注,现在我们就要使用自定义词典与停用词功能了,首先关于HanLP的词性标注方式具体请看HanLP词性标注集. 其核心词典形式如下: 自定义词典 自定 ...

  2. stopwords.txt中英文数据集,四川大学机器智能实验室停用词库,哈工大停用词表,中文停用词表,百度停用词表百度网盘下载

    今天找stopwords.txt数据集找了好长时间,真是气死了,好多都是需要金币,这数据集不是应该共享的么.故搜集了一些数据集,主要包括四川大学机器智能实验室停用词库,哈工大停用词表,中文停用词表,百 ...

  3. 无需Java环境,Jar包一键启停(静默启停),开机自启,读取外部配置文件

    无需Java环境,Jar包一键启停(静默启停),开机自启,读取外部配置文件 前言 一.目录结构 1.根目录 2.bin 目录 3.conf 目录 4.target 目录 二.文件内容 1.startu ...

  4. 汇集四大主流停词的中文停词库-7352个停词

    停用词是一些在自然语言处理中被过滤掉的常见词语,如"的"."是"."在"等.它们在文本中出现频率非常高,但通常不包含特定含义,因此被视为噪声 ...

  5. Java建立Zip压缩文件的代码实例

    Java建立Zip压缩文件的代码实例 Java代码 import java.io.*; import java.util.zip.*; class Zip { public static void m ...

  6. 计算机游戏英文文献,JAVA游戏英文文献翻译

    JAVA游戏英文文献翻译 J2ME手机游戏编程 J2ME and Wireless Devices 随着移动电话等无线通讯设备急剧增加和功能逐渐成熟,对运行在这些设备上的应用程序的需求也越来越大.消费 ...

  7. 使用Java建立一个公交管理系统,监督管理公交日常运营情况。

    使用Java建立一个公交管理系统,帮助公交管理部门监督管理公交日常运营情况. 使用Java建立一个公交管理系统,帮助公交管理部门监督管理公交日常运营情况,根据公交线路.车辆情况.工作人员.乘客等信息, ...

  8. Oracle数据库的启停命令,脚本启停oracle数据库

    操作系统自动启停数据库及脚本启停数据库 >脚本启停数据库 1修改启动脚本BUG #Vim $ORACLE_HOME/bin/dbstart(line78) ORACLE_HOME_LISTNER ...

  9. java建立tcp连接测试feiq

    java建立tcp连接 import java.io.IOException; import java.net.Socket; import java.net.UnKnowHostException; ...

  10. java建立一个小小留言板

    java建立一个小小留言板 制作如图一个留言板的界面,并按要求加入所需控件,并能按要求进行窗口 控件的布局.并按要求为按钮.文本框.窗口添加事件,使之实现提交显示留言, 清屏,留言至顶和至尾.要求文本 ...

最新文章

  1. java中对Excel的创建、样式修改
  2. html在线压缩tar.gz源码,c50_melp.tar.gz美国2400语音压缩编码算法,文件…
  3. linux 检测远程端口是否打开---nmap命令
  4. 第一个Arduino程序
  5. WPF 实现3D翻转倒计时控件~
  6. 找到MySQL服务器发生SWAP罪魁祸首
  7. Zookeeper基础简介
  8. 课设2--线性表的操作
  9. Java 网络编程(三) 创建和使用URL访问网络上的资源
  10. Nginx源码分析 - 主流程篇 - 多进程实现(14)
  11. matlab 程序篇(1/3)
  12. SIM900A 发送中英文短信
  13. 硬件-1-打印机爱普生L3153墨仓式一体机
  14. m73p黑苹果_Hackintosh 黑苹果长期维护机型 EFI 及安装教程整理
  15. HDU-3237-Help Bubu
  16. html 实现音乐的波形,GitHub - wanlixi/html5-audio: 展示html5提供的强大的音频控制API...
  17. 关于阿里云ACP认证的那些事儿
  18. docker bind source path does not exist: /etc/timezone“
  19. C语言中的带参宏和带参函数的区别
  20. Nodejs日志库winston配置

热门文章

  1. IIS 搭建简单网站 并 发布项目
  2. 古希腊神话,古罗马神话和北欧神话
  3. 【摘抄】SLAM中的位姿
  4. 迅捷pdf转换器——PDF批量转化成JPG
  5. linkedin 分享_如何将WordPress帖子自动发布到LinkedIn
  6. Django OAuth2 linkedin的第三方登录
  7. visio2013激活软件,绝对靠谱!!!
  8. kali linux 黑别人电脑,如何使用 Kali Linux 黑掉 Windows
  9. Python的基础编程
  10. Linux命令学习:Linux中more和less命令以及查找用法