मैं एक टर्म अजगर में दस्तावेज़ मैट्रिक्स कि अतिरिक्त डेटा के साथ एक साथ इस्तेमाल किया जा सकता का निर्माण करने के लिए एक प्रभावी तरीके के लिए देख रहा हूँ।अजगर पाठ प्रसंस्करण: NLTK और पांडा
मैं कुछ अन्य विशेषताओं के साथ कुछ पाठ डेटा है। मैं पाठ पर कुछ विश्लेषण चलाने के लिए चाहता हूं और मैं अन्य विशेषताओं के साथ टेक्स्ट से निकाले गए विशेषताओं (जैसे व्यक्तिगत शब्द टोकन या एलडीए विषयों) से संबंधित सहसंबंधों को सहसंबंधित करना चाहता हूं।
मेरे योजना एक पांडा डेटा फ्रेम के रूप में डेटा लोड और फिर प्रत्येक प्रतिक्रिया एक दस्तावेज का प्रतिनिधित्व करेंगी था। दुर्भाग्य से, मैं एक मुद्दा में भाग:
import pandas as pd
import nltk
pd.options.display.max_colwidth = 10000
txt_data = pd.read_csv("data_file.csv",sep="|")
txt = str(txt_data.comment)
len(txt)
Out[7]: 71581
txt = nltk.word_tokenize(txt)
txt = nltk.Text(txt)
txt.count("the")
Out[10]: 45
txt_lines = []
f = open("txt_lines_only.txt")
for line in f:
txt_lines.append(line)
txt = str(txt_lines)
len(txt)
Out[14]: 1668813
txt = nltk.word_tokenize(txt)
txt = nltk.Text(txt)
txt.count("the")
Out[17]: 10086
ध्यान दें कि दोनों ही मामलों में, पाठ इस तरह से संसाधित किया गया था कि केवल कुछ भी लेकिन रिक्त स्थान, पत्र और,।?! हटा दिया गया था (सादगी के लिए)।
आप देख सकते हैं एक पांडा क्षेत्र एक स्ट्रिंग में बदल कम मैचों वापस आती है और स्ट्रिंग की लंबाई भी कम है।
क्या उपर्युक्त कोड को बेहतर बनाने का कोई तरीका है?
इसके अलावा, str(x)
टिप्पणियों में से 1 बड़ी स्ट्रिंग बनाता है जबकि [str(x) for x in txt_data.comment]
एक सूची वस्तु बनाता है जिसे शब्दों के एक बैग में नहीं टूटा जा सकता है। nltk.Text
ऑब्जेक्ट का उत्पादन करने का सबसे अच्छा तरीका क्या है जो दस्तावेज़ सूचकांक बनाए रखेगा? दूसरे शब्दों में, मैं tm
पैकेज से TermDocumentMatrix()
के टर्म डॉक्यूमेंट मैट्रिक्स, आर के बराबर बनाने का एक तरीका ढूंढ रहा हूं।
बहुत धन्यवाद।
यकीन नहीं आपका प्रश्न क्या है, लेकिन उनमें से प्रत्येक अपने है अगर आप एक मृत अंत आप उन पुस्तकालयों भी कोशिश कर सकते हैं पर पहुंच गया, NLP के लिए अन्य पुस्तकालयों है कि आप के लिए सहायक हो सकता है, पैटर्न, textblob, सी और सी की तरह पुस्तकालय हैं, दूसरों पर अपना लाभ। – mid
धन्यवाद @ मिड, मुझे जेन्सिम के बारे में पता है, लेकिन मैंने पहले कभी टेक्स्टब्लोब के बारे में नहीं सुना है, यह वास्तव में उपयोगी दिखता है! मैं पाइथन (मैं आम तौर पर आर में काम करता हूं) के लिए काफी नया हूं और मुझे सच में संदेह है कि मैं एनएलटीके के साथ एक मृत अंत तक पहुंच गया हूं, यह सोचकर कि पैकेज कितना लोकप्रिय है, मुझे यकीन है कि मुझे कुछ याद आ रहा है। – IVR