IKAnalyzer使用停用词词典进行分词

IKAnalyzer使用停用词词典进行分词

大家好,又见面了,我是全栈君。

@Test
// 測试分词的效果,以及停用词典是否起作用
public void test() throws IOException {
	String text = "老爹我们都爱您。";
	Configuration configuration = DefaultConfig.getInstance();
	configuration.setUseSmart(true);
	IKSegmenter ik = new IKSegmenter(new StringReader(text), configuration);
	Lexeme lexeme = null;
	while ((lexeme = ik.next()) != null) {
		System.out.println(lexeme.getLexemeText());
	}
}

第二个样例

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringReader;

import javax.imageio.stream.FileImageInputStream;

import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.wltea.analyzer.core.IKSegmenter;
import org.wltea.analyzer.core.Lexeme;
import org.wltea.analyzer.lucene.IKAnalyzer;



public class TestStopWords {
	public static void main(String[] args) throws IOException {
		String keyWords = "2012年那个欧洲杯四强赛";
		InputStreamReader isr = new InputStreamReader(new FileInputStream(new File("data/stopword.txt")));
		IKSegmenter ikSegmenter = new IKSegmenter(isr, true);
		Lexeme lexeme = null;
		while((lexeme=ikSegmenter.next())!= null){
			System.out.println(lexeme.getLexemeText());
		}
	}
}	

程序的执行结果是:

载入扩展停止词典:stopword.dic
载入扩展停止词典:chinese_stopwords.dic
老爹
都爱

IKAnalyzer.cfg.xml的配置例如以下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	<comment>IK Analyzer 扩展配置</comment>
	<!--用户能够在这里配置自己的扩展字典 <entry key="ext_dict">ext.dic;</entry>假设有多个扩展词典。那么以分号分隔就可以,如以下的两个扩展停止词字典 -->
	<!--用户能够在这里配置自己的扩展停止词字典 -->
	<entry key="ext_stopwords">stopword.dic;chinese_stopwords.dic</entry>
</properties>


注意点:

1、停用词词典必须是UTF-8编码。

2、这里非常多跟我一样的新手没办法成功的原因就是被无bom的UTF-8格式给折磨的,IK作者自己也这样说了。

3、假设你不知道啥叫无BOM,也不确定自己的文件是不是UTF-8无bom,那么请在第一行使用回车换行,从第二行開始加入停止词。

4、该配置文件以及停用词词典均存放在src文件夹以下就可以。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115867.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月29日 下午1:00
下一篇 2022年1月29日 下午2:00


相关推荐

  • 从市场竞争加剧到科技成果转化生态优化,产业园区借助科技成果智能评价系统能实现多大跨越?.docx

    从市场竞争加剧到科技成果转化生态优化,产业园区借助科技成果智能评价系统能实现多大跨越?.docx

    2026年3月13日
    3
  • 各个刷流量软件总结对比

    各个刷流量软件总结对比1流量精灵从官网上看挂了大半天平均每个网址就可以有一千个IP(一般流量精灵只能刷三个网址,我是自己的电脑和虚拟机一起开,虚拟机只能刷两个网址)效果很理想,估计一天下来五千个IP没有问题.而实际查看一个网页的浏览量只有两三百.可见流量精灵也不过是招摇撞骗,把我们辛辛苦苦的流量都偷走了.2流量宝流量获取情况:累积在线五个小时,获取的695个IP,刷三个网…

    2026年4月18日
    4
  • docker搭建kafka集群[通俗易懂]

    docker搭建kafka集群[通俗易懂]docker搭建kafka集群我在M1mbp上使用的以下镜像新建文件zk-kafka-docker-compose.ymlversion:”2″services:zookeeper:user:rootimage:docker.io/zookeeperports:-“12181:2181″environment:-ALLOW_ANONYMOUS_LOGIN=yesvolumes:-zoo

    2022年4月25日
    50
  • office xls 文件已损坏 无法打开 word在试图打开文件时遇到错误

    office xls 文件已损坏 无法打开 word在试图打开文件时遇到错误转自:http://windyli.blog.51cto.com/1300305/326491故障现象:Office2010,当打开从其他来源的Office文档时,会出现“(受保护的视图)遇到问题需要关闭”的错误,并且提示“文档已损坏”。小提示:Office2010的新特性是打开非本机创建的文件时会使用受保护的视图打开,因此我的“其他来源”主要指几个方面。其他来源:1.

    2022年5月27日
    42
  • mac电脑永久激活pycharm

    mac电脑永久激活pycharm基本步骤 1 pycharm 下载地址 2 根据上面的步骤下载好 pycharm 直接下一步下一步来安装 3 网盘中下载激活成功教程补丁 4 将下载好的激活成功教程补丁包复制到 Applications PyCharm app Contents bin5 用编辑器打开 Applications PyCharm app Contents bin pycharm vmoptions 并修改 在最后面加上

    2026年3月27日
    2
  • 怎样更新pip(怎么升级python的pip)

    在Python的環境中,許多人都習慣使用PIP指令來管理模組的安裝、更新與移除的動作。但是最近我一直遇到一個問題,就是下完PIP指令執行完後都會在最後出現要求更新PIP版本的訊息,例如:WARNING:Youareusingpipversion19.2.1,howeverversion19.2.3isavailable.Youshouldconsider…

    2022年4月16日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号