Cập nhật:Làm thế nào để loại bỏ hoàn toàn dấu chấm câu khi sử dụng R với gói tm
Tôi nghĩ rằng tôi có thể có một cách giải quyết để giải quyết vấn đề này, chỉ cần thêm một mã: dtms = removeSparseTerms(dtm,0.1)
Nó sẽ loại bỏ các nhân vật thưa thớt trong corpus. Nhưng tôi nghĩ rằng đây chỉ là một cách giải quyết, vẫn chờ đợi câu trả lời của các chuyên gia!
Gần đây tôi đang học khai thác văn bản trong R bằng gói tm. Và tôi có ý tưởng vẽ một đám mây từ về các từ trong chương trình ABAP của tôi ở tần số tối đa. Vì vậy, tôi đã viết một chương trình R để nhận ra điều này.
library(tm)
library(SnowballC)
library(wordcloud)
# set path
path = system.file("texts","abapcode",package = "tm")
# make corpus
code = Corpus(DirSource(path),readerControl = list(language = "en"))
# cleanse text
code = tm_map(code,stripWhitespace)
code = tm_map(code,removeWords,stopwords("en"))
code = tm_map(code,removePunctuation)
code = tm_map(code,removeNumbers)
# make DocumentTermMatrix
dtm = DocumentTermMatrix(code)
#freqency
freq = sort(colSums(as.matrix(dtm)),decreasing = T)
#wordcloud(code,scale = c(5,1),max.words = 50,random.order = F,colors = brewer.pal(8, "Dark2"),rot.per = 0.35,use.r.layout = F)
wordcloud(names(freq),freq,scale = c(5,1),max.words = 50,random.order = F,colors = brewer.pal(8, "Dark2"),rot.per = 0.35,use.r.layout = F)
Nhưng trong mã ABAP của tôi, một số biến thể chứa "_" và "-" trong tên biến, vì vậy nếu tôi thực hiện điều này:
code = tm_map(code,removePunctuation)
Nội dung corpus không phải là quá chính xác và do đó từ đám mây giống như sau:
Một số từ quá lạ nếu xóa "_" hoặc "-".
Và sau đó tôi nhận xét rằng mã và đám mây từ là như thế này:
Lần này những lời là chính xác nhưng một số nhân vật bất ngờ xuất hiện bất ngờ, chẳng hạn như ABAP đang commet của tôi ...
Vì vậy, chúng tôi có một số phương pháp có thể chính xác loại bỏ dấu câu mà chúng tôi không muốn và giữ những người chúng ta muốn?
Gần trùng lặp: [tm custom removeCâu lệnh ngoại trừ hashtag] (http://stackoverflow.com/questions/27951377/tm-removepunctuation-except-hashtag) – smci