//private int _WordsCount; //private int _WordsCount_Minus1; //private List< word_t > _Words; //private readonly char* _UIM; #endregion #region [.ctor().] private PosTaggerScriber(string modelFilename, string templateFilename) { _CrfTemplateFile = CRFTemplateFileLoader.Load(templateFilename, ALLOWED_COLUMNNAMES); //-0- native.load_native_crf_suite(); var ptr = Marshal.StringToHGlobalAnsi(modelFilename); _Tagger = native.crf_tagger_initialize(ptr); Marshal.FreeHGlobal(ptr); if (_Tagger == IntPtr.Zero) { throw (new InvalidDataException("Не удалось открыть CRF-модель.")); } //-1- //_UIM = xlat_Unsafe.Inst._UPPER_INVARIANT_MAP; ReAllocPinnedWordsBuffer(PINNED_WORDS_BUFFER_SIZE); //-2- //_UTF8Buffer = new byte[ UTF8_BUFFER_SIZE ]; var utf8Buffer = new byte[UTF8_BUFFER_SIZE]; _UTF8BufferGCHandle = GCHandle.Alloc(utf8Buffer, GCHandleType.Pinned); _UTF8BufferPtrBase = (byte *)_UTF8BufferGCHandle.AddrOfPinnedObject().ToPointer(); //-3- //_AttributeBuffer = new char[ ATTRIBUTE_MAX_LENGTH + 1 ]; var attributeBuffer = new char[ATTRIBUTE_MAX_LENGTH + 1]; _AttributeBufferGCHandle = GCHandle.Alloc(attributeBuffer, GCHandleType.Pinned); _AttributeBufferPtrBase = (char *)_AttributeBufferGCHandle.AddrOfPinnedObject().ToPointer(); }
private PosTaggerScriber(string modelFilename, string templateFilename) { _crfTemplateFile = CRFTemplateFileLoader.Load(templateFilename, ALLOWED_COLUMNNAMES); native.LoadNativeCrfSuite(); var ptr = Marshal.StringToHGlobalAnsi(modelFilename); _tagger = native.crf_tagger_initialize(ptr); Marshal.FreeHGlobal(ptr); if (_tagger == IntPtr.Zero) { throw new InvalidDataException("Не удалось открыть CRF-модель."); } ReAllocPinnedWordsBuffer(PINNED_WORDS_BUFFER_SIZE); var utf8Buffer = new byte[UTF8_BUFFER_SIZE]; _UTF8BufferGCHandle = GCHandle.Alloc(utf8Buffer, GCHandleType.Pinned); _UTF8BufferPtrBase = (byte *)_UTF8BufferGCHandle.AddrOfPinnedObject().ToPointer(); var attributeBuffer = new char[ATTRIBUTE_MAX_LENGTH + 1]; _attributeBufferGCHandle = GCHandle.Alloc(attributeBuffer, GCHandleType.Pinned); _attributeBufferPtrBase = (char *)_attributeBufferGCHandle.AddrOfPinnedObject().ToPointer(); }
//private IList< word_t > _Words; #endregion #region [.ctor().] public SyntaxScriber_NoWords(string modelFilename, string templateFilename) { _CrfTemplateFile = CRFTemplateFileLoader.Load(templateFilename, ALLOWED_COLUMNNAMES); //-0- var ptr = Marshal.StringToHGlobalAnsi(modelFilename); try { _Tagger = Native.crf_tagger_initialize(ptr); } finally { Marshal.FreeHGlobal(ptr); } if (_Tagger == IntPtr.Zero) { throw (new InvalidDataException("Не удалось открыть CRF-модель.")); } //-1- //_AttributeBuffer = new byte[ ATTRIBUTE_MAX_LENGTH + 1 ]; var attributeBuffer = new byte[ATTRIBUTE_MAX_LENGTH + 1]; _AttributeBufferGCHandle = GCHandle.Alloc(attributeBuffer, GCHandleType.Pinned); _AttributeBufferPtrBase = (byte *)_AttributeBufferGCHandle.AddrOfPinnedObject().ToPointer(); //-2- ReAllocPinnedWordsBuffer(PINNED_WORDS_BUFFER_SIZE); }
private PosTaggerScriber(string templateFilename) { _crfTemplateFile = CRFTemplateFileLoader.Load(templateFilename, ALLOWED_COLUMNNAMES); _result4ModelBuilder = new List <string>(); ReAllocPinnedWordsBuffer(PINNED_WORDS_BUFFER_SIZE); var attributeBuffer = new char[ATTRIBUTE_MAX_LENGTH + 1]; _attributeBufferGCHandle = GCHandle.Alloc(attributeBuffer, GCHandleType.Pinned); _attributeBufferPtrBase = (char *)_attributeBufferGCHandle.AddrOfPinnedObject().ToPointer(); }
private PosTaggerScriber(string templateFilename) { _CrfTemplateFile = CRFTemplateFileLoader.Load(templateFilename, ALLOWED_COLUMNNAMES); _Result4ModelBuilder = new List <string>(); //-1- //_UIM = xlat_Unsafe.Inst._UPPER_INVARIANT_MAP; ReAllocPinnedWordsBuffer(PINNED_WORDS_BUFFER_SIZE); //-2- //_AttributeBuffer = new char[ ATTRIBUTE_MAX_LENGTH + 1 ]; var attributeBuffer = new char[ATTRIBUTE_MAX_LENGTH + 1]; _AttributeBufferGCHandle = GCHandle.Alloc(attributeBuffer, GCHandleType.Pinned); _AttributeBufferPtrBase = (char *)_AttributeBufferGCHandle.AddrOfPinnedObject().ToPointer(); }
private NerScriber(string templateFilename) { _CrfTemplateFile = CRFTemplateFileLoader.Load(templateFilename, ALLOWED_COLUMNNAMES); _Result4ModelBuilder = new List <string>(); _StringBuilder4ModelBuilder = new StringBuilder(); }