java--基于结巴分词的词数统计

java结巴分词地址

https://github.com/huaban/jieba-analysis

txt文件的读取和写入

/*读取文件*/
FileInputStream fis = new FileInputStream(path,"UTF-8");//path为读取路径,设置编码UTF-8
InputStreamReader isr = new InputStramReader(fis);
BufferedReader br = new BufferedReader(isr);
String line = "";
while((line = br.readLine()) ! = null){
    System.out.println("获取的行"+line);
}

/*写入文件*/
File file = new File(path);
if(!file.exists()){
    file.createNewFile();
    BufferedWriter bw = new BufferedWriter(new FileWriter(path));
    bw.write("hello world!");
    bw.close();
}else{
    BufferedWriter bw = new BufferedWriter(new FileWriter(path));
    bw.write("hello world!");
    bw.close();
}

结巴导入和使用

在github下载结巴添加进自己的工程之中

结巴使用示例

public void testDemo() {
    JiebaSegmenter segmenter = new JiebaSegmenter();
    String[] sentences =
        new String[] {"这是一个伸手不见五指的黑夜。我叫孙悟空,我爱北京,我爱Python和C++。", "我不喜欢日本和服。", "雷猴回归人间。",
                      "工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作", "结果婚的和尚未结过婚的"};
    for (String sentence : sentences) {
        System.out.println(segmenter.process(sentence, SegMode.INDEX).toString());
    }
}

在使用结巴处理之前,应该先对获取的句子进行处理(例如去掉标点符号)

文本处理

我的想法是将一行话中的标点换为空格,从而让空格来实现断句或断词

line = line.trim();//去掉两边的空格
line = line.replaceAll("\\p{P}", " ");//将所有标点符号换成空格
tag = line.indexOf(" ");//第一个空格出现的位置
sentence = line.substring(0,tag);//截取第一句话
line = line.substring(tag+1);//将已截取的句子去除

结语

本文只写出了关键代码,需要完整程序jar包的可以查看作者上传的资源。

如果需要完整源代码请移步一个小小的java程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值