2012-01-27 8 views
5

आर और टेक्स्ट खनन में शुरुआती वाक्य के बिना अनुच्छेदों को एक दूसरे के साथ जोड़ना। वर्तमान में टीएम पैकेज का उपयोग करना।आर टेक्स्ट खनन -

मैं एक निगम में दो अलग-अलग दस्तावेज़ों के ग्रंथों को एक साथ जोड़ने की कोशिश कर रहा हूं। जब मैं

c(corpus.doc[[1]],corpus.doc[[2]]) 

की तरह एक बयान या पेस्ट बयान

paste(corpus.doc[[1]],corpus.doc[[2]]) 

का उपयोग मैं हर पंक्ति के लिए संयुक्त ग्रंथों का एक परिणाम मिलता है।

उदाहरण के लिए: अगर

> corpus.doc[[1]] 

He visits very often 
and 
sometimes more 

> corpus.doc[[2]]) 

She also 
stays 

क्या मैं इन बयानों के साथ मिल

He visits very often She also 
and stays 
sometimes more 

की तरह कुछ मैं ऐसा कैसे रोकने के लिए और कर सकते हैं बजाय

He visits very often 
and 
sometimes more 
She also 
stays 

मिलता है या नहीं है आर टीएम पैकेज में दस्तावेजों को गठबंधन करने का एक आसान तरीका? आपका अग्रिम में ही बहुत धन्यवाद!


अतिरिक्त जानकारी


जब मैं का उपयोग
एक < - सी (corpus.doc [[1]], corpus.doc [[2]], पुनरावर्ती = TRUE)

मुझे लगता है कि यह दो दस्तावेजों के साथ एक कॉर्पस बन जाता है, इसलिए इन दस्तावेज़ों में से प्रत्येक के ग्रंथ अभी भी संयुक्त नहीं हैं। मैं यह चाहते हैं कि

a[[1]] 

मुझे corpus.doc के संयुक्त पाठ देता है [[1]] और corpus.doc [[2]]।

str(corpus.doc) 

इस

List of 4270 
$ CREC-2011-01-05-pt1-PgE1-2.htm :Classes  'PlainTextDocument', 'TextDocument', 
     'character' atomic [1:74] html head titlecongression record volume issue 
head ... 
.. ..- attr(*, "Author")= chr(0) 
.. ..- attr(*, "DateTimeStamp")= POSIXlt[1:1], format: "2009-01-17 15:45:25" 
.. ..- attr(*, "Description")= chr(0) 
. . ..- attr(, "Heading")= chr(0) .. ..- attr(, "ID")= chr "CREC-2011-01-05-pt1-PgE1- 2.htm" 

और यह हो रहा रखता है की तरह कुछ शो ...

+0

क्यों एक दस्तावेज़ के पाठ को दूसरे दस्तावेज़ में कॉपी और पेस्ट करने के लिए टेक्स्ट एडिटर का उपयोग नहीं करते? यदि आपका उदाहरण दो दस्तावेज़ "PlainTextDocument 'और' TextDocument 'हैं, तो उन्हें टेक्स्ट एडिटर में संपादित करने में कोई समस्या नहीं होनी चाहिए। फिर उस नए दस्तावेज़ का उपयोग टीएम पैकेज के इनपुट के रूप में करें। शुद्ध आर समाधान नहीं है, लेकिन अगर आपके पास अभी कुछ दस्तावेज हैं तो जल्दी। – Ben

+0

हाँ ... मुझे पता है :) यह सिर्फ इतना है कि इनमें से 7000 से अधिक फ़ाइलें (वे भाषण फाइलें हैं), और मैं ग्रंथों को गठबंधन करना चाहता हूं कि वे एक ही वक्ता द्वारा हैं या नहीं। – appletree

उत्तर

2

