Ejemplo n.º 1
0
 def modifyFile(self):
     self.originalText, self.errorText = self.prepareFiles()
     originalSentencesList, processedSentencesList = EC(
     ).returnProcessedSentences(self.originalText, self.errorText)
     print(processedSentencesList)
     Metrics().estimateCorrections(self.originalText, originalSentencesList,
                                   processedSentencesList)
Ejemplo n.º 2
0
 def useLevenstein(self):
     self.originalText, self.errorText = FP().prepareFiles()
     originalSentencesList, errorSentencesList = EC().textToSentences(self.originalText, self.errorText)
     print(len(originalSentencesList), len(errorSentencesList))
     correctorModel = build_model(configs.spelling_correction.levenshtein_corrector_ru, download=True)
     processedSentencesList = correctorModel(errorSentencesList)
     Metrics().estimateWords(self.originalText, processedSentencesList)
Ejemplo n.º 3
0
 def useWordsMetrics(self, originalText, processedWordsList):
     originalWordsList = EC().sentencesToWords(originalText)
     originalWordsListLower = [
         element.lower() for element in originalWordsList
     ]
     processedWordsListLower = [
         element.lower() for element in processedWordsList
     ]
     print('Words List Lower Estimation:\n')
     Metrics().printMetrics(originalWordsListLower, processedWordsListLower)
Ejemplo n.º 4
0
 def useSymspell(self):
     self.originalText, self.errorText = FP().prepareFiles()
     originalSentencesList, errorSentencesList = EC().textToSentences(
         self.originalText, self.errorText)
     print(len(originalSentencesList), len(errorSentencesList))
     speller = SymSpell()
     corpusPath = FP().definePathToCoprus()
     speller.create_dictionary(corpusPath, encoding='utf-8')
     processedWordsList = []
     for sentence in errorSentencesList:
         sentenceWords = EC().sentencesToWords(sentence)
         for word in sentenceWords:
             suggestions = speller.lookup(word,
                                          Verbosity.CLOSEST,
                                          max_edit_distance=2,
                                          include_unknown=True)
             for suggestion in suggestions:
                 processedWordsList.append(suggestion.term)
                 break
     print(len(processedWordsList))
     self.useWordsMetrics(self.originalText, processedWordsList)
Ejemplo n.º 5
0
 def useSpeller(self):
     self.originalText, self.errorText = FP().prepareFiles()
     originalSentencesList, errorSentencesList = EC().textToSentences(self.originalText, self.errorText)
     print(len(originalSentencesList), len(errorSentencesList))
     processedSentencesList = []
     speller = YandexSpeller()
     for sentence in errorSentencesList:
         if sentence == "":
             processedSentencesList.append(sentence)
         else:
             for change in speller.spell(sentence):
                 if change['s'] == []:
                     changes = {change['word']: change['word']}
                 else:
                     changes = {change['word']: change['s'][0]}
                 for word, suggestion in changes.items():
                     sentence = sentence.replace(word, suggestion)
             processedSentencesList.append(sentence)
     Metrics().estimateCorrections(self.originalText,originalSentencesList, processedSentencesList)
Ejemplo n.º 6
0
 def testCheckSentence1(self):
     textToCheck = "В октябре ЦЬБ ухудшил прогноз по чистому оттоку апитала из Ооссии в 2020 год3 с 25 миллиардтв долларов що 53 миллиардрв."
     rightText = "В октябре ЦБ ухудшил прогноз по чистому оттоку капитала из России в 2020 году с 25 миллиардов долларов до 53 миллиардов."
     textCorrected = EC().preprocessText(textToCheck)
     self._testCheckCorrections(textCorrected, rightText)
Ejemplo n.º 7
0
 def testCheckSentence10(self):
     textToCheck = "«В это Рождевтво подари ьо, что можешо дать толькг ты», — говорит слоган праздничной рекоамы, которуб в декабре б3дут показыаать в 92 странпах мира."
     rightText = "«В это Рождество подари то, что можешь дать только ты», — говорит слоган праздничной рекламы, которую в декабре будут показывать в 92 странах мира."
     textCorrected = EC().preprocessText(textToCheck)
     self._testCheckCorrections(textCorrected, rightText)
