2016-05-19 6 views
1

Ich versuche einige PDF-Dokumente mit dem Paket tm für Text Mining in R zu lesen. Allerdings sind meine PDF in Deutsch und ich weiß nicht, wie ich mit diesen Sonderzeichen umgehen soll .Umlaut ¨ mit Paket tm (Text Mining in 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) 

Der Ausgang tdm_mat zum Beispiel ist

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 

Wie Sie feststellen, das Zeichen in der ersten Zeile (wo die Spalten die Frequenzen in jedem PDF) sind nicht korrekt angezeigt wird. Es sollte Geschäftsverlauf sein.

Irgendwelche Hilfe oder Vorschläge? Vielen Dank im Voraus

+1

Sie können die Sitzung als 'Sys.setlocale (" LC_CTYPE "," deutsch ") starten, anstatt die Kodierungsmethode" utf-8 "von R zu verwenden. –

+0

@Nickil Maveli, es tut mir leid, aber es funktioniert nicht. Kannst du ein kleines Detail deiner Antwort aufführen? Vielen Dank – richpiana

Antwort

1

Zu lange für einen Kommentar, aber z. wie das funktioniert für mich erwartet:

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 

Mein 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 
... 

Vielleicht Mismatch eine Codierung? Versuchen Sie Eingabedaten + Ihre SessionInfo zum Debuggen & den Fehler zu reproduzieren.

Verwandte Themen