public void TestDeasciify() { var fsm = new FsmMorphologicalAnalyzer(); var simpleDeasciifier = new SimpleDeasciifier(fsm); var simpleAsciifier = new SimpleAsciifier(); for (var i = 0; i < fsm.GetDictionary().Size(); i++) { var word = (TxtWord)fsm.GetDictionary().GetWord(i); var count = 0; for (var j = 0; j < word.GetName().Length; j++) { switch (word.GetName()[j]) { case 'ç': case 'ö': case 'ğ': case 'ü': case 'ş': case 'ı': count++; break; } } if (count > 0 && !word.GetName().EndsWith("fulü") && (word.IsNominal() || word.IsAdjective() || word.IsAdverb() || word.IsVerb())) { var asciified = simpleAsciifier.Asciify(word); if (simpleDeasciifier.CandidateList(new Word(asciified)).Count == 1) { var deasciified = simpleDeasciifier.Deasciify(new Sentence(asciified)).ToString(); Assert.AreEqual(word.GetName(), deasciified); } } } }
public void TestDeasciify() { var fsm = new FsmMorphologicalAnalyzer(); var nGram = new NGram <string>("../../../ngram.txt"); nGram.CalculateNGramProbabilities(new NoSmoothing <string>()); var nGramDeasciifier = new NGramDeasciifier(fsm, nGram, true); var simpleAsciifier = new SimpleAsciifier(); var corpus = new Corpus.Corpus("../../../corpus.txt"); for (var i = 0; i < corpus.SentenceCount(); i++) { var sentence = corpus.GetSentence(i); for (var j = 1; j < sentence.WordCount(); j++) { if (fsm.MorphologicalAnalysis(sentence.GetWord(j).GetName()).Size() > 0) { var asciified = simpleAsciifier.Asciify(sentence.GetWord(j)); if (!asciified.Equals(sentence.GetWord(j).GetName())) { var deasciified = nGramDeasciifier.Deasciify( new Sentence(sentence.GetWord(j - 1).GetName() + " " + sentence.GetWord(j).GetName())); Assert.AreEqual(sentence.GetWord(j).GetName(), deasciified.GetWord(1).GetName()); } } } } }
public void Setup() { simpleAsciifier = new SimpleAsciifier(); }