如何从书目中开始分析关键字并检测相关性?

机器算法验证 r 文本挖掘
2022-03-13 02:46:50

(我有点超出了我的舒适区,所以如果措辞不当或离题,我深表歉意)

我有一个书目数据库,包含大约 1200 篇不同论文、书籍、网站等的详细信息,所有这些都包含各种详细信息,包括关键字和摘要。我想以某种方式分析这个数据库并生成一些显示不同关键字之间相关性的图形。(例如“药物”通常与“药理学”或“测定”一起出现)。

理想情况下,这将在 R 中,但也欢迎一般建议。(我已经看到这个引起我兴趣的问题/答案,并且这个热图图形似乎也相关)

我的数据库可以在 bibtex 中,也可以转换为纯文本。

4个回答

所以你有一个文档 x 关键字矩阵,它基本上代表一个二分图(或取决于你的文化背景的双模式网络),文档和标签之间有边。如果您对单个文档不感兴趣(据我了解),您可以通过计算每个关键字之间的共现次数来创建关键字网络。简单地绘制此图可能已经让您对这些数据的外观有了一个清晰的了解。如果您可以进一步调整可视化,例如,通过总出现次数来缩放关键字的大小,或者(如果您有很多关键字)为关键字在第一次出现时引入最小总出现次数地方。

作为一种工具,我只能推荐GraphViz,它允许您指定图形,例如

keyword1 -- keyword2
keyword1 -- keyword3
keyword1[label="statistics", fontsize=...]

并将它们“编译”成 png、pdf 等等,产生非常好的结果(特别是如果你稍微使用字体设置)。

我也在我的专业领域之外,但假设你想使用 R,这里有一些想法。

  • R 中有一个bibtex 包用于导入 bibtex 文件。
  • 可以使用各种字符函数来提取关键词。
  • 数据听起来有点像双模网络,这可能意味着包喜欢sna并且igraph有用。
  • 二维多维缩放图也可用于可视化单词之间的相似性(例如,基于共现或其他度量)(这里有一个教程)。

我建议为此使用关联规则学习。它使您可以找到经常同时出现的单词。

如果你有很多数据,它会比计算相关矩阵快得多。

在此处查看我关于文本挖掘的视频系列包括有关文本关联规则的教程。

您可能想看看phi 系数,它是名义变量关联的度量。