max_document_length
VocabularyProcessor
का उद्देश्य समझने में सक्षम नहीं वैक्टर में अपने पाठ दस्तावेजों के नक्शे, और आप इन वैक्टर की जरूरत है एक सुसंगत लंबाई का माना जाता है।
आपका इनपुट डेटा रिकॉर्ड सभी समान लंबाई (या शायद नहीं) हो सकता है। उदाहरण के लिए यदि आप भावनात्मक विश्लेषण के लिए वाक्य के साथ काम कर रहे हैं तो वे विभिन्न लंबाई के होंगे।
आप यह पैरामीटर VocabularyProcessor
पर प्रदान करते हैं ताकि यह आउटपुट वैक्टर की लंबाई समायोजित कर सके। the documentation को,
max_document_length अनुसार: दस्तावेज़ों की अधिकतम लंबाई। यदि दस्तावेज़ अधिक हैं, तो छोटे-छोटे पैड किए जाने पर उन्हें छंटनी की जाएगी।
source code देखें।
def transform(self, raw_documents):
"""Transform documents to word-id matrix.
Convert words to ids with vocabulary fitted with fit or the one
provided in the constructor.
Args:
raw_documents: An iterable which yield either str or unicode.
Yields:
x: iterable, [n_samples, max_document_length]. Word-id matrix.
"""
for tokens in self._tokenizer(raw_documents):
word_ids = np.zeros(self.max_document_length, np.int64)
for idx, token in enumerate(tokens):
if idx >= self.max_document_length:
break
word_ids[idx] = self.vocabulary_.get(token)
yield word_ids
लाइन word_ids = np.zeros(self.max_document_length)
पर ध्यान दें।
raw_documents
वैरिएबल में प्रत्येक पंक्ति max_document_length
की वेक्टर के लिए मैप की जाएगी।
स्रोत
2017-12-28 19:54:28
मैं एक ही ट्यूटोरियल का पालन करने की कोशिश कर रहा हूं लेकिन कुछ चीजें हैं जिन्हें मैं समझ नहीं पा रहा हूं। हो सकता है कि आप [मेरे प्रश्न पर नज़र डालें] (http://stackoverflow.com/questions/41665109/trying-to-understand-cnns-for-nlp-tutorial-using-tensorflow) और मेरी मदद करें? – displayname