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)); } }
public SyntaxProcessorConfig(PosTaggerProcessorConfig config, IMorphoModel morphoModel, MorphoAmbiguityResolverModel morphoAmbiguityModel) : this() { PosTaggerProcessorConfig = config; MorphoModel = morphoModel; MorphoAmbiguityModel = morphoAmbiguityModel; }
public MorphoAnalyzer(IMorphoModel model) { model.ThrowIfNull("model"); _MorphoModel = model; _WordFormMorphologies = new List <WordFormMorphology_t>(); _WordForms = new List <WordForm_t>(); _UniqueWordFormsDictionary = new Dictionary <string, PartOfSpeechEnum>(); }
public MorphoAnalyzer(IMorphoModel model) { model.ThrowIfNull("model"); _morphoModel = model; _wordFormMorphologies = new List <WordFormMorphology>(); _wordForms = new List <WordForm>(); _uniqueWordFormsDictionary = new Dictionary <string, PartOfSpeechEnum>(); Buffer4Upper = new char[DEFAULT_BUFFER_4_UPPER_SIZE]; }
public PaperAnalyzerEnvironment() { _morphoAmbiguityResolverModel = CreateMorphoAmbiguityResolverModel(); var morphoModelConfig = CreateMorphoModelConfig(); _morphoModel = MorphoModelFactory.Create(morphoModelConfig); var config = CreatePosTaggerProcessorConfig(); _processor = new PosTaggerProcessor(config, _morphoModel, _morphoAmbiguityResolverModel); }
public PosTaggerMorphoAnalyzer(IMorphoModel morphoModel, MorphoAmbiguityResolverModel morphoAmbiguityModel) { _morphoModel = morphoModel; _morphoAnalyzer = new MorphoAnalyzer(_morphoModel); _morphoAmbiguityPreProcessor = new MorphoAmbiguityPreProcessor(); _morphoAmbiguityResolver = new MorphoAmbiguityResolver(morphoAmbiguityModel); _wordFormMorphologies_Buffer = new List <WordFormMorphology>(); _wordMorphoAmbiguityFactory = new WordMorphoAmbiguityFactory(null); _wordMorphoAmbiguities = new List <WordMorphoAmbiguity>(); CTM = XlatUnsafe.Inst._CHARTYPE_MAP; }
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"); }
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); }
private static SyntaxProcessorConfig CreateSyntaxProcessorConfig(PosTaggerProcessorConfig posTaggerConfig, IMorphoModel morphoModel, MorphoAmbiguityResolverModel morphoAmbiguityModel) => new SyntaxProcessorConfig(posTaggerConfig, morphoModel, morphoAmbiguityModel) { ModelType = Config.SYNTAX_MODEL_TYPE, ModelFilename = GetSyntaxModelFilename(Config.SYNTAX_MODEL_TYPE, Config.SYNTAX_MODEL_SUBTYPE), TemplateFilename = GetSyntaxTemplateFilename(Config.SYNTAX_MODEL_TYPE), };