Mousika

天地孤影任我行

导航

paoding庖丁分词使用小例子(学习笔记)

做SRT遇到要分词,以前做了一个分词系统,但那个是老师提供的词库,真要自己来做分词,没词库怎么行?

到处找词库,找不到好用的,后来还在台湾某个学术机构上看到一个词库,但要台币一万大洋,郁闷~~

没办法,最后想到直接找开源的分词软件,找到庖丁,于是大呼“爽”!

下面直接给一个小例子,功能是将某个目录下的某个txt文件里面的内容读取出来并分词,把分词结果显示出来:

先配置好paoding的运行环境,无非就是把庖丁用的那些jar文件导入项目。

然后需要导入包:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;

import net.paoding.analysis.analyzer.PaodingAnalyzer;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.Token;
import org.apache.lucene.analysis.TokenStream;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

 

这里是直接从我的项目里copy出来的,有些用不到。


下面自己写个test类,把下面的代码贴进去:

public static void main(String[] args) throws IOException {

        String content = null;

        // 将庖丁封装成符合Lucene要求的Analyzer规范
        Analyzer analyzer = new PaodingAnalyzer();

        FileInputStream in = null;
        in = new FileInputStream(new File("d://text.txt"));

        InputStreamReader inReader = new InputStreamReader(in);
        BufferedReader br = new BufferedReader(inReader);
        TokenStream ts = analyzer.tokenStream(content, br);

        Token t;
        t = ts.next();
        while (t != null) {
            content += t.termText() + " ";
            System.out.println(t.termText());
            t = ts.next();
        }
    }

 

在D盘根目录下建立一个text.txt文件,把本文前两段的内容贴进去。


测试一下,控制台输出:

三月 06, 2012 1:22:50 下午 net.paoding.analysis.knife.PaodingMaker getProperties
信息: config paoding analysis from: F:\eclipse_work\SRTDemo\file:\F:\eclipse_work\SRTDemo\lib\paoding-analysis.jar!\paoding-analysis.properties;F:\eclipse_work\SRTDemo\file:\F:\eclipse_work\SRTDemo\lib\paoding-analysis.jar!\paoding-analysis-default.properties;F:\eclipse_work\SRTDemo\file:\F:\eclipse_work\SRTDemo\lib\paoding-analysis.jar!\paoding-analyzer.properties;F:\eclipse_work\SRTDemo\bin\paoding-dic-home.properties;D:\dic\paoding-dic-names.properties;F:\eclipse_work\SRTDemo\file:\F:\eclipse_work\SRTDemo\lib\paoding-analysis.jar!\paoding-knives.properties;F:\eclipse_work\SRTDemo\file:\F:\eclipse_work\SRTDemo\lib\paoding-analysis.jar!\paoding-knives-user.properties
三月 06, 2012 1:22:50 下午 net.paoding.analysis.knife.PaodingMaker createPaodingWithKnives
信息: add knike: net.paoding.analysis.knife.CJKKnife
三月 06, 2012 1:22:50 下午 net.paoding.analysis.knife.PaodingMaker createPaodingWithKnives
信息: add knike: net.paoding.analysis.knife.LetterKnife
三月 06, 2012 1:22:50 下午 net.paoding.analysis.knife.PaodingMaker createPaodingWithKnives
信息: add knike: net.paoding.analysis.knife.NumberKnife

srt
遇到

分词

以前
做了
一个
分词
系统
那个
老师
提供
词库
真要

分词
没词
词库
怎么

到处
找词
词库
不到
找不到
好用
用的
后来
还在
在台
台湾
某个
学术
机构
看到
一个
一个词
词库
但要
台币
10000


大洋
郁闷
没办
办法
最后
想到
直接
找开
开源
分词
软件
找到
庖丁
于是

大呼



必须成功的!

posted on 2012-03-06 13:20  lujian863  阅读(693)  评论(0编辑  收藏  举报