java 统计txt文本分割器中的总词数

& & 近几天在看一个文本分类的程序,写一下具体的实现过程。有的时候看了算法,感觉很明白了,但是自己实现的时候却又无从下手。这次从一个实际程序出发,或许能够更好的理解。
& & 首先是训练数据集和测试数据集。每个文档一行,&主要包括&&class&1&/class&&title&asdfgh&/title&&content&asdfghjkl&/content&等项目。届时程序会按行读取,每行读一个文档。
特征选择分以下几个步骤:
1.设置特征向量的维数:一般以3000为佳;
2.对训练数据做处理;
3.加载停用词;
4.针对不同特征选择算法的处理;
4.是否检查某些词语(?啥);
5.输出选择的特征项;
主要是第二步的预处理:
& & 1.首先按行读取文件,每行是一个文档,doc;注意,以下几项都是对一个文档的处理;然后循环处理每个文档,直至文件结束;
& & 2.对每个文档做处理,提取出其中的各个item,包括label,即class标签内的。title和content等;
& & 3.若是中文数据集,调用分词模块做分词,英文数据集直接用字符流处理。分词结果保存在一个vector中;
& & 4.接下来这一步是至关重要的,生成全局词典:
(1)将分词结果保存在一个map变量中,map&string, uint& wordsM第一项为词语,第二项为该词出现的次数;同时,定义变量wordsNum,记录该文档中出现的总词数;
(2)保存每个类别中的总文档数目和总词数;定义一个结构体,包含三个变量,一个类标,一个是总文档数;一个是总词数;放入一个全局的
(3)这一步处理的信息很重要,生成全局词典:这个map的第一项为相应的term,第二项是一个结构体的vector,这个结构体包括类标名、文档数、该词出现的次数;因为一个term可能在多个类中出现,所以用vector来存储。vector的长度就是该term属于哪个类。
4(3)中生成的这个全局词典非常重要,后面各个算法都是用的这里面的信息。待续……
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:47758次
排名:千里之外
原创:23篇
转载:22篇
评论:40条
(2)(1)(1)(1)(1)(1)(7)(1)(1)(1)(9)(5)(3)(2)(4)(6)在java中怎样把文本区域里的内容保存成txt格式的文件_百度知道
在java中怎样把文本区域里的内容保存成txt格式的文件
提问者采纳
setBounds(48; private JTextArea txtArea.EXIT_ON_CLOSE).JTextA
setBounds(100.JB
txtArea.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
buf = new BufferedWriter(new FileWriter(&quot.txt&quot.awt.setText(&quot:\
getContentPane().swing.).awt.getText();
final JButton btn = new JButton(), 106;
btn.printStackTrace().swing.add(txtArea).printStackTrace(), 300), 149;
} } public Test() {
super(); public static void main(String args[]) {
Test frame = new Test();).ActionE
txtArea = new JTextArea();
String str = txtArea.flush();
setResizable(false), 54;import java, 200, 300;
getContentPane();import javax.event.setVisible(true);Test&quot.ActionListener, 100.setBounds(95.import java.write(str).setLayout(null);
} catch (IOException e1) {
e1;);F.BufferedWriter, 26);
setTitle(&import java.FileW
} catch (Exception e) {
getContentPane();Save&frame&
setDefaultCloseOperation(JFrame.JFrame.public class Test extends JFrame { private static final long serialVersionUID = 1L;)).
private BufferedWriter buf, 63);import javax.IOException.add(btn)
提问者评价
谢了 哥们 好久不上了
其他类似问题
按默认排序
其他1条回答
writer.io.flush();public class Test { public static void main(String[] args) throws Exception {
String txt = &
writer.BufferedWimport java..FileW)).txt&文本内容&quot.write(txt);
BufferedWriter writer = new BufferedWriter(new FileWriter(&aa.close()import java
您可能关注的推广
txt格式的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁高分求代码!!用java如何检索一个文件夹里所有txt文件中,共有20篇文档 要求:1.读文件_百度知道
高分求代码!!用java如何检索一个文件夹里所有txt文件中,共有20篇文档 要求:1.读文件
查询 用(3)&#47: “ ”计2,算机!3,(2)所有文档的总词数,计算,有多少词.对每一篇文档进行分词 两个字为一个词
例如,(4)词在所有文档中的总次数:“计算机”分成 ,4,(3)词在文档中的次数!.(1)计算每篇文档的长度;(1)+(4)&#47
代码 两天之内发到
提问者采纳
,国共先标记一下,热爱。,共产,共产党,爱中国:我热爱中国共产党
的词有,中国。,热爱,中国。还是我。这样的,产党,爱中:我热。 两个字一个词是不是? 初步模型已发邮箱,请尽快运行并回复
提问者评价
其他类似问题
待会接收分挺少的~不过还是给你写了一部分,后面那几个小点自己写哈,前面的主体我都给你弄完了,不要你分了
txt文件的相关知识
其他2条回答
200分都没人做的
查询 用(3)/(1)+(4)/(2)结果取对数ln 在求和
所有结果排序神马情况
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何用java实现统计文本中的字符数(分包含不包含空格)及将大写字母转换为小写字母后复制到另一个文件_百度知道
如何用java实现统计文本中的字符数(分包含不包含空格)及将大写字母转换为小写字母后复制到另一个文件
).close();
catch(IOException e1){
Spublic class KY8_4{public static void main(String []args){
int b=0!=32))
n2++;java&#47.println(&quot.println(&quot.}
S个字节&quot.read()).txt&quot.exit(-1);
output下面是我写的代码 便已没有错误 可是结果只执行了一部分 到底哪里错了呢 请高手指教).含空格一共&quot.read()).*;
FileOutputStream
FileInputStream
input=}+n2+&).txt&
while(((b=The file cann'+n1+&)!&
long n1=0;
long n2=0;
System.write(b);).read());t be found:&#47.close()!=-1) && ((b=
input=new FileInputStream(&)!&f;Early-Precaution:/
catch(FileNotFoundException
SFile read error!=-1)
{ if(b&java&#47.println(&
while((b=个字节&quot.out!=-1)
output=new FileOutputStream(&f;=90 && b&
output.read());=65)
b=b+32.println(&不含空格一共&quot.exit(-1).io
提问者采纳
String value=null!=null){
BufferedWriter bw=null.printStackTrace().read());1统计读取到多少个字符
lon=value2; &quot!=32))
n2++.toLowerCase();&#47.out.readLine())、 while(((b=&#47、while((b=} catch (Exception e) {
e.txt&quot,功能基本实现了的;)!=-1) && ((b=input.write(lowerCase),肯定是空的;}第1次(while)执行完毕的时候文件!=-1)
n1++;个字符&quot,读取文件的指针已经到达末尾了;+(及将大写字母转换为小写字母后复制到另一个文件
FileReader fr=null.read()).println(&空格字符数为&quot: 1。你可以看下参看一下我的代码:/)!=null){
fw,你的第2步继续用(while)从里面读取;
bw=new BufferedWriter(fw);+lon+&quot.close();;
br=new BufferedReader(fr);
/ public static void main(String[] args) {
new CharTest();2. BufferedReader br=
/4;d; String value2=&quot!=null){
if(fr,所以后面的执行都不能继续下去;/1.*; int lon。package javaT如何用java实现统计文本中的字符数(分包含不包含空格) &#47.println(& } public CharTest(){
fr=new FileReader(&}
2.length-1)).close();3统计一共有多少个空格
System.txt&/d.split(&quot.length();
/2将读取到的数据以空格的方式分割以后放入字符数组中
String string[]=value2、将读取到得内容转换成小写
String lowerCase=value2!=null){
} catch (Exception e) {
e;public class CharTest { &#47.一共读取到&);/ FileWriter fw=):看一下你的这两行代码.close();
while((value=br.close()!=null){
value2+=value://
bw.read())、将转换以后的字符串写入到另一个文件中区
fw=new FileWriter(&&quot说一下你错误的原因吧.printStackTrace()
提问者评价
非常感谢哦
其他类似问题
大写字母的相关知识
按默认排序
其他2条回答
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 java txt文件读写 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信