您的位置 首页 > 数码极客

构建用于文本聚类的空间向量模型时应该如何作特征选择?

引言:近期的人工智能项目中,涉及到抽取小范围时间内的相似文本的需求,故小编应V粉们请求,运用java语言编写以下小程序,在此分享。

把文本转化成数学模型,通过数学方法处理文本的先决条件,此过程称为文本特征抽取。其中,向量作为一种基本的数学模型,是文本特征抽取的一种常见方法。

文本的向量空间模型(VSM)

向量空间模型中将文本表达为一个向量,看作向量空间中的一个点。

词权重

句子中的每个词在决定句子的含义时贡献度并不相同,表明每个词的权重不同,例如:

· * 重要的词:世界杯、国足

· * 不重要的词:球迷、亚洲杯

词权重:反映每个词的重要性的度量。那么如何计算权重呢?下面由小编向大家介绍注明的TF/IDF计算方法。

TF-IDF与余弦相似性

首先,让我们从一个实例开始:假如现在有一篇文章《假如国足获得世界杯冠军》,我们准备用计算机提取它的关键词,这个问题涉及到文本处理、数据挖掘、信息检索等多个领域,但是这是一个非常简单的经典算法。找到出现次数最多的词,是一个最容易考虑到的想法,如果某个词很重要,它应该在这篇文章中多次出现。

其次,我们进行"词频"(缩写为TF)统计。出现次数最多的词是"的"、"是"、"在"这一类最常用的词。它们叫做"停用词",表示对找到结果毫无帮助、必须过滤掉的词。假设我们把它们都过滤掉了,只考虑剩下的有实际意义的词。问题又随即出现,"国足"、"世界杯"、"冠军"这三个词的出现次数一样多。是否意味着,作为关键词,它们的重要性是一样的?显然不是。因为"国足"是很常见的词,相对而言,"冠军"和"世界杯"不那么常见。如果这三个词在一篇文章的出现次数一样多,有理由认为,"冠军"和"世界杯"的重要程度要大于"国足",也就是说,在关键词排序上面,"冠军"和"足球"应该排在"中国"的前面。

最后,我们需要一个重要性调整系数来衡量一个词是不是常见词。如果某个词比较少见,但是它在这篇文章中多次出现,那么它很可能就反映了这篇文章的特性,表明它正是我们所需要的关键词。

用统计学语言表达,即在词频的基础上,要对每个词分配一个"重要性"权重。最常见的词("的"、"是"、"在")给予最小的权重,较常见的词("中国")给予较小的权重,较少见的词("冠军"、"世界杯")给予较大的权重。这个权重叫做"逆文档频率"(IDF),它的大小与一个词的常见程度成反比。知道了"词频"(TF)和"逆文档频率"(IDF)以后,将这两个值相乘,就得到了一个词的TF-IDF值。某个词对文章的重要性越高,它的TF-IDF值就越大。所以,排在最前面的几个词,就是这篇文章的关键词。

伪码如下:

计算余弦夹角:

计算结果:

通过以上实验,我们由此判断,文章越相似,阀值越高。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“构建用于文本聚类的空间向量模型时应该如何作特征选择?”边界阅读