public int GetDistinctPunctuationsCount(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(item.Message.Where(char.IsPunctuation).Distinct().Count()); }
public bool IsFormWordsContained(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(IsWordsFromCollectionContained(item.Message, formWords)); }
public int ThreadLength(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(buhonlineDataProvider.ReadTopicMessages(item.TopicID).Count()); }
public int GetUserQuotesCount(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(FeatureRegex.QuoteExpression.Matches(item.Message).Count); }
public bool IsSmileContained(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(smiles.Any(item.Message.Contains)); }
public bool IsTextHighlighted(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(FeatureRegex.HighlightBBTag.IsMatch(item.Message)); }
public int GetUpperLettersCount(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(item.Message.Count(char.IsUpper)); }
public int GetHtmlTagsCount(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(FeatureRegex.HtmlTags.Matches(item.Message).Count); }
public int GetNumbersCount(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(FeatureRegex.Numbers.Split(item.Message).Length - 1); }
public int GetQuestionMarksFeature(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(item.Message.Split('?').Length - 1); }
public int GetPostLengthFeature(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(item.Message.Length); }
public bool IsDateContained(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(FeatureRegex.Date.IsMatch(item.Message)); }
public int GetPoints(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(item.Points); }
public bool IsEdited(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(item.Edited != null); }
public bool IsThankwordsContained(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); HashSet <string> thankwords = Preprocessing.ThankWords; return(FeatureRegex.Words.Split(item.Message.ToLower()).Any(thankwords.Contains)); }
public bool IsHelloContained(FeatureParameters parameters) { HashSet <string> helloWords = Preprocessing.HelloWords; int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(helloWords.Any(item.Message.ToLower().StartsWith)); }
public bool IsSameAuthorAsTopicStarter(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); int topicStarterAuthorID = GetTopicStarter(item.TopicID).UserID; return(item.UserID == topicStarterAuthorID); }
public double QuotientPostLengthToAvarageInTopic(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); IEnumerable <yaf_Message> messages = buhonlineDataProvider.ReadTopicMessages(item.TopicID); return(messages.Average(m => m.Message.Length)); }
public double TimeFromTopicStarter(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); yaf_Message ts = buhonlineDataProvider.ReadTopicStarter(item.TopicID); return((item.Posted - ts.Posted).TotalMinutes); }
private static bool IsTopicStarterCited(yaf_Message item) { var topicStarter = GetTopicStarter(item); return (FeatureRegex.QuoteExpression.Matches(item.Message).Cast <Match>().Any( m => m.Groups[1].Value.Trim().ToLower() == topicStarter.Message.Trim().ToLower())); }
public void AddMessage(yaf_Message message) { if (messages.Count == keepMaxMessages) { messages = new Dictionary <int, yaf_Message>(); } messages.Add(message.MessageID, message); }
private static bool IsSmileContained(yaf_Message item) { var smiles = ":) ;-) :( \\:d/ :-\" =d> o:) [-o< [-x #-o =p~ :-k =; :-$ :-# [-( :-s :-({|= 8-[ :-& :^o ](*,) @}-\\-- :-n" .Split(' '); return(smiles.Any(item.Message.Contains)); }
private string GetQuestion(int messageId) { yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); int topicId = item.TopicID; yaf_Message topicStarter = buhonlineDataProvider.ReadTopicStarter(topicId); return(topicStarter.Message); }
public bool IsFormulaContained(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); string[] parts = item.Message.Split(new[] { ']', '?' }); return(parts.Any(FeatureRegex.Formula.IsMatch)); }
public int GetMessageCitedCount(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(Preprocessing.MessageCitedCounts.ContainsKey(item.MessageID) ? Preprocessing.MessageCitedCounts[item.MessageID] : 0); }
public int GetAccentedWordsCount(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); return(GetTaggedWordsCount(item.Message, new List <string> { "b", "s", "color", "colour" })); }
public double GetStopWordsToAllWordsCount(FeatureParameters parameters) { int messageId = parameters.MessageId; yaf_Message item = buhonlineDataProvider.ReadMessage(messageId); HashSet <string> stopwords = Preprocessing.StopWords; return((double)FeatureRegex.Words.Split(item.Message.ToLower()).Count(stopwords.Contains) / GetWordsCount(parameters)); }
private static int GetAuthorPostsCount(yaf_Message item) { var author = GetAuthor(item); if (author == null) { return(0); } return(author.NumPosts); }
private static int GetAuthorForumAge(yaf_Message item) { var author = GetAuthor(item); if (author == null || author.Joined > item.Posted) { return(0); } return((int)(item.Posted - author.Joined).TotalDays); }
private static int GetAuthorRating(yaf_Message item) { var author = GetAuthor(item); if (author == null) { return(0); } return(author.Points); }