कहें कि मेरे पास शब्दों की एक स्ट्रिंग है: 'a b c d e f'
। मैं इस स्ट्रिंग से बहु-शब्द शर्तों की एक सूची उत्पन्न करना चाहता हूं।मैं बहु शब्द शब्दों को बार-बार कैसे उत्पन्न करूं?
शब्द आदेश महत्वपूर्ण है। उपरोक्त उदाहरण से 'f e d'
शब्द उत्पन्न नहीं किया जाना चाहिए।
संपादित करें: इसके अलावा, शब्दों को छोड़ना नहीं चाहिए। 'a c'
, या 'b d f'
उत्पन्न नहीं किया जाना चाहिए।
क्या मैं अभी:
doc = 'a b c d e f'
terms= []
one_before = None
two_before = None
for word in doc.split(None):
terms.append(word)
if one_before:
terms.append(' '.join([one_before, word]))
if two_before:
terms.append(' '.join([two_before, one_before, word]))
two_before = one_before
one_before = word
for term in terms:
print term
प्रिंटों:
a
b
a b
c
b c
a b c
d
c d
b c d
e
d e
c d e
f
e f
d e f
मैं इस एक पुनरावर्ती समारोह कैसे कर सकता हूँ ताकि मैं इसे शब्दों का एक चर अधिकतम संख्या पारित कर सकते हैं होगा प्रति शब्द?
आवेदन:
मैं HTML दस्तावेज़ में पठनीय पाठ से बहु-शब्द संदर्भ उत्पन्न करने के लिए इस का उपयोग किया जाएगा। समग्र लक्ष्य एक बड़े कॉर्पस (लगभग दो मिलियन दस्तावेज) का एक गुप्त अर्थपूर्ण विश्लेषण है। यही कारण है कि शब्द आदेश मामलों को ध्यान में रखते हुए (प्राकृतिक भाषा प्रसंस्करण और क्या नहीं)।
सादगी के लिए मैंने शब्दों के लिए एकल अक्षरों को प्रतिस्थापित किया। – tgray
क्या आपका मतलब "प्रति शब्द शब्दों की अधिकतम संख्या" है? क्योंकि यह वर्तमान रूप में मुझे समझ में नहीं आता है। – SilentGhost
मुझे लगता है कि असली सवाल यह है कि क्या नौकरी करने के लिए इसे रिकर्सिव करने की आवश्यकता है? क्या यहां रिकर्सन की आवश्यकता है? –