https://github.com/yoctol/yoctol-nlu-py
Yoctol understood SDK for python.
https://github.com/yoctol/yoctol-nlu-py
python sdk yoctol-natural-language
Last synced: 9 months ago
JSON representation
Yoctol understood SDK for python.
- Host: GitHub
- URL: https://github.com/yoctol/yoctol-nlu-py
- Owner: Yoctol
- License: mit
- Created: 2017-04-21T07:05:02.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2018-07-25T06:25:34.000Z (almost 8 years ago)
- Last Synced: 2025-04-05T09:11:25.782Z (about 1 year ago)
- Topics: python, sdk, yoctol-natural-language
- Language: Jupyter Notebook
- Homepage: http://yoctol-nlu-py.readthedocs.io/en/latest/
- Size: 5.12 MB
- Stars: 9
- Watchers: 12
- Forks: 4
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# yoctol-nlu-py
[](https://travis-ci.org/Yoctol/yoctol-nlu-py)
[](https://badge.fury.io/py/yoctol-nlu)
Yoctol Natural Language Understanding SDK for python.
## Install
Use Python3
```
pip install yoctol-nlu
```
## Usage
### Intent Classifier Service
#### Fetch Model & One Line Prediction
```python
from ynlu import NLUClient
client = NLUClient(token='YOUR_TOKEN_HERE')
# Get all possible clf ids
ids = client.get_all_available_clf_ids()
print(ids)
# Get model by id
model = client.get_model_by_id(ids[0])
# Predict
intent_prediction, entity_prediction = model.predict('飲料喝到飽')
# Also could get the clf by clf's name
# Get all possible clf names
names = client.get_all_available_clf_names()
print(names)
# Get model by name
model = client.get_model_by_name(names[0])
# Predict
intent_prediction, entity_prediction = model.predict('飲料喝到飽')
```
#### Evaluations for Intent
```python
from ynlu import NLUClient
from ynlu.sdk.evaluation import {
# Accuracy
intent_accuracy_score_with_threshold,
# Precision
intent_precision_score_with_threshold,
# Recall
intent_recall_score_with_threshold,
}
client = NLUClient(token='YOUR_TOKEN_HERE')
model = client.get_model_by_id('TARGET_MODEL_ID_HERE')
test_data = [
'This is a line ',
'for testing the NLUClient ',
'and evaluating the prediction ',
'from the trained model. ',
]
intent_predictions, entities_predictions = model.batch_predict(test_data)
# Pure Accuracy
print(intent_accuracy_score_with_threshold(
intent_predictions=intent_predictions,
y_trues=test_data,
threshold=0.,
)
)
# Accuracy with threshold 0.5
print(intent_accuracy_score_with_threshold(
intent_predictions=intent_predictions,
y_trues=test_data,
threshold=0.5,
)
)
```
Check out the tutorials for more examples.
## Documentation
We rely on Sphinx for user and API documentation.
You can run just make to do rebuild the API stubs and then build the HTML documentation.
```
cd docs
make # equivalent to `make apidoc && make html`
```
To only build the html pages:
```
cd docs
make html
```
To just re-generate the API reference.
```
cd docs
make apidoc # calls sphinx-apidoc
```
Run `make help` for a full list of build options.