用印地语将一段没有标点符号的段落分割成Python语言的句子

2024-10-01 22:29:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图把一段用印地语写的段落分成句子。问题是,不是这一段中的所有句子都以“|”结尾,所以使用split()的想法失败了。有谁能推荐一些解决方案吗?在

以下是段落:

विकिपीडिया सभी विषयों पर प्रामाणिक और उपयोग, परिवर्तन व पुनर्वितरण के लिए स्वतन्त्र ज्ञानकोश बनाने का एक बहुभाषीय प्रकल्प है। यह यथासम्भव निष्पक्ष दृष्टिकोण वाली सूचना प्रसारित करने के लिए कृतसंकल्प है। सर्वप्रथम अंग्रेज़ी विकिपीडिया जनवरी 2001 में आरम्भ किया गया था, और हिन्दी विकिपीडिया का शुभारम्भ जुलाई 2003 में हुआ। सहायता पृष्ठ पर जाएं और प्रयोगस्थल में प्रयोग करके देखें कि आप स्वयं किसी लेख को कैसे परिवर्तित कर सकते हैं।

这是我的代码:

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()

Tags: textinselffordefsentencesswreplace
1条回答
网友
1楼 · 发布于 2024-10-01 22:29:39
def sentencesplit_hindi(paragraph):
        import re
        sentenceEnders = re.compile(ur"""(?:(?<=[\|!?])|(?<=[\।]))\s+""",re.MULTILINE |re.UNICODE)
        sentenceList = sentenceEnders.split(paragraph)
        return sentenceList    

相关问题 更多 >

    热门问题