推荐使用为知笔记(Wiz),它是电脑、手机、平板都能用的云笔记软件,使用我的邀请注册可获VIP体验:http://www.wiz.cn/i/02c6808b
做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
大
大
大洋
郁闷
没办
办法
最后
想到
直接
找开
开源
分词
软件
找到
庖丁
于是
大
大呼
爽
必须成功的!