(1)词向量模型(vector space model),它将文档中的词项映射到$n$维线性空间。
(2) 词项频率-逆文档频率(term frequncy-inverse document frequency)模型,简称TF-IDF。这种模型的本质是:文档中出现频繁(TF),但在整个文档集中出现相对不频繁(IDF)的词要比在大量文档中普遍存在的词更重要。它用来得到词项的权重,并由此构成词向量。
(3)文本聚类。文本聚类就是用某种相似度计算方法将未标记文档分组,即将文档集中所有文档分成多簇,簇中文档尽量相似,不相似文档出现在不同簇中。LDA(Latent Dirichlet Allocation)是一种主题建模方法(识别文档中的主题),它也是文档聚类的一种方法。Mahout是Apache下的开源分布式机器学习库。
主要有三种类型的文档聚类:针对文档的聚类;对搜索结果的聚类;词/话题的聚类。
(1)文档聚类通常是离线处理,它会输出一个文档列表和中心向量。对簇的描述可通过考察离中心最近的文档中最重要的词项(由某种权重机制来确定,比如TF-IDF)来生成。
(2)搜索结果的聚类会将结果聚类成多个簇。当用户输入一般性词项、有歧义(如Apple)词项或数据集包含不同类别时,需要对搜索结果聚类。搜索结果聚类通常有如下特点:
(a)对短文本片段(标题,或许和查询项匹配的部分正文文字)进行聚类;
(b)聚类算法要能在小规模结果集合上快速返回结果;
(c)检签十分重要,因为用户可能会将簇看成面,以进一步浏览结果集。
结果聚类可参见论文 A Survey of Web Clustering Engines(Carpineto 2009)。
(4)文档分类和归类(categorization)与标注。
文档分类与归类一般并没有区别。但在这本书中归类算法是指将对象放入输小的类别集合。比如将汽车归到小轿车、厢式轿车、货车等小类别中。
文档分类是指将一些主题的类别赋给文档。还有一些文档分类不是这样,比如情感分析会利用文档分类来确定产品评论的正负倾向,或邮件或客户请求背后的情绪。
文档特征对文档分类非常重要,提取文档特征的方法有
(1)词袋方法,它是最简单的特征提取方法。这种方法将文档看成词的集合,出现在文档中的每个词被看成特征,这些特征会按照其出现的频率计算权重。
(2)词组合也可得到有用的文档特征。可用$n$元组来得到最重要的词语组合。
(3)其它特征,比如作者和信息源就十分有用;文章出现在日文报纸上会表明这个文档更可能属于Asisan Business类;某个作者经常写体育类的文章; 文章长度可能用来判断是否属于学术论文还是邮件,或者是推文。
(4)借用额外的资源来从文档中导出特征。可借用WordNet一样的词汇资源来扩展文档关键词项的同义或近义词,扩展词项会作为特征使用。
(5)实体通常会作为很好的特征。