欢迎光临散文网 会员登陆 & 注册

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

2021-03-01 23:19 作者:拓端tecdat  | 我要投稿

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

目录

 

获取和整理NASA元数据

计算tf-idf

关键字和描述

可视化结果

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

获取和整理NASA元数据

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

  1. library(jsonlite)

  2. library(dplyr)

  3. library(tidyr)

  4. metadata <- fromJSON("data.json")

  5. names(metadata$dataset)

  6. ##  [1] "_id"                "@type"              "accessLevel"        "accrualPeriodicity"

  7. ##  [5] "bureauCode"         "contactPoint"       "description"        "distribution"

  8. ##  [9] "identifier"         "issued"             "keyword"            "landingPage"

  9. ## [13] "language"           "modified"           "programCode"        "publisher"

  10. ## [17] "spatial"            "temporal"           "theme"              "title"

  11. ## [21] "license"            "isPartOf"           "references"         "rights"

  12. ## [25] "describedBy"

  13. nasadesc <- data_frame(id = metadata$dataset$`_id`$`$oid`, desc = metadata$dataset$description)

  14. nasadesc

  15. ## # A tibble: 32,089 x 2

  16. ##                          id

  17. ##                       <chr>

  18. ## 1  55942a57c63a7fe59b495a77

  19. ## 2  55942a57c63a7fe59b495a78

  20. ## 3  55942a58c63a7fe59b495a79

  21. ## 4  55942a58c63a7fe59b495a7a

  22. ## 5  55942a58c63a7fe59b495a7b

  23. ## 6  55942a58c63a7fe59b495a7c

  24. ## 7  55942a58c63a7fe59b495a7d

  25. ## 8  55942a58c63a7fe59b495a7e

  26. ## 9  55942a58c63a7fe59b495a7f

  27. ## 10 55942a58c63a7fe59b495a80

  28. ## # ... with 32,079 more rows, and 1 more variables: desc <chr>

 

  1. ## # A tibble: 32,089 x 2

  2. ##                          id

  3. ##                       <chr>

  4. ## 1  55942a57c63a7fe59b495a77

  5. ## 2  55942a57c63a7fe59b495a78

  6. ## 3  55942a58c63a7fe59b495a79

  7. ## 4  55942a58c63a7fe59b495a7a

  8. ## 5  55942a58c63a7fe59b495a7b

  9. ## 6  55942a58c63a7fe59b495a7c

  10. ## 7  55942a58c63a7fe59b495a7d

  11. ## 8  55942a58c63a7fe59b495a7e

  12. ## 9  55942a58c63a7fe59b495a7f

  13. ## 10 55942a58c63a7fe59b495a80

  14. ## # ... with 32,079 more rows, and 1 more variables: desc <chr>

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

 

  1. nasadesc %>% select(desc) %>% sample_n(5)

  2. ## # A tibble: 5 x 1

  3. ##                                                                                                                                                      desc

  4. ##                                                                                                                                                     <chr>

  5. ## 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

  6. ## 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

  7. ## 3                                                                                                              Crew lock bag. Polygons: 405 Vertices: 514

  8. ## 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

  9. ## 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

这是关键词。

  1. ## # A tibble: 126,814 x 2

  2. ##                          id       keyword

  3. ##                       <chr>         <chr>

  4. ## 1  55942a57c63a7fe59b495a77 EARTH SCIENCE

  5. ## 2  55942a57c63a7fe59b495a77   HYDROSPHERE

  6. ## 3  55942a57c63a7fe59b495a77 SURFACE WATER

  7. ## 4  55942a57c63a7fe59b495a78 EARTH SCIENCE

  8. ## 5  55942a57c63a7fe59b495a78   HYDROSPHERE

  9. ## 6  55942a57c63a7fe59b495a78 SURFACE WATER

  10. ## 7  55942a58c63a7fe59b495a79 EARTH SCIENCE

  11. ## 8  55942a58c63a7fe59b495a79   HYDROSPHERE

  12. ## 9  55942a58c63a7fe59b495a79 SURFACE WATER

  13. ## 10 55942a58c63a7fe59b495a7a EARTH SCIENCE

  14. ## # ... with 126,804 more rows

