Metadata-Version: 2.1
Name: jonze
Version: 0.0.20
Summary: Reusable Joint Slot and Intent Extraction implementation in Tensorflow2.0
Home-page: https://github.com/zeionara/jonze
Author: Zeio Nara
Author-email: zeionara@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown

# Jonze
Joint Slot and Intent Extraction implementation in Tensorflow2.0

Contains restructured code from the following repo:
https://github.com/shubham8111/Joint-NLU

Implementation of Bi-LSTM based NLU baseline and SlotGated-SLU  (Goo et al, 2018)(https://www.csie.ntu.edu.tw/~yvchen/doc/NAACL18_SlotGated.pdf) 
Models are evaulated on Snips and ATIS datasets.

Experiments did not reproduce improvements by SlotGated model over Basline model, on snips dataset.


Preprocessing modules reused from following repo:
https://github.com/MiuLab/SlotGated-SLU/

## Usage
To install package:  
`pip install jonze`  
To train model:  
`from jonze import train  
train(dataset = "joint-nlu", datasets_root = "dataset", models_root = "model", layer_size=12)`  
To test model:  
`from jonze import test  
test(dataset = "joint-nlu", datasets_root = "dataset", models_root = "model", layer_size=12, batch_size=46)`  
## Results

### Snips Dataset:


| Model      | Slot F1 | Intent accuracy | Semantic Accuracy |
|------------|---------|-----------------|-------------------|
| Baseline   | 84.30   | 96.57           | 66.43             |
| Slot Gated | 83.5    | 95.57           | 66.85             |

### Atis Dataset:

| Model      | Slot F1 | Intent accuracy | Semantic Accuracy |
|------------|---------|-----------------|-------------------|
| Baseline   | 95.08   | 94.62           | 81.97             |
| Slot Gated | 94.57   | 96.41           | 83.65             |

P.S.  Sometimes Slot F1 might get stuck at zero during training, better weight intialization or training a few epochs only on slot loss can resolve the issue. 


