本来我要添加一些新的词汇进分词字典但是我怎么搞也搞不出来
工程结构如下

ext_stopword.dic 如下
我 也 了 仍 从 以 使 则 却 又 及 对 就 并 很 或 把 是 的 着 给 而 被 让 在 还 比 等 当 与 于 但 帅 丝
mydict.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">/mydict.dic;</entry> <!--用户可以在这里配置自己的扩展停止词字典--> <entry key="ext_stopwords">/ext_stopword.dic</entry> </properties>
程序代码(scala)
package com.nineteenlou
import org.wltea.analyzer.{Lexeme, IKSegmentation}
import java.util.{List=>JavaList, ArrayList => JavaArrayList}
import java.util.{Arrays=> JavaArrays}
import java.net.URL
import java.io.{Writer, FileWriter, File, StringReader}
/**
* author: eric
* Date: 12-5-18
* Time: 下午12:41
*/
object WordAnalyzer {
def doAnalyzeStatement(statement: String): Array[String] = {
val reader: StringReader = new StringReader(statement)
val wordsSegment: IKSegmentation = new IKSegmentation(reader)
var oneWord: Lexeme = wordsSegment.next()
var test = (oneWord != null);
var result : JavaList[String] = new JavaArrayList[String]
while(test){
result.add(oneWord.getLexemeText)
oneWord = wordsSegment.next()
test = (oneWord != null)
}
result.toArray(new Array[String](result.size))
}
def main(args: Array[String]): Unit = {
val strs = doAnalyzeStatement("我不是高富帅是个屌丝")
strs.foreach(println)
}
}
运行结果
不是 高 富 帅 个 屌 丝
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
"提问时如果没关联软件,作者就收不到你的提问:)######ext_stopword.dic 里有“帅”和“丝”,去掉试试看呗
######<div class=""ref"">