public static void ExtractKeywords(int tweetId, string text, Repository tycheRepo)
        {
            AlchemyAPI.AlchemyAPI alchemyObj = new AlchemyAPI.AlchemyAPI();
            alchemyObj.SetAPIKey(ConfigurationManager.AppSettings["AlchemyAPIKey"]);

            string xml;
            XDocument xdoc;

            try
            {
                xml = alchemyObj.TextGetRankedKeywords(text);
            }
            catch
            {
                xml = "";
            }

            if (xml != "")
            {
                xdoc = XDocument.Load(new StringReader(xml));
                foreach (XElement e in xdoc.Descendants("keyword"))
                {
                    interaction_keyword keyword = new interaction_keyword();
                    keyword.interaction_id = tweetId;
                    keyword.keyword = e.Element("text").Value;
                    keyword.keyword_count = 1;
                    keyword.keyword_relevance = decimal.Parse(e.Element("relevance").Value);
                    keyword.keyword_sentiment = e.Element("sentiment").Element("type").Value;
                    if (e.Element("sentiment").Element("score") != null)
                        keyword.keyword_sentiment_score = decimal.Parse(e.Element("sentiment").Element("score").Value);
                    else
                        keyword.keyword_sentiment_score = 0;
                    tycheRepo.Add(keyword);
                }

                tycheRepo.UpdateLastInteractionProcessed(tweetId, InteractionProcessedAction.Keyword);

                tycheRepo.Save();

                Thread.Sleep(12);
            }
        }
 partial void Deleteinteraction_keyword(interaction_keyword instance);
 partial void Insertinteraction_keyword(interaction_keyword instance);
 partial void Updateinteraction_keyword(interaction_keyword instance);
		private void detach_interaction_keywords(interaction_keyword entity)
		{
			this.SendPropertyChanging();
			entity.interaction = null;
		}