public void TestAccuracy() { int correct = 0, total = 0; var mostFrequentTreeAutoSemantic = new MostFrequentTreeAutoSemantic(wordNet, fsm); var treeBank1 = new TreeBankDrawable("../../../new-trees/"); var treeBank2 = new TreeBankDrawable("../../../old-trees/"); for (var i = 0; i < treeBank1.Size(); i++) { var parseTree1 = treeBank1.Get(i); var parseTree2 = treeBank2.Get(i); mostFrequentTreeAutoSemantic.AutoSemantic(parseTree1); var nodeDrawableCollector1 = new NodeDrawableCollector((ParseNodeDrawable)parseTree1.GetRoot(), new IsTurkishLeafNode()); var leafList1 = nodeDrawableCollector1.Collect(); var nodeDrawableCollector2 = new NodeDrawableCollector((ParseNodeDrawable)parseTree2.GetRoot(), new IsTurkishLeafNode()); var leafList2 = nodeDrawableCollector2.Collect(); for (var j = 0; j < leafList1.Count; j++) { total++; var parseNode1 = leafList1[j]; var parseNode2 = leafList2[j]; if (parseNode1.GetLayerData(ViewLayerType.SEMANTICS) != null && parseNode1 .GetLayerData(ViewLayerType.SEMANTICS).Equals(parseNode2.GetLayerData(ViewLayerType.SEMANTICS))) { correct++; } } } Assert.AreEqual(475, total); Assert.AreEqual(260, correct); }
public Corpus.Corpus Convert(IConstituencyToDependencyTreeConverter constituencyToDependencyTreeConverter) { var annotatedCorpus = new Corpus.Corpus(); for (var i = 0; i < _treeBank.Size(); i++) { annotatedCorpus.AddSentence(constituencyToDependencyTreeConverter.Convert(_treeBank.Get(i), null)); } return(annotatedCorpus); }
/** * <summary> Creates a dataSet from the treeBank. Calls generateInstanceListFromTree for each parse tree in the treeBank.</summary> * <returns>Created dataSet.</returns> */ public DataSet Generate() { var dataSet = new DataSet(); for (var i = 0; i < _treeBank.Size(); i++) { var parseTree = _treeBank.Get(i); dataSet.AddInstanceList(GenerateInstanceListFromTree(parseTree)); } return(dataSet); }
/** * <summary> Creates a named entity recognition corpus from the treeBank. Calls generateAnnotatedSentence for each parse tree * in the treebank.</summary> * * <returns>Created corpus.</returns> */ public NERCorpus Generate() { var corpus = new NERCorpus(); for (var i = 0; i < _treeBank.Size(); i++) { var parseTree = _treeBank.Get(i); if (parseTree.LayerAll(ViewLayerType.NER)) { Sentence sentence = parseTree.GenerateAnnotatedSentence(); corpus.AddSentence(sentence); } } return(corpus); }
/** * <summary> Creates a morphological disambiguation corpus from the treeBank. Calls generateAnnotatedSentence for each parse * tree in the treebank.</summary> * * <returns>Created disambiguation corpus.</returns> */ public DisambiguationCorpus Generate() { var corpus = new DisambiguationCorpus(); for (var i = 0; i < _treeBank.Size(); i++) { var parseTree = _treeBank.Get(i); if (parseTree.LayerAll(ViewLayerType.INFLECTIONAL_GROUP)) { var sentence = parseTree.GenerateAnnotatedSentence(); var disambiguationSentence = new AnnotatedSentence.AnnotatedSentence(""); for (var j = 0; j < sentence.WordCount(); j++) { disambiguationSentence.AddWord(new DisambiguatedWord(sentence.GetWord(j).GetName(), ((AnnotatedWord)sentence.GetWord(j)).GetParse())); } corpus.AddSentence(sentence); } } return(corpus); }