1.什么是共现矩阵:
共现矩阵:也成为共词矩阵,能表明两个词之间的关系程度
2.构建过程:
数据准备:
假设有10篇文本,我们将从这10篇文本中,提取每一篇的分词结果,并存入Single_text_list中。再将由10篇文章的关键词列表合为一个列表Full_text_list,
Full_text_list=[ [文章1切词结果],[文章2切词结果] ...]
构建:
1.对每篇文章作词频统计,选出其排名前100的词及词频(或者全部词频统计结果)
2.对词频统计结果求并集,结果存入一个字典中,keys()为词,values()为每个词的词频。再将所有特征词存入Full_Feature_word列表中,其对应的词频存入Full_Feature_weight列表中。
3.建一个二维矩阵Common_matrix其大小为: 总特征词词数x总特征词词数 (也就是共词矩阵)。其横竖分别对应总特征词中的每个词,例如矩阵第3行第5列的数值即代表,特征词第3个与特征词第5个的关系程度,同时它的值也等于该矩阵第5行第3列的值。(对,没错,它也是一个对角矩阵)
4.将共词矩阵对角线上元素赋值为它自身在所有文章出现次数。
5.循环遍历特征词列表,构建全部两个词之间的组合,再遍历每一篇文章的切词结果,如果该两个词在同一片文章中出现,则该两词的权重+1,再将其存入共词矩阵的对应位置中。例如特征词第6个和特征词第8个,这两个词的权重为3,则将其权重3存入共词矩阵的第6行第8列和第8行第6列中。
3.重要功能:
在构建好共词矩阵后,我们需要能够获取 总特征词,特征词所对应的共词矩阵。有了这些,我们还希望能够获取一个词与所有特征词的关系列表
4.python代码
在这里我构建了一个共词矩阵的类,该类接收 Full_text_list=[ [文章1切词结果]