R语言文本挖掘使用tf-idf分析NASA元数据的关键字

原文链接:http://tecdat.cn/?p=9448

目录

获取和整理NASA元数据

计算tf-idf

关键字和描述

可视化结果


NASA有32,000多个数据集,有关NASA数据集的元数据  可以JSON格式在线获得。我们使用tf-idf在描述字段中找到重要的单词,并将其与关键字联系起来。

获取和整理NASA元数据

让我们下载32,000多个NASA数据集的元数据。


library(jsonlite)library(dplyr)library(tidyr)metadata <- fromJSON("data.json")names(metadata$dataset)## [1] "_id" "@type" "accessLevel" "accrualPeriodicity"## [5] "bureauCode" "contactPoint" "description" "distribution"## [9] "identifier" "issued" "keyword" "landingPage"## [13] "language" "modified" "programCode" "publisher"## [17] "spatial" "temporal" "theme" "title"## [21] "license" "isPartOf" "references" "rights"## [25] "describedBy"nasadesc <- data_frame(id = metadata$dataset$`_id`$`$oid`, desc = metadata$dataset$description)nasadesc## # A tibble: 32,089 x 2## id## <chr>## 1 55942a57c63a7fe59b495a77## 2 55942a57c63a7fe59b495a78## 3 55942a58c63a7fe59b495a79## 4 55942a58c63a7fe59b495a7a## 5 55942a58c63a7fe59b495a7b## 6 55942a58c63a7fe59b495a7c## 7 55942a58c63a7fe59b495a7d## 8 55942a58c63a7fe59b495a7e## 9 55942a58c63a7fe59b495a7f## 10 55942a58c63a7fe59b495a80## # ... with 32,079 more rows, and 1 more variables: desc <chr> ## # A tibble: 32,089 x 2## id## <chr>## 1 55942a57c63a7fe59b495a77## 2 55942a57c63a7fe59b495a78## 3 55942a58c63a7fe59b495a79## 4 55942a58c63a7fe59b495a7a## 5 55942a58c63a7fe59b495a7b## 6 55942a58c63a7fe59b495a7c## 7 55942a58c63a7fe59b495a7d## 8 55942a58c63a7fe59b495a7e## 9 55942a58c63a7fe59b495a7f## 10 55942a58c63a7fe59b495a80## # ... with 32,079 more rows, and 1 more variables: desc <chr>

让我们输出其中的一部分。


nasadesc %>% select(desc) %>% sample_n(5)## # A tibble: 5 x 1## desc## <chr>## 1 A Group for High Resolution Sea Surface Temperature (GHRSST) Level 4 sea surface temperature analysis produced as a retrospective dataset at the JPL P## 2 ML2CO is the EOS Aura Microwave Limb Sounder (MLS) standard product for carbon monoxide derived from radiances measured by the 640 GHz radiometer. The## 3 Crew lock bag. Polygons: 405 Vertices: 514## 4 JEM Engineering proved the technical feasibility of the FlexScan array?a very low-cost, highly-efficient, wideband phased array antenna?in Phase I, an## 5 MODIS (or Moderate Resolution Imaging Spectroradiometer) is a key instrument aboard the\nTerra (EOS AM) and Aqua (EOS PM) satellites. Terra's orbit aro

这是关键词。


## # A tibble: 126,814 x 2## id keyword## <chr> <chr>## 1 55942a57c63a7fe59b495a77 EARTH SCIENCE## 2 55942a57c63a7fe59b495a77 HYDROSPHERE## 3 55942a57c63a7fe59b495a77 SURFACE WATER## 4 55942a57c63a7fe59b495a78 EARTH SCIENCE## 5 55942a57c63a7fe59b495a78 HYDROSPHERE## 6 55942a57c63a7fe59b495a78 SURFACE WATER## 7 55942a58c63a7fe59b495a79 EARTH SCIENCE## 8 55942a58c63a7fe59b495a79 HYDROSPHERE## 9 55942a58c63a7fe59b495a79 SURFACE WATER## 10 55942a58c63a7fe59b495a7a EARTH SCIENCE## # ... with 126,804 more rows

最常见的关键字是什么?


## # A tibble: 1,774 x 2## 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## 8 ATMOSPHERIC WATER VAPOR 3142## 9 OCEANS 2765## 10 LAND SURFACE 2720## # ... with 1,764 more rows

