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.
Text Classification Library in Keras
| Date | Stars |
|---|---|
| 2026-07-24 | 421 |
| 2026-07-25 | 421 |
| 2026-07-28 | 421 |
| 2026-07-30 | 421 |
| 2026-08-06 | 421 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Keras Text Classification Library
[](https://travis-ci.org/raghakot/keras-text)
[](https://github.com/raghakot/keras-text/blob/master/LICENSE)
[](https://join.slack.com/t/keras-text/shared_invite/MjMzNDU3NDAxODMxLTE1MDM4NTg0MTktNzgxZTNjM2E4Zg)
keras-text is a one-stop text classification library implementing various state of the art models with a clean and
extendable interface to implement custom architectures.
## Quick start
### Create a tokenizer to build your vocabulary
- To represent you dataset as `(docs, words)` use `WordTokenizer`
- To represent you dataset as `(docs, sentences, words)` use `SentenceWordTokenizer`
- To create arbitrary hierarchies, extend `Tokenizer` and implement the `token_generator` method.
```python
from keras_text.processing import WordTokenizer
tokenizer = WordTokenizer()
tokenizer.build_vocab(texts)
```
Want to tokenize with character tokens to leverage character models? Use `CharTokenizer`.
### Build a dataset
A dataset encapsulates tokenizer, X, y and the test set. This allows you to focus your efforts on
trying various architectures/hyperparameters without having to worry about inconsistent evaluation. A dataset can be
saved and loaded from the disk.
```python
from keras_text.data import Dataset
ds = Dataset(X, y, tokenizer=tokenizer)
ds.update_test_indices(test_size=0.1)
ds.save('dataset')
```
The `update_test_indices` method automatically stratifies multi-class or multi-label data correctly.
### Build text classification models
See tests/ folder for usage.
#### Word based models
When dataset represented as `(docs, words)` word based models can be created using `TokenModelFactory`.
```python
from keras_text.models import TokenModelFactory
from keras_text.models import YoonKimCNN, AttentionRNN, StackedRNN
# RNN models can use `max_tokens=None` to indicate variable length words per mini-batch.
factory = TokenModelFactory(1, tokenizer.token_index, max_tokens=100, embedding_type='glove.6B.100d')
word_encoder_model = YoonKimCNN()
model = factory.build_model(token_encoder_model=word_encoder_model)
model.compile(optimizer='adam', loss='categorical_crossentropy')
model.summary()
```
Currently supported models include:
- [Yoon Kim CNN](https://arxiv.org/abs/1408.5882)
- Stacked RNNs
- Attention (with/without context) based RNN encoders.
`TokenModelFactory.build_model` uses the provided word encoder which is then classified via `Dense` block.
#### Sentence based models
When dataset represented as `(docs, sentences, words)` sentence based models can be created using `SentenceModelFactory`.
```python
from keras_text.models import SentenceModelFactory
from keras_text.models import YoonKimCNN, AttentionRNN, StackedRNN, AveragingEncoder
# Pad max sentences per doc to 500 and max words per sentence to 200.
# Can also use `max_sents=None` to allow variable sized max_sents per mini-batch.
factory = SentenceModelFactory(10, tokenizer.token_index, max_sents=500, max_tokens=200, embedding_type='glove.6B.100d')
word_encoder_model = AttentionRNN()
sentence_encoder_model = AttentionRNN()
# Allows you to compose arbitrary word encoders followed by sentence encoder.
model = factory.build_model(word_encoder_model, sentence_encoder_model)
model.compile(optimizer='adam', loss='categorical_crossentropy')
model.summary()
```
Currently supported models include:
- [Yoon Kim CNN](https://arxiv.org/abs/1408.5882)
- Stacked RNNs
- Attention (with/without context) based RNN encoders.
`SentenceModelFactory.build_model` created a tiered model where words within a sentence is first encoded using
`word_encoder_model`. All such encodings per sentence is then encoded using `sentence_encoder_model`.
- [Hierarchical attention networks](http://www.cs.cmu.edu/~./hovy/papeExcerpt of 5,457 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:52ce91196112f206, topic:deep-learning, topic:neural-network, topic:tensorflow
matched fp:52ce91196112f206, topic:text-classification, readme:tokenizer, desc:text classification