2016-05-19 26 views
1

Rのテキストマイニングには、tmというパッケージを使用してPDFドキュメントを読むことを試みていますが、私のPDFはドイツ語で書かれており、その特殊文字。 (列は、各PDFの周波数がどこにあるか)パッケージのあるtm(Rのテキストマイニング)

library(tm) 
pathname <- "J:/branchwarren/docs/tm/" 
raw_corpus <- VCorpus(DirSource(directory=path,encoding="UTF-8"), readerControl=list(reader=readPDF,language="de")) 
tdm <- TermDocumentMatrix(raw_corpus) 
tdm_mat <- as.data.frame(tdm) 

例えば出力tdm_matあなたが気付いたよう

1  geschã¤ftsverlauf        9        9        1        3        0        0 
2   gesellschaft        1        3        1        1        1        1 
3   gesellschaft.        0        0        1        1        1        0 
4 gesellschaftskapital        1        1        1        1        1        1 
5   gestaltung        1        1        1        1        1        1 
6   gesteigert        0        0        2        0        2        6 
7    gesunden        0        1        0        1        1        1 
8   gewinnreserve        1        1        1        1        1        1 
9  gewinnverwendung)        1        1 

は、最初の行の文字が正しく表示されないです。それはgeschäftsverlaufでなければなりません。

ご意見やご提案はありますか?事前に感謝します。

+1

Rの 'utf-8'エンコード方法を使用する代わりに、' Sys.setlocale( "LC_CTYPE"、 "german") 'としてセッションを開始することができます。 –

+0

@Nickil Maveli、申し訳ありませんが動作しません。あなたはあなたのレスポンスを少し詳しく説明できますか?ありがとう – richpiana

答えて

1

コメントが長すぎます。予想通り、これは私の作品:

library(tm) 
dir.create(pathname <- tempfile()) 
writeLines("Der Geschäftsbericht war gut. Die Maßnahmen griffen.", tf <- tempfile(fileext = ".md")) 
rmarkdown::render(input=tf, output_format="pdf_document", output_file="1.pdf", output_dir=pathname) 
if(all(file.exists(Sys.which(c("pdfinfo", "pdftotext"))))) { # see ?readPDF 
    raw_corpus <- VCorpus(DirSource(directory=pathname, encoding="UTF-8"), readerControl=list(reader=readPDF,language="de")) 
    tdm <- TermDocumentMatrix(raw_corpus) 
    tdm_mat <- as.data.frame(as.matrix(tdm)) 
    tdm_mat 
} 
#     1.pdf 
# der     1 
# die     1 
# geschäftsbericht  1 
# griffen.    1 
# gut.     1 
# maßnahmen   1 
# war     1 

マイsessionInfo()

たぶん
R version 3.3.0 (2016-05-03) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 
Running under: Windows 7 x64 (build 7601) Service Pack 1 

locale: 
[1] LC_COLLATE=German_Germany.1252 LC_CTYPE=German_Germany.1252 LC_MONETARY=German_Germany.1252 LC_NUMERIC=C     
[5] LC_TIME=German_Germany.1252  
... 
tm_0.6-2   NLP_0.1-8 
... 

エンコーディングの不一致?入力データ+あなたのsessionInfoをデバッグするために提供してみてください&エラーを再現してください。

関連する問題