看起来“已完成项目”对于某些目的来说可能不是有用的关键字,我们可能希望将所有这些都更改为小写或大写,以消除如“ OCEANS”和“ Oceans”之类的重复项。

计算文字的tf-idf

什么是tf-idf?评估文档中单词的重要性的一种方法可能是其  术语频率  (tf),即单词在文档中出现的频率。但是,一些经常出现的单词并不重要。在英语中,这些词可能是“ the”,“ is”,“ of”等词。另一种方法是查看术语的  逆文本频率指数 (idf),这会降低常用单词的权重,而增加在文档集中很少使用的单词的权重。


## # A tibble: 2,728,224 x 3## id word n## <chr> <chr> <int>## 1 55942a88c63a7fe59b498280 amp 679## 2 55942a88c63a7fe59b498280 nbsp 655## 3 55942a8ec63a7fe59b4986ef gt 330## 4 55942a8ec63a7fe59b4986ef lt 330## 5 55942a8ec63a7fe59b4986ef p 327## 6 55942a8ec63a7fe59b4986ef the 231## 7 55942a86c63a7fe59b49803b amp 208## 8 55942a86c63a7fe59b49803b nbsp 204## 9 56cf5b00a759fdadc44e564a the 201## 10 55942a86c63a7fe59b4980a2 gt 191## # ... with 2,728,214 more rows

这些是NASA字段中最常见的“单词”,是词频最高的单词。让我们看一下第一个数据集,例如:


## # A tibble: 1 x 1## desc## <chr>## 1 The objective of the Variable Oxygen Regulator Element is to develop an oxygen-rated, contaminant-tolerant oxygen regulator to control suit p

tf-idf算法应该减少所有这些的权重,因为它们很常见,但是我们可以根据需要通过停用词将其删除。现在,让我们为描述字段中的所有单词计算tf-idf。


## # A tibble: 2,728,224 x 6## id word n tf idf tf_idf## <chr> <chr> <int> <dbl> <dbl> <dbl>## 1 55942a88c63a7fe59b498280 amp 679 0.35661765 3.1810813 1.134429711## 2 55942a88c63a7fe59b498280 nbsp 655 0.34401261 4.2066578 1.447143322## 3 55942a8ec63a7fe59b4986ef gt 330 0.05722213 3.2263517 0.184618705## 4 55942a8ec63a7fe59b4986ef lt 330 0.05722213 3.2903671 0.188281801## 5 55942a8ec63a7fe59b4986ef p 327 0.05670192 3.3741126 0.191318680## 6 55942a8ec63a7fe59b4986ef the 231 0.04005549 0.1485621 0.005950728## 7 55942a86c63a7fe59b49803b amp 208 0.32911392 3.1810813 1.046938133## 8 55942a86c63a7fe59b49803b nbsp 204 0.32278481 4.2066578 1.357845252## 9 56cf5b00a759fdadc44e564a the 201 0.06962245 0.1485621 0.010343258## 10 55942a86c63a7fe59b4980a2 gt 191 0.12290862 3.2263517 0.396546449## # ... with 2,728,214 more rows

添加的列是tf,idf,这两个数量相乘在一起是tf-idf。NASA描述字段中最高的tf-idf词是什么?


## # A tibble: 2,728,224 x 6## id word n tf idf## <chr> <chr> <int> <dbl> <dbl>## 1 55942a7cc63a7fe59b49774a rdr 1 1 10.376269## 2 55942ac9c63a7fe59b49b688 palsar_radiometric_terrain_corrected_high_res 1 1 10.376269## 3 55942ac9c63a7fe59b49b689 palsar_radiometric_terrain_corrected_low_res 1 1 10.376269## 4 55942a7bc63a7fe59b4976ca lgrs 1 1 8.766831## 5 55942a7bc63a7fe59b4976d2 lgrs 1 1 8.766831## 6 55942a7bc63a7fe59b4976e3 lgrs 1 1 8.766831## 7 55942ad8c63a7fe59b49cf6c template_proddescription 1 1 8.296827## 8 55942ad8c63a7fe59b49cf6d template_proddescription 1 1 8.296827## 9 55942ad8c63a7fe59b49cf6e template_proddescription 1 1 8.296827## 10 55942ad8c63a7fe59b49cf6f template_proddescription 1 1 8.296827## tf_idf## <dbl>## 1 10.376269## 2 10.376269## 3 10.376269## 4 8.766831## 5 8.766831## 6 8.766831## 7 8.296827## 8 8.296827## 9 8.296827## 10 8.296827## # ... with 2,728,214 more rows

