2017-08-07 48 views
1

語料庫我創建的語料庫中的R用包TM指定語言和編碼如下:問題在DocumentTermMatrix與德語

de_DE.corpus <- Corpus(VectorSource(de_DE.sample), readerControl 
    = list(language="de_DE",encoding = "UTF_8")) 
de_DE.corpus[36]$content 
de_DE.dtm <- DocumentTermMatrix(de_DE.corpus,control = list 
    (encoding = 'UTF-8')) 
inspect(de_DE.dtm[, grepl("grÃ", de_DE.dtm$dimnames$Terms)]) 
inspect(de_DE.dtm[36, ]) 

如果我看到的,其具有「U」的文本文檔36 de_DE.corpus[36]$content內容顯示正確。例如「......單北京時間等模具Begründung德BehördeEINE ......」

但是,當我創建DocumentTermMatrix(我試過了編碼和語言多個選項)我越來越像「begrÃ」其中,例如,是單詞「Begründung」。執行inspect(de_DE.dtm[36, ])後查看結果。

<<DocumentTermMatrix (documents: 1, terms: 21744)>> 

Non-/sparse entries: 102/21642 

Sparsity : 100% 

Maximal term length: 43 

Weighting : term frequency (tf) 

Sample : 

Terms 

Docs begrà das dem der die eine einen jobcenter und zum 

36  3 4 2 4 8  2 2  4  3 3 

,如果有人知道如何解決這個問題我將不勝感激。感謝提前:)

+0

哪種操作系統是你嗎? – knb

+0

的Windows 10,R版本3.4.1,包「以舊換新」 0.7-1版本 –

+0

我不知道發生了什麼事情,但這裏有一個潛在的線索: '文本< - 「Begründung」;編碼(文本)## [1]「UTF-8」 下面是如果我們設置了錯誤的編碼會發生什麼: '編碼(文本)< - 「latin1」;打印(文本)## [1] 「Begründung」' –

回答

0

您可以檢查您輸入的數據?因爲你的代碼適合我。所以我認爲你已經在de_DE.sample中加載它時會遇到問題。

doc<-c("Single ist so die Begründung der Behörde Eine", "Single Begründung Behörde ") 

de_DE.corpus <- Corpus(VectorSource(doc), readerControl 
         = list(language="de_DE",encoding = "UTF_8")) 
de_DE.dtm <- DocumentTermMatrix(de_DE.corpus,control = list 
           (encoding = 'UTF-8')) 

inspect(de_DE.dtm[1, ]) 
<<DocumentTermMatrix (documents: 1, terms: 7)>> 
Non-/sparse entries: 7/0 
Sparsity   : 0% 
Maximal term length: 10 
Weighting   : term frequency (tf) 
Sample    : 
    Terms 
Docs begründung behörde der die eine ist single 
    1   1  1 1 1 1 1  1 
+0

嗨@Dr Vcomas,謝謝你的回覆。你是對的,問題已經在de_DE.sample中。檢查輸入數據,如果協商以'編碼的編碼方式(de_DE.sample [36])',它示出了 「UTF-8」,但如果我申請'的iconv(de_DE.sample [36],以='UTF-8 ')'正在向我展示這些角色,因爲「......單身就是這樣的死亡原因」。我不明白爲什麼如果它檢測到UTF-8編碼正在進行轉換,或者我如何正確地處理數據。希望這些額外的信息有人有一個想法如何解決這個問題,並可以幫助我。 :) –

+0

編碼問題相當普遍。您將需要檢查的過程中,在那裏這些數據來自哪裏,如果是數據保存與給定的編碼,通常脂肪酶提取數據,並用Excel例如,通常引入編碼問題打開了一步,在至少從我的經驗。檢查數據處理的每一步。我希望它有幫助,你仍然可以考慮回答的問題。不是tm或DocumentTermMatrix問題。 –