R'deki 'tm' (Metin Madenciliği) paketindeki VectorSource ve VCorpus nedir


9

VectorSource ve VCorpus'un 'tm' paketinde tam olarak ne olduğundan emin değilim.

Belgeler bunlar hakkında net değil, kimse basit terimlerle anlamamı sağlayabilir mi?

Yanıtlar:


12

"Corpus" metin belgelerinin bir koleksiyonudur.

Tm'deki VCorpus "Uçucu" korpusa karşılık gelir, bu da korpusun bellekte depolandığı ve onu içeren R nesnesi yok edildiğinde yok edileceği anlamına gelir.

Bunu db'de bellek dışında depolanan PCorpus veya Kalıcı Corpus ile karşılaştırın.

Tm kullanarak bir VCorpus oluşturmak için VCorpus yöntemine bir parametre olarak bir "Source" nesnesini geçirmemiz gerekir. Bu yöntemi kullanarak mevcut kaynakları bulabilirsiniz -
getSources ()

[1] "DataframeSource" "DirSource" "URISource" "VectorSource"
[5] "XMLSource" "ZipSource"

Kaynak, dizin veya URI vb. Gibi giriş konumlarını özetler. VectorSource yalnızca karakter vektörleri içindir

Basit bir örnek:

Diyelim ki bir char vektörünüz var -

input <- c ('Bu birinci satır.', 'Ve bu ikinci satır')

Kaynağı oluşturun - vecSource <- VectorSource (input)

Sonra corpus'u oluşturun - VCorpus (vecSource)

Bu yardımcı olur umarım. Daha fazla bilgiyi buradan edinebilirsiniz - https://cran.r-project.org/web/packages/tm/vignettes/tm.pdf


5

Pratik anlamda, Corpusve arasında büyük bir fark vardır VCorpus.

CorpusSimpleCorpusvarsayılan olarak kullanır , yani bazı özellikleri VCorpuskullanılamaz. Hemen belirgin olan, SimpleCorpustire, alt çizgi veya diğer noktalama işaretlerini tutmanıza izin vermeyecek olmasıdır; SimpleCorpusveya Corpusotomatik olarak kaldırır VCorpus, değil. Yardımda Corpusbulacağınız başka sınırlamalar da vardır ?SimpleCorpus.

İşte bir örnek:

# Read a text file from internet
filePath <- "http://www.sthda.com/sthda/RDoc/example-files/martin-luther-king-i-have-a-dream-speech.txt"
text <- readLines(filePath)

# load the data as a corpus
C.mlk <- Corpus(VectorSource(text))
C.mlk
V.mlk <- VCorpus(VectorSource(text))
V.mlk

Çıktı şöyle olacaktır:

<<SimpleCorpus>>
Metadata:  corpus specific: 1, document level (indexed): 0
Content:  documents: 46
<<VCorpus>>
Metadata:  corpus specific: 0, document level (indexed): 0
Content:  documents: 46

Nesneleri incelerseniz:

# inspect the content of the document
inspect(C.mlk[1:2])
inspect(V.mlk[1:2])

CorpusMetnin paketini açtığınızı göreceksiniz :

<<SimpleCorpus>>
Metadata:  corpus specific: 1, document level (indexed): 0
Content:  documents: 2
[1]                                                                                                                                            
[2] And so even though we face the difficulties of today and tomorrow, I still have a dream. It is a dream deeply rooted in the American dream.


<<VCorpus>>
Metadata:  corpus specific: 0, document level (indexed): 0
Content:  documents: 2
[[1]]
<<PlainTextDocument>>
Metadata:  7
Content:  chars: 0
[[2]]
<<PlainTextDocument>>
Metadata:  7
Content:  chars: 139

Iken VCorpusonu nesne içinde bir arada tutar.

Şimdi her ikisi için de matris dönüşümünü yaptığınızı varsayalım:

dtm.C.mlk <- DocumentTermMatrix(C.mlk)
length(dtm.C.mlk$dimnames$Terms)
# 168

dtm.V.mlk <- DocumentTermMatrix(V.mlk)
length(dtm.V.mlk$dimnames$Terms)
# 187

Son olarak, içeriği görelim. Bu Corpus:

grep("[[:punct:]]", dtm.C.mlk$dimnames$Terms, value = TRUE)
# character(0)

Ve VCorpus:

grep("[[:punct:]]", dtm.V.mlk$dimnames$Terms, value = TRUE)

[1] "alabama,"       "almighty,"      "brotherhood."   "brothers."     
 [5] "california."    "catholics,"     "character."     "children,"     
 [9] "city,"          "colorado."      "creed:"         "day,"          
[13] "day."           "died,"          "dream."         "equal."        
[17] "exalted,"       "faith,"         "gentiles,"      "georgia,"      
[21] "georgia."       "hamlet,"        "hampshire."     "happens,"      
[25] "hope,"          "hope."          "injustice,"     "justice."      
[29] "last!"          "liberty,"       "low,"           "meaning:"      
[33] "men,"           "mississippi,"   "mississippi."   "mountainside," 
[37] "nation,"        "nullification," "oppression,"    "pennsylvania." 
[41] "plain,"         "pride,"         "racists,"       "ring!"         
[45] "ring,"          "ring."          "self-evident,"  "sing."         
[49] "snow-capped"    "spiritual:"     "straight;"      "tennessee."    
[53] "thee,"          "today!"         "together,"      "together."     
[57] "tomorrow,"      "true."          "york."

Noktalama işaretleriyle kelimelere bir göz atın. Bu çok büyük bir fark. Öyle değil mi?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.