다음은 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
    

    메타 데이터에 분류가 잘 저장되었다. 이제 이 코퍼스를 사용해 예측 모델을 만들어 볼 수 있을 것이다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.