R matnli fayl va matnni ishlab chiqarish ... ma'lumotlarni qanday yuklash kerakligini aniqlang

Men R kodi tm dan foydalanmoqdaman va ba'zi matnni o'rganishni xohlayman. Bu bitta hujjat va so'z sumkachasi sifatida qaraladi.

Men matnli faylni yuklash va kerakli narsalarni yaratish kabi hujjatlarni qanday ishlatishni boshlash uchun hujjatlarni tushunmayapman ....

stemDocument(x, language = map_IETF(Language(x)))

Ya'ni, bu mening hujjatim "bu R yuk uchun sinov"

Matnni qayta ishlash va ob'ektni yaratish uchun qanday ma'lumotlarni yuklab olishim kerak?

14

5 javoblar

@Richiemorrisroe kabi, men bu yomon hujjatlangan topdim. Matnni tm to'plami bilan ishlatish va hujjatning termini matritsasini qanday qilib olishim mumkin:

library(tm) #load text mining library
setwd('F:/My Documents/My texts') #sets R's working directory to near where my files are
a  <-Corpus(DirSource("/My Documents/My texts"), readerControl = list(language="lat")) #specifies the exact folder where my text file(s) is for analysis with tm.
summary(a)  #check what went in
a <- tm_map(a, removeNumbers)
a <- tm_map(a, removePunctuation)
a <- tm_map(a , stripWhitespace)
a <- tm_map(a, tolower)
a <- tm_map(a, removeWords, stopwords("english")) # this stopword file is at C:\Users\[username]\Documents\R\win-library\2.13\tm\stopwords 
a <- tm_map(a, stemDocument, language = "english")
adtm <-DocumentTermMatrix(a) 
adtm <- removeSparseTerms(adtm, 0.75)

Bunday holatda siz aniq fayl nomini aniqlashtirishingiz shart emas. Uchinchi qatorda ko'rsatilgan katalogda faqat bitta narsa bo'lsa, u tm vazifalari bilan ishlatiladi. Men buni shunday qilaman, chunki men 3-satrda fayl nomini aniqlashda muvaffaqiyat qozonmaganman.

Agar kimdir lda paketiga matnni qanday kiritish mumkinligini taklif qilsa, men minnatdorman. Men bu ishni bajarishga qodir emasman.

21
qo'shib qo'ydi
Faqatgina til ko'rsatilmagan bo'lsa, stemDocument funktsiyasi umuman ishlamayotganini bilib oldim, shuning uchun yuqoridagi kodni tahrirlashni o'z ichiga olgandim.
qo'shib qo'ydi muallif Ben, manba

Siz faqat bitta kutubxonadan readPlain funktsiyasidan foydalana olmaysizmi? Yoki oddiy scan funktsiyasidan foydalanishingiz mumkin.

mydoc.txt <-scan("./mydoc.txt", what = "character")
6
qo'shib qo'ydi

Aslida, bu juda murakkab bo'lganini bilib oldim, shuning uchun bu erda batafsilroq tushuntirish bor.

Birinchidan, siz matn hujjatlari uchun manba o'rnatishingiz kerak. Men eng oson yo'lni topdim (ayniqsa, qo'shimcha hujjatlarni qo'shmoqchi bo'lsangiz, barcha fayllarni o'qiy oladigan katalog manbasini yaratishdir.

source <- DirSource("yourdirectoryname/") #input path for documents
YourCorpus <- Corpus(source, readerControl=list(reader=readPlain)) #load in documents

Keyinchalik StemDocument funksiyasini korpusga qo'llashingiz mumkin. HTH.

5
qo'shib qo'ydi

Men nima qilishni istasangiz, korpusga shaxsiy faylni o'qib, matnli faylning turli satrlarini turli xil kuzatishlar sifatida ko'rib chiqing.

Bu sizga kerakli narsani berganmi yoki yo'qmi, qarang:

text <- read.delim("this is a test for R load.txt", sep = "/t")
text_corpus <- Corpus(VectorSource(text), readerControl = list(language = "en"))

Bu "bu R load.txt uchun test" faylining matnli ma'lumotlarga ega bo'lgan bitta ustuniga ega ekanligini taxmin qilmoqda.

Bu erda "text_corpus" siz izlayotgan ob'ektdir.

Umid qilamanki bu yordam.

2
qo'shib qo'ydi

Mana kuzatish uchun chiziqli matnli fayl uchun mening halim. eng so'nggi vinyet (fevral 2017) da batafsil ma'lumot beradi.

text <- read.delim(textFileName, header=F, sep = "\n",stringsAsFactors = F)
colnames(text) <- c("MyCol")
docs <- text$MyCol
a <- VCorpus(VectorSource(docs))
0
qo'shib qo'ydi