static void Main(string[] args) { var TekstA = new List <string>(); var TekstB = new List <string>(); string[] stringSeparators = { ", ", ".", "!", "?", ";", ":", " ", "-", "\"", "(", ")" }; var test1 = new LoadEachWordToList(@"C:\Users\Patri\OneDrive\Dokumenter\Visual Studio 2015\Projects\CompareTexts\Nyheder_Database\All_articles\False\03_11_2016_Higgs_News_Network_BBC_And_CNN_News_Caught_Staging_FAKE_News.txt"); var test2 = new LoadEachWordToList(@"C:\Users\Patri\OneDrive\Dokumenter\Visual Studio 2015\Projects\CompareTexts\Nyheder_Database\All_articles\False\05_03_2017_Koran_Bible_Same1.txt"); var test3 = new LoadEachWordToList(@"C:\Users\Patri\OneDrive\Dokumenter\Visual Studio 2015\Projects\CompareTexts\Nyheder_Database\All_articles\True\20_04_2017_Syria_news_BBC.txt"); string[] tags = { "Brexit" }; var testJaccard = new CompareTextUsingJaccardSimilarity(test1.Words, null); Console.WriteLine("False: " + testJaccard.FalseArticlesSimilarity); Console.WriteLine("True: " + testJaccard.TrueArticlesSimilarity); var testCosine = new CompareTextUsingCosineSimilarity(test2.Words, tags); Console.WriteLine("\n"); Console.WriteLine("False: " + (decimal)testCosine.FalseArticlesSimilarity); Console.WriteLine("True: " + (decimal)testCosine.TrueArticlesSimilarity); Console.ReadLine(); }
public void FullImplementationFalseArticleSimilarity(string fileName, string tag, string trueOrFalse, int expectedResult, params string[] tags) { string path = GetFilePath(fileName, tag, trueOrFalse); var text = new LoadEachWordToList(path); var test = new CompareTextUsingCosineTestClass(text.Words, tags); Assert.AreEqual(expectedResult, test.FalseArticlesSimilarity); }
static void Main(string[] args) { Stopwatch stopwatch = new Stopwatch(); Console.WriteLine(Stopwatch.IsHighResolution); stopwatch.Start(); #region LevenshteinDistance //Indlæser hver linje af teksten til en liste af strings LoadStringToList tekstA = new LoadStringToList(@"C:\Users\Patri\Dropbox\Projekt\P2\Program\Nyheder_Database\Koran_Bible_Same1.txt"); LoadStringToList tekstB = new LoadStringToList(@"C:\Users\Patri\Dropbox\Projekt\P2\Program\Nyheder_Database\Koran_Bible_Same2.txt"); // Beregner LevenshteinDistance LevenshteinDistance levDis = new LevenshteinDistance(tekstA.Lines, tekstB.Lines, tekstA.GetAmountOfChars(), tekstB.GetAmountOfChars(), tekstA.LinesInText, tekstB.LinesInText); levDis.Print(); // Printer LevenshteinDistance mellem de to tekster #endregion Console.WriteLine(stopwatch.ElapsedMilliseconds); stopwatch.Restart(); #region CosineDistance //Indlæser hvert ord fra teksten til en liste af strings LoadEachWordToList TextA = new LoadEachWordToList(@"C:\Users\Patri\Dropbox\Projekt\P2\Program\Nyheder_Database\Koran_Bible_Same1.txt"); LoadEachWordToList TextB = new LoadEachWordToList(@"C:\Users\Patri\Dropbox\Projekt\P2\Program\Nyheder_Database\Koran_Bible_Same2.txt"); CalculateCosine CalcCos = new CalculateCosine(TextA.Words, TextB.Words); // Beregner CosineDistance CalcCos.Print(); // Printer CosineSimilarity mellem de to tekster #endregion Console.WriteLine(stopwatch.ElapsedMilliseconds); stopwatch.Restart(); #region JaccardDistance JaccardSimilarity nytekstA = new JaccardSimilarity(TextA.Words, TextB.Words); // TextA og TextB er indlæst i #region CosineDistance - (LoadEachWordToList) nytekstA.Print(); // Printer JaccardSimilarity mellem de to tekster #endregion Console.WriteLine(stopwatch.ElapsedMilliseconds); stopwatch.Stop(); #region TryDiffrentLoadMethod (Resources) //var TekstA = new List<string>(); //var TekstB = new List<string>(); //string[] stringSeparators = { ",", ".", "!", "?", ";", ":", " ", "-", "\"", "(", ")" }; //TekstA = Resources.Pizzagate1.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries).ToList(); //TekstB = Resources.Pizzagate2.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries).ToList(); //CalculateCosine CalcCos2 = new CalculateCosine(TekstA, TekstB); // Beregner CosineDistance //CalcCos2.Print(); // Printer CosineDistance mellem de to tekster #endregion Console.ReadLine(); }
public void FullImplementationTrueArticleSimilarity(string fileName, string tag, string trueOrFalse, decimal expectedResult, params string[] tags) { string path = GetFilePath(fileName, tag, trueOrFalse); var text = new LoadEachWordToList(path); var test = new CompareTextUsingJaccardTestClass(text.Words, tags); decimal result = Math.Round(test.TrueArticlesSimilarity, 5); Assert.AreEqual(expectedResult, result); }
private void calculateValue_Click(object sender, EventArgs e) { LoadEachWordToList tekstA = new LoadEachWordToList(@"C:\Users\Aryan\Dropbox\P1 Projekt\P2\Program\Nyheder_Database\" + firstText); LoadEachWordToList tekstB = new LoadEachWordToList(@"C:\Users\Aryan\Dropbox\P1 Projekt\P2\Program\Nyheder_Database\" + secondText); JaccardSimilarity nytekstA = new JaccardSimilarity(); JaccardSimilarity nytekstB = new JaccardSimilarity(); nytekstA.GetShingles(tekstA.Words); nytekstB.GetShingles(tekstB.Words); jaccardSimilarity = nytekstA.CalculateSimilarity(nytekstA.shingles, nytekstB.shingles); this.label1.Text = "The Jaccard similarity of the two texts is: " + jaccardSimilarity; }
// Returns the greatest JaccardSimilarity optained by comparing the text to texts in the directory public override decimal CompareWithTexts(List <string> paths) { decimal greatestSimilarity = 0; foreach (string path in paths) // Gets JaccardSimilarity for all false articles { var databaseText = new LoadEachWordToList(path); var compareTexts = new JaccardSimilarity(TextToBeCompared, databaseText.Words); // Happens if the jaccardSimilarity between the two current texts are the greatest so far if (compareTexts.Similarity > greatestSimilarity) { greatestSimilarity = compareTexts.Similarity; } } return(greatestSimilarity); }
// Returns the greatest CosineSimilarity optained by comparing the text to all texts in the directory public override decimal CompareWithTexts(List <string> paths) { int greatestSimilarity = 0; foreach (string path in paths) // Gets CosineSimilarity for all false articles { var databaseText = new LoadEachWordToList(path); var compareTexts = new CalculateCosine(TextToBeCompared, databaseText.Words); // Happens if the CosineSimilarity between the two current texts are the greatest so far if (compareTexts.Procent > greatestSimilarity) { greatestSimilarity = compareTexts.Procent; } } return((decimal)greatestSimilarity); }