计算nlu度量的python包

snips-nlu-metrics的Python项目详细描述


https://travis-ci.org/snipsco/snips-nlu-metrics.svg?branch=masterhttps://img.shields.io/pypi/v/snips-nlu-metrics.svg?branch=masterhttps://img.shields.io/pypi/pyversions/snips-nlu-metrics.svg?branch=master

此工具是用于计算cross-validationtrain/testNLU解析管道(如Snips NLU管道)上的度量。

其目的是帮助评估和迭代测试的意图解析 管道。

安装

$ pip install snips_nlu_metrics

NLU度量API

snips nlu metrics api包含以下函数:

metrics输出(json)提供有关以下内容的详细信息:

数据

一些可用于计算度量的示例数据集是可用的 here。或者,您可以通过以下方法创建自己的数据集: 使用snips-nlu'sdataset generation tool或继续 Snips console

示例

snips nlu metrics库可用于满足以下条件的任何nlu管道 Engineapi:

frombuiltinsimportobjectclassEngine(object):deffit(self,dataset):# Perform training ...returnselfdefparse(self,text):# extract intent and slots ...return{"input":text,"intent":{"intentName":intent_name,"probability":probability},"slots":slots}

SNIPS NLU发动机

此库可用于对nlu解决方案(如Snips NLU)进行基准测试。到 安装snips-nlupython库,并获取 英语,运行以下命令:

$ pip install snips-nlu
$ snips-nlu download en

然后,您可以使用度量来计算snips-nlu管道的度量 API如下:

fromsnips_nluimportSnipsNLUEnginefromsnips_nlu_metricsimportcompute_train_test_metrics,compute_cross_val_metricstt_metrics=compute_train_test_metrics(train_dataset="samples/train_dataset.json",test_dataset="samples/test_dataset.json",engine_class=SnipsNLUEngine)cv_metrics=compute_cross_val_metrics(dataset="samples/cross_val_dataset.json",engine_class=SnipsNLUEngine,nb_folds=5)

自定义NLU引擎

您还可以在自定义nlu引擎上计算度量,下面是一个简单的示例:

importrandomfromsnips_nlu_metricsimportcompute_train_test_metricsclassMyNLUEngine(object):deffit(self,dataset):self.intent_list=list(dataset["intents"])returnselfdefparse(self,text):return{"input":text,"intent":{"intentName":random.choice(self.intent_list),"probability":0.5},"slots":[]}compute_train_test_metrics(train_dataset="samples/train_dataset.json",test_dataset="samples/test_dataset.json",engine_class=MyNLUEngine)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
将输入迷宫文件中的字符存储到2d数组(Java)   Vaadin中的java CDi未注入:NullPointerException   两个java日期之间的差异   java如何使用@patch使用jpa存储库更新单个字段   java GeoWebCache和osmdroid   Java:如何让对象侦听器在不同的类中工作?   对象的java子集   安全性无法在Java中设置客户端X509身份验证   java如何在安卓中将唯一的单词绑定到字符串   java如何读取txt并通过管道对其进行分隔   java如何避免if   java JSP带有一个HTML表,需要更新该表   java HashMap<String,Value>。remove()通过使用字符串同步。在钥匙上,这有用吗?还是这个坏代码?   java我的继承有问题