Skip to main content

Yoctol Natural Language Understanding SDK

Project description

# yoctol-nlu-py
[![Build Status](https://travis-ci.org/Yoctol/yoctol-nlu-py.svg?branch=master)](https://travis-ci.org/Yoctol/yoctol-nlu-py)
[![PyPI version](https://badge.fury.io/py/yoctol-nlu.svg)](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.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

yoctol_nlu-0.7.1-py3-none-any.whl (38.8 kB view details)

Uploaded Python 3

File details

Details for the file yoctol_nlu-0.7.1-py3-none-any.whl.

File metadata

File hashes

Hashes for yoctol_nlu-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bc3fd4e0b8d7afbfa715e2a126a507b5a79827eb0325f40556e6775165f05649
MD5 e0577b9841f2a34e834b9237bb9207eb
BLAKE2b-256 15b5fbbdd2255569165cae5334cee9919e1aec6fb17a4529e99b9c95fb10bd88

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page