paoding庖丁分词使用小例子(学习笔记)
2012-03-06 13:20
381 查看
推荐使用为知笔记(Wiz),它是电脑、手机、平板都能用的云笔记软件,使用我的邀请注册可获VIP体验:http://www.wiz.cn/i/02c6808b
做SRT遇到要分词,以前做了一个分词系统,但那个是老师提供的词库,真要自己来做分词,没词库怎么行?
到处找词库,找不到好用的,后来还在台湾某个学术机构上看到一个词库,但要台币一万大洋,郁闷~~
没办法,最后想到直接找开源的分词软件,找到庖丁,于是大呼“爽”!
下面直接给一个小例子,功能是将某个目录下的某个txt文件里面的内容读取出来并分词,把分词结果显示出来:
先配置好paoding的运行环境,无非就是把庖丁用的那些jar文件导入项目。
然后需要导入包:
下面自己写个test类,把下面的代码贴进去:
在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
大
大
大洋
郁闷
没办
办法
最后
想到
直接
找开
开源
分词
软件
找到
庖丁
于是
大
大呼
爽
必须成功的!
做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
大
大
大洋
郁闷
没办
办法
最后
想到
直接
找开
开源
分词
软件
找到
庖丁
于是
大
大呼
爽
必须成功的!
相关文章推荐
- Java学习笔记87. ArrayList类的两个使用例子
- what's in string? c语言string类函数实现汇总 觉得都是学习使用指针的好例子(算是读书摘抄和笔记吧)
- Python学习笔记-httplib使用例子
- 转载 openlayers使用笔记1 从例子开始学习openlayers
- hadoop学习笔记3.通过电话通信清单例子简单使用Reduce和打包JAR
- openlayers使用笔记1 从例子开始学习openlayers
- libevent学习笔记二:使用evdns_getaddrinfo()的例子
- c#学习笔记之九 事件(event)的使用,一个简单的例子揭示其设计理念
- what's in string? c语言string类函数实现汇总 都是学习使用指针的好例子啊(算是读书摘抄和笔记吧)
- DirectX11 学习笔记6 - 使用D3DXMATH数学库的一个例子
- 【深度学习】笔记3_caffe自带的第一个例子,Mnist手写数字识别所使用的LeNet网络模型的详细解释
- c# 学习笔记之九 事件(event)的使用,一个简单例子揭示机理
- (学习笔记)Android使用SurfaceView编写“迷宫搜索”例子
- python学习笔记3-使用字符串
- 【Android 学习笔记】 之 使用HTTP协议访问网络
- SilverLight学习笔记--关于使用IValueConvert对绑定数据的格式化操作
- accp6.0 《使用javascript增强交互效果》学习笔记ch3 DOM编程
- Python学习笔记(25)-Python日志使用示例
- 【spring学习笔记二】使用注解配置spring
- MyEclipse 学习笔记与使用技巧(不断更新)