java语言文本挖掘 分词_文本挖掘分词mapreduce化

软件版本

paoding-analysis3.0

e9dd4e0a89bacd1d89c97f1c7bdb28f3.png

项目jar包和拷贝庖丁dic目录到项目的类路径下

b8d6fbf4fa800a2ad1d6143fd92ef04e.png

修改paoding-analysis.jar下的paoding-dic-home.properties文件设置词典文件路径

paoding.dic.home=classpath:dic

分词程序demoimport java.io.IOException;

import java.io.StringReader;

import org.apache.lucene.analysis.TokenStream;

import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;

import net.paoding.analysis.analyzer.PaodingAnalyzer;

public class TokenizeWithPaoding {

public static void main(String[] args) {

String line="中华民族共和国";

PaodingAnalyzer analyzer =new PaodingAnalyzer();

StringReader sr=new StringReader(line);

TokenStream ts=analyzer.tokenStream("", sr);//分词流,第一个参数无意义

//迭代分词流

try {

while(ts.incrementToken()){

CharTermAttribute ta=ts.getAttribute(CharTermAttribute.class);

System.out.println(ta.toString());

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

新闻文文本分类源文件

每个文件夹代表一个类别,每个类别下的文件代表一条新闻

0fce1e724ac6d74ae4ef738d302857f4.png

中文新闻分类需要先分词

对于大量小文件可以使用FileInputFormat的另一个抽象子类CombineFileInputFormat实现createRecordReader方法

CombineFileInputFormat重写了getSpilt方法,返回的分片类型是CombineFileSpilt,是InputSpilt的子类,可包含多个文件

RecordReader怎么由文件生成key-value是由nextKeyValue函数决定

自定义的CombineFileInputFormat类package org.conan.myhadoop.fengci;

import java.io.IOException;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.Text;

import org.apache.hadoop.map

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值