IK Analyzer 扩展配置 怎么用

kong_resty 发布于 2012/07/23 09:45
阅读 2K+
收藏 1

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

工程结构如下

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

}

运行结果

不是
高
富
帅
个
屌
丝

 

 

加载中
0
小编辑
小编辑
提问时如果没关联软件,作者就收不到你的提问:)
0
迷路的游侠
迷路的游侠
ext_stopword.dic 里有“帅”和“丝”,去掉试试看呗
0
kong_resty
kong_resty

引用来自“迷路的游侠”的答案

ext_stopword.dic 里有“帅”和“丝”,去掉试试看呗
没用的
返回顶部
顶部