Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Named Entity Recognition using multilayered bidirectional LSTM
| Date | Stars |
|---|---|
| 2026-07-24 | 538 |
| 2026-07-25 | 538 |
| 2026-07-28 | 538 |
| 2026-07-30 | 538 |
| 2026-08-06 | 538 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
This Repository contains the code which implements the approach described in the following Arxiv Preprint: https://arxiv.org/abs/1610.09756 which is published in ICON-16 conference (http://aclweb.org/anthology/W/W16/W16-63.pdf). # Contributors * shreenibhar (Shreenivas Bharadwaj) * monikkinom * vinayakathavale # ner-lstm ### Requirements * tensorflow * http://github.com/ltrc/indic-wx-converter (only for hindi) * gensim ### Named Entity Recognition using multi-layered bidirectional LSTMs and task adapted word embeddings [Named Entity Recognition](https://en.wikipedia.org/wiki/Named-entity_recognition) is a classification problem of identifying the names of people,organisations,etc (different classes) in a text corpus. Previous approaches to the problems have involved the usage of hand crafted language specific features, CRF and HMM based models, gazetteers, etc. Growing interest in deep learning has led to application of deep neural networks to the existing problems like that of NER. We have implemented a 2 layer bidirectional LSTM network using tensorflow to classify the named entities for [CoNNL 2003 NER Shared Task](http://www.cnts.ua.ac.be/conll2003/ner/). Classification on the NER Hindi dataset of [icon-2013](http://ltrc.iiit.ac.in/icon/2013/) proceedings was also done. The process and code usage are given below. All codes use argparse for intuitive usage. ### Generating the embedding model Sentences are used as inputs for the recurrent neural network. Representation of words in the sentence is via the form of embeddings. Hence the features for the recurrent neural network are sentences a.k.a sequence of words a.k.a sequence of embeddings. Each unique word should have certain number of features, these are called embeddings or also vectors. These are the input features to the neural architecture we are using. ###### English You need a corpus comprising of text separated by only spaces if you are training a model. First train the model or load from an existing one from the files given in embeddings. **wordvec_model.py** - creates a model of word2vec, 2 ways to create the model either by supplying a corpus to train or restore from word2vec gensim bin file. **glove_model.py** - creates a model of glove, 2 ways to create the model either by supplying a corpus to train or restore from a glove vector.txt file. Copy corpus in Glove-1.2 directory and run the code from embeddings folder and give name of corpus as param. **rnnvec_model.py** - creates a model of LSTM, only way is by supplying a corpus. ###### Hindi Follow the same steps as english but first convert corpus to english type using **hindi_util.py**. ######Comparison We have done a comparison between **111 dimension** embedding models by training all of them on a small 100mb corpus and evaluating on the conll ner dataset. Model | Test_a | Test_b --- | --- | --- Word2Vec | 88.33 | 83.40 Glove | 89.62 | 83.10 RnnVec | 81.07 | 75.20 ### Preparing the inputs Now we have the embedding model, we have to use that to convert our sentences of words to sentences of embeddings. First use **resize_input.py** to resize your data set to a max sentence length. Use the trained embedding model along with **get_conll_embeddings.py** or **get_icon_embeddings.py** for conll and icon respectively to get the pickled input data ready to be fed and train the recurrent neural network. Note that we are adding 11 extra features here to the embeddings themselves which include pos, chunk and capital features of the word. ### Deep Neural Network We have used Google's Tensorflow to implement a bidirectional multilayered rnn cell (LSTM). The hyper parameters are present at the top in main.py. Tweaking the parameters can yield a variety of results which are worth noting. We have used a softmax layer as the last layer of the network to produce the final classification outputs. We tried working with different optimizers and we found that AdamOptimzer produced the best results. The function
Excerpt of 5,744 characters
Read on GitHub51
17
8
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:21e7d32ce0b308de, topic:natural-language-processing, topic:named-entity-recognition, desc:named entity recognition
matched fp:21e7d32ce0b308de, topic:embeddings, readme:embedding model