From 9a98004724f376442d3543537b5f2597514c3761 Mon Sep 17 00:00:00 2001 From: Mani Sarkar Date: Sun, 13 Dec 2020 16:33:42 +0000 Subject: [PATCH 1/8] Ease of Reading: a new high-level feature to assess text and based on the textstat library tells us how easy it is to read it --- nlp_profiler/constants.py | 6 + .../ease_of_reading_check.py | 71 ++++++++++ .../high_level/test_ease_of_reading_check.py | 130 ++++++++++++++++++ tests/high_level/test_grammar_check.py | 2 +- 4 files changed, 208 insertions(+), 1 deletion(-) create mode 100644 nlp_profiler/high_level_features/ease_of_reading_check.py create mode 100644 tests/high_level/test_ease_of_reading_check.py diff --git a/nlp_profiler/constants.py b/nlp_profiler/constants.py index 9d8fa28..60c5941 100644 --- a/nlp_profiler/constants.py +++ b/nlp_profiler/constants.py @@ -30,6 +30,12 @@ SENTIMENT_SUBJECTIVITY_COL = 'sentiment_subjectivity' SENTIMENT_SUBJECTIVITY_SUMMARISED_COL = 'sentiment_subjectivity_summarised' +## Spelling check +EASE_OF_READING_SCORE_COL = 'ease_of_reading_score' +EASE_OF_READING_COL = 'ease_of_reading_quality' +EASE_OF_READING_SUMMARISED_COL = 'ease_of_reading_summarised' + + # --- # Granular DATES_COUNT_COL = 'dates_count' diff --git a/nlp_profiler/high_level_features/ease_of_reading_check.py b/nlp_profiler/high_level_features/ease_of_reading_check.py new file mode 100644 index 0000000..294cbcb --- /dev/null +++ b/nlp_profiler/high_level_features/ease_of_reading_check.py @@ -0,0 +1,71 @@ +from textstat import flesch_reading_ease +import pandas as pd +import math + +from nlp_profiler.constants import NOT_APPLICABLE, NaN, DEFAULT_PARALLEL_METHOD, \ + EASE_OF_READING_SCORE_COL, EASE_OF_READING_COL +from nlp_profiler.generate_features import generate_features + + +def apply_ease_of_reading_check(heading: str, + new_dataframe: pd.DataFrame, + text_column: dict, + parallelisation_method: str = DEFAULT_PARALLEL_METHOD): + ease_of_reading_steps = [ + (EASE_OF_READING_SCORE_COL, text_column, EASE_OF_READING_SCORE), + (EASE_OF_READING_COL, EASE_OF_READING_SCORE_COL, ease_of_reading), + (EASE_OF_READING_SUMMARISED_COL, EASE_OF_READING_COL, ease_of_reading_summarised), + ] + generate_features( + heading, ease_of_reading_steps, + new_dataframe, parallelisation_method + ) + +ease_of_reading_to_summarised_words_mapping = { + "Very Easy": "Easy", + "Easy": "Easy", + "Fairly Easy": "Easy", + "Standard": "Standard", + "Fairly Difficult": "Difficult", + "Difficult": "Difficult" , + "Very Confusing": "Confusing" +} +def ease_of_reading_summarised(text: str) -> str: + if text in ease_of_reading_to_summarised_words_mapping: + return ease_of_reading_to_summarised_words_mapping[text] + return "N/A" + + +def ease_of_reading_score(text: str) -> float: + if (not isinstance(text, str)) or (len(text.strip()) == 0): + return NaN + + return float(flesch_reading_ease(text)) + +# Docs: https://textblob.readthedocs.io/en/dev/quickstart.html +### See https://en.wikipedia.org/wiki/Words_of_estimative_probability +### The General Area of Possibility +ease_of_reading_to_words_mapping = [ + ["Very Easy", 90, 100], + ["Easy", 80, 89], + ["Fairly Easy", 70, 79], + ["Standard", 60, 69], + ["Fairly Difficult", 50, 59], + ["Difficult", 30, 49], + ["Very Confusing", 0, 29] +] +def ease_of_reading(score: int) -> str: + if math.isnan(score): + return NOT_APPLICABLE + + if math.isnan(score): + return NOT_APPLICABLE + + score = float(score) + for _, each_slab in enumerate(ease_of_reading_to_words_mapping): # pragma: no cover + # pragma: no cover => early termination leads to loss of test coverage info + if ((score <= 0) and (each_slab[1] == 0)) or \ + ((score >= 100) and (each_slab[2] == 100)): + return each_slab[0] + elif (score >= each_slab[1]) and (score <= each_slab[2]): + return each_slab[0] \ No newline at end of file diff --git a/tests/high_level/test_ease_of_reading_check.py b/tests/high_level/test_ease_of_reading_check.py new file mode 100644 index 0000000..8bdada0 --- /dev/null +++ b/tests/high_level/test_ease_of_reading_check.py @@ -0,0 +1,130 @@ +import numpy as np +import pytest + +from nlp_profiler.constants import NaN, NOT_APPLICABLE +from nlp_profiler.high_level_features.ease_of_reading_check \ + import ease_of_reading_score, ease_of_reading, ease_of_reading_summarised # noqa + +# textstat.flesch_reading_ease() returned a score of -175.9 +very_confusing_text1 = '...asasdasdasdasdasd djas;ODLaskjdf.' + +# textstat.flesch_reading_ease() returned a score of -50.02 +very_confusing_text2 = '. a323# asdft asdlkassdsdsd' + +# textstat.flesch_reading_ease() returned a score of 53.88 +fairly_difficult = 'Everyone here is so hardworking. Hardworking people. ' \ + 'I think hardworking people are a good trait in our company.' + +# textstat.flesch_reading_ease() returned a score of 36.62 +difficult_text = 'asfl;a089v' + +# textstat.flesch_reading_ease() returned a score of 57.27 +fairly_difficult_latin_text = "Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..." + +# textstat.flesch_reading_ease() returned a score of 66.4 +standard_text = 'Python is a programming language.' + +# textstat.flesch_reading_ease() returned a score of 80.28 +easy_text = 'يح going to.. asfl;as ๑۞๑ asdlkas Kadv as' + +# textstat.flesch_reading_ease() returned a score of 75.88 +fairly_easy_text = 'Im going to.. asfl;a089v' + +# textstat.flesch_reading_ease() returned a score of 119.19 +very_easy_arabic_text = 'لوحة المفاتيح العربية' + +# textstat.flesch_reading_ease() returned a score of 114.12 +very_easy_emoji_text = '๑۞๑,¸¸,ø¤º°`°๑۩ ℍ𝑒ˡ𝔩σ ϻⓨ ⓝα𝕞𝕖 ί𝔰 α𝓀ί𝓿𝕒𝕤𝔥𝓐 ๑۩ ,¸¸,ø¤º°`°๑۞๑' + +# textstat.flesch_reading_ease() returned a score of 120.21 +very_easy_unicode_text = '乇乂丅尺卂 丅卄工匚匚' + +text_to_return_value_mapping = [ + (np.nan, NaN, NOT_APPLICABLE), + (float('nan'), NaN, NOT_APPLICABLE), + (None, NaN, NOT_APPLICABLE), + ("", NaN, NOT_APPLICABLE), + (very_confusing_text1, -175.9, 'Very Confusing'), + (very_confusing_text2, -50.02, 'Very Confusing'), + (difficult_text, 36.62, 'Difficult'), + (fairly_difficult_latin_text, 57.27, "Fairly Difficult"), + (fairly_difficult, 53.88, "Fairly Difficult"), + (standard_text, 66.40, "Standard"), + (easy_text, 80.28, 'Easy'), + (fairly_easy_text, 75.88, 'Fairly Easy'), + (very_easy_arabic_text, 119.19, 'Very Easy'), + (very_easy_emoji_text, 114.12, 'Very Easy'), + (very_easy_unicode_text, 120.21, 'Very Easy') +] + +### These tests are in place to ring-fench the functionality provided by textstat. +### They do not validate if these are right or wrong, that discussion is best to be taken up with the maintainer of the library. + +@pytest.mark.parametrize("text,expected_score,expected_quality", + text_to_return_value_mapping) +def test_given_a_correct_text_when_ease_of_reading_check_is_applied_then_respective_scores_are_returned( + text: str, expected_score: float, expected_quality: str +): + # given, when: text is as in the dictionary + actual_score = ease_of_reading_score(text) + + # then + assert (actual_score == expected_score) or \ + (actual_score is expected_score), \ + f"Ease of reading score should NOT " \ + f"have been returned, expected {expected_score}" + + # given, when + actual_quality = ease_of_reading(actual_score) + + # then + assert actual_quality == expected_quality, \ + f"Ease of reading should NOT " \ + f"have been returned, expected {expected_quality}" + + +ease_of_reading_check_score_to_words_mapping = [ + (NaN, NOT_APPLICABLE), + (15, "Very Confusing"), + (40, "Difficult"), + (55, "Fairly Difficult"), + (65, "Standard"), + (75, "Fairly Easy"), + (85, "Easy"), + (95, "Very Easy"), +] + +@pytest.mark.parametrize("score,expected_result", + ease_of_reading_check_score_to_words_mapping) +def test_given_ease_of_reading_score_when_converted_to_words_then_return_right_words( + score: float, expected_result: str +): + # given, when + actual_result = ease_of_reading(score) + + # then + assert expected_result == actual_result, \ + f"Expected: {expected_result}, Actual: {actual_result}" + +ease_of_reading_to_summarised_mapping = [ + (NaN, NOT_APPLICABLE), + ("Very Confusing", "Confusing"), + ("Difficult", "Difficult"), + ("Fairly Difficult", "Difficult"), + ("Standard", "Standard"), + ("Fairly Easy", "Easy"), + ("Easy", "Easy"), + ("Very Easy", "Easy"), +] + +@pytest.mark.parametrize("reading,expected_result", + ease_of_reading_to_summarised_mapping) +def test_given_ease_of_reading_score_when_converted_to_words_then_return_right_word( + reading: str, expected_result: str +): + # given, when + actual_result = ease_of_reading_summarised(reading) + + # then + assert expected_result == actual_result, \ + f"Expected: {expected_result}, Actual: {actual_result}" diff --git a/tests/high_level/test_grammar_check.py b/tests/high_level/test_grammar_check.py index 66d6ed6..dc1323f 100644 --- a/tests/high_level/test_grammar_check.py +++ b/tests/high_level/test_grammar_check.py @@ -51,7 +51,7 @@ def test_given_a_correct_text_when_grammar_check_is_applied_then_no_grammar_issu @pytest.mark.parametrize("score,expected_result", grammar_check_score_to_words_mapping) -def test_given_spelling_check_score_when_converted_to_words_then_return_right_word( +def test_given_grammar_check_score_when_converted_to_words_then_returns_the_score_in_word( score: float, expected_result: str ): # given, when From 4a886cf2f0af0d5b2a4334219eef721492ba1146 Mon Sep 17 00:00:00 2001 From: Mani Sarkar Date: Sun, 13 Dec 2020 18:02:47 +0000 Subject: [PATCH 2/8] Ease of Reading check: connecting the functionality with the core aspect of the library to make it available to the profiler. Adding the necessary tests and dependency information. --- README.md | 3 ++- nlp_profiler/constants.py | 2 +- nlp_profiler/core.py | 8 ++++++-- .../high_level_features/ease_of_reading_check.py | 4 ++-- requirements.txt | 1 + .../data/expected_profiled_dataframe.csv | 16 ++++++++-------- .../expected_profiled_dataframe_no_granular.csv | 16 ++++++++-------- .../test_apply_text_profiling.py | 11 ++++++++--- 8 files changed, 36 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index ad8eaee..4d89da9 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ [![PyPI version](https://badge.fury.io/py/nlp-profiler.svg)](https://badge.fury.io/py/nlp-profiler) [![Python versions](https://img.shields.io/pypi/pyversions/nlp_profiler.svg)](https://pypi.org/project/nlp_profiler/) [![PyPi stats](https://img.shields.io/pypi/dm/nlp_profiler.svg?label=pypi%20downloads&logo=PyPI&logoColor=white)](https://pypistats.org/packages/nlp_profiler) +[![Downloads](https://static.pepy.tech/personalized-badge/nlp-profiler?period=total&units=international_system&left_color=black&right_color=orange&left_text=Downloads)](https://pepy.tech/project/nlp-profiler) A simple NLP library that allows profiling datasets with one or more text columns. @@ -40,7 +41,7 @@ In short: Think of it as using the `pandas.describe()` function or running [Pand - Input a Pandas dataframe series as an input parameter. - You get back a new dataframe with various features about the parsed text per row. - - High-level: sentiment analysis, objectivity/subjectivity analysis, spelling quality check, grammar quality check, etc... + - High-level: sentiment analysis, objectivity/subjectivity analysis, spelling quality check, grammar quality check, ease of readability check, etc... - Low-level/granular: number of characters in the sentence, number of words, number of emojis, number of words, etc... - From the above numerical data in the resulting dataframe descriptive statistics can be drawn using the `pandas.describe()` on the dataframe. diff --git a/nlp_profiler/constants.py b/nlp_profiler/constants.py index 60c5941..138106f 100644 --- a/nlp_profiler/constants.py +++ b/nlp_profiler/constants.py @@ -6,6 +6,7 @@ HIGH_LEVEL_OPTION = 'high_level' GRAMMAR_CHECK_OPTION = 'grammar_check' SPELLING_CHECK_OPTION = 'spelling_check' +EASE_OF_READING_CHECK_OPTION = 'ease_of_reading_check' PARALLELISATION_METHOD_OPTION = 'parallelisation_method' NOT_APPLICABLE = "N/A" @@ -35,7 +36,6 @@ EASE_OF_READING_COL = 'ease_of_reading_quality' EASE_OF_READING_SUMMARISED_COL = 'ease_of_reading_summarised' - # --- # Granular DATES_COUNT_COL = 'dates_count' diff --git a/nlp_profiler/core.py b/nlp_profiler/core.py index 34cd0c4..29ecceb 100644 --- a/nlp_profiler/core.py +++ b/nlp_profiler/core.py @@ -20,7 +20,7 @@ from nlp_profiler.constants import \ PARALLELISATION_METHOD_OPTION, DEFAULT_PARALLEL_METHOD, GRANULAR_OPTION, HIGH_LEVEL_OPTION, \ - GRAMMAR_CHECK_OPTION, SPELLING_CHECK_OPTION + GRAMMAR_CHECK_OPTION, SPELLING_CHECK_OPTION, EASE_OF_READING_CHECK_OPTION from nlp_profiler.generate_features import get_progress_bar from nlp_profiler.granular_features import apply_granular_features from nlp_profiler.high_level_features import apply_high_level_features @@ -28,6 +28,8 @@ import apply_grammar_check from nlp_profiler.high_level_features.spelling_quality_check \ import apply_spelling_check +from nlp_profiler.high_level_features.ease_of_reading_check \ + import apply_ease_of_reading_check def apply_text_profiling(dataframe: pd.DataFrame, @@ -41,6 +43,7 @@ def apply_text_profiling(dataframe: pd.DataFrame, GRANULAR_OPTION: True, GRAMMAR_CHECK_OPTION: False, # default: False as slow process but can Enabled SPELLING_CHECK_OPTION: True, # default: True although slightly slow process but can Disabled + EASE_OF_READING_CHECK_OPTION: True, PARALLELISATION_METHOD_OPTION: DEFAULT_PARALLEL_METHOD } @@ -51,7 +54,8 @@ def apply_text_profiling(dataframe: pd.DataFrame, (GRANULAR_OPTION, "Granular features", apply_granular_features), (HIGH_LEVEL_OPTION, "High-level features", apply_high_level_features), (GRAMMAR_CHECK_OPTION, "Grammar checks", apply_grammar_check), - (SPELLING_CHECK_OPTION, "Spelling checks", apply_spelling_check) + (SPELLING_CHECK_OPTION, "Spelling checks", apply_spelling_check), + (EASE_OF_READING_CHECK_OPTION, "Ease of reading check", apply_ease_of_reading_check) ] for index, item in enumerate(actions_mappings.copy()): diff --git a/nlp_profiler/high_level_features/ease_of_reading_check.py b/nlp_profiler/high_level_features/ease_of_reading_check.py index 294cbcb..05e81c7 100644 --- a/nlp_profiler/high_level_features/ease_of_reading_check.py +++ b/nlp_profiler/high_level_features/ease_of_reading_check.py @@ -3,7 +3,7 @@ import math from nlp_profiler.constants import NOT_APPLICABLE, NaN, DEFAULT_PARALLEL_METHOD, \ - EASE_OF_READING_SCORE_COL, EASE_OF_READING_COL + EASE_OF_READING_SCORE_COL, EASE_OF_READING_COL, EASE_OF_READING_SUMMARISED_COL from nlp_profiler.generate_features import generate_features @@ -12,7 +12,7 @@ def apply_ease_of_reading_check(heading: str, text_column: dict, parallelisation_method: str = DEFAULT_PARALLEL_METHOD): ease_of_reading_steps = [ - (EASE_OF_READING_SCORE_COL, text_column, EASE_OF_READING_SCORE), + (EASE_OF_READING_SCORE_COL, text_column, ease_of_reading_score), (EASE_OF_READING_COL, EASE_OF_READING_SCORE_COL, ease_of_reading), (EASE_OF_READING_SUMMARISED_COL, EASE_OF_READING_COL, ease_of_reading_summarised), ] diff --git a/requirements.txt b/requirements.txt index fc69bd4..5295472 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,3 +10,4 @@ spacy >= 2.3.0,<3.0.0 pandas swifter >= 1.0.3 en-core-web-sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.3.0/en_core_web_sm-2.3.0.tar.gz +textstat >= 0.7.0 \ No newline at end of file diff --git a/tests/acceptance_tests/data/expected_profiled_dataframe.csv b/tests/acceptance_tests/data/expected_profiled_dataframe.csv index eebadb1..9ddfc8c 100644 --- a/tests/acceptance_tests/data/expected_profiled_dataframe.csv +++ b/tests/acceptance_tests/data/expected_profiled_dataframe.csv @@ -1,8 +1,8 @@ -text,sentences_count,characters_count,spaces_count,count_words,duplicates_count,chars_excl_spaces_count,emoji_count,whole_numbers_count,alpha_numeric_count,non_alpha_numeric_count,punctuations_count,stop_words_count,dates_count,noun_phase_count,sentiment_polarity_score,sentiment_polarity,sentiment_polarity_summarised,sentiment_subjectivity_score,sentiment_subjectivity,sentiment_subjectivity_summarised,spelling_quality_score,spelling_quality,spelling_quality_summarised -I love ⚽ very much 😁.,1,21,5,4,0,16,2,0,13,8,1,1,0,3,0.38,Pretty positive,Positive,0.43,Objective/subjective,Objective/subjective,1.0,Very good,Good -2833047 people live in this area. It is not a good area.,2,56,11,11,2,45,0,1,43,13,2,5,0,4,-0.10681818181818181,Pretty negative,Negative,0.55,Objective/subjective,Objective/subjective,1.0,Very good,Good -2833047 and 1111 people live in this area.,1,42,7,6,0,35,0,2,34,8,1,3,0,2,0.13636363636363635,Pretty positive,Positive,0.5,Objective/subjective,Objective/subjective,1.0,Very good,Good -"This sentence does not seem to have too many commas, periods or semicolons (;).",1,79,13,13,0,66,0,0,61,18,5,6,0,5,0.375,Pretty positive,Positive,0.75,Pretty subjective,Subjective,0.9444444444444444,Pretty good,Good -"The date today is 04/28/2020 for format mm/dd/yyyy, not 28/04/2020.",1,67,9,10,0,58,0,6,50,17,8,3,1,4,0.0,Neutral,Neutral,0.0,Very objective,Objective,0.75,Bad,Bad -The date today is 28/04/2020 and tomorrow's date is 29/04/2020.,1,63,9,9,2,54,0,6,48,15,6,3,2,4,0.0,Neutral,Neutral,0.0,Very objective,Objective,0.75,Bad,Bad -Everyone here works so hard. People work hard. I think they have a good trait.,3,78,14,15,2,64,0,0,61,17,3,5,0,5,0.03888888888888886,Pretty positive,Positive,0.5611111111111111,Objective/subjective,Objective/subjective,1.0,Very good,Good +text,sentences_count,characters_count,spaces_count,count_words,duplicates_count,chars_excl_spaces_count,emoji_count,whole_numbers_count,alpha_numeric_count,non_alpha_numeric_count,punctuations_count,stop_words_count,dates_count,noun_phase_count,sentiment_polarity_score,sentiment_polarity,sentiment_polarity_summarised,sentiment_subjectivity_score,sentiment_subjectivity,sentiment_subjectivity_summarised,spelling_quality_score,spelling_quality,spelling_quality_summarised,ease_of_reading_score,ease_of_reading_quality,ease_of_reading_summarised +I love ⚽ very much 😁.,1,21,5,4,0,16,2,0,13,8,1,1,0,3,0.38,Pretty positive,Positive,0.43,Objective/subjective,Objective/subjective,1.0,Very good,Good,116.15,Very Easy,Easy +2833047 people live in this area. It is not a good area.,2,56,11,11,2,45,0,1,43,13,2,5,0,4,-0.10681818181818181,Pretty negative,Negative,0.55,Objective/subjective,Objective/subjective,1.0,Very good,Good,107.69,Very Easy,Easy +2833047 and 1111 people live in this area.,1,42,7,6,0,35,0,2,34,8,1,3,0,2,0.13636363636363635,Pretty positive,Positive,0.5,Objective/subjective,Objective/subjective,1.0,Very good,Good,105.66,Very Easy,Easy +"This sentence does not seem to have too many commas, periods or semicolons (;).",1,79,13,13,0,66,0,0,61,18,5,6,0,5,0.375,Pretty positive,Positive,0.75,Pretty subjective,Subjective,0.9444444444444444,Pretty good,Good,66.74,Standard,Standard +"The date today is 04/28/2020 for format mm/dd/yyyy, not 28/04/2020.",1,67,9,10,0,58,0,6,50,17,8,3,1,4,0.0,Neutral,Neutral,0.0,Very objective,Objective,0.75,Bad,Bad,86.71,Easy,Easy +The date today is 28/04/2020 and tomorrow's date is 29/04/2020.,1,63,9,9,2,54,0,6,48,15,6,3,2,4,0.0,Neutral,Neutral,0.0,Very objective,Objective,0.75,Bad,Bad,86.71,Easy,Easy +Everyone here works so hard. People work hard. I think they have a good trait.,3,78,14,15,2,64,0,0,61,17,3,5,0,5,0.03888888888888886,Pretty positive,Positive,0.5611111111111111,Objective/subjective,Objective/subjective,1.0,Very good,Good,100.24,Very Easy,Easy diff --git a/tests/acceptance_tests/data/expected_profiled_dataframe_no_granular.csv b/tests/acceptance_tests/data/expected_profiled_dataframe_no_granular.csv index 707718e..f264ad4 100644 --- a/tests/acceptance_tests/data/expected_profiled_dataframe_no_granular.csv +++ b/tests/acceptance_tests/data/expected_profiled_dataframe_no_granular.csv @@ -1,8 +1,8 @@ -text,sentiment_polarity_score,sentiment_polarity,sentiment_polarity_summarised,sentiment_subjectivity_score,sentiment_subjectivity,sentiment_subjectivity_summarised,spelling_quality_score,spelling_quality,spelling_quality_summarised -I love ⚽ very much 😁.,0.38,Pretty positive,Positive,0.43,Objective/subjective,Objective/subjective,1.0,Very good,Good -2833047 people live in this area. It is not a good area.,-0.10681818181818181,Pretty negative,Negative,0.55,Objective/subjective,Objective/subjective,1.0,Very good,Good -2833047 and 1111 people live in this area.,0.13636363636363635,Pretty positive,Positive,0.5,Objective/subjective,Objective/subjective,1.0,Very good,Good -"This sentence does not seem to have too many commas, periods or semicolons (;).",0.375,Pretty positive,Positive,0.75,Pretty subjective,Subjective,0.9444444444444444,Pretty good,Good -"The date today is 04/28/2020 for format mm/dd/yyyy, not 28/04/2020.",0.0,Neutral,Neutral,0.0,Very objective,Objective,0.75,Bad,Bad -The date today is 28/04/2020 and tomorrow's date is 29/04/2020.,0.0,Neutral,Neutral,0.0,Very objective,Objective,0.75,Bad,Bad -Everyone here works so hard. People work hard. I think they have a good trait.,0.03888888888888886,Pretty positive,Positive,0.5611111111111111,Objective/subjective,Objective/subjective,1.0,Very good,Good +text,sentiment_polarity_score,sentiment_polarity,sentiment_polarity_summarised,sentiment_subjectivity_score,sentiment_subjectivity,sentiment_subjectivity_summarised,spelling_quality_score,spelling_quality,spelling_quality_summarised,ease_of_reading_score,ease_of_reading_quality,ease_of_reading_summarised +I love ⚽ very much 😁.,0.38,Pretty positive,Positive,0.43,Objective/subjective,Objective/subjective,1.0,Very good,Good,116.15,Very Easy,Easy +2833047 people live in this area. It is not a good area.,-0.10681818181818181,Pretty negative,Negative,0.55,Objective/subjective,Objective/subjective,1.0,Very good,Good,107.69,Very Easy,Easy +2833047 and 1111 people live in this area.,0.13636363636363635,Pretty positive,Positive,0.5,Objective/subjective,Objective/subjective,1.0,Very good,Good,105.66,Very Easy,Easy +"This sentence does not seem to have too many commas, periods or semicolons (;).",0.375,Pretty positive,Positive,0.75,Pretty subjective,Subjective,0.9444444444444444,Pretty good,Good,66.74,Standard,Standard +"The date today is 04/28/2020 for format mm/dd/yyyy, not 28/04/2020.",0.0,Neutral,Neutral,0.0,Very objective,Objective,0.75,Bad,Bad,86.71,Easy,Easy +The date today is 28/04/2020 and tomorrow's date is 29/04/2020.,0.0,Neutral,Neutral,0.0,Very objective,Objective,0.75,Bad,Bad,86.71,Easy,Easy +Everyone here works so hard. People work hard. I think they have a good trait.,0.03888888888888886,Pretty positive,Positive,0.5611111111111111,Objective/subjective,Objective/subjective,1.0,Very good,Good,100.24,Very Easy,Easy diff --git a/tests/acceptance_tests/test_apply_text_profiling.py b/tests/acceptance_tests/test_apply_text_profiling.py index 5dbae7c..2ea0abe 100644 --- a/tests/acceptance_tests/test_apply_text_profiling.py +++ b/tests/acceptance_tests/test_apply_text_profiling.py @@ -4,7 +4,7 @@ from nlp_profiler.constants \ import PARALLELISATION_METHOD_OPTION, SWIFTER_METHOD, \ - HIGH_LEVEL_OPTION, GRANULAR_OPTION, SPELLING_CHECK_OPTION + HIGH_LEVEL_OPTION, GRANULAR_OPTION, SPELLING_CHECK_OPTION, EASE_OF_READING_CHECK_OPTION from nlp_profiler.core import apply_text_profiling CURRENT_SOURCE_FILEPATH = os.path.abspath(__file__) @@ -47,7 +47,9 @@ def test_given_a_text_column_when_profiler_is_applied_without_high_level_analysi # when actual_dataframe = apply_text_profiling( - source_dataframe, "text", {HIGH_LEVEL_OPTION: False, SPELLING_CHECK_OPTION: False} + source_dataframe, "text", { + HIGH_LEVEL_OPTION: False, SPELLING_CHECK_OPTION: False, EASE_OF_READING_CHECK_OPTION: False + } ) # then @@ -76,7 +78,10 @@ def test_given_a_text_column_when_profiler_is_applied_with_then_all_options_disa # when actual_dataframe = apply_text_profiling( - source_dataframe, "text", {HIGH_LEVEL_OPTION: False, SPELLING_CHECK_OPTION: False, GRANULAR_OPTION: False} + source_dataframe, "text", {HIGH_LEVEL_OPTION: False, \ + SPELLING_CHECK_OPTION: False, \ + GRANULAR_OPTION: False, \ + EASE_OF_READING_CHECK_OPTION: False} ) # then From 1080ff5ff0e17ee2641a30c9d9b2eabed67f301c Mon Sep 17 00:00:00 2001 From: Mani Sarkar Date: Sun, 13 Dec 2020 18:04:00 +0000 Subject: [PATCH 3/8] Tests: adding slows running tests for Ease of Reading check, these include acceptance and performance tests --- ...ofiled_dataframe_ease_of_reading_check.csv | 8 +++++++ .../test_apply_text_profiling.py | 23 ++++++++++++++++++- .../test_perf_ease_of_reading_check.py | 15 ++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 slow-tests/acceptance_tests/data/expected_profiled_dataframe_ease_of_reading_check.csv create mode 100644 slow-tests/performance_tests/test_perf_ease_of_reading_check.py diff --git a/slow-tests/acceptance_tests/data/expected_profiled_dataframe_ease_of_reading_check.csv b/slow-tests/acceptance_tests/data/expected_profiled_dataframe_ease_of_reading_check.csv new file mode 100644 index 0000000..852d837 --- /dev/null +++ b/slow-tests/acceptance_tests/data/expected_profiled_dataframe_ease_of_reading_check.csv @@ -0,0 +1,8 @@ +text,ease_of_reading_score,ease_of_reading_quality,ease_of_reading_summarised +I love ⚽ very much 😁.,116.15,Very Easy,Easy +2833047 people live in this area. It is not a good area.,107.69,Very Easy,Easy +2833047 and 1111 people live in this area.,105.66,Very Easy,Easy +"This sentence doesn't seem to too many commas, periods or semi-colons (;).",60.31,Standard,Standard +"Todays date is 04/28/2020 for format mm/dd/yyyy, not 28/04/2020.",87.72,Easy,Easy +Todays date is 28/04/2020 and tomorrow's date is 29/04/2020.,87.72,Easy,Easy +Everyone here is so hardworking. Hardworking people. I think hardworking people are a good trait in our company.,53.88,Fairly Difficult,Difficult diff --git a/slow-tests/acceptance_tests/test_apply_text_profiling.py b/slow-tests/acceptance_tests/test_apply_text_profiling.py index 5f570f0..fb2879b 100644 --- a/slow-tests/acceptance_tests/test_apply_text_profiling.py +++ b/slow-tests/acceptance_tests/test_apply_text_profiling.py @@ -4,7 +4,8 @@ from pandas.util.testing import assert_equal from nlp_profiler.constants \ - import HIGH_LEVEL_OPTION, GRANULAR_OPTION, GRAMMAR_CHECK_OPTION, SPELLING_CHECK_OPTION + import HIGH_LEVEL_OPTION, GRANULAR_OPTION, GRAMMAR_CHECK_OPTION, \ + SPELLING_CHECK_OPTION, EASE_OF_READING_CHECK_OPTION from nlp_profiler.core import apply_text_profiling CURRENT_SOURCE_FILEPATH = os.path.abspath(__file__) @@ -23,6 +24,7 @@ def test_given_a_text_column_when_profiler_is_applied_grammar_check_analysis_the source_dataframe, "text", {HIGH_LEVEL_OPTION: False, SPELLING_CHECK_OPTION: False, GRANULAR_OPTION: False, + EASE_OF_READING_CHECK_OPTION: False, GRAMMAR_CHECK_OPTION: True} ) @@ -30,6 +32,25 @@ def test_given_a_text_column_when_profiler_is_applied_grammar_check_analysis_the assert_equal(expected_dataframe, actual_dataframe) +def test_given_a_text_column_when_profiler_is_applied_ease_of_reading_check_analysis_then_profiled_dataset_is_returned(): + # given + source_dataframe = create_source_dataframe() + csv_filename = f'{EXPECTED_DATA_PATH}/expected_profiled_dataframe_ease_of_reading_check.csv' + expected_dataframe = pd.read_csv(csv_filename) + + # when: in the interest of time, only perform ease of reading check + # other tests are covering for high_level and granular functionality + actual_dataframe = apply_text_profiling( + source_dataframe, "text", {HIGH_LEVEL_OPTION: False, + SPELLING_CHECK_OPTION: False, + GRANULAR_OPTION: False, + EASE_OF_READING_CHECK_OPTION: True, + GRAMMAR_CHECK_OPTION: False} + ) + + # then + assert_equal(expected_dataframe, actual_dataframe) + def create_source_dataframe(): text_with_emojis = "I love ⚽ very much 😁." text_with_a_number = '2833047 people live in this area. It is not a good area.' diff --git a/slow-tests/performance_tests/test_perf_ease_of_reading_check.py b/slow-tests/performance_tests/test_perf_ease_of_reading_check.py new file mode 100644 index 0000000..131afa4 --- /dev/null +++ b/slow-tests/performance_tests/test_perf_ease_of_reading_check.py @@ -0,0 +1,15 @@ +from nlp_profiler.high_level_features.ease_of_reading_check \ + import ease_of_reading_score +from .common_functions import assert_benchmark + + +def test_given_a_text_column_when_profiler_is_applied_with_high_level_analysis_then_it_finishes_quick(): + # benchmarked: + # (first-time): 2.6088788509368896 seconds + # (cached): 0.0048389434814453125 seconds + expected_execution_time = 2.8 + + assert_benchmark(expected_execution_time, + ease_of_reading_score, + 'ease_of_reading_score', + 'aaceb9d') From f797286b809cd9da136c2e081af92e60c0a824e7 Mon Sep 17 00:00:00 2001 From: Mani Sarkar Date: Sun, 13 Dec 2020 18:27:29 +0000 Subject: [PATCH 4/8] Change logs: adding entry about the Ease of Reading high-feature in the CHANGELOG.md --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a6fd1c..4dabe07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -118,5 +118,17 @@ Fixes issue #57 via PR https://github.com/neomatrix369/nlp_profiler/pull/58 --- +### GitHub branch `indicate-ease-of-reading-of-text` High-level feature: Indicate ease of reading of text + +Just like spelling check and grammar checks, adding a high-level feature to indicate if a block of text is easy to read or not, based on the library textstat's flesch_reading_ease(). + +It returns values between 0 and 100 (I have seen values go past 0 and 100 depending on how bad or good the text is). + +[ae91f5c](https://github.com/neomatrix369/nlp_profiler/commit/ae91f5c) [@neomatrix369](https://github.com/neomatrix369) _Sun Dec 13 10:17:17 2020 +0000_ + +--- + + + Return to [README.md](README.md) From f24a00afa58d0327497be96715640b5dc15912d3 Mon Sep 17 00:00:00 2001 From: Mani Sarkar Date: Sun, 13 Dec 2020 18:28:10 +0000 Subject: [PATCH 5/8] Ease of reading: removed redundant code from the main implementation --- nlp_profiler/high_level_features/ease_of_reading_check.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/nlp_profiler/high_level_features/ease_of_reading_check.py b/nlp_profiler/high_level_features/ease_of_reading_check.py index 05e81c7..feeab3b 100644 --- a/nlp_profiler/high_level_features/ease_of_reading_check.py +++ b/nlp_profiler/high_level_features/ease_of_reading_check.py @@ -58,9 +58,6 @@ def ease_of_reading(score: int) -> str: if math.isnan(score): return NOT_APPLICABLE - if math.isnan(score): - return NOT_APPLICABLE - score = float(score) for _, each_slab in enumerate(ease_of_reading_to_words_mapping): # pragma: no cover # pragma: no cover => early termination leads to loss of test coverage info From 4919a5125f506729157fad8cb8e88a1167cf688b Mon Sep 17 00:00:00 2001 From: Mani Sarkar Date: Sun, 13 Dec 2020 18:36:42 +0000 Subject: [PATCH 6/8] Dependencies/setup: replace the ',' with '/n' as separator after reading the requirements.txt in setup.py - this otherwise fails on environments like kaggle --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index c8b7f53..fc4503e 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ long_description = readme.read() with open("requirements.txt", encoding='utf8') as requirements_txt: - install_requirements = requirements_txt.read().split(",") + install_requirements = requirements_txt.read().split("\n") download_url = f"https://github.com/neomatrix369/nlp_profiler/releases/tag/v{nlp_profiler.__version__}" From 7fb3b95469f023dcfec94d7bad6509dc459ecd69 Mon Sep 17 00:00:00 2001 From: Mani Sarkar Date: Sun, 13 Dec 2020 18:40:03 +0000 Subject: [PATCH 7/8] Change logs: correcting entry about the Ease of Reading high-feature in th CHANGELOG.md (commit and date/time --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4dabe07..15e65d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -124,7 +124,7 @@ Just like spelling check and grammar checks, adding a high-level feature to indi It returns values between 0 and 100 (I have seen values go past 0 and 100 depending on how bad or good the text is). -[ae91f5c](https://github.com/neomatrix369/nlp_profiler/commit/ae91f5c) [@neomatrix369](https://github.com/neomatrix369) _Sun Dec 13 10:17:17 2020 +0000_ +[4919a51](https://github.com/neomatrix369/nlp_profiler/commit/4919a51) [@neomatrix369](https://github.com/neomatrix369) _Sun Dec 13 18:36:42 2020 +0000_ --- From 3d0ff42c8b48c4f12d3b35a94a9472997aa0bbb5 Mon Sep 17 00:00:00 2001 From: Mani Sarkar Date: Sun, 13 Dec 2020 18:50:53 +0000 Subject: [PATCH 8/8] Notebooks: updating the nlp profiler notebook and including the new feature: High-level feature: ease-of-reading --- notebooks/nlp_profiler.ipynb | 458 ++++++++++++++++++++++++----------- 1 file changed, 319 insertions(+), 139 deletions(-) diff --git a/notebooks/nlp_profiler.ipynb b/notebooks/nlp_profiler.ipynb index dd6d7d2..59a1605 100644 --- a/notebooks/nlp_profiler.ipynb +++ b/notebooks/nlp_profiler.ipynb @@ -121,18 +121,6 @@ "text": [ "self._url: http://127.0.0.1:8081/v2/\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "In /anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", - "The savefig.frameon rcparam was deprecated in Matplotlib 3.1 and will be removed in 3.3.\n", - "In /anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", - "The verbose.level rcparam was deprecated in Matplotlib 3.1 and will be removed in 3.3.\n", - "In /anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", - "The verbose.fileo rcparam was deprecated in Matplotlib 3.1 and will be removed in 3.3.\n" - ] } ], "source": [ @@ -308,7 +296,7 @@ " \n", " \n", " top\n", - " Everyone here works so hard. People work hard....\n", + " 2833047 and 1111 people live in this area.\n", " \n", " \n", " freq\n", @@ -319,11 +307,11 @@ "" ], "text/plain": [ - " text\n", - "count 7\n", - "unique 7\n", - "top Everyone here works so hard. People work hard....\n", - "freq 1" + " text\n", + "count 7\n", + "unique 7\n", + "top 2833047 and 1111 people live in this area.\n", + "freq 1" ] }, "execution_count": 4, @@ -355,18 +343,18 @@ "name": "stdout", "output_type": "stream", "text": [ - "final params: {'high_level': True, 'granular': True, 'grammar_check': False, 'spelling_check': True, 'parallelisation_method': 'default'}\n" + "final params: {'high_level': True, 'granular': True, 'grammar_check': False, 'spelling_check': True, 'ease_of_reading_check': True, 'parallelisation_method': 'default'}\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b885712975b74b478f0fec460492cee7", + "model_id": "184a482f56a244598d0a30a40fb9d2a2", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=3.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=4.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -375,12 +363,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4b456fb9961345bdbaf5ad9411e32798", + "model_id": "579bb8d528f04b72a563b92219c6eee9", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=14.0), HTML(value='')), layout=Layout(dis…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=14.0), HTML(value='')), l…" ] }, "metadata": {}, @@ -389,12 +377,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "fcd3555404034bdaaf30b010816e5546", + "model_id": "b7cdd644fc794b26b84ed6058d005854", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -410,12 +398,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "022e20900f4d46fbb0f40184642b048c", + "model_id": "5ddbe31af8b94a87863a38c37a146e4c", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -431,12 +419,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "82d4e911c8264d2e8b7c4d1c3f84607d", + "model_id": "e5bb9373e1ac4b3682ee3bef671baf2e", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -452,12 +440,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f4ca641359ef421686726085a29882c3", + "model_id": "5fc2718c381b4c339a0df20a6c361b51", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -473,12 +461,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6ea6a857176d48e29cd7536cf01a3bae", + "model_id": "22374a1712ce4822b9f27a08c1b4484f", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -494,12 +482,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8c2595ea362547c39ce3f23f80746308", + "model_id": "1905df87f8bd4715ad955a85d09c46ae", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -515,12 +503,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5129954c56724051a74327a51889aca9", + "model_id": "2fbc38c45533447fad7a7dccb754569c", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -536,12 +524,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6fbcd5c375c04521bf5cb258d9b21ce3", + "model_id": "e06595ea92af4f258b678f9651a873f3", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -557,12 +545,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "59ebc1737d834bee8f0650bf1689804e", + "model_id": "6d3c4735fb414a379c458622e446241f", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -578,12 +566,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b8e8d5c47a804e8ab56143d8dfd47d15", + "model_id": "5948262989704f658d7688e51e862e1d", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -599,12 +587,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "af4ff79fec0d401d842f0fc26e8dbfdc", + "model_id": "7537a3f9b34644cd9bd1173a679a2359", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -620,12 +608,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6952af704347443eb461ed89c363169a", + "model_id": "2367ef6f68e44d158e5807365e342b30", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -641,12 +629,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bef2e7dd46e24c44a91d21052e3de93f", + "model_id": "6762b05af1984ebca873b50b6795c189", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -662,12 +650,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "12a1ebba289c4e87afc0816537d708c4", + "model_id": "9fbf847251734e6b9d8d7b3e8f351d3a", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -684,12 +672,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4a7af4b3860e4f10a801d4e57e555dfb", + "model_id": "8f51e568b28d4c9f9d2466eed7bab589", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=6.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=6.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -698,12 +686,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d3e821a64f534d5bbe3276611e4ed8d5", + "model_id": "4f4677d52364494099814e3c3ef0eeff", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -719,12 +707,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "30d98a2c2c134ff5baba78793c8aaac2", + "model_id": "d26b7b6205574b9589ef59cda4e84acf", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -740,12 +728,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e307160a42724732a448866081b33978", + "model_id": "806b6b24b20149abaf75473dc5683911", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -761,12 +749,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e11668c5f2af4993aa57afc01704fe08", + "model_id": "6e374d29a1c34e3da29a1388b46957f0", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -782,12 +770,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "feca102bcadf44bc993c79e934d24c4c", + "model_id": "75815ebd5bc5469890e9d5dccb09be58", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -803,12 +791,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "dcc0933cdac740bd8479c5fb3a957b8c", + "model_id": "2be5e060832f42d4b898fed671517900", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -825,12 +813,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c60b5bd5147e49d29b26aa644ab5388c", + "model_id": "86a5525a6c0e4e5ca3a20270e255485a", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=3.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=3.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -839,12 +827,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9a8b811e3ed047a091581b6033c0d236", + "model_id": "d8e1109b9c074fa890589c468162bb90", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -860,12 +848,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "dcfa6774817f4396b7e915c213e3fa41", + "model_id": "88c44788a6e046688745cea3982f11c0", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -881,12 +869,90 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c1b8490a15a942e8956743588084ce03", + "model_id": "62247649787342db99d81448f310504a", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), layout=Layout(disp…" + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "559191a0de414e94b99d0cbaaeb57398", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=3.0), HTML(value='')), la…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1ab27230539644b991031c120bf2cd20", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "9db9e881b6964ffeac32e980dc61f9bf", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a169859c477a426c8ffc3b3859c826e2", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HBox(children=(HTML(value=''), FloatProgress(value=0.0, layout=Layout(flex='2'), max=7.0), HTML(value='')), la…" ] }, "metadata": {}, @@ -899,8 +965,8 @@ "\n", "\n", "\n", - "CPU times: user 2.97 s, sys: 484 ms, total: 3.46 s\n", - "Wall time: 16.1 s\n" + "CPU times: user 3.67 s, sys: 472 ms, total: 4.14 s\n", + "Wall time: 15.1 s\n" ] }, { @@ -935,9 +1001,6 @@ " whole_numbers_count\n", " alpha_numeric_count\n", " ...\n", - " noun_phase_count\n", - " sentiment_polarity_score\n", - " sentiment_polarity\n", " sentiment_polarity_summarised\n", " sentiment_subjectivity_score\n", " sentiment_subjectivity\n", @@ -945,6 +1008,9 @@ " spelling_quality_score\n", " spelling_quality\n", " spelling_quality_summarised\n", + " ease_of_reading_score\n", + " ease_of_reading_quality\n", + " ease_of_reading_summarised\n", " \n", " \n", " \n", @@ -961,9 +1027,6 @@ " 0\n", " 13\n", " ...\n", - " 3\n", - " 0.380000\n", - " Pretty positive\n", " Positive\n", " 0.43\n", " Objective/subjective\n", @@ -971,6 +1034,9 @@ " 1.000000\n", " Very good\n", " Good\n", + " 116.15\n", + " Very Easy\n", + " Easy\n", " \n", " \n", " 1\n", @@ -985,9 +1051,6 @@ " 1\n", " 45\n", " ...\n", - " 4\n", - " -0.106818\n", - " Pretty negative\n", " Negative\n", " 0.55\n", " Objective/subjective\n", @@ -995,6 +1058,9 @@ " 1.000000\n", " Very good\n", " Good\n", + " 107.69\n", + " Very Easy\n", + " Easy\n", " \n", " \n", " 2\n", @@ -1009,9 +1075,6 @@ " 2\n", " 34\n", " ...\n", - " 2\n", - " 0.136364\n", - " Pretty positive\n", " Positive\n", " 0.50\n", " Objective/subjective\n", @@ -1019,6 +1082,9 @@ " 1.000000\n", " Very good\n", " Good\n", + " 105.66\n", + " Very Easy\n", + " Easy\n", " \n", " \n", " 3\n", @@ -1033,9 +1099,6 @@ " 0\n", " 57\n", " ...\n", - " 5\n", - " 0.375000\n", - " Pretty positive\n", " Positive\n", " 0.75\n", " Pretty subjective\n", @@ -1043,6 +1106,9 @@ " 0.941176\n", " Pretty good\n", " Good\n", + " 67.76\n", + " Standard\n", + " Standard\n", " \n", " \n", " 4\n", @@ -1057,9 +1123,6 @@ " 6\n", " 50\n", " ...\n", - " 4\n", - " 0.000000\n", - " Neutral\n", " Neutral\n", " 0.00\n", " Very objective\n", @@ -1067,10 +1130,13 @@ " 0.750000\n", " Bad\n", " Bad\n", + " 86.71\n", + " Easy\n", + " Easy\n", " \n", " \n", "\n", - "

