2017-07-06 25 views
1

文本分析我想用TM包希伯来文或阿拉伯文文本分析。我试了好几种方法,看看是否TM将能够处理一些话,但我遇到了一个错误,是否有解决这个问题的方法吗?如何使用TM封装在希伯来文或阿拉伯文

text <- "הנוסעים חיכו זמן רב לנסיעה" 
Encoding(text) 
#[1] "unknown" 
Encoding(text) <- "UTF-8" 
ap.corpus <- Corpus(DataframeSource(data.frame(text))) 
ap.corpus <- tm_map(ap.corpus, removePunctuation) 
ap.corpus <- tm_map(ap.corpus, content_transformer(tolower)) 
Error in FUN(content(x), ...) : 
    invalid input 'הנוסעים חיכו זמן רב לנסיעה' in 'utf8towcs' 

回答

1

下面是答案,我们需要添加这种编码方法:

iconv(text, "ISO-8859-8", "UTF-8")[1] 

代替使用:Encoding(text) <- "UTF-8"

1

tm vignette

第二个参数readerControl胼构造必须 与命名部件读者和语言列表。 (...)最后, 第二个组件language设置文本的语言(最好使用 ISO 639-2代码)。

Wikipedia,阿拉伯语的ISO 639-2代码是ara和希伯来语heb。所以也许试试这个:

ap.corpus <- Corpus(DataframeSource(data.frame(text), readerControl = list(language = "heb"))) 

编辑:很高兴你找到答案。当错误的编码使用这种错误出现:

+0

嗨@Hoju,我得到了: 错误DataframeSource(data.frame(文本),readerControl =名单(语言= “希伯来书”)): 未使用的参数(readerControl =名单(语言= “希伯来书”)) – mql4beginner