Я пытался разбить абзац, написанный на языке хинди, на предложения. Проблема в том, что не все предложения в этом параграфе заканчиваются на '|' поэтому идея использовать split () не удалась. Кто-нибудь может порекомендовать какое-нибудь решение?
Вот параграф:
उपयोग सभी विषयों पर प्रामाणिक और उपयोग, परिवर्तन व पुनर्वितरण के लिए स्वतन्त्र ज्ञानकोश का का एक बहुभाषीय प्रकल्प है। यह यथासम्भव निष्पक्ष दृष्टिकोण वाली सूचना प्रसारित करने के लिए कृतसंकल्प है। जनवरी अंग्रेज़ी विकिपीडिया जनवरी 2001 में आरम्भ किया गया था, और हिन्दी विकिपीडिया का शुभारम्भ जुलाई में 2003 में हुआ। 100 पृष्ठ सहायता जाएं और प्रयोगस्थल प्रयोग प्रयोग देखें कि आप किसी लेख कैसे परिवर्तित कर 100 100 100 100
Вот мой код:
import codecs
class Tokenizer():
def __init__(self,text):
self.text=text.decode('utf-8')
self.clean_text()
self.sentences=[]
self.final_list=[]
self.bsentences=[]
self.asentences=[]
self.final_sentences=self.bsentences+self.asentences
def readFromFile(self,filename):
f=codecs.open(filename,encoding='utf-8')
self.text=f.read()
self.clean_text()
def print_sentences(self,sentences):
for i in self.sentences:
print i.encode('utf-8')
def cleanText(self):
text=self.text
text=re.sub(r'(\d+)',r'',text)
text=text.replace(u',','')
text=text.replace(u'"','')
text=text.replace(u'"','')
text=text.replace(u':','')
text=text.replace(u"'",'')
text=text.replace(u"‘‘",'')
text=text.replace(u"’’",'')
text=text.replace(u"''",'')
text=text.replace(u".",'')
self.text=text
def getSentence(self):
text=self.text
self.bsentences=text.split(u"।")
sw=codecs.open("stopwords.txt",encoding='utf-8')
stopwords=[x.strip() for x in sw.readlines()]
sentences=[s for s in sw.readlines() if s in enumerate(stopwords)]
return self.final_sentences
t=Tokenizer('')
t.readFromFile('sample.txt')
t.getSentences()
t.print_sentences()