BOW使用指南

本文介绍了BOW(bag-of-words)工具包中的rainbow、arrow和crossbow三个程序的用途和用法。rainbow用于文本分类,通过建立模型并进行测试,支持多种参数调整;arrow专注于文本检索,利用TF-IDF进行索引和检索;crossbow则用于文本聚类。此外,文章还详细展示了如何使用这些工具进行文档处理和分类任务。
摘要由CSDN通过智能技术生成


先规范一下发间:bow的韵音同low而不是cow。

 bow包含三个项目:rainbow用于文本分类;arrow用于文本检索;crossbow用于文本聚类。这三个程序是独立的。

Rainbow

使用rainbow前首先要建立原始文档的一个model----包含了原始文档的一些统计信息,使用rainbow命令时通过-d选项来指定model的路径。

rainbow -d ~/model --index ~/20_newsgroups/*

以上命令是为 20_newsgroups所有分类创建model,生成~/model文件。

--index目录可以分别写:rainbow -d ~/model --index ~/20_newsgroups/talk.politics.guns ~/20_newsgroups/talk.politics.mideast ~/20_newsgroups/talk.politics.misc

--index可简写为-i

rainbow不支持一个文档拥有多个类标签。

各个文档属于哪个类都已经包含在了model中。

 rainbow -d model --print-doc-names    打印出model中包含的所有文件的文件名(包括完整路径)。

默认情况下rainbow在建立model把字母都转换成了小写,并去除了停用词。

当然用rainbow建立model时还有很多选项可以指定,比如--skip-html可以路过“<"和“>"之间的所有字符;--skip-headers (or -h)选项跳过新闻组或邮件的headers before beginning tokenization.

为原始文档建立好索引后就可以来进行分类了。

 rainbow -d ~/model --test-set=0.4 --test=3

表示输出3次试验的结果,60%的文档作为训练集,剩下40%作为测试集。

输出类似于:

 /home/mccallum/20_newsgroups/talk.politics.misc/178939 talk.politics.misc talk.politics.misc:0.98 talk.politics.mideast:0.015 talk.politics.guns:0.005

指出了一个文档属于各个类的概率。

bow路径下还有一个perl脚本文件--rainbow-stats,它的输入是以上分类命令的输出,它的输出是平均精度、标准差和混淆矩阵。

rainbow -d ~/model --test-set=0.4 --test=2 | rainbow-stats

进行2次trail,输出形如:

Trial 1

Correct: 1077 out of 1200 (89.75 percent accuracy)

 - Confusion details, row is actual, column is predicted

               classname   0   1   2  :total

 0    talk.politics.guns 378   2  20  :400  94.50%

 1 talk.politics.mideast   7 374  19  :400  93.50%

 2    talk.politics.misc  57  18 325  :400  81.25%

Percent_Accuracy  average 90.38 stderr 0.44

--test-set选项也可以为整数,如--test-set=30,将试图从集合中随机选取30个文档作为测试集,并尽可能保证我30个文档平均分布于各个类中。

--test-set=200pc表示每个分类中随机选取200个文档放入测试集。

你甚至可以具体指定哪个文件放在测试集中--test-set=file1 fil2     各个文件用空格分开。

同理可以指定train-set:rainbow -d ~/model --test-set=file1 --train-set=file2 --test=1

一个文件不能同时出现在--teat-set和--train-set中。

默认情况下不在--test-set中的文档都在--train-set中,我们也可以反过来指定:

rainbow -d ~/model --train-set=1pc --test-set=remaining --test=1

如果测试集不在model中,也可以另外指定:rainbow -d ~/model --test-files ~/more-talk.politics/*

特征项选择

--prune-vocab-by-infog

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值