一种 基于改进K_medoids的 句子文本聚类方法
来源:互联网 发布:bi数据分析师要会什么 编辑:程序博客网 时间:2024/04/28 05:41
【方法介绍】
怎么来表示两个规则描述的句子相近?
我们定义一种距离,两个句子 str1,str2,代表两个之间规则的描述;
str_com是str1和str2的最大公共子串,n1,n2,n0分别是str1,、str2、str_com的长度,
str1、str2的距离定义为:
dis(str1,str2) = 1 - 2*n0/(n1+n2);
这个距离是一个0到1之间的数,如果str1和str2完全相同则距离为0,完全不同则距离为1。
怎样来对句子聚类?
常用的聚类方法有 k-means 和 k-medoids,k-means需要样本特征的统一量化表示,句子文本不具备这种特征,但是我们定义了句子的相对距离,可以使用k_medoids进行聚类。
一般的k_medoids方法有两个问题:
1 初始中心点不好确定(对聚类结果造成较大影响)
2 分类的数量K无法确定
作者提出了一种改进k_medoids的聚类方法。
1 随机初始化K类的类中心。
2 对每一个样本按照离类别中心距离最近 对各样本进行分类
3 检查每个类,如果一个类的各样本与类中心样本的最大距离>0.5,则将离中心样本的类划分为一个新的类,K增加1,并停止检查
4 依次对各类进行类中心选举,选举以类距离最小为标准,如果某类的中心改变,停止其他类的中心选举。(类距离,类内所有样本离类中心的样本距离)
重复2~3~4过程直到类稳定(没有产生新类 且 类中心不发生改变)(终止条件也可以设为 类别数达到自设阈值 或 迭代数达到自设阈值)
改进点:
改进点为步骤3,当一类中某个样本与类别中心得距离超过阈值(比如0.5)时,该类中距离类别中心最远的样本从原类中裂开,成为一个单独的类。
这样K会随着阈值的不同而变化,。
【处理结果】
聚类结果:
一共1220条规则,用约150类划分了900条规则。
【代码及数据】
主要代码:
check_k_medoids.m
get_lcs_dis.m
数据:
disM.mat 预算距离矩阵
【其它方法调研】
常见方法:
向量空间模型(VSM )表示文本(文档,even句子)相似度,描述文本距离。
分类层次聚类DIANA:
- 一种 基于改进K_medoids的 句子文本聚类方法
- 基于Qt有限状态机人工智能的一种实现及改进方法
- Lz77的一种改进方法
- 文本小票的一种无监督聚类方法
- 基于一种改进的提取形状特征向量方法,实现图像检索
- 一种改进哈希冲突的方法
- 一种新型的基于隐马尔科夫模型—支持向量机模型的文本分类方法
- 一种基于R-Tree的改进多维索引[待正稿]
- 一种基于邻接图模型的改进LDA算法
- 基于密度聚类算法的改进
- 一种改进的自适应快速AF-DBSCAN聚类算法
- 基于文本的简易k->v数据库改进版
- uC/OS-II任务栈处理的一种改进方法
- 蛇形矩阵:对上一种方法的改进
- uC/OS-II任务栈处理的一种改进方法
- [转]改进的PHP文本数据库类
- [转]改进的PHP文本数据库类
- 应用于文本分类问题的TF-IDF改进方法
- 常用类练习提
- 数据结构实验之链表七:单链表中重复元素的删除
- hdu5775 Bubble Sort
- 为什么小猫统计默认使用firebird数据库?
- 寻找第二小元素
- 一种 基于改进K_medoids的 句子文本聚类方法
- Toast统一管理类
- 每日一记-Maven使用简单小结
- MAC泛洪攻击和防御
- 147. Insertion Sort List
- POJ 1251 Jungle Roads 【最小生成树】
- HDU 2112 HDU Today【最短路+map容器,spfa算法+Dijkstra算法】
- 下载状态
- android实现自动更新