Ejemplo n.º 8
0
 def testCheckSentence9(self):
     textToCheck = "Незнакоме не присел к мтолу, где рамположилисл немногочимленные посктители, а остался у стойви, внимателно изучая вщглядом траатирщика."
     rightText = "Незнакомец не присел к столу, где расположились немногочисленные посетители, а остался у стойки, внимательно изучая взглядом трактирщика."
     textCorrected = EC().preprocessText(textToCheck)
     self._testCheckCorrections(textCorrected, rightText)
Ejemplo n.º 9
0
 def testCheckSentence8(self):
     textToCheck = "Особенная яерта харакера алабая — остоинствь, уверенность в себе, что лчень выразмительно передано в новомм монументе."
     rightText = "Особенная черта характера алабая — достоинство, уверенность в себе, что очень выразительно передано в новом монументе."
     textCorrected = EC().preprocessText(textToCheck)
     self._testCheckCorrections(textCorrected, rightText)
Ejemplo n.º 10
0
 def testCheckSentence7(self):
     textToCheck = "В Минске сдпелали обязаьельным ношкние маски ппи посещении всех городмких объектв, а также в оьщественноп транспорт, включая тавси."
     rightText = "В Минске сделали обязательным ношение маски при посещении всех городских объектов, а также в общественном транспорте, включая такси."
     textCorrected = EC().preprocessText(textToCheck)
     self._testCheckCorrections(textCorrected, rightText)
Ejemplo n.º 11
0
 def testCheckSentence6(self):
     textToCheck = "Термин «самцрай», который впоследстуии объединитт всю воинсуую элиту Японии, возник аак минимум ы начале X веуа."
     rightText = "Термин «самурай», который впоследствии объединит всю воинскую элиту Японии, возник как минимум в начале X века."
     textCorrected = EC().preprocessText(textToCheck)
     self._testCheckCorrections(textCorrected, rightText)
Ejemplo n.º 12
0
 def testCheckSentence5(self):
     textToCheck = "В июле-октяббре 2020 года банки каждый мемяц обновлялди историчекие максимумы по общей свумме выданных жилищныэ кредитов."
     rightText = "В июле-октябре 2020 года банки каждый месяц обновляли исторические максимумы по общей сумме выданных жилищных кредитов."
     textCorrected = EC().preprocessText(textToCheck)
     self._testCheckCorrections(textCorrected, rightText)
Ejemplo n.º 13
0
 def testCheckSentence4(self):
     textToCheck = "Прогнознвй показатеь приблизилдся к рекордк 2018 года, когда ротток состаил 67,5 миллиаржа доларов."
     rightText = "Прогнозный показатель приблизился к рекорду 2018 года, когда отток составил 67,5 миллиарда долларов."
     textCorrected = EC().preprocessText(textToCheck)
     self._testCheckCorrections(textCorrected, rightText)
Ejemplo n.º 14
0
 def testCheckSentence3(self):
     textToCheck = "И то — глазастые улыбчивы ушастики. Ттлько посмотрите на них!"
     rightText = "И это — глазастые улыбчивые ушастики. Только посмотрите на них!"
     textCorrected = EC().preprocessText(textToCheck)
     self._testCheckCorrections(textCorrected, rightText)
Ejemplo n.º 15
0
 def testCheckSentence2(self):
     textToCheck = "Поэтому за всей этой суетой вокруг рредвыборнрй гонки мы поропустили П-НАСТОЯЩЕМЦ важную новрость: в Австрлии обнаружили два новцх вида млекопитающих."
     rightText = "Поэтому за всей этой суетой вокруг предвыборной гонки мы пропустили ПО-НАСТОЯЩЕМУ важную новость: в Австралии обнаружили два новых вида млекопитающих."
     textCorrected = EC().preprocessText(textToCheck)
     self._testCheckCorrections(textCorrected, rightText)