pkg में मदद: टीएम कहते हैं एक c.Corpus समारोह जिसका डिफ़ॉल्ट 'पुनरावर्ती के लिए सेटिंग है 'गलत है लेकिन यदि सत्य पर सेट किया गया है तो परिणामस्वरूप "बुद्धिमान" विलय हो सकता है। अगर आपको लगता है copus.doc कोष स्तरीय वस्तुओं की एक सूची है, तो आप कोशिश कर सकते हैं:

c(corpus.doc[[1]], corpus.doc[[2]], recursive=TRUE) 

... लेकिन यह स्पष्ट नहीं है कि तुम सच में "कोर्पस" श्रेणी के वस्तुओं की क्या ज़रूरत है।

str(corpus.doc) # see above 

तो है कि बहुत लंबी सूची में पहला तत्व एक कोर्पस वर्गीकृत वस्तु नहीं, बल्कि एक PlaintextDocument है।

+0

यह दो टेक्स्ट दस्तावेज़ों के साथ एक और कॉर्पस बनाता है। मैं चाहता हूं कि कॉर्पस में एक ही दस्तावेज़ है। – appletree

+0

क्षमा करें, सार्थक तरीके से प्रतिक्रिया नहीं दे सकता क्योंकि मेरे पास पर्याप्त प्रतिष्ठा नहीं है। मैंने आपके सवालों के जवाब देने के लिए अपना मूल प्रश्न संपादित किया। – appletree

+0

मेरा मतलब है, मैं टिप्पणियों में कोड अनुभाग का उपयोग नहीं कर सकता, मैं सीमित कार्यक्षमता वाले इस बोर्ड पर एक नौसिखिया हूं। – appletree

1

मेरी टिप्पणी के आगे, अगर आप कॉर्पस बनाने से पहले R में अपने सादे पाठ दस्तावेज़ों को गठबंधन करते हैं तो कैसे?उदाहरण के लिए, यदि 1.txt, 2.txt और 3.txt सादा पाठ फ़ाइलें हैं, तो आप उन्हें R में इतना

a <- readLines(file("C:/Users/X/Desktop/1.txt")) 
b <- readLines(file("C:/Users/X/Desktop/2.txt")) 
c <- readLines(file("C:/Users/X/Desktop/3.txt")) 

की तरह पढ़ सकते हैं और फिर आप उन्हें जोड़ सकता, ऊपर

abc <- c(a, b, c) 

अपने उदाहरण की तरह कि दस्तावेजों को व्यवस्थित करें और अनुरोध के अनुसार, एक डेटा ऑब्जेक्ट में लाइन-बाय-लाइन प्रारूप को संरक्षित करें। हालांकि, अगर आप तो इस कोष में

abc.corpus <- Corpus(VectorSource(abc)) # not what you want 

साथ करते हैं तो आप लाइनों के रूप में के रूप में कई दस्तावेज, जो आप क्या चाहते हैं की तरह ध्वनि नहीं करता है के साथ एक कोष मिल जाएगा। इसके बजाय आप क्या करने की जरूरत है इस

abc.paste <- paste(a,b,c, collapse=' ') # this is what you want 

की तरह पाठ वस्तुओं गठबंधन इतना है कि जिसके परिणामस्वरूप abc.paste वस्तु एक ही लाइन है। फिर जब आप कोष

abc.corpus <- Corpus(VectorSource(abc.paste)) 

का उपयोग कर परिणाम A corpus with 1 text document है जिसे आप tm पैकेज में कार्यों के साथ विश्लेषण कर सकते हैं होगा।

यह आपके 7000+ सादा पाठ दस्तावेज़ों को कुशलता से संयोजित करने के लिए इसे एक फ़ंक्शन में विस्तारित करने के लिए सरल होना चाहिए और फिर परिणामस्वरूप डेटा ऑब्जेक्ट से एक कॉर्पस बनाना चाहिए। क्या यह आपको उस चीज़ के करीब ले जाता है जो आप करना चाहते हैं?

संबंधित मुद्दे