public void Dispose() { if (Processor != null) { Processor.Dispose(); Processor = null; } if (MorphoModel != null) { MorphoModel.Dispose(); MorphoModel = null; } if (MorphoAmbiguityResolverModel != null) { MorphoAmbiguityResolverModel.Dispose(); MorphoAmbiguityResolverModel = null; } if (SentSplitterConfig != null) { SentSplitterConfig.Dispose(); SentSplitterConfig = null; } }
public ConcurrentFactory(PosTaggerProcessorConfig config, IMorphoModel morphoModel, MorphoAmbiguityResolverModel morphoAmbiguityModel, int instanceCount) { if (instanceCount <= 0) { throw (new ArgumentException("instanceCount")); } if (config == null) { throw (new ArgumentNullException("config")); } if (morphoModel == null) { throw (new ArgumentNullException("morphoModel")); } if (morphoAmbiguityModel == null) { throw (new ArgumentNullException("morphoAmbiguityModel")); } _Semaphore = new Semaphore(instanceCount, instanceCount); _Stack = new ConcurrentStack <PosTaggerProcessor>(); for (int i = 0; i < instanceCount; i++) { _Stack.Push(new PosTaggerProcessor(config, morphoModel, morphoAmbiguityModel)); } }
private static MorphoAmbiguityResolverModel CreateMorphoAmbiguityResolverModel() { var config = new MorphoAmbiguityResolverConfig() { ModelFilename = Config.MORPHO_AMBIGUITY_MODEL_FILENAME, TemplateFilename_5g = Config.MORPHO_AMBIGUITY_TEMPLATE_FILENAME_5G, TemplateFilename_3g = Config.MORPHO_AMBIGUITY_TEMPLATE_FILENAME_3G, }; var model = new MorphoAmbiguityResolverModel(config); return(model); }
public PosTaggerMorphoAnalyzer(IMorphoModel morphoModel , MorphoAmbiguityResolverModel morphoAmbiguityModel) { _MorphoModel = morphoModel; _MorphoAnalyzer = new MorphoAnalyzer(_MorphoModel); _MorphoAmbiguityPreProcessor = new MorphoAmbiguityPreProcessor(); _MorphoAmbiguityResolver = new MorphoAmbiguityResolver(morphoAmbiguityModel); _wordFormMorphologies_Buffer = new List <WordFormMorphology_t>(); _WordMorphoAmbiguityFactory = new WordMorphoAmbiguityFactory(null); _WordMorphoAmbiguities = new List <WordMorphoAmbiguity_t>(); _CTM = xlat_Unsafe.Inst._CHARTYPE_MAP; }
public PosTaggerProcessor(PosTaggerProcessorConfig config, IMorphoModel morphoModel, MorphoAmbiguityResolverModel morphoAmbiguityModel) { CheckConfig(config, morphoModel, morphoAmbiguityModel); _Tokenizer = new Tokenizer(config.TokenizerConfig); _Words = new List <word_t>(DEFAULT_WORDSLIST_CAPACITY); _PosTaggerScriber = PosTaggerScriber.Create(config.ModelFilename, config.TemplateFilename); _PosTaggerPreMerging = new PosTaggerPreMerging(config.Model); _PosTaggerMorphoAnalyzer = new PosTaggerMorphoAnalyzer(morphoModel, morphoAmbiguityModel); _ProcessSentCallback_1_Delegate = new Tokenizer.ProcessSentCallbackDelegate(ProcessSentCallback_1); _ProcessSentCallback_2_Delegate = new Tokenizer.ProcessSentCallbackDelegate(ProcessSentCallback_2); }
public void Dispose() { if (Processor != null) { Processor.Dispose(); Processor = null; } if (MorphoModel != null) { MorphoModel.Dispose(); MorphoModel = null; } if (MorphoAmbiguityResolverModel != null) { MorphoAmbiguityResolverModel.Dispose(); MorphoAmbiguityResolverModel = null; } }
private static void CheckConfig(PosTaggerProcessorConfig config, IMorphoModel morphoModel, MorphoAmbiguityResolverModel morphoAmbiguityModel) { morphoModel.ThrowIfNull("morphoModel"); config.ThrowIfNull("config"); config.Model.ThrowIfNull("Model"); config.TokenizerConfig.ThrowIfNull("TokenizerConfig"); config.ModelFilename.ThrowIfNullOrWhiteSpace("ModelFilename"); config.TemplateFilename.ThrowIfNullOrWhiteSpace("TemplateFilename"); morphoAmbiguityModel.ThrowIfNull("morphoAmbiguityModel"); }