一种可扩展的命名实体钻取分析评价管道

orbis-eval的Python项目详细描述


ORBIS快速启动

ORBIS是执行NEL评估分析的通用框架。它支持精确性、召回率和f1分数等标准度量,并在注释文档的上下文中可视化gold standard和注释器结果。颜色编码实体允许专家快速识别正确和错误的注释以及ORBIS提供的知识库的相应链接。由于ORBIS使用的模块化管道结构,评估过程中的不同阶段可以很容易地修改、替换或添加。

我们第一次基于ORBIS的深入分析工作的结果在维也纳的语义2018年会议上介绍了

先决条件

为了能够开发和运行orbis,您需要安装以下程序 在系统上配置:

  • 巨蟒3.7
  • python设置工具
  • Linux或Mac OS(Windows未经测试)

安装

要使用orbis,请从pypi下载并安装它:

    $ python3 -m pip install -U orbis-eval['all'] --user

有更多可用的附加选项,但我们建议您使用"全部"选项。只有当您真正知道自己在做什么时,才能使用其他选项。

    - all: Install all extras for Orbis. Recommended option
    - all_plugins: Install only all plugins for Orbis.
    - all_addons: Install only all addons for Orbis.
    - aggregation: Install only all aggregation plugins for Orbis.
    - evaluation: Install only all evaluation plugins for Orbis.
    - metrics: Install only all metrics plugins for Orbis.
    - scoring: Install only all scoring plugins for Orbis.
    - storage: Install only all storage plugins for Orbis.
    - "plugin or addon name": Install only the specified addon or plugin named.

或者,可以通过克隆repo并手动安装来安装orbis。插件和插件必须单独安装。

    $ git clone https://github.com/orbis-eval/Orbis.git
    $ cd Orbis
    $ python3 setup.py install --user
    # or
    $ python setup.py install --user

根据您的系统,如果您安装了python 2和python3,您要么需要使用python3

您将提示设置ORBIS用户文件夹。此文件夹将包含评估运行队列、日志、语料库和单文件数据、输出和文档。默认位置将是用户主文件夹中的orbis eval。可以指定其他位置。

运行

安装后,可以通过运行orbis eval来执行orbis。可以使用-horbis eval-h)调用orbis帮助。 在运行评估之前,请使用repoman加载项orbis加载项安装一个语料库

配置评估运行

orbis使用yaml文件配置评估运行。这些配置文件位于orbis根目录的queue文件夹中。 在测试模式下执行orbis将运行位于队列文件夹中的测试文件夹中的yaml配置。这些测试配置是针对不同注释器(aida、babelfly、recognyze和spotlight)的短期评估运行。

yaml配置文件分为管道的各个阶段:

aggregation:service:name:aidalocation:webinput:data_set:name:rss1lenses:-3.5-entity_list_en.txt-14dec-0130pmmappings:-redirects-v2.json-15dec-1121amfilters:-us_states_list_en-txt-12_jan_28-0913amevaluation:name:binary_classification_evaluationscoring:name:nel_scorercondition:overlapentities:-Person-Organization-Placeignore_empty:Falsemetrics:name:binary_classification_metricsstorage:-cache_webservice_results

聚合

orbis的聚合阶段收集评估运行所需的所有数据。这包括语料库、查询注释器和映射、monocle使用的镜头和过滤器。聚合设置指定应使用哪些服务、数据集以及哪些镜头、映射和筛选器。

aggregation:service:name:aidalocation:webinput:data_set:name:rss1lenses:-3.5-entity_list_en.txt-14dec-0130pmmappings:-redirects-v2.json-15dec-1121amfilters:-us_states_list_en-txt-12_jan_28-0913am

yaml配置的service部分指定web服务(注释服务)的名称。这应该与webservice插件减去orbis\u plugin\u aggregation\u前缀相同(写入方式相同)。

