다음은 crude 문서 집합 전체의 메타 데이터를 출력하는 예다. 코퍼스 생성 일자와 생성한 사람의 이름이 기록되어 있음을 볼 수 있다.
> data(crude) > meta(crude, type="corpus") $create_date [1] "2010-06-17 07:32:26 GMT" $creator LOGNAME "feinerer"
local 메타 데이터를 살펴보자.
> meta(crude, type="local")
...
$People
character(0)
$Orgs
character(0)
$Exchanges
[1] "nymex"
Available meta data pairs are:
Author :
DateTimeStamp: 1987-03-02 14:49:06
Description :
Heading : ARGENTINE OIL PRODUCTION DOWN IN JANUARY 1987
ID : 708
Language : en
Origin : Reuters-21578 XML
User-defined local meta data pairs are:
$TOPICS
[1] "YES"
$LEWISSPLIT
[1] "TRAIN"
$CGISPLIT
[1] "TRAINING-SET"
$OLDID
[1] "12891"
$Topics
[1] "crude" "nat-gas"
$Places
[1] "argentina"
$People
character(0)
$Orgs
character(0)
$Exchanges
character(0)
local 메타 데이터는 각 문서를 하나씩 꺼내어 살펴보는 것이므로 위와 같이 코드를 입력하면 전체 문서에 대한 데이터가 한꺼번에 나와서 읽기가 쉽지 않다. 대신 각 문서를 직접 지정해 보는 것이 편리하다. 다음은 첫 번째 문서의 메타 데이터만 출력한 예다.
> meta(crude[1], type="local")
Available meta data pairs are:
Author :
DateTimeStamp: 1987-02-26 17:00:56
Description :
Heading : DIAMOND SHAMROCK (DIA) CUTS CRUDE PRICES
ID : 127
Language : en
Origin : Reuters-21578 XML
User-defined local meta data pairs are:
$TOPICS
[1] "YES"
$LEWISSPLIT
[1] "TRAIN"
$CGISPLIT
[1] "TRAINING-SET"
$OLDID
[1] "5670"
$Topics
[1] "crude"
$Places
[1] "usa"
$People
character(0)
$Orgs
character(0)
$Exchanges
character(0)
local 메타 데이터 안에 저자, 날짜 등의 정보뿐만 아니라 TOPICS 등의 정보도 저장되어 있음을 볼 수 있다.
indexed는 type의 기본값이므로 단순히 meta(corpus) 명령으로 볼 수 있다. 그러나 다음 결과에서 보듯이 crude에는 별다른 indexed 메타 데이터가 없다.
> meta(crude)
MetaID
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
11 0
12 0
13 0
14 0
15 0
16 0
17 0
18 0
19 0
20 0
위 출력 결과를 통해 알 수 있는 점은 local 메타 데이터는 각 문서의 정보와 함께 저장되어 있어 문서별로 볼 수 있고, indexed는 indexed 메타 데이터만 따로 떼어놓고 한 번에 볼 수 있다는 차이가 있다는 것이다.
앞서 DataframeSource( )를 사용한 파일 읽기 방법의 예에서 문서의 분류(spam, nonspam)를 저장하지 않았다. 이 정보를 문서의 indexed 메타 데이터로 저장해보자.
> meta(corpus, "Label") <- docs[, "Label"] > meta(corpus) MetaID Label 1 0 notspam 2 0 nonspam 3 0 spam 4 0 spam
메타 데이터에 분류가 잘 저장되었다. 이제 이 코퍼스를 사용해 예측 모델을 만들어 볼 수 있을 것이다.