最常见的关键字是什么?

  1. ## # A tibble: 1,774 x 2

  2. ##                    keyword     n

  3. ##                      <chr> <int>

  4. ## 1            EARTH SCIENCE 14362

  5. ## 2                  Project  7452

  6. ## 3               ATMOSPHERE  7321

  7. ## 4              Ocean Color  7268

  8. ## 5             Ocean Optics  7268

  9. ## 6                   Oceans  7268

  10. ## 7                completed  6452

  11. ## 8  ATMOSPHERIC WATER VAPOR  3142

  12. ## 9                   OCEANS  2765

  13. ## 10            LAND SURFACE  2720

  14. ## # ... with 1,764 more rows

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

计算文字的tf-idf

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

  1. ## # A tibble: 2,728,224 x 3

  2. ##                          id  word     n

  3. ##                       <chr> <chr> <int>

  4. ## 1  55942a88c63a7fe59b498280   amp   679

  5. ## 2  55942a88c63a7fe59b498280  nbsp   655

  6. ## 3  55942a8ec63a7fe59b4986ef    gt   330

  7. ## 4  55942a8ec63a7fe59b4986ef    lt   330

  8. ## 5  55942a8ec63a7fe59b4986ef     p   327

  9. ## 6  55942a8ec63a7fe59b4986ef   the   231

  10. ## 7  55942a86c63a7fe59b49803b   amp   208

  11. ## 8  55942a86c63a7fe59b49803b  nbsp   204

  12. ## 9  56cf5b00a759fdadc44e564a   the   201

  13. ## 10 55942a86c63a7fe59b4980a2    gt   191

  14. ## # ... with 2,728,214 more rows

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

  1. ## # A tibble: 1 x 1

  2. ##                                                                                                                                                     desc

  3. ##                                                                                                                                                    <chr>

  4. ## 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。

  1. ## # A tibble: 2,728,224 x 6

  2. ##                          id  word     n         tf       idf      tf_idf

  3. ##                       <chr> <chr> <int>      <dbl>     <dbl>       <dbl>

  4. ## 1  55942a88c63a7fe59b498280   amp   679 0.35661765 3.1810813 1.134429711

  5. ## 2  55942a88c63a7fe59b498280  nbsp   655 0.34401261 4.2066578 1.447143322

  6. ## 3  55942a8ec63a7fe59b4986ef    gt   330 0.05722213 3.2263517 0.184618705

  7. ## 4  55942a8ec63a7fe59b4986ef    lt   330 0.05722213 3.2903671 0.188281801

  8. ## 5  55942a8ec63a7fe59b4986ef     p   327 0.05670192 3.3741126 0.191318680

  9. ## 6  55942a8ec63a7fe59b4986ef   the   231 0.04005549 0.1485621 0.005950728

  10. ## 7  55942a86c63a7fe59b49803b   amp   208 0.32911392 3.1810813 1.046938133

  11. ## 8  55942a86c63a7fe59b49803b  nbsp   204 0.32278481 4.2066578 1.357845252

  12. ## 9  56cf5b00a759fdadc44e564a   the   201 0.06962245 0.1485621 0.010343258

  13. ## 10 55942a86c63a7fe59b4980a2    gt   191 0.12290862 3.2263517 0.396546449

  14. ## # ... with 2,728,214 more rows

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

  1. ## # A tibble: 2,728,224 x 6

  2. ##                          id                                          word     n    tf       idf

  3. ##                       <chr>                                         <chr> <int> <dbl>     <dbl>

  4. ## 1  55942a7cc63a7fe59b49774a                                           rdr     1     1 10.376269

  5. ## 2  55942ac9c63a7fe59b49b688 palsar_radiometric_terrain_corrected_high_res     1     1 10.376269

  6. ## 3  55942ac9c63a7fe59b49b689  palsar_radiometric_terrain_corrected_low_res     1     1 10.376269

  7. ## 4  55942a7bc63a7fe59b4976ca                                          lgrs     1     1  8.766831

  8. ## 5  55942a7bc63a7fe59b4976d2                                          lgrs     1     1  8.766831

  9. ## 6  55942a7bc63a7fe59b4976e3                                          lgrs     1     1  8.766831

  10. ## 7  55942ad8c63a7fe59b49cf6c                      template_proddescription     1     1  8.296827

  11. ## 8  55942ad8c63a7fe59b49cf6d                      template_proddescription     1     1  8.296827

  12. ## 9  55942ad8c63a7fe59b49cf6e                      template_proddescription     1     1  8.296827

  13. ## 10 55942ad8c63a7fe59b49cf6f                      template_proddescription     1     1  8.296827

  14. ##       tf_idf

  15. ##        <dbl>

  16. ## 1  10.376269

  17. ## 2  10.376269

  18. ## 3  10.376269

  19. ## 4   8.766831

  20. ## 5   8.766831

  21. ## 6   8.766831

  22. ## 7   8.296827

  23. ## 8   8.296827

  24. ## 9   8.296827

  25. ## 10  8.296827

  26. ## # ... with 2,728,214 more rows

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

  1. ## # A tibble: 1 x 1

  2. ##    desc

  3. ##   <chr>

  4. ## 1   RDR

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

