import spacy
import textacy

scoreForConclusion = 60/100

nlp = spacy.load("en_core_web_sm")

speech = """According to a research Global warming is an international phenomenon where the earth’s mean surface temperature is increasing rapidly due to the accumulation of greenhouse gases in the atmosphere. The source of these greenhouse gases is various, both natural and manmade, such as forest fires, industrialisation, burning of agricultural crops, burning of fossil fuels etc. Global warming has proved to be a huge force created by man that can have the potential to destroy the natural cycle of our planet.
Global warming is not a recent phenomenon but it has surely improved and increased because of rapid industrialisation, population explosion, agricultural explosion and the ever-increasing greed for economic growth for countries at the cos of of exploiting our environment. Global warming did exist hundreds of years before when civilizations begin to occur. There are examples of burning fossil fuels and causing pollution even during early civilizations like the Indus valley civilisation or Harappan civilization, but the magnitude of global warming today is thousand times more than what it was a few centuries back.
Some of the main greenhouse gases that are causing global warming are carbon dioxide, methane, nitrous oxide, sulphur hexafluoride, hydrofluorocarbons and perfluorocarbons. Most of the greenhouse gases are produced due to the consumption of fossil fuels.
The effects of global warming are plenty and one of the most catastrophic effects of global warming is the deterioration of the ozone layer. Due to the accumulation of chlorofluorocarbons in the stratosphere, scientists have predicted that an area above the continent of Antarctica has a huge ozone hole. The ozone layer is a layer in the atmosphere which protects the Earth’s surface from the harmful ultraviolet radiations coming from the sun. When this ozone layer gets depleted, the living beings on the planet earth is easily exposed to UV rays. This can cause catastrophic effects on human health, agricultural cycle, climatic cycle and on the very existence of our planet.
Let me mention a few of the impacts of global warming that we are already seeing in the year 2020. It is due to global warming that there is a rise in sea levels which is causing flooding off patches of lands, the low lying setters and islands countries of Indonesia and Japan. Global warming is causing changes in the rainfall patterns. When the change in rainfall patterns and climatic changes occurs abruptly, it becomes difficult for the Meteorological Departments to predict natural calamities and this increases the damage caused to life and property.
Draughts, forest fires floods and earthquakes are some of the indications for changing in climatic patterns caused due to global warming. Melting of glaciers and polar ice caps has caused almost extinction of habitat near the north pole and the south pole. The polar bears, which are considered to be greatly endangered species, are decreasing in their population by the day because of the melting of glaciers. Melting of glaciers can also lead to an increase in floods and famine in the nearby regions.
Certain diseases like Malaria are caused due to global warming since there is the migration of species from one place to another. Many scientists also predict that the COVID-19 pandemic that we are witnessing in the year 2020 can also be traced back to the impact of global warming when seen from the bird’s point of you
I would like to conclude my global warming speech by saying that the international community, where does they governments and citizens has to come forward to reduce your carbon footprint to save the planet for our future generation. All of us living here are the stakeholders of nature and we are responsible for how we take care of our environment. As the saying goes, charity begins at home, we have to start using biodegradable materials at our houses, reduce plastic waste and other such changes in our lifestyle so that we can make an impact to reduce global warming globally."""

#Count the total number of characters in the speech
def conclisions(speech):
    totalCharacterCount = len(speech)
    #Extract the conclusion of the speech
    conclusionCharacterCount = (85/100)*totalCharacterCount
    conclusion = (speech[int(conclusionCharacterCount):int(totalCharacterCount)])
    # print(">>>Conclusion<<<")
    # print(conclusion)
    return {
        "message": conclusion,
        "score": scoreForConclusion
    }

#....Analyze the introduction.....

#identify best uses for introduction
def comments(speech):
    conclusion = conclisions(speech)["message"]
    final_words = []
    endingPhrases = ["I would like to conclude", "conclude by saying", "final note", "I close by saying",
                     "According to an analysis", "I shall conclude by saying", "i should like to conclude by saying",
                     "I should like to finish by saying", "I want to conclude by saying", "I will close by saying",
                     "i will conclude", "i will conclude by saying", "i will end by saying", "i will finish by saying",
                     "i would end by saying", "i would like to conclude", "i would end by saying",
                     "i would like to conclude by stating", "i would like to end by saying", "in closing",
                     "in conclusion", "let me close by saying", "let me conclude by saying", "let me finish by saying",
                     "may i conclude by saying"
        , "i would like briefly", "i would like to briefly", "i would like to refer briefly",
                     "i would like to return briefly", "let me briefly present", "let me briefly say",
                     "let me briefly touch", "let me comment briefly", "let me quickly", "let me turn briefly",
                     "allow me to say a few", "allow me to touch briefly", "i shall refer briefly",
                     "i should like to refer briefly", "i should like to refer briefly", "i want to say a couple",
                     "i want to say a few", "i will briefly mention", "i will briefly summarize",
                     "i will comment briefly", "i will refer briefly", "i will touch briefly", "i wish to say a few",
                     "i would like to say a few", "i would like to say a word", "i would like to speak briefly",
                     "let me briefly turn", "let me say a few", "let me touch briefly", "Let me briefly"]
    for wordPharse in endingPhrases:
        if wordPharse in conclusion:
            final_words.append(wordPharse)
            # print(">>>Comments<<<")
            # print("You used some ending phrases in your conclusion. It is a good practice to use ending phrases in your introduction")
    # print(final_words)
    return {
        "message": final_words,
        "score": scoreForConclusion
    }

#Identify questions that user used in  introduction
def questions(speech):
    retVal = []
    doc = nlp(conclisions(speech)["message"])

    #Declare the patterns of questions
    patterns = [[{"POS": "ADV"}, {"POS": "AUX"}, {"POS": "PRON"}], [{"POS": "ADV"}, {"POS": "AUX"}, {"POS": "NOUN"}]]

    verb_phrases = textacy.extract.token_matches(doc, patterns)

    for verb_phrases in verb_phrases:
        print("You used questions forms in your conclusion. It is a good practice for a conclusion.")
        print(f"Identified questions : {verb_phrases}")
        retVal.append(f"Identified questions : {verb_phrases}")
    return {
        "message": retVal,
        "score": scoreForConclusion
    }

