認識 R 的語料庫

R 的自然語言處理入門

Kasey Jones

Data Scientist

Corpora(語料庫)

  • 含自然語言文字的文件集合
  • 來自 tm 套件的 corpus
  • VCorpus:最常見的表示法
1 https://www.rdocumentation.org/packages/tm/versions/0.7-8/topics/Corpus
R 的自然語言處理入門

VCorpus 的內容:中繼資料

library(tm)
data("acq")
acq[[1]]$meta
  author       : character(0)
  datetimestamp: 1987-02-26 15:18:06
  heading      : COMPUTER TERMINAL SYSTEMS <CPML> COMPLETES SALE
  id           : 10
  language     : en
  origin       : Reuters-21578 XML
  ...          : ...
1 http://www.daviddlewis.com/resources/testcollections/reuters21578/
R 的自然語言處理入門

VCorpus 的內容:中繼資料

library(tm)
data("acq")
acq[[1]]$meta$places
[1] "usa"
R 的自然語言處理入門

VCorpus 的內容:本文

acq[[1]]$content
[1] "Computer Terminal Systems Inc said it has completed ...
acq[[2]]$content
[1] "Ohio Mattress Co said its first quarter, ending ...
R 的自然語言處理入門

整理語料庫

library(tm)
library(tidytext)
data("acq")
tidy_data <- tidy(acq)
tidy_data
# A tibble: 50 x 16
   author datetimestamp       description heading id    language origin
   <chr>  <dttm>              <chr>       <chr>   <chr> <chr>  <list>
 1 <NA>   1987-02-26 10:18:06 ""          COMPUT… 10    en       <chr …
...
R 的自然語言處理入門

建立語料庫

建立語料庫

corpus <- VCorpus(VectorSource(tidy_data$text))

加入中繼資訊

meta(corpus, 'Author') <- tidy_data$author
meta(corpus, 'oldid') <- tidy_data$oldid
head(meta(corpus))
  Author oldid
1 <NA>  5553
2 <NA>  5555
R 的自然語言處理入門

實際操作看看。

R 的自然語言處理入門

Preparing Video For Download...