public override semanticFVExtractorKnowledge DoFVExtractionForClassViaCases(validationCaseCollection vCaseColl, IDocumentSetClass documentSetClass, kFoldValidationCase validationCase, classifierTools tools, ILogBuilder logger) { semanticFVExtractorKnowledge knowledge = vCaseColl.kFoldMaster.knowledgeLibrary.GetKnowledgeInstance <semanticFVExtractorKnowledge>(documentSetClass, vCaseColl.kFoldCase, logger); knowledge.SetRebuild(!tools.DoUseExistingKnowledge); if (knowledge.ShouldBuildAny()) { DocumentSetCaseCollection dSetCol = new DocumentSetCaseCollection(documentSetClass); var context = tools.context.pipelineCollection.GetContext(tools, documentSetClass); //var sites = context.exitByType[typeof(pipelineTaskMCSiteSubject)].ConvertList<IPipelineTaskSubject, pipelineTaskMCSiteSubject>().ToList(); var sites = context.exitByType[typeof(pipelineTaskMCSiteSubject)].ToList(); List <pipelineTaskMCSiteSubject> ISites = sites.ConvertList <IPipelineTaskSubject, pipelineTaskMCSiteSubject>().ToList(); List <pipelineTaskMCSiteSubject> fSites = vCaseColl.FilterSites(ISites); dSetCol.deploy(vCaseColl, validationCase, fSites, classes); List <webLemmaTermTable> tables = new List <webLemmaTermTable>(); //List<webLemmaTermTable> chunkTables = new List<webLemmaTermTable>(); foreach (DocumentSetCase vc in dSetCol) { semanticFVExtractorKnowledge cKnowledge = vCaseColl.kFoldMaster.knowledgeLibrary.GetKnowledgeInstance <semanticFVExtractorKnowledge>(vc, validationCase, logger); DoMakeKnowledgeForCase(vc, tools, dSetCol, logger); tables.Add(cKnowledge.WLTableOfIndustryClass); } var tbl = tables.GetMergedLemmaTable(knowledge.name, logger); termTableConstructor.recompute(knowledge.WLTableOfIndustryClass, logger, false, tbl.GetList()); DoMakeKnowledge(fSites, tools, knowledge, logger); } // SetKnowledge(knowledge); //knowledge.OnBeforeSave(); logger.log("[ALTPROC] Feature Extraction by [" + name + "][" + vCaseColl.kFoldCase.name + "][" + documentSetClass.name + "] done for " + vCaseColl.className); return(knowledge); }
/// <summary> /// Deploys the specified v case coll. /// </summary> /// <param name="vCaseColl">The v case coll.</param> /// <param name="validationCase">The validation case.</param> /// <param name="subjects">The subjects.</param> /// <param name="classes">The classes.</param> public void deploy(validationCaseCollection vCaseColl, kFoldValidationCase _validationCase, IEnumerable <IPipelineTaskSubject> subjects, DocumentSetClasses classes) { lock (deployLock) { validation = vCaseColl; validationCase = _validationCase; Thread.Sleep(100); var sites = subjects.ToSubjectTokenType <pipelineTaskMCSiteSubject>().ToList(); // var sitesCopy = sites.ToList(); sites = vCaseColl.FilterSites(sites); foreach (pipelineTaskMCSiteSubject site in sites) { DocumentSetCase sCase = new DocumentSetCase(); sCase.subject = site; sCase.data = new WebClassifierResultSet(classes, validationCase.context, validationCase.extractor.settings); Add(sCase); } } }
public override tfidfFVExtractorKnowledge DoFVExtractionForClassViaCases(validationCaseCollection vCaseColl, IDocumentSetClass documentSetClass, kFoldValidationCase validationCase, classifierTools tools, ILogBuilder logger) { throw new NotImplementedException(); }