2017-10-13 13 views
3

「@」や「&」などの英数字以外の記号は失われていますので、それらを保管する必要があります。Rtokenizersパッケージを使用しています。ここで私が使用している機能は次のとおりです。Rの単語をトークン化するときに英数字以外の記号を保持する方法は?

tokenize_ngrams("My number & email address [email protected]", lowercase = FALSE, n = 3, n_min = 1,stopwords = character(), ngram_delim = " ", simplify = FALSE) 

私はtokenize_character_shinglesは句読点を維持することができますが、トークン化は、文字ではなく、言葉に適用されるstrip_non_alphanum引数を持って知っています。

誰でもこの問題を処理する方法を知っていますか?

答えて

3

あなたが別のパッケージngramを使用しても大丈夫であれば、これは、これらの非アルファを維持する2つの有用な機能

> library(ngram) 
> print(ngram("My number & email address [email protected]",n = 2), output = 'full') 
number & | 1 
email {1} | 

My number | 1 
& {1} | 

address [email protected] | 1 
NULL {1} | 

& email | 1 
address {1} | 

email address | 1 
[email protected] {1} | 

> print(ngram_asweka("My number & email address [email protected]",1,3), output = 'full') 
[1] "My number &"     "number & email"     
[3] "& email address"    "email address [email protected]" 
[5] "My number"      "number &"      
[7] "& email"      "email address"     
[9] "address [email protected]"  "My"        
[11] "number"       "&"        
[13] "email"       "address"      
[15] "[email protected]"    
> 

remove_punctのparamaterでより多くの柔軟性を提供しますquantedaもう一つの美しいパッケージを持っています。

> library(quanteda) 
> tokenize(text, ngrams = 1:3) 
tokenizedTexts from 1 document. 
Component 1 : 
[1] "My"        "number"       
[3] "&"        "email"       
[5] "address"      "[email protected]"    
[7] "My_number"      "number_&"      
[9] "&_email"      "email_address"     
[11] "[email protected]"  "My_number_&"     
[13] "number_&_email"     "&_email_address"    
[15] "[email protected]" 

> 
関連する問題