我在度这篇论文范文《基于模糊认知图的在线健康社区知识推荐研究》,里面提到了关键词共现相似度,我很好奇这个是怎样计算的。

我一直在用GooSeeker分词和文本分析软件,该软件能够生成共现矩阵,另外还有一系列使用共现词做计算的Python程序可以选用,比如,计算TextRank,计算各种中心性:

1. 怎样使用Jupyter Notebook计算接近中心度
2. 如何使用Jupyter Notebook计算中介中心度(betweenness centrality)
3. 怎样利用集搜客的共词矩阵表计算点度中心性(Degree centrality)
4. Jupyter Notebook使用Python计算特征向量中心度(Eigenvector Centrality)
5. 科技政策文本分词后在Jupyter Notebook中用TextRank做关键词提取

Python的networkx程序库还有很多网络运算的函数,但是我没有看到关键词共现相似度的计算方法和应用场景,我看到论文中提到Pearson相关系数,是用来计算相似度的吗?


举报 使用道具
| 回复

共 3 个关于本帖的回复 最后回复于 2021-9-26 09:59

沙发
马涌河畔 金牌会员 发表于 2021-9-23 16:38:54 | 只看该作者
Pearson系数应该是指统计学上的3大重要相关系数之一:pearson 描述的是线性相关关系,取值[-1, 1]。负数表示负相关,正数表示正相关。在显著性的前提下,绝对值越大,相关性越强。绝对值为0, 无线性关系;绝对值为1表示完全线性相关。
举报 使用道具
板凳
Fuller 管理员 发表于 2021-9-23 18:12:07 | 只看该作者
马涌河畔 发表于 2021-9-23 16:38
Pearson系数应该是指统计学上的3大重要相关系数之一:pearson 描述的是线性相关关系,取值[-1, 1]。负数表 ...

我大概明白这个论文是怎么做的了。

比如,用GooSeeker分词和文本分析软件导出共现矩阵后,看列向量,比如,分析下岗话题,取词的列向量,比如“国企”,“国营企业”,那么列向量就会跟词语A,B,C,D.....出现贡献关系,表示列向量中每个数字表示共现权重。在excel中,可以直接求“国企”和“国营企业”这两列的Pearson相关系数,假设“国企”是我们的研究对象,那么它与“国营企业”,“民企”,“企业”等等所有词的相关系数计算出来以后,做一个排序,把最相关的词找出来。

那么,我在想两个问题:
1,这个相关性真的符合实际要测量的量的意义?计算相关系数确实是推荐算法常用的计算,但是,共现词真的能说明问题?
2,直接用word2vec找相似词会不会更合适?参看这个word2vec的计算教程《Jupyter Notebook使用Gensim库做中文word2vec模型计算
举报 使用道具
地板
Fuller 管理员 发表于 2021-9-26 09:59:26 | 只看该作者
这篇文章特别好《万物皆Embedding,从经典的word2vec到深度学习基本操作item2vec》,我认为楼主提问涉及的Pearson相关系数计算可以用embedding来实现,我推荐的这篇文章有很详细的实现方案。

我曾经一行行写程序,从0开始实现了描述性统计所有计算,然后实现了Pearson相关系数的计算。但是,仅仅是为了编程,使用的测试数据很理想。但是,在大数据环境下,数据将极其稀疏,其实我一直有怀疑,Pearson相关系数计算能有效吗?所以,我认为embedding是最好的选择,利用embedding,生成了不再稀疏的数据。

楼主提到的那篇论文,如果我来计算,我可能是这样的:
1,把所有文献的关键词字段都整理出来
2,每篇文献的关键词字段就是一个词序列
3,把这些序列放到embedding模型中进行训练,得到每个词的词向量
4,可以利用欧式距离得到每个词的最近的topn个词
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • Gephi社会网络分析-马蜂窝游记文本分词并同
  • Gephi社会网络分析-基于马蜂窝游记文本以词
  • 知乎话题文本根据词语间距筛选后生成共词矩
  • 马蜂窝游记文本分词后以词语间距为筛选条件
  • 学习使用apriori算法挖掘关联关系

热门用户

GMT+8, 2024-4-20 02:18