1. Corpus 로딩
분석의 대상이 되는 문서의 포맷은 다양하지만, 우리가 앞으로 사용하게 될 tm 패키지는 꽤 많은 포맷을 지원한다. text, PDF, Microsoft Word, XML.의 포맷을 포함한다.
2. Corpus Sources and Readers
1) sources
> getSources()
[1] "DataframeSource" "DirSource" "URISource" "VectorSource" "XMLSource"
2) readers - 텍스트 분석 결과는 다음의 포맷 등으로 표현가능하다
> getReaders()
[1] "readDOC" "readPDF" "readPlain" "readRCV1"
[5] "readRCV1asPlain" "readReut21578XML" "readReut21578XMLasPlain" "readTabular"
[9] "readXML"
3. Corpus 로딩 : 텍스트
1) 먼저 working directory 를 확인한다.
> getwd()
[1] "C:/Users/fukaeri/Documents"
2) 해당 디렉토리 아래에 corpus/txt 폴더를 생성하고 다음과 같이 경로를 설정해준다.
> cname <- file.path(".","corpus","txt")> cname[1] "./corpus/txt"
> length(dir(cname))[1] 2> dir(cname)[1] "corpustext.txt" "licence.pdf"
> docs <- Corpus(DirSource(cname))> docs<<VCorpus (documents: 2, metadata (corpus/indexed): 0/0)>>> class(docs)[1] "VCorpus" "Corpus"> class(docs[[1]])[1] "PlainTextDocument" "TextDocument"
4. Corpus 로딩 : pdf
1) PDF 를 텍스트로 변환하고 corpus 로 로딩하기 위해 readPDF() 라는 함수를 이용한다.
> docs <- Corpus(DirSource(cname), readerControl=list(reader=readPDF))
Error in system2("pdftotext", c(control$text, shQuote(x), "-"), stdout = TRUE) :
'"pdftotext"' not found
In addition: Warning message:
running command '"pdfinfo" "C:\Users\fukaeri\Documents\corpus\txt\corpustext.txt"' had status 127
위와 같은 에러가 발생하는 이유는 XPDF 의 "pdfinfo" 와 "pdftotext" 파일이 현재의 R 시스템에 존재하지 않기 때문이다.
아래와 같이 해당 파일의 유무를 확인해보자.
> file.exists(Sys.which(c("pdfinfo","pdftotext")))
[1] FALSE FALSE
하지만 만약 위와 같은 에러가 발생하면 다음과 같이 한다.
(1) xpdf 를 다운로드 한다 (http://www.foolabs.com/xpdf/download.html)
(2) 다운로드 받은 파일의 압축을 푼다. (본인의 경우 C:\Program Files\xpdf\bin32 에 압축을 풀었다)
(3) Redmond 유틸리티를 다운로드 받는다.(http://www.softpedia.com/get/System/System-Miscellaneous/Redmond-Path.shtml)
5. Corpus 로딩 : Word
1) MS 워드를 텍스트로 손쉽게 변화해주는 것에는 antiword 가 있다. 이것을 통해 워드 문서를 R 에 띄우기 위해 텍스트로 변환할 수 있다.MS 워드의 corpus 를 로딩하기 위해서는 readDOC() 읽기 기능이 필요하다.
> docs <- Corpus(DirSource(cname), readerControl=list(reader=readDOC))
docs <- Corpus(DirSource(cname), readerControl=list(reader=readDOC("-r -s")))
여기서
-r : 삭제된 텍스트도 포함
-s : 워드에 의해 숨겨진 텍스트까지 포함
'프로그래밍 Programming' 카테고리의 다른 글
04. Preparing the Corpus - 기본 변환 (0) | 2014.11.22 |
---|---|
03. Exploring the corpus - 전처리 및 간단한 변환 (0) | 2014.11.21 |
01. 텍스트마이닝(Text Mining)을 위한 패키지 준비 (0) | 2014.11.14 |
Plot geoms(geometric objects) (1) - 추세선 그리기 (span, gam, lm, rlm) (0) | 2014.11.09 |
ggplot2 패키지 설치 및 기본사용법 (0) | 2014.11.09 |