有三点要注意(要不然扩展词典始终不生效):
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">com/org/config/my.dic;com/org/config/mine.dic;</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">/com/org/config/stopword.dic</entry>
</properties>
- 后缀名.dic的词典文件,必须如使用文档里所说的 无BOM的UTF-8编码保存的文件。如果不确定什么是
无BOM的UTF-8编码,最简单的方式就是用Notepad++编辑器打开,Encoding->选择 Encoding in UTF-8 without BOM,然后保存。 - 项目preferences 里 编码选择 utf8。
- 词典和IKAnalyzer.cfg.xml配置文件的路径问题。IKAnalyzer.cfg.xml必须在src根目录下。词典可以任意放,但是在IKAnalyzer.cfg.xml里要配置对。如下:我的两个词典文件my.dic 和 mine.dic 放在src下的com.org.config包下,注意com前面一定不要加/,否则是绝对路径找不到。
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">com/org/config/my.dic;com/org/config/mine.dic;</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">/com/org/config/stopword.dic</entry>
</properties>
IKAnalyzer 独立使用的代码:
package com.org;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import org.wltea.analyzer.core.IKSegmenter;
import org.wltea.analyzer.core.Lexeme;
public class IKAnalyzerTest {
public static void main(String[] args) {
String str = "最希望从企业得到的是独家的内容或销售信息,获得打折或促销信息等;最不希望企业进行消息或广告轰炸及访问用户的个人信息等。这值得使用社会化媒体的企业研究";
IKAnalysis(str);
}
public static String IKAnalysis(String str) {
StringBuffer sb = new StringBuffer();
try {
// InputStream in = new FileInputStream(str);//
byte[] bt = str.getBytes();// str
InputStream ip = new ByteArrayInputStream(bt);
Reader read = new InputStreamReader(ip);
IKSegmenter iks = new IKSegmenter(read, true);
Lexeme t;
while ((t = iks.next()) != null) {
sb.append(t.getLexemeText() + " , ");
}
sb.delete(sb.length() - 1, sb.length());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(sb.toString());
return sb.toString();
}
}
运行结果:
加载扩展词典:com/org/config/my.dic
加载扩展词典:com/org/config/mine.dic
加载扩展停止词典:/com/org/config/stopword.dic
最希望 , 从 , 企业 , 得到 , 的 , 是 , 独家 , 的 ,
内容或销售信息 , 获得 , 打折 , 或 ,
促销信息 , 等 , 最不 , 希望 , 企业 , 进行 , 消息 , 或 , 广告 , 轰炸 , 及 , 访问 , 用户 , 的 , 个人信息 , 等 , 这 , 值得 , 使用 ,
社会化媒体 , 的 ,
企业研究 ,
加粗的词是扩展词典里的词。
以下是proj的目录结构。