关键字和描述

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

  1. ## # A tibble: 11,013,838 x 7

  2. ##                          id  word     n         tf      idf    tf_idf              keyword

  3. ##                       <chr> <chr> <int>      <dbl>    <dbl>     <dbl>                <chr>

  4. ## 1  55942a88c63a7fe59b498280   amp   679 0.35661765 3.181081 1.1344297              ELEMENT

  5. ## 2  55942a88c63a7fe59b498280   amp   679 0.35661765 3.181081 1.1344297 JOHNSON SPACE CENTER

  6. ## 3  55942a88c63a7fe59b498280   amp   679 0.35661765 3.181081 1.1344297                  VOR

  7. ## 4  55942a88c63a7fe59b498280   amp   679 0.35661765 3.181081 1.1344297               ACTIVE

  8. ## 5  55942a88c63a7fe59b498280  nbsp   655 0.34401261 4.206658 1.4471433              ELEMENT

  9. ## 6  55942a88c63a7fe59b498280  nbsp   655 0.34401261 4.206658 1.4471433 JOHNSON SPACE CENTER

  10. ## 7  55942a88c63a7fe59b498280  nbsp   655 0.34401261 4.206658 1.4471433                  VOR

  11. ## 8  55942a88c63a7fe59b498280  nbsp   655 0.34401261 4.206658 1.4471433               ACTIVE

  12. ## 9  55942a8ec63a7fe59b4986ef    gt   330 0.05722213 3.226352 0.1846187 JOHNSON SPACE CENTER

  13. ## 10 55942a8ec63a7fe59b4986ef    gt   330 0.05722213 3.226352 0.1846187              PROJECT

  14. ## # ... with 11,013,828 more rows

可视化结果

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

  1. ## # A tibble: 122 x 7

  2. ##                          id      word     n        tf      idf   tf_idf    keyword

  3. ##                       <chr>    <fctr> <int>     <dbl>    <dbl>    <dbl>      <chr>

  4. ## 1  55942a60c63a7fe59b49612f estimates     1 0.5000000 3.172863 1.586432     CLOUDS

  5. ## 2  55942a76c63a7fe59b49728d      ncdc     1 0.1666667 7.603680 1.267280     CLOUDS

  6. ## 3  55942a60c63a7fe59b49612f     cloud     1 0.5000000 2.464212 1.232106     CLOUDS

  7. ## 4  55942a5ac63a7fe59b495bd8      fife     1 0.2000000 5.910360 1.182072     CLOUDS

  8. ## 5  55942a5cc63a7fe59b495deb allometry     1 0.1428571 7.891362 1.127337 VEGETATION

  9. ## 6  55942a5dc63a7fe59b495ede       tgb     3 0.1875000 5.945452 1.114772 VEGETATION

  10. ## 7  55942a5ac63a7fe59b495bd8      tovs     1 0.2000000 5.524238 1.104848     CLOUDS

  11. ## 8  55942a5ac63a7fe59b495bd8  received     1 0.2000000 5.332843 1.066569     CLOUDS

  12. ## 9  55942a5cc63a7fe59b495dfd       sap     1 0.1250000 8.430358 1.053795 VEGETATION

  13. ## 10 55942a60c63a7fe59b496131  abstract     1 0.3333333 3.118561 1.039520     CLOUDS

  14. ## # ... with 112 more rows

 

  1. ## # A tibble: 1 x 1

  2. ##              desc

  3. ##             <chr>

  4. ## 1 Cloud estimates

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

 

最受欢迎的见解

1.探析大数据期刊文章研究热点

2.618网购数据盘点-剁手族在关注什么

3.r语言文本挖掘tf-idf主题建模,情感分析n-gram建模研究

4.python主题建模可视化lda和t-sne交互式可视化

5.疫情下的新闻数据观察

6.python主题lda建模和t-sne可视化

7.r语言中对文本数据进行主题模型topic-modeling分析

8.主题模型:数据聆听人民网留言板的那些“网事”

9.python爬虫进行web抓取lda主题语义数据分析

 


R语言文本挖掘使用tf-idf分析NASA元数据的关键字的评论 (共 条)

分享到微博请遵守国家法律