因此,这些是用tf-idf衡量的描述字段中最“重要”的词,这意味着它们很常见,但不太常用。


## # A tibble: 1 x 1## desc## <chr>## 1 RDR

tf-idf算法认为这非常重要的词。

关键字和描述

因此,现在我们知道描述中的哪个词具有较高的tf-idf,并且在关键字中也有这些描述的标签。


## # A tibble: 11,013,838 x 7## id word n tf idf tf_idf keyword## <chr> <chr> <int> <dbl> <dbl> <dbl> <chr>## 1 55942a88c63a7fe59b498280 amp 679 0.35661765 3.181081 1.1344297 ELEMENT## 2 55942a88c63a7fe59b498280 amp 679 0.35661765 3.181081 1.1344297 JOHNSON SPACE CENTER## 3 55942a88c63a7fe59b498280 amp 679 0.35661765 3.181081 1.1344297 VOR## 4 55942a88c63a7fe59b498280 amp 679 0.35661765 3.181081 1.1344297 ACTIVE## 5 55942a88c63a7fe59b498280 nbsp 655 0.34401261 4.206658 1.4471433 ELEMENT## 6 55942a88c63a7fe59b498280 nbsp 655 0.34401261 4.206658 1.4471433 JOHNSON SPACE CENTER## 7 55942a88c63a7fe59b498280 nbsp 655 0.34401261 4.206658 1.4471433 VOR## 8 55942a88c63a7fe59b498280 nbsp 655 0.34401261 4.206658 1.4471433 ACTIVE## 9 55942a8ec63a7fe59b4986ef gt 330 0.05722213 3.226352 0.1846187 JOHNSON SPACE CENTER## 10 55942a8ec63a7fe59b4986ef gt 330 0.05722213 3.226352 0.1846187 PROJECT## # ... with 11,013,828 more rows

可视化结果

让我们来看几个示例关键字中最重要的单词。


## # A tibble: 122 x 7## id word n tf idf tf_idf keyword## <chr> <fctr> <int> <dbl> <dbl> <dbl> <chr>## 1 55942a60c63a7fe59b49612f estimates 1 0.5000000 3.172863 1.586432 CLOUDS## 2 55942a76c63a7fe59b49728d ncdc 1 0.1666667 7.603680 1.267280 CLOUDS## 3 55942a60c63a7fe59b49612f cloud 1 0.5000000 2.464212 1.232106 CLOUDS## 4 55942a5ac63a7fe59b495bd8 fife 1 0.2000000 5.910360 1.182072 CLOUDS## 5 55942a5cc63a7fe59b495deb allometry 1 0.1428571 7.891362 1.127337 VEGETATION## 6 55942a5dc63a7fe59b495ede tgb 3 0.1875000 5.945452 1.114772 VEGETATION## 7 55942a5ac63a7fe59b495bd8 tovs 1 0.2000000 5.524238 1.104848 CLOUDS## 8 55942a5ac63a7fe59b495bd8 received 1 0.2000000 5.332843 1.066569 CLOUDS## 9 55942a5cc63a7fe59b495dfd sap 1 0.1250000 8.430358 1.053795 VEGETATION## 10 55942a60c63a7fe59b496131 abstract 1 0.3333333 3.118561 1.039520 CLOUDS## # ... with 112 more rows ## # A tibble: 1 x 1## desc## <chr>## 1 Cloud estimates

tf-idf算法在仅2个字长的描述中无法很好地工作,或者它将对这些字加权过重。这是不合适的。

(0)

