Exemplo n.º 1
0
        //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();
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        //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);
        }
Exemplo n.º 4
0
        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();
        }
Exemplo n.º 5
0
        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();
        }
Exemplo n.º 6
0
 private NerScriber(string templateFilename)
 {
     _CrfTemplateFile            = CRFTemplateFileLoader.Load(templateFilename, ALLOWED_COLUMNNAMES);
     _Result4ModelBuilder        = new List <string>();
     _StringBuilder4ModelBuilder = new StringBuilder();
 }