public void GetAllEntriesFast() { var matrix = new SparseMatrixForWordPairs(); var words = GenerateRandomWordList(30); matrix.HandleCoOcurrentWordsSync(words); var entries = matrix.GetEntries(n => true); }
public void AddMultipleWordsMultipleTimes() { var matrix = new SparseMatrixForWordPairs(); var words = this.GenerateRandomWordList(30); matrix.HandleCoOcurrentWordsSync(words); var words2 = this.GenerateRandomWordList(30); matrix.HandleCoOcurrentWordsSync(words2); for (int i = 0; i < words.Count - 1; i++) { var word1 = words.ElementAt(i); var word2 = words.ElementAt(i + 1); Assert.IsTrue(matrix.GetCoOccurrenceCount(word1, word2) > 0); } for (int i = 0; i < words2.Count - 1; i++) { var word1 = words2.ElementAt(i); var word2 = words2.ElementAt(i + 1); Assert.IsTrue(matrix.GetCoOccurrenceCount(word1, word2) > 0); } for (int i = 0; i < words.Count; i++) { var word1 = words.ElementAt(i); var word2 = words2.ElementAt(i); Assert.IsTrue(matrix.GetCoOccurrenceCount(word1, word2) == 0); } }
public DictionaryBasedSplitter(TaskScheduler scheduler) { this.dictionary = new FileDictionary(); this.matrix = new SparseMatrixForWordPairs(scheduler); this.dictionary.rawWordsEvent += matrix.HandleCoOcurrentWordsAsync; }
public void SaveToDisk() { var matrix = new SparseMatrixForWordPairs(); matrix.Initialize(Environment.CurrentDirectory); var words = this.GenerateRandomWordList(5000); words.Add("sando"); words.Add("dog"); words.Add("cat"); words.Add("bird"); words.Add("yowser"); foreach (var word in words) { List<string> wordList = new List<string>(); wordList.Add(word); for (int i = 0; i < random.Next(100); i++) wordList.Add(words.ElementAt(random.Next(5000))); matrix.HandleCoOcurrentWordsSync(wordList); } matrix.Dispose(); }