英语原文共 11 页,剩余内容已隐藏,支付完成后下载完整资料
文本检索的可视化与聚类
阿卜杜勒·纳塞尔·波阿蒙*
土耳其伊兹密尔埃格大学国际计算机研究所,35100
摘要
在这个快速变化的世界中,所有的对象都将会生成数据,处理大数据已经成为了数据学家关注的主要问题。这些科学家们面临的主要挑战是很难以一种更好的方式去表示这些数据,所以很难将这些数据中隐藏的信息传达给用户。因此,许多数据分析和数据可视化技术被提出。
除此之外,根据可视化数据的性质和要通信信息的类型,应该考虑一定数量的数据处理技术。
在这项工作中,我们分析并可视化了从TREC(文本检索会议)集合中获得的TREC-6样本数据。TREC文件集合包含来自报纸文章和美国政府记录的全文。他们致力于研究信息检索系统(IR)和自然语言处理的发展。首先,通过解析文档和提取单词,以n*p矩阵的形式构建语料库。然后,对语料库矩阵进行主成分分析,是维数从p降到2。最后,使用无监督K-means算法将数据区分为多个簇,这些簇借助于饼图、堆叠条形图和散点图等流行的可视化工具进行交互可视化。TREC-6中包含的信息性质的多样性可以观察到,通过点击相应的集群的饼图,每个集群中出现频率最高的单词会出现在条形图上。
关键词:数据可视化;TREC集合;主成分分析;K-均值算法;集群;
1 概要
数据可视化的目的是通过图形化的可视对象将数据信息传递给用户,如柱、点、线等[1]
在这项工作中,使用的数据集主要来自TREC(文本检索会议)集合。TREC文件集合包括报纸文章和美国政府记录的全文。他们主要致力于信息检索系统和自然语言处理领域的研究,并致力于他们工作的发展。[2]在这项工作中,我们通过分析聚类和可视化来自TREC的文档集合一遍弄清楚他们在原文中,主要是关于什么,以及主要主体有多么多样化。因此,我们首先通过构建一个n*p的矩阵(其中n是数据集中的文档数量,p是在整个语料库中的单词数量),其次,我们执行主要成分分析(PCA),以减少我们的数据集的维数,从p(pgt;2000)到2,然后,我们可以使用PCA处理后的数据集来进行K-means算法的文档聚类。最后,利用饼图、堆叠条形图对集群进行可视化操作,并利用散点图将集群映射到笛卡尔空间中。
此外,为了更好地理解本文的后续内容,我们想强调这项工作背后的一个重要期望。这项工作主要是关于将文档数据集聚集到给定对象中的数据可视化,这些文档按照文档之间的相似性聚集成给定的K组(集群)。然后是聚集的数据集用于满足任何其他科学工作的需要,例如分布式信息检索。
1.1. 系统概述
在启动程序时,我们有一个窗口,其中有三个空的标题窗格,对应于三个图表,这些图表将在处理时显示我们的数据(图1a)。此外,在最左边,我们有一个文本框,其中包含集群的初始数量k,一个流程数据按钮用于启动数据处理,一个清除数据按钮用于清除以前可能处理过的数据。如图1b所示,在数据处理结束时,窗口显示三个图表(从右到左):
bull;一个饼图,表示集群在整个数据集中的比例及其图例。
bull;一个堆叠条形图,点击饼图中对应的部分,显示集群中10个最频繁的单词。
bull;散点图,其中每个散点表示数据集中的文档,并采用文档所属集群的颜色。
图1a:起始窗口
图1b:系统概述
图2:数据处理步骤
2.主成分分析
2.1. 释义
主成分分析(PCA)是一个数学过程,它使用一系列线性代数运算将一组可能相关变量的特征转换为一组称为主成分的自变量的新特征。主成分是正交的,并且在统计上彼此不相关。换句话说,主成分分析(PCA)是一种通过突出它们的相似性和差异性来检测大型数据集模式的过程。然而,从大数据中识别并提取模式非常困难,甚至可能不能对具有大量维度的数据进行可视化。然后,通过PCA减少维数来分析和压缩数据,有时会丢失一些数据。卡尔·皮尔森在1901年首次提到PCA。此外,在20世纪30年代后期,PCA被开发并命名。根据应用领域的不同,PCA采用不同的名称。在本例中,我们将通过显著降低数据集的维数来对数据集应用一些线性代数操作,以便更容易地在二维空间中进行聚类和可视化。
这个过程就叫做特征值分解。
2.2. 方法
2.2.1. 数据集的准备
正如引言中提到的,我们这里的数据集是来自TREC(文本检索会议)集合的一组文档,即TREC 4和5。由于此数据集包含数千个文档,加载和解析可能需要数小时,因此我们制作了一个包含67个文件的小样本,这些文件在我们的整个工作中都使用过。具体地说,数据准备包括通过删除停止词(if、then、but、before等)从我们的文件中提取所有单词,以获得一个n*p的矩阵,其中n为行数表示数据集中文档的数量以及与p是语料库中单词(单词包)相对应的特征的数量。对于给定的文档(i行)和给定的单词(j列),Mij=x表示,如果j在文档i中正好出现x次。换句话说,x表示j在文档中i的出现。
2.2.2. 平均值的计算和减法
在PCA过程中,计算每个数据维度(向量)的平均值,并在每个维度上减去。此外,它将在以后用于计算协方差。在我们的例子中,我们计算每个特征向量的平均值,然后在整个列中减去它。如果X是包含n个元素的向量,则X的平均值由数学公式给出:
请注意X表示X集合平均值的符号。
2.2.3. 协方差矩阵的计算
为了得到协方差矩阵,我们应该计算矩阵向量的协方差。协方差总是在两个维度之间测量,找出尺寸与平均值之间的差异。尺寸X和Y之间的协方差由以下公式给出:
如果我们计算一个维度和它自身之间的协方差,我们就得到了方差。因此,如果我们就得到了一个三维数据集(X,Y,Z),那么我们可以测量X和Y维度、X和Z维度以及Y和Z维度之间的协方差。事实上,对于多维数据集,我们可以计算不同的协方差值。为了得到所有不同维度之间所有可能的协方差值,我们可以计算它们并将它们放入矩阵中。这个矩阵称为协方差矩阵。
因此,具有p维度的一组数据的协方差矩阵的定义为:
其中Cpxp是包含p行和p列的矩阵,Dimx是xth的维度。这个公式所表达的是,如果我们有一个多维数据集,那么矩阵有p行和p列(所以是正方形),矩阵中的每个条目都是计算两个独立维度之间协方差的结果。例如,第3行第2列上的条目是在第三维和第二维之间计算的协方差值。值得注意的是,沿着主对角线,我们可以注意到协方差值在一个维度和它本身之间。这些是该维度的方差。另一点是因为cov(a,b)=cov(b,a),矩阵关于主对角线是对称的。
2.2.4. 特征值分解
这一步被认为是主成分分析的精髓。它允许找到协方差矩阵的特征向量和特征值。它包括计算使协方差矩阵E对角化的特征向量矩阵C:
(4)
其中D是协方差矩阵特征值的对角矩阵C。这一步涉及到许多非常复杂的算术运算,包括方程解析,尤其是当我们要处理三维以上的问题时(在我们的例子中pgt;2000)。因此,建议使用现成的由库提供的算法,具体取决于所使用的语言或系统。在我们的例子中,当我们用Java编程语言编码时,我们使用了JAMA。JAMA是Java的基本线性代数包。它提供了用户级类,用于构造和操作实密集矩阵[5]。
2.2.5确定新数据集
在获得特征向量和特征值矩阵后,我们将特征向量按降序排序,以获得在矩阵开始处具有最大特征值的特征向量,同时注意保持矩阵阵列之间的正确配对。非常幸运的是,调用某些库时,会以降序或升序返回排序矩阵(JAMA的情况)。因此,只需要选择plsquo;个特征向量的子集作为基向量。在我们的例子中,prsquo;=2,因为目的是在最后将数据集投影到笛卡尔空间中。因此,我们将有一个2列的P*2Elsquo;的矩阵,最终,我们使用以下公式来获得新的数据集:
其中 Mrsquo;rsquo;(我们的新数据集矩阵)是一个n*2的矩阵(记住,我们的数据集中有n个文档)并且 Mlsquo;是减去的平均值(我们从PCA开始的每列中减去平均值)矩阵。
3.文档聚类
3.1 定义
聚类是一个将较大的集合细分为成为簇的较小子集的过程。每个子集的元素都是相似的,并且有一些共同的属性。距离度量是使用距离测量方法计算相似度或接近度。当集群元素是文本文档时,我们称它们为文档集群或文本集群。文档聚类涉及特征的提取和使用,特征是集群内容字里行间的特征。通常,尤其是在机器学习和自然语言处理中,文档聚类被严格的等同于文本聚类,即主题建模,其结果是相似单词的聚类。与主题建模不同,我们在这里的工作涉及将数据集物理拆分为给定数量的包含类似文档的集群。简而言之,我们正在执行文档分区。
3.2基于K-means算法的聚类
3.2.1定义
K-均值聚类是数据挖掘中最著名的聚类算法之一。它包括将元素分离成k个簇,其中每个元素都属于具有最接近平均值的簇,作为簇的模型。在每次迭代中,重新计算每个簇的平均值,并相应地重新分配元素。麦奎因在1967年设计了K-Means算法。该算法有两个关键参数:(1)一个数据集,(2)一个正整数k,表示从数据集构建的建议聚类数[8]。
3.2.2原理
K-均值算法的功能如下:
输入:k个数,和一个包含n个对象的数据集。
输出:使平方误差准则最小化的一组K-簇。
方法:
(1)任意选择K个对象作为初始聚类中心。
(2)重复。
(3)(重新)根据簇中对象的平均值(质心),将每个对象分配给对象最相似的簇;
(4)更新聚类平均值,即计算每个聚类对象的平均值;
(5)直到没有值变化。
此外,需要强调的一点是,应该对数据集文档进行解析,从而以矩阵形式专门用于PCA数据集的准备(见上文的数据集准备部分),幸运的是,对于我们的K均值聚类,我们使用了从PCA应用程序获得的简化矩阵,它可以很好的表示初始数据集。此外,这也能进行更少的算术运算。另一点需要注意的是,K-均值是一种随机操作,对于相同的输入,会给出不同的结果。因此,重要的是使用不同的距离度量来运行它,并保留能够很好地满足我们期望的结果。在K-means聚类结束时,我们将每个文档从数据集复制到其相应的集群文件夹,以获得不同的数据分区。
3.2.3. 距离度量
在K-means聚类算法中,可以根据数据集使用不同的距离度量。然而,最常见的距离度量是曼哈顿距离、欧几里得距离、余弦距离、雅卡距离、相关性等。
余弦距离为我们的数据集提供了最小平方误差和(SSE)和更好的可观察聚类表示(图3)。然而,由于距离度量基准不是这项工作的目的,我们将不再停留。
图3:余弦距离的K-均值性能统计
4. 可视化
4.1. 饼图
饼图是最流行的数据可视化工具之一。通常,它用于根据特定的分离标准可视化一组对象的分布。在我们的例子中,它帮助我们计算出每个集群有多大。切片数对应于至少包含一个文档的集群数(不考虑空集群)。每个切片的面积与相应集群中包含的文件(文档)数量成比例(图4)。
图4:聚类分布的饼图可视化
4.2. 堆积条形图
堆叠条形图是条形图的一种变体,允许在多个集合中可视化对象的不同比例。在我们的例子中,它显示了一个单词在它所属的集群(红色条)和整个数据集中(黄色条)的频率。这是在单击饼图(右)中与给定集群对应的部分时以交互方式完成的。对于每一组,我们选择将十个最常见的单词形象化。这有助于对给定集群中包含的不同主题或文档字段进行概述(图5)。
图5:堆叠条形图(左),单击对应的饼图切片(右),显示Cluster4中10个最常见的单词。
4.3. 散点图
散点图或散点图是数学中常用的一种图,用于将数据投影到笛卡尔空间[9]。包含两个变量的每组数据以点的形式显示在二维空间中。第一个变量的值定义点在水平方向(轴)上的位置,第二个变量的值定义点在垂直轴上的位置。在这个层次上,主成分分析(PCA)所做的出色工作是显而易见的。多亏了PCA,我们从特征向量中提取并构建了两个新的特征,它们很好地代表了我们的数据集。在此图表中,每个点都表示一个文档,该文档采用其所属集群的颜色。图表的轴由从PCA获得的两个正交特征向量指示。当我们看散点图时,乍一看,人们可能会想,文档不是很分散地分布在图表的两个轴上(图6)。这是从无法可视化的二维空间(gt;2000)缩减为二维空间的结果。因此,分散点的限制揭示了数据集集合中文档之间的高度相似性,尽管可以观察到不同的聚类。此外,当我们放大散点图时,通过一些噪声,我们可以观察到文档在集群中的清晰聚集(图7)。
图6:散点图群集可视化,无需放大
图7:具有放大功能的散点图群集可视化
5. 结论
总的来说,在这项工作中,我们使用主成分分析来提取两个代表最佳结果的特征。我们的初始数据集由p(pgt;2000)个特征组成,这些特征不太容易聚类,甚至不可能可视化。然后,使用K-均值聚类算法对文档进行聚类。使用饼图、堆积条形图和散点图将聚类结果可视化。整个工作中使用的数据集主要由来自TREC(
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[589660],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。
您可能感兴趣的文章
- 饮用水微生物群:一个全面的时空研究,以监测巴黎供水系统的水质外文翻译资料
- 步进电机控制和摩擦模型对复杂机械系统精确定位的影响外文翻译资料
- 具有温湿度控制的开式阴极PEM燃料电池性能的提升外文翻译资料
- 警报定时系统对驾驶员行为的影响:调查驾驶员信任的差异以及根据警报定时对警报的响应外文翻译资料
- 门禁系统的零知识认证解决方案外文翻译资料
- 车辆废气及室外环境中悬浮微粒中有机磷的含量—-个案研究外文翻译资料
- ZigBee协议对城市风力涡轮机的无线监控: 支持应用软件和传感器模块外文翻译资料
- ZigBee系统在医疗保健中提供位置信息和传感器数据传输的方案外文翻译资料
- 基于PLC的模糊控制器在污水处理系统中的应用外文翻译资料
- 光伏并联最大功率点跟踪系统独立应用程序外文翻译资料