相关推荐

  • 《R数据科学》--千变万化的数据只需一个readr便可

    [toc] 写在前面 数据导入是使用R语言分析数据的第一步,但是这部分的细节确实非常多,尤其是对于咱们微生物组数据来说,经常会遇到制表符和逗号作为分隔符的文件,其次,物种注释文件的七级注释往往使用分号 ...

  • 使用智能滚动轻松浏览记录器成绩单

    视频介绍:使用智能滚动轻松浏览记录器成绩单 去年,我们推出了Recorder,这是一种新型录音应用程序,通过利用设备上的机器学习 (ML) 转录录音.突出显示音频事件并为标题建议适当的标签,使录音更智 ...

  • 《从零开始学习自然语言处理(NLP)》-TF-IDF算法(2)

    选择"星标"公众号重磅干货,第一时间送达!前  言在这个日新月异的信息时代,海量数据的积累,计算能力的不断提升,机器学习尤其是深度学习的蓬勃发展,使得人工智能技术在不同领域焕发出蓬 ...

  • R语言dplyr包实操

    R语言dplyr包实操

  • R包基础实操—tidyverse包

    核心软件包是ggplot2.dplyr.tidyr.readr.purrr.tibble.stringr和forcats,它们提供了建模.转换和可视化数据的功能. 其中,readr包用于读取数据,ti ...

  • 深度学习基本概念|自然语言处理

    自然语言处理是神经网络的经典应用领域之一,所谓自然语言处理,就是让机器理解人类的语言,英文为Natural Language Processing, 简称NLP,是人工智能的一个重要方向,目前生活中已 ...

  • R学习:R for Data Science(四)

    前面我们学了该书得第一章节,使用ggplot2进行数据可视化,现在我们开始学习第二章节,本章节内容丰富,值得收藏! R学习:R for Data Science(一) R学习:R for Data S ...

  • 视觉词袋模型简介

    重磅干货,第一时间送达 01. 简介 视觉单词袋是一种描述计算图像之间相似度的技术.常用于用于图像分类当中.该方法起源于文本检索(信息检索),是对NLP"单词袋"算法的扩展.在&q ...

  • dplyr总结篇

    欢迎来到医科研,这里是白介素2的读书笔记,跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA.GEO数据挖掘. dplyr-总结  有必要对dplyr进行一个总结 对行处理 数据处理对于 ...

  • R语言文本挖掘、情感分析和可视化哈利波特小说文本数据

    原文链接:http://tecdat.cn/?p=22984 一旦我们清理了我们的文本并进行了一些基本的词频分析,下一步就是了解文本中的观点或情感.这被认为是情感分析,本教程将引导你通过一个简单的方法 ...

  • R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

    原文链接:http://tecdat.cn/?p=22215 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以使这些变量差分而平 ...

  • 技术贴 | R语言:组学关联分析和pheatmap可视化

    本文由阿童木根据实践经验而整理,希望对大家有帮助. 原创微文,欢迎转发转载. 举例展示R语言组学关联分析的方法.宏基因组数据以KO-样品丰度表为例.代谢组数据以metabolite-样品丰度表为例.基 ...

  • R语言用相关网络图可视化分析汽车配置和饮酒习惯

    原文链接:http://tecdat.cn/?p=22772 我们经常使用的一个关系性指标是相关性.通过可以利用数据框架和绘图来帮助探索相关关系. 本文先创建了相关关系的关系数据框,然后绘制了关系结构 ...

  • R语言广义相加模型 (GAMs)分析预测CO2时间序列数据

    原文链接:http://tecdat.cn/?p=20904 环境科学中的许多数据不适合简单的线性模型,最好用广义相加模型(GAM)来描述. 这基本上就是具有 光滑函数的广义线性模型(GLM)的扩展  ...

  • R语言逻辑回归logistic模型分析泰坦尼克titanic数据集预测生还情况

    原文链接:http://tecdat.cn/?p=22966 逻辑回归是一种拟合回归曲线的方法,y=f(x),当y是一个分类变量时.这个模型的典型用途是在给定一组预测因素x的情况下预测y,预测因素可以 ...

  • R语言拟合扩展Rasch模型分析试题质量

    原文链接:http://tecdat.cn/?p=23068 Rasch 分析是获得客观的.最基本的累加型测量值(兼顾分析模型中的标准误和质量控制如拟合统计值)的一种分析方法,适用于通过随机观测有序. ...

  • R语言GEO数据挖掘-功能富集分析

    欢迎来到医科研,这里是白介素2的读书笔记,跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA.GEO数据挖掘. 功能富集分析   在得到了差异基因的基础之上,进一步进行功能富集分析,这里 ...

  • R语言HAR和HEAVY模型分析高频金融数据波动率

    原文链接:http://tecdat.cn/?p=19129 摘要 在学术界和金融界,分析高频财务数据的经济价值现在显而易见.它是每日风险监控和预测的基础,也是高频交易的基础.为了在财务决策中高效利用 ...