序列标记测试框架

test-travis-neko的Python项目详细描述


seqeval

seqeval是一个用于序列标记评估的python框架。 seqeval可以评估命名实体识别、词性标注、语义角色标注等分块任务的性能。

通过使用perl脚本conlleval, 它可用于测量已处理conll-2000共享任务数据的系统的性能。

支持功能

SeqEval支持以下格式:

  • IOB1
  • IOB2
  • IOE1
  • IOE2
  • IOBES

并支持以下指标:

metricsdescription
accuracy_score(y_true, y_pred)Compute the accuracy.
precision_score(y_true, y_pred)Compute the precision.
recall_score(y_true, y_pred)Compute the recall.
f1_score(y_true, y_pred)Compute the F1 score, also known as balanced F-score or F-measure.
classification_report(y_true, y_pred, digits=2)Build a text report showing the main classification metrics. ^{} is number of digits for formatting output floating point values. Default value is ^{}.

用法

看,seqeval的力量:

>>>fromseqeval.metricsimportaccuracy_score>>>fromseqeval.metricsimportclassification_report>>>fromseqeval.metricsimportf1_score>>>>>>y_true=[['O','O','O','B-MISC','I-MISC','I-MISC','O'],['B-PER','I-PER','O']]>>>y_pred=[['O','O','B-MISC','I-MISC','I-MISC','I-MISC','O'],['B-PER','I-PER','O']]>>>>>>f1_score(y_true,y_pred)0.50>>>accuracy_score(y_true,y_pred)0.80>>>classification_report(y_true,y_pred)precisionrecallf1-scoresupportMISC0.000.000.001PER1.001.001.001microavg0.500.500.502macroavg0.500.500.502

凯拉斯回调

seqeval为keras提供回调:

fromseqeval.callbacksimportF1Metricsid2label={0:'<PAD>',1:'B-LOC',2:'I-LOC'}callbacks=[F1Metrics(id2label)]model.fit(x,y,validation_data=(x_val,y_val),callbacks=callbacks)

安装

要安装seqeval,只需运行:

$ pip install seqeval[cpu]

如果要在GPU环境中安装SeqEval,请运行:

$ pip install seqeval[gpu]

要求

  • numpy=1.14.0
  • TensorFlow(可选)

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

推荐PyPI第三方库


热门话题
ArrayList Java中的搜索字符串   另一个web应用程序的java访问会话   另一个应用程序中的活动和服务之间的java通信   java根据Json字符串类型将Json字符串转换为对象   eclipse如何解决java中的错误异常。lang.NoSuchMethodError:'java。字符串javax。摆动JOptionPane。showInputDialog(java.lang.String)'   线程“main”java中的安卓异常。lang.NoClassDefFoundError:org/codehaus/jackson/JsonParseException   java如何在安卓 emulator上显示Mat图像?使用NDK   Java在本地读取测试源文件,但在服务器上读取失败   java dowhile循环用于计算输入数字中的数字。故障排除代码   JAva初学者在编写获取成本的方法时遇到困难   java是shell游戏。我如何让物体移动,特别是在特定的曲线上,但顺序是随机的?   java如何区分两个同名的JButton   java为什么我在Spring Boot中需要一个接口?   java将文件路径插入数据库将删除\   使用InterfaceType初始化java对象   java如何部署一个分为Angular、Spring Boot和MySQL的项目?   java如何使用Symja解决不等式?