private IArffDataRow AddData(string id, DateTime?date, ExtractTextVectorBase extractTextVector, PositivityType positivity) { var cells = extractTextVector.GetCells(); if (cells.Count == 0) { return(null); } lock (DataSet) { IArffDataRow review = string.IsNullOrEmpty(id) ? DataSet.AddDocument() : DataSet.GetOrCreateDocument(id); review.Class.Value = positivity; review.Date = date ?? DateTime.Today; foreach (var cell in cells) { var name = cell.Name; var data = review.AddRecord(name); if (data != null) { data.Header.Source = cell.Item; data.Value = cell.Value; } } return(review); } }
public override void PopulateArff(IParsedReview current, PositivityType positivity) { if (current is null) { throw new ArgumentNullException(nameof(current)); } lock (DataSet) { var review = DataSet.AddDocument(); review.Class.Value = positivity; foreach (var word in current.ImportantWords) { var item = review.AddRecord(word.Text); if (item == null) { continue; } var existing = (double?)item.Value; if (existing == null) { existing = 0; } item.Value = (double)1 + existing.Value; } } }