R_tmパッケージの使い方 - RとLinuxと...

RとLinuxと...


R_tmパッケージの使い方

_ tm パッケージの使い方

なお日本語テキストは読み込めない.(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 の説明書に以下の読み込み方式があるが,

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個のファイルを圧縮したファイル

 
Last-modified: 2008-06-24 (火) 12:41:00 (3318d)