位置指定批注的来源。如果设置为web,则聚合插件将尝试查询webservice。如果location设置为local,那么在假设要使用缓存的情况下,将使用本地缓存(位于~/orbis eval/data/corpora/{corpus_name}/copmuted/{annotator_name}/中)。 如果没有缓存,请在Web模式下运行评估,并将"缓存Web服务"结果添加到"存储"部分以生成缓存。

aggregation:service:name:aidalocation:web

输入部分定义了应该使用什么样的语料库(在示例rss1中)。语料库名称应与~/orbis eval/d中的语料库文件夹相同ata/corpora/。 ORBIS将从那里自动找到语料库文本和黄金标准。

input:data_set:name:rss1lenses:-3.5 -entity_list_en.txt-14dec-0130pmmappings:-redirects-v2.json-15dec-1121amfilters:-us_states_list_en-txt-12_jan_28-0913am

如果需要,还可以在输入部分指定镜头、映射和过滤器。这些应该位于~/orbis eval/data/[过滤器透镜映射]中,并且应该在不以文件结尾的部分中指定。

评估

evaluator阶段根据gold标准评估注释器结果。评估部分定义了应该使用哪种评估。求值器的名称应与求值插件的名称相同,减去orbis\u plugin\u求值前缀。

evaluation:name:binary_classification_evaluation

评分

评分阶段根据规定的条件对评价进行评分。这些条件在记分员中预先设置,可以在记分部分中指定,也可以在应记分的实体类型中指定。如果未定义实体类型,则对所有实体类型进行评分。如果定义了一个或多个实体类型,则只对这些类型进行评分。此外,还可以设置ignore_empty来定义记分器是否应忽略空的注释结果。 记分器的名称应与记分插件的名称相同,减去orbis\u plugin\u记分前缀。

scoring:name:nel_scorercondition:overlapentities:-Person-Organization-Placeignore_empty:False

当前可用的条件是:

    $ python3 -m pip install -U orbis-eval['all'] --user
0

指标

度量阶段计算度量以分析评估。度量值的名称应与metrics插件的名称相同,减去orbis\u plugin\u metrics前缀。

    $ python3 -m pip install -U orbis-eval['all'] --user
1

存储

存储阶段定义orbis应创建的输出类型。在所有情况下,存储应该与存储插件的名称相同减去orbis\u plugin\u storage前缀。

    $ python3 -m pip install -U orbis-eval['all'] --user
2

可以选择多个存储选项,上面示例中的选项是建议的(当前工作时)可能性。

试运行

运行orbis eval-t将运行位于~/orbis eval/queue/tests中的测试文件。您可以从这些yaml文件中选择一个并根据自己的需要对其进行修改。

奥比萨多斯

要运行orbis加载项,orbis提供了一个cli,可以通过运行orbis加载项orbis eval--run addon来访问它。菜单将引导您找到附加组件,附加组件大多提供自己的菜单。

通过将加载项名称附加到orbis加载项命令,可以直接调用orbis加载项: ORBIS插件repoman

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

推荐PyPI第三方库


热门话题
google chrome我在哪里可以下载Mac OSX Lion的Java 6?   java管道化hadoop映射减少作业   java避免在使用jsoup解析html时删除空格和换行符   java将arrayList中的元素相互比较   如何创建一个计算一组数字之和的程序(Java)?   java JavaFX 8 JVM在退出后保留   升华文本3升华文本3 Java交互控制台?   JAVAutil。扫描仪和维基百科   java Android在RecyclerView中更新TextClock的时间格式(12/24小时格式)   java集合,如果达到限制,则可以在添加新项之前删除旧项   hex Java将十六进制转换为带符号的8位代码   java如何使用SQL中其他列的数据?   java如何确保返回指定类型的列表?   列出如何在java中声明匿名arraylist?   在JavaSpringBoot中使用RESTXML文件   使用Java在ColdFusion中计算HMACSHA256摘要的加密