def get_added_words_proportion(c, s): # TODO: Duplicate of get_addition_proportion, same for deletion # Relative to simple sentence return get_n_added_words(c, s) / count_words(s)
def get_reordered_words_proportion(c, s): # Relative to complex sentence return get_n_deleted_words(c, s) / count_words(s)
def get_deletions_proportion(complex_sentence, simple_sentence): n_deletions = sum((Counter(to_words(complex_sentence)) - Counter(to_words(simple_sentence))).values()) return n_deletions / max(count_words(complex_sentence), count_words(simple_sentence))
def count_syllables_per_word(sentence): return safe_division(count_syllables_in_sentence(sentence), count_words(sentence))
def count_characters_per_word(sentence): return safe_division(count_characters(sentence), count_words(sentence))
def count_words_per_sentence(sentence): return safe_division(count_words(sentence), count_sentences(sentence))
def add_sentence(self, sentence): self.nb_words += count_words(remove_punctuation_tokens(sentence)) self.nb_syllables += count_syllables_in_sentence(sentence) self.nb_sentences += 1