R_tmパッケージの使い方 のバックアップの現在との差分(No.5) - アールメカブ

アールメカブ


R_tmパッケージの使い方 のバックアップの現在との差分(No.5)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
#contents

* tm パッケージの使い方 [#ld5abf7e]

なお日本語テキストは読み込めない.(lsaパッケージなら,少なくともターム文書行列は作成可能.詳しくは[[R_lsaで日本語]])

- Excel ファイルのある列にテキストがある場合
 
 td <- tempfile()
 dir.create(td)
 
 for(i in 1: nrow(wine00)){
  write( as.character(wine00[i, 11]) , 
        file = paste(td, paste("D", i, sep=""), sep="/"))
 }
 ...
 td.doc <- Corpus(DirSource(td), 
         readerControl = list(reader = readPlain, l
         anguage = "en_US", load = TRUE))
 ...
 unlink(td, recursive=TRUE)
とするしかないのだろうか?
ちなみに,Corpus という関数名は,以前は TextDocCol であった.

- ファイルの指定
まずファイルをドキュメントクラスとして登録しなくてはいけない. TextDocCol()関数を使うことになるが,この引数は Source オブジェクトでなくてはいけない.で,Source オブジェクトとなりうるのは,どうも,ファイルのおかれたディレクトリへのパスらしい.

 file.obj <- "/Target/textDir"
 alice.DC <- TextDocCol(DirSource(file.obj),
  readerControl = list(reader = readPlain,
    language = "en_US", load = TRUE))
 alice.DC #  show(alice.DC)
 A text document collection with 1 text document
 summary(alice.DC)
 inspect(alice.DC)
 
 # 余分な空白を削除
 alice.DC2 <- tmMap(alice.DC, stripWhitespace)
 
 # stopWords を削除する
 alice.DC3 <- tmMap(alice.DC2, removeWords, stopwords("english"))
 
 # Stemming を行う.
 alice.DC4 <-  tmMap(alice.DC3, stemDoc)
 
 inspect(alice.DC4)

* tm.pdf の説明書に以下の読み込み方式があるが, [#webfca0b]

 reut21578 <- system.file("texts", "reut21578", package = "tm")
# tmパッケージのライブラリディレクトリ内のtextsディレクトリのさらに下のreut21578ディレクトリ内の10このファイルを読み込み.

 reut21578XML <- system.file("texts", "reut21578.xml", 
     package = "tm")
# ライブラリディレクトリ内のtextsディレクトリ内のreut21578.xmlファイルを読み込む.これは,上の場合で読み込まれる10個のファイルを一枚のファイルのまとめたもの.
 reut21578XMLgz <- system.file("texts", "reut21578.xml.gz", 
     package = "tm")
# ライブラリディレクトリ内のtextsディレクトリ内のreut21578.xmlファイルを読み込む.これは,上の場合で読み込まれる10個のファイルを圧縮したファイル