NLP笔记之文本聚类
一、概述
文本聚类是聚类在文本上的应用。由浅入深,需要先介绍聚类的思想。
二、聚类思想简介
聚类是将给定对象的集合划分为不同子集的过程,目标是使每个子集内部的元素尽量相似,不同子集(簇)之间的元素尽量不相似。根据元素从属集合的确定程度,聚类分为硬聚类和软聚类。
1.硬聚类:每个元素被确定地分入一个类
2.软聚类:每个元素与每个簇都存在一定的隶属程度,只不过该程度有大有小。
在实际工程尤其是NLP任务中,由于硬聚类更加简洁,所以使用得更频繁。
三、文本聚类
文本聚类指的是对文档进行的聚类分析,被广泛应用于文本挖掘和信息检索领域。最初文本聚类仅仅用于文本归档,后来人们又挖掘出了许多新用途,比如改善搜索结果、生成同义词,等等。
如果能将文档表示为向量,那么剩下的算法就与文档无关了。那么,如何能将一篇文档表示为一个向量呢?
四、文档的特征提取
4.1 词袋模型
步骤如下
(1)将训练集文档的所有词语构成一个词表,词表之外的词语称为OOV。设该词表大小为N。
(2)对未知的新文档,只统计该文档中的属于词表中的词的词频,构成长度为N的向量,视为该文本的特征向量。
词袋模型的计算成本很低。同时,‘人吃鱼’和‘鱼吃人’的向量特征是一模一样的,因为词袋模型只关注词频数据。这好像很荒谬,但是词袋模型依然是一个很难打败的基线模型。