热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java文本自动分类_文本自动分类介绍黄大海的个人页面OSCHINA中文开源技术交流社区...

自动分类程序把一个未见过的文档分成已知类别中的一个或多个。分成一个类别叫做单类分类,分成多个类别叫做多类分类。一个典型的自动分类程序框架如下:常见的分类

自动分类程序把一个未见过的文档分成已知类别中的一个或多个。分成一个类别叫做单类分类,分成多个类别叫做多类分类。一个典型的自动分类程序框架如下:

46b8de2f89f51adfb36bc8fbc286d873.png

常见的分类方法有支持向量机(SVM),K个最近的邻居(KNN)和贝叶斯(bayers)等。这里用SVM方法实现文本分类。

Classifier4J 项目的文本分类:

//定义存储向量的变量

TermVectorStorage storage = new HashMapTermVectorStorage();

//新建一个向量分类器

VectorClassifier vc = new VectorClassifier(storage);

try {

//定义一个叫做”test”的类别

String category = "test";

//训练一个句子属于”test”类别

vc.teachMatch(category, sentence1);

//距离是cos夹角 相似度在[0,1]之间 0.852 代表比较相似 "hello blah"

//属于这个类

assertEquals(0.852d, vc.classify(category, "hello blah"), 0.001);

//距离是cos夹角 相似度在[0,1]之间 0.301 代表不太相似 "sentence" 不//属于这个类

assertEquals(0.301d, vc.classify(category, "sentence"), 0.001);

//0 代表不相似 "bye" 不属于这个类

assertEquals(0.0d, vc.classify(category, "bye"), 0.001);

//0 代表不相似 "bye" 不属于 "does not exist" 这个类

assertEquals(0.0d, vc.classify("does not exist", "bye"), 0.001);

} catch (ClassifierException e) {

e.printStackTrace();

fail(e.getLocalizedMessage());

}



推荐阅读
author-avatar
高粱_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有