R语言文本挖掘NASA数据网络分析,tf-idf和主题建模|附代码数据

发布时间 2023-06-26 22:58:50作者: 拓端tecdat

们被客户要求撰写关于文本挖掘的研究报告,包括一些图形和统计输出。

NASA托管和/或维护了超过32,000个数据集; 这些数据集涵盖了从地球科学到航空航天工程到NASA本身管理的主题。我们可以使用这些数据集的元数据来理解它们之间的联系

1 NASA如何组织数据

首先,让我们下载JSON文件,并查看元数据中存储的名称。

 
metadata <- fromJSON("https://data.nasa.gov/data.json")
names(metadata$dataset)

我们在这里看到,我们可以从发布每个数据集的人那里获取信息,以获取他们发布的许可证。

 
class(metadata$dataset$title)

相关视频

**

拓端

,赞3

1.1 整理数据

让我们为标题,描述和关键字设置单独的数据框,保留每个数据集的数据集ID,以便我们可以在后面的分析中将它们连接起来 。

1.2 初步的简单探索

NASA数据集中最常见的单词是什么? 

 
nasa_title %>%
  count(word, sort = TRUE)

最常见的关键字是什么?

 
nasa_keyword %>% 
  group_by(keyword) %>% 
  count(sort = TRUE)
 
## # A tibble: 1,774 x 2
## # Groups:   keyword [1,774]
##    keyword                     n
##    <chr>                   <int>
##  1 EARTH SCIENCE           14362
##  2 Project                  7452
##  3 ATMOSPHERE               7321
##  4 Ocean Color              7268
##  5 Ocean Optics             7268
##  6 Oceans                   7268
##  7 completed                6452

2.1描述和标题词的网络

我们可以使用pairwise_count 来计算每对单词在标题或描述字段中出现的次数。

 

这些是最常出现在descripton字段中的单词对。 

 图片

我们在这个标题词网络中看到了一些清晰的聚类; 国家航空航天局数据集标题中的单词大部分被组织成几个词汇系列,这些词汇聚类一起。

图片


点击标题查阅往期内容

图片

Python主题建模LDA模型、t-SNE 降维聚类、词云可视化文本挖掘新闻组数据集

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

关键词网络

接下来,让我们建立一个 关键字网络,以查看哪些关键字通常在同一数据集中一起出现。

 
## # A tibble: 13,390 x 3
##    item1         item2                       n
##    <chr>         <chr>                   <dbl>
##  1 OCEANS        OCEAN OPTICS             7324
##  2 EARTH SCIENCE ATMOSPHERE               7318
##  3 OCEANS        OCEAN COLOR              7270
##  4 OCEAN OPTICS  OCEAN COLOR              7270

 图片

此排序顶部的这些关键字的相关系数等于1; 他们总是一起出现。

让我们可视化关键字相关性网络,也就是关键字共现网络。

图片

3计算描述字段的tf-idf

 网络图向我们展示了描述字段由一些常用词来控制,如“数据”,“全局”; 可以使用tf-idf作为统计数据来查找各个描述字段的特征词。

图片

4主题建模

使用tf-idf作为统计数据已经让我们深入了解NASA描述字段的内容,但让我们尝试另外一种方法来解决NASA描述字段的内容。

每个主题是关于什么的?让我们来看看每个主题的前10个关键词。

 
## # A tibble: 240 x 3
##    topic term          beta
##    <int> <chr>        <dbl>
##  1     1 data        0.0449
##  2     1 soil        0.0368
##  3     1 moisture    0.0295
##  4     1 amsr        0.0244
 
##  5     1 sst         0.0168
##  6     1 validation  0.0132
##  7     1 temperature 0.0132
##  8     1 surface     0.0129
##  9     1 accuracy    0.0123
## 10     1 set         0.0116

图片

图片

首先注意y轴是以对数刻度绘制的; 否则很难弄清楚图中的细节。

该分布表明文档被很好地区分为属于某个主题。我们还可以看看每个主题中概率的分布情况。

图片



图片

点击文末 “阅读原文”

获取全文完整代码数据资料。

本文选自《R语言文本挖掘NASA数据网络分析,tf-idf和主题建模》。

点击标题查阅往期内容

【视频】文本挖掘:主题模型(LDA)及R语言实现分析游记数据
NLP自然语言处理—主题模型LDA案例:挖掘人民网留言板文本数据
Python主题建模LDA模型、t-SNE 降维聚类、词云可视化文本挖掘新闻组数据集
自然语言处理NLP:主题LDA、情感分析疫情下的新闻文本数据
R语言对NASA元数据进行文本挖掘的主题建模分析
R语言文本挖掘、情感分析和可视化哈利波特小说文本数据
Python、R对小说进行文本挖掘和层次聚类可视化分析案例
用于NLP的Python:使用Keras进行深度学习文本生成
长短期记忆网络LSTM在时间序列预测和文本分类中的应用
用Rapidminer做文本挖掘的应用:情感分析
R语言文本挖掘tf-idf,主题建模,情感分析,n-gram建模研究
R语言对推特twitter数据进行文本情感分析
Python使用神经网络进行简单文本分类
用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类
R语言文本挖掘使用tf-idf分析NASA元数据的关键字
R语言NLP案例:LDA主题文本挖掘优惠券推荐网站数据
Python使用神经网络进行简单文本分类
R语言自然语言处理(NLP):情感分析新闻文本数据
Python、R对小说进行文本挖掘和层次聚类可视化分析案例
R语言对推特twitter数据进行文本情感分析
R语言中的LDA模型:对文本数据进行主题模型topic modeling分析
R语言文本主题模型之潜在语义分析(LDA:Latent Dirichlet Allocation)