利用余弦相似度做文本分类:

在数学中余弦相似度的公式:cos(a,b)=a*b/(|a|+|b|),而在文本上,我们的余弦相似度通常是这样计算而成:

(文本a,b共同出现的词条数目)/(文本a出现的词条数目+文本b出现的词条数目)

处理两个纯文本的相似度可以这样处理,但对于文本分类来说,我们更多使用的是“训练集”与“测试集”的概念,具体我们会抽取训练集的词条,形成语料库,然后统计这些语料库中的词条在测试集中出现的频数以及在训练集中出现的频数,形成词条词频特征码,进而计算相似度。

在现实中,文本a,b都出现相同而不重要的词条,如:“的,地,我们,你”等。我们的解决的方案可以是,建立停用词库,对文本先预处理,去除文本的不重要词条。或者,用TF-IDF,TextRank等算法提取重要的特征词。而我在多次实验中发现,文本中较为重要的往往集中于实体名词,也就是说,我们可以提取带有vn,n等词性的词条,然后统计相同出现的数目,计算余弦相似度。

阅读原文 »

19 收藏


直接登录

推荐关注