5 rows × 24 columns

\n", + "

5 rows × 27 columns

\n", "" ], "text/plain": [ @@ -1095,19 +1161,12 @@ "3 62 0 0 \n", "4 58 0 6 \n", "\n", - " alpha_numeric_count ... noun_phase_count sentiment_polarity_score \\\n", - "0 13 ... 3 0.380000 \n", - "1 45 ... 4 -0.106818 \n", - "2 34 ... 2 0.136364 \n", - "3 57 ... 5 0.375000 \n", - "4 50 ... 4 0.000000 \n", - "\n", - " sentiment_polarity sentiment_polarity_summarised \\\n", - "0 Pretty positive Positive \n", - "1 Pretty negative Negative \n", - "2 Pretty positive Positive \n", - "3 Pretty positive Positive \n", - "4 Neutral Neutral \n", + " alpha_numeric_count ... sentiment_polarity_summarised \\\n", + "0 13 ... Positive \n", + "1 45 ... Negative \n", + "2 34 ... Positive \n", + "3 57 ... Positive \n", + "4 50 ... Neutral \n", "\n", " sentiment_subjectivity_score sentiment_subjectivity \\\n", "0 0.43 Objective/subjective \n", @@ -1116,21 +1175,28 @@ "3 0.75 Pretty subjective \n", "4 0.00 Very objective \n", "\n", - " sentiment_subjectivity_summarised spelling_quality_score spelling_quality \\\n", - "0 Objective/subjective 1.000000 Very good \n", - "1 Objective/subjective 1.000000 Very good \n", - "2 Objective/subjective 1.000000 Very good \n", - "3 Subjective 0.941176 Pretty good \n", - "4 Objective 0.750000 Bad \n", + " sentiment_subjectivity_summarised spelling_quality_score \\\n", + "0 Objective/subjective 1.000000 \n", + "1 Objective/subjective 1.000000 \n", + "2 Objective/subjective 1.000000 \n", + "3 Subjective 0.941176 \n", + "4 Objective 0.750000 \n", + "\n", + " spelling_quality spelling_quality_summarised ease_of_reading_score \\\n", + "0 Very good Good 116.15 \n", + "1 Very good Good 107.69 \n", + "2 Very good Good 105.66 \n", + "3 Pretty good Good 67.76 \n", + "4 Bad Bad 86.71 \n", "\n", - " spelling_quality_summarised \n", - "0 Good \n", - "1 Good \n", - "2 Good \n", - "3 Good \n", - "4 Bad \n", + " ease_of_reading_quality ease_of_reading_summarised \n", + "0 Very Easy Easy \n", + "1 Very Easy Easy \n", + "2 Very Easy Easy \n", + "3 Standard Standard \n", + "4 Easy Easy \n", "\n", - "[5 rows x 24 columns]" + "[5 rows x 27 columns]" ] }, "execution_count": 5, @@ -1159,7 +1225,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -1168,7 +1234,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -1192,7 +1258,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 7, @@ -1201,7 +1267,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -1239,7 +1305,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -1248,7 +1314,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -1272,7 +1338,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -1281,7 +1347,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABIEAAAEvCAYAAADSGNH4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAakElEQVR4nO3df7Bmd10f8PeH3QgxC6FDMtd0CS5TYikSDXAFLOLcoNLwQ1JHLEEqhKJrGVFUnDaxbazMtMK0ETVYaAoY0C0Joky2/BBp4UpwILCJSTY/wO5oaJKhRLK4ciFAFz79457I9XJ377N7n7v37j2v18wz95zv+T7nfO4zd+b73Pf5nnOquwMAAADA1vagjS4AAAAAgPUnBAIAAAAYASEQAAAAwAgIgQAAAABGQAgEAAAAMAJCIAAAAIAR2L5RBz7jjDN6165dG3X4qfriF7+Y0047baPLAADWibEeALa2rTTW33DDDZ/r7jNX2rZhIdCuXbuyb9++jTr8VM3Pz2dubm6jywAA1omxHgC2tq001lfVp4+0zeVgAAAAACMgBAIAAAAYASEQAAAAwAgIgQAAAABGQAgEAAAAMAJCIAAAAIAREAIBAAAAjMDEIVBVbauqP6uqd6+w7cFVdU1VHaiq66tq1zSLBAAAAGBtjmUm0CuT3HGEbS9L8vnufkyS1yV57VoLAwAAAGB6JgqBquqRSZ6T5E1H6HJhkrcOy+9M8gNVVWsvDwAAAIBpmHQm0G8k+VdJvn6E7TuT3JUk3X04yaEkj1hzdQAAAABMxfbVOlTVc5Pc2903VNXcWg5WVbuT7E6SmZmZzM/Pr2V3m8a9Bw/lij3XbnQZLHHuztM3ugQAtpCFhYUt870FAPhmYxnrVw2BkjwtyfOq6tlJHpLkYVX1e939z5f0uSfJ2UnurqrtSU5Pct/yHXX3lUmuTJLZ2dmem5tbY/mbwxV7rs3l+yf5KDlR7nzR3EaXAMAWMj8/n63yvQUA+GZjGetXvRysuy/t7kd2964kFyX54LIAKEn2JnnJsPz8oU9PtVIAAAAAjttxT1+pqlcn2dfde5O8OcnvVtWBJAezGBYBAAAAsEkcUwjU3fNJ5ofly5a0fznJj02zMAAAAACmZ9KngwEAAABwEhMCAQAAAIyAEAgAAABgBIRAAAAAACMgBAIAAAAYASEQAAAAwAgIgQAAAABGQAgEAAAAMAJCIAAAAIAREAIBAAAAjIAQCAAAAGAEhEAAAAAAIyAEAgAAABgBIRAAAADACAiBAAAAAEZACAQAAAAwAkIgAAAAgBEQAgEAAACMgBAIAAAAYASEQAAAAAAjIAQCAAAAGAEhEAAAAMAICIEAAAAARmDVEKiqHlJVH6+qm6vqtqr61RX6XFxVf1VVNw2vn1yfcgEAAAA4Htsn6POVJM/o7oWqOiXJR6rqfd39sWX9runuV0y/RAAAAADWatUQqLs7ycKwesrw6vUsCgAAAIDpmuieQFW1rapuSnJvkg909/UrdPvRqrqlqt5ZVWdPtUoAAAAA1qQWJ/pM2Lnq4UneleRnu/vWJe2PSLLQ3V+pqp9O8oLufsYK79+dZHeSzMzMPOnqq69ea/2bwr0HD+Wz9290FSx17s7TN7oEALaQhYWF7NixY6PLAADWyVYa688///wbunt2pW3HFAIlSVVdluRL3f2fj7B9W5KD3X3U/8JnZ2d73759x3TszeqKPdfm8v2T3F6JE+XO1zxno0sAYAuZn5/P3NzcRpcBAKyTrTTWV9URQ6BJng525jADKFV1apIfSvLJZX3OWrL6vCR3HH+5AAAAAEzbJNNXzkry1mGGz4OSvKO7311Vr06yr7v3Jvm5qnpeksNJDia5eL0KBgAAAODYTfJ0sFuSPGGF9suWLF+a5NLplgYAAADAtEz0dDAAAAAATm5CIAAAAIAREAIBAAAAjIAQCAAAAGAEhEAAAAAAIyAEAgAAABgBIRAAAADACAiBAAAAAEZACAQAAAAwAkIgAAAAgBEQAgEAAACMgBAIAAAAYASEQAAAAAAjIAQCAAAAGAEhEAAAAMAICIEAAAAARkAIBAAAADACQiAAAACAERACAQAAAIyAEAgAAABgBIRAAAAAACMgBAIAAAAYASEQAAAAwAgIgQAAAABGYNUQqKoeUlUfr6qbq+q2qvrVFfo8uKquqaoDVXV9Ve1aj2IBAAAAOD6TzAT6SpJndPd3JzkvyQVV9dRlfV6W5PPd/Zgkr0vy2umWCQAAAMBarBoC9aKFYfWU4dXLul2Y5K3D8juT/EBV1dSqBAAAAGBNJronUFVtq6qbktyb5APdff2yLjuT3JUk3X04yaEkj5hmoQAAAAAcv+2TdOruryU5r6oenuRdVfX47r71WA9WVbuT7E6SmZmZzM/PH+suNqWZU5NXnXt4o8tgia3ytwXA5rCwsGBsAYAtbCxj/UQh0AO6+6+r6kNJLkiyNAS6J8nZSe6uqu1JTk9y3wrvvzLJlUkyOzvbc3Nzx1n25nLFnmtz+f5j+ihZZ3e+aG6jSwBgC5mfn89W+d4CAHyzsYz1kzwd7MxhBlCq6tQkP5Tkk8u67U3ykmH5+Uk+2N3L7xsEAAAAwAaZZPrKWUneWlXbshgavaO7311Vr06yr7v3Jnlzkt+tqgNJDia5aN0qBgAAAOCYrRoCdfctSZ6wQvtlS5a/nOTHplsaAAAAANMy0dPBAAAAADi5CYEAAAAARkAIBAAAADACQiAAAACAERACAQAAAIyAEAgAAABgBIRAAAAAACMgBAIAAAAYASEQAAAAwAgIgQAAAABGQAgEAAAAMAJCIAAAAIAREAIBAAAAjIAQCAAAAGAEhEAAAAAAIyAEAgAAABgBIRAAAADACAiBAAAAAEZACAQAAAAwAkIgAAAAgBEQAgEAAACMgBAIAAAAYASEQAAAAAAjsGoIVFVnV9WHqur2qrqtql65Qp+5qjpUVTcNr8vWp1wAAAAAjsf2CfocTvKq7r6xqh6a5Iaq+kB3376s33Xd/dzplwgAAADAWq06E6i7P9PdNw7LX0hyR5Kd610YAAAAANNzTPcEqqpdSZ6Q5PoVNn9vVd1cVe+rqu+cQm0AAAAATEl192Qdq3Yk+ZMk/6G7/3DZtocl+Xp3L1TVs5P8Znefs8I+difZnSQzMzNPuvrqq9da/6Zw78FD+ez9G10FS5278/SNLgGALWRhYSE7duzY6DIAgHWylcb6888//4bunl1p20QhUFWdkuTdSd7f3b8+Qf87k8x29+eO1Gd2drb37du36rFPBlfsuTaX75/k9kqcKHe+5jkbXQIAW8j8/Hzm5uY2ugwAYJ1spbG+qo4YAk3ydLBK8uYkdxwpAKqqbxv6paqePOz3vuMvGQAAAIBpmmT6ytOS/ESS/VV109D2y0kelSTd/cYkz0/y8qo6nOT+JBf1pNeZAQAAALDuVg2BuvsjSWqVPq9P8vppFQUAAADAdB3T08EAAAAAODkJgQAAAABGQAgEAAAAMAJCIAAAAIAREAIBAAAAjIAQCAAAAGAEhEAAAAAAIyAEAgAAABgBIRAAAADACAiBAAAAAEZACAQAAAAwAkIgAAAAgBEQAgEAAACMgBAIAAAAYASEQAAAAAAjIAQCAAAAGAEhEAAAAMAICIEAAAAARkAIBAAAADACQiAAAACAERACAQAAAIyAEAgAAABgBIRAAAAAACMgBAIAAAAYgVVDoKo6u6o+VFW3V9VtVfXKFfpUVf1WVR2oqluq6onrUy4AAAAAx2P7BH0OJ3lVd99YVQ9NckNVfaC7b1/S51lJzhleT0nyhuEnAAAAAJvAqjOBuvsz3X3jsPyFJHck2bms24VJ3taLPpbk4VV11tSrBQAAAOC4TDIT6G9V1a4kT0hy/bJNO5PctWT97qHtM8vevzvJ7iSZmZnJ/Pz8MRW7Wc2cmrzq3MMbXQZLbJW/LQA2h4WFBWMLAFOz/55DG10Cyzz69G2jGOsnDoGqakeSP0jy8939N8dzsO6+MsmVSTI7O9tzc3PHs5tN54o91+by/ceUp7HO7nzR3EaXAMAWMj8/n63yvQWAjXfxJe/Z6BJY5qoLThvFWD/R08Gq6pQsBkB7uvsPV+hyT5Kzl6w/cmgDAAAAYBOY5OlgleTNSe7o7l8/Qre9SV48PCXsqUkOdfdnjtAXAAAAgBNskmuYnpbkJ5Lsr6qbhrZfTvKoJOnuNyZ5b5JnJzmQ5EtJXjr9UgEAAAA4XquGQN39kSS1Sp9O8jPTKgoAAACA6ZronkAAAAAAnNyEQAAAAAAjIAQCAAAAGAEhEAAAAMAICIEAAAAARkAIBAAAADACQiAAAACAERACAQAAAIyAEAgAAABgBIRAAAAAACMgBAIAAAAYASEQAAAAwAgIgQAAAABGQAgEAAAAMAJCIAAAAIAREAIBAAAAjIAQCAAAAGAEhEAAAAAAIyAEAgAAABgBIRAAAADACAiBAAAAAEZACAQAAAAwAkIgAAAAgBFYNQSqqrdU1b1VdesRts9V1aGquml4XTb9MgEAAABYi+0T9LkqyeuTvO0ofa7r7udOpSIAAAAApm7VmUDd/eEkB09ALQAAAACsk2ndE+h7q+rmqnpfVX3nlPYJAAAAwJRUd6/eqWpXknd39+NX2PawJF/v7oWqenaS3+zuc46wn91JdifJzMzMk66++uo1lL553HvwUD57/0ZXwVLn7jx9o0sAYAtZWFjIjh07NroMALaI/fcc2ugSWObRp2/bMmP9+eeff0N3z660bc0h0Ap970wy292fO1q/2dnZ3rdv36rHPhlcsefaXL5/ktsrcaLc+ZrnbHQJAGwh8/PzmZub2+gyANgidl3yno0ugWWuuuC0LTPWV9URQ6A1Xw5WVd9WVTUsP3nY531r3S8AAAAA07Pq9JWqenuSuSRnVNXdSX4lySlJ0t1vTPL8JC+vqsNJ7k9yUU8yvQgAAACAE2bVEKi7X7jK9tdn8RHyAAAAAGxS03o6GAAAAACbmBAIAAAAYASEQAAAAAAjIAQCAAAAGAEhEAAAAMAICIEAAAAARkAIBAAAADACQiAAAACAERACAQAAAIyAEAgAAABgBIRAAAAAACMgBAIAAAAYASEQAAAAwAgIgQAAAABGQAgEAAAAMAJCIAAAAIAREAIBAAAAjIAQCAAAAGAEhEAAAAAAIyAEAgAAABgBIRAAAADACAiBAAAAAEZACAQAAAAwAquGQFX1lqq6t6puPcL2qqrfqqoDVXVLVT1x+mUCAAAAsBaTzAS6KskFR9n+rCTnDK/dSd6w9rIAAAAAmKZVQ6Du/nCSg0fpcmGSt/WijyV5eFWdNa0CAQAAAFi7adwTaGeSu5as3z20AQAAALBJbD+RB6uq3Vm8ZCwzMzOZn58/kYdfNzOnJq869/BGl8ESW+VvC4DN4d6Dh3LFnms3ugyWOXfn6RtdAsBx8f/j5rOwsDCK/yOnEQLdk+TsJeuPHNq+SXdfmeTKJJmdne25ubkpHH7jXbHn2ly+/4TmaazizhfNbXQJAGwhxvrNyXgPnKwuvuQ9G10Cy1x1wWnZKhnF0UzjcrC9SV48PCXsqUkOdfdnprBfAAAAAKZk1VNaVfX2JHNJzqiqu5P8SpJTkqS735jkvUmeneRAki8leel6FQsAAADA8Vk1BOruF66yvZP8zNQqAgAAAGDqpnE5GAAAAACbnBAIAAAAYASEQAAAAAAjIAQCAAAAGAEhEAAAAMAICIEAAAAARkAIBAAAADACQiAAAACAERACAQAAAIyAEAgAAABgBIRAAAAAACMgBAIAAAAYASEQAAAAwAgIgQAAAABGQAgEAAAAMAJCIAAAAIAREAIBAAAAjIAQCAAAAGAEhEAAAAAAIyAEAgAAABgBIRAAAADACAiBAAAAAEZACAQAAAAwAkIgAAAAgBGYKASqqguq6lNVdaCqLllh+8VV9VdVddPw+snplwoAAADA8dq+Woeq2pbkt5P8UJK7k3yiqvZ29+3Lul7T3a9YhxoBAAAAWKNJZgI9OcmB7v6L7v5qkquTXLi+ZQEAAAAwTavOBEqyM8ldS9bvTvKUFfr9aFV9f5I/T/IL3X3X8g5VtTvJ7iSZmZnJ/Pz8MRe8Gc2cmrzq3MMbXQZLbJW/LQA2B2P95mS8B05WxpTNZ2FhYRTjyiQh0CT+R5K3d/dXquqnk7w1yTOWd+ruK5NcmSSzs7M9Nzc3pcNvrCv2XJvL90/ro2Qa7nzR3EaXAMAWYqzfnIz3wMnq4kves9ElsMxVF5yWrZJRHM0kl4Pdk+TsJeuPHNr+Vnff191fGVbflORJ0ykPAAAAgGmYJAT6RJJzqurRVfUtSS5Ksndph6o6a8nq85LcMb0SAQAAAFirVec1d/fhqnpFkvcn2ZbkLd19W1W9Osm+7t6b5Oeq6nlJDic5mOTidawZAAAAgGM00cXt3f3eJO9d1nbZkuVLk1w63dIAAAAAmJZJLgcDAAAA4CQnBAIAAAAYASEQAAAAwAgIgQAAAABGQAgEAAAAMAJCIAAAAIAREAIBAAAAjIAQCAAAAGAEhEAAAAAAIyAEAgAAABgBIRAAAADACAiBAAAAAEZACAQAAAAwAkIgAAAAgBEQAgEAAACMgBAIAAAAYASEQAAAAAAjIAQCAAAAGAEhEAAAAMAICIEAAAAARkAIBAAAADACQiAAAACAERACAQAAAIzARCFQVV1QVZ+qqgNVdckK2x9cVdcM26+vql3TLhQAAACA47dqCFRV25L8dpJnJXlckhdW1eOWdXtZks9392OSvC7Ja6ddKAAAAADHb5KZQE9OcqC7/6K7v5rk6iQXLutzYZK3DsvvTPIDVVXTKxMAAACAtZgkBNqZ5K4l63cPbSv26e7DSQ4lecQ0CgQAAABg7bafyINV1e4ku4fVhar61Ik8/jo6I8nnNroIvqFckAjAdBnrNyHjPQDTcv5rt9RY/+1H2jBJCHRPkrOXrD9yaFupz91VtT3J6UnuW76j7r4yyZUTHPOkUlX7unt2o+sAANaHsR4AtraxjPWTXA72iSTnVNWjq+pbklyUZO+yPnuTvGRYfn6SD3Z3T69MAAAAANZi1ZlA3X24ql6R5P1JtiV5S3ffVlWvTrKvu/cmeXOS362qA0kOZjEoAgAAAGCTKBN21q6qdg+XugEAW5CxHgC2trGM9UIgAAAAgBGY5J5AAAAAAJzktnwIVFUfqqp/sqzt56vqDRtV07Goqvmq2vJ3KAeAY1VVX6uqm6rq1qr6/ar61mN4766q+vEl6+dV1bPXp9JjU1X/vqp+aaPrAICtZMn3hpur6saq+sfH+P4tMT5v+RAoydvzzTeqvmhoX1VVbZt6RQDANNzf3ed19+OTfDXJv1y6saqO9gCMXUl+fMn6eUk2RQgEAKyLB743fHeSS5P82kYXtBHGEAK9M8lzhsfbp6p2Jfn7Sa6rqmdW1UeHFPD3q2rH0OfOqnptVd2Y5JLhZ4Zt5yxdX9L+PVV1y5As/qequnVof0hV/U5V7a+qP6uq81dpP7Wqrq6qO6rqXUlOXddPBwC2huuSPKaq5qrquqram+T2qto2jMufGMbpnx76vybJ04dx+18neXWSFwzrL6iq/11VZyZJVT2oqg48sP6Aqjqzqj5QVbdV1Zuq6tNVdcaw7ReHGUq3VtXPL3nPkdr/TVX9eVV9JMk/XNdPCgB4WJLPJ0lV7aiq/zXkAvur6sIHOm3F8XnVR8Sf7Lr7YFV9PMmzklybxVlA70jyiCT/NskPdvcXhy+Av5jFL4FJcl93PzFJquoHq+q87r4pyUuT/M4Kh/qdJD/V3R+tqtcsaf+ZxTL63Kp6bJI/rqrvOEr7y5N8qbv/UVV9V5JvCpwAgG8YZvw8K8kfDU1PTPL47v7Lqtqd5FB3f09VPTjJn1bVHye5JMkvdfdzh318Nslsd79iWH9skhcl+Y0kP5jk5u7+q2WH/pUkH+zuX6uqC5K8bHjvk7L4feEpSSrJ9VX1J1k8+Xak9ouyOBtpexbH/hum+iEBAKdW1U1JHpLkrCTPGNq/nORHuvtvhpM5HxtOJj0xW3B8HsNMoOTvXhL2wKVgT03yuCx+GbwpyUuSfPuS91yzZPlNSV46XBr2giT/fenOq+rhSR7a3R8dmpZu/74kv5ck3f3JJJ9O8h1Haf/+Je23JLnleH9pANjiHvgyty/J/0ny5qH94939l8PyM5O8eOh3fRZPAp0zwb7fkuTFw/K/yMongL4vydVJ0t1/lOGM4tD+ru7+YncvJPnDJE8/SvvTh/YvdfffJNk70W8PAByLBy4He2ySC5K8raoqiydm/mNV3ZLkfybZmWQmW3R83vIzgQbXJnldVT0xybd29w1V9cNJPtDdLzzCe764ZPkPMpztS3JDd9+3vuUCABO4v7vPW9qw+F3u74zhleRnu/v9y/rNHW3H3X1XVX22qp6R5MlZnBUEAGwBwxU8ZyQ5M4v3BDwzyZO6+/9V1Z1ZnC20JY1iJtBwtu1DWTyr98ANoT+W5GlV9ZgkqarThsuxVnr/l5O8P8kbssKZwO7+6yRfqKqnDE1Lb0R9XYYvjsP+H5XkU0dp/3CGG1VW1eOTfNdx/dIAQLI4fr+8qk5JFsfcqjotyReSPHRJv+XryeJM4N9L8vvd/bUV9v2nSf7ZsN9nJvl7Q/t1Sf5pVX3rcKwfGdqO1P7hof3Uqnpokh9e6y8NABzZcNn3tiT3JTk9yb1DAHR+vnGF0JYcn0cRAg3enuS7h58Zruu/OMnbh2lfH03y2KO8f0+Sryf54yNsf1mS/zZMNz8tyaGh/b8keVBV7c/iJWYXd/dXjtL+hiQ7quqOLN6f6KS/5hAANtCbktye5MbhoQ3/NYszoW9J8rVafEzsL2TxZNHjHrgx9PDevUl2ZOVLwZLkV5M8c9jvjyX5v0m+0N03JrkqycezeAnam7r7z1ZpvybJzUnel+QT0/wAAIAkw2Xkw//s1yR5yXCSZ0+S2eF/8xcn+WSSbNXxubp7o2s4KVTVLyU5vbv/3RG27xhmHKWqLklyVne/8kTWCABMT1XNJnlddz/9CNsfnORr3X24qr43yRuWX54GALCZjOWeQGsyPKr9H+Qbdw9fyXOq6tIsfqafzuIsIwDgJDSc0Hl5jn4voEcleUdVPSjJV5P81ImoDQDgeJkJBAAAADACY7onEAAAAMBoCYEAAAAARkAIBAAAADACQiAAAACAERACAQAAAIyAEAgAAABgBP4/F1QWSfuvM1EAAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -1305,7 +1371,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 10, @@ -1314,7 +1380,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -1330,6 +1396,111 @@ "profiled_text_dataframe[\"noun_phase_count\"].hist()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Ease of Reading check\n", + "\n", + "#### The ease of reading check score and ease of reading check is supported by a third-party library." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "profiled_text_dataframe[\"ease_of_reading_score\"].hist(xlabelsize=15, ylabelsize=15)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "profiled_text_dataframe[\"ease_of_reading_quality\"].hist(xlabelsize=15, ylabelsize=15)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "profiled_text_dataframe[\"ease_of_reading_summarised\"].hist(xlabelsize=15, ylabelsize=15)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -1380,6 +1551,7 @@ " sentiment_polarity_score\n", " sentiment_subjectivity_score\n", " spelling_quality_score\n", + " ease_of_reading_score\n", " \n", " \n", " \n", @@ -1402,6 +1574,7 @@ " 7.000000\n", " 7.000000\n", " 7.000000\n", + " 7.000000\n", " \n", " \n", " mean\n", @@ -1422,6 +1595,7 @@ " 0.117633\n", " 0.398730\n", " 0.922915\n", + " 95.700000\n", " \n", " \n", " std\n", @@ -1442,6 +1616,7 @@ " 0.191346\n", " 0.289207\n", " 0.113740\n", + " 16.550124\n", " \n", " \n", " min\n", @@ -1462,6 +1637,7 @@ " -0.106818\n", " 0.000000\n", " 0.750000\n", + " 67.760000\n", " \n", " \n", " 25%\n", @@ -1482,6 +1658,7 @@ " 0.000000\n", " 0.215000\n", " 0.855204\n", + " 86.200000\n", " \n", " \n", " 50%\n", @@ -1502,6 +1679,7 @@ " 0.038889\n", " 0.500000\n", " 1.000000\n", + " 100.240000\n", " \n", " \n", " 75%\n", @@ -1522,6 +1700,7 @@ " 0.255682\n", " 0.555556\n", " 1.000000\n", + " 106.675000\n", " \n", " \n", " max\n", @@ -1542,6 +1721,7 @@ " 0.380000\n", " 0.750000\n", " 1.000000\n", + " 116.150000\n", " \n", " \n", "\n", @@ -1598,15 +1778,15 @@ "75% 0.255682 0.555556 \n", "max 0.380000 0.750000 \n", "\n", - " spelling_quality_score \n", - "count 7.000000 \n", - "mean 0.922915 \n", - "std 0.113740 \n", - "min 0.750000 \n", - "25% 0.855204 \n", - "50% 1.000000 \n", - "75% 1.000000 \n", - "max 1.000000 " + " spelling_quality_score ease_of_reading_score \n", + "count 7.000000 7.000000 \n", + "mean 0.922915 95.700000 \n", + "std 0.113740 16.550124 \n", + "min 0.750000 67.760000 \n", + "25% 0.855204 86.200000 \n", + "50% 1.000000 100.240000 \n", + "75% 1.000000 106.675000 \n", + "max 1.000000 116.150000 " ] }, "execution_count": 11,