/// <summary>
        /// Handles the Cue Phrase Feature
        /// </summary>
        /// <param name="cuePhraseList"></param>
        /// <param name="scoreWeighting"></param>
        /// <returns></returns>
        private Dictionary <int, double> RunCuePhraseFeature(List <string> cuePhraseList, double scoreWeighting)
        {
            Dictionary <int, double> sentenceScore = new Dictionary <int, double>();

            for (int sentenceNumber = 0; sentenceNumber < _unstemmedText.GetSentenceCount(); sentenceNumber++)
            {
                var sentence = _unstemmedText.GetSentence(sentenceNumber);

                string formedSentence = string.Join(" ", sentence);

                var cuePhrasesInSentence = cuePhraseList.Any(phrase => formedSentence.Contains(phrase));

                //if there is a cue phrase exists, add the weighting score to the sentence (per each word)
                if (cuePhrasesInSentence)
                {
                    //todo: tweakable point to improve algortihm

                    // the score is added to each word in the sentence per every cue phrase in the sentence.
                    double scoreToAdd = scoreWeighting * _unstemmedText.GetWordCountInSentence(sentenceNumber);

                    sentenceScore[sentenceNumber] = scoreToAdd;
                }
                else
                {
                    sentenceScore[sentenceNumber] = 0;
                }
            }

            return(sentenceScore);
        }
        /// <summary>
        /// Maps the sentences from text to selected sentence Ids to create the summary
        /// </summary>
        /// <param name="sentenceIds"></param>
        /// <param name="text"></param>
        /// <returns></returns>
        public TextModel AssembleSummarySentences(List <int> sentenceIds, TextModel text)
        {
            TextModel summary = new TextModel();

            foreach (var sentenceId in sentenceIds)
            {
                var sentence = text.GetSentence(sentenceId);

                summary.AddSentence(sentence);
            }
            return(summary);
        }