paoding的分词使用

paoding下载

 

http://code.google.com/p/paoding/

 

 

 

paoding分词的默认配置

paoding-analysis-default.properties

配置全局的规则,{字典目录,切词规则}

 

paoding分词的字典指定

paoding-dic-home.properties

paoding自己的字典文件paoding/dic

x-noise-*.dic是过滤字典,存放分词时过滤词和字;其他dic是定义一个完整的词。

 

paoding分词的切词策略

paoding-knives.properties

 

 

paoding/dic/.compiled目录是生成二进制字典的目录,每次字典,过滤字典添加新词的时候,需要删除,运行paoding分词的时候会重新生成新的字典。

 

net.paoding.analysis.dictionary包目录维护字典的类

net.paoding.analysis.knife包目录定义了一些分词策略

 

 

net.paoding.analysis.knife.FileDictionaries

程序分词时,主要加载的字典

 

 

/**
 * 中文字典缓存根据地,为{@link CJKKnife}所用。<br>
 * 从本对象可以获取中文需要的相关字典。包括词汇表、姓氏表、计量单位表、忽略的词或单字等。
 * <p>
 * 
 * @author Zhiliang Wang [[email protected]]
 * 
 * @see CJKKnife
 * 
 * @since 1.0
 */
public class FileDictionaries implements Dictionaries {

	// -------------------------------------------------

	protected Log log = LogFactory.getLog(this.getClass());

	// -------------------------------------------------

	/**
	 * 词汇表字典
	 */
	protected Dictionary vocabularyDictionary;

	/**
	 * lantin+cjk的词典
	 */
	protected Dictionary combinatoricsDictionary;

	/**
	 * 姓氏字典
	 * 
	 */
	protected Dictionary confucianFamilyNamesDictionary;

	/**
	 * 忽略的单字
	 */
	protected Dictionary noiseCharactorsDictionary;

	/**
	 * 忽略的词语
	 * 
	 */
	protected Dictionary noiseWordsDictionary;

	/**
	 * 计量单位
	 */
	protected Dictionary unitsDictionary;
 

 

 

 

 

 

 

//分词
private String[] wordSegmentation(String text) {

                //应该用一个全局变量,可以复用

                Analyzer analyzer = new PaodingAnalyzer();

		List<String> tags = new ArrayList<String>();
                  
		TokenStream tokenStream = analyzer.tokenStream("text",
				new StringReader(text));
		CharTermAttribute termAtt = (CharTermAttribute) tokenStream
				.getAttribute(CharTermAttribute.class);
		try {
			while (tokenStream.incrementToken()) {
				tags.add(termAtt.toString());
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		String[] asdfasdf = new String[tags.size()];
		tags.toArray(asdfasdf);
		return asdfasdf;
	}
 

 

 

 

 

你可能感兴趣的:(paoding)