Fixing ComplexityAnalyzer and NGramsAnalyzer

parent 02dc279b
...@@ -207,9 +207,14 @@ class ComplexityAnalyzer(Analyzer): ...@@ -207,9 +207,14 @@ class ComplexityAnalyzer(Analyzer):
avgLettersWords = numLetters/self.numWords avgLettersWords = numLetters/self.numWords
listLenLetters = np.array(listLenLetters) listLenLetters = np.array(listLenLetters)
if self.numSentences == 0:
self.poliniComprensibility = 95.2 - (9.7 * avgLettersWords) - ((0.35*self.numWords)/self.numSentences) self.poliniComprensibility = 95.2 - (9.7 * avgLettersWords) - ((0.35*self.numWords)/1)
self.muLegibility = (self.numWords/(self.numWords-1))*(avgLettersWords/listLenLetters.var())*100 else:
self.poliniComprensibility = 95.2 - (9.7 * avgLettersWords) - ((0.35*self.numWords)/self.numSentences)
if self.numWords < 2:
self.muLegibility = 0
else:
self.muLegibility = (self.numWords/(self.numWords-1))*(avgLettersWords/listLenLetters.var())*100
def lexicalIndex(self): def lexicalIndex(self):
""" """
......
...@@ -70,15 +70,19 @@ class NGramsAnalyzer(Analyzer): ...@@ -70,15 +70,19 @@ class NGramsAnalyzer(Analyzer):
Args: Args:
text: a string/text to analyze text: a string/text to analyze
""" """
vect = sklearn.feature_extraction.text.CountVectorizer(ngram_range=(self.ngramsSize,self.ngramsSize),tokenizer=self.tokenizer.tokenize,stop_words= self.stopwords) try:
text=[text] vect = sklearn.feature_extraction.text.CountVectorizer(ngram_range=(self.ngramsSize,self.ngramsSize),tokenizer=self.tokenizer.tokenize,stop_words= self.stopwords)
vect.fit(text) text=[text]
self.listOfNGrams = vect.get_feature_names_out().tolist() vect.fit(text)
dicfreq={} self.listOfNGrams = vect.get_feature_names_out().tolist()
for i in self.listOfNGrams: dicfreq={}
if i in dicfreq: for i in self.listOfNGrams:
dicfreq[i] += 1 if i in dicfreq:
else: dicfreq[i] += 1
dicfreq[i] = 1 else:
self.freqNGrams = dicfreq dicfreq[i] = 1
self.freqNGrams = dicfreq
except Exception:
self.listOfNGrams = []
self.freqNGrams = {}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment