protected void CreateSortedKeywordList(DataView dvKeywords) { keywordByRelevanceList.Clear(); dvKeywords.ForEach(row => { double relevance = Convert.ToDouble(row[1].ToString()); keywordByRelevanceList[relevance] = row[0].ToString(); }); }
/// <summary> /// ALCHEMYAPI /// For some reason, some of they keywords coming back from AlchemyAPI have an ending period which we need to strip off. /// </summary> protected void StripEndingPeriods() { dvKeywords.ForEach(row => { string keyword = row[0].ToString(); if (keyword.EndsWith(".")) { row[0] = keyword.Substring(0, keyword.Length - 1); } }); }
protected void CreateKeywordRelevanceMap(DataView dvKeywords) { minRelevance = 1; maxRelevance = 0; keywordRelevanceMap.Clear(); dvKeywords.ForEach(row => { double relevance = Convert.ToDouble(row[1].ToString()); keywordRelevanceMap[row[0].ToString()] = relevance; (relevance < minRelevance).Then(() => minRelevance = relevance); (relevance > maxRelevance).Then(() => maxRelevance = relevance); }); }
/// <summary> /// Create the sentence-keyword map (list of keywords in each sentence.) /// Create the keyword-sentence map (list of sentence indices for each keyword.) /// </summary> /// <param name="dvKeywords"></param> protected void CreateSentenceKeywordMaps(DataView dvKeywords) { sentenceKeywordMap.Clear(); keywordSentenceMap.Clear(); // For each sentence, get all the keywords in that sentence. pageSentences.ForEachWithIndex((s, idx) => { List <string> keywordsInSentence = new List <string>(); sentenceKeywordMap[idx] = keywordsInSentence; string sl = s.ToLower(); // For each of the returned keywords in the view... dvKeywords.ForEach(row => { string keyword = row[0].ToString(); if (sl.Contains(keyword.ToLower())) { // Add keyword to sentence-keyword map. keywordsInSentence.Add(keyword); // Add sentence to keyword-sentence map. List <int> sentences; if (!keywordSentenceMap.TryGetValue(keyword, out sentences)) { // No entry for this keyword yet, so create the sentence indices list. sentences = new List <int>(); keywordSentenceMap[keyword] = sentences; } sentences.AddIfUnique(